1. Instituto Universitario Politécnico Santiago Mariño
Extensión Porlamar
Escuela 47 – Ing. De Sistemas
Sección 4A
Optimización de sistemas y funciones
Métodos de programación no lineal
Bachiller:
Luisanny Quintero C.I.: V-24.905.763
Porlamar, marzo de 2016
2. INTRODUCCIÓN
Muchas aplicaciones industriales de optimización implican una
modelización que se aproxima más a la física. En optimización del diseño por
ejemplo, se optimizan meta-modelos o espacios de respuesta que provienen
de un modelo estadístico, que no son lineales. Así mismo, la optimización
topológica o la optimización de forma recurren a modelos no lineales y
además de tamaño muy grande
La optimización no lineal proporciona información fundamental para el
análisis matemático, y se usa extensamente en las ciencias aplicadas (en
campos tales como el diseño de ingeniería, el análisis de regresión, el control
de inventario y en la exploración geofísica).
En el presente informe se estudiaran las diferentes Las técnicas para
resolver los problemas matemáticos y los resultados de los algoritmos de
optimización, tomando en cuenta que estos dependen de la naturaleza de la
función objetivo y de las restricciones.
3. PROGRAMACIÓN NO LINEAL
Programación no lineal (PNL) es el proceso de resolución de un
sistema de igualdades y desigualdades sujetas a un conjunto de restricciones
sobre un conjunto de variables reales desconocidas, con una función objetivo
a maximizar, cuando alguna de las restricciones o la función objetivo no son
lineales.
Una suposición importante de programación lineal es que todas sus
funciones (función objetivo y funciones de restricción) son lineales. Aunque,
en esencia, esta suposición se cumple para muchos problemas prácticos,
con frecuencia no es así. De hecho muchos economistas han encontrado
que cierto grado de no linealidad es la regla, y no la excepción, en los
problemas de planeación económica, por lo cual, muchas veces es necesario
manejar problemas de programación no lineal, lo cual vamos a analizar
enseguida.
Conceptos básicos
Programación no lineal: es el proceso de resolución de un sistema de
igualdades y desigualdades sujetas a un conjunto de restricciones sobre un
conjunto de variables reales desconocidas, con una función objetivo a
maximizar, cuando alguna de las restricciones o la función objetivo no son
lineales.
Función: una función es una cosa que hace algo. Por ejemplo, una máquina
de moler café es una función que transforma los granos de café en polvo. La
función (objetivo) traza, traduce el dominio de entrada (denominado región
factible) en un rango de salida con dos valores finales denominados valores
máximo y mínimo.
El método Simplex: es un algoritmo de solución muy utilizado para resolver
programas lineales. Es la solución algorítmica inicial para resolver problemas
de Programación Lineal (PL). Este es una implementación eficiente para
resolver una serie de sistemas de ecuaciones lineales. Mediante el uso de
una estrategia ambiciosa mientras se salta desde un vértice factible hacia el
4. próximo vértice adyacente, el algoritmo termina en una solución óptima.
Algoritmo: es una serie de pasos para cumplir con una tarea determinada.
Región de Factibilidad Ilimitada: una solución ilimitada requiere una región
de factibilidad cerrada ilimitada. La situación inversa de este enunciado
podría no ocurrir. Por ejemplo, el siguiente problema de PL tiene una región
de factibilidad cerrada ilimitada, sin embargo, la solución es limitada.
Redundancia Entre las Restricciones: Redundancia significa que algunas
de las restricciones no son necesarias dado que existen otras más severas.
La teoría de la producción: implica el análisis de un tipo específico de
restricción sobre el comportamiento de la empresa, el impuesto por la
tecnología, así como la investigación de los procesos de toma de decisiones
de la empresa.
La tecnología es simplemente el medio (o el método) por el cual uno o
más factores pueden convertirse en producción(es).
Las funciones de producción relacionan los factores (frecuentemente
denominados factores de producción, o simplemente inputs) con la
producción. Se pueden representar gráficamente o matemáticamente.
La monotonicidad simplemente significa que si una empresa aumenta
el uso de un factor, obtendrá al menos tanta producción.
La convexidad implica que si tenemos dos combinaciones de factores
para producir una cierta cantidad de producción, la combinación de
éstos producirá al menos tanta producción.
Métodos De Programación No Lineal
ALGORITMOS NO LINEALES RESTRINGIDOS
Algoritmo de búsqueda directa y el algoritmo de gradiente. Método de
búsqueda directa.
5. Los métodos de búsqueda directa se aplican principalmente a
funciones estrictamente de una variable. Aunque puede parecer trivial el caso,
la sección muestra que la optimización de funciones de una variable juega un
papel clave en el desarrollo de los algoritmos de varias variables, más
generales.
La idea de los métodos de búsqueda directa es identificar el intervalo
de incertidumbre que comprenda al punto de solución óptima. El
procedimiento localiza el óptimo estrechando en forma progresiva el intervalo
de incertidumbre hasta cualquier grado de exactitud que se desee.
En esta sección se presentan dos algoritmos estrechamente
relacionados: los métodos de búsqueda dicótomo y de sección dorada (o
áurea). Ambos buscan la maximización de una función unimodal/(x) en el
intervalo a ^ x < b, que se sabe que incluye el punto óptimo x*. Los dos
métodos comienzan con /0 = (a, b) que representa el intervalo inicial de
incertidumbre.
Paso general i. Sea /, _ , = (xD xR) el intervalo actual de incertidumbre (en la
iteración 0, xL = a y xR = b). A continuación se definen xx y x2 tales que :
xj^ ^ ^ x2 ^ xr
El siguiente intervalo de incertidumbre, /z, se define como sigue:
1. Si f(xx) > /(x2), entonces xL < x* < x2. Se definen xR = x2 e /, = (xL, x2) (véase la figura
21.2[a]).
2. Si f(xx) < f(x2 entonces xx < x* < xR. Se definen xL = xx e I¡ = (xh xR) (véase la figura 21.1
[b]). .
3. Si f{x) = /(jc2), entonces xx < x* < x2. Se definen xL = x2 e /, = (xb x2).
La manera en que se determinan xx y x2 garantiza que /, < /,_ p como
se demostrará en breve.
6. El algoritmo termina en la iteración ksilk< A, donde A es un grado de exactitud
definido por el usuario.
La diferencia entre los métodos dicótomo y de sección dorada estriba
en la forma en que se calculan xx y x2. La tabla siguiente presenta las
fórmulas.
En el método dicótomo los valores jc, y x2 se encuentran simétricos
respecto del punto medio del actual intervalo de incertidumbre. Esto significa
que:
La aplicación repetida del algoritmo garantiza que la longitud del
intervalo de incertidumbre se acercará al nivel de exactitud deseado, A.
En el método de la sección dorada la idea es de mayor
involucramiento. Se puede apreciar que cada iteración del método dicótomo
7. requiere calcular los dos valores/(jc,) y f(x2), Pe
” ro termina por descartar
alguno de ellos. Lo que propone el método de la sección dorada es ahorrar
cálculos mediante el reuso del valor descartado en la iteración inmediata
siguiente. Para definir 0 < a < 1
Cuando el intervalo de incertidumbre /, en la iteración i es igual a
(jc¿, x2) o a (xu xR). Considere el caso en que /, = (jcl, x2), lo cual significa
que xx está incluido en /,. En la iteración /+1, seleccione x2 igual a jc, de la
iteración /, lo cual lleva a la siguiente ecuación:
x2(iteración i+l) = x{(iteración i)
8. Comparado con el método dicótomo, el método de la sección dorada
converge más rápidamente hacia el nivel deseado de exactitud.
Adicionalmente, cada iteración en el método de la sección dorada requiere la
mitad de los cálculos, en virtud de que recicla siempre un conjunto de los
cálculos correspondientes a la iteración inmediata anterior.
PROGRAMACIÓN SEPARABLE
La programación separable es un caso especial de programación
convexa, en donde la suposición adicional es:
Todas las funciones f(x) y g(x) son funciones separables.
Una función separable es una función en la que cada
término incluye una sola variable, por lo que la función se puede separar en
una suma de funciones de variables individuales. Por ejemplo, si f(x) es una
función separable, se puede expresar como
son cada tina funciones de una sola variable x1 y x2, respectivamente.
Usando el mismo razonamiento, se puede verificar que la función considerada
en la figura 13.7 también es una función separable.
Es importante distinguir estos problemas de otros de programación
convexa, pues cualquier problema de programación separable se puede
aproximar muy de cerca mediante uno de programación lineal y, entonces, se
puede aplicar el eficiente método símplex.
9. son cada tina funciones de una sola variable x1 y x2, respectivamente.
Usando el mismo razonamiento, se puede verificar que la función considerada
en la figura 13.7 también es una función separable.
Es importante distinguir estos problemas de otros de programación
convexa, pues cualquier problema de programación separable se puede
aproximar muy de cerca mediante uno de programación lineal y, entonces, se
puede aplicar el eficiente método símplex.
PROGRAMACIÓN CUADRÁTICA
De nuevo los problemas de programación cuadrática tienen restricciones
lineales, pero ahora la función objetivo /(x) debe ser cuadrática. Entonces, la
única diferencia entre éstos y un problema de programación lineal es que
algunos términos de la función objetivo incluyen el cuadrado de una variable o
el producto de dos variables
10. PROGRAMACIÓN GEOMÉTRICA
Cuando se aplica programación no lineal a problemas de diseño de
ingeniería, muchas veces la función objetivo y las funciones de restricción
toman la forma:
11. En tales casos, las ci y a ty representan las constantes físicas y las x} son
las variables de diseño. Estas funciones por lo general no son ni cóncavas ni
convexas, por lo que las técnicas de programación convexa no se pueden
aplicar directamente a estos problemas deprogramacióngeo- métrica. Sin
embargo, existe un caso importante en el que el problema se puede
transformar en un problema de programación convexa equivalente. Este caso
es aquel en el que todos los coeficientes c¿ en cada función son estrictamente
positivos, es decir, las funciones son polinomios positivos generalizados (ahora
llamados posinomiales), y la función objetivo se tiene que minimizar. El
problema equivalente de programación convexa con variables de decisión
yx, y2,…, yn se obtiene entonces al establecer
en todo el modelo original. Ahora se puede aplicar un algoritmo de
programación convexa. Se ha desarrollado otro procedimiento de solución para
resolver estos problemas de programación posinomial, al igual que para
problemas de programación geométrica de otros tipos.
PROGRAMACIÓN ESTOCÁSTICA
La Programación Estocástica reúne aquellos modelos de optimización
en donde uno o más parámetros del problema son modelados a través
de variables aleatorias. Una manera de enfrentar esta aleatoriedad consiste en
reemplazar los parámetros aleatorios por su valor esperado, lo cual lleva a
resolver un problema determinístico de programación matemática, los cuales
son de especial interés en cursos introductorios de Investigación de
Operaciones y donde la variabilidad inherente a los parámetros se aborda a
través del Análisis de Sensibilidad o Postoptimal.
No obstante, la solución obtenida de esta manera puede no ser representativa
de la realidad, al no considerar la dispersión de los valores que toman los
parámetros en torno al valor esperado, lo cual entre otras cosas puede invalidar
12. su implementación al resultar finalmente escenarios muy diferentes del
promedio.
Clasificación de los modelos de Programación Estocástica
Los modelos de optimización estocástica se dividen en dos grandes
categorías, estos son: Modelos con Restricciones Probabilísticas y Modelos
con Recurso. Una referencia general al respecto lo constituye un tutorial
desarrollado por Sen y Higle (1999) sobre programación estocástica para el
caso lineal y libros como el de Birge y Louveaux (1997).
13. CONCLUSION
La mayoría de los métodos de programación no lineales utilizan el
concepto de gradiente de las funciones f(x) y gj(x) para calcular direcciones
de descenso, es decir de mejora de la función objetivo. Cuando las
funciones son convexas (caso por ejemplo de la programación lineal
continua), los algoritmos de descensos convergen hacia un óptimo global.
En general, estos algoritmos y los software correspondientes
convergen solamente hacia un óptimo local. Siempre que sea posible, es
importante ejecutar estos algoritmos a partir de varias soluciones iniciales
diferentes con el fin de seleccionar la mejor solución entre todas las
encontradas.
Una problemática no lineal con restricciones puede convertirse en un
problema sin restricciones con la ayuda del multiplicador de Lagrange: este
método consiste en efecto en introducir en la función objetivo variables de
holgura y un coste que aumenta cuando disminuye la desviación (es decir,
restricción saturada).