Prof. Cesar de Prada ISA-UVA [email protected]/KKT.pdf · 2021. 7. 6. · Programación Lineal,...

70
Optimización con restricciones Prof. Cesar de Prada ISA-UVA [email protected]

Transcript of Prof. Cesar de Prada ISA-UVA [email protected]/KKT.pdf · 2021. 7. 6. · Programación Lineal,...

Page 1: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Optimización con restricciones

Prof. Cesar de [email protected]

Page 2: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA2

Indice

RestriccionesProblemas con restricciones de igualdad– Multiplicadores de Lagrange

Problemas generales NLP– Condiciones de Karush-Kuhn-Tucher (KKT)

Programación cuadrática QPMétodo de Wolfe, SLPFunciones de penalización

Page 3: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA3

Restricciones

En la mayor parte de los problemas de toma de decisiones están presentes ligaduras entre las variables o limitaciones en las mismas

Unas debidas a las ecuaciones del modelo

Otras al rango permisible de unas variables

Otras debidas a reglas de operación, existencias, etc.

Por ello un problema de optimización a menudo se formula como:

0g(x)0h(x)

x

≤=

)(min Jx

Problema de optimización no-lineal con restricciones NLP

Page 4: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA4

Restricciones

La presencia de restricciones limita el espacio de búsqueda pero, al mismo tiempo, dificulta el encontrar la solución óptima porque se pierden algunos de los criterios de optimalidad como que el gradiente es nulo en el óptimo

x1

x2

Región factible

Una política conducente a calcular el óptimo sin restricciones y luego limitarlo al contorno de la región factible lleva a soluciones incorrectas

Page 5: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA5

Restricciones de igualdad

0)(

)(min

=xh

xxJ

Hay una categoría de problemas en los cuales las variables de decisión están sujetas solo a un conjunto de ecuaciones de igualdad:

mn

xxxh

xxxhxxxh

xxxJ

nm

n

n

n

>

⎪⎪⎭

⎪⎪⎬

=

==

0),...,,(....

0),...,,(0),...,,(

),...,,(min

21

212

211

21x

Si es posible despejar m variables en función de las n-m restantes y sustituirlas en J, es posible transformar el problema en uno de optimización sin restricciones con n-m variables

Page 6: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA6

Restricciones de igualdad

22

2

2

2

21

221

221,

logmin

loglog

)(min2

2

221 x

xx

xxx

xxx

xxxx

xx +⇒=⇒⎪⎭

⎪⎬⎫

=

+

Sin embargo, en muchos casos, debido a la no-linealidad de las ecuaciones hi, no es posible aislar y despejar m variables y el procedimiento no puede emplearse, o su uso implica el uso del método de Newton para resolver las ecuaciones en una rutina de cálculo.

El procedimiento es similar si partiendo de los valores de x1,x2,…,xn-m se puede evaluar J(x1,x2,…,xn) por medio de una rutina de cálculo. En ese caso se puede aplicar un algoritmo de optimización sin restricciones sobre las variables x1,x2,…,xn-m

Page 7: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA7

Multiplicadores de Lagrange

Para problemas de optimización con restricciones de igualdad, el método de los multiplicadores de Lagrange proporciona condiciones necesarias que deben cumplirse en el óptimo. La idea es convertir el problema en otro sin restricciones ampliado en m variables λj (los multiplicadores de Lagrange) tal que su solución coincida en las variables x con el primitivo y cumpla las restricciones h(x) = 0

⎪⎭

⎪⎬⎫

= 0)(

)(min

xh

xxJ ⇒ )()(min),(min xhλ'xλx

λx,λx,+= JL

Si x* es optimo para el problema original, minimiza J(x*) y cumple h(x*) = 0, luego también tiene que ser una solución del problema de la Lagrangiana L

Para todos los x que cumplan las restricciones h(x)=0 se verifica: )(min)(min xλx,

xλx,JL =

Page 8: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA8

Multiplicadores de Lagrange

)()(min),(min xhλ'xλxλx,λx,

+= JL

La solución del problema ampliado sin restricciones es:

L(x,λ) Lagrangiana

0xh0λλx,0

xλx,

**** λ,xλ,x

=⇒=∂

∂=

∂∂ )()(,)( *LL

Que puede resolverse mediante el método de Newton. Si tiene solución, después hay que comprobar mediante el Hessiano de L que la solución x*,λ* corresponde verdaderamente a un mínimo de L respecto a x

Page 9: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA9

Cualificación de las restricciones

Para que haya solución óptima, debe cumplirse que los gradientes ∇xhj sean linealmente independientes, lo que se conoce como cualificación de las restricciones

[ ] 0

xxx

xxx

xxx

xxx

0xh0xxhλ

xx

=

⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

∂∂

λλλ+⎥⎦

⎤⎢⎣

⎡∂∂

∂∂

∂∂

==∂

∂+

∂∂

n

m

2

m

1

m

n

2

2

2

1

2

n

1

2

1

1

1

m21n21

**

*'*

x)(h

x)(h

x)(h

x)(h

x)(h

x)(h

x)(h

x)(h

x)(h

x)(J

x)(J

x)(J

)()()(J

L

MMMM

L

L

LL

Page 10: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA10

Cualificación de las restricciones

0xh

xxxx

xxxx

=

=∂

∂λ++

∂∂

λ+∂

∂λ+

∂∂

=∂

∂λ++

∂∂

λ+∂

∂λ+

∂∂

)(......

0x

)(h...x

)(hx

)(hx

)(J

0x

)(h...x

)(hx

)(hx

)(J

2

mm

2

22

2

11

2

1

mm

1

22

1

11

1

Para que haya solución óptima, debe cumplirse que los gradientes ∇xhj sean linealmente independientes, lo que se conoce como cualificación de las restricciones

Page 11: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA11

Ejemplo 1

⎪⎭

⎪⎬⎫

=+

+

4xx

xxmin

22

21

21x,x 21x1

x2

x1+x2=c

2/2x2/2x

)22/(1

44/14/1

2/1x2/1x

04xx

0x210x21

04xx)(L0x21x

)(L0x21x

)(L

)4xx(xxmin),x,x(Lmin

2

1

*

222

1

222

1

222

21

1

2221,x,x21,x,x

21

21

212121

m

m

==±=λ

⎪⎭

⎪⎬

=λ+λ

λ−=λ−=

⎪⎭

⎪⎬

=−+

=λ+=λ+

=−+=λ∂

∂=λ+=

∂∂

=λ+=∂

−+λ++=λλλ

λx,λx,λx,

Cumple la cualificación de lasrestricciones puessolo hay una

Page 12: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA12

Ejemplo 1

NDPD

200220

02

2002

xL

xxL

xxL

xL

)(

4xx)(Lx21x

)(Lx21x

)(L

)4xx(xxmin),x,x(Lmin

**

**2

1

21

212121

2

2

12

221

2

2

2

222

21

1

2221,x,x21,x,x

⎥⎦

⎤⎢⎣

⎡−

⎥⎦

⎤⎢⎣

⇒⎥⎦

⎤⎢⎣

⎡λ

λ=

⎥⎥⎥⎥

⎢⎢⎢⎢

∂∂

∂∂

∂∂

∂∂

=

−+=λ∂

∂λ+=

∂∂

λ+=∂

−+λ++=λλλ

λ,x

λ,x

x λx,H

λx,λx,λx,

Este corresponde a λ*=sqrt(2)/2: x1*= - sqrt(2)/2, x2

* = - sqrt(2)/2

Basta que el mínimo sea respecto a las variables x

Page 13: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA13

Interpretación económica de los multiplicadores de Lagrange

⎪⎭

⎪⎬⎫

= bxh

xx

)(

)(min J ⇒ [ ]bxhλ'xλxλx,λx,

−+= )()(min),(min JL

¿Cómo varía J(x*) si b cambia en una unidad?

)()( *** xλ,x JL =

''),(L')(')(J)(J

)())((

)(J)(J

***

*

***

*

*

**

*

**

*

*

**

*

*

**

λλbx

xλxλ

bx

xxhλ

xx

bx

Ibx

xxh

bbxh0

bx

xx

bx

−=−∂∂

⎥⎦

⎤⎢⎣

⎡∂

∂=−

∂∂

⎥⎦

⎤⎢⎣

⎡∂

∂+

∂∂

=∂

⎪⎪⎭

⎪⎪⎬

−∂∂

∂∂

=∂

−∂=

∂∂

∂∂

=∂

Multiplicando por λ*’ y sumando:

Los multiplicadores de Lagrange óptimos (precios sombra) dan las sensibilidades opuestas de J* respecto a las restricciones b

Page 14: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA14

Multiplicadores de Lagrange / Precios sombra de LP

¿Cómo varia J(x*) si b cambia en una unidad?

Programación Lineal, LP: Programación no Lineal con restricciones de igualdad

0

max

≥=

=

xbAx

xc'xJ

**J zb=

∂∂

La respuesta (max) usando la teoría de la dualidad de LP es la solución del dual z, denominada precio sombra

La respuesta (min) usando los multiplicadores de Lagrange es -λ,

'J **

λb

−=∂∂

⎪⎭

⎪⎬⎫

= bxh

xx

)(

)(min J

Page 15: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA15

Programación no-lineal NLP

0g(x)0h(x)

x

≤=

)(min Jx

El caso general incluye restricciones de igualdad y desigualdad en las variables de decisión x.

Suponiendo que las funciones J, g y h son continuamente diferenciables, es posible encontrar condiciones necesarias y (en ciertos casos ) suficientes de óptimo del problema NLP denominadas condiciones de Karush-Kunt-Tucker (KKT) (o solo KTC, Kunt-TackerConditions)

⎪⎪

⎪⎪

≥−≤+

=+

014

2

min

1

21

21

21

22

, 121

xxx

xx

xxxx

x12

x2

x1=1

x1+x2=2

Conjunto factible

Page 16: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA16

Condiciones de optimalidad KKT

0g(x)0h(x)

x

≤=

)(min Jx

La idea fundamental en el desarrollo de las condiciones KKT parte de la Lagrangiana, considerando que, si una restricción de desigualdad está activa en el óptimo, entonces puede tratarse como una de igualdad asignándosele un multiplicador de Lagrange μ, y si no estáactiva entonces puede ignorarse con lo que su multiplicador μ debe hacerse cero. De esta forma μ o gdeben ser cero.

0)()()()(),,( =μμ+λ+= ∑∑ xgghJL iii

iij

jj xxxμλx

Por otra parte si aumentamos el lado derecho de g(x) ≤ 0 la región factible aumenta y, por tanto, J(x) puede tener un valor menor, de forma que la sensibilidad, medida por -μ, debe ser negativa, o sea μ ≥ 0.

Page 17: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA17

Condiciones de optimalidad KKT

0g(x)0h(x)

x

≤=

)(min Jx

De esta forma, el óptimo del problema NLP debe cumplir las condiciones de óptimo de la LagrangianaL(x,λ,μ), mas las condiciones adicionales.

Para funciones continuamente diferenciables J, h y g, las condiciones necesarias de óptimo respecto a las variables x son:

⎪⎪⎪⎪

⎪⎪⎪⎪

≥=μ

≤=

=∂∂

+∂∂

+∂∂

0μ(x)0g(x)0h(x)

0xgμ

xhλ

x

0g

''J

ii

00)(g

0)(g

0)(h

0)(g)(h)(J

i

ii

i

j

iixi

jjxjx

≥μ=μ

=

=∇μ+∇λ+∇ ∑∑

xx

x

xxx

Además,∇xgi y ∇xhj para las restricciones activas en el óptimo, deben ser támbién linealmente independientes,

Page 18: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA18

Cualificación de las restricciones

La exigencia de que ∇xgi y ∇xhj (para las restricciones activas en el óptimo) sean linealmente independientes, (a fin de que el sistema de ecuaciones tenga solución) se conoce como cualificación de las restricciones y puede no ser fácil de verificar.

En ciertos casos se cumple siempre:

Cuando las restricciones son lineales

Cuando las desigualdades son convexas y las igualdades lineales y hay un punto factible en el interior de la región marcada por las desigualdades.

[ ] )(J)(g)(h xxx xxx −∇=⎥⎦

⎤⎢⎣

⎡μλ

∇∇

Page 19: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA19

En el óptimo

∑ ∇μ−=∇i

ixix )(g)(J xx)(Jx x∇

)(gix x∇

)(gix x∇

Optimo

Restricciones activas

Dado que, en el óptimo, para las restricciones activas μ >0 el gradiente de J, que es una combinación lineal de los gradientes de gj (activas), debe estar en un semiplano distinto a estos últimos

Problema con restriccionesde desigualdad

Page 20: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA20

Condiciones KKT de suficiencia de primer orden

0g(x)0h(x)

x

≤=

)(min Jx

Si la función J es convexa, las restricciones giconvexas y las restricciones de igualdad hj son lineales, entonces la región factible es convexa y si existe una solución de las condiciones KKT, entonces dicha solución es el óptimo global del problema NLP

00)(g

0)(g0)(h

0)(g)(h)(J

i

ii

i

j

iixi

jjxjx

≥μ=μ

=

=∇μ+∇λ+∇ ∑∑

xxx

xxx

Page 21: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA21

Ejemplo 2

⎪⎪

⎪⎪

≤+−≤+

=+

014

2

min

1

22

21

21

22

, 121

xxx

xx

xxxx

x1

x2

2

x1=1

x1+x2=2

Conjunto factible

0)1(01

0)4(4

002021

022

121

221

222121

21

2111

2121

=+−μ≤+−

=−+μ≤+

≥μ≥μ=+=μ+λ+−

=μ−μ+λ+

xx

xxxx

xxxxx

00)(

0)(

0)(

0)()()(

≥μ=μ

=

=∇μ+∇λ+∇ ∑∑

i

ii

i

j

iixi

jjxjx

gg

h

ghJ

xx

x

xxx

¿Cumple las condiciones de suficiencia de primer orden? Si

x*(1,1)

)1()4()2(),,( 1222

211212

21 +−μ+−+μ+−+λ+−= xxxxxxxL μλx

Page 22: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA22

Ejemplo 2

01)1(2

042

1)1(2

22

1)1(2

21

)1(2

0)1(01

0)4(4

002021

022

21

2

1

2

1

2

1

2

11

2

12

1

21

121

221

222121

21

2111

2121

=μ⎥⎦

⎤⎢⎣

⎡+

μ+λ+μ−

=μ⎥⎥⎦

⎢⎢⎣

⎡−⎟⎟

⎞⎜⎜⎝

⎛μλ−

+⎟⎟⎠

⎞⎜⎜⎝

⎛μ+λ−μ

=μλ−

+μ+λ−μ

μλ−

=

μ+λ−μ

=

⎪⎪⎪

⎪⎪⎪

=+−μ≤+−

=−+μ≤+

≥μ≥μ=+=μ+λ+−

=μ−μ+λ+ x

x

xx

xxxx

xxxxx

Page 23: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA23⎪⎪⎪

⎪⎪⎪

=+μ+λ+μ−

=−⎟⎠

⎞⎜⎝

⎛μλ−

+⎟⎠

⎞⎜⎝

⎛μ+λ−μ

=μλ−

+μ+λ−μ

≠μ≠μ

⎪⎪⎩

⎪⎪⎨

=μλ−

+μ+λ−

=−⎟⎠

⎞⎜⎝

⎛μλ−

+⎟⎠

⎞⎜⎝

⎛μ+λ−

⇒≠μ=μ

⎪⎪⎩

⎪⎪⎨

=+μ+λ+μ−

=μλ−

+μ+λ−μ

≠μ=μ

⎩⎨⎧

=μλ−

+μ+λ−μ

=μ=μ

⎪⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪⎪

=μ⎥⎦

⎤⎢⎣

⎡+

μ+λ+μ−

=μ⎥⎥⎦

⎢⎢⎣

⎡−⎟

⎞⎜⎝

⎛μλ−

+⎟⎠

⎞⎜⎝

⎛μ+λ−μ

=μλ−

+μ+λ−μ

μλ−

=

μ+λ−μ

=

01)1(2

042

1)1(2

22

1)1(2

0,0 si

22

1)1(2

042

1)1(20,0 si

01)1(2

22

1)1(20,0 si

22

1)1(2

0,0 si

01)1(2

042

1)1(2

22

1)1(2

21x

)1(2x

1

2

2

1

2

1

2

11

2

21

11

2

1

2

112

1

2

11

2

21

11

221

21

2

1

2

1

2

1

2

11

2

12

1

21

Deben examinarse todas las alternativas para encontrar posibles soluciones

Page 24: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA24 NFxx

NF

2,0

0,4/122)1(2

14224

)1(21441

4/54/112)1(2

11

411

0)1)(4)1((42

12

142

14

42

12

12

212

)1(2

22

1)1(2

042

1)1(2

21

11

1

1

1

1

11

111

11

2

11

2

1

2

1

2

1

11

11

2

1

2

1

==

=λ=μ→=+μ+−μ

=μμ

+μ+−μ

→μ=λ−

−=μ−=μ+=μ+

−→=λ

⎩⎨⎧

μ=λ−=λ

=λ−μ−λ−=⎟⎟⎠

⎞⎜⎜⎝

⎛μλ−

+μλ−

−⎟⎟⎠

⎞⎜⎜⎝

⎛μλ−

+

=⎟⎟⎠

⎞⎜⎜⎝

⎛μλ−

+⎟⎟⎠

⎞⎜⎜⎝

⎛μλ−

μλ−

−=μ+λ−

⎪⎪⎭

⎪⎪⎬

=μλ−

+μ+λ−

=−⎟⎟⎠

⎞⎜⎜⎝

⎛μλ−

+⎟⎟⎠

⎞⎜⎜⎝

⎛μ+λ−

Detalle de la resolución μ2=0, μ1≠0

Page 25: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

25

Ejemplo 2

{{

{ 1,1,3,0;10,0 si1,4/5

2,0,0,4/10,0 si

1,1,3,10,0 si2/5,2/1,10,0 si

01)1(2

042

1)1(2

22

1)1(2

21

)1(2

212121

1

21121

21221

2121

21

2

1

2

1

2

1

2

11

2

12

1

21

===μ=μ=λ≠μ≠μ⎩⎨⎧

=λ−=μ===λ=μ

=μ≠μ

===μ=λ≠μ=μ=−==λ=μ=μ

⎪⎪⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪⎪⎪

=μ⎥⎦

⎤⎢⎣

⎡+

μ+λ+μ−

=μ⎥⎥⎦

⎢⎢⎣

⎡−⎟⎟

⎞⎜⎜⎝

⎛μλ−

+⎟⎟⎠

⎞⎜⎜⎝

⎛μ+λ−μ

=μλ−

+μ+λ−μ

μλ−

=

μ+λ−μ

=

xxNF

NFxxxx

NFxxx

x

Solución óptima

Page 26: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA26

Cualificación de las restricciones

⎪⎪

⎪⎪

≤+−≤+

=+

014

2

min

1

22

21

21

22

, 121

xxx

xx

xxxx

Restricciones activas

Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3

20111

01

11

=⎥⎦

⎤⎢⎣

⎡ −⎥⎦

⎤⎢⎣

⎡−=∇⎥

⎤⎢⎣

⎡=∇ rangogh xx

Son linealmente independientes, luego se cumple la cualificación de las restricciones

∇xh(x*), ∇xg(x*) (activas)

Page 27: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA27

Sensibilidad

cg(x)bh(x)

x

≤=

)(min Jx

')(')( **

**

μcxλ

bx

−=∂

∂−=

∂∂ JJ

A partir de la interpretación de las condiciones KKT como multiplicadores de Lagrange, se puede establecer la siguiente relación para las sensibilidades:

La cual nos permite deducir como cambia la función de costo cuando las restricciones se relajen en una unidad, lo cual es importante enproblemas de toma de decisiones.

Page 28: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA28

Ejemplo 2

⎪⎪

⎪⎪

≤+−≤+

=+

−=

014

2

min),(min

1

22

21

21

22

,21, 12121

xxx

xx

xxxxJxxxx

Restricciones activas

Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3, J=0

¿Como varia el valor óptimo de la función de coste J si se aumenta el término derecho de las restricciones en una unidad?

Sensibilidades: -1,0,-3Si aumentasen una unidad cada una manteniendo las otras, la primera mejoraría en una unidad el costo J, no influiría en la segunda y la tercera mejoraría J en tres unidades

Page 29: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA29

Condiciones de segundo orden

Las condiciones de KKT son expresiones de primer orden que pueden dar lugar a máximos, mínimos o puntos de silla de la Lagrangiana L(x,λ, μ) en (x*,λ*,μ*).

Las condiciones de segundo orden permiten determinar si se trata de un mínimo respecto a las variables x y proporcionan condiciones suficientespara la optimalidad de la solución. Vienen dadas por la condición sobre el Hessiano:

0zxgxh

zμλxz =⎥⎦

⎤⎢⎣

⎡∇∇

∀>∇)(

)(|0),,(' *

****2

actx

xx zL

De modo que el Hessiano de L respecto a x es PD para todos los vectores z ortogonales a los gradientes de las restricciones activas en x*. Estos vectores dan origen al plano tangente a dichas restricciones. Para la necesidad basta con que el Hessiano sea PSD. (gact son restricciones activas)

Page 30: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA30

Ejemplo 2

⎪⎪

⎪⎪

≤+−≤+

=+

014

2

min

1

22

21

21

22

, 121

xxx

xx

xxxx

Restricciones activas

Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3

⎩⎨⎧

=μ+λ+−=μ−μ+λ+

021022

21

2111

xxx

Lagrangiana

Hessiano respecto a x

[ ] 020002

'20022 2*

1

1

22

2

12

221

2

21

2

>=⎥⎦

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡−=⎥

⎤⎢⎣

⎡μ

μ+=

⎥⎥⎥⎥

⎢⎢⎢⎢

∂∂

∂∂∂

∂∂∂

∂∂

= zzz

zzH

xL

xxL

xxL

xL

H xx zz

[ ]

[ ] 0001

0011

12

1

212

1

=−=⎥⎦

⎤⎢⎣

⎡−

=+=⎥⎦

⎤⎢⎣

zzz

zzzz

[ ] 00

0002

0 =⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡z

zCumple necesidad pero no la suficiencia

Vectores de planos tangentes

0zxgxh

zμλxz =⎥⎦

⎤⎢⎣

⎡∇∇

∀>∇)(

)(|0),,(' *

****2

actx

xx zL

)1()4()2(),,( 1222

211212

21 +−μ+−+μ+−+λ+−= xxxxxxxL μλx

0)()()( =∇μ+∇λ+∇ ∑∑i

ixij

jxjx ghJ xxx

Page 31: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA31

Ejemplo 3

⎪⎪⎭

⎪⎪⎬

≤−−

≤−+−

++

04

02

)3(min

221

21

22

21, 21

xx

xx

xxxx

x1

-x1+x2 ≤ 2x12-x2 ≤ 4

00)(

0)(

0)(

0)()()(

≥μ=μ

=

=∇μ+∇λ+∇ ∑∑

i

ii

i

j

iixi

jjxjx

gg

h

ghJ

xx

x

xxx

04

0200)4(

00)2(0)1()1(2

02)1()3(2

221

21

22221

1121

212

1211

≤−−

≤−+−≥μ=μ−−

≥μ=μ−+−=−μ+μ+

=μ+−μ++

xx

xxxx

xxx

xx

x2

)4()2()3(),,( 2212211

22

21 −−μ+−+−μ+++= xxxxxxL μλx

Page 32: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA32

Ejemplo 3

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

=μ⎟⎟⎠

⎞⎜⎜⎝

⎛−

μ−μ−⎟⎟

⎞⎜⎜⎝

⎛μ+−μ

=μ⎟⎟⎠

⎞⎜⎜⎝

⎛−

μ−μ+

μ+μ−

μ−μ=

μ+−μ

=

⎪⎪⎪⎪

⎪⎪⎪⎪

≤−−

≤−+−≥μ=μ−−

≥μ=μ−+−=−μ+μ+

=μ+−μ++

042)1(2

6

022)1(2

62

)1(26

04

0200)4(

00)2(0)1()1(2

02)1()3(2

212

2

2

1

112

2

1

122

2

11

221

21

22221

1121

212

1211

x

x

xx

xxxx

xxx

xx

NFxx

NFxx

⎩⎨⎧ −=−==μ→=−

μ−+

μ−=μ≠μ

=−=→=μ=μ

2/1,2/5,10222

60,0 si

0,30,0 si

21111

21

2121

Page 33: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA33

Ejemplo 3

⎪⎪⎩

⎪⎪⎨

=−μ−μ

−⎟⎟⎠

⎞⎜⎜⎝

⎛μ+−μ

=−μ−μ

+μ+μ−

≠μ≠μ

⎪⎪⎪

⎪⎪⎪

=−=−−=μ

=μ+μ+μ

−μ+

≠μ=μ

⎪⎪⎪⎪⎪

⎪⎪⎪⎪⎪

=μ⎟⎟⎠

⎞⎜⎜⎝

⎛−

μ−μ−⎟⎟

⎞⎜⎜⎝

⎛μ+−μ

=μ⎟⎟⎠

⎞⎜⎜⎝

⎛−

μ−μ+

μ+μ−

μ−μ=

μ+−μ

=

042)1(2

6

022)1(2

6

0,0 si

23.0,06.246.0,87.2,58.7

101710

42)1(4

36

0,0 si

042)1(2

6

022)1(2

62

)1(26

122

2

1

12

2

1

21

21

2

222

32

22

2

21

212

2

2

1

112

2

1

122

2

11

NFxx

x

x

⎪⎩

⎪⎨⎧

−=μ→=+μ+μ−

→=μ−μ

=−==μ=μ→μ=μ

μ−μ=μ−μ→=μ−μ

−⎟⎠⎞

⎜⎝⎛ −

μ−μ

NF

xx

4.140611610

0,2,5/2,5/2

)(10)(42

22

11

112

212112

122

1212

212

Optimo, por ser la región convexa y J convexa

Page 34: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA34

Cualificación de las restricciones

⎪⎪⎭

⎪⎪⎬

≤−−

≤−+−

++

04

02

)3(min

221

21

22

21, 21

xx

xx

xxxx Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1

Restricciones activas

∇xh(x*), ∇xg(x*) (activas)

21141

1)2(2

11

21 =⎥⎦

⎤⎢⎣

⎡−−−

⎥⎦

⎤⎢⎣

⎡−−

=∇⎥⎦

⎤⎢⎣

⎡−=∇ rangogg xx

Son linealmente independientes, luego se cumple la cualificación de las restricciones

Page 35: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA35

Sensibilidad

¿Como varia el valor óptimo de la función de coste J si se aumenta el término derecho de las restricciones en una unidad?

Sensibilidades: -2/5,-2/5Si aumentasen una unidad cada una manteniendo la otra, J mejoraría en 2/5 en cada caso

⎪⎪⎭

⎪⎪⎬

≤−−

≤−+−

++

04

02

)3(min

221

21

22

21, 21

xx

xx

xxxx Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1

Restricciones activas

Page 36: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA36

Ejemplo 3

Hessiano respecto a x

[ ] 05/140005/14

'20022 2*2

22

2

12

221

2

21

2

>=⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡ μ+=

⎥⎥⎥⎥

⎢⎢⎢⎢

∂∂

∂∂∂

∂∂∂

∂∂

= zzz

zzH

xL

xxL

xxL

xL

H xx zz

[ ] 05/14400

05/144 2 >=⎥

⎤⎢⎣

⎡−⎥

⎤⎢⎣

⎡− z

zz

zz

⎪⎪⎭

⎪⎪⎬

≤−−

≤−+−

++

04

02

)3(min

221

21

22

21, 21

xx

xx

xxxx

Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1

Restricciones activas

Cumple la suficiencia

⎩⎨⎧

=−μ+μ+=μ+−μ++

0)1()1(202)1()3(2

212

1211

xxx

[ ]

[ ] 0401)2(2

0011

212

1

212

1

=−−=⎥⎦

⎤⎢

Lagrangiana

⎡−−

=+−=⎥⎦

⎤⎢⎣

⎡−

zzzz

zzzz

Vectores de planos tangentes

0zxgxh

zμλxz =⎥⎦

⎤⎢⎣

⎡∇∇

∀>∇)(

)(|0),,(' *

****2

actx

xx zL

Condiciones de 2º orden

)4()2()3(),,( 2212211

22

21 −−μ+−+−μ+++= xxxxxxL μλx

0)()()( =∇μ+∇λ+∇ ∑∑i

ixij

jxjx ghJ xxx

Page 37: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA37

Ejemplo 4

V=20V +-

R

10Ω

i

Encontrar el valor de R de modo que se maximice la potencia absorbida en dicha resistencia

( )⎪⎭

⎪⎬⎫

≥+

⎭⎬⎫

+==

010

400min1020

22

RR

R

IIRRIP

R

Page 38: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA38

Solución de problemas NLP

La solución analítica de un problema NLP utilizando las condiciones KKT solo es posible en casos sencillosExisten varias alternativas prácticas para abordar la solución numérica de un problema NLP.

– Explotar la estructura particular del mismo (QP, Wolfe,..)– Transformar el problema en otro equivalente sin

restricciones (Funciones de penalización)– Sucesión de problemas aproximados mas sencillos (SLP,

Cutting Plane,..)– Resolución aproximada secuencial de las condiciones KKT

(SQP)– Métodos tipo gradiente (GRG)– Etc.

Page 39: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA39

Programación Cuadrática (QP)

Al igual que existen muchos problemas prácticos de interés tipo LP, otro tipo particular de problemas de optimización con restricciones que tienen mucha aplicación son los denominados de Programación Cuadrática, o QP, en que la función de costo es cuadrática en las variables de decisión y las restricciones son lineales.

Se pueden encontrar formulaciones equivalentes que expresan el problema en términos de restricciones de desigualdad, como maximización, etc. Para ello se utilizan las mismas técnicas de variables de holgura, cambios de signo, etc. Que en la LPQ (n x n) simétrica

A (m x n) rango m < n

0

'21)(min

≥=

+=

xbAx

Qxxxc'xJx

Page 40: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA40

Programación cuadrática

x1

x2

x*

A diferencia de la programación lineal, en el caso de la programación cuadrática el óptimo puede encontrarse en el interior o en el contorno de la región factible

x1

x2

x*

Page 41: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA41

Programación cuadrática (QP)

0

'21)(min

≤−=−

+=

x0bAx

Qxxxc'xJx

Al ser A de rango m, los gradientes ∇xh = A, ∇xg = -I son independientes y se cumple la cualificación de las restricciones

Si la matriz Q es positiva semi-definida, entonces J es convexa, y como la región factible, si existe, también lo es, una solución local del problema es un óptimo global y puede encontrarse resolviendo las condiciones KKT

Si Q no es PSD, entonces pueden existir óptimos locales o no existir solución y las condiciones KKT solo son necesarias.

Técnicas de solución:

Mediante las condiciones KKT

Conjuntos activos

Métodos mas generales (Wolfe)

Otros

Page 42: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA42

Resolución mediante KKT (Dantzing-Wolfe)

0

'21)(min

≤−=−

+=

x0bAx

Qxxxc'xJx

xμ'bAxλQxxxc'μλx −−++= )(''21),,(L

Lagrangiana:

Condiciones KKT:

0,

'

=≥≥

==−++

xμ'0μ0x

bAx0μλAQxc

Ecuaciones lineales excepto por μ’x = 0, ó x ó μ son cero.

Se puede encontrar una solución factible del conjunto de ecuaciones lineales en (x,λ,μ) como un problema LP en dichas variables con el algoritmo simplex tipo I, y mantener la condición μ’x=0 imponiendo como regla de cambio de pivote que no esten simultáneamente en la base columnas con componentes del vector (x,λ,μ) distintas de cero en x y en μ

Page 43: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA43

Resolución mediante KKT

⎥⎦

⎤⎢⎣

⎡−=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎦

⎤⎢⎣

⎡ −−

⎪⎭

⎪⎬

≥=

=−−++

=

=≥≥−=

⇒⎪⎭

⎪⎬

≥≥=

=−++

bc

μδσx

0z000AIA'A'Q

0zbAx

0μδσAQxc

xμ'μ)δ,σ,(x,z0δ0,σδσλ

0μ0xbAx

0μλAQxc

)('

0',

'La condición μ’x=0 se impone a traves de reglas sobre las columnas en las operaciones de pivote

[ ] ⎪⎭

⎪⎬

≥≥=⎥⎦

⎤⎢⎣

0,

)1,...1,1(max

ν0zβ,zν

MI

ννz, Problema tipo Fase I del simplex cuya solución

óptima, si ν*=0, da la solución de las condiciones KKT

Page 44: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA44

Conjuntos activos (Active set)

Está indicado para problemas formulados en términos de desigualdades lineales. El método hace uso del hecho que, en un determinado paso del algoritmo, las restricciones activas (cuyos índices forman el conjunto activo Λ) hay que considerarlas como igualdades, mientras que las no activas pueden eliminarse de la formulación momentáneamente

En cada paso del algoritmo el problema a resolver es del tipo:

Λ

⎪⎭

⎪⎬⎫

Λ∈=β−

+=P

i

J

i 0'

'21)(min

xa

Qxxxc'x

i

x

En el que no existen restricciones tipo ≤ , y puede resolverse mas facilmente, p.e. por sustitución o multiplicadores de Lagrange

0bAx

Qxxxc'x

=≤

+= '21)(Jmin

x

Page 45: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA45

Método de los conjuntos activos

1. Escoger xk y calcular Λ2. Resolver el problema , PΛ, asociado

con igualdades en Λ. Sea θk la solución y λk sus multiplicadores de Lagrange

3. Calcular xk+1=xk+αk(θk-xk) Si θk no verifica una restricción que no estáen Λ (αk <1) añadir el índice a Λ

4. Si los λk que corresponden a desigualdades son todos ≥ 0, entonces θk es óptimo. En caso contrario eliminar el índice p correspondiente al menor de ellos de Λ

5. Hacer k=k+1 y volver a 2

x1

x2

θk

xk

xk+1

⎟⎟

⎜⎜

−−

=α<−

Λ∉ )(min,1min

0)( kk

i

ikβ

kxθ'ax'a

i

ki

xθ'a ki

Page 46: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA46

Ejemplo QP (Dinámico)

K es

d s−

+τ 1PID +

w ye u

wy

error = w - y ( función lineal de Kp , Ti, Td )

0,0,0

MISE )(min

p

2

,,

≥≥≥

∫di

TTK

TTK

dttedip

Page 47: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA47

Método de Wolfe

El algoritmo de Wolfe está orientado a resolver problemas algo mas generales que los de tipo QP: Aquellos en los que la función de costo no tiene por que ser cuadrática, aunque se mantienen las restricciones lineales0

)(min

≥≤

xbAx

xJx

Se resuelve mediante una sucesión de problemas LP aproximados

En concreto sustituye J(x) por una aproximación de primer orden, y usa el resultando de este problema para definir un dirección de búsqueda factible en la que se mejora J(x) respetando las restricciones

Page 48: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA48

Método de Wolfe

0

)(min

≥≤

xbAx

xJx

Partiendo de un xk factible, se resuelve el problema linealizado en xk de tipo LP:

0

))(()(min

≥≤

−∇+

xbAx

xxxx xx kkk JJxk xk+1

Por ser un problema LP tiene una solución óptima en un vértice x$ y por tanto :

x$

))((0))(()()(

))(()())(()()($$

$

kkkxkkkxkk

kkkxkkkkxkk

JJJJ

JJJJJ

xxxxxxxx

xxxxxxxxx

−∇≥⇒−∇+≥

−∇+≥−∇+=

Con lo cual la dirección xk$ - xk es una en la que J(x) disminuye

Page 49: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA49

Método de Wolfe

xk xk+1 xk$

Región factibleEl segundo paso del algoritmo consiste en minimizar J(x) en la dirección xk

$ - xken el segmento entre xk y xk

$ el cual es factible. Esto es una optimización escalar que se resuelve fácilmente.

)(

))((min

$*1

$

kkkkk

kkkkJk

xxxx

xxx

−σ+=

−σ+

+

σ

De esta forma se determina un nuevo xk+1 iterandose hasta que se cumpla una condición del tipo:

xk

xk+1

xk+1$

20

1 ε≤+ε−+

k

kk

xxx

30

1

)()()(

ε≤+ε

−+

k

kk

JJJxxx

Page 50: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA50

Compresor con tres etapas

La potencia consumida por un compresor adiabático reversible en el que la entrada está a la temperatura T es:

gases constante

11

1

==γ

⎥⎥

⎢⎢

⎡−⎟⎟

⎞⎜⎜⎝

⎛−γγ

=γ−γ

Rcc

PPqRTW

v

p

ent

salq moles/h T ºK γ = 4/3

Si un gas entra a 1bar y debe salir a 64 bares manteniendo q y T constantes, ¿cuales deben ser las presiones de trabajo de cada etapa intermedia para gastar la mínima energía?

M

qP0

T

P1

T

P2P3

T T

Page 51: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA51

Compresor

M

La potencia total consumida será la suma de la que consume cada compresor

32101

41

2

341

1

241

0

1

,

34

PPPPP

PP

PP

PPqRTWTotal

≤≤≥

⎥⎥

⎢⎢

⎡−⎟⎟

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛=

qP0

T

P1

T

P2P3

T T

64,1

64min

211

41

2

41

1

241

1, 21

≤≤≥

⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛+

PPPPP

PPPP

Page 52: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA52

Compresor / Método de Wolfe

640

1

64min

2

21

1

41

2

41

1

241

1, 21

≤≤−−≤−

⎟⎟⎠

⎞⎜⎜⎝

⎛+⎟⎟

⎞⎜⎜⎝

⎛+

xxx

xxx

xxxx

x1

x2

1

64

x2=x1

Punto factible inicial x1=2,, x2 =10

Linealización:

64x0xx

1x

))10x(00238.0)2x(0383.0)10,2(J(min

00238.0)x64x(x25.0xJ

0383.0)xx1(x25.0xJ

2

21

1

21x,x

10,25.0

225.025.0

175.0

210,22

10,25.0

125.0

275.0

110,21

21

≤≤−−≤−

−−−−

−=−=∂∂

−=−=∂∂

−−−

−−

))(()( kkk JJ xxxx x −∇+

J(2,10)=4.275

Page 53: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA53

Compresor / Método de Wolfe

x1

x2

1

64

x2=x1

640

1

)00238.00383.0(min

2

21

1

21, 21

≤≤−−≤−

−−

xxx

x

xxxx

Problema LP equivalente, puede resolverse gráficamente.

x1

x2

1

64

x2=x1

(64,64)

Optimo LP: (64,64)

(2,10)

(64,64)

Costo: -0.0383x1 – 0.00238x2 = c < 0

x2 = -16.09x1-420.16 c

Proporciona una dirección de minimización de J

Page 54: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA54

Compresor / Método de Wolfe

Paso 2: minimización en el segmento (2,10) a (64,64)

10

))1064(10),264(2(min

≤α≤

−α+−α+αJ

x1

x2

1

64

x2=x1

(64,64)

Puede resolverse por interpolación, sección dorada, etc. Solución: α* = 0.027

Nuevo punto:

x1= 2+0.027 62=3.69

x2= 10+0.027 54=11.47

J=4.25

(2,10)

Se continua iterando hasta que no haya mejora apreciable

Page 55: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA55

Programación lineal sucesiva SLP

Mxxm0xxxgxg0xxxhxh

xxxx

0g(x)0h(x)

x

≤−≤⎪⎭

⎪⎬

≤−∇+=−∇+

−∇+

≈⎪⎭

⎪⎬

≤= k

kkxk

kkxk

kkxkxxJJJ

))(()())(()(

))(()(min)(min

Una extensión natural del método de Wolfe aplicable al problema general NLP es linealizar J(x) y las restricciones en torno al punto xk con lo que resulta un problema LP aproximado cuya solución xk

* se supone estarámas próxima al óptimo NLP. A continuación se toma xk+1=xk

* y se vuelve a linealizar J(x) y las restricciones iterándose hasta llegar a un punto en que no hay cambio apreciable en J y en x

Se añaden restricciones sobre las máximas desviaciones del punto de linealización que aseguran que esta es aceptable

Page 56: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA56

Métodos de Penalización

La idea básica es transformar el problema NLP

0g(x)0h(x)

x

≤=

)(min Jx

En otro sin restricciones tal que su solución se aproxime a la del NLP

∑η+=ηi

iiiixxghPJV ),()(min),(min (x)(x)xx

V es la función a minimizar que añade a J las funciones de penalización Pi. ηi son parámetros que se va ajustando a lo largo del algoritmo para acercar la minimización de V a la solución del problema NLP

Page 57: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA57

Funciones de Penalización

La principal característica de las funciones de penalización P, es quetienden a cero cuando se satisface las restricciones, pero toma un valor muy grande cuando éstas son violadas. De manera tal que el algoritmo no realiza la búsqueda del mínimo de V en esta región. Las penalizaciones P modifican la función de coste original J, incrementando su valor en aquellas regiones donde no se satisfacenlas restricciones.

∑η+=ηi

iiiixxghPJV ),()(min),(min (x)(x)xx

gi(x)

PFunciones de Penalización para: gi (x) ≤ 0

h(x)

P Funciones de Penalizaciónpara: h(x) = 0

Page 58: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA58

Funciones de Barrera/Penalización

gi(x)

P

gi(x)

P

Penalizaciónexterna

Penalizacióninterior o de barrera

h(x)

PPenalizaciónparabólica

Penalización: Si se violan las restricciones, entonces P toma valoresmuy grandes. El óptimopuede violar ligeramentelas restricciones

h(x) = 0gi(x) ≤ 0

gi(x) ≤ 0 Barrera: si el valor de gi(x) se aproxima a la restricción, entonces P toma un valor muygrande. Fuerza a que x se encuentre dentro de la regiónfactible

Page 59: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA59

Funciones de Penalización

0)( =xhRestricciones de Igualdad

h(x)

PPenalización parabólica ηh(x)2

Si h(x) se desvía del valor de cero , entonces la función P crececuadráticamente, penalizando los valores de V(x) en los puntos no factibles. El parámetro η proporcionala magnitud de la penalización.

P, función continua con derivadas continuas

Se debe adicionar un términoη(hi(x))2 a la función objetivo J, porcada una de las restricciones de igualdad existentes. h(x)

P Valor Absolutoη|h(x)|, discontinuasen h(x) = 0

Page 60: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA60

Ejemplo de restricción de igualdad

⎪⎭

⎪⎬⎫

=−+−

++

02

)3(min

21

22

21, 21

xx

xxxx

x1

-x1+x2 = 2x2Problema original

221

22

21,

)2()3(min21

−+−η+++ xxxxxx

Matlab

x1

-x1+x2 = 2

x2Curvas de nivel deformadas que fuerzan soluciones en torno a la restricción –x1+x2=2

(Aunque el problema es díficilnuméricamente al aumentar η)

Conjunto factible

Problema con la penalización añadida

Page 61: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA61

Ejemplo 1

η =0 funciónoriginal J(x)

η =1 Función de PenalizaciónV(x)=J(x)+ ηP

η =10 Funciónde PenalizaciónV(x)=J(x)+ ηP

El mínimo de J(x) se encuentraalrededor de h(x)=0

Page 62: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA62

Funciones de Penalización0)( ≤xgRestricciones de desigualdad

PPenalizaciónExterior

Penalización Infinita

g(x)⎩⎨⎧

>≤

=0)(g fi)(g10

0)(g fi0))(g(P 20 xx

xx

Principal inconveniente: discontinua en g(x) = 0

PPenalización exterior

Penalización cuadrática asimétrica (brakets)

g(x)

[ ]2))(g,0max())(g(P xx =

Continua y con derivadas continuas

Al igual que con otras funciones de penalización: se pueden violar ligeramente las restricciones

Page 63: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA63

Funciones de Penalización

P

Principal inconveniente: discontinuidades en h(x) = 0 and g(x) = 0

g(x)

Penalización Exacta

En problemas con restricciones de igualdad y desigualdad el mínimode la función de coste:

∑∑ σ+ω+j

jii

ii ghJ ))(,0max()()(min xxxx

Coincide exactamente con el óptimo x* de un problema NLP si los pesos ωi, σj satisfacen:

** 00 iiii μ≥σ≤λ≥ω≤

donde x*,λ*, μ* son la solución de lascondiciones de KKT. Luenberger (1984)

h(x)

P

Page 64: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA64

g(x)

P Función de barrera o interior

Barrera Logarítmica

))(ln())(( xx ggP −−=

Los puntos que se encuentran dentrode la región factible se favorecen, mientras que los que se encuentrancercanos a g(x) se penalizan. Se construye una barrera infinita antes de las restricciones

P es continua, pero si por alguna razón, lasrestricciones se violan, es muy difícil volvera la situación anterior

Funciones de Barrera

Nótese que con funcionesde barrera, el parámetro ηtiene que decrecerprogresivamente para quepermita un punto cercano a las restricciones

Page 65: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA65

Número de Condición del Hessiano

Cuando el parámetro η se modifica para forzar a que los ptos. xk del algoritmo esténpróximos a modificar la forma de los contornos de lasrestricciones, el problema de mal condicionamiento se incrementa. Un número de condición de 105

es moderadamente grande, 109

es grande y 1014 muy grande portanto métodos basados en la inversa del hessiano no funcionará.

x1

-x1+x2 = 2

x2

Page 66: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA66

Algoritmos con funciones de penalización

1. Formular el problema NLP como uno sin restricciones con funciones de penalización añadidas V(x,η) = J(x) + Σηi Pi(gi(x),hi(x))

2. Resolver el problema de minimizar V respecto a x con un valor de ηi fijo

3. Modificar cada ηi de acuerdo a una cierta regla, aumentándolos si P es una penalización exterior y disminuyéndolos si es una barrera interior

4. Comprobar las condiciones de finalización, si no se cumplen volver al paso 2

Page 67: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA67

Ejemplo de restricciones de desigualdad

⎪⎭

⎪⎬⎫

≤−−

++

04

)3(min

221

22

21, 21

xx

xxxx

x1

x12-x2 ≤ 4x2

Problema original

Región factible

Problema con penalización añadida tipo cuadrática asimétrica

⎩⎨⎧

>−−−−≤−−

=

η+++

04 si )4(04 si 0

))((

))(()3(min

221

22

21

221

22

21, 21

xxxxxx

xgP

xgPxxxx

Matlab-4 -3 -2 -1 0 1 2 3

-8

-7

-6

-5

-4

-3

-2

-1

0

1

η = 2

Page 68: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA68

Ejemplo 2

η =0 funciónoriginal J(x)

η =5 función de penalizaciónV(x)=J(x)+ ηP

El mínimo se encuentra dentro de la región g(x)≤0

-3 -2 -1 0 1 2-6

-5

-4

-3

-2

-1

0

-4-2

02

4

-6-4

-20

20

200

400

600

800

Page 69: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA69

Restricciones duras y blandas

Las restricciones se suelen clasificar en duras (hard) y blandas (soft). Las primeras son aquellas que, como las leyes físicas, ciertos límites, etc., deben cumplirse estrictamente. Las segundas son aquellas en las que se permite una cierta desviación sobre el límite, como en especificaciones, capacidades,..El concepto de penalización es útil cuando se considera que

existen restricciones blandas en las cuales se puede permitir una cierta violación de las mismas a costa de pagar un precio por ello. Los problemas con funciones de penalización se denominan a veces “elásticos” en contraposición a las formulaciones clasicas “inelásticas”

Page 70: Prof. Cesar de Prada ISA-UVA prada@autom.uvaprada/KKT.pdf · 2021. 7. 6. · Programación Lineal, LP: Programación no Lineal con restricciones de igualdad 0 max ≥ = = x Ax b c'x

Cesar de Prada ISA-UVA70

Factibilidad / variables de holgura

Un procedimiento alternativo a las funciones de penalizaciónpara usar restricciones “blandas” y garantizar que existesolución factible con métodos tipo LP, QP, SLP, SQP, etc. es la introducción de variables de holgura en el lado derecho de lasrestricciones, que deben minimizarse, acompañadas de sucorrespondiente penalización en el índice J.

0δδg(x)εh(x)

δδ'εε'x

≥≤=

β+α+δε

)(Jmin,,x

Si existe solución factible del problema original, obviamente el optimo dara ε = 0, δ = 0, y se tienela misma solución. Pero si no existe, ε y δ amplian la regiónfactible, justo lo mínimo para queexista dicha solución factible.