Problema de Transporte - Sheila Morais de Almeida

Transcrição

Problema de Transporte - Sheila Morais de Almeida
Algoritmo para Problema de Transporte
Pesquisa Operacional
Problema de Transporte
Profa. Sheila Morais de Almeida
DAINF-UTFPR-PG
maio - 2016
Algoritmo para Problema de Transporte
1
Algoritmo para Problema de Transporte
Algoritmo para Problema de Transporte
Problemas de Transporte
Problemas de Transporte são uma classe especial de problemas
de Programação Linear.
• Trata do envio de produtos de origens para destinos.
Objetivo: determinar a programação de expedição que minimize o
custo total com transporte, respeitando os limites de fornecimento
e atendendo às demandas.
Algoritmo para Problema de Transporte
Problemas de Transporte
As etapas do algoritmo de transporte são as mesmas do método
simplex.
O formato da tabela simplex para o Problema de Transporte
simplifica a solução.
Algoritmo para Problema de Transporte
Problemas de Transporte
Origens
a2
2
c11:x11
am
m
1
b1
2
b2
Unidades de
demanda
...
1
...
Unidades de
Suprimento
a1
Destinos
cmn:xmn
n
bn
ci,j : custo de transporte por unidade da origem i para o destino j.
xi,j : quantidade enviada da origem i para o destino j.
Algoritmo para Problema de Transporte
Problemas de Transporte
Origens
a2
2
c11:x11
am
m
1
b1
2
b2
...
1
...
Unidades de
Suprimento
a1
Destinos
cmn:xmn
n
bn
ai : quantidade de suprimento na origem
bj : quantidade de demanda no destino j.
Objetivo: determinar xi,j , respeitando oferta e demanda.
Unidades de
demanda
Algoritmo para Problema de Transporte
Problemas de Transporte
Exemplo (H. Taha) A MG Auto tem:
• três fábricas: uma em Los Angeles, uma em Detroit e uma em
New Orleans;
• duas grandes centrais de distribuição: uma em Denver e outra
em Miami.
As capacidades das três fábricas para o próximo trimestre são:
• Los Angeles, 1000 carros;
• Detroit, 1500 carros;
• New Orleans, 1200 carros.
Algoritmo para Problema de Transporte
Problemas de Transporte
As demandas trimestrais nas duas centrais de distribuição são:
• Denver, 2300 carros;
• Miami, 1400 carros;
A empresa responsável pelo transporte dos carros cobra 8 centavos
por milha por carro.
Mapa de distâncias
Denver
Miami
Los Angeles
1000
2690
Detroit
1250
1350
New Orleans
1275
850
Algoritmo para Problema de Transporte
Problemas de Transporte
Custo de transporte por carro
Denver (1)
Miami (2)
Los Angeles (1)
80
215
Detroit (2)
100
108
New Orleans (3)
102
68
Algoritmo para Problema de Transporte
Problemas de Transporte
Formulação como um problema de PL:
Minimizar z = 80x11 + 215x12 + 100x21 + 108x22 + 102x31 + 68x32
sujeito a:
x11
+
x12
x21
x11
+
x12
+
x22
x21
+
+
x22
xi,j ≥ 0, i ∈ {1, 2, 3}, j ∈ {1, 2}
x31
x31
+
x32
+
x32
=
=
=
=
=
1000
1500
1200
2300
1400
Los Angeles
Detroit
Nova Orleans
Denver
Miami
Algoritmo para Problema de Transporte
Problemas de Transporte
Tabela Simplex para o Problema de Transporte
Central de Distribuição
Denver
80
Fábrica
Los Angeles
x11
100
Miami
oferta
215
x12
108
Detroit
x21
New Orleans
x31
x32
2300
1400
102
demanda
1000
x22
1500
68
1200
Algoritmo para Problema de Transporte
Problemas de Transporte
Solução ótima do modelo
Origens
Fábrica
1000
1
Destinos
1000
1
2300
Demanda
1300
1500
2
1200
m
200
1200
2
1400
Algoritmo para Problema de Transporte
Problemas de Transporte
Observação
O Algoritmo para o Problema do Transporte é baseado na premissa
de que o problema é balanceado, ou seja, a oferta total é igual à
demanda total.
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
No problema da MG Auto, suponha que a produção da fábrica de
Detroit seja de 1300 carros (em vez de 1500).
Então o suprimento total (3500) é menor que a demanda (3700).
Central de Distribuição
Fábrica
Denver
80
Miami
oferta
215
Los Angeles
x11
Detroit
x21
New Orleans
x31
x32
2300
1400
100
102
demanda
x12
1000
108
x22
1300
68
1200
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
No problema da MG Auto, suponha que a produção da fábrica de
Detroit seja de 1300 carros (em vez de 1500).
Solução: Criação de uma empresa fictı́cia!
• A empresa fictı́cia deve suprir a demanda restante (3700 -
3500 = 200 carros).
• O custo de transporte a partir da empresa fictı́cia é zero (pois
ela não existe).
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
Central de Distribuição
Fábrica
Denver
80
Los Angeles
x11
Detroit
x21
New Orleans
x31
Fictícia
x41
demanda
2300
Miami
oferta
215
x12
100
1000
108
1300
x22
102
68
x32
0
x42
1400
1200
0
200
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
Central de Distribuição
Denver
80
Fábrica
Los Angeles
1000
Miami
oferta
215
100
Detroit
102
0
Fictícia
0
demanda
2300
Miami recebe 200 carros a menos.
108
1300
0
1300
New Orleans
1000
0
68
1200
1200
0
0
200
1400
200
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
Central de Distribuição
Denver
80
Fábrica
Los Angeles
1000
Miami
oferta
215
100
Detroit
102
0
Fictícia
0
demanda
2300
108
1300
0
1300
New Orleans
1000
0
68
1200
1200
0
0
200
200
1400
Para evitar que Miami sofra escassez, podemos colocar um preço
de transporte da fábrica fictı́cia para Miami como se fosse uma
multa por não entrega.
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
Da mesma forma pode-se tratar o caso em que o fornecimento
ultrapassa a demanda.
Suponha que a demanda em Denver é de 1900 carros.
Central de Distribuição
Fábrica
Denver
80
Miami
oferta
215
Los Angeles
x11
Detroit
x21
New Orleans
x31
x32
1900
1400
100
102
demanda
x12
1000
108
x22
1500
68
1200
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
Cria-se uma demanda fictı́cia.
Central de Distribuição
Fábrica
Denver
80
Miami Fictícia oferta
215
0
Los Angeles
x11
Detroit
x21
New Orleans
x31
x32
1900
1400
100
102
demanda
x12
0
108
x22
1000
x13
1500
x23
68
0
x33
400
1200
Algoritmo para Problema de Transporte
Problemas de Transporte: balanceamento
Solução ótima
Central de Distribuição
Fábrica
Denver
80
Los Angeles
1000
Detroit
900
100
102
New Orleans
demanda
Miami Fictícia oferta
215
0
0
1000
0
0
108
1500
400
200
68
0
0
1200
0
1900
1400
400
1200