1.03k likes | 1.75k Views
11.1 Introducción y ejemplos. 11. PROGRAMACION NO-LINEAL. 11.2 Propiedades básicas de los problemas de programación no-lineal. 11.3 Problemas de optimización no restringida. 11.4 Problemas de optimización con restricciones de igualdad.
E N D
11.1 Introducción y ejemplos 11. PROGRAMACION NO-LINEAL 11.2 Propiedades básicas de los problemas de programación no-lineal 11.3 Problemas de optimización no restringida 11.4 Problemas de optimización con restricciones de igualdad 11.5 Problemas con restricciones de igualdad y desigualdad. 11.6 Métodos de optimización restringida GIO
11.1 Introducción y ejemplos A esta clase de problemas de optimización pertenecen todos aquellos problemas en los cuales la función objetivo y/o las restricciones son funciones no-lineales de las variables de decisión. En particular, la programación no-lineal provee una manera de abordar el no cumplimiento del supuesto de proporcionalidad de la programación lineal, permitiendo la programación de economías o deseconomías a escala y/o retornos crecientes o decrecientes a escala. GIO
PRODUCTO RETORNO (M$, miles de pesos) 10.000 Producto 1 0 . 50 x1 7.500 Producto 2 0 . 75 x2 0 . 60 x3 Producto 3 9.000 0 . 30 x4 Producto 4 15.000 a) Rendimientos decrecientes a escala. Una compañía vende cuatro productos diferentes, el retorno que provee cada producto es una función de la cantidad de recursos asignados a la promoción y venta de cada producto, según la siguiente tabla: GIO
En este ejemplo: xi es la cantidad de recursos asignados al producto i, con i=1,2,3,4. El siguiente modelo provee una asignación de estos recursos, de modo de maximizar las utilidades, considerando una inversión anual no superior a los de M$ 75.000 Máx 10.000x10.5 + 7.500x20.75 + 9.000x30.6 + 15.000x40.3 s.a. x1+x2+x3+x4 75.000 xi 0; i=1,2,3,4,5. GIO
y m y 2 y 1 x x x 1 2 m b) Aproximación y ajuste de curvas. Supongamos que se tiene un conjunto de datos correspondientes a una determinada función y=g(x) (desconocida), digamos (x1,y1), (x2,y2),..., (xm,ym) y se desea aproximar g(x) por una función h(x) GIO
+ a a x o 1 + + + a a x a x 2 o 1 2 a a a x 2 o 1 a x a e 1 o + + a x a a x a e 3 o 1 2 + a a ln( x ) o 1 Algunas elecciones posibles: • h (x) = • h (x) = • h (x) = • h (x) = • h (x) = • h (x) = GIO
m 2 ( ( ) ) - å w y h x i i i = i 1 ¿Cómo elegir los coeficientes aien la función h(x) que aproxima o ajusta los datos observados? Se define una función de error: e (x) = g(x)–h(x) Una elección posible de los coeficientes ai resulta de minimizar la suma ponderada de los errores al cuadrado en cada uno de los datos , es decir: Min F (ao,a1,...,an) = GIO
+ + a a a a x x o o 1 1 Y m æ ö Y 2 ç ÷ ç ÷ m y m y * x ç ÷ æ ö i Y i i = 1 a å = å a ç ÷ o ç ÷ m m ç 1 = è x 2 ç ÷ ø i 1 = å i 1 i ç ÷ X X X 1 2 m è ø = i 1 que da origen a un problema de programación no-lineal sin restricciones. Si escogemos w1=...=wm=1 y h(x)= , la solución del problema corresponde a la recta de la regresión lineal. h(x)= GIO
Puerto B 40 Puerto C 30 Puerto A 80 30 c) Localización de instalaciones Una compañía petrolera desea construir una refinería que recibirá suministros desde tres instalaciones portuarias, cuyas coordenadas se muestran en la siguiente figura: GIO
2 2 2 2 2 2 - + - + - + - + - + - ( x 0 ) ( y 0 ) ( x 30 ) ( y 40 ) ( x 80 ) ( y 30 ) Si denotamos por x e y las respectivas coordenadas de la refinería que se debe instalar, una posible elección es aquella que resulta de minimizar la cantidad total de tubería necesaria para conectar la refinería con los puertos, dada por: Min f ( x,y ) = La solución óptima calculada por el solver de Excel es: x*=30,8052225y*=37,8900128 GIO
Puerto B 40 Puerto C 30 Refinería Puerto A 80 30 GIO
d) Optimización de carteras de inversión Se desea obtener una cartera de inversiones en base a distintos instrumentos (acciones, pagarés, bonos, etc.). La cartera elegida deberá reflejar un compromiso entre los retornos de los instrumentos elegidos y el riesgo asociado a cada uno de ellos, de hecho es natural esperar que a mayor retorno haya un mayor riesgo y también que exista cierta correlación entre los retornos de los distintos instrumentos de la cartera. GIO
T = r ( r , r , r ,......... , r ) n 1 2 3 s s ¹ ij ii (i j) = s Q ( ) = = ij i 1 , 2 ,...., n .; j 1 , 2 ,...., n . A continuación se formula un modelo para obtener una cartera de inversión de un tomador de decisiones averso al riesgo, con un vector de retornos que tiene una distribución normal con media: matriz de covarianza: donde denota la desviación estándar del retorno del instrumento i y donde es la covarianza de los retornos del instrumento i con el j. GIO
n n n - s r x K x x å å å i i ij i j = = = i 1 i 1 j 1 s . a . = x 1 å i ³ = x 0 . i 1 , 2 ,..... n . i Sea xi el porcentaje de inversión del instrumento i en la cartera, con i=1,2,...n, las variables de decisión del modelo y sea K una constante de aversión al riesgo. El siguiente modelo(propuesto por Markowitz, Premio Nobel de Economía 1991), combina ambos elementos presentes en una decisión de esta naturaleza: Máx GIO
Usando el ejemplo del servidor Neos para una cartera con tres acciones y un bono tenemos: Selected value of K is 10.00 Risk less rate of return (monthly) is 0.00407 GIO
21.0% Coca -Cola Exxon Corp. 48.6% Texaco Inc. 16.6% Bond 13.7% GIO
11.2 Propiedades básicas de los problemas de programación no-lineal De manera general, un problema de optimización considera la resolución de un problema como el que sigue: P) Min ƒ(x) s.a. x D IRn Donde ƒ: IRn IR es una función comúnmente continua y diferenciable, y D es el dominio de factibilidad del problema, generalmente dado por: D= {x IRn / gi(x) = bi i=1,...,m; hj(x) dj j=1,...,l } GIO
Decimos que x* D es un mínimo global o solución óptima del problema P) ssi: ƒ(x*) ƒ(x)para todo x D Por otra parte, decimos que x^ D es un mínimo local del problema P) ssi: ƒ(x^) ƒ(x)para todo x en una vecindad de x^ (x D B(x^, )) GIO
Minƒ(x)= (x-1)(x-2)(x-3)(x-4)(x-5)s.a 1x5 ƒ(x) x* x 1 2 3 4 5 x^ Mínimos locales: x=1, x^ y x* Solución óptima y minimo global x* GIO
Existen resultados que garantizan la existencia y unicidad de la solución de un problema de programación no lineal. Teorema (Weiertrass). Si ƒ es una función continua y D es un conjunto no vacío cerrado y acotado de IRn, entonces P) tiene solución óptima. Teorema. Si ƒ es una función continua y D es un conjunto cerrado no vacío y además ƒ cumple que: lim|x|+ƒ(x) = +, entonces P) tiene solución óptima. GIO
Por su parte, la unicidad de la solución óptima se puede garantizar sólo bajo ciertas condiciones muy especiales. De igual modo es posible garantizar si un mínimo local es un mínimo global del problema. Para esto se requiere saber si el problema P) es un problema convexo, esto es si la función objetivo es convexa y el conjunto D de puntos factibles es un conjunto convexo. GIO
ƒ(y) ƒ(x) x y Definición. Decimos que ƒ: IRnIR es una función convexa ssi: x + (1-)y ) (x) + (1-)(y) para todox,y D (xy) con [0,1] Si la desigualdad anterior se cumple de manera estricta, decimos que ƒ es estrictamente convexa. Lineal a trozos GIO
Adicionalmente, se tiene el siguiente resultado • Teorema. Si ƒ es una función dos veces continuamente diferenciables, las siguientes afirmaciones son equivalentes: • ƒ es una función convexa • ƒ(x) ƒ(y) + ƒT(y)(x-y) para dos puntos cualesquiera x e y. • La matriz hessiana de las segundas derivadas parciales de ƒ, denotada en lo que sigue por D2 ƒ(x), es semi positiva definida para todo x. GIO
y y x x Por otra parte, también podemos caracterizar si un conjunto cualquiera es convexo o no, de acuerdo a la siguiente: Definición. D IRn, un conjunto no vacío, es convexo ssi x + (1-) y D, para todo x D, y D con [0,1]. No es convexo Es convexo GIO
Así por ejemplo, si h(x) es una función convexa el conjunto D = { x IRn h(x) d } es convexo para cualquier escalar real d. También es posible demostrar que la intersección de conjuntos convexos es un conjunto convexo. De aquí que por ejemplo el problema P) Minƒ(x) s.a hj(x) dj j=1,2,...,l Con ƒ(x) y hj(x), para j=1,2,..,l, funciones convexas definen un problema convexo, pues el dominio de factibilidad es la intersección de los conjuntos convexos Dj = { x IRn hj(x) dj }, para j=1,2,..,l. GIO
Teorema. Si P) es un problema convexo y x* es un mínimo local de P) entonces x* es un mínimo global o solución óptima de P), si además, ƒ es una función estrictamente convexa x* es la única solución óptima. La principal dificultad en los problemas de programación no lineal es que incluyen restriciones no lineales de igualdad como g(x)=b y el conjunto de puntos { xIRn : g(x)=b} generalmente no es convexo cuando g(x) es una función no lineal cualquiera. Por lo tanto no todos los problemas de programación no lineal son convexos y esto hace más difícil garantizar que la solución encontrada por un solver sea una solución óptima del problema. GIO
Como puede verse en el siguiente ejemplo, que resolveremos gráficamente, la geometría de los problemas también cambia respecto de lo observado en programación lineal. Consideremos el siguiente problema: Min (x1 - 3)2 + (x2 - 4)2 s.a. x1 + x2 5 x1 - x2 5/2 x1 0, x2 0 GIO
La solución óptima x* de este problema se alcanza el punto x1* = 2, x2* = 3 correspondiente al único punto de la curva de nivel que tiene el menor valor y que intersecta la región de puntos factibles. Notar que la solución ya no corresponde a un vértice del dominio de factibilidad del problema, aún cuando todavía esta solución se alcanza en la frontera de dicho conjunto. GIO
Sin embargo, esto último, a diferencia de lo que ocurre en programación lineal, no siempre se produce. Si por ejemplo el problema es ahora: Min (x1 - 2)2 + (x2 - 2)2 s.a x1 + x2 5 x1 - x2 5/2 x1 0, x2 0 La solución cambia a lo representado en la siguiente figura, donde la solución óptima se alcanza en x1* = 2, x2* = 2, ahora perteneciente al interior del dominio de factibilidad del problema. GIO
Gráficamente, también podemos observar la presencia de divesos mínimos locales en un problema no lineal. GIO
11.3 Problemas de optimización no restringida En esta sección consideraremos un problema P) Min ƒ(x) con x IRn A esta clase de problemas pertenece por ejemplo el problema de aproximación y ajuste de curvas. Sin embargo, la principal razón para su estudio radica en la extensión de las ideas y métodos para esta clase de problemas a los problemas de optimización restringida. GIO
A continuación se resumen algunos resultados teóricos para esta clase de problemas: Teorema (condiciones necesarias de primer orden).Si ƒ es una función continuamente diferenciable y x^ IRn es un mínimo local de P), entonces: (x^) = 0. Teorema (condiciones necesarias de segundo orden). Si ƒ es una función dos veces continuamente diferenciable y x^ IRn es un mínimo local de P), entonces: (x^) = 0 y D2 (x^) es semi positiva definida. GIO
Dado lo anterior, no todos los puntos x IRn que satisfacen las propiedades mencionadas son mínimos locales de la función, sin embargo existen resultados que proveen condiciones necesarias y suficientes para que un punto sea un mínimo local. Teorema (condiciones suficientes de segundo orden). Sea una función dos veces continuamente diferenciable en x^. Si (x^)=0 y D2 (x^) es positiva definida, entonces x^ es un mínimo local estricto. Teorema. Sea una función convexa continuamente diferenciable, entonces x^ es un mínimo global ssi (x^)=0. GIO
(x) = 6 x1 3x22 - 3 x2 D2 (x) = 6 0 0 6x2 - 3 Ejemplo. Considere la función: (x1,x2) = 3 x12 + x23 - 3/2 x22 su gradiente y matriz Hessiana corresponden a: GIO
D2 (x) = 6 0 0 6x2 - 3 De modo que hay dos posibles candidatos, x^ =(0,0)T y x* = (0,1)T, que satisfacen las condiciones necesarias de primer orden, sin embargo sólo es positiva definida en x* = (0,1), de modo que x* es un mínimo local del problema. GIO
La mayor parte de los algoritmos de optimización para abordar esta clase de problemas pertenecen a la clase de algoritmos generales de descenso que reducen el cálculo de un mínimo local a una secuencia de problemas de búsqueda lineal (o búsqueda unidimensional). GIO
x2 (x) d x^ - (x) Z=20 Z=10 x1 Decimos que un vector d IRn es una dirección de descenso de la función en el punto x^ ssi la derivada direccional de en x^ en la dirección d, es negativa: GIO
Consideremos además la función unidimensional (en una variable) g() = (x^ + d) donde es un escalar real llamado el tamaño del paso. Esta función da el valor f cuando uno se mueve a partir del punto x^ en la dirección d un cierto paso . Claramente, si g’(0)= T(x^)d<0, es posible escoger un paso ^ tal que: g() = (x^ + ^d) < (x^) = g(0) esto es, que reduzca el valor de la función respecto del valor actual en x^. GIO
Algoritmo general de descenso • 1 Considere un punto inicial x=x°. Hacer k=0. • 2 Escoger una dirección de descenso dk. • 3 Realizar una búsqueda lineal que seleccione un paso k tal que: • g(k) = ƒ(xk + kdk) < ƒ(xk) = g(0) • 4 Hacer xk+1 = xk + kdk. • 5 Hacer un test de convergencia. Si converge stop. En caso contrario, hacer k=k+1 y volver a 2. GIO
En paso 5, los criterios más usuales de convergencia son que: (xk) (xk+1) - (xk)/ (1+(xk)) para un cierto número L de valores consecutivos de k, y donde es una tolerancia dada de error, por ejemplo =10-4. Existen varios métodos para escoger una dirección de descenso, uno de ellos es: GIO
Método del descenso más pronunciado En este método, también conocido como método del gradiente o método de Cauchy, dado la actual aproximación xk, la dirección de descenso se escoge como: dk = -(xk) GIO
- + - 4 2 Min ( x 2 ) ( x x ) 1 1 2 æ ö x ç ÷ 1 Î IR 2 s . a . ç ÷ x è ø 2 Ejemplo.Considerar el problema: que resolvemos usando el método del descenso más pronunciado a partir del punto x10 = 0, x20 = 3. GIO
Iteración k ƒ(xk) ƒ(xk) k 1 (0.00,3.00) 52.00 (-44.00,24.00) 0.062 2 (2.70,1.51) 0.34 (0.73,1.28) 0.24 3 (2.52,1.20) 0.09 (0.80,-0.48) 0.11 4 (2.43,1.25) 0.04 (0.18,0.28) 0.31 5 (2.37,1.16) 0.02 (0.30,-0.20) 0.12 6 (2.33,1.18) 0.01 (0.08,0.12) 0.36 7 (2.30,1.14) 0.009 (0.15,-0.08) 0.13 8 (2.28,1.15) 0.007 (0.05,0.08) GIO
Otra elección posible para la dirección de descenso es la que usa el: Método de Newton Aquí el vector dk se calcula como la solución del siguiente sistema de ecuaciones: D2ƒ(x)dk=- ƒ(x) Sin embargo, a pesar de ser un método más eficiente que el anterior respecto de su rápidez de convergencia, requiere en cada iteración el cálculo de las segundas derivadas parciales y la resolución de un sistema de ecuaciones. Además, dk está garantizada que es una dirección de descenso sólo si D2ƒ(xk) es positiva definida. GIO
Iteración k ƒ(xk) ƒ(xk) 1 (0.00,3.00) 52.00 (-44.00,24.00) 2 (0.67,0.33) 3.13 (-9.39,-0.04) 3 (1.11,0.56) 0.63 (-2.84,-0.04) 4 (1.41,0.70) 0.12 (-0.80,-0.04) 5 (1.61,0.80) 0.02 (-0.22,-0.04) 6 (1.74,0.87) 0.005 (-0.07,0.00) 7 (1.83,0.91) 0.0009 (0.0003,-0.04) Al aplicar el método al ejemplo anterior se tiene: GIO
g i = 1 ,..., m = i ( x ) b i Ñ Ñ Ñ ˆ ˆ ˆ g ( x ), g ( x ),....., g ( x ) m 1 2 11.4 Problemas de optimización con restricciones de igualdad El problema que se desea abordar consiste en: P) Min. f(x) s.a. g1(x) = b1 g2(x) = b2 g m(x)= bn mn Definición. Decimos que x IRn un punto regular de las restricciones del problema P) ssi: son vectores l.i. GIO
m l = + l - ( x , ) f ( x ) ( g ( x ) b ) å L i i i = 1 i Para presentar algunos resultados teóricos, que permiten el cálculo de mínimos locales, se introdujo la definición anterior que se relaciona con el cumplimiento de ciertas condiciones de regularidad del problema. A continuación, introducimos la función lagrangeana del problema P): GIO
t l = l l l ( , ,...., ) m 2 1 Donde representa el vector de los multiplicadores de lagrange. Los siguientes resultados teóricos establecen ciertas propiedades que satisface un mínimo local, las cuales muestran, en particular, que dicho punto es un punto estacionario de la función lagrangeana. GIO