You are on page 1of 10

DO SIMPLEX

1 - SOLUO EXATA PARA OS MODELOS DE PL

O modelo de programao linear reduz um sistema real a um conjunto de equaes ou inequaes onde pretendemos otimizar uma funo objetivo. O conjunto de equaes dever ser, em princpio, um conjunto indeterminado, de forma que o nmero das solues ditas "viveis" infinito. Mesmo sabendo que a soluo tima ser encontrada em um ponto extremo do conjunto das solues viveis, nosso trabalho no ser pequeno se desejarmos determin-lo. Infelizmente, esse nmero de pontos extremos ou vrtices pode ser muito grande, em nmero exponencial, em relao s variveis. Podemos resumir em dois blocos as dificuldades que devero ser vencidas por quem deseja encontrar a melhor soluo possvel para um sistema indeterminado de equaes lineares, segundo um critrio qualquer. Como obter solues viveis bsicas do sistema de equaes. Como evitar o teste de todas as solues viveis bsicas possveis para garantir a otimizao do sistema. nesse contexto que o algoritmo simplex destaca-se como uma das grandes contribuies Programao Matemtica desse sculo. Trata-se de um algoritmo geral extremamente eficiente para a soluo de sistemas lineares e adaptvel ao clculo computacional (apesar de algumas dificuldades clssicas), e cuja compreenso funcional embasar vrios outros mtodos. O estudo desse algoritmo indispensvel para o profissional que deseja dominar as tcnicas quantitativas de analise e soluo de problemas em um contexto razoavelmente avanado.

2 - FUNDAMENTOS TERICOS DO SIMPLEX


O simplex um algoritmo. Genericamente, podemos entender por algoritmo qualquer estratgia para solucionar problemas, contudo, seremos mais precisos, reservando para a palavra algoritmo um conceito diferente de procedimento. Diremos que:

Um procedimento uma sequncia finita de instrues


e que:

Um algoritmo um procedimento que termina em um nmero finito de operaes (passos) O simplex um algoritmo que se utiliza de um ferramental baseado na lgebra Linear para determinar, por um mtodo iterativo, a soluo tima de um Problema de Programao Linear (PPL). Sua concepo bsica simples e, por isso mesmo, eficiente. Em linhas bastante gerais, o algoritmo parte de uma soluo vivel do sistema de equaes que constituem as restries do PPL, soluo essa normalmente extrema (vrtice). A partir dessa soluo inicial vai identificando novas solues viveis de valor igual ou melhor que a corrente. O algoritmo, portanto, possui um critrio de escolha que permite encontrar sempre novos e melhores vrtices da envoltria convexa do problema, e um outro critrio que consegue determinar se o vrtice escolhido ou no um vrtice timo. Antes de desenvolvermos o algoritmo propriamente dito necessrio recordar alguns conceitos matemticos que sero utilizados pelo mtodo. Uma base de uma matriz A (m x n) uma matriz quadrada de m vetores coluna linearmente independentes em IRm. As variveis associadas a essas colunas denominaremos variveis bsicas.
----------------------------------------------------------------

Definio 4:

'

Podemos decompor o vetor das variveis x em (ver Figura 17): *: x = (xB, xR), onde: xB representa o vetor das variveis bsicas de m componentes e xR o vetor das restantes n-m variveis no bsicas. I o conjunto dos ndices correspondentes s variveis bsicas. J o ndice das variveis no bsicas.

FIGURA 17 Decomposio do vetor de variveis.

Como podemos solucionar o conjunto de equaes m x m somente em funo das variveis bsicas, temos: x = (xB , 0). Se estendermos o raciocnio a matriz A, podemos igualmente dividi-la em uma matriz m x m, matriz que denominaremos por B, de rank = m e outra m X (n- m), matriz que denominaremos R.

A=m

FIGURA 18 Decomposio da matriz A.

Em relao diviso proposta pela Figura 18 podemos afirmar que: Definio 5: Seja B uma base associada matriz A. O vetor composto de xB = B-1 b e xR = 0 chamado de soluo bsica. E ainda que: Definio 6: Uma Soluo Bsica sem componentes negativas denominada
soluo bsica vivel.

FIGURA 19 Decomposio do vetor x.

Para fixar as definies anteriores; seja o seguinte sistema de equaes que constitui um conjunto de restries de algum problema de Programao Linear:

Passando para a forma padro de representao temos:

Nesse pequeno exemplo a diviso da matriz A poderiam ser:

Nesse caso xB = (x3 x4) e xR=(x1 x2)


Definio 7: O conjunto C ={x tal que Ax = b, x >= 0} denomina-se conjunto de solues viveis.

Da definio 7 decorrem os seguintes teoremas e corolrios importantes para o entendimento do mtodo simplex:
Teorema 1:

O conjunto C das solues viveis de um modelo de programa- o


linear um conjunto convexo.

Demonstrao:

Seja C o conjunto formado pelos pontos x tais que: Ax = b x >= 0 Se C convexo ento (ver definio de conjunto convexo no anexo) para qualquer conjunto composto por dois pontos distintos x1 x2 pertencentes a C, a combinao linear convexa desses pontos tambm pertence a C, o que equivalente a dizer que:

Sejam duas solues viveis de C, x1 x2, tais que x1 <> x2, ento:

e seja:

Ento:

e x >= 0, uma vez que:

Teorema 2: Toda soluo bsica vivel do sistema Ax = b um ponto extremo do conjunto de solues viveis, ou seja, um extremo do conjunto C.
Demonstrao:

Seja C o conjunto formado pelos pontos x tais que:

Seja, ainda, uma soluo vivel qualquer x, de dimenso n, na qual, sem perda de generalidade, as variveis bsicas so as m primeiras:

com todos as componentes xi >= 0

Suponhamos, por absurdo, que x no seja um ponto extremo do conjunto convexo C, definido anteriormente. Ento x pode ser obtido por uma combinao convexa de outros dois pontos distintos desse mesmo conjunto. Chamando de y e z esses dois pontos, temos:

Como y e z pertencem ao conjunto C, as seguintes relaes de pertinncia so vlidas:

A relao x = ay + (1 -a)z, colocada em termos das coordenadas de cada um dos trs vetores, fornece as seguintes relaes:

Devido s relaes 0=<a=<l, y>=0 e z>=0 as ltimas (n - m) relaes do conjunto acima descrito s podem ser satisfeitas num dos seguintes casos:

Neste caso teramos x = y=z, pois tanto y quanto z so solues bsicas do sistema em anlise, calculados com as mesmas variveis bsicas. . 2. a = 0 e zm + i = 0 para = 1, ..., n - m.

Por raciocnio anlogo ao caso anterior, deduzimos que x = z. Alm disso, como a = 0, segue-se que x = y = z. 3. a = l e ym + i = 0 para = 1,..., n-m. n | Por razes anlogas

conclui-se que x = y = z.

Dessa forma, demonstra-se que no existem solues viveis y e z, distintas da soluo bsica x que satisfaam a relao x = ay + (1 - a)z. Por contradio com a hiptese inicial, demonstra-se que x um ponto extremo do conjunto convexo C. A relao entre pontos extremos de C e as solues viveis bsicas de um PPL uma correspondncia biunvoca, como mostra a Figura 20.

FIGURA 20 Correspondncia soluo bsica x ponto extremo de um PPL.

O Teorema 2 demonstra a correspondncia no sentido do ponto extremo para a soluo bsica vivel e o Teorema 3 completa a associao. Teorema 3: Todo ponto extremo x de um conjunto de solues viveis de um sistema Ax = b uma soluo bsica vivel.

Observamos tambm que um ponto x extremo em um conjunto de solues viveis de um PPL se e somente se x >= 0 for uma soluo bsica do sistema de equaes lineares Ax = b. Corolrio 1: O conjunto dos pontos extremos de um conjunto de solues viveis finito e limitado em Cnm.

-----------------------------------------------------------------------

Corolrio 2; Se existe uma soluo vivel, ento existe uma soluo bsica vivel. Finalmente, o ltimo respaldo necessrio da teoria para entendermos e justificarmos a estratgia do mtodo simplex diz respeito ao valor timo alcanado pela funo objetivo. Qual seria a associao entre os pontos extremos e o valor da funo objetivo? Existe alguma garantia de que o valor timo seja alcanado nos pontos extremos de C? O Teorema 4 esclarece a questo colocada.

Teorema 4: 1, Se uma funo objetivo possui um mximo ou um mnimo finito, ento pelo menos uma soluo tima um ponto extremo do conjunto convexo C do Teorema 1. 2. Se a funo objetivo assume o mximo ou o mnimo em mais de um ponto extremo, ento ela toma o mesmo valor para qualquer combinao convexa desses pontos. A Figura 21 resume simplificadamente os aspectos tericos que garantem o bom funcionamento do mtodo simplex. O mtodo vai, basicamente, experimentar uma sequncia de soluo bsicas viveis na busca do valor timo para a funo objetivo, e isso um dos aspectos que permitem ao algoritmo um bom desempenho e a garantia de sua convergncia em nmero finito de passos.

FIGURA 21 Correspondncia com a soluo tima.

3-0 ALGORITMO PRIMAL SIMPLEX


3.1 - A Viso Geral do Algoritmo
O algoritmo simplex descreve uma sequncia de passos para a soluo de sistemas de equaes lineares sujeitos a uma funo objetivo. Basicamente, ele dispe sobre trs situaes: 1.0 mtodo de inverso da matriz bsica m x.m deduzida a partir de A, uma matriz de restries m x n. 2. As condies de troca de variveis dentro da matriz bsica, para que exista garantia de uma contnua melhoria da soluo ao longo do desenvolvimento dos passos do algoritmo. 3. As regras de parada do algoritmo e a interpretao dessa situao final. Eventualmente, o algoritmo pode ser adaptado para promover a escolha da base vivel inicial, ou soluo vivel de partida. Contudo, a essncia do mtodo desconhece o problema da escolha de uma base vivel inicial. A discusso do primeiro aspecto envolvido no algoritmo, ou seja, o mtodo de inverso da matriz bsica, bastante evidente na apresentao dos

"quadros" do simplex e de suas operaes de "pivoteamento". O mtodo normalmente sugerido na literatura o das operaes elementares. Essa tcnica permite que a cada passo do algoritmo o esforo de inverso j despendido em iteraes anteriores seja completamente aproveitado. importante que se entenda que no existe, de fato, um compromisso do algoritmo com um mtodo de inverso especfico para a matriz bsica. Em ltima anlise, o mtodo simplex no obriga que a matriz tenha que ser invertida por um mtodo de pivoteamento, apesar de que todo o seu raciocnio seja aplicado tradicionalmente junto com essa tcnica. O segundo ponto abordado por um critrio bastante simples que envolve o clculo da possvel contribuio para o acrscimo ou decrscimo da funo objetivo (conforme o caso: maximizao ou minimizao) com a possvel entrada na base de uma varivel no bsica. O critrio aponta a escolha da varivel de maior contribuio imediata. A eficincia do mtodo simplex e seu extraordinrio poder de funcionar na prtica est associado ao critrio adota-do nesse clculo. O terceiro tema diz respeito ao teste de parada que inclui a identificao das condies em que no existe mais a possibilidade de que uma troca de variveis na base possa melhorar o critrio de otimizao, ou ainda situaes em que identificado um comportamento patolgico de crescimento indefinido ou de inviabilidade do problema.

3.2 - Um Exemplo de Soluo de um Programa de Programao Linear Um pequena metalrgica deseja maximizar sua receita com a venda de dois tipos de finas fitas de ao que se diferenciam em qualidade no acabamento de corte. As fitas so produzidas a partir do corte de bobinas de grande largura. Existem duas mquinas em operao. Uma das mquinas mais antiga e permite o corte dirio de 4.000 m de fita. A outra, mais nova, corta at 6.000 m. A venda das chapas no mercado varia com a qualidade de cada uma. Fitas produzidas na mquina antiga permitem um lucro de 3 u.m. por mil metros de produo. Fitas cortadas na mquina moderna produzem um lucro de 5 u.m. por mil metros de produo. Cada mil metros de fita cortada na mquina antiga consome 3 homens x hora de mo-de-obra. Na mquina moderna so gastos apenas 2 homens X hora. Diariamente so disponveis 18 homens x hora para a operao de ambas as mquinas. Determinar a produo que otimiza o lucro da metalrgica. A modelagem deste problema de programao linear, que denominaremos "das fitas" ou Fita_l, simples e pode ser realizada da seguinte forma: 1. Escolha da varivel de deciso xi = comprimento da fita cortada na mquina velha i=l e comprimento da fita cortada na mquina nova (i = 2).

2. Elaborao da funo objetivo z = Maximizar {f(x) = 3xl + 5x2} -nmero total de unidades monetrias obtidas com a venda das fitas em seus diversos comprimentos. 3. Formulao das restries tecnolgicas Considerando a unidade de comprimento das fitas igual a 1.000 m temos: a) Restrio associada disponibilidade da maquinaria:

b) Restrio do comprimento das chapas fabricadas na mquina velha: i c) Restrio do comprimento das chapas fabricadas na mquina nova: 4. Restries de no negatividade Podemos resumir o modelo de Fita_l da seguinte forma:

Corno nos foi solicitado que, alm do modelo, fosse exibido o melhor esquema para a produo, vamos buscar a soluo do problema. Examinado o modelo de Fita_l encontramos a necessidade de maximizar uma funo linear sujeita a um conjunto de trs inequaes. O sistema de restries matricial com m linhas e n colunas, onde n > m. Supondo que esse sistema de equaes possua alguma soluo, ento essa soluo poder ser obtida atravs de um determinante da ordem de m, correspondendo a uma certa submatriz mXm derivada da matriz de restries de Fita_l. Nesse caso, deduzimos que a matriz de restries de Fita_l representa um conjunto de equaes indeterminado, ou seja, possuindo infinitas solues aceitveis. Resumindo: se Fita_l possui soluo, ento teremos que busc-la maximizando a funo z sobre um conjunto infinito de solues viveis. Vamos exemplificar a natureza da dificuldade do problema proposto atravs da representao grfica de Fita_l. Representaremos a varivel x1 no eixo dos x e a varivel x2 no eixo dos y. Como podemos observar na Figura 22 os pontos O, A, B, C, D e E so exemplos de solues para o conjunto de restries de Fita_l. A Tabela 28 mostra o valor assumido da funo objetivo z em cada um dos pontos selecionados:

You might also like