tema 5 dualidad y condiciones de...

43
Tema 5 Dualidad y condiciones de Karush-Kuhn-Tucker Jos´ e R. Berrendero Departamento de Matem´ aticas Universidad Aut´onoma de Madrid

Upload: ngongoc

Post on 08-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

Tema 5Dualidad y condiciones de Karush-Kuhn-Tucker

Jose R. Berrendero

Departamento de MatematicasUniversidad Autonoma de Madrid

Page 2: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 3: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 4: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 5: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 6: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 7: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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

Page 8: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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?

Page 9: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

Ejemplo

Page 10: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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

Page 11: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 12: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 13: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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).

Page 14: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 15: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 16: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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 .

Page 17: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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

Page 18: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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ı.

Page 19: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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

Page 20: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 21: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 22: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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?

Page 23: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 24: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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

Page 25: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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 .

Page 26: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 27: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 28: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 29: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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

Page 30: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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).

Page 31: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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 .

Page 32: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 33: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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?)

Page 34: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 35: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 36: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 37: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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

Page 38: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 39: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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).

Page 40: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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)

Page 41: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 42: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.

Page 43: Tema 5 Dualidad y condiciones de Karush-Kuhn-Tuckerverso.mat.uam.es/~joser.berrendero/cursos/Matematicas-IO/io-tema5... · I El problema dual. I Dualidad en optimizacion lineal. Algoritmo

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.