Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Simplex.
OO método
método Simplex
Simplex éé um
um algoritmo
algoritmo que
que permite
permite resolver
resolver problemas
problemas
de Programação Linear.
de Programação Linear.
AAideia
ideiabásica
básicadodométodo
métodoSimplex
Simplexconsiste
consisteem
emresolver
resolverrepetidas
repetidasvezes
vezesum
umsistema
sistema
de
deequações
equaçõeslineares
linearespara
paraobter
obteruma
umasucessão
sucessãodedeSBA,
SBA,cada
cadauma
uma"melhor"
"melhor"do
doque
que
aaanterior, até se chegar a uma SBA óptima.
anterior, até se chegar a uma SBA óptima.
Cada
Cada nova
nova SBA
SBA éé obtida
obtida aa partir
partir da
da anterior,
anterior, substituindo
substituindo
uma
uma variável
variável básica
básica por
por uma
uma variável
variável não
não básica:
básica:
aa variável
variável não
não básica
básica que
que entra
entra éé substituída
substituída pela
pela variável
variável
básica
básica que sai..
que sai
Existe alguma
SBA adjacente Não
que seja
melhor? FIM !!!
a solução é
Sim óptima
Mover-
Mover-se para uma SBA
Uma SBA é óptima quando
"melhor" nenhuma das SBA
adjacentes é “melhor”,
1
INÍCIO
Forma Padrão
A solução é FIM
óptima ? Sim Solução óptima !!!
critério de optimalidade
Não
Identificar a variável não básica que
entra
critério de entrada
Inicialização:
Inicialização: Redução à Forma Padrão.
Forma Canónica Forma Padrão
Maximizar
Maximizar Z=
Z=33xx11++55xx22 Maximizar
Maximizar Z=
Z=33xx11++55xx22
sujeito
sujeitoaa sujeito
sujeitoaa
xx1 ≤≤ 44 xx1 ++xx3 == 44
1
22xx2 ≤≤ 12
12
1
22xx2
3
++xx4 ==12
2 12
33xx1 ++ 22xx2 ≤≤18
18 33xx1 ++ 22xx2
2 4
++xx5 ==18
1 2 1 2 5 18
xx1 , ,xx2 ≥0 xx1 , ,xx2 , ,xx3 , ,xx4 , ,xx5 ≥0
1 2 ≥0 1 2 3 4 5 ≥0
variáveis
variáveisbásicas
básicas xx3 , ,xx4 , , xx5
3 4 5
variáveis
variáveisnão
nãobásicas
básicas xx1 , ,xx2
1 2
2
Algoritmo Primal Simplex.
Simplex.
Exemplo: 1º quadro, passo 1.
Início: Construção do 1º QUADRO.
0 x3 1 0 1 0 0 4
0 x4 0 2 0 1 0 12
0 x5 3 2 0 0 1 18 valor da
f.o.
-zj 3 5 0 0 0 0
os custos reduzidos
das variáveis básicas
são sempre nulos
--zzj j 33 55 00 00 00
Existe
algum
-zj >0 ?
Não FIM 3 >0,
a solução é 5 >0 ?
óptima
Sim Sim
3
Algoritmo Primal Simplex.
Simplex.
Critério de entrada:
max {- zj j | -- zzj j>0
max { - z | >0 }} ==-- zzrr r coluna
jj pivotal
Existe FIM
Não o problema
algum não tem
xir >0 ? óptimo finito
Sim
CB XB x1 x2 x3 x4 x5 b
0 x3 1 0 1 0 0 4
0 x4 0 2 0 1 0 12
0 x5 3 2 0 0 1 18
-zj 3 5 0 0 0 0
max {-- zj | - zj >0 } =5
4
Algoritmo Primal Simplex.
Simplex.
xi x
ϑ = min 0
xir >0= s 0
xir xsr
0
i
coluna pivotal: j
cj 3 5 0 0 0 =2
CB XB x1 x2 x3 x4 x5 b mínimo
a variável
que sai: 0 x3 1 0 1 0 0 4 12/2= 6
x4 0 x4 0 2 0 1 0 12
0 18/2= 9
x5 3 2 0 0 1 18
pivot
-zj 3 5 0 0 0 0
máximo
5
Algoritmo Primal Simplex.
Simplex.
Passo 5:
2º. Construir um novo quadro simplex aplicando o Método de
redução Gauss-Jordan.
Reduzir a 1 o número pivot.
para isto é preciso dividir toda a linha pivotal pelo pivot.
linha pivotal
Nova linha pivotal =
pivot
6
Algoritmo Primal Simplex.
Simplex.
Exemplo: 2º quadro, passo 2.
Passo 2: Critério de optimalidade:
Existe algum custo reduzido positivo?
3 0 0 - 52 0
Existe
algum
-zj >0 ?
33>>00
Sim
a variável que
entra: x1 3 5 0 0 0
coluna
pivotal
0 x3 1 0 1 0 0 4
1
5 x2 0 1 0 2 0 6
0 x5 3 0 0 -1 1 6
-zj 3 0 0 - 52 0 -30
0
max { - zj | - zj >0 } =3
7
Algoritmo Primal Simplex.
Simplex.
Exemplo: 2º quadro, passo 4.
Passo 4: Determinar a variável básica que sai.
coluna pivotal: j =1
cj 3 5 0 0 0
CB XB x1 x2 x3 x4 x5 b 4/1= 4
a variável
que sai: x5
0 x3 1 0 1 0 0 4
1
5 x2 0 1 0 2 0 6 6/3= 2
pivot
máximo
Linha Pivotal:
cj 3 5 0 0 0
Nova linha 3= Linha 3 / pivot
CB XB x1 x2 x3 x4 x5 b
0 x3 1 0 1 0 0 4
1
linha 2: NÃO MUDA
o coeficiente na coluna pivotal é
0 x2 0 1 0 2 0 6
igual a 0. 0 x5 3 0 0 -1 1 6
-zj 3 0 0 - 5
2
0 30
0
Nova linha 1= linha 1 - (1
x nova linha pivotal) 0 x3 1 1
0 0 1 3 - 3 2
1 0 1 0 0 4
5 x2 0 1 0 1
0 6
-(1) 1 0 0 -1/3 1/3 2 2
0 0 1 1/3 -1/3 2 3 x1 1 0 0 1
- 3
1
3 2
-zj 0 0 0 - 32 -1 -36
6
©2000-2001 Prof.ª Gladys Castillo
8
Algoritmo Primal Simplex.
Simplex.
Exemplo: 3º quadro.
3 5 0 0 0
0 x3 0 0 1 1 1
- 3 2
3
5 x2 0 1 0 1
2 0 6
x1 1 1
3 1 0 0 - 3 3 2
SBAXX2==(2,
AASBA 2
(2,6,
6,2,
2,0,
0,00))ééaasolução
soluçãoóptima
óptima
-zj 0 0 0 - 32 -1
FIM
FIM!!!
!!!
Existe Não 2
algum aaSBA
SBAXX2==((22,6,
,6,2,
2,0,
0,00))
-zj >0 ?
ééóptima
óptima!!!
!!!