10. Optimización no lineal
Conceptos básicos
Principios y teoremas para la búsqueda de
óptimos globales
Optimización sin restricciones en dimensión 1
Optimización sin restricciones en dimensión >
1
Modelos con restricciones de igualdad
Condiciones de Kuhn-Tucker
Algoritmos numéricos básicos
Conceptos básicos
Problema general de programación no lineal (PNL):
maximizar o minimizar z=f(x
1,x
2,...,x
n) (objetivo)
S.A.
g1(x1,x2,...,xn) ≤ /= / ≥ b1 g2(x1,x2,...,xn) ≤ /= / ≥ b2
... (restricciones) gm(x1,x2,...,xn) ≤ /= / ≥ bm
Problema de programación no lineal no restringido: PNL sin
restricciones
Región factible: conjunto de puntos que satisfacen las restricciones. Solución óptima de un PNL tipo minimizar: punto de la región factible
Extremos locales
Para un PNL, un punto factible x= (x
1,x
2,...,x
n) es un máximo
(mínimo) local si para un ε suficientemente pequeño, cualquier
punto factible x’= (x
1’,x
2’,...,x
n’) verificando |x
i-x
i’| <ε satisface
f(x) ≥ (≤) f(x’)
Un punto que es un máximo o mínimo local se llama extremo
local o relativo
Funciones cóncavas y convexas (I)
Una función f (x
1,x
2,...,x
n) es una función estrictamente
convexa (cóncava) en un conjunto convexo S si para
cualesquiera x’, x’’
∈S distintos
f(cx’+(1-c)x’’) < (>) cf(x’)+(1-c)f(x’’)
para 0 < c < 1.
Teorema 1
Se considera un PNL con región factible S convexa. Entonces si el problema es de maximixación (minimización) y la función f es estrictamente cóncava (convexa) en S, entonces cualquier máximo (mínimo) local del PNL es una solución óptima de este problema.
Funciones cóncavas y convexas(II)
Teorema 2
Si f’’(x) existe para cualquier x en un conjunto convexo S, entonces f(x) es una función convexa (cóncava) en S si y sólo si f’’(x) ≥ (≤) 0 para todo x de S
Teorema 3
Si f (x1,x2,...,xn) tiene derivadas parciales de segundo orden continuas para cada punto x= (x1,x2,...,xn) de un conjunto convexo S, entonces f(x) es una función estrictamente convexa (cóncava) en S si y sólo si su matriz Hessiana es definida positiva (negativa) en S
Funciones cóncavas y convexas (III)
Teorema
Supongamos A simétrica.
A es definida positiva si y sólo si det(Hk)>0 para k=1,2,…,n
A es semidefinida positiva si y sólo si det(Hk)≥0 para k=1,2,…,n
A es definida negativa si y sólo si signo(det(Hk))=(-1)kpara k=1,2,…,n
A es semidefinida negativa si y sólo si signo(det(Hk))=(-1)kó 0 para
k=1,2,…,n
A es indefinida si det(A)≠0 y A no cumple ninguna de las afirmaciones n k a a a a a a a a a a a a a a a a H kk k k k k k k k K K M M M M K K K 2 , 1 , 3 2 1 3 33 32 31 2 23 22 21 1 13 12 11 = = = nn n n n n n n a a a a a a a a a a a a a a a a A K M M M M K K K 3 2 1 3 33 32 31 2 23 22 21 1 13 12 11
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
Optimización sin restricciones en
dimensión 1
Maximizar o minimizar f(x) f continua en [a,b]
Para encontrar la solución óptima de este problema buscamos
primero todos los máximos (o mínimos) locales. La solución
óptima será el máximo local (o mínimo) con el mayor (o menor)
valor de f(x). Si a=-∞ ó b=∞ el problema puede no tener
solución.
Hay tres tipos de puntos que pueden ser máximo o mínimos
locales:
Puntos estacionarios de f: a<x<b y f’(x)=0 Puntos donde no existe f’(x)
Optimización sin restricciones en
dimensión 1
Teorema
Si f’(x0)=0 y f’’(x0)<(>)0 entonces x0 es un máximo (mínimo) local.
Teorema
Si f’(x0)=0 y1. Si la primera derivada no nula en x0 de f es de orden impar entoces x0 no es un extremo local
2. Si la primera derivada no nula de f en x0 es positiva y de orden par entonces x0 es un mínimo local
3. Si la primera derivada no nula de f en x0 es negativa y de orden par entonces x0 es un máximo local
Métodos numéricos para dimensión
1
Método de búsqueda directa
Identificar el intervalo de incertidumbre que incluye el óptimo a identificar
Reducir el tamaño del intervalo de incertidumbre hasta encontrar el óptimo
Método de búsqueda de puntos críticos
Si la función objetivo es derivable, tratamos de localizar los puntos en los que se anula la derivada utilizando por ejemplo el método de Newton
Métodos numéricos para dimensión
1
Búsqueda dicotómica (para máximos)
Para funciones unimodales sobre un intervalo [a,b] (funciones para las que existe un punto x* en [a,b] tal que f es creciente en [a,x*] y decreciente en [x*,b])
Definir dos puntos x1, x2 simétricamente con respecto a a y b de modo
que los intervalos [a,x2] y [x1,b] se superpongan en un intervalo de longitud ∆.
Evaluar f(x1) y f(x2)
1. Si f(x1) > f(x2), x* debe estar entre a y x2 2. Si f(x1) < f(x2), x* debe estar entre x1 y b 3. Si f(x1)=f(x2), x* debe estar entre x1 y x2
Repetir el proceso en el intervalo en el que se encuentra x* hasta que
∆ sea suficientemente pequeño
Métodos numéricos para dimensión
1
Método de Newton
Para resolver la ecuación g(x) = 0, g derivable
Elegir un valor inicial x
(0)
Calcular para k=0,...
Terminar cuando |x
(k+1)-x
(k)| < ε
Si g’’ es continua el método converge cuadráticamente
cuando x
(0)está suficientemente próximo a una raíz simple
de g.
( ) ( )( )
( ) ( )( )
k k k kx
g
x
g
x
x
'
1=
−
+Optimización sin restricciones en
dimension>1
Maximizar o minimizar f (x
1,x
2,...,x
n)
S. A. (x
1,x
2,...,x
n)∈R
nSuponemos que existen las derivadas parciales de primer y
segundo orden de f y que son continuas.
Teorema
Si x* es un extremo local del PNL entonces para i=1,...,n se
verifica
es decir, x* es un punto estacionario
Un punto estacionario que no es extremo local es un punto de
silla.
0
)
(
*=
∂
∂
ix
x
f
Optimización sin restricciones en
dimension>1
Teorema
Si x* es un punto estacionario de f y H
k(x*)>0, k=1,2,...,n
(menor principal de orden k de la matriz hessiana de f)
entonces x* es un mínimo local para el PNL.
Teorema
Si x* es un punto estacionario de f y H
k(x*) tiene el mismo
signo que (-1)
kk=1,2,...,n entonces x* es un máximo local para
el PNL.
Teorema
Si x* es un punto estacionario de f, H
n(x*)≠ 0 y no se satisfacen
las hipótesis de los teoremas anteriores, entonces x* es un
punto de silla para el PNL.
Método del gradiente
Válido para optimizar funciones que son
diferenciables continuamente dos veces.
Idea: generar puntos sucesivos en la dirección del
gradiente de la función
Métodos:
Método de Newton
Método del descenso más rápido
Método de Newton
Resolver utilizando el método de Newton el sistema de
ecuaciones
Método de Newton para sistemas
Para resolver la ecuación F(X)=0, F con derivadas parciales de primer orden
Elegir un valor inicial X0 Calcular
Repetir hasta que || X(k)-X(k-1) || < ε
( )k
X
( )kJF
( )
X
( )kF
( )
X
( )kX
+1=
−
−1( )
=
0
Método del ascenso más rápido
Para maximizar f(X)
Elegir X(0)
Calcular
X(k+1) =X(k)+t(k)∇f(X(k))
siendo t(k) la solución del problema
maximizar f(X(k)+t∇f(X(k)))
S.A. t ≥0
Repetir hasta que || X(k+1)-X(k)|| < ε
Modelos con restricciones de igualdad
Optimizar f(x
1,x
2,...,x
n) sujeto a g
i(x
1,...,x
n)=b
i, 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 g
i:
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
Si el signo del determinante de Apcoincide con (-1)n-ppara todo p, el punto crítico es un máximo 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(x
1,x
2,...,x
n)
S.A. g
1(x
1,x
2,...,x
n) ≤ b
1g
2(x
1,x
2,...,x
n) ≤ b
2...
g
m(x
1,x
2,...,x
n) ≤ b
m
Sólo son aplicables si las funciones g
isatisfacen la condición de
regularidad:
Restricciones linealmente independientes: continuas y los gradientes en la solución óptima forman un sistema de vectores linealmente independiente
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
( )
( )
( )
[
]
( )
( )
x j n x x g x x f m i x g b n j x x g x x f m j i i i i i m i j j i i j , , 2 , 1 , 0 * * * , , 2 , 1 , 0 * , , 2 , 1 , 0 * * 1 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 la
región factible (algoritmo de punto interior)
Método de penalización
Para aproximar la solución de un problema de optimización no
lineal del tipo:
Optimizar f(x
1,x
2,...,x
n) sujeto a g
i(x
1,...,x
n)=b
i, 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
( )
∑
(
( )
)
=−
=
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,10
2, 10
3,....
Para cada p
kencontrar un mínimo local x
kde f(x)+P(p
k,x)
Terminar cuando P(p
k,x
k)/ p
ksea suficientemente pequeño
{ }
p
k→
∞
Método de las direcciones factibles.
Para resolver maximizar z=f(x) S.A. Ax
≤ b, x ≥ 0:
Elegir x
0solución factible.
Sea d
0solución de maximizar z= ∇f(x
0)·d S.A. Ad ≤ b,
d ≥ 0
Elegir x
1=x
0+t
0(d
0-x
0) siendo t
0la solución de maximizar
f(x
0+t
0
(d
0-x
0)), 0 ≤ t
0≤ 1