Está en la página 1de 41

PROBLEMAS DE OPTIMIZACIÓN CON

RESTRICCIONES.

PROBLEMA DE PROGRAMACIÓN NO-


LINEAL (NLP).
Optimización con restricciones

La presencia de restricciones reduce la región 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
2

Pero si x ≥ 4 entonces el mínimo 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

Método de eliminación de variables: eliminando, K variables


independientes, el problema se convierte en un problema sin
restricciones

La dimensión del problema se reduce de N a N-K

El problema que se obtiene se puede resolver con cualquier


algoritmo de optimización 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 )

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

No es posible eliminar ninguna variable explícitamente

Es necesario encontrar un método que permita manipular


las restricciones
Problemas con restricciones de igualdad 3

• Método de los multiplicadores de Lagrange: Transforma el


problema original a uno equivalente sin restricciones mediante
los multiplicadores de Lagrange.

Minimizar f (x1, x2,..., xN)


Sujeto a hk (x1, x2,..., xN) = 0 k=1,2,...,K

• Se transforma en:
K
Minimizar L(x,v) = f(x) - ∑ vihi ( x )
i=1

• Solución: encontrar el mínimo de L(x,v) en función de v y ajustar


v para satisfacer las restricciones. => Se obtiene un sistema de
ecuaciones cuya solución es el óptimo de la función original.
Problemas con restricciones de igualdad 4

• Sistema con N+K ecuaciones y N+K incógnitas (x y v):

∂L
=0 i = 1,..., N
∂xi
hk (x) = 0 k=1,... K

• Para saber si es máximo o mínimo se calcula la matriz


Hessiana de L con respecto a x:

– Si HL(x;v) es definida positiva => mínimo


– Si HL(x;v) es definida negativa => máximo

• Extendiendo los multiplicadores de Lagrange a restricciones de


desigualdad, tenemos las condiciones de kuhn-Tucker
Problema de Programación no-lineal (NLP)

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

Se dice que g j (x ) ≥ 0 es una restricción activa en el punto x si

g j (x ) = 0 y es inactiva si g j (x ) > 0

Un punto factible es aquél que g j ( x) > 0


satisface las restricciones
g j ( x) = 0
Una región factible es la zona donde
se satisfacen las restricciones
Condiciones de Kuhn-Tucker

Encontrar los vectores x ( N×1) , μ (1×J ) , λ (1×K ) que satisfaga las siguientes
condiciones:
J K
∇f ( x ) − ∑ μ j∇g j ( x ) − ∑ λ k ∇h k ( x ) = 0
j=1 k =1

g j (x) ≥ 0 j = 1,2,..., J
h k (x) = 0 k = 1,2,..., K
μ jg j ( x ) = 0 j = 1,2,..., J
μj ≥ 0 j = 1,2,..., J
Interpretación 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
k
Condiciones de KT
h k (x ) = 0

L( x ; λ ) = f ( x ) − ∑ λ k h k ( x ) Función de Lagrange
k

∇ L ( x ) = ∇f ( x ) − ∑ λ k ∇h k ( x ) = 0 Condiciones de
k
Optimalidad de primer
∇ L (λ ) = h k (x ) = 0 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
h k (x ) = 0 k = 1,K, K
x = (x 1 ,K, x N )

Sean f, g, y h funciones diferenciables, y x* una solución factible del problema.


{ *
}
Sea I = j g j (x ) = 0 . Además ∇g j (x ) ∀j ∈ I
*
y ∇h k (x )
*
son linealmente

independientes. Si x* es una solución ó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 restricción de cualificación
Restricción de Cualificación

Para algunos problemas de programación no lineal, además las


restricciones de cualificación se satisfacen cuando:

1. Todas las restricciones de desigualdad e igualdad son lineales


2. Cuando todas las restricciones de desigualdad son funciones
cóncavas y las de igualdad son lineales y existe al menos una
solución x factible, estrictamente dentro de la región factible de las
restricciones de desigualdad.

Cuando la restricción de cualificación no se alcanza en el


óptimo, puede que no exista solución al problema de KT

Condición 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 j = 1,K, J
h k (x ) = 0 k = 1,K, K
x = (x 1 ,K, x N )

Sea la función f(x) convexa, las restricciones de desigualdad gj(x) j=1,...,J

todas cóncavas, y las restricciones de igualdad hk(x) k=1,..., K son lineales.

Si existe una solución (x , μ , λ )


* * *
que satisface las condiciones de KT,

entonces x* es una solución óptima del problema de NLP.

Condición suficiente: si x* cumple las condiciones de KT => x*


es óptimo.
¿Qué haríamos si las funciones no son diferenciables?
Condiciones de ensilladura o punto de inflexión

Definición:

Se dice que una función f(x,y) tiene un punto de inflexión en


(x*,y*) si:

f (x * , y ) ≤ f (x * , y* ) ≤ f (x , y* )

Para todas las x y y.

X* minimiza la función f(x,y*) para todas las x


y* maximiza la función f(x*,y) para todas las y
Problema de punto de silla de KT

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

El problema de punto de silla o de inflexión de Kuhn-Tucker es el


siguiente, encontrar un punto (x* , μ*) tal que:

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 inflexión de KT, entonces x* es una solución al
problema de programación no lineal

• No se necesita la suposición de convexidad de las funciones


• No se invoca la restricción de cualificación
• El teorema da la suficiencia. Pudiera existir algunos problemas de
programación no lineal, para las cuales no exista un punto de inflexión,
incluso aunque tenga solución óptima
Teorema de Necesidad

Sea x* el valor que minimiza la función f(x) sujeta a las restricciones

g j (x ) ≥ 0, j = 1,K, J, x ∈ S. Asumimos que S es un conjunto convexo,


f(x) es una función convexa, y g j (x ) ≥ 0 son funciones cóncavas en S.
Asumimos también 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 inflexión de la función de Lagrange

L ( x , μ ) = f ( x ) − ∑ μ jg j ( x )
j
que satisface:

L(x * , μ ) ≤ L(x * , μ* ) ≤ L(x , μ* )


∀μ ≥ 0
x ∈S
Punto de inflexión de KT

Teorema:

Una solución (x * , μ* ) donde μ* ≥ 0 y x ∈ S es un


*

punto de inflexión 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, j = 1,K, J

3. g j (x ) ≥ 0, j = 1,K, J
*
Problema de PNL Condiciones de KT
J K
∇f ( x ) − ∑ μ j∇g j ( x ) − ∑ λ k ∇h k ( x ) = 0
min f (x ) j=1 k =1

s.a g j (x ) ≥ 0 j = 1,K, J g j (x) ≥ 0 j = 1,2,..., J

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


μ jg j ( x ) = 0 j = 1,2,..., J
x = (x 1 ,K, x N )
μj ≥ 0 j = 1,2,..., J

x es una solución factible al PNL cuando g j (x ) ≥ 0, ∀j y h k (x ) = 0, ∀k

x* es un mín. local del PNL cuando x* es factible y se cumple que f (x ) ≤ f (x )


*

para todas las soluciones factibles en una pequeña vecindad δ(x )


*

x* es un mín. local estricto cuando x* es factible y para todas las soluciones


factibles x ≠ x * se cumple que f (x * ) < f (x ) en una pequeña 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*. También se asume que

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


necesarias para que x* sea un mínimo local al problema son:

1. Existen unos multiplicadores (λ ,μ ) tales que (x , λ , μ )


* * * * *
sea un pto. KT
2. Para cualquier vector y (1× N ) se satisface que:
∇g j (x * )y = 0 j∈ I
y T H L (x * , λ* , μ* )y ≥ 0
∇h k (x )y = 0 k = 1,K, K
*

J K
L(x , λ, μ ) = f (x ) − ∑ μ jg j (x ) − ∑ λ k h k (x )
j=1 k =1

HL es el Hessiano de la función 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 mínimo 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 {
j ∈ I1 = j g j (x * ) = 0, μ*j > 0 }
∇g j (x * )y ≥ 0 j ∈ I2 = {j g (x ) = 0, μ
j
* *
j = 0}

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

y T H L (x * , λ* , μ* )y > 0
Funciones de Penalización 1

min f (x) x ∈ R N
s.a. g j (x) ≥ 0 j = 1,2,K, J
hk ( x ) = 0 k = 1,2,K, K
xi(l ) ≤ xi ≤ xi(u ) i = 1,2,K, N

El problema original se convierte en un problema sin restricciones


mediante una función de penalización

P(x , R ) = f (x ) + Ω(R , g (x ), h (x ))

R es el conjunto de los parámetros de penalización


Ω es una función de R y las funciones de restricción.
Funciones de Penalización 2

• Características de la transformación:
– La solución del problema debe aproximarse a la solución del
problema de NLP:
lim x ( t ) = x *
t →T <∞

– 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:
– Métodos barrera o forma interior: todos los puntos
generados son factibles
– Métodos de forma exterior: los puntos generados son no
factibles.
Funciones de Penalización 3

Función parabólica
Operador de bracket
Ω = R{h (x )} Ω = R g (x )
2 2

⎧α si α ≤ 0⎫
Métodos de forma exterior: α =⎨ ⎬
⎩0 si α > 0 ⎭
puntos generados son no factibles
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 En este caso R=100


x(t)=[2.5714, 2.5714]T x(t)=[2.5075,2.5075]T
f(x(t))=4.0818; h(x(t)) =0.1428 f(x(t))=4.477 h(x(t)) =0.015
Ejemplo con restricciones de desigualdad 1

En este caso R=1 En este caso R=10


x(t)=[3,3]T x(t)=[2.75,2.75]T
f(x(t))=2 g(x(t)) =-1 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 penalización 4

• Barrera infinita: • Logaritmica:

Ω = 10 20 ∑ g j ( x) con gj(x)<0 ∀ j∈J Ω = − R ln[ g ( x)]


j∈ J

Ω
Ω

1.0
g(x)
0

0 g(x)

Métodos barrera o de forma interior: los puntos generados


son siempre factibles
Funciones de penalización 5

• Algoritmo:
– 1.- Definir ε1, ε2, ε3 => condiciones de terminación para
la búsqueda lineal, vectorial y penalización. X0 y R0
– 2.- P(x,R) = f(x) + Ω(R, g(x), h(x))
– 3.- Encontrar xk+1 / P(xk+1, Rk) sea mínimo 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
Método 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 explícitamente,


puede usarse el método de eliminación de variables:
h1(x) = 0 => xk= Φ(x1,...,xk-1,xk+1,...,xN)
• Esto no ocurre en la mayoría de los casos, pero se puede hacer
una aproximación lineal de la restricción en torno a un punto x1
que sí cumpla la restricción:
x1 / hk(x1) = 0
Hk(x; x1) = hk (x1) + ∇hk(x1) (x – x1) k=1,..., K
• Utilizamos está aproximación para encontrar otro punto factible:
Método 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 incógnitas y


normalmente k<N => no existe solución única. Se puede
resolver el sistema para K variables en función de las otras N-K.

• K variables => x̂ básicas


• N-K variables => x no básicas

⎛ ∇1hˆ ⎞ ⎛ ∇1h ⎞
⎜ ⎟ ⎜ ⎟
⎜ ∇ 2 hˆ ⎟ ⎜ ∇2h ⎟ J ( xˆ − xˆ1 ) + C ( x − x 1 ) = 0
J =⎜ C =⎜
...
⎟ ... ⎟
⎜ ⎟ ⎜ ⎟
⎜ ∇ hˆ ⎟ ⎜∇ h ⎟
⎝ k ⎠ ⎝ k ⎠
xˆ − xˆ1 = − J −1C ( x − x 1 )
Método GRG 3

• Utilizamos la última ecuación para eliminar k variables de la


función objetivo:
~
f ( xˆ , x ) = f ( xˆ1 − J −1C ( x − x 1 ), x )
• La función objetivo ahora es una función sin restricciones de las
N-K variables no básicas, y podemos aplicar las condiciones
necesarias para que x1 sea mínimo:
~ ~ ~ ~
∂f ~ ~ ∂f ( x ) ∂f ∂ f ∂ xˆ
=0 f ( x ) = f ( xˆ ( x ), x ) = +
∂x ∂x ∂ x ∂ xˆ ∂ x

~
∇f ( x1 ) = ∇f ( x1 ) + ∇fˆ ( x1 )[− J −1C ] Gradiente reducido generalizado

~
Mínimo: ∇ f ( x1 ) = 0
Método GRG 4

• Hemos usado linealizaciones de las restricciones para expresar


la función objetivo como una función de N-K variables no
básicas sin restricciones => algoritmo de optimización vectorial
en torno al punto de linealización.
• Algoritmo:
~
– 1.- Calcular ∇f ( x k ) = ∇f ( x k ) − ∇fˆ ( x k ) J −1C
~ k
– 2.- Si || ∇f ( x ) ||< ε Parar
~
d = (−∇f )T ⎫⎪
Si no ⎬ d = ( dˆ , d ) T
dˆ = − J −1Cd ⎪⎭
– 3.- Minimizar f(xk + α d) con respecto al parámetro α =>
Hacer xk+1 = xk + α d. Ir al paso 1.
Método GRG 5

• La dirección d así generada es descendente, pero los puntos


generados en esa dirección 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.
• Encontrar un x̂ que cumpla: hk ( x t + α * d , xˆ ) = 0 k=1,...,K

Método de Newton

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

• Si el método converge a un x̂ , si f ( xˆ ) < f ( x t ) nos


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


terminación y un parámetro de reducción; 0 < γ <1
• 1.- Elegir una partición
~ de x, en x̂ y x de forma que J sea no
singular. Calcular: ∇f ( x )
t

~ t
• 2.- Si || ∇f ( x ) ||< ε parar
~
d = (−∇f )T ⎫⎪
Si no ⎬ d = ( dˆ , d ) T
dˆ = − J −1Cd ⎪⎭

• 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 || vˆ i + 1 − vˆ i || > ε 1 ir a b)

Si no: Si | hk (vi ) | ≤ ε3 k=1,..., K ir a (d)


Si no α = γα e ir a (a) => el algoritmo de
Newton no converge.

d) Si f(xt ) ≤ f(vi), la dirección no es descendente, hacer α = γα


e ir a (a)
Si no: xt+1 = vi e ir al paso 1.
Tratamiento de los límites 1

min f (x) x ∈ R N
s.a. g j (x) ≥ 0 j = 1,2,K, J
hk ( x ) = 0 k = 1,2,K, K
xi(l ) ≤ xi ≤ xi(u ) i = 1,2,K, N

• 1.- Tratamiento explícito como desigualdades.


• 2.- Implícito: teniendo en cuenta los límites en los pasos del
algoritmo:
– 2.1.- Sólo las variables alejadas de sus límites puedes ser
variables básicas, se ordenan las variables de acuerdo con la
distancia al límite más cercano:
zi(t) = min {(xiu – xit), (xit – xiL)}
Se ordenan las zi en orden decreciente y las k primeras
variables son las básicas.
Tratamiento de los límites 2

– 2.2.- Modifica d para asegurar que los límites no son


superados:
~
Si xi = xi
u
⎧0 y (∇f ) i < 0
⎪ ~
d i = ⎨0 Si xi = xi
L
y (∇f ) i > 0
⎪ ~
⎩ − (∇ f )i en otros casos

– 2.3.- En el paso 3 se deben insertar chequeos para asegurar


que los límites no se exceden durante las iteraciones de
Newton.
Si un límite es excedido, se hace una interpolación lineal
entre xt y vi para estimar el punto en esa línea que no
exceda el límite.
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.

También podría gustarte