método simplex simplificado

4
Método Simplex simplificado Guilherme H. Polo Gonçalves Departamento de Informática Universidade Estadual de Maringá (UEM) – Maringá, PR – Brasil [email protected] 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 de pontos interiores, elipsóide ou o simplex. Esse úl- timo, assunto desse trabalho, é um procedimento algé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ário apresentar alguns termos e conceitos subjacentes. Dado um problema qualquer, modelado da se- guinte maneira: maximizar f ( x 1 , x 2 ) = x 1 + 2 x 2 sujeito a x 1 + x 2 4 x 1 2 x 2 3 e x 1 , x 2 0 Chamamos x 1 e x 2 de variáveis de decisão, f ( x 1 , x 2 ) de função objetivo, as desigualdades nesse exemplo são as restrições do problema e a última linha apresenta as restrições de nã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 problema de cima para baixo e, juntamente com as restri- ções de não-negatividade, consegue-se chegar a representação geométrica da figura 1. 6 0 1 2 3 4 5 6 0 1 2 3 4 5 Restrição 2 Restrição 3 Restrição 1 x 2 x 1 A B D E F C G Figura 1. Representação geométrica Tomando x 1 e x 2 como eixos, as restrições de não-negatividade limitam a representação ao pri- meiro quadrante. Combinando a segunda res- trição com a não-negatividade de x 1 , e fazendo o equivalente para a terceira restrição obtemos as 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 a não-negatividade de x 1 , obtendo o ponto A = (0, 4). Em seguida o mesmo é feito com a não- negatividade de x 2 e obtém-se o ponto B = (4, 0). A área em azul representa a região factível do problema, constituindo todas as soluções aceitas para o mesmo e é delimitada a partir da forma das restrições. Tendo a representação geométrica explicada, falta determinar a solução ótima para o pro- blema. Para isso contamos com o seguinte teorema:

Upload: guilherme-polo

Post on 26-Jun-2015

1.435 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Método Simplex simplificado

Método Simplex simplificadoGuilherme H. Polo Gonçalves

Departamento de InformáticaUniversidade Estadual de Maringá (UEM) – Maringá, PR – Brasil

[email protected]

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:

Page 2: Método Simplex simplificado

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

Page 3: Método Simplex simplificado

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.

Page 4: Método Simplex simplificado

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.