Optimización con restricciones
Prof. Cesar de [email protected]
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
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
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
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
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
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 =
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
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
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
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
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
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
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
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
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.
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,
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 −∇=⎥⎦
⎤⎢⎣
⎡μλ
∇∇
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
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
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
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
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
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
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
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)
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.
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
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)
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
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
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
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
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
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
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
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
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.
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
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*
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
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 μ
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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”
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.