Apostila - Instituto de Engenharia de Produção e Gestão
Transcrição
Apostila - Instituto de Engenharia de Produção e Gestão
Pesquisa Operacional Professor José Arnaldo Barra Montevechi [email protected] Universidade Federal de Itajubá Instituto de Engenharia de Produção e Gestão 2007 Curso de Pesquisa Operacional 2 1. PESQUISA OPERACIONAL: HISTÓRIA E CONCEITOS 1.1 Introdução O objetivo do curso é apresentar alguns MÉTODOS MATEMÁTICOS essenciais à Pesquisa Operacional (PO). Este capítulo pretende dar a origem e as idéias fundamentais da PO. Infelizmente, um curso introdutório de PO não pode responder completamente as perguntas: a) O que deve (o aluno) aprender sobre PO se pretende ser um economista (dirigente, gerente, administrador) mais que um especialista? b) O que deve (o aluno) aprender sobre PO tendo em vista que deseja aplicá-la a problemas reais? No contexto destas duas perguntas o objetivo principal do curso é: 1) Introduzir as idéias mais importantes em PO, as quais são fundamentais e permanentes. 2) Dar o curso em nível que o aluno possa entender e apreciar a força e as limitações inerentes a PO. 3) Preparar e motivar futuros especialistas em PO. 4) Apresentar e aplicar alguns métodos de PO (METODOLOGIA). 1.2 Notas Históricas Desde o advento da primeira revolução industrial o mundo tem apresentado um notável desenvolvimento e crescimento em tamanho e complexidade de suas organizações. Os caminhos da PO podem ser traçados a muitas décadas atrás, quando foi aplicada a administração cientifica às organizações. Como a tendência natural é aumentar a complexidade e a especialização das organizações, torna-se mais e mais difícil alocar seus recursos disponíveis pelas suas várias atividades de maneira a obter a melhor eficiência para a organização. Entretanto, o termo PO é geralmente atribuído aos serviços militares durante a Segunda Grande Guerra Mundial (1939). Os dirigentes militares chamaram equipes de cientistas para estudar problemas estratégicos e táticos associados com a defesa aérea e terrestre do país. Seu objetivo era determinar a melhor utilização efetiva dos recursos militares limitados. Curso de Pesquisa Operacional 3 l.3 Conceitos Conceito 1: PO é a aplicação do método científico, por equipes interdisciplinares, a problemas que dizem respeito ao controle de sistemas organizados (homem-máquina) com a finalidade de obter as soluções que melhor satisfazem aos objetivos da organização, como UM TODO. Conceito 2: A PO se esforça ao máximo para compensar a incerteza, mas não a pode eliminar. (Pois é importante assinalar que como estão implicados fatores humanos e máquinas, é fornecida uma estimativa da incerteza no resultado previsto e nos valores, nas eficiências e nos custos da ação proposta). Conceito 3: A PO firmou-se como uma atividade que pode colocar a serviço da gerência - e realmente o faz - novas atitudes, novos conceitos e novas técnicas; ajudando-a a resolver problemas complexos e tomar decisões importantes. ESTRATÉGIA - significa o dispositivo básico de recursos disponíveis ao dirigente. TÁTICA - exprime a maneira de utilizar os recursos confiados a uma atividade determinada. TECNOLOGIA - é o termo que se aplica às coisas físicas envolvidas na transformação de "INPUTS" em "OUTPUTS" da atividade. ORGANIZAÇÃO - quer dizer virtualmente qualquer complexo identificável de homens e máquinas trabalhando no sentido de um objetivo determinado, quer o complexo seja militar ou civil, industrial ou comercial, governamental ou privado. Conceito 4: PO é a aplicação de análises quantitativas dos problemas gerenciais. O objetivo da análise é encontrar as melhores soluções dos problemas, isto é, escolher as boas decisões. Conceito 5: Pesquisa Operacional é a preparação científica das decisões, visando a modificação do binômio "Experiência - Intuição" pela "Informação - Racionalidade". Conceito 6: A PO é o conjunto de métodos que depois de haver analisado, recorrendo as diversas disciplinas cientificas envolvidas, as relações que unem os fatores de ordem técnica ou psicológica que concorrem na formação de um fenômeno econômico ou humano se propõem, com a finalidade de preparar as decisões que se devem tomar, determinar Curso de Pesquisa Operacional 4 racionalmente as soluções mais eficientes (eficazes) ou as mais econômicas, recorrendo a procedimentos estatísticos e/ou matemáticos cuja aplicação exige na maioria das vezes o emprego de computadores. Em resumo, podemos concluir da PO: 1) Pesquisa sobre operações; 2) Aplicação de método cientifico por equipes interdisciplinares; 3) Apresenta novas atitudes, novos conceitos e novas técnicas; 4) Aplicação de analises quantitativas aos problemas gerenciais; 5) Resolver problemas complexos; 6) Tomar decisões importantes (ou escolher as boas decisões); 7) Problemas que dizem respeito ao controle de sistemas organizados; 8) Compensar a incerteza. Curso de Pesquisa Operacional 5 2. MÉTODO DA PESQUISA OPERACIONAL 2.1 Introdução Um estudo de PO consiste em construir um modelo da situação física. Um modelo de PO é definido como uma representação idealizada de um sistema organizacional. Este sistema pode já ser existente ou pode ainda ser uma idéia a espera de execução. No primeiro caso, o objetivo do modelo é analisar as operações do sistema para verificar sua performance. No segundo, o objetivo e identificar a melhor estrutura do futuro sistema. A complexidade de um sistema real resulta do grande número de variáveis que comandam as operações do sistema, embora um sistema real possa envolver um número substancial de variáveis, geralmente uma pequena fração destas variáveis domina as operações do sistema. Então, a simplificação do sistema real em termos de um modelo condensado, identificando apenas as variáveis dominantes e as relações entre elas, é o empregado. Exemplo 1: A fabricação de um produto experimenta certo número de operações desde o tempo de sua concepção pelo projetista, até chegar às mãos do consumidor. Após a aprovação do projeto, a ordem de produção é transmitida ao Departamento de Produção (DP), a qual requisita o material necessário do Departamento de Material (DM). O Departamento de Material satisfaz a requisição do seu estoque ou entra em ligação com o Departamento de Compras para comprar o material necessário para atender à requisição do DP. Após a fabricação do produto, o Departamento de Vendas, em conjunção com o Departamento de Marketing, assume a responsabilidade para distribuí-lo para os consumidores. Suponha que o objetivo é determinar o nível de PRODUÇÃO DA INDÚSTRIA. Observando o sistema vê-se que um grande número de variáveis influi diretamente no nível de produção. Segue alguns exemplos destas variáveis: a) DEPARTAMENTO DE PRODUÇÃO: Avaliar máquinas - horas, homens - hora, especificar a seqüência de operações nas máquinas, números de itens defeituosos, razão de inspeção, etc. b) DEPARTAMENTO DE MATERIAL: Avaliar o estoque de material, taxa média de saída e entrada de material, limitações de armazenagem. Curso de Pesquisa Operacional 6 c) DEPARTAMENTO DE MARKETING: Calcular as vendas, intensificar as campanhas promocionais, capacidade de distribuição de produtos, efeito dos produtos competitivos. Cada uma das variáveis acima afeta (direta ou indiretamente) o nível da produção. É uma tarefa ingrata tentar estabelecer relações explicitas entre estas variáveis e o nível de produção. Definindo o sistema em função de suas variáveis dominantes, ele pode ser representado por duas variáveis: 1a - Uma, representando a taxa de produção do item; 2a - Uma, representando sua razão de consumo. Para se determinar a taxa de produção, variáveis tais como avaliação máquina - hora, homemhora, sequenciamento e avaliação do material devem ser consideradas no cálculo da taxa de produção. A razão de consumo é determinada em termos das variáveis associadas com o Departamento de Marketing. É fácil agora pensar em termos do sistema real adotado. Para a taxa de produção e consumo, podem-se estabelecer medidas para o excesso ou falta em estoque para um dado nível de produção. Um modelo abstrato do sistema pode então ser construído para balancear os custos do excesso ou falta de estoque. Por exemplo, pode-se estar interessado em determinar o nível de produção para um máximo de itens em estoque abaixo de certo limite. Em geral, não há regras fixas para determinar o nível de abstração citado. A validade do modelo representando o sistema depende principalmente da criatividade, insight, e imaginação dos analistas de PO e a equipe de trabalho no projeto. Embora não seja possível fixar regras acerca de como um modelo é construído, pode-se socorrer das presentes idéias sob os possíveis tipos de modelos de PO, suas estruturas e características gerais. Em um estudo de PO ocorrem normalmente as seguintes fases: 1. Formulação (ou definição) do problema; 2. Construção do modelo matemático; 3. Obtenção de uma solução a partir do modelo; 4. Teste do modelo e avaliação da solução obtida; 5. Estabelecimento de controle sobre a solução; Curso de Pesquisa Operacional 7 6. Implantação da solução. 2.2 Formulação do Problema Para se obter a solução de um problema, necessitasse antes formulá-lo de modo a tornar possível a pesquisa. Ao contrario dos exemplos que serão apresentados no decorrer do curso, a maioria dos problemas práticas são trazidos a uma equipe de pesquisa operacional de uma maneira vaga e imprecisa. Em conseqüência, o primeiro passo consiste em estudar o sistema e estabelecer de uma maneira bem definida o problema a ser considerado. Para isto vários elementos devem ser determinados exatamente tais como, os objetivos a atingir, as restrições que devem ser consideradas, o inter-relacionamento entre o setor a ser estudado e outros setores da organização, as possíveis linhas de ação alternativas, etc. Como todas as conclusões serão obtidas a partir desta formulação, esta fase tem importância capital para o estudo e a formulação inicial deve ser continuamente revista à luz dos novos dados obtidos durante as fases posteriores. Para determinação dos objetivos apropriados é necessário identificar a pessoa (ou pessoas) que toma as decisões relativas ao sistema em estudo, investigar seus objetivos e analisá-los a fim de estabelecer precisamente os principais objetivos a atingir a fim de que não sejam eliminadas metas ou alternativas de valor. Por sua natureza a pesquisa operacional preocupa-se em resolver os problemas da organização considerada como um todo e não somente os de alguns de seus setores. Por isto, os objetivos formulados devem ser aqueles de toda a organização, não significando, entretanto, que cada problema deva ser resolvido em um estudo de toda organização. Na realidade os objetivos fixados devem ser tão específicos quanto possíveis, desde que englobem as principais metas de tomada de decisão e mantenham um grau razoável de consistência com os objetivos de nível mais elevado da organização. Os efeitos laterais em outros setores da organização devem, então, ser considerados somente para verificar se estão coerentes com estes objetivos de nível mais elevado. Para formular um problema precisa-se, pois, examinar os seguintes aspectos: 1. Quem toma a decisão? 2. Quais os objetivos? (A partir destas informações e de outros dados estabelecemos uma medida de desempenho, para avaliar as alternativas de ação). Curso de Pesquisa Operacional 8 3. Quais aspectos da situação estão sujeitos ao controle de quem toma a decisão (as variáveis controladas) e dentro de que limites essas variáveis podem ser controladas (restrições). 4. Que outros aspectos do meio ambiente envolvam ou não seres humanos, podem afetar os resultados das escolhas disponíveis (as variáveis não controladas) Portanto, formular um problema para pesquisa consiste em identificar, definir e especificar as medidas dos componentes de um modelo de decisão. A determinação da relação entre estes componentes (a função f) é o objetivo da fase da pesquisa denominada construção do modelo. Nesta primeira fase do estudo, portanto, requer a definição do problema. Do ponto de vista da PO, isto indica três aspectos principais: a) Uma exata descrição dos objetivos do estudo; b) Uma identificação das variáveis de decisão do sistema; c) Reconhecimento das limitações, restrições, as possíveis linhas de ação alternativas, o inter-relacionamento entre o setor a ser estudado e outros setores da organização. É impossível extrair respostas certas de um problema errado. Não se devem esquecer as principais partes que afetam os negócios de uma firma: a) O proprietário (acionistas) que deseja lucros (dividendos, ações, bonificações, valorização do capital, etc.). b) Os empregados, que desejam emprego estável com razoável salário. c) Os clientes, que desejam um produto confiável a um preço módico (razoável). d) Os vendedores, que desejam integridade e uma boa remuneração pelas boas qualidades de vendedor. e) O governo e, consequentemente, a nação, que deseja o pagamento de taxas justas e considerações de interesses nacionais. 2.3 Construção do Modelo Matemático Conforme o exemplo dado, os modelos são representações idealizadas (abstrata) dos problemas; geralmente fazem-se aproximações e hipóteses simplificadoras para que sejam resolvíveis. Nesta fase do estudo faz-se a construção do modelo. Um modelo deve especificar as expressões quantitativas para o objetivo e as restrições do problema em termos de suas variáveis de decisão. Existem vários tipos básicos de modelo. O modelo matemático é o Curso de Pesquisa Operacional 9 modelo universal da PO. Sua 1inguagem são as equações. Na formulação destes tipos admitese que todas as variáveis relevantes são quantificáveis. Então, os símbolos matemáticos são usados para representar as variáveis, as quais são então representadas por funções matemáticas apropriadas para descrever as operações do sistema. A solução do modelo é então procurada pela manipulação matemática apropriada. Em complementação dos modelos matemáticos, modelos de simulação e heurísticos são usados. A estrutura básica dos modelos de PO assume a forma: Z = f (x1, x2, x3, ......, xn; y1, y2, y3, ......, yn) Onde: Z = função objetivo (medida de eficiência do sistema); x1, x2, x3, ......, xn = sistemas de variáveis que são sujeitas ao controle; y1, y2, y3, ......, yn = sistemas de variáveis que não são sujeitas ao controle. Os modelos simulados e heurísticos não têm nenhuma estrutura fixada, um modelo matemático incluiu três conjuntos fundamentais de elementos, sendo eles: a) VARIAVEIS DE DECISÃO E PARÂMETROS: As variáveis de decisão são as incógnitas para serem determinadas da solução do modelo. Os parâmetros representam as variáveis controladas do sistema. No exemplo, o nível de produção representa a variável de decisão; os parâmetros, neste exemplo, são: a taxa de produção e consumo. Os parâmetros podem ser determinísticos ou probabilísticos. b) LIMITAÇÕES OU RESTRIÇÕES: Para considerar as limitações físicas do sistema, o modelo deve incluir restrições que limitam os valores possíveis das variáveis de decisão. Isto é, usualmente, expresso em forma de equações e/ou inequações matemáticas. Por exemplo, seja x1 e x2 o número de unidades produzidas de dois produtos (variáveis de decisão) e seja a1 e a2 a matéria prima (recursos) por unidade (parâmetros). Se o total dos recursos disponíveis (MP) é A, a Função restritiva é dada por a1x1+a2x2 = A. c) FUNÇÃO OBJETIVO (FO): Define a medida de efetividade do sistema como uma função matemática de suas variáveis de decisão. Por exemplo, se o objetivo do sistema é maximizar o lucro total, a função objetiva deve especificar o lucro em termos das Curso de Pesquisa Operacional 10 variáveis de decisão. Em geral, a solução ótima do modelo é obtida quando os melhores valores correspondentes das variáveis de decisão são substituídos na PO, enquanto satisfazem as restrições. Os modelos matemáticos, em PO, podem ser especificados, geralmente, como determinar os valores das variáveis de decisão xj, j= 1, 2,..., n a qual otimiza Z = f (x1, x2,..., xn) sujeito a uma série de restrições. Na maioria dos sistemas reais, as restrições de não - negatividade aparece como condição natural. Antes da construção de um modelo matemático deve-se responder a 4 perguntas: 1) Qual é a medida de efetividade do objetivo? Isto é, como será expressa a solução do problema (em reais economizados, unidades vendidas, itens produzidos, etc.) 2) Quais são os fatores sob controle (variáveis controladas)? Isto é, quais aspectos do problema podem-se fazer alguma coisa? 3) Quais são os fatores não controlados (as variáveis não controladas)? Isto é, quais aspectos do problema têm-se de aceitar como dados? 4) Quais são as relações entre estes fatores e os objetivos? Isto é, pode esta relação ser expressa em forma de relações matemáticas que constituirão um modelo do problema? Otimização é geralmente tomada para significar a maximização ou minimização da FO. Analistas trabalhando no mesmo problema independentemente podem chegar a modelos diferentes e também a funções objetivo (FO) também diferentes. Por exemplo, o analista A pode preferir maximizar os lucros, enquanto o analista B pode preferir minimizar os custos. Os dois critérios não são equivalentes no sentido que com as mesmas restrições os dois modelos não devem produzir a mesma solução ótima. Isto pode ser mostrado claramente, enquanto o custo deve estar sob o controle imediato da organização no qual o estudo é feito, o lucro deve ser efetuado por fatores incontroláveis, tais como a situação de mercado ditada pelos competidores. Não se deve pensar que a solução ótima do modelo é a melhor solução do problema. Ela é a melhor somente se o critério adotado pode ser justificado como verdadeiro para toda organização. Na prática, torna-se muito difícil incluir todos os objetivos (possibilidades conflitantes) num critério simples (singular), pois isto pode resultar numa função matemática complexa para a qual nenhuma solução técnica pode ser prontamente obtida, porque alguns objetivos são também inatingíveis para serem quantificados. Curso de Pesquisa Operacional 11 Por exemplo, na determinação da política do nível ótimo de estoque, o verdadeiro objetivo deve incluir os objetivos (metas) conflitantes dos departamentos de produção, material, vendas e finanças. Quando o critério objetivo do modelo representa algum, mas não todos os aspectos conflitantes, chamam de uma solução sub - ótima, e que pode não ser a melhor para a organização como um todo. Após o modelo matemático ser construído, pode ser necessário simplificá-lo para ser tratado analiticamente. Algumas simplificações comuns incluem: a) Transformar variáveis discretas em contínuas; b) Linearizar funções não lineares; c) Eliminar algumas das restrições. 2.4 Obtenção de uma Solução a partir do Modelo Em modelos matemáticos, isto e, feito usando técnicas de otimização bem definidas, o modelo é dito de solução ótima. Se modelos de simulação ou heurísticos são usados, o conceito de solução ótima não é bem definido e a solução neste caso é usada para obter soluções aproximadas do sistema. Como um modelo é mais uma representação ideal do que exata, só pode-se afirmar que a solução ótima para o modelo será provavelmente a melhor possível para o problema real, devido aos fatores imponderáveis e as incertezas associadas ao problema. 2.5 Teste do Modelo e avaliação da Solução obtida Uma das primeiras lições da PO, é que não é geralmente suficiente confiar somente na intuição. Isto se aplica não somente na obtenção da solução de um problema, como também na avaliação do modelo que foi formulado para representar este problema. O critério indicado para julgar a validade de um modelo é verificar se ele prediz ou não os efeitos relativos das linhas de ação alternativas com suficiente precisão de maneira a permitir uma satisfatória decisão. Devido à dificuldade de comunicar e relacionar todos os aspectos e sutilezas de um problema operacional complexo existe a possibilidade que a equipe de pesquisas operacionais ou não tenha considerado todos os aspectos relevantes da situação ou não os tenha interpretado apropriadamente. Antes de aplicar testes mais elaborados é conveniente verificar se o modelo não apresenta erro. Um novo exame na formulação do problema e sua comparação com o modelo podem Curso de Pesquisa Operacional 12 revelar alguns desses erros. Outra verificação muito usada consiste em verificar se todas as expressões matemáticas estão dimensionalmente corretas. Finalmente, ou a equipe de PO, ou o pessoal que deverá tomar decisões podem observar detalhes na solução obtida que surgiram particulares omissões ou erros no modelo. Outros procedimentos mais sistemáticos podem ainda ser empregados. 2.6 Estabelecimento de controle sobre a Solução Quando uma solução for usada repetidamente, esta solução só permanecerá válida para o problema real enquanto o modelo respectivo permanecer válido. Entretanto, as condições variam constantemente no caso real. Em conseqüência, se essas variações invalidarem o modelo, é vital que isto seja verificado tão cedo quanto possível de maneira que o modelo, sua solução e resultante linha de ação possam ser convenientemente modificados. Assim sendo, sempre que uma solução e resultante estratégia para uma ação futura são aplicadas repetidamente, esta solução deve ser mantida sob controle. Este controle é feito identificando-se os parâmetros críticos, determinando-se estatisticamente as variações relevantes nesses parâmetros e finalmente ajustando a solução e conseqüente linha de ação sempre que uma variação é observada. 2.7 Implantação da solução A última fase de um estudo de pesquisa operacional consiste em implantar a solução final. Esta fase é critica porque aqui, porque aqui, os benefícios do estudo são obtidos. Em conseqüência é importante para a equipe de PO participar do desenvolvimento desta fase, não só para assegurar-se que a solução é corretamente transformada em um procedimento operacional como também para corrigir qualquer imperfeição descoberta na solução. 2.8 Conclusão Os problemas de PO têm as seguintes características: 1) Compilação de dados anteriores, relativos a operações de produção, vendas ou outros setores da empresa; 2) Análise dos dados colhidos através de técnicas estatísticas; 3) Criação do modelo matemático destinado a previsão e decisão no tocante as mesmas operações no futuro. Curso de Pesquisa Operacional 13 O curso baseia-se na aplicação da PO a uma grande variedade de problemas que podem ser representados por um pequeno número de problemas típicos. 2.9 Métodos e Modelos da PO: Os métodos mais comuns que são usados no âmbito da PO são: 1. Teoria da decisão; 2. Modelos seqüenciais (seqüência e coordenação); 3. Modelos de alocação; 4. Modelos de designação; 5. Modelos de competição; 6. Técnicas clássicas de otimização; 7. Modelos de substituição (reposição); 8. Modelos de estoque (teoria dos estoques); 9. Modelos de filas; 10. Técnicas de simulação; 11. Modelos de programação dinâmica; 12. Modelos de rotas; 13. Métodos – heurísticos. Curso de Pesquisa Operacional 14 3. TIPOS BÁSICOS DE MODELO DE PO 3.1 Teoria da Decisão A característica essencial da Teoria da Decisão é que as conseqüências dos cursos de ação são geralmente desconhecidas. Nestes exemplos (casos), probabilidades são associadas com os vários estados do sistema. Dependendo das informações que se sabe dos estados do sistema, não se pode referir à decisão fazendo-a sob certeza, risco, ou incerteza. A maioria dos problemas de negócios trata com a última condição. Um caminho adicional de predizer o futuro, embora somente um mínimo de informações sejam estimadas é através da estatística Bayesiana. 3.2 Modelo de Sequenciamento Modelos seqüenciais envolvem a determinação da seqüência ótima para um conjunto de tarefas ou eventos ou a melhor seqüência para atendimento de clientes com o objetivo de minimizar o tempo total e custos. Esta técnica é aplicada à pesquisa e desenvolvimento, construção, planejamento de novos produtos. Por exemplo, o procedimento para uma rede de análise de PERT. Outros problemas seqüenciais tais como programações de máquinas são resolvidas pela aplicação de técnicas de simulação e heurísticas. 3.3 Modelos de Alocação Quando existe um número de atividades para serem realizadas, caminhos alternativos de fazêlas, e recursos limitados ou meios para executar cada atividade na melhor linha eficaz, há um problema de alocação destes recursos escassos. O problema é combinar as atividades e os recursos de uma maneira ótima para que toda eficiência seja maximizada, isto é, o lucro é máximo e os custos são mínimos. Isto é conhecido como "programação matemática". Quando as restrições são expressas como equações lineares, é chamada "programação linear". Se uma das restrições não é linear é denominada "programação não linear". A Teoria da Dualidade da programação linear estabelece a relação entre duas diferentes formulações do mesmo problema. Em adição aos programas lineares e não lineares, existem outros tipos de programações - inteira, quadrática, convexa, estocástica, decisão, paramétrica e dinâmica. Elas diferem na espécie dos dados e podem ser manipulados de acordo com as suposições feitas. Curso de Pesquisa Operacional 15 3.4 Modelos de Designação O mais simples tipo de modelo de alocação envolve a distribuição de um numero de tarefas para o mesmo numero de recursos (homens). Isto é chamado um problema de designação (atribuição). Este tipo de problema torna-se mais complexo se alguma das tarefas requer mais que um recurso e se os recursos podem ser usados para mais de uma tarefa. Um exemplo disto é o problema de transportes. 3.5 Modelos de Competição A teoria dos jogos dá um conceito estrutural dentro do qual a maioria dos problemas de competição pode ser formulada. Ela tem sido usada efetivamente pelos negócios (transações comerciais) para desenvolver estratégias de publicidade, políticas de preços, e escolha do momento oportuno (senso de oportunidade, timming) para introdução de novos produtos. As teorias estatísticas da decisão e simulação têm sido empregadas com sucesso nos jogos. O processo de Markov é um método de predizer variações competitivas no tempo de clientes fieis a uma marca (determinado produto) e cotas atuais de mercado são conhecidas. 3.6 Técnicas de Otimização Clássicas Às técnicas de otimização clássica ou tradicional são associadas com o procedimento de cálculo do máximo ou mínimo. Resumidamente, quando uma característica pode ser representada por uma equação a uma variável que pode ser representada graficamente como uma curva continua uniforme, os valores de máximo e mínimo da curva podem ser obtidos pelo conjunto das primeiras derivadas iguais a zero. Então, o sinal algébrico da segunda derivada daquele conjunto de pontos é examinado para a obtenção de solução do problema. Quando dois parâmetros estão envolvidos, por exemplo, x e y para determinar a variável z, o máximo e mínimo podem ser encontrados pela aplicação de derivadas parciais num processo similar ao empregado para uma variável. As áreas de cálculo necessárias são: diferenciação, integração, derivadas parciais, e os multiplicadores de Lagrange. Estas técnicas matemáticas as quais são aplicadas para otimização de problemas são capazes de diretamente selecionar a melhor decisão sem a necessidade de muitos passos interativos. Curso de Pesquisa Operacional 16 3.7 Modelos de Reposição Problemas de reposição são geralmente de dois tipos: aqueles envolvendo itens que degeneram num período de tempo e aqueles que falham após certo tempo de uso. O primeiro grupo refere-se ao ativo fixo das empresas - máquinas, caminhões e equipamentos - os quais são itens altamente custosos. Aqueles no segundo tipo são relativamente baratos – tubos de vácuo, pneumáticos, válvulas, tubos e itens semelhantes. A programação dinâmica é usada para obtenção das soluções do primeiro tipo. A teoria estatística amostral e probabilidade podem ser empregadas na solução do segundo tipo. 3.8 Modelos de Estoques Modelos de estoques são os que dizem respeito com duas decisões: quanto ordenar num determinado tempo e quando ordenar esta quantidade para minimizar o custo total. Custo de movimentação, custos de ordens de armazenamento (estocagens), e custo de déficits são determinados assim como uma medida de efetividade dos custos (modelo) podendo ser usados pelos gerentes para selecionar um balanço apropriado entre custos e déficits. À decisão pelo critério do mínimo custo pode também ser obtida pelo cálculo, teoria de probabilidades, programação dinâmica e simulação pelo computador. 3.9 Modelos de Filas Filas, algumas vezes referida como teoria das linhas de espera, trata (diz respeito) com chegadas uniformes ou aleatórias num serviço ou meios de processamento de capacidade limitada. O objetivo deste modelo é permitir determinar se o número ótimo de pessoas ou meios necessários para servir clientes quando considerando o custo do serviço e o custo de espera. Um problema de estoque pode ser visto como um problema de filas. Itens em estoque podem ser considerados como um meio de serviço ocioso esperando por clientes. À demanda pelo estoque é uma chegada para serviço e a saída do estoque pode ser considerada como uma fila de clientes A teoria das filas faz uso da teoria das probabilidades e cálculo. Curso de Pesquisa Operacional 17 3.10 Técnicas de Simulação Simulação presta-se ao emprego dos computadores, gera fator como potencial de vendas ou atrasos na expedição pelo exame de tabelas de números aleatórios que são essenciais aos programas. O computador mostra a saída de resultados que (poderiam) teriam sido obtidos se o critério de decisão tivesse sido usado. Números aleatórios são usados para simular chegadas e tempo de serviços. 3.11 Modelos de Programação Dinâmica A maioria dos problemas de programação dinâmica requer o uso de um computador para manipular a grande quantidade de dados (informações). Os modelos de programação dinâmica são extremamente usados para processo que se estende por vários períodos de tempo ou eventos. Ao invés de otimizar cada decisão como ela ocorre à programação dinâmica leva em consideração os efeitos da decisão de hoje nos futuros períodos de tempo. 3.12 Modelos de Rotas Um dos mais famosos problemas de rota é o do "Caixeiro Viajante". O objetivo é selecionar o caminho (itinerário que parte de sua própria cidade, passa através de cidades apenas uma vez, e retorna para sua cidade, pela menor distância em termos de tempo ou dinheiro. O modelo de rotas tem sido aplicado à produção onde o número de produtos ou itens produzidos (fabricados) é análogo ao de cidades. Trocam-se os custos de produção correspondentes aos custos de viagens entre cidades). 3.13 Métodos heurísticos Métodos heurísticos indicam aprendizado ou avaliação de sistemas. Os métodos heurísticos usam regras de manusear e avaliar, instruídos para explorar o caminho mais provável para se chegar a uma conclusão. Isto recoloca em check todas as alternativas (também para muitas quantidades aproximadas) para encontrar a melhor solução. Curso de Pesquisa Operacional 18 4. INTRODUÇÃO A PROGRAMAÇÃO LINEAR 4.1 Generalidades Sem dúvida nenhuma a Programação Linear é uma das técnicas da Pesquisa Operacional das mais utilizadas em se tratando de problemas de otimização. Os problemas de Programação Linear (PL) buscam a distribuição eficiente de recursos limitados para atender um determinado objetivo, em geral, maximizar lucros ou minimizar custos. Em se tratando de PL, esse objetivo é expresso através de uma função linear, denominada de "Função Objetivo". É necessário também que se definam quais as atividades que consomem recursos e em que proporções os mesmos são consumidos. Essas informações são apresentadas em forma de equações as inequações lineares, uma para cada recurso. Ao conjunto dessas equações e/ou inequações, denomina-se "Restrições do Modelo". Normalmente se tem inúmeras maneiras de distribuir os recursos escassos entre as diversas atividades em estudo, bastando para com isso que essas distribuições estejam coerentes com as restrições do modelo. No entanto, o que se busca, num problema PL é a função objetivo, isto é, a maximização do lucro ou a minimização dos custos. A essa solução dá-se o nome de solução ótima. Assim, a Programação linear se incube de achar a solução ótima de um problema, uma vez definida o modelo linear, ou seja, a função objetivo e as restrições lineares. 4.2 Problemas de programação linear Como foi dito anteriormente, está-se diante de um problema de PL quando os problemas práticos que se pretende resolver podem ser escrito de forma de maximização (ou minimização) de uma função objetivo linear, sujeita a um conjunto de restrições que podem ser expressos sob a forma de inequações ou equações lineares. Exemplos de problemas que podem ser resolvidos por programação linear: a) Um fabricante está iniciando a última semana de produção de quatro diferentes modelos de consoles em madeira para aparelhos de televisão, designados respectivamente, I, II, III e IV. Cada um deles deve ser montado e em seguida decorado. Os modelos necessitam respectivamente de 4, 5, 3 e 5 horas para montagem e de 2, 1, 5 e 3 horas para decoração. Os lucros sobre as vendas dos modelos são respectivamente 7, 7, 6 e 9 reais. O fabricante dispõe Curso de Pesquisa Operacional 19 de 30.000 horas para a montagem destes produtos (750 montadores trabalhando 40 horas por semana) e de 20.000 horas para decoração (500 decoradores trabalhando 40 horas por semana). Quanto de cada um dos modelos deve ser produzido durante esta última semana a fim de maximizar o lucro? Admita que todas as unidades possam ser vendidas. b) Seja o caso de um investidor que, dispondo de $6000 esteja contemplando a possibilidade de compra de dois seguintes tipos de ações: Tipo 1 - preço unitário de compra de $ 5,00 e rentabilidade anual esperada de 30%. Tipo 2 - preço unitário de compra de $ 3,00 e rentabilidade anual estimada em 35%. Supondo que o investidor não deseje adquirir mais do que 1750 ações, e que seu corretor só possa conseguir 1000 ações do tipo 1 e 1500 ações do tipo 2, que quantidades deve comprar de cada tipo de ação, na hipótese de que seja seu objetivo maximizar o total de capital no fim de um ano? c) Uma empresa esta analisando um conjunto de alternativas de projetos de investimentos disponíveis e apresentados na tabela seguir. Projeto 1 2 3 4 5 6 7 8 9 Investimento no Investimento no ano 1 ano 2 12 54 6 6 30 6 48 36 18 3 7 6 2 35 6 4 3 2 Vida útil 5 anos 5 anos 5 anos 5 anos 5 anos 5 anos 5 anos 5 anos 5 anos Economia anual nos próximos 3 anos 9.29 26.85 9.88 7.92 35.33 8.14 22.78 16.91 11.04 O orçamento para investimento é de 50 para o primeiro ano e 20 para o segundo. Sabendo-se que a TMA da empresa é de 10% a.a., qual a combinação ótima desses projetos. 4.3 Obtendo a função objetivo e as restrições Antes de discutir as técnicas possíveis para obtenção de resultados, através de um problema será discutido como obter a função objetivo e as restrições. Curso de Pesquisa Operacional 20 4.3.1 Exemplo para discutir a obtenção da função objetivo e as restrições: Giapetto fabrica dois tipos de brinquedos de madeira: soldados e trens. Um soldado é vendido por $27 e usa $10 de matéria prima. Cada soldado que é fabricado tem um custo adicional de $14 relativo à mão de obra. Um trem é vendido por $21 e gasta $9 de matéria prima. O custo de mão de obra adicional para cada trem é de $10. 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 quer maximizar seu lucro diário (receitas-custo). Formular o modelo matemático que poderá ser usado por Giapetto para maximizar seu lucro semanal. Solução: Definindo o objetivo 9 Sabendo que a matéria prima necessária é obtida sem problemas, Giapetto tem como objetivo maximizar o lucro semanal (receitas - custos). 9 Vamos então formular matematicamente a situação de Giapetto com o objetivo de maximizar o lucro semanal. Curso de Pesquisa Operacional Primeiro ponto importante: Variáveis de decisão 9 Em qualquer modelo de PL, as variáveis de decisão devem descrever completamente as decisões a serem feitas. 9 Caso de Giapetto: quantos soldados e trens devem ser feitos na semana? Variáveis de decisão 9 X1 = número de soldados produzidos cada semana; 9 X2 = número de trens produzidos a cada semana. Segundo ponto importante: Função objetivo 9 Em qualquer modelo de PL, o decisor quer maximizar ou minimizar alguma função das variáveis de decisão. 9 Caso de Giapetto: custos fixos (aluguel, seguro) não depende dos valores de X1 e X2, assim ele pode se concentrar em maximizar a venda da semana. 21 Curso de Pesquisa Operacional Função objetivo 9 Receitas e custos: podem ser expressos em termos das variáveis X1 e X2. 9 Seria tolice Giapetto produzir mais soldados que ele possa vender, assim assumimos que todos brinquedos produzidos podem ser vendidos. 9 Receita da semana = receita dos soldados + receita dos trens Receita da semana = $/soldado * soldado/semana + $/trem * trem/semana Receita por semana = 27*X1 + 21*X2 Também podemos escrever: 9 Custos de M.P. = 10*X1 + 9*X2 9 Custos de M.O. = 14*X1 + 10*X2 Então Giapetto quer maximizar: (27X1 + 21X2) - (10X1 + 9X2) - (14X1 + 10 X2) = 3X1 + 2X2 Assim o objetivo de Giapetto é escolher X1 e X2 para maximizar 3X1 + 2X2 Função objetivo maximizar Z = 3X1 + 2X2 ou max Z = 3X1 + 2X2 Variável usualmente utilizada 22 Curso de Pesquisa Operacional Terceiro ponto importante: restrições Se X1 e X2 aumentam, a função objetivo de Giapetto será sempre maior. Mas infelizmente X1 e X2 são limitados pelas seguintes restrições: 9 cada semana, não mais que 100 horas de acabamento; 9 cada semana, não mais de 80 horas de carpintaria; 9 limitação de demanda, não mais de 40 soldados por semana. Restrições 9 M.P. ilimitada, portanto não há restrições. 9 Como, próximo passo, é necessário expressar as restrições 1, 2 e 3, em termo das variáveis de decisão: X1 e X2. Restrição 1 não mais de 100 h de acabamento Total de h de acab./semana = horas de aca./sold. * sold. feitos/semana + horas de acab./trem * trens feitos/semana Total de horas de acab./semana = 2*X1 + 1*X2 Restrição 1: 2X1 + X2 ≤ 100 23 Curso de Pesquisa Operacional Restrição 2 não mais de 80 h de carpintaria Total de h de carp./semana = horas de carp./sold. * sold. feitos/semana + horas de carp./trem * trens feitos/semana Total de horas de carp./semana = 1*X1 + 1*X2 Restrição 2: X1 + X2 ≤ 80 Restrição 3 venda máxima de soldados: 40 Restrição 3: X1 ≤ 40 Conjunto das restrições: 1. 2X1 + X2 ≤ 100 2. X1 + X2 ≤ 80 3. X1 ≤ 40 Coeficientes tecnológicos: refletem a quantia usada para diferentes produtos. Restrições para o problema de PL de Giapetto Usualmente representam a quantidade de recursos disponíveis. 24 Curso de Pesquisa Operacional 25 Quarto ponto importante: Restrições adicionais Para completar a formulação do problema: • X1 ≥ 0 • X2 ≥ 0 Significa que X1 e X2 precisam satisfazer todas as restrições Resumindo max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 ≤ 100 P.L. - todos os termos X são de expoente 1 e as restrições são inequações lineares X1 + X2 ≤ 80 X1 ≤ 40 X1 ≥ 0 X2 ≥ 0 O problema de Giapetto é típico de muitos outros, onde precisa-se maximizar lucros sujeitos a recursos limitados 4.3.2 Exercícios - Obter a formulação matemática para alguns casos 1) Uma determinada empresa automobilística fabrica carros de luxos e caminhonetes. A empresa acredita que os mais prováveis clientes são homens e mulheres com altos rendimentos. Para abordar estes grupos, a empresa decidiu por uma campanha de propagandas na TV, e comprou 1 minuto do tempo de comercial de 2 tipos de programa: comédia e transmissão de futebol. Cada comercial durante o programa de comédias é visto por 7 milhões de mulheres e 2 milhões de homens com grande poder aquisitivo. Cada comercial durante a transmissão de futebol é visto por 2 milhões de mulheres e 12 milhões de homens com grande Curso de Pesquisa Operacional 26 poder aquisitivo. Um minuto de comercial durante o programa de comédias custa $50000, e durante a transmissão de futebol $100000. A empresa gostaria que pelo menos 28 milhões de mulheres e 24 milhões de homens de grande poder aquisitivo assistissem sua propaganda. Obter a programação matemática que irá permitir a empresa atender as suas necessidades de propaganda a um mínimo custo. 2) Uma empresa fabrica carros e caminhonetes. Cada veículo precisa ser trabalhado nas seções de pintura e montagem. Se a seção de pintura trabalhar só com caminhonetes, 40 por dia podem ser pintados. Se estiver trabalhando somente com carros, 60 por dia é sua capacidade. Se a seção de montagem estiver trabalhando somente com caminhonetes, 50 podem ser montados por dia. O mesmo número é possível para carros se este for o único produto na linha. Cada caminhonete contribui $300 para o lucro, e cada carro $200. Obter a formulação matemática que determinará a programação de produção que maximizará o lucro da empresa. 3) Supondo que a empresa do exemplo anterior, por necessidades dos vendedores, tem de produzir pelo menos 30 caminhonetes e 20 carros diariamente, qual será a nova formulação do problema? 4.4 Solução de um problema de PL – Método gráfico Um problema de P.L. só pode ser resolvido graficamente desde que o modelo, em estudo, apresentar duas variáveis. Implicações implícitas da FO em PL max Z = 3X1 + 2X2 9 A contribuição para a função objetivo de cada variável de decisão é proporcional ao valor da variável de decisão; 9 A contribuição para a função objetivo para cada variável é independente dos valores de outras variáveis de decisão. Curso de Pesquisa Operacional Definição 9 Região de solução para um problema de PL: é o conjunto de todos os pontos que satisfazem todas as restrições do problema. Região de solução Giapetto: X1 = 40 X2 = 20 Restrições: 2X1 + X2 ≤ 100 X1 + X2 ≤ 80 X1 ≤ 40 X1 ≥ 0 X2 ≥ 0 região de solução ok 2*40+20 ≤ 100 ok 40+20 ≤ 80 ok 40 ≤ 40 ok 40 ≥ 0 ok 20 ≥ 0 Região de solução Giapetto: X1 = 15 X2 = 70 Restrições: 2X1 + X2 ≤ 100 X1 + X2 ≤ 80 X1 ≤ 40 X1 ≥ 0 X2 ≥ 0 não é região de solução ok 2*15+70 ≤ 100 não 15+70 > 80 ok 15 ≤ 40 ok 15 ≥ 0 ok 70 ≥ 0 27 Curso de Pesquisa Operacional Região de solução região de solução Pontos que atendem e onde será procurada a solução ótima Solução ótima Ponto da região de solução, que leva ao maior valor da função objetivo. Solução ótima 9 A maioria dos problemas de PL, tem somente uma solução ótima; 9 Alguns não tem solução ótima; 9 Alguns tem infinitas soluções. Para o problema de Giapetto, solução ótima: X1=20 e X2 = 60 Z = 3*20 +2*60 = 180 Solução gráfica para o problema de 2 variáveis de decisão 9Um PL com 2 variáveis pode ser resolvido graficamente. 9Nós sempre nomeamos as variáveis X1 e X2 e os eixos coordenados por X1 e X2. 28 Curso de Pesquisa Operacional Como plotar uma inequação 2X1+3X2 ≤ 6 (1) 3X2 ≤ 6 - 2X1 X2 ≤ 1/3*(6 - 2X1) = 2 - 2/3X1 (2) O conjunto de pontos que satisfaz (1) e (2) cai sobre a retaX2ou abaixo dela X2 = 2 - 2/3X1 6 5 4 Região onde: 3 2X1+3X2 ≥ 6 2 1 Região onde: 2X1+3X2 ≤ 6 X1 1 2 3 4 5 6 Encontrando a região de solução do problema de Giapetto: 2X1 + X2 ≤ 100 X1 + X2 ≤ 80 X1 ≤ 40 X1 ≥ 0 X2 ≥ 0 Para um ponto (X1, X2) pertencer a região de solução é preciso satisfazer todas estas inequações. X1 e X2 ≥ 0, indicam o primeiro quadrante 29 Curso de Pesquisa Operacional X2 (2) (4) 120 D Polígono DGFEH - região de solução B 100 80 G 60 Região convexa simplex 40 (3) F 20 A E H 20 40 X1 C 60 80 100 120 Encontrando a solução ótima 9 Após a identificação da região de solução, nós devemos procurar a solução ótima, que será o ponto da região que leva ao maior valor de: Z = 3X1+2X2 Encontrando a solução ótima 9 Para encontrar a solução ótima, nós precisamos desenhar uma linha sobre a qual todos os pontos levem ao mesmo valor de Z. 9 Escolhe-se qualquer ponto da região de solução: (20, 0): Z = 3X1+2X2 = 60 Assim (20, 0) cai sobre a reta: Z = 3X1 + 2X2 = 60 X2 = 30 - 3/2X1 30 Curso de Pesquisa Operacional Encontrando a solução ótima 9 3X1 + 2X2 = 60 9 tem coeficiente angular = -3/2 9 Assim todas as retas 3X1+2X2 = constante terão o mesmo coeficiente angular. Importante: uma vez desenhada a reta, podemos encontrar todas as outras pelo movimento paralelo da reta que desenhamos. X2 (2) (4) 120 D Retas iso-lucro B 100 80 G Indica o ponto ótimo - G (20, 60) 60 40 F 20 A E H 20 (3) 40 X1 C 60 80 100 120 X2 = 30 - 3/2 X1 Lucro de Giapetto 9Z = 3*20 + 2*60 = 180 31 Curso de Pesquisa Operacional 32 4.4.1 Exemplos Resolver graficamente os exercícios 1, 2 e 3, formulados anteriormente no item 4.3, e as seguintes formulações: 1) Max Z = 5X1 + 2X2 Sujeito a: X1 ≤ 3 X2 ≤ 4 X1 + 2X2 ≤ 9 X1 ≥ 0 X2 ≥ 0 2) Max Z = 2X1 -1X2 Sujeito a: X1 – X2 ≤ 1 2X1 + X2 ≥ 6 X1 ≥ 0 X2 ≥ 0 4.4.2 Casos possíveis Pela discussão apresentada neste item, foi visto que um problema de PL com duas variáveis, necessariamente cairão em um dos 4 casos possíveis, sendo eles: 1) Caso 1: a formulação tem solução única; 2) Caso 2: a formulação tem múltiplas soluções; 3) Caso 3: a formulação não tem solução; 4) Caso 4: a formulação não tem fronteira, a região de solução permite arbitrários valores para Z (grandes valores de Z, para problemas de max, e pequenos valores de Z, para problemas de min). E qualquer outra formulação, com maior número de variáveis, também sempre se enquadrará em um destes casos. Curso de Pesquisa Operacional 33 4.5 Problemas interessantes que podem ser formulados para serem resolvidos por programação linear O que será visto a seguir é a formulação de vários problemas complicados da Programação Linear. O passo mais importante na formulação de um modelo é a escolha apropriada das variáveis de decisão. Se as variáveis de decisão forem selecionadas adequadamente, a função objetivo e as restrições devem ser obtidas sem muita dificuldade. Problemas na determinação da função objetivo e restrições normalmente são devido a uma escolha incorreta das variáveis de decisão. 4.5.1 Exemplo 1: Problema de programação do trabalho Muitas aplicações de programação linear envolvem determinar o mínimo custo e satisfazer as necessidades de número de trabalhadores necessários. O exemplo a seguir ilustra as características comuns para muitas destas aplicações. Uma empresa de entregas necessita de diferentes números de funcionários durante os diferentes dias da semana. O número de funcionários necessários é mostrado na tabela a seguir. Dia 1 = Segunda-feira Dia 2 = Terça-feira Dia 3 = Quarta-feira Dia 4 = Quinta-feira Dia 5 = Sexta-feira Dia 6 = Sábado Dia 7 = Domingo Número de funcionários necessários 17 13 15 19 14 16 11 As leis do sindicado asseguram que os funcionários devem trabalhar 5 dias consecutivos e 2 de folga. Por exemplo, um funcionário que trabalhou de Segunda a Sexta folga Sábado e Domingo. O escritório quer funcionar apenas com funcionários de tempo integral. Formular o problema de tal modo que a empresa possa minimizar o número de empregados de tempo integral que precisam ser contratados. 4.5.2 Exemplo 2: Problema de orçamento de capital Uma empresa de petróleo esta considerando 5 diferentes oportunidades de investimento. O fluxo de caixa e valor presente (em milhões de reais) é dado na tabela a seguir. Curso de Pesquisa Operacional Desembolso Inv. 1 Inv. 2 Inv. 3 Inv. 4 Inv. 5 11 53 5 5 29 3 6 5 1 34 13 16 16 14 39 34 instante 0 Desembolso instante 1 Valor presente A empresa tem no momento $ 40 milhões para investir; e estima-se que no primeiro ano estarão disponíveis $ 20 milhões para investimento. A empresa pode comprar qualquer fração de cada investimento. Neste caso, o fluxo de caixa e valor presente é ajustado de acordo com a proporção do investimento realizado. Por exemplo, se a empresa comprar 1/5 do investimento 3, então o pagamento necessário será de 1/5 ($5) = $1 nos tempos 0 e 1. O valor presente do investimento 3 será de 1/5 (16) = $3.2 milhões. A empresa quer maximizar o valor presente liquido que pode ser obtido pelos investimentos realizados entre as opções 1 a 5. Formular o problema para atingir este objetivo. Assumir que qualquer fundo não usado no instante 0 não poderá ser usado no primeiro ano (instante 1). 4.5.3 Exemplo 3: planejamento financeiro de curto prazo Uma empresa eletrônica que fabrica gravador e rádio têm seus custos de mão de obra, matéria prima e preço de venda de cada produto discriminado na tabela a seguir. Gravador Rádio Preço de venda 100 90 Mão de obra 50 35 Custo matéria prima 30 40 Em primeiro de dezembro de 06, a empresa terá matéria prima que é suficiente para fabricar 100 gravadores e 100 rádios. Na mesma data, o balancete previsto da empresa é o mostrado a seguir, e a razão entre ativo circulante e as suas obrigações (dívida com banco) será 2 (20000/10000). Curso de Pesquisa Operacional Ativo circulante Caixa 10000 Contas a receber Estoques Dívidas em bancos 3000 7000 35 Obrigações 10000 A empresa precisa determinar quantos gravadores e rádios deverão produzidos em Dezembro. A demanda é alta o suficiente para garantir que todos os produtos fabricados serão vendidos. Todas as vendas são feitas a crédito, pagamentos por produtos fabricados em Dezembro não serão recebidos até primeiro de Fevereiro de 07. Durante Dezembro, a empresa irá receber $2000 e precisará pagar $1000 devido ao empréstimo bancário e $1000 referente ao seu aluguel. Em primeiro de janeiro de 07, a empresa receberá um carregamento de matéria prima no valor de $2000, que será pago em Fevereiro de 07. A gerência decidiu que em primeiro de janeiro de 07 precisa ter pelo menos $4000 em caixa. Também o banco exige que a razão entre dinheiro disponível e financiamento seja de pelo menos 2. Para maximizar o lucro da produção em Dezembro, o que deveria empresa produzir durante este mês? 4.5.4 Exemplo 4: problema de Blending (mistura) Uma refinaria produz 3 tipos de gasolina (gasolina 1, gasolina 2 e gasolina 3). Cada tipo é produzido pela mistura de 3 tipos de petróleo (petróleo 1, petróleo 2 e petróleo 3). Os preços de venda por barril da gasolina e da compra de petróleo são: Gasolina 1 Gasolina 2 Gasolina 3 Preço de venda por barril 70 60 50 Petróleo 1 Petróleo 2 Petróleo 3 Preço de compra por barril 45 35 25 A refinaria pode comprar até 5000 barris de cada tipo de petróleo por dia. Os 3 tipos de gasolina se diferem na octanagem e no enxofre presente. O petróleo misturado para fabricar a gasolina 1 precisa ter uma octanagem média de pelo menos 10 e conter quando muito 1% de enxofre. O petróleo misturado para fabricar a gasolina 2 precisa ter uma octanagem média de pelo menos 8 e conter quando muito 2% de enxofre. O petróleo misturado para fabricar a gasolina 3 precisa ter uma octanagem média de pelo menos 6 e conter quando muito 1% de enxofre. A taxa de octanagem e de enxofre que contém os 3 tipos de petróleo são as seguintes: Petróleo 1 Petróleo 2 Petróleo 3 Octanagem Enxofre 12 6 8 0.5% 2% 3% Curso de Pesquisa Operacional 36 Custa $4 para transformar 1 barril de petróleo em 1 barril de gasolina, e a refinaria pode produzir até 14000 barris por dia. Os clientes da refinaria necessitam das seguintes quantias de cada tipo de gasolina: gasolina 1 – 3000 barris por dia; gasolina 2 – 2000 barris por dia; gasolina 3 – 1000 barris por dia. A empresa considera sua obrigação atender a estas demandas. A empresa também tem a opção de propagandas para estimular a demanda por seus produtos. Cada 1$ gasto diariamente em propaganda de um tipo particular de gasolina incrementa a demanda diária desta gasolina em 10 barris. Por exemplo, se a refinaria decide gastar $20 diariamente para divulgar a gasolina 2, o aumento da demanda diária desta gasolina será de 200 barris. Formular o problema para que a refinaria maximize seu lucro diário. Usando Programação Linear para resolver problemas de decisão multi períodos Até aqui, todas as formulações discutidas são exemplos estáticos, ou modelos de 1 período. Nos modelos estáticos, se assume que todas as decisões são feitas em um simples instante do tempo. Nos exemplos a seguir será mostrado como a Programação Linear pode ser usada para determinar decisões ótimas em multi períodos, ou modelos dinâmicos. Modelos dinâmicos aparecem quando o decisor toma decisões em mais de um ponto do tempo. Em um modelo dinâmico, decisões tomadas durante o período de tempo corrente influem em decisões de períodos futuros. Por exemplo, considere uma empresa que precisa determinar quantas unidades de um produto devem ser fabricadas cada mês. Se ele produzir uma quantidade grande no mês corrente, poderia reduzir o número de unidades a produzir nos meses futuros. Os 3 próximos exemplos ilustram como decisões iniciais afetam decisões posteriores. 4.5.5 Exemplo 5: Um modelo de estoques Uma empresa de barcos precisa determinar quantos veleiros devem ser produzidos durante cada um dos 4 próximos trimestres. A demanda de cada um dos trimestres é: primeiro trimestre, 40 veleiros; segundo trimestre, 60 veleiros; terceiro trimestre, 75 veleiros; quarto trimestre, 25 veleiros. A empresa quer atender a demanda prontamente. No início do primeiro trimestre, a empresa tem 10 veleiros em estoque. No início de cada trimestre, a empresa precisa decidir quantos veleiros devem ser produzidos durante o trimestre. Por simplicidade, assume-se que os veleiros fabricados durante um trimestre podem ser usados para atender a demanda deste trimestre. Durante cada trimestre, a empresa pode produzir até 40 veleiros com Curso de Pesquisa Operacional 37 sua mão de obra regular a um custo de $ 400 por veleiro. Tendo de trabalhar com horas extras durante o trimestre, a empresa pode produzir veleiros a mais a um custo total de $ 450 por barco. No final de cada trimestre (após ter ocorrido a produção e a demanda do trimestre ter sido atendida), um custo de transporte ou armazenagem de $ 20 por barco ocorre. Usar a programação linear para determinar a seqüência de produção para minimizar a soma dos custos de produção e estoques durante os 4 próximos trimestres. 4.5.6 Exemplo 6: Modelos de financiamento multi período O exemplo a seguir ilustra como a programação linear pode ser usada para problemas de gerenciamento de fluxo de caixa. A chave é determinar as relações de dinheiro nas mãos durante diferentes períodos. Uma empresa de investimentos precisa determinar a estratégia de investimento para os próximos 3 anos. Atualmente a empresa tem $100.000 disponível para investir. Os investimentos A, B, C, D e E estão disponíveis. O fluxo de caixa associado com investir $1 em cada opção é dado na tabela a seguir. A B C D E 0 -$1 $0 -$1 -$1 $0 1 $0.50 -$1 $1.2 $0 $0 2 $1 $0.50 $0 $0 -$1 3 $0 $1 $0 $1.9 $1.5 Por exemplo, 1$ investido na opção B requer um pagamento de $1 no ano 1 e retorna $0.50 no ano 2 e $1 no ano 3. Para assegurar que o portfólio da empresa seja diversificado, a política da empresa é a de aplicar até $ 75.000 em um único investimento. Adicionalmente aos investimentos A-E, a empresa pode obter taxas de 8% ao ano mantendo o dinheiro não investido em fundos do mercado. Ganhos dos investimentos podem ser imediatamente reinvestidos. Por exemplo, o dinheiro recebido no ano 1 do investimento C pode ser imediatamente reinvestido na opção B. A empresa tem como diretriz não emprestar dinheiro de fundos, assim o dinheiro disponível para investimento a qualquer tempo é limitado ao disponível. Formular a programação linear que maximiza o dinheiro em mãos no ano 3. Curso de Pesquisa Operacional 38 4.5.7 Exemplo 7: Programação de trabalho multi período Em exemplo anterior foi visto que a programação linear poderia ser usada para programar funcionários em um ambiente estático onde a demanda não se altera. O exemplo a seguir, mostra como a programação linear pode ser usada para programar treinamento para funcionários quando a empresa se depara com uma demanda que se altera. CLS é uma cadeia de lojas de serviços voltados para computadores. O número de horas de trabalho especializado que a CLS necessitará nos próximos 5 meses será: • Mês 1 (janeiro): 6000 horas; • Mês 2 (fevereiro): 7000 horas; • Mês 3 (março): 8000 horas; • Mês 4 (abril): 9500 horas; • Mês 5 (maio): 11000 horas. No início de Janeiro, 50 técnicos farão parte do quadro de funcionários da CLS. Cada técnico pode trabalhar até 160 horas por mês. Para atender futuras demandas, novos técnicos precisam ser treinados. É necessário um mês para se treinar um novo técnico. Durante o mês de treinamento, o novo funcionário precisa ser supervisionado por um técnico experiente por 50 horas. Cada técnico com experiência recebe $ 2000 por mês (mesmo se ele não trabalhar às 160 horas). Durante o mês de treinamento, o novo funcionário recebe $ 1000 por mês. No final de cada mês, 5% dos técnicos experientes saem para se juntar a outra empresa de computadores. Formular o problema de tal modo que sua solução permitirá a CLS minimizar os custos relativos a pagamento de salários atendendo a programação prevista para os próximos 5 meses. Problemas extras (Usando Programação Linear) 4.5.8 Exemplo 8: Problema da fabricação de sorvete Considerando o caso de um fabricante de sorvetes que deve produzir 100 kg de sorvete. A receita considerada como a que resulta em um bom produto, é a seguinte: Curso de Pesquisa Operacional Exigência Sigla Mínimo (%) Máximo (%) Gordura Sólidos de leite (não-gordurosos) Total de sólidos do leite Açúcar Total de sólidos Água Estabilizador Emulsificador Gord. SLNG TSL 10 10,5 20,5 11 37,5 58,5 0,37 0,10 16 13 25 17 41,5 62,5 0,37 0,10 TS 39 A disposição do fabricante, para aquisição encontra-se facilmente as seguintes matérias primas: Nome 1 2 3 4 5 6 7 8 9 10 11 12 13 % Gord Creme 40% 40 Creme 38% 38 Leite 3,2% 3,2 Leite 4,0% 4,0 Leite condensado gordo 8 Leite condensado magro Manteiga 5 Sólidos secos Whey Sacarose Garapa Estabilizador Emulsificador Água % SLNG 5,4 5,6 8,7 8,6 20 28 % TSL 45,4 43,6 11,9 12,6 28 28 92 95 97 95 % Açúcar 100 67 % TS 45,4 43,6 11,9 12,6 28 28 % Água 54,6 56,4 88,1 87,4 72 72 Custo 97 95 100 67 80 3 5 15 10 10 9 55 78 0 33 20 100 Obter a formulação que permita ao fabricante obter um bom produto ao mínimo custo. 27 26 3 3 7 3 Curso de Pesquisa Operacional 40 4.6 Solução de problema de PL – Método SIMPLEX Nas formulações anteriores, problemas com mais de duas variáveis não poderiam ser solucionados com o método gráfico. Desta forma é necessário o estudo de outro procedimento para a busca de soluções. Agora, será apresentado mais um procedimento geral para resolução de problemas de programação linear, denominado "Método Simplex" e que foi desenvolvido em1947 por George B. Dantzig. O método simplex é um método interativo (algoritmo) utilizado para achar, algebricamente, a solução ótima de um problema de P.L. 4.6.1 Teoremas Básicos Teorema 1 - O conjunto de todas as soluções compatíveis do modelo de programação linear é um conjunto convexo cujos vértices (pontos extremos) correspondem a soluções básicas viáveis. Teorema 2 - Se a função objetiva possui um máximo (mínimo) finito, então pelo menos uma solução ótima é um ponto extremo do conjunto convexo do teorema 1. 4.6.2 Procedimentos do Método Simplex Supondo o seguinte problema para maximização: Max z = 5X1 + 2X2 Sujeito a: X1 ≤ 3 X2 ≤ 4 X1 + 2X2 ≤ 9 X1, X2 ≥ 0 A solução gráfica do problema é a seguinte: Curso de Pesquisa Operacional X2 E (0, 4) 41 Z ZC = 24 D (1, 4) ZB = 15 ZD = 13 C (3, 3) ZE = 8 Pontos extremos X1 A (0, 0) B (3, 0) A B C D E Sabe-se que a solução ótima do modelo é uma solução compatível básica do sistema, ou seja, um ponto extremo do polígono ABCDE. O método simplex, para ser iniciado, necessita conhecer uma solução compatível básica (solução inicial) do sistema, isto é, um dos pontos A, B, C, D ou E do trapézio. Suponha-se que essa solução seja o ponto A. O método simplex verifica se a presente solução é ótima. Se for o processo está encerrado. Se não for ótima, é porque um dos pontos adjacentes fornece um valor maior que o ponto A. Neste caso, o método simplex faz então à mudança do ponto A para o ponto extremo adjacente que mais aumente o valor da função objetivo. No caso o ponto B. Agora, tudo que foi feito para o ponto extremo A é feito para o ponto extremo B. O processo finaliza quando se obtém um ponto extremo onde todos os pontos extremos a ele adjacentes, fornecem valores menores que a função objetivo. Como fazer, algebricamente, a mudança de um ponto extremo para outro, a ele adjacente? Achar, portanto, a próxima solução básica (ponto extremo adjacente) exige a escolha de uma variável básica para deixar a base atual, tornando-se não básica, e a escolha de uma variável não básica para entrar na base em sua substituição. O método simplex compreenderá, portanto, os seguintes passos: 1. Achar uma solução compatível básica inicial. 2. Verificar se a solução atual é ótima. Se for, pare. Caso contrário siga para o passo III. 3. Determinar a variável não-básica que deve entrar na base. 4. Determinar a variável básica que deve sair da base. 5. Achar a nova solução compatível básica, e voltar ao passo II. Curso de Pesquisa Operacional 42 4.6.3 O Método Simplex A seguir será mostrado passo a passo o método simplex. Definição Geral de Programação Linear: Maximizar ou Minimizar Z = C 1X 1 + C2 X2 + .... + Cn Xn sujeito a: a11X1 + a12X1 + ..........+ a1nXn (≤ ou = ou ≥) b1 a21X1 + a22X1 + ..........+ a2nXn (≤ ou = ou ≥) b2 a31X1 + a32X1 + ..........+ a3nXn (≤ ou = ou ≥) b3 am1X1 + am2X1 + ..........+ amnXn (≤ ou = ou ≥) bm X1, X2, X3, Xn ≥ 0 O Método Simplex é aplicado diretamente quando: 1. Todas as restrições são ≤ bi 1. Todos os bi ≥ 0 2. Se quiser maximizar Z Quando uma dessas condições não é atendida estamos em presença de um caso particular. O Método Simplex será estudado, acompanhando a seguinte formulação: Maximizar Z = 3x1 + 2x2 + 5x3 Sujeito a x1+ 2x2 + x3 ≤ 430 3x1 + 2x3 ≤ 460 xl + 4x2 ≤ 420 x1, x2, x3 ≥ 0 Primeiro passo: Transformar o sistema de M desigualdades lineares restritivas em um sistema de M equações lineares. Para isso adiciona-se a cada uma das desigualdades uma variável não-negativa chamada “Variável de Folga". Curso de Pesquisa Operacional 43 Obs: Têm-se tantas variáveis de folga quantos forem às restrições. Representação das Folgas = xn+1 , xn+2 , ... , xn+m. Assim temos: x1+ 2x2 + x3 + x4 = 430 3x1 + 2x3 + x5 = 460 xl + 4x2 + x6 = 420 Segundo passo: Colocar as equações em forma de tabela Z - 3x1 - 2x2 - 5x3 =0 x1+ 2x2 + x3 + x4 3x1 +2x3 xl + 4x2 = 430 + x5 = 460 + x6 = 420 Terceiro passo: Determinar uma solução inicial viável. Pode ser demonstrado que a solução ótima de um problema de programação linear é uma solução básica. Uma solução básica para um sistema de M equações e N incógnitas. Possui M variáveis diferentes de O (zero) e (N - M) variáveis iguais a 0 (zero). As variáveis diferentes de 0 (zero) são chamadas "Variáveis Básicas" e aquelas iguais a 0 (zero) são as "Variáveis Não Básicas". No Método Simplex escolhem-se como variáveis básicas aquelas em cuja coluna aparece um valor igual a 1 e os demais iguais a 0 (zero). Quarto passo: verificar se a solução é ótima. Examinar os valores dos coeficientes das Variáveis não básicas na la linha (no exemplo, linha de Z) e concluir: a. Se todos os valores forem positivos a solução é ótima e única. b. Se aparecerem valores positivos e alguns nulos a solução é ótima mas não única. c. Se aparecer algum valor negativo a solução não é ótima. Deve-se, então executar o 5o passo. Como pode se verificar na tabela a seguir, existem números negativos na primeira linha, assim a solução não é ótima, e precisam-se continuar os passos do método. Curso de Pesquisa Operacional Base Z X4 X5 X6 z 1 0 0 0 X1 -3 1 3 1 X2 -2 2 0 4 X3 -5 1 2 0 X4 0 1 0 0 X5 0 0 1 0 X6 0 0 0 1 b 0 430 460 420 bi/aie 430 230 ind. 44 equac. 0 1 2 3 Quinto passo: Determinar a variável que entra (xe ) A variável que entra deve satisfazer as seguintes condições: • ser igual a 0 (zero) na solução atual (ou seja deve ser não básica); • ter coeficiente menor ou igual a 0 (zero) na linha de Z (na la linha); • possuir em sua coluna, pelo menos um coeficiente positivo. Escolher para entrar na base aquela que apresentar, na linha de Z, o coeficiente negativo de maior valor absoluto. Marcar a coluna na tabela. Sexto passo: Determinar a variável que sai (xs). Calcula-se o valor de bi/aie para cada linha da tabela e escolhe-se para sair a variável para a qual o quociente tiver o menor valor não negativo. Marcar na matriz a linha de xs. O quinto e sexto passos podem ser vistos nesta tabela: entra Base Z X4 X5 X6 z 1 0 0 0 X1 -3 1 3 1 sai X2 -2 2 0 4 X3 -5 1 2 0 X4 0 1 0 0 X5 0 0 1 0 X6 0 0 0 1 b 0 430 460 420 bi/aie 430 230 ind. equac. 0 1 2 3 Pivô Sétimo passo: Calcular a nova matriz de coeficientes, executando as operações convenientes nas linhas da matriz. Os coeficientes da nova matriz podem ser calculados da seguinte maneira: 10 - Dividir todos os elementos da linha marcada pelo pivô (esta linha não muda mais). 20 - Multiplicar a linha marcada pelo fator Fi= aie / ase Subtrair a linha i da matriz, da linha marcada e multiplicada pelo fator Fi. 30 - Substituir na coluna base a variável que sai pela variável que entra. O resultado destas operações na tabela anterior resulta em: Curso de Pesquisa Operacional Base Z X4 X3 X6 z 1 0 0 0 X1 4.5 -0.5 1.5 1 X2 -2 2 0 4 X3 0 0 1 0 X4 0 1 0 0 X5 2.5 -0.5 0.5 0 X6 0 0 0 1 b 1150 200 230 420 bi/aie 100 ind. 105 45 equac. 0 1 2 3 Como na primeira linha da coluna de X2 aparece um número negativo, a solução ainda não é a ótima. Oitavo passo: Repetir todos os passos, do 40 ao 70, tantas vezes quanto forem necessárias, até que a solução ótima seja encontrada. O resultado final da tabela anterior aparece na próxima iteração, e como não existem mais números negativos na primeira linha a solução é ótima. O resultado é mostrado a seguir. Base Z X2 X3 X6 z 1 0 0 0 X1 4 -0.25 1.5 2 X2 0 1 0 0 X3 0 0 1 0 X4 1 0.5 0 -2 X5 2 -0.25 0.5 1 X6 0 0 0 1 O máximo Z é 1350, para X2 = 100, X3 = 230 e X6 = 20. 4.6.4 O problema do GIAPETTO pelo simplex Resolvendo o problema de Giapetto pelo simplex Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 ≤ 100 X1 + X2 ≤ 80 X1 ≤ 40 X1 ≥ 0 X2 ≥ 0 b 1350 100 230 20 bi/aie equac. 0 1 2 3 Curso de Pesquisa Operacional Converter o problema de PL na forma canônica Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 + X3 = 100 X1 + X2 + X4 = 80 X1 + X5 = 40 X1, X2, X3, X4 e X5 ≥ 0 Solução básica inicial Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 + X3 X1 + X2 = 100 + X4 X1 = 80 + X5 = 40 X1, X2, X3, X4 e X5 ≥ 0 Variáveis não básicas: X1 = X2 = 0 Variáveis básicas: X3 = 100 X4 = 80 X5 = 40 O problema pode ser representado assim: X1 entra na base Base X3 X4 X5 Z 1 0 0 0 X1 -3 2 1 1 X2 -2 1 1 0 X3 0 1 0 0 X4 0 0 1 0 X5 0 0 0 1 b 0 100 80 40 Razão 100/2=50 80/1=80 40/1=40 Pivo Solução parcial: (0, 0, 100, 80, 40) Próximo quadro - Base: X3, X4 e X1 Devem se colocadas na forma canônica Indica que X1 entra no lugar de X5 46 Curso de Pesquisa Operacional Segunda iteração Ainda não é a solução ótima Pivo Z 1 0 0 0 Base X3 X4 X1 X1 0 0 0 1 X2 -2 1 1 0 X3 0 1 0 0 X4 0 0 1 0 X5 3 -2 -1 1 b 120 20 40 40 Solução parcial: (40, 0, 20, 40, 0) Razão 20/1=20 40/1=40 40/0 Indica que X2 entra no lugar de X3 Próximo quadro - Base: X2, X4 e X1 Devem se colocadas na forma canônica Terceira iteração Ainda não é a solução ótima Z 1 0 0 0 Base X2 X4 X1 Pivo X1 0 0 0 1 X2 0 1 0 0 X3 2 1 -1 0 X4 0 0 1 0 X5 -1 -2 1 1 b 160 20 20 40 Solução parcial: (40, 20, 0, 20, 0) Razão -10 20 40 Indica que X5 entra no lugar de X4 Próximo quadro - Base: X2, X5 e X1 Devem se colocadas na forma canônica Quarta iteração Valor máximo possível para a função objetivo solução é ótima Base X2 X5 X1 Z 1 0 0 0 X1 0 0 0 1 X2 0 1 0 0 X3 1 -1 -1 1 X4 1 2 1 -1 X5 0 0 1 0 Solução ótima: (20, 60, 0, 0, 20) A restrição 4 tem um folga de 20 b 180 60 20 20 Razão 47 Curso de Pesquisa Operacional 48 Solução do problema de Giapetto pelo simplex Max Z = 3X1 + 2X2 sujeito a: 2X1 + X2 + X3 = 100 X1 + X2 + X4 = 80 X1 + X5 = 40 X1, X2, X3, X4 e X5 ≥ 0 Solução ótima: (20, 60, 0, 0, 20) Z = 3*20 + 2*60 = 180 A restrição 4 tem um folga de 20 4.6.5 Procedimento para minimizar Z Se as variáveis de decisão forem os custos, por exemplo, nosso objetivo será minimizá-lo. O método empregado na minimização é converter o problema em um equivalente, envolvendo maximização, procedendo-se, então da maneira usual do simplex. Esta conversão consiste em maximizar, negativamente, a função objetivo original. Então, se função objetivo (FO) tratar de minimizar Z, resolve-se o problema para máximo (-Z); isto é, troca-se o sinal da FO e mantêm-se inalteradas as inequações (e/ou equações) resolvendo-se o problema de modo convencional. Determinado (-Z) troca-se seu sinal. 4.6.6 Exercícios Resolver pelo Simplex as seguintes formulações: 1) Max Z = 5X1 +2X2 Sujeito a: X1 ≤ 3 X2 ≤ 4 X1 + 2X2 ≤ 9 X1 ≥ 0 X2 ≥ 0 Curso de Pesquisa Operacional 49 2) Min Z = 2X1 - 3X2 Sujeito a: X1 + X2 ≤ 4 X1 - X2 ≤ 6 X1 ≥ 0 X2 ≥ 0 3) Min Z = 4X1 - X2 Sujeito a: 2X1 + X2 ≤ 8 X2 ≤ 5 X1 - X2 ≤ 4 X1 ≥ 0 X2 ≥ 0 4.7 O Método Big M O Método simplex é explicado diretamente quando: 1. Todas as restrições são ≤ bi; 2. Todos os bi ≥ 0; 3. Se quer maximizar Z. Quando uma dessas condições não é satisfeita estamos em presença de um caso particular. 4.7.1 Procedimento a aplicar quando as restrições são (≥) ou (=) bi, sendo todos os bi ≥ 0 Obs: Sempre que os bi de alguma restrição for negativo, multiplicar a respectiva restrição por (-1). Exemplo: x1 - 4x2 + 2x3 ≤ - 23 ⇒ -x1 + 4x2 – 2x3 ≥ 23 Quando as restrições são (≥) ou (=) a bi, não temos uma base, isto é, uma solução inicial, conforme mostrado Simplex. Neste caso, usam-se as técnicas (ou métodos): a) Método "Big M" ou "Método das penalidades"; b) Método das duas fases ou Método da função objetivo artificial. Curso de Pesquisa Operacional 50 4.7.2 O procedimento do método “Big M” Para empregar o método “Big M”, procede-se da seguinte maneira: 1. Acrescentam-se as variáveis de folga as restrições do tipo (≥) ou (≤) para torná-las equações. No caso (≤) soma-se, no (≥) subtraí-se a variável de folga. 2. No caso de restrições (≥) ou (=) a bi, bi ≥ 0; adiciona-se às restrições mais uma variável não negativa, chamada variável de artificial (X1a), uma para cada restrição que for necessária. A adição das variáveis artificiais às equações causa uma violação das respectivas restrições. Esta violação é contornada, assegurando-se que estas variáveis artificiais sejam iguais à zero na solução final. Isto é feito atribuindo-se uma penalidade muito grande para estas variáveis artificiais na função objetivo. Tal penalidade será designada por (-M) para os problemas de maximização, sendo M > 0. 3. Substituem-se as variáveis artificiais da FO, pelo seu valor tirado das equações restritivas onde aparecem. 4. Procede-se da maneira usual do Simplex. Obs: Se a variável artificial for diferente de zero na solução final, o problema não tem solução. Resolver as seguintes formulações: 1) Min Z = 2X1 + 3X2 Sujeito a: 1/2X1 + 1/4X2 ≤ 4 X1 + 3X2 ≥ 20 X1 + X2 = 10 X1 ≥ 0 X2 ≥ 0 2) Min Z = 2X1 +3X2 Sujeito a: 2X1 + X2 ≥ 4 X1 - X2 ≥ -1 X1 ≥ 0 X2 ≥ 0 Curso de Pesquisa Operacional 51 4.7.3 O Método das duas fases Primeira fase: formular um novo problema, trocando a função objetivo original por uma artificial, representada pela soma das variáveis artificiais. Como o objetivo é tornar nulas todas as variáveis, devemos minimizar, primeiramente, a função objetivo artificial W, levando-se em conta os seguintes fatos, no algoritmo simplex: a. A FO é W; b. A FO Z do problema principal é tratada como qualquer outra variável durante a operação de pivotagem; c. A decisão a respeito da variável que sai da base não inclui a linha correspondente a Z. Resolvido o simplex para o problema artificial e obtida a solução ótima, W = W , encerra-se a primeira fase do processo. Neste caso, têm-se duas hipóteses: 1a) W > O : neste caso o problema principal não tem solução; 2a) W = O : existe uma solução inicial para o problema principal. Passa-se a segunda fase. Segunda Fase: Inicia-se a segunda fase tomando-se as seguintes providências: a. Suprimem-se todas as variáveis artificiais; b. Suprime-se a função objetivo artificial e trabalha-se com a função objetivo do problema principal. Resolver as formulações do item anterior, e a proposta a seguir pelo método das duas fases. Max Z = -1X1 +2X2 Sujeito a: X1 + X2 ≥ 2 -1X1 + X2 ≥ 1 X2 ≤ 3 X1 ≥ 0 X2 ≥ 0 Curso de Pesquisa Operacional 52 5. SOFTWARES A utilização de programação linear é recomendada para problemas de maior porte, em que muitas variáveis e restrições devem ser consideradas. Por isso, o desenvolvimento de algoritmos computacionais eficientes e precisos tem sido a maior preocupação entre os pesquisadores. Programas adequados existem, virtualmente, para cada sistema computacional comercial desenvolvido nos últimos 20 anos. Problemas de grande porte requerem sistemas computacionais potentes e, portanto, sistemas paralelos têm sido utilizados nos últimos anos. Entretanto, problemas menores podem ser resolvidos em um computador pessoal utilizando um dos softwares desenvolvidos para resolução de problemas de programação linear, como por exemplo, XPress-MP LINDO e MINOS. Para problemas considerados médios, é recomendável a utilização de planilhas eletrônicas com recursos para resolução de problemas. Exemplos destas planilhas são o "What's Best?" (LINDO Systems) para Lotus 1-2-3, o Microsoft Excel e Borland Quattro e ainda o solver para microsoft Excel. Todos eles são ferramentas poderosas, apesar de sua aparência simples. O Solver do Excel será utilizado em alguns exemplos apresentados. Outro programa que também será visto é o LINDO. O instituto de pesquisa operacional e ciências administrativas (INFOR-MS) publicam, eventualmente, pesquisas sobre os softwares de programação matemática em seu periódico OR/MS Today. O relatório de 1995 apresenta softwares que rodam em computadores pessoais e destaca softwares capazes de atacar problemas maiores tanto quanto extensões de planilhas eletrônicas. 5.1 Uma introdução ao uso do LINDO LINDO (Linear Interactive and Discrete Optimizer) foi desenvolvido por Linus Schrage (1986). Ele é um programa de computador que pode ser usado para resolver problemas de programação linear, inteira e quadrática. Para ilustrar seu uso, vamos usar o exemplo de Giapetto, discutido anteriormente, e que foi sintetizado na seguinte formulação: Curso de Pesquisa Operacional 53 Max Z = 3X1 + 2X2 Sujeito a: 2X1 + X2 ≤ 100 X1 + X2 ≤ 80 X1 ≤ 40 X1 ≤ 0 X2 ≥ 0 O programa executável tem o nome LINDO, apesar de ele ser originalmente desenvolvido para o ambiente DOS, pode-se executá-lo pelo Windows em suas versões mais novas. O programa assume que todas as variáveis precisam ser não negativas. Assim, usando o programa não é necessário digitar as variáveis de não negatividade. Para entrar com ≥ ou ≤, basta digitar > ou <. O problema de Giapetto no programa fica da maneira ilustrada na figura abaixo. Para resolver o problema de otimização, basta “clicar” no botão assinalado na figura a seguir. Clicar A resposta do problema é apresentada em uma tela apropriada ilustrada a seguir. Curso de Pesquisa Operacional 54 5.2 Utilizando o Solver do Excel Como foi dito anteriormente, a aplicação de programação linear não é mais limitada pela necessidade de um software especialista. Planilhas eletrônicas geralmente possuem ferramentas que podem ser utilizados para atacar problemas de programação linear de tamanho considerável. Talvez as duas planilhas mais utilizadas sejam o Excel, que contém um opcional conhecido como solver, e o Lotus 1-2-3, que possui o módulo What's best. Ambos os sistemas são muito simples de serem utilizados e, embora sejam um pouco mais lentos que os softwares especialistas, podem resolver problemas de tamanho razoável. Existem, é claro, alguns perigos na sua facilidade de uso, assim como existem armadilhas que devem ser evitadas quando modelos de programação linear são construídos e rodados, as quais podem ser encobertas neste software amigável. Entretanto, a disponibilidade deste software é algo passível de ser elogiada. A discussão apresentada a seguir é baseada no Microsoft Excel v7. Versões mais recentes ou mais antigas deste software poderão apresentar pequenas diferenças na estrutura, mas as idéias básicas são as mesmas. 5.2.1 Formulação para o Solver Na base de qualquer modelo de programação linear existe um conjunto de restrições às quais uma função objetivo a ser otimizada está submetida. O exemplo simples de Giapetto foi formulado anteriormente, neste capítulo, através das equações algébricas representadas a seguir: Curso de Pesquisa Operacional Max Z = 3X1+ 2X2 55 Função objetivo Sujeita a: 2X1 + X2 ≤ 100 Restrição quanto a tempo de acabamento X1 + X2 ≤ 80 Restrição quanto a tempo de carpintaria X1 ≤ 40 Restrição de venda máxima de soldados Estas equações podem ser representadas de maneira diferente, através da utilização de matrizes. Esta representação está exposta a seguir: maximizar X1 = número de soldados 3 X2 = número de trens 2 Sujeito as limite restrições 2 1 ≤ 100 1 1 ≤ 80 1 0 ≤ 40 Lucro bruto Solução 0 0 0 Com exceção da última linha, denominada solução, as demais restrições expostas nas matrizes já eram conhecidas. A linha de solução representa os valores atribuídos a X1 e X2 antes de qualquer otimização. No estado atual, ambos X1 e X2 são definidos como zero o que resulta em um lucro bruto de zero unidade. O primeiro estágio de uso Solver é escrever esta matriz na planilha, como apresentado na Figura 5.1. Como em qualquer planilha, é muito importante observar que algumas células contêm valores constantes, mas outras contêm fórmulas as quais assumem os valores que são exibidos nas mesmas. Neste exemplo, as células D4, D5, D6 e E8 contêm fórmulas. As demais contêm textos, que são utilizados para deixar o exemplo mais claro, ou contêm valores. Curso de Pesquisa Operacional 56 Figura 5.1 - Formulação básica do problema. Uma rápida explicação da Figura 5.1 é a seguinte: 1. Neste exemplo, as colunas B e C possuem os valores dos coeficientes das expressões utilizadas na formulação algébrica e na tabela anteriormente. 2. A linha 2 contém os valores dos coeficientes da função objetivo (2 e 1). 3. As linhas 4 a 6 apresentam os valores dos coeficientes das restrições descritas anteriormente. 4. A linha 8 contém os valores dados inicialmente para X1 e X2 antes de qualquer otimização. 5. A coluna D possui suas linhas com valor zero, porém suas células representam a utilização das três restrições. Assim, a célula D4 contém a fórmula: = $B$8*$B4 + $C$8*$C4 Observe que as referências às células B10 e C10 são ambas absolutas. Assim, esta fórmula estendida da célula D4 a D6 é dada por: D4 = $B$8*$B4 + $C$8*$C4 D5 = $B$8*$B5 + $C$8*$C5 D6 = $B$8*$B6 + $C$8*$C6 Curso de Pesquisa Operacional 57 A coluna E foi utilizada para que os limites máximos e mínimos das restrições fossem observados, a qual é freqüentemente conhecida como right-hand-sides (abreviada como RHS por muitas pessoas). Assim, existe um limite de 100 horas para acabamento, de 80 horas para carpintaria e venda máxima de 40 soldados. A coluna D, como mencionado anteriormente, é usada para armazenar a utilização atual dos recursos. Assim, a célula D4 representa a quantidade da restrição horas de acabamento que foi utilizada e seu valor é zero, uma vez que as células B8 e C8 contêm valor zero antes de qualquer otimização. Finalmente, uma célula da planilha deve ser utilizada para armazenar o resultado da otimização (neste caso, o valor do lucro semanal obtido); nesta planilha, este valor está contido na célula E8. 5.2.2 Janela de Parâmetros do Solver Utilizando os botões do mouse ou o teclado, devemos selecionar o Solver a partir do menu de ferramentas do Microsoft Excel. A Figura 5.2 apresenta a janela que irá aparecer na tela. Esta janela de parâmetros do Solver é utilizada quando o usuário fornece ao Solver as informações necessárias para que o mesmo busque a solução otimizada. Figura 5.2 – Janela de parâmetros do Solver. Para chegarmos à solução ótima do exemplo, o Solver precisa das seguintes informações: 1. Onde o valor da função objetivo será armazenado? Este valor representa o resultado da otimização dado pela combinação de valores de X1 e X2 determinada. Neste caso, o resultado será armazenado na célula E8. Isto significa que a célula E8 deve conter a fórmula apropriada para a otimização, a qual, neste caso, é dada por: = $B$2*$B$8 + Curso de Pesquisa Operacional 58 $C$2*$C$8. Observe que as células de referência são absolutas - o que é recomendável, porém não é necessário. 2. Quais são as restrições e que forma as mesmas possuem? Para fornecer estas informações para o Solver, clique no botão adicionar da subjanela de restrições da janela dos parâmetros do Solver. Uma caixa de diálogo, como a apresentada na Figura 5.3, irá aparecer. Neste caso, a caixa de diálogo corresponde à primeira restrição, a restrição das horas de acabamento, a qual possui seus coeficientes nas células B4 e C4 e sua expressão está contida na célula D4. Assim, a célula $D$4 deve ser digitada na caixa referência de célula, uma vez que a mesma contém a expressão da restrição. Esta restrição é do tipo menor ou igual a, assim devemos selecionar este símbolo da caixa central da janela. Finalmente, o valor máximo para esta restrição encontra-se na célula $E$4 e esta célula deve ser indicada na caixa à esquerda da janela. Aperte o botão OK e a caixa de diálogo irá fechar-se retornando à janela de parâmetros do Solver. Cada uma das restrições deve ser descrita do mesmo modo como a anterior. Figura 5.3 - Janela para entrada das restrições. 3. Quais células irão conter os valores de X1 e X2, os quais serão modificados até que se otimize a função objetivo, e qual tipo de otimização deve-se procurar? Esta informação deve ser fornecida pelo usuário através da janela de parâmetros do Solver. As células cujos valores serão variados são a B8 e a C8 e, como mostra a Figura 5.4, devem ser descritas como células de referência na caixa células variáveis. Como se busca a maximização destas variáveis, a opção Max deve ser selecionada. Curso de Pesquisa Operacional 59 Figura 5.4 - Entrada das células que irão variar para que a solução ótima seja encontrada (células variáveis). Antes de executar a otimização, é interessante informar ao Solver que todas as restrições são expressões lineares, assim como a função objetivo. Estas informações devem ser fornecidas, pois estamos tratando de um problema de programação linear. Para entrar com esta informação, clique o botão opções da janela dos parâmetros do Solver. Uma nova janela irá aparecer onde a opção presume modelo linear deve ser selecionada. Isto irá aumentar a velocidade da otimização e, também, fará com que os relatórios fornecidos sejam adaptados para o formato de problemas de programação linear (veja a seguir). Para executar a otimização, retorne à janela de parâmetros do Solver e aperte o botão resolver. A Figura 5.5 apresenta o resultado da otimização. Figura 5.5 - Solução do problema Curso de Pesquisa Operacional 60 É importante observar que muitas outras informações, além do valor ótimo das variáveis estudadas, podem ser obtidas a partir da solução fornecida para um problema de programação linear. Um bom pacote computacional como o Solver fornece relatórios que ajudam o usuário a entender muito mais sobre a solução apresentada. O Solver fornece três relatórios padrão e permite que sua solução seja exportada para outro pacote se uma análise mais detalhada for necessária. 5.2.3 O Relatório de Resultados do Solver O relatório resume os resultados da pasta de trabalho e também fornece algumas informações a mais. Estas informações extras podem ser calculadas pelo usuário, mas é importante guardálas em algum lugar. O relatório da otimização para o problema apresentado é mostrado na Figura 5.6 e possui três partes, como descrito abaixo: • Célula de destino (Máximo): apresenta o máximo lucro obtido pelo Solver. Se este fosse um problema de minimização, esta seção iria conter o valor mínimo. • Células ajustáveis: mostram as variáveis de entrada, seus valores após a solução ótima e seus valores iniciais (zero, neste caso). Restrições: indica a utilização de cada um dos recursos ao final da otimização. A coluna de status classifica as restrições como obrigatória (restrição com utilização máxima) ou nãoobrigatória estas últimas são as que apresentam algum recurso que não foi utilizado - indicado pelo valor diferente de zero na coluna diferencial (slacks - folgas). Os outros dois relatórios fornecem mais informações sobre a sensibilidade da solução ótima, informações que podem ser importantes por várias razões. Primeiro, porque são raros os casos de programação matemática em ciências administrativas nos quais todos os coeficientes ou valores do modelo são conhecidos com precisão. Geralmente, alguns coeficientes são conhecidos e várias serão aproximações, estimativas ou até mesmo hipóteses. O que fazer, se os valores tomados forem errados? Qual será o efeito destes erros na solução? Assim, uma solução alternativa não tão ótima pode ser algumas vezes, melhor que uma solução ótima que se toma sensível aos valores atribuídos aos coeficientes. A segunda razão que torna importante a análise de sensibilidade está relacionada à idéia de que o mundo é dinâmico e, por isso, as coisas estão mudando constantemente. Por exemplo, pode ser verdade que esta semana a matéria-prima tenha certo custo, porém, se o período observado for um mês, este Curso de Pesquisa Operacional 61 custo pode ser diferente. Assim, é importante conhecer quais são os efeitos que as mudanças nos coeficientes podem gerar na solução ótima. Figura 5.6 - Relatório de resposta para o problema Curso de Pesquisa Operacional 62 6. CASOS PARTICULARES NO SIMPLEX 6.1 Caso de múltiplas soluções Se um problema de PL (programação linear) tem mais de uma solução, nós dissemos que o problema tem múltiplas soluções alternativas. Vejamos como identificar isto no Simplex. A análise será feita através do seguinte problema: 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 8 m2 6 m2 1 m2 Horas de acabamento 4 2 1.5 Horas de carpintaria 2 1.5 0.5 Mogno No momento, 48 m2 de chapas de mogno, 20 horas de acabamento e 8 horas de carpintaria estão disponíveis. O armário é vendido por $60, a mesa por $35 e a cadeira por $20. A empresa acredita que a demanda por armários e cadeiras seja ilimitada, mas que o mercado adquire no máximo 5 mesas. Uma vez que os recursos estejam disponíveis, a empresa deseja maximizar o seu lucro. A formulação do problema é a seguinte: Variáveis de decisão: X1 = número de armários a serem produzidos X2 = número de mesas a serem produzidas X3 = número de cadeiras a serem produzidas Max Z = 60X1 + 35X2 + 20X3 Sujeito a: 8X1 + 6X2 + X3 ≤ 48 (restrição de mogno) 4X1 + 2X2 + 1.5X3 ≤ 20 (restrição de acabamento) Curso de Pesquisa Operacional 63 2X1 + 1.5X2 + 0.5X3 ≤ 8 (restrição de carpintaria) X2 ≤ 5 (limitação de demanda de mesas) X1, X2, X3 ≥ 0 A tabela inicial, a intermediária e a de solução é mostrada abaixo. Z 1 0 0 0 0 base X4 X5 X6 X7 Z 1 0 0 0 0 base X4 X5 X1 X7 Z base X4 X3 X1 X7 1 0 0 0 0 X1 X2 X3 X4 X5 X6 X7 b razão -60 8 4 2 0 -35 6 2 1.5 1 -20 1 1.5 0.5 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 48 20 8 5 6 5 4 não X1 X2 X3 X4 X5 X6 X7 b razão 0 0 0 1 0 -10 0 -1 0.75 1 -5 -1 0.5 0.25 0 0 1 0 0 0 0 0 1 0 0 30 -4 -2 0.5 0 0 0 0 0 1 240 16 4 4 5 não 8 16 não X1 X2 X3 X4 X5 X6 X7 b razão 0 0 0 1 0 0 -2 -2 1.25 1 0 0 1 0 0 0 1 0 0 0 10 2 2 -0.5 0 10 -8 -4 1.5 0 0 0 0 0 1 280 24 8 2 5 24 8 2 5 Lembra-se que todas as variáveis básicas precisam ter coeficiente 0 (zero) na primeira linha (de outra forma elas não seriam básicas). Entretanto na última tabela (ótima), existe uma variável não básica, X2, que tem o coeficiente na primeira linha igual à zero. Vejamos o que ocorre se X2 entrar na base. O teste de razão mostra que X2 deveria entrar no lugar de X1. A tabela com o resultado é mostrada o a seguir. Curso de Pesquisa Operacional Z base X4 X3 X2 X7 1 0 0 0 0 X1 X2 X3 X4 X5 X6 X7 b razão 0 1.6 1.6 0.8 -0.8 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 10 1.2 1.2 -0.4 0.4 10 -5.6 -1.6 1.2 -1.2 0 0 0 0 1 280 27.2 11.2 1.6 3.4 27.2 11.2 1.6 3.4 64 Uma importante observação é que devido a X2 ter coeficiente 0 (zero) na primeira linha da tabela de resultado ótimo, o fato de X2 entrar na base não muda a primeira linha. Isto significa que todas as variáveis na nova primeira linha continuam com coeficientes positivos. Assim, a nova tabela também é ótima. Uma vez que o pivô não mudou o valor de Z, uma solução alternativa para o exemplo é Z = 280, X4 = 27.2, X3 = 11.2, X2 = 1.6 e X1 = X5 = X6 = 0. Em resumo, a empresa pode obter um lucro de $280 fabricando 2 armários e 8 cadeiras ou fabricando 1.6 mesas e 11.2 cadeiras. Assim, o problema tem mais de um ponto ótimo extremo. Cada ponto entre a linha que liga estes pontos é também solução. Quando a formulação tem apenas 2 variáveis, como a formulação abaixo, esta situação é facilmente identificada na solução gráfica, como mostra a figura do QM for Windows a seguir. Max Z = 3X1 + 2X2 Sujeito a: 1/40X1 + 1/60X2 ≤ 1 1/50X1 + 1/50X2 ≤ 1 X1, X2 ≥ 0 Curso de Pesquisa Operacional 65 6.2 Caso de solução ilimitada Este caso ocorre quando a variável que entra na base não possui em sua coluna nenhum coeficiente positivo. Os programas de computador apresentam a última solução básica antes que a solução se torne ilimitada. Um caso de solução ilimitada é o seguinte: Max Z = 2X1 – X2 Sujeito a: X1 – X2 ≤ 1 2X1 + X2 ≥ 6 X1, X2 ≥ 0 O gráfico e solução do problema pelo QM for Windows é visto na figura a seguir. Na outra figura mostra-se que a variável que vai entrar na base é a X3, mas todos os coeficientes são negativos, configurando o caso de solução ilimitada. Curso de Pesquisa Operacional 66 6.3 Problema da degeneração No desenvolvimento do simplex, a linha pivô é a restrição que apresenta o menor quociente não negativo, na divisão dos termos independentes pelos coeficientes positivos da variável que entra. Pode ocorrer que haja mais de um resultado nessas condições. Deve-se escolher arbitrariamente um deles para calcular a solução. Entretanto, essa solução apresentará variáveis básicas com valor nulo. A saída de uma variável básica nula provoca o aparecimento de outra variável básica nula na solução seguinte, sem alteração do valor do objetivo. Neste caso, a solução é chamada degenerada. Se os coeficientes da função objetivo retornam não negativos em alguma iteração, o caso não apresenta dificuldade. O problema aparece Curso de Pesquisa Operacional 67 quando a iteração leva a longos circuitos, sem caracterizar a solução ótima. Embora o caso seja raro, há maneiras de solucioná-lo. Entretanto, a discussão deste caso não é relevante a nível deste curso. Curso de Pesquisa Operacional 68 7. ANÁLISE ECONÔMICA 7.1 O conceito da análise econômica A análise econômica baseia-se nos coeficientes das variáveis, na função objetivo final. Este tópico será explicado através da análise dos coeficientes do problema de Giapetto. Reconsiderando o problema de Giapetto. Max Z = 3X1 + 2X2 Sujeito a: 2X1 + X2 ≤ 100 (Restrição de acabamento) X1 + X2 ≤ 80 (Restrição de carpintaria) X1 ≤ 40 (Restrição de demanda) X1, X2 ≥0 Onde: X1 = Número de soldados X2 = Número de trens Para aplicar o Simplex a formulação fica: Max Z = 3X1 + 2X2 Sujeito a: 2X1 + X2 + X3 = 100 (Restrição de acabamento) X1 + X2 + X4 = 80 (Restrição de carpintaria) X1 + X5 = 40 (Restrição de demanda) X1, X2 ≥ 0 Onde: X3 = sobra de horas de acabamento; X4 = sobra de horas de carpintaria; X5 = sobra de demanda. Curso de Pesquisa Operacional 69 Solução do problema: Z = 180, X1 = 20; X2 = 60 e X5 = 20. X1 e X2 significam a ordem de produção, 20 soldados e 60 trens deverão ser produzidos. A última tabela (solução ótima) pode ser vista novamente a seguir. Base X2 X5 X1 Z 1 0 0 0 X1 0 0 0 1 X2 0 1 0 0 X3 1 -1 -1 1 X4 1 2 1 1 X5 0 0 1 0 b 180 60 20 20 As interpretações do resultado serão feitas a seguir. 1. X5 = 20 (variável básica) – significa que Giapetto vai deixar de atender o mercado em 20 unidades de soldados; 2. X3 = 0 (variável não básica), mas seu coeficiente na tabela é igual a 1. Esta variável representa a folga da restrição de acabamento. O valor 1 do coeficiente significa que para cada 1 hora a mais de acabamento, o lucro de Giapetto aumentará de 1. Este valor significa o adicional máximo que se pode pagar por hora adicional de acabamento. Analogamente 1 hora a menos, significa que o lucro diminuirá de 1. O zero como resultado da variável não básica também significa que o recurso é escasso, ou seja, toda a disponibilidade dele é necessária para que o resultado seja atendido; 3. X4 = 0 (variável não básica), mas seu coeficiente na tabela é igual a 1. Esta variável representa a folga da restrição de carpintaria. O valor 1 do coeficiente, significa que para cada 1 hora a mais de acabamento, o lucro de Giapetto também aumentará de 1. Este valor significa o adicional máximo que se pode pagar por hora adicional de carpintaria. Analogamente 1 hora a menos de carpintaria, significa que o lucro diminuirá de 1. O zero como resultado da variável não básica também significa que o recurso é escasso, ou seja, toda a disponibilidade dele é necessária para que o resultado seja atendido; 4. X5 = 20 (variável básica), mas seu coeficiente na tabela é igual a 0 (zero). O fato de o coeficiente ser igual a 0, significa que o recurso não é escasso (produção abaixo do mercado). Este resultado poderia Giapetto rever seus possíveis investimentos em marketing para soldados. Também poderia fazer pensá-lo em aumentar o preço do soldado, uma vez que a demanda é maior que a oferta. Curso de Pesquisa Operacional 70 7.2 Exercício Fazer análise semelhante para o problema a seguir. No programa de produção do próximo período, uma determinada empresa escolheu 3 produtos P1, P2 e P3. O quadro abaixo mostra os montantes solicitados por unidade na produção. Produto P1 P2 P3 Lucro por unidade 2100 1200 600 Horas de trabalho 6 4 6 Horas de uso de máquina 12 6 2 Demanda máxima 800 600 600 Os preços de venda foram fixados por decisão política e as demandas foram estimadas tendo em vista estes preços. A empresa pode obter um suprimento de 4800 horas de trabalho durante o período de processamento e pressupõe-se usar três máquinas que podem prover 7200 horas de trabalho. Estabelecer um programa ótimo de produção para o período. Analisar os coeficientes das variáveis de folga da solução final. Curso de Pesquisa Operacional 71 8. DUALIDADE 8.1 Fundamento da dualidade Em determinadas situações, a quantidade de cálculos necessária para resolver um modelo linear pelo método Simplex pode ser reduzida. O modelo inicial chamado Primal, pode ser substituído por outro modelo chamado Dual, cuja solução é mais rápida. Será mostrado que uma vez conhecida à solução do Dual, conhece-se em conseqüência a solução do Primal, o que resolve o problema. Seja o seguinte problema, que será chamado de Primal: Max Z = 2X1 + 3X2 + X3 Sujeito a: 3X1 + 4X2 + 2X3 ≤ 10 2X1 + 6X2 + X3 ≤ 20 X1 – X2 – X3 ≤ 30 X1, X2, X3 ≥ 0 A obtenção do Dual se processa da seguinte maneira: para cada restrição será atribuída uma variável de decisão (Yi). A função objetivo do Dual será de minimização e cada uma de suas parcelas será o produto da variável Yi pelo termo da direita da restrição correspondente. Cada variável de decisão do Primal gera uma restrição no Dual. Neste caso o sinal será ≥, e o termo da direita será o coeficiente da variável Primal na função objetivo. Todas as variáveis do Dual serão não negativas. O quadro a seguir sintetiza as regras básicas para obtenção do Dual. Curso de Pesquisa Operacional 72 Assim, o Dual será formulado da seguinte maneira: Min W = 10Y1 + 20Y2 + 30Y3 Sujeito a: 3Y1 + 2Y2 + Y3 ≥ 2 4Y1 + 6Y2 - Y3 ≥ 3 2Y1 + Y2 – Y3 ≥ 1 Y1, Y2, Y3 ≥ 0 De modo análogo, para o problema de minimização e sinais de ≥ no Primal, o Dual é obtido como mostrado no exemplo a seguir. Primal: Min Z = 10X1 + 20X2 + 30X3 Sujeito a: Variável Dual 3X1 + 2X2 + X3 ≥ 2 ⇒ Y1 4X1 + 6X2 - X3 ≥ 3 ⇒ Y2 2X1 + X2 – X3 ≥ 1 ⇒ Y3 X1, X2, X3 ≥ 0 Dual: Max W = 2Y1 + 3Y2 + Y3 Sujeito a: Termos da direita 3Y1 + 4Y2 + 2Y3 ≤ 10 ⇒ Coeficiente de X1 2Y1 + 6Y2 + Y3 ≤ 20 ⇒ Coeficiente de X2 Y1 - Y2 - Y3 ≤ 30 ⇒ Coeficiente de X3 Y1, Y2, Y3 ≥ 0 A solução ótima Primal corresponde à solução ótima Dual com Z = W. O coeficiente da variável de decisão na função objetivo Primal é o valor da variável de folga correspondente na solução Dual. O coeficiente da variável de folga da função objetivo Primal é o valor da Curso de Pesquisa Operacional 73 variável de decisão correspondente na solução Dual. Como o Primal é o Dual do próprio Dual, vale o raciocínio no sentido Dual para o Primal. 8.2 Exercícios sobre obtenção da formulação dual Achar o Dual das seguintes formulações: 1) Max Z = 3x1 + 4x2 + x3 Sujeito a: 2x1 + 5x2 + 3x3 ≤ 10 3x1 + 6x2 + x3 ≤ 20 x1 – x2 – x3 ≤ 30 2x1 – x2 + 5x3 ≤ 40 x1, x2, x3 ≥ 0 2) Max Z = 2x1 + 3x2 + x3 Sujeito a: x1 + x2 ≤ 10 2x1 + 4x2 – x3 = 20 x1, x2, x3 ≥ 0 8.3 O dual de Giapetto e sua interpretação econômica O Dual do problema do Giapetto é obtido como se mostra a seguir. Primal: Max Z = 3X1 + 2X2 Sujeito a: Variável Dual 2X1 + X2 ≤ 100 ⇒ Y1 X1 + X2 ≤ 80 ⇒ Y2 X1 ≤ 40 ⇒ Y3 X1, X2 ≥ 0 Dual: Curso de Pesquisa Operacional Min W = 100Y1 + 80Y2 + 40Y3 Sujeito a: Termos da direita 2Y1 + Y2 + Y3 ≥ 3 ⇒ Y1 + Y2 ≥ 2 ⇒ Coeficiente de X1 Coeficiente de X2 Y1, Y2, Y3 ≥ 0 A última tabela do Primal, com a solução ótima é vista a seguir. Z 1 0 0 0 Base X2 X5 X1 X1 0 0 0 1 X2 0 1 0 0 X3 1 -1 -1 1 X4 1 2 1 1 X5 0 0 1 0 b 180 60 20 20 A última tabela do Dual, com a solução ótima é vista a seguir. Base Y1 Y2 Z -1 0 0 Y1 0 1 0 Y2 0 0 1 Y3 20 1 -1 Y4 20 -1 1 Y5 60 1 -2 Y a1 M-20 1 -1 Ya2 M-60 -1 2 Correspondência: Coeficiente de X1 = 0 (var. decisão) ⇒ Valor de Y4 = 0 (var. folga) Coeficiente de X2 = 0 (var. decisão) ⇒ Valor de Y5 = 0 (var. folga) Coeficiente de X3 = 1 (var. folga) ⇒ Valor de Y1 = 1 (var. decisão) Coeficiente de X4 = 1 (var. folga) ⇒ Valor de Y2 = 1 (var. decisão) Coeficiente de X5 = 0 (var. folga) ⇒ Valor de Y3 = 0 (var. decisão) Coeficiente de Y1 = 0 (var. decisão) ⇒ Valor de X3 = 0 (var. folga) Coeficiente de Y2 = 0 (var. decisão) ⇒ Valor de X4 = 0 (var. folga) Coeficiente de Y3 = 20 (var. decisão) ⇒ Valor de X5 = 20 (var. folga) Coeficiente de Y4 = 20 (var. folga) ⇒ Valor de X1 = 20 (var. decisão) Coeficiente de Y5 = 60 (var. folga) ⇒ Valor de X2 = 60 (var. decisão) Valor de Z = 180 ⇒ Valor de W = 180 b -180 1 1 74 Curso de Pesquisa Operacional 75 As variáveis de decisão do Dual representam os recursos do Primal. Assim Y1 = 1, esta variável de decisão representa a primeira restrição (acabamento) e seu valor é o mesmo do coeficiente da variável de folga X3 do Primal. Seu significado é, portanto que para cada unidade adicional do recurso acabamento o lucro será incrementado de 1. Y2 = 1, esta variável de decisão representa a segunda restrição (carpintaria) e seu valor é o mesmo do coeficiente da variável de folga X4 do Primal. Seu significado é, portanto que para cada unidade adicional do recurso carpintaria o lucro será incrementado de 1. A função objetivo Dual mede, então, a capacidade do estoque de recursos gerarem lucros. 8.4 Exercício Suponha que um problema de produção tenha como modelo: Max L = X1 + 0,3X2 + 3X3 Sujeito a: X1 + X2 + X3 ≤ 10 2X1 + X2 + 4X3 ≤ 12 X1 – 3X2 – X3 ≤ 9 X1, X2 e X3 ≥ 0 e que o quadro final de solução pelo Simplex seja: L 1 0 0 0 X1 0.5 0.5 0.5 1.5 X2 0.45 0.75 0.25 3.25 X3 0 0 1 0 XF1 0 1 0 0 XF2 0.75 -0.25 0.25 0.25 XF3 0 0 0 1 b 9 7 3 12 Onde Xi são as decisões de fabricação dos produtos Pi e XFi as sobras dos recursos Ri no programa. O objetivo é maximizar o lucro devido à produção e comercialização dos produtos. Responder as seguintes perguntas: 1. Qual a solução mostrada no quadro? 2. Quais os recursos escassos? 3. O que ocorreria se por um motivo de força maior tivesse que fabricar uma unidade de P1? 4. Se alguém quisesse adquirir uma unidade do recurso R1, você estaria disposto a vender? Qual o preço que compensa a venda? Curso de Pesquisa Operacional 76 5. Se alguém insistir em comprar uma unidade do recurso R2, que preço de venda compensaria o fato dele ser escasso? 6. Construa o modelo Dual do problema? 7. Obter a solução do Dual. 8. O que significa a variável dual Y1? 9. O que mede a função objetivo Dual? 10. O que mede o lado esquerdo da Segunda restrição Dual? E o lado direito? 11. Em termos de valores interno e externo, como podemos justificar a não fabricação de P2 no programa? 12. Em termos de valores interno e externo, como podemos justificar a fabricação de P3? 13. Quanto você pagaria por uma unidade adicional do recurso R2? Por quê? 14. Quanto você pagaria por uma unidade adicional do recurso R3? Por quê? Curso de Pesquisa Operacional 77 9. ANÁLISE DE SENSIBILIDADE Análise de sensibilidade se refere a como mudança na formulação de um problema de programação linear, afeta a solução ótima. Reconsiderando o problema de Giapetto. Max Z = 3X1 + 2X2 Sujeito a: 2X1 + X2 ≤ 100 (Restrição de acabamento) X1 + X2 ≤ 80 (Restrição de carpintaria) X1 ≤ 40 (Restrição de demanda) X1, X2 ≥ 0 Onde: X1 = Número de soldados X2 = Número de trens Solução ótima é Z = 180, X1 = 20, X2 = 60, ponto identificado no gráfico abaixo. As variáveis básicas são X1, X2 e X5 (variável de folga da restrição de demanda). A questão que se coloca em análise de sensibilidade é como alterações nos coeficientes da função objetivo e no lado direito das inequações que representam as restrições afetam a solução ótima. 9.1 Mudança nos coeficientes da função objetivo Se a contribuição para o lucro de cada soldado crescer, parece lógico que a decisão ótima para o problema seria produzir mais soldados (o que faria X3 se tornar não básica). De forma análoga se a contribuição decrescer a decisão lógica seria a produção de apenas trens (X1 se Curso de Pesquisa Operacional 78 tornaria não básica). Será mostrado a seguir como o valor de contribuição para o lucro pode variar e a solução ótima ainda permanecer. Seja C1 a contribuição para o lucro de cada soldado. Para quais valores de C1 a corrente solução permanece ótima? Na formulação C1 = 3 e cada linha reta que representa a função objetivo igual a uma constante tem a seguinte equação: 3X1 + 2X2 = constante, ou X2 = -3/2 X1 + constante/2. Cada linha paralela tem o coeficiente angular igual a –3/2. Da figura anterior pode-se ver que uma mudança em C1 causa uma mudança na inclinação desta linha. Se esta inclinação for menor que a da restrição de carpintaria, a solução ótima passará a ser a do ponto A. Se a contribuição para o lucro de cada soldado é C1, o coeficiente angular da reta será - C1/2. Uma vez que o coeficiente angular da restrição de carpintaria é –1, a reta que representa a função objetivo será menos inclinada que a d restrição de carpintaria se – C1/2> -1, ou C1 < 2, e a nova solução ótima será (0, 80), ponto A da figura anterior. Se a inclinação da reta for maior que a da restrição de acabamento a solução ira do ponto B para o ponto C. O coeficiente angular da restrição de acabamento é –2. Se – C1/2 < -2, ou C1 > 4, a solução corrente deixa de ser ótima e o ponto C (40, 20) passará a ser ótimo. Em resumo, foi mostrado que (se todos outros parâmetros permanecerem inalterados) a solução corrente permanece ótima para 2 < C1 < 4, e Giapetto deveria continuar fabricando 20 soldados e 60 trens. É claro que com a alteração a função objetivo tem seu valor modificado.. 9.2 Mudança no lado direito das inequações Através da análise gráfica é fácil identificar se uma variação no valor do lado direito de uma inequação faz com que a base deixe de ser ótima. Fazendo b1 o número de horas disponíveis de acabamento. Na formulação atual b1 é igual a 100. Para que valores de b1 a base corrente deixa de ser ótima? Pela análise da figura a seguir identifica-se que uma variação em b1 a reta da restrição de acabamento se desloca paralelamente à reta inicial. Nota-se que para b1 > 120, a corrente base deixa de ser ótima. O mesmo ocorre para b1 < 80. Assim, a base corrente permanece para 80 < b1 < 120. Nota-se que embora a base permaneça a mesma, os valores das variáveis de decisão e função objetivo mudam. Por exemplo, se 80 < b1 < 100, a solução ótima será entre o ponto B e outro no segmento AB. De forma análoga, se 100 < b1 < 120, a solução ótima mudará para algum ponto do segmento BC. Curso de Pesquisa Operacional 79 Se um problema de programação linear tiver mais de 2 variáveis de decisão, as variações possíveis dos coeficientes da função objetivo e dos valores do lado direito das inequações que não mudam a solução, não pode ser identificadas graficamente. O cálculo das faixas de variação de forma manual normalmente é tedioso. Para evitar este problema, normalmente se usa programas de computadores. O resultado de sensibilidade no LINDO para o problema do Giapetto pode ser visto a seguir. Para se obter este resultado, basta responder com Y (yes) para a obtenção das faixas de variação, logo após a otimização da formulação ser obtida. Curso de Pesquisa Operacional 80 Como exemplo, o coeficiente de X1 na função objetivo pode alterar entre 2 e 4, que a solução continuaria sendo X1 = 20, X2 = 60 e X5 = 20. Já X2 pode variar entre 1, 5 e 3. Já os valores de bi, por exemplo, b2, pode variar entre 60 e 100, que a base continuaria sendo X1, X2 e X5. Na figura a seguir encontram-se os resultados destas variações possíveis apresentadas pelo programa QM for Windows. Esta janela é acessada no menu WINDOW opção Ranging. Na figura a seguir esta o relatório que se obtém através do Excel, selecionando quando utilizado o Solver a emissão do relatório de sensibilidade. Curso de Pesquisa Operacional 81 9.3 Exercício Suponha que um problema de produção tenha como modelo: Max Z = 2100X1 +1200X2 + 600X3 Sujeito a: 1) 6X1 + 4X2 + 6X3 ≤ 4800 2) 12X1 + 16X2 + 2X3 ≤ 7200 3) X1 ≤ 800 4) X2 ≤ 600 5) X3 ≤ 600 X1, X2 e X3 ≥0 Onde: Xi são as decisões de produção dos bens Pi. O objetivo é maximizar o lucro pela venda desses produtos. Restrições: 1. Horas de máquina para a produção dos bens; 2. Horas de mão de obra para a produção; 3. Demanda de P1; 4. Demanda de P2; 5. Demanda de P3. O quadro final de solução pelo Simplex é o seguinte: Z 1 0 0 0 0 0 X1 0 0 1 0 0 0 X2 1.4 -0.8 1.467 -1.467 1 0.8 X3 0 1 0 0 0 0 XF1 50 0.2 -0.033 0.033 0 -0.2 XF2 150 -0.1 0.1 -0.1 0 0.1 XF3 0 0 0 1 0 0 XF4 0 0 0 0 1 0 XF5 0 0 0 0 0 1 b 1320000 240 560 240 600 360 Questões: 1. Qual o coeficiente de estabilidade para o coeficiente de X1? O que isto significa? 2. Qual o coeficiente de estabilidade para o coeficiente de X3? O que isto significa? 3. Qual o coeficiente de estabilidade para o coeficiente de XF3? O que isto significa? Curso de Pesquisa Operacional 82 4. Qual o coeficiente de estabilidade para o coeficiente de XF1? O que isto significa? 5. Um novo produto, que use 3 horas de máquina, 5 horas de mão de obra e com demanda garantida de 200 unidades para um lucro máximo de $ 800, teria interesse no programa? 6. Qual o limite para aquisição do recurso R1, aos custos correntes, que mantém a informação contida em seu custo de oportunidade? 7. Idem para o recurso R2. 8. O que significa a informação contida no custo de oportunidade do recurso R5? Curso de Pesquisa Operacional 83 10. PROGRAMAÇÃO INTEIRA 10.1 Objetivo da Programação Inteira Se um determinado problema de otimização puder ser representado pela formulação representada em (10.1), a sua solução ótima é dada por (10.2). Max Z = 20X1 + 10X2 (10.1) ST: X1 + 0,45X2 ≤ 5 X1 + 1,7X2 ≤ 12 X1, X2 ≥ 0 X1 = 2,48 (10.2) X2 = 5,60 Z = 105,60 A solução deste problema também pode ser vista na análise do gráfico da figura 10.1. Figura 10.1 – Solução gráfica Figura 10.1 – Solução gráfica do problema O resultado apresentado em (10.2) são o que se denominam valores contínuos ou variáveis contínuas. Estas Variáveis contínuas são diferentes das variáveis inteiras e o arredondamento pode não levar a solução ótima! O problema resolvido por técnica de Programação Inteira, pode levar a resultados bastante diferentes do arredondamento. A figura 10.2 ilustra que o arredondamento para este caso faz com que a solução fique fora da região de solução, e assim não se constituindo em uma Curso de Pesquisa Operacional 84 resposta para o problema. Se o resultado implicar em valores grandes, o arredondamento normalmente pode ser utilizado. Figura 10.2 – Arredondamento da solução A Programação Inteira possui uma técnica particular de solução, chamada de “Método Branch and Bound”, que se baseia na montagem de um diagrama tipo árvore, em que cada ramo é uma opção de solução inteira. Apenas alguns ramos são testados e para cada tentativa, o Método Simplex é utilizado. O computador é indispensável! O que acontece é a busca nos pontos identificados na figura 10.3 Curso de Pesquisa Operacional 85 Figura 10.3 – Pontos candidatos à solução do problema 10.2 Por que programação inteira? Vantagens de restringir variáveis para obter valores inteiros: 1. Mais realista 2. Maior flexibilidade Desvantagens: 1. Mais difícil de modelar 2. Pode ser bem mais difícil de solucionar O mistério da programação inteira: • Alguns programas de inteiros são fáceis (é possível resolver os problemas com milhões de variáveis); • Alguns programas de inteiros são difíceis (até mesmo 100 variáveis podem ser difíceis); • Expertise e experiência são essenciais para saber o que é o que! • É uma área de pesquisa ativa em várias Universidades. Todos os programas de inteiros possuem igualdades e desigualdades lineares e algumas ou todas as variáveis devem ser inteiras. Tipos de programação inteira: • Se todas as variáveis devem ser inteiras, então esse programa pode ser chamado de programa puro de inteiros. • Se todas as variáveis devem ser 0 ou 1, o programa é chamado de programa binário de inteiros ou um programa de inteiros 0 -1. Curso de Pesquisa Operacional • 86 Se algumas variáveis forem números fracionários e outros números inteiros, então o problema é chamado programação inteira mista (PIM). 10.3 Como modelar restrições “lógicas” Exemplos: 1. São selecionados exatamente 3 estoques. 2. Se o estoque 2 for selecionado, o estoque 1 também o será. 3. Se o estoque 1 for selecionado, então o estoque 3 não será selecionado. 4. O estoque 4 ou 5 é selecionado, mas não os dois. São selecionados exatamente 3 estoques: Imaginando um exemplo com 6 variáveis de decisão, e todas binárias, a restrição pode ser a mostrada em 10.3. x1 + x2 + x3 + x4 + x5 + x6 = 3 (10.3) Se o estoque 2 for selecionado, o estoque 1 também o será: A restrição da programação inteira é mostrada em (10.4). x1 ≥ x2 (10.4) Curso de Pesquisa Operacional 87 11. PROBLEMA DO TRANSPORTE 11.1 Objetivo do Problema do Transporte Minimizar o custo de todo o volume de transporte, obedecendo às necessidades de recebimento do destino e capacidade de envio da fonte. Conhecemos os custos unitários de transporte de cada origem para cada destino (Cij). Desejase decidir quanto transportar de cada origem para cada destino (Xij). Este problema pode ser melhor analisado pela representação apresentada na figura 11.1 Figura 11.1 – Exemplo do problema de transporte Primeiro passo: Variáveis de decisão Para este caso: a empresa precisa determinar a quantidade a ser transportada de cada origem para cada destino. Assim: Xij = quantidade a ser transportada da origem i para o destino j; i = 1; 2; 3; 4; j = 1; 2; 3; Segundo passo: Função objetivo Objetivo: Minimizar o custo de transporte, que é dado por: Curso de Pesquisa Operacional 88 Min C = 6X11 + 5X12 + 8X13 + 13X21 + 12X22 + 1X23 + 7X31+ 9X32 + 5X33 + 10X41 + 6X42 + 4X43 Terceiro passo: restrições Origens: retiradas = disponibilidades O1 – retirada = X11 + X12 + X13 = 10 (disponibilidade O1) O2 – retirada = X21 + X22 + X23 = 20 (disponibilidade O2) O3 – retirada = X31 + X32 + X33 = 12 (disponibilidade O3) O4 – retirada = X41 + X42 + X43 = 13 (disponibilidade O4) Destinos: transportes = necessidades D1 – chegada = X11 + X21 + X31 + X41 = 8 (necessidade D1) D2 – chegada = X12 + X22 + X32 + X42 = 32 (necessidade D2) D3 – chegada = X13 + X23 + X33 + X43 = 15 (necessidade D3) Quarto passo: Restrições adicionais Para completar a formulação do problema: Xij >= 0; i = 1; 2; 3; 4; j = 1; 2; 3; Resumindo min C = 6X11 + 5X12 + 8X13+ 13X21 + 12X22 + 1X23+ 7X31+ 9X32 + 5X33+ 10X41 + 6X42 + 4X43 Sujeito a: X11 + X12 + X13 = 10 X21 + X22 + X23 = 20 X31 + X32 + X33 = 12 X41 + X42 + X43 = 13 X11 + X21 + X31 + X41 = 8 X12 + X22 + X32 + X42 = 32 Curso de Pesquisa Operacional 89 X13 + X23 + X33 + X43 = 15 Xij >= 0 11.2 Maneira simples de representar o problema O problema apresentado no item anterior é comumente representado como ilustrado na figura 11.2. Figura 11.2 – Representação do problema de transporte A solução do problema de transporte, como todo problema de programação linear, pode ser obtida pelo método Simplex. Entretanto, devido a suas características especiais, podemos descrever um método que, embora mantenha fases e critérios do Simplex, tem os cálculos simplificados. Este exemplo será mais bem trabalhado em sala de aula, mostrando como usar o Excel para a sua solução. 11.3 Exercícios Exercício 1 Determinar a melhor programação de transporte de maneira a se ter o menor custo. Curso de Pesquisa Operacional 90 Exercício 2 Determinar a melhor programação de transporte. Os lucros unitários e as disponibilidades e necessidades do produto estão no quadro abaixo. Exercício 3 Determinar a melhor programação de transporte de maneira a se ter o menor custo. Não é possível abastecer D3 a partir de O1. Curso de Pesquisa Operacional 12. REDES Problemas de rede • Casos especiais de problemas de programação linear que são mais bem analisados através de uma representação gráfica. • Importantes problemas de otimização, tais como problemas de logística e de energia, produção e outros, são eficientemente resolvidos e modelados como problemas de rede. 2 Problemas de rede • Modelos de rede facilitam a visualização das relações entre os componentes do sistema, aumentando o entendimento do problema e de seus possíveis resultados. • É uma modelagem muita usada. 3 Terminologia • Redes, nós e arcos: Nós Arcos 4 91 Curso de Pesquisa Operacional Problemas de rede (Classificação usual) • Problemas de transporte e rede de distribuição; • Problemas de menor caminho; • Problemas de fluxo máximo. 5 12.1 Problemas de distribuição Problemas de Distribuição • Problemas que consideram múltiplas fontes, centros consumidores e locais intermediários por onde os produtos simplesmente passam são denominados problemas de distribuição. • O problema de transporte já estudado é uma simplificação do problema de rede de distribuição. 6 92 Curso de Pesquisa Operacional Problemas de Distribuição – exemplo • Uma montadora de carros esta iniciando as suas operações no Brasil, construindo 2 fábricas: uma na Bahia e outra em São Paulo. A montadora esta estudando a forma de distribuição de seus carros para as diversas revendas, localizadas nos estados: Goiás, Rio de Janeiro, Minas Gerais, Paraná, Santa Catarina e Rio Grande do Sul, que minimize o custo total de distribuição. 7 Problemas de Distribuição – exemplo • As capacidades instaladas de cada uma das fábricas, as demandas das revendas, bem como os custos unitários de transporte entre fábricas e revendas estão evidenciados no diagrama a seguir. 8 Problemas de Distribuição – exemplo -500 40 BA 1 25 GO 5 150 20 MG 3 30 200 -600 SP 2 Demandas 20 20 (1400) RJ 4 15 350 20 35 PR 6 300 50 Oferta (capacidade das fábricas) SC 7 150 20 (1100) RS 8 250 9 93 Curso de Pesquisa Operacional Problemas de Distribuição • Existem 2 maneiras básicas de resolver este problema. A primeira consiste em inserir uma unidade dummy que iguale a oferta a demanda. • A segunda forma de resolver é seguir a Regra do Fluxo Balanceado para cada nó da rede. Este método dispensa o uso de unidades dummys. O desequilíbrio entre oferta e demanda total é tratado através de restrições maior ou igual ou de menor ou igual. 10 Problemas de Distribuição • Regra do fluxo balanceado: Situação do exemplo Hipótese: Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó 11 Primeiro passo: Variáveis de decisão -500 40 BA 1 25 Quantidades de veículos enviados de cada fábrica para cada distribuidor GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 SC 7 150 20 RS 8 250 12 94 Curso de Pesquisa Operacional Primeiro passo: Variáveis de decisão • • • • • • • • • • • X13 – número de de BA para MG. X14 – número de de BA para RJ. X15 – número de de BA para GO. X23 – número de de SP para MG. X24 – número de de SP para RJ. X26 – número de de SP para PR. X27 – número de de SP para SC. X28 – número de de SP para RS. X34 – número de de MG para RJ. X35 – número de de MG para GO. X78 – número de de SC para RS. carros enviados carros enviados -500 40 BA 1 25 carros enviados 30 150 PR 6 300 200 carros enviados 20 20 carros enviados carros enviados GO 5 20 MG 3 -600 SP 2 RJ 4 15 350 20 carros enviados 35 carros enviados 50 SC 7 carros enviados carros enviados 150 20 RS 8 carros enviados 250 13 Segundo passo: função objetivo 9 Objetivo: Minimizar os custos de distribuição -500 40 BA 1 25 • • • • • • • • • • • X13 X14 X15 X23 X24 X26 X27 X28 X34 X35 X78 – – – – – – – – – – – BA para MG. BA para RJ. BA para GO. SP para MG. SP para RJ. SP para PR. SP para SC. SP para RS. MG para RJ. MG para GO. SC para RS. GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 RJ 4 15 SP 2 350 20 35 50 SC 7 150 20 • RS 8 min Z = 25X13 + 30X14 + 40X15 + 20X23 + 15X24 + 20X26 + 35X27 + 50X28 + 20X34 + 20X35 + 20X78 250 14 Terceiro passo: restrições -500 40 BA 1 25 • Restrição 01 – nó 01 GO 5 150 PR 6 300 20 MG 3 30 200 • - X13 - X14 - X15 ≤ - 500 20 20 -600 SP 2 RJ 4 15 350 20 35 50 Situação do exemplo Hipótese: Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó SC 7 150 20 RS 8 15 250 95 Curso de Pesquisa Operacional Terceiro passo: restrições -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 SC 7 • Restrição 02 – nó 02 150 20 • – X23 – X24 – X26 – X27 – X28 ≤ - 600 RS 8 250 16 Terceiro passo: restrições -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 SC 7 • Restrição 03 – nó 03 150 20 • X13 + X23 – X34 – X35 ≤ 200 RS 8 250 17 Terceiro passo: restrições -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 • Restrição 04 – nó 04 • X14 + X24 + X34 ≤ 350 SC 7 150 20 RS 8 250 18 96 Curso de Pesquisa Operacional Terceiro passo: restrições -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 SC 7 • Restrição 05 – nó 05 150 20 • X15 + X35 ≤ 150 RS 8 250 19 Terceiro passo: restrições -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 SC 7 • Restrição 06 – nó 06 150 20 • X26 ≤ 300 RS 8 250 20 Terceiro passo: restrições -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 • Restrição 07 – nó 07 • X27 – X78 ≤ 150 SC 7 150 20 RS 8 250 21 97 Curso de Pesquisa Operacional Terceiro passo: restrições -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 SP 2 RJ 4 15 350 20 35 50 SC 7 • Restrição 08 – nó 08 150 20 • X28 + X78 ≤ 250 RS 8 250 22 Quarto passo: Restrições adicionais 9 Para completar a formulação do problema: • Xij >= 0 • i = 1; 2; .... 23 Solução pelo Solver -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 Variáveis de decisão 20 20 -600 SP 2 Para 3 4 5 3 4 6 7 8 4 5 8 350 20 Distribuição de carros De 1 1 1 2 2 2 2 2 3 3 7 RJ 4 15 Problemas de rede de distribuição 35 Custo 25 30 40 20 15 20 35 50 20 20 20 Unidades 0 0 0 0 0 0 0 0 0 0 0 Nó 1 2 3 4 5 6 7 8 Fluxo liquido Oferta/Demanda 0 -500 0 -600 0 200 0 350 0 150 0 300 0 150 0 250 50 SC 7 150 20 RS 8 250 Informações conhecidas 24 Custo Total = 0 98 Curso de Pesquisa Operacional Solução pelo Solver 40 BA 1 -500 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 -600 Problemas de rede de distribuição SP 2 RJ 4 15 350 20 Distribuição de carros De 1 1 1 2 2 2 2 2 3 3 7 Para 3 4 5 3 4 6 7 8 4 5 8 Custo 25 30 40 20 15 20 35 50 20 20 20 Unidades 0 0 0 0 0 0 0 0 0 0 0 * Nó 1 2 3 4 5 6 7 8 35 Fluxo liquido Oferta/Demanda 0 -500 0 -600 0 200 0 350 0 150 0 300 0 150 0 250 Custo Total = 50 SC 7 150 20 RS 8 Fórmula 0 250 25 Solução pelo Solver (Função Objetivo) 26 Solução pelo Solver (Restrições) -500 40 BA 1 25 • Restrição 01 – nó 01 30 150 PR 6 300 200 • - X13 - X14 - X15 ≤ - 500 20 20 -600 GO 5 20 MG 3 SP 2 RJ 4 15 350 20 35 50 SC 7 150 20 RS 8 27 250 99 Curso de Pesquisa Operacional Solução pelo Solver (Restrições) -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 • Restrição 01 – nó 01 200 20 20 • - X13 - X14 - X15 ≤ - 500 -600 SP 2 RJ 4 15 350 20 35 Entradas Saídas 50 SC 7 150 20 RS 8 250 28 Solução pelo Solver (Todas as Restrições) 29 Solução pelo Solver -500 40 BA 1 25 GO 5 150 PR 6 300 20 MG 3 30 200 20 20 (Solução) -600 SP 2 RJ 4 15 350 20 35 50 SC 7 150 20 RS 8 30 250 100 Curso de Pesquisa Operacional 12.2 Problemas do menor caminho Problema do Menor Caminho • Problema que representa um outro caso especial de problemas de redes, em que os arcos significam a distância entre 2 pontos (nós). • Quando deseja-se achar a rota que une estes pontos com a distância mínima possível, tem-se um problema de menor caminho. 31 Problema do Menor Caminho • Nestes problema existem sempre 2 nós especiais chamados de origem e destino. Entre um nó de origem e um nó de destino geralmente existem nós intermediários, que podem representar cidades que conectam rodovias, subestações em problemas de distribuição de energia, etc... 32 Problema do Menor Caminho - Exemplo • Um fabrica de artigos de decoração, localizada em Lambari, deve entregar uma grande quantidade de peças na cidade de Baependi. A empresa quer saber qual o caminho que seu caminhão deve fazer para minimizar a distância percorrida. 33 101 Curso de Pesquisa Operacional Problemas de Menor Caminho – exemplo S. Thomé das Letras Três Corações Lambari 37 Km 2 41 Km 4 50 Km 1 45 Km 5 27 Km 44 Km Baependi 4 Km 6 Caxambu 3 São Lourenço 34 Problemas de Menor Caminho • A modelagem do problema terá variáveis binárias do tipo Xij, indicando o sentido da cidade i para a cidade j. Se o valor da variável for igual a 1 significa que aquele trecho deve ser percorrido. De forma inversa, se o valor da variável for igual a zero, significa que aquele trecho não deve ser percorrido. 35 Primeiro passo: Variáveis de decisão S. Thomé das Letras Três Corações Lambari 37 Km 2 41 Km 4 50 Km 1 45 Km 5 27 Km 44 Km Baependi 4 Km 6 Caxambu 3 São Lourenço • • • • X12 – trecho X13 – trecho X15 – trecho X24 – trecho Letras. • X35 – trecho • X46 – trecho • X56 – trecho Lambari – Três Corações. Lambari – São Lourenço. Lambari – Caxambu. Três Corações – São Thomé das São Lourenço – Caxambu. São Thomé das Letras – Baependi. Caxambu – Baependi. 36 102 Curso de Pesquisa Operacional Segundo passo: função objetivo 9 Objetivo: Minimizar a distância percorrida pelo caminhão S. Thomé das Letras Três Corações 2 41 Km Lambari 37 Km 4 45 Km 50 Km 1 5 27 Km 44 Km Baependi 4 Km 6 • Caxambu 3 • São Lourenço • • X12 –Lambari – Três Corações. X13 –Lambari – São Lourenço. X15 –Lambari – Caxambu. X24 –Três Corações – São Thomé das Letras. X35 –São Lourenço – Caxambu. X46 –São Thomé das Letras – Baependi. 37 X56 –Caxambu – Baependi. • • Min Z = 41X12 + 44X13 + 50X15 + 37X24 + • 27X35 + 45X46 + 4X56 • Terceiro passo: restrições S. Thomé das Letras Três Corações Lambari 37 Km 2 41 Km 4 45 Km 50 Km 1 5 27 Km 44 Km Oferta = -1 Baependi 4 Km Caxambu 6 Demanda = 1 3 São Lourenço Situação do exemplo Hipótese: Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó 38 Terceiro passo: restrições S. Thomé das Letras Três Corações Lambari 37 Km 2 41 Km 50 Km 1 45 Km 5 27 Km 44 Km 4 Km Baependi 6 Caxambu • Restrição 01: 3 São Lourenço Situação do exemplo 4 • - X12 - X13 - X15 = - 1 Hipótese: Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó 39 103 Curso de Pesquisa Operacional Terceiro passo: restrições S. Thomé das Letras Três Corações Lambari 37 Km 2 41 Km 4 50 Km 1 45 Km 5 27 Km 44 Km 6 Caxambu • Restrição 02: 3 • X12 – X24 = 0 São Lourenço Situação do exemplo Baependi 4 Km Hipótese: Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó 40 Terceiro passo: restrições S. Thomé das Letras Três Corações Lambari 2 41 Km 37 Km 4 50 Km 1 45 Km 5 27 Km 44 Km Baependi 4 Km 6 Caxambu 3 São Lourenço • Restrição 03: • X13 – X35 = 0 41 Terceiro passo: restrições S. Thomé das Letras Três Corações Lambari 2 41 Km 37 Km 4 50 Km 1 5 27 Km 44 Km 45 Km 4 Km Baependi 6 Caxambu 3 São Lourenço • Restrição 04: • X24 – X46 = 0 42 104 Curso de Pesquisa Operacional Terceiro passo: restrições S. Thomé das Letras Três Corações Lambari 2 41 Km 37 Km 4 50 Km 1 45 Km 5 27 Km 44 Km Baependi 4 Km 6 Caxambu 3 São Lourenço • Restrição 05: • X15 + X35 – X56 = 0 43 Terceiro passo: restrições S. Thomé das Letras Três Corações Lambari 2 41 Km 37 Km 4 50 Km 1 5 27 Km 44 Km 45 Km 4 Km Baependi 6 Caxambu 3 São Lourenço • Restrição 06: • X46 + X56 = 1 44 Quarto passo: Restrições adicionais 9Para completar a formulação do problema: • Xij = 0 ou 1 • i = 1; 2; .... 45 105 Curso de Pesquisa Operacional Solução pelo Solver S. Thomé das Letras Três Corações 2 41 Km Lambari 37 Km 4 50 Km 1 Baependi 4 Km 5 27 Km 44 Km Variáveis de decisão 45 Km 6 Caxambu 3 São Lourenço 46 Informações conhecidas Solução pelo Solver S. Thomé das Letras Três Corações Lambari 37 Km 2 41 Km 4 50 Km 1 45 Km 5 27 Km 44 Km Baependi 4 Km 6 Caxambu 3 São Lourenço Fórmula 47 Solução pelo Solver (Função Objetivo) S. Thomé das Letras Três Corações Lambari 2 41 Km 37 Km 4 50 Km 1 5 27 Km 44 Km 45 Km Baependi 4 Km 6 Caxambu 3 São Lourenço * Fórmula 48 106 Curso de Pesquisa Operacional Solução pelo Solver (Restrições) • Restrição 01: • - X12 - X13 - X15 = - 1 49 Solução pelo Solver Hipótese: Situação do exemplo (Restrições) Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó Entradas Saídas 50 Solução pelo Solver Hipótese: Situação do exemplo (Restrições) Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó 51 107 Curso de Pesquisa Operacional Solução pelo Solver (Solução) S. Thomé das Letras Três Corações Lambari 2 41 Km 37 Km 4 50 Km 1 5 27 Km 44 Km 45 Km Baependi 4 Km 6 Caxambu 3 São Lourenço 52 12.2 Problemas do Fluxo máximo Problema do Fluxo Máximo • Quando se quer maximizar a quantidade de um fluxo de um ponto de origem para um ponto de destino e estamos sujeitos a restrições de capacidade de fluxo nos arcos. • Estes problemas geralmente envolvem fluxo de materiais como água, óleo, gás, energia através de uma rede de tubos ou canos. Podem representar fluxo de carros em malhas viárias, produtos em linha de produção, etc.... 53 108 Curso de Pesquisa Operacional Problema do Fluxo Máximo - Exemplo • Uma empresa distribuidora de gás deseja determinar a quantidade máxima de metros cúbicos por segundo de gás que pode bombear da estação de Campos para o centro consumidor do Rio de Janeiro, através da rede de gasodutos existentes. A figura a seguir ilustra o caso. 54 Problema do Fluxo Máximo - Exemplo 30 m3/s 40 m3/s 1 3 20 m3/s Rio de Janeiro , Campos 20 m3/s A B 40 m3/s 30 m3/s 2 4 30 m3/s 55 Problema do Fluxo Máximo • Para resolvermos este problema, utilizaremos um pequeno artifício: adicionaremos um arco virtual ligando o nó B ao nó A. • A FO será portanto a maximização do fluxo de gás que passa de B para A. • Como o fluxo do Rio de Janeiro para Campus não existe, o valor do fluxo no arco artificial representará o total de gás que pode chegar ao Rio de Janeiro vindo de Campus por mais de um caminho simultaneamente. 56 109 Curso de Pesquisa Operacional Problema do Fluxo Máximo - Exemplo 30 m3/s 1 40 m3/s 20 m3/s 3 Rio de Janeiro Campos 20 m3/s A B 30 m3/s 40 m3/s 2 4 30 m3/s 57 Primeiro passo: Variáveis de decisão 30 m3/s 40 m3/s 1 20 m3/s 3 Rio de Janeiro Campos 20 m3/s A B 40 m3/s 30 m3/s 2 4 30 m3/s • • • • • • • • XA1 – m3/s que saem de Campus e chegam a estação 01. XA2 – m3/s que saem de Campus e chegam a estação 02. X13 – m3/s que saem da estação 01 e chegam a estação 03. X14 – m3/s que saem da estação 01 e chegam a estação 04. X24 – m3/s que saem da estação 02 e chegam a estação 04. X3B – m3/s que saem da estação 03 e chegam no Rio de Janeiro. X4B – m3/s que saem da estação 04 e chegam no Rio de Janeiro. XBA – m3/s que saem do Rio de Janeiro e chegam em Campus. (artificial) 58 Segundo passo: função objetivo 9 Objetivo: Maximizar o fluxo de gás 30 m3/s 40 m3/s 1 20 m3/s 3 Rio de Janeiro Campos 20 m3/s A B 30 m3/s 40 m3/s 2 4 30 m3/s Max Z = XBA 59 110 Curso de Pesquisa Operacional Terceiro passo: restrições 30 m3/s 40 m3/s 1 3 20 m3/s Rio de Janeiro Campos 20 m3/s A B 30 m3/s 40 m3/s 2 4 30 m3/s • Restrições: • O fluxo de cada arco deverá ser maior ou igual a zero; • O fluxo de cada arco deverá ser menor ou igual a capacidade do arco; • O fluxo que chega em cada nó deverá ser igual ao fluxo do que sai do mesmo; • O fluxo do arco artificial (desconhecido) deve ser grande o bastante para assumir qualquer valor possível, já que este será maximizado. 60 Terceiro passo: restrições 30 m3/s 40 m3/s 1 3 20 m3/s Rio de Janeiro Campos 20 m3/s A B 30 m3/s 40 m3/s 2 4 30 m3/s • Restrições de capacidade: • XA1 ≤ 40; XA2 ≤ 30; • X13 ≤ 30; X14 ≤ 20; • X24 ≤ 30; X3B ≤ 20; • X4B ≤ 40; XBA ≤ 9999; 61 Terceiro passo: restrições 30 m3/s 40 m3/s 1 3 20 m3/s Rio de Janeiro Campos 20 m3/s A B 40 m3/s 30 m3/s 2 4 30 m3/s • Restrições de fluxo: • XBA – (XA1 + XA2) = 0 • XA1 – (X13 + X14) = 0 • XA2 – X24 = 0 • X13 – X3B = 0 • X14 + X24 – X4B = 0 • X3B + X4B – XBA = 0 Hipótese: Tipo de Restrição: Oferta > Demanda Entradas – Saídas ≥ Oferta ou Demanda do Nó Oferta < Demanda Entradas – Saídas ≤ Oferta ou Demanda do Nó Oferta = Demanda Entradas – Saídas = Oferta ou Demanda do Nó Situação do exemplo 62 111 Curso de Pesquisa Operacional Quarto passo: Restrições adicionais 9 Para completar a formulação do problema: • Xij >= 0 • i = A; B; 1; 2; .... 63 Solução pelo Solver 30 m3/s Campos 1 40 m3/s 20 m3/s 3 Rio de Janeiro 20 m3/s A B 40 m3/s 30 m3/s 2 4 30 m3/s Variáveis de decisão 64 Informações conhecidas Solução pelo Solver (Função Objetivo) Fórmula 65 112 Curso de Pesquisa Operacional Solução pelo Solver (Restrições) Entradas Saídas 66 Solução pelo Solver (Restrições) 67 Solução pelo Solver (Solução) 30 m3/s 40 m3/s 1 3 20 m3/s Rio de Janeiro Campos 20 m3/s A B 30 m3/s 40 m3/s 2 4 30 m3/s 68 113 Curso de Pesquisa Operacional ESTUDOS DE CASOS 114 Curso de Pesquisa Operacional 115 Assunto: Programação Linear PROBLEMA DE ORÇAMENTO DE CAPITAL Uma empresa do setor elétrico esta considerando sua participação em seis novas possibilidades de investimento. Estes projetos estão sendo elaborados através de Project Finance. Como os acionistas da empresa querem participar de novos investimentos no setor, buscando melhorar seus dividendos e permitir o crescimento da empresa, eles pediram ao Diretor Financeiro uma avaliação e sugestões de quais projetos deveriam investir e com qual participação. O Diretor Financeiro montou uma equipe de analistas para lhe ajudar. As informações preliminares, de cada alternativa de investimento, foram às apresentadas na tabela a seguir. Data Investimento Investimento Investimento Investimento Investimento Investimento 1 2 3 4 5 6 0 -5 -8 -15 -15 -40 -25 1 -10 -6 -13 -7 -2 -30 2 15 15 30 20 30 55 3 15 15 30 20 30 55 4 15 15 30 20 30 55 5 15 15 30 20 30 55 O conselho de acionistas reservou para investimento os seguintes valores: Ano $ 0 45 1 30 A TMA da empresa é de 15% ao ano. O Diretor Financeiro fez aos seus analistas uma série de perguntas, para que na próxima reunião de acionistas pudesse informar e esclarecer melhor sobre o assunto. As perguntas foram: 1. Os investimentos são atrativos? Sendo vocês a equipe de analistas de investimentos, qual seria a opinião quanto a cada um dos investimentos? 2. Qual o melhor investimento? 3. Para que fosse possível maximizar a rentabilidade destes investimentos, qual a sugestão de quanto investir em cada uma das alternativas? Qual o VPL desta Curso de Pesquisa Operacional 116 combinação de investimentos? Observação: O VPL, investimentos e receitas são ajustados de acordo com a participação em cada um dos investimentos. 4. Vai sobrar algum recurso que os acionistas alocaram para as datas 0 e 1? 5. Depois do resultado obtido na carteira que maximiza o VPL (item 3), se a houver a decisão de não investir na alternativa 03 (retirá-la da carteira e manter os outros investimentos nos níveis obtidos na resposta do item 3), qual o valor esperado do VPL do conjunto de investimentos realizados? Qual recurso do solver ajuda a responder a esta pergunta? 6. Se os acionistas estiverem dispostos a aumentar o valor reservado para os investimentos, mas em apenas uma das datas, qual é melhor para incrementar a rentabilidade? Qual recurso do solver ajuda a responder a esta pergunta? 7. Qual o valor máximo que você recomenda ser acrescido no orçamento para a data do item anterior que mantém o investimento na carteira determinada no item 02? Por quê? Qual recurso do solver ajuda a responder a esta pergunta? 8. Se os acionistas alocarem o recurso máximo permitido, qual o VPL esperado do conjunto de investimentos? 9. Qual a quantidade mínima de recursos que pode ser alocada a esta data que mantém na carteira de investimentos as mesmas alternativas encontradas no item 2? Qual recurso do solver ajuda a responder a esta pergunta? 10. Se os acionistas resolverem que desejam investir 10% a menos do que o calculado como ideal para o investimento 4, que comentário poderia ser feito sobre o VPL esperado da carteira? Qual recurso do solver ajuda a responder a esta pergunta? 11. Qual investimento contribui mais para a maximização do VPL? 12. Qual valor de VPL faria o investimento que não estava previsto inicialmente no item 03, fazer parte da carteira? 13. Se for realizado o investimento 1, que observação poderia ser feita? 14. Se o desejo dos acionistas é selecionar alternativas que o orçamento permita investir, mas que para estes investimentos à empresa tenha propriedade de 100% deles, quais são os investimentos que deveriam ser adquiridos? 15. Qual o VPL esperado para esta nova carteira? 16. Com esta carteira sobrarão recursos previstos para investimento? Quais são estes valores? Curso de Pesquisa Operacional ANEXOS 117 Curso de Pesquisa Operacional Tabela: Z X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: 118 Curso de Pesquisa Operacional Tabela: Z X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: 119 Curso de Pesquisa Operacional Tabela: Z X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão X1 X2 X3 X4 X5 b razão Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: Tabela: Z Base Variáveis básicas: Variáveis não básicas: Função Z: 120 Curso de Pesquisa Operacional FORMULAÇÃO E SOLUÇÃO ÓTIMA DO EXEMPLO DE ANÁLISE ECONÔMICA (ITEM 7) Formulação: Max Z = 2100X1 + 1200X2 + 600X3 Sujeito a: 6X1 + 4X2 + 6X3 ≤ 4800 12X1 + 6X2 + 2X3 ≤ 7200 X1 ≤ 800 X2 ≤ 600 X3 ≤ 600 X1; X2; X3 ≥ 0. Última tabela: Z 1 0 0 0 0 0 X1 0 0 1 0 0 0 X2 0 0 0 0 1 0 X3 0 1 0 0 0 0 XF1 50 0.2 -0.03 0.03 0 0.2 XF2 150 -0.1 0.1 -0.1 0 0.1 XF3 0 0 0 1 0 0 XF4 100 -0.2 -0.47 0.47 1 0.2 XF5 0 0 0 0 0 1 b 1380000 120 280 520 600 480 121 Curso de Pesquisa Operacional ANÁLISE DE SENSIBILIDADE PROBLEMA 9.3 Tela para análise de sensibilidade do QM for Windows Tela para análise de sensibilidade do LINDO for Windows Pasta para análise de sensibilidade do Solver do Excel 122
Documentos relacionados
CAP. 5 - INTRODUÇÃO A PROGRAMAÇÃO LINEAR
5.1 Exemplo 1: Problema de orçamento de capital Uma empresa de petróleo esta considerando 5 diferentes oportunidades de investimento. O fluxo de caixa e valor presente (em milhões de reais) é dado ...
Leia maisLISTA DE EXERCÈCIOS 1 œ PESQUISA OPERACIONAL
cetim. O segundo modelo (M2) consome 2 m de brim, 4 m de seda e 6 m de cetim. Se M1 é vendido a 6.000 u.m. e M2 a 10.000 u.m., quantas peças de cada tipo o fabricante deve fazer para obter a receit...
Leia maisPesquisa Operacional Introdução, Histórico e - FACOM
heurísticas a fim de obter soluções em tempo viável
Leia maisProgramação Linear - FACOM
Muitos colocam o desenvolvimento da Programação Linear (PL) como um dos avanços científicos mais importantes do século XX. Seu impacto desde 1950 tem sido extraordinário. Hoje em dia é uma ferramen...
Leia mais