O Expresso Rápido Faxina é uma empresa de transporte com quatro grandes terminais localizados em Curitiba, Cascavel, Londrina e Campo Mourão. Os pneus utilizados pela frota dessa empresa são padronizados. A empresa fez uma tomada de preços em três grandes revendedores de pneus e obteve as seguintes cotações:
LOCAL
Revendedor A
Revendedor B
Revendedor C
Pneus Necessários
Curitiba
70
64
68
4000
Londrina
74
62
65
8000
Cascavel
62
68
64
3000
Campo Mourão
62
72
66
5000
Pneus Disponíveis
12000
6000
4000
Se o objetivo da empresa Expresso Rápido Faxina é minimizar o custo total de aquisição dos pneus, quanto ela deverá comprar de cada revendedor? Ache a solução inicial pelo método de Vogel.
| LOCAL | Revendedor A | Revendedor B | Revendedor C | Pneus Necessários |
| Curitiba | 70 | 64 | 68 | 4000 |
| Londrina | 74 | 62 | 65 | 8000 |
| Cascavel | 62 | 68 | 64 | 3000 |
| Campo Mourão | 62 | 72 | 66 | 5000 |
| Pneus Disponíveis | 12000 | 6000 | 4000 |
Passo 1
Vou primeiro deixar claro o que o enunciado dá e o que ele pede, sem começar a resolver ainda.
- Pedem que a empresa minimize o custo total de aquisição dos pneus e querem a solução inicial obtida pelo método de Vogel.
- Custos por pneu (peguei os valores da tabela do enunciado):
- Demandas (pneus necessários em cada terminal), também da tabela:
- Ofertas (pneus disponíveis em cada revendedor), da tabela:
- Observação importante: soma das ofertas
e soma das demandas . Como as ofertas excedem as demandas em , para aplicar o método de Vogel equilibramos o problema adicionando uma coluna “demanda fictícia” (dummy) com demanda e custo zero (custos de todos os revendedores para essa coluna). Essa coluna representa a sobra que não será utilizada.
A resolução começa no próximo passo.
Passo 2
Breve explicação do método de Vogel (aula rápida, passo a passo e intuitiva):
- O método de Vogel é uma heurística para obter uma solução inicial “bom” para problemas de transporte. A ideia é, a cada iteração, olhar para cada linha (fornecedor) e cada coluna (demanda) e calcular uma “penalidade”: a diferença entre os dois menores custos daquela linha/coluna. Penalidades grandes mostram lugares onde errar pode custar caro, então priorizamos alocações onde a penalidade é maior.
- Passos operacionais em cada iteração:
- Para cada linha e coluna ainda não satisfeita, calcule a penalidade = (2ª menor custo) − (menor custo).
- Escolha a linha ou coluna com maior penalidade. Se houver empate, quebraremos o empate escolhendo a linha/coluna cujo menor custo entre as opções seja o menor (isso favorece a menor despesa imediata).
- Na linha/coluna escolhida, faça a alocação máxima possível na célula de menor custo (ou seja, aloque mínimo entre oferta disponível do fornecedor e demanda restante do cliente).
- Atualize oferta/demanda e risque (ou marque) linhas/colunas com oferta ou demanda zeradas; volte ao passo 1 até todas as demandas reais estarem satisfeitas (a coluna dummy também deve ser tratada).
- Sempre que eu usar uma célula da coluna dummy significa simplesmente que essa parcela de oferta não será utilizada para atender demanda real.
Agora aplico o método, mostrando as contas detalhadamente.
Passo 3
Montagem inicial da tabela de custos incluindo a coluna dummy (custo
para todos) e os vetores oferta/demanda:
Começo a aplicar Vogel: calculo penalidades iniciais (para cada linha e cada coluna, usando apenas colunas ainda com demanda):
- Linhas:
- Rev. A: custos
→ dois menores e → penalidade . - Rev. B: custos
→ penalidade . - Rev. C: custos
→ penalidade .
- Rev. A: custos
- Colunas:
- Curitiba:
→ penalidade . - Londrina:
→ penalidade . - Cascavel:
→ penalidade . - Campo Mourão:
→ penalidade . - Dummy:
→ penalidade .
- Curitiba:
A maior penalidade é da linha Rev. C =
. Pelo critério do método, escolhemos a linha Rev. C e alocamos na célula de menor custo nessa linha. O menor custo da Rev. C é
na coluna Dummy.
Alocação:
-
.
Custo dessa alocação é
.
Atualizo: oferta Rev. C passa de
para
. Demanda Dummy vira
(satisfeita). Removo a coluna Dummy das próximas considerações.
Passo 4
Recalculo penalidades com a coluna dummy removida.
Ofertas atuais: Rev. A
, Rev. B
, Rev. C
. Demandas restantes: Curitiba
, Londrina
, Cascavel
, Campo Mourão
.
Penalidades novas:
- Linhas:
- Rev. A: custos
→ dois menores → penalidade . - Rev. B: custos
→ dois menores → penalidade . - Rev. C: custos
→ dois menores → penalidade .
- Rev. A: custos
- Colunas:
- Curitiba:
→ penalidade . - Londrina:
→ penalidade . - Cascavel:
→ penalidade . - Campo Mourão:
→ penalidade .
- Curitiba:
Maior penalidade é
(duas colunas: Curitiba e Campo Mourão). Quebra de empate: escolho a coluna cujo menor custo entre as duas colunas empatadas seja o menor (isso tende a reduzir custo). Para Curitiba o menor custo é
(Rev. B); para Campo Mourão o menor custo é
(Rev. A). Como
, escolho a coluna Campo Mourão.
Na coluna Campo Mourão, menor custo é na célula
com custo
. Aloco:
-
.
Custo:
.
Atualizo: Rev. A oferta passa para
. Demanda Campo Mourão vira
(satisfeita). Removo essa coluna.
Passo 5
Agora demandas restantes: Curitiba
, Londrina
, Cascavel
.
Ofertas: Rev. A , Rev. B
, Rev. C
.
Ofertas: Rev. A
Calculo penalidades:
- Rev. A: custos
(Curitiba,Londrina,Cascavel) → menores → penalidade . - Rev. B: custos
→ menores → penalidade . - Rev. C: custos
→ menores → penalidade . - Colunas:
- Curitiba:
→ penalidade . - Londrina:
→ penalidade . - Cascavel:
→ penalidade .
- Curitiba:
A maior penalidade é da linha Rev. A =
. Então escolhemos a linha Rev. A e alocamos na sua célula de menor custo entre as colunas restantes. Na Rev. A o menor custo é
na coluna Cascavel.
Alocação:
-
.
Custo:
.
Atualizo: Rev. A oferta
. Demanda Cascavel vira
. Removo coluna Cascavel.
Passo 6
Restam apenas as colunas (demandas) Curitiba
e Londrina
. Ofertas: Rev. A
, Rev. B
, Rev. C
. Somatório das ofertas
igual à soma das demandas restantes
, bom.
Penalidades (com duas colunas é rápido):
- Rev. A: custos
→ penalidade . - Rev. B: custos
→ penalidade . - Rev. C: custos
→ penalidade . - Colunas:
- Curitiba: custos
→ penalidade . - Londrina: custos
→ penalidade .
- Curitiba: custos
Maior penalidade
(empate entre Rev. A e coluna Curitiba). Quebra de empate: olho o menor custo associado: para Rev. A o menor custo entre as duas colunas é
(Curitiba); para a coluna Curitiba o menor custo é
(Rev. B). Como
, escolho a coluna Curitiba.
Na coluna Curitiba a célula de menor custo é
com custo
. Aloco:
-
.
Custo:
.
Atualizo: Rev. B oferta
. Demanda Curitiba vira
. Removo coluna Curitiba.
Passo 7
Só resta a coluna Londrina com demanda
. Ofertas restantes: Rev. A
, Rev. B
, Rev. C
— total
exatamente. Preenchemos essa coluna alocando pelas menores células disponíveis, ou simplesmente alocando conforme oferta remanescente:
-
Menor custo em Londrina é Rev. B =
. Aloco: -
. - Custo
. - Atualizo: oferta Rev. B
. Demanda Londrina passa a .
-
-
Próximo menor custo em Londrina é Rev. C =
. Aloco: -
. - Custo
. - Atualizo: oferta Rev. C
. Demanda Londrina passa a .
-
-
Restante da demanda Londrina
será atendida por Rev. A (único com oferta sobrando), custo : -
. - Custo
. - Atualizo: oferta Rev. A
. Demanda Londrina .
-
Agora todas as demandas reais e a coluna dummy estão satisfeitas. Temos uma solução inicial completa obtida pelo método de Vogel.
Passo 8
Resumo das alocações obtidas (cada célula mostra quantidade alocada):
Interpretação prática (importante): a coluna Dummy recebeu
da Rev. C; isso significa que desses
a Rev. C tinha disponível, a empresa não os comprou para atender demanda real. Portanto as quantidades efetivamente compradas de cada revendedor (envios para demandas reais) são:
- Rev. A:
. - Rev. B:
. - Rev. C:
(somente para Londrina; os outros ficaram não utilizados — dummy).
Cálculo do custo total da solução (somando custos de cada alocação):
Somando:
Assim o custo total da solução inicial pelo método de Vogel é
.
Resposta
Revendedor A: comprar
pneus (alocações:
)
Revendedor B: comprar pneus (alocações:
)
Revendedor C: comprar pneus (alocação:
; os
restantes foram não utilizados - dummy)
Custo total da solução inicial (Vogel):
Revendedor B: comprar
Revendedor C: comprar
Custo total da solução inicial (Vogel):