método simplex simplificado
TRANSCRIPT
Método Simplex simplificadoGuilherme H. Polo Gonçalves
Departamento de InformáticaUniversidade Estadual de Maringá (UEM) – Maringá, PR – Brasil
1. Introdução
A Otimização Linear se enquadra como ferra-menta básica de Pesquisa Operacional para mo-delagem e resolução de problemas de otimização.Para a resolução há diversos métodos, como o depontos interiores, elipsóide ou o simplex. Esse úl-timo, assunto desse trabalho, é um procedimentoalgébrico para resolução de problemas de Otimi-zação Linear.
2. Conceitos base e exemplo geométrico
Antes de entender o método simplex, é necessárioapresentar alguns termos e conceitos subjacentes.
Dado um problema qualquer, modelado da se-guinte maneira:
maximizar f (x1, x2) = x1 + 2x2
sujeito ax1 + x2 ≤ 4x1 ≤ 2
x2 ≤ 3e
x1, x2 ≥ 0
Chamamosx1 e x2 de variáveis de decisão,f (x1, x2) de função objetivo, as desigualdadesnesse exemplo são asrestrições do problemae a última linha apresenta as restrições denão-negatividade. No exemplo acima queremos ma-ximizar a função objetivo, solucionando o pro-blema modelado e definindo valores para as va-riáveis de decisão.
Podemos enumerar as restrições do problemade cima para baixo e, juntamente com as restri-ções de não-negatividade, consegue-se chegar arepresentação geométrica da figura 1.
60 1 2 3 4 5
6
0
1
2
3
4
5
Restrição 2
Restrição 3
Restrição 1
x2
x1
A
B
D
E
F
C
G
Figura 1. Representação geométrica
Tomandox1 e x2 como eixos, as restrições denão-negatividade limitam a representação ao pri-meiro quadrante. Combinando a segunda res-trição com a não-negatividade dex1, e fazendoo equivalente para a terceira restrição obtemosas respectivas retas na representação. Para ob-ter a reta da restrição 1 fazemos algo seme-lhante. Combina-se a primeira equação com anão-negatividade dex1, obtendo o pontoA =(0,4). Em seguida o mesmo é feito com a não-negatividade dex2 e obtém-se o pontoB = (4,0).A área em azul representa aregião factível doproblema, constituindo todas as soluções aceitaspara o mesmo e é delimitada a partir da forma dasrestrições.
Tendo a representação geométrica explicada,falta determinar asolução ótima para o pro-blema. Para isso contamos com o seguinteteorema:
Teorema 1.Se um problema de otimização lineartem uma solução ótima, então existe um vérticeótimo.
Com isso, basta encontrar os vértices perten-centes a região factível e calcularf (x, y) para cadaum1. O maior (ou menor se fosse um problemade minimização) destes valores é a solução ótimaque procuramos. Um vértice é determinado porduas retas. No caso da figura 1, temos 5 vérti-ces (em vermelho) na região factível. Os vérticesG, C e F já são conhecidos, para determinarDresolvemos o sistema de equações formado pelasrestrições 1 e 3 pois são as suas retas que se inter-sectam emD. Para encontrarE fazemos o mesmotrabalho com as restrições 1 e 2. Calculando, en-contramos que o vérticeD = (1,3) é ótimo, por-tantox1 = 1 ex2 = 3, e f (D) = 7.
3. O método Simplex
Problemas que requerem mais de duas variáveisde decisão são mais difíceis de serem representa-dos geometricamente, além disso a resolução naforma geométrica é muito custosa computacional-mente. De forma a amenizar esses problemas, uti-lizamos o método simplex. Mais algumas nota-ções são introduzidas antes de iniciarmos a des-crição desse método.
De forma a realizar o processo de forma efi-ciente, convertemos as restrições de desigualda-des do problema para restrições de igualdade.Nessa tarefa,variáveis de folga são introduzi-das de forma a manter a equivalência das equa-ções. Relembrando a primeira restrição no exem-plo modelado acima:x1 + x2 ≤ 4, podemos fa-zer: x1 + x2 − 4 ≤ 0, e multiplicando por−1:−x1 − x2 + 4 ≥ 0. Nesse ponto introduzimos umavariável de folgax3, onde−x1 − x2 + 4 = x3 ex3 ≥ 0. Reorganizando, obtemos:x1+x2+x3 = 4.De forma semelhante trabalhamos sobre as de-mais restrições, resultando no que é chamado de
1Isso é uma simplificação
forma aumentadado modelo:
max z= x1 + 2x2
s.ax1 + x2 + x3 = 4x1 + x4 = 2
x2 + x5 = 3
As restrições de não-negatividade são aumentadaspara conterx3 ≥ 0, x4 ≥ 0 ex5 ≥ 0.
Com esse modelo aumentado é possível deter-minar uma solução inicial de forma trivial. Con-siderando as variáveisx1 e x2 como 0, temos quex3 = 4, x4 = 2 e x5 = 5. Essa solução inicialé chamada debásica viável (BV), significandoque é uma solução factível em ponto extremo naforma aumentada. Ainda, as variáveis definidasem 0 são chamadas denão básicas, enquanto queas demais debásicas. Aqui termina a preparaçãopara a aplicação do método simplex.
A resolução do modelo aumentado ocorre pormeio de iterações. Antes do inicio de uma ite-ração é verificado se a solução BV atual não éótima. Realizar esse teste equivale a verificar seexistem variáveis na função objetivo com coefici-entes positivos, se existir pelo menos uma, então,a solução atual não é ótima. Após essa verificaçãofalhar, inicia-se uma iteração. Todas as iteraçõesdo simplex são divididas em 3 passos:
1. Escolher a variável não básica com coe-ficiente mais positivo emz para entrar noconjunto de variáveis básicas;
2. Determinar qual variável básica sairá pormeio doteste da razão mínima;
3. Obter uma nova solução BV e reescreveras restrições na forma apropriada para eli-minação gaussiana.
Os passos 2 e 3 merecem explicações. To-mando o modelo aumentado acima, verifica-seque x2 apresenta o coeficiente mais positivo nafunção objetivo (2> 1), ou seja,x2 é a variá-vel que entra. Para realizar o teste da razão mí-nima verificamos quanto cada restrição permite
quex2 cresça. Naquela que permitir menor cres-cimento teremos uma variável básica que será es-colhida para sair do conjunto de variáveis básicas.Aplicando o teste da razão mínima garantimosque nenhuma variável se torne negativa. Conside-rando quex1 = 0, da primeira restrição obtemos:x3 = 4 − x2 ∴ x2 ≤ 4; a segunda restrição nãoenvolvex2 e ela não entra nesse teste; na terceirarestrição:x5 = 3− x2 ∴ x2 ≤ 3. A última restri-ção permite o menor crescimento, portantox5 é avariável básica que sai e concluímos a explicaçãodo passo 2.
O passo 3 é necessário para a verificação doteste de otimalidade antes de uma possível pró-xima iteração. Para isso, reescrevemos as restri-ções e a função objetivo numa forma apropriadapara a eliminação gaussiana. Basicamente, to-mando a variável básica que sai (no casox5) evariável básica que entra (x2), replicamos os co-eficientes da coluna dex5 na coluna dex2. Uti-lizamos as operações elementares sobre sistemaslineares para fazer essa tarefa. Tomamos comopivô aquela restrição que apresentar coeficiente 1em x5, dividindo a mesma pelo coeficiente dex2
naquela mesma linha. Após isso, trabalhos comas outras linhas sobre essa pivô. Como feito ante-riormente, seguimos com a resolução do exemplodado. As restrições 2 e 3 já estão de acordo como nosso requisito,x5 e x2 apresentam os mesmoscoeficientes nessas equações. A equação 1 precisaser reescrita, e assim a operaçãoEq.(1) − Eq.(3)é realizada. A equação 0, correspondendo a fun-ção objetivo, também precisa ser reescrita. Antesde aplicar qualquer operação nela, observamos:z= x1+2x2 ∴ z− x1−2x2 = 0 e, então, fazemos:Eq.(0) + 2 × Eq.(1). Ao final dessas operaçõesobtemos um novo conjunto de restrições e a novafunção objetivo:
z −x1 + 2x5 = 6x1 + x3 − x5 = 1x1 + x4 = 2
x2 + x5 = 3
Ou seja,x1 e x5 são variáveis não básicas e, assim,
z = 6 nesse momento. Reescrevendo a nova fun-ção objetivo na forma:z = x1 − 2x5 + 6, verifica-se que o teste de otimalidade ainda obtém sucesso(coeficiente dex1 é positivo) e portanto o processocontinua.
4. Restrições em outras formas
Até o momento o foco foi dado a inequações naforma ai1x1 + · · · + ainxn ≤ bi. Porém, é possí-vel que o modelo original contenha igualdades ouinequações de maior-igual. No primeiro caso, senão alterarmos o modelo, uma solução inicial nãoé trivialmente obtida. No segundo, a variável defolga introduzida teria sinal negativo e não satis-faria a condição de não negatividade quando utili-zada na solução inicial. Esses problemas são tra-tados nessa seção.
Uma restrição de igualdade qualquer poderiaser reescrita utilizando duas inequações, uma demenor-igual e outra maior-igual. Mas ao fazerisso, o segundo problema (mencionado anterior-mente) passa a existir aqui. A solução utilizadaé o emprego devariáveis artificiais. Nesse caso,uma restrição na formaai1x1+· · ·+ainxn = bi seriareescrita como:ai1x1+ · · ·+ainxn+ xn+1 = bi. En-tretanto, o simplex, como descrito acima, precisade um “acréscimo” para permitir a resolução demodelos com variáveis artificiais. Entre as formasestudadas é destacado o método do grande nú-mero (Big M), onde tal variável é introduzida como coeficienteM na função objetivo. Esse símboloM representa um número muito grande, e nega-tivo no caso de problemas de maximização, fa-zendo com que uma variável artificial nunca sejaescolhida no passo 1 das iterações do método sim-plex. Para aplicar o métodoBig M é necessárioapenas alterar a parte inicial do simplex acima,fazendo com que tais variáveis sejam eliminadas,através da aplicação de operações elementares so-bre sistemas lineares, da função objetivo. Um in-dicativo de se ter chegado a solução ou não, nessecaso, é o desaparecimento deM no valor da fun-ção objetivo.
Restrições na formaai1x1 + · · · + ainxn ≥ bi
são tratadas agora. Inicialmente introduzimosuma nova variável da seguinte forma:ai1x1 +
· · · + ainxn − bi ≥ 0, sendoxn+1 ≥ 0 fazemosai1x1 + · · · + ainxn − bi = xn+1 e, com isso, che-gamos a:ai1x1 + · · · + ainxn − xn+1 = bi. A va-riável xn+1 é chamado devariável excedenteporsubtrair o excedente do lado esquerdo no lado di-reito. Após esse passo, uma variável artificial éintroduzida seguindo o paragrafo anterior.
5. Outras situações
Para concluir esse trabalho, mais dois casos sãodiscutidos. O primeiro é o fato de também existirproblemas de minimização, porém desde o inicioo modelo foi de maximização. O segundo diz res-peito a variáveis negativas na modelagem.
O método simplex aplica-se a problemas demaximização, porém a conversão de um problemade minimização para esse é simples. Dada umafunção objetivo qualquer:
minz=n∑
j=1
cj xj
temos que ela é equivalente a:
max−z= −n∑
j=1
cj xj
Tratamos a segunda situação agora. Há a pos-sibilidade de existirem variáveis com permissãopara assumirem valores negativos. SendoL j umaconstante negativa exj ≥ L j, prosseguimos da se-guinte maneira:
xj − L j︸ ︷︷ ︸
x′j
≥ 0
x′j = xj − L j
xj = x′j + L j
Sendo assim, trocamos todas as ocorrências dexj no modelo porx′j + L j e garantimos a não-negatividade.
6. Conclusão
Entre os métodos existentes para resolução deproblemas de otimização linear, destacamos ra-pidamente a forma geométrica seguida pelo sim-plex. A primeira apresenta maior utilidade paraproblemas de exemplo, sendo capaz de demons-trar os conceitos subjacentes ao método simplex.O segundo possibilita a resolução de problemasde forma eficiente em computadores.
Inicialização, teste de otimalidade e iteraçõescom três passos resumem o funcionamento dosimplex. De acordo com as adaptações discutidas,restrições na forma de inequações maior-igual oude igualdades requerem o uso de variáveis artifi-ciais. Consequentemente, a inicialização do mé-todo é ajustada de acordo com o funcionamentode um método que faz o tratamento desse tipo devariável. Mencionamos o método do grande nú-mero, que insere as variáveis artificias na funçãoobjetivo acompanhada de um coeficiente muitogrande (ou muito pequeno na minimização) e emseguida as remove com a aplicação de operaçõeselementares sobre sistemas lineares.