Trasparencias

Anuncio
10. Optimización no lineal sin restricciones
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
„
„
„
„
Carmen M. García López
Francisco R. Villatoro
Problema general de programación no lineal (PNL):
maximizar o minimizar z=f(x1,x2,...,xn) (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
x* que satisface f(x) ≥f(x*) para todo x de la región factible.
10. Optimización no lineal sin restricciones
Extremos locales
Para un PNL, un punto factible x= (x1,x2,...,xn) es un máximo
(mínimo) local si para un ε suficientemente pequeño, cualquier
punto factible x’= (x1’,x2’,...,xn’) verificando |xi-xi’| <ε 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 (x1,x2,...,xn) 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.
Carmen M. García López
Francisco R. Villatoro
10. Optimización no lineal sin restricciones
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)
 a11

 a21
A =  a31

 M
a
 n1
a12
a22
a32
M
an 2
a13 K a1n 

a23 K a2 n 
a33 K a3n 

M
M 
an3 K ann 
 a11

 a21
H k =  a31

 M
a
 k1
a12
a22
a32
M
ak 2
a13 K a1k 

a23 K a2 k 
a33 K a3k , k = 1,2K n

M
M 
ak 3 K akk 
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)k para 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
anteriores
Carmen M. García López
Francisco R. Villatoro
10. Optimización no lineal sin restricciones
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⊂Rn sujeto 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)
ƒ Puntos extremos del intervalo [a,b]
Carmen M. García López
Francisco R. Villatoro
10. Optimización no lineal sin restricciones
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 y
1. 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
„
Carmen M. García López
Francisco R. Villatoro
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
10. Optimización no lineal sin restricciones
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,...
x (k + 1 ) = x (k ) −
„
„
Carmen M. García López
Francisco R. Villatoro
(
(
)
)
g x (k )
g ' x (k )
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.
10. Optimización no lineal sin restricciones
Optimización sin restricciones en
dimension>1
Maximizar o minimizar f (x1,x2,...,xn)
S. A. (x1,x2,...,xn)∈Rn
Suponemos 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
*
∂f ( x )
=0
∂xi
es decir, x* es un punto estacionario
Un punto estacionario que no es extremo local es un punto de
silla.
Optimización sin restricciones en
dimension>1
Teorema
Si x* es un punto estacionario de f y Hk(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 Hk(x*) tiene el mismo
signo que (-1)k k=1,2,...,n entonces x* es un máximo local para
el PNL.
Teorema
Si x* es un punto estacionario de f, Hn(x*)≠ 0 y no se satisfacen
las hipótesis de los teoremas anteriores, entonces x* es un
punto de silla para el PNL.
Carmen M. García López
Francisco R. Villatoro
10. Optimización no lineal sin restricciones
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 ∇f X = 0
( )
Método de Newton para sistemas
„
„
„
„
Carmen M. García López
Francisco R. Villatoro
Para resolver la ecuación F(X)=0, F con derivadas parciales de
primer orden
Elegir un valor inicial X0
Calcular
(k +1)
(k )
−1
(k )
(k )
X
=X
( )F (X )
− JF X
Repetir hasta que || X(k)-X(k-1) || < ε
10. Optimización no lineal sin restricciones
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(x1,x2,...,xn) sujeto a gi(x1,...,xn)=bi, i=1,...,m (m<n)
Pueden utilizarse dos técnicas:
„
„
Carmen M. García López
Francisco R. Villatoro
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
10. Optimización no lineal sin restricciones
Multiplicadores de Lagrange.
„
Lagrangiano: incluye una nueva variable λi (multiplicador
lagrangiano) por cada restricción gi:
m
L ( x , λ ) = f ( x1 , K , x n ) − ∑ λ i ( g i ( x1 , K , x n ) − bi )
i =1
„
Condición necesaria de optimización: encontrar los puntos
críticos del lagrangiano (x*, λ*)
∂L
∂f
=
−
∂x j
∂x j
∂L
= bj − g
∂λ j
m
∑
i =1
j
λ
i
∂g i
= 0 , j = 1, K , n
∂x j
= 0 , j = 1, K , m
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
Carmen M. García López
Francisco R. Villatoro
10. Optimización no lineal sin restricciones
Condición suficiente de optimización
 ∂2L

2
 ∂x1

Hess(L( x, λ )) =
M
 ∂2L

 ∂x ∂x
 n 1
„
„
∂2L
∂x1∂x n
M
∂2L
L
∂x n2
L
0
 T
Construimos la matriz  J g

 ∂g1



 ∂x1
, J g ( x1 ,K , x n ) =  M

 ∂g m

 ∂x

 1

∂g1 

∂x n 
M 
∂g m 
L

∂x n 
L
Jg 
H  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 Ap coincide con (-1)m para todo p,
el punto crítico es un mínimo local estricto del problema
„
Si el signo del determinante de Ap coincide con (-1)n-p para todo p,
el punto crítico es un máximo local estricto del problema
Bú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:
„
„
Carmen M. García López
Francisco R. Villatoro
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
10. Optimización no lineal sin restricciones
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 gi satisfacen 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,...,λm
tales que
∂g ( x *)
∂f ( x *) m
− ∑λi i
= 0, j = 1,2,K, n
∂x j
∂x j
i =1
λ i [bi − g i ( x *)] = 0, i = 1,2,K, m
λ i ≥ 0, i = 1,2,K , m
Carmen M. García López
Francisco R. Villatoro
10. Optimización no lineal sin restricciones
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,...,λm
tales que
∂g (x *)
∂f (x *) m
+ ∑λi i
= 0, j = 1,2, K , n
∂x j
∂x j
i =1
λ i [bi − g i ( x *)] = 0, i = 1,2,K, m
λ i ≥ 0, i = 1,2,K, m
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,….µn tales que
∂g ( x *)
∂f ( x *) m
− ∑λi i
+ µ j = 0, j = 1,2,K , n
∂x j
∂x j
i =1
λ i [bi − g i ( x *)] = 0, i = 1,2,K , m
 ∂f ( x *) m
∂g ( x *) 
−∑ λ i i

 x j * = 0, j = 1,2, K , n
∂
∂x j 
x
i =1
j

λ i ≥ 0, i = 1,2, K , m
µ j ≥ 0,
Carmen M. García López
Francisco R. Villatoro
j = 1,2, K, n
10. Optimización no lineal sin restricciones
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,….µn tales que
∂g ( x *)
∂f ( x *) m
+ ∑λi i
− µ j = 0, j = 1,2,K , n
∂x j
∂x j
i =1
λ i [bi − g i ( x *)] = 0, i = 1,2,K , m
 ∂f ( x *) m
∂g ( x *) 
+∑ λ i i

 x j * = 0, j = 1,2, K , n
∂x j 
i =1
 ∂x j
λ i ≥ 0, i = 1,2,K , m
µ j ≥ 0,
j = 1,2, K, n
Condiciones suficientes
„
„
Carmen M. García López
Francisco R. Villatoro
Si f es una función cóncava y gi son 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 gi son funciones convexas, los
puntos que satisfacen las condiciones de Kuhn-Tucker son
soluciones óptimas del problema de minimización.
10. Optimización no lineal sin restricciones
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(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
m
P ( p, x ) = p ∑ (g i ( x ) − bi )
2
i =1
con p>0 si el problema es minimizar y p<0 si el problema es
maximizar
„
Carmen M. García López
Francisco R. Villatoro
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.
10. Optimización no lineal sin restricciones
Algoritmo de penalización
Para el problema de minimización
„
Elegir una secuencia {pk } → ∞ por ejemplo 1,10,102, 103,....
„
Para cada pk encontrar un mínimo local xk de f(x)+P(pk,x)
„
Terminar cuando P(pk,xk)/ pk sea suficientemente pequeño
Método de las direcciones factibles.
„
Para resolver maximizar z=f(x) S.A. Ax ≤ b, x ≥ 0:
„
„
„
„
Carmen M. García López
Francisco R. Villatoro
Elegir x0 solución factible.
Sea d0 solución de maximizar z= ∇f(x0)·d S.A. Ad ≤ b,
d≥0
Elegir x1=x0+t0(d0-x0) siendo t0 la solución de maximizar
f(x0+t0(d0-x0)), 0 ≤ t0 ≤ 1
Continuar generando puntos x2,x3,... hasta que xk y xk-1
estén suficientemente próximos.
Descargar