You are on page 1of 11

Casos Particulares de PL

O Sr. José, industrial agrícola produtor de tomates, realizou 3


contratos de venda num total 450 toneladas das 500 toneladas de
tomate produzidas nas suas duas quintas (200t na Quinta da
Alfarroba e 300t na Quinta da Beterraba). De acordo com os
contratos, tem que entregar 100t no armazém distribuir da cadeia
de supermercados Pronto, 200t na fábrica de enlatados Quelata e
150t na fábrica de sumos Ressumo.
Nuno Moreira - 2002/2003

Sabendo que os custos de transporte entre cada quinta e os locais


de entrega são os apresentados no quadro, qual o plano de
transportes que sugere.
[€/ton] P Q R
A 200 250 220
B 220 190 180
53

Formulação
• Definição das variáveis:
xij quantidade de tomate, em toneladas, a transportar da quinta i
(A,B) para o cliente j (P,Q,R) [ton]
F custo global de transporte da colheita [€]
• Função objectivo:
Min F = 200 x AP + 250 x AQ + 220 x AR + 240 xBP + 190 xBQ + 180 xBR
• Restrições:
Nuno Moreira - 2002/2003

x AP + x AQ + x AR ≤ 200 x AP + x AQ + x AR + x AF = 200
xBP + xBQ + xBR ≤ 300 xBP + xBQ + xBR + xBF = 300
x AP + xBP = 100 x AP + xBP = 100
x AQ + xBQ = 200 x AQ + xBQ = 200
x AR + xBR = 150 x AR + xBR = 150
xij ≥ 0 xij ≥ 0
54

27
Problema de Transportes – Formulação
• Definição das variáveis:
cij custo unitário de transporte de i para j
xij quantidade a transportar de i para j
F custo global do transporte
• Função objectivo:
Min F = ∑ ∑ cij ⋅ xij
i j
• Restrições: Problema com:
Nuno Moreira - 2002/2003

m origens
∑ xij = Oi n destinos
j

∑ xij = Pj (m x n) variáveis
i
(m + n –1) restrições linearmente
xij ≥ 0 independentes
(m + n –1) variáveis básicas
55

Problema de Transportes
• Resolução pelo simplex

x11 x12 4 X1n x21 x22 4 x2n 4 xm1 xm2 4 xmn TI


1 1 4 1 0 0 4 0 4 0 0 4 0 O1 u1
0 0 4 0 1 1 4 1 4 0 0 4 0 O2 u2
6 6 6 6 6 6 6 6 6 6
0 0 4 0 0 0 4 0 4 1 1 4 1 Om um
1 0 4 0 1 0 4 0 4 1 0 4 0 P1 v1
Nuno Moreira - 2002/2003

0 1 4 0 0 1 4 0 4 0 1 4 0 P2 v2
6 6 6 6 6 6 6 6 6 6
0 0 4 1 0 0 4 1 4 0 0 4 1 Pn vn
-F c11 c12 4 cin c21 C22 4 c2n 4 cm1 cm2 4 cmn 0
-F c11 c12 4 c1n c21 c22 4 c2n 4 cm1 cm2 4 cmn
-u1-v1 -u1-v2 -u1-vn -u2-v1 -u2-v2 -u2-vn -um-v1 -um-v2 -um-v2

Se xij é variável básica então cij-ui-vj=0


Se xij é variável não básica então c’ij=cij-ui-vj => c’ij ≥0 ∀ ij então a solução é óptima
56

28
Algoritmo dos Transportes
1º - Equilibrar o Problema

[€/ton] P Q R Fict Oferta

A 200 250 220 0 200t


Nuno Moreira - 2002/2003

B 220 190 180 0 300t

Procura 100t 200t 150t 50t 500t

57

Algoritmo dos Transportes


2º a) - Encontrar uma solução inicial possível
Método do Canto Noroeste
2.1 – Seleccionar a variável “livre” do canto superior esquerdo
2.2 – Atribuir o máximo possível a essa variável
2.3 – Se existirem variáveis “livres” voltar ao passo 2.1
2.4 – Verificar o número de variáveis básicas e definir variáveis básicas nulas se
necessário
P Q R Fict Oferta
Nuno Moreira - 2002/2003

100 100 – – xij


2 linhas A 200t
200 250 220 0 cij
4 colunas
8 variáveis
– 100 150 50
B 300t
2+4-1 = 5 variáveis 220 190 180 0
básicas
Procura 100t 200t 150t 50t 500t
F = 100x200+100x250+100x190+150x180+50x0 = 91 000 € 58

29
Algoritmo dos Transportes
2º b) - Encontrar uma solução inicial possível
Método dos Custos mínimos
2.1 – Seleccionar a variável “livre” com custo unitário mais baixo
2.2 – Atribuir o máximo possível a essa variável
2.3 – Se existirem variáveis “livres” voltar ao passo 2.1
2.4 – Verificar o número de variáveis básicas e definir variáveis básicas nulas se
necessário
P Q R Fict Oferta
Nuno Moreira - 2002/2003

100 50 – 50
2 linhas A 200t
200 250 220 0
4 colunas
8 variáveis
– 150 150 –
B 300t
2+4-1 = 5 variáveis 220 190 180 0
básicas
Procura 100t 200t 150t 50t 500t
F = 100x200+50x250+50x0+150x190+150x180 = 88 000 € 59

Algoritmo dos Transportes


3º – Calcular ui e vj se xij é variável básica tal que cij-ui-vj=0
2.1 – Arbitrar um valor qualquer para uma das constantes do conjunto {ui;vj}
2.2 – Para uma constante ui definida, procurar uma variável básica xij na linha i cuja
constante vj ainda não esteja definida ou para uma constante vi definida, procurar
uma variável básica xij na coluna j cuja constante uj ainda não esteja definida
2.3 – Calcular a constante ainda não definida através da expressão cij-ui-vj=0
2.4 – Voltar ao passo 2.2 até definir todas as constantes ui e vj

P Q R Fict Oferta
Nuno Moreira - 2002/2003

100 50 – 50
A 200t uA=0
200 250 220 0

– 150 150 –
B 300t uB=-60
220 190 180 0

Procura 100t 200t 150t 50t 500t


vP=200 vQ=250 vR=240 vF=0
60

30
Algoritmo dos Transportes
4º – Calcular C’ij e verificar se a solução é óptima
4.1 – Para as variáveis não básicas calcular c’ij através da expressão:
c’ij=cij-ui-vj
4.2 – A solução é óptima se ao minimizar/maximizar todos os coeficientes
c’ij forem positivos/negativos ou nulos
c’AR = cAR-uA-vR =220-0-240 = -20 c’AR<0 => solução não é
c’BP = cBP-uB-vP = 220-(-60)-200 = 80 óptima
c’BF = cBF-uB-vF = 0-(-60)-0 = 60
Nuno Moreira - 2002/2003

P Q R Fict Oferta
100 50 – 50
A 200t uA=0
200 250 220 0

– 150 150 –
B 300t uB=-60
220 190 180 0

Procura 100t 200t 150t 50t 500t


61
vP=200 vQ=250 vR=240 vF=0

Algoritmo dos Transportes


5º – Calcular nova solução
5.1 – Seleccionar a variável não básica cujo c’ij é o mais negativo/positivo para entrar
na base
5.2 – Adicionar ∆ à variável que entra na base
5.3 – Subtrair e adicionar ∆ às outras variáveis básicas para respeitar as restrições
5.4 – Definir ∆ como o maior valor possível tal que todas as variáveis sejam positivas
ou nulas
5.5 – A variável que definiu o valor de ∆ será a variável a sair da base
5.6 – Substituir o valor de ∆, calcular a nova solução e voltar ao 3º passo
Nuno Moreira - 2002/2003

P Q R Fict Oferta
100 50- ∆ – + ∆ 50
A 200t uA=0
200 250 220 0

– 150+∆ 150- ∆ –
B 300t uB=-60
220 190 180 0
∆ max=50
Procura 100t 200t 150t 50t 500t
62
vP=200 vQ=250 vR=240 vF=0

31
Algoritmo dos Transportes
3º – Calcular ui e vj tal que cij-ui-vj=0 se xij é variável básica
4º – Calcular c’ij=cij-ui-vj e verificar se a solução é óptima
P Q R Fict Oferta
100 – 50 50
A 200t uA=0
200 250 220 0

– 200 100 –
B 300t uB=-40
Nuno Moreira - 2002/2003

220 190 180 0

Procura 100t 200t 150t 50t 500t


vP=200 vQ=230 vR=220 vF=0

c’AQ = cAQ-uA-vQ =250-0-230 = 20


c’BP = cBP-uB-vP = 220-(-40)-200 = 60 solução óptima
c’BF = cBF-uB-vF = 0-(-40)-0 = 40

F = 100x200+50x220+50x0+200x190+100x180 = 87 000 € 63

Algoritmo dos Transportes – Análise Sensibilidade


Existem dúvidas quanto ao custo unitário de transporte entre a Quinta da Beterraba e a
fábrica de enlatados Quelata. Para que valores desse custo a solução encontrada se mantém
óptima ?

P Q R Fict Oferta
100 – 50 50
A 200t uA=0
200 250 220 0

– 200 100 –
B 300t uB=-40
Nuno Moreira - 2002/2003

220 cBQ 180 0

Procura 100t 200t 150t 50t 500t


vQ=
vP=200 vR=220 vF=0
cBQ+40
c’AQ=cAQ-uA-vQ=250-0-cBQ-40= 210-cBQ ≥ 0 solução é óptima se:
c’BP=cBP-uB-vP=220-(-40)-200= 60 ≥ 0 cBQ ≤ 210
c’BF=cBF-uB-vF=0-(-40)-0= 40 ≥ 0

64

32
Algoritmo dos Transportes – Análise Sensibilidade
Devido à queda de uma ponte não é possível efectuar a ligação entre a Quinta da Alfarroba
e a fábrica da Ressumo. A solução mantém-se? Qual a nova solução?

Atenção: Ao colocar P Q R Fict Oferta


um custo unitário
igual a M, a 100 – 50 50
respectiva variável A 200t uA=0
200 250 M 0
deve ser nula na
solução óptima – 200 100 – uB=
(método do Big M B 300t 180-M
Nuno Moreira - 2002/2003

para anular 220 190 180 0


variáveis) caso
contrário não existe
Procura 100t 200t 150t 50t 500t
solução possível vQ=
vP=200 vR=M vF=0
10+M
c’AQ=cAQ-uA-vQ=250-0-10-M= 240-M < 0
c’BP=cBP-uB-vP= 220-(180-M)-200 = M-160 solução não é óptima, xAQ
deve entrar para a base
c’BF=cBF-uB-vF=0-(180-M)-0 = M-180

65

Algoritmo dos Transportes – Análise Sensibilidade


A colheita da Quinta da Beterraba ainda não foi realizada sendo as 300t uma estimativa.
Para que valores da produção da Quinta da Beterraba a solução básica se mantém óptima ?

Atenção: Os valores P Q R Fict Oferta


de ui, vj e c’ij não se
alteram pelo que a 100 – 50- ∆ 50+ ∆
solução continuará a A 200t uA=0
200 250 220 0
ser óptima enquanto
a solução for – 200 100+∆ – 300t
possível B uB=-40
+∆
Nuno Moreira - 2002/2003

220 190 180 0

Procura 100t 200t 150t 50t+ ∆ 500t+∆


vP=200 vQ=230 vR=220 vF=0

xAR ≥ 0 ⇒ 50- ∆ ≥ 0
solução possível enquanto -50 ≤ ∆ ≤ 50
xAF ≥ 0 ⇒ 50+∆ ≥ 0
xBR ≥ 0 ⇒ 100+∆ ≥ 0 250t ≤ OB ≤ 350t

F = 100x200+(50- ∆)x220+(50+ ∆)x0+200x190+(100+ ∆)x180 = (87 000-40 ∆ ) € 66

33
Casos Particulares de PL
A Corrida de Carros
O André, o Bernardo, o Carlos, o Daniel e o Eduardo formam
uma equipa que vai fazer uma corrida de carros em 5 etapas em
que cada um executa uma das etapas. Durante os treinos, os
tempos obtidos por cada um em cada uma das etapas foram os
representados no quadro seguinte. Qual a etapa que cada um deve
executar de forma a obter o menor tempo de corrida para a
Nuno Moreira - 2002/2003

equipa?
André Bernardo Carlos Daniel Eduardo
Etapa 1 11 12 9 11 13
Etapa 2 9 8 10 7 11
Etapa 3 8 10 6 9 12
Etapa 4 5 9 7 6 8
Etapa 5 7 7 5 8 9
67

Formulação
• Definição das variáveis:
xij variável binária de afectação da etapa i (1,2,3,4,5) ao elemento
da equipa j (A,B,C,D,E) (=1 o elemento j executa a etapa i; =0 o
elemento j não realiza a etapa i)
F tempo da equipa para realizar a corrida
• Função objectivo: Min F = 11x1 A + 12 x1B + 9 x1C + 11x1D + 13x1E +
+ 9 x2 A + 8 x2 B + 10 x2C + 7 x2 D + 11x2 E
+ 8 x3 A + 10 x3 B + 6 x3C + 9 x3 D + 12 x3 E
+ 5 x4 A + 9 x 4 B + 7 x4 C + 6 x 4 D + 8 x4 E
Nuno Moreira - 2002/2003

• Restrições:
+ 7 x5 A + 7 x5 B + 5 x5C + 8 x5 D + 9 x5 E

x1 A + x2 A + x3 A + x4 A + x5 A = 1 x1 A + x1B + x1C + x1D + x1E = 1


x1B + x2 B + x3 B + x4 B + x5 B = 1 x 2 A + x 2 B + x 2 C + x2 D + x 2 E = 1
x1C + x2C + x3C + x4C + x5C = 1 x3 A + x3 B + x3C + x3 D + x3 E = 1
x1D + x2 D + x3 D + x4 D + x5 D = 1 x 4 A + x 4 B + x 4 C + x4 D + x 4 E = 1
x1E + x2 E + x3 E + x4 E + x5 E = 1 x5 A + x5 B + x5C + x5 D + x5 E = 1
xij ∈ {0;1} 68

34
Problema de Afectação – Formulação
• Definição das variáveis:
cij
custo de execução da tarefa i pelo elemento j
xij
variável binária (=1 tarefa i executada por j; =0 tarefa i não é
executada por j)
F custo total da afectação
• Função objectivo: Problema com:
n tarefas
Min F = ∑ ∑ cij ⋅ xij
Nuno Moreira - 2002/2003

i j n elementos
• Restrições: (n x n) variáveis
∑ xij = 1 Resolução
j

∑ xij = 1 •Simplex
i
•Algoritmo Transportes
xij ∈ {0;1}
•Algoritmo Húngaro
69

Algoritmo Húngaro A solução óptima de um


problema de afectação após
adicionar uma constante a uma
1º) Subtrair a cada linha o mínimo da linha linha ou coluna à matriz de
custos é uma solução óptima da
2º) Subtrair a cada coluna o mínimo da coluna matriz original
A B C D E É necessário que cada elemento execute
uma etapa ⇒ tempo adicional se lhe
1 11 12 9 11 13 atribuir a etapa em que é mais rápido

Tempo mínimo para a


2 9 8 10 7 11 A B C D E Σ
realização de cada etapa 3 8 10 6 9 12 0+ 1+ 0+ 0+ 3+ 4
4 5 9 7 6 8 1 9+ 2 2 0 2 1
Nuno Moreira - 2002/2003

5 7 7 5 8 9 2 7+ 2 0 3 0 1
A B C D E 3 6+ 2 3 0 3 3
1 9+ 2 3 0 2 4 4 5+ 0 3 2 1 0
2 7+ 2 1 3 0 4 5 5+ 2 1 0 3 1
3 6+ 2 4 0 3 6 Σ 32 36
4 5+ 0 4 2 1 3 Deverá resultar uma matriz com pelo menos um zero
em cada linha e em cada coluna.
5 5+ 2 2 0 3 4
Será possível seleccionar um zero em cada linha e 70
Σ 32 coluna ?

35
Algoritmo Húngaro
3º) Tentar afectar uma tarefa a cada elemento
3.1 Seleccionar a linha com menor número de zeros, enquadrar um e eliminar
os restantes zeros da linha e da coluna do zero enquadrado
3.2 Repetir 3.1 até não existir mais nenhum zero “livre”
3.3 Se foi enquadrado um zero por cada linha e por cada coluna então a
solução é uma solução óptima.
Nuno Moreira - 2002/2003

A B C D E
0+ 1+ 0+ 0+ 3+ 1º
1 9+ 2 2 0 2 1 2º
2 7+ 2 0 3
X
0 1 3º
X
3 6+ 2 3 0 3 3 Foram escolhidos 3 zeros dos 5 necessários
∴ a solução não é óptima
X
4 5+ 0 3 2 1 0
X
5 5+ 2 1 0 3 1
71

Algoritmo Húngaro
4º) Gerar mais zeros na matriz
4.1 Cortar com tantas rectas como o número de zeros enquadrados no passo
anterior todos os zeros da matriz
4.2 Escolher o menor valor da matriz do conjunto de elementos não cortados
pelas rectas anteriores como elemento pivot
4.3 Subtrair o elemento pivot a todas as colunas (ou linhas) e adicionar o
elemento pivot em cada uma das rectas do passo 4.1.
4.4 Voltar ao 3º passo
A B C D E A B C D E Σ
Nuno Moreira - 2002/2003

0+ 1+ 0+ 0+ 3+ 1+ 2+ 0+ 1+ 4+ 8
A B C D E
1 9+ 2 2 0 2 1 1 9+ 1 1 0 1 0
X
2 7+ 2 0 3 0 1 1 -P -P -P -P
2 6+ 2 0 4 0 1
X
3 6+ 2 3 0 3 3 2 +P 3 6+ 1 2 0 2 2
X 3 -P -P -P -P
4 5+ 0 3 2 1 0 4 4+ 0 3 3 1 0
X 4 +P
5 5+ 2 1 0 3 1 5 -P -P -P -P
5 5+ 1 0 0 2 0
Σ 30 38
Cortar todos os zeros com três rectas
72

36
Algoritmo Húngaro
3º Tentar afectar uma tarefa a cada elemento

A B C D E Σ A B C D E
1+ 2+ 0+ 1+ 4+ 8 1 11 12 9 11 13
X
1 9+ 1 1 0 1 0 2 9 8 10 7 11
X
2 6+ 2 0 4 0 1 1º 3 8 10 6 9 12
3 6+ 1 2 0 2 2 2º 4 5 9 7 6 8
X
4 4+ 0 3 3 1 0 3º 5 7 7 5 8 9
Nuno Moreira - 2002/2003

5 5+ 1 0
X
0 2
X
0 4º

Σ 30 38 1ª Etapa – Eduardo Tempo 13

Foram escolhidos 5 zeros dos 5 necessários 2ª Etapa – Daniel Tempo 7


∴ a solução é óptima 3ª Etapa – Carlos Tempo 6
4ª Etapa – André Tempo 5
5ª Etapa – Bernardo Tempo 7
Total 38
73

37

You might also like