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