Investigação Operacional Programação Linear Licenciatura em Engenharia Civil Licenciatura em Engenharia do Território Problema Uma firma fabrica dois produtos P e P em três máquinas M, M e M. P é processado nas máquinas M e M, enquanto na produção de P intervêm todas as máquinas. Os tempos de processamento e os lucros obtidos indicam-se no quadro abaixo: Tempo de Processamento (horas por produto) Produto M M Lucro por unidade P.5.4 P.5..8 Cada máquina tem um tempo de laboração de 4 horas por semana. Quais as quantidade semanais de P e P a produzir que maximizem o lucro obtido? M
Formulação do Problema em PL Definição de variáveis X i - quantidade do produto Pi (i=,) a fabricar por semana (unidades/semana) L - lucro semanal com a produção de P e P (unid.monetária/semana) Função Objectivo: Max L = X + X Restrições: R :.5 X +.5 X 4 R :.4 X +. X 4 R :.8 X 4 X X x R 5 R 5 Resolução pelo Método Gráfico L=6 L= L=5 L=8 L=4 5 5 X X R :.5 X +.5 X 4 R :.4 X +. X 4 R :.8 X 4 Domínio de soluções possíveis L = X + X Equivalente a: X = -/ X + L/ Família de rectas com declive / e ordenada na origem igual a L/ R Solução Óptima X =8; X =4; L=8 x 4
Forma canónica do problema de PL Max/Min F=c x + c x +...+c n x n a x +a x +...+a n x n =b a x +a x +...+a n x n =b Inequações transformadas em equações através da soma/subtracção de uma quantidade positiva ou nula (variáveis de folga) a m x +a m x +...+a mn x n =b m x ; x ;...; x n Max L = X + X.5 X +.5 X + F = 4.4 X +. X + F = 4.8 X + F = 4 X ; X F ; F ; F Termos independentes positivos ou nulos ( ). Se negativo, multiplica-se a restrição por - Todas as variáveis do problema (decisionais, folga e artificiais) são positivas ou nulas ( ). Se alguma variável não obedecer a essa condição, deverá ser efectuada a transformação de variáveis. Y Y=-W e W Y - Y=W- e W Y R Y=W + -W - e W + e W - 5 Conceitos Fundamentais Dimensão do problema Sistema indeterminado F = 4 -.5X -.5X F = 4 -.4X +.X F = 4 -.8X M equações () e N variáveis (5) podem ser definidas M () variáveis em função de N-M () variáveis. Por exemplo, escolhendo as variáveis de folga como variáveis dependentes. Solução Básica se X = e X = (variáveis não básicas) então F =4, F =4 e F =4 (variáveis básicas) Base = {F, F, F } Solução Básica Possível Se N-M () variáveis forem nulas então a solução é uma solução básica. N-M () variáveis não básicas (=) M () variáveis básicas Conjunto das variáveis básicas Uma solução básica é possível se todas as variáveis forem não negativas ( ). Variáveis não básicas nulas (=) e as 6 básicas positivas ou nulas ( )
Conceitos Fundamentais x R 5 Solução básica possível Teorema Fundamental da Programação Linear Corresponde a um vértice do domínio de soluções possíveis Se existir uma solução possível então existe uma solução básica possível Se existir uma solução óptima, então existe uma solução básica óptima R 5 Domínio de Soluções Possíveis de um problema de programação linear é um domínio convexo R L=8 5 5 x 7 Resolução por Exaustão x R 5 R 5 Nº de soluções básicas (possíveis e impossíveis) L L=8 5 5 N N! 5! = = = = M M!( N M )!!(5 )! X 6 X 8 6 7 X 8 5 4 5 5 F 4-6 5 5 X -.5 F 4 4-4 X 6 F 4-4 -4 4 4 8 5 R x 8 7 N = variáveis M = 5 equações N N!! 688 = = = = 5 M M!( N M )! 5!( 5)! 44 8 4
Resolução - Algoritmo SIMPLEX Estrutura dos algoritmos Estrutura do algoritmo SIMPLEX Inicio Inicio Definir Condições Iniciais Definir Solução Básica Inicial Regra de paragem não sim Fim Solução Óptima? não sim Fim Iteração Nova solução básica 9 SIMPLEX Solução Inicial Forma canónica do problema: Max L = X + X.5 X +.5 X + F = 4.4 X +. X + F = 4.8 X + F = 4 Solução Inicial Solução Básica possível: Variáveis não básicas: X = ; X = Variáveis básicas: F = 4; F = 4; F = 4 X ; X ; F ; F ; F X X F.5.5.4..8 Base = {F, F, F } F F 4 4 4 5
Base = {F, F, F } F F SIMPLEX Solução Óptima? X.5.4 X.5. F F F 4 4 Matriz de Identidade nas restrições para as variáveis básicas Termos independentes positivos ou nulos ( ) F.8 Problema definido em função das variáveis não básicas: L=f (X, X ) = X + X F = g (X, X ) = 4 -.5X -.5X F = g (X, X ) = 4 -.4X -.X F = g (X, X ) = 4 -.8X = / X X 4 Coeficientes nulos (=) na função objectivo para as variáveis básicas Ao maximizar/minimizar a função objectivo a solução é óptima se as suas derivadas em ordem às variáveis não básicas forem todas negativas/positivas ou nulas. Porquê? Porque o domínio de soluções possíveis é convexo. = / solução não é óptima SIMPLEX Iteração Base = {F, F, F } X X F F F F.5.5 4 F.4. 4 F.8 4 Iteração do SIMPLEX corresponde a: ) passar de uma solução básica para outra solução básica, ) trocando uma variável da base com uma variável que não pertence à base, ) nova solução é melhor ou igual que a anterior. Qual a variável que deve entrar na base? Qual a variável básica que deve sair da base? Como obter a nova solução? 6
SIMPLEX Qual a variável a entrar na base? Base = {F, F, F } X X F F F F.5.5 4 F.4. 4 F.8 4 X entra para Quando o objectivo é maximizar/minimizar a a base FO, entra para a base a variável não básica cuja derivada da FO é mais positiva/negativa. L=f (X, X ) = X + X = X se X entrar para a base, L aumenta unidades por cada unidade de X = se X entrar para a base, L aumenta unidades por cada unidade de X X SIMPLEX Qual a variável a sair da base? x R Base = {F, F, F } F X X.5.5 F F F 4 4/.5=8 5 R 5 F F.4..8 X entra para a base 4 4 4/.= 4/.8= 5 max = 5.5X +.5X + F =4 se F = X = 4/.5.4X +.X + F = 4 se F = X = 4/. +.8X + F = 4 se F = X = 4/.8 O limite ao incremento da variável que entra na base será igual ao menor dos incrementos positivos ou nulos permitidos por cada restrição: max = Mínimo{ } 5 x 4 5 R F sai da base 7
SIMPLEX Calcular nova solução Base = {F, F, F } Elemento Pivot X X F F F A F.5.5 4 4/.5=8 B F.4. 4 4/.= C F.8 4 4/.8= 5 D max = 5 X entra para a base Base = {F, F, X } A =A -.5C F.5 -.65 5 B =B -.C F.4 -.5 C =C /.8 X.5 5 D =D -C X X F F F -.75-5 Linha Pivot 5 F sai da base SIMPLEX Solução Óptima? Base = {F, F, X } X X F F F F.5 -.65 5 F.4 -.5 X.5 5 -.75-5 Problema definido em função das variáveis não básicas: L=f (X, F ) =5 + X.75 F F = g (X, F ) = 5.5X +.65 F F = g (X, F ) =.4X +.5 F X = g (X, F ) = 5.5 F = / X F =.75 solução não é óptima 6 8
Base = {F, F, X } SIMPLEX Calcular nova solução A F.5 -.65 5 5/.5=6 B F.4 -.5 /.4=75 C.5 5 5/= X X X F F F Elemento Pivot F sai da base D -.75 X entra para a base Base = {X, F, X } A =A /.5 X 6 B =B -.4A F -.6.75 6 C =C X.5 5 D =D -A X X F F F 4-8 -.5-5.5-7 max = 6 Linha Pivot 7 SIMPLEX Solução Óptima? Base = {X, F, X } X X F F F X 4 -.5 6 F -.6.75 6 X.5 5-8.5-7 Problema definido em função das variáveis não básicas: L=f (F, F ) =7 8F +.5 F X = g (F, F ) = 6 4 F +.5 F F = g (F, F ) = 6 +.6 F.75 F X = g (F, F ) = 5.5 F = 8 F F =.5 / solução não é óptima 8 9
SIMPLEX Calcular nova solução Base = {X, F, X } Elemento Pivot X X F F F A X B F -.6.75 6 6/.75=8 C X.5 5 5/.5=4 D -8.5-7 max = 8 F entra para a base Base = {X, F, X } A 4 =A +.5B X -.. 8 B 4 =B /.75 F -.. 8 C =C -.5B 4 X.67 -.67 4 D =D -.5B 4 4 -.5 6 6/-.5 X X F -5. F -.67 F -8 Linha Pivot 9 F sai da base SIMPLEX Solução Óptima? Base = {X, F, X } X X F F F X -.. 8 F -.. 8 X.67 -.67 4-5. -.67-8 Solução Óptima X=8 F= X=4 F= F=8 L=8 Problema definido em função das variáveis não básicas: L=f (F, F ) =8 5. F.67 F X = g (F, F ) = 8 +. F. F F = g (F, F ) = 8 +. F. F X = g (F, F ) = 4.67 F +.67 F = 5. =.67 solução óptima F F Solução Óptima Produzir 8 unidades por semana de P e 4 unidades por semana de P As máquinas e têm uma utilização de % e a máquina uma ocupação de 8% (8 horas disponíveis por semana) O lucro semanal obtido é de 8 u.m
Simplex/Método Gráfico x R Algoritmo Simplex salta de um solução básica possível para outra na sua vizinhança, em que a nova solução é sempre tão boa ou melhor que a anterior. 5 R 5 O processo iterativo pára quando na vizinhança da solução básica possível em estudo, não existe outra tão boa ou melhor. Como o domínio de soluções possíveis é convexo, essa solução é uma solução básica possível óptima. R L=8 5 5 x Tipos de Soluções Solução óptima múltipla Quando as derivadas da FO em ordem às variáveis não básicas são todas positivas/negativas ou nulas nos problemas de minimização/maximização e existe pelo menos uma dessas derivadas nula Solução básica degenerada Quando uma das variáveis básicas é nula Solução não limitada Quando não existe incremento finito para a variável que deve entrar na base ( max = ) Sem solução possível Quando na solução óptima uma das variáveis artificiais é não nula ( α i >) (ver problema da solução inicial)
Problema da Solução Inicial (Básica Possível) Min G = -X + X X 4 -X + X X + X X X Min G = -X + X X -F = 4 -X + X -F = X + X + F = X, X F, F, F R x 5 G= R R?? X X i variáveis decisionais F i variáveis de folga X F - - - F F F 4 5 x -G - Método das Duas Fases ª Fase Min G = -X + X X 4 -X + X X + X Min H = α i = α + α X -F + α = 4 Objectivo: Encontrar -X + X -F + α = uma solução possível X + X + F = (α i =) A B C D X X Solução possível do problema c/ variáveis artificiais éuma solução possível do problema original se as variáveis artificiais forem nulas (α i =) X, X F, F, F α, α X X F F α α α - 4 α - - F -H D =D -A -B -H - -6 F Adicionar variáveis artificiais nas restrições sem variável básica X i variáveis decisionais F i variáveis de folga α i variáveis artificiais 4
Método das Duas Fases ª Fase A B C D D =D -A -B X X F F F α α α - 4 α - - F -H -H - -6 4/=4 /= /= max = α sai da base X entra para a base A = A -B B =B C = C -B D =D +B X X F F F α α α - - X - - F - 8 -H - - - /= /- 8/=4 max = α sai da base X entra para a base 5 A = A B =B +A C =C -A D =D +A Método das Duas Fases ª Fase / ª Fase X X X F F F α α - - X - 4 F - - 4 -H x R 5 G= R R E 4 Solução óptima da ª fase é uma solução possível do problema se α i = Min G = -X + X A 4 =A B 4 =B C 4 =C E 4 =E 4 +A 4 -B 4 X X F F F X - X - 4 F - 4 -G - -G - /- 4/- 4/= max = F sai da base 5 x F entra para a base 6
Método das Duas Fases ª Fase X X F F F A 5 =A 4 +C 5 B 5 =B +C 5 X X.5 -.5.5.5 4 6 /- 4/- C 5 =C 4 / F -.5.5 4/= E 5 =E 4 +C 5 -G.5.5 max = x R 5 G= R R 5 x 7 Método do Big M A B C D Min G = -X + X X 4 -X + X X + X X X D =D -M A -M B -G -+M -M M M Min G = -X + X +Mα + Mα X -F + α = 4 -X + X -F + α = X + X + F = X, X F, F, F α, α α - 4 α - - F -G X - X F F F α M α M -6M Objectivo: Encontrar uma solução possível (α i =) Adicionar variáveis artificiais nas restrições sem variável básica X i variáveis decisionais F i variáveis de folga α i variáveis artificiais 8 4
Método do Big M A B C D X X F F F α α α - 4 α - - F -G - +M +M 4/=4 /= /= α sai da base D =D -M A -M B -G -+M -M +M +M X entra para a base -6M max = A = A -B B =B C = C -B D =D X X F F F α α α - - X - - F - 8 -H --M +M -M M- --M /= /- 8/=4 max = α sai da base -(-M)B X entra para a base 9 Método do Big M X X F F F α α A = A B =B +A C =C -A X - - X - 4 F - - 4 D =D +A -H - +M M- α i = podem ser eliminadas as colunas das variáveis artificiais A 4 =A B 4 =B C 4 =C D 4 =D X X F F F X - X - 4 F - 4 -G - /- 4/- 4/= max = F sai da base F entra para a base 5
A 5 =A 4 +C 5 B 5 =B +C 5 C 5 =C 4 / E 5 =E 4 +C 5 Método do Big M X X F F F X.5.5 4 X -.5.5 6 F -.5.5 -G.5.5 /- 4/- 4/= max = x R 5 G= R R 5 x Análise de Sensibilidade A análise de sensibilidade permite: Estudar a robustez da solução óptima obtida Estimar a validade da solução quando os dados foram obtidos por estimativa ou existe incerteza quanto ao seu valor exacto Actualizar solução após correcção dos dados Estudar a viabilidade económica de aumento dos recursos disponíveis... 6