O Problema de Transportes

Propaganda
Investigação Operacional- 2009/10 - Problemas de Transportes
28
O Problema de Transportes
O problema geral de transportes consiste em determinar a forma mais económica de enviar
um bem que está disponível em quantidades limitadas em certos locais (origens) para outros
locais onde é necessário (destinos).
Os custos associados a esse transporte costumam ser representados numa matriz, chamada
matriz de custos de tal modo que o elemento cij representa o custo de transportar uma
unidade do bem em causa da origem i para o destino j.
Para que o problema tenha solução é necessário que a soma das quantidades disponíveis nas
origens seja igual à soma das quantidades necessárias nos destinos.
Este problema pode ser formalizado como um programa linear:
Min z =
s. a
m X
n
X
cij xij
i=1 j=1
n
X
xij = ai
i = 1; : : : ; m
xij = bj
j = 1; : : : ; n
j=1
m
X
i=1
xij
0
i = 1; : : : ; m; j = 1; : : : ; n
Exemplo : Uma empresa siderúrgica produz, anualmente, 4 200 000 toneladas de aço, em três
localidades (A1 ; A2 ; A3 ) que deve ser entregue em quatro outras localidades (B1 ; B2 ; B3 ; B4 ).
As quantidades produzidas e requeridas são indicadas a seguir.
1 800 000 ton em A1
600 000 ton em B1
900 000 ton em A2
1 500 000 ton em B2
1 500 000 ton em A3
1 200 000 ton em B3
900 000 ton em B4
Os custos de transporte, por tonelada, da origem i (i = 1; 2; 3) para o destino j (j = 1; 2; 3; 4),
são dados no quadro que se segue.
B1
B2
B3
B4
A1
20
14
26
30
A2
22
24
40
42
A3
32
36
52
56
Supondo que não existem limitações na capacidade de transporte de umas localidades para
as outras, determinar ass quantidades a transportar de modo a minimizar os custos totais
de transporte.
Formulando o problema de acordo com o modelo anteriormente descrito obtém-se:
Investigação Operacional- 2009/10 - Problemas de Transportes
29
Min z =
20x11 + 14x12 + 26x13 + 30x14 + 22x21 + 24x22 + 40x23 + 42x24 + 32x31 + 36x32 + 52x33 + 56x34
x11 + x12 + x13 + x14 = 1800000
x21 + x22 + x23 + x24 = 900000
x31 + x32 + x33 + x34 = 1500000
x11 + x21 + x31 = 600000
x12 + x22 + x32 = 1500000
x13 + x23 + x33 = 1200000
x14 + x24 + x34 = 900000
x11 ; x12 ; x13 ; x14 x21 ; x22 ; x23 ; x24 ; x31 ; x32 ; x33 ; x34
0
A matriz das restrições deste problema é:
2
6
6
6
6
6
6
A=6
6
6
6
6
4
1 1 1 1 0 0 0 0 0 0 0 0
3
7
0 0 0 0 1 1 1 1 0 0 0 0 7
7
0 0 0 0 0 0 0 0 1 1 1 1 7
7
7
1 0 0 0 1 0 0 0 1 0 0 0 7
7
0 1 0 0 0 1 0 0 0 1 0 0 7
7
7
0 0 1 0 0 0 1 0 0 0 1 0 5
0 0 0 1 0 0 0 1 0 0 0 1
Repare-se que a soma das 3 primeiras linhas é igual à soma das 4 últimas, isto é, as linhas
da matriz são linearmente dependentes. É fácil demonstrar que a característica da matriz A
é 6.
Generalizando para um problema com m origens e n destinos, é fácil também demonstrar
nesse caso que só há m + n
dimensão m + n
1 linhas linearmente independentes. Isto é, a matriz B terá
1, o que é o mesmo que a…rmar que há precisamente m + n1 variáveis
básicas.
A estrutura da matriz do problema de transportes permite resolvê-lo por um algoritmo
próprio, bastante mais e…ciente do que a utilização do método simplex e que tira partido da
forma especial do seu problema dual. Repare-se que, sendo todas as restrições de igualdade,
a utilização do algoritmo simplex iria impor a introdução de m + n variáveis arti…ciais e uma
primeira fase com, pelo menos, m + n iterações, só para encontrar a solução inicial!
Comecemos por organizar um quadro com m linhas e n colunas, em que as linhas correspondem às origens e as colunas aos destinos e em que escrevemos o custo unitário de transportar
de Ai para Bj na canto superior direito da célula (i; j):
B1
B2
B3
B4
A1
20
14
26
30
1800000
A2
22
24
40
42
900000
A3
32
36
52
56
1500000
1500000
1200000
600000
900000
Investigação Operacional- 2009/10 - Problemas de Transportes
30
Comecemos por observar que 1800000 + 900000 + 1500000 = 600000 + 1500000 + 1200000 +
900000 = 4200000. Ou seja a procura é igual à oferta, o que signi…ca que toda a produção
se esgota e toda a procura será satisfeita.
Neste caso, como todas estas quantidades são múltiplas de 105 , é possível simpli…car os
cálculos dividindo tudo por esse valor, passando a unidade a ser 105 toneladas.
Para encontrar uma solução inicial admissível há várias técnicas que se podem utilizar, sendo
a do canto noroeste (superior esquerdo) a mais vulgar. Consiste em começar por dar o maior
valor possível a x11 e continuando sempre com a variável correspondente ao quadrado mais
a NW ainda disponível.
B1
B2
20
12
A2
22
3
A3
32
6
A1
B3
14
24
36
6
15
B4
26
30
18
6
40
42
9
6
52
56
15
9
12
9
Obteve-se assim uma solução inicial com 4 + 3
1 = 6 variáveis básicas, à qual corresponde
o valor 20
6 + 56
6 + 14
12 + 24
3 + 40
6 + 52
9 = 1416 para a função objectivo.
É agora necessário encontrar um processo de saber se a solução é óptima ou não e, caso não
seja, qual a variável a sair da base e qual a variável a entrar na base.
Vamos recorrer ao dual do problema geral de transportes apresentado na página 28 e tirar
partido das condições de optimalidade dum par de problemas primal-dual.
Max w =
m
X
ai u i +
i=1
s. a
ui + v j
n
X
bj v j
j=1
cij
i = 1; : : : ; m; j = 1; : : : n
As variáveis u correspondem às restrições nas origens e as variáveis v correspondem às
restrições nos destinos.
Pelo teorema da complementaridade, as variáveis de afastamento do dual correspondentes a
variáveis básicas do primal serão nulas. Além disso, sabe-se que a solução é óptima quando
o primal e o dual são admissiveis. Ou seja, se um xkp é básico então uk + vp = ckp .
Voltando ao problema que estávamos a resolver, vamos calcular o valor das variáveis do dual
correspondentes à solução inicial encontrada pela regra do canto noroeste. Para isso vai ser
necessário resolver um sistema com 6 equações e 7 incógnitas, correspondente à aplicação
das condições de complementaridade às
8
>
>
>
>
>
>
>
>
>
<
6 variáveis básicas (x11 ; x12 ; x22 ; x23 ; x33 ; x34 ):
u1 + v1 = 20
u1 + v2 = 14
u2 + v2 = 24
>
u2 + v3 = 40
>
>
>
>
>
u3 + v3 = 52
>
>
>
: u + v = 56
3
4
Investigação Operacional- 2009/10 - Problemas de Transportes
31
Este sistema é indeterminado, com grau de indeterminação 1.Para encontrar uma solução
particular, pode-se atribuir a uma das variáveis o valor 0 e calcular o correspondente valor
para as restantes variáveis.
Fazendo v4 = 0, virá u3 = 56 e por substituição para trás obtém-se, sucessivamente,
v3 =
20; u1 = 34 e v1 =
4; u2 = 44; v2 =
14.
Obtivemos assim uma solução do problema dual correspondente à solução do primal que
estamos a estudar. Podemos calcular os valores das variáveis de afastamento das restrições
do dual correspondentes às variáveis não básicas do primal, que, como se sabe da teoria da
dualidade, correspondem aos seus custos actualizados. Assim,
c13 = c13
u1
v3 = 26
34
( 4) =
4
c14 = c14
u1
v4 = 30
34
0=
c21 = c21
u2
v1 = 22
44
( 14) =
c24 = c24
u2
v4 = 42
44
0=
c31 = c31
u3
v1 = 32
56
( 14) =
c32 = c32
u3
v2 = 36
56
( 20) = 0
4
8
2
10
Observa-se assim que a variável x31 , à qual corresponde um custo mais negativo, deve ser tornada básica. Para encontrar a variável que vai sair da base, segue-se um processo semelhante
ao usado no método simplex, isto é, será a primeira a anular-se quando x31 é incrementado.
Para simpli…car, atribui-se a x31 o valor , adicionando e subtraindo
às restantes variáveis
básicas, onde for necessário, de modo que a soma em cada linha e coluna não se altere. Assim
virá:
v1 =
u1 = 34
14
v2 =
20
6
u2 = 44
22
u3 = 56
32
20
v3 =
12 +
24
3
36
6
v4 = 0
26
30
18
6+
40
42
9
6
52
56
15
15
Conclui-se, assim, que o maior valor que
4
14
9
12
9
pode tomar é 3, isto é a variável x31 vai-se tornar
básica com o valor 3 por troca com a variável x22 que se anula. Obtém-se assim a nova
solução admissível:
3
20
22
3
6
15
14
24
32
36
15
26
30
18
9
40
42
9
3
52
56
15
12
à qual corresponde o valor 1386 (< 1416) para a função objectivo.
9
9
Investigação Operacional- 2009/10 - Problemas de Transportes
32
Todo o processo se repetirá até que a solução óptima seja encontrada, o que acontece quando
todos os custos actualizados forem positivos, ou seja, quando o dual também for admissível.
Nalguns casos não haverá equilíbrio entre a oferta e a procura. Para poder utilizar o algoritmo
é então necessário criar uma origem …ctícia (caso de excesso de procura) ou um destino
…ctício (caso de excesso de oferta), aos quais se atribui a quantidade em falta ou excesso.
Normalmente os custos associados a origens ou destinos …ctícios são nulos, a não ser que
haja preços de armazenamento ou penalizações pelo não cumprimento das encomendas.
Outro aspecto a referir é a possibilidade de ocorrência de soluções degeneradas, nas quais o
número de variáveis não nulas é inferior a m + n
B1
1. Considere-se o seguinte exemplo:
B2
B3
A1
2
1
0;5
2
A2
1
0;5
2
2; 5
1
1
2; 5
Usando a regra do canto noroeste para obter a solução inicial vem:
B1
A1
B2
2
1
B3
1
1
1
A2
0;5
1
Ora, deveriamos ter 2 + 3
0;5
2; 5
1
2
2
2; 5
2; 5
1 variáveis básicas e só obtivemos 3, isto signi…ca que a solução
é degenerada, isto é, há uma variável básica que é nula. Utiliza-se aqui o chamado método
das perturbações que consiste em acrescentar à disponibilidade de uma ou mais origens um
valor in…nitesimal e usar essa perturbação para criar variáveis adicionais com valor igual a
até perfazer m + n
1 variáveis básicas. No exemplo vem:
B1
A1
B2
2
1
1
1
A2
B3
1
0;5
0;5
1
2; 5
1
2+
2
2; 5
2; 5 +
Agora já temos 4 variáveis básicas e o algoritmo de transportes pode ser usado normalmente.
Assim que obtivermos uma solução com 4 variáveis básicas positivas pode-se fazer
Vejamos o que acontece neste exemplo:
v1 = 2
u1 = 0
1
1
u2 = 1; 5
1
v2 = 1
2
1
0;5
2
2;5
1
v3 = 0; 5
1
0;5
2; 5
2; 5 +
2
2+
2; 5
= 0.
Investigação Operacional- 2009/10 - Problemas de Transportes
33
Nas células correspondentes às variáveis não básicas, escreve-se no canto inferior direito o
valor do custo actualizado. A variável x21 como tem o custo actualizado mais negativo é a
que deve entrar na base:
v1 = 2
u1 = 0
v2 = 1
2
1
1
u2 = 1; 5
1
1
2;5
0;5
+
0;5
2
1
Vemos que deve ser
v3 = 0; 5
2
2; 5
1
2+
2; 5
2; 5 +
= 1 e virá o novo quadro:
2
1
1
1
1
0;5
2
2;5
1
1
+1
0;5
1; 5
2
2+
2; 5
2; 5 +
Como obtivemos uma solução não degenerada, pode-se neste momento fazer = 0 e continuar
o processo normalmente.
Em tudo o que foi feito partiu-se do princípio de que todas as rotas são possíveis, mas pode
acontecer que haja trajectos impossíveis entre alguma ou algumas das origens e algum ou
alguns dos destinos. Para resolver esse problema deve-se considerar os custos correspondentes
aos trajectos impossíveis iguais a +1.
Download