PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX Professor: D.Sc. Dalessandro Soares Vianna [email protected] [email protected] [email protected] Agradecimentos O material apresentado durante este curso é baseado nas notas de aula dos professores: Edwin Benito Mitacc Meza e Fermín Alfredo Tang Montané, professores do programa de Mestrado em Pesquisa Operacional e Inteligência Computacional da Universidade Candido Mendes Campos. Pesquisa Operacional A 2 Solução de Modelos de PL Método Gráfico Método Simplex Método Simplex Dual Método Simplex Método Simplex É um procedimento iterativo que permite ir melhorando a solução de um PPL a cada passo. O processo termina quando não é possível seguir melhorando uma determinada solução. Pesquisa Operacional A 5 Método Simplex É um procedimento iterativo que permite ir melhorando a solução de um PPL a cada passo. O processo termina quando não é possível seguir melhorando uma determinada solução. x2 Caminha pelos vértices até encontrar uma solução que não possua soluções vizinhas melhores que ela R 3 : x1 4 (0,9) (2, 6) (4, 6) R 2 : 2 x2 12 (0, 6) (4,3) Parte do valor da F.O. de um vértice qualquer que pertença a o espaço de soluções viáveis. R1 : 3x1 2 x2 18 (0, 0) Pesquisa Operacional A x1 (4, 0) (6, 0) 6 Método Simplex A solução ótima pode não existir: Quando não há uma solução viável (restrições incompatíveis); Quando não há um valor máximo (ou mínimo) da F.O. (1 ou mais variáveis tendem ao infinito e as restrições continuarem sendo satisfeitas). Pesquisa Operacional A 7 Fundamentos O modelo de um PPL pode ser resolvido pela solução de um sistema de equações lineares Transformação de um PPL em um sistema de equações equivalentes FORMA CANÔNICA FORMA PADRÃO MAX Z 3x1 5 x2 MAX Z 3 x1 5 x2 sujeito a : sujeito a : x1 4 f1 x1 2 x2 12 2 x2 3x1 2 x2 18 3 x1 2 x2 x1 , x2 0 4 f2 12 f 3 18 x1 , x2 , f1 , f 2 , f 3 0 Pesquisa Operacional A 8 Procedimentos (forma canônicaforma padrão) Minimizar Z 3 x1 2 x2 Minimizar Z 3x1 2 x2 sujeito a: 5x1 4 x2 14 sujeito a: 5x1 4 x2 f1 14 3x1 4x2 f2 8 x1 , x2 , f1 , f2 0 3 x1 4 x2 8 x1 , x2 0 3x1 4 x2 14 8 f2 f1 5x1 4 x2 Para restrições de desigualdade “”: “”: A conversão é feita subtraindo adicionandoà equação à equaçãouma umavariável variávelartificial artificialf j 0. f j 0. Pesquisa Operacional A 9 Procedimentos (forma canônicaforma padrão) FORMA CANÔNICA FORMA PADRÃO MAX Z 3x1 5 x2 MAX Z 3 x1 5 x2 sujeito a : sujeito a : x1 4 f1 x1 2 x2 12 2 x2 3x1 2 x2 18 3 x1 2 x2 4 f2 12 f 3 18 x1 , x2 , f1 , f 2 , f 3 0 x1 , x2 0 O problema se transformou em encontrar uma solução de um sistema de equações lineares que maximize a F.O. Variáveis: n=5 Restrições: m=3 n>m Pesquisa Operacional A 10 Método de Enumeração das Soluções Básicas MAX Z 3 x1 5 x2 sujeito a : f1 x1 2 x2 Analisando, podemos dizer que atribuir zero a uma variável significa não produzir um dos produtos ou utilizar toda a disponibilidade de recursos. 4 f2 3 x1 2 x2 12 f 3 18 x1 , x2 , f1 , f 2 , f 3 0 (n-m) variáveis iguais a zero solução básica O número de soluções básicas possíveis n n! C m m! n m! n m 5 5! C 10 soluções 3 3! 2 ! básicas 5 3 possíveis Pesquisa Operacional A 11 Método de Enumeração das Soluções Básicas MAX Z 3x1 5 x2 sujeito a : f1 x1 2 x2 4 f2 3x1 2 x2 12 f3 18 x1 , x2 , f1 , f 2 , f3 0 Variáveis não básicas: São as variáveis zeradas, igual a (n-m) variáveis. Variáveis básicas: São as variáveis cujos valores são calculados pelo sistema de equações. 1ª Combinação: Variáveis Não Básicas: ( x1, x2 ) (0,0) Variáveis Básicas: ( f1, f2 , f3 ) (4,12,18) Solução Básica: ( x1, x2 , f1, f2 , f3 ) (0,0, 4,12,18) Solução Viável !!! Z 0 Pesquisa Operacional A 12 Método de Enumeração das Soluções Básicas 2ª Combinação: Variáveis Não Básicas: ( x1 , f1 ) (0,0) Variáveis Básicas: ( x2 , f 2 , f3 ) Não existe Base Associada !!!! Solução Básica: Não existe !!! 3ª Combinação: Variáveis Não Básicas: ( x1, f2 ) (0,0) Variáveis Básicas: Solução Básica: ( x2 , f1, f3 ) (6, 4,6) ( x1, x2 , f1 , f 2 , f3 ) (0,6, 4,0,6) Solução Viável !!! Z 30 4ª Combinação: Variáveis Não Básicas: ( x1, f3 ) (0,0) Variáveis Básicas: ( x2 , f1 , f 2 ) (9, 4, 6) Solução Básica: ( x1 , x2 , f1 , f 2 , f3 ) (0,9, 4, 6,0) Solução Inviável !!! Continuar ....... Pesquisa Operacional A 13 Método de Enumeração das Soluções Básicas Solução Básica (x1, x2, f1, f2, f3) F.O. Observação 1 (0,0,4,12,8) 0 Viável 2 ---- ---- Não existe 3 (0,6,4,0,6) 30 Viável 4 (0,9,4,-6,0) ---- Inviável 5 (4,0,0,12,6) 12 Viável 6 ---- ---- Não existe 7 (6,0,-2,12,0) ---- Inviável 8 (4,6,0,0,-6) ---- Inviável 9 (4,3,0,6,0) 27 Viável 10 (2,6,2,0,0) 36 Viável Pesquisa Operacional A 14 Método de Enumeração das Soluções Básicas Solução Básica (x1, x2, f1, f2, f3) F.O. Observação 1 (0,0,4,12,8) 0 Viável 2 ---- ---- Não existe 3 (0,6,4,0,6) 30 Viável 4 (0,9,4,-6,0) ---- Inviável 5 (4,0,0,12,6) 12 Viável 6 ---- ---- Não existe 7 (6,0,-2,12,0) ---- Inviável 8 (4,6,0,0,-6) ---- Inviável 9 (4,3,0,6,0) 27 Viável x2 (2, 6) (2,6,2,0,0) 36 (4, 6) R 2 : 2 x2 12 (0, 6) (4,3) R1 : 3x1 2 x2 18 (0, 0) 10 R 3 : x1 4 (0,9) Viável Pesquisa Operacional A x1 (4, 0) (6, 0) 15 Método de Enumeração das Soluções Básicas No problema vimos que n=5 (número de variáveis) e m=3 (número de restrições) tem 5 5! C 10 soluções básicas possíveis 3 3! 2 ! 5 3 No caso de n=10 e m=5 teremos: No caso de n=20 e m=10 teremos: 10 10! C10 252 5 5 5! 5! 20 20! C 184.756 10 10!10! 20 10 Problemas de grande porte Pesquisa Operacional A 16 Desenvolvimento do Método Simplex Método gráfico e enumeração Problemas Reais Sistemática? Simplex!!! Inviável Qual o sistema de equações que deve ser resolvido; Qual é o próximo sistema a ser resolvido que fornecerá uma solução melhor que os anteriores; Como identificar uma solução ótima, uma vez que tenhamos encontrado. Pesquisa Operacional A 17 Método Simplex - Passo 1 Transformar o PPL da sua forma Canônica para sua forma Padrão. FORMA CANÔNICA FORMA PADRÃO MAX Z 3x1 5 x2 MAX Z 3 x1 5 x2 sujeito a : sujeito a : x1 4 f1 x1 2 x2 12 2 x2 3x1 2 x2 18 3 x1 2 x2 4 f2 12 f 3 18 x1 , x2 , f1 , f 2 , f 3 0 x1 , x2 0 Pesquisa Operacional A 18 Método Simplex - Passo 2 Montar um quadro para ordenarmos as operações, colocando neles apenas os coeficientes das variáveis. MAX Z 3 x1 5 x2 MAX Z 3x1 5x2 0 x1 f1 4 2 x2 f2 12 3 x1 2 x2 f 3 18 s.a. A solução inicial será sempre obtida fazendo as variáveis originais x1 , x2 , f1 , f 2 , f 3 0 do modelo iguais a zero e achando o valor das demais. Quadro Inicial Variáveis na Solução f1 f2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 2 0 1 2 0 0 -5 0 0 Pesquisa Operacional A f3 0 0 1 0 Valores da Solução 4 12 18 0 19 Método Simplex - Passo 3 Quadro Inicial Variáveis na Solução f1 f2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 2 0 1 2 0 0 -5 0 0 f3 0 0 1 0 Valores da Solução 4 4/0= 12 12/2=6 18 18/2=9 0 Das variáveis não básicas na primeira solução, qual deve-se tornar positiva ? Deve Entra:ser x2a variável que MAIS CONTRIBUI para o lucro Das 3 variáveis básicas na primeira solução, qual deverá ser anulado? Sai: f2aquela associada à linha que tiver o menor quociente entre o Será elemento da última coluna e o correspondente elemento da coluna de entrada. Pesquisa Operacional A 20 Método Simplex - Passo 3 Quadro Inicial Equação Pivô Variáveis na Solução f1 f2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 2 0 1 2 0 0 -5 0 0 f3 0 0 1 0 Valores da Solução 4 12 18 0 Pivô Para a mudança da base (na busca por outra solução) emprega-se 2 operações de cálculo: 1. Na equação do Pivô: Nova Equação do Pivô = Equação do Pivô Pivô 2. Nas demais equações incluindo Z: Gera uma nova solução básica Coeficiente da Nova Equação Nova Equação = Equação anterior Coluna de Entrada do Pivô Pesquisa Operacional A 21 Método Simplex - Passo 3 Variáveis na Solução f1 f2 f3 Z Variáveis na Solução f1 x2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 2 0 1 2 0 0 -5 0 0 f3 0 0 1 0 Valores da Solução 4 12 18 0 x1 Variáveis de Decisão x2 f1 f2 f3 Valores da Solução 0 1 0 6 0 1/2 Pesquisa Operacional A 22 Método Simplex - Passo 3 Variáveis na Solução f1 f2 f3 Z Variáveis na Solução f1 x2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 2 0 1 2 0 0 -5 0 0 x1 1 0 Variáveis de Decisão x2 f1 f2 0 1 0 1 0 1/2 Pesquisa Operacional A f3 0 0 1 0 Valores da Solução 4 12 18 0 f3 0 0 Valores da Solução 4 6 23 Método Simplex - Passo 3 Variáveis na Solução f1 f2 f3 Z Variáveis na Solução f1 x2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 2 0 1 2 0 0 -5 0 0 x1 1 0 3 Variáveis de Decisão x2 f1 f2 0 1 0 1 0 1/2 0 0 -1 Pesquisa Operacional A f3 0 0 1 0 Valores da Solução 4 12 18 0 f3 0 0 1 Valores da Solução 4 6 6 24 Método Simplex - Passo 3 Variáveis na Solução f1 f2 f3 Z Variáveis na Solução f1 x2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 2 0 1 2 0 0 -5 0 0 x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 1 0 1/2 0 0 -1 0 0 5/2 Pesquisa Operacional A f3 0 0 1 0 Valores da Solução 4 12 18 0 f3 0 0 1 0 Valores da Solução 4 6 6 30 25 Método Simplex - Passo 3 Quadro I Variáveis na Solução f1 x2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 1 0 1/2 0 0 -1 0 0 5/2 f3 0 0 1 0 Valores da Solução 4 6 6 30 Como nos elementos da ÚLTIMA LINHA (Equação do Z) existe ainda um NÚMERO NEGATIVO, significa que NÃO CHEGAMOS AINDA À SOLUÇÃO ÓTIMA do PPL. Temos que REPETIR o processo. Pesquisa Operacional A 26 Método Simplex - Passo 3 Quadro I Variáveis na Solução f1 x2 f3 Z x1 1 0 3 -3 Variáveis de Decisão x2 f1 f2 0 1 0 1 0 1/2 0 0 -1 0 0 5/2 f3 0 0 1 0 Valores da Solução 4 6 6 30 f3 -1/3 0 1/3 1 Valores da Solução 2 6 2 36 4/1=4 6/0= 6/3=2 Quadro II Variáveis na Solução f1 x2 x1 Z x1 0 0 1 0 Variáveis de Decisão x2 f1 f2 0 1 1/3 1 0 1/2 0 0 -1/3 0 0 3/2 Pesquisa Operacional A 27 Método Simplex - Passo 3 Quadro II Variáveis na Solução f1 x2 x1 Z x1 0 0 1 0 Variáveis de Decisão x2 f1 f2 0 1 1/3 1 0 1/2 0 0 -1/3 0 0 3/2 f3 -1/3 0 1/3 1 Valores da Solução 2 6 2 36 Como todas as VARIÁVEIS NA ÚLTIMA LINHA tem COEFICIENTES POSITIVOS foi encontrado a SOLUÇÃO ÓTIMA. SOLUÇÃO ÓTIMA x1 2 x2 6 Pesquisa Operacional A Z 36 28