Professor: Rodrigo A. Scarpel rodrigo@ita.br www.mec.ita.br/~rodrigo
Programa do curso: Semana : Apresentação da disciplina Introdução à Programação Linear Resolução de problemas de PL pelo Método Gráfico Semana 2: Formulação em programação linear Resolução computacional de problemas de PL Semana 3: Resolução de problemas de PL pelo Método Simplex Semana 4: Problemas com soluções iniciais (Método das 2 fases e o Big-M) Semana 5: SBPO Semana 6: Degeneração, Ciclismo e convergência do Método Simplex (2h) Semana 7: Prova Feed-back Prova Semana 8: Programação por metas Entrega e correção do Trabalho
Professor: Rodrigo A. Scarpel rodrigo@ita.br www.mec.ita.br/~rodrigo
Método Simplex para problemas de minimização: ALTERNATIVAS:. RESOLVER COMO UM PROBLEMA DE MAXIMIZAÇÃO DE - Z FO: MIN Z = 2*x - 3*x 2 MAX -Z = -2*x + 3*x 2 S.A. x + x 2 4 x - x 2 6 x, x 2 X X2 X3 X4 RHS Z 2-3 X3 4 X4-6 Z 5 3 2 X3 4 X4 2 COMO Z=2 Z= 2
Método Simplex para problemas de minimização: ALTERNATIVAS: 2. MODIFICAR O MÉTODO SIMPLEX Inicialização: Encontrar uma solução básica viável ( B). Passo principal: Seja z k - c k = Máximo {z j - c j : j R}. Se z k - c k pare - a solução é ótima. Caso contrário examine y k. Se y k Se y k pare a solução ótima é ilimitada. determine o índice r como: Atualize o tableau pivotando em y ik (atualize as variáveis básicas e as não básicas com x k que entra na base e x i que sai). Repita o passo principal r Minimo i m b y i ik : y ik
Método Simplex para problemas de minimização: ALTERNATIVAS: 2. MODIFICAR O MÉTODO SIMPLEX FO: MIN Z = 2*x - 3*x 2 S.A. x + x 2 4 x - x 2 6 x, x 2 X X2 X3 X4 RHS Z -2 3 X3 4 X4-6 Z -5-3 -2 X3 4 X4 2
A matemática do método simplex: FO: Maximizar Z = 4,*x madeira + 6,*x alumínio S.A.,5*x madeira + 4,*x alumínio 24,5x + 4,x 2 + x 3 = 24 3,*x madeira +,5*x alumínio 2 3,x +,5x 2 + x 4 = 2,*x madeira +,*x alumínio 8,x +,x 2 + x 5 = 8 x madeira, x alumínio x, x 2, x 3, x 4, x 5 x x x x 2 x x, 3 4 5 4 6,5 4 24 c, A 3,5, b 2 8 Maximizar c T x S.A. Ax=b, x
Condições especiais múltiplas soluções ótimas: x alumínio 6 Maximizar Lucro = Z = 6,*x madeira + 6,*x alumínio 6 x madeira Z x x 2 x 3 x 4 x 5 RHS -6-6 x 3,5 4 24 x 4 3,5 2 x 5 8 Z x x 2 x 3 x 4 x 5 RHS -5/4 3/2 36 x 2 3/8 /4 6 x 4 39/6-3/8 2 x 5 5/8 -/4 2 Z x x 2 x 3 x 4 x 5 RHS 6 48 x 2 2/5-3/5 24/5 x 4 3/5-39/ 2/5 x -2/5 8/5 6/5 Z x x 2 x 3 x 4 x 5 RHS 6 48 x 2-2/3 2 2 x 3 5/3-3/2 7 x 2/3-6
Casos Solução ilimitada: x 2 Max Z= x + x 2 Max Z - x - x 2 = 5 S.A. x 2 2 -x + 2x 2 4 x, x 2 x 2 + x 3 = 2 -x + 2x 2 + x 4 = 4 x, x 2 5 x x x 2 x 3 x 4 RHS Z - - x 3 2 x 4-2 4 x x 2 x 3 x 4 RHS z - - -2 x 2 2 x 4 - -2
A matemática do método simplex: x x x x 2 x x, 3 4 5 4 6,5 4 c, A 3,5, b 24 2 8 Em cada iteração: B R x B = B -.b w = c BT.B - z = w.b = c B.B -. b c B z j - c j = w.a j - c j y k = B -. a k
A matemática do método simplex: Tableau inicial x x 2 x 3 x 4 w x 5 RHS Z -4-6 x 3,5 4 24 x 4 3,5 2 x 5 8 Base: x 3, x 4 e x 5,5 A 3,5, 4 c b x B B - B b B -. b w.b 24 2 8 24 2 8 B w c T b B Z = w b =
A matemática do método simplex: Após iteração Z x x 2 x 3 x 4 w x 5 RHS -7/4 3/2 36 x 2 3/8 /4 6 x 4 39/6-3/8 2 x 5 5/8 -/4 2 B - B -. b w.b A B Base: x 2, x 4 e x 5,5 4 3,5 4 3/ 2, c b / 4 3/ 8 / 4 6 x B w c B T b B b w 3/ 2 Z = w b = 36 / 4 3/ 8 / 4 6 24 2 8 / 4 3/ 8 / 4 6 2 2
A matemática do método simplex: Tableau final Z x x 2 x 3 x 4 w x 5 RHS 4/5 4/5 28/5 x 2 2/5-3/5 24/5 x 4 3/5-39/ 2/5 x -2/5 8/5 6/5 B - B -. b w.b A B Base: x 2, x 4 e x,5 4 3,5 4 3/ 2 3/ 2 3 6, cb 2 / 5 8 / 5 8 3, 2 4 2 / 5 3/ 5 T w cb B 6 4 3/ 5 3,9 2 / 5 3/ 5 2 / 5 8/ 5 3/ 5 3,9 2 / 5 8 / 5 x B B b w,8 2,8 2 / 5 3/ 5 24 4,8 3/ 5 3,9 2 4,2 Z = w b = 4,6
Professor: Rodrigo A. Scarpel rodrigo@ita.br www.mec.ita.br/~rodrigo
Problemas com soluções iniciais: Método simplex: inicia-se com uma solução básica viável e move-se para uma solução básica melhorada até que o ponto ótimo seja atingido (ou se obtém uma solução ilimitada). PROBLEMA: para iniciar o método deve haver uma solução básica viável (B). CASO SIMPLES: todas as restrições são do tipo Ax b, x (b ) S.A.,5*x + 4,*x 2 24 3,*x +,5*x 2 2,*x +,*x 2 8 x, x 2,5x + 4,x 2 +,x 3 = 24 3,x +,5x 2 +,x 4 = 2,x +,x 2 +,x 5 = 8 x, x 2, x 3, x 4, x 5 SOLUÇÃO BÁSICA VIÁVEL (B): X =X 2 = X 3 =24 X 4 =2 X 5 =8 (x= e x s =b)
Problemas com soluções iniciais: CASOS COMPLICADOS: restrições do tipo Ax b, x (b ) S.A.,5*x + 4,*x 2 24 3,*x +,5*x 2 2,*x +,*x 2 8 x, x 2,5x + 4,x 2 -,x 3 = 24 3,x +,5x 2 -,x 4 = 2,x +,x 2 -,x 5 = 8 x, x 2, x 3, x 4, x 5 NÃO HÁ SOLUÇÃO BÁSICA VIÁVEL (B): X =X 2 = X 3 =-24 X 4 =-2 X 5 =-8 VARIAÇÕES: Ax b, x (b ),5*x + 4,*x 2-24,5*x + 4,*x 2 +,*x 3 = -24 Ax = b, x,5*x + 4,*x 2 = 24,5*x + 4,*x 2 = 24
Problemas com soluções iniciais: ALTERNATIVA: variáveis artificiais S.A.,5*x + 4,*x 2 24 3,*x +,5*x 2 2,*x +,*x 2 8 x, x 2,5x + 4,x 2 -,x 3 +,x 6 = 24 3,x +,5x 2 -,x 4 +,x 7 = 2,x +,x 2 +,x 5 = 8 x, x 2, x 3, x 4, x 5, x 6, x 7 SOLUÇÃO BÁSICA VIÁVEL (B): X =X 2 =X 3 =X 4 = X 5 =8 X 6 =24 X 7 =2 x = e x a = b VARIÁVEIS ARTIFICIAIS É UM MECANISMO PARA SE OBTER UMA SOLUÇÃO BÁSICA VIÁVEL (INICIAL). PROBLEMA: o PPL foi modificado PARA REESTABELECER O PROBLEMA ORIGINAL DEVEMOS FAZER COM QUE AS VARIÁVEIS ARTIFICIAIS TENHAM VALOR.
Big-M: Resolva o problema de programação linear com x = e x a = b MINIMIZAR cx + Mx a S.A. Ax + x a = b x, x a Exemplo: MINIMIZAR x - 2x 2 S.A. x + x 2 2 - x + x 2 x 2 3 x 2 3 x, x 2 MIN x - 2x 2 +Mx 6 +Mx 7 S.A. x + x 2 - x 3 + x 6 = 2 - x + x 2 - x 4 + x 7 = x 2 + x 5 = 3 x, x 2, x 3, x 4, x 5, x 6, x 7 2 x Z x x 2 x 3 x 4 x 5 x 6 x 7 RHS - 2 -M -M x 6-2 x 7 - - x 5 3
Big-M: x x 2 x 3 x 4 x 5 x 6 x 7 RHS Z - 2 -M -M x 6-2 x 7 - - x 5 3 Z -+M 2+M -M -M 2M x 6-2 x 7 - - x 5 3 Z - 2+2M -M -M 3M x 6-2 x 7 - - x 5 3 Z +2M -M 2+M -2-2M -2+M x 6 2 - - x 2 - - x 5-2 Z ½,5 -½-M -,5-M -2,5 x -½ ½ ½ -½ ½ x 2 -½ -½ ½ ½,5 x 5 ½ -½,5,5 x 2 3 2 x
Big-M: x x 2 x 3 x 4 x 5 x 6 x 7 RHS Z ½,5 -½-M -,5-M -2,5 x -½ ½ ½ -½ ½ x 2 -½ -½ ½ ½,5 x 5 ½ -½,5,5 Z -3 2-2-M -M -4 x 4 2 - - x 2-2 x 5 - - - -2 -M -M -6 x 4-2 x 2 3 x 3 - - 3 x 2 Solução ótima x =, x 2 = 3 Z = -6 2 x
Big-M: quando não há soluções básicas viáveis x 2 F.O. MIN 2*x + 4*x 2 5 S.A.,5*x + 4,*x 2 24 3,*x +,5*x 2 2,*x +,*x 2 8 x, x 2 5 5 x,5x + 4,x 2 -,x 3 +,x 6 = 24 3,x +,5x 2 -,x 4 +,x 7 = 2,x +,x 2 +,x 5 = 8 x, x 2, x 3, x 4, x 5, x 6, x 7
Big-M: quando não há soluções básicas viáveis x x2 x3 x4 x5 x6 x7 RHS Z -2-4 -M -M Z -2+,5M -4+4M -M -M 24M Z -2+4,5M -4+5,5M -M -M 45M x6,5 4-24 x7 3,5-2 x5 8 Z -,5+2,4375M -+,375M -M -,375M 24+2M x2,375 -,25,25 6 x7 2,4375,375 - -,375 2 x5,625,25 -,25 2 Z,8-,6M -M,8-3,9M,8-,4M 25,6+4,2M x2 -,4 -,6,4 4,8 x7 -,6 - -3,9,6 4,2 x,4,6 -,4 3,2 x 2 5 COMO HÁ VARIÁVEIS ARTIFICIAIS NA BASE, NÃO HÁ SOLUÇÕES BÁSICAS VIÁVEIS. 5 5 x
Método das duas fases: FASE : resolva o problema de programação linear com x = e x a = b MINIMIZAR x a S.A. Ax + x a = b x, x a Se ao chegar na solução ótima x a Se x a = vá para a fase 2., o problema original não tem solução viável. FASE 2: resolva o problema de programação linear original uitlizando a solução da fase como solução básica viável (B) x B = B - b e x N = MINIMIZAR c B x B + c N x N S.A. x B + B - Nx N = B - b x B, x N
Método das duas fases: Exemplo: MINIMIZAR x - 2x 2 S.A. x + x 2 2 - x + x 2 x 2 3 x, x 2 MIN Z - x + 2x 2 S.A. x + x 2 - x 3 + x 6 = 2 - x + x 2 - x 4 + x 7 = x 2 + x 5 = 3 x, x 2, x 3, x 4, x 5, x 6, x 7 FASE : MIN x 6 + x 7 S.A. x + x 2 - x 3 + x 6 = 2 - x + x 2 - x 4 + x 7 = x 2 + x 5 = 3 x, x 2, x 3, x 4, x 5, x 6, x 7 Z x x 2 x 3 x 4 x 5 x 6 x 7 RHS - - x 6-2 x 7 - - x 5 3
Método das duas fases: Z x x 2 x 3 x 4 x 5 x 6 x 7 RHS - - x 6-2 x 7 - - x 5 3 Z x x 2 x 3 x 4 x 5 x 6 x 7 RHS - - 2 x 6-2 x 7 - - x 5 3 + + Z x x 2 x 3 x 4 x 5 x 6 x 7 RHS 2 - - 3 x 6-2 x 7 - - x 5 3
Método das duas fases: Z x x 2 x 3 x 4 x 5 x 6 x 7 RHS 2 - - -2 x 6 2 - - x 2 - - x 5-2 Z x x 2 x 3 x 4 x 5 x 6 x 7 RHS - - x -½ ½ ½ -½ ½ x 2 -½ -½ ½ ½ ³/ 2 x 5 ½ ½ -½ -½ ³/ 2 Fim da FASE : solução básica viável x =/2, x 2 = 3/2, x 5 = 3/2 Z = x 2 3 2 x
Método das duas fases: FASE 2: Z x x 2 x 3 x 4 x 5 RHS - 2 x -½ ½ ½ x 2 -½ -½ ³/ 2 x 5 ½ ½ ³/ 2 Z x x 2 x 3 x 4 x 5 RHS 2 -½ ½ ½ x -½ ½ ½ x 2 -½ -½ ³/ 2 x 5 ½ ½ ³/ 2 Z x x 2 x 3 x 4 x 5 RHS ½ ³/ 2-5 / 2 x -½ ½ ½ x 2 -½ -½ ³/ 2 x 5 ½ ½ ³/ 2
Método das duas fases: Z x x 2 x 3 x 4 x 5 RHS -3 2-4 x 4 2 - x 2-2 x 5 - Z x x 2 x 3 x 4 x 5 RHS - -2-6 x 4 2 x 2 3 x 3 - Fim da FASE 2: solução ótima x =, x 2 = 3 Z = -6 x 2 3 2 x
Para casa: Lista de Exercícios 4 Leitura Winston: 4.6 a 4.8; 4.2 e 4.3