Optimización con restricciones

Anuncio
Optimización con restricciones
Prof. Cesar de Prada
ISA-UVA
[email protected]
Indice
z
z
Restricciones
Problemas con restricciones de igualdad
–
z
Problemas generales NLP
–
z
z
z
2
Multiplicadores de Lagrange
Condiciones de Karush-Kuhn-Tucher (KKT)
Programación cuadrática QP
Método de Wolfe, SLP
Funciones de penalización
Cesar de Prada ISA-UVA
Restricciones
En la mayor parte de los problemas de toma de decisiones están presentes
ligaduras entre las variables o limitaciones en las mismas
9Unas debidas a las ecuaciones del modelo
9Otras al rango permisible de unas variables
9Otras debidas a reglas de operación, existencias, etc.
Por ello un problema de optimización a menudo se formula como:
min J (x)
x
h(x) = 0
g(x) ≤ 0
3
Problema de optimización no-lineal
con restricciones NLP
Cesar de Prada ISA-UVA
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
x2
x1
Una política conducente a
calcular el óptimo sin
restricciones y luego limitarlo
al contorno de la región
factible lleva a soluciones
incorrectas
Región factible
4
Cesar de Prada ISA-UVA
Restricciones de igualdad
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:
min J (x)
min J ( x1 , x2 ,..., xn )
h ( x) = 0
h1 ( x1 , x2 ,..., xn ) = 0 ⎫
h2 ( x1 , x2 ,..., xn ) = 0 ⎪⎪
⎬ n>m
....
⎪
hm ( x1 , x2 ,..., xn ) = 0⎪⎭
x
5
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
x
Cesar de Prada ISA-UVA
Restricciones de igualdad
min ( x1 x2 + x 22 )⎫⎪
x2
x1 , x 2
⇒
x
=
⎬
1
log x2
x1 log x2 = x2 ⎪⎭
⇒ min
x2
x 22
log x2
+ x22
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
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.
6
Cesar de Prada ISA-UVA
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
min J (x) ⎫⎪
x
⎬
h( x) = 0 ⎪⎭
⇒
min L(x, λ ) = min J (x) + λ' h(x)
x, λ
x, λ
Para todos los x que cumplan las restricciones h(x)=0 se
verifica:
min L(x, λ ) = min J (x)
x, λ
x
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
7
Cesar de Prada ISA-UVA
Multiplicadores de Lagrange
min L(x, λ ) = min J (x) + λ' h(x)
x, λ
x, λ
L(x,λ) Lagrangiana
La solución del problema ampliado sin restricciones es:
∂L(x, λ )
= 0,
∂x x* , λ *
∂L(x, λ )
=0
∂λ x* , λ *
⇒ h(x * ) = 0
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
8
Cesar de Prada ISA-UVA
Cualificación de las restricciones
*
∂J ( x * )
∂
h
x
(
)
+ λ *'
=0
∂x
∂x
⎡ ∂J ( x)
⎢ ∂x
⎣ 1
h( x * ) = 0
∂J (x)
∂J (x) ⎤
+ [λ1
L
⎥
∂x 2
∂x n ⎦
λ2
⎡ ∂h 1 (x)
⎢ ∂x
1
⎢
⎢ ∂h 2 (x)
L λ m ]⎢ ∂x 1
⎢ M
⎢ ∂h m (x)
⎢
⎣ ∂x 1
∂h 1 (x)
∂h 1 (x) ⎤
L
∂x 2
∂x n ⎥
⎥
∂h 2 ( x)
∂h 2 ( x) ⎥
L
∂x 2
∂x n ⎥ = 0
M
M
M ⎥
∂h m (x)
∂h m (x) ⎥
L
⎥
∂x 2
∂x n ⎦
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
9
Cesar de Prada ISA-UVA
Cualificación de las restricciones
∂h 1 (x)
∂h 2 (x)
∂h m (x)
∂J ( x)
+ λ1
+ λ2
+ ... + λ m
=0
∂x 1
∂x 1
∂x 1
∂x 1
∂h (x)
∂h (x)
∂h (x)
∂J (x)
+ λ1 1
+ λ2 2
+ ... + λ m m
=0
∂x 2
∂x 2
∂x 2
∂x 2
......
h( x) = 0
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
10
Cesar de Prada ISA-UVA
Ejemplo 1
x2
min x1 + x 2 ⎫⎪
x1 , x 2
⎬
2
2
x1 + x 2 = 4 ⎪⎭
x1
Cumple la
cualificación de las
restricciones pues
solo hay una
x1+x2=c
min L( x 1 , x 2 , λ ) = min x 1 + x 2 + λ( x 21 + x 22 − 4)
x1 , x 2 , λ
x1 , x 2 , λ
∂L(x, λ )
= 1 + 2λ x 1 = 0
∂x 1
∂L(x, λ )
= x 21 + x 22 − 4 = 0
∂λ
⎫ x 1 = −1 / 2 λ
⎫ λ* = ±1 /( 2 2 )
⎪
⎪
1 + 2 λ x 2 = 0 ⎬ x 2 = −1 / 2 λ
⎬ x1 = m 2 / 2
⎪
⎪
x 21 + x 22 − 4 = 0⎭ 1 / 4λ2 + 1 / 4λ2 = 4⎭ x 2 = m 2 / 2
Cesar de Prada ISA-UVA
1 + 2λ x 1 = 0
11
∂L(x, λ )
= 1 + 2λ x 2 = 0
∂x 2
Ejemplo 1
min L( x 1 , x 2 , λ ) = min x 1 + x 2 + λ ( x 21 + x 22 − 4)
x1 , x 2 ,λ
x1 , x 2 ,λ
∂L(x, λ )
= x 21 + x 22 − 4
∂λ
∂L(x, λ )
= 1 + 2λ x 1
∂x 1
∂L(x, λ )
= 1 + 2λ x 2
∂x 2
⎡ ∂ 2L
⎢ ∂x 2
1
H x (x, λ ) = ⎢ 2
⎢ ∂ L
⎢ ∂x x
⎣ 2 1
⎡ 2 0⎤
∂ 2L ⎤
⎢
⎥ PD
2λ 0 ⎤
∂x 1 x 2 ⎥
⎡
0
2
⎣
⎦
⎥
=
⇒
⎢ 0 2λ ⎥ * *
∂ 2L ⎥
0 ⎤ ND
⎡− 2
⎣
⎦ x ,λ
⎢
⎥
∂x 22 ⎥⎦ x* , λ *
−
0
2
⎣
⎦
Basta que el mínimo sea respecto a las variables x
Este corresponde a λ*=sqrt(2)/2: x1*= - sqrt(2)/2, x2* = - sqrt(2)/2
12
Cesar de Prada ISA-UVA
Interpretación económica de los
multiplicadores de Lagrange
*
*
*
min J (x) ⎫⎪ ⇒ min L(x, λ ) = min J (x) + λ' [h(x) − b ]
L
(
x
,
λ
)
=
J
(
x
)
x
x, λ
x, λ
⎬
h( x) = b ⎪⎭
¿Cómo varía J(x*) si b cambia en una unidad?
⎫
∂J (x * ) ∂J (x * ) ∂x *
=
⎪⎪
∂b
∂x * ∂b
⎬
*
*
*
∂ (h(x ) − b) ∂h(x ) ∂x
⎪ Multiplicando por λ*’ y sumando:
−
I
=
0=
⎪⎭
∂b
∂x * ∂b
*
*
⎡ ∂L(x * , λ * ) ⎤ ∂x *
∂J (x * ) ⎡ ∂J (x * )
* ∂h ( x ) ⎤ ∂x
*
*
*
'
'
λ
'
λ
'
−
=
λ
+
λ
=⎢
−
=
−
*
* ⎥
*
⎢
⎥
∂b
∂x ⎦ ∂b
⎣ ∂x
⎣ ∂x
⎦ ∂b
13
Los multiplicadores de Lagrange óptimos (precios sombra) dan las
sensibilidades opuestas de J* respecto a las restricciones b
Cesar de Prada ISA-UVA
Multiplicadores de Lagrange / Precios
sombra de LP
Programación Lineal, LP:
max J = c' x
Programación no Lineal con
restricciones de igualdad
x
Ax = b
x≥0
¿Cómo varia J(x*) si b cambia en una unidad?
La respuesta (max) usando
la teoría de la dualidad de
LP es la solución del dual z,
denominada precio sombra
∂J
= z*
∂b
*
14
min J (x) ⎫⎪
x
⎬
h( x) = b ⎪⎭
La respuesta (min) usando los
multiplicadores de Lagrange es
-λ,
∂J *
= −λ * '
∂b
Cesar de Prada ISA-UVA
Programación no-lineal NLP
min J (x)
x
h(x) = 0
g(x) ≤ 0
15
min x 12 − x2 ⎫
x1 , x 2
⎪
x1 + x2 = 2 ⎪
⎬
2
2
x1 + x1 ≤ 4 ⎪
⎪
x1 − 1 ≥ 0 ⎭
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-Tacker
Conditions)
x2
Conjunto
factible
2 x1
x1+x2=2
x1=1
Cesar de Prada ISA-UVA
Condiciones de optimalidad KKT
min J (x)
x
h(x) = 0
g(x) ≤ 0
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 g
deben ser cero.
L ( x, λ , μ ) = J ( x ) + ∑ λ j h j ( x ) + ∑ μ i g i ( x )
j
μ i g i ( x) = 0
i
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.
16
Cesar de Prada ISA-UVA
Condiciones de optimalidad KKT
min J (x)
x
h(x) = 0
g(x) ≤ 0
17
De esta forma, el óptimo del problema NLP debe
cumplir las condiciones de óptimo de la Lagrangiana
L(x,λ,μ), mas las condiciones adicionales.
Para funciones continuamente diferenciables J, h y g,
las condiciones necesarias de óptimo respecto a las
variables x son:
∂J
∂h
∂g
⎫
+ λ'
+ μ'
= 0⎪
∂x
∂x
∂x
⎪
h(x) = 0
⎪
⎪
g(x) ≤ 0
⎬
⎪
μ i g i (x) = 0
⎪
μ≥0
⎪
⎪⎭
∇ x J ( x) + ∑ λ j ∇ x h j ( x) + ∑ μ i ∇ x g i ( x) = 0
j
h j ( x) = 0
g i ( x) ≤ 0
μ i g i ( x) = 0
μi ≥ 0
i
Además,∇xgi y ∇xhj para las
restricciones activas en el
óptimo, deben ser támbién
linealmente independientes,
Cesar de Prada ISA-UVA
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:
9Cuando las restricciones son lineales
[∇ x h (x)
⎡λ ⎤
∇ x g(x)]⎢ ⎥ = −∇ x J (x)
⎣μ ⎦
9Cuando las desigualdades son convexas y las igualdades
lineales y hay un punto factible en el interior de la región
marcada por las desigualdades.
18
Cesar de Prada ISA-UVA
En el óptimo
Problema con restricciones
de desigualdad
∇ x g i ( x)
∇ x J ( x)
i
∇ x g i ( x)
Optimo
Restricciones
activas
19
∇ x J ( x) = − ∑ μ i ∇ x g i ( x)
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
Cesar de Prada ISA-UVA
Condiciones KKT de suficiencia de
primer orden
min J (x)
x
h(x) = 0
g(x) ≤ 0
Si la función J es convexa, las restricciones gi
convexas 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
∇ x J ( x) + ∑ λ j ∇ x h j ( x) + ∑ μ i ∇ x g i ( x) = 0
j
i
h j ( x) = 0
g i ( x) ≤ 0
μ i g i ( x) = 0
20
μi ≥ 0
Cesar de Prada ISA-UVA
x*(1,1)
Ejemplo 2
Conjunto
factible
x2
min x 1 − x2 ⎫
x1 , x 2
⎪
x1 + x2 = 2 ⎪
⎬
2
2
x1 + x2 ≤ 4 ⎪
⎪
− x1 + 1 ≤ 0 ⎭
2
2 x1
x1+x2=2
¿Cumple las
condiciones de
suficiencia de
primer orden? Si
x1=1
L( x, λ , μ) = x12 − x2 + λ ( x1 + x2 − 2) + μ1 ( x12 + x22 − 4) + μ 2 ( − x1 + 1)
∇ x J (x) + ∑ λ j ∇ x h j (x) + ∑ μ i ∇ x g i (x) = 0 2 x1 + λ + μ1 2 x1 − μ 2 = 0
j
h j ( x) = 0
g i ( x) ≤ 0
μ i g i ( x) = 0
21
μi ≥ 0
− 1 + λ + μ1 2 x 2 = 0
i
⇒
x1 + x2 = 2
μ1 ≥ 0 μ 2 ≥ 0
x 12 + x 22 ≤ 4 μ1 ( x 12 + x 22 − 4) = 0
− x1 + 1 ≤ 0 μ 2 (− x1 + 1) = 0
Cesar de Prada ISA-UVA
Ejemplo 2
μ2 − λ
2(1 + μ1 )
1− λ
x2 =
2μ1
μ2 − λ 1− λ
+
=2
2(1 + μ1 ) 2μ1
x1 =
⎫
⎪
− 1 + λ + μ1 2 x 2 = 0
⎪
⎪
x1 + x2 = 2 μ1 ≥ 0 μ 2 ≥ 0 ⎬
x 12 + x 22 ≤ 4 μ1 ( x 12 + x 22 − 4) = 0⎪⎪
⎪⎭
− x1 + 1 ≤ 0 μ 2 (− x1 + 1) = 0
2 x1 + λ + μ1 2 x1 − μ 2 = 0
22
⎡⎛ μ − λ ⎞ 2 ⎛ 1 − λ ⎞ 2
⎤
2
⎟⎟ − 4⎥μ1 = 0
⎟⎟ + ⎜⎜
⎢⎜⎜
⎢⎣⎝ 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠
⎥⎦
⎡ − μ2 + λ ⎤
⎢ 2(1 + μ ) + 1⎥μ 2 = 0
⎣
⎦
1
Cesar de Prada ISA-UVA
⎧ μ2 − λ 1 − λ
μ
=
μ
=
+
=2
si
0
,
0
⎨
Deben examinarse todas las
1
2
⎩ 2(1 + μ1 ) 2μ1
alternativas para encontrar
⎧ μ2 − λ + 1 − λ = 2
posibles soluciones
⎪⎪ 2(1 + μ ) 2μ
1
1
⎫
si μ1 = 0, μ 2 ≠ 0 ⎨
− μ2 + λ
⎪
μ2 − λ
⎪
+1 = 0
⎪
x1 =
⎪⎩ 2(1 + μ1 )
2(1 + μ1 )
⎪
⎧⎛ − λ ⎞ 2 ⎛ 1 − λ ⎞ 2
1− λ
⎪
x2 =
⎟ +⎜
⎟ −4=0
⎪⎪⎜
⎪
2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠
2μ1
⎪⎪ si μ 2 = 0, μ1 ≠ 0 ⇒ ⎨⎝
μ2 − λ 1 − λ
1− λ
−λ
⎪
⎬
+
=2
+
=2
⎪
2(1 + μ1 ) 2μ1
2
(
1
)
2
+
μ
μ
⎪
⎩
1
1
2
2
⎪
⎡⎛ μ − λ ⎞ ⎛ 1 − λ ⎞
⎤
2
⎟ − 4⎥μ1 = 0 ⎪
⎟ +⎜
⎢⎜
μ2 − λ 1 − λ
⎧
+
=2
⎪
⎢⎣⎝ 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠
⎥⎦
⎪
2
(
1
)
2
+
μ
μ
1
1
⎪
⎪
⎡ − μ2 + λ ⎤
2
2
⎪
+
μ
=
1
0
⎪⎛ μ 2 − λ ⎞ ⎛ 1 − λ ⎞
⎢ 2(1 + μ ) ⎥ 2
⎪
si
0
,
0
μ
≠
μ
≠
⎟ +⎜
⎟ −4 =0
⎨⎜
⎣
⎦
1
⎭
1
2
2
(
1
)
2
+
μ
μ
⎝ 1 ⎠
1 ⎠
⎪⎝
− μ2 + λ
⎪
+1 = 0
⎪
2(1 + μ1 )
⎩
23
Cesar de Prada ISA-UVA
Detalle de la resolución μ2=0, μ1≠0
2
2
−λ
1− λ
⎫
⎛ − λ ⎞ ⎛1 − λ ⎞
=
−
2
⎜⎜
⎟⎟ + ⎜⎜
⎟⎟ − 4 = 0⎪
2μ1
2(1 + μ1 )
⎪
⎝ 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠
2
2
⎬
−λ
1− λ
⎪ ⎛⎜ 2 − 1 − λ ⎞⎟ + ⎛⎜ 1 − λ ⎞⎟ = 4
=2
+
⎪⎭ ⎜⎝
2μ1 ⎟⎠ ⎜⎝ 2μ1 ⎟⎠
2(1 + μ1 ) 2μ1
⎛1 − λ ⎞
⎧ λ =1
1 − λ ⎛1 − λ ⎞
⎟⎟ = 4
⎟⎟ − 4
+ ⎜⎜
((1 − λ ) − 4μ1 )(1 − λ ) = 0⎨
4 + ⎜⎜
2μ1 ⎝ 2μ1 ⎠
⎩1 − λ = 4μ1
⎝ 2μ1 ⎠
−1
= 2 1 + μ1 = −1 / 4 μ1 = −5 / 4 NF
λ =1→
2(1 + μ1 )
2
1 − λ = 4μ1 →
24
2
4μ1 − 1 4μ1
+
=2
2(1 + μ1 ) 2μ1
x1 = 0, x2 = 2 NF
4μ1 − 1
+ 2 = 2 → μ1 = 1 / 4, λ = 0
2(1 + μ1 )
Cesar de Prada ISA-UVA
Ejemplo 2
⎫
⎪
μ2 − λ
⎪
x1 =
2(1 + μ1 )
⎪
⎪ si μ = 0, μ = 0 {λ = 1, x = −1 / 2, x = 5 / 2 NF
1− λ
1
2
1
2
x2 =
⎪
2μ1
si μ1 = 0, μ 2 ≠ 0 {λ = 1, μ 2 = 3, x1 = 1, x2 = 1
⎪
⎪
μ2 − λ 1− λ
⎧μ1 = 1 / 4, λ = 0, x1 = 0, x2 = 2 NF
⎬
+
=2
2(1 + μ1 ) 2μ1
⎪ si μ1 ≠ 0, μ 2 = 0 ⎨
μ1 = −5 / 4, λ = 1 NF
⎩
2
2
⎪
⎡⎛ μ − λ ⎞ ⎛ 1 − λ ⎞
⎤
2
⎟⎟ + ⎜⎜
⎟⎟ − 4⎥μ1 = 0⎪ si μ1 ≠ 0, μ 2 ≠ 0 {λ = 1; μ1 = 0, μ 2 = 3, x1 = 1, x2 = 1
⎢⎜⎜
⎪
⎢⎣⎝ 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠
⎥⎦
Solución óptima
⎪
⎡ − μ2 + λ ⎤
⎪
⎢ 2(1 + μ ) + 1⎥μ 2 = 0
⎪⎭
⎣
⎦
1
25
Cualificación de las restricciones
min x 12 − x2 ⎫
x1 , x 2
⎪
x1 + x2 = 2 ⎪
⎬
2
2
x1 + x2 ≤ 4 ⎪
⎪
− x1 + 1 ≤ 0 ⎭
Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3
Restricciones
activas
∇xh(x*), ∇xg(x*) (activas)
⎡1⎤
⎡− 1⎤
⎡1 − 1⎤
∇ x h = ⎢ ⎥ ∇ x g = ⎢ ⎥ rango ⎢
=2
⎥
⎣1⎦
⎣0⎦
⎣1 0 ⎦
26
Son linealmente
independientes, luego
se cumple la
cualificación de las
restricciones
Cesar de Prada ISA-UVA
Sensibilidad
min J (x)
x
h(x) = b
g(x) ≤ c
A partir de la interpretación de las condiciones
KKT como multiplicadores de Lagrange, se
puede establecer la siguiente relación para las
sensibilidades:
∂J ( x* )
∂J (x* )
*
= −λ '
= −μ * '
∂b
∂c
La cual nos permite deducir como cambia la función de costo cuando las
restricciones se relajen en una unidad, lo cual es importante en
problemas de toma de decisiones.
27
Cesar de Prada ISA-UVA
Ejemplo 2
Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3, J=0
min J ( x1 , x2 ) = min x 12 − x2 ⎫
x1 , x 2
x1 , x 2
⎪
⎪
x1 + x2 = 2
Restricciones
¿Como varia el valor óptimo
⎬
2
2
activas
x1 + x2 ≤ 4
⎪
de la función de coste J si se
⎪
aumenta el término derecho
− x1 + 1 ≤ 0
⎭
de las restricciones en una
unidad?
Sensibilidades: -1,0,-3
28
Si 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-UVA
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 suficientes
para la optimalidad de la solución. Vienen dadas por la condición sobre el
Hessiano:
*
z ' ∇ 2x L(x * , λ * , μ * ) z > 0
29
⎡ ∇ h( x ) ⎤
z=0
∀z | ⎢ x
* ⎥
⎣∇ x g act (x )⎦
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-UVA
Lagrangiana
L( x, λ , μ) = x12 − x2 + λ ( x1 + x2 − 2) + μ1 ( x12 + x22 − 4) + μ 2 ( − x1 + 1)
⎧2 x1 + λ + μ1 2 x1 − μ 2 = 0
∇ x J (x) + ∑ λ j ∇ x h j (x) + ∑ μi ∇ x gi (x) = 0 ⎨
j
i
⎩ − 1 + λ + μ1 2 x 2 = 0
Ejemplo 2
min x 12 − x2 ⎫
x1 , x 2
⎪
x1 + x2 = 2 ⎪
⎬
2
2
x1 + x2 ≤ 4 ⎪
⎪
− x1 + 1 ≤ 0 ⎭
Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3
⎡ ∇ x h( x * ) ⎤
z=0
∀z | ⎢
z ' ∇ L(x , λ , μ )z > 0
* ⎥
⎣∇ x g act (x )⎦
⎡z ⎤
Restricciones
[
1 1]⎢ 1 ⎥ = 0 z1 + z 2 = 0
activas
Vectores
⎣ z2 ⎦
2
x
Hessiano respecto a x
⎡ ∂L2
⎢ ∂x 2
1
Hx = ⎢
2
⎢ ∂L
⎢⎣ ∂x2 ∂x1
30
∂L2 ⎤
∂x1∂x2 ⎥ ⎡2 + 2μ1
⎥=⎢
2
∂L ⎥ ⎣ 0
∂x22 ⎥⎦
*
*
*
⎡ z1 ⎤
[− 1 0]⎢ ⎥ = 0 − z1 = 0
⎣ z2 ⎦
0 ⎤
⎡2
*
[
]
z
z
H
z
z
'
=
−
x
⎢0
2μ1 ⎥⎦
⎣
⎡2
[0 z ]⎢
Cumple necesidad pero
⎣0
no la suficiencia
de planos
tangentes
0⎤ ⎡ z ⎤
2
z
=
2
>0
⎢
⎥
⎥
0⎦ ⎣ − z ⎦
0 ⎤ ⎡0 ⎤
=0
⎢
⎥
⎥
0⎦ ⎣ z ⎦
Cesar de Prada ISA-UVA
Ejemplo 3
x12-x2 ≤ 4
-x1+x2 ≤ 2
x2
min ( x1 + 3) + x ⎫
x1 , x 2
⎪⎪
x1
− x1 + x2 − 2 ≤ 0 ⎬
x12 − x2 − 4 ≤ 0 ⎪⎪
⎭
L( x, λ , μ) = ( x1 + 3) 2 + x22 + μ1 ( − x1 + x2 − 2) + μ 2 ( x12 − x2 − 4)
2( x1 + 3) + μ1 ( −1) + μ 2 2 x1 = 0
∇ x J ( x) + ∑ λ j ∇ x h j ( x) + ∑ μ i ∇ x g i ( x) = 0
2 x + μ (1) + μ ( −1) = 0
2
j
h j ( x) = 0
g i ( x) ≤ 0
μ i g i ( x) = 0
31
μi ≥ 0
2
2
i
2
1
2
(− x1 + x2 − 2)μ1 = 0 μ1 ≥ 0
( x12 − x2 − 4)μ 2 = 0 μ 2 ≥ 0
− x1 + x2 − 2 ≤ 0
x12 − x2 − 4 ≤ 0
Cesar de Prada ISA-UVA
Ejemplo 3
2( x1 + 3) + μ1 (−1) + μ 2 2 x1 = 0⎫
⎪
2 x2 + μ1 (1) + μ 2 ( −1) = 0
⎪
(− x1 + x2 − 2)μ1 = 0 μ1 ≥ 0 ⎪⎪
⎬
( x12 − x2 − 4)μ 2 = 0 μ 2 ≥ 0 ⎪
⎪
− x1 + x2 − 2 ≤ 0
⎪
2
⎪⎭
x1 − x2 − 4 ≤ 0
si μ1 = 0, μ 2 = 0
32
μ1 − 6
⎫
⎪
2(1 + μ 2 )
⎪
μ 2 − μ1
⎪
x2 =
2
⎪⎪
⎛ 6 − μ1
⎞
μ − μ1
⎬
⎜⎜
+ 2
− 2 ⎟⎟μ1 = 0 ⎪
2
⎝ 2(1 + μ 2 )
⎠
⎪
2
⎛⎛ μ − 6 ⎞ μ − μ
⎞
2
1
⎜⎜ 1
⎟μ = 0⎪⎪
⎟
4
−
−
⎜ ⎜⎝ 2(1 + μ 2 ) ⎟⎠
⎟ 2
2
⎪⎭
⎝
⎠
→ x1 = −3, x2 = 0
x1 =
NF
⎧ 6 − μ1 − μ1
si μ1 ≠ 0, μ 2 = 0 ⎨
+
− 2 = 0 → μ1 = 1, x1 = −5 / 2, x2 = −1 / 2 NF
2
⎩ 2
Cesar de Prada ISA-UVA
Ejemplo 3
μ2
36
⎧
⎪ 4(1 + μ ) 2 − 2 = 4
2
⎪⎪
3
2
⎨μ 2 + 10μ 2 + 17μ 2 = 10
⎪μ = −7.58, − 2.87, 0.46
⎪ 2
⎪⎩ x1 = −2.06, x2 = 0.23 NF
μ − μ1
6 − μ1
+ 2
−2=0
2(1 + μ 2 )
2
μ1 − 6
⎫
⎪
2(1 + μ 2 )
⎪ si μ1 = 0, μ 2 ≠ 0
μ 2 − μ1
⎪
x2 =
2
⎪⎪
⎛ 6 − μ1
⎞
μ 2 − μ1
⎬
⎜⎜
+
− 2 ⎟⎟μ1 = 0 ⎪
2
⎧
⎝ 2(1 + μ 2 )
⎠
⎪
⎪
⎛ ⎛ μ − 6 ⎞2 μ − μ
⎞
⎪
⎪
2
1
⎜⎜ 1
⎟
μ
≠
μ
≠
si
0
,
0
2
⎟⎟ −
⎨
− 4 μ 2 = 0⎪
1
2
⎜
⎜ ⎝ 2(1 + μ 2 ) ⎠
⎟
2
⎪⎛⎜ μ1 − 6 ⎞⎟ − μ 2 − μ1 − 4 = 0
⎪⎭
⎝
⎠
⎪⎩⎜⎝ 2(1 + μ 2 ) ⎟⎠
2
2
⎛ μ 2 − μ1
⎞ μ − μ1
− 2⎟ − 2
= 4 → (μ 2 − μ1 ) 2 = 10(μ 2 − μ1 )
⎜
2
⎝ 2
⎠
Optimo, por ser la
⎧ μ 2 = μ1 → μ1 = 2 / 5, μ 2 = 2 / 5, x1 = −2, x2 = 0
región convexa y
⎪
J convexa
⎨μ − μ = 10 → 6 − μ1 + 6 = 0 → μ = −14.4 NF
2
1
1
11 + μ1
33 ⎪⎩
Cesar de Prada ISA-UVA
x1 =
Cualificación de las restricciones
min ( x1 + 3) 2 + x22 ⎫
x1 , x 2
⎪⎪
− x1 + x2 − 2 ≤ 0 ⎬
x12 − x2 − 4 ≤ 0 ⎪⎪
⎭
Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1
Restricciones
activas
∇xh(x*), ∇xg(x*) (activas)
⎡2( −2)⎤
⎡− 1 − 4⎤
⎡− 1⎤
=2
∇ x g1 = ⎢ ⎥ ∇ x g 2 = ⎢
rango ⎢
⎥
⎥
⎣ −1 ⎦
⎣ 1 − 1⎦
⎣1⎦
34
Son linealmente
independientes, luego
se cumple la
cualificación de las
restricciones
Cesar de Prada ISA-UVA
Sensibilidad
min ( x1 + 3) 2 + x22 ⎫
x1 , x 2
⎪⎪
− x1 + x2 − 2 ≤ 0 ⎬
x12 − x2 − 4 ≤ 0 ⎪⎪
⎭
Sensibilidades: -2/5,-2/5
Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1
Restricciones
activas
¿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?
Si aumentasen una unidad cada una
manteniendo la otra, J mejoraría en 2/5
en cada caso
35
Cesar de Prada ISA-UVA
L( x, λ , μ) = ( x1 + 3) 2 + x22 + μ1 ( − x1 + x2 − 2) + μ 2 ( x12 − x2 − 4)
Lagrangiana
2( x + 3) + μ1 ( −1) + μ 2 2 x1 = 0
∇ x J ( x ) + ∑ λ j ∇ x h j ( x ) + ∑ μ i ∇ x g i ( x ) = 0 ⎧⎨ 1
j
i
⎩2 x2 + μ1 (1) + μ 2 ( −1) = 0
Ejemplo 3
Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1
Condiciones de 2º orden
⎡ ∇ x h( x * ) ⎤
∀z | ⎢
z=0
* ⎥
⎣∇ x g act (x )⎦
z ' ∇ L(x , λ , μ )z > 0
min ( x1 + 3) + x ⎫
x1 , x 2
⎪⎪
− x1 + x2 − 2 ≤ 0 ⎬ Restricciones
⎡ z1 ⎤
activas
[
]
⎪
1
1
−
⎢ z ⎥ = 0 − z1 + z 2 = 0 Vectores
x12 − x2 − 4 ≤ 0 ⎪
de planos
⎣ 2⎦
⎭
tangentes
z
⎡ 1⎤
[
]
2
(
2
)
1
−
−
⎢ z ⎥ = 0 − 4 z1 − z 2 = 0
Hessiano respecto a x
⎣ 2⎦
2
2
⎡ ∂L
∂L ⎤
⎥ ⎡2 + 2μ 0⎤
⎢ ∂x 2
⎡14 / 5 0⎤ ⎡ z ⎤
∂
x
∂
x
2
*
2
1
2⎥
[
]
z
'
z
=
14
/5 > 0
H x = ⎢ 12
H
z
z
z
=
=
x
2
⎢
⎥
⎢
⎥
⎢
⎥
∂L ⎥ ⎣ 0
2⎦
0⎦ ⎣ z ⎦
⎢ ∂L
⎣ 0
⎢⎣ ∂x2 ∂x1
∂x22 ⎥⎦
⎡14 / 5 0⎤ ⎡ z ⎤
2
[z − 4 z ]⎢
=
14
/5 > 0
z
⎢
⎥
⎥
0⎦ ⎣ − 4 z ⎦
⎣ 0
Cumple la suficiencia
2
36
2
2
2
x
*
*
*
Cesar de Prada ISA-UVA
Ejemplo 4
V=20V
R
+
-
10Ω
Encontrar el valor de R de modo
que se maximice la potencia
absorbida en dicha resistencia
i
400 R ⎫
⎫ min
2⎪
R
(R + 10) ⎬
⎬
20 = IR + 10 I ⎭
⎪⎭
R≥0
P = I 2R
37
Cesar de Prada ISA-UVA
Solución de problemas NLP
z
z
38
La solución analítica de un problema NLP utilizando las
condiciones KKT solo es posible en casos sencillos
Existen 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-UVA
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.
1
min J (x) = c' x + x' Qx
x
2
Ax = b
x≥0
Q (n x n) simétrica
39
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 LP
A (m x n) rango m < n
Cesar de Prada ISA-UVA
Programación cuadrática
x2
x2
x*
x*
x1
x1
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
40
Cesar de Prada ISA-UVA
Programación cuadrática (QP)
1
min J (x) = c' x + x' Qx
x
2
Ax − b = 0
−x≤0
Técnicas de solución:
9Mediante las
condiciones KKT
9Conjuntos activos
9Métodos mas
generales (Wolfe)
41
9Otros
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.
Cesar de Prada ISA-UVA
Resolución mediante KKT (DantzingWolfe)
1
min J (x) = c' x + x' Qx
x
2
Ax − b = 0
−x≤0
42
Lagrangiana:
1
L( x, λ , μ) = c' x + x ' Qx + λ ' ( Ax − b) − μ' x
2
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 μ
Condiciones KKT:
c + Qx + A ' λ − μ = 0
Ax = b
x ≥ 0, μ ≥ 0
μ' x = 0
Ecuaciones lineales excepto
por μ’x = 0, ó x ó μ son cero.
Cesar de Prada ISA-UVA
Resolución mediante KKT
c + Qx + A ' λ − μ = 0⎫
λ =σ−δ
⎪
Ax = b
⎬ ⇒ σ ≥ 0, δ ≥ 0
⎪ z ' = (x, σ, δ, μ)
x ≥ 0, μ ≥ 0
⎭
μ' x = 0
La condición μ’x=0 se impone a
traves de reglas sobre las
columnas en las operaciones de
pivote
⎡x⎤
c + Qx + A ' (σ − δ) − μ = 0⎫ ⎡Q A' − A' − I ⎤ ⎢σ ⎥ ⎡− c⎤
⎢ ⎥=
⎪⎢
⎥
Ax = b
⎬ ⎣A 0
0
0 ⎦ ⎢δ ⎥ ⎢⎣ b ⎥⎦
⎪
⎢μ ⎥
z≥0
z≥0
⎭
⎣ ⎦
max − (1,1,...1) ν
⎫
⎪ Problema tipo Fase I del simplex cuya solución
⎬ óptima, si ν*=0, da la solución de las
⎡ν⎤
[I M ]⎢ ⎥ = β, z ≥ 0, ν ≥ 0⎪ condiciones KKT
⎣z ⎦
⎭
Cesar de Prada ISA-UVA
z, ν
43
Conjuntos activos (Active set)
Está indicado para problemas formulados en términos de
desigualdades lineales. El método hace uso del hecho
1
que, en un determinado paso del algoritmo, las
min J (x) = c' x + x' Qx
2
restricciones activas (cuyos índices forman el conjunto x
activo Λ) hay que considerarlas como igualdades,
Ax ≤ b = 0
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:
1
⎫
min J (x) = c' x + x' Qx ⎪
x
2
⎬ PΛ
⎪⎭
a i ' x − βi = 0 i ∈ Λ
44
En el que no existen restricciones
tipo ≤ , y puede resolverse mas
facilmente, p.e. por sustitución o
multiplicadores de Lagrange
Cesar de Prada ISA-UVA
Método de los conjuntos activos
1.
2.
3.
4.
5.
45
Escoger xk y calcular Λ
x2
Resolver el problema , PΛ, asociado
θk
con igualdades en Λ. Sea θk la
solución y λk sus multiplicadores de
Lagrange
xk+1
Calcular xk+1=xk+αk(θk-xk) Si θk no
xk
verifica una restricción que no está
en Λ (αk <1) añadir el índice a Λ
x1
Si los λk que corresponden a
desigualdades son todos ≥ 0,
entonces θk es óptimo. En caso
⎛
contrario eliminar el índice p
βi − a i ' x k ⎞⎟
⎜
correspondiente al menor de ellos de α k = min 1, min
⎜ i∉Λ
a ' (θ − x k ) ⎟
Λ
⎝ ai '( θk −xk )<0 i k
⎠
Hacer k=k+1 y volver a 2
Cesar de Prada ISA-UVA
Ejemplo QP (Dinámico)
w
e
PID
u
K e − ds
τs + 1
+
y
w
min
K p ,Ti ,Td
y
2
e
(
t
)
∫ dt MISE
K p ≥ 0, Ti ≥ 0, Td ≥ 0
error = w - y ( función lineal de Kp , Ti, Td )
46
Cesar de Prada ISA-UVA
Método de Wolfe
min J (x)
x
Ax ≤ b
x≥0
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 lineales
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
47
Cesar de Prada ISA-UVA
Método de Wolfe
min J (x)
x
Ax ≤ b
x≥0
Partiendo de un xk factible, se resuelve el problema
linealizado en xk de tipo LP:
min J (x k ) + ∇ x J (x k )(x − x k )
x
Ax ≤ b
xk
xk+1
x$
x≥0
Por ser un problema LP tiene una solución óptima en un vértice x$ y
por tanto :
$
J (x k ) = J (x k ) + ∇ x J (x k )(x k − x k ) ≥ J (x k ) + ∇ x J (x k )(x k − x k )
J (x k ) ≥ J (x k ) + ∇ x J (x k )(x $k − x k ) ⇒ 0 ≥ ∇ x J (x k )(x $k − x k )
Con lo cual la dirección xk$ - xk es una en la que J(x) disminuye
48
Cesar de Prada ISA-UVA
Método de Wolfe
El segundo paso del algoritmo consiste
en minimizar J(x) en la dirección xk$ - xk
en el segmento entre xk y xk$ el cual es
factible. Esto es una optimización escalar
que se resuelve fácilmente.
Región factible
xk
xk+1
xk$
min J (x k + σ k (x $k − x k ))
σk
x k +1 = x k + σ*k (x $k − x k )
De esta forma se determina un
nuevo xk+1 iterandose hasta que se
cumpla una condición del tipo:
49
x k +1 − x k
≤ ε2
ε0 + xk
J (x k +1 ) − J (x k )
≤ ε3
ε 0 + J (x k )
xk+1$
xk
xk+1
Cesar de Prada ISA-UVA
Compresor con tres etapas
M
q T
P0
T
P1
T
P2
q moles/h T ºK γ = 4/3
50
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?
T
P3
La potencia
consumida por un
compresor
adiabático reversible
en el que la entrada
está a la temperatura
T es:
γ −1
⎡
⎤
γ ⎢⎛ Psal ⎞ γ
⎜⎜
⎟⎟ − 1⎥
W = qRT
⎥
γ − 1 ⎢⎝ Pent ⎠
⎣
⎦
cp
γ=
R = constante gases
cv
Cesar de Prada ISA-UVA
Compresor
La potencia total
consumida será la
suma de la que
consume cada
compresor
M
q T
P0
T
P1
T
P2
1
1
1
⎡
⎤
4
4
4
⎛
⎞
⎛
⎞
⎛
⎞
P
P
P
WTotal = qRT 4 ⎢⎜⎜ 1 ⎟⎟ + ⎜⎜ 2 ⎟⎟ + ⎜⎜ 3 ⎟⎟ − 3⎥
⎢⎝ P0 ⎠ ⎝ P1 ⎠ ⎝ P2 ⎠
⎥
⎣
⎦
P1 ≥ P0 , P1 ≤ P2 ≤ P3
51
T
P3
1
4
⎛ P ⎞ ⎛ 64 ⎞
min P1 + ⎜⎜ 2 ⎟⎟ + ⎜⎜ ⎟⎟
P1 , P2
⎝ P1 ⎠ ⎝ P2 ⎠
P1 ≥ 1, P1 ≤ P2 ≤ 64
1
4
1
4
Cesar de Prada ISA-UVA
Compresor / Método de Wolfe
1
4
1
4
⎛ x ⎞ ⎛ 64 ⎞
min x1 + ⎜⎜ 2 ⎟⎟ + ⎜⎜ ⎟⎟
x1 , x2
⎝ x1 ⎠ ⎝ x2 ⎠
− x1 ≤ −1
∂J
x1 − x2 ≤ 0
∂x 1
x2 ≤ 64
∂J
1
4
x2
∂x 2
64
Punto factible inicial x1=2,, x2 =10
Linealización:
= 0.25x 1− 0.75 (1 − x 02.25 x 1− 0.5 ) 2,10 = −0.0383
2 ,10
= 0.25x 2− 0.75 ( x 1− 0.25 − 64 0.25 x 2− 0.5 ) 2,10 = −0.00238
2 ,10
min (J (2,10) − 0.0383( x 1 − 2) − 0.00238( x 2 − 10))
x2=x1
x1 , x 2
− x 1 ≤ −1
x1 − x 2 ≤ 0
52
1
J (x k ) + ∇ x J (x k )(x − x k )
x1
x 2 ≤ 64
J(2,10)=4.275
Cesar de Prada ISA-UVA
Compresor / Método de Wolfe
min (−0.0383 x1 − 0.00238 x2 )
x1 , x2
− x1 ≤ −1
Problema LP equivalente, puede
resolverse gráficamente.
Costo: -0.0383x1 – 0.00238x2 = c < 0
x1 − x2 ≤ 0
x2 = -16.09x1-420.16 c
x2 ≤ 64
Optimo LP: (64,64)
x2
64
x2=x1
1
53
x2
(64,64)
x1
Proporciona
una dirección
de
minimización
de J
(64,64)
64
(2,10)
1
x2=x1
x1
Cesar de Prada ISA-UVA
Compresor / Método de Wolfe
Paso 2: minimización en el segmento (2,10) a (64,64)
x2
64
(2,10)
1
(64,64)
min J (2 + α(64 − 2), 10 + α(64 − 10))
α
0 ≤ α ≤1
x2=x1
x1
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
54
Se continua
iterando hasta
que no haya
mejora
apreciable
Cesar de Prada ISA-UVA
Programación lineal sucesiva SLP
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
min J (x)⎫
min J (x k ) + ∇ x J (x k )(x − x k )⎫
x
x
⎪
⎪
h(x) = 0 ⎬ ≈ h(x k ) + ∇ x h(x k )(x − x k ) = 0 ⎬ m ≤ x − x k ≤ M
g(x) ≤ 0 ⎪
g (x k ) + ∇ x g (x k )(x − x k ) ≤ 0 ⎪
⎭
⎭
55
Se añaden restricciones sobre las máximas desviaciones del
punto de linealización que aseguran que esta es aceptable
Cesar de Prada ISA-UVA
Métodos de Penalización
La idea básica es transformar el problema NLP
En otro sin restricciones tal que su solución se
aproxime a la del NLP
min J (x)
x
h(x) = 0
g(x) ≤ 0
min V (x, η) = min J (x) + ∑ ηi Pi (hi (x), g i (x))
x
x
i
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
56
Cesar de Prada ISA-UVA
Funciones de Penalización
min V (x, η) = min J (x) + ∑ ηi Pi (hi (x), g i (x))
x
x
i
La principal característica de las funciones de penalización P, es que
tienden 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 satisfacen
las restricciones.
Funciones de
Penalización para:
gi (x) ≤ 0
57
P
P
gi(x)
Funciones de
Penalización
para: h(x) = 0
h(x)
Cesar de Prada ISA-UVA
Funciones de Barrera/Penalización
gi(x) ≤ 0
P
Penalización
externa
gi(x) ≤ 0
P
Penalización: Si se
violan las restricciones,
entonces P toma valores
muy grandes. El óptimo
puede violar ligeramente
gi(x)
las restricciones
Penalización
interior o de
barrera
gi(x)
58
h(x) = 0
P
Penalización
parabólica
h(x)
Barrera: si el valor de gi(x) se
aproxima a la restricción,
entonces P toma un valor muy
grande. Fuerza a que x se
encuentre dentro de la región
factible
Cesar de Prada ISA-UVA
Funciones de Penalización
Restricciones de Igualdad h( x) = 0
Si h(x) se desvía del valor de cero ,
entonces la función P crece
cuadráticamente, penalizando los
valores de V(x) en los puntos no
factibles. El parámetro η proporciona
la magnitud de la penalización.
Se debe adicionar un término
η(hi(x))2 a la función objetivo J, por
cada una de las restricciones de
igualdad existentes.
59
P
Penalización para
bólica ηh(x)2
h(x)
P, función continua con
derivadas continuas
Valor Absoluto
η|h(x)|,
discontinuas
en h(x) = 0
P
h(x)
Cesar de Prada ISA-UVA
Ejemplo de restricción de igualdad
min ( x1 + 3) 2 + x22 ⎫⎪
x1 , x2
⎬
− x1 + x2 − 2 = 0 ⎪⎭
x2
Problema
original
-x1+x2 = 2
Conjunto
factible
x1
min ( x1 + 3) 2 + x22 + η(− x1 + x2 − 2) 2
x1 , x2
-x1+x2 = 2
Problema con la penalización añadida
Curvas de nivel deformadas que
fuerzan soluciones en torno a la
restricción –x1+x2=2
(Aunque el problema es díficil
numéricamente al aumentar η)
60
x2
x1
Matlab
Cesar de Prada ISA-UVA
Ejemplo 1
η =0 función
original J(x)
η =1 Función de
Penalización
V(x)=J(x)+ ηP
η =10 Función
de Penalización
V(x)=J(x)+ ηP
61
El mínimo de J(x)
se encuentra
alrededor de h(x)=0
Cesar de Prada ISA-UVA
Funciones de Penalización
Restricciones de desigualdad
g ( x) ≤ 0
Penalización Infinita
0 if g( x ) ≤ 0
⎧
P( g( x )) = ⎨ 20
⎩10 g( x ) if g(x ) > 0
Penalización
Exterior
P
g(x)
Principal inconveniente: discontinua en g(x) = 0
Penalización cuadrática
asimétrica (brakets)
P( g( x )) = [max(0, g( x ))]
2
Penalización
exterior
Continua y con derivadas continuas
62
Al igual que con otras funciones de penalización:
se pueden violar ligeramente las restricciones
P
g(x)
Cesar de Prada ISA-UVA
Funciones de Penalización
P
Penalización Exacta
En problemas con restricciones de
igualdad y desigualdad el mínimo
de la función de coste:
min J (x) + ∑ ωi hi (x) + ∑ σ i max(0, g j (x))
x
i
j
Coincide exactamente con el óptimo x* de un
problema NLP si los pesos ωi, σj satisfacen:
0 ≤ ωi ≥ λ*i
63
h(x)
Principal
inconveniente:
discontinuidades en
h(x) = 0 and g(x) = 0
P
0 ≤ σ i ≥ μ*i
donde x*,λ*, μ* son la solución de las
condiciones de KKT. Luenberger (1984)
g(x)
Cesar de Prada ISA-UVA
Funciones de Barrera
Barrera Logarítmica
P ( g (x)) = − ln(− g (x))
Los puntos que se encuentran dentro
de la región factible se favorecen,
mientras que los que se encuentran
cercanos a g(x) se penalizan. Se
construye una barrera infinita antes de
las restricciones
P es continua, pero si por alguna razón, las
restricciones se violan, es muy difícil volver
a la situación anterior
64
P
Función de
barrera o interior
g(x)
Nótese que con funciones
de barrera, el parámetro η
tiene que decrecer
progresivamente para que
permita un punto cercano a
las restricciones
Cesar de Prada ISA-UVA
Número de Condición del Hessiano
-x1+x2 = 2
x2
x1
65
Cuando el parámetro η se
modifica para forzar a que los
ptos. xk del algoritmo estén
próximos a modificar la forma de
los contornos de las
restricciones, 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 por
tanto métodos basados en la
inversa del hessiano no
funcionará.
Cesar de Prada ISA-UVA
Algoritmos con funciones de
penalización
1.
2.
3.
4.
66
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))
Resolver el problema de minimizar V respecto a x
con un valor de ηi fijo
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
Comprobar las condiciones de finalización, si no se
cumplen volver al paso 2
Cesar de Prada ISA-UVA
Ejemplo de restricciones de
desigualdad
min ( x1 + 3) 2 + x22 ⎫⎪
x1 , x2
⎬
2
x1 − x2 − 4 ≤ 0 ⎪⎭
Problema
original
x12-x2 ≤ 4
Región
factible
x2
x1
Problema con penalización
añadida tipo cuadrática asimétrica
1
min ( x1 + 3) + x + ηP ( g ( x))
2
x1 , x2
η=2
2
2
0
-1
-2
⎧
0 si x12 − x2 − 4 ≤ 0
P ( g ( x)) = ⎨ 2
2
2
⎩( x1 − x2 − 4) si x1 − x2 − 4 > 0
-3
-4
-5
-6
-7
-8
-4
67
-3
-2
-1
0
1
2
Matlab
Cesar de Prada ISA-UVA
3
Ejemplo 2
η =0 función
original J(x)
η =5 función de
penalización
V(x)=J(x)+ ηP
800
600
400
0
-1
200
-2
0
2
-3
0
4
2
-2
0
-4
-6
68
-2
-4
El mínimo se
encuentra dentro de
la región g(x)≤0
-4
-5
-6
-3
-2
-1
0
1
2
Cesar de Prada ISA-UVA
Restricciones duras y blandas
z
z
z
69
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-UVA
Factibilidad / variables de holgura
z
Un procedimiento alternativo a las funciones de penalización
para usar restricciones “blandas” y garantizar que existe
solución factible con métodos tipo LP, QP, SLP, SQP, etc. es la
introducción de variables de holgura en el lado derecho de las
restricciones, que deben minimizarse, acompañadas de su
correspondiente penalización en el índice J.
min J ( x ) + αε' ε + βδ' δ
x ,ε ,δ
h(x) = ε
g(x) ≤ δ
δ≥0
70
Si existe solución factible del
problema original, obviamente el
optimo dara ε = 0, δ = 0, y se tiene
la misma solución. Pero si no
existe, ε y δ amplian la región
factible, justo lo mínimo para que
exista dicha solución factible.
Cesar de Prada ISA-UVA
Documentos relacionados
Descargar