Prévia do material em texto
1ºAula Programação Linaer e suas Formas de Resolução Objetivos de aprendizagem Ao término desta aula, vocês serão capazes de: • entender o que é a pesquisa operacional; • conhecer a metodologia utilizada na pesquisa operacional; • entender o que é modelagem; • entender o que é programação linear; • entender o que é e como usar o método SIMPLEX; • aprender a usar o Solver do Excel para resolver problemas de PO. Prezados(as) alunos(as), Nesta primeira aula, estudaremos um pouco da história da pesquisa operacional, e também vamos entender como a pesquisa operacional pode ser útil em nosso dia a dia, apresentando dois casos de modelagem usando pesquisa operacional. Também estudaremos as formas de resolução de problemas de Pesquisa Operacional. Bons estudos! 6Pesquisa Operacional Seções de estudo 1- Origem e defi nições da pesquisa operacional 2 - Programação Linear – equações e solução gráfi ca 3 - Modelo de PL em forma de equação – simplex 4 - Solução com computador com o excel solver 1 - Origem e defi nições da pesquisa operacional O termo pesquisa operacional (PO) é uma tradução para o português brasileiro da expressão inglesa operational research. As primeiras atividades formais de PO foram iniciadas na Inglaterra durante a segunda guerra mundial, quando um grupo de cientistas britânicos decidiu tomar decisões com base científi ca sobre a melhor utilização de material de guerra, mais especifi camente aos radares. O termo pesquisa operacional é atribuído ao superintendente da estação A.P.Rowe, que em 1938 coordenava equipes para examinar a efi ciência de técnicas de operações advindas de experimentos com intercepção de radar. Em 1941 foi inaugurada a Seção de Pesquisa Operacional do Comando da Força Aérea de Combate (ARENALES et al., 2015). Em 1952 foi fundada a sociedade científi ca americana de pesquisa operacional (ORSA – Operations Research Society of America) e em 1953 foi fundada a sociedade inglesa de pesquisa operacional (ORS – Operational Research Society) e a americana de ciências e administração (TIMS – The Institute of Manegement Sciences). Em 1995 a ORSA e TIMS foram agregadas pelo INFORMS (Institute for Operational Research and the Manegement Sciences), que se mantém até os dias atuais (ARENALES et al., 2015). No Brasil, a pesquisa operacional teve sua primeira aparição formal em 1968 no primeiro simpósio brasileiro de pesquisa operacional, realizado no ITA (Instituto Tecnológico de Aeronáutica), em São José dos Campos. No ano seguinte, em 1969, foi fundada a SOBRAPO (Sociedade Brasileira de Pesquisa Operacional), que publica o periódico científi co Pesquisa Operacional aqui no Brasil. Tratando-se de defi nição, a SOBRAPO se refere a Pesquisa Operacional como a área de conhecimento que estuda, desenvolve e aplica métodos analíticos avançados para auxiliar na tomada de melhores decisões nas mais diversas áreas de atuação humana. Já a INFORMS defi ne PO como uma disciplina profi ssional que trata de aplicação da tecnologia da informação para a tomada de decisão informada (ARENALES et al., 2015). 1.2 - Solução do Modelo de Po Em PO, não temos uma única técnica para resolver todos os modelos matemáticos que podem surgir na prática, onde a técnica mais utilizada é a programação linear. Ela é aplicada a modelos cujas funções objetivo e restrição são lineares. Outras técnicas são a programação inteira (na qual as variáveis assumem valores inteiros), a programação dinâmica (na qual o modelo original pode ser decomposto em subproblemas mais fáceis de tratar), a otimização em redes (na qual o problema pode ser modelado como uma rede) e a programação não linear (na qual as funções do modelo são não lineares). Estas são apenas algumas das muitas ferramentas de PO disponíveis (TAHA, 2008). 1.3 - Arte da modelagem De acordo com Taha (2008), os modelos hipotéticos são representações verdadeiras de situações reais. Essa é uma ocorrência rara em PO porque, de modo geral, a maioria das aplicações envolve (graus variados de) aproximações. Abstraímos o mundo real considerado da situação real, concentrando-nos nas variáveis dominantes que controlam o comportamento do sistema real. O modelo expressa de maneira tratável as funções matemáticas que representam o comportamento do mundo real considerado. Geralmente a atividade de uma equipe de PO envolve as seguintes fases: • Identifi cação do problema e coleta de dados; • Formulação de um modelo matemático (modelagem matemática); • Obtenção da solução com base no modelo; • Teste do modelo e avaliação da solução; • Implantação e acompanhamento da solução. Deve-se salientar que tais fases não são distintas, superpondo-se e interagindo entre si, na tentativa de se obter uma melhor identifi cação entre o modelo e o real. 2 Programação Linear – equações e solução gráfi ca Os problemas de Programação Linear (PL) buscam a distribuição efi ciente de recursos limitados para atender a 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”. 2.2 - Modelo de Pl de duas variáveis Embora seja raro existirem problemas de duas variáveis na prática, seu tratamento proporciona uma forma didática de apresentar os conceitos de resolução de problemas envolvendo PO. Na prática, geralmente encontramos problemas com muitas variáveis. Porém, aqui iremos apresentar dois exemplos de problemas de duas variáveis para facilitar o entendimento, um de maximização e um de minimização. 2.3 – Resolvendo um problema de maximização Para exemplifi car como resolvemos um problema de maximização, usaremos um exemplo fi ctício, adaptado de 7 Taha (2008), de uma fábrica de tintas que busca maximizar seus lucros. 2.3.1 – A fábrica de tintas Aquarela Tintas A Aquarela Tintas produz tintas para interiores e exteriores com base em duas matérias-primas, M1 e M2. A Tabela 1 apresenta os dados básicos do problema: Tabela 1: Produção de tintas da Aquarela Tintas Tonelada de matéria- prima por tonelada de: Disponi- bilidade máxima diária (ton) Tinta para exteriores Tinta para interiores Matéria-prima M1 6 4 24 Matéria-prima M2 1 2 6 Lucro por tonelada (R$ 1.000,00) 5 4 Fonte: adaptado de Taha (2008). Uma pesquisa de mercado indica que a demanda diária de tintas para interiores não pode ultrapassar a de tintas para exteriores por mais de 1 tonelada. Além disso, a demanda máxima diária de tinta para interiores é 2 t. A Aquarela Tintas quer determinar o mix ótimo (o melhor) de produtos de tintas para interiores e exteriores que maximize o lucro total diário. De acordo com Taha (2008), o modelo de PL, como qualquer modelo de PO, tem três componentes básicos. 1. Variáveis de decisão que procuramos determinar. 2. Objetivo (meta) que precisamos otimizar (maximizar ou minimizar). 3. Restrições que a solução deve satisfazer. A definição adequada das variáveis de decisão é uma primeira etapa essencial no desenvolvimento do modelo. Uma vez concluída, a tarefa de construir a função objetivo e as restrições torna-se mais direta. Para o problema da Aquarela Tintas, precisamos determinar as quantidades diárias a produzir de tintas para exteriores e interiores. Assim, as variáveis do modelo são definidas como: x1.= toneladas de tinta para exteriores produzidas diariamente x2: toneladas de tinta para interiores produzidas diariamente Para construir a função objetivo, observe que a empresa quer maximizar (isto é, aumentar o máximo possível) o lucro total diário para as duas tintas. Dado que os lucros por tonelada de tintas para exteriores e interiores são de 5 e 4 (mil) dólares, respectivamente, decorre que Lucro total da tinta para exteriores = 5x1 (mil) dólares Lucro total da tinta para interiores = 4x2 (mil) dólares Representando o lucro total diário (em milhares de dólares) por z, o objetivo da empresa é Maximizarz = 5x1 + 4x2 Em seguida, construímos as restrições que limitam a utilização da matéria-prima e a demanda do produto. As restrições sobre a matéria-prima são expressas em palavras como Utilização de uma matéria-prima para ambas as tintas ≤ Máxima disponibilidade de matéria-prima A utilização por dia da matéria-prima M1 é de 6 t por tonelada de tinta para exteriores, e de 4 t por tonelada de tinta para interiores. Assim, Utilização da matéria-prima M1 para tinta para exteriores = 6x1 t/dia Utilização da matéria-prima M1 para tinta para interiores = 4x2 t/dia Então temos que Utilização da matéria-prima M1 para ambas as tintas = 6x1 + 4x2 t/dia De maneira semelhante, Utilização da matéria-prima M2 para ambas as tintas = 1x1 + 2x2 t/dia Como as disponibilidades diárias das matérias-primas M1 e M2 estão limitadas a 24 e 6 ton, respectivamente, as restrições relacionadas são dadas como 6x1 + 4x2 ≤ 24 (matéria-prima M1) x1 + 2x2 ≤ 6 (matéria-prima M2) A primeira restrição relacionada à demanda estipula que o excesso da produção diária de tinta para interiores em relação à de tinta para exteriores, x2 – x1, não deve ultrapassar 1 ton, o que poderia ser traduzido para: x2 - x1 ≤ 1 (limite de mercado) A segunda restrição relacionada à demanda estipula que a demanda diária máxima de tinta para interiores está limitada a 2 ton, o que é traduzido para x2 ≤ 2 (limite de demanda) Ainda de acordo com Taha (2008), uma restrição implícita é que as variáveis x1 e x2 não podem assumir valores negativos. As restrições de não-negatividade, x1 ≥ 0, x2 ≥ 0, são as responsáveis por esse requisito. O modelo completo da Aquarela Tintas é: Maximizar z = 5x1 + 4x2 sujeito a: 1) 6x1 + 4x2 ≤ 24 2) x1 + 2x2 ≤ 6 3) -x1 + x2 ≤ 1 4) x2 ≤ 2 5) x1 ≥ 0 6) x2 ≥ 0 Quaisquer valores de x1 e x2 que satisfaçam todas as cinco restrições constituem uma solução viável. Caso contrário, a solução é inviável. Por exemplo, a solução x1 = 3 t/d e x2 = 1 t/d é viável-porque não viola nenhuma das restrições, entre elas as de não-negatividade. Para verificar esse resultado, substitua (x1 = 3, x2 = 1) no lado esquerdo de cada restrição. Na restrição (1) temos 6x1 + 4x2 = 6 x 3 + 4 x 1 = 22, que é menor do que o lado direito da restrição (= 24). As restrições 2 a 6 resultarão em conclusões semelhantes (Verifique!). Por outro lado, a solução x1 = 4 8Pesquisa Operacional e x2 = 1 é inviável porque não satisfaz a restrição (1) — ou seja, 6 x 4 + 4 x 1 = 28, que é maior do que o lado direito (= 24). 2.4 - Solução Gráfi ca em PL Para exemplifi car como resolvemos um problema de PL com solução gráfi ca, usaremos o exemplo da fábrica de tintas Aquarela Tintas. De acordo com Taha (2008), o procedimento para resolução com gráfi co inclui duas etapas: 1. Determinação da região de soluções viáveis. 2. Determinação da solução ótima entre todo da região de soluções dos pontos viáveis. O procedimento utiliza dois exemplos para mostrar como a maximização e a minimização das funções objetivo são tratadas. Vamos então resolver o modelo da Aquarela Tintas do Exemplo: 2.4.1 - Etapa 1: determinação da região de soluções viáveis Seguindo Taha (2008), em primeiro lugar, levamos em conta as restrições de não-negatividade x1 ≥ 0 e x2 ≥ 0. Na Figura 1, o eixo horizontal x1 e o eixo vertical x2 representam as variáveis tinta para exteriores e tinta para interiores, respectivamente. Assim, a não negatividade das variáveis restringe a área da região de soluções ao primeiro quadrante que se encontra acima do eixo x1 e à direita do eixo x2. Figura 1: Representação gráfi ca do problema da fábrica de tintas. Fonte: Taha (2008). Para levar em conta as quatro restrições restantes, em primeiro lugar substitua cada desigualdade por uma equação e depois represente em gráfi co a linha reta resultante localizando dois pontos distintos nela. Por exemplo, após substituir 6x1 + 4x2 ≤ 24 pela linha reta 6x1 + 4x2 = 24, podemos determinar dois pontos distintos, primeiro ao fazer x1 = O para obter x2 = 24/4 = 6, e, após, ao fazer x2 = O para obter x1 = 24/6 = 4. Assim, a reta passa pelos dois pontos, (0, 6) e (4, 0), como mostra a reta (1) na Figura 1. Ainda de acordo com Taha (2008), na sequência, considere o efeito da desigualdade. Tudo que ela faz é dividir o plano (x1, x2) em dois meios-espaços, um de cada lado da reta representada no gráfi co. Só uma dessas duas metades satisfaz a desigualdade. Para determinar o lado correto, tome (0, 0) como um ponto de referência. Se ele satisfi zer a desigualdade, o lado no qual ele se encontra é a meia-região viável; caso contrário, o viável é o outro lado. A utilização do ponto de referência (0,0) é ilustrada com a restrição 6x1 + 4x2 ≤ 24. Como 6 x 0 + 4 x 0 = 0 é menor do que 24, a meia-região que representa a desigualdade inclui a origem (como é mostrado pela seta na Figura 1). Em termos de cálculo, é conveniente selecionar (0, 0) como o ponto de referência, a menos que, por acaso, a reta passe pela origem, quando então qualquer outro ponto pode ser usado. Por exemplo, se usarmos o ponto de referência (6, 0), o lado esquerdo da primeira restrição é 6 x 6 + 4 x 0 = 36, que é maior do que seu lado direito (= 24), o que signifi ca que o lado no qual (6,0) se encontra não é viável para a desigualdade 6x1 + 4x2 5 24. A conclusão é consistente com a baseada no ponto de referência (0,0). A aplicação do procedimento do ponto de referência a todas as restrições do modelo produz as restrições mostradas na Figura 1. A região de soluções viáveis do problema representa a área do primeiro quadrante na qual todas as restrições são satisfeitas simultaneamente. Na Figura 1, qualquer ponto que esteja dentro ou sobre o contorno da área ABCDEF é parte da região de soluções viáveis. Todos os pontos fora dessa área são inviáveis (TAHA, 2008). 2.4.2 - Etapa 2: determinação da solução ótimo Seguindo o raciocínio exposto por Taha (2008), vemos que a região viável da Figura 1 é delimitada pelos segmentos de reta que unem os pontos A, B, C, D, E e F. Qualquer ponto dentro ou sobre o contorno do espaço ABCDEF é viável. Como a região viável ABCDEF consiste em um número infi nito de pontos, precisamos de um procedimento sistemático para identifi car a solução ótima. A determinação da solução ótima requer identifi car a direção na qual a função lucro z = 5x1 + 4x2 aumenta (lembre-se de que estamos maximizando z). Podemos fazer isso designando valores crescentes arbitrários a z. Por exemplo, usar z = 10 e z = 15 equivaleria a representar em gráfi co as duas retas, 5x1 + 4x2 = 10 e 5x1 + 4x2 = 15. Assim, a direção do aumento de z é a mostrada na Figura 2. A solução ótima ocorre em C, que é o ponto na região de soluções além do qual qualquer aumento adicional levará z para fora dos contornos de ABCDEF. Os valores de x1 e x2 relacionados com o ponto ótimo C são determinados pela resolução das equações relacionadas com as retas (1) e (2), isto é, 6x1 + 4x2 = 24 x1 + 2x2 = 6 A solução é x1 = 3 e x 2 = 1,5,com z = 5 x 3 + 4 x 1,5 = 21. Isso representa um mix de produto diário de 3 t de tinta para exteriores e 1,5 t de tinta para interiores. O lucro diário associado é $ 21.000. Figura 2: solução ótima do exemplo da fábrica de tintas 9 Fonte: Taha (2008). De acordo com Taha (2008), uma característica importante da solução ótima de PL e que ela sempre está relacionada com um ponto extremo da região de soluções (em que duas retas se cruzam). Isso é válido até se, por acaso, a função objetivo for paralela a uma restrição. Por exemplo, se a função objetivo for z = 6x1 + 4x2, que é paralela à restrição 1, sempre podemos dizer que a solução ótima ocorre no ponto extremo B ou no ponto extremo C. Na verdade, qualquer ponto sobre o segmento de reta BC será uma alternativa, mas a observação importante aqui é que o segmento de reta BC é totalmente definido pelos pontos extremos B e C. A observaçãode que a solução ótima em PL está sempre associada a um ponto extremo significa que a solução ótima pode ser encontrada pela simples enumeração de todos os pontos extremos, como mostra a Tabela 2. Tabela 2: Pontos e solução ótima do problema da fábrica de tintas. Ponto extremo (x1; x2) z A (0;0) 0 B (4;0) 20 C (3;1,5) 21 Ótimo D (2;2) 18 E (1;2) 13 F (0;1) 4 Fonte: adaptado de Taha (2008). À medida que o número de restrições e variáveis aumenta, o número de pontos extremos também aumenta, e o procedimento de enumeração proposto torna-se menos viável em termos de cálculo. Não obstante, a ideia mostra que, do ponto de vista da determinação da solução ótima em PL, o espaço de solução ABCDEF com seu número infinito de soluções pode, de fato, ser substituído por um número finito de soluções – ou seja, os pontos extremos A, B, C, D, E e F (TAHA, 2008). 2.5 - Solução de um modelo de minimização Para exemplificar o problema de minimização, usaremos um exemplo adaptado de Taha (2008), de modelo de dieta, aqui apresentado como diminuir os custos de ração de uma fazenda, mas atendendo às restrições nutricionais da dieta da ração. A Fazenda São João usa, no mínimo, 800 lb de ração especial por dia. Essa ração especial é uma mistura de milho e soja com as composições elencadas na Tabela 3. Tabela 3: Composição da ração na Fazenda São João lb por lb de ração Ração Proteína Fibra Custo (R$/ lb) Milho 0,09 0,02 0,3 Soja 0,6 0,06 0,9 Fonte: adaptado de Taha (2008). Os requisitos nutricionais da ração especial são de no mínimo 30% de proteína e de no máximo 5% de fibra. A Fazenda São João quer determinar a mistura que gera a ração de mínimo custo diário. Como a ração consiste em milho e preparado de soja, as variáveis de decisão do modelo são definidas como: x1 = lb de milho na mistura diária x2 = lb de preparado de soja na mistura diária A função objetivo procura minimizar o custo total diário da ração e, por isso, é expressa como: Minimizar z = 0,3x1 + 0,9x2 As restrições do modelo refletem a quantidade diária necessária e os requisitos nutricionais. Como a Fazenda São João precisa de no mínimo 800 lb de ração por dia, a restrição associada pode ser expressa como x1 + x2 ≥ 800 Quanto à restrição ao requisito nutricional de proteína, a quantidade de proteína presente em x1 lb de milho e x2 lb de preparado de soja é (0,09x1 + 0,6x2) lb. Essa quantidade deve ser igual a no mínimo 30% do total da mistura das rações (x1 + x2) lb, isto é: 0,09x1 + 0,6x2 ≥ 0,3(x1 + x2) De modo semelhante, o requisito de no máximo 5% de libras é expresso por 0,02x1 + 0,06x2 ≥ 0,05(x1 + x2) Podemos simplificar as restrições passando os termos em x1 e x2 para o lado esquerdo de cada desigualdade, deixando somente uma constante no lado direito. Assim, o modelo completo se torna: Minimizar z = 0,3x1 + 0,9x2 Sujeito a x1 + x2 ≥ 800 0,21x1 - 0,30x2 ≤ 0 0,03x1 - 0,01x2 ≥ 0 X1, x2 ≥ 0 10Pesquisa Operacional Figura 3: Solução gráfi ca para o modelo da dieta. Fonte: Taha (2008). A Figura 3 apresenta a solução gráfi ca do modelo. Diferente das restrições do modelo da Aquarela Tintas, a segunda e a terceira restrições passam pela origem. Para representar em gráfi co as retas associadas, precisamos de um ponto adicional, que pode ser obtido com a designação de um valor a uma das variáveis e depois com a resolução para a outra variável. Por exemplo, na segunda restrição, x1 = 200 fará 0,21 x 200 - 0,3x2 = 0, ou x2 = 140. Isso signifi ca que a linha reta 0,21x1 - 0,3x2 = 0 passa por (0, 0) e (200, 140). Observe também que (0,0) não pode ser usado como um ponto de referência para as restrições 2 e 3 porque ambas as retas passam pela origem. Em vez disso, pode-se usar um outro ponto (por exemplo, (100,0) ou (0, 100)) para essa fi nalidade. Solução: Como o presente modelo busca a minimização da função objetivo, precisamos reduzir o valor de Z o máximo possível na direção mostrada na Figura 3. A solução ótima e o extremo das duas retas x1 + x2 = 800 e 0,21x1 - 0,3x2 = 0, o que dá como resultado x1 = 470,59 lb e x2 = 329,41 lb. O custo da ração e z = 0,3 x 470,59 + 0,9 x 329,42 = $ 437,65 por dia. 3 Modelo de PL em forma de equação – simplex Nem sempre os problemas de PL são de fácil solução através de gráfi cos, e o dia a dia do engenheiro não permite fi car à mercê desse fato. Para resolver essa limitação, foi padronizado uma metodologia matemática para resolução dos problemas de programação linear, chamado de método simplex. De acordo com Taha (2008), o desenvolvimento dos cálculos do método simplex é facilitado pela imposição de novos requisitos às restrições do problema: 1. Todas as restrições (com exceção da não negatividade das variáveis) são equações cujos lados direitos são não negativos. 2. Todas as variáveis são não negativas. Aqui, a fi nalidade primordial desses dois requisitos e padronizar e tornar mais efi cientes os cálculos do método simplex. É importante saber que todos os pacotes comerciais aceitam diretamente restrições de desigualdade. Lados direitos não negativos e variáveis irrestritas. Qualquer precondicionamento necessário do modelo é realizado internamente no software antes de o método simplex resolver o problema. 3.2 - Conversão de desigualdades em equações com o lado direito não negativo De acordo com Taha (2008), em restrições (≤), o lado direito pode ser considerado como a representação do limite imposto a disponibilidade de um recurso, caso em que o lado esquerdo representaria a utilização desse recurso limitado pelas atividades (variáveis) do modelo. Assim, a diferença entre o lado direito e o lado esquerdo da restrição (≤) resultaria na quantidade do recurso não utilizada ou folga. Para converter uma desigualdade (é) em uma equação, uma variável de folga não negativa é adicionada ao lado esquerdo da restrição. Por exemplo, no modelo da Fazenda São João, a restrição associada com a utilização da matéria- prima M1 é dada como 6x1 + 4x2 ≤ 24 Defi na-se S1 como a folga ou a quantidade não utilizada de M1, a restrição pode ser convertida na seguinte equação: 6x1 + 4x2 + 51 = 24, S1≥ 0 De forma semelhante, uma restrição (≥) estabelece um limite inferior para as atividades do modelo de PL, de modo que a quantidade pela qual o lado esquerdo excede o limite mínimo representa uma sobra (TAHA, 2008). Consegue-se a conversão de (≥) em (=) com a subtração de uma variável de sobra não negativa do lado esquerdo da desigualdade. Por exemplo, no modelo da dieta, a restrição que representa os requisitos mínimos da ração é: x1+ x2 ≥ 800 Defi na-se S1 como a variável de sobra, a restrição pode ser convertida na seguinte equação: x1 + x2 – S1= 800, S1 ≥ 0 O único requisito restante é que o lado direito da equação resultante seja não negativo. A condição sempre pode ser satisfeita multiplicando-se ambos os lados da equação resultante por -1, onde necessário. Por exemplo, a restrição: -x1 + x2 ≤ -3 é equivalente a equação: -x1 + x2 +S1 =-3, S1 ≥ O Agora, multiplicando ambos os lados por -1, teremos um lado direito não negativo, como desejado, isto é: x1 - x2 -s1 = 3 3.3 - Detalhes de cálculo do algoritmo simplex Esta seção apresenta os detalhes de cálculo de uma iteração do método simplex, incluindo as regras para determinar as variáveis que entram na base e que saem da base, bem como as regras para interromper os cálculos quando a solução ótima tiver sido alcançada. A explicação se dará por meio de um exemplo numérico. Usamos o modelo da Fazenda São João para explicar os detalhes do método simplex. O problema é expresso na forma de equações como: Maximizar z = 5x1 + 4x2 + 0s1 + 0s2 + 0s3 + 0s4 11 sujeito a: 6x1 + 4x2 + s1 = 24 (matéria-prima M1) x1 + 2x2 + s2 = 6 (matéria-prima M2) -x1 + x2 + s3 = 1 (limite de mercado) x2 + s4 = 2 (limite da demanda) x1,x2,s1,s2,s3,s4 ≥ 0 As variáveis s1, s2, s3 e s4 são as folgas associadas às respectivas restrições. Em seguida, escrevemos afunção objetivo como: z - 5x1 - 4x2 = 0 Dessa maneira, a tabela simplex inicial pode ser representada da seguinte maneira: Base z x1 x2 s1 s2 s3 s4 Solução z 1 -5 -4 0 0 0 0 0 linha z s1 0 6 4 1 0 0 0 24 linha s1 s2 0 1 2 0 1 0 0 6 linha s2 s3 0 -1 1 0 0 1 0 1 linha s3 s4 0 0 1 0 0 0 1 2 linha s4 Fonte: Taha (2008). O arranjo da tabela especifica o conjunto de variáveis básicas e não básicas, bem como apresenta a solução associada com a iteração inicial. As iterações simplex começam na origem, (x1, x2) = (0,0), cujos conjuntos associados de variáveis não básicas e básicas são definidos como: Variáveis (zero) não básicas = (x1, x2) Variáveis básicas = (s1,s2,s3,s4) Substituindo as variáveis não básicas (x1, x2) = (0,0), a seguinte solução está imediatamente disponível (sem nenhum cálculo): z = 0 s1=24 s2 = 6 s3 = 1 s4 =2 Essa informação é mostrada na tabela pela listagem das variáveis básicas na coluna da extrema esquerda, “Base”, e seus valores aparecem na coluna da extrema direita, “Solução”. Na verdade, a tabela define o ponto extremo atual especificando suas variáveis básicas e seus valores bem como o valor correspondente da função objetivo, z. Lembre-se de que as variáveis não básicas (as que não aparecem na lista da coluna Base) sempre são iguais a zero. A solução inicial é ótima? Não, pois a função objetivo z = 5x1 + 4x2 mostra que um aumento em x1 ou x2 (ou em ambas) acima de seus valores zero atuais melhorará o valor de z. O projeto do método simplex exige o aumento de uma variável por vez, sendo que a variável selecionada será aquela que tiver a maior taxa de melhoria em z. O valor de z aumentará em 5 para cada unidade de aumento de x1 e em 4 para cada unidade de aumento em x2. Isso significa que a taxa de melhoria no valor de z é 5 para x1 e 4 para x2. Assim, optamos por aumentar x1, a variável que tem a maior taxa de melhoria. Essa regra é denominada condição de otimalidade. A mecânica da determinação da variável que sai com base na tabela simplex exige o cálculo das razões não negativas entre o lado direito das equações (coluna Solução) e o coeficiente de restrição correspondente da variável que entra, x1, como mostra a tabela: Entrando Base x1 Solução Razão s1 6 24 x1 = 26/6 = mínimo s2 1 6 x1 = 6/1 = 6 s3 -1 1 x1 = 1/-1 = -1 (ignorar) s4 0 2 x1 = 2/0 = ∞ (ignorar) Conclusão: x1 entra e s1 sai A razão mínima não negativa identifica automaticamente a variável s1 como a variável que sai da base e designa a variável que entra na base (x1) o valor de 4. Segundo Taha (2008), o processo de troca é baseado nas operações de Gauss-Jordan, que identifica a coluna da variável que entra na base como a coluna do pivô, e a linha da variável que sai como a linha do pivô. A interseção da coluna do pivô com a linha do pivô é denominada elemento pivô. A tabela seguinte é uma reafirmação da tabela do começo com sua coluna e linhas dos pivôs em destaque. Entra Base z x1 x2 s1 s2 s3 s4 Solução Z 1 -5 -4 0 0 0 0 0 Sai s1 0 6 4 1 0 0 0 24 Linha pivô s2 0 1 2 0 1 0 0 6 s3 0 -1 1 0 0 1 0 1 s4 0 0 1 0 0 0 1 2 Coluna Pivô Os cálculos por Gauss-Jordan necessários para produzir a nova solução básica são de dois tipos. 1. Linha do pivô b. Substituir & variável que sai da base na coluna Base pela variável que entra na base. c. Nova linha do pivô = Linha do pivô atual + Elemento pivô 2. Todas as outras linhas, incluindo z Nova linha = (Linha atual) - (Seu coeficiente de coluna do pivô) x(Nova linha do pivô) Base z x1 x2 s1 s2 s3 s4 Solução Z 1 0 -2/3 5/6 0 0 0 20 x1 0 1 2/3 1/6 0 0 0 4 s2 0 0 4/3 -1/6 1 0 0 2 s3 0 0 5/3 1/6 0 1 0 5 12Pesquisa Operacional s4 0 0 1 0 0 0 1 2 Observe que a nova tabela tem as mesmas propriedades da tabela inicial. Quando igualamos as novas variáveis não básicas x2 e s1 a zero, a coluna Solução dá automaticamente a nova solução básica (x1 = 4, s2 = 2, s3 = 5, s4 = 2). Esse “condicionamento” da tabela é o resultado da aplicação das operações de linha por Gauss-Jordan. O novo valor da função objetivo correspondente e z = 20, que é consistente com Novo z =Velho z + Novo valor x1 x Seu coefi ciente na função objetivo = 0 + 4 x 5 = 20 Na última tabela, a condição de otimalidade mostra que x2 é a variável que deve entrar na base. A condição de viabilidade produz o seguinte Entrando Base x2 Solução Razão x1 2/3 4 x2 = 2/(2/3) = 6 s2 4/3 2 x2 = 2/(4/3) = 1,5 (mínimo) s3 5/3 5 x2 = 5/(5/3) = 3 s4 1 2 x2 = 2/1 = 2 Assim, s2 sai da solução básica e o novo valor de x2 é 1,5, o que da z = 20 + 1 = 21. Substituindo s2 na coluna Base por x2 que entra, as seguintes operações de fi la por Gauss-Jordan são aplicadas: Base z x1 x2 s1 s2 s3 s4 Solução Z 1 0 0 3/4 1/2 0 0 21 x1 0 1 0 1/4 -1/2 0 0 3 x2 0 0 1 -1/8 3/4 0 0 3/2 s3 0 0 0 3/8 -5/4 1 0 5/2 s4 0 0 0 1/8 -3/4 0 1 1/2 Com base na condição de otimalidade, nenhum dos coefi cientes da linha z associados com as variáveis não básicas, s1 e sz, é negativo. Assim, essa tabela simplex é ótima. A solução ótima pode ser lida na tabela simplex da seguinte maneira: os valores ótimos das variáveis na coluna Base são dados na coluna Solução do lado direito da tabela, e podem ser interpretados como demonstrado na tabela a seguir Variável de decisão Valor ótimo Recomendação x1 3 Produzir 3 ton diárias de tintas para exterio- res x2 3/2 Produzir 1,5 ton diária de tintas para interio- res z 21 Lucro diário é de $ 21.000,00 4 - Solução com computador com o excel solver Na prática, quando vamos resolver um problema de programação linear, geralmente encontramos muitas variáveis e restrições, inviabilizando a resolução pelo método gráfi co. Nesses casos, o modo viável para resolução é a utilização de computador. Existem vários softwares que auxiliam a resolução de problemas de programação linear, dentre eles podemos citar: Excel Solver; a linguagem AMPL; o What’sBest!; e o Lingo. A seguir, usaremos o exemplo da fábrica de tintas para demonstrar a forma de solução usando o Solver. A planilha do excel deve contar os dados de entrada, como função objetivo e as restrições. Veja na Figura 4, abaixo, um exemplo de como montar essa planilha de entrada de dados. Figura 4: exemplo de como montar essa planilha de entrada de dados Fonte: adaptado de Taha (2008) Essa planilha é apenas um modelo, demonstrando como inserir os dados. A Tabela 4 mostra as funções da programação linear e seu posicionamento adequado nas células. Tabela 4: funções a serem inseridas no modelo apresentado na Figura 4 Expressão algébrica Fórmula na planilha Inserida na célula Objetivo (z) 5x1 + 4x2 =C5*$C$16+$D$16*D5 E5 Restrição 1 6x1 + 4x2 =C9*$C$16+$D$16*D9 E9 Restrição 2 x1 + 2x2 =C10*$C$16+$D$16*D10 E10 Restrição 3 -x1 + x2 =C11*$C$16+$D$16*D11 E11 Restrição 4 0x1 + x2 =C12*$C$16+$D$16*D12 E12 Fonte: adaptado de Taha (2008). Agora, com a planilha montada, vamos utilizar o solver do excel para achar a solução ótima. Para adicionar o solver em seu excel, primeiramente clique em “Arquivo”, e em seguida “Opções”, conforme a Figura 5. Na sequência vá em “Suplementos” e adicione o “Solver”, conforme a Figura 6. 13 Figura 5: Opções do Excel Fonte: o autor Figura 6: Suplementos do Excel Fonte: o autor. Após o solver devidamente adicionado em seu Excel, clique na aba “dados” e em seguida abra a opção “solver”, conforme a Figura 7. Figura 7: Solver no Excel Fonte: o autor. 14Pesquisa Operacional Conforme mostra a Figura 8, aberta a janela “Parâmetros do Solver”, primeiramente clique a opção “Defi nir objetivo” e selecione a célula E5, que é a função objetivo a ser maximizada. Em seguida, clique na opção “Max”, de maximização, e por último, clique na opção “Alterando Células Variáveis” e selecione as células C16 e D16, instruindo assim o Solver a alterar os valores dessas células para achar o ponto ótimo de z. No método de solução opte p ela opção “LP Simplex”. Figura 8: janela de parâmetros do solver Fonte:o autor. Após isso, temos que inserir as restrições na janela do solver. Fazemos isso clicando no botão adicionar. Ao abrir o popup do botão adicionar, faremos conforme a Figura 6, selecionando as células C16 e D16, selecionando o sinal “≥” e no campo “restrição” digitaremos o valor “0” (zero). Dessa forma informaremos que os valores que o solver deve nos passar tem que ser “não negativos”. Na sequência devemos clicar novamente no botão “adicionar”, para inserir as restrições do problema. No campo “referência de célula” devemos selecionar de uma só vez as células E9, E10, E11 e E12 (clicando e arrastando). O sinal é o mesmo da planilha (≤), e no campo restrição devemos selecionar os valores da coluna limite (G9, G10, G11 e G12). Figura 9: programando restrições do solver Fonte: o autor. Inseridas as restrições, basta clicar em “ok” e em seguida no botão “resolver”. O Excel irá automaticamente preencher os valores das células C16 e D16 com a solução ótima que maximize o valor da célula E5. Ao chegar ao fi nal da primeira aula, vamos recordar o que aprendemos: Retomando a aula 1- Origem e defi nições da pesquisa operacional Nesta seção, iniciamos vendo a origem e defi nições de pesquisa operacional (PO). Vimos que teve suas inspirações na Segunda Guerra Mundial e depois foi se desvinculando aos poucos da origem militar. Na sequência, falamos um pouco sobre modelagem e vimos exemplos de problemas reais de aplicação de PO. 2- Programação Linear – equações e solução gráfi ca Na segunda seção da aula, falamos da Programação Linear (PL), que é a espinha dorsal da maioria dos problemas de PO. Vimos exemplos de maximização e minimização, além de uma técnica de resolução muito útil, principalmente, no mercado de trabalho, que é a resolução gráfi ca. 3 - Modelo de Pl em forma de equação – simplex Na terceira parte da aula, vimos uma forma mais elaborada de resolução de problemas de PL, que é o algoritmo SIMPLEX, que é muito utilizado academicamente e também em criação de softwares, por ser mais conceitual. 4 - Solução com computador com o excel solver Finalmente, na quarta parte da aula, vimos a solução computacional através do Excel, que é mais comum de ser utilizada no dia a dia de um engenheiro em seu local de trabalho. ARENALES, M.; ARMENTANO, V. A.; MORABITO, R.; YANASSE, H. H. Pesquisa operacional. Rio de Janeiro: Campus/Elsevier, 2015. HILLIER, F.S. e Lieberman G.J., Introdução à Pesquisa Operacional, 8ª. edição. São Paulo: McGraw-Hill, 2006. LACHTERMACHER, G. Pesquisa operacional na tomada de decisões, 5ª. edição. São Paulo: Prentice Hall, 2016. TAHA, H. A.. Pesquisa Operacional. 8ª edição. São Paulo: Pearson, 2008. Vale a pena ler Vale a pena 15 Disponível em: https://www.informs.org/. Acesso em: 09 dez. 2019. Disponível em: https://www.sobrapo.org.br/. Acesso em: 09 dez. 2019. Vale a pena acessar Minhas anotações