Pesquisa Operacional I Programação Linear Prof. Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI/
Programação Linear Técnica que se propõe a otimizar (maximizar ou minimizar) o valor de uma função linear, respeitando um conjunto de restrições (equações ou inequações) lineares Criada por George B. Dantzig em 1947 A criação da PL foi motivada por problemas de planejamento da Força Aérea dos EUA Um modelo de Programação Linear (PL) reduz um sistema real a um conjunto de equações ou inequações lineares.
Problema de Programação Linear Considere o seguinte problema
Problema de Programação Linear Considere o seguinte problema Z: função objetivo cj: coeficientes da função objetivo (custo / lucro), j = 1, …, n xj: variáveis de decisão, j = 1, …, n aij: coeficientes das variáveis nas restrições, i = 1,…,m e j = 1,…,n bi: constantes do lado direito (right-hand-side), i = 1,…,m
Problema de Programação Linear Considere o seguinte problema Z: função objetivo cj: coeficientes da função objetivo (custo / lucro), j = 1, …, n xj: variáveis de decisão, j = 1, …, n aij: coeficientes das variáveis nas restrições, i = 1,…,m e j = 1,…,n bi: constantes do lado direito (right-hand-side), i = 1,…,m
Problema de Programação Linear Considere o seguinte problema Z: função objetivo cj: coeficientes da função objetivo (custo / lucro), j = 1, …, n xj: variáveis de decisão, j = 1, …, n aij: coeficientes das variáveis nas restrições, i = 1,…,m e j = 1,…,n bi: constantes do lado direito (right-hand-side), i = 1,…,m
Problema de Programação Linear Considere o seguinte problema Z: função objetivo cj: coeficientes da função objetivo (custo / lucro), j = 1, …, n xj: variáveis de decisão, j = 1, …, n aij: coeficientes das variáveis nas restrições, i = 1,…,m e j = 1,…,n bi: constantes do lado direito (right-hand-side), i = 1,…,m
Problema de Programação Linear Considere o seguinte problema Z: função objetivo cj: coeficientes da função objetivo (custo / lucro), j = 1, …, n xj: variáveis de decisão, j = 1, …, n aij: coeficientes das variáveis nas restrições, i = 1,…,m e j = 1,…,n bi: constantes do lado direito (right-hand-side), i = 1,…,m
Programação Linear Z: função objetivo Considere o seguinte problema Z: função objetivo cj: coeficientes da função objetivo (custo / lucro), j = 1, …, n xj: variáveis de decisão, j = 1, …, n aij: coeficientes das variáveis nas restrições, i = 1,…,m e j = 1,…,n bi: constantes do lado direito (right-hand-side), i = 1,…,m
Formas de representação de PLs Forma padrão: todas as restrições são igualdades e todas as variáveis são não-negativas Forma canônica: todas as restrições são do tipo ≥ (se for minimização) ou do tipo ≤ (se for maximização); todas as variáveis são não-negativas
Manipulação de PLs Transformar equações em inequações: Uma equação equivale a duas inequações
Manipulação de PLs Transformar equações em inequações: Uma equação equivale a duas inequações
Manipulação de PLs Transformar inequações em equações: Adicionar uma nova variável não-negativa, conhecida como variável de folga.
Manipulação de PLs Transformar inequações em equações: Adicionar uma nova variável não-negativa, conhecida como variável de excesso.
Manipulação de PLs Transformar inequações em equações: Cada inequação transformada exige uma variável de folga ou de excesso diferente.
Manipulação de PLs Transformar inequações em equações:
Manipulação de PLs Transformar Minimização em Maximização : Não esquecer que o valor da função objetivo do novo problema de maximização deve ser multiplicada por -1 para obter o valor da função objetivo do problema de minimização original.
Manipulação de PLs Transformar Maximização em Minimização: Não esquecer que o valor da função objetivo do novo problema de minimização deve ser multiplicada por -1 para obter o valor da função objetivo do problema de maximização original.
Manipulação de PLs
Manipulação de PLs Transformar “variáveis livres” em variáveis não-negativas Em alguns casos é possível existir variáveis que podem assumir valores positivos ou negativos.
Manipulação de PLs
Pesquisa Operacional I Método gráfico de solução Prof.: Eduardo Uchoa uchoa@producao.uff.br
Objetivo Descrever o procedimento gráfico / geométrico para resolver problemas de programação linear com 2 variáveis Obter a solução ótima enumerando os pontos extremos Obter a solução ótima pelo gradiente da função objetivo Ilustrar os casos da PL: Solução ótima única Múltiplas soluções ótimas Soluções ilimitadas Problema inviável (não tem solução)
Exemplo de PL – Mix de produção Uma empresa fabrica 2 tipos de porta: de madeira e de alumínio. Cada porta passa por 3 operações: corte, montagem e acabamento. O tempo gasto em cada uma dessas operações, por cada tipo de porta é conhecido. Determine a produção diária de cada tipo de porta para maximizar o lucro da empresa, respeitando as disponibilidades diárias de tempo da máquina que executa cada operação. Corte Montagem Acabamento Lucro Unitário Madeira 1,5 h/porta 3,0 h/porta 1,0 h/porta R$ 4,00 Alumínio 4,0 h/porta R$ 6,00 Disponibilidade 24 h 21 h 8 h
Exemplo de PL – Mix de produção Variáveis: xi: qtde a ser produzida, i = porta de madeira, porta de alumínio Função objetivo: Maximizar Lucro → Maximizar Z = 4,0 xmad + 6,0 xal Restrições de capacidade produtiva: 1,5 xmad + 4,0 xal ≤ 24 (corte) 3,0 xmad + 1,5 xal ≤ 21 (montagem) 1,0 xmad + 1,0 xal ≤ 8 (acabamento) Restrições de não-negatividade: xmad, xal ≥ 0
Exemplo de PL – Mix de produção xmad 5 10 15 xal
Exemplo de PL – Mix de produção xmad 5 10 15 xal corte 1,5 xmad + 4,0 xal 24
Exemplo de PL – Mix de produção xmad 5 10 15 xal montagem 3,0 xmad + 1,5 xal 21
Exemplo de PL – Mix de produção xmad 5 10 15 xal acabamento 1,0 xmad + 1,0 xal 8
Exemplo de PL – Mix de produção xmad 5 10 15 xal Não-negatividade xmad, xal 0
Exemplo de PL – Mix de produção 5 10 15 REGIÃO (CONJUNTO) DE SOLUÇÕES VIÁVEIS xmad 5 10 15 xal POLÍGONO CONVEXO
Solução por enumeração dos pontos extremos xal PONTOS EXTREMOS xmad xal Lucro (Z) 6 36 7 28 3,2 4,8 41,6 2 5 5 xmad
Os pontos extremos correspondem a pares de restrições xmad xal Restrições ativas xmad, xal 0 6 xmad 0, corte: 1,5 xmad + 4,0 xal 24 7 xal 0, montagem: 3,0 xmad + 1,5 xal 21 3,2 4,8 corte: 1,5 xmad + 4,0 xal 24, acabamento: 1,0 xmad + 1,0 xal 8 2 acabamento: 1,0 xmad + 1,0 xal 8, montagem: 3,0 xmad + 1,5 xal 21 xal RESTRIÇÕES ATIVAS: CORTE e ACABAMENTO 3,2 4,8 Obs:Montagem - tempo ocioso: 4,2 h/dia xmad 5
Solução gráfica pelo gradiente da função objetivo xmad 5 10 15 xal Lucro = Z = 4,0 xmad + 6,0 xal
Solução gráfica pelo gradiente da função objetivo xmad 5 10 15 xal
Nesse caso existe uma única solução ótima xmad 5 xal 3,2 4,8 Z = 41,6
Isso nem sempre acontece Múltiplas soluções ótimas xal Maximizar Lucro = Z = 6,0 xmad + 6,0 xal 6 6 xmad
Soluções ilimitadas Max x1 + x2 S.a x1 + x2 4 - x1 + 2 x2 4 5 10 x1
Soluções ilimitadas Geralmente indica erro na modelagem, não existe sistema real “ilimitado” Max x1 + x2 S.a x1 + x2 4 - x1 + 2 x2 4 x1, x2 0 x2 5 10 x1
Problema inviável (não existe solução) Max x1 + x2 S.a x1 + x2 8 x1 + x2 4 x1, x2 0 x2 5 10 x1
Problema inviável (não existe solução) Nem sempre é erro de modelagem. Pode ser uma indicação real que se está tentando fazer algo impossível! x2 5 10 x1
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.