Prévia do material em texto
PESQUISA OPERACIONAL AULA 1 Prof. José de Souza Leal Neto CONVERSA INICIAL Pesquisa Operacional (PO): o termo provavelmente é desconhecido para a grande maioria dos estudantes. Entretanto, como qualquer disciplina que se estuda, no início tudo pode parecer complicado e nebuloso, mas, com a dedicação adequada aos estudos, os termos se tornarão familiares. Além disso, será possível identificar os benefícios advindos da aplicação das técnicas e dos métodos da Pesquisa Operacional na rotina das empresas. Assim, nesta primeira aula será apresentado como surgiu a PO, definição, características, além das fases de um estudo de PO, modelo e modelagem e programação linear. É claro que não se esgota o que se pode aprender de PO, mas é o início. Ok, tudo entendido, mas para que serve a PO? Uma referência inicial e importante é saber que a PO é constituída de conhecimentos que apoiam a tomada de decisão dos gestores: são ferramentas, um meio, e não um fim, mas a resposta à pergunta ocorrerá com o desenvolvimento da disciplina. O desafio é: você será capaz de perceber, ao final do curso, que o conhecimento proporcionado pela disciplina te dará um diferencial competitivo como administrador? Creio que sim, mas, para isso, é preciso ir além destas aulas: é necessário fazer diferentes abordagens no estudo de problemas a fim de explorar potenciais soluções (explorar cenários); observar a rotina diária a partir da perspectiva da PO. É, em suma, pensar diferente. Seja bem-vindo (a) à primeira aula de Pesquisa Operacional. CONTEXTUALIZANDO Como você conseguiria tornar a sua empresa ou o seu setor mais competitivo? Como poderia aumentar a produtividade? Essas são perguntas diárias, que gestores são sempre solicitados a responder e, para tal, precisam conhecer o processo para identificar problemas/oportunidades e, também, necessitam de informações/dados para a tomada de decisão. O conhecimento do processo é de fundamental importância para a tomada de decisão, pois não é possível tomar decisão acertada sem conhecimento de causa. Se o gestor está familiarizado com o processo, será capaz de perceber a existência de problema e onde ele está ou de identificar 2 uma oportunidade de melhoria. Sem conhecer o processo, não há como delinear um escopo nem definir objetivos. Quanto às informações/dados, via de regra, os gestores não dispõem das necessárias para a tomada de decisão. Podem até identificar que informações/dados são necessárias para a adequada tomada de decisão, mas esses nem sempre estão disponíveis oportunamente. E se as informações/dados estão disponíveis, provavelmente será necessário processá-las, ou seja, tratá-las estatisticamente. Pode ainda acontecer que as informações/dados necessárias sejam desconhecidas pelo gestor de forma parcial ou, até mesmo, em sua totalidade. Mesmo com o conhecimento do problema/oportunidade e com disponibilidade de informações/dados, ainda permanecerão incertezas. A percepção da existência do problema/oportunidade está correta? A oportunidade de melhoria trará benefícios para a empresa? É possível resolver tecnicamente o problema/melhoria? Quais insumos/recursos são plenamente usados no processo? Quais insumos/recursos são subutilizados? Em condições apropriadas, ao se empregarem técnicas de modelagem matemática e eficientes algoritmos computacionais, a PO pode subsidiar o decisor na análise dos mais variados aspectos e situações de um problema complexo, permitindo a tomada de decisões efetivas e a construção de sistemas mais produtivos (Sobrapo, 2017). Neste momento, antes de nos aprofundarmos na PO, tenha sempre em mente que as técnicas de modelagem matemática e os algoritmos computacionais são poderosos, mas não é a panaceia de todos os problemas administrativos, pois possuem suas limitações, como quaisquer outros recursos técnicos. TEMA 1 – HISTÓRICO E CONCEITOS DA PESQUISA OPERACIONAL Em suas devidas proporções, pode-se afirmar que empresas travam uma guerra contra suas concorrentes, e ampliando um pouco o conceito, que esta guerra é uma guerra entre cadeias logísticas. Mas, para obter vantagem sobre a concorrência é necessário empregar métodos e técnicas diferenciadas a fim de obter um diferencial competitivo. Um diferencial competitivo pode ser obtido por quem gerencia melhor os seus recursos empresariais, que são escassos. A PO se desenvolveu para gerenciar recursos escassos e obteve sucesso. Hoje é 3 possível fazer uso dos métodos e técnicas da PO no ambiente corporativo e, por conseguinte, obter um diferencial competitivo em relação à concorrência. Assim, no presente tema é apresentada a PO, a sua origem, o seu objetivo, as suas principais características e as suas possíveis aplicações. Histórico: O termo Pesquisa Operacional, remete às origens da área, cujo interesse inicial foi a gestão eficiente de operações (basicamente de logística militar). Assim, o desenvolvimento da PO foi fruto do esforço de guerra dos Aliados no início dos anos 40, e, tal esforço tinha por objetivo desenvolver métodos para resolver problemas de operações militares. O sucesso dessas aplicações levou o mundo acadêmico e empresarial a utilizar as técnicas então criadas, em problemas de administração. Com o avanço metodológico e computacional (velocidade de processamento, capacidade de armazenamento, recuperação de informações, descentralização de ações pelo uso de microcomputadores etc.), além da existência de demandas de outras áreas, ocorreu a ampliação do campo de atuação para além das operações militares. A modernização da PO pode ser identificada pelo desenvolvimento de modelos mais versáteis, mais rápidos e, sobretudo, interativos, que permitam maior participação do homem no desenrolar dos cálculos (Sobrapo, 2017; Andrade, 2009). O que é Pesquisa Operacional? A Sociedade Brasileira de Pesquisa Operacional (Sobrapo) define Pesquisa Operacional (PO) como a área de conhecimento que estuda, desenvolve e aplica métodos analíticos avançados para auxiliar na tomada de melhores decisões nas mais diversas áreas de atuação humana. Características da Pesquisa Operacional: a partir do que é escrito a respeito da PO, pode-se ser capaz de enumerar diversas características (Andrade, 2009; Sobrapo, 2017), entre as quais: Emprega métodos envolvendo programação matemática, simulação, teoria dos jogos, teoria das filas, análise de redes, teoria de decisão, aprendizado de máquina e ciência dos dados. Tais métodos são capazes de apresentar soluções efetivas para problemas aplicados, determinando a melhor utilização de recursos limitados e otimizando as operações empresariais (ambientes complexos e competitivos). Demanda por trabalho em equipe (multidisciplinar), com estreita cooperação entre líderes (tomadores de decisão), analistas e 4 stakeholders, por ser necessário um esforço sistêmico. Portanto, ocorre uma demanda natural de interação entre as áreas de administração, engenharias, computação e matemática. Emprega modelos, o que permite realizar „experimentações‟, ou seja, estudar cenários, viabilizando a análise de possibilidades e uma tomada de decisão melhor avaliada e testada antes de ser efetivamente implementada. Necessita de profissionais (face à interação multidisciplinar) capazes de compreender e resolver problemas em diversas áreas (flexibilidade de aplicações) e usar métodos analíticos e com foco em resultados. Aplicações da Pesquisa Operacional:segundo a Sobrapo (2017), a PO é empregada em áreas consideradas estratégicas, como energia, prospecção e exploração de petróleo, gerência de operações, logística, finanças, marketing, planejamento e gestão de sistemas de serviços, segurança da informação, administração industrial, gestão da qualidade, análise locacional, entre outras, de interesse civil e militar. Modelo e modelagem, uma abordagem: é possível encontrar diversos softwares desenvolvidos (de prateleira) para uso imediato, mas eles nem sempre atendem todas as necessidades, não é verdade? Porém, esse tipo de software possui, na maioria das vezes, menor custo do que se fosse desenvolvido para atender necessidades específicas. Perceba que há diferenças entre usar uma solução pronta e desenvolver uma solução que atenda pré-requisitos. Assim, faz-se necessário apresentar os conceitos de „modelo‟ e de „modelagem‟ a serem empregados nesta disciplina, pois há uma pequena sutileza no emprego dos referidos conceitos. Ao se empregar o conceito de “modelo”, deve-se entendê-lo como um algoritmo (etapas a serem seguidas) ou modelo matemático previamente elaborado para solucionar um problema recorrente. Esse “modelo” pode ser usado para resolver problemas similares, dado que as condições usadas para a elaboração do modelo nem sempre são encontradas na realidade. Para problema de baixa complexidade, o emprego de um „modelo‟ pronto pode ser o mais indicado pelos benefícios obtidos, tais como menor custo do que a “modelagem”, menor prazo para obter a solução etc. Quanto à “modelagem”, deve-se entender como a elaboração específica de um algoritmo ou modelo matemático para um problema a ser resolvido, que 5 possui escopo e objetivos bem definidos, ou seja, será construído um modelo “sob medida”, “personalizado”. O modelo proposto deverá atender os requisitos/especificações impostos pelo problema, ou seja, deverá considerar as condições existentes no momento do estudo. Entretanto, a “modelagem” possui algumas desvantagens, como o fato de requerer tempo para o desenvolvimento do modelo (prazos maiores), possuir maior custo em relação ao emprego de “modelo” etc. Saiba mais Estude um pouco mais e se familiarize com a terminologia empregada em PO. Para isso, leia as páginas 12 a 14 (Item 1.1) do livro-texto, disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/13>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Leia também as páginas 1 e 2 (Item 1.1) do TAHA, disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/1>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Vídeo: O que é pesquisa operacional? Uma resposta mais “dinâmica” pode ser encontrada em: <https://youtu.be/tX6Rw7KJGjE>. Tema de pesquisa: confirme ou refute os argumentos usados acima, que caracterizaram diferenças entre modelo e modelagem. Encontre exemplos. TEMA 2 – FASES DE ESTUDO DA PESQUISA OPERACIONAL Não há como resolver um problema, em especial quantitativo, sem ter um algoritmo, uma sequência de etapas a serem seguidas. Desde o início, a Toyota adotou a forma de resolver os problemas: observar e estudar o processo, e aí começou o seu sucesso. Além disso, o que argumentar contra dados numéricos? Se forem adequadamente trabalhados por uma metodologia consolidada, os resultados serão confiáveis. O presente tema tem por objetivo apresentar as diversas fases necessárias para o desenvolvimento de um estudo de PO. 6 Fases de um estudo de pesquisa operacional: provavelmente você terá algumas dúvidas sobre as fases de um estudo de PO, porque não há uma unanimidade quanto elas, mas você poderá identificar algumas fases comuns nas propostas de diferentes autores, pois são indispensáveis para o desenvolvimento de um trabalho de PO. Tais fases são as seguintes: a. Estudo do problema. O escopo do problema deve ser adequadamente definido. O contexto do problema deve ser estudado de forma detalhada a fim de identificar o nível de complexidade e, consequentemente, escolher a técnica/ferramenta de PO mais apropriada para solucionar o problema. b. Levantamento e tratamento de dados. Os trabalhos de PO são quantitativos, e consequentemente é necessário levantar e tratar dados numéricos estatisticamente. O conjunto final de dados a ser empregado deve ser confiável. c. Definição da metodologia a ser empregada. O tipo de problema determinará a escolha do método/ferramenta de PO a ser empregada, e consequentemente a metodologia estará mais ou menos definida. Se for um modelo, a metodologia está definida. Se for necessário realizar uma modelagem, existem referências metodológicas na bibliografia de PO, entretanto pode ser necessário realizar adequações da metodologia à realidade do problema em estudo. d. Análise dos resultados obtidos. Da análise dos resultados obtidos, deve ser possível obter subsídios para identificar as atividades/recursos a serem priorizadas na elaboração da proposta de solução. e. Implementação de proposta. A análise dos resultados finais deve gerar recomendações ou propostas possíveis de serem implementadas a fim de solucionar ou minimizar o problema estudado. Provavelmente, você não encontrará, na bibliografia, uma proposta de generalização das fases de um estudo de PO, conforme apresentada acima. Isso se deve ao fato de que, em geral, os autores não fazem distinção entre “modelo” e “modelagem”. Entretanto, as fases apresentadas anteriormente estarão sempre presentes, implícita ou explicitamente, nos estudos de PO. 7 Saiba mais Leia o Item 1.3 do livro texto e avalie a abordagem proposta. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/19>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. O Item 1.6 apresenta a proposta de fases de um estudo de TAHA. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/5>. TAHA, Handy A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. TEMA 3 – MODELO Quando se fala em modelo, vem-nos à mente a ideia de uma referência, de um padrão. O objetivo do modelo em PO é basicamente representar um fenômeno físico, uma realidade existente. Porém, o modelo a ser usado não pode ser muito simplificado nem muito complexo. Se for simplificado demais, poderá não representar a realidade adequadamente; e se for complexo em demasia, pode não ser exequível. Somente com a experiência o profissional encontrará o equilíbrio entre o simples e o complexo. Este tema tem por objetivo apresentar o conceito de modelo e os tipos de modelo que podem ser empregados em PO. Definição: modelo significa, entre outras definições, tudo o que serve para ser imitado, uma representação (Michaelis, 2001). Também pode-se encontrar definições como: modelo matemático, representação matemática de um fenômeno físico humano etc. feita para que se possa melhor estudar o original; e modelo reduzido, reprodução em pequena escala de um aparelho ou de um conjunto. Resumidamente, pode-se definir “modelo” como uma representação simplificada da realidade. Tipos de modelo: na bibliografia da PO, não há umaunanimidade quanto aos tipos de modelo. A partir da tipologia proposta por alguns autores (Andrade, 8 2009; Chwif; Medina, 2006; Lactermacher, 2009), foi sintetizada uma classificação de possíveis tipos de modelo, conforme apresentado a seguir: Modelos conceituais: relacionam de maneira sequencial e lógica as interações e as atividades existentes no processo em estudo, de modo a possibilitar o estudo do processo e alcançar os objetivos definidos. É o tipo de modelo recomendado para as etapas iniciais do processo de modelagem. Modelos físicos: são modelos reduzidos em escala, tais como modelos de aeronaves, maquetes de edificações etc. Não são empregados em PO. Modelos heurísticos: são construídos quando a complexidade do problema é de tal ordem que a utilização de relações matemáticas é inviável ou extremamente dispendiosa. Esses modelos baseiam-se em regras empíricas ou intuitivas que, após se obter uma solução para o problema, permitem avançar para uma solução mais aprimorada. Modelos matemáticos: necessitam que as informações e as variáveis relevantes do problema sejam quantificáveis. Consequentemente, as grandezas são representadas por variáveis de decisão, e se usam expressões/funções matemáticas para descrever as relações entre elas e a operação do sistema. A metodologia da PO é mais indicada para solucionar problemas que podem ser representados por modelos matemáticos. Tais modelos podem ser classificados quanto ao nível de incerteza existente entre as relações das variáveis, como determinísticos (sem incerteza; as informações relevantes são tidas como conhecidas; modelos de otimização) ou probabilísticos (quando uma ou mais variáveis de decisão não são conhecidas; modelos de simulação). Modelos simbólicos, diagramáticos ou icônicos: usam símbolos gráficos para representar um sistema de maneira estática (o seu comportamento no tempo não é considerado), por exemplo: fluxograma de processo, mapas rodoviários, estações de metrô, estações de ônibus, organograma organizacional de empresa e outros. As suas limitações são não apresentar elementos quantitativos e não permitir apresentar muitos detalhes. O seu uso é mais adequado para documentar projetos e servir ferramenta de comunicação (visual). A priori, não são empregados em PO. 9 Saiba mais Leia os Itens 1.2 e 1.3 do TAHA e consolide a compreensão do conceito de modelo. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/3>. TAHA, Handy A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Leia o artigo indicado no link. Na leitura, identifique o objetivo do estudo e a solução proposta. A solução é genérica ou é para um problema específico? Disponível em: <http://www.scielo.br/scielo.php?script=sci_arttext&pid=S0101- 74382000000100007>. Para conhecer a dinâmica de modelagem de simulação de eventos discretos, acesse o site do fabricante do Simul8 (inglês), disponível em: <https://www.simul8.com/products/guidedtours/watch_video.php?videoId=3> e <https://www.simul8.com/products/guidedtours/watch_video.php?videoId=6>; ou o vídeo do YouTube (português), disponível em: <https://youtu.be/Oecazr39BNo>. TEMA 4 – MODELAGEM Empresas podem até possuir processos semelhantes, porém o ritmo, os colaboradores, a operação, a cultura, entre outros são específicos de cada uma delas. Portanto, cada empresa possui sua “personalidade” e, por conseguinte, problemas específicos, os quais podem ser rotineiros ou complexos. Para resolver um problema complexo com aplicação de PO, provavelmente é necessário elaborar uma solução específica, ou seja, usar uma metodologia de modelagem para obter um modelo “sob medida”. Assim, este tema tem por objetivo apresentar propostas metodológicas de modelagem que as empresas podem usar para resolver problemas complexos com aplicação de PO. Definição: o dicionário Michaelis (2001) define “modelagem” como a operação de modelar e também define “modelar” como a ação de fazer o modelo ou o molde. Portanto, é possível afirmar que modelar é criar um modelo. 10 Vantagens e desvantagens: o emprego de modelagem, na opinião de Lachtermacher (2009), apresenta as seguintes vantagens, porque os modelos forçam: • Os decisores a explicitarem seus objetivos. • A identificação e a disponibilidade das diferentes decisões que influenciam os objetivos e dos relacionamentos entre as decisões. • A identificação das variáveis a serem incluídas e as condições em que serão quantificáveis. • O reconhecimento de limitações. Pode-se acrescer também como vantagem que os modelos possibilitam a comunicação de suas ideias, e a sua compreensão facilita o trabalho em grupo. Entre as desvantagens estão que a modelagem pode consumir tempo e ser dispendiosa e que a experiência profissional é diretamente proporcional à complexidade do modelo a ser elaborado. Metodologias de modelagem: na bibliografia de PO, é possível encontrar metodologias de modelagem bastante similares. A seguir são apresentadas as propostas de Lachtermacher (2009) e Andrade (2009), bem como a metodologia de autoria de Sargent (2014) para modelos de simulação, por ser mais detalhada e indicar a necessidade de se ser cientificamente rigoroso quando elaborar modelos mais complexos. Lachtermacher (2009) propõe um processo de resolução de um problema em cinco etapas consecutivas, conforme indicado na Figura 1. Tais etapas podem ser repetidas, quando se fizer necessário. O autor não apresenta maiores esclarecimentos a respeito das etapas, mas elas são de fácil compreensão. 11 Figura 1 – Processo de resolução de um problema Identificação do Problema Formulação do Modelo Análise dos Cenários Interpretação dos Resultados Implementação e Motoração Figura 1 - Processo de resolução de um problema (Lachtermacher, 2009) Fonte: Lachtermacher (2009). Figura 2 – Fases de um estudo de Pesquisa Operacional Definição do Problema Construção do Modelo Solução Avaliação do Modelo Validação Experiência do Modelo e Intuição Implementação do Resultados Figura 2 - Fases de um estudo de Pesquisa Operacional (ANDRADE, 2009) Por sua vez, Andrade (2009) indica a existência de fases em um estudo Pesquisa Operacional, conforme apresentado na Figura 2. É necessário lembrar 12 que, conforme argumentado anteriormente, são etapas de elaboração de um modelo, ou seja, são etapas de um processo de modelagem. Na perspectiva de Andrade (2009), na fase de definição do problema deve-se descrever os objetivos do estudo de forma exata, para delinear a concepção do modelo; identificar as alternativas existentes de decisão; e identificar limitações, restrições e exigências do sistema. Na fase de construção do modelo, deve-se escolher o modelo mais apropriado (programação linear, simulação, entre outros) para a representação do sistema, tendo como referência a definição do problema. A solução do modelo é função do modelo adotado. A programação linear poderá fornecer uma solução, dita “ótima”, e a simulação proporciona uma solução a partir da análise dos resultados obtidos. A fase de validação do modelo ocorre se o modelo for capaz de forneceruma previsão aceitável e compatível do comportamento do sistema real e a resposta fornecida pelo modelo puder subsidiar uma decisão que possa ser factível. A fase implementação da solução é realizada após avaliadas as vantagens que pode proporcionar, bem como a sua validade. Ela pode ser materializada em regras operacionais. Por fim, é realizada uma avaliação final do modelo e dos resultados obtidos. Apesar de ser uma metodologia voltada para simulação, pode-se considerar a metodologia de modelagem proposta por Sargent (2014) como a mais completa. A partir de uma metodologia mais completa, como a de Sargent, é mais fácil adaptar as etapas existentes ao nível de complexidade do problema em estudo do que incluir requisitos em outras metodologias que não são detalhadas/rigorosas. Na versão simplificada do processo de modelagem proposta por Sargent (2014), apresentada na Figura 3, o problema é o sistema real/proposto, ideia, situação, política ou fenômeno a ser modelado; o modelo conceitual é a representação matemática/lógica/gráfica do problema desenvolvido para um estudo específico; e o modelo computacional é o modelo conceitual implementado em um computador, ou seja, faz-se uso de uma linguagem de programação para implementar o modelo conceitual (com o devido rigor, é possível empregar software de simulação). 13 O modelo conceitual é desenvolvido na fase de análise e modelagem, o modelo computacional é desenvolvido na fase de programação computacional e implementação, e as inferências a respeito do problema são obtidas a partir de experimentos no modelo computacional na fase de experimentação. A partir da experimentação são estudados cenários, dos quais pode-se extrair subsídios para elaborar procedimentos a serem implementados. Além disso, os dados relacionados ao problema, após o devido tratamento estatístico, devem ser dados válidos para nortear o desenvolvimento do modelo conceitual e para serem empregados no modelo computacional. Figura 3 – Versão simplificada do processo de modelagem Fonte: Sargent (2014), adaptado. A validação do modelo conceitual tem por objetivo verificar o quanto a proposta do modelo está adequada ao processo em estudo. A verificação do modelo computacional é realizada para identificar a existência de algum erro na programação (ou no emprego do software). A validação operacional é realizada para avaliar se os dados obtidos com o modelo são coerentes com os dados reais. Após validado e verificado, o modelo está apto para ser usado. Agora, seria interessante você rever as fases indicadas no Tema 2 e procurar identificá-las nas diversas metodologias apresentadas acima. Saiba mais 14 Leia o Item 1.2 do livro texto e busque construir referenciais a partir das propostas de modelagem apresentadas. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/15>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. A respeito de modelagem, leia o Item 1.4 do TAHA. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/3>. TAHA, Handy A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. TEMA 5 – PROGRAMAÇÃO LINEAR (PL) Uma decisão é mais fácil de ser tomada quando se referência em uma quantidade, porque a decisão se torna dicotômica, ou seja, se aceita ou se rejeita a quantidade. Se uma empresa dispõe de dados numéricos apropriados a respeito de suas atividades, provavelmente será capaz de elaborar uma modelagem de PL. Um modelo de PL deve gerar, a princípio (pode não haver uma solução), uma resposta numérica específica, por exemplo com quais produtos de seu portfólio e em que quantidades se consegue o maior lucro. A PL tem por objetivo “alocar da melhor forma possível (isto é, de forma ótima) recursos limitados para atividades que competem entre si. [...] envolve selecionar o nível de certas atividades que competem por recursos escassos que são necessários par realizar essas mesmas atividades” (Hillier; Lieberman, 2010), ou seja, definir o quanto cada recurso será consumido. Este tema tem por objetivo iniciar o estudo de programação linear, apresentando seu objetivo, suas aplicações, suas características e sua forma padrão. Histórico: um breve histórico da Programação Linear é apresentado a seguir: A Programação Linear foi desenvolvida conceitualmente após a Segunda Guerra Mundial, pelo soviético Kolmogorov, com o objetivo de resolver problemas de logística militares. A primeira aplicação de PL foi feita em 1945, por Stigler em um problema referente à composição de uma mistura. O grande marco na evolução dos estudos de PL, contudo, ocorreu em 1947, com o desenvolvimento pelo jovem matemático Dantzig do 15 método que denominou “método simplex”. Dantzig, matemático da força aérea e em contato com questões relacionadas à logística percebeu que problemas que envolviam limitação de recursos podiam ser resolvidos por meio de uma sistemática de busca de solução ótima entre um conjunto de possíveis soluções. O rápido avanço dos computadores fez com que a Programação Linear passasse a ser utilizada como ferramenta de gestão empresarial. Tanto que o russo Kantorovich ganhou o Prêmio Nobel em Economia pelo desenvolvimento de conceitos de planejamento ótimo. Mais recentemente, em 1984, Karmakar desenvolveu um algoritmo que se tem mostrado superior ao simplex para a resolução de problemas extremamente grandes. Contudo, o método simplex continua sendo o mais utilizado nos dias de hoje, inclusive como base lógica das planilhas eletrônicas. (Corrar; Theóphilo; Bergmann, 2007) Programação linear: de forma objetiva, Hillier e Lieberman (2010) informam que, para descrever um problema, a programação linear faz uso de um modelo matemático e que “o adjetivo linear significa que todas as funções matemáticas nesse modelo são necessariamente funções lineares”. De forma semelhante, Lachtermacher (2009) registra que a programação linear é um ramo da programação matemática em que a função-objetivo e as restrições são representadas por funções lineares. A programação linear é um algoritmo que pode ser usado para solucionar problemas diários das empresas, pois estas se deparam rotineiramente com a escassez de produtos ou matérias-primas e, consequentemente, precisam determinar o melhor emprego (solução ótima) daqueles recursos escassos. A solução obtida pela programação linear é chamada de solução ótima (a melhor solução entre soluções possíveis), de acordo com o modelo matemático, pois determinará o emprego dos recursos escassos da forma mais eficiente e eficaz. A solução ótima (otimização do emprego de recursos) poderá resolver problemas em que seja necessário obter uma maximização ou uma minimização de uma determinada quantidade (lucro, custo, receita, tempo, quantidade de produtos...). Tal quantidade é chamada de objetivo, pois depende de um ou mais recursos escassos (Lachtermacher, 2009); é uma função matemática, com uma variável dependente (objetivo) e variáveis independentes (recursos escassos). Aplicações e objetivos: a programação linear pode ser aplicada em diversas áreas, como (Lachtermacher,2009; Andrade, 2009): Na administração/problemas de produção Na análise de investimentos Na alocação de recursos limitados 16 No planejamento regional Na logística No custo/organização de transportes Na localização da rede de distribuição Na designação de equipes Em problemas de mistura de componentes Ao se fazer uso do algoritmo da programação linear, busca-se responder questões do tipo (Andrade, 2009): Considerando as presentes condições de produção, ou seja, o cenário real, quais produtos e que quantidade, entre vários, devem ser produzidos para se obter o maior lucro possível? Para atender determinadas especificações (restrições; limitações), qual é a composição da mistura (por exemplo: do alimento; da ração; da tinta...) que corresponde ao custo mínimo? Definidas as localizações da produção, dos fornecedores e dos pontos de consumo, como estabelecer os circuitos de distribuição de modo a minimizar o custo total? Ou minimizar o tempo total? Definidas as condições de trabalho, como designar o contingente de mão de obra entre as diferentes tarefas e especialidades, com o objetivo de minimizar as despesas ou maximizar a eficiência? Definidas as condições de trabalho, como designar os equipamentos para atividades de forma a minimizar o tempo de operação ou minimizar as despesas? Conhecido o valor nutricional dos alimentos que compõem uma ração, qual quantidade de cada um deve ser usada a fim de satisfazer condições nutricionais mínimas e dar ao animal o crescimento desejado ao custo mínimo? Considerando determinadas condições de produção, quais insumos são plenamente usados? Quais insumos possuem estoque/disponibilidade para uso? Forma-padrão: diz-se que um problema de programação linear está na forma padrão se a formulação matemática está no seguinte modelo: Maximizar = 1 1 + 2 2 + ⋯ + , 17 sujeito às restrições 11 1 + 12 2 + ⋯ + 1 ≤ 1 21 1 + 22 2 + ⋯ + 2 ≤ 2 .................................................. 1 1 + 2 2 + ⋯ + ≤ e 1 ≥ 0, 2 ≥ 0, ..., ≥ 0 A terminologia comum para o modelo de programação linear é (Hillier; Lieberman, 2010): Função objetivo: é a função 1 1 + 2 2 + ⋯ + que está sendo maximizada. Restrições: são as limitações do tipo 1 1 + 2 2 + ⋯ + ≤ , com ( = 1, 2, … , ). Restrições de não negatividade (ou condições não negativas): ≥ 0, com ( = 1, 2, … , ). Constantes numéricas (números): , e . Variáveis de decisão: são as variáveis independentes 1, 2, … , , que se deseja conhecer; é a variável dependente. Em um primeiro momento, você pode considerar que a forma-padrão é uma “sopa de letras”, mas não se assuste. Lembre-se que, quando se inicia o estudo de um assunto novo, tudo parece difícil e complicado, mas, com o desenvolvimento do tema, a terminologia perderá o mistério e se tornará mais familiar. Você estudou outras disciplinas „diferentes‟ e superou, não é verdade? Esta também será superada. Prosseguindo, Hillier e Lieberman (2010) apresentam de forma didática outras formas legítimas que podem fazer parte de problemas de programação linear. São as seguintes: 1. Minimizar em vez de maximizar a função objetivo: Minimizar = 1 1 + 2 2 + ⋯ + . 2. Algumas restrições com desigualdades do tipo maior do que ou igual a: 1 1 + 2 2 + ⋯ + ≥ , para alguns valores de i, com ( = 1, 2, … , ). 3. Algumas restrições na forma de equação: 18 1 1 + 2 2 + ⋯ + = , para alguns valores de i, com ( = 1, 2, … , ). 4. Eliminar as restrições não negativas para algumas das variáveis de decisão: irrestrita em sinal para alguns valores de j, com ( = 1, 2, … , ). Os autores destacam que qualquer problema que misture algumas dessas outras formas legítimas com as partes remanescentes do modelo na forma-padrão ainda será um problema de programação linear. Entretanto, em razão dos objetivos da disciplina, os problemas a serem resolvidos serão os mais simples e didáticos possíveis. Hipóteses: a resolução de problemas de programação linear é referenciada nas seguintes hipóteses (Lachtermacher, 2007; Hillier; Lieberman, 2010): Proporcionalidade: o valor da função objetivo é diretamente proporcional ao nível de atividade de cada variável de decisão. Essa hipótese descarta qualquer expoente que não seja 1 para qualquer variável em qualquer termo de qualquer função (seja a função objetivo ou a função que se encontra do lado esquerdo na declaração de uma restrição). Aditividade: as variáveis de decisão são entidades totalmente independentes, não pode haver interdependência entre elas, isto é, não pode haver termos cruzados (termos que envolvem o produto de duas ou mais variáveis), tanto na função objetivo como nas restrições. Toda função em um modelo de programação linear (seja a função objetivo ou a função que se encontra do lado esquerdo na declaração de uma restrição), é a soma das contribuições individuais das respectivas atividades. Divisibilidade: qualquer variável de decisão pode assumir quaisquer valores, inclusive valores fracionários. Certeza: pressuposto que todos os parâmetros do modelo (as constantes aij, bi e cj) são constantes conhecidas. Em aplicações reais, a hipótese da certeza raramente é satisfeita de forma precisa. Como haverá sempre um nível de incerteza, é importante realizar a análise de sensibilidade após uma solução ter sido classificada como ótima segundo os valores de parâmetros assumidos. 19 Saiba mais Agora, leia com atenção o Item 2.1 do livro texto. Na leitura, identifique a terminologia e o vínculo com o modelo de programação linear. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/27>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Se deseja ampliar o conhecimento sobre programação linear, acesse: <https://www.youtube.com/watch?v=IqVlEplz9G4>. Alguns conceitos apresentados no vídeo serão abordados na próxima aula. NA PRÁTICA A partir do que foi exposto nesta primeira aula, apresente no fórum um problema de forma mais detalhada possível e que seja recorrente em uma empresa de sua escolha. Em seguida, discuta com os demais alunos sobre a possibilidade de se empregar as fases de um estudo de pesquisa operacional. Como as fases seriam descritas? Como operacionalizar tais fases? Leia o caso de ensino sugerido, faça uma análise da situação e depois responda o solicitado. Terminadas a atividade de estudo, a análise e a elaboração da proposta de solução para o caso de ensino, você receberá uma resposta possível para o caso de ensino, proposta pelo professor que o elaborou. Orientações para realizar a atividade: 1. Leia o caso de ensino atentamente e os temas da rota. 2. Identifique no texto desta rota de aprendizagem quais conceitos-chaves que você utilizará para responder as questões apresentadas no caso de ensino. 3. Compreenda que os conceitos são subsídios/ferramentas que te auxiliarão na solução do problema apresentado. 4. Bons estudos e bom trabalho! Caso de Ensino nº 1: A padaria Le Petit Pain A Le Petit Pain está localizada em um bairro onde a maioria da população é composta por pessoas com mais de 60 anos. Os pães vendidos pela padaria 20 são famosos na cidade e, por isto, no fim do dia, há clientes de outros bairros, o que tem incrementado as vendas e também as reclamações dos moradores do bairro em razão do tempo gasto em fila. Os moradores locais preferem comprar na LePetit Pain em razão da sua localização, mas, para evitar as filas, anteciparam o horário de suas compras, no período da tarde. Agora, a mudança da frequência gerou um problema para a gerência da padaria. A Le Petit Pain nem sempre consegue produzir a quantidade adequada de pães para atender os moradores do bairro nem os outros consumidores, pois há dias em que há falta de pães, e em outros dias há excesso de produção de pães. Se você fosse o gerente da Le Petit Pain, que ações desenvolveria para resolver o problema? Respostas possíveis: Para o caso de ensino apresentado, é possível propor soluções em dois cenários. Cenário 1: Redução do tempo gasto em fila (recurso escasso: caixas) Avaliar a situação atual, levantando dados referentes a: chegada de clientes (quantidade, horário e dia da semana); tempo gasto em fila; tempo gasto pelo caixa em atendimento; Realizar o tratamento estatístico dos dados, preferencialmente por dia da semana e horário. Soluções possíveis: o Aumentar o número de caixas no período de maior frequência; o Separar pelo menos um caixa como preferencial no período de maior frequência; o Treinar os caixas a fim de reduzir o tempo de atendimento; Verificar se a solução implementada resolve o problema. Cenário 2: Produção de quantidade adequada de pães (recurso escasso: pães) Avaliar a situação atual, levantar dados referentes a: chegada de clientes (quantidade, horário e dia da semana); produção de pães (quantidade por horário e dia da semana); Realizar o tratamento estatístico dos dados, preferencialmente por dia da semana e horário. Solução possível: produzir a quantidade de pães em compatibilidade com a provável frequência dos clientes. Verificar se a solução implementada resolve o problema. FINALIZANDO Nesta primeira aula, foram apresentados diversos conceitos sobre PO, provavelmente conceitos desconhecidos. Entre o que foi apresentado, é importante realçar as seguintes ideias-chave: os recursos são escassos, mas podem ser melhor empregados/alocados; para obter uma solução mais consistente para um problema, é necessário dispor de dados para empregá-los 21 em uma metodologia que possua uma sequência de etapas organizadas (um algoritmo) e bem definidas; modelos já elaborados são melhor empregados para solucionar problemas mais simples; e usar um processo de modelagem para solucionar problemas mais complexos. Por fim, o estudo de Programação Linear foi iniciado e será aprofundado nas próximas aulas. Os objetivos do caso de ensino são fazer o aluno elaborar a solução conforme as fases de um estudo de PO e identificar intuitivamente qual é o recurso escasso. Como o problema foi previamente definido, esperava-se que o aluno identificasse a necessidade de dispor de dados quantitativos para poder elaborar propostas de solução mais consistentes. 22 REFERÊNCIAS ANDRADE, E. L. de. Introdução à pesquisa operacional: métodos e modelos para análise de decisões. 4. ed. Rio de Janeiro: LTC, 2009. CHWIF, L.; MEDINA, A. C. Modelagem e simulação de eventos discretos: teoria & prática. 2. ed. São Paulo: Ed dos Autores, 2006. CORRAR, L. J.; THÉOPHILO, C. R.; BERGMANN, D. R. Programação linear. In: CORRAR, L. J.; THÉOPHILO. Pesquisa operacional para decisão em contabilidade e administração: contabilometria. 1. ed. 3. reimp. São Paulo: Atlas, 2007. HILLIER, F. S.; LIEBERMAN, G. J. Introdução à Pesquisa Operacional. 9. ed. Porto Alegres: McGraw-Hill, 2010 LACHTERMARCHER, G. Pesquisa operacional na tomada de decisões: modelagem em Excel. 4. ed. Rio de Janeiro: Elsevier, 2009. MICHAELIS. Dicionário da língua portuguesa. São Paulo: Editora Melhoramentos, 2001. SARGENT, R. G. Verification and Validation of Simulation Models. In: Proceedings of 2014 Winter Simulation Conference, 2014, Savannah, GA. pp 118-131. Disponível em: <http://informssim.org/wsc14papers/includes/files/013.pdf>. Acesso em: 22 nov. 2017. SOCIEDADE Brasileira De Pesquisa Operacional (SOBRAPO). Disponível em: <http://www.sobrapo.org.br/>. Acesso em: 22 nov. 2017. 23 PESQUISA OPERACIONAL AULA 2 Prof. José de Souza Leal Neto CONVERSA INICIAL Na aula passada, começamos o estudo de Pesquisa Operacional (PO), e foram apresentados diversos conceitos relacionados à disciplina. Lembre-se que o objetivo da PO é fazer com que as operações sejam eficientes e eficazes. Para isso, deve-se gerenciar os recursos críticos, os recursos escassos. Ao final da aula, foi apresentada a Programação Linear (PL), cujo estudo será prosseguido agora. Nesta segunda aula, haverá menos conceitos e mais aplicações práticas. As aplicações serão inicialmente simples para que seja possível construir um conhecimento a respeito do processo de solução (algoritmo) proposto pela PL. Em seguida, os exemplos de aplicações se tornarão mais elaborados, mas não se espera exaurir, no tempo disponível para a disciplina, o que a PL pode proporcionar. O passo inicial será “como” realizar a construção do modelo matemático de PL, na forma-padrão, de um problema apresentado, ou seja, “como” identificar as restrições existentes e transformá-las em inequações matemáticas, bem “como” identificar o que se deseja conhecer (variáveis de decisão) e usar isso na construção da função objetivo. O passo seguinte é um didático e tem por objetivo fazer com que o aluno compreenda o processo de solução adotado pela PL. Serão apresentadas soluções gráficas para problemas com duas variáveis de decisão. No “mundo real” é praticamente inusitado encontrar um problema que possua apenas duas variáveis de decisão, mas tal situação será adotada para fins didáticos. Lembre-se que o fato de ser possível elaborar de um modelo matemático de PL não significa que haja uma solução. Então, mãos à obra, vamos começar a segunda aula de Pesquisa Operacional. CONTEXTUALIZANDO As empresas possuem diversos tipos de problemas para os quais os administradores devem encontrar soluções. Entre esses diversos tipos de problema, há aqueles que podem ser solucionados empregando a modelagem de programação linear. Para o administrador saber se a modelagem de programação linear é apropriada para o problema, ele deve, em primeiro lugar, conhecer de que tipo 2 de resposta necessita. Se for um valor numérico definido, o uso de PL poderá atender o escopo do problema. Conforme apresentado na aula anterior, a PL possui na forma-padrão uma função objetivo = 1 1 + 2 2 + ⋯ + , que pode ser de maximização ou de minimização, conforme o tipo do problema. Caso haja solução para o problema de PL, a função objetivo Z será expressa por um valor numérico. Prosseguindo, é necessário determinar quais são as variáveis de decisão 1, 2, … , que deverão compor a função objetivo. Não se pode esquecer que uma modelagem não deve gerar um modelo simples em demasia nem complexo por excesso. Assim, uma proposta é empregar o método da curva ABC para identificar as variáveis de decisão (itens) que possuem maior influência na função objetivo. Por fim, o administrador deve identificar as restrições a que estão sujeitas as variáveis de decisão no contexto do problemaem estudo. Estas restrições são expressas geralmente por inequações. Assim, será possível escrever o contexto do problema e construir o modelo do problema de PL na forma-padrão. As etapas comentadas acima estão inseridas nas fases de estudo do problema, levantamento e tratamento de dados e definição da metodologia a ser empregada. Consequentemente, a fase seguinte é a solução do problema. Nesta aula, será apresentado o processo de se estruturar um problema de PL, ou seja, escrever o enunciado da situação-problema proposta em sentenças matemáticas, conforme a forma-padrão da formulação matemática da PL, bem como solucionar graficamente o problema. A solução gráfica será limitada a duas variáveis de decisão para melhor compreensão da lógica de solução proposta pela programação linear. TEMA 1 – MODELAGEM EM PROGRAMAÇÃO LINEAR Para “transformar” uma situação-problema para uma equação matemática, é necessário um pouco de experiência, e a experiência vem com a prática. Assim, para se obter experiência, deve-se iniciar a prática com problemas mais simples, e, após o domínio do conceito e da rotina de atividades, será mais fácil trabalhar com problemas de maior complexidade. Não é objetivo desta disciplina abstrair um problema a partir de um contexto específico, mas, a partir do enunciado de um problema, realizar a modelagem de um problema de programação linear. A modelagem se tornará de mais fácil execução se você 3 conhecer quais são os elementos necessários para elaborar as sentenças matemáticas que compõem a forma-padrão de um problema de programação linear. Assim, no presente tema, serão desenvolvidos exercícios de modelagem em programação linear. Na forma-padrão: em um primeiro momento, pode haver dificuldade para se obter as sentenças matemáticas que vão compor a forma-padrão de um determinado problema de PL. Somente praticando a modelagem de problemas de PL é que se conseguirá superar a dificuldade de interpretação e ser capaz de identificar os dados necessários para a formulação matemática na forma-padrão. A tarefa se tornará mais fácil se for realizada com critério. Logicamente, é necessário ler o problema para compreender o contexto. Recomenda-se uma segunda leitura com o objetivo de identificar os verbos existentes e, principalmente, o que é solicitado – uma pergunta –, o objetivo do estudo. Em regra, a solicitação do problema determina as variáveis de decisão e, por conseguinte, poder-se-á construir a função objetivo, que é a expressão matemática por meio da qual se relacionam as variáveis de decisão e o objetivo a ser atingido (Corrar; Theóphilo; Bergmann, 2007). Cada variável de decisão deve ser identificada por escrito, e cada variável deve ser usada na mesma unidade de medida. Após a definição da função objetivo, é a vez de construir as expressões matemáticas das restrições existentes. As restrições são basicamente as limitações dos recursos associados a cada variável de decisão, ou, na abordagem de Corrar, Theóphilo e Bergmann (2007), “as restrições são limitações impostas sobre os possíveis valores que podem ser assumidos pelas variáveis de decisão”. Para os problemas de PL de Maximização tem que haver pelo menos uma restrição do tipo ≤ (menor ou igual), e para os problemas de Minimização tem que haver pelo menos uma restrição do tipo ≥ (maior ou igual). Para finalizar, um cuidado e uma dica. O cuidado necessário é que devemos deixar todas as constantes com valores positivos, mesmo que seja necessário modificar o sinal da inequação. A dica é: no processo de construir a forma-padrão, fazer uma tabela – mesmo que de forma mental – que tenha em sua primeira linha as variáveis de decisão, e que cada variável de decisão determine uma coluna. As linhas inferiores deverão ser preenchidas pelas restrições e em harmonia com os dados relativos para cada variável de decisão (coluna). Agora, procure identificar essas orientações nos exemplos abaixo. 4 Exemplo 1: Problema de maximização. Para iniciar o estudo de problemas de PL, escolhemos um exemplo simples, que permitirá visualizar a construção do modelo de PL na forma-padrão, mas nem sempre os problemas são apresentados de forma estruturada como o proposto por Corrar, Theóphilo e Bergmann (2007) a seguir. A indústria Maximóveis fabrica dois tipos de produtos: cadeiras e mesas. Os produtos apresentam as margens de contribuição por unidade conforme a Tabela 2.1. Tabela 2.1 – Margens de contribuição unitárias dos produtos Produto Margem de contribuição por unidade ($) Cadeiras 10 Mesas 8 Os produtos são processados por dois departamentos: montagem e acabamento. Ao passar por esses departamentos, cada unidade do produto consome determinado número de horas, conforme indicado na Tabela 2.2. Tabela 2.2 – Consumo de tempo nos departamentos Departamento Consumo de horas pelos produtos (por un.) Cadeiras Mesas Montagem 3 3 Acabamento 6 3 Os departamentos apresentam, contudo, limitação em sua capacidade produtiva, como mostra a Tabela 2.3. TABELA 2.3 – Capacidade produtiva dos departamentos Departamento Capacidade máxima disponível em horas Montagem 30 Acabamento 48 Deseja-se saber qual é a melhor combinação possível de cadeiras e mesas a serem produzidas, de forma a obter a maior margem de contribuição total. Solução proposta: Antes de resolver o problema de programação linear, é necessário elaborar a formulação matemática para obter forma-padrão, conforme descrito a seguir. 5 3. Identificar as variáveis de decisão ( 1, 2): as variáveis de decisão são as quantidades que se deseja conhecer. De uma forma irreverente, para identificar as variáveis de decisão, às vezes basta fazer a pergunta: “show me the money?”. No problema em estudo, o que está associado ao dinheiro? Quais itens aumentam a margem de contribuição? Cadeiras e mesas. Portanto, temos 1: cadeiras; e 2: mesas. A unidade de medida para expressar a quantidade de cadeiras e de mesas é “unidade” (o uso de 1 e de 2 para designar cadeiras ou mesas é indiferente). 4. Definir a função objetivo: a função objetivo = 1 1 + 2 2 + ⋯ + será então, Maximizar = 10 1 + 8 2. Verifique que cada unidade de cadeira participa com $10 e cada unidade de mesa participa com $8 para a margem de contribuição da empresa. Assim, se soubermos qual é a combinação ótima de quantidade de cadeiras e de quantidade de mesas a serem produzidas e vendidas, conheceremos a maior margem de contribuição total. Por isso, o presente problema de PL é de maximização. 5. Expressar matematicamente as restrições existentes: a partir das Tabelas 2.2 e 2.3, verifica-se que a produção de cadeiras e mesas depende dos departamentos de montagem e de acabamento. Tais departamentos produzem um ou outro produto, ou seja, cadeiras e mesas competem pela disponibilidade de tempo nestes departamentos, os quais possuem uma capacidade máxima disponível. Então, a função matemática que expressa a restrição do departamento de montagem é 3 1 + 3 2 ≤ 30, e a que expressa a restrição do departamento de acabamento é 6 1 + 3 2 ≤ 48. Observe que as constantes são positivas. 6. Obter a forma-padrão: conforme apresentado anteriormente, é possível imaginar o uso de uma tabela esquemática, dado a sua praticidade para estruturar o problema de PL na forma-padrão. Espera-se que, com o tempo, a tabela seja dispensável, por se saber como compor o problema de PL na forma-padrão. Assim, a tabela teria o seguinte formato: Função objetivo Maximizar Z= 10 1 + 8 2 Sujeito às restriçõesMontagem 3 1 + 3 2 ≤ 30 Acabamento 6 1 + 3 2 ≤ 48 e 1 ≥ 0; 2 ≥ 0 6 O problema apresentado acima possui a formulação matemática, na forma-padrão, para ser empregado no algoritmo da PL na seguinte forma: Maximizar = 10 1 + 8 2, sujeito às restrições Montagem 3 1 + 3 2 ≤ 30 Acabamento 6 1 + 3 2 ≤ 48 5. 1 ≥ 0, 2 ≥ 0 sendo, 1: cadeiras (un.), e 2: mesas (un.). Pode ser que você tenha estranhado o acréscimo de informações na estrutura na forma-padrão. As informações foram acrescidas para facilitar a identificação das restrições, bem como das variáveis de decisão. A estrutura inicial da forma-padrão foi respeitada. Exemplo 2: Problema de maximização. No desenvolvimento deste novo exemplo, o roteiro de modelagem será observado, mas com menos observações. Na leitura inicial, procure compreender e identificar o que é solicitado. Identifique se é um problema de maximização ou de minimização. Na segunda leitura, atente para os verbos e identifique as variáveis de decisão e as suas restrições. Por fim, estruture mentalmente uma tabela, com as variáveis de decisão no topo das colunas e as restrições preenchendo as linhas. Então, considere o problema a seguir. Um artesão é especializado em pintura decorativa de pratos cerâmicos e vende seu artesanato em uma feira que funciona todas as noites. Ele realiza uma pintura básica em pratos rústicos e grandes e uma pintura refinada nos pratos delicados e pequenos. Os pratos grandes são vendidos por $ 4,00, e os pratos pequenos, por $ 6,00. Ele consegue vender pelo menos 3 pratos grandes e somente 4 pratos pequenos por noite. Os pratos grandes são pintados em 54 minutos, e os pratos pequenos são pintados em 1 hora e 36 minutos. Antes das vendas noturnas, o artesão desenvolve seus projetos em jornadas diárias de trabalho de 8 horas. Para melhor empregar seu tempo, ele deseja saber quantos pratos de cada tipo ele precisa pintar para obter a maior receita possível. Solução proposta de modelagem do problema de programação linear: 7 Identificar as variáveis de decisão ( 1, 2). Vamos à pergunta: “show me the money?”. O artesão obtém receita vendendo pratos grandes e pratos pequenos. Portanto, temos, 1: pratos cerâmicos grandes; e 2: pratos cerâmicos pequenos. A unidade de medida para expressar a quantidade de pratos é “unidade” (o uso de 1 e de 2 para designar pratos grandes ou pratos pequenos é indiferente). Definir a função objetivo: como o artesão deseja aumentar a sua receita, o problema de PL é de maximização. A função objetivo = 1 1 + 2 2 + ⋯ + será então, maximizar = 4 1 + 6 2. Expressar matematicamente as restrições existentes: uma restrição é o tempo disponível. Assim, o artesão possui a seguinte restrição: 0,9 1 + 1,6 2 ≤ 8, com o tempo em horas, ou, 54 1 + 96 2 ≤ 480, com o tempo em minutos. A outra restrição é referente à venda pratos grandes, que é expressa como: 1 1 + 0 2 ≥ 3, pois o artesão vende no mínimo 3 pratos por noite. A última restrição é referente à venda de pratos pequenos, que possui a seguinte formulação: 0 1 + 1 2 ≤ 4. Você deve atentar quando for tratar de demanda, pois esta deve, a priori, ser trabalhada por produto para ser possível identificar a quantidade específica em que cada produto deve ser produzido. Se a demanda for tratada como um mix de produtos, a informação das quantidades a serem produzidas provavelmente será deturpada. Obter a forma-padrão: a partir dos dados anteriores, é possível montar o seguinte modelo matemático para o problema de programação linear: Maximizar = 4 1 + 6 2, sujeito às restrições Tempo de trabalho 0,9 1 + 1,6 2 ≤ 8 Pratos grandes (venda) 1 1 + 0 2 ≥ 3 Pratos pequenos (venda) 0 1 + 1 2 ≤ 4 e1 ≥ 0, 2 ≥ 0 sendo, 1: pratos grandes (un.), e 2: pratos pequenos (un.). 8 Saiba mais Leia o Item 2.2 do livro texto e estude os exercícios resolvidos. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/29>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Leia também as páginas 6 e 7 (Item 2.1) do TAHA e procure resolver pelo menos um problema do conjunto de problemas 2.1ª. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/7>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Para consolidar conceitos de modelagem, assista ao vídeo no endereço a seguir: <https://www.youtube.com/watch?v=4AbjF8Lehe8>. TEMA 2 – VARIÁVEIS DE DECISÃO E RESTRIÇÃO NO PLANO CARTESIANO Neste momento é necessário relembrar alguns conceitos matemáticos que serão empregados para desenvolver uma forma de resolver problemas de programação linear, que é a solução gráfica. Não há como fugir da matemática, mesmo no curso de Administração. Lembre-se de que uma gestão será mais eficiente e eficaz se for baseada em dados numéricos e, principalmente, na sua interpretação, que se torna mais fácil se for realizada na forma gráfica. Assim, os conceitos matemáticos revistos no presente tema também serão úteis para serem aplicados em outras disciplinas do curso, além de melhorar o desempenho das funções de administrador. O plano cartesiano. Para melhor compreensão do Tema 3, é necessário relembrar conceitos básicos de matemática. O sistema de coordenadas cartesianas (plano cartesiano) é usado para fazer a localização gráfica de pares de números reais e tem por base duas retas perpendiculares. O eixo horizontal 5. denominado eixo dos “x”, e o eixo vertical é denominado o eixo dos “y”. Para locar um ponto P, um ponto qualquer, no plano cartesiano é usado um par ordenado ( , ), onde determina a posição de P no eixo x, e determina a posição de P no eixo de y. O primeiro termo do par ordenado, 9 denominado de abscissa, é sempre usado no eixo horizontal – eixo dos x –, e o segundo termo do par ordenado, denominado ordenada, é sempre usado no eixo vertical – eixo dos y. Também é possível locar uma reta no plano cartesiano a partir de uma relação entre y e x. Veja os exemplos na Figura 1 de locação de ponto e de reta: o ponto P (3, 5) locado no plano cartesiano, possui igual a 3 e igual a 5; a reta + 2 = 4, com ≥ 0 e ≥ 0 pode ser locada a partir dos pontos (0, 4) e (2, 0). Para obter tais pontos pertencentes à referida reta, basta fazer = 0 na reta, para obter = 4 e, em seguida, fazer = 0 na reta, para obter = 2. Figura 1 – Exemplo de locação de ponto e de reta Figura 2 – Exemplo de locação de retas As variáveis de decisão e restrições no plano cartesiano: o uso do plano cartesiano na construção de solução gráfica de um problema de PL permitirá a visualização e a compreensão do significado de restrições. Por ora, vamos acrescer mais alguns conceitos de matemática. Inicialmente, faremos algumas adaptações nas designações dos eixos. 10 De forma indiferente, podemos designar tanto o eixo como eixo 1 e o eixo como eixo 2; como, o eixo como eixo 2 e o eixo como eixo 1. O resultado final será o mesmo. No entanto, a fim de evitar confusão, adotaremos a opção de designar o eixo como eixo 1 e o eixo como eixo 2. Na Figura 2 há diferentes exemplos de locação de retas de provenientes das equações de restrições. No momento, vamos nos ater apenas à locação. Assim, sejam as seguintes equações a serem plotadas no planocartesiano: 2,5 1 + 4 2 = 10 3 1 + 2 2 = 9 2 = 3 d.1 = 4,5 A equação c. é uma reta horizontal, com valor da ordenada constante e igual a 3. A equação d. é uma reta vertical, com valor da abscissa constante e igual a 4,5. A reta a ser obtida a partir da equação a. pode ser traçada definindo dois pontos pertencentes à reta: um no eixo das ordenadas ( 2), que é obtido fazendo 1 = 0 e, consequentemente, a equação ficará 4 2 = 10, o que definirá o valor de 2 = 104 = 2,5, assim o primeiro ponto será o par ordenado (0, 2,5). Para se determinar o outro ponto, faz-se o raciocino idêntico, só que em relação ao eixo das abscissas ( 1), então, o ponto é obtido fazendo 2 = 0 e, consequentemente, a equação ficará 2,5 1 = 10, o que definirá o valor de 1 = 2,510 = 4, assim o segundo ponto terá o par ordenado (4, 0). De forma semelhante à reta anterior, a reta obtida a partir da equação b. pode ser traçada a partir da definição de dois pontos que lhe pertencem: um no eixo das ordenadas ( 2), que é obtido fazendo 1 = 0 e, consequentemente, a equação ficará 2 2 = 9, o que definirá o valor de 2 = 29 = 4,5, assim o primeiro ponto será o par ordenado (0, 4,5). Para se determinar o outro ponto, faz-se o raciocino idêntico, só que em relação ao eixo das abscissas ( 1), então o ponto é obtido fazendo 2 = 0 e, consequentemente, a equação ficará 3 1 = 9, o que definirá o valor de 1 = 39 = 3, assim o segundo ponto terá o par ordenado (3, 0). Após a locação das retas será possível calcular as suas interseções, os seus pontos comuns, os pares ordenados que pertencem simultaneamente às 11 duas retas. Agora, vamos calcular algebricamente os pares ordenados de P1 e P2, apresentados na Figura 2. a. Cálculo de P1: sejam as retas, 3 1 + 2 2 = 9 2 = 3 como 2 = 3 já está definida, basta fazer a substituição de seu valor na outra equação e se obter o valor de 1. Assim, tem-se 3 1 + 2 ∙ (3) = 9 → 3 1 = 9 − 6 → 1 = 33 = 1. Portanto, o par ordenado de P1 é (1, 3). b. Cálculo de P2: sejam as retas, 2,5 1 + 4 2 = 10 3 1 + 2 2 = 9 Para determinar o par ordenado de P2, uma forma de solução prática e rápida consiste em multiplicar linearmente uma ou as duas equações por um valor (multiplicar todos os termos da equação pelo valor definido), de forma a ser possível eliminar uma das incógnitas após somar os termos semelhantes das equações. Operacionalizando estas etapas, temos: a. Se o objetivo for eliminar 2, será necessário multiplicar todos os termos da segunda equação por um múltiplo do coeficiente de 2 a fim de se igualar os valores dos coeficientes da variável 2; o valor é negativo porque os coeficientes possuem o mesmo sinal. As operações são: 2,5 1 + 4 2 = 10 2,5 1 + 4 2 = 10 somando as equações, temos: 3 + 2 = 9 (−2) −6 − 4 = −18 −3,5 = −8 ∴ = 8 ≅ 1 2 1 2 1 1 3,5 2,29 substituindo o valor de = 8 na segunda equação, tem-se 3 ( 8 ) + 2 = 9 → 1 3,5 3,5 2 2 = 9 − 24 → 2 = (9 3,5)−24 → = 7,5 = 7,5 ≅ 1,07 . Portanto, o par 2 3,5 2 3,5 2 (2 3,5) 7 ordenado de P2 é (2,29, 1,07). b. Se o objetivo for eliminar 1, será necessário multiplicar todos os termos da primeira equação pelo coeficiente de 1 da segunda equação e 12 multiplicar todos os termos da segunda equação pelo coeficiente de 1 da primeira equação. Um dos dois valores de multiplicação terá que ser negativo quando os sinais dos coeficientes da variável a ser eliminada forem iguais. As operações são: 2,5 1 + 4 2 = 10 (3) 7,5 1 + 12 2 = 30 somando as equações, temos: 3 + 2 = 9 (−2,5) −7,5 − 5 = −22,5 7 = 7,5 ∴ = 7,5 ≅ 1,07 1 2 1 2 2 2 7 e após as devidas substituições, o par ordenado de P2 é igual ao calculado na letra a) acima. A representação e a interpretação das inequações (restrições) serão desenvolvidas no Tema 3. Saiba mais Para entender relembrar os conceitos de reta com mais detalhe, acesse o endereço a seguir e assista ao vídeo: <https://www.youtube.com/watch?v=- F01tW-kVOE>. TEMA 3 – SOLUÇÃO GRÁFICA Após a elaboração do modelo matemático de programação linear na forma-padrão, pode-se empregar um processo de resolução do problema. A solução gráfica é um processo e é usada como referencial didático no estudo da programação linear, porque a sua aplicação é inviável nos problemas reais, que possuem mais de três variáveis de decisão. No entanto, a solução gráfica permite ao aluno visualizar em uma perspectiva gráfica as limitações impostas pelas diferentes restrições (inequações) e o processo de solução do problema, o que será abordado neste tema. Solução gráfica: a solução gráfica permite apresentar no máximo três variáveis de decisão, porém sua montagem é bastante trabalhosa. Entretanto, soluções gráficas serão usadas para fins didáticos de problemas com duas variáveis de decisão, por ser de fácil compreensão e visualização. Vale lembrar o que foi comentado anteriormente, de que dificilmente haverá um problema de programação linear com apenas duas variáveis de decisão no “mundo real”. Na elaboração da solução gráfica, apenas a parte (quadrante) do plano cartesiano que possui abscissa e ordenada “positivas” será usada. Isso se deve 13 ao fato de que as variáveis de decisão deverão ser sempre maiores ou iguais a zero ( 1 ≥ 0 e 2 ≥ 0). Um roteiro simples para elaborar a solução gráfica é o seguinte: a. Traçar as retas originárias das inequações que definem as restrições; b. Determinar os pontos de interseção entre as retas (esta etapa pode ser executada após a letra c., para se calcular apenas os pontos de interesse); c. Identificar a área que as inequações definem como verdade (área comum às inequações): a área determina todos os pontos que atendem as inequações; e d. De forma pragmática, testar as possíveis soluções (vértices) para encontrar o valor da função objetivo. Solução gráfica do exemplo 1. A forma-padrão do problema do exemplo 1 é a seguinte: Maximizar = 10 1 + 8 2, sujeito às restrições Montagem 3 1 + 3 2 ≤ 30 Acabamento 6 1 + 3 2 ≤ 48 e 1 ≥ 0, 2 ≥ 0 sendo, 1: cadeiras (un.), e 2: mesas (un.) Etapas da solução: a. Traçar as retas originárias das inequações que definem as restrições: determinar um par ordenado no eixo das abscissas e um para ordenado no eixo das ordenadas. Em seguida, locar os pontos e traçar a reta. - montagem: 3 1 + 3 2 = 30, com 1 = 0, tem-se 3 2 = 30 → 2 = 303 = 10 Assim, um par ordenado é (0, 10). Fazendo 2 = 0, tem-se 3 1 = 30 → 1 = 303 = 10. Assim, o outro par ordenado é (10, 0). - acabamento: 6 1 + 3 2 = 48, com 1 = 0, tem-se 3 2 = 48 → 2 = 483 = 16. Assim, um par ordenado é (0, 16). Fazendo 2 = 0, tem-se 6 1 = 48 → 1 = 48 6 = 8. Assim, o outro par ordenado é (8, 0). 14 b. Determinar o ponto de interseção entre as retas: 3 1 + 3 2 = 30(−2) −6 1 − 6 2 = −60 somando as equações, temos: 6 + 3 = 48 6 + 3 = 48 −3 = −12 ∴ = 12 = 4 1 2 1 2 2 2 3 fazendo 2 = 4 na segunda equação, tem-se 6 1 + 3 (4) = 48 → 6 1 = 48 − 12 → 1 = 366 = 6 . Portanto, o par ordenado é (6, 4). A Figura 3a apresenta o plano cartesiano com as retas e o ponto de interseção. Figura 3a – Retas e ponto de interseção15 Figura 3b – Área que atende as inequações c. Identificar a área que as inequações definem como verdade (área comum às inequações): para isso, basta substituir o ponto (0, 0) na inequação, se o valor a esquerda for menor que o valor da direita da inequação, o ponto (0, 0) faz parte da área que atende a inequação. Assim, 3 (0) + 3(0) = 0 ≤ 30 (Verdadeiro) 6(0) + 3(0) = 0 ≤ 48 (Verdadeiro) Portanto, a área que atende as duas inequações é apresentada na Figura 3b. A área hachurada (preenchida) é a que atende simultaneamente as duas inequações, e nela estão localizadas todas as soluções possíveis. d. De forma pragmática, testar as possíveis soluções (vértices) para encontrar o valor da função objetivo. O que se deseja saber é: qual é a melhor combinação possível de cadeiras e mesas a serem produzidas, de forma a obter a maior margem de contribuição total. Para isso, a função objetivo é maximizar = 10 1 + 8 2, consequentemente a solução estará nos pontos mais distantes da origem (0, 0), porque se deseja a maior contribuição. Os pontos mais afastados são: (0, 10): = 10(0) + 8(10) = 80 (6, 4): = 10(6) + 8(4) = 92 (8, 0): = 10(8) + 8(0) = 80 e. Solução: para se obter a maior contribuição, deve-se produzir 6 cadeiras e 4 mesas. A maior contribuição será $92,00. 16 Solução gráfica do exemplo 2. A solução será menos comentada do que a realizada no exemplo 1 por ser a mesma sequência de eventos. A forma- padrão é: Maximizar = 4 1 + 6 2, sujeito às restrições Tempo de trabalho 0,9 1 + 1,6 2 ≤ 8 Pratos grandes (venda) 1 1 + 0 2 ≥ 3 Pratos pequenos (venda) 0 1 + 1 2 ≤ 4 e1 ≥ 0, 2 ≥ 0 sendo, 1: pratos grandes (un.), e 2: pratos pequenos (un.). Etapas da solução: a. Traçar as retas originárias das inequações que definem as restrições: determinar um par ordenado no eixo das abscissas e um para ordenado no eixo das ordenadas. Em seguida, locar os pontos e traçar a reta. - tempo: 0,9 1 + 1,6 2 = 8, com 1 = 0, tem-se 2 = 1,68 = 5. Assim, um par ordenado é (0, 5). Fazendo 2 = 0, tem-se 1 = 0,98 ≅ 8,89. Assim, o outro par ordenado é (8,89, 0). - pratos grandes: é a reta 1 = 3. - pratos pequenos: é a reta 2 = 4. Determinar o ponto de interseção entre as retas: 0,9 1 + 1,6 2 = 8 e 1 = 3, como 1 = 3, tem-se 0,9(3) + 1,6 2 = 8 1,6 2 = 8 − 2,7 ∴ 2 = 5,31,6 ≅ 3,3125. Portanto, o par ordenado é (3, 3,31). A Figura 4a apresenta o plano cartesiano com as retas e o ponto de interseção. Figura 4a – Retas e ponto de interseção 17 Figura 4b – Área que atende as inequações Identificar a área que as inequações definem como verdade (área comum às inequações): para isso, basta substituir o ponto (0, 0) na inequação e comparar o valor obtido à esquerda com o valor à direita da inequação. Se for verdadeiro, a região que possui pontos que satisfazem a inequação está localizada entre a reta e o ponto (0, 0); se falso, a região que atende a inequação está localizada após a reta, afastando-se do ponto (0, 0). Assim, 0,9(0) + 1,6(0) = 0 ≤ 8 (Verdadeiro) 1(0) + 0 2 = 0 ≥ 3 (Falso), então os valores (região) que atende inequação estão localizados à direita da reta, afastando-se do ponto (0, 0). 0 1 + 1(0) = 0 ≤ 4 (Verdadeiro) Portanto, a área que atende as três inequações é apresentada na Figura 4b. A área hachurada é a que atende as simultaneamente as três inequações, e nela estão as soluções possíveis. 18 b. De forma pragmática, testar as possíveis soluções (vértices) para encontrar o valor da função objetivo. O que se deseja saber é: quantos pratos de cada tipo são necessários pintar para se obter a maior receita possível. Para isso, a função objetivo é maximizar = 4 1 + 6 2, consequentemente a solução estará nos pontos mais distantes da origem (0, 0), porque se deseja a maior receita. Os pontos mais afastados são: (3, 3,31): = 4(3) + 6(3) = 30 (8,89, 0): = 4(8,89) + 6(0) = 35,55 c. Solução: para se obter a maior receita, o artesão deve pintar 8 pratos grande e obter $ 35,55. (o valor 3,31 significa que foram pintados 3 pratos pequenos e um ficou inacabado; o valor 8,89 significa que foram pintados 8 pratos grande e um ficou inacabado. Entretanto, apenas pratos completamente pintados podem ser vendidos, não é verdade?) Saiba mais Leia o Item 2.3 do livro texto, estude os exercícios resolvidos e resolva as questões para revisão. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/33>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Leia o Item 2.2.1 do TAHA e procure resolver os exercícios do conjunto de problemas 2.2ª. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/9>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Acesse os links para assistir a exemplos de solução gráfica: <https://www.youtube.com/watch?v=7jMMPSXDrHs> e <https://www.youtube.com/watch?v=OJ3jIPOvw-A>. 19 TEMA 4 – TERMINOLOGIA PARA SOLUÇÕES: SOLUÇÕES INEXISTENTES, ILIMITADAS E MÚLTIPLAS O conhecimento da terminologia empregada para referenciar os diversos tipos de solução possível para problemas de programação linear facilitará a compreensão da abordagem dos diferentes autores que tratam de programação linear e inclusive o desenvolvimento desta disciplina. Assim, este tema tem por objetivo apresentar, além da terminologia de tipos de soluções, os teoremas que caracterizam a abordagem de solução, própria da programação linear. Terminologia: para tratar de tipos de soluções para modelos de programação linear, usa-se a seguinte terminologia (Lachtermacher, 2007; Hillier, Lieberman, 2010): Solução: qualquer especificação de valores para as variáveis de decisão, independentemente de ser desejável ou mesmo ser uma opção admissível. Solução viável: é aquela para a qual todas as restrições são satisfeitas. Por exemplo, na Figura 5, verifica-se que P1 e P2 são soluções viáveis. Solução inexistente: existe a possibilidade de que o problema de programação linear não possua solução viável, ou seja, não existe solução para o problema. Tal situação é apresentada na Figura 6. Solução inviável: é aquela para a qual pelo menos uma das restrições é violada. Por exemplo, na Figura 5, verifica-se que P3 não atende a restrição ≤ , e P4 não atende a restrição + ≤ . Região de soluções viáveis: é o conjunto de todas as soluções viáveis – como exemplo, a área hachurada nas Figuras 3b, 4b e 5. 20 Figura 5 – Soluções (Hillier; Lieberman, 2010) Figura 6 – Solução inexistente (Hillier; Lieberman, 2010) Solução ótima: uma solução viável que tem o valor mais favorável da função objetivo, isto é, maximiza (maior valor) ou minimiza (menor valo) a função objetivo em toda a região viável, podendo ser única ou não. Soluções ótimas múltiplas: é a situação em que há um número infinito de soluções ótimas, cada uma com o mesmo valor ótimo da função objetivo. Na Figura 7, o segmento de reta, em vermelho,possui múltiplas soluções ótimas. 21 Figura 7 – Múltiplas soluções (Hillier; Lieberman, 2010) Figura 8 – Soluções ilimitadas (Hillier; Lieberman, 2010) Soluções ilimitadas (Z ilimitado): é a situação em que não há uma solução ótima porque as restrições não impedem que se aumente indefinidamente o valor da função objetivo (Z) na direção favorável, como pode ser visto na situação apresentada na Figura 8. Teoremas: Lachtermacher (2007) define informalmente que “um conjunto convexo é um conjunto de pontos em que todos os segmentos de reta que unem dois de seus pontos são internos ao conjunto, isto é, todos os pontos de cada segmento também pertencem ao conjunto original”. Esta definição pode ser materializada graficamente, quando há duas variáveis de decisão; o conjunto convexo é a área hachurada nas Figuras 3b e 4b. A partir da compreensão do que seja conjunto convexo, o autor apresenta os seguintes teoremas pertinentes à programação linear: 22 Teorema I: o conjunto de todas as soluções viáveis de um modelo de programação linear é um conjunto convexo. Teorema II: toda solução compatível básica (solução óbvia) do sistema de equações lineares de um modelo de programação linear é um ponto extremo do conjunto de soluções viáveis, isto é, do conjunto convexo de soluções. Teorema III: se uma função objetivo possui um único ponto ótimo finito, então este é um ponto extremo do conjunto convexo de soluções viáveis. Teorema IV: se a função objetivo assume o valor ótimo em mais de um ponto do conjunto de soluções viáveis (soluções múltiplas), então ela assume este valor para pelo menos dois pontos extremos do conjunto convexo e para qualquer combinação convexa desses pontos extremos, isto é, todos os pontos do segmento de reta que unem estes dois extremos, ou seja, a aresta do polígono que contém esses extremos. Saiba mais Releia o Item 2.2.1 do TAHA e identifique no texto os conceitos apresentados acima. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/9>. TAHA, Handy A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. TEMA 5 – A PRODUÇÃO DE BEBIDA NA LE PETIT PAIN: UM PROBLEMA DE MISTURA Até o presente momento foram apresentados apenas problemas do tipo maximização, entretanto, é oportuno abordar um problema do tipo minimização e empregar o roteiro de modelagem e aplicar a solução gráfica. Após a resolução do problema proposto de minimização, verifique que a solução ótima dos problemas de maximização estará nos vértices superiores do conjunto convexo de soluções, e a solução ótima do problema de Minimização está nos vértices inferiores do referido conjunto. Este tema tem por objetivo apresentar a solução de um problema de minimização. Problemas de mistura: são relativamente frequentes em programação linear. Seu objetivo é encontrar a melhor mistura de ingredientes nos produtos 23 finais para atender a determinadas especificações. Pode ter o objetivo tanto de maximizar como de minimizar. No exemplo a seguir, será apresentado um problema de minimização, contudo todo o processo de solução apresentado anteriormente será praticamente repetido. Seja o seguinte problema didático: A padaria Le Petit Pain deseja lançar uma nova bebida para seus frequentadores, em especial aos moradores do bairro, geralmente pessoas com mais de 60 anos. A nova bebida é basicamente composta por uma bebida láctea e por um complemento alimentar (farinha) em diversos sabores. Sabe-se que os nutrientes da bebida láctea e do complemento alimentar fornecem as quantidades de vitaminas dadas na Tabela 2.4. Tabela 2.4 – Composição alimentar: quantidade e custo Vitaminas Bebida láctea (l) Complemento Quantidade alimentar (kg) diária mínima A 0,25 mg 2 mg 1 mg B 25 mg 20 mg 50 mg C 3 mg 6 mg 10 mg Custo unitário ($) 3,0 17,0 - Deseja-se calcular quais são as quantidades de bebida láctea e de complemento alimentar capazes de satisfazer as quantidades diárias mínimas de nutrientes (vitaminas) a um custo mínimo. A definição das quantidades determinará a proporção a ser utilizada no preparo da bebida. Solução: inicialmente será desenvolvida a modelagem do problema a fim de obter a forma-padrão e, em seguida, será elaborada a solução gráfica do problema. 1. Modelagem: a. Identificar as variáveis de decisão ( 1, 2): a partir do enunciado, pode-se identificar que se deseja conhecer as quantidades de bebida láctea e de complemento alimentar. Assim, tem- se que: 1: bebida láctea (l); e 2: complemento alimentar (kg). b. Definir a função objetivo: como se deseja obter um custo mínimo, e a partir dos dados da Tabela 2.4 se obtém a seguinte função objetivo, minimizar = 3 1 + 17 2. 24 c. Expressar matematicamente as restrições existentes: fazendo uso novamente dos dados existentes na Tabela 2.4, é possível elaborar a função matemática que expressa a restrição de vitamina A como 0,25 1 + 2 2 ≥ 1, a restrição de vitamina B como 25 1 + 20 2 ≥ 50 e a restrição de vitamina C como 3 1 + 6 2 ≥ 10. d. Obter a forma-padrão: a partir dos dados anteriores, é possível montar o seguinte modelo matemático para o problema de programação linear: Minimizar = 3 1 + 17 2, sujeito às restrições Vitamina A 0,25 1 + 2 2 ≥ 1 Vitamina B 25 1 + 20 2 ≥ 50 Vitamina C 3 1 + 6 2 ≥ 10 e 1 ≥ 0, 2 ≥ 0 sendo, 1: bebida láctea (l), e 2: complemento alimentar (kg). 2. Solução gráfica: Figura 9 – Solução gráfica Foi seguido o seguinte roteiro para obter a solução gráfica da Figura 9: a. Traçaram-se as retas originárias das inequações (restrições); b. Identificou-se a área que as inequações definem como verdade (área comum às inequações); c. A partir da definição da área, foram obtidos os pares ordenados dos pontos P1, P2, P3 e P4, conforme apresentado a seguir: 25 - P1 (0, 2,5) foi obtido diretamente do gráfico; - P4 (4, 0) foi obtido diretamente do gráfico. - P2 (1,11, 1,11) foi obtido a partir da interseção entre as retas: 25 1 + 20 2 = 50 (−3) −75 1 − 60 2 = −150 somando as equações, temos: 3 + 6 = 10 (25) 75 + 150 = 250 90 = 100 ∴ = 100 ≅ 1 2 1 2 2 2 90 1,11 fazendo 2 = 1,11 na segunda equação: 3 1 + 6 ( 100 ) = 10 → 3 1 = 10 − 90 600 → 3 = 900−600 → 3 = 300 → = 100 ≅ 1,11; e 90 1 90 1 90 1 90 - P3 (3,11, 0,11) foi obtido a partir da interseção entre as retas: 0,25 1 + 2 2 = 1 (−3) −0,75 1 − 6 2 = −3 somando as equações, temos: 3 + 6 = 10 3 + 6 = 10 2,25 = 7 ∴ = 7 ≅ 3,11 1 2 1 2 1 1 2,25 fazendo = 3,11 na primeira equação: 0,25 ( 7 ) + 2 = 1 → 2 = 1 − 1 2,25 2 2 1,75 → 2 = 2,25−1,75 → 2 = 0,5 → = 0,25 ≅ 0,11; 2,25 2 2,25 2 2,25 2 2,25 Por fim, os pontos (vértices) acima foram testados na função objetivo = 3 1 + 17 2.Observe que esses pontos foram escolhidos porque estão nas arestas inferiores da região de soluções viáveis. Como o problema é de minimização, não há, neste caso, a necessidade da limitação superior da região de soluções viáveis. Por isso se avaliam os pontos (vértices) que estão mais próximos da origem (0, 0), porque serão os menores valores da função objetivo, como apresentado a seguir: - (0, 2,5) = 3(0) + 17(2,5) = 42,5 - (1,11, 1,11) = 3(1,11) + 17(1,11) = 22,22 - (3,11, 0,11) = 3(3,11) + 17(0,11) = 11,22 - (4, 0) = 3(4) + 17(0) = 12 26 Conclusão: o menor custo será $11,22 ( = 11,22), a quantidade de leite será de 3,11 litros e do suplemento alimentar, de 0,11 quilogramas, para se obter a quantidade diária de vitaminas. Como é um produto a ser vendido, outra referência é a proporcionalidade entre leite e suplemento alimentar, que é a dosagem de 35,37 gramas do suplemento alimentar para cada litro de leite. Saiba mais Leia o Item 2.2.2 do Taha e procure resolver o conjunto de problemas 2.2B. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/1>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. NA PRÁTICA Leia novamente os teoremas pertinentes à programação linear e discuta no fórum com seus colegas da disciplina se os teoremas são compatíveis com cada solução dos problemas apresentados nesta rota de ensino. Leia o caso de ensino sugerido e depois responda o solicitado. Terminada a atividade de estudo e solucionado o estudo de caso, você receberá a solução para a atividade realizada pelo professor que elaborou o presente caso de ensino. Orientações para realizar a atividade: Leia o caso de ensino atentamente e os temas da rota. Reveja no texto desta rota de aprendizagem as referências necessárias que você usará para resolver o caso de ensino. Se possível, reescreva os passos necessário para realizar a modelagem para obter a forma-padrão e as etapas para elaborar a solução gráfica. Tenha o material em mãos para consulta. Boa aprendizagem! Caso de Ensino nº 02: A indústria Alumilâminas S/A (LACHTERMACHER, 2007) A indústria Alumilâminas S/A iniciou suas operações em janeiro de 2001 e já vem conquistando espaço no mercado de laminados brasileiro, tendo contratos fechados de fornecimento para todos os três tipos diferentes de lâminas de alumínio que fabrica: espessura fina, média ou grossa. Toda a 27 produção da companhia é realizada em duas fábricas, uma localizada em São Paulo e a outra, no Rio de Janeiro. Segundo os contratos fechados, a empresa precisa entregar 16 toneladas de lâminas finas, 6 toneladas de lâminas médias e 28 toneladas de lâminas grossas. Devido à qualidade dos produtos da Alumilâminas S/A, há uma demanda extra para cada tipo de lâmina. A fábrica de São Paulo tem um custo de produção de R$ 100.000,00 para uma capacidade produtiva de 8 toneladas de lâminas finas, 1 tonelada de lâminas médias e 2 toneladas de lâminas grossas por dia. O custo de produção diário da fábrica do Rio de Janeiro é de R$ 200.000,00 para uma produção de 2 toneladas de lâminas finas, 1 tonelada de lâminas médias e 7 toneladas de lâminas grossas. Quantos dias cada uma das fábricas deverá operar para atender os pedidos ao menor custo possível? Coloque o problema na forma- padrão e encontre a solução gráfica. Padrão de resposta: Após o estudante ter lido a rota 2 completa e também ter acessado os materiais de apoio sugeridos, é esperado que realize a modelagem do problema e encontre a forma-padrão e a seguinte solução gráfica: a. Forma-padrão: Minimizar = 1 1 + 2 2 (x $100.000), sujeito às restrições (Fina) 8 1 + 2 2 ≥ 16 (Média) 1 1 + 1 2 ≥ 6 (Grossa) 2 1 + 7 2 ≥ 28 e 1 ≥ 0, 2 ≥ 0 sendo 1: operação da fábrica de São Paulo em dias, e 2: operação da fábrica do Rio de Janeiro em dias. b. Solução gráfica: 28 c. Conclusão: para atender o pedido, a empresa deverá operar a fábrica de São Paulo por 4 dias e operar a fábrica do Rio de Janeiro por 3 dias. FINALIZANDO Nesta segunda aula, foram empregados conceitos de programação linear para resolver problemas. Vamos relembrar o processo de construção do conhecimento. Inicialmente foi apresentada a forma de realizar a modelagem de um problema de programação linear. Em seguida, foi realizada uma pequena revisão de conceitos matemáticos que são empregados na elaboração de solução gráfica, a qual foi detalhada no tema seguinte. Também foi apresentada a terminologia referente aos tipos de solução e, por fim, foi desenvolvido um problema de minimização de programação linear. O objetivo do caso de ensino é fazer com que o aluno utilize os ensinamentos apresentados nesta rota de ensino para resolver um problema de programação linear, identificando as variáveis de decisão e as restrições existentes. 29 REFERÊNCIAS CORRAR, L. J.; THÉOPHILO, C. R.; BERGMANN, D. R. Programação linear. In: CORRAR, L. J.; THÉOPHILO. Pesquisa operacional para decisão em contabilidade e administração: contabilometria. 1. ed. 3. reimp. São Paulo: Atlas, 2007. HILLIER, F. S.; LIEBERMAN, G. J. Introdução à Pesquisa Operacional. 9. ed. Porto Alegres: McGraw-Hill, 2010 LACHTERMARCHER, G. Pesquisa operacional na tomada de decisões: modelagem em Excel. 4. ed. Rio de Janeiro: Elsevier, 2009. 30 PESQUISA OPERACIONAL AULA 3 Prof. José de Souza Leal Neto CONVERSA INICIAL Na aula passada, desenvolvemos a solução gráfica para um problema de programação linear. Entretanto, a solução gráfica só pode ser empregada quando existirem duas ou, no máximo, três variáveis, estas últimas com visualização mais difícil (Lachtermacher, 2007). Quando há três ou mais variáveis de decisão, é melhor fazer uso de outros métodos, entre os quais está o simplex. Nesta aula vamos ampliar o conhecimento referente à programação linear com o estudo do método simplex. Apresentaremos conceitos referentes ao método e em seguida o seu algoritmo (etapas executiva) para serem aplicados na obtenção de soluções de problemas de programação linear. O método simplex não está dissociado do método gráfico, pois são pertinentes à programação linear. Consequentemente, tais métodos devem obter a mesma solução ótima, se houver. Basicamente, enquanto o método gráfico necessita identificar a região de soluções viáveis para então determinar a solução ótima, o simplex faz uso exclusivamente das interseções de retas e planos – vértices – para identificar a solução ótima, por meio de iterações sequenciais. No que diz respeito às iterações do método simplex, Hillier e Lieberman (2013) esclarecem que o método simplex é um algoritmo iterativo, ou seja, é “um procedimento sistemático para solução que repete uma série de etapas, chamadas iterações, até que se chegue a um resultado desejado”. Inicialmente, o método simplex parecerá complicado, mas, com estudo sistemático e perseverante, você se familiarizará com as rotinas executivas (procedimentos) do algoritmo, por seremsempre as mesmas, e com a terminologia usada. Agora, vamos à terceira aula desmistificar o método simplex. CONTEXTUALIZANDO Administradores comprometidos evitam gastar energia para obter exclusivamente uma solução para uma dada situação em estudo – um problema. Eles empregam seus esforços para obter o máximo possível de informações a respeito do problema, diagnosticá-lo e, assim, conseguir mais subsídios para a tomada de decisão a partir da interpretação dos dados que advêm com a solução do problema. 2 Até o presente momento, abordamos exclusivamente o processo de obtenção da solução ótima, mas é possível obter mais informações a partir da interpretação dos dados obtidos no processo de solução. Felizmente, o processo tabular do método simplex, além de ser capaz de fornecer uma solução ótima, permite a visualização de dados que poderão responder questões como: quais insumos/recursos estão plenamente usados? Quais insumos/recursos possuem disponibilidade para uso? Entre outros. O método simplex é um procedimento desenvolvido por George Dantizig em 1947 com o objetivo de solucionar problemas de programação linear. Por ser um método eficiente, é usado, com frequência, para solucionar problemas de grande porte nos computadores atuais. Exceto por seu emprego em problemas muito pequenos, como os exemplos desenvolvidos nesta disciplina, o método simplex é sempre executado em um computador (Hillier; Lieberman, 2013). Nesta aula serão apresentados os conceitos usados no método simplex e explicado o seu algoritmo para solucionar o problema de programação linear, bem com a interpretação dos dados existentes no “tableau” final. Em função do tempo disponível, serão desenvolvidos apenas problemas de maximização empregando o método simplex. Os problemas de minimização serão desenvolvidos a partir da apresentação da ferramenta Solver, do Excel. Entretanto, será realizada uma pequena introdução dos algoritmos existentes do método simplex para resolver problemas de minimização. TEMA 1 – MÉTODO SIMPLEX A aplicação do método simplex só pode ocorrer após a obtenção da forma-padrão de um problema de programação linear, ou seja, após a realização da modelagem. A partir da forma-padrão se realizam transformações na função objetivo e nas restrições a fim de usar coeficientes e constantes na forma tabular. Neste procedimento preparatório estão inseridos novos conceitos e terminologias, os quais serão apresentados a seguir. Ideia geral. “O método simplex combina conceitos de álgebra matricial com conjunto de regras básicas que conduzem à identificação dos problemas de Programação Linear” (Corrar; Theóphilo; Bergmann, 2007). De forma resumida, usando o argumento de Andrade (2009), pode-se afirmar que o simplex é um método de resolução de equações lineares. Por outro lado, Hillier e Lieberman (2013) informam que “o método simplex é um procedimento algébrico. 3 Entretanto, seus conceitos subjacentes são geométricos. Entender esses conceitos geométricos dá uma forte sensação intuitiva de como o método simplex opera e o que o torna dão eficiente”. Portanto, podemos conectar a solução gráfica com o procedimento algébrico existente no método simplex. Em sua essência, o algoritmo (procedimento) do método simplex se baseia em buscar a solução ótima do problema na interseção (vértices) de duas ou mais linhas ou planos (restrições) e, para isso, realiza um trajeto de vértice em vértice por meio de iterações que melhoram a solução até encontrar a solução ótima, se houver. Conceitos aplicados: antes de se iniciar o algoritmo do método simplex, necessário transformar as desigualdades lineares das restrições (inequações) em equações lineares. Essa transformação é apresentada a seguir, bem como os conceitos inerentes ao método simplex, a partir do seguinte problema proposto por Andrade (2009): Uma marcenaria deseja estabelecer uma programação diária de produção. Atualmente a oficina fabrica apenas dois produtos: mesas e armários, ambos de um só modelo. Para efeitos de simplificação, é considerado que a marcenaria possui limitações em apenas dois recursos: madeira e mão de obra, cujas disponibilidades diárias são apresentadas na Tabela 1. Tabela 1 – Disponibilidade de recursos Recurso Disponibilidade Madeira 12 m² Mão de obra 8 H.h (homem.hora) O processo de produção é tal que, para fazer 1 mesa, a fábrica emprega 2 m² de madeira e 2 H.h de mão de obra, e, para fazer 1 armário, são gastos 3 m² de madeira e 1 H.h de mão de obra. Além disso, o fabricante sabe que cada mesa dá uma margem de contribuição para o lucro de $ 4, e cada armário dá uma margem de $ 1. O fabricante deseja encontrar o programa de produção que maximiza a margem de contribuição total para o lucro. Para o problema acima, a forma-padrão e a solução gráfica são as seguintes: Maximizar = 4 1 + 1 2, 4 sujeito às restrições Madeira 2 1 + 3 2 ≤ 12 Mão de obra 2 1 + 1 2 ≤ 8 e1 ≥ 0, 2 ≥ 0 sendo, 1: mesas (un.), e 2: armários (un.). Figura 1 – Solução gráfica Andrade (2009) informa que para realizar a transformação das desigualdades lineares das restrições (inequações) em equações lineares, a fim de aplicar o algoritmo do método simplex, é necessário que se compreenda que as restrições do problema possuem a seguinte estrutura lógica: UTILIZAÇÃO DE RECURSO ≤ DISPONIBILIDADE O problema de programação linear sempre respeitará a restrição, a estrutura lógica acima, como pode ser observado em todas as soluções gráficas para problemas de maximização apresentadas até o momento. Quando se aplica o conceito de folga de recurso, é possível escrever a relação acima da seguinte forma: UTILIZAÇÃO + FOLGA = DISPONIBILIDADE Isso significa que: UTILIZAÇÃO < DISPONIBILIDADE, significa que FOLGA > 0; UTILIZAÇÃO = DISPONIBILIDADE, significa que FOLGA = 0. 5 Assim, a folga de cada recurso pode ser representada por uma variável da seguinte forma: 3: folga de madeira (m²), e 4: folga de mão de obra (H.h). Observe que as unidades empregadas nas folgas devem ser as mesmas dos recursos a que se referem. A introdução das variáveis de folga 3 e 4 reestrutura a forma-padrão para o seguinte: Maximizar = 4 1 + 1 2 + 0 3 + 0 4, sujeito às restrições Madeira 2 1 + 3 2 + 1 3 = 12 Mão de obra 2 1 + 1 2 + +1 4 = 8 6. 1 ≥ 0, 2 ≥ 0, 3 ≥ 0, 4 ≥ 0 A partir deste momento, o problema passa a ser encontrar a solução do sistema de equações lineares que maximiza Z (lucro), uma vez que não há mais inequações (desigualdades). Resolvido o sistema de equações, os valores encontrados para as variáveis de decisão são aplicados na função objetivo para determinar o valor de Z. As variáveis às quais for atribuído na resolução valor igual a 0 são chamadas variáveis não básicas; as variáveis cujos valores são diferentes de 0 (valores positivos) são as variáveis básicas, e o conjunto das variáveis básicas é denominado de base. Como o algoritmo do método simplex é iterativo e percorre os vértices da região de soluções viáveis, o ponto de partida será na origem quando o problema de maximização. Os problemas de minimização possuem um algoritmo próprio no método simplex. No nosso exemplo – de maximização –, temos a seguinte solução inicial: Variáveis não-básicas: 1 = 0, 2 = 0 (valores iguais a 0); Variáveis básicas: 3 = 12, 4 = 8 (valores diferentes de 0); Função objetivo: = 4(0) + 1(0) + 0(12) +0(8) = 0 Estes valores são obtidos considerando que nenhum recurso (madeira e mão de obra) foi utilizado e, consequentemente, ainda se dispõe de folga, não houve produção nem venda subsequente. Saiba mais 6 Leia a página 44 do livro-texto. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/45>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Leia os itens 3.1 e 3.2 do TAHA. Disponíveis em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/39>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. TEMA 2 – O ALGORÍTIMO DO MÉTODO SIMPLEX Basicamente, algoritmo é uma sequência finita de procedimentos, etapas, operações, adequadamente definidas que possibilitam solucionar um problema. O método simplex é um algoritmo que emprega tabelas numéricas, o que facilita a visualização e a execução de seus procedimentos. Após a montagem da tabela inicial – tableau –, os procedimentos são iterativos (repetitivos) até que seja obtida uma solução ótima. A solução é considerada ótima porque não é possível obter uma solução melhor. O algoritmo do método simplex se tornará mais “amistoso” à medida que for usado. Assim, para facilitar a compreensão, no presente tema os procedimentos do algoritmo são apresentados de forma aplicada a um exemplo de maximização. O algoritmo: o método simplex usa uma forma tabular – tableau – a partir de informações essenciais, as quais são obtidas da forma-padrão, tais como: coeficientes das variáveis, constantes de restrições e variáveis básicas e não básicas (Lachtermacher, 2007). A seguir, é apresentado um roteiro do método simplex proposto por Andrade (2009), o qual será usado para resolver o problema apresentado no tema anterior. Seja, portanto, a seguinte forma- padrão: Maximizar = 4 1 + 1 2, sujeito às restrições Madeira 2 1 + 3 2 ≤ 12 7 Mão de obra 2 1 + 1 2 ≤ 8 6. 1 ≥ 0, 2 ≥ 0 Passo 1: introduzir as variáveis de folga; uma para cada desigualdade (restrição). A partir da forma-padrão, são incluídas as variáveis de folga 1 e 2. Maximizar = 4 1 + 1 2 + 0 3 + 0 4, sujeito a 2 1 + 3 2 + 1 3 = 12 2 1 + 1 2 + +1 4 = 8 1 ≥ 0, 2 ≥ 0, 3 ≥ 0, 4 ≥ 0 Passo 2: montar um quadro para os cálculos, colocando os coeficientes de todas as variáveis com seus respectivos sinais e, na última linha, incluir os coeficientes da função objetivo transformada. Inicialmente, na forma-padrão, a função objetivo não possui um valor (constante) no lado direito da equação, assim deve-se fazer a seguinte modificação para que possua uma constante: = 4 1 + 1 2 + 0 3 + 0 4 → − 4 1 − 1 2 − 0 3 − 0 4 = 0 Tabela 2 – Tableau inicial BASE 1 2 3 4 b 3 2 3 1 0 12 4 2 1 0 1 8 Z - 4 - 1 0 0 0 Há autores que posicionam a função objetivo na primeira linha da tabela ou até mesmo como uma coluna, ou seja, é uma questão de opção, já que os procedimentos do método são obedecidos. Entretanto, consideramos a estrutura aqui apresentada por permitir melhor visualização dos procedimentos do método simplex. 8 Passo 3: estabelecer uma solução básica inicial, usualmente atribuindo valor zero às variáveis originais e achando valores positivos para as variáveis de folga. A partir do tableau inicial, tem-se a seguinte situação: Variáveis não-básicas: 1 = 2 = 0 ; o Variáveis básicas (BASE), a partir dos dados obtidos na primeira e na última coluna: 3 = 12 (1ª linha) e 4 = 8 (2ª linha); Função objetivo: = 0, observe que este valor já está incluído no tableau inicial. Em regra, o método simplex para problemas de maximização sempre possuirá no tableau inicial Z=0. Passo 4: como próxima variável a entrar na base, escolher a variável não básica que fornece, na última linha, a maior contribuição para o aumento da função objetivo (ou seja, tem o maior valor negativo). Se todas as variáveis que estão fora da base tiverem coeficientes nulos ou positivos nessa linha, a solução atual é ótima. Se alguma dessas variáveis tiver coeficiente nulo, isso significa que ela pode ser introduzida na base sem aumentar o valor da função objetivo. Isso quer dizer que temos outra solução ótima, com o mesmo valor da função objetivo. No tableau inicial se identifica que 1 (coluna de 1 e linha de Z) possui o maior coeficiente na última linha. A escolha da variável não básica que forneça a maior contribuição é um critério, e não um procedimento definido pelo método simplex. Ao se adotar este critério, é esperado que o número de iterações necessárias para se obter a solução ótima seja o menor possível. A outra opção seria escolher 2. Da mesma forma, seria possível obter a solução ótima, se houver, mas provavelmente com um número maior de iterações. Passo 5: para escolher a variável que deve deixar a base, deve-se realizar o seguinte procedimento: o Dividir os elementos da última coluna (constante) pelos correspondentes elementos positivos da coluna da variável (coeficiente) que vai entrar na base. Caso não haja elemento algum positivo nessa coluna (coeficiente da variável), o processo deve parar, 9 já que a solução seria ilimitada; se o coeficiente da variável for 0 (zero), não realizar a divisão; 7 No caso de haver dois quocientes com o mesmo valor, escolher um deles e continuar as operações; e. O menor quociente indica a equação cuja respectiva variável básica deverá ser anulada, tornando-se variável não básica. Neste procedimento, são usados apenas os coeficientes referentes às restrições. Portanto, teremos a partir da divisão das constantes – coluna de b – pelos coeficientes da coluna de 1 a seguinte situação: Tabela 3 – Tableau BASE 1 2 3 4 b 3 2 3 1 0 12 12 = 6 2 4 2 1 0 1 8 8 = 4 2 Z - 4 - 1 0 0 0 Como o menor quociente (4) é o da segunda linha, a variável que deve sair da BASE é 4. Após estes procedimentos anteriores, pode- se denominar coluna pivô a coluna de 1 e linha pivô a linha de 4. A interseção da coluna e da linha pivô define o número pivô. A escolha do menor quociente é para garantir que sempre os valores da constante b permaneçam positivos após as operações elementares de linhas (Passo 6). Esta escolha é um procedimento imposto pelo método simplex. Passo 6: empregando operações válidas com as linhas da matriz (quadro), transformar o quadro de cálculos de modo a encontrar a nova solução básica. A coluna da nova variável básica deverá se tornar um vetor identidade, no qual o elemento 1 aparece na linha correspondente à variável que está sendo anulada. Neste passo, as operações entre as linhas do tableau são operações elementares de linhas, existentes na “eliminação de Gauss”. Ao final das operações, o elemento pivô terá valor igual a 1, e os demais elementos da coluna pivô, inclusive da função objetivo, terão valor igual a 0. Assim, as operações necessárias para se obter o novo tableau são: 1ª operação: dividir a linha de 4 (tableau inicial) pelo valor do elemento 10 pivô a fim de tornar o seu valor igual a 1 e, também, substituir 4 por 1. 4 2 = 1 1 = 0,5 0 = 0 1 = 0,58 = 4 2 2 2 2 2 Assim, teremos parcialmente preenchido o novo tableau, conforme apresentado abaixo: Tabela 4 – Tableau I BASE 1 2 3 4 b 3 1 1 0,5 0 0,5 4 Z 2ª operação: multiplicar a nova linha de 1 (Tableau I) por (- 2) e somá-la - primeira linha do tableau inicial a fim de obter a nova linha de 3 (primeira linha) para o Tableau I. Tabela 5 – 1 1 ∙ (−2) 0,5 ∙ (−2) 0 ∙ (−2) 0,5 ∙ (−2) 4 ∙ (−2) = −2 = −1 = 0 = −1 = −8 3 2 3 1 0 12 3 0 2 1 −1 4 Observe que foi usado (-2) para multiplicar a linha pivô (nova linha de 1, do Tableau I), valor que foi definido porque é necessário anular, neste caso específico, o valor do primeiro coeficiente da primeira linha. Este procedimento fará com que se obtenha um vetor identidade na primeira coluna, que é referente - variável que entrou na base. O Tableau I atualizado será: Tabela 6 – Tableau I BASE 1 2 3 4 b 3 0 2 1 -1 4 1 1 0,5 0 0,5 4 Z 3ª operação: multiplicar a nova linha de 1 (Tableau I) por (4) e somá-la à 11 terceira linha do tableau inicial a fim de obter a nova linha de (terceira linha) para o Tableau I. Tabela 7 – Tableau I 1 1 ∙ (4) = 4 0,5 ∙ (4) 0,5 ∙ (4) 0,5 ∙ (4) 4 ∙ (4) = 16 = 2 = 2 = 2 - 4 - 1 0 0 0 0 1 2 2 16 Observe que foi usado (4) para multiplicar a linha pivô (nova linha de 1, do Tableau I). Esse valor foi definido porque é necessário anular, neste caso específico, o valor do primeiro coeficiente da primeira linha. Este procedimento fará com que se obtenha um vetor identidade na primeira coluna, que é referente 13 variável que entrou na base. O Tableau I atualizado será: Tabela 8 – Tableau I BASE 1 2 3 4 b 3 0 2 1 -1 4 1 1 0,5 0 0,5 4 Z 0 1 0 2 16 Passo 7: retornar ao Passo 4 para iniciar outra iteração. Antes de prosseguir para a próxima iteração, é recomendável verificar se: o Todas as constantes na coluna de b, referentes às restrições, estão positivas. Isto é uma imposição do procedimento do método. Caso haja valor negativo, rever as operações realizadas para fazer as devidas correções; e o Há valor negativo na linha da função objetivo, na linha de Z. Caso haja, deve-se iniciar uma nova iteração. Caso não haja, a solução atual é a solução ótima. Assim, como não há valor negativo na linha da função objetivo, tem-se a seguinte solução ótima: - Variáveis não básicas: 2 = 0, 4 = 0; - Variáveis básicas: 12 3 = 4 (dados obtidos da interseção entre a primeira linha com a primeira coluna e, com a última coluna); 1 = 4 (dados obtidos da interseção entre a segunda linha com a primeira coluna e, com a última coluna); Função objetivo: = 4(4) + 1(0) + 0(0) + 0(4) = 16, que é o mesmo valor existente na última coluna da linha da função objetivo (Z) do Tableau I. Portanto, a marcenaria deverá produzir 4 mesas e nenhum armário para obter uma margem de contribuição de $ 16,00. No Tema 3, vamos desenvolver um exemplo de problema de maximização, aplicando os procedimentos do método simplex, porém com menos comentários sobre as etapas. Por isso, é recomendável fazer uma nova leitura do Tema 2, fazer um resumo dos passos e, então, ir para o Tema 3. Saiba mais Leia o item 3.1.1 do livro-texto e confirme os valores das tabelas do exercício resolvido, usando as operações elementares de linhas apropriadas. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/45>. BARBOSA, M. A. ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Se desejar ver uma estrutura tabelar diferente, acesse o endereço a seguir e assista ao vídeo: <https://www.youtube.com/watch?v=7qOdbo- xPaA>. Identifique os procedimentos apresentados acima na resolução do problema pelo método simplex. TEMA 3 – A PRODUÇÃO DE PÃES SALGADOS NA LE PETIT PAIN: UM PROBLEMA DE MAXIMIZAÇÃO As etapas do procedimento do método simplex apresentadas anteriormente possuem uma finalidade didática, de que seja compreendida a sequência do método. O exemplo a seguir possui em sua solução mais de uma interação, e, apesar de não se apresentar o procedimento “passo-a-passo” na 13 solução, todas as etapas são obedecidas implícita ou explicitamente. Conforme houve necessidade, observações foram acrescidas para destacar pontos julgados relevantes. Produção de pães salgados: a padaria Le Petite Pain produz um pão salgado muito apreciado pelos seus clientes. O pão salgado possui entre seus ingredientes, muçarela e sua famosa calabresa artesanal. No presente momento, os gestores da padaria planejam lançar duas novas versões do pão salgado, o “+Queijo” e o “+Calabresa”, além da versão “Tradicional”, com o objetivo de aumentar o faturamento da padaria. Focados no sucesso do projeto, os gestores elaboraram a Tabela 9 com os principais ingredientes dos pães a serem produzidos e, a partir dessas informações, desejam determinar qual quantidade de cada versão do pão salgado devem produzir, a fim de obter o máximo faturamento com a venda dos pães. Tabela 9 – Pães salgados Pão salgado Trigo Muçarela Calabresa Preço (kg) (kg) (kg) ($/kg) Tradicional 0,6 0,2 0,2 12 +Queijo 0,6 0,6 0,2 23 +Calabresa 0,6 0,4 0,6 28 Quantidade diária disponível 200 150 60 (kg) Solução: O ponto de partida para solucionar o problema é realizar a modelagem e obter a forma-padrão. Assim, a partir dos dados existentes na Tabela 3.1, obteve-se a seguinte forma-padrão do problema de programação linear: Maximizar = 12 1 + 23 2 + 28 3, sujeito às restrições Trigo 0,6 1 + 0,6 2 + 0,6 3 ≤ 200 Mussarela 0,2 1 + 0,6 2 + 0,4 3 ≤ 150 Calabresa 0,2 1 + 0,2 2 + 0,6 3 ≤ 60 e 1 ≥ 0, 2 ≥ 0, 3 ≥ 0 14 sendo, 1: pão salgado „tradicional‟ (kg), 2: pão salgado „+queijo‟ (kg), e 3: pão salgado „+calabresa‟ (kg). Após a obtenção da forma-padrão, deve-se introduzir as variáveis de folga, uma para cada restrição (Passo 1): Maximizar = 12 1 + 23 2 + 28 3 + 0 4 + 0 5 + 0 6, sujeito às restrições Trigo 0,6 1 + 0,6 2 + 0,6 3 + 1 4 + 0 5 + 0 6 = 200 Muçarela 0,2 1 + 0,6 2 + 0,4 3 + 0 4 + 1 5 + 0 6 = 150 Calabresa 0,2 1 + 0,2 2 + 0,6 3 + 0 4 + 0 5 + 1 6 = 60 1 ≥ 0, 2 ≥ 0, 3 ≥ 0, 4 ≥ 0, 5 ≥ 0, 6 ≥ 0 A seguir, deve-se montar o Tableau Inicial considerando que − 12 1 − 23 2 − 28 3 − 0 4 − 0 5 − 0 6 = 0 e adotando como variáveis básicas as variáveis de folga (Passo 2 e 3). Tabela 10 – Tableau Inicial BASE 1 2 3 4 5 6 b 4 0,6 0,6 0,6 1 0 0 200 5 0,2 0,6 0,4 0 1 0 150 6 0,2 0,2 0,6 0 0 1 60 Z −12 −23 −28 0 0 0 0 A variável não básica que fornece a maior contribuição (-28) para o aumento da função objetivo é 3, portanto, é a coluna pivô. Para definir a linha pivô, vamos escolher o menor quociente da divisão das constantes b pelos coeficientes da coluna pivô (Passos 4 e 5). BASE 1 2 3 4 5 6 b 0,6 0,6 0,6 1 0 0 200 200 = 333,33 4 0,60,2 0,6 0,4 0 1 0 150 150 = 375 5 0,4 15 0,2 0,2 0,6 0 0 1 60 60 = 100 6 0,6 Z −12 −23 −28 0 0 0 0 A linha pivô é linha da variável básica 6, que será substituída na BASE pela variável não básica 3. Por conseguinte, deve-se dividir toda a terceira linha por (0,6) a fim de iniciar o procedimento para obter o vetor identidade na coluna pivô 3 (Passo 6). 0,2 0,2 0,6 0 0 1 60 = 1 = 0 = 0 0,6 0,6 0,6 0,6 6 0,6 0,6 0,6 = 0,333 = 0,333 = 1,666 = 100 O novo tableau será: Tabela 11 – Tableau I BASE 1 2 3 4 5 6 b 4 0,4 0,4 0 1 0 −1 140 5 0,07 0,47 0 0 1 −0,67 110 3 0,33 0,33 1 0 0 1,67 100 Z −2,76 −13,76 0 0 0 46,76 2800 As novas primeira, segunda e quarta linhas foram obtidas a partir das seguintes operações. Lembre-se que o terceiro termo de cada linha deve ter valor igual a 0. 0,33 0,33 1 0 0 1,67 100 3 ∙ (−0,6) ∙ (−0,6) ∙ (−0,6) ∙ (−0,6) ∙ (−0,6) ∙ (−0,6) ∙ (−0,6) = −0,19 = −0,19 = −0,6 = 0 = 0 = −1 = −60 4 0,6 0,6 0,6 1 0 0 200 4 0,4 0,4 0 1 0 −1 140 0,33 0,33 1 0 0 1,67 100 3 ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) = −0,13 = −0,13 = −0,4 = 0 = 0 = −0,67 = −40 16 5 0,2 0,6 0,4 0 1 0 150 5 0,07 0,47 0 0 1 −0,67 110 3 0,33 ∙ (28) 0,33 ∙ (28) 1 ∙ (28) 0 ∙ (28) 0 ∙ (28) 1,67 ∙ (28) 100 ∙ (28) = 9,24 = 9,24 = 28 = 0 = 0 = −0,67 = 2800 −12 −23 −28 0 0 0 0 −2,76 −13,76 0 0 0 46,76 2800 Pode-se identificar no Tableau I que todas as constantes b são positivas, o que indica que os procedimentos do método simplex foram realizados apropriadamente. Também é identificado que ainda há coeficientes negativos na linha da função objetivo (Z) e, consequentemente, deve-se realizar uma nova iteração (Passo 7). Iniciando a nova iteração, define-se pelo critério de maior contribuição que a nova coluna pivô é a da variável não básica 2, por possuir coeficiente igual a (-13,76) na linha da função objetivo. A nova linha pivô é definida pelo menor quociente da divisão das constantes b pelos coeficientes da coluna pivô, conforme observado abaixo. A linha pivô é a linha da variável básica 5, que será substituída pela variável não básica 2 (Passos 4 e 5). Tabela 12 – Tableau I BASE 1 2 3 4 5 6 b 4 0,4 0,4 0 1 0 −1 140 140 = 350 0,4 0,07 0,47 0 0 1 −0,67 110 110 = 235,71 5 0,47 3 0,33 0,33 1 0 0 1,67 100 = 100 = 300 0,33 Z −2,76 −13,76 0 0 0 46,76 280 Para se obter a nova linha pivô, deve-se dividir toda a segunda linha por (0,47) a fim de se iniciar o procedimento para obter o vetor identidade na coluna pivô 2 (Passo 6). 17 0,07 0,47 0 0 1 −0,67 110 = 1 = 0 = 0 0,47 0,47 0,47 0,47 5 0,47 0,47 0,47 = 0,149 = 2,128 = −1,426 = 234,04 O novo tableau será: Tabela 13 – Tableau II BASE 1 2 3 4 5 6 b 4 0,34 0 0 1 −0,85 −0,43 46,38 2 0,15 1 0 0 2,13 −1,43 234,04 3 0,28 0 1 0 −0,7 2,14 22,77 Z −0,7 0 0 0 29,31 27,08 6020,39 As novas primeira, terceira e quarta linhas foram obtidas a partir das seguintes operações. Lembre-se que o segundo termo de cada linha deve ter valor igual a 0. 0,15 1 0 0 2,13 −1,43 234,04 2 ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) ∙ (−0,4) = −0,09 = −0,4 = 0 = 0 = −0,85 = 0,57 = −93,62 4 0,4 0,4 0 1 0 −1 140 4 0,34 0 0 1 −0,85 −0,43 46,38 0,15 1 0 0 2,13 −1,43 234,04 2 ∙ (−0,33) ∙ (−0,33) ∙ (−0,33) ∙ (−0,33) ∙ (−0,33) ∙ (−0,33) ∙ (−0,33) = −0,05 = −0,33 = 0 = 0 = −0,7 = 0,47 = −77,23 3 0,33 0,33 1 0 0 1,67 100 3 0,28 0 1 0 −0,7 2,14 22,77 0,15 1 0 0 ∙ (13,76 2,13 −1,43 234,04 2 ∙ (13,76) ∙ (13,76) ∙ (13,76) ∙ (13,76) ∙ (13,76) ∙ (13,76) = 2,06 = 13,76 = 0 = 0 = 29,31 = −19,68 = 3220,39 −2,76 −13,76 0 0 0 46,76 2800 −0,7 0 0 0 29,31 27,08 6020,39 18 Pode-se identificar no Tableau II que todas as constantes b são positivas, o que indica que os procedimentos do método simplex foram realizados de forma apropriada. Também é identificado que ainda há coeficientes negativos na linha da função objetivo (Z) e, consequentemente, deve-se realizar uma nova iteração (Passo 7). Iniciando a nova iteração, define-se pelo critério de maior contribuição, que a nova coluna pivô é a da variável não básica 1, por possuir coeficiente igual a (-0,7) na linha da função objetivo. A nova linha pivô é definida pelo menor quociente da divisão das constantes b pelos coeficientes da coluna pivô, conforme observado abaixo. A linha pivô é a linha da variável básica 3, que será substituída pela variável não básica 1 (Passos 4 e 5). Tabela 14 – Tableau II BASE 1 2 3 4 5 6 b 0,34 0 0 1 −0,85 −0,43 46,38 46,38 = 136,41 4 0,34 0,15 1 0 0 2,13 −1,43 234,04 234,04 = 1560,27 2 0,15 0,28 0 1 0 −0,7 2,14 22,77 22,77 = 81,32 3 0,28 Z −0,7 0 0 0 29,31 27,08 6020,39 Para se obter a nova linha pivô, deve-se dividir toda a terceira linha por (0,28) a fim de se iniciar o procedimento de se obter o vetor identidade na coluna pivô 1 (Passo 6). 0,28 0 1 0 −0,7 2,14 22,77 = 0 = 1 = 0 0,28 0,28 0,28 0,28 3 0,28 0,28 0,28 = 3,57 = −2,5 = 7,64 = 81,32 O novo tableau será: Tabela 15 – Tableau III BASE 1 2 3 4 5 6 b 4 0 0 −1,21 1 0 2,17 18,73 2 0 1 −0,53 0 2,5 −2,58 221,84 1 1 0 3,57 0 −2,5 7,64 81,32 19 Z 0 0 2,5 0 27,56 32,43 6077,31 As novas primeira, segunda e quarta linhas foram obtidas a partir das seguintes operações. Lembre-se queo primeiro termo de cada linha deve ter valor igual a 0. 1 0 3,57 0 −2,5 7,64 81,32 1 ∙ (−0,34) ∙ (−0,34) ∙ (−0,34) ∙ (−0,34) ∙ (−0,34) ∙ (−0,34) ∙ (−0,34) = −0,34 = 0 = −1,21 = 0 = 0,85 = −2,6 = −27,65 4 0,34 0 0 1 −0,85 −0,43 46,38 4 0 0 −1,21 1 0 2,17 18,73 1 0 3,57 0 −2,5 7,64 81,32 1 ∙ (−0,15) ∙ (−0,15) ∙ (−0,15) ∙ (−0,15) ∙ (−0,15) ∙ (−0,15) ∙ (−0,15) = −0,15 = 0 = −0,53 = 0 = 0,37 = −1,15 = −12,2 2 0,15 1 0 0 2,13 −1,43 234,04 2 0 1 −0,53 0 2,5 −2,58 221,84 1 1 ∙ (0,7) 0 ∙ (0,7) 3,57 0 ∙ (0,7) −2,5 7,64 81,32 = 0,7 = 0 ∙ (0,7) = 0 ∙ (0,7) ∙ (0,7) ∙ (0,7) = 2,5 = −1,75 = 5,35 = 56,92 −0,7 0 0 0 29,31 27,08 6020,39 0 0 2,5 0 27,56 32,43 6077,31 Pode-se identificar no Tableau III que todas as constantes b são positivas, o que indica que os procedimentos do método simplex foram realizados apropriadamente. Também é identificado que não há coeficientes negativos na linha da função objetivo (Z), o que significa que a solução atual é a solução ótima. Do Tableau III, tem-se o seguinte: Variáveis não-básicas: 3 = 0, 5 = 0 e 6 = 0; Variáveis básicas: 4 = 18,73 (dados obtidos da interseção entre a primeira linha com a primeira coluna e com a última coluna); 20 2 = 221,84 (dados obtidos da interseção entre a primeira linha com a primeira coluna e com a última coluna); 1 = 81,32 (dados obtidos da interseção entre a segunda linha com a primeira coluna e com a última coluna); - Função objetivo: = 12(81,32) + 23(221,84) + 28(0) + 0(18,73) + 0(0) + 0(0) = 6078,16. A diferença entre este valor e o apresentado na Tabela III é devido às aproximações (número de casas decimais) usadas nas diversas operações. Portanto, a padaria deverá produzir 81,32 kg do pão salgado “tradicional” e 221,84 kg do pão salgado “+queijo” para obter um faturamento máximo de $ 6.078,16. Observe que, apesar de escolhermos a variável de maior contribuição para o aumento da função objetivo, no tableau inicial, esta variável não permaneceu na solução do problema. Saiba mais Leia o Item 3.3 do TAHA e procure resolver os exercícios do conjunto de problemas. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/9>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Um exercício resolvido e comentado pode ser visto no vídeo disponível em: <https://www.youtube.com/watch?v=qf1mAyDv61E>. TEMA 4 – MÉTODO SIMPLEX: INTERPRETAÇÃO DE VALORES DO TABLEAU Para conhecer em detalhes o método simplex, é necessário investir tempo. Entretanto, esta disciplina proporcionará o conhecimento básico do método simplex. Por outro lado, como administradores, devemos explorar ao máximo as potencialidades da ferramenta – método simplex – e, para isso, não se deve apenas atentar para a solução, para os valores da solução, mas aprender a interpretar os resultados e obter subsídios para decidir. Provavelmente, você encontrará na bibliografia uma interpretação dos dados existentes no tableau de forma implícita, mas considero importante estimular o 21 senso crítico dos futuros administradores para extrair o máximo de informação possível. Este é o objetivo deste tema de ensino: compreender o que está fazendo, o que está acontecendo, e não somente replicar procedimentos. Interpretando valores. À medida que se desenvolve o método simplex, possível identificar soluções viáveis em cada tableau obtido ao final de cada iteração. A análise apresentada nos parágrafos a seguir pode ser realizada em qualquer tableau, entretanto a mais significativa é a realizada nos dados do tableau que possui a solução ótima. O tableau com a solução ótima do exemplo apresentado no tema anterior fornece os seguintes dados: 1 = 81,32, 2 = 221,84, 3 = 0, 4 = 18,73 , 5 = 0 e 6 = 0, onde as variáveis básicas possuem valores diferentes de 0, e as variáveis não básicas são nulas. Destes valores, podemos avaliar o seguinte: c. 1 = 81,32: é uma variável de decisão, refere-se à produção em quilogramas do pão salgado “tradicional”. Indica que a sua produção deve ser de 81,32 kg; d. 2 = 221,84: é uma variável de decisão, refere-se à produção em quilogramas do pão salgado “+queijo”. Indica que a sua produção deve ser de 221,84 kg; 3 = 0: é uma variável de decisão, refere-se à produção em quilogramas do pão salgado “+calabresa”. Indica que não deverá ser produzido; e. 4 = 18,73: é uma variável de folga referente ao uso do recurso trigo. A quantidade disponível de trigo para uso diário é de 200 kg. Como a equação referente ao uso do trigo é 0,6 1 + 0,6 2 + 0,6 3 + 1 4 + 0 5 + 0 6 = 200, tem-se que 1 4 = 200 − 0,6 1 − 0,6 2 − 0,6 3 ou seja, 1 4 = 200 − 0,6(81,32) − 0,6(221,84) − 0,6(0) = 18,10, a diferença de valores é devida ao uso das aproximações (número de casas decimais). Conclui-se que há sobra (estoque) de um pouco mais de 18 kg de trigo. 5 = 0: é uma variável de folga referente ao uso do recurso muçarela. A quantidade disponível de muçarela para uso diário é de 150 kg. Como a equação referente ao uso de muçarela é 0,2 1 + 0,6 2 + 0,4 3 + 0 4 + 1 5 + 0 6 = 150, tem-se que 1 5 = 150 − 0,2 1 − 0,6 2 − 0,4 3, ou seja, 1 5 = 150 − 0,2(81,32) − 0,6(221,84) − 0,4(0) = 0,63, a diferença de valores é devida ao uso das aproximações (número de casas decimais). Conclui-se que todo o recurso muçarela foi usado na produção. 22 f 6 = 0: é uma variável de folga referente ao uso do recurso calabresa. A quantidade disponível de calabresa para uso diário é de 60kg. Como a equação referente ao uso de calabresa é 0,2 1 + 0,2 2 + 0,6 3 + 0 4 + 0 5 + 1 6 = 60, tem-se que 1 6 = 60 − 0,2 1 − 0,2 2 − 0,6 3 ou seja, 1 6 = 60 − 0,2(81,32) − 0,2(221,84) − 0,6(0) = 0,63, a diferença de valores é devida ao uso das aproximações (número de casas decimais). Conclui-se que todo o recurso calabresa foi usado na produção. Os dados acima refletem o atual planejamento da produção de pães salgados, e, se a solução atual é satisfatória, uma medida imediata que os gestores podem executar é reduzir a disponibilidade de trigo em 18 kg. O resultado obtido é um ponto de partida para estudo de diferentes cenários (estudos de estudos de sensibilidade, a ser abordado na próxima rota de estudo), tais como: qual seria o impacto na produção se houvesse aumento da quantidade disponível de muçarela e de calabresa? Qual é o preço mínimo para que o pão salgado “+calabresa” passe a ser produzido? Saiba mais Assista ao vídeo e acrescente mais conhecimento a respeito do assunto deste tema. Disponível em: <https://www.youtube.com/watch?v=KQxlUTFXbuo>. TEMA 5 – MÉTODO SIMPLE: UMA INTRODUÇÃO A MÉTODO DE SOLUÇÃO DE PROBLEMAS DE MINIMIZAÇÃO O algoritmo simplex é o método mais conhecido para resolver problemas de programação linear. Por ser detalhista e trabalhoso, costuma ser um ponto de problema para os alunos, principalmente no curso de administração. A partir do exposto nos temas acima, você pode verificar o fato de que o simplex é um passo- a-passo que se repete até que a solução ótima do problema seja atingida. Se houver solução, não há como errar a resposta de um determinado problema. Devido ao acesso a softwares para a resolução de problemas de PL,fazer o simplex "na mão" se torna dispensável, por isso, nesta disciplina, foi somente ensinado o simplex de problemas de maximização. Tal abordagem permitiu que você, aluno, entendesse o processo de resolução, os fundamentos do algoritmo e o modo como ele encontra a solução ótima de um determinado problema. Entretanto, faremos uma breve apresentação de conceitos e dos procedimentos 23 existentes do método simplex para resolver problemas de minimização, o que é o objetivo deste tema de ensino. Problemas de forma não padrão: nem todos os problemas de programação linear estão no formato padrão, isto é, são problemas de maximização com todas as restrições do tipo menor ou igual. Quando o formato não for o padrão, é necessário preliminarmente fazer uso de métodos para viabilizar o emprego do algoritmo do método simplex, que foi apresentado anteriormente (Lachtermacher, 2009). Você poderá encontrar problemas que apresentam modelos com configurações “abrangentes”, tais como: problema de maximização que possui restrições do tipo maior ou igual; problema de minimização que possui restrições do tipo maior e igual; e restrições do tipo menor ou igual. Nestas configurações, serão realizados os seguintes procedimentos preliminares: A função objetivo de problemas de minimização é transformada em uma função objetivo de problemas de maximização, da seguinte forma: minimizar Z = maximizar -Z. Por exemplo: minimizar = 3 1 − 5 2, se transforma em maximizar = − = −3 1 + 5 2 (Lachtermacher, 2009). Quando a restrição for do tipo maior ou igual e for transformada para uma equação, a variável a ser acrescida é chamada variável de excesso, que possuirá coeficiente negativo. Isto se deve ao fato de que o valor da soma à esquerda da inequação é maior ou igual ao valor da constante, à direita da inequação. Assim, para se obter uma equação, é necessário subtrair (sinal negativo) o valor em excesso. Por exemplo: a restrição 3 1 + 2 2 ≥ 18 se transforma na equação 3 1 + 2 2 − 5 = 18, sendo 5 uma variável de excesso (Lactermacher, 2009). Observe que, quando incluímos as variáveis de folga nas restrições, estas foram também incluídas na função objetivo e, consequentemente, as variáveis de folga devem ser maiores ou iguais a zero. Este procedimento também deve ser aplicado às variáveis de excesso, entretanto, como apresentado acima, as variáveis de excesso possuem coeficiente negativo, quando deveriam ser maiores ou iguais a zero. A maneira de resolver essa “desconformidade” das variáveis de excesso envolve a criação de um novo problema com a inclusão de variáveis artificiais (que não pertencem ao problema original) nas equações em que as variáveis de 24 excesso estão presentes. Após a resolução do novo problema, aplica-se o algoritmo do método simplex para obter a solução do problema de programação linear. Esse novo problema, gerado pela inclusão das variáveis artificiais, é resolvido pelo emprego de métodos, tais como: o “método do Big-M” e o “método de duas fases”. O estudo de tais métodos requer tempo, que não dispomos, para apresentar suas especificidades, por isso não são objeto desta disciplina, mas você pode aprender tais métodos estudando a bibliografia de programação linear, pois são métodos amplamente conhecidos e usados. Saiba mais Leia o item 3.2 do livro-texto. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/45>. BARBOSA, M. A. ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Leia o Item 3.4 do TAHA. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/47>. TAHA, Hamdy A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. NA PRÁTICA Identifique os dados finais da solução do problema da marcenaria (Tema d. e realize no fórum, com seus colegas de disciplina, uma análise dos valores finais de cada variável. A partir desta análise, o que você propõe para que ocorra a redução de custos? Leia os casos de ensino sugeridos e depois responda o solicitado. Terminada a atividade de estudo e solucionados os estudos de caso, você receberá a solução para a atividade realizada pelo professor que elaborou o presente caso de ensino. Orientações para realizar a atividade: Leia os casos de ensinos atentamente e os temas da rota. 25 - Reveja os conceitos de modelagem, de forma-padrão e o algoritmo do método simplex, pois são necessários para resolver o caso de ensino. - Use o roteiro que você escreveu para realizar a modelagem e para obter a forma-padrão na resolução do caso de ensino nº 2. Faça um resumo do algoritmo do método simplex. Tenha o material em mãos para consulta. - Boa aprendizagem! Caso de Ensino nº 03: Uma nova abordagem Resolva o exemplo do Tema 3 pelo método simplex a partir do tableau inicial, porém, adotando a variável não básica 1 para entrar na BASE, e veja o que acontece. A solução final possuirá as mesmas variáveis básicas, mas haverá apenas duas iterações, e a solução exata será: produção de 75kg de pão salgado “tradicional” e 225kg de pão salgado “+queijo” para obter um faturamento de $6.075,00. Padrão de Resposta: o estudante deverá encontrar os seguintes tableau: Base x1 x2 x3 x4 x5 x6 b x4 0,00 0,00 -1,20 1,00 0,00 -3,00 20,00 x5 0,00 0,40 -0,20 0,00 1,00 -1,00 90,00 225,00 x1 1,00 1,00 3,00 0,00 0,00 5,00 300,00 300,00 Z 0,00 -11,00 8,00 0,00 0,00 60,00 3600,00 Base x1 x2 x3 x4 x5 x6 b x4 0,00 0,00 -1,20 1,00 0,00 -3,00 20,00 x2 0,00 1,00 -0,50 0,00 2,50 -2,50 225,00 x3 1,00 0,00 3,50 0,00 -2,50 7,50 75,00 Z 0,0 0,0 2,5 0,0 27,5 32,5 6075,0 Caso de Ensino nº 04: Malharia (Lachtermacher, 2009) Uma pequena malharia produz dois tipos de camisas: manga curta e manga comprida. Toda a produção é feita e vendida para um distribuidor, que compra tudo o que for produzido. A confecção de cada camisa passa por três seções de trabalho: corte, costura e acabamento. A Tabela 3.2 a seguir mostra os tempos necessários em cada seção: TABELA 3.2 – Tempo de fabricação de cada camisa em cada seção de trabalho Produto Tempo de fabricação (em horas) Corte Costura Acabamento Manga curta 3 1,5 5 Manga comprida 3 3 3 26 A quantidade de horas por semana, disponível em cada seção de trabalho, é apresentada na Tabela 3.3. TABELA 3.3 – Limites de capacidade de fabricação Seção de trabalho Homens/hora por semana Corte 210 Costura 180 Acabamento 330 Determine a quantidade de cada tipo de camisa que devem ser fabricadas de maneira a maximizar o LUCRO da empresa, sabendo que o lucro unitário proporcionado pela camisa de manga curta é $2,00, e o proporcionado pela camisa de manga comprida é de $3,00. Determine também qual será a disponibilidade das seções de trabalho na solução ótima. Use o método simplex para resolver o problema. Padrão de resposta: O estudante deverá obter após a modelagem do problema, a seguinte forma- padrão: Maximizar = 2 1 + 3 2, sujeito às restrições Corte 3 1 + 3 2 ≤ 210 Costura 1,5 1 + 3 2 ≤ 180 Acabamento 5 1 + 3 2 ≤ 330 - 1 ≥ 0, 2 ≥ 0 sendo, 1: camisa de manga curta (un.) e 2: camisa de manga comprida (un.) Os tableau obtidos são: Base x1 x2 x3 x4 x5 b Divisão x3 3 3 1 0 0 210 70 x4 1,5 3 0 1 0 180 60 x5 5 3 00 1 330 110 Z -2 -3 0 0 0 0 Base x1 x2 x3 x4 x5 b Divisão x3 1,50 0,00 1,00 -1,00 0,00 30,00 20,00 x2 0,50 1,00 0,00 0,33 0,00 60,00 120,00 x5 3,50 0,00 0,00 -1,00 1,00 150,00 42,86 Z -0,50 0,00 0,00 1,00 0,00 180,00 27 Base x1 x2 x3 x4 x5 b x1 1,00 0,00 0,67 -0,67 0,00 20,00 x2 0,00 1,00 -0,33 0,67 0,00 50,00 x5 0,00 0,00 -2,33 1,33 1,00 80,00 Z 0,00 0,00 0,33 0,67 0,00 190,00 Conclusão: para maximizar o LUCRO, a empresa deverá produzir 20 camisas de manga curta e 50 camisas de manga longa semanalmente. As operações de corte ( 3) e de costura ( 4) não possuem folga, e a operação de acabamento ( 5) possui 80 horas disponíveis. FINALIZANDO O método simplex foi apresentado nesta terceira aula. Inicialmente abordamos alguns conceitos que são empregados no algoritmo do método simplex. Para maior compreensão do algoritmo do simplex, um exemplo foi resolvido passo a passo com os procedimentos (passos) sendo apresentados e comentados. Em seguida foi resolvido um problema de maximização para consolidar o conhecimento do algoritmo. Posteriormente, foi introduzida a interpretação de valores existentes nos tableau, que permitem obter subsídios para tomada de decisão. Por fim, foram apresentados os métodos que podem ser usados para resolver problemas de minimização. Os casos de ensino possuem o objetivo fazer com que o aluno aplique os conhecimentos apresentados em outras rotas de ensino, bem como o que foi apresentado nesta rota de ensino, a fim de solucionar um problema de programação linear. A aplicação do conhecimento permitirá que o aluno identifique e sane as suas lacunas a respeito dos assuntos ministrados até o presente momento. 28 REFERÊNCIAS ANDRADE, E. L. de. Introdução à pesquisa operacional: métodos e modelos para análise de decisões. 4. ed. Rio de Janeiro: LTC, 2009. CORRAR, L. J.; THÉOPHILO, C. R.; BERGMANN, D. R. Programação linear. In: CORRAR, L. J.; THÉOPHILO. Pesquisa operacional para decisão em contabilidade e administração: contabilometria. 1. ed. 3. reimp. São Paulo: Atlas, 2007. HILLIER, F. S.; LIEBERMAN, G. J. Introdução à Pesquisa Operacional. 9. ed. Porto Alegres: McGraw-Hill, 2010. LACHTERMACHER, G. Pesquisa operacional na tomada de decisões: modelagem em Excel. 4. ed. Rio de Janeiro: Elsevier, 2009. 29 PESQUISA OPERACIONAL AULA 4 Prof. José de Souza Leal Neto CONVERSA INICIAL Até o presente momento, foram apresentados diversos conceitos relativos ao método simplex. Perceba que houve uma construção de conhecimento sobre o método simplex e que a sequência de cada tópico, abordados anteriormente, teve por objetivo desenvolver as condições necessárias para que você compreendesse a lógica da programação existente nos diferentes softwares disponíveis no mercado, os quais foram desenvolvidos para resolver problemas de programação linear. Em um primeiro momento, seria mais pragmático ensinar apenas o uso do Solver para resolver problemas de programação linear. Porém, a compreensão da sistemática proposta pelo método simplex seria comprometida. Se você dedicou tempo para estudar o método simplex, então é capaz de perceber que a primeira ação necessária é estudar o problema, em seguida obter informações/dados adequados e, posteriormente, identificar as restrições existentes, para então iniciar o processo de modelagem do problema. Sem modelagem não há como resolver o problema estudado e muito menos fazer uso da ferramenta Solver do Excel ou de qualquer outro software. A compreensão do conceito de função objetivo e de restrições fará com que você possa, além de empregar o Solver, explorar diferentes cenários a partir de uma dada situação. Agora, antes de começarmos a explicar o uso da ferramenta Solver do Excel, é importante você saiba que esta ferramenta possui um algoritmo (programação) baseado no algoritmo do método simplex, apresentado anteriormente, e que, apesar de ser uma ferramenta confiável, é sempre aconselhável analisar de forma crítica os dados apresentados na solução, a fim de identificar possíveis inconsistências... não exclua a possibilidade de você ter inserido dados de forma equivocada! Mas, uma coisa de cada vez, vamos ao que interessa: é hora de estudar. CONTEXTUALIZANDO Como comentado acima, o foco de nosso estudo sobre o método simplex foi apresentar o fundamento teórico necessário para a resolução de problema de programação linear e sua análise. Entretanto, a partir desta aula, mostraremos como evitar todos os cálculos apresentado anteriormente a fim de que a 2 atividade gerencial do administrador seja priorizada. Portanto, vamos nos concentrar na modelagem de problemas e na análise de suas respostas. Felizmente, há muitos softwares disponíveis no mercado que podem nos auxiliar na execução dos cálculos previstos no método simplex. Entre as ferramentas que possuem um número significativo de usuários, estão as Planilhas Eletrônicas, pois, além do seu manuseio ser amigável, elas estão acessíveis a praticamente todos os usuários de computadores. No nosso caso específico, faremos uso em nosso estudo da planilha Excel da Microsoft e, por ser a mais popular no Brasil, presumimos que você possua o conhecimento dos comandos elementares existentes em uma planilha Excel. A versão do Excel empregada nesta disciplina é a existente na Microsoft Office 365 ProPlus, e, consequentemente, poderá haver diferenças nos menus, nome de funções e outras, dependendo da versão que você estiver usando no momento. Existe uma série de softwares específicos para a resolução de problemas de programação linear. Um dos mais populares é o LINDO, da Lindo Systems, que possui uma versão educacional limitada e gratuita (download no site: <http://www.lindo.com>). A Lindo Systems também disponibiliza um suplemento para o Excel chamado What´s Best, que substitui a ferramenta Solver do Excel e permite a resolução de problemas de maior porte (Lachtermacher, 2009). Se você tiver conhecimento básico em inglês e quiser outra alternativa, então faça uma pesquisa no Google Play por operational research (pesquisa operacional) e você descobrirá que há alguns apps desenvolvidos a partir do algoritmo do método simplex que estão disponíveis, são gratuitos, porém com limitações nas quantidades de variáveis de decisão e de restrições, mas são apoio à aprendizagem do método simplex. Nesta aula, a ferramenta Solver do Excel será apresentada e aplicada em um problema de maximização e em dois problemas de minimização. Os problemas de minimização são situações que podem ocorrer nas empresas, e o conhecimento de suas modelagens poderão ser úteis ao administrador, quando no desempenho de suas funções. Por fim, na abordagem de análise de sensibilidade são apresentados conceitos referentes às variações dos coeficientes da função objetivo e dos coeficientes e das constantes das restrições, tal estudo se denomina. 3 TEMA 1 – FERRAMENTA SOLVER DO EXCEL O Solver realiza na planilha Excel todos os procedimentos do método simplex, e, para isto, deve-se informar ao Excel os dados previamente definidosna caixa de diálogo Parâmetros do Solver. Tais parâmetros são obtidos a partir da modelagem do problema de programação linear e estão inclusos tanto na função objetivo e como nas restrições. Mas, antes de aplicar o Solver, temos de estruturar/organizar a planilha de forma que os parâmetros necessários sejam “visíveis” àquela ferramenta. Os passos para preparar o Excel para usar a ferramenta Solver são apresentados a seguir, bem como um exemplo comentado passo a passo para facilitar a aprendizagem. Habilitação do Solver: a primeira ação a ser realizada é a habilitação da ferramenta Solver na planilha Excel. Inicialmente, selecione a guia “Arquivo” na Faixa de Opções da planilha e, em seguida, na nova janela aberta, selecione a opção “Opções”. Será aberta uma nova janela e, no menu à esquerda, selecione “Suplementos” e em seguida clique no botão “Ir...”, na parte inferior da janela. Novamente, uma nova janela será aberta e nesta, selecione a opção “Solver” e em seguida clique no botão “Ok”. Agora, selecione a guia “Dados” na Faixa de Opões da planilha e identifique o ícone do Solver em “Análise”, conforme apresentado na Figura 1. Figura 1 – Localização do ícone da ferramenta Solver Adequação da planilha aos dados do problema. Após a habilitação do Solver no Excel, é necessário estruturar a planilha para receber os dados obtidos na modelagem do problema de programação linear. Para usar o Solver, é necessário apenas os dados obtidos na modelagem, portanto você não precisa se preocupar em incluir outros tipos de variáveis, sejam de folga, excesso ou artificial. A organização proposta da planilha por Lachtermacher (2009) é didática e de fácil compreensão, por isso a tomamos como referencial. Ele nos diz que 4 “a mágica da modelagem de um problema de programação linear em uma planilha eletrônica está na maneira como arrumamos a célula”. A partir da proposta daquele autor, designamos uma célula para representar cada uma das seguintes entidades: Função objetivo (maximização/minimização): designação das variáveis de decisão e de seus coeficientes; Variáveis (Solver): são os valores que o Solver vai calcular para as variáveis de decisão; Z: é o valor da solução ótima, que será obtida pela multiplicação dos coeficientes das variáveis de decisão pelos valores calculados pelo Solver. Para cada restrição: Uma para o lado esquerdo da restrição – LHS (left hand side). Uma célula vai representar toda a expressão que está à esquerda do sinal de inequação. Assim, o valor nesta célula será a soma das multiplicações dos coeficientes de cada variável de decisão, nas linhas de restrição, pelo respectivo valor calculado pelo Solver. Uma para o lado direito da restrição – RHS (right hand side). Uma célula terá o valor da constante (o b no quadro do simplex), que está do lado direito do sinal de inequação. A partir da designação das células, apresentadas acima, a estrutura da planilha terá o formado semelhante ao apresentado na Figura 2, que, no caso, foi configurada para 4 (quatro) variáveis de decisão e para 4 (quatro) restrições. Figura 2 – Estrutura de planilha (modelo) 5 Para exemplificar o preenchimento, vamos usar o exemplo da marcenaria (Andrade, 2009) apresentado na Rota de Ensino 3. A modelagem do problema gerou a forma-padrão e a solução gráfica – Figura 3 –, apresentadas a seguir. Maximizar = 4 1 + 1 2, sujeito às restrições Madeira 2 1 + 3 2 ≤ 12 Mão de obra 2 1 + 1 2 ≤ 8 e1 ≥ 0, 2 ≥ 0 sendo, 1: mesas (un.), e 2: armários (un.). Figura 3 – Solução gráfica Figura 4 – Problema da marcenaria 6 Assim, termos a planilha preenchida – Figura 4 –, na qual a fórmula na célula C5 (Zmáx) é C3*C4+D3*D4 ( = 4 1 + 1 2), na célula E8 (Madeira-LHS) é C4*C8+D4*D8 (2 1 + 3 2) e na célula E9 (Mão de obra-LHS) é C4*C9+D4*D9 (2 1 + 1 2). Os valores unitários de 1 (mesas) e de 2 (armários) são calculados pelo Solver e inseridos nas células C4 e D4. Consequentemente, os valores de Z e das restrições madeira (LHS) e mão de obra (LHS) são calculados e deixam de ter o valor igual a 0 (zero). A indicação dos sinais ≤ ao final das restrições é para lembrar o tipo de inequação existente em cada restrição e será útil quando for preencher a caixa de diálogo Parâmetros do Solver. Para preencher a caixa de diálogo Parâmetros do Solver – Figura 5 – para iniciar o cálculo, selecionamos a guia “Dados” e em seguida clicamos no ícone “Solver” em “Análise” para o Excel abri-la. Figura 5 – Parâmetros do Solver Os passos para preencher a caixa de diálogo Parâmetros do Solver são os seguintes: Definir objetivo: selecionar a célula C5 (Zmáx). 7 Para: Máx... já está previamente selecionado. Quando o problema for de minimização, deve-se fazer a seleção da opção Mín. Alterando Células Variáveis: selecionar as células C4 e D4 (C4:D4), destacadas em “amarelo” na Figura 4. Estas células não devem conter quaisquer tipos de informações/dados porque são reservadas para uso do Solver. Sujeito às restrições: neste espaço serão incluídas as relações LHS e os valores RHS, bem como os sinais das inequações. Para isso, você deve clicar no botão “Adicionar” para abrir uma caixa de diálogo – Figura 7 – para informar as relações das restrições, uma de cada vez. Figura 6 – Relações das restrições Referência de célula: preencher com o valor do LHS. O sinal <= já é previamente selecionado. Quando for necessário, deve ser alterado (por isso foi colocado ao final da restrição o sinal da inequação para lembrar quando for necessário fazer a alteração). Restrição: preencher com o valor RHS, ou seja, o valor da constante. Adicionar: clique neste botão para inserir uma nova restrição. Ok: clique neste botão quando todas as restrições forem incluídas. GRG Não Linear: deve ser modificado para LP Simplex. Opções: este botão permite selecionar, em outra caixa de diálogo, a opção de Mostrar Resultados de Iterações. Tal opção permitirá a você identificar os valores dos tableau intermediários do algoritmo do método simplex. Resolver: clique neste botão para realizar o cálculo. Após o preenchimento da caixa de diálogo Parâmetros do Solver conforme instruções acima, a caixa de diálogo deverá estar conforme 8 apresentado na Figura 7. Agora, o passo seguinte é clicar no botão Resolver, o que vai fazer com que seja aberta a caixa de diálogo Resultados do Solver –– Figura 8. Para prosseguir, seleciona o botão OK, e o resultado final dos cálculos é conforme o apresentado na planilha da Figura 9. Figura 7 – Parâmetros do Solver preenchido Figura 8 – Resultados do Solver 9 Figura 9 – Resultado Final do Solver A partir dos dados da planilha – Figura 9 –, é possível verificar que o resultado é compatível com a solução gráfica – Figura 2 – do problema. O recurso “madeira” possui 4m² disponíveis (RHS-LHS=4),o recurso “mão de obra” não possui disponibilidade (RHS- LHS=0) e devem ser produzidas 4 mesas ( 1) e 0 armário ( 2), conforme dados das células C4 e D4, respectivamente. Saiba mais O vídeo indicado aqui apresenta uma estrutura de planilha diferente, mas com todos os parâmetros necessários para aplicar o Solver. Veja o vídeo, consolide referências e acrescente conhecimento sobre comandos do Excel. Melhor ainda, coloque o problema apresentado no vídeo, na estrutura apresentada neste tema de ensino. Disponível em: <https://www.youtube.com/watch?v=5ruECzrJDUM>. TEMA 2 – PROBLEMA DE MAXIMIZAÇÃO: USO DO SOLVER O problema a seguir tem por objetivo primário aplicar o Solver para obter uma solução. Acreditamos que a abordagem sobre o Solver, feita anteriormente, tenha sido esclarecedora. Assim, no desenvolvimento do problema deste tema, serão realizados os comentários julgados imprescindíveis. Nesta oportunidade, o cenário do problema da “produção de pães salgados” apresentado na aula passada foi modificado com o objetivo de demonstrar que a programação linear uma ferramenta que proporciona subsídios para a tomada de decisão, bem como permite explorar diferentes cenários. Produção de pães salgados. Os gestores da padaria Le Petite Pain não ficaram satisfeitos com o cenário em que somente a versão “Tradicional” e a 10 “+Queijo” deveriam ser produzidas para obter o máximo faturamento. Assim, decidiram adotar uma nova estratégia, em que limitam a produção diária da versão “Tradicional” a até 70kg para que as outras versões, com maior valor agregado, sejam vendidas. Além disso, atualizaram os seus dados de referência, modificando a disponibilidade diária de sua famosa calabresa artesanal, de 60kg para 70kg, conforme apresentado na Tabela 1. Nessas condições, os gestores desejam determinar qual quantidade de cada versão do pão salgado devem produzir a fim de obter o máximo faturamento com a venda dos pães. Tabela 1 – Pães salgados Pão salgado Trigo Muçarela Calabresa Preço (kg) (kg) (kg) ($/kg) Tradicional 0,6 0,2 0,2 12 +Queijo 0,6 0,6 0,2 23 +Calabresa 0,6 0,4 0,6 28 Quantidade diária disponível 200 150 70 (kg) Solução: O modelo atualizado do problema de programação linear da padaria Le Petite Pain é (Z em $): Maximizar = 12 1 + 23 2 + 28 3, sujeito às restrições Trigo 0,6 1 + 0,6 2 + 0,6 3 ≤ 200 Muçarela 0,2 1 + 0,6 2 + 0,4 3 ≤ 150 Calabresa 0,2 1 + 0,2 2 + 0,6 3 ≤ 70 Pão tradicional 1,0 1 + 0,0 2 + 0,0 3 ≤ 70 1 ≥ 0, 2 ≥ 0, 3 ≥ 0 sendo, 1: pão salgado „tradicional‟ (kg), 2: pão salgado „+queijo‟ (kg), e 3: pão salgado „+calabresa‟ (kg). A planilha preenchida com os dados do problema é a apresentada na Figura 10. 11 Figura 10 – Planilha preenchida com os dados da Le Petite Pain Na planilha da Figura 10, tem-se: a fórmula na célula C5 (Zmáx) é C3*C4+D3*D4+E3*E4 ( = 12 1 + 23 2 + 28 3), na célula F8 (Trigo-LHS) é C4*C9+D4*D9+E4*E9 (0,6 1 + 0,6 2 + 0,6 3), na célula F9 (Muçarela-LHS) é C4*C9+D4*D9+E4*E9 (0,2 1 + 0,6 2 + 0,4 3), na célula F10 (Calabresa-LHS) é C4*C10+D4*D10+E4*E10 (0,2 1 + 0,2 2 + 0,6 3) e na célula F11 (Pão Tradicional-LHS) é C4*C11+D4*D11+E4*E11 (1,0 1 + 0,0 2 + 0,0 3). Os valores em kg de 1(pão salgado „Tradicional‟), 2 (pão salgado „+Queijo‟), e 3 (pão salgado „+Calabresa‟) são calculados pelo Solver e inseridos nas células C4, D4 e E4. Consequentemente, os valores de Z e das restrições Trigo (LHS), Muçarela (LHS), Calabresa (LHS) e Pão Tradicional (LHS) são calculados e deixam de ter o valor igual a 0 (zero). A indicação dos sinais ≤ ao final das restrições é para lembrar o tipo de inequação existente em cada restrição e será útil quando for preencher a caixa de diálogo Parâmetros do Solver. A caixa de diálogo Parâmetro do Solver preenchida é a apresentada na Figura 11, e o resultado final dos cálculos do Solver é apresentado na Figura 12. 12 Figura 11 – Parâmetros do Solver preenchidos Figura 12 – Resultado final do Solver A partir dos dados da planilha – Figura 12 –,verifica-se que ao se limitar a produção diária do pão salgado “Tradicional” ( 1) em 70 kg e de acrescer 10 Kg de calabresa para a produção, obtém-se a produção de pão salgado “+Queijo” ( 2) de 211,43kg, de pão salgado “+Calabresa” ( 3), de 22,86kg e de um faturamento máximo de $ 6.342,86. Também se verifica a disponibilidade de 13 17,43Kg (200-182,57) de trigo e que a muçarela e a calabresa são completamente usados na produção definida. Saiba mais Se você colocou o problema do vídeo indicado no tema de ensino anterior, poderá resolvê-lo e confirmar a solução agora. Acesse: <https://www.youtube.com/watch?v=5Yl9GgNrpx4>. TEMA 3 – PROBLEMA DE TRANSPORTE: UMA INTRODUÇÃO Problema de transporte é um tipo de problema real que acontece no cotidiano e que pode ser aplicado em Programação Linear. O “chamado problema de transporte recebeu esta denominação em virtude de suas aplicações envolverem como transportar mercadorias de maneira otimizada”, mas algumas de suas importantes aplicações (por exemplo, cronograma de produção) não estão relacionadas ao transporte (Hillier; Lieberman, 2010). O administrador sabe que no processo geral de produção e comercialização do produto a estrutura de transporte deve ser cuidadosamente planejada a fim de cumprir o seu objetivo com o menor acréscimo possível no custo final do produto (Andrade, 2009), por isso o estudo do problema de transporte lhe capacitará para decidir melhor. Como este tema tem por objetivo apresentar uma introdução ao problema de transporte, os conceitos fundamentais serão apresentados da forma mais objetiva possível e aplicados em um exemplo. Problema de transporte: é melhor visualizado quando se identificam as relações entre os componentes do sistema, tais como origem e destino, e consequentemente as possíveis alternativas de percurso. Neste contexto, deseja-se determinar, entre as diversas alternativas de percurso para realizar a distribuição de um produto, a que resultará no menor custo de transporte entre as fábricas (origem) e os centros de distribuição (destino) (Lachtermacher, 2009). A Figura 13 é uma representação em rede de um problema de transporte composto por três origens, dois destinos e seis rotas possíveis. 14 Figura 13 – Representação em rede ORIGEM DESTINO (Fornecedores) (Consumidores) Alfa A1 B1 P1 A2 Bravo C1 B2 P2 C2 Charlie No cenário da Figura 13, o problema consiste em definir a quantidade de produtos a ser enviada em cada rota (A1, A2, ... C2), que possuem custos unitários distintos. Perceba que as quantidades em cada rota são as variáveis de decisão, e os custos unitários das rotas são seus coeficientes na função objetivo, bem como que cada origem possui um limite de fornecimento e cada destino, um limite de demanda, armazenagem etc. O problema de transporte de um modo geral, na visão de Hillier e Lieberman (2010), “se refere a distribuir qualquer commodity de qualquer grupo de centros de fornecimento, chamado origem, a qualquer grupo de centros de recepção,denominado destinos, de modo a minimizar o custo total de distribuição”. Prosseguindo, os autores destacam que “cada origem possui determinada oferta de unidades a serem distribuídas aos destinos, e cada destino tem certa demanda pelas unidades a serem recebidas das origens” e que o modelo para um problema de transporte possui as seguintes hipóteses: Das exigências: cada origem possui uma oferta fixa de unidades e que a sua totalidade deve ser distribuída aos destinos. De forma similar, cada destino possui uma demanda fixa por unidades, e toda essa demanda deve ser recebida das origens; Do custo: o custo de distribuição de unidades de qualquer origem em particular para qualquer destino em particular é diretamente proporcional ao número de unidades distribuídas, consequentemente o custo final é: o custo unitário de distribuição vezes o número de unidades distribuídas. 15 Fazendo com que Z seja o custo total de distribuição e ( = 1, 2, … , ; = 1, 2, … , ) seja o número de unidades a serem distribuídas da origem i para o destino j, a formulação em programação linear do problema de transporte é: = ∑ ∑ , =1 =1 sujeito a ∑ = para = 1, 2, … , , =1 ∑ = para = 1, 2, … , , =1 e ≥ 0 para todo e onde: é o número de unidades sendo distribuído pela origem , para = 1, 2, … , . é o número de unidades recebidas pelo destino , para = 1, 2, … , . Considerando a rede da Figura 13, temos que: = 3, = 2 e, no caso, a rota B1 será identificada com a variável de decisão 21 (origem 2 e destino 1). A partir da formulação em programação linear do problema de transporte, verifica-se que deve haver um equilíbrio entre a quantidade de oferta e a quantidade da demanda. Entretanto, pode haver situações em que há uma quantidade maior do que a outra, ou seja, com a oferta maior que a demanda ou a demanda maior que a oferta. Para o caso de a oferta ser maior que a demanda, pode-se adotar uma das seguintes medidas, a fim de que o destino não receba quantidade superior 9. demanda (Lactermacher, 2009): Inserir um destino fictício (fantasma) com o custo unitário de transporte de todas as origens igual a zero e com a demanda igual à diferença entre o 16 total ofertado e o total demandado. Dessa forma, será garantida a igualdade das quantidades ofertadas e demandadas; ou Modificar o sinal das restrições de ofertas (origens) de = para ≤ a fim de garantir que ocorra sobra de produtos ofertados. Para o caso de a demanda ser maior que a oferta, pode-se adotar uma das seguintes medidas, a fim de que toda a oferta (capacidade) seja esgotada no destino, mesmo que não atenda toda demanda requerida (Lachtermacher, 2009): Inserir uma fonte de oferta fictícia (fantasma) com o custo unitário de transporte para todos os destinos igual a zero e com a capacidade (oferta) igual à diferença entre o total demandado e o total ofertado. Dessa forma, será garantida a igualdade das quantidades demandas e ofertadas; ou Modificar o sinal das restrições das demandas de = para ≤ a fim de garantir que parte da demanda não será atendida. Fornecedores de complemento alimentar: após o sucesso do lançamento de sua bebida láctea, a padaria Le Petite Pain deseja ampliar as vendas desse produto com a abertura de um PDV no centro da cidade. Nesse novo planejamento, identificou três fornecedores (Alfa, Bravo e Charlie) na região metropolitana capazes de fabricar o complemento alimentar (farinha) dentro das especificações. No planejamento, os gestores da padaria definiram a potencial demanda semanal pelo complemento alimentar no PDV e na padaria, bem como identificaram a capacidade dos fornecedores e os custos transporte, conforme apresentado na Tabela 2. Tabela 2 – Complemento alimentar: custo de transporte Custo unitário de transporte do Disponível no Fornecedor complemento alimentar ($/kg) fornecedor (kg) PDV Padaria Alfa 0,9 1,6 8,3 Bravo 1,4 2,9 13,7 Charlie 1,1 1,2 8 Demanda semanal (kg) 7,1 13,3 A partir dessas informações, os gestores da padaria desejam determinar a quantidade que cada fornecedor deve entregar no PDV e na padaria de forma a ter o mínimo custo possível. 17 Solução: O modelo do problema de transporte da Le Petite Pain é (Z em $): Minimizar = 0,9 11 + 1,6 12 + 1,4 21 + 2,9 22 + 1,1 31 + 1,2 32, sujeito às restrições, 7. Disponibilidade do fornecedor (em razão da oferta ser maior que a demanda, modificou-se o sinal de = para ≤): Alfa (kg) 1 11 + 1 12 ≤ 8,3 Bravo (kg) 1 21 + 1 22 ≤ 13,7 Charlie (kg) 1 31 + 1 32 ≤ 8 2. Demanda semanal (receber a exata quantidade demandada): PDV (kg) 1 11 + 1 21 + 1 31 = 7,1 Padaria (kg) 1 12 + 1 22 + 1 32 = 13,3 11 ≥ 0, 12 ≥ 0, 21 ≥ 0, 22 ≥ 0, 31 ≥ 0, 32 ≥ 0 sendo 11: rota Alfa-PDV (kg); 12: rota Alfa-padaria (kg); 21: rota Bravo-PDV (kg); 22: rota Bravo-padaria (kg); 31: rota Charlie-PDV (kg); e 32: rota Charlie-PDV (kg). Lachtermacher (2009) usa para resolver problema de transporte uma planilha com estrutura mais compactada, cuja compreensão requer um pouco mais de estudo. Entretanto, julgamos ser mais didático continuar a empregar o modelo anteriormente apresentado, assim a Figura 14 apresenta a planilha preenchida com os dados do problema em estudo. Figura 14 – Planilha preenchida com os dados do problema de transporte 18 Na planilha da Figura 14, tem-se: a fórmula na célula C5 (Zmin) é C3*C4+D3*D4+E3*E4+F3*F4+G3*G4+H3*H4 ( = 0,9 11 + 1,6 12 + 1,4 21 + 2,9 22 + 1,1 31 + 1,2 32), na célula I8 (disponibilidade Alfa-LHS) é C4*C8+D4*D8+E4*E8+F4*F8+G4*G8+H4*H8 (1 11 + 1 12 + 0 21 + 0 22 + 0 31 + 0 32) e de forma semelhante nas células I9 (disponibilidade Bravo-LHS), I10 (disponibilidade Charlie-LHS), I11 (demanda PDV-LHS) e I12 (demanda padaria-LHS). Os valores em kg de 11 (rota Alfa- PDV), 12 (rota Alfa-padaria), 21 (rota Bravo-PDV), 22 (rota Bravo-padaria), 31 (rota Charlie-PDV) e 32 (rota Charlie-PDV) são calculados pelo Solver e inseridos nas células C4, D4, E4, F4, G4 e H4. Consequentemente, os valores de Z e das restrições disponibilidade Alfa (LHS), disponibilidade Bravo (LHS), disponibilidade Charlie (LHS), demanda PDV (LHS) e demanda Padaria (LHS) são calculados e deixam de ter o valor igual a 0 (zero). A caixa de diálogo Parâmetro do Solver preenchida é a apresentada na Figura 15, e o resultado final dos cálculos do Solver é apresentado na Figura 16. Figura 15 – Parâmetros do Solver preenchidos Figura 16 – Resultado final do Solver 19 A partir dos dados da planilha – Figura 15 –, é possível verificar que o fornecedor Alfa proverá o PDV com 3 kg e a padaria com 5,3 Kg, ou seja, toda a sua capacidade de fornecimento será empregada. O fornecedor Bravo proverá somente o PDV, com 4,1 Kg, e tem uma disponibilidade 9,6 kg (13,7-4,1) do produto. O fornecedor Charlie proverá a padaria com toda a sua capacidade, que de 8 kg. Esta disposição de fornecimento do complemento alimentar gerará o menor custo, que é de $26,52. Saiba mais Leia da página 76 até o início da página 80 do livro (impresso). Se possível, aplique o Solver para resolver os exemplos e os problemaspropostos referentes ao problema de transporte existentes no capítulo. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/79>. BARBOSA, M. A.; ZANARDINI, R. A. D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: InterSaberes, 2014. Leia a introdução do capítulo 5 e o Item 5.1 do TAHA e, se possível, aplique o Solver para resolver exemplos e exercícios propostos com respostas. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/85>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. TEMA 4 – PROBLEMA DA DESIGNAÇÃO: UMA INTRODUÇÃO Segundo Hillier e Lieberman (2010), o “denominado problema da designação envolve aplicações tais como distribuir pessoas para realizar determinadas tarefas” e que, apesar das aplicações parecerem distintas em relação as do problema de transporte, o problema da designação pode ser visto como um tipo especial de problema de transporte, com o que concorda Andrade (2009), pois nos diz 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”. Consideramos que o estudo do problema da designação será útil ao administrador no desempenho de suas funções por tratar de problemas 20 de sua rotina. Como este tema tem por objetivo apresentar uma introdução ao problema de designação, os conceitos fundamentais serão apresentados da forma mais objetiva possível e aplicados em um exemplo, de forma semelhante à abordagem do problema de transporte. Problema da designação (Hillier; Lieberman, 2010): o problema da designação é um tipo especial de problema de programação linear em que os designados estão sendo indicados para realizar tarefas, por exemplo, a definição de empregados (designados) que precisam receber designações de trabalho (tarefas) é uma aplicação comum do problema da designação. Os designados podem ser máquinas, veículos, fábricas ou até mesmo períodos a serem destinados a tarefas, não necessariamente pessoas. Para caracterizar um determinado problema como problema de designação, ele precisa ser formulado de maneira a satisfazer as seguintes hipóteses: O número de designados e o número de tarefas é o mesmo (esse número é representado por n). Deve-se atribuir a cada designado exatamente uma tarefa. Cada tarefa deve ser realizada exatamente por um designado. Há um custo associado ao designado i ( = 1, 2, … , ) executando a tarefa j ( = 1, 2, … , ). O objetivo é determinar como todas as n designações devem ser feitas para minimizar o custo total. O modelo matemático para o problema da designação utiliza as seguintes variáveis de decisão: = {1 se o designado realiza a tarefa 0 caso contrário para = 1, 2, … , e = 1, 2, … , . Portanto, cada é uma variável binária (ela possui valor 0 ou 1). O modelo para o problema da designação possui a seguinte estrutura: = ∑ ∑ , =1 =1 sujeito a 21 ∑ = 1 para = 1, 2, … , , =1 ∑ = 1 para = 1, 2, … , , =1 e ≥ 0 para todo e O primeiro conjunto de restrições funcionais especifica que cada designado deve realizar exatamente uma tarefa, ao passo que o segundo conjunto requer que cada tarefa seja realizada exatamente por um designado. Cabe uma observação: nada impede que Z seja calculado como o menor tempo de operação, de manutenção... e não somente como o menor custo. Designação de máquinas para operações. Existem três operações, T1, T2 e T3, em uma fábrica que podem ser processadas por três máquinas disponíveis, M1, M2 e M3. Como cada máquina difere das demais em termos de idade, tecnologia e outras características, o tempo de processamento de cada trabalho é diferente em cada máquina. A matriz de tempos de processamento, em horas, é a apresentada na Tabela 3. Para este cenário, elabore o modelo de programação linear, apresentando a função objetivo e as restrições e, em seguida, resolva o problema empregando o Solver e determine o tempo de processamento acumulado. Tabela 3 – Tempos de processamento Máquinas Trabalho T1 T2 T3 M1 10 5 8 M2 12 9 15 M3 9 12 10 Solução: No problema da designação, as máquinas são as designadas, e o modelo de programação linear é (Z em horas): Minimizar = 10 11 + 5 12 + 8 13 + 12 21 + 9 22 + 15 23 + 9 31 + 12 32 + 10 33, sujeito às restrições, 22 1. Designado (máquina): realizar apenas uma tarefa M1 1 11 + 1 12 + 1 13 = 1 M2 1 21 + 1 22 + 1 23 = 1 M3 1 31 + 1 32 + 1 33 = 1 2. Tarefa: executada por apenas um designado T1 1 11 + 1 21 + 1 31 = 1 T2 1 12 + 1 22 + 1 32 = 1 T3 1 13 + 1 23 + 1 33 = 1 c. 11 ≥ 0, 12 ≥ 0, 13 ≥ 0, 21 ≥ 0, 22 ≥ 0, 23 ≥ 0, 31, 32 ≥ 0, 33 ≥ 0 sendo, 11: M1-T1 (un.); 12: M1-T2 (un.); 13: M1-T3 (un.); 21: M2-T1 (un.); 22: M2-T2 (un.); 23: M2-T3 (un.); 31: M3-T1 (un.); 32: M3-T2 (un.); e 33: M3-T3 (un.). A planilha preenchida com os dados do problema da designação é apresentada na Figura 17. Figura 17 – Planilha preenchida com os dados do problema da designação Na planilha da Figura 17, tem-se: a fórmula na célula C5 (Zmin) é C3*C4+D3*D4+E3*E4+F3*F4+G3*G4+H3*H4+I3*I4+J3*J4+K3*K4 ( = 10 11 + 5 12 + 8 13 + 12 21 + 9 22 + 15 23 + 9 31 + 12 32 + 10 33), na célula L8 (M1-LHS) é C4*C8+D4*D8+E4*E8+F4*F8+G4*G8+H4*H8+I4*I8+J4*J8+K4*K8 (1 11 + 1 12 + 1 13 + 0 21 + 0 22 + 0 23 + 0 31 + 0 32 + 0 33) e de forma semelhante nas células L9 (M2-LHS), L10 (M3-LHS), L11 (T1-LHS), L12 (T2-LHS) e L13 (T3-LHS). Os valores binários (1 ou 0) de 11 (T1-M1), 12 (T2-M1), 13 (T3-M1), 21 (T1-M2), 22 (T2-M2), 23 (T3-M2), 31 (T1-M3), 32 (T2-M3) 23 e 23 (T3-M3) são calculados pelo Solver e inseridos nas células C4, D4, E4, F4, G4, H4, I4, J4 e K4. Consequentemente, os valores de Z e das restrições M1 (LHS), M2 (LHS), M3 (LHS), T1 (LHS), T2 (LHS) e T3 (LHS) são calculados e deixam de ter o valor igual a 0 (zero). A caixa de diálogo Parâmetro do Solver preenchida é a apresentada na Figura 18, e o resultado final dos cálculos do Solver é apresentado na Figura 19. Figura 18 – Parâmetros do Solver preenchidos Figura 19 – Resultado Final do Solver A partir dos dados da planilha – Figura 19 –, é possível verificar que o trabalho T3 será executado pela máquina M1, o trabalho T2 será executado pela máquina M2, e o trabalho T1 será executado pela máquina M3, bem como todas as restrições foram obedecidas e a operação se realizará no tempo mínimo (Z) de 26 horas. 24 Saiba mais Leia o Item 5.4 do TAHA e, se possível, aplique o Solver para resolver exemplos e exercícios propostos com respostas. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/99>. TAHA, Hamdy A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. TEMA 5 – ANÁLISE DE SENSIBILIDADE NO SOLVER A análise de sensibilidade permite ir além da solução pontual da programação linear: permite avaliar os reflexos de eventuais alterações nos dados e condições do problemasobre a solução ótima. A análise é especialmente importante para estudo de cenários, pois as empresas estão inseridas em um ambiente sujeito a constantes mudanças. Esta análise pode ser simplificada com o Relatório de Sensibilidade emitido pelo Solver (Corrar; Theóphilo; Bergmann, 2007). O presente tema tem por objetivo introduzir conceitos de análise de sensibilidade e apresentar o Relatório de Sensibilidade do Excel. Análise de sensibilidade: uma das hipóteses dos problemas de programação linear é a certeza que se tem sobre os valores dos coeficientes da função objetivo e das constantes das restrições (Lachtermacher, 2009). Para amenizar essa hipótese, realizamos uma análise pós-otimização verificando as possíveis variações, para cima e para baixo, dos valores dos coeficientes da função objetivo, dos coeficientes e das constantes das restrições, sem que a solução ótima seja alterada. Este estudo se denomina análise de sensibilidade. Uma análise de sensibilidade busca responder basicamente a três perguntas (Lachtermacher, 2009): Qual é o efeito de uma mudança em um coeficiente da função objetivo? Qual é o efeito de uma mudança em uma constante de uma restrição? Qual é o efeito de uma mudança em um coeficiente de uma restrição? Existem dois tipos básicos de análise de sensibilidade. O primeiro estabelece limites inferiores e superiores para todos os coeficientes da função objetivo e para os coeficientes e as constantes das restrições. Esta análise é efetuada automaticamente pelo Excel, considerando a hipótese de apenas uma 25 alteração a cada momento. O segundo verifica se mais de uma mudança simultânea em um problema altera a sua solução ótima, o que não é realizado pelo Excel por ser um estudo mais complexo. Uma maneira simples para se realizar este estudo, em problemas de pequeno e médio portes, é o de se realizar as alterações na modelagem do problema e encontrar sua nova solução realizando uma nova otimização (Lachtermacher, 2009). Relatórios do Solver: no processo de solução do problema pelo Solver, a caixa de diálogo Resultados do Solver – Figura 8 – aparece e exibe uma mensagem de conclusão. No lado direito da caixa de diálogo, são relacionados os relatórios disponíveis – Respostas, Sensibilidade e Limites –, mas o nosso foco é o Relatório de Sensibilidade. Após você selecionar os relatórios desejados e clicar no botão OK, a planilha passa a exibir os resultados obtidos, e os relatórios selecionados são gerados (Corrar; Theóphilo; Bergmann, 2007). Relatório de Sensibilidade: quando um ou mais dados do problema sofrem alteração, o modelo inicial pode ser atualizado e recalculado com facilidade. O Solver permite que se alterem apenas os dados que sofrem alterações, recalculando a planilha e emitindo novos relatórios. Entretanto, pode-se desejar conhecer, a partir de um cenário, os impactos advindos de eventuais mudanças nos valores atuais das variáveis e restrições. Seja o Relatório de Sensibilidade – Figura 20 – obtido a partir da resolução do problema da marcenaria (Tema 01). Observa-se que o relatório é subdividido em duas partes: uma destinada às células variáveis (função objetivo) e outra, às restrições. Vamos a seguir apresentar alguns comentários: Figura 20 – Relatório de sensibilidade Microsoft Excel 16.0 Relatório de Sensibilidade Planilha: [Estrutura_Solver_Rota 4.xlsx]Ex_Marcenaria Relatório Criado: 30/07/2017 19:58:04 Células Variáveis Final Reduzido Objetivo Permitido Permitido Célula Nome Valor Custo Coeficiente Aumentar Reduzir $C$4 Variáveis (Solver) X1 4 0 4 1E+30 2 $D$4 Variáveis (Solver) X2 0 -1 1 1 1E+30 Restrições Final Sombra Restrição Permitido Permitido Célula Nome Valor Preço Lateral R.H. Aumentar Reduzir $E$8 Madeira LHS 8 0 12 1E+30 4 $E$9 Mão de obra LHS 8 2 8 4 8 Em células variáveis, o campo Final Valor indica a quantidade dos produtos a serem produzidas na solução ótima. Os campos Permitido Aumentar 26 e Permitido Reduzir indicam o limite em que cada quantidade pode ser acrescida ou reduzida de forma a modificar a solução ótima. No exemplo, o custo da variável 1(mesas) pode ser aumentado indefinidamente e reduzido em até $ 2 que as quantidades produzidas de mesas e cadeiras não se alteram. O mesmo raciocínio serve para as restrições. Em restrições, o campo Sombra Preço indica que se o valor for positivo, um incremento de uma unidade na constante da restrição resulta em um aumento do valor da função objetivo; e se for negativo, resulta na diminuição do valor da função objetivo. Saiba mais Leia o item 7.1 do livro-texto (impresso) e o 8.1 do livro digital. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788544302194/pa ges/175>. BARBOSA, Marcos Antonio. ZANARDINI, Ricardo Alexandre D. Iniciação à pesquisa operacional no ambiente de gestão. 2. ed. rev., atual. e ampl. Curitiba: Intersaberes, 2014. Leia o Item 4.5 do Taha. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/81>. TAHA, Hamdy A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. NA PRÁTICA A partir da caracterização dos problemas de transporte e da designação, a partir de sua rotina de trabalho, elabore um problema com estas características, estruture no Excel e aplique o Solver. Em seguida, compartilhe o seu problema, no fórum com seus colegas de disciplina e avalie os problemas apresentados pelos seus colegas. Leia o caso de ensino sugerido e depois responda o solicitado. Terminada a atividade de estudo e solucionado o estudo de caso, você receberá a solução para a atividade realizada pelo professor que elaborou o presente caso de ensino. 27 Orientações para realizar a atividade: f. Leia o caso de ensino atentamente e os temas da rota. g. Reveja os procedimentos para aplicação do Solver, pois são necessários para resolver o caso de ensino. h. Elabore um checklist para usar o Solver a fim de evitar erros na elaboração da planilha no Excel e no preenchimento dos dados solicitados para aplicação do Solver. Tenha o material em mãos para consulta. i. Boa aprendizagem! Caso de Ensino n. 5: Problema de mistura (solução pelo Solver) A padaria Le Petit Pain deseja lançar uma nova bebida para seus frequentadores, em especial, aos moradores do bairro, que são em sua maioria pessoas com mais de 60 anos. A nova bebida é basicamente composta por uma bebida láctea e por um complemento alimentar (farinha) em diversos sabores. Sabe-se que os nutrientes da bebida láctea e do complemento alimentar fornecem as quantidades de vitaminas dadas na Tabela 4. Tabela 4 – Composição alimentar: quantidade e custo Vitaminas Bebida láctea (l) Complemento Quantidade alimentar (kg) diária mínima A 0,25 mg 2 mg 1 mg B 25 mg 20 mg 50 mg C 3 mg 6 mg 10 mg Custo unitário ($) 3,0 17,0 - Use o Solver para calcular as quantidades de bebida láctea e de complemento alimentar capazes de satisfazer as quantidades diárias mínimas de nutrientes (vitaminas) a um custo mínimo. Padrão de resposta: a solução a ser encontrada pelo estudante, após estruturar a planilha e inserir os dados na caixa de diálogo Parâmetros do Solver, é a seguinte: 28 Figura 21 – Solução do problema com o uso do SolverConclusão: o menor custo é $11,22 (Z_min=11,22), as quantidades de leite são 3,11 l e a do suplemento alimentar é de 0,11 kg para se obter a quantidade diária de vitaminas. A proporcionalidade entre leite e suplemento alimentar é a dosagem de 35,37 gramas do suplemento alimentar para cada litro de leite. FINALIZANDO O tema principal abordado na presente aula foi a ferramenta Solver do Excel. Inicialmente apresentamos os procedimentos para seu uso de forma aplicada em um exemplo comentado. Em seguida, resolvemos um problema de maximização empregando o Solver e comentamos a resolução. Posteriormente, apresentamos as características, o modelo e a resolução por meio do Solver de problema de transporte e, da mesma forma, de problema da designação. Estes dois últimos problemas são problemas de minimização. Por fim, apresentamos alguns conceitos de análise de sensibilidade. O caso de ensino proposto é um exercício resolvido anteriormente de forma gráfica, portanto com solução já conhecida. A sua solução por meio do Solver tem por objetivo fazer o aluno aplicar os procedimentos previstos pelo Solver e estimulá-lo a empregar essa ferramenta para resolver outros problemas de programação linear. 29 REFERÊNCIAS ANDRADE, E. L. de. Introdução à pesquisa operacional: métodos e modelos para análise de decisões. 4. ed. Rio de Janeiro: LTC, 2009. CORRAR, L. J.; THÉOPHILO, C. R.; BERGMANN, D. R. Programação linear. In: CORRAR, L. J.; THÉOPHILO. Pesquisa operacional para decisão em contabilidade e administração: contabilometria. 1. ed. 3. reimp. São Paulo: Atlas, 2007. HILLIER, F. S.; LIEBERMAN, G. J. Introdução à Pesquisa Operacional. 9. ed. Porto Alegres: McGraw-Hill, 2010. LACHTERMACHER, G. Pesquisa operacional na tomada de decisões: modelagem em Excel. 4. ed. Rio de Janeiro: Elsevier, 2009. 30 PESQUISA OPERACIONAL AULA 5 Prof. José de Souza Leal Neto CONVERSA INICIAL Neste momento, iniciamos o estudo de um novo assunto, filas. Sabemos que “as filas (filas de espera) fazem parte do dia a dia de nossa vida. Todos nós esperamos em uma fila para: comprar o ingresso para uma sessão de cinema, fazer um depósito bancário, pagar as compras em um supermercado, remeter um pacote no correio...” e consideramos a espera em tais situações como comum, bem como a irritação, quando temos que esperar muito em fila até sermos atendidos (Hillier; Lieberman, 2010). Um dos sintomas mais frequentes de que um sistema funciona de forma deficiente é a existência de congestionamento de clientes. Quando sempre existem clientes à espera de atendimento em um banco, por exemplo, é sinal de que o número de caixas não está dimensionado de maneira adequada de forma a minimizar o tempo de espera em fila (Andrade, 2009). Por mais que se quantifique, obtenha-se um padrão estatístico da formação de filas e do processo de atendimento e se empreguem modelos matemáticos ao estudo de filas, é fato que sempre ocorrerá uma aleatoriedade na ocorrência de chegadas de clientes e, principalmente, que cada cliente possui o seu tempo de atendimento, específico, uma vez que as demandas existentes de cada um são peculiares e únicas. O fato é que filas estarão sempre presentes na rotina do administrador e quando este compreende a dinâmica de sua formação, as suas características e, principalmente, que é possível desenvolver um estudo mais detalhado sobre o cenário em que a fila ocorre, será capaz de tomar decisões com mais segurança para realizar as devidas intervenções e correções, quando estas forem necessárias. O objetivo da presente rota de aprendizagem é introduzir os conceitos de teoria das filas e destacar, a partir da dinâmica que envolve a formação de filas, que a sua existência nem sempre significa uma ineficiência operacional. CONTEXTUALIZANDO Uma percepção inicial a respeito da qualidade de atendimento realizada pelos bancos comerciais é, praticamente, uma unanimidade: a estrutura existente é inapropriada, subdimensionada etc., pois, em regra, os clientes se deparam com filas naqueles estabelecimentos. Entretanto, em determinados 2 dias do mês, praticamente não há filas. Isto se deve ao fato de que os pagamentos de salários, de impostos, de taxas e contas são concentrados em determinados dias do mês, além do que as pessoas possuem o hábito de ir ao banco no período de intervalo de almoço. Outro setor que aparentemente podemos considerar como subdimensionado é o sistema de transporte público, porque nos períodos de início e término de expediente ocorre uma saturação de usuários nos pontos/estações de ônibus e também nos ônibus. Ocorrem também filas nas padarias, nos cinemas, nos supermercados... Esses diversos serviços podem até ser aperfeiçoados, e o tempo de espera em fila, amenizado, no entanto sempre haverá fila. “Grandes ineficiências também ocorrem por causa de outros tipos de espera, além daquelas de pessoas que esperam em fila. Por exemplo, deixar máquinas à espera para ser reparadas pode representar perda de produção”, além de veículos como navios e caminhões, que, se forem descarregados fora do cronograma, atrasam os embarques seguintes (Hillier; Lieberman, 2010). Assim, para melhor compreensão das situações comentadas anteriormente, estudamos a teoria das filas, que tem por objetivo compreender a dinâmica das filas e caracterizá-las por equações matemáticas. Uma vez que o administrador compreender esta dinâmica, os fenômenos inerentes às filas, poderá diagnosticar de forma apropriada se o sistema está saturado e, consequentemente, se necessita ser adequado ou se as filas ocorrem como consequência natural do processo randômico de chegada dos clientes, do processo de atendimento etc. Entretanto, a presente aula ter por objetivo fazer uma breve exposição sobre filas, pois não será possível esgotar o tema. Assim, inicialmente será apresentado um curto histórico, conceitos e áreas de aplicações da teoria das filas. Em seguida serão explicados os elementos e as características de filas, bem como a dinâmica da formação de filas, ampliando, posteriormente, os conceitos básicos de filas. Por fim, será realizada uma introdução aos modelos de filas. TEMA 1 – TEORIA DAS FILAS: HISTÓRICO, CONCEITOS E APLICAÇÕES. A teoria das filas é um método analítico que aborda o assunto por meio de fórmulas matemáticas (Prado, 2006) e “trata de congestionamento de 3 sistemas, cuja característica principal é a presença de „clientes‟ solicitando „serviços‟ de alguma maneira” (Andrade, 2009). Quando se refere a um sistema de filas, basicamente se refere à existência de elementos (clientes) que estão aguardando um posto de serviço (atendente) ficar disponível para serem atendidos (Andrade, 2009). A seguir são apresentados histórico e conceitos iniciais referentes à filas. Aspectos históricos: A abordagem matemática de filas foi iniciada no início do século XX (1908) em Copenhague, Dinamarca, por A. K. Erlang, considerado o pai da teoria das filas, que estudou o problema de redimensionamento de centrais telefônicas quando trabalhava em uma companhia telefônica. Somente após a Segunda Guerra Mundial é que a teoriafoi aplicada a outros problemas de filas. Apesar do enorme progresso alcançado pela teoria, inúmeros problemas não são adequadamente resolvidos (Prado, 2006). O que são filas? A nossa rotina diária nos permite identificar exatamente o que são filas. Nós entramos em uma fila para fazer retirada em um caixa eletrônico, para pagar as compras em um supermercado, para comprar ingressos em um cinema, para pagar o pedágio em uma rodovia e em tantas outras situações. Filas também existem em ambientes de produção, tais como de lingotes aquecidos em uma aciaria, esperando pelo serviço de lingotamento, ou de caminhões em um serviço de terraplenagem, esperando, junto a uma carregadeira, a vez de serem carregados. Não é necessário que exista, na verdade, uma fila física de espera formada em frente a uma estrutura física, parte da instalação de atendimento. Pode ser o caso, por exemplo, de os integrantes da fila estarem dispersos por certa área, à espera da chegada de um atendente, como máquinas que aguardam conserto. Outro tipo de fila que não pode ser visualizada é uma lista no computador referentes a pedidos de manufatura em uma fábrica de geladeiras. Em outras situações, não há ordem de atendimento em razão de a fila não estar materializada, “enfileirada”, mas sim dispersa, por exemplo pessoas em uma barbearia, esperando por sua vez de cortar o cabelo, aviões sobrevoando um aeroporto, esperando pela vez de aterrissar, ou navios fundeados no litoral, esperando pela vez de atracar no porto para descarga/carga (Prado, 2006; Hillier; Lieberman, 2010). 4 Filas não são simpáticas. Certamente não é agradável permanecer em uma fila e esperar pelo serviço (o desejo do cliente é ser imediatamente atendido assim que chegar no local de serviço), e, quando a espera é longa, ficamos irritados. Em consequência de nossas incômodas experiências em filas, podemos evitar fazer compras em um determinado supermercado, até mesmo realizando um deslocamento maior, bem como mudar a nossa conta bancária para outra agência (ou banco) etc. Isso significa perda de faturamento para o supermercado, para a agência (banco) ou para qualquer outra empresa. Entretanto, apesar de não serem simpáticas e de causarem prejuízos, temos que conviver com filas na vida real, visto ser financeiramente inviável superdimensionar um sistema para que nunca ocorram filas. O que se tenta obter j. um balanceamento adequado que permita um atendimento aceitável pelo melhor custo e o melhor benefício. A existência de filas sempre ocorrerá nos mais variados ambientes, indo de fábricas a supermercados, trazendo consigo o lado desfavorável do custo. Por exemplo, nas fábricas, a existência de fila em um determinado equipamento pode gerar aumento nos tempos do ciclo de produção, o que, por sua vez, pode significar aumento nos custos e atrasos no atendimento aos pedidos dos clientes (Prado, 2006). A teoria das filas estuda a situação de “espera” nas mais variadas formas e emprega “modelos de filas para representar os diversos tipos de sistemas de filas (sistemas que envolvem filas do mesmo tipo) que surgem na prática. As fórmulas para cada modelo indicam como o sistema de filas correspondente deve funcionar”. Tais modelos são muito úteis para determinar como operar de forma mais eficiente um sistema de filas (Hillier; Lieberman, 2010). Aplicações: Andrade (2009) nos apresenta algumas aplicações da teoria das filas em administração, as quais são listadas a seguir: Estabelecimento de uma política de atendimento ao público em empresas concessionárias de serviços públicos, determinando o número de atendentes e a especialização de cada um. Estudo de um sistema de almoxarifado, de modo a determinar os custos totais de operação. Estudo da operação de um centro de processamento de dados com o objetivo de determinar políticas de atendimento e prioridades para execução de serviços. 5 Determinação de equipes de manutenção em grandes instalações, onde há custos elevados associados a equipamentos danificados, à espera de reparos. Estudo de operação de caixas (bancos, supermercados etc.) com o objetivo de estabelecer uma política ótima de atendimento ao público; Determinação de capacidade em pátios de estacionamentos de automóveis. Saiba mais Leia a introdução do capítulo 15 e o item 15.1 do Taha e procure compreender o contexto dos problemas apresentados no „conjunto de problemas 15.1A‟. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/247>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Acesse o endereço a seguir e assista ao vídeo sobre teoria das filas: <https://www.youtube.com/watch?v=uNkHa1g5Pwg>. TEMA 2 – SISTEMA DE FILAS: ELEMENTOS, CARACTERÍSTICAS E MEDIDAS DE EFETIVIDADE Conforme Andrade (2009) nos informa, há diversos fatores que possuem tanta influência na operação de um sistema de filas que seu desempenho passa a ser função deles. Entre tais fatores estão: a estrutura do sistema, o processo/modo de chegada dos clientes, a disciplina da fila, a forma de atendimento etc. Neste tema de ensino, esses fatores e outros são apresentados a fim de que você compreenda melhor a operação dos sistemas de filas. Elementos de uma fila: Na Figura 1 é apresentado o processo básico suposto pela maioria dos modelos de filas, no qual clientes que necessitam de atendimento são gerados de uma certa população. Tais clientes entram no sistema de filas e pegam uma fila, e, em dado momento, um integrante da fila - selecionado para o atendimento por alguma regra conhecida como disciplina de fila. Cliente é um termo genérico que pode designar uma pessoa, um navio, um lingote etc. Os termos “transação” ou “entidade” podem ser empregados como sinônimo de cliente. O atendimento é realizado por um ou mais 6 servidores (ou atendentes ou canais de serviço) e pode designar um médico, um cais de atracação, uma máquina de lingotamento etc. Após o atendimento, o cliente deixa o sistema de filas (Prado, 2006; Hillier; Lieberman, 2010). Figura 1 – Elementos de uma fila Fonte: Prado, 2006. Características de uma fila. Os elementos principais que caracterizam um fila são: Clientes e tamanho da população. O tamanho é o número total de possíveis clientes distintos. Um cliente sempre será proveniente de uma população, a qual pode possuir um tamanho infinito ou finito. Como os cálculos são bem mais fáceis para o caso em que a população é infinita, parte-se dessa hipótese, mesmo quando o tamanho real for um número finito relativamente grande. Esta é a hipótese implícita para qualquer modelo de filas que não afirme o contrário. No caso da população infinita, a chegada de um novo cliente a uma fila não afeta a taxa de chegada de clientes subsequentes, e pode-se afirmar que as chegadas são independentes. O caso da população finita é mais difícil analiticamente, pois o número de clientes no sistema de filas afeta o número de possíveis clientes fora do sistema a qualquer momento (Prado, 2006; Hillier; Lieberman, 2010). Processo de chegada. “A chegadas de clientes a um sistema ocorrem, na maioria das dos casos que têm interesse para a administração, de modo aleatório, ou seja, o número de clientes que chegam por unidade te tempo, varia segundo o acaso” (Andrade, 2009). A hipótese comum é que os clientes são gerados de acordo com um processo de Poisson 7(distribuição de Poisson), e uma hipótese equivalente é que a distribuição probabilística do tempo entre as chegadas consecutivas possui uma distribuição exponencial (Prado, 2006; Hillier; Lieberman, 2010). Um processo de chegada regular, ou seja, aquele em que não existe nenhuma variação entre os valores para os intervalos entre chegadas é raro de acontecer, porém ocorre apenas em processos altamente automatizados. Nesta situação, se dissermos que o intervalo entre chegadas é de 10 segundos, teremos que rigorosamente a cada 10 segundos chega um novo cliente (Prado, 2006). Consideremos o exemplo de um posto de pedágio com 5 atendentes. Poderíamos constatar que chegam (processo de chegada) entre 7 e 8 horas da manhã 20 automóveis por minuto ou 1 automóvel a cada 3 segundos. Trata-se de um valor médio, pois não significa que chegarão 20 automóveis em intervalos fixos de 1 minuto. Em alguns intervalos de 1 minuto poderão chegar 10, 15, 25 ou até mesmo 30 automóveis. Da mesma forma, o intervalo de 3 segundos entres chegadas não é rígido, e poderíamos constatar valores, por exemplo, desde zero segundo (2 veículos chegando juntos) até 20 segundos. Portanto, o intervalo de 3 segundos representa o intervalo médio entre chegadas no período de 7 a 8 horas da manhã. A partir dos dados apresentados, podemos quantificar o processo de chegada dizendo que a taxa média de chegada é de 20 veículos por minuto ou que o intervalo médio entre chegadas é de 3 segundos (Prado, 2006). Entretanto, para se chegar a tais valores, o mais adequado é realizar um levantamento estatístico de forma a descobrir se o processo de chegada pode ser caracterizado por uma distribuição de probabilidades (distribuição normal, Poisson, exponencial etc.) e se ele se encontra no chamado “estado estacionário”, ou seja, quando a distribuição de probabilidade que identifica o processo hoje será a mesma de amanhã (Pradro, 2006; Andrade, 2009). Resumindo, quando se estudam filas, o ritmo de chegada é uma importante variável randômica. Para quantificar esta variável se usa a letra grega 14 para significar ritmo médio de chegada e se usa IC para o intervalo médio entre chegadas. Assim, no exemplo acima temos: λ = 20 clientes por minuto e IC = 3 segundos. 8 Existem situações em que o ritmo de chegada sofre variações durante o dia. Por exemplo, em um banco a chegada de clientes é mais intensa no período do almoço. Processo de atendimento. A priori, os postos de atendimentos são formados por pessoas, instalações e equipamentos que devem operar harmonicamente para prestar um bom serviço. Um modelo de filas deve especificar a disposição das instalações e o número de atendentes em cada uma delas. Consequentemente, para aperfeiçoar o desempenho do sistema, o administrador pode atuar em diversos elementos, tais como: dimensionamento da capacidade de atendimento, treinamento dos atendentes, processos administrativos etc. (Andrade, 2009; Hillier; Lieberman, 2010). Retornando ao exemplo do pedágio, ao observarmos um atendente em serviço, poderíamos constatar, por exemplo, que ele atende 6 veículos por minuto ou que gasta 10 segundos para atender um veículo. Tais valores são médios, e, para descrevê-los corretamente, o melhor é caracterizá-lo em uma distribuição de probabilidades. Aqui também será raro identificarmos um atendimento regular, ou seja, a existência de um único valor (sem variação) para a duração do atendimento (Prado, 2006). O processo de atendimento é também quantificado por uma importante variável randômica. A letra grega µ é usada para significar o ritmo médio de atendimento, e se usa TA para tempo ou duração média do serviço ou atendimento, que é o tempo decorrido entre o início do atendimento até o seu término. Em geral, pressupõe-se que todos os atendentes possuem a mesma distribuição probabilística de tempo de atendimento, e a distribuição que se supõe com mais frequência na prática é a distribuição exponencial; outra também considerada é a distribuição Erlang (gama). Considerando o exemplo acima, temos: µ = 6 clientes/minuto, e TA = 10 segundos/cliente (Prado, 2006; Hillier; Lieberman, 2010). Número de servidores. A maioria dos modelos elementares parte do pressuposto de uma instalação de atendimento com um atendente (o sistema mais simples) ou com um número finito de atendentes. Um atendente não precisa ser um único indivíduo, mas pode ser constituído por um grupo de pessoas, por uma equipe de manutenção etc. Conforme 9 aumente o ritmo de chegada, podemos manter a qualidade do serviço aumentando convenientemente o número de servidores. Esta é, portanto, uma das características de uma fila que podemos utilizar par modelar um sistema de filas. Na Figura 1, temos 3 servidores (Prado, 2006; Hillier; Lieberman, 2010). Disciplina da fila. A disciplina da fila se refere à ordem na qual integrantes da fila são selecionados para atendimento. Normalmente, para modelos de filas, adota-se a ordem de chegada, ou seja, “o primeiro a chegar é o primeiro a ser atendido” (em inglês diz-se FIFO: First In First Out). Outras disciplinas podem existir, tais como “último a chegar, primeiro a ser atendido” (em inglês diz-se LIFO: Last In First Out), serviço por ordem de prioridade, serviço randômico, prioridade de certas classes etc. (Prado, 2006; Andrade, 2009; Hillier; Lieberman, 2010). Medidas de efetividade de um sistema. No estudo de um sistema, podemos determinar várias medidas de desempenho do sistema, como as apresentadas a seguir. A escolha do parâmetro depende do objetivo do estudo (Prado, 2006; Andrade, 2009). Tamanho médio da fila. Basicamente, é o número médio de clientes existentes em uma fila, por uma unidade de tempo, e, via de regra, é a principal referência que consideramos para decidir qual fila escolheremos. Por exemplo, considere que um cliente em um supermercado deseja chegar e ser atendido de imediato pelo caixa (fila zero), mas, como isto é raro de ocorrer, ele escolhe efetuar o pagamento em um caixa que possua a menor quantidade de clientes em fila. Quando uma fila é de um tamanho razoável (digamos 10 clientes), intuitivamente sabemos que o tempo de espera na fila será longo. Assim, o supermercado dimensiona a quantidade de caixas de modo que, a qualquer momento, os clientes não sintam um grande desconforto ao escolher uma fila (Prado, 2006). Tamanho máximo da fila (Prado, 2006). Quando os clientes devem esperar, alguma área de espera deve existir, por exemplo: cadeiras para os clientes a espera de caixa livre em um banco; caminhões embarcando/desembarcando mercadorias em um CD etc. De forma pragmática, na vida real, os sistemas existentes são dimensionados para uma certa quantidade máxima de clientes em espera, a partir do conhecimento empírico, ou seja, da experiência. Quando existe um 10 crescimento na demanda, faz-se uma ampliação do serviço de atendimento, também, baseada na experiência empírica do funcionamento daquele sistema. Além disso, podem-se observar situações nas quais um novo cliente que chega pode ser recusado, devendo tentar novamente em outro instante (exemplo: agendamento de consulta médica). Tempo médio de espera na fila (Prado, 2006). Esperar em fila pode gerar irritação, pois cada cliente possui uma expectativa de tempo a ser gasto em uma fila. O ideal é que não houvesse tempo de espera, o que nem sempre é possível do ponto de vista econômico. Se entrarmos numa fila com 10 pessoas à nossa frente, o tempo de espera será igual ao somatório dos temposde atendimento de cada um dos clientes à nossa frente ou, possivelmente, será igual a 10 vezes a duração média de atendimento. Tal como o tamanho médio da fila, o tempo médio de espera depende dos processos de chegada e de atendimento. Ocupação do posto de atendimento (Andrade, 2009). Pode-se verificar pelo percentual de tempo ocioso/ocupado se o posto de atendimento está superdimensionado ou subdimensionado. Tempo médio no sistema (Andrade, 2009). É a média dos tempos gastos pelo cliente desde o instante de sua entrada até o momento de sua saída do sistema. Esta medida é significativa quando se contextualiza uma operação dentro de um período de jornada de trabalho de 8 horas/dia. Um tempo médio acima de 8 horas/dia pode implicar em custos adicionais ou na necessidade de criar novos turnos de trabalho, o que também gera custos adicionais. Saiba mais Leia o Item 15.2 do Taha e procure resolver o conjunto de problemas 15.2ª. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/249>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Acesse o endereço a seguir e assista ao vídeo sobre Sistemas de Filas: <https://www.youtube.com/watch?v=gegv9FkGctQ>. 11 TEMA 3 – A DINÂMICA DE UMA FILA O exemplo apresentado neste tema tem por objetivo caracterizar a aleatoriedade que ocorre no processo de formação e de atendimento em um sistema de filas. Apesar de não abordarmos a caracterização da distribuição de probabilidade do processo de formação e de atendimento, destacamos, a partir dos argumentos de Andrade (2009), que os primeiros passos para estudar um sistema de filas é realizar um levantamento estatístico do processo/modo de chegada dos clientes em um determinado período e do número de clientes atendidos por unidade de tempo, ou do tempo gasto em cada atendimento, a fim de poder caracterizar o tempo de chegada e de atendimento por uma distribuição de probabilidade. A situação mais comum é que os clientes cheguem de forma aleatória na chegada, e no atendimento ocorre uma duração aleatória, pois cada cliente exige um tempo próprio para solucionar seus problemas. Exemplo: uma fila de caixa. Imagine-se, neste momento, sentado confortavelmente, observando a movimentação de clientes na padaria Le Petit Pain e avaliando a dinâmica que ocorre na formação da fila de clientes, que esperam a sua vez para serem atendidos pelo caixa da padaria (Prado, 2006, adaptado). Chegada. Em um período de meia hora, você verificou que chegaram ao sistema (caixa da padaria) 12 clientes e que os intervalos entre as chegadas dos clientes, a partir do instante zero, estão apresentados na Tabela 1. Tabela 1 – Chegada ao sistema Cliente 1 2 3 4 5 6 7 8 9 10 11 12 Intervalo de chegada 2 3 3 3 5 0 1 5 1 4 1 2 (min) Momento: chegada de 3 6 9 12 17 18 23 24 28 29 31 um novo cliente (min) Média 2,5 Observe que o valor zero referente ao sexto cliente significa que ele chegou junto com o quinto cliente no início do 17º minuto. A linha “Momento” significa o instante da chegada do novo cliente, obtido a partir de acumulações da linha “Intervalo” acrescido de 1, para significar o início do próximo intervalo de tempo. Assim, o primeiro cliente chegou no início do 3º minuto, o segundo cliente chegou no início do 6º minuto, o terceiro cliente chegou no início do 9º minuto etc. 12 O valor médio dos intervalos de chegada dos clientes é de 2,5 minutos (que é a soma de todos os intervalos de chegada, dividido pelo número de clientes), e, portanto, o sistema acima (fila do caixa) funcionou com um ritmo médio de 24 chegadas por hora, já que chegaram 12 clientes em 30 minutos, ou seja, λ = 30 clientes por hora, e TA = 2 minutos. Atendimento. A partir da observação do comportamento do sistema, foram obtidos os dados referentes a cada atendimento, conforme apresentados na Tabela 5.2. Tabela 2 – Tempo de atendimento Cliente 1 2 3 4 5 6 7 8 9 10 11 12 Média Duração 1 2 1 1 3 2 1 4 2 3 1 3 2 (min) O valor médio dos dados acima é de 2,0 minutos (duração média de atendimento), e, portanto, podemos dizer que o servidor (caixa) tem uma capacidade de atender 30 clientes por hora, ou seja: µ = 30 clientes por hora, e TA = 2 minutos. Dinâmica do funcionamento. O sistema funciona conforme apresentado na Figura 2. A linha central indica o momento de chegada de cada cliente. Na parte superior é indicado o momento em que o cliente inicia e conclui o seu atendimento. Na parte inferior, é representada a formação de fila, quando o atendente está ocupado com outro cliente, que chegou antes. Figura 2 – Funcionamento da fila na padaria A T E N D IM E N T O F IL A 1 2 3 4 5 8 12 6 9 7 10 11 5 10 15 20 25 30 35 7 12 6 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 A partir da Figura 2 se verifica que: 13 O 1º cliente chegou à fila da padaria no início do 3º minuto, e seu atendimento durou 1 minuto (e, consequentemente, encerrou-se no final do 3º minuto); O 5º cliente chegou à fila da padaria no início do 17º minuto, e seu atendimento durou 3 minutos (e, assim, encerrou-se no final do 19º minuto); O 6º cliente chegou à fila da padaria simultaneamente com o 5º cliente, no 17º minuto, e, então, teve que esperar na fila até completar o atendimento do 5º cliente (3 minutos), o que ocorreu no final do 19º minuto. Então, no início do 20º minuto, foi iniciado o atendimento do 6º cliente, que se estendeu até o final do 21º minuto; O 7º cliente chegou à fila da padaria no 18º minuto e encontrou o caixa ocupado (em atendimento ao 5º cliente). Além disso, o 6º cliente também estava na fila. O atendimento do 7º cliente se iniciou no 22º minuto e durou minuto; Além dos clientes de número 6 e 7, também os clientes de número 9, 10, e 12 tiveram que esperar na fila; O último cliente (12º) saiu do atendimento no final do 35º minuto. A partir da Figura 2, obtiveram-se os tempos em fila de cada cliente, conforme apresentado na Tabela 3. Tabela 3 – Tempo de fila Cliente 1 2 3 4 5 6 7 8 9 10 11 12 Tempo de 0 0 0 0 0 3 4 0 3 1 3 2 Fila (min) Média 1,33 Dos tempos de fila acima, pode-se concluir o seguinte: o Total de clientes atendidos: 12; 5. Tempo Médio na Fila (TMF) = (3+4+3+1+3+2) / 12 = 16/12 = 1,33 minutos; Número Médio na Fila (NMF) = (3+4+3+1+3+2) / 35 = 16/35 = 0,46 clientes Um fato curioso. Você pode verificar que: λ = 24 clientes por hora (IC = 2,5 minutos); - µ = 30 clientes por hora (TA = 2 minutos). 35º minuto: saída do último cliente 14 Ou seja, a capacidade de atendimento (µ) é superior ao ritmo de chegada (λ). Mesmo assim, houve formação de fila. A formação de filas ocorre porque os clientes não chegam ao caixa em tempos fixos e regulares de 2,5 minutos, mas de forma randômica. Portanto, pode-se concluir que, quando µ > λ, provavelmente ocorrerá a geração de fila, e quando µ ≤ λ, certamente haverá fila.Ao se analisar a aleatoriedade do processo, verifica-se que: O prazo total foi acrescido de 3 minutos. Se os clientes chegassem de forma regular, o 12º cliente sairia no 32º minuto (2,5 minutos x 12 clientes = 32), pois não haveria fila, uma vez que o atendimento é de apenas 2 minutos e, consequentemente, nunca haveria fila. Mas, como há a aleatoriedade, o último cliente saiu no 35º minuto; O prazo médio de atendimento individual (2 minutos) foi acrescido pelo tempo médio de fila de 1,33 minuto, ou seja, na média um cliente gasta 3,33 minutos dentro do sistema. Quando efetuamos dimensionamento de sistemas, procuramos minimizar tais efeitos, seja pela modificação de fluxos, pela colocação de mais atendentes, pela utilização de melhores atendentes etc., logicamente considerando sempre proporcionar um nível de serviço, de atendimento, compatível com os custos previstos para tal nível. Sistemas estáveis (Prado, 2006). Para se realizar uma abordagem matemática de filas pela teoria das filas, é necessário que o fluxo de chegada e o processo de atendimento dos clientes sejam estáveis, ou seja, os valores λ e f devem permanecer constantes no tempo. Caso contrário, melhor usar software de simulação por ser a ferramenta mais adequada, pois a teoria das filas é limitada em sua capacidade de prover soluções para todos os cenários de filas. Contudo, é possível fazer uso de um artifício como dividir o período total em períodos parciais, porém isso torna ainda mais complexa a abordagem pela teoria das filas. Outra exigência para que o processo seja considerado estável é que os atendentes sejam capazes de atender ao fluxo de chegada, mas, conforme verificado no exemplo apresentado acima, é provável que ocorra a formação de filas em sistemas nos quais µ > λ, porque é sempre possível a ocorrência de situações “imprevistas”, como: 15 A chegada em determinado instante de mais clientes do que a capacidade de atendimento daquele momento, gerando filas temporárias; O tempo de atendimento de um determinado cliente pode ser muito superior à média, obrigando os clientes que chegam posteriormente a ficarem em fila. Em sistemas estáveis, todas as características randômicas das filas (tamanho médio da fila, tempo médio de espera, tempo médio de atendimento etc.) se mantêm estáveis o tempo todo, ou seja, com seus valores oscilando em torno de um valor médio. Dimensionando filas (Prado, 2006). O estudo de fila para dimensionar sistemas tem por objetivo prestar um melhor atendimento aos clientes ou para obter uma redução de custos do funcionamento do sistema. A seguir são apresentadas considerações válidas para qualquer situação: sistemas estáveis ou não. A escolha inicial: a qualidade do atendimento. O dimensionamento de um sistema, no qual haverá filas, é determinado pelo nível de serviço que será fornecido aos clientes, ou seja, a qualidade do atendimento que está vinculada diretamente à capacidade de atendimento a ser implantada. As opções para determinar a capacidade de atendimento, são: • atendimento para a média de chegada; • atendimento para o pico de chegada; • atendimento para momentos especiais. Obtenção de dados: o tamanho da amostra. Para realizar um estudo de qualquer sistema, é necessário que se obtenham dados, a partir dos quais seja possível caracterizar seu comportamento e, assim, fazer o seu correto dimensionamento. Para isso, é necessário que tais dados obtidos sejam confiáveis e que a amostra (dos dados) possua tamanho correto. Uma amostra com tamanho inapropriado pode gerar valores que não caracterizam corretamente o sistema em estudo. Por exemplo, em um sistema estável, podemos ter um tempo médio de espera na fila de 5 minutos. Para se chegar a essa conclusão, foi necessário observar o funcionamento do sistema durante um longo período, no qual inúmeros clientes foram atendidos, entretanto, se o período de observação fosse 16 menor, poucos clientes seriam observados e provavelmente encontraríamos um valor diferente para o tempo médio de espera na fila. Tipo de fila e quantidade de servidores. Quando desejamos definir a estrutura de um sistema, podemos optar pelas seguintes formas de atendimento: • uma única fila e um único servidor; • uma única fila e diversos servidores; • diversas filas e os correspondentes servidores; • filas especiais; • alteração dinâmica no sistema de atendimento. Cada opção acima possui seus prós e contras. Por exemplo, quando houver uma situação em que a distribuição do tempo de atendimento aos clientes pode variar significativamente, com atendimento de clientes acima da média, como acontece em bancos, nos Correios etc., é mais adequado optar pela fila única e com diversos atendentes. Por vezes, é mais apropriado modificar dinamicamente a quantidade de atendentes conforme aumenta ou diminui o fluxo de chegada de clientes. Essas situações são comuns em supermercados e em bancos, que empregam essa estratégia, tornando disponíveis atendentes extras nos horários de pico. Na verdade, podemos observar que os supermercados adotam diferentes estruturas de sistema para prestar um bom serviço de atendimento, entre as quais o uso de “caixas expressos”, para conquistar clientes que desejam comprar poucos itens e que não se sujeitariam a filas morosas para adquiri-los. Assim, pode-se concluir que a escolha entre diversas opções apresentadas dependerá das características do estabelecimento e do sistema em estudo, pois a solução que pode ser apropriada para uma situação pode não ser para outra. Saiba mais Acesse o endereço a seguir e assista a um pouco mais sobre teoria das filas: <https://www.youtube.com/watch?v=WiXJaX-Ybls>. TEMA 4 – CONCEITOS BÁSICOS: UMA ABORDAGEM MATEMÁTICA O objetivo deste tema é acrescer conceitos da teoria de filas, porém, realizando uma abordagem matemática que permitirá quantificar as chamadas 17 “variáveis randômicas fundamentais”, as quais, por sua vez, caracterizam o comportamento do sistema de filas e, por conseguinte, fornecem subsídios para as correções que se fizerem necessárias. Variáveis randômicas fundamentais (Prado, 2006). Consideremos o sistema de filas da Figura 3, que possui uma situação estável (os valores de e não se alteram), na qual clientes chegam, entram em fila e aguardam o atendimento por um dos “c” servidores existentes. Figura 3 – Localização das variáveis Fonte: Adaptado de Prado, 2006. A partir da Figura 3, podemos identificar as seguintes variáveis randômicas fundamentais: Variáveis referentes ao sistema: • TS = tempo médio de permanência no sistema. • NS = número médio de clientes no sistema. Variáveis referentes ao processo de chegada: • IC = intervalo médio entre chegadas (IC = 1/ , por definição). • = ritmo médio de chegada. Variáveis referentes à fila: • TF = tempo médio de permanência na fila. • NF = número médio de clientes na fila. 18 Variáveis referentes ao processo de atendimento: • c = capacidade de atendimento ou quantidade de atendentes. • TA = tempo médio de atendimento ou de serviço (TA = 1/ , por definição). • NA = número médio de clientes que estão sendo atendidos. • µ = ritmo médio de atendimento de cada cliente. Relações básicas: • NS = NF + NA • TS = TF + TA • NA = λ/μ = TA / IC → NS = NF + NA = NF + (λ/μ) = NF + (TA/ IC) Taxa de utilização dos atendentes: • = cμλ, onde λ = ritmo médio de chegada, c = número de atendentes e µ = ritmo médio de atendimento; representa a fração média do tempo em que cada servidor está ocupado. Por exemplo, com um servidor, se chegam 4 clientes/hora e se o servidor possui capacidade para atender 10 clientes/hora, então a taxa de utilização é de 0,40, ou seja, o servidor está com 40% do seu tempo ocupado no atendimento e 60% do tempo livre. Intensidade de tráfego ou número mínimo de atendentes: • Chamamos de intensidade de tráfego a expressão: = μλ = TAIC, em que é o próximo valor inteiro que se obtém. Na prática, representa o número mínimo de atendentes necessário para atender a um dado fluxo de tráfego. Por exemplo, se = 10 clientes/hora e TA = 3 minutos (ou, = 20 cliente/hora), temos que = 0,5, então = 1, ou seja, 1 atendente é suficiente para o correto funcionamento do sistema. Se o fluxo de chegada aumentar para = 50 clientes/hora, com TA = 3 minutos (ou, = 20 cliente/hora), temos que = 2,5, então = 3, ou seja, serão necessários pelo menos 3 atendentes para que o sistema funcione de forma apropriada. J.D.C. Little demonstrou para um sistema de fila as fórmulas abaixo, as quais independem da quantidade de servidores e do modelo de fila por tratarem-se de fórmulas fundamentais básicas (fórmulas de Little): 19 • NF = ∙ TF • NS = ∙ TS Tabela 4 – Resumo de fórmulas Nome Fórmula Intervalo entre chegadas 1 IC = Tempo do atendimento TA = 1 Taxa de utilização dos atendentes = c TA Intensidade de tráfego = | | = | | IC NA = NS = NF + NA ∴ NF = NS − Relações entre fila, sistema e atendimento TA NS = NF + = NF + IC TS = TF + TA ∴ TF = TS − 1 Fórmulas de Little NF = ∙ TF NS = ∙ TS Fonte: Prado,2006; Andrade, 2009. Exemplo. Em uma fábrica, o funcionamento de um dado setor possui as seguintes características: = 20 clientes/hora, = 25 clientes/hora e TS = 0,3 horas. A partir desses dados, é solicitado que sejam calculados: o tamanho médio da fila, o número médio de clientes no sistema e o número médio de cliente sendo atendidos. Solução: TA = 1 = 251 = 0,04 TF = TS − TA = 0,3 − 0,04 = 0,26 NF = ∙ TF = 20 ∙ 0,26 = 5,2 clientes (número médio de clientes na fila) NS = ∙ TS = 20 ∙ 0,3 = 6 clientes (número médio de clientes no sistema) NA = NS − NF = 6 − 5,2 = 0,8 clientes (número médio de clientes sendo atendidos) 20 Saiba mais Leia o Item 15.6.1 do Taha para ampliar seu conhecimento sobre medidas de desempenho. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/257>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Acesse o endereço a seguir e assista ao vídeo sobre modelos de filas: <https://www.youtube.com/watch?v=BY15B5dnZUQ>. TEMA 5 – MODELOS Em teoria das filas são estudados diversos modelos de sistemas. Cada modelo possui equações matemáticas que o definem, ou seja, que caracterizam o seu comportamento. Os diferentes modelos disponibilizados pela teoria das filas nos permitem empregá-los para estudar situações semelhantes que ocorrem em nosso cotidiano. O presente tema de ensino tem por objetivo apresentar a notação que caracteriza o sistema, bem como as equações matemáticas do modelo que possui uma fila e um atendente. A notação de Kendall (Prado, 2006). A notação básica para descrever um modelo de fila emprega a seguinte notação: A/B/c/K/m/Z, onde A indica o tipo de distribuição de probabilidade dos intervalos entre chegadas; B indica o tipo de distribuição de probabilidade do tempo de serviço (atendimento); c é a capacidade de atendimento ou quantidade de atendentes; K é a capacidade máxima do sistema (número máximo de clientes no sistema); m é o tamanho da população de onde se originam os clientes; Z é a disciplina da fila. Esta notação recebeu o nome de notação Kendall como homenagem ao seu criador, David Kendall. Os diferentes tipos de distribuição de probabilidade são designados por A e B, conforme apresentado a seguir: M: Exponencial Negativa (ou Markoviana ou Poisson) Em: Erlang de estágio m; 21 Hm: hiper-exponencial de estágio m; Determinística; Geral. Por exemplo, seja o modelo M/E2/5/20/∞/randômico, o qual possui as seguintes características: A = M, as chegadas são Markoviana (ou Poisson); B = E2, o atendimento possui uma distribuição tipo Erlang de segundo grau; c = 5, ou seja, são 5 atendentes; K = 20, então a capacidade máxima do sistema igual a 20 clientes; m = ∞, população infinita; Z, a disciplina da fila possui atendimento randômico. Quando se adota a notação condensada A/B/c, que é bastante comum, subentende-se que não há limite para o tamanho da fila, a população é infinita e a disciplina da fila possui atendimento por ordem de chegada, ou seja, é do tipo FIFO (o primeiro a chegar é o primeiro a ser atendido). O modelo M/M/1 ou M/M/c (também conhecido por modelo de Poisson), apesar de poucas aplicações práticas, possui aplicação teórica por possibilitar que se construa toda uma teoria sobre filas. A partir deste modelo, podemos calcular tamanhos de filas, tempos etc. O Modelo M/M/1. Este modelo possui uma fila, um atendente e as seguintes características (Prado, 2006; Andrade, 2009): Chegadas de clientes: segue uma distribuição de Poisson com média chegadas/tempo; Atendimento de clientes: obedece uma distribuição exponencial negativa com média 1/ (ou seja, o número de atendimentos é uma distribuição de Poisson com média ); e Disciplina da fila: atendimento por ordem de chegada. O estudo será feito para os casos de população infinita e finita. Na Figura 4, vemos a representação mais usual para o modelo M/M/1. 22 Figura 4 – Representação do Modelo de Fila M/M/1 Fonte: Adaptado de Prado, 2006. Para o modelo M/M/1 permanecem válidas as definições de , IC, TA e . População infinita: uma população é considerada infinita quando o número de clientes potenciais é suficientemente grande para que a população seja considerada infinita. A seguir são apresentadas as equações do modelo de uma fila e um atendente, sem a apresentação de seu desenvolvimento (Prado, 2006; Andrade, 2009): Tabela 5 – Modelo de uma fila e um atendente Nome Descrição Fórmula NF número médio de clientes na fila NF = 2 ( − ) NS número médio de clientes no sistema NS = −TF tempo médio de espera na fila por cliente TF = ( − ) TS tempo médio gasto no sistema por cliente TS = 1 − Pn probabilidade de haver n clientes no sistema λ P = (1 − ) ( ) μ A Taxa de Utilização é definida como a relação entre o ritmo médio de chegada e o ritmo médio de atendimento, ou seja, = e. Como sistemas estáveis exigem < , tem-se < 1. Observe que, quando tende para 1, ou seja, quando se aproxima de valores muito próximos a 1, a fila tende a aumentar infinitamente, o que pode ser comprovado a partir da equação: 2 2 2 2 2 2 NF = = = = = ( − ) 2 − 2 − 1 − 1 − 2 2 Assim, por exemplo, quando for igual a 0,999, o número médio de clientes na fila (NF) será igual a 998. Em situações práticas, quando a taxa de utilização se aproxima de 1 (100%), deve-se ficar atento, pois, se NF cresce de 23 forma exponencial (o que pode ser comprovado), isso significa que isso também ocorrerá com o tempo de fila (TF) e com o tempo no sistema (TS). Exemplo: contratação de um reparador (Prado, 2006). Uma empresa deseja contratar um reparador para efetuar manutenção em suas máquinas, as quais estragam a um ritmo de 3 falhas/hora. A empresa se deparou com 2 opções de contratação: um reparador lento, que é capaz de consertar a um ritmo de 4 falhas/hora, ou um reparador rápido, que é capaz de consertar a um ritmo de 6 falhas/hora. O salário/hora do reparador lento é de $3,00, e o do reparador rápido é de $5,00. Qual contratação deve ser efetuada para que o custo total (reparador + máquina parada) seja mínimo? Sabe-se que uma máquina parada implica um custo horário de $5,00. Solução: para calcular o custo das máquinas paradas, devemos calcular o número médio de máquinas paradas (NS). a. Reparador lento NS = μ−λλ = 4−33 = 3 máquinas Custo das máquinas = 3 x $5,00 = $15,00 Custo do reparador = $3,00 Custo horário total = $18,00 b. Reparador rápido NS = μ−λλ = 6−33 = 1 máquina Custo das máquinas = 1 x $5,00 = $5,00 Custo do reparador = $5,00 Custo horário total = $10,00 Comparando o desempenho dos dois reparadores, chega-se à conclusão de que o reparador rápido, apesar de ter um custo maior, implica um custo total menor. População finita: M/M/1/K: um caso particular e encontrado com frequência no cotidiano é aquele em que a população de clientes é finita, ou seja, o número máximo de cliente que podem solicitar serviços é predeterminado. A seguir são apresentadas as fórmulas deste modelo, em que K representa o número (limitado) de clientes que estão percorrendo o sistema (Prado, 2006; Andrade, 2009; Hillier; Lieberman, 2010): 24 Tabela 6 – Fórmulas para população finita Nome Descrição Fórmula NF número médio de clientes na fila NF = K − [ + ∙ (1 − )] NS número médio de clientes no sistema NS = − [ + ∙ (1 − )] + TF tempo médio de espera na fila por TF = − [ ( + ) ∙ (1 − ) ] cliente 2 tempo médio gasto no sistema por ( + ) ∙ (1 − ) 1 TS TS = − [ ] + cliente 2 ( ) − Pn probabilidade de haver n clientes no P = sistema (k − n)! ∙ ∑ ( ) =0 ! Saiba mais Leia a introdução do Item 15.6 do Taha e se familiarize com as notações empregadas pelo autor para caracterizar os sistemas de filas. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/81>. Leia também o item 15.6.2 do Taha para conhecer mais sobre modelos com um único servidor. Disponível em: <http://uninter.bv3.digitalpages.com.br/users/publications/9788576051503/pa ges/257>. TAHA, H. A. Pesquisa Operacional: uma visão geral. 8. ed. São Paulo: Pearson Prentice Hall, 2008. Acesse o link a seguir e assista ao vídeo sobre modelos de filas: <https://www.youtube.com/watch?v=Ujk_x5Owxoo>. NA PRÁTICA Em quantas situações em sua rotina diária você seria capaz de identificar a existência de fila? Identifique uma bastante diferente, descreva-a e aplique a notação de Kendall no que for possível. Em seguida, compartilhe essa situação no fórum com seus colegas de disciplina. Avalie com eles como você poderia levantar os dados estatísticos a fim de caracterizar as distribuições de probabilidade das chegadas e do atendimento. Leia o caso de ensino sugerido e depois responda o solicitado. Terminada a atividade de estudo e solucionado o estudo de caso, você receberá a solução 25 para a atividade realizada pelo professor que elaborou o presente caso de ensino. Orientações para realizar a atividade: 1. Leia o caso de ensino e identifique as características do sistema. 2. Reveja as equações/fórmulas dos modelos de filas, pois são necessários para resolver o caso de ensino. 3. Boa aprendizagem! Caso de Ensino n. 6: Problema de fila (Andrade, 2009) Uma seção de fábrica dispõe de 6 máquinas que apresentam defeito a uma taxa média de 3 por semana, segundo a distribuição de Poisson. A equipe de manutenção consegue reparar, em média, 6 máquinas por semana. Pede- se que sejam calculados: A probabilidade de haver n máquinas fora de operação (1 máquina em reparo e − 1 esperando), para = 0, 1, 2, 3, 4, 5, 6. O tempo médio gasto por máquina na equipe de manutenção, o tempo médio gasto em espera, o número médio de máquina na fila e o número médio de máquina parada por semana. Solução: o aluno deverá identificar que a fila é do tipo M/M/1/K e, portanto, possui as seguintes características: = 3 máquinas/semana; = 6 máquinas/semana; = 6 máquinas a. Probabilidade de haver n clientes no sistema, ou seja, n máquinas paradas: − ( ) P = ): ( ) (k−n)!∙∑ ! = 0 6 6−0 Para = 0: P0 = ( ) (2)6 64 3 = = = 2 0 2 1 2 2 3 2 4 5 2 6 6 ( 6 ) 6!∙ (∑6 (2) ) 6∙5∙4∙3∙2∙1∙( + + 2 + + + 2 + ) ! 3 =0 0! 1! 2! 3! 4! 5! 6! (6−0)!∙(∑ =0 ! ) 64 = 6 4 = 1 2 4 8 16 32 64 8 16 32 64 720∙( + + + + + + ) 720∙(1+ 2+ 2+ + + + ) 1 2∙1 3∙2∙1 4∙3∙2∙1 5∙4∙3∙2∙1 6∙5∙4∙3∙2∙1 6 120 720 1 24 6 4 = 6 4 = 6 4 = 0,012 720∙(1+2+2+1,333+0,666+0,266+0,088) 720∙(7,3555) 5295,99 26 6 6−1 ( ) (2)5 Para = 1: P1 = 3 == 0,0362 6 2 0 1 2 2 2 3 4 2 5 2 6 5∙4∙3∙2∙1∙( + 2 + + + 2 + + ) 6 ( ) 3 0! 1! 2! 3! 4! 5! 6! (6−1)!∙(∑ ! ) =0 Para = 2: P2 = 0,0906 Para = 3: P3 = 0,1812 Para = 4: P4 = 0,2719 Para = 5: P5 = 0,2719 Para = 6: P6 = 0,1359 b. Número médio de máquinas à espera de conserto: NF = K − [ + ∙ (1 − )] = 6 − [ 3+6 ∙ (1 − 0,01208)] = 3,036 3 c. Número médio de máquinas paradas: NS = − [ + ∙ (1 − )] + = 6 − [ 3+6 ∙ (1 − 0,01208)] + 3 = 3,536 3 6 d. Tempo médio por máquina parada: TS = − [ ( + )∙(1− ) ] + 1 = 6 − 2 3 (3+6)∙(1−0,01208) 1 [ ] + = 1,1786 semanas 32 6 e. Tempo médio de espera por máquina: TF = − [ ( + )∙(1− ) ] = 6 − 2 3 [(3+6)∙(1−20,01208)] = 1,012 semanas 3 FINALIZANDO O tema principal abordado nesta aula foi teoria das filas. Inicialmente apresentamos breve histórico, conceitos e situações de aplicações. Em seguida vimos os elementos e as características de filas. Posteriormente, destacamos a dinâmica existente na formação de filas, além de realizar uma abordagem matemática das variáveis randômicas existentes e que caracterizam um sistema. Por fim, fizemos uma introdução aos modelos de filas, apresentando a nomenclatura empregada e a formulação matemática de um sistema composto por uma fila e um servidor. O caso de ensino proposto tem por objetivos fazer o aluno identificar as características do sistema de fila e empregar as fórmulas matemáticas pertinentes. 27 REFERÊNCIAS ANDRADE, E. L. de. Introdução à pesquisa operacional: métodos e modelos para análise de decisões. 4. ed. Rio de Janeiro: LTC, 2009. HILLIER, F. S.; LIEBERMAN, G. J. Introdução à Pesquisa Operacional. 9. ed. Porto Alegre: McGraw-Hill, 2010. PRADO, D. S. do. Teoria das filas e da simulação. Nova Lima: INDG Tecnologia e Serviços Ltda, 2006. 28 PESQUISA OPERACIONAL AULA 6 Prof. José de Souza Leal Neto CONVERSA INICIAL Neste momento, iniciaremos o estudo de simulação de eventos discretos, um assunto que consideramos “empolgante”. A simulação de eventos discretos é uma área do conhecimento da pesquisa operacional que, infelizmente, ainda é de pouco conhecimento dos administradores, mas já há cursos de administração que estão incluindo esta área do conhecimento da pesquisa operacional em seus currículos. Considere a operação de uma linha férrea singela (uma única via) na qual os trens trafegando em sentido contrário se cruzam nos pátios de manobras existentes ao longo ferrovia. Um sentido é de exportação (do interior para o porto), e o outro é de importação. Nestas condições, deseja-se saber qual é capacidade de tráfego máximo diário de pares de trens (exportação e importação) que a linha férrea possui. Para determinar a capacidade da linha férrea, basta identificar o seu gargalo, que será o pátio de manobra que primeiro esgotará sua capacidade operacional/funcional. Considere também a situação do gerente de fábrica, senhor Rogo, personagem do livro A meta (Goldratt e Cox) que necessita aumentar a produtividade da linha de produção de sua fábrica. Na história, ele vai obtendo ganhos de produtividade na linha de produção, mas, após cada aumento, o gargalo da produção se transfere para outro ponto, outra operação, mas ele é perseverante e vai, por tentativa e acerto, superando os obstáculos que surgem. Os conceitos de simulação de eventos discretos podem ser aplicados nas duas situações descritas acima. Na primeira, para conseguir identificar a capacidade de operação da linha férrea, em trens/dia e, na segunda, a partir da situação vigente, seria possível trabalhar com diferentes cenários, identificando, em cada um deles, os gargalos que ocorreriam. Nos dois casos, faz-se necessário realizar uma modelagem para a operação e, principalmente, que existam dados relativos à operação, que, após o devido tratamento estatístico, seriam empregados na simulação. Portanto, simulação de eventos discretos é uma ferramenta extremamente útil para fornecer subsídios cientificamente confiáveis, quando aplicada com metodologia correta. 2 CONTEXTUALIZANDO Neste segundo decênio do século XXI, podemos verificar que os programas de computador existentes permitem realizar modelagem, ou seja, construir modelos nos quais é possível visualizar na tela como seria o funcionamento de um sistema em estudo, como se fosse um filme. Assim, podemos visualizar cenários do funcionamento das rotinas operacionais de um banco, uma fábrica, um centro de distribuição, uma linha ferroviária etc. e obter informações que nos possibilitem conhecer os potenciais gargalos operacionais e, consequentemente, subsidiar gestores na tomada de decisão (Prado, 2006). Infelizmente não há como prover acesso a software de simulação, porém é possível apresentar a metodologia de modelagem e simulação de eventos discretos, bem como destacar algumas etapas da referida metodologia. Então, nesta aula vamos apresentar conceitos pertinentes à simulação de eventos discretos, metodologias que podem ser aplicadas à simulação, cuidados a serem tomados na etapa do estudo do problema/situação, tratamento estatístico dos dados e construção do modelo conceitual. A partir dessas etapas básicas fundamentais, pode-se empregar qualquer software de simulação (Simul8, Arena, AutoMod, GPSS/h, JaamSim etc.) e, em seguida, validar o modelo desenvolvido para que seja empregado. TEMA 1 – SIMULAÇÃO DE EVENTOS DISCRETOS: CONCEITOS E APLICAÇÕES “Simulação é a técnica de solução de um problema pela análise de um modelo que descreve o comportamento do sistema usando um computador digital” (Prado, 2006). O estado da arte da modelagem de problemas complexos e aplicação de simulação tem se tornado viável em razão da disponibilidade de hardwares e softwares capazes de trabalhar com a complexidade das formulações necessárias para representar tais problemas (Morabito Neto; Pureza, 2012), o que permite aos profissionais que atuam na área de pesquisa operacional e às empresas estudar e resolver problemas complexos em diferentes setores. Aspectos históricos: com o surgimento do computador, na década de 50, a modelagem de filas pode ser analisada pelo ângulo da simulação, em que não mais se usam fórmulas matemáticas, mas apenas tenta-se imitar o funcionamento do sistema real. As linguagens de simulação apareceram na 3 década de 60 e hoje, graças aos microcomputadores, podem ser facilmente usadas. A técnica de simulaçãovisual, cujo uso se deu a partir da década de 80, por causa de sua maior capacidade de comunicação, teve uma aceitação surpreendente. Além disso, por apresentar um menor nível de complexidade, seu uso também cresceu enormemente. O ensino desta técnica ainda se concentra em escolas de graduação, mas já tem havido iniciativas em ensinos de segundo grau (cursos técnicos) (Prado, 2006). O que é simulação? De forma sucinta, Cremonese (2014) afirma que simulação é o processo de execução do modelo, entretanto Chwif e Medina (2006) apresentam diversas abordagens para responder essa pergunta, entre as quais se destaca a de que a simulação não é uma ferramenta estritamente de otimização, mas uma ferramenta de análise de cenários, em razão de não ser capaz de identificar uma solução ótima. Para Banks et al. (2004), simulação é a imitação de operações de um processo que ocorre no mundo real e envolve a geração de uma história artificial do sistema e a sua observação para direcionar inferências envolvendo as características do sistema real que estão sendo representadas. Prado (2006) concorda com isso quando define simulação como “uma técnica que permite imitar o funcionamento de um sistema real” e, prosseguindo, esclarece-nos que o uso de simulação é indicado para situações em que não se pode interferir com o sistema real dados as incertezas dos resultados e o risco de prejuízo e em situações em que o sistema em estudo não existe. Vantagens e desvantagens. Banks et al. (2004) listam diversas vantagens e desvantagens da simulação, baseadas no texto de Pegden, Shannon e Sadowski (1995) e Banks (1984). Entre as vantagens listadas estão: novas políticas, novos procedimentos, regras de decisão, fluxo de informações, as quais podem ser exploradas sem interrupção das operações do sistema real; o tempo pode ser comprimido ou expandido a fim de acelerar ou retardar o fenômeno investigado; insights podem ser obtidos a respeito das interações das variáveis e da importância destas no desempenho do sistema; e a possibilidade de identificação de gargalos, que são retardos excessivos que ocorrem no processo. Quando se referenciam às desvantagens, Banks et al. (2004) destacam que a construção de modelos requer experiência, que os resultados de simulação podem ser de difícil interpretação, que a modelagem e a análise 4 podem requer tempo e serem dispendiosos e que a simulação é usada em casos que tenham uma solução analítica possível. A partir das vantagens apresentadas anteriormente, a simulação pode subsidiar os gestores na tomada de decisão no mundo real, de forma a possibilitar às empresas a aperfeiçoar seus processos, tornando-os mais eficientes e eficazes, e consequentemente, operados da melhor forma possível. Entretanto, os gestores nem sempre dispõem de todas as informações de forma oportuna e precisa para a tomada de decisão. Áreas de aplicação: o campo de aplicação da simulação é grande. Basicamente podemos dividir a área de aplicação em dois grandes setores: serviço e manufatura. Podem-se apresentar, entre outas, as seguintes aplicações da simulação (Chwif; Medina, 2006): Aeroportos e portos: dimensionar o número de checks-ins necessários; verificar se o número de equipamentos de movimentação de materiais e homens é adequado para carga e descarga de navios. Bancos: verificar se o número de caixas eletrônicos é adequado; estudar disposição de layout. Cadeias logísticas: determinar a melhor política de estocagem, transporte e distribuição. Hospitais: estudar os procedimentos em UTI e a ocupação dos centros cirúrgicos; dimensionar ambulância. Restaurantes e cadeias de fast-food: verificar tempos de espera e de utilização de mesas ou a capacidade da cozinha. Supermercados: definir a melhor política de abertura de caixas, a relação entre caixas rápidos e normais. Sistemas de movimentação e armazenagem de materiais: esteiras transportadoras. Problemas de programação de produção. Linhas de montagem. Simulação de eventos discretos: simulação, como técnica de resolução de problemas, antecede em muitos anos o aparecimento de computadores digitais (Creonese, 2014), entretanto o aumento da capacidade computacional e a consequente redução do custo de operação, além dos avanços da metodologia de simulação, permitiu que a simulação se transformasse em uma ferramenta 5 amplamente usada e aceita em pesquisa operacional e análise de sistema (Banks et al., 2004), empregando um computador para sua realização. Isto posto, a partir deste momento, quando se empregar a palavra “simulação”, será uma referência especificamente à “simulação computacional”, a qual pode ser classificada em três categorias básicas: simulação de Monte Carlo, simulação contínua e simulação de eventos discretos (Chwif; Medina, 2006; Cremonese, 2014). A simulação de Monte Carlo faz uso de geradores de números aleatórios para simular sistemas físicos ou matemáticos, nos quais não se considera o tempo explicitamente como uma variável. Por sua vez, a simulação contínua é usada para modelar sistemas que mudam de estado continuamente no tempo e emprega equações diferenciais para calcular as mudanças das variáveis de estado ao longo do tempo. Por fim, a simulação de eventos discretos é usada para modelar sistemas que mudam de estado em um momento discreto no tempo como resultado de um evento específico ocorrido, e o estado do sistema é descrito por todos os valores individuais de estado dos objetos no sistema (Chwif; Medina 2006; Cremonese, 2014). Assim, doravante, o uso da palavra “simulação” deve ser compreendida como “simulação computacional de eventos discretos”. Saiba mais O vídeo revisa conceitos apresentados na Rota 1 e amplia a teoria e os conceitos de simulação apresentados no presente tema de ensino. A teoria e os conceitos apresentados no vídeo são referenciados em Chwif e Medina (2006). Disponível em: <https://www.youtube.com/watch?v=ZE7fa5queRU>. TEMA 2 – METODOLOGIA Para a realização do estudo de simulação, é necessário conduzi-lo obedecendo etapas, ou seja, é necessário realizá-lo segundo uma metodologia. Felizmente é possível encontrar autores que apresentam metodologias adequadamente elaboradas para a condução de modelagem e simulação de eventos discretos. Tais metodologias têm por objetivo final a obtenção de modelos que realmente representem o sistema em estudo e, consequentemente, permitam a realização de estudos de cenários, ou seja, explorando alternativas. Tais alternativas são referenciadas genericamente na literatura como “...e se?”, 6 por exemplo: e se aumentássemos a produtividade da máquina X? E se acrescêssemos mais uma empilhadeira? Etc. Metodologias de simulação. Após avaliarmos um dado sistema e concluirmos que a modelagem e a simulação são a melhor proposta, devemos seguir certos passos, a fim de que o estudo de simulação seja bem-sucedido, ou seja, devemos obedecer uma metodologia de simulação (Chwif; Medina, 2006). Abordando a metodologia, Pidd (2004) propõe três fases para a elaboração de um estudo de simulação, a saber: estruturação do problema, modelagem e implementação. Na estruturação, o problema a ser simulado é estudado; na modelagem, é desenvolvido, validado, e são realizadas experimentações com o modelo a ser simulado; e, por fim, a implementação é o momento de aplicar as recomendações geradas da análise da simulação do modelo validado. O autor destaca que a modelagem é um processo de aprendizagem, no qual o modelo vai sendo gradualmente aperfeiçoado,com fases de validações parciais, até ser encontrado o modelo desejado. Na primeira aula, apresentamos a proposta metodológica de Sargent (2014) – Figura 1 – quando esclarecemos que o problema é o sistema real/proposto, ideia, situação, política ou fenômeno a ser modelado; o modelo conceitual é a representação matemática/lógica/gráfica do problema desenvolvido para um estudo específico; e o modelo computacional é o modelo conceitual implementado em um computador; bem como outros esclarecimentos sobre a metodologia proposta pelo autor. Figura 1 – Versão simplificada do processo de modelagem Fonte: Adaptado de Sargent, 2014. 7 Uma metodologia similar à apresentada por Sargent (2014) foi elaborada por Chwif (1999), que busca obter um modelo mais apropriado para a simulação, e a sua metodologia possui três etapas: concepção ou formulação do modelo; implementação do modelo; e análise dos resultados do modelo, conforme apresentado na Figura 2. Figura 2 – Metodologia de simulação Fonte: Chwif, 1999. Provavelmente poderemos encontrar mais propostas metodológicas para modelagem e simulação na bibliografia científica, mas consideramos as propostas por Sargent (2014) e Chwif (1999) as mais completas. Porém, para simplificarmos, sem perder a essência e a objetividade da metodologia, usaremos a adotada por Leal Neto (2016) – Figura 3 –, que, baseado em Sargent e Chwif, propôs uma metodologia com etapas consideradas imprescindíveis à realização de modelagem e de simulação para ser aplicada em software de simulação. 8 Figura 3 – Metodologia de modelagem e de simulação Estudo do Modelo Validação do Modelo Problema Conceitual Conceitual Validação do Modelo Modelo Modelagem de Modelo Computacional dados de Operacional Operacional (Implementação) entrada Verificação do Experimentação Modelo Computacional Fonte: Leal Neto, 2016. Nos próximos temas, serão abordadas as diversas fases metodológicas, sobre as quais destacaremos aspectos que julgamos serem mais relevantes. Entretanto, nesta rota de ensino, você pode identificar diversos referenciais que possibilitarão o aprofundamento do conhecimento dos conceitos de simulação de eventos discretos, e, além disso, indicamos a realização de pesquisas de artigos científicos, teses, dissertações etc. Saiba mais Na leitura do artigo, atente para os conceitos, a metodologia proposta e a aplicação da simulação. Faça uma avaliação crítica da metodologia proposta no artigo, confrontando-a com as metodologias apresentadas acima. Disponível em: <http://www.scielo.br/pdf/gp/v16n1/v16n1a04.pdf>. TEMA 3 – ESTUDO DO PROBLEMA E MODELAGEM DE DADOS O estudo do problema é a primeira ação a ser executada na realização de um estudo de simulação. A princípio, sabemos qual é o problema ou, pelo menos, sabemos o que precisa ser aperfeiçoado, entretanto precisamos definir um objetivo e o que se deseja conhecer efetivamente para podermos realizar a modelagem e a simulação. Além disso, sem dados não há como realizar a simulação propriamente dita. A seguir, serão apresentados cuidados e referenciais que devemos tomar e considerar para a condução do estudo de um problema e na modelagem de dados pertinentes ao problema em estudo. Estudo do problema: Pidd (2004) identifica a existência de uma fase inicial onde se busca compreender as questões relacionadas ao problema a ser 9 simulado, obter referências capazes de serem manuseadas, além do nível de detalhamento apropriado para o uso e a implementação do modelo de simulação. De forma semelhante, Chwif e Medina (2006), no início do estudo do problema a ser simulado, afirmam que se faz necessário compreender com clareza o sistema a ser simulado e os seus objetivos, discutindo-os com especialistas, bem como definir claramente o escopo do modelo, as hipóteses e o nível de detalhamento. Essa definição ocorre no início da etapa de concepção, na metodologia proposta por Chwif (1999). A partir do exposto acima, podemos argumentar que inicialmente é preciso definir os objetivos do estudo, o que se deseja avaliar, o que se deseja conhecer. Basicamente, em regra, desejamos estudar o que determina a capacidade do sistema. A partir da definição dos objetivos, então, devemos identificar os limites do sistema a ser estudado, a fim de que, após o processo de modelagem, seja obtido um modelo adequado. Tal modelo não pode ser simples em demasia, para não fornecer subsídios qualitativos, nem complexo por excesso, de forma que se torne inexequível a análise dos dados que gerar. Uma maneira para que possamos compreender como o sistema em estudo opera, quais são as etapas de operação, a sua sequência, os recursos necessários etc., é realizarmos uma entrevista com um ou mais funcionários que conheçam a operação e, se possível, visitar o local para visualizar a dimensão física da operação. Nesta oportunidade, é imprescindível que identifiquemos o objeto da operação e os recursos necessários à operação. Modelagem de dados: a completa implementação do modelo computacional ocorrerá se a etapa de modelagem de dados de entrada tiver sido executada. Portanto, é necessário realizar o levantamento de dados referentes ao sistema em estudo, sem o qual não há como dar prosseguimento à simulação. Neste processo de levantamento, devemos atentar para que o método de amostragem empregado seja bem desenvolvido e documentado (Pidd, 2004). Podemos adotar o conceito de modelagem de dados de Chwif e Medina (2006), os quais consideram como um processo no qual escolhemos a melhor forma de representar um fenômeno aleatório observado no sistema real em estudo. Tal processo possui as seguintes etapas: coleta de dado, tratamento de dados e inferência. Na etapa da coleta de dados é obtida uma amostra representativa do fenômeno. A amostra deve possuir a quantidade de dados suficientes de forma 10 a efetivamente caracterizar o comportamento do sistema. Na etapa do tratamento de dados são utilizadas técnicas para descrever os dados levantados, identificar falhas nos valores da amostra e aprofundar o conhecimento a respeito do fenômeno em estudo. Nesta etapa são obtidas as medidas de posição (média, mediana, mínimo, máximo etc.) e de dispersão (amplitude, variância, desvio padrão, etc.), bem como é verificado o impacto da sazonalidade nas medidas de posição e de dispersão. Por fim, na etapa de inferência, objetiva-se obter um modelo probabilístico que represente o fenômeno aleatório, o qual será incorporado ao modelo de simulação. O tratamento de dados é uma etapa na qual o tempo dispendido é diretamente proporcional à quantidade de dados, pois nessa oportunidade devem ser identificados e retirados da amostra, a priori, os outliers. Os outliers são valores existentes nos dados, mas, por serem discrepantes, afetam os resultados do estudo, causando lacunas em uma distribuição, distorcendo as estimativas, os níveis de significância dos testes estatísticos, e levam a conclusões equivocadas acerca do fenômeno. Considera-se um valor discrepanteou outlier moderado qualquer valor que estiver abaixo da expressão matemática “Q1 – [1,5∙(Q3 – Q1)]” ou acima de “Q3 + [1,5∙(Q3 – Q1)]”, onde Q1 e Q3 são os valores do primeiro e terceiro quartis, respectivamente. Os quartis são obtidos a partir da colocação dos dados em rol (ordenação crescente dos valores observados), em que o primeiro quartil (Q1) é o valor que deixa 25% dos valores observados abaixo e 75% acima dele, e o terceiro quartil (Q3) é o valor que deixa 75% dos valores observados abaixo e 25% acima dele (Bussab e Morettin, 1987; Chwif e Medina, 2006; Larson e Faber, 2010). Ato contínuo à retirada dos outliers da amostra é verificar se não há correlações entre as observações da amostra, ou seja, se são valores independentes e identicamente distribuídos. Chwif e Medina (2006) propõem um teste simples para verificar a hipótese de independência, que consiste em elaborar um gráfico de dispersão com as observações x1, x2, x3, ..., xn-1, xn, na ordem de seus registros, portanto não devem estar em rol. Cada ponto do gráfico é formado, sucessivamente, pelos pares (x1, x2); (x2, x3); ... (xn-1, xn). Assim, quando os dados não apresentam correlação, tendem a se dispersar de modo aleatório no gráfico, caso contrário tendem a se distribuir ao longo de linhas com inclinação positiva ou negativa. A Figura 4 apresenta um exemplo hipotético – 11 alguns dados de chegada em um supermercado, extraídos de Chwif e Medina (2006) – do teste acima referenciado, com os dados na ordem de seu registro. Figura 4 – Diagrama de dispersão em que não há correlação entre os dados que compõem a amostra Dados Pares Ordenados Gráfico de Dispersão 11 11 1 1 1 5 20 5 5 2 18 2 2 1 16 1 1 8 8 8 7 14 7 7 2 12 2 2 15 10 15 15 1 1 1 6 8 6 6 19 6 19 19 2 4 2 2 10 10 10 0 2 0 0 6 0 6 6 4 0 5 10 15 20 4 Porém, quando os mesmos dados são colocados em ordem crescente, ou seja, em rol, percebemos que existe correlação entre os dados, conforme pode ser observado na Figura 5. Se a amostra possuir correlação entre os dados, não pode ser usada na simulação, porque tais dados não são gerados de forma aleatória e, portanto, não são independentes uns dos outros. Figura 5 – Diagrama de dispersão em que há correlação entre os dados que compõem a amostra Dados Pares Ordenados 0 0 1 Gráfico de Dispersão 1 1 1 20 1 1 1 18 1 1 2 2 2 2 16 2 2 2 14 2 2 4 12 4 4 5 5 5 6 10 6 6 6 8 6 6 7 6 7 7 8 8 8 10 4 10 10 11 2 11 11 15 0 15 15 19 0 5 10 15 20 19 12 Após o tratamento de dados, podemos passar para a etapa da inferência, quando procuramos verificar se os dados da amostra podem ser caracterizados como uma distribuição de probabilidades. Esse processo pode ser realizado em alguns softwares de simulação que possuem módulos estatísticos e realizam testes de aderência dos dados a uma distribuição de probabilidades conhecida, tais como o do qui-quadrado e de Kolmogorov-Smirnov, entre outros. Caso não seja possível obter uma distribuição de probabilidades conhecida, podemos construir uma distribuição de frequências (histograma) e empregá-la na simulação. Quanto ao número de classes a serem utilizadas no histograma, há diversos critérios, tais como: a raiz quadrada do número de observações, a regra de Sturges (K = 1 + 3,3 ∙ log10 ; com K = número de classes e n = número de observações da amostra), uso de 5 a 15 classes (Bussab; Morettin, 1987) e uso de 5 a 20 classes (Larson; Faber, 2010). O número de classes deve ser em quantidade que permita analisar corretamente a amostra. Então, se os critérios existentes na bibliografia gerarem quantidades de classes incoerentes, podemos tomar estas quantidades como referências para definirmos o número de classes, a fim de empregar a amostra na simulação e obter dados compatíveis com os dados existentes. Saiba mais O vídeo a seguir apresenta com mais detalhes a modelagem de dados e reforça o que já foi apresentado neste tema de ensino. Disponível em: <https://www.youtube.com/watch?v=DbjhT8Xcw1Q&t=15s>. TEMA 4 – MODELO CONCEITUAL: CONSTRUÇÃO Após a etapa de estudo do problema, já é possível elaborar um modelo mental, entretanto, antes de aplicá-lo em um software, é recomendável traduzi-lo inicialmente em um modelo conceitual. A elaboração do modelo conceitual é altamente recomendável tanto para visualização dos participantes do estudo do sistema como para facilitar as correções do modelo conceitual e, por conseguinte, do modelo computacional. Algumas vezes a elaboração do modelo conceitual é negligenciada, o que gera dificuldades de ajuste, que provavelmente ocorrerão em razão de a modelagem ser um processo no qual ocorre ajustes. Modelo conceitual: na etapa de modelagem da metodologia proposta por Pidd (2004), é elaborado o modelo conceitual, quando se procura capturar 13 as características essenciais do sistema em estudo e que está sendo modelado e, no caso específico de simulação de eventos discretos, identificar as principais entidades do sistema para compreender a lógica das interações destas entidades. A partir da metodologia proposta por Chwif (1999), podemos argumentar que, concluída a etapa de estudo do problema, já será possível construirmos um modelo abstrato – um modelo mental – que identificou o que realmente é importante no sistema e viabilizará a sua materialização em um modelo conceitual, por meio do emprego de técnicas de representação de modelos de simulação, a fim de que outras pessoas participantes do projeto possam entendê-lo. Na elaboração do modelo conceitual pode ser empregada a técnica Activity Cicle Diagram (ACD), que é uma ferramenta que permite mapear as principais interações e comportamento das entidades (objetos) pertencentes a um sistema que está sendo modelado para uma simulação discreta (PIDD, 2004), que é particularmente útil em sistemas com fortes características de geração de fila (Chwif e Medina, 2006; Pidd, 2004). O ACD emprega apenas dois símbolos para descrever um ciclo de vida das entidades/objetos de um sistema: uma “fila” é representada por uma circunferência, e uma “atividade”, por um retângulo. Por regra de construção do ACD, deve-se obrigatoriamente alternar atividades com filas, o que torna a modelagem mais robusta para quando for necessário realizar uma mudança inevitável no modelo (Chwif e Medina, 2006; Pidd, 2004), além de proporcionar flexibilidade ao modelo para realização de estudos de cenários elaborados a partir de alterações no status quo. O termo entidade é para indicar qualquer componente do sistema que retém sua identidade ao longo do tempo, o qual pode estar em uma fila (espera) ou participando de alguma atividade, na qual há cooperação de diferentes classes de entidades, com sua duração de estado ativo, determinada a priori. Quando a entidade estiver em um estado passivo – fila –, não ocorre a cooperação entre diferentes classes de entidades, pois a entidade está aguardando algo acontecer. Um ACD é composto pela combinação de todos os ciclos de vida de cada entidade participante, e,a partir da identificação das atividades comuns das entidades, de forma individual, e realizando as suas conexões, é possível obter o ACD completo do sistema (Chwif; Medina, 2006). 14 A terminologia proposta por Pidd (2004) permite compreender o conceito de classes de entidades. Podemos identificar dois tipos de elementos individuais como objetos de um sistema: entidades e recursos. Essencialmente, as entidades são os elementos que estão sendo simulados e a respeito dos quais se realiza o acompanhamento explícito de seu comportamento, e os recursos são elemento tratados como itens quantificáveis, cujos comportamentos não são acompanhados nem modelados individualmente. A identificação de um elemento do sistema deve ser tratada como uma entidade ou como um recurso, é decisão do modelador, que levará em consideração o propósito/objetivo para o qual a simulação é realizada. Exemplo de ACD: Clínica Médica (Chwif; Medina, 2006): Neste modelo existem 3 tipos de entidades: os pacientes, os médicos (3) e as recepcionistas (2). Os pacientes chegam com um tempo médio entre chegadas sucessivas de 3 minutos (exponencialmente distribuídos). Eles formam uma fila única na recepção para o preenchimento da ficha (exponencialmente distribuídos com média de 10 minutos) e depois são encaminhados para um dos três médicos. Caso todos os médicos estejam ocupados, o cliente permanece em fila aguardando o seu atendimento. Os médicos levam em média 20 minutos para o atendimento, segundo uma distribuição exponencial. No final da consulta, os pacientes retornam às recepcionistas para efetuarem o pagamento e agendarem as próximas consultas, o que demora um tempo uniformemente distribuído entre 1 e 4 minutos. Passo 1: monte um ciclo para cada entidade. Passo 2: identifique quais atividades têm duas ou mais entidades envolvidas. Passo 3: monte o ACD completo. Solução: Para elaborarmos o ciclo de vida de cada entidade, é recomendável identificar inicialmente as atividades que ocorrem, onde ocorrem e as entidades que participam. O primeiro esboço pode não ser o correto, mas compreenda que um processo que permite ajustes a qualquer momento e em qualquer fase, mesmo que já tenha sido executada, até que tenhamos um modelo que podemos considerar apropriado. Assim, elaboramos o seguinte quadro para nos auxiliar: 15 Quadro 1 – Caracterização de atividades Atividade chegada preencher atendimento pagamento e ficha agendamento Entidade paciente paciente paciente paciente recepcionista médico recepcionista Observe que as atividades devem ser caracterizadas por uma distribuição estatística. A partir dos dados do Quadro 1, podemos obter o ciclo de vida de cada entidade, conforme pode ser observado nas Figuras 6, 7 e 8. Figura 6 – Ciclo de vida dos pacientes ENTRADA CHEGADA SAÍDA PAGAMENTO PACIENTES PREENCHER E FICHA AGENDAMENTO ATENDIMENTO Figura 7 – Ciclo de vida das recepcionistas PREENCHER FICHA RECEPCIONISTA (2) PAGAMENTO E AGENDAMENTO 16 Figura 8 – Ciclo de vida dos médicos ATENDIMENTO MÉDICO (3) O Quadro 1 nos permite cumprir o Passo 2, pois identifica quais entidades/recursos possuem atividades comuns. Assim, o fluxo de cada entidade foi caracterizado por uma cor distinta (azul para os pacientes; vermelha para as recepcionistas; e verde para os médicos) a fim de que seja possível compreender o funcionamento do sistema. Então, a partir das atividades comuns, foi possível obter o ACD da clínica médica em estudo, que é apresentado na Figura 9. Figura 9 – ACD da Clínica Médica ENTRADA CHEGADA PREENCHER FICHA SAÍDA RECEPCIONISTA PAGAMENTO (2) E AGENDAMENTO PACIENTES ATENDIMENTO MÉDICO (3) 17 Por fim, verifique que os pacientes percorrem o sistema e que tanto as recepcionistas quanto os médicos estão em atendimento ou em espera (fila), porque as atividades só podem ocorrer quando há tanto o paciente como a recepcionista – nas atividades de preencher ficha, pagamento e agendamento – bem como quando há paciente e médico – na atividade de atendimento. Neste sistema, em princípio, a entidade será o paciente, e os recursos serão as recepcionistas e os médicos. Saiba mais O vídeo a seguir reforça os conceitos de modelo conceitual. Disponível em: <https://www.youtube.com/watch?v=bAWRtZIQ5Ok>. TEMA 5 – VALIDAÇÃO, VERIFICAÇÃO E EXPERIMENTOS A validação do modelo conceitual consiste em verificar se o modelo elaborado consegue apresentar a dinâmica dos eventos que ocorrem no sistema entre entidades e recursos. A verificação do modelo computacional é a checagem de que o modelo conceitual está corretamente representado no software de simulação ou se não há erros na lógica de programação. A validação do modelo operacional diz se os dados obtidos na simulação são compatíveis com os dados reais, e, para isto, é necessário realizar testes estatísticos, como o teste de hipótese – teste z de duas amostras para a diferença entre médias. Entretanto, por mais que sejam realizadas validações e verificações, “não é possível validar o modelo em 100% ou garantir que seja 100% válido”, bem como “não há como garantir que um modelo seja totalmente livre de bugs” (Chwif; Medina, 2006), porém são necessários para que seja obtido um nível de confiança para o qual um modelo possa ser considerado válido para a sua aplicação pretendida (Sargent, 2014), que é a realização de experimentos, pois para isso é que o modelo de simulação foi construído (Pidd, 2004). Validação e Verificação: Chwif e Medina (2006) consideram “validação” e “verificação” como conceitos distintos entre si, pois enquanto a validação está relacionada com o que será modelado, a verificação está relacionada com o modo como o modelo computacional está sendo implementado (ou modelo implementado em algum simulador – software de simulação). A respeito de validação, podemos encontrar os seguintes conceitos/definições: 18 Validação é a comprovação de que a precisão do modelo computacional, no seu domínio de aplicação, está dentro de seu intervalo aceitável de precisão, que é a precisão requerida do modelo para sua aplicação pretendida (Sargent, 2014); Validação é o processo que confronta o modelo conceitual com o sistema do mundo real (Chwif; Medina, 2006); A validação do modelo conceitual ocorre após se assegurar que as teorias e os pressupostos básicos do modelo conceitual estão corretos; que o modelo representando o problema, a estrutura do modelo, a lógica e as relações causais e matemáticas são "razoáveis" para a finalidade proposta do modelo (Sargent, 2014); A validação operacional é a conferência se os resultados obtidos nos experimentos (dados obtidos a partir da simulação) são compatíveis com o sistema real simulado (Chwif; Medina, 2006); A validação operacional é a confirmação de que o comportamento dos dados de saída do modelo possui a precisão requerida que atende o propósito do modelo, no domínio de aplicabilidade pretendido para ele (Sargent, 2014). A respeito de verificação, podemos encontrar os seguintes conceitos/definições: Verificação é a garantia de que o programa de computador do modelo computacional e sua implementaçãoestão corretos (Sargent, 2014); A verificação do modelo computacional é definida como a garantia de que a programação no computador e a implementação do modelo conceitual estão corretas (Sargent, 2014). Tal verificação são recomendações para o uso de linguagens de programação de alto nível e de simulação, entretanto nada esclarece a respeito do uso de softwares de simulação, os quais não permitem acesso aos códigos-fonte do programa; A verificação do modelo computacional é realizar um exame que confirme se o modelo computacional se comporta de acordo com o modelo conceitual. Para isso, é recomendável gerar alguns resultados, bem como observar se o modelo é uma representação precisa da realidade, conforme objetivo do estudo (Chwif; Medina, 2006). 19 Modelo operacional: o modelo conceitual do exemplo da clínica médica, desenvolvido no tema anterior, foi implementado como modelo computacional no ambiente do software de simulação Simul8, conforme pode ser verificado na Figura 10. Figura 10 – Modelo computacional da clínica médica no Simul8 Neste modelo computacional, a entidade são os pacientes, e os recursos são as recepcionistas e os médicos. Cada um deles fica vinculado às atividades, conforme previsto no modelo conceitual. Experimentos: após a validação do modelo computacional, podemos, além de avaliar a situação vigente, realizar experimentos com diferentes cenários, ou seja, explorar possibilidades do tipo, “e se?”. Consequentemente, ao realizarmos experimentos, desejamos obter um benefício, que pode ser materializado em um produto tangível como resultado destes experimentos, tal como um documento, em que se registram conclusões e recomendações de ações que deveriam ou não deveriam ser implementadas a partir dos resultados obtidos (Pidd, 2004; Chwif; Medina, 2006). Saiba mais O vídeo a seguir informa sobre características de software de simulação. Disponível em: <https://www.youtube.com/watch?v=vCQ1NlPbEAI>. Se você estiver interessado em trabalhar com simulação, veja também o vídeo disponível em: <https://www.youtube.com/watch?v=Fm733zLnSQc>. 20 possível trabalhar com uma versão limitada do software Arena. Para isso, basta acessar o seguinte site: <https://www.arenasimulation.com/academic/students>. NA PRÁTICA Identifique em sua rotina diária um sistema que permita aplicar a técnica ACD. Descreva em detalhes o problema – não precisa caracterizar as atividades por distribuição de probabilidades – e, em seguida, apresente-o no fórum. Solicite aos seus colegas de disciplina que apliquem a técnica ACD. Tire as dúvidas de seus colegas, se for necessário. Posteriormente, compartilhe a sua solução. Leia o caso de ensino sugerido e depois responda o solicitado. Terminada a atividade de estudo e solucionado o estudo de caso, você receberá a solução para a atividade realizada pelo professor que elaborou o presente caso de ensino. Orientações para realizar a atividade: Leia o caso de ensino atentamente e os temas da rota. Reveja os procedimentos para aplicação da técnica ACD. Elabore a modelagem procurando elaborar o modelo a partir da compreensão de como funciona o sistema. Informamos que não há a solução (modelo), mas um modelo proposto, porque a modelagem é uma ação individual de cada modelador, porém tal modelo deverá ser validado e verificado para ser usado em experimentações. Boa aprendizagem! Caso de Ensino n. 7: Lavanderia (Chwif; Medina, 2006) Os consumidores chegam a uma lavanderia com intervalo médio entre chegadas de 10 minutos (distribuídos exponencialmente) para lavar e secar suas roupas. Depois de chegar, utilizam as máquinas de lavar (que são 7 ao todo). O tempo de lavagem é constante: demora 25 minutos. No final da lavagem, o consumidor retira as roupas da máquina, coloca-as em um cesto (há 12 cestos ao todo) e leva-o para a secadora. O tempo de descarregamento das roupas da máquina de lavar está uniformemente distribuído entre 1 e 4 minutos. O tempo para transportar as roupas da máquina de lavagem até a secadora está uniformemente distribuído entre 3 e 5 minutos. O consumidor então carrega o 21 secador, o que demora somente 2 minutos; espera a secagem, descarrega as roupas e sai da lavanderia. O tempo de secagem e descarregamento é normalmente distribuído com média de 10 minutos e desvio-padrão de 4 minutos. Há 2 secadoras na lavanderia. Construa o respectivo ACD. Solução: o aluno deverá inicialmente elaborar um quadro identificando as atividades e as entidades/recursos que participam delas. Em seguida, deverá elaborar o ciclo individual de cada entidade/recurso e, a partir das atividades comuns, deverá chegar num ACD semelhante ao proposto como solução – Figura 11. Quadro 2 – Atividades e recursos Descarga Transporte Carga da Secagem e Atividade Chegada Lavagem Descarga de Roupa de Roupa Secadora de Roupa Consumidor Consumidor Consumidor Máquina de Consumidor Consumidor Entidades Consumidor Máquina de Cesto Lavar Cesto Secadora Lavar Secadora Cesto Figura 11 – ACD da lavanderia ENTRADA CHEGADA SAÍDA LAVAGEM SECAGEM E MÁQUINA DE DESCARGA DE LAVAR (7) ROUPA SECADORA (2) DESCARGA DE ROUPA CONSUMIDOR CARGA DA TRANSPORTE DE ROUPA SECADORA CESTO (12) 22 FINALIZANDO Nesta aula, abordamos a simulação de eventos discretos, seus conceitos e metodologia. A simulação de eventos discretos nos permite estudar sistemas complexos que são fortemente influenciados por filas. Tal estudo deve ser realizado empregando metodologia apropriada e, principalmente, amparada por dados modelados estatisticamente. O emprego da metodologia tem por objetivo obter um modelo que seja confiável – verificado e validado – a fim de que possamos realizar experimentações com ele. Procuramos destacar que a metodologia aplicada à simulação de eventos discretos independe do software de simulação a ser usado. O caso de ensino proposto tem por objetivo estimular o aluno a se familiarizar com o método ACD, que é uma ferramenta que possibilita materializar a dinâmica da operação de um sistema em um modelo conceitual. REFERÊNCIAS BANKS, J.; CARSON II, J. S.; NELSON, B. L.; NICOL, D. M. Discrete-event system simulation. 4. ed. New Jersey: Pearson Prentice Hall, 2004. BUSSAB, W. O.; MORETTIN, P. A. Estatística básica. 4. ed. São Paulo: Atual, 1987. (Métodos Quantitativos). CHWIF, L. Redução de modelos de simulação de eventos discretos na sua concepção: uma abordagem causal. 139 p. Tese (Doutorado em Engenharia Mecânica) – Departamento de Engenharia Mecânica, Escola Politécnica da Universidade de São Paulo. São Paulo, 1999. Disponível em: <https://www.researchgate.net/publication/242594704_REDUCAO_DE_MODE LOS_DE_SIMULACAO_DE_EVENTOS_DISCRETOS_NA_SUA_CONCEPCA O_UMA_ABORDAGEM_CAUSAL>. Acesso em: 29 nov. 2017. CHWIF, L.; MEDINA, A. C. Modelagem e simulação de eventos discretos: teoria & prática. 2. ed. São Paulo: Ed dos Autores, 2006. CREMONESE, D. T. Desenvolvimento e aplicação de metodologia para estudos de simulação dinâmica na cadeia do minério de ferro. 157 p. Dissertação (Mestrado em Engenharia) – Departamentode Engenharia de Minas e de Petróleo da Escola Politécnica da Universidade de São Paulo. São Paulo, 2014. Disponível em:<http://www.teses.usp.br/teses/disponiveis/3/3134/tde-16122014- 154937/ptbr.php>. Acesso em: 29 nov. 2017. LARSON, R.; FARBER, B. Estatística aplicada. Tradução de Luciane F. P. Vianna. 4. ed. São Paulo: Pearson Prentice Hall, 2010. LEAL NETO, J. de S. Emprego de metodologia e simulação na operação da linha férrea singela Cascavel-Guarapuava. 94 f. Dissertação (Mestrado em Engenharia de Produção) Programa de Pós-Graduação em Engenharia da Produção, Setor de Tecnologia. Universidade Federal do Paraná. Curitiba, 2016. Disponível em: <http://acervodigital.ufpr.br/handle/1884/43118>. Acesso em: 21 nov. 2017 MORABITO NETO, R.; PUREZA V. Modelagem e Simulação. In: MIGUEL, P. A. C (Org.). Metodologia de pesquisa em engenharia da produção e gestão de operações. 2. ed. Rio de Janeiro: Elsevier: ABEPRO, 2012. p. 169-198. PEGDEN, C. D.; SHANNON, R. E.; SADOWKI, R. P. Introduction to simulation using SIMAN. 2. ed. New York: McGraw-Hill, 1995. PIDD, M. Computer Simulation in Management Sciences. John Wiley and Sons, Chichester, 5th edition, 2004. PRADO, D. S. do. Teoria das filas e da simulação. Nova Lima: INDG Tecnologia e Serviços Ltda, 2006.