Sie sind auf Seite 1von 41

PROBLEMAS DE OPTIMIZACIN CON RESTRICCIONES.

PROBLEMA DE PROGRAMACIN NOLINEAL (NLP).

Optimizacin con restricciones


La presencia de restricciones reduce la regin en la cual buscamos el ptimo. Los criterios de optimalidad vistos hasta ahora no siempre se cumplen

f (x ) = (x 2 )

f (x ) = 0, x = 2

Pero si x 4 entonces el mnimo tiene que ser en x=4 y este no es un punto estacionario ya que f ' (4 ) = 4, por tanto no es el punto estacionario de f

Problemas con restricciones de igualdad 1


min f (x1 , x 2 ,K, x N ) s.a.

h k (x 1 , x 2 ,K, x N ) = 0

k = 1,K, K

Mtodo de eliminacin de variables: eliminando, K variables

independientes, el problema se convierte en un problema sin restricciones La dimensin del problema se reduce de N a N-K El problema que se obtiene se puede resolver con cualquier algoritmo de optimizacin sin restricciones

Problemas con restricciones de igualdad 2

Ejemplo:

min f (x ) = x1x 2 x 3 s.a.

h1 (x ) = x1 + x 2 + x 3 1 = 0

Eliminamos x3

min f (x1 , x 2 ) = x1x 2 (1 x1 x 2 )


1 2 2 Pero si h1 (x ) = x1 x 3 + x 2 x 3 + x 2 x1 = 0

No es posible eliminar ninguna variable explcitamente Es necesario encontrar un mtodo que permita manipular las restricciones

Problemas con restricciones de igualdad 3


Mtodo de los multiplicadores de Lagrange: Transforma el problema original a uno equivalente sin restricciones mediante los multiplicadores de Lagrange. Minimizar Sujeto a Se transforma en: Minimizar L(x,v) = f(x) f (x1, x2,..., xN) hk (x1, x2,..., xN) = 0
K

k=1,2,...,K

vihi ( x )
i=1

Solucin: encontrar el mnimo de L(x,v) en funcin de v y ajustar v para satisfacer las restricciones. => Se obtiene un sistema de ecuaciones cuya solucin es el ptimo de la funcin original.

Problemas con restricciones de igualdad 4


Sistema con N+K ecuaciones y N+K incgnitas (x y v):

L =0 xi
hk (x) = 0

i = 1,..., N k=1,... K

Para saber si es mximo o mnimo se calcula la matriz Hessiana de L con respecto a x: Si HL(x;v) es definida positiva Si HL(x;v) es definida negativa => mnimo => mximo

Extendiendo los multiplicadores de Lagrange a restricciones de desigualdad, tenemos las condiciones de kuhn-Tucker

Problema de Programacin no-lineal (NLP)


min f (x ) s.a g j (x ) 0 h k (x ) = 0

j = 1,K, J k = 1,K, K

x = ( x 1 ,K, x N )

Se dice que g j (x ) 0 es una restriccin activa en el punto x si


g j (x ) = 0 y es inactiva si g j (x ) > 0
Un punto factible es aqul que satisface las restricciones Una regin factible es la zona donde se satisfacen las restricciones
g j ( x) > 0

g j ( x) = 0

Condiciones de Kuhn-Tucker
Encontrar los vectores x ( N1) , (1J ) , (1K ) que satisfaga las siguientes condiciones:

f ( x ) jg j ( x ) k h k ( x ) = 0
j=1 k =1

g j (x) 0 h k (x) = 0 jg j ( x ) = 0 j 0

j = 1,2,..., J k = 1,2,..., K j = 1,2,..., J j = 1,2,..., J

Interpretacin de las condiciones de KT


min f (x ) s.a h k (x ) = 0

k = 1,K, K

f ( x ) k h k ( x ) = 0 h k (x ) = 0
k

Condiciones de KT

L( x ; ) = f ( x ) k h k ( x )
k

Funcin de Lagrange

L ( x ) = f ( x ) k h k ( x ) = 0 L ( ) = h k (x ) = 0
k

Condiciones de Optimalidad de primer orden

Las condiciones de KT son las condiciones de optimalidad de primer orden del Problema de Lagrange

Teorema de Necesidad de Primer Orden


min f (x ) s.a g j (x ) 0 j = 1,K, J k = 1,K, K

h k (x ) = 0

x = (x 1 ,K, x N )

Sean f, g, y h funciones diferenciables, y x* una solucin factible del problema.


* * Sea I = j g j (x ) = 0 . Adems g j (x ) j I

* y h k (x )

son linealmente

independientes. Si x* es una solucin ptima del problema entonces existe

( , )
* *

tales que

(x , , )
* * *

resuelve las condiciones de KT

A las condiciones de que g j (x * ) j I y h k (x * ) sean linealmente independiente en el ptimo se le llama restriccin de cualificacin

Restriccin de Cualificacin
Para algunos problemas de programacin no lineal, adems las restricciones de cualificacin se satisfacen cuando: 1. Todas las restricciones de desigualdad e igualdad son lineales 2. Cuando todas las restricciones de desigualdad son funciones cncavas y las de igualdad son lineales y existe al menos una solucin x factible, estrictamente dentro de la regin factible de las restricciones de desigualdad. Cuando la restriccin de cualificacin no se alcanza en el ptimo, puede que no exista solucin al problema de KT Condicin necesaria: si el punto no cumple las condiciones de KT no es ptimo, pero si las cumple puede ser ptimo o no.

Teorema de Suficiencia de Primer Orden


min f (x ) s.a g j (x ) 0

h k (x ) = 0

j = 1,K, J k = 1,K, K

x = (x 1 ,K, x N )

Sea la funcin f(x) convexa, las restricciones de desigualdad gj(x) j=1,...,J todas cncavas, y las restricciones de igualdad hk(x) k=1,..., K son lineales. Si existe una solucin

(x , , )
* * *

que satisface las condiciones de KT,

entonces x* es una solucin ptima del problema de NLP.

Condicin suficiente: si x* cumple las condiciones de KT => x* es ptimo.

Qu haramos si las funciones no son diferenciables?

Condiciones de ensilladura o punto de inflexin

Definicin: Se dice que una funcin f(x,y) tiene un punto de inflexin en (x*,y*) si:
f (x * , y ) f (x * , y* ) f (x , y* )

Para todas las x y y.

X* minimiza la funcin f(x,y*) para todas las x y* maximiza la funcin f(x*,y) para todas las y

Problema de punto de silla de KT


min f (x ) s.a g j (x ) 0 x S
El problema de punto de silla o de inflexin de Kuhn-Tucker es el siguiente, encontrar un punto (x* , *) tal que:

j = 1,K, J

L(x * , ) L(x * , * ) L(x , * ) 0 x S


Donde:

L ( x , ) = f ( x ) jg j ( x )
j

Teorema de Suficiencia de Optimalidad

Si x * , * es un punto de inflexin de KT, entonces x* es una solucin al problema de programacin no lineal

No se necesita la suposicin de convexidad de las funciones No se invoca la restriccin de cualificacin El teorema da la suficiencia. Pudiera existir algunos problemas de programacin no lineal, para las cuales no exista un punto de inflexin, incluso aunque tenga solucin ptima

Teorema de Necesidad
Sea x* el valor que minimiza la funcin f(x) sujeta a las restricciones f(x) es una funcin convexa, y g j (x ) 0 son funciones cncavas en S. Asumimos tambin que existe un punto x S tal que g j (x ) > 0 . Entonces existe un vector de multiplicadores * 0 tales que x * , * sea un punto de ensilladura o de inflexin de la funcin de Lagrange

g j (x ) 0,

j = 1,K, J, x S. Asumimos que S es un conjunto convexo,

L ( x , ) = f ( x ) jg j ( x )
j

que satisface:

L(x * , ) L(x * , * ) L(x , * ) 0 x S

Punto de inflexin de KT

Teorema: Una solucin (x * , * ) donde * 0 y x S es un punto de inflexin de KT si y solo si se cumplen las siguientes condiciones:
*

1. X* minimiza a L(x , * ) para todas las x * S 2. u jg j (x * ) = 0,


* 3. g j (x ) 0,

j = 1,K, J j = 1,K, J

Problema de PNL
min f (x ) s.a

Condiciones de KT
f ( x ) jg j ( x ) k h k ( x ) = 0
J K

g j (x ) 0

h k (x ) = 0

j = 1,K, J k = 1,K, K

g j (x) 0 h k (x) = 0 jg j ( x ) = 0 j 0

j=1

j = 1,2,..., J k = 1,2,..., K j = 1,2,..., J j = 1,2,..., J

k =1

x = (x 1 ,K, x N )

x es una solucin factible al PNL cuando g j (x ) 0, j y h k (x ) = 0, k


* para todas las soluciones factibles en una pequea vecindad (x )
* x* es un mn. local del PNL cuando x* es factible y se cumple que f (x ) f (x )

x* es un mn. local estricto cuando x* es factible y para todas las soluciones

* factibles x x * se cumple que f (x * ) < f (x ) en una pequea vecindad (x ) * * * Un punto de KT del PNL es un vector ( x , , ) que satisface las condiciones

de KT

Teorema de Necesidad de Segundo Orden


Consideramos el problema de PNL, y sean f, g y h, funciones dos veces
* diferenciables, y sea x* factible para el problema. Sea I = j g j (x ) = 0

el

conjunto de las restricciones activas en x*. Tambin se asume que


g j (x * ) j I y h k (x * ) son linealmente independientes. Las condiciones

necesarias para que x* sea un mnimo local al problema son:


* * * * * 1. Existen unos multiplicadores ( , ) tales que (x , , )

sea un pto. KT

2. Para cualquier vector y (1 N )


h k (x )y = 0 k = 1,K, K
*

g j (x * )y = 0

se satisface que:
y T H L (x * , * , * )y 0
J K

j I

L(x , , ) = f (x ) jg j (x ) k h k (x )
j=1 k =1

HL es el Hessiano de la funcin de Lagrange respecto a x y evaluado en

, * , *x(

Teorema de Suficiencia de Segundo Orden


Las condiciones suficientes para que el punto x* sea un mnimo local estricto del problema PNL, donde f, g y h son doblemente diferenciables son las sgtes. 1. Existen unos multiplicadores (* , * ) tales que (x * , * , * ) sean un pto. de KT 2. Para cualquier vector y (1 N ) 0 que satisface:
g j (x * )y = 0 g j (x * )y 0 j I1 = j g j (x * ) = 0, *j > 0 j I2
* j * j

{ = {j g (x ) = 0,

} = 0}

h k (x * )y = 0 k = 1,K, K

y T H L (x * , * , * )y > 0

Funciones de Penalizacin 1
min s.a. f (x) x R N hk ( x ) = 0 k = 1,2,K, K g j (x) 0 j = 1,2,K, J

xi(l ) xi xi(u ) i = 1,2,K, N

El problema original se convierte en un problema sin restricciones mediante una funcin de penalizacin
P(x , R ) = f (x ) + (R , g (x ), h (x ))

R es el conjunto de los parmetros de penalizacin

es una funcin de R y las funciones de restriccin.

Funciones de Penalizacin 2
Caractersticas de la transformacin: La solucin del problema debe aproximarse a la solucin del problema de NLP:
t T <

lim x ( t ) = x *

El problema de minimizar P(x,R) debe ser similar en dificultad a minimizar f(x) R(t+1) = F(R(t)) debe ser simple. Dos tipos de transformaciones: Mtodos barrera o forma interior: todos los puntos generados son factibles Mtodos de forma exterior: los puntos generados son no factibles.

Funciones de Penalizacin 3

Funcin parablica
= R{h (x )}
2

Operador de bracket
= R g (x )
2

Mtodos de forma exterior: puntos generados son no factibles

si 0 = > 0 si 0

Ejemplo con restricciones de igualdad 1

En este caso R=1 x(t)=[3,3]T f(x(t))=2. h(x(t)) =1

Ejemplo con restricciones de igualdad 2

En este caso R=10 x(t)=[2.5714, 2.5714]T f(x(t))=4.0818; h(x(t)) =0.1428

En este caso R=100 x(t)=[2.5075,2.5075]T f(x(t))=4.477 h(x(t)) =0.015

Ejemplo con restricciones de desigualdad 1

En este caso R=1 x(t)=[3,3]T f(x(t))=2 g(x(t)) =-1

En este caso R=10 x(t)=[2.75,2.75]T f(x(t))=3.125 g(x(t)) = -0.5

Ejemplo con restricciones de desigualdad 2

En este caso R=100 x(t)=[2.5075,2.5075]T f(x(t))=4.4550 g(x(t)) = -0.015

Funciones de penalizacin 4
Barrera infinita:
= 10 20
j J

Logaritmica:

g j ( x)

con gj(x)<0 jJ

= R ln[ g ( x)]

1.0 0

g(x)

g(x)

Mtodos barrera o de forma interior: los puntos generados son siempre factibles

Funciones de penalizacin 5
Algoritmo: 1.- Definir 1, 2, 3 => condiciones de terminacin para la bsqueda lineal, vectorial y penalizacin. X0 y R0 2.- P(x,R) = f(x) + (R, g(x), h(x)) 3.- Encontrar xk+1 / P(xk+1, Rk) sea mnimo con Rk fijo. Terminar con 2. 4.- | P(xk+1, Rk) P (xk , Rk-1) | 3 ? Si => xk+1 = x* Parar No => continuar 5.- Elegir Rk+1 = Rk + Rk y volver al paso 2.

Ejemplo con funciones barrera

R=100 x(t)=[-1.8, -1.8] f(x(t))=67 g(x(t)) =8.612 R=10 x(t)=[1.5, 1.5] f(x(t))=12.5 g(x(t)) =2.0 R=1 x(t)=[2.3, 2.3] f(x(t))=5.45 g(x(t)) =0.30

Mtodo del Gradiente Reducido Generalizado


min f (x1 , x 2 ,K, x N ) s.a.

h k (x 1 , x 2 ,K, x N ) = 0

k = 1,K, K

Si hk(x) son no lineales pero puedes resolverse explcitamente, puede usarse el mtodo de eliminacin de variables: h1(x) = 0 => xk= (x1,...,xk-1,xk+1,...,xN)

Esto no ocurre en la mayora de los casos, pero se puede hacer una aproximacin lineal de la restriccin en torno a un punto x1 que s cumpla la restriccin: x1 / hk(x1) = 0 Hk(x; x1) = hk (x1) + hk(x1) (x x1) k=1,..., K

Utilizamos est aproximacin para encontrar otro punto factible:

Mtodo GRG 2
x / hk(x; x1) = 0 k=1,...,K hk(x1) (x x1)=0 k=1,..., K

Esto es un sistema de k ecuaciones con N incgnitas y normalmente k<N => no existe solucin nica. Se puede resolver el sistema para K variables en funcin de las otras N-K. K variables => N-K variables =>
1h 2h J = ... h k

x x

bsicas no bsicas

1h 2h C = ... h k

x 1 ) + C ( x x 1 ) = 0 J (x

x 1 = J 1C ( x x 1 ) x

Mtodo GRG 3
Utilizamos la ltima ecuacin para eliminar k variables de la funcin objetivo:

~ , x ) = f ( x 1 J 1C ( x x 1 ), x ) f (x
La funcin objetivo ahora es una funcin sin restricciones de las N-K variables no bsicas, y podemos aplicar las condiciones necesarias para que x1 sea mnimo:

~ f =0 x

~ ~ ( x ), x ) f (x) = f (x

~ ~ ~ f ( x ) f f x = + x x x x

~ ( x1 )[ J 1C ] f ( x1 ) = f ( x1 ) + f
Mnimo:

Gradiente reducido generalizado

~ f ( x1 ) = 0

Mtodo GRG 4
Hemos usado linealizaciones de las restricciones para expresar la funcin objetivo como una funcin de N-K variables no bsicas sin restricciones => algoritmo de optimizacin vectorial en torno al punto de linealizacin. Algoritmo: ~ ( x k ) J 1C 1.- Calcular f ( x k ) = f ( x k ) f 2.- Si Si no

~ k || f ( x ) ||<

Parar

~ d = (f )T d = ( d , d ) T = J 1Cd d

3.- Minimizar f(xk + d) con respecto al parmetro => Hacer xk+1 = xk + d. Ir al paso 1.

Mtodo GRG 5
La direccin d as generada es descendente, pero los puntos generados en esa direccin no tienen por qu ser factibles. Para resolver este problema, se calcula d y se proyecta d sobre la superficie definida por el conjunto de restricciones y se minimiza f(x) a lo largo de la curva resultante.

) = 0 Encontrar un x que cumpla: hk ( x t + * d , x


Mtodo de Newton

k=1,...,K

i+1 = x i [J 1 ( x t + * d, x i )] * h ( x t + * d , x i) x

, si f ( x ) < f ( x t ) nos Si el mtodo converge a un x quedamos con el nuevo punto y seguimos el algoritmo, si no se cumple, se disminuye y se repiten las iteraciones de Newton

Algoritmo GRG 1
Partir de un punto inicial x0, = 0, 1, 2, 3 >0 criterios de terminacin y un parmetro de reduccin; 0 < <1

y x de forma que J sea no 1.- Elegir una particin x, en x ~ de t singular. Calcular: f ( x )


~ d = (f )T d = ( d , d ) T = J 1Cd d

~ t 2.- Si || f ( x ) ||< parar


Si no

3.- = 0; a) Calcular vi = xt + d Si |hk (vi) | 2 k=1,...K ir a d) Si no. Continuar

Algoritmo GRG 2
b) v i +1 = v i J 1 ( v i ) * h ( v i )

v i +1 = v i
c) Si
i +1 v i || > 1 || v

ir a b)

Si no:

Si | hk (vi ) | 3 k=1,..., K ir a (d) e ir a (a) => el algoritmo de

Si no = Newton no converge.

d) Si f(xt ) f(vi), la direccin no es descendente, hacer = e ir a (a) Si no: xt+1 = vi e ir al paso 1.

Tratamiento de los lmites 1


min s.a. f (x) x R N hk ( x ) = 0 k = 1,2,K, K g j (x) 0 j = 1,2,K, J

xi(l ) xi xi(u ) i = 1,2,K, N

1.- Tratamiento explcito como desigualdades. 2.- Implcito: teniendo en cuenta los lmites en los pasos del algoritmo: 2.1.- Slo las variables alejadas de sus lmites puedes ser variables bsicas, se ordenan las variables de acuerdo con la distancia al lmite ms cercano: zi(t) = min {(xiu xit), (xit xiL)} Se ordenan las zi en orden decreciente y las k primeras variables son las bsicas.

Tratamiento de los lmites 2


2.2.- Modifica d para asegurar que los lmites no son superados:
0 d i = 0 ~ ( f )i
u Si xi = xi L Si xi = xi

y (f ) i < 0 y (f ) i > 0

en otros casos

2.3.- En el paso 3 se deben insertar chequeos para asegurar que los lmites no se exceden durante las iteraciones de Newton. Si un lmite es excedido, se hace una interpolacin lineal entre xt y vi para estimar el punto en esa lnea que no exceda el lmite.

Tratamiento de las desigualdades


Se introducen variables de holgura que convierten la desigualdad en una igualdad: aj gj (x) bj hk+j (x) = aj - gj (x) + xN+j = 0 hk+j (x) = gj (x) bj + xN+j = 0 Se incrementa la dimensionalidad del problema.