Prévia do material em texto
Pesquisa Operacional Prof. Dr. Alessandro Ferreira Alves 1ª Edição Gestão da Educação a Distância Todos os direitos desta edição ficam reservados ao Unis - MG. É proibida a duplicação ou re- produção deste volume (ou parte do mesmo), sob qualquer meio, sem autorização expressa da instituição. Cidade Universitária - Bloco C Avenida Alzira Barra Gazzola, 650, Bairro Aeroporto. Varginha /MG ead.unis.edu.br 0800 283 5665 Autoria Currículo Lattes: Prof. Dr. Alessandro Ferreira Alves http://lattes.cnpq.br/7860986142316472 Doutor em Matemática Aplicada pela Faculdade de Engenharia Elétrica e Computação (FEEC) da Uni- versidade Estadual de Campinas (UNICAMP-SP) no departamento de Telemática. Mestre em Mate- mática Pura pelo Instituto de Matemática, Estatística e Computação (IMECC) da Universidade Estadual de Campinas (UNICAMP-SP). Possui Licenciatura Plena em Matemática pela Universidade Federal de Uberlândia (UFU-MG). Atua como professor titular no Centro Universitário do Sul de Minas (UNIS -MG), desde o ano de 2001, como professor em diversos Cursos de Graduação, bem como cursos de Pós-graduação, nas Modalidades Presencial (GEP) e a Distância (GEaD). Além disso, é Coordenador do Curso de Licenciatura em Matemática na Modalidade a Distância desde o segundo semestre de 2007 e coordenador do Curso de Licenciatura em Física na Modalidade a Distância desde o segundo semes- tre de 2015, bem como, já atuou como coordenador dos cursos de Pós-graduação do UNIS-MG, tais como: MBA em Finanças Corporativas (GEDUP – 2007 e 2008), MBA em Gestão Empresarial (GeaD – 2008), Pós-graduação em Matemática Empresarial (GEP – 2004, 2005 e 2006) e Lato Sensu em Ma- http://lattes.cnpq.br/7860986142316472 Autoria Currículo Lattes: Prof. Dr. Alessandro Ferreira Alves temática e Ensino (GEDUP – 2002 e 2003). Atualmente, atua como professor titular de disciplinas em vários cursos de nossa instituição, como por exemplo, Engenharia Mecânica, Engenharia de Produção, Engenharia Civil, Matemática, Física, Comércio Exterior, Sistemas de Informação e Ciência da Compu- tação, relacionadas à Matemática, Estatística e Computação, bem como, como professor em diversos cursos da GEPOS, tais como, MBA em Finanças Corporativas e Gestão Bancária, MBA em Gestão Estra- tégica e Inteligência em Negócios, MBA em Gestão Empresarial, MBA em Logística Empresarial e Lato Sensu em Ensino de Matemática e Física. O professor Alessandro Ferreira Alves também é membro do CONSELHO UNIVERSITÁRIO – CONSUN do Centro Universitário do Sul de Minas Gerais desde o ano de 2008, atuando como representante do quadro de coordenadores da instituição. De outra forma, atua com projetos de consultoria na área de Finanças, Estatística Aplicada a Mercado, Controle Estatístico de Processos e Desenvolvimento de Materiais Didáticos. http://lattes.cnpq.br/7860986142316472 http://lattes.cnpq.br/7860986142316472 6 Unis EaD Cidade Universitária – Bloco C Avenida Alzira Barra Gazzola, 650, Bairro Aeroporto. Varginha /MG ead.unis.edu.br 0800 283 5665 ALVES, Alessadro Ferreira. Pesquisa Operacional. Varginha: GEaD-U- NIS/MG, 2017. 287 p. 1. Pesquisa Operacional. 2. Programação Linear. 3. Processo de Decisão. 4. Modelos de Programação Linear. 5. Algoritmo dos Transportes. Caro aluno(a), tudo bem? Seja bem-vindo a nossa disciplina!!! Através deste material didático apresentaremos os principais conceitos, técnicas e ferramen- tas para entendimento de uma das disciplinas que compõem o seu curso de graduação, que é a disciplina de Pesquisa Operacional. Assim sendo, este material está dividido em cinco unidades, que englobam diversos temas, desde os aspectos introdutórios acerca da teoria sobre o processo decisório, bem como, a teoria envolvendo a formulação e resolução de modelos de programação linear, algoritmo dos transportes e teoria de filas. Grosso modo, ao finalizar as unidades com certeza você estará familiarizado com os princi- pais conceitos e métodos da Pesquisa Operacional, suas principais técnicas e sua aplicabilidade prá- tica no contexto da gestão empresarial e industrial. Salientamos que a Pesquisa Operacional e suas técnicas, constituem ferramentas amplamente utilizadas no cotidiano empresarial, já que as organi- zações almejam a todo momento a melhoria contínua dos resultados, seja através da maximização de receitas ou lucros, bem como, pela minimização de dispêndios ou custos. Em verdade, a Pesquisa Operacional pode ser encarada como uma metodologia administrativa voltada para a tomada de decisão gerencial com confiabilidade. Neste sentido, o entendimento dos conceitos citados é de fundamental relevância para o desempenho de diversos profissionais, e possibilitará a resolução de diversas aplicações nos mais variados contextos da ciência. Gostaria de desejar a todos ótimos estudos, que no final consigamos atingir todos os nossos obje- tivos por inteiro!!! “O único lugar onde sucesso vem antes de trabalho é no dicionário”. (Alessandro F. Alves) Dedicatória Prezados discentes, para um discente se tornar um profissional diferenciado no mundo glo- balizado atual, independentemente da sua área de atuação, é muito importante a persistência nos estudos, sendo assim, a dedicação e leitura contínua são pré-requisitos básicos para o sucesso pro- fissional. Para tal, use de sua curiosidade para buscar novos conceitos e exemplos da teoria estudada aqui, bem como, de novas aplicações que são resolvidas através dos métodos descritos neste texto. “A felicidade não se resume na ausência de problemas, mas sim na sua capacidade de lidar com eles”. (Albert Einstein) “Tempo e planejamento custa caro, ou seja, custa dinheiro”. (Benjamin Franklin) Agora é mãos à obra! Desde já os meus agradecimentos, Dr. Alessandro Ferreira Alves. Ementa Orientações Palavras-chave Ver Plano de Estudos da Disciplina Disponível no Ambiente Virtual e Materiais Diver- sos Complementares (aulas, arquivos diversos, artigos, etc.). Pesquisa Operacional. Programação Linear. Processo de Decisão. Modelos de Progra- mação Linear. Algoritmo dos Transportes. Unidade I 1.1 Aspectos Históricos Associados a Pesquisa Operacional 13 1.2 Aspectos Introdutórios da Pesquisa Operacional 15 1.3. O Processo de Tomada de Decisão ou Processo Decisório no Contexto da Ges- tão Empresarial 20 1.4. Características Principais do Processo Decisório 21 1.5. Tomada de Decisão, Modelagem e Fatores Influenciadores 22 1.6. Classificando as Decisões 24 1.7. Qualificando as Decisões 26 1.8. Conhecendo o Enfoque Gerencial da Pesquisa Operacional 27 1.8.1. O Enfoque Clássico 28 1.8.2. O Enfoque Atual 29 1.9 A Natureza da Pesquisa Operacional e Fases Específicas de Um Estudo de Pesqui- sa Operacional 30 1.10. Descrição das Principais Técnicas de Pesquisa Operacional 32 1.11. Conceitos Fundamentais e Informações Básicas da Programação Linear 33 1.12. Aplicações Cotidianas da Programação Linear 34 1.13. Campeões da Gestão Empresarial nos Anos 2000 37 Unidade II 2.1 Aspectos Introdutórios da Formulação de Modelos de Programação Linear 42 2.2 Diretrizes Específicas da Formulação de Modelos de Programação Linear 46 2.3 Formulando os Primeiros Modelos de Programação Linear 50 Unidade III 3.1 Aspectos Introdutórios da Formulação de Modelos de Programação Linear 93 3.2 Resolvendo Geometricamente Um Modelo de P.L. – O Método Gráfico 93 3.3. Análise de Sensibilidade: O que é? 106 3.3.1. Análise dos Coeficientes da Função Objetivo 107 3.3.2. Análise dos Lados Direitos das Restrições (LDRS) 109 3.4. Resolução de Modelos de P.L. Através da Implementação Numérica 110 3.4.1. O Programa Lingo 111 3.4.2. Exemplo Introdutório no Programa LINGO 111 3.5. O Programa VCN 118 3.6. A Descrição Formal do Método Simplex 131 3.6.1. Interpretando as Variáveis de Folga e as Soluções Básicas 132 3.6.2. Entendendo Um Pouco Mais o Simplex? 136 3.6.3. Como Construímos o Segundo Tableau? 142 3.6.4. Caracterização daNova Linha Principal 144 3.6.5. Interpretação das Mudanças na Função Objetivo 152 3.6.6. Como Proceder Com o Simplex nos Casos Envolvendo Minimização 171 Unidade IV 4.1. Aspectos Introdutórios da Formulação da Dualidade 178 4.2. Formulação do Problema Dual 178 4.3. Existe Alguma Analogia Entre as Soluções Primal e Dual? 186 4.4. O Algoritmo dos Transportes 187 4.5. Formalizando o Algoritmo dos Transportes 189 4.5.1. Situação Modelo 190 4.5.2. O Modelo Linear do Algoritmo dos Transportes 192 4.5.3. O Caso de Sistemas Não Equilibrados 193 4.5.4. Descrevendo o Algoritmo dos Transportes 196 4.6. Introduzindo o Problema da Designação 208 4.6.1 Descrevendo o Algoritmo do Problema da Designação 209 4.6.2. Analisando o Caso de Maximização 213 Unidade V 5.1. Aspectos Introdutórios da Simulação 220 5.2. Por quê Simular? 222 5.3. Descrevendo as Vantagens da Simulação 222 5.4. Introduzindo o Método Monte Carlo 223 5.5. A Utilização dos Números ao Acaso para Simular 228 5.6. Alguns Casos Interessantes Envolvendo a Teoria da Simulação 235 5.6.1 Simulação a Partir de Uma Distribuição Teórica 236 5.6.2. Simulação Simultânea de Duas Variáveis 238 5.7 Introduzindo a Teoria das Filas 248 5.8 As Filas de Todo Dia? O que são e como se Comportam? 248 5.9 Um Balanço sobre os Custos de Atender e de Não Atender 253 5.10 Mas, afinal como é a Estrutura de Uma Fila? 256 5.11.1 Fonte de Clientes 258 5.11.2. O Comportamento de Chegada de Clientes 259 5.12 O Comportamento de Chegada de Clientes 273 5.13 Características de Operação de Filas 274 5.14 Caracterização do Modelo de Canal Único 278 Referências Bibliográficas 287 Objetivos da Unidade I Enfoque Gerencial da Pesquisa Operacional e Processo de Tomada de Decisão Ao final desta unidade, o aluno será capaz de estar familiarizado com o processo de decisão e suas principais características, bem como, com o enfoque gerencial da Pes- quisa Operacional e seu desenvolvimento ao longo dos tempos, no contexto empre- sarial e industrial. “As soluções que mais interessam a uma organização são aquelas que aumentam a sua competitividade”. (Kaplan) 13 1.1 Aspectos Históricos Associados a Pesquisa Operacional Qual seria a importância da Pesquisa Operacional? Onde podemos utilizar tal aparato no co- tidiano das organizações? Grosso modo, de acordo com a literatura, o nome Pesquisa Operacional (P.O.) tem sua origem nas Forças Armadas do Reino Unido, onde entre os anos de 1939 e 1940, pesquisadores de diferentes áreas do conhecimento formaram pequenas equipes destinadas a dar apoio ao Comando das Operações Militares e obtiveram êxito em seus estudos (vitórias em diver- sas batalhas). Por esse motivo receberam a denominação de Equipes de Pesquisa de Operações (Operations Research). Após a segunda guerra mundial, a Pesquisa Operacional desenvolveu-se no setor industrial da Grã-Bretanha e em organizações militares e civis dos Estados Unidos, onde desde 1950 as indús- trias utilizam as técnicas de da Pesquisa Operacional (P.O.) para apoio à tomada de decisão. Segundo Silva (2010), desde a primeira revolução industrial, com o advento da fábrica, o ambiente empresarial vem substituindo o homem pela máquina com fonte de energia. Por outro lado, os governos promoveram o desenvolvimento de sistemas nacionais de transporte e comuni- cação. Consequentemente, expandiu-se a complexidade nas organizações empresariais e do Estado, tornando-se mais difícil a sua gestão. Particularmente no meio empresarial, tornou-se necessária a subdivisão em setores corres- pondentes às atividades de produção, comercialização, finanças e pessoal, e a função de avaliação do desempenho das unidades da organização no sentido de minimizar os efeitos dos respectivos interesses, quase sempre são conflituosos. Os problemas advindos desta complexidade levaram a administração industrial a compre- ender que os consultores em administração que não se baseavam nem na ciência, nem na pesquisa científica, não eram capazes de resolver os seus problemas. Esses consultores passaram a então ceder espaço para os analistas de Pesquisa Operacional (P.O.), que empregam os princípios da pes- quisa científica para elaborar os estudos de apoio ao dirigente. Com relação à empregabilidade da Pesquisa Operacional no Brasil, percebemos que sua utilização é pouca difundida no meio empresarial, restringindo-se, até recentemente, às empresas 14 estatais e às grandes empresas privadas, no entanto sua importância vem sendo percebida por mui- tas organizações e sua tendência é o crescimento acentuado, sobretudo devido ao desenvolvimento da informática. Veremos na parte de formulação de modelos de programação linear que a Pesquisa Operacional está bem próxima dos nossos problemas na área de administração por mais simples que sejam. Além disso, salientamos que atualmente diversos softwares de programação linear (área da Pesquisa Operacional que será base do nosso estudo), programação linear inteira, programação inteira-mista, programação zero-um e programação linear estão disponíveis no mercado, tais como o Excel (Solver), LINDO (Linear Interactive and Discrete Optimizer) TORA, AMPL e VCN. Vejamos a a seguir trajetória da Pesquisa Operacional ao longo do tempo. Tais informações foram baseadas em Segundo Silva (2010). II Guerra Mundial - Problemas complexos - Envolvimento multidisciplinar de cientistas (UK) - Desenvolvimento de técnicas matemáticas (USA) - Eficência e sucesso na área militar Transferência dos conhecimentos adquiridos para a área civil - Retorno dos cientistas para as universidades - Adaptação e aplicação das técnicas em atividades econômicas (empresas petrolífe- ras e grandes coorporações) - PO Vantagem Competitiva - Padronização dos problemas generalização do uso da PO 1 1 As primeiras atividades formais de Pesquisa Operacional (P.O.) foram iniciadas na Inglaterra durante a Segunda Guerra Mundial, quando uma equipe de cientistas britânicos decidiu tomar decisões com bases científicas sobre a melhor utilização de material de guerra. A fim de não ficarmos repetindo o termo Pesquisa Operacional toda vez que colocarmos P.O. significa a abre- viação de Pesquisa Operacional. 15 Década de 50 - 1952; Operations Research Society of America (ORSA) - 1953; Institute of Management Sciences (TIMS) - Operations Research e Management Sciences Atualmente - IFORS; International Federal of Operations Research Society - ALAIO; Associación Latino Americana de Investigación Operativa - SOBRAPO; Sociedade Brasileira de Pesquisa Operacional - Existem congressos, simpósios: “Production planning”, “OR in community health panning”, “OR models of the criminal justice system”, “Transportation and mass transit studies”, “Travel and tourism”, “Energy”, “Education models”, “OR applications in sports”. - Aplicações em indústrias, bancos, hospitais, instituições governamentais, universida- des, comércio, agricultura, informática. - Fundamental para as Organizações (planejamento estratético - tomada de decisão) É interessante notarmos que atualmente a Pesquisa Operacional é amplamente utilizada na gestão empresarial, constituindo assim uma das principais ferramentas da Ciência do Gerenciamen- to. Grosso modo, podemos citar um leque de organizações que obtiveram melhores resultados em diversos contextos, a partir da utilização de tal metodologia, como por exemplo; Apple, McDonald’s, Itaú, Texaco, Pão de Açúcar, CNN, Bank Boston, entre outros. “Teoria é quando nada funciona e todo mundo sabe porquê. Prática é quando tudo funciona, mas ninguém sabe o porquê.” (Anônimo) 1.2 Aspectos Introdutórios da Pesquisa Operacional Como vimos anteriormente, a terminologia “Pesquisa Operacional” apareceu pela primeira vez durante a Segunda Guerra, quando equipes de pesquisadores 16procuraram desenvolver métodos para resolver determinados problemas de operações militares. Devido ao grande sucesso dessas aplicações militares, o mundo acadêmico e empresarial passou a utilizar as técnicas criadas em problemas de administração. De acordo com Colin (2007) desde seu nascimento, esse novo campo de análise de decisão caracterizou-se pelo uso de técnicas e métodos científico qualitativos por equipes interdisciplinares, no esforço de determinar a melhor utilização de recursos limitados e para programação otimiza- da das operações de uma empresa. Essa característica multidisciplinar das operações de Pesquisa Operacional deu origem a um novo enfoque – o enfoque sistêmico – aos problemas de decisão das empresas, pois ultrapassou as fronteiras da especialidade. O especialista tem tendência natural a enquadrar todos os problemas dentro dos limites de sua cultura, mesmo porque é nesse campo que ele se sente mais confortável. No entanto, a natureza e o ambiente de negócios, mesmo que possam ser logicamente explicados pelo raciocínio especialista, são muito mais complexos e abrangentes e por isso exigem abordagem mais aberta que permita reconhecer os múltiplos aspectos envolvidos. Outra característica importante que a Pesquisa Operacional possui e que facilita muito o processo de análise de decisão é a utilização de modelos. Isto permite a “experimentação”, o que significa que uma decisão pode ser mais bem avaliada e testada antes de ser efetivamente imple- mentada. A economia de recursos e a experiência adquirida advindas da experimentação, por si sós, justificam o conhecimento e a utilização da Pesquisa Operacional como instrumento de gerência. Segundo Colin (2007), o imenso progresso da Pesquisa Operacional se deve também, em grande parte, ao desenvolvimento dos computadores digitais, em face de sua velocidade de pro- cessamento e capacidade de armazenamento e recuperação das informações. Outro fato que atu- almente muito contribui para o uso intenso de modelos em análise de decisões é a disseminação dos microcomputadores, que se tornaram unidades de processamento descentralizadas dentro das empresas. Isto está levando os profissionais de Pesquisa Operacional a desenvolver modelos mais versáteis, mais rápidos e, principalmente, interativos, que permitem maior participação do homem no desenrolar dos cálculos. Em termos acadêmicos vemos que a Pesquisa Operacional engloba quatro grandes áreas 17 conhecimento cientifico, que são mostradas na Figura 1 a seguir. Áreas do Conhecimento Matemática (Modelagem) Economia (Análise da viabilidade) Estatística (Simulação) Informática (Implementação Numérica) Figura 1 – As quatro áreas do conhecimento que são base para a Pesquisa Operacional Fonte: Adaptado do autor por Design Unis EAD De outra forma, analisaremos e reconheceremos a importância de cada uma delas ao longo da disciplina, mas inicialmente ressaltamos que as mesmas são o alicerce de estudo para a Pesquisa Operacional, onde em verdade, podemos descrever três grandes fases no planejamento de um es- tudo que envolva estas técnicas, como mostramos na Figura 2 a seguir. Preparação Análise Tomada de decisão Figura 2 – As fases de um planejamento de estudo em Pesquisa Operacional Fonte: Adaptado do autor por Design Unis EAD Em termos empresariais e/ou gerenciais, podemos analisar o planejamento quantitativo de um estudo em Pesquisa Operacional, como mostramos a seguir. - Formulação do Problema - Construção do Problema - Execução das Atividades - Implementação e Utilização 18 É interessante ser salientado que no contexto da solução de um problema no meio empre- sarial, pode-se visualizar um modelo visual conforme mostramos na Figura 3 a seguir. Identificar o Problema Formular e implementar o modelo Analisar o Modelo Testar os Resultados Implementar a solução Figura 3 – Modelo visual do processo de resolução de um problema no meio empresarial Fonte: Adaptado do autor por Design Unis EAD Mas afinal, o que poderíamos entender por Pesquisa Operacional? Qual seria a sua definição? Inicialmente, podemos colocar que não existe uma definição unânime para Pesquisa Operacional (P.O). Além disso, em um momento inicial, a Pesquisa Operacional é, mais, um conceito (abstração, ideia), muito abrangente, sobre a busca da melhor utilização (técnica, econômica, social, política) de recursos (escassos) e processos (diversos), através da aplicação de métodos científicos, visando a maior satisfação (utilidade, prazer) do cliente (usuário, público), definidos num contexto (conjunto, totalidade). De outra forma, cabe ressaltar que o desenvolvimento de um trabalho de P.O envolve equipes multi-disciplinares para a aplicação dos métodos científicos a problemas reais encontrados nos sistemas empresariais (financeiros ou estratégicos), como ferramenta auxiliar para a tomada de decisões, em quaisquer setores e níveis da economia. Neste sentido, citamos a seguir algumas definições peculiares da Pesquisa Operacional. Conceito (Daniel 2010) A Pesquisa Operacional como sendo uma metodologia administrativa (ou mé- todo cientifico) de tomada de decisões, cujo objetivo é fornecer ferramentas quantitativas ao 19 processo de tomada de decisões. (Colin 2007) A Pesquisa Operacional, que diz respeito à alocação eficiente de recursos escassos, é tanto uma arte como uma ciência. A arte reside na habilidade de exprimir os conceitos de efi- ciente e de escasso por meio de um modelo matemático bem definido para uma determinada si- tuação; a ciência consiste na dedução de métodos computacionais para solucionar tais modelos. (Moreira 2010) A Pesquisa Operacional diz respeito à alocação eficiente de recursos escassos, é tanto uma arte como uma ciência. A arte reside na habilidade de exprimir os conceitos de efi- ciente e de escasso por meio de um modelo matemático bem definido para uma determinada si- tuação; a ciência consiste na dedução de métodos computacionais para solucionar tais modelos. (Lachtermacher 2010) A Pesquisa Operacional é uma ferramenta extremamente qualificável para o trabalho de gestão, seja nos níveis gerencial, operacional ou estratégico, uma vez que fornece condições para melhor comunicação entre decisores e setores de uma organização. Definição Histórica: - “É um conjunto de problemas, técnicas de resolução e soluções, com características bem definidas, acumuladas sob o termo PO desde a década de 40 do século passado.” Definição Filosófica - “Pesquisa Operacional é o conjunto de conhecimentos relacionados com o processo cien- tífico de tomada de decisão, aplicadas no projeto e operação de sistemas homem-máquina, em um ambiente com recursos restritos.” 20 1.3. O Processo de Tomada de Decisão ou Processo Decisório no Contexto da Ges- tão Empresarial Uma vez que a Pesquisa Operacional é um ramo da ciência administrativa que fornece ins- trumentos para análise de decisões, logo devemos estudar um pouco sobre a Teoria das Decisões, ou seja, devemos entender nas entrelinhas o significado de “decisão” a fim principalmente de rela- cionarmos com o universo atual da gestão como um todo. Grosso modo, de acordo com Lachtermacher (2009), o termo decisão é proveniente do latim decisio, a decisão é uma determinação ou resolução que se toma acerca de uma determinada coisa. Como regra geral, a decisão supõe iniciar ou pôr fim a uma situação; isto é, impõe uma mu- dança de estado. Os especialistas definem a decisão como sendo o resultado de um processo men- tal-cognitivo de uma pessoa ou de um grupo de indivíduos. Conhece-se como tomada de decisões ao processo que consiste em optar por uma entre várias alternativas. Nosso objetivo é a procura de entendimento das características principais do processo e de suas dificuldades, deforma que possamos compreender como a Pesquisa Operacional, vista como um conjunto de técnicas quantitativas nos auxilia na gerência para a preparação e tomada de deci- são. Apesar da evidência de que qualquer pessoa sabe o significado do termo decisão, vamos comentar os diversos tipos possíveis, uma vez que as técnicas para preparação de decisões variam com a natureza do problema e com o tipo de decisão que deve ser tomada. Existem várias definições e conceitos de decisão, mas uma que exprime bem a forma como será tratada aqui diz que “uma decisão é um curso de ação escolhido pela pessoa, como o meio mais efetivo à sua disposição para alcançar os objetivos procurados, ou seja, para resolver o problema que a incomoda”. Sendo assim, interpretamos a decisão como um resultado de um processo que se desen- volve a partir do instante em que o problema foi detectado, o que ocorre geralmente através da percepção de sintomas. Assim, o processo de decisão empresarial se inicia quando uma pessoa ou grupo percebe sintomas de alguma coisa está saindo do estado normal desejado ou planejado. A 21 partir dessa percepção, inicia-se a fase de identificação do problema, que é o verdadeiro começo do processo decisório, conforme ilustra a Figura 04 abaixo. Percepção de Sintomas Identificação do Problema Processo de Decisão Figura 4 – O início do processo de decisão empresarial Fonte: Adaptado do autor por Design Unis EAD Desta maneira, segundo Lachtermacher (2009) as organizações procuram desenvolver suas equipes de forma a criar capacitação e mecanismo para que esse processo se desenvolva com rapi- dez e naturalidade, já que percebemos atualmente um grande dinamismo de mercado. Este conceito de decisão como um processo gerencial explicita claramente a importância das atividades de preparação na tomada da decisão, e é por esta razão que vamos começar nossa análise da teoria por suas características principais. 1.4. Características Principais do Processo Decisório Podemos enumerar de forma bastante simples as características principais do processo de- cisório que têm importância na conceituação de racionalidade da ação gerencial, que são: - O processo de decisão é sequencial, isto é, temos uma sequência natural para a implantação do mesmo; - É um processo complexo, isto é, o processo na sua grande maioria exige um alto grau de comple- xidade na implantação, acompanhamento e execução; - É um processo que envolve valores subjetivos; - É um processo desenvolvido dentro de um ambiente institucional com regras mais ou menos defi- nidas, isto é, o processo de decisão é desenvolvido seguindo as regras de cada instituição (empresa). 22 A Figura 5 a seguir nos mostra de forma resumida as principais características que envolvem o processo de decisão. Aspectos Subjetivos Complexo Sequencial Regras Institucionais Figura 5 – As características do processo de decisão Fonte: Adaptado do autor por Design Unis EAD 1.5. Tomada de Decisão, Modelagem e Fatores Influenciadores A Pesquisa Operacional como uma metodologia administrativa voltada para a tomada de decisão gerencial com confiabilidade, se baseia principalmente em modelos para descrição de situa- ções reais e, por conseguinte, para a maximização dos resultados independentemente do problema a ser solucionado. Assim sendo, podemos citar como vantagens da modelagem com relação ao processo de decisão: - Modelos obrigam os tomadores de decisão a tornarem explícitos seus objetivos. - Modelos foçam a identificação e armazenamento de diversas decisões que influenciam no atingi- mento dos objetivos. - Modelos forçam a identificação e armazenamento das relações entre diferentes decisões. - Modelos forçam a identificação de limitações. - Modelos forçam a determinação de variáveis a serem consideradas e sua quantificação. - Modelos permitem a comunicação e o trabalho em grupo (ou equipe). 23 Por outro lado, é importante também analisarmos alguns fatores que podem influenciar de forma significativa com relação ao processo decisório; que são: Importância, Risco, Agentes, Confli- tos, Ambiente e Tempo. Especificamente falando, de acordo com Colin (2007), temos que: Importância: Relaciona-se com o impacto da decisão pode acarretar na organização. Risco: Incertezas que influenciam as decisões. Agentes: Número de decisores. Conflitos: Consequência do choque de interesses entre setores e/ou decisores. Ambiente: Aspectos socioculturais que interferem nas decisões. Tempo: Tempo disponível para a tomada de decisões. Segundo Lachtermacher (2009) Risco e Incerteza são fenômenos bem dife- rentes. Grosso modo, risco está associado a situações em que a distribuição de probabilidades (aquela onde as probabilidades de acontecerem e o suces- so estão definidos num intervalo de valores e não em apenas num ponto) dos retornos sobre um dado negócio ou projeto possa ser estimada. Contra- riamente, incerteza está associada a situações em que não existem evidências suficientes, até para estimar uma distribuição de probabilidades. Neste sentido, podemos classificar os problemas com relação a tomada de decisão, como mostramos a seguir: Decisão tomada sob risco • - São aquelas onde podemos, objetiva ou subjetivamente, atribuir probabilidades de ocorrência aos estados da natureza Decisão tomada sob incerteza • - São aquelas onde desconhecemos e não podemos atribuir probabilidade aos estados da natureza; • - Conhecemos os estados possíveis mas não temos para eles probabilidades estabelecidas Figura 6 – Classificação dos problemas com relação a tomada de decisão Fonte: Adaptado do autor por Design Unis EAD 24 1.6. Classificando as Decisões Os problemas que exigem decisões em administração e/ou gestão de uma forma geral, podem ser classificados segundo diversos critérios. Como nosso interesse neste momento é discu- tir as características das decisões de forma a nos permitir entender melhor as diversas técnicas de aprimorar a racionalidade da decisão, vamos apresentar uma classificação geral em que as decisões são vistas à luz do nível em que ocorrem dentro da empresa e do grau de complexidade envolvido. Os dois critérios que utilizaremos que são o nível estratégico e o grau de estruturação, são descritos abaixo de acordo com Daniel (2010): - Nível Estratégico: o nível estratégico de uma decisão diz respeito à sua importância e abrangência com relação à organização. Quanto mais as atividades e os resultados de uma organização forem afetados pela decisão, mais estratégica ela será. - Grau de estruturação: O grau de estruturação como o próprio nome diz, refere-se à disponibili- dade de indicadores, em ordens ou passos, que possibilitam a repetição e o alcance dos resultados em um processo decisório, em outras ocasiões ou situações. Dessa forma, o grau de estruturação diz respeito à possibilidade de uma decisão ser acompanhada em seu processo de preparação e de conclusão, ou mesmo de ser reproduzida por outras pessoas com os mesmos resultados. Desta forma, uma decisão é tão mais estruturada quanto mais intimamente o processo de ser acompanhado ou mesmo repetido, em outras ocasiões e, eventualmente, até em outros ambientes. Ao contrário, quanto maior o nível de incerteza envolvidas nos dados ou o grau de subjetividade embutido na decisão, menos estruturada ela será. As Figuras abaixo nos mostram esta classificação das decisões e um exemplo de problema de cada tipo. Ressaltamos ainda, que a forma de abordagem de cada um dos problemas e o apoio neces- sário para a solução sofre variações caso a caso, isto é, de um tipo para outro. 25 Grau de Estruturação (Alto) Administração de Estoques (Nível Estratégico – Operacional) Programação da Produção (Nível Estratégico – Gerencial) Localização de uma nova fábrica (NívelEstratégico – Corporativo) Figura 7 – Exemplo de Tipo de Decisão - Grau de Estruturação: Alto Fonte: Adaptado do autor por Design Unis EAD Grau de Estruturação (Médio) Financiamento de Capital de Giro (Nível Estratégico – Operacional) Programação Orçamentária (Nível Estratégico – Gerencial) Diversificação por Aquisição de Uma Empresa (Nível Estratégico – Corporativo) Figura 8 – Exemplo de Tipo de Decisão - Grau de estruturação: Médio Fonte: Adaptado do autor por Design Unis EAD Grau de Estruturação (Baixa) Escolha de Capa de Revista (Nível Estratégico – Operacional) Contratação de um Diretor (Nível Estratégico – Gerencial) Programa de Pesquisa e Desenvolvimento (Nível Estratégico – Corporativo) Figura 9 – Exemplo de Tipo de Decisão - Grau de estruturação: Baixo Fonte: Adaptado do autor por Design Unis EAD A título de informação observe a Tabela 1 a seguir que nos mostra os níveis de decisão e o alcance temporal das mesmas em alguns objetos. 26 Tabela 1 – Níveis de decisão sobre alguns objetos com alcance temporal caracterizado Fonte: Adaptado do autor por Design Unis EAD Níveis de Decisão Objeto Alcance Temporal Estratégica Relações da empresa com meio ambiente (por exemplo; decisões de capital) Médio ou Longo Prazo Administrativa Organização (interna) da empresa Médio ou Longo Prazo Operacional Processo de Produção (ou de transformação) Curto ou Médio Prazo 1.7. Qualificando as Decisões Notemos que falar em uma decisão de alta ou baixa qualidade é muito subjetivo. Desta forma, percebemos que definir o que seja uma decisão de alta qualidade é uma tarefa muito difícil e discutível, e é praticamente impossível de se obter um consenso geral. Às vezes, uma decisão apa- rentemente inadequada ou mesmo irracional para algumas pessoas hoje, torna-se um sucesso no futuro, e causará admiração o fato de ter sido possível decidir daquela forma quando tudo indicava o contrário. Todavia, felizmente, segundo Daniel (2010) a maioria das decisões segue um padrão mais perceptível de raciocínio, e assim podemos identificar algumas características do que seria uma de- cisão de qualidade (pelo menos dentro de nossa formação cultural e visão do mundo). Afirmamos ainda, que uma decisão apresenta elevada qualidade quando, de forma eficaz e efetiva, garante a realização dos objetivos pré-estabelecidos, para os quais os meios e recursos foram reservados. Essa definição permite distinguir três características principais que possibilitariam a avaliação da qualidade de uma decisão, que são: - A satisfação dos interesses envolvidos; - A adaptação dos meios necessários aos objetivos procurados; 27 - A consistência do curso de ação. Desta maneira, poderíamos dizer que a qualidade de uma decisão é tão mais elevada quanto maior for o grau de participação dessas três características no processo decisório em questão. A figura a seguir enumera as principais características que nos permite a mensuração da qualidade de uma decisão. Avaliação da Qualidade de Uma Decisão Satisfação dos Interesses Envolvidos Adaptação dos Meios Necessários aos Objetivos Procurados Consistência do Curso de Ação Tabela 2 – Principais características para mensuração da qualidade de uma decisão Fonte: Adaptado do autor por Design Unis EAD 1.8. Conhecendo o Enfoque Gerencial da Pesquisa Operacional Antigamente, tínhamos uma visão um pouco arcaica com relação ao tratamento dado a Pes- quisa Operacional. Ao longo dos anos, segundo Colin (2007) com a procura do meio empresarial e com o desenvolvimento de pacotes computacionais específicos, a Pesquisa Operacional tem sido vista pelos gerentes e praticantes sob dois enfoques diferentes quanto à abordagem, mas coerentes e complementares na aplicação prática no campo da gestão empresarial, que são: - Enfoque Clássico (ou Tradicional): que simplesmente busca a otimalidade do processo, isto é, bus- ca a solução ótima do problema real pesquisado. - Enfoque Atual: que utiliza dos modelos (versão simplificada da realidade) para identificação do verdadeiro problema. 28 Vejamos as especificidades de cada um. 1.8.1. O Enfoque Clássico De acordo com Lachtermacher (2009) o enfoque clássico ou tradicional é derivado do con- ceito quantitativo clássico da Pesquisa Operacional. Aqui a Pesquisa Operacional é definida como a arte de aplicar técnicas de modelagem a problemas de decisão e resolver os modelos obtidos atra- vés da utilização de métodos matemáticos e estatísticos, visando à obtenção de uma solução ótima, sob uma abordagem sistêmica. Essa definição, conceitualmente exata, leva a ideia que grande parte dos administradores tem – de que a Pesquisa Operacional apenas fornece um conjunto de técnicas e métodos que são úteis para a solução de determinados problemas, quando estes podem ser modelados na forma correta. Como os modelos são representações simplificadas da realidade, como veremos mais à frente, as soluções ótimas obtidas podem deixar a desejar quanto à sua aplicabilidade. Esse enfoque de busca da solução ótima para os problemas foi, por muito tempo, extre- mamente útil ao desenvolvimento dessa metodologia, pois alinhou em torno de si um contingente numeroso de matemáticos, engenheiros, físicos, economistas e pessoas de muitas outras especiali- dades, pesquisando e desenvolvendo métodos para a solução de problemas. No entanto, na área da administração, essa linha tradicional esbarrou no fato de que os ad- ministradores de nível mais elevado dentro das empresas (que são os que efetivamente tomam as decisões) se sentiam incomodados com o rigor matemático dos métodos de Pesquisa Operacional e, muitas vezes, frustrados pela pouca flexibilidade dos modelos que somente respondiam a pergun- tas padronizadas. Desta forma, os executivos viam, e ainda veem a Pesquisa Operacional como uma parte da ciência administrativa que desenvolveu métodos operacionais que servem, às vezes, para resolver certos tipos de problemas. 29 1.8.2. O Enfoque Atual Segundo Lachtermacher (2009) a outra visão decorre de um conceito qualitativo da Pesquisa Operacional. O esforço despendido para a modelagem de um problema leva a uma compreensão mais profunda do próprio problema, identificando melhor seus elementos internos, suas interações com o ambiente externo, as informações necessárias e os resultados possíveis de se obter. A importância da Pesquisa Operacional estaria, então, na sua influência sobre o modo pelo qual os administradores abordam os problemas, na maneira como os formulam, na avaliação que fazem do relacionamento com outros problemas e na forma usada para sua comunicação a outras pessoas. Nessa abordagem qualitativa, o enfoque central é deslocado do método de solução (geral- mente um algoritmo matemático complexo) para a formulação e para modelagem, ou seja, para o diagnóstico do problema. Perde importância o rigor matemático da solução, e ganham relevância o espírito crítico, a sensibilidade para descobrir o problema correto e analisar quais informações são fundamentais para a decisão e quais são acessórias, apenas completando sem, no entanto, afetando os resultados. O enfoque qualitativo da Pesquisa Operacional é o reconhecimento de que a abordagem quantitativa dos problemas fornece uma estrutura de raciocínio e análise que permite desenvolver a “visão sistêmica” do processo. Como foi dito anteriormente, informação abundante atrapalha tanto quanto a falta de in- formação. E, como toda informação tem um custo, o problema principal seria avaliar o potencial da informação com relação a seu custo. Podemos considerar que a finalidade de toda informação é reduzir o grau de incerteza en- volvido na decisão. Assim, a informação só tem valor no contexto de uma situação especifica, e sua importância para o administradorreside na possibilidade de poder alterar a decisão. É nesse aspecto do problema de decisão que a Pesquisa Operacional cumpre uma função importante. Na ausência de uma abordagem quantitativa para avaliar o potencial da nova informa- ção, a decisão de comprá-la é mais governada pelo temor do desconhecido do que por uma análise 30 racional de custos e benefícios. Tem sido amplamente comprovado que o conhecimento de disciplinas exatas e o treina- mento em abordagem quantitativa de problemas levam o administrador a pensar nos problemas em termos precisos e usar técnicas elaboradas de análise, procurando enfocar a estrutura básica dos problemas em vez de suas características particulares. O resultado, em muitos casos, não é uma nova ferramenta de administração, mas uma nova estrutura conceitual de trabalho para o adminis- trador, uma nova maneira de pensar. 1.9 A Natureza da Pesquisa Operacional e Fases Específicas de Um Estudo de Pesqui- sa Operacional De acordo com Colin (2007) um estudo de pesquisa operacional consiste, basicamente, em construir um modelo de um sistema real existente como meio de analisar e compreender o com- portamento dessa situação, com o objetivo de levá-lo apresentar o desempenho que se deseja. Este sistema pode existir atualmente ou pode ainda estar em concepção. No primeiro caso, o objetivo do estudo é analisar o desempenho do sistema para escolher uma ação no sentido de o objetivo do estudo é analisar o desempenho do sistema para escolher uma ação no sentido aprimo- rá-lo. No segundo, o objetivo é identificar a melhor estrutura do sistema futuro. A complexidade de um sistema real, conforme foi mostrado anteriormente quando dis- cutimos a Teoria da Decisão, resulta do fato de que seu comportamento é influenciado por um número muito grande de elementos ou variáveis. Esta é a razão que leva á principal dificuldade em recomendar ações específicas de acompanhamento para cada variável. No campo da administração, os sistemas com os quais os gerentes lidam têm esta caracterís- tica, com a agravante de que a tendência é o aumento dessa complexidade, em ritmo cada vez mais acelerado, em face das condições existentes nos ambientes sociopolítico, econômico e negocial. Todavia, mesmo uma situação real, que envolva um número muito grande de variáveis, tem seu comportamento fundamentalmente influenciado por uma quantidade reduzida de variáveis prin- cipais. Dessa forma, a simplificação do sistema real em termos de um modelo passa primeiramente 31 pela identificação dessas variáveis principais. A figura a seguir, representa esta simplificação. O sistema real reduzido é o núcleo do siste- ma existente que, basicamente, dita o comportamento deste e que pode ser modelado, para efeito de análise, por uma estrutura simplificada. Sistema Real Sistema Real Sistema Real Sistema Real Formulação: liberdade, arbitrariedade e coerência Modelo é uma representação simplificada/idealizada, que visa obter informações sobre o sistema real com economia de tempo e recursos Dedução: uso de técnicas dependentes do modelo formulado, rigor matemático e precisão, uso de computadores Interpretação: julgamento humano, reavaliação do modelo Interpretação Formulação Abordagem Direta Dedução Figura 10 – Representação simplificada do processo de modelagem - adaptada de Colin (2007) Fonte: Adaptado do autor por Design Unis EAD Além disso, cabe ressaltarmos que em termos formais e específicos, um estudo em Pesquisa Operacional apresenta algumas fases, que são colocadas nas entrelinhas a seguir, segundo Lachter- macher (2009). - Formulação do Problema: Aqui o gestor/administrador do sistema e o responsável polo estudo em P.O. deverão discutir, no sentido de colocar o problema de maneira clara e coerente, definindo os objetivos a alcançar e quais os possíveis caminhos alternativos para que isso ocorra. - Construção do modelo do sistema: Os modelos que interessam em Pesquisa Operacional são os modelos matemáticos, isto é, modelos formados por um conjunto de equações e inequações. 32 - Cálculo da solução através do modelo: É feito através de técnicas matemáticas específicas. A cons- trução do modelo deve levar em consideração a disponibilidade de uma técnica para o cálculo da solução. - Teste do modelo e da solução: Esse teste é realizado com dados empíricos do sistema. Se houver dados históricos, eles serão aplicados no modelo, gerando um desempenho que pode ser compa- rado ao desempenho observado no sistema. - Estabelecimento de controles da solução: Construção e experimentação com o modelo identi- ficam parâmetros fundamentais para solução do problema. Qualquer mudança nesses parâmetros deverá ser controlada para garantir a validade da solução adotada. - Implantação e acompanhamento: Nesta fase, a solução será apresentada ao administrador, evitan- do-se o uso da linguagem técnica do modelo. O uso da linguagem do sistema em estudo facilita a compreensão e gera boa vontade para a implantação que está sendo sugerida. 1.10. Descrição das Principais Técnicas de Pesquisa Operacional A seguir, enumeramos algumas daquelas que são consideradas as principais técnicas utiliza- das pela Pesquisa Operacional para o desenvolvimento do estudo sobre situações reais. - Programação Linear (Base para o nosso estudo): Sem dúvida nenhuma, é o mais popular dos modelos matemáticos, estruturado para resolver problemas que apresentem variáveis que possam ser medidas e cujos relacionamentos possam ser expressos por meio de equações e/ou inequações lineares. Em termos formais, a Programação Linear (P.L.) é um modelo matemático desenvolvido para resolver determinados tipos de problemas onde às relações entre as variáveis relevantes pos- sam ser expressas por equações e inequações lineares. - Programação Não-linear: Neste caso, estão envolvidas não apenas equações e inequações lineares, mas também equações e inequações não-lineares. 33 - Teoria de Filas: O estudo de filas trata da quantificação do fenômeno da espera em filas usando medidas representativas de desempenho como o comprimento médio de uma fila, o temo médio de espera em fila e a média de utilização da instalação. Aparecem naturalmente nos nossos dias. - Simulação: Na prática, a simulação envolve frequentemente o uso do computador. A simulação envolve a construção de uma modelo aproximado da realidade, o qual será operado muitas e muitas vezes, analisando-se então seus resultados para que ele possa ser mais bem compreendido, mani- pulado e controlado. - Otimização em Redes: os problemas de otimização de redes incluem situações tais como encon- trar o modo mais eficiente de ligar várias localidades direta ou indiretamente, achar o caminho mais curto entre duas cidades, determinar o fluxo máximo em uma rede de tubulações que satisfaça requisitos de suprimento e demanda em diferentes locais a programar as atividades de um projeto. 1.11. Conceitos Fundamentais e Informações Básicas da Programação Linear Vejamos alguns conceitos fundamentais e informações básicas para o desenvolvimento de nossos propósitos, especificamente falando, com relação a Programação Linear. - A Programação Linear é uma técnica de planejamento que se originou no final da década de 40 e, com o surgimento do computador na década de cinqüenta, encontrou o seu aliado natural, tendo então um desenvolvimento acelerado e sendo também muito difundida. - Estudos Estatísticos (Análise Quantitativa de Mercado) têm mostrado que a Programação Linear é hoje uma das técnicas mais usadas da Pesquisa Operacional. - Modelo é uma versão simplificada de uma situação real, ou seja, descreveremos de forma simplifi- cada com a ajuda da Matemática, Economia, Estatística e Informática uma situação problema através 34de um modelo matemático, que será formulado, analisado e interpretado para a tomada de decisão qualificada. - Aplicações da Programação Linear são frequentes nas diversas empresas do nosso cotidiano. Em outras palavras, interpretamos a Programação Linear como uma ferramenta utilizada para encontrar o lucro máximo ou o custo mínimo em situações nas quais temos diversas alternativas de escolha sujeitas a algum tipo de restrição ou regulamentação (técnica de otimização). - Devemos salientar de forma bem simples, que Programação para nós em verdade significa é signi- ficado de Planejamento). 1.12. Aplicações Cotidianas da Programação Linear Vejamos algumas das principais aplicações que envolvem a tomada de decisão, que são si- tuações estudadas evidentemente na Pesquisa Operacional e consequentemente na Programação Linear. - Investimento: Hoje, existem inúmeras oportunidades de investimento disponíveis para os investi- dores. Exemplos de problemas de investimentos são orçamentos de capital para projetos, estratégia de investimentos em títulos, seleção de carteira de ações e determinação da política de empréstimos bancários. Em muitas dessas situações, a Programação Linear pode ser usada para selecionar o mix ótimo de oportunidades que maximizará o retorno, atendendo às condições estabelecidas pelo investidor. - A Arbitragem de Moedas: Na Economia globalizada de hoje, uma empresa multinacional tem de lidar com as moedas dos países onde opera. A arbitragem de moedas, ou compra e venda simul- tâneas de moedas, em diferentes mercados, oferece oportunidades para movimentação vantajosa de dinheiro de uma moeda para outra. Por exemplo, converter £1.000 em dólares americanos em 35 2001 a uma taxa de câmbio de $1,60 por £1 resultará em $1.600. - Planejamento de Produção e Controle de Estoque: Há inúmeras aplicações de Programação Linear em controle da produção e de estoque, indo desde a simples alocação de capacidade de máquina para atender à demanda até o caso mais complexo da utilização de estoque para “atenuar” o efeito da mudança imprevisível na demanda para determinada projeção de planejamento e da utilização de contratação e demissão para enfrentar as mudanças nas necessidades de mão-de-obra. - Planejamento Urbano: Trata de três áreas gerais: 1) A construção de novos projetos habitacionais; 2) Recuperação de áreas habitacionais e recreacionais urbanas deterioradas; e 3) Planejamento de instalações públicas (como escolas e aeroportos). As restrições associadas com esses projetos são tanto econômicas (terreno, construção, financiamento) quanto sociais (escolas, parques, nível de renda). Os objetivos do planejamento urbano variam. No desenvolvimento de projetos habitacio- nais, de modo geral o lucro é o motivo para a consecução do projeto. Nas duas categorias, restantes, os objetivos envolvem considerações sociais, políticas, econômicas e culturais. De fato, em um caso divulgado em 2004, o prefeito de São Paulo queria condenar uma área antiga da cidade para dar lugar a um projeto habitacional de alto padrão. O motivo era aumentar a arrecadação de impostos para ajudar a amenizar a insuficiência orçamentária. - Rotas de Transporte (Algoritmo dos Transportes): Qual deve ser o roteiro de transporte de ve- ículos de carga de modo que entreguem toda a carga no menor tempo e no menor custo total? - Mistura e Refinação: Várias aplicações de Programação Linear tratam da mistura de diferentes materiais de entrada para produzir produtos que obedecem a certas especificações e, ao mesmo tempo, minimizar o custo ou maximizar o lucro. - Planejamento de mão-de-obra: Variações na mão-de-obra para atender à demanda variável ao longo do tempo podem ser obtidas por meio do processo de contratação e demissão. Existem 36 situações em que o efeito das variações na demanda pode ser absorvido pelo ajuste dos horários de início e término de um turno de trabalho. - Siderurgia: Quais minérios devem ser carregados no alto-forno de modo a se produzir, ao menor custo, uma liga de aço dentro de determinadas especificações de elementos químicos? - Localização Industrial: Onde devem ser localizadas as fábricas e os depósitos de um novo empreen- dimento industrial de modo que os custos de entrega do produto aos varejistas sejam minimizados? - Petróleo: Qual deve ser a mistura de petróleo a ser enviada para uma torre de craqueamento para produzir seus derivados (gasolina, óleo, etc.) a um custo mínimo? Os petróleos são de diversas procedências e possuem composições diferentes. - Manufatura: Qual deve ser a composição de produtos a serem fabricados por uma empresa de modo que se atinja o lucro máximo, sendo respeitadas as limitações ou exigências do mercado comprador e a capacidade de produção da fábrica? - Carteira de Investimentos: Quais ações devem compor uma carteira de investimentos de modo que o lucro seja máximo e sejam respeitadas as previsões de lucratividade e as restrições governa- mentais? - Agricultura: Que alimentos devem ser plantados de modo que o lucro seja máximo e sejam res- peitadas as características do solo, do mercado comprador e dos equipamentos disponíveis? - Mineração: Em que sequência deve-se lavrar os blocos de minério abaixo do solo, dados sua com- posição, posicionamento e custos de extração? - Alimentação: Que alimentos as pessoas (ou animais) devem utilizar a fim de que seja mínimo, e 37 os mesmos possuam os nutrientes nas quantidades adequadas, e que também atendam a outros requisitos, tais como variedade entre as refeições, aspecto, gosto, etc? 1.13. Campeões da Gestão Empresarial nos Anos 2000 Com relação aos anos entre 2000 e 2010, podemos citar algumas importantes corporações que conseguiram reduzir drasticamente os custos através do estudo programado desta ciência e com medidas estratégicas associadas bem-sucedidas, dentre elas citamos a Motorola, a Waste Ma- nagement, a Hong Kong Internalional Terminals e a John Deere Company. - Na virada do século, a Motorola enfrentou uma crise provocada pelas condições econômicas em seus mercados. A empresa precisava reduzir custos de maneira drástica e rápida. Um alvo natural desse corte de gastos eram suas compras de mercadorias e serviços, já que essas despesas repre- sentavam mais da metade de seus custos. A Motorola decidiu criar um sistema com base na internet para realizar negociações de várias etapas e licitações para a escolha de fornecedor. O sistema criado pela empresa pode processar ofertas e restrições complexas, como ofertas em pacote, descontos com base em volume e limites de capacidade. Além disso, pode-se otimizar prêmios de vários pro- dutos e fornecedores sujeitos a essas restrições e a programações de preços não lineares. Benefícios: Em 2003, a Motorola usou esse sistema para corrigir 56% de seus gastos totais com 600 usuários e obteve uma economia total superior a $600 milhões. - Waste Management é a principal empresa da América do Norte no setor de coleta de resíduos. Tem uma frota de mais de 26 mil veículos, que recolhem os resíduos de quase 20 milhões de clien- tes residenciais, além de outros dois milhões de clientes comercias. Para melhorar a coleta de lixo e tornar suas operações mais eficientes, a Waste Mangement implementou um aplicativo de geração de rotas para os veículos, a fim de otimizar o processo de coleta. Benefícios: A implantação bem- sucedida desse sistema trouxe benefícios que incluíram a eliminação de quase mil rotas no primeiro ano de implementação e uma economia anual estimada de $44 milhões. 38 - Hong Kong tem o porto mais movimentado do mundo. Seu maior operador, Hong Kong Inter- nacional Terminals (HIT), cujo terminal de contêineres é o mais movimentado do mundo, atende a mais de 125 navios por semana, conta com dez ancoradouros e um pátio de armazenamentocom 122 guindastes para mover os contêineres por seus 227 acres. Milhares de caminhões movem os contêineres para dentro e para fora do pátio diariamente. O HIT implementou um sistema de suporte à decisão (com vários modelos e algoritmos de decisão incorporados) para guiar suas de- cisões operacionais em relação ao número e a implantação de caminhões para mover contêineres, a atribuição de guindastes de pátio e aos locais de armazenamento para contêineres. Benefícios: O efeito cumulativo desse sistema levou a uma redução de 35% nos custos de manipulação do con- têiner, a um aumento de 50% no resultado final e a uma melhoria de 30% no tempo de retorno da embarcação. - A John Deere Company vende equipamentos de jardinagem, cortadores de grama residenciais e comerciais e tratores utilitários através de uma rede de 2.500 revendedores, com o apoio de cinco armazéns da Deere. Cada revendedor armazena cerca de cem produtos, levando a aproximada- mente 250 mil locais de estocagem. Além disso, a demanda é muito sazonal e estocástica. A Deere implementou um sistema criado para otimizar sistemas de inventário estocástico, mult-echelon, não estacionário em larga escala. Ela executa o sistema toda semana a fim de obter níveis de estocagem recomendados para cada produto e para cada local de estocagem por semana, além do horizonte de planejamento de 26 semanas. Benefícios: O impacto da aplicação foi incrível, levando a uma redução do inventário equivalente a quase um bilhão de dólares e à melhoria dos níveis de serviço ao cliente. 39 Vimos nessa primeira unidade, em termos específicos, as principais informações acerca do processo decisório e da Pesquisa Operacional, des- de aspectos históricos até a aplicabilidade no contexto atual. Num primeiro momento, percebemos que em linhas históricas a Pesquisa Operacional pode ser entendida como: "Um conjunto de pro- blemas, técnicas de resolução e soluções, com características bem definidas, acumuladas sob o termo PO desde a década de 40 do século passado". Contrariamente, em termos filosóficos: "Pesquisa Operacional é o conjunto de conhecimentos relacionados com o processo científico de tomada de decisão, aplicados no projeto e operação de sistemas homem-máquina, em um ambiente com recursos restritos". Entretanto, com a revolução industrial e com o desenvolvimento tecnológico a Pesquisa Operacional passou a ser vista como uma ferramenta extremamente qualificável para o trabalho de gestão, seja nos níveis gerencial, operacional ou estratégico, uma vez que fornece condições para melhor comunicação entre decisores e setores de uma organização. É evidente que as organizações atualmente, buscam a maximização de seus resultados, sejam através da maximi- zação de receitas ou através da minimização de despesas. Em outras palavras, isso nos mostra que a Pesquisa Operacional atualmente é uma metodologia administrativa ou método científico voltado para a tomada de decisão gerencial com confiabilidade. É interessante descrevermos também, que quando se fala no contexto do processo de- cisório, vimos que o mesmo apresenta algumas características peculiares, tais como a sequencia- lidade, complexidade, subjetividade e envolvendo regras institucionais (ou seja, da organização em questão). Inicialmente, foi colocado que o processo de decisão é um conjunto específico de técnicas que auxiliam o tomador de decisão (gestor ou administrador) a reconhecer as par- ticularidades do seu problema e a estruturá-lo. Além disso, decisão é um termo proveniente do latim “decisio”, significando um curso de ação escolhido como o meio mais efetivo a sua disposição, para obter os objetivos procurados (resolver o problema detectado). Salienta-se ainda, que de modo bem peculiar, falar em boas decisões não significa descrever bons resultados e, nesse contexto, a modelagem pode contribuir de forma significa 40 para a melhoria dos resultados, nascendo assim, uma das principais técnicas da Pesquisa Ope- racional, que é a Programação Linear, alicerçada na construção de modelos, que representam necessariamente situações reais de modo simplificado. Desta forma, na próxima Unidade estaremos interessados na formulação de modelos de Programação Linear, envolvendo diversas situações cotidianas e várias áreas do conheci- mento, desde a gestão empresarial até a gestão industrial. “Existem três tipos de empresas: Empresas que tentam levar os seus clientes onde eles não querem ir; empresas que ouvem os seus clientes e depois respondem às suas necessidades; e empresas que levam os seus clientes aonde eles ainda não sabem que querem ir.” (Gary Hamel) Objetivos da Unidade II Formulação de Modelos de Programação Linear Ao final desta unidade, o aluno será capaz de interpretar os principais elementos na construção de um modelo de programação linear, bem como, aplicar tal técnica na modelagem de diversas situações cotidianas. 42 2.1 Aspectos Introdutórios da Formulação de Modelos de Programação Linear É interessante observarmos que segundo Colin (2007), desde a antiguidade vários cientistas, tais como, Euclides, Newton, Lagrange, Leontief, Von Neumann, dentre outros, tem dedicado seus estudos à pesquisa do ótimo. Grosso modo, como já foi comentado anteriormente, a área específica que estuda Proble- mas de Otimização é a Pesquisa Operacional, com a sua subárea Programação Linear, que engloba uma ampla classe de problemas, que comparecem frequentemente no nosso mundo atual. Salien- tamos mais uma vez que o termo programação aqui, significa que existe um planejamento das ativi- dades. Em verdade, de acordo com Daniel (2010) a Programação Linear, é se não o mais popular, um dos modelos matemáticos mais populares, estruturado para resolver problemas que apresentem variáveis que possam ser medidas e, cujos relacionamentos possam ser expressos por meio de equa- ções e/ou inequações lineares. Existem muitos problemas que podem ser formulados dessa maneira, em muitas áreas científicas e sociais, pelo menos de forma aproximada, vindo daí o uso intenso do modelo. Além disso, segundo Lachtermacher (2009) a Programação Linear vem se constituindo como uma das mais poderosas ferramentas para diversos segmentos, propiciando melhorias mensuráveis nos processos e automatização dos mesmos, análises operacionais, de projetos, reengenharia e iden- tificação de gargalos. Seus benefícios são exatamente aqueles procurados por qualquer organização: diminuição dos custos e aumento dos lucros (de forma estruturada e confiável). É interessante ser ressaltado, que diversas organizações, a P.L. está inserida naturalmente no planejamento estratégico ou nas suas rotinas informatizadas de planejamento diário de processos e projetos; neste sentido, segundo pesquisas efetuadas em organizações que tem utilizado a P.L. a redução de custos se en- quadra facilmente na faixa entre 1% e 5%, existindo casos que chegam até a 15%. Empresas como Pão de Açúcar, CNN, Disney, Vale, Petrobras, Sadia, e entre outras, tiveram casos de sucesso ligados à utilização do contexto da modelagem via a P.L. em distintas áreas de atividade econômica. 43 Especificamente falando, as contribuições da programação linear são mostradas diretamente ou indiretamente na Tabela 3 a seguir. BankBoston O Banco de Boston aplicou a P.L. para a otimização das estratégias de investimentos em títulos de acordo com as suas carteiras de clientes. McDonald’s A rede de fast food McDonald’s nos Estados Unidos aplicou a P.L. para otimização dos horários de trabalho em quatro de seus estabelecimentos. A P.L. proporcionou um melhor aproveitamento dos recursos disponíveis, com a exigência de cobertura durante todo período de funcionamento das unidades, obtendo-se uma programação de horários mais convenientede acordo com as preferências de horário de cada funcionário. Texaco A companhia de óleos TEXACO utilizou a P.L. para obter condições ideais de processamento do grude bruto para produzir quantidades proporcionais às necessidades do mercado aos diversos derivados do grude: gasolina, óleos com diversas graduações ou asfalto. A aplicação da metodologia em sete das suas refinarias permitiu obter uma melhoria de 30% nos lucros, atingindo 30 milhões de dólares. CNN A rede de TV americana CNN aplicou a P.L. para otimização do seu quadro de programação, de acordo com as demandas específicas de cada programa, bem como, com os objetivos diretos de seus patrocinadores. Itaú O Banco Itaú aplicou a P.L. para otimização com relação as melhores ofertas de políticas de empréstimos bancários, de acordo com a demanda de sua carteira de clientes. Exército Norte Americano O exército norte-americano desenvolveu um sistema designado de MLRPS “Manpower Long- Range Planning System” (Sistema de Planejamento de Longo Alcance Manpower) que permite estimar as necessidades de recursos humanos num horizonte que vai dos 7 aos 20 anos. O modelo de otimização analisa a forma com que as forças armadas podem obter no futuro a estrutura militar desejada. Tabela 3 – Contribuições da programação linear para algumas organizações Fonte: Adaptado do autor por Design Unis EAD 44 Segundo Lachtermacher (2009) em um Problema de Otimização pretende-se maximizar ou minimizar uma quantidade específica, designado objetivo, que depende de um número finito variáveis independentes ou interrelacionadas por limitações ou restrições do sistema (problema real). Assim sendo, resolver o problema significa aplicar uma sequência de operações para distribuir recursos limitados sobre operações que exigem a sua utilização simultânea, de forma ótima para o objetivo peculiar. Além disso, deve ser comentado que um Problema de P.L. é um problema de oti- mização, satisfazendo dois fatos principais: a existência de um objetivo que pode ser explicitado em termos das variáveis de decisão do problema e a existência de restrições à aplicação dos recursos, tanto com relação às quantidades disponíveis quanto com relação à forma de emprego. A Figura a seguir nos mostra os aspectos relacionados a relevância e utilização prática da Programação Linear no contexto atual da gestão, independentemente da subárea abordada. Extensibilidade Instituições Financeiras Organizações Empresariais Indústrias Agências Figura 11 – Relevância e Utilização da programação linear Fonte: Adaptado do autor por Design Unis EAD Vamos descrever de forma bastante simples e resumida, as características fundamentais de um modelo de Programação Linear. 1. Existe uma combinação de variáveis que deve ser maximizada ou minimizada. Essa combinação pode ser a expressão do custo de operações industriais ou comerciais, do tempo gasto em certas atividades, do lucro atingido com a venda de alguns produtos, da rentabilidade média de uma com- posição de ações e títulos, e assim por diante. Durante a formulação do problema, a combinação de variáveis a que se chega é colocada na forma de uma expressão matemática, que recebe o nome de função objetivo (ou função objetiva). Vejamos um exemplo bem simples de uma função objetivo: 45 4.x + 3.y onde x e y são duas variáveis de interesse, combinadas sempre na proporção de 4 unidades de x para 3 unidades de y. O modelo de programação linear pode ser estruturado para maximizar ou minimizar o resultado da expressão, o que no fundo significa que estamos procurando os valores de x e de y. Devemos, observar claramente, que é evidente que o problema vai impor limites sobre as quantidades x e y, como descrevemos a seguir. 2. A estrutura do problema é tal que existe, geralmente, uma certa restrição de recursos, ou impos- sibilidade de economias, de forma que nunca é possível obter um lucro, por exemplo, tão grande quanto se queira, ou um custo, por seu turno, tão pequeno quanto se deseja. Às vezes, seria muito bom se pudéssemos fabricar o máximo possível de dois produtos, desde que existisse demanda ili- mitada para ambos. Todavia, não temos matéria-prima suficiente para isso, nem horas disponíveis de máquina, nem operários, e assim por diante. Há de se buscar uma combinação ótima para se chegar ao melhor lucro possível, dadas as restrições práticas impostas pelo problema. Um problema típico de programação linear apresenta, portanto, duas grandes partes, que são: - Uma expressão que se quer maximizar ou minimizar, a qual chamamos de Função Objetivo. Nessa expressão surgem as variáveis fundamentais cuja quantidade será a solução do problema. Essas vari- áveis são chamadas de variáveis de decisão. - Um certo número de restrições (ou regulamentações), expressas na forma de equações ou ine- quações matemáticas, que aparecem e são assim formuladas devido à configuração dos próprios dados do problema. Essas restrições representam, dependendo do caso, limitações da situação real, como escassez de recursos, limitações legais, etc. Em verdade, as restrições se dividem em restrições técnicas e restrições de não-negatividade. As técnicas são as regulamentações do próprio problema enquanto que as de não-negatividade é mais como uma padronização, já que na prática trabalhamos com quantidades não-negativas na maioria das vezes. 46 Desta forma, podemos indagar: Qual é a grande ideia, então? A ideia é maximizar (ou mini- mizar) a função objetivo, ao mesmo tempo obedecendo a todas as restrições. O nome linear vem do fato de que tanto a expressão que forma a função objetivo, quanto às restrições, são expressas linearmente, ou seja, todas as variáveis aparecem com expoente igual à unidade. Antes de ficarmos sobrecarregados com tantas informações novas, vejamos uma discussão rápida sobre a formulação de modelos de P.L., com a apresentação de exemplos para fixação de ideias. 2.2 Diretrizes Específicas da Formulação de Modelos de Programação Linear Quanto diante de um problema, que deverá ser formulado como um modelo de Programa- ção Linear, devemos ficar bastante atentos com os parâmetros e às variáveis de decisão, segundo Moreira (2010). Entendemos por parâmetros, como sendo os valores já fixados, fora de controle da pessoa que monta o modelo (administrador). São valores que devemos aceitar como são. Fazem parte do problema, mas não estão sob discussão. Variáveis de decisão são grandezas que poderão assumir diversos valores, sendo que há uma certa combinação de valores que irá maximizar ou minimizar a função objetivo, conforme seja o caso. É essa combinação de valores que será a solução do problema de programação linear. Em outras palavras, as variáveis de decisão aparecem tanto na função objetivo como nas restrições. Conceito As variáveis de decisão ou controláveis são as variáveis pelas quais o gestor/administrador tem controle, ou seja, são exatamente as quantidades a serem determinadas. Os parâmetros, por sua vez, aparecem como coeficientes das variáveis de decisão ou como valores máximos ou mínimos de grandezas que comporão o modelo. Finalmente, as variáveis de decisão são, em geral, indicadas por letras como x, y, z,... ou X, Y, Z,... ou ainda, por letras indexadas, como x , x , x , etc. Ressaltamos, ainda que esta última notação por letras indexadas é muito utilizado 47 nos problemas que temos de transportes. - Quantidade a ser investida na política de empréstimo do tipo pessoal (ou automóvel, ou habitacional, ou agrícola, ou comercial) - Quantidade em reais a ser investida na ação do tipo A (ou B ou C, etc.). - Número de unidades (milhares de reais) a serem aplicadas no investimento i. - Quantidade a ser produzidade de determinado produto. - Número de caminhões que a engarrafadora deve despachar num determinadodia. - Número de viagens a serem realizadas entre a fábrica i e o centro de distribuição j. Como falamos, o fato de as relações serem lineares significa que todas as variáveis de de- cisão têm expoente unitário que, por convenção, deixa de ser indicado. Esse fato vale tanto para a expressão que forma a função objetivo como para as restrições. Conceito Particularmente, a função objetivo descreve matematicamente o objetivo do problema em questão, podendo assim ser de maximização ou de minimização. - Maximizar o retorno líquido, ou seja, maximizar a diferença entre receita de juros e créditos inadimplentes; - Maximizar o retorno global do total de investimentos; - Maximizar a arrecadação total de impostos; - Minimizar o custo total de transporte; - Minimizar a distância total percorrida pela malha de transporte da AFA Logística; - Maximizar o lucro total; - Minimizar o dispêndio total de produção; - Que locais devem ser selecionados para a aludida implantação de novas filiais da multina- cional 48 Por outro lado, se as restrições são lineares, isso significa que as variáveis de decisão podem ser combinadas de forma linear. Assim, por exemplo, se a produção de uma unidade de certo pro- duto custar R$10,00, então a fabricação de x unidades desse produto custará 10.x; se o custo de fabricação de um produto for R$17,00, então o custo de fabricar y unidades desse produto será 17.y; além disso, o custo total de fabricar x unidade de um produto e y unidades do outro será sim- plesmente 10.x + 17.y. Conceito As restrições também chamadas de regulamentações. Elas se dividem em Restrições Técnicas e Restrições de Não-negatividade. As restrições técnicas também fazem referência às variáveis do problema e descrevem todas as regulamentações do problema através de equa- ções e/ou inequações lineares. As restrições de não-negatividade servem para padronizarmos as quantidades, já que na prática na maior parte das vezes trabalhamos com quantidades não-ne- gativas. x1 + x2 + x3 + x4 < 1000 2x1 - 3x2 + 4x2 - 7x4 + 10x5 ≥ 2500 x11 + x12 + x13 = 350 x1 + x2 + x3 + x4 + x5 + x6 + x7 ≤ 25 x1 > 30 x11 + x21 + x31 ≥ 25 Quando se exige que pelo menos uma das variáveis de decisão deva assumir apenas valores inteiros, estamos diante da Programação Linear Inteira; quando não existe tal exigência, ou seja, todas as variáveis de decisão são livres para assumir valores inteiros e não-inteiros, falamos em Pro- gramação Linear Simples. Ressaltamos que não basta resolvermos um problema de Programação Linear Simples, arredondando depois o valor de alguma variável que deveria ser inteira. Na verdade, as soluções em um e em outro caso são diferentes, obtidas por caminho distintos, não necessaria- 49 mente levando a valores próximos. Por outro lado, um problema de programação linear pode ter duas ou mais variáveis de decisão. Quando da formulação de um problema, i.e., sua colocação na forma padronizada do mo- delo de programação linear, muitas vezes o fato de o problema ser mais complexo, com diversas variáveis de decisão, torna-o mais interessante e mais desafiador. O problema maior acontece com a solução: um problema com muitas variáveis de decisão obrigatoriamente deve ser solucionado por meio da implementação numérica e, no nosso caso, faremos a resolução via computador utilizando os programas LINDO e VCN. Quando o problema tem apenas duas variáveis de decisão é possível resolvê-lo por meio de um procedimento gráfico (Método Gráfico), bem como por um procedi- mento algébrico-padrão, conhecido como Método Simplex ou somente Simplex, onde todos estes procedimentos serão estudados na segunda unidade. Comentamos ainda que, a implementação numérica, em verdade utiliza nas entrelinhas o método Simplex para a resolução dos modelos de P.L. Resumindo, temos que para criarmos um modelo matemático de um problema é necessário cumprirmos as seguintes etapas: - Definir as variáveis do problema (variáveis de decisão ou variáveis controláveis); - Definir a função objetiva ou objetivo; - Definir o conjunto de restrições (restrições técnicas e restrições de não-negatividade). RESUMO DO MODELO MATEMÁTICO DE PROGRAMAÇÃO LINEAR - Função Objetiva Linear; - Restrições: Técnicas Não - Negatividade * Procedimento: i) Quais as variáveis de decisão (ou variáveis controladas)? Ou seja, quantas variáveis de decisão nós 50 temos? Quais são elas? ii) Qual o objetivo do problema? Ou seja, qual a função objetivo? iii) Quais as restrições? Ou seja, quais as restrições técnicas? E quais as de não-negatividade? Quais são as variáveis de decisão? Caracterização da Função Objetivo(a) Descrição das Restrições Técnicas Descrição das Restrições de Não- negatividade Figura 12 – Passos básicos para a formulação de um modelo de P.L. Fonte: Adaptado do autor por Design Unis EAD 2.3 Formulando os Primeiros Modelos de Programação Linear Vejamos agora alguns exemplos introdutórios envolvendo a formulação de modelos de Programação Linear com duas variáveis de decisão, que em verdade são aplicações práticas envol- vendo o meio empresarial de uma forma geral, tais como, problemas de produção, gestão financeira, problema de pesquisa de mercado, etc. Problema 1 (Problema de Produção): Uma fábrica produz dois produtos, A e B. Cada um deles deve ser processado por outros produtos, que também utilizam essas máquinas, a máquina M1 tem 24 horas de tempo disponível para os produtos A e B, enquanto a máquina M2 tem 16 horas de tempo disponível. Para produzir uma unidade do produto A, gastam- se 4 horas em cada uma das máquinas M1 e M2. Para produzir uma unidade do produto B, gastam-se 6 horas na máquina M1 e 2 horas na máquina M2. Cada unidade vendida do produto A gera um lucro de R$ 80,00 e cada unidade do produto B, um lucro de R$ 60,00. 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. Deseja-se saber quantas unidades de A e de B devem ser produzi- das, de forma a maximizar o lucro e, ao mesmo tempo, obedecer a todas as restrições desse 51 enunciado. Formular o modelo de programação linear. Solução: Nesse caso, as variáveis de decisão são facilmente reconhecíveis: são as quantidades que podemos e devemos fabricar de A e B para que o lucro na sua venda seja máximo, desta maneira podemos chamar: x: quantidade a ser produzida do produto A (em unidades) e y: quantidade a ser produzida do produto B (em unidades) Existe uma hipótese escondida aqui – a hipótese de que tudo o que for produzido de A e B será vendido (isto é, no caso de B, no máximo serão vendidas 3 unidades). Em outras palavras, a solução do problema é factível e será implantada. Se, por acaso, obtivermos para a produção de B mais de 3 unidades, isso significa que erramos em algum ponto, porque não obe- decemos a uma importante restrição – a de que a quantidade de B não deve ser maior que 3, já que o excedente não será vendido. Às vezes, em alguma formulação de problemas de programação linear, é conveniente sintetizarmos os dados por meio de uma tabela, que facilita a consulta e evita que fiquemos, a todo momento, lendo o enunciado original. No nosso exemplo, um arranjo interessante para retratarmos esta situação é mostrado no quadro a seguir. Produto Horas gastas em M1 Horas gastas em M2 Demanda máxima Lucro Unitária (R$) A 4 4 Ilimitada 80 B 6 2 3 60 Horas disponíveis 24 18 Tabela 4 – Dados do problema Fonte: Adaptado do autor por Design Unis EAD 52 A função objetivo é uma expressão formada por uma combinação linear das variáveis de decisão, sendo assim, queremos maximizar o resultado numérico da seguinte expressão: 80.x + 60.y Já que cada unidade de A gera um lucro deR$80,00 e cada unidade de B gera um lucro de R$60,00. Desta forma, a nossa formulação inicia-se com: Maximizar 80.x + 60.y Agora, vamos olhar para as restrições. Temos que as restrições dizem respeito à escas- sez de recursos, por um lado, e a limites impostos sobre nossas ações na tentativa de maximizar a função objetivo. Sendo assim, indagamos: Quais são os nossos recursos escassos? Claramente, observamos que temos um número limitado de horas de máquina, tanto para M1 como para M2. Não podemos gastar mais de 24 horas na máquina M1 ou mais de 16 horas na máquina M2. Ou seja, usando uma notação simbólica, podemos escrever: Horas consumidas na máquina M1 ≤ 24 Horas consumidas na máquina M2 ≤ 16 Vamos agora expressar as horas consumidas em termos das variáveis de decisão x e y, que são nossas incógnitas. As restrições sempre devem ser colocadas em função de uma ou mais incógnitas do problema. Temos que, cada unidade de A consome 4 horas de trabalho na máquina M e cada unidade de B consome 6 horas de trabalho nessa mesma máquina. Logo, podemos escrever: Horas consumidas na máquina M1 = 4.x + 6.y Similarmente, cada unidade de A consome 4 horas de trabalho na máquina M e cada unidade de B consome 2 horas de trabalho nessa mesma máquina. Daí, podemos escrever: Horas consumidas na máquina M2 = 4.x + 2.y 53 Reescrevendo, então, as restrições de horas de máquinas, temos finalmente: 4.x + 6.y ≤ 24 4.x + 2.y ≤ 16 Acabamos com as restrições? Ainda não, já que não podemos fabricar mais de 3 uni- dades do produto B, pois sua demanda máxima é essa. Então, podemos escrever de forma imediata que: y ≤ 3 Aqui, cabe salientarmos a seguinte observação. Sempre é conveniente não deixar uma variável de decisão sem seu coeficiente, caso ele seja igual a 1. É lógico que, por convenção, geralmente não escrevemos 1.y, mas quando estivermos entrando com os dados em um com- putador ou mesmo resolvendo o problema manualmente (pelo método simplex), precisamos lembrar que y quer dizer, na verdade, 1.y. No momento da solução, também estaremos usando expressões, equações e inequações nas quais devem aparecer todas as variáveis de decisão. Portanto, no devido momento, em vez de escrevermos y ≤ 3 Escreveremos, 0.x + 1.y ≤ 3 Entretanto, podemos deixar para colocar os coeficientes 0 e 1 após completarmos a formulação do modelo, caso seja de nossa preferência. Além disso, com relação as restrições, por último, temos as condições de não-negatividade, se- gundo as quais as variáveis de decisão não podem assumir valores negativos (não existe sentido físico para que isto aconteça), ou seja: x ≥ 0 y ≥ 0 54 Vamos escrever a formulação completa? Como assim? Desta forma, podemos escrever a formulação do modelo, como segue: Max 80.x + 60.y Sujeito a 4.x + 6.y ≤ 24 4.x + 2.y ≤ 16 0.x + 1.y ≤ 3 x ≥ 0; y ≥ 0 Para encerrarmos a discussão com relação ao nosso primeiro exemplo, um problema como esse, com apenas duas variáveis de decisão, pode ser resolvido tanto por meio de um procedimento gráfico, como pelo método algébrico (método simplex), tanto por intermédio da implementação numérica. Por enquanto, vamos simplesmente fornecer a solução, sem discus- são de como ela foi obtida. A solução do problema é dada por: x = 3 y = 2 O valor da função objetivo é máximo e igual a 80.(3) + 60.(2) = 240 + 120 = R$360,00 Notemos que os recursos disponíveis são totalmente consumidos, já que: 4.(3) + 6.(2) = 12 + 12 = 24 (horas consumidas da máquina M1) 4.(3) + 2.(2) = 12 + 4 = 16 (horas consumidas da máquina M2) Problema 2 (Problema de Formulação de Ração): A Granja AFA quer misturar dois tipos de alimentos para criar um tipo especial de ração para suas galinhas poedeiras. A primeira carac- terística a ser atingida com a nova ração é o menor preço possível por unidade de peso. Cada 55 um dos alimentos contém os nutrientes necessários à ração final (aqui chamados de nutrientes X, Y e Z), porém em proporções variáveis. Cada 100 g do Alimento 1, por exemplo, possuem 10 g do nutriente X, 50 g do nutriente Y e 40 g de nutriente Z. O Alimento 2, por sua vez, para cada 100 g , possui 20 g do nutriente X, 60 g do nutriente Y e 20 g do nutriente Z. Cada 100 g do Alimento 1 custam, para a granja AFA, R$ 0,60 e cada 100 g do Alimento 2 custam R$ 0,80. Sabe-se que a ração final deve conter, no mínimo, 2 g do nutriente X, 64g do nutriente Y e 34 g do nutriente Z. É preciso obedecer a essa composição, minimizando ao mesmo tempo o custo por peso da nova ração. Formular o modelo de programação linear. Solução: Antes de montarmos uma tabela auxiliar para a disposição de todos os dados, vamos entender o problema em linhas gerais. Queremos misturar dois alimentos, Alimento 1 e Ali- mento 2, de forma a obter uma nova ração, com uma certa composição de nutrientes X, Y e Z. Os nutrientes estão presentes nos dois alimentos. Não é difícil percebermos que existem, em princípio, inúmeras possibilidades de combinação, de modo que possamos ter, na mistura final, a quantidade necessária dos nutrientes. (Por quê?). Vamos imaginar como montaremos nossa ração final. Inicialmente, será uma mistura dos dois alimentos – digamos, x gramas do Alimento 1 e y gramas do Alimento 2. Portanto, temos que x e y são as nossas variáveis de decisão, i.e., as variáveis controláveis. Para terminarmos a formulação, vamos elaborar nossa tabela auxiliar, que deve mostrar claramente as relações entre os três nutrientes, os dois alimentos e a nova ração. Desta maneira, sugerimos a estrutura mostrada no Tabela 5 a seguir. Composição por 100g Composição de nutrientes (mínima em gramas) Alimento 1 Alimento 2 Nutriente X 10 20 2 NutrienteY 40 60 64 Nutriente Z 50 20 34 Custo por 100 g R$0,60 R$0,80 Tabela 5 – A disposição dos dados do exemplo Fonte: Adaptado do autor por Design Unis EAD 56 Notemos que nosso problema é de minimização, ou seja, devemos usar x gramas do Alimento 1 e y gramas do Alimento 2 para compor (x + y) gramas da nova ração, e x e y devem ser tais que seu custo total seja mínimo. Ora, cada 100 gramas do Alimento 1 custam R$0,60; desta maneira, um só grama custaria 0,60/100 e x gramas custariam 0,60.x/100, ou seja, 0,006.x. Utilizando um raciocínio análogo para o Alimento 2, y gramas custariam 0,008.y. Logo, queremos minimizar a expressão 0,006.x + 0,008.y Com relação às restrições, temos mais uma vez, as de não-negatividade que são carac- terizadas por x ≥ 0 y ≥ 0 De outra forma, existem outras importantíssimas restrições que devemos colocar, que em verdade são as restrições técnicas, que dizem respeito à composição propriamente dita da nova ração. Como qualquer restrição, elas devem ser escritas em função das variáveis de deci- são, ou seja, em função de x e y. Colocando inicialmente as restrições em palavras, temos que: - A quantidade total do nutriente X, em x gramas do Alimento 1 e y gramas do Alimento 2, deve ser pelo menos igual a 2 gramas; - A quantidade total do nutriente Y, em x gramas do Alimento 1 e y gramas do Alimento 2, deve ser pelo menos igual a 64 gramas; - A quantidade total do nutriente Z, em x gramas do Alimento 1 e y gramas do Alimento 2, deve ser pelo menos igual a 34 gramas. De acordo com a nossa tabela auxiliar (Tabela 05), vemos que: - x gramas do Alimento 1 contêm, respectivamente, 57 10.x/100 gramas do nutriente X, ou 0,1.x gramas do nutriente X 40.x/100 gramas do nutriente Y, ou 0,4.x gramas do nutriente Y 50.x/100 gramas do nutriente Z, ou 0,5.x gramas do nutriente Z - enquanto y gramas do Alimento 2 contêm: 20.y/100 gramas do nutriente X, ou 0,2.y gramas do nutriente X 60.y/100 gramas do nutriente Y, ou 0,6.y gramas do nutriente Y 20.y/100 gramas do nutriente Z, ou 0,2.y gramas do nutriente Z Podemos agora escrever as restrições em símbolos matemáticos,ou seja: - Quantidade total do nutriente X: 0,1.x + 0,2.y ≥ 2 - Quantidade total do nutriente Y: 0,4.x + 0,6.y ≥ 64 - Quantidade total do nutriente Z: 0,5.x + 0,2.y ≥ 34 Desta forma, à formulação completa pode ser escrita como segue: Minimizar 0,006.x + 0,008.y Sujeito a 0,1.x + 0,2.y ≥ 2 0,4.x + 0,6.y ≥ 64 0,5.x + 0,2.y ≥ 34 x ≥ 0; y ≥ 0 Ressaltamos ainda que não podemos, e nem devemos colocar restrições sobre as quan- tidades x e y. Na verdade, elas representarão uma proporção em peso na qual deverão ser misturados os dois alimentos. 58 Nosso problema, resolvido à parte, nos dá os seguintes valores para as variáveis de de- cisão: x = 34,5 gramas y = 83,6 gramas Essas quantidades como podemos verificar, correspondem a exatamente 64 gramas do nutriente Y e 34 gramas do nutriente Z e, como folga, a 20,1 gramas do nutriente X. A soma (x + y) é igual a 118,1 gramas, formados por 20,1 gramas do nutriente X, 64 gramas do nutriente Y e 34 gramas do nutriente Z. Corresponde a um custo de R$0,88. Na verdade, as quantidades de x e de y correspondem a uma proporção, que pode ser escrita de inúmeras formas, tais como: 34,5 gramas do Alimento 1 para 83,6 gramas do Alimento 2 1 grama do Alimento 1 para 2,4 gramas do Alimento 2 100 gramas do Alimento 1 para 240 gramas do Alimento 2, etc. Problema 3 (Problema Gestão de Vendas): Suponhamos que um vendedor de frutas pode transportar 800 caixas de frutas para sua região de vendas. Ele necessita transportar 200 caixas de laranjas a R$20,00 de lucro por caixa, pelo menos 100 caixas de pêssegos a R$10,00 de lucro por caixa, e no máximo 200 caixas de tangerinas a R$30,00 de lucro por caixa. De que forma deverá ele carregar o caminhão para obter o lucro máximo? Construa o modelo do problema. Solução: Inicialmente vamos caracterizar as variáveis de decisão, ou seja, neste caso temos 2 variáveis de decisão, que são: x1: quantidade de caixas de pêssegos a serem transportadas x2: quantidade de caixas de tangerinas a serem transportadas A função objetivo (objetivo do problema descrito matematicamente) é: Max. Lucro = 10.x + 30.x + 4000 Note que a parcela (4000) na função objetivo é devido que já sabemos que serão transportadas 59 200 caixas de laranjas com lucro unitário é igual a R$20,00. As restrições técnicas são: x1 + x2 ≤ 600 x1 ≥ 100 x2 ≤ 200 E, finalmente, as restrições de não-negatividade são: x1 ≥ 0 x2 ≥ 0 Desta forma, resumindo temos que: Max. Lucro = 10.x + 30.x + 4000 Sujeito a: x 1 + x 2 # 600 x 1 $ 100 x 2 # 200 x 1 $ 0; x $ 0 Z [ \ ]]]]]]] ]]]]]] Problema 4 (Problema de Pesquisa de Mercado): Uma rede de televisão local tem o seguinte problema: foi descoberto que o programa “A” com 20 minutos de música e 1 minuto de propa- ganda chama a atenção de 30.000 telespectadores, enquanto o programa “B”, com 10 minutos de música e 1 minuto de propaganda chama a atenção de 10.000 telespectadores. No decorrer de uma semana, o patrocinador insiste no uso de no mínimo, 5 minutos para sua propaganda e que não há verba para mais de 80 minutos de música. Quantas vezes por semana cada programa deve ser levado ao ar para obter o número máximo de telespectadores? Construa o modelo de programação linear do sistema. Solução: Novamente, primeiramente vamos caracterizar as variáveis de decisão, ou seja, neste caso temos 2 variáveis de decisão, que são: x : frequência semanal do programa A x : frequência semanal do programa B 60 A função objetivo (objetivo do problema descrito matematicamente) é: Max. Lucro = 30000.x1 + 10000.x2 As restrições técnicas são: 1.x1 + 1.x2 ≥ 5 20.x1 + 10.x2 ≤ 80 E, finalmente, as restrições de não-negatividade são: x1 ≥ 0 x2 ≥ 0 Resumindo, o modelo na formulação completa pode ser escrito como: Max. Lucro = 30000.x + 10000.x Sujeito a 1.x1 + 1.x2 ≥ 5 20.x1 + 10.x2 ≤ 80 x1 ≥ 0; x2 ≥ 0 Problema 5 (Problema na Alocação de Recursos): Na fabricação de dois de seus produtos, uma empresa utiliza dois equipamentos que limitam a produção. Em um dado período de tempo, estão disponíveis 30 horas do equipamento 1 e 80 horas do equipamento 2. Para fabricação de uma unidade do produto A, usa-se 1 hora do equipamento 1 e 2 horas do equipamento 2. Já para uma unidade do produto B, são gastas 2 horas do equipamento 2. O equipamento 1 não toma parte na produção do produto B. Por outro lado, uma unidade do produto A leva a um lucro de R$ 150,00, enquanto cada unidade do produto B gera um lucro de R$50,00. Formular o problema como um modelo de programação linear, visando maximizar o lucro. Solução: Inicialmente, vamos caracterizar as variáveis de decisão, ou seja, neste caso temos 2 61 variáveis de decisão, que são: x1: quantidade a ser produzida do produto A x2: quantidade a ser produzida do produto B A função objetivo (objetivo do problema descrito matematicamente) é: Max. Lucro = 150.x + 50.x As restrições técnicas são: 1.x1 + 0. x2 ≤ 30 (Disponibilidade do Equipamento 1) 2.x1 + 2.x2 ≤ 80 (Disponibilidade do Equipamento 2) E, finalmente, as restrições de não-negatividade são: x1 ≥ 0 x2 ≥ 0 Resumindo, o modelo na formulação completa pode ser escrito como: Max. Lucro = 150.x1 + 50.x2 Sujeito a 1.x1 + 0. x2 ≤ 30 2.x1 + 2.x2 ≤ 80 x1 ≥ 0; x2 ≥ 0 Problema 6 (Problema na Administração da Produção): Em uma fábrica, existem três recursos em quantidades limitadas, os quais impõem limites às quantidades que podem ser produzidas de dois produtos, A e B. Existem 1200 unidades disponíveis do recurso 1, 400 unidades disponíveis do recurso 2 e 80 unidades disponíveis do recurso 3. Por outro lado, o produto A proporciona um lucro unitário de R$100,00, contra R$300,00 do produto B. Sabe-se também que: 1 unidade do produto A requer: - 20 unidades do recurso 1 62 - 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 - 4 unidades do recurso 3 Colocar o problema com um modelo de programação linear. Solução: Inicialmente, vamos caracterizar as variáveis de decisão, que neste caso são dadas por: x = quantidade a ser produzida do produto A y = quantidade a ser produzida do produto B A função objetivo (objetivo do problema descrito matematicamente) é: Max. Lucro = 100.x + 300.y As restrições técnicas são: 20.x + 20.y 1200 4.x + 20.y 400 0.x + 4.y 80 E, finalmente, as restrições de não-negatividade são: x ≥ 0 y ≥ 0 Resumindo, o modelo na formulação completa pode ser escrito como: Max. Lucro = 100.x + 300.y Sujeito a 20.x + 20.y ≤ 1200 4.x + 20.y ≤ 400 63 0.x + 4.y ≤ 80 x ≥ 0; y ≥ 0 Problema 7 (Problema de Análise de Mercado e Gestão Financeira): O departamento de marke- ting de uma empresa estuda a forma mais econômica de aumentar em 30% as vendas de seus dois produtos P1 e P2. As alternativas são: Alternativa 01: Investir em um programa estratégico com outras empresas do mesmo ramo. Esse programa requer um investimento mínimo de R$3.000,00 e deve proporcionar um aumento de 3% nas vendas de cada produto, para cada R$1.000,00 investidos. Alternativa 02: Investir diretamente na divulgação dos produtos. Cada R$1.000,00 investidos em P1 retornam um aumento de 4% nas vendas, enquanto que para P2 o retorno é de 10%. A empresa dispõe de R$10.000,00 para esse empreendimento. Construa o modelo do sistema descrito. Solução: Neste caso, observamos que o nosso modelo é de minimização, já que a empresa estuda a forma mais econômica de aumentar as suas vendas em 30%. Além disso, neste caso, temos três variáveis, que estão diretamente relacionadas aos tipos de investimentos, que são: x1: quantidade em R$1.000,00 para ser investido no programa institucional x2: quantidade em R$1.000,00a ser investido diretamente no produto 1 (em P1) x3: quantidade em R$1.000,00 a ser investido diretamente no produto 2 (em P2) Assim sendo, de acordo com o enunciado, a função objetivo pode ser descrita por: Minimizar C = 1000.x1 + 1000.x2 + 1000.x3 As restrições técnicas são: x1 + x2 + x3 ≤ 10 (1000.x1 + 1000.x2 + 1000.x3 ≤ 10000 ) (disponibilidade de capital para o empreendimento) 64 x1 ≥ 3 (ou poderíamos escrever 1000x 3000) 3.x1 + 4.x2 ≥ 30 (ou 3%. x1 + 4%.x2 ≥ 30% ) (investimento relacionado a P1) 3.x1 + 10.x3 ≥ 30 (ou 3%. x1 + 10%.x3 ≥ 30% ) (investimento relacionado a P2) E as restrições de não-negatividade são: x1 ≥ 0, x2 ≥ 0, x3 ≥ 0. Problema 8 (Problema de Produção): Uma pequena fábrica de móveis produz dois modelos de molduras ornamentais, cujos preços de venda são, respectivamente, R$110,00 e R$ 65,00. Ela possui 7 peças de madeira e dispõe de 30 horas de trabalho para confeccionar os dois modelos, sendo que o modelo A requer 2 peças de madeira e 5 horas de trabalho, enquanto o modelo B necessita de 1 peça de madeira e 7 horas de trabalho. Quantas molduras de cada modelo a fábrica deve montar se deseja maximizar o rendimento obtido com as vendas? Formular o modelo de programação linear associado ao sistema descrito acima. Solução: Inicialmente, vamos caracterizar as variáveis de decisão, que neste caso são dadas por: x = quantidade a ser produzida do modelo A y = quantidade a ser produzida do modelo B A função objetivo (objetivo do problema descrito matematicamente) é: Max. Lucro = 110.x + 65.y As restrições técnicas são: 2.x + 1.y ≤ 7 5.x + 7.y ≤ 30 E, finalmente, as restrições de não-negatividade são: x ≥ 0 y ≥ 0 Resumindo, o modelo na formulação completa pode ser escrito como: 65 Max. Lucro = 110.x + 65.y Sujeito a 2.x + 1.y ≤ 7 5.x + 7.y ≤ 30 x ≥ 0; y ≥ 0 Problema 9 (Problema na Administração da Produção): Uma empresa fabrica 2 produtos P1 e P2. O lucro por unidade de P1 é de R$100,00 e o lucro unitário de P2 é de R$150,00. A em- presa necessita de 2 horas para fabricar uma unidade de P1 e 3 horas para fabricar uma unidade de P2. O tempo mensal disponível para essas atividades é de 120 horas. As demandas esperadas para os 2 produtos levaram a empresa a decidir que os montantes produzidos de P1 e P2 não devem ultrapassar 40 unidades de P1 e 30 unidades de P2 por mês. Construa o modelo do sistema de produção mensal com o objetivo de maximizar o lucro da empresa. Solução: Inicialmente, vamos caracterizar as variáveis de decisão, que neste caso são dadas por: x = quantidade a ser produzida do produto P1 y = quantidade a ser produzida do produto P2 A função objetivo (objetivo do problema descrito matematicamente) é: Max. Lucro = 100.x + 150.y As restrições técnicas são: 2.x + 3.y ≤ 120 (Disponibilidade de horas para produção) x ≤ 40 (demanda esperada para a produção de P1) y ≤ 30 (demanda esperada para a produção de P2) E, finalmente, as restrições de não-negatividade são: x ≥ 0 y ≥ 0 66 Resumindo, o modelo na formulação completa pode ser escrito como: Max. Lucro = 100.x + 150.y Sujeito a 2.x + 3.y ≤ 120 x ≤ 40 y ≤ 30 x ≥ 0; y ≥ 0 Problema 10 (Problema na Administração da Produção): Uma fábrica de computadores produz 2 modelos de computador: A e B. O modelo A fornece um lucro de R$ 180,00 e B de R$300,00. O modelo A requer, na sua produção, um gabinete pequeno e uma unidade de disco. O modelo B requer 1 gabinete grande e 2 unidades de disco. Existem no estoque: 60 unidades do gabinete pequeno, 50 do gabinete grande e 120 unidades de disco. Qual deve ser o esquema de produ- ção que maximiza o lucro? Solução: Inicialmente, vamos caracterizar as variáveis de decisão, que neste caso são dadas por: x = quantidade a ser produzida do modelo A y = quantidade a ser produzida do modelo B A função objetivo (objetivo do problema descrito matematicamente) é: Max. Lucro = 180.x + 300.y As restrições técnicas são: 1.x ≤ 60 (Disponibilidade de gabinete pequeno) 1.y ≤ 50 (Disponibilidade de gabinete grande) x + 2.y ≤ 120 (Disponibilidade de unidade de disco) E, finalmente, as restrições de não-negatividade são: x ≥ 0; y ≥ 0 67 Resumindo, o modelo na formulação completa pode ser escrito como: Max. Lucro = 180.x + 300.y Sujeito a 1.x ≤ 60 1.y ≤ 50 x + 2.y ≤ 120 x ≥ 0; y ≥ 0 Problema 11 (Planejamento Urbano): Uma cidade do interior de São Paulo enfrenta uma série carência orçamentária. Em busca de uma solução a longo prazo, a câmara de vereadores da ci- dade aprova uma melhoria da base de cobrança de impostos que prevê a condenação de uma área habitacional do centro da cidade e sua substituição por um conjunto habitacional moderno. O projeto envolve duas fases: 1) demolição das casas que estão aquém do padrão para liberar terreno para o novo projeto; e 2) construção do novo conjunto urbano. A seguir daremos um resumo da situação: 1) Um total de 300 casas aquém do padrão podem ser demolidas. Cada casa ocupa um lote de 0,25 acres. O custo da demolição de uma casa condenada é de R$2.000,00. 2) Os tamanhos dos lotes para domicílios (unidades) simples, duplos, triplos e quádruplos são de 0,18; 0,28; 0,4 e 0,5 acres, respectivamente. Ruas, espaços abertos e instalações públicas ocupam 15% da área disponível. 3) No novo conjunto habitacional, as unidades triplas e quádruplas representam no mínimo 25% do total. Unidades simples devem representar no mínimo 20% de todas as unidades, e unidades duplas, no mínimo 10%. 68 4) O imposto cobrado por unidade domiciliar simples, dupla, tripla e quádrupla é de R$1.000,00, R$1.900,00, R$2.700,00 e R$3.400,00, respectivamente. 5) O custo da construção por unidade domiciliar simples, dupla, tripla e quádrupla é de R$50.000,00, R$70.000,00, R$130.000,00 e R$160.000,00, respectivamente. O financiamento acordado com um banco local será de no máximo R$15.000.000,00. Quantas unidades de cada tipo devem ser construídas para maximizar a arrecadação de impostos? Ou seja, construir o modelo de programação linear associado ao problema deste planejamento urbano. Solução: Inicialmente, notemos que além de determinarmos o número de unidades de cada tipo a ser construído, necessitamos também decidir quantas casas devem ser demolidas para liberar espaço para o novo projeto habitacional. Assim, as variáveis do problema podem ser definidas da seguinte forma: x1: número de unidades simples a serem construídas x2: número de unidades duplas a serem construídas x3: número de unidades triplas a serem construídas x4: número de unidades quádruplas a serem construídas x5: número de casas antigas a serem demolidas Ou seja, temos 5 variáveis de decisão ou variáveis controláveis. Por outro lado, visuali- zamos que o objetivo (a função objetivo) é maximizar a arrecadação de impostos de todos os quatro tipos de residências, i.e., podemos descrever a função objetivo pela expressão: Maximizar Z = 1000.x1 + 1900.x2 + 2700.x3 + 3400.x4 Vamos analisar agora as restrições técnicas que irão compor o nosso modelo de pro- 69 gramação linear associado. A primeira restrição técnica do problema trata da disponibilidade de terreno, ou seja, de acordo com o enunciado, temos que: (Área usada para construção de novas casas) ≤ (Área líquida disponível) Sendo assim, pelos dados do problema, podemos escrever que: Área necessária para novas casas = 0,18. x1 + 0,28x2 + 0,4.x3 + 0,5.x4 De outra forma, a fim de determinarmos a área disponível, sabemos que cada casa demolida ocupa um lote de 0,25 acres, o que resulta em um total de 0,25.x5 acres. Deixando 15% para espaços abertos, ruas e instalações públicas (como dito no enunciado), a área líquida disponível é 0,85 x (0,25.x5). Sendo assim, a restrição resultante pode serescrita como: 0,18. x1 + 0,28x2 + 0,4.x3 + 0,5.x4 ≤ 0,2125.x5 Ou seja, 0,18. x1 + 0,28x2 + 0,4.x3 + 0,5.x4 – 0,2125.x5 ≤ 0 Temos também, que o número de casas demolidas não pode exceder 300, o que é expresso como: x5 ≤ 300 Além disso, a seguir, vamos adicionar as restrições que limitam o número de unidades de cada tipo de casa. Temos que: (Número de unidades simples) (20% do total de unidades) (Número de unidades duplas) (10% do total de unidades) (Número de unidades triplas e quádruplas) (25% do total de unidades) 70 Essas restrições matematicamente podem ser descritas da seguinte forma: x1 ≥ 0,20 x (x1 + x2 + x3 + x4) x2 ≥ 0,10 x (x1 + x2 + x3 + x4) x3 + x4 ≥ 0,25 x (x1 + x2 + x3 + x4) Por consequência, a única restrição restante trata de manter o custo de demolição/ construção dentro do orçamento permitido, isto é: (Custo de demolição e construção) ≤ (Orçamento disponível) Exprimindo todos os custos em milhares de reais, obtemos a restrição abaixo: (50. x1 + 70.x2 + 130.x3 + 160.x4) + 2.x ≤ 15000 Resumindo, o modelo completo pode ser descrito como: Maximizar Z = 1000.x + 1900.x + 2700.x + 3400.x Sujeito a: 0,18. x1 + 0,28x2 + 0,4.x3 + 0,5.x4 – 0,2125.x5 ≥ 0 x5 ≤ 300 -0,8.x1 + 0,2. x2 + 0,2.x3 + 0,2.x4 ≥ 0 0,1.x1 – 0,9.x2 + 0,1.x3 + 0,1.x4 ≥ 0 0,25.x1 + 0,25. x2 – 0,75.x3 – 0,75.x4 ≥ 0 50.x1 + 70.x2 + 130.x3 + 160.x4 + 2.x5 ≤ 15000 . x1 , x2 , x3 , x4 , x5 ≥ 0 71 Mais adiante iremos aprender métodos de resolução de modelos de Pro- gramação Linear, sendo que o método mais geral é o conhecido Método Simplex, método pelo qual os programas que tratam da resolução de modelos de P.L. se baseiam. Só a título de curiosidade a solução ótima deste modelo é dada por: - Valor Ótimo da Função Objetivo: Z = R$343.965,00 - Número de unidades de casas simples = x1 = 35,83 36 unidades - Número de unidades de casas duplas = x2 = 98,53 99 unidades - Número de unidades de casas triplas = x3 = 44,79 45 unidades - Número de unidades de casas quádruplas = x4 = 0 unidades - Número de casas demolidas = x5 = 244,49 245 unidades Devemos salientar que a Programação Linear não garante automaticamente uma so- lução com números inteiros, e essa é a razão do arredondamento de valores contínuos para o inteiro mais próximo. A solução aproximada exige a construção de 180 ( = 36 + 99 + 45) unidades e a demolição de 245 casas velhas, o que rende R$345.600,00 em impostos. Entre- tanto, não podemos esquecer que, de modo geral, a solução aproximada pode não ser viável. De fato, a solução aproximada encontrada ultrapassa a restrição orçamentária em R$70.000,00 (Verifique!). Observe atentamente que a solução aproximada resulta em um melhor valor para a função objetivo, o que parece contraditório. A razão é que a solução aproximada exige a produção de uma unidade residencial dupla a mais, o que só é viável se houver um aumento de R$70.000,00 no orçamento. 72 Problema 12 (Modelo de Política de Empréstimo): O Banco AFA está em processo de elaboração de uma política de empréstimo que envolve um máximo de R$12.000.000,00. A tabela abaixo apresenta os dados perti- nentes aos tipos de empréstimos disponíveis. Tipo de Empréstimo Taxa de Juros Taxa de Inadimplência Pessoal 0,14 0,10 Automóvel 0,13 0,07 Habitacional 0,12 0,03 Agrícola 0,125 0,05 Comercial 0,10 0,02 Tabela 6 – Empréstimos disponíveis no Banco AFA Fonte: Adaptado do autor por Design Unis EAD A inadimplência são débitos incobráveis e não geram receita de juros. A concorrência com outras instituições financeiras requer que o banco destine no mínimo 40% dos fundos a créditos, agrícola e comercial. Para auxiliar o setor de construção de residências da região, a quantia destinada ao crédito habitacional deve ser igual a no mínimo 50% dos empréstimos pes- soais, para aquisição de automóveis e aquisição habitacional. O Banco AFA também estabeleceu na política de não permitir que a taxa global de inadimplência sobre todos os empréstimos exceda 4%. Formular o modelo de Programação Linear do sistema, sendo que o objetivo do Banco AFA é o de maximizar seu retorno líquido, que nada mais é do que a diferença entre receita de juros e créditos inadimplentes. Solução: Observemos que a situação procura determinar a quantidade de empréstimos em cada categoria, o que resulta nas seguintes definições de variáveis: x1: empréstimos pessoais (em milhões de reais) x2: empréstimos para compra de automóveis (em milhões de reais) 73 x3: empréstimos habitacionais (em milhões de reais) x4: empréstimos agrícolas (em milhões de reais) x5: empréstimos comerciais (em milhões de reais) O objetivo do Banco AFA é maximizar seu retorno líquido, que é a diferença entre receita de juros e créditos inadimplentes. A receita de juros é obtida somente com base em empréstimos em boa posição. Portanto, como 10% dos empréstimos pessoais são créditos ina- dimplentes, o banco receberá juros sobre apenas 90% do valor emprestado – isto é, receberá 14% de juros sobre 0,9.x do empréstimo original, x . O mesmo raciocínio é aplicado aos outros quatro tipos de empréstimos. Desta forma, temos que: Total de Juros = 0,14.(0,9.x1) + 0,13.(0,93.x2) + 0,12.(0,97.x3) + 0,125.(0,95.x4) + 0,1.(0,98.x5) Além disso, temos que: Créditos Inadimplentes = 0,1.x1 + 0,07.x2 + 0,0330.x3 + 0,05.x4 + 0,02.x5 Deste modo, a função objetivo é caracterizada como: Maximizar Z = Total de Juros – Créditos Inadimplentes Ou seja, matematicamente este objetivo é escrito como: Maximizar Z = (0,126.x1 + 0,1209.x2 + 0,1164.x3 + 0,11875.x4 + 0,098.x5) – (0,1.x1 + 0,07.x2 + 0,0330.x3 + 0,05.x4 + 0,02.x5) Maximizar Z = 0,026.x1 + 0,0509.x2 + 0,0864.x3 + 0,06875.x4 + 0,078.x5 De uma outra forma, percebemos que o problema tem cinco restrições, que são: – O total de fundos não deve exceder R$12 (milhões), ou seja: x1 + x2 + x3 + x4 + x5 ≤ 12 – Os empréstimos agrícolas e comerciais são iguais a no mínimo 40% de todos os empréstimos, 74 ou seja: x4 + x5 ≥ 0,4.( x1 + x2 + x3 + x4 + x5) Ou ainda, 0,4.x1 + 0,4.x2 + 0,4.x3 – 0,6.x4 – 0,6.x5 ≤ 0 – O crédito habitacional deve ser igual a no mínimo 50% dos empréstimos pessoais, para com- pra de automóveis e habitacional, ou seja: x3 ≥ 0,5.( x1 + x2 + x3) Ou ainda, 0,5.x1 + 0,5.x2 – 0,5.x3 ≤ 0 – Créditos Inadimplentes não devem exceder 4% de todos os empréstimos, ou seja: 0,1.x1 + 0,07.x2 + 0,0330.x3 + 0,05.x4 + 0,02.x5 ≤ 0,04.(x1 + x2 + x3 + x4 + x5) Ou ainda 0,06.x1 + 0,03.x2 – 0,01.x3 + 0,01.x4 – 0,02.x5 ≤ 0 – Não-negatividade: xi ≥ 0, i = 1, 2, 3, 4, 5. Problema 13 (Problema de Dosagem em Formulação de Petróleo): Uma refinaria de petróleo deseja encontrar a maneira ótima de cumprir um contrato de fornecimento de gasolina de aviação e gasolina comum. Segundo este contrato, deve-se fornecer diariamente um mínimo de 1000 barris de gasolina de aviação e 2000 barris de gasolina comum. A unidade que se responsabilizará pela entrega tem uma capacidade máxima de produção de 10000 barris por dia, indistintamente. As gasolinas devem ser transportadas até seus depósitos, cujas distâncias da unidade são 10 milhas e 30 milhas, respectivamente. A capacidade máxima de transporte da 75 refinaria é de 186000 barris/milha. Sabendo-se que a gasolina de aviação dá um lucro de R$3,60 e a comum R$2,25, pede-se o esquema de produção que maximiza o lucro da refinaria com relação ao citado contrato. Solução: Neste caso, observemos que temos duas variáveis de decisão, que são: x1: quantidade de barris de gasolina de aviação a serem produzidos diariamente x2: quantidade de barris de gasolina comum a serem produzidos diariamente A função objetiva pode ser descrita como: Maximizar: Lucro = 3,60. x1 + 2,25. x2 Asrestrições podem ser caracterizadas como segue: x1 + x2 ≤ 10000 (Produção) 10.x1 + 30.x2 ≤ 186000 (Transporte) x1 ≥ 1000 (Contrato) x1 ≥ 2000 (Contrato) x1 , x2 ≥ 0 Problema 14 (Problema de Racionalização de Produção): Uma multinacional na área alimentí- cia, após um processo de racionalização de produção, ficou com disponibilidade de 3 recursos produtivos, R1, R2 e R3. Um estudo sobre o uso desses recursos indicou a possibilidade de se fabricar 2 peças P1 e P2. Levantando os custos e consultando o departamento de vendas sobre o preço de colocação no mercado, verificou-se que P1 daria um lucro de R$120,00 por unidade e P2, R$150,00 por unidade. O departamento de produção forneceu o Quadro 5 a seguir, refe- rente à utilização destes recursos. 76 Peças Recurso R1 por unidade Recurso R2 por unidade Recurso R3 por unidade P1 2 3 5 P2 4 2 3 Disponibilidade de recursos por mês 100 90 120 Tabela 7 – Informações sobre o uso dos recursos R1, R2 e R3 Fonte: Adaptado do autor por Design Unis EAD Formular o modelo de programação linear que descreve o sistema acima. Solução: Neste caso, percebemos claramente que temos duas variáveis de decisão, que são: x1: quantidade a ser produzida da peça P1 x2: quantidade a ser produzida da peça P2 A função objetiva é dada por: Maximizar Z = 120. x1 + 150.x2 Sujeito as seguintes regulamentações: 2. x1 + 4.x2 ≤ 100 (Disponibilidade do recurso R1) 3. x1 + 2.x2 ≤ 6000 (Disponibilidade do recurso R2) 5. x1 + 3.x2 ≤ 6000 (Disponibilidade do recurso R3) x1 ≥ 0; x2 ≥ 0. Problema 15 (Problema de Investimento – Programação Não-Linear): Um indivíduo dispõe de R$4.000,00 para investir em três oportunidades disponíveis. Cada um dos investimentos requer depósitos em parcelas de R$1.000,00. O investidor pode alocar todo o dinheiro a um único investimento ou reparti-lo entre os três. Os retornos esperados estão apresentados no Quadro 77 a seguir. Reais Investidos 0 1000 2000 3000 4000 Retorno do Investimento 1 0 2000 5000 6000 7000 Retorno do Investimento 2 0 1000 3000 6000 7000 Retorno do Investimento 3 0 1000 4000 5000 8000 Tabela 8 – Informações referentes aos retornos dos investimentos Fonte: Adaptado do autor por Design Unis EAD Quanto deve ser investido em cada uma das três opções a fim de se ter o maior retorno global? Ou seja, construir o modelo de programação linear associado? Solução: Notemos que o objetivo é maximizar o retorno global, que vamos designar por Z, e que nada mais é do que a soma dos retornos de cada um dos investimentos. Todos os inves- timentos estão sujeitos à restrição de serem múltiplos inteiros da unidade R$1.000,00. Sendo assim, vamos fazer fi (x) (i = 1, 2, 3) representar o retorno (em milhares de reais) propiciado pelo investimento i correspondente à aplicação de x unidades monetárias no aludido negócio, logo, podemos reescrever o Quadro 6 de retornos sob a forma apresentada na tabela a seguir. 0 1 2 3 4 0 2 5 6 7 0 1 3 6 7 0 1 4 5 8 F(x) f1(x) f2(x) f3(x) Tabela 9 – Informações referentes aos retornos dos investimentos (reformulada) Fonte: Adaptado do autor por Design Unis EAD Definamos x (i = 1, 2, 3) como o número de unidades (milhares de reais) aplicadas no investi- mento i, podemos formular a função objetivo como sendo: Maximizar: Z = f1 (x) + f2 (x) + f3 (x) 78 Tendo em vista que o investidor possui apenas 4 unidades monetárias para aplicar, podemos escrever: x1 + x2 + x3 ≤ 4 Acrescentando as condições implícitas de que x , x e x sejam grandezas não negativas e inteiras, obtemos o seguinte modelo de programação matemática: Maximizar: Z = f1 (x) + f2 (x) + f3 (x) Sujeito a: x1 + x2 + x3 ≤ 4 Com todas as variáveis inteiras e não-negativas. Traçando-se fi (x) versus x para cada uma das funções resultam gráficos di- ferentes de retas. Por conseguinte, o sistema anterior é um exemplo de modelo de Programação Não-linear. Problema 16 (Problema na Área da Logística - Problema de Distribuição) Um fabricante de artigos de plástico possui em estoque 1200 caixas de invólucros transparentes em uma de suas fábricas e outras 1000 caixas em uma segunda fábrica. O fabricante recebeu pedidos deste produto prove- nientes de três diferentes varejistas nas quantidades de 1000, 700 e 500 caixas, respectivamente. Os custos unitários de expedição (em reais por caixa) desde as fábricas até os varejistas são os apresentados a seguir. 79 Varejista 1 Varejista 2 Varejista 3 Fábrica 1 14 13 11 Fábrica 2 13 13 12 Tabela 10 – Disposição dos dados da Aplicação Fonte: Adaptado do autor por Design Unis EAD Determinar o programa de expedição que atenda todas as demandas a partir do es- toque disponível, a um custo mínimo. Solução: Vamos designar por xij (i = 1, 2 e j = 1, 2, 3) o número de caixas a serem expedidas da fábrica i para o varejista j e, levando em consideração todas as possíveis combinações, ob- temos 6 (seis) variáveis de decisão, que são: x11: número de caixas a serem expedidas da fábrica 1 para o varejista 1 x12: número de caixas a serem expedidas da fábrica 1 para o varejista 2 x13: número de caixas a serem expedidas da fábrica 1 para o varejista 3 x21: número de caixas a serem expedidas da fábrica 2 para o varejista 1 x22: número de caixas a serem expedidas da fábrica 2 para o varejista 2 x23: número de caixas a serem expedidas da fábrica 2 para o varejista 3 Logo, obtemos a seguinte função objetivo: Minimizar: Z = 14 x11 + 13.x12 + 11.x13 + 13.x21 + 13.x22 + 12.x23 Uma vez que as quantidades expedidas não podem exceder as disponibilidades de estoque, segue que: x11 + x12 + x13 ≤ 1200 (expedições provenientes da fábrica 1) 80 x21 + x22 + x23 ≤ 1000 (expedições provenientes da fábrica 2) Adicionalmente, as quantidades totais enviadas a cada um dos varejistas não devem ultrapassar as respectivas demandas. Em consequência, obtemos: x11 + x21 ≥ 1000 (expedições destinadas ao varejista 1) x12 + x22 ≥ 700 (expedições destinadas ao varejista 2) x13 + x23 ≥ 1000 (expedições destinadas ao varejista 3) Para finalizarmos este exemplo, ressaltamos que como o total das disponibilidades em estoque 1200 + 1000, iguala ao total da demanda, 1000 + 700 + 500, cada uma das desigualdades acima pode ser convertida em igualdade. Fazendo isto e incluindo as condições implícitas de que as quantidades expedidas não podem ser negativas e que nenhuma das caixas pode ser desdobra- da para expedição, obtemos o seguinte modelo de programação linear: Minimizar: Z = 14 x11 + 13.x12 + 11.x13 + 13.x21 + 13.x22 + 12.x23 Sujeito a: x11 + x12 + x13 = 1200 x21 + x22 + x23 = 1000 x11 + x21 = 1000 x12 + x22 = 700 x13 + x23 = 1000 xi j ≥ 0, para todo i = 1, 2, 3 e j = 1, 2. Com todas as variáveis não negativas inteiras. Problema 17 (Problema de Programação 0/1 ou Programação Inteira): Uma excursionista pla- neja fazer uma viagem acampando. Há cinco itens que a excursionista deseja levar consigo, mas estes, juntos, excedem o limite de 60 kg que ela supõe ser capaz de carregar. Para ajudar a si 81 própria no processo de seleção ela atribuiu valores, por ordem crescente de importância, a cada um dos itens segundo a tabela a seguir. Item 1 2 3 4 5 Peso (kg) 52 23 35 15 7 Valor 100 60 70 15 15 Tabela 11 – Disposição dos dados do problema Fonte: Adaptado do autor por Design Unis EAD Que itens devem ser conduzidos de forma a maximizar o valor total sem exceder as restrições de peso, ou seja, construir o modelo de Programação Linear associado? Solução: Vamos designar por xi (i = 1, 2, 3, 4, 5) a quantidade de itens i a serem conduzidos, podemos formular o objetivo segundo a expressão: Maximizar: Z = 100.x1 + 60.x2 + 70.x3 + 15.x4 + 15.x5 A limitação em peso é dada por: 52.x1 + 23.x2 + 35.x3 + 15.x4 + 7.x5 ≤ 60 Tendo em vistaque o item será levado ou não, cada variável terá o valor 1 (um) ou o valor 0 (zero). Tais condições são atendidas, se for exigido que as variáveis sejam não negativas inteiras e, não maiores do que 1. Resumidamente, escrevemos então o modelo como segue. Maximizar: Z = 100.x1 + 60.x2 + 70.x3 + 15.x4 + 15.x5 Sujeito a: 52.x1 + 23.x2 + 35.x3 + 15.x4 + 7.x5 ≤ 60 x1 ≤ 1 x2 ≤ 1 82 x3 ≤ 1 x4 ≤ 1 x5 ≤ 1 xi ≥ 0, para todo i = 1, 2, 3,4,5. Com todas as variáveis não negativas inteiras. Problema 18 (Problema de Mistura – Produção de Liga): Uma certa empresa situada no interior da Paraíba, deseja produzir, a custo mínimo, 1.000 kg de liga de alumínio a partir de dois tipos de minério e que os minérios a serem utilizados apresentam os seguintes custos e quantidades em estoque: - Minério A: Custo de R$ 0,03 por kg – Estoque disponível de 600 kg. - Minério B: Custo de R$ 0,05 por kg – Estoque disponível de 800 kg. Os minérios A e B possuem composição química conforme é mostrado a seguir. Componente Minério A Minério B Silício (Si) 15% 10% Ferro (Fé) 13% 5% Alumínio (Al) 72% 85% Tabela 12 – Composição química dos minérios A e B Fonte: Adaptado do autor por Design Unis EAD Quanto à liga produzida, ela deve atender a especificações técnicas que limitam à quantidade dos elementos químicos, segundo a tabela a seguir. Componente Mínimo Máximo Si 13% Fe 10% Al 80% Tabela 13 – Especificações técnicas da liga produzida Fonte: Adaptado do autor por Design Unis EAD 83 Descrever o modelo de Programação Linear do sistema acima. Solução: Neste caso, temos duas variáveis de decisão, que são: x1: quantidade (em Kg) a ser utilizado do minério A na produção da liga x2: quantidade (em Kg) a ser utilizado do minério B na produção da liga Sendo que a função objetivo é dada por: Minimizar C = 0,03.x1 + 0,05.x2 Notemos que é objetivo do problema minimizar o custo da produção da liga de alumínio. As restrições técnicas (referenciadas quanto ao atendimento das especificações técnicas) são: x1 + x2 = 1000 x1 ≤ 600 x2 ≤ 800 0,15.x1 + 0,10.x2 ≤ 130 (130 = 13% de 1000) 0,13.x1 + 0,05.x2 ≤ 100 (100 = 10% de 1000) 0,15.x1 + 0,10.x2 ≥ 800 (800 = 80% de 1000) E as restrições de não-negatividade são: x1 ≤ 0, x2 ≥ 0. Problema 19 (Problema de Mistura de Ração – Estudo de Caso SADIA): Para alimentar a sua criação de aves em uma de suas fazendas do interior de São Paulo, a SADIA prepara uma ra- ção especial. Ela compra qualquer um de quatro tipos de alimentos: milho, trigo, soja e arroz, denotados por A1, A2, A3 e A4. Cada um destes alimentos apresenta certa quantidade de nu- trientes, digamos, vitamina A e vitamina B, denotados por N1 e N2 , e que são componentes importantes da ração em termos de conteúdo alimentar para que as aves no abate tenham um peso maior e equilibrado. Suponha que o alimento A1 apresente 2 unidades do nutriente N2 e 84 3 unidades do nutriente N2 por quilograma. Similarmente, os alimentos A2, A3, A4 apresentam 3, 1, 2 unidades do nutriente N1 e 2, 3, 2 unidades do nutriente N2 por quilograma. Sabendo- se que os preços de compra dos alimentos A1, A2, A3 e A4 são R$3,02/kg, R$4,5/kg, R$3,05/kg, R$4,08/kg, deseja-se preparar uma ração que contenha pelo menos 7 unidades do nutriente N1 e 9 unidades do nutriente N2. Formular um modelo de programação linear de tal modo que o dispêndio total com os alimentos seja o menor possível. Solução: Neste caso, temos quatro variáveis de decisão, que podem ser caracterizadas como segue: x1: quantidade (em Kg) do alimento A a ser utilizada na ração x2: quantidade (em Kg) do alimento A a ser utilizada na ração x3: quantidade (em Kg) do alimento A a ser utilizada na ração x4: quantidade (em Kg) do alimento A a ser utilizada na ração Neste caso, a função objetivo é dada por: Minimizar C = 3,02.x1 + 4,50.x2 + 3,05.x3 + 4,08.x4 Notemos que é objetivo do problema minimizar o custo total da produção da ração. As restrições técnicas (referenciadas quanto à disponibilidade de nutrientes) são: 2.x1 + 3.x2 + 1.x3 + 2.x4 ≥ 7 3.x1 + 2.x2 + 3.x3 + 2.x4 ≥ 9 E as restrições de não-negatividade são: x1 ≥ 0, x2 ≥ 0, x3 ≥ 0 e x4 ≥ 0. Problema 20 (Problema de Mistura – Estudo de Caso PETROBRÁS): Uma das refinarias da multinacional PETROBRÁS no interior do Rio de Janeiro, produz três tipos de gasolina G1, G2 85 e G3 (digamos, verde, azul e amarela) a partir de dois tipos de petróleo ou matérias primas, M1, M2. As gasolinas são obtidas por meio de misturas das matérias primas de tal modo que não há perda de massa no processo. O setor de finanças da empresa deve formular um modelo de programação linear que maximize o lucro total. Os dados são apresentados nas tabelas 14 e 15, com valores fictícios a fim de simplificação de cálculos. Tabela 14 – Informações referentes aos tipos de petróleo Fonte: Adaptado do autor por Design Unis EAD Matéria Prima Preço Compra Quantidade Máxima Teor de Octanas M1 5 200 70 M2 7 200 90 Gasolina Custo do Processo Preço de Venda Quantidade Mínima Teor Min. Octanas G1 5 11 100 75 G2 5 13 100 80 G3 5 15 100 85 Tabela 15 – Informações referentes aos tipos de gasolina Fonte: Adaptado do autor por Design Unis EAD Formular o modelo de Programação Linear associado ao sistema descrito acima. Solução: Para modelarmos este problema como um programa linear é necessário observarmos que as atividades a serem consideradas estão relacionadas com as quantidades de cada matéria prima que deve ser utilizada para obter cada um dos combustíveis (gasolinas); isto é, vamos denotar por xij a quantidade (em litros) da matéria prima i que é utilizada na gasolina j. Desta forma, a quantidade de matéria prima i é ∑jxij e a quantidade de gasolina j é ∑ixij ; existem res- trições relativas ao máximo ou mínimo que estas quantidades podem valer e que são facilmente escritas. Na função objetivo o lucro relativo à parcela xij é determinado por aj – bi – cij onde aj denota o preço de venda da gasolina Gj, bi denota o preço de compra de Mi, e cij denota o 86 custo de processamento de x . Entretanto, deve-se considerar ainda que existem restrições relativas ao teor de octanas das gasolinas. Consideremos a quantidade x11 + x21 de gasolina G1 que está sendo produzida: são utilizados x11 litros de M1 com 70. x11 octanas x litros mais x21 litros de M2 com 90. x21 octanas x litros totalizando x11 + x21 litros de gasolina G1 com 70. x11 + 90. x21 octanas x litros. Assim, o teor de octanas da gasolina G1 é x 11 + x 21 (70x 11 + 90x 21) octanas. A restrição a ser incluída no modelo é portanto: x 11 + x 21 (70x 11 + 90x 21) $ 75 Aparentemente esta não seja uma restrição linear em x, é possível, neste caso, transformarmos a mesma numa restrição linear multiplicando ambos os membros por x11 + x21: (70.x11 + 90.x21) ≥ 75.( x11 + x21) Ou ainda, podemos escrever, (70 – 75). x11 + (90 – 75).x21 ≥ 0 Analogamente, podemos obter as restrições relativas ao teor de octanas das gasolinas G2 e G3. O modelo completo é dado por: Max. Z = 1. x11 + 3.x12 + 5.x13 –1.x21 + 1. x22 + 3. x23 Sujeito as seguintes restrições: x11 + x12 + x12 ≤ 200 x21 + x22 + x23 ≤ 200 x11 + x11 ≥ 100 x12 + x22 ≥ 100 x13 + x23 ≥ 100 87 –5. x11 + 15. x21 ≥ 0 –10. x12 + 10.x22 ≥ 0 –15.x13 + 5.x23 ≥ 0 xij ≥ 0, para todo i, j. Problema 21 (Problema de Produção): Uma fábrica produz dois tipos de produtos: P1 e P2. Três diferentes matérias primas, M1, M2 e M3, são utilizadas na fabricação destes produtos com dispo- nibilidade de 6.000t/mês, 6000t/mês, 2500t/mês, respectivamente. Para produzir 1t de P1 são necessárias 1t de M1, 2t de M2 e 1t de M2. Para produzir 1t de P1 são necessárias 2t de M2 e 1t de M3. Os produtos P1 , P2 são vendidos a R$220,00/t,R$200,00/t, respectivamente. É interesse da fábrica determinar a quantidade de cada produto a ser fabricada mensalmente de modo a maximizar as vendas a satisfazer as restrições de disponibilidade de matéria prima. Formular o modelo de programação linear do problema. Solução: Neste caso temos duas variáveis de decisão, que são: x1: quantidade a ser produzida do Produto P1 x2: quantidade a ser produzida do produto P2 A função objetiva é dada por: Max. Z = 220. x1 + 200.x2 Sujeito a: 1. x1 + 2.x2 ≤ 6000 (disponibilidade da matéria prima M1) 1. x1 + 1.x2 ≤ 6000 (disponibilidade da matéria prima M2) 1. x1 + 0.x2 ≤ 2500 (disponibilidade da matéria prima M3) x1 ≥ 0; x2 ≥ 0. 88 Problema 22 (Problema de Mistura): Uma empresa de mineração deseja cumprir um contrato de fornecimento de minério Sinter Feed para um cliente e, para tanto, conta com os seguintes minérios conforme nos mostra a tabela 16 a seguir (o mesmo mostra nos a composição percen- tual e o custo/tonelada de cada minério). M1 M2 M3 M4 M5 Fe 66 64 64 66 64 Si 1,5 3,5 5,0 5,0 3,7 Custo 5,60 5,00 5,00 5,20 3,30 Tabela 16 – Informações referente aos minérios com relação a quantidade de Fe e Si Fonte: Adaptado do autor por Design Unis EAD O minério cinco tem uma disponibilidade total de 2.000.000 toneladas por ano. As especifica- ções do contrato são as seguintes (contrato de fornecimento em milhões de toneladas por ano) conforme a tabela 17 abaixo. Especificações Fe Si ≥ 65 ≤ 3,5 Peso Total 3.000.000 Tabela 17 – Especificações do contrato Fonte: Adaptado do autor por Design Unis EAD Quais minérios devem ser utilizados para este blending a custo mínimo? Ou seja, construir o modelo de programação linear que descreve o sistema acima. Solução: Neste caso, temos seis variáveis de decisão, que denotaremos por: x1: quantidade a ser utilizada do Minério 1 (M1) x2: quantidade a ser utilizada do Minério 2 (M2) x3: quantidade a ser utilizada do Minério 3 (M3) 89 x4: quantidade a ser utilizada do Minério 4 (M4) x5: quantidade a ser utilizada do Minério 5 (M5) A função objetivo é dada por: Minimizar Z = 5,6.x1 + 5.x2 + 5. x3 + 5,2.x4 + 3,3.x5 Sujeito a x5 ≤ 2000000 x1 + x2 + x3 + x4 + x5 = 3000000 0,66.x1 + 0,64.x2 + 0,64.x3 + 0,66.x4 + 0,64.x5 ≥ 1950000 0,015.x1 + 0,035.x2 + 0,05.x3 + 0,05.x4 + 0,037.x5 ≤ 105000 x1, x2, x3, x4, x5 ≥ 0. Problema 23 (Aplicação na Área de Logística - Problema de Transporte): Uma companhia de mineração deve transportar o minério extraído de suas duas minas M1, M2 para as suas três fá- bricas ou unidades de processamento F1, F2, F3. Em cada mina há 300 toneladas de minério para serem transportadas e cada fábrica deve receber 200 toneladas. O custo de transporte de cada mina para cada fábrica está apresentado no tabela 18 abaixo. Deseja-se determinar quanto deve ser transportado de minério de cada mina para cada fábrica de modo a minimizar o custo total de minério transportado. Mina Fábrica F1 F2 F3 Quantidade Máxima M1 2 3 1 300 M2 3 2 3 300 Quantidade Mínima 200 200 200 Tabela 18 – Disposição dos dados do problema Fonte: Adaptado do autor por Design Unis EAD 90 Solução: Neste caso, temos seis variáveis de decisão que são caracterizadas a partir das pos- síveis combinações de mina e fábrica, ou seja, vamos denotar por x a quantidade a ser trans- portada da mina i para a fábrica j. Portanto, as variáveis são dadas por: x11: quantidade a ser transportada da mina 1 para a fábrica 1; x12: quantidade a ser transportada da mina 2 para a fábrica 1; x13: quantidade a ser transportada da mina 1 para a fábrica 3; x21: quantidade a ser transportada da mina 2 para a fábrica 1; x22: quantidade a ser transportada da mina 2 para a fábrica 2; x23: quantidade a ser transportada da mina 2 para a fábrica 3; Desta forma, a função objetivo é dada por: Min. Z = 2. x11 + 3.x12 + 1.x13 + 3.x21 + 2. x22 + 3. x23 Sujeito a: x11 + x12 + x13 ≤ 300 (disponibilidade da mina 1) x21 + x22 + x23 ≤ 300 (disponibilidade da mina 2) x11 + x21 ≥ 200 (o que a fábrica 1 requer ) x12 + x22 ≥ 200 (o que a fábrica 2 requer ) x13 + x23 ≥ 200 (o que a fábrica 3 requer ) x11, x12, x13 , x21, x22, x ≥ 0 91 Vimos nessa segunda unidade, em termos específicos, as principais etapas na construção de um modelo de programação linear, bem como, a formulação de diversas situações que podem comparecer no seu cotidiano futuro profissional. Foi apresentado também uma série de organizações que tiveram melhorias em determinados de seus processos a partir da formula- ção de modelos via a programação linear. Grosso somo, a programação Linear (P.L.) é um dos mais populares modelos matemá- ticos, aplicável a problemas quantitativos cujos relacionamentos possam ser expressos por meio de equações e inequações lineares, sendo que neste modelo, existe sempre uma combinação de variáveis que deve ser maximizada ou minimizada. Essa combinação de variáveis, na forma de uma expressão matemática, é denominada de função objetivo. De outra forma, em qualquer modelo de P.L. existem restrições, representadas por equações e inequações matemáticas. As restrições representam limitações da situação real, como, por exemplo, escassez de recursos, restrições legais ou de mercado, etc., enquanto que os parâmetros são valores fixos e in- dependentes do administrador (gestor) que elabora o modelo de P.L.. Por outro lado, as variáveis de decisão são grandezas que podem assumir diversos valores, sendo que existe certa combinação de valores que irá maximizar (ou minimizar) a função objetivo. Ressalta-se ainda que na Programação Linear Inteira, exigimos que pelo menos uma das variáveis deva assumir valores apenas inteiros; quando todas as variáveis são livres para assumir valores inteiros e não-inteiros, falamos em Programação Linear Simples. Tal técnica da Pesquisa Operacional, pode ser frequentemente utilizada em problemas relacionados a logística, gestão financeira, administração da produção, modelo de política de empréstimos, problemas de mistura, gestão de estoques, gestão financeira, análise de mercado, etc. Desta forma, na próxima Unidade estaremos interessados na resolução de modelos de Programação Linear, desde a resolução geométrica, passando pela resolução analítica e chegando a implementação numérica a partir de programas computacionais específicos. “Uma empresa sem estratégia faz qualquer negócio.” (Michael Porter) Objetivos da Unidade III Resolução de Modelos de Programação Linear Ao final desta unidade, o aluno será capaz de interpretar os principais métodos de resolução de modelos de programação linear, desde o método gráfico, passando pelo método analítico e chegando a resolução através da implementação numérica. 93 3.1 Aspectos Introdutórios da Formulação de Modelos de Programação Linear Nesta unidade, estaremos estudando os principais métodos de resolução de modelos de Programação Linear, que são o Método Gráfico, a Implementação Numérica via computador e o Método Simplex. Em verdade, com relação ao método gráfico, trata-se da maneira geométrica de resolução, constituindo um método limitado já que resolve apenas modelos com duas variáveis de decisão. Já com relação a implementação numérica, apresentaremos a resolução em dois programas, que são o LINGO e o VCN. Por fim, qualquer modelo de Programação Linear que apresente a solução ótima pode ser resolvido pelo método Simplex, que constitui a resolução algébrica de um modelo de P.L. Ressaltamos ainda, que a implementação numérica, nas suas entrelinhas utilizam exatamente o método simplex, como veremos no desenvolvimento dos exemplos resolvidos. Salientamos ainda, que existe uma série de outros programas que resolvem modelos de P.L., tais como oExcel, AMPL e o TORA. Neste sentido, resolver um modelo de programação linear, independentemente do método utilizado, significa encontrar a solução ótima (valor das variáveis de decisão), juntamente com o valor ótimo (valor da função objetivo). Grosso modo, esses valores constituem a melhor das alternativas que temos para aquele contexto a ser otimizado. 3.2 Resolvendo Geometricamente Um Modelo de P.L. – O Método Gráfico Caso um problema de programação linear tenha apenas duas variáveis, inicialmente, ele po- derá ser solucionado graficamente, ou seja, podemos utilizar o que chamamos de Método Gráfico. De forma natural, o fato de ter apenas duas variáveis de decisão permite representá-las em um par de eixos ortogonais, que será a base para a colocação gráfica de retas que delimitarão as restrições. A solução gráfica só se aplica a problemas com duas variáveis, desta forma ele é considerado um método limitado, já que não pode solucionar modelos com três ou mais variáveis. É interessante o estudo do método gráfico, já que a posteriormente ele nos auxiliará num melhor entendimento do 94 método Simplex. Vejamos alguns exemplos introdutórios. Exemplo Introdutório: Consideremos o modelo de maximização como segue. Uma fábrica produz dois produtos, A e B. Cada um deles deve ser processado por duas máquinas, M1 e M2. Devido à programação de outros produtos, que também utilizam essas máquinas, a máquina M1 tem 24 horas de tempo disponível para os produtos A e B, enquanto a máquina M2 tem 16 horas de tempo disponível. Para produzir uma unidade do produto A, gastam-se 4 horas em cada uma das máquinas M1 e M2. Para produzir uma unidade do produto B, gastam-se 6 horas na máquina M1 e 2 horas na máquina M2. Cada unidade vendida do produto A gera um lucro de R$ 80,00 e cada unidade do produto B, um lucro de R$ 60,00. 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. Deseja-se saber quantas unida- des de A e de B devem ser produzidas, de forma a maximizar o lucro e, ao mesmo tempo, obedecer a todas as restrições desse enunciado. Solução: Como vimos anteriormente, a formulação completa do modelo é dada por: Max 80.x + 60.y Sujeito a 4.x + 6.y ≤ 24 4.x + 2.y ≤ 16 0.x + 1.y ≤ 3 x ≥ 0; y ≥ 0 Onde: x: quantidade a ser produzida do produto A (em unidades) e y: quantidade a ser produzida do produto B (em unidades) Como comentamos anteriormente, toda solução gráfica é realizada por meio de um conjun- to de dois eixos ortogonais, cada qual representando uma das variáveis de decisão, ou seja, haverá 95 um eixo para a variável x (quantidade a fabricar do produto A) e outro, perpendicular a ele, para a variável y (quantidade a fabricar do produto B). Para obedecer a um velho hábito (padronização), vamos colocar a variável x no eixo horizontal e a variável y no eixo vertical. O que aconteceria se invertêssemos a escolha dos eixos? Tente fazer depois e compare os resultados! O procedimento do método gráfico é bastante simples. Cada uma das restrições será repre- sentada por uma reta no sistema de eixos e pela definição de uma região permissível de soluções. A análise da região final, comum a todas as restrições, dará a solução final ao problema. Em nosso caso, trata-se de desenhar retas e determinar três regiões permissíveis iniciais de solução. Vamos desenhar primeiramente a restrição, que diz respeito ao número de horas que pode ser gasto na máquina M , que é dada por: 4.x + 6.y ≤ 24 O primeiro passo a ser desenvolvido é transformar a inequação acima em uma equação, ou seja: 4.x + 6.y = 24 4 3 2 1 1 2 3 4 5 6 Região permissível x y Desta maneira, se fizermos y = 0, resulta que 4.x = 24 e, então x = 6. Este é o ponto em que a reta que traçaremos encontra o eixo x. Similarmente, fazendo x = 0, temos 6.y = 24 e, daí x = 4. Este é o ponto em que a reta encontra o eixo y (denominado intercepto). A represen- tação gráfica da reta 4.x + 6.y = 24 é mostrada na figura a seguir. Notemos que para a caracterização ge- ométrica da reta em questão, utilizamos o fato de que uma reta é determinada por dois pontos distintos. A região hachurada na figura 10 (deli- Figura 10 – Restrição: horas disponíveis na máquina M1 Fonte: Adaptado do autor por Design Unis EAD 96 mitada pela reta encontrada e pelos eixos x e y) é a chamada região permissível (ou região possível ou região viável) definida pela restrição 4.x + 6.y ≤ 24. Os pontos extremos correspondem a 4.x + 6.y < 24 e os pontos sobre a reta correspondem a 4.x + 6.y = 24. Vamos partir para a segunda restrição, que diz respeito ao número máximo de horas dispo- níveis na máquina M , que é dada por: 4.x + 2.y ≤ 16 Novamente vamos olhar para a igualdade 4.x + 6.y = 16. Temos que para y = 0 implica que x = 4. E para x = 0 segue que y = 8 e, desta forma temos a reta de restrição mostrada na Figura 11 abaixo. 8 7 6 5 4 3 2 1 1 2 3 4 x y Figura 11 – Restrição: horas disponíveis na máquina M1 Fonte: Adaptado do autor por Design Unis EAD Mais uma vez, a região delimitada pelos eixos e pela reta encontrada é a região permis- sível, agora para a restrição do número de horas da máquina M . Para qualquer ponto da reta, de coordenadas (x, y), temos que 4.x + 2.y = 16 Para qualquer outro ponto da região per- missível, temos que 4.x + 2.y < 16 Temos ainda à última restrição, que diz respeito à máxima demanda do produto B, i.e., ao Região permissível valor máximo de y: 0.x + 1.y ≤ 3 Neste caso, percebemos que a região permissível é mais simples de ser encontrada, pois está no espaço abaixo da reta paralela ao eixo x, passando pelo ponto y = 3, como mostramos na Figura 97 12 a seguir. 3 2 1 1 2 3 4 5 6 Região permissível x y 7 8 9 10 Figura 12 – Restrição: demanda máxima - produto B Fonte: Adaptado do autor por Design Unis EAD As representações gráficas das três restrições podem agora ser colocadas em um só gráfico, como mostramos na Figura 13 na sequência. 1 2 3 4 5 6 7 8 x S R Q Região permissível final y P 1 2 3 4 5 6 7 8 Figura 13 – Gráfico das restrições: maximização Fonte: Adaptado do autor por Design Unis EAD Observamos que as três restrições de- limitam agora uma região comum, que é o po- lígono PQRST; além disso, notemos que todos os pontos internos a essa região, ou sobre as retas que a formam, obedecem simultaneamen- te a todas as restrições. Os pontos PQRST são chamados de pontos extremos da região per- missível. Vamos agora encontrar as coordenadas dos pontos extremos do polígono em questão. Inicialmente, temos, sem grandes dificuldades, as coordenadas dos pontos P, Q e T: P (x = 0; y = 0) é a origem dos eixos 98 Q (x = 4; y = 0) T (x = 0; y = 3) O ponto extremo S tem coordenada y = 3; o valor de x correspondente é: 4.x + 6.y = 24 4.x + 6.(3) = 24 x = 3/2 Finalmente, o ponto R é o encontro das retas 4x + 6y = 24 e 4x + 2y = 16, que represen- tam os limites das horas disponíveis para a produção das máquinas M e M , respectivamente. Uma combinação linear das duas equações fornecerá o par de valores (x, y): 4x + 6y = 24 4x + 2y = 16 Subtraindo as equações membro a membro, temos que: (4x – 4x) + 96y – 2y) = (24 – 16) 0 + 4y = 8 y = 2 Substituindo o valor de y = 2 em qualquer uma das equações originais – por exemplo, na equação da restrição de horas da máquina M , temos que: 4x + 6y = 24 4x + 6.(2) = 24 x = 3 Só a título de informação, se um ponto (x, y) é o ponto de interseção entre duas retas r e s, para encontrarmos as coordenadas (x, y) resolvemos o sistema linear formado pelas equações das retas r e s, como fizemos acima. Cabe ressaltar ainda, que a maneira pela qual se resolveo sistema 99 fica a seu critério. Retornando a nossa discussão, o que temos até o presente momento? Temos um polígono de soluções possíveis, do qual conhecemos as coordenadas dos pontos extremos. Sabemos que a solução está nesse polígono, mas onde? Neste ponto, enunciamos uma propriedade fundamental dos pontos extremos (Teorema 1) abaixo, que não demonstraremos, mas que será intuitivamente ficar clara para o nosso entendimento. Teorema 1 (Propriedade Fundamental Pontos Extremos) (Daniel 2010) A solução ótima ao proble- ma está em um dos pontos extremos da região permissível. Aceitemos tal afirmação, sem demonstração. Para maiores detalhes com relação a justifica- tiva você deve olhar em Daniel (2010). Indagamos agora: Qual dos pontos extremos é a solução ótima? A priori a resposta é fácil: basta substituirmos as coordenadas de todos os pontos possíveis na função objetivo e verificar quais delas fornecem o valor máximo. Vamos construir o Quadro 1, uma tabela auxiliar para averiguarmos a situação. Ponto extremo Valor de x Valor de y Função objetivo 80x + 60y P 0 0 0 Q 4 0 320 R 3 2 360 S 3/2 3 300 T 0 3 180 Tabela 19 – Pontos extremos função objetivo Fonte: Adaptado do autor por Design Unis EAD O ponto extremo R é, portanto, a solução ótima do nosso problema de maximização com x = 3 e y = 2. Mesmo graficamente, o ponto R pode ser identificado como o ponto extremo da solução. Basta trabalharmos com a função objetivo 80.x + 60.y. Reparemos que essa equação define uma família de retas paralelas no plano dos eixos x,y. Se determinarmos qualquer uma dessas retas, todas 100 as demais serão paralelas a ela. O valor 240 é múltiplo de 80 e de 60. Desta maneira, vamos assumir a igualdade: 80x + 60y = 240 Encontramos x = 3 e y = 4 como os pontos em que a reta encontra os eixos x e y, respec- tivamente. Vejamos a figura abaixo. 1 2 3 4 5 6 7 8 x S R Q Região permissível final y P 1 2 3 4 5 6 7 8 Figura 14 – Retas paralelas à função objetivo: maximização Fonte: Adaptado do autor por Design Unis EAD Se movermos a reta paralelamente a si mesma para a direita, o último ponto a ser encon- trado é o ponto R (ou seja, R é o ponto extremo mais “extremo”), a nossa solução, com a reta 80x + 60y assumindo o valor 360. Problema 1 (Problema de Formulação de Ração): A Granja AFA quer mis- turar dois tipos de alimentos para criar um tipo especial de ração para suas galinhas poedeiras. A primeira característica a ser atingida com a nova ração é o menor preço possível por unidade de peso. Cada um dos ali- mentos contém os nutrientes necessários à ração final (aqui chamados de nutrientes X, Y e Z), porém em proporções variáveis. Cada 100 g do Alimento 1, por exemplo, 101 possuem 10 g do nutriente X, 50 g do nutriente Y e 40 g de nutriente Z. O Alimento 2, por sua vez, para cada 100 g , possui 20 g do nutriente X, 60 g do nutriente Y e 20 g do nutriente Z. Cada 100 g do Alimento 1 custam, para a granja AFA, R$ 0,60 e cada 100 g do Alimento 2 custam R$ 0,80. Sabe-se que a ração final deve conter, no mínimo, 2 g do nutriente X, 64g do nutriente Y e 34 g do nutriente Z. É preciso obedecer a essa composição, minimizando ao mesmo tempo o custo por peso da nova ração. Solução: De acordo com o que discutimos na Unidade 01, a formulação completa do problema é dada por: Minimizar 0,006.x + 0,008.y Sujeito a 0,1.x + 0,2.y ≥ 2 (I) 0,4.x + 0,6.y ≥ 64 (II) 0,5.x + 0,2.y ≥ 34 (III) x ≥ 0; y ≥ 0 Vamos mais uma vez tomar dois eixos ortogonais, com o eixo horizontal representando a quantidade x do Alimento 1, e o eixo vertical, a quantidade y do Alimento 2. Na soma das quantidades x e y devem obedecer às condições (I), (II) e (III). Além disso, recordemos que cada uma das restrições será representada por uma reta no sistema de eixos e pela definição de uma região permissível de soluções. A análise da região final, comum a todas as restrições, dará a solução ao problema. Em nosso caso, teremos três retas e três regiões permissíveis iniciais de solução. A primeira restrição que diz respeito à quantidade mínima (2 gramas) de nutriente X que deveria existir na quantidade final (x + y) de mistura é: 0,1.x + 0,2.y ≥ 2 Transformando a inequação em uma equação, temos que: 102 0,1.x + 0,2.y = 2 Se fizermos y = 0, resulta 0,1.x = 2 e x = 20. Este é o ponto em que a reta que traçare- mos encontra o eixo horizontal (eixo x). Por outro lado, fazendo x = 0, temos 0,2.y = 2 e, por consequência, y = 10. Este é o ponto em que a reta encontra o eixo vertical (eixo y). Fazendo a representação no sistema de eixos ortogonais, obtemos a Figura 15 abaixo. 10 20 30 40 50 60 70 80 x y P 10 20 30 40 50 60 70 80 90 100 110 120 90 100 110 120 130 140 150 160 Região permissível Figura 15 – Restrição: quantidade mínima do nutriente X na mistura Fonte: Adaptado do autor por Design Unis EAD A segunda restrição diz respeito à quantidade mínima (64 gramas) do nutriente Y na mistura, que é dada por: 0,4.x + 0,6.y ≥ 64 Novamente, analisamos a igualdade: 0,4.x + 0,6.y = 64 Para y = 0, x = 160 e, para x = 0, y = 106,7, e temos a reta mostrada na Figura 16 abaixo. 106,7 103 10 20 30 40 50 60 70 80 x y P 10 20 30 40 50 60 70 80 90 100 110 120 90 100 110 120 130 140 150 160 Região permissível 130 140 150 160 170 180 68 Figura 16 – Restrição: quantidade mínima do nutriente Y na mistura Fonte: Adaptado do autor por Design Unis EAD A última restrição técnica diz respeito à quantidade mínima (34 gramas) do nutriente Z na mis- tura, que é dada por: 0,5.x + 0,2.y ≥ 34 Trabalhando com a igualdade, fazendo y = 0, encontramos x = 68; para x = 0, y = 170, como pontos em que a reta encontra os eixos x e y, respectivamente, como mostramos na Figura 17 a seguir. 104 10 20 30 40 50 60 70 80 x y P 10 20 30 40 50 60 70 80 90 100 110 120 90 100 110 120 130 140 150 160 Região permissível 130 140 150 160 170 180 68 Figura 17 – Restrição: quantidade mínima do nutriente Z na mistura Fonte: Adaptado do autor por Design Unis EAD As representações gráficas das três restrições podem agora ser colocadas em um só gráfico, como mostramos na Figura 18 abaixo. y Região permissível Final 68 10 20 30 40 50 60 70 80 x 90 100 110 120 130 140 150 160 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 P 106,7 N M L Fonte: Adaptado do autor por Design Unis EAD Figura 18 – Gráfico das Restrições: minimização 105 As três restrições delimitam uma região permissível, aberta à direita, delimitada à esquerda pelos pontos MNL, pelo eixo y, para valores maiores que M, e pelo eixo x, para valores maiores que L. Todos os pontos internos a essa região, ou sobre as retas MN e NL, obedecem simultane- amente a todas as restrições. Determinemos as coordenadas dos pontos extremos M, N e l. Inicialmente, temos, sem grandes dificuldades, as coordenadas dos pontos M e L, como segue: M (x = 0; y = 170) L (x = 160; y = 0) O ponto N é o encontro das retas 0,4x + 0,6y = 64 e 0,5x + 0,2y = 34, que representam os limites mínimos dos nutrientes Y e Z na mistura. Uma combinação linear entre as duas equações fornecerá os valores de x e y: x = 34,5 gramas y = 83,6 gramas Temos três pontos extremos: qual deles será a solução ótima? Como vimos, basta substituirmos as coordenadas de todos os pontos possíveis na função objetivo e verificar quais delas fornecem o valor mínimo. Vamos construir a Tabela 20, uma tabela auxiliar para averiguarmos a situação. Ponto extremo Valor de x Valor de y Função objetivo 0,006.x + 0,008.y M 0 170 1,36 N 34,5 83,6 0,88 L 160 0 0,96 Tabela 20 – Pontos extremos a função objetivo Fonte: Adaptado do autor por Design Unis EAD O pontoextremo N é, portanto, a solução do nosso problema de minimização, com x = 34,5 gramas e y = 83,6 gramas. Para identificarmos graficamente que o ponto N seria o de melhor solução (mínimo custo da mistura), bastávamos traçar retas paralelas à função objetivo, como ilustramos na Figura 18 abai- 106 xo, que nos mostra a família de retas definidas pela função objetivo. Região permissível final 68 y 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 10 20 30 40 50 60 70 80 x 90 100 110 120 130 140 150 160 P N L M Fonte: Adaptado do autor por Design Unis EAD Figura 19 – Retas paralelas à função objetivo: minimização Se movermos a reta paralelamente a si mesma pela direita, o primeiro ponto a ser encontrado é o ponto N, com a reta 0,006x + 0,008y assumindo o valo R$0,88. 3.3. Análise de Sensibilidade: O que é? Salientamos inicialmente, que até o presente momento, consideramos que eram fixos todos os coeficientes que apareciam em um problema de programação linear. Desta forma, eram constan- tes todos os coeficientes da função objetivo, ou seja, todos os números que apareciam multiplicando as variáveis de decisão na função objetivo. Em diversos problemas de maximização, esses coeficien- tes indicam lucros unitários ou algum tipo de contribuição. A hipótese, portanto, é a de que esses lucros unitários são constantes. 107 Por outro lado, também estamos considerando constantes todos os coeficientes das restri- ções, o que em um problema de maximização pode indicar quanto de cada recurso será despen- dido para se elaborar uma simples unidade de um dado produto. Segundo Daniel (2010), esses coeficientes são denominados coeficientes tecnológicos, pois de certa forma, dependem do grau de tecnologia que se dispõe. Caso ocorra a suposição dos coeficientes tecnológicos serem constantes isso implica que estamos considerando como fixo um dado estado de tecnologia. Por fim, podemos também considerar fixos os lados direitos das restrições, ou LDRs (em inglês, RHS – right hand side ou simplesmente lado direito). Nesse caso, em problemas usuais de programação linear, estaremos considerando constante a quantidade total de recursos disponíveis. Ocorre que todos esses coeficientes, em um ambiente real, podem sofrer variações. Desta forma, denominamos análise de sensibilidade ao estudo de como a solução ótima irá mudar, caso va- riem esses coeficientes. Em um nível elementar da análise de sensibilidade, iremos considerar sempre o efeito da variação isolada de um certo coeficiente, ou seja, não analisaremos o que acontece com a solução ótima quando dois ou mais coeficientes variam em conjunto. A análise de sensibilidade pode ser mostrada tanto pelo método gráfico quanto pelos quadros de desenvolvimento do méto- do Simplex (tableaux). Tableaux significa o plural de tableau (quadro, tabela). Estaremos utilizando e muito esta terminologia na parte da resolução algébrica – Método Simplex. Pela facilidade de compreensão, vamos nos restringir à análise gráfica de sensibilidade, considerando apenas os casos dos coeficientes da função objetivo e os LDRs. 3.3.1. Análise dos Coeficientes da Função Objetivo Com relação ao problema de maximização relacionado a produção dos produtos A e B, nas máquinas M e M , cuja formulação completa é: Maximizar 80.x + 60.y Sujeito a 4.x + 6.y ≤ 24 4.x + 2.y ≤ 16 108 0.x + 1.y ≤ 3 x ≥ 0; y ≥ 0 Nesse problema, 80 e 60 eram as contribuições ao lucro correspondentes aos produtos A e B, respectivamente, enquanto 24 e 16 representavam o número máximo de horas disponíveis nas máquinas M1 e M2, respectivamente. Por outro lado, 3 (na terceira restrição) era o número máximo de unidades do produto B que o mercado poderia aceitar. Na primeira restrição, os coeficientes de x e y (4 e 6) representavam quanto cada unidade do produto consumia dos recursos (horas) das máquinas, respectivamente, M1 e M2 . Raciocínio análogo é válido para o produto B, na segunda restrição. Até que ponto podem variar os coeficientes da função objetivo sem que varie a solução ótima (ponto R da figura abaixo)? A figura a seguir ilustra a situação. y 1 2 3 4 5 6 7 8 1 2 3 4 x 5 6 7 8 R 9 10 S QP T Reta da função objetivo com mínima inclinação Reta original da função objetivo Reta da função objetivo com máxima inclinação Fonte: Adaptado do autor por Design Unis EAD Figura 20 – Variação dos coeficientes da função objetivo: problema de produção Notemos que, se a reta da função objetivo coincidir com a reta derivada da restrição 4x + 6y ≤ 24 (segmento RS), o ponto R ainda será a solução, embora todos os pontos ao longo do segmento RS também o sejam. Girar a reta da função objetivo até coincidir com o segmento RS 109 aumenta a inclinação da reta, o que significa diminuir o coeficiente de x e aumentar o coeficiente de y ou, em outros termos, elevar o lucro derivado da venda do produto B e reduzir o lucro da venda do produto A. Se, por outro lado, a reta da função objetivo girar no sentido horário, poderá fazê-lo até coincidir com a reta derivada da restrição 4x + 2y ≤ 16 (segmento QR), sem que o ponto R deixe de ser solução. Nesse caso, todavia, todos os pontos ao longo do segmento QR também serão solução. Girar a reta da função objetivo até coincidir com o segmento QR significa aumentar o coeficiente de x, ou seja, o lucro na venda do produto A, e diminuir o coeficiente de y, isto é, o lucro na venda do produto B. De forma resumida, se a reta da função objetivo girar apenas dentro da área hachurada, o ponto R será conservado como solução, embora não única. Em outros termos, girar dentro da área hachurada significa que existe um coeficiente mínimo e outro máximo, tanto para a variável x como para a variável y, entre os quais podem variar os coeficientes da função objetivo. 3.3.2. Análise dos Lados Direitos das Restrições (LDRS) Como podemos perceber uma variação nos coeficientes da função objetivo não altera a região permissível da solução; o inverso, entretanto, ocorre quando se tratar de variações nos lados direitos das restrições. Para exemplificarmos, consideremos a restrição relativa às horas disponíveis na máquina M , ou seja, 4x + 6y ≤ 24. Suponhamos que essas horas disponíveis aumentaram para 27, isto é, um dos recursos disponíveis aumentou. Que consequências esse aumento acarreta, tanto para a região possível quanto para a solução ótima? Notemos que a inclinação da reta da função objetivo não se altera, pois consideremos os mesmos coeficientes iniciais da função objetivo. Observe a Figura 21. 110 y 1 2 3 4 5 6 7 8 1 2 3 4 x 5 6 7 8 9 10 A área hachurada mostra o aumento na região permissível Nova solução (x = 2,63; y = 2,75) Solução antiga (x = 3; y = 2) 4x + 6y ≤ 27 (variação no lado direito da restrição) T S R P Q U V (2) obj (1) (3) Fonte: Adaptado do autor por Design Unis EAD Figura 21 – Variação do lado direito da restrição 4x + 6y ≤ 24 Note que, aumentando o número de horas disponíveis na máquina M1, de 24 para 27 ho- ras, também aumentamos a região permissível, exatamente da área do quadrilátero RSUV, sendo o ponto V a nova solução, com x = 2,63 e y = 2,75. Similarmente, podemos tentar outras simulações de variações no lado direito da restrição 4x + 6y ≤ 24 ou das outras duas restrições. 3.4. Resolução de Modelos de P.L. Através da Implementação Numérica Agora, vamos discutir a resolução de modelos de Programação Linear via Informática, ou seja, apresentaremos alguns programas que resolvem modelos de P.L. quaisquer. Salientamos que descreveremos a solução no programa LINGO (Linear Interactive and Discrete Optimizer), bem como, no programa VCN. Existem diversos outros programas que trabalham com ProgramaçãoLinear que já foram citados anteriormente, tais como: EXCEL, TORA e AMPL. 111 3.4.1. O Programa Lingo O LINGO (Linear Interactive and Discrete Optimizer) é um software desenvolvido pela LINGO Systems Inc. de Chicago, Illinois, EUA, para a resolução de modelos de Programação Linear, quadrática ou inteira. Ele roda no ambiente Windows e está disponível nas versões descritas na Tabela 21 a seguir. Versão Limites Máximos Observações # Linhas # Colunas Demonstração (*) Super Hiper Industrial Extended 150 500 2.000 8.000 32.000 300 1.000 4.000 16.000 100.000 A versão que utilizaremos. Tabela 21 – Pontos extremos a função objetivo Fonte: Adaptado do autor por Design Unis EAD (*) Variáveis Inteiras = Até 30. 3.4.2. Exemplo Introdutório no Programa LINGO Vamos considerar o seguinte problema de programação linear dado por: Maximizar: Lucro = 30.x + 40.y Sujeito a: x ≤ 24 y ≤ 16 x + 2.y x ≥ 0; y ≥ 0. Para acionarmos o software LINGO, basta clicarmos no ícone correspondente no Windows A primeira tela fornecida tem o formato da Figura 40 abaixo e, para entrarmos com os dados, entramos exata- mente como é mostrado na própria Figura 22. Figura 22 – Ícone do Software Fonte: Acervo pessoal do autor 112 Figura 22 – Entrada de Dados do Programa LINGO Fonte: Acervo pessoal do autor Notemos que: - Podemos iniciar a digitação de cada linha em qualquer coluna; - Utilizaremos o sinal < para ≤; analogamente, > para ≥; Com relação às outras informações, a tablea 22 abaixo nos dá os significados para cada uma delas. Linha Significado ! Exemplo Introdutório Trata-se de uma linha de comentário pois é iniciada com ! Max Comando que solicita maximizar uma função (outra opção seria Min) St Subject to que significa “sujeito a”: Informa que a seguir temos o conjunto de restrições End Informa o fim dos dados Tabela 22 – Os significados das informações contidas na Figura 40 acima Fonte: Adaptado do autor por Design Unis EAD 113 Para salvarmos os dados em um arquivo disco, façamos como segue: - Clicar em File no Menu Principal; - Clicar em Save as; - Selecionar o diretório e escolher um nome adequado (por exemplo: radio.ltx); - Clicar em OK. Para executar, faça como segue: - Clique em Solve no Menu Principal; - Clique em Solve. Existe uma opção mais simples: basta clicar no ícone Solve : Após isto, aparece uma tela perguntando se desejamos efetuar a análise de sensitividade (Do Range (sensitivity) analysis?). Num primeiro momento, vamos responder de forma negativa, isto é, que não. A seguir, aparecem as telas das Figuras 23 e 24, que contém o resumo do resultado al- cançado ou informações de alerta caso o modelo apresente algum problema. Após analisá-la, clique em Close. Figura 23 – Tela após execução Fonte: Acervo pessoal do autor 114 Figura 24 – Tela após execução Fonte: Acervo pessoal do autor Após a etapa que acabamos de citar acima, o programa LINGO apresenta, de maneira superposta, tanto a tela de entrada de dados como a tela de resultados. Para evitar uma ou outra, basta clicar em qualquer ponto de uma delas. Eventualmente, quando uma das telas estiver ocupan- do todo o espaço disponível, somente veremos uma delas. Para visualizar a outra, basta efetuarmos o seguinte: - Clique em Window no Menu Principal; - Clique em Send To Back. Existem ainda outras opções interessantes para acessar as visualizações do LINGO, tais como: - Em cascata (cascade); - Uma ao lado da outra (tile) Após a execução de um modelo sem erros, o LINGO apresenta o quadro de resultados mostrado na Figura 25 a seguir. 115 Figura 25 – Quadro de Resultados do LINGO Fonte: Acervo pessoal do autor Para a Figura 25 anterior, temos que: - LP OPTIMUM FOUND AT STEP 1: significa que o algoritmo simplex utilizado pelo programa encontrou a solução ótima no primeiro passo (um passo correspondente a um vértice do método simplex) (discutiremos mais a frente); - OBJECTIVE FUNCTION VALUE 1) 1040.000 Indica o valor ótimo encontrado para a Função Objetivo (a) (no caso temos Lucro = R$1.040,00); VARIABLE VALUE REDUCED COST x 24.000000 0.000000 y 8.000000 0.000000 Tabela 23 Fonte: Adaptado do autor por Design Unis EAD 116 Temos aqui uma pequena tabela que apresenta os valores ótimos das variáveis básicas. Por- tanto, a solução ótima foi (Value): x = 24 y = 8 Quanto à coluna Reduced Cost, ela pode ter duas interpretações válidas: Primeiramente podemos interpretar o Custo Reduzido de uma variável como a quantidade pela qual o coeficiente da função objetivo da variável deveria ser aumentado de modo que sua solução seja diferente de zero. Portanto, todas as variáveis cujas soluções já são diferentes de zero possuem um valor zero para o Custo Reduzido (que é o caso do nosso exemplo). Em segundo lugar podemos interpretar o Custo Reduzido de variável como a penalidade que se deve pagar (ou seja, redução no lucro) para introduzir uma unidade daquela variável na so- lução. Finalmente devemos lembrar que o Custo Reduzido somente é válido em uma determinada faixa de valores (que veremos mais a frente em Análise de Sentividade). ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 10.000000 3) 8.000000 0.000000 4) 0.000000 20.000000 Tabela 24 Fonte: Adaptado do autor por Design Unis EAD Aqui também temos uma pequena tabela que apresenta os resultados das linhas de nosso problema. O LINGO numera todas as linhas. Os significados são: Slack = 0.0000: Folga. Significa que se atingiu o limite da restrição. Visto que a solução ótima para o produto Standard foi ST = 24, realmente se atingiu o limite da restrição x ≤ 24. Veja, então, o caso da linha 3, em que temos Slack = 8.000. Visto que a restrição era y ≤ 16 e a solução ótima foi 117 y = 8, realmente temos uma folga de 16 – 8 = 8. Dual Price = 10.000: Representa o aumento na função objetivo se aumentar de 1 o limite da restri- ção. Portanto, se a restrição x ≤ 24 for aumentada para x ≤ 25, teremos uma nova solução, na qual o Lucro será aumentado de R$10,00. Para imprimirmos os resultados de um modelo, efetue (tendo a tela de resultados ativada): - Clique em File no Menu Principal - Clique em Print Ou simplesmente clique no ícone de impressão Observemos que é possível digitar no texto da tela de resultados. Isto é muito conveniente, pois torna possível: - Incluir qualquer informação que melhor identifique o trabalho; - Copiar e colar os dados de entrada do modelo. Para alterar os dados, basta acessar a tela de dados (utilize os mesmos procedimentos mos- trados anteriormente no item Visualizando a Tela de Resultados). Para executar novamente, basta clicar no ícone Solve, conforme mostrado anteriormente em Executando o Exemplo. Esteja atento para o fato de que o LINGO vai colocar a nova solução, na tela de resultados, logo após a solução anterior. Ou seja, a tela de resultados contém todas as operações efetuadas. Eventualmente isto pode confundir e pode ser conveniente apagar a solução anterior. Para tanto, efetue: - Clique no ícone da tela de resultados. Para abrirmos qualquer outro modelo do LINGO, façamos como segue: - Clique em Open no Menu Principal; - Selecione o diretório e o arquivo desejado; - Clique em OK. 118 3.5. O Programa VCN O Programa VCN (Visual Cálculo Numérico) é um programa que oferece mais de 100 opções de cálculo para estudantes e profissionais, principalmente na área computacional, implemen- tando diversas opções, tais como: - Otimização (Programação Linear, Programação Inteira, etc.); - Tabelamento de Funções; - Operadores Numéricos; - Erros e Representação Numérica; - Cálculo de Raízes e Zeros de Funções; - Aproximações de Funções; - Interpolação e ExtrapolaçãoNumérica; - Etc. Para acionarmos o software VCN, basta clicarmos no ícone correspondente no Windows . A primeira tela fornecida tem o formato da Figura 26 abaixo. Fonte: Acervo pessoal do autor Figura 26 – A tela inicial do programa VCN 119 Para entrarmos com os dados relacionados a resolução de modelos de Programação Linear, acessamos o menu Otimização como é mostrado nas Figuras 27 e 28 abaixo, e na sequência esco- lhemos a opção Programação Linear – Método Simplex. Fonte: Acervo pessoal do autor Figura 27 – Acionando o menu Programação Linear - Método Simplex Fonte: Acervo pessoal do autor Figura 28 – Tela aberta para resolução de modelos de Programação Linear 120 Notemos que na parte de cima da tela anterior, ele nos pede inicialmente o número de variáveis de decisão, bem como o número de restrições (técnicas e de não-negativa) e o tipo de modelo em questão (maximização ou minimização) que compõem o nosso modelo a ser resolvido. Vamos resolver no VCN o modelo relacionado à Fábrica de rádios, que é; Maximizar: Lucro = 30. x1 + 40. x2 Sujeito a: x1 ≤ 24 x2 ≤ 16 x1 + 2 . x2 ≤ 40 x1 ≥ 0; x2 ≥ 0. Para tal entramos com os valores: Número de variáveis: 2 Número de restrições: 5 (temos 3 restrições técnicas e 2 de não-negatividade) Tipo de modelo: Maximizar (Na opção escolha) Em seguida, entramos com os coeficientes das variáveis na função objetivo, que são neste caso 30 e 40, respectivamente. Daí, na sequência colocamos os valores que compõem a nossa matriz dos coeficientes, bem como com os sinais das restrições ( = ou ≥ ou ≤) e com os valores dos termos independentes. A Figura 28 a seguir, nos mostra a tela do VCN com todos os valores já colocados, como descrevemos anteriormente. 121 Fonte: Acervo pessoal do autor Figura 29 – Uma tela do VCN com entrada de dados do modelo acima Após a etapa que acabamos de descrever, para resolvermos o modelo clicamos na opção (Calcula) e a tela de resultados segue, como é mostrada na Figura 22 a seguir. Fonte: Acervo pessoal do autor Figura 30 – Tela de resultados do modelo acima 122 Desta forma, observamos que no canto esquerdo inferior ele nos dá os valores que com- põem a nossa resposta, ou seja: x1 = 24 x2 = 8 Função objetivo: 1040 (valor ótimo) Problema 2 ( Problema de Produção): Uma fábrica produz dois produtos, A e B. Cada um deles deve ser processado por duas máquinas, M1 e M2. Devido à programação de outros produtos, que também utilizam essas máquinas, a máquina M1 tem 24 horas de tempo disponível para os pro- dutos A e B, enquanto a máquina M2 tem 16 horas de tempo disponível. Para produzir uma unidade do produto A, gastam-se 4 horas em cada uma das máquinas M1 e M2. Para produzir uma unidade do produto B, gastam-se 6 horas na máquina M1 e 2 horas na máquina M2. Cada unidade vendida do produto A gera um lucro de R$ 80,00 e cada unidade do produto B, um lucro de R$ 60,00. 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. Deseja-se saber quantas unidades de A e de B devem ser produzidas, de forma a maximizar o lucro e, ao mesmo tempo, obedecer a todas as restrições desse enunciado. Solução: A formulação completa deste modelo é dada por: Max. Z = 80.x + 60.y Sujeito a 4.x + 6.y ≤ 24 4.x + 2.y ≤ 16 0.x + 1.y ≤ 3 x ≥ 0; y ≥ 0 1º Modo: Resolvendo no programa LINGO, temos a seguinte sequência: 123 Fonte: Acervo pessoal do autor Figura 31 – Tela do programa LINGO Fonte: Acervo pessoal do autor Figura 32 – Tela do programa LINGO Desta forma, concluímos que a solução ótima é x = 3 e y = 2, reproduzindo o valor óti- mo 360 na função objetivo. Às vezes é comum utilizar a seguinte representação para diferenciar a solução ótima: Ponto A*(3, 2) com Z* = 360 2º Modo: Resolvendo no programa VCN, temos a seguinte sequência: 124 Fonte: Acervo pessoal do autor Figura 33 – Tela do programa LINGO Fonte: Acervo pessoal do autor Figura 34 – Tela do programa LINGO Problema 3 (Problema de Formulação de Ração): A Granja AFA quer misturar dois tipos de alimentos para criar um tipo especial de ração para suas galinhas poedeiras. A primeira carac- terística a ser atingida com a nova ração é o menor preço possível por unidade de peso. Cada um dos alimentos contém os nutrientes necessários à ração final (aqui chamados de nutrientes X, Y e Z), porém em proporções variáveis. Cada 100 g do Alimento 1, por exemplo, possuem 10 g do nutriente X, 50 g do nutriente Y e 40 g de nutriente Z. O Alimento 2, por sua vez, para cada 100 g , possui 20 g do nutriente X, 60 g do nutriente Y e 20 g do nutriente Z. Cada 100 125 g do Alimento 1 custam, para a granja AFA, R$ 0,60 e cada 100 g do Alimento 2 custam R$ 0,80. Sabe-se que a ração final deve conter, no mínimo, 2 g do nutriente X, 64g do nutriente Y e 34 g do nutriente Z. É preciso obedecer a essa composição, minimizando ao mesmo tempo o custo por peso da nova ração. Qual é a solução ótima? Solução: A formulação completa deste modelo é dada por: Minimizar 0,006.x + 0,008.y Sujeito a 0,1.x + 0,2.y ≥ 2 0,4.x + 0,6.y ≥ 64 0,5.x + 0,2.y ≥ 34 x ≥ 0; y ≥ 0 1º Modo: Resolvendo no programa LINGO, temos a seguinte sequência: Fonte: Acervo pessoal do autor Figura 35 – Tela do programa LINGO 126 Fonte: Acervo pessoal do autor Figura 36 – Tela do programa LINGO Desta forma, concluímos que a solução ótima é x = 34,545456 e y = 83,636360, reproduzindo o valor ótimo 0,8763637 na função objetivo. Observe que são os valores que colocamos como solução na Unidade 01. 2º Modo: Resolvendo no programa VCN, temos a seguinte sequência: Fonte: Acervo pessoal do autor Figura 37 – Tela do programa LINGO 127 Fonte: Acervo pessoal do autor Figura 37 – Tela do programa LINGO Desta forma, concluímos que a solução ótima é x = 34,545456 e y = 83,636360, reproduzindo o valor ótimo 0,8763637 na função objetivo. Problema 4: Suponhamos que um vendedor de frutas pode transportar 800 caixas de frutas para sua região de vendas. Ele necessita transportar 200 caixas de laranjas a R$20,00 de lucro por caixa, pelo menos 100 caixas de pêssegos a R$10,00 de lucro por caixa, e no máximo 200 caixas de tangerinas a R$30,00 de lucro por caixa. De que forma deverá ele carregar o caminhão para obter o lucro máximo? Solução: A formulação completa deste modelo é dada por: Max. Lucro = 10.x1 + 30.x2 + 20. x3 sujeito a: x 1 + x 2 # 600 x 3 = 200 x 1 $ 100 x 2 # 200 x $ 0;x 2 $ 0 Z [ \ ]]]]]]]]] ]]]]]]]]] 128 Note que montamos considerando três variáveis, que são x1, x2 e x3. Resolvendo no programa LINGO, temos a seguinte sequência: Fonte: Acervo pessoal do autor Figura 38 – Tela do programa LINGO Fonte: Acervo pessoal do autor Figura 39 – Tela do programa LINGO Portanto a solução ótima é x1 = 400 (caixas de pêssegos), x2 = 200 (caixas de tangeri- nas) e x3 = 200 (caixas de laranjas) com o valor ótimo 14000 na função objetivo. 129 Problema 5 (Problema de Pesquisa de Mercado): Uma rede de televisão local tem o seguinte problema: foi descoberto que o programa “A” com 20 minutos de música e 1 minuto de propaganda chama a atenção de 30.000 telespectadores, enquanto o programa “B”, com 10 minutos de música e 1 minuto de propaganda chama a atenção de 10.000 telespectadores. No decorrer de uma semana, o patrocinador insiste no uso de no mínimo, 5 minutos para sua propaganda e que não há verba para mais de 80 minutos de música. Quantas vezes por se- mana cada programa deve ser levado ao ar para obter o número máximo de telespectadores? Construa o modelo de programação linear do sistema. Solução:A formulação completa deste modelo é dada por: Max. Lucro = 30000.x1 + 10000.x2 Sujeito a 1.x1 + 1.x2 ≥ 5 20.x1 + 10.x2 ≤ 80 x1 ≥ 0; x2 ≥ 0 1º Modo: Resolvendo no programa LINGO, temos a seguinte sequência: Fonte: Acervo pessoal do autor Figura 40 – Tela do programa LINGO 130 Fonte: Acervo pessoal do autor Figura 41 – Tela do programa LINGO Portanto, encontramos como solução ótima x = 3 (frequência semanal do programa A e y = 2 (frequência semanal do programa B), cujo valor ótimo é 110000 telespectadores (função objetivo). 2º Modo: Resolvendo no programa VCN, temos a seguinte sequência: Fonte: Acervo pessoal do autor Figura 42 – Tela do programa LINGO 131 Fonte: Acervo pessoal do autor Figura 43 – Tela do programa LINGO Portanto, encontramos como solução ótima x = 3 (frequência semanal do programa A e y = 2 (frequência semanal do programa B), cujo valor ótimo é 110000 telespectadores (função objetivo). 3.6. A Descrição Formal do Método Simplex Inicialmente, ressaltamos que nas saídas encontradas na implementação numérica feita pelo LINGO e VCN o que aparecia como Iterations (número de iterações), é o número de vezes que o método simplex muda a base a fim de encontrar a solução ótima, como iremos averiguar agora, ou seja, na implementação numérica o método Simplex já foi utilizado indiretamente. Caso um modelo de P.L. tenha solução ótima o método simplex consegue encontrá-la. Em verdade, podemos enten- der o simplex como uma metodologia que envolve uma sequência de cálculos repetitivos por meio dos quais é possível chegarmos à solução de um problema de programação linear. Essa sequência de cálculos recebe o nome de algoritmo. Salientamos ainda, que embora simples, os cálculos às vezes são tediosos, e para problemas com três ou mais variáveis de decisão, podemos facilmente errar em 132 alguma das etapas, invalidando assim todos os nossos esforços. Antes de passarmos literalmente para o Simplex, ou à sequência de cálculos nos exemplos resolvidos, vejamos como ele funciona de verdade, sendo assim, primeiramente introduzimos os conceitos de variáveis de folga e soluções básicas, que são fundamentais para o desenvolvimento e entendimento do algoritmo. 3.6.1. Interpretando as Variáveis de Folga e as Soluções Básicas Para os nossos objetivos, consideremos o modelo de programação linear de maximização discutido anteriormente, cuja formulação completa é dada por: Max 80.x + 60.y Sujeito a 4.x + 6.y ≤ 24 (restrição de horas disponíveis na máquina M ) 4.x + 2.y ≤ 16 (restrição de horas disponíveis na máquina M ) 0.x + 1.y ≤ 3 (restrição da demanda máxima do produto B) x ≥ 0; y ≥ 0 Onde: x: quantidade a ser produzida do produto A (em unidades) e y: quantidade a ser produzida do produto B (em unidades) É possível transformarmos as inequações (que refletem as restrições) em equações, acres- centando novas variáveis a cada uma delas. Na restrição de horas disponíveis na máquina M , por exemplo, podemos escrever: 4x + 6y + s1 = 24 Onde a variável s foi acrescentada. Essa nova variável é o que denominamos de variável de folga (do inglês slack). 133 Conceito Chamamos de variáveis de folga as variáveis necessárias para transformarmos um sistema de inequações em um sistema de equações lineares. O nome folga é dado porque muitas vezes podemos associar essa variável a recursos não utilizados ou não aproveitados. No caso da restrição em análise, s representa o total de horas dis- poníveis na máquina M , não utilizada. Por exemplo, se tomarmos x = 0 e y = 3 (o ponto extremo T na Figura 49 abaixo), temos que: 4.(0) + 6.(3) + s1 = 24 s = 24 – 18 = 6 Sendo assim, para o ponto extremo T, s indica que 6 horas disponíveis na máquina M , não serão utilizadas. Claramente, notemos que sempre temos a condição: s1 ≥ 0 Em outras palavras, uma variável de folga por definição é não-negativa. Com raciocínio simi- lar, acrescentamos duas outras variáveis de folga às duas inequações seguintes (restrições técnicas seguintes), obtendo às seguintes equações: 4x + 2y + s2 = 16 0x + 1y + s3 = 3 Analogamente, nestes casos, s representa horas disponíveis na máquina M e não utilizadas, enquanto s representa a demanda possível do produto B, não atendida (o máximo de unidades possíveis para o produto B era 3, lembrou!). Se tomarmos o mesmo ponto extremo T da Figura 49 abaixo, segue que: 4.(0) + 2.(3) + s = 16 s2 = 16 – 6 = 10 134 (O ponto extremo T corresponde a 10 horas disponíveis não utilizadas pela máquina M2). E no caso da variável s3, temos que: 0.x + 1.(3) + s3 = 3 s3 = 3 – 3 = 0 (Isso significa que, no ponto extremo T, são produzidas as 3 unidades possíveis do produto B.) A priori, quando introduzimos as variáveis de folga e transformamos as inequações em equa- ções, devemos colocá-las em todas as inequações existentes e também na função objetivo. Quando uma variável de folga não aparecer em uma inequação, nós a colocamos com coeficiente igual a zero. No caso da função objetivo, todas as variáveis de folga devem aparecer com coeficiente zero. Temos, portanto, o seguinte modelo de programação linear reformulado, i.e., com as variáveis de folga no contexto: Maximizar 80.x + 60.y + 0.s1 + 0.s2 + 0.s3 Sujeito a 4.x + 6.y + 1.s1 + 0.s2 + 0.s3 = 24 4.x + 2.y + 0.s1 + 1. s2 + 0.s3 = 16 0.x + 1.y + 0.s1 + 0.s2 + 1.s3 = 3 Voltando ao nosso sistema de equações acima, notamos que encontramos um sistema possível e indeterminado, já que temos 5 incógnitas (x, y, s , s , s ) e apenas 3 variáveis. Lembremos que como estudado num curso de Álgebra Linear, sempre que o número k de incógnitas (k = 5, no nosso caso) for maior que o número q de equações (q = 3, no nosso caso), o sistema será indeter- minado, ou seja, não conseguimos caracterizara os valores finais das variáveis. Por outro lado, se fixarmos os valores de (k – q) variáveis, o número de variáveis desconhe- cidas torna-se igual ao número de equações, e o sistema torna-se determinado, ou seja, será possí- vel determinar determinarmos o valor das variáveis desconhecidas que restam. No caso do nosso sistema acima, deveríamos fixar o valor de duas variáveis, de modo a obter o valor das três variáveis 135 restantes. Atendendo ao nosso sistema, vamos supor que fixamos as variáveis, duas a duas, como sendo igual a zero. As duas variáveis igualadas a zero são denominadas de solução não-básica ao problema de programação linear. De outra forma, as q variáveis restantes, calculadas, são chamadas de uma solução básica ao problema de programação linear. Além disso, uma solução básica pode ser possível ou não, dependendo dos valores encontrados para as variáveis obedecerem ou não às restrições. Vamos analisar o que acontece com os valores das cinco variáveis nos pontos extremos da região possível. A Figura 44 abaixo nos mostra a região possível e os pontos extremos para o pro- blema de maximização em discussão. Para cada um desses pontos, suas coordenadas definem um par de valores (x, y). Já sabemos da teoria discutida anteriormente no método gráfico que a solução ótima de um modelo de P.L. está em um dos pontos extremos da região viável; como todos os pontos pertencem às regiões permissíveis, todos os pontos extremos representam soluções básicas possíveis. 1 2 3 4 5 6 7 8 x S R Q Região permissível final y P 1 2 3 4 5 6 7 8 Fonte: Adaptado do autor por Design Unis EAD Figura 44 – Gráfico das restrições: maximização Tomando os valores (x, y) em cada um dos pontos e substituindo nas equações da nova formulação, construímos a tabela a seguir. 136 Ponto Extremo x y 0 0 24 16 3 Q 4 0 8 0 3 R 3 2 0 0 1 S 3/2 3 0 4 0 T 0 3 6 100 Tabela 25 – Valores das variáveis nos pontos extremos Fonte: Adaptado do autor por Design Unis EAD Notemos que em qualquer um dos pontos extremos, existem sempre duas variáveis com valores nulos. Em termos gerais, podemos observar que: Em um dado problema de programação linear com k incógnitas e q equa- ções, nos pontos extremos da região possível tem-se sempre (k – q) incóg- nitas com valor igual a zero. Salientamos que, é essa a propriedade que fornece o modus operandi do Simplex, pois a solução encontra-se em um dos pontos extremos. Se fizermos conjuntos diferentes de (k – q) incógnitas iguais a zero, determinamos soluções básicas possíveis. Com os valores das variáveis as- sim obtidos, determinamos o valor correspondente da função objetivo e, portanto, encontramos a solução ótima, como podemos visualizar mais claramente na seção seguinte, a partir da discussão intuitiva sobre o Simplex. 3.6.2. Entendendo Um Pouco Mais o Simplex? Vimos na seção anterior, que o método Simplex é apenas uma sequência de cálculos simples que nos leva a solução ótima de um modelo de P.L. É interessante, todavia, termos uma visão mais geral de como se formam esses cálculos, o que pode ser feito com auxílio da região permissível 137 delimitada pela figura anterior. Como sabemos os pontos P, Q, R, S e T são os pontos extremos da região possível. Em cada um desses pontos extremos, o Simplex fará uma interação, até encontrar à solução ótima do problema. Na origem, x = 0 e y = 0 e, consequentemente o valor da função objetivo também é zero. Desta forma, temos que a origem não é solução, mas constitui o pontapé inicial do Simplex, ou seja, é o ponto de partida para o Simplex. Da origem, o Simplex passa ao ponto Q, onde x = 4 e y = 0, porque a variável x é a que, sozinha, dá a maior contribuição isolada ao lucro expresso na função objetivo (o coeficiente de x é 80, enquanto o de y é menor, 60). Do ponto Q, o Simplex passa ao teste do ponto R, que melhora ainda mais a solução e onde, aliás, se encontra a solução do problema. Logo, aqui no ponto R se encerram as interações, 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 os quais colocamos na forma tabular (ou de tabela). Cada uma dessas tabelas geradas é denominada de tableau. Cada interação do Sim- plex (ou seja, cada teste de um ponto extremo) corresponde à criação de um tableau. O tableau é construído de tal forma que, inspecionando-se sua linha mais baixa, é possível falarmos se a solução que ele representa é ou não a solução ótima. O primeiro tableau corresponde à origem, em que o valor da função objetivo é igual a zero. Desta forma, a solução é melhorada passando a um novo ponto extremo, ou seja, são realizados cálculos de forma a encontrarmos a melhor solução possível, em outras palavras, cálculos são deslo- cados até chegarmos à solução ótima. Abaixo, colocamos na tabela a seguir, a sequência lógica de passos que compõem o desen- volvimento dos cálculos do método Simplex. 138 Passos O que fazer? Passo 01 Montamos um tableau inicial que corresponde à origem Passo 01 Esse primeiro tableau é transformado em um segundo, que apresenta a solução melhorada, por meio de uma série de cálculos. Passo 01 Esse procedimento se repete até que se chegue a um tableau que reflita a solução ótima. Passo 01 Quando da criação de cada tableau, existe um teste para verificarmos se a solução ótima foi ou não atingida. Tabela 26 – Sequência de passos para o desenvolvimento do método Simplex Fonte: Adaptado do autor por Design Unis EAD Vejamos agora, um exemplo bem simplex, a fim de acompanharmos passo a passo o desen- volvimento dos cálculos para a montagem dos tableaux a fim de encontrarmos a solução ótima do modelo de programação linear analisado. Inicialmente, ilustremos a seq6uência de cálculos do Simplex usando um exemplo bem sim- ples, que nos levará a construção de apenas dois tableaux. Lembremos como dito anteriormente, que o primeiro tableau (ou tableau inicial) corresponde à origem (x = y = 0). Vamos tratar de um problema de maximização, sendo que aparecerão apenas restrições do tipo ≤, mais adiante tratare- mos do caso em que aparecem restrições do tipo ≥ ou =, bem como o caso de minimização. Para tal, consideremos o seguinte modelo de maximização: Maximizar x + 2y Sujeito a 3x + 4y ≤ 24 5x + 2y ≤ 20 x ≥ 0; y ≥ 0 Notemos mais uma vez, que estamos tratando de um modelo de maximização com restri- ções do tipo ≤ e todos os termos independentes são não negativos. Agora, vamos adicionar as variáveis de folga ao modelo acima, obtendo desta forma, o mo- 139 delo na forma genérica abaixo: 3x + 4y + 1.s1 + 0.s1 = 24 5x + 2y + 0.s1 + 1.s2 = 20 Observemos que colocamos zero para os coeficientes de s e s , na primeira e segunda, equações respectivamente, tal fato não será mera filigrana, já que estes coeficientes nulos comporão o tableau inicial. É necessário também que alteremos a função objetivo, não na forma substancial, em verdade devemos colocar as variáveis de folga na expressão que define a função objetivo. Desta maneira, a nova formulação (completa) que deverá ser a base para o nosso primeiro tableau é a seguinte: Maximizar 1x + 2y + 0.s1 + 0.s2 Sujeito a 3x + 4y + 1.s1 + 0.s2 = 24 5x + 2y + 0.s1 + 1.s2 = 20 Salientamos que é de propósito a escrita acima, já que ela nos facilita bastante a montagem de primeiro tableau, que passaremos a discutir passo a passo neste instante. Uma parte do tableau inicial é construída com base nos coeficientes como aparecem na formulação completa, distribuídos na forma a seguir, como mostrado na tabela abaixo, que configura um aspecto parcial do primeiro tableau. Variáveis de decisão 1 2 0 0 (linha objetivo) Variáveis na solução x y 0 3 4 1 0 24 0 5 2 0 1 20 Tabela 27 – Início da construção do primeiro tableau (ainda parcial) Fonte: Adaptado do autor por Design Unis EAD 140 Vamos analisar a tabela anterior, notando inicialmente que a mesma é composta por quatro linhas diferentes. Na primeira delas listamos as contribuições de cada variável à função objetivo, da- das pelos coeficientes das variáveis na própria função objetivo. Como s1 e s2 em nada contribuem, aparecem com coeficientes iguais a zero, como já visto anteriormente. Com relação à segunda linha, ela se configura como uma espécie de “linha guia”, já que lista- mos os elementos básicos que contribuem no tableau. Da esquerda para a direita, aparece primeiro cj, que irá nos mostrar a contribuição, para a função objetivo, das variáveis presentes na solução, ou seja, aquelas que estão sendo testadas. Verificando a tabela, percebemos que os dois valores c são iguais a zero (cj = 0, para tal basta olharmos a coluna de cj), pois correspondem a s1 e s2 . Além disso, na segunda linha vem na sequência a coluna de “Variáveis na solução”, que nos indica quais as variáveis que compõem a presente solução, no caso as variáveis de folga, s1 e s2, obviamente por onde começamos a construção do tableau inicial. A seguir, a segunda linha, lista as variáveis que aparecem na função objetivo e nas restrições, ou seja, x, y, e as variáveis de folga, s1 e s2. A coluna bj indica o lado direito das restrições, e a relação (bj / aij ) indica um cálculo intermediário na sequ- ência de cálculos do método Simplex. Ressaltamos ainda, com relação à tabela, que os números que aparecem nas colunas de x, y, s1, s2 e bj são copiados exatamente das restrições técnicas, em outras palavras, são os coeficientes das variáveis de decisão e os valores do lado direito das restrições técnicas. Como o primeiro table- au corresponde a x = y = 0, ou seja, a origem do nosso sistema de coordenadas, os valores lidos de forma direta na coluna b representam recursos ociosos,que não estão sendo utilizados. De outra forma, falta ainda uma parte a acrescentarmos no na tabela 27 para que complete- mos o primeiro tableau. Em verdade, são duas linhas a serem adicionadas, a linha Z e a linha C – Z. A linha Z terá seus valores nas colunas x, y, s1, s2 e bj. Dada uma coluna qualquer, correspondente a uma dada variável, o valor da linha Z nessa coluna indica a redução na função objetivo que iria ocorrer se uma unidade da variável fosse acrescentada à solução. O valor da linha C – Z, sob uma dada coluna, nos dá o acréscimo potencial à função objetivo se uma unidade da variável fosse acres- centada à solução. Embora, em nosso exemplo, para o tableau inicial a linha Z seja uma linha formada só por 141 zeros, é muito útil enunciarmos uma regra geral para sua construção e aplicá-la desde o início. Para calcularmos a linha Z, partimos das linhas que representam as variáveis na solução – em nosso caso presente, as linhas de s1 e s2. Multiplicamos os coeficientes das variáveis e os lados direitos das res- trições, em cada coluna, pelos valores cj correspondentes que se encontram à esquerda e somamos os produtos. Essas somas, coluna a coluna, constituem a nossa linha Z. Vejamos o desenvolvimento de tal raciocínio. x y 0 3 (0) 4 (0) 1 (0) 0 (0) 24 (0) 0 5 (0) 2 (0) 0 (0) 1 (0) 20 (0) (+) Z 0 0 0 0 0 Tabela 28 – Desenvolvimento do raciocínio Fonte: Adaptado do autor por Design Unis EAD A soma sob a coluna bj , na linha Z, indica sempre o valor da função objetivo associado com o tableau. Notemos que já sabemos que no caso do primeiro tableau, que esse valor é obviamente igual a zero, pois x = y = 0. Para determinarmos a linha C – Z, em cada coluna, subtraímos a linha Z, coluna a coluna, dos coeficientes das variáveis na função objetivo, como segue: Variável x y Coeficientes 1 2 0 0 Linha Z 0 0 0 (1)(–) Linha C – Z 1 2 0 0 Tabela 29 Fonte: Adaptado do autor por Design Unis EAD Desta forma, podemos agora completar o nosso tableau inicial, mostrado na tabela 30 a seguir. 142 Variáveis de decisão 1 2 0 0 (linha objetivo) Variáveis na solução x y 0 3 4 1 0 24 0 5 2 0 1 20 Linha Z 0 0 0 0 0 Linha C – Z 1 2 0 0 Tabela 28 – O Tableau inicial na forma completa Fonte: Adaptado do autor por Design Unis EAD Sendo assim, a partir do momento que completamos o primeiro tableau, surge naturalmente a seguinte indagação: Como sabemos se a solução que ele representa é a solução ótima? Ou seja, como sabemos que x = y = 0 é a solução ótima? Para respondermos tal indagação temos o que chamamos de Regra para Teste da Solução descrita abaixo. Regra para Teste da Solução: Se na linha C – Z os valores são todos nulos ou negativos, então a solução ótima foi encontrada. Logo, olhando para a linha C – Z, ela nos mostra que ainda temos dois valores positivos, portanto, a solução x = y = 0 não é a solução ótima, desta maneira, devemos continuar o caminho do segundo tableau, rumo a uma nova solução. 3.6.3. Como Construímos o Segundo Tableau? Iniciamos o segundo tableau com a consideração de qual variável fornece, de forma isolada, a maior contribuição à função objetivo. Para tal, basta inspecionarmos a linha C – Z que acabamos de construir, pois ela nos mostra, coluna a coluna, a contribuição de cada unidade da variável respectiva 143 à função objetivo. Notemos de forma clara, que a variável y é a que oferece maior contribuição, como o valor 2 (dois). Isso nos diz que, a cada unidade de y acrescida à solução, a função objetivo crescerá duas unidades. Em termos de programação linear, dizemos que, nesse caso, y é a “variável que entra” no tableau, o que se dará à custa de outra “variável que sai”. É aqui que vamos entrar com o cálculo do quociente (bj / aij ). Para descobrirmos a “variável que sai”, dividimos cada valor bj pelo valor correspondente (na mesma linha) na coluna da variável que entra (que é a variável y). A linha em que aparecer o menor coeficiente indica a variável que irá sair. Vejamos os cálculos no Quadro 9 a seguir. Variáveis de decisão 1 2 0 0 (linha objetivo) Variáveis na solução x y 0 3 4 1 0 24 = 6 0 5 2 0 1 20 = 10 Linha Z 0 0 0 0 0 Linha C – Z 1 2 0 0 Tabela 29 – Determinação da variável que sai do Tableau Fonte: Adaptado do autor por Design Unis EAD Desta maneira, vemos que quem deverá sair é a variável s , pois apresenta a menor relação (b / a ) (24/4 = 6). Novos valores deverão ser determinados, tanto para a linha da variável que sai como para as linhas das outras variáveis (em nosso tableau, existe apenas mais uma linha, a da variável s ). A linha da variável que sai recebe o nome de linha principal. Linha principal é a denominação que se dá a linha da variável que sai do tableau. 144 3.6.4. Caracterização da Nova Linha Principal O número que aparece na interseção da coluna da variável que entra (y) com a linha prin- cipal, da variável que sai (s1), é chamado de elemento pivô e tem um papel de fundamental impor- tância para os nossos propósitos. Elemento pivô é a denominação que damos ao número que se encontra na interseção da coluna da variável que entra no tableau com a linha principal. Em nosso caso o elemento pivô é igual a 4 (quatro). Para obtemos os novos valores da linha principal, todos os valores da antiga da linha principal são divididos pelo elemento pivô. Variável x y Antiga linha principal 3 4 1 0 24 (dividida por 4) 3/4 4/4 1/4 0/4 24/4 Nova linha principal 3/4 1 1/4 0 6 Tabela 30 Fonte: Adaptado do autor por Design Unis EAD Temos que a variável s1 saiu do tableau, entrando em seu lugar a variável y. Encontramos já os novos valores da linha principal e vamos agora determinar novos valores para a outra variável, que permaneceu no tableau, ou seja, a variável s2 . Em primeiro lugar, determinemos o número que se encontra na interseção da linha da variável s2 com a coluna da variável que entrou no tableau (y). Esse número é igual a 2 (dois). Logo, vejamos o procedimento para definir a nova linha de s2: a) Multiplicar cada valor da nova linha principal (já determinada) pelo número encontrado no cruza- mento falado (número = 2): 145 Variável x y Nova linha principal ¾ 1 ¼ 0 6 (multiplica da por 2) ¾ (2) 1 (2) ¼ (2) 0 (2) 6 (2) Valores resultantes 3/2 2 ½ 0 12 Tabela 31 Fonte: Adaptado do autor por Design Unis EAD b) Os valores resultantes são agora subtraídos da antiga linha da variável s2: Variável x y Antiga linha de 5 2 0 1 20 (menos) 3/2 2 ½ 0 12 = Nova linha de 7/2 0 -½ 1 8 Tabela 32 Fonte: Adaptado do autor por Design Unis EAD Desta maneira, observemos que o segundo tableau que não está completo, tem o seguinte aspecto, como mostrado abaixo. Variáveis de decisão 1 2 0 0 (linha objetivo) Variáveis na solução x y 2 y ¾ 1 ¼ 0 6 0 7/2 0 -½ 1 8 Tabela 33 Fonte: Adaptado do autor por Design Unis EAD 146 A fim de completarmos o segundo tableau, necessitamos das linhas Z e C – Z. A linha Z fica da seguinte forma: x y 2 ¾ (2) 1(2) ¼ (2) 0 (2) 6 (2) 0 7/2 (0) 0 (0) -½ (0) 1 (0) 8 (0) (+) Z 3/2 2 ½ 0 12 Tabela 33 Fonte: Adaptado do autor por Design Unis EAD De outra forma, a linha C – Z fica, portanto, da seguinte forma: Variável x y Coeficientes 1 2 0 0 Linha Z 3/2 2 ½ (1)(–) Linha C – Z -½ 0 -½ 0 Tabela 34 Fonte: Adaptado do autor por Design Unis EAD Sendo assim, estamos agora em plenas condições de apresentarmos o segundo tableau completo, que mostramos na tabela 35. 147 Variáveis de decisão 1 2 0 0 (linha objetivo) Variáveis na solução x y 2 y 3/4 1 ¼ 0 6 0 7/2 0 -½ 1 8 Linha Z 3/2 2 ½ 0 12 Linha C – Z -½ 0 -½ 0 Tabela 35 Fonte: Adaptado do autor por Design Unis EAD Desta forma, averiguando os valores da linha C – Z, ela nos mostra que encontramos aso- lução ótima, já que todos os valores são nulos ou negativos. Observando a coluna b , percebemos que: x = 0 (pois x não aparece) y = 6 Cujo valor da função objetivo é igual a 12. Façamos agora uma pequena complementação com relação à argumentação descrita ante- riormente como segue, em verdade, se trata de um exercício complementar de muita utilidade para os nossos propósitos. Vamos substituir os valores de x = 0 e y = 6 nas restrições: 3.x + 4.y + 1.s1 = 24 3.(0) + 4.(6) + 1. s1 = 24 24 + 1.s1 = 24 s1 = 0 (não existem recursos ociosos correspondentes a s1) 148 E também, 5.x + 2.y + 1. s2 = 20 5.(0) + 2.(6) + 1. s2 = 20 12 + 1. s2 = 20 s2 = 8 (existem 8 unidades de recursos ociosos correspondentes a s2) Podemos notar que as restrições foram obedecidas, embora existam 8 unidades de recursos não aproveitados, incorporadas pela variável de folga s2. Na Figura 45 abaixo, mostramos a solução gráfica do problema que acabamos de solucionar pelo método Simplex, onde podemos visualizar como o Simplex operou para o presente exemplo. A região possível é caracterizada pelo quadrilá- tero ABCD. Inicialmente, foi feito o teste do ponto A, a origem, com a solução x = 0 e y = 0, donde vimos não ser a melhor solução. Na sequência, fomos movidos diretamente para o ponto D, onde x = 0 e y = 6, que é a solução ótima, encontrada com apenas duas iterações (dois tableaux). 1 2 3 4 5 6 7 8 x y 1 2 3 4 5 6 7 8 9 10 9 5x + 2y = 20 3x + 4y = 24 C D BA Tabela 45 - Solução gráfica do modelo de maximização Fonte: Adaptado do autor por Design Unis EAD Agora vamos analisar os casos em que temos no nosso modelo de programa- ção linear, restrições cujo termo do segundo membro se caracteriza como um número negativo. Como vimos, o tableaux exige que o lado direito das restrições seja um número positivo, sempre que isso não ocorrer, deve- remos fazer uma intervenção. Desta forma, consideremos os seguintes casos: - Primeiro Caso: 3x – 7y ≤ -12 - Segundo Caso: -2x + 3y ≥ -8 - Terceiro Caso: -2x – 5y = -9 149 Sendo assim, temos a seguinte regra básica: Regra básica: Para eliminarmos o lado direito negativo, multiplicamos ambos os lados da restrição por (-1) e invertemos o símbolo da desigualdade, nos dois primeiros casos. Para o terceiro caso, tratando-se de uma igualdade, basta fazermos a multiplicação por (-1) e conservar a igualdade. Sendo assim, temos, fazendo as operações indicadas pela regra básica: -3x + 7y ≥ 12 2x – 3y ≤ 8 2x + 5y = 9 E daí por diante, tratamos as restrições da forma que discutimos anteriormente para a cons- trução do tableau. Vimos anteriormente, que para transformarmos uma restrição do tipo ≤ (menor ou igual) em uma igualdade (o Simplex exige que todas as inequações sejam transformadas em igualdades), devemos acrescentar uma variável de folga, que em símbolos, apropria-se do recurso correspon- dente não usado. Muitas vezes, todavia, um problema de programação linear apresenta também restrições do tipo “=” ou “≥”. Vamos analisar primeiramente o caso de restrições com desigualdades do tipo “maior ou igual”, que aparecem comumente em problemas de programação linear de minimização, mas que podem ocorrer também em problemas de maximização. Consideremos, por exemplo, a restrição técnica: 3.x + 2.y ≥ 30 Para transformarmos essa restrição em uma igualdade, necessitamos somar ao segundo membro da desigualdade uma certa variável, digamos s1, como segue: 3.x + 2.y = 30 + s1 150 Contrariamente da variável de folga, s agora representa uma variável de excesso (surplus em inglês, daí também o uso da letra s para indicá-la), em outras palavras, aquilo que 3.x + 2.y está acima de 30, no caso da nossa restrição técnica em discussão. Conceito Variável de Excesso é o nome que damos a quantidade que deve ser acrescida ao segundo membro de uma desigualdade do tipo “≥” a fim de descrevermos a igualdade. Entretanto, s pode ser pensado também como uma variável de folga negativa, bastando trocá-la de membro, i.e., podemos reescrever a igualdade acima como: 3.x + 2.y – s1 = 30 Todavia, salientamos que este artifício de acrescentarmos uma variável de folga, que funcio- nou tão bem no caso da restrição do tipo “≤”, ainda não será suficiente para o nosso caso presente da restrição “≥”, pois quando fizemos x = y = 0, teremos: 3.(0) + 2.(0) – s1 = 30 Ou seja s1 = – 30 E como vimos o método Simplex não admite que o segundo membro seja negativo. Desta forma, a solução é então, utilizarmos um artifício matemático, criando o que chama- mos de variável artificial, sem um sentido particular tal como o que se pode atribuir à variável de folga ou de excesso. A variável artificial é simplesmente uma criação matemática, que não aparecerá na nossa solução final. 151 Conceito Variável Artificial é puramente um artifício matemático que utilizamos na resolução de modelos de programação linear que possuem desigualdades do tipo “≥”, sendo que não aparece na so- lução final do modelo em questão. Sendo assim, a nossa equação deve, então ser escrita como segue: 3.x + 2.y + a – s = 30 Onde a representa a variável artificial. Portanto, é possível pensarmos em x = y = 0, sem violarmos quaisquer regras da programação linear. É natural pensarmos, de que como devemos transformar todas as restrições em igualdades, talvez não devêssemos alterar nada na igualdade original. Isso é uma inverdade, para tal considere- mos a seguinte igualdade como exemplo: x + 5y = 42 Se fizermos x = y = 0, teremos: (0) + 5.(0) = 42 Ou seja, 0 = 42 Que constitui uma Falsidade, i.e., é um absurdo. A solução é lançar mão de uma variável artificial, digamos a , por exemplo: x + 5y + a2 = 42 Caso estivéssemos falando de um determinado recurso, por exemplo, então a representa totalmente o recurso disponível quando x = y = 0. Notemos que para este caso não existe a neces- sidade de acrescentarmos uma variável de folga ou de excesso. 152 3.6.5. Interpretação das Mudanças na Função Objetivo Quando introduzimos uma variável de excesso (ou variável de folga negativa) em uma restri- ção do tipo ≥ (maior ou igual), devemos inseri-la também na função objetivo, tal como fazíamos com as variáveis de folga. Como a variável de folga, a variável de excesso também aparecerá na função objetivo com coeficiente igual a zero, que irá compor depois no Simplex. Por outro lado, o tratamento que damos às variáveis artificiais é diferente. Como elas são meros artifícios matemáticos, não devem aparecer na solução final, sendo assim, devemos inseri-las na função objetivo de forma a assegurar, portanto, que não apareçam na solução definitiva. Tal fato é conseguido através de um artifício conhecido como o método do M grande ou “o grande M”. Conceito O Método do M grande (ou simplesmente o grande M) é um artifício que utilizamos para as- segurar que as variáveis artificiais não apareçam na solução final que encontramos no Simplex. Quando o problema for de maximização, cada variável artificial entra na função objetivo com o coeficiente (-M), sendo M um número positivo, donde efetuamos a suposição de ser muito grande, maior do que qualquer outro número que possa aparecer nas diversas fases do Simplex. O fato de M aparecer com sinal negativo assegura que nenhuma variável artificial aparecerá na solução. Com relação ao problema de minimização, colocamos cada variável artificial com coeficiente (+M). O sinal positivo assegura que nenhuma variável artificial aparecerá na solução. Problema 5: Consideremos o seguinte problema de programação linear: Maximizar x + 3y Sujeito a 3x – 2y ≥ 10 2x + 3y = 34 4x + 12y ≤ 104 153 x ≥ 0; y ≥ 0. Reescrever o problema de forma a compor diretamenteno primeiro tableau do Simplex e so- lucioná-lo. Solução: Inicialmente, devemos transformar todas as restrições técnicas de forma que se conver- tam em igualdades. Notemos que no caso presente, aparecem na formulação os três tipos de restrições possíveis. Para transformá-las em igualdades, teremos de acrescentar: - Uma variável de excesso e uma variável artificial na primeira restrição, do tipo ≥; - Uma variável artificial na segunda restrição do tipo =; - Uma variável de folga na terceira restrição do tipo ≤; Desta maneira, temos que: 3x – 2y – 1.s + 1. a = 10 2x + 3y + 1.a = 34 4x + 12y + 1.s = 104 Onde: s1: variável de excesso a1, a2: variáveis artificiais s3: variável de folga Agora, vamos passar a transformação da função objetivo. As variáveis de folga ou excesso apare- cem como coeficiente nulo (para efeito de tableau) e as variáveis artificiais aparecem com coefi- ciente –M, já que o problema é de maximização. Desta maneira, a função objetivo reformulada pode ser escrita como: 1.x + 3.y + 0.s1 + 0.s3 – M.a1 – M.a2 Logo, a nova formulação completa do problema é: 154 Maximizar 1.x + 3.y + 0.s1 + 0.s3 – M.a1 – M.a2 Sujeito a 3x – 2y – 1.s1 + 0.s3 + 1. a1 + 0.a1 = 10 2x + 3y + 0.s1 + 0.s3 + 0. a1 + 1.a2 = 34 4x + 12y + 0.s1 + 1.s3 + 0. a1 + 0.a2 = 104 Notemos que temos 6 incógnitas: x, y, s1, s3, a1 e a1, e apenas três equações. Vimos anterior- mente que, em um problema simples de maximização, com apenas restrições do tipo ≤ (menor ou igual), o conjunto inicial de soluções colocava no tableau as variáveis de folga, igualando cada variável de decisão a zero. No caso presente, quando existem tipos misturados de restrições, a solução inicial consistirá de todas as variáveis artificiais e de todas variáveis de folga, ou seja, a1, a2 e s3. O aspecto do tableau inicial, ainda incompleto, sem as linhas Z e C – Z é o seguinte: Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y -M 3 -2 -1 0 1 0 10 -M 2 3 0 0 0 1 34 0 4 12 0 1 0 0 104 Tabela 36 Fonte: Adaptado do autor por Design Unis EAD Passemos à construção da linha Z: x y - M 3 (-M) -2 (-M) -1 (-M) 0 (-M) 1 (-M) 0 (-M) 10 (-M) - M 2 (-M) 3 (-M) 0 (-M) 0 (-M) 0 (-M) 1 (-M) 34 (-M) 0 4 (0) 12 (0) 0 (0) 0 (0) 0 (0) 0 (0) 104 (0) Z -5M -M M 0 -M -M -44 (M) Fonte: Adaptado do autor por Design Unis EAD Tabela 37 155 E agora ao cálculo da linha C – Z: Variável x y Coeficientes 1 3 0 0 -M -M Linha Z -5M -M M 0 -M -M Linha C – Z 1 + 5M 3 + M -M 0 0 0 Fonte: Adaptado do autor por Design Unis EAD Tabela 38 Desta forma, vejamos como ficou o primeiro tableau completo: Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y -M 3 -2 -1 0 1 0 10 -M 2 3 0 0 0 1 34 0 4 12 0 1 0 0 104 Linha Z -5M -M M 0 -M -M -44M Linha C – Z 1 + 5M 3 + M -M 0 0 0 Fonte: Adaptado do autor por Design Unis EAD Tabela 39 Olhando para o tableau acima, percebemos que não encontramos a solução ótima, já que a linha C – Z ainda possui elementos positivos. Nessa primeira solução, x = y = s1 = 0 e a1 = 10, a2 = 34 e s3 = 104. O valor da função objetivo é -44M. A variável que entra é x, com a maior contribuição expressa na linha C – Z, ou seja, 1 + 5.M, claramente maior que a contribuição de y, que é 3 + M. Para determinarmos a variável que sai, calculemos os índices (bj/ aij), sendo a os valores da coluna da variável que entra (x): 156 Variáveis na solução x y -M 3 -2 -1 0 1 0 10 10/3 -M 2 3 0 0 0 1 34 34/2 0 4 12 0 1 0 0 104 104/4 Fonte: Adaptado do autor por Design Unis EAD Tabela 40 Visualizamos que o menor valor de (bj / aij ) é 10/3, na linha da variável a1, que fica sendo assim a variável que sai. Temos, então, que sai a variável a1 e entra a variável x na nova solução, para composição do segundo tableau. O elemento pivô é igual a 3 (três), no cruzamento da linha da variável que sai com a coluna da variável que entra. Determinemos os valores da nova linha principal e das novas linhas das variáveis a2 e s3 . Nova linha principal A nova linha principal é obtida dividindo-se cada elemento da antiga linha principal pelo elemen- to pivô, desta forma: Variável x y Antiga linha principal 3 -2 -1 0 1 0 10 (dividida por 3) 3/3 -2/3 -1/3 0/3 1/3 0/3 10/3 Nova linha principal 1 -2/3 -1/3 0 1/3 0 10/3 Fonte: Adaptado do autor por Design Unis EAD Tabela 41 157 Nova linha da variável a2 A interseção da linha da variável a2 com a coluna da variável que entra (x) é igual a 2. Para cal- cularmos os valores da nova linha de a2, primeiramente multiplicamos os valores da nova linha principal por 2: Variável x y Nova linha principal 1 -2/3 -1/3 0 1/3 0 10/3 (multiplicada por 2) 1 (2) -2/3 (2) -1/3 (2) 0 (2) 1/3 (2) 0 (2) 10/3 (2) Valores resultantes 2 -4/3 -1/3 0 2/3 0 20/3 Fonte: Adaptado do autor por Design Unis EAD Tabela 42 Os valores resultantes são agora subtraídos da antiga linha de a2: Variável x y Antiga linha de 2 3 0 0 0 1 34 (menos) 2 -4/3 -2/3 0 2/3 0 20/3 Nova linha de 0 13/3 2/3 0 -2/3 1 82/3 Fonte: Adaptado do autor por Design Unis EAD Tabela 43 Nova linha da variável s3 A interseção da linha de s com a coluna da variável que entra (x) é igual a 4, valor pelo qual são multiplicados os valores da nova linha principal: 158 Variável x y Nova linha principal 1 3 -1/3 0 1/3 0 10/3 (multiplicada por 4) 1 (4) -2/3 (4) -1/3 (4) 0 (4) 1/3 (4) 0 (4) 10/3 (4) Valores resultantes 4 -8/3 -4/3 0 4/3 0 40/3 Fonte: Adaptado do autor por Design Unis EAD Tabela 44 Os valores resultantes são subtraídos da antiga linha de s3: Variável x y Antiga linha de 4 12 0 1 0 0 104 (menos) 4 -8/3 -4/3 0 4/3 0 40/3 Nova linha de 0 44/3 4/3 1 -4/3 0 272/3 Fonte: Adaptado do autor por Design Unis EAD Tabela 45 Por enquanto, o segundo tableau apresenta o seguinte aspecto: Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y 1 x 1 -2/3 -1/3 0 1/3 0 10/3 -M 0 13/3 2/3 0 -2/3 1 82/3 0 0 44/3 4/3 1 -4/3 0 272/3 Fonte: Adaptado do autor por Design Unis EAD Tabela 46 Passemos à construção da linha Z: 159 x y 1 1 (1) -2/3 (1) -1/3 (1) 0 (1) 1/3 (1) 0 (1) 10/3 (1) -M 0 (-M) 13/3 (-M) 2/3 (-M) 0 (-M) -2/3 (-M) 1 (-M) 82/3 (-M) 0 0 (0) 44/3 (0) 4/3 (0) 1 (0) -4/3 (0) 0 (0) 272/3 (0) Z 1 0 -M3 -2 - 3 13M 3 1 - 3 2M 3 1 + 3 2 3 10 - 3 82M Fonte: Adaptado do autor por Design Unis EAD Tabela 47 E agora, vamos determinar a linha C – Z: Variável x y Coeficientes 1 3 0 0 -M -M Linha Z 1 0 -M Linha C – Z 0 0 0 M 3 13 3 2 - - M 3 2 3 1 - - M 3 2 3 1 +M 3 5 3 11 + M 3 2 3 1 + M 3 5 3 1 - - Fonte: Adaptado do autor por Design Unis EAD Tabela 48 Desta forma, o segundo tableau completo é: Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y 1 x 1 -2/3 -1/3 0 1/3 0 10/3 -M 0 13/3 2/3 0 -2/3 1 82/3 0 0 44/3 4/3 1 -4/3 0 272/3 Linha Z 1 0 -M Linha C – Z 0 0 0 M 3 13 3 2 - - M 3 2 3 1 - - M 3 2 3 1 + M 3 82 3 10 - M 3 5 3 11 + M 3 2 3 1 + M 3 5 3 1 - - Fonte: Adaptado do autor por Design Unis EAD Tabela 49 160 Não temos ainda a solução ótima, já que a linha C – Z ainda tem elementos positivos. Nessa segunda solução, x = 10/3, y = s1 = a1 = 0 e a2 = 3 82 , s3 = 3 272 . Agora, a variável que deve entrar é y, com a maior contribuição expressa na linha C – Z, ou seja, 3 11 + 3 5 M . Para determinarmos a variável que sai, calculemos os índices (b / a ), sendo a os valores da coluna da variável que entra (y): Variáveis na solução x y 1 x 1 -2/3 -1/3 0 1/3 0 10/3 (*) -M 0 13/3 2/3 0 -2/3 1 82/3 82/3 0 0 44/3 4/3 1 -4/3 0 272/ 3 272/44 Fonte: Adaptado do autor por Design Unis EAD Tabela 50 (*) Não se pode dividir a negativo. O menor quociente é 44 272 , e assim s3 é a variável que sai, sendo o elementopivô igual a 3 44 . Nova linha principal A nova linha principal é obtida dividindo-se cada elemento da antiga linha principal pelo ele- mento pivô, desta forma: Variável x y Antiga linha principal 0 1 0 (dividida por ) Nova linha principal 0 1 0 3 44 3 4 3 4- 3 272 3 44 0 3 44 3 44 3 44 3 4 3 44 1 3 44 3 4- 3 44 0 3 44 3 272 11 1 44 3 11 1- 11 68 Fonte: Adaptado do autor por Design Unis EAD Tabela 51 161 Nova linha da variável x A interseção da linha da variável x com a coluna da variável que entra (y) é igual a -3 2 . Para calcularmos os valores da nova linha de x, primeiramente multiplicamos os valores da nova linha principal por -3 2 : Variável x y Nova linha principal 0 1 0 (Multiplicada por ) 0 (-2/3) 1 (-2/3) 1/11 (-2/3) 3/44 (-2/3) -1/11 (-2/3) 0 68/11 (-2/3) Valores resultantes 0 0 11 1 44 3 11 1- 11 68 3 2- 33 2- 44 2- 33 2 33 136- Fonte: Adaptado do autor por Design Unis EAD Tabela 52 Os valores resultantes são agora subtraídos da antiga linha de x: Variável x y Antiga linha de 1 0 0 (menos) 0 0 Nova linha de 1 0 0 3 2- 3 1- 3 1 3 10 3 2- 33 2- 44 2- 33 2 33 136- 33 9- 44 2 33 9 33 246- Fonte: Adaptado do autor por Design Unis EAD Tabela 53 Nova linha da variável a2 A interseção da linha de a com a coluna da variável que entra (x) é igual a 3 11 , valor pelo qual são multiplicados os valores da nova linha principal: 162 Variável x y Nova linha principal 0 1 0 (Multiplicada por ) 0 (13/3) 1 (13/3) 1/11 (13/3) 3/44 (13/3) -1/11 (13/3) 0 (13/3) 68/11 (13/3) Valores resultantes 0 0 11 1 44 3 11 1- 11 68 3 13 33 13 44 13 33 13- 33 884 3 13 Fonte: Adaptado do autor por Design Unis EAD Tabela 54 Os valores resultantes são subtraídos da antiga linha de x: Variável x y Antiga linha de a 0 0 1 (menos) 0 0 Nova linha de a 0 0 1 2 3 13 3 2 3 2- 3 82 44 13 33 13- 33 884 2 33 9 44 13- 33 9- 33 18 33 13 3 13 Fonte: Adaptado do autor por Design Unis EAD Tabela 55 Desta forma, até este momento o terceiro tableau apresenta o seguinte aspecto: Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y 1 x 1 0 0 -M 0 0 1 3 y 0 1 0 33 9- 44 2 33 9 33 246 33 9 44 13- 33 9- 33 18 11 1 44 3 11 1- 11 68 Fonte: Adaptado do autor por Design Unis EAD Tabela 56 163 Vamos à construção da linha Z: x y 1 x 1 0 -M 0 0 3 y 0 1 Z 1 3 .M + .M . M -M .M 33 9- 44 2 33 9 33 246 33 9 44 13- 33 9- 33 18 11 1 44 3 11 1- 11 68 33 9- 44 11 44 13 33 9 33 758 - 33 18 Fonte: Adaptado do autor por Design Unis EAD Tabela 57 E agora, determinemos a linha de C – Z: Variável x y Coeficientes 1 3 0 0 M M Linha Z 1 3 .M + .M .M M Linha C – Z 0 0 . M .M .M 0 33 9- 44 11 44 13 33 9 - 33 9 44 11- - 44 13 33 42- - - Fonte: Adaptado do autor por Design Unis EAD Tabela 58 Desta maneira, escrevemos o terceiro tableau na forma completa a seguir: 164 Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y 1 x 1 0 0 -M 0 0 1 3 y 0 1 0 Linha Z 1 3 . M + .M . M M . M Linha C – Z 0 0 . M .M .M 0 33 9- 44 2 33 9 33 246 33 9 44 13- 33 9- 33 18 11 1 44 3 11 1- 11 68 33 9- 44 11 44 13 33 9 - 33 18 33 758 - 33 9 44 11- - 44 13 33 42- Fonte: Adaptado do autor por Design Unis EAD Tabela 59 Observemos que não atingimos ainda a solução ótima, já que a linha C – Z ainda tem um ele- mento positivo. Nessa terceira solução, temos que x = 33 246 (ou 7,455), y = 11 68 (ou 6,182), s1 = s2 = a1 = 0 e a2 = 33 18 . O valor da função objetivo é 33 758 - 33 18 .M. A variável que entra é agora s , já que tem a maior contribuição na linha C – Z, ou seja, 33 9 .M. Para determinarmos a variável que sai, calculemos os índices (bj / aij ), sendo aij os valores da coluna da variável que entra (s1): 165 Variáveis na solução x y 1 x 1 0 0 (*) -M 0 0 1 = 2 3 y 0 1 0 = 68 33 9- 44 2 33 9 33 246 33 9 44 13- 33 9- 33 18 33 9 33 18 11 1 44 3 11 1- 11 68 11 1 11 68 Fonte: Adaptado do autor por Design Unis EAD Tabela 60 (*) Não se pode dividir por um a negativo. Visualizamos que o menor quociente (bj / aij) é 2, logo a2 é a variável que sai, e o elemento pivô é igual a 33 9 . Necessitamos determinar agora os valores da nova linha principal e das novas linhas das variáveis x e y. Nova linha principal A nova linha principal é obtida dividindo-se cada elemento da antiga linha principal pelo elemento pivô, desta forma: 166 Variável x y Antiga linha principal 0 0 1 (dividida por ) Nova linha principal 0 0 1 -1 2 33 9 44 13- 33 9 - 33 18 33 9 33 9 0 33 9 33 9 33 9 44 13 - 33 9 33 9 - 33 9 1 33 9 33 18 396 429- 9 33 33 9 0 Fonte: Adaptado do autor por Design Unis EAD Tabela 61 Nova linha da variável x A interseção da linha de x com a coluna da variável que entra (s1) é igual a 33 9 - . Para deter- minarmos os valores da nova linha de x, primeiramente multiplicamos os valores da nova linha principal por 33 9 - . Variável x y Nova linha principal 0 0 1 -1 2 (Multiplicada por ) 0 ( ) 0 ( ) 1( ) ( ) -1( ) ( ) 2 ( ) Valores resultantes 0 0 -1 396 429- 9 33 33 9 - 396 429- 9 33 33 9 - 484 143 33 9 33 18 - 33 9 - 33 9 - 33 9 - 33 9 - 33 9 - 33 9 - 33 9 - Fonte: Adaptado do autor por Design Unis EAD Tabela 62 Os valores resultantes são subtraídos da antiga linha de x: 167 Variável x y Antiga linha de x 1 0 0 (menos) 0 0 -1 Nova linha de x 1 0 0 0 1 = 8 33 9 - 44 2 33 9 33 246 33 9 - 484 143 33 9 33 18 - 4 1 - 33 264 Fonte: Adaptado do autor por Design Unis EAD Tabela 63 Nova linha da variável y A interseção da linha de y com a coluna da variável que entra (s1) é igual a 11 1 , valor pelo qual são multiplicados os valores da nova linha principal. Variável x y Nova linha principal 0 0 1 -1 2 (Multiplicada por ) 0 ( ) 0 ( ) 1 ( ) ( ) -1 ( ) ( ) 2 ( ) Valores resultantes 0 0 396 429- 9 33 11 1 11 1 11 1 396 429- 11 1 11 1 9 33 11 1 11 1 11 1 396 39- 11 1 - 3 1 11 2 11 1 - Fonte: Adaptado do autor por Design Unis EAD Tabela 64 Os valores resultantes são subtraídos da antiga linha de y: 168 Variável x y Antiga linha de y 0 1 0 (menos) 0 0 Nova linha de y 0 1 0 0 = 6 11 1 44 3 11 1 - 11 68 11 1 396 39- 11 1 - 3 1 11 2 396 66 3 1 - 11 66 Sendo assim, o quarto tableau apresenta o seguinte aspecto parcial: Fonte: Adaptado do autor por Design Unis EAD Tabela 65 Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y 1 x 1 0 0 0 1 8 0 0 0 1 -1 2 3 y 0 1 0 0 6 4 1- 396 429- 9 33 396 66 3 1- Fonte: Adaptado do autor por Design Unis EAD Tabela 66 Segue-se a construção da linha Z: 169 x y 1 1 (1) 0 (1) 0 (1) (1) 0 (1) 1 (1) 8 (1) 0 0 (0) 0 (0) 1 (0) (00 -1 (0) 2 (0) 3 0 (3) 1 (3) 0 (3) (3) 0 (0) (3) 6 (3) Z 1 3 0 0 0 26 4 1- 396 429- 9 33 396 66 3 1- 396 99 Fonte: Adaptado do autor por Design Unis EAD Tabela 67 E agora, vamos calcular a linha de C – Z: Variável x y Coeficientes 1 3 0 0 M M Linha Z 1 3 0 0 0 Linha C – Z 0 0 0 M M- - 396 99 - 396 99 - - Fonte: Adaptado do autor por Design Unis EAD Tabela 68 Desta forma, temos então, o quarto tableau completo: 170 Variáveis de decisão 1 3 0 0 - M - M Variáveis na solução x y 1 x 1 0 0 0 1 8 0 0 0 1 -1 2 3 y 0 1 0 0 6 Linha Z 1 3 0 0 0 26 Linha C – Z 0 0 0 M M 4 1- 396 429- 9 33 396 66 3 1- 396 99 396 99- -- Fonte: Adaptado do autor por Design Unis EADTabela 69 Daí, como todos os elementos da linha C – Z são nulos ou negativos, concluímos que encon- tramos a solução ótima, que apresenta os seguintes valores: x = 8; y = 6; s1 = 2 Cujo valor da função objetivo é 26. Vejamos como o método Simplex vai testando as várias soluções, como é mostrado na Figura 51 a seguir. Observemos que a primeira solução testada se encontra na origem, onde x = y = 0 (que é o ponto A). O Simplex deslocou-se, desta forma, para o ponto B, em seguida para o pon- to C e, por fim, para o ponto D, que no caso é a solução ótima. Reparemos que a solução ótima deve estar sobre o segmento DE, já que isso acaba sendo exigindo pela restrição 2x + 3y = 34. 171 3 6 9 12 15 18 21 24 x y 3 6 9 12 15 18 21 24 27 27 3x - 2y = 10 2x + 3y = 34 C E B A 4x + 12y = 104 D B Fonte: Adaptado do autor por Design Unis EAD 3.6.6. Como Proceder Com o Simplex nos Casos Envolvendo Minimização Uma forma muito simples de tratarmos dos casos de minimização consiste em transformá-lo em um problema de maximização, bastando para isso multiplicarmos todos os coeficientes da fun- ção objetivo por (-1). Desta forma, por exemplo, se tivermos: Minimizar 3x + 4y + 0.s1 + 0.s2 + M.a3 Transformamos a função acima para: Maximizar – 3x – 4y – 0.s1 – 0.s2 – M.a3 Figura 46 - Teste dos pontos extremos do exemplo 172 Com relação às restrições, são conservadas como estavam originalmente. Os valores fi- nais das variáveis de decisão estarão corretos, e o valor final da função objetivo é o da linha Z, coluna bj, com sinal trocado. Problema 6: Consideremos o seguinte problema de programação linear: Minimizar 6x + 4y Sujeito a 3x + y ≥ 24 x + y ≥ 16 2x + 6y ≥ 48 x ≥ 0; y ≥ 0. Solução: Inicialmente vamos transformar as desigualdades em igualdades. Notemos que todas são do tipo ≥ (maior ou igual), sendo assim, devemos acrescentar a cada uma delas uma variável de excesso e uma variável artificial, desta forma, temos que: 3x + y – s1 + a1 = 24 x + y – s2 + a2 = 16 2x + 6y – s3 + a3 = 48 Com relação à função objetivo, reescrevemos a mesma como segue: 6x + 4y + 0.s1 + 0.s2 + 0.s3 + Ma1 + Ma2 + Ma3 Onde, incorporamos as novas variáveis de excesso e artificiais. A fim de transformá-lo em um problema de maximização que seja equivalente, basta multiplicar- mos todos os coeficientes da função objetivo por (-1), deixando as restrições como estão. Para compormos diretamente no primeiro tableau como um problema de maximização, portanto, enunciamos o problema da seguinte forma: Maximizar – 6x – 4y – 0.s1 – 0.s2 – 0.s3 – Ma1 – Ma2 – Ma3 173 Sujeito a: 3x + y – 1s1 + 0.s2 + 0.s3 + 1.a1 + 0.a2 + 0.a3 = 24 1x + 1y + 0.s1 – 1.s2 + 0.s3 + 0.a1 + 1.a2 + 0.a3 = 16 2x + 6y + 0.s1 + 0.s2 – 1.s3 + 0.a1 + 0.a2 + 1.a3 = 48 Desta maneira, percebemos que temos 8 incógnitas e três equações. Deverão compor o nosso primeiro tableau apenas as variáveis artificiais, já que não existem variáveis de folga, apenas variá- veis de excesso. Apresentamos o aspecto do nosso tableau inicial incompleto abaixo. Variáveis de decisão - 6 - 4 0 0 0 - M - M - M Variáveis na solução x y -M 3 1 -1 0 0 1 0 0 24 -M 1 1 0 -1 0 0 1 0 16 -M 2 6 0 0 -1 0 0 1 48 Linha Z Linha C – Z Fonte: Adaptado do autor por Design Unis EAD Tabela 71 Na solução representada pelo tableau acima, temos que x = y = s1 = s2 = s3 = 0 e a1 = 24, a2 = 16 e a3 = 48. Com relação a solução final deste exemplo, deixamos a cargo de cada um de vocês. Podem ter certeza que é uma tarefa aparentemente simples (em verdade são apenas 5 interações!). Se resolvermos por um dos programas apresentados (LINGO e VCN) os valores das variáveis de decisão são x = 4 e y = 12, sendo o valor da função objetivo maximizada, igual a -72. Lembremos, então, que o valor da função minimizada é 72. Na Figura 26 a seguir, marcamos os pontos testados pelo método Simplex, que seguiu a ordem: 174 A (origem, x = y = 0); B(x = 0, y = 8); C (x = 6, y = 6); D(x = 12, y = 4) e E(x = 4, y = 12), onde encontramos a solução ótima, sendo 72 o valor da função objetivo. D 2 4 6 8 10 12 14 x 16 18 20 22 24 26 28 30 2 4 6 8 10 12 14 16 18 20 22 24 P EB A 32 C y (1) 3x + y = 24 2x + 6y = 48 Fonte: Adaptado do autor por Design Unis EAD Figura 47 - Teste dos pontos extremos do exemplo 175 Discutimos nessa unidade com relação a resolução de modelos de progra- mação linear. Especificamente comentando, a Programação Linear possui como suposições a Divisibilidade, Aditividade, Proporcionalidade e Certe- za, sendo que: Divisibilidade: Indica que as variáveis podem ter valores fracionados, ou seja, as variáveis podem ser divididas em qualquer nível fracional. Aditividade: Indica que os relacionamentos entre as variáveis são sempre adições e subtrações, mas nunca outras operações. Proporcionalidade: Indica que as contribuições de cada variável de decisão são proporcionais ao valor da variável de decisão. Certeza: Indica que todos os parâmetros utilizados nos modelos são conhecidos com certeza. Grosso modo, concentramos nesta unidade na resolução de modelos diversos de Pro- gramação Linear, inicialmente com a solução gráfica de um problema de duas variáveis que, embora muito simplificado, proporciona um entendimento concreto dos conceitos básicos de Programação Linear (resolução geométrica). Ressalta-se ainda, mais uma vez, a limitação de tal método, que descreve fundamentalmente apenas a resolução de modelos com duas variáveis de decisão. Por outro lado, presentamos a resolução de diversos modelos, utilizamos dois tipos dis- tintos de programas, que são o LINGO e o VCN. Dois programas bem simples de entendimento para com relação a implementação numérica, trazendo desde a solução ótima e o valor ótimo, até a análise de sensitividade ou sensibilidade ou pós-otimização. Aqui, foi discutido de modo formal, os conceitos de preço dual, número de iterações, custo reduzido e folga ou excesso. Finalizamos a discussão com relação à resolução de modelos nesta unidade, discutindo todas as passagens de desenvolvimento de cálculos pelo método algébrico, que é o método Simplex. Lembrando, que se um dado modelo de Programação linear apresenta a solução ótima 176 o método simplex consegue identifica-la. Todavia, o grau de complexidade e, por conseguinte, de cálculos envolvendo tal procedimento é árduo. É interessante notarmos que a resolução de um modelo de P.L., independentemente do método usado, significa encontrar a solução ótima (valor das variáveis de decisão), junta- mente com o valor ótimo (valor da função objetivo). Em verdade, esses valores constituem a melhor das alternativas que temos para aquele contexto a ser otimizado. Assim sendo, na próxima unidade estaremos interessados na discussão sobre a teoria da dualidade, algoritmo dos transportes e problema da designação, que são procedimentos peculiares da Pesquisa Operacional e também comumente utilizados na busca pela otimalida- de dos processos e problemas, independentemente da área. Objetivos da Unidade IV Dualidade, Algoritmo dos Transportes e o Problema da Designação Ao final desta unidade, o aluno será capaz de interpretar as principais definições, propriedades e particularidades envolvendo a teoria da dualidade, do algoritmo dos transportes e da designação, que são ferramentas da Pesquisa Operacional, frequen- temente utilizadas na busca pela otimização. 178 4.1. Aspectos Introdutórios da Formulação da Dualidade Neste instante é de nosso interesse discutir um dos tópicos mais importantes da Progra- mação Linear e, consequentemente da Pesquisa Operacional que é a Dualidade. Em verdade, Du- alidade significa a existência de um outroproblema de Programação Linear, que designaremos por Problema Dual (D). Nesta relação com o problema dual, o problema original designamos por Problema Primal (P). Os problemas primal e dual são conhecidos por par de problemas duais (P) – (D) são suportados pelo mesmo sistema de parâmetros; a resolução de um deles constitui a reso- lução simultânea do outro. Em verdade, em diversas situações, a quantidade de cálculos necessária para resolvermos um modelo linear pelo Método Simplex pode ser reduzida. Conceito O modelo inicial, chamado primal, pode ser substituído por outro chamado dual, cuja solução é mais rápida. Vamos mostrar que conhecida à solução do dual, conheceremos em consequência a solução do primal, o que resolve o nosso problema. Interpretamos, o par de problemas duais, como sendo nada mais do que um par de repre- sentações matemáticas do mesmo problema real. Um dos principais papéis da Teoria da Dualidade é o de interpretar e implementar à Análise de Sensibilidade, que é uma parte muito importante de um estudo de Programação Linear. 4.2. Formulação do Problema Dual Se considerarmos um dado problema de Programação Linear, de maximização, na forma típica: Maximizar: Z = C.X Sujeito a: A.X ≤ b X ≥ 0 179 De acordo com Medeiros (2010) existe outro problema de Programação Linear que lhe está associado, o dual, que consiste em: Minimizar: W = b.Y Sujeito a: AT.Y ≥ C Y ≥ 0 Por outro lado, dado um problema de Programação Linear, de minimização, na forma típica: Minimizar Z = C X Sujeito a: A X ≥ b X ≥ 0 Existe outro problema de Programação Linear que lhe está associado, o dual, que consiste em: Maximizar: W = b Y Sujeito a: AT Y ≤ C Y ≥ 0 Primal Dual M ax im iz aç ão M in im ização Fonte: Adaptado do autor por Design Unis EAD Figura 48 - A descrição do problema dual 180 Desta maneira, vamos considerar o modelo de Programação Linear em que: a) A função objetivo é de maximização; b) As restrições são todas do tipo ≤; c) As variáveis são não negativas. Com relação a esse modelo chamado primal, segundo Medeiros (2010) podemos associar outro modelo, que chamaremos dual, construído da seguinte maneira: 1º) Variáveis de decisão do dual: a cada restrição do primal faremos corresponder uma variável y ; 2º) Objetivo: a função objetivo será de minimização. Cada uma de suas parcelas será o produto da variável y pelo termo da direita da restrição correspondente; 3º) Restrições: cada variável de decisão primal gera uma restrição no dual. - Termos da esquerda: cada termo é o produto da variável dual y pelo coeficiente respectivo da variável de decisão primal. - Sinal: sinal do tipo ≤. - Termo da direita: é o coeficiente da variável primal da função objetivo. 4º) Não-negatividade: As variáveis y são todas não negativas. Exemplo Introdutório: Segundo Daniel (2010) Dualidade é a propriedade ou caráter do que é duplo, do que é dual, ou que contém em si duas naturezas, duas substâncias ou dois princípios. De outra forma, é sabido da literatura que a Teoria da Dualidade também possui significados no âmbito da Física, Biologia, Filosofia e Economia. Neste sentido, vamos construir o modelo dual do seguinte primal. Primal: Max. Z = 2.x1 + 3.x2 + x3 (variáveis duais) 181 Sujeito a: 3.x 1 + 4.x 2 + 2.x 3 # 10 " y 1 2.x 1 + 6.x 2 + x 3 # 20 " y 2 x 1 - x 2 - x 3 # 30 " y 3 Z [ \ ]]]] ]]]] x 1 $ 0,x 2 $ 0,x 3 $ 0 Sujeito a: 3.y 1 + 2.y 2 + 1.y 3 # 2 coeficiente de x 1 4.y 1 + 6.x 2 - x 3 # 3 coeficiente de x 2 2.y 1 + y 2 - y 3 # 1 coeficiente de x 3 Z [ \ ]]]] ]]]] y 1 $ 0,y 2 $ 0,y 3 $ 0 Se implementarmos no programa LINGO os dois modelos, a resolução é como segue. - Resolução do Primal: Fonte: Arquivo pessoal do autor Figura 49 182 Fonte: Arquivo pessoal do autor Figura 50 Fonte: Arquivo pessoal do autor Figura 51 183 - Resolução do Dual: Fonte: Arquivo pessoal do autor Figura 52 Fonte: Arquivo pessoal do autor Figura 53 184 Fonte: Arquivo pessoal do autor Figura 54 Desta forma, percebemos que o valor ótimo da função objetivo em cada um dos dois casos é igual a 7,5, ou seja, encontramos o mesmo valor para a função objetivo, para o modelo primal e para o modelo dual O exemplo nos mostra que o valor da função objetivo no modelo primal é igual ao valor da função objetivo no modelo dual. Desta forma, indepen- dentemente de qual dos dois modelos resolvermos, encontramos o mesmo resultado para a função objetivo. Similarmente, podemos definir o dual do modelo com as características: a) Função objetiva de minimização; b) Restrições do tipo ≥; c) Variáveis todas não negativas. Desta forma, o modelo dual terá a seguinte forma: 185 a) Função objetiva de maximização; b) Restrições do tipo ≤; c) Variáveis todas não negativas. Problema 1: Vamos considerar o dual obtido no Exemplo anterior, como sendo o nosso modelo primal. Sendo assim: Primal: Min. Z = 10.x1 + 20.x2 + 30.x3 (variáveis duais) Sujeito a: 3.x 1 + 2.x 2 + 1.x 3 $ 2 " y 1 4.x 1 + 6.x 2 - x 3 $ 3 " y 2 2.x 1 + x 2 - x 3 $ 1 " y 3 Z [ \ ]]]] ]]]] x 1 $ 0,x 2 $ 0,x 3 $ 0 Daí, segue que: Dual: Min. D = 2.y1 + 3.y2 + 1.y3 (termos da direita) Sujeito a: 3.y 1 + 4.y 2 + 2.y 3 # 40 coeficientes de x 1 2.y 1 + y 2 + y 3 # 20 coeficientes de x 2 y 1 - y 2 - y 3 # 30 coeficientes de x 3 Z [ \ ]]]] ]]]] y 1 $ 0,y 2 $ 0,y 3 $ 0 Observemos que o dual, obtido a partir de um dual, retorna ao modelo primal. A partir dessa definição, são verdadeiras as seguintes propriedades: Propriedade 01: Se uma restrição primal é do tipo =, a variável dual correspondente será sem restrição de sinal. 186 Propriedade 02: Se uma variável primal for sem restrição de sinal, a restrição do dual corres- pondente será do tipo =. Problema 2: Consideremos o modelo: Primal: Max. Z = 2.x1 + 3.x2 + x3 Sujeito a: x 1 + x 2 # 10 " y 1 2.x 1 + 4.x 2 - x 3 = 10 " y 2 ) x 1 $ 0,x 2 $ 0,x 3 $ 0 Logo, o dual é dado por: Dual: Min. D = 10.y1 + 20.y2 Sujeito a: y 1 + 2.y 2 $ 2 y 1 + 4.y 2 $ 3 -y 2 $ 1y 1 + 2.y 2 $ 2 Z [ \ ]]]] ]]]] y 1 $ 0,y 2 livre 4.3. Existe Alguma Analogia Entre as Soluções Primal e Dual? Em verdade, segundo Daniel (2010) podemos destacar as seguintes ponderações: a) A cada solução viável básica primal não ótima corresponde uma solução básica inviável dual. b) A solução ótima primal corresponde à solução ótima dual com Z = D. c) O coeficiente da variável de decisão na função objetiva primal é o valor da variável de folga cor- respondente na solução dual. 187 (coeficiente de xi = valor de yFi ) d) O coeficiente da variável de folga da função objetiva primal é o valor da variável de decisão cor- respondente na solução dual. (coeficiente de yFi = valor de yi) Como o primal é dual do próprio dual, vale o raciocínio no sentido dual primal. (coeficiente de yi = valor de xFi) (coeficiente de yFi = valor de xi) 4.4. O Algoritmo dos Transportes Vimos anteriormente na parte de formulação de modelos de programação linear, bem como na parte da implementação dos modelos de P. L. alguns exemplos associados a problemas de distribuição (logística) que se enquadram como casos particulares do algoritmo dos transportes. Tal procedimento é amplamente utilizado em problemas de distribuição, com o objetivo de caracteri- zação do menor custo total de transporte ou da caracterização da menor distância a ser percorrida na malha em questão. Fonte: Istock.com Figura 55 - Aplicabilidade do algoritmo dos transportes 188 Sendo assim, por exemplo, vamos modelar a ilustração introdutória a seguir. Ilustração Introdutória: (Aplicaçãona Área de Logística - Problema de Transporte) Uma companhia de mineração deve transportar o minério ex- traído de suas duas minas M1, M2 para as suas três fábricas ou unidades de processamento F1, F2, F3. Em cada mina há 300 toneladas de minério para serem transportadas e cada fábrica deve receber 200 toneladas. O custo de transporte de cada mina para cada fábrica está apresentado no quadro abaixo. Deseja-se determinar quanto deve ser transportado de minério de cada mina para cada fábrica de modo a minimizar o custo total de minério transportado. Observemos a Tabela 72 a seguir. Mina Fábrica F1 F2 F3 Quantidade Máxima M1 2 3 1 300 M2 3 2 3 300 Quantidade Mínima 200 200 200 Fonte: Adaptado do autor por Design Unis EAD Tabela 72 - Disposição dos dados do problema Solução: Neste caso, temos seis variáveis de decisão que são caracterizadas a partir das possíveis combinações de mina e fábrica, ou seja, vamos denotar por x a quantidade a ser transportada da mina i para a fábrica j. Portanto, as variáveis são dadas por: x11: quantidade a ser transportada da mina 1 para a fábrica 1; x12: quantidade a ser transportada da mina 2 para a fábrica 1; x13: quantidade a ser transportada da mina 1 para a fábrica 3; x21: quantidade a ser transportada da mina 2 para a fábrica 1; x22: quantidade a ser transportada da mina 2 para a fábrica 2; x23: quantidade a ser transportada da mina 2 para a fábrica 3; Desta forma, a função objetivo é dada por: 189 Min. Z = 2. x11 + 3.x12 + 1.x21 + 3.x22 + 2.x22 + 3. x23 Sujeito a: x11 + x12 + x13 ≤ 300 (disponibilidade da mina 1) x21 + x22 + x23 ≤ 300 (disponibilidade da mina 2) x11 + x21 ≥ 200 (o que a fábrica 1 requer ) x12 + x22 ≥ 200 (o que a fábrica 2 requer ) x13 + x23 ≥ 200 (o que a fábrica 3 requer ) x11 , x12 , x13 , x21 , x22 , x23 ≥ 0 Relacionando com o meio empresarial, percebemos que no processo geral de pro- dução e comercialização do produto, o sistema de transporte tem um papel fundamental e indispensável. Desta maneira, deve ser cuidadosamente planejado, com o objetivo de alcançar o que se espera dele com o menor acréscimo possível no custo final do produto. 4.5. Formalizando o Algoritmo dos Transportes De acordo com Daniel (2010) a análise de estudos para melhorar e otimizar cada vez mais os processos que envolvem a comunicação e troca de informações estão sendo vistos como um fator de importância a serem considerados devido aos mais diversos fatores como custo, agilidade, flexibilidade, satisfação, que por sua vez estão impulsionando um outro tipo de planejamento volta- do para este ponto. Neste momento, os especialistas perceberam a necessidade de desenvolver procedimentos que auxiliam o cruzamento e agrupamento dos dados para determinar as melhores escolhas as quais serão base para a tomada de decisão. Estes procedimentos foram chamados de Algoritmos de Transportes (ou Problemas de Transportes) que, consiste em modelar uma estratégia a fim de garantir rotas de comunicação de informações eficazes limitadas as restrições do problema. 190 Este algoritmo é utilizado nas mais diversas áreas do conhecimento, como Logística, Econo- mia, Comunicação de Redes, Simulação em Finanças, dentre outras. Dada a estrutura de fontes de produção ou origens de um produto, a rede de caminhos possíveis de transporte e os destinos para os quais os produtos devem se dirigir, o objetivo da modelagem e, o estudo do problema é de- terminar o carregamento da rede de transporte que minimiza o custo total do transporte. A estrutura geral de um modelo de problema de transporte pode ser vista em um exemplo bem simples. Suponhamos três fontes de um determinado produto e três destinos para os quais ele deve ser transportado, como mostramos na Figura 56 a seguir. O transporte em cada uma das rotas indicadas deve ser programado de modo a minimizar o custo total, calculado sobre todas as rotas. Fábrica 1 Fábrica 2 Fábrica 3 Depósito 1 Depósito 2 Depósito 3 Fonte: adaptado de Freepik.com Figura 55 - Situação comum de problema de transporte 4.5.1. Situação Modelo Consideremos a situação descrita a seguir: suponhamos que temos que transportar produ- tos das várias origens onde estão estocados para vários destinos onde são necessários. Conhecemos 191 os custos unitários de transporte de cada origem para cada destino, denotados por: Cij – custo unitário de transporte da origem i para o destino j Desta forma, é nossa tarefa decidir quanto transportar de cada origem para cada destino, i.e., devemos encontrar as quantidades: Xij – quantidade a ser transportada da origem i para o destino j Além disso, percebemos que o nosso objetivo consiste em completar a transferência dos produtos com o menor custo possível, ou matematicamente falando, temos uma função objetivo de minimização. A priori, suponhamos também que a quantidade disponível nas origens seja exatamen- te igual ao total das necessidades dos destinos. Geometricamente, esta situação pode ser visualizada no fluxograma da Figura 56 abaixo. Fonte: elaborado pelo autor Figura 56 - Disposição do Fluxograma situação modelo De outra forma, podemos representar tal situação acima em uma forma tabular, como mos- trado na tabela 57 a seguir. 192 Fonte: elaborado pelo autor Tabela 73 - Disposição tabular da situação modelo Onde lemos da seguinte forma: - As disponibilidades nas origens; - As necessidades nos destinos; - Os custos unitários de transporte de cada origem para cada destino. 4.5.2. O Modelo Linear do Algoritmo dos Transportes De acordo com o que estudamos nas Unidades iniciais, temos a seguinte nomenclatura: - Variáveis de Decisão ou Variáveis Controláveis: as variáveis de decisão são dadas por: Xi j – quantidade a ser transportada da origem i para o destino j. - Objetivo: a função objetivo é minimizar o custo do transporte, ou seja, matematicamente podemos escrever: Minimizar C = 10.X11 + 12.X12 + 20.X21 + 8.X22 + 6.X31 + 15.X32 Onde: 10.X11 = custo unitário de transporte da origem 1 para o destino 1 x quantidade a ser transportada da origem 1 para o destino 1 = custo do transporte da origem 1 para o destino 1 - Restrições: as restrições técnicas podem ser caracterizadas como: 193 - As quantidades retiradas das origens devem ser disponibilizadas em cada uma: Origem 1 – retiradas X11 + X12 = 50 Disponibilidade O1 Origem 2 – retiradas X21 + X22 = 50 Disponibilidade O2 Origem 3 – retiradas X31 + X32 = 50 Disponibilidade O3 - As quantidades transportadas para cada destino devem ser a necessidade em cada um deles: Destino 1 – Chegadas X11 + X21 + X31 = 100 Necessidade D1 Destino 2 – Chegadas X12 + X22 + X32 = 170 Necessidade D2 Desta forma, o modelo fica então resumido a: Minimizar. C = 10.X11 + 12.X12 + 20.X21 + 8.X22 + 6.X31 + 15.X32 Sujeito a: X11 + X12 = 50 X21 + X22 = 50 X31 + X32 = 50 X11 + X21 + X31 = 100 X12 + X22 + X32 = 170 Xi j ≥ 0, para i = 1, 2, 3 e j = 1, 2. 4.5.3. O Caso de Sistemas Não Equilibrados Devemos salientar que em alguns casos, não temos um sistema descrito como na situação modelo anterior, isto porque o modelo descrito anteriormente pode representar também sistemas de transporte que não obedeçam à condição de equilíbrio entre oferta (disponibilidade nas origens) e demanda (necessidade de destinos). 194 • Obedecem à condição de equilíbrio entre oferta (disponibilidade nas origens) e demanda (necessidade de destinos). Sistemas Equilibrados • Não obedeçam à condição de equilíbrio entre oferta (disponibilidade nas origens) e demanda (necessidade de destinos). Sistemas não Equilibrados Fonte: adaptado do autor por DesignUnis EAD Figura 57 - Características sistemas equilibrados e não equilibrados Para tais casos, o enquadramento no modelo se faz com a criação de origens ou destinos auxiliares para receber a diferença entre oferta e demanda. Os custos unitários para origens ou des- tinos auxiliares é zero. Na solução do modelo, as quantidades que eventualmente sejam transpor- tadas de origens auxiliares ficam faltando nos destinos. As quantidades que são transportadas para destinos auxiliares, na verdade ficam depositadas nas origens. Vejamos tais ponderações na Figura 58 abaixo Sistemas não equilibrados • - Criação de novas origens ou destinos auxiliares • - Os custos unitários para origens ou destinos auxiliares é zero. • - Na solução do modelo, as quantidades que eventualmente sejam transportadas de origens auxiliares ficam faltando nos destinos. • - As quantidades que são transportadas para destinos auxiliares, na verdade ficam depositadas nas origens. Fonte: adaptado do autor por Design Unis EAD Figura 58 - Procedimentos para os processos não equilibrados 195 Exemplo: Vejamos um exemplo ilustrativo, representado na Figura 9 a se- guir, onde percebemos que o modelo representado está desequilibrado. Fonte: elaborado pelo autor Tabela 74 - Um exemplo de problema de transporte desequilibrado Solução: Desta forma, como comentado anteriormente, devemos criar uma origem auxiliar para receber a diferença 66 – 60 = 6, desta maneira o sistema estará equilibrado, como podemos visualizar abaixo. Fonte: elaborado pelo autor Tabela 75 - Criação de uma origem auxiliar a fim de tornar o sistema equilibrado Sendo assim, uma solução possível para o problema é mostrada na Figura 11 a seguir, onde o valor das células representa as quantidades transportadas de cada origem para cada destino. 196 Fonte: elaborado pelo autor Tabela 76 - Solução possível para o sistema do exemplo Notemos, que as quantidades X42 = 1 e X43 = 5 transportadas a partir, da origem auxi- liar A, na verdade ficam faltando nos destinos, isto é, o destino D2 recebe apenas 35 unidades, enquanto que o destino D não recebe nenhuma mercadoria. 4.5.4. Descrevendo o Algoritmo dos Transportes A solução do problema do transporte, como em todo problema representado por um mo- delo de programação linear, pode ser obtida pelo método algébrico, ou seja, pelo Método Simplex. Entretanto, devido as suas características especiais, podemos descrever um método que, embora mantenha fases e critérios do Método Simplex, tem os cálculos bastante simplificados. Vejamos a descrição desta metodologia nas entrelinhas a seguir. 1 Parte – Cálculo da Solução Básica Inicial Uma solução básica para o problema é um conjunto de valores a transportar que obedecem a duas condições, que são: 197 - Satisfazem as restrições de origem e destino; - Não apresentam circuitos entre as variáveis básicas. Por circuitos devemos entender uma poligonal fechada construída no sentido das linhas ou colunas, ligando variáveis básicas. Conceito Circuito é uma poligonal fechada construída no sentido das linhas ou colunas que ligam às vari- áveis básicas. Vejamos um exemplo de circuito dado na Figura 12 abaixo. Fonte: elaborado pelo autor Tabela 77 - Exemplo de um circuito Ressaltamos ainda, que iremos apresentar dois métodos para a construção da solução inicial, que são: O Método do Canto Noroeste e o Método de Vogel (ou Método das Penalidades). Problema dos Transportes Método do Canto Noroeste Método de Vogel ou Método das Penalidades Fonte: adaptado do autor por Design Unis EAD Figura 59 - Os dois métodos para determinação da solução inicial no problema dos transportes 198 Vejamos de forma detalhada cada um dos dois métodos. a) Método do Canto Noroeste A partir da cela superior esquerda transportamos o máximo possível da origem ao destino correspondente. Esse procedimento zera a possibilidade da linha ou coluna da cela. O próximo transporte será feito na cela contígua (à direita ou abaixo) que tenha disponibilidade de linha e co- luna correspondente. Por exemplo, vamos calcular a solução inicial a solução inicial do quadro de transportes abai- xo. Fonte: elaborado pelo autor Tabela 78 - Os dois métodos para determinação da solução inicial no problema dos transportes Vejamos a descrição da solução, ou seja, como encontramos a solução inicial do transporte acima. Fonte: elaborado pelo autor Tabela 79 - Exemplo de cálculo da solução 199 1º transporte: X11 = 8 (primeira linha mantém disponibilidade de 2) 2º transporte: X12 = 2 (segunda coluna mantém disponibilidade de 28) 3º transporte: X22 = 20 (segunda coluna mantém disponibilidade de 8) 4º transporte: X23 = 8 (terceira linha mantém disponibilidade de 2) 5º transporte: X33 = 2 (terceira coluna mantém disponibilidade de 15) 6º transporte: X43 = 15 O método do canto noroeste garante a não formação de circuitos entre as variáveis básicas, além de satisfazer as condições de contorno (restrições de origem e destino). b) Método de Vogel ou Método das Penalidades Conceito Penalidade em uma linha ou coluna é a diferença positiva entre os dois custos de menor valor na linha ou coluna. A ideia desse método é fazer o transporte com prioridade na linha ou coluna que apresenta a maior penalidade. Como o transporte é feito na célula de menor custo, tenta-se evitar com isso o transporte na célula de custo maior, evitando-se assim incorrer num aumento de custo igual à penalidade calculada. 200 Descrição do Método de Vogel ou das Penalidades i) Calcular a penalidade para cada linha ou coluna. Escolher a linha ou coluna para transporte, que tenha a maior penalidade. Caso haja empate, escolha arbitrariamente uma delas. ii) Transportar o máximo possível na linha ou coluna escolhida, elegendo a célula de menor custo unitário de transporte. Esse procedimento zera a oferta ou demanda da célula correspondente. A linha ou coluna que tenha sua disponibilidade zerada deve ser eliminada. iii) Retornar ao item (i), até que todos os transportes tenham sido realizados. Vamos calcular pelo Método de Vogel uma solução inicial para o problema de transporte da a seguir. Fonte: elaborado pelo autor Tabela 80 - Exemplo de cálculo pelo Método de Vogel 201 Vejamos a solução, como segue: 1º Transporte: Fonte: elaborado pelo autor Tabela 81 Primeiro transporte: na segunda coluna (maior penalidade), na célula de menor custo (2). Fonte: elaborado pelo autor Tabela 82 A linha 4 tem agora disponibilidade zero e será eliminada. 202 2º Transporte: Fonte: elaborado pelo autor Tabela 83 Segundo transporte: na segunda linha (maior penalidade), terceira coluna (menor custo 6). Fonte: elaborado pelo autor Tabela 83 A coluna 3 será eliminada (disponibilidade zero). Os outros transportes serão feitos de forma similar até que o quadro se complete. (Com- plete o quadro anterior utilizando o mesmo raciocínio). 2º Parte – Critério de Otimalidade Obtida uma solução inicial para o quadro de transportes, o passo seguinte é verificar se essa 203 solução pode ou não ser melhorada, ou seja, se esta representa a solução ótima ou não. Como re- alizado no Método Simplex, isso pode ser avaliado observando-se os coeficientes das variáveis não básicas na função objetiva, que deverá estar escrita em termos dessas variáveis. Descrição do Critério: i) Escrever a função objetiva em termos das variáveis não básicas. Para tanto, vamos multipli- car cada restrição de linha pelo número – U , e cada restrição de coluna pelo número – V , e somar as novas linhas e colunas na função objetiva de tal maneira que os coeficientes das variáveis básicas sejam todos nulos. Teremos então: seXij é básico → Cij – Ui – Vj = 0 Essas igualdades compõem um sistema de m + n – 1 equações com m + n incógnitas. A solução do sistema pode ser obtida atribuindo-se um valor arbitrário a uma das incógnitas e calcu- lando-se o valor das outras. Com esses valores, calculamos os coeficientes das variáveis não básicas: Xij é não básico → Coeficiente = Cij – Ui – Vj Se todos esses valores forem positivos, a solução é ótima. Se houver um coeficiente negati- vo, a variável correspondente entra na base para melhorar o valor do objetivo. ii) Entrar com a variável cujo coeficiente negativo tenha o maior valor absoluto (ou seja, em módulo). iii) Montar um circuito de compensação entre as variáveis básicas, a partir da variável que entra. Esse circuito é feito partindo-se da variável que entra e seguindo-se alternativamente na dire- ção da linha e coluna, subtraindo e somando o valor da entrada até o retorno à variável de entrada. Com isso as restrições de linha e coluna ficam satisfeitas. 204 iv) Escolher para a variável que entra o maior valor possível, sem tornar nenhuma variável básica negativa. Esse valor corresponde ao menor valor das células onde a variável que entra estiver sendo subtraída. Teremos, então, uma nova solução básica. v) Voltar ao item (i), até que a solução seja ótima, isto é, não apresente coeficiente negativo nas variáveis não básicas. Vejamos um exemplo ilustrativo do discutido anteriormente. Vamos calcular o plano de transporte de menor custo para o problema representado na tabela a seguir. Fonte: elaborado pelo autor Tabela 84 - Exemplo de cálculo do plano de transporte de menor custo Solução: Desta forma, temos a seguinte sequência de resolução: 1) Solução Inicial – vamos calcular pelo método do canto noroeste: Fonte: elaborado pelo autor Tabela 85 205 Fonte: adaptado do autor por Design Unis EAD Tabela 86 - Coeficiente das vriáveis básicas = 0 O sistema resultante tem sete variáveis e seis equações. Para calcular uma solução de- vemos atribuir um valor a uma das variáveis. Fazendo, por exemplo: U1 = 0, teremos: V1 = 6, V2 = 5, U2 = 7, U3 = 4, V3 = 1 e U4 = 3 Variáveis Básicas Coeficiente Substituindo C X11 C11 – U1 –V1 = 0 6 – U1 –V1 X12 C12 – U1 –V2 = 0 5 – U1 –V2 X22 C22 – U2 –V2 = 0 12 – U2 –V2 X32 C32 – U3 –V2 = 0 9 – U3 –V2 X33 C33 – U3 –V3 = 0 5 – U3 –V3 X43 C43 – U4 –V3 = 0 4 – U4 –V3 Variáveis Básicas Coeficiente Substituindo C X13 C13 – U1 –V3 = 0 8 – 0 – 1 = 7 X21 C21 – U2 –V1 = 0 13 – 7 – 6 = 0 X23 C23 – U2 –V3 = 0 1 – 7 – 1 = -7 X31 C31 – U3 –V1 = 0 7 – 4 – 6 = -3 X41 C41 – U4 –V1 = 0 10 – 3 – 6 = 1 X42 C42 – U4 –V2 = 0 6 – 3 – 5 = -2 Fonte: adaptado do autor por Design Unis EAD Tabela 87 - Coeficiente das variáveis não básicas A solução não é ótima: Entra a variável X42, que possui o coeficiente negativo de maior valor absoluto. ij ij 206 Fonte: adaptado do autor por Design Unis EAD Tabela 88 - Circuito de Compensação Fonte: adaptado do autor por Design Unis EAD Tabela 89 - Nova solução Variáveis Básicas Coeficiente Substituindo C X11 C11 – U1 –V1 = 0 6 – U1 –V1 X12 C12 – U1 –V2 = 0 5 – U1 –V2 X22 C22 – U2 –V2 = 0 12 – U2 –V2 X32 C32 – U3 –V2 = 0 9 – U3 –V2 X23 C23 – U2 –V3 = 0 1 – U2 –V3 X43 C43 – U4 – V3 = 0 4 – U4 –V3 Fonte: adaptado do autor por Design Unis EAD Tabela 90 - Coeficiente das variáveis básicas = 0 Verificar se a nova solução é ótima – Critério de Otimalidade ij 207 O sistema resultante tem sete variáveis e seis equações. Fazendo U = 0, teremos: V1 = 6, V2 = 5, U2 = 7, U3 = 4, V3 = -6 e U4 = 10 Variáveis Básicas Coeficiente Substituindo Cij X13 C13 – U1 –V3 = 0 8 – 0 + 6 = 14 X21 C21 – U2 – V1 = 0 13 – 7 – 6 = 0 X31 C31 – U3 – V1 = 0 7 – 4 – 6 = -3 X33 C33 – U3 – V3 = 0 5 – 4 + 6 = 7 X41 C41 – U4 – V1 = 0 10 – 10 – 6 = -6 X42 C42 – U4 – V2 = 0 6 – 10 – 5 = -9 Fonte: adaptado do autor por Design Unis EAD Tabela 91- Coeficiente das variáveis básicas = 0 O sistema resultante tem sete variáveis e seis equações. Fazendo U = 0, teremos: V2 = 5, U2 = 7, V3 = -6, U3 = 4, V1 = 3 e U4 = 1 Variáveis Básicas Coeficiente Substituindo Cij X11 C11 – U1 –V1 = 0 6 – 0 – 3 = 3 X13 C13 – U1 –V3 = 0 8 – 0 + 6 = 14 X21 C21 – U2 – V1 = 0 13 – 7 – 3 = 3 X33 C33 – U3 – V3 = 0 5 – 4 + 6 = 7 X41 C41 – U4 – V1 = 0 10 – 1 – 3 = 6 X13 C42 – U4 – V3 = 0 4 – 1 + 6 = 9 Fonte: adaptado do autor por Design Unis EAD Tabela 92 - Coeficiente das variáveis não básica 208 A solução testada é ótima, pois as variáveis não básicas não possuem coeficientes negativos. Portanto, a solução ótima é transportar: 10 unidades da origem 1 ao destino 2 5 unidades da origem 2 ao destino 2 15 unidades da origem 2 ao destino 3 8 unidades da origem 3 ao destino 1 4 unidades da origem 3 ao destino 2 13 unidades da origem 4 ao destino 2 Sendo que o custo do programa será dado por: C = 10 x 5 + 5 x 12 + 15 x 6 + 8 x 7 + 4 x 9 + 13 x 6 = 370 4.6. Introduzindo o Problema da Designação Vamos analisar agora uma situação que, à primeira vista, não tem semelhança alguma com o problema de transporte, mas que, na verdade, pode ser modelada e resolvida de maneira análoga, em outras palavras, é um caso especial do modelo de transportes, em que cada origem tem uma unidade disponível e cada destino necessita também de uma unidade. É o caso de escalar vendedo- res para regiões de vendas, máquinas para diversos locais, etc. Essa característica torna o algoritmo de soluções bastante simples. Antes de aplicá-lo, deve- mos verificar se o modelo está equilibrado. No modelo de designação, o número de origens deve ser igual ao número de destinos devido a sua característica. Caso isso não ocorra, devemos construir origens ou destinos auxiliares, com custo de transferência zero. 209 Conceito O Problema de Designação envolve a atribuição de pessoas a projetos ou tarefas, de trabalhos a máquinas, e assim por diante. Assumimos a hipótese de que cada elemento a ser designado (pessoa, trabalho, etc.) corresponderá a um único objeto (projeto, tarefa, máquina, etc.). Problema de Transporte Problema da Designação Fonte: adaptado do autor por Design Unis EAD Figura 59 - Os dois métodos para determinação da solução inicial no problema dos transportes 4.6.1 Descrevendo o Algoritmo do Problema da Designação Para o desenvolvimento do algoritmo do problema da designação devemos seguir a seguinte sequência de passos: a) Subtrair de cada linha seu menor valor. Em seguida fazer o mesmo com as colunas. Cada linha e cada coluna deverá então apresentar pelo menos um elemento nulo. 210 b) Designar origens para destinos nas células em que aparece o elemento nulo. Dar prefe- rência a linhas ou colunas que tenham apenas um zero disponível. Cada designação efetuada invalida os outros zeros na linha e na coluna da célula designada. Se a designação se completa, o problema está resolvido. Se não: c) Cobrir os zeros da tabela com o menor número de linhas possível. Isto pode ser feito da seguinte forma: - Marcar as linhas sem designação; - Marcar as colunas com zeros nas linhas marcadas; - Marcar as linhas cm designação nas colunas marcadas; - Voltar a marcar as colunas com zeros nas linhas marcadas até que não seja possível marcar novas linhas ou colunas; - Riscar as linhas não marcadas e as colunas marcadas. d) Subtrair o menor valor dentre os números não cobertos, de todos os elementos da ta- bela. A reposição necessária nas linhas e colunas com zeros para impedir o aparecimento de custos negativos na tabela resulta no quadro em que: - Os elementos não cobertos ficam diminuídos deste número; - Os elementos no cruzamento de coberturas ficam aumentados desse número; - Os outros elementos permanecemiguais. e) Retornar ao item (b). Vejamos um exemplo ilustrativo: Consideremos o quadro abaixo que representa os custos de transporte de uma máquina dos locais de depósito para as fábricas onde deverão ser instaladas. Desta forma, é nosso objetivo designar uma máquina para cada fábrica com o menor custo total 211 possível no programa conforme a tabela 92. Fonte: adaptado do autor por Design Unis EAD Tabela 92 - Exemplo de transporte para a interpretação da designação A solução pode ser obtida da seguinte maneira. Fonte: adaptado do autor por Design Unis EAD Tabela 93 Inicialmente, designamos nos zeros de linhas ou colunas (devemos preferir linhas ou colunas com apenas um zero). A seguir, anulamos os outros zeros. Fonte: adaptado do autor por Design Unis EAD Tabela 94 212 Notemos que a designação não está completa, ou seja, não se completou devido à origem 3 e ao destino 3. Sendo assim, cobrimos, com o menor número de linhas, os zeros da tabela. Na sequência, seguimos os passos do item c. Fonte: elaborado pelo autor Tabela 95 Subtraímos 2 da tabela – Seguimos o item d. Fonte: elaborado pelo autor Tabela 96 Fazemos nova designação: Fonte: elaborado pelo autor Tabela 97 213 Desta forma, a solução é: Designação Custo L1 → F1 10 L2 → F2 12 L3 → F3 15 L4 → F4 13 Total Custo 50 Fonte: adaptado do autor por Design Unis EAD Tabela 98 4.6.2. Analisando o Caso de Maximização Caso a tabela de transferência traga retornos que devem ser maximizados, o modelo deverá ser substituído por outro de minimização. Como no problema dos transportes, isto pode ser feito multiplicando a função objetivo por -1, ou transformando o quadro num quadro de perdas (comple- mento em relação a um valor fixo). Vejamos um exemplo ilustrativo a seguir. Para tal, consideremos o quadro abaixo que representa as eficiências de quatro vendedores, testados em quatro regiões. Além disso, os potenciais de vendas nas regiões são conhecidos. É nosso objetivo designar um ven- dedor para cada região para maximizar o valor total das vendas. Observe a Tabela 99 a seguir. 214 Fonte: elaborado pelo autor Tabela 99 - Capacidade de cada vendedor de atingir o potencial da região em % Potencial de vendas em milhares de R$: R1 = 100 R2 = 80 R3 = 60 R4 = 90 A solução pode ser obtida da seguinte maneira. Fonte: elaborado pelo autor Tabela 100 - Quadro de vendas ou retorno (% x Potencial de Vendas) Fonte: elaborado pelo autor Tabela 101 - Quadro de perdas: subtrair de 81 215 Desta forma, a solução é: Fonte: elaborado pelo autor Tabela 102 Designar nos zeros da tabela: Fonte: elaborado pelo autor Tabela 103 Notemos que a designação não se completou. Fonte: elaborado pelo autor Tabela 104 Sendo assim, cobrimos os zeros com o menor número de linhas possível – Subtraímos 3 da tabela: 216 Fonte: elaborado pelo autor Tabela 105 Designamos nos zeros da tabela Fonte: elaborado pelo autor Tabela 106 Designação Vendas (em milhares de R$) V1 → R3 48 V2 → R4 81 V3 → R2 72 V3 → R2 70 V4 → R1 Total Vendas 271 Fonte: elaborado pelo autor Tabela 107 217 Vimos nessa terceira unidade, em termos específicos, as principais propriedades acerca da dualidade, do algoritmo dos transportes e do pro- blema da designação, que são situações específicas envolvendo a Pesquisa Operacional. Assim sendo, a teoria da dualidade envolve a construção de um par de modelos, denominados respectivamente de modelo primal e modelo dual. Especifica- mente falando, o modelo dual é criado a partir de uma sequência de procedimentos algébricos diretamente associados ao modelo inicial que é o primal. É importante ficar claro, que a criação do modelo dual pode permitir encontrarmos a solução de uma forma mais simples ou rápido. Os dois modelos apresentam o mesmo valor para a função objetivo. Fundamentalmente falan- do, a A Dualidade é um dos tópicos mais importantes da Pesquisa Operacional, enquanto que o Problema (Modelo) de Transporte e o Problema (Modelo) de Designação são casos especiais de programação linear que, devido à sua importância, apresentam algoritmos especiais de solu- ção. Com relação ao algoritmo dos transportes, vimos as suas particularidades de montagem e resolução, seguindo algumas regras específicas. No Problema de Transporte, existe a neces- sidade de distribuir bens e serviços de várias fontes de suprimento para várias localizações de demanda. O objetivo, no Problema de Transporte, é a minimização do custo total de transporte entre as fontes e os destinos. Ressalta-se a abordagem colocada também para os casos de siste- mas não equilibrados. O transporte envolvendo uma dada malha de distribuição, permite maior flexibilidade e agilidade, melhor preço, bem como, maior satisfação pelos clientes. Por fim, a tratativa envolvendo o problema da designação, nos mostrou nas entrelinhas como resolver as situações que devemos alocar uma pessoa para uma tarefa, no caso o 1 a 1, sendo considerada um caso particular do algoritmo dos transportes. O Problema de Designação é um caso especial do Problema de Transporte, consistindo na atribuição a pessoas a projetos ou tarefas, ou trabalhos a máquinas, e assim por diante. O objetivo pode ser de minimização (tempo ou custo, por exemplo) ou de maximização (lucro, por exemplo). O Método de Apro- ximação de Vogel (VAM – Vogel Approximation Method) é uma rotina de cálculos utilizada 218 para obter a priori uma solução aproximada ao Problema de Transporte. Na próxima unidade estaremos interessados na descrição formal dos principais aspectos teóricos e práticos envolvendo a simulação, simulação Monte Carlo e Teoria de Filas, que são ferramentas da Pesquisa Operacional utilizadas na maximização de resultados de casos peculia- res. Objetivos da Unidade V Simulação, Teoria de Filas e Aplicações Ao final desta unidade, o aluno será capaz de interpretar os principais conceitos e propriedades envolvendo a simulação e a teoria de filas, que são ferramentas especí- ficas da Pesquisa Operacional, muito utilizadas na busca da otimalidade em situações particulares do dia a dia, como nos problemas de congestionamento. 220 5.1. Aspectos Introdutórios da Simulação Nesta unidade, estaremos interessados em discutir nas entrelinhas a teoria envolvendo a Simulação, especificamente a Simulação de Monte Carlo, bem como, apresentar a Teoria envol- vendo as Filas do nosso dia-a-dia, que servem para a discussão de problemas de congestionamento relacionados ao mundo das empresas. Simulação Teoria de Filas (Problemas de Congestionamento) Fonte: elaborado pelo autor Figura 59 - Duas Técnicas bastante utilizadas em problemas do dia a dia Você já ouviu falar do termo Simulação? Não? Mais claro que sim! O termo simulação não nos é estranho, já que podemos perceber de forma direta que todos nós estamos de certa forma, acostumados com a simulação: por meio de jogos eletrônicos, cinema, teatro, manobras de guerra simuladas pelas forças armadas, estratégias de mercado, estratégias de jogos diversos, etc. Conceito A Simulação de um sistema é uma operação de um modelo que representa esse sistema, ge- ralmente em computadores, respeitando-se todas as regras e, condições reais a que o sistema está submetido. O modelo permite manipulações que seriam inviáveis no sistema real que ele representa, por causa do custo ou da impossibilidade de realizá-las. No mundo técnico e empresarial, simular significa fazer com que um sistema possa operar “como se fosse” real, para estudar melhor suas propriedades. 221 Segundo Daniel (2010) no enfoque empresarial, Simular significa fazer comque um sistema possa operar “como se fosse real”. A Simulação envolve a construção de um modelo aproximado da realidade, o qual será opera- do muitas e muitas vezes, analisando-se então seus resultados para que ele possa ser mais bem compreendido, manipulado e controlado. Notemos que a simulação é diferente de vários modelos, os quais conduzem a uma solução obtida por meios analíticos. Na prática, a simulação envolve frequentemente o uso de computadores. Aqui, é nosso objetivo, explorar o próprio conceito de simulação e, portanto, a precisão dos resultados, não será prioridade. Para obtermos maior confiabilidade de resultados, precisamos realizar um grande núme- ro de simulações do sistema em pauta, o que atualmente é perfeitamente possível com auxílio do computador. Aqui, para um melhor entendimento dessa teoria envolvendo simulação, nossas simu- lações serão manuais e limitadas, mas teremos um bom tratamento conceitual do assunto. Além de tudo, usaremos uma ferramenta particular para a simulação: o denominado Método de Monte Carlo, que veremos a seguir. Simulação Simulação Monte Carlo Fonte: elaborado pelo autor Figura 60 - Simulação Monte Carlo é uma ferramenta particular da Teoria da Simulação 222 5.2. Por quê Simular? Podemos enumerar uma série de razões a fim de justificarmos a empregabilidade da simu- lação em diversas áreas do conhecimento, especialmente na área da administração. Dentre elas, podemos destacar: - Por ser impossível ou muito oneroso observarmos diretamente certos processos do mundo real. - O sistema observado pode ser tão complexo que se torne impossível descrevê-lo em termos de um conjunto de equações matemáticas de solução analítica viável. - Mesmo sendo possível desenvolver um modelo matemático do sistema em foco, a sua solução pode ser muito trabalhosa e pouco flexível. Observação de processos (impossibilidade e/ou muito oneroso) Complexidade do Sistema Solução Trabalhosa e Pouco Flexível Fonte: elaborado pelo autor Figura 61 - Razões para utilização da simulação 5.3. Descrevendo as Vantagens da Simulação Segundo Daniel (2010) dentre as principais vantagens da utilização da simulação, podemos destacar: 223 - A simulação possibilita o estudo e a experimentação de complexas interações internas de um dado sistema, seja uma empresa ou parte de uma empresa. - Por meio da simulação podem ser estudadas algumas variações no meio ambiente e verificados seus efeitos em todo o sistema. - A experiência adquirida em construir os modelos e realizar a simulação pode levar a uma melhor compreensão do sistema, o que possibilita melhorá-lo. - A simulação de sistemas complexos pode fornecer valiosa introvisão no sentido de descobrir as variáveis mais importantes do sistema e a maneira como elas interagem. - A simulação pode ser usada para experiências com novas situações, sobre as quais se tem pouca ou mesmo nenhuma informação, no intuito de preparar a administração para acontecer. - A simulação pode servir como um primeiro teste para se delinearem novas políticas e regras de decisão para a operação de um sistema, antes de experimentá-las no sistema real. Estudo e Experimentação Estudo de Variações no Meio Ambiente Melhor Compreensão do Sistema Identificação das Variáveis Mais Importantes Utilização em Novas Experiências Primeiro Teste para Novas Estratégias Fonte: elaborado pelo autor Figura 62 - Vantagens do uso da simulação 5.4. Introduzindo o Método Monte Carlo Falando com um linguajar bastante simples, o nosso objetivo principal com a Teoria da Si- mulação é manter a atenção sobre as variáveis de interesse. Uma ou mais dessas variáveis deverão 224 ter seus valores numéricos simulados, enquanto o efeito dessa simulação sobre outras variáveis de interesse será mensurado. As variáveis cujos valores queremos simular são variáveis probabilísticas, ou seja, variáveis aleatórias que podem assumir um conjunto de valores, cada qual associado a uma determinada frequência de ocorrência ou probabilidade. Admitamos, para exemplificar, que queremos simular o comportamento de uma variável cujos valores numéricos possíveis e respectivas frequências são dados na tabela a seguir. Valor Frequência 4 0,15 7 0,15 8 0,38 13 0,25 14 0,07 Fonte: elaborado pelo autor Tabela 108 - Distribuição de frequências simples de uma variável hipotética. Sendo assim, devemos esperar que, na simulação, o valor 8 apareça mais vezes que o valor 13, por exemplo; devemos também esperar que os valores 4 e 7 apareçam aproximadamente o mesmo número de vezes. Isso é realmente o que irá acontecer se simularmos um número bastante grande de valores da variável. É muito importante notarmos que, na simulação da nossa variável pro- babilística na Tabela 31, nunca se sabe qual será o próximo valor a ser atribuído à variável, embora seja obrigatório que, ao longo do tempo, as frequências com que os valores aparecem devam ser concordantes com as frequências na tabela 108. Precisamos ter alguma abordagem para simular o comportamento ao acaso das variáveis probabilísticas de interesse. Essa abordagem deverá nos permitir que, dada uma distribuição de fre- quência, por exemplo, como citado na Tabela 31, possamos gerar valores da variável que, ao longo do processo de simulação, obedeçam à distribuição de frequências original. Uma das abordagens mais conhecidas, que usaremos nesta Unidade é o chamado Método Monte Carlo. 225 Conceito O Método de Monte Carlo consiste na geração artificial de valores das variáveis de interesse, com o auxílio de números ao acaso ou números aleatórios. A cada faixa de frequência, atribui- se uma faixa correspondente de números ao acaso, de uma forma que será mais bem entendida adiante. Por ora, vamos fixar nos números ao acaso. Grosso modo, o Método de Monte Carlo é um processo de operação de modelos estatísticos de modo a lidar experimentalmente com variáveis descritas por funções probabilísticas. Simulação Monte Carlo Geração Artificial de Valores Fonte: elaborado pelo autor Figura 63 - Distribuição de frequências simples de uma variável hipotética. Conceito Denominamos números ao acaso a qualquer sequência numérica em que os números são com- pletamente independentes entre si. Saber que um número ao acaso foi 5, por exemplo, não dá nenhuma indicação sobre o próximo número. Desta forma, observemos que números altos não são seguidos necessariamente por números altos e números baixos não são seguidos necessariamente por números baixos. A ocorrência de qualquer número é totalmente independente da ocorrência de outro. 226 Os números ao acaso são obtidos pelos chamados geradores de números ao acaso ou geradores de números aleatórios. Esses geradores de números são instrumentos, ferramentas ou procedimentos por meio dos quais números ao acaso podem ser determinados ou selecionados. O gerador pode ser de vários tipos. Vejamos alguns exemplos de geradores: a) Pedaços de papel numerados e colocados em um chapéu; b) Bolas numeradas colocadas em um recipiente; c) O lançamento de um dado ou um conjunto de dados; d) Uma sub-rotina de computador, etc. Números ao Acaso Geradores de Número ao Acaso Geradores de Números Aleatórios Simulação Monte Carlo Técnica para geração de valores aleatórios Método que utilizaremos Teoria da Simulação Caracterizar o comportamento de variáveis Variáveis Probabilísticas de Interesse Fonte: adaptado do autor por Design Unis EAD Figura 64 - Interpretação básica da Teoria de Simulação - nosso enfoque Para simulações feitas manualmente, com intuito didático, vamos usar uma Tabela de núme- ros aleatórios. Vejamos a Tabela 109 a seguir, que será usada em exemplos, exercícios e inclusive nos problemas propostos.Por uma questão de conveniência, a tabela é constituída de números com cinco dígitos, mas isso é arbitrário, ou seja, poderíamos construir a Tabela com números de um só 227 dígito, dois dígitos, três dígitos, etc. Na verdade, conceitualmente, os números ao acaso podem ser entendidos como sequências aleatórias dos dígitos 0,1, 2, 3, 4, 5, 6, 7, 8 e 9. Se tivéssemos dez bolas exatamente iguais, numeradas de 0 a 9, as colocássemos em um recipiente, a probabilidade de que saísse um dado dígito seria exatamente igual a 1/10; havendo reposição da bola que saiu, a retirada de um número qualquer não daria qualquer indicação do próximo número a sair e manteria a pro- babilidade de se retirar qualquer dígito em 1/10. Observe a Figura 65 a seguir. Fonte: elaborado pelo autor Figura 65 - Números ao acaso (aleatórios) Esse experimento poderia gerar os números aleatórios, que na prática são gerados por alguma sub-rotina de computador, por meio de determinadas distribuições de probabilidade. Uma 228 característica importante dos números aleatórios que aparecem na Figura 65 anteriormente é que eles podem ser lidos de qualquer forma que queira: de cima para baixo, de baixo para cima, da es- querda para a direita, da direita para a esquerda, erraticamente, e assim por diante. Computador Números Aleatórios Tabela de Números Aleatórios ( ) Fonte: adaptado do autor por Design Unis EAD Figura 66 - Geração de Números Aleatórios 5.5. A Utilização dos Números ao Acaso para Simular Para interpretarmos a utilização dos números ao acaso (ou aleatórios) na Teoria da Simula- ção, inicialmente vamos visualizar a seguinte situação. Exemplo 1: Retomemos os valores do Quadro 1, relativos a distribuição de frequências de uma variável hipotética. Esses valores são reproduzidos a seguir para facilitar a consulta; acrescentou-se uma coluna, contendo as frequências acumuladas, pois são úteis na atribuição de números ao acaso: 229 Valor Frequência Frequência acumulada 4 0,15 0,15 7 0,15 0,30 8 0,38 0,68 13 0,25 0,93 14 0,07 1,00 Fonte: adaptado do autor por Design Unis EAD Tabela 109 - Distribuição de frequências simples e acumuladas de uma variável hipotética. A cada uma das faixas de uma frequência mostradas, vamos atribuir um conjunto de números, compatível com a extensão da faixa. Assim, os conjuntos de números guardam entre si as mesmas relações que as faixas de frequências. Os conjuntos de números guardam entre si as mesmas relações que as faixas de frequências. Façamos da seguinte maneira: vamos atribuir 15 números ao valor 8, 25 números ao valor 13 e 7 números ao valor 14. Esses números são diretamente proporcionais às frequências exibidas pelos valores da variável. A coluna de frequências acumuladas nos auxilia a tomar esses números em sequência, começando em 00 e terminando em 99. Assim, se atribuirmos ao valor 4 da variável os números 00 a 14, deveremos atribuir ao valor 7 os valores de 15 a 29, e assim por diante. A Tabela 34 repete dados anteriores e apresenta os números atribuídos. 230 Valor Frequência Frequência acumulada Números atribuídos 4 0,15 0,15 00 a 14 7 0,15 0,30 15 a 29 8 0,38 0,68 30 a 67 13 0,25 0,93 68 a 92 14 0,07 1,00 93 a 99 Fonte: adaptado do autor por Design Unis EAD Tabela 110 - Distribuição de frequências simples e acumuladas de uma variável hipotética. Vamos agora fazer 40 rodadas de simulação, ou seja, vamos simular 40 valores da vari- ável. Na realidade, em termos práticos, realizar 40 rodadas de simulação é muito pouco: traba- lhando com computadores é comum termos rodadas de centenas, milhares ou mesmo dezenas de milhares de simulações de valores das variáveis de interesse. Para as nossas rodadas, tomemos algarismos de dois dígitos na tabela de números alea- tórios, de forma que seja simples o acompanhamento. Para ilustrarmos a liberdade em tomar os números, façamos da seguinte forma: vamos escolher números da primeira coluna à esquerda, tomando o segundo e o terceiro números (da esquerda para a direita) em cada linha. Sendo as- sim, percebemos que o primeiro número é 94; o segundo, 57; o terceiro, 53 e assim por diante. Terminando a primeira coluna, recomecemos com a segunda. Os resultados estão na Figura 67 a seguir, na qual já foi colocado, ao lado do número obtido na Figura 65, o valor correspondente da variável. 231 Fonte: elaborado pelo autor Figura 67 - Resultados de 40 rodadas de simulação É interessante ainda compararmos a média obtida com as 40 rodadas de simulação (8,75) com a média real, que podemos calcular a partir da distribuição de frequências: Média real = 4 x (0,15) + 7 x (0,15) + 8 x (0,38) + 13 x (0,25) + 14 x (0,07) = 8,92 A média real é um pouco superior à média obtida com as simulações; podemos verificar por si mesmo por que isso acontece, examinando o Quadro 4, que dá as frequências originais dos valores da variável ao lado das frequências obtidas com a simulação. Claramente, a simula- 232 ção atribuiu frequências maiores que os reais aos valores mais baixos da variável. Valor Frequência Real Frequência Simulada 4 0,15 0,30 7 0,15 0,05 8 0,38 0,325 13 0,25 0,175 14 0,07 0,15 Fonte: adaptado do autor por Design Unis EAD Tabela 111 - Comparação das frequências reais e simuladas Exemplo 2: Vamos agora trabalhar com um exemplo em que as frequências podem ser obtidas de maneira teórica, antes mesmo de se fazer qualquer experimento. Conhecendo essas frequ- ências, faremos à atribuição de faixas de números e simularemos 50 rodadas. Imaginemos um experimento no qual se faz o lançamento de dois dados de forma simultânea. Cada dado tem seis faces, numeradas de 1 a 6; se os dados não forem viciados, a probabilidade de se retirar qualquer um dos seis números no lançamento será a mesma. Vamos tomar a soma dos dois dados. O menor valor obtido será a soma 2, que ocorre quando os dois dados dão o mesmo número 1 (e só nessa eventualidade); o maior valor será a soma 12, quando ambos os dados saírem com um 6 (e só nessa eventualidade). Por outro lado, a soma 3 tanto pode resultar de o primeiro dado sair com o número 1 e o segundo com o número 2, como o inverso. Algumas somas serão mais frequentes que outras, porque advêm de um maior número de possibilidades de combinação de números. O Quadro 5 a seguir nos mostra todas as combinações possíveis no lançamento de dois dados, designados como A e B. 233 Dado A Dado B Soma Dado A Dado B Soma Dado A Dado B Soma 1 1 2 3 1 4 5 1 6 1 2 3 3 2 5 5 2 7 1 3 4 3 3 6 5 3 8 1 4 5 3 4 7 5 4 9 1 5 6 3 5 8 5 5 10 1 6 7 3 6 9 5 6 11 2 1 3 4 1 5 6 1 7 2 4 4 2 6 6 2 8 2 3 5 4 3 7 6 3 9 2 4 6 5 4 8 6 4 10 2 5 7 4 5 9 6 5 11 2 6 8 4 6 10 6 6 12 Fonte: adaptado do autor por Design Unis EAD Tabela 112 - Resultados e somas possíveis nos lançamentos de dois dados não viciados Como podemos visualizar, existem 36 possibilidades de soma no lançamento, correspondendo a todas as combinações numéricas; como já foi dito anteriormente, a maioria dos valores de soma aparece mais de uma vez. Olhando mais uma vez para a Tabela anterior, podemos montar sem dificuldades a Tabela 38 abaixo, que sintetiza os resultados, mostrando as frequências de cada soma e as respectivas frequências acumuladas. Todavia, não sendo estritamente necessário, no Quadro 6 calculamos as frequências acumuladas até em milésimos, o que nos permitiu, com facilidade, atribuir os números correspondentes para iniciar a simulação. Notemos que agora precisamos de números com três dígitos. 234 Valor Frequência Real Frequência Acumulada Frequência Acumulada (milésimos) Faixa de Números atribuída 2 1/36 1/36 0,028 000 – 027 3 2/36 3/36 0,056 028– 055 4 3/36 6/36 0,177 056 – 176 5 4/36 10/36 0,278 177 – 277 6 5/36 15/36 0,417 278 – 416 7 6/36 21/36 0,583 417– 582 8 5/36 26/36 0,722 583 – 721 9 4/36 30/36 0,833 722 – 832 10 3/36 33/36 0,917 833 – 916 11 2/36 35/36 0,972 917 – 971 12 1/36 36/36 1,000 972 – 999 Fonte: adaptado do autor por Design Unis EAD Tabela 112 - Resultados possíveis e probabilidades no lançamento de dois dados. Façamos agora 50 rodadas de simulação, utilizando a penúltima coluna de números ao acaso da Tabela 32 (a décima coluna, a contar da esquerda, ou a segunda, a contar da direita). Vamos ler algarismos formados pelo segundo, terceiro e quarto dígitos da coluna, de cima para baixo. Terminando essa penúltima coluna, reiniciaremos a leitura na última coluna (a primeira, da direita para a esquerda), procedendo de forma idêntica, até completar as 50 rodadas. O aluno pode verificar que os primeiros números são 813, 410, 198, e assim por diante. Os resultados estão na figura a seguir: 235 Fonte: elaborado pelo autor Figura 68 - Resultados de 50 rodadas de simulação. Podemos verificar a proximidade entre a média real da soma (7) e a média simulada (7,34). A tendência é de que esses valores se aproximem ainda mais, à medida que aumente o número de rodadas de simulação. 5.6. Alguns Casos Interessantes Envolvendo a Teoria da Simulação A partir dos conceitos preliminares (simples) de simulação esperamos agora utilizá-los a al- guns casos importantes. Em verdade, vamos agora aplicar esses conceitos a dois casos que merecem destaque: a simulação a partir de uma distribuição teórica de probabilidade e a simulação simultânea de duas variáveis. 236 MétodoCasos Casos Particulares da Simulação Simulação via Distribuição Teórica de Probabilidade Simulação Simultânea de Duas Variáveis Fonte: adaptado do autor por Design Unis EAD Figura 69 - Casos interessantes envolvendo a Simulação 5.6.1 Simulação a Partir de Uma Distribuição Teórica Uma das distribuições discretas mais importantes na Teoria das Filas é a Distribuição de Poisson (que é uma distribuição discreta de probabilidade), motivo pelo qual a escolhemos para exemplificar como se pode simular a partir de uma distribuição teórica. Embora estejamos traba- lhando com uma distribuição discreta, devemos salientar que é possível (e bastante comum) empre- ender simulações a partir também de distribuições contínuas de probabilidade (como por exemplo, com a Distribuição Normal de Gauss). (DISTRIBUIÇÃO DE POISSON) Segundo Medeiros (2010) a Distribuição de Poisson pode ser usada para determinar a probabilidade de um dado número de sucessos quando os eventos ocorrem em um continuum de tempo ou espaço. Tal processo, chamado de processo de Poisson, é si- mular ao processo de Bernoulli (Ver Referência 3), exceto que os eventos ocorrem em um continuum ao invés de ocorrerem em tentativas ou observações fixadas. Um exemplo de tal processo é a chegada de chamadas de uma central telefônica. Vejamos mais alguns exemplos de processos de Poisson: - Chamadas telefônicas por unidade de tempo; - Defeitos por unidade de área; - Acidentes por unidade de tempo; - Chegada de clientes a um 237 supermercado por unidade de tempo; - Número de glóbulos sanguíneos visíveis ao microscópio por unidade de área; Exemplo 3: A chegada de clientes à bilheteria de um teatro obedece a uma distribuição de Poisson com taxa de 1,2 cliente por minuto. Empreender 50 minutos de simulações, verificando quantos clientes chegam a cada minuto. Solução: Se denominarmos de k ao número de clientes que chegam ao caixa em cada minuto, temos que: (l) P(k) = k! n k e -n Que é a expressão (ou fórmula) que dá a probabilidade de k sucessos em um intervalo t (tempo, área,...), onde: µ = 1,2 cliente por minuto, e = 2,7183.... (constante de Euler) Para simularmos, é preciso antes calcular a probabilidade associada a cada um dos valores pos- síveis de k; embora, em princípio, o valor de k possa crescer indefinidamente, na prática apenas poucos valores terão probabilidades significativas. Aplicando a Equação (I) podemos montar a tabela a seguir, em que já foram colocadas as probabilidades acumuladas e as faixas de números correspondentes, para permitir a simulação. k P(k) Probabilidades Acumuladas Faixa de Números atribuída 0 0,301 0,301 000 – 300 1 0,361 0,662 301 – 661 2 0,217 0,879 662 – 878 3 0,087 0,966 879 – 965 4 0,026 0,992 966 – 991 5 0,006 0,998 992– 997 6 0,002 1,000 998 – 999 Fonte: adaptado do autor por Design Unis EAD Tabela 113 - Cálculo de probabilidade (Poisson) 238 Vamos empreender agora a simulação do comportamento da chegada ao caixa durante 50 minutos, tomando os números ao acaso a partir da terceira coluna, da esquerda para a direita. Em cada linha, serão tomados os três últimos números. Terminando a terceira coluna, serão tomados os números da quarta, e assim por diante. Os resultados estão na figura a seguir. Fonte: elaborado pelo autor Figura 69 - Cinquenta rodadas de simulação a partir da distribuição de Poisson Fizemos a soma dos valores do número de clientes que chegam em cada minuto (61); repare- mos que a média de clientes que chegam ao caixa em cada minuto (1,22) aproxima-se bastante da média da Poisson (1,2). Devemos observar que à medida que aumentar o número de roda- das, esses valores tendem a se aproximar cada vez mais. 5.6.2. Simulação Simultânea de Duas Variáveis O exemplo que discutiremos aqui, referente à parte da Simulação Simultânea de Duas Vari- áveis, foi inspirado no estudo de caso da Giftware Company, apresentado por Barry Shore, no livro 239 Quantitative Methods for Business decisions: Text and cases (1978, p.355-360). Exemplo 4: Para certo projeto, cuja duração é de um ano e cujo investi- mento inicial é de R$200.000,00, são conhecidas as distribuições de fre- quências da receita e da despesa ao final do ano. Essas distribuições são apresentadas, respectivamente, na tabela 114 e na tabela 115 a seguir, nas quais já foram calculadas as frequências acumuladas e já foram atribuídas as faixas de números para simulação. Definamos o Coeficiente de Benefício/Custo como o quociente do lucro ao final de um ano dividido pelo investimento inicial. Sendo assim, vamos determinar a distribuição de frequências desse coeficiente, tomando como base 40 rodadas de simulação, como mostrada na Figura 70 a seguir. Receita Frequência estimada Frequência Acumulada Faixa de Números 800.000 0,20 0,20 00 – 19 700.000 0,40 0,60 20 – 59 600.000 0,25 0,85 60 – 84 500.000 0,15 1,00 85 – 99 Fonte: adaptado do autor por Design Unis EAD Tabela 113 - Distribuição de frequências da receita Receita Frequência estimada Frequência Acumulada Faixa de Números 400.000 0,10 0,10 00 – 09 500.000 0,40 0,50 10 – 49 600.000 0,30 0,80 50 – 79 700.000 0,20 1,00 80 – 99 Fonte: adaptado do autor por Design Unis EAD Tabela 114 - Distribuição de frequência da despesa 240 Fonte: elaborado pelo autor Figura 70 - Cinquenta rodadas de simulação a partir da distribuição de Poisson Solução: Para determinarmos a distribuição de frequências do Coeficiente de Benefício/Custo, faremos 40 rodadas de simulação, tanto da receita como da despesa. A diferença entre essas duas quantidades nos dará o lucro que, dividido pelo investimento inicial (que é de R$200.000,00), fornecerá o Coeficiente de Benefício/Custo. A análise dos diferentes valores do coeficiente nos dará a sua distribuição de frequências. A Figura 13 acima apresenta os resultados. O número ao acaso para a geração da receita foi obtido a partir da primeira linha de cima para baixo, de maneira contínua, tomando-se os quatro últimos dígitos da coluna, de dois em dois. Para a ge- ração da despesa, foi tomadaa primeira linha de baixo para cima, também de maneira contínua, 241 de dois em dois dígitos. Finalmente, vemos que o Coeficiente de Benefício/Custo varia entre os valores -0,4 e 0,33, com a distribuição consolidada que mostramos na tabela abaixo. Devemos salientar que a frequência é obtida dividindo-se o número de ocorrência por 40. Coeficiente de Benefício/Custo Número de Ocorrências Frequência - 0,4 1 0,025 - 0,2 1 0,025 - 0,17 2 0,05 0 6 0,15 0,125 2 0,05 0,14 4 0,1 0,17 4 0,1 0,25 6 0,15 0,29 7 0,175 0,33 4 0,1 0,375 3 0,075 Total 40 1,000 Fonte: adaptado do autor por Design Unis EAD Tabela 115 - Distribuição de frequência da despesa Desta forma, notemos que a faixa de valores é relativamente ampla, e o Coeficiente Média é de 0,163. Vejamos agora mais algumas aplicações simuladas resolvidas, envolvendo os tópicos discutidos anteriormente relacionando a Teoria da Simulação. Aplicação Prática 1: Em um determinado dia da semana, chegam em média, a um guichê de pedágio localizado na rodovia Fernão Dias, a quantidade de1,8 carro por minuto. Admitindo 242 que a chegada de carros ao guichê obedeça a uma distribuição de Poisson, realizar uma simu- lação abrangendo 60 minutos de operação de guichê. Solução: Devemos simular o número de carros que chegam a cada minuto, durante o intervalo de 60 minutos, obedecendo a uma distribuição de Poisson: P(k) = k! n k e -n Onde: k = número de carros chegando ao guichê em um dado minuto µ = 1,8 carro por minuto e = 2,7183 O número k pode, teoricamente, assumir valores desde 0 (zero) até qualquer número positi- vo inteiro que se queira, mas na prática existe um limite a partir do qual podemos considerar P(k) = 0. A tabela a seguir mostra os valores de k e as respectivas probabilidades e probabili- dade acumuladas conforme tabela abaixo. k P(k) Probabilidades Acumuladas Faixa de Números atribuída 0 0,165 0,165 000 – 164 1 0,298 0,463 165 – 462 2 0,268 0,731 463 – 730 3 0,161 0,892 731 – 891 4 0,072 0,964 892 – 963 5 0,026 0,990 964– 989 6 0,008 0,998 990 – 997 7 0,002 1,000 998 – 999 Fonte: adaptado do autor por Design Unis EAD Tabela 116 - Valores de k e as respectivas probabilidades 243 Número ao acaso Número de carros chegando ao guichê Número ao acaso Número de carros chegando ao guichê Número ao acaso Número de carros chegando ao guichê 294 1 130 0 561 2 079 0 021 0 038 0 904 4 518 2 784 3 977 5 831 3 646 2 766 3 205 1 894 4 177 1 700 2 254 1 258 1 758 3 019 0 112 0 425 1 825 3 037 0 490 2 766 3 314 1 920 1 003 0 858 3 664 2 449 1 175 1 953 4 661 2 092 0 806 3 198 1 427 1 544 2 831 3 781 3 108 0 696 2 881 3 040 0 049 0 395 1 530 2 923 4 837 3 536 2 353 1 395 1 073 0 389 1 711 2 767 3 959 4 Fonte: adaptado do autor por Design Unis EAD Tabela 117 - Números ao acaso da aplicação Podemos agora agrupar os diversos números de carros chegando ao guichê e calcular suas frequências relativas. Se considerarmos que as frequências obtidas com o auxílio da distribuição de Poisson são as esperadas e, que foram conseguidas com a simulação, foram realmente às obtidas, podemos montar a tabela a seguir, que faz a comparação entre elas, conforme tabela a seguir. 244 Número de carros chegando ao guichê Frequência esperada Frequência obtida por simulação 0 0,165 0,217 1 0,298 0,267 2 0,268 0,200 3 0,161 0,217 4 0,072 0,083 5 0,026 0,017 6 0,008 0 7 0,002 0 Fonte: adaptado do autor por Design Unis EAD Tabela 118 - Caracterização das frequências na simulação Notemos que a média obtida com a simulação foi de 1,735, bastante próxima à média real, que era de 1,8 carro por minuto. Aplicação Prática 2: Uma determinada empresa planeja o lançamento de um produto, o qual é cercado de diversos elementos de risco. Assim, a demanda dos primeiros seis meses é probabilística, não havendo no mercado um similar perfeito que permita uma previsão com total segurança; o custo unitário de produção também é cercado de indefinições, pois certos detalhes de projetos, que influenciam diretamente no custo, não estão ainda disponíveis. Final- mente, em parte pelas indefinições no custo e em parte por falta de pesquisas de mercado, também o preço de venda pelo qual o produto poderá ser vendido não pode ser conhecido com precisão. As distribuições de probabilidade estimadas para a demanda, o custo unitário de produção e o preço de venda são apresentados a seguir nos Quadros 119, 120 e 121. Nesses quadros, já foram computadas as probabilidades acumuladas e foram atribuídas as faixas de números para simulação. 245 Demanda (unidades) Probabilidade Probabilidade Acumulada Faixa de números 50.000 0,15 0,15 00 – 14 100.000 0,25 0,40 15 – 39 150.000 0,35 0,75 40 – 74 200.000 0,25 1,00 75 – 99 Fonte: adaptado do autor por Design Unis EAD Tabela 118 - Distribuição de probabilidade da demanda dos primeiros seis meses Custo Unitário (R$) Probabilidade Probabilidade Acumulada Faixa de números 70 0,20 0,20 00 – 19 90 0,40 0,60 20 – 59 120 0,40 1,00 60 – 99 Fonte: adaptado do autor por Design Unis EAD Tabela 119 - Distribuição de probabilidade do custo unitário Preço de Venda (R$) Probabilidade Probabilidade Acumulada Faixa de números 120 0,10 0,10 00 – 09 130 0,20 0,30 10 – 29 140 0,40 0,70 30 – 69 150 0,30 1,00 70 – 99 Fonte: adaptado do autor por Design Unis EAD Tabela 121 - Distribuição de probabilidade do preço de venda Sabendo-se que o lançamento do produto implica também um investimento fixo de R$ 5.000.000,00 determinar o lucro médio esperado para os seis primeiros meses de venda do produto, usando para isso 20 rodadas de simulação. Solução: Inicialmente, notemos que o lucro derivado da venda do produto será dado por: Lucro = Receita total – custo de produção – investimento inicial 246 Por outro lado: Receita total = (demanda) (preço de venda) Custo de produção total = (demanda) (custo unitário de produção) Logo, Lucro = (demanda) (preço de venda) – (demanda) (custo unitário de produção) – investimento inicial = demanda (preço de venda – custo unitário de produção) – investimento inicial A cada rodada, devemos tomar três números ao acaso: um para simular a demanda, outro para simular o custo unitário e o último para simular o preço de venda. Esses números foram assim tomados: - Para simular a demanda: o segundo e terceiro número de cada coluna, na terceira e na quarta linha, de cima para baixo. - Para simular o custo unitário de produção: o segundo e o terceiro número de cada coluna, na quinta e na sexta linha, de cima para baixo. - Para simular o preço de venda: o segundo e o terceiro número de cada coluna, na sétima e na oitava linha, de cima para baixo. Os resultados das 20 rodadas de simulação estão no Tabela 122 a seguir. 247 (1) Número ao acaso (2) Demanda (unidades) (3) Número ao acaso (4) Custo Unitário (R$) (5) Número ao acaso (6) Preço de Venda (R$) (7) = (6 – 4) x (2) – 5.000.000,00 Lucro (R$) 53 150.000 05 70 63 140 5.500.000 37 100.000 10 70 48 140 2.000.000 61 150.000 90 120 20 130 - 3.500.000 78 200.000 04 70 24 130 7.000.000 68 150.000 93 120 94 150 - 500.000 54 150.000 94 120 88 10 - 500.000 82 200.000 48 90 98 150 7.000.000 60 150.000 86 120 60 140 - 2.000.000 49 150.000 81 120 16 130 - 3.500.000 19 100.000 67 120 02 120 - 5.000.000 16 100.000 75 120 98 150 - 2.000.000 49 150.000 90 120 52 140 - 2.000.000 35 100.000 02 70 06 120 0 99 200.000 28 90 85 150 7.000.000 24 100.000 27 90 85 150 1.000.000 66 150.000 62 120 05 120 0 24 100.000 53 90 74 150 1.000.000 57 150.000 61 120 99 150 - 500.000 04 50.000 48 90 19 130 2.000.000 76 200.000 36 90 86 150 7.000.000 Soma 20.000.000 Lucro Médio 1.000.000 Fonte: adaptado do autor por Design Unis EAD Tabela 122 - Resultados de 20 rodadas de simulação:lançamento de um produto O lucro total, para as 20 rodadas de simulação, é de R$20.000.000,00; logo, o lucro médio será de 20.000.000/20 = R$1.000.000,00. Considerando-se o investimento fixo de R$ 5.000.000,00, o lucro médio representa uma taxa de retorno mensal, para os seis primeiros meses, de 20%. É fato que 20 rodadas de simulação é muito pouco e vale apenas como ilustração. Devemos salientar, que se você realizar as suas próprias 20 rodadas, poderá encontrar uma taxa substan- cialmente diferente da que encontramos. (Tente fazer!) 248 5.7 Introduzindo a Teoria das Filas Nesta seção, apresentamos alguns conceitos fundamentais acerca do fenômeno das filas de espera. Esse fenômeno é muito conhecido de todos nós, embora, para o presente estudo, tenhamos de ampliar a nossa noção do que seja uma fila, como poderemos ver a posteriori. Além de definir e comentar esses conceitos fundamentais, também será feita uma intro- dução à chamada Teoria das Filas. A Teoria das Filas é um corpo de conhecimentos matemáticos, aplicado ao fenômeno das filas. É um campo de conhecimento em constante evolução, aplicando-se continuamente a mais e mais situações envolvendo filas. É também um campo de trabalho, no qual muitos profissionais de Pesquisa Operacional acabam por se especializar. Conceito Teoria de Filas – trata de problemas de congestionamento de sistemas, cuja característica prin- cipal é a presença de “clientes” solicitando “serviços” de alguma maneira. 5.8 As Filas de Todo Dia? O que são e como se Comportam? Inicialmente, ressaltamos que todos nós estamos acostumados a esperar em filas, por exem- Fonte: Istock.com Figura 71 - Introduzindo a Teoria das Filas Fonte: Istock.com Figura 72 - Introduzindo a Teoria das Filas 249 As filas são ocorrências extremamente comuns em nossos dias. Gostando ou não, temos de conviver com elas. plo, para: - Pagar as compras em um supermercado; - Pagar contas; - Descontar um cheque em um banco; - Comprar entradas para o cinema ou teatro, passar por pedágios, e assim por diante. Não apenas as pessoas passam por filas; nas indústrias, produtos e peças podem estar aguardando processamento. - Navios podem estar aguardando sua vez para entrar em portos; - Aviões podem estar aguardando autorização para aterrissar; - Cartas podem estar esperando sua vez de serem entregues aos destinatários, etc. A palavra Fila será aqui usada para designar todas essas situações, em que pessoas aguardam atendimento ou objetos (ou outra coisa qualquer) aguardam sua vez de processamento, dando-se à palavra processamento um sentido bem amplo (aterrissar um avião, tornear uma peça, atracar um navio etc., tudo isso pode ser considerado “processamento”). Para facilitar a comunicação, vamos falar simplesmente de clientes, de filas, de postos de atendimento ou de serviço e de prestação de serviços, sempre com sentidos bem amplos. Usualmente, as pessoas associam a presença de filas a um excesso de demanda de um servi- ço sobre a capacidade de atendimento. Em outras palavras, há mais clientes a atender do que postos de serviço para o atendimento. É claro que isso é verdade, mas não é toda a verdade. Desta forma, surge naturalmente a seguinte indagação: Como se forma uma fila? Simples- 250 mente porque a capacidade de atendimento é insuficiente? Nem sempre. Às vezes, em teoria a capacidade de atendimento é o bastante, mas a própria dinâmica das coisas leva à formação de filas. Não é difícil ver como isso acontece. Vejamos a seguinte situação bem simples: imaginemos, por exemplo, que a secretária de uma escola, esteja atendendo alunos que fazem suas matrículas num dado curso. Vamos assumir um só guichê de atendimento, o que facilita o raciocínio. Digamos que o tempo para atender a um aluno seja de exatamente 5 minutos, invariável de um aluno a outro. Vamos supor que, em média, chegue um aluno a cada 8 minutos para ser atendido. Percebemos que, também em média, o atendente do guichê estará ocupado na fração de do tempo e terá (8 – 5) = 3 minutos de ociosidade a cada 8 minutos. Em outras palavras, ele estará ocupado 62,5% do tempo e ocioso nos 37,5% restantes. É inegável que há capacidade de sobra para o atendimento. É possível concluirmos que não se formará uma fila? Infelizmente, a fila é possível, mesmo com a folga no atendimento. Basta que, enquanto um aluno se encontre no guichê, sendo atendido, cheguem mais dois ou três, isto é, basta que os tempos entre a chegada de um aluno e a de outro sejam de 1 minuto, 2 minutos, 3 minutos, etc., podendo outras vezes ser de 6 minutos, 11 minutos. Assumimos que chegava um aluno a cada 8 minutos é que é responsável pela formação da fila. Similarmente, o próprio tempo de atendimento (que supúnhamos de 5 minutos, fixos) pode ser variável em torno de uma média. Está aí mais uma fonte da formação de filas. Resumindo, podemos dizer que a fila não se forma tão-somente por um problema de ca- pacidade de atendimento, mas também devido à variabilidade tanto no intervalo entre chegadas de clientes como no tempo de atendimento desses clientes. 251 Estabelecimento de uma Política de Atendimento ao Público Estudo de um Sistema de Almoxarifados Estudo da Operação de um Centro de Processamento de Dados Determinação de Equipes de Manutenção em Grandes Instalações Estudo da Operação de Caixas (bancos, supermercados, etc.) Estudo e Programação de Linhas de Montagem Programação de Tráfego Aéreo em Aeroportos Determinação de Capacidade em Páteos de Estacionamento Tempo de Espera em Comunicações Telefônicas Fonte: adaptado do autor por Unis Design EAD Figura 73 - Algumas aplicações da Teoria de Filas na área da administração A Figura 74 abaixo relaciona as causas que influenciam direta e indiretamente no apareci- mento das Filas do dia-a-dia. CausasAparecimento Filas Problema de Capacidade de Atendimento Variabilidade no Intervalo de Chegada de Clientes Tempo de Atendimento desses Clientes Fonte: adaptado do autor por Unis Design EAD Figura 74 - Fatores que determinam o aparecimento das filas Sendo assim, poderíamos fazer a seguinte indagação: O que acontece se os clientes chegarem em intervalos fixos de tempo e forem atendidos em um intervalo de tempo fixo? Isto é, o que se passa se não houver variabilidade, no intervalo entre che- gadas e no tempo de atendimento? Para respondermos tal indagação, vamos considerar alguns casos: - Caso 1: A taxa de chegada é maior que a taxa de atendimento – Neste caso, se houver um só posto de atendimento, a tendência é de a fila se tornar cada vez maior; o número de postos de atendimento é, evidentemente, função das magnitudes das taxas de chegada e de atendimento. 252 - Caso 2: A taxa de chegada é igual à taxa de atendimento – Agora, não haverá fila, exceto se já exis- te no início do atendimento; nessa hipótese, essa fila inicial vai se manter com tamanho constante. - Caso 3: A taxa de chegada é inferior à taxa de atendimento – Nesse último caso, não havendo fila inicial, ela nunca será formada; o posto estará sempre disponível para o atendimento. Entretanto, se houver uma fila formada já no início do atendimento, o seu esgotamento irá consumir certo tempo; após o esgotamento, o posto estará sempre disponível para o atendimento. Esse caso merece uma elaboração um pouco melhor, que trataremos de início com um exemplo numérico. Vamos retomar o caso, que vimos ainda há pouco, da secretária de uma escola em que o atendimento a um aluno demora 5 minutos e chega um aluno a cada 8 minutos. Suponhamos agora que esses tempos são fixos. Admitamos também que, quando da abertura do guichê, cinco alunos já estavam em fila, aguardando atendimento.Como as taxas são fixas e atende-se mais rapidamente do que os alunos possam chegar, haverá um momento em que a fila deixará de existir; o atendimento aos alunos que estavam origi- nalmente na fila coexiste com a chegada de novos alunos. Observe a tabela 123 a seguir, na qual a primeira coluna marca o tempo decorrido desde a abertura do guichê; os tempos são múltiplos de 5 e 8 minutos, para mostrar tanto o atendimento como a chegada de novos alunos. A segunda co- luna marca o número acumulado de alunos que chegam para o atendimento e, finalmente, a última coluna marca o número de alunos remanescentes na fila. 253 Tempo (em minutos) (a) Alunos atendidos (acumulado) (b) Alunos que chegam (acumulado) (c) Alunos remanescentes na fila (5 + b – a) 0 0 0 5 5 1 0 4 8 1 1 5 10 2 1 4 15 3 1 3 16 3 2 4 20 4 2 3 24 4 3 4 25 5 3 3 30 6 3 2 32 6 4 3 35 7 4 2 40 8 5 2 45 9 5 1 48 9 6 2 50 10 6 1 55 11 6 0 Fonte: adaptado do autor por Unis Design EAD Tabela 123 - Variação do tamanho da fila (taxa de chegadas e atendimento constantes) Desta forma, podemos verificar que o tempo total de 55 minutos é gasto antes que se es- gote a fila. 5.9 Um Balanço sobre os Custos de Atender e de Não Atender Segundo Daniel (2010) filas precisam ser gerenciadas, ou seja, alguém tem de mantê-las sob controle. Desta forma, surgem naturalmente, algumas perguntas que os gerentes e/ou gestores querem que de toda forma sejam respondidas, tais como: 254 a) As áreas destinadas às filas são adequadas? Ou atrapalham de alguma forma, o bom andamento dos serviços ou a movimentação de pessoas ou objetos? b) Será conveniente introduzir certas prioridades para certos tipos de clientes? (É comum aos ban- cos, por exemplo, deixarem caixas separados para clientes designados como especiais e/ou para clientes com alta probabilidade de demandar um tempo de atendimento muito grande, como office -boys e mensageiros. É também comum o atendimento preferencial a idosos e gestantes, por força de lei ou de política interna de atendimento das atendimento das instituições). O melhor atendimento leva quase sempre a custos maiores, que surgem por causa de um treinamento melhor para as pessoas, pelo uso maior da tecnologia da informação, pela multiplicação de postos de trabalho ou ainda pela compra de máquinas e equipamentos mais sofisticados e, even- tualmente, de melhor qualidade. Vale a pena incorrer nesses custos? Talvez sim, se estiver ocorrendo uma grande perda de clientes por causa do não-atendimento e da presença das filas. Sejamos mais preciosos nesse raciocínio. Para isso, observemos a Figura 19 abaixo: nas abscissas, está a medida do nível de serviço e, nas ordenadas, três medidas diferentes de custos, dando como resultado três curvas diferentes. Estamos designando por nível de serviço a excelência maior ou menor do atendimento. Em outros termos: quanto maior o nível de serviço, melhor o atendimento (o cliente demora menos tempo na fila, o tempo de atendimento no próprio posto de serviço é menor etc.). Vejamos a reta intitulada Custo de Atendimento; é uma reta ascendente, indicando que, quanto melhor o atendimento, maior o custo. Já a curva Custo da Fila indica os custos associados à existência de filas. O Custo da Fila refere-se principalmente: 1. À receita direta perdida devido aos clientes que simplesmente vão embora por causa das filas ou da relativa incapacidade de atendimento; 2. À receita indireta perdida por causa de desgaste da boa imagem da instituição ou sua associação 255 com ineficiência ou mau atendimento. De qualquer forma, é de se esperar que, quanto melhor o nível de serviço, menor seja o custo da fila, já que as esperas e o tempo de atendimento tendem a diminuir. Nível de serviço C us to s Custo da fila Fonte: adaptado do autor por Unis Design EAD Figura 75 - Balanço entre os custos de atender e não atender Se, para cada nível de serviço particular, forem somados os valores do Custo de Aten- dimento e do Custo da Fila, teremos a terceira curva, a do Custo total, que representa um ba- lanço entre o atendimento e o não-atendimen- to (de forma relativa). Notemos que a curva do Custo Total apresenta um mínimo, que cor- responde, é claro a um certo nível de serviço. Teoricamente, é esse nível de serviço que deve ser buscado, se apenas as considerações de custo formar o critério de decisão. Na prática, nem sempre é muito fácil estimar os custos, principalmente o custo da fila. Além disso, às vezes a decisão de melhorar o nível de serviço nasce de outros fatores, apenas indiretamente ligados a custos, tais como a falta de espaço para suportar filas ou o mero desejo de evitar a visão um tanto quanto embaraçosa de aglomerações. Custo de Atendimento Custo da Fila Custo Total Fonte: adaptado do autor por Unis Design EAD Figura 76 - Custo de atendimento + Custo da Fila = Custo Total 256 5.10 Mas, afinal como é a Estrutura de Uma Fila? Uma fila como vimos anteriormente, é o resultado de uma situação em que clientes (que não precisam ser apenas pessoas, lembre-se) chegam para o atendimento e, eventualmente, têm de esperar, pois o posto de atendimento pode estar ocupado. A Teoria das Filas é um conjunto de conceitos e de modelos matemáticos utilizados para analisar as filas (pouco a pouco, entenderemos bem o que queremos dizer com a palavra analisar). Existem muitos tipos diferentes de filas, definidos por meio de algumas hipóteses que fazemos sobre o comportamento da realidade. A Teoria das Filas é um ramo extenso da Pesquisa Operacional; já em 1957 um pesquisador chamado A.Doig tinha identificado cerca de 700 artigos em revistas internacionais, sobre a Teoria das Filas. Ora, quase 50 anos depois, com o advento do microcompu- tador – que facilitou o trabalho com modelos mais complexos, e contando-se livros, atas de confe- rências em Pesquisa Operacional, artigos de revistas etc., seria difícil e provavelmente inútil também citar toda a bibliografia ou mesmo contar o número de itens. Evidentemente, existem as obras clássicas e os autores mais conhecidos, com os quais os profissionais de Teoria das Filas estão acos- Teoria de Filas – Conceitos e métodos matemáticas Teoria de Filas – ramo extenso da PO Crescimento no meio empresarial para envolvendo problemas de congestionamento Teoria de Filas (1957) – identificação de diversos artigos relacionados tumados. Só queremos registrar aqui a extensão da área conhecida por Teoria das Filas. Não obstante, podemos apre- sentar os principais elementos das filas e conceituá-los a partir de um modelo muito simples. Mais tarde, o modelo irá receber certos retoques e complemen- tos, de forma que ao final da Unidade possamos ter uma ideia razoavelmente sólida sobre as filas e a Teoria das Filas. Agora, vamos apresentar o mo- delo de uma Fila Simples. Fonte: adaptado do autor por Unis Design EAD Figura 77 - Informações diversass sobre a Teoria de Filas 257 5.11 Um Modelo de Uma Fila Simples A situação típica, mais simples possível, que resulta na formação de uma fila, é a que apre- sentamos na Figura 78 abaixo. Fonte de Clientes Chegada de Clientes Processo de Seleção Posto de Atendimento Saída de clientes Comportamento de chegada Critério de seleção Comportamento de atendimento Fonte: adaptado do autor por Unis Design EAD Figura 78 - Informações diversass sobre a Teoria de Filas Na Figura 78, vemos que os clientes provêm de uma população (no sentido estatístico de “conjunto de todos os clientes”) que é chamada de fonte de clientes. Esses clientes chegam ao local em que será prestado o atendimento apresentando certo comportamento de chegada. Talvez não possam ser atendidos de imediato, caso em que ficarão aguardando em uma fila. Passarão, então, por um processode seleção quando, segundo algum critério, serão selecionados para o atendimen- to (o critério mais comum, que todos conhecem, é de atender os clientes na ordem de chegada). Serão atendidos em um posto de atendimento; esse atendimento terá suas características próprias, ou seja, seu comportamento de atendimen- to próprio. Após o atendimento, os clientes deixarão o local. A apresentação mais deta- lhada desses elementos nos permitirá iden- tificar conceitos e grandezas indispensáveis na compreensão das filas. Esses conceitos e grandezas irão nos dar a base para o estudo de alguns modelos matemáticos fundamen- tais que a teoria das filas nos fornece. Esses conceitos e grandezas são os mostrados na Figura 79 a seguir. Fonte de Clientes O Comportamento de Chegada dos Clientes Processo de Seleção O Posto de Atendimento O Comportamento de Atendimento Fonte: adaptado do autor por Unis Design EAD Figura 79 - Conceitos e Grandezas - base para o desenvolvimento de modelos 258 Vejamos a caracterização de cada um deles em separado. 5.11.1 Fonte de Clientes Conceito Denominamos de fonte de clientes à população (conjunto total) de clientes potenciais que podem demandar um certo tipo de serviço (atendimento). A fonte de clientes pode ser finita ou infinita. Assumimos que a fonte é infinita naqueles casos em que a probabilidade de uma chegada não é afetada de forma significativa pelo fato de que alguns clientes já estão aguardando na fila (o tamanho da fila não interfere em uma nova chegada). Isso acontece basicamente quando o número de chegadas em um dado momento é tão-somente uma pequena fração das chegadas potenciais. Fontes infinitas são tipicamente os sistemas abertos ao público em geral, como cinema, teatros, pos- tos de gasolina, clientes em um supermercado, eleitores em um posto de votação, carros chegando a um sinal de tráfego e assim por diante. A rigor, nenhuma dessas populações é infinita, mas o fato de que alguns clientes já estejam na fila não interfere nas chegadas de outros clientes que queiram juntar- se a ela. Existem sistemas de atendimento que colocam limites sobre a população a ser atendidas. Nesses casos, a população é dita limitada ou finita. A chegada e, consequentemente, o atendimento de novos clientes são significativamente afetados pelo tamanho atual da fila. Um técnico eletricista que tenha sob sua responsabilidade um conjunto definido de 20 máquinas é um bom exemplo. O número de máquinas que estão aguardando reparos pode claramente influenciar na probabilidade de que uma nova máquina exija reparos, pelo fato de que a população de máquinas pode diminuir consideravelmente. Nas aplicações mais simples da teoria das filas, a fonte de clientes é suposta infinita, porque os cálculos são mais fáceis do que aqueles envolvidos na hipótese de fonte de clientes finita. 259 Filas Simples Fontes de Clientes Infinita Alguns Sistemas de Atendimento População Limitada ou Finita Limitam a População Fonte: adaptado do autor por Unis Design EAD Figura 80 - Disposição de populações envolvendo alguns casos da teoria de filas 5.11.2. O Comportamento de Chegada de Clientes Neste caso, existe mais de um aspecto a ser estudado quanto ao comportamento de che- Comportamento da Chegada de Clientes Distribuição de Probabilidade Paciência ou Impaciência Chegada em Grupos Chegada Isolada gada dos clientes, que são: - Chegada Isolada ou Em Grupos - A Paciência ou Impaciência do Cliente - A Distribuição de Probabilidade Associada à Chegada CHEGADA ISOLADA OU EM GRUPOS O cliente pode chegar sozi- nho ao posto de atendimento, como acontece, por exemplo, com carros que chegam a um sinal de tráfego ou com uma pessoa que vai fazer uma Fonte: adaptado do autor por Unis Design EAD Figura 81 - Aspectos a serem estudados quanto ao comportamento de chegada dos clientes 260 retirada em um caixa eletrônico; pode chegar em grupos, como se dá quando um ônibus cheio de turistas para em um restaurante de beira de estrada para o almoço ou quando um lote de 120 peças chega a um torno. Há casos que podem ser considerados intermediários, como quando pequenos grupos, de duas, três ou quatro pessoas, chegam a um restaurante ou teatro. A palavra grupo está sendo entendida, em todos os casos, como um múltiplo de alguma unidade básica. Quando as chegadas são isoladas ou são uma mistura de chegadas são isoladas ou são uma mistura de chegadas isoladas e de pequenos grupos, fazemos a suposição de que todas as chegadas são isoladas. Essa é a suposição que faremos no restante da Unidade, o que já restringe a classe de modelos com os quais iremos trabalhar. Chegada de Clientes Isolada Em Grupos Fonte: adaptado do autor por Unis Design EAD Figura 82 - Chegada Isolada ou em Grupos A PACIÊNCIA OU IMPACIÊNCIA DO CLIENTE Um cliente é considerado paciente se aceitar permanecer na fila até que seja atendido. Caso contrário, ele é dito impaciente, podendo assumir duas diferentes atitudes: - O cliente recusa juntar-se a fila, abandonando o posto de atendimento. - O cliente junta-se à fila, mas acaba desistindo ao cabo de algum tempo. 261 Clientes Paciente Impaciente Fonte: adaptado do autor por Unis Design EAD Figura 83 - Clientes: Pacientes e impacientes Em ambos os casos, é claro, qualquer receita derivada daquele atendimento será perdida, a menos que, obrigatoriamente, o cliente deva retornar em outra oportunidade. No restante da Unidade, iremos supor que o cliente é paciente, ou seja, permanece na fila até que seja atendido. O aluno pode ver que estamos simplificando ainda mais, restringindo de novo as classes de modelos com que iremos trabalhar. A DISTRIBUIÇÃO DE PROBABILIDADE ASSOCIADA À CHEGADA Há duas formas tradicionais de se falar sobre a chegada de clientes para o atendimento. Podemos tomar como base: 1. O número de clientes que chegam em um dado intervalo de tempo. 2. O tempo decorrido entre duas chegadas consecutivas. Vamos examinar cada um desses elementos separadamente. 262 Número de Clientes que chegam num Dado Intervalo de Tempo Vamos fixar a atenção no número de clientes que chegam em um certo intervalo de tempo (falaremos depois do tempo decorrido entre duas chegadas). Esse número pode ter um comporta- mento determinístico ou probabilístico. Um comportamento determinístico significa que o número de clientes que chegam num certo intervalo de tempo é sempre o mesmo. Desta forma, por exemplo, o número de pessoas que chegam a um posto de gasolina pode ser de 2 por minuto (ou, de forma equivalente, 1 a cada 30 segundos, 10 a cada 5 minutos e assim por diante). Se o comportamento for determinístico, a vari- ância é zero e, a qualquer momento que façamos uma observação, iremos ver 2 clientes chegando por minuto. Na maioria das vezes, entretanto, assumimos que o número de clientes que chegam em um intervalo de tempo têm um comportamento probabilístico. Isso implica, em outras palavras, que aceitaremos que esse comportamento é “sem memória”, o que quer dizer que: - Cada chegada é independente de todas as outras anteriores e, por sua vez, não irá influir nas che- gadas posteriores. - A probabilidade de uma chegada particular ocorrer durante um intervalo específico de tempo depende apenas da magnitude desse intervalo. Muitas distribuições de probabilidade podem ser usadas como modelo para representar a chegada de clientes. No entanto, na literatura referente à Teoria das Filas sugerem a Distribuição de Poisson, pode representar muito bem o número de chegadas em um intervalo de tempo. Vamos, portanto, admitir que “o número de chegadas em um dado intervalo de tempo” seja distribuído segundo uma distribuição de Poisson e explorarum pouco mais essa hipótese. Sabemos que a distribuição de Poisson é uma distribuição discreta que se aplica ao caso em que, numa certa unidade de exposição, uma dada variável pode assumir valores inteiros. Em boa parte dos casos, a unidade de exposição é geralmente alguma medida de tempo, comprimento, superfície, etc. (mas outras unidades de exposição são possíveis), enquanto a variável é uma medida 263 de ocorrência de algum tipo. Por exemplo, podemos estar interessados em saber quantos acidentes ocorrem a cada 100 quilômetros de certa estrada, no período de uma semana. A unidade de expo- sição é de 100 quilômetros, enquanto a variável é o número semanal de acidentes. Em outro caso, mais próximo do nosso assunto, podemos querer estimar o número de clientes que chegam a um caixa automático a cada 10 minutos. O número de clientes é a variável, enquanto o intervalo de 10 minutos é a unidade de exposição. Vamos chamar de ao número médio de ocorrência (clientes que chegam) em um intervalo de tempo tomado como unidade. Na Teoria das Filas, o número é também conhecido como taxa de chegada. A unidade de tempo não precisa necessariamente ser medida pelo número 1, embora deva ser fixa. A nossa “unidade” de tempo pode ser, por exemplo, de 10 minutos, 2 horas, cinco semanas ou dez anos. O que importa é que a taxa de chegada e a unidade assumida sejam cons- tantes. A probabilidade de que, na unidade assumida de tempo, cheguem x clientes é dada pela equação P(x) = x m x e -1 Onde: λ = taxa de chegada = número médio de chegadas na unidade assumida de tempo; e = constante de Euler = 2,7183; x! = fatorial de x = x.(x – 1).(x – 2)...(3).(2).(1) = produto dos números naturais de 1 até x. 264 Número de Clientes que Chegam Num Dado Intervalo de Tempo Comportamento Determinístico Comportamento Sem Memória Chegadas Independentes Utilização da Distribuição de Poisson Probabilidade de Chegada Particular depende apenas da magnitude do intervalo em questão Fonte: adaptado do autor por Unis Design EAD Figura 84 - Principais características: número de clientes que chegam num dado intervalo de tempo Vejamos um exemplo introdutório para aplicação deste contexto. Exemplo: O caixa de um restaurante fast-food do shopping center de Var- ginha-MG, nos horários de pico, recebe, em média, dois clientes a cada minuto. A chegada dos clientes nesses horários obedece à distribuição de Poisson. Qual é a probabilidade de que, em um dado minuto, o caixa receba: a) Nenhum cliente? b) Dois clientes? c) Três clientes ou menos? Solução: Neste caso, temos que: a) A probabilidade de não receber nenhum cliente é dada por: P(x) = x m x e -1 Onde: 265 λ = 2 clientes por minuto Para x = 0 (nenhum cliente), temos que: P(0) = 0! 20e -2 = 0,135 ou 13,5% b) A probabilidade de receber dois clientes é dada por: P(2) = 2! 22e -2 = 0,27 ou 27% c) A probabilidade de receber três clientes ou menos em um minuto é dada por: P(receber 3 clientes ou menos) = P(0) + P(1) + P(2) + P(3). Notemos que P(0) e P(2) já estão calculados. Quanto a P(1) e P(3), temos que: P(1) = 1! 21e -2 = 0,27 ou 27% P(3) = 3! 23e -2 = 0,18 ou 18% Portanto, P(receber 3 clientes ou menos) = 0,135 + 0,27 + 0,27 + 0,18 = 0,855 ou 85,5% O Tempo Decorrido Entre Duas Chegadas Consecutivas Assumimos até o presente momento que o número de chegadas de clientes para atendi- mento obedece à distribuição de Poisson. Vamos trabalhar agora com a segunda forma de estudar a chegada para o atendimento, ou seja, com o tempo decorrido entre duas chegadas consecutivas. Se assumirmos que o número de chegadas segue a distribuição de Poisson com média (taxa de che- gada) λ, então o intervalo de tempo entre duas chegadas consecutivas obedece a uma distribuição exponencial com média 1/λ. Exemplificando, se a taxa de chegada for de cinco clientes a cada 10 minutos, então a cada 2 minutos estará chegando um cliente em média. Sabemos que a exponencial é uma distribuição contínua. Além disso, isso pode parecer um pouco estranho, o fato que uma distribuição discreta e 266 outra contínua mantenham esse relacionamento. Temos que para o caso da distribuição exponencial, a probabilidade de um determinado evento P(t ≤ T) é dada por: P(t ≤ T) = 1 – e-λ.t , sendo T ≥ 0. Onde: P(t ≤ T) = probabilidade de que o intervalo entre chegadas t seja inferior ou igual a um intervalo especificado T; λ = taxa média de chegada de clientes (lembremos que 1/ λ é o tempo médio decorrido entre as chegadas consecutivas de dois clientes); e = constante de Euler. O Tempo Decorrido Entre Duas Chegadas Consecutivas Possui Distribuição Exponencial Fonte: adaptado do autor por Unis Design EAD Figura 85 - Utilização da distribuição exponencial no tempo decorrido entre duas chegadas consecutivas PROCESSO DE SELEÇÃO Dada uma fila de clientes aguardando atendimento, o critério pelo qual se escolhe qual será o próximo cliente a ser atendido recebe o nome de disciplina da fila. Nas atividades de serviço, de forma geral, a disciplina adotada é chamada Peps (Primeiro a Entrar, Primeiro a Sair), ou seja, segue- se a ordem de chegada. Isso tende a assegurar uma certa justiça, tendo aceitação generalizada. Todavia, a regra Peps não é a única disciplina possível. É frequente as filas darem priorida- de às crianças, idosos, mulheres grávidas, pessoas portadoras de necessidades especiais, etc. (em 267 embarques de avião, por exemplo). Seria absurdo pensarmos que um pronto-socorro obedecesse rigorosamente à regra Peps, atendendo pela ordem de chegada, independentemente do estado do cliente. Na indústria, inclusive, onde estamos lidando com peças e produtos, a regra Peps é conside- rada uma má regra de sequenciamento de trabalhos. Em seu lugar, existem regras alternativas, como, entre várias outras, a MTP (Menor Tempo de Processamento), que manda executar o trabalho de menor tempo de processamento, e a DD (Data Devida), que determina processar o trabalho cuja data de entrega é a mais próxima. Faremos agora uma restrição, adotando daqui para frente a regra Peps como regra básica. Mesmo não sendo a única, é sem dúvida uma das mais comuns e, particularmente em serviços aber- tos ao público, é a regra dominante. Processo de Seleção Disciplina da Fila MTP (Menor Tempo de Processamento) DD (Data Prevista) Regra de Peps Regra de Peps - mais utilizada Fonte: adaptado do autor por Unis Design EAD Figura 86 - Principais características do Processo de Seleção O POSTO DE ATENDIMENTO Salientamos inicialmente, que o posto de atendimento é a instalação do sistema que servirá de suporte ao atendimento da fila. Vejamos algumas definições básicas. - Fila de Canal Único – uma fila é dita de Canal Único quando existe uma única instalação de aten- dimento. Essa instalação pode consistir de um só posto, que realiza sozinho todo o atendimento, ou 268 de vários postos em série, cada qual realizando uma parte do atendimento. - Fila de Canal Múltiplo – uma fila é dita de Canal Múltiplo se existirem duas ou mais instalações de atendimento em paralelo, cada qual atendendo de forma independente das demais. Cada instalação pode consistir de um posto isolado ou de vários postos em série. - Atendimento Único – o atendimento é dito de Atendimento Único se for realizado integralmente por um só posto de serviço. - Atendimento Múltiplo – o atendimento é dito de Atendimento Múltiplo se forem necessários dois ou mais postos em sequência, cada qual responsável por uma parte do atendimento. Caso combinemos as quatro conceituações anteriores, poderemos verificar que podemos ter quatro situações diferentes de filas, como mostramos nas Figuras 87, 88, 89 e 90, isto é, temos quatro situações básicas de fila.Fonte de Clientes Fila Posto de atendimento Saída de clientes Fonte: adaptado do autor por Unis Design EAD Figura 87 - Fila: Canal Único, Atendimento Único Fonte de Clientes Fila Posto de atendimento tipo 1 Fila Posto de atendimento tipo II Saída de clientes Fonte: adaptado do autor por Unis Design EAD Figura 88 - Fila: Canal Único, Atendimento Múltiplo 269 Fila Posto de atendimento nº1 Posto de atendimento nº2 Saída de clientes Saída de clientes Fonte: adaptado do autor por Unis Design EAD Figura 89 - Fila: Canal Múltiplo, Atendimento Único Fila Posto de atendimento tipo 1 nº1 Posto de atendimento tipo 1 nº2 Posto de atendimento tipo 1I nº2 Posto de atendimento tipo 1I nº2 Saída de clientes Saída de clientes Fonte: adaptado do autor por Unis Design EAD Figura 90 - Fila: Canal Único, Atendimento Múltiplo Desta forma, surge de forma natural a seguinte indagação: Mas, como relacionar tais situa- ções com situações reais? Ou seja, como enquadrar, nas situações descritas, as filas formadas, por exemplo, nos caixas de um grande hipermercado? Neste sentido, temos como resposta, que essas filas não se enquadram nas situações-padrão definidas e não são estudadas aqui, pelo menos no seu conjunto. Cada caixa apresenta sua fila, independentemente das demais. De certa forma, essas filas são coleções de situações individuais do tipo: Canal Único, Atendimento Único. Entretanto, apre- sentam a particularidade de que um cliente pode mudar de fila à vontade, desde que assuma sempre o último lugar na nova fila escolhida. A situação de fila mais simples possível, que já usamos para começarmos a nossa discussão sobre a Teoria de Filas, é a de Canal Único, Atendimento Único. Quando existe um só posto de 270 atendimento, essa situação é obrigatória. É a situação que encontramos em um teatro, em que só um guichê está funcionando para a venda de ingressos. Ou, ainda, em um estacionamento de entra- da única com um único manobrista. É bastante conhecida também a situação Canal Múltiplo, Atendimento Único, na qual a fila é uma só, mas o cliente dirige-se para o posto que está vago. Todos os postos realizam o mesmo tipo de atendimento. É a nossa popular fila única. Podemos vê-la em bancos ou na configuração dos caixas em magazines, por exemplo. Também será visualizada no estacionamento que usamos ainda há pouco tempo como exemplo, caso exista mais de um manobrista (cada manobrista é um posto de atendimento, com todos os postos realizando o mesmo trabalho, ou seja, estacionar o carro). Podemos considerar que temos também a fila única naqueles casos em que ela não é fisicamente formada, mas os clientes recebem, quando chegam, um número sequencial que marcará o seu “lugar” na fila (sua senha). A chamada será feita, então, por esses números que representam estas senhas. As outras duas situações aparentemente também são comuns, embora provavelmente me- nos percebidas na sua complexidade. Na situação de Canal Único, Atendimento Múltiplo existe apenas uma sequência de postos de atendimento em série, de maneira que a fila se mantém sequen- cialmente. Para usarmos um exemplo bem simples, imaginemos um ambulatório pediátrico em que o cliente (a criança) passa por pesagem e medida de altura e temperatura com uma enfermeira, sen- do depois admitido para consulta com um médico. Havendo apenas um médico e uma enfermeira pelos quais todos os clientes devam passar, tem-se, então, a situação de Canal Único, Atendimento Múltiplo (no caso, atendimento duplo). A última situação (Canal Múltiplo, Atendimento Múltiplo) corresponde ao caso em que o atendimento é feito em mais de um estágio e o cliente é atendido, em cada estágio, pelo posto que está vago. Em cada estágio, existe mais de um posto de atendimento, cada qual realizando a mesma função. Se conservarmos o exemplo anterior, basta imaginarmos que as medidas iniciais no consultório podem ser realizadas por duas enfermeiras de forma independente (o cliente é atendido por aquela que está disponível no momento) e que, do mesmo modo, a consulta será realizada por dois médicos, dirigindo-se o cliente para aquele que esteja livre no momento. 271 O COMPORTAMENTO DE ATENDIMENTO Primeiramente, definimos de taxa de atendimento ao tempo em que um posto de servi- ço demora para atender um cliente. Tal como definimos para o comportamento de chegada dos clientes, também a taxa de atendimento de um posto de trabalho pode se comportar de forma determinística ou probabilística. Há situações em que um posto de serviço consegue atender exatamente o mesmo número de clientes dentro de uma unidade de tempo especificada. Nesse caso, a taxa de atendimento será constante, e o posto de serviço comporta-se deterministicamente. Existem outras situações, não obstante, em que o tempo de atendimento se altera de um cliente para outro. A taxa de atendimento é agora variável, e assumimos que ela irá se distribuir segundo alguma distribuição de probabilidades adequada. Vamos definir a taxa média de atendimento como o número médio de clientes atendidos em uma unidade de tempo assumida. Por exemplo, um posto de serviço pode ser capaz de atender um cliente a cada 5 minutos. Esta será, portanto, a sua taxa média de atendimento. Vamos chamar essa taxa média de atendimento de µ (apenas para distinguirmos a taxa de atendimento da taxa de chegada, que havíamos designado por λ). Se a taxa média de atendimento for µ, então o tempo médio de atendimento será 1/µ. Se um posto de atendimento pode atender um cliente a cada 5 minutos, em média, o tempo médio de atendimento será de 5 minutos/cliente. Em diversas aplicações, assumimos que a taxa de atendimento varia segundo uma distribui- ção de Poisson com média µ. A probabilidade de que, na unidade de tempo assumida, sejam aten- didos y clientes será caracterizada por: P(y) = y! n y e -n Onde: µ = taxa de atendimento = número médio de clientes atendidos na unidade de tempo assumida e = base dos logaritmos neperianos = 2,7183.... 272 y! = fatorial de y = y.(y – 1).(y – 2)....(3).(2).(1) = produto dos números naturaia de 1 até y Desta forma, notemos que: Se a taxa de atendimento segue uma distribuição de Poisson, então o tempo de atendimento varia segundo uma distribuição exponencial com tempo médio de atendimento 1/µ. A probabilidade de que o tempo de atendimento t não ultrapasse um dado valor T é dado por: P(t ≤ T) = 1 – e , com T ≥ 0 Onde: P(t ≤ T) = probabilidade de que o tempo de atendimento a um cliente seja inferior ou igual a um intervalo especificado T; µ = taxa média de atendimento e = base dos logaritmos neperianos Vejamos um exemplo ilustrativo. Exemplo: Retornando ao caso do restaurante fast-food do shopping center de Varginha-MG. Suponhamos que o atendente do caixa consiga atender, em média, a quatro clientes por minuto. Admitimos ainda que a taxa de atendimento obedece à distribuição de Poisson, ou seja, o tempo de atendimento obedece à distribuição exponencial negativa. Qual é a probabilidade de que o tempo de atendimento seja igual ou inferior a: a) 20 segundos? b) 10 segundos? c) 5 segundos? Solução: Desta forma, temos que: 273 a) Probabilidade de que o tempo de atendimento seja igual ou inferior a 20 segundos Temos que: P(t ≤ T) = 1 – e-µT , Onde µ = 4 clientes por minuto e T = 20 segundos; os 20 segundos devem ser trans- formados em minutos: 20 segundos equivalem a 20/60 minutos = 1/3 minuto Portanto: P(t ≤ 20) = 1 – e-4(1/3) = 0,736 ou 73,6% b) Probabilidade de que o tempo de atendimento seja igual ou inferior a 10 segundos Temos agora que T = 10 segundos; 10 segundos equivalem a 10/60 minutos = 1/6 minuto Portanto: P(t ≤ 10) = 1 – e -4(1/6) = 0,487 ou 48,7% c) Probabilidade de que o tempode atendimento seja igual ou inferior a 5 segundos Temos agora que T = 5 segundos; 5 segundos equivalem a 5/60 minutos = 1/12 minuto Portanto: P(t ≤ 10) = 1 – e-4(1/12) = 0,283 ou 28,3% 5.12 O Comportamento de Chegada de Clientes Para consolidarmos o que discutimos anteriormente, referindo-se a parte sobre chegada e atendimento de clientes, vejamos as principais hipóteses mostradas na tabela a seguir. Desta ma- neira, sempre que necessário, você pode recorrer ao quadro abaixo até que se acostume com os parâmetros envolvidos neste contexto. 274 Grandezas Chegada Atendimento Médias Número de chegadas na unidade de tempo (taxa de chegada) Poisson Tempo decorrido entre duas chegadas consecutivas Exponencial Número de atendimentos na unidade de tempo (taxa de atendimento) Poisson Tempo decorrido entre dois atendimentos consecutivos Exponencial λ λ 1 µ µ 1 Fonte: adaptado do autor por Unis Design EAD Tabela 124 - Variação do tamanho da fila (taxa de chegadas e atendimento constantes) 5.13 Características de Operação de Filas Vimos que existem muitos e muitos tipos de filas, dependendo das hipóteses restritivas que sejam feitas sobre a operação e o comportamento da fila. Até o presente momento, existe um grande número de modelos que estudam o comportamento das filas, e a cada dia surgem novos modelos, que são usados em novas situações. Desta forma, poderíamos levantar algumas indaga- ções: Afinal de contas, qual é a vantagem de adotar um modelo para estudar uma fila? O que se ganha com isso? Que tipo de informação um modelo pode nos dar? Salienta-se que um modelo não consiste apenas na adoção de uma distribuição de probabilidade, como a Poisson ou a Exponencial. Existem outras hipóteses que são adotadas. Para começarmos, uma fila não pode ser “otimizada”, como se faz com uma situação de aplicação de programação linear. Aquele tipo de raciocínio que fazíamos na programação linear – de procurar a solução ótima (i.e., os “melhores” valores das variáveis de decisão) nem sempre se aplica. No final das contas, é de nosso interesse, chegar a um balanço de custos entre atender cada vez melhor, por um lado, e tornar o sistema de atendimento muito oneroso, por outro. Todavia, isso 275 é feito de forma indireta, analisando-se determinadas características da fila. Essas características são denominadas de características operacionais. De fato, as características operacionais são números ou indicadores de desempenho calculados com o auxílio do modelo adotado e que mostram como a fila está se comportando. Números Indicadores de Desempenho Características Operacionais Fonte: adaptado do autor por Unis Design EAD Figura 91 - Características operacionais: números e indicadores de desempenho Uma vez calculadas as características operacionais, podemos tentar modificar (melhorar) uma ou outra. Tendo um modelo como base, saberemos como a mudança de algumas característi- cas afeta as outras; tendo uma estimativa adequada de custos, veremos se as mudanças pretendidas valem à pena ou não. Sendo assim, podemos perceber naturalmente a utilidade de um modelo para nós diante deste contexto atual. Dentre as características operacionais mais interessantes na situação de Canal Único, desta- camos as principais na Figura 92 a seguir. 276 Características Operacionais • - Utilização do Sistema; • - Probabilidade de que o sistema esteja ocioso; • - Probabilidade de que haja n clientes esperando ou sendo atendidos no sistema; Características Operacionais • - Probabilidade de que a fila não tenha mais do que k clientes; • - Número médio de clientes na fila; • - Número médio de clientes no sistema; Características Operacionais • - Tempo médio de que o cliente espera na fila; • - Tempo médio de que o cliente espera no sistema; Fonte: adaptado do autor por Unis Design EAD Figura 92 - Listagem das principais características operacionais de uma fila A seguir descrevemos de forma bastante simples cada uma dessas características operacio- nais citadas. Utilização do Sistema Usualmente designada pela letra grega r (rho) e dada pelas relações: t = n m Onde: λ = taxa de chegada de clientes µ = taxa de atendimento de clientes A utilização do sistema pode ser entendida de mais de uma forma, por exemplo: - Como a porcentagem de tempo em que o sistema está sendo utilizado; - Como a probabilidade de que o sistema esteja sendo utilizado; - Como a probabilidade de que um cliente que chega tenha de esperar para ser atendido. 277 Probabilidade de que o Sistema esteja Ocioso É a probabilidade de que não haja nenhum cliente esperando ou sendo atendido; se desig- narmos tal probabilidade por P(0), temos que: P(0) = 1 – r = 1 – λ / r Probabilidade de que Haja n Clientes Esperando ou Sendo Atendidos no Sistema O sistema compreende a própria fila mais os clientes que estão sendo atendidos no posto de atendimento. Probabilidade de que a Fila não tenha mais que k Clientes Naturalmente, de acordo com a terminologia, esta probabilidade representa a chance da fila não conter mais do que k clientes. Número Médio de Clientes na Fila Corresponde ao tamanho médio da fila (sem contar os clientes que estejam sendo atendi- dos). Número Médio de Clientes no Sistema Engloba os clientes que estão na fila e os que estão sendo atendidos. Tempo Médio que o Cliente Espera na Fila Sem contar o tempo de atendimento. Tempo Médio que o Cliente Espera no Sistema Contando o tempo de fila mais o tempo de atendimento. 278 Salientamos que essas não são as únicas características operacionais que podemos determinar em uma fila, mas representam um bom conjunto de indicadores de desempenho. Nossa próxima tarefa é estudar o modelo de Canal Único, todo o conjunto visto será utili- zado a posteriori. 5.14 Caracterização do Modelo de Canal Único Embora seja o mais simples, o modelo de canal único para as filas de espera é também um dos mais utilizados. Costuma-se adotar a hipótese de que tanto a taxa de chegada como a taxa de atendimento obedecem à distribuição de Poisson. Distribuição de Poisson Taxa de Chegada Taxa de Atendimento Fonte: adaptado do autor por Unis Design EAD Figura 93 - Hipótese: Taxa de Chegada e Tax de Atendimento possuem distribuição de Poisson Isso implica como já vimos anteriormente, que o tempo decorrido entre duas chegadas consecutivas e o tempo decorrido entre dois atendimentos consecutivos distribuem-se segundo a distribuição exponencial. 279 Distribuição Exponencial Tempo Decorrido entre Duas Chegadas Consecutivas Tempo Decorrido entre Dois Atendimentos Consecutivos Fonte: adaptado do autor por Unis Design EAD Figura 94 - Temmpo decorrido entre duas chegadas consecutivas e tempo decorrido entre dois atendimentos consecutivos: distribuição exponencial Admitimos também que a taxa média de chegada e a taxa média de atendimento são cons- tantes. Existem outras hipóteses que são muito importantes no modelo, às quais já apresentamos antes, pouco a pouco. Essas hipóteses são listadas a seguir. Hipóteses Importantes no Modelo Os clientes chegam de uma população infinita A disciplina da Fila é a Peps Não há abandono da Fila A taxa média de atendimento é maior do que a taxa média de chegada Fonte: adaptado do autor por Unis Design EAD Figura 95 - Listagem das demais hipóteses importantes no modelo 280 Notemos que: - Para o caso da disciplina da fila ser a Peps, isto significa, (Primeiro a Entrar, Primeiro a Sair), ou seja, o atendimento é realizado pela ordem de chegada. - Não há abandono da fila nem antes nem depois que o cliente se junta a ela. - A taxa média de atendimento émaior que a taxa média de chegada, ou seja, µ > λ. Mais à frente, veremos a importância de tal fato. Não estaremos preocupados em apresentar a derivação das fórmulas, que envolve um es- forço matemático além dos nossos propósitos. Sendo assim, utilizaremos a seguinte notação: λ = taxa de chegada; µ = taxa de atendimento; r = utilização do sistema; P(0) = probabilidade de que o sistema esteja ocioso; P(n) = probabilidade de que haja n clientes no sistema; P(n = k) = probabilidade de que a fila não tenha mais que k clientes; Lf = número médio de clientes na fila; L = número médio de clientes no sistema; Wf = tempo médio de que o cliente espera na fila; W = tempo médio de que o cliente espera no sistema; Logo, utilizando a notação acima, as fórmulas para o modelo de canal único são as seguintes: I. Utilização do Sistema: r = λ/µ II. Probabilidade de que o Sistema esteja Ocioso: P(0) = 1 – r = 1 – λ/µ III. Probabilidade de que haja n clientes esperando ou sendo atendidos no sistema: P(n) = (λ/µ)n . P(0) IV. Probabilidade de que a fila não tenha mais que k clientes: P(n = k) = 1 – (λ/µ)k+1 V. Número médio de clientes na fila: Lf = λ 2/µ.(µ-2) VI. Número médio de clientes no sistema: L = Lf + λ/µ 281 VII. Tempo médio que o cliente espera na fila: Wf = Lf/λ VIII. Tempo médio que o cliente espera no sistema: W = L/λ Vejamos um exemplo introdutório prático a fim de aplicarmos todas essas fórmulas listadas acima. Aplicação Prática 3: AFA, uma cidade dos Estados Unidos, mantém um serviço de ponte aerea com algumas das maiores cidades do país. O prin- cipal aeorporto da cidade é o Pouso Seguro, que concentra todo o serviço de ponte aérea. Isso faz com que o tráfego aéreo fique um pouco conges- tionado. A intensidade do tráfego aéreo é função da hora do dia, mas o momento mais crítico está entre 17 e 18 horas dos dias úteis, exatamente durante o retorno das pessoas que deixaram a capital pela ponte aérea para trabalhar fora. Os aviões que chegam ficam em uma “fila”, aguardando a vez de aterrissar. Eles ficam sobrevoando em grandes círculos nas proximidades do aeroporto Pouso Seguro, até que a torre de controle libere alguma pista para pouso. Para esse horário (entre 17 e 18 horas), a taxa média de chegada de aviões é de um a cada 3 minutos. A torre de controle, por sua vez, consegue aterrissar, em média, um avião por minuto. Supondo que tanto a taxa de chegada como a taxa de pouso dos aviões obedeçam à distribuição de Poisson, determinar: a) A taxa de utilização do sistema de aterrissagem do aeroporto. b) A probabilidade de que nenhum avião esteja pousando ou aguardando a liberação de pista. c) A probabilidade de que haja apenas um avião aterrissando ou aguardando ordem para isso. d) A probabilidade de que não haja mais que três aviões sobrevoando as cercanias do aeropor- to, aguardando instruções para pouso. e) O número médio de aviões aguardando ordem de pouso. f) O número médio de aviões pousando ou aguardando ordem de pouso. 282 g) O tempo médio que um avião fica sobrevoando as cercanias do aeroporto, aguardando ordem para pousar. h) O tempo médio que um avião demora a aterrissar, incluindo o tempo de aterrissagem em si, mais o tempo que fica sobrevoando perto do aeroporto aguardando ordem de pousar. Solução: Inicialmente, devemos notar que embora a nomenclatura esteja adaptada à natureza deste problema, as grandezas pedidas são exatamente as características operacionais vista para a situação de canal único. Desta forma, temos que: a) Taxa de utilização do sistema de aterrissagem do aeroporto – é simplesmente a relação entre as taxas de pouso e de chegada, sendo: r = utilização do sistema de aterrissagem; λ = taxa de chegada de aviões = 1 a cada 3 minutos; µ = taxa de pouso = 1 avião a cada minuto. Para que possamos trabalhar com λ e µ, é preciso que ambas as taxas se refiram à mesma unidade de tempo; vamos adotar o intervalo de 3 minutos como a unidade de tempo, não se altera, mas passa a ser igual a 3 pousos a cada 3 minutos. Desta maneira, podemos escrever que, λ = 1 e µ = 3, valores que usaremos no restante do exemplo. Sendo assim, temos então que: r = λ/µ Ou seja, r = 1/3 (a taxa de utilização do sistema é de 1/3 , ou 33,3%) b) Probabilidade de que nenhum avião esteja pousando ou aguardando a liberação de pista – trata-se da probabilidade de que nao haja nenhum avião no sistema, ou seja, trata-se de P(0), 283 desta forma, temos que: P(0) = 1 - r = 1 - λ/µ = 1 - 1/3 = 2/3 c) Probabilidade de que haja apenas um avião aterrissando ou aguardando para isso – pela notação adotada por nós, aqui, em verdade queremos determinar P(1). Porém, sabemos que: P(n) = (λ/µ)n. P(0) Fazendo a expressão acima para n = 1, vem que: P(1) = (1/3)1 . 2/3 = 2/9 d) A probabilidade de que não haja mais que três aviões sobrevoando as cercanias do aero- porto, aguardando instruções para pouso – neste caso a fórmula mais adequada para esse cálculo é: P(n = k) = 1 - 1/81 = 80/81 Fazendo k = 3 na expressão acima, vem que: P(n = 3) = 1 - (1/3)3+1 = 1 - 1/81 = 80/81 e) O número médio de aviões aguardando ordem de pouso – trata-se do número médio de “clientes” aguardando na “fila”, ou seja, Lf, dado por: L f = n. (n - m) m 2 L f = 3.(3 - 1) 12 = 6 1Ou seja, f) O número médio de aviões pousando ou aguardando ordem de pouso – de acordo com a nossa nomenclatura inicial, trata-se do número médio de “clientes” aguardando na “fila”, ou seja: 284 L = Lf + λ/µ Logo, L = 1/6 + 1/3 = 1/2 g) O tempo médio que um avião fica sobrevoando as cercanias do aeroporto, aguardando ordem para pousar – trata-se do tempo médio de permanência do “cliente” na “fila”, o qual é caracterizado por: Wf = Lf / λ Logo, Wf = 1 6 1 = 6 1 h) O tempo médio que um avião demora a aterrissar, incluindo o tempo de aterrissagem em si, mais o tempo que fica sobrevoando perto do aeroporto aguardando ordem de pousar – trata-se de W, dado por: W = L/λ Ou seja, W = 1 2 1 = 2 1 285 Nesta última unidade, vimos que a simulação envolve a constru- ção de um modelo aproximado de um fenômeno de interesse, o qual será colocado em operação um grande número de vezes, permitindo que o fenômeno seja mais bem compreendido e controlado. Particularmente falando, o Método Monte Carlo é uma das abordagens mais conhecidas para simular o comportamento ao acaso das variáveis probabilísticas de interesse. Consiste na geração de valores das variáveis relevantes, com o auxílio de números ao acaso (números alea- tórios). De outra forma, geradores de números ao acaso são ferramentas, instrumentos ou sub -rotinas de computador por meio dos quais os números ao acaso podem ser gerados para uso na simulação. Pode-se simular tanto a partir de uma distribuição empírica de frequências da variável de interesse como a partir de uma distribuição teórica discreta ou contínua que melhor configure a variável. A seguir, trabalhamos com as principais informações acerca da teoria de filas. As filas não se formam apenas porque a capacidade de atendimento seja insuficiente, mas também porque a taxa de chegadas de clientes não é constante. Existe variabilidade tanto no intervalo entre chega- das de clientes como no tempo de atendimento desses clientes. Chamamos de nível de serviço ou nível de atendimento a excelência maior ou menor no atendimento. O custo de prover um dado nível de serviço é denominado de custo de atendimento; o custo da fila indica os custos associados à existência da fila. A fonte dos clientes que demandam algum tipo de atendimento pode ser finita ou infinita; nesse último caso, a probabilidade de uma chegada não é afetada de forma significativa pelo tamanho da fila já existente. O número de clientes que chegam num dado intervalo de tempo pode ter um comportamentodeterminístico (o número de clientes que chegam num dado intervalo de tempo é sempre o mesmo) ou probabilístico. É muito comum assumirmos que tanto a taxa de chegada de clientes a um posto de trabalho como a taxa de atendimento obedecem à distribuição de Poisson; consequentemente, o tempo decorrido entre duas chegadas consecutivas, bem como o tempo decorrido entre dois atendimentos consecuti- 286 vos, obedecem à distribuição exponencial. É interessante ressaltar também que nas atividades de serviço, é habitual usar a regra Peps (Primeiro a Entrar, Primeiro a Sair) como disciplina básica na fila. Filas de Canal Único, Atendimento Único são aquelas nas quais existe um só posto de atendimento, responsável pelo atendimento integral do cliente. Tal como a taxa de chegada de clientes, também a taxa de atendimento pode revelar um comportamento determinístico (o número de clientes atendidos num dado intervalo de tempo é constante) ou probabilístico. Características operacionais de uma fila são números e indicadores de desempenho calculados para um dado modelo de fila adotado. Referências Bibliográficas SILVA, Elio Medeiros da (Et al.). Pesquisa operacional: para os cursos de administração e engenharia: programação linear e simulação. 4. ed. São Paulo: Atlas, 2010. COLIN, Emerson Carlos. Pesquisa operacional: 170 aplicações em estratégia, finanças, logística, pro- dução, marketing e vendas. Rio de Janeiro: LTC, 2007 MOREIRA, Daniel Augusto. Pesquisa operacional: curso introdutório. 2. ed. São Paulo: Cengage Learning, 2010. LACHTERMACHER, Gerson. Pesquisa Operacional na tomada de decisões. 4 Ed. São Paulo: Pear- son Prentice Hall, 2009. RAGSDALE, Cliff T. Modelagem e Análise de Decisão. Edição Revisada. São Paulo: Cengage Lear- ning, 2009. MEDEIROS, Hermes da S.; MEDEIROS Élio da S.; MUROLO, Afrâncio C. Pesquisa Operacional. Terceira Edição. São Paulo: Editora Atlas, 1998. PUCCINI, ABELARDO de LIMA. Introdução à Programação Linear. Rio de Janeiro: Ao Livro Téc- nico, 1972. BORNSTEIN, C. T.; BREGALDA, P. F.; OLIVEIRA, A. A.F. Introdução à Programação Linear. Rio de Janeiro: Editora Campos, 1981. MACULAN, N.; PEREIRA, M. V. F. Programação Linear. São Paulo: Editora Atlas, 1980. MIRSHAWKA, VICTOR. Pesquisa Operacional. Volumes 1 e 2. São Paulo: Nobel, 1980. PERIN, CLOVIS. Introdução à Programação Linear. Campinas, SP: Imecc, 2001. ANDRADE, Eduardo Leopoldino de. Introdução à Pesquisa Operacional: métodos e modelos para a análise de decisão. 2 Edição. Rio de Janeiro: LTC Editora, 2002. CORRER, Luiz J. THEOFILO, Carlos Renato. Pesquisa Operacional: para a decisão em Contabilidade e Administração, Contabilometria. 1 Edição. São Paulo: Editora Atlas, 2004. 1.1 Aspectos Históricos Associados a Pesquisa Operacional 1.2 Aspectos Introdutórios da Pesquisa Operacional 1.3. O Processo de Tomada de Decisão ou Processo Decisório no Contexto da Gestão Empresarial 1.4. Características Principais do Processo Decisório 1.5. Tomada de Decisão, Modelagem e Fatores Influenciadores 1.6. Classificando as Decisões 1.7. Qualificando as Decisões 1.8. Conhecendo o Enfoque Gerencial da Pesquisa Operacional 1.8.1. O Enfoque Clássico 1.8.2. O Enfoque Atual 1.9 A Natureza da Pesquisa Operacional e Fases Específicas de Um Estudo de Pesquisa Operacional 1.10. Descrição das Principais Técnicas de Pesquisa Operacional 1.11. Conceitos Fundamentais e Informações Básicas da Programação Linear 1.12. Aplicações Cotidianas da Programação Linear 1.13. Campeões da Gestão Empresarial nos Anos 2000 2.1 Aspectos Introdutórios da Formulação de Modelos de Programação Linear 2.2 Diretrizes Específicas da Formulação de Modelos de Programação Linear 2.3 Formulando os Primeiros Modelos de Programação Linear 3.1 Aspectos Introdutórios da Formulação de Modelos de Programação Linear 3.2 Resolvendo Geometricamente Um Modelo de P.L. – O Método Gráfico 3.3. Análise de Sensibilidade: O que é? 3.3.1. Análise dos Coeficientes da Função Objetivo 3.3.2. Análise dos Lados Direitos das Restrições (LDRS) 3.4. Resolução de Modelos de P.L. Através da Implementação Numérica 3.4.1. O Programa Lingo 3.4.2. Exemplo Introdutório no Programa LINGO 3.5. O Programa VCN 3.6. A Descrição Formal do Método Simplex 3.6.1. Interpretando as Variáveis de Folga e as Soluções Básicas 3.6.2. Entendendo Um Pouco Mais o Simplex? 3.6.3. Como Construímos o Segundo Tableau? 3.6.4. Caracterização da Nova Linha Principal 3.6.5. Interpretação das Mudanças na Função Objetivo 3.6.6. Como Proceder Com o Simplex nos Casos Envolvendo Minimização 4.1. Aspectos Introdutórios da Formulação da Dualidade 4.2. Formulação do Problema Dual 4.3. Existe Alguma Analogia Entre as Soluções Primal e Dual? 4.4. O Algoritmo dos Transportes 4.5. Formalizando o Algoritmo dos Transportes 4.5.1. Situação Modelo 4.5.2. O Modelo Linear do Algoritmo dos Transportes 4.5.3. O Caso de Sistemas Não Equilibrados 4.5.4. Descrevendo o Algoritmo dos Transportes 4.6. Introduzindo o Problema da Designação 4.6.1 Descrevendo o Algoritmo do Problema da Designação 4.6.2. Analisando o Caso de Maximização 5.1. Aspectos Introdutórios da Simulação 5.2. Por quê Simular? 5.3. Descrevendo as Vantagens da Simulação 5.4. Introduzindo o Método Monte Carlo 5.5. A Utilização dos Números ao Acaso para Simular 5.6. Alguns Casos Interessantes Envolvendo a Teoria da Simulação 5.6.1 Simulação a Partir de Uma Distribuição Teórica 5.6.2. Simulação Simultânea de Duas Variáveis 5.7 Introduzindo a Teoria das Filas 5.8 As Filas de Todo Dia? O que são e como se Comportam? 5.9 Um Balanço sobre os Custos de Atender e de Não Atender 5.10 Mas, afinal como é a Estrutura de Uma Fila? 5.11.1 Fonte de Clientes 5.11.2. O Comportamento de Chegada de Clientes 5.12 O Comportamento de Chegada de Clientes 5.13 Características de Operação de Filas 5.14 Caracterização do Modelo de Canal Único Referências Bibliográficas