Documente Academic
Documente Profesional
Documente Cultură
Quando um Modelo de Programao Matemtica Linear (MPLM) composto de mais de duas variveis, torna-se praticamente impossvel realizar uma anlise grfica para determinar a soluo tima do mesmo, uma vez que, para um problema com 3 variveis diferentes seria necessrio um sistema cartesiano com 3 eixos para expressar cada uma das variveis, o que j se torna uma tarefa um tanto difcil, para um problema com 4 variveis seriam necessrios 4 eixos e assim por diante... Desta forma, existem alguns mtodos algbricos que so utilizados para calcular a soluo de um Problema de Programao Linear Matemtica. O mais conhecido deles o Mtodo Simplex que tambm pode ser conhecido como Mtodo das Duas Fases quando o problema exige algumas alteraes. Sendo assim, a partir de um problema de Programao Linear Matemtica j modelado, so necessrios 3 etapas simples para se resolver o problema pelo Mtodo Simplex.
Tabela 1 : Regras para insero de variveis no processo de normalizao de um Modelo de Programao Linear Matemtica (MPLM)
Tipo de Varivel
+0
Deve ser inserida na funo objetivo com o coeficiente -0 Deve ser inserida na funo objetivo com: +M para problemas de minizao; -M para problemas de maximizao.
Abaixo segue um exemplo: ( importante ressaltar que nome de varivel, como o prprio nome diz, totalmente independente da letra a ser usada, ou seja, pode-se chamar uma varivel de t1, v1, x1, qualquercoisa1, etc, que no influenciar em nada o efeito desta varivel. Desta forma, chamaremos todas as variveis de folga como fs, as variveis artificiais de as e as variveis de excesso de es, para facilitar o entendimento) Exemplo 1:Modelo de Programao Linear Matemtica: Maximize z =36x1 + 10x2 Sujeito a 4x1 + x2 <= 700 x1 + x2 >= 250 25x1 + 10x2 = 4000 com x1 e x2 >=0 Forma Normal do Modelo acima: Maximize z =36x1 + 10x2 + 0f1 -0e1 Ma1 Ma2 Sujeito a devido ao sinal de foi inserido uma varivel de folga devido ao sinal de foram inseridas uma x1 + x2 -e1 +a1 = 250 varivel de excesso e uma varivel artificial 25x1 + 10x2 +a2 = 4000 devido ao sinal de = foi inserida uma varivel artificial com x1, x2, f1, e1, a1 e a2 >=0 Perceba que todas as variveis inseridas anteriormente tbm no podem ser negativas 4x1 + x2 +f1 = 700
importante notar que toda varivel inserida nas funes de restrio tambm devem ser inseridas na funo objetivo respeitando as regras apresentadas na Tabela 1.
Por hora, vejamos um exemplo de como formar o quadro a partir de um MPLM normalizado. Utilizaremos aqui o MPLM normalizado que foi construdo no Exemplo 1. Maximize z =36x1 + 10x2 + 0f1 -0e1 Ma1 Ma2 Sujeito a 4x1 + x2 + f 1 = 700 x1 + x2 - e1 + a1 = 250 25x1 + 10x2 + a2 = 4000 com x1, x2, f1, e1, a1 e a2 >=0 Quadro Simplex:
Calculando a ltima linha: Para o clculo da ltima linha necessrio um pouco mais de ateno, pois a maneira de fazer seu clculo varia de acordo com o objetivo do problema: Para problemas de maximizao se faz de uma forma e para problemas de minimizao faz de outra. Acompanhe os exemplos abaixo: Cada elemento da ltima linha calculado de acordo com a seguinte regra: Maximizao: So multiplicados os valores da segunda coluna pelos valores que esto na mesma linha, mas pertencentes coluna do elemento a ser calculado; faz-se uma somatria dos valores obtidos nessa multiplicao. Subtrai-se desse resultado o elemento da segunda linha da coluna correspondente. Minimizao: um processo parecido com o da Maximizao s que em ordem inversa, ou seja. Subtrai-se do valor da segunda linha da coluna do elemento a ser calculado o valor obtido pela somatria da multiplicao dos valores da segunda coluna pelos valores que esto na mesma linha, mas pertencentes coluna do elemento a ser calculado. Importante: No se assuste, pois realmente difcil de entender somente com a leitura da explicao, tente acompanhar o processo com os exemplos a seguir: Calculando o primeiro elemento da ltima linha:
E assim se seguir para os demais elementos com exceo do ltimo elemento da ltima linha, este sofre um processo um pouco diferente. Acompanhe o exemplo abaixo:
Seguindo as explicaes anteriores, o quadro simplex do MPLM dado anteriormente como exemplo ficaria da seguinte forma, lembre-se que o exemplo dado era de um problema de Maximizao: x1 x2 f1 e1 a1 a2 Max 36 10 0 0 -M -M 0 4 1 1 0 0 0 700 f1 1 1 0 -1 1 0 250 a1 -M 25 10 0 0 0 1 4000 a2 -M -26M -36 -11M -10 0 +M 0 0 -4250M
Vejamos agora como ficaria o processo para um problema de Minimizao: Exemplo 2: MPLM de um problema de minimizao com 3 restries: Minimizao z =2x1 + 10x2 Sujeito a 2x1 + x2 <= 6 3x1 + 4x2 >= 12 4x1 + 6x2 >= 4 com x1 e x2 >=0 Forma Normal do modelo proposto no Exemplo 2: Minimizao z =2x1 + 10x2 +0f1 -0e1 +Ma1 -0e2 +Ma2 Sujeito a 2x1 + x2 +f1 =6 3x1 + 4x2 -e1 + a1 = 12 4x1 + 6x2 -e2 + a2 = 4 com x1, x2, f1, e1, e2, a1 e a2 >=0 Quadro Simplex do modelo proposto no Exemplo 2: x1 x2 f1 e1 a1 Min 2 10 0 0 M 0 2 1 1 0 0 f1 3 4 0 -1 1 a1 M 4 6 0 0 0 a2 M 2-7M 10-10M 0 M 0
e2 0 0 0 -1 M
a2 M 0 0 1 0
6 12 4 16M
1 aplicado aos elementos da penltima linha posicionados sobre os zeros da ltima linha. Modificao 3 Sempre que uma varivel artificial deixa de ser bsica, isto , de ser removida da primeira coluna do Quadro Simplex, como resultado do Passo 4, ela ser retirada da linha superior do quadro, bem como toda a coluna sob a varivel em questo. Modificao 4 A ltima linha do quadro pode ser eliminada sempre que construda unicamente de zeros. Modificao 5 Se variveis artificiais no nulas estiverem presentes na soluo final bsica, ento o problema no admitir soluo. ( Em contrastes, podem aparecer variveis artificiais nulas com variveis bsicas, na soluo final, quando houver redundncia de uma ou mais das equaes originais de restrio).
Vejamos como isso funciona na prtica, vamos resolver passo a passo alguns exerccios para que possamos entender de maneira clara e objetiva o que diz cada algoritmo. Dado o MPLM abaixo, vamos resolv-lo utilizando o que aprendemos at o momento:
Exemplo 3: Calcule o valor timo do MPLM abaixo: Max z =2x1 + 10x2 + 2x3 Sujeito a 2x1 + x2 + 3x3 <= 6 3x1 + 4x2 + x3 <= 12 4x1 + 6x2 + 2x3 <= 4 com x1, x2 e x3 >=0 1a Etapa Passando para a Forma Normal: Max z =2x1 + 10x2 + 2x3 + 0f1+ 0f2+ 0f3 Sujeito a 2x1 + x2 + 3x3 + f1 = 6 3x1 + 4x2 + x3 + f2 = 12 4x1 + 6x2 + 2x3 + f3 = 4 com x1, x2, x3, f1, f2 e f3 >=0 2a Etapa Montando o Quadro Simplex:
Max
f1 f2 f3 0 0 0
x1 2 2 3 4 -2
x2 10 1 4 6 -10
x3 2 3 1 2 -2
f1 0 1 0 0 0
f2 0 0 1 0 0
f3 0 0 0 1 0
6 12 4 0
3a Etapa Resolver o Quadro Simplex Como no se encontra nenhuma varivel artificial no quadro, somente variveis de folga, podemos concluir que o algoritmo a ser empregado o Algoritmo do Mtodo Simplex. Portanto vejamos o que nos diz o passo 1 desse algoritmo:
Passo 1 Localize o nmero mais negativo da ltima linha do quadro simples, excluda a ltima coluna, e chame a coluna em que este nmero aparece de coluna de trabalho. Se existir mais de um candidato a nmero mais negativo, escolha um
Dessa forma, podemos concluir que o no mais negativo da ltima linha o -10, portanto a coluna a qual ele pertence ser conhecida como coluna de trabalho. Vejamos agora o que nos diz o passo 2 do algoritmo do Mtodo Simplex:
Passo 2 Forme quocientes da diviso de cada nmero positivo da ltima coluna pelo elemento da coluna de trabalho da linha correspondente (excluindo-se a ltima linha do quadro). Designe por piv o elemento da coluna de trabalho que conduz ao menor quociente. Se mais de um elemento conduzir ao mesmo menor quociente, escolha um. Se nenhum elemento da coluna de trabalho for positivo, o problema no ter soluo
Max
f1 f2 f3 0 0 0
x1 2 2 3 4 -2
x2 10 1 4 6* -10
x3 2 3 1 2 -2
f1 0 1 0 0 0
f2 0 0 1 0 0
f3 0 0 0 1 0
6 12 4 0
6 =6 1
12 = 3 4
4 = 0,66 6
A coluna com fundo cinza a nossa coluna de trabalho. Perceba que nas divises tivemos como menor quociente o valor 0,66, portanto o elemento 6 da coluna de trabalho ser nosso piv.
Definidos a coluna de trabalho bem como o piv, seguimos adiante e vejamos o que nos diz o passo 3 do Mtodo Simplex:
Passo 3 Use operaes elementares sobre as linhas a fim de converter o elemento piv em 1 e, em seguida, reduzir a zero todos os outros elementos da coluna de trabalho
S pra refrescarmos nossa memria, as operaes elementares que podemos aplicar sistemas como esses so trs, mas no caso do Mtodo Simplex, utilizamos somente duas delas, so elas: Li=k.Li Dada uma linha i qualquer, podemos multiplicar todos os elementos desta linha por um escalar (k) qualquer. Esta operao muito til quando queremos transformar o piv em 1, para isso basta considerar k como sendo o inverso do piv a ser convertido em 1. Li=Li +k.Lj Dada uma linha i qualquer, cada elemento desta linha pode ser modificado somando-se ele mesmo com um outro elemento de uma outra linha j qualquer multiplicado por um escalar k qualquer. Na prtica esta operao utilizada quando se deseja zerar os elementos da coluna de trabalho, ou seja, uma vez que o piv j tenha sido convertido em 1, a linha com o elemento a ser zerado dever ser igual a ela mesma somada com a linha do piv multiplicada pelo negativo do elemento a ser zerado. Acompanhe o exemplo abaixo e veja se consegue entender:
Max
L1 = L1 L2 = L2 L3 = 1 L3 6 L4 = L4
f1 f2 f3
x1 2 3 4 6 -2
x2 1 4 1* -10
x3 3 1 2 6 -2
f1 1 0 0 0
f2 0 1 0 0
f3 0 0 1 6 0
6 12 4 6 0
Note que a linha do piv foi multiplicada pelo inverso do piv ( 1 ). Perceba que a
nica linha modificada foi a linha do piv. Perceba tambm que para que o piv fosse transformado em 1, todos os outros elementos da linha sofreram alteraes. No se preocupe, isso que nos dar a soluo no final.
Uma vez que o piv foi transformado em 1, o prximo passo agora zerar todos os outros elementos da coluna de trabalho. Lembre-se, a regra simples: A linha com o elemento a ser zerado deve ser igual a ela mesma somada com a linha do piv multiplicada pelo negativo do elemento a ser zerado. Veja o exemplo:
Vejamos como ficar o quadro com os clculos passados a limpo: x1 x2 x3 f1 f2 f3 Max 8 16 1 L1 = L1 + (1) L3 0 1 0 f1 6 6 6 2 2 1 L2 = L2 + (4) L3 0 0 1 f2 6 6 6 * 4 2 1 L3 = L3 0 0 1 f3 6 6 6 8 10 28 L4 = L4 + 10 L3 0 0 0 6 6 6
32 6 56 6 4 6 40 6
De uma maneira clara o Passo 4 diz que aps transformar o piv em 1 e o resto dos elementos da coluna de trabalho em 0, a varivel da coluna piv (x2 no nosso caso) deve ser trocada de lugar com a varivel da linha piv (f3 no nosso caso).Vejamos o quadro j com as devidas trocas feitas:
Max
L1 = L1 + (1) L3 L2 = L2 + (4) L3 L3 = L3 L4 = L4 + 10 L3 f1 f2
x2
x1 8 6 2 6 4 6
28 6
f3
0 0 1* 0
x3 16 6 2 6 2 6 8 6
f1
f2
1 0 0 0
0 1 0 0
f3 1 6 1 6 1 6 10 6
32 6 56 6 4 6 40 6
Analisando a ltima linha do nosso quadro, notamos que no existe nenhum elemento negativo, dessa forma conclui-se os clculos do quadro, caso existisse algum valor negativo, bastaria repetir os processos descritos acima at que a condio imposta pelo Passo 5 seja satisfeita, ou seja, seria eleita uma nova coluna de trabalho, um novo piv e assim por diante. Dessa forma podemos partir para o ltimo e derradeiro passo do Quadro Simplex o Passo 6. Vejamos o que diz o Passo 6.
Passo 6 A soluo tima obtida atribuindo-se a cada varivel da primeira coluna o valor da linha correspondente, na ltima coluna. As demais variveis atribudo o valor zero. O valor timo da funo objetivo, associado a z, o nmero resultante na ltima linha, ltima coluna, nos problemas de maximizao ou o negativo deste nmero, nos problemas de minimizao.
A figura acima exemplifica muito bem o que diz o Passo 6. Na verdade o ltimo passo simplesmente nos orienta a fazer a correta anlise do quadro calculado. Perceba que todos os resultados do MPLM saem a partir do quadro, ou seja, os valores timos de cada varivel, bem como o valor timo do problema. No nosso caso o valor timo
40 6
ou 6,66. As demais
variveis que no figuram na primeira coluna atribui-se o valor 0. Resumindo, os resultados das variveis do problema so: 32 56 4 f1= , f2= , x2= , f3 = x1= x3=0. 6 6 6 40 z= = 6,66 6
Como f1, f2 e f3 so variveis auxiliares, o resultado delas pode ser ignorado, pois elas no existem nos problemas reais. Dessa forma os nicos resultados que realmente nos interessa so os valores de z, x1, x2 e x3. Para um melhor entendimento desses resultados, vamos analisar o problema original:
Note que o z calculado bate com o valor determinado pelo algoritmo e que todas as restries foram satisfeitas
Agora calculemos um MPLM que necessite do Mtodo das Duas Fases para ser calculado, acompanhe.
Exemplo 4: Calcule o valor timo do MPLM abaixo: Min z =4x1 + x2 Sujeito a
1a Etapa Passando para a Forma Normal: Min z =4x1 + 1x2 + 0f1 + Ma1 Sujeito a
2x1 + 4x2 + f1 = 8 x1 + x2 + a1 = 3
com x1, x2, f1 e a1 >=0
Min
f1 a1
x1
x2
f1
a1
4 2 1
4(0 2+M1)
1 4 1
1(0 4+M1)
0 1 0
0(01+M0)
+M 0 1
M(00+M1 )
0 +M
8 3
08+ M3
Min
f1 a1
x1
x2
f1
a1
4 2 1 4-M
1 4 1 1-M
0 1 0 0
+M 0 1 0 8 3 3M
0 +M
3a Etapa Calculando o quadro Simplex. Note que no quadro acima temos variveis artificiais e conseqentemente coeficientes M. Dessa forma precisaremos utilizar o Mtodo das Duas Fases para solucionar o quadro acima. importante lembrar que na verdade, o que Mtodo das Duas Fases faz propor algumas modificaes no Algoritmo do Mtodo Simplex. Vejamos o que diz a Primeira Modificao.
Modificao 1 A ltima linha do Quadro Simplex decomposta em duas linhas, a primeira das quais envolve os termos que no contm M e a segunda os coeficientes M nos termos restantes. Exemplo: Se a ltima linha do quadro Simplex for: -9-8M 0 -9-9M 0 M 0 -14-2M Por meio da modificao 1 ela seria transformada em duas linhas -9 0 -9 0 0 0 -14 -8 0 -9 0 1 0 -2
Vejamos como ficar nosso quadro aps as modificaes impostas pela Modificao 1.
Min
f1 a1
x1
x2
f1
a1
4 2 1 4 -1
1 4 1 1 -1
0 1 0 0 0
+M 0 1 0 0 8 3 0 3
0 +M
Note que a ltima linha foi decomposta em duas linhas, exatamente como o algoritmo indica. Seguindo adiante, vejamos o que diz a Modificao 2 do algoritmo:
Modificao 2 O passo 1 do mtodo simplex aplicado ltima linha criada por meio da Modificao 1 at que esta linha no possua elementos negativos. Em seguida o Passo 1 aplicado aos elementos da penltima linha posicionados sobre os zeros da ltima linha.
Perceba que a Modificao 2 invoca o algoritmo do Mtodo Simplex, s que agora deve ser analisado primeiramente a ltima linha. Caso surja alguma dvida nos processos a seguir, basta que voc consulte as explicaes dadas neste texto para o clculo do Mtodo Simplex. Acompanhe:
Min
f1 a1
x1
x2
f1
a1
2 1* 4 -1
4 1 1 -1
1 0 0 0
0 1 0 0
8 3 0 3
8 =4 2 3 =3 1
Perceba que na ltima linha havia dois candidatos a coluna de trabalho. Escolha qualquer uma, no existe regra pra isso. Aqui foi escolhida a coluna do x1. O Piv eleito foi o nmero 1 uma vez que o coeficiente gerado por ele foi menor.
Seguindo as instrues da modificao 2, o piv ser transformado em 1 e os demais elementos sero transformados em 0. Como o piv j 1, no ser necessrio fazer nenhum clculo extra para determinar o piv. Perceba que nesta etapa aceleraremos o processo e calcularemos algumas etapas de maneira direta. Tente acompanhar.
Min x1
L1 = L1 + (2) L2 L2 = L 2
x2
f1
a1
f1 a1
0 1* 0 0
2 1 -3 0
1 0 0 0
-2 1 -4 1
2 3 -12 6
L3 = L3 + (4) L2
L 4 = L 4 + 1 L2
Como o piv foi transformado em 1 e o restante dos elementos da coluna de trabalho em 0, podemos seguir para o Passo 4 do Algoritmo do Mtodo Simplex e fazer a troca da varivel da coluna piv pela varivel da linha piv. S que agora
importante darmos uma checada e conferir o que ns diz a modificao 3 do Mtodo das Duas Fases:
Modificao 3 Sempre que uma varivel artificial deixa de ser bsica, isto , de ser removida da primeira coluna do Quadro Simplex, como resultado do Passo 4, ela ser retirada da linha superior do quadro, bem como toda a coluna sob a varivel em questo.
Note que a varivel que deixa de ser bsica, ou seja, sair da segunda coluna e ir para a primeira linha a varivel a1 que uma varivel artificial dessa forma faz-se a troca e elimina-se do quadro a coluna que est sob a varivel a1. Vejamos como fica o quadro.
Min a1
f1 x1
x2
f1
0 1* 0 0
2 1 -3 0
1 0 0 0
2 3 -12 6
Note que a ltima linha do quadro, com exceo da ltima coluna, composta por zeros. Seguindo as instrues da Modificao 4 do Mtodo das Duas Fases, devemos excluir esta linha. Veja o que diz a Modificao 4:
Modificao 4 A ltima linha do quadro pode ser eliminada sempre que construda unicamente de zeros.
Min a1
f1 x1
x2
f1
0 1* 0
2 1 -3
1 0 0
2 3 -12
O Prximo passo agora ver o que diz o Passo 5 do Mtodo Simplex. Como l diz que caso haja nmeros negativos na ltima linha, os passos 1 a 4 devem ser executados novamente, ou seja, devemos eleger uma nova coluna de trabalho, um novo piv.. e assim por diante.. Acompanhe o desfecho desse exerccio.
Min a1
f1 x1
x2
f1
0 1 0
2* 1 -3
1 0 0
2 3 -12
2 =1 2 3 = 1,5 2
Por causa do valor 3 na ltima linha, a coluna de trabalho selecionada foi a coluna sob do x2. O piv selecionado foi o nmero 2, devido ao menor quociente.
Min a1
L1 =
1 L1 2
x2
f1
f1 x1
0 1 0
1* 0 0
1 2
1 2 -9
L2 = L2 + (1) L1
1 2 3 2
L3 = L3 + 3 L1
Terminado o processo estabelecido no Passo 3, devemos fazer as trocas das variveis como estabelece o Passo 4. Acompanhe:
Min a1
x2 x1
0 1 0
f1
1* 0 0
f1
1 2 1 2 -9
1 2 3 2
De acordo com o Passo 5 o problema est concludo, pois analisando a ltima linha excluindo a ltima coluna, no encontramos nenhum valor negativo. Desta forma podemos seguir para o Passo 6 e fazermos a anlise dos dados, a concluiremos que o valor timo de x2 1, o valor timo de x1 2 e o valor mnimo de z o mdulo de -9, ou seja, z = 9. Para um melhor entendimento desses resultados, vamos analisar o problema original:
Min z =4x1 + x2 Sujeito a Min z =4*2 + 1 = 9
Sujeito a
com x1 e x2 >=0
Perceba que o z calculado bate com o z dado pelo algoritmo e que todas as restries foram satisfeitas.
com x1 e x2 >=0 c) Dado o modelo de programao linear abaixo, determine (se possvel) a sua soluo atravs dos seguintes mtodos.
max z = 4 x1 + 2 x 2
a) Graficamente; b) Algebricamente;
10 x1 + 2 x 2 5 suj a 2 x1 + 2 x 2 = 9 c x1 e x 2 0