Sunteți pe pagina 1din 29

Optimización no lineal

Optimización no lineal
Introducción a la programación no lineal

Dr. Gilberto Pérez Lechuga.1

1 INSTITUTO DE ESTUDIOS SUPERIORES DE TAMAULIPAS


Red de Universidades Anáhuac

Abril de 2017
Optimización no lineal

Contenido de la exposición

1 Los modelos no lineales


2 Ubicación de un banco de sangre
3 Lanzamiento de un cohete
4 Construcción de una autopista
5 Un modelo de fijación de precios
6 Un modelo de ventas
Optimización no lineal
Definiciones básicas de la programación no lineal

Modelos no lineales
Un modelo de programación matemática no lineal usualmente
tiene la siguiente estructura

Minimizar f (X)
Sujeto a:

gi (X) ≤ 0, i = 1, 2 . . . , m
(1)
hi (X) = 0, i = 1, 2 . . . , l

X∈X
donde f , g1 . . . , gm , h1 , . . . , hl son funciones definidas sobre Rn , X
es un subconjunto de Rn y X es un vector de n componentes. El
problema debe resolverse para los valores de X que satisfacen las
restricciones mientras minimizan la función f .
Optimización no lineal
Ejemplos de programación no lineal

Ubicación del banco de sangre

Suponga que la ciudad de Nueva York tiene cinco hospitales en


Manhattan. El Departamento de Salud desea construir un banco central
de sangre para proporcionar suministros diarios de sangre a cada hospital.
Los hospitales 2 y 4 requieren entregas matutinas y vespertinas. Los
restantes tres hospitales requieren sólo una entrega al dı́a. Como
administrador del departamento, se le ha pedido hacer una
recomendación respecto a la ubicación ideal de este banco de sangre, ya
sea que ese lugar esté realmente disponible para su adquisición o no.
Optimización no lineal
Ejemplos de programación no lineal

Ubicación del banco de sangre:


Solución.- Sean (ai , bi ) las localizaciones (conocidas) de los bancos de
sangre, i = 0, 1, . . . , 5. Sea (x, y ) la coordenada buscada del banco
central. Se pide:

Min {2 ∗ D(BS, H1) ∗ (No. entregas al dı́a H1)+


2 ∗ D(BS, H2) ∗ (No. entregas al dı́a H2) + . . .
2 ∗ D(BS, H5) ∗ (No. entregas al dı́a H5)}
Aquı́ D(a, b) significa la
pdistancia entre los puntos a y b. La distancia en
un viaje redondo es: 2 (x − ai )2 + (y − bi )2
El modelo pedido es entonces:
p p
Min : 2 (x − a1 )2 + (y − b1 )2 + 4 (x − a2 )2 + (y − b2 )2 +
p p
2 (x − a3 )2 + (y − b3 )2 + 4 (x − a4 )2 + (y − b4 )2 +
p
2 (x − a5 )2 + (y − b5 )2
Optimización no lineal
Ejemplos de programación no lineal

Lanzamiento de un cohete

Considere el problema de lanzar un cohete desde el nivel de tierra hasta


una altura ȳ en un tiempo T . Sea y (t) la altura alcanzada por el cohete
desde tierra en el tiempo t. Sea u(t) la fuerza ejercida en la dirección
vertical al tiempo t. Si la masa del cohete está dada por m, entonces la
ecuación de movimiento viene dada por

d 2 y (t)
m + mg = u(t), t ∈ [0, T ]
dt 2
donde dydt(t) es la aceleración al tiempo t, y g es la desaceleración debido
a la gravedad. Suponga que la máxima fuerza de empuje que podrı́a
aplicarse en cualquier tiempo no debe exceder el valor de b. El objetivo
es minimizar la energı́a usada para que el cohete alcance la altura ȳ en el
tiempo T . El problema es:
Optimización no lineal
Ejemplos de programación no lineal

Lanzamiento de un cohete

RT dy (t) 0
Minimizar 0
| u(t) | dt dt

Sujeto a:

d 2 y (t)
m dt 2 + mg = u(t), t ∈ [0, T ]

|u(t)| ≤ b

y (T ) = ȳ
donde y (0) =. Note que el modelo contiene una ecuación diferencial de
segundo orden.
Optimización no lineal
Ejemplos de programación no lineal

Construcción de una autopista


Se va a construir una autopista sobre un terreno desigual. Los costos de
construcción son proporcionales a la cantidad de tierra removida del
lugar. Sea T la longitud de la carretera y sea c(t) la altura (conocida)
del terreno en cualquier t ∈ T . Formular un modelo que describa la
altura de la carretera y (t) para t ∈ [0, T ].
Para evitar el exceso de pendientes de la autopista, la pendiente máxima
no debe exceder el valor b1 , es decir

dy (t)
| | ≤ b1
dt
Además, se debe reducir la aspereza de la carretera, la tasa de cambio de
la pendiente no debe exceder el valor b2 , es decir

d 2 y (t)
| | ≤ b2
dt 2
se deben observar además las condiciones y (0) = a y y (T ) = b.
Optimización no lineal
Ejemplos de programación no lineal

Construcción de una autopista

El problema global es entonces:


RT
Minimizar 0
|y (t) − c(t)| dt 0

Sujeto a:

| dydt(t) | ≤ b1 , t ∈ [0, T ],
2
| d dty (t)
2 | ≤ b2 , t ∈ [0, T ],

y (0) = a

y (T ) = b
Aquı́, la variable de control está dada por u(t) = y (t) − c(t).
Optimización no lineal
Ejemplos de programación no lineal

Un modelo de fijación de precios

Un fabricante vende 2 productos afines, cuya demanda se caracteriza por


las 2 siguientes funciones de demanda

q1 = 150 − 2p1 − p2

q2 = 200 − p1 − 3p2
donde pj es el precio del producto en usd j y qj es la demanda del
producto j (en miles de unidades). Note que el modelo relaciona los
precios de ambos productos entre sı́. Determine el precio que debe tener
cada producto a fin de maximizar los ingresos totales de ambos.
El modelo pedido es:

Maximizar Z = p1 q1 + p2 q2 = 150p1 − 2p12 − 2P − 1p2 + 200p2 − 3p22 (2)


Optimización no lineal
Ejemplos de programación no lineal

Un modelo de ventas: Ejercicio propuesto

Un fabricante estima que las ventas anuales (en unidades) son una
función de los gastos hechos en publicidad por radio y tv. La función que
especifica la relación es

z = 60, 000x + 80, 000y − 5x 2 − 10y 2 − 10xy

donde z es el número de unidades vendidas cada año, x denota la


cantidad destinada a la publicidad por tv y y denota la que se dedica a la
publicidad por radio (x y y están en miles de dólares)

1 Cuánto debe gastarse en cada medio a fin de maximizar las ventas?


2 Cuál es el número esperado de unidades vendidas?
Optimización no lineal
La función convexa

La función convexa
Sea f : S → R1 donde S es un conjunto no vacı́o de Rn . Se dice que la
función f es convexa si

f (λx1 + (1 − λ)x2 ) ≤ λ f (x1 ) + (1 − λ) f (x2 ) (3)


para cada x1 , x2 ∈ S y λ ∈ (0, 1).

Función  convexa

f f

𝒙𝟏 𝝀  𝒙𝟏 + (1-𝝀) 𝒙𝟐 𝒙𝟐 𝒙𝟏 𝝀  𝒙𝟏 + (1-𝝀) 𝒙𝟐 𝒙𝟐


Función  cóncava

Ni  cóncava  ni  convexa


𝒙𝟏 𝒙𝟐
Optimización no lineal
Optimización no restringida

Optimización no restringida

Sea S un conjunto no vacı́o en ∈ Rn y sea f : S →∈ R1 se dice que f es


doblemente diferenciable en X ∈ int S si existe un vector ∇(X) = 0 y
una matriz H(X) de tamaño n × n llamada Hessiana y una función
α : Rn → R1 tal que

1
f (X) = f (X∗ )+∇f (X∗ )t (X−X∗ )+ (X−X∗ )t H(X)(X−X∗ )+α (X∗ , (X−X∗ ))
2
(4)
para cada X ∈ S , donde limX→X∗ α (X∗ , (X − X∗ ) = 0

Aquı́, la matriz Hessiana H(X∗ ) es definida como


Optimización no lineal
Optimización no restringida

Optimización no restringida
 
2 2 2
∂ f (X) ∂ f (X) ∂ f (X)

 ∂X21 ∂X1 ∂X2 ... ∂X1 ∂Xn


 
 
∂ 2 f (X) ∂ 2 f (X) ∂ 2 f (X)
 

∂X2 ∂X1 ∂X22
... ∂X2 ∂Xn

H(X) = 



 
... ... ... ...
 
 
 
 
∂ 2 f (X) ∂ 2 f (X) ∂ 2 f (X)
∂Xn ∂X1 ∂Xn ∂X1 ... ∂X2n

y donde H es definida positiva si ∀ Y1 , Y2 ∈ Rn :

(Y1 − Y2 ∗ )t H (X) (Y1 − Y2 ∗ ) > 0, (5)


n
Análogamente, H es semi definida positiva si ∀ Y1 , Y2 ∈ R :

(Y1 − Y2 ∗ )t H (X) (Y1 − Y2 ∗ ) ≥ 0, (6)


Optimización no lineal
Optimización no restringida

Optimización no restringida

En la función f (X) la matriz Hessiana es cuadrada. Defina al conjunto de


submatrices
∂f
H1 = (7)
∂X1
 
 ∂ 2 f (X) ∂ 2 f (X) 
 ∂X21 ∂X1 ∂X2 
H2 (X) = 
 


 ∂ 2 f (X) ∂ 2 f (X) 

∂X2 ∂X1 ∂X22

y ası́ sucesivamente hasta lograr la matriz Hn = H. A ños determinantes


de estas matrices se les llama menores principales y se denotan como |Hi |.
Optimización no lineal
Optimización no restringida

Condiciones suficientes para extremos relativos


Sea X∗ un punto candidato a valor extremo; entonces:

1 Existe un máximo relativo si los menores principales evaluados en


X∗ se alternan en el signo, es decir

|H1 | < 0, |H2 | > 0, |H3 | < 0, . . .

2 Existe un mı́nimo relativo si todos los menores principales evaluados


en X∗ son positivos, es decir

|H1 | > 0, |H2 | > 0, |H3 | > 0, . . .

3 El mı́nimo es global si H(X∗ ) es definida positiva. En otro caso se


habla de mı́nimo local
4 Si no se satisfacen estas condiciones no se puede asegurar nada
Optimización no lineal
Optimización no restringida

Condiciones suficientes: ejemplos

Considere la función f (X) = x12 − 2x1 x2 + 2x22 − 2x1 x3 + 4x32 − 2x3


Aquı́: ∇(X) = [2x1 − 2x2 + 2x3 , −2x1 + 4x2 , 2x1 + 8x3 − 2] y
X∗ = (−1, − 12 , 21 ) el punto (mı́nimo relativo) es tal que ∇(X∗ ) = 0.
Además:
 
2 −2 2
H(X) =  −2 4 0 
2 0 8
 
2 −2
H1 = 2, |H1 | = 2, H2 = , |H2 | = 4,
−2 4
 
2 −2 0
H3 =  −2 4 0  , |H3 | = 16,
2 0 8
Optimización no lineal
Optimización no restringida

Condiciones suficientes: ejemplos


Considere la función f (X) = −2x13 + 6x1 x3 + 2x2 − x22 − 6x32 + 5

Aquı́: ∇(X) = −6x12 + 6x3 , 2 − 2x2 , 6x1 − 12x3 y X1 ∗ = (0, 1, 0),


 

X2 ∗ = ( 12 , 1, 14 ) son puntos candidatos, donde ∇(X∗1 ) = ∇(X∗2 ) = 0.


Además:
 
−12x1 0 6
H(X) =  −0 −2 0 
6 0 −12
En el punto (0,1,0)
 
0 0
H1 = 0, |H1 | = 0, H2 = , |H2 | = 0,
0 −2
 
0 0 6
H3 =  0 −2 0  , |H3 | = 72,
6 0 −12
Optimización no lineal
Optimización no restringida

Condiciones suficientes: ejemplos

Los menores principales no cumplen las condiciones de un mı́nimo o de


un máximo relativo y no se puede sacar ninguna conclusión al respecto.
Para el punto (1/2, 1, 1/4) se tiene que
 
−6 0
H1 = −6, |H1 | = −6, H2 = , |H2 | = 12,
0 −2
 
−6 0 6
H3 =  0 −2 0  , |H3 | = −72,
6 0 −12

Como H1 < 0, H2 > 0 y H3 < 0, entonces existe un máximo relativo en


el punto (1/2, 1, 1/4).
Optimización no lineal
Optimización restringida: Multiplicadores de Lagrange

Optimización restringida
Considere el problema de optimización restringida dado por

Minimizar o maximizar y = f (X)


Sujeto a (8)
gi (X) − ki = 0, i = 1, 2 . . . l

Una forma de resolver estas estruturas es formar la función de Lagrange


dada por
l
X
L(X) = f (X) − λi (gi (X) − ki ) (9)
i=1

donde se deben cumplir las condiciones necesarias


 
∂L ∂L
∇ L(X) = , = 0, i = 1, 2 . . . l (10)
∂X ∂λi
Optimización no lineal
Optimización restringida: Multiplicadores de Lagrange

Optimización restringida
Considere el problema

Maximizar f (X) = 25 − x12 − x22


Sujeto a

2x1 + x2 = 4
Aquı́

f (X) − (g1 (X) − k1 ) = 25 − x12 − x22 − λ(2x1 + x2 − 4)


por lo que

∇ L(X∗ ) = 25 − x12 − x22 − λ(2x1 + x2 − 4) = 0.


equivale a ∇ L(X∗ ) = (−2x1 − 2λ, −2x2 − λ, −2x1 − x2 + 4) = 0
con X∗ = (1.6, 0.8) y λ = −1.6.
Optimización no lineal
Optimización restringida: Multiplicadores de Lagrange

Optimización restringida
estos valores son candidatos a valores extremos. La condición de
suficiencia se obtiene a partir de la matriz Hessiana acotada dada por
 
∂g (X) ∂g (X) ∂g (X)

 0 ∂X1 ∂X2 ... ∂Xn


 
 
∂g (X) ∂L ∂L ∂L

 ∂X1 ∂X1 X1 ∂X1 X2 ... ∂X1 Xn


 
HB (X) = 
 
∂g (X) ∂L ∂L ∂L 

 ∂X2 ∂X2 X1 ∂X2 X2 ... ∂X2 Xn


 
 

 ... ... ... ... ... 

 
∂g (X) ∂L ∂L ∂L
∂Xn ∂Xn X1 ∂Xn X2 ... ∂Xn Xn

Para obtener las condiciones suficientes, evalúe HB (X∗ ). Si HB (X∗ ) > 0


existe un (máximo relativo). Si HB (X∗ ) < 0 entonces existe un (mı́nimo
relativo).
Optimización no lineal
Optimización restringida: Multiplicadores de Lagrange

Optimización restringida
Con relación a la función ∇ L(X∗ ) = 25 − x12 − x22 − λ(2x1 + x2 − 4), y
para X∗ = (1.6, 0.8) con λ = −1.6, se tiene que
 
0 2 1
HB (X∗ ) =  2 −2 0  , |HB (X∗ )| = 10 > 0
1 0 −2
Por lo que la función dada alcanza un máximo relativo en el punto dado.
En general se deben evaluar los determinantes de las submatrices
acotadas dadas por
∂g (X) ∂g (X)
 
0 ∂X1 ∂X2
 
 
∗  ∂g (X) ∂L ∂L
HB2 (X ) =  ∂X1

 ∂X1 X1 ∂X1 X2 

 
∂g (X) ∂L ∂L
∂X2 ∂X2 X1 ∂X2 X2
Optimización no lineal
Optimización restringida: Multiplicadores de Lagrange

Optimización restringida

 ∂g (X) ∂g (X) ∂g (X) 


0 ∂X1 ∂X2 ∂X3
 
 
 ∂g (X) ∂L ∂L ∂g (X) 
 ∂X1 ∂X1 X1 ∂X1 X2 ∂X2 ∂X3 
 
HB3 (X∗ ) = 
 
∂g (X) ∂L ∂L ∂g (X) 
 ∂X3 ∂X3 X1 ∂X3 X2 ∂X3 ∂X3

 
 
 ∂g (X) ∂g (X)

 ∂L ∂L 
∂X2 ∂X2 X1 ∂X2 X2 ∂X2 ∂X3

y ası́ sucesivamente.
Optimización no lineal
Optimización restringida: Multiplicadores de Lagrange

Optimización restringida

Las condiciones suficientes de los valores extremos son:

1 ∇L(f (X∗ ), λ∗ ) = 0
2 Evaluar HB3 (X∗ ). Si |HB1 (X∗ )| > 0, |HB2 (X∗ )| < 0, |HB3 (X∗ )| > 0
entonces existe un máximo relativo en X∗
3 Si |HB1 (X∗ )| < 0, |HB2 (X∗ )| < 0, |HB3 (X∗ )| < 0 entonces existe un
mı́nimo relativo en X∗

Se le pide al estudiante resuelva el siguiente caso

Maxf (X ) = {5x1 x2 x3 : x1 + 2x2 + 3x3 = 24}


Optimización no lineal
Optimización restringida: Condiciones KKT

Optimización restringida
Consideremos el siguiente problema general:
Min f (X)
Sujeto a

gi (X) ≤ 0, i = 1 . . . , m
hj (X) = 0, j = 1 . . . , l
Las condiciones necesarias para la existencia de un mı́nimo local son
m
X l
X
λ+ µi + |vj | > 0 (11)
i=1 i=1
m
X l
X
λ + ∇f (X∗ ) + µi ∇f (X∗ ) + vj ∇hj (X∗ ) = 0 (12)
i=1 i=1

µi gi (X ) = 0, i = 1, 2, . . . , m (13)
Optimización no lineal
Optimización restringida: Condiciones KKT

Optimización restringida

y las condiciones de suficiencia son


m
X l
X
∇f (X∗ ) + µi ∇gi (X∗ ) + vj ∇hj (X∗ ) = 0 (14)
i=1 i=1

µi gi (X∗ ) = 0, i = 1, 2, . . . , m (15)
Optimización no lineal
Optimización restringida: Condiciones KKT

Optimización restringida

A manera de ejemplo

Min f (X ) = 0.25x12 + x22

Sujeto a:

5 − x1 − x2 = 0, x1 + 0.2x2 − 3 ≤ 0
Se forma la función

L(X, λ, µ) = 0.25x12 + x22 + λ(5 − x1 − x2 ) + µ(x1 + 0.2x2 − 3)


y se obtiene respectivamente
∂L ∂L
= 0.5x1 − λ + µ = 0, = 2x2 − λ + 0.2µ = 0
∂x1 ∂x2
Optimización no lineal
Optimización restringida: Condiciones KKT

Optimización restringida

∂L ∂L
= 5 − x1 − x2 = 0, = x1 + 0.2x2 − 3 = 0
∂λ ∂µ

µ (x1 + 0.2x2 − 3) = 0, µ ≥ 0

1 Si µ > 0 entonces x1 = 4; x2 = 1; pero x1 + 0.2x2 ?3 = 1.2 ≥ 0 lo


cual no es aceptable
2 Si µ > 0 entonces se llega al punto x1 = 2.5, x2 = 2.5 con λ = 5.93
y µ = 4.68

Los valores encontrados constituyen un mı́nimo relativo.

S-ar putea să vă placă și