Transporte

Propaganda
Prof. Volmir Wilhelm
TP052 – Pesquisa Operacional
UFPR
32
16 - PROBLEMA DO TRANSPORTE

Visa minimizar o custo total do transporte necessário para abastecer n centros consumidores
(destinos) a partir de m centros fornecedores (origens)
a1, a2, ..., am : ofertas
b1, b2, ..., bn : demandas
xij : quantidades a serem transportadas da origem i para o destino j.



Z
min
m
n
 c
i 1 j 1
n
s.a
ij
xij
x
ij
 ai
i  1,2,..., m 
x
ij
 bj
 j  1,2,..., n 
i  1,2,..., m   j  1,2,..., n 
j 1
m
i 1
xij  0
Somando as m restrições de oferta e as n restrições de demanda obtem-se
m
n
m
 xij   ai
i 1 j 1
i 1
m
e
n
n
 xij   b j
i 1 j 1
j 1

m
n
i 1
j 1
 ai   b j
indicando que o modelo do transporte exige uma igualdade entre oferta total e demanda total. Porém o
algoritmo a ser apresentado também pode ser utilizado quando a oferta total não for igual a demanda
total.
 Se a demanda é menor que a oferta, basta incluir um consumidor fictício, cuja demanda seja,
exatamente, a diferença entre o total de oferta e o total da demanda, enquanto que os custos de
transporte de cada origem ao consumidor fictício são tomados iguais a zero
 Se a oferta é menor que a demanda total, basta incluir uma origem fictícia, cuja oferta restabeleça o
equilíbrio entre demanda total e oferta total. Neste caso deve-se fixar igual a zero os custos deste
depósito fictício para todos os centros consumidores.
Estudar exemplos no livro do Puccini, páginas 112, 113, 114, 115.
Exemplo da página 112. Uma firma fabrica um determinado produto em quatro cidades 1, 2, 3 e 4; o
produto destina-se a três centros de consumo A, B e C. Sabe-se que:
a) As cidades A, B, C e D dispõem respectivamente de 30, 20, 50 e 10 unidades do produto.
b) Os centros de consumo I, II e III necessitam respectivamente de 20, 40 e 50 unidades.
c) Os custos unitários de transporte ($)
1A: 1 1B: 2
1C: 3
2A: 10 2B: ...
2C: 8
3A: 3 3B: 4
3C: 2
4A: 5 4B: 2
4C: 1
O modelo de transporte correspondente será:
Prof. Volmir Wilhelm
TP052 – Pesquisa Operacional
UFPR
33
DETERMINAÇÃO DE UMA SOLUÇÃO INICIAL
Já foi estudado o problema do transporte e sua formulação num problema de programação
linear. Nesta etapa serão estudadas técnicas para gerar soluções iniciais para tal modelo de
programação linear. Serão vistos:
 A regra do Canto Noroeste
 O processo do Custo Mínimo
 O Método de Vogel
A obtenção de uma solução inicial pode ser feita de forma quase arbitrária. As exigências são
muito mais simples que aquelas do método simplex e são as seguintes:
- ser viável, isto é, satisfazer todas as restrições do modelo;
- conter (n + m - 1) variáveis básicas; e
- as variáveis básicas não devem formar um circuito fechado.
a) Regra do Canto Noroeste
A regra será aplicada no quadro de soluções segundo os seguintes passos:
- Passo 1: comece pela célula superior esquerda;
- Passo 2: coloque nessa célula a maior quantidade permitida pela oferta e demanda
correspondentes;
- Passo 3: atualize os valores da oferta e da demanda que foram modificados pelo Passo 2;
- Passo 4: siga para a célula da direita se houver alguma oferta restante e volta ao Passo 2.
Caso contrário, siga para a célula inferior e volte ao Passo 2.
O processo continua até que sejam esgotadas as ofertas de todas as origens e supridas as
demandas de todos os destinos.
EXEMPLO
A
10 (7)
1
2
2
11
3
Demanda 7 (0)
1
2
3
Demanda
-
A
7
7
B
7 (2)
8 (4)
12
6 (4, 0)
B
2
4
6
C
6
9 (6)
8 (4)
10 (4)
D
5
1
4 (4)
4 (0)
C
D
6
4
10
4
4
Oferta
9 (2, 0)
10 (4, 0)
8 (4, 0)
Oferta
9
10
8
Primeiro deve-se verificar se a demanda total é igual a oferta total.
A solução inicial será: x1A=7, x1B=2, x2B= 4, x2C=6, x3C=4, x3D=4, Z=218
Usando a regra do Canto Noroeste, a solução inicial independe dos custos, isto é, depende
exclusivamente das ofertas das origens e das demandas dos destinos.
Prof. Volmir Wilhelm
TP052 – Pesquisa Operacional
UFPR
34
b) Regra do Custo Mínimo
A regra será aplicada no quadro de soluções segundo os seguintes passos:
- Passo 1: localize no quadro de custos o menor cij que não tenha oferta ou demanda nula;
- Passo 2: coloque nessa célula a maior quantidade permitida pela oferta e demanda
correspondentes;
- Passo 3: atualize os valores da oferta e da demanda que foram modificados pelo Passo 2.
O processo continua até que sejam esgotadas as ofertas de todas as origens e supridas as
demandas de todos os destinos.
EXEMPLO
1
2
3
Demanda
1
2
3
Demanda
A
B
C
6 (9)
9
8 (1)
10 (1,0)
10
2 (6)
11 (1)
7 (1,0)
7
8
12 (6)
6 (0)
A
B
C
9
6
1
7
6
6
1
10
D
5
1 (4)
4
4 (0)
D
4
Oferta
9 (0)
10 (6,0)
8 (7,6,0)
Oferta
9
10
8
4
A solução inicial será: x1C=9, x2A=2, x2D= 4, x3A=1, x3B=4, x3C=1, Z=161. Usando a regra do
Custo mínimo, a solução depende dos custos.
c) Método de Vogel – Método das Penalidades
O método de Vogel depende tanto dos custos como das demandas e ofertas. A regra será
aplicada no quadro de soluções segundo os seguintes passos:
- Passo 1: em cada linha, identifique a diferença de custo entre o menor valor e o segundo
menor
- Passo 2: em cada coluna, identifique também a variação de custo entre o menor valor e o
segundo menor
- Passo 3: na linha ou coluna correspondente à maior de todas as variações selecione a célula
de menor custo e coloque aí a maior quantidade permitida pela oferta e demanda
correspondentes
- Passo 4: atualize os valores de oferta e demanda que foram modificados pelo Passo 3; caso
a linha tenha tido sua oferta reduzida a zero, cancele a linha e volte ao Passo 2; caso a
coluna tenha zerado sua demanda, volte ao Passo 1 e, depois, Passo 3.
O processo continua até que sejam esgotadas as ofertas de todas as origens e supridas as
demandas de todos os destinos.
Exemplo do porque o método de Vogel geralmente é melhor que os outros 2 métodos
A
B
Oferta
1 500
1
40
10 1000
2
30
Demanda 50
20
Prof. Volmir Wilhelm
TP052 – Pesquisa Operacional
UFPR
EXEMPLO
A
10
2
11
7
8
B
7
8
12
6
1
C
6
9
8
10
2
D
5
1
4
4
3
Oferta
9
10
8
1
1
4
1
2
3
Demanda
A
10
2 (7)
11
7 (0)
B
7
8
12
6
1
C
6
9
8
10
2
D
5
1
4
4
3
Oferta
9
10 (3)
8
1
7
4
1
2
3
Demanda
A
10
2 (7)
11
7 (0)
B
7 (6)
8
12
6 (0)
5
C
6
9
8
10
2
D
5
1 (3)
4
4 (1)
1
Oferta
9 (3)
10 (3,0)
8
1
2
3
Demanda
A
10
2 (7)
11
7 (0)
B
7 (6)
8
12
6 (0)
C
6
9
8
10
2
D
5
1 (3)
4 (1)
4 (1,0)
1
Oferta
9 (3)
10 (3,0)
8 (7)
1
2
3
Demanda
A
10
2 (7)
11
7 (0)
B
7 (6)
8
12
6 (0)
C
6 (3)
9
8
10 (7)
1
D
5
1 (3)
4 (1)
4 (1,0)
Oferta
9 (3,0)
10 (3,0)
8 (7)
1
2
3
Demanda
A
10
2 (7)
11
7 (0)
B
7 (6)
8
12
6 (0)
C
6 (3)
9
8 (7)
10 (7,0)
D
5
1 (3)
4 (1)
4 (1,0)
Oferta
9 (3,0)
10 (3,0)
8 (7,0)
1
2
3
Demanda
1
4
1
4
35
Prof. Volmir Wilhelm
A
1
2
3
Demanda
TP052 – Pesquisa Operacional
UFPR
B
6
C
3
D
7
7
6
Oferta
9
10
8
3
1
4
7
10
36
A solução inicial será: x1B=6, x1C=3, x2A=7, x2D=3, x3C=7, x3D=1, Z=137.
MÉTODO U-V PARA ACHAR A SOLUÇÃO ÓTIMA
A seguir será estudado o método de Vogel (também conhecido como método u-v) para obtenção
da solução ótima para o problema do transporte.
a) Determinação da variável que entra na base
Suponhamos que temos m origens e n destinos e a matriz de custos C = cij. Então o modelo dos
transportes é
Z
m
n
 c
i 1 j 1
n
ij
xij  0
x
ij
 ai
 u i 
i  1,..., m
x
ij
 bj
 v 
j  1,..., n
j 1
m
i 1
j
xij  0
Se tivermos uma solução inicial, então será necessário eliminar as variáveis básicas da função
objetivo. Seja u1, u2, ..., um e v1, v2, ..., vn as constantes pelas quais devem ser multiplicadas as
restrições, antes de somá-las à função objetivo.
Somando esses múltiplos das restrições à função objetivo, ela se transforma em
Z   cij  u i  v j xij   u i ai   v j b j
m
n
i 1 j 1
m
n
i 1
j 1
e portanto, conhecida a solução inicial viável deve-se ter, para cada uma das (m + n –1) variáveis
básicas,
cij  ui  v j  0
ficando a função objetiva expressa somente em função das variáveis não-básicas.
Os múltiplos (m + n) ui e vj serão determinado a partir de (m + n - 1) equações do tipo
cij  ui  v j  0 . Por termos uma variável a mais que equações, pode-se atribuir valor nulo a uma delas
e determinar as demais.
No exemplo desenvolvido na aula passada construímos a seguinte solução inicial básica através
do Processo do Custo Mínimo.
1
2
3
A
10
2
11
v1
B
7
8
12
v2
C
6
9
8
v3
D
5
1
4
v4
u1
u2
u3
9
6
1
4
6
1
Prof. Volmir Wilhelm
TP052 – Pesquisa Operacional
UFPR
37
Portanto o valor das (m + n) variáveis ui e vj será obtido das equações
Variável básica x1C : 6-u1-v3  0
Variável básica x 2 A : 2-u 2 -v1  0
Variável básica x 2 D : 1-u 2 -v 4  0
Variável básica x3 A : 11-u 3 -v1  0
Variável básica x3 B : 12-u 3 -v 2  0
Variável básica x3C : 8-u 3 -v3  0
Fazendo, por exemplo u1 = 0 tem-se
v3  6 v2  10 u 2  7
u 3  2 v1  9
v4  8
então
3
u a
i 1
4
i
i
v b
j 1
j
j
 0  9   7   10  2  8  54
 9  7  10  6  6  10  8  4  215
Coeficient e x1 A :
10  9  1
Coeficient e x1B :
7  10  3
Coeficient e x1D :
5  8  3
Coeficient e x 2 B :
8   7   10  5
Coeficient e x 2C :
9   7   6  10
Coeficient e x3 D :
4  2  8  6
E tem-se finalmente
Z  161  x1A  3x1B  3x1D  5x2 B  10 x2C  6 x3D
Conclui-se que a solução ótima ainda não foi encontrada pois a função objetivo contém
coeficientes negativos (pois é um problema de minimização)
Todos estes cálculos podem ser feitos utilizando os seguintes quadros
1
2
3
1
2
3
vj
A
B
C
9
6
1
6
1
D
4
A
B
10
7
8
2 
11 
12 
v1 = 9 5º v2 = 10 4º
C
6 
9
8 
v3 = 6 2º
D
5
1 
4
v4 = 8
ui
u1 = 0 1º
u2 = -7 6º
u3 = 2 3º
Os valores dos coeficientes das variáveis não básicas é facilmente calculado.
Prof. Volmir Wilhelm
1
2
3
vj
A
10 (1)
2 
11 
v1 = 9
TP052 – Pesquisa Operacional
UFPR
B
7 (-3)
8 (5)
12 
v2 = 10
C
6 
9 (10)
8 
v3 = 6
D
5 (-3)
1 
4 (-6)
v4 = 8
38
ui
u1 = 0
u2 = -7
u3 = 2
Até agora sabemos determinar uma solução básica inicial e atualizar os coeficientes da função
objetivo em função desta base. Deveremos determinar, agora, quem será a próxima variável a entrar na
base, e quem deverá sair da base
b) Determinação da variável que sai da base
No exemplo anterior verifica-se que a solução ainda não é ótima pois na função objetivo
existem coeficientes negativos, ou seja,
Z  161  x1A  3x1B  3x1D  5x2 B  10 x2C  6 x3D
A variável que deverá entrar na base é x3D pois se ela tornar-se positiva então irá minimizar mais ainda
a função objetivo.
Sabe-se, do método simplex que a variável que deve sair da base é aquela que se anular mais
rapidamente quando x3D aumentar de valor. Vejamos isto a partir do próximo quadro.
1
2
3
A
B
C
9
6+
1-
6
1
D
4-
+
i) Imaginando que a variável x3D entrará na base com valor  > 0, que deve ser o maior possível.
ii) Somar e subtrair  aos valores de certas variáveis básicas de tal modo a se fechar um circuito que
garanta a compatibilidade da nova solução.
iii) Determinar o maior valor permitido a . No nosso exemplo será  = 1.
iv)
O novo quadro será
A
1
2
3
B
C
9
6
1
7
D
3
1
As demais variáveis básicas (fora do circuito) não terão seus valores alterados.
Prof. Volmir Wilhelm
TP052 – Pesquisa Operacional
UFPR
39
EXEMPLO COMPLETO
Após x3D entrar na base, os custos serão Z  161  6  155
1
2
3
vj
A
10 (7)
2 
11 (6)
v1 = 5
A
1
2
3
B
7 (-3)
8 (-1)
12 
v2 = 12
B
+
C
6 
9 (4)
8 
v3 = 8
C
9-
7
6-
1+
D
5 (3)
1 
4 
v4 = 4
ui
u1 = -2
u2 = -3
u3 = 0
D
3
1
O menor coeficiente é de x1B e portanto deverá entrar na base. Se  = 6 então x3B deverá sair da
base e os novos quadros serão ( Z  6  7  3  6  7  2  3 1  7  8  1 4  137 )
A
1
2
3
1
2
3
vj
B
6
C
3
7
7
A
10 (7)
2 
11 (6)
v1 = 3 6
B
7 
8 (2)
12 (3)
v2 = 7 7
D
3
1
C
D
5 (3)
6 
9 (4)
1 
8 
4 
v3 = 6 2
v4 = 2 4
ui
u1 = 0 1
u2 = -1 5
u3 = 2 3
Todos os coeficientes das variáveis não básicas são positivos, e portanto se qualquer uma delas
entrar na base irá “piorar” o valor da função objetivo. Logo, a solução encontrada é ótima.
x1B  6 x1C  3
x2 A  7 x2 D  3
x 3C  7 x 3 D  1
Prof. Volmir Wilhelm
TP052 – Pesquisa Operacional
UFPR
40
CASOS ESPECIAIS
a) Empate na entrada: escolha aleatória
b) Empate na saída – degeneração: deve-se eliminar apenas a linha ou a coluna, não pode-se eliminar
a linha e a coluna simultaneamente
c) Solução múltiplas: quando alguma variável básica for nula
d) Exemplo completo: página 129.
1
2
3
Dem.
A
7
4
2
5
B
5
7
6
9
C
6
6
10
7
D
11
10
8
8
Of.
9
13
7
A
B
9
0
C
D
7
9
7
6
2
8
Of.
9
13
7
Solução final
1
2
3
Dem.
5
5
Download