Está en la página 1de 52

Cap 3: Programación Lineal

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

IN1064C Modelos Estocásticos y Simulación


1 Prof. Manuel Cepeda J.
(Recordemos los…)

Supuestos de la Programación Lineal

 Linealidad: las medidas de desempeño (función


objetivo) y las restricciones son lineales
(aditivas y proporcionales) en relación a las
variables de decisión.
 Divisibilidad: el nivel de las actividades (valores
de las variables de decisión) pertenece a un
conjunto denso (pueden tomar valores
decimales).
 Certidumbre: Las variables exógenas son
conocidas y constantes (son parámetros).

2
Levantando los supuestos de la PL

Divisibilidad
SÍ NO
Linealidad


PL PLE
NO
PNL PNLE
Certidumbre: Sí
3
¿Y qué pasa si levantamos el supuesto
de Certidumbre?

Certidumbre = VE conocidas y constantes.

• Variables exógenas son constantes


“desconocidas”. Ejemplo el precio de
cierto insumo.

• Variable exógenas no son constantes (no


son parámetros, sino que realmente son
variables). Ejemplo la demanda futura.
4
¿Qué pasa si…

• Existen parámetros desconocidos?


- Análisis de sensibilidad.
- Programación robusta.
- etc.
• Existen variables aleatorias?
- Modelos estocásticos: ejemplo
Programación Lineal Estocástica (SLP)

5
Introducción a SLP

Imaginen el problema de decidir un plan


de producción antes de conocer la
demanda de los productos.

¿Qué debo hacer si fabrico más o si


fabrico menos que lo que los clientes
finalmente demandan?
6
Introducción a SLP
Este problema tiene la siguiente secuencia
de hitos (para un problema de
producción):
1) Se debe decidir cuánto elaborar de
cada producto.
2) Se conoce la demanda de los clientes.
3) Se debe decidir qué hacer con los
sobrantes y/o faltantes.
Se conoce como “problema de 2 etapas”,
ya que existen 2 etapas de decisión.
7
Ej 1. Gestión de Aguas
Un administrador de un sistema de gestión
de aguas debe asignar este recurso entre 3
usuarios:
- El sector municipal,
- El sector industrial, y
- El sector agrícola.
El problema es que debe comprometer una
cierta cantidad de agua con suficiente
anticipación, tal que los diversos sectores
alcancen a tomar medidas en caso de no
suplir sus requerimientos.
8
Ej 1. Gestión de Aguas
La decisión de la cantidad de agua a asignar
se debe tomar antes de conocer la
disponibilidad de agua que habrá ese año.
Si no se cumple con la cantidad de agua
comprometida con un sector se deberá
pagar una penalización por unidad faltante.

Cada sector tiene requerimientos distintos,


genera una utilidad distinta y los montos de
penalización también son distintos.
9
Ej 1. Gestión de Aguas
Resumen de la información:
Sector Requerimiento Utilidad Penalidad
Municipal 2 100 250
Industrial 3 50 75
Agrícola 5 30 60

Sea Q la cantidad disponible de agua a


asignar en el año.

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

El objetivo global no es solo maximizar la


utilidad, sino que se deben descontar las
posibles penalidades. El valor esperado de
éstas últimas depende tanto de X como de la
realización de la variable aleatoria Q.
13
Ej 1. Gestión de Aguas (Penalizaciones)
Para minimizar las penalizaciones asociadas a una
asignación (x1, x2, x3), dado un valor de Q ya conocido,
se debe resolver el siguiente problema de optimización
(de segunda etapa):
Min 250 y1 + 75 y2 + 60 y3
s.a y1 + y2 + y3 >= x1 + x2 + x3 – Q
0 <= y1 <= x1
0 <= y2 <= x2
0 <= y3 <= x3
Donde yi, es el faltante (lo que no se podrá cumplir)
para el sector i.
Note que en este problema las X y Q son parámetros.
14
Ej 1. Gestión de Aguas (Penalizaciones)
Por ej. si se comprometen las siguientes asignaciones
(x1, x2, x3) = (2, 3, 4), y el valor de Q fuera 7. El
problema de segunda etapa quedaría como:
Min 250 y1 + 75 y2 + 60 y3
s.a y1 + y2 + y3 >= 2
0 <= y1 <= 2
0 <= y2 <= 3
0 <= y3 <= 4
Cuya solución óptima es (y1, y2, y3)* = (0, 0, 2), con una
penalización total de 120. Como este escenario (Q=7)
tiene una probabilidad de 0.45, diremos que la
asignación (x1, x2, x3) = (2, 3, 4) tendrá que pagar una
penalización de 120 con probabilidad 0.45.
15
Ej 1. Gestión de Aguas (Ganancia esperada)
De la misma manera se puede obtener la penalización
(asociada a la asignación inicial (x1, x2, x3) = (2, 3, 4)),
para los diversos valores de Q :
Valor de Q (y1, y2, y3)* Penalización Probabilidad
4 (0, 1, 4) 315 0.35
7 (0, 0, 2) 120 0.45
12 (0, 0, 0) 0 0.20
Así, la penalización esperada para la solución (x1, x2,
x3) = (2, 3, 4), será de 315*0.35+120*0.45+0*0.20 =
164.25. Si descontamos ese valor de la ganancia inicial
de 470, encontramos que la ganancia esperada sería de
solo
16 305.75.
Ej 1. Gestión de Aguas (Problema General)

Denotemos por: φ(x,Q) = {Min 250y1+75y2+60y3/


y1+y2+y3>=x1+x2+x3–Q; 0<=y1<=x1; 0<=y2<=x2; 0<=y3<=x3}
Donde Q es una variable aleatoria.
El problema que finalmente debe resolver el Gestor de
Aguas para maximizar la ganancia esperada (ingreso inicial
menos la penalización esperada) es:
Max 100x1 + 50 x2 + 30 x3 – E(φ(x,Q))
s.a 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).
Este problema se conoce como SLP (Stochastic Linear
17
Programming)
Ej 1. Gestión de Aguas (SLP)
Para que este problema esté bien definido, se
requiere que la función φ(x,Q) exista y tenga un
valor finito para cualquier vector x factible (de
acuerdo a las restricciones del SLP) y para
cualquier valor de Q.

Si se cumplen estas condiciones de dice que el


problema es de “recursos completo”.

Este SLP es un problema no lineal, no


diferenciable, pero convexo. Podría ser resuelto
por un método (numérico) de subgradiente.
18
Ej 2. Fabricante de Bolsos de Golf
(Planificación de la producción con incerteza en los
recursos disponibles)

Un fabricante de bolsos de golf está


haciendo su plan de producción trimestral.
En base a ese plan se comprometen entregas
con importantes clientes.
Los bolsos se elaboran en calidad estándar y
de lujo y se debe decidir cuántos bolsos
elaborar de cada tipo.

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

El tiempo disponible por departamento y el


costo de una hora adicional, son:
Departamento Disponibilidad Costo hora
adicional
Corte y secado 630 5
Costura 600 6
Acabado 708 8*
Inspección y empaque 135 4

Sea Xi la cantidad de bolsos a elaborar tipo i


(1: estándar; 2: de lujo).
21
* Máximo 100horas adicionales.
Ej 2. Fabricante de Bolsos de Golf

El PPL asociado al objetivo de maximizar la


ganancia, considerando solo la disponibilidad
actual de los departamentos, es:

22
Ej 2. Fabricante de Bolsos de Golf

La empresa presentó propuestas a dos


licitaciones de contratos, que requerirían
tiempo en los diversos departamentos.
Licitación Probabilidad Corte y Costura Acabado Inspección
Adjudicar secado y empaque

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

Los escenarios de disponibilidad de recursos


dependen de la combinación de licitaciones
exitosas.
Escenario: Probabilidad Corte y Costura Acabado Inspección
Licitación adjudicada Escenario secado y empaque

0 (Ninguna) 0,30 630 600 708 135


1 (Solo la 1) 0,30* 580 560 628 125
2 (Solo la 2) 0,20 600 550 638 120
3 (Ambas) 0,20 550 510 558 110
* P(Solo la 1) = P(1 sea exitosa y 2 no sea exitosa) = P(sí 1)*P(no 2)= 0, 5*0,6 = 0,30.

24
Ej 2. Fabricante de Bolsos de Golf

El problema finalmente consiste en:


-Determinar la cantidad de bolsos a elaborar
de cada tipo.
- Después de eso, se conocerá el resultado
de las licitaciones.
- Se decidirá la contratación de horas
adicionales en los departamentos para
cumplir la producción, si fuera necesario.
También se podrían elaborar más bolsos
estándar, los cuales generarían una utilidad
25
de 8.
Ej 2. Problema de Primera Etapa

b1
b2
b3
b4

Donde los valores bj representan la disponibilidad de


recursos en cada departamento. Estos valores
corresponden a variables aleatorias discretas con
26
distribución de probabilidades conjunta conocida.
Ej 2. Problema de Segunda Etapa
Considerando una solución de primera etapa (x1, x2), y dada
una realización del vector b (un escenario). En una segunda
etapa se puede:
- Contratar horas extras en cada departamento (Yj)
- Elaborar más productos estándar (w)
Así, el problema de segunda etapa queda:
Max 8w – 5y1 – 6y2 – 8y3 – 4y4
s.a 7/10 x1 + x2 +7/10 w <= b1 + y1
1/2 x1 + 5/6 x2 + 1/2 w <= b2 + y2
x1 + 2/3 x2 + w <= b3 + y3
1/10 x1 + 1/4 x2 + 1/10 w <= b4 + y4
Y3 <= 100
yj >= 0 , j =1..4
27
Ej 2. Bolsos de Golf (SLP)
Así, el problema general a resolver es encontrar los valores
de x1 y x2 que permitan maximizar la ganancia esperada:
Max 10x1 + 9x2 + E(φ(x,b))
s.a x1, x2 >= 0
Donde φ(x,b) =
Max 8w – 5y1 – 6y2 – 8y3 – 4y4
s.a 7/10 x1 + x2 + 7/10 w <= b1 + y1
1/2 x1 + 5/6 x2 + 1/2 w <= b2 + y2
x1 + 2/3 x2 + w <= b3 + y3
1/10 x1 + 1/4 x2 + 1/10 w <= b4 + y4
Y3 <= 100
yj >= 0 , j =1..4

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:

de variables aleatorias  y para cada valor de x.


1) Existe un PPL para cada realización posible del conjunto

2) Sin pérdida de generalidad, los valores de “=“ en ambos


conjuntos de restricciones podrían ser del tipo ≤ o ≥.
29
3) Las variables exógenas d, T y h podrían depender de .
Si las variables aleatorias son discretas, es decir, existe
un número finito (K) de realizaciones (escenarios), con
probabilidades pK, entonces el siguiente PPL es
equivalente al SLP (y se conoce como DELP:
Deterministic Equivalent Linear Program).


� �
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

N1: variables etapa 1 (X) # Variables: N1+ N2*K


Tamaño N2: variables etapa 2 (Y)
M1: restricciones etapa 1. # Restricciones:
M2: restricciones etapa 2. M1 + M2*K

Problema no lineal, no
Complejidad diferenciable… pero al Problema de programación
menos “convexo”. lineal.

Donde K es el número de “escenarios”, es decir, el número de valores


posibles para 
31
Existe otra alternativa: CLP
(Certainly linear programming) que corresponde al PPL

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).

La solución de este problema debe ser evaluada en los

se puede hacer fijando las variables x en el DELP a x 


diversos escenarios para obtener su valor esperado. Esto

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).

Calidad Óptima Óptima Sub-óptima


solución

Donde K es el número de “escenarios”, es decir, el número de


33 valores posibles para 
Valor de la Solución Estocástica: VSS
_
Sea ZCLP el valor esperado de la función objetivo, cuando
la solución óptima del CLP (X*CLP) se reemplaza en el SLP
(o en el DELP).

Sea ZDELP el valor de la solución óptima del DELP (o SLP).


_
Se define*: VSS = ZDELP – ZCLP

El VSS (Valor de la Solución Estocástica) representa la


ganancia o ahorro esperado por resolver la versión
estocástica de un problema (SLP o DELP) en lugar de la
versión determinista (CLP).
34 * Para un problema de máximo.
Entonces ¿qué problema resolvemos?
“Intuición” del VSS
Pequeño Grande

¿? 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).

En este caso, para obtener la penalización esperada de la


solución del CLP se deben resolver los problemas de
segunda etapa para cada uno de los escenarios, con (x1,
x2, x3) =(2, 3, 1.95)

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.

Lo cual da una penalización esperada de 192*0.35 + 0*0.45 +


0*0.20 = 67,2. Descontando esta penalización de la ganancia
inicial asociada a la solución del CLP (408.5), se obtiene que
la ganancia esperada utilizando el CLP es de 341.3.
Finalmente, el VSS sería igual 341.75 – 341.3 = 0.45. Este
valor representa la ganancia (esperada) extra que se
obtendría por utilizar la solución obtenida resolviendo el
DELP en lugar de aquella encontrada al resolver el CLP.
40
CLP para el ejemplo de gestión de aguas
Para evitar tener que resolver los K problemas de
segunda etapa, se puede resolver el DELP pero fijando
en él los valores de las variables de primera etapa a la
solución obtenida en el CLP. Es decir al problema:

se le agrega la restricción (x1, x2, x3) = (2, 3, 1.95).


En LINGO esto equivale a fijar los valores de las
41 variables x en la lectura de datos.
LINGO para obtener valor Esperado
de la solución del CLP
model:
SETS:
Global optimal solution found.
Clientes /1..3/: dda, ing, pen, X; Objective value: 341.3000
Escenarios /1..3/: prob, Q; Infeasibilities: 0.000000
Total solver iterations: 2
EscCliente (Escenarios,Clientes): Y;
endsets
DATA: Variable Value Reduced Cost
X( 1) 2.000000 0.000000
dda = 2 3 5;
X( 2) 3.000000 0.000000
ing = 100 50 30; X( 3) 1.950000 0.000000
pen = 250 75 60;
Y( 1, 1) 0.000000 61.25000
Q = 4 7 12;
Y( 1, 2) 1.000000 0.000000
prob = 0.35 0.45 0.2; Y( 1, 3) 1.950000 0.000000
X = 2 3 1.95 Y( 2, 1) 0.000000 112.5000
Y( 2, 2) 0.000000 33.75000
enddata
Y( 2, 3) 0.000000 27.00000
Y( 3, 1) 0.000000 50.00000
Max = @sum(clientes(i):Ing(i)*X(i))- Y( 3, 2) 0.000000 15.00000
Y( 3, 3) 0.000000 12.00000
@sum(EscCliente(k,i):prob(k)*@sum(Clientes(i):pen(i)*Y(k,i)));
@for(Clientes(i):X(i)<=dda(i));
@for(Escenarios(k):@sum(Clientes(i):X(i)-Y(k,i))<=Q(k));
@for(EscCliente(k,i):Y(k,i)<=X(i));
end
42
Valor de la Información Perfecta: EVPI
Para calcular el Valor Esperado de la Información
Perfecta (EVPI) se debe calcular primero el Valor
(Ganancia) Esperado con Información Perfecta (EVwPI).

Como en este caso la decisión se toma después de


conocer la realización de las variables aleatorias, el
problema consiste en resolver un problema similar al CLP
(o problema de primera etapa) para cada posible
escenario en lugar de un escenario medio.

Posteriormente se obtiene el valor esperado de la


ganancia ponderando los valores obtenidos por la
probabilidad de los escenarios.
43
Valor de la Información Perfecta: EVPI
Resolver el problema determinista para cada escenario:
Para Q=4: Para Q=7: Para Q=12:
Max 100x1+ 50x2+ 30x3 Max 100x1+ 50x2+ 30x3 Max 100x1+ 50x2+ 30x3
s.a x1 + x2 + x3 <= 4 s.a x1 + x2 + x3 <= 7 s.a x1 + x2 + x3 <= 12
0 <= x1 <= 2 0 <= x1 <= 2 0 <= x1 <= 2
0 <= x2 <= 3 0 <= x2 <= 3 0 <= x2 <= 3
0 <= x3 <= 5 0 <= x3 <= 5 0 <= x3 <= 5
Cuya solución es Cuya solución es Cuya solución es
(x1,x2,x3) = (2,2,0), con (x1,x2,x3) = (2,3,2), con (x1,x2,x3) = (2,3,5), con
valor 300. valor 410. valor 500.

Lo cual da una ganancia esperada con información perfecta


de 300*0.35 + 410*0.45 + 500*0.20 = 389.5 (EVwPI)
Se define*: EVPI = EVwPI– ZDELP
Para este problema el Valor de la Información Perfecta
EVPI = 389,5 – 341,75 = 47.75
44 * Para un problema de máximo.
Cálculo directo del EVwPI
En lugar de resolver los K problemas de primera etapa para
obtener el EVwPI, se puede formular un solo problema que
permita obtener directamente dicho valor. Para eso se puede
aprovechar la formulación del DELP haciendo los siguientes
cambios :
- Definir todas las variables de primera etapa como si fueran
de segunda etapa. Es decir, a cada variable de primera etapa
se le debe agregar el subíndice que corresponde al escenario.
- En la función objetivo, poner los términos de primera etapa
dentro de la sumatoria sobre los escenarios.
- Replicar las restricciones de primera etapa para cada
escenario.
- Eliminar (o fijar a cero) todas las variables de penalización de
segunda etapa (tanto en las restricciones como en la función
objetivo)*.
* Nota: este cambio no es obligatorio, las variables se pueden mantener.
45
LINGO Cálculo directo del EVwPI
model:
SETS: Global optimal solution found.
Clientes /1..3/: dda, ing, pen; Objective value: 389.5000 (EVwPI)
Escenarios /1..3/: prob, Q; Infeasibilities: 0.000000
EscCliente (Escenarios,Clientes): X; Total solver iterations: 9
endsets
DATA:
dda = 2 3 5; Variable Value Reduced Cost
ing = 100 50 30; X( 1, 1) 2.000000 0.000000
pen = 250 75 60;
X( 1, 2) 2.000000 0.000000
X( 1, 3) 0.000000 7.000000
Q = 4 7 12;
X( 2, 1) 2.000000 0.000000
prob = 0.35 0.45 0.2;
X( 2, 2) 3.000000 0.000000
enddata
X( 2, 3) 2.000000 0.000000
X( 3, 1) 2.000000 0.000000
Max = X( 3, 2) 3.000000 0.000000
@sum(EscCliente(k,i):prob(k)*@sum(clientes(i):Ing(i)*X(k,i)));
X( 3, 3) 5.000000 0.000000
@for(EscCliente(k,i):X(k,i)<=dda(i));
@for(Escenarios(k):@sum(Clientes(i):X(k,i))<=Q(k));
!@for(EscCliente(k,i):Y(k,i)<=X(k,i));
end

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

También podría gustarte