Preview only show first 10 pages with watermark. For full document please download

Método Simplex

Funcionamento do SIMPLEX

   EMBED


Share

Transcript

APLICAÇÃO DO MÉTODO DE SOLUÇÃO SIMPLEX Carlos Lázaro Menco, UFSM Resumo: O problema clássico de programação linear consiste na alocação de recursos limitados a atividades em competição, de forma ótima. O método Simplex tem aplicação em diversas áreas, tales como economia, produção, ventas, etc. Com este artigo busca se que o engenheiro elétrico tenha uma familiaridade maior com a formulação geral do problema e tenha condições de modelar problemas utilizando esta importante técnica de otimização; pelo qual é apresentado um problema didático, no qual são aplicados conceitos da programação linear. A formulação do problema a ser resolvido por programação linear segue alguns passos básicos: • Deve ser definido o objetivo básico do problema, ou seja, a otimização a ser alcançada. Por exemplo, maximização de lucros, ou de desempenhos, ou de bemestar social; minimização de custos, de perdas, de tempo. Tal objetivo será representado por uma função objetivo, a ser maximizada ou minimizada. • Para que esta função objetivo seja matematicamente especificada, devem ser definidas as variáveis de decisão envolvidas. Por exemplo, número de máquinas, a área a ser explorada, as classes de investimento à disposição etc. Normalmente, assume-se que todas estas variáveis possam assumir somente valores positivos. • Estas variáveis normalmente estão sujeitas a uma série de restrições, normalmente representadas por inequações. Por exemplo, quantidade de equipamento disponível, tamanho da área a ser explorada, capacidade de um reservatório, exigências nutricionais para determinada dieta etc. Palavras chaves: Programação linear, método simplex, maximização, técnica de otimização. I. INTRODUÇÃO. O primeiro estudo abrangente da programação linear, contendo aspectos de modelagem e resolução foi realizada em 1947, por George Dantzig, com base em problemas militares de atribuição de atividades. Dantzig fez uma contribuição para a matemática por o qual ele é o mais famoso, o método “simplex” de otimização. Ele cresceu a partir de seu trabalho com a Força Aérea dos EUA, onde ele se tornou um especialista em métodos de planejamento resolvidos com calculadoras de mesa. O problema geral de programação linear é utilizado para otimizar (maximizar ou minimizar) uma função linear de variáveis, chamada de "função objetivo", sujeita a uma série de equações ou inequações lineares, chamadas restrições. ________________________________________ C. Lázaro Menco, é estudante de Pós-graduação em Engenharia Elétrica na Universidade Federal de Santa Maria, UFSM/RS. Todas essas expressões, entretanto, devem estar de acordo com a hipótese principal da programação linear, ou seja, todas as relações entre as variáveis devem ser lineares. Isto implica proporcionalidade das quantidades envolvidas. Esta característica de linearidade pode ser interessante no tocante à simplificação da estrutura matemática envolvida, mas prejudicial na representação de fenômenos não lineares (por exemplo, funções de custo tipicamente quadráticas). Página | 1 II. FORMULAÇÃO DE MODELOS. O problema geral de programação linear pode ser definido por: Estes artifícios são mostrados a seguir: - Maximizar (ou minimizar)         ⋯    A minimização de uma função z(x) é matematicamente análoga à maximização da negativa desta função (-z(x)). Sujeito a:       ⋯    , ,         ⋯    , ,         ⋯    , ,   a. Minimização de uma função: Exemplo: Minimizar         ⋯    É equivalente a: Onde:  ,  , … ,  0 Maximizar           ⋯    Com ′    III. O MÉTODO DE SOLUÇÃO SIMPLEX. O Método Simplex caminha pelos vértices da região viável até encontrar uma solução que não possua soluções vizinhas melhores que ela, ver figura 1. Esta é a solução ótima. A solução ótima pode não existir em dois casos: quando não há nenhuma solução viável para o problema, devido a restrições incompatíveis; ou quando não há máximo (ou mínimo), isto é, uma ou mais variáveis podem tender a infinito e as restrições continuarem sendo satisfeitas, o que fornece um valor sem limites para a função objetivo. Essa é uma das formas de se resolver os problemas de minimização utilizando o mesmo algoritmo. Caso que queira resolver diretamente, devemos alterar o critério de entrada das variáveis na base. A variável que entra na base passa a ser aquela que tem o maior valor positivo na linha z-transformada. Caso todas tenham coeficientes negativos ou nulos, a solução obtida é ótima. b. Restrições de limite inferior (≥): Uma desigualdade em uma direção (≤ ou ≥) pode ser mudada para uma desigualdade na direção oposta, pela multiplicação de ambos os lados da desigualdade por (-1). Exemplo:       É equivalente a:          Figura 1. Vértices da região viável IV. CONSIDERAÇÕES MATEMÁTICAS. Na modelagem de um problema de programação linear, algumas situações específicas podem ocorrer, o que pode levar a casos em uma forma matemática diferente da apresentada até o momento. Entretanto, alguns artifícios matemáticos ajudam a reduzir o modelo obtido à forma padrão estudada. c. Restrições de igualdade: Uma equação pode ser substituída por duas desigualdades de direções opostas. Exemplo:        É equivalente a duas desigualdades simultâneas:              Página | 2 V. PROCEDIMENTO DO MÉTODO SIMPLEX. O Método Simplex é um procedimento matricial para resolver o modelo de programação linear na forma normal. - Passo 3: Use operações 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. Max cx Sujeito a: Ax≤b x≥0 - Passo 4: Substitua a variável x existente na linha pivô e primeira coluna pela variável x da primeira linha e coluna pivô. Esta nova primeira coluna é o novo conjunto de variáveis básicas. - Passo 5: Repita os passos de 1 a 4 até a inexistência de números negativos na última linha, excluindo-se desta apreciação a última coluna. Figura 2. Quadro simplex. T C : vetor linha dos custos correspondentes. X: é o vetor coluna de incógnitas (incluindo variáveis de folga, excesso e artificiais). A: é a matriz de coeficientes das equações de restrições. B: é o vetor coluna dos valores à direita das equações representando as restrições. X0: é o vetor coluna de variáveis de folga e artificiais. C0: é o vetor coluna de custo associado com as variáveis em X0. - Passo 1: Localize o número mais negativo da última linha do quadro simplex, excluída a última coluna, e chame a coluna em que este número aparece de coluna de trabalho. Se existir mais de um candidato a número mais negativo, escolha um. - Passo 2: Forme quocientes da divisão de cada número positivo da coluna de trabalho pelo elemento da última coluna 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 não terá solução. - Passo 6: A solução ótima é obtida atribuindo-se a cada variável da primeira coluna o valor da linha correspondente, na última coluna. Às demais variáveis é atribuído o valor zero. O valor ótimo da função objetivo, associado a Z, é o número resultante na última linha, última coluna, nos problemas de maximização ou o negativo deste número, nos problemas de minimização. - EXERCÍCIO: Maximizar     9   Sujeito a:   2  3  9 3  2  2  15  ,  ,  0 Onde Coluna de trabalho X1 X2 X3 X4 X5 X4 1 2 3 1 0 9 X5 3 2 2 0 1 15 Z -1 -9 -1 0 0 0 Numero mais negativo da ultima linha Página | 3 Solução: Tomamos o menor valor, e denominamos linha pivô. X1 X2 X3 X4 X5 X4 1 2* 3 1 0 9 9/2=4,5 X5 3 2 2 0 1 15 15/2=7,5 Z -1 -9 -1 0 0 0 X1 X2 X3 X4 X5 X4 1/2 1* 3/2 1/2 0 9/2 X5 3 2 2 0 1 15 Z -1 -9 -1 0 0 0 X4 X1 X2 (9/2) (9) 1/2 1* X5 Z X4 X3 3 2 (7/2) (0) -1 -9 X4 3/2 1/2 2 0 (25/2) (9/2) 0 (0) (81/2) 0 9/2 1 15 (0) (81/2) 0 0 X1 X2 X3 X4 X5 (-1) (-2) (-3) (-1) (0) (-9) 1* 3/2 1/2 0 9/2 (2) (0) (-1) (-1) (1) (6) X5 3 2 2 0 1 15 Z 7/2 0 25/2 9/2 0 81/2 X2 X3 Dados: (Linha Pivô)/2 G1 5.000 50 90 Capacidade de produção (MWh) Custo de produção (R$/MWh) Tarifa de venda (R$/MWh) Máximo custo de produção total (R$) X4 Reduzindo a zero o elemento -9 da ultima linha. Multiplica-se por 9 a linha pivô: e faça uma soma algébrica com a linha que contem o elemento -9. Reduzindo a zero o elemento 2. Multiplica-se por -2 a linha pivô: e faça uma soma algébrica com a linha que contem o elemento 2. 1/2 X1 VI. CASO DE APLICAÇÃO. Produção de Energia: Um produtor dispõe de 2 unidades de geração, as tarifas para a venda de energia são distintos para os 2 geradores. O produtor deseja vender o máximo possível, mas não quer gastar acima de um valor préestabelecido. G2 7.000 100 120 800.000 X5 (27/2) (9/2) -1 X2 = 9/2, X5 = 6 X1 = X3 = X4 = 0 Z = 81/2 X5 X2 1/2 1* 3/2 1/2 0 9/2 X5 2 0 -1 -1 1 6 Z 7/2 0 25/2 9/2 0 81/2 Max   90  120 s.a.   5.000   7.000 50  100  800.000  ,  0 Então nós temos que: !   90  120  0     5.000   "  7.000 50  100  #  800.000  ,  0  , " , # 0 ==> variáveis residuais Quadro simplex: Solução inicial: X1 X2 X3 X4 X5 X3 1 0 1 0 0 5.000 5.000/0=ind X4 0 1 0 1 0 7.000 7.000/1=7.000 X5 50 100 0 0 1 800.000 Z -90 -120 0 0 0 0 Solução, pois não existe números negativos na última linha. Página | 4 800.000/100=8000 X1 X2 X3 X4 X5 1 0 1 0 0 5.000 0 120 0 120 0 840.000 0 1* 0 1 0 7.000 X3 X4 X5 50 -90 Z -90 X1 X2 X3 X4 100 0 0 1 800.000 0 0 -120 0 120 0 840.000 0 0 0 X3 X4 X5 1 0 1 0 0 5.000 0 -100 0 -100 0 -700.000 0 1* 0 1 0 7.000 50 0 0 -100 1 100.000 X5 50 100 0 0 1 800.000 Z -90 0 0 120 0 840.000 Outra solução: X3 X1 X2 X3 X4 X5 X3 1 0 1 0 0 5.000 X2 0 1 0 1 0 7.000 90 0 0 -180 9/5 180.000 X5 1* 0 0 -2 1/50 2.000 0 0 0 -60 9/5 1.020.000 Z -90 0 0 120 0 840.000 X1 X2 X3 X4 X5 0 0 1 2 -1/50 3.000 X3 1 0 1 0 0 5.000 X2 0 1 0 1 0 7.000 -1 0 0 2 -1/50 -2.000 X5 1* 0 0 -2 1/50 2.000 Z 0 0 0 -60 9/5 1.020.000 Outra solução: X1 X2 X3 X4 X5 1 0 1 0 0 X1 X2 X3 X4 X5 0 0 1 2* -1/50 5.000 X3 3.000 5.000/1=5.000 X2 0 1 0 1 0 7.000 100.000/50=2000 X5 50* 0 0 -100 1 100.000 Z -90 0 0 120 0 840.000 3.000/2=1500 7.000/0=ind X2 0 1 0 1 0 7.000 7.000/1=7.000 2.000/-2= - 1.000 (não pode ser negativo) X1 X2 X3 X4 X5 X3 1 0 1 0 0 5.000 X2 0 1 0 1 0 7.000 50/50 0 0 -100/50 1/50 100.000/50 X5 1* 0 0 -2 1/50 2000 Z -90 0 0 120 0 840.000 X1 1 0 0 -2 1/50 2.000 Z 0 0 0 -60 9/5 1.020.000 X1 X2 X3 X4 X5 0 0 1/2 2/2 -1/100 3.000/2 X3 0 0 1 2* -1/50 3.000 X2 0 1 0 1 0 7.000 X1 1 0 0 -2 1/50 2.000 Z 0 0 0 -60 9/5 1.020.000 Página | 5 X1 X2 X3 X4 X5 0 0 30 60 -60/100 90.000 X3 0 0 1/2 1* -1/100 1.500 X2 0 1 0 1 0 7.000 X1 1 0 0 -2 1/50 2.000 0 0 30 0 6/5 1.110.000 Z 0 0 0 -60 9/5 1.020.000 X1 X2 X3 X4 X5 0 0 1 2 -2/100 3.000 X3 0 0 1/2 1* -1/100 1.500 X2 0 1 0 1 0 7.000 1 0 1 0 0 5.000 1 0 0 -2 1/50 2.000 X1 Z X3 0 0 30 0 6/5 X1 X2 X3 X4 X5 0 0 -1/2 -1 1/100 1.110.000 -1.500 0 0 1/2 1* -1/100 1.500 0 1 -1/2 0 1/100 5.500 X2 0 1 0 1 0 7.000 X1 1 0 1 0 0 5.000 Z 0 0 30 0 6/5 1.110.000 produção do G2 (X2=5.500 MWh) é menor que sua capacidade máxima, devido à restrição de máximo custo de produção total (R$ 800.000). VII. CONCLUSÕES. Esta técnica de otimização é uma ferramenta útil para obtiver um maior aproveitamento dos recursos disponíveis, satisfazendo restrições e alcançando uma solução ótima ao problema proposto. O Simplex é empregado em muitas áreas; tais como: economia, engenharia, farmácia, nutrição, entre outros; já que com esta técnica conseguimos maximizar o lucro, ou minimizar os custos, ou um certo índice de qualidade, etc. Atualmente na maioria dos softwares matemáticos incluem este método, para seu utilidade de forma fácil y rápida, tais como MATLAB, OTIMIZA, SOLVER(em Excel), entre outros. VIII. REFERÊNCIAS. [1] N. Kagan, C.C.B. Oliveira, H. P. Schmidt, H. Kagan. Metodos de otimização aplicados a sistemas elétricos de potência. [2] G. B. Dantzing. Linear programming and extensions, Princeton University Press, Princeton, New Jersey, 1963. [3] J. P. Ignizio, T. M. Cvalier. Linear programming, Prentice-Hall, 1994. [4] Leon S. Lasdon. Optimization Theory for large systems. Collier-Macmillan, London 1972. Solução ótima: X1 X2 X3 X4 X5 X4 0 0 1/2 1* -1/100 1.500 X2 0 1 -1/2 0 1/100 5.500 X1 1 0 1 0 0 5.000 Z 0 0 30 0 6/5 1.110.000 Observa-se que a solução ótima é utilizar a capacidade máxima do G1 (X1=5.000 MWh), que tem um custo de produção menor (50 R$/MWh) e uma margem de lucro na venda maior (Margem=Tarifa de venda-Custo de produção). A Página | 6