Está en la página 1de 70

Optimización con restricciones

Prof. Cesar de Prada


ISA-UVA
prada@autom.uva.es
Indice

z Restricciones
z Problemas con restricciones de igualdad
– Multiplicadores de Lagrange
z Problemas generales NLP
– Condiciones de Karush-Kuhn-Tucher (KKT)
z Programación cuadrática QP
z Método de Wolfe, SLP
z Funciones de penalización

2 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 Problema de optimización no-lineal


con restricciones NLP
g(x) ≤ 0
3 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

Una política conducente a


x2 calcular el óptimo sin
restricciones y luego limitarlo
al contorno de la región
factible lleva a soluciones
incorrectas
x1

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 )


x
x

h ( x) = 0 h1 ( x1 , x2 ,..., xn ) = 0 ⎫
h2 ( x1 , x2 ,..., xn ) = 0 ⎪⎪
Si es posible despejar m ⎬ n>m
variables en función de las n-m .... ⎪
restantes y sustituirlas en J, es
hm ( x1 , x2 ,..., xn ) = 0⎪⎭
posible transformar el problema
en uno de optimización sin
restricciones con n-m variables
5 Cesar de Prada ISA-UVA
Restricciones de igualdad

min ( x1 x2 + x 22 )⎫⎪ x2 x 22
x1 , x 2
⎬ ⇒ x1 = ⇒ min + x22
x1 log x2 = x2 ⎪⎭ log x2 x2 log x2

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) ⎫⎪ ⇒ min L(x, λ ) = min J (x) + λ' h(x)
x
⎬ x, λ x, λ
h( x) = 0 ⎪⎭ 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) L(x,λ) Lagrangiana


x, λ x, λ

La solución del problema ampliado sin restricciones es:

∂L(x, λ ) ∂L(x, λ )
= 0, =0 ⇒ h(x * ) = 0
∂x x* , λ * ∂λ x* , λ *

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 h( x * ) = 0
∂x ∂x
⎡ ∂h 1 (x) ∂h 1 (x) ∂h 1 (x) ⎤
⎢ ∂x L
∂x 2 ∂x n ⎥
⎢ 1

⎡ ∂J ( x) ∂J (x) ∂J (x) ⎤ ⎢ ∂h 2 (x) ∂h 2 ( x)
L
∂h 2 ( x) ⎥
⎢ ∂x L ⎥ + [λ1 λ2 L λ m ]⎢ ∂x 1 ∂x 2 ∂x n ⎥ = 0
⎣ 1 ∂x 2 ∂x n ⎦ ⎢ M M M M ⎥
⎢ ∂h m (x) ∂h m (x) ∂h m (x) ⎥
⎢ L ⎥
⎣ ∂x 1 ∂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

∂J ( x) ∂h 1 (x) ∂h 2 (x) ∂h m (x)


+ λ1 + λ2 + ... + λ m =0
∂x 1 ∂x 1 ∂x 1 ∂x 1
∂J (x) ∂h (x) ∂h (x) ∂h (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 Cumple la
min x1 + x 2 ⎫⎪ cualificación de las
x1 , x 2 x1 restricciones pues

x1 + x 2 = 4 ⎪⎭
2 2 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, λ ) ∂L(x, λ ) ∂L(x, λ )


= 1 + 2λ x 1 = 0 = 1 + 2λ x 2 = 0 = x 21 + x 22 − 4 = 0
∂x 1 ∂x 2 ∂λ
1 + 2λ x 1 = 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
11 Cesar de Prada ISA-UVA
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, λ ) ∂L(x, λ ) ∂L(x, λ )


= 1 + 2λ x 1 = 1 + 2λ x 2 = x 21 + x 22 − 4
∂x 1 ∂x 2 ∂λ
⎡ ∂ 2L ∂ 2L ⎤ ⎡ 2 0⎤
⎢ ∂x 2 ∂x 1 x 2 ⎥ 2λ 0 ⎤ ⎢ ⎥ PD
⎡ ⎣ 0 2 ⎦
H x (x, λ ) = ⎢ 2 ⎥ = ⇒
1

⎢ ∂ L ∂ 2L ⎥ ⎢ 0 2λ ⎥ * * ⎡− 2 0 ⎤ ND
⎣ ⎦ x ,λ
⎢ ∂x x ∂x 22 ⎥⎦ x* , λ * ⎢ ⎥
⎣ 2 1 ⎣ 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:
0= = − I ⎪⎭
∂b ∂x * ∂b
∂J (x * ) ⎡ ∂J (x * ) * ∂h ( x ) ⎤ ∂x
* *
⎡ ∂L(x * , λ * ) ⎤ ∂x *
=⎢ + λ ' * ⎥
− λ *
' = ⎢ ⎥ − λ *
' = − λ *
'
∂b ⎣ ∂x
*
∂x ⎦ ∂b ⎣ ∂x
*
⎦ ∂b
Los multiplicadores de Lagrange óptimos (precios sombra) dan las
sensibilidades opuestas de J* respecto a las restricciones b
13 Cesar de Prada ISA-UVA
Multiplicadores de Lagrange / Precios
sombra de LP

Programación Lineal, LP: Programación no Lineal con


restricciones de igualdad
max J = c' x
x min J (x) ⎫⎪
x
Ax = b ⎬
h( x) = b ⎪⎭
x≥0 ¿Cómo varia J(x*) si b cambia en una unidad?

La respuesta (max) usando La respuesta (min) usando los


la teoría de la dualidad de multiplicadores de Lagrange es
LP es la solución del dual z, -λ,
denominada precio sombra
∂J * ∂J *
= z* = −λ * '
∂b ∂b
14 Cesar de Prada ISA-UVA
Programación no-lineal NLP

El caso general incluye restricciones de igualdad y


min J (x)
x desigualdad en las variables de decisión x.
h(x) = 0 Suponiendo que las funciones J, g y h son
g(x) ≤ 0 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)
min x 12 − x2 ⎫ x2
x1 , x 2
⎪ Conjunto
x1 + x2 = 2 ⎪ factible

2 x1
x1 + x1 ≤ 4 ⎪
2 2

⎪ x1+x2=2
x1 − 1 ≥ 0 ⎭
15 x1=1 Cesar de Prada ISA-UVA
Condiciones de optimalidad KKT

min J (x) La idea fundamental en el desarrollo de las condiciones


x KKT parte de la Lagrangiana, considerando que, si una
h(x) = 0 restricción de desigualdad está activa en el óptimo,
entonces puede tratarse como una de igualdad
g(x) ≤ 0 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 ) μ i g i ( x) = 0
j 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
De esta forma, el óptimo del problema NLP debe
min J (x) cumplir las condiciones de óptimo de la Lagrangiana
x
L(x,λ,μ), mas las condiciones adicionales.
h(x) = 0
Para funciones continuamente diferenciables J, h y g,
g(x) ≤ 0 las condiciones necesarias de óptimo respecto a las
variables x son:
∂J
+ λ'
∂h
+ μ'
∂g ⎫
= 0⎪ ∇ x J ( x) + ∑ λ j ∇ x h j ( x) + ∑ μ i ∇ x g i ( x) = 0
∂x ∂x ∂x j i

h(x) = 0 ⎪ h j ( x) = 0
⎪ Además,∇xgi y ∇xhj para las
g(x) ≤ 0 ⎬ g i ( x) ≤ 0 restricciones activas en el
μ i g i (x) = 0 ⎪ óptimo, deben ser támbién
⎪ μ i g i ( x) = 0
linealmente independientes,
μ≥0 ⎪ μi ≥ 0
⎪⎭
17 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: [∇ x h (x) ∇ x g(x)]⎢ ⎥ = −∇ x J (x)
⎣μ ⎦
9Cuando las restricciones son lineales
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

∇ x g i ( x) Problema con restricciones


de desigualdad
∇ x J ( x)
∇ x J ( x) = − ∑ μ i ∇ x g i ( x)
i
∇ x g i ( x)
Dado que, en el óptimo, para las
restricciones activas μ >0 el gradiente
Optimo de J, que es una combinación lineal
de los gradientes de gj (activas), debe
Restricciones estar en un semiplano distinto a estos
activas últimos
19 Cesar de Prada ISA-UVA
Condiciones KKT de suficiencia de
primer orden

Si la función J es convexa, las restricciones gi


min J (x) convexas y las restricciones de igualdad hj son
x

h(x) = 0 lineales, entonces la región factible es convexa y


si existe una solución de las condiciones KKT,
g(x) ≤ 0 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
μi ≥ 0
20 Cesar de Prada ISA-UVA
x*(1,1)
Ejemplo 2
x2 Conjunto
min x 1 − x2 ⎫
2
factible
x1 , x 2
⎪ ¿Cumple las
x1 + x2 = 2 ⎪ 2 x1 condiciones de

x1 + x2 ≤ 4 ⎪
2 2 suficiencia de
x1+x2=2
⎪ primer orden? Si
− x1 + 1 ≤ 0 ⎭ 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 i
− 1 + λ + μ1 2 x 2 = 0
h j ( x) = 0
⇒ x1 + x2 = 2 μ1 ≥ 0 μ 2 ≥ 0
g i ( x) ≤ 0
x 12 + x 22 ≤ 4 μ1 ( x 12 + x 22 − 4) = 0
μ i g i ( x) = 0
− x1 + 1 ≤ 0 μ 2 (− x1 + 1) = 0
21 μi ≥ 0 Cesar de Prada ISA-UVA
Ejemplo 2

μ2 − λ
x1 =
2(1 + μ1 )
1− λ
2 x1 + λ + μ1 2 x1 − μ 2 = 0 ⎫ x2 =
⎪ 2μ1
− 1 + λ + μ1 2 x 2 = 0 ⎪ μ2 − λ 1− λ
⎪ + =2
x1 + x2 = 2 μ1 ≥ 0 μ 2 ≥ 0 ⎬ 2(1 + μ1 ) 2μ1
x 12 + x 22 ≤ 4 μ1 ( x 12 + x 22 − 4) = 0⎪⎪ ⎡⎛ μ − λ ⎞ 2 ⎛ 1 − λ ⎞ 2 ⎤
⎢⎜⎜ 2
⎟⎟ + ⎜⎜ ⎟⎟ − 4⎥μ1 = 0
− x1 + 1 ≤ 0 μ 2 (− x1 + 1) = 0 ⎪⎭ ⎢⎣⎝ 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠ ⎥⎦
⎡ − μ2 + λ ⎤
⎢ 2(1 + μ ) + 1⎥μ 2 = 0
⎣ 1 ⎦

22 Cesar de Prada ISA-UVA


⎧ μ2 − λ 1 − λ
Deben examinarse todas las si μ = 0, μ = 0 ⎨ + =2
⎩ 2(1 + μ1 ) 2μ1
1 2
alternativas para encontrar
posibles soluciones ⎧ μ2 − λ + 1 − λ = 2
⎪⎪ 2(1 + μ ) 2μ
⎫ si μ1 = 0, μ 2 ≠ 0 ⎨ 1 1

μ2 − λ ⎪ − μ2 + λ
⎪ +1 = 0
x1 = ⎪ ⎪⎩ 2(1 + μ1 )
2(1 + μ1 ) ⎪
1− λ ⎪ ⎧⎛ − λ ⎞ 2 ⎛ 1 − λ ⎞ 2
x2 = ⎪ ⎪⎪⎜ ⎟ +⎜ ⎟ −4=0
2μ1 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠
⎪⎪ si μ 2 = 0, μ1 ≠ 0 ⇒ ⎨⎝
μ2 − λ 1 − λ ⎪ −λ 1− λ
+ =2 ⎬ + =2
2(1 + μ1 ) 2μ1 ⎪ ⎪
⎩ 2 (1 + μ 1 ) 2 μ 1
⎡⎛ μ − λ ⎞ ⎛ 1 − λ ⎞
2 2
⎤ ⎪
⎢⎜ 2
⎟ +⎜ ⎟ − 4⎥μ1 = 0 ⎪ ⎧ μ2 − λ 1 − λ
⎢⎣⎝ 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠ ⎥⎦ ⎪ ⎪ + =2
⎪ 2(1 + μ ) 2μ
⎡ − μ2 + λ ⎤ ⎪ 1 1
+
⎢ 2(1 + μ ) ⎥ 21 μ = 0 ⎪ 2
⎪⎛ μ 2 − λ ⎞ ⎛ 1 − λ ⎞
2

⎣ ⎦ ⎪
⎭ si μ ≠ 0 , μ ≠ 0 ⎨⎜ ⎟ +⎜ ⎟ −4 =0
+ μ μ
1 1 2
⎪⎝ 2 (1 1 ⎠
) ⎝ 1 ⎠
2
⎪ − μ2 + λ
+1 = 0
⎪ 2(1 + μ1 )

23 Cesar de Prada ISA-UVA
Detalle de la resolución μ2=0, μ1≠0

⎛ − λ ⎞ ⎛1 − λ ⎞
2 2
⎫ −λ 1− λ
⎜⎜ ⎟⎟ + ⎜⎜ ⎟⎟ − 4 = 0⎪ = 2 −
⎪ 2(1 + μ1 ) 2μ1
⎝ 2(1 + μ1 ) ⎠ ⎝ 2μ1 ⎠ ⎬ 2 2
−λ
+
1− λ
=2 ⎪ ⎛⎜ 2 − 1 − λ ⎞⎟ + ⎛⎜ 1 − λ ⎞⎟ = 4
2(1 + μ1 ) 2μ1 ⎪⎭ ⎜⎝ 2μ1 ⎟⎠ ⎜⎝ 2μ1 ⎟⎠
⎧ λ =1
2 2
⎛1 − λ ⎞ 1 − λ ⎛1 − λ ⎞
4 + ⎜⎜ ⎟⎟ − 4 + ⎜⎜ ⎟⎟ = 4 ((1 − λ ) − 4μ1 )(1 − λ ) = 0⎨
⎝ 2μ1 ⎠ 2μ1 ⎝ 2μ1 ⎠ ⎩1 − λ = 4μ1
−1
λ =1→ = 2 1 + μ1 = −1 / 4 μ1 = −5 / 4 NF
2(1 + μ1 )
4μ1 − 1 4μ1 4μ1 − 1
1 − λ = 4μ1 → + =2 + 2 = 2 → μ1 = 1 / 4, λ = 0
2(1 + μ1 ) 2μ1 2(1 + μ1 )
x1 = 0, x2 = 2 NF
24 Cesar de Prada ISA-UVA
Ejemplo 2

μ2 − λ ⎪
x1 = ⎪
2(1 + μ1 ) ⎪
1− λ ⎪ si μ = 0, μ = 0 {λ = 1, x = −1 / 2, x = 5 / 2 NF
x2 = ⎪ 1 2 1 2
2μ1 ⎪ si μ1 = 0, μ 2 ≠ 0 {λ = 1, μ 2 = 3, x1 = 1, x2 = 1
μ2 − λ 1− λ ⎪
+ =2 ⎬ ⎧μ1 = 1 / 4, λ = 0, x1 = 0, x2 = 2 NF
2(1 + μ1 ) 2μ1 ⎪ si μ1 ≠ 0, μ 2 = 0 ⎨ μ1 = −5 / 4, λ = 1 NF
⎪ ⎩
⎡⎛ μ − λ ⎞ ⎛ 1 − λ ⎞ ⎤
⎟⎟ − 4⎥μ1 = 0⎪ si μ1 ≠ 0, μ 2 ≠ 0 {λ = 1; μ1 = 0, μ 2 = 3, x1 = 1, x2 = 1
2 2

⎢⎜⎜ 2
⎟⎟ + ⎜⎜
⎢⎣⎝ 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 ⎫ Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3


x1 , x 2

x1 + x2 = 2 ⎪ Restricciones

x1 + x2 ≤ 4 ⎪
2 2
activas

− x1 + 1 ≤ 0 ⎭

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


Son linealmente
⎡1⎤ ⎡− 1⎤ ⎡1 − 1⎤ independientes, luego
∇ x h = ⎢ ⎥ ∇ x g = ⎢ ⎥ rango ⎢ ⎥ =2 se cumple la
⎣1⎦ ⎣0⎦ ⎣1 0 ⎦
cualificación de las
restricciones

26 Cesar de Prada ISA-UVA


Sensibilidad

min J (x) A partir de la interpretación de las condiciones


x
KKT como multiplicadores de Lagrange, se
h(x) = b puede establecer la siguiente relación para las
g(x) ≤ c 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

min J ( x1 , x2 ) = min x 12 − x2 ⎫ Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3, J=0


x1 , x 2 x1 , x 2

x1 + x2 = 2 ⎪
Restricciones
⎬ ¿Como varia el valor óptimo
x1 + x2 ≤ 4
2 2 activas
⎪ 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
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
28 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: *
⎡ ∇ h( x ) ⎤
z ' ∇ 2x L(x * , λ * , μ * ) z > 0 ∀z | ⎢ x * ⎥
z=0
⎣∇ 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)
29 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 Optimo: x1=1,x2=1,λ=1,μ1=0,μ2=3

⎡ ∇ x h( x * ) ⎤
min x 12 − x2 ⎫ z ' ∇ L(x , λ , μ )z > 0
2
x
* * *
∀z | ⎢ * ⎥
z=0
x1 , x 2
⎪ ⎣∇ x g act (x )⎦
x1 + x2 = 2 ⎪ Restricciones ⎡z ⎤

activas
[1 1]⎢ 1 ⎥ = 0 z1 + z 2 = 0
x1 + x2 ≤ 4 ⎪ ⎣ z2 ⎦ Vectores
2 2
de planos

− x1 + 1 ≤ 0 ⎭ ⎡ z1 ⎤ tangentes
[− 1 0]⎢ ⎥ = 0 − z1 = 0
Hessiano respecto a x ⎣ z2 ⎦
⎡ ∂L2 ∂L2 ⎤
⎢ ∂x 2 ∂x1∂x2 ⎥ ⎡2 + 2μ1 0 ⎤ ⎡2 0⎤ ⎡ z ⎤
Hx = ⎢ 1 ⎥=⎢ z ' H *
z = [ z − z ] = 2 z 2
>0
⎢ ∂L ∂L ⎥ ⎣ 0 2μ1 ⎥⎦ ⎢0 ⎥ ⎢ ⎥
x
2 2
⎣ 0⎦ ⎣ − z ⎦
⎢⎣ ∂x2 ∂x1 ∂x22 ⎥⎦ ⎡2 0 ⎤ ⎡0 ⎤
Cumple necesidad pero [0 z ]⎢ ⎥ ⎢ ⎥ =0
no la suficiencia ⎣0 0⎦ ⎣ z ⎦
30 Cesar de Prada ISA-UVA
Ejemplo 3
x12-x2 ≤ 4 -x1+x2 ≤ 2
x2
min ( x1 + 3) + x ⎫
2 2
2
x1 , x 2
⎪⎪
− x1 + x2 − 2 ≤ 0 ⎬ x1

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
j i 2 1 2

h j ( x) = 0 (− x1 + x2 − 2)μ1 = 0 μ1 ≥ 0

g i ( x) ≤ 0 ( x12 − x2 − 4)μ 2 = 0 μ 2 ≥ 0
μ i g i ( x) = 0 − x1 + x2 − 2 ≤ 0

31 μi ≥ 0 x12 − x2 − 4 ≤ 0
Cesar de Prada ISA-UVA
Ejemplo 3
μ1 − 6 ⎫
2( x1 + 3) + μ1 (−1) + μ 2 2 x1 = 0⎫ x1 = ⎪
2(1 + μ 2 )
2 x2 + μ1 (1) + μ 2 ( −1) = 0 ⎪ ⎪
⎪ μ 2 − μ1 ⎪
x2 =
(− x1 + x2 − 2)μ1 = 0 μ1 ≥ 0 ⎪⎪ 2 ⎪⎪
⎬ ⎛ 6 − μ1 μ − μ1 ⎞ ⎬
( x12 − x2 − 4)μ 2 = 0 μ 2 ≥ 0 ⎪ ⎜⎜ + 2 − 2 ⎟⎟μ1 = 0 ⎪
− x1 + x2 − 2 ≤ 0 ⎪ ⎝ 2(1 + μ 2 ) 2 ⎠ ⎪
⎪ ⎛⎛ μ − 6 ⎞ μ − μ ⎞
⎟μ = 0⎪⎪
2

x1 − x2 − 4 ≤ 0
2
⎪⎭ ⎜⎜ 1 ⎟ − 2 1
− 4
⎜ ⎜⎝ 2(1 + μ 2 ) ⎟⎠ 2 ⎟ 2 ⎪⎭
⎝ ⎠
si μ1 = 0, μ 2 = 0 → x1 = −3, x2 = 0 NF
⎧ 6 − μ1 − μ1
si μ1 ≠ 0, μ 2 = 0 ⎨ + − 2 = 0 → μ1 = 1, x1 = −5 / 2, x2 = −1 / 2 NF
⎩ 2 2
32 Cesar de Prada ISA-UVA
Ejemplo 3
⎧ 36 μ2
μ1 − 6 ⎫ ⎪ 4(1 + μ ) 2 − 2 = 4
x1 = ⎪ ⎪⎪ 2
2(1 + μ 2 )
⎪ si μ1 = 0, μ 2 ≠ 0 ⎨μ 2 + 10μ 2 + 17μ 2 = 10
3 2
μ 2 − μ1 ⎪
x2 = ⎪μ = −7.58, − 2.87, 0.46
2 ⎪⎪ ⎪ 2
⎛ 6 − μ1 μ 2 − μ1 ⎞ ⎬ ⎪⎩ x1 = −2.06, x2 = 0.23 NF
⎜⎜ + − 2 ⎟⎟μ1 = 0 ⎪
⎝ 2(1 + μ 2 ) 2 ⎠ ⎧ 6 − μ1 μ − μ1
⎪ ⎪ + 2 −2=0
⎛ ⎛ μ − 6 ⎞2 μ − μ ⎞ ⎪ ⎪2(1 + μ 2 ) 2
⎜⎜ 1 ⎟⎟ − 2 1 ⎟
− 4 μ 2 = 0⎪ si μ ≠ 0, μ ≠ 0 ⎨
⎜ 2
⎜ ⎝ 2(1 + μ 2 ) ⎠ ⎟ ⎪⎛⎜ μ1 − 6 ⎞⎟ − μ 2 − μ1 − 4 = 0
1 2

⎝ 2 ⎠ ⎪⎭
⎪⎩⎜⎝ 2(1 + μ 2 ) ⎟⎠ 2
⎛ μ 2 − μ1 ⎞ μ − μ1
2

⎜ − 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

⎨μ − μ = 10 → 6 − μ1 + 6 = 0 → μ = −14.4 NF J convexa
33 ⎪⎩ 11 + μ1
2 1 1
Cesar de Prada ISA-UVA
Cualificación de las restricciones

min ( x1 + 3) 2 + x22 ⎫ Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1


x1 , x 2
⎪⎪
− x1 + x2 − 2 ≤ 0 ⎬ Restricciones
x12 − x2 − 4 ≤ 0 ⎪⎪ activas

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


Son linealmente
⎡− 1⎤ ⎡2( −2)⎤ ⎡− 1 − 4⎤ independientes, luego
∇ x g1 = ⎢ ⎥ ∇ x g 2 = ⎢ ⎥ rango ⎢ ⎥ =2 se cumple la
⎣1⎦ ⎣ −1 ⎦ ⎣ 1 − 1⎦ cualificación de las
restricciones

34 Cesar de Prada ISA-UVA


Sensibilidad

min ( x1 + 3) 2 + x22 ⎫ Optimo: x1=-2,x2=0,μ1=2/5,μ2=2/5, J=1


x1 , x 2
⎪⎪
− x1 + x2 − 2 ≤ 0 ⎬ Restricciones
x12 − x2 − 4 ≤ 0 ⎪⎪ 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?
Sensibilidades: -2/5,-2/5
Si aumentasen una unidad cada una
manteniendo la otra, J mejoraría en 2/5
en cada caso

35 Cesar de Prada ISA-UVA


Lagrangiana L( x, λ , μ) = ( x1 + 3) 2 + x22 + μ1 ( − x1 + x2 − 2) + μ 2 ( x12 − x2 − 4)

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 * ) ⎤
min ( x1 + 3) + x ⎫
2 2
z ' ∇ L(x , λ , μ )z > 0
2
x
* * *
∀z | ⎢ * ⎥
z=0
⎣∇ x g act (x )⎦
2
x1 , x 2
⎪⎪
− x1 + x2 − 2 ≤ 0 ⎬ Restricciones
⎡ z1 ⎤
x12 − x2 − 4 ≤ 0 ⎪ ⎪ activas [ − 1 1 ]⎢ z ⎥ = 0 − z1 + z 2 = 0 Vectores
⎭ ⎣ 2⎦ de planos
tangentes
⎡ 1⎤
z
Hessiano respecto a x [ 2 ( − 2 ) − 1]⎢ z ⎥ = 0 − 4 z1 − z 2 = 0
⎣ 2⎦
⎡ ∂L 2
∂L ⎤
2

⎢ ∂x 2 ∂x ∂x ⎥ ⎡2 + 2μ 0⎤ ⎡14 / 5 0⎤ ⎡ z ⎤
H x = ⎢ 12 1 2⎥
= ⎢
2
⎥ z ' H *
z = [ z z ]⎢ ⎥ ⎢ ⎥ = 14 z 2
/5 > 0
⎢ ∂L ∂L ⎥ ⎣ 0 x
2
2⎦ ⎣ 0 0⎦ ⎣ z ⎦
⎢⎣ ∂x2 ∂x1 ∂x22 ⎥⎦ ⎡14 / 5 0⎤ ⎡ z ⎤
[z − 4 z ]⎢ ⎥ ⎢ ⎥ = 14 z 2
/5 > 0
⎣ 0 0⎦ ⎣ − 4 z ⎦
36 Cumple la suficiencia
Cesar de Prada ISA-UVA
Ejemplo 4

R
V=20V Encontrar el valor de R de modo
+
10Ω que se maximice la potencia
-
absorbida en dicha resistencia
i

400 R ⎫
P = I 2R ⎫ min 2⎪
⎬ R (R + 10) ⎬
20 = IR + 10 I ⎭ R≥0 ⎪⎭

37 Cesar de Prada ISA-UVA


Solución de problemas NLP
z La solución analítica de un problema NLP utilizando las
condiciones KKT solo es posible en casos sencillos
z 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.

38 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 Se pueden encontrar formulaciones
x 2 equivalentes que expresan el problema en
Ax = b términos de restricciones de desigualdad,
como maximización, etc. Para ello se
x≥0 utilizan las mismas técnicas de variables
de holgura, cambios de signo, etc. Que en
Q (n x n) simétrica la LP
A (m x n) rango m < n
39 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 Al ser A de rango m, los gradientes ∇xh = A,
x 2 ∇xg = -I son independientes y se cumple la
Ax − b = 0 cualificación de las restricciones
−x≤0 Si la matriz Q es positiva semi-definida,
entonces J es convexa, y como la región
Técnicas de solución: factible, si existe, también lo es, una
solución local del problema es un óptimo
9Mediante las global y puede encontrarse resolviendo las
condiciones KKT condiciones KKT
9Conjuntos activos Si Q no es PSD, entonces pueden existir
9Métodos mas óptimos locales o no existir solución y las
generales (Wolfe) condiciones KKT solo son necesarias.
41 9Otros Cesar de Prada ISA-UVA
Resolución mediante KKT (Dantzing-
Wolfe)

1
min J (x) = c' x + x' Qx Lagrangiana:
x 2 1
Ax − b = 0 L( x, λ , μ) = c' x + x ' Qx + λ ' ( Ax − b) − μ' x
2
−x≤0 Condiciones KKT:

Se puede encontrar una solución factible c + Qx + A ' λ − μ = 0


del conjunto de ecuaciones lineales en Ax = b
(x,λ,μ) como un problema LP en dichas
x ≥ 0, μ ≥ 0
variables con el algoritmo simplex tipo I, y
mantener la condición μ’x=0 imponiendo μ' x = 0
como regla de cambio de pivote que no Ecuaciones lineales excepto
esten simultáneamente en la base
por μ’x = 0, ó x ó μ son cero.
columnas con componentes del vector
42 (x,λ,μ) distintas de cero en x y en μ Cesar de Prada ISA-UVA
Resolución mediante KKT
c + Qx + A ' λ − μ = 0⎫ λ =σ−δ
⎪ La condición μ’x=0 se impone a
Ax = b ⎬ ⇒ σ ≥ 0, δ ≥ 0 traves de reglas sobre las
x ≥ 0, μ ≥ 0 ⎪ z ' = (x, σ, δ, μ) columnas en las operaciones de

pivote
μ' x = 0
⎡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) ν ⎫
z, ν
⎪ 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
43 ⎣z ⎦ ⎭ Cesar de Prada ISA-UVA
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 1
min J (x) = c' x + x' Qx
restricciones activas (cuyos índices forman el conjunto x 2
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 ⎫ En el que no existen restricciones
min J (x) = c' x + x' Qx ⎪
x 2 ⎬ PΛ tipo ≤ , y puede resolverse mas
a i ' x − βi = 0 i ∈ Λ ⎪⎭ facilmente, p.e. por sustitución o
multiplicadores de Lagrange

44 Cesar de Prada ISA-UVA


Método de los conjuntos activos

1. Escoger xk y calcular Λ x2
2. Resolver el problema , PΛ, asociado
con igualdades en Λ. Sea θk la θk
solución y λk sus multiplicadores de
Lagrange xk+1
3. 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 Λ
4. Si los λk que corresponden a x1
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 ⎠
5. Hacer k=k+1 y volver a 2

45 Cesar de Prada ISA-UVA


Ejemplo QP (Dinámico)

w e u K e − ds y
PID +
τs + 1

y
∫ dt MISE
e t 2
w min ( )
K p ,Ti ,Td

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) El algoritmo de Wolfe está orientado a resolver


x problemas algo mas generales que los de tipo
Ax ≤ b QP: Aquellos en los que la función de costo no
tiene por que ser cuadrática, aunque se
x≥0 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) Partiendo de un xk factible, se resuelve el problema


x
linealizado en xk de tipo LP:
Ax ≤ b
min J (x k ) + ∇ x J (x k )(x − x k )
x≥0 x
xk xk+1 x$
Ax ≤ b
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 Región factible
en el segmento entre xk y xk$ el cual es
factible. Esto es una optimización escalar
que se resuelve fácilmente. xk xk+1 xk$
min J (x k + σ k (x $k − x k ))
σk

x k +1 = x k + σ*k (x $k − x k )
xk+1$
De esta forma se determina un
nuevo xk+1 iterandose hasta que se xk
cumpla una condición del tipo: xk+1
x k +1 − x k J (x k +1 ) − J (x k )
≤ ε2 ≤ ε3
ε0 + xk ε 0 + J (x k )
49 Cesar de Prada ISA-UVA
Compresor con tres etapas

La potencia
consumida por un
M compresor
adiabático reversible
T T en el que la entrada
q T T
está a la temperatura
P0 P1 P2 P3 T es:
γ −1
q moles/h T ºK γ = 4/3 ⎡ ⎤
γ ⎢⎛ Psal ⎞ γ
W = qRT ⎜⎜ ⎟⎟ − 1⎥
Si un gas entra a 1bar y debe salir a 64 γ − 1 ⎢⎝ Pent ⎠ ⎥
⎣ ⎦
bares manteniendo q y T constantes,
¿cuales deben ser las presiones de trabajo cp
γ= R = constante gases
de cada etapa intermedia para gastar la cv
mínima energía?
50 Cesar de Prada ISA-UVA
Compresor

La potencia total
consumida será la
M suma de la que
consume cada
T T compresor
q T T
P0 P1 P2 P3
1 1

⎡ 1 1 1
⎤ 1 ⎛ P ⎞ ⎛ 64 ⎞
4 4
⎛ P ⎞ ⎛ P ⎞ ⎛ P ⎞ min P1 + ⎜⎜ 2 ⎟⎟ + ⎜⎜ ⎟⎟
WTotal = qRT 4 ⎢⎜⎜ 1 ⎟⎟ + ⎜⎜ 2 ⎟⎟ + ⎜⎜ 3 ⎟⎟ − 3⎥
4 4 4 4

⎢⎝ P0 ⎠ ⎝ P1 ⎠ ⎝ P2 ⎠ ⎥
P1 , P2
⎝ P1 ⎠ ⎝ P2 ⎠
⎣ ⎦ P1 ≥ 1, P1 ≤ P2 ≤ 64
P1 ≥ P0 , P1 ≤ P2 ≤ P3

51 Cesar de Prada ISA-UVA


Compresor / Método de Wolfe
1 1
1 ⎛ x ⎞ ⎛ 64 ⎞
4 4 Punto factible inicial x1=2,, x2 =10
min x1 + ⎜⎜ 2 ⎟⎟ + ⎜⎜ ⎟⎟
4
x1 , x2
⎝ x1 ⎠ ⎝ x2 ⎠ Linealización: J (x k ) + ∇ x J (x k )(x − x k )
− x1 ≤ −1 ∂J
= 0.25x 1− 0.75 (1 − x 02.25 x 1− 0.5 ) 2,10 = −0.0383
x1 − x2 ≤ 0 ∂x 1 2 ,10
x2 ≤ 64 ∂J
= 0.25x 2− 0.75 ( x 1− 0.25 − 64 0.25 x 2− 0.5 ) 2,10 = −0.00238
∂x 2
x2 64 2 ,10

min (J (2,10) − 0.0383( x 1 − 2) − 0.00238( x 2 − 10))


x1 , x 2
x2=x1
− x 1 ≤ −1
J(2,10)=4.275
x1 − x 2 ≤ 0
52 1 x1 x 2 ≤ 64 Cesar de Prada ISA-UVA
Compresor / Método de Wolfe
min (−0.0383 x1 − 0.00238 x2 ) Problema LP equivalente, puede
x1 , x2
resolverse gráficamente.
− x1 ≤ −1
Costo: -0.0383x1 – 0.00238x2 = c < 0
x1 − x2 ≤ 0
x2 ≤ 64 x2 = -16.09x1-420.16 c

Optimo LP: (64,64)


x2 64 (64,64)
(64,64) x2 64

Proporciona
x2=x1 (2,10)
una dirección x2=x1
de
minimización
1 x1 1 x1
de J
53 Cesar de Prada ISA-UVA
Compresor / Método de Wolfe

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

(64,64)
min J (2 + α(64 − 2), 10 + α(64 − 10))
x2 64 α

0 ≤ α ≤1
(2,10) x2=x1 Puede resolverse por interpolación, sección
dorada, etc. Solución: α* = 0.027

1 x1 Nuevo punto:
Se continua
x1= 2+0.027 62=3.69
iterando hasta
x2= 10+0.027 54=11.47 que no haya
mejora
J=4.25 apreciable
54 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 ⎪
⎭ ⎭
Se añaden restricciones sobre las máximas desviaciones del
punto de linealización que aseguran que esta es aceptable
55 Cesar de Prada ISA-UVA
Métodos de Penalización

La idea básica es transformar el problema NLP min J (x)


x

h(x) = 0
En otro sin restricciones tal que su solución se g(x) ≤ 0
aproxime a la del NLP
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 P P Funciones de
Penalización para: Penalización
gi (x) ≤ 0 para: h(x) = 0

gi(x) h(x)
57 Cesar de Prada ISA-UVA
Funciones de Barrera/Penalización
h(x) = 0
gi(x) ≤ 0 Penalización: Si se
P P
Penalización violan las restricciones, Penalización
externa entonces P toma valores parabólica
muy grandes. El óptimo
puede violar ligeramente h(x)
gi(x)
las restricciones

gi(x) ≤ 0 P Barrera: si el valor de gi(x) se


Penalización
aproxima a la restricción,
interior o de
entonces P toma un valor muy
barrera
grande. Fuerza a que x se
gi(x) encuentre dentro de la región
factible
58 Cesar de Prada ISA-UVA
Funciones de Penalización

Restricciones de Igualdad h( x) = 0 P
Penalización para
bólica ηh(x)2
Si h(x) se desvía del valor de cero ,
entonces la función P crece
cuadráticamente, penalizando los h(x)
valores de V(x) en los puntos no P, función continua con
factibles. El parámetro η proporciona derivadas continuas
la magnitud de la penalización.
P Valor Absoluto
Se debe adicionar un término η|h(x)|,
η(hi(x))2 a la función objetivo J, por discontinuas
cada una de las restricciones de en h(x) = 0
igualdad existentes. h(x)
59 Cesar de Prada ISA-UVA
Ejemplo de restricción de igualdad

min ( x1 + 3) 2 + x22 ⎫⎪ -x1+x2 = 2


x2
x1 , x2
⎬ Problema Conjunto
− x1 + x2 − 2 = 0 ⎪⎭ original factible
x1

min ( x1 + 3) 2 + x22 + η(− x1 + x2 − 2) 2


x1 , x2

Problema con la penalización añadida -x1+x2 = 2


x2
Curvas de nivel deformadas que
fuerzan soluciones en torno a la x1
restricción –x1+x2=2
(Aunque el problema es díficil Matlab
numéricamente al aumentar η)
60 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

El mínimo de J(x)
se encuentra
61 alrededor de h(x)=0 Cesar de Prada ISA-UVA
Funciones de Penalización
Restricciones de desigualdad g ( x) ≤ 0

Penalización Infinita P
Penalización
⎧ 0 if g( x ) ≤ 0 Exterior
P( g( x )) = ⎨ 20
⎩10 g( x ) if g(x ) > 0
g(x)
Principal inconveniente: discontinua en g(x) = 0

Penalización cuadrática P
asimétrica (brakets) Penalización
P( g( x )) = [max(0, g( x ))] exterior
2

Continua y con derivadas continuas g(x)

Al igual que con otras funciones de penalización:


se pueden violar ligeramente las restricciones
62 Cesar de Prada ISA-UVA
Funciones de Penalización

Penalización Exacta P

En problemas con restricciones de


igualdad y desigualdad el mínimo
de la función de coste: h(x)
Principal
min J (x) + ∑ ωi hi (x) + ∑ σ i max(0, g j (x)) inconveniente:
x
i j
discontinuidades en
Coincide exactamente con el óptimo x* de un h(x) = 0 and g(x) = 0
P
problema NLP si los pesos ωi, σj satisfacen:

0 ≤ ωi ≥ λ*i 0 ≤ σ i ≥ μ*i
donde x*,λ*, μ* son la solución de las g(x)
condiciones de KKT. Luenberger (1984)
63 Cesar de Prada ISA-UVA
Funciones de Barrera

Barrera Logarítmica
P ( g (x)) = − ln(− g (x)) P Función de
Los puntos que se encuentran dentro barrera o interior
de la región factible se favorecen,
mientras que los que se encuentran
g(x)
cercanos a g(x) se penalizan. Se
construye una barrera infinita antes de
Nótese que con funciones
las restricciones
de barrera, el parámetro η
P es continua, pero si por alguna razón, las tiene que decrecer
restricciones se violan, es muy difícil volver progresivamente para que
a la situación anterior permita un punto cercano a
las restricciones
64 Cesar de Prada ISA-UVA
Número de Condición del Hessiano

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
-x1+x2 = 2 restricciones, el problema de mal
x2 condicionamiento se incrementa.
Un número de condición de 105
x1 es moderadamente grande, 109
es grande y 1014 muy grande por
tanto métodos basados en la
inversa del hessiano no
funcionará.
65 Cesar de Prada ISA-UVA
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

66 Cesar de Prada ISA-UVA


Ejemplo de restricciones de
desigualdad

min ( x1 + 3) 2 + x22 ⎫⎪ x12-x2 ≤ 4


x1 , x2
⎬ Problema Región
original x2
x1 − x2 − 4 ≤ 0 ⎪⎭
2
factible
x1

Problema con penalización


añadida tipo cuadrática asimétrica η=2
1

min ( x1 + 3) + x + ηP ( g ( x))
2 2
2
0

x1 , x2 -1

-2

⎧ 0 si x12 − x2 − 4 ≤ 0
-3

P ( g ( x)) = ⎨ 2
-4

-5

⎩( x1 − x2 − 4) si x1 − x2 − 4 > 0
2 2 -6

-7

-8
-4 -3 -2 -1 0 1 2 3

Matlab
67 Cesar de Prada ISA-UVA
Ejemplo 2

η =0 función
original J(x)
η =5 función de
800
penalización
600
V(x)=J(x)+ ηP

400
0

-1
200
-2

0 -3

2
-4
0 4
-2 2 -5

0
-4 -6

-6 -4
-2
El mínimo se -3 -2 -1 0 1 2

encuentra dentro de
68 la región g(x)≤0
Cesar de Prada ISA-UVA
Restricciones duras y blandas

z 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,..
z 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.
z Los problemas con funciones de penalización se denominan a
veces “elásticos” en contraposición a las formulaciones
clasicas “inelásticas”

69 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.
Si existe solución factible del
min J ( x ) + αε' ε + βδ' δ problema original, obviamente el
x ,ε ,δ
optimo dara ε = 0, δ = 0, y se tiene
h(x) = ε
la misma solución. Pero si no
g(x) ≤ δ existe, ε y δ amplian la región
δ≥0 factible, justo lo mínimo para que
exista dicha solución factible.
70 Cesar de Prada ISA-UVA

También podría gustarte