Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Cap 3 Programacion Lineal Estocastica SL
Cap 3 Programacion Lineal Estocastica SL
Estocástica (SLP)
Motivación – Ejemplos.
Definiciones & Notación.
Programación Lineal Estocástica con Recursos
Modelo Lineal Equivalente (Problema discreto de 2 etapas)
Valor de la solución estocástica, valor de la información
2
Levantando los supuestos de la PL
Divisibilidad
SÍ NO
Linealidad
SÍ
PL PLE
NO
PNL PNLE
Certidumbre: Sí
3
¿Y qué pasa si levantamos el supuesto
de Certidumbre?
5
Introducción a SLP
10
Ej 1. Gestión de Aguas
El problema de optimización sería:
Max 100x1 + 50 x2 + 30 x3
s.a x1 + x2 + x3 <= Q
0<= x1 <= 2
0<= x2 <= 3
0<= x3 <= 5
Donde xi, es la cantidad de agua que se
compromete al sector i (1: municipal, 2: industrial,
3: agrícola).
El inconveniente es que se debe decidir las X antes
de conocer el valor de Q.
11
Ej 1. Gestión de Aguas
Por ejemplo, si se compromete la siguiente
asignación:
(x1, x2, x3) = (2, 3, 4)
Se generará un ingreso inicial de
Ing. Inicial = 100*2 + 50*3 + 30* 4 = 470
Sin embargo, a ese ingreso se le debe restar
posteriormente las penalizaciones que se paguen en
caso de no poder cumplir con lo comprometido.
Si la cantidad de agua disponible fuera menor que
9, se deberán pagar penalizaciones, ya que se
generarían faltantes (se comprometieron 2 + 3 + 4
= 9 unidades).
12
Ej 1. Gestión de Aguas
Suponga que Q es una variable aleatoria
discreta con la siguiente distribución de
probabilidades:
Valor (Q) 4 7 12
Probabilidad 0,35 0,45 0,20
19
Ej 2. Fabricante de Bolsos de Golf
Cada tipo de bolso requiere de cierto tiempo
en cada uno de los 4 departamentos de la
empresa. Estos tiempos y las utilidades que
genera cada uno, se resumen en la siguiente
tabla:
Departamento
Tipo Corte y Costura Acabado Inspección Utilidad
secado y empaque
Estándar 7/10 h 1/2 h 1h 1/10 h 10
Lujo 1h 5/6 h 2/3 h 1/4 h 9
20
Ej 2. Fabricante de Bolsos de Golf
22
Ej 2. Fabricante de Bolsos de Golf
1 0,50 50 40 80 10
2 0,40 30 50 70 15
Se debe tomar de decisión de cuántos
bolsos elaborar de cada tipo antes de
conocer el resultado de las licitaciones.
23
Ej 2. Fabricante de Bolsos de Golf
24
Ej 2. Fabricante de Bolsos de Golf
b1
b2
b3
b4
28
Minx cTx + E[(x,)]
Forma general de un SLP de 2 etapas:
s.a Ax = b, x ≥ 0
Donde E[∙], corresponde a la esperanza, y (x,) es el
valor de la solución óptima del siguiente PPL :
Miny d( )Ty
s.a T( ) x +Wy = h( ), y≥0
Notas:
�
� �
M�� � + �� � �
, 1 .. �
�=1
�. �
�� + � � = ℎ� � = ..�
, � � = ..�
Donde los valores de T, h (y también c) pueden depender
30 de los escenarios (ser variables aleatorias).
Comparemos SLP con DELP
Criterios SPL EDLP
Problema no lineal, no
Complejidad diferenciable… pero al Problema de programación
menos “convexo”. lineal.
Min c x q y
obtenido al reemplazar todas las v.a. por su esperanza.
T T Pero en este caso,
generalmente las
Ax b
x, y
variables “y” serán 0 en
la solución óptima (ya
S .a.
Tx Wy h ,
que generalmente
representan actividades
x 0, y 0,
más caras que las de
primera etapa).
32
x*CLP
Incluyendo a CLP en la comparación:
Criterios SPL EDLP CLP
# Var: # Var: N1
Tamaño # Var : N1+ N2 N1+ N2*K # Rest: M1 + M2
# Rest : M1 + M2 # Rest: (+ K PPLs de
M1+ M2*K tamaño N2, M2)
Problema convexo, Problema de Problema de
Comple- no lineal, no programación programación
jidad diferenciable. lineal (grande). lineal (pequeño).
¿? DELP
Cantidad de
Razonable
Escenarios
Muy Grande
CLP ¿?
35
DELP para el ejemplo de gestión de aguas
36
LINGO del DELP (Gestión de Aguas)
model:
SETS: Global optimal solution found.
Clientes /1..3/: dda, ing, pen, X; Objective value: 341.7500
Escenarios /1..3/: prob, Q; Infeasibilities: 0.000000
EscCliente (Escenarios,Clientes): Y; Total solver iterations: 6
endsets
DATA:
dda = 2 3 5; Variable Value Reduced Cost
ing = 100 50 30;
X( 1) 2.000000 0.000000
X( 2) 3.000000 0.000000
pen = 250 75 60;
X( 3) 2.000000 0.000000
Q = 4 7 12;
Y( 1, 1) 0.000000 61.25000
prob = 0.35 0.45 0.2;
Y( 1, 2) 1.000000 0.000000
enddata
Y( 1, 3) 2.000000 0.000000
Y( 2, 1) 0.000000 103.5000
Max = @sum(clientes(i):Ing(i)*X(i))- Y( 2, 2) 0.000000 24.75000
@sum(EscCliente(k,i):prob(k)*@sum(Clientes(i):pen(i)*Y(k,i))); Y( 2, 3) 0.000000 18.00000
Y( 3, 1) 0.000000 50.00000
@for(Clientes(i):X(i)<=dda(i)); Y( 3, 2) 0.000000 15.00000
@for(Escenarios(k):@sum(Clientes(i):X(i)-Y(k,i))<=Q(k)); Y( 3, 3) 0.000000 12.00000
@for(EscCliente(k,i):Y(k,i)<=X(i));
end
37
CLP para el ejemplo de gestión de aguas
Para elaborar el CLP, se debe reemplazar el valor de la
variable aleatoria Q por su esperanza. En este caso, Q =
0.35*4 + 0.45*7 + 0.20*12 = 6.95.
Así el problema en un ambiente de certidumbre (CLP)
quedaría:
Max 100x1 + 50 x2 + 30 x3
s.a x1 + x2 + x3 <= 6.95
0<= x1 <= 2
0<= x2 <= 3
0<= x3 <= 5
Cuya solución óptima es (x1, x2, x3) = (2, 3, 1.95), y un
valor ZCLP = 408.5
38
CLP para el ejemplo de gestión de aguas
El valor ZCLP es solo la ganancia de primera etapa. Para
conocer la ganancia esperada de esta solución (es decir,
después de restar la penalización esperada), se debe
resolver el problema de segunda etapa (minimizar las
penalizaciones) para cada uno de los valores de Q (es
decir, para cado uno de los escenarios).
39
CLP para el ejemplo de gestión de aguas
Para Q=4: Para Q=7: Para Q=12:
Min 250y1 + 75y2 + 60y3 Min 250y1 + 75y2 + 60y3 Min 250y1 + 75y2 + 60y3
s.a y1 + y2 + y3 >= 2.95 s.a y1 + y2 + y3 >= -0.35 s.a y1 + y2 + y3 >= -5.35
0 <= y1 <= 2 0 <= y1 <= 2 0 <= y1 <= 2
0 <= y2 <= 3 0 <= y2 <= 3 0 <= y2 <= 3
0 <= y3 <= 1.65 0 <= y3 <= 1.65 0 <= y3 <= 1.65
Cuya solución es Cuya solución es Cuya solución es
(y1,y2,y3) = (0,1,1.95), (y1,y2,y3) = (0,0,0), con (y1,y2,y3) = (0,0,0), con
con valor mínimo 192. valor mínimo 0. valor mínimo 0.
46
Ej 2. Bolsos de Golf (DELP)
Para este ejemplo el problema equivalente determinista
(DELP) quedaría:
Max 10x1 + 9x2 + Σk pk (8wk – 5y1k – 6y2k – 8y3k – 4y4k)
s.a.
7/10 x1 + x2 + 7/10 wk <= b1k + y1k
1/2 x1 + 5/6 x2 + 1/2 wk <= b2k + y2k
x1 + 2/3 x2 +
}
wk <= b3k + y3k
1/10 x1 + 1/4 x2 + 1/10 wk <= b4k + y4k
Y3k <= 100
yjk >= 0
xi >= 0
, j = 1..4
, i = 1..2
, k =1..4
47
Ej 2. LINGO DELP
model: Global optimal solution found.
SETS: Objective value: 6955.399
Productos /1..2/: Ing, X;
Infeasibilities: 0.000000
Total solver iterations: 20
Departamentos /1..4/:CHE;
Escenarios /1..4/:W, Prob; Variable Value Reduced Cost
ProdDepart(Productos, Departamentos): Cons; X( 1) 483.7498 0.000000
EscDepart (Escenarios,Departamentos):Disp, Y;
X( 2) 261.3751 0.000000
W( 1) 50.00000 0.000000
endsets
W( 2) 0.000000 1.050000
DATA: W( 3) 0.000000 0.069996
Ing = 10 9; W( 4) 0.000000 0.8800031
CHE = 5 6 8 4;
Y( 1, 1) 5.000000 0.000000
Y( 1, 2) 0.000000 1.800000
Cons = 0.7 0.5 1 0.1 1 0.833333 0.666667 0.25;
Y( 1, 3) 0.000000 1.050000
Prob = 0.3 0.3 0.2 0.2; Y( 1, 4) 0.000000 1.200000
Disp = 630 600 708 135 580 560 628 125 Y( 2, 1) 20.00000 0.000000
600 550 638 120 550 510 558 110;
Y( 2, 2) 0.000000 1.800000
Y( 2, 3) 30.00000 0.000000
enddata
Y( 2, 4) 0.000000 1.200000
Max = @sum(Productos(i):Ing(i)*X(i)) + Y( 3, 1) 0.000000 0.9000044
@sum(Escenarios(k):prob(k)*(8*w(k) - Y( 3, 2) 0.000000 1.200000
@sum(Departamentos(j):CHE(j)*Y(k,j)))); Y( 3, 3) 20.00000 0.000000
@for(EscDepart(k,j):@sum(productos(i) Y( 3, 4) 0.000000 0.8000000
Y( 4, 1) 50.00000 0.000000
:Cons(i,j)*x(i))+cons(1,j)*w(k)<=Disp(k,j)+Y(k,j));
Y( 4, 2) 0.000000 1.200000
@for(Escenarios(k):y(k,3)<=100); Y( 4, 3) 100.0000 0.000000
end Y( 4, 4) 3.718762 0.000000
48
Ej 2. LINGO EVwPI
model: Global optimal solution found.
SETS: Objective value: 7032.863
Productos /1..2/: Ing;
Infeasibilities: 0.000000
Total solver iterations: 9
Departamentos /1..4/:CHE;
Escenarios /1..4/: Prob;
ProdDepart(Productos, Departamentos): Cons; Variable Value Reduced Cost
EscDepart (Escenarios,Departamentos):Disp;
X( 1, 1) 539.9998 0.000000
X( 1, 2) 252.0001 0.000000
EscProd(Escenarios, Productos):X;
X( 2, 1) 452.4998 0.000000
endsets X( 2, 2) 263.2501 0.000000
DATA: X( 3, 1) 446.2498 0.000000
Ing = 10 9;
X( 3, 2) 287.6251 0.000000
X( 4, 1) 360.9090 0.000000
CHE = 5 6 8 4;
X( 4, 2) 295.6364 0.000000
Cons = 0.7 0.5 1 0.1 1 0.833333 0.666667 0.25;
Prob = 0.3 0.3 0.2 0.2;
Disp = 630 600 708 135 580 560 628 125
Así, se tiene:
600 550 638 120 550 510 558 110;
enddata ZDELP = 6955.4
Max = @sum(Escenarios(k):prob(k)*
(@sum(Productos(i):Ing(i)*X(k,i))));
EVwPI = 7032.9
@for(EscDepart(k,j):@sum(productos(i): Con lo cual se obtiene:
EVPI = 7032.9 – 6955.4
Cons(i,j)*x(k,i))<=Disp(k,j));
end
49 = 77.5
Ej 2. LINGO CLP
model: Global optimal solution found.
Objective value: 7163.635
SETS:
Infeasibilities: 0.000000
Productos /1..2/: Ing, X; Total solver iterations: 3
Departamentos /1..4/:Disp;
ProdDepart(Productos, Departamentos): Cons; Variable Value Reduced Cost
endsets X( 1) 421.8180 0.000000
X( 2) 327.2728 0.000000
DATA:
Ing = 10 9;
Cons = 0.7 0.5 1 0.1 1 0.833333 0.666667 0.25;
Disp = 693 560 640 124;
enddata La solución
Max = @sum(Productos(i):Ing(i)*X(i));
(x1,x2) = (412.81 , 327.27)
Se debe fijar el DELP
@for(Departamentos(j):@sum(productos(i)
:Cons(i,j)*x(i))<=Disp(j));
para obtener la ganancia
esperada de la solución del
end
CLP.
50
Ej 2. LINGO Valor esperado CLP
model: Global optimal solution found.
SETS: Objective value: 6930.108
Productos /1..2/: Ing, X;
Infeasibilities: 0.000000
Total solver iterations: 17
Departamentos /1..4/:CHE;
Escenarios /1..4/:W, Prob; Variable Value Reduced Cost
ProdDepart(Productos, Departamentos): Cons;
EscDepart (Escenarios,Departamentos):Disp, Y;
X( 1) 421.8180 0.000000
X( 2) 327.2728 0.000000
endsets
W( 1) 68.00002 0.000000
DATA: W( 2) 0.000000 1.050000
Ing = 10 9; W( 3) 0.000000 0.7800000
CHE = 5 6 8 4;
W( 4) 0.000000 0.7800000
Y( 1, 1) 40.14542 0.000000
Cons = 0.7 0.5 1 0.1 1 0.833333 0.666667 0.25;
Y( 1, 2) 0.000000 1.800000
Prob = 0.3 0.3 0.2 0.2; Y( 1, 3) 0.000000 1.050000
Disp = 630 600 708 135 580 560 628 125 Y( 1, 4) 0.000000 1.200000
600 550 638 120 550 510 558 110;
Y( 2, 1) 42.54540 0.000000
Y( 2, 2) 0.000000 1.800000
X = 421.8180 327.2728;
Y( 2, 3) 11.99998 0.000000
enddata Y( 2, 4) 0.000000 1.200000
Max = @sum(Productos(i):Ing(i)*X(i)) + Y( 3, 1) 22.54540 0.000000
@sum(Escenarios(k):prob(k)*(8*w(k) - Y( 3, 2) 0.000000 1.200000
@sum(Departamentos(j):CHE(j)*Y(k,j)))); Y( 3, 3) 1.999976 0.000000
Y( 3, 4) 4.000000 0.000000
@for(EscDepart(k,j):@sum(productos(i)
Y( 4, 1) 72.54540 0.000000
:Cons(i,j)*x(i))+cons(1,j)*w(k)<=Disp(k,j)+Y(k,j)); Y( 4, 2) 0.000000 1.200000
@for(Escenarios(k):y(k,3)<=100); Y( 4, 3) 81.99998 0.000000
51end Y( 4, 4) 14.00000 0.000000
Ej 2. Cálculo VSS
Así, se tiene:
Z
_ DELP = 6955.4
ZCLP = 6930.1
Con lo cual se obtiene:
VSS = 6955.4 – 6930.1
= 25,3
52