Filminas

Anuncio
Optimización y Programación Lineal
El Problema del Transporte
Departamento de Matemáticas
ITESM
El Problema del Transporte
TC3001 - p. 1/25
Introducción
Veamos ahora el problema del transporte, cuál es
su formulación general y cómo se resuelve
mediante LINGO.
El Problema del Transporte
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
TC3001 - p. 2/25
Ejemplo 1
tiene tres plantas de generación de energía eléctrica que
suministran energía a cuatro ciudades. Cada planta puede
suministrar una cierta cantidad límite y cada ciudad tiene una cierta
demanda máxima conocida la cual debe satisfacerse. Los costos
para enviar la energía de cada planta a cada ciudad así como las
demandas y capacidades de suministro se dan en la siguiente
tabla.
PowerCo
HACIA (Costo en dólares por enviar 1 millón de kwh)
OFERTA
DESDE
Ciudad 1
Ciudad 2
Ciudad 3
Ciudad 4
(En millones de kwh)
Planta 1
8
6
10
9
35
Planta 2
9
12
13
7
50
Planta 3
14
9
16
5
40
DEMANDA
45
20
30
30
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
(En millones de kwh)
Formule un modelo de PL que minimice el costo del envio y que
satisfaga la demanda máxima de energía en cada ciudad.
El Problema del Transporte
TC3001 - p. 3/25
La solución se obtiene indicando cuánto debe enviarse de cada planta a cada
ciudad, por ello es que las variables de decisión son:
xij = El número de millones de khw enviados de la planta i a la ciudad j
HACIA (Costo en dólares por enviar 1 millón de kwh)
OFERTA
DESDE
Ciudad 1
Ciudad 2
Ciudad 3
Ciudad 4
(En millones de kwh)
Planta 1
8
6
10
9
35
Planta 2
9
12
13
7
50
Planta 3
14
9
16
5
40
DEMANDA
45
20
30
30
(En millones de kwh)
La función a minimizar es la función de costo total del envio de energía eléctrica:
z
=
8 x11 + 6 x12 + 10 x13 + 9 x14
(Costo de enviar energía de la planta 1)
+9 x21 + 12 x22 + 13 x23 + 7 x24
(Costo de enviar energía de la planta 2)
+14 x31 + 9 x32 + 16 x33 + 5 x34
(Costo de enviar energía de la planta 3)
El Problema del Transporte
TC3001 - p. 4/25
HACIA (Costo en dólares por enviar 1 millón de kwh)
OFERTA
DESDE
Ciudad 1
Ciudad 2
Ciudad 3
Ciudad 4
(En millones de kwh)
Planta 1
8
6
10
9
35
Planta 2
9
12
13
7
50
Planta 3
14
9
16
5
40
DEMANDA
45
20
30
30
(En millones de kwh)
Las restricciones son de dos tipos: las relativas a la capacidad de cada planta y las
relativas al cumplimiento mínimo de la demanda máxima en cada ciudad:
■ Capacidad de la planta 1: x11 + x12 + x13 + x14 ≤ 35
■
Capacidad de la planta 2: x21 + x22 + x23 + x24 ≤ 50
■
■
Capacidad de la planta 3: x31 + x32 + x33 + x34 ≤ 40
Demanda en la ciudad 1: x11 + x21 + x31 ≥ 45
■
Demanda en la ciudad 2: x12 + x22 + x32 ≥ 20
■
Demanda en la ciudad 3: x13 + x23 + x33 ≥ 30
■
Demanda en la ciudad 4: x14 + x24 + x34 ≥ 30
Y las restricciones de signo xij ≥ 0.
El Problema del Transporte
TC3001 - p. 5/25
Formulación del Problema del Transporte
El problema del transporte en general se especifica mediante la
siguiente información:
1. Un conjunto de m puntos de oferta desde los cuales se envian
utilidades o bienes.
2. Una lista de capacidades de suministro máximo de cada sitio de
oferta si para i = 1, 2, . . . , m.
3. Un conjunto de n puntos de demanda hacia los cuales se envia
una utilidad o bien.
4. Una lista de demandas de utilidades o bienes dj de cada punto
de demanda j las cuales deben satisfacerse mínimamente.
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
5. Una matriz de valores que indica el costo fijo en el que se incurre
al enviar una unidad producida en el punto de oferta i y enviada al
punto de demanda j, cij .
El Problema del Transporte
TC3001 - p. 6/25
Modelación del Problema del Transporte
Si xij es el total de unidades producidas y enviadas del punto de
oferta i al punto de demanda j, entonces, el planteamiento del
problema de transporte es:
Minimizar
m X
n
X
cij xij
i=1 j=1
sujeto a
■ Satisfacer la solicitud de bienes de cada punto de demanda:
∀j = 1, 2, . . . , n :
m
X
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
xij ≥ dj
i=1
■
No exceder las capacidades de cada punto de oferta:
∀i = 1, 2, . . . , m :
n
X
xij ≤ si
j=1
■
Restricciones naturales: xij ≥ 0 (Total de n × m restricciones).
El Problema del Transporte
TC3001 - p. 7/25
Representación gráfica
s3
s2
s1
City 4
d4
City 3
d3
City 2
d2
City 1
d1
Plant 3
Plant 2
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
Plant 1
El Problema del Transporte
TC3001 - p. 8/25
Tableau
x12
s1
c2n
c22
c21
x21
x22
..
.
..
.
cm1
...
...
s2
..
.
..
.
cmn
cm2
...
d1
El Problema del Transporte
...
d2
Demandas
Suministros
x11
c1n
c12
c11
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
sm
dn
TC3001 - p. 9/25
Código LINGO del ejemplo 1
model:
sets:
! Indice para el suministro. Se usara i como variable indice de suministro;
! s = vector de datos con capacidades por suministro;
m /1..3/:s;
! Indice para los puntos de demanda. Se usara j como variable indice de punto de demanda;
! d = vector de datos con demandas;
n /1..4/:d;
! c = matriz (m x n) con los datos de costos de envio desde suministro i al punto de demanda j;
! x = matriz (m x n) con las variables de decisión, x(i,j) tendrá numero de unidades enviadas desde el suministro i al punto
de demanda j;
links (m,n): x, c;
endsets
data:
! Capacidad de cada punto de suministro;
s = 35, 50, 40;
! Cantidad solicitada en cada punto de demanda;
d = 45, 20, 30, 30;
! Matriz de costos ;
c = 8, 6, 10, 9,
9, 12, 13, 7,
14, 9, 16, 5;
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
enddata
! Objetivo: Minimizar el costo total del envio;
min = @sum( m(i): @sum( n(j): c(i,j)*x(i,j)) );
! Familia de restricciones 1: Para cada suministro i, la cantidad total de salida no debe exceder su capacidad;
@for(m(i):
@sum( n(j): x(i,j) ) <= s(i)
);
! Familia de restricciones 2: Para cada punto de demanda j, la cantidad de ingreso no debe se menor que la demanda;
@for(n(j):
@sum( m(i): x(i,j) ) >= d(j)
);
end
El Problema del Transporte
TC3001 - p. 10/25
model:
sets:
m /1..3/:s;
n /1..4/:d;
links (m,n): x, c;
endsets
data:
s=@FILE(’C:/Usuarios/uresti/cursos/tc3001/lecturas/red70101s.tex’);
d=@FILE(’C:/Usuarios/uresti/cursos/tc3001/lecturas/red70101d.tex’);
c=@FILE(’C:/Usuarios/uresti/cursos/tc3001/lecturas/red70101c.tex’);
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
enddata
min = @sum(links:c*x);
@for(m(i): @sum(n(j):x(i,j)) <= s(i) );
@for(n(j): @sum(m(i):x(i,j)) >= d(j) );
end
Versión sin comentarios, con otras funcionalidades
El Problema del Transporte
TC3001 - p. 11/25
Comentarios
■
Cuando la suma total de las demandas es igual a la suma total
de las capacidades de suministros se dice que es un problema
de transporte balanceado.
■
Existen técnicas específicas para generar una solución básica
factible en el caso balanceado y por ello es que se balancea
artificialmente el problema:
◆ Cuando la oferta excede la demanda se introduce un punto de
demanda ficticio (dummy demand point).
◆ Cuando la demanda excede la oferta no hay solución básica
factible. En este caso se introducen castigos por no cumplir
ciertas demandas y la función objetivo incluye tales castigos.
■
Entre las técnicas para encontrar una SBF en el caso
balanceado están:
◆ El método de la Esquina Noroeste
◆ El método de Vogel
◆ El método de Mínimo Costo
Pero nosotros le dejaremos el trabajo a LINDO o a LINGO.
El Problema del Transporte
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
TC3001 - p. 12/25
Ejemplo 2
Hay dos presas que suministran agua a tres ciudades. Cada presa
puede suministrar hasta 50 millones de galones de agua por día.
Cada ciudad quisiera recibir 40 millones de galones de agua por
día. Por cada millón de galones de demanda diaria no cumplida hay
una multa. En la ciudad 1, la multa es de 20 dólares; en la ciudad 2,
la multa es de 22 dólares; y en la ciudad 3, la multa es de 23
dólares. En la tabla se muestran los costos de enviar un millón de
galones de cada presa a cada ciudad. Formule y resuelva un
modelo de transporte balanceado que se pueda usar para
minimizar los costos de escasez y transporte.
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
HACIA
DESDE
Ciudad 1
Ciudad 2
Ciudad 3
Presa 1
7
8
10
Presa 2
9
7
8
El Problema del Transporte
TC3001 - p. 13/25
HACIA
DESDE
Ciudad 1
Ciudad 2
Ciudad 3
Presa 1
7
8
10
Presa 2
9
7
8
Escasez = Demanda Total − Oferta Total =
X
di −
X
Ciudad 1 Ciudad 2 Ciudad 3
7
8
sj = 120 − 100 = 20
Oferta
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
10
Presa 1
50
9
7
8
Presa 2
50
20
22
23
Escasez
20
40
El Problema del Transporte
40
40
TC3001 - p. 14/25
Código LINGO para el ejemplo 2:
model:
sets:
m /1..3/:s;
n /1..3/:d;
links (m,n): x, c;
endsets
data:
s = 50, 50, 20;
d = 40, 40, 40;
c = 7, 8, 10,
9, 7, 8,
20, 22, 23;
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
enddata
min = @sum( m(i): @sum( n(j): c(i,j)*x(i,j)) );
@for(m(i): @sum( n(j): x(i,j) ) <= s(i) );
@for(n(j): @sum( m(i): x(i,j) ) >= d(j) );
end
El Problema del Transporte
TC3001 - p. 15/25
Solución al Problema de las Presas
Se deben enviar los siguientes millones de galones de agua de
cada presa a cada ciudada:
Ciudad 1 Ciudad 2 Ciudad 3
7
Presa 1
20
8
30
9
Presa 2
0
7
20
Escasez
10
0
10
50
8
40
22
50
23
20
0
0
40
40
40
El Problema del Transporte
Oferta
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
20
TC3001 - p. 16/25
Ejemplo 3
SailCo
tiene qué determinar cuántos veleros hay que producir en
cada uno de los cuatro trimestres del año. La demanda de veleros
en cada uno de ellos es conocida: 40, 60, 75 y 25 veleros en cada
uno de los semestres. La empresa tiene que cumplir con tales
demandas. Al principio tiene un inventario de 10 veleros. La
compañía decide al principio de cada trimestre cuántos veleros hay
que producir en él. Suponga que los veleros construidos durante un
trimestre pueden ser utilizados para cubrir la demanda en el mismo
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
trimestre. La compañía puede producir 40 veleros en tiempo normal
de trabajo a un costo de 400 dólares el velero y puede producir
hasta 20 veleros adicionales utilizando tiempo extra a un costo de
600 dólares cada velero. Al final de cada trimestre se presentan
costos de menejo de inventario por 20 dólares por cada velero.
Formule y resuelva un modelo de transporte balanceado que se
pueda usar para minimizar los costos de producción y manejo de
inventario durante los 4 trimestres próximos.
El Problema del Transporte
TC3001 - p. 17/25
Puntos de oferta
Puntos de demanda
Punto 1
Inventario inicial (s1 = 10)
Punto 1
Demanda trimestre 1 (d1 = 40)
Punto 2
Prod regular trim 1 (s2 = 40)
Punto 2
Demanda trimestre 2 (d2 = 60)
Punto 3
Prod extra trim 1 (s3 = 20)
Punto 3
Demanda trimestre 3 (d3 = 75)
Punto 4
Prod regular trim 2 (s4 = 40)
Punto 4
Demanda trimestre 4 (d4 = 25)
Punto 5
Prod extra trim 2 (s5 = 20)
Punto 6
Prod regular trim 3 (s6 = 40)
Punto 7
Prod extra trim 3 (s7 = 20)
Punto 8
Prod regular trim 4 (s8 = 40)
Punto 9
Prod extra trim 4 (s9 = 20)
El Problema del Transporte
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
TC3001 - p. 18/25
Consumidor
Fuentes
T1
T2
T3
T4
Oferta
Stock
10
PR1
40
PE1
20
PR2
M
40
PE2
M
20
PR3
M
M
40
PE3
M
M
20
PR4
M
M
M
40
PE4
M
M
M
20
Demandas
40
60
75
El Problema del Transporte
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
25
TC3001 - p. 19/25
model:
sets:
m /1..9/:s;
n /1..4/:d;
links (m,n): x, c;
endsets
data:
s = 10, 40, 20, 40, 20, 40, 20, 40, 20;
d = 40, 60, 75, 25;
c=
! Costos del inventario inicial;
0, 20, 40, 60,
! Costos del trimestre 1;
400, 420, 440, 460,
600, 620, 640, 6600,
! Costos del trimestre 2;
10000, 400, 420, 440,
10000, 600, 620, 640,
! Costos del trimestre 3;
10000, 10000, 400, 420,
10000, 10000, 600, 620,
! Costos del trimestre 4;
10000, 10000, 10000, 400,
10000, 10000, 10000, 600;
enddata
min = @sum(links:c*x);
@for(m(i): @sum(n(j):x(i,j)) <= s(i) );
@for(n(j): @sum(m(i):x(i,j)) >= d(j) );
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
end
El Problema del Transporte
TC3001 - p. 20/25
Consumidor
Fuentes
T1
T2
T3
T4
Oferta
Stock
0
0
10
0
10
PR1
40
0
0
0
40
PE1
0
0
5
0
5
PR2
0
40
0
0
40
PE2
0
20
0
0
20
PR3
0
0
40
0
40
PE3
0
0
20
0
20
PR4
0
0
0
25
25
PE4
0
0
0
0
0
Demandas
40
60
75
25
El Problema del Transporte
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
TC3001 - p. 21/25
Transbordo
Mientras que en el problema del transporte se tienen envíos que
van directamente desde un punto de oferta a un punto de demanda,
en el Problema del Transbordo existen puntos intermedios (puntos
de transbordo) donde se pueden recibir bienes para ser enviados a
puntos de demanda. En su formalización hay tres tipos de puntos:
■ Puntos de oferta. Son puntos que pueden enviar bienes hacia
otro punto pero no se pueden recibir bienes.
■
Puntos de demanda. Son puntos donde se reciben bienes pero
no tienen forma de enviarlos.
■
Puntos de transbordo. Son puntos donde se pueden recibir y
enviar bienes.
El Problema del Transporte
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
TC3001 - p. 22/25
Conversión a un problema de Transporte
Los problemas de transbordo pueden ser convertidos en problemas
Pn
de transporte de la siguiente manera. Sea s = i=1 si la oferta
P
total disponible y d = n
j=1 dj la demanda total.
1. Si s > d, añada un punto de demanda ficticio con una oferta 0 y
con una demanda s − d. El costo de enviar un bien desde
cualquier punto de oferta a este nodo ficticio será cero.
2. Construya el cuadro de transporte de la siguiente manera.
Tendrá un renglón por cada punto de oferta y de transbordo. En
cada punto de oferta tendrá una oferta igual a la oferta original,
mientras que cada punto de transbordo tendrá una oferta que
será la suma de su oferta inicial más s. Tendrá una columna por
cada punto de demanda y por cada punto de transbordo. En
cada punto de demanda, la demanda será igual a la demanda
original y en cada punto de transbordo la demanda será igual a
la suma de la demanda original y s. Note que se tiene la
posibilidad que en los puntos de transbordo exista una oferta o
una demanda.
El Problema del Transporte
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
TC3001 - p. 23/25
Ejemplo 4
produce dispositivos mecánicos en dos fábricas; una en
Memphis y otro en Denver. La fábricas de Memphis puede producir
hasta 150 dispositivos mientras que la de Denver hasta 200. Los
dispositivos se envían en avión hasta sus clientes que están en Los
Ángeles y en Boston. Los clientes en cada ciudad requieren 130
dispositivos. Debido a la falta de reglamentación en las tarifas
aéreas, WidgetCo cree que es más barato enviar algunos
dispositivos a Nueva York o a Chicago, para después enviarlos a
sus destinos finales. Los costos de envio de cada dispositivo están
en la siguiente tabla. Plantee y resuelva un modelo para WidgetCo
de manera que se minimice el costo total de enviar los dispositivos
requeridos a sus clientes.
WidgetCo
Introducción
Ejemplo 1
Formulación
Modelación
Gráfica
Tableau
LINGO
Comentarios
Ejemplo 2
Ejemplo 3
Transbordo
Conversion
Ejemplo 4
HACIA (Costo en dólares por enviar 1 dispositivo)
DESDE
NY
Chicago
Los Ángeles
Boston
Memphis
8
13
25
28
Denver
15
12
26
26
NY
0
6
16
17
Chicago
6
0
14
16
El Problema del Transporte
TC3001 - p. 24/25
s
=
sM en + sChi = 150 + 200 = 350
d
=
dLA + dBos = 130 + 130 = 260
Como s > d, se crea nodo de demanda ficticio.
NY
Chicago
LA
Boston
Ficticia
Memphis
Denver
NY
Chicago
El Problema del Transporte
TC3001 - p. 25/25
s
=
sM en + sChi = 150 + 200 = 350
d
=
dLA + dBos = 130 + 130 = 260
Como s > d, se crea nodo de demanda ficticio.
NY
Chicago
LA
Boston
Ficticia
Oferta
Memphis
150
Denver
200
NY
350
Chicago
350
Demanda
350
El Problema del Transporte
350
130
130
90
TC3001 - p. 25/25
s
=
sM en + sChi = 150 + 200 = 350
d
=
dLA + dBos = 130 + 130 = 260
Como s > d, se crea nodo de demanda ficticio.
NY
8
Chicago
13
LA
25
Boston
Ficticia
28
0
Memphis
150
15
12
26
26
0
200
Denver
0
6
16
0
17
NY
350
6
0
14
16
0
Chicago
Demanda
Oferta
350
350
El Problema del Transporte
350
130
130
90
TC3001 - p. 25/25
Documentos relacionados
Descargar