Você está na página 1de 25

Pesquisa Operacional I – Profª Me Fernanda Munhoz

Conteúdo 7: Problema do Transporte

Vamos considerar a situação descrita a seguir: temos que transportar produtos das várias origens onde são
estocados para vários destinos onde são necessários. Conhecemos os custos unitários de transporte de cada origem
para cada destino (Cij – custo unitário de transporte de cada origem i para cada destino j). Devemos decidir quanto
transportar de cada origem para cada destino (Xij – quantidade a ser transportada da origem i para o destino j).
O objetivo é completar a transferência dos produtos com menor custo possível. Em princípio, vamos supor
que a quantidade disponível nas origens seja exatamente igual ao total das necessidades nos destinos.

Origens Destinos
Disponibilidades Necessidades

50 1
1 100

100 2

2 170
120 3

Essa situação pode ser representada de maneira simples em uma tabela:

Destinos j
D1 D2 Disponibilidades
Origens i
O1
O2
O3
270
Necessidades
270

Onde se lê:
• as disponibilidades nas origens;
• as necessidades nos destinos;
• os custos unitários de transporte de cada origem para cada destino.
Modelo linear do transporte

Variáveis de decisão: Xij – quantidade a ser transportada da origem i para o destino j.


Objetivo: minimizar o custo do transporte.
min 𝐶 = 10𝑥11 + 12𝑥12 + 20𝑥21 + 8𝑥22 + 6𝑥31 + 15𝑥32
onde:
10𝑥11 = 𝑐𝑢𝑠𝑡𝑜 𝑢𝑛𝑖𝑡á𝑟𝑖𝑜 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑝𝑜𝑟𝑡𝑒 𝑑𝑎 𝑜𝑟𝑖𝑔𝑒𝑚 1 𝑝𝑎𝑟𝑎 𝑜 𝑑𝑒𝑠𝑡𝑖𝑛𝑜 1
×
𝑞𝑢𝑎𝑛𝑡𝑖𝑑𝑎𝑑𝑒 𝑎 𝑠𝑒𝑟 𝑡𝑟𝑎𝑛𝑠𝑝𝑜𝑟𝑡𝑎𝑑𝑎 𝑑𝑎 𝑜𝑟𝑖𝑔𝑒𝑚 1 𝑝𝑎𝑟𝑎 𝑜 𝑑𝑒𝑠𝑡𝑖𝑛𝑜 1
=
𝑐𝑢𝑠𝑡𝑜 𝑑𝑒 𝑡𝑟𝑎𝑛𝑝𝑜𝑟𝑡𝑒 𝑑𝑎 𝑜𝑟𝑖𝑔𝑒𝑚 1 𝑝𝑎𝑟𝑎 𝑜 𝑑𝑒𝑠𝑡𝑖𝑛𝑜 1

Restrições:
As quantidades retiradas das origens devem ser a disponibilidade em cada uma:

Origem 1 - retiradas 𝑥11 + 𝑥12 = 50 Disponibilidade O1

Origem 2 - retiradas Disponibilidade O2

Origem 3 - retiradas Disponibilidade O3

As quantidades transportadas para cada destino devem ser a necessidade em cada um deles:

Destino 1 - chegadas 𝑥11 + 𝑥21 + 𝑥31 = 100 Necessidade D1

Destino 2 - chegadas Necessidade D2

O modelo fica então resumido a:


O caso dos sistemas não equilibrados

O modelo descrito anteriormente pode apresentar também sistemas de transporte que não obedecem à
condição de equilíbrio entre oferta (disponibilidade nas origens) e demanda (necessidade de destinos).
O enquadramento no modelo se faz com a criação de origens ou destinos auxiliares para receber a diferença
entre oferta e demanda. Os custos unitários para origens e destinos auxiliares é zero. Na solução do modelo, as
quantidades que eventualmente sejam transportadas de origens auxiliares ficam faltando nos destinos. As
quantidades que são transportadas para destinos auxiliares, na verdade ficam depositadas nas origens.

Exemplos

1- O modelo representado no quadro está desiquilibrado.

D1 D2 D3
O1 R$ 10 R$ 12 R$ 9 20
O2 R$ 4 R$ 9 R$ 8 30
O3 R$ 6 R$ 12 R$ 10 10
60
25 36 5
66

Criando-se uma origem auxiliar para receber a diferença 66 − 60 = 6, teremos o sistema equilibrado:

D1 D2 D3
O1 R$ 10 R$ 12 R$ 9 20
O2 R$ 4 R$ 9 R$ 8 30
O3 R$ 6 R$ 12 R$ 10 10
A R$ 0 R$ 0 R$ 0 6
66
25 36 5
66

Uma solução possível para o problema é mostrada no quadro, onde o valor das células representa as
quantidades transportadas de cada origem para cada destino.

D1 D2 D3
O1 20 20
O2 5 25 30
O3 10 10
A 1 5 6
25 36 5
As quantidades 𝑥𝐴2 = 1 e 𝑥𝐴3 = 5 transportadas a partir da origem auxiliar A (variável dummy), na verdade,
ficam faltando nos destinos, isto é, o destino D2, recebe apenas 35 unidades. O destino D3 não recebe
nenhuma mercadoria.

2- RENT A CAR | Os automóveis podem ser devolvidos em localidades outras que aquelas onde foram
originalmente alugados.
Existem duas agências de locação (origens) com, respectivamente, 15 e 13 carros e três outras agências
(destino) necessitando de 12. 14 e 7 carros, respectivamente.

D1 D2 D3
O1 R$ 140 R$ 60 R$ 110 15
O2 R$ 70 R$ 90 R$ 120 13
28
12 14 7
33

D1 D2 D3
O1 R$ 140 R$ 60 R$ 110 15
O2 R$ 70 R$ 90 R$ 120 13
A R$ 0 R$ 0 R$ 0 5
33
12 14 7
33

Modelo fica:

D1 D2 D3

O1 0 R$ 60 × 14 R$ 110 × 1 15

O2 13

A 5
33
12 14 7
33
3- CONTRATO | Uma companhia tem 3 depósitos e 4 clientes com as seguintes capacidades mensais de
estocagem e demanda para um dado produto:

Depósito Capacidade Cliente Demanda


D1 30 C1 10
D2 90 C2 100
D3 70 C3 70
C4 30
Total 190 Total 210

Porém a capacidade de produção é inferior à demanda. Logo, isso poderá gerar multas, determinadas em
contratos, conforme tabela a seguir (R$/unidade por produto faltante):

Cliente C1 C2 C3 C4
Multa (R$) 1 ∅ 3 4

OBS.: O cliente C2 deve ser atendido completamente.

Os custos de transporte (R$/unidade) são conhecidos:

C1 C2 C3 C4
D1 50 32 61 14
D2 80 52 35 33
D3 20 9 58 34

O modelo no quadro, já equilibrado:

Destino
Disponibilidade
Origem C1 C2 C3 C4
D1

D2

D3

DUMMY

Demanda

Resolvendo este PL pelo Simplex, chega-se a solução ótima na 9ª iteração com o resultado da função
objetivo de R$ 4720,00, assim:
Destino
Disponibilidade
Origem C1 C2 C3 C4
D1 0 30 0 0 30

D2 0 0 60 30 90

D3 0 70 0 0 70

DUMMY 10 0 10 0 20

Demanda 10 100 70 30 210/210

Com este resultado pode-se observar que o C1 não é atendido e o Cliente 3 (C3 ) também não em sua
totalidade.

Métodos de construção de uma solução inicial

A solução do problema do transporte, como todo problema representado por um modelo de programação
linear, pode ser obtida pelo método Simplex. Entretanto, devido a suas características especiais, podemos descrever
um método que, embora mantenha fases e critérios Simplex, é um algoritmo mais rápido e mais eficiente, pois tem
os cálculos mais especificados.

Método do canto noroeste

A partir da célula superior da esquerda transportamos o máximo possível da origem ao destino


correspondente. Esse procedimento zera a disponibilidade da linha ou da coluna da célula. O próximo transporte
será feito na célula contígua (à direita ou abaixo) que tenha a disponibilidade de linha e coluna correspondente.

Exemplo

2- RENT A CAR (continução)

Método: Canto Noroeste


D1 D2 D3 Disponibilidade
O1 ? 140x11 ? 60x12 ? 110x13 15
O2 ? 70x21 ? 90x22 ? 120x23 13
A ? 0x31 ? 0x32 ? 0x33 5
Demanda 12 14 7
Iniciando pelo canto noroeste, colocar o maior valor possível, ou seja, colocar o menor valor entre a
demanda e a disponibilidade.
Como toda a demanda foi enviada para o destino 1 (D1), então já anula-se o envio da O2 e de A para o D1.

Método: Canto Noroeste


D1 D2 D3 Disponibilidade
O1 12 140x11 ? 60x12 ? 110x13 15 3
O2 - 70x21 ? 90x22 ? 120x23 13
A - 0x31 ? 0x32 ? 0x33 5
Demanda 12 0 14 7

Em seguida, investiga-se aonde está o novo canto noroeste.

Método: Canto Noroeste


D1 D2 D3 Disponibilidade
O1 12 140x11 ? 60x12 ? 110x13 15 3
O2 - 70x21 ? 90x22 ? 120x23 13
A - 0x31 ? 0x32 ? 0x33 5
Demanda 12 0 14 7

Atribuir a x12 a maior quantidade possível, ou seja, o menor valor entre 14 e 3.


Após, analisar o novo canto noroeste, neste caso, x22, e determinar o menor valor entre 11 e 13.

Método: Canto Noroeste


D1 D2 D3 Disponibilidade
O1 12 140x11 3 60x12 ? 110x13 15 3 0
O2 - 70x21 11 90x22 ? 120x23 13 2
A - 0x31 - 0x32 ? 0x33 5
Demanda 12 0 14 11 0 7

Método: Canto Noroeste


D1 D2 D3 Disponibilidade
O1 12 140x11 3 60x12 - 110x13 15 3 0
O2 - 70x21 11 90x22 2 120x23 13 2 0
A - 0x31 - 0x32 5 0x33 5 0
Demanda 12 0 14 11 0 7 5 0
Solução construída:

Método: Canto Noroeste


D1 D2 D3 Disponibilidade
O1 12 140x11 3 60x12 - 110x13 15
O2 - 70x21 11 90x22 2 120x23 13
A - 0x31 - 0x32 5 0x33 5
Demanda 12 14 7

Validando as restrições:

1ª linha:

2ª linha:

3ª linha:

1ª coluna:

2ª coluna:

3ª coluna:

Função objetivo:

O método do canto noroeste garante a não formação de circuitos entre as variáveis básicas, além de
satisfazer as condições de contorno.
OBS.: Por não se tratar de um método mais sofisticado, “menos inteligente”, muitas vezes a solução encontrada não
será de boa qualidade, por isso pode-se optar por outros algoritmos de construção como os demonstrados a seguir.

Método do mínimo custo

Para este método, até que a solução esteja completa, escolher a célula de menor custo e atribuir a maior
quantidade possível.
Caso dê empate, escolher arbitrariamente a célula a ter a maior quantidade.
Geralmente, este método retorna uma qualidade superior em relação ao método do canto noroeste.
Exemplo

2- RENT A CAR (continução)

Método: Mínimo Custo


D1 D2 D3 Disponibilidade
O1 ? 140x11 ? 60x12 ? 110x13 15
O2 ? 70x21 ? 90x22 ? 120x23 13
A ? 0x31 ? 0x32 ? 0x33 5
Demanda 12 14 7

Inicialmente, escolher a célula de menor custo e colocar o máximo de quantidade possível. Neste caso, o
menor custo encontra-se em toda a linha da variável dummy. Então, aleatoriamente, escolho uma delas para
colocar a quantidade máxima possível.

Método: Mínimo Custo


D1 D2 D3 Disponibilidade
O1 ? 140x11 ? 60x12 ? 110x13 15
O2 ? 70x21 ? 90x22 ? 120x23 13
A 5 0x31 - 0x32 - 0x33 5 0
Demanda 12 7 14 7

Agora, entre as variáveis sem soluções, busca-se a variável com o menor valor. No caso, R$ 60,00 é o menor
custo, então atribui-se 14 na quantidade pois é o menor valor entre 14 e 15 (demanda e disponibilidade).

Método: Mínimo Custo


D1 D2 D3 Disponibilidade
O1 ? 140x11 14 60x12 ? 110x13 15 1
O2 ? 70x21 - 90x22 ? 120x23 13
A 5 0x31 - 0x32 - 0x33 5 0
Demanda 12 7 14 0 7

E, assim, sucessivamente.

Método: Mínimo Custo


D1 D2 D3 Disponibilidade

O1 140x11 14 60x12 110x13 15 1

O2 70x21 - 90x22 120x23 13

A 5 0x31 - 0x32 - 0x33 5 0

Demanda 12 7 14 0 7
Solução Construída:

Método: Mínimo Custo


D1 D2 D3 Disponibilidade

O1 140x11 60x12 110x13 15

O2 70x21 90x22 120x23 13

A 0x31 0x32 0x33 5

Demanda 12 14 7

Validando as restrições:

1ª linha:

2ª linha:

3ª linha:

1ª coluna:

2ª coluna:

3ª coluna:

Função objetivo:

Observa-se que o método do mínimo custo gerou uma solução com um custo menor do que a do método do
canto noroeste, isso geralmente acontece pois o método do mínimo custo é um algoritmo mais focado na
finalidade do problema, ou seja, no mínimo custo da função objetivo. Contudo, nenhuma das duas soluções
pode-se afirmar que é a ótima.

Método de Vogel (ou método das penalidades)

Penalidade em uma linha ou coluna é a diferença positiva entre os dois custos de menor valor na linha ou
coluna.
A ideia desse método é fazer o transporte com prioridade na linha ou na 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.
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. Transportar 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 demanda 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.

Exemplo

2- RENT A CAR (continução)

Método: Vogel
QUADRO #1 D1 D2 D3 Disponibilidade DIFERENÇAS
O1 ? 140x11 ? 60x12 ? 110x13 15 110 – 60 = 50
O2 ? 70x21 ? 90x22 ? 120x23 13 90 – 70 =20
A ? 0x31 ? 0x32 ? 0x33 5 0 – 0 =0
Demanda 12 14 7
DIFERENÇAS 70 – 0 = 70 60 – 0 = 60 110 – 0 = 110 MAIOR DIFERENÇA

Na variável de menor custo na coluna onde há a maior diferença, atribuo a maior quantidade possível.

Método: Vogel
QUADRO #1 D1 D2 D3 Disponibilidade DIFERENÇAS
O1 ? 140x11 ? 60x12 ? 110x13 15 110 – 60 = 50
O2 ? 70x21 ? 90x22 ? 120x23 13 90 – 70 =20
A - 0x31 - 0x32 5 0x33 5 0 0 – 0 =0
Demanda 12 14 7 2
DIFERENÇAS 70 – 0 = 70 60 – 0 = 60 110 – 0 = 110 MAIOR DIFERENÇA

Já satisfeita a terceira restrição de linha, fazer o quadro #2:

Método: Vogel
QUADRO #2 D1 D2 D3 Disponibilidade DIFERENÇAS
O1 ? 140x11 ? 60x12 ? 110x13 15 110 – 60 = 50
O2 ? 70x21 ? 90x22 ? 120x23 13 90 – 70 =20
A - 0x31 - 0x32 5 0x33 0
Demanda 12 14 2
DIFERENÇAS 140 – 70 = 70 90 – 60 = 30 120 – 110 = 10
Método: Vogel
QUADRO #2 D1 D2 D3 Disponibilidade DIFERENÇAS
O1 - 140x11 ? 60x12 ? 110x13 15 110 – 60 = 50
O2 12 70x21 ? 90x22 ? 120x23 13 1 90 – 70 =20
A - 0x31 - 0x32 5 0x33 0
Demanda 12 0 14 2
DIFERENÇAS 140 – 70 = 70 90 – 60 = 30 120 – 110 = 10

Quadro #3:

Método: Vogel
QUADRO #3 D1 D2 D3 Disponibilidade DIFERENÇAS
O1 - 140x11 ? 60x12 ? 110x13 15 110 – 60 = 50
O2 12 70x21 ? 90x22 ? 120x23 1 120 – 90 =30
A - 0x31 - 0x32 5 0x33 0
Demanda 0 14 2
DIFERENÇAS 90 – 60 = 30 120 – 110 = 10

Método: Vogel
QUADRO #3 D1 D2 D3 Disponibilidade DIFERENÇAS

O1 - 140x11 60x12 ? 110x13 15 110 – 60 = 50

O2 12 70x21 90x22 ? 120x23 1 120 – 90 =30

A - 0x31 - 0x32 5 0x33 0

Demanda 0 14 2
DIFERENÇAS 90 – 60 = 30 120 – 110 = 10

Quadro #4:

Método: Vogel
QUADRO #4 D1 D2 D3 Disponibilidade

O1 - 140x11 14 60x12 110x13 1

O2 12 70x21 - 90x22 120x23 1

A - 0x31 - 0x32 5 0x33 0

Demanda 0 0 2
Solução Construída:

Método: Vogel
D1 D2 D3 Disponibilidade

O1 140x11 60x12 110x13 15

O2 70x21 90x22 120x23 13

A 0x31 0x32 0x33 5

Demanda 12 14 7

Validando as restrições:

1ª linha:

2ª linha:

3ª linha:

1ª coluna:

2ª coluna:

3ª coluna:

Função objetivo:

O método de Vogel não tem a pretensão de encontrar a solução ótima, todavia, neste problema a solução
encontrada é a ótima – isso pode ser confirmado com o resultado encontrado no Excel através do método simplex.
Assim, pode-se concluir que o método de Vogel normalmente traz soluções melhores que os métodos de canto
noroeste e mínimo custo.

Método de otimização de Stepping Stone

O método de Stepping Stone é um método de melhoria, então obtida uma solução inicial para o quadro de
transportes, o passo seguinte é verificar se esta solução pode ser melhorada ou não.
Assemelha-se ao Simplex, porém com um número menor de passos, um número menor de iterações, assim é
capaz de obter, também a solução ótima do problema.
Exemplo

2- RENT A CAR (continução)

Método: Canto Noroeste


D1 D2 D3 Disponibilidade
O1 12 140x11 3 60x12 - 110x13 15
O2 - 70x21 11 90x22 2 120x23 13
A - 0x31 - 0x32 5 0x33 5
Demanda 12 14 7

Função Objetivo: R$ 3.090,00

Escolhido, arbitrariamente, aplicar o método de Stepping Stone a partir da solução encontrada no método
do canto noroeste.

O importante é estabelecer um critério de parada, para este método é que todos os caminhos somam custo
total não negativo.
Assim como no Simplex a forma como se deve verificar se a solução pode ser melhorada ou não é tirando
uma variável que esteja na base (variável básica) e colocando uma variável que está fora da base (variável não
básica). Então se analisa a solução obtida, se melhorou ou não.
Então no quadro, acima, se vai investigar cada uma das variáveis que estão fora da base e ver se elas
conseguem melhorar a solução, são os caminhos fechados. Inicialmente, temos que supor que se esteja carregando
pelo menos 1 unidade do item em uma variável fora da base.

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 12 140x11 3 60x12 - 110x13 15
O2 1 70x21 11 90x22 2 120x23 13 14
A - 0x31 - 0x32 5 0x33 5
Demanda 12 13 14 7

O problema é que se estoura algumas restrições, assim deve-se diminuir o valor de outra variável.

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 11 140x11 3 60x12 - 110x13 15 14
O2 1 70x21 11 90x22 2 120x23 13 14
A - 0x31 - 0x32 5 0x33 5
Demanda 12 14 7
Corrigiu-se o problema causado na primeira coluna, em contra partida criou-se uma falta na primeira linha.
Então, para corrigir, aumenta-se o valor da variável em x12 e assim satisfaz a disponibilidade da primeira
linha.

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 11 140x11 4 60x12 - 110x13 15
O2 1 70x21 11 90x22 2 120x23 13 14
A - 0x31 - 0x32 5 0x33 5
Demanda 12 14 15 7

Causa-se um outro problema na segunda coluna. Também, estoura-se outra restrição. Então, para ajustar
diminui-se 1 unidade na variável x22 o que satisfaz todas as restrições.

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 11 140x11 4 60x12 - 110x13 15
O2 1 70x21 10 90x22 2 120x23 13
A - 0x31 - 0x32 5 0x33 5
Demanda 12 14 7

Para ver se a solução é viável ou não, analisar o benefício que ela causou:

x21 → x11 → x12 → x22 = +70 −140 +60 −90 = −100


Lê-se que em x21 aumentou-se 1 unidade, ou seja, o custo de R$ 70,00, já na x11 diminui-se 1 unidade, então,
baixou R$ 140,00 o custo e assim por diante. Também se interpreta que o valor de −100 é que o custo
diminui R$ 100,00 com esta nova solução, logo, quanto mais se transportar em x21, melhor.

Porém, no algoritmo de Stepping Stone recomenda-se testar, primeiramente, a viabilidade/o benefício de


todas as variáveis não básicas. Assim:

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 12 140x11 3 60x12 - 110x13 15
O2 - 70x21 11 90x22 2 120x23 13
A 1 0x31 - 0x32 5 0x33 5 6
Demanda 12 13 14 7
Método: Stepping Stone
D1 D2 D3 Disponibilidade
O1 11 140x11 3 60x12 - 110x13 15 14
O2 - 70x21 11 90x22 2 120x23 13
A 1 0x31 - 0x32 5 0x33 5 6
Demanda 12 14 7

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 11 140x11 4 60x12 - 110x13 15
O2 - 70x21 11 90x22 2 120x23 13
A 1 0x31 - 0x32 5 0x33 5 6
Demanda 12 14 15 7

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 11 140x11 4 60x12 - 110x13 15
O2 - 70x21 10 90x22 2 120x23 13 12
A 1 0x31 - 0x32 5 0x33 5 6
Demanda 12 14 7

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 11 140x11 4 60x12 - 110x13 15
O2 - 70x21 10 90x22 3 120x23 13
A 1 0x31 - 0x32 5 0x33 5 6
Demanda 12 14 7 8

Método: Stepping Stone


D1 D2 D3 Disponibilidade
O1 11 140x11 4 60x12 - 110x13 15
O2 - 70x21 10 90x22 3 120x23 13
A 1 0x31 - 0x32 4 0x33 5
Demanda 12 14 7

Mostrando o caminho fechado:


x31 → x11 → x12 → x22 → x23 → x33 = +0 −140 +60 −90 +120 −0 = −50
Método: Stepping Stone
D1 D2 D3 Disponibilidade

O1 12 140x11 3 60x12 - 110x13 15

O2 - 70x21 11 90x22 2 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 12 140x11 3 60x12 - 110x13 15

O2 - 70x21 11 90x22 2 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:

OBS.: Os resultados dos caminhos fechados:


Se = 0: Há outras soluções ótimas, ou seja, ou disposição das quantidades nas variáveis, porém com a mesma
solução ótima da função – objetivo;
Se > 0: Para cada acréscimo de tal variável não básica há um incremento na função custo, ou seja, piora a solução
inicial;
Se < 0: Para cada acréscimo de tal variável não básica há uma melhoria na função objetivo, ou seja, seu custo será
menor para cada incremento de unidades naquela variável.

Logo, como se quer reduzir o custo e há um benefício máximo de −100 em cada unidade de x21 então,
coloca-se a maior quantidade possível nesta variável.
1°) Observa-se pelo caminho quais as variáveis em que o valor diminui:
x21 → x11 → x12 → x22 = +70 −140 +60 −90 = −100
2°) Qual a menor quantidade que tenho nestas variáveis:
Mínimo (x11, x22) = Mínimo (12, 11)

3°) Pegar o valor mínimo e substituir no valor de x21; somar no valor de x12 (3 + 11); subtrair nos valores de
x11 (12−11) e x22 (11−11), de tal maneira que o x22 se anulará (sempre o mínimo se anulará):

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 140x11 60x12 - 110x13 15

O2 70x21 90x22 2 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

4º) Calcular função objetivo:

Agora, fazer novamente os caminhos fechados (lembrando que o critério de parada é quando todos os
caminhos somam custo total não negativo.

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 1 140x11 14 60x12 - 110x13 15

O2 11 70x21 - 90x22 2 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:


Método: Stepping Stone
D1 D2 D3 Disponibilidade

O1 1 140x11 14 60x12 - 110x13 15

O2 11 70x21 - 90x22 2 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 1 140x11 14 60x12 - 110x13 15

O2 11 70x21 - 90x22 2 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 1 140x11 14 60x12 - 110x13 15

O2 11 70x21 - 90x22 2 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:


Logo, como se quer reduzir o custo e há um benefício máximo de −80 em cada unidade de x13 então, coloca-
se a maior quantidade possível nesta variável.

1°) Observa-se pelo caminho quais as variáveis em que o valor diminui:


x13 → x23 → x21 → x11 =

2°) Qual a menor quantidade que tenho nestas variáveis:


Mínimo (x23, x11) =

3°) Pegar o valor mínimo e substituir no valor de x13; somar no valor de x21; subtrair nos valores de x23 e x11,
de tal maneira que o x11 se anulará (sempre o mínimo se anulará):

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 140x11 14 60x12 110x13 15

O2 70x21 - 90x22 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

4º) Calcular função objetivo:

Agora, fazer novamente os caminhos fechados (lembrando que o critério de parada é quando todos os
caminhos somam custo total não negativo.

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 - 140x11 14 60x12 1 110x13 15

O2 12 70x21 - 90x22 1 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:


Método: Stepping Stone
D1 D2 D3 Disponibilidade

O1 - 140x11 14 60x12 1 110x13 15

O2 12 70x21 - 90x22 1 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 - 140x11 14 60x12 1 110x13 15

O2 12 70x21 - 90x22 1 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:

Método: Stepping Stone


D1 D2 D3 Disponibilidade

O1 - 140x11 14 60x12 1 110x13 15

O2 12 70x21 - 90x22 1 120x23 13

A - 0x31 - 0x32 5 0x33 5

Demanda 12 14 7

Mostrando o caminho fechado:

Critério de parada satisfeito porque não há nenhum dos caminhos que oferece uma melhoria para esta
solução. Enfim, tem-se a solução ótima.
O caso da Maximização

Alguns modelos de programação linear, embora tenham objetivo de maximização, são problemas de
transportes.

Exemplo

2- RENT A CAR (continução)


MAIOR CUSTO
O caso da maximização: Maior lucro
C11 = 140

Quadro Original
D1 D2 D3 Disponibilidade
O1 - 140x11 - 60x12 - 110x13 15
O2 - 70x21 - 90x22 - 120x23 13
A - 0x31 - 0x32 - 0x33 5
Demanda 12 14 7

Inverter os custos no quadro, calculando a diferença de cada valor em relação ao maior que receberá zero.

Novo Quadro
D1 D2 D3 Disponibilidade

O1 - 0x11 - x12 - x13 15

O2 - 70x21 - x22 - x23 13

A - 140x31 - X32 - x33 5

Demanda 12 14 7

Este novo quadro representa o prejuízo ou a perda de oportunidade que tem-se quando se deixa de usar a
variável que trazia o maior benefício. Então, esse novo quadro deve ser minimizado e não maximizado, logo
devo utilizar o algoritmo do problema de transporte e assim, obter-se-á a melhor solução possível de um
problema de maximização.
OBS.: Após calcular o Novo Quadro, para a função objetivo, pegar a quantidades do Novo Quadro e
multiplicar por seus respectivos coeficientes no Quadro Original.

O problema da degenerescência

Para uma solução básica inicial deve, sempre ter, número de linhas + número de colunas – 1 = número de
variáveis básicas que se deve ter, também, comumente equacionado como: 𝑚 + 𝑛 − 1.
Exemplo

4-

D1 D2 A Disponibilidade
O1 ? 25x11 ? 20x12 ? 0x13 2000
O2 ? 30x21 ? 25x22 ? 0x23 1000
O3 ? 20x31 ? 15x32 ? 0x33 1500
Demanda 2000 2000 500

Para a solução deste problema, somente linha ou coluna deverá ter as demais variáveis como não básicas,
pois para este exemplo a regra 𝑚 + 𝑛 − 1, não será atendida, então adapta-se através da degeneração,
conforme demonstrado a seguir.

Método: Canto Noroeste


QUADRO #1 D1 D2 A Disponibilidade
O1 2000 25x11 - 20x12 - 0x13 2000 0
O2 ? 30x21 ? 25x22 ? 0x23 1000
O3 ? 20x31 ? 15x32 ? 0x33 1500
Demanda 2000 0 2000 500

Método: Canto Noroeste


QUADRO #2 D1 D2 A Disponibilidade
O1 2000 25x11 - 20x12 - 0x13 2000 0
O2 ? 30x21 1000 25x22 ? 0x23 1000 0
O3 ? 20x31 ? 15x32 ? 0x33 1500
Demanda 2000 0 2000 1000 500

Método: Canto Noroeste


QUADRO #3 D1 D2 A Disponibilidade
O1 2000 25x11 - 20x12 - 0x13 2000 0
O2 0 30x21 1000 25x22 - 0x23 1000 0
O3 - 20x31 1000 15x32 500 0x33 1500 0
Demanda 2000 0 2000 1000 0 500 0

VARIÁVEL DEGENERADA

Isso satisfaz a regra 𝑚 + 𝑛 − 1 = variáveis básicas que são: x11, x12, x22, x23, x33, 5 variáveis = 3 + 3 – 1.
Agora resolve-se o problema normalmente pelo método de Stepping Stone.
Método: Stepping Stone
QUADRO #4 D1 D2 A Disponibilidade
O1 2000 25x11 - 20x12 - 0x13 2000
O2 0 30x21 1000 25x22 - 0x23 1000
O3 - 20x31 1000 15x32 500 0x33 1500
Demanda 2000 2000 500

Montando os caminhos fechados:


x12 → x22 → x21 → x11 = +20 −25 +30 −25 = 0
x23 → x33 → x32 → x22 = +0 −0 +15 −25 = −10 ∴ Mínimo (x33, x22) → Mínimo (500, 1000)
x13 → x33 → x32 → x22 → x21 → x11 = +0 −0 +15 −25 +30 −25 = −5
x31 → x21 → x22 → x32 = +20 −30 +25 −15 = 0

Método: Stepping Stone


QUADRO #5 D1 D2 A Disponibilidade
O1 2000 25x11 - 20x12 - 0x13 2000
O2 0 30x21 500 25x22 500 0x23 1000
O3 - 20x31 1500 15x32 - 0x33 1500
Demanda 2000 2000 500

Montando os caminhos fechados:


x12 → x22 → x21 → x11 = +20 −25 +30 −25 = 0
x31 → x21 → x22 → x32 = +20 −30 +25 −15 = 0
x13 → x23 → x21 → x11 = +0 −0 +30 −25 = +5
x33 → x23 → x22 → x32 = +0 −0 +25 −15 = +10

A solução atual é ótima!

Função Objetivo: Min Z = 2000× 25 + 500 × 25 + 500 × 15 = R$ 70.000,00.


Exercícios

1- Uma empresa distribuidora tem três depósitos que estocam respectivamente 160, 200 e 100 unidades de
um produto, e deve abastecer quatro clientes cujos pedidos são de 100, 80, 120 e 80 unidades,
respectivamente. Os custos unitários de transporte dos depósitos para os clientes estão na tabela:

C1 C2 C3 C4
D1 2,1 1,8 1,8 1,8
D2 1,5 2,4 1,8 2,1
D3 2,4 1,5 2,4 1,8

a) Determinar uma solução inicial pelo método do canto noroeste.


b) Determinar uma solução inicial pelo método mínimo custo.
c) Determinar uma solução inicial pelo método Vogel.
d) A partir da solução inicial de a encontrar a solução ótima.

2- O quadro de custos devido à distribuição de um produto a partir das origens O para os destinos D é o
seguinte:
D1 D2 D3 Disponibilidades
O1 10 12 - 12
O2 12 14 15 18
O3 6 8 10 30
Necessidades 10 20 30

OBS.: Não é possível abastecer D3 a partir de O1.


a) Determinar uma solução inicial a pelo método do canto noroeste.
b) A partir da solução obtida em a, calcular o plano ótimo de distribuição.

3- Três armazéns abastecem cinco pontos de venda. O quadro abaixo mostra os custos de distribuição, a
capacidade dos armazéns e as necessidades nos pontos de vendas. A companhia responsável pelos
armazéns não quer abastecer o ponto de venda P4 a partir do armazém A1, nem o ponto de venda P3 a partir
do armazém A3.
P1 P2 P3 P4 P5 Disponibilidades
A1 16 14 12 12 16 170
A2 12 4 14 8 8 60
A3 8 6 4 14 10 90
Necessidades 15 69 36 18 42

a) Calcule uma solução inicial pelo método de Vogel.


b) Calcule a solução ótima a partir da solução inicial de a.

Respostas

1- 𝑥13 = 100, 𝑥14 = 60, 𝑥21 = 100, 𝑥23 = 20, 𝑥32 = 80, 𝑥34 = 20, 𝑍 = 630
2- 𝑥12 = 12, 𝑥23 = 18, 𝑥31 = 10, 𝑥32 = 8, 𝑥33 = 12, 𝑍 = 658
3- 𝑥13 = 36, 𝑥22 = 42, 𝑥24 = 18, 𝑥31 = 15, 𝑥32 = 27, 𝑥35 = 42, 𝑍 = 1446

Você também pode gostar