Você está na página 1de 585

Pesquisa Operacional

02 – Modelagem: Exercícios Resolvidos

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
1 - Problema da granja

A Granja Cocoró quer misturar dois tipos de alimentos


para criar um tipo especial de ração para as suas
galinhas poedeiras.
A primeira característica a ser atingida com a nova ração é o
menor preço possível por unidade de peso.
Cada um dos alimentos contém os nutrientes necessários à
ração final (aqui chamados de nutrientes X, Y e Z), porém
em proporções variáveis.
Cada 100g do Alimento 1, por exemplo, possuem 10g do
nutriente X, 40g do nutriente Y e 50g do nutriente Z.
O Alimento 2, por sua vez, para cada 100g, possui 20g do
nutriente X, 60g do nutriente Y e 20g do nutriente Z.
Cada 100g do Alimento 1 custam, para a Granja Cocoró, R$
0,60 e cada 100g do Alimento 2 custam R$ 0,80.
Sabe-se que a ração final deve conter, no mínimo, 2g
do nutriente X, 64g do nutriente Y e 34g do nutriente Z.
É preciso obedecer a essa composição, minimizando
ao mesmo tempo o custo por peso da nova ração.
1 - Problema da granja

Composição por 100g


Composição de
nutrientes (mínima
em gramas)
Alimento 1 Alimento 2

Nutriente X 10 20 2

Nutriente Y 40 60 64

Nutriente Z 50 20 34
Custo por
100g R$ 0,60 R$ 0,80

O objetivo é minimizar o custo total de forma a usar x gramas do


Alimento 1 e y gramas do Alimento 2 para compor (x+y) gramas
da nova ração.
1 - Problema da granja

Solução

i) Escolha da variável de decisão:


x1: quantidade em gramas do Alimento 1
x2: quantidade em gramas do Alimento 2

ii) Elaboração da função objetivo:


100g do A1 custam 0,60  1g custaria 0,60/100
100g do A2 custam 0,80  1g custaria 0,80/100

z= Minimizar {f(x)= 0,006x1 + 0,008x2 }


1 - Problema da granja

iii) Formulação das restrições tecnológicas:

Importante lembrar que devemos expressar as


quantidades em x gramas e não em 100g.

a) Quantidade total do Nutriente X: 0,1x1 + 0,2x2 ≥ 2

b) Quantidade total do Nutriente Y: 0,4x1 + 0,6x2 ≥ 64

c) Quantidade total do Nutriente Z: 0,5x1 + 0,2x2 ≥ 34

iv) Restrições de não negatividade:


x1 ≥0, x2 ≥0
1 - Problema da granja

v) Chegando finalmente ao problema completo:

𝑀𝑖𝑛 𝑍 = 0,006𝑥1 + 0,008𝑥2


𝑆. 𝐴:
0,1𝑥1 + 0,2𝑥2 ≥ 2
0,4𝑥1 + 0,6𝑥2 ≥ 64
0,5𝑥1 + 0,2𝑥2 ≥ 34

𝑥1 ≥ 0, 𝑥2 ≥ 0
2 - Problema da fábrica de calçados

Uma pequena fábrica de calçados produz sapatos e


sandálias. As sandálias são vendidas no mercado por
$22,00 e os sapatos por $48,00.

Para a fabricação de um par de sandálias gasta-se 0,30


m2 de couro, levam-se 3 horas no corte e costura e é
utilizada 1 pessoa para o acabamento, detalhes finais e
embalagem.

Na confecção de um sapato gasta-se 0,50 m2 de couro,


levam-se 4 horas no corte e costura e 2 pessoas para o
acabamento, detalhes finais e embalagem.

A empresa conta, diariamente, com 15 m2 de couro, 120


horas de trabalho e 15 pessoas.

Deseja-se formular o modelo de programação linear que


maximiza a receita diária da fábrica de calçados.
2 - Problema da fábrica de calçados

Produtos/ Sandálias Sapatos Disponibilidades


Recursos

Couro 0,30 0,50 15

Horas 3 4 120

Mão-de-obra 1 2 50

Receita $ 22,00 $ 48,00 Maximizar

O objetivo é maximizar a receita (valor de venda vezes


a quantidade) e será baseada nas quantidades
produzidas dos artigos sandálias e sapatos.
2 - Problema da fábrica de calçados

Solução

i) Escolha da variável de decisão:


x1: quantidade diária a ser produzida de sandálias;
x2: quantidade diária a ser produzida de sapatos.

ii) Elaboração da função objetivo:


z= Maximizar {f(x)= 22x1 + 48x2 }

iii) Formulação das restrições tecnológicas


a) Material (couro): 0,30x1 + 0,50x2 ≤ 15
b) Horas de trabalho: 3x1 + 4x2 ≤ 120
c) Mão-de-obra: x1 + 2x2 ≤ 15

iv) Restrições de não negatividade:


x1 ≥0, x2 ≥0
2 - Problema da fábrica de calçados

v) Chegando finalmente ao problema completo:

𝑀𝑎𝑥 𝑍 = 22𝑥1 + 48𝑥2


𝑆. 𝐴:
0,3𝑥1 + 0,5𝑥2 ≤ 15

3𝑥1 + 4𝑥2 ≤120


𝑥1 + 2𝑥2 ≤ 15

𝑥1 ≥ 0, 𝑥2 ≥ 0
3 - Problema das ligas metálicas

Uma metalúrgica deseja maximizar sua Receita


Bruta. A tabela 1 ilustra a proporção de cada
material na mistura para obtenção das ligas
passíveis de fabricação. O preço está cotado em
Reais por tonelada da liga fabricada. Também em
toneladas estão expressas as restrições de
disponibilidade de matéria prima. Formular o Modelo
de Programação Matemática.

Tabela: Restrições / custos do exemplo 1


3 - Problema das ligas metálicas

Solução :
No exemplo o objetivo é maximizar a receita de uma
produção cujos quantitativos relativos são passíveis de
“programação”. O problema está colocado exatamente
no planejamento desses quantitativos, portanto nada
mais natural que as variáveis do programa sejam os
quantitativos das ligas produzidas.

i) Escolha da variável de decisão:


x1: quantidade em toneladas produzidas da liga
especial de baixa resistência.
x2: quantidade em toneladas produzidas da liga
especial de alta resistência.

ii) Elaboração da função objetivo:


z= Maximizar {f(x)= 3000x1 + 5000x2 }

Receita bruta em centenas de Reais em função da


quantidade produzida em toneladas de ligas especiais
de baixa e alta resistência.
3 - Problema das ligas metálicas

Solução (cont.)

As restrições à produção das ligas estão associadas às


disponibilidades dos metais de composição. Como para
cada metal existe um nível de estoque máximo,
teremos três restrições de disponibilidade de material.
Eventualmente uma restrição pode englobar mais de
uma exigência do enunciado, outras vezes uma
exigência poderá necessitar de várias restrições
tecnológicas para ser modelada.

iii) Formulação das restrições tecnológicas

a) Restrição associada à disponibilidade do Cobre:


0,5x1 + 0,2x2 ≤ 16
b) Restrição associada à disponibilidade do Zinco:
0,25x1 + 0,3x2 ≤ 11
c) Restrição associada à disponibilidade do Chumbo:
0,25x1 + 0,5x2 ≤ 15
3 - Problema das ligas metálicas

Solução (cont.)

iv) Restrições de não negatividade:


x1 ≥0, x2 ≥0

v) Chegando finalmente ao problema completo:

𝑀𝑎𝑥 𝑍 = 3.000𝑥1 + 5.000𝑥2


𝑆. 𝐴:
0,5𝑥1 + 0,2𝑥2 ≤ 16
0,25𝑥1 + 0,3𝑥2 ≤ 11
0,25𝑥1 + 0,5𝑥2 ≤ 15

𝑥1 ≥ 0, 𝑥2 ≥ 0
4 - Problema da pequena fábrica

Considere a situação de decidir sobre a número de


unidades a serem produzidas por certo fabricante de
dois diferentes tipos de produto.

Os lucros por unidade do Produto_1 e Produto_2 são


respectivamente 2 e 5 U.M.

Cada unidade do Produto_1 requer 3 horas de máquina e


9 unidades de matéria prima, enquanto o Produto_2
requer 4 horas de máquina e 7 unidades de matéria
prima.

Os máximos tempos disponíveis de horas de máquina e


de matéria prima são 200 horas e 300 unidades
respectivamente.

Formule o problema de forma a maximizar o lucro total.


4 - Problema da pequena fábrica

Solução

i) Escolha da variável de decisão: xi , quantidade de


unidades do Produto_1 (i=1) e do Produto_2 (i=2)
fabricadas.

ii) Elaboração da função objetivo


z= Maximizar { f(x) = 2x1 + 5x2 }

Número total de unidades monetárias obtidas com o


lucro pela venda dos produtos 1 e 2. Nesse caso
“otimizar” o lucro total é sinônimo de maximização.
Em várias ocasiões a função objetivo pode não ser
explicitamente evidenciada.
4 - Problema da pequena fábrica

Solução (cont.)

iii) Formulação das restrições tecnológicas

a) Restrição associada à disponibilidade do tempo de


máquina:
3x1 + 4x2 ≤200
b) Restrição associada à disponibilidade de matéria
prima:
9x1 + 7x2 ≤ 300
iv) Restrições de não negatividade:
x1 ≥0, x2 ≥0.
4 - Problema da pequena fábrica

Solução (cont.)

v) Chegando finalmente ao problema completo:

𝑀𝑎𝑥 𝑍 = 2𝑥1 + 5𝑥2


𝑆. 𝐴:
3𝑥1 + 4𝑥2 ≤ 200
9𝑥1 + 7𝑥2 ≤ 300
𝑥1 ≥ 0, 𝑥2 ≥ 0
5 - Problema do atleta indeciso

Um jovem atleta sente-se atraído à prática de dois


esportes: natação e ciclismo. Sabe por experiência que:
• A natação exige um gasto em mensalidade do clube e
deslocamento até a piscina que pode ser expresso em
um custo médio de 03 (três) reais por seção de
treinamento de duas horas.
• Ciclismo mais simples, acaba custando cerca de 02
(dois) reais pela
mesmo tempo de prática.
• Orçamento do rapaz dispõem de 70 Reais para seu
treinamento.
• Seus afazeres de aluno de graduação na universidade
lhe dão liberdade de empregar, no máximo, 18 horas
mensais e 80000 calorias para os esforços físicos.
• Cada sessão de natação consome 1500 calorias,
enquanto cada etapa ciclística dispende 1000 calorias.
Considerando que o rapaz goste igualmente de ambos
os esportes planeje seu treinamento de forma a
maximizar o número de sessões de treinamento
5 - Problema do atleta indeciso

Solução

O presente modelo é um exemplo de programação de


atividades.
Obviamente as variáveis de decisão não estão limitadas
a modelar
quantitativos que dizem respeito apenas a produtos. O
problema se propõe a tratar o número de seções
esportivas.

i) Escolha da variável de decisão: xi , número de


práticas da natação
(i=1) e do Ciclismo (i=2).

ii) Elaboração da função objetivo


z= Maximizar { f(x) = x1 + x2 }

Número total de seções de prática desportiva.


5 - Problema do atleta indeciso

Solução (cont.)

Em relação às restrições presente problema diferencia-


se dos anteriores por incluir vários aspectos
associados a prática desportiva do rapaz.

iii) Formulação das restrições tecnológicas

a) Restrição associada aos recursos do rapaz:


3x1 + 2x2 ≤ 70
b) Restrição associada à disponibilidade de energia:
1500x1 +1000x2 ≤80000
c) Restrição associada à disponibilidade de tempo:
2x1 + 2x2 ≤ 18
iv) Restrição de não negatividade: x1 ≥0, x2 ≥0.
6 - Problema da fábrica de facas

A empresa Afia em Ltda. produz 3 modelos de facas: a


padrão, a média e a grande.

No processo de fabricação das facas são utilizadas três


máquinas que fazem o corte da lâmina, a modelagem e a
afiação. Uma quarta máquina faz o cabo das facas e uma
quinta faz a montagem. Os tempos, em segundos, gastos
em cada máquina são especificados na tabela abaixo:

Máquina/ Corte Afiação Cabo Montagem


Modelo Modelagem

Padrão 10 10 12 19 19

Médio 10 15,5 16 21 21

Grande 12 17 19 24 22
6 - Problema da fábrica de facas

Os tempos disponíveis, diariamente, de cada máquina,


são de 4 horas para o corte, 6 horas para a modelagem, 6
horas para a afiação, 8 horas para o cabo e 8 horas para
a montagem.

Uma faca do modelo padrão tem uma lâmina de 25 cm2,


uma do modelo médio tem 32 cm2 e uma do modelo
grande, 45 cm2.

Cada chapa metálica que dá origem às lâminas tem 2,00


m x 1,00 m. A disponibilidade diária de chapas metálicas é
de 2,5 chapas.

As contribuições para os lucros são de $ 3,20, $ 4,00 e $


4,70 unidades monetárias para os modelos padrão, médio
e grande, respectivamente.

Deseja-se formular um modelo para calcular as


quantidades a serem produzidas dos três tipos de facas
que maximizem o lucro da empresa.
6 - Problema da fábrica de facas

Produtos/ Padrão Médio Grande Disponibi-


Recursos lidades

Corte 10 10 12 14.400

Modelagem 10 15,5 17 21.600

Afiação 12 16 19 21.600

Cabo 19 21 24 28.800

Montagem 19 21 22 28.800

Material 25 32 45 50.000

Lucro $ 3,20 4,00 $ 4,70 Max

O objetivo é maximizar o lucro, determinando quais as


quantidades dos três tipos de facas que serão produzidas.
Enfatiza-se, aqui, que esse é um problema do uso de máquinas
6 - Problema da fábrica de facas

Solução

i) Escolha da variável de decisão:


x1: quantidade do modelo padrão a ser produzida
diariamente;
x2: quantidade do modelo médio a ser produzida
diariamente;
x3: quantidade do modelo grande a ser produzida
diariamente;

ii) Elaboração da função objetivo:


z= Maximizar {f(x)= 3,20x1 + 4,00x2 + 4,70x3}
6 - Problema da fábrica de facas

iii) Formulação das restrições tecnológicas


a) Corte: 10x1 + 10x2 + 12x3 ≤ 14.400
b) Modelagem: 10x1 + 15,5x2 + 17x3 ≤ 21.600
c) Afiação: 12x1 + 16x2 + 19x3 ≤ 21.600
d) Cabo: 19x1 + 21x2 + 24x3 ≤ 28.800
e) Montagem: 19x1 + 21x2 + 22x3 ≤ 28.800
f) Material: 25x1 + 32x2 + 45x3 ≤ 50.000

iv) Restrições de não negatividade:


x1 ≥0, x2 ≥0, x3 ≥0
6 - Problema da fábrica de facas

v) Chegando finalmente ao problema completo:

𝑀𝑎𝑥 𝑍 = 3,20𝑥1 + 4,00𝑥1 + 4,70𝑥3


𝑆. 𝐴:
10𝑥1 + 10𝑥2 + 12𝑥3 ≤ 14.400
10𝑥1 + 15,5𝑥2 + 17𝑥3 ≤ 21.600
12𝑥1 + 16𝑥2 + 19𝑥3 ≤ 21.600
19𝑥1 + 21𝑥2 + 24𝑥3 ≤ 28.800
19𝑥1 + 21𝑥2 + 22𝑥3 ≤ 28.800
25𝑥1 + 32𝑥2 + 45𝑥3 ≤ 50.000
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0
6 - Problema da padaria

Uma padaria fabrica pães de sal, bolos e pizzas.

Na fabricação de 1kg de pães, são utilizados 500 g de


farinha, 4 ovos, 80 g de fermento, 0,4 litro de leite e 0,3
homem-hora.

Na fabricação de 1kg de bolo, gastam-se 500 g de


farinha, 3 ovos, 60 g de fermento, 0,4 litro de leite e 0,4
homem-hora.

Na fabricação de pizzas, são gastos 400 g de farinha, 4


ovos, 50 g de fermento, 0,5 litro de leite, 450 g de queijo
mussarela e 0,3 homem-hora.

A empresa dispõe, diariamente, de 40 kg de farinha, 23


dúzias de ovos, 6 kg de fermento, 34 litros de leite, 4,5 kg
de queijo e 40 homens-hora.

A contribuição para o lucro dos pães é de $3,40, dos


bolos, $3,00 e das pizzas é de $2,50.

Deseja-se saber qual o modelo que deverá ser utilizado


para que as quantidades produzidas de pães, bolos e
pizzas, diariamente, maximizem o lucro da padaria.
7 - Problema da padaria

Produtos/ Pães de sal Bolos Pizzas


Recursos Disponibilidades

Farinha 0,5 0,5 0,4 40

Ovos 4 3 4 23

Fermento 0,08 0,06 0,05 6

Leite 0,4 0,4 0,5 34

Queijo 0 0 0,45 4,5


Mão-de-
obra
0,3 0,4 0,3 40

Lucro $ 3,40 $ 3,00 $ 2,50 Max


O objetivo é maximizar o lucro, determinando quais as quantidades
de pães, bolos e pizzas serão produzidas diariamente
7 - Problema da padaria

Solução

i) Escolha da variável de decisão:


x1: quantidade de pães de sal a ser produzida
diariamente;
x2: quantidade de bolos a ser produzida diariamente;
x3: quantidade de pizzas a ser produzida diariamente;

ii) Elaboração da função objetivo:


z= Maximizar {f(x)= 3,4x1 + 3,0x2 + 2,5x3}

iii) Formulação das restrições tecnológicas


a) Farinha: 0,5x1 + 0,5x2 + 0,4x3 ≤ 40
b) Ovos: 4x1 + 3x2 + 4x3 ≤ 23x12
c) Fermento: 0,08x1 + 0,06x2 + 0,05x3 ≤ 6
d) Leite: 0,4x1 + 0,4x2 + 0,5x3 ≤ 34
e) Queijo: 0,45x3 ≤ 4,5 [x3 ≤ 10]
f) Mão-de-obra: 0,3x1 + 0,4x2 + 0,3x3 ≤ 40

iv) Restrições de não negatividade:


x1 ≥0, x2 ≥0, x3 ≥0
7 - Problema da padaria

v) Chegando finalmente ao problema completo:

𝑀𝑎𝑥 𝑍 = 3,4𝑥1 + 3,0𝑥1 + 2,5𝑥3


𝑆. 𝐴:
0,5𝑥1 + 0,5𝑥2 + 0,4𝑥3 ≤ 40
4𝑥1 + 3𝑥2 + 4𝑥3 ≤ 23 × 12
0,08𝑥1 + 0,06𝑥2 + 0,05𝑥3 ≤ 6
0,4𝑥1 + 0,4𝑥2 + 0,5𝑥3 ≤ 34
0,45𝑥3 ≤ 4,5 (𝑥3 ≤ 10)
0,3𝑥1 + 0,4𝑥2 + 0,3𝑥3 ≤ 40
𝑥1 ≥ 0, 𝑥2 ≥ 0, 𝑥3 ≥ 0
8 - Problema da dieta

O objetivo do presente programa é determinar, em uma


dieta para a redução calórica, as quantidades de certos
alimentos que deverão ser ingeridos diariamente, de
modo que determinados requisitos nutricionais sejam
satisfeitos a custo mínimo.

Supondo-se que, por motivos justificáveis, uma certa


dieta alimentar esteja restrita a Leite Desnatado, Carne
Magra de Boi, Carne de Peixe e uma Salada de
composição bem conhecida.

Sabendo-se ainda que os requisitos nutricionais serão


expressos em termos de Vitaminas A, C e D e
controlados por suas quantidades mínimas (em
miligramas), uma vez que são indispensáveis à
preservação da saúde da pessoa que estará se
submetendo à dieta.

A tabela 3 resume a quantidade de cada vitamina em


disponibilidade nos alimentos e a sua necessidade
diária para a boa saúde de uma pessoa.
8 - Problema da dieta
8 - Problema da dieta

Solução

i) Escolha da variável de decisão: xi , quantidade de


unidades do alimento do tipo i=(l -leite, c-carne, p-
peixe, s-salada) a serem utilizadas na dieta escolhida.

ii) Elaboração da função objetivo


z= Minimizar { f(x) = 2xl + 4xc + 1,5xp + xs }

Número total de Unidades Monetárias gastas com a


dieta.
8 - Problema da dieta

Solução (cont.)

iii) Formulação das Restrições Tecnológicas

a) Restrição associada à demanda de Vitamina A:


2xl + 2xc + 10xp + 20xs ≥ 11
b) Restrição associada à demanda de Vitamina C:
50xl + 20xc + 10xp + 30xs ≥ 70
c) Restrição associada à demanda de Vitamina D:
80xl + 70xc + 10xp + 80xs ≥ 250
iv) Restrições de não negatividade: x1 ≥0, x2 ≥0.
8 - Problema da dieta

Solução (cont.)

v) Chegando finalmente ao problema completo:

𝑀𝑖𝑛 𝑍 = 2𝑥1 + 4𝑥2 + 1,5𝑥3 + 𝑥4


𝑆. 𝐴:
2𝑥1 + 2𝑥2 + 10𝑥3 + 20𝑥4 ≥ 11
50𝑥1 + 20𝑥2 + 10𝑥3 + 30𝑥4 ≥ 70
80𝑥1 + 70𝑥2 + 10𝑥3 + 80𝑥4 ≥ 250

𝑥1 ≥ 0, 𝑥2 ≥ 0 , 𝑥3 ≥ 0 , 𝑥4 ≥ 0
9 - Problema da fábrica de móveis

Uma grande fábrica de móveis dispõe em estoque de


250 metros de tábuas, 600 metros de pranchas e 500
metros de painéis de conglomerado.
A fábrica normalmente oferece uma linha de móveis
composta por um modelo de escrivaninha, uma mesa
de reunião, um armário e uma prateleira.
Cada tipo de móvel consome uma certa quantidade de
matéria prima, conforme a tabela.
A escrivaninha é vendida por 100 Unidades
Monetárias, a mesa por 80 U.M., o armário por 120
U.M. e a prateleira por 20 U.M..

Pede-se exibir um modelo de Programação Linear que


maximize a receita.
9 - Problema da fábrica de móveis
9 - Problema da fábrica de móveis

Solução
O objetivo é maximizar a receita de uma produção
cujos quantitativos relativos são passíveis de
planejamento. A diferença corre por conta do maior
número de quantitativos (ou variáveis à programar).

i) Escolha da variável de decisão: xi , quantidade em


unidades a serem produzidas do produto Escrivaninha
(i=1), Mesa (i=2), Armário (i=3), Prateleira (i=4).

ii) Elaboração da função objetivo


z= Maximizar {f(x) = 100x1 + 80x2 + 120x3 + 20x4 }

Receita Bruta em Unidades Monetárias em função do


número de unidades produzidas de cada tipo de móvel.
9 - Problema da fábrica de móveis

Solução (cont.)

iii) Formulação das restrições tecnológicas

a) Restrição associada à disponibilidade de Tábuas:


x1 + x2 + x3 + 4 x4 ≤ 250

b) Restrição associada à disponibilidade de Pranchas:


x2 + x3 + 2x4 ≤ 600

c) Restrição associada à disponibilidade de Painéis:


3x1 + 2x2 + 4x3 ≤ 500

iv) Restrições de não negatividade:


x1 ≥0, x2 ≥0, x3 ≥0, x4 ≥0.
9 - Problema da fábrica de móveis

Solução (cont.)

v) Chegando finalmente ao problema completo:

𝑀𝑎𝑥 𝑍 = 100𝑥1 + 80𝑥2 + 120𝑥3 +20𝑥4


𝑆. 𝐴:
𝑥1 + 𝑥2 + 𝑥3 + 4𝑥4 ≤ 250
𝑥2 + 𝑥3 + 2𝑥4 ≤ 600
3𝑥1 + 2𝑥2 + 4𝑥3 ≤ 500

𝑥1 ≥ 0, 𝑥2 ≥ 0 , 𝑥3 ≥ 0 , 𝑥4 ≥ 0
Pesquisa Operacional
03 – Problemas de Programação Linear
Resolução Gráfica

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Problemas de Programação Linear
Resolução Gráfica

• O método gráfico consiste em representar o conjunto das possíveis


soluções do problema em um sistema de eixos ortogonais

• Pelas suas limitações, este tipo de resolução é aplicado em


problemas com apenas duas variáveis

• No entanto, proporciona bases concretas


para a compreensão e desenvolvimento do
algoritmo simplex

• A representação gráfica de uma equação


linear com duas variáveis é uma reta

• A representação gráfica de uma inequação


linear com duas variáveis é um dos
semiplanos definidos pela reta
correspondente à equação
Resolução Gráfica
Procedimento

• O procedimento para solução gráfica de um problema de


programação linear inclui duas etapas:
1. Determinação da região de soluções viáveis

2. Determinação da solução ótima entre todos os pontos viáveis da


região de soluções
Resolução Gráfica
Exemplo – Problema da Mistura

Quais as quantidades ideais de cada ingrediente (milho e farinha de


ossos) para fazer uma ração, com as necessidades nutricionais atendidas
e que o custo total dos ingredientes seja o menor possível

Sabe-se que o milho custa R$ 65,00/Kg e apresenta 2 u.n. de vitamina


A, 3 u.n. de vitamina B e 1 u.n. de proteína. A farinha de ossos custa R$
30,00/Kg e apresenta 3 u.n. de vitamina A e 2 u.n. de vitamina B

Deseja-se preparar uma ração que contenha no mínimo 7 u.n. de


vitamina A, 9 u.n. de vitamina B e 1 u.n. de proteína
Resolução Gráfica
Exemplo – Problema da Mistura

Variáveis de decisão:
x1 =quantidade de ingrediente do tipo 1 presente na mistura
x2 =quantidade de ingrediente do tipo 2 presente na mistura

Modelo Matemático:

𝑴𝒊𝒏 𝒁 = 𝟔𝟓𝒙𝟏 + 𝟑𝟎𝒙𝟐


𝑆. 𝐴:
𝟐𝒙𝟏 + 𝟑𝒙𝟐 ≥ 𝟕
𝟑𝒙𝟏 + 𝟐𝒙𝟐 ≥ 9
𝒙𝟏 ≥ 1

𝒙𝟏 ≥ 𝟎, 𝒙𝟐 ≥ 𝟎
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo – Problema da Mistura
Resolução Gráfica
Exemplo Minimização

• Resolver graficamente o modelo a seguir:

𝑴𝒊𝒏 𝒁 = 𝟒𝟎𝒙𝟏 + 𝟑𝟔𝒙𝟐


𝑆. 𝐴:
𝟓𝒙𝟏 + 𝟑𝒙𝟐 ≥ 𝟒𝟓
𝒙𝟏 ≤ 8
𝒙𝟐 ≤ 10

𝒙𝟏 ≥ 𝟎, 𝒙𝟐 ≥ 𝟎

• Objetivo é encontrar (X1, X2) que satisfaçam as restrições e


conduzam o menor valor de Z (Z ótimo ou Z*) da função
objetivo
Resolução Gráfica
Exemplo – Região de Soluções Viáveis
Resolução Gráfica
Exemplo – Solução Ótima

Fonte: http://www.phpsimplex.com/
Legenda:
Vermelho: solução inviável
Branco: solução viável
Verde: solução Ótima
Resolução Gráfica
Exemplo Maximização

• Resolver graficamente o modelo a seguir:

𝑴𝒂𝒙 𝒁 = 𝒙𝟏 + 𝟐𝒙𝟐
𝑆. 𝐴:
𝒙𝟏 + 𝟐𝒙𝟐 ≤ 𝟏𝟎
𝒙𝟏 + 𝒙𝟐 ≥ 𝟏
𝒙𝟐 ≤ 4

𝒙𝟏 ≥ 𝟎, 𝒙𝟐 ≥ 𝟎

• Objetivo é encontrar (X1, X2) que satisfaçam as restrições e


conduzam o maior valor de Z (Z ótimo ou Z*) da função
objetivo
Resolução Gráfica
Exemplo – Região de Soluções Viáveis
Resolução Gráfica
Exemplo – Solução Ótima

Fonte: http://www.phpsimplex.com/
Legenda:
Vermelho: solução inviável
Branco: solução viável
Verde: solução Ótima
Resolução Gráfica
Soluções Possíveis

Solução Única
Resolução Gráfica
Soluções Possíveis

Solução Ilimitada
Resolução Gráfica
Soluções Possíveis

Múltiplas Soluções Ótimas


Resolução Gráfica
Soluções Possíveis

O conjunto de soluções
viáveis é VAZIO

Existem restrições
incompatíveis

Problema Inviável
DISCIPLINA: Pesquisa Operacional
Professor: Vinicius De Filippo

EXERCÍCIOS

1) Obtenha graficamente a solução ótima para o problema abaixo por


meio do deslocamento da função objetivo
𝑀𝑎𝑥 𝑍 = 4𝑥1 + 3𝑥2
𝑠. 𝑎.
𝑥1 + 3𝑥2 ≤ 7
2𝑥1 + 2𝑥2 ≤ 8
𝑥1 + 𝑥2 ≤ 3
𝑥2 ≤ 2
𝑥1 , 𝑥2 ≥ 0

2) Obtenha graficamente a solução ótima para o problema abaixo por


meio do deslocamento da função objetivo
𝑀𝑖𝑛 𝑍 = 𝑥1 + 2𝑥2
𝑠. 𝑎.
𝑥1 + 𝑥2 ≥ 1
−5𝑥1 + 2𝑥2 ≥ −10
3𝑥1 + 5𝑥2 ≥ 15
𝑥1 , 𝑥2 ≥ 0

3) Obtenha graficamente a solução ótima para o problema abaixo por


meio do deslocamento da função objetivo
𝑀𝑖𝑛 𝑍 = 8𝑥1 + 10𝑥2
𝑠. 𝑎.
−𝑥1 + 𝑥2 ≤ 2
4𝑥1 + 5𝑥2 ≥ 20
𝑥1 ≤ 6
𝑥2 ≥ 4
𝑥1 , 𝑥2 ≥ 0

4) Obtenha graficamente a solução ótima para o problema abaixo por


meio do deslocamento da função objetivo
𝑀𝑎𝑥 𝑍 = 𝑥1 + 3𝑥2
𝑠. 𝑎.
4𝑥1 + 𝑥2 ≥ 30
10𝑥1 + 2𝑥2 ≤ 10
𝑥1 , 𝑥2 ≥ 0
Pesquisa Operacional
04 – Métodos para Solução de Sistemas Lineares

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Sistemas de Equações Lineares
Suponha o seguinte sistema de equações lineares:

2 x1  x2  7
 x1  4 x2  0

Este sistema pode ser representado na forma Matricial por:

 2  1 x1   7 
     
  1 4  x 2   0 
Sistemas de Equações Lineares
Ou ainda: Ax  b
 2  1  x1  7
A    b    x   
 1 4   x2  0

O sistema de equações pode ser calculado por:


1
xA b
Para a solução de um sistema de equações lineares, são propostos
alguns métodos
Método Algébrico por Adição
 Pelo menos uma das equações deve ser multiplicada por um escalar real, de
modo que, após a soma das equações, apenas uma das variáveis seja
efetivamente a incógnita do problema

Exemplo: 4 x1  8 x2  160
6 x1  4 x2  120

Multiplicando a segunda equação por (-2), temos:

4 x1  8 x2  160
 12 x1  8 x2  240
Método Algébrico por Adição
Somando as duas equações, chega-se a:

 8x1  80
Daí, calcula-se facilmente o valor de x1 e, substituindo este valor em qualquer
uma das equações acima, calcula-se o valor de x2

x1  10
x2  15
Método Algébrico por Substituição
Isola-se uma das variáveis em uma das equações, substituindo-se a relação obtida
na outra equação

Exemplo:
4 x1  8 x2  160
6 x1  4 x2  120
Manipulando a primeira equação, temos:

160  8 x2
x1   40  2 x2
4
Método Algébrico por Substituição
Substituindo x1 na segunda equação,

6.(40  2 x2 )  4 x2  120

Resolvendo a equação algebricamente, e aplicando o valor de x2 encontrado na


primeira equação, temos:

240  12 x2  4 x2  120
 8 x2  120
x2  15
x1  10
Método Eliminação de Gauss Jordan
 Consiste da derivação de um sistema específico de equações lineares que tenha a
mesma solução que o sistema original

 Este novo sistema deverá ter o formato de uma matriz identidade, o que pode
ser obtido através de combinações lineares das equações originais

 Desta forma, pretende-se que:

4 x1  8 x2  160 1x1  0 x2  a
6 x1  4 x2  120 0 x1  1x2  b
Método de Gauss Jordan
 São permitidas as seguintes transformações lineares:
 Troca de linhas
 Multiplicação da linha por um escalar
 Soma de uma linha multiplicada por um escalar a uma outra linha

 Notação:
Ln  Lm : troca das linhas n e m
Ln  kLn : multiplicação da linha n pelo escalar k
Ln  Ln  kLm : soma da linha m multiplicada pelo escalar k à linha n
Método de Gauss Jordan
 Para solução do exemplo acima:
1) L1  L1 / 4 (divisão da linha 1 por 4) - transformação do coeficiente de x1
na equação 1 para 1

1x1  2 x2  40
6 x1  4 x2  120
1) L2  L2  6L1 (subtração da linha 2 pela linha 1 multiplicada por 6) -
transformação do coeficiente de x1 na equação 2 para 0

1x1  2 x2  40
0 x1  8 x2  120
Método de Gauss Jordan
3) L2  L2 / 8 (divisão da linha 2 por (– 8)) - transformação do coeficiente de x2 na
equação 2 para 1
1x1  2 x2  40
0 x1  1x2  15
4) L1  L1  2L2 (subtração da linha 1 pela linha 2 multiplicada por 2) -
transformação do coeficiente de x2 na equação 1 para 0
1x1  0 x2  10
x1  10 0 x1  1x2  15
Solução:
x2  15
Exercício 1:
 Resolva o seguinte sistema de equações lineares utilizando o
método Eliminação de Gauss Jordan

40 x1  25 x2  400
24 x1  30 x2  360
Exercício 2:
 Resolva o seguinte sistema de equações lineares utilizando o
método Eliminação de Gauss Jordan

𝒙𝟏 + 𝟐𝒙𝟐 − 𝟑𝒙𝟑 = 𝟓
−𝟐𝒙𝟏 + 𝒙𝟐 − 𝟒𝒙𝟑 = −𝟐
𝒙𝟏 − 𝟑𝒙𝟐 + 𝟓𝒙𝟑 = −𝟏
Pesquisa Operacional
05 – Introdução ao Simplex

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Forma Padrão de um modelo de PL

Modelo na forma padrão1:

Maximizar Z = C1 X1 + C2 X2 + ... + Cn Xn
Sujeito a:
A 11 X1 + A12 X2 + ... + A1n Xn ≤ b1
A 21 X1 + A22 X2 + ... + A2n Xn ≤ b2
...
A m1 X1 + Am2 X2 + ... + Amn Xn ≤ bm

X1 ≥ 0, X2 ≥ 0, ... , Xn ≥ 0
b1 ≥ 0, b2 ≥ 0, ... , bm ≥ 0

1 Alguns autores adotam outras formas

2/66
Variações do Modelo Geral

a) A função objetivo pode ser de minimização:


(MIN) Z = C1 X1 + C2 X2 + ... + Cn Xn

b) Algumas restrições podem ser do tipo “≥” :


A i1 X1 + Ai2 X2 + ... + Ain Xn ≥ bi

c) Algumas restrições podem ter sinal “=” :


A i1 X1 + Ai2 X2 + ... + Ain Xn = bi

d) Algumas variáveis de decisão podem assumir qualquer valor entre -∞ e +∞,


sendo chamadas de irrestritas em sinal

3/66
Definições Básicas

Solução: é qualquer atribuição de valores para as variáveis de decisão do modelo


Solução Viável: é qualquer solução em que nenhuma das restrições do modelo é
violada
Solução Inviável: é qualquer solução em que pelo menos uma das restrições do
modelo é violada
Solução Básica: dado um conjunto de m equações linearmente independentes e
n incógnitas, onde n > m, se define como solução básica a solução para o
conjunto de equações em que (n-m) variáveis são feitas iguais a 0 e as
restantes são obtidas da resolução do sistema de equações
Solução Ótima: é uma solução viável que tem o valor mais favorável da função
objetivo
Valor mais favorável:
 maior valor se a função objetivo for do tipo Maximização
 menor valor se a função objetivo for do tipo Minimização

4/66
Definições Básicas

Variáveis básicas: variáveis cujos valores são calculados pelo sistema de equações
Variáveis não básicas: são as variáveis zeradas
Solução básica degenerada: ocorre quando a solução básica apresenta pelo
menos uma das variáveis básicas igual a zero
Variáveis de folga:
denominadas Xi onde i é o índice da variável
São acrescentadas às inequações para transformá-las em equações
Exemplo: 2x1 ≤ 80  2x1 + x2 = 80, x2 ≥ 0
Variáveis de sobra:
denominadas Xi onde i é o índice da variável
São retiradas às inequações para transformá-las em equações.
Exemplo: 3x1 ≥ 20  3x1 - x2 = 20 , x2 ≥ 0

5/66
Solução Básica - Exemplo

Seja o sistema abaixo:


70x1 + 70x2 + x3 = 4.900
90x1 + 50x2 + x4 = 4.500
2x1 + x5 = 80
3x2 + x6 = 180
Apresenta:
 6 incógnitas: n = 6
 4 equações: m = 4
Cada solução básica terá:
 (6 – 4) = 2 variáveis não básicas = 0 (x1, x2)
 (6 – 2) = 4 variáveis obtidas da resolução do sistema = variáveis básicas ≠ 0 (x3, x4, x5, x6)

6/66
Solução Básica

O número de soluções básicas pode


ser obtido pela fórmula:

n n!
m m! (n - m)!

Para o exemplo anterior (m = 4 e n = 6):


Número de soluções básicas = 6! / ( 4 ! ( 6 - 4 )! ) = 15

Para 4 equações e 6 incógnitas, o modelo


apresenta 15 soluções básicas

7/66
Solução Gráfica

Pela solução gráfica são apresentadas 15


Soluções Básicas

Como o modelo é de 2 variáveis de decisão (x1,


x2), cada solução básica é a interseção de 2
restrições

É possível observar que 2 das soluções (4 e 9)


são a interseção de 2 paralelas que se
interceptam no infinito

8/66
Conclusões

 Para se encontrar a solução ótima de um modelo de Programação Linear,


basta encontrar as soluções básicas do sistema de equações lineares formado
pelas suas restrições e escolher a melhor, em função do objetivo, dentre as
praticáveis

 Entretanto, se considerarmos por exemplo um modelo com 50 restrições e


100 variáveis, teríamos acima de 1029 soluções básicas. Fato que nos leva a
uma solução impraticável

 Importante: Se uma solução básica é melhor que as suas adjacentes, então


ela é a Solução Ótima

9/66
Solução

Utilizar o método:
SIMPLEX
que examina um número muito pequeno
de soluções básicas para encontrar a
Solução Ótima

10/66
Simplex – Etapas Básicas

1. Obter uma solução básica viável inicial


 Esta solução é obtida fazendo com que as variáveis de decisão se tornem
variáveis não básicas, ou seja, iguais a 0 (zero)
 As variáveis básicas (≠0) serão as variáveis de folga ou de sobra

2. Dada uma solução básica, testar se ela é melhor que suas adjacentes
 Se for, é a solução ótima

3. Se não for, seguir para a melhor solução básica adjacente e voltar à etapa 2

11/66
Simplex – Modelo de PL em forma de equação

 Para o desenvolvimento dos cálculos pelo método Simplex são impostos dois
requisitos:

 Todas as restrições devem ser equações cujos lados direitos não sejam negativos
 Todas as variáveis devem ser não negativas

12/66
Relações de Equivalência

Qualquer que seja a estrutura do PL, sempre é possível transformá-lo


para atender aos dois requisitos

Relação entre Maximização e Minimização:

 z     c j  x j
n n
Max z  cj xj  Min
j 1 j 1

 z     c j  x j
n n
Min z   c j x j  Max
j 1 j 1

13/66
Relações de Equivalência

Relação entre maximização e minimização:

A minimização de uma função z(x) é matematicamente análoga à


maximização da negativa desta função (-z(x))

Exemplo:
minimizar z = c1 x1 + c2 x2 + ... + cn xn

é equivalente a:
maximizar z' = - c1 x1 - c2 x2 - ... - cn xn
com z' = - z.

14/66
Relações de Equivalência

Relação entre Inequações e Equações:

n
n
 aij x j  Si  bi
a ij x j  bi   j 1
j 1 0  S  
 i

n
n
 aij x j  Si  bi
a ij x j  bi   j 1
j 1 0  S  
 i

15/66
Relações de Equivalência

Relação entre Inequações e Equações:

Uma desigualdade em uma direção (≤ ou ≥) pode ser mudada para uma


desigualdade na direção oposta, pela multiplicação de ambos os lados da
desigualdade por (-1)

Exemplo:
a 1 x1 + a 2 x2 ≥ b

é equivalente a:
– a1 x1 – a2 x2 ≤ –b

16/66
Relações de Equivalência

Variáveis Irrestritas em Sinal (Variáveis Livres):

São aquelas que podem assumir quaisquer valores positivos, nulos ou


negativos. Exemplo: Taxa de inflação. Devem ser retiradas do modelo por
transformação

Suponha que a variável livre é x1. Basta substituir em todas as restrições, e


na função objetivo, a variável x1 por:

(x1'- x1'')

com x1' ≥ 0 e x1” ≥ 0 sendo duas novas variáveis (auxiliares) no modelo.

17/66
Relações de Equivalência

Restrições de Igualdade:
Uma equação pode ser substituída por duas desigualdades de direções opostas

Exemplo:
a 1 x1 + a 2 x2 = b

é equivalente a duas desigualdades simultâneas:

a 1 x1 + a 2 x2 ≤ b
a 1 x1 + a 2 x2 ≥ b

18/66
Problema de PL
Um empreendedor decidiu produzir barcos para vender

Depois de empregar alguns trabalhadores e de descobrir os preços aos quais venderia


os modelos, chegou às seguintes observações:
- cada modelo comum rende um lucro de R$ 520,00
- cada modelo rápido rende um lucro de R$ 450,00

O modelo comum requer 40h para ser construído e 24h para o acabamento
O modelo rápido requer 25h para a construção e 30 h para o acabamento
Este empreendedor dispõe de 400 horas de trabalho por mês para a construção e 360
horas para o acabamento

Quanto deve produzir de cada um dos modelos de


maneira a maximizar o lucro?

19/66
Montagem do Modelo

 Variáveis de decisão
 x1: quantidade de barcos a produzir do Modelo Comum
 x2: quantidade de barcos a produzir do Modelo Rápido

 Função-objetivo
 Qual o objetivo?

(Maximizar o lucro) L  520 x1  450 x2

20/66
Conjunto de restrições

utilização de recurso  disponibilidade do recurso

 Tempo para construção

40x1  25x 2  400


 Tempo para acabamento

24x1  30x 2  360

21/66
Modelo

Maximizar L = 520x1  450x 2


40x1  25x 2  400

sujeito a: 24x1  30x 2  360
 x  0, x  0 Restrições de
 1 2 não-negatividade

22/66
Solução Gráfica

23/66
Procedimento do Método Simplex

1ª Iteração
 Passo 1: Introduzir as variáveis de folga

Maximizar L = 520x1  450x 2  0x 3  0x 4


40x1  25x 2  x 3  400

sujeito a: 24x1  30x 2  x 4  360
 x  0, x  0, x  0, x  0
 1 2 3 4

24/66
 Passo 2: Montagem do quadro de cálculos

L  520x1  450x 2  0

BASE x1 x2 x3 x4 b
x3 40 25 1 0 400

x4 24 30 0 1 360
L -520 -450 0 0 0

25/66
 Passo 3: Escolha da solução básica viável inicial

 Variáveis não-básicas: x1 x2  0


 Variáveis básicas: x3  400 e x4  360

 Função objetivo: L  0

26/66
 Passo 4: Variável que deve entrar na base

 Qual é o produto que mais contribui para o lucro?

x1

27/66
 Passo 5: Variável que deve sair da base

Divisões:
1ª linha: 400 / 40  10
2ª linha: 360 / 24  15

O menor quociente ocorreu na 1ª linha


Logo, a variável que deve sair é: x3

28/66
Pivô
BASE x1 x2 x3 x4 b
x3 40 25 1 0 400
x4 24 30 0 1 360
L -520 -450 0 0 0

29/66
 Passo 6: Transformação da matriz.

Deverão ser realizadas as operações com as


linhas da matriz, de forma que a coluna de x1 venha a
se tornar um vetor identidade, com o elemento 1 na
1ª linha

30/66
 1ª operação: Dividir a 1ª linha por 40

BASE x1 x2 x3 x4 b

x1 1 0,625 0,025 0 10

x4 24 30 0 1 360

L -520 -450 0 0 0

31/66
 2ª operação: Substituir a 2ª linha pela soma dela
mesma com a 1ª linha multiplicada por (-24)

L2  L2  24  L1

 3ª operação: Substituir a 3ª linha pela soma dela


mesma com a 1ª linha multiplicada por 520
L3  L3  520  L1

32/66
Assim, obtemos o seguinte quadro:

BASE x1 x2 x3 x4 b
x1 1 0,625 0,025 0 10
x4 0 15 -0,6 1 120
L 0 -125 13 0 5200

33/66
 Nova solução:

 Variáveis não-básicas: x 2  x 3  0

 Variáveis básicas: x1  10 e x4  120

 Função objetivo: L  5200

 Passo 7: Voltar ao passo 4

34/66
2ª Iteração
 Passo 4: Variável que deve entrar na base: x2

 Passo 5: Variável que deve sair da base:


Divisões:
1ª linha: 10 / 0,625  16
2ª linha: 120 / 15  8
O menor quociente ocorreu na 2ª linha
Logo, a variável que deve sair é: x4
35/66
Pivô

BASE x1 x2 x3 x4 b
x1 1 0,625 0,025 0 10
x4 0 15 -0,6 1 120
L 0 -125 13 0 5200

36/66
 Passo 6: Transformação da matriz

Encontrar o vetor identidade para a variável: x 2


com o elemento 1 na 2ª linha

37/66
 1ª operação: Dividir a 2ª linha por 15

BASE x1 x2 x3 x4 b

x1 1 0,625 0,025 0 10
x4 0 1 -0,04 1/15 8

L 0 -125 13 0 5200

38/66
 2ª operação: Substituir a 1ª linha pela soma dela
mesma com a 2ª linha multiplicada por (-0,625).

L1  L1  0,625  L2

 3ª operação: Substituir a 3ª linha pela soma dela


mesma com a 2ª linha multiplicada por 125.

L3  L3  125  L 2

39/66
Assim, obtemos o seguinte quadro:

BASE x1 x2 x3 x4 b
x1 1 0 0,05 -0,042 5
x2 0 1 -0,04 1/15 8
L 0 0 8 125/15 6200

40/66
 Nova solução:

 Variáveis não-básicas: x3  x4  0

 Variáveis básicas: x1  5 e x2  8

 Função objetivo: L  6200

 Passo 7: Voltar ao passo 4.

41/66
3ª Iteração
 Passo 4: Ao procurarmos a próxima variável que deve
entrar na base, verificamos que todos os coeficientes
da 3ª linha são positivos ou nulos, o que significa que
qualquer aumento no valor das variáveis não-básicas
faria diminuir o valor de L. Logo, concluímos que a
solução encontrada é ótima.

42/66
 Resposta (Solução ótima)

5 barcos modelo comum


8 barcos modelo rápido
Lucro = 6200 reais

43/66
Exemplo de
Minimização

44/66
Modelo

Min Z = 2x1 – 3x2


s.a.:
x1 + x2 ≤ 4
-x1 + x2 ≥ -6

x1 ≥ 0 ; x 2 ≥ 0

45/66
Solução Gráfica

46/66
Quadros da Solução
Primeiro Quadro:

BASE x1 x2 x3 x4 b
x3 1 1 1 0 4
x4 1 -1 0 1 6

-Z 2 -3 0 0 0

Segundo Quadro:
BASE x1 x2 x3 x4 b
x2 1 1 1 0 4
x4 2 0 1 1 10

-Z 5 0 3 0 12

47/66
Quadros da Solução
Primeiro Quadro:

BASE x1 x2 x3 x4 b
x3 1 1 1 0 4
x4 1 -1 0 1 6

-Z 2 -3 0 0 0 Solução Final:
Z* = -12
Segundo Quadro: X1 = 0
BASE x1 x2 x3 x4 b X2 = 4
x2 1 1 1 0 4
x4 2 0 1 1 10

-Z 5 0 3 0 12

48/66
Processo de Eliminação Gaussiana

 Uma vez determinado o elemento pivô, realiza-se um


processo de eliminação gaussiana para se construir um
novo quadro
 A construção do novo quadro pode ser enunciada da
seguinte forma:
linha do p ivô
nova linha do p ivô 
elemento p ivô

 Para as outras linhas i, em que i é diferente da linha do


pivô, temos que as novas linhas serão dadas por:
nova linha i  linha i  nova linha do pivô x (- elemento da coluna do pivô na linha i)

49/66
Programação Linear Custo marginal
Método Simplex – Algoritmo mais negativo

Início
Escolher variável Menor razão
para entrar na base não negativa

Montar tableau com


solução básica Calcular razão
inicial viável B / coluna (entra)

1 Escolher variável
para sair da base
Existe custo Sim Existe Sim
marginal < 0 ? razão > 0
finita ?

Não Não Fazer troca de


base e recalcular
o tableau
Solução Solução
ótima ilimitada

Fim
50/66
Problema da Degeneração

 No desenvolvimento do Simplex, a linha pivô é a restrição que apresenta o


menor quociente não negativo, da divisão dos termos independentes pelos
coeficientes positivos da variável que entra

 Pode ocorrer que haja mais de um resultado nessas condições. Devemos


escolher arbitrariamente um deles para calcular a solução. Entretanto, essa
solução apresentará variáveis básicas com valor nulo. A saída de uma variável
básica nula provoca o aparecimento de outra variável básica nula na solução
seguinte, sem alteração do valor do objetivo

 Nesse caso, a solução é chamada degenerada. Se os coeficientes da função


objetivo retornam não negativos em alguma iteração, o caso não apresenta
dificuldade. O problema aparece quando as iterações levam a circuitos, sem
caracterizar a solução ótima

51/66
Problema da Degeneração – Solução Gráfica

Exemplo:
Max. Z = 3x1 + 4x2
s.a.:
x1 + x2 ≤ 9
2x1 + 3x2 ≤ 18
x1 ≥ 0
x2 ≥ 0

52/66
Problema da Degeneração – Simplex

Primeiro Quadro:
BASE x1 x2 x3 x4 b
x3 1 1 1 0 9
x4 2 3 0 1 18

Z -3 -4 0 0 0

Segundo Quadro:

BASE x1 x2 x3 x4 b
x3 0,33 0 1 -0,33 3
x2 0,67 1 0 0,33 6

Z -0,33 0 0 1,33 24

53/66
Problema da Degeneração – Simplex

Segundo Quadro:
BASE x1 x2 x3 x4 b
x3 0,33 0 1 -0,33 3 3 / 0,33 = 9
x2 0,67 1 0 0,33 6 6 / 0,67 = 9

Z -0,33 0 0 1,33 24
Variáveis “empatadas” para sair da base
Escolher aleatoriamente – Pode gerar loop
Terceiro Quadro:

BASE x1 x2 x3 x4 b
x1 1 0 3 -1 9 Variável básica = 0
x2 0 1 -2 1 0

Z 0 0 1 1 27

54/66
Problema da Solução Ilimitada

 Isto ocorre quando a variável que entra na base não possui em sua coluna
nenhum coeficiente positivo
 Os programas de computador, nesse caso, apresentam a última solução básica
antes que a solução se torne ilimitada
 No caso da solução ilimitada, normalmente o problema foi mal especificado

 Exemplo:

Max. Z = 4x1 + 3x2


s.a.:
5x1 - 2x2 ≤ 10
x1 ≤ 8
x1 ≥ 0
x2 ≥ 0

55/66
Problema da Solução Ilimitada – Solução Gráfica

56/66
Problema da Solução Ilimitada – Simplex

Primeiro Quadro:
BASE x1 x2 x3 x4 b
x3 5 -2 1 0 10
x4 1 0 0 1 8

Z -4 -3 0 0 0

Segundo Quadro:

BASE x1 x2 x3 x4 b
x1 1 -0,4 0,2 0 2
x4 0 0,4 -0,2 1 6

Z 0 -4,6 0,8 0 8

57/66
Problema da Solução Ilimitada – Simplex

Terceiro Quadro:
BASE x1 x2 x3 x4 b
x1 1 0 0 1 8
x2 0 1 -0,5 2,5 15

Z 0 0 -1,5 11,5 77

 Como ainda existe um valor negativo na linha da função objetivo, a solução


não é ótima
 A variável que entraria na base para próxima iteração seria X3
 Entretanto, não é possível determinar qual variável sairia da base, porque a
variável que entra na base não possui em sua coluna nenhum coeficiente
positivo

58/66
Caso de Soluções Múltiplas

 Se na solução ótima o coeficiente de uma variável não básica é zero, ele


poderá entrar na base sem alterar o valor do objetivo, gerando outra solução
ótima
 Neste caso, qualquer combinação linear dessas duas soluções também será
solução ótima

 Exemplo:

Max. Z = 8x1 + 4x2


s.a.:
4x1 + 2x2 ≤ 16
x1 + x 2 ≤ 6
x1 ≥ 0
x2 ≥ 0

59/66
Caso de Soluções Múltiplas – Solução Gráfica

60/66
Caso de Soluções Múltiplas – Simplex

Primeiro Quadro:
BASE x1 x2 x3 x4 b
x3 4 2 1 0 16
x4 1 1 0 1 6

Z -8 -4 0 0 0

Segundo Quadro:

BASE x1 x2 x3 x4 b
x1 1 0,5 0,25 0 4
x4 0 0,5 -0,25 1 2

Z 0 0 2 0 32

61/66
Caso de Soluções Múltiplas – Simplex

Segundo Quadro:
BASE x1 x2 x3 x4 b
x1 1 0,5 0,25 0 4
x4 0 0,5 -0,25 1 2

Z 0 0 2 0 32
Coeficiente da variável não básica é zero e assim poderá entrar na
base sem alterar o valor do objetivo gerando um novo quadro
Terceiro Quadro: porém, com o mesmo valor para a solução ótima

BASE x1 x2 x3 x4 b
x1 1 0 0,5 -1 2
x2 0 1 -0,5 2 4

Z 0 0 2 0 32

62/66
Exercício

 Resolver o seguinte modelo em programação linear, usando o método Simplex

𝑀𝑎𝑥 𝑍 = 3𝑥1 + 5𝑥2


S.A.:
2𝑥1 + 4𝑥2 ≤ 10
5,5𝑥1 + 𝑥2 ≤ 20
𝑥1 − 𝑥2 ≤ 30
𝑥1 ≥ 0
𝑥2 ≥ 0

63/66
Quadros da Solução
Primeiro Quadro:
BASE x1 x2 x3 x4 x5 b
x3 2 4 1 0 0 10
x4 5,5 1 0 1 0 20
x5 1 -1 0 0 1 30

Z -3 -5 0 0 0 0

Segundo Quadro:
BASE x1 x2 x3 x4 x5 b
x2 0,5 1 0,25 0 0 2,5
x4 5 0 -0,25 1 0 17,5
x5 1,5 0 0,25 0 1 32,5

Z -0,5 0 1,25 0 0 12,5


64/66
Quadros da Solução
Terceiro Quadro:
BASE x1 x2 x3 x4 x5 b
x2 0 1 0,275 -0,1 0 0,75
x1 1 0 -0,05 0,2 0 3,50
x5 0 0 0,325 -0,3 1 27,25

Z 0 0 1,225 0,1 0 14,25

Solução ótima encontrada:


x1 = 3,5
x2 = 0,75
Z* = 14,25

65/66
Pesquisa Operacional
08 – Problema de Transporte – SBF Inicial

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Problema de Transporte

• O problema de transporte é uma classe especial de problema de


programação linear que trata do envio de mercadorias de origens
(por exemplo, fábricas) para destinos (por exemplo, depósitos)

• O objetivo é determinar a programação de expedição que minimize


o custo total de expedição e, ao mesmo tempo, satisfaça os
limites de fornecimento e demanda

• A aplicação do problema de transporte pode ser estendida a outras


áreas de operações, entre elas controle de estoque, programação
de empregos e designação de pessoal, entre outros
Problema de Transporte

• Por se tratar de um problema de programação linear, devemos


fazer a hipótese de que o custo unitário de transporte de cada
fábrica para cada destino é constante, independentemente da
quantidade transportada

• Para problemas de transporte onde os valores das ofertas e


demandas são números inteiros, todos os valores das variáveis das
soluções básicas viáveis, incluindo a solução ótima, também serão
inteiros
Representação do problema de
transporte com vértices e arestas
• Há m origens e n destinos, cada
um representado por um vértice
• As arestas representam as rotas
que ligam as origens aos
destinos
• A aresta (i, j), que liga a origem i
ao destino j, nos dá duas
informações:
o O custo de transporte por unidade cij
o A quantidade enviada, xij
• A quantidade de suprimento na origem i é ai
• A quantidade de demanda no destino j é bj
• Objetivo: determinar as incógnitas xij que minimizam o custo total de
transporte e satisfazem todas as restrições de suprimento e demanda
Problema de Transporte
Restrições
• As restrições de problemas de transporte:

– as fábricas não podem produzir mais do que suas capacidades


instaladas e

– os centros consumidores não desejam receber volumes acima


de suas demandas

– assim, para que exista uma solução viável, é necessário que as


capacidades instaladas sejam iguais às demandas:

Total da Capacidade = Total Demanda


Problema de Transporte
Exemplo – LCL Bicicletas
A LCL Bicicletas possui 3 fábricas localizadas no Rio, São Paulo e
Belo Horizonte. A produção deve ser entregue em Recife, Salvador e
Manaus. Considerando os custos de transporte unitários, as
capacidades de produção das fábricas e as demandas dos centros
consumidores que estão especificados na tabela a seguir, determine
quanto deve ser produzido e entregue por cada fábrica em cada centro
consumidor, de forma a minimizar os custos de transporte.

Centro Consumidor
Fábrica Recife Salvador Manaus Capacidade
Rio 25 20 30 2.000
São Paulo 30 25 25 1.500
B.Horizonte 20 15 23 1.500
Demanda 2.000 2.000 1.000
Problema de Transporte:
Modelo Tradicional

• Existem 9 variáveis para expressar a quantidade


transportada em cada uma das possíveis vias

xij = Quantidade transportada da fábrica i para o centro


consumidor j

1 - Rio 1 - Recife
 
i =  2 - São Paulo j =  2 - Salvador
 -  -
 3 Belo Horizonte  3 Manaus
Problema de Transporte:
Variáveis de Decisão

x11
2.000 2.000
Centro Consumidor
RJ x12 RE
Fábrica RE SA MA Capacidade
x13
x21
RJ x11 x12 x13 2000
1.500 x22 2.000
SP x21 x22 x23 1500 SP SA
x23
BH x31 x32 x33 1500
x31
Demanda 2000 2000 1000 5000=5000 x32
1.500 1.000
BH x33 MA

Capacidade = Demanda
Problema de Transporte:
Modelo Tradicional

𝑀𝑖𝑛 𝑍 = 25𝑥11 + 20𝑥12 + 30𝑥13 +


+ 30𝑥21 + 25𝑥22 + 25𝑥23 +
+ 20𝑥31 + 15𝑥32 + 23𝑥33
𝑆. 𝐴. :
𝑥11 + 𝑥12 + 𝑥13 = 2.000
𝑥21 + 𝑥22 + 𝑥23 = 1.500
𝑥31 + 𝑥32 + 𝑥33 = 1.500
𝑥11 + 𝑥21 + 𝑥31 = 2.000
𝑥12 + 𝑥22 + 𝑥32 = 2.000
𝑥13 + 𝑥23 + 𝑥33 = 1.000
𝑥𝑖𝑗 ≥ 0
Problema de Transporte
Caso LCL Bicicletas (capacidade ≠ demanda)

Centro Consumidor
Fábrica Recife Salvador Manaus Capacidade
Rio 25 20 30 2.000
São Paulo 30 25 25 3.000
B.Horizonte 20 15 23 1.500
Demanda 2.000 2.000 1.000
Problema de Transporte
Caso LCL Bicicletas (capacidade ≠ demanda)

Centro Consumidor
Fábrica Recife Salvador Manaus Capacidade
Rio 25 20 30 2.000
São Paulo 30 25 25 3.000
B.Horizonte 20 15 23 1.500
Demanda 2.000 2.000 1.000 5.000 < 6.500

Demanda total menor que a Capacidade total (Demanda < Capacidade)


Problema de Transporte
Capacidade diferente da demanda
• Quando o montante ofertado (somatório das capacidades das
fábricas) não for igual ao total demandado (somatório das
demandas dos centros consumidores), devem ser introduzidas
variáveis dummy ou variáveis fantasma ao modelo
• A inserção de variáveis do tipo dummy não é obrigatória mas
facilita a interpretação do resultado da otimização:

Demanda < Capacidade Demanda > Capacidade


Ação: busca de novos centros consumidores Ação: criação de uma nova fábrica
Interpretação: capacidade ociosa das fábricas Interpretação: demanda não atendida
Problema de Transporte
Capacidade diferente da demanda

• A regra das variáveis fantasma (Dummy):

– Se Demanda < Capacidade – introduzir um destino fantasma


– Se Demanda > Capacidade – introduzir uma oferta fantasma

• Todos os custos relacionados às variáveis fantasma


serão nulos

• A capacidade ou a demanda fantasma será dada pela


diferença entre o total ofertado e total demandado
Problema de Transporte
Caso LCL Bicicletas (capacidade ≠ demanda)

Centro Consumidor
Fábrica Recife Salvador Manaus Capacidade
Rio 25 20 30 2.000
São Paulo 30 25 25 3.000
B.Horizonte 20 15 23 1.500
Demanda 2.000 2.000 1.000 5.000 < 6.500

Demanda total menor que a Capacidade total (Demanda < Capacidade)


Problema de Transporte
Caso LCL Bicicletas (capacidade ≠ demanda)

• Cria-se um consumidor Dummy:

Centro Consumidor
Fábrica Recife Salvador Manaus Dummy Capacidade
Rio 25 20 30 0 2.000
São Paulo 30 25 25 0 3.000
B.Horizonte 20 15 23 0 1.500
Demanda 2.000 2.000 1.000 1.500 6.500 = 6.500
Problema do Transporte
Particularidades

• Problema de minimização
• Muitos 0’s (zeros) e alguns 1’s (uns) – Matriz binária
• Coeficientes Cij só aparecem na função objetivo
• Todas as restrições são igualdades
• Grande número de variáveis de decisão (n x m)
• Forma balanceada: Total da Capacidade = Total Demanda
Problema do Transporte
Solução alternativa ao Simplex

• Construção de um novo tipo de tabela – Tabela do


Problema de Transporte – que aproveita as
particularidades do problema

• Utilizar o algoritmo dos transportes:


– Passo 1: obter a solução inicial
– Passo 2: Iterar o passo de otimização até que a solução ótima
seja obtida
Algoritmo de Transporte

Obtenção de
solução inicial

Solução é sim
Fim
Ótima?

não

Escolher variáveis de
entrada e saída, e ajustar
a tabela
Algoritmo de Transporte

• Início: o problema deve estar balanceado (fluxo total de entrada =


fluxo total de saída) e representado na forma tabular

• Passo 1: Encontrar uma SBF (solução básica factível) inicial


utilizando um dos três métodos a seguir:
– método do canto noroeste
– método do custo mínimo
– método da aproximação de Vogel

• Passo 2: Teste de otimalidade – usar método dos multiplicadores.


Aplicar a condição de otimalidade do método simplex ao problema
de transporte. Se a condição é satisfeita, o algoritmo termina aqui,
caso contrário, determina-se uma SBF adjacente melhor
Algoritmo de Transporte

• Início: o problema deve estar balanceado

Centro Consumidor
Fábrica Recife Salvador Manaus Capacidade
Rio 25 20 30 2.000
São Paulo 30 25 25 1.500
B.Horizonte 20 15 23 1.500
Demanda 2.000 2.000 1.000 5.000 = 5.000

Fluxo total de entrada = Fluxo total de saída


Algoritmo de Transporte

• Início: o problema deve estar representado na forma tabular

Destinos
Origens 1 2 ... n Capacidade ui
c11 c12 c1n
1 ... f1

c21 c12 c2n


2 ... f2

... ... ... ... ... ...

cm1 cm2 cmn


m ... fm

Demanda d1 d2 ... dn Z=
vj
Algoritmo de Transporte
Exemplo – LCL Bicicletas
• Início: o problema deve estar representado na forma tabular

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000 5.000 = 5.000


Algoritmo de Transporte

• Passo 1: encontrar uma SBF (solução básica factível) inicial


utilizando um dos três métodos a seguir:

– método do canto noroeste


– método do custo mínimo
– método da aproximação de Vogel
Método do Canto Noroeste

• Começar pela variável x11 (Canto Noroeste)

• Se houver ainda capacidade disponível, passar para a


variável xi+1, j

• Se só houver demanda disponível, passar para a


variável xi, j+1

• Prosseguir até obter todas as variáveis básicas (xij ≠ 0)


e todas as outras variáveis não básicas (xij = 0)
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

Começar pela variável 30 25 25


x11 (Canto Noroeste)
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 Atribuir o máximo possível 1.500
entre demanda e capacidade
20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000
30 25 25
2 1.500

20 15 23
3 1.500

Demanda 0 2.000 1.000


Método do Canto Noroeste
Exemplo – LCL Bicicletas
bloquear as células
• Método do Canto Noroeste correspondentes à mesma
linha ou coluna que
atingirem o limite máximo de
Destinos
capacidade ou demanda

Origens 1 2 3 Capacidade
25 20 30
1 0
2.000
30 25 25
2 1.500

20 15 23
3 1.500

Demanda 0 2.000 1.000


Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000
30 25 25
2 1.500

20 15 23
3 1.500

Demanda 0 2.000 1.000


Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 1.500
0
20 15 23
3 1.500
0
Demanda 0 2.000 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 1.500
0
20 15 23
3 1.500
0
Demanda 0 2.000 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
Se houver ainda capacidade
• Método do Canto Noroeste disponível, passar para a variável xi+1, j
Se só houver demanda disponível,
passar para a variável xi, j+1
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 1.500
0
20 15 23
3 1.500
0
Demanda 0 2.000 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 1.500
0
20 15 23
3 1.500
0
Demanda 0 2.000 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 1.500
0
20 15 23o máximo possível
Atribuir
3 1.500
entre demanda e capacidade
0
Demanda 0 2.000 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500
20 15 23
3 1.500
0
Demanda 0 500 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste
bloquear as células
Destinos
correspondentes à mesma
linha ou coluna que
Origens 1 2 atingirem o 3limite máximo
Capacidade
de
25 20 capacidade
30 ou demanda
1 0
2.000 0 0
30 25 25
2 0
0 1.500
20 15 23
3 1.500
0
Demanda 0 500 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500
20 15 23
3 1.500
0
Demanda 0 500 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 1.500
0
Demanda 0 500 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
Se houver ainda capacidade
• Método do Canto Noroeste disponível, passar para a variável xi+1, j
Se só houver demanda disponível,
passar para a variável xi, j+1
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 1.500
0
Demanda 0 500 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 1.500
0
Demanda 0 500 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
Atribuir o máximo possível
0 1.500 0
entre demanda e capacidade
20 15 23
3 1.500
0
Demanda 0 500 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 1.000
0 500
Demanda 0 0 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
Se houver ainda capacidade
• Método do Canto Noroeste disponível, passar para a variável xi+1, j
Se só houver demanda disponível,
passar para a variável xi, j+1
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 1.000
0 500
Demanda 0 0 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 1.000
0 500
Demanda 0 0 1.000
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 0
0 500 1.000
Demanda 0 0 0
Método do Canto Noroeste
Exemplo – LCL Bicicletas
• Método do Canto Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 0
0 500 1.000
Demanda 0 0 0 Z = 118.000
Algoritmo de Transporte

• Passo 1: encontrar uma SBF (solução básica factível) inicial


utilizando um dos três métodos a seguir:
– método do canto noroeste
– método do custo mínimo
– método da aproximação de Vogel
Método do Custo Mínimo

• Designar o máximo possível à célula que tiver o menor custo


unitário (empates são resolvidos arbitrariamente)

• Em seguida a linha ou coluna satisfeita é cancelada e as


quantidades fornecidas ou demandadas são ajustadas

• Se ambas, uma linha e uma coluna, forem satisfeitas


simultaneamente, só uma delas é cancelada

• A seguir, identificar a célula não cancelada que tenha o menor custo


unitário e repetir o processo até restar exatamente uma linha ou
uma coluna não cancelada
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo Identificar a variável com
menor custo unitário

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1
Atribuir o máximo possível à 2.000
variável com menor custo unitário
30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25 Valor máximo possível


2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 0
1.500
Demanda 2.000 500 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

preencher com zeros a 30 25 25


linha ou coluna satisfeita
2 1.500

20 15 23
3 0
1.500
Demanda 2.000 500 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 500 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 500 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
identificar a célula não cancelada
• Método do Custo Mínimo que tenha o menor custo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 500 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 500 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo
Atribuir o máximo possível à
variável com menor custo unitário
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 500 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 500 1.000

Valor máximo possível


Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo preencher com zeros a
linha ou coluna satisfeita

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500

20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
Identificar a variável com menor custo
• Método do Custo Mínimo unitário (dentre a células vazias)

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
Em caso de empate, a
• Método do Custo Mínimo escolha pode ser arbitrária

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30
Atribuir o máximo possível à 25 25
2
variável com menor custo unitário
1.500
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 1.500
500
30 25 25
2 1.500
Valor máximo possível
0
20 15 23
3 0
0 1.500 0
Demanda 2.000 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo preencher com zeros a
linha ou coluna satisfeita

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
Identificar a variável com menor custo
• Método do Custo Mínimo unitário (dentre a células vazias)

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Atribuir o máximo
Origens 1 2 3 Capacidade
possível à variável
25 20 30 com menor custo
1 unitário
0
1.500 500 0
30 25 25
2 1.500
0
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 1.500
0
Valor máximo possível
20 15 23
3 0
0 1.500 0
Demanda 500 0 1.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 500
0 1.000
20 15 23
3 0
0 1.500 0
Demanda 500 0 0
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Ajustar os elementos da linha ou
Origensà partir da 1
coluna não ajustada 2 3 Capacidade
variável com menor custo
25 20 30
1 0
1.500 500 0
30 25 25
2 500
0 1.000
20 15 23
3 0
0 1.500 0
Demanda 500 0 0
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 0
500 0 1.000
20 15 23
3 0
0 1.500 0
Demanda 0 0 0
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 0
500 0 1.000
20 15 23
3 0
0 1.500 0
Demanda 0 0 0
Método do Custo Mínimo
Exemplo – LCL Bicicletas
• Método do Custo Mínimo

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500 0
30 25 25
2 0
500 0 1.000
20 15 23
3 0
0 1.500 0
Demanda 0 0 0 Z = 110.000
Algoritmo de Transporte

• Passo 1: encontrar uma SBF (solução básica factível) inicial


utilizando um dos três métodos a seguir:
– método do canto noroeste
– método do custo mínimo
– método da aproximação de Vogel
Método da Aproximação de Vogel

• Passo 1: Para cada linha e coluna, calcular a penalidade que


corresponde à diferença entre os dois menores custos unitários de
transporte na respectiva linha (e coluna)

• A penalidade para uma linha (coluna) será calculada enquanto


houver pelo menos duas células ainda não alocadas e não
bloqueadas na mesma linha (coluna)

• Passo 2: escolher a linha (coluna) de maior penalidade. Em caso


de empate, escolher qualquer uma delas, aleatoriamente. Na linha
ou coluna selecionada, escolher a célula de menor custo
Método da Aproximação de Vogel

• Passo 3: Alocar a maior quantidade possível de produto, de forma


que a soma das células correspondentes na mesma linha e na
mesma coluna não ultrapasse a capacidade de fornecimento total e
de demanda total, respectivamente

• Passo 4: bloqueie as células correspondentes à mesma linha ou


coluna que atingiu o limite máximo de fornecimento ou demanda,
enquanto restar mais de uma célula não alocada e não bloqueada,
volte ao passo 1, caso contrário, vá para o passo 5

• Passo 5: aloque a essa última célula a capacidade ou demanda


remanescente
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas
Para cada linha e coluna, calcular a
penalidade que corresponde à diferença
• Método de Aproximação de Vogel entre os dois menores custos unitários de
transporte na respectiva linha (e coluna)
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel escolher a linha (coluna) de


maior penalidade
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel escolher a linha (coluna) de


maior penalidade
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2 No caso de empate, a
escolha pode ser arbitrária
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas
Na linha ou coluna selecionada,
• Método de Aproximação de Vogel escolher a célula de menor custo
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação deAtribuir


Vogel o máximo possível à
variável com menor custo unitário
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Valor máximo possível
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 2.000 5

30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 2.000 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 5
2.000
30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 0 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas
bloquear as células correspondentes à
• Método de Aproximação de Vogel mesma linha ou coluna que atingirem o
limite máximo de capacidade ou demanda
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 5
2.000
30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 0 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 5
2.000
30 25 25
2 1.500 0

20 15 23
3 1.500 5

Demanda 2.000 0 1.000


5 5 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
0 2.000 0
30 25 25
2 1.500
0
20 15 23
3 1.500
0
Demanda 2.000 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas
Para cada linha e coluna (ainda vazia),
• Método de Aproximação de Vogel calcular a penalidade que corresponde
à diferença entre os dois menores
Destinos custos unitários de transporte na
respectiva linha (e coluna)
Origens 1 2 3 Capacidade
25 20 30
1 0
0 2.000 0
30 25 25
2 1.500
0
20 15 23
3 1.500
0
Demanda 2.000 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
0 2.000 0
30 25 25
2 1.500
0
20 15 23
3 1.500
0
Demanda 2.000 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500
0
Demanda 2.000 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500
0
Demanda 2.000 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel escolher a linha (coluna) de


maior penalidade
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 Na linha
2 ou coluna selecionada,
3 Capacidade
escolher a célula de menor custo
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 Atribuir o máximo
2.000 possível à 0
30 variável25
com menor custo
25 unitário
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25 Valor máximo possível
2 1.500 5
0
20 15 23
3 1.500 3
0
Demanda 2.000 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 3
1.500 0
Demanda 500 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
bloquear as células correspondentes à
30 25 mesma linha ou coluna que atingirem o
25
2 limite máximo de capacidade
1.500 ou demanda
5
0
20 15 23
3 0 3
1.500 0
Demanda 500 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 3
1.500 0
Demanda 500 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 3
1.500 0 0
Demanda 500 0 1.000
10 - 2
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas
Para cada linha e coluna (ainda vazia),
• Método de Aproximação de Vogel calcular a penalidade que corresponde
à diferença entre os dois menores
Destinos custos unitários de transporte na
respectiva linha (e coluna)
Origens 1 2 3 Capacidade
25 20 30
1 0
0 2.000 0
30 25 25
2 1.500
0
20 15 23
3 0
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
A penalidade para uma linha (coluna)
Origens 1 será calculada
2 enquanto houver
3 pelo Capacidade
menos duas células ainda não
25 20 e não bloqueadas
alocadas 30 na mesma
1 0
0 linha (coluna)
2.000 0
30 25 25
2 1.500
0
20 15 23
3 0
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
0 2.000 0
30 25 25
2 1.500
0
20 15 23
3 0
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel escolher a linha (coluna) de


maior penalidade
Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
Na linha ou coluna selecionada,
escolher a célula de menor custo
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
Atribuir o máximo possível à
variável com menor custo unitário
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 1.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 1.500 5
0
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 1.000
Valor máximo possível
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 500 5
0 1.000
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 0
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 500 5
0 1.000
20 15 23
3 0 -
1.500 0 0
Demanda 500 0 0
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0 -
0 2.000 0
30 25 25
2 500 5
Alocar 0
a essa última1.000
célula a capacidade ou
20 15 23
demanda remanescente
3 0 -
1.500 0 0
Demanda 500 0 0
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
0 2.000 0
30 25 25
2 0
500 0 1.000
20 15 23
3 0
1.500 0 0
Demanda 0 0 0
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

• Método de Aproximação de Vogel


Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
0 2.000 0
30 25 25
2 0
500 0 1.000
20 15 23
3 0
1.500 0 0
Demanda 0 0 0 Z = 110.000
Resumo das Soluções
Iniciais Básicas Obtidas
Método do Canto Noroeste
Exemplo – LCL Bicicletas

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000
30 25 25
2 0
1.500
20 15 23
3 0
500 1.000
Demanda 0 0 0 Z = 118.000
Método do Custo Mínimo
Exemplo – LCL Bicicletas

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
1.500 500
30 25 25
2 0
500 1.000
20 15 23
3 0
1.500
Demanda 0 0 0 Z = 110.000
Método da Aproximação de Vogel
Exemplo – LCL Bicicletas

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000
30 25 25
2 0
500 1.000
20 15 23
3 0
1.500
Demanda 0 0 0 Z = 110.000
Pesquisa Operacional
Problema de Transporte – SBF Inicial
Exercícios

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Problema de Transporte
Exercício 1

A transportadora Ômega irá fazer o transporte dos Encontre a solução inicial para o problema
seus produtos eletrônicos de três fábricas para utilizando os métodos:
quatro centros de distribuição. Os custos unitários
do transporte são apresentados na tabela a seguir. 1) Canto Noroeste
Sabe-se que as fábricas 1, 2 e 3 têm capacidade
de produção de 40, 100 e 60 unidades 2) Custo Mínimo
respectivamente. As necessidades dos Centros de 3) Aproximação de Vogel
Distribuição são 20, 70, 50 e 90 respectivamente.

CD 1 CD 2 CD 3 CD 4 Capacidade
Fábrica 1 5 3 10 8 40
Fábrica 2 5 2 4 9 100
Fábrica 3 8 11 9 10 60
Demanda 20 70 50 90
Problema de Transporte
Exercício 2

A Miss Daisy Ltda. é um laboratório de manipulação que presta serviços de entrega para idosos. A
empresa possui duas filiais e fornece o serviço a seis bairros diferentes. Tendo em vista que
atualmente a demanda é superior à capacidade de entrega da companhia, ela gostaria de saber a
quais clientes atender, em cada filial, de maneira a minimizar o custo de entrega. As capacidades das
filiais, as demandas dos bairros e os custos unitários de entrega são mostrados na tabela a seguir:

Ipanema Copacabana Centro Barra Leblon Tijuca Capacidade


Filial Centro 7,00 9,00 1,00 12,00 7,00 4,00 2.500
Filial Barra 4,00 5,00 12,00 1,00 3,00 8,00 2.000
Demanda 1.400 1.560 400 150 870 620

Encontre a solução inicial para o problema utilizando os métodos:

1) Canto Noroeste
2) Custo Mínimo
3) Aproximação de Vogel
Pesquisa Operacional
09-Problema de Transporte – Teste Otimalidade

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Algoritmo de Transporte

Obtenção de
solução inicial

Solução é sim
Fim
Ótima?

não

Escolher variáveis de
entrada e saída, e ajustar
a tabela
Algoritmo de Transporte

• Início: o problema deve estar balanceado (fluxo total de entrada =


fluxo total de saída) e representado na forma tabular

• Passo 1: encontrar uma SBF (solução básica factível) inicial


utilizando um dos três métodos a seguir:
– método do canto noroeste
– método do custo mínimo
– método da aproximação de Vogel

• Passo 2: Teste de otimalidade – usar método dos multiplicadores.


Aplicar a condição de otimalidade do método simplex ao problema
de transporte. Se a condição é satisfeita, o algoritmo termina aqui,
caso contrário, determina-se uma SBF adjacente melhor
Algoritmo de Transporte
Teste Otimalidade
Após a determinação da solução inicial utilizando um dos métodos:
Canto Noroeste, Custo Mínimo ou Aproximação de Vogel, o teste de
otimalidade, deve ser efetuado em dois passos:

• Passo 1: Utilizar a condição de otimalidade do simplex para designar a


variável que entra na base como sendo a variável não básica atual que
pode melhorar a solução. Se a condição de otimalidade for satisfeita, fim do
algoritmo, a solução é ótima. Caso contrário, siga para o Passo 2

• Passo 2: Determinar a variável que sai da base utilizando a condição de


viabilidade do simplex. Alterar a base e voltar para o Passo 1

A estrutura especial do problema de transporte permite cálculos mais


simples que as operações de linha usadas no simplex
Teste Otimalidade
Exemplo – LCL Bicicletas
• Considerando a solução inicial obtida pelo Método do Canto
Noroeste

Destinos
Origens 1 2 3 Capacidade
25 20 30
1 0
2.000 0 0
30 25 25
2 0
0 1.500 0
20 15 23
3 0
0 500 1.000
Demanda 0 0 0 Z = 118.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
Considerando somente
1 2 3 as variáveis básicas
(onde existem valores)
25 20 30
1
2.000
30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
25 20 30
1
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
Cij = Ui + Vj 1 2 3
25 20 30
1
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
25 = U1 + V1 1 2 3
25 20 30
1
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
25 – U1 – V1 = 0 1 2 3
25 20 30
1
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
25 – U1 – V1 = 0 1 2 3
25 20 30
1
x11 2.000

Variáveis Básicas: 30 25 25
Ui 2
X11: 25 – U1 – V1 = 0 x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
25 20
1 25 – U30
2 – V2 = 0
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20
1 25 – U30
2 – V2 = 0
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
1
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
15 – U3 – V2 = 0 x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
15 – U3 – V2 = 0 x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
x11 2.000
30 25 25
Ui 2 23 – U3 – V3 = 0
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 x11 2.000
30 25 25
Ui 2 23 – U3 – V3 = 0
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 x11 2.000
30 25 25
Ui 2
x22 1.500
20 15 23
3
x32 500 x33 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000
30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
O sistema possui: 1 2 3
X22: 25 – U2 – V2 = 0
4 equações e 25 20 30
X32: 15 – U3 – V2 = 0 6 incógnitas 1
X33: 23 – U3 – V3 = 0 2.000
30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000
30 25 25
Ui 2
Neste caso a solução 1.500
é “degenerada” 20 15 23
3
500 1.000
O problema da
Degenerescência
• O problema apresenta menos variáveis básicas (células com variáveis ≠ 0)
que o número necessário para a solução, ou seja, o problema possui
menos equações que incógnitas

• No simplex a degeneração ocorre quando existem variáveis “empatadas”


para sair da base, podendo gerar loop

• A solução é criar variáveis básicas auxiliares (quantas forem necessárias)


até que o número de equações seja apenas um a menos que o número de
incógnitas

• Essas variáveis auxiliares devem ter seus valores tão próximos a zero de
forma que não aterem as restrições de origem e destino e os locais onde
serão inseridas devem ser analisados com cautela
Teste Otimalidade
Exemplo – LCL Bicicletas

Inserir variável auxiliar Ɛ


Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000
30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: 20 – U1 – V2 = 0 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: 20 – U1 – V2 = 0 30 25 25
Ui 2
1.500
20 15 23
Arbitra-se:
3
U1 = 0, ou Ui = 0 na linha 500 1.000
onde houver mais variáveis
básicas (variáveis ≠ 0)
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0  U1 = 0
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: 20 – U1 – V2 = 0 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – 0 – V1 = 0  U1 = 0; V1 = 25
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: 20 – U1 – V2 = 0 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: 20 – U1 – V2 = 0 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: 20 – U1 – V2 = 0 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: 20 – 0 – V2 = 0  V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: 25 – U2 – V2 = 0
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: 25 – U2 – 20 = 0  U2 = 5
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: 15 – U3 – V2 = 0 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: 15 – U3 – 20 = 0  U3 = – 5 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: 23 – U3 – V3 = 0 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: 23 – (– 5) – V3 = 0  V3 = 28 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
20 15 23
3
500 1.000
Considerando somente as
variáveis não básicas
(onde não existem valores)
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
3
x31 500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: 30 – U1 – V3
Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
3
x31 500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: 30 – U1 – V3
Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: 30 – U1 – V3 = 30 – 0 – 28 = 2 3
x31 500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5 30 – U2 – V120
25 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: 30 – U2 – V1 = 30 – 5 – 25 = 0 x31 500 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5 25 – U2 – V3
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 x31 500 1.000
X23: 25 – U2 – V3 = 25 – 5 – 28 = – 8
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2 20 – U3 – V1
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 x31 500 1.000
X23: = – 8
X31: 20 – U3 – V1 = 20 – (– 5) – 25 = 0
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 x31 500 1.000
X23: = – 8
X31: = 0
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 x31
A solução não é ótima 500 1.000
X23: = – 8 Existem variáveis não básicas
X31: = 0 com coeficiente negativos
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 x31 500 1.000
X23: = – 8
X31: = 0 Ocorrendo mais de um valor negativo,
escolher dentre os negativos o que tiver o
maior valor absoluto (como no simplex)
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ x13
X12: V2 = 20 30 25 25
Ui 2
x21 1.500 x23
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 x31 500 1.000
X23: = – 8
X31: = 0 Variável X23 – Entra na BASE
Determinação da variável
que sai da base

• Construir um circuito fechado que inicia e termina na variável que entra na base

• O circuito consiste somente em segmentos horizontais e verticais conectados (não


são permitidas diagonais)

• Com exceção da célula da variável que entra na base, cada canto do circuito
fechado deve coincidir com uma variável básica

• Determinado o circuito, designar a quantidade Ɵ à célula que entra na base

• Para que os limites de fornecimento e demanda permaneçam satisfeitos, alternar


entre subtrair e somar a quantidade Ɵ nos cantos sucessivos do circuito

• É permitido percorrer o circuito tanto no sentido horário quanto no sentido anti-


horário

• Determinar o valor máximo de Ɵ, sabendo que nenhuma variável pode assumir


valores negativos. A variável que primeiro limita o crescimento de Ɵ é a variável de
saída.
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 500 1.000
X23: = – 8
X31: = 0
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
Designar a quantidade Ɵ à célula
X11: U1 = 0; V1 = 25 da
1 variável que
2 entra na3base
X22: U2 = 5
25 20 30
X32: U3 = – 5 1
X33: V3 = 28 2.000 Ɛ
X12: V2 = 20 30 25 25
Ui 2
1.500 Ɵ
Variáveis Não Básicas:
20 15 23
X13: = 2 3
X21: = 0 500 1.000
X23: = – 8
X31: = 0
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
25 20 30
1
2.000 Ɛ
30 25 25
Ui 2
1.500 Ɵ
20 15 23
3
500 1.000

Construir um circuito fechado que


inicia e termina na variável que
entra na base
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
25 20 30
1
2.000 Ɛ
30 25 25
Ui 2
1.500 Ɵ
20 15 23
3
500 1.000

Construir um circuito fechado que


inicia e termina na variável que
entra na base
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
25 20 30
1
2.000 Ɛ
30 25 25
Ui 2
1.500 – Ɵ Ɵ
20 15 23
3
500 + Ɵ 1.000 – Ɵ

alternar entre subtrair e somar


a quantidade Ɵ nos cantos
sucessivos do circuito
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
Determinar o valor máximo de Ɵ,
25 que nenhuma
sabendo 20 30
variável
1
pode assumir
2.000 valoresƐ negativos
30 25 25
Ui 2
1.500 – Ɵ Ɵ
20 15 23
3
500 + Ɵ 1.000 – Ɵ
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
25 20 30
1
2.000 Ɛ
30 25 25
Ui 2
1.500 – Ɵ Ɵ
20 15 23
3
500 + Ɵ 1.000 – Ɵ

Ɵ = 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
25 20 30
1
2.000 Ɛ
30 25 25
Ui 2
1.500 – Ɵ Ɵ
20 15 23
3
500 + Ɵ 1.000 – Ɵ

Variável X33 – Sai da BASE


Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
25 20 30
1
2.000 Ɛ
30 25 25
Ui 2
1.500 – Ɵ Ɵ
20 15 23
3
500 + Ɵ 1.000 – Ɵ

Ɵ = 1.000
Teste Otimalidade
Exemplo – LCL Bicicletas
• Novo quadro do transporte

Vj
1 2 3
25 20 30
1
2.000 Ɛ
30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3

Determinada a nova solução, 25 20 30


1
repetir o teste de otimalidade 2.000 Ɛ
para verificar se a solução é 30 25 25
ótima U 2
i 500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
Variáveis Básicas:
25 20 30
onde existem valores 1
2.000 Ɛ
30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X12: 20 – U1 – V2 = 0
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
1 2 3
X12: 20 – U1 – V2 = 0
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
O sistema possui:
3
5 equações e 1.500
6 incógnitas
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0 Arbitra-se:
1 2 3
X12: 20 – U1 – V2 = 0 U1 = 0, ou Ui = 0 na linha
X22: 25 – U2 – V2 = 0 onde houver mais 25variáveis 20 30
1
básicas (variáveis ≠ 0) 2.000
X23: 25 – U2 – V3 = 0 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0
Fazendo U1 = 0, o sistema1 passa a ter:2 3
X12: 20 – U1 – V2 = 0
5 equações e 5 incógnitas,
25 sendo 20
possível 30
X22: 25 – U2 – V2 = 0 1
a solução e não havendo a necessidade da
X23: 25 – U2 – V3 = 0 inserção de uma variável 2.000
Ɛ Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0  U1 = 0
1 2 3
X12: 20 – U1 – V2 = 0
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – U1 – V1 = 0  U1 = 0
1 2 3
X12: 20 – U1 – V2 = 0
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: 25 – 0 – V1 = 0  U1 = 0; V1 = 25
1 2 3
X12: 20 – U1 – V2 = 0
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: 20 – U1 – V2 = 0
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: 20 – U1 – V2 = 0
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: 20 – 0 – V2 = 0  V2 = 20
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: 25 – U2 – V2 = 0 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: 25 – U2 – 20 = 0  U2 = 5 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: 25 – U2 – V3 = 0 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: 25 – 5 – V3 = 0  V3 = 20 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: 15 – U3 – V2 = 0 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: 15 – U3 – 20 = 0  U3 = – 5 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
20 15 23
3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
3
1.500
Variáveis Não Básicas:
onde não existem valores
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: 30 – U1 – V3 = 30 – 0 – 20 = 10 3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
X21: 30 – U2 – V1 = 30 – 5 – 25 = 0 1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
X21: = 0 1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
X21: = 0 1.500
X31: 20 – U3 – V1 = 20 – (–5) – 25 = 0
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
X21: = 0 1.500
X31: = 0
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
X21: = 0 1.500
X31: = 0
X33: 23 – U3 – V3 = 23 – (–5) – 20 = 8
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
X21: = 0 1.500
X31: = 0
X33: = 8
Teste Otimalidade
Exemplo – LCL Bicicletas

Variáveis Básicas: Vj
X11: U1 = 0; V1 = 25
1 2 3
X12: V2 = 20
25 20 30
X22: U2 = 5 1
X23: V3 = 20 2.000 Ɛ
X32: U3 = – 5 30 25 25
Ui 2
500 1.000
Variáveis Não Básicas:
20 15 23
X13: = 10 3
X21: = 0 1.500
X31: = 0
Solução É OTIMA!!!
Não existem valores negativos
X33: = 8
Teste Otimalidade
Exemplo – LCL Bicicletas

Solução: Vj
X11 = 2.000
1 2 3
X12 = Ɛ = 0
25 20 30
X22 = 500 1
X23 = 1.000 2.000 Ɛ
X32 = 1.500 30 25 25
Ui 2
500 1.000
Z = (25 x 2.000) + (20 x 0) +
20 15 23
(25 x 500) + (25 x 1.000) + 3
(15 x 1.500) 1.500
Teste Otimalidade
Exemplo – LCL Bicicletas

Vj
1 2 3
Solução:
25 20 30
X11 = 2.000 1
X22 = 500 2.000
X23 = 1.000 30 25 25
X32 = 1.500 Ui 2
500 1.000
20 15 23
Z* = 110.000 3
1.500
Bibliografia

• Os exemplos apresentados neste resumo foram elaborados com


base nos livros abaixo e no material de apoio gentilmente cedido
pela editora
Pesquisa Operacional
Problema de Transporte – Teste Otimalidade
Exercício

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Problema de Transporte
Exercício

Uns dos principais produtos da firma Lactosal é o leite. Os


pacotes de leites são empacotados em 3 fábricas e depois são
distribuídos de caminhão para quatro armazéns. Conhecendo os
custos de transporte, a procura prevista para cada armazém e as
capacidades de produção de cada fábrica, pretende-se
OTIMIZAR O PROGRAMA DE DISTRIBUIÇÃO DIÁRIO DO LEITE.
Problema de Transporte
Exercício

Os dados dos custos de uma carga de leite para cada


combinação fábrica-armazém e das ofertas (produção) e
procuras, em cargas de caminhão/dia, são os seguintes:
Pesquisa Operacional
10-Problema de Designação

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Problema de Designação

• ‘A melhor pessoa para a tarefa’ é uma descrição adequada do


problema de designação

• A situação pode ser ilustrada pela designação de trabalhadores


com graus variáveis de habilidade a determinadas tarefas

• Uma tarefa que combine com a habilidade de um trabalhador custa


menos do que uma tarefa para a qual o trabalhador não seja tão
habilidoso

• Também conhecido por Problema de Atribuição ou Alocação

• Visa determinar a maneira ótima de se alocar n trabalhadores à n


tarefas de modo que nenhuma tarefa deixe de ser executada e que
todas os trabalhadores tenham uma tarefa designada a eles
Problema de Designação
Problema Geral

Tarefas
1 2 ... n
1 c11 c12 ... C1n 1
2 c21 c22 ... C2n 1
Trabalhador
: : : : : :
n cn1 cn2 ... cnn 1
1 1 ... 1
Problema de Designação

• O problema de designação é, na realidade, um caso especial do


problema de transporte no qual os trabalhadores representam as
origens e as tarefas representam os destinos

• A quantidade fornecida (demandada) em cada origem (destino) é


exatamente igual a 1

• O custo de ‘transportar’ o trabalhador i para a tarefa j é Cij

• O problema de designação pode ser resolvido diretamente como


um problema de transporte comum
Problema de Designação

A formulação de um problema de designação deve satisfazer às


seguintes hipóteses:

1. Número de designados = Número de tarefas (n)


2. Deve-se atribuir a cada designado exatamente uma tarefa
3. Cada tarefa deve ser realizada exatamente por um designado
4. Há um custo associado ao designado i (i = 1, 2, ... , n) executando
a tarefa j (j = 1, 2, ... , n)
5. O objetivo é determinar como todas as n designações devem ser
feitas para minimizar o custo total

Obs. Designados “fantasmas” ou tarefas “fantasmas” frequentemente


podem ser utilizadas para atender às hipóteses acima
Algoritmo Húngaro

• O método Simplex de Transporte pode ser usado para resolver


problemas da designação

• Entretanto, o algoritmo (ou método húngaro) pode ser utilizado de


forma mais eficiente
Algoritmo Húngaro – Passos

1. Subtraia o menor número em cada linha de cada um dos números


da linha. (Isso é chamado redução de linhas). Introduza os
resultados em uma nova tabela

2. Subtraia o menor número em cada coluna da nova tabela de cada


um dos números da coluna. (Isso é denominado redução de
colunas). Introduza os resultados em outra tabela

3. Teste se é possível fazer uma designação ótima. Isso é feito


determinando-se o número mínimo de retas necessárias para
cobrir (isto é, cruzar) todos os zeros. Se o número de retas for
igual ao número de linhas, é possível termos um conjunto de
designações ótimo. Nesse caso, vá para o passo 6. Caso
contrário, prossiga no passo 4
Algoritmo Húngaro – Passos

4. Se o número de retas for menor que o número de linhas, modifique


a tabela da seguinte maneira:

a. Subtraia o menor número descoberto de cada um dos números


descobertos da tabela

b. Adicione o menor número descoberto aos números que se


encontram nas interseções de retas. Números que foram
cruzados, mas não se encontram nas interseções de retas são
transferidos sem alteração para a próxima tabela

5. Repita os passos 3 e 4 até se tomar possível um conjunto ótimo de


designações
Algoritmo Húngaro – Passos

6. Faça as designações uma de cada vez nas posições contendo


elementos zero
Comece com linhas ou colunas que tenham apenas um zero
Já que cada linha e coluna precisam receber exatamente uma
designação, risque tanto a linha quanto a coluna envolvidas após
cada designação ter sido feita
A seguir, prossiga nas linhas e colunas que ainda não foram
riscadas para selecionar a próxima designação, preferencialmente
dada àquela linha ou coluna que contenha apenas um zero que
não foi riscado
Continue até todas as linhas e colunas terem exatamente uma
designação e, portanto, terem sido cruzadas
Problema de Designação
Exemplo 1

Os três filhos de Joe Kline – John, Ficou combinado que os três


Karen e Terri – querem ganhar algum concordariam com a decisão do pai
dinheiro para gastar durante uma sobre quem executaria qual tarefa.
excursão da escola até o zoológico A Tabela a seguir resume as
local. O Sr. Klyne escolheu três propostas recebidas. Com base
tarefas para seus filhos: nessas informações, como o Sr.
1 – cortar a grama Klyne deve designar as tarefas?
2 – pintar a porta da garagem
Cortar Pintar Lavar
3 – lavar os carros da família
John $ 15 $ 10 $9
Para evitar a concorrência prevista
entre os irmãos, ele pediu que seus Karen $9 $ 15 $ 10
filhos apresentassem propostas Terri $10 $ 12 $8
(fechadas) do que eles consideravam
que fosse um pagamento justo para
cada uma das três tarefas
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $ 15 $ 10 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8

Antes de iniciar o algoritmo: Verificar se


Número de designados = Número de tarefas
Algoritmo Húngaro
Exemplo 1 – Solução

1º Passo: Redução de Linhas

Cortar Pintar Lavar


John $ 15 $ 10 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $ 15 $ 10 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8

Subtrair o menor número em


cada linha de cada um dos
números da linha
Algoritmo Húngaro
Exemplo 1 – Solução

Menor valor da linha 1

Cortar Pintar Lavar


John $ 15 $ 10 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

15 – 9 = 6
Cortar Pintar Lavar
John $ 15 $ 10 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

10 – 9 = 1

Cortar Pintar Lavar


John $6 $ 10 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

9–9=0

Cortar Pintar Lavar


John $6 $1 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

Menor valor da linha 2


Cortar Pintar Lavar
John $6 $1 $0
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

9–9=0
Cortar Pintar Lavar
John $6 $1 $0
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

15 – 9 = 6
Cortar Pintar Lavar
John $6 $1 $0
Karen $0 $ 15 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

10 – 9 = 1
Cortar Pintar Lavar
John $6 $1 $0
Karen $0 $6 $ 10
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $10 $ 12 $8
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $10 $ 12 $8

Menor valor da linha 3


Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $10 $ 12 $8

10 – 8 = 2
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $ 12 $8

12 – 8 = 4
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $8

8–8=0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

2º Passo: Redução de Colunas

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0

Subtrair o menor número em


cada coluna de cada um dos
números da coluna
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0

Menor valor da coluna 1


Algoritmo Húngaro
Exemplo 1 – Solução

6–0=6

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 0 – 0$
= 01 $0
Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
$0 2 – 0$
= 26 $1
Karen
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0
Menor valor da coluna 2
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar 1 –Lavar


1=0

John $6 $1 $0
Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 6 – 1 =$50

Karen $0 $6 $1
Terri $2 $4 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $4 $0

4–1=3
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Menor valor da coluna 3
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


$6 $0 $0 0–0=0
John
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
$0 $5 $1 1–0=1
Karen
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0 0–0=0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

3º Passo: Testar se é possível


fazer uma designação ótima. Isso
é feito determinando-se o número
mínimo de retas necessárias para Cortar Pintar Lavar
cobrir (isto é, cruzar) todos os zeros
John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0

número de retas = número de linhas


Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0

Se o número de retas for igual ao


número de linhas, é possível termos
um conjunto de designações ótimo

Siga para o 6º Passo do algoritmo


Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0

6º Passo: Efetuar as designações


uma de cada vez nas posições
contendo elementos zero
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0

Iniciar com linhas ou colunas que


tenham apenas um zero
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0

Já que cada linha e coluna


precisam receber exatamente uma
designação, riscar tanto a linha
quanto a coluna envolvidas após
cada designação ter sido feita
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0

Já que cada linha e coluna


precisam receber exatamente uma
designação, riscar tanto a linha
quanto a coluna envolvidas após
cada designação ter sido feita
Algoritmo Húngaro
Exemplo 1 – Solução
Prosseguir nas linhas e colunas que
ainda não foram riscadas para
selecionar a próxima designação,
preferencialmente dada àquela linha
ou coluna que contenha apenas um
zero que ainda não foi riscado Cortar Pintar Lavar
John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0

Continuar até todas as linhas


e colunas terem exatamente
uma designação e, portanto,
terem sido cruzadas
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $6 $0 $0
Karen $0 $5 $1
Terri $2 $3 $0
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar Cortar Pintar Lavar


John $ 15 $ 10 $9 John $6 $0 $0
Karen $9 $ 15 $ 10 Karen $0 $5 $1
Terri $10 $ 12 $8 Terri $2 $3 $0

Quadro Original do Problema Quadro contendo as designações


contendo os custos para cada
designação
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar Cortar Pintar Lavar


John $ 15 $ 10 $9 John $6 $0 $0
Karen $9 $ 15 $ 10 Karen $0 $5 $1
Terri $10 $ 12 $8 Terri $2 $3 $0

Quadro Original do Problema Quadro contendo as designações


contendo os custos para cada
designação
Algoritmo Húngaro
Exemplo 1 – Solução

Cortar Pintar Lavar


John $ 15 $ 10 $9
Karen $9 $ 15 $ 10
Terri $10 $ 12 $8
Solução do Problema:

John vai Pintar: custo $10


Karen vai Cortar: custo $9
Terri vai Lavar: custo $8

Custo total Z* = 9 + 10 + 8 = $27


Problema de Designação
Exemplo 2

Suponha que a situação discutida


Tarefas
no exemplo anterior seja estendida
para quatro filhos e quatro tarefas Filhos 1 2 3 4
1 $1 $4 $6 $3
A Tabela a seguir resume as
2 $9 $7 $ 10 $9
propostas recebidas.
3 $4 $5 $ 11 $7
Com base nessas informações,
4 $8 $7 $8 $5
como o Sr. Klyne deve designar as
tarefas?
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas
Filhos 1 2 3 4
1 $1 $4 $6 $3
2 $9 $7 $ 10 $9
3 $4 $5 $ 11 $7
4 $8 $7 $8 $5
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas
Filhos 1 2 3 4
1 $1 $4 $6 $3
2 $9 $7 $ 10 $9
3 $4 $5 $ 11 $7
4 $8 $7 $8 $5

1º Passo: Redução de Linhas


Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas Tarefas

Filhos 1 2 3 4 Filhos 1 2 3 4

1 $1 $4 $6 $3 1 $0 $3 $5 $2
2 $9 $7 $ 10 $9 2 $2 $0 $3 $2
3 $4 $5 $ 11 $7 3 $0 $1 $7 $3
4 $8 $7 $8 $5 4 $3 $2 $3 $0

1º Passo: Redução de Linhas


Algoritmo Húngaro
Exemplo 2 – Solução
Tarefas

Filhos 1 2 3 4

1 $0 $3 $5 $2
2 $2 $0 $3 $2
3 $0 $1 $7 $3
4 $3 $2 $3 $0

2º Passo: Redução
Tarefas de Colunas

Filhos 1 2 3 4

1 $0 $3 $2 $2
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4 3º Passo: Teste


designação
1 $0 $3 $2 $2
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $3 $2 $2
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0

número de retas < número de linhas


Então, NÃO é possível termos um
conjunto de designações ótimo
Seguir para o 4º passo do algoritmo
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $3 $2 $2
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
4º passo: Subtrair o menor número
descoberto de cada um dos
números descobertos da tabela
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas
3–1=2
Filhos 1 2 3 4

1 $0 $3 $2 $2
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas
2–1=1
Filhos 1 2 3 4

1 $0 $2 $2 $2
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4 2–1=1

1 $0 $2 $1 $2
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4 2–1=1

1 $0 $2 $1 $1
2 $2 $0 $0 $2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $2 $0 $0 $2
3–1=2
3 $0 $1 $4 $3
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $2 $0 $0 $2
3 $0 $1 $4 $2
4 $3 $2 $0 4–$
1 =03
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $2 $0 $0 $2
3 $0 $1 $3 $2
4 $3 $ 2 1 – 1 =$00 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $2 $0 $0 $2
3 $0 $0 $3 $2
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $2 $0 $0 $2
3 $0 $0 $3 $2
4 $3 $2 $0 $0

Adicione o menor número descoberto


aos números que se encontram nas
interseções de retas.
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 2 + 1$=23 $1 $1
2 $2 $0 $0 $2
3 $0 $0 $3 $2
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $3 $0 $0 $2
3 $0 3 + 1$=04 $3 $2
4 $3 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $3 $0 $0 $2
3 $0 $0 $3 $2
4 $4 $2 $0 $0

Números que foram cruzados, mas não


se encontram nas interseções de retas
são transferidos sem alteração para a
próxima tabela
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1 Repita os passos 3 e 4
até se tomar possível
2 $3 $0 $0 $2 um conjunto ótimo de
designações
3 $0 $0 $3 $2
4 $4 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1 3º Passo: Teste
2 designação
$3 $0 $0 $2
3 $0 $0 $3 $2
4 $4 $2 $0 $0
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $0 $2 $1 $1
2 $3 $0 $0 $2
3 $0 $0 $3 $2
4 $4 $2 $0 $0

número de retas = número de linhas


Então, é possível termos um conjunto de
designações ótimo
Siga para o 6º Passo do algoritmo
Algoritmo Húngaro
Exemplo 2 – Solução

Efetuando a designação:
Tarefas

Efetuar as designações uma de cada vez nas Filhos 1 2 3 4


posições contendo elementos zero
1 $0 $2 $1 $1
Iniciar com linhas ou colunas que tenham apenas
um zero
2 $3 $0 $0 $2
Riscar tanto a linha quanto a coluna envolvidas
após cada designação ter sido feita
3 $0 $0 $3 $2
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 4
designação, preferencialmente dada àquela linha
$4 $2 $0 $0
ou coluna que contenha apenas um zero que
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 2 – Solução

Efetuando a designação:
Tarefas

Efetuar as designações uma de cada vez nas Filhos 1 2 3 4


posições contendo elementos zero
1 $0 $2 $1 $1
Iniciar com linhas ou colunas que tenham apenas
um zero
2 $3 $0 $0 $2
Riscar tanto a linha quanto a coluna envolvidas
após cada designação ter sido feita
3 $0 $0 $3 $2
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 4
designação, preferencialmente dada àquela linha
$4 $2 $0 $0
ou coluna que contenha apenas um zero que
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 2 – Solução

Efetuando a designação:
Tarefas

Efetuar as designações uma de cada vez nas Filhos 1 2 3 4


posições contendo elementos zero
1 $0 $2 $1 $1
Iniciar com linhas ou colunas que tenham apenas
um zero
2 $3 $0 $0 $2
Riscar tanto a linha quanto a coluna envolvidas
após cada designação ter sido feita
3 $0 $0 $3 $2
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 4
designação, preferencialmente dada àquela linha
$4 $2 $0 $0
ou coluna que contenha apenas um zero que
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 2 – Solução

Efetuando a designação:
Tarefas

Efetuar as designações uma de cada vez nas Filhos 1 2 3 4


posições contendo elementos zero
1 $0 $2 $1 $1
Iniciar com linhas ou colunas que tenham apenas
um zero
2 $3 $0 $0 $2
Riscar tanto a linha quanto a coluna envolvidas
após cada designação ter sido feita
3 $0 $0 $3 $2
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 4
designação, preferencialmente dada àquela linha
$4 $2 $0 $0
ou coluna que contenha apenas um zero que
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 2 – Solução

Efetuando a designação:
Tarefas

Efetuar as designações uma de cada vez nas Filhos 1 2 3 4


posições contendo elementos zero
1 $0 $2 $1 $1
Iniciar com linhas ou colunas que tenham apenas
um zero
2 $3 $0 $0 $2
Riscar tanto a linha quanto a coluna envolvidas
após cada designação ter sido feita
3 $0 $0 $3 $2
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 4
designação, preferencialmente dada àquela linha
$4 $2 $0 $0
ou coluna que contenha apenas um zero que
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas Tarefas

Filhos 1 2 3 4 Filhos 1 2 3 4

1 $1 $4 $6 $3 1 $0 $2 $1 $1
2 $9 $7 $ 10 $9 2 $3 $0 $0 $2
3 $4 $5 $ 11 $7 3 $0 $0 $3 $2
4 $8 $7 $8 $5 4 $4 $2 $0 $0

Quadro Original do Problema Quadro contendo as designações


contendo os custos para cada
designação
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas Tarefas

Filhos 1 2 3 4 Filhos 1 2 3 4

1 $1 $4 $6 $3 1 $0 $2 $1 $1
2 $9 $7 $ 10 $9 2 $3 $0 $0 $2
3 $4 $5 $ 11 $7 3 $0 $0 $3 $2
4 $8 $7 $8 $5 4 $4 $2 $0 $0

Quadro Original do Problema Quadro contendo as designações


contendo os custos para cada
designação
Algoritmo Húngaro
Exemplo 2 – Solução

Tarefas

Filhos 1 2 3 4

1 $1 $4 $6 $3
2 $9 $7 $ 10 $9
3 $4 $5 $ 11 $7 Solução do Problema:
4 $8 $7 $8 $5 Filho 1 – Tarefa 1: custo $ 1
Filho 2 – Tarefa 3: custo $ 10
Filho 3 – Tarefa 2: custo $ 5
Filho 4 – Tarefa 4: custo $ 5

Custo total Z* = 1 + 10 + 5 + 5 = $ 21
Problema de Designação
Exemplo 3
A JOB SHOP COMPANY adquiriu três novas máquinas de tipos diferentes
Há quatro locais disponíveis na oficina em que uma máquina poderia ser instalada
Alguns desses locais são mais interessantes que outros para determinadas máquinas
em virtude da proximidade com centros de trabalho que terão um fluxo de trabalho
pesado para essas máquinas e vice-versa
Não haverá nenhum fluxo de trabalho entre as máquinas novas
Assim, o objetivo é destinar as máquinas novas aos locais disponíveis para minimizar o
custo total de manipulação de materiais
O custo estimado em dólares por hora da manipulação de materiais envolvendo cada
uma das máquinas é dado na Tabela a seguir para as respectivas localizações
O local 2 não é considerado adequado para a máquina 2; portanto, não é fornecido
nenhum custo para esse caso
Problema de Designação
Exemplo 3

Local
Máquinas 1 2 3 4
1 13 16 12 11
2 15 - 13 20
3 5 7 10 6
Problema de Designação
Exemplo 3

Local
Máquinas 1 2 3 4
1 13 16 12 11
2 15 - 13 20
3 5 7 10 6

Como existem menos máquinas


que locais, torna-se necessário a
inclusão de variáveis dummy
Problema de Designação
Exemplo 3

Local
Máquinas 1 2 3 4
1 13 16 12 11
2 15 - 13 20
3 5 7 10 6
4 0 0 0 0
Problema de Designação
Exemplo 3

Local
Máquinas 1 2 3 4
1 13 16 12 11
2 15 M 13 20
3 5 7 10 6
4 0 0 0 0

Como o local 2 não é considerado adequado


para a máquina 2, deve ser inserido um valor
muito grande para que não ocorra designação
da máquina 2 para o local 2
Problema de Designação
Exemplo 3

Local
Máquinas 1 2 3 4
1 13 16 12 11
2 15 M 13 20
3 5 7 10 6
4 0 0 0 0
Algoritmo Húngaro
Exemplo 3 – Solução

Local Local
Máquinas 1 2 3 4 Máquinas 1 2 3 4
1 13 16 12 11 1 2 5 1 0
2 15 M 13 20 2 2 M 0 7
3 5 7 10 6 3 0 2 5 1
4 0 0 0 0 4 0 0 0 0

1º Passo: Redução de Linhas


Algoritmo Húngaro
Exemplo 3 – Solução
Local
Máquinas 1 2 3 4
1 2 5 1 0
2 2 M 0 7
3 0 2 5 1
4 0 0 0 0

2º Passo: Redução de Colunas

Local
Máquinas 1 2 3 4
1 2 5 1 0
2 2 M 0 7
3 0 2 5 1
4 0 0 0 0
Algoritmo Húngaro
Exemplo 3 – Solução

Local
Máquinas 1 2 3 4
1 2 5 1 0
2 2 M 0 7
3 0 2 5 1
4 0 0 0 0

3º Passo: Teste
designação
Algoritmo Húngaro
Exemplo 3 – Solução

Local
Máquinas 1 2 3 4
1 2 5 1 0
2 2 M 0 7
3 0 2 5 1
4 0 0 0 0

número de retas = número de linhas


Então, é possível termos um conjunto de
designações ótimo
Siga para o 6º Passo do algoritmo
Algoritmo Húngaro
Exemplo 3 – Solução

Efetuando a designação:

Efetuar as designações uma de cada vez nas


posições contendo elementos zero Local
Iniciar com linhas ou colunas que tenham apenas
Máquinas 1 2 3 4
um zero
Riscar tanto a linha quanto a coluna envolvidas 1 2 5 1 0
após cada designação ter sido feita
2 2 M 0 7
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 3 0 2 5 1
designação, preferencialmente dada àquela linha
ou coluna que contenha apenas um zero que 4 0 0 0 0
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 3 – Solução

Efetuando a designação:

Efetuar as designações uma de cada vez nas


posições contendo elementos zero Local
Iniciar com linhas ou colunas que tenham apenas
Máquinas 1 2 3 4
um zero
Riscar tanto a linha quanto a coluna envolvidas 1 2 5 1 0
após cada designação ter sido feita
2 2 M 0 7
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 3 0 2 5 1
designação, preferencialmente dada àquela linha
ou coluna que contenha apenas um zero que 4 0 0 0 0
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 3 – Solução

Efetuando a designação:

Efetuar as designações uma de cada vez nas


posições contendo elementos zero Local
Iniciar com linhas ou colunas que tenham apenas
Máquinas 1 2 3 4
um zero
Riscar tanto a linha quanto a coluna envolvidas 1 2 5 1 0
após cada designação ter sido feita
2 2 M 0 7
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 3 0 2 5 1
designação, preferencialmente dada àquela linha
ou coluna que contenha apenas um zero que 4 0 0 0 0
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 3 – Solução

Efetuando a designação:

Efetuar as designações uma de cada vez nas


posições contendo elementos zero Local
Iniciar com linhas ou colunas que tenham apenas
Máquinas 1 2 3 4
um zero
Riscar tanto a linha quanto a coluna envolvidas 1 2 5 1 0
após cada designação ter sido feita
2 2 M 0 7
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 3 0 2 5 1
designação, preferencialmente dada àquela linha
ou coluna que contenha apenas um zero que 4 0 0 0 0
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 3 – Solução

Efetuando a designação:

Efetuar as designações uma de cada vez nas


posições contendo elementos zero Local
Iniciar com linhas ou colunas que tenham apenas
Máquinas 1 2 3 4
um zero
Riscar tanto a linha quanto a coluna envolvidas 1 2 5 1 0
após cada designação ter sido feita
2 2 M 0 7
Prosseguir nas linhas e colunas que ainda não
foram riscadas para selecionar a próxima 3 0 2 5 1
designação, preferencialmente dada àquela linha
ou coluna que contenha apenas um zero que 4 0 0 0 0
ainda não tenha sido riscado
Continuar até todas as linhas e colunas terem
exatamente uma designação e, portanto, terem
sido cruzadas
Algoritmo Húngaro
Exemplo 3 – Solução

Local Local
Máquinas 1 2 3 4 Máquinas 1 2 3 4
1 13 16 12 11 1 2 5 1 0
2 15 M 13 20 2 2 M 0 7
3 5 7 10 6 3 0 2 5 1
4 0 0 0 0 4 0 0 0 0

Quadro Original do Problema Quadro contendo as designações


contendo os custos para cada
designação
Algoritmo Húngaro
Exemplo 3 – Solução

Local Local
Máquinas 1 2 3 4 Máquinas 1 2 3 4
1 13 16 12 11 1 2 5 1 0
2 15 M 13 20 2 2 M 0 7
3 5 7 10 6 3 0 2 5 1
4 0 0 0 0 4 0 0 0 0

Quadro Original do Problema Quadro contendo as designações


contendo os custos para cada
designação
Algoritmo Húngaro
Exemplo 3 – Solução

Local
Máquinas 1 2 3 4
1 13 16 12 11
2 15 - 13 20
3 5 7 10 6
4 0 0 0 0
Solução do Problema:
Máquina 1 – Local 4: custo $ 11
Máquina 2 – Local 3: custo $ 13
Máquina 3 – Local 1: custo $ 5
Máquina 4 – Local 2: custo $ 0

Custo total Z* = 11 + 13 + 5 + 0 = $ 29
Bibliografia

• Os exemplos apresentados neste resumo foram elaborados com


base nos livros abaixo e no material de apoio gentilmente cedido
pela editora
Pesquisa Operacional
10-Problema de Designação
Exercícios

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Problema de Designação
Exercício 1

Uma Construtora tem quatro Como devem ser transportadas as


grandes escavadeiras localizados escavadeiras para os locais de
em quatro garages diferentes construção de forma a minimizar a
distância total percorrida?
As escavadeiras devem ser
transportados a quatro diferentes
locais de construção Local de Construção
Escavadeira 1 2 3 4
As distâncias entre as
escavadeiras e os locais de 1 90 75 75 80
construção são dadas, em Km, na 2 35 85 55 65
tabela a seguir
3 125 95 90 105

4 45 110 95 115
Problema de Designação
Exercício 2

Uma faculdade pretende instalar Como minimizar o custo da instalação


aparelhos de ar-condicionado em dos aparelhos de ar-condicionado?
três de seus prédios num período
de uma semana em que
permanecerá fechada e convida três
firmas para submeter orçamentos
Orçamentos - Prédios
para o trabalho envolvido em cada
um dos três prédios Empresas 1 2 3
1 53 96 37
Na Tabela a seguir, aparecem
2 47 87 41
listadas as propostas de orçamento
que a faculdade recebeu (em 3 60 92 36
unidade de $ 1000,00)
Pesquisa Operacional
Análise de Sensibilidade

Prof. Vinicius De Filippo


vinicius.filippo@academico.domhelder.edu.br
Análise de Sensibilidade

Em Programação Linear, os parâmetros (dados de entrada) do modelo


podem mudar

Analise de sensibilidade:
Averiguar o impacto dessa incerteza sobre a qualidade da
solução ótima
Análise de Sensibilidade

A JobCo produz dois produtos em duas máquinas


Uma unidade do produto 1 requer duas horas na máquina 1 e uma
hora na máquina 2
Para o produto 2, uma unidade requer uma hora na máquina 1 e três
horas na máquina 2
As receitas por unidade dos produtos 1 e 2 são $30 e $20,
respectivamente
O tempo de processamento diário disponível para cada máquina é de
oito horas
A empresa pretende otimizar o seu lucro
JobCo – Modelo PL

Max Z  30 x1  20 x2

s.a.
2 x1  x2  8 ( Máquina 1)
x1  3x2  8 ( Máquina 2)

x1 , x2  0
JobCo – Modelo PL

Max Z  30 x1  20 x2

s.a.
2 x1  x2  8 ( Máquina 1)
x1  3x2  8 ( Máquina 2)

x1 , x2  0
Análise de Sensibilidade

Ideia geral da análise de sensibilidade


considerando dois casos:
Análise de Sensibilidade

1. Sensibilidade da solução ótima às variações no


lucro unitário ou no custo unitário (coeficientes da
função objetivo)
Max Z  30 x1  20 x2

s.a.
2 x1  x2  8 ( Máquina 1)
x1  3x2  8 ( Máquina 2)

x1 , x2  0
Análise de Sensibilidade

2. Sensibilidade da solução ótima às variações na


disponibilidade dos recursos (lado direito ou RHS
das restrições)
Max Z  30 x1  20 x2

s.a.
2 x1  x2  8 ( Máquina 1)
x1  3x2  8 ( Máquina 2)

x1 , x2  0
Análise de Sensibilidade

Caso 1:

variações no lucro unitário ou no custo unitário


(coeficientes da função objetivo)
Análise de Sensibilidade

Max Z = 30 x1 + 20 x2
Análise de Sensibilidade

Max Z = 6,7 x1 + 20 x2
Análise de Sensibilidade

Max Z = 30 x1 + 20 x2
Análise de Sensibilidade

Max Z = 39 x1 + 20 x2
Análise de Sensibilidade

Max Z = 30 x1 + 20 x2
Análise de Sensibilidade

Max Z = 30 x1 + 16 x2
Análise de Sensibilidade

Max Z = 30 x1 + 20 x2
Análise de Sensibilidade

Max Z = 30 x1 + 89 x2
Análise de Sensibilidade

• As retas obtidas para as restrições das máquinas 1 e 2 e para a


função objetivo, pertencem a uma mesma família de retas tendo um
ponto comum entre elas (x1 = 3,2 e x2 = 1,6)

• A diferença entre elas está no coeficiente angular

• Enquanto o coeficiente angular da função objetivo estiver entre os


coeficientes angulares das retas que determinam a solução ótima,
esta não se alterará

• No caso da JobCo a solução ótima não será alterada desde que os


coeficientes c1 e c2 estejam dentro das faixas:

6,66 < c1 < 40


15 < c2 < 90
Análise de Sensibilidade

• Pergunta 1:
– Qual é o ganho unitário para cada um dos produtos 1 e 2, na
receita da JobCo?
Análise de Sensibilidade

• Pergunta 1:
– Qual é o ganho unitário para cada um dos produtos 1 e 2, na
receita da JobCo?

• Resposta:
– Alterando c1: $ 3,2 / unidade do produto 1
– Alterando c2: $ 1,6 / unidade do produto 2
Análise de Sensibilidade

• Pergunta 2:
– Quais devem ser os aumentos e reduções máximas permitidas
nas receitas unitárias dos produtos da JobCo, de forma a manter
a solução ótima?

Importante:
Cair fora da faixas máximas de aumento/redução permitidas,
não significa que o problema não tenha mais solução ótima

Significa apenas que não existem informações suficientes para


uma tomada de decisão imediata
Análise de Sensibilidade

• Pergunta 2:
– Quais devem ser os aumentos e reduções máximas permitidas
nas receitas unitárias dos produtos da JobCo, de forma a manter
a solução ótima?
Análise de Sensibilidade

• Pergunta 2:
– Quais devem ser os aumentos e reduções máximas permitidas
nas receitas unitárias dos produtos da JobCo, de forma a manter
a solução ótima?

• Resposta:
c1: Aumento máximo: < 10
c1: Redução máxima: < 23,33

c2: Aumento máximo: < 70


c2: Redução máxima: < 5
Análise de Sensibilidade

• Pergunta 3:
– Qual o produto mais rentável para a JobCo?
Análise de Sensibilidade

• Pergunta 3:
– Qual o produto mais rentável para a JobCo?

• Resposta:
– Depende do quanto é possível aumentar no preço de venda de
cada produto
– Supondo que é possível aumentar em $ 30 a receita individual
de cada produto:
c1 (aumento máximo permitido < 10): 10 x $ 3,2 = total $ 32
c2 (aumento máximo permitido < 70): 30 x $ 1,6 = total $ 48
Análise de Sensibilidade

Caso 2:

variações na disponibilidade dos recursos


(lado direito ou RHS das restrições)
JobCo – Modelo PL

• Aumentando capacidade da máquina 1:

Max Z  30 x1  20 x2 Max Z  30 x1  20 x2

s.a. s.a.
2 x1  x2  8 ( Máquina 1) 2 x1  x2  9 ( Máquina 1)
x1  3x2  8 ( Máquina 2) x1  3x2  8 ( Máquina 2)
x1 , x2  0 x1 , x2  0
Análise de Sensibilidade

Restrição 1: 2x1 + x2 ≤ 8
Análise de Sensibilidade

Restrição 1: 2x1 + x2 ≤ 9
Análise de Sensibilidade

Resumo (Máquina 1):

• Uma unidade de aumento (redução) na capacidade da


máquina 1 aumentará (reduzirá) a receita em $14

• Assim, a taxa de variação da função objetivo ou o preço


sombra para Máquina 1 é $14

• 2,67 horas ≤ Capacidade da Máquina 1 ≤ 16 horas


Análise de Sensibilidade

Restrição 2: x1 + 3x2 ≤ 8
Análise de Sensibilidade

Restrição 2: x1 + 3x2 ≤ 9
Análise de Sensibilidade

Resumo (Máquina 2):

• Uma unidade de aumento (redução) na capacidade da


máquina 2 aumentará (reduzirá) a receita em $2

• Assim, a taxa de variação da função objetivo ou o preço


sombra para Máquina 2 é $2

• 4 horas ≤ Capacidade da Máquina 2 ≤ 24 horas


Análise de Sensibilidade

• Pergunta 1:
– Se a JobCo puder aumentar a capacidade de ambas as
máquinas, qual delas deve receber maior prioridade?
Análise de Sensibilidade

• Pergunta 1:
– Se a JobCo puder aumentar a capacidade de ambas as
máquinas, qual delas deve receber maior prioridade?

• Resposta:
– Os preços sombra para as máquinas 1 e 2 são $14/hora e
$2/hora
– Significa que cada hora adicional da máquina 1 resultará em
um aumento de $14 na receita, em comparação com apenas $2
para a máquina 2
– Por isso, a prioridade deve ser a máquina 1
Análise de Sensibilidade

• Pergunta 2:
– É dada uma sugestão para aumentar a capacidade das
máquinas a um custo adicional de $ 10/hora. Isso é
aconselhável?
Análise de Sensibilidade

• Pergunta 2:
– É dada uma sugestão para aumentar a capacidade das
máquinas a um custo adicional de $ 10/hora. Isso é
aconselhável?

• Resposta:
– Para a máquina 1, a receita adicional por hora passaria para:
$14 - $10 = $ 4/hora
– Para a máquina 2, a receita adicional por hora passaria para:
$2 - $10 = $ – 8/hora
– Portanto, somente a capacidade da máquina 1 poderia ser
aumentada
Análise de Sensibilidade

• Pergunta 3:
– Se a capacidade da máquina 1 for aumentada das atuais 8
horas para 13 horas, qual será o impacto desse aumento na
receita ótima?
Análise de Sensibilidade

• Pergunta 3:
– Se a capacidade da máquina 1 for aumentada das atuais 8
horas para 13 horas, qual será o impacto desse aumento na
receita ótima?

• Resposta:
– O preço sombra para a máquina 1 é $14 e é aplicável na faixa
(2,67 – 16) horas
– O aumento proposto para 13 horas cai dentro da faixa de
viabilidade
– Portanto, o aumento na receita é $ 14(13 – 8) = $70
– Assim o aumento total será $128 + $70 = $ 198
Análise de Sensibilidade

• Pergunta 4:
– Supondo que a capacidade da máquina 1 seja aumentada para
20 horas, qual será o impacto desse aumento sobre a receita
ótima?
Análise de Sensibilidade

• Pergunta 4:
– Supondo que a capacidade da máquina 1 seja aumentada para 20
horas, qual será o impacto desse aumento sobre a receita ótima?
• Resposta:
– A alteração proposta está fora da faixa (2,67 – 16) horas, para a
qual o preço sombra de $ 14 permanece aplicável
– Assim, só é possível tirar uma conclusão imediata em relação a um
aumento de até 16 horas
– Passando disso, serão necessários novos cálculos
Importante:
Cair fora da faixa de viabilidade não significa que o problema não
tenha nenhuma solução
Significa apenas que não existem informações suficientes para
uma tomada de decisão imediata
Capítulo 3
Resolvendo Problemas de Programação
Linear Utilizando Solver do Excel

slide 1 © 2009 Pearson. Todos os direitos reservados.


Habilitando o Solver do Excel

A habilitação do Solver pode sofrer pequenas variações


conforme a versão do Excel entretanto, o processo é
similar independentemente da versão utilizada

slide 2 © 2009 Pearson. Todos os direitos reservados.


Habilitando o Solver do Excel

1. Abrir uma planilha em 2. Em arquivo -> Opções


branco -> ARQUIVO

slide 3 © 2009 Pearson. Todos os direitos reservados.


Habilitando o Solver do Excel

3. Em Opções do Excel -> 4. Em Suplementos -> Gerenciar


Suplementos Suplementos do Excel -> Ir...

slide 4 © 2009 Pearson. Todos os direitos reservados.


Habilitando o Solver do Excel

5. Em Suplementos ->
Suplementos disponíveis:

6. Solver

slide 5 © 2009 Pearson. Todos os direitos reservados.


Resolvendo Problemas
Usando Solver do Excel

• Definindo o Modelo no Solver


• Obtendo a Solução

slide 6 © 2009 Pearson. Todos os direitos reservados.


Resolvendo Problemas
Usando Solver do Excel
• (Exemplo 1) Considere o Problema:
Max z = 3 x1 + 2 x 2
s.a.
x1 + 2 x2  6
2 x1 + x2  8
- x1 + x 2  1
x2  2
x1 ; x 2  0

slide 7 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Entrando os Parâmetros do Modelo

Max z = 3 x1 + 2 x 2
s.a.
x1 + 2 x2  6
2 x1 + x2  8
- x1 + x 2  1
x2  2
x1 ; x 2  0

slide 8 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Definindo a Célula do Valor Ótimo

slide 9 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Definindo as variáveis de Folga ou Excesso

slide 10 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Iniciando o Solver

slide 11 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Definindo a Célula Ótima (Z)

slide 12 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Definindo as Células Variáveis

slide 13 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Definindo as Restrições

slide 14 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Definindo Condições de Não Negatividade

slide 15 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Condições de Não Negatividade

slide 16 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Definindo o Problema de Programação Linear

slide 17 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Obtendo a Solução

slide 18 © 2009 Pearson. Todos os direitos reservados.


Usando Solver do Excel
Verificando a Resposta

slide 19 © 2009 Pearson. Todos os direitos reservados.


Solver do Excel
Relatório de Resposta

slide 20 © 2009 Pearson. Todos os direitos reservados.


Solver do Excel
Relatório de Sensibilidade

slide 21 © 2009 Pearson. Todos os direitos reservados.


Solver do Excel
Relatório de Limites

slide 22 © 2009 Pearson. Todos os direitos reservados.


Resolvendo Problemas
Usando Solver do Excel
• (Exemplo 2) Resolva o problema usando o solver do Excel:

Max 5x1 + 5x2 + 3x3


s. a.
x1 + 3x2 + x3  3
- x1 + 3x3  2
2 x1 - x2 + 2 x3  4
2 x1 + 3x2 - x3  2
x1 , x2 , x3  0
slide 23 © 2009 Pearson. Todos os direitos reservados.
Resolvendo Problemas
Usando Solver do Excel - Modelo

= somarproduto(B3:D3;B4:D4)

=somarproduto($B$4:$D$4;B9:D9)

slide 24 © 2009 Pearson. Todos os direitos reservados.


Definindo o Modelo no Solver

slide 25 © 2009 Pearson. Todos os direitos reservados.


Definindo o Modelo no Solver

slide 26 © 2009 Pearson. Todos os direitos reservados.


Obtendo a Solução

slide 27 © 2009 Pearson. Todos os direitos reservados.

Você também pode gostar