tema 5 dualidad y condiciones de...
TRANSCRIPT
Tema 5Dualidad y condiciones de Karush-Kuhn-Tucker
Jose R. Berrendero
Departamento de MatematicasUniversidad Autonoma de Madrid
Contenidos del tema 5
I Condiciones de Karush-Kuhn-Tucker (KKT).I Problemas con restricciones de desigualdad.I Problemas con restricciones de desigualdad y de igualdad.
I El problema dual.
I Dualidad en optimizacion lineal. Algoritmo simplex dual.
I Relaciones entre el problema dual y las condiciones de KKT.
Problemas que vamos a analizar
En este tema consideraremos problemas generales deoptimizacion de la forma
minimizar f (x)s.a. fi (x) ≤ 0, i = 1, . . . ,m
hi (x) = 0, i = 1, . . . , p.
Tambien consideraremos problemas convexos de la forma
minimizar f (x)s.a. fi (x) ≤ 0, i = 1, . . . ,m
a>i x = bi , i = 1, . . . , p,
donde las funciones f , f1, . . . , fn son convexas.
En general, denotamos por D la interseccion de los dominios detodas las funciones del problema y suponemos que D es un abiertoque incluye los puntos que satisfacen las restricciones.
Condiciones de Karush-Kuhn-Tucker (solo desigualdades)
Consideramos el problema (P):
minimizar f (x)s.a. fi (x) ≤ 0 i = 1, . . . ,m,
donde todas las funciones son diferenciables.
Se dice que el punto x ∈ Rn, junto con el vector de multiplicadoresu ∈ Rm, verifica las condiciones KKT para (P) si
∇f (x) +m∑i=1
ui∇fi (x) = 0
fi (x) ≤ 0, i = 1, . . . ,m
ui ≥ 0, i = 1, . . . ,m
ui fi (x) = 0, i = 1, . . . ,m.
Condiciones KKT necesarias para mınimo local de (P)
Cualquier mınimo local de (P), que verifique una condicionadicional debe satisfacer las condiciones KKT.
Cualificacion de las restricciones: Dado un punto factible x , seaI = {i : fi (x) = 0} el conjunto de restricciones activas en x .
Se dice que x verifica la cualificacion de las restricciones si losvectores ∇fi (x), i ∈ I , son linealmente independientes.
Teorema: Sea x un mınimo local de (P) que verifica lacualificacion de las restricciones anterior. Entonces, existe unvector u ≥ 0 tal que x y u verifican las condiciones KKT.
Condiciones KKT necesarias para mınimo local de (P)
Demostracion:
I Si x es un mınimo local de (P), no existe ninguna direcciond ∈ Rn tal que ∇f (x)>d < 0, ∇fi (x)>d < 0 para i ∈ I .
I Por el teorema de Gordan, existen u0 ≥ 0, ui ≥ 0, i ∈ I , notodos nulos, tales que u0∇f (x) +
∑i∈I ui∇f (x) = 0.
I Por la cualificacion de las restricciones, u0 > 0.
I Definimos ui = ui/u0 si i ∈ I y ui = 0 si i /∈ I .
I Es facil comprobar que x y u verifican las condiciones KKT.
Observaciones
Para encontrar el mınimo global del problema (P):
I Hallar los puntos que verifican las condiciones de KKT.
I Hallar los puntos factibles que no verifican la cualificacion delas restricciones.
Si el problema tiene solucion, debe encontrarse entre los puntoshallados de alguna de estas dos formas.
Ejemplo: Determina los puntos que verifican las condiciones KKTy resuelve el problema:
minimizar x21 + x2
2 + 2x23
s.a. 2x1 + 3x2 + x3 ≥ 6
Ejemplo
Considera el siguiente problema de optimizacion:
maximizar 3x1 + x2
s.a. x2 − (1− x1)3 ≤ 0x1 ≥ 0, x2 ≥ 0
I Resuelve el problema graficamente
I Escribe las condiciones KKT
I ¿Verifican KKT los puntos del interior del conjunto factible?
I ¿Verifica el maximo global del problema las condiciones KKT?
I ¿Existen puntos que verifican las condiciones KKT y que noson maximos locales?
Ejemplo
Condiciones de Karush-Kuhn-Tucker (tambien igualdades)
Consideramos el problema (PI):
minimizar f (x)s.a. fi (x) ≤ 0, i = 1, . . . ,m
hi (x) = 0, i = 1, . . . , p.
donde todas las funciones son diferenciables.
Se dice que el punto x ∈ Rn, junto con los vectores de multiplicadores u ∈ Rm yv ∈ Rp , verifica las condiciones KKT para (PI) si
∇f (x) +m∑i=1
ui∇fi (x) +
p∑i=1
vi∇hi (x) = 0
fi (x) ≤ 0, i = 1, . . . ,m
hi (x) = 0, i = 1, . . . , p
ui ≥ 0, i = 1, . . . ,m
ui fi (x) = 0, i = 1, . . . ,m
Condiciones KKT necesarias para mınimo local de (PI)
Cualquier mınimo local de (PI), que verifique una condicionadicional debe satisfacer las condiciones KKT.
Cualificacion de las restricciones: Dado un punto factible x , seaI = {i : fi (x) = 0} el conjunto de restricciones activas en x .
Se dice que x verifica la cualificacion de las restricciones si losvectores ∇fi (x), i ∈ I y ∇hi (x), i = 1, . . . , p son linealmenteindependientes.
Teorema: Sea x un mınimo local de (PI) que verifica lacualificacion de las restricciones anterior. Entonces, existenvectores u ≥ 0 y v tales que x , u y v verifican las condicionesKKT.
Condiciones KKT necesarias para mınimo local de (PI)Demostracion (esquema):
I Si x es un mınimo local de (PI), no existe ninguna direcciond ∈ Rn tal que ∇f (x)>d < 0; ∇fi (x)>d < 0, para i ∈ I ;∇hi (x)>d = 0, para i = 1, . . . , p.
I Por un teorema de la alternativa, existen u0 ≥ 0; ui ≥ 0,i ∈ I ; vi , i = 1, . . . , p, no todos nulos, tales que
u0∇f (x) +∑i∈I
ui∇f (x) +
p∑i=1
vi∇hi (x) = 0.
I Por la cualificacion de las restricciones, u0 > 0.
I Definimos ui = ui/u0, si i ∈ I ; ui = 0, si i /∈ I y vi = vi/u0,i = 1 . . . , p.
I Es facil comprobar que x , u y v verifican las condiciones KKT.
La funcion dual
Para un problema general (no necesariamente convexo) la funcionlagrangiana es:
L(x , u, v) = f (x) +m∑i=1
ui fi (x) +
p∑i=1
vihi (x).
La funcion dual es
g(u, v) = infx∈D
L(x , u, v).
Si u ≥ 0, calcular g(u, v) puede interpretarse como resolver unaversion menos exigente del problema original (PI).
La funcion dual es concava (aunque (PI) no sea convexo).
El problema dual
La funcion dual (es decir el valor optimo de la version menosexigente del problema) es una cota inferior del valor optimo delproblema original:
Teorema: Sea p el valor optimo de un problema de optimizacioncuya funcion dual es g(u, v). Para todo u ≥ 0 y para todo v ,g(u, v) ≤ p.
Resulta natural preguntarse cual es la mejor de las cotas quepueden obtenerse de esta forma. Esto lleva al problema dual.
El problema dual
maximizar g(u, v)s.a. u ≥ 0.
El problema dual es siempre convexo, independientemente de quelo sea o no el problema primal al que corresponde.
Un punto (u, v) con u ≥ 0 y g(u, v) > −∞ (es decir, en eldominio de la funcion dual) se llama solucion factible dual.
Llamamos solucion factible dual optima al punto (u, v) queresuelve el problema dual.
Dualidad debil
Si p y d son los valores optimos de los problemas primal(minimizacion) y dual (maximizacion) respectivamente, lasdefiniciones implican la desigualdad de dualidad debil:
d ≤ p.
¿Que ocurre si p = −∞? ¿Que ocurre si d =∞?
Si el primal es no acotado, entonces el dual es no factible. Si eldual es no acotado, entonces el primal es no factible.
La brecha de dualidad es la diferencia p − d .
El dual de un problema lineal en forma estandar
minimizar c>xs.a. Ax = b,
x ≥ 0.
Funcion lagrangiana:
L(x , u, v) = −b>v + (c + A>v − u)>x .
La funcion dual es g(u, v) = −b>v , si c + A>v − u = 0, yg(u, v) = −∞, en caso contrario.
Problema dual:
maximizar b>vs.a. A>v ≤ c
El dual de un problema lineal en forma canonicaProblema primal:
maximizar c>xs.a. Ax ≤ b,
x ≥ 0.
Problema dual:
minimizar b>vs.a. A>v ≥ c ,
v ≥ 0.
Ejercicio: Escribe el dual de
minimizar c>xs.a. Ax ≥ b,
x ≥ 0.
Observaciones:
I El dual del dual es el primal.I Los duales de problemas primales equivalentes son tambien
equivalentes entre sı.
Ejemplos
Escribe el problema dual de los siguientes problemas deoptimizacion lineal:
minimizar 6x1 + 8x2
s.a. 3x1 + x2 ≥ 45x1 + 2x2 ≥ 7x1 ≥ 0, x2 ≥ 0
minimizar 8x1 + 3x2 − 2x3
s.a. x1 − 6x2 + x3 ≥ 25x1 + 7x2 − 2x3 = −4x1 ≥ 0, x2 ≥ 0, x3 ≥ 0
Interpretacion economica del problema dual
Un pastelero dispone de 150 kg de harina, 22 kg de azucar y 27.5kg de mantequilla para elaborar dos tipos de pasteles (A y B).Cada caja de pasteles de tipo A requiere 3 kg de harina, 1 kg deazucar y 1 kg de mantequilla, y su venta le reporta un beneficio de20 euros. Cada caja de pasteles de tipo B requiere 6 kg de harina,0.5 kg de azucar y 1 kg de mantequilla y su venta le reporta unbeneficio de 30 euros.
(a) ¿Cuantas cajas de cada tipo debe elaborar el pastelero demanera que se maximicen sus ganancias?
(b) Supongamos que la cantidad de harina disponible aumenta enun kg. ¿Cuanto aumenta el beneficio del pastelero? Contestaa la misma cuestion para un aumento de un kg en la cantidadde azucar y mantequilla.
Interpretacion economica del problema dual
maximizar 20x1 + 30x2
s.a. 3x1 + 6x2 ≤ 150x1 + x2/2 ≤ 22x1 + x2 ≤ 27.5x1 ≥ 0, x2 ≥ 0
I La solucion es x1 = 5 y x2 = 22.5.
I El beneficio optimo es z = 775.
I Si ∆H = 1, tenemos ∆z = 10/3.
I Si ∆A = 1, tenemos ∆z = 0.
I Si ∆M = 1, tenemos ∆z = 10.
Interpretacion economica del problema dual
Un comprador esta interesado en adquirir el negocio del pastelero(es decir, los recursos de azucar, harina y mantequilla de los quedispone) y quiere hacerle una oferta de precios por kg de azucar,harina y mantequilla. Por supuesto el pastelero solo aceptara laoferta del comprador si lo que gana con la venta es al menos lomismo que ganarıa fabricando pasteles.
¿Que problema debe resolver el comprador para hacerle la ofertamas ventajosa al pastelero?
Resuelve el problema del comprador.
¿Que relaciones existen entre las soluciones de los problemas delpastelero y del comprador?
Interpretacion economica del problema dualLas variables u1, u2 y u3 representan los precios de los tres recursos(harina, azucar y mantequilla) respectivamente.
El problema del comprador es:
minimizar 150u1 + 22u2 + 27.5u3
s.a. 3u1 + u2 + u3 ≥ 206u1 + u2/2 + u3 ≥ 30
u1 ≥ 0, u2 ≥ 0, u3 ≥ 0
I La solucion es u1 = 10/3, u2 = 0 y u3 = 10.
I El beneficio optimo es z = 775.
I Los valores optimos del objetivo son los mismos para ambosproblemas (la brecha de dualidad es cero).
I Los precios optimos coinciden con los beneficios marginales.
Dualidad fuerte
Se dice que hay dualidad fuerte cuando p = d .
En problemas lineales factibles siempre hay dualidad fuerte.
Puede ocurrir d = −∞ y p =∞.
Escribe el dual de
maximizar −x1 + x2
s.a. x1 ≤ −1−x1 − x2 ≤ −1x1 ≥ 0, x2 ≥ 0
Dualidad fuerte para problemas lineales
Teorema: Consideremos un problema lineal en forma estandar (P)y el correspondiente problema dual (D). Si (P) tiene solucionfactible optima finita, tambien la tiene (D) y los correspondientesvalores optimos son iguales.
Demostracion:
I Sea x =(B−1b
0
)la solucion factible optima de (P).
I Sea u> = c>B B−1. Se cumple
u>A ≤ c> ⇔ c>B B−1N ≤ c>N ⇔ zj ≤ cj , j ∈ N
Luego u es factible para (D).
I Ademas u>b = c>B B−1b = c>x .
Dualidad fuerte para problemas lineales
I La condicion de factibilidad de u equivale a la de optimalidadde x .
I En el ejemplo, el pastelero ganara lo mismo tanto si fabricapasteles como si vende el negocio. Si su problema no fueseacotado, no aceptarıa ninguna oferta y como consecuencia, elproblema del comprador no serıa factible.
I Resolver el primal y el dual es equivalente a partir de larelacion u> = c>B B−1.
I Sensibilidad de soluciones: z = u>b =∑m
i=1 uibi . Por lo tanto
∂z
∂bi= ui .
La solucion del dual puede interpretarse en terminos delincremento del valor optimo del primal ante pequenasvariaciones de los recursos.
Algoritmo simplex-dual
Punto de partida:
I Un punto factible para el dual, pero no para el primal.
I zj − cj ≤ 0, para todo j , pero b = B−1b � 0.
Criterio de salida: Sale de la base la variable xr tal que
br = min{bi : bi < 0}.
Criterio de entrada: Entra en la base la variable xk tal que
zk − ckyrk
= min
{zj − cjyrj
: yrj < 0
}.
Infactibilidad: Si yrj ≥ 0 para todo j , el problema primal es nofactible.
Ejemplo
minimizar 3x1 + 2x2
s.a. 3x1 + x2 ≥ 34x1 + 3x2 ≥ 6
x1 + x2 ≤ 3x1 ≥ 0, x2 ≥ 0.
En forma estandar,
minimizar 3x1 + 2x2
s.a. −3x1 − x2 + x3 = −3−4x1 − 3x2 + x4 = −6
x1 + x2 + x5 = 3xi ≥ 0, i = 1, . . . , 5.
Ejemplo
c 3 2 0 0 0
Variables x1 x2 x3 x4 x5
x3 = −3 -3 -1 1 0 0x4 = −6 -4 -3 0 1 0x5 = 3 1 1 0 0 1
zj − cj -3 -2 0 0 0
c 3 2 0 0 0
Variables x1 x2 x3 x4 x5
x3 = −1 -5/3 0 1 -1/3 0x2 = 2 4/3 1 0 -1/3 0x5 = 1 -1/3 0 0 1/3 1
zj − cj -1/3 0 0 -2/3 0
Ejemplo
c 3 2 0 0 0
Variables x1 x2 x3 x4 x5
x1 = 3/5 1 0 -3/5 1/5 0x2 = 6/5 0 1 4/5 -3/5 0x5 = 6/5 0 0 -1/5 2/5 1
zj − cj 0 0 -1/5 -3/5 0
I La solucion del primal es x1 = 3/5, x2 = 6/5 (z = 21/5).
I La solucion del dual es
u> = c>B B−1 = (3, 2, 0)
−3/5 1/5 04/5 −3/5 0−1/5 2/5 1
= (−1/5,−3/5, 0).
Algoritmo simplex-dual
(1) Tras el pivoteo se mantiene la factibilidad dual (optimalidadprimal):
zj − cj = (zj − cj)−yrjyrk
(zk − ck)
(2) Tras el pivoteo mejora el objetivo del dual:
∑i∈B
ci bi =∑i∈B
ci
(bi −
bryrk
yik
)+ ck
bryrk∑
i∈B
ci bi =∑i∈B
ci bi −bryrk
(∑i∈B
ciyik − ck)
∑i∈B
ci bi =∑i∈B
ci bi −bryrk
(zk − ck) >∑i∈B
ci bi .
Algoritmo simplex-dual
(3) Si yrj ≥ 0 para todo j , el problema primal no es factible:
Si existiera x ≥ 0 con Ax = b tendrıamos:
Ax = b ⇔ B−1Ax = b ⇔n∑
j=1
yjxj = b.
En particular, br =∑n
j=1 yrjxj ≥ 0, lo que no puede ser porque
br < 0.
Holgura complementaria en problemas lineales
Sean x y u las soluciones de (P) y (D):(P) max c>x s.a. Ax ≤ b, x ≥ 0.(D) min b>u s.a. A>u ≥ c , u ≥ 0.
Sabemos c>x = b>u (dualidad fuerte en el caso lineal).
c>x ≤ u>Ax ≤ u>b = c>x ,
Por lo tanto, si ai y aj denotan las columnas y las filas de A,
I u>(Ax − b) = 0⇔ uj(aj x − bj) = 0, j = 1, . . . ,m
I (c> − u>A)x = 0⇔ xi (ci − u>ai ) = 0, i = 1, . . . , n
Estas condiciones caracterizan las soluciones de (P) y (D)(¿Por que?)
Holgura complementaria en problemas lineales
maximizar 3x1 + 4x2 + 6x3
s.a. 3x1 + x2 + x3 ≤ 2x1 + 2x2 + 6x3 ≤ 1xi ≥ 0, i = 1, 2, 3
I Escribe el dual del problema anterior.
I Resuelve el problema dual graficamente.
I Utiliza la condiciones de holgura complementaria para resolverel primal.
Holgura complementaria
Consideramos un problema general (no necesariamente convexo)
minimizar f (x)s.a. fi (x) ≤ 0, i = 1, . . . ,m
hi (x) = 0, i = 1, . . . , p.
para el que se cumple la dualidad fuerte. Sean x y (u, v) lassoluciones optimas del primal y el dual respectivamente.
f (x) = g(u, v) = infx
(f (x) +
m∑i=1
ui fi (x) +
p∑i=1
vihi (x))
≤ f (x) +m∑i=1
ui fi (x) +
p∑i=1
vihi (x) ≤ f (x)
Todas las desigualdades son en realidad igualdades.
Holgura complementaria
f (x) = g(u, v) = infx
(f (x) +
m∑i=1
ui fi (x) +
p∑i=1
vihi (x))
= f (x) +m∑i=1
ui fi (x) +
p∑i=1
vihi (x)
Dos consecuencias relevantes:
I x minimiza L(x , u, v) en x .
I Se cumple∑m
i=1 ui fi (x) = 0. Como consecuencia:
ui fi (x) = 0, i = 1, . . . ,m.
Estas son las condiciones de holgura complementaria.
Dualidad y condiciones de Karush-Kuhn-TuckerSupongamos las siguientes condiciones:
I Las funciones f , f1, . . . , fm, h1, . . . , hp son diferenciables.I Las soluciones optimas de los problemas primal y dual se
alcanzan en los puntos x y (u, v).I Hay dualidad fuerte: f (x) = p = d = g(u, v).
Entonces, los optimos deben cumplir las condiciones KKT:
∇f (x) +m∑i=1
ui∇fi (x) +
p∑i=1
vi∇hi (x) = 0
fi (x) ≤ 0, i = 1, . . . ,m
hi (x) = 0, i = 1, . . . , p
ui ≥ 0, i = 1, . . . ,m
ui fi (x) = 0, i = 1, . . . ,m
Condiciones KKT en problemas convexos
Cuando el problema primal es convexo, las condiciones KKT sonsuficientes para el optimo global.
Teorema: Consideremos un problema primal convexo y confunciones diferenciables. Sean x y (u, v) puntos que satisfacen lascondiciones KKT. Entonces x es la solucion del problema primal,(u, v) es la solucion del dual y p = d .
¿Verdadero o falso? Un punto x es la solucion de un problemaconvexo si y solo si verifica las condiciones KKT.
Condiciones KKT en problemas convexos
Demostracion:
I x es factible.
I L(x , u, v) es convexa en x .
I Como su gradiente se anula en x , se tiene que x es el mınimoglobal de L(x , u, v).
I Por tanto,
g(u, v) = L(x , u, v) = f (x) +m∑i=1
ui fi (x) +
p∑i=1
vihi (x) = f (x).
Dualidad fuerte para problemas convexos
En problemas convexos la dualidad fuerte no se cumple en general.Pero puede probarse bajo condiciones adicionales no restrictivas.
Condicion de Slater: en un problema convexo
minimizar f (x)s.a. fi (x) ≤ 0, i = 1, . . . ,m
Ax = b,
en el que rango(A) = p, se cumple la condicion de Slater si existex ∈ D tal que fi (x) < 0, para i = 1, . . . ,m, y Ax = b.
(Recordatorio: estamos suponiendo D abierto)
Dualidad fuerte para problemas convexos
Teorema: Si en un problema convexo se verifica la condicion deSlater, entonces p = d .
Demostracion:
I Como el primal es factible, p <∞. ¿Que ocurre si p = −∞?
I Definimos los conjuntos:
A = {(u, v , t) ∈ Rm × Rp × R : ∃x ∈ D con fi (x) ≤ ui , Ax − b = v , f (x) ≤ t}B = {(0, 0, s) ∈ Rm × Rp × R : s < p}
I A y B son convexos y disjuntos.
I Teorema de separacion: existe α ∈ R y (u, v , µ) 6= 0 tales que
1. Si (u, v , t) ∈ A, u>u + v>v + µt ≥ α.2. Si (0, 0, t) ∈ B, µt ≤ α. Es decir µt ≤ α para t < p, lo que
implica µp ≤ α.
I Por 1, u ≥ 0 y µ ≥ 0.
Dualidad fuerte para problemas convexos
I Ademas, por 1 y 2, para todo x ∈ D,
m∑i=1
ui fi (x) + v>(Ax − b) + µf (x) ≥ µp (1)
I Si µ > 0, para todo x ∈ D, L(x , u/µ, v/µ) ≥ p. Por lo tanto g(u/µ, v/µ) ≥ p yd = p, que es lo que querıamos probar.
I Usando la condicion de Slater, vamos a llegar a una contradiccion cuandoµ = 0. Por (1),
∑mi=1 ui fi (x) + v>(Ax − b) ≥ 0, para todo x ∈ D.
I Si x es el punto en el que se cumple la condicion de Slater,∑m
i=1 ui fi (x) ≥ 0,por lo que u = 0. Como (u, v , µ) 6= 0, tenemos que v 6= 0.
I Pero u = 0 y (1) implican v>(Ax − b) ≥ 0, para todo x ∈ D.
I Para λ > 0 suficientemente pequeno, x − λA>v ∈ D (abierto).
I v>[A(x − λA>v)− b] = −λ‖A>v‖2 ≥ 0. Por lo que A>v = 0.
I Como rango(A) = p, v = 0.
Dualidad fuerte para problemas convexos
Corolario: Consideremos un problema primal convexo y confunciones diferenciables, tal que se verifica la condicion de Slater.Entonces,
x y (u, v) son las soluciones del primal y del dual respectivamentesi y solo si x y (u, v) verifican KKT.
Ejemplo: Caracteriza las soluciones del problema de optimizacioncuadratico:
min1
2x>Qx + c>x s.a. Ax = b,
donde x ∈ Rn, c ∈ Rn, Q es una matriz n × n definida positiva, Aes una matriz m × n de rango m < n, y b ∈ Rm.