Você está na página 1de 19

SIMPLEX

ACETATOS DE APOIO ÀS AULAS TEÓRICAS


2016-2017
MCO@ISEP.IPP.PT /PBG@ISEP.IPP.PT
MODELO
n
min z = ∑ c j x j Requisitos do modelo:
j =1 1. proporcionalidade
sujeito a : 2. aditividade
n 3. divisibilidade
∑a x
j =1
ij j = bi (i = 1,..., m)
4. determinismo dos coeficientes

x j ≥ 0 ( j = 1,..., n)
onde
x j variáveis de decisão
z função objectivo
c j coeficientes da função objectivo
aij coeficientes das restrições
bi ≥ 0 segundo membro da restrição i
FORMA MATRICIAL

min z = c x
sujeito a :
A x = b A ∈ Μ m×n
x ≥ 0 x ∈ Μ1×m

Interpretação económica do problema

x j nível da actividade j
z custo total
c j custo por unidade da actividade j
b i disponibilidade do recurso i
aij razão de consumo de recurso i por unidade de actividade j
COLOCAÇÃO DO PROBLEMA
NA FORMA ESTANDARDIZADA

Problemas de maximização  minimização

max z = − min ( − z )

Variáveis de decisão não-negativas

⊳ negativas ֏ substituir x j por x j = − x j +


⊳ sem restrições ֏ substituir x j por x j = x j + − x j −

Restrições de desigualdade

≤ ֏ adicionar variável de folga de modo a transformar


≥ ֏ subtrair variável de folga de modo a transformar
Problema
max z = x1 − 2 x2 + 3 x3
Alterações
suj.a :
Função objectivo
x1 − x2 ≥ 0
w = − z = − x1 + 2 x2 − 3 x3
x2 + x3 ≤ 2
− x1 + x3 = 0 Variáveis de decisão Forma estandardizada
x1 ∈ℜ x1 = x1+ − x1− min w = − x1+ + x1− + 2 x2 + 3 x3−
x2 ≥ 0
x3 = − x3− suj.a :
x3 ≤ 0 x1+ − x1− − x2 − s1 = 0
Variáveis de folga
x2 − x3− + s2 = 2
x1 − x2 − s1 = 0
− x1+ + x1− − x3− = 0
x2 + x3 + s2 = 2 x1+ , x1− , x2 , x3− , s1 , s2 ≥ 0
A CHAVE PARA O ALGORITMO SIMPLEX
min z = − x1 − 3x2 x2
sujeito a :
x1 + x2 ≤ 6  s1 = 3

x2 ≤ 3  s2 = 0
0  3
x1 , x2 ≥ 0 3  3  s = 0
  s2 = 0   1

s =0
z = −9 z = −12  2
min z = − x1 − 3x2 + 0s1 + 0s2
s1 = 0
sujeito a : x1 = 0
x1 + x2 + s1 =6
z=0 z = −6
x2 + s2 = 3
0  x2 = 0 6  x1
x1 , x2 , s3 , s4 ≥ 0 0  s = 6 0   s = 0
 1   1

 s2 = 3  s2 = 3
x1 x2 s1 s2 b  s1 = 6 
s = 3  básicas
s1 1 1 1 0 6  2 
SOLUÇÕES 
s2  0 1 0  x1 = 0
1 3
BÁSICAS 
 x2 = 0  não básicas
ADMISSÍVEIS 

x1 x2 s1 s2 b  x1 = 6 
s = 3  básicas
x1 1 1 1 0 6  2 
x1 x2 s1 s2 b 
s2  0 1 0  s1 = 0
1 3

1 1 1 0 6   x2 = 0  não básicas
0 1 0 1 3 
 
x1 x2 s1 s2 b  s1 = 3 
x = 3  básicas
s1 1 0 1 −1 3   2 

x2  0  x1 = 0
1 0 1 3

 s2 = 0  não básicas

x1 x2 s1 s2 b  x1 = 3 
x = 3  básicas
 2 
x1 1 0 1 −1 3  
 s1 = 0 
x2 0 1 0 1 3  s2 = 0  não básicas

ALGUMAS CONSIDERAÇÕES

• A colocação do problema de programação linear na forma


estandardizada conduz a um sistema indeterminado.

• Uma solução básica do problema, vértice da região de soluções


admissíveis, é uma das soluções do sistemas.
Nestas condições temos N variáveis não nulas (variáveis básicas), sendo
obrigatoriamente as outras nulas M-N (não básicas).

• A solução óptima do problema está naturalmente num dos vértices.

O objectivo do método Simplex é partir de uma solução básica admissível, e


sucessivamente caminhar para o óptimo, melhorando a solução, saltando
para os vértices vizinhos da região de soluções admissíveis.
Assim, a cada iteração, garante-se:
•cumprimento das restrições;
•não-negatividade das variáveis.
A ÁLGEBRA DO MÉTODO SIMPLEX - 1

s = 6
• solução básica inicial  1 • função objectivo z=0
 s2 = 3

 s1 = 6 − x1 − x2
Resolvendo o sistema: 
 s2 = 3 − x2

Substituindo na função objectivo: z = − x1 − 3 x2

Coeficientes

?
Qual das duas variáveis
não-básicas acarreta
 x1 → cɶx1 = −1
melhorias acrescidas na 
função objetivo  x2 → cɶx2 = −3

Próxima variável
básica é: x2
0 
0 
 
A ÁLGEBRA DO MÉTODO SIMPLEX - 2

x2 entra na base logo torna-se positivo ! Qual das duas variáveis


básicas sai da base

Verifique-se as consequências desta alteração nas restrições


?
não-básica
como os coeficientes associados a x3
 x1 + x2 + s1 = 6  x2 + s1 = 6 e x4 são positivos, o aumento em x2
 ⇔ 
 x2 + s2 = 3  x2 + s2 = 3 provoca uma diminuição de s1 e s2

Sai da base a primeira variável a anular-se... que é s2 !!!

 s1

 x2
A ÁLGEBRA DO MÉTODO SIMPLEX - 3
 s1 = 3
 x1 + s1 − s2 = 3 • solução básica 
Manipulando o sistema:   x2 = 3
 x2 + s2 = 3
• função objectivo z = −9

 s1 = 3 − x1 + s2
Resolvendo o sistema: 
 x2 = 3 − s2

Substituindo na função objetivo: z = − x1 − 3 ( 3 − s2 ) = −9 − x1 + 3s2

pois só o variar de x1 é
 x1 → cɶ x1 = −1 que trás benefícios para a
Coeficientes   entra na base x1 !
 s2 → cɶs2 = 3 função objectivo!
 0
3 
 

 x1 + s1 = 3
  sai da base s1 !
 x2 =3
A ÁLGEBRA DO MÉTODO SIMPLEX - 4
 x1 = 3
• solução básica 
 x1 + s1 − s2 = 3  x2 = 3
Manipulando o sistema: 
 x2 + s2 = 3 • função objectivo z = −12

 x1 = 3 − s1 + s2
Resolvendo o sistema: 
 x2 = 3 − s2

Substituindo na função objectivo: z = − ( 3 − s1 + s2 ) − 3 ( 3 − s2 ) = −12 + s1 + 2 s2

 s2 → cɶs1 = 1 Não podemos melhorar a


Coeficientes  s → cɶ = 2
 2 s2 função objectivo
 x1 = 3

 x2 = 3
z = −12
GRAFICAMENTE ..

x2

0  3
3  z = −9 3 z = −12
   

x1

0 
0  z=0
 
O QUADRO DO SIMPLEX
Variáveis de
Coeficientes decisão
da função
objectivo x1 x2  xm

simétrico da
-z C 0 função
objectivo

xB A b

Variáveis Coeficientes dos


básicas 2os membros das
restrições

Matriz dos
coeficientes
das restrições
x1 x2 s1 s2 b
-z -1 -3 0 0 0 cɶk = min ( cɶ j ) = −3 → entra x2
cɶ j <0
UM EXEMPLO:
s1 1 1 1 0 6
bɶr  bɶ  6 3
= min  i  =  ;  = 3 → sai s2
s2 0 1 0 1 3 aɶ rk aɶik >0  aɶik  1 1 

-z -1 0 0 3 9 cɶk = min ( cɶ j ) = −1 → entra x1


cɶ j <0

s1 1 0 1 -1 3
bɶr  bɶi  3
= min   =   = 3 → sai s1
pivotação da matriz ... x2 0 1 0 1 3 aɶ rk aɶik >0  aɶik  1 

-z 0 0 1 2 1 cɶk = min ( cɶ j ) → não há


cɶ j <0
2
pivotação da matriz ...
x1 1 0 1 -1 3 óptimo → z = -12

x2 0 1 0 1 3 x = 3
para  1
 x2 = 3
Início

Determinar solução
básica inicial

N
∃cɶ j < 0? Solução óptima

S
ALGORITMO cɶk = min ( cɶ j ) → entra xr

SIMPLEX
cɶ j <0

N
∃aɶik > 0? Solução ilimitada

bɶr  bɶ 
= min  i  → sai xr
aɶrk aɶik >0  aɶik 

Condensar a tabela
min z = − x1 − 3x 2
sujeito a:
x1 + x 2 ≤ 6 6

− x1 + 2 x 2 ≥ 8
com x1 , x 2 ≥ 0 5

x2
3

0
0 1 2 3 4 5
x1
min z = − x1 − 3 x2 min Z = − x1 − 3 x2
suj.a : x1 + x2 ≤ 6 suj.a : x1 + x2 + s1 =6
− x1 + 2 x2 ≥ 8 − x1 + 2 x2 − s2 =8
x1 , x2 ≥ 0 x1 , x2 , s1 , s2 ≥ 0

1ª fase

min W = a1
suj.a : x1 + x2 + s1 =6
− x1 + 2 x2 − s2 + a1 = 8
x1 , x2 , s1 , s2 , a1 ≥ 0
MÉTODO A DUAS FASES

6
 SOLUÇÃO DA 1ª FASE
5

 SOLUÇÃO DA 2ª FASE 4
(PROBLEMA ORIGINAL)

x2
3

0
0 1 2 3 4 5
x1

Você também pode gostar