Universidade Federal de Itajub Prof. Dr. Jos Arnaldo Barra Montevechi Simplex Programao Linear (PL) Soluo algbrica - mtodo simplex Agora ser apresentado mais um procedimento geral para resoluo de problemas de PL, denominado Mtodo Simplex e que foi desenvolvido em 1947 por George B. Dantzig. Mtodo Simplex O mtodo simplex um mtodo interativo (algoritmo) utilizado para achar, algebricamente, a soluo tima de um problema de PL. Procedimentos do Mtodo Simplex Sabe-se que a soluo tima do modelo uma soluo bsica do sistema, ou seja, um ponto extremo do polgono gerado pelas restries. Para ser iniciado necessrio conhecer uma soluo compatvel bsica (soluo inicial) do sistema, isto um dos pontos do polgono gerado. Procedimentos do Mtodo Simplex O mtodo simplex verifica se a presente soluo tima. Se for o processo esta encerrado. Se no for tima, porque um dos pontos adjacentes fornece um valor maior que o inicial. Neste caso, o mtodo simplex faz ento a mudana do ponto por um outro que mais aumente o valor da funo objetivo. Agora tudo que foi feito para o primeiro ponto feito para o novo ponto. O processo finaliza quando se obtm um ponto extremo onde todos os outros pontos extremos, forneam valores menores para a funo objetivo. Procedimentos do Mtodo Simplex Como fazer, algebricamente, a mudana de um ponto extremo para outro? Achar portanto a prxima soluo bsica exige a escolha de uma varivel bsica para deixar a base atual, tornando-se no bsica, e a escolha de uma varivel no bsica para entrar na base em sua substituio. Procedimentos do Mtodo Simplex Supondo o seguinte problema para maximizao: Max Z = 5X1 + 2X2 Sujeito a: X1 3 X2 4 X1 + 2X2 9 X1, X2 0 Procedimentos do Mtodo Simplex A(0, 0) B(3, 0) C(3, 3) D(1, 4) E(0, 4) A B C D E ZB=15 ZC=21 ZD=13 ZE=8 X2 X1 Z Procedimentos do Mtodo Simplex O Mtodo Simplex aplicado diretamente quando: todas as restries so ; todos os bi 0; se quer maximizar Z. Passos do simplex 1. Achar uma soluo compatvel bsica inicial; 2. Verificar se a soluo tima. Se for pare. caso contrrio, siga para o passo 3; 3. Determinar a varivel no bsica que deve entrar na base; 4. Determinar a varivel bsica que deve sair da base; 5. Achar a nova soluo compatvel bsica e voltar ao passo 2. Seja a formulao Maximizar z = 3x1 + 2x2 + 5x3 Sujeito a x1+ 2x2 + x3 430 3x1 + 2x3 460 xl + 4x2 420 x1, x2, x3 0 Primeiro passo: Transformar o sistema de M desigualdades lineares restritivas em um sistema de M equaes lineares. Assim temos: X1 + 2x2 + x3 + x4 = 430 3x1 + 2x3 + x5 = 460 xl + 4x2 + x6 = 420 Segundo passo: Colocar as equaes em forma de tabela z - 3x1 - 2x2 - 5x3 = 0 x1 + 2x2 + x3 + x4 = 430 3x1 + 2x3 + x5 = 460 xl + 4x2 + x6 = 420 Terceiro passo: Determinar uma soluo inicial vivel. Base z X 1 X 2 X 3 X 4 X 5 X 6 b bi/aie Z 1 -3 -2 -5 0 0 0 0 X 4 0 1 2 1 1 0 0 430 430 X 5 0 3 0 2 0 1 0 460 230 X 6 0 1 4 0 0 0 1 420 ind.
X1 = X2 = X3 = 0 X4 = 430; X5 = 460 e X6 = 420 Quarto passo: verificar se a soluo tima. No tima! X1 = X2 = X3 = 0 X4 = 430; X5 = 460 e X6 = 420 Base z X 1 X 2 X 3 X 4 X 5 X 6 b bi/aie Z 1 -3 -2 -5 0 0 0 0 X 4 0 1 2 1 1 0 0 430 430 X 5 0 3 0 2 0 1 0 460 230 X 6 0 1 4 0 0 0 1 420 ind.
Quinto passo: Determinar a varivel que entra (xe) Sexto passo: Determinar a varivel que sai (xs). sai entra Piv Base z X 1 X 2 X 3 X 4 X 5 X 6 b bi/aie Z 1 -3 -2 -5 0 0 0 0 X 4 0 1 2 1 1 0 0 430 430 X 5 0 3 0 2 0 1 0 460 230 X 6 0 1 4 0 0 0 1 420 ind.
Stimo passo: Calcular a nova matriz de coeficientes, executando as operaes convenientes nas linhas da matriz.
Oitavo passo: Repetir todos os passos, do 4 ao 7, tantas vezes quanto forem necessrias, at que a soluo tima seja encontrada. Base z X 1 X 2 X 3 X 4 X 5 X 6 b Z 1 4 0 0 1 2 0 1350 X 2 0 -0.25 1 0 0.5 -0.25 0 100 X 3 0 1.5 0 1 0 0.5 0 230 X 6 0 2 0 0 -2 1 1 20
O mximo Z 1350, para X 2 =100, X 3 =230 e X 6 =20. Resolvendo o problema de Giapetto pelo simplex Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 100 X1 + X2 80 X1 40 X1 0 X2 0 Converter o problema de PL na forma cannica Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 + X3 = 100 X1 + X2 + X4 = 80 X1 + X5 = 40 X1, X2, X3, X4 e X5 0 Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 + X3 = 100 X1 + X2 + X4 = 80 X1 + X5 = 40 X1, X2, X3, X4 e X5 0 Variveis no bsicas: X1 = X2 = 0 Variveis bsicas: X3 = 100 X4 = 80 X5 = 40 Soluo bsica inicial O problema pode ser representado assim: Z X1 X2 X3 X4 X5 b Razo Base 1 -3 -2 0 0 0 0 X3 0 2 1 1 0 0 100 X4 0 1 1 0 1 0 80 X5 0 1 0 0 0 1 40
100/2=50 80/1=80 40/1=40 Indica que X1 entra no lugar de X5 Soluo parcial: (0, 0, 100, 80, 40) Prximo quadro - Base: X3, X4 e X1 Devem se colocadas na forma cannica Pivo X1 entra na base Z X1 X2 X3 X4 X5 b Razo Base 1 0 -2 0 0 3 120 X3 0 0 1 1 0 -2 20 X4 0 0 1 0 1 -1 40 X1 0 1 0 0 0 1 40
Pivo Ainda no a soluo tima 20/1=20 40/1=40 40/0 Indica que X2 entra no lugar de X3 Soluo parcial: (40, 0, 20, 40, 0) Prximo quadro - Base: X2, X4 e X1 Devem se colocadas na forma cannica Segunda iterao Z X1 X2 X3 X4 X5 b Razo Base 1 0 0 2 0 -1 160 X2 0 0 1 1 0 -2 20 X4 0 0 0 -1 1 1 20 X1 0 1 0 0 0 1 40
Ainda no a soluo tima Pivo -10 20 40 Indica que X5 entra no lugar de X4 Soluo parcial: (40, 20, 0, 20, 0) Prximo quadro - Base: X2, X5 e X1 Devem se colocadas na forma cannica Terceira iterao soluo tima Z X1 X2 X3 X4 X5 b Razo Base 1 0 0 1 1 0 180 X2 0 0 1 -1 2 0 60 X5 0 0 0 -1 1 1 20 X1 0 1 0 1 -1 0 20
Valor mximo possvel para a funo objetivo Soluo tima: (20, 60, 0, 0, 20) A restrio 4 tem um folga de 20 Quarta iterao Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 + X3 = 100 X1 + X2 + X4 = 80 X1 + X5 = 40 X1, X2, X3, X4 e X5 0 Soluo do problema de Giapetto pelo simplex Soluo tima: (20, 60, 0, 0, 20) Z = 3*20 + 2*60 = 180 A restrio 4 tem um folga de 20 Exerccio Resolver o problema do final do item 4.6.4 da apostila; Dois participantes por grupo; Entregar o resultado para fazer parte da avaliao da disciplina. Resolva o problema abaixo pelo simplex max Z = 5X1 + 2X2 sujeito a: X1 3 X2 4 X1 + 2X2 9 X1 0 X2 0 X2 X1 1 2 3 4 5 6 1 2 3 4 5 6 Mtodo Grfico (Exemplo j realizado anteriormente) A B C D E Indicando ponto timo - C (3, 3) Z = 21