Baixe o app para aproveitar ainda mais
Prévia do material em texto
PESQUISA OPERACIONAL – PROGRAMAÇÃO LINEAR PASSO A PASSO: DO ENTENDIMENTO DO PROBLEMA À INTERPRETAÇÃO DA SOLUÇÃO LUÍS HENRIQUE RODRIGUES FABIANO AHLERT DANIEL PACHECO LACERDA LUIS FELIPE RIEHS CAMARGO PEDRO NASCIMENTO DE LIMA Editora Unisinos, 2014 SUMÁRIO Apresentação Capítulo 1 – Pesquisa Operacional: histórico, conceitos e aplicações Capítulo 2 – Entendendo o problema Capítulo 3 – Modelando o problema Capítulo 4 – Resolvendo e interpretando o problema: utilizando o Lindo Capítulo 5 – Resolvendo e interpretando o problema: utilizando o MS Excel Referências Sobre os autores Informações técnicas APRESENTAÇÃO O processo de modelagem está presente em todos os campos do conhecimento. Para entendermos melhor um contexto, geralmente buscamos desenvolver modelos que podem variar de esboços qualitativos até aqueles de grande complexidade matemática. No campo das Ciências Econômicas, o desenvolvimento de modelos matemáticos é algo bastante presente. Dentro da área de Administração, destaca-se uma atividade de grande relevância para o desenvolvimento de competências lógicas e quantitativas: a Pesquisa Operacional. Embora relevante historicamente, essa atividade acadêmica é percebida como bastante complexa e, talvez por conta disso, um pouco desvalorizada nos currículos por ser a última disciplina cursada por uma parte significativa dos alunos, mesmo estando posicionada no meio do currículo. Essa foi a realidade que encontramos quando começamos a ministrar essa disciplina na UNISINOS, eu, o Prof. Alex Menezes e o Prof. Luís Henrique Rodrigues. Tínhamos alguns desafios claros como ajudar os alunos da área de Administração a gostarem de uma atividade que até então era focada em cálculo e com pouca análise, além de ampliar o número de alunos de TCC - igual à zero no momento de nossa entrada na disciplina. O primeiro movimento que desenvolvemos foi a revisão do projeto da disciplina, retomando a compreensão de que antes de modelarmos temos que entender amplamente o problema. Além disso, o uso de softwares específicos ou do Excel, ajuda-nos fortemente nos cálculos matemáticos (etapa de resolução), deixando um tempo maior para o processo de análise, atividade fundamental para um gestor. A partir disso, desenvolvemos a orientação de que a compreensão do problema é a fase fundamental para modelar. O presente livro foi desenvolvido por alguns professores que atuam na disciplina de Pesquisa Operacional e que desenvolvem pesquisas junto às empresas que priorizam essa discussão. Com uma linguagem adequada ao público, retomando as fases do processo de modelagem e desenvolvendo a compreensão desse conhecimento a partir de práticas, exercícios criativos e desafiadores. As etapas de compreensão do problema, a modelagem, a resolução e a interpretação dos resultados foram amplamente discutidas, a partir de problemas que conectam o campo teórico da programação linear, bem como as práticas existentes nas empresas e até mesmo as dificuldades que encontramos no dia a dia. Com o trabalho qualificado dos professores deste livro e o interesse por um campo de tamanha relevância, certamente será ampliado sem dúvida nenhuma. Prof. Dr. Gustavo Borba Diretor da Unidade Acadêmica de Graduação Universidade do Vale do Rio dos Sinos Unisinos - Somos infinitas possibilidades. CAPÍTULO 1 PESQUISA OPERACIONAL: HISTÓRICO, CONCEITOS E APLICAÇÕES Aprender a uma técnica sem conhecer o seu contexto histórico e os problemas para os quais esta técnica é adequada por vezes faz com que o aluno não entenda porque está aprendendo a mesma, nem de que maneira poderá aplicá-la. Neste capítulo você conhecerá as origens da Pesquisa Operacional, as principais técnicas que a compõem e em especial, a Programação Linear, que é o objeto deste livro. Em seguida será apresentado aos principais problemas que podem ser resolvidos com esta técnica, tornando-se apto a identificar problemas em seu cotidiano que podem ser resolvidos com a Programação Linear. 1.1 Histórico da Pesquisa Operacional A Pesquisa Operacional, com frequência designada apenas pela sigla PO, faz parte de uma área do conhecimento tratada como Management Science, que envolve o uso de uma série de técnicas com embasamento lógico-científico para tratar questões de gestão que auxiliam no processo de tomada de decisão. Embora o nome Pesquisa Operacional possa dar a impressão de que se trata de pesquisas (no sentido de questionários), não é essa a conotação correta da palavra. Também, em muitos casos, estudantes acabam confundindo a Programação Linear, que é uma das técnicas de Pesquisa Operacional mais usada, com a própria Pesquisa Operacional. No entanto, a Programação Linear está contida na Pesquisa Operacional como uma de suas diversas técnicas, porém não são sinônimos. 1.2 O que é Pesquisa Operacional? A origem da Pesquisa Operacional – também tratada pela sigla PO – remonta à época da Segunda Grande Guerra Mundial. Os militares necessitavam gerenciar seus recursos de forma eficiente até os campos de batalha. Alimentos, munição, medicamentos, eram alguns dos itens que eram demandados nos acampamentos e que precisavam ser levados na quantidade correta e gastando-se o mínimo possível para garantir a continuidade das operações militares. Segundo registros, os governos britânico e norte-americano solicitaram a cientistas e matemáticos que fizessem estudos (leia-se pesquisa) sobre as operações militares e como otimizar essas operações. Desse modo, a Programação Linear que é a técnica que vamos estudar neste livro é classificada como uma técnica de otimização, pois busca a solução ótima, a melhor combinação das variáveis, tal como a busca de um melhor resultado possível. Segundo Hillier e Lieberman (2013), como consequência desses estudos, garantiram-se as vitórias nas Batalhas Aéreas na Grã-Bretanha e no Atlântico Norte, igualmente auxiliaram na Campanha Britânica no Pacífico. Com o fim da guerra e com a expansão econômica de diversos países, as organizações não militares tinham operações cada vez mais complexas. Percebeu-se, assim, que os problemas tratados nas questões militares eram na verdade muito semelhantes aos encontrados nas empresas, cada qual em seu devido contexto. Então, no início da década de 1950, a PO passou a ser aplicada em organizações das mais variadas áreas de atuação. O ponto de alavancagem do uso de diversas técnicas de PO veio com o crescimento do uso de computadores. Muitas de suas técnicas são utilizadas por meio de cálculos, por vezes, bastante complexos e com problemas também de alta complexidade. O meio mais prático de solucioná-los, sem dúvida, era utilizando-se da grande capacidade de processamento dos computadores, que são capazes de realizar milhões de cálculos em frações de segundo. Depois, na década de 1980, com o surgimento e a popularização de computadores pessoais essas técnicas difundiram-se mais ainda. Então, “(...) a PO é aplicada a problemas que compreendem a condução e a coordenação das operações (isto é, as mais diversas atividades) em uma organização” (HILLIER e LIEBERMAN, 2013). Genericamente pode-se dizer que a solução de problemas em PO compreende a coleta de dados, a formulação e análise meticulosa do problema. Posteriormente serão utilizadas essas informações para a construção de um modelo que geralmente envolve conceitos matemáticos. Neste ponto é importante definir o que entendemos por “modelo”. Pidd (1998) define modelo como uma representação simplificada da realidade. Logo, com base no problema real e nas informações que foram coletadas, cria-se um modelo que represente o problema que está sendo estudado. A representação deve primar pela simplicidade, ou seja, não adianta tentar elaborar um modelo que trate os problemas nos seus mínimos detalhes, pois modelos extremamente complexos podem atrapalhar a abstração e tornar sua representação bastante difícil.O nível de complexidade deve ser focado estritamente nos aspectos relevantes para a solução do problema ou que nela influenciem. Após a validação do modelo elaborado, conforme a técnica utilizada, poderão ser realizados testes de hipóteses ou até mesmo a busca da solução para o problema. A validação é importante para garantir que o modelo corresponda à realidade e que os dados apresentados em suas soluções ou testes de hipóteses (alterações no modelo) possam ser considerados. Logo, passaremos a analisar o resultado da técnica aplicada e deveremos estudar a possibilidade de implementação da solução. O objetivo principal da PO é municiar os tomadores de decisões nas organizações com informações que sejam relevantes à tomada de decisão, tornando-a mais prática e eficiente. 1.3 Técnicas mais comuns de Pesquisa Operacional A título de informação, abaixo estão relacionadas as Técnicas de Pesquisa Operacional, isto é, as mais difundidas com uma breve explicação sobre as mesmas. Programação linear: é uma técnica que pressupõe a relação linear entre as características do problema, buscando a solução ótima para o problema estudado. Essas características do problema são representadas e relacionadas por meio de uma série de equações lineares. Maiores informações sobre essa técnica, que é o foco principal deste livro, serão dadas adiante. Simulação computacional: é uma técnica que simula as características estudadas em um modelo de computador, considerando a variabilidade dos comportamentos do ambiente e seus participantes. Com base na Simulação Computacional é possível testar mudanças e conhecer com maior probabilidade de sucesso o impacto dessas mudanças no sistema. Teoria dos jogos: é uma técnica matemática que busca antecipar as possíveis decisões de participantes de uma situação de competição. Essa teoria tem aplicação em muitas áreas, mas é usada principalmente em Administração e Economia. Teoria das filas: é o estudo das esperas existentes nos mais diversos sistemas, tais como filas de banco, do caixa no supermercado e outras não tão corriqueiras a todo mundo como as ordens de produção aguardando para serem liberadas ou os veículos que aguardam para serem descarregados e assim atrasam outros carregamentos posteriores. Sendo assim, é necessário o balanceamento adequado dos recursos visando um nível de atendimento satisfatório, o melhor custo-benefício entre as esperas e suas implicações, assim como o investimento para possibilitar o melhor atendimento possível. PERT/CPM: PERT é a sigla de Program Evaluation and Review Technique (Técnica de Avaliação e Revisão de Projetos) e CPM é a sigla de Critical Path Method (Método do Caminho Crítico), surgindo no final da década de 1950. Ambas as técnicas envolvem modelos de redes visando a gestão de tempo de projetos. CPM é uma técnica utilizada para identificar o caminho crítico de um projeto, caminho esse que não pode sofrer atrasos e precisa ser acompanhado constantemente para não comprometer o prazo de conclusão do projeto. PERT é uma técnica que agrega variabilidade a essa gestão do tempo. Geralmente ambas são utilizadas em conjunto. Pode-se considerar que a escolha da técnica a ser utilizada em um determinado problema pode ser influenciada por dois fatores: O grau de variabilidade dos dados, e o grau de complexidade do problema. A Erro! Fonte de referência não encontrada. mostra a classe de técnicas que é mais indicada, conforme a complexidade e a variabilidade dos problemas estudados. No contexto deste livro, estudaremos problemas de otimização, nos quais há baixa variabilidade e baixo grau de complexidade. Editora Realce Diagramador: Favor, inserir aqui "Figura 1". Figura 1 – Classes de Técnicas, conforme Grau de Variabilidade e Complexidade. Existem ainda diversas outras técnicas em Pesquisa Operacional, tais como Teoria da Decisão e Teoria dos Estoques com técnicas de previsão de demanda. O foco deste livro está na Programação Linear. 1.4 Aplicações práticas da Pesquisa Operacional A Pesquisa Operacional é utilizada por empresas dos mais variados segmentos para solucionar os mais diversos tipos de problemas. O Quadro 1 exibe alguns exemplos de empresas que utilizaram as técnicas de Pesquisa Operacional para melhorar a eficiência de seus resultados. Quadro 1 – Aplicações da Pesquisa Operacional Empresa Aplicação Economia anual Continental Airlines Otimizar a realocação de tripulações quando ocorrem desajustes nos horários de voo. US$ 40 milhões Samsung Redução de tempos de fabricação e níveis de estoque. US$ 200 milhões mais receitas Sears Programação de rotas de veículos para as frotas de entrega e atendimento US$ 42 milhões domiciliar. General Motors Aumentar a eficiência das linhas de produção. US$ 90 milhões AT&T Projeto e operação de call centers. US$ 750 milhões mais lucros Fonte: Adaptado de Hillier e Lieberman (2013, p. 4). A Programação Linear, que é uma técnica de otimização, é utilizada para solucionar problemas operacionais dos mais variados tipos, tais como programação da produção, definição de mix de produção, definição de rotas, planejamento de investimentos, priorização de atendimento de pedidos, entre outros tipos de problemas. 1.5 Programação linear É considerada como uma das técnicas mais difundidas da Pesquisa Operacional, e será o foco principal deste livro nos próximos capítulos. A Programação Linear (também conhecida como PL) consiste na representação das características de um problema em forma de um conjunto de equações lineares. O nível dessas equações costuma ser bem básico, sem maiores complicações. Usa-se apenas a matemática básica na etapa de elaboração destas equações. A esta etapa chamamos de modelagem do problema. A modelagem é a construção de um modelo que represente a situação que se quer estudar ou resolver. Podemos dizer que o modelo nesse caso da PL nada mais é do que a tradução das características do problema para uma linguagem matemática. Geralmente os problemas de otimização com o uso de Programação Linear tem como objetivo minimizar custos ou maximizar lucros ou faturamento, pois esses são objetivos comuns das organizações. No entanto, devemos enfatizar que a PL não serve apenas para minimizar ou maximizar esses itens. Você pode encontrar um problema, por exemplo, de roteirização (ex.: ir até um estádio de futebol e voltar para a sua casa) no qual se deseja minimizar o tempo de deslocamento, permitindo assim terminar o quanto antes o percurso. Outra opção seria minimizar o deslocamento total em kilômetros a ser percorrido, ou ainda o custo de transporte.. Sendo assim, pode-se minimizar ou maximizar segundo uma variedade de critérios em uma modelagem de Programação Linear, desde que a modelagem esteja coerente. Problemas mais simples podem ser resolvidos com relativa facilidade através de um método chamado de “método gráfico”. Na maioria das vezes podemos usar o método para solucionar problemas com até duas variáveis. A partir daí a representação gráfica começa a ficar mais complexa e cada vez mais difícil de ser feita. Por essa razão a solução da maior parte dos problemas reais é feita através do uso de alguns algoritmos. Nesta disciplina o foco não é estudarmos esses algoritmos, pois eles estão embutidos nos softwares que podemos usar para obter a solução. O objetivo principal é aprender a fazer a modelagem com perfeição, pois a partir de uma modelagem correta podemos obter a solução apropriada em algum software. Mas a modelagem errada invariavelmente deverá nos levar à solução incorreta. Dessa forma, não será objetivo deste livro conhecer os algoritmos de solução, pois o software realizará todos os cálculos que precisarmos. O foco deve ficar dividido entre a modelagem correta e a interpretação correta da solução. Ao contrário do que se pode pensar, não são todos os tipos de problemas que podem sersolucionados com o uso de Programação Linear. É importante saber em a que tipos de problemas se aplicam o uso da técnica e a que tipos de problemas o uso da técnica não se aplica. O Quadro 2 mostra algumas dessas situações. Quadro 2 – Exemplos de problemas de Programação Linear Exemplos do que é um problema de programação linear Exemplos do que NÃO é um problema de Programação Linear Selecionar um roteiro (trajeto) entre várias possibilidades, visando minimizar os custos ou quilômetros percorridos; Selecionar entre várias alternativas e combinações de matéria-prima, as que permitem ter um custo menor atendendo as exigências; Escolher entre fabricar ou não determinados itens, vender ou não determinadas mercadorias, construir ou não uma fábrica e/ou depósito em determinado local etc.; Definir quantos funcionários devem ser escalados em cada dia para cumprir as exigências de atendimento; Escolher que produtos/serviços fabricar/oferecer e em quais quantidades; Escolher um mix de produtos para fabricar, visando maximizar os lucros. Descobrir a probabilidade de algo ocorrer; Comparar alternativas (a Programação Linear serve para escolher uma alternativa, não para comparar); Quanto produzir/vender de um item só, isso pode ser facilmente definido pelo gargalo da operação ou pelas restrições de mercado; Pesquisar satisfação de clientes ou algum outro quesito. Em suma, um problema de Programação Linear está relacionado com escolhas que devemos fazer e, muitas vezes, há uma grande combinação de escolhas possíveis, fazendo com que o problema seja de difícil solução se utilizarmos apenas nosso racioncínio. Logo, se não há diferentes escolhas possíveis, provavelmente você não está diante de um problema de Programação Linear. 1.6 Por que usar um modelo? Recomenda-se fazer uso de modelos porque isto é mais barato do que replicar a estrutura real e testar todas as possíveis soluções. Além disso, utilizar um modelo proporciona um menor risco do que a experimentação do impacto de cada alternativa de solução, realizando testes e alterações no mundo real. Também se economiza tempo, visto que o software, com o uso das capacidades computacionais, consegue fazer milhares de cálculos em frações de segundo, permitindo obter rapidamente a solução dos problemas. Ao passo que se quiséssemos testar o impacto de diversas soluções, levaríamos muito tempo somente para configurar o funcionamento do sistema de acordo com a solução desejada. Em seguida é apresentado um exemplo finalizando a justificativa para o uso de modelos para a tomada de decisão. “Frank Brock, ex-vice-presidente executivo da Brock Candy Company, contou a seguinte história sobre projetos que sua empresa preparou para a instalação de uma nova fábrica. Depois de meses de trabalho de design cuidadoso, ele mostrou, com orgulho, os planos a vários de seus trabalhadores da linha de produção. Quando Brock solicitou comentários, um trabalhador respondeu: ‘É um edifício de muito boa aparência, senhor Brock, mas, essa válvula de açúcar parece estar muito longe da válvula de vapor’. ‘E o que há de errado nisso?’, perguntou Brock. ‘Bem, nada’, disse o trabalhador, ‘exceto que minhas mãos têm que estar nas duas válvulas ao mesmo tempo!’. Não é preciso dizer que é muito mais barato descobrir e corrigir esse ‘pequeno’ problema usando um modelo visual antes de colocar o concreto e os canos como originalmente planejado” (RAGSDALE, 2011, p. 4) 1.7 Recomendações para os estudos Como recomendação para os estudos podemos enfatizar as seguintes dicas: as modelagens de cada classe de problemas seguem padrões bastante semelhantes, por isso, quando se sabe modelar um problema de uma determinada classe, é bem provável que se consiga modelar os demais da mesma classe. Consequentemente é importante conhecer esses padrões; para conhecer os padrões é importante ver as explicações de como funciona aquele padrão e somente depois disso praticar essa modelagem em diversos problemas. Recomenda-se fazer o mesmo problema várias vezes, mesmo depois de conhecer a solução, para ter certeza de que a lógica está assimilada, pois somente conhecer a solução não habilita a modelar corretamente; exercitar, modelando muitos problemas também é importante para ter certeza de que a lógica foi internalizada. CAPÍTULO 2 ENTENDENDO O PROBLEMA O primeiro passo para a solução de um problema é entendê-lo corretamente. Um erro comum cometido quando começamos a utilizar a Pesquisa Operacional é tentarmos iniciar a modelagem do problema (traduzir a situação em um modelo) sem ter entendido a própria situação. Neste capítulo você aprenderá a entender os problemas de programação linear com o objetivo de realizar a sua modelagem corretamente, por meio de cinco passos aplicados aos dez diferentes exemplos práticos que serão explorados neste livro. No capítulo seguinte, os mesmos serão modelados matematicamente. 2.1 O que são variáveis de decisão, função objetivo e restrições Variáveis de decisão, função objetivo e restrições são três termos que serão extensamente utilizados a partir daqui. A solução de um problema de Programação Linear sempre irá conter esses três elementos. Todo problema de Programação Linear busca obter uma solução ótima para uma dada situação. Essa solução é resultante de um conjunto de decisões (e.g. quantos produtos do tipo “i” serão produzidos, a quantidade da matéria-prima “i” a ser comprada, investir ou não investir em uma certa ação do mercado de capitais etc.). Dessa forma, as variáveis de decisão são todas as opções que temos em um devido problema. Elas são incógnitas a serem definidas na solução do problema. Em se tratando de problemas de programação linear, as variáveis de decisão deverão adotar um comportamento linear, ou seja, não podem ser exponencializadas ou multiplicadas entre si, o que resultaria em um comportamento não linear. A otimização de um problema de Programação Linear objetivará a maximização ou minimização de um determinado objetivo (e.g. maximizar o lucro da empresa, minimizar o custo de compra etc.). Desse modo, a Função Objetivo (FO) é uma expressão matemática que quantifica a solução de um dado problema. Por exemplo, dado a possibilidade de produção de três produtos, P1, P2 e P3, os quais possuem respectivamente os seguintes lucros: R$ 10,00, R$ 15,00 e R$ 19,00. A FO seria expressa como sendo Max Lucro = 10 P1 + 15 P2 + 19 P3. Em outras palavras, a FO sinaliza o objetivo a ser maximizado em um problema de Programação Linear. Entretanto, sempre haverá algo que limite a otimização de um problema. No exemplo anterior, as produções de P1, P2 e P3 poderão ser limitadas em termos de capacidade produtiva, máxima quantidade que o mercado demande, bem como o limite de oferta de matéria-prima etc. Assim sendo, as restrições são limitantes aos valores das variáveis de decisão. As restrições são expressas em equações e/ou inequações matemáticas que traduzem um limitante físico à solução do problema. Por exemplo, ainda para o problema anterior, vamos supor que exista uma máquina que produza os produtos P1, P2 e P3, a qual tem uma disponibilidade máxima de 240 horas por mês e que os produtos consumam unitariamente o seguinte tempo de produção dessa máquina: 1.5 h/P1, 2 h/P2 e 3 h/P3. A restrição de capacidade produtiva seria representada da seguinte forma: 1.5 P1 + 2 P2 e 3 P3 <= 240. Esclarecidos esses termos, agora você aprenderá a identificar estes três elementos para posteriormente modelar o problema utilizando a linguagem matemática. 2.2 Cinco Passos para o entendimento de um problema de programação linear Em seguida será apresentada uma sequência de cinco passos sugeridos para o correto entendimento de um problema de programação linear. O objetivo de percorrer esses passos é entender o significado das informações disponíveis sobre uma situação problemática e preparar seu raciocínio para a modelagem.A Erro! Fonte de referência não encontrada. ilustra a sequência de tais passos, que serão detalhados a seguir. Figura 2 – Cinco passos para o entendimento de um problema de Programação Linear. 2.2.1 Etapa 1 – Elaborando um esquema do problema Busca-se desenvolver um esquema simplificado do problema, isto é, transcrever da forma narrada o problema para um esquema gráfico, tabular e/ou desenho que permita aprofundar o entendimento do mesmo. Considera-se essa etapa muito importante para o entendimento do problema. Não avance para as demais etapas enquanto esse esquema não representar adequadamente o problema. 2.2.2 Etapa 2 – Definindo uma solução para o problema Editora Realce Diagramador: Aqui, inserir "Figura 2". Uma vez esquematizado o problema, procure encontrar uma solução qualquer para o problema, ou seja, procure responder a situação problema apresentada no enunciado. Essa etapa é fundamental para a definição das variáveis de decisão. A solução proposta é casual e provavelmente não será a ótima, podendo, inclusive, não ser viável. Entretanto, isso não é importante. O principal objetivo é encontrar que tipo de respostas o problema solicita. Por exemplo: dez unidades do produto P1, 15 unidades do produto P2 etc. 2.2.3 Etapa 3 – Definindo variáveis de decisão Uma vez encontrada uma solução qualquer para o problema fica mais simples identificar as varáveis de decisão. No exemplo anterior, nota-se que trata de uma quantidade de produtos. Assim a variável de decisão Xi seria a quantidade de produtos do tipo “i” a serem produzidos. 2.2.4 Etapa 4 – Identificando o que deve ser maximizado ou minimizado Essa etapa deverá ser explícita no enunciado do problema, bastando uma leitura atenta do texto. Alguns sinalizadores para um problema de maximização são: deseja-se o lucro ótimo da empresa, achar um esquema que maximize a quantidade produzida etc. Para os problemas a serem minimizados: deseja-se encontrar o menor custo de compra de matéria-prima, minimizar a quantidade de horas extras etc. 2.2.5 Etapa 5 – Identificando classes de restrições Outra vez uma leitura atenta do enunciado e um bom esquema do problema (passo 1) são as melhores formas de identificação dos limitantes à Função Objetiva. Tente observar as passagens do problema onde as seguintes expressões aparecem: a produção não poderá ser superior..., a quantidade comprada não poderá ultrapassar..., o somatório da produção deverá ser menor...., o máximo de horas disponíveis... etc. 2.3 Entendo a lista de problemas propostos Agora que você conhece as etapas necessárias para o entendimento do problema, vamos percorrer dez diferentes exemplos seguindo esses passos. Recomenda-se que você primeiramente leia o exemplo e tente por conta própria realizar cada uma das etapas. Em seguida, leia a solução do problema, confronte com seus resultados e siga para o próximo exemplo. 2.3.1 Entendendo o problema 1 – Oficina de brinquedos Oficina de brinquedos Uma pequena oficina de brinquedos produz dois tipos de brinquedos: caminhão de madeira e boneca de pano. O lucro do caminhão é de R$ 10,00 por unidade e da boneca de pano é de R$ 8,00 por unidade. São necessárias seis pessoas para fazer um lote de dez caminhões por dia e quatro pessoas para fazer um lote de 14 bonecas por dia. Existem 18 pessoas disponíveis para produzir os itens, podendo ser alocadas em qualquer um dos dois, em qualquer etapa. Devido à demanda existente é necessário fazer ao menos um lote de caminhões e um lote de bonecas por dia. Formular um modelo de Programação Linear que busque maximizar a lucratividade diária. Passo 1 – Elaborando o esquema do problema Ao ler o problema, observamos que é necessário decidir quantos lotes de caminhões ou bonecas devem ser produzidos, ainda assim respeitando os limites de capacidade de mão de obra existentes. Com o objetivo de definir qual é a variável de decisão, iremos representar o problema com uma ilustração. A Erro! Fonte de referência não encontrada. representa um esquema deste problema. Editora Realce Diagramador: Aqui, inserir "Figura 3". Figura 3 – Esquema simplificado do problema 1 – Oficina de brinquedos. Nessa Figura é possível observar que, conforme tomamos a decisão de fazer mais ou menos lotes de caminhões ou bonecas, precisaremos alocar mais ou menos pessoas da empresa na produção de um produto, resultando em um lucro maior ou menor de acordo com a nossa decisão. Passo 2 – Definindo uma solução para o problema Definir uma solução para o problema nos ajudará a entender qual é a variável de decisão. Nesse exemplo, para decidir quantos lotes de caminhões ou bonecas poderemos fazer, precisaremos considerar as restrições quanto à mão de obra disponível, bem como a quantidade mínima de produtos a vender. O Quadro 3 representa uma possível solução para o problema. Quadro 3 – Solução para o problema 1 – Oficina de brinquedos Produto Quantidade de lotes a produzir Lucro resultante Bonecas 1 R$ 112,00 Caminhões 2 R$ 200,00 Totais - R$ 312,00 Nessa solução para o problema, tomamos a decisão de produzir um lote de bonecas e dois lotes de caminhões por dia. Essa decisão atendeu ao número mínimo de lotes a produzir por dia que é um de cada produto, assim como ao limite de mão de obra disponível, que eram 18 pessoas. Após elaborar essa solução, podemos observar qual é o impacto que a decisão de fazer mais ou menos lotes de um tipo de produto gera em termos de lucro e de uso de mão de obra. Passo 3 – Definindo variáveis de decisão Para definir a variável de decisão, função objetivo e restrições é preciso começar a transformar a linguagem do problema em uma linguagem matemática. O objetivo de fazermos isso é tornar o modelo legível, isso se mostrará especialmente importante quando começarmos a lidar com modelos maiores. Essa notação é muito simples e pode ser observada na Erro! Fonte de referência não encontrada.. Figura 4 – Notação para representação da variável de decisão. Para o exemplo da oficina de brinquedos, a definição da Variável de Decisão seria: Xi – Quantidade de lotes fabricados do produto i Algumas observações sobre essa notação: Não somos obrigados a escolher a letra X ou i. Você pode escolher a letra que quiser para representar suas variáveis e índices. Inclusive, em alguns modelos que encontrar, você poderá ver alguma variável com mais de uma letra (Ex.: QLC para representar Quantidade de Lotes de Caminhões ao invés de XC). Para outros modelos poderá haver uma mesma variável com mais de um índice. Por exemplo, poderíamos definir a variável de decisão como Xij – Quantidade de lotes a produzir do produto i, da cor j se no nosso problema houvesse caminhões e bonecas com cores diferentes que impactassem no uso de mão de obra e no lucro. Editora Realce Diagramador: Inserir "Figura 4". Passo 4 – Identificando o que deve ser minimizado ou maximizado Para identificar o que deve ser minimizado ou maximizado e, consequentemente, para a função objetivo é preciso voltar ao problema e procurar pelo propósito do problema. Ao ler o problema novamente encontramos a seguinte frase: “Formular um modelo de programação linear que busque maximizar a lucratividade diária”. Ao observar essa frase, constatamos que função objetivo deverá ser de maximização. Agora que sabemos o sentido da otimização, precisamos definir o que deve ser maximizado. Nesse exemplo, o propósito é maximizar a lucratividade diária. O Lucro é formado pela multiplicação das quantidades de lotes produzidos pelo lucro resultante do lote (que também podemos chamar de margem de contribuição do lote). Sendo assim, ao entender o que deve ser maximizado ou minimizado, podemos expressar a função objetivo da seguinte forma: MAXIMIZAR LUCRO Onde lucro é: margem de contribuição do lote do produto i multiplicado pela quantidade de lotes produzidos do produto iPasso 5 – Identificando classes de restrições Chamamos de classes de restrições, os tipos de limites que a solução do problema deve respeitar. A seguir estão destacadas as frases nas quais o problema indica quais são as regras que devem ser respeitadas. São necessárias seis pessoas para fazer um lote de dez caminhões por dia, e quatro pessoas para fazer um lote de 14 bonecas por dia. Existem 18 pessoas disponíveis para produzir os itens, podendo ser alocadas em qualquer um dos dois, em qualquer etapa. Devido à demanda existente é necessário fazer ao menos um lote de caminhões e um lote de bonecas por dia. A primeira classe de restrições diz respeito à disponibilidade de mão de obra para produzir a quantidade de lotes necessários. Podemos expressar essa classe de restrições da seguinte maneira: Restrições de mão de obra: o número de pessoas alocadas para fabricação dos dois produtos não pode ser maior do que 18 pessoas. A segunda classe de restrições versa sobre a necessidade de produzir no mínimo um lote de cada produto. Isso pode ser expresso da seguinte maneira: Quantidade mínima de produção: deve ser produzido no mínimo um lote de cada produto. Seguindo esses cinco passos foi possível identificar os elementos necessários para a formulação de um modelo de Programação Linear. Primeiramente, desenhando um esquema do problema e identificando uma solução, foi possível definir a variável de decisão. Em seguida, definimos o que deve ser maximizado ou minimizado, formando a função objetivo de nosso modelo. Por fim, identificamos as classes de restrições que serão necessárias para a correta modelagem das mesmas. 2.3.2 Entendendo o problema 2 – formulações de inseticida Formulações de inseticida Uma indústria agroquímica produz três tipos de inseticidas, que utilizam basicamente quatro tipos de ingredientes: inseticida piretroide, xileno, surfactante e solvente. As informações das concentrações de cada tipo de ingrediente estão informadas no Quadro 4. Quadro 4 – Informações do problema 2 – formulações de inseticida Piretroide Xileno Surfactante Solvente Inseticida tipo 1 10% 10% 10% 70% Inseticida tipo 2 25% 7% 15% 53% Inseticida tipo 3 20% 9% 20% 51% Fonte: Fonte. Existem em estoque 600 tonéis de solvente, 200 tonéis de piretroide, 80 tonéis de xileno e 140 tonéis de surfactante. É preciso no mínimo dez tonéis do inseticida tipo 3. Os lucros de cada tipo de inseticida, por tonel, são: Inseticida tipo 1: R$ 300,00 Inseticida tipo 2: R$ 270,00 Inseticida tipo 3: R$ 245,00 Formule a modelagem de Programação Linear que maximiza a lucratividade. Passo 1 – Elaborando o esquema do problema Esse exercício pode parecer difícil, mas é similar ao primeiro. A Erro! Fonte de referência não encontrada. ilustra as principais relações envolvidas para a sua modelagem. Figura 5 – Esquema do problema 2 – formulações de inseticida. Tomando por exemplo o inseticida 2 para produzir um tonel de inseticida, 25% desse tonel deve ser do insumo “Piretroide”, 7% de “Xileno”, e assim por diante, conforme as setas da ilustração representam. O problema também indica que, em produzindo um tonel do inseticida 1, obtém-se um lucro de R$ 300,00. Dessa maneira, a decisão que iremos tomar de quanto produzir de cada tipo de inseticida deve respeitar as restrições que temos quanto à disponibilidade de cada um dos insumos. Editora Realce Aqui, inserir "Figura 5". Passo 2 – Definindo uma solução para o problema O Quadro 5 representa uma solução para o problema, na qual decidimos produzir 100, 100 e 50 tonéis de cada um dos inseticidas, respectivamente. Quadro 5 – Solução para o problema 2 – formulações de inseticida Inseticida Tonéis a produzir Lucro Resultante Inseticida 1 100 R$ 30.000,00 Inseticida 2 100 R$ 27.000,00 Inseticida 3 50 R$ 12.250,00 Podemos observar que, conforme tomamos a decisão de produzir mais ou menos tonéis de cada tipo de inseticida, usaremos mais ou menos insumos (respeitando a formulação do inseticida) e teremos um lucro resultante diferenciado de acordo. Passo 3 – Definindo variáveis de decisão Como visto anteriormente, nossa variável de decisão é quanto devemos produzir de cada tipo de inseticida. Podemos expressá-la precisamente da seguinte forma: Xi – Quantidade de tonéis a produzir do inseticida i Lembre sempre que a variável de decisão é o que queremos como resposta final, isto é, como decisão, e ela terá impacto direto em nossa função objetivo. Nesse exemplo, a quantidade de insumos que devemos utilizar poderá ser considerada como uma restrição, tal como veremos a seguir: Passo 4 – Identificando o que deve ser minimizado ou maximizado O enunciado desse problema indica que devemos formular “a modelagem de Programação Linear que maximiza a lucratividade”. Dessa maneira, nossa função objetivo será de maximização e o que deverá ser maximizado é a lucratividade. Assim como no exemplo anterior, podemos calculá-la multiplicando a quantidade de tonéis a produzir de cada inseticida pelo lucro propiciado pelo mesmo, ou seja, a sua margem de contribuição. Finalmente, podemos expressar a Função Objetivo desta forma: MAXIMIZAR LUCRO Onde lucro é: Margem de contribuição do tonel de inseticida i multiplicada pela quantidade de tonéis a produzir do inseticida i Passo 5 – Identificando classes de restrições A seguir estão destacadas as partes do problema que relacionam as suas restrições, tal como as classes de restrições respectivas. Quadro 6 – Classes de restrições do problema 2 – formulações de inseticida Piretroide Xileno Surfactante Solvente Inseticida tipo 1 10% 10% 10% 70% Inseticida tipo 2 25% 7% 15% 53% Inseticida tipo 3 20% 9% 20% 51% Fonte: Fonte. Existem em estoque 600 tonéis de solvente, 200 tonéis de piretroide, 80 tonéis de xileno e 140 tonéis de surfactante. É preciso no mínimo dez tonéis do inseticida tipo 3. Podemos identificar as seguintes classes de restrições nesse problema: Restrições de disponibilidade de insumos e formulação: Nesse problema a quantidade de cada insumo que será necessária depende da quantidade de tonéis que deverá ser produzido de cada inseticida, bem como do percentual de insumo que deverá compor aquele inseticida. Essa quantidade necessária de insumo deverá ser limitada à quantidade disponível de tonéis daquele inseticida. Quantidade mínima a produzir: Nesse problema a quantidade de tonéis do inseticida três deverá ser no mínimo dez. 2.3.3 Entendendo o problema 3 – transporte Transporte Você possui três fábricas localizadas em regiões geográficas distintas, e precisa saber quanto deve produzir e transportar para quatro diferentes mercados a um custo mínimo. As informações do custo de transporte unitário entre as fábricas e os mercados estão no Quadro 7. Quadro 7 – Informações do problema 3 – transporte Custo de transporte Mercados Capacidade Produtiva1 2 3 4 Fábricas A $ 0,90/un $ 1,00/un $ 1,80/un $ 1,05/un 22.500 un B $ 2,10/un $ 0,80/un $ 0,70/un $ 1,15/un 21.000 un C $ 1,10/un $ 1,00/un $ 1,20/un $ 1,50/un 19.500 un Demanda mínima 10.000un 15.000un 11.000un 10.000un Fonte: Fonte. Passo 1 – Elaborando o esquema do problema Nesse problema é necessário definir quantas unidades de produtos de cada fábrica devem ser enviadas a cada mercado, considerando a capacidade produtiva de cada fábrica, bem como a demanda mínima de cada mercado. A Erro! Fonte de referência não encontrada. representa esse problema, destacando os custos de transporte unitário dos produtos enviados pelas três fábricas ao mercado 2. Editora Realce Diagramador: Favor excluir. Não haverá fonte aqui. Editora Realce Favor inserir aqui "Figura 6". Figura 6 – Esquema do Problema 3 – Transporte. Passo 2 – Definindo uma solução para o problema Uma proposta de solução para oproblema deve indicar quantas unidades de produto devem ser enviadas de cada fábrica para cada mercado, atendendo tanto às capacidades produtivas máximas quanto às demandas mínimas de cada mercado. Uma solução possível para o problema é evidenciada no Quadro 8. Quadro 8 – Solução para o problema 3 – transporte Unidades enviadas Para o mercado... 1 2 3 4 Da Fábrica... A 5000 5000 5000 5000 B 5000 5000 5000 5000 C 4000 5000 4000 4000 Passo 3 – Definindo variáveis de decisão Ao definirmos quantas unidades devem ser enviadas de cada fábrica para cada mercado, deparamo-nos com a própria variável de decisão, que pode ser expressa da seguinte maneira: Xij – Quantidade de unidades de produto produzidos na fábrica i a ser enviado para o mercado j Passo 4 – Identificando o que deve ser minimizado ou maximizado Esse problema indica que “Você possui três fábricas localizadas em regiões geográficas distintas e precisa saber quanto deve produzir e transportar para quatro diferentes mercados, a um custo mínimo”. Dessa maneira, podemos entender que o problema trata-se da minimização dos custos, e sua função objetivo pode ser definida da seguinte forma: MINIMIZAR CUSTO Onde o custo é: custo de transporte da fábrica i para o mercado j multiplicado pela quantidade de unidades de produto produzidos na fábrica i a ser enviado para o mercado j. Passo 5 – Identificando classes de restrições Ao observar o quadro que apresenta os dados do problema, identificam-se duas classes de restrições, destacadas a seguir: Quadro 9 – Classes de restrições do problema 3 – transporte Custo de transporte Mercados Capacidade Produtiva 1 2 3 4 Fábricas A $ 0,90/un $ 1,00/un $ 1,80/un $ 1,05/un 22.500 un B $ 2,10/un $ 0,80/un $ 0,70/un $ 1,15/un 21.000 un C $ 1,10/un $ 1,00/un $ 1,20/un $ 1,50/un 19.500 un Demanda mínima 10.000un 15.000un 11.000un 10.000un Demanda mínima: Para cada um dos mercados deve ser expedido uma quantidade mínima de unidades. Sendo assim, a soma das unidades vendidas a cada mercado deverá ser maior ou igual à essa demanda mínima. Capacidade produtiva: Cada fábrica possui um número máximo de unidades que poderá produzir. Sendo assim, a soma das quantidades produzidas em cada fábrica deverá ser menor ou igual à essa capacidade. 2.3.4 Entendendo o problema 4 – Rent a Car Rent a Car A Rent a Car está avaliando a distribuição dos seus carros de aluguel nas diversas cidades onde possui escritórios. A empresa aluga três tipos de carros: econômico, standard e luxo. O gerente de distribuição acredita que as cidades A, B e C possuem carros em excesso, caracterizados no Quadro 10. Quadro 10 – Informações do problema 4 – carros em excesso CARROS EM EXCESSO CIDADES ECONÔMICO STANDARD LUXO A 20 10 10 B 30 20 20 C 10 5 5 Fonte: Fonte. Entretanto, as cidades D, E, F e G possuem uma carência de carros, a qual está apresentada no Quadro 11. Quadro 11 – Informações do problema 4 – carros em falta CARROS EM FALTA CIDADES ECONÔMICO STANDARD LUXO D 10 5 5 E 20 5 5 F 0 10 10 Editora Realce Diagramador: Favor excluir aqui e nos outros quadros em foi salientado no decorrer da obra. G 5 15 15 Fonte: Fonte. Em termos do eventual transporte dos carros excedentes de uma cidade para outra, deve ser observado que uma cidade específica não pode fornecer mais de 20 carros, incluindo todos os modelos para uma mesma cidade recebedora. Dado que os custos unitários de transporte, independentemente do tipo de carro transportado das cidades A, B e C para as cidades D, E, F e G são diferenciados conforme o Quadro 12, o gerente de distribuição não sabe como resolver esse problema de uma maneira ótima. Quadro 12 – Informações do problema 4 – custos de transporte Cidades com excesso Cidades com Falta A B C D R$ 100,00 R$ 150,00 R$ 200,00 E R$ 300,00 R$ 200,00 R$ 100,00 F R$ 200,00 R$ 100,00 R$ 150,00 G R$ 100,00 R$ 200,00 R$ 150,00 Fonte: Fonte. Passo 1 – Elaborando o esquema do problema Nesse problema é necessário definir quantos carros serão transportados das cidades que têm excesso de carro para as cidades que têm falta de carros, conforme os modelos predefinidos. Devemos observar que, independentemente do carro transportado, existe um custo de transporte associado a cada trajeto possível. A Figura 7 representa esse problema, destacando o custo de transporte da cidade B para as demais cidades. Editora Realce Diagramador: Favor excluir. Editora Realce Figura 7 – Esquema do problema 4 – Rent a Car. Passo 2 – Definindo uma solução para o problema Uma proposta de solução para esse problema que evidencie a variável de decisão do mesmo deverá indicar quantos carros de cada tipo enviar de cada cidade para cada cidade, respeitando as restrições indicadas. O Quadro 13 indica uma solução para esse problema. Quadro 13 – Solução para o problema 4 – Rent a Car Cidades com carros em excesso Cidades em falta D E F G Cidade A Econômico 10 5 Standard 5 5 Luxo 5 5 Cidade B Econômico 10 Standard 10 10 Luxo 10 10 Cidade C Econômico 10 Standard 5 Luxo 5 Passo 3 – Definindo variáveis de decisão Observe que, para definir uma solução para o problema, com o objetivo de evidenciar a variável de decisão foi necessário definir quantos carros de cada tipo e origem que devem ser enviados para cada cidade, com o objetivo de atender as restrições impostas. Assim sendo, podemos definir a variável de decisão do problema da seguinte forma: Xijk – Quantidade de carros a levar para a cidade i, do tipo j, da cidade k Passo 4 – Identificando o que deve ser minimizado ou maximizado Sendo a Rent a Car uma empresa de aluguéis de veículos, podemos entender que seu objetivo é ter o mínimo de custos envolvidos nessa realocação. Dessa maneira, podemos deduzir que esse se trata de um problema de minimização, e o que deve ser minimizado são os custos oriundos dessa realocação. Assim sendo, podemos definir a função objetivo da seguinte maneira: MINIMIZAR CUSTO Onde o custo é: custo de transporte dos carros para a cidade i da cidade k multiplicado pela quantidade de carros a levar para a cidade i, do tipo j, da cidade k. Passo 5 – Identificando classes de restrições Excesso de carros: Essa classe de restrições diz respeito à premência de suprir todas as necessidades por carro em cada cidade e de cada tipo. Desse modo, essas restrições indicarão que a quantidade de carros que serão enviados de cada cidade com excesso para suprir a demanda de carros que se têm em cada cidade com falta. Falta de carros: Essa classe de restrições faz referência às cidades que têm falta de carro na respectiva quantidade por tipo. Então, deveria restringir o número máximo de carros a serem recebidos em uma determinada cidade de um tipo de carro. Número máximo de carros a serem transportados por cidade: O problema também indica que “uma cidade específica não pode fornecer mais de 20 carros, incluindo todos os modelos para uma mesma cidade recebedora.” Para respeitar essa condição deve haver restrições que façam com que o número de carros transportados de uma cidade para outra seja no máximo de 20 carros. 2.3.5 Entendendo o problema 5 – mochila Mochila Você possui uma mochila que pode comportar até 5kg. Uma vez que existam cinco itens, cada qual com um respectivo peso e grau de satisfação, qual composição de itens maximizaria a sua satisfação? Quadro 14 – Informações do problema 5 – mochila ITEM PESO (kg) GRAU DE SATISFAÇÃO 1 3 6 2 1 7 3 2 4 4 4 7 5 5 10 Fonte: Fonte. Passo 1 – Elaborando o esquema do problema Esse é o primeiro problema deste livro no qual é necessário tomar uma decisão binária (onde são possíveis apenas duas decisões) sobre as suas variáveis, logo devemos decidir para cada um dos itens, se iremos ou não levá-lo na mochila. A Figura 8 representa o problema, de maneiraque os números associados às setas representam o grau de satisfação de cada item. Editora Realce Figura 8 – Esquema do problema 5 – mochila. Passo 2 – Definindo uma solução para o problema Para resolver o problema precisamos simplesmente decidir o que levaremos e não levaremos na mochila. O Quadro 15 representa uma solução possível para o problema. Quadro 15 – Solução para o problema 5 – mochila ITEM Levar? 1 Não 2 Não 3 Não 4 Não 5 Sim Passo 3 – Definindo variáveis de decisão Nesse problema define-se a solução do mesmo, decidindo se iremos levar ou não cada um dos itens na mochila. Para representar a variável de decisão do problema, cada um dos itens será representado por uma variável que será igual a “1” se decidirmos que iremos levar o item e “0” se decidirmos o contrário. Esse tipo de variável, que pode assumir dois valores como 0 ou 1, é chamada de variável binária ou variável booleana. A seguir está representada a variável de decisão desse problema: Passo 4 – Identificando o que deve ser minimizado ou maximizado O problema pergunta “qual composição de itens maximizaria a sua satisfação”. Logo, o problema se trata da maximização da satisfação, que será dependente da soma da satisfação dos itens que serão levados na mochila. Como os itens que serão levados assumirão o valor de “1”, podemos multiplicar o valor desta variável pelo seu respectivo grau de satisfação para obter a satisfação adquirida por levar os itens. Dito isto, podemos representar a função objetivo da seguinte forma: MAXIMIZAR SATISFAÇÃO Onde a satisfação é: variável Yi (levar ou não o item i na mochila) multiplicado pela satisfação do item i Passo 5 – Identificando classes de restrições Capacidade da mochila: O problema indica que “Você possui uma mochila que pode comportar até 5kg”, logo a soma do peso dos itens levados na mochila deve ser no máximo 5 kg. 2.3.6 Entendendo o problema 6 – O que produz vende O que produz vende A empresa O QUE PRODUZ VENDE necessita definir a rota principal de produção do seu principal produto. Esse problema apresenta quatro possibilidades de produção (RA, RB, RC e RD), sendo que cada rota utiliza de forma diferenciada os cinco postos de trabalhos disponíveis (PO1, PO2, PO3, PO4 e PO5). O Quadro 16 apresenta os tempos operacionais (minutos por peça de cada rota), a capacidade disponível, em minutos/dia, de cada Posto de Trabalho e o custo unitário (R$ por peça) de cada roteiro de produção. O objetivo é produzir um mínimo de 300 peças ao menor custo. Quadro 16 – Informações do problema 6 – O que produz vende Roteiro PO1 PO2 PO3 PO4 PO5 Custo unitário da rota RA 1 1,2 --- 1,5 2 R$ 20,00 RB --- 1,3 1,5 3 --- R$ 15,00 RC 2,1 2,4 2,8 --- --- R$ 18,00 RD 3 2 --- --- 1,6 R$ 13,00 Capacidade 800 1000 800 800 900 --- Fonte: Fonte. As seguintes restrições deverão ser consideradas: deverão ser utilizadas duas rotas de produção; o PO1 não poderá ter uma carga de trabalho (tempo total de produção programado) superior ao PO5. Passo 1 – Elaborando o esquema do problema Nesse problema devemos escolher dois dentre quatro roteiros de produção possíveis, atendendo a uma demanda mínima de 300 peças. É possível observar na Figura 9 que os diferentes roteiros de produção utilizam de maneira diferente cada um dos postos de trabalho, gerando um custo de produção diferenciado. Figura 9 – Esquema do problema 6 – o que produz vende. Passo 2 – Definindo uma solução para o problema Nessa solução proposta foram escolhidos os roteiros A e B para a produção, produzindo 150 unidades segundo cada um dos roteiros. Essas decisões resultaram na utilização dos postos de trabalho, respeitando-se a capacidade de cada um dos postos, como demonstra o Quadro 17. Quadro 17 – Solução para o problema 6 – o que produz vende Roteiro Quantidade a produzir Custo unitário da rota RA 150 R$ 20,00 RB 150 R$ 15,00 RC 0 R$ 18,00 RD 0 R$ 13,00 Passo 3 – Definindo variáveis de decisão As duas decisões tomadas anteriormente (quais roteiros a utilizar e quantas peças produzir, segundo cada roteiro utilizado) indicam a necessidade de que existam as duas variáveis de decisão relacionadas abaixo: Xi – Quantidade de peças a produzir conforme o roteiro i Passo 4 – Identificando o que deve ser minimizado ou maximizado É indicado que “o objetivo é produzir um mínimo de 300 peças ao menor custo”. Desta maneira, a função objetivo deverá tratar de minimizar os custos resultantes da decisão sobre quanto produzir em quais roteiros e pode ser definida da seguinte maneira: MINIMIZAR CUSTO Onde o custo é: Quantidade de peças a produzir conforme o roteiro i multiplicado pelo custo unitário do roteiro i Passo 5 – Identificando classes de restrições Quantidade mínima de peças a produzir: O problema indica que devem ser produzidas no mínimo 300 peças, logo a soma das peças produzidas por todos os roteiros utilizados deverá ser no mínimo 300. Capacidade dos postos de trabalho: Para cada posto de trabalho, a soma das quantidades produzidas multiplicadas pelo tempo de produção em cada roteiro não poderá ser maior que a sua capacidade. Relação entre o PO1 e o PO5: O problema indica que “O PO1 não poderá ter uma carga de trabalho (tempo total de produção programado) superior ao PO5”. Lembre que a carga de trabalho em um posto de trabalho é o resultado da soma das quantidades produzidas segundo os roteiros multiplicados pelos tempos de processamento. Número de rotas de produção: O problema indica que devem ser utilizados dois roteiros de produção. Ligação entre as variáveis Yi e Xi: É necessário garantir que quando a variável Yi (a qual determina se o roteiro i será utilizado ou não) for igual a 0, Xi (quantidade a produzir pelo roteiro i) também seja igual a 0, e que se essa for igual a 1, Xi deve ser maior que 1. Essa é uma típica restrição de problemas binários relacionados com variáveis lineares. A modelagem matemática é muito interessante e será apresentada no próximo capítulo. 2.3.7 Entendendo o problema 7 – fábrica de lâmpadas Fábrica de lâmpadas Os gestores de uma fábrica de lâmpadas querem fazer a programação da produção de um determinado tipo de lâmpada para um período de três meses. O estoque inicial é de 500 unidades e não deve haver estoque ao final do período. A capacidade de produção em horário normal de trabalho é de 2.500 lâmpadas por mês. Caso a capacidade de produção não atenda a demanda, podemos utilizar o turno extra, que comporta a produção de 1250 lâmpadas adicionais por mês. O custo de produção unitário das lâmpadas é de R$ 3,50 em horário normal e R$ 4,25 quando produzidas com hora extra. O custo estimado de estoque é de R$ 1,00 por unidade ao mês. O Quadro 18 indica a previsão de vendas dos três meses: Quadro 18 – Informações do problema 7 – fábrica de lâmpadas MÊS PREVISÃO DE VENDAS 1 2184 2 4945 3 2356 Fonte: Fonte. Deseja-se formular um modelo de programação linear que determine quanto deve ser produzido em cada mês no turno normal e no turno extra de maneira a atender a previsão de demanda, minimizando o custo total e sem sobras de estoque ao final do período. Passo 1 – Elaborando o esquema do problema Nesse problema é necessário definir quantas lâmpadas devem ser produzidas em cada regime de trabalho (hora normal ou hora extra) em cada mês, respeitando as restrições indicadas pelo problema. A Figura 10 representa a lógica do problema em questão. Figura 10 – Esquema do problema 7 – fábrica de lâmpadas. Passo 2 – Definindo uma solução para o problema Podemos definir uma solução para o problema quando entendida a lógica de Editora Realce Diagramador: Favor excluir. produção e transferência do estoque de um mês para o outro, conforme exibida no Quadro 19. Quadro 19 – Solução para o problema 7 – fábrica de lâmpadas Mês Estoque Inicial Peças H NormalPeças H Extra Lâmpadas que sobram 1 500 2500 1250 2066 2 2066 2500 1250 871 3 871 1485 0 0 Passo 3 – Definindo variáveis de decisão Foi necessário decidir quanto produzir em cada mês e em cada regime de trabalho (horário normal e extra), conforme observado no Quadro 19. Cabe ressaltar que em função dessa decisão, uma variável de decisão necessária é a quantidade de estoque que sobra de um mês para o outro. Consequentemente, podemos definir as variáveis de decisão do problema como segue: Xij - Quantidade de peças a produzir no mês i, no turno j Yi – Quantidade de estoque que sobrou do mês i Passo 4 – Identificando o que deve ser minimizado ou maximizado O enunciado do problema solicita que seja atendida “a previsão de demanda, minimizando o custo total e sem sobras de estoque ao final do período.”, logo o sentido da otimização é a minimização dos custos. A solução representada no Quadro 19 adota a estratégia de produzir com a máxima antecipação possível, utilizando as horas extras disponíveis nos dois primeiros meses. Podemos observar que essa solução gera um alto estoque, sendo transferindo entre os meses que gerarão custos associados aos mesmos. Desse modo, devemos definir a função objetivo considerando os custos de produção (em hora normal e extra), tal como os custos associados às sobras de estoque que estão entre os meses. Em vista disso, podemos definir a função objetivo: MINIMIZAR CUSTO Onde o custo é: Quantidade a produzir em H Normal no mês i multiplicado pelo custo de prod. em H Normal + Quantidade a produzir em H Extra no mês i multiplicado pelo custo de prod. em H Extra + Quantidade que sobrou do mês i multiplicado pelo custo de estocagem por mês. Passo 5 – Identificando classes de restrições Balanço de produção, venda e estoques entre os meses: conforme podemos observar na Figura 10 , existe uma relação matemática entre as quantidades produzidas em cada turno, tais como a quantidade a ser vendida e os estoques iniciais e finais. De maneira geral, podemos dizer que o estoque do mês anterior (inicial ou i-1), mais a quantidade produzida em hora normal e/ou em hora extra, subtraídos do estoque residual do mês i será igual às vendas do mês i. Dessa forma, podemos representar esse balanço da produção, venda e estoques com três equações, utilizando as variáveis de estoque residual do mês 1 como estoque inicial do mês 2. Realizando essas relações, garantimos que a previsão de vendas seja atendida assim, já que não haverá sobra de estoque no último mês; Capacidades de produção: o problema define limites máximos para o número de lâmpadas a serem produzidas em cada um dos turnos. Logo, deve ser definido para cada mês e turno o número máximo de lâmpadas a ser produzido. 2.3.8 Entendendo o problema 8 – comitê FIFA Comitê FIFA O comitê da FIFA está estudando as duas cidades que serão sedes para as semifinais da Copa do Mundo de 2014. O comitê deverá escolher duas entre cinco cidades possíveis, respeitando as seguintes restrições: as cidades escolhidas deverão estar a uma distância superior a 500km uma da outra; a soma da população total das duas cidades escolhidas não poderá ultrapassar 10 milhões de habitantes; caso o estádio de uma das cidades escolhidas tenha capacidade menor de 50 mil lugares, a outra cidade deverá ter um estádio com capacidade superior a 60 mil lugares. Visando reduzir o valor total de investimento, defina as duas cidades que respeitem esse conjunto de restrições. Quadro 20 – Informações do problema 8 – distância entre as cidades Distância entre as cidades A B C D E A - 200 300 600 700 B 200 - 600 700 600 C 300 600 - 400 600 D 600 700 400 - 200 E 700 600 600 200 - Fonte: Fonte. Quadro 21 – Informações do problema 8 – dados complementares Dados complementares População (em milhões de habitantes) Capacidade do estádio (em milhares de lugares) Investimento necessário (em bilhões de dólares) A 4 45 10 B 6 80 20 C 2 70 15 D 3 30 12 E 7 60 18 Fonte: Fonte. Passo 1 – Elaborando o esquema do problema Editora Realce Editora Realce A Figura 11 apresenta o esquema desse problema, ilustrando as relações de distância existentes entre as cidades, bem como o investimento necessário em cada uma delas. Figura 11 – Esquema do problema 8 – comitê FIFA. Passo 2 – Definindo uma solução para o problema Devemos decidir duas cidades como sede das semifinais da Copa do Mundo, considerando todas as restrições impostas. Uma solução para o problema é apresentada no Quadro 22. Quadro 22 – Solução para o problema 5 – mochila Cidade Escolher? A Não B Não C Sim D Não E Sim Passo 3 – Definindo variáveis de decisão Para a definição da solução do problema foi necessário indicar se cada cidade seria ou não escolhida como sede das semifinais da Copa do Mundo. Por conseguinte, podemos representar a variável de decisão como é indicado a seguir: Passo 4 – Identificando o que deve ser minimizado ou maximizado O problema indica que se procura “reduzir o valor total de investimento”. Logo, o sentido de otimização do problema é a minimização do investimento necessário. Sendo assim, podemos definir o investimento necessário total deste modo: MINIMIZAR INVESTIMENTO Onde o investimento é: Variável Yi (escolher ou não cidade i como sede das semifinais) multiplicado pelo investimento necessário na cidade i Passo 5 – Identificando classes de restrições Número de cidades a serem escolhidas: dentre as cinco cidades indicadas, somente duas devem ser escolhidas como sede das semifinais; Limite de população de ambas as cidades: devemos garantir que a soma da população total das duas cidades escolhidas não ultrapasse a 10 milhões de habitantes; Distância mínima entre as cidades: como as cidades escolhidas não devem distar menos que 500km, então é importante observar que a cidade A não pode ser escolhida simultaneamente com as cidades B, C e D; Tamanho dos estádios : o problema impõe a condição que, se for escolhido um estádio com menos de 50 mil lugares, a outra cidade escolhida deve compensar possuindo um estádio com mais de 80 mil lugares. 2.3.9 Entendendo o problema 9 – SPA Só Gordinhos SPA Só Gordinhos O SPA Só Gordinhos está avaliando o seu cardápio semanal (segunda a sexta-feira), buscando atender um conjunto de restrições e com o objetivo de minimizar o número de calorias de cada almoço servido a sua seleta clientela. Os grupos de alimentos, respectivas calorias e dias da semana que os mesmos não podem ser ofertados se encontram no Quadro 23 : Quadro 23 – Informações do problema 9 – SPA Só Gordinhos Grupo Alimentar Número de calorias Dias da semana que não poderão ser ofertados. GA1 300 Segunda e sexta GA2 400 Terça e quarta GA3 800 Sexta GA4 300 - GA5 100 Quarta GA6 500 Quinta GA7 900 Sexta Fonte: Fonte. As restrições a serem atendidas são as seguintes: cada almoço deverá ter no mínimo 1000 calorias; cada almoço deverá ter no máximo 3 grupos alimentares; na quarta-feira, caso os Grupos Alimentares 1 e 2 sejam escolhidos, o GA4 obrigatoriamente deverá compor o almoço. Passo 1 – Elaborando o esquema do problema A Figura 12 representa o problema em questão, indicando em suas linhas a possibilidade de definir se um determinado grupo alimentar deve ser utilizado em um determinado dia da semana. Editora Realce Figura 12 – Esquema do problema 9 – SPA Só Gordinhos. Passo 2 – Definindo uma solução para o problema Buscando definir a variável de decisão desse problema, procuramos determinar uma solução para o mesmo, indicando para cada dia da semana se um determinado grupo alimentar deve ser inserido ou não no cardápio. O Quadro 24 indica uma solução possível, respeitando o conjunto de restrições que foram mencionadas. Quadro 24 – Solução para o problema 5 – mochila Grupo alimentar Dia da semana SegTer Qua Qui Sex GA1 X Sim Sim Sim X GA2 Não X X Não Não GA3 Sim Não Não Sim X GA4 Não Não Sim Não Não GA5 Não Não X Sim Não GA6 Não Sim Não X Não GA7 Sim Sim Sim Não X Passo 3 – Definindo variáveis de decisão Como pode ser observado na solução indicada, a decisão consiste em utilizar ou não um determinado grupo alimentar em um dia da semana, logo a variável de decisão pode ser expressa como é indicado a seguir: Passo 4 – Identificando o que deve ser minimizado ou maximizado O SPA Só Gordinhos indica o “objetivo de minimizar o número de calorias de cada almoço servido a sua seleta clientela”. Em vista disso, constatamos que a otimização deve minimizar o número de calorias, que depende da decisão de quais grupos alimentares serão inseridos em cada almoço. Segue a definição da Função Objetivo: MINIMIZAR NÚMERO DE CALORIAS Onde número de calorias é: Variável Yij (servir ou não o grupo alimentar i no dia j) multiplicado pela quantidade de calorias do grupo alimentar i Passo 5 – Identificando classes de restrições Esse problema indica de maneira direta as três classes de restrições que o problema possui, a saber: Mínimo de 1000 calorias por almoço: a soma de calorias consumidas em cada dia deverá ser maior que 1000; Máximo de 3 grupos alimentares por almoço: para cada dia, devem ser escolhidos até 3 grupos alimentares; Exceção na quarta-Feira: o problema indica que “na quarta-feira, caso os grupos alimentares 1 e 2 sejam escolhidos, o GA4 obrigatoriamente deverá compor o almoço”, logo deve ser estabelecida essa relação por meio de uma equação, utilizando-se as variáveis binárias da quarta-feira. 2.3.10 Entendendo o problema 10 – UNI & SINA UNI & SINA O casal Uni & Sina decidiram passar a sua lua de mel em Paris. Para tanto, conseguiram uma folga de dez dias para desfrutar as belezas da Cidade Luz. Entretanto, estão com duas grandes dúvidas: que passeios escolherem dentre as várias possibilidades e estilos disponíveis; qual opção de financiamento para custear as despesas dos passeios disponíveis. O Quadro 25 apresenta os passeios disponíveis, o estilo do mesmo, os dias de duração e o respectivo custo: Quadro 25 – Informações do problema 5 – passeios disponíveis Passeio Estilo Duração em dias Custo em Reais para o casal A Histórico 4 R$ 1.000,00 B Histórico 3 R$ 900,00 C Aventura 5 R$ 1.500,00 D Aventura 1 R$ 800,00 E Romance 3 R$ 2.000,00 F Romance 4 R$ 3.000,00 G Infantil 2 R$ 500,00 Fonte: Fonte. Em termos de financiamento, o casal identificou três financeiras com as seguintes características: valor mínimo e máximo financiado e a respectiva taxa de juros totais do empréstimo, caso seja escolhida, conforme indicadas no Quadro 26. Quadro 26 – Informações do problema 5 – financeiras Editora Realce Financeira Valor mínimo financiado Valor máximo financiado Taxa de juros totais I R$ 1.500,00 R$ 3.000,00 10% II R$ 500,00 R$ 4.000,00 15% III R$ 6.000,00 R$ 10.000,00 7% Fonte: Fonte. O casal estabeleceu as seguintes premissas para a tomada de decisão: gastar o mínimo possível, considerando as despesas totais (valor financiado com juros); não ficar ocioso em nenhum dos dez dias disponíveis; caso o estilo infantil de passeio seja escolhido, o estilo aventura não deverá ser escolhido e vice-versa. Passo 1 – Elaborando o esquema do problema A Figura 13 representa a situação desse casal, que precisa decidir quais passeios devem ou não escolher, bem como quais são as fontes de financiamento que os mesmos deverão utilizar. Quanto às fontes de financiamento, os números indicados nas setas indicam as taxas de juros cobradas por cada financeira. Já em relação aos passeios, os números indicam o custo de cada um dos passeios. Editora Realce Figura 13 – Esquema do problema 10 – UNI & SINA. Passo 2 – Definindo uma solução para o problema Para resolver o problema do casal devemos decidir quais os passeios que serão escolhidos e quanto dinheiro deverá ser tomado por empréstimo de cada financeira. O Quadro 27 mostra uma solução para esse problema. Quadro 27 – Solução para o problema 10 – UNI & SINA Passeio Estilo Escolhido? Custo em Reais para o casal. A Histórico Não R$ 1.000,00 B Histórico Sim R$ 900,00 C Aventura Não R$ 1.500,00 D Aventura Não R$ 800,00 E Romance Sim R$ 2.000,00 F Romance Sim R$ 3.000,00 G Infantil Não R$ 500,00 Financeira Juros Escolhida? Valor Financiado I 10% Sim R$ 3.000 II 15% Sim R$ 2.900 III 7% Não R$ - Passo 3 – Definindo variáveis de decisão Como vimos na solução apontada, três são as decisões que o casal deve tomar: que passeios escolher, que financeiras escolher e qual valor a ser financiado em cada uma das financeiras. Tendo em vista isso, podemos definir as variáveis de decisão do problema como segue: Xj - Valor a financiar com a financeira j Passo 4 – Identificando o que deve ser minimizado ou maximizado Dentre as premissas indicadas no problema, a que indica que o casal tem o objetivo d e gastar o mínimo possível, considerando as despesas totais (valor financiado com juros), nos e sinaliza que o objetivo do casal é minimizar as suas despesas totais. Assim sendo, podemos definir a função objetivo desta maneira: MINIMIZAR DESPESAS Onde as despesas são: Valor a ser financiado com a financeira j multiplicado pelo (taxa de juros cobrados pela financeira j + 100 %) Observação: Para que se obtenha o valor das despesas totais, a taxa de juros deve ser acrescida a 100% para que se obtenha a despesa total do casal em financiar um determinado valor com a financeira. Passo 5 – Identificando classes de restrições O casal não deve ficar ocioso: a segunda premissa adotada pelo casal indica que eles devem ter seus dez dias ocupados. Estilo infantil e aventura são excludentes: a terceira restrição do problema indica que os estilos infantis e de aventura não podem ser escolhidos ao mesmo tempo. Valores máximos e mínimos de financiamento: para cada uma das financeiras há um limite mínimo e máximo de valor a ser financiado. Balanço entre valores financiados e despesas do passeio: conforme pode ser observado na Figura 13 , deve haver uma restrição que iguale os valores gastos nos passeios escolhidos aos valores financiados em cada financeira. CAPÍTULO 3 MODELANDO O PROBLEMA Este capítulo apresenta o processo de modelagem dos problemas entendidos no capítulo anterior. “Modelar” é simplesmente observar a realidade, e expressá-la de uma maneira mais simples que a realidade em si. A partir de agora, faremos isto representando o problema anteriormente definido na língua portuguesa em linguagem matemática, para que, posteriormente, possamos obter uma solução para o problema com o auxílio de um computador. Efetuada a compreensão dos problemas e das partes que os compõem, vamos ver agora como traduzir as características desses problemas para as equações na forma de uma modelagem. Mais informalmente poderíamos dizer que a modelagem consiste em traduzir as características encontradas para o “matematiquês” (linguagem matemática). Conforme vimos no capítulo anterior, basicamente a modelagem da Programação Linear é composta de três partes, que devem estar sempre presentes nesta ordem: Descrição das variáveis de decisão – são extremamente importantes para o entendimento da modelagem. É através dessa descrição que definimos o que são as variáveis e em quais unidades de tempo e medida vamos trabalhar. Todas as variáveis de decisão presentes na modelagem devem estar especificadas nesta descrição, para que qualquer pessoa ou mesmo você, futuramente ao analisar a modelagem, possa compreender exatamente o que está sendo modelado. As variáveis de decisão estão relacionadas com o que se quer descobrir no problema para atingir a Função Objetivo. Função Objetivo – está relacionada com o objetivo principal do problema. Em uma mesma modelagemsomente pode existir uma Função Objetivo. A meta sempre vai estar relacionada a maximizar alguma coisa ou minimizar alguma coisa. Alguns exemplos podem ser citados, tais como: maximizar lucros, faturamento, quantidade vendida, pedidos atendidos, minimizar custos, tempos de deslocamento e distância. Outros tantos atributos poderiam ser passíveis de serem usados na Função Objetivo, até mesmo medidas mais subjetivas como satisfação e insegurança, desde que haja alguma forma de mensurar esses itens. Classes de restrições – as classes de restrições são compostas de situações que podem limitar as variáveis de decisão ou mesmo impor algumas condições a elas. São alguns exemplos de fatores que limitam as variáveis de decisão: capacidade de produção, demanda máxima, capacidade de transporte, disponibilidade de tempo nos processos produtivos e quantidade de matéria-prima disponível. Importante salientar os fatores que podem impor condições às variáveis, por exemplo, demanda mínima, quantidade mínima de pessoas necessárias para atendimento, lotes mínimos de produção, entre outros. Uma observação importante é que os significados das variáveis de decisão não importam para o software que vai solucionar o problema. Ele apenas vai cuidar da relação matemática existente entre as variáveis por meio da Função Objetivo e das restrições. Algumas pessoas na hora de fazer a modelagem acabam ficando confusas com o que colocar em variáveis de decisão, o que colocar na Função Objetivo e o que colocar nas restrições e, por vezes, acabam invertendo conceitos. É extremamente pertinente compreender bem o significado dessas três partes porque elas serão a base de toda a modelagem. E, conforme já dissemos, a modelagem errada tem grandes chances de levar a uma solução incorreta. As variáveis de decisão, já mencionadas, estão relacionadas com o que se quer descobrir e o que se quer saber para atingir a meta da Função Objetivo. Então, se estamos diante de um problema que visa maximizar lucros e temos os lucros unitários dos diversos produtos, parece bastante sensato pensar que para descobrir o lucro de todos desses produtos temos que multiplicar os lucros unitários pelas quantidades de cada um a serem vendidos. Como já temos os lucros unitários, logo o que não sabemos são as quantidades. Sendo assim, as quantidades de cada produto serão as variáveis de decisão. Mas não se esqueça de esclarecer sempre quais serão as unidades de medida (Kg, L, unidade, centena, g, ml etc.) e de tempo (segundos, minutos, horas, dias, semanas, meses, anos etc.), pois é de grande relevância que todas as variáveis e coeficientes relacionados estejam trabalhando nas mesmas unidades de medida. Você não pode ter a variável em Kg por dia, por exemplo, e os coeficientes em toneladas por semana, uma vez que será necessário transformar as unidades que estiverem diferentes para que elas fiquem trabalhando com as mesmas grandezas. A Função Objetivo, no exemplo acima, sobre as variáveis de decisão já está explicada. Se o problema for de maximizar lucros e já temos os lucros unitários, então bastará multiplicar pelas quantidades de cada item. O software vai analisar as restrições e definir qual o melhor valor para cada variável, tentando assim, conforme esse exemplo, maximizar o lucro. Por fim, as restrições. Você deve verificar toda e qualquer situação que faça alguma exigência ao sistema estudado no problema. Por exemplo, o tempo disponível de máquinas é um limitador. Não há como colocar a máquina produzindo mais que o tempo disponível. Quantidade de matéria-prima é um limitador. Não tem como produzir mais itens do que temos matéria-prima para tal. Uma quantidade mínima que deve ser produzida é uma exigência do problema que deve também ser respeitada. Todas essas questões e quaisquer outras similares devem estar contempladas na modelagem. 3.1 Sinais utilizados nas equações/inequações da modelagem No “matematiquês” que vamos usar na modelagem, vamos fazer uso de três sinais de equações ou inequações. Nada complicado, mas é importante entender muito bem essa parte. O Quadro 28 mostra os sinais e quando serão usados. Quadro 28 – Sinais utilizados nas equações/inequações Sinal Utilizar quando o problema indicar restrições do tipo... Maior > ou >= Pelo menos Mínimo Demanda (por padrão subentende-se mínima quando não especificado, pois se deseja atender à demanda prevista) < ou <= Menor Até Máximo Capacidade Demanda máxima = Igual Exatamente Precisamente É importante ressaltar que para o software que vamos usar (Lindo) o sinal de > (maior) equivale ao sinal de >= (maior ou igual) e o sinal de < (menor) equivale ao sinal de <= (menor ou igual). Ou seja, o software já interpreta o sinal > como sendo >=, não é necessário colocar o sinal de igual junto. O mesmo para o sinal de menor. 3.2 Erros mais comuns na modelagem Entre os erros mais comuns cometidos por iniciantes em Programação Linear, e que você com certeza deve evitar são: utilizar uma variável na Função Objetivo e outra nas restrições. Se você definiu as variáveis como A1, A2, A3 etc., não poderá ter nas restrições variáveis escritas de outra forma. Por diversas vezes as pessoas colocam as variáveis A1, A2, A3 na Função Objetivo, e nas restrições colocam XA1, XA2, XA3 ou vice-versa. O software não vai entender que você está falando das mesmas variáveis e, possivelmente, lhe dará como resposta que a modelagem não tem solução, pois ele não consegue relacionar a Função Objetivo com as restrições, ou poderá entregar uma solução zerada; confundir restrições e variáveis de decisão, por isso, fique atento e procure identificar o que cada parte do problema significa dentro da modelagem. A etapa de compreensão do problema é anterior à modelagem e é extremamente importante para que a modelagem fique de acordo. Se a máquina de usinagem tem um tempo disponível limitado à capacidade produtiva, ele será uma restrição, não considerando uma variável de decisão; confundir Função Objetivo e variáveis de decisão. Às vezes, por não saber bem como definir uma variável, algumas pessoas acabam utilizando termos como custos ou lucros na definição das variáveis quando essas questões de custo e de lucro geralmente fazem parte da Função Objetivo; trabalhar com unidades de medida ou de tempos diferentes. Se você tem algumas informações em horas e outras em minutos, escolha uma das unidades para trabalhar e transforme as demais para todas ficarem iguais. Segue o mesmo raciocínio se você tiver quantidades em Kg e toneladas no mesmo problema, por exemplo. Você deverá trabalhar com as mesmas unidades de tempo e de medida em toda a modelagem; troca de sinais na modelagem você deverá usar os sinais > (maior), < (menor) ou = (igual). Preste muita atenção, pois se você tiver uma restrição de capacidade, por exemplo, significa que não é possível produzir mais do que aquela restrição. Se você colocar um sinal de > (maior) você estará possibilitando que o software pegue valores maiores que a capacidade naquela restrição. Muita cautela a esses sinais, pois eles “contam” ao software as características do problema. Se você “contar” ao software as características erradas, a solução tem grandes chances de ficar errada também; ao utilizar o software, no nosso caso utilizaremos o Lindo e o Excel, devemos observar a sua linguagem para modelar corretamente. No caso do Lindo, para indicar um número multiplicando uma variável, basta colocar o número antes da variável, com espaços ou não, mas sem qualquer sinal de multiplicação. Salientamos que o número que multiplica a variável deve estar sempre antes da variável, pois caso contrário o software poderá interpretá-lo como se fosse outra variável. Nesse caso, se tivéssemos uma multiplicação 8xA, por exemplo, na modelagem escreveríamos como 8A ou 8 A. Nunca A8, porque assim o software interpretará como sendo outra variável, a variável A8
Compartilhar