Principios y teoremas para la búsqueda de
óptimos globales
Modelos con restricciones de igualdad
Condiciones de Kuhn-Tucker
Algoritmos numéricos básicos
Principios y teoremas para la búsqueda
de óptimos globales.
Teorema de Weierstrass (condición suficiente de solución)
Sea el problema general de programación matemática: optimizar F(x) definida en D⊂Rnsujeto a x∈S,
si X=D∩S es compacto (cerrado y acotado) y no vacío, y la función objetivo es continua, entonces dicha función posee un máximo y un mínimo global en X.
Teorema local-global
Si F es continua y X convexo entonces:
Si F es cóncava en X entonces todo máximo local es global
Si F es convexa en X entonces todo mínimo local es global Además si F es estricta, el óptimo es único
Modelos con restricciones de igualdad
Optimizar f(x1,x2,...,xn) sujeto a gi(x1,...,xn)=bi, i=1,...,m (m<n) Pueden utilizarse dos técnicas:
Sustitución: se despejan variables en las restricciones y se sustituyen en la función objetivo. Este método puede dar lugar a errores si se consideran puntos en los que la función objetivo o las restricciones no están definidas
Método de Lagrange: se construye una función sin restricciones de modo que los óptimos de la función original se encuentran en los puntos críticos de la función de Lagrange
Multiplicadores de Lagrange.
Lagrangiano: incluye una nueva variable λi(multiplicador lagrangiano)
por cada restricción gi:
Condición necesaria de optimización: encontrar los puntos críticos del
lagrangiano (x*, λ*)
(
)
(
)
∑
(
(
)
)
= − − = m i i n i i n g x x b x x f x L 1 1 1, , , , ,λ
Kλ
Km
j
g
b
L
n
j
x
g
x
f
x
L
j j j m i j i i j j,
,
1
,
0
,
,
1
,
0
1K
K
=
=
−
=
∂
∂
=
=
∂
∂
−
∂
∂
=
∂
∂
∑
=λ
λ
Multiplicadores de Lagrange.
Teorema (Cond. Necesaria)
Si el rango del jacobiano de las restricciones en x* es m (cond. de regularidad) y x* es un óptimo local del problema, entonces existe un λ* tal que (x*, λ*) es punto crítico de la función de Lagrange.
Teorema (Cond. Suficiente)
Sea (x*, λ*) un punto crítico de la función de Lagrange. Entonces
Si F es cóncava en X y X es un conjunto convexo, entonces x* es máximo global del problema original
Si F es convexa en X y X es un conjunto convexo, entonces x* es mínimo global del problema original
Condición suficiente de optimización
Construimos la matriz y las matrices que resultan de quitarle a esa
matriz las últimas p filas y columnas p=0,1,...,n-m-1.
Para cada punto crítico obtenemos las matrices A0,A1,...,An-m-1:
Si el signo del determinante de Apcoincide con (-1)mpara todo p, el punto crítico es un mínimo local estricto del problema
( )
(
)
(
)
∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = n m m n n g n n n x g x g x g x g x x J x L x x L x x L x L x L Hess L M M L K L M M L 1 1 1 1 1 2 2 1 2 1 2 2 1 2 , , , ,λ H J J T g g 0Búsqueda de mínimos
Si la función no es cóncava ni convexa, los puntos óptimos pueden estar en el
interior o en el contorno de la región factible.
Si la función es cóncava, los mínimos sólo pueden alcanzarse en el contorno
de la región factible si ésta es convexa y compacta.
Si la función es convexa, el mínimo puede estar en un punto interior o en el
contorno. Se puede utilizar el siguiente procedimiento aunque sin garantías de alcanzar la solución óptima:
Determinar el mínimo local sin restricciones:
si satisface las restricciones, éste es el mínimo global
En otro caso, consideramos una restricción y resolvemos el problema con el
método de sustitución o de Lagrange. Si el mínimo calculado de esta forma satisface las restricciones: óptimo global, si no, se añade una nueva restricción y se repite el proceso
Condiciones de Kuhn-Tucker.
Maximizar f(x1,x2,...,xn) S.A. g1(x1,x2,...,xn) ≤b1 g2(x1,x2,...,xn) ≤b2 ... gm(x1,x2,...,xn) ≤bm Sólo son aplicables si las funciones gisatisfacen la condición de regularidad:
Restricciones linealmente independientes: continuas y los gradientes en la solución óptima forman un sistema de vectores linealmente
Condiciones de Kuhn-Tucker.
Para un problema de maximización, si x*=(x*1,...,x*n) es una solución
óptima entonces x* debe satisfacer las resticciones del problema y además deben existir los multiplicadores λ1,λ2,...,λmtales que
( )
( )
( )
[
]
m
i
m
i
x
g
b
n
j
x
x
g
x
x
f
i i i i m i j i i j,
,
2
,
1
,
0
,
,
2
,
1
,
0
*
,
,
2
,
1
,
0
*
*
1K
K
K
=
≥
=
=
−
=
=
∂
∂
−
∂
∂
∑
=λ
λ
λ
Condiciones de Kuhn-Tucker.
Para un problema de minimización, si x*=(x*1,...,x*n) es una solución
óptima entonces x* debe satisfacer las resticciones del problema y además deben existir los multiplicadores λ1,λ2,...,λmtales que
( )
( )
( )
[
]
m
i
m
i
x
g
b
n
j
x
x
g
x
x
f
i i i i m i j i i j,
,
2
,
1
,
0
,
,
2
,
1
,
0
*
,
,
2
,
1
,
0
*
*
1K
K
K
=
≥
=
=
−
=
=
∂
∂
+
∂
∂
∑
=λ
λ
λ
Condiciones de Kuhn-Tucker.
Maximizar f(x1,x2,...,xn)
S.A. gi(x1,x2,...,xn) ≤bi, i=1,...,m xj≥0, j=1,...,n
Si x*=(x*1,...,x*n) es una solución óptima del problema anterior entonces x*
debe satisfacer las restricciones del problema y además deben existir los multiplicadores λ1,λ2,...,λm, µ1,µ2, .µntales que
( )
( )
( )
[
]
( )
( )
n j m i n j x x x g x x f m i x g b n j x x g x x f j i m i j j i i j i i i m i j j i i j , , 2 , 1 , 0 , , 2 , 1 , 0 , , 2 , 1 , 0 * * * , , 2 , 1 , 0 * , , 2 , 1 , 0 * * 1 1 K K K K K = ≥ = ≥ = = ∂ ∂ − ∂ ∂ = = − = = + ∂ ∂ − ∂ ∂∑
∑
= = µ λ λ λ µ λCondiciones de Kuhn-Tucker.
Minimizar f(x1,x2,...,xn) S.A. gi(x1,x2,...,xn) ≤bi, i=1,...,m xj≥0, j=1,...,n Si x*=(x*1,...,x*n) es una solución óptima del problema anterior entonces x*
debe satisfacer las restricciones del problema y además deben existir los multiplicadores λ1,λ2,...,λm, µ1,µ2, .µntales que
( )
( )
( )
[
]
( )
( )
n j m i n j x x x g x x f m i x g b n j x x g x x f j i m i j j i i j i i i m i j j i i j , , 2 , 1 , 0 , , 2 , 1 , 0 , , 2 , 1 , 0 * * * , , 2 , 1 , 0 * , , 2 , 1 , 0 * * 1 1 K K K K K = ≥ = ≥ = = ∂ ∂ + ∂ ∂ = = − = = − ∂ ∂ + ∂ ∂∑
∑
= = µ λ λ λ µ λCondiciones suficientes
Si f es una función cóncava y g
ison funciones convexas,
los puntos que satisfacen las condiciones de Kuhn-Tucker
son soluciones óptimas del problema de maximización.
Si f es una función convexa y g
ison funciones convexas,
los puntos que satisfacen las condiciones de Kuhn-Tucker
son soluciones óptimas del problema de minimización.
Algoritmos numéricos básicos.
Métodos de penalización y barrera
Funciones de penalización: fuerzan la convergencia
hacia la región factible (algoritmo de punto exterior)
Funciones de barrera: fuerzan a permanecer dentro de
Método de penalización
Para aproximar la solución de un problema de optimización no lineal
del tipo:
Optimizar f(x1,x2,...,xn) sujeto a gi(x1,...,xn)=bi, i=1,...,m se considera la solución del problema sin restricciones
Optimizar f(x)+P(p,x) donde
con p>0 si el problema es minimizar y p<0 si el problema es maximizar
Al obtener el valor óptimo de la función de penalización se cumplirá
que si |p| tiende a infinito entonces gi(x) tiende a bi.
( )
∑
(
( )
)
=−
=
m i i ix
b
g
p
x
p
P
1 2,
Algoritmo de penalización
Para el problema de minimización Elegir una secuencia por ejemplo 1,10,102, 103,.... Para cada pkencontrar un mínimo local xkde f(x)+P(pk,x)
Terminar cuando P(pk,xk)/ pksea suficientemente pequeño
Método de las direcciones factibles.
Para resolver maximizar z=f(x) S.A. Ax
≤
b, x
≥
0:
Elegir x0solución factible. Sea d0solución de maximizar z= ∇f(x0)·d S.A. Ad ≤b,
d ≥0
Elegir x1=x0+t0(d0-x0) siendo t0la solución de maximizar
f(x0+t
0(d0-x0)), 0 ≤t0≤1
Continuar generando puntos x2,x3,... hasta que xky xk-1estén