Programación No Lineal
Programación No Lineal
Programación No Lineal
Capítulo 2
Programación no lineal
Joseph-Louis
Lagrange
xj > 0 ; j = 1,2, . . . , n
Francisco Chediak 57
Programación no lineal
Método Gráfico
Ejemplo 2.1
58 Flaminio Vera
Programación no lineal
X*1 = 1.47
Área de soluciones Solución X*2 = 3.02
factibles óptima Z* = 10.45
Ejemplo 2.2
Francisco Chediak 59
Programación no lineal
Solución Óptima
X*1 = 6
X*2 = 0
Z* = 12
2X1+3X2<12
Ejemplo 2.3
Maximizar Z = X2 - X21 = -2
y Z = X2 - X 2
1
X2 = X21 - 2
Minimizar
X1 = 0 X2 = 0
C.S.R. -(10 - X21 - X2)3 < 0 X2 = -2 X1 = 1.41 ; X1 = -1.41
-X1 < -2 P(0,-2) P(1.41,0) ; P(-1.41,0)
Xj > 0 ; j = 1,2
dx2/dx1=2X1=0 d2x2/dx21 = 2 > 0
X1=0 => X2=-2 Luego, es un mínimo
P(0,-2)
60 Flaminio Vera
Programación no lineal
X1 > 2
Máximo
Z = X2 - X21 = -2 X*1 = 2
X*2 = 6
Mínimo
Z* = 2
X*1 = 3.16
X*2 = 0
Área de solu- Z* = -10
ciones facti-
bles
X2 + X21 - 10 < 0
Francisco Chediak 61
Programación no lineal
Solución
Fíjese que la restricción es un circulo con radio uno (1) y no hay condición de
no negatividad.
Z=2X21-3X22-2X1=-3.2 Mínimo
X*1 = 0.2
X*2=0,961/2=0,979795897
Disminuye Z* = -3,2
<==
Z=2X21-3X22-2X1=4 Z=2X21-3X22-2X1=4
Máximo
X*1 = -1
X*2 = 0
Z* = 4
Mínimo
<==
X*1 = 0.2
Disminuye X*2=-0,961/2=-0,979795897
Z* = -3,2
Z=2X21-3X22-2X1=-3.2
X1 = 0 X2 = 0 X1 = 0 X2 = 0
X2 = 1 , X2 = -1 X1 = 1 , X1 = -1 -3X22 = 4 2X21 - 2X1 - 4 = 0
P(0,-1) , P(0,1) P(-1,0) , P(1,0) X2 = Imaginario X1 = 2 ; X1 = -1
No corta el eje X2 P(2,0) ; P(-1,0)
P(0,0) => 0 < 1 , Verdad
62 Flaminio Vera
Programación no lineal
Ejemplo 2.5
Francisco Chediak 63
Programación no lineal
Z=5
{ 10(X1-4)2+20(X2-4)2=Z
X1+X2=6
Solución óptima Z = 15
Mínimo
X*1 = 8/3 = 2.66
X*2 = 10/3 = 3.33 Z = 80/3 = 26.66
Z* = 80/3 = 26.66
Área de
soluciones
factibles
X1 + X2 < 6
Multiplicadores de Lagrange
Maximice
o Z = f(x1,x2, . . . . ,xn)
Minimice
64 Flaminio Vera
Programación no lineal
Características
Método de solución
m
1. Definir la función de Lagrange, así: L(x,λ) = f(x) + Σλ [b - g (x)]
i i i
i=1
donde las λi son constantes desconocidas llamadas multiplicadores de La-
grange.
Observación:
Es aplicable para ciertos tipos de problemas pequeños, debido a que el
sistema de ecuaciones por resolver puede ser dispendioso y poco trivial
para obtener los puntos críticos; además, puede ocurrir que el número de
puntos críticos sea elevado, a menudo infinito y se hace no práctico intentar
la identificación de un máximo o un mínimo global.
Como no hay una restricción que sea una igualdad, entonces, la función de
Lagrange inicial es:
gL gL
Ahora comprobamos que
g x = 20(X1 - 4) = 0 gx = 40(X2 - 4) = 0 ésta presunta solución
1 2
P(4,4) sea factible, que
20X1 - 80 = 0 40X2 - 160 = 0
cumpla con todas las res-
X1 = 4 X2 = 4
tricciones.
Francisco Chediak 65
Programación no lineal
X1 - 2X2 = -4
X2 = 6 - X1
X1 - 2X2 = -4 2X1 + 2X2 = 12
X1 + X2 = 6
(2) => => X2 = 6 - 8/3
3X1 = 8 X*2 = 10/3
X*1 = 8/3
λ* = 20(8/3) - 80 = - 80/3
Aquí, una buena pregunta es: ¿Cuáles son los valores que maximizan la función
objetivo?
66 Flaminio Vera
Programación no lineal
X2
Solución óptima
Máximo
X*1 = 7/4 = 1,75
X*2 = 3/4 = 0,75
Z = 2.095/8 = 261,875
*
X1
Ejemplo 2.6
Solución:
Francisco Chediak 67
Programación no lineal
=>
L
gL XW - XL = 0
gx = 0,004XW + 0,004XL = 0 => XW + XL = 0 XW + XL = 0
H
2XW 0
Luego XL = XH = 0
XW = 0
Comprobamos si ésta solución inicial XW = XL = XH = 0 es o no factible.
gL 0,004XH + 0,004XL
gx = 0,004XH + 0,004XL - λXLXH = 0 => λ =
W
XLXH
gL 0,004XW + 0,004XL
gx = 0,004XW + 0,004XL - λXLXW = 0 => λ =
H
XLXW
gL
g = XL XW XH = 12.000
λ
68 Flaminio Vera
Programación no lineal
Entonces:
XLXWXH = 12.000
X*L = (12.000)1/3 = 22,89 cmts.
XLXLXL = 12.000
X3L = 12.000
=> X*W = (12.000)1/3 = 22,89 cmts.
X*H = (12.000)1/3 = 22,89 cmts.
XL = (12.000)1/3
Luego, el precio a proponer por contenedor, incluyendo una ganancia del 25%
es $7,2897(1,25) = $9,1121 que es mayor que el ofrecido por la competencia:
$8 por contenedor.
Ejemplo 2.7
Francisco Chediak 69
Programación no lineal
Solución:
pj > 0 , j = 1,2
gL
=> -1,8p1 + 18p2 = 2.000
198,2p1 = 42.000
g p = 1,8p1 + 2.000 - 18p2 = 0 (-1)
2 p1 = 211,9
Luego p2 = [2.000 + 1,8(211,9)]/18 => p2 = 132,3
70 Flaminio Vera
Programación no lineal
Z = 300.000 Área de
soluciones
Z = 400.000
factibles
Z = 488.360,18
Solución óptima
Máximo
p*1 = 292,81
p*2 = 158,32
Z = $488.360,18
*
Francisco Chediak 71
Programación no lineal
gL
g p = 4.000 - 20p1 + 1,8p2 + 17,6λ1 + 29,2λ2 = 0
1
gL
g p = 1,8p1 + 2.000 - 18p2 + 25λ1 + 6λ2 = 0 -105,6p1 - 150p2 = -54.000
2 730p1 + 150p2 = 237.500
gL 624,4p1 = 183.500
g λ = 17,6p1 + 25p2 = 9.000 (-6) p1 = 293,88
1
=> Entonces
gL
g λ = 29,2p1 + 6p2 = 9.500 (25)
p2 =
9.500 - 29,2(293,88)
2
6
P2 = 153,1
gL
g p = 1,8p1 + 2.000 - 18p2 + 6λ2 = 0
2
gL
g λ = 29,2p1 + 6p2 = 9.500
2
72 Flaminio Vera
Programación no lineal
Entonces:
-2.000 - 1,8p1 + 18p2 Valor máximo que se paga por un chip
λ∗2 = = $53,78
6 adicional.
Como λ∗1 = 0 => No se deben aumentar las horas de trabajo
Por último:
q*1 = 4.000 - 10(292,81) + 158,32 = 1.230,22
q*2 = 2.000 - 9(158,32) + 0,8(292,81) = 809,37
Francisco Chediak 73
Programación no lineal
5*X+3Y-5=0
4*X^2+3*Y^2-9=0
4000*X-10*X^2+1.8*X*Y+2000*Y-
9*Y^2-30=0
10*(X-4)^2+20*(Y-4)^2-261.875=0
74 Flaminio Vera
Programación no lineal
Con ésta muy breve introducción al software, el lector puede leer más detalles
del funcionamiento del programa, en el Help del mismo.
Condiciones de Karush-Kuhn-Tucker
Características
Francisco Chediak 75
Programación no lineal
g f(x*)
= gx , Si X*j > 0
m
g g (x*)
1. y 2. Σ λi i
gx
j
j = 1,2, . . . , n
i=1 j
g f(x*)
> , Si X*j = 0
gx
j
= 0 , Si λi > 0
i = 1,2, . . . , m
3. y 4. gi(x ) - bi
*
< 0 , Si λi = 0
5. Xj > 0 , j = 1,2, . . . , n
6. λi > 0 , i = 1,2, . . . , m
Caso especial: Si todas las restricciones son lineales: Σaijxj < = > bi , i = 1,2,...,m
m g g (x*) m
Σ λi i
gx = Σ λi a ij
i=1 j i=1
Recordemos que:
f(x1,x2, . . . ,xn) es una función convexa si, para cada par de puntos que pertenecen
a f(x1,x2, . . . ,xn), el segmento de recta que los une se encuentra completamente
arriba o pertenece a f(x1,x2, . . . ,xn). Es una función estrictamente convexa si
este segmento de recta está por completo arriba de la gráfica, excepto por
los puntos extremos del segmento.
76 Flaminio Vera
Programación no lineal
f(x1,x2, . . . ,xn) es una función cóncava si, para cada par de puntos que pertenecen
a f(x1,x2, . . . ,xn), el segmento de recta que los une se encuentra completamente
abajo o pertenece a f(x1,x2, . . . ,xn). Es una función estrictamente cóncava si
este segmento de recta está por completo abajo de la gráfica, excepto por
los puntos extremos del segmento.
Función
Función estrictamente
convexa convexa
Función
Función estrictamente
cóncava cóncava
Función
Función
cóncava
no cóncava
ó
ni convexa
convexa
g 2f
g x2 >0 >0 <0 <0
1
g 2f
g x2 >0 >0 >0 <0
2
Francisco Chediak 77
Programación no lineal
Ejemplo 2.8
C.S.R. X1 + X2 < 6
X1 - X2 < 1 Demuestre que X*1 = 8/3 , X*2 = 10/3 ,
3X1 + X2 > 6 son la solución óptima.
-3X1 + 2X2 < 6
Xj > 0 , j = 1,2
Corolario
gz gz
= -20(X1 - 4) g = -40(X2 - 4)
gx x2
1
g 2z g2z
= -20 g = -40
g x2 x22
1
g 2z g 2z
gx g x =0 g x gx = 0
1 2 2 1
g 2f g 2f g2
∆ = g 2 g 2 - g gf = (-20)(-40) - (0)(0) = 800 > 0
2
x1 x2 x1 x2
g 2z
g x2 = -20 < 0 para cualquier valor de X1 , X2
1
g 2z
= -40 < 0 para cualquier valor de X1 , X2
g x2
2
78 Flaminio Vera
Programación no lineal
Como cada una de las restricciones es una línea recta, podemos asumir que,
cada una de ellas, es cóncava o convexa; para nuestro caso, decimos que, cada
una de ellas, es una función convexa. Además, fíjese que el conjunto solución
de las restricciones es un conjunto convexo.
Luego, queda demostrado el corolario, por lo que cualquier solución que satisfaga
las condiciones de KKT será, definitivamente, una solución óptima.
De las condiciones 3 y 4:
Luego λ1 > 0 y λ2 = λ3 = λ4 = 0
20X1 + λ1 = 80
40X2 + λ1 = 160
X1 + X2 = 6
Por último, en las condiciones 5 y 6, es trivial que X*1 = 8/3 > 0 ; X*2 = 10/3 >
0 ; λ1 = 80/3 > 0 ; λ2 = λ3 = λ4 = 0 todos > 0
Francisco Chediak 79
Programación no lineal
Ejemplo 2.9
Corolario:
gz gz
gp = 4.000 - 20p1 + 1,8p2 gp = 1,8p1 + 2.000 - 18p2
1 2
g 2z g 2z
= -20 < 0 g p2 = -18 < 0
g p2
1 2
g 2z g 2z
g p g p = 1,8 g p g p = 1,8
1 2 2 1
80 Flaminio Vera
Programación no lineal
Luego λ1 < 0 y no cumple la condición 5 de KKT (λi > 0). Por lo tanto concluimos
que la solución sospechada no es óptima.
Ejemplo 2.10
Corolario:
gz gz
gp = 4.000 - 20p1 + 1,8p2 gp = 1,8p1 + 2.000 - 18p2
1 2
g 2z g 2z
g p2 = -20 < 0 g p2 = -18 < 0
1 2
g 2z g 2z
g p g p = 1,8 g p g p = 1,8
1 2 2 1
Francisco Chediak 81
Programación no lineal
Las restricciones por ser líneas rectas las podemos considerar cóncavas
o convexas. Para nuestro caso las consideraremos convexas. Siendo cada
restricción convexa, el sistema de inecuaciones convexas forma un conjunto
convexo. Luego, el corolario se cumple y al cumplir las condiciones de KKT,
asegura que se trata de una solución óptima.
De las condiciones 3 y 4
82 Flaminio Vera
Programación no lineal
Programación cuadrática
Características
Xj > 0 ; j = 1,2, . . . ,n
Xj > 0 ; j = 1, 2
De las condiciones 1 y 2 de Karush-Kuhn-Tucker
Francisco Chediak 83
Programación no lineal
4X1 - 4X2 + λ - H1 + A1 = 15
De la misma manera:
2λ = 30 + 4X1 - 8X2 Si X2 > 0
2λ > 30 + 4X1 - 8X2 Si X2 = 0 La ecuación más general es:
-4X1 + 8X2 + 2λ - H2 = 30
Ahora, escogemos variable básica para ésta ecuación. Como H2 asume un valor
no positivo (H2 = -30), debemos acudir a adicionar una variable artificial (A2)
o de superávit que sirva como variable básica.
X1 + 2X2 = 30 Si λ > 0
X1 + 2X2 < 30 Si λ = 0
84 Flaminio Vera
Programación no lineal
Minimizar Z = A1 + A2
(H1)(X1) = 0
(H2)(X2) = 0
(H3)(λ) = 0
} (H1)(X1) + (H2)(X2) + (H3)(λ) = 0
Francisco Chediak 85
Programación no lineal
Cj → 0 0 0 0 0 0 1 1
↓ V.B. b X1 X2 λ H1 H2 H3 A1 A2
0 λ1 3 0 0 1 -2/5 -3/10 -2/5 2/5 3/10
0 X2 9 0 1 0 1/20 -1/40 3/10 -1/20 1/40
0 X1 12 1 0 0 -1/10 1/20 2/5 1/10 -1/20
Zj -Cj 0 0 0 0 0 0 0 -1 -1
Z* = 270
PROBLEMAS PROPUESTOS
86 Flaminio Vera
Programación no lineal
2.9 Z = X2 + Y2 + W2 2.10 Z = X2 + Y2 + W2
c.s.r. c.s.r.
Y + 2X - W = 3 X+Y+W=1
Solución: Solución:
Z* = 3/2 Z* = 1/3
X* = 1 X* = 1/3
Y* = 1/2 Y* = 1/3
W* = -1/2 W* = 1/3
λ = 1 λ = 2/3
2.11 De todos los números cuya suma es 70, halle los dos que tengan el máximo
producto.
Solución: Z* = 1225 , X* = 35 , Y* = 35 , λ = 35
2.12 De todos los números cuya suma es 50, halle los dos que tengan el máximo
producto.
Solución: Z* = 625 , X* = 25 , Y* = 25 , λ = 25
2.13 De todos los números cuya diferencia es 6, halle los dos que tengan el
mínimo producto.
Solución: Z* = -9 , X* = 3 , Y* = -3 , λ = -3
2.14 De todos los números cuya diferencia es 4, halle los dos que tengan el
mínimo producto.
Solución: Z* = -4 , X* = 2 , Y* = -2 , λ = -2
2.15 Maximización del área de digitación. Una hoja estándar de papel para
digitar tiene un perímetro de 39 pulgadas. Halle las dimensiones del pa-
pel que proporcione la mayor área de digitación, sujeta a la restricción
perimetral de 39 pulgadas. ¿Cuál es el área? ¿La hoja estándar de 8.5X11
pulgadas, tiene un área máxima?
Solución: Z* = 1.521/16 , X* = 39/4 , Y* = 39/4 , λ = 39/8 . La hoja estándar
de 8,5X11 pulgadas, no tiene un área máxima, por que el perímetro es de
39 pulgadas. Fíjese que el perímetro de dicha hoja es: 2(8,5) + 2(11) =
39 pulgadas.
Francisco Chediak 87
Programación no lineal
2.18 Problema de la lata de jugo. Una lata de tamaño estándar puede tener un
volumen de 99 pulg3. ¿Qué dimensiones debe proporcionar la mínima área
de superficie?. Halle el área.
Solución: r* = 2,5069; h* = 5,01431 ; Z* = 118,46 pulg2 ; λ = 0,797798
2.19 Maximización de las ventas totales. Las ventas totales S de una firma de
un solo producto están dadas por: S(L,M) = ML - L2; donde M corresponde
al costo de los materiales y L es el costo de mano de obra. Halle el valor
máximo de ésta función sujeta a la restricción presupuestaria: M + L = 80.
Solución: M* = Costo de materiales = $60, L* = Costo de la mano de obra:
$20, S* = Ventas totales máximas: $800, λ = $20
88 Flaminio Vera
Programación no lineal
Solución: Solución:
x* = ± 1/3(3)1/2 x* = ± 1/3(3)1/2
y* = ± 1/3(3)1/2 y* = ± 1/3(3)1/2
z* = ± 1/3(3)1/2 z* = ± 1/3(3)1/2
λ* = ± 1/2(3)1/2 λ* = 1/9
Z* = ± (3)1/2 Z* = 1/27
Francisco Chediak 89
Programación no lineal
90 Flaminio Vera
Programación no lineal
Solución: Solución:
X*1 = 2 X*1 = 55
X*2 = 2 X*2 = 45
Z* = 28 Z* = 192
Xj > 0 ; j = 1,2
Francisco Chediak 91
Programación no lineal
92 Flaminio Vera
Programación no lineal
Francisco Chediak 93