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.