Guia - U

Anuncio
Gestión de
Operaciones II
IN4704
Profesor: Fernando Ordoñez P.
Auxiliar: Felipe Lagos G.
Semestre: Otoño 2012
IN4704 - Gestión de Operaciones II
1.
Métodos para programación entera
Cortes de gomory
Sea x∗ una solución óptima factible y B su matriz asociada. Se particiona x en un vector
para las variables básicas, xB , y uno para las no básicas, xN .
Ax = b
B−1 Ax = B−1 b
xB + B−1 AN xN = B−1 b
Sea āij = (B−1 Aj )i y āi0 = (B−1 b)i . Consideremos una ecuación donde āi0 es fracción:
xi +
∑ āij x j = āi0
j∈ N
Como x j debe ser entero se debe cumplir que:
xi +
∑ bāij cx j ≤ bāi0 c
j∈ N
puesto que en el óptimo xi∗ = āi0 , x ∗j = 0 para todo j ∈ J no básico y b āi0 c < āi0 .
Agregando estas restricciones sistemáticamente se logra resolver el problema de programación entera.
Branch and bound
Branch and bound usa un enfoque "dividir y conquistar"para explorar un conjunto
factible de soluciones enteras. Para no revisar todo el junto, utiliza cotas del óptimo para
descartar conjuntos.
Consideremos un conjunto F factible para el siguiente problema
mı́n c0 x
s.t. x ∈ F
Si dividimos F en un conjunto finito de subconjuntos, Fi con i = 1, ..., k y se resuelven
separadamente cada uno
mı́n c0 x
s.t. x ∈ Fi i = 1, ..., k
2
IN4704 - Gestión de Operaciones II
Entonces comparamos el óptimo de la solucion para cada subproblema y elegimos el
mejor. Cada subproblema se supone que es tan complejo como el inicial, teniendo que ser
resueltos con el mismo método. Cada subproblema puede generar más subproblemas.
Además se asume que se tiene un algoritmo relativamente eficiente, el cual para cada
Fi calcula la cota inferior, b( Fi )
b( Fi ) ≤ mı́n c0 x
x∈ Fi
La idea básica es que mientras el costo óptimo puede que sea difícil de calcular exactamente, la cota inferior debería ser fácil de obtener.
El método más conocido para encontrar una cota inferior del problema, es la relajación
lineal.
Además, para descartar conjuntos es necesario comparar los óptimo con un óptimo
factible, U. En efecto, si para algún i se cumple que b( Fi ) ≥ U, este subproblema no debe
seguir siendo considerado, pues la mejor solución que puede entregar este subconjunto
nunca va a ser mejor que la que ya tenemos.
Inicialmente U es algún costo factible conocido para el problema o simplemente ∞. El
algoritmo funciona de la siguiente forma:
1. Seleccionar un subconjunto activo de Fi .
2. Si el subproblema es infactible, se debe borrar; en caso contrario, calcular b( Fi ) correspondiente.
3. Si b( Fi ) ≥ U, borrar el subproblema.
4. Si b( Fi ) < U, se puede tanto obtener una solución óptima del subproblema, como
dividir este problema en sus subproblemas, los cuales son añadidos a la lista de
subproblemas activos.
Existen muchas variantes de este algoritmo. Algunas consideraciones son:
(a) Existen muchas formas de elegir el subproblema activo. Se puede usar "Búsqueda
por nivel.o "Búsqueda por profundidad".
(b) Se puede obtener la cota inferior de varias maneras. La más popular es la relación
lineal.
(c) Para dividir un subproblema se pueden usar varios métodos
Si para encontrar la cota inferior del problema usamos la relajación lineal, sabemos
que al momento de encontrar una solución con valores enteros, se debe actualizar U y
podemos borrar el subproblema. Si encontramos una solución no entera, x∗ , elegimos una
componente no entera xi∗ y creamos dos subproblemas, con las siguientes restricciones:
3
IN4704 - Gestión de Operaciones II
xi ≥ b xi∗ c,
o
xi ≥ d xi∗ e
A pesar de que Branch & Bound puede tomar un tiempo exponencial en encontrar una
solución, produce soluciones aceptables en un tiempo pequeño.
Pregunta 1
Se debe decidir que objetos llevar a un paseo a la playa, los cuales se deben transportar
en un bolso de capacidad total de 150 unidades de volumen. Cada uno de estos objetos
reporta una utilidad por llevarlos, pero también tienen un costo en volumen. Las cosas
que puede llevar son: un Quitasol, 6 Parlantes, 3 Toallas y un Notebook.
Índice
1
2
3
4
Objeto
Quitasol
Parlantes
Toallas
Notebook
Cantidad
1
6
3
1
Utilidad
40
5
15
25
Espacio
90
20
10
40
Determine la máxima utilidad posible, sin sobrepasar la capacidad del bolso.
1. Escriba la Rejación Lineal del problema.
2. ¿Existe alguna forma simple de obtener la solución óptima del problema relajado,
sin realizar ningún algoritmo?, ¿Cómo es? Resuelva mediante este método el problema.
3. Resuelva el problema utilizando el algoritmo Branch & Bound, resolviendo cada nodo mediante el método desarrollado en la parte anterior.
Solución
1. La Relajación Lineal del problema es:
máx z = 40x1 + 5x2 + 15x3 + 25x4
s.a.
90x1 + 20x2 + 10x3 + 40x4 ≤ 150
x2 ≤ 6
x3 ≤ 3
x1 , x2 ∈ [0, 1]
x2 , x3 ∈ R0+
4
IN4704 - Gestión de Operaciones II
2. La forma más sencilla de resolver el problema es rankear los objetos según la razón
Beneficio-Capacidad, que en este caso es la razón Utilidad-Espacio.
Índice
1
2
3
4
Objeto
Quitasol
Parlantes
Toallas
Notebook
Cantidad
1
6
3
1
Utilidad
40
5
15
25
Espacio
90
20
10
40
Razón
0.44
0.25
1.5
0.63
Luego se llevan en primer lugar todos las Toallas que se puedan, es decir, 3, utilizando 30 unidades de volumen. En segundo lugar se agrega el Notebook, con lo
que solo quedan 80 unidades de volumen. Luego se agrega el Quitasol pero como
no cabe entero, se agregan 8/9 de este objeto, para satisfacer la restricción de capacidad. Con esto queda la siguiente solución:
x1 = 8/9, x2 = 0, x3 = 3 x4 = 1
3. Se inicializa el incumbente (mejor solución entera encontrada hasta ahora) en z̄ =
−∞.
Observaciones:
Las variables xi son binarias, por lo tanto alramificar hay solo dos opciones. En
general para variables enteras se ramifica utilizando desigualdades.
Llamamos solución entera a aquella en la cual TODAS las variables toman valores enteros.
Los 3 criterios para dejar de ramificar son: Solución entera, Solución peor que
el incumbente y Solución Infactible.
En este caso de haber resuelto P6 antes que P3 no habría sido necesario resolver P4 ni P5 ya que P3 hubiese caído en el criterio ”Solución peor que el
incumbente”.
Pregunta 2
Considere el siguiente problema de programación entera:
5
IN4704 - Gestión de Operaciones II
P0
x1 = 8/9
x2 = 0
z = 105.5
x3 = 3
x4 = 1
x1 = 0
P1
x1 = 0
x2 = 4
x1 = 1
z = 90
x3 = 3
x4 = 1
P2
x1 = 1
x2 = 0
Sol. Entera
x4 = 0
P3
x1 = 1
x2 = 3/2
x4 = 1
z = 92.5
x3 = 3
x4 = 0
x2 ≤ 1
P4
x1 = 1
x2 = 1
z = 103.8
x3 = 3
x4 = 3/4
P6
x1 = 1
x2 = 0
Sol. Entera
x2 ≥ 2
z = 90
x3 = 3
x4 = 0
P5
x1 = 1
x2 = 2
Sol. Entera
z = 95
x3 = 2
x4 = 1
z = 80
x3 = 2
x4 = 0
Sol. Entera
Peor que incumbente
Figura 1: Branch and Bound para la Pregunta 1
mı́n x1 − 2x2
s.a.
− 4x1 + 6x2 ≤ 9
x1 + x2 ≤ 4
x1 , x2 ≥ 0
x1 , x2 enteros
1. Resuelvalo usando Cortes de Gomory.
2. Resuelvalo usando Branch & Bound.
Solución
6
IN4704 - Gestión de Operaciones II
1. Se comienza transformando el problema a su forma estándar:
mı́n x1
−2x2
s.a. −4x1 +6x2 + x3
=9
x1
+ x2
+ x4 = 4
x1 , ..., x4 ≥ 0
x1 , ..., x4 enteros
Se resuelve relajando linealmente el problema con lo que se obtiene un óptimo x1 =
(15/10, 25/10). La ecuación que se obtiene de juntar las primeras dos igualdades es:
x2 +
1
4
25
x3 + x4 =
10
10
10
Tomando parte entera a esta ecuación y usando las condiciones de corte, se obtiene
la siguiente desigualdad:
x2 ≤ 2
En su forma estándar, se debe agregar la variable x5 ≥ 0 y la restricción x2 + x5 = 2.
El nuevo óptimo, con esta restricción es x2 = (3/4, 2).
Tomemos la desigualdad recién agregada y −4x1 + 6x2 + x3 = 9. Sacando x2 se llega
a:
6
3
1
x1 − x3 + x5 =
4
4
4
Nuevamente tomando parte entera y cosiderando los cortes de Gomory:
x1 − x3 + x5 ≤ 0
Lo cual si dejamos en función de x1 y x2 es simplmente:
−3x1 + 5x2 ≤ 7
Con esta nueva restricción se llega finalmente al óptimo buscado: x3 = (1, 2).
7
IN4704 - Gestión de Operaciones II
2. Iniciamos el incumente en z̄ = ∞. Resolviendo la relajación lineal se obtiene x1 =
(1.5, 2.5). La función objetivo correspondiente es z = −3.5.
Con esto, se generan dos subproblemas, uno con la restricción z2 ≥ 3 (subproblema
F1 ) y x2 ≤ 2 (subproblema F2 ). F1 es infactible por lo que se saca de la lista. La
solución óptima de F2 es x2 = (3/4, 2), lo que genera un z = −3.25. Nuevamente se
generan dos restricciones y dos subproblemas, x1 ≥ 1 (F3 ) y x1 ≤ 0 (F4 ), por lo que la
lista de problemas a resolver consiste en { F3 , F4 }. El problema F3 tiene como solución
x3 = (1, 2), el cual es entero y por lo tanto actualizamos el incumbente. z̄ = −3.
Sacamos F3 de la lista y vemos F4 . EL óptimo de este problema es x4 = (0, 3/2) y su
z = −3. Dado que z ≥ U, no exploramos F4 y ya no quedan problemas por resolver.
La solución final es x3 = (1, 2)
x2
x2
−3x1 + 5x2 ≤ 7
x
x2
x
1
x
3
x2
x2 ≤ 2
1
x3
x2 ≥ 3
x2 ≤ 2
x1 ≥ 1
x1 ≤ 0
x1
(a)
x1
(b)
Figura 2: En (a) restricciones generadas por Cortes de Gomory, en (b) por Branch & Bound
8
IN4704 - Gestión de Operaciones II
2.
Revenue Management
El problema que se estudia es revenue management para un único recurso basado
en la cantidad, y donde se debe administrar diferentes clases de demandas. Existen dos
ejemplos clásicos en que se aplica: un vuelo sin escalas y reserva de habitaciones para una
fecha determinada.
Vamos a asumir que existe una capacidad para n distintas clases, las cuales son perfectamente segmentadas. Además, asumiremos que las unidades de capacidad son homogéneas y que cada cliente utiliza un cupo. El problema principal es cómo reservar
óptimamente este recurso para la demanda.
Existen distintos mecanismos para controlar la disponibilidad. Algunos son:
Booking Limits: Es una forma de controlar la disponibilidad a través de la capacidad para una clase en algún momento del tiempo. Este control puede ser particionado
o anidado. El particionado divide la capacidad disponible en bloques separados y solo pueden ser vendidos a la clase asignada. Esto significa que no importa si queda
disponibilidad en otras clases cuando la una de ellas ya esta copada, igual no se
venderá un cupo más.
Con el control anidado, la capacidad disponible a diferentes clases sí puede superponerse, pero de una forma jerárquica según las clases. Supongamos que b j es el
límite anidado. Entonces b j es el número máximo de capacidad que está disponible
para las clases j, j + 1, ..., n.
Este método evita el problema de capacidad para las clases superiores cuando quedan
unidades en clases "menores".
Niveles de protección: Es muy parecido a booking limits solo que este caso se define
y j como la cantidad reservada para las clases j, j − 1, ..., 1 combinada. La relación con
bj ,
b j = C − y j −1
j = 2, ..., n
donde C es la capacidad. Por conveniencia definimos b1 = C y yn = C.
Standard versus theft nesting: El proceso estándar para usar booking limits o niveles de protección es el siguiente. Se comienza con C unidades de capacidad y se
comienzan a recibir reservas. Se acepta la reserva de la clase j si (1) existe capacidad
disponible, (2) el número total de de pedidos aceptados por la clase j hasta el momento es menor que el límite b j o la capacidad restante es mayor o igual a y j−1 para
las clases mayores que j.
Otra alternativa es theft nesting. Este proceso no solo reduce disponibilidad para la
clase j, sino también roba"disponibilidad a todas las demás clases menores, en este
caso j + 1, j + 2, ..., n.
9
IN4704 - Gestión de Operaciones II
Bid prices: Lo que distingue bid-prices de booking limits y niveles de protección
es que bid-price está basado en los ingresos esperados, en vez de los controles por
clases. Este sistema de control establece un precio umbral (el que puede depender
de la capacidad remanente, tiempo, etc), con el cual se acepta una venta siempre y
cuando supere este umbral. Este sistema puede ser más simple que los otros dos,
puesto que lo único que requeriere en un momento determinado es un precio umbral, en vez de un conjunto de capacidades para las clases.
Generalmente se establece una función π ( x ), donde x es la capacidad restante.
Además, se puede considerar el tiempo como criterio para definir un precio.
Para exponer algunos modelos se asumen ciertos supuestos:
1. La demanda para diferentes clases llega en intervalos que no se superponen en el
tiempo.
2. La demanda son variables aleatorias independientes.
3. La demanda no depende de la capacidad restante.
4. Se asume que la demanda llega de forma agregada en una sola etapa, y la decisión
es cuántos clientes aceptar.
5. No existen grupos de clientes que aceptar.
6. Se asume un modelo neutro al riesgo.
Modelo para dos clases de Littlewood
Se asume un solo recurso y dos clases con precios p1 > p2 . La capacidad es C y no
hay cancelaciones ni sobreventa. La demanda de la clase j es D j , la distribución se denota
por Fj (·). La demanda por la clase dos llega primero. El problema es cuánto vender a esta
clase antes de que llegue la clase 1.
Este problema es muy similar al problema de Newsvendor problem ya que la decisión
se debe tomar en base a un análisis marginal. Supongamos que tenemos x unidades de
capacidad restantes y que recibimos una reserva de la clase 2. Si aceptamos la reserva
recolectamos p2 . Si no la aceptamos, venderemos la unidad x-ésima solo si la demanda
de la clase 1 es igual o mayor a x, es decir, D1 ≥ x. Por lo tanto, la ganancia esperada
por reservar la x-ésima unidad a la clase 1 (el valor marginal esperado) es p1 P( D1 ≥ x ).
Aceptaremos vender la unidad a 2 si el precio p2 excede este valor marginal,
p2 ≥ p1 P( D1 ≥ x )
Se debe notar que el lado derecho es decreciente en x, por lo tanto existe un nivel y∗j , tal
que aceptaremos la clase 2 si la capacidad restante sobrepasa este nivel. En otras palabras
se cumple que:
p2 < p1 P( D1 ≥ y1∗ )
y
p2 ≥ p1 P( D1 ≥ y1∗ + 1)
10
IN4704 - Gestión de Operaciones II
Si la función de distribución F1 ( x ) es continua, entonces,
p2 = p1 P( D1 > y1∗ )
o, equivalentemente,
y1∗
=F
−1
p2
1−
p1
Esta expresión se conoce como regla de Littlewood, y es óptimo para y1∗ .
Alternativamente, usando bid-price,
π ( x ) = p1 P( D1 > x )
Este resultado es un caso especial para el modelo de n clases.
Modelo para n clases
Nuevamente se asume que las n clases llegan en n etapas, ordenadas según los valores
de venta. Se cumple que p1 > p2 > · · · > pn . Por lo tanto, la primera en llegar es la
clase n, seguida por n − 1, así hasta que lleguen todas. Con estos supuestos se plantea un
problema de programación dinámica, el cual en el caso de demanda continua, se puede
encontrar el óptimo. El vector y∗ = (y1∗ , y2∗ , ..., y∗n ), cumple que
P( Bj (y∗ , D )) =
p j +1
p1
∀j
donde
Bj (y, D ) ≡ { D1 > y1 , D1 + D2 > y2 , ..., D1 + · · · + D j > y j }
Como se mencionó anteriormente para n = 2, recuperamos la regla de Littlewood.
Cabe destacar que
Bj (y, D ) = Bj−1 (y, D ) ∩ { D1 + · · · + D j > y j }
por lo que es necesario que se cumpla Bj−1 (y, D ) para que se cumpla Bj (y, D ).
Este problema se puede resolver según dos enfoques, programación dinámica o Monte
carlo.
El algoritmo se puede representar en seudocódigo de la siguiente forma:
11
IN4704 - Gestión de Operaciones II
Algorithm 1: Monte carlo para RM
1
2
3
4
5
6
7
8
9
10
11
12
Generar y guardar K vectores de demanda aleatorios dk = (d1k , ..., dkn )
k = 1, j = 1
while k ≤ K y j ≤ n − 1 do
Calcular la suma: Skj = d1k + d2k + ... + dkj
Formar el vector Sk = (S1k , ..., Snk )
Inicializamos el conjunto K 0 = {1, ..., K } y j = 1
while j ≤ n − 1 do
Ordenar los vectores Sk , k ∈ K 0 por la j-ésima componente, Skj
0
Se llamará [l ] al l-ésimo elemento
de
j
k K en esta lista ordenada
Buscamos el índice l ∗ =
p j +1
pj
[l ∗ ]
· |K 0 | y calculamos y j = 21 (S j
[ l ∗ +1]
+ Sj
)
Actualizamos K 0 , esto es, quitando los valores tales que Skj < y j
j=j+1
Para encontrar intervalos de confianza para estos parámetros debemos hacer esta simulación varias veces, con datos distintos generados a partir de las distribuciones.
Heurísticas
La mayoría de los sistemas implementados para encontrar los límites de venta, utilizan heurísticas para ello. Tienen varias ventajas como códigos simples de utilizar, son
de rápida ejecución y obtienen valores muy cercanos al óptimo. Existen dos conocidas
heurísticas: EMSR-a y EMSR-b, las cuales se adaptan a los supuestos mencionados anteriormente.
EMSR-a
Es la heurística más utilizada, a pesar de que EMSR-b obtiene mejores resultados.
Está basada en la idea de aplicar la regla de Littlewood sucesivamente a pares de
clases. Consideremos la etapa j + 1 en que la j + 1-ésima clase llega, con el precio p j+1 .
Intentamos calcular cuánto se debe reservar a las demás clases j, j − 1, ..., 1, es decir, encontrar y j para la clase j y mayores. Para ello, consideremos una clase k y las restantes
clases j, j − 1, ..., 1 y comparemos k con j + 1 de forma aislada. Usando la regla de Littlej +1
wood y la cantidad yk (correspondiente a la cantidad que le reserva j + 1 a k) se cumple
que,
p j +1
j +1
P ( Dk > y k ) =
pk
Repitiendo para cada clase k = j, j − 1, ..., 1, se consigue encontrar cuál es la capacidad
que tienen disponibles las clases j, j − 1, ..., 1 simplemente sumando,
j
yj =
∑ yk
j +1
k =1
12
IN4704 - Gestión de Operaciones II
Durante un tiempo se pensó incluso que este era un óptimo, pero tiempo después se
comprobó que no era así. En efecto, esta heurística tiene el problema de ser demasiado
conservadora, ya que no considera el efecto de la demanda agregada. Esto quiere decir
que arroja malos resultados cuando los precios de las demandas futuras son muy parecidos. Por ejemplo, para j + 1 supongamos que p j = p j−1 = · · · = p1 = p, en vez de
considerar estas j clases como una sola, realiza el cálculo para cada una, por lo que y j será
mayor de lo que debería.
EMSR-b
Es una alternativa que intenta evitar el efecto agregado de EMSR-a. Este método también utiliza Littlewood para dos clases, pero lo hace agregando la demanda por niveles.
Además, usa el precio de venta ponderado según la esperanza de la demanda de cada
una de las demandas futuras.
Consideremos la etapa j + 1 en la cual queremos determinar el nivel de protección y j .
Definamos la demanda agregada de j como
j
Sj =
∑ Dk
k =1
y el precio ponderado, p̄ j , como
j
p̄ j =
∑ k = 1 p k E ( Dk )
j
∑ k = 1 E ( Dk )
Lo niveles y j se elijen usando la siguiente ecuación:
P(S j > y j ) =
p j +1
p̄ j
Pregunta 1
Considere cuatro clases con una demanda normalmente distribuida y con precios de
venta que aparecen en la siguiente Tabla:
j
1
2
3
4
pj
1050
567
534
520
Datos demanda
µj
σj
17.3
5.8
45.1
15
39.6
13.2
34
11.3
Cuadro 1: Modelo estático de un solo recurso
13
IN4704 - Gestión de Operaciones II
Encuentre los niveles y j a reservar usando EMSR-a, EMSR-b y el óptimo a través de
simulación.
Solución
Comencemos con EMSR-a:
p2
2
−
1
1 − p1 σ1 . Al reemplazar se obtiene
Para y1 , se cumple que y1 = y1 = µ1 + φ
y1 = 16.71, lo cual corresponde a la cantidad reservada exclusivamente para la clase 1.
Para la clase 2 el cálculo es el siguiente:
p3
3
−1
σ1
y1 = µ1 + φ
1−
p1
= 17.1
p3
3
−1
σ2
y2 = µ2 + φ
1−
p2
= 21.5
y2 = y31 + y32 = 38.7
Finalmente para la clase 3,
y41
= µ1 + φ
−1
p
1− 4
p1
p
1− 4
p2
p
1− 4
p3
σ1
= 17.4
y42
= µ2 + φ
−1
σ2
= 24.3
y43
= µ3 + φ
−1
σ3
= 13.99
y3 = y41 + y42 + y43 = 55.68
Usando EMSR-b, se consiguien los siguientes y j :
Para la clase 1 es el mismo cálculo que en EMSR-a, por lo tanto, y1 = 16.71.
Para la clase 2,
q
p3 · ( µ1 + µ2 )
−1
2
2
1−
y2 = µ1 + µ2 + σ1 + σ2 · φ
µ1 p1 + µ2 p2
= 50.94
mientras que para la 3,
y3 = µ1 + µ2 + µ3 +
q
σ12
+ σ22
+ σ12
·φ
−1
p · ( µ1 + µ2 + µ3 )
1− 4
µ1 p1 + µ2 p2 + µ3 p3
= 83.15
14
IN4704 - Gestión de Operaciones II
La tabla de resumen es la siguiente:
Niveles de protección
j
1
2
3
4
OPT
16.71
42.5
72.3
EMSR-a
16.71
38.7
55.6
EMSR-a
16.71
50.9
83.1
Cuadro 2: Tabla resumen niveles obtenidos
Pregunta 2
Suponga que quedan 3 asientos por vender en un vuelo que pueden ser vendidos a
precio completo por US$1.000 o a precio descontado por US$400. Suponga además que la
probabilidad que lleguen 0, 1, o 2 clientes que compran a precio completo es 0.1, 0.25, y
0.35, respectivamente. Utilice la regla de Littlewood para decidir si se vende el pasaje si
el siguiente cliente quiere comprar a precio descontado.
¿Qué dificultades se enfrenta cuando uno trata de implementar la regla de Littlewood
en la práctica?
Solución
Sea pk la probabilidad de que al menos lleguen k clientes a comprar a precio completo.
Se tiene que: p0 = 1, p1 = 0.9, p2 = 0.65 y p3 = 0.3 (pi = 0, ∀i ≥ 4).
Se debe buscar k∗ tal que:
máx 1000pk ≥ 400
k
Lo que se cumple con k∗ = 2. Esto quiere decir que se deben reservar dos de los tres
asientos que quedan, por lo tanto se le vende el asiento al cliente con precio descontado.
Esta regla presenta algunos problemas tales como:
Se debe conocer la demanda y la probabilidad de que llegue una cierta cantidad de
clientes.
Es óptimo para 2 precios y es útil para condiciones simples. Para varios precios y
demandas puede que no sea tan claro aplicar esta regla.
15
IN4704 - Gestión de Operaciones II
Son problemas que por lo general dependen del tiempo y por lo tanto son dinámicos
y requieren que la solución se vaya actualizando.
Pregunta 3
Se desea simular el efecto de un sistema de RM en la venta de entradas a un cine (Joik)
con capacidad C. En este sistema los clientes pueden comprar entradas para un show
desde 14 hasta 1 dia antes de la función con un descuento o en el momento de la función
a precio completo.
Suponga que conoce p(i, q), la probabilidad que al menos i personas aparezcan a comprar entradas al momento de la función, si q entradas se han vendido con descuento. Note
que p(0, q) = 1 para todo q ∈ {0, . . . , C } y suponga que estas funciones son constantes
durante las 2 semanas.
1. Utilize Littlewood para definir cuantas entradas reservar para precio completo si el
precio de descuento por internet tiene un 50 % de descuento y se han vendido 10
entradas con descuento. Respuesta en función de p(i, q).
2. Deseamos hacer una simulación del período de venta de entradas. Suponga que el
tiempo entre clientes en internet sigue una distribución exponencial con tasa λd que
depende del dia d. ¿Cuáles son las variables de estado, eventos y los estadísticos de
interes en una simulación con incrementos variables de tiempo?
Solución
1. Si el precio completo es c, Littlewood dice que se vende con descuento si cp(i, 10) <
.5c, es decir si p(i, 10) < 0.5. El número de asientos que se debería guardar para precio completo entonces es el mayor i tal que p(i, 10) ≥ 0.5. Note que por su definición
p(i, 10) es decreciente en i.
2.
variables de estado: q número de asientos vendidos, d el día de la simulacíon.
Eventos: 1. la llegada de un cliente a comprar en internet. Seguido del cálculo
de la cantidad de asientos que se reservan para precio completo. 2. Cambio de
dia, pues cambia la tasa de llegada. 3. El día de la función: generar llegadas de
clientes a tiempo completo.
estadístico de interés son los ingresos por entradas. También para medir la calidad de servicio puede ser en número de clientes con precio entero y de internet
que no pueden comprar entrada.
Pregunta 4
16
IN4704 - Gestión de Operaciones II
MegaRed es un canal de televisión que cada tarde tiene 25 espacios publicitarios de
30 segundos. Suponga que estamos en marzo y que la empresa se encuentra vendiendo
por adelantado publicidad para los primeros días de julio, siendo el valor cada espacio
de 30 segundos igual a $USD 4,000. No obstante, se sabe que el 9 de julio habrá un evento
deportivo muy importante y que el canal podría llegar a vender a último minuto espacios
publicitarios a prestigiosas empresas deportivas por un precio de $USD 10,000 cada uno.
Teniendo en cuenta los antecedentes proporcionados responda:
1. ¿Cuántos espacios publicitarios debería el canal vender en forma anticipada? Suponga que un espacio publicitario que no se vende vale 0.
2. Ahora suponga que si un espacio publicitario no es vendido anticipadamente o a
último minuto puede ser utilizado para promocionar programas del canal, siendo
valorado en $USD 2,500. ¿Cómo cambia su respuesta a la pregunta anterior?
Utilice la siguiente distribución de probabilidad para las ventas de último minuto:
Demanda [unids.]
Probabilidad
8
.0
9
.05
10
.1
11
.15
12
.2
13
.1
14
.1
15
.1
16
.1
17
.05
18
.05
19
.0
Cuadro 3: Distribución de probabilidad de la demanda
Solución
1. Para determinar la cantidad de espacios publicitarios se debe conocer la Pr ( D ≥ k ),
∀k. Sea pk la probabilidad de que al menos lleguen k empresas.
k
pk
8
1
9
1
10
.95
11
.85
12
.7
13
.5
14
.4
15
.3
16
.2
17
.1
18
.0.5
19
.0
Cuadro 4: Valores de pk para cada k
Se busca la cantidad k∗ tal que
4.000 ≥ 10.000Pr ( D ≥ k∗ + 1)
4.000 < 10.000Pr ( D ≥ k∗ )
Lo que se cumple con k∗ = 13.
2. En este caso tenemos un precio de salvataje de $USD 2,500. En este caso esperaríamos que la cantidad reservada para empresas deportivas sea mayor. Si se vende
a precio anticipado, el ingreso extra que se genera es de $USD1,500, y si se espera a
último minuto, en caso de ser vendido, se obtienen $USD7,500.
17
IN4704 - Gestión de Operaciones II
El problema entonces:
1.500 ≥ 7.500Pr ( D ≥ k∗ + 1)
1.500 < 7.500Pr ( D ≥ k∗ )
La cantidad a reservar es k∗ = 15.
Pregunta 5
Considere cuatro clases con una demanda normalmente distribuida y con precios de
venta que aparecen en la siguiente Tabla:
k
1
2
3
pk
40
20
5
Datos demanda
µk
σk
5.6
1.2
18.6
7.9
41.7
15.4
Cuadro 5: Modelo estático de un solo recurso
1. Encuentre los niveles y j a reservar usando EMSR-a, EMSR-b.
2. Encuentre el óptimo usando datos simulados.
Solución
1. Comencemos con EMSR-a:
p
Para y1 , se cumple que y1 = y21 = µ1 + φ−1 1 − p21 σ1 . Al reemplazar se obtiene
y1 = 5.6, lo cual corresponde a la cantidad reservada exclusivamente para la clase
1.
Para la clase 2 el cálculo es el siguiente:
y31
= µ1 + φ
−1
p3
1−
p1
p3
1−
p2
σ1
= 6.98
y32
= µ2 + φ
−1
σ2
= 23.9
y2 = y31 + y32 = 30.9
Usando EMSR-b, se consiguien los siguientes y j :
18
IN4704 - Gestión de Operaciones II
Para la clase 1 es el mismo cálculo que en EMSR-a, por lo tanto, y1 = 5.6.
Para la clase 2,
y2 = µ1 + µ2 +
q
σ12
+ σ22
·φ
−1
p3 · ( µ1 + µ2 )
1−
µ1 p1 + µ2 p2
= 30.8
2. El modelo para n clases nos dice que se deben cumplir las siguientes igualdades:
Pr ( D1 > y1 ) =
p2
p1
Pr ( D1 > y1 , D1 + D2 > y2 ) =
p3
p1
La primera igualdad es simplemente la regla de Littlewood, mientras que la segunda la podemos reescribir como:
Pr ( D1 > y1 , D1 + D2 > y2 ) =
p3
p1
⇐⇒
Pr ( D1 + D2 > y2 | D1 > y1 ) Pr ( D1 > y1 ) =
⇐⇒
Pr ( D1 + D2 > y2 | D1 > y1 ) =
p3
p1
p
p3
= 3
p1 Pr ( D1 > y1 )
p2
Esta última condición lo que nos dice es tenemos que encontrar un y2 tal que dado
p
que D1 > y1 , el número de veces que D1 + D2 > y2 debe ser igual a p23 .
Se generaron 100 valores de demanda para D1 y D2 , a partir de los parámetros de
las distribuciones. En el gráfico 3 estos valores están graficados. En el eje horizontal
está el valor de S1 = D1 y en el vertical, S2 = D1 + D2 .
p
Primero buscamos el valor de y1∗ . Para ello, debemos usar el ratio p21 = 0.5. Esto
quiere decir que tenemos que encontrar el valor de S1 que está en la mitad de los
datos y asignárselo a y1∗ , para que así Pr ( D1 > y1 ) = 0.5. Ordenamos los datos y
tomamos el que está entre el 50 y el 51, y los promediamos. Con esto obtenemos
y1∗ = 5.94.
Una vez que tenemos este número, calculamos y2 . La condición nos dice que hay
que utilizar solo los S2 tales que D1 > y1 , por lo tanto, solo nos quedamos con los
datos a la derecha de y1∗ , es decir, con 50 números.
p
El ratio p23 = 0.25 nos dice que debemos escoger el y2 tal que solo un 25 % de los S2
queden fuera, una vez que los hemos ordenado. Como tenemos 50 datos, buscamos
19
IN4704 - Gestión de Operaciones II
y1∗
40
37
34
y2∗
S2
31
28
25
22
19
16
13
3
4
5
6
7
8
9
S1
Figura 3: Gráfico con los valores de demanda simulados y los yi óptimos
k
j
p
el valor en la posición l ∗ = p32 · N = b12.5c = 12, y l ∗ + 1 = 13, y los promediamos. Esto nos da y2∗ = 30.2.
Pregunta 6
Suponga que una cadena de hoteles nos ha pedido que le ayudemos con sus políticas de reservas en una fecha determinada. Vamos a tomar en cuenta que solo existen 3
clases de clientes, 1, 2 y 3, con precios a pagar distintos y distribuciones de demanda con
parámetros diferentes. Para este problema supondremos que las demandas son variables
aleatorias uniformes.
La siguiente tabla resume los parámetros del problema:
clase
1
2
3
precio
10
5
1
distribución
U (0, 10)
U (0, 50)
U (40, 100)
Cuadro 6: Parámetros para el problema de hoteles
Encuentre los niveles y∗ para cada clase, usando el criterio que permite obtener el
óptimo del problema.
20
IN4704 - Gestión de Operaciones II
Solución
Los y∗ deben satisfacer las siguientes igualdades:
Pr ( D1 > y1 ) =
p2
p1
Pr ( D1 > y1 , D1 + D2 > y2 ) =
p3
p1
La última igualdad la podemos reescribir como:
Pr ( D1 + D2 > y2 | D1 > y1 ) =
p3
p2
Comenzamos calculando y1∗ :
Pr ( D1 > y1∗ ) = 0.5
Z 10
1
y1∗
10
dx = 0.5
1
(10 − y1∗ ) = 0.5
10
y1∗ = 5
Con este valor claro, ahora debemos calcular y2∗ :
Pr ( D1 + D2 > y2∗ | D1 > 5) = 0.2
Z 10
5
Pr ( x + D2 > y2∗ )
Z 10 Z 50
5
y2∗ − x
Z 10
1
dx
= 0.2
10
dy dx
= 0.2
50 10
dx
= 0.2
10
5 50
1
102 − 52
∗
(50 − y2 )(10 − 5) +
= 0.2
500
2
75
250 − 500 · 0.2 +
= 5y2∗
2
y2∗ = 37.5
(50 − y2∗ + x )
21
IN4704 - Gestión de Operaciones II
3.
Newsvendor problem
Pregunta 1
Considere un problema de Newsvendor, donde la demanda por productos está dada
por la v.a. continua D con soporte positivo y función de densidad f ( x ) y distribución F (d)
Rd
(= P{ D ≤ d} = 0 f ( x )dx). La utilidad esperada se puede expresar como:
π ( Q) = pE(Ventas) + vE(Sobras) − cQ,
(1)
RQ
R∞
RQ
donde E(Ventas) = 0 x f ( x )dx + Q Q f ( x )dx y E(Sobras) = 0 ( Q − x ) f ( x )dx son el
valor esperado de las unidades vendidas y sobrantes, respectivamente. Además, c es el
costo de producción, p es el precio de venta, v es el precio de reventa y Q es la cantidad
ordenada. Definimos además el costo de ’underage’ Cu = p − c, el costo de ’overage’
Co = c − v, y el costo de incertidumbre como :
CI ( Q) = Cu
Z ∞
Q
( x − Q) f ( x )dx + Co
Z Q
0
( Q − x ) f ( x )dx,
(2)
1. Explique la ecuación (2) y muestre que CI ( Q) = π IP − πR( Q) donde πIP = ( p − c)µ
∞
es la utilidad esperada con información perfecta yµ = 0 x f ( x )dx es la demanda
esperada.
2. Dada la ecuación (2), demuestre que la cantidad Q∗ , que maximiza π ( Q) viene dado
por:
Cu
∗
−1
Q =F
,
Co + Cu
donde F −1 es la inversa de la funcion distribucion F
3 Suponga ahora que D sigue una distribución Normal de media µ y varianza
σ2 .
φ(z)
CI ( Q∗ )
Nos interesa el costo de incertidumbre relativo, dado por π IP = Φ(z) × µσ ,
donde φ(z) y Φ(z) son la densidad y distribución de la normal estándar (media 0 y
varianza 1), y z = ( Q∗ − µ)/σ.
Considere los siguientes productos mostrados en la tabla a continuacion. Ordene
los productos de acuerdo al ratio CI ( Q∗ )/π IP . Justifique su respuesta.
Producto 1
Producto 2
Producto 3
p
15000
6000
10000
c
7000
3000
6000
v
5000
2500
5000
µ
300
2000
1500
σ
150
500
375
22
IN4704 - Gestión de Operaciones II
HINT: Use el hecho que el término (φ(z)/Φ(z)) es decreciente en z (este término es
la tasa de riesgo de la normal estándar).
Solución
1. La primera integral en (2) es el valor esperado de por cuanto la demanda supera el
pedido que hicimos. A esto se cobra el beneficio perdido que es el precio de venta
menos el costo de ordenar (p − c). La segunda integral es el numero esperado de
pedidos que no fueron vendidos. Esta cantidad genera un costo que es igual al costo
de ordenar menos el precio de reventa (c − v).
Para mostrar la equivalencia, desarrollamos (2) obteniendo
CI ( Q) = ( p − c)
Z ∞
Q
x f ( x )dx − p
Z ∞
Q
Z ∞
Q f ( x )dx + cQ
f ( x )dx − c
0
−v
Z Q
0
Z Q
0
x f ( x )dx
( Q − x ) f ( x )dx
RQ
el último termino corresponde a vE(Sobras). Sumando y restando la cantidad p 0 x f ( x )dx
a esta expresión obtenemos:
Z Q
Z ∞
Z ∞
CI ( Q) = ( p − c)
x f ( x )dx − p
x f ( x )dx +
Q f ( x )dx + cQ − vE(Sobras)
0
Q
0
= ( p − c)µ − pE(Ventas) + cQ − vE(Sobras)
= π IP − π ( Q)
2. Dada que la cantidad Q∗ que maximiza π ( Q) también minimiza CI ( Q) (debido a
que CI ( Q) = π PI − π ( Q)), encontramos la solución óptima al derivar e igualar a
cero: d(CI ( Q))/dQ = 0, donde
d
CI ( Q) = −Cu
dQ
Z ∞
Q
f ( x )dx + Co
= −Cu 1 −
Z Q
0
Z Q
0
f ( x )dx
f ( x )dx + Co
Z Q
0
f ( x )dx
= −Cu (1 − F ( Q)) + Co F ( Q) = 0
simplificando esta expresion obtenemos F ( Q) = Cu /(Cu + Co ) de donde se obtiene
el resultado.
CI ( Q∗ )
3. Utilizamos los datos para calcular las distintas partes del ratio π IP . Utilizamos
que Cu /(Cu + Co ) = ( p − c)/( p − v). Ademas, como F ( Q∗ ) = P{ D ≤ Q∗ } =
P{( D − µ)/σ ≤ ( Q∗ − µ)/σ} = Φ(z∗ ) tenemos que ( Q∗ − mu)/σ = z∗ = Φ−1 (Cu /(Cu +
Co )).
23
IN4704 - Gestión de Operaciones II
Producto 1
Producto 2
Producto 3
σ/µ
1/2
1/4
1/4
Cu /(Cu + Co )
4/5
6/7
4/5
z∗
0.84
1.07
0.84
Como el término (φ(z)/Φ(z)) es decreciente en z, tenemos que el producto 2 es el
CI ( Q∗ )
que tiene el menor ratio π IP , seguido por producto 3 y el producto 1 es el que
tiene este ratio mayor.
Pregunta 2
1. Demuestre que la siguiente ecuación tiene como solución Q∗ que maximiza las utilidades en el problema de Newsvendor, donde p es el precio de venta, c es el costo,
v el precio de reventa, todos valores fijos.
( p − c) P(lleguen por lo menos Q) = (c − v) P(lleguen menos de Q)
2. Usando la expresión para Q∗ calculada en la pregunta anterior, encuentre el cantidad que se debe ordenar para los siguientes valores. Si encuentra algún problema,
explique qué está fallando.
Item 1
Item 2
Item 3
Item 4
p
200
200
400
150
c
181
190
240
240
v
180
195
150
150
3. Ahora suponga que el precio depende de la cantidad demandada, según la relación
p( x ) = αx con α > 0. Suponga además que la demanda se distribuye uniformemente en un intervalo (0, T ), con T > 0, y que los costos dependen linealmente de
Q, c( Q) = αT
2 Q. Por último, considere que v, el precio de reventa, es fijo.
a) Encuentre el Q∗ que maximiza las utilidades.
b) ¿Cuál es el valor de Q∗ cuando α = 1, T = 10 y v = 2?
c) ¿Qué pasa cuando v = α. Explique.
Solución
24
IN4704 - Gestión de Operaciones II
1. Primero se debe notar que c − v = Co y que p − c = Cu . Además la probabilidad de
que lleguen al menos Q corresponde a F ( Q). Con esto reescribimos la ecuación
Cu (1 − F ( Q)) = Co F ( Q)
Cu = (Co + Cu ) F ( Q)
Cu
F ( Q) =
Co + Cu
Cu
−1
Q=F
Co + Cu
2. Por Item tenemos:
Item 1. Q∗ = F −1 19
20
Item 2. Aquí tenemos un problema ya que v > c. En este caso siempre se tienen utilidades por los productos, así que conviene pedir lo máximo posible.
160
Item 3. Q∗ = F −1 250
Item 4. En este caso el costo es mayor al precio de venta, por lo que nunca conviene
pedir. Q∗ = 0.
3.
a) La utilidad se escribe como
T
Q
dx
dx
dx αT
+
αxQ + v
(Q − x) −
Q
T
T
T
2
0
Q
0
αQ3 αQ 2
vQ2 αT
=
+
( T − Q2 ) +
−
Q
3T
2T
2T
2
dπ ( Q)
αQ2 αT 3αQ2 vQ αT
=
+
−
+
−
dQ
T
2
2T
T
2
2
αQ
vQ
=−
+
2T
T
π ( Q) =
=⇒
Z Q
αx · x
Z
Z
Lo cual al igual a cero, y descartando la solución Q∗ = 0, nos queda:
Q∗ =
2v
α
b) Reemplazando obtenemos que Q∗ = 4.
25
IN4704 - Gestión de Operaciones II
c) Cuando v = α, Q∗ ya no depende de los parámetros y es constate igual a 2.
Cuando se cumple esta condición el tomador de decisiones se vuelve indiferente al precio de venta, a los costos y el precio de reventa, por lo que es neutro
a las condiciones del mercado.
Pregunta 3
Un micro empresario posee una producción de un licor llamado “Efimerouse”, el cual
tiene la característica de que luego de una semana de producción, perece convirtiéndose
en una solución que no puede ser vendida, pero sí reutilizado para la producción de
siguientes unidades. Considere que cada día Lunes se pone en venta una cierta cantidad
para ser vendida durante la semana, a un precio de $3500 la unidad, mientras que el costo
unitario es de $1000 y el valor estimado de una botella vencida es de $375. Suponga que
la demanda sigue una distribución (continua) uniforme en [0, 100].
Hint: Si X ∼ U [ a, b], entonces F −1 ( p) = a + (b − a) p para p ∈ [0, 1].
a) Determine la cantidad óptima de botellas a vender cada día Lunes.
Suponga que la fábrica posee un límite de producción semanal de 240 unidades como
máximo.
b) Determine el número óptimo de unidades a producir bajo este escenario.
c) Encuentre las utilidades esperadas para los casos de las partes a) y b) a obtener en
una semana. Si no es capaz de obtener los valore precisos, también se dará puntaje
por escribir las expresiones.
Suponga al igual que en la parte b) que la fábrica posee un límite de producción semanal de 60 unidades. Por otro lado, se tiene la posibilidad de hacer una inversión por un
monto fijo de $500000 tal que la fábrica alcanza una capacidad extra de producción de 60
unidades. Es decir, en caso de hacer la inversión, el vendedor podría producir semanalmente cualquier cantidad entre 0 y 120 unidades. Considerando además un factor de descuento de 0.99 del dinero en cada semana (es decir, si en cada semana futura desde i ≥ 0
recibo un monto esperado de m, entonces el monto en valor presente es de ∑i≥0 m · 0.99i ).
Haga el supuesto de que las compras, e ingresos por venta y salvataje de referentes de
cada semana son realizados en esa semana.
d) Determine si es o no conveniente hacer la inversión, considerando el valor presente
del dinero.
Solucón:
26
IN4704 - Gestión de Operaciones II
a) Se tiene que p = 3500, c = 1000 y s = 375, luego:
Cu = p − c = 3500 − 1000 = 2500
Co = c − s = 1000 − 375 = 625
Luego la cantidad óptima es:
Q
∗
Cu
= F
C + Cu
o
2500
−1
= F
625 + 2500
−1
= F −1 (0.8)
= 80
b) Dado que el valor óptimo es de 80 unidades cuando no hay restricción de capacidad,
entonces con un capacidad de 60 unidades, se deberán producir hasta ese número.
c) La expresión de las utilidades es la siguiente:
πQ = p
= p
Z +∞
0
Z Q
0
mı́n{ Q, x } f ( x )dx + s
1
dx +
x
100
Z 100
Q
Z +∞
0
1
Q
dx + s
100
máx{ Q − x, 0} f ( x )dx − cQ
Z Q
0
(Q − x)
1
dx − cQ
100
Donde Q es la cantidad a producir.
Para la parte a) es:
Z 80
Z 100
Z 80
1
1
1
dx + p
80
dx + s
(80 − x )
dx − 80c
π80 = p
x
100
100
100
80
0
0
802 02 1
(80 − 0)2
1
= 3500 (
− )
+ 80(100 − 80) + 375 −0 +
− 80 · 1000
2
2 100
2
100
= 100000
Para la parte b) es:
Z 60
Z 100
Z 60
1
1
1
π60 = p
x
dx + p
60
dx + s
(60 − x )
dx − 60c
100
100
100
0
60
0
602 02 1
(60 − 0)2
1
= 3500 (
− )
+ 60(100 − 60) + 375 −0 +
− 60 · 1000
2
2 100
2
100
= 93750
Como es de esperar, la utilidad da más en la parte a), en donde se produce la cantidad óptima que no está sujeta a la restricción de capacidad.
27
IN4704 - Gestión de Operaciones II
d) Para esto, debemos comparar ambos escenarios. Sean π80 y π60 las utilidades semanales que se obtienen según las partes a) y b) respectivamente. Si no se hace la
inversión, entonces la utilidad en valor presente es:
πs/inv = π60 ∑ 0.99i = π60
i ≥0
1
= 100π60 = 9375000
1 − 0.99
πc/inv = π80 ∑ 0.99i − 5000000 = π80
i ≥0
1
− 500000 = 100π80 − 500000
1 − 0.99
= 10000000 − 500000 = 9500000
Por ende conviene hacer la inversión.
28
IN4704 - Gestión de Operaciones II
4.
Descomposición de benders
Se utiliza este algoritmo para resolver problemas de la forma:
mı́n c0 x +
K
∑
αw f0 yw
w =1
s.a. Ax = b
Bw x + Dyw = dw ∀w
x≥0
yw ≥ 0
∀w
Este problema se divide en un problema principal (problema maestro)y en varios subproblemas.
Los subproblemas, para cada w son:
mı́n f0 yw
s.a. Bw x + Dyw = dw
yw ≥ 0
De cada subproblema se obtiene su dual, que es de la forma
máx p0w (dw − Bw x)
s.a. p0w D ≤ f0
Sea P = {p | p0 D ≤ f0 }. Sea también pi un punto extremo y w j un rayo extremo del
conjunto P. Este es el conjunto de solución para el problema dual para cada w. Si como
solución se obtiene zw (x) = ∞, o equivalentemente el problema primal no es factible,
entonces se debe agregar restricciones del tipo:
(wj )0 (dw − Bw x) ≤ 0,
∀j
Cada vez que el zw (x) sea finito, entonces se trata de un punto extremo del conjunto
P. En particular zw (x) es el mínimo valor que cumple
( p i ) 0 ( d w − B w x ) ≤ z w ( x ),
∀i
El problema maestro, finalmente, es:
29
IN4704 - Gestión de Operaciones II
mı́n c0 x +
K
∑
αw zw
w =1
s.a. Ax = b
(pi )0 (dw − Bw x) ≤ zw , ∀ i, w
(wj )0 (dw − Bw x) ≤ 0,
∀ j, w
El algoritmo de D. de Benders:
1. Se comienza con una solución incial (x∗ , z∗ ), que cumpla con el problema maestro
relajado.
2. Para cada w se soluciona el subproblema
mı́n f0 yw
s.a. Dyw = dw − Bw x∗
yw ≥ 0
del cual se obtienen las soluciones duales.
3. Si para cada w su correspondiente subproblema es factible y el costo óptimo es
menor o igual a z∗w , entonces se encontró la solución al problema principal y al algoritmo termina.
4. Si para algún w el valor encontrado de costo es mayor que z∗w entonces se debe
agregar al problema maestro la siguiente restricción
( pi(w) )0 ( dw − Bw x ) ≤ zw ( x )
5. Si para algún w el problema es infactible, entonces para el problema dual existe un
rayo extremo w j(w) al cual se le debe asociar la restricción que se debe incluir en el
problema maestro
( wj(w) )0 ( dw − Bw x ) ≤ 0
Pregunta 1
Se tiene un problema de generación electrica con dos fuentes de producción: una central térmica y una hidráulica. La central hidráulica puede producir a los más 5 unidades
en el primer perído, y en el segundo puede producir a lo más 5 + r s − h1 , donde r s es una
30
IN4704 - Gestión de Operaciones II
variable aleatoria que está determinada por el escenario s. La térmica no tiene límite de
producción para ningún período.
En la primera etapa se debe satisfacer toda la demanda que es de 10, y para el segundo
se debe satisfacer una demanda d2s .
El siguiente PPL resume lo descrito. Resuélvalo usando Descomposición de Benders.
mı́n 3x1 +
1 8 s s
c2 x2
8 s∑
=1
x1 + h1 ≥ 10
h1 ≤ 5
x2s + h2s ≥ d2s
∀s = 1, ..., 8
s
s
h2 ≤ 5 + r − h1 ∀s = 1, ..., 8
x1 , h1 , x2s , h22 ≥ 0
Los escenarios están determinados por la siguiente Tabla:
s
d2s
c2s
rs
1
15
1
0
2
10
1
0
3
15
5
0
4 5 6 7 8
10 15 10 15 10
5 1 1 5 5
0 10 10 10 10
Cuadro 7: Valores que toman las v.a. para cada escenario
Solución
Se plantea primero el Problema Maestro.
1 8
mı́n 3x1 + ∑ γs
8 s =1
x1 + h1 ≥ 10
h1 ≤ 5
γs ≥ d2s π s + (5 + r s − h1 )γs ∀s = 1, ..., 8
x1 , h1 , γ s ≥ 0
El Subproblema, para cada s:
φs ( x1 , h1 ) = mı́n c2s x2s
x2s + h2s ≥ ds
h2s ≤ 5 + r s − h1
h2s , x2s ≥ 0
⇐⇒
φs ( x1 , h1 ) = máx d2s π s + (5 + r s − h1 )γs
π s ≤ c2s
π s + γs ≤ 0
π s ≥ 0, γs ≤ 0
31
IN4704 - Gestión de Operaciones II
Notar que ∀( x1 , h1 ), φ( x1 , h1 ) es siempre factible ( x2s , h2s ) = (d2s , 0). Por lo tanto, no son
necesarios cortes de factibilidad (dual tiene óptimo factible).
c2s
(0, 0)
πs
(c2s , −c2s )
π s + γs ≤ 0
γs
Figura 4: Conjunto factible del dual del Subproblema
Iteraciones
mı́n 3x1
x1 + h1 ≥ 10
h1 ≤ 5
x1 , h1 ≥ 0
Una solución para este problema podría ser: ( x1∗ , h1∗ ) = (5, 5) γs∗ = −∞ ∀s.
Los subproblemas:
(15, 1, 0)
(10, 1, 0)
(15, 5, 0)
(10, 5, 0)
(15, 1, 10)
(10, 1, 10)
(15, 5, 10)
(10, 5, 10)
φ1 (5, 5)
φ2 (5, 5)
φ3 (5, 5)
φ4 (5, 5)
φ5 (5, 5)
φ6 (5, 5)
φ7 (5, 5)
φ8 (5, 5)
= 15 · 1 + (5 + 0 − 5)(−1) = 15
= 10 · 1 + (5 + 0 − 5)(−1) = 10
= 15 · 5 + (5 + 0 − 5)(−5) = 75
= 10 · 5 + (5 + 0 − 5)0 = 50
= 15 · 1 + (5 + 10 − 5)(−1) = 5
= 10 · 1 + (5 + 10 − 5)(−1) = 0
= 15 · 5 + (5 + 10 − 5)(−5) = 25
= 10 · 5 + (5 + 10 − 5)(−5) = 0
Como γs∗ < φ(5, 5) para todo s, agregamos restricciones al maestro:
32
IN4704 - Gestión de Operaciones II
1 8
mı́n 3x1 + ∑ γs
8 s =1
x1 + h1 ≥ 10
h1 ≤ 5
x1 , h1 ≥ 0
γ1 ≥ 15 − (5 − h1 ) = 10 + h1
γ2 ≥ 10 − (5 − h1 ) = 5 + h1
γ3 ≥ 75 − 5(5 − h1 ) = 50 + 5h1
γ4 ≥ 50 − 5(5 − h1 ) = 25 + 5h1
γ5 ≥ 15 − (15 − h1 ) = h1
γ6 ≥ 10 − (15 − h1 ) = −5 + h1
γ7 ≥ 75 − 5(15 − h1 ) = 5h1
γ8 ≥ 50 − 5(15 − h1 ) = −25 + 5h1
γ1 , ..., γ8 ≥ 0
Segunda Iteración de Benders
Sumando ∑ γs podemos escribir el maestro como
1
mı́n 3x1 + (60 + 24h1 )
8
x1 + h1
h1
x1 , h1
= 3x1 + 3h1 +
15
2
≥ 10
≤5
≥0
Todas soluciones tales que x1 + h1 = 10 (h1 ≤ 5 y x1 , h1 ≥ 0) son óptimos. La solución
al problema Maestro, 30 + 15
2.
Claramente si usamos ( x1∗ , h1∗ ) = (5, 5) voy a tener que γs∗ = φ(5, 5) ya que esta solución fue usada en la iteración anterior (se repite lo que está en la iteración anterior).
Tenemos entonces la solución óptima del maestro.
Si usamos ( x1∗ , h1∗ ) = (10, 0), entonces
(15, 1, 0)
(10, 1, 0)
(15, 5, 0)
(10, 5, 0)
(15, 1, 10)
(10, 1, 10)
(15, 5, 10)
(10, 5, 10)
φ1 (5, 5)
φ2 (5, 5)
φ3 (5, 5)
φ4 (5, 5)
φ5 (5, 5)
φ6 (5, 5)
φ7 (5, 5)
φ8 (5, 5)
= 15 · 1 + (5 + 0 − 0)(−1) = 10
= 10 · 1 + (5 + 0 − 0)(−1) = 5
= 15 · 5 + (5 + 0 − 0)(−5) = 50
= 10 · 5 + (5 + 0 − 0)(−5) = 25
= 15 · 1 + (5 + 10 − 0)(−1) = 0
= 10 · 0 + (5 + 10 − 0)(−5) = 0
= 15 · 5 + (5 + 10 − 0)(−5) = 25
= 10 · 0 + (5 + 10 − 0)(0) = 0
33
IN4704 - Gestión de Operaciones II
Escenarios 6 y 8 tiene γs∗ < φs (10, 0), entonces se agregan al maestro los cortes:
γ6 ≥ 10 · 0 + (15 − h1 )0 = 0
γ8 ≥ 10 · 0 + (15 − h1 )0 = 0
Al agregar estas restricciones al maestro se obtiene que la única solución posible es
= (5, 5).
( x1∗ , h1∗ )
Pregunta 2
Encuentre una cota inferior y una superior para el problema original de minimización,
usando la información proporcionada por los subproblemas y el problema maestro, cuando
se utiliza la descomposición de Benders.
Solución
Cota inferior:
Sabemos que al problema maestro de la D. B. se le van agregando restricciones por cada
iteración, por lo que el conjunto de solución es cada vez más pequeño. Luego, para una
iteración dada, la solución del problema maestro va a ser mejor solución que la óptima del
problema completo.
Cota superior:
Los subproblemas utilizan el valor de x ∗ como dado, por lo que su solución es peor
que la que encontraría el problema que considera el valor de x como una variable. De esta
forma, el valor de zi encontrado en cada iteración es mayor de lo que podría ser cuando
se resuelve el problema original.
La cota se puede escribir como:
c0 x +
K
∑
αw z∗w
w =1
donde los zw son los encontrados en cada subproblema.
Pregunta 3
Una empresa de generación eléctrica debe decidir la capacidad a instalar de dos generadores (indexados por j = 1, 2) con diferentes costos fijos y de operación, de forma de
satisfacer la demanda de la zona. Cada día se divide en 3 partes de igual duración, indexados por i = 1, 2, 3. Estos corresponden a las partes del día en los cuales la demanda
puede ser baja, media o peak respectivamente. Los costos fijos por unidad de capacidad
34
IN4704 - Gestión de Operaciones II
del generador j es amortizada por su vida útil en una suma c j por día. Los costos de
operación del generador j durante la parte i-ésima del día es f ij . Si la demanda durante
la i-ésima parte del día no puede ser satisfecha, se incurre en un costo adicional gi para
suplirla. Finalmente, la capacidad de cada generador j debe ser al menos b j .
Hay dos fuentes de incertidumbre, la demanda di durante cada parte del día, y la
disponibilidad a j del generador j. La demanda di durante el día puede tomar cuatro valores di,1 ,...,di,4 , con probabilidad pi,1 ,...,pi,4 , respectivamene. La disponibilidad del generador 1 es a1,1 ,...,a1,4 , con probabilidad q1,1 ,...,q1,4 , para cada uno de los eventos. Similarmente, la disponibilidad del generador 2 es a2,1 ,...,a2,5 , con probabilidad q2,1 ,...,q2,5 .
1. Formule un problema de programación estocástica que minimice los costos y cumpla
con las restricciones.
2. Escriba el problema Maestro y el Subproblema de la descomposición de Benders para
este problema.
3. Encuentre la solución incial y haga una iteración del algoritmo de Benders. Escriba
el problema Maestro modificado.
Solución
1. Se utilizará la variable x j , j = 1, 2 para indicar las unidades de capacidad instalada
de cada generador. También se incluirá la variable yijw para denotar los niveles de
operación del generador j durante la parte i-ésima del día, bajo el escenario w. Finalmente, la variable siw es la capacidad extra necesaria en el escenario w, durante la
parte i del día.
"
!#
2
mı́n
∑ cj xj + E
j =1
3
2
i =1
j =1
∑ ∑ fij yijw + gi siw
s.t. x j ≥ b j
yijw ≤ aw
j xj
∀j
∀i, j, w
2
∑ yijw + siw ≥ diw
∀i, w
x j , yijw siw ≥ 0
∀i, j, w
j =1
2. La cantidad de escenarios w es 43 · 4 · 5 = 1280. Cada Subproblema se ve de la sigu-
35
IN4704 - Gestión de Operaciones II
iente forma:
3
mı́n
s.t.
2
∑ ∑ fij yijw + gi siw
!
i =1 j =1
yijw ≤ aw
j xj
∀i, j
2
∑ yijw + siw ≥ diw
j =1
yijw , siw
∀i
≥0
∀i, j
Recordando que cada subproblema se resuelve considerando x j , j = 1, 2, fijo.
Si utilizamos πijw y σiw como las variables duales, el dual para cada w es
3
máx
s.t.
2
∑ ∑ awj x j πijw + σiw diw
i =1 j =1
πijw + σiw
σiw ≤ gi
πijw ≤ 0
σiw ≥ 0
!
= zw
≤ f ij
∀i, j
∀i
∀i, j
∀i
El Problema Maestro es, por lo tanto,
2
mı́n
∑ cj xj +
j =1
W
∑
ζ w zw
w =1
s.t. x j ≥ b j
3
2
i =1
j =1
∑ ∑ awj x j πijw + σiw diw
xj ≥ 0
∀j
!
≤ zw ∀w
∀j
La segunda desigualdad puede considerar un rayo extremo, con lo cual debe imponerse que la parte izquierda de la desigualdad sea menor a 0.
3. Una posible solución inicial puede ser x j = b j , j = 1, 2 y zw = −∞, ∀w. Con esto el
36
IN4704 - Gestión de Operaciones II
dual para cada subproblema w es
3
máx
s.t.
2
∑ ∑ awj bj πijw + σiw diw
i =1 j =1
πijw + σiw
σiw ≤ gi
πijw ≤ 0
πiw ≥ 0
!
≤ f ij
∀i, j
∀i
∀i, j
∀i
Considerando el óptimo πijw∗ , ∀i, j, w y σiw∗ , ∀i, w finito, el valor z∗w es mayor a −∞
por lo que se agregan al problema Maestro.
!
3
2
i =1
j =1
∑ ∑ awj x j πijw∗ + σiw∗ diw
≤ zw
∀w
Pregunta 4
Utilice Revenue Management para decidir una politica de arriendo de C habitaciones
en un hotel en Viña del Mar. Suponga que para el mes de Enero hay tres tipos de clientes,
los que arriendan por el fin de semana de año nuevo (F), los que arriendan por los
primeros 21 días del mes (T) y los que arriendan por el mes completo (M). Suponga que si
las utilidades por arrendar el fin de semana de año nuevo son u F = X, entonces arrendar
por tres semanas u T = 3X y por mes uQ = 5X. Suponga que la probabilidad de que al
menos i clientes de tipo k aparezcan cuando faltan t días para Enero está dada por pk,t (i ).
1. En cuanto a las propiedades de pk,t (i ), responda lo siguiente: ¿Cuánto es pk,t (0)?
¿Son las pk,t (i ) monótonas en i? Cuando t = 1 ¿cuál debería ser mayor p F,t (i ), p T,t (i )
o p M,t (i )? (Justifique sus respuestas)
2. Suponga las siguientes probabilidades (posiblemente artificiales) p F,t (i ) = (1/2)i ,
p T,t (i ) = 1/(i + 1) y p M,t (i ) = (3/5)i . Utilice EMSRa para definir el numero de
habitaciones que se debe reservar para cada clase.
3. (0,5 pts) Deseamos ahora formular un problema de optimización estocástica que
maximice las utilidades. Suponga que t días antes que comience Enero tiene C
habitaciones disponibles y que el número de clientes de cada tipo que aparecerán es
una cantidad incierta. Suponga que las habitaciones no arrendadas al comienzo del
mes pueden ser arrendadas con probabilidad 1 a un descuento que nos entrega una
utilidad de u D = 0, 2X.
37
IN4704 - Gestión de Operaciones II
4. Describa el problema maestro y el subproblema de la descomposición de Benders
para este problema estocástico.
5. Si supone que la primera solución del maestro es el vector de ceros, haga una iteración del algoritmo de Benders y escriba el problema Maestro modificado.
Solución
1. Claramente pk,t (0) = 1 pues representa la probabilidad de que al menos lleguen
0 clientes, lo cual siempre ocurre. De la misma forma pk,t (i ) es la probabilidad de
que al menos lleguen i clientes, por lo que es esperable que a medida que crece i la
probabilidad disminuya, concluyendo que es una función decreciente.
t = 1 significa que se está a solo 1 día de que comience Enero, entonces se espera que
aparezcan en mayor medida los que buscan vacaciones más cortas (los más sensibles
al precio) que los que están dispuestos a gastar mucho en sus vacaciones. Por lo
tanto, las probabilidades deberían estar en el siguiente orden: p F,1 (i ) ≥ p T,1 (i ) ≥
p M,1 (i ).
2. Se plantéan las desigualdades para F con respecto a las otras dos clases:
m
3
máx 5x ·
≥x
m
5
1
máx 3x ·
≥x
t
t+1
=⇒ m = 3
=⇒ t = 2
Finalmente se debe comparar los clientes que arriendan los primeros 21 días y los
que arriendan el mes completo.
n
3
≥ 3x
máx 5x ·
n
5
=⇒ n = 1
Con esto se deduce que los clientes M tienen 4 cupos en total (los 3 que se obtuvieron
en la primera comparación y el que le dejan los clientes T), los T tienen 1 cupo (los
dos que tenían y el que cedieron) y el resto es para los clientes F.
3. Se plantea el siguiente problema:
Variables
xm , xt , x f cantidad fijada para cada clase.
w w
yw
m , yt , y f cantidades vendidas en cada escenario w para cada clase.
Función Objetivo
w
w
w
w
w
máx ∑ pw (5x · yw
m + 3x · yt + x · y f + 0.2x · (C − ym − yt − y f ))
w
38
IN4704 - Gestión de Operaciones II
Restricciones Cada escenario w tiene una demanda por un tipo de arriendo dw
k,
k = m, t, f .
xm + xt + x f ≤ C
yw
m ≤ xm
w
yt ≤ xt
ywf ≤ x f
∀w
∀w
∀w
w
yw
m ≤ dm
w
yw
t ≤ dt
ywf ≤ dwf
∀w
∀w
∀w
w w
yw
t , y f , ym , xm , x f , xt ≥ 0
4. Las variables xk son globales para el problema, mientras las yw
k dependen del escenario. El problema maestro queda:
máx
∑ pw γw + 0.2xC
w
s. a
xm + xt + x f ≤ C
xm , xt , x f ≥ 0
Y los subproblemas
w
w
w
w
w
máx 5x · yw
m + 3x · yt + x · y f + 0.2x · (− ym − yt − y f )
s. a
yw
m ≤ xm
yw
t ≤ xt
ywf ≤ x f
w
yw
m ≤ dm
w
yw
t ≤ dt
ywf ≤ dwf
w w
yw
t , y f , ym ≥ 0
El dual asociado a cada escenario es:
w
w
mı́n z1 · xm + z2 · xt + z3 · x f + z4 · dw
m + z5 · d t + z6 · d f
s. a
z1 + z4 ≥ (5x − 0.2x )
z2 + z5 ≥ (3x − 0.2x )
z3 + z6 ≥ ( x − 0.2x )
zi ≥ 0
39
IN4704 - Gestión de Operaciones II
5. La solución inicial corresponde a: xk∗ = 0 y γw ∗ = ∞. El dual para cada subproblema
se simpifica a:
w
w
mı́n z4 · dw
m + z5 · d t + z6 · d f
z1 + z4 ≥ (5x − 0.2x )
z2 + z5 ≥ (3x − 0.2x )
z3 + z6 ≥ ( x − 0.2x )
zi ≥ 0
s. a
El óptimo es simplemente:
 ∗ 

z1
(5x − 0.2x )
z∗  (3x − 0.2x )
 2∗  

z   ( x − 0.2x ) 
 3∗  = 

z  

0
 4∗  

z  

0
5
∗
z6
0
∗ = 0, menor al obtenido anteriormente por lo que se agregan las
Con un valor γw
restricciones:
(5x − 0.2x ) · xm + (3x − 0.2x ) · xt + ( x − 0.2x ) · x f ≥ γw
∀w
El problema maestro para esta iteración:
máx
∑ pw γw + 0.2xC
w
s. a
xm + xt + x f ≤ C
(5x − 0.2x ) · xm + (3x − 0.2x ) · xt + ( x − 0.2x ) · x f ≥ γw
∀w
xm , xt , x f ≥ 0
Pregunta 5
Considere el siguiente problema estocástico con x ∈ R:
mı́nx 12 x + ∑iS=1 pi Q( x, ξ i )
s.t. 0 ≤ x ≤ 10
40
IN4704 - Gestión de Operaciones II
Supondremos que este problema tiene tres escenarios equiprobables con ξ 1 = 1, ξ 2 =
2, y ξ 3 = 4.
En el caso en que Q( x, ξ ) = | x − ξ |, resuelva este problema usando el algoritmo de
Benders. Para esto, indique la forma del subproblema de generación de cortes; escriba el
maestro al comienzo de cada iteración; y los cortes generados. Resuelva los problemas
lineales por inspección.
Pregunta 6
Usted debe visitar a n clientes distribuidos geograficamente con K vehiculos. Suponga
que todos los vehiculos comienzan localizados en el depot y que viajar entre el cliente i
y el cliente j toma tij unidades de tiempo y cuesta cij . Suponga además que cada cliente
i debe ser visitado en el intervalo de tiempo [ ai , bi ]. Llegar antes incurre una multa de α
por unidad de tiempo y llegar tarde una multa de β.
1. Escriba el problema de ruteo de vehiculos que minimiza los costos de viaje y multas
por no llegar en la ventana de tiempo acordada.
2. Suponga ahora que los tiempos de viaje son inciertos. De hecho se dispone de S
escenarios de tiempos de viajes correspondientes a lo ocurrido en los ultimos S dias.
Es decir existen datos de tijs correspondiente al tiempo de viaje entre i y j durante el
escenario s. Si suponemos que el escenario s ocurre con probabilidad ps , escriba el
modelo de optimización estocástica de dos etapas que minimiza el costo esperado
de la ruta. Suponga que la ruta se decide en la primera etapa y que los costos de
violar las ventanas de tiempo se ajustan en la segunda etapa.
3. Describa el método de Benders’ para resolver el problema estocástico descrito arriba. Para eso:
a) Indique cual es el subproblema de generación de restricciones, y cuando este
genera restricciones de factibilidad y de optimalidad.
b) Escriba el problema maestro.
4. Considere ahora el caso con ventanas de tiempo duras (esto es, α = β = ∞). ¿Qué
modificaciones sufren los cortes generados por el método de Benders’.
Solución
1. Variables:
1 si se va del cliente i a j
xijk =
0 si no
wi = tiempo de llegada al cliente i
41
IN4704 - Gestión de Operaciones II
ei = unidades de tiempo de anticipación en la llegada a i
li = unidades de tiempo de atraso en la llegada a i
Restricciones:
∑ xoj ≤ K
j
∑ xij = ∑ x jl
∀j
∑ xij = 1
∀i 6 = 0
i
l
j
wi ≥ w j + tij − M (1 − xij ) ∀i, j
a i ≤ wi + ei
w i ≤ bi + l i
wi , li , ei ≥ 0
xij ∈ {0, 1}
∀i
∀i
∀i
Función Objetivo
∑ cij xij + ∑ αei + βli
i
ij
2. Variables: Ahora las variables wis , eis y lis dependen del escenario s ∈ S.
Restricciones: Las restricciones que solo se relacionan con xij se mantienen iguales,
las que cambian son
wis ≥ wsj + tijs − M(1 − xij ) ∀i, j, s
ai ≤ wis + eis
wis ≤ bi + lis
wis , lis , eis ≥ 0
∀i
∀i
∀i
Función Objetivo
mı́n
∑ cij xij + ∑ ps ∑
ijk
3.
s
!
αeis
+
βlis
i
a) Planteamos un subproblema para cada escenario s
42
IN4704 - Gestión de Operaciones II
∑ αeis + βlis
mı́n
i
wis
≥ wsj + tijs − M(1 − xij∗ ) ∀i, j
ai ≤ wis + eis
wis ≤ bi + lis
wis , lis , eis ≥ 0
∀i
∀i
∀i
Su dual correspondiente:
máx
∗
s
z
M
(
1
−
x
)
−
t
∑ ij
ij
ij + ∑ λi ai − σi bi
ij
i
λi ≤ α
σi ≤ β
∀i
∀i
∑ zij − ∑ zki + λi − σi ≤ 0
∀i
σi , λi ≥ 0
zij ≤ 0
∀i
∀i, j
j
k
Los cortes de factibilidad entonces son:
γs ≥
∑
ij
M(1 − xij∗ ) − tijs zij∗ − ∑ bi σi∗ + ∑ ai λi∗
i
i
donde (zij∗ , σi∗ , λi∗ ) ∀i, es un punto extremo del problema dual.
Para cortes el factibilidad se debe cumplir:
0 ≥ ∑ M(1 − xij∗ ) − tijs pij∗ − ∑ bi pi∗ + ∑ ai ri∗
ij
i
i
donde ( pij∗ , qi∗ , ri∗ ) ∀i es un rayo extremo.
b) El problema maestro es:
43
IN4704 - Gestión de Operaciones II
mı́n
∑ cij xij + ∑ ps γs
s
ij
∑ xoj ≤ K
j
∑ xij = ∑ x jl
∀j
∑ xij = 1
∀i 6 = 0
i
l
j
∑
γs ≥
i
ij
0≥
∑
ij
M(1 − xij∗ ) − tijs zij∗ − ∑ bi σi∗ + ∑ ai λi∗ ∀i
i
M(1 − xij∗ ) − tijs pij∗ − ∑ bi pi∗ + ∑ ai ri∗
i
∀i
i
xij ∈ {1, 0}
∀i, j
4. Como α = β = ∞ el problema es:
∑ cij xij
mı́n
ij
∑ xoj ≤ K
j
∑ xij = ∑ x jl
∀j
∑ xij = 1
∀i 6 = 0
i
l
j
wis
+ tijs − w j ≤ M(1 − xij ) ∀i, j
a i ≤ w i ≤ bi
xij ∈ {1, 0}
∀i
∀i, j
Por lo tanto, no hay costo futuro por escenarios. El método de Bender’s solo generará cortes de factibilidad.
El subproblema queda:
máx
∑ zij
M (1 −
ij
xij∗ ) − tijs
+ ∑ λi ai − σi bi
i
∑ zij − ∑ zki + λi − σi ≤ 0
∀i
σi , λi ≥ 0
zij ≤ 0
∀i
∀i, j
j
k
44
IN4704 - Gestión de Operaciones II
problema que solo tendrá como valor óptimo 0, o +∞, por lo que solo generará
cortes de factibilidad.
45
IN4704 - Gestión de Operaciones II
5.
Generación de columnas
Considere un problema en forma estándar con muchas variables, es decir, con n >>
m,
mı́n c0 x
Ax = b
x≥0
En general, en el óptimo, el número de variables básica es, a lo más al número de
restricciones, lo que deja una gran cantidad de variables no básicas que no participan de
la solución óptima y, por lo tanto, no necesitan ser consideradas explícitamente. La idea
de Generación de columnas es solo trabajar con la cantidad mínima de variables necesarias
para hallar la solución óptima, incorporando una a una las que presenten costos reducidos
negativos, dejando implícitas las demás variables no básicas.
Recordando que el problema se puede descomponer en variables básicas básicas y no
básicas, reescribimos el problema,
mı́n c0B xb + c0N xn
AB xB + An xn = b
x≥0
despejando las variables básicas de la segunda ecuación se obtiene,
1
−1
xb = A−
b b − AB AN xN
Reemplanzando en la primera ecuación el problema depende solo de las variables no
básicas
1
0
0 −1
0 −1
0
0 −1
mı́n c0B A−
B b + ( cN − cB AB AN ) xn = cB AB b + mı́n( cN − cB AB AN ) xN
= y0 b + mı́n(c0N − y0 AN )xN
1
donde y0 = cB A−
B corresponde al valor de las variables duales en el óptimo. c¯N =
c0N − y0 AN los costos reducidos asociados a las variables no básicas.
De la última ecuación se puede apreciar que si existe algún costo reducido negativo,
el valor de la función objetivo se puede reducir, aumentando la variable correspondiente,
es decir, haciéndola entrar a la base.
El algoritmo de generación de columnas elige la variable no básica con menor costo
reducido, resolviendo el siguiente problema de optimización, conocido como Subproblema
mı́n cj − yAj
j
Luego la variable (o columna) encontrada entra en el problema Maestro y se vuelve a
resolver.
46
IN4704 - Gestión de Operaciones II
Problema maestro
mı́n c0 x
s.a. Ax ≥ b
x≥0
Columnas
Aj
Variables Duales
yi
Generador de columnas
máx c j − yA j
s.a. wA j ≤ W
a ∈ N0
Figura 5: Iteración generación de columnas
Cutting stock problem
Se tienen trozos de metal de largo L y existe una demanda por piezas de ciertos
tamaños determinados li . El problema consiste en determinar cómo cortar las piezas de
modo que el desperdicio de material sea mínimo.
La formulación del problema maestro es la siguiente
mı́n
∑ xj
j
∑ aij x j ≥ di
∀i
j
x j ∈ N0
donde x j es la cantidad de veces que se usa el patrón j, aij es la cantidad de piezas de
tamaño li en el patrón j y di es la demanda por piezas de tamaño li .
El subproblema debe generar un patrón factible con el mínimo costo reducido. Si llamamos yi al costo dual óptimo asociado a la i-ésima restricción del problema maestro se
tiene:
mı́n 1 − ∑ yi aij
i
∑ li aij ≤ L
i
i
aj
∈ N0
o equivalentemente
máx
∑ yi aij
i
∑ li aij ≤ L
i
i
aj
∈ N0
47
IN4704 - Gestión de Operaciones II
donde el costo reducio será 1 − ∑i yi aij .
Ejemplo
Se tienen barras de metal de largo 218cm y se requieren las siguientes piezas:
Tamaño
81cm
70cm
68cm
Demanda
44
3
48
Cuadro 8: Tamaño y cantidad demandada
Iteración 1
Se comienza con patrones que permitan resolver el problema. Utilizaremos unos que
solo consideran una pieza por barra. Con esto el problema maestro queda
mı́n x1 + x2 + x3
x1 ≥ 44
x2 ≥ 3
x3 ≥ 48
x1 , x2 , x3 ≥ 0
El dual de este problema
máx 44y1 + 3y2 + 48y3
y1 ≤ 1
y2 ≤ 1
y3 ≤ 1
y1 , y2 , y3 ≥ 0
Al resolver este problema se obtiene que y = (1, 1, 1). Luego el subproblema queda:
máx a1 + a2 + a3
81a1 + 70a2 + 68a3 ≤ 218
a1 , a2 , a3 ∈ N0
donde el nuevo patron está dado por A j = (0, 0, 3) y su costo reducido es 1 − ( a1∗ + a2∗ +
a3∗ ) = −2 < 0.
Iteración 2
48
IN4704 - Gestión de Operaciones II
Se agrega el nuevo patrón al problema maestro
mı́n x1 + x2 + x3 + x4
x1 ≥ 44
x2 ≥ 3
x3 + 3x4 ≥ 48
x1 , x2 , x3 , x4 ≥ 0
El dual de este problema
máx 44y1 + 3y2 + 48y3
y1 ≤ 1
y2 ≤ 1
y3 ≤ 1
3y3 ≤ 1
y1 , y2 , y3 ≥ 0
Con estas modificaciones se obtiene que y = (1, 1, 31 ). Luego el subproblema queda:
1
máx a1 + a2 + a3
3
81a1 + 70a2 + 68a3 ≤ 218
a1 , a2 , a3 ∈ N0
El nuevo patron será A j = (0, 3, 0) y su costo reducido es 1 − ( a1∗ + a2∗ + 13 a3∗ ) = −2 < 0.
Iteración 3
mı́n x1 + x2 + x3 + x4 + x5
x1 ≥ 44
x2 + 3x5 ≥ 3
x3 + 3x4 ≥ 48
x1 , x2 , x3 , x4 , x5 ≥ 0
El dual de este problema
máx 44y1 + 3y2 + 48y3
y1 ≤ 1
y2 ≤ 1
y3 ≤ 1
3y3 ≤ 1
3y2 ≤ 1
y1 , y2 , y3 ≥ 0
49
IN4704 - Gestión de Operaciones II
Se obtiene y = (1, 13 , 13 ). Luego el subproblema queda:
1
1
máx a1 + a2 + a3
3
3
81a1 + 70a2 + 68a3 ≤ 218
a1 , a2 , a3 ∈ N0
0.
El nuevo patrón será A j = (2, 0, 0) y su costo reducido es 1 − ( a1∗ + 31 a2∗ + 13 a3∗ ) = −1 <
Iteración 4
mı́n x1 + x2 + x3 + x4 + x5 + x6
x1 + 2x6 ≥ 44
x2 + 3x5 ≥ 3
x3 + 3x4 ≥ 48
x1 , x2 , x3 , x4 , x5 , x6 ≥ 0
El dual de este problema
máx 44y1 + 3y2 + 48y3
y1 ≤ 1
y2 ≤ 1
y3 ≤ 1
3y3 ≤ 1
3y2 ≤ 1
2y1 ≤ 1
y1 , y2 , y3 ≥ 0
Se obtiene y = ( 21 , 13 , 13 ). Luego el subproblema queda:
máx
1
1
1
a1 + a2 + a3
2
3
3
81a1 + 70a2 + 68a3 ≤ 218
a1 , a2 , a3 ∈ N0
El nuevo patrón será A j = (1, 0, 2) y su costo reducido es 1 − ( 21 a1∗ + 13 a2∗ + 13 a3∗ ) =
− 61 < 0.
Se debe continuar hasta obtener un costo reducido positivo.
50
IN4704 - Gestión de Operaciones II
Pregunta 1
Ud. está a cargo de la logística de la repartición de las pruebas de la PSU. Suponga
que cada día de la PSU se reparten las pruebas de ese dia entre las 0 y las T horas de la
mañana del mismo día. Dado que se opera con un sistema de arriendo de vehículos para
la repartición de los enunciados, se desea realizar la labor con el mínimo de éstos. Por lo
demás, la capacidad de cada vehículo es de s [pruebas], los que saldrán desde un único
punto (nodo 0) hacia el conjunto de centros C donde se rinde la prueba. Cada uno de estos
centros posee una demanda igual a dc [pruebas] (dc ≤ s ∀c ∈ C), los cuales deberán ser
atendidos dentro de una ventana de tiempo entre lc y uc . Considere que el tiempo de viaje
de un centro a otro es de tij , con i, j ∈ C ∪ {0}, y que el tiempo en descargar las pruebas en
cada centro es αdc [horas] (las pruebas deben ser descargadas antes que uc en cada centro
c y todas deben haber sido descargadas antes del tiempo T).
1. Plantee el problema de optimización que represente este problema de ruteo de vehículos. Suponga que la empresa de arriendo de vehículos dispone de un set K de
éstos.
El resto de esta pregunta considera el uso de generación de columnas para resolver la
relajación lineal de una reformulación de este problema. Considere la siguiente versión
de este problema de VRP en términos de patrones/rutas por vehículo (conocida como el
set-covering formulation):
mı́n p∈P ∑ p∈P z p
s.t.
∑ p∈P a pij z p = 1 ∀i ∈ C
z p ∈ {0, 1}
∀p ∈ P
Donde P el conjunto de todos los patrones posibles y a pi vale 1 si patrón p pasa por el
nodo i.
2. ¿Qué representa un patrón en este problema? ¿Qué variables o coeficientes son los
que poseen la información de dicho patrón?
3. ¿Cómo inicializaría la resolución del problema?
4. Considere ahora el problema maestro relajado (z p ≥ 0 y solo se consideran I ⊂ P
patrones). Suponga que la solución primal-dual de este problema maestro relajado
es (z∗ , π ∗ ). Escriba la función objetivo del subproblema de generación de columnas.
5. Escriba en detalle el problema maestro y el subproblema de generación de columnas
para este problema.
51
IN4704 - Gestión de Operaciones II
6. Una vez resuelto el subproblema, complete una iteración del método de generación
de columnas (hasta antes de resolver el maestro nuevamente). ¿Qué cotas se obtienen del valor óptimo en una iteración?
Solución
1. Variables de decisión:
xijk vale 1 si el vehículo k va desde el cliente i al j.
wi , tiempo en el cual se llega al centro i.
mı́n
∑ x0jk
j,k
s.t.
∑
xijk = 1
∀j ∈ C
∑
xijk = 1
∀i ∈ C
i ∈C0 ,k
j∈C0 ,k
∑
xijk =
∑
xijk d j ≤ s
i ∈C0
∑
∀ j ∈ C, k ∈ K
x jik
i ∈C0
∀ j ∈ C, k ∈ K
i ∈C0
w j ≥ wi + tij + αdi + M
1−
∑ xijk
!
∀i ∈ C0 , j ∈ C
k∈K
li ≤ wi ≤ ui − αdi
wi + αdi ≤ T
xijk ∈ {0, 1}
∀i ∈ C
∀i ∈ C
∀i, j ∈ C0 , k ∈ K
wi ≥ 0
∀i ∈ C0
donde C0 = C ∪ {0}.
2. En este caso un patrón representa una ruta en la cual se visita a un conjunto de
centros, los cuales serán atendidos en un viaje de un vehículo. Un patrón viene
definido por los coeficientes de la matriz del problema maestro, en particular un
patrón en especifico corresponderá a una columna de coeficientes en especifico del
lado izquierdo del problema maestro.
3. Partiría con un conjunto de patrones fáciles de encontrar, como por ejemplo el conjunto de de patrones en donde cada uno corresponde a ir a un cliente en particular
y volver al nodo 0. Esto sirve, pues así tengo claramente una solución factible del
problema maestro.
52
IN4704 - Gestión de Operaciones II
4. Debemos tener una expresión para los costos reducidos de las variables no-básicas:
cj = cj − π∗ T y = 1 − π∗ T y
Luego, la función objetivo del subproblema es maximizar π ∗ T y.
5. Luego el subproblema queda:
mı́n π ∗ T y
s.t.
∑
yij ≤ 1
j∈C
∑
yij ≤ 1
∀i ∈ C
∑
yij =
∑
yij d j ≤ s
i ∈C0
j∈C0
i ∈C0
∑
∀j ∈ C
y ji
i ∈C0
∀j ∈ C
i ∈C0
w j ≥ wi + tij + αdi + M 1 − yij
∀i ∈ C0 , j ∈ C
li ≤ wi ≤ ui − αdi
wi + αdi ≤ T
yij ∈ {0, 1}
∀i ∈ C
∀i ∈ C
∀i, j ∈ C0
wi ≥ 0
∀i ∈ C0
6. Sea w∗ el valor óptimo obtenido de la función objetivo del subproblema, luego, si
1 − w∗ ≥ 0, entonces terminamos de iterar dado que la última solución al problema
maestro es exactamente el óptimo. En caso contrario, si 1 − w∗ < 0, ingresamos la
nueva variable (y) al problema maestro como una nueva columna de parámetros,
para la nueva variable que corresponde entonces a un nuevo patrón p, luego I ←
I ∪ { p }.
Pregunta 2
Considere el problema de satisfacer la demanda de una serie de componentes al mínimo costo, en que los componentes deben ser empaquetados en bins o containrs para su
envío, más conocido en la literatura como binpacking.
Específicamente, considere que se tienen tres tipos de bins, los que se caracterizan por
su color (Rojo, Azul o Verde), tamaño y tipos de items que pueden almacenar. El costo por
utilizar cada bin depende del color, siendo para los Rojos de $10, para los Azules de $20
y para los verdes de $30. Para determinar los componentes que pueden ser almacenados
en cada bin, así como el tamaño de éste, se debe seguir el siguiente procedimiento. Sea
53
IN4704 - Gestión de Operaciones II
una lista de N componentes ordenada según sus pesos, el 40 % más pequeño de la lista,
puede ser almacenado en los bins de color rojo, el 40 % más grande de la lista puede
ser almacenado en los bins de color Verde. Mientras que el 60 % del centro puede ser
almacenado en los bins de color Azul. El tamaño de cada bin se determina como n-veces el
tamaño del componente más pesado que puede almacenar dicho bin, con n dependiendo
de la cantidad de componentes N.
Por otra parte, para asegurar un mínimo de variedad en cada bin, se ha impuesto que
a lo más se pueden incluir 15 componentes del mismo tipo en los bins Rojos, 10 en los
Azules y 5 en los Verdes.
1. Plantee el modelo de programación lineal mixto.
2. Plantee el modelo de generación de columnas. En particular escriba el problema
maestro y el subproblema.
Solución
1. Variables:
xijk
wkj
1 Si incluyo una unidad del componente i ∈ N en el k − esimo bin de tipo j ∈ B = R
0 Si no
1 Si uso k − esimo bin de tipo j ∈ B = R ∪ A ∪ V
0 Si no
=
=
yijk = Unidades de componente i ∈ N incluídas en k − esimo bin de tipo j ∈ B =
R∪A∪V
Para definir el número máximo de bins de cada tipo a utilizar, k, se estimó que éste es
menor al peso de la demanda total de productos que pueden ser almacenado
enese
tipo de contenedor dividido la capacidad de éste, es decir, k = máx j
∑i Qij · Di · pi
cap j
.
Restricciones:
xijk ≤ Qij · wkj
∀ i, j, k
∑ yijk · pi ≤ cap j · wkj
∀ j, k
∑ yijk ≥ Di
∀i
yijk ≤ v j · xijk
∀ i, j, k
yijk , ∈ Z0+
∀ i, j, k
xijk , wkj , ∈ {0, 1}
∀ i, j, k
i
j,k
54
IN4704 - Gestión de Operaciones II
Función Objetivo:
mı́n
∑ wkj · c j
j,k
2. Problema Maestro
Para este problema se define la variable x kj que corresponde al número de bins de
tipo j ∈ B = R ∪ A ∪ V que son rellenados con el patrón k.
mı́n
∑ xkj · c j
j,k
∑ xkj aijk ≥ Di
∀i
x kj ∈ N0+
∀ j, k
j,k
Subproblema
Por su parte, para el subproblema se define la variable aijk que corresponde al número
de unidades de componente i ∈ N que pueden ser incluídas en un bin de tipo
j ∈ B = R ∪ A ∪ V a través del patrón k. Además, se consideran tres subproblemas,
uno para cada tipo de bin j, de tal forma de determinar el patrón óptimo para cada
tipo de compartimento. Considerando las variables duales del problema maestro
,yi , el problema queda formulado de la siguiente forma:
máx
∑ yi · aijk
i
∑ aijk · pi ≤ cap j
i
k
aij
aijk
∀ j, k
≤ Qij · vij
∀ i, j, k
∈ N0+
∀ i, j, k
Pregunta 4
Una pequeña empresa de transportes posee un conjunto K de camiones con capacidades de carga CAPk , costos dijos CFk y costos variables CVk por kilómetros recorrido. Se
tiene un conjunto E de entregas a realizar dentro de las ventanas de tiempo [t1d , t2d ] ∀d ∈ E
y un conjunto R de encargos a recoger dentro de la ventana de tiempo [t1d , t2d ] ∀d ∈ R1 .
1 Para
todo nodo de regida i ∈ R llame n + i ∈ E al correspondiente nodo de entrega
55
IN4704 - Gestión de Operaciones II
Para cada demanda d ∈ D = E ∪ R existe un peso wd , un beneficio bd y un tiempo de
servicio TSd asociados. Las distancias y los tiempos de viaje están dados por distij y Tij ,
∀i, j ∈ D, respectivamente.
1. Formule el problema de satisfacer la demanda a costo mínimo, con una cantidad
polinomial de variables.
Hint 1: Si le es útil, defina los nodos ficticios Ok y Dk como el nodo inicial y final del
camión k.
Hint 2: No olvide considerar el tiempo de llegada y la carga con la que sale un
camión de cada nodo.
2. ¿Cómo cambia el modelo anterior si el objetivo es maximizar beneficios asumiendo
que los clientes son opcionales?
3. Formule un modelo de Generación de Columnas para el problema de minimización
de costos. Específicamente, defina cuáles serán los patrones para este problema en
particular y escriba el Problema Maestro y el Subproblema que utilizaría.
Solución
1. Variables:
1 Uso el camión k
k
y =
0 Si no
1 Si camión k va de i a j
xijk =
0 Si no
ti,k =Tiempo de llegada del camión k a i
pik =Peso de k cuando llega a i
zik =Distancia recorrida por camión k
Restricciones:
56
IN4704 - Gestión de Operaciones II
∑ xijk = 1
∀j
i,k
yk =
k
∑ xOk k j = ∑ xiD
k
j
∀k
i
∑ xijk = ∑ xkj(i+n)
∀k, j
pik + w j − M(1 − xijk ) ≤ pkj
∀i, j, k
i
j
ti,k + Tij + TS j − M(1 − xijk ) ≤ t j,k ∀i, j, k
zik + distij − M (1 − xijk ) ≤ zkj
∀i, j, k
pik ≤ CAPk
∀k, i
∑
xijk
∀k
ti,k ≥ t1i ∑ xijk
∀k
ti,k ≤
t2i
j
j
Función objetivo:
máx
∑ xijk bj − ∑ CFk yk − ∑ CVk zik
i,j,k
k
i,k
2. En ese caso el único cambio que se debe hacer es quitar la restricción:
∑ xijk = 1
∀j
i,k
3.
57
IN4704 - Gestión de Operaciones II
6.
Heurísticas y ruteo
Heurísticas de construcción ruteo
Nearest Neighbor Consiste en secuencialmente buscar el nodo que se encuentra
más cerca del nodo que se está analizando. Los pasos son:
1. Elegir un nodo de partida al azar
2. Unir el nodo más cercano al último elegido hasta que se acaben
3. Unir el último nodo con el primero
Para cada nodo es necesario revisar todos los nodos restantes, por lo cual este algoritmo tiene una complejidad O(n2 ).
Multiple Fragment Este algoritmo, a diferencia de anterior, no va arramando la ruta
de forma ordenada sino que va juntando las nodos con arcos más baratos y los va
uniendo, hasta que ya no queden nodos sin unir. Los pasos son:
1. Buscar el arco más barato que no se haya usado
2. Añadir solo si no forma un ciclo
Nearest Addition
1. Elegir un nodo de partida al azar y su nodo más cercano
2. Formar un tour con los nodos agregados
3. Añadir el nodo más cercano al tour
Farthest Addition
1. Elegir un nodo de partida al azar y su nodo más lejano
2. Formar un tour con los nodos agregados
3. Añadir el nodo más lejano al tour
58
IN4704 - Gestión de Operaciones II
Nearest neighbor
Farthest Addition
Figura 6: Ejemplo heurísticas de contrucción en ruteo
Heurísticas de mejoramiento ruteo
Explique las siguientes heurísticas de mejoramiento:
2-opt: Intercambiar dos arcos tales que se reduzca el costo total.
Figura 7: 2-opt
3-opt: Intercambiar tres arcos tales que se reduzca el costo.
Figura 8: 3-opt
59
IN4704 - Gestión de Operaciones II
Exchange: Intercambiar vecinos.
Figura 9: Exchange
Pregunta 1
Considere un problema de un vendedor viajero que debe visitar ciudades 1,...,n, partiendo de la ciudad 0. El viaje entre la ciudad i y j tiene un costo de cij y demora un tiempo
tij > 0. Suponga además que debe visitar cada ciudad i ∈ {1, ..., n} antes de una fecha
límite li .
1. Formule el problema de vendedor viajero que minimice el costo de viaje y satisfaga
todas las restricciones de tiempo.
2. Muestre por qué se pueden eliminar subtours en este problema sin utilizar un número
exponencial de restricciones.
3. Explique cómo se debe modificar el algoritmo de 2-Opt para el problema del TSP
con restricciones de tiempo. Para esto, asuma que tiene el orden en que se visitan
las ciudades en un arreglo pos[i] con i = 1, ..., n, donde pos[i] es la i-ésima ciudad
visitada en el tour y que para dos ciudades i, j tiene los costos cij y tiempos tij entre
i y j. (Asuma por simplicidad que ambos son simétricos i.e. cij = c ji y tij = t ji ).
Solución
1.
mı́n
∑ cij xij
ij
n
s.t.
∑ xij = 1
j =0
n
n
j =0
k =0
∑ xij = ∑ xki
i = 0, ..., n
i = 0, ..., n
wi + tij − w j ≤ M (1 − xij ) i, j = 0, ..., n
wi ≤ li
i = 1, ..., n
60
IN4704 - Gestión de Operaciones II
2. Suponga que tiene un subtour que visita los nodos i1 , i2 , ..., in , entonces el tiempo en
que visitamos cada uno de estos nodos satisface
n −1
w i n ≥ w i n −1 + t i n −1 i n ≥ w i n −2 + t i n −2 i n −1 + t i n −1 i n ≥ w i 1 +
∑ t i j i j +1
j =1
Como luego va de in a i1 también satisface wi1 ≥ win + tin i1 , estas dos desigualdades
con el hecho que tij > 0 nos muestra que win > win , una contradicción.
3. En el algoritmo 2-Opt el paso que se ve afectado es determinar qué rutas pertenecen
a la vecindad de una ruta dada. Para eso, además de recostruir la ruta, se debe
verificar si el largo de la ruta es menor a li para todos los nodos que cambian su
tiempo de llegada.
Dada una ruta descrita por el arreglo pos[i], si eliminamos los arcos en la l y k, con
l < k de la ruta tenemos que la ruta reconstituida desde pos[0] hasta pos[l] es la
misma. Pero luego hay que verificar que w j ≤ l j para todo j en {pos[j]}nj=l .
Si wi es la variable que contiene el tiempo en que se llega a pos[i], entonces hay
que verificar que
k−s
wl + t pos[l ] pos[k] +
∑ t pos[h] pos[h−1] ≤ l pos[k−s−1]
para k − s − 1 ∈ 0, ..., k − l
h=k
y también verificar que
w j + t pos[l ] pos[k] + t pos[l +1] pos[k+1] − t pos[l ] pos[l +1] − t pos[k] pos[k+1] ≤ l j
j ∈ k + 1, ..., n
El resto de la rutina es idéntica.
Pregunta 2
Considere un problema de vendedor viajero en n ciudades, partiendo de la ciudad 0,
y donde el costo de ir de i a j es cij . Este problema se puede interpretar como scheduling
de n trabajos que estan inicialmente todos disponibles en una máquina sin preemption
ni deadlines. Para esto debe considerar que todos los trabajos se demoran un tiempo
constante en la máquina pero existe un tiempo de set up al hacer el trabajo j después del
i igual a cij .
1. Para este problema de scheduling, describa la heurística Shortest Remaining Processing Time (SRPT). ¿A qué tipo de heurística corresponde esta para el problema de
vendedor viajero original?
61
IN4704 - Gestión de Operaciones II
2. Explique cómo puede utilizar la relajación con preemption de este problema de
scheduling para obtener una solución factible. ¿Qué tipo de garantías tiene de esta
solución?
Solución
1. La heurística SRPT escoje el trabajo que tiene el tiempo de ejecución más corto y
hace ese trabajo. Como no hay preemption, solo decide el sgte trabajo una vez que
el trabajo anterior ha terminado.
Como no hay release ni due dates, en cada momento están disponibles todos los
trabajos que no han sido realizados, y si el último trabajo que se hizo fue el trabajo
k, entonces se ejecuta a continuación el trabajo j que tenga el menor ckj entre los j
que falta por ejecutar. Al inicio se escoje el trabajo j que tenga el menor c0j .
Esto corresponde a una heurística de vecino más próximo (NN) En cada etapa de la
ruta visita a continuación al trabajo que se encuentra más cerca del punto actual. En
extenso, visita al j que no ha sido visitado que tiene el menor ckj .
2. Dado que el problema no tiene release ni due dates, no existe ningún motivo para
interrumpir un trabajo. Si un trabajo tenía el menor tiempo de procesamiento y se
comienza a ejecutar, durante toda su ejecución continua siendo el trabajo con menor
tiempo de servicio. Note que asumo que el tiempo de servicio de un trabajo depende
del último trabajo que ha sido completado. Si el último trabajo completo fue i y
luego trabajo en j. Mientras quede algo de j los tiempos de procesamiento de los
otros trabajos continúa siendo cik ≥ cij . Pero cuando termina j entonces los tiempos
de los otros trabajos pasan a ser c jk que pueden estar ordenados differente.
Entonces el problema con preemption obtiene la misma respuesta entera que el
problema sin preemption. Es decir es factible para el problema sin preemption.
Sabemos que la solución sin preemption es mayor el valor óptimo del schedule.
Como esta solución corresponde a la solución que entrega la heurística de vecino
más próximo en el TSP, podemos usar la garantía que nos da esa heurística: I.e.
sabemos que NN ≤ 1/2(log2 (n) + 1)OPT. para problemas en los que los valores cij
sean una distancia euclidiana.
Pregunta 3
Considere un grafo dirigido G = ( N, A) con n nodos y m arcos. El siguiente algoritmo
realiza una búsqueda en profundidad en el grafo partiendo del nodo 1.
62
IN4704 - Gestión de Operaciones II
Algorithm 2: BUSQUEDA EN PROFUNDIDAD
1
2
3
4
5
6
7
8
9
10
VISITA(i)=0; PRED(i)=NULL ∀i ∈ N
VISITA(1)=1; PRED(1)=0;
LISTA={1}
while LISTA6= ∅ do
Sea i el último nodo puesto en LISTA
if i tiene un arco (i, j) ∈ A tal que VISITA(j)=0 then
VISITA(j)=1; PRED(j)=i;
LISTA=LISTA∪{ j};
else
LISTA=LISTA\{i };
1. Explique que es el problema de búsqueda en profundiad en un grafo, que es una
instancia de este problema y cual es el tamaño de una instancia.
2. Encuentre la menor cota del número de operaciones que realiza el Algoritmo 1 en
el peor caso. Considere que todas las operaciones matemáticas y de comparación,
asignación, lectura, demoran lo mismo. Utilize la notación O().
Solución
1. El problema encuentra todos los nodos que pueden ser accesados de 1. Lo de profundida se refiere a que después que encuentra un decendiente, digamos j del nodo
actual, el algoritmo busca a un decendiente de j antes de buscar a nodos al mismo
nivel que j. Una instancia es un grafo dado. El tamaño de una instancia es el número
de nodos y el número de arcos, n y m respectivamente.
2. La inicializacion es O(n). El número de iteraciones es a lo más 2n ya que en cada
iteración se agrega o retira un nodo a LISTA y cada nodo es agregado una sola vez
(cuando se revisa el arco (i, j) y VISITA(j)=0). Pero el trabajo por iteración puede
cambiar ya que encontrar un arco (i, j) tal que VISITA(j)=0 puede requerir mirar todos los arcos de i. A lo largo del algoritmo, revisamos cada arco una sola vez (imaginese que los borra si los reviso en una iteración anterior). Pasamos O(m) revisando
arcos y O(n) iteraciones mas para borrar nodos de LISTA. Con esto tenemos que la
parte principal del algoritmo demora O(n + m) ya que encontrar el último nodo en
LISTA y las asignaciones y evaluaciones de condiciones son a lo maás un número
constante en cada iteración (= 6 por iteración). Total del algoritmo O(n + m + n) =
O(n + m) =O(m).
Pregunta 4
63
IN4704 - Gestión de Operaciones II
Usted es dueño de un canal, donde debe decidir la programación dentro de los espacios publicitarios. Considere que tiene una oferta de un conjunto de publicidades I =
{1, . . . , I }, las cuales se deben asignar a un horario h ∈ H = {1, . . . , H }. De esta forma, una publicidad i pagará un precio pih si es asignada en el horario h. Es obligación
aceptar a todas las ofertas publicitarias. Además cada publicidad tiene un largo li , como
también cada horario es de largo L, de modo que el conjunto de publicidades asignado a
un horario no debe exceder L. Por otro lado, hay un conjunto C de conjuntos de a pares
publicitarios que no pueden estar en un mismo horario, por ejemplo, si C = {{1, 2}},
entonces en cualquier horario en particular, puedo asignar a lo más una sola de estas dos
publicidades. Llame Ah el conjunto de publicidades asignadas en el horario h, ∀h ∈ H, lo
cual es lo que Ud. como dueño del canal debe decidir. Para esto se pide lo siguiente:
a) Plantee una heurística constructiva de una solución factible, explicando sus claramente pasos. Dicha solución factible debe ser “buena” en la lógica de la construcción
de la heurística, en el sentido de que no sea cualquier solución factible.
b) Explique una heurística de mejoramiento de la solución obtenida de la parte a).
c) Aplique su heurística constructiva explicada en la parte a) para hallar una solución
factible al problema
instancia: H = {1, 2, 3}, I = { a, b, c, d}, C =
 para la siguiente

20 60 5
40 80 20

{{ a, d}}, [ pih ] = 
10 50 2 , la = 3, lb = 4, lc = 2, ld = 3 y L = 6.
70 30 10
d) Explique que enfoque recomendaría usar y por qué, entre generación de restricciones o generación de columnas para resolver el problema.
Solución
a) Heurística constructiva, tratamos de generar de alguna manera una solución factible
para el problema que sea buena en lo posible (y no cualquier cosa factible al azar).
Por ejemplo la siguiente heurística para construir una solución:
Sea R en conjunto de pares publicidad-horario donde ya no se busca el máximo pih .
64
IN4704 - Gestión de Operaciones II
Algorithm 3: Heurística constructiva
Data: H, I , C , P
1 Inicializar T = I , A h = φ ∀ h ∈ H , R = φ;
2 while T 6 = φ do
3
Tomar i ∈ T y h ∈ H tal que (i, h) = arg máx j∈T ,k∈H,( j,k)6∈R p jk ;
4
if li + ∑ j∈ Ah l j ≤ L and ∀k ∈ Ah i ∪ k 6∈ C then
5
Ah ← Ah ∪ {i } Asigno publicidad i en horario h ;
6
T ← T \ { i };
7
8
9
else
R ← R ∪ {(i, h)}
return Ah ∀h ∈ H ;
En palabras:
1. Considero un conjunto de todas las publicidades inicialmente T .
2. Tomo la publicidad en T tal que tenga el máximo precio a pagar dentro las
publicidades en T , sea la publicidad i en el horario h.
3. Asigno la publicidad i en el horario h solo si es que ésta cabe en este horario,
y además si es que no hay publicidades ya asignadas en este horario que estén
prohibidas con la que estamos agregando. En caso de asignar, retiro del conjunto T la publicidad i. En caso de no asignar, entonces descartar asignar la
publicidad i en el horario h en adelante.
4. Si todavía quedan publicidades en T , volver al paso 2.
También es posible otras heurísticas, que deben estar explicadas claramente paso a
paso, en donde se busque una buena solución y no cualquier cosa.
b) Algunas de las heurísticas de mejoramiento que se pueden mencionar:
• Mejoras 2 − opt (ó k − opt) donde considero los conjuntos de 2 (ó k) publicidades asignadas, y ver la mejor reasignación posible entre todas las combinaciones.
• Swaps o intercambios de a dos publicidades entre sí, realizando el cambio en
la medida que se mejore.
• Aplicar una búsqueda local de mejoramiento, de la siguiente forma:
1.
2.
3.
4.
Partir con una solución factible s.
Examinar soluciones s0 en una vecindad N (s) de s (s 6∈ N (s)).
Moverse a la mejor solución s0 ∈ N (s).
s = s0 y registrar si s es lo mejor obtenido, ir a 2.
65
IN4704 - Gestión de Operaciones II
En este caso, se debe definir claramente la vecindad, la cual puede ser por
ejemplo, las soluciones con un intercambio de una sola publicidad, o de k publicidades, o cambios en publicidades que estén en k horarios.
• Algún método de búsqueda local tipo TABU, en donde consideramos la lista
como que guarde las publicidades asignadas en las ultimas iteraciones. O bien
también hacer una búsqueda local con simulated anneahling.
c)
Iteración
1
2
3
4
5
6
7
T
{ a, b, c, d}
{ a, c, d}
{ a, c}
{ a, c}
{ a}
{ a}
φ
(i, h)
(b, 2)
(d, 1)
( a, 2)
(c, 2)
( a, 1)
( a, 3)
>Agrego?
Sí
Sí
No
Sí
No
Sí
A1
φ
{d}
{d}
{d}
{d}
{d}
A2
{b}
{b}
{b}
{b, c}
{b, c}
{b, c}
A3
φ
φ
φ
φ
φ
{ a}
R
φ
φ
{( a, 2)}
{( a, 2)}
{( a, 2), ( a, 1)}
{( a, 2), ( a, 1)}
En palabras, cada iteración:
• Iteración 1, no tengo ninguna publicidad asignada, es decir T = { a, b, c, d},
luego veo la que al asignar me de mayores utilidades, es decir, la publicidad b
en el horario 2, pues pb2 = 80 es el máximo pago. Hago la asignación pues es
posible hacerla. Luego A2 = {b}.
• Iteración 2, T = { a, c, d}, el máximo pago es pd1 = 70, y asigno publicidad d a
horario 1. Luego A1 = {d}.
• Iteración 3, T = { a, c}, el máximo pago es p a2 = 60, pero no puedo asignar la
publicidad a al horario 2, pues no caben en el horario 2 las publicidades a y b
dado que sus largos suman 7, lo que supera a L = 6.
• Iteración 4, T = { a, c}, el máximo pago es pc2 = 50, y asigno publicidad c a
horario 2. Luego A2 = {b, c}.
• Iteración 5, T = { a}, el máximo pago es p a1 = 20, pero no puedo asignar la
publicidad a al horario 1, pues no es compatible con la publicidad d.
• Iteración 6, T = { a}, el máximo pago es p a3 = 5, y asigno publicidad a a
horario 3. Luego A3 = { a}.
• Termino, pues T = φ.
En este caso, la función objetivo de la solución obtenida es: 5 + 80 + 50 + 70 = 205.
d) Claramente este puede ser abordado mediante generación de columnas, pues se
pueden generar patrones de asignaciones de publicidades en horarios, por ejemplo,
un patrón podría ser el conjunto de publicidades que se considera para asignar en
algún horario en particular. De modo que habrían muchas variables, las cuales se
irán agregando de a poco.
66
IN4704 - Gestión de Operaciones II
Pregunta 5
Considere el problema de rutear K vehículos de capacidad Q para satisfacer clientes
{1, ..., n} cada uno con demanda di . Suponga además que los vehículos parten y vuelven
a un depósito, el punto 0, adonde hay un inventario I y que el costo de viaje entre los
puntos i y j está dado por cij . Note que el inventario total I y las capacidades de los
vehículos Q pueden hacer imposible satisfacer toda la demanda. Se desea resolver este
problema de ruteo de vehículos de forma que se minimice la demanda insatisfecha de la
forma más eficiente posible. Suponga que todos los clientes son visitados por exáctamente
un vehículo. Para balancear estos dos obejtivos se considera α ≥ 0 y la función objetivo:
Demanda insatisfecha + α(Costo de rutas)
1. Escriba un problema de programación entero mixto que represente este problema
de ruteo de vehículos. Explique las variables que utiliza y las restricciones
2. ¿Es posible que toda la demanda sea satisfecha? Utilice los parámetros del problema
para encontrar cotas a la demanda insatisfecha.
3. Explique como obtener una cota a este problema en tiempo polinomial.
4. ¿Cómo podría adaptarse la heurística Multiple Fragment a este problema?
Solución
1. Variables
yi = cantidad que hay en el camión cuando llega a i
zi = cantidad con la que parte un camión desde bodega a i
1 si viajo de i a j
xij =
0 si no
δi = demanda insatisfecha de i
Restricciones
∑ j xij = ∑k xki ≤ 1
∀i
∑i x0i = ∑k xk0 ≤ K
y j ≥ yi − di + δi − M(1 − xij )
yi ≤ Q
∀i, j
∀i
yi ≤ zi + M (1 − x0i )
∀i
∑i zi ≤ I
67
IN4704 - Gestión de Operaciones II
yi ≥ 0, zi ≥ 0, xij ∈ {0, 1}, δi ≥ 0
Función Objetivo
mı́n
∑ δi + α ∑ cij xij
i
ij
2. Las cotas a la demanda insatisfecha las dan el inventario y la capacidad de los
camiones. El menor de ellos será el determinante, por lo tanto,
demanda insatisfecha ≥
∑ di − mı́n { I, kQ}
i
3. Se puede encontrar una cota de varias formas. Una alternativa es a través de heurísticas que garanticen una solución factible. Otra podría ser resolviendo el la relajación
lineal del problema y mejorar esta solución mediante algoritmos de corte (como
B&B o Gomory).
4. Esta heurística se puede integrar agregando la restricción de capacidad para seleccionar arcos. El algoritmo sería así: 1) seleccionar el arco de menor costo. 2) probar
que el camión que utiliza ese arco es capaz de llevar la nueva demanda. 3) cuando ya no queden camiones disponibles o nodos libres (que toda la demanda fue
satisfecha) unir los extremos de las rutas a la bodega en 0.
68
IN4704 - Gestión de Operaciones II
7.
Ejercicios
Pregunta 1
1. ¿Cómo perciben la variabilidad en la demanda final, los eslabones de la cadena más
lejanos a la misma, con respecto a los más cercanos?. ¿Cómo se puede mejorar esta
percepción y cómo se denomina este fenomeno?.
2. ¿Por qué al configurar redes logísticas con foco en los costos de habilitación (construcción) y transporte es adecuado utilizar horizontes de planificación superiores
a 5 años?
3. Indique cuatro factores en común que tienen las industrias donde Revenue Managment se ha aplicado con éxito.
4. ¿Por qué se justifica la maximización de valor esperado en el problema de venta de
asientos en la industria aérea? ¿En qué casos la maximización de valor esperado no
se debería aplicar?
5. Considere un sistema de inventario (S, s) con tiempos entre llegadas de clientes
exponencialmente distribuidas (con tasa λ), tiempo de pedido exponencial de tasa
µ, y con costos de inventario (h), quiebre de stock (b), de orden fijo (A) y de orden
variable (v). ¿Comó utilizaría el método de reducción de varianza que considera una
variable de control para obtener una estimación del costo total de inventario?
6. Suponga que la probabilidad que lleguen al menos i clientes de la clase 1 es p1 (i ) =
1/5i y de la clase 2 es p2 (i ) = 1/2i . Calcule cuantos asientos se deben reservar en
total para las clases 1 y 2 y no vender a la clase 3 si los precios son c1 = 100, c2 = 80
y c3 = 40.
Solución
1. La variabilidad de la demanda se va ampliando a medida que estamos en eslabones
más distantes de la demanda final. Esto se llama el efecto látigo y se puede mejorar
con mejor integración y comunicación entre los eslabones de la cadena de suministro.
2. Debido a que los costos de habilitación (construcción) son importantes, relativo a
los costos operacionales o diarios. Además estas decisiones crean infraestructura
que va a influenciar operaciones por períodos largos, en particular superiores a 5
años.
Para medir el impacto de estas decisiones, es necesario comparar los costos de estas
con su impacto en los costos operativos por un período importante para determinar
si es conveniente. Períodos demasiado largos resultan irrelevantes por la tasa de
descuento y el aumento de incertidumbre en las condiciones del problema.
69
IN4704 - Gestión de Operaciones II
3. Primero, son industrias donde con altos costos fijos. Segundo, donde ajustar oferta a
la demanda es difícil o imposible en el corto plazo. Tercero, costos marginales bajos,
es decir, el atender o entregar un bien a un cliente extra tiene costo muy bajo en la
medida que exista capacidad disponible. Cuarto, es posible discriminar clientes de
distintas formas, por ejemplo, cuando realizan su compra, o por pequeñas diferencias en el tipo de producto requerido. Quinto, en general, los productos vendidos
no son almacenables.
4. Maximización de valor esperado se justifica cuando el agente tomador de decisiones
es neutro ante el riesgo. Típicamente esto sucede cuando las decisiones se repiten
muchas veces en un período corto de tiempo, como en el caso de la venta de asientos
de una aerolinea aérea, donde un dado vuelo de A a B, en un horario fijo durante la
semana es esencialmente el mismo. Nótese sin embargo que cuando esta simetría se
pierde, valor esperado deja de ser atractivo, pues esencialmente, en la medida que
una decisión es única, queremos sacarle el mayor provecho posible, o resguardarnos
de las malas situaciones etc.
Por ejemplo, para la venta de pasajes en la semana anterior a navidad, usar valor
esperado pierde sentido, o más claramente, al momento de diseñar un sistema de
emergencia, uno no considera el caso promedio, si no que los malos escenarios.
5. Si xi son los resultados de costo total de la simulación i, este método utiliza el estimador insesgado del costo total dado por X̄c = 1/n ∑in=1 xi + c(zi − µz ), donde z es
una variable aleatoria correlacionada con x y con esperanza conocida.
En este caso z puede ser el tiempo entre la llegada de i − 1 e i, que tiene esperanza
conocida µz = 1/λ.
Se deben correr algunos simulaciones piloto para estimar c = −corr ( x, z)/var (z)
con la correlación y varianzas empíricas de las corridas piloto.
6. Los asientos que reserva la clase j estan dados por el mayor i tal que c j p j (i ) ≥ c3 . Si
c j p j (i ) < c3 preferimos aceptar el cliente de la clase 3.
Con los datos arriba, esto dice que p1 (i ) = 1/5i > 40/100 = 2/5. Es decir i = 0
para la clase 1, y p2 (i ) = 1/2i ≥ 40/80 = 1/2 es decir i = 1 para la clase 2. En total
EMSRa guardaria 1 asiento para las clases 1 y 2 y no se lo vendería a algún cliente
de 3 que aparezca.
Pregunta 2
1. En cuanto al modelo de tamaño de flota que se puede decir respecto a: ¿De qué
tipo de decisón se trata? ¿Estratégica, táctica u operacional?. Mencione que consideraciones se deben tener al momento de tomar una decisión?. Proponga formas de
solución a este problema.
70
IN4704 - Gestión de Operaciones II
2. Una empresa le pide determinar el número de vehículos que necesita dado que debe
realizar viajes desde un conjunto de I productores a un conjunto de J vendedores.
Además se cuenta con una estimación del tiempo de viaje desde el origen i al destino
j y un factor de conversión α que relaciona la cantidad de horas viajadas y el número
de vehículos necesario para esa cantidad de horas. Cada punto de origen i tiene una
oferta determinada que se satisface con ai viajes, y cada punto de destino j tiene una
demanda que se satisface con b j viajes. Plantée un modelo para encontrar el número
de vehículos óptimo.
Solución
1. Se trata de una decisión táctica- estratégica, pues es una decisión que afecta al mediano y largo plazo, y que condiciona de gran forma el funcionamiento de una empresa.
Algunas consideraciones que se deben tener al momento de tomar la decisión son:
Tipos de vehículos (ej. pasajeros, servicios, productos, etc)
Relaciones contractuales (vehículos propios, subcontratados, sistema mixto)
Número de depósitos, de destinos y demanda
Frecuencia de viajes, tiempos y distancias de viaje
Tipos de ruteo
Características de los vehículos (costos, carac. técnicas, etc)
Objetivos (tiempo de llegada, minimizar costos, calidad de servicio, etc)
Algunas soluciones a este problema pueden ser:
Cálculo directo: número aproximado de clientes por vehículo
Simulación: análisis de distintos escenarios
Modelos matemáticos (ejemplo modelo lineal)
2.
Variables
xij : número de viajes desde el origen i al destino j
N: número de vehículos
Restricciones
71
IN4704 - Gestión de Operaciones II
∑ j xij = ai
∀i
∑i xij = b j
∀j
N = ∑i ∑ j tij xij α
xij ≥ 0
Función Objetivo
mı́n N
Pregunta 3
Sea Xc = X + c( Z − E( Z )), tal que Z y X son v.a. que están correlacionadas y donde
además E( X ) = µ. Demuestre que la media de Xc es la misma que la de X y encuentre el
punto de menor varianza de Xc , a partir de c. Explique porqué siempre que X y Z estén
correlacionadas, la variable Xc tendrá menor varianza.
Solución
Teniendo Xc = X + c( Z − E( Z )), tomemos la esperanza de esta variable.
E( Xc ) = E( X ) + c(E( Z ) − E( Z ))
= E( X )
=µ
Para encontrar el punto de mínima varianza calculemos Var ( Xc ) y derivemos en función
de c.
=⇒
=⇒
Var ( Xc ) = Var ( X ) + c2 Var ( Z ) + 2cCov( X, Z )
dVar ( Xc )
= 2cVar ( Z ) + 2Cov( X, Z ) = 0
dc
−cVar ( Z ) = Cov( X, Z )
−Cov( X, Z )
=⇒
c=
Var ( Z )
72
IN4704 - Gestión de Operaciones II
Si reemplazamos en Var ( Xc ):
Var ( Xc ) = Var ( X ) + c2 Var ( Z ) + 2cCov( X, Z )
−Cov( X, Z ) 2
−Cov( X, Z )
= Var ( X ) +
Var ( Z ) + 2
Cov( X, Z )
Var ( Z )
Var ( Z )
Cov( X, Z )2
Cov( X, Z )2
= Var ( X ) +
−2
Var ( Z )
Var ( Z )
Cov( X, Z )2
= Var ( X ) −
Var ( Z )
Cov( X,Z )2
Dado que Var(Z) > 0 (X y Z están correlacionadas y Var ( Z ) > 0) siempre la varianza de Xc va a ser menor que la de X.
Pregunta 4
1. Dado f , g : N → R+ , demuestre que f (n) + g(n) = O(máx f (n), g(n))
2. Ordene en términos de crecimiento asintótico ls√siguientes funciones (i.e. ordenadas
según notación O( g)). n3 , log(n!), 2log(n) , n3+4 n , 4log(n) , n73 , n!, log(log(n)), n, 2n ,
nlog(log(n)) , log(n), 1.
3. Suponga que puede obtener sampleos X1 , ..., Xq de una variable aleatoria X de distribución desconocida. Explique como estimar el cuantil 10 % de la distribución (el
valor que es superado un 90 % del tiempo) con una confianza del 95 %.
4. Describa los distintos elementos presentes en una cadena de suministros y como
cada uno contribuye al objetivo de la cadena.
Solución
1. Se tiene que:
f (n) ≤ máx( f (n), g(n))
∀n
g(n) ≤ máx( f (n), g(n))
∀n
g(n) + f (n) ≤ 2 · máx( f (n), g(n)) ∀n
Siendo 2 una constante, se tiene el resultado por definición.
2. Una transformación útil:
log2 (n)
1
2log(n) = 2 log2 10 = n log2 10 = nlog(2)
73
IN4704 - Gestión de Operaciones II
Además de la siguiente desigualdad:
n
log(n!) =
∑ log(i) ≤ nlog(n) ≤ n2
i =1
Y por último para demostrar que
n 3+4
√
n
≤ n7
√
n
≤ 2n
se considera la siguiente igualdad. Dado que log() es creciente estricta:
√
7 nlog(n)
7log(n)
lı́m
= lı́m √
=0
n→∞ nlog (2)
n→∞
nlog(2)
Finalmente se tiene:
1 ≤ log(log(n)) ≤ 2log(n) ≤ 4log(n) ≤ n ≤ log(n!) ≤ n3 ≤ n73 ≤ nlog(log(n)) ≤ n3+4
√
n
3. Realizamos varias simulaciones para obtener un set de N sampleos X1,..., Xq/N .
Luego se ordenan los Xi de menor a mayor para cada simulación, de modo de poder
separar el 10 % más bajo. Luego, se toman los valores críticos (cada valor que mar%
ca el 10 % menor) para cada simulación; se promedian los ∑ X10
N y se obtiene su
desviación estándar empírica S10 % .
Para lograr un intervalo de confianza del 95 %, suponemos que el promedio sigue
una distribución normal (implica N mayor que 30), se necesita crear uno que multiplique por 1, 96 a la desviación. Luego se tiene
X10 %
X10 %
∑ N − 1, 96 · S10 %, ∑ N + 1, 96 · S10 %
4. Esta se compone de proveedores, centros de manufactura, bodegas, centros de distribución y locales de venta.
Además considera materias primas, inventario de productos en proceso y productos
terminados que fluyen por las instalaciones.
En general, una cadena de suministros bien articulada, busca reducir costos y tiempos de ciclo, como también mejorar la calidad del servicio, en un proceso de reparto
de productos. Específicamente:
Los proveedores son quienes entregan productos típicamente no procesados a
la cadena.
Los centros de manufactura se utilizan para ensamblar o terminar el producto.
74
≤ 2n ≤ n!
IN4704 - Gestión de Operaciones II
Las bodegas son utilizadas para almacenar el producto terminado.
Los centros de distribución se encargan de repartir de manera inteligente el
producto a los distintos locales.
En los locales de venta se entrega el producto al cliente.
Pregunta 5
El centro de distribución (CD) de una cadena farmacéutica, se encarga de recibir fármacos desde distintos laboratorios, para luego repartirlos a diversos locales para su venta, según las necesidades de estos. Una operación importante del CD es la preparación
de pedidos. La preparación ocurre en cada una de 8 áreas de almacenamiento en el CD.
Los operarios de preparación reciben pedidos (guías de despacho) desde los locales con
la cantidad y tipo de producto deseado. De modo que el operario debe extraer todo lo
que se indica, armar un paquete, y despacharlo.
Los fármacos se mantienen en un inventario con un valor máximo por producto de
Imax . Cada producto se abastece mediante entregas que completan la cantidad a Imax y
cuyo tiempo entre llegada sigue una exponencial con media 15 días. El tiempo que demora un operario en armar una guía depende del número k de distintos tipos de fármacos en
la guía y se representa por una distribución exponencial de media 2k minutos. Una vez
completa la guía se pone en un camión que la lleva a destino.
El Jefe de operaciones del CD se ha dado cuenta que existen importantes pérdidas,
producto de las horas extras que debe pagar para la preparación. Antes de ajustar el personal ha considerado utilizar los conocimientos de simulación que adquirió en su curso
de Ingeniería de Operaciones para identificar los tiempos muertos del sistema y realizar
mejoras tecnológicas en aquellas partes del proceso donde existen cuellos de botella.
Suponga que hay 10 fármacos distintos y que las guías de despacho llegan al CD
con una distribución exponencial de media 30 minutos. Para evaluar distintas formas
de preparación de guías de despacho, se desea correr simulaciones y estimar:
Tiempo muerto en preparación
Tiempo para completar cada tipo de orden
1. Identifique cuando hay tiempo muerto en el sistema.
2. Describa como haría una simulación para el sistema anterior. ¿Cuáles son las variables de estado del sistema? ¿Cuáles son los eventos importantes? y ¿Cómo se calculan los estadísticos requeridos?
3. Describa en grandes razgos el control de flujo o algoritmo de este proceso de simulación. Puede presentar un diagrama explicando el proceso de simulación y los
distintos eventos del sistema.
75
IN4704 - Gestión de Operaciones II
Solución
1. Por definición, tiempo muerto es cualquier momento en el que se desaprovechen
recursos en el sistema. El único recurso son los operarios, luego el tiempo muerto
relevante es el tiempo ocioso de cada operario.
2. Variables de Estado:
Número de productos en inventario por cada uno de los fármacos.
Número de guias en cola.
Estado de ocupado, vacio o trabado por cada operario.
Tiempo ocioso de cada operario.
Tiempo en el sistema de cada guia
Cualquier evento que gatille la modificacion de una variable de estado es un evento
importante. Por ende vamos a describir una simulación que es ”event driven”. Los
eventos importantes son:
Llegada de un abastecimiento
Llegada de una guia
Fin de un servicio
Un producto se agota
Los estadisticos requeridos:
Se calculan las diferencias de tiempo cada vez que se cambia de estado, a cada estadistico relevante se le suma su delta. Esto se realiza de la siguiente forma: Cuando
sucede un evento, queda registrada su hora. Luego el diferencial de tiempo se calcula con la resta simple entre la hora del último evento con el penúltimo. Debe existir
un contador del tiempo ocioso de cada operario, como también uno del tiempo que
lleva en el sistema cada guia.
3. El control de flujo de la simulación consiste en esperar a que ocurra el siguiente
evento y cuando este ocurre actualizar las variables de estado.
Una vez concluido un evento, se samplean los tiempos exponenciales de las llegadas
de productos, llegadas de una guia, servicios de operarios.
El siguiente evento que ocurre es el evento que logra el menor tiempo entre todas las
variables aleatorias. En el caso en que el servicio sea el menor y que los inventarios
sean menores que los requerimientos de la guia en ese operario ocurre el evento en
que falta un producto.
Las acciones del control de flujo en los 4 distintos eventos que pueden ocurrir, son:
76
IN4704 - Gestión de Operaciones II
Llegada de una guia:
• Se actualizan las diferencias de tiempo.
• Caso operario vacio, admite la guia
• Caso operarios ocupados, va a la cola.
Llegada de productos:
• Se actualizan las diferencias de tiempo.
• Se programa ese producto en Im ax.
• Si producto en ”0”, se completan los pedidos estancados.
Se completa servicio:
•
•
•
•
Se actualizan las diferencias de tiempo.
Se pone el servidor en vacio.
Si hay cola, se le asigna otro trabajo.
Si no hay cola, se pone en ocio.
Cuando falta producto:
• Se actualizan las diferencias de tiempo.
• Se pone el servidor en ”trabado”.
Pregunta 6
1. Explique la diferencia entre (y dé ejemplos de) un modelo de simulación estocastico
dinámico y uno estático.
2. Describa como utilizaría un método de reducción de varianza en un simulador de
un sistema M/M/1 con tasa de llegada λ y de servicio µ, si la variable de interés es
el tiempo de espera en la primera media hora de funcionamiento. Explique cuál es
el estimador que utilizará y por qué tiene menor varianza.
3. Dé un ejemplo de una decisión estratégica, una táctica y una operacional en el contexto de la logística, explicando las razones de su clasificación.
4. Considere el problema de lineal de obtener el tamaño de una flota visto en clase:
mı́n N
x,N
s. a
∑ xij = ai
∀i = 1, . . . , M
∑ xij = bi
∀ j = 1, . . . , M
j
i
N = α ∑ tij xij
i,j
xij ≥ 0
77
IN4704 - Gestión de Operaciones II
a) Explique qué significa este problema. En particular dé el significado de los
parámetros a, b, α y t y de las variables x, N.
b) ¿Cómo modificaría este problema para indicar que deben considerarse dos
tipos distintos de camiones que difieren en tamaño?
5. ¿A qué corresponde el coeficiente de variación de un producto? ¿Qué impacto tenía
éste en las decisiones tomadas en el caso de Sport Obermayer?
Solución
1.
Dinámico: El problema cambia de estructura con el tiempo y debe resolverse
cada vez que cambian los parámetros. Ejemplos: Ruteo de vehículos de emergencia, asistencia de fallas.
Estático: La configuración no cambia y basta con resolver una vez el problema.
Ejemplo: planificación diaria de despacho de productos.
2. Si se quiere estimar el tiempo de espera antes de salir del sistema utilizando reducción de varianza, entonces se puede utilizar la variable aleatoria Xc = X + c( Z −
E( Z )) donde X es el tiempo de espera, Z es una variable que está correlacionada
−Cov( X,Z )
con X y c = Var(Z) una constante a estimar. En este caso Z podría ser el tiempo
de llegada de los individuos o el tiempo de servicio, pues ambas variables estarán
correlacionadas con el tiempo de espera. Además se conoce su esperanza por lo que
es más fácil generar Xc .
El estimador finalmente sería X̄c .
3.
Estratégica: Son de gran impacto, afectan de gran medida el largo plazo de
la empresa y también el mediano plazo, son de carácter gerencial. Ejemplo:
Alianzas con otras empresas, creación de centros de almacenamiento, tamaño
de flota.
Táctica: Mediano plazo, no tan decisivas como las estratégicas. Ejemplos: Reducción o aumento de personal.
Operacional: Día a día, corto plazo. Son decisiones no tan importantes y son
tomadas por quienes ejecutan las tareas. Ejemplos: Atraso en entregas, horas
extra de trabajo.
4.
a) Este problema busca determinar la cantidad mínima de vehículos para satisfacer la demanda de un conjunto de clientes distribuyendo la oferta de productos
de varios centros de producción.
N es el número de camiones a comprar, xij representan la cantidad de viajes
necesarios que se deben realizar en la ruta i − > j, por lo que ai y bi representarán el número esperado de viajes que se tendrán que realizar desde una
bodega o hacia un cliente. Esto tiene sentido pues la compra de camiones es
78
IN4704 - Gestión de Operaciones II
una decisión táctica, entonces no existe certeza total sobre la cantidad de bienes a transportar, pero sí se puede estimar mejor la cantidad de viajes.
α representa un factor de conversión de el número de horas de viajes que se hacen al número de vehículos necesarios para realizar esas horas en un periodo
de tiempo.
b) Se deben crear las variables N1 = número de vehículos de tipo 1 y N2 = número
de vehículos de tipo 2. Además se debe determinar lo transportado por cada
vehículo en cada ruta i − j, por lo que se agregan las variables xij1 y xij2 . Finalmente el problema se reescribe como:
mı́n N1 + N2
s. a
∑ xij1 + xij2 = ai
∀i = 1, . . . , M
∑ xij1 + xij2 = bi
∀ j = 1, . . . , M
j
i
N1 = α1 ∑ tij xij1
i,j
N2 = α2 ∑ tij xij2
i,j
xij1 , xij2
≥0
5. El coeficiente de variación representa una medida de la dispersión de la demanda
σ
con respecto a la media, dada por µpp , con σp la desviación estándar esperada del
producto y µ p la demanda media del producto. Coeficientes de variación altos están
asociados a altos costos de errar en calzar demanda con oferta, así que deben ser los
productos a los que más atención se les coloca al momento de decidir las cantidades
a ordenar, según se realizó en el caso de SO.
Pregunta 7
1. Explique la diferencia entre decisiones estratégicas, tácticas y operacionales en la
administración de una cadena de suministro. De un ejemplo de cada tipo de decisión.
2. Comente la veracidad de las siguientes afirmaciones:
a) En un sistema de colas con cola única y multiples servidores (e.g. M/M/c), un
nivel de utilización de 95 % es riesgoso ya que siempre produce tiempos de
espera demasiado altos.
79
IN4704 - Gestión de Operaciones II
b) En el control estadístico de procesos, aumentar el tamaño de la muestra utilizada para construir los diagramas de control lleva a una detección mas eficiente
de procesos fuera control.
3. Considere el problema de optimización con n variables x = ( x1 , x2 , . . . , xn ) = ( x1 , x̄ ):
mı́n c1 x1 + c̄ T x̄
s.t. x1 + aiT x̄ ≤ bi i = 1, . . . m
donde m >> n.
a) Describa el método de generación de restricciones para resolver este problema.
Indique cuál es el valor de la cota inferior del valor óptimo que se obtiene en
cada iteración.
b) Encuentre una cota superior al valor óptimo que se obtiene en cada iteración
cuando c1 < 0. ¿Cuanto es el gap con la cota inferior.?
Solución
1. Diferencias tienen que ver con cuanto tiempo estas decisiones influencian la cadena
de suministro ademas de los montos involucrados en las decisiones. Por ejemplo,
una decision estratégica seria decidir si extender la red de suministro a un mercado
nuevo, lo que involucra inversion en la cantidad de produccion, bodegas, expandir
flota, etc para el nuevo mercado. Una decision táctica puede ser decidir con que
transportista establecer un contrato de transporte que dure un periodo (por ejemplo
un año). una decision operacional puede ser cuanto producir una semana o enviar
un dia.
2.
a) En un sistema de colas markovianos un nivel de utilización del 95 % no producirá siempre tiempos de espera altos, pero si genera una espera promedio
alta, junto con una prácticamente nula capacidad de respuesta frente a variabilidad de la demanda al alza.
b) Dado
q que los intervalos de confianza del proceso están dados por CL = p̄ ±
p̄(1− p̄)
3
ni , con ni , i = 1, . . . , m el tamaño de la sub-muestra dentro de las m
muestras, si se consideran más casos por cada muestra tiene un efecto en la
certeza, pero este efecto debe ser contrapesado con el mayor costo que trae el
muestrear más veces, por lo que no siempre es eficiente en costos.
3.
a) El problema maestro del método de generación de restricciones es
mı́n c1 x1 + c̄ T x̄
s.t. x1 + aiT x̄ ≤ bi i ∈ I
80
IN4704 - Gestión de Operaciones II
donde I ⊂ {1, . . . , m} es un conjunto pequeño de restricciones. Una vez resuelto el maestro se obtiene una solución x ∗ = ( x1∗ , x̄ ∗ ) y se debe resolver el
siguiente subproblema:
z = mı́n bi − aiT x̄ ∗
i ∈{1,...,m}
Si z ≥ x1∗ entonces tenemos que x ∗ es la solución óptima del problema completo. Si no, entonces exite un j tal que z = b j − a Tj x̄ ∗ , agregamos j a I y volvemos
a resolver el problema maestro.
En cada iteración el valor c1 x1∗ + c̄ T x̄ ∗ es una cota inferior al valor óptimo del
problema completo, v∗ ya que es la solución de un problema mas relajado (con
región factible mas grande).
b) Dada la solución al maestro x ∗ y el valor del subproblema z, tenemos que x̃ =
(z, x̄ ∗ ) es factible para el problema completo, por lo tanto v∗ ≤ c1 z + c̄ T x̄ ∗ . Note
que en una iteración normal z < x1∗ por lo que c1 < 0 es critico para que las
cotas superiores e inferiores estén ordenadas ya que en ese caso c1 x1∗ < c1 z. El
gap es de c1 (z − x1∗ ) > 0.
Pregunta 8
Considere un problema en que rutea K vehículos que salen del nodo 0 para atender
clientes 1, . . . , n. Para cada localidades i y j usted enfrenta un costo de viaje igual a cij y
un tiempo de viaje igual a tij . Cada cliente i tiene una ventana de tiempo para ser visitado
dada por [ ai , bi ] y si el vehiculo llega antes incurre un costo de α por unidad de tiempo,
mientras que si llega tarde un costo de β por unidad de tiempo.
1. Formule este problema de ruteo de vehículos de forma de minimizar el costo total
de las rutas por viajes y violaciones a las ventanas de tiempo.
2. ¿Tiene sentido llegar antes a un cliente o siempre se puede esperar en la puerta?
3. Cuando α = β = 0 recuperamos el ruteo de vehiculos simple, si α = β = ∞
tenemos un problema de ruteo de vehiculos con ventanas de tiempo duras. ¿Cómo
se comparan los costos de viaje de la ruta óptima cuando α = β = 0, α = β = ∞ y
α, β > 0?
4. Muestre la siguiente equivalencia en las restricciones que eliminan sub-tours de un
problema de ruteo de vehiculos:
∑
i,j∈S
xij ≤ |S| − 1 ∀ S ⊂ V
⇔
∑
xij ≥ 1 ∀ S ⊂ V
i ∈S,j6∈S
Solución
81
IN4704 - Gestión de Operaciones II
1. usaremos variables binarias xij para indicar si un vehiculo viaja de i a j. Ademas
se utilizarán variables continuas wi que indica el tiempo de llegada al cliente i, li el
atraso al cliente i, y ei el tiempo que se llega adelantado al cliente i.
mı́n ∑ijn =1 cij xij + ∑in=1 αei + βli
s.a. ∑nj=1 xij = ∑nk=1 xki = 1
∑nj=1 x0j = ∑nk=1 xk0 = K
wi + tij ≤ w j + M (1 − xij )
wi + ei ≥ a i
w i − l i ≤ bi
wi , li , ei ≥ 0
xij ∈ {0, 1}
i = 1, . . . n
i, j = 1, . . . n
i = 1, . . . n
i = 1, . . . n
i = 1, . . . n
i, j = 0, 1, . . . n
2. Si, puede ser ventajoso llegar adelantado a un cliente i, e incurrir en el costo α si esto
luego permite llegar a tiempo a otro cliente k, posiblemente ahorrando un costo β.
Note que hay ejemplos en los que podemos llegar adelantados a un cliente y ’esperar
en la puerta’ para ahorrarnos el costo α. En este caso se veria que la restriccion 3
tendria holgura y podriamos ahorrarnos la penalidad por llegar antes.
3. En este problema solo deseamos comparar el costo de viaje c T x = ∑ij cij xij de las
rutas óptimas en cada caso. Esto es, como se ordenan c T x0 , c T x ∞ , y c T x ∗ , donde x0
es la solución óptima cuando α = β = 0 (caso 1), x ∞ cuando α = β = ∞ (caso 2) y
x ∗ para todo los otros α, β > 0(caso3)
Como el problema con restricciones duras de ventanas de tiempo es un problema
más restringido, tenemos que c T x ∞ ≥ c T x0 , c T x ∗ ya que no todas las rutas que son
factibles en los casos 1 y 3 son factibles en el caso 2. Luego, en el caso 1 solo se
esta minimizando c T x (ya que las penalidades por adelantarse o atrasarse son cero)
por lo que c T x0 debe ser el valor de la ruta con tiempo de viaje minimo. Luego
c T x0 ≤ c T x ∗ ≤ c T x ∞
4. Dado un conjunto no vacio y estricto, S ⊂ V. Es decir que hay al menos un punto
i ∈ S y un punto j 6∈ S. Tenemos que para todo punto i ∈ S una ruta factible satisface
la restriccion ∑nj=1 xij = 1, esto quiere decir que para todo i ∈ S tenemos
1=
∑ xij + ∑ xij
j∈S
j6∈S
sumando sobre todos los i ∈ S tenemos
|S| =
∑
i,j∈S
xij +
∑
xij
i ∈S,j6∈S
Esta equación se utiliza para demostrar la equivalencia de la pregunta.
82
IN4704 - Gestión de Operaciones II
Pregunta 9
1. Describa brevemente como utilizar optimización estocástica para encontrar la solución óptima para el problema del caso Sport Obermayer. En particular indique cuales
son las variables de primera etapa, de segunda etapa, la incertidumbre, objetivo y
restricciones.
2. Un cine debe decidir cuantas entradas ofrece atravez de un sistema de ventas colectivas con descuento (Grapin) recibiendo $1.000 y cuantas deja para clientes de último minuto que compran en la boleteria a $5.000. Suponga que siempre vende todas
las entradas ofrecidas por Grapin, que la sala de cine tiene capacidad para 200 personas, y que el número de clientes de último minuto es un número uniformemente
distribuido entre 21 y 70. Utilice la regla de Littlewood para determinar cuantos
asientos se deben reservar para clientes de último minuto.
3. De dos ejemplos de decisiones estratégicas en la logística de transportes. Indique el
tipo de problema que debe ser resuelto para tomar esta decisión y explique porque
son estratégicas y no de otro tipo.
4. Muestre que el sub-problema de generación de columnas es equivalente al subproblema de generación de restricciones en el dual del problema original. Considere
para esto la generación de columnas en el siguiente PL, donde n >> m:
n
mı́n ∑ c j x j |
j =1
n
∑ aij x j = bi ,
i = 1 . . . m, x j ≥ 0, j = 1 . . . n .
j =1
5. De un pequeño ejemplo que muestre que la heurística del vecino más cercano puede
no encontrar la solución óptima.
Solución
1. En el caso de S.O. hay que decidir cuanto de distintos productos encargar antes de
ver una buena approximación de la demanda real en el show de Las Vegas. Luego
del show se pueden encargar más productos sujeto a restricciones de capacidad mas
estrictas.
Si tomamos la demanda despues del show como la demanda real, esto es un problema de optimización estocástica con dos etapas: la variable de primera etapa son
los pedidos originales, mientras la variable de segunda etapa son los pedidos que
se realizan despues del show conocida la demanda real. La demanda es incierta al
hacer los pedidos originales, pero es revelada en el show de las vegas, antes de las
variables de segunda etapa.
Este modelo busca la solución que maximiza los ingresos esperados, considerando
los costos de overage y underage, dadas realizaciones de demanda.
83
IN4704 - Gestión de Operaciones II
2. El criterio de littlewood dice: si se tienen k asientos disponibles, se debe reservar el
último espacio para el cliente de mejor precio (p1 ) si p1 P(d1 ≥ k ) ≥ p2 . En este caso
esto dice que, se debe encontrar el mayor k tal que P(d1 ≥ k ) ≥ 1000/5000 = 1/5 =
0.2.
Como d1 es un número entero ∼ U [21, 70] tenemos que P(d1 = k) = 1/50 para todo
k ∈ {21 . . . 70}, por lo que P(d1 ≥ k ) = (70 − k + 1)/50 para todo k ∈ {21 . . . 70}.
Con esto vemos que el mayor k que satisface Littlewood es k = 61 donde P(d1 ≥
61) = 1/5. Esto implica que se deben guardar 61 asientos para la clase 1 y enviar
139 a Grapin.
3. Todos los problemas abajo se pueden representar con modelos de optmizacion lineal, algunos con variables enteras. Son principalmente estratégicas por los montos
de inversión involucrados en estas decisiones y los horizontes de planificación que
deben ser considerados para estos proyectos. No se pueden tomar estas decisiones
todos los días o varias veces al año. Otra generalidad es que dado los horizontes
de planificación resulta importante representar la incertidumbre se puede optar a
modelos mas simples (flujo en redes) en los que es mas facil considerar la incertiumbre. Abajo describo algunos ejemplos de decisiones estrategicas y describo en
mas detalle que modelos de optimización servirian.
Comprar una flota o subarrendar el servicio de transporte. Se puede representar el problema de ruteo que se debe hacer como un VRP (con variables enteras)
para determinar los costos y nivel de servicio de las distintas alternativos de
flota.
Donde construir un depot (bodegas, garage, mantencion vehiculos). Problemas
de localizacion, con variables enteras que deciden si un depot se usa o no y
algun modelo de asignación de demanda a depots abiertos.
Como diseñar la red de transporte, por ejemplo usar una bodega de distribución y altos costos de transporte, o muchas bodegas con menores costo de transporte pero con mas segmentos. Un problema de flujo en redes en los que tambien pueden haber nodos con capacidades que se van a cero.
Determinar los puntos de la demanda que serán cubiertos (determinando cantidad de transporte necesario). Modelos lineales del costo approximado de satisfacer una cierta cantidad de demanda.
4.
5.
Pregunta 10
84
IN4704 - Gestión de Operaciones II
1. Explique cuando es conveniente abordar un problema de decisón con un modelo de
simulación, de optimización matemática, o mediante heurísticas.
2. Suponga que quedan 3 asientos disponibles en un vuelo que pueden venderse a precio completo (US$1.000) o en oferta (US$400). Suponga además que la probabilidad
que lleguen 0, 1, ó 2 clientes de precio completo es 0,1 , 0,25 y 0,35 , respectivamente.
En este momento llega una persona a comprar el pasaje en oferta. Utilice la regla de
Littlewood para decidir si se le vende el pasaje o no.
3. Dada esta formulación de el cutting stock problem:
mı́n ∑kK=1 yk
s.t. ∑kK=1 xik ≥ bi
∑in=1 wi xik ≤ Wyk
yk ∈ {0, 1}
xik ≥ 0 integer
∀i = 1 . . . m
∀k = 1 . . . K
∀k = 1 . . . K
∀i = 1 . . . m, k = 1 . . . K
a) Formule el problema que es resuelto por generación de columnas. ¿Cómo se
compara el valor óptimo con el del problema de arriba?
b) Escriba el problema maestro y el subproblema del método de generación de
columnas.
c) ¿Cómo obtenemos una cota superior al valor óptimo en cada iteración del
método de generación de columnas?
d) Al hacer una generación de columnas para resolver el problema, >como obtenemos una cota superior?
Solución
Pregunta 11
1. ¿Cuándo es importante utilizar un método de reducción de varianza en una simulación?
2. Suponga que una simulación (con varianza σ2 conocida) arroja un promedio x̄ > 0.
¿Cuántas repeticiones de la simulación son necesarias para tener un 95 % de confianza que el promedio de la simulación es mayor o igual a zero?
3. ¿El algoritmo de descomposición de Benders es un ejemplo de un método de generación de columnas o de generación de restricciones? Explique brevemente.
4. ¿Por qué se justifica la maximización del valor esperado en el Newsvendor problem? ¿En qué casos maximizar el valor esperado no tiene sentido?
Solución
85
IN4704 - Gestión de Operaciones II
1. Cuando realizar una simulación sea muy costoso o difícil, la reducción de varianza se convierte en una alternativa para conseguir resultados más robustos, sin la
necesidad de hacer nuevas simulaciones.
2. Sabemos que el estimador x̄ tiene media µ y varianza
se el promedio es no negativo se debe cumplir:
σ2
n . Para garantizar al % 95 que
P(µ ≥ 0) = 0.95
=⇒ P
µ− x̄
√
σ/ n
=⇒ 1.64 ·
=⇒
√σ
n
1.64
x̄ σ
2
≥
−√
x̄
σ/ n
= 0.95
≤ x̄
≤n
Gracias a que P( Z ≤ 1.64) = 0.95 cuando Z ∼ N (0, 1)
3. Es un ejemplo de generación de restricciones. Es un método que tiene un problema principal (P. Maestro) al que se le agregan restricciones, en la medida que los
subproblemas no cumplan ciertos criterios.
4. Maximización de valor esperado se justifica cuando el agente tomador de decisiones
es neutro ante el riesgo. Típicamente esto sucede cuando las decisiones se repiten
muchas veces en un período corto de tiempo, como en el caso de la venta de asientos
de una aerolinea aérea, donde un dado vuelo de A a B, en un horario fijo durante la
semana es esencialmente el mismo. Nótese sin embargo que cuando esta simetría se
pierde, valor esperado deja de ser atractivo, pues esencialmente, en la medida que
una decisión es única, queremos sacarle el mayor provecho posible, o resguardarnos
de las malas situaciones etc.
Por ejemplo, para la venta de pasajes en la semana anterior a navidad, usar valor
esperado pierde sentido, o más claramente, al momento de diseñar un sistema de
emergencia, uno no considera el caso promedio, si no que los malos escenarios.
Pregunta 12
Suponga el siguiente problema: Usted tiene N trabajos que procesar en M máquinas.
Cada trabajo debe ser procesado en todas las máquinas, pasando siempre primero por la
máquina 1, luego por la máquina 2, y así sucesivamente hasta terminar en la máquina M.
Suponga además que los trabajos deben ser procesados en el mismo orden en todas
las máquinas.
86
IN4704 - Gestión de Operaciones II
El trabajo n toma Tnm en ser procesado en la máquina m.
Plantee un problema de programación lineal para determinar el orden en que debe
procesar los trabajos de modo de minimizar el tiempo de tránsito total.
Solución
Las variables son:
1 Si el trabajo j se realiza inmediatamente después del i
xij =
0 Si no
tim = tiempo de comienzo del trabajo i en la máquina m.
t f = tiempo de fin del último trabajo en la última máquina
Las restriciones:
∑iN=0 xij = 1
∀j
+1
∑N
j=1 xij = 1
∀i
∑N
j=1 x0j = 1
∑iN=1 xiN +1 = 1
t f ≥ tiM + TiM
tim+1 ≥ tim + Tim
∀i
∀i, m
t jm ≥ tim + Tim − (1 − xij )V
tim ≥ 0, xij ∈ {0, 1}
∀i, j, m V >> 1
∀i, j, m
y finalmente la función objetivo
mı́n t f
87
Descargar