Programação Linear São problemas complexos, muitas vezes de difícil solução e que envolvem significativas reduções de custos, melhorias de tempos de processos, ou uma melhor alocação de recursos em atividades. Aotimizaçãoéoprocessodeencontrara melhor solução (ou solução ótima) para um problema. Existe um conjunto particular de problemas nos quais é decisivo a aplicação de um procedimento de otimização. As técnicas de otimização devem ser utilizadas quando não existe uma solução simples e diretamente calculável para o problema. Isso geralmente ocorre quando a estrutura do problema é complexa, ou existem muitas soluções possíveis. Muitos processos podem se beneficiar de uma alocação otimizada de recursos. Esses recursos podem incluir capital, equipamentos, tarefas e devem ser corretamente alocados, nas quantidades, nos tempos e na sequência para a obtenção do melhor resultado possível. O conjunto de todos os pontos (x 1,x 2,..., x n ) que satisfazem as restrições de um Problema de Otimização é denominada de Região Viável (RV). Um ponto na região é denominado de Ponto Viável (PV) e um ponto fora da região é denominado de Ponto Inviável. 1
Um ponto x* na região viável tal que f(x*) f(x) é uma solução ótima do Problema de Otimização. (Se o problema for de minimização x* é uma solução ótima se f(x*) f(x)paratodosospontosxdaregião). Programação Matemática A Região Viável (RV) de um problema de otimização define um conjunto convexo. Um subconjunto C do R n éditoserconvexo seesó se, para todos os vetores A e B de C, qualquer combinação linear C = αa +(1-α)B é um elemento de C, onde 0 α 1. Recursos limitados e escassos de tempo, dinheiro, recursos naturais, capacidade instalada Necessidades ilimitadas e crescentes princípios de eficiência e eficácia Objetivos Permitir que os agentes econômicos decidam sobre o melhor uso de recursos limitados otimizar a alocação de recursos escassos de modo a maximizar lucros ou minimizar custos.e minimizar custos 12 2
Metodologia 1) Compreensão do problema 2) Montagem do Modelo (i) identificação das variáveis de decisão; (ii) definição das restrições; (iii) formulação da função objetivo. 3) Solução do Modelo. 13 Forma Geral Max (Min) f (x) = c 1 X 1 + c 2 X 2 +... + c n X n Sujeito a: a 11 X 1 + a 12 X 2 +... + a 1n X n b 1. a 21 X 1 + a 22 X 2. +... + a 2n X n b k... +... +... +...... a m1 X 1 + a m2 X 2 +... + a mn X n = b m O Modelo A decisão é representada pelas variáveis: X 1, X 2,..., X n O objetivo é representado por uma função do tipo: Max (Min) f(x 1, X 2,..., X n ) 14 Onde: c 1, c 2,..., c n = margem de contribuição; medida de custo; taxa de retorno, etc. a ij = quantidade do fator de restrição. consumido em cada unidade produzida. ou disponível para utilizar, etc. b i = valor máximo ou mínimo do recurso escasso. 17 As recursos são representados pelo parâmetro b, e as restrições podem assumir três formas: f(x 1,X 2,..., X n ) b f(x 1,X 2,..., X n ) b Resolução do Modelo Gráfica; Matricial (Simplex); Computacional. f(x 1,X 2,..., X n )=b 15 18 3
Exemplo Função Objetivo Max f(x, y) = 350x + 300y Sujeito a: Fatores de Produção Limitação Bombas x + y 200 Mão de Obra (horas) 9x + 6y 1566 Canos (metros) 12x + 16y 2880 x, y 0 19 Solução Gráfica Como determinar a solução ótima? A) Determinando isolinhas da função objetivo. B) Determinando os diversos pontos extremos, para escolher o de maior (menor) valor.) valor Variáveis de decisão Dois tipos de banheira. Margens diferentes de contribuição. Restrições Disponibilidade de Mão de Obra. Disponibilidade de Canos. Disponibilidade de Bombas. Resumo da Solução Gráfica Desenhe a reta de cada restrição no gráfico; Identifique a área de soluções viáveis, isto é, a área do gráfico que simultaneamente satisfaz a todas as restrições; Encontre a solução ótima por um dos métodos a seguir descritos. 20 Solução Gráfica 300 250 200 150 100 50 Restrição de Mão-de-Obra Restrição de Bombas Restrição de Canos 0 0 50 100 150 200 250 300 Método das Isolinhas (a) Desenhe uma ou mais curvas de nível da função objetivo e determine a direção na qual curvas paralelas resultam em aumentos no valor da função objetivo; (b) Desenhe curvas paralelas na direção do crescimento até que a curva toque a área de soluções em um único ponto; 4
Solução Gráfica 300 250 200 150 100 50 0 (0, 180) (80, 120) (122, 78) (174, 0) (0, 0) 0 50 100 150 200 250 300 (0, 180) Canos e não-negativo (240, 0) Não-negativo e Canos (108, 99) Canos e Mão-de-Obra (80, 120) Canos e Bombas (122, 78) Bombas e Mão-de-Obra Esses são todos os vértices. Contudo nem todos estão na região viável, isto é, nem todos satisfazem todas as restrições. Método dos vértices (a) Encontre às coordenadas dos vértices da região viável; (b) Para cada vértice calcule o respectivo valor da função objetivo; (c) O ponto com o maior valor da funçãoobjetivo é a solução ótima. 26 (0, 0) Satisfaz todas as restrições (0, 200) Não satisfaz canos (200, 0) Não satisfaz Mão-de-Obra (0, 261) Não satisfaz Canos (174, 0) - Satisfaz todas as restrições (0, 180) Satisfaz todas as restrições (240, 0) Não satisfaz Mão-de-Obra (108, 99) Não satisfaz Bombas (80, 120) Satisfaz todas as restrições (122, 78) Satisfaz todas as restrições Exemplo: No exemplo anterior existem os seguintes vértices: (0, 0) valores positivos (0,200) Não-neg.eBombas (200, 0) Não-neg. e Bombas (0, 261) Não-neg. e Mão-de-Obra (174, 0) - Não-neg. e Mão-de-Obra 27 Assim os vértices da região viável são: (0, 0) Satisfaz todas as restrições (174, 0) - Satisfaz todas as restrições (0, 180) Satisfaz todas as restrições (80, 120) Satisfaz todas as restrições (122, 78) Satisfaz todas as restrições 5
Solução Gráfica 300 Teoremas 250 200 (0, 180) (80, 120) O método simplex toma por base alguns teoremas básicos. 150 (122, 78) 100 (174, 0) 50 (0, 0) 0 0 50 100 150 200 250 300 Teorema 1 O conjunto de todas as soluções viáveis de um modelo de PL é um conjunto convexo. 34 Solução Gráfica 300 250 Restrição de Mão-de-Obra Teorema 2 Toda solução compatível 200 básica de um PPL é um ponto extremo 150 100 Restrição de Bombas Restrição de Canos (vértice) do conjunto de soluções viáveis, isto é, do conjunto convexo C de soluções 50 viáveis. 0 0 50 100 150 200 250 300 35 O Método Simplex Teorema 3 Se a função objetivo possui um máximo (mínimo) finito, então pelo menos uma solução ótima é um ponto extremo do conjunto convexo C de soluções viáveis do PPL. 6
Teorema 4 Se a função objetivo assume um máximo (mínimo) em mais de um ponto extremo, então ela assume o mesmo valor para qualquer combinação convexa desses pontos extremos. 1. O função objetivo (FO) é de maximização; 2. Todas as variáveis são não-negativas (x i 0); 3. Todasasrestriçõesenvolvem ; 4. Todasasconstantesnasrestriçõessãonãonegativas (b i 0). Método Simplex Baseia-se em variáveis de folga. Sistema com n variáveis e m equações: Seleciona m variáveis (básicas); As demais assumem valor = 0 (não básicas); Calcula o valor da função objetivo para cada rodada; Escolhe a de maior valor. Para utilizar o Método Simplex (MS) inicia-se convertendo todas as restrições, que são desigualdades lineares em equações lineares. Para fazer isso adicionamos variáveis não-negativas denominadas de variáveis de folga acadarestrição. 38 Forma Padrão Para utilizar o método simplex O PPL deve estar na forma padrão. Um PPL está na forma padrão se as seguintes condições forem satisfeitas? Por exemplo, a desigualdade: x 1 +x 2 10 é convertida em uma equação pela adição da variável de folga x 3, obtendo-se assim: x 1 +x 2 +x 3 =10,ondex 3 0. 39 7
A adição de variáveis de folga, nas restrições, converte um PPL em um sistema de equações lineares. Em cada uma dessas equações todas as variáveis devem estar à esquerda do sinal de igualdade e todas as constantes à direita. Adicionando as variáveis de folga Maximizar z = 3x 1 +2x 2 + x 3 Sujeito a: 2x 1 + x 2 + x 3 +x 4 =150 2x 1 +2x 2 +8x 3 +x 5 =200 2x 1 + 3x 2 +x 3 +x 6 = 320 x 1 0, x 2 0, x 3 0, x 4 0, x 5 0, x 6 0 A FO deve ser escrita com todas as variáveis à esquerda. Assim se, por exemplo, afoéz=3x 1 +2x 2 +x 3,então,eladeveser escrita como: -3x 1 2x 2 x 3 +z=0 Agora esse sistema linear pode ser escrito como a seguinte matriz aumentada: x 1 x 2 x 3 x 4 x 5 x 6 z 2 1 1 1 0 0 0 150 2 2 8 0 1 0 0 200 2 3 1 0 0 1 0 320-3 -2-1 0 0 0 1 0 Exemplo 1 Considere o seguinte PPL: Maximizar z = 3x 1 +2x 2 + x 3 Sujeito a: 2x 1 +x 2 + x 3 150 2x 1 +2x 2 +8x 3 200 2x 1 +3x 2 + x 3 320 Essa matriz é denominada de tableau inicial do simplex. Os números da última linha são provenientes da FO e são chamados de indicadores (exceto pelo último zero à direita). x 1 0, x 2 0, x 3 0 8
Pivôs Soluções obtidas diretamente do primeiro tableau do MS, raramente, ou nunca, serão ótimas. É necessária seguir para outros vértices da região viável até que um ótimo seja encontrado. Para obter essas novas soluções deve-se utilizar as operações elementares sobre as linhas. Retomando ao exemplo, temos que o pivô é o valor 2 da primeira linha, pois, 150/2 = 75, 200/2 =100 e 320/2 = 180. É a linha com o menor quociente, isto é, a que fornece o maior aumento para FO). x 1 x 2 x 3 x 4 x 5 x 6 z Pivô 2 1 1 1 0 0 0 150 2 2 8 0 1 0 0 200 2 3 1 0 0 1 0 320-3 -2-1 0 0 0 1 0 Para aplicar as operações elementares deve-se utilizar uma das entradas não nulas do tableau como pivô. A operação de pivotamento produz um novo tableau levando a outra solução do sistema de equações. O objetivo é tornar x 1 uma variável básica, tornando o pivô igual a 1 e os demais valores da coluna iguais a zero. Começamos dividindo a linha do pivô por ½, isto é, executando a OE: (1/2)L 1 x 1 x 2 x 3 x 4 x 5 x 6 z 1 1/2 1/2 1/2 0 0 0 75 2 2 8 0 1 0 0 200 2 3 1 0 0 1 0 320-3 -2-1 0 0 0 1 0 Para que a nova solução seja melhor (maior) do que a anterior, deve-se escolher como pivô o valor da coluna com o indicador (funçãoobjetivo últimalinhadotableau) com o menor valor negativo. Se nenhum indicador for negativo, então a solução não pode ser melhorada. Agora vamos zerar o primeiro elemento da segunda linha e primeira coluna, multiplicando a primeira por -2 e somando com a segunda, isto é, -2L 1 +L 2 x 1 x 2 x 3 x 4 x 5 x 6 z 1 1/2 1/2 1/2 0 0 0 75 0 1 7-1 1 0 0 50 2 3 1 0 0 1 0 320-3 -2-1 0 0 0 1 0 9
Vamos repetir o processo para zerar o primeiro elemento da linha 3, da coluna 1, isto é, fazendo a operação: -2L 1 +L 3 x 1 x 2 x 3 x 4 x 5 x 6 z 1 1/2 1/2 1/2 0 0 0 75 0 1 7-1 1 0 0 50 0 2 0-1 0 1 0 170-3 -2-1 0 0 0 1 0 Opivôagoraé 1, que é o elemento da linha dois edacolunaquecontémoúnicovalornegativoda FO. Assim para zerar os demais valores da coluna vamos primeiro dividir por -2 e somar com a primeira linha e depois multiplicar por -2 e somar com a terceira linha e finalmente dividir por 2 e somar com a última linha. Assim as operações são: -(1/2)L 1 +L 2,-2L 1 +L 3 e(1/2)l 2 +L 4 Finalmente para essa coluna, devemos transformar o indicador -3 em zero. Para tal, devemos fazer: 3L 1 +L 4 x 1 x 2 x 3 x 4 x 5 x 6 z 1 1/2 1/2 1/2 0 0 0 75 0 1 7-1 1 0 0 50 0 2 0-1 0 1 0 170 0-1/2 1/2 3/2 0 0 1 225 x 1 x 2 x 3 x 4 x 5 x 6 z 1 0-3 1-1/2 0 0 50 0 1 7-1 1 0 0 50 0 0-14 1 2 1 0 70 0 0 4 1 1/2 0 1 250 A solução é, portanto, x 1 =50,x 2 =50ex 3 = 0, com z = 250 e uma folga na terceira restrição de x 6 =70 Assim esse tableau do simplex fornece a solução x 1 =75,x 2 =0,x 3 =0,x 4 =0,x 5 =50e x 6 = 170. Substituindo esses resultados na FO temos: 0.75-0,5.0 + 0,5.0 + 1,5.0 + 0.50 + 0.170 + z = 225. Percebe-se assim que o valor de z é sempre o último número à direita. Situações Especiais 1. Problemas de minimização; 2. Empate na entrada; 3. Empate na saída (degeneração); 4. Múltiplas soluções. 10
Problema de minimização Nesse caso deve-se transformar o problema de minimização em um maximização, trocando o sinal da função objetivo, isto é, achar o mínimo de uma função é equivalente a achar o máximo do simétrico dessa função. Acrescentadas as variáveis de folga e padronizando as equações, tem-se: 1 0 1 0 0 0 3 0 1 0 1 0 0 4 4 3 0 0 1 0 12-5 -2 0 0 0 1 0 61 Empate na entrada Quando houver empate na escolha da variável que deve entrar na base (dois indicadores com o mesmo valor negativo), deve-se escolher um dos valores arbitrariamente. A consequência é que podemos escolher o caminho mais longo para se chegar a solução ótima, se ela existir. 62 Para escolher o pivô (variável que sai da base), deve verificar qual o menor quociente entre: 3/1 = 3 e12/4=3,queéondeocorreoempate. 1 0 1 0 0 0 3 0 1 0 1 0 0 4 4 3 0 0 1 0 12-5 -2 0 0 0 1 0 Empate na saída - degeneração Nesse caso, também, a exemplo do anterior, a escolha é arbitrária. Considere o seguinte exemplo: Max 5x + 2y s. a. x 3 y 4 4x + 3y 12 x, y 0 63 Escolhe-se arbitrariamente, x 3 (linha 1), para sair da base (pivô). O novo quadro do simplex, será: 1 0 1 0 0 0 3 0 1 0 1 0 0 4 0 3-4 0 1 0 0 0-2 5 0 0 1 15 Note que a variável básica x 5 énula(b 3 =0). Isso irá sempre ocorrer quando houver empate na saída. Quando isso ocorre diz-se que a solução compatível básica é degenerada. 11
O próximo quadro do Simplex será, tomandoagora 3 comopivô(x 5 para sair da base): 1 0 1 0 0 0 3 0 1 4/3 1-1/3 0 4 0 3-4/3 0 1 /3 0 0 0 0 7/3 0 2/3 1 15 Max x + 2y s. a. x 3 y 4 x+2y 9 x, y 0 Se no empate tivesse sido escolhido x 5,ao invés de x 3 para sair da base, o resultado seria: 0-3/4 1 0-1/4 0 0 0 1 0 1 0 0 4 1 3/4 0 0 1/4 0 3 0 7/4 0 0 5/4 1 15 Acrescentando as variáveis de folga e padronizando as equações, tem-se: 1 0 1 0 0 0 3 0 1 0 1 0 0 4 1 2 0 0 1 0 9-1 -2 0 0 0 1 0 Pois, 3/0 (inf.), 4/1 = 4 (menor quociente) e 9/2 = 4,5. Múltiplas soluções Um modelo de programação linear pode apresentar mais de uma solução ótima. Quando isso ocorre, o método simplex pode detectar. Vejamos o seguinte exemplo: Assim, o segundo quadro será: 1 0 1 0 0 0 3 0 1 0 1 0 0 4 1 0 0-2 1 0 1-1 0 0 2 0 1 8 69 12
O terceiro quadro será: 0 0 1 2-1 0 2 0 1 0 1 0 0 4 1 0 0-2 1 0 1 0 0 0 0 0 1 9 Note-se que na solução ótima correspondente ao ponto (1, 4), o coeficiente da variável não básica x 4 na fo é nulo. Assim, ela pode entrar na base, tomando qualquer valor, que a fo não irá se alterar. Soluções Ilimitadas Ocorre quando são encontradas soluções nas quais a função objetivo é infinitamente grande (maximização) ou infinitamente pequena (minimização). 76 Se x 4 entrar na base 0 0 1/2 1 1-1/2 1 0 1 1/2 0 0 1/2 3 1 0 1 0 0 0 3 0 0 0 0 0 1 9 Nesse caso, a solução ótima corresponde ao vértice (3, 3). Nesse caso, qualquer combinação convexa desses dois pontos é também solução do problema. Assim o PPL possui infinitas soluções. Exemplo de soluções ilimitadas Exemplo: Max x + y Sujeito a x + y 400 -x + 2y 400 x, y 0 77 Múltiplas soluções 10 Exemplo de soluções ilimitadas 600 8 x 2 500 400 x 2 Função objetivo y = 0,5x + 200 6 4 y = 44 300 200 2 x + 2y = 94 x = 34 0 0 2 4 6 8 10 100 y = x + 400 0 0 50 100 150 200 250 300 350 400 450 100 13
Solução Computacional Para Problemas mais Complexos Solução via Excel (Lindo). Ferramenta Solver. viali@pucrs.br 14