Prof. Me.Francisco Pessoa de Paiva Júnior Introdução à Pesquisa Operacional SANTA INÊS 2015 1 Sumário 1 Introdução à Pesquisa Operacional 3 2 Introdução à Programação Linear 2.1 Características de um modelo de Programação Linear . . . . . . 2.2 Diretrizes para a formulação de modelos de Programação Linear 2.3 Método Gráfico . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1 Problema de Maximização . . . . . . . . . . . . . . . . . 2.3.2 Problema de Minimização . . . . . . . . . . . . . . . . . 2.3.3 Formulação Padrão de Modelo de Programação Linear . 2.4 Casos Especiais . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.4.1 Restrições incompatíveis . . . . . . . . . . . . . . . . . . 2.4.2 Solução sem fronteiras . . . . . . . . . . . . . . . . . . . 2.4.3 Redundância . . . . . . . . . . . . . . . . . . . . . . . . 2.4.4 Soluções alternativas . . . . . . . . . . . . . . . . . . . . 2.5 Análise da sensibilidade . . . . . . . . . . . . . . . . . . . . . . 2.6 Terminologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.7 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 7 8 8 10 12 15 15 16 17 18 19 21 22 3 Método Simplex 3.1 Variáveis de folga e soluções básicas . . 3.2 Como opera o Simplex . . . . . . . . . 3.2.1 Rotina de cálculos do Simplex . 3.3 Simplex: Maximização . . . . . . . . . 3.3.1 Construindo o tableau inicial . 3.3.2 Construindo o segundo tableau 3.4 Restrições com lado direito negativo . . 3.5 Simplex: Minimização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 33 34 34 34 37 44 44 . . . . . . . . 4 Title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 5 Respostas dos Exercícios Propostos 46 5.1 Exercícios Propostos 2.7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2 Capítulo 1 Introdução à Pesquisa Operacional O estudo da Pesquisa Operacional iniciou-se ha cerca de 70 anos, seu inicio é atribuído a algumas iniciativas militares da Segunda Guerra Mundial, já que neste período havia uma necessidade urgente de alocar recursos escassos à varias operações militares e às atividades dentro de cada operação de uma maneira efetiva. Várias seções de Pesquisa Operacional foram estabelecidas nas forças armadas britânicas. Logo após, esforços similares foram empreendidos nos Estados Unidos. Nesse período, um grande número de cientistas foi reunido para aplicar uma abordagem científica a problemas estratégicos e táticos. Após o término do conflito, foi natural estender o sucesso da Pesquisa Operacional no esforço da guerra para as organizações civis, sobretudo às indústrias pós guerra. A partir de então, e com a crescente popularização do computador a Pesquisa Operacional vem crescendo cada vez mais. A Pesquisa Operacional lida com problemas de como conduzir e coordenar operações em uma organização, e tem sido aplicada a diversas áreas, tais como indústria, transportes, telecomunicações, finanças, saúde, serviços públicos, operações militares, etc. A Pesquisa Operacional baseia-se, principalmente, no método científico para tratar de seus problemas. A observação inicial e a formulação do problema estão entre os mais importantes passos da solução de um problema da Pesquisa Operacional. Por tudo isso, a Pesquisa Operacional hoje se tornou uma ferramenta de gerência e tomada de decisões, com ela o administrador melhora o seu pensamento lógico, a capacidade de coordenação e estruturação de problemas, além de ter um embasamento científico para as suas decisões. Para entendermos melhor o que é Pesquisa Operacional tomemos o seguinte exemplo: Imagine que você tenha um compromisso de trabalho em outra cidade, que chamaremos de B, por um período de 5 dias. Você pega um avião em sua cidade natal, chamaremos de A, na segundafeira e volta na quarta-feira. Uma passagem aérea normal de ida e volta custa R$ 400,00, mas há um desconto de 20% se as datas do bilhete abrangerem um final de semana. Uma passagem só de ida em qualquer direção custa 75% do preço normal. Como seria mais conveniente você comprar as passagens para o período de cinco semanas? Podemos considerar essa situação como um problema de tomada de decisão, cuja solução requer a resposta a três perguntas: 1. Quais são as alternativas para a decisão? 2. Sob quais restrições a decisão é tomada? 3 CAPÍTULO 1. INTRODUÇÃO À PESQUISA OPERACIONAL 4 3. Qual seria um critério objetivo para avaliar as alternativas? Vamos considerar então três alternativas 1. Comprar 5 passagens normais A-B-A partindo às segundas-feiras e retornando às quartasfeiras da mesma semana 2. Comprar uma passagem A-B e quatro B-A-B que abranjam finais de semana e uma B-A 3. Comprar uma passagem A-B-A para cobrir a segunda-feira da primeira semana e a quartafeira da ultima semana e quatro B-A-B para cobrir as viagens restantes. Todos esses bilhetes nessa alternativa abrangem pelo menos um final de semana A restrição a essas opções é que você possa sair na segunda-feira de A e voltar na quarta-feira O critério objetivo óbvio para avaliar as alternativas é o preço dos bilhetes. A alternativa de menor custo é a melhor Solução: Custo da alternativa 1: 5 x 400 = R$ 2 000,00 Custo da alternativa 2: 0,75 x 400 + 4 x 0,8 x 400 = R$ 1 880,00 Custo da alternativa 3: 5 x 0,8 x 400 = R$ 1 600,00 Portanto a alternativa 3 é a melhor opção. Em um mundo de negócios cada vez mais dinâmico e competitivo, um administrador não se pode dar chance de errar, por isso a Pesquisa Operacional é uma ótima ferramenta para qualquer administrador que está sempre a tomar decisões. do tempo gasto em certas atividades. Outra vantagem da Programação Linear está na extraordinária eficiência dos algorítimos de solução hoje existentes. Para que um determinado sistema possa ser representado por meio de um modelo de PL. Além disso. Proporcionalidade: a quantidade de recurso consumido por uma dada atividade deve ser proporcional ao nível dessa atividade na solução final do problema. concedendo suporte a estudos mais avançados. Os conceitos nele firmados serão estendidos aos demais. Esse modelo é básico para a compreensão de todos os outros modelos da Pesquisa Operacional. concentraremos nossa atenção inicialmente no modelo de Programação Linear (PL). Não Negatividade: deve ser sempre possível desenvolver dada atividade em qualquer nível não negativo e qualquer proporção de um dado recurso deve sempre poder ser utilizado. disponibilizando alta capacidade de cálculo e podendo ser facilmente implementado até mesmo através de planilhas e com o auxílio de microcomputadores pessoais. Existe uma combinação de variáveis que deve ser maximizada ou minimizada. Aditividade: o custo total é a soma das parcelas associadas a cada atividade 4. ele deve possuir as seguintes características fundamentais: 1. Separabilidade: pode-se identificar de forma separada o custo (ou consumo de recursos) específico das operações de cada atividade Podemos ainda resumir essas características de uma maneira mais perceptível ao leitor 1. Durante a 5 .1 Características de um modelo de Programação Linear Dentre os diversos modelos matemáticos existentes. e assim por diante. do lucro atingido com a venda de alguns produtos. Os modelos de Programação Linear são um tipo especial de modelos de otimização.Capítulo 2 Introdução à Programação Linear 2. da rentabilidade média de uma composição de ações e títulos. Essa combinação pode ser a expressão do custo de algumas operações industriais ou comerciais. o custo de cada atividade é proporcional ao nível de operação da atividade 2. 3. de forma que nunca é possível obter um lucro. desde que existisse demanda ilimitada para ambos. que recebe o nome de função objetivo. tanto a expressão que forma a função objetivo. tão pequeno quanto se deseje. Visto tudo isso. ao mesmo tempo obedecendo a todas as restrições. . seria ótimo se pudéssemos fabricar o máximo possível de dois produtos. por exemplo. Essas variáveis são chamadas de variáveis de decisão. É claro que o problema vai impor limites sobre as quantidades x e y 2. o que no fundo significa que estamos procurando valores de x e de y. Podemos enfim dizer que a idéia principal de um modelo de programação linear é maximizar ou minimizar a função objetivo. por seu turno. No entanto. que aparecem e são assim formuladas devido à configuração dos próprios dados do problema. limitações legais. nem horas disponíveis de máquina. uma certa restrição de recursos. • Um certo número de restrições.CAPÍTULO 2. dependendo do cao. tão grande quanto se queira. O modelo de programação linear pode ser estruturado para maximizar ou minimizar o resultado dessa expressão. devem ser expressas linearmente. a combinação de variáveis a que se chega é colocada na forma de uma expressão matemática. combinadas sempre na produção de 4 unidades de x para 3 unidades de y. Há de se buscar uma combinação ótima para se chegar ao melhor lucro possível. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 6 formulação do problema. ou um custo. chamada função objetivo. Eis um exemplo simples: 4𝑥 + 3𝑦 . nem operários. em geral. ou seja. como escassez de recursos. é possível perceber que um problema típico de programação linear possui apresenta duas importantes partes: • Uma expressão que se quer maximizar ou minimizar. Devemos nos atentar que o nome linear que refere-se a característica da proporcionalidade. dadas as restrições práticas impostas pelo problema. quanto as restrições. etc. expressas na forma de equações ou inequações matemáticas. e assim por diante. todas as variáveis aparecem com expoente igual a unidade. ou impossibilidade de economias. Nessa expressão surgem as variáveis fundamentais cuja quantidade será a solução do problema. Essas restrições representam. Às vezes. limitações da situação real. ou seja. A estrutura do problema é tal que existe. não temos matéria-prima suficiente para isso. onde x e y são as duas variáveis de interesse. etc. e isso talvez seja o maior desafio de um estudante de PO. como 𝑥1 . Hoje em dia.. já que existem programas de computador capazes de solucionar o problema.2 7 Diretrizes para a formulação de modelos de Programação Linear Quando estivermos diante de um problema. as variáveis de decisão aparecem tanto na função objetivo como nas restrições. tornaos mais interessante e mais desafiador. Um problema de programação linear pode ter duas ou mais variáveis de decisão. Os parâmetros. É essa combinação de valores que será a solução do problema de programação linear. e não necessariamente levando a valores próximos. ou seja. a diferença entre elas se dá quando por algum motivo se exige que pelo menos uma das variáveis de decisão deva assumir apenas valores inteiros aí teremos uma programação linear inteira. as soluções em um e em outro caso são diferentes. fora do controle da pessoa que monta o modelo. assim o leitor só deverá considerar como programação linear inteira aqueles que forem assim caracterizados expressamente no texto. posteriormente veremos o método simplex que é a base da Programação Linear. aparecem como coeficientes das variáveis de decisão ou como valores máximos ou mínimos de grandezas que comporão o modelo.. ou X.z.CAPÍTULO 2. arredondando depois o valor de alguma variável que deveria ser inteira. 𝑥3 .. devemos ficar atentos aos parâmetros e às variáveis de decisão. com todos os dados já organizados. por sua vez. sua colocação na forma padronizada do modelo de programação linear. Quando da formulação de um problema. todas as variáveis de decisão forem livres para assumir qualquer valor. A programação linear pode dividir-se ainda em programação linear inteira e programação linear simples. inteiros ou não.Z ou ainda por letras indexadas. Essas variáveis de decisão serão indicadas por letras como x. com diversas variáveis de decisão. 𝑥2 . isto não acarreta grandes dificuldades. Em outras palavras. isto é. que deverá ser formulado como um modelo de programação linear. o grande problema é que estes programas só resolvem problemas já modelados. . sendo que há uma certa combinação de valores que irá maximizar ou minimizar a função objetivo. São valores que devemos aceitar como são. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. obtidas por caminhos diferentes. modelar casos de programação linear. quando não houver tal exigência.y. É importantíssimo ressaltar que não basta resolver um problema de Programação Linear Simples. Parâmetros são os valores já fixados. Iniciaremos o estudo de Programação Linear com casos que envolvem apenas duas ou três variáveis de decisão e por hora o método de solucioná-los será o método gráfico. mas não estão em discussão. teremos uma programação linear simples. pois na verdade. muitas vezes o fato de o problema se mais complexo. O problema maior acontece com a solução: um problema com muitas variáveis de decisão obrigatoriamente deve ser solucionado por meio de computador. ou seja. Deverá o leitor atentarse ao fato de que a grande maioria dos exemplos deste curso são de programação linear simples não sendo necessário portanto enfatizar tal característica. conforme seja o caso. Fazem parte do problema.Y. Variáveis de decisão são grandezas que poderão assumir diversos valores. CAPÍTULO 2. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. que facilita a consulta e evita que fiquemos. Deseja-se saber quantas unidades de A e de B devem ser produzidas. Solução Em toda formulação de problemas de programação linear. é conveniente sintetizar os dados por meio de uma tabela. Existe uma previsão máxima de demanda para o produto B de 3 unidades. não havendo restrições quanto à demanda do produto A.1 Problema de Maximização Exemplo 1 Uma fábrica produz dois produtos. ao mesmo tempo. a máquina 𝑀1 tem 24 hores de tempo disponível para os produtos A e B. de forma a maximizar o lucro e. Agora devemos determinar os elementos que comporão o modelo Função objetivo: Restrições: Formulação Completa: . Pra produzir uma unidade do produto B. gastam-se 4 horas em cada uma das máquinas 𝑀1 e 𝑀2 . gastam-se 6 horas na máquina 𝑀1 2 2 horas na máquina 𝑀2 .3. obedecer a todas as restrições desse enunciado. que também utilizam essas maquinas. Devido à programação de outros produtos. lendo o enunciado original. Cada um deles deve ser processado por duas maquinas. Para produzir uma unidade do produto A. 𝑀1 e 𝑀2 . Cada unidade vendida do produto A gera um lucro de R$ 80 e cada unidade do produto B. a todo momento. um lucro de R$ 60. enquanto a máquina 𝑀2 tem 16 horas de tempo disponível. A e B.3 8 Método Gráfico 2. INTRODUÇÃO À PROGRAMAÇÃO LINEAR Resolução Gráfica 9 .CAPÍTULO 2. 60 e cada 100 g do Alimento 2 custam R$ 0. no mínimo. para cada 100 g. Cada 100 g do Alimento 1 custam.2 10 Problema de Minimização Exemplo 2 A granja Cocoró quer misturar dois tipos de alimentos para criar um tipo especial de ração para suas galinhas poedeiras. É preciso obedecer a essa composição. Solução Função objetivo: Restrições: Formulação Completa: . por sua vez. R$ 0. O alimento 2. minimizando ao mesmo tempo o custo por peso da nova ração. 50 g do nutriente Y e 40 g do nutriente Z.Y e Z). Cada um dos alimentos contém os nutrientes necessários à ração final (aqui chamados de nutrientes X. possui 20 g do nutriente X. Sabe-se que a ração final deve conter. para a Granja Cocoró. 2 g do nutriente X.60. A primeira característica a ser atingida com a nova ração é o menor preço possível por unidade de peso. porém em proporções variáveis.3. por exemplo. 64 g do nutriente Y e 34 g do nutriente Z. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2.CAPÍTULO 2. possuem 10 g do nutriente X. Cada 100 g do alimento 1. 60 g do nutriente Y e 20 g do nutriente Z. INTRODUÇÃO À PROGRAMAÇÃO LINEAR Resolução Gráfica 11 .CAPÍTULO 2. + 𝑐2 𝑥𝑛 sujeito às restrições 𝑎11 𝑥1 + 𝑎12 𝑥2 + .... + 𝑎𝑚𝑛 𝑥𝑛 ≤ 𝑏𝑚 e 𝑥1 . 𝑥𝑛 ≥ 0 Problemas de Minimização Minimizar 𝑍 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + . .... 𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + .3.. + 𝑐2 𝑥𝑛 sujeito às restrições 𝑎11 𝑥1 + 𝑎12 𝑥2 + .. .. 𝑥2 . + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1 𝑎21 𝑥1 + 𝑎22 𝑥2 + .... ... + 𝑎2𝑛 𝑥𝑛 ≤ 𝑏2 . INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. 𝑥𝑛 ≥ 0 . 𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ... + 𝑎𝑚𝑛 𝑥𝑛 ≥ 𝑏𝑚 e 𝑥1 .. .CAPÍTULO 2...3 12 Formulação Padrão de Modelo de Programação Linear De forma geral os modelos de programação linear aqui apresentados serão representados na forma: Problemas de Maximização Maximizar 𝑍 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + .. 𝑥2 . ... . + 𝑎1𝑛 𝑥𝑛 ≥ 𝑏1 𝑎21 𝑥1 + 𝑎22 𝑥2 + . + 𝑎2𝑛 𝑥𝑛 ≥ 𝑏2 . 𝑦 ≥ 0 Solução 13 .CAPÍTULO 2. INTRODUÇÃO À PROGRAMAÇÃO LINEAR Exemplo 3 Resolva graficamente: Maximizar 𝑍 = 4𝑥 + 6𝑦 Sujeito a 8𝑥 + 7𝑦 ≤ 56 𝑦≤5 𝑥≤4 𝑥. CAPÍTULO 2. INTRODUÇÃO À PROGRAMAÇÃO LINEAR Exemplo 4 Resolva graficamente: Minimizar 𝑍 = 2𝑥 + 4𝑦 Sujeito a 5𝑥 + 5𝑦 ≥ 25 2𝑥 + 6𝑦 ≥ 18 𝑥≥2 𝑥. 𝑦 ≥ 0 Solução 14 . não será possível determinar uma só região possível.CAPÍTULO 2. Do ponto de vista gráfico. Isso vale também para as condições de não negatividade.1 Restrições incompatíveis A impossibilidade de solução. 𝑦 ≥ 0 Resolução Gráfica . INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. vamos supor o seguinte problema: Maximizar 𝑍 = 𝑥 + 𝑦 Sujeito a 4𝑥 + 3𝑦 ≤ 12 𝑦≥5 𝑥≥4 𝑥. como também é chamado este caso especial. Como exemplo.4 15 Casos Especiais Vejamos alguns casos especiais de programação linear 2.4. ocorre quando não há solução que satisfaça ao mesmo tempo todas as restrições colocadas no modelo. Afinal. é muito provável que o problema tenha sido mal formulado. sem violar qualquer uma das restrições.4. consideremos o problema a seguir: Maximizar 𝑍 = 4𝑥 + 𝑦 Sujeito a 𝑥≥2 𝑦≤3 𝑥.CAPÍTULO 2. Como exemplo. O que acontecerá é que a região possível irá se estender infinitamente em uma dada direção. 𝑦 ≥ 0 Resolução Gráfica . Cumpre notar que o fato de a solução não ter fronteiras não impede que se determine graficamente uma região possível. não existem lucros infinitos ou despesas que possam ser infinitamente pequenas. Geralmente. se isso acontecer. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2.2 16 Solução sem fronteiras Um problema de programação linear apresentará uma solução sem fronteiras se o valor da solução puder ser ser feito infinitamente grande. Consideremos como um exemplo de redundância o problema: Maximizar 𝑍 = 3𝑥 + 2𝑦 Sujeito a 10𝑥 + 5𝑦 ≤ 50 𝑥+𝑦 ≤7 𝑦 ≤ 15 𝑥. pode ser eliminada sem alterar o problema original ou sua solução.4. 𝑦 ≥ 0 Resolução Gráfica .CAPÍTULO 2. portanto. Uma restrição redundante.3 17 Redundância Uma restrição será redundante se sua presença em nada afetar a região permissível delimitada pelas outras restrições. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. Graficamente. vejamos o seguinte problema Maximizar 𝑍 = 4𝑥 + 12𝑦 Sujeito a 𝑥 + 3𝑦 ≤ 6 5𝑥 + 3𝑦 ≤ 15 𝑥.4.CAPÍTULO 2.4 18 Soluções alternativas Pode ser que um problema apresente duas ou mais soluções. Como exemplo deste caso. Nesse caso. não haverá apenas um ponto extremo objetivo. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. 𝑦 ≥ 0 Resolução Gráfica . isso ocorre quando a família de retas da função objetivo é paralela a uma das restrições. de certa forma. ou seja. Denominamos análise de sensibilidade o estudo de como a solução ótima irá mudar. Finalmente. podem sofrer variações. já que. também estamos considerando constantes todos os coeficientes das restrições.CAPÍTULO 2. chamados de coeficientes tecnológicos. nas máquinas 𝑀1 e 𝑀2 e cuja formulação era Maximizar 𝑍 = 80𝑥 + 60𝑦 Sujeito a 4𝑥 + 6𝑦 ≤ 24 4𝑥 + 2𝑦 ≤ 16 𝑦≤3 𝑥. que relatava o problema de produção dos produtos A e B. dependem do grau de tecnologia de que se dispõe. A hipótese. o que em um problema de maximização pode indicar quanto de cada recurso será despendido para se elaborar uma simples unidade de um dado produto. caso variem esses coeficientes. ou seja. Análise dos coeficientes da função objetivo Consideremos o exemplo 1. Por sua vez. iremos considerar sempre o efeito da variação isolada de um certo coeficiente. Esses coeficientes são. em problemas usuais de programação linear. Em diversos problemas de maximização. é a de que esses lucros unitários são constantes. em um ambiente real. Assim eram constantes todos os coeficientes da função objetivo. A análise de sensibilidade neste estudo ser mostrada por meio de gráficos. ou LDRs. esses coeficientes indicam lucros unitários ou algum tipo de contribuição. Nesse caso. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. Em um nível elementar da análise de sensibilidade. Supor constantes os coeficientes tecnológicos implica que estamos considerando como fixo um dado estado da tecnologia. todos os números que apareciam multiplicando pelas variáveis na função objetivo. por vezes. não analisaremos o que acontece com a solução ótima quando dois ou mais coeficientes varam em conjunto. consideramos que eram fixos todos os coeficientes que apareciam em um problema de programação linear. Ocorre que todos esses coeficientes. 𝑦 ≥ 0 a) Até que ponto podem variar os coeficientes da função objetivo sem que varie a solução ótima? . portanto.5 19 Análise da sensibilidade Até este ponto. podemos também considerar fixos os lados direitos das restrições. estaremos considerando a quantidade total de recursos disponíveis. CAPÍTULO 2. o ponto será conservado como solução. sendo o ponto a nova solução. com 𝑥 = 2. De modo similar. . você leitor pode tentar outras variações no lado direito da restrição 4𝑥 + 6𝑦 ≤ 24 ou das outras duas restrições. se a reta da função objetivo girar apenas dentro da área hachurada. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 20 Resumindo. 75. entre os quais podem variar os coeficientes da função objetivo. girar dentro da área hachurada significa que há um coeficiente mínimo e outro máximo. exatamente da área do quadrilátero . tanto para a variável x como para a variável y. 63 e 𝑦 = 2. Em outros termos. pudemos observar que aumentando o número de horas disponíveis na maquina 𝑀1 de 24 para 27 horas. b) O que ocorre caso a restrição relativa às horas disponíveis na máquina 𝑀1 aumentem de 24 para 27? Neste caso. também aumenta a região permissível. embora não única. Os coeficientes tecnológicos representam a quantidade de recursos necessária para produzir uma unidade da variável.4. Função objetivo é uma expressão matemática em que aparecem as variáveis de decisão.2.5. . Restrição redundante é qualquer restrição que não afete a região permissível. conforme for o caso. Coeficientes tecnológicos são os coeficientes das variáveis nas equações ou inequações das restrições.8. Definição 2. conforme for o caso. ao mesmo tempo. Restrição é a expressão matemática de um limite aplicável a uma dada variável ou combinação de variáveis.6.10. maior ou igual a zero.3.6.11. Definição 2.7. são os vértices da região permissível delimitada por todas as restrições.6. Ponto extremo da região permissível: na solução gráfica. Definição 2.6.6.6.6. Condições de não negatividade: um conjunto de restrições que requer que cada variável em um problema de programação linear seja não negativa. isto é. uma restrição que pode ser removida sem afetar a região possível. Região permissível é o conjunto de todas as soluções possíveis.6.12.6. Definição 2. isto é.9. Programação linear é uma tecnica matemática usada para ajudar na alocação mais efetiva de recursos Definição 2. Definição 2. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. Definição 2. Solução sem fronteiras é a situação na qual o valor da solução pode aumentar sempre. Análise de sensibilidade é o estudo da sensibilidade da solução ótima aos dados do modelo de programação linear montado pelo analista. Definição 2.6.6. Definição 2. Soluções alternativas são quaisquer soluções que satisfaçam todas as restrições e maximizem (ou minimizem) a função objetivo. expressa na forma de uma equação ou inequação.6. a qual deverá ser maximizada ou minimizada.6 21 Terminologias Definição 2. Definição 2. Solução permissível é uma solução que obedeça ao mesmo tempo todas as restrições Definição 2.1.6. Definição 2.CAPÍTULO 2. satisfaça todas as restrições e maximize (ou minimize) a função objetivo. sem violar qualquer uma das restrições. Solução ótima de um problema de programação linear é qualquer conjunto de valores que.6.13. Na fabricação de dois produtos. Já para uma unidade do produto B. de forma a maximizar o lucro. estão disponíveis 30 horas do equipamento 1 e 80 horas do equipamento 2. Uma empresa do ramo de confecções está considerando quanto deve produzir de seus dois modelos de terno. O equipamento 1 não toma parte na produção do produto B. X e Y.00 • Horas-máquina de costura por unidade: 1 • Homens-hora de acabamento por unidade: 4 Pede-se: a) Formular o problema como um modelo de programação linear b) Resolver graficamente o problema 3. existem apenas 180 horas-máquina disponíveis. Por outro lado. Pede-se: a) Formular o problema como um modelo de programação linear. as duas operações básicas na fabricação. os dois modelos apresentam as seguintes características: Executivo Master • Lucro unitário: R$ 120. visando maximizar o lucro b) Resolvê-lo graficamente 2. enquanto para o acabamento. No caso da costura. onde x = número de unidades produzidas do produto X . usa-se 1 hora do equipamento 1 e 2 horas do equipamento 2. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 2. Na fabricação de dois de seus produtos. haverá. as seguintes restrições são válidas quanto aos dois recursos escassos que são utilizados: 𝑥 + 2𝑦 ≤ 80 2𝑥 + 2𝑦 ≤ 120.7 22 Exercícios 1. uma empresa utiliza dois equipamentos que limitam a produção. 240 homens-hora. porque existem limitações nas horas disponíveis para a costura e o acabamento.00 enquanto cada unidade do produto B gera um lucro de R$ 50. Em termos de lucro unitário e produção. uma unidade do produto A leva um lucro de R$ 150.00. Será impossível fabricar quanto se queira de cada um dos modelos. no máximo. são gastas 2 horas do equipamento 2.00 • Horas-máquina de costura por unidade: 2 • Homens-hora de acabamento por unidade: 2 Caibem • Lucro unitário: R$ 70. Para a fabricação de uma unidade do produto A.CAPÍTULO 2. Em um dado período de tempo. que é feito manualmente. denominados Executivo Master e Caibem. Produto 1: uma porta de vidro de 2. Entretanto. A empresa possui três fábricas industriais. determinar quais devem ser as taxas de produção para ambos os produtos de modo a maximizar o lucro total. 𝑦 ≥ 0 . disponível por semana em horas em cada Fábrica para a produção destes produtos é.CAPÍTULO 2. 4 h na Fábrica 1. A WYNDOR GLASS CO. De posse destes dados.000. entre os quais janelas e portas de vidro.00 o lucro do produto 1 e R$ 5. Resolva graficamente: Maximizar 𝑍 = 3𝑥 + 𝑦 Sujeito a 2𝑥 + 𝑦 ≤ 30 𝑥 + 4𝑦 ≤ 40 𝑥.) É permitida qualquer combinação de taxas de produção que satisfaça essas restrições. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 23 y = número de unidades produzidas do produto Y Sabe-se também que cada unidade do produto X fornece um lucro de R$ 20 e cada unidade do produto Y leva a um lucro de R$ 30. 12 h na Fábrica 2 e 18 h na Fábrica 3. 5. de modo que a taxa de produção é definida como o número de lotes produzidos por semana. pelo fato de ambos os produtos competirem pela mesma capacidade produtiva da Fábrica 3. 3 h da Fábrica 3 e nenhuma da Fábrica 2.000. Pede-se: a) Formular o modelo de programação linear apropriado. a fábrica 3 produz o vidro e monta os produtos. se pede.20 m x 1. Produtos não rentáveis estão sendo descontinuados.00 o lucro do produto 2.5 m com esquadria de alumínio Produto 2: uma janela duplamente adornada com esquadrias de madeira de 1. (Cada produto será fabricado em lotes de 20. sujeito as restrições impostas pela capacidade produtiva limitada disponível nas três fábricas. A divisão de marketing concluiu que a empresa poderia vender tanto quanto fosse possível produzir nessas fábricas. em horas. Em consequência da queda nos lucros.80 m O produto 1 requer 1 h da capacidade produtiva da Fábrica 1. A equipe identificou o lucro por lote produzido de cada produto. liberando a capacidade produtiva para o lançamento de dois novos produtos com grande potencial de venda. As esquadrias de alumínio e ferragens são feitas na Fábrica 1. sendo R$ 3. 2 h da Fábrica 3 e nenhuma da Fábrica 1. O produto 2 precisa das 2 h da capacidade produtiva da Fábricas 2. visando maximizar o lucro b) Resolver o problema graficamente 4. A equipe de PO também concluiu que o tempo de produção por lote . a direção decidiu modernizar a linha de produtos da empresa. não está claro qual mix dos dois produtos será o mais lucrativo. fabrica produtos de vidro de alta qualidade. as esquadrias de madeira são produzidas na Fábrica 2 e. inclusive não produzir nada de um produto e o máximo possível de outro. finalmente. Resolva graficamente: Maximizar 𝑍 = 𝑥 + 2𝑦 Sujeito a 𝑥≤3 𝑦≤5 2𝑥 + 2𝑦 ≤ 12 𝑥. o produto A proporciona um lucro unitário de R$ 100. contra R$ 300 do produto B. existem três recursos em quantidades limitadas.200 unidades disponíveis do recurso 1. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 24 6. Por outro lado. 𝑦 ≥ 0 9. Resolva graficamente: Minimizar 𝑍 = 4𝑥 + 𝑦 sujeito a 2𝑥 + 2𝑦 ≥ 10 𝑥 + 6𝑦 ≥ 20 𝑥. Resolva graficamente: Minimizar 𝑍 = 2𝑥 + 𝑦 Sujeito a 𝑥 + 𝑦 ≥ 10 2𝑥 + 3𝑦 ≥ 14 𝑥. 𝑦 ≥ 0 7. A e B. Em uma fábrica. Existem 1. os quais impõem limites às quantidades que o podem ser produzidas de dois produtos.CAPÍTULO 2. 400 unidades disponíveis do recurso 2 e 80 unidades disponíveis do recurso 3. Sabe-se também que: 1 unidade do produto A requer: • 20 unidades do recurso 1 • 4 unidades do recurso 2 • nenhuma unidade do recurso 3 1 unidade do produto B requer: • 20 unidades do recurso 1 • 20 unidades do recurso 2 . 𝑦 ≥ 0 8. Dada a tabela abaixo. Pede-se: a) Resolver graficamente o novo problema b) Determinar o novo lucro total c) Determinar quanto foi adicionado ao lucro pela 31ª hora disponível do equipamento 1 11. permanecendo inalteradas todas as demais quantidades do exercício. Dada a tabela abaixo. Considere novamente o exercício 1. Suponha que o equipamento 1 tenha agora 31 horas disponíveis. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 25 • 4 unidades do recurso 3 Pede-se: a) Colocar o problema como um modelo de programação linear b) Resolver graficamente o problema 10.CAPÍTULO 2. Conserve também todos os demais dados. Novamente retornando ao exercício 1. Pede-se: . Pede-se: a) Formule o problema como um modelo de programação linear b) Resolva graficamente o modelo 13. permanecendo inalterada a quantidade de horas disponíveis do equipamento 2. em vez de 30. Pede-se a) Resolver graficamente o novo problema b) Determinar o novo lucro total c) Determinar quanto foi adicionado ao lucro pela 81ª hora disponível do equipamento 2 12. suponha agora que a quantidade de horas disponíveis do equipamento 2 possa ser de 81 horas. Resolva utilizando o método gráfico Maximizar 𝑍 = 2𝑥 + 𝑦 Sujeitos a 𝑦 ≤ 10 2𝑥 + 5𝑦 ≤ 60 𝑥 + 𝑦 ≤ 18 3𝑥 + 𝑦 ≤ 44 𝑥. Resolva utilizando o método gráfico Maximizar 𝑍 = 10𝑥 + 20𝑦 Sujeitos a −𝑥 + 2𝑦 ≤ 15 𝑥 + 𝑦 ≤ 12 5𝑥 + 3𝑦 ≤ 45 𝑥. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 26 a) Formule o problema como um modelo de programação linear para minimizar o custo diário por comissionário 14. 𝑦 ≥ 0 15.CAPÍTULO 2. 𝑦 ≥ 0 . A direção está levando em conta a possibilidade de dedicar esse excesso de capacidade produtiva para um ou mais produtos. A WorldLight Company produz dois tipos de luminárias (produtos 1 e 2) que requerem tanto estruturas metálicas quanto componentes elétricos. A capacidade disponível nas máquinas que poderiam limitar a produção encontra-se resumida na tabela a seguir: . A Cia. em termos de trabalho. Para cada unidade do produto 1. Para cada unidade do produto 2 são necessárias três unidades de estrutura metálica e duas unidades de componentes elétricos. Vamos chamá-los produtos 1 . US$ 2 de lucro e acima de 60 unidades não dá lucro nenhum. são as seguintes: a) Formule um modelo de programação linear para esse problema b) Use o método gráfico para solucionar esse problema 18. Esse fato acabou criando considerável excesso de capacidade produtiva. Cada unidade do produto 1 fornece lucro de US$ 1 e cada unidade do produto 2 fornece lucros na seguinte base: até 60 unidades. O lucro esperado é de US$ 5 por unidade em um seguro de risco especial e de US$ 2 por unidade nas hipotecas. 2 e 3. de Seguros Primo está introduzindo duas novas linhas de produtos: seguro de risco especial e hipotecas.CAPÍTULO 2. são necessárias uma unidade de estrutura metálica e duas de componentes elétricos. a) Formule um modelo de programação linear para esse problema b) Resolva-o pelo método gráfico 17. A empresa de manufatura Ômega descontinuou a produção de determinada linha de produtos não lucrativa. As exigências. A direção quer determinar quantas unidades de cada produto devem ser produzidas de modo a maximizar o lucro. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 27 16. A direção quer estabelecer cotas de vendas para as novas linhas de modo a maximizar o lucro total esperado. A empresa possui 200 unidades de estruturas metálicas e 300 unidades de componentes elétricos. O lucro unitário seria. US$ 20 e US$ 25 para os produtos 1. Use o método gráfico para solucionar os problemas seguintes: a) Minimizar 𝑍 = 15𝑥 + 20𝑦 Sujeitos a 𝑥 + 2𝑦 ≥ 10 2𝑥 − 3𝑦 ≤ 6 𝑥+𝑦 ≥6 𝑥. Use o método gráfico para demonstrar que o modelo. 𝑦 ≥ 0 20. 𝑦 ≥ 0 . INTRODUÇÃO À PROGRAMAÇÃO LINEAR 28 O número de horas/maquina exigidas para cada unidade do respectivo produto é O departamento de vendas sinaliza que o potencial de vendas para os produtos 1 e 2 excede a taxa de produção máxima e que o potencial de vendas do produto 3 é de 20 unidades por semana. a) Formule um modelo de programação linear para este problema 19. 𝑦 ≥ 0 b) Minimizar 𝑍 = 3𝑥 + 2𝑦 Sujeitos a 4𝑥 + 𝑦 ≤ 12 𝑥−𝑦 ≥2 𝑥. não tem nenhuma solução viável. 2 e 3. a seguir. respectivamente US$ 50. O objetivo é determinar quanto de cada produto a Ômega deveria produzir para maximizar os lucros. Maximizar 𝑍 = 5𝑥 + 7𝑦 Sujeitos a 2𝑥 − 𝑦 ≤ 1 −𝑥 + 2𝑦 ≤ −1 𝑥.CAPÍTULO 2. Ele obteve as informações nutricionais e de custo mostradas no alto da tabela a seguir Edmundo quer determinar o número de refeições diárias (pode ser fracionário) com bifes e batatas que atenderá a essas exigências a um custo mínimo.CAPÍTULO 2. Edmundo adora bifes e batatas. a fim de atender a determinados requisitos nutricionais. a) Formule um modelo de programação linear para este problema b) Utilize o método gráfico para solucionar esse modelo . quer certificar-se de que se alimenta das quantidades corretas desses dois tipos de alimentos. 𝑦 ≥ 0 a) Use o método gráfico para solucionar esse modelo b) Como a solução ótima muda se a função objetivo for alterada para 𝑍 = 40𝑥+70𝑦? (Utilize o método gráfico) c) Como muda a solução caso a terceira restrição seja alterada para 2𝑥 + 𝑦 ≥ 15? (Utilize o método gráfico) 22. Assim. decidiu entrar em uma dieta rígida usando somente esses alimentos (além de alguns líquidos e suplementos vitamínicos) em todas as suas refeições. portanto. Considere o medelo Minimizar 𝑍 = 40𝑥 + 50𝑦 2𝑥 + 3𝑦 ≥ 30 𝑥 + 𝑦 ≥ 12 2𝑥 + 𝑦 ≥ 20 𝑥. Ele percebe que essa não é a dieta mais saudável e. INTRODUÇÃO À PROGRAMAÇÃO LINEAR 29 21. Capítulo 3 Método Simplex O simplex é uma metodologia que envolve uma sequência de cálculos repetitivos por meio dos quais é possível chegar à solução de um problema de programação linear. vejamos como. Rapidamente foram elaborados programas de computador para trabalhar com o algorítimo. três variáveis de decisão. A formulação completa do problema era a seguinte: Maximizar 80𝑥 + 60𝑦 sujeito a 4𝑥 + 6𝑦 ≤ 24 (restrição de horas disponíveis ma máquina 𝑀1 ) 4𝑥 + 2𝑦 ≤ 16 (restrição de horas disponíveis na máquina 𝑀2 ) 0𝑥 + 1𝑦 ≤ 3 (restrição da demanda máxima do produto B) 𝑥. sendo duas delas representadas por horas disponíveis em duas máquinas. Os alunos devem. A e B. 𝑀1 e 𝑀2 . O desejável seria que todos os estudiosos de programação tivessem acesso a um microcomputador. os cálculos são tediosos. e para problemas com três ou mais variáveis de decisão. Comecemos com os conceitos de variável de folga e de solução básica de um problema de programação linear 3. vamos nos apoiar no exemplo de maximização do capítulo anterior (pg. Antes de passar ao Simplex. ou à sequência de cálculos que o constitui. no entanto. para que pudessem concentrar-se na estruturação (formulação) dos problemas. a a terceira representada por uma limitação da demanda do produto B. pode-se facilmente errar em alguma das etapas. para que não tenham a impressão de que o Simplex é apenas uma sequência sem sentido (e difícil de reter na memória) de operações numéricas simples. Embora simples. vamos nos restringir a exemplos abordando problemas simples. invalidando assim todos os esforços. com duas ou. na verdade ele funciona. sob três restrições. entender qual a lógica por trás do cálculo. sendo bem mais estimulante. 𝑦 ≥ 0 30 . 8). Por esse motivo. atividade que exige intelectualmente muito mais do aluno. Essa sequência de cálculos recebe o nome de algoritmo. Queríamos maximizar o lucro devido a venda de dois produtos.1 Variáveis de folga e soluções básicas Para o que se segue. no máximo. daí a designação pela letra s). por exemplo. 𝑠2 representa horas disponíveis na máquina 𝑀2 e não utilizadas. Tomando o mesmo ponto extremo do caso anterior temos: .1) Nesse caso. tem-se sempre 𝑠1 ≥ 0. tem-se: 4(0) + 6(3) + 𝑠1 = 24 𝑠1 = 24 − 18 = 6 (3. ou seja. Na restrição de horas disponíveis na máquina 𝑀1 . Claramente. Essa nova variável é chamada de variável de folga (slack em inglês. não utilizado. acrescentando novas variáveis a cada uma delas. 𝑠1 representa o total de horas disponíveis na máquina 𝑀1 . Por exemplo. para esse ponto extremo. MÉTODO SIMPLEX É possível transformar as inequações (que refletem as restrições) em equações. O nome folga é dado porque muitas vezes pode-se associar essa variável a recursos não utilizados ou não aproveitados. mas 𝑠3 representa demanda possível do produto B. 𝑠1 indica que 6 horas disponíveis na máquina 𝑀1 não serão utilizadas. podemos ter: 4𝑥 + 6𝑦 + 𝑠1 = 24 onde a variável 𝑠1 foi acrescentada.31 CAPÍTULO 3. Acrescentemos duas outras variáveis de folga às duas inequações seguintes: 4𝑥 + 2𝑦 + 𝑠2 = 16 0𝑥 + 1𝑦 + 𝑠3 = 3 Nesses casos. lembre-se). não atendida (O máximo de unidades possíveis do produto B era 3. No caso da restrição que estamos analisando.1. se 𝑥 = 0 e 𝑦 = 3. Por outro lado. o seguinte quadro geral de formulação: Maximizar 𝑍 = 80𝑥 + 60𝑦 + 0𝑠1 + 0𝑠2 + 0𝑠3 Sujeito a 4𝑥 + 6𝑦 + 1𝑠1 + 0𝑠2 + 0𝑠3 = 24 4𝑥 + 2𝑦 + 0𝑠1 + 1𝑠2 + 0𝑠3 = 16 0𝑥 + 1𝑦 + 0𝑠1 + 0𝑠2 + 1𝑠3 = 3 𝑥. 𝑦 ≥ 0 Embora isso não aconteça aqui. são chamadas de uma solução básica ao problema de programação linear. não poderemos chegar aos valores finais das variáveis. MÉTODO SIMPLEX 32 Fica claro ao leitor que também 𝑠2 ≥ 0 e 𝑠3 ≥ 0. o número de variáveis desconhecidas torna-se igual ao número de equações. quando introduzimos as variáveis de folga e transformamos as inequações em equações. todas as variáveis de folga devem aparecer com coeficiente zero. O leitor há de notar que chegamos a um sistema indeterminado. No caso da função objetivo. as 𝑞 variáveis restantes. 𝑦. é bom notar que o Simplex exige que o segunda lado das equações não sejam um número negativo. vamos supor que fixamos as variáveis. duas a duas. Temos. As duas variáveis igualadas a zero chamam-se uma solução não básica ao problema de programação linear. Atendendo-nos ao exemplo. A rigor. ou ainda. dependendo dos valores encontrados para as variáveis obedecerem ou nais às restrições. deveríamos fizar o valor de duas variáveis. será possível determinar o valor das variáveis desconhecidas restantes.CAPÍTULO 3. No nosso exemplo. 𝑠3 ) e apenas três equações. calculadas. o sistema será indeterminado. e o sistema torna-se determinado. Veremos mais a frente como proceder quando este for o caso. que qualquer variável de folga deve ser maior ou igual a zero. ou seja. no nosso caso). Vamos analisar o que acontece com os valores das cinco variáveis nos pontos extremos da região possível para o problema de maximização anterior: . como solução igual a zero. 𝑠2 . Quando uma variável de folga não aparecer em uma inequação. uma solução básica pode ser possível ou não. Sempre que o número 𝑞 de equações (𝑞 = 3. devemos colocá-las em todas as inequações existentes e também na função objetivo. de uma forma geral. pois temos cinco incógnitas (𝑥. nós a colocamos com coeficiente zero. Por sua vez. se fixarmos os valores de (𝑘 − 𝑞) variáveis. de modo a obter o valor das outras três. Além disso. 𝑠1 . portanto. ou seja. o Simplex fará uma interação. até chegar à solução do problema. até chegar ao ponto ótimo. ter uma visão geral de como progridem esses cálculos. determinase o valor correspondente da função objetivo e. A origem não é solução. podemos enunciar: Em um problema de programação linear com 𝑘 incógnitas e 𝑞 equações. e assim por diante. chega-se à solução ótima. porém. sempre fazendo uma escolha pelo melhor caminho. Havendo outro ponto extremo em que a solução seja ainda melhor. 3. Fazendo-se conjuntos diferentes de (𝑘 − 𝑞) incógnitas iguais a zero. passando-se a outro ponto extremo da região permissível. e o valor da função objetivo também é zero. em qualquer um dos pontos extremos. Cada tabela gerada recebe o nome de tableau. onde encerram-se as iterações. É interessante.2 Como opera o Simplex Sabemos que o Simplex é tão-somente uma sequência de cálculos simples levando à solução de um problema de programação linear. MÉTODO SIMPLEX 33 Repare o leitor que. O tableau é construido de tal forma que. Da origem. Com os valores das variáveis assim obtidos. para lá se deslocarão os cálculos. quando veremos (intuitivamente) como funciona o Simplex. o que pode ser feito com auxilio da região permissível delimitada pelas restrições. o Simplex passa aos demais pontos. Em termos gerais. em cada um desses pontos. O primeiro tableau corresponde à origem. Essa região é delimitada por pontos.CAPÍTULO 3. mas é um ponto de partida para o Simplex. até que a melhor solução possível seja encontrada. Cada interação do Simplex (ou seja. . determinam-se soluções básicas possíveis. em que o valor da função objetivo é zero. pois a solução encontra-se em um dos pontos extremos. já que o valor da função objetivo é máximo nesse ponto. A técnica implica a geração de uma série de cálculos que são colocados em forma de tabela. O Simplex começa sempre testando a origem como solução. É o que explicaremos um pouco mais na seção seguinte. É essa propriedade que fornece o modus operandi do Simplex. Melhorase essa solução. portanto. nos pontos extremos da região possível tem-se sempre (𝑘 − 𝑞) incógnitas com valor igual a zero. cada teste de um ponto extremo) corresponde à criação de um tableau. Na origem 𝑥 = 0 e 𝑦 = 0. inspecionado-se sua linha mais baixa. é possível dizer se a solução que ele representa é ou não a melhor possível. existem sempre duas variáveis com valores nulos. apenas com restrições do tipo ≤. Monta-se um tableau inicial que corresponde a origem. não na substância) para incorporar as novas variáveis de folga. que apresenta uma solução melhorada. 3. É preciso também alterar a função objetivo (alterar na sua forma. com a ajuda das variáveis de folga: 3𝑥 + 4𝑦 + 1𝑠1 + 0𝑠2 = 24 5𝑥 + 2𝑦 + 0𝑠1 + 1𝑠2 = 20 A colocação de coeficientes zero para 𝑠2 na primeira equação se 𝑠1 na segunda. com .3. transformando as inequações em equações. Tanto 𝑠1 como 𝑠2 devem aparecer na função objetivo. não é por acaso. por meio de uma série de cálculos. Os coeficientes nulos estarão presentes no primeiro tableau. como veremos a seguir.1 Construindo o tableau inicial Vamos colocar o problema em forma genérica. Esse procedimento se repete até que se chegue a um tableau que reflita a solução ótima 4. em que o leitor poderá acompanhar. Consideremos o seguinte problema de maximização: Maximizar 𝑍 = 𝑥 + 2𝑦 Sujeito a 3𝑥 + 4𝑦 ≤ 24 5𝑥 + 2𝑦 ≤ 20 𝑥. Esse primeiro tableau é transformado em um segundo. respectivamente.3 Simplex: Maximização Em um primeiro momento. corresponde à origem. ou tableau inicial. a montagem dos tableaux e as interações 3. O primeiro tableau. e é conveniente que estejam evidenciados nas equações. Quando da criação de cada tableau. 2. 𝑦 ≥ 0 O tableau inicial parte do problema colocado na forma geométrica.CAPÍTULO 3. veremos depois como são tratados outros tipos de restrições (≥ ou meramente =) e como ledar com problemas de minimização. vamos ilustrar a sequência de cálculos do Simplex usando um exemplo que irá levar a dois tableaux apenas.1 34 Rotina de cálculos do Simplex 1. existe um teste para verificar se a solução ótima foi ou não atingida Passemos agora a um exemplo simples. 3. com 𝑥 = 𝑦 = 0. como recorda o leitor. MÉTODO SIMPLEX 3. O problema tratado é de maximização. passo a passo.2. Como 𝑠1 e 𝑠2 em nada contribuem. e a relação 𝑎𝑏𝑖𝑗𝑗 indica um cálculo intermediário na sequência de cálculos do Simplex. por onde se começa a construção do primeiro tableau. que representa quatro linhas distintas. ou seja. dadas pelos coeficientes dessas variáveis na própria função objetivo. em seguida. A nova formulação (completa) que deverá ser a base para o primeiro tableau é a seguinte: Maximizar 𝑍 = 𝑥 + 2𝑦 + 0𝑠1 + 0𝑠2 Sujeito a 3𝑥 + 4𝑦 + 1𝑠1 + 0𝑠2 = 24 5𝑥 + 2𝑦 + 0𝑠1 + 1𝑠2 = 20 𝑥.1.1: Início da construção do primeiro tableau (ainda parcial) Analisemos a Figura 3. Na primeira delas estão listadas as contribuições de cada variável à função objetivo.1. Como o tableau inicial corresponde a 𝑥 = 𝑦 = 0. vem em seguida a coluna de "Variáveis na solução". à origem dos eixos . 𝑦. Uma parte desse tableau é construída tomando-se os coeficientes como aparecem na formulação. A segunda linha é uma espécie de "linha guia". os números que aparecem nas colunas de 𝑥. Ainda na segunda linha. 𝑠1 e 𝑠2 . como já foi visto. A coluna 𝑏𝑗 indica o lado direito das restrições. 𝑠1 . pois correspondem a 𝑠1 e 𝑠2 .CAPÍTULO 3. ou seja. No caso da Figura 3. na Figura 3. 𝑠2 e 𝑏𝑗 são copiados exatamente das restrições. MÉTODO SIMPLEX 35 coeficientes nulos. 𝑦. que irá indicar quais as variáveis que compõem na solução presente. aquelas que estão sendo testadas. no caso as variáveis de folga. A segunda linha lista. pois lista os elementos básicos que constituem o tableau. que passaremos agora a construir. distribuídos da forma a seguir. Note o leitor que. ou seja. das variáveis presentes na solução. que irá mostrar a contribuição. passo a passo. ou seja. aparecem com coeficientes zero. cuja utilidade será vista mais adiante. são os coeficientes das variáveis e os valores do lado direito das restrições. aparece primeiro 𝐶𝑗 . as variáveis que aparecem na função objetivo e nas restrições. 𝑠1 e 𝑠2 . que configura um aspecto parcial do primeiro tableau: Figura 3.1. e as variáveis de folga. 𝑥. Da esquerda para a direita. para a função objetivo. os dois valores de 𝐶𝑗 são iguai a zero (ver a coluna de 𝐶𝑗 ). 𝑦 ≥ 0 O leitor irá reparar que o problema está escrito em uma forma tal que facilita bastante a montagem do primeiro tableau. indica o acréscimo potencial à função objetivo se uma unidade da variável fosse acrescentada à solução. Dada uma linha qualquer. 𝑠2 e 𝑏𝑗 . que não estão sendo usados. pois 𝑥 = 𝑦 = 0.em nosso caso presente. é útil enunciar uma regra geral para usa contrução e aplicá-la desde o começo. segue-se a pergunta: como saber se a solução que ele representa é a solução ótima? Em outras palavras. rumo a uma nova solução. a linha 𝑍 e a linha 𝐶 − 𝑍. Falta ainda uma parte a acrescentar na Figura 3. então a solução ótima foi encontrada. partimos das linhas que representam as variáveis na solução . Vejamos: Importante: a soma sob a coluna 𝑏𝑗 . dos coeficientes das variáveis na função objetivo: Podemos agora completar nosso tableau inicial. constituem a linha 𝑍. indica sempre o valor da função objetivo associado com o tableau. O valor da linha 𝐶 − 𝑍. Embora. devemos continuar a caminho do segundo tableau. representado Figura 3.CAPÍTULO 3. correspondente a uma dada variável. o valor da linha 𝑍 nessa coluna indica a redução na função objetivo que iria ocorrer se uma unidade da variável fosse acrescentada à solução. subtraímos a linha 𝑍.2 Dado que o tableau está completo. esse valor era igual a zero. na linha 𝑍. A inspeção da linha 𝐶 − 𝑍 revela que existem ainda dois valores positivos. A linha 𝑍 terá seus valores nas colunas 𝑥. para o tableau inicial a linha 𝑍 seja uma linha só de zeros. 𝑦. Multiplicam-se os coeficientes das variáveis e os lados direitos das restrições. sob uma dada coluna. coluna a coluna. . logo. em nosso exemplo.1 para que se complete o primeiro tableau. no caso do primeiro tableau. como saber se a solução 𝑥 = 𝑦 = 0 é ótima? Regra para teste da solução: se na linha 𝐶 − 𝑍 os valores são todos nulos ou negativos. Essas somas. MÉTODO SIMPLEX 36 𝑥. Para calcular a linha 𝑍. em cada coluna. as linhas de 𝑠1 e 𝑠2 . 𝑦. pelos valores 𝑐𝑗 correspondentes que se encontram à esquerda e somam-se os produtos. representam recursos ociosos. Duas linhas serão ainda colocadas. 𝑠1 . Sabíamos já que. os valores de 𝑠1 e 𝑠2 . Para calcular a linha 𝐶 − 𝑍. lidos diretamente na coluna 𝑏𝑗 . em cada coluna. coluna a coluna. divide-se cada valor 𝑏𝑗 pelo valor correspondente (na mesma linha) na coluna da variável que entra. 𝑦 é a "variável que entra"no tableau. a cada unidade de 𝑦 acrescida à solução. com o valor 2. Veja o leitor os cálculos na Figura 3. Para obter os novos valores da linha principal. a contribuição de cada unidade da variável respectiva à função objetivo.2 Construindo o segundo tableau O segundo taleau começa com a consideração de qual variável fornece. É aqui que entra o calculo 𝑏𝑗 /𝑎𝑖𝑗 . inspecionar a linha 𝐶 − 𝑍 que acabamos de construir. é a variável 𝑠1 . pois ela mostra. Basta. o que se dará à custa de outra "variável que sai". Na terminologia da programação linear. Novos valores deverão ser determinados. Determinação da nova linha principal O número que aparece na intersecção da coluna da variável que entra (y) com a linha principal. todos os valores da antiga linha principal são divididos pelo pivô. Para descobrir a "variável que sai". completo 3. para tanto. Quem deverá sair. a variável 𝑦 é a que oferece essa maior contribuição. é chamado de elemento pivô e tem importante papel. esse elemento vale 4. A linha da variável que sai recebe o nome de linha principal. . há apenas mais uma linha. nesse caso. a maior contribuição à função objetivo. diz-se que. Isso quer dizer que.CAPÍTULO 3. coluna a coluna. isoladamente. a da variável 𝑠2 ). Claramente. a função objetivo crescerá duas unidades. pois apresenta a menor relação 𝑏𝑗 /𝑎𝑖𝑗 (24/4=6). Em nosso caso.3. da variável que sai (𝑠1 ). 𝑦. tanto para a linha da variável que sai como para as linhas das outras variáveis (em nosso tableau.2: Tableau inicial.2. A linha em que aparecer o menor coeficiente indica a variável que irá sair. MÉTODO SIMPLEX 37 Figura 3. portanto. Encontramos já os novos valores da linha principal e vamos agora determinar novos valores para a outra variável. tem o seguinte aspecto: . 𝑠2 . MÉTODO SIMPLEX 38 Determinação da nova linha da variável s2 A variável 𝑠1 saiu do tableau. entrando em seu lugar a variável 𝑦. Em primeiro lugar. Esse número é 2. que permaneceu no tableau. que não está mais completo. o segundo tableau. ou seja. determinemos o número que se encontra na intersecção da linha da variável 𝑠2 com a coluna da variável que entrou no tableau (𝑦).CAPÍTULO 3. Procedimento para definir a nova linha 𝑠2 : a) multiplicar cada valor da nova linha principal (já determinada) pelo número encontrado no cruzamento referido (número 2): b) os valores resultantes são agora subtraídos da antiga linha de 𝑠2 : Até o momento. 4: O segundo tableau. precisamos das linhas 𝑍 e 𝐶 − 𝑍. fa Figura 3. portanto: Estamos agora em condições de apresentar o segundo tableau completo.4: Figura 3.CAPÍTULO 3. completo . MÉTODO SIMPLEX 39 Figura 3. A linha 𝑍 ficará assim: A linha 𝐶 − 𝑍 ficará.3: Aspecto parcial do segundo tableau Para completar o segundo tableau. Vamos substituir os valores de 𝑥 = 0 e 𝑦 = 6 nas restrições: 3𝑥 + 4𝑦 + 1𝑠1 = 24 3(0) + 4(6) + 1𝑠1 = 24 24 + 1𝑠1 = 24. Com isso o leitor poderá observar como o Simplex operou nesse caso. 𝑜𝑢 𝑠1 = 0 (𝑛ã𝑜 ℎá 𝑟𝑒𝑐𝑢𝑟𝑠𝑜𝑠 𝑜𝑐𝑖𝑜𝑠𝑜𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒𝑛𝑡𝑒𝑠 𝑎 𝑠1 ) e também 5𝑥 + 2𝑦 + 1𝑠2 = 20 5(0) + 2(6) + 1𝑠2 = 20 12 + 1𝑠1 = 20. Vejamos a seguir a resolução gráfica deste problema que acabamos de solucionar pelo Simplex. Inicialmente foi feito o teste no ponto O. que é a solução ótima. fomos movidos diretamente para o ponto P. onde 𝑥 = 0 e 𝑦 = 6. Observando a coluna 𝑏𝑗 . MÉTODO SIMPLEX A inspeção da linha 𝐶 − 𝑍 nos indica que encontramos a solução ótima. encontrada com apenas duas interações ( dois tableaus). o leitor perceberá que 𝑥 = 0 (pois 𝑥 não aparece) 𝑦=6 e o valor da função objetivo é 12. . Em seguida. 𝑜𝑢 𝑠2 = 8 (𝑒𝑥𝑖𝑠𝑡𝑒𝑚 8 𝑢𝑛𝑖𝑑𝑎𝑑𝑒𝑠 𝑑𝑒 𝑟𝑒𝑐𝑢𝑟𝑠𝑜𝑠 𝑜𝑐𝑖𝑜𝑠𝑜𝑠 𝑐𝑜𝑟𝑟𝑒𝑠𝑝𝑜𝑛𝑑𝑒𝑛𝑡𝑒𝑠 𝑎 𝑠2 ) Pode-se notar que as restrições foram obedecidas.40 CAPÍTULO 3. já que todos os valores são nulos ou negativos. a origem. incorporadas pela variável de forga 𝑠2 . embora existam 8 unidades de recursos não aproveitados. A região possível é determinada pelo quadrilátero OPQR. com a solução 𝑥 = 0 e 𝑦 = 0. Façamos um exercício complementar útil. MÉTODO SIMPLEX Exercício Resolvido 1. 𝑥2 ≥ 0 41 . Resolva pelo método Simplex Maximizar 𝑍 = 3𝑥1 + 5𝑥2 Sujeito a 𝑥1 ≤ 4 2𝑥2 ≤ 12 3𝑥1 + 2𝑥2 ≤ 18 𝑥1 .CAPÍTULO 3. CAPÍTULO 3. MÉTODO SIMPLEX 42 . sempre que isso não ocorrer. No caso C. Assim. deveremos fazer uma intervenção.43 CAPÍTULO 3. tratando-se de uma igualdade.4 Restrições com lado direito negativo Como o tableau exige que o lado direito das restrições seja um número positivo. fazendo as operações indicadas: −3𝑥 + 7𝑦 ≥ 12 2𝑥 − 3𝑦 ≤ 8 2𝑥 + 5𝑦 = 9 3. MÉTODO SIMPLEX 3. Considere os leitor os três casos a seguir: 3𝑥 − 7𝑦 ≤ −12 (Caso A) −2𝑥 + 3𝑦 ≥ −8 (Caso B) −2𝑥 − 5𝑦 = −9 (Caso C) A regra básica é: para eliminar o lado direito negativo. basta fazer a multiplicação por (-1) e conservar a igualdade. multiplique ambos os lados da restrição por (-1) e inverta o símbolo de desigualdade. temos.5 Simplex: Minimização . nos casos A e B. Capítulo 4 Title 44 . Capítulo 5 Respostas dos Exercícios Propostos 5. 9) b) ( 15 2 2 45 . 2. 6𝑥1 + 0. 4𝑥2 ≥ 6 𝑥1 𝑒𝑥2 ≥ 0 . 1𝑥2 ≤ 2. 5𝑥2 sujeito a 0. 12. 11. 10. 𝑥2 ) = (2. 4𝑥1 + 0. 7. a) Minimizar 𝑍 = 0.1 Exercícios Propostos 2. 6. 5𝑥2 = 6 0. 6) 5. 7 0. 4. 9. 3𝑥1 + 0. 3. 8. 5𝑥1 + 0. (𝑥1 .7 1. CAPÍTULO 5. 𝑥5 ≥ 0 14.22h) 𝑥4 + 𝑥5 ≥ 52 (22h . RESPOSTAS DOS EXERCÍCIOS PROPOSTOS 13. (𝑥1 . 𝑥4 .14h) 𝑥2 + 𝑥3 ≥ 64 (14h . 𝑍 = 2. 𝑥2 ) = (13. 21. 𝑥2 = 54. 18.8h) 𝑥1 + 𝑥2 ≥ 79 (8h . 𝑥3 . 17. 16. 𝑥1 = 26. 20.18h) 𝑥3 + 𝑥4 ≥ 82 (18h .20h) 𝑥4 ≥ 43 (20h .16h) 𝑥3 + 𝑥4 ≥ 73 (16h .24h) 𝑥5 ≥ 15 (24h . 19.904. 𝑥3 = 20.12h) 𝑥1 + 𝑥2 + 𝑥3 ≥ 87 (12h . 76 19. 46 . 5). Minimizar 𝑍 = 170𝑥1 + 160𝑥2 + 175𝑥3 + 180𝑥4 + 195𝑥5 sujeito a 𝑥1 ≥ 48 (6h . 𝑍 = 31 15. 76. 𝑥2 .10h) 𝑥1 + 𝑥2 ≥ 65 (10h . 22.6h) 𝑥1 . 9. ed. L. S.3. São Paulo. Atlas. Porto Alegre. Otimizacao combinatoria e programacao linear: modelos e algoritimos. H. ed. ed.8. Pesquisa operacional . AMGH. Sao Paulo. Rio de Janeiro. A. 2000 3 [3] HILLIER. D. Pearson Prentice Hall. C. Pesquisa operacional: uma visao geral.curso introdutorio. G. M. Pesquisa pperacional . Cengage Learning. 2010 2 [2] GOLDBARG. E. J.curso introdutorio2. 2004 6 [6] EHRLICH. 1991 . F.Sao Paulo. ed.. P. 2013 4 [4] TAHA.Rio de Janeiro. Introducao a pesquisa operacional.Bibliografia 1 [1] MOREIRA. Introducao a pesquisa operacional.LIEBERMAN. Campos. A. J. 2008 5 [5] ANDRADE. LTC.