1. 7. Modelos de Transportes e afectação
7.1 Introdução
7.2 O algoritmo dos transportes
2. 7.1 Introdução
O problema de transporte é uma classe especial
de problemas de programação linear que trata do
envio de uma mercadoria de origens (por exemplo
fábrica) para destino (por exemplo depósito).
Objectivo é determinar a programação de
expedição que minimiza o custo total de expedição
e, ao mesmo tempo, satisfaça os limites de
fornecimento e procura. Aplicação pode ser
estendida a outras áreas de operações entre elas
controles e stock, programação de empregos e
designação pessoal.
3. 7.1 Introdução
O problema geral é representado pela rede. Há
origem e n destinos, cada um representado por
um nó. Os arcos representam as rotas que ligam
ao destino. O arco (i, j) que liga origem i dos
destino j, nos dá informações:
1 – o Custo de transporte por unidade cij;
2 – quantidade enviada xij.
A quantidade de suprimento na origem e a
quantidade de procura no destino: objectivo do
problema é determinar incógnitas xij que
minimizarão o custo de transporte e ao mesmo
tempo satisfarão todas as restrições de
suprimentos e procura.
6. Essa situação pode ser representada de
maneira simples em uma tabela
Destino j
Origem i D1 D2
Disponibilidade
O1 10 12 50
O2 20 8 100
O3 6 15 120
Necessidades 100 170
270
270
7. Variáveis de decisão: Xij Quantidade a ser transportada
da origem i para o destino j.
Objectivo: minimizar o custo do transporte
Min. C = 10x11 + 12x12 + 20x21 + 8x22+ 6x31 + 15x32
Restrições:
Origem 1 – retiradas x11 + x12 = 50 Disponibilidade
Origem 2 – retiradas x21 + x22 = 100 Disponibilidade
Origem 3 – retiradas x31 + x32 = 120 Disponibilidade
Destino1–Chegada x11 + x21 + x31 =100 Disponibilidade
Destino2– retiradas x12 + x22 + x32 =170 Disponibilidade
8. Exemplo: O modelo representado no
quadro está desequilibrado
Destino j
Origem i D1 D2
D3
Disponibilida
de
O1 10 12 9 20
O2 4 9 8 30
O3 6 12 10 10
Necessidades 25 36 5
60
66
9. Criando uma origem auxiliar (fectícia)
para receber a diferença 66 – 60 = 6
Destino j
Origem i D1 D2
D3
Disponibilida
de
O1 10 12 9 20
O2 4 9 8 30
O3 6 12 10 10
A 0 0 0 6
Necessidades 25 36 5
66
66
12. b) Método de Vogel ou Método de
penalidade
Penalidade em linha ou coluna é a diferença
positiva entre os dois custos de menor na linha
ou coluna.
A ideia desse método é fazer o transporte com
prioridade na linha ou coluna que apresenta a
maior penalidade. Como o transporte é feito na
célula de menor custo, tenta-se evitar com isso o
transporte na célula de custo maior, evitando-se
assim incorrer num aumento de custo igual à
penalidade calculada.
13. Descrição do Método:
a. Calcular a penalidade para cada linha ou coluna.
Escolher a linha ou coluna para transporte, que tenha
a maior penalidade. Caso haja empate, escolha
arbitrariamente uma delas.
b. Transporte o máximo possível na linha ou coluna
escolhida, elegendo a célula de menor custo unitário
de transporte. Esse procedimento zera a oferta ou
procura da célula correspondente. A linha ou coluna
que tenha sua disponibilidade zerada deve ser
eliminada.
c. Retornar ao item a, até que todos os transportes
tenham sido realizados.
14. Cálculo pelo Método de Vogel uma
solução Inicial para o problema de
transporte
Destino j
Origem i D1 D2
D3
Disponibilida
de
O1 12 9 8 10
O2 13 12 6 20
O3 7 9 5 10
O4 3 2 8 15
Necessidades 8 30 17
55
55
18. Destino j
Origem i D1 D2
D3
Disponibilida
de
O1
10
O2 20
O3 10
O4 15
Necessidades 8 30 17
55
55
15
15
0
17 3
0
19. 2ª Parte de Optimização
Obtida uma solução inicial para o quadro de
transporte, o passo seguinte é verificar se essa
solução pode ou não pode ser melhorada. Como
no método Simplex, isso pode ser avaliado
observando-se os coeficientes das variáveis não
básicas na função objectivos, que devera estar
escrita em termos dessas variáveis
20. 2ª Parte de Optimização (cont.)
Descrição:
a. Escrever a função objectivo em termos das
variáveis não básicas.
Para tanto, vamos multiplicar cada
restrição pelo número – Ui, e cada restrição de
coluna pelo número – Vj, e somar as novas
linhas e colunas na função objectivo de tal
maneira que os coeficientes das variáveis básicas
sejam todos nulos
Teremos, então:
Xij básico – Cij – Uj –Vj =0
21. 2ª Parte de Optimização (cont.)
Essas igualdade compõem um sistema de m+n-1
Com m + n incógnitas. A solução do sistema pode
ser obtida atribuindo-se um valor arbitrário a uma
das incógnitas e calculando-se o valor das outras.
Com esses valores, calculamos os coeficientes das
variáveis não básicas
Xij não básico – coeficientes = cij – Ui – Vj
Se todos esses valores forem positivos, a solução
é optima. Se houver coeficientes negativos, a
variável correspondente entra na base para
melhorar o valor optimo.
22. 2ª Parte de Optimização (cont.)
b. Entrar com a variável cujo coeficiente negativo
maior valor absoluto.
c. Montar um circuito de compensação entre as
variáveis básicas, a partir das variável que entra, e
seguindo-se alternativamente na direcção da linha
e da coluna, subtraindo e somando o valor da
entrada até o retorno à variável de entrada. Com
isso as restrições de linha e coluna ficam
satisfeitas.
23. 2ª Parte de Optimização (cont.)
d. Escolher para a variável que entra o maior valor
possível, sem tornar nenhuma variável básica
negativa. Esse valor corresponde ao menor valor
das células onde a variável que entra estiver sendo
subtraída. Teremos então, uma nova solução
básica.
e. Voltar ao item a, até a solução seja óptima, isto
é, não apresentar coeficiente negativo nas
variáveis não básicas.
24. Exemplo: Calcular o plano de transporte
de menor custo para o problema no
quadro:
Destino j
Origem i D1 D2
D3
O1 6 5 8 10
O2 13 12 1 20
O3 7 9 5 12
O4 10 6 4 13
8 32 12
25. Calcular pelo canto noroeste
Destino j
Origem i D1 D2
D3
O1 8 2 10
O2 20 20
O3 10 2 12
O4 13 13
8 32 15
27. O sistema resultante tem sete variáveis e seis
equações. Para calcular uma solução devemos atribuir
um valor a uma das variáveis.
Fazendo, por exemplo, U1 = 0, teremos:
V1 =6 V2 =5 U2 =7 U3 =4 U4 =3
Variáveis não Básicas Coeficiente Valor
X13 C13 – U1 – V3 =0 8 – 0 – 1 =0
X21 C21 – U2 – V1 =0 13 – 7 – 6 =0
X23 C23 – U2 – V3 =0 1 – 7 – 1=-7
X31 C31 – U3 – V1 =0 7 – 4 – 6 =-3
X41 C43 – U4 – V1 =0 10 – 3 – 6 =1
X42 C42 – U4 – V2 =0 6 – 3 -5 = -2
28. A solução não é optima: entra a variável X23, que
possui o coeficiente negativo de maior valor
absoluto.
Destino j
Origem i D1 D2
D3
O1 8 2 10
O2 20
O3 12
O4 13 13
8 32 15
32. A solução não é optima: entra a variável X42, que
possui o coeficiente negativo de maior valor
absoluto.
Destino j
Origem i D1 D2
D3
O1 8 2 10
O2 20
O3 12 0 12
O4 13
8 32 15
38. Portanto a solução optima é
Transporte: 10 unidades da origem 1 ao destino 2
5 unidades da origem 2 ao destino 2
15 unidades da origem 2 ao destino 3
8 unidades da origem 3 ao destino 1
4 unidades da origem 3 ao destino 2
13 unidades da origem 1 ao destino 2
O custo do programa será:
C = 10*5+5*12+15*6+8*7+4*9+13*6=370
39. 7.3 O Problema da degenerescência
Vimos que igualando os coeficientes das
variáveis básicas a zero, o resultado é um sistema
que apresenta uma variável livre e obtivemos um
conjunto único de valores para as incógnitas.
Pode ocorrer, entretanto, que haja menos
variáveis básicas do que o necessário na solução,
o que resulta menos equações do que as
desejadas (duas, três ou mais equações a menos
que o número de variáveis.
40. 7.3 O Problema da degenerescência
Dizemos nesse caso que a soluço é degenerada. Ao
calcular os valores de U e V do sistema para o critério
de optimalidade, não conseguimos um conjunto único
de valores para U e V.
A solução para o caso é criar variáveis básicas
auxiliares, quantas forem necessárias para o que
número de equações seja apenas um a menos que que
o número de variáveis. Essas variáveis básicas
auxiliares devem ter um valor tão próximo de zero que
não alteram as condições de contorno do problema.
41. Exemplo: Calcular o plano de transporte
para os dados do quadro:
Destino j
Origem i D1 D2
D3
O1 12 9 8 10
O2 13 12 6 20
O3 7 9 5 10
O4 3 2 8 15
8 30 17
55
55
42. Calcular pelo canto noroeste
Destino j
Origem i D1 D2
D3
O1 8 2 10
O2 20 20
O3 8 2 10
O4 15 15
8 30 17
46. A solução não é optima: entra a variável X23, que
possui o coeficiente negativo de maior valor
absoluto.
Destino j
Origem i D1 D2
D3
O1 10 10
O2 20 20
O3 A 10 10
O4 8 7 15
8 30 17
47. Coeficiente das variáveis básicas = 0
Variáveis Básicas Coeficiente Substituindo Cij
X12 C12 – U1 – V2 =0 9 – U1 – V2 =0
X22 C22 – U2 – V2 =0 12 – U2 – V2 =0
X33 C33 – U3 – V3 =0 5 – U3 – V3 =0
X41 C41 – U4 – V1 =0 3 – U4 – V1 =0
X43 C43 – U4 – V3 =0 8 – U4 – V3 =0
O sistema tem cinco equações e sete variáveis. Devemos
então acrescentar uma variável auxiliar A numa célula que
não forme circuito com as outras variáveis básicas. Por
exemplo, colocamos A na célula de X32 , e completamos o
sistema.
X32 C32 – U3 – V2 =0 9 – U3 – V2 =0
57. 7.4 O caso de maximização
Alguns modelos de programação linear, embora
tenham objectivo de maximizar, podem ser
tratados como modelos de transportes. Como o
modelo de transportes minimiza o objectivo, a
solução consiste em transformar o objectivo em
minimizar. Isto pode ser feito de duas maneiras:
58. 7.4 O caso de maximização(Cont.)
Multiplicar a função objectivo por -1, o que
equivale a trocar o sinal dos custos unitários
de duas maneiras:
Trabalhar com um novo quadro, onde os
custos unitários de transporte são os
complementos dos preços originais para
algum valor fixo, geralmente o maior valor da
tabela original.
59. O quadro representa os ganhos unitários
devido à venda de mercadorias comoradas nas
origem e comercializadas nos destinos. O
objectivo, portanto, é maximizar o retorno,
nas distribuições das mercadorias das origens
para os destinos.
60. Exemplo: Calcular o plano de transporte
para os dados do quadro:
Destino j
Origem i D1 D2
D3
O1 10 12 6 10
O2 8 10 9 20
O3 14 16 13 30
15 15 30
60
60
61. Quadro de minimização (função objectivo
x (-1)
Destino j
Origem i D1 D2
D3
O1 -10 -12 -6 10
O2 -8 -10 -9 20
O3 -14 -16 -13 30
15 15 30
60
60
62. Quadro de minimização (complemento
para 16)
Destino j
Origem i D1 D2
D3
O1 6 4 10 10
O2 8 6 7 20
O3 2 0 3 30
15 15 30
60
60
63. 7.5 Caso da impossibilidade de transporte
Pode ocorrer que determinado transporte de uma
origem para um destino não possa ser realizado.
Neste caso, colocamos como custo de transporte,
naquele célula da tabela de custos, um símbolo M,
que representa um número muito grande forma:
Ao construir a solução inicial, evitamos esta célula não é
possível o transporte.
Como o número M é muito grande, ao calcular os
coeficientes das variáveis não básicas, o coeficiente desta
célula nunca será negativo, o que impede o
aparecimento, na célula, de uma variável básica trazendo
como consequência a ausência daquele transporte.