You are on page 1of 70

Optimizacin con restricciones

Prof. Cesar de Prada ISA-UVA prada@autom.uva.es

Indice
Restricciones Problemas con restricciones de igualdad

Multiplicadores de Lagrange Condiciones de Karush-Kuhn-Tucher (KKT)

Problemas generales NLP

Programacin cuadrtica QP Mtodo de Wolfe, SLP Funciones de penalizacin


2
Cesar de Prada ISA-UVA

Restricciones
En la mayor parte de los problemas de toma de decisiones estn 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 operacin, existencias, etc. Por ello un problema de optimizacin a menudo se formula como:

min J (x)
x

h(x) = 0 g(x) 0

Problema de optimizacin no-lineal con restricciones NLP


Cesar de Prada ISA-UVA

Restricciones
La presencia de restricciones limita el espacio de bsqueda pero, al mismo tiempo, dificulta el encontrar la solucin ptima porque se pierden algunos de los criterios de optimalidad como que el gradiente es nulo en el ptimo

x2

x1 Regin factible

Una poltica conducente a calcular el ptimo sin restricciones y luego limitarlo al contorno de la regin factible lleva a soluciones incorrectas

Cesar de Prada ISA-UVA

Restricciones de igualdad
Hay una categora de problemas en los cuales las variables de decisin estn sujetas solo a un conjunto de ecuaciones de igualdad:

min J (x)
x

min J ( x1 , x2 ,..., xn )
x

h ( x) = 0
Si es posible despejar m variables en funcin de las n-m restantes y sustituirlas en J, es posible transformar el problema en uno de optimizacin sin restricciones con n-m variables

h1 ( x1 , x2 ,..., xn ) = 0 h2 ( x1 , x2 ,..., xn ) = 0 n>m .... hm ( x1 , x2 ,..., xn ) = 0

Cesar de Prada ISA-UVA

Restricciones de igualdad
min ( x1 x2 + x 2 ) x2 2 x1 , x 2 x1 = log x2 x1 log x2 = x2 min
x2

x2 2 log x2

2 + 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 clculo. En ese caso se puede aplicar un algoritmo de optimizacin 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 mtodo de Newton para resolver las ecuaciones en una rutina de clculo.

Cesar de Prada ISA-UVA

Multiplicadores de Lagrange
Para problemas de optimizacin con restricciones de igualdad, el mtodo 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 solucin 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 tambin tiene que ser una solucin del problema de la Lagrangiana L

Cesar de Prada ISA-UVA

Multiplicadores de Lagrange
min L(x, ) = min J (x) + ' h(x)
x, x,

L(x,) Lagrangiana

La solucin del problema ampliado sin restricciones es:

L(x, ) = 0, x x* , *

L(x, ) =0 x* , *

h(x * ) = 0

Que puede resolverse mediante el mtodo de Newton. Si tiene solucin, despus hay que comprobar mediante el Hessiano de L que la solucin x*,* corresponde verdaderamente a un mnimo de L respecto a x

Cesar de Prada ISA-UVA

Cualificacin de las restricciones


J ( x * ) h( x * ) + *' =0 x x h( x * ) = 0 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

J ( x) x 1

J (x) J (x) L + [1 x 2 x n

Para que haya solucin ptima, debe cumplirse que los gradientes xhj sean linealmente independientes, lo que se conoce como cualificacin de las restricciones

Cesar de Prada ISA-UVA

Cualificacin 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 solucin ptima, debe cumplirse que los gradientes xhj sean linealmente independientes, lo que se conoce como cualificacin 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 , x 2 , x1 , x 2 ,

x1 x1+x2=c

Cumple la cualificacin de las restricciones pues solo hay una

min L( x 1 , x 2 , ) = min x 1 + x 2 + ( x 2 + x 2 4) 1 2 L(x, ) = 1 + 2 x 2 = 0 x 2 L(x, ) = x2 + x2 4 = 0 1 2

L(x, ) = 1 + 2 x 1 = 0 x 1 1 + 2 x 1 = 0

11

x 1 = 1 / 2 * = 1 /( 2 2 ) 1 + 2 x 2 = 0 x 2 = 1 / 2 x1 = m 2 / 2 x 2 + x 2 4 = 0 1 / 42 + 1 / 42 = 4 x 2 = m 2 / 2 1 2 Cesar de Prada ISA-UVA

Ejemplo 1
x1 , x 2 ,

min L( x 1 , x 2 , ) = min x 1 + x 2 + ( x 2 + x 2 4) 1 2
x1 , x 2 ,

L(x, ) = 1 + 2 x 1 x 1 2L x 2 1 H x (x, ) = 2 L x x 2 1

L(x, ) = 1 + 2 x 2 x 2

L(x, ) = x2 + x2 4 1 2

2 0 2L x 1 x 2 2 0 2 PD 0 = 2 * * 2 L 0 ND 0 2 x , x 2 x* , * 2 2 0

Basta que el mnimo 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

Interpretacin econmica 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 Cmo vara J(x*) si b cambia en una unidad?
J (x * ) J (x * ) x * = b x * b * * * (h(x ) b) h(x ) x * I Multiplicando por y sumando: = 0= b x * b * * L(x * , * ) x * J (x * ) J (x * ) * h ( x ) x * '= + ' = * ' = * ' * * b b x * b x x

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


Programacin Lineal, LP: Programacin no Lineal con restricciones de igualdad

max J = c' x
x

Ax = b x0

Cmo varia J(x*) si b cambia en una unidad?

min J (x) x h ( x) = b

La respuesta (max) usando la teora de la dualidad de LP es la solucin del dual z, denominada precio sombra

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

J = z* b
*

J * = * ' b
Cesar de Prada ISA-UVA

14

Programacin no-lineal NLP


min J (x)
x

El caso general incluye restricciones de igualdad y desigualdad en las variables de decisin 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

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

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 restriccin de desigualdad est activa en el ptimo, entonces puede tratarse como una de igualdad asignndosele 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

i g i ( x) = 0

Por otra parte si aumentamos el lado derecho de g(x) 0 la regin 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

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:

17

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 i

h j ( x) = 0 g i ( x) 0 i g i ( x) = 0 i 0

Adems,xgi y xhj para las restricciones activas en el ptimo, deben ser tmbin linealmente independientes,
Cesar de Prada ISA-UVA

Cualificacin 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 solucin) se conoce como cualificacin de las restricciones y puede no ser fcil de verificar. En ciertos casos se cumple siempre: Cuando las restricciones son lineales

[ x h (x)

x g(x)] = x J (x)

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

18

Cesar de Prada ISA-UVA

En el ptimo
x g i ( x) x J ( x) x g i ( x)

Problema con restricciones de desigualdad

x J ( x) = i x g i ( x)
i

Optimo Restricciones activas

Dado que, en el ptimo, para las restricciones activas >0 el gradiente de J, que es una combinacin lineal de los gradientes de gj (activas), debe estar en un semiplano distinto a estos ltimos
Cesar de Prada ISA-UVA

19

Condiciones KKT de suficiencia de primer orden


min J (x)
x

h(x) = 0 g(x) 0

Si la funcin J es convexa, las restricciones gi convexas y las restricciones de igualdad hj son lineales, entonces la regin factible es convexa y si existe una solucin de las condiciones KKT, entonces dicha solucin 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
Cesar de Prada ISA-UVA

20

x*(1,1)

Ejemplo 2
min x 1 x2 x1 , x 2 x1 + x2 = 2 2 2 x1 + x2 4 x1 + 1 0
2

x2
2 x1

Conjunto factible

x1+x2=2 x1=1

Cumple las condiciones de suficiencia de primer orden? Si

2 L( x, , ) = x12 x2 + ( x1 + x2 2) + 1 ( x12 + x2 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

h j ( x) = 0 g i ( x) 0
i g i ( x) = 0

1 + + 1 2 x 2 = 0 x1 + x2 = 2

1 0 2 0

x 12 + x 2 4 1 ( x 12 + x 2 4) = 0 2 2 x1 + 1 0 2 ( x1 + 1) = 0
Cesar de Prada ISA-UVA

21

i 0

Ejemplo 2
2 2(1 + 1 ) 1 x2 = 21 2 1 + =2 2(1 + 1 ) 21 x1 =

1 + + 1 2 x 2 = 0 x1 + x2 = 2 1 0 2 0 x 12 + x 2 4 1 ( x 12 + x 2 4) = 0 2 2 x1 + 1 0 2 ( x1 + 1) = 0 2 x1 + + 1 2 x1 2 = 0

2 1 2 2 2(1 + ) + 2 41 = 0 1 1 2 + 2(1 + ) + 1 2 = 0 1
Cesar de Prada ISA-UVA

22

23

1 + =2 si 1 = 0, 2 = 0 2 Deben examinarse todas las 2(1 + 1 ) 21 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 ) 21 21 si 2 = 0, 1 0 2 1 1 + =2 + =2 2(1 + 1 ) 21 2(1 + 1 ) 21 2 2 1 2 41 = 0 + 2 1 + =2 2(1 + 1 ) 21 2(1 + 1 ) 21 2 + 2 2 + 1 2 = 0 1 2(1 + ) si 1 0, 2 0 2 + 4 =0 1 2(1 + 1 ) 21 2 + +1 = 0 2(1 + 1 )
Cesar de Prada ISA-UVA

Detalle de la resolucin 2=0, 10


2 2 1 1 = 2 2(1 + ) + 2 4 = 0 21 2(1 + 1 ) 1 1 2 2 1 2 1 + 1 = 4 =2 + 2 21 1 2(1 + 1 ) 21

1 =1 1 1 =4 4 + ((1 ) 41 )(1 ) = 0 4+ 2 21 21 1 = 41 1 1 = 2 1 + 1 = 1 / 4 1 = 5 / 4 NF =1 2(1 + 1 )


2 2

1 = 41

41 1 41 + =2 2(1 + 1 ) 21

41 1 + 2 = 2 1 = 1 / 4, = 0 2(1 + 1 )
Cesar de Prada ISA-UVA

24

x1 = 0, x2 = 2 NF

Ejemplo 2
2 x1 = 2(1 + 1 ) si = 0, = 0 { = 1, x = 1 / 2, x = 5 / 2 NF 1 1 2 1 2 x2 = 21 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 ) 21 si 1 0, 2 = 0 1 = 5 / 4, = 1 NF 2 2 1 2 + 41 = 0 si 1 0, 2 0 { = 1; 1 = 0, 2 = 3, x1 = 1, x2 = 1 2(1 + 1 ) 21 Solucin ptima 2 + 2(1 + ) + 1 2 = 0 1

25

Cualificacin 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

Son linealmente independientes, luego se cumple la cualificacin de las restricciones


Cesar de Prada ISA-UVA

26

Sensibilidad
min J (x)
x

h(x) = b g(x) c

A partir de la interpretacin de las condiciones KKT como multiplicadores de Lagrange, se puede establecer la siguiente relacin para las sensibilidades:

J ( x* ) J (x* ) * = ' = * ' b c


La cual nos permite deducir como cambia la funcin 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 funcin de coste J si se aumenta el trmino 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 mejorara en una unidad el costo J, no influira en la segunda y la tercera mejorara J en tres unidades
Cesar de Prada ISA-UVA

28

Condiciones de segundo orden


Las condiciones de KKT son expresiones de primer orden que pueden dar lugar a mximos, mnimos o puntos de silla de la Lagrangiana L(x,, ) en (x*,*,*). Las condiciones de segundo orden permiten determinar si se trata de un mnimo respecto a las variables x y proporcionan condiciones suficientes para la optimalidad de la solucin. Vienen dadas por la condicin sobre el Hessiano: *

z ' 2 L(x * , * , * )z > 0 x

h( x ) z=0 z | x * x g act (x )

29

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

2 L( x, , ) = x12 x2 + ( x1 + x2 2) + 1 ( x12 + x2 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 Vectores z activas 2


2 x * * *

Hessiano respecto a x

z1 [ 1 0] = 0 z1 = 0 z2

de planos tangentes

L2 x 2 1 Hx = 2 L x2 x1

L2 x1x2 2 + 21 = 2 L 0 2 x2

30

0 2 * z ' H x z = [z z ] 21 0 2 [0 z ] Cumple necesidad pero 0 no la suficiencia

0 z = 2z 2 > 0 0 z 0 0 z = 0 0

Cesar de Prada ISA-UVA

Ejemplo 3
x12-x2 4
2 2 2

-x1+x2 2 x2

min ( x1 + 3) + x x1 , x 2 x1 x1 + x2 2 0 x12 x2 4 0 2 L( x, , ) = ( x1 + 3) 2 + x2 + 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 g i ( x) 0 i g i ( x) = 0

( 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

31

i 0

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 1 6 2(1 + 2 ) 2 1 x2 = 2 6 1 1 + 2 2 1 = 0 2(1 + ) 2 2 2 6 2 1 1 4 2 = 0 2(1 + 2 ) 2

x1 =

si 1 = 0, 2 = 0

x1 = 3, x2 = 0

NF

32

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
x1 =

1 6 2(1 + 2 ) si 1 = 0, 2 0 2 1 x2 = 2 6 1 1 + 2 2 1 = 0 2(1 + ) 2 2 6 2 2 1 1 = 0 si 1 0, 2 0 2 2(1 + ) 2 4 2 1 6 2 1 4 = 0 2 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 regin convexa y J convexa = 10 6 1 + 6 = 0 = 14.4 NF 2 1 1 11 + 1 33 Cesar de Prada ISA-UVA

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

Cualificacin de las restricciones


2 min ( x1 + 3) 2 + x2 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 x g1 = x g 2 = rango 1 1 = 2 1 1

Son linealmente independientes, luego se cumple la cualificacin de las restricciones

34

Cesar de Prada ISA-UVA

Sensibilidad
2 min ( x1 + 3) 2 + x2 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 Como varia el valor ptimo de la funcin de coste J si se aumenta el trmino derecho de las restricciones en una unidad?

Sensibilidades: -2/5,-2/5

Si aumentasen una unidad cada una manteniendo la otra, J mejorara en 2/5 en cada caso

35

Cesar de Prada ISA-UVA

Lagrangiana

2 L( x, , ) = ( x1 + 3) 2 + x2 + 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 gi (x) = 0 1 j i 2 x2 + 1 (1) + 2 ( 1) = 0

Ejemplo 3
2 2 2

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


2 x * * *

Condiciones de 2 orden

36

z ' L(x , , )z > 0 min ( x1 + 3) + x x1 , x 2 x1 + x2 2 0 Restricciones z [ 1 1] 1 = 0 z1 + z2 = 0 Vectores activas z x12 x2 4 0 de planos 2 tangentes z1 [2(2) 1] = 0 4 z1 z 2 = 0 Hessiano respecto a x z2 L2 L2 x 2 14 / 5 0 z x1x2 2 + 2 2 0 * = z ' H x z = [z z ] = 14 z 2 / 5 > 0 H x = 12 L2 0 2 0 z L 0 2 x2 x1 x2 14 / 5 0 z [z 4 z ] = 14 z 2 / 5 > 0 0 4 z 0 Cumple la suficiencia
Cesar de Prada ISA-UVA

x h( x * ) z | z=0 * x g act (x )

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

400 R min R ( R + 10 )2 20 = IR + 10 I R0 P = I 2R

37

Cesar de Prada ISA-UVA

Solucin de problemas NLP


La solucin analtica de un problema NLP utilizando las condiciones KKT solo es posible en casos sencillos Existen varias alternativas prcticas para abordar la solucin numrica de un problema NLP. Explotar la estructura particular del mismo (QP, Wolfe,..) Transformar el problema en otro equivalente sin restricciones (Funciones de penalizacin) Sucesin de problemas aproximados mas sencillos (SLP, Cutting Plane,..) Resolucin aproximada secuencial de las condiciones KKT (SQP) Mtodos tipo gradiente (GRG) Etc.

38

Cesar de Prada ISA-UVA

Programacin Cuadrtica (QP)


Al igual que existen muchos problemas prcticos de inters tipo LP, otro tipo particular de problemas de optimizacin con restricciones que tienen mucha aplicacin son los denominados de Programacin Cuadrtica, o QP, en que la funcin de costo es cuadrtica en las variables de decisin y las restricciones son lineales.

1 min J (x) = c' x + x' Qx x 2 Ax = b x0


Q (n x n) simtrica

Se pueden encontrar formulaciones equivalentes que expresan el problema en trminos de restricciones de desigualdad, como maximizacin, etc. Para ello se utilizan las mismas tcnicas de variables de holgura, cambios de signo, etc. Que en la LP
Cesar de Prada ISA-UVA

39

A (m x n) rango m < n

Programacin cuadrtica
x2 x* x2 x*

x1 A diferencia de la programacin lineal, en el caso de la programacin cuadrtica el ptimo puede encontrarse en el interior o en el contorno de la regin factible

x1

40

Cesar de Prada ISA-UVA

Programacin cuadrtica (QP)


1 min J (x) = c' x + x' Qx x 2 Ax b = 0 x0
Tcnicas de solucin: Mediante las condiciones KKT Conjuntos activos Mtodos mas generales (Wolfe) Al ser A de rango m, los gradientes xh = A, xg = -I son independientes y se cumple la cualificacin de las restricciones Si la matriz Q es positiva semi-definida, entonces J es convexa, y como la regin factible, si existe, tambin lo es, una solucin 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 solucin y las condiciones KKT solo son necesarias.
Cesar de Prada ISA-UVA

41

Otros

Resolucin mediante KKT (DantzingWolfe)


1 min J (x) = c' x + x' Qx x 2 Ax b = 0 x0

Lagrangiana:

1 L( x, , ) = c' x + x ' Qx + ' ( Ax b) ' x 2


Condiciones KKT:

42

Se puede encontrar una solucin factible del conjunto de ecuaciones lineales en (x,,) como un problema LP en dichas variables con el algoritmo simplex tipo I, y mantener la condicin x=0 imponiendo como regla de cambio de pivote que no esten simultneamente en la base columnas con componentes del vector (x,,) distintas de cero en x y en

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

Resolucin mediante KKT


c + Qx + A ' = 0 = Ax = b 0, 0 z ' = (x, , , ) x 0, 0 ' x = 0
La condicin 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 = b Ax = b A 0 0 0 z0 z0


Problema tipo Fase I del simplex cuya solucin ptima, si *=0, da la solucin de las [I M ] = , z 0, 0 condiciones KKT z Cesar de Prada ISA-UVA
z,

max (1,1,...1)

43

Conjuntos activos (Active set)


Est indicado para problemas formulados en trminos de desigualdades lineales. El mtodo 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 formulacin momentneamente 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

En el que no existen restricciones tipo , y puede resolverse mas facilmente, p.e. por sustitucin o multiplicadores de Lagrange
Cesar de Prada ISA-UVA

44

Mtodo de los conjuntos activos


1. 2.

3.

4.

5.

Escoger xk y calcular x2 Resolver el problema , P, asociado k con igualdades en . Sea k la solucin y k sus multiplicadores de Lagrange xk+1 Calcular xk+1=xk+k(k-xk) Si k no xk verifica una restriccin que no est en (k <1) aadir 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 1, min correspondiente al menor de ellos de k = min i a ' ( x k ) ai '( k xk )<0 i k Hacer k=k+1 y volver a 2
Cesar de Prada ISA-UVA

45

Ejemplo QP (Dinmico)
w e u
K e ds s + 1

PID

y w
K p ,Ti ,Td

min

e(t ) 2 dt MISE

K p 0, Ti 0, Td 0

error = w - y ( funcin lineal de Kp , Ti, Td )

46

Cesar de Prada ISA-UVA

Mtodo de Wolfe
min J (x)
x

Ax b x0

El algoritmo de Wolfe est orientado a resolver problemas algo mas generales que los de tipo QP: Aquellos en los que la funcin de costo no tiene por que ser cuadrtica, aunque se mantienen las restricciones lineales

Se resuelve mediante una sucesin de problemas LP aproximados En concreto sustituye J(x) por una aproximacin de primer orden, y usa el resultando de este problema para definir un direccin de bsqueda factible en la que se mejora J(x) respetando las restricciones

47

Cesar de Prada ISA-UVA

Mtodo de Wolfe
min J (x)
x

Ax b x0

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 x0

xk

xk+1

x$

Por ser un problema LP tiene una solucin ptima en un vrtice 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 $ x k ) 0 x J (x k )(x $ x k ) k k

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

48

Cesar de Prada ISA-UVA

Mtodo de Wolfe
El segundo paso del algoritmo consiste en minimizar J(x) en la direccin xk$ - xk en el segmento entre xk y xk$ el cual es factible. Esto es una optimizacin escalar que se resuelve fcilmente. Regin factible xk xk+1 xk$

min J (x k + k (x $ x k )) k
k

x k +1 = x k + * (x $ x k ) k k
De esta forma se determina un nuevo xk+1 iterandose hasta que se cumpla una condicin del tipo: xk

xk+1$

49

x k +1 x k 2 0 + xk

J (x k +1 ) J (x k ) 3 0 + J (x k )

xk+1

Cesar de Prada ISA-UVA

Compresor con tres etapas


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

M q T P0 T P1 T P2 T P3

q 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 mnima energa?

1 Psal W = qRT P 1 1 ent cp = R = constante gases cv

50

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 T P3

1 1 1 P1 4 P2 4 P3 4 WTotal = qRT 4 + + 3 P0 P1 P2 P1 P0 , P1 P2 P3

P 64 min P1 + 2 + P P P , P2 1 1 2 P1 1, P1 P2 64
1 4

1 4

1 4

51

Cesar de Prada ISA-UVA

Compresor / Mtodo de Wolfe


x 64 min x1 + 2 + x x x1 , x2 1 2 x1 1 J x1 x2 0 x 1 x2 64 J
1 4 1 4 1 4

Punto factible inicial x1=2,, x2 =10 Linealizacin:

J (x k ) + x J (x k )(x x k )

= 0.25x 1 0.75 (1 x 0.25 x 1 0.5 ) 2,10 = 0.0383 2 2 ,10 = 0.25x 2 0.75 ( x 1 0.25 64 0.25 x 2 0.5 ) 2,10 = 0.00238 2 ,10

x2

64 x2=x1

x 2
x1 , x 2

min (J (2,10) 0.0383( x 1 2) 0.00238( x 2 10)) x 1 1 x1 x 2 0 x 2 64


J(2,10)=4.275
Cesar de Prada ISA-UVA

52

x1

Compresor / Mtodo de Wolfe


min (0.0383 x1 0.00238 x2 )
x1 , x2

x1 1 x1 x2 0 x2 64
x2 64 x2=x1 1 x1 (64,64)

Problema LP equivalente, puede resolverse grficamente. Costo: -0.0383x1 0.00238x2 = c < 0 x2 = -16.09x1-420.16 c Optimo LP: (64,64) x2 Proporciona una direccin de minimizacin de J 64 (2,10) (64,64) x2=x1 x1

53

Cesar de Prada ISA-UVA

Compresor / Mtodo de Wolfe


Paso 2: minimizacin en el segmento (2,10) a (64,64) x2 64 (64,64)

min J (2 + (64 2), 10 + (64 10))

0 1
x2=x1 x1 Puede resolverse por interpolacin, seccin dorada, etc. Solucin: * = 0.027 Nuevo punto: x1= 2+0.027 62=3.69 x2= 10+0.027 54=11.47 J=4.25 Se continua iterando hasta que no haya mejora apreciable

(2,10)

54

Cesar de Prada ISA-UVA

Programacin lineal sucesiva SLP


Una extensin natural del mtodo 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 solucin xk* se supone estar mas prxima al ptimo NLP. A continuacin se toma xk+1=xk* y se vuelve a linealizar J(x) y las restricciones iterndose 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 aaden restricciones sobre las mximas desviaciones del punto de linealizacin que aseguran que esta es aceptable
Cesar de Prada ISA-UVA

Mtodos de Penalizacin
La idea bsica es transformar el problema NLP En otro sin restricciones tal que su solucin 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 funcin a minimizar que aade a J las funciones de penalizacin Pi. i son parmetros que se va ajustando a lo largo del algoritmo para acercar la minimizacin de V a la solucin del problema NLP

56

Cesar de Prada ISA-UVA

Funciones de Penalizacin
min V (x, ) = min J (x) + i Pi (hi (x), g i (x))
x x i

La principal caracterstica de las funciones de penalizacin 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 bsqueda del mnimo de V en esta regin. Las penalizaciones P modifican la funcin de coste original J, incrementando su valor en aquellas regiones donde no se satisfacen las restricciones. Funciones de Penalizacin para: gi (x) 0 P P Funciones de Penalizacin para: h(x) = 0 h(x)
Cesar de Prada ISA-UVA

57

gi(x)

Funciones de Barrera/Penalizacin
gi(x) 0 P Penalizacin externa Penalizacin: Si se violan las restricciones, entonces P toma valores muy grandes. El ptimo puede violar ligeramente gi(x) las restricciones h(x) = 0 P Penalizacin parablica h(x)

gi(x) 0

Penalizacin interior o de barrera gi(x)

Barrera: si el valor de gi(x) se aproxima a la restriccin, entonces P toma un valor muy grande. Fuerza a que x se encuentre dentro de la regin factible
Cesar de Prada ISA-UVA

58

Funciones de Penalizacin
Restricciones de Igualdad h( x) = 0 Si h(x) se desva del valor de cero , entonces la funcin P crece cuadrticamente, penalizando los valores de V(x) en los puntos no factibles. El parmetro proporciona la magnitud de la penalizacin. Se debe adicionar un trmino (hi(x))2 a la funcin objetivo J, por cada una de las restricciones de igualdad existentes. P Penalizacin para blica h(x)2 h(x) P, funcin continua con derivadas continuas P Valor Absoluto |h(x)|, discontinuas en h(x) = 0 h(x)
Cesar de Prada ISA-UVA

59

Ejemplo de restriccin de igualdad


2 min ( x1 + 3) 2 + x2 x1 , x2 x1 + x2 2 = 0

Problema original

x2

-x1+x2 = 2 Conjunto factible

x1 -x1+x2 = 2 x2 x1

2 min ( x1 + 3) 2 + x2 + ( x1 + x2 2) 2 x1 , x2

Problema con la penalizacin aadida Curvas de nivel deformadas que fuerzan soluciones en torno a la restriccin x1+x2=2 (Aunque el problema es dficil numricamente al aumentar )

Matlab
Cesar de Prada ISA-UVA

60

Ejemplo 1
=0 funcin original J(x) =1 Funcin de Penalizacin V(x)=J(x)+ P =10 Funcin de Penalizacin V(x)=J(x)+ P El mnimo de J(x) se encuentra alrededor de h(x)=0

61

Cesar de Prada ISA-UVA

Funciones de Penalizacin
Restricciones de desigualdad Penalizacin Infinita

g ( x) 0
Penalizacin Exterior P

0 if g( x ) 0 P( g( x )) = 20 10 g( x ) if g(x ) > 0

Principal inconveniente: discontinua en g(x) = 0 Penalizacin cuadrtica asimtrica (brakets) P

g(x)

P( g( x )) = [max(0, g( x ))]

Penalizacin exterior

Continua y con derivadas continuas Al igual que con otras funciones de penalizacin: se pueden violar ligeramente las restricciones

g(x)

62

Cesar de Prada ISA-UVA

Funciones de Penalizacin
Penalizacin Exacta En problemas con restricciones de igualdad y desigualdad el mnimo de la funcin de coste: P

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

min J (x) + i hi (x) + i max(0, g j (x))


x

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

0 i *i

0 i * i
g(x)
Cesar de Prada ISA-UVA

63

donde x*,*, * son la solucin de las condiciones de KKT. Luenberger (1984)

Funciones de Barrera
Barrera Logartmica

P ( g (x)) = ln( g (x))


Los puntos que se encuentran dentro de la regin 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 razn, las restricciones se violan, es muy difcil volver a la situacin anterior

Funcin de barrera o interior g(x)

Ntese que con funciones de barrera, el parmetro tiene que decrecer progresivamente para que permita un punto cercano a las restricciones
Cesar de Prada ISA-UVA

64

Nmero de Condicin del Hessiano


Cuando el parmetro se modifica para forzar a que los ptos. xk del algoritmo estn prximos a modificar la forma de los contornos de las restricciones, el problema de mal condicionamiento se incrementa. Un nmero de condicin de 105 es moderadamente grande, 109 es grande y 1014 muy grande por tanto mtodos basados en la inversa del hessiano no funcionar.
Cesar de Prada ISA-UVA

-x1+x2 = 2 x2 x1

65

Algoritmos con funciones de penalizacin


1.

2. 3.

4.

Formular el problema NLP como uno sin restricciones con funciones de penalizacin aadidas 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, aumentndolos si P es una penalizacin exterior y disminuyndolos si es una barrera interior Comprobar las condiciones de finalizacin, si no se cumplen volver al paso 2
Cesar de Prada ISA-UVA

66

Ejemplo de restricciones de desigualdad


2 min ( x1 + 3) 2 + x2 x1 , x2 2 x1 x2 4 0

Problema original

x12-x2 4 x2 x1

Regin factible

Problema con penalizacin aadida tipo cuadrtica asimtrica

=2
1 0 -1 -2 -3 -4 -5 -6 -7 -8 -4 -3 -2 -1 0 1 2 3

min ( x1 + 3) + x + P ( g ( x))
2 x1 , x2 2 2

0 si x12 x2 4 0 P ( g ( x)) = 2 2 2 ( x1 x2 4) si x1 x2 4 > 0

67

Matlab
Cesar de Prada ISA-UVA

Ejemplo 2
=0 funcin original J(x)
800 600 400
0 -1 -2

=5 funcin de penalizacin V(x)=J(x)+ P

200 0 2 0 -2 -4 -6 -4 -2 2 0 4

-3 -4 -5 -6 -3

68

El mnimo se encuentra dentro de la regin g(x)0

-2

-1

Cesar de Prada ISA-UVA

Restricciones duras y blandas


Las restricciones se suelen clasificar en duras (hard) y blandas (soft). Las primeras son aquellas que, como las leyes fsicas, ciertos lmites, etc., deben cumplirse estrictamente. Las segundas son aquellas en las que se permite una cierta desviacin sobre el lmite, como en especificaciones, capacidades,.. El concepto de penalizacin es til cuando se considera que existen restricciones blandas en las cuales se puede permitir una cierta violacin de las mismas a costa de pagar un precio por ello. Los problemas con funciones de penalizacin se denominan a veces elsticos en contraposicin a las formulaciones clasicas inelsticas

69

Cesar de Prada ISA-UVA

Factibilidad / variables de holgura


Un procedimiento alternativo a las funciones de penalizacin para usar restricciones blandas y garantizar que existe solucin factible con mtodos tipo LP, QP, SLP, SQP, etc. es la introduccin de variables de holgura en el lado derecho de las restricciones, que deben minimizarse, acompaadas de su correspondiente penalizacin en el ndice J.

min J ( x ) + ' + '


x , ,

h(x) = g(x) 0

Si existe solucin factible del problema original, obviamente el optimo dara = 0, = 0, y se tiene la misma solucin. Pero si no existe, y amplian la regin factible, justo lo mnimo para que exista dicha solucin factible.
Cesar de Prada ISA-UVA

70

You might also like