Upload
porfirio-pina
View
231
Download
0
Embed Size (px)
Citation preview
11. PROGRAMACION NO-LINEAL
11.1 Introducción y ejemplos
11.2 Propiedades básicas de los problemas deprogramación no-lineal
11.3 Problemas de optimización no restringida
11.4 Problemas de optimización con restricciones deigualdad
11.5 Problemas con restricciones de igualdad y desigualdad.
11.6 Métodos de optimización restringida
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.
11.1 Introducción y ejemplos
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:
PRODUCTO RETORNO (M$, miles de pesos)
Producto 1 10.000 50.0x1
Producto 2 7.500 75.0x2
Producto 3 9.000 60.0x3
Producto 4 15.000 30.0x4
En este ejemplo:En este ejemplo:
xxii es la cantidad de recursos asignados al producto es la cantidad de recursos asignados al producto ii, con , con i=1,2,3,4. i=1,2,3,4.
El siguiente modelo provee una asignación de estos El siguiente modelo provee una asignación de estos recursos, de modo de maximizar las utilidades, recursos, de modo de maximizar las utilidades, considerando una inversión anual no superior a los de M$ considerando una inversión anual no superior a los de M$ 75.00075.000
Máx Máx
10.000x10.000x110.5 0.5 + 7.500x+ 7.500x22
0.75 0.75 + 9.000x+ 9.000x330.6 0.6 + 15.000x+ 15.000x44
0.30.3
s.a. x x11+x+x22+x+x33+x+x44 75.000 75.000 xi 0; i=1,2,3,4,5.
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)
1
2
y
y
my
1x 2x mx
Algunas elecciones posibles:
i) h (x) =
ii) h (x) =
iii) h (x) =
iv) h (x) =
v) h (x) =
vi) h (x) =
221 xaxaao
21axaao
xaeao 1
xaeaxaao 321
)ln(1 xaao
xaao 1
¿Cómo elegir los coeficientes ¿Cómo elegir los coeficientes aaii en la función en la función h(x)h(x) que que aproxima o ajusta los datos observados?aproxima o ajusta los datos observados?
Se define una función de error: Se define una función de error: e (x) = g(x)–h(x)e (x) = g(x)–h(x)
Una elección posible de los coeficientes Una elección posible de los coeficientes aaii resulta de resulta de minimizar la suma ponderada de los errores al cuadrado en minimizar la suma ponderada de los errores al cuadrado en cada uno de los datos , es decir:cada uno de los datos , es decir:
Min F (aMin F (aoo,a,a11,...,a,...,ann) =) =
m
i
ixhiyiw1
2
que da origen a un problema de programación no-lineal sin que da origen a un problema de programación no-lineal sin restricciones.restricciones.
Si escogemos Si escogemos ww11=...=w=...=wmm=1=1 y y h(x)=h(x)= , la solución del , la solución del problema corresponde a la recta de la regresión lineal.problema corresponde a la recta de la regresión lineal.
xaao 1
1
2
Y
Y
mY
1X 2X mX
h(x)= xaao 1
m
im
iyoa
1
m
im
iix
ixiya
1
1
2
*
1
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:
30
40
30 80
Puerto B
Puerto C
Puerto A
Si denotamos por Si denotamos por xx e e yy las respectivas coordenadas de la las respectivas coordenadas de la refinería que se debe instalar, una posible elección es aquella refinería que se debe instalar, una posible elección es aquella que resulta de minimizar la cantidad total de tubería necesaria que resulta de minimizar la cantidad total de tubería necesaria para conectar la refinería con los puertos, dada por:para conectar la refinería con los puertos, dada por:
Min f ( x,y ) =Min f ( x,y ) =
La solución óptima calculada por el solver de Excel es:La solución óptima calculada por el solver de Excel es:
xx**==30,8052225 yy**== 37,8900128
2)30(2)80(2)40(2)30(2)0(2)0( yxyxyx
30
30
40
80
Puerto B
Puerto C
Puerto A
Refinería
d) Optimización de carteras de inversiónSe 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.
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.
T),,.........3,2,1( nrrrrr
.,....,2,1.;,....,2,1)( njniijQ
iiij j)(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
n n n
.,.....2,1.0
1..
1 1 1
niixix
asi i j
jxixijKixir
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
Name Avg Return( monthly, pet) Std Deviation Pet of Optimal PortfolioCoca cola CO 2,885 6,574 48,6Exxon Corp 1,647 4,939 13,7Texaco Inc 1,869 6,381 16,6Bond 0,407 0 21
Makeup of Optimal Portfolio
Avg Return( monthly, pet) 2,03Std Deviation 4,02
Pet of Optimal Portfolio 27,2
Optimal Portfolio Statistics
48.6%
13.7%
16.6%
21.0%
Coca -Cola
Exxon Corp.
Texaco Inc.
Bond
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 Min ƒ(x)ƒ(x)
s.a.s.a. x x D D IR IRnn
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= D= {{x x IR IRn n / g/ gii(x) = b(x) = bii i=1,...,m; h i=1,...,m; hjj(x) (x) d djj j=1,...,l } j=1,...,l }
Decimos que x* D es un mínimo global o solución óptima del problema P) ssi:
ƒ(x*) ƒ(x*) ƒ(x) ƒ(x) para todopara todo x x D D
Por otra parte, decimos que x^x^ D es un mínimo local del problema P) ssi:
ƒ(x^) ƒ(x^) ƒ(x) ƒ(x) para todopara todo x x en una vecindad deen una vecindad de x^ x^
(x (x D D B(x^, B(x^, ))))
Min ƒ(x)= (x-1)(x-2)(x-3)(x-4)(x-5)s.a 1x5
x
ƒ(x)
Mínimos locales: x=1, x^ y x*Solución óptima y minimo global x*
x*
x^1 2 3 4 5
Existen resultados que garantizan la existencia y unicidad de la solución de un problema de programación no lineal.
Teorema 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.
TeoremaTeorema. 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.
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.
Si la desigualdad anterior se cumple de manera estricta, decimos que ƒ es estrictamente convexa.
Definición. Definición. Decimos que Decimos que ƒ: IRƒ: IRnnIR IR es una función es una función
convexa ssiconvexa ssi::
x + (1-x + (1-)y ) )y ) (x) + (1-(x) + (1-))(y)(y)
para todo x,y D (xy) con [0,1]
Lineal a trozos
x y
ƒ(x)ƒ(x)
ƒ(y)ƒ(y)
Adicionalmente, se tiene el siguiente resultado
TeoremaTeorema. Si ƒ ƒ es una función dos veces es una función dos veces continuamente diferenciables, las siguientes continuamente diferenciables, las siguientes afirmaciones son equivalentes:afirmaciones son equivalentes:
i)i)ƒ ƒ es una función convexaes una función convexa
ii)ii)ƒ(x) ƒ(x) ƒ(y) + ƒ(y) + ƒ ƒTT(y)(x-y) (y)(x-y) para dos puntos para dos puntos cualesquieracualesquiera x x ee y. y.
iii)iii)La matriz hessiana de las segundas derivadas La matriz hessiana de las segundas derivadas parciales de parciales de ƒƒ, denotada en lo que sigue por , denotada en lo que sigue por DD2 2 ƒ(x),ƒ(x), es es semi positiva definida para todosemi positiva definida para todo x. x.
Por otra parte, también podemos caracterizar si un conjunto cualquiera es convexo o no, de acuerdo a la siguiente:
DefiniciónDefinición. D IRn, un conjunto no vacío, es convexo ssi x + (1-x + (1-) y ) y D D, para todo x D, y D con [0,1].
xy
Es convexo
x
y
No es convexo
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)ƒ(x)
s.as.a h hjj(x) (x) d djj j=1,2,...,lj=1,2,...,l
Con Con ƒ(x) ƒ(x) y y hhjj(x)(x), para j=1,2,..,l, funciones convexas , para j=1,2,..,l, funciones convexas
definen un problema convexo, pues el dominio de definen un problema convexo, pues el dominio de factibilidad es la intersección de los conjuntos factibilidad es la intersección de los conjuntos convexos convexos DDj j = { x = { x IR IRnn h hjj(x) (x) d djj } }, para j=1,2,..,l., para j=1,2,..,l.
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 es una función estrictamente convexa estrictamente convexa x*x* es la única solución óptima. es la única solución óptima.
La principal dificultad en los problemas de La principal dificultad en los problemas de programación no lineal es que incluyen restriciones no programación no lineal es que incluyen restriciones no lineales de igualdad como lineales de igualdad como g(x)=bg(x)=b y el conjunto de y el conjunto de puntos puntos { x{ xIRIRnn : g(x)=b} : g(x)=b} generalmente no es convexo generalmente no es convexo cuando cuando g(x)g(x) es una función no lineal cualquiera. Por lo es una función no lineal cualquiera. Por lo tanto no todos los problemas de programación no lineal tanto no todos los problemas de programación no lineal son convexos y esto hace más difícil garantizar que la son convexos y esto hace más difícil garantizar que la solución encontrada por un solver sea una solución solución encontrada por un solver sea una solución óptima del problema. óptima del problema.
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
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.
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.
Gráficamente, también podemos observar la presencia de divesos mínimos locales en un problema no lineal.
11.3 Problemas de optimización no restringida
En esta sección consideraremos un problema
P) Min ƒ(x)P) Min ƒ(x) con x con x IR IRnn
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.
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 es una función continuamente diferenciable y x^x^ IRIRnn es un mínimo local de P), entonces: es un mínimo local de P), entonces: (x^) = 0(x^) = 0..
Teorema (condiciones necesarias de segundo orden). Si ƒ ƒ es una función dos veces continuamente es una función dos veces continuamente diferenciable y diferenciable y x^x^ IR IRnn es un mínimo local de P), es un mínimo local de P), entonces:entonces:
(x^) = 0(x^) = 0 y y DD2 2 (x^)(x^) es semi positiva definida. es semi positiva definida.
Dado lo anterior, no todos los puntos x x IR IRn n que que satisfacen las propiedades mencionadas son mínimos satisfacen las propiedades mencionadas son mínimos locales de la función, sin embargo existen resultados locales de la función, sin embargo existen resultados que proveen condiciones necesarias y suficientes para que proveen condiciones necesarias y suficientes para que un punto sea un mínimo local.que un punto sea un mínimo local.
Teorema (Teorema (condiciones suficientes de segundo ordencondiciones suficientes de segundo orden).). Sea Sea una función dos veces continuamente una función dos veces continuamente diferenciable en diferenciable en x^x^. Si . Si (x^)=0(x^)=0 y y DD2 2 (x^)(x^) es positiva es positiva definida, entonces definida, entonces x^x^ es un mínimo local estricto. es un mínimo local estricto.
Teorema.Teorema. Sea Sea una función convexa continuamente una función convexa continuamente diferenciable, entonces diferenciable, entonces x^x^ es un mínimo global ssi es un mínimo global ssi (x^)=0(x^)=0..
Ejemplo. Considere la función:
(x(x11,x,x22) = 3 x) = 3 x1122 + x + x22
33 - 3/2 x - 3/2 x2222
su gradiente y matriz Hessiana corresponden a:su gradiente y matriz Hessiana corresponden a:
DD2 2 (x) = (x) = 66 00
00 6x6x22 - 3 - 3
(x) = 6 x1
3x22 - 3 x2
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
DD2 2 (x) = (x) = 66 00
00 6x6x22 - 3 - 3
sólo es positiva definida en x* = (0,1), de modo que x* es un mínimo local del problema.
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).
Decimos que un vector d IRn es una dirección de descenso de la función en el punto en el punto x^x^ ssi la derivada ssi la derivada direccional de direccional de en en x^x^ en la dirección en la dirección dd, es negativa:, es negativa:
x1
x2
Z=10 Z=20
x^
(x)(x)
- - (x)(x)
d
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^.
Algoritmo general de descenso
1 Considere un punto inicial 1 Considere un punto inicial x=x°x=x°. Hacer . Hacer k=0k=0. .
2 Escoger una dirección de descenso 2 Escoger una dirección de descenso ddkk..
3 Realizar una búsqueda lineal que seleccione un 3 Realizar una búsqueda lineal que seleccione un paso paso kk tal que: tal que:
g(g(kk) = ) = ƒ(xƒ(xkk + + kkddkk) < ) < ƒ(xƒ(xkk) = g(0)) = g(0)
4 Hacer 4 Hacer xxk+1k+1 = x = xkk + + kkddkk..
5 Hacer un test de convergencia. Si converge stop. 5 Hacer un test de convergencia. Si converge stop. En caso contrario, hacer En caso contrario, hacer k=k+1 k=k+1 y volver a 2.y volver a 2.
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:
x
Método del descenso más pronunciado
En este método, también conocido como método del En este método, también conocido como método del gradiente o método de Cauchy, dado la actual gradiente o método de Cauchy, dado la actual aproximación xaproximación xkk, la dirección de descenso se escoge , la dirección de descenso se escoge como:como:
dk = -(xk)
Ejemplo.Considerar el problema:Ejemplo.Considerar el problema:
222211
4411 ))(())22((
221.. IR
xx
as
xxxxxxMinMin
que resolvemos usando el método del descenso más que resolvemos usando el método del descenso más pronunciado a partir del punto pronunciado a partir del punto xx11
0 0 = 0, x= 0, x2200 = 3 = 3..
kƒ(xk)ƒ(xk)Iteración k
0.0620.062(-44.00,24.00)(-44.00,24.00)(0.00,3.00)(0.00,3.00)52.0052.00
11
0.240.24(0.73,1.28)(0.73,1.28)(2.70,1.51)(2.70,1.51)0.340.34
22
0.110.11(0.80,-0.48)(0.80,-0.48)(2.52,1.20)(2.52,1.20)0.090.09
33
0.310.31(0.18,0.28)(0.18,0.28)(2.43,1.25)(2.43,1.25)0.040.04
44
(0.05,0.08)(0.05,0.08)(2.28,1.15)(2.28,1.15)0.0070.007
88
0.130.13(0.15,-0.08)(0.15,-0.08)(2.30,1.14)(2.30,1.14)0.0090.009
77
0.360.36(0.08,0.12)(0.08,0.12)(2.33,1.18)(2.33,1.18)0.010.01
66
0.120.12(0.30,-0.20)(0.30,-0.20)(2.37,1.16)(2.37,1.16)0.020.02
55
Otra elección posible para la dirección de descenso Otra elección posible para la dirección de descenso es la que usa el:es la que usa el:
Método de Newton
Aquí el vector dAquí el vector dkk se calcula como la solución del se calcula como la solución del siguiente sistema de ecuaciones:siguiente sistema de ecuaciones:
D2ƒ(x)dk=- ƒ(x)
Sin embargo, a pesar de ser un método más eficiente Sin embargo, a pesar de ser un método más eficiente que el anterior respecto de su rápidez de que el anterior respecto de su rápidez de convergencia, requiere en cada iteración el cálculo de convergencia, requiere en cada iteración el cálculo de las segundas derivadas parciales y la resolución de las segundas derivadas parciales y la resolución de un sistema de ecuaciones. Además, un sistema de ecuaciones. Además, ddkk está está garantizada que es una dirección de descenso sólo si garantizada que es una dirección de descenso sólo si DD22ƒ(xƒ(xkk)) es positiva definida. es positiva definida.
Al aplicar el método al ejemplo anterior se tiene:Al aplicar el método al ejemplo anterior se tiene:
ƒ(xk)ƒ(xk)Iteración k
(-44.00,24.00)(-44.00,24.00)(0.00,3.00)(0.00,3.00)52.0052.00
11
(-9.39,-0.04)(-9.39,-0.04)(0.67,0.33)(0.67,0.33)3.133.13
22
(-2.84,-0.04)(-2.84,-0.04)(1.11,0.56)(1.11,0.56)0.630.63
33
(-0.80,-0.04)(-0.80,-0.04)(1.41,0.70)(1.41,0.70)0.120.12
44
(0.0003,-0.04)(0.0003,-0.04)(1.83,0.91)(1.83,0.91)0.00090.0009
77
(-0.07,0.00)(-0.07,0.00)(1.74,0.87)(1.74,0.87)0.0050.005
66
(-0.22,-0.04)(-0.22,-0.04)(1.61,0.80)(1.61,0.80)0.020.02
55
11.4 Problemas de optimización con restricciones de igualdad
El problema que se desea abordar consiste en:El problema que se desea abordar consiste en:
P) Min. f(x)P) Min. f(x)
s.a. gs.a. g11(x) = b(x) = b11
gg22(x) = b(x) = b22
gg m m(x)= b(x)= bn n mmnn
DefiniciónDefinición. Decimos que . Decimos que x x IR IRnn un punto regular de las un punto regular de las restricciones del problema P) ssi:restricciones del problema P) ssi:
son vectores l.i.son vectores l.i. )ˆ(),.....,ˆ(2),ˆ(1
,...,1i)(i
xmgxgxg
mi =bxg
Para presentar algunos resultados teóricos, que permiten el Para presentar algunos resultados teóricos, que permiten el cálculo de mínimos locales, se introdujo la definición cálculo de mínimos locales, se introdujo la definición anterior que se relaciona con el cumplimiento de ciertas anterior que se relaciona con el cumplimiento de ciertas condiciones de regularidad del problema.condiciones de regularidad del problema.
A continuación, introducimos la función lagrangeana del A continuación, introducimos la función lagrangeana del problema P):problema P):
m
ib
i
xigixfx )
1
)(()(),(
L
Donde representa el vector de los Donde representa el vector de los multiplicadores de lagrange.multiplicadores de lagrange.
Los siguientes resultados teóricos establecen ciertas Los siguientes resultados teóricos establecen ciertas propiedades que satisface un mínimo local, las cuales propiedades que satisface un mínimo local, las cuales muestran, en particular, que dicho punto es un punto muestran, en particular, que dicho punto es un punto estacionario de la función lagrangeana.estacionario de la función lagrangeana.
tm ),....,2,1(
Teorema (Condiciones necesarias de primer ordenCondiciones necesarias de primer orden)::
Sean Sean f(x)f(x) y y gg11(x),..., g(x),..., gmm(x),(x), funciones continuamente funciones continuamente
diferenciales y sea diferenciales y sea xx^̂ un mínimo local que además es un un mínimo local que además es un punto regular de las restricciones de P), entonces existe un punto regular de las restricciones de P), entonces existe un
vectorvector λλ^ ^ IRIRmm,, de multiplicadores de Lagrange tales que: de multiplicadores de Lagrange tales que:
0
1
)ˆ()ˆ()ˆ(
m
i
xigixf,x̂x ̂L
TeoremaTeorema((Condiciones necesarias y suficientes de segundo ordenCondiciones necesarias y suficientes de segundo orden).). Sean f,gSean f,g11,g,g22,...,g,...,gmm funciones dos veces continuamente diferenciables funciones dos veces continuamente diferenciables y sea y sea x^ x^ IR IRnn un punto regular de las restricciones de P) que junto un punto regular de las restricciones de P) que junto concon λλ^ ^ IR IRmm, satisfacen:, satisfacen:
es una matriz positiva definida entonces es una matriz positiva definida entonces x^x^ es un mínimo local de es un mínimo local de P).P).
m
iXigDixfDxL
1 )ˆ(2ˆ)ˆ(2)ˆ,ˆ(
m
i
xigixfxx 01
)ˆ(ˆ)ˆ()ˆ,ˆ( L
Ejemplo: Min. Min. s.a.s.a.
Buscamos Buscamos xx** usando las condiciones de Optimalidad: usando las condiciones de Optimalidad: ; m=1
así::
22
1
421
22
21
IRx
xxx
xx
)( 22 xxxf 4)( xxxh
20
02)(2 xfD
21
)2,2()(21
xxxf T
00
00)(2 xhD
211
11)(1
xh T
Luego las condiciones de primer orden son:Luego las condiciones de primer orden son:
( Factibilidad)( Factibilidad)
Resolviendo el sistema : xResolviendo el sistema : x11=x=x22=2; λ=2; λ11=-4, luego por =-4, luego por
existencia de la solución óptima de P) se tiene:existencia de la solución óptima de P) se tiene:
xx11=2 x=2 x22=2=2 es la solución óptima. es la solución óptima.
0421
012
2
011
2
xx
x
x
De todos modos las condiciones de segundo orden se De todos modos las condiciones de segundo orden se cumplen : cumplen :
Notar que en Notar que en x*x* se tiene: se tiene:
2,0
20
02
00
00
00
22)*( IR*xxL
TT
m
i
xi
hi
xf
)
1(1444
)
1
*(*)*(
Por último consideramos un problema general de Por último consideramos un problema general de optimización:optimización: P) Min. f(x)P) Min. f(x)
s.a. s.a.
En este caso decimos que es un punto regular de las En este caso decimos que es un punto regular de las restricciones del problema ssi:restricciones del problema ssi:
vectores l.ivectores l.i
11.5 Problemas con restricciones de igualdad y desigualdad.
.,..,2,1,)(
.,....,2,1,)(
ljdxh
mibxg
jj
ii
x̂
jdxjhjJj )ˆ(/
xjhxmgxgxg ),ˆ(),ˆ(),..,ˆ(2)ˆ(1
ljjdxjh .,...,1,)ˆ(
miibxig .,...,1,)ˆ(
Teorema(condiciones necesarias de primer orden de Karush-Kuhn-Tucker (KKT)).
Suponga que las funciones f, g1,g2 ,...,gm,h1,...,hl son continuamente diferenciables. Sea un punto regular de P) y mínimo local del problema, entonces existen multiplicadores de lagrange: y
x̂
:0,...,02
,01
,,....,1
l
uuu
m
01
)ˆ()ˆ(1
)ˆ(
l
J
xjhjuxi
gm
i ixf
ljj
dxj
hj
u ,....,2,1,0))((
11.6 Métodos de Optimización Restringida
a) Método de activación de restricciones
Este método se aplica en esta descripción a problemas que sólo poseen restricciones de desigualdad.
La idea es que si el problema no restringido tiene una solución óptima que no satisface una parte de las restricciones, se considera k restricciones como de igualdad y se resuelve este problema restringido hasta llegar a un conjunto de restricciones activas cuya solución también satisface las restricciones omitidas.
1 Resuelva el problema no restringido. Si el óptimo 1 Resuelva el problema no restringido. Si el óptimo satisface todas las restricciones STOP, en caso satisface todas las restricciones STOP, en caso contrario, hacer contrario, hacer k=1k=1 e ir al paso 2. e ir al paso 2.
2 Activar cualquiera 2 Activar cualquiera kk restricciones y hallar una solución restricciones y hallar una solución que satisfaga las condiciones de optimalidad KKT. Si la que satisfaga las condiciones de optimalidad KKT. Si la solución resulta factible para las restantes restricciones solución resulta factible para las restantes restricciones STOP. Sino, active otro conjunto de k restricciones y STOP. Sino, active otro conjunto de k restricciones y repita el paso. Si se han tomado todos los conjuntos de repita el paso. Si se han tomado todos los conjuntos de k restricciones sin hallar solución factible ir al paso 3.k restricciones sin hallar solución factible ir al paso 3.
3 Si 3 Si k=Lk=L (# total de restricciones) no existe solución (# total de restricciones) no existe solución factible. En caso contrario, hacer factible. En caso contrario, hacer K= K+1K= K+1 e ir a paso 2. e ir a paso 2.
Ejemplo. Consideremos el problema:
Min (2x1 – 5)2 + (2x2 – 1)2
s.a. x1 + 2x2 2
x1, x2 0
El problema no restringido tiene como solución a
~
2/1~2/5
2
1
x
x
Obtenida al resolver (x) = 0
Claramente, este punto no satisface la restricción h1(x1,x2) = x1 + 2x2 2.
Consideramos entonces activa la restricción, esto es resolvemos:
2),(
0),(),(
211
211121
xxh
xxhxxf
Cuya solución es
5/12ˆ
10/1ˆ
5/1110/22ˆ
1
2
1
x
x
que no satisface x2 0
Continuando con el método, si sólo se activa x1= 0 se llega al mínimo local:
x1 = 0 x2 = ½ 2=0 1=0 3=0
Notar que otro mínimo local se tiene con x1 + 2x2 2 y x2 = 0 activas, obteniéndose x1 = 2, x2 = 0.
b) b) Método de Frank - Wolfe
Este método permite la resolución de un problema Este método permite la resolución de un problema cuya función objetivo es una función convexa no-lineal cuya función objetivo es una función convexa no-lineal y cuyas restricciones son todas lineales. Este método y cuyas restricciones son todas lineales. Este método reemplaza la función objetivo por una secuencia de reemplaza la función objetivo por una secuencia de funciones lineales que la aproximan, dando así origen funciones lineales que la aproximan, dando así origen a una secuencia de problemas de programación lineal.a una secuencia de problemas de programación lineal.
Si xk es la actual aproximación a la solución óptima del problema
P) Min ƒ(x)
s.a. Ax = b
x 0
Entonces la expansión en serie de Taylor en torno a x=xk, a saber (x) = (xk) + (xk)(x – xk), permite aproximar el problema P) por el problema lineal
PLk) Min ƒ(xk) + (xk)(x – xk)
s.a. Ax = b
x 0
o equivalentemente, eliminando los términos constantes, considerar el problema:
PLk) Min (xk)x
s.a. Ax = b
x 0
Si xLPk denota la solución óptima de PLk), este punto no
necesariamente es cercano a xk de modo que es necesario proponer un punto que resulte de hacer una minimización unidimensional en el segmento que une xk con xLP
k.
Todo lo anterior se resume en el siguiente algoritmo:
0 Escoger un punto inicial factible x0. Hacer k = 1.
1 Evaluar C= (xk-1)
2 Hallar la solución óptima xLPk del siguiente problema
linealMin CT xs.a. Ax = b
x 0
3 Para la variable [0,1], se define
g() = (xk-1 + [xLPk – xk-1])
Usar algún procedimiento de minimización unidimensional para hallar un k que aproxime la solución de Min { g() / [0,1]}
4 Hacer 4 Hacer xk = xk-1 + k (xLPK – xk-1)
5 Si se satisface el criterio de parada del método, 5 Si se satisface el criterio de parada del método, STOP. En caso contrario, hacer STOP. En caso contrario, hacer k = k + 1 y volver al y volver al paso 1.paso 1.
Ejemplo.
0,
623..
825
21
21
2221
21
xx
xxas
xxxxMin
(5/6,7/6)(5/6,7/6)
(0,2)(0,2)
xxkk
(2,0)(2,0)
(0,3)(0,3)
xxLPLPkk kkƒƒ(x(xk-1k-1))XXk-1k-1Iteración Iteración
kk
2/32/3(-5,-8)(-5,-8)(0,0)(0,0)11
5/125/12(-5,0)(-5,0)(0,2)(0,2)22
Direcciones electrónicas en Programación no Lineal
•Preguntas de consulta frecuente en Programación No Lineal:
•Servidor NEOS, guía de software de Programación No Lineal:
•Servidor Neos, ejemplo de carteras de inversión:
•Guía de software de Programación No Lineal en revista OR&MS Today (INFORMS Magazine)
http://www-unix.mcs.anl.gov/otc/Guide/faq/nonlinear-programming-faq.html
http://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/unconstropt.htmlhttp://www-fp.mcs.anl.gov/otc/Guide/SoftwareGuide/Categories/constropt .html
http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/port/index.html
http://lionhrtpub.com/software-surveys.shtml