Sei sulla pagina 1di 138

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.comillas.edu/aramos/
Andres.Ramos@comillas.edu
CONTENIDO

PROBLEMAS DE PROGRAMACIÓN NO LINEAL


TIPOS DE PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
METHODS FOR UNCONSTRAINED
OPTIMIZATION (master)
NONLINEAR PROGRAMMING METHODS
(master)
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
Curva de demanda o curva demanda-precio 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
f ( 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 históricas 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


TIPOS DE PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
METHODS FOR UNCONSTRAINED
OPTIMIZATION (master)
NONLINEAR PROGRAMMING METHODS
(master)
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
1 T
min f ( x ) = x Qx − bT x
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 )
j =1
Pj ( x ) = x x ... x , j = 1,..., n
a j1 aj2 a jn
1 2 n

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 6
CONTENIDO

PROBLEMAS DE PROGRAMACIÓN NO LINEAL


TIPOS DE PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
METHODS FOR UNCONSTRAINED
OPTIMIZATION (master)
NONLINEAR PROGRAMMING METHODS
(master)
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
1 T 2
f ( x0 + p ) = f ( x0 ) + ∇f ( x0 )T p + 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
1 T 2
f ( x0 + p ) = f ( x0 ) + ∇f ( x0 )T p + p ∇ f (ξ ) p
2

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)

1 T
f ( x) = 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)
1 2 1
f ( x, y ) = x + 2 xy + y 2 − y + 9
2 2

 x + 2y  1 2
∇f ( x , y ) =   ∇ f ( x, y ) = 
2

 2 x + y − 1   2 1 

Estamos en x0 = (1, −1) f (1, −1) = 9 y queremos saber el valor de la


función en x1 = (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')

1 2 1
f ( x, y ) = x + 2 xy + y 2 − y + 9
2 2

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 12
Mínimo local, global (i)

Sea la función f diferenciable con primera y segunda derivadas


continuas min f ( x)
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
Mínimo local Mínimo local Mínimo local
estricto
estricto (global) estricto
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 14
CONTENIDO

PROBLEMAS DE PROGRAMACIÓN NO LINEAL


TIPOS DE PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
METHODS FOR UNCONSTRAINED
OPTIMIZATION (master)
NONLINEAR PROGRAMMING METHODS
(master)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 15
Optimización SIN restricciones min f ( x)
x

Condiciones de optimalidad (i) 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 local si y sólo si
∇f ( x * ) = 0 . x* es un mínimo global si y sólo si f convexa en toda la
región
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 16
Matriz definida positiva

Una matriz A es definida positiva si xT Ax > 0 para cualquier


vector no nulo x
O bien si todos sus autovalores son positivos
O bien si todos los menores de esquina (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 positivos.

Es definida positiva ∇ 2 f ( x, y ) = 
2 1

 1 2 

No lo es ∇2 f ( x , x ) =  1 2 
1 2 2 1
 

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 17
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 menores principales de orden 1,2,…,n
(siendo n la dimensión de la matriz) son no negativos.
Menores principales son los determinantes de k filas
cualesquiera cruzadas con sus correspondientes columnas
δ1 = 1 = 1 δ 2 = 12 = 12 δ3 = 4 = 4
1 −3 −1
1 −3 1 −1 12 6 δ1,2,3 = −3 12 6 =0
δ1,2 = =3 δ1,3 = = 3 δ 2,3 = = 12
−3 12 −1 4 6 4 −1 6 4

Es semidefinida positiva  1 −3 −1


∇ 2 f ( x, y, z ) =  −3 12 6 
 −1 6 4 
 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 18
Matriz definida negativa

Una matriz A es definida negativa si xT Ax ≤ 0 para cualquier


vector no nulo x
O bien todos sus autovalores son negativos
O bien si los menores de esquina son, alternativamente,
negativo, positivo, etc.
O bien si la matriz -A (resultado de cambiar el signo de todos
los elementos) es definida positiva.

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 19
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 en Máximo local + concavidad en


toda la región toda la región
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 - 20
Ejemplo 1: Optimización SIN restricciones

1 2 1
f ( x, y ) = 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 ) =  
Hessiano es matriz indefinida (no es ni
2 1
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 - 21
Ejemplo 1: Optimización SIN restricciones
1 2 1
f ( x, y ) = 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 - 22
Ejemplo 1: Optimización SIN restricciones
1 2 1
f ( x, y ) = x + 2 xy + y 2 − y + 9
2 2
[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);
ezcontourf('0.5*x^2+2*x*y+0.5*y^2-y+9') contour(x,y,z); hold on
quiver(x,y,px,py)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 23
Autovalores y autovectores
1 2
Hessiano ∇ f ( x, y ) = 
2
 es matriz indefinida
 2 1 
 −1 
Sus autovalores son λ =  
3
 −0.71  0.71
Y los autovectores v1 =   v2 =  
 0.71   0.71 

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL 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

Gradiente = 0 es un sistema de ecuaciones


 4 x − 2 y + 6x2 + 4 x3 
∇f ( x , y ) =  =0
 2 y − 2x 

 4 + 12 x + 12 x 2 −2 
Hessiano ∇ f ( x, y ) = 
2

 −2 2

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

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 - 26
Ejemplo 2: Optimización SIN restricciones
f ( x, y ) = 2 x 2 + y 2 − 2 xy + 2 x 3 + x 4

[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);
ezcontourf('2*x^2+y^2-2*x*y+2*x^3+x^4') contour(x,y,z);
hold on, quiver(x,y,px,py)

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

Gradiente = 0 es un sistema de ecuaciones


 2( x − 2) 
∇f ( x , y ) =  =0
 2( y − 1) 

con solución ( x, y ) = (2,1)

 2 0
Hessiano ∇ f ( x, y ) = 
2
 es matriz semidefinida positiva
 0 2

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 - 28
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 - 29
Ejemplo 3: Optimización SIN restricciones
f ( x, y ) = ( x − 2) 2 + ( y − 1)2

[x,y] = meshgrid(-6:.5:6, -6:.5:6);


z=(x-2).^2+(y-1).^2;
[px,py] = gradient(z,0.5,0.5);
ezcontourf('(x-2)^2+(y-1)^2') contour(x,y,z);
hold on, quiver(x,y,px,py)

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

Gradiente = 0 es un sistema de ecuaciones


 16 x + 3 y − 25 
∇f ( x , y ) =  =0
 3 x + 14 y + 31 

con solución ( x, y ) = (2.060, −2.656)

 16 3 
Hessiano ∇2 f ( x, y ) =   es matriz semidefinida positiva
 3 14 

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 - 31
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 - 32
Ejemplo 4: Optimización SIN restricciones
f ( x, y ) = 8 x 2 + 3xy + 7 y 2 − 25 x + 31 y − 29

[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);
ezcontourf('8*x^2+3*x*y+7*y^2-25*x+31*y-29') contour(x,y,z);
hold on, quiver(x,y,px,py)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 33
Autovalores y autovectores
 16 3 
Hessiano ∇2 f ( x, y ) =   es matriz semidefinida positiva
 3 14 
 11.84 
Sus autovalores son λ =  
 18.16 
 0.58   −0.81 
Y los autovectores v1 =   v2 =  
 − 0.81   −0.58 

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 34
CONTENIDO

PROBLEMAS DE PROGRAMACIÓN NO LINEAL


TIPOS DE PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
METHODS FOR UNCONSTRAINED
OPTIMIZATION (master)
NONLINEAR PROGRAMMING METHODS
(master)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 35
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 - 36
Lagrangiano (ii)

Condiciones de optimalidad de primer orden


∇ x L( x* , λ * ) = ∇f ( x* ) + AT λ * = 0
∇L ( x * , λ * ) = 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 - 37
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
L( x, λ , µ ) = f ( x ) + ∑ λi gi ( x ) + ∑ µ j h j ( x )
i =1 j =1

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 - 38
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)   −5 
=   = − (1 1) λ *
T
λ* = 5
 2( y − 1) ( −0.5,−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 - 39
Ejemplo 1 (ii)
min( x − 2) 2 + ( y − 1)2 + 10( x + y + 2)
min( x − 2) + ( y − 1) + λ ( x + y + 2)
2 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 - 40
Ejemplo 2 (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 - 41
Ejemplo 2 (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 ( x2 , 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 - 42
Ejemplo 2 (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 

 −1 
−∇g ( x* , y * ) =  
∇g ( x * , y * )  −1 

∇f ( x * , y * ) = −λ∇g ( x * , y * )
λ ≥0
 −5   −1 
 −5  = λ  
   −1  λ =5
∇f ( x * , y * )
λ ≥0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 43
Ejemplo 3 (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 - 44
Ejemplo 3 (ii)
min( x − 2) 2 + ( y − 1)2
x + y ≤ −2
6 x − y ≤ −18

∇ g 2 ( x3 , y 3 )
∇f ( x1 , y1 )
 2( x − 2) 
∇f ( x , y ) =  
 2( y − 1) 

( −20 / 7,6 / 7)  1
∇g1 ( x, y ) =  
 1
∇g1 ( x2 , y2 )
6
∇g 2 ( x, y ) =  
 −1 

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 45
Ejemplo 3 (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 * )  −1   −6 
−∇g1 ( x* , y * ) =   −∇g 2 ( x* , y * ) =  
 −1  1
∇f ( x * , y * ) −∇g1 ( x* , y * ) ∇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.75
     
λ2 = 1.125
λ1 , λ2 ≥ 0

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 46
Ejemplo 4 (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 - 47
Ejemplo 4 (ii)
min( x − 2) 2 + ( y − 1)2
x + y ≤ −2
x ≤ −3
y≤4
∇f ( x1 , y1 )
∇g 3 ( x4 , y 4 )
 2( x − 2) 
∇f ( x , y ) =  
 2( y − 1) 
∇ g 2 ( x3 , y 3 )  1
∇g1 ( x, y ) =  
 1
 1
∇g1 ( x2 , y2 ) ∇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 - 48
min( x − 2) 2 + ( y − 1)2
Ejemplo 4 (iii)
x + y ≤ −2
x ≤ −3
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 * ) =   = 
 2( y − 1) ( −3,1)  0 
−∇g 3 ( x2 , y2 )
 −1   −1
−∇g1 ( x , y ) =   −∇g 2 ( x* , y * ) =  
* *

 −1  0
−∇g 2 ( x * , y * ) 0
−∇g 3 ( x* , y* ) =  
 −1
∇f ( x * , y * )
∇f ( x * , y * ) = −λ1∇g1 ( x* , y * ) − λ2∇g 2 ( x* , y * )
−∇g1 ( x , y )
* *

λ1 , λ2 ≥ 0
 −10   −1  −1 λ1 = 0
= λ +
 0  1  −1 2  0  λ
      λ2 = 10
λ1 , λ2 ≥ 0 λ3 = 0
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA La primera restricción es superflua. Solución degenerada.
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 49
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 - 50
Condiciones necesarias con restricciones de min
x
f ( x)
desigualdad (ii) gi ( x ) ≤ 0 i = 1,..., m

Si x* es mínimo local entonces existen unos escalares {λi , i ∈ I }


tales que * *
∇f ( x ) + ∑ λi ∇g i ( 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
Condición de
λi* gi ( x* ) = 0 i = 1,..., m complementariedad
de holguras
λi* ≥ 0 i = 1,..., m

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 - 51
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
m
Gradiente de f.o.:
combinación lineal de ∇f ( x ) + ∑ λi*∇gi ( x* ) = 0
*
Condición de
gradientes de i =1 complementariedad de
restricciones holguras
cambiados de signo λi* gi ( x* ) = 0 i = 1,..., m Restricción no activa λ=0
Restricción activa λ≠0
gi ( x* ) ≤ 0 i = 1,..., m
Punto factible
λi* ≥ 0 i = 1,..., m

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 52
Condiciones necesarias con restricciones de
desigualdad (v)

Sea el problema min f ( x )


x

gi ( x ) ≤ 0 i = 1,..., m
m
El lagrangiano será L( x, λ ) = f ( x) + ∑ λi gi ( x)
i =1

λi ≥ 0
La condición de optimalidad para el lagrangiano será
 ∇ x L( x* , λ * ) = ∇f ( x* ) + ∑ λi*∇gi ( x* ) = 0

∇L ( 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 - 54
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 toda la región
factible
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 - 55
Condiciones suficientes con restricciones de
desigualdad (ii)

Condición de mínimo local estricto


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 definida 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 - 56
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 - 57
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 - 58
Ejemplo 5 (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 - 59
Ejemplo 5 (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 - 60
Ejemplo 5 (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 no acotada

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 61
Ejemplo 5 (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 - 62
Ejemplo 5 (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 no acotada

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 63
Ejemplo 5 (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 - 64
Ejemplo 5 (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 no acotada

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 65
Ejemplo 5 (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 - 66
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
m l
Gradiente de f.o.:
combinación lineal de ∇f ( x ) + ∑ λ ∇gi ( x ) + ∑ µ *j ∇h j ( x * ) = 0
*
i
* *

gradientes de i =1 j =1
restricciones Condición de
cambiados de signo λi* gi ( x* ) = 0 i = 1,..., m complementariedad de
holguras
gi ( x * ) ≤ 0 i = 1,..., m Restricción no activa λ=0
Restricción activa λ≠0
Punto factible h j ( x* ) = 0 j = 1,..., l
λi* ≥ 0 i = 1,..., m

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 67
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 toda la región
factible
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 toda la región factible si µ j > 0


y hj sea cóncava en toda la región factible 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 - 68
CONTENIDO

PROBLEMAS DE PROGRAMACIÓN NO LINEAL


TIPOS DE PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
METHODS FOR UNCONSTRAINED
OPTIMIZATION (master)
NONLINEAR PROGRAMMING METHODS
(master)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 70
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 - 71
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
q( xk +1 ) = f ( xk ) + f ′( xk )( xk +1 − xk ) + f ′′( xk )( xk +1 − xk )2
2
f ′( xk )
q′( xk +1 ) = 0 ⇒ xk +1 = xk −
f ′′( 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 - 72
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
f ′( x0 )
x1 = x0 − = −0.4135
f ′′( x0 )

x2 = −0.3376

x3 = −0.3333

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 73
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 - 74
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 ( xk )
− ≥ε >0
El descenso es suficiente (vectores no ortogonales) p ⋅ ∇f ( xk )
La dirección de movimiento está relacionada con gradiente p ≥ m ∇f ( x )
k
Condiciones sobre el escalar αk
El descenso es suficiente (condición de Armijo)
f ( xk +1 ) ≤ f ( xk ) + µα k pkT ∇f ( xk ) 0 < µ <1
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 - 75
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 - 76
Gradiente (i)

Curva de nivel

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 77
Gradiente (ii)
f ( x, y ) = 8 x 2 + 3xy + 7 y 2 − 25 x + 31 y − 29
y Curva de nivel

Vector gradiente

 5 
∇f (2,3) =   El gradiente de una
 77.5  función da la dirección
de máximo aumento

 16 x + 3 y − 25 
∇f ( x , y ) =  
 3 x + 14 y + 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 - 78
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 - 79
Ejemplo 1
f ( x, y ) = ( x − 2) 2 + ( y − 1) 2
min F (α ) = f ( xk + α pk )
α >0
 2( xk − 2) 
pk = −∇f ( xk , yk ) = −  
 2( yk − 1) 

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 - 80
Ejemplo 2 (i)

f ( x, y ) = 8 x 2 + 3 xy + 7 y 2 − 25 x + 31 y − 29
 16 xk + 3 yk − 25  min F (α ) = f ( xk + α pk )
pk = −∇f ( xk , yk ) = −  
α

 3xk + 14 yk + 31 

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 - 81
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 - 82
Ejemplo 2 (iii)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 83
Ejemplo 3 (i)
1 1 ⋅ ⋅   − 1
min f ( x ) = x T Qx − bT x    
x 2 Q = ⋅ 5 ⋅  b =  − 1
 ⋅ ⋅ 25   − 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 ) = −(Qx k − 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 - 84
Ejemplo 3 (ii)

Punto inicial  0 1


   
x0 =  0  f ( x0 ) = 0 ∇f ( x0 ) = 1 α 0 = 3 31 = 0.097
   
 0 1

Se utiliza la norma 2 del gradiente como medida de la


convergencia ∇f ( x0 ) = 12 + 12 + 12 = 1.73
Nuevo punto
 − 0.097   0.903 
   
x1 = x0 + α 0 p0 =  − 0.097  f ( x1 ) = −0.145 ∇f ( x1 ) =  0.516  α1 = 0.059
   
 − 0.097   − 1.419 
Norma 2 del gradiente ∇f ( x1 ) = 1.760

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 85
Ejemplo 3 (iii)

Nuevo punto  − 0.150   0.850 


   
x2 =  − 0.127  f ( x2 ) = −0.237 ∇f ( x2 ) =  0.364 
   
 − 0.013   0.673 

Norma 2 del gradiente ∇f ( x2 ) = 1.144


Etc.

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 - 86
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:
2
f ( xk +1 ) − f ( x* )  cond(Q ) − 1 
≤
f ( xk ) − f ( x )  cond(Q ) + 1 
*

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.
ESCUELA ÉCNICA UPERIOR DE NGENIERÍA
T S I
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 87
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 - 88
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
2
 cond(Q ) − 1 
 
 cond(Q ) + 1 

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 - 89
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 ) )
T
jacobiano de la función
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 90
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 - 91
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 ∂f 2 
 ∂x ∂x1   3x2 + 7 5 x2 − 9 
∇f ( x1 , x2 ) =  1 =
 ∂f1 ∂f 2   3x1 + 2 5 x1 − 4 
 ∂x2 
 ∂x2
−T
 3x + 7 5 x 2 − 9   3x1 x 2 + 7 x1 + 2 x 2 − 3 
x k +1 = x k −  2   
 3 x1 + 2 5 x1 − 4   5 x1 x 2 − 9 x1 − 4 x 2 + 6 
1
Suponemos como punto inicial 0 2  x = 
 
−T −T
 3 x2 + 7 5 x 2 − 9   3 x1 x 2 + 7 x1 + 2 x 2 − 3   1  13 1  14   − 1.375 
x1 = x0 −     = −   = 
 1
3 x + 2 5 x 1 − 4   1 2
5 x x − 9 x1 − 4 x 2 + 6    
2 5 1 −
   
1 5 .375 
Después de 8 iteraciones el punto toma el valor aproximado de
 0  y las funciones toman valor 0.
x8 =  
1.5 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 92
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 - 93
Ejemplo 1 (i)
f ( x, y ) = ( x − 2) 2 + ( y − 1)2
∇2 f ( xk ) pk = −∇f ( xk )
 2( xk − 2)  2 0
∇f ( x k , y k ) =   ∇ f ( xk , y k ) = 
2

 2( y k − 1)  0 2

Punto inicial xk=(0,0)


Dirección de movimiento pk=(2,1)
−T
 2 ⋅   −4   0.5 ⋅   −4   2 
pk = −     = −     = 
 ⋅ 2   −2   ⋅ 0.5   −2   1 

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 - 94
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 - 95
Método cuasi Newton

Disminuir el coste computacional asociado a calcular y


almacenar el hessiano y a 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 - 96
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 - 97
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 x k +1 = x k + α k pk
Calcular sk = xk +1 − xk y k = ∇f ( xk +1 ) − ∇f ( 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 - 98
Actualizaciones de la matriz Bk

Actualización BFGS (Broyden-Fletcher-Goldfarb-Shanno)


(Bk sk )(Bk sk )T y k y kT
Bk +1 = Bk − + T
skT Bk sk y k sk

Actualización DFP (Davidon-Fletcher-Powell)


(Bk sk )(Bk sk )T y k y kT
uk =
yk

Bk sk
Bk +1 = Bk − + T + ( skT Bk sk )uk ukT
skT Bk sk y k 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 - 99
CONTENIDO

PROBLEMAS DE PROGRAMACIÓN NO LINEAL


TIPOS DE PROBLEMAS NLP
CLASIFICACIÓN DE MÉTODOS DE
RESOLUCIÓN
CONDICIONES DE OPTIMALIDAD PARA
OPTIMIZACIÓN SIN RESTRICCIONES
CONDICIONES DE OPTIMALIDAD PARA NLP
METHODS FOR UNCONSTRAINED
OPTIMIZATION (master)
NONLINEAR PROGRAMMING METHODS
(master)
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 100
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 en toda la región factible cualquier óptimo local es
también global

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 101
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
• Método de programación cuadrática secuencial
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 del gradiente reducido

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 102
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 - 103
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 - 104
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 ( ρ ) ≥ 0 i = 1,…, m

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 105
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 - 106
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 - 107
Ejemplo 1 (ii)
1
min( x − 2) 2 + ( y − 1)2 + ρ ( x + y + 2) 2
2
Condición de optimalidad de primer orden ∇ π ( x) = 0 x

2( x − 2) + ρ ( x + y + 2) = 0 4−ρ 2 − 3ρ 10 ρ
x= y= λ=
2( y − 1) + ρ ( x + y + 2) = 0 2 + 2ρ 2 + 2ρ 2 + 2ρ

Para ρ=1 ( x* , y * ) = (0.75, −0.25) λ = 2.5

Para ρ=2 ( x* , y * ) = (1/ 3, −2 / 3)

Para ρ=4 ( x* , y * ) = (0, −1) λ =4


( x* , y * ) = ( −2 / 9, −11/ 9) Cada uno es una
Para ρ=8 optimización sin
( x* , y * ) = ( −6 /17, −23/17) λ = 80 /17 = 4.7 restricciones
Para ρ=16
Para ρ=32 ( x* , y * ) = ( −14 / 33, −47 / 33)

Para ρ=64 ( x* , y * ) = ( −6 /13, −19 /13) λ = 64 /13 = 4.92

Para ρ=∞ ( x* , y * ) = ( −0.5, −1.5) λ =5


ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 108
Ejemplo 1 (iii)

ρ =1 λ = 2.5 ρ =4 λ =4

(0.75, −0.25)
(0, −1)

ρ = 16 λ = 80 /17 = 4.7 ρ = 64 λ = 64 /13 = 4.92

( −6 /17, −23/17) ( −6 /13, −19 /13)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 109
Ejemplo 1 (iv)

El hessiano del problema penalizado es


2 + ρ ρ 
∇ 2xπ ( x ( ρ ), ρ ) = 
 ρ 2 + ρ 

 3 1
Para ρ=1 ∇ 2xπ ( x ( ρ ), ρ ) =   cond (∇2π ) = λ1 / λ2 = 4 / 2 = 2
 1 3

6 4
Para ρ=4 ∇ 2xπ ( x ( ρ ), ρ ) =   cond (∇2π ) = λ1 / λ2 = 10 / 2 = 5
4 6

 18 16 
Para ρ=16 ∇ π ( x ( ρ ), ρ ) = 
2
x  cond (∇ 2π ) = λ1 / λ2 = 34 / 2 = 17
 16 18 

 66 64 
Para ρ=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 - 110
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
m
o bien φ ( x) = ∑
1

φ ( x ) = − log( g ( x ))
i =1
i
i =1 g i ( 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 - 111
Método de penalización (exterior)

Condición de optimalidad de la función barrera


m
∇gi ( x )
∇f ( x ) − µ ∑ =0
i =1 g i ( x )

−µ
Definimos λi = λi ( µ ) =
λi ( µ ) gi ( x ) = − µ
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 ( µ ) ≤ 0 i = 1,… , m

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 112
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 - 113
Ejemplo 1 (i)
min( x − 2) 2 + ( y − 1)2
−x − y ≥ 2

λ=−
−55

( −0.5, −1.5)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 114
Ejemplo 1 (ii)
min( x − 2) 2 + ( y − 1)2 − µ log( − x − y − 2)

Condición de optimalidad de primer orden ∇ xπ ( x) = 0


2( x − 2) + µ /( − x − y − 2) = 0 3 1 1 1 µ
x= ± 100 + 16µ y = − ± 100 + 16 µ λ=
2( y − 1) + µ /( − x − y − 2) = 0 4 8 4 8 x+ y+2

Para µ=100 ( x* , y * ) = ( −4.4039, −5.4039) λ=−


−12.8078
12.8078

Para µ=20 ( x* , y * ) = ( −1.8117, −2.8117)

Para µ=4 ( x* , y * ) = ( −0.8508, −1.8508) λ=−


−5.7016
5.7016

Para µ=0.8 ( x* , y * ) = ( −0.5776, −1.5776) Cada uno es una


optimización sin
( x* , y * ) = ( −0.5159, −1.5159) λ=−
−5.0318 restricciones
Para µ=0.16 5.0318

Para µ=0.032 ( x* , y * ) = ( −0.5032, −1.5032)

Para µ=0.0064 ( x* , y * ) = ( −0.5006, −1.5006) λ=−


−5.0013
5.0013

Para µ=0 ( x* , y * ) = ( −0.5, −1.5) λ = −5


ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 115
Ejemplo 1 (iii)

µ = 100 λ=−
−12.8078
12.8078 µ=4 λ=−
−5.7016
5.7016

( −0.8508, −1.8508)

( −4.4039, −5.4039)

µ = 0.16 λ=−
−5.0318
5.0318 µ = 0.0064 λ=−
−5.0013
5.0013

( −0.5159, −1.5159) ( −0.5006, −1.5006)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 116
Ejemplo 1 (iv)

El hessiano del problema barrera es


 2 + µ / ( x + y + 2)2 µ / ( x + y + 2) 2 
∇ π ( x( µ ), µ ) = 
2

 µ / ( x + y + 2) 2 + µ / ( x + y + 2)2 
x 2

 3.64 1.64 
Para µ=100 ∇ 2xπ ( x( µ ), µ ) =   cond (∇ 2π ) = λ1 / λ2 = 5.28 / 2 = 2.64
 1.64 3.64 

10.127 8.127 
Para µ=4 ∇ 2xπ ( x( µ ), µ ) =   cond ( ∇ 2
π ) = λ1 / λ2 = 18.25 / 2 = 9.125
 8.127 10.127 

160.24 158.24 
Para µ=0.16 ∇ 2xπ ( x( µ ), µ ) =   cond (∇ 2π ) = λ1 / λ2 = 318.48 / 2 = 159.24
158.24 160.24 

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 117
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 - 118
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
exterior m
1 m
min A( x ) = f ( x ) + ∑ λi gi ( x ) + ρ k ∑ [ gi ( x ) ]
k 2

x
i =1 2 i =1

De forma general
1
min A( x, λ , ρ ) = f ( x ) + λ g ( x ) + ρ g ( x )T g ( x )
T

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 119
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 - 120
Programación cuadrática secuencial (i)

Sea el problema min f ( x )


x

gi ( x ) = 0 i = 1,..., m
m
Formulamos el lagrangiano min L( x ) = f ( x ) + ∑ λi gi ( x )
x
i =1

Condiciones de optimalidad de primer orden


 m

∇ x L( x, λ ) = ∇f ( x ) + ∑ λi ∇gi ( x ) = 0
∇L( x* , λ * ) = 0 ⇒  i =1
 ∇ L( x , λ ) = g ( x ) = 0
 λ i

Se formula el método de Newton para este sistema de ecs.


 xk +1   xk   pk 
 = + 
 λk +1   λk   v k 

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 - 121
Programación cuadrática secuencial (ii)

Sistema de ecuaciones lineales


 pk 
∇ L( x k , λk )  = −∇L( x k , λk )
2

 vk 
 ∇2xx L( xk , λk ) ∇g ( xk )   pk   −∇ x L( xk , λk ) 
   =  
 ∇ g ( xk ) T
0 v
 k   g ( x 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 - 122
Programación cuadrática secuencial (iii)

1. Se resuelve el problema cuadrático


1 T 2
min p ∇ xx L( xk , λk )  p + p T [∇ x L( xk , λk ) ]
p 2
[∇g ( xk )]T p + g ( xk ) = 0 : vk

2. Se obtienen ( pk , vk )
3. Se actualizan los valores de las variables y multiplicadores
 xk +1   xk   pk 
 = + 
 k +1   λk   vk 
λ

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 123
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
como x = x + p . min f ( x + p )
p

Ap = 0, p ∈ ℝ n

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 124
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 - 125
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


 pB 
Ap = 0 = (B N )  = BpB + NpN = 0
 pN 
−1
 pB   − B N 
p =   =   pN
 pN   I 
 − B −1 N 
Z =  
 I 

El nuevo punto se obtiene como


 B −1b   − B −1 N 
x = x + p = x + ZpN =   +   pN
 0   I 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 126
Condiciones de optimalidad NLP con restricciones
lineales de igualdad

Gradiente reducido (proyectado) de f en x ∇φ ( v ) = Z T ∇f ( x )


Hessiano reducido (proyectado) de f en x ∇ 2φ ( v ) = Z T ∇ 2 f ( x ) Z

Condiciones necesarias de primer y segundo orden


Z T ∇f ( x* ) = 0
p T ∇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 - 127
Ejemplo
min f ( x ) = x12 − 2 x1 + x22 − x32 + 4 x3
Sea el problema x1 − x2 + 2 x3 = 2
 2 x1 − 2  2 ⋅ ⋅ 
∇f ( x ) =  2 x2  , ∇2 f ( x ) =  ⋅ 2 ⋅ 
   
 −2 x + 4   ⋅ ⋅ −2 
 3   
 2.5  1 − 2 
 
x* =  −1.5  B = (1) N = ( −1 2 ) Z = 1 ⋅ 
 
 −1  ⋅ 1 
   
3  2 ⋅ ⋅  1 −2 
 1 1 ⋅     ⋅ T 2  1 1 ⋅     4 −4 
Z ∇f ( x ) = 
T *
  −3  =  ⋅  , Z ∇ f ( x ) Z =  −2 ⋅ 1  ⋅ 2 ⋅  1 ⋅  =  −4 6 
*

 −2 ⋅ 1  6       ⋅ ⋅ −2  ⋅ 1   
    

El hessiano de la f.o. 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 - 128
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 vk
T
Z T ∇2 f (x )Z  v = −Z T ∇f (x )
 k  k

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.
−T
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 - 129
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
1 T
min f ( x) = 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 - 130
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
 m  1 m   m  T m 
f ( y ) = f  ∑ α i pi  =  ∑ α p
i i A ∑ j j 
α p − b  ∑ α i i =
p
 i =0  2  i =0   j =0   i =0 
1 m m m
= ∑∑α iα j pi Ap j − ∑ α ibT pi
T

2 i =0 j =0 i =0

1 m 2 T m
= ∑ α i pi Api − ∑α ibT pi Desaparecen los productos piApj
2 i =0 i =0
m
1 
= ∑  α i2 piT Api − α i bT pi 
i =0  2 
ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA
DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 131
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 − α i bT pi 
αi
y
 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 - 132
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.
Dirección de movimiento
T
r r
Si i > 0 → β i = T
i i
r r i −1 i −1 Longitud de paso
pi = ri + β i pi −1
riT ri Actualización del punto
αi = T
pi Api
xi +1 = xi + α i pi 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 - 133
Método del gradiente conjugado lineal (v)

Ejemplo
1 ⋅ ⋅   1  ⋅ 1  ⋅
A =  ⋅ 2 ⋅  b = 1 x0 =  ⋅  , r0 = 1 , p−1 =  ⋅  , β 0 = 0, ε = 10−12
 ⋅ ⋅ 3    ⋅ 1  ⋅
   1      

 1  0.5   0.5 
r0 = 1.73 > ε , p0 = 1 , α 0 = 0.5, x1 =  0.5  , r1 =  ⋅ 
 1  0.5   −0.5 
     

 0.667   0.9   0.1 


r1 = 0.71 > ε , p1 =  0.167  , α1 = 0.6, x2 =  0.6  , r2 =  −0.2 
 −0.333   0.3   
     0.1 

 0.18   1  ⋅
r2 = 0.245 > ε , 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 - 134
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* cond ( A) − 1
A

xi − x *
cond ( A) + 1
A

1 T

2
y A
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 - 135
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 = Dirección de movimiento


∇f ( xi −1 ) ∇f ( xi −1 )
T

pi = −∇f ( xi ) + β i pi −1 Longitud de paso

Determinar α i para minimizar f ( xi + α i pi )


Actualización del punto
xi +1 = xi + α i pi

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 136
Método del gradiente conjugado no lineal (i)
e = (1 1 ⋯ 1)
2
1  1 T
min f ( x ) = ( x − e ) D ( x − e ) +  xT x − 
T
Ejemplo
10  4
1 
x0 = (1 −1 1 −1)
T  2 
D= 
f ( x0 ) = 16.46  ⋱ 
 
∇f ( x0 ) = (15 −15.8 15 −16.6 )  n 
T

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 - 137
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   x  =  1 cond ( A) = 1700
 2  2   

1000 ⋅ 
M −1 = 
 ⋅ 1

 2 1   x1   0.001
 1 2 x  =  1  cond ( M −1 A) = 3
  2   
El objetivo es encontrar M de manera que M≈A

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 138
Andrés Ramos
http://www.iit.comillas.edu/aramos/
Andres.Ramos@comillas.edu

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA


DEPARTAMENTO DE ORGANIZACIÓN INDUSTRIAL Optimización no lineal - 139

Potrebbero piacerti anche