x - Universidad Pontificia Comillas

Anuncio
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal
Andrés Ramos
Universidad Pontificia Comillas
http://www.iit.upcomillas.es/aramos/
Andres.Ramos@upcomillas.es
CONTENIDO
PROBLEMAS DE PROGRAMACIÓN NO LINEAL
ALGUNOS PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
MÉTODOS DE OPTIMIZACIÓN SIN
RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
MÉTODOS DE PROGRAMACIÓN NLP
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 1
Problemas de programación no lineal (i)
Problema de transporte con descuentos por cantidad
El precio unitario de transporte entre un origen y un destino es
decreciente en función de la cantidad a transportar.
Problema de flujo de cargas en un sistema eléctrico
Las pérdidas son no lineales
Problema de producción con elasticidad en el precio y/o en el
coste
Función de la demanda o curva precio-demanda p ( x) representa el
precio unitario que se necesita para poder vender x unidades. Es una
función decreciente, nunca inferior al coste unitario de producción c.
Los ingresos brutos (producto de cantidad producida por precio) es una
expresión no lineal. Margen de contribución (beneficio bruto,
EBITDA)
P( x ) = xp ( x ) − cx
Los costes no lineales pueden aparecer por una mayor eficiencia
unitaria en función de la cantidad.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 2
Problemas de programación no lineal (ii)
Problema de selección de una cartera de inversiones
n tipos de acciones
xj, j=1,…,n representan el número de acciones j que se van a incluir en la
cartera
µ j y σ jj la media y la varianza del rendimiento sobre cada acción de tipo j,
en donde σ jj es una medida del riesgo de estas acciones. Sea σ ij la
covarianza del rendimiento sobre una acción de cada tipo i y j.
R(x) rendimiento esperado y su varianza V(x)
n
R( x) = ∑ µ j x j
j =1
n
n
V ( x) = ∑∑σ ij xi x j
i =1 j =1
la función objetivo es f ( x) = R( x) − β V ( x)
siendo β el factor de aversión al riesgo.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 3
CONTENIDO
PROBLEMAS DE PROGRAMACIÓN NO LINEAL
ALGUNOS PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
MÉTODOS DE OPTIMIZACIÓN SIN
RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
MÉTODOS DE PROGRAMACIÓN NLP
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 4
Optimización no lineal (i)
Optimización SIN restricciones
min f ( x )
x
f ( x) : ℝ n → ℝ
x ∈ ℝn
Optimización CON restricciones (Programación No Lineal
NLP ) min f ( x)
x
gi ( x) = 0
i ∈ε
gi ( x) ≤ 0
i ∈φ
f ( x) : ℝ n → ℝ
gi ( x) : ℝ n → ℝ
x ∈ ℝn
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 5
Optimización no lineal (ii)
Programación cuadrática
min f ( x ) =
x
1 T
x Qx − bT x
2
Ax = b
Programación convexa
f ( x ) es convexa (cóncava si es maximización) y gi ( x ) es convexa, ∀i = 1,… , m
Programación separable
la función se puede separar en una suma de funciones de las variables
n
individuales
f ( x) = ∑ f j ( x j )
j =1
Programación geométrica
n
función objetivo y restricciones toman la forma g ( x ) = ∑ c j Pj ( x )
Pj ( x ) = x x ... x , j = 1,..., n
a j1
1
aj2
2
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
a jn
n
j =1
Optimización no lineal - 6
CONTENIDO
PROBLEMAS DE PROGRAMACIÓN NO LINEAL
ALGUNOS PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
MÉTODOS DE OPTIMIZACIÓN SIN
RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
MÉTODOS DE PROGRAMACIÓN NLP
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 7
Clasificación métodos optimización SIN restricciones
según el uso de derivadas
Sin derivadas
Necesarios cuando no se pueden calcular éstas
Primeras derivadas (gradiente)
Segundas derivadas (hessiano)
Mayor coste computacional
Mejores propiedades de convergencia
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 8
Expansión en serie de Taylor
Aproxima una función f cerca de un punto dado x0
Se necesitan conocer las derivadas de la función
f ( x0 + p ) = f ( x0 ) + ∇f ( x0 )T p +
1 T 2
p ∇ f ( x0 ) p +…
2
p ∈ ℝ n un vector diferente de 0
f ( x ) valor de la función
∇f ( x ) gradiente de la función
∇2 f ( x ) hessiano de la función (si f tiene segundas derivadas continuas es
una matriz simétrica)
O alternativamente
f ( x0 + p ) = f ( x0 ) + ∇f ( x0 )T p +
1
pT ∇2 f (ξ ) p
siendo un punto ξ entre x y x0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 9
Función cuadrática (i)
f ( x) =
1 T
x Qx − bT x
2
x ∈ ℝn
b ∈ ℝn
Q ∈ ℝn × ℝn
Gradiente
∇f ( x ) = Qx − b
Hessiano
∇2 f ( x ) = Q
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 10
Función cuadrática (ii)
f ( x, y ) =
1 2
1
x + 2 xy + y 2 − y + 9
2
2
 x + 2y 
∇f ( x , y ) = 

 2 x + y − 1
1 2
∇ f ( x, y ) = 

2 1
2
Estamos en x0 = (1, −1) f (1, −1) = 9 y queremos saber el valor de la
función en x0 = (1.1, −0.9)
Evaluación directa
f (1.1, −0.9) = 0.605 − 1.98 + 0.405 + 0.9 + 9 = 8.93
Aproximación mediante expansión en serie de Taylor
 0.1 1
 1 2   0.1
f (1.1, −0.9) = 9 + ( −1 0 )   + ( 0.1 0.1) 
= 9 − 0.1 + 0.03 = 8.93



 0.1 2
 2 1   0.1
La aproximación de Taylor de 2º orden es exacta en una
función cuadrática
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 11
Función cuadrática (iii)
ezsurf('0.5*x^2+2*x*y+0.5*y^2-y+9')
f ( x, y ) =
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
1 2
1
x + 2 xy + y 2 − y + 9
2
2
Optimización no lineal - 12
Mínimo local, global (i)
Sea la función f diferenciable con primera y segunda derivadas
min f ( x)
continuas
x
f ( x) : ℝ n → ℝ
x ∈ ℝn
x* ∈ ℝ n es el óptimo de la función
Es mínimo global si f ( x * ) ≤ f ( x ) para x ∈ ℝ n
Es mínimo global estricto si f ( x * ) < f ( x ) para x ∈ ℝ n
Es mínimo local si f ( x * ) ≤ f ( x ) en su vecindad x − x * < ε
siendo ε un número positivo (típicamente pequeño) cuyo valor puede
depender de x*
*
Es mínimo local estricto si f ( x * ) < f ( x ) en su vecindad x − x < ε
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 13
Mínimo local, global (ii)
El mínimo global es difícil de encontrar. Muchos métodos son locales.
Sólo bajo supuestos adicionales (convexidad) se puede garantizar que
es global.
Mínimo global
estricto
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Mínimo local
estricto (global)
Mínimo local
estricto
Mínimo local
Optimización no lineal - 14
CONTENIDO
PROBLEMAS DE PROGRAMACIÓN NO LINEAL
ALGUNOS PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
MÉTODOS DE OPTIMIZACIÓN SIN
RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
MÉTODOS DE PROGRAMACIÓN NLP
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 15
Optimización SIN restricciones
Condiciones de optimalidad (i)
min f ( x)
x
x ∈ ℝn
Condición necesaria de 1º orden
Si x* es un mínimo local de f entonces necesariamente ∇f ( x* ) = 0
Condición satisfecha también por cualquier punto estacionario
Condición necesaria de 2º orden
Si x* es un mínimo local de f entonces necesariamente ∇ 2 f ( x* ) es una
matriz semidefinida positiva (equivalente a convexa, curvatura
positiva)
Condición suficiente de 2º orden
Si ∇f ( x* ) = 0 y ∇ 2 f ( x* ) es definida positiva entonces x* es un
mínimo local estricto de f
Condición necesaria y suficiente
Sea f convexa y diferenciable en x* (si es dos veces diferenciable el
hessiano será semidefinido positivo); x* es un mínimo global si y sólo
si ∇f ( x * ) = 0 .
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 16
Matriz semidefinida positiva
Una matriz A es semidefinida positiva si x T Ax ≥ 0 para
cualquier vector no nulo x
O bien si todos sus autovalores son no negativos
O bien si todos los determinantes de orden 1,2,…,n (siendo n
la dimensión de la matriz) obtenidos añadiendo filas y
columnas consecutivas desde el primer elemento son mayores
o iguales que cero.
2 1

1 2
Es semidefinida positiva ∇ 2 f ( x, y ) = 
1 2

2 1
No lo es ∇2 f ( x1 , x2 ) = 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 17
Matriz semidefinida negativa
Una matriz A es semidefinida negativa si xT Ax ≤ 0 para
cualquier vector no nulo x
O bien todos sus autovalores son no positivos
O bien si los determinantes de orden 1,2,…,n (siendo n la
dimensión de la matriz) obtenidos añadiendo filas y columnas
consecutivas desde el primer elemento son, alternativamente,
menor que cero, mayor que cero, etc.
O bien si la matriz -A (resultado de cambiar el signo de todos
los elementos) es semidefinida positiva.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 18
Equivalencias
Función convexa
Función cóncava
Hessiano matriz definida positiva
Hessiano matriz definida negativa
Curvatura (2ª derivada) positiva
Curvatura (2ª derivada) negativa
Mínimo local + convexidad
Máximo local + concavidad
Mínimo global
Máximo global
Semidefinida positiva (negativa)
Definida positiva (negativa)
Mínimo (máximo) local
Mínimo (máximo) local estricto
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 19
Ejemplo 1: Optimización SIN restricciones
f ( x, y ) =
1 2
1
x + 2 xy + y 2 − y + 9
2
2
Gradiente = 0 es un sistema de ecuaciones
 x + 2y 
∇f ( x, y ) = 
=0

 2 x + y − 1
con solución
( x, y ) = (2 3, −1 3)
1 2
∇2 f ( x, y ) = 

2 1
Hessiano
es matriz indefinida (no es ni
semidefinida positiva ni semidefinida negativa)
Luego no es ni un mínimo ni máximo local
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 20
Ejemplo 1: Optimización SIN restricciones
f ( x, y ) =
1 2
1
x + 2 xy + y 2 − y + 9
2
2
ezsurf('0.5*x^2+2*x*y+0.5*y^2-y+9')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 21
Ejemplo 1: Optimización SIN restricciones
f ( x, y ) =
1 2
1
x + 2 xy + y 2 − y + 9
2
2
ezcontourf('0.5*x^2+2*x*y+0.5*y^2-y+9')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
[x,y] = meshgrid(-6:0.5:6,-6:0.5:6);
z=0.5*x.^2+2*x.*y+0.5*y.^2-y+9;
[px,py] = gradient(z,0.5,0.5);
contour(x,y,z); hold on
quiver(x,y,px,py)
Optimización no lineal - 22
Autovalores y autovectores
1 2
Hessiano ∇ f ( x, y ) = 
 es matriz indefinida
2
1


 −1
Sus autovalores son λ =  
3
2
 −0.71

 0.71 
Y los autovectores v1 = 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
 0.71
v2 = 

 0.71
Optimización no lineal - 23
Ejemplo 2: Optimización SIN restricciones
f ( x, y ) = 2 x 2 + y 2 − 2 xy + 2 x 3 + x 4
Gradiente = 0 es un sistema de ecuaciones
 4 x − 2 y + 6x2 + 4 x3 
∇f ( x , y ) = 
=0
2 y − 2x


Hessiano
 4 + 12 x + 12 x 2
∇ f ( x, y ) = 
−2

2
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
−2 

2
Optimización no lineal - 24
Ejemplo 2: Optimización SIN restricciones
f ( x, y ) = 2 x 2 + y 2 − 2 xy + 2 x 3 + x 4
ezsurf('2*x^2+y^2-2*x*y+2*x^3+x^4')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 25
Ejemplo 2: Optimización SIN restricciones
f ( x, y ) = 2 x 2 + y 2 − 2 xy + 2 x 3 + x 4
ezcontourf('2*x^2+y^2-2*x*y+2*x^3+x^4')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
[x,y] = meshgrid(-6:0.5:6, -6:0.5:6);
z=2*x.^2+y.^2-2*x.*y+2*x.^3+x.^4;
[px,py] = gradient(z,0.5,0.5);
contour(x,y,z);
hold on, quiver(x,y,px,py)
Optimización no lineal - 26
Ejemplo 3: Optimización SIN restricciones
f ( x, y ) = ( x − 2)2 + ( y − 1) 2
Gradiente = 0 es un sistema de ecuaciones
 2( x − 2) 
∇f ( x , y ) = 
=0
y
2(
−
1)


con solución
Hessiano
( x, y ) = (2,1)
 2 0
∇ 2 f ( x, y ) = 

0
2


es matriz semidefinida positiva
e independiente del punto, luego es un mínimo global
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 27
Ejemplo 3: Optimización SIN restricciones
f ( x, y ) = ( x − 2) 2 + ( y − 1) 2
ezsurf('(x-2)^2+(y-1)^2')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 28
Ejemplo 3: Optimización SIN restricciones
f ( x, y ) = ( x − 2)2 + ( y − 1) 2
ezcontourf('(x-2)^2+(y-1)^2')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
[x,y] = meshgrid(-6:.5:6, -6:.5:6);
z=(x-2).^2+(y-1).^2;
[px,py] = gradient(z,0.5,0.5);
contour(x,y,z);
hold on, quiver(x,y,px,py)
Optimización no lineal - 29
Ejemplo 4: Optimización SIN restricciones
f ( x , y ) = 8 x 2 + 3xy + 7 y 2 − 25 x + 31 y − 29
Gradiente = 0 es un sistema de ecuaciones
 16 x + 3 y − 25 
∇f ( x , y ) = 
=0
x
y
3
+
14
+
31


con solución
Hessiano
( x, y ) = (2.060, −2.656)
 16 3 
∇ 2 f ( x, y ) = 

 3 14 
es matriz semidefinida positiva
e independiente del punto, luego es un mínimo global
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 30
Ejemplo 4: Optimización SIN restricciones
f ( x , y ) = 8 x 2 + 3xy + 7 y 2 − 25 x + 31 y − 29
ezsurf('8*x^2+3*x*y+7*y^2-25*x+31*y-29')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 31
Ejemplo 4: Optimización SIN restricciones
f ( x , y ) = 8 x 2 + 3xy + 7 y 2 − 25 x + 31 y − 29
ezcontourf('8*x^2+3*x*y+7*y^2-25*x+31*y-29')
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
[x,y] = meshgrid(-6:.5:6, -6:.5:6);
z=8*x.^2+3*x.*y+7*y.^2-25*x+31*y-29;
[px,py] = gradient(z,0.5,0.5);
contour(x,y,z);
hold on, quiver(x,y,px,py)
Optimización no lineal - 32
Autovalores y autovectores
Hessiano
 16 3 
∇ 2 f ( x, y ) = 

 3 14 
es matriz semidefinida positiva
11.84 
Sus autovalores son λ = 

18.16


 0.58 

 −0.81
Y los autovectores v1 = 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
 −0.81 
v2 = 

 −0.58 
Optimización no lineal - 33
CONTENIDO
PROBLEMAS DE PROGRAMACIÓN NO LINEAL
ALGUNOS PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
MÉTODOS DE OPTIMIZACIÓN SIN
RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
MÉTODOS DE PROGRAMACIÓN NLP
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 34
Clasificación métodos optimización SIN restricciones
según el uso de derivadas
Sin derivadas
Método de búsqueda aleatoria
Método de Hooke y Jeeves
Método de Rosenbrock (de las coordenadas rotativas o cíclicas)
Método de Nelder y Mead (símplice)
Primeras derivadas (gradiente)
Método de máximo descenso (Steepest Descent)
Método del gradiente conjugado (Flectcher y Reeves)
Segundas derivadas (hessiano)
Método de Newton
Métodos cuasi Newton (Broyden-Fletcher-Goldfarb-Shanno BFGS,
Davidon-Fletcher-Powell DFP)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 35
Método de Newton para función unidimensional (i)
Los algoritmos de interpolación realizan en cada iteración una
aproximación de la función f, en el punto xk considerado en
dicha iteración, por un polinomio de segundo o de tercer
grado. Para hacerlo necesita evaluar las primeras derivadas de
la función en xk.
Este método ajusta, en la iteración k, una parábola q( x ) a f ( x ) y
toma xk+1 como el vértice de dicha parábola
1
f ′′( xk )( xk +1 − xk )2
2
f ′( xk )
q′( xk +1 ) = 0 ⇒ xk +1 = xk −
f ′′( xk )
q( xk +1 ) = f ( xk ) + f ′( xk )( xk +1 − xk ) +
El algoritmo converge cuadráticamente bajo ciertas
condiciones, pero es muy inestable y suele ser necesario tomar
precauciones e incluir protecciones.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 36
Método de Newton para función unidimensional (ii)
f ( x ) = ( x − 1)3 + 2( x − 1) 2 + 3
f ′( x ) = 3( x − 1) 2 + 4( x − 1)
f ′′( x ) = 6( x − 1) + 4
Secuencia de puntos
x0 = −0.75
x1 = x0 −
f ′( x0 )
= −0.4135
f ′′( x0 )
x1 = −0.3376
x1 = −0.3333
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 37
Procedimiento general de optimización
Genera una secuencia de puntos hasta convergencia
Partir de un punto inicial xk
Buscar una dirección de movimiento pk
Calcular la longitud de paso αk
Actualizar al nuevo punto xk+1
xk +1 = xk + α k pk
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 38
Condiciones de cada iteración
x k +1 = x k + α k pk
Elegir el nuevo punto de manera que el valor de la función
disminuya f ( xk +1 ) < f ( xk )
Condiciones sobre la dirección de movimiento pk
La dirección es descendente p T ∇f ( xk ) < 0
p T ∇f ( x k )
−
≥ε >0
El descenso es suficiente (vectores no ortogonales)
p ⋅ ∇f ( xk )
La dirección de movimiento está relacionada con gradiente p ≥ m ∇f ( xk )
Condiciones sobre el escalar αk
El descenso es suficiente (condición de Armijo)
0 < µ <1
f ( xk +1 ) ≤ f ( xk ) + µα k pkT ∇f ( xk )
Descenso no demasiado pequeño
Por ejemplo, se define αk como una secuencia 1, ½, ¼, 1/8, etc. Se van utilizando los
valores de la secuencia empezando por 1. Si para α=1 se satisface la condición anterior
se para, si no se utiliza el valor siguiente
Minimiza el valor de la función: método de búsqueda unidimensional
(line-search methods)
min F (α ) ≡ f ( xk + αp k )
α >0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 39
Método de Rosenbrock o de coordenadas cíclicas
Consiste en partir de un punto x1 y minimizar la función f en la
dirección d1 = (1,0,0,…,0) (minimización de una función
unidimensional); alcanzado el punto x2 que minimiza la
función en esa dirección, se minimiza desde ese punto en la
dirección d 2 = (0,1,0,…,0) para determinar el punto x3 y así
sucesivamente hasta llegar al punto xn+1 en que se vuelve a
minimizar en la dirección d1 = (1,0,0,…,0) .
El proceso se repite hasta alcanzar la precisión deseada. No es
un método muy eficiente, los otros métodos aprovechan mejor
las direcciones detectadas de mejora, pero es bueno para
hacerse una primera idea de lo que son métodos de búsqueda.
Cada búsqueda unidimensional puede ser con o sin derivadas.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 40
Gradiente (i)
Curva de nivel
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 41
Gradiente (ii)
y
f ( x , y ) = 8 x 2 + 3xy + 7 y 2 − 25 x + 31 y − 29
Curva de nivel
Vector gradiente
 5 
∇f (2,3) = 

 77.5 
El gradiente de una
función da la dirección
de máximo aumento
 16 x + 3 y − 25 
∇f ( x , y ) = 

x
y
+
+
3
14
31


 −63 
∇f ( −2, −2) = 

 −3 
x
( x, y ) = (2.060, −2.656)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 42
Método del máximo descenso
No requiere el uso de segundas derivadas. Por tanto, es poco
costoso computacionalmente.
Tiene una convergencia más lenta, lineal.
En general, no se debe utilizar.
Se aproxima la función por la serie de Taylor de primer orden
La dirección de búsqueda resultante para minimizar al máximo
la función es la opuesta al gradiente de la función
pk = −∇f ( xk )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 43
Ejemplo 1
f ( x, y ) = ( x − 2)2 + ( y − 1) 2
 2( xk − 2) 
pk = −∇f ( xk , yk ) = − 

y
−
2(
1)
k


min F (α ) = f ( xk + α pk )
α >0
Punto inicial xk=(0,0)
Dirección de movimiento pk=(4,2)
min F (α ) = (4α − 2) 2 + (2α − 1) 2 = 20α 2 − 20α + 5
α
F ′(α ) = 0
40α − 20 = 0
α = 0.5
Siguiente punto xk+1= xk +αkpk=(2,1)
Dirección de movimiento pk=(0,0)
Se ha llegado al óptimo ya que el gradiente es 0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 44
Ejemplo 2 (i)
f ( x, y ) = 8 x 2 + 3xy + 7 y 2 − 25 x + 31 y − 29
 16 xk + 3 yk − 25 
pk = −∇f ( xk , yk ) = − 

 3xk + 14 yk + 31 
min F (α ) = f ( xk + α pk )
α
Punto inicial xk=(-4,4)
Dirección de movimiento pk=(77,-75)
min F (α ) = 8( −4 + 77α ) 2 + 3( −4 + 77α )(4 − 75α ) +
α
7(4 − 75α ) 2 − 25( −4 + 77α ) + 31(4 − 75α ) − 29 =
69482α 2 − 11554α + 387
F ′(α ) = 0
138964α − 11554 = 0
α = 0.0831
Siguiente punto (-4+0.0831x77,4-0.0831x75)=(2.402,-2.236)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 45
Ejemplo 2 (ii)
Dirección de movimiento pk=(-6.726,-6.905)
min F (α ) = 8(2.4 − 6.7α ) 2 + 3(2.4 − 6.7α )( −2.2 − 6.9α ) +
α
7( −2.2 − 6.9α ) 2 − 25(2.4 − 6.7α ) + 31( −2.2 − 6.9α ) − 29
Etc.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 46
Ejemplo 2 (iii)
y
1
2
x
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 47
Ejemplo 3 (i)
1
min f ( x ) = x T Qx − bT x
x
2
1 ⋅ ⋅ 


Q = ⋅ 5 ⋅ 
 ⋅ ⋅ 25 


 − 1
 
b =  − 1
 − 1
 
Para funciones cuadráticas, el óptimo se puede determinar
como ∇f ( x ) = Qx − b = 0 y, por tanto,
 −1 
x* = Q −1b =  − 1 5 


 − 1 25 


La dirección de máximo descenso es
pk = −∇f ( xk ) = −(Qxk − b)
Si se utiliza una búsqueda unidimensional exacta el valor
resultante de es
∇f ( x k ) T p k
αk = −
pkT Qpk
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 48
Ejemplo 3 (ii)
Punto inicial
 0
 
x0 =  0 
 0
 
f ( x0 ) = 0
 1
 
∇f ( x0 ) = 1
 1
 
α 0 = 3 31 = 0.097
Se utiliza la norma 2 del gradiente como medida de la
convergencia ∇f ( x0 ) = 12 + 12 + 12 = 1.73
Nuevo punto
 − 0.097 


x1 = x0 + α 0 p0 =  − 0.097 
 − 0.097 


Norma 2 del gradiente
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
f ( x1 ) = −0.145
 0.903 


∇f ( x1 ) =  0.516  α1 = 0.059
 − 1.419 


∇f ( x1 ) = 1.760
Optimización no lineal - 49
Ejemplo 3 (iii)
Nuevo punto
 − 0.150 


x2 =  − 0.127 
 − 0.013 


Norma 2 del gradiente
Etc.
f ( x2 ) = −0.237
 0.850 


∇f ( x2 ) =  0.364 
 0.673 


∇f ( x2 ) = 1.144
El proceso continúa hasta que la norma 2 del gradiente se haga
suficientemente pequeña (inferior a una cierta tolerancia, 10-8
por ejemplo). En este ejemplo se necesitan 216 iteraciones
hasta alcanzar esta tolerancia.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 50
Convergencia del método del máximo descenso para
funciones cuadráticas
La convergencia del método de máximo descenso para una
función cuadrática con búsqueda unidimensional exacta es
lineal. La relación de mejora entre dos iteraciones
consecutivas se puede acotar superiormente de esta manera:
f ( xk +1 ) − f ( x* )  cond(Q ) − 1 
≤
*
f ( xk ) − f ( x )  cond(Q ) + 1 
2
donde el número de condición de la matriz A que se define
como cond( A) ≡ A ⋅ A−1 y A 2 = λmax ( AT A) , siendo λmax ( AT A) el
autovalor máximo de la matriz ATA.
Si A es una matriz definida positiva y simétrica cond( A) = λ1 λn
siendo λ1 y λn el mayor y menor autovalor respectivamente. En
el ejemplo anterior cond(Q ) = 25
Un valor elevado del número de condición indica que la
convergencia es muy lenta. Para cond(Q ) = 100 este método
mejora
la solución
como mucho del 4 % en cada iteración.
T
S
I
ESCUELA ÉCNICA UPERIOR DE NGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 51
Número de condición
Mide la sensibilidad de la solución de un sistema de
ecuaciones lineales a los errores en los datos.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 52
Convergencia del método del máximo descenso para
funciones no lineales generales
Para funciones no lineales generales la convergencia es
también lineal con esta cota superior
 cond(Q ) − 1 


Q
+
cond(
)
1


2
donde ahora Q = ∇2 f ( x* ) es el hessiano de la función en la
solución.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 53
Método de Newton para resolución de un sistema de
ecuaciones no lineales (i)
Resuelve iterativamente un sistema de ecuaciones no lineales
f1 ( x1 , … , xn ) = 0
f 2 ( x1 , … , xn ) = 0
⋮
f n ( x1 , … , xn ) = 0
Aproxima la función no lineal por una función lineal en cada
punto (iteración), utilizando la expansión en serie de Taylor de
primer orden
f ( xk + pk ) ≈ f ( xk ) + ∇f ( xk )T pk
f ( x* ) ≈ f ( xk ) + ∇f ( xk )T pk = 0
pk = −∇f ( xk ) − T f ( xk )
xk +1 = xk + pk = xk − ∇f ( xk ) − T f ( xk )
∇f ( x )T = ( ∇f1 ( x ) ∇f 2 ( x ) … ∇f n ( x ) )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
T
jacobiano de la función
Optimización no lineal - 54
Método de Newton para resolución de un sistema de
ecuaciones no lineales (ii)
Converge cuadráticamente cuando el punto está próximo a la
solución
El jacobiano de la función en cada punto debe ser no singular
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 55
Método de Newton para resolución de un sistema de
ecuaciones no lineales (ii)
f1 ( x1 , x2 ) = 3x1 x2 + 7 x1 + 2 x2 − 3 = 0
f 2 ( x1 , x2 ) = 5 x1 x2 − 9 x1 − 4 x2 + 6 = 0
 ∂f1
 ∂x
∇f ( x1 , x2 ) =  1
 ∂f1
 ∂x
 2
∂f 2 
∂x1   3x2 + 7 5 x2 − 9 
=
∂f 2   3x1 + 2 5 x1 − 4 
∂x2 
−T
 3x 2 + 7 5 x 2 − 9   3 x1 x 2 + 7 x1 + 2 x 2 − 3 
x k +1 = x k − 
 

+
−
−
−
+
3
x
2
5
x
4
5
x
x
9
x
4
x
6
 1
  1 2

1
1
2
1
Suponemos como punto inicial x0 =  2 
 
−T
−T
 3x + 7 5 x 2 − 9   3 x1 x 2 + 7 x1 + 2 x 2 − 3   1  13 1  14   − 1.375 
x1 = x0 −  2
 
 = −
  =

+
−
−
−
+
3
2
5
4
5
9
4
6
x
x
x
x
x
x
−
2
5
1
1
5
.
375
   

 1
  1 2
   
1
1
2
Después de 8 iteraciones el punto toma el valor aproximado de
 0
x8 =   y la función toma valor 0.
1.5 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 56
Método de Newton para optimización
Se aplica el método de Newton de resolución de un sistema de
ecuaciones a la condición necesaria de optimalidad de primer
orden. ∇f ( x ) = 0
El jacobiano de esta función ∇f (x ) es el hessiano ∇ 2 f ( x )
Iteración xk +1 = xk + pk = xk − ∇2 f ( xk )−T ∇f ( xk )
Donde pk (la dirección de Newton) se obtiene mediante la
resolución de un sistema de ecuaciones lineales (sistema de
Newton) en lugar de calcular la inversa del hessiano.
∇2 f ( xk ) pk = −∇f ( xk )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 57
Ejemplo 1 (i)
f ( x, y ) = ( x − 2) 2 + ( y − 1) 2
 2( xk − 2) 
∇f ( x k , y k ) = 

y
−
2(
1)
k


2 0
∇ 2 f ( xk , y k ) = 

0 2
∇2 f ( xk ) pk = −∇f ( xk )
Punto inicial xk=(0,0)
Dirección de movimiento pk=(-2,-1)
−T
 2 ⋅   −4 
 0.5 ⋅   −4   2 
pk = − 
=
−
  −2 
 ⋅ 0.5   −2  =  1 
⋅
2

  

   
Cálculo de αk
min F (α ) = (2α − 2) 2 + (α − 1) 2 = 5α 2 − 10α + 5
α
F ′(α ) = 0
10α − 10 = 0
α =1
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 58
Ejemplo 1 (ii)
Siguiente punto xk+1= xk +αk pk = (2,1)
Dirección de movimiento pk = (0,0)
Se ha llegado al óptimo ya que el gradiente es 0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 59
Método cuasi Newton
Disminuir el coste computacional asociado a calcular y
almacenar el hessiano y de resolver el sistema de ecuaciones
lineales.
Basados en aproximar el hessiano de la función ∇2 f ( xk ) en
cada punto por otra matriz Bk definida positiva más fácil de
calcular. Los diferentes métodos cuasi Newton difieren en la
elección de Bk y en su actualización.
Ventajas:
Prescinde del cálculo de las segundas derivadas (hessiano), utiliza sólo
primeras derivadas en la aproximación de Bk
La dirección de búsqueda se puede calcular con menor coste
computacional
Desventajas:
La convergencia ya no es cuadrática, iteraciones menos costosas
Requieren el almacenamiento de una matriz, luego no son aptos para
problemas grandes
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 60
Cálculo de la matriz Bk
Condición de la secante ∇2 f ( xk )( xk − xk −1 ) ≈ ∇f ( xk ) − ∇f ( xk −1 )
Aproximación Bk ( xk − xk −1 ) ≈ ∇f ( xk ) − ∇f ( xk −1 )
Para una función cuadrática el hessiano Q satisface esta
condición, luego la aproximación es exacta.
Definiendo sk = xk +1 − xk y yk = ∇f ( xk +1 ) − ∇f ( xk ) entonces Bk +1sk = yk
En los métodos cuasi Newton la matriz Bk se actualiza en cada
iteración
Bk+1 = Bk + actualización
La inicialización de Bk suele ser la matriz identidad B0=I.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 61
Procedimiento método cuasi Newton
1. Especificación de una solución inicial x0 y de una
aproximación inicial al hessiano B0
2. Iterar k=0,1,… hasta encontrar la solución óptima
Calcular la dirección de movimiento Bk pk = −∇f ( xk )
Hacer una búsqueda unidimensional para determinar xk +1 = xk + α k pk
y k = ∇f ( xk +1 ) − ∇f ( xk )
Calcular sk = xk +1 − xk
Actualizar la aproximación del hessiano
Bk+1 = Bk + actualización
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 62
Actualizaciones de la matriz Bk
Actualización BFGS (Broyden-Fletcher-Goldfarb-Shanno)
Bk +1 = Bk −
(Bk sk )(Bk sk )T
skT Bk sk
y k y kT
+ T
y k sk
Actualización DFP (Davidon-Fletcher-Powell)
Bk +1 = Bk −
(Bk sk )(Bk sk )T
skT Bk sk
y k y kT
+ T + ( skT Bk sk )uk ukT
y k sk
uk =
yk
Bk sk
−
y kT sk skT Bk sk
En ambas actualizaciones para garantizar que Bk+1 sigue
siendo definida positiva se debe cumplir ykT sk > 0 condición
que se debe garantizar controlando la búsqueda
unidimensional.
La matriz Bk se aproximada más al hessiano en cada iteración
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 63
CONTENIDO
PROBLEMAS DE PROGRAMACIÓN NO LINEAL
ALGUNOS PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
MÉTODOS DE OPTIMIZACIÓN SIN
RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
MÉTODOS DE PROGRAMACIÓN NLP
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 64
Lagrangiano (i)
Sea el problema de optimización
min f ( x )
x
Ax = b
siendo x ∈ ℝn , A ∈ ℝm×n , b ∈ ℝm
Se define el lagrangiano como
L( x, λ ) = f ( x ) + λ T ( Ax − b)
siendo λ ∈ ℝm los multiplicadores de Lagrange.
El lagrangiano es un problema sin restricciones.
El problema con restricciones se transforma en otro sin ellas
con m variables adicionales.
El mínimo de ambos problemas coincide puesto que Ax = b .
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 65
Lagrangiano (ii)
Condiciones de optimalidad de primer orden
∇L( x , λ ) = 0
*
*
⇒
 ∇ x L( x, λ ) = ∇f ( x ) + AT λ = 0

∇λ L( x, λ ) = Ax − b = 0
y por tanto si x* es un mínimo local debe cumplir ∇f ( x* ) = − AT λ *
En un mínimo local el gradiente de la función objetivo es una
combinación lineal de los gradientes de las restricciones y los
multiplicadores de Lagrange son los pesos.
Los multiplicadores representan el cambio en la función
objetivo para un cambio unitario (marginal) en la cota de cada
restricción. En el caso particular de LP éstos recibían el
nombre de variables duales o precios sombra. Con esta
formulación del lagrangiano los multiplicadores resultan con
signo contrario a las variables duales.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 66
Ejemplo 1 (i)
min( x − 2)2 + ( y − 1) 2
x + y = −2
Punto óptimo (-0.5,-1.5)
Gradiente ∇f ( x* , y * ) =  2( x − 2) 
 2( y − 1) ( −0.5,−1.5)
 −5 
T
=   = − (1 1) λ *
 −5 
λ* = 5
Óptimo sin
restricciones
Óptimo con
restricciones
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 67
Ejemplo 1 (ii)
min( x − 2) + ( y − 1) + λ ( x + y + 2)
2
2
min( x − 2) 2 + ( y − 1)2 + 10( x + y + 2)
min( x − 2) 2 + ( y − 1) 2 + 5( x + y + 2)
min( x − 2) 2 + ( y − 1) 2 + 2( x + y + 2)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 68
Lagrangiano (iii)
Sea el problema de optimización
min f ( x )
x
gi ( x ) ≤ 0 i = 1,..., m
h j ( x ) = 0 j = 1,..., l
donde f : ℝn → ℝ , gi : ℝ n → ℝ
Se define el lagrangiano como
m
l
i =1
j =1
L( x, λ , µ ) = f ( x ) + ∑ λi gi ( x ) + ∑ µ j h j ( x )
donde λ ∈ ℝm y µ ∈ℝl son los multiplicadores de Lagrange.
Lagrangiano es siempre una cota inferior de f(x) para valores
factibles de x y valores conocidos de λ ≥ 0 (no negativos) y µ
(libre).
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 69
Ejemplo 1 (i)
min( x − 2)2 + ( y − 1) 2
x + y ≤ −2
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 70
Ejemplo 1 (ii)
min( x − 2) 2 + ( y − 1) 2
x + y ≤ −2
∇f ( x1 , y1 )
Gradiente de la f.o.
perpendicular a las
curvas de nivel
 2( x − 2) 
∇f ( x , y ) = 

 2( y − 1) 
∇g ( x 2 , y 2 )
 1
∇g ( x , y ) =  
 1
Gradiente de la
restricción en la
frontera de la región
factible perpendicular
a dicha frontera
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 71
Ejemplo 1 (iii)
min( x − 2) 2 + ( y − 1) 2
x + y ≤ −2
En el óptimo (-0.5,-1.5) ambos gradientes tienen sentidos
opuestos
 2( x − 2) 
 −5 
∇f ( x * , y * ) = 
=

 
 2( y − 1) ( −0.5,−1.5)  −5 
∇g ( x * , y * )
 −1 
−∇g ( x * , y * ) =  
 −1 
∇f ( x* , y * ) = −λ∇g ( x* , y * )
λ ≥0
∇f ( x * , y * )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
 −5 
 −1
=
λ
 −5 
 
 
 −1
λ ≥0
λ =5
Optimización no lineal - 72
Ejemplo 2 (i)
min( x − 2)2 + ( y − 1) 2
x + y ≤ −2
6 x − y ≤ −18
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 73
Ejemplo 2 (ii)
min( x − 2)2 + ( y − 1) 2
x + y ≤ −2
6 x − y ≤ −18
∇g 2 ( x3 , y 3 )
∇f ( x1 , y1 )
 1
∇g1 ( x, y ) =  
 1
( −20 / 7,6 / 7)
∇g1 ( x2 , y2 )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
 2( x − 2) 
∇f ( x , y ) = 

 2( y − 1) 
6
∇g 2 ( x , y ) =  
 −1
Optimización no lineal - 74
Ejemplo 2 (iii)
min( x − 2)2 + ( y − 1) 2
x + y ≤ −2
6 x − y ≤ −18
En el óptimo (-20/7,6/7) el gradiente de la f.o. se puede
expresar como combinación lineal de los gradientes de las
restricciones cambiados de signo
 2( x − 2) 
 −68 / 7 
∇f ( x* , y * ) = 
=



 2( y − 1) ( −20 / 7,6 / 7)  −2 / 7 
−∇g 2 ( x * , y * )
∇f ( x * , y * )
−∇g1 ( x * , y * )
 −1 
−∇g1 ( x* , y * ) =  
 −1 
 −6 
−∇g 2 ( x* , y * ) =  
1
∇f ( x* , y * ) = −λ1∇g1 ( x* , y * ) − λ2∇g 2 ( x * , y * )
λ1 , λ2 ≥ 0
 −68 / 7 
 −1
 −6 
=
λ
+
λ
 −2 / 7  1  − 1  2  1 


 
 
λ1 , λ2 ≥ 0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
λ1 = 2.75
λ2 = 1.125
Optimización no lineal - 75
Ejemplo 3 (i)
min( x − 2)2 + ( y − 1) 2
x + y ≤ −2
x ≤ −3
y≤4
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 76
Ejemplo 3 (ii)
min( x − 2)2 + ( y − 1) 2
x + y ≤ −2
x ≤ −3
∇f ( x1 , y1 )
y≤4
∇g 3 ( x4 , y 4 )
∇g 2 ( x3 , y 3 )
 2( x − 2) 
∇f ( x , y ) = 

 2( y − 1) 
 1
∇g1 ( x, y ) =  
 1
∇g1 ( x2 , y2 )
1
∇g 2 ( x , y ) =  
 0
 0
∇g 3 ( x , y ) =  
1
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 77
min( x − 2)2 + ( y − 1) 2
x + y ≤ −2
x ≤ −3
Ejemplo 3 (iii)
y≤4
En el óptimo (-3,1) el gradiente de la f.o. se puede expresar
como combinación lineal de los gradientes de las restricciones
activas cambiados de signo
 2( x − 2) 
 −10 
∇f ( x * , y * ) = 
=


y
−
2(
1)

( −3,1)  0 
−∇g 3 ( x2 , y2 )
 −1 
 −1 
−∇g1 ( x* , y * ) =   −∇g 2 ( x * , y * ) =  
 −1 
0
 0
∇g 3 ( x * , y * ) =  
1
−∇g 2 ( x * , y * )
∇f ( x * , y * )
∇f ( x* , y * ) = −λ1∇g1 ( x* , y * ) − λ2∇g 2 ( x * , y * )
−∇g1 ( x , y )
*
*
λ1 , λ2 ≥ 0
 −10 
 −1
 −1
=
λ
+
λ
 0  1  −1  2  0 


 
 
λ1 , λ2 ≥ 0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
λ1 = 0
λ2 = 10
λ3 = 0
La primera restricción es superflua. Solución degenerada.
Optimización no lineal - 78
Condiciones necesarias con restricciones de
desigualdad (i)
Sea el problema
min f ( x )
x
gi ( x ) ≤ 0 i = 1,..., m
donde f : ℝn → ℝ , gi : ℝ n → ℝ
Sea x* un punto factible
I = {i / gi ( x* ) = 0} el conjunto de restricciones activas
f y {gi , i ∈ I } diferenciables en x*
{gi , i ∉ I } continuas en x*
{∇gi ( x* )}i∈I linealmente independientes
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 79
f ( x)
Condiciones necesarias con restricciones de min
x
gi ( x ) ≤ 0
desigualdad (ii)
i = 1,..., m
Si x* es mínimo local entonces existen unos escalares {λi , i ∈ I }
tales que
*
*
∇f ( x ) + ∑ λi ∇gi ( x ) = 0
i∈I
λi ≥ 0 ∀i ∈ I
Además si las funciones {gi , i ∉ I } son diferenciables en x*,
si x* es óptimo local entonces
m
∇f ( x ) + ∑ λi ∇gi ( x* ) = 0
*
i =1
λi gi ( x* ) = 0 i = 1,..., m
λi ≥ 0 i = 1,..., m
Condición de
complementariedad
de holguras
Restricción no activa → multiplicador 0.
Restricción activa → multiplicador puede ser o no 0.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 80
Condiciones necesarias con restricciones de
desigualdad (iii)
Sea el problema
min f ( x )
x
gi ( x ) ≤ 0 i = 1,..., m
Condiciones necesarias de Karush-Kuhn-Tucker (KKT) de
primer orden para tener un óptimo local
Gradiente de f.o.:
combinación lineal de
gradientes de
restricciones
cambiados de signo
Punto factible
m
∇f ( x ) + ∑ λi ∇gi ( x* ) = 0
*
i =1
λi gi ( x* ) = 0 i = 1,..., m
gi ( x* ) ≤ 0 i = 1,..., m
Condición de
complementariedad de
holguras
Restricción no activa λ=0
Restricción activa λ≠0
λi ≥ 0 i = 1,..., m
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 81
Condiciones necesarias con restricciones de
desigualdad (iv)
Condiciones necesarias de segundo orden para tener un
mínimo local
La matriz hessiano ∇2 f ( x* ) + ∑ i∈I λi*∇2 gi ( x* ) debe ser
semidefinida positiva
m
o bien
∇ f ( x ) + ∑ λi*∇ 2 g i ( x * )
2
*
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
i =1
Optimización no lineal - 82
Condiciones necesarias con restricciones de
desigualdad (v)
Sea el problema
min f ( x )
x
gi ( x ) ≤ 0 i = 1,..., m
El lagrangiano será
m
L( x, λ ) = f ( x) + ∑ λi g i ( x)
i =1
λi ≥ 0
La condición de optimalidad para el lagrangiano será
∇L( x* , λ * ) = 0
⇒
∇ x L( x* , λ * ) = ∇f ( x* ) + ∑ λi ∇gi ( x * ) = 0

i∈I

*
*
∇
 λ L( x , λ ) = gi ( x ) = 0 ∀i ∈ I
la 2ª corresponde a la definición de restricciones activas ∀i ∈ I
Para considerar todas las restricciones lo expreso como
λi gi ( x* ) = 0 i = 1,..., m
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 83
Condiciones suficientes con restricciones de
desigualdad (i)
Si la f.o. es no convexa o la región factible es no convexa
puede haber puntos que verifiquen las condiciones necesarias.
Sea x* un punto factible
I = {i / gi ( x* ) = 0} el conjunto de restricciones activas
f y {gi , i ∈ I } convexas y diferenciables en x*
Si existen unos escalares {λi , i ∈ I } tales que
∇f ( x * ) + ∑ λi ∇gi ( x * ) = 0
i∈I
λi ≥ 0 ∀i ∈ I
entonces x* es mínimo global
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 84
Condiciones suficientes con restricciones de
desigualdad (ii)
Condición de mínimo global
Alternativamente, en lugar de poner la condición de que f y{gi , i ∈ I }
sean convexas y diferenciables en x* se puede expresar
también como que el lagrangiano L( x ) = f ( x ) + ∑ i∈I λi* gi ( x ) ,
siendo λi* los multiplicadores de Lagrange de las restricciones,
tenga un hessiano ∇2 L( x* ) = ∇2 f ( x* ) + ∑ i∈I λi*∇2 gi ( x* ) que sea una
matriz semidefinida positiva en x*.
Las condiciones suficientes para el caso de maximización se
traducen en que la función f sea cóncava en el punto, las
restricciones no cambian y los multiplicadores sean menores o
iguales que 0.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 85
Condiciones necesarias con restricciones de igualdad
y desigualdad (i)
Sea el problema
min f ( x )
x
gi ( x ) ≤ 0 i = 1,..., m
h j ( x ) = 0 j = 1,..., l
donde f : ℝn → ℝ , gi : ℝ n → ℝ
Sea x* un punto factible
I = {i / gi ( x* ) = 0} el conjunto de restricciones activas
f y {gi , i ∈ I } diferenciables en x*
{gi , i ∉ I } continuas en x*
{h j , j = 1,..., l} continuamente diferenciables en x*
{∇gi ( x* ), i ∈ I ; ∇h j ( x* ), j = 1,..., l} linealmente independientes
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 86
Condiciones necesarias con restricciones de igualdad
y desigualdad (ii)
Si x* es mínimo local entonces existen unos escalares
{λi , i ∈ I ; µ j , j = 1,…, l} tales que
l
∇f ( x ) + ∑ λi ∇gi ( x ) + ∑ µ j ∇h j ( x* ) = 0
*
*
i∈I
j =1
λi ≥ 0 ∀i ∈ I
Además si las funciones {gi , i ∉ I } son diferenciables en x*, si x*
es óptimo local entonces
m
l
∇f ( x ) + ∑ λi ∇gi ( x ) + ∑ µ j ∇h j ( x* ) = 0
*
*
i =1
j =1
λi gi ( x * ) = 0 i = 1,..., m
λi ≥ 0 i = 1,..., m
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 87
Ejemplo 4 (i)
min f (x , y ) = 9y − (x − 5)2
x ,y
−x 2 + y ≤ 0
−x − y ≤ 0
x −1 ≤ 0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 88
Ejemplo 4 (ii)
min f (x , y ) = 9y − (x − 5)2
x ,y
−x 2 + y ≤ 0
−x − y ≤ 0
x −1 ≤ 0
Punto C (0,0,1,10,0) f.o.=-25
Punto A (1/2,-1/2,0,9,0) f.o.=-24.75
Punto B (1,-1,0,9,1) f.o.=-25
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 89
Ejemplo 4 (iii)
min L(x , y, λ1, λ2 , λ3 ) = 9y − (x − 5)2 + λ1(−x 2 + y ) + λ2 (−x − y ) + λ3 (x − 1)
x ,y ,λ1 ,λ2 ,λ3
Lagrangiano para los valores
de los multiplicadores
correspondientes al punto A
(1/2,-1/2,0,9,0)
Función
Funciónno
noacotada
acotada
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 90
Ejemplo 4 (iv)
min L(x , y, λ1, λ2 , λ3 ) = 9y − (x − 5)2 + λ1(−x 2 + y ) + λ2 (−x − y ) + λ3 (x − 1)
x ,y ,λ1 ,λ2 ,λ3
Lagrangiano para los valores de los multiplicadores
correspondientes al punto A (1/2,-1/2,0,9,0)
Punto A (1/2,-1/2,0,9,0)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 91
Ejemplo 4 (v)
min L(x , y, λ1, λ2 , λ3 ) = 9y − (x − 5)2 + λ1(−x 2 + y ) + λ2 (−x − y ) + λ3 (x − 1)
x ,y ,λ1 ,λ2 ,λ3
Lagrangiano para los valores
de los multiplicadores
correspondientes al punto B
(1,-1,0,9,1)
Función
Funciónno
noacotada
acotada
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 92
Ejemplo 4 (vi)
min L(x , y, λ1, λ2 , λ3 ) = 9y − (x − 5)2 + λ1(−x 2 + y ) + λ2 (−x − y ) + λ3 (x − 1)
x ,y ,λ1 ,λ2 ,λ3
Lagrangiano para los valores de los multiplicadores
correspondientes al punto B (1,-1,0,9,1)
Punto B (1,-1,0,9,1)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 93
Ejemplo 4 (vii)
min L(x , y, λ1, λ2 , λ3 ) = 9y − (x − 5)2 + λ1(−x 2 + y ) + λ2 (−x − y ) + λ3 (x − 1)
x ,y ,λ1 ,λ2 ,λ3
Lagrangiano para los valores
de los multiplicadores
correspondientes al punto C
(0,0,1,10,0)
Función
Funciónno
noacotada
acotada
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 94
Ejemplo 4 (viii)
min L(x , y, λ1, λ2 , λ3 ) = 9y − (x − 5)2 + λ1(−x 2 + y ) + λ2 (−x − y ) + λ3 (x − 1)
x ,y ,λ1 ,λ2 ,λ3
Lagrangiano para los valores de los multiplicadores
correspondientes al punto C (0,0,1,10,0)
Punto C (0,0,1,10,0)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 95
Condiciones necesarias con restricciones de igualdad
y desigualdad (iii)
Sea el problema
min f ( x )
x
gi ( x ) ≤ 0 i = 1,..., m
h j ( x ) = 0 j = 1,..., l
Condiciones necesarias de Karush-Kuhn-Tucker (KKT) de
primer orden para tener un óptimo local
Gradiente de f.o.:
combinación lineal de
gradientes de
restricciones
cambiados de signo
m
l
∇f ( x ) + ∑ λ ∇gi ( x ) + ∑ µ *j ∇h j ( x* ) = 0
*
i =1
*
i
*
λi* gi ( x* ) = 0 i = 1,..., m
gi ( x* ) ≤ 0 i = 1,..., m
Punto factible
h j ( x* ) = 0 j = 1,..., l
j =1
Condición de
complementariedad de
holguras
Restricción no activa λ=0
Restricción activa λ≠0
λi* ≥ 0 i = 1,..., m
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 96
Condiciones necesarias con restricciones de igualdad
y desigualdad (iv)
Condiciones necesarias de segundo orden para tener un
mínimo local
l
2
*
* 2
*
La matriz hessiano ∇ f ( x ) + ∑ λi ∇ gi ( x ) + ∑ µ *j ∇2 h j ( x* ) debe ser
i∈I
j =1
semidefinida positiva
o bien
m
l
∇ f ( x ) + ∑ λ ∇ gi ( x ) + ∑ µ *j ∇ 2 h j ( x * )
2
*
i =1
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
*
i
2
*
j =1
Optimización no lineal - 97
Condiciones suficientes con restricciones de igualdad
y desigualdad (i)
Sea x* un punto factible
I = {i / gi ( x* ) = 0} el conjunto de restricciones activas
f y {gi , i ∈ I } convexas y diferenciables en x*
Si existen unos escalares {λi , i ∈ I ; µ j , j = 1,…, l} tales que
l
∇f ( x ) + ∑ λi ∇gi ( x ) + ∑ µ j ∇h j ( x* ) = 0
*
*
i∈I
j =1
λi ≥ 0 ∀i ∈ I
de modo que hj sea convexa en x* si µ j > 0 y hj sea cóncava en
si µ j < 0 , entonces x* es mínimo global
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 98
CONTENIDO
PROBLEMAS DE PROGRAMACIÓN NO LINEAL
ALGUNOS PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
MÉTODOS DE OPTIMIZACIÓN SIN
RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
MÉTODOS DE PROGRAMACIÓN NLP
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 99
Programación no lineal
Sea el problema
min f ( x )
x
gi ( x ) ≤ 0 i = 1,..., m
h j ( x ) = 0 j = 1,..., l
f , gi , h j : ℝ n → ℝ
x ∈ ℝn
donde f, g y h son funciones diferenciables con primera y
segunda derivadas continuas.
Si la región factible es convexa y la función objetivo es
convexa cualquier óptimo local es también global
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 100
Métodos de programación no lineal (NLP)
1. Métodos de penalización: minimizan una función relacionada
con el lagrangiano que tiene el mismo mínimo
•
•
Métodos de penalización y barrera
Método del lagrangiano aumentado
2. Métodos factibles: mantienen factibilidad al partir de un
punto factible y moverse en direcciones factibles
Generalización del método simplex de LP. Resuelven una secuencia
de subproblemas con un conjunto de restricciones activas que cambia
en cada iteración.
Inconvenientes: selección del conjunto de restricciones activas y
dificultad de satisfacer las restricciones
•
•
Método de programación cuadrática secuencial
Método del gradiente reducido
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 101
Métodos de penalización
Resuelven un problema NLP resolviendo una secuencia de
problemas de optimización sin restricciones. En el límite la
solución de ambos problemas es la misma.
En la función objetivo se incluyen unas penalizaciones que
miden las violaciones de las restricciones y además unos
parámetros que determinan la importancia de cada restricción.
Métodos de penalización (método de penalización exterior)
• Penalizan la violación de una restricción. Se mueve por puntos infactibles.
• Mejor para restricciones de igualdad
Métodos barrera (método de penalización interior)
• Evitan que se alcance el contorno de una restricción. Puntos estrictamente
factibles.
• No son válidos para restricciones de igualdad
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 102
Método de penalización (exterior)
Sea el problema
min f ( x )
x
gi ( x ) = 0 i = 1,..., m
Se define la función de penalización
1 m
1
ψ ( x ) = ∑ g i ( x ) 2 = g ( x )T g ( x )
2 i =1
2
El problema original se transforma en
min π ( x, ρ k ) = f ( x ) + ρ kψ ( x )
x
siendo ρk, el parámetro de penalización, un escalar positivo
que crece monótonamente hacia ∞
Al avanzar las iteraciones los óptimos se mueven hacia la
región factible
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 103
Método de penalización (exterior)
Condición de optimalidad de la función de penalización
m
∇f ( x ( ρ )) + ρ ∑ ∇gi ( x ( ρ )) gi ( x ( ρ )) = 0
i =1
Definimos λi = λi ( ρ ) = ρ gi ( x ( ρ )) . Estimación de los
multiplicadores de Lagrange.
Entonces, las condiciones de optimalidad de la función
original son
m
∇f ( x ( ρ )) + ∑ λi ( ρ )∇gi ( x ( ρ )) = 0
i =1
λi ( ρ ) = ρ gi ( x ( ρ )) i = 1,…, m
i = 1,…, m
λi ( ρ ) ≥ 0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 104
Método de penalización (exterior)
El hessiano del problema penalizado puede dar un número de
condición elevado ∇2xπ ( x( ρ ), ρ )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 105
Ejemplo 1 (i)
min( x − 2) 2 + ( y − 1) 2
x + y = −2
λ =5
( −0.5, −1.5)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 106
Ejemplo 1 (ii)
1
min( x − 2) 2 + ( y − 1) 2 + ρ ( x + y + 2) 2
2
Condición de optimalidad de primer orden
2( x − 2) + ρ ( x + y + 2) = 0
2( y − 1) + ρ ( x + y + 2) = 0
Para ρ=1
Para ρ=2
Para ρ=4
Para ρ=8
Para ρ=16
Para ρ=32
Para ρ=64
Para ρ=∞
x=
( x * , y * ) = (0.75, −0.25)
4−ρ
2 + 2ρ
y=
∇f ( x ) = 0
2 − 3ρ
2 + 2ρ
λ=
10ρ
2 + 2ρ
λ = 2.5
( x * , y * ) = (1/ 3, −2 / 3)
( x * , y * ) = (0, −1)
λ =4
( x * , y * ) = ( −2 / 9, −11/ 9)
( x * , y * ) = ( −6 /17, −23/17)
λ = 80 /17 = 4.7
Cada
Cada uno
uno es
es una
una
optimización
optimización sin
sin
restricciones
restricciones
( x * , y * ) = ( −14 / 33, −47 / 33)
( x * , y * ) = ( −6 /13, −19 /13)
λ = 64 /13 = 4.92
( x* , y * ) = ( −0.5, −1.5)
λ =5
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 107
Ejemplo 1 (iii)
λ = 2.5
ρ =1
(0.75, −0.25)
ρ = 16
λ = 80 /17 = 4.7
( −6 /17, −23/17)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
λ =4
ρ =4
(0, −1)
ρ = 64
λ = 64 /13 = 4.92
( −6 /13, −19 /13)
Optimización no lineal - 108
Ejemplo 1 (iv)
El hessiano del problema penalizado es
2 + ρ
∇ 2xπ ( x ( ρ ), ρ ) = 
 ρ
ρ 
2 + ρ 
Para ρ=1
 3 1
∇ 2xπ ( x ( ρ ), ρ ) = 

 1 3
cond (∇ 2π ) = λ1 / λ2 = 4 / 2 = 2
Para ρ=4
 6 4
∇ 2xπ ( x ( ρ ), ρ ) = 

 4 6
cond (∇2π ) = λ1 / λ2 = 10 / 2 = 5
Para ρ=16
 18 16 
∇ 2xπ ( x ( ρ ), ρ ) = 

 16 18 
cond (∇ 2π ) = λ1 / λ2 = 34 / 2 = 17
Para ρ=64
 66 64 
∇ 2xπ ( x ( ρ ), ρ ) = 
cond (∇2π ) = λ1 / λ2 = 130 / 2 = 65

 64 66 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 109
Método barrera (penalización interior)
Sea el problema
min f ( x )
x
gi ( x ) ≥ 0 i = 1,..., m
Se define la función barrera
m
o bien
φ ( x ) = − log( g ( x ))
∑
i =1
i
m
1
i =1 g i ( x )
φ ( x) = ∑
Es una función continua en el interior de la región factible que se hace
al acercarse al contorno
El problema original se transforma en
min β ( x, µk ) = f ( x ) + µkφ ( x )
x
siendo µk, el parámetro barrera, un escalar positivo que
decrece monótonamente hacia 0
Al disminuir el parámetro los puntos se acercan al contorno de
la región factible
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 110
Método de penalización (exterior)
Condición de optimalidad de la función barrera
∇gi ( x )
=0
i =1 g i ( x )
−µ
λi = λi ( µ ) =
gi ( x )
m
∇f ( x ) − µ ∑
λi ( µ ) gi ( x ) = − µ
Definimos
Estimación de los multiplicadores de Lagrange.
Entonces, las condiciones de optimalidad de la función
original son
m
∇f ( x ( µ )) + ∑ λi ( µ )∇gi ( x ( µ )) = 0
i =1
λi ( µ ) gi ( x ( µ )) = − µ i = 1,…, m
λi ( µ ) ≤ 0
i = 1,…, m
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 111
Método de penalización (exterior)
El hessiano del problema penalizado puede dar un número de
condición elevado ∇2xφ ( x( µ ), µ )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 112
Ejemplo 1 (i)
min( x − 2) 2 + ( y − 1) 2
−x − y ≥ 2
λ = −5
( −0.5, −1.5)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 113
Ejemplo 1 (ii)
min( x − 2)2 + ( y − 1) 2 − µ log( − x − y − 2)
Condición de optimalidad de primer orden
2( x − 2) + µ /( − x − y − 2) = 0
2( y − 1) + µ /( − x − y − 2) = 0
Para µ=100
Para µ=20
Para µ=4
Para µ=0.8
Para µ=0.16
Para µ=0.032
Para µ=0.0064
Para µ=0
x=
3 1
± 100 + 16µ
4 8
( x * , y * ) = ( −4.4039, −5.4039)
∇f ( x ) = 0
1 1
y = − ± 100 + 16µ
4 8
λ=
µ
x+ y+2
λ = −12.8078
( x * , y * ) = ( −1.8117, −2.8117)
( x * , y * ) = ( −0.8508, −1.8508)
λ = −5.7016
( x * , y * ) = ( −0.5776, −1.5776)
( x * , y * ) = ( −0.5159, −1.5159)
λ = −5.0318
Cada
Cada uno
uno es
es una
una
optimización
optimización sin
sin
restricciones
restricciones
( x * , y * ) = ( −0.5032, −1.5032)
( x* , y * ) = ( −0.5006, −1.5006)
λ = −5.0013
( x* , y * ) = ( −0.5, −1.5)
λ = −5
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 114
Ejemplo 1 (iii)
µ = 100
λ = −12.8078
µ=4
λ = −5.7016
( −0.8508, −1.8508)
( −4.4039, −5.4039)
λ = −5.0318
µ = 0.16
( −0.5159, −1.5159)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
λ = −5.0013
µ = 0.0064
( −0.5006, −1.5006)
Optimización no lineal - 115
Ejemplo 1 (iv)
El hessiano del problema barrera es
 2 + µ /( x + y + 2)2
∇ φ ( x ( µ ), µ ) = 
2
 µ /( x + y + 2)
2
x
µ /( x + y + 2) 2 

2 + µ /( x + y + 2) 2 
Para µ=100
 3.64 1.64 
∇ 2xφ ( x ( µ ), µ ) = 

 1.64 3.64 
Para µ=4
 10.127 8.127 
2
∇ 2xφ ( x ( µ ), µ ) = 

cond
∇
π ) = λ1 / λ2 = 18.25 / 2 = 9.125
(
 8.127 10.127 
Para µ=0.16
 160.24 158.24 
∇ 2xφ ( x ( µ ), µ ) = 

 158.24 160.24 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
cond (∇ 2π ) = λ1 / λ2 = 5.28 / 2 = 2.64
cond (∇ 2π ) = λ1 / λ2 = 318.48 / 2 = 159.24
Optimización no lineal - 116
Método del lagrangiano aumentado (i)
El mal condicionamiento de los métodos anteriores puede
mejorarse incluyendo los multiplicadores en la función de
penalización.
Los algoritmos ahora deben actualizar tanto las variables como
los multiplicadores.
La convergencia es más rápida que en los métodos anteriores.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 117
Método del lagrangiano aumentado (ii)
Sea el problema
min f ( x )
x
gi ( x ) = 0 i = 1,..., m
El óptimo del lagrangiano coincide con el del problema
anterior si el punto es factible
m
min L( x ) = f ( x ) + ∑ λ gi ( x )
x
i =1
gi ( x ) = 0 i = 1,..., m
Resolvemos este problema por el método de penalización
m
m
exterior
1
2
k
min A( x ) = f ( x ) + ∑ λi gi ( x ) + ρ k ∑ [ gi ( x ) ]
x
i =1
2
i =1
De forma general
1
min A( x, λ , ρ ) = f ( x ) + λ T g ( x ) + ρ g ( x )T g ( x )
2
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 118
Método del lagrangiano aumentado (iii)
Elegir valores de x0 , λ0 y ρ0
Prueba de optimalidad. Si se verifica se detiene el algoritmo.
∇L( xk , λk ) = 0
Resolver el problema no lineal sin restricciones y calcular
xk + 1
1
min A( x, λk , ρ k ) = f ( x ) + λkT g ( x ) + ρ k g ( x )T g ( x )
x
2
Actualizar λk +1 y ρ k +1
λk +1 = λk + ρ k g ( xk +1 )
ρ k +1
ha de ser mayor que ρk
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 119
Programación cuadrática secuencial (i)
Sea el problema
min f ( x )
x
gi ( x ) = 0 i = 1,..., m
Formulamos el lagrangiano
m
min L( x ) = f ( x ) + ∑ λi gi ( x )
x
i =1
Condiciones de optimalidad de primer orden
∇L( x* , λ * ) = 0
⇒
m

∇ x L( x, λ ) = ∇f ( x ) + ∑ λi ∇gi ( x ) = 0

i =1
 ∇ L( x , λ ) = g ( x ) = 0
i
 λ
Se formula el método de Newton para este sistema de ecs.
 x k +1   x k   pk 

= + 
 λk +1   λk   vk 
donde pk y vk se determinan resolviendo el siguiente sistema
de ecuaciones lineales
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 120
Programación cuadrática secuencial (ii)
Sistema de ecuaciones lineales
p 
∇ 2 L( x k , λk ) k  = −∇L( x k , λk )
 vk 
 ∇2xx L( xk , λk ) ∇g ( xk )   pk   −∇ x L( xk , λk ) 

  = 

T
v
g
x
(
)
g
x
(
)
0
∇
k
k




k


Representa las condiciones de optimalidad de primer orden de
este problema de optimización cuadrática con restricciones
lineales
1
min p T ∇2xx L( xk , λk )  p + p T [∇ x L( xk , λk ) ]
p
2
[∇g ( xk )]T
p + g ( xk ) = 0
: vk
En lugar de resolver un sistema de ecs lineales se resuelve este
problema de optimización cuadrática con restricciones lineales
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 121
Programación cuadrática secuencial (iii)
1. Se resuelve el problema cuadrático
min
p
1 T 2
p ∇ xx L( xk , λk )  p + p T [∇ x L( xk , λk ) ]
2
[∇g ( xk )]T
p + g ( xk ) = 0
: vk
2. Se obtienen ( pk , vk )
3. Se actualizan los valores de las variables y multiplicadores
 x k +1   x k   pk 

= + 
 λk +1   λk   v k 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 122
Función reducida (i)
Sea el problema
min f ( x )
x
Ax = b, x ∈ ℝ n
Supongamos un punto factible x y una dirección factible p,
Ap=0, entonces cualquier punto factible se puede expresar
min f ( x + p )
como x = x + p .
p
Ap = 0, p ∈ ℝ n
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 123
Función reducida (ii)
Si Z es una matriz n x r ( r ≥ n − m ) del espacio nulo de A
(espacio definido por el conjunto de vectores ortogonales a las
filas de A) la región factible también se puede expresar como
x = x + Zv , donde v ∈ ℝ r
Ahora el problema se transforma en una minimización de la
función φ (v ) que es la función reducida de f en la región
factible, problema sin restricciones y de menores dimensiones
min φ ( v ) = f ( x + Zv )
v
v ∈ ℝr
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 124
Cálculo de Z (método de reducción de variables)
Sean las matrices
A ∈ ℝ m×n , B ∈ ℝ m×m , N ∈ ℝ m×( n −m ) , Z ∈ ℝ n×( n −m )
Las direcciones factibles han de cumplir
Ap = 0 = (B
 pB 
N )  = BpB + NpN = 0
 pN 
−1
 pB   − B N 
 pN
p =   = 
 pN   I 
 − B −1 N 

Z = 
I


El nuevo punto se obtiene como
 B −1b   − B −1 N 
 + 
 p N
x = x + p = x + ZpN = 
 0   I 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 125
Condiciones de optimalidad NLP con restricciones
lineales de igualdad
Gradiente reducido (proyectado) de f en x
Hessiano reducido (proyectado) de f en x
∇φ ( v ) = Z T ∇f ( x )
∇ 2φ ( v ) = Z T ∇ 2 f ( x ) Z
Condiciones necesarias de primer y segundo orden
Z T ∇f ( x* ) = 0
pT ∇2 f ( x * ) p ≥ 0
siendo p=Zv un vector del espacio nulo de A
Condiciones suficientes de primer y segundo orden para
mínimo local estricto
Ax * = b
Z T ∇f ( x * ) = 0
Z T ∇2 f ( x* ) Z
matriz definida positiva
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 126
Ejemplo
Sea el problema
min f ( x ) = x12 − 2 x1 + x22 − x32 + 4 x3
x1 − x2 + 2 x3 = 2
 2 x1 − 2 
2 ⋅ ⋅ 
∇f ( x ) =  2 x2  , ∇2 f ( x ) =  ⋅ 2 ⋅ 




 ⋅ ⋅ −2 
 −2 x + 4 
3




1 − 2 


B = (1) N = ( −1 2 )
Z = 1 ⋅ 
⋅ 1 


 3
 2 ⋅ ⋅   1 −2 
 1 1 ⋅     ⋅ T 2
 1 1 ⋅ 
*
  1 ⋅  =  4 −4 
−
=
∇
=
⋅
⋅
Z T ∇f ( x * ) = 
3
,
Z
f
(
x
)
Z
2
    ⋅
 −2 ⋅ 1  
 −4 6 



−
⋅
2
1

 6   

  ⋅ ⋅ −2   ⋅ 1  

 



 2.5 
x* =  −1.5 


 −1 


El hessiano no es una matriz definida positiva y, sin embargo,
el hessiano reducido sí lo es. Luego el punto es un mínimo
local estricto.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 127
Método de Newton reducido
Sea el problema
min f ( x )
x
Ax = b,
x ∈ ℝn
x=x+p
siendo x punto factible inicial y p dirección factible
x = x + Zv donde Z es una matriz n x n-m del espacio nulo de A
La función reducida es min φ (v) = f ( x + Zv )
v
v ∈ ℝr
Se aplica el método de Newton para calcular la dirección
[Z
T
∇2 f ( xk ) Z ]v = − Z T ∇f ( xk )
vk
resolviendo este sistema de ecuaciones lineales
pk se obtiene a partir de vk , p = Zv . No depende
matemáticamente de Z pero sí numéricamente.
−1
pk = Zvk = − Z  Z T ∇ 2 f ( xk ) Z  Z T ∇f ( xk )
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 128
Método del gradiente conjugado lineal (i)
Sea el sistema de ecuaciones
Ax = b
donde A es una matriz simétrica y definida positiva
Resolver el sistema es equivalente a resolver
min f ( x) =
1 T
x Ax − bT x
2
ya que por condiciones de optimalidad
∇f ( x) = Ax − b = 0
y el hessiano es definido positivo
∇ 2 f ( x) = A
Vectores conjugados
piT Ap j = 0 ∀i ≠ j
Si A=I entonces los vectores conjugados son ortogonales.
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 129
Método del gradiente conjugado lineal (ii)
Supongamos que tenemos un punto y combinación lineal de
m+1 vectores conjugados
m
y = ∑ α i pi
i =0
Evaluando la función
T
 T m
 m
 1 m
  m

f ( y ) = f  ∑ α i pi  =  ∑α i pi  A  ∑α j p j  − b  ∑α i pi  =
 i =0
 2  i =0
  j =0
 i =0


m
1 m m
T
= ∑∑ α iα j pi Ap j − ∑ α ibT pi
2 i =0 j =0
i =0
m
1 m 2 T
= ∑ α i pi Api − ∑ α ibT pi
2 i =0
i =0
Desaparecen los productos piApj
1

= ∑  α i2 piT Api − α ibT pi 

i =0  2
m
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 130
Método del gradiente conjugado lineal (iii)
Minimizando la función
 m
 m
1

min f ( y ) = min f  ∑α i pi  = ∑ min  α i2 piT Api − α ibT pi 
y
αi

 i =0
 i = 0 αi  2
El problema de minimización multidimensional se ha
transformado en m+1 problemas de minimización
unidimensionales
Para cada dimensión
α i ( p Api ) − b pi = 0
T
i
T
bT pi
αi = T
pi Api
Es decir, si representamos un punto como combinación lineal
de un conjunto de vectores conjugados la solución es
inmediata
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 131
Método del gradiente conjugado lineal (iv)
Determina iterativamente el conjunto de vectores conjugados
y los pesos
Método
x0 = 0, r0 = b = b − Ax0 ,
p−1 = 0, β 0 = 0
Para i = 0,1,…
Si ri < ε fin.
Si i > 0 → β i =
T
i i
T
i −1 i −1
r r
r r
pi = ri + β i pi −1
riT ri
αi = T
pi Api
xi +1 = xi + α i pi
Dirección de movimiento
Longitud de paso
Actualización del punto
Actualización del residuo
ri +1 = ri − α i Api
x es la solución, p son vectores conjugados, r son vectores ortogonales
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 132
Método del gradiente conjugado lineal (v)
Ejemplo
1 ⋅ ⋅ 
1
A =  ⋅ 2 ⋅  b = 1
 ⋅ ⋅ 3
 1


 
 ⋅
 1
x0 =  ⋅  , r0 =  1 ,
 ⋅
 1
 
 
⋅
p−1 =  ⋅  , β 0 = 0, ε = 10−12
⋅
 
r0 = 1.73 > ε ,
 1
 0.5 
 0.5 
p0 = 1 , α 0 = 0.5, x1 =  0.5  , r1 =  ⋅ 
 1
 0.5 
 −0.5 
 
 


r1 = 0.71 > ε ,
 0.667 
 0.9 
 0.1 
p1 =  0.167  , α1 = 0.6, x2 =  0.6  , r2 =  −0.2 
 −0.333 
 0.3 




 
 0.1 
r2 = 0.245 > ε ,
 0.18 
 1 
 ⋅
p2 =  −0.18  , α 2 = 0.556, x3 =  0.5  , r3 =  ⋅ 
 0.06 
 0.33 
 




 ⋅
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 133
Método del gradiente conjugado lineal (vi)
Adecuado para la resolución de problemas de gran tamaño
Requieren poco almacenamiento
Poco cálculo por iteración
Convergencia lineal con este ratio
xi +1 − x*
xi − x*
y
2
A
≡
A
≤
A
cond ( A) − 1
cond ( A) + 1
1 T
y Ay
2
Si cond ( A) = 1 → ratio = 0 → converge en una iteración
Si cond ( A) = 100 → ratio = 0.82
Si cond ( A) = 1000000 → ratio = 0.998
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 134
Método del gradiente conjugado no lineal (i)
Sólo requiere el uso de primeras derivadas
min f ( x)
x0 = 0,
p−1 = 0, β 0 = 0
Para i = 0,1,…
Si ∇f ( xi ) < ε fin.
∇f ( xi ) ∇f ( xi )
T
Si i > 0 → β i =
∇f ( xi −1 ) ∇f ( xi −1 )
T
pi = −∇f ( xi ) + β i pi −1
Determinar α i para minimizar f ( xi + α i pi )
xi +1 = xi + α i pi
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Dirección de movimiento
Longitud de paso
Actualización del punto
Optimización no lineal - 135
Método del gradiente conjugado no lineal (i)
Ejemplo
1
1
T

min f ( x ) = ( x − e ) D ( x − e ) +  xT x − 
10
4

x0 = (1 −1 1 −1)
T
f ( x0 ) = 16.46
∇f ( x0 ) = (15 −15.8 15 −16.6 )
T
2
e = (1 1 ⋯ 1)
T
1



2

D=


⋱


n


p = −∇f ( x0 )
α = 0.0625
x1 = ( 0.0625 −0.0125 0.0625 0.0375 )
T
f ( x0 ) = 0.985
∇f ( x0 ) = ( −0.248 −0.393 −0.623 −0.806 )
T
p = −∇f ( x0 )
α = 0.5
x1 = ( 0.177 0.194 0.364 0.451)
T
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
Optimización no lineal - 136
Precondicionamiento
Idea básica
Sacar partido de información auxiliar sobre el problema para acelerar la
convergencia
Supongamos que conocemos la matriz M definida positiva
En lugar de resolver Ax = b resolvemos M −1 Ax = M −1b
 2000 1000   x1  1
= 


 1

2   x2  1

M
−1
cond ( A) = 1700
1000 ⋅ 
=
1
 ⋅
 2 1   x1   0.001
 1 2 x  =  1 

 2  

cond ( M −1 A) = 3
El objetivo es encontrar M de manera que
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL
M≈A
Optimización no lineal - 137
Descargar