Método Simplex Montar um dicionário inicial Olhando a equação do z, escolha uma variável não-básica xin cujo aumento melhoraria a solução corrente do dicionário (coeficiente negativo se for minimização, positivo se for maximização). Se não houver tal variável, a solução corrente é ótima. Calcule o máximo valor para xin que não torne uma variável básica negativa. Se esse valor for infinito, o PL é ilimitado. Caso contrário, escolha uma variável xout que bloqueou o crescimento de xin. A variável xin entra na base, xout sai da base. Atualize o dicionário colocando xin isolado do lado esquerdo, xout vai pro lado direito. Volte para o Passo 2.
Como montar o dicionário inicial? Isso só é óbvio quando a matriz A já contém uma base viável que seja uma matriz-identidade. Por exemplo, quando todas as restrições são do tipo ≤ e o vetor b for não-negativo, as variáveis de folga definem uma base-identidade viável. Em geral, não existe maneira simples de montar o primeiro dicionário. Apenas saber se existe alguma solução para um PL pode ser difícil!
Pesquisa Operacional I Inicialização do método simplex Prof.: Eduardo Uchoa uchoa@producao.uff.br http://www.logis.uff.br/~uchoa/POI
O método do M Grande sujeito a x1 + x2 2 - x1 + x2 1 x2 3 Exemplo: Minimizar x1 – 2 x2 sujeito a x1 + x2 2 - x1 + x2 1 x2 3 x1, x2 0
Colocando o PL no formato padrão Exemplo: Minimizar x1 – 2 x2 sujeito a x1 + x2 2 - x1 + x2 1 x2 3 x1, x2 0 Min x1 – 2 x2 s . a x1 + x2 - x3 = 2 - x1 + x2 - x4 = 1 x2 + x5 = 3 x1, x2, x3 , x4 , x5 0 As variáveis de folga/excesso não servem para obter uma base identidade viável (se as duas primeiras igualdades forem multiplicadas por -1, o vetor b fica com valores negativos).
O método do M Grande sujeito a x1 + x2 2 - x1 + x2 1 x2 3 Adicionar duas variáveis artificiais ao PL para que exista uma base viável que seja uma identidade! Note que as variáveis de folga/excesso são “variáveis reais” do PL (não mudam o problema) e possuem coeficiente zero na F.O. Já as novas variáveis artificiais mudam o problema e, portanto, devem receber o coeficiente M (um número arbitrariamente grande, tendendo ao infinito) se o problema for de minimização e –M se for de maximização. Exemplo: Minimizar x1 – 2 x2 sujeito a x1 + x2 2 - x1 + x2 1 x2 3 x1, x2 0 Min x1 – 2 x2 + M x6 + M x7 s . a x1 + x2 - x3 + x6 = 2 - x1 + x2 - x4 + x7 = 1 x2 + x5 = 3 x1, x2, x3 , x4 , x5, x6 , x7 0
O método do M Grande Notar que: As variáveis x5, x6 e x7 definem uma base identidade viável para o PL modificado => É fácil montar o dicionário inicial para esse PL. Mas o valor da F.O. da solução associada é muito ruim, pior do que o custo de qualquer solução que não use essas variáveis (ou seja, em que elas estejam zeradas). Exemplo: Minimizar x1 – 2 x2 sujeito a x1 + x2 2 - x1 + x2 1 x2 3 x1, x2 0 Min x1 – 2 x2 + M x6 + M x7 s . a x1 + x2 - x3 + x6 = 2 - x1 + x2 - x4 + x7 = 1 x2 + x5 = 3 x1, x2, x3 , x4 , x5, x6 , x7 0
O método do M Grande Logo: Se o PL original tiver solução viável => a solução ótima do PL modificado vai ser a solução ótima do PL original (as variáveis artificiais serão não-básicas e terão valor zero). Se o PL original for inviável => a solução ótima do PL modificado vai ter alguma variável artificial não-zerada. Exemplo: Minimizar x1 – 2 x2 sujeito a x1 + x2 2 - x1 + x2 1 x2 3 x1, x2 0 Min x1 – 2 x2 + M x6 + M x7 s . a x1 + x2 - x3 + x6 = 2 - x1 + x2 - x4 + x7 = 1 x2 + x5 = 3 x1, x2, x3 , x4 , x5, x6 , x7 0
O método do M Grande A solução associada (0,0) viola duas restrições x1 2 x2 3 A solução associada (0,0) viola duas restrições do problema original
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande Quando uma variável artificial sai da base, ela nunca mais volta (devido a seu custo infinito) => x7 pode ser retirada do dicionário
O método do M Grande A nova solução viola apenas uma restrição x2 x1 3
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande A variável artificial x6 pode ser eliminada
O método do M Grande x1 2 x2 3 Todas as variáveis artificiais foram eliminadas. Logo, essa solução é viável para o problema original! Agora basta prosseguir com o método até a solução ótima.
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande x1 2 x2 3
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande
O método do M Grande Não existem variáveis que, quando aumentadas, resultem em redução do valor da função objetivo. Logo, a solução encontrada neste dicionário é ótima.
O método do M Grande x1 = 0 x2 = 3 z = -6 Não existem variáveis que, quando aumentadas, resultem em redução do valor da função objetivo. x1 2 x2 3 A solução associada a este dicionário é ótima e dada por: x1 = 0 x2 = 3 Esta solução resulta em: z = -6
O método do M Grande Min 2 x1 + 4 x2 S.a 1,5 x1 + 4,0 x2 24 10 15 x2 Min 2 x1 + 4 x2 S.a 1,5 x1 + 4,0 x2 24 3,0 x1 + 1,5 x2 21 1,0 x1 + 1,0 x2 8 x1, x2 0 Min 2 x1 + 4 x2 +M x6 +M x7 1,5x1+ 4,0x2 - 1,0x3 + 1,0x6 = 24 3,0x1+ 1,5x2 - 1,0x4 + 1,0x7 = 21 1,0x1+ 1,0x2 + 1,0x5 = 8 x1, x2, x3 , x4 , x5 , x6 , x7 0
O método do M Grande
O método do M Grande
O método do M Grande Coeficientes positivos, solução ótima.
O método do M Grande Como há variável artificial com valor positivo na solução ótima, o problema original é inviável.
O método do M Grande É possível executar o método de duas formas: Tratar M algebricamente (como estamos fazendo) - Preferível, sempre funciona Atribuir um valor numérico suficientemente grande para M Em alguns raros casos pode ser difícil achar um valor adequado. Valor baixo demais: o método termina com variável artificial positiva apesar de haver solução viável. Valor alto demais: estouro numérico no computador
O método das duas fases Uma alternativa para inicializar o método simplex Na Fase 1, ignora-se a FO original. Na nova FO, as variáveis artificiais tem coeficiente 1 e as demais 0. Se a solução ótima desse PL modificado tiver z > 0 => PL original inviável. Caso contrário, todas as variáveis artificiais foram eliminadas => a base inicial do PL original está pronta Na Fase 2, restaura-se a FO original (de acordo com essa base) e resolve-se o PL
O método das duas fases sujeito a x1 + x2 2 Exemplo: minimizar x1 – 2 x2 sujeito a x1 + x2 2 - x1 + x2 1 x2 3 x1, x2 0 min Z - x1 + 2 x2 s. a x1 + x2 - x3 + x6 = 2 - x1 + x2 - x4 + x7 = 1 x2 + x5 = 3 x1, x2 , x3 , x4 , x5 , x6 , x7 0 FASE 1: min x6 + x7 s. a x1 + x2 - x3 + x6 = 2 - x1 + x2 - x4 + x7 = 1 x2 + x5 = 3 x1, x2 , x3 , x4 , x5 , x6 , x7 0
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases Fase 1
O método das duas fases x1 = ½, x2 = 3/2, x5 = 3/2 z = 0 Fase 1 Fim da fase 1 Foi encontrada uma solução básica viável: x1 = ½, x2 = 3/2, x5 = 3/2 z = 0
Restaurando a FO original Fase 2
O método das duas fases Fase 2 A FO deve ser escrita em função das variáveis não-básicas x3 e x4
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2
O método das duas fases Fase 2 x1 = 0, x2 = 3 Z = -6 Fim da fase 2. A solução associada ao 3º dicionário é ótima e é dada por: x1 = 0, x2 = 3 Z = -6 x1 2 x2 3 Coeficientes positivos, solução ótima.
OBSERVAÇÃO Este material refere-se às notas de aula do curso TEP117 (Pesquisa Operacional I) da Universidade Federal Fluminense (UFF) e foi criado a partir das notas do Prof. Rodrigo A. Scarpel do ITA (www.mec.ita.br/~rodrigo) e não pode ser reproduzido sem autorização prévia de ambos os autores. Quando autorizado, seu uso é exclusivo para atividades de ensino e pesquisa em instituições sem fins lucrativos.