Optimización ICS 1113 1 er semestre 2013 Profesor: Pamela Álvarez M. Departamento de Ingeniería...
-
Upload
cristobal-vera-blazquez -
Category
Documents
-
view
216 -
download
2
Transcript of Optimización ICS 1113 1 er semestre 2013 Profesor: Pamela Álvarez M. Departamento de Ingeniería...
OptimizaciónICS 1113
1er semestre 2013Profesor: Pamela Álvarez M.
Departamento de Ingeniería Industrial y de Sistemas
Pontificia Universidad Católica de Chile
Parte IV: Programación No Lineal
• Ya vimos:
• Nociones básicas de convexidad:
• Veremos:
• Condiciones necesarias y suficientes para un mínimo local o global.
• Métodos de búsqueda de soluciones óptimas (Gradiente, Newton)
• Optimización con restricciones de igualdad y desigualdad.
2ICS1113. Prof.: Pamela Álvarez M.
PROGRAMACIÓN NO LINEAL
• Sea el problema:
3ICS1113. Prof.: Pamela Álvarez M.
. .
P Max f x
s a x D
• Dominio D:
0 1,...,
0 1,...,i
j
h x i m
g x j s
• Donde: 1,...,
Tnx x x
• ¿Cuándo se dice que es un problema sin restricciones?
PROGRAMACIÓN NO LINEAL
• Un punto extremo de una función definida sobre un dominio D puede
ser local o global, estricto o no estricto.
4ICS1113. Prof.: Pamela Álvarez M.
• Definiciones que ya vimos:
• máximo global
• máximo global estricto
• máximo local
• máximo local estricto
PROGRAMACIÓN NO LINEAL
5ICS1113. Prof.: Pamela Álvarez M.
• Hay que recordar lo que vimos de convexidad
PROGRAMACIÓN NO LINEAL
6ICS1113. Prof.: Pamela Álvarez M.
• Proposiciones:
• Si P) es convexo, todo punto mínimo local del problema es
también su óptimo global.
• Si f(x) es estrictamente convexa sobre D, entonces todo punto
mínimo local de f(x) es también su único mínimo global.
PROGRAMACIÓN NO LINEAL
7ICS1113. Prof.: Pamela Álvarez M.
• En la práctica, ¿cómo saber si una función es convexa?:
• Sea f(x)=f(x1,x2,…,xn) continua y dos veces diferenciable. Su matriz
Hessiana es:2 2 2
21 1 2 1
2 2
22 1 2
2 2
21
...n
n n
f f f
x x x x x
f f
H x x x
f f
x x x
• Veamos la siguiente figura:
PROGRAMACIÓN NO LINEAL
8ICS1113. Prof.: Pamela Álvarez M.
• Caracterización de la matriz Hessiana:
• Si todos los determinantes de las matrices menores son estrictamente
positivos, la matriz H se dirá definida positiva.
• Si todos los determinantes de las matrices menores son no negativos,
la matriz H se dirá semidefinida positiva.
• Si todos los determinantes de las matrices menores impares son
estrictamente negativos y los de las matrices menores pares
estrictamente positivos, la matriz H se dirá definida negativa.
PROGRAMACIÓN NO LINEAL
9ICS1113. Prof.: Pamela Álvarez M.
• Sea f() dos veces diferenciable sobre D, con D Rn y convexo. Entonces f()
es convexa sobe D si y solo si D2f(x)=H es semidefinida positiva x D.
PROGRAMACIÓN NO LINEAL
• Optimización Sin Restricciones:• Sigamos utilizando el problema básico
10ICS1113. Prof.: Pamela Álvarez M.
( )
. . n
P Min f x
s a x R
0f x
• Definición: Si la función es diferenciable sobre Rn , un
punto se dice ESTACIONARIO para f si:x
: nf R R
PROGRAMACIÓN NO LINEAL
• Las siguientes son las condiciones necesarias y suficientes para que una
función f(x) tenga puntos extremos.
11ICS1113. Prof.: Pamela Álvarez M.
• Teorema 1 (Condición Necesaria):
• Sea una función diferenciable. Si el punto es mínimo
local de f, entonces:
: nf R R x
0f x
• Dem:
• Sea tal que no cumple la condición y sea
• Entonces se tiene que:
• Derivada direccional de f en la dirección d es negativa.
• Contradice el hecho que es mínimo local.x
x 0f x d f x
0Td f x
PROGRAMACIÓN NO LINEAL
12ICS1113. Prof.: Pamela Álvarez M.
• ¿Es posible saber, analizando otras propiedades si el punto es un
mínimo local de f?
PROGRAMACIÓN NO LINEAL
13ICS1113. Prof.: Pamela Álvarez M.
• Teorema 2 (Condición Necesaria de 2º orden):
• Sea una función de clase C2. Sea el punto tal
que Entonces si es semidefinida positiva,
es mínimo local de f.
: nf R R x
0f x xHf x
• Teorema 3 (Condición Suficiente):
• Sea una función de clase C2. Sea el punto tal
que Entonces si es definida positiva, es
mínimo local estricto de f.
: nf R R x
0f x xHf x
PROGRAMACIÓN NO LINEAL
14ICS1113. Prof.: Pamela Álvarez M.
• Dem:
• La expresión de Taylor de f en torno a es:
2
TT h Hf x h
f x h f x h f x h R h
0f x
xHf
x
• Como se tiene:
2
Th Hf x hf x h f x
• Como es definida positiva se tiene: 0
2
Th Hf x h
f x h f x • Y por lo tanto:
• En consecuencia, es mínimo local.x
PROGRAMACIÓN NO LINEAL
15ICS1113. Prof.: Pamela Álvarez M.
• ¿Cómo construir un algoritmo con esta información?
• ¿Qué hacer si estoy en un punto x0 cualquiera?
• Evaluar el punto
• Buscar un punto estacionario
• Determinar una dirección de descenso
• Moverse en dicha dirección
• Verificar criterio de parada
• Método iterativo dada la complejidad de determinar
puntos estacionarios en forma analítica.
PROGRAMACIÓN NO LINEAL
16ICS1113. Prof.: Pamela Álvarez M.
• Definición:
• Sea una función diferenciable. En un punto , se
llama dirección de descenso para f en a todo vector d Rn tal
que .
: nf R R x
0Td f x
x
• Una vez que tenemos la dirección de descenso, ¿cómo llego al
siguiente punto?1k k k
kx x d
• k R, se denomina paso
• Se determina de modo tal que f(xk+1) < f(xk).
PROGRAMACIÓN NO LINEAL
17ICS1113. Prof.: Pamela Álvarez M.
• La estructura general de un método de descenso es:
• Inicialización, k=0:
• Seleccionar un punto de partida x0
• Iteración k:
• Si entonces xk es un punto estacionario: finalizar
• Determinar una dirección de descenso dk para f en xk.
• Determinar un paso k > 0 tal que f(xk+1)= f(xk+ k dk )< f(xk).
• Definir xk+1= xk+k dk e incrementar el índice k.
0kf x
PROGRAMACIÓN NO LINEAL
18ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• Contribución del matemático francés Cauchy.
• Algoritmo:
1. Sea x0 Rn un punto inicial, k = 0.
2. Si f(xk) = 0, STOP, es un punto estacionario de f
3. Determinar una dirección de descenso
4. Moverse en esa dirección .
5. Determinar el nuevo punto.
6. Hacer k = k +1, ir a 2.
PROGRAMACIÓN NO LINEAL
19ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• Para completar nuestro algoritmo tenemos que responder:
• Como ya señalamos debemos escoger alguna dirección d tal que:
f(x0+ d )< f(x0)
• ¿Cómo escoger d y de modo que f(x0+ d ) sea lo más pequeño
posible?
PROGRAMACIÓN NO LINEAL
20ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• Dirección d para el método del gradiente:
• ¿A qué corresponde f(x0) ?
• Dirección de máximo crecimiento de la función en el punto.
• Recordemos que nuestro problema es de minimización.
• Escoger la dirección de máximo decrecimiento, entonces:
d=-f(xk)
PROGRAMACIÓN NO LINEAL
21ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• Ahora cómo determina el paso .
• Determinar el mínimo relativo de f en esa dirección.
• Es decir, se debe encontrar el que minimice f(xk+1)
• Problema unidimensional.
• Resolver:
min{f(x+ d): >0}
PROGRAMACIÓN NO LINEAL
22ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• Nuestro algoritmo finalmente es:
1. Sea x0 Rn un punto inicial, k = 0.
2. Si f(xk) = 0, STOP, es un punto estacionario de f
3. Sea la dirección de descenso d=-f(xk)
4. Resolver min{f(x+ d): >0} . Sea k su solución.
5. Sea xk+1=xk+ k dk.
6. Hacer k = k +1, ir a 2.
PROGRAMACIÓN NO LINEAL
23ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• ¿Es realizable computacionalmente nuestro algoritmo?
• Criterios de parada:
kf x
1k kx x
1k kf x f x
Máximo número de iteraciones.
PROGRAMACIÓN NO LINEAL
24ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
0x
f
1x
2x
3x*x
PROGRAMACIÓN NO LINEAL
25ICS1113. Prof.: Pamela Álvarez M.
• Ejemplo:
• Dado el siguiente problema:
1. Resuelva con el método del gradiente partiendo del punto (0,0).
2. Resuelva con el método del gradiente partiendo del punto (1,1). Debe hacer por lo menos 2 iteraciones completas.
322),( 22 yxxyxfMin
PROGRAMACIÓN NO LINEAL
26ICS1113. Prof.: Pamela Álvarez M.
• Solución:
322),( 22 yxxyxfMin
0
1. 0
0,0
k
x
2 22. ,
4
2 00,0
0 0
xf x y
y
f
0 0 0 0
2
0
4. 0 2 ,0
4 4 3
18 4 0 2
Min f x d Min f
Min
df
d
1 0 2 115.
0 0 02x
6. 1k
1
1. 1
1,0
k
x
0 02. 1,0 Punto Estacionario
0 0f
0 23.
0d
PROGRAMACIÓN NO LINEAL
27ICS1113. Prof.: Pamela Álvarez M.
• Solución:
322),( 22 yxxyxfMin
0
1. 0
1,1
k
x
2 22. ,
4
4 01,1
4 0
xf x y
y
f
0 43.
4d
0 0 0 0 0
2
0
4. 1 4 ,1 4
48 32 8
196 32 0 3
Min f x d Min f
Min
df
d
1
11 41 35.1 4 13
3
x
6. 1k
1
1. 1
1 1,3 3
k
x
4 031 12. , Continuar3 3 4 0
3
f
PROGRAMACIÓN NO LINEAL
28ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• ¿Cómo es la convergencia del método?
• Podría ser extremadamente lenta, dependerá de la función
objetivo.
• Curvas de nivel más elípticas
• Curvas de nivel circulares
PROGRAMACIÓN NO LINEAL
29ICS1113. Prof.: Pamela Álvarez M.
• Convergencia del Método del gradiente:
• La convergencia del método del gradiente depende de un parámetro , que se calcula a partir de los valores propios de la matriz hessiana.
• Mientras el parámetro sea más cercano a 0, el método converge más rápido.
1
1
n
n
PROGRAMACIÓN NO LINEAL
30ICS1113. Prof.: Pamela Álvarez M.
• Convergencia del Método del gradiente:
• Tiene relación con la excentricidad de las curvas de nivel.
• También podemos ver que si vamos a minimizar una función cuadrática simple de la forma:
22),( byaxyxf
• Con a y b>0
• ¿Cómo será la convergencia para distintos valores de los parámetros?
PROGRAMACIÓN NO LINEAL
31ICS1113. Prof.: Pamela Álvarez M.
• Método del Gradiente o Descenso más pronunciado
• Dijimos que la convergencia podía ser extremadamente lenta
dependiendo de la función objetivo.
• ¿Se puede mejorar?
• Aquí tenemos el Método de Newton
PROGRAMACIÓN NO LINEAL
32ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• Se puede aproximar la función f entorno a xk, a través de una
expansión de Taylor de 2º grado.
2'''
2
k k
k k kf x x x
q x f x f x x x
• ¿Por qué esta función es una buena aproximación para f ?
1. k kq x f x
2. ' 'k kq x f x
3. '' ''k kq x f x
PROGRAMACIÓN NO LINEAL
33ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• Se minimiza la función q.
' '' 0k k kdqf x f x x x
dx
• Despejando obtenemos:
1'
''
k
k k
k
f xx x
f x
PROGRAMACIÓN NO LINEAL
34ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• Algoritmo:
1. Sea x0 Rn un punto inicial, k = 0.
2. Si f(xk) = 0, STOP, es un punto estacionario de f
3. Sea dk = –[Hf(xk)]-1f(xk)
4. Sea xk+1=xk+ k dk.
5. Hacer k = k +1, ir a 2.
PROGRAMACIÓN NO LINEAL
35ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• Ejemplo: 322),( 22 yxxyxfMin
0
1. 0
0,0
k
x
1
2 22. ,
4
2 00,0
0 0
2 0, 0,0
0 4
1 020,010 4
xf x y
y
f
Hf x y Hf
Hf
0
1 0 2 123.1 0 00 4
d
1 0 1 14.
0 0 0x
5. 1k
1
1. 1
1,0
k
x
0 02. 1,0 Punto Estacionario
0 0f
PROGRAMACIÓN NO LINEAL
36ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• Este método iterativo típicamente se aproxima sucesivamente a un
óptimo local.
• Sin embargo, es posible que tarde infinitas iteraciones en lograrlo.
• También puede que no converja.
• Criterios de parada: 1k kx x
1k kf x f x
PROGRAMACIÓN NO LINEAL
37ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• Es importante señalar que este método busca puntos extremos.
• Este método utiliza mayor información que el anterior optimizando
polinomios de segundo orden tangentes a un punto.
• Hay que revisar el signo de la segunda derivada de la función en cada
punto.
• Más complejo.
• Introducir modificaciones al método.
PROGRAMACIÓN NO LINEAL
38ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• El cálculo reiterativo de [Hf(xk)]-1 puede resultar muy costoso.....
• Idea básica de un método “Quasi-Newton”:
• Trabajar con una matriz que se “parezca” a [Hf(xk)]-1
• Por ejemplo, comenzar con [Hf(xo)]-1 y actualizarla parcialmente en
cada iteración....
• Hay diversas formas de hacer eso, es un tema ampliamente abordado
y los métodos implementados en el software moderno incorporan los
últimos avances en este sentido...
• Las aproximaciones hacen perder algo de la convergencia cuadrática,
pero la ganancia en eficiencia es enorme.
PROGRAMACIÓN NO LINEAL
• Ya estudiamos cómo resolver problemas no lineales sin restricciones.
• Pero el mundo tiene restricciones
39ICS1113. Prof.: Pamela Álvarez M.
PROGRAMACIÓN NO LINEAL
40ICS1113. Prof.: Pamela Álvarez M.
• En la mayor parte de los problemas de toma de decisiones están
presentes ligaduras entre las variables o limitaciones en las mismas:
• Unas debidas a las ecuaciones del modelo
• Otras al rango permisible de algunas variables
• Otras debidas a reglas de operación, existencias, etc.
• La presencia de restricciones limita el espacio de búsqueda pero, al
mismo tiempo, dificulta el encontrar la solución óptima.
• No es útil considerar una política conducente a calcular el óptimo sin
restricciones y luego tratar de aplicarla.
PROGRAMACIÓN NO LINEAL
41ICS1113. Prof.: Pamela Álvarez M.
• Veamos un par de ejemplos:
PROGRAMACIÓN NO LINEAL
2 2
2
2 1
. . 0
2 0
Min x y
s a y x
x y
2 2
2
½ 1
. . 0
2 0
Min x y
s a y x
x y
1,1x ½,1x
En la frontera En el interior
42ICS1113. Prof.: Pamela Álvarez M.
• Caso 1: Problema Unidimensional
• Caso 2: Problema con restricciones de igualdad
• Caso 3: Problemas con desigualdades
. .
P Min f x
s a a x b
x R
) ( )
. . ( ) 0 1,...,i
P Min f x
s a h x i m
x C
) ( )
. . ( ) 0 1,...,i
P Min f x
s a g x i m
x C
PROGRAMACIÓN NO LINEAL
43ICS1113. Prof.: Pamela Álvarez M.
• ¿Qué puede decir del punto (1,1) para el siguiente problema?
2
21
22
21221 222
x,xa.s
xxxxxMinP
PROGRAMACIÓN NO LINEAL
44ICS1113. Prof.: Pamela Álvarez M.
• Analice la convexidad de la siguiente función y qué ocurre con el
punto (1,1):
yxy
yeyxf x 23
),(3
1
PROGRAMACIÓN NO LINEAL
45ICS1113. Prof.: Pamela Álvarez M.
• Clasifique según los valores de los parámetros a, b y c los puntos
críticos de la siguiente función e indique si se trata de óptimos
globales:
222 21 czybxaz,y,xf
PROGRAMACIÓN NO LINEAL
46ICS1113. Prof.: Pamela Álvarez M.
• Veamos un ejemplo:
1. Considere el problema: 2 2, 4 4 8P Min f x y x y x y
• Condiciones de primer orden:
• Condiciones de segundo orden:
PROGRAMACIÓN NO LINEAL
47ICS1113. Prof.: Pamela Álvarez M.
• Método de Newton
• Ejemplo: 2( ) xf x x e
PROGRAMACIÓN NO LINEAL
k xk f'(xk) f''(xk)0 4 1310.36 1856.341 3.29 470.06 701.542 2.62 167.35 267.323 2.00 58.91 103.134 1.43 20.37 40.585 0.92 6.82 16.536 0.51 2.15 7.207 0.21 0.59 3.598 0.05 0.11 2.329 0.00 0.01 2.02