Pauta PRUEBA Nº2 – EII450_2 07

Anuncio
Pontificia Universidad Católica de Valparaíso
Escuela de Ingeniería Industrial
EII-450 Investigación de Operaciones II
Pauta Prueba Nº2
30 de Octubre de 2007
Parte I: 45 Pts.
Considere el siguiente problema de localización de instalaciones no-capacitado:
n
Min
n
i
i 1
n
s.a :
m
 K y   d c x
x
i 1
ij
m
x
j 1
ij
i
i 1 j 1
j ij ij
 1, j  1,..., m
1
 myi , i  1,..., n  2 
xij , yi  {0,1}, i, j
 3
a) Describa en detalle dicho modelo (variables, parámetros, restricciones, etc.) (10P)
b) Explique detalladamente como utilizaría el método de Relajación Lagrangeana, relajando la restricción (1) y
alternativamente relajando la restricción (2) ¿Cuál de las dos alternativas cree usted que funcionará mejor y
porque? (20P)
c) Plantee una formulación alternativa para la restricción 2. ¿Cuál de las dos formulaciones es mejor y porqué? (5P)
d) Considere ahora que se desea analizar el nivel de servicio del sistema, mediante el concepto de cobertura. En este
caso se desea maximizar la demanda que es abastecida o cubierta por los respectivos centros asignados dentro de
un tiempo máximo t*. Plantee un modelo multi-objetivo que combine el objetivo planteado en conjunto con los
costos totales de instalación y transporte (10P).
Solución:
a) Este problema busca definir las ubicaciones donde instalar centros de distribución o plantas (de un total de n sitios
potenciales), de modo de abastecer a un conjunto de clientes (m en total), minimizando los costos totales de
instalación y transporte.
Variables de Decisión:
yi
xij
: 1 si se instala un CD en el sitio i (0 si no)
: 1 si asigno cliente j a CD en i (0 si no)
Parámetros:
Ki
cij
dj
n
m
: costo fijo de instalacion de un CD en el sitio i.
: costo unitariuo de transporte entre el CD i y el cliente j.
: demanda del cliente j (unidades)
: numero total de sitios potenciales para instalar CDs.
; numero total de clientes.
Función objetivo: minimizar los costos totales de instalación   Ki yi  más costos de transporte   d j cij xij  .
Restricción (1): asegura que cada cliente sea abastecido por un único CD.
Restricción (2): asegura asignar clientes a CDs previamente instalados, y en caso de no instalar un CD en un sitio,
impide asignar clientes. En este caso, dado que no hay restricción de capacidad, se establece que en caso de instalar un
CD el número máximo de clientes a asignar sea m (el total de clientes).
Restricción (1): Restricción de integralidad (0-1).
b) En caso de relajar la restricción (1), y considerando a j como la variable dual asociada a cada una de las
restricciones de cada cliente j, se tiene el siguiente problema relajado:
n
n
m

m
n
 K y   d c x      x
    Min
i
i 1
m
x
s.a :
ij
j 1
i
i 1 j 1
j ij ij
 m  yi
xij , yi {0,1},
j 1
j
ij
i 1
n m
m
 n
 1   K i yi    d j cij   j  xij    j
i 1 j 1
j 1
 i 1
i  1,..., n
 2
i, j
 3
Este problema no exige que cada cliente sea asignado exactamente a un CD, de modo que es posible no asignar a
ningún CD o a más de uno. De este modo este problema se separa en el siguiente sub-problema SPi para cada CD i:
K i  yi    d j  cij   j   xij
m
SPi
Min
j 1
m
x
s.a :
j 1
 2
 m  yi
ij
xij , yi  {0,1},
 3
j  1,..., m
Este problema se resuelve de manera basta fácil, observando que en caso de asignar un cliente j al CD i, se percibe un
m
beneficio  j  d j cij . De este modo que se decidirá instalar el CD en caso que K  y   Min 0,  d  c    sea menor que
i
i
j 1
j
ij
j
cero (es decir los beneficios superan el costo fijo K), en cuyo caso se asignará aquellos clientes que cumplan
m
d j  cij   j  0 . En caso contrario, es decir K  y   Min 0,  d  c     0 , no se instala el CD y no se asigna ningún
i
i
j
j 1
ij
j
cliente. Lo anterior se analiza para cada SPi es decir parta cada CDi.
Por otra parte, en caso de relajar la restricción (2), y considerando a i como la variable dual asociada a cada una de las
restricciones de cada CD i, se tiene el siguiente problema relajado:
n
n
m

n
m
 K y   d c x      x
    Min
i
i 1
n
x
s.a :
i 1
ij
i
i 1 j 1
j ij ij
 1,
xij , yi {0,1},
i 1
i

ij
j 1
n m
 n
 m  yi     K i  i  m   yi    d j cij  i  xij
i 1 j 1
 i 1
1
j  1,..., m
 3
i, j
En este problema se desacoplan las variables de instalación (y) con las de asignación (x), de modo que se separa en un
problema de instalación y uno de asignación de clientes, según:
Problema de instalaciom de CDs:
n
Min
K
s.a :
yi {0,1}
i 1
i
 i  m   yi
i
Problema de asignacion de cientes:
  d c
n
Min
m
i 1 j 1
n
s.a :
x
i 1
ij
j ij
 1,
xij {0,1},
 i  xij
j  1,..., m
i, j
Para resolver el problema de localización , básicamente se debe elegir los sitios cuyo costo de instalación (modificado
por las variables duales) sea negativo, es decir:
1 K i  i  m  0
yi  
0 K i  i  m  0
Por otra parte, el problema de asignación sólo exige asignar un CD a cada cliente (independiente de los costos y
variables de instalación). De este modo basta con elegir, para cada cliente j, el CD i cuyo costo de asignación sea el
mínimo (modificado por las variables duales), es decir:

 d j clj  l 
1 si d j cij  i  Min
l
xij  
e.o.c

0
En ambos casos la determinación de los valores de las variables duales de las restricciones relajadas, deben ser
determinados de modo de maximizar la respectiva función dual-lagrangeana. El concepto básico detrás de cualquier
método de optimización de () debe considerar lo siguiente:
Si una restricción está siendo “violada”, entonces la variable dual o penalización debe aumentar (caso
minimización)
En caso que una restricción esté siendo respetada (con holgura), entonces la variable dual o penalización debe
disminuir
Los pasos de avance o de actualización deben ir disminuyendo en la medida que se avanza en las iteraciones.
c) Una alternativa para la restricción (2) es la siguiente:
xij  yi i  1,..., n, j  1,..., m
En esta restricción se verifica la consistencia entre las variables de asignación y de instalación para cada par CDcliente, de modo que tenemos muchas más restricciones (antes teníamos n restricciones, mientras que ahora tenemos
n·m restricciones), lo cual puede ser considerando como un inconveniente.
Sin embargo si se analiza los valores que tomarían las variables del modelo en caso de usar B&B, se observaría
que para una misma solución en términos de las variables de asignación (x), la variable de instalación (y) asociada a un
CD en particular, tomará un valor mayor en este caso, puesto que y deberá ser mayor a cada una de las variables de
asignación, es decir tomará el valor máximo (por ejemplo, en un caso de 3 clientes y dos CDs si x11 = 0.3, x12 = 0.6,
e x13 =0, la variable y1 tomará el valor 0.6, pues x11(0.3) <= y1, x12(0.6) <=y2, x13(0) <= y1). Por el contrario en el
caso original las variables de instalación se ajustarán al promedio de las variables de asignación, tomado un menor
valor (en el ejemplo y1 = 0.3, pues x11 + x12 + x13 <= 3·Y1). De este modo, con esta restricción alternativa, la
solución se acercará mucho más a una solución entera, concretamente, en términos de su función objetivo. (esto se
relaciona con que esta nueva formulación se parece mucho a más a una formulación ideal del problema).
d) Para formular este nuevo problema, no es necesario definir una variable de cobertura, debido a que interesa
verificar o cuantificar (y finalmente maximizar) la demanda de los clientes que es cubierta por el CD al cual ha
sido asignada. De este modo la demanda que es cubierta por los centros instalados y asignados, la cual es la nueva
función objetivo a maximizar, se calcula como:
n
m
 d
i 1 j 1
j
 rij  xij
rij : Parametro binario que indica si la zona j puede ser cubierta por la ambulancia i, es decir:
1
rij  
0
si Tij  t *
si Tij  t *
De este modo el modelo multi-objetivo, el cual busca optimizar simultáneamente los costos de instalación y
transporte y la demanda cubierta por los respectivos CDs a los cuales se ha asignado, es el siguiente:
Min
n m
n m
 n

  Ki yi   d j cij xij ,  d j  rij  xij 
i 1 j 1
i 1 j 1
 i 1

n
s.a :
x
i 1
ij
m
x
j 1
ij
 1, j  1,..., m
1
 myi , i  1,..., n  2 
xij , yi  {0,1}, i, j
 3
Parte II: 35 Pts.
Considere el siguiente problema de planificación de producción e inventario multi-commodity:
T
K
T
K
T K

Min   Atk  X tk     Btk  Yt k    Ctk  Z tk  
X ,Y , Z  t  0 k 1
t  0 k 1
t  0 k 1

sujeto a :
 
k
 X tk   K t1

k
 Z tk   K t2
K
k 1
K
1
t  0,1,...T
t  0,1,...T
 2
Z tk  Z tk1  Rtk  X tk
t  0,1,...T , k  1,..., K
X tk  M  Yt k
t  0,1,...T , k  1,..., K
3
4
k 1
Z k1 , ZTk  0
k  1,..., K
X tk , Z tk  0
t  0,1,...T , k  1,..., K
Yt k  0,1
t  0,1,...T , k  1,..., K
5
6
7 
a) Describa en detalle dicho modelo (variables, parámetros, restricciones, etc.) (10P)
b) ¿Qué transformaciones haría en este problema, y que restricciones incomodan para ello, de modo que éste
pueda ser resuelto mediante K problemas de rutas mínimas?. Justifique sus argumentos claramente. (15P).
c) Basado en lo anterior explique brevemente como utilizaría Relajación Lagrangeana para abordar dicho
problema. (10P).
Solución:
a) Sea:
Variables
k
X
t
1 Si es que se produce el producto k en el período t

0 e.o.c.
k
Y
t
Z
t
 Cantidad de producción del producto k en el período t
k
 Inventario del producto k mantenido hasta el final del período t
Parámetros
A
B
k
t
k
t
= Costo unitario de producir el producto k en el período t
= Costo de set-up asociado a empezar a producir el producto k en el período t
C = Costo de mantener una unidad en inventario del producto k al final del período t
k
R t = Demanda del producto k en el período t
k
t
 = Conversor de unidades de producto k a unidades de capacidad de producción (por ejemplo, horas
k
máquina u horas hombre)
 = Factor de conversión de unidades de producto k a unidades de almacenamiento (por ejemplo, metros
cúbicos o pallet)
1
=
Capacidad
de producción para el período t (horas máquina u horas hombre)
Kt
k
K = Capacidad de inventario para el período t (metros cúbicos o pallet)
M = Número muy grande
2
t
F.O.: El primer término de la FO muestra como se deberían minimizar los costos de producción totales de todos los
productos en todos los períodos. El segundo término trata de reducir los costos de inventario totales durante todos los
períodos. El tercer término suma los costos fijos de producción de cada producto en cada período.
Restricciones
1. Esta restricción limita la cantidad producida de todos los productos, basado en el recurso limitante (horas hombre
u horas máquina, u otro factor), para cada período.
2. Al igual que la restricción anterior, ésta restringe la cantidad de productos que es posible almacenar en
inventario al final cada período determinado.
3. Balance de flujo. Esta restricción refleja la relación que existe entre los flujos de producción e inventario: lo que
queda en inventario al final del período t debe ser lo que queda de inventario del período anterior, menos lo que
se demanda en ese mismo período, más lo que queda de inventario al final del período t.
4. Restricción que obliga a que la variable binaria de producción produzca cuando haya al menos una unidad
producida o por el contrario, que no se produzca nada cuando la variable binaria toma el valor cero.
5. Define los valores final e inicial para el inventario.
6. Restricciones de no negatividad.
7. Restricción de integralidad para la variable binaria.
b) Las transformaciones que deben realizarse al problema son principalmente cambiar la variable de producción y
definirla ahora en términos del período en que se produjo y el período para el cual esta producción está
destinada. Adicionalmente, se modifica la restricción de consistencia entre variables de producción y de set-up
(restricción 4), siendo consistentes con la nueva definición de variables:
Sea:
W ts = Producción realizada en el período t, destinada a satisfacer las demandas del período s
T
Min
K
T
T
K
 A  W   B
k
t
T  0 k 1
K

k
ts
s t
T
    W
k
s t
k=1

K
k
k
ts
T  0 k 1

1
  Kt

 Z tk   K t2
k
t
T
K
 Yt k   Ctk  Z tk
T  0 k 1
t  0,1,..., T
t  0,1,..., T
k=1
T
Z tk  Z tk1  Rtk   Wstk
t  0,1,..., T , k  1,..., K
s t
T
Rtk   Wstk
t  0,1,..., T , k  1,..., K
Wstk  Rsk  Yt k
t  0,1,..., T , k  1,..., K
Z ,W  0
t , s  0,1,..., T , k  1,..., K
0  Yt  1
t  0,1,..., T , k  1,..., K
s 1
k
t
k
ts
k
El teorema de Wagner y Within plantea que este planteamiento fuerza a las variables involucradas (variables binarias
de set-up) a tomar valores automáticamente enteros, lo que permita que las variables inicialmente definidas como
binarias, ahora puedan ser relajadas, manteniendo la consistencia al considerar si se incurre o no en un costo de set-up
en cada período. Esto implica que se decidir fabricar para un conjunto discreto consecutivos de periodos.
De este modo, el problema se puede abordar como k redes, en donde, encontrar la planificación de producción de
mínimo costo, equivale a encontrar rutas mínimas en la siguiente red:
0
1
2
3
0
1-2
1-3
0
2-3
0
3-4
5
0
4-5
0
0
0
4
2-4
3-5
0
0
1-4
2-5
0
1-5
En esta red, el costo que tiene un arco “horizontal” es el costo de set-up de ese período más el costo total de producir
para satisfacer la demanda de ese mismo período (no incurrir en inventario). El costo que tiene un arco “descendente” o
diagonal es el costo que se incurre en el set-up de ese mismo período más el costo de producción para satisfacer las
demandas de varios períodos consecutivos (indicados en los respectivos nodos) con sus correspondientes costos de
inventario de modo de pasar de un período a otro. A modo de ejemplo, si se pasa del nodo 0 a 1 se incurre en el costo
de set-up del período 1 más el costo de producir para satisfacer toda la demanda del período 1; por otro lado el costo de
pasar del nodo 0 al 1-5 sería el costo de set-up del período 1 más el costo de producir la demanda de 1,2,…5 más los
respectivos costos de mantener el inventario hasta cada periodo del 2 al 5.
Como se puede ver por este planteamiento, si no fuera por las restricciones de capacidad, este problema podría
perfectamente convertirse en K problemas independientes (o consecuentemente en K problemas de rutas mínimas),
debido a que las restricciones de capacidad son las únicas que relacionan a los distintos productos.
c) Una forma de simplificar el problema, es derechamente eliminando las restricciones de capacidad y agregarlas a la
función objetivo mediante relajación Lagrangeana. En este caso dados los valores de variables duales de las
restricciones relajadas como se muestra a continuación:
T
Min
K
T
T
K
 A  W   B
t  0 k 1
k
t
s t
k
ts
t  0 k 1
k
t
T K
T
T
 K 
 T

 K

 Yt k   Ctk  Ztk   t1      k  Wtsk   Kt1    t2     k  Ztk  Kt2 
t 0 k 1
t 0
s t

 k=1

 k=1 
 t 0
Los términos incluidos reflejan como sería tratar que una restricción que originalmente estaba definida como menor o
igual que cero, ahora sea parte de la función objetivo en donde ahora se minimizarán estos valores junto con los otros
términos. Se han definido las variables de penalización 1 y 2 las cuales definirán la importancia que tienen estos
nuevos términos. Si son muy bajos, la solución pasará por alto las capacidades y no las respetará, pero si son muy altos,
le tomará demasiada importancia, tratando de quedar con muy poco inventario a cambio de un mayor costo en
producción y set-up.
Ahora si ordenamos la función objetivo:
W   A
T
Min
K
T
t  0 k 1 s t
k
ts
k
t
 1t   k    Btk  Yt k   Ztk  Ctk  t2   k   t1  Kt1   t2  Kt2
T
K
t  0 k 1
T
K
t  0 k 1
T
T
t 0
t 0
Variable
Constante (dado t1 y t2 )
Nos podemos dar cuenta que al lado izquierdo tenemos únicamente variables que resultan de las sumatorias de los
distintos productos k y al lado derecho tenemos únicamente constantes. Como se han eliminado las únicas restricciones
que ligaban los distintos productos, ahora se puede decir que tenemos un problema donde los k productos ahora son
independientes entre si y por lo tanto, se pueden resolver como k problemas de rutas mínimas independientes.
Parte III: 35 Pts.
Una empresa de comunicaciones posee una red que puede ser representada mediante un grafo dirigido G = (V,A),
donde V es el conjunto de vértice o nodos y A es el conjunto de arcos. La empresa puede decidir tener las conexiones
de la red (arcos) activadas o desactivadas, existiendo un costo en caso de estar activadas. Existen en esta red un total de
K pares origen destino entre los que se generan llamadas, y que se caracterizan por un nodo de origen, sk V y un nodo
destino tk V, para cada par k)1,…,K. Entre el par origen-destino k, k = 1,…,K, puede producirse un cierto tráfico de
llamadas por las cuales la compañía percibe una cierta utilidad. Asumiremos que si se activan las conexiones
necesarias entre un par origen-destino, el mayor número posible de usuarios usará la red, y será en beneficio de la
compañía que el flujo sea el mayor posible entre cada par origen destino. Las conexiones tienen una capacidad según
origen del flujo que circula por ellas, y además una capacidad total. El problema consiste en determinar qué conexiones
activar de modo que se genere la mayor rentabilidad posible. Sea yij una variable binaria igual a 1 si la conexión (i,j) es
activada, 0 en caso contrario. Sea fijk el flujo en el arco (i,j) correspondiente al par origen destino k, y sea xk el número
de llamadas generadas entre el par origen-destino k. Sea bk la utilidad que se obtiene por cada llamada entre el par
origen-destino k. Sea Gij el costo de activar la conexión (i,j). Sea uij la capacidad total del arco (i,j), en caso de ser
activado, y uijk la capacidad de transmisiones de correspondientes al par k.
a) Plantee un modelo de optimización que maximice las utilidades de la empresa. Defina y explique claramente todos
los elementos que usted utilice. (20P).
b) Describa en detalle como resolver dicho problema mediante el método de Ramificación y Acotamiento. (15P).
Solución:
a) El modelo es el siguiente:
K
max
b x
k 1
s.a.
k k


fijk 

fijk 

fijk 
( i , j )A
( i , j )A
( i , j )A
K
f

( i , j )A
Gij yij

flik  xk  0 i  sk , k  1,..., K
a

flik  0
b 

flik  xk  0 i  tk , k  1,..., K
( l ,i )A
( l ,i )A
( l ,i )A
i  sk , tk , k  1,..., K
c 
(i, j )  A
d 
f  uikj
(i, j )  A, k  1,..., K
f  0, yij  {0,1}
(i, j )  A, k  1,..., K
e
f
k 1
k
ij
k
ij
k
ij
 uij  yij
Las restricciones (a), (b) y (c) corresponde a equilibrio de flujo entre todos los nodos de la red, incluyendo los orígenes
y destinos de cada para origen-destino, en donde se determina además, como variable de decisión del problema xk , el
flujo generado para cada par origen-destino k. Esta restricción es similar a la que se obtiene para el problema de flujo
máximo.
Las restricciones (d) son cargas fijas que usan la capacidad total de los arcos, y las (e) son las capacidades según origen
del tráfico. (f) representa las restricciones de no-negatividad e integralidad de las variables del modelo.
b)
De manera general el algoritmo de B&B comienza con una relajación del problema al no considerar las
restricciones de integralidad considerando las variables binarias como continuas y construye un árbol con soluciones
enteras particionando el conjunto de soluciones factibles de manera de descartar soluciones fraccionarias.
En el caso particular de este problema tenemos que hacer lo siguiente:

Encontrar la restricción de integralidad y relajar linealmente, permitiendo que la variable Yij Ahora pueda
pertenecer al intervalo [0,1]. De momento el resto de las restricciones del problema y la función objetivo
quedan iguales. (3P)

Una vez que se relajó la variable binaria ¿tiene sentido la siguiente restricción?
K
f
k 1
k
ij
 uij  yij
(i, j )  A
La respuesta es que no, ya que Yij tomará el valor mínimo posible que cumpla con la restricción, que será dado por
K
f
el cuociente
k 1
uij
k
ij
 yij
( i , j )A
Una vez que se sabe esto, entonces se reemplaza el valor que tomará Yij en la función objetivo de manera de
eliminar esta variable del problema (4P)

El siguiente paso es identificar de qué problema se trata ahora que se han hecho las modificaciones. El
problema ahora puede ser formulado como un PFMC capacitado, lo que permite resolverlo utilizando por
ejemplo simplex. La solución que entregue será nuestra cota, que es el peor valor que podría tomar la función
objetivo. Si la solución entregada no es entera para la variable Yij, entonces se debe dividir en dos problemas,
uno fijando la variable Yij=0, y el otro fijando a Yij=1. (4P)

Por ultimo se procede ha resolver los dos problemas, de manera de ir repitiendo esta ramificación hasta que
ocurra lo siguiente: el problema en alguna rama es infactible, por lo que los problemas generados a partir de el
también lo serán, esto hace que se descarte la rama. El problema de esa rama tiene un valor óptimo peor que
algún valor encontrado anteriormente, por lo que todos los sub problemas generados a partir de el serán
peores.4P)
Descargar