Pontificia Universidad CatólicaEscuela de IngenieríaDepartamento de Ingeniería Industrial y de Sistemas
Clase 9 • Programacion No Lineal
ICS 1102 • OptimizacionProfesor : Claudio Seebach
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 1
Programacion No Lineal
1. Optimizacion de una funcion sin restricciones
(a) Condiciones Necesarias y Suficientes para extremos
(b) Metodos de busqueda de soluciones
i. Metodo de Newtonii. Metodo del Gradiente o de Cauchy
2. Optimizacion de una funcion con restricciones
(a) Caso 1: Problema Unidimensional
(b) Caso 2: Restricciones de igualdad
i. Caso general con restricciones de igualdadii. Interpretacion de los multiplicadores de Lagrange
3. Restricciones de desigualdad
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 2
Optimizacion de una funcion sin restricciones
P ) min f (x)
x ! Rn
• f (x) funcion diferenciable
• !x = (x1, x2, ..., xn) es mınimo local si:f (!x) " f (!x + !h) #!h = (h1, h2, ..., hn) tal que |hj| es suficientementepequeno para todo j.
• !x es un mınimo local si el valor de f (!x) en cada punto del entorno ovecindad de !x no es menor a f (!x).
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 3
Condiciones Necesarias y suficientes paraextremos
Teorema 1 (Condicion necesaria de 1er orden). Si x ! Rn es unpunto mınimo local de f (x), entonces debe cumplirse que $f (x) =
%&0 ,
es decir,"f (x1, x2, ..., xn)
"xi= 0 #i = 1, ..., n.
• Esta condicion es necesaria, pero no suficiente para un mınimo
• Tambien la satisfacen otros puntos extremos:
– Maximos
– Puntos de inflexion
' Para que x sea un punto mınimo, debe cumplirse una segundacondicion necesaria.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 4
Condiciones Necesarias para Extremos
Teorema 2 (Condicion necesaria de 2do orden) Si x ! Rn es un puntomınimo local de f (x), y f (x) es dos veces diferenciable, entonces debecumplirse que $f (x) =
%&0 (1er orden) y que la matriz Hessiana D2f (x)
sea semidefinida positiva (2do orden).
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 5
Condiciones Suficientes para Extremos
Teorema 3 (Condicion suficiente de 2do orden) Si x verifica: $f (x) =%&0 y D2f (x) es definida positiva, entonces x es un punto mınimo localestricto de f (x).
Mínimo local estricto
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 6
Derivacion Condiciones de Segundo Orden
• La expansion de Taylor de la funcion objetivo en torno al punto x es:
f (x) = f (x) + (x% x)$f (x) +(x% x)D2f (x)(x% x)T
2+ R2(x)
¿que condicion debe satisfacer x para ser punto mınimo local?
• En la vecindad de x, R2(x) es un orden de magnitud mas pequenoque el termino de 2do orden ' podemos ignorarlo para un analisis deoptimalidad local.
• En un punto mınimo, el gradiente de la funcion en el punto debe sernulo.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 7
Derivacion Condiciones de Segundo Orden
• Para que f (x) sea menor a la funcion objetivo evaluada en cualquier xen la vecindad de x, debe suceder que
f (x) " f (x) = f (x) +(x% x)D2f (x)(x% x)T
2+ R2(x).
• Es decir:(x% x)D2f (x)(x% x)T
2=
(!x)D2f (x)(!x)T
2( 0
• Esto equivale a que la matriz D2f (x) sea semidefinida positiva:
!xD2f (x)!xT ( 0, #!x
• Si es definida positiva esto se cumple estrictamente:
!xD2f (x)!xT > 0, #!x
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 8
Ejemplo de Problema No Lineal Irrestricto
Ejemplo 1 Considere el problema
P ) min%2x1x2 % 2x2 + x21 + 2x2
2
s.a. (x1, x2) ! R2
0 0.5 1 1.5 2
0
0.5
11.5
2
0
2
4
0 0.5
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 9
Ejemplo de Problema No Lineal Irrestricto
• Las condiciones de primer orden son:
"f
"x1= %2x2 + 2x1 = 0
"f
"x2= %2x1 % 2 + 4x2 = 0
• $f (x) = 0 ) x1 = 1, x2 = 1.
• El Hessiano de la funcion objetivo en (1, 1):
H =
!
""#
"2f
"x21
"2f
"x1"x2
"2f
"x2"x1
"2f
"x22
$
%%&
(1,1)
=
'2 %2%2 4
(.
• H es definida positiva en todo D, y en particular en (1, 1)
• El punto corresponde a un mınimo unico global estricto de P )
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 10
Ejemplo de Problema No Lineal Irrestricto
Ejemplo 2 Considere la funcion f (x, y) = x3 + y
-4-2
02
4
-2
-1
01
2-10
0
10
-10
0
10
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 11
Ejemplo de Problema No Lineal Irrestricto
• La matriz Hessiana esta dada por
D2f (x, y) =
'6x 00 0
(
• Observamos que !1 = 6x y que !2 = 0.
• ¿Existe alguna region en que f (x, y) sea positiva definida? No.
• ¿Existe alguna region en que f (x, y) sea semidefinida positiva? Sı, #x ( 0
• ¿Existe alguna region en que f (x, y) sea semidefinida negativa? Sı, #x " 0
' No se puede garantizar la existencia de un mınimo o maximo lo-cal.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 12
Ejemplo de Problema No Lineal Irrestricto
Ejemplo 3 Considere el problema
P ) min x4
-3 -2 -1 1 2 3
2
4
6
8
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 13
Ejemplo de Problema No Lineal Irrestricto
• Tenemos que:
f *(x) = 4x3
f **(x) = 12x2
• En x = 0, f *(x) = 0 y f **(x) = 0.
• El punto cumple con la condicion necesaria de 2+ orden.
• De esta informacion no se podrıa inferir nada mas, pero:f **(x) = 12x2 ( 0 #x ' f (x) es convexa
• Ademas es diferenciable, entonces x = 0 es un punto mınimo local de P ).
• f (x) ( f (x) + f *(x)(x% x) #x ! R,
• x = 0 : f (x) ( f (0) + f *(0)(x% 0) ' f (0) " f (x) #x ! R.
• Ası, x = 0 es un punto mınimo global de P ), unico, pues #x ,= 0 ' x4 > 0.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 14
Metodos de Resolucion de Problemas No Lineales
• Hay problemas donde resolver $f (x) = 0 es muy difıcil
• Alternativa: metodos numericos y/o iterativos
– Busqueda unidireccional
– Metodo de Newton
– Metodo del Gradiente o de Cauchy
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 15
Metodo de Newton
• Metodo para funciones dos veces diferenciables
• Puede usarse para funciones de multiples variables
• P ) de una sola variable: min f (x) con f *(x) y f **(x) conocidas.
• Sea xk un punto factible
• Se puede aproximar f (x) entorno a xk, a traves de una expansion deTaylor de 2do grado:
qk(x) = f (xk) + f *(xk)(x% xk) +1
2f **(xk)(x% xk)
2
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 16
Aproximacion de Segundo Orden
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 17
Metodo de Newton
• q(x) es una buena aproximacion de segundo grado para f (x) ya que:
1. q(xk) = f (xk)
2. q*(xk) = f *(xk)
3. q**(xk) = f **(xk)
• Si f **(xk) > 0 ' q(x) es convexa, y si f **(xk) < 0 ' q(x) es concava.
• Resolvemos min q(x), en vez de min f (x). Condicion de 1er orden:
dqk
dx= f *(xk) + f **(xk)(x% xk) = 0
• Despejando, y definiendo un nuevo xk+1 nos queda:
xk+1 = xk %f *(xk)
f **(xk).
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 18
Esquema del Metodo de Newton
1. Comenzar con un x0 cualquiera
2. Minimizar qk(x) y obtener un nuevo xk+1 usando:
xk+1 = xk %f *(xk)
f **(xk)
3. Verificar si las iteraciones convergen segun algun criterio:
• Por ejemplo si (xk % xk+1) & 0
• o si (f (xk)% f (xk+1)) & 0.
o volver al punto 2. con xk+1
4. Finalizar con xk como solucion optima y f (xk) valor optimo
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 19
Interpretacion del Metodo de Newton
• Condicion de 1er orden para un extremos de f (x)
$f (x) = 0 ' el metodo de Newton busca raıces def *(x)
• Graficamente, el metodo consiste en que en el espacio de la derivada def (x) se trace una recta que pase por el punto (xk, f *(xk)) y que tengapendiente f **(xk), es decir
y % f *(xk) = (x% xk)f”(xk).
• Luego, el punto de interseccion de esta recta con el eje x determinaraxk+1, es decir, igualando y = 0.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 20
Interpretacion del Metodo de Newton
f’(x)
xxkxk+1xk+2
y = f *(x) y % f *(xk) = (x% xk)f”(xk).
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 21
Observaciones al Metodo de Newton
• El metodo busca puntos extremos sean estos mınimos o maximos.
• Para distinguir hay que mirar el signo de la 2a derivada en cada punto:
– Debera ser positivo al buscar mınimos y negativo al buscar maximos.
• Este metodo no garantiza convergencia:
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 22
Ejemplo de Metodo de Newton
Ejemplo 4 Considere el problema min 2x3 % 21x2 + 60x% 7.
-1 1 2 3 4 5 6
-10
10
20
30
40
50
60
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 23
Ejemplo de Metodo de Newton
Ejemplo 4 Considere el problema min 2x3 % 21x2 + 60x% 7.Podemos ver que la primera y segunda derivada corresponden a
f *(x) = 6x2 % 42x + 60
f **(x) = 12x% 42
respectivamente. Por lo tanto, si x > 3, 5 ' f **(x) > 0,luego, f (x) es estrictamenteconvexa. Y si x < 3, 5 ' f **(x) < 0, por lo que f (x) es estrictamente concava.Por lo tanto, x = 3, 5 corresponde a un punto de inflexion. Aplicando el metodo deNewton, con x0 = 4 (cercano al punto crıtico x = 3, 5), sucede lo siguiente:
xk+1 = xk %6x2
k % 42xk + 60
12xk % 42
=12x2
k % 42xk % 6x2k + 42xk % 60
6(2xk % 7)
=6x2
k % 60
6(2xk % 7)
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 24
Ejemplo de Metodo de Newton
Por lo tanto,
xk+1 =x2
k % 10
(2xk % 7)
Iterando vemos que el metodo converge a xk = 5,
k 0 1 2 3 4 5xk 4 6 7, 2 5, 65 5, 099 ! 5
que corresponde a un mınimo pues f”(x) en el punto es positiva. Ahora, cambiandoel punto inicial a x0 = 3 y volvemos a aplicar el metodo, vemos que este converge axk = 2,
k 0 1 2 3 4 5xk 3 1 1, 8 1, 988 1, 999 ! 2
que corresponde a un maximo pues f”(x) en el punto es negativa.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 25
Ejemplo de Metodo de Newton
Ejemplo 5 Considere el problema min x3
4 %7x2
8 + ln x sujeto a x > 0.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 26
Ejemplo de Metodo de Newton
Ejemplo 5 Considere el problema min x3
4 %7x2
8 + ln x sujeto a x > 0.Derivando encontramos
f *(x) =3
4x2 % 7
4x +
1
x
f **(x) =3
2x% 7
4% 1
x2
' xk+1 = xk %(34x
2 % 74x + 1
x)
(32x%
74 %
1x2)
. Es facil ver que 34x
2 % 74x + 1
x = 0 puede escribirse
como (x% 2)(x% 1)(3x + 2) = 0, x ,= 0 expresion que muestra claramente las raıcesde la funcion objetivo. Iterando con el metodo desde dos puntos iniciales diferentesobtenemos los siguientes resultados:
x0 = 0, 5 & 0, 7625 & 0, 9401 & 0, 9954
x0 = 3 & 2, 3052 & 2, 0512 & 2, 0021.
El primero de estos corresponde a un maximo local mientras el segundo a un mınimolocal.
Apuntes de Clases • Optimizacion • Claudio Seebach No Lineal • 27
Top Related