Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc 1 INTRODUÇÃO À PESQUISA OPERACIONAL 1.1 O Desenvolvimento da Pesquisa Operacional Durante a Segunda Guerra Mundial, um grupo de cientistas foi convocado na Inglaterra para estudar problemas de estratégia e de tática associados com a defesa do país. O objetivo era decidir sobre a utilização mais eficaz de recursos militares limitados. A convocação deste grupo marcou a primeira atividade formal de pesquisa operacional. Os resultados positivos conseguidos pela equipe de pesquisa operacional inglesa motivaram os Estados Unidos a iniciarem atividades semelhantes. Apesar de ser creditada à Inglaterra a origem da Pesquisa Operacional, sua propagação deve-se principalmente à equipe de cientistas liderada por George B. Dantzig, dos Estados Unidos, convocada durante a Segunda Guerra Mundial. Ao resultado deste esforço de pesquisa, concluído em 1947, deu-se o nome de Método Simplex. Com o fim da guerra, a utilização de técnicas de pesquisa operacional atraiu o interesse de diversas outras áreas. A natureza dos problemas encontrados é bastante abrangente e complexa, exigindo, portanto uma abordagem que permita reconhecer os múltiplos aspectos envolvidos. Uma característica importante da pesquisa operacional e que facilita o processo de análise e de decisão é a utilização de modelos. Eles permitem a experimentação da solução proposta. Isto significa que uma decisão pode ser mais bem avaliada e testada antes de ser efetivamente implementada. A economia obtida e a experiência adquirida pela experimentação justificam a utilização da Pesquisa Operacional. Com o aumento da velocidade de processamento e quantidade de memória dos computadores atuais, houve um grande progresso na Pesquisa Operacional. Este progresso é devido também à larga utilização de microcomputadores, que se tornaram unidades isoladas dentro de empresas. Isso faz com que os modelos desenvolvidos pelos profissionais de Pesquisa Operacional sejam mais rápidos e versáteis, além de serem também interativos, possibilitando a participação do usuário ao longo do processo de cálculo. Bibliografia utilizada: SILVA, Ermes Medeiros da, et al. Pesquisa Operacional. São Paulo: Atlas, 1995. LACHTERMACHER, Gerson. Pesquisa Operacional na tomada de decisões. Rio de Janeiro: Campus, 2002. LISBOA, ERICO. Introdução à Pesquisa Operacional. Disponível em http://www.ericolisboa.eng.br Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Pesquisa Operacional é um método cientifico de tomada de decisões. Em linhas gerais, consiste na descrição de um sistema organizado com auxilio de um modelo, e através da experimentação com o modelo, na descoberta da melhor maneira de operar o sistema. 1.2 Fases de um Estudo em P.O. Um estudo em Pesquisa Operacional costuma envolver seis fases: Formulação do problema; Construção do modelo do sistema; Calculo da solução através do modelo; Teste do modelo e da solução; Estabelecimento de controles da solução; Implantação e acompanhamento; que podem ser descritas como segue: Formulação do Problema – Nesta fase, o administrador do sistema e o responsável pelo estudo em P.O. deverão discutir, no sentido de colocar o problema de maneira clara e coerente, definindo os objetivos a alcançar e quis os possíveis caminhos alternativos para que isso ocorra. Além disso, serão levantadas as limitações técnicas do sistema e as relações desse sistema com outros da empresa ou do ambiente externo, com a finalidade de criticar a validade de possíveis soluções em face destes obstáculos. Deverá ainda ser acordada uma medida de eficiência para o sistema que permita ao administrador ordenar as soluções encontradas, concluindo o processo decisório. Construção do Modelo do Sistema – Os modelos que interessam em P.O. são modelos matemáticos, isto é, modelos formados por um conjunto de equações e inequações. Um modelo é uma representação de um sistema real, que pode já existir ou ser um projeto aguardando execução. No primeiro caso, o modelo pretende reproduzir o funcionamento do sistema, de modo a aumentar sua produtividade. No segundo caso, o modelo é utilizado para definir a Pesquisa Operaciona I -2- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc estrutura ideal do sistema. A confiabilidade da solução obtida através do modelo depende da validação do modelo na representação do sistema real. A validação do modelo é a confirmação de que ele realmente representa o sistema real. A diferença entre a solução real e a solução proposta pelo modelo depende diretamente da precisão do modelo em descrever o comportamento original do sistema. Um problema simples pode ser representado por modelos também simples e de fácil solução. Já problemas mais complexos requerem modelos mais elaborados, cuja solução pode vir a ser bastante complicada. Em um modelo matemático, são incluídos três conjuntos principais de elementos: Variáveis de decisão e parâmetros: variáveis de decisão são as incógnitas a serem determinadas pela solução do modelo. Parâmetros são valores fixos no problema; Restrições: de modo a levar em conta as limitações físicas do sistema, o modelo deve incluir restrições que limitam as variáveis de decisão a seus valores possíveis (ou viáveis); Função objetivo: é uma função matemática que define a qualidade da solução em função das variáveis de decisão. Para melhor ilustrar ao conjuntos acima, considere o seguinte exemplo: “Uma empresa de comida canina produz dois tipos de rações: Tobi e Rex. Para a manufatura das rações são utilizados cereais e carne. Sabe-se que: a ração Tobi utiliza 5 kg de cereais e 1 kg de carne, e a ração Rex utiliza 4 kg de carne e 2 kg de cereais; o pacote de ração Tobi custa R$ 20 e o pacote de ração Rex custa $ 30; o kg de carne custa R$ 4 e o kg de cereais custa R$ 1; estão disponíveis por mês 10 000 kg de carne e 30 000 kg de cereais. Deseja-se saber qual a quantidade de cada ração a produzir de modo a maximizar o lucro. ” Neste problema as variáveis de decisão são as quantidades de ração de cada tipo a serem produzidas. Os parâmetros fornecidos são os preços unitários de compra e venda, além das quantidades de carne e cereais utilizadas em cada tipo de ração. As restrições são os limites de carne e cereais e a função objetivo é uma função matemática que determine o lucro em função das variáveis de decisão e que deve ser maximizada. Pesquisa Operaciona I -3- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Cálculo da solução através do modelo – É feito através de técnicas matemáticas específicas. A construção do modelo deve levar em consideração a disponibilidade de uma técnica para o cálculo da solução. A formulação do modelo depende diretamente do sistema a ser representado. A função objetivo e as funções de restrições podem ser lineares ou não- lineares. As variáveis de decisão podem ser contínuas ou discretas (por exemplo, inteiras) e os parâmetros podem ser determinísticos ou probabilísticos. O resultado dessa diversidade de representações de sistemas é o desenvolvimento de diversas técnicas de otimização, de modo a resolver cada tipo de modelo existente. Estas técnicas incluem, principalmente: programação linear, programação inteira, programação dinâmica, programação estocástica e programação não- linear. Programação linear é utilizada para analisar modelos onde as restrições e a função objetivo são lineares; programação inteira se aplica a modelos que possuem variáveis inteiras (ou discretas); programação dinâmica é utilizada em modelos onde o problema completo pode ser decomposto em subproblemas menores; programação estocástica é aplicada a uma classe especial de modelos onde os parâmetros são descritos por funções de probabilidade; finalmente, programação não-linear é utilizada em modelos contendo funções não-lineares. Uma característica presente em quase todas as técnicas de programação matemática é que a solução ótima do problema não pode ser obtida em um único passo, devendo ser obtida iterativamente. É escolhida uma solução inicial (que geralmente não é a solução ótima). Um algoritmo é especificado para determinar, a partir desta, uma nova solução, que geralmente é superior à anterior. Este passo é repetido até que a solução ótima seja alcançada (supondo que ela existe). Teste do modelo e da solução – Esse teste é realizado com dados empíricos do sistema. Se houver dados históricos, eles serão aplicados no modelo, gerando um desempenho que pode ser comparado ao desempenho observado no sistema. Se o desvio verificado não for aceitável, a reformulação ou mesmo o abandono do modelo será inevitável. Caso não haja dados históricos, os dados empíricos serão anotados com o sistema funcionando sem interferência, até que o teste possa ser realizado. Pesquisa Operaciona I -4- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Estabelecimento de controles da solução – A construção e experimentação com o modelo identificam parâmetros fundamentais para solução do problema. Qualquer mudança nesses parâmetros deverá ser controlada para garantir a validade da solução adotada. Caso alguns desses parâmetros sofram desvio além do permitido, o cálculo de nova solução ou mesmo a reformulação do modelo poderá ser necessária. Implementação e acompanhamento – Nesta fase, a solução será apresentada ao administrador, evitando-se o uso da linguagem técnica do modelo. O uso da linguagem do sistema em estudo facilita a compreensão e gera boa vontade para a implantação que está sendo sugerida. Essa implantação deve será acompanhada para se observar o comportamento do sistema com a solução adotada. Algum ajuste pode ser requerido. Pesquisa Operaciona I -5- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc 2 Programação Linear 2.1 Modelo em Programação Linear Uma das técnicas mais utilizadas na abordagem de problemas em Pesquisa Operacional é a programação linear. A simplicidade do modelo envolvido e a disponibilidade de uma técnica de solução programável em computador facilitam sua aplicação. As aplicações mais conhecidas são feitas em sistema estruturados, como os de produção, finanças, controles de estoques etc. O problema geral de programação linear é utilizado para otimizar (maximizar ou minimizar) uma função linear de variáveis, chamada de "função objetivo", sujeita a uma série de equações ou inequações lineares, chamadas restrições. A formulação do problema a ser resolvido por programação linear segue alguns passos básicos. deve ser definido o objetivo básico do problema, ou seja, a otimização a ser alcançada. Por exemplo, maximização de lucros, ou de desempenhos, ou de bem-estar social; minimização de custos, de perdas, de tempo. Tal objetivo será representado por uma função objetivo, a ser maximizada ou minimizada; para que esta função objetivo seja matematicamente especificada, devem ser definidas as variáveis de decisão envolvidas. Por exemplo, número de máquinas, a área a ser explorada, as classes de investimento à disposição etc. Normalmente, assume-se que todas estas variáveis possam assumir somente valores positivos; estas variáveis normalmente estão sujeitas a uma série de restrições, normalmente representadas por inequações. Por exemplo, quantidade de equipamento disponível, tamanho da área a ser explorada, capacidade de um reservatório, exigências nutricionais para determinada dieta etc. Todas essas expressões, entretanto, devem estar de acordo com a hipótese principal da programação linear, ou seja, todas as relações entre as variáveis devem ser lineares. Isto implica proporcionalidade das quantidades envolvidas. Esta característica de linearidade pode ser interessante no tocante à simplificação da estrutura matemática envolvida, mas prejudicial na representação de fenômenos não lineares (por exemplo, funções de custo tipicamente quadráticas). Um problema de programação linear está em sua forma padrão se tiver na função objetivo uma Maximização e se todas as restrições forem do tipo menor ou igual, bem como os termos constantes e variáveis de decisão não-negativos. A fim de facilitar nossa explicação, algum tipo de padronização de terminologia deve ser introduzido. Entende-se por: Pesquisa Operaciona I -6- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Solução qualquer especificação de valores para variáveis de decisão, independente de se tratar de uma escolha desejável ou permissível. Solução Viável uma solução em que todas as restrições são satisfeitas. Solução Ótima uma solução viável que tem o valor mais favoráveis da função-objetivo, isto é, maximiza ou minimiza a função-objetivo em toda a região viável, podendo ser única ou não. Todo problema de Programação Linear parte de algumas hipóteses que são assumidas quando tentamos resolvê-los: Proporcionalidade O valor da função-objetivo é diretamente proporcional ao nível de atividade de cada variável de decisão. Aditividade Considera as atividades (variáveis de decisão) do modelo como entidades totalmente independentes, não permitindo que haja interdependência entre as mesmas, isto é, não permitindo a existência de termos cruzados, tanto na função-objetivo como nas restrições. Divisibilidade Assume que todas as unidades de atividade possam ser divididas em qualquer nível fracional, isto é, qualquer variável de decisão pode assuimir qualquer valor fracionário. Certeza Assume que todos os parâmetros do modelo são constantes conhecidas. Em problemas reais, a certeza quase nunca é satisfeita, provocando a necessidade de análise de sensibilidade dos resultados. Pesquisa Operaciona I -7- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc O problema geral de programação linear pode ser definido por Maximizar (ou minimizar) Maximizar (ou minimizar) Z c1 x1c2 x 2 c3 x3 ....... cn x n Função Objetivo a11x1 a12 x2 ... a1n xn b1 (ou , ou ) Sujeito a a21x1 a22 x2 ... a2 n xn b2 (ou , ou ) Restrições técnicas ... am1 x1 am 2 x2 ... amn xn bm (ou , ou ) x1 , x2 , xn 0 Restrições de não negatividade As variáveis controladas ou variáveis de decisões são x1 , x2 , xn . A função objetivo ou função de eficiência mede o desempenho do sistema, podendo ser a capacidade de gerar lucro ou a capacidade de minimizar perdas. As restrições garantem que essas soluções estão de acordo com as limitações técnicas impostas pelo sistema, há também as restrições de não negatividade das variáveis de decisão, o que deverá acontecer sempre que a técnica de abordagem for a de programação linear. A construção do modelo matemático, no caso um modelo linear, é parte mais complicada de nosso estudo. Não há regra fixa para esse trabalho, mas podemos sugerir um roteiro que ajuda a ordenar o raciocínio. Roteiro a) Quais as variáveis de decisão? Aqui o trabalho consiste em explicitar as decisões que devem ser tomadas e representar as possíveis decisões através de variáveis chamadas de variáveis de decisão. Se o problema é de programação de produção, as variáveis de decisão são as quantidades a produzir no período; se for um problema de programação de investimento, as variáveis vão representar as decisões de investimento, isto é, quanto investir em cada oportunidade de investimento, e em que período. Nas descrições sumárias de sistemas, isso fica claro lemos a questão proposta, isto é, a pergunta do problema. b) Qual o objetivo? Aqui devemos identificar o objetivo da tomada de decisão. Eles aparecem geralmente na forma de maximização de lucros ou receitas, minimização de custos, perdas etc. A função objetivo é a expressão que calcula o valor do objetivo (lucro, custo, receita, perda etc.), em função das variáveis de decisão. Pesquisa Operaciona I -8- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc c) Quais as restrições? Cada restrição imposta na descrição do sistema deve ser expressa com uma relação linear (igualdade ou desigualdade), montadas com as variáveis de decisão. Exemplo 2 – Certa empresa fabrica dois produtos P1 e P2. O lucro unitário do produto P1 é de 1000 unidades monetárias e o lucro unitário de P2 é de 1800 unidades monetárias. A empresa precisa de 20 horas para fabricar uma unidade de P1 e de 30 horas para fabricar uma unidade de P2. O tempo anual de produção disponível para isso é de 1200 horas. A demanda esperada para cada produto é de 40 unidades anuais para P1 e 30 unidades anuais de P2. Qual é o plano de produção para que a empresa maximize seus lucro nesses itens? Construa o modelo de programação linear para esse caso. a) Quais as variáveis de decisão? O que deve ser decidido é o plano de produção, isto é, quais as quantidades anuais que devem ser produzidas de P1 e P2. Portanto, as variáveis de decisão serão x1 e x 2 . x1 quantidade anual a produzir de P1. x2 quantidade anual a produzir de P2. b) Qual o objetivo? O objetivo é maximizar o lucro, que pode ser calculado: Lucro devido a P1: 1000 . x1 (lucro por unidade de P1 x quantidade produzida de P1) Lucro devido a P2: 1800 . x 2 (lucro por unidade de P2 x quantidade produzida de P2) Lucro total: L 1000x1 1800x 2 Objetivo: maximizar L 1000x1 1800x 2 c) Quais as restrições? As restrições impostas pelo sistema são: - Disponibilidade de horas para a produção: 1200 horas. horas ocupadas com P1: 20x1 (uso por unidade x quantidade produzida) horas ocupadas com P2: 30x2 (uso por unidade x quantidade produzida) Total em horas ocupadas na produção: 20x1 30x2 Disponibilidade: 1200 horas Restrição descritiva da situação: 20x1 30x2 1200 Pesquisa Operaciona I -9- Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc - Disponibilidade de mercado para os produtos (demanda) Disponibilidade para P1: 40 unidades Quantidade a produzir de P1: x1 Restrição descritiva da situação: x1 40 Disponibilidade para P2: 30 unidades Quantidade a produzir de P2: x 2 Restrição descritiva da situação: x2 30 Resumo do modelo: max L 1000x1 1800x 2 20 x1 30 x2 1200 Sujeito a Restrição das horas x1 40 x2 30 x1 , x2 0 Restrição de demanda Restrição de não-negatividade Pesquisa Operaciona I - 10 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Exemplo 2 – Vamos reescrever o exemplo utilizado na seção 1.2: “Uma empresa de comida canina produz dois tipos de rações: Tobi e Rex. Para a manufatura das rações são utilizados cereais e carne. Sabe-se que”: a ração Tobi utiliza 5 kg de cereais e 1 kg de carne, e a ração Rex utiliza 4 kg de carne e 2 kg de cereais; o pacote de ração Tobi custa R$ 20 e o pacote de ração Rex custa $ 30; o kg de carne custa R$ 4 e o kg de cereais custa R$ 1; estão disponíveis por mês 10 000 kg de carne e 30 000 kg de cereais. Deseja-se saber qual a quantidade de cada ração a produzir de modo a maximizar o lucro. ” Nosso modelo deseja maximizar o lucro (Z) a partir da quantidade de ração Tobi (x1) e de ração Rex(x2). A Tabela abaixo apresenta o cálculo do lucro unitário de cada ração. Ração Tobi 1 kg x R$ 4 = R$ 4 5 kg x R$ 1 = R$ 5 R$ 9 R$ 20 R$ 11 Custo de carne Custo de cereais Custo total Preço Lucro Ração Rex 4 kg x R$ 4 = R$ 16 2 kg x R$ 1 = R$ 2 R$ 18 R$ 30 R$ 12 maximizar Z 11x1 12x 2 Sujeito a 1x1 4 x2 1000 Restrição de carne 5 x1 2 x2 30000 Restrição de cereais x1 , x2 0 Restrição de não-negatividade Pesquisa Operaciona I - 11 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Exercícios 1) Uma marcenaria deseja estabelecer uma programação diária de produção. Atualmente, a oficina faz apenas dois produtos: mesa e armário, ambos de um só modelo. Para efeito de simplificação, vamos considerar que a marcenaria tem limitações em somente dois recursos: madeira e mão-de-obra, cujas disponibilidades diárias são mostradas na tabela a seguir. Recurso Disponibilidade Madeira 12m2 Mão-de-obra 8 H.h O processo de produção é tal que, para fazer uma mesa a fábrica gasta 2 m2 de madeira e 2 H.h de mão-de-obra. Para fazer um armário, a fábrica gasta 3 m2 de madeira e 1 H.h de mão de obra. Além disso, o fabricante sabe que cada mesa dá uma margem de contribuição para o lucro de $ 4 e cada armário de $ 1. O problema é encontrar o programa de produção que maximiza a margem de contribuição total para o lucro. 2) Uma pequena metalúrgica deseja maximizar sua receita com a venda de dois tipos de finas fitas de aço que se diferenciam em qualidade no acabamento de corte. As fitas são produzidas a partir do corte de bobinas de grande largura. Existem duas máquina em operação. Uma das máquinas é mais antiga e permite o corte diário de 4000 m de fita. A outra, mais nova, corta 6000 m. A venda das chapas no mercado varia com a qualidade de cada uma. Fitas produzidas na máquina antiga permitem um lucro de 3 u.m. por mil metros de produção. Fitas cortadas na máquina moderna produzem um lucro de 5 u.m. por mil metros de produção. Cada mil metro de fita cortada na máquina antiga consome 3 homens X hora de mão-de-obra. Na máquina moderna são gastos apenas 2 homens X hora. Diariamente são disponíveis 18 homens X hora para operação de ambas as máquinas. Determinar a produção que otimiza o lucro da metalúrgica. Pesquisa Operaciona I - 12 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc 3) Um fabricante de móveis fornece os seguintes produtos: mesas, armários e cadeiras. A fabricação de cada tipo de produto requer chapas de mogno e dois tipos de mão de obra, uma para acabamento e outra para carpintaria. A quantidade de recursos para cada tipo de produto é dada na tabela abaixo. Recurso Armário Mesa Cadeira Disponibilidade 8 m2 6 m2 1 m2 30 m2 de 4 2 1,5 10 Horas de carpintaria 2 1,5 0,5 10 Mogno Horas acabamento Sendo que cada mesa, armário e cadeira dão um lucro de 3, 4 e 5 u.m. Formular o modelo matemático para maximizar seu lucro semanal. 4) Giapetto fabrica dois tipos de brinquedos de madeira: soldados e trens. Um soldado é vendido por 27 u.m. e usa 10 u.m de matéria prima. Cada soldado que é fabricado tem um custo adicional de 14 u.m. relativo a mão de obra. Um trem é vendido por 21 u.m. e gasta 9 u.m. de matéria prima. O custo de mão de obra adicional para cada trem é de 10 u.m.. A fabricação destes brinquedos requer dois tipos de mão de obra: carpintaria e acabamento. Um soldado necessita de 2 horas para acabamento e 1 de carpintaria. Um trem necessita de 1 hora para acabamento e 1 hora de carpintaria. Cada semana, Giapetto pode obter qualquer quantidade de matéria prima, mas tem a disposição até 100 horas de acabamento e 80 de carpintaria. A demanda por trens é ilimitada, mas a venda de soldados é de no máximo 40 por semana. Giapetto que maximizar seu lucro diário (receitas-custos). Formular o modelo matemático que poderá ser usado por Giapetto para maximizar seu lucro semanal. Pesquisa Operaciona I - 13 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc 2.2 Técnica de Solução para Modelos de Programação Linear com Duas Variáveis de Decisão – Método Gráfico. Essa técnica consiste em representar num sistema de eixos ortogonais o conjunto das possíveis soluções do problema, isto é, o conjunto de pontos ( x1 , x 2 ) que obedecem ao grupo de restrições impostas pelo sistema em estudo. O desempenho do modelo é avaliado através da representação gráfica da função objetivo. AS soluções são classificadas de acordo com sua posição no gráfico. 2.2.1 Gráfico do Conjunto de Soluções A representação gráfica de uma equação linear com duas variáveis é uma reta. A representação gráfica de uma inequação linear com duas variáveis é um dos semiplanos definidos pela reta correspondente à equação. Exemplo 1: Representar graficamente a inequação: 1x1 2x2 10 a. Construir a reta correspondente à equação: 1x1 2x2 10 (acompanhe no gráfico) Precisamos de dois pontos: Fazendo x1 0 teremos 2x2 10 x2 5 Fazendo x2 0 teremos x1 10 b. Testar a inequação: 1x1 2x2 10 Tomamos um ponto qualquer de uma das regiões limitadas pela reta, por exemplo o ponto ( x1 10 , x2 5 ). Substituindo na inequação: 10 2.5 10 ou 20 10 , o que é verdadeiro, portanto a região das soluções da inequação é aquela que contem o ponto testado. Pesquisa Operaciona I - 14 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc x2 Região de soluções 5 (10,5) 10 Exercício. Representar graficamente a solução do sistema: x1 3x 2 12 2 x1 x 2 16 x1 0 x2 0 Pesquisa Operaciona I - 15 - x1 Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc 2.2.1 Avaliação do Objetivo Avaliar o desempenho da função objetivo: Maximizar L = 2 x1 5x2 , na região de soluções do gráfico abaixo: x2 8 6 0 4 8 x1 Solução: Escolhemos um valor arbitrário para L, por exemplo, o valor 10. A equação: 10 2x1 5x2 fornece o conjunto de pontos ( x1 , x 2 ) que dão para L o valor 10. Vamos representar esses pontos: 2x1 5x2 10 Fazendo x1 0 teremos 5x2 10 x2 2 Fazendo x2 0 teremos 2 x1 10 x1 5 Escolhemos um segundo valor para L, por exemplo, o valor 15, então: 2x1 5x2 10 Fazendo x1 0 teremos 5x2 15 x2 3 Fazendo x2 0 teremos 2x1 15 x1 7,5 Pesquisa Operaciona I - 16 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Graficamente, teremos: x2 8 6 0 L = máximo 4 5 7,5 L = 10 8 x1 L = 15 Verificamos do gráfico que: 1. À medida que atribuímos valores a L, obtemos retas paralelas. 2. À medida que o valor de L aumenta, a reta se afasta da origem do sistema de eixos. Podemos concluir que pelo ponto P do gráfico teremos a paralela de maior valor que ainda apresenta um ponto na região de soluções. Portanto, o ponto P é a solução que maximiza L na região de soluções dadas. Como P = (0,6) e L = 2 x1 5x2 , substituindo x1 0 e x2 6 teremos: L = 2.0 + 5.6 ou L máximo = 30. Pesquisa Operaciona I - 17 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Exercício. Resolver o problema de programação linear: Minimizar maximizar Z 2 x1 3x 2 x1 x 2 5 Sujeito a 5 x1 x 2 10 x1 8 x1 , x2 0 Pesquisa Operaciona I - 18 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc O MÉTODO SIMPLEX 4 O Método Simplex caminha pelos vértices da região viável até encontrar uma solução que não possua soluções vizinhas melhores que ela. Esta é a solução ótima. A solução ótima pode não existir em dois casos: quando não há nenhuma solução viável para o problema, devido a restrições incompatíveis; ou quando não há máximo (ou mínimo), isto é, uma ou mais variáveis podem tender a infinito e as restrições continuarem sendo satisfeitas, o que fornece um valor sem limites para a função objetivo. Esse método é formado por um grupo de critérios para escolha de soluções básicas que melhorem o desempenho do modelo, e também de um teste otimalidade. Para isso, o problema deve apresentar uma solução básica inicial. As soluções básicas subseqüentes são calculadas com a troca de variáveis básicas por não básica, gerando novas soluções. Os critérios para escolha de vetores e conseqüentemente das variáveis que entram e saem para a formação da nova base constituem o centro do simplex. Suponhamos inicialmente que o modelo apresente a solução básica inicial. Os modelos com restrições tipo e com termos da direita não negativos têm uma solução básica formada pelas variáveis de folga. Exemplo: No modelo: maximizar Z 3x15x2 2 x1 4 x2 10 sujeito a : 6 x1 x2 20 x1 x2 30 x1 , x2 0 Pesquisa Operaciona I - 19 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Acrescenta-se as folgas, determina-se a solução básica inicial. 2 x1 4 x2 xF1 10 6 x1 x2 xF2 20 x1 x2 xF3 30 x1, x2 , xF1 , xF2 , xF3 0 Podemos visualizar uma solução formada pelas variáveis de folga. Solução básica inicial: x1 0, x2 0, xF1 10, xF2 20, xF3 30 Descrição do Método para Maximização 1ª Parte: Teste de otimalidade para a solução. Consiste em avaliar o efeito da permuta de uma variável básica por outro não básica, com a conseqüente formação de nova solução. Se a entrada de uma variável não básica puder melhorar o desempenho do sistema, a solução testa não é ótima. Essa avaliação é possível quando a função objetivo está escrita somente em termos das variáveis não básicas. Voltando ao exemplo, função objetivo está escrita na forma: maximizar Z 3x15x2 e obtivemos, fazendo x1 0 , x2 0 , uma solução básica inicial formada pelas variáveis de folga xF1 10, xF2 20, xF3 30 . No caso, as variáveis básicas são xF1 , xF2 , xF3 e as não básicas x1 , x2 . Portanto, a função objetivo está escrita com as variáveis não básicas. Examinando a função objetivo e a solução inicial x1 0, x2 0, z 0 com Z 3x15x2 , temos: Se x1 entra na base com valor 1, o valor de Z passa de Z 0 para Z 3 , aumentando 3 unidades, exatamente o valor do coeficiente de x1 . Se x2 entra na base com valor 1, o valor de Z passa de Z 0 para Z 5 , aumentando 5 unidades, exatamente o valor do coeficiente de x2 . Pesquisa Operaciona I - 20 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc Por outro lado, se o coeficiente de x1 ou x2 fosse negativo, a entrada dessa variável diminuiria o valor de Z, de acordo com seu coeficiente. Pode-se concluir que enquanto a função objetivo apresentar variáveis não básicas com coeficientes positivos, ela poderá ser aumentada, não sendo portanto a solução ótima. Vamos reescrever, agora, a função objetivo com todas as variáveis a esquerda: Z 3x15x2 Z 3x15x2 0 Os coeficientes positivos à direita são negativos à esquerda, portanto, coeficiente negativos à esquerda indicam que o valor de Z pode ser aumentado com a entrada da variável na base, e na proporção de seu coeficiente. Escrito dessa forma, a solução testada só será ótima quando as variáveis não básicas apresentarem somente coeficientes positivos. 2ª Parte: Cálculo da nova solução básica a) Variável que entra na base: entra na base a variável com coeficiente negativo de maior valor absoluto. A idéia é melhorar rapidamente o valor de Z. Examinando a função objetivo do exemplo: Z 3x15x2 ouZ 3x15x 0 entra a variável x2 , pois cada unidade a mais em x2 aumenta Z em 5 unidades. b) Variável que sai: sai a variável que primeiro se anula com a entrada da variável escolhida no item anterior, no caso x2 , que entra com maior valor possível. Ela pode ser descoberta dividindo-se os termos da direita das restrições pelos coeficientes positivos da variável que entra. O menor valor indica que a variável básica dessa linha é a que primeiro se anula e sairá da base. 2 x1 4 x2 xF1 10 6 x1 1x2 xF2 20 10 / 4 2,5 Sai 20 / 1 20 1x1 1x2 xF3 30 30 /( 1) 30 A última divisão (30/(-1))não pode ser considerada, pois Dara valor negativo para a variável na próxima base, o que não é possível. Portanto, sai a variável da primeira linha, no caso xF1 . c) Elemento Pivô: A coluna da variável que entra e a linha da variável que sai identificam um elemento comum chamado pivô. d) Calculando a nova solução: Pesquisa Operaciona I - 21 - Extraído de http://ramses.ffalm.br/falm/info/professores/biluka/PO/Apostila%20PO%20%20Prof%20Biluka.doc d1. Vamos organizar a função objetivo e restrições numa tabela com colunas formadas pelos coeficientes de cada variável e outra dos termos independentes. Pesquisa Operaciona I - 22 -