Sunteți pe pagina 1din 7

Pontificia Universidad Católica

Escuela de Ingeniería
Departamento de Ingeniería Industrial y de Sistemas

Clase 15 • Condiciones de Karush Kuhn Tucker

ICS 1102 • Optimización


Profesor : Claudio Seebach
25 de septiembre de 2006

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 105

Condiciones de Karush Kuhn Tucker

Proposición 9 Supóngase que f (x), gj (x) con j = 1, ..., m, son fun-


ciones diferenciables que satisfacen ciertas condiciones de regularidad.
Entonces, x̄ puede ser una solución óptima para el problema de progra-
mación no-lineal, sólo si existen m números µ1, ..., µm que satisfagan
todas las condiciones necesarias siguientes:

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 106


Condiciones de Karush Kuhn Tucker


∂L ∂f (x̄) ! m ∂gj (x̄)
= + µj ≥ 0


∂xi ∂x"i j=1 ∂x i # 

∂L ∂f (x̄) !m ∂gj (x̄) ∀i = 1, .., n
x̄i = x̄i + µj = 0
∂xi ∂xi j=1 ∂xi 



x̄i ≥0

∂L 
= gj (x̄) − bj ≤ 0 

∂µj 

∂L ( )
∀j = 1, .., m
µj = µj gj (x̄) − bj = 0  
∂µj 


µj ≥ 0

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 107

Comentarios acerca de KKT

• Interpretación de los multiplicadores µj :


– Indican cuánto baja la función objetivo si bj aumenta en una unidad.
– Aumentar bj implica expandir el dominio, o sea expandir el espectro
de posibilidades de donde escoger.
• Complementariedad de las holguras:
*m
∇f (x̄) + µj ∇gj = 0
j=1
µj (gj (x̄) − bj ) = 0

– En el óptimo el gradiente de la función objetivo es una combinación


lineal del gradiente de las restricciones activas

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 108


Comentarios acerca de KKT

• Las condiciones de optimalidad de Karush-Kuhn-Tucker son condiciones


necesarias y sólo garantizarı́an optimalidad global si se cumplen adi-
cionalmente otras condiciones de convexidad.
Corolario 10 Supóngase que f (x) es una función convexa y difer-
enciable, y que g1(x), g2(x), ..., gm(x) también lo son en donde todas
estas funciones satisfacen las condiciones de regularidad. Entonces
x̄ = (x̄1, ..., x̄n) es una solución óptima si y sólo si se satisfacen todas
las condiciones del teorema.
• El método identifica puntos óptimos locales que cumplan condiciones
de regularidad
• Los gradientes de las restricciones activas en el punto deben ser lineal-
mente independientes.

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 109

Condiciones de Regularidad del Dominio

• Ciertas condiciones garantizan regularidad en todo el dominio:


Proposición 11 (Slater) Las condiciones de regularidad de Slater es-
tablecen que si hay un dominio D = {x : gj (x) ≤ 0} con gj (x)
funciones convexas, y existe un punto x̄ ∈ D tal que gj (x̄) < 0
∀j = 1, . . . , m,entonces todo punto x ∈ D es regular.
Proposición 12 (Slater-Usawa) Las condiciones de regularidad de Slater-
Usawa establecen que si hay un dominio D = {x : gj (x) ≤ 0} con gj (x)
funciones convexas, y existe un punto x̄ ∈ D tal que gj (x̄) < 0 para
toda restricción no lineal, y gj (x̄) ≤ 0 para toda restricción lineal,
entonces todo punto x ∈ D es regular.
Corolario 13 En problemas lineales basta que haya un punto factible
para decir que su dominio es regular.

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 110


Ejemplo

Ejemplo 16 Considere el siguiente problema:


P ) max f (x1, x2) = ln(x1 + 1) + x2
s.a 2x1 + x2 ≤ 3
x 1 , x2 ≥ 0

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 111

Solución Ejemplo

P ) max f (x1, x2) = ln(x1 + 1) + x2


s.a 2x1 + x2 ≤ 3
x 1 , x2 ≥ 0
El problema puede modificarse del siguiente modo:
P ) min − ln(x1 + 1) − x2 → −f (x) es convexa
s.a 2x1 + x2 ≤ 3 → g(x) es convexa
x 1 , x2 ≥ 0
El problema presenta caracterı́sticas que permiten garantizar que el
método de KKT identificará sólo un punto y que éste será el óptimo
global. Además, el dominio está definido por restricciones lineales por
lo que no habrá puntos singulares. El Lagrangeano del problema queda:
L = − ln(x1 + 1) − x2 + µ1(2x1 + x2 − 3)

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 112


Solución Ejemplo

Resolviendo las condiciones de KKT es posible obtener una solución


óptima.
−1
1a. + 2µ1 ≥ 0
x1 + 1
−1
2a. x1( + 2µ1) = 0
x1 + 1
1b. −1 + µ1 ≥ 0
2b. x2(−1 + µ1) = 0
3. 2x1 + x2 ≤ 3
4. µ1(2x1 + x2 − 3) = 0
5. x1 ≥ 0, x2 ≥ 0
6. µ1 ≥ 0

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 113

Solución Ejemplo

De donde tenemos que:


1. µ1 ≥ 1 de la condición 1b.
2. x1 ≥ 0 de la condición 5.
−1
3. Por lo tanto, + 2µ1 > 0.
x1 + 1
4. Por lo tanto, x1 = 0 de la condición 2a.
5. µ1 (= 0 implica que 2x1 + x2 − 3 = 0, de la condición 4.
6. Los pasos 3 y 4 implican que x2 = 3.
7. x2 (= 0 implica que µ1 = 1, de la condición 2b.
8. Los valores x1 = 0, x2 = 3 y µ1 = 1 no violan ninguna condición.
9. Por lo tanto, x̄ = (0, 3) es solución óptima para este problema.

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 114


Métodos iterativos con restricciones
Gradiente reducido (Frank-Wolfe)

• Consideremos un problema definido sobre un dominio convexo.


• Comenzando de un punto factible xk se determina un plano tangente a
la función en el punto:
hk (x) = f (xk ) + ∇f (xk ) · (x − xk )
• Luego se optimiza hk (x) sobre el dominio original (convexo). Notar que
la función objetivo es lineal: ∇f (xk ) · x
• Si el dominio está definido por restricciones lineales el problema es de
programación lineal!
• Llamemos yk∗ a la solución óptima de este problema. Este punto refleja
una dirección de mejora de la función.

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 115

Métodos iterativos con restricciones


Gradiente reducido (Frank-Wolfe)

• ¿cuánto movernos en dicha dirección? (i.e. desde xk hacia yk∗)


• Optimicemos:
+ ,
min f (1 − λ)xk + λyk∗
λ
s. a 0≤λ≤1
• Si λ∗ es la solución óptima del problema, definimos
xk+1 = (1 − λ∗)xk + λ∗yk∗
• Observar que el método permite obtener cota superior e inferior para
f (x∗)
– Cota superior: f (xk )
– Cota inferior: el máximo de los hk (yk∗)

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 116


Métodos iterativos con restricciones
Gradiente reducido (Frank-Wolfe)

• Ejemplo:
max 5x1 − x21 + 8x2 − 2x22
x1 ,x2
s. a 3x1 + 2x2 ≤ 6
x 1 , x2 ≥ 0

Apuntes de Clases • Optimización • Claudio Seebach No Lineal • 117

S-ar putea să vă placă și