Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Pesquisa Operacional
Felipe Kesrouani Lemos
Presidente Prudente
Unoeste - Universidade do Oeste Paulista
2017
Lemos, Felipe Kesrouani. 
 Pesquisa Operacional. / Felipe Kesrouani Lemos. – 
Presidente Prudente: Unoeste - Universidade do Oeste 
Paulista, 2017. 
 62 p.: il.
 Bibliografia.
 ISBN: 978-85-9492-019-5
 1. Pesquisa operacional. 2. Otimização matemática.
3. Variabilidade. I. Título.
CDD\22ª. ed.
© Copyright 2017 Unoeste - Todos os direitos reservados
Nenhuma parte desta publicação poderá ser reproduzida ou transmitida de qualquer modo ou 
por qualquer outro meio, eletrônico ou mecânico, incluindo fotocópia, gravação ou qualquer 
outro tipo de sistema de armazenamento e transmissão de informação, sem prévia autorização, 
por escrito, da Universidade do Oeste Paulista.
Pesquisa Operacional
Felipe Kesrouani Lemos
Reitora: Ana Cristina de Oliveira Lima
Vice-Reitor: Brunno de Oliveira Lima Aneas
Pró-Reitor Acadêmico: José Eduardo Creste
Pró-Reitor Administrativo: Guilherme de Oliveira Lima Carapeba
Pró-Reitor de Pesquisa, Pós-Graduação e Extensão: Adilson Eduardo Guelfi
Diretor Geral: Augusto Cesar de Oliveira Lima
Núcleo de Educação a Distância: Dayene Miralha de Carvalho Sano, Marcelo Vinícius Creres 
Rosa, Maria Eliza Nigro Jorge, Mário Augusto Pazoti e Sonia Sanae Sato
Coordenação Tecnológica e de Produção: Mário Augusto Pazoti
Projeto Gráfico: Luciana da Mata Crema
Diagramação: Aline Miyamura Takehana
Ilustração e Arte: Aline Miyamura Takehana e Rita de Cássia Miranda da Costa
Revisão: Renata Rodrigues dos Santos
Colaboração: Edwiges Inácia de Lima
Direitos exclusivos cedidos à Associação Prudentina de Educação e Cultura (APEC), 
mantenedora da Universidade do Oeste Paulista
Rua José Bongiovani, 700 - Cidade Universitária
CEP: 19050-920 - Presidente Prudente - SP
(18) 3229-1000 | www.unoeste.br/ead
Catalogação na fonte: Rede de Bibliotecas Unoeste
658.403.4
L558p
Felipe Kesrouani Lemos
Graduado em Engenharia de Produção pela Escola Politécnica da Universidade de São 
Paulo (Poli/USP), mestre em Engenharia de Produção pela mesma instituição, com tema 
em Pesquisa Operacional, e doutorando em Engenharia de Produção na Faculdade de 
Engenharia de Bauru, da Universidade Estadual Paulista (FEB/Unesp), também na área 
de Pesquisa Operacional. Trabalhou com planejamento, programação e controle da Pro-
dução (PCP) em multinacionais de diversos ramos, dentre os quais cosméticos, bens de 
consumo e aeronáutico. Atualmente, é docente da Universidade do Oeste Paulista (Uno-
este) e empresário no ramo de serviços, produção industrial e agrícola. É pesquisador 
na área de Pesquisa Operacional aplicada a problemas de planejamento, programação e 
controle da produção.
Sobre o autor
Carta ao aluno
O ensino passa por diversas e constantes transformações. São mudanças 
importantes e necessárias frente aos avanços da sociedade na qual está inserido. A 
Educação a Distância (EAD) é uma das alternativas de estudo, que ganha cada vez mais 
espaço, por comprovadamente garantir bons referenciais de qualidade na formação pro-
fissional. Nesse processo, o aluno também é agente, pois organiza o seu tempo confor-
me suas atividades e disponibilidade. 
Maior universidade do oeste paulista, a Unoeste forma milhares de profissio-
nais todos os anos, nas várias áreas do conhecimento. São 40 anos de história, sendo 
responsável pelo amadurecimento e crescimento de diferentes gerações. É com esse 
mesmo compromisso e seriedade que a instituição iniciou seus trabalhos na EAD em 
2000, primeiramente com a oferta de cursos de extensão. Hoje, a estrutura do Nead 
(Núcleo de Educação a Distância) disponibiliza totais condições para você obter os co-
nhecimentos na sua área de interesse. Toda a infraestrutura, corpo docente titulado e 
materiais disponibilizados nessa modalidade favorecem a formação em plenitude. E o 
mercado precisa e busca sempre profissionais capacitados e que estejam antenados às 
novas tecnologias.
Agradecemos a confiança e escolha pela Unoeste e estamos certos de que 
suas expectativas serão atendidas, pois você está em uma universidade reconhecida 
pelo MEC, que oportuniza o desenvolvimento constante de Ensino, Pesquisa e Extensão. 
Aqui, além de graduação, existe pós-graduação lato e stricto sensu, com mestrados e 
doutorado recomendados pela Capes (Coordenação de Aperfeiçoamento de Pessoal de 
Nível Superior), prêmios conquistados em âmbito nacional por suas ações extensivas e 
pesquisas que colaboram com o desenvolvimento da cidade, região, estado e país; en-
fim, são inúmeros os referenciais de qualidade.
Com o fortalecimento da EAD, a Unoeste reforça ainda mais a sua missão 
que é “desenvolver a educação num ambiente inovador e crítico-reflexivo, pelo exercício 
das atividades de Ensino, Pesquisa e Extensão nas diversas áreas do conhecimento cien-
tífico, humanístico e tecnológico, contribuindo para a formação de profissionais cidadãos 
comprometidos com a responsabilidade social e ambiental”.
Seja bem-vindo e tenha bons estudos!
Reitoria
Sumário
Capítulo 1
ModelageM MateMática de ProbleMas de otiMização
1.1 O Processo de Modelagem ........................................................................................12
1.2 Conceitos Básicos de Modelagem ...............................................................................14
1.3 Programação Linear (PL) ...........................................................................................15
1.4 Soluções de Problema de Programação Linear ............................................................17
1.5 Método Gráfico .........................................................................................................19
1.6 Um Segundo Exemplo de Fixação ..............................................................................22
1.7 O Problema de Transporte .........................................................................................24
Capítulo 2
resolução de ProbleMas de otiMização
2.1 A Forma Padrão de um Problema de Otimização Linear ...............................................30
2.2 Método Simplex ........................................................................................................33
2.3 Método das Duas Fases para Solução Inicial ...............................................................39
2.4 Análise de Sensibilidade ............................................................................................42
Capítulo 3
ProbleMas coM Variabilidade
3.1 Teoria de Filas ..........................................................................................................48
3.2 Notação de Kendall-Lee .............................................................................................50
3.2.1 Medidas de Desempenho em um Sistema de Filas ....................................................51
3.2.2 Um Exemplo de Modelo: M/M/1/FIFO/∞/∞ .............................................................51
3.3 Noções de Simulação ................................................................................................52
3.3.1 Classificação dos Sistemas de Simulação .................................................................53
3.3.2 Simulação Discreta ou Simulação por Eventos Discretos ...........................................54
3.3.3 Passos de um Estudo de Simulação .........................................................................55
3.3.4 Um Exemplo: Simulando uma Linha de Montagem ...................................................57
Referências ....................................................................................................................60
9
Apresentação
Caro aluno,
Com este livro, convido-o a entrar no mundo da Pesquisa Operacional, tam-
bém conhecida na língua inglesa como Management Science (“ciência da gestão”). A 
partir deste conteúdo, queremos introduzir uma forma diferente de tomar decisões do 
mundo real: a modelagem matemática e a soluçãocientífica de problemas de gestão.
O mundo empresarial é formado por muitos sistemas complexos e nos pe-
dem decisões a todo instante. Qualquer gestor ou analista de uma empresa – indepen-
dentemente de seu tamanho – é forçado a tomar decisões: quanto produzir, qual ordem 
deve ser feita primeiro, quanto e quando comprar matérias-primas, qual transporte uti-
lizar, quantas máquinas utilizar, quantas pessoas contratar, quais os melhores turnos de 
produção... e uma infinidade de outras!
A Pesquisa Operacional tem como objetivo elevar o nível da tomada de de-
cisão, saindo apenas do campo da experiência e intuição, para o uso de métodos quan-
titativos. Para isso, utiliza-se, sim, dessa experiência e intuição para criar um modelo 
conceitual do sistema de produção, a ser transformado em linguagem matemática para 
sua posterior solução.
Ao longo do estudo deste material, convido-o a refletir sobre suas experiên-
cias e o mundo ao seu redor, tentando traçar um paralelo com o que vivencia em sua 
prática profissional ou mesmo das pessoas a seu redor. Tente encontrar aplicações, pois 
estamos tratando de uma ciência que toma sentido à medida em que tais aplicações são 
encontradas.
Dividiremos nosso estudo em três partes: uma primeira em que nos dedica-
remos à modelagem matemática, isto é, a tradução de nosso conhecimento do mundo 
real em equações e inequações; um segundo momento em que veremos métodos para 
solucionar esses modelos que encontramos; e, finalmente, analisaremos sistemas em 
que a variabilidade dos dados é importante, os chamados sistemas probabilísticos.
Boa leitura!
11
ModelageM MateMática de ProbleMas de otiMização
Capítulo 1
12
Esta etapa do nosso livro é dedicada à modelagem matemática de problemas 
de otimização. Qual o nosso objetivo aqui? Queremos traduzir sistemas de produção re-
ais em modelos que os representem, para que possamos analisá-los matematicamente.
Ao terminar este estudo, queremos que você tenha a capacidade de enxer-
gar no mundo real as oportunidades de modelagem para que possa, posteriormente, 
resolver seus problemas.
Introdução
Importante
No decorrer do estudo deste livro, faça sempre um paralelo com o mundo ao seu redor. 
Não se esqueça que a teoria sem a prática fica perdida e sem sentido!
1.1 O Processo de Modelagem
Um modelo é uma simplificação da realidade com o objetivo de representá-la. 
Antes de adentrar propriamente na construção de um modelo, precisamos entender como 
é esse processo, integrando-o com a prática. Para isso, veja a Figura 1.
FIGURA 1 - Processo de modelagem
Fonte: Elaboração própria (2017).
A Figura 1 ilustra esse processo, que é um ciclo. Inicialmente, temos um 
sistema de produção real, com suas questões e seus problemas a serem resolvidos. Por 
meio da análise e modelagem, transformamos essa realidade em um modelo matemá-
13
tico, que o representa por equações e inequações. Resolvendo o modelo, teremos uma 
proposta de solução a ser obtida, que precisamos verificar se atende às necessidades do 
problema que estamos analisando. Se a solução obtida não é boa, voltamos ao nosso 
modelo para entender o que representamos de maneira inadequada. Fazemos isso até 
que a solução seja boa o suficiente para ser usada.
Para entender melhor, vamos fazer um exemplo disso. Na Figura 2, vamos 
analisar esse processo com um problema clássico da Pesquisa Operacional e também 
do mundo real: os problemas de corte e empacotamento. Esses problemas consistem 
em reduzir os desperdícios de matéria-prima quando precisamos cortar peças menores 
a partir de uma maior. 
FIGURA 2 - Exemplo de processo de modelagem com o problema de corte
Fonte: Acervo Nead/Unoeste (2017).
Observe que, inicialmente, temos uma questão de entendimento do proble-
ma: notamos os comprimentos dos objetos em estoque, os comprimentos dos itens a 
serem cortados, a demanda de cada um desses itens e que nosso objetivo é utilizar o 
mínimo de matéria-prima possível.
Entendido o problema, partimos para sua elaboração matemática. Na Figura 
2, mostramos o modelo de Kantorovich (1960), um dos pioneiros na modelagem dessa 
área. Resolvendo o problema, temos uma solução, que é uma proposta de como cortar 
as peças. Finalmente, temos que implementar a solução, levando o plano de corte até a 
máquina e verificando se todas as características foram contempladas. Caso contrário, 
deve-se retornar e melhorar a modelagem.
14
a) Variáveis de decisão: são variáveis matemáticas que vão refletir as 
decisões que queremos tomar em nosso sistema de produção, ou seja, as respostas que 
queremos do nosso modelo.
b) Parâmetros: são os dados que coletamos no mundo real para alimen-
tarmos nosso modelo, ou seja, aquilo que já conhecemos.
c) Função objetivo: é aquilo que queremos que nosso modelo otimize, ou 
seja, o que reflete o nosso desejo com o modelo.
d) Restrições: são as características técnicas do nosso problema que nos 
impedem de fazer o que queremos, ou seja, são as imposições que temos que respeitar.
Vamos analisar todos esses conceitos com um exemplo: você possui um ca-
minhão do tipo “baú” com o qual faz fretes de diversos tipos de produtos. Esse caminhão 
tem capacidade, em termos de peso, para carregar no máximo 15.000 kg. Por outro 
lado, as dimensões do baú só permitem um máximo de 28.800 litros de volume.
Você acaba de receber duas propostas de fretes: pode levar bananas, ga-
nhando para isso R$ 140 por tonelada transportada; ou pode levar lâmpadas, ganhando 
para isso R$ 160 por tonelada transportada. Você pode misturar os dois produtos dentro 
do seu baú, desde que respeite os limites de peso e volume dele. 
FIGURA 3 – Propostas de fretes
Fonte: Acervo Nead/Unoeste (2017).
Você pesquisou que cada quilo de bananas ocupa 1,2 litros de volume, já 
contando as caixas que as armazenam. Já as lâmpadas, ocupam um total de 2,4 litros por 
quilo do produto, pois têm uma densidade muito baixa. A carga máxima de bananas dispo-
níveis é de 10,5 toneladas, enquanto o máximo disponível de lâmpadas é de 18 toneladas.
1.2 Conceitos Básicos de Modelagem
O processo de modelagem pode ser comparado a uma arte, já que depende 
da experiência e criatividade daquele que está conduzindo. Entretanto, tentaremos es-
tabelecer um método que ajude você a enxergar como fazer esses modelos no mundo 
real. Começaremos identificando pontos comuns a todos os modelos. São eles:
15
Pare e Reflita
Antes de continuar a leitura, pense como você faria sua própria carga. Lembre-se de com-
parar ao final do capítulo com o que você aprendeu! 
Vamos identificar, na situação proposta, os elementos básicos que apren-
demos, transformando todas as unidades para toneladas (t). Para isso, veja a Tabela 1.
TABELA 1 - Identificação dos elementos básicos de modelagem no exemplo
Elemento Explicação No exemplo
Variáveis de decisão O que queremos descobrir, o que não sabemos, o desconhecido
Toneladas de bananas
Toneladas de lâmpadas
Parâmetros O que coletamos no mundo real, o que já sabemos, o conhecido
Receita com bananas (R$ 140/t)
Receita com lâmpadas (R$ 160/t)
Ocupação das bananas (1.200 L/t)
Ocupação das lâmpadas (2.400 L/t)
Demanda de bananas (10,5 t)
Demanda de lâmpadas (18 t)
Função objetivo O que queremos melhorar com a nossa solução
Maximizar (aumentar ao máximo) 
a receita total
Restrições O que nos impede de ter uma solução ainda melhor
Peso máximo carregado: 15 t
Volume máximo carregado: 28.800 L
Máximo de bananas: 10,5 t
Máximo de lâmpadas: 18 t
Fonte: Elaboração própria (2017).
1.3 Programação Linear (PL)
Uma vez entendido o problema, passamos à etapa de modelagem matemáti-
ca. Nosso primeiro passo será o de modelagem por meio de programação linear, ou seja, 
transformando os elementos que identificamos na seção anterior em funções lineares. 
De maneira simplificada, podemos caracterizar aqui uma função linear como combina-
ções de funções do primeiro grau com as variáveis de decisão. Isso implica que as vari-
áveis de decisão não podem se multiplicar e não podemter expoentes diferentes de 1.
Vamos utilizar o exemplo da seção “Conceitos Básicos de Modelagem” para 
sermos mais claros. Em primeiro lugar, temos que dar nomes às nossas variáveis de 
decisão, pois escreveremos todas as nossas funções utilizando-as. Vamos chamar aqui 
a quantidade de toneladas de bananas que iremos transportar de x1 e a quantidade de 
toneladas de lâmpadas que iremos transportar de x2.
Agora, vamos escrever nossa função objetivo! Identificamos que nosso obje-
tivo é maximizar a receita total com nosso caminhão de fretes. Isso significa que quere-
16
mos obter o máximo de receita com uma combinação de bananas e lâmpadas a serem 
transportadas. Como podemos traduzir o que iremos ganhar em termos matemáticos?
Ora, se ganhamos R$ 140 por tonelada transportada de banana, isso signifi-
ca que se transportarmos 1 tonelada, ganharemos R$ 140 (140 x 1); se transportarmos 
2 toneladas, ganharemos R$ 280 (140 x 2); se transportarmos 10 toneladas, ganhare-
mos R$ 1.400 (140 x 10). E se transportarmos x1 toneladas de bananas? Ganharemos 
R$ 140 vezes x1, ou seja, 140x1. Da mesma maneira, se transportarmos x2 toneladas de 
lâmpadas, ganharemos 160x2.
Assim, como queremos maximizar nossa receita total (RT) com a carga que 
escolhermos, temos a seguinte função objetivo:
maximizar RT=140x1+160x2
Pare e Reflita
Se você substituir valores em x1 e x2, irá obter a receita total com o frete daquela solução. 
Por exemplo: se eu resolver levar 5 toneladas de bananas e 6 toneladas de lâmpadas, mi-
nha receita total será de 140 x 5 + 160 x 6 = R$ 1.660,00.
Vamos passar agora a modelar nossas restrições.
Nossa primeira restrição era de peso: nosso caminhão só carrega 15 tonela-
das. Se x1 é a quantidade de toneladas de bananas e x2 é a quantidade de toneladas de 
lâmpadas, fica claro que a soma dessas duas variáveis não pode ultrapassar 15. Observe 
que o fato de não poder ultrapassar não significa que é obrigatório que a carga some 
15 toneladas. Pode haver uma solução boa que não lote o caminhão. Dessa forma, a 
soma das cargas de bananas e lâmpadas deve ser menor ou igual a 15. Assim, nossa 
restrição de peso é a seguinte:
(Restrição de peso): x1 + x2 ≤ 15
Passemos à restrição de volume. Sabemos, vendo nossos parâmetros, que 
cada tonelada de bananas ocupa 1.200 L. Ou seja, se levarmos 1 tonelada, ocuparemos 
1.200 L; se levarmos 3, ocuparemos 3.600 L (3 x 1.200); se levarmos 5, ocuparemos 
6.000 L (5 x 1.200) e se levarmos x1, ocuparemos 1.200x1 L em nosso caminhão. Da 
mesma forma, se levarmos x2 toneladas de lâmpadas, ocuparemos 2.400x2 L do cami-
nhão. Assim, se levarmos x1 toneladas de bananas e x2 toneladas de lâmpadas, juntas, 
o volume total ocupado é de 1.200x1 + 2.400x2. Nossa restrição é que esse volume não 
pode ultrapassar (deve ser menor ou igual a) 28.800 litros, ou seja:
17
(Restrição de volume): 1.200x1 + 2.400x2 ≤ 28.800
Para finalizar as restrições, temos as restrições de demanda, que são mais 
simples. O total de bananas levadas não pode ultrapassar 10,5 toneladas, pois não há 
demanda suficiente para isso. Ou seja, x1 não pode ultrapassar (deve ser menor ou 
igual a) 10,5 toneladas. Da mesma forma, a demanda de lâmpadas é de 18 toneladas, 
de forma que x2 não pode ultrapassar 18 toneladas. Assim:
(Restrição de demanda de bananas): x1 ≤ 10,5
(Restrição de demanda de lâmpadas): x2 ≤ 18
Um elemento final na programação linear é dizer que tipo de números as 
variáveis de decisão podem tomar: se podem ser número reais, inteiros, binários, etc. 
Nesse caso, o peso levado é uma variável contínua e pode tomar valores decimais (posso 
resolver levar 4,7 toneladas de bananas, por exemplo). Dessa forma, no exemplo, as 
variáveis são reais. Entretanto, só podem ter valores positivos.
Assim, nossa formulação matemática final para o problema em programação 
linear é:
max RT = 140x1 + 160x2
sujeito a x1 + x2 ≤ 15
 1.200x1 + 2.400x2 ≤ 28.800
 x1 ≤ 10,5
 x2 ≤ 18
com x1, x2 ∈ ℝ+
1.4 Soluções de Problema de Programação Linear
Agora que já formulamos o problema, passamos a uma próxima etapa de 
análise, que é das soluções. Antes de mais nada, temos que definir o que é uma solução 
para um problema. 
Uma solução é qualquer atribuição de valores às variáveis de decisão. Por 
exemplo: se eu disser que x1 vale 10 e x2 vale 20, essa é uma solução, porque atribuí 
valores às variáveis de decisão. Matematicamente, escrevemos essas soluções como um 
par ordenado, ou seja, (x1, x2) = (10, 20).
Para problemas de apenas duas variáveis de decisão, podemos representar 
uma solução como um ponto no plano cartesiano. Isso significa que cada ponto desse 
gráfico é um plano de frete, ou seja, uma possível configuração da carga a ser montada.
18
FIGURA 4 - Exemplo de solução retratada no plano cartesiano
Fonte: Elaboração própria (2017).
Note que, essa é uma solução qualquer; entretanto, ela desrespeita as res-
trições do nosso modelo, porque desrespeita a restrição de demanda de lâmpadas (que 
deve ser menor que 18), de peso (cuja soma deve ser menor do que 15 toneladas) e de 
volume (cuja soma deve ser menor do que 28.800 L).
Disso, decorre um segundo conceito que é o de solução viável, ou seja, 
qualquer solução (atribuição de valores) que respeite as restrições do problema. Uma 
solução viável para esse problema, por exemplo, é transportar 4 toneladas de bananas 
e 5 toneladas de lâmpadas, ou seja, (x1, x2) = (4, 5). 
FIGURA 5 - Exemplo de solução viável retratada no plano cartesiano
Fonte: Elaboração própria (2017).
19
Da mesma forma, não carregada NADA, ou seja, (x1, x2) = (0, 0), também 
é uma solução viável, pois respeita todas as restrições do problema (não ultrapassa 
o peso, nem o volume, nem as demandas). Isso não significa que é uma solução boa 
(neste caso, é péssima). Assim, evoluímos para o conceito de solução ótima, que é a 
solução que respeita as restrições e otimiza a função objetivo do problema.
Na próxima seção, veremos como encontramos a solução ótima para pro-
blemas de duas variáveis, através do método gráfico, e mais à frente veremos como 
encontrar para um problema qualquer, utilizando o Método Simplex.
Atenção
No mundo corporativo é muito comum utilizar a palavra “viável” como sinônimo de 
“economicamente boa”. Preste atenção que qualquer solução factível, ou seja, que 
atenda às restrições, é viável. Isso não significa que ela é boa, apenas que é possível!
1.5 Método Gráfico
Para problema de até duas variáveis de decisão, podemos utilizar o método 
gráfico para resolução. Embora poucos problemas no mundo real tenham apenas duas 
variáveis de decisão, trata-se de um método interessante em termos didáticos, para en-
tender a relação entre as restrições, soluções viáveis e solução ótima.
Como chamamos a atenção na seção anterior, vamos entender o plano car-
tesiano como um espaço de soluções, em que cada ponto é um par (x1, x2) com uma 
configuração do nosso caminhão.
Se quisermos retratar o conjunto de pontos que obedecem à restrição de 
peso (x1 + x2 ≤ 15), teremos que desenhar a reta (x1 + x2 = 15) e ressaltar a região de 
pontos abaixo dessa reta. Veja a Figura 6.
Para encontrar essa reta no plano cartesiano, temos que nos recordar como 
fazíamos isso nas aulas de matemática e geometria descritiva. Uma reta pode ser deter-
minada por dois pontos distintos dela quaisquer. Por uma questão de facilidade, costu-
mamos (mas não é obrigatório) localizar os pontos que encontram os eixos. Assim, na 
equação x1 + x2 = 15, quando x1 = 0, então x2 = 15. Da mesma forma, quando x2 = 0, 
então x1 = 15. Desse modo, se unirmos os pontos (0, 15) e (15, 0), encontramos a reta 
da restrição de peso.
20
FIGURA 6 - Restrição de peso retratada no plano cartesiano
Fonte: Elaboração própria (2017).
Seguindo o mesmo processo, podemos agora analisara restrição de volume 
(1.200x1 + 2.400x2 ≤ 28.800). Em primeiro lugar, temos que encontrar os pontos ex-
tremos dessa reta, onde ela cruza os eixos. Quando x1 = 0, então x2 = 12. Quando x2 = 
0, então x1 = 24. Assim, se unirmos os pontos (0, 12) e (24, 0), encontramos a reta da 
restrição de volume. Veja a Figura 7.
FIGURA 7 - Restrições de peso e volume retratadas no plano cartesiano
Fonte: Elaboração própria (2017).
21
Por analogia, desenhamos as últimas duas restrições de demanda e chega-
mos, por fim, à região viável do nosso problema. A região viável é, portanto, aquela que 
obedece todas às restrições simultaneamente. Qualquer ponto dentro dela representa 
soluções viáveis (isto é, possíveis) para o nosso problema de carregamento do caminhão.
FIGURA 8 - Restrições do problema e região viável
Fonte: Elaboração própria (2017).
Nosso próximo passo, agora, é encontrar a melhor solução dentro dessa re-
gião viável. Para definir melhor, temos que utilizar a função objetivo. No nosso problema, 
a função objetivo é RT = 140x1 + 160x2. 
Imagine que iremos desenhar em nosso gráfico todas as soluções que pos-
suem receita igual a um valor qualquer, por exemplo, R$ 1.120. Isso seria o equivalente 
a desenhar a reta 140x1 + 160x2 = 1.120. Se você fizer o mesmo processo com diversos 
valores, encontrará diversas retas paralelas, como ilustrado na Figura 9. Essas retas, 
também chamadas de isocurvas, são conjuntos de pontos (soluções) que possuem o 
mesmo valor de função objetivo, ou seja, dentro de cada reta, as soluções possuem 
valores iguais, isto é, são formas diferentes de chegar ao mesmo valor.
Qual é nosso objetivo? Obter o maior valor possível de receita, certo? Portan-
to, a minha solução ótima estará na última isocurva que ainda tiver algum ponto dentro 
da região viável. Traçando retas paralelas sucessivamente, chegamos à conclusão de 
que o ponto ótimo é no encontro das restrições de volume e peso. Isso acontece no par 
(x1, x2) = (6, 9). 
Desse modo, chegamos à nossa solução. Conforme você verá na Figura 9, a 
seguir, nosso motorista deve carregar 6 toneladas de bananas e 9 toneladas de lâmpa-
das, tendo com isso uma receita total de R$ 2.280,00. 
22
FIGURA 9 - Representação das isocurvas da função objetivo e o ponto ótimo
Fonte: Elaboração própria (2017).
1.6 Um Segundo Exemplo de Fixação
Para reforçarmos nosso raciocínio de construção de modelagem em progra-
mação linear, vamos trabalhar com um exemplo de problema de minimização.
Imagine que você é gestor de uma fábrica de rações e precisa encontrar a 
mistura ótima entre milho e farelo de soja. A tonelada de milho custa R$ 600,00 e possui 
80 kg de proteínas e 3.520 mega calorias (Mcal) de energia. Já o farelo de soja custa R$ 
1.200,00 por tonelada e possui 450 kg de proteínas, fornecendo 2.200 Mcal de energia.
Seu objetivo é formular uma batelada para atender um contrato de 10 tone-
ladas que tenha como resultado uma ração com 1.800 kg de proteínas e 25.000 Mcal, 
obtendo o mínimo custo possível.
E agora, como formulamos o problema? 
Passo 1: Definir variáveis de decisão
Meus valores desconhecidos são quanto colocar de milho e quanto colocar 
de soja na mistura para fazer 10 toneladas de ração. Vamos chamar a quantidade de 
toneladas de milho de x1 e a quantidade de toneladas de soja de x2.
Passo 2: Definir minha função objetivo em função das variáveis de 
decisão e dos parâmetros do problema
Meu objetivo é minimizar o custo total (CT) da ração. Esse custo é dado 
pelos gastos com milho e os gastos com soja. Para cada tonelada de milho, eu gasto R$ 
23
600,00, ou seja, meu gasto com milho é 600x1. Analogamente, meus gastos com farelo 
de soja são de 1.200x2. Assim, minha função objetivo será:
minimizar CT = 600x1 + 1.200x2
Passo 3: Definir minhas restrições
Em meu problema, tenho três restrições: a quantidade de proteína tem que 
ser superior (maior ou igual a) 1.800 kg; a quantidade de calorias deve ser superior 
a 7.000 Mcal; e a quantidade total produzida deve ser de 10 toneladas. Assim, minhas 
restrições serão:
(Proteínas) 80x1 + 450x2 ≥ 1.800
(Energia) 3.520x1 + 2.200x2 ≥ 25.000
(Total produzido) x1 + x2 ≥ 10
Passo 4: Definir que tipo de valor assumem as variáveis de decisão 
(domínio)
Nesse problema, novamente, os valores podem ser decimais, mas devem ser 
positivos (não podem ser negativos).
Assim, nosso modelo será:
min CT=600x1+ 1.200x2
sujeito a 80x1+ 450x2 ≥ 1.800 
 3.520x1+ 2.200x2 ≥ 25.000
 x1+ x2 ≥ 10
com x1, x2 ∈ ℝ+
Para resolver o problema pelo método gráfico, devemos desenhar as três 
restrições do problema, destacando a região viável (nesse caso, acima das retas) em 
comum das três. Veja a Figura 10, que mostra as equações representadas e a região 
viável destacada em verde. 
Feito esse processo, é hora de traçar isocurvas de custos de ração. Repare 
que, como esse é um problema de minimização, queremos encontrar o ponto da região 
viável que faz parte da isocurva de função objetivo de valor menor.
Nesse caso, esse ponto ocorre no encontro das restrições de total produzido 
e proteínas. Ou seja, o ponto ótimo é: (x1, x2) = (7,3; 2,7). Portanto, nossa mistura ótima 
será de 7,3 kg de milho com 2,7 kg de farelo de soja.
24
FIGURA 10 - Resolução gráfica do problema da mistura
Fonte: Elaboração própria (2017).
1.7 O Problema de Transporte
Vamos finalizar nosso capítulo com um terceiro exemplo de um problema 
clássico de Pesquisa Operacional: o problema de transporte!
Suponha que você é o gestor de logística de uma fábrica, que possui três 
fábricas e quatro centros de distribuição. Cada uma dessas fábricas possui uma capaci-
dade máxima de produção e cada centro de distribuição possui uma demanda mínima a 
ser atendida. Veja a Tabela 2 com estes dados:
TABELA 2 - Dados de demanda e capacidade dos centros de distribuição e fábricas (em unidades)
Centros de distribuição Demanda
A 45.000
B 20.000
C 30.000
D 30.000
Fábricas Capacidade
1 35.000
2 50.000
3 40.000
Fonte: Elaboração própria (2017).
Para levar produtos de um lugar para o outro, você tem custos distintos, veja 
na Tabela 3 o custo de levar cada unidade de uma fábrica para determinado centro de 
distribuição.
25
TABELA 3 - Custos de transporte das fábricas aos centros de distribuição
Centros de distribuição
A B C D
Fábricas
1 8 6 10 9
2 9 12 13 7
3 14 9 16 5
Fonte: Elaboração própria (2017).
E agora, como formulamos o problema?
Passo 1: Variáveis de decisão
Quero saber quanto levar de cada fábrica para cada centro de distribuição. 
Em outras palavras, minhas variáveis de decisão são quanto levar de 1 para A (x1A), 
quanto levar de 1 para B (x1B), e assim por diante, até quanto levar de 3 para D (x3D).
Passo 2: Função objetivo
Meu objetivo é minimizar o custo total de transporte. Esse custo é a soma 
dos custos de cada trecho, ou seja, quanto é o custo por unidade vezes o número de 
unidades levadas. Assim, minha função objetivo é:
minimizar CT = 8x1A + 6x1B + 10x1C + 9x1D +
 + 9x2A+ 12x2B + 13x2C + 7x2D +
 + 14x3A + 9x3B + 16x3C + 5x3D
Passo 3: Restrições
Aqui, minhas restrições são atender o mínimo de demanda dos centros de 
distribuição; e o máximo de oferta das plantas. Em outras palavras, tudo que sai de uma 
fábrica tem que ser menor ou igual à oferta dela. E tudo que chega de uma fábrica tem 
que ser maior ou igual à demanda dela.
26
Resumo
Neste capítulo, aprendemos a modelar matematicamente sistemas de produ-
ção por meio da Programação Linear.
Aprendemos que modelos são representações simplificadas da realidade, 
que fazemos com o objetivo de estudá-la. Com os resultados de um modelo, verificamos 
sua aderência à realidade para ajustá-lo ou implantá-lo na prática.Vimos que o processo de modelagem matemática de problemas de otimiza-
ção por Programação Linear pode ser feito percorrendo as seguintes etapas:
• Passo 1 - Definir variáveis de decisão: representar matematicamente as 
decisões a serem tomadas, ou seja, as variáveis de valores desconhecidos.
• Passo 2 - Definir a função objetivo: escrever por meio de uma função 
linear o que se quer otimizar com o modelo.
• Passo 3 - Definir as restrições: descrever por meio de inequações lineares 
o que limita as variáveis de decisão de tomarem valores quaisquer.
Também abordamos os conceitos das soluções, distinguindo uma solução 
qualquer, que é uma simples atribuição de valores às variáveis de decisão; de uma solu-
ção viável, que são valores que respeitam as restrições; de uma solução ótima, que são 
valores que respeitam as restrições e otimizam a função objetivo.
Por fim, aprendemos o método gráfico para solução de problemas de Pro-
gramação Linear para duas variáveis de decisão.
(Fábrica 1) x1A + x1B + x1C + x1D ≤ 35.000
(Fábrica 2) x2A + x2B + x2C + x2D ≤ 50.000
(Fábrica 3) x3A + x3B + x3C + x3D ≤ 40.000
(CD A) x1A + x2A + x3A ≥ 45.000
(CD B) x1B + x2B + x3B ≥ 20.000
(CD C) x1C + x2C + x3C ≥ 30.000
(CD D) x1D + x2D + x3D ≥ 30.000
27
Atividades
1. Uma fábrica de ligas metálicas tem que produzir 50 toneladas de um produto com 0 a 
10% de carbono; e 20% a 40% de silício em sua composição. Não há restrição quanto 
ao restante de sua composição. 
Para isso, essa empresa possui três matérias-primas: sucata, grafite e argila. A sucata 
custa R$ 35,00 por tonelada, possui 10% de carbono e 25% de silício, havendo 40 tone-
ladas em estoque. O grafite custa R$ 250,00 por tonelada, possui 90% de carbono e 0% 
de silício, havendo 25 toneladas em estoque. Já a argila custa R$ 150,00 por tonelada, 
possui 1% de carbono e 17% de silício, havendo 25 toneladas em estoque.
Formule um modelo de otimização linear que determine as quantidades a serem utiliza-
das de cada matéria-prima para otimizar o custo da liga, cumprindo as especificações 
técnicas e produtivas disponíveis. 
2. Reveja o exemplo do caminhão do livro-texto. Suponha que sejam oferecidos a você 
quatro serviços: (i) uma campanha de marketing para aumentar a demanda por bana-
nas; (ii) uma campanha de marketing para aumentar a demanda por lâmpadas; (iii) uma 
adaptação nos eixos para aumentar a capacidade de peso a ser transportado; (iv) uma 
expansão no baú para aumentar o volume de transporte. Quais deles são interessantes? 
Justifique com o resultado do método gráfico.
3. Resolva o seguinte problema pelo método gráfico.
max x1 + x2
sa 2x1 + x2 ≤ 48
 x1+ 2x2 ≤ 36
com x1, x2 ∈ ℝ+
4. No problema apresentado no exercício 3, dê três exemplos de soluções viáveis e três 
exemplos de três soluções não viáveis.
5. Você tem um sítio de 10 hectares e quer saber quanto plantar de milho ou de soja. 
Cada hectare de milho rende 100 sacas, requerendo 5 horas de trabalho por semana. 
Um hectare de soja rende 50 sacas e requer 8 horas de trabalho por semana. Cada saca 
de milho pode ser vendida a R$ 40, enquanto a saca de soja está sendo comercializada 
a R$ 70. Um financiamento adquirido previamente exige que pelo menos 2 hectares de 
milho sejam plantados. Sendo x1 o número de hectares de milho e x2 o número de hec-
tares de soja, determine a formulação que maximize a receita do sítio. 
28
Anotações
29
resolução de ProbleMas de otiMização
Capítulo 2
30
Agora que já aprendemos como modelar problemas reais por meio da Pro-
gramação Linear, nesta segunda etapa nosso objetivo é resolvê-los!
Já vimos anteriormente como resolver problemas pequenos, restritos a ape-
nas duas variáveis de decisão. Mas, no mundo real, temos problemas muito maiores do 
que esses e precisamos de ferramentas para enfrentá-los.
É para isto que aprenderemos agora a resolver problemas de Programação 
Linear pelo Método Simplex!
Além de aprender a resolver os problemas, também vamos entender os im-
pactos de mudanças nos parâmetros na resolução de problemas. Para isso, usaremos a 
técnica da Análise de Sensibilidade.
Introdução
2.1 A Forma Padrão de um Problema de Otimização 
Linear
Para podermos aplicar os métodos que serão ensinados neste capítulo, é 
importante que façamos a adoção de uma convenção padronizada de escrita dos proble-
mas, que chamaremos aqui de “forma padrão”.
A forma padrão de um problema possui as seguintes características:
min c1x1 + c2x2 + c3x3 + ... + cnxn
sujeito a a11x1 + a12x2 + a13x3 + ... + a1nxn= b1
 a21x1 + a22x2 + a23x3 + ... + a2nxn = b2
 …
 am1x1 + am2x2 + am3x3 + ... + amnxn = bm
com x1, x2, x3, …, xn ∈ ℝ+
As três características fundamentais da forma padrão estão destacadas em 
vermelho:
• A função objetivo deve ser de minimização.
• As restrições devem ser equações (igualdades) lineares.
• As variáveis de decisão devem ser não negativas.
Caso uma das três condições não seja cumprida, temos como transformar o 
problema na forma padrão. Veja na Tabela 4 como fazer tais transformações.
31
TABELA 4 - Transformações a serem feitas para a forma padrão
Característica Forma padrão Como transformar
Função objetivo de maximização A função objetivo deve ser de minimização
Maximizar uma função é o 
mesmo que minimizar seu 
negativo, ou seja, basta 
multiplicar a função objetivo 
por (-1). 
Exemplo:
max 4x1 + 3x2 + 2x3
Equivale a:
min -4x1 - 3x2 - 2x3
Restrições de ≤ As restrições devem ser igualdades (=)
Para transformar em igualda-
de, basta acrescentar uma va-
riável de folga (xk) que retrata 
quanto “falta” para atingir a 
igualdade. 
Exemplo:
8x1 - 2x2 + 5x3 ≤ 80
Equivale a:
8x1 - 2x2 + 5x3 + x4 = 80
Restrições de ≥ As restrições devem ser igualdades (=)
Para transformar em igualda-
de, basta subtrair uma variá-
vel de excesso (xk) que retrata 
quanto “sobra” para atingir a 
igualdade. 
Exemplo:
5x1 - 7x2 + 6x3 ≥ 100
Equivale a:
5x1 - 7x2 + 6x3 – x5 = 100
Variáveis irrestritas em sinal 
(pode ser negativa ou positiva)
Variáveis devem ser não 
negativas
Uma variável irrestrita deve 
ser substituída por duas 
variáveis, uma representan-
do a parte positiva e outra a 
negativa. 
Exemplo:
min 5x1 + 2x2 
s.a. x1 + x2 = 5 
com x1 ≥ 0, x2 livre
Na forma padrão, substituímos 
x2 por (x2 – x3)
min 5x1 + 2x2 – 2x3 
s.a. x1 + (x2 – x3) = 5 
com x1 ≥ 0, x2 ≥ 0 , x3 ≥ 0
Fonte: Elaboração própria (2017).
Tendo em vista a forma padrão, também podemos entender o problema 
de otimização linear como uma multiplicação de matrizes. A mesma representação que 
acabamos de ver pode ser escrita na forma matricial:
32
Chamamos o vetor (c1, c2, ..., cn) de vetor de custos; o vetor (x1, x2, ..., xn) de 
vetor de variáveis de decisão; a matriz (a11, ..., amn) de matriz tecnológica; e o vetor (b1, 
..., bm) de vetor de recursos.
Vamos voltar ao nosso exemplo do capítulo 1 para identificar esses elemen-
tos e colocar tudo na forma padrão! No caso do caminhão, vamos transformar nosso 
exemplo para a forma padrão. Veja no Quadro 1 as mudanças destacadas em vermelho.
Perceba que a função objetivo é alterada para se tornar uma função de mini-
mização. As restrições, que são todas do tipo ≤, têm uma variável de folga acrescentada 
a cada uma delas e transformadas em igualdades. Sendo assim, temos o problema na 
forma padrão.
QUADRO 1 - Transformação da forma original para a forma padrão
Forma original
max RT=140x1 + 160x2
sujeito a x1 + x2 ≤ 15
 1.200x1 + 2.400x2 ≤ 28.800
 x1 ≤ 10,5
 x2 ≤ 18
com x1, x2 ∈ ℝ+
Forma padrão
min -140x1 -160x2
s.a +x1 + x2 + x3 = 15
 1.200x1 + 2.400x2 + x4 = 28.800
 x1 + x5 = 10,5
 x2 + x6 = 18
com x1, x2, x3, x4, x5, x6 ∈ ℝ+
Fonte: Elaboração própria (2017).
33
Assim, nossos vetores da forma matricial são:
2.2 Método Simplex
Nesta seção, vamos aprender a resolver um problema qualquer de otimiza-
ção linear. Iremos continuar com o exemplo do caminhão para entendermos bem como 
o método funciona.
Vamos resumir o método nos passos que estão ilustrados no Quadro 2 e 
depois faremos cada um dos passos no nosso exemplo.
QUADRO 2 - Método Simplex
Passo 1: Coloque o problema na forma padrão.
Passo 2: Construa a forma matricial do problema.
Passo 3: Encontre uma solução básica viável e coloque o problema na forma canônica.
Passo 4:
a) verifique se a solução atual já é ótima;
b) escolha a variável não básica de menor custo para tornar-se básica;
c) escolha a variável básica de menor relação bj/aij positiva para tornar-se não básica;
d) atualize a tabela escalonando pelo método de Gauss-Jordan;
e) volte para o passo 4a até que a solução seja ótima. 
Fonte: Elaboração própria (2017).
Já fizemos os passos 1 e 2 na seção anterior, colocando nosso problema na 
forma padrão e matricial. Vamos para o passo 3: mas o que é uma solução básica vi-
ável? Sabemos que uma solução viável é aquela que atende a todas as restrições. Uma 
solução básica de um sistema com n variáveis e m equações (no nosso caso, um sistema 
de 6 variáveis com 4 equações), uma solução básica é aquela em que n – m variáveis 
são zeradas e m tem valor positivo (no nosso caso, 4 variáveis com valor positivo e 2 
zeradas. Chamamos as variáveis com valor zero de variáveis não básicas; e as variáveis 
com valores positivos de básicas.
Vamos dar um exemplo simples de solução básica viável em nosso proble-
ma: se fizermos x1 = 0 e x2 = 0, teremos nosso sistema de equações das restrições da 
seguinte forma:
34
Multiplicando as matrizes, temos:
1 x 0 + 1 x 0 + 1x3 + 0x4 + 0x5 + 0x6 = 15 ∴x3 = 15
1.200 x 0 + 2.400 x 0 + 0x3 + 1x4 + 0x5 + 0x6 = 28.800 ∴x4 = 28.800
1 x 0 + 0 x 0 + 0x3 + 0x4 + 1x5 + 0x6 = 10,5 ∴x5 = 10,5
0 x 0 + 1 x 0 + 0x3 + 0x4 + 0x5 + 1x6 = 18 ∴x6 = 18
Ou seja, nossa solução básica viável é x1=0, x2=0, x3=15, x4=28.800, 
x5=10,5 e x6=18.
Atenção
Em qualquer problema em que as restrições sejam do tipo ≤, uma solução básica viável 
simples é dar o valor zero a todas as variáveis originais do problema (nesse caso, x1 e x2). 
Repare que a solução encontrada corresponde, no método gráfico, ao pri-
meiro vértice do nosso plano de soluções viáveis (veja a Figura 11).
FIGURA 11 - Solução básica viável encontrada ilustrada no plano cartesiano
Fonte: Elaboração própria (2017).
35
Antes de realizar o passo 4, temos que lembrar que o método nos pede para 
colocar o problema na forma canônica. Para fazer isso, vamos introduzir a partir de agora 
a tabela do Simplex. Ela é formatada do seguinte modo:
Colocando em nosso problema, teremos o seguinte formato:
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha - 140 - 160 0 0 0 0 0
x3 1 1 1 0 0 0 15
x4 1.200 2.400 0 1 0 0 28.800
x5 1 0 0 0 1 0 10,5
x6 0 1 0 0 0 1 18
Na forma canônica, a linha dos custos tem que estar zerada para as variáveis 
básicas (nesse caso, x3, x4, x5 e x6). Além disso, em suas colunas correspondentes só 
pode haver o coeficiente 1 na linha correspondente e 0 nos demais. Repare que a tabela 
já se encontra na forma canônica. Exemplificamos isso com a cor verde na tabela.
Agora estamos prontos para ir para o passo 4!
No passo 4a, nosso método nos manda verificar se a solução atual já é óti-
ma. Quando a solução é ótima, todos os custos da primeira linha da Tabela do Simplex 
são positivos ou zero. Repare que temos dois coeficientes de custos negativos (-140 e 
-160). Portanto, a solução não é ótima!
No passo 4b, o método manda escolher a variável não básica de menor cus-
to para tornar-se básica. Lembre-se de que temos duas variáveis não básicas (aquelas 
que estão valendo zero na solução atual), que são x1 e x2. Lembre-se também de que o 
menor custo é aquele que é MAIS NEGATIVO. Nesse caso, o -160. Assim, a variável que 
se tornará básica será x2, pois tem o custo menor (mais negativo).
36
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha - 140 - 160 0 0 0 0 0
x3 1 1 1 0 0 0 15
x4 1.200 2.400 0 1 0 0 28.800
x5 1 0 0 0 1 0 10,5
x6 0 1 0 0 0 1 18
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha - 140 - 160 0 0 0 0 0
x3 1 1 1 0 0 0 15
x2 1.200 2.400 0 1 0 0 28.800
x5 1 0 0 0 1 0 10,5
x6 0 1 0 0 0 1 18
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha - 140 - 160 0 0 0 0 0
x3 1 1 1 0 0 0 15
x2 0.5 1 0 1 0 0 12
x5 1 0 0 0 1 0 10,5
x6 0 1 0 0 0 1 18
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha - 140 - 160 0 0 0 0 0
x3 1 1 1 0 0 0 15 15 ÷ 1 = 15
x4 1.200 2.400 0 1 0 0 28.800 28.800 ÷ 2.400 = 12
x5 1 0 0 0 1 0 10,5 10,5 ÷ 0 g∞
x6 0 1 0 0 0 1 18 18 ÷ 1 = 18
No passo 4c, o método nos pede para escolher a variável básica com a me-
nor relação bj/aij, veja a ilustração seguinte para entender o processo realizado.
Ou seja, no passo 4c pegamos o vetor de recursos atual e dividimos pela 
coluna que escolhemos no passo 4b. O menor resultado positivo (nesse caso, 12) é o 
escolhido. Importante ressaltar que resultados negativos são descartados.
Agora, vamos ter atenção com o passo mais trabalhoso do nosso método. No 
passo 4d temos que atualizar a matriz, trocando a variável que entra na base (x2) pela 
que sai da base (x4). Temos ainda que colocar a matriz na forma canônica novamente, 
utilizando o método de Gauss-Jordan.
Para fazer isso, primeiro divida toda a linha pelo pivô, que é a célula do en-
contro da linha e da coluna onde a troca ocorreu (pintada de amarelo na tabela anterior). 
Nesse caso, dividiremos a linha 3 inteira por 2.400.
37
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha -140+160x0,5 -160+160 0+0 0+160 0+0 0+0 0+12x160
x3 1-0,5 1-1 1-0 0-1 0-0 0-0 15-12
x2 0,5 1 0 1 0 0 12
x5 1 0 0 0 1 0 10,5
x6 0 – 0,5 1 – 1 0 – 0 0 – 1 0 – 0 1 – 0 18 – 12
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha –60 0 0 160 0 0 1920
x3 0,5 0 1 –1 0 0 3
x2 0,5 1 0 1 0 0 12
x5 1 0 0 0 1 0 10,5
x6 –0,5 0 0 –1 0 1 6
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha –60 0 0 160 0 0 1920
x3 0,5 0 1 –1 0 0 3 3 ÷ 0,5 = 6
x2 0,5 1 0 1 0 0 12 12 ÷ 0,5 = 24
x5 1 0 0 0 1 0 10,5 10,5 ÷ 1 = 10,5
x6 –0,5 0 0 –1 0 1 6 6 ÷ (-0,5) < 0
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha - 140 - 160 0 0 0 0 0 Somar a linha do pivô vezes 160
x3 1 1 1 0 0 0 15
Subtrair a linha do 
pivô vezes 1
x4 0,5 1 0 1 0 0 12
x5 1 0 0 0 1 0 10,5 Já está zerada
x6 0 1 0 0 0 1 18
Subtrair a linha do 
pivô vezes 1
Agora, temos que fazer todos os elementos da coluna dessa nova variável 
(x2) ficarem zerados por meio de operações de soma e multiplicação entre as linhas e a 
linha do pivô. Para isso, faremos as operações a seguir:
Veja as contas e os resultados:
Resultado (observe no destaque em amarelo que já temos a forma canônica):
Segunda rodada do Simplex: agora, temos que repetir todo esse proce-
dimento do passo 4 até que a solução seja ótima. Veja na tabela anterior, que a solução 
ainda não é ótima, porque existe um coeficiente negativo na linha dos custos (no caso, -60 
no custo da variável x1). Como é a única negativa que resta, será x1 que entrará na base.
Novamente, a escolha de quem sai será pelas divisões de bj/aij, veja na tabela.
38
O pivô, nesse caso, será o valor 0,5, que é o encontro da linha que sai com 
a coluna que entra. Dividindo a linha pelo pivô, temos:
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha –60 0 0 160 0 0 1920
x1 1 0 2 –2 0 0 6
x2 0,5 1 0 1 0 0 12
x5 1 0 0 0 1 0 10,5
x6 –0,5 0 0 –1 0 1 6
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha –60+60 0+0 0+120 160-120 0+0 0+0 1920 + 60x6
x1 1 0 2 –2 0 0 6
x2 0,5-0,5 1-0 0-1 1+1 0-0 0-0 12 - 0,5x6
x5 1-1 0-0 0-2 0+2 1-0 0-0 10,5 - 6
x6 –0,5+0,5 0+0 0+1 –1 - 1 0+0 1+06+0,5x6
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha 0 0 120 40 0 0 2.280
x1 1 0 2 –2 0 0 6
x2 0 1 –1 2 0 0 9
x5 0 0 –2 2 1 0 4,5
x6 0 0 1 –2 0 1 9
Para transformar para a forma canônica, faremos as seguintes operações:
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha –60 0 0 160 0 0 1920 Somar a linha do pivô vezes 60
x1 1 0 2 –2 0 0 6
x2 0,5 1 0 1 0 0 12
Subtrair a linha do 
pivô vezes 0,5
x5 1 0 0 0 1 0 10,5
Subtrair a linha do 
pivô vezes 1
x6 –0,5 0 0 –1 0 1 6
Somar a linha do 
pivô vezes 0,5
Veja as contas das operações:
Resultado:
Terceira rodada do Simplex: todos os coeficientes dos custos são posi-
tivos, de forma que chegamos à solução ótima. Veja que nossa solução ótima coincide 
com o que encontramos no método gráfico anteriormente, ou seja, x1 = 6 e x2 = 9.
39
Para entender o raciocínio por trás do Método Simplex, veja a Figura 12. A 
ideia do método é partir de um vértice da região viável (uma solução básica viável, que 
era a origem) e ir percorrendo os vértices até encontrar o ótimo do problema. Cada ro-
dada do Simplex corresponde a uma mudança de vértice. Observe a primeira seta, que 
sai do ponto (0, 0) e vai para o ponto (0, 12). É justamente a solução que encontramos 
após a primeira rodada do Simplex. Depois, na segunda seta, saímos de (0, 12) e vamos 
para (6, 9), que corresponde à segunda rodada do Simplex. Como a solução é ótima, 
paramos neste ponto. 
FIGURA 12 - Caminho percorrido pelo Método Simplex
Fonte: Elaboração própria (2017).
A diferença aqui é que podemos resolver problemas de quantas variáveis 
quisermos, ao contrário do método gráfico, que só se limita a duas variáveis.
2.3 Método das Duas Fases para Solução Inicial
No Método Simplex temos um passo muito importante que vimos de maneira 
muito breve: no passo 3, temos que encontrar uma solução básica viável inicial.
Quando temos um problema apenas com restrições de menor ou igual, a so-
lução inicial é bastante simples: basta atribuir o valor zero a todas as variáveis originais, 
pois sempre será uma solução viável.
Entretanto, em problemas nos quais existem restrições de maior ou igual, 
temos o problema de que essas soluções podem não ser viáveis.
Veja, por exemplo, o caso apresentado na seção “Um Segundo Exemplo de 
Fixação”. Vamos colocá-lo na forma padrão:
40
Forma original
min CT = 600x1 + 1.200x2
sujeito a 80x1 + 450x2 ≥ 1.800 
 3.520x1 + 2.200x2 ≥ 25.000
 x1 + x2 ≥ 10
com x1, x2 ∈ ℝ+
Forma padrão
min CT = 600x1 + 1.200x2
s.a 80x1 + 450x2 - x3 = 1.800 
 3.520x1 + 2.200x2 - x4 = 25.000
 x1 + x2 - x5 = 10
com x1, x2, x3, x4, x5 ∈ ℝ+
Nesse caso, se propusermos a solução x1 = 0 e x2 = 0, ela não respeitará as 
restrições. Veja, por exemplo, pela última restrição que x1 teria que ser -10, o que faria 
com que não fosse positivo.
Assim, precisamos de um método para obter uma solução básica viável ini-
cial. O método que aprenderemos aqui chama-se método das duas fases.
Sua ideia é muito simples e consiste em:
• Passo 1: acrescentar variáveis artificiais de folga em cada restrição de ≥ ou =
• Passo 2: minimizar a soma dessas variáveis artificiais.
• Passo 3: se chegar a uma solução em que a soma seja zero, você obteve 
uma solução básica viável para o problema original.
O método chama-se das duas fases porque essa seria a primeira fase do 
Simplex, para depois continuar com o método normal.
Façamos um exemplo com o problema proposto.
Passo 1: Acrescentar variáveis artificiais de folga
 80x1 + 450x2 - x3 + a1 = 1.800 
3.520x1 + 2.200x2 - x4 + a2 = 25.000
 x1 + x2 - x5 + a3 = 10
Passo 2: Minimizar a soma dessas variáveis
min a1 + a2 + a3
Colocando na Tabela do Simplex:
41
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha 0 0 0 0 0 1 1 1 0
a1 80 450 -1 0 0 1 0 0 1800
a2 3520 2200 0 -1 0 0 1 0 25.000
a3 1 1 0 0 -1 0 0 1 10
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha -3601 -2651 1 1 1 0 0 0 -26.810
a1 80 450 -1 0 0 1 0 0 1.800
a2 3520 2200 0 -1 0 0 1 0 25.000
a3 1 1 0 0 -1 0 0 1 10
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha 0 -400,375 1 -0,023 1 0 1,02 0 -1.234,7
a1 0 400 -1 0,023 0 1 -0,02 0 1.231,8
x1 1 0,625 0 -,0003 0 0 0,0003 0 7,1022
a3 0 0,375 0 0,0003 -1 0 -0,0003 1 2,898
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha 0 0 -0,001 -0,000263 1 1,001 1 0 -1,7429
x2 0 1 -0,0025 0 0 0,0025 0 0 3,0795
x1 1 0 0,00156 -000320 0 -0,00156 0,00032 0 5,1776
a3 0 0 0,0009 0,0002628 -1 -0,001 -0,000263 1 1,7429
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha 0 -400,375 1 -0,023 1 0 1,02 0 -1.234,7
a1 0 400 -1 0,023 0 1 -0,02 0 1.231,8
x1 1 0,625 0 -,0003 0 0 0,0003 0 7,1022
a3 0 0,375 0 0,0003 -1 0 -0,0003 1 2,898
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha -3601 -2651 1 1 1 0 0 0 -26.810
a1 80 450 -1 0 0 1 0 0 1.800
a2 3520 2200 0 -1 0 0 1 0 25.000
a3 1 1 0 0 -1 0 0 1 10
Colocando na forma canônica (linha da função objetivo subtraída das linhas 
1, 2 e 3):
Fazendo a primeira rodada do Simplex:
Segunda rodada do Simplex:
42
Terceira rodada do Simplex:
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha 0 0 -0,001 -0,000263 1 1,001 1 0 -1,7429
x2 0 1 -0,0025 0 0 0,0025 0 0 3,0795
x1 1 0 0,00156 -000320 0 -0,00156 0,00032 0 5,1776
a3 0 0 0,0009 0,0002628 -1 -0,001 -0,000263 1 1,7429
Básica x1 x2 x3 x4 x5 a1 a2 a3 Solução
1ª linha 0 0 0 0 0 1 1 1 0
x2 0 1 0 0 -2,67 0 0 2,67 7,7272
x1 1 0 0 0 1,67 0 0 -1,67 2,2727
x3 0 0 1 0,28 -1.066,67 -1 -0,28 1.066,7 1.859,09
Atenção
Talvez você encontre dificuldade de replicar os cálculos devidos às inúmeras casas deci-
mais do exemplo apresentado. Sugerimos que tente fazer com o auxílio de uma planilha 
eletrônica. 
Veja que não existem mais coeficientes negativos na linha dos custos da 
Tabela. Mas chegamos ao nosso objetivo: nenhuma variável artificial está mais na 
base. Isso significa que podemos utilizar como solução inicial: x1= 2,2727; x2= 7,7272; 
x3= 1.859,09.
2.4 Análise de Sensibilidade
Para finalizar nosso capítulo sobre soluções de problemas de otimização, 
vamos falar de análise de sensibilidade. Até agora, descrevemos todos os nossos 
problemas com dados coletados da realidade como se fossem um valor fixo, que não 
varia. Sabemos que, no mundo real, preços, quantidades e demandas podem variar com 
o tempo.
A análise de sensibilidade serve para obter conclusões a partir da resolução 
do problema sobre eventuais mudanças nos dados. Assim, podemos verificar como a 
solução ótima se comporta perante variações dos dados de entrada. Além disso, nos dá 
subsídios para negociar recursos e custos.
Para exemplificar nossa análise, vamos utilizar, novamente, nosso exemplo 
do caminhão. A seguir, está a última tabela da resolução do problema pelo Simplex.
43
Básica x1 x2 x3 x4 x5 x6 Solução
1ª linha 0 0 120 40 0 0 2.280
x1 1 0 2 –2 0 0 6
x2 0 1 –1 2 0 0 9
x5 0 0 –2 2 1 0 4,5
x6 0 0 1 –2 0 1 9
A linha de custos de uma solução do Simplex nos traz um vetor de custos 
modificado pelas rodadas do método. O valor abaixo de cada variável original do pro-
blema é chamado de custo reduzido (reduced cost) e o valor abaixo de cada variável 
adicionada das restrições é chamado de preço-sombra (shadow price).
Vamos analisar primeiro os preços-sombra. Na tabela anterior, verificamos 
que o preço sombra de x3 é 120, o preço-sombra de x4 é 40, enquanto o preço-sombra 
de x5 e x6 é zero (veja o vetor destacado em azul). O que isso significa?
Cada uma dessas variáveis está associada a uma restrição. Lembra-se de 
que adicionamos essa folga a cada uma das variáveis? Portanto, x3 está associada à res-trição de peso, x4 está associada à restrição de volume, x5 está associada à restrição de 
demanda de bananas e x6 está associada à restrição de demanda de lâmpadas.
Note que o preço-sombra da restrição de peso é 120. Isso significa que a 
cada tonelada a mais que eu puder carregar aumentaria o meu ótimo em R$ 120,00 (ou 
a cada tonelada a menos que eu puder carregar, ele diminuiria no mesmo valor).
Pare e Reflita
Pare e Reflita
Se um serralheiro oferecesse uma adaptação em seu baú para que ele suportasse 16 to-
neladas, qual seria seu novo ótimo? É preciso resolver tudo de novo ou podemos utilizar 
o preço-sombra? 
Olhando os preços-sombra desse problema, o que você preferiria: poder carregar 1 tone-
ladas a mais ou 1 L a mais? 
Da mesma forma, cada L a mais que o nosso caminhão puder carregar vai 
nos dar um incremento de R$ 40,00 na receita da carga. Veja como essa informação é 
útil para negociar recursos, pesquisar soluções e priorizar esforços, tudo sem ter que 
resolver o problema de novo.
44
Por que os preços-sombra das variáveis de demanda estão zerados? Eles 
estão assim porque se houvesse mais demanda, nada mudaria na formação da nossa 
carga ótima. Veja que na solução final existe uma folga de demanda de bananas de 4,5 
toneladas (x5 = 4,5 toneladas). Da mesma forma, existe uma folga de demanda de 9 to-
neladas de lâmpadas (x6 = 9 toneladas). Isso é coerente com os dados do problema, pois 
havia mais demanda do que foi usado. E é por isso que de nada adianta mais demanda!
Para analisar os custos reduzidos, vamos alterar um pouco nosso proble-
ma original. Imagine que tivéssemos um terceiro produto a ser carregado pelo nosso 
caminhão: chapas de isopor. Suponha que cada tonelada de isopor ocupe 5.000 L e nos 
dê uma receita de R$ 50,00. Suponha também que não haja restrição de demanda. Se 
resolvermos nosso novo problema pelo Simplex, teremos a seguinte tabela final:
Básica x1 x2 x3 x4 x5 x6 x7 Solução
1ª linha 0 0 153,33 120 0,1 0 0 2.280
x1 1 0 0 0 0 0 0 6
x2 0 1 0 0 0 0 0 9
x5 0 0 2 –2 0 1 0 4,5
x6 0 0 -3 1 0 0 1 9
Note que, embora tenha a nova opção, a solução ótima continua sendo a 
mesma: levar 6 toneladas de bananas e 9 toneladas de lâmpadas. Isso porque não está 
sendo compensatório levar placas de isopor. Mas, se o vendedor de isopor insistisse, por 
que preço ele passaria a ser interessante?
É essa informação que o custo reduzido nos dá! Veja que o custo reduzido 
das placas de isopor é de R$ 153,33. Isso significa que o preço do frete das placas de 
isopor teria que aumentar em R$ 153,33 para compensar levá-las. Em termos práticos, 
ao recusar a carga do isopor, se o contratante insistisse em negociar o preço, você só 
deveria aceitar o frete se o preço passasse a ser acima de 50 + 153,33 = R$ 200,33.
O custo reduzido das variáveis básicas é sempre zero, pois já está compen-
sando levá-las.
Pare e Reflita
No problema de mistura de rações, no mundo real, existem diversos produtos candidatos 
a serem misturados. O que significaria o custo-reduzido de cada alternativa? E o preço 
sombra de cada recurso?
45
Resumo
O objetivo deste capítulo era aprender um método que solucionasse qual-
quer problema de Programação Linear, com a quantidade de variáveis que quiséssemos. 
O método gráfico só nos permitia resolver até duas variáveis de decisão.
Aprendemos, então, o Método Simplex. Para utilizá-lo, temos que percorrer 
os seguintes passos:
1. Colocar o problema na forma padrão.
2. Construir a forma matricial do problema.
3. Encontrar uma solução básica viável e colocar o problema na forma canônica.
4. Rodadas do Simplex:
a. verificar se a solução atual já é ótima;
b. escolher a variável não básica de menor custo para tornar-se básica;
c. escolher a variável básica de menor relação bj/aij positiva para tornar-se 
não básica;
d. atualizar a tabela escalonando pelo método de Gauss-Jordan;
e. voltar para o passo 4a até que a solução seja ótima.
Aprendemos também que a obtenção de uma solução básica viável no passo 
3 nem sempre é simples e, para isso, temos o método das duas fases para nos auxiliar.
Por fim, verificamos como podemos utilizar as informações na Tabela final 
do Simplex para nos auxiliar a analisar o contexto dos dados coletados e suas variações.
Atividades
1. Resolva o seguinte modelo pelo Método Simplex:
max x1 + x2
sa 2x1 + x2 ≤ 48
 x1 + 2x2 ≤ 36
com x1, x2 ∈ ℝ+
2. Uma empresa de peças usinadas possui três produtos: eixos, discos de freio e man-
cais. Os eixos são vendidos a R$ 60, requerendo 8 kg de ferro, 4 horas de usinagem e 
2 horas de acabamento. Os discos de freio são vendidos a R$ 30, requerendo 6 kg de 
ferro, 2 horas de usinagem e 1,5 hora de acabamento. Já os mancais são vendidos a R$ 
20, requerendo 1 kg de ferro, 1,5 hora de usinagem e 0,5 hora de acabamento. Havendo 
48 kg de ferro, 20 horas de usinagem e 8 horas de acabamento, formule o modelo que 
maximiza a receita da empresa e resolva pelo Método Simplex.
46
Anotações
3. Resolva pelo Método Simplex:
max 2x1 - x2 + x3
sa 3x1 + x2 + x3 ≤ 60
 x1 - x2 + 2x3 ≤ 10
 x1 + x2 - x3 ≤ 20
com x1, x2, x3 ∈ℝ+
4. Resolva pelo Método Simplex, utilizando o método das duas fases para solução inicial:
max 3x1 + 2x2
sa x1 + 22 ≤ 12
 x1 + x2 ≥ 5
com x1, x2 ∈ ℝ+
5. No exercício 2, indique os custos reduzidos e os preços-sombra e interprete-os 
economicamente.
47
ProbleMas coM Variabilidade
Capítulo 3
48
Anteriormente, aprendemos a modelar e resolver problemas de Programação 
Linear. Embora a análise de sensibilidade tenha nos fornecido algumas ferramentas para 
analisar mudanças de comportamentos nos dados, no geral tratamos o mundo de maneira 
determinística, isto é, como se os dados fossem todos previamente dados e constantes.
Entretanto, sabemos que o mundo, na verdade, apresenta diversas variações. 
A demanda oscila, os fornecedores atrasam, os preços variam, as produtividades mudam 
dia a dia, enfim, existe uma infinidade de efeitos aleatórios que fazem com que nossos 
dados não sejam estáticos. Eles são, na realidade, probabilísticos, ou seja, nós sabemos 
parte do comportamento deles (média, variações comuns, etc.), mas não exatamente 
como eles são.
Para dar esse devido tratamento aos dados, a Pesquisa Operacional conta com 
diversas técnicas de modelagem que podem ser utilizadas. Neste capítulo, exploraremos 
os campos da teoria de filas e da simulação.
A primeira se dedica a analisar processos de filas, ou seja, aqueles sistemas 
em que existe uma espera associada às variabilidades de chegadas e atendimentos.
Já a simulação, de maneira bastante simples, pode ser definida como uma imi-
tação da realidade com o intuito de retratar sistemas complexos, em que temos dificuldade 
de analisar por meio de sistemas lineares ou mesmo outros frameworks típicos.
Portanto, neste capítulo, iremos nos dedicar menos à otimização e mais à ca-
racterização desses sistemas para seu entendimento.
Introdução
3.1 Teoria de Filas
Como dito anteriormente, a teoria de filas consiste de uma modelagem de 
processos em que existe uma espera associada às variabilidades de chegadas e aten-
dimentos. É fácil entender o que é uma fila, já que nós conhecemos diversas delas em 
nosso cotidiano: na padaria, no banco, no supermercado em centrais de atendimento 
telefônico, no correio ou no médico, nós somos atores de diversos processos de fila.
49
Pare e Reflita
A maior parte de nós é usuário de sistemas de filas, tendo sempre uma perspectiva nega-
tiva desses sistemas. Ao longo deste capítulo, temos que tomar a posição dos gestores das 
filas, ou seja, responsáveis por equilibrar custos adequados e um bom atendimento. 
Já que todos nós temos esse conhecimento tácito do que é uma fila, vamos 
tentar definir mais formalmente o que é o sistema com fila.
FIGURA 13 - Ilustração de um sistema com fila
Fonte: Elaboração própria (2017).
Um sistemade filas é definido pelos seguintes elementos:
• Processo de chegadas: caracteriza como é o comportamento de entrada 
de usuários no sistema, ou seja, o fluxo de novos clientes a serem atendidos. Pode ser 
caracterizado pelo tempo entre chegadas sucessivas de usuários. Por exemplo: podemos 
pensar que em um determinado banco, a taxa de chegadas de usuários é de 1 pessoa a 
cada 30 segundos.
• Processo de atendimento ou serviço: caracteriza como é o tempo de 
atendimento ao usuário, ou seja, quanto tempo cada cliente gasta sendo efetivamente 
atendido, não contando o tempo de espera em fila. Por exemplo: podemos imaginar que 
em um certo salão de beleza, um cliente é atendido a cada 2 horas em um determinado 
posto de atendimento.
• Postos de atendimento: são os locais onde os clientes são efetivamente 
servidos, ou seja, onde é feito o processo de atendimento. Existem sistemas de filas com 
postos únicos ou postos em paralelo.
• Capacidade do sistema: trata-se do número total de usuários que o 
sistema comporta, ou seja, quantas pessoas podem estar em um dado momento em 
50
atendimento ou em fila. Existem filas que podem ser consideradas infinitas, dado que 
a capacidade do sistema é muito maior do que o número de usuários que costumam 
frequentá-las. Por exemplo: a fila para comprar ingressos para um show pode ser consi-
derada infinita, já que não existe uma limitação física que impede novos clientes quando 
está muito grande.
• Disciplina da fila: é o conceito que se relaciona à forma como os usuários 
são atendidos, ou seja, a ordem como isto acontece. Em nosso cotidiano, estamos acos-
tumados com as filas FIFO (first in, first out, isto é, o primeiro que chega é o primeiro 
que sai). Sendo assim, a disciplina da fila é dada pela ordem de chegada. Embora seja 
um sistema igualitário, nem sempre é o mais eficiente para o sistema como um todo. 
Existem diversas variações dos sistemas de filas, por exemplo: as prioridades a idosos, 
ou gestantes, ou doadores de sangue. Também podemos pensar, no caso de filas de or-
dens de serviço em uma máquina, em outras disciplinas de fila, como o prazo mais curto 
(conhecido como EDD, do inglês earliest due date) ou o menor tempo de processamento 
(também conhecido como SPT, do inglês shortest processing time).
Pare e Reflita
Pense na última fila que você pegou e caracterize-a. Como são as chegadas dos clientes? 
Como é o atendimento? Como é a disciplina da fila? Quantos são os postos de atendi-
mentos? Qual a capacidade do sistema? 
3.2 Notação de Kendall-Lee
As notações são formas de universalizar a caracterização de um sistema, 
de modo que qualquer estudioso ou gerente que conheça a notação entenda como ele 
funciona. A notação mais conhecida e adotada para sistemas de filas é chamada de 
Kendall-Lee, que possui o seguinte formato:
A/B/m/C/K/N
Sendo:
A = distribuição de probabilidade do processo de chegada
B = distribuição de probabilidade do processo de atendimento
m = número de servidores em paralelo
C = disciplina da fila
K = número máximo de usuários no sistema (capacidade)
N = tamanho da população de onde provém os usuários
51
Por exemplo: uma fila M/M/1/FIFO/∞/∞, que é o estudo mais comum, sig-
nifica que o processo de chegada é uma função exponencial, o processo de saída é 
uma função exponencial também, existe apenas um servidor, o primeiro que chega é o 
primeiro a ser atendido, a capacidade do sistema é infinita e a população de possíveis 
usuários também é infinita.
3.2.1 Medidas de Desempenho em um Sistema de Filas
Ao analisar um sistema de filas, temos alguns objetivos a serem atingidos 
e, para isso, existem algumas medidas clássicas de desempenho a serem mensuradas.
As medidas de desempenho mais comuns são:
• Número médio de usuários na fila (Lq) e no sistema (L).
• Tempo médio de espera de um usuário na fila (Wq) e no sistema (W).
• Probabilidade de ter, no máximo, um número n de usuário no sistema 
(P(N≤n)).
• Probabilidade de um usuário aguardar mais do que um certo tempo t em 
fila (P(Tq > t)).
3.2.2 Um Exemplo de Modelo: M/M/1/FIFO/∞/∞
Como dito anteriormente, uma fila M/M/1/FIFO/∞/∞ é um modelo de comple-
xidade matemática razoável e que atende a diversas situações práticas a serem analisadas.
Os processos de chegada e atendimento são exponenciais (M) e caracteriza-
mos as taxas de chegada e atendimento (em termos de clientes por unidade de tempo) 
pelas letras gregas λ e μ, respectivamente.
Por exemplo: imagine um processo de filas em que chegam clientes seguin-
do uma distribuição exponencial com média de 1,28 cliente por minuto (ou seja, um 
cliente chega, em média, a cada 76,8 segundos) e o tempo de atendimento também é 
uma exponencial de média 1,6 clientes por minuto (ou seja, o cliente é atendido, em 
média, a cada 96 segundos). Nesse caso λ = 0,5 cliente/minuto e μ = 0,8 cliente/minuto.
No caso de filas desse tipo, temos algumas medidas de desempenho de fácil 
cálculo. Vamos exemplificar com os dados que acabamos de mencionar. Importante res-
saltar que tais relações somente são válidas para taxas de atendimento maiores do que 
de chegadas (caso contrário, o sistema tende a uma fila infinita):
• Taxa de ocupação ou utilização do sistema: 
52
• Número médio de clientes no sistema:
• Número médio de clientes na fila:
• Probabilidade de o sistema estar vazio:
P0 = 1 - ρ = 1 - 0,8 = 0,2 =20%
• Tempo médio de espera de qualquer cliente na fila: 
• Tempo médio de permanência no sistema:
• Probabilidade de um cliente ter que esperar por mais de 5 minutos:
P(Tq > 5) = ρe
-(μ-λ)t = 0,8e-(1,6-1,28)×5 = 0,1615 = 16,15%
• Probabilidade de haver 10 clientes no sistema:
P(N >10) = ρN = 0,810 = 0,1074 = 10,74%
Pare e Reflita
Que tal um exercício prático? Meça a média de chegadas em um consultório médico (que 
é um sistema com um único posto) e a média dos tempos de atendimento. Faça os cálculos 
anteriores e veja se correspondem à realidade. 
3.3 Noções de Simulação
Ao contrário da teoria de filas e outras técnicas de análise de sistemas pro-
babilísticos, que analisam situações que se adequam a determinadas premissas com 
fórmulas analíticas para o desempenho do sistema, a simulação é uma técnica mais 
versátil, utilizada para analisar sistemas reais de difícil modelagem.
53
Por meio da simulação, temos a oportunidade de retratar situações comple-
xas. Para fazer isso, podemos utilizar softwares específicos de simulação como ProMo-
delR e ArenaR ou mesmo utilizar linguagens de programação genéricas para programar 
as condições que queremos.
A ideia por trás da simulação é bastante simples: colocar em um sistema 
computacional as lógicas que regem um determinado fenômeno e coletar as respostas 
de como esse sistema se comportaria em tais condições.
Um exemplo de estudo computacional com simulação pode ser visto na Fi-
gura 14, retirada do artigo de Correia et al. (2012), que utilizaram a técnica para simular 
o desempenho operacional de um terminal de integração de ônibus urbanos em João 
Pessoa (PB).
FIGURA 14 - Ilustração de um diagrama de blocos para simulação
Fonte: Correia et al. (2012).
Muitos estudiosos caracterizam a simulação como um “último recurso” para 
estudar sistemas complexos, dado que existe uma complexidade de construção do mo-
delo e ele só pode ser utilizado para aquela situação específica. Por outro lado, como já 
dito, a simulação nos dá a possibilidade de estudar problemas que são impossíveis ou 
muito difíceis de serem tratados analiticamente.
3.3.1 Classificação dos Sistemas de Simulação
Os modelos de simulação podem ser classificados de acordo com diversos 
critérios.
Segundo a representação do sistema:
• Modelos estáticos: não existe a utilização da variável tempo, ou seja, o 
sistema é representado num determinado instante.
54
• Modelos dinâmicos: a evolução do tempo é importante na simulação, 
portanto esse fator é representado como uma das suas variáveis.
Segundo a caracterização do comportamento das entidades envolvidas:
• Modelos determinísticos:os valores dos dados de entrada são conhe-
cidos e determinados.
• Modelos probabilísticos: os valores dos dados de entrada são estimados 
e seguem distribuições estatísticas, com o componente de aleatoriedade associado.
Segundo a forma de tratar o tempo:
• Modelos discretos: o estado do sistema (ou seja, suas mudanças simu-
ladas) varia em instantes determinados, ou seja, de tempo em tempo. 
• Modelos contínuos: o estado do sistema pode variar continuamente, o 
tempo todo.
Observe que os sistemas vistos na teoria de filas são casos particulares da 
simulação. Por exemplo: uma fila M/M/1/FIFO/∞/∞ poderia ser retratada por um mo-
delo de simulação dinâmico, probabilístico e discreto. Seria dinâmico porque o tempo é 
importante em sua análise, pois os eventos de chegadas e atendimentos vão acontecen-
do continuamente. Seria probabilístico porque os eventos de chegadas e atendimentos 
seguem uma distribuição exponencial, com seu componente aleatório associado. E, por 
fim, seria discreto porque os eventos acontecem de tempo em tempo e o estado do sis-
tema de fila só se altera quando alguém entra ou sai do sistema.
3.3.2 Simulação Discreta ou Simulação por Eventos Discretos
A forma mais estudada e utilizada de simulação é a simulação discreta ou por 
eventos discretos, devido a sua grande aplicabilidade e versatilidade. Quando falamos 
em simulação discreta, estamos falando de modelos discretos, dinâmicos e probabilís-
ticos, seguindo a classificação da seção “Um Exemplo de Modelo: M/M/1/FIFO/∞/∞”.
Algumas definições são importantes para este tipo de caracterização:
a) Eventos: qualquer ocorrência em um determinado momento e que provo-
ca uma mudança do estado do sistema em estudo. Por exemplo: chegada de um cliente, 
atendimento de um cliente, produção de uma peça, realização de uma venda, etc.
b) Entidades: são os “personagens” do sistema simulado, ou seja, os par-
ticipantes da simulação cujas características se quer analisar. Por exemplo: em um siste-
ma de filas, as entidades são os clientes e os postos de atendimento. Em uma simulação 
de uma fábrica, as entidades podem ser as máquinas, as ordens de produção, os traba-
lhadores, o estoque de matérias-primas ou o estoque de produtos acabados.
55
c) Processos: são transformações às quais as entidades são submetidas 
ao longo da simulação. No exemplo do sistema de filas, são processos as chegadas e os 
atendimentos; no caso da fábrica, são processos a chegada de um pedido ou a fabrica-
ção de uma ordem.
d) Variáveis de estado: são características ou atributos das entidades que 
são importantes de se medir ou registrar para verificar como evolui a simulação. Por 
exemplo: em um sistema de filas, são variáveis de estado se o posto de atendimento 
está vazio ou ocupado, a quantidade de clientes na fila, o tempo de atendimento de 
cada cliente. Já na simulação de uma fábrica, são variáveis de estado se a máquina está 
ocupada ou vazia, quantas ordens estão esperando para ser fabricadas, quanto há de 
matéria-prima no estoque, quanto há estocado dos produtos vendidos, etc.
3.3.3 Passos de um Estudo de Simulação
Não existe um método fechado e pronto para construir um sistema de si-
mulação. Entretanto, vamos propor aqui uma sequência de passos lógicos para ajudar a 
construir o raciocínio associado a um estudo desse tipo.
FIGURA 15 - Ilustração de um diagrama de blocos para simulação
Fonte: Elaboração própria (2017).
56
Passo 1: Entender o objeto de estudo e todas as suas entidades, 
estados possíveis e regras lógicas
Aqui é importante formularmos muito bem o problema que queremos ana-
lisar, bem como nossos objetivos com a simulação. Importante listar as respostas que 
esperamos alcançar, os critérios de avaliação do sistema, como cada entidade e cada 
processo funcionam e quais são as limitações do nosso modelo.
Passo 2: Coletar dados sobre o objeto de estudo
Por meio da observação, experiência e apontamentos/dados históricos, é 
possível verificar o padrão de funcionamento das entidades e dos processos do nosso 
sistema. Por exemplo: podemos cronometrar o tempo de produção de uma máquina 
para encontrar o tempo médio, o tempo máximo e o tempo mínimo de processamento 
das peças ali. É importante também coletar as informações de como o sistema se com-
porta de acordo com suas variáveis de estado. Por exemplo: se um posto de atendimen-
to finaliza um cliente, somente entrará um novo cliente se houver 1 ou mais esperando 
na fila (que é uma variável de estado). Também é essencial coletar dados de custos de 
cada um dos processos e das entidades, pois, no final do modelo feito, é possível com-
parar diversas formas diferentes de se trabalhar.
Passo 3: Criar um modelo que represente a realidade e testar com 
exemplos simples
O modelo, neste caso, é a representação gráfica das interações entre en-
tidades, eventos, processos e variáveis de estado. Podem ser utilizados fluxogramas, 
algoritmos ou qualquer representação lógica que permita o entendimento para posterior 
codificação computacional. Via de regra, inicia-se com um modelo bastante simplificado 
para posterior detalhamento. É sempre muito interessante tentar fazer um exemplo sim-
ples, talvez até mesmo manualmente, para ter certeza de que as relações lógicas estão 
todas contempladas. Aqui é importante definir se o modelo é discreto ou contínuo, está-
tico ou dinâmico, probabilístico ou determinístico.
Passo 4: Construir uma representação computacional do modelo
Para utilizar a técnica de simulação, é preciso codificar o modelo em uma 
linguagem apropriada. Como já dito, existem pacotes prontos dedicados à simulação, e 
existe também a possibilidade de codificar em uma linguagem de programação genérica.
Passo 5: Testar o modelo computacional com os mesmos exemplos 
simples e verificar se a representação é válida com as premissas delimitadas
Basta validar com parâmetros de entrada bastante simples se os resultados 
lógicos esperados estão ocorrendo. É interessante também testar situações extremas 
para verificar se o código está tratando todas as possibilidades.
57
Passo 6: Planejar os cenários a serem analisados com os modelos
O conjunto de experimentos a ser analisado deve ser feito de acordo com 
os fatores (dados de entrada) que se quer testar, quais os valores a serem analisados e 
quais as respostas esperadas.
Passo 7: Rodar o modelo de simulação para coletar os dados
Passo 8: Analisar os resultados e utilizar como suporte para a to-
mada de decisão
Com os resultados em mãos, é possível fazer inferências sobre o sistema es-
tudado e a melhor forma de agir com ele. Quando se trata de um modelo probabilístico, 
é interessante obter a média e o desvio dos resultados também para analisar o risco de 
cada alternativa.
3.3.4 Um Exemplo: Simulando uma Linha de Montagem
Um sistema complexo suficiente para ser simulado pode ser um processo de 
produção em linha, como uma linha de montagem com diversas estações.
Vamos planejar um modelo de simulação para um exemplo com três má-
quinas que fazem processos sucessivos: A, B e C. As matérias-primas (peças a serem 
montadas) todas entram na estação A e são pré-montadas; na estação B é feito o aperto 
dos encaixes; e na estação C são feitos os testes em uma máquina que opera com duas 
unidades de cada vez. A estação A começa um novo produto sempre que uma unidade 
do estoque final é retirada (vendida), ou seja, trabalha-se em programação puxada.
• Entidades: máquinas A, B e C, matérias-primas, produtos finais, fila de A, 
fila de B e fila de C.
• Eventos: retirada de produto em estoque, entrada na fila A; processamen-
to em A, entrada na fila B; processamento em B, entrada na fila C, processamento em C.
• Processos: processamento em A, B e C.
• Variáveis de estado: quantidade de matérias-primas, quantidade em 
estoque final, quantidade na fila de A, B e C; preenchimento das filas A, B e C.
FIGURA 16 - Ilustração conceitual do processo
Fonte: Elaboração própria (2017).
58
Coleta de dados:
• Verificar a médiado tempo entre retiradas do estoque de PA.
• Média do tempo de processamento em A, B e C.
• Demais processos: consequências dos quatro listados anteriormente:
	 • matéria-prima sai do estoque quando ocorre uma retirada do estoque 
de produto acabado e vai para a fila de A;
 • ordem espera na fila de A até que a máquina A esteja vazia;
 • ordem vai para a fila de B quando termina o processamento em A;
 • ordem espera na fila B até que a máquina B esteja vazia;
 • ordem vai para a fila de C quando termina o processamento em B;
 • ordem espera na fila C até que a máquina C esteja vazia e exista outra 
ordem para ser feita conjuntamente;
 • estoque de produto acabado aumenta assim que termina o processa-
mento em C.
Plano experimental:
• Testar a quantidade média em estoque, o tempo de espera dos clientes e 
a quantidade média de matérias-primas para:
 • 1 máquina A, 1 máquina B e 1 máquina C;
 • 2 máquinas A, 1 máquina B e 1 máquina C;
 • 1 máquina A, 2 máquinas B e 1 máquina C;
 • 1 máquina A, 1 máquina B e 2 máquinas C;
 • 2 máquinas A, 2 máquinas B e 1 máquina C;
 • 2 máquinas A, 1 máquina B e 2 máquinas C;
 • 1 máquina A, 2 máquinas B e 2 máquinas C;
 • 2 máquinas A, 2 máquinas B e 2 máquinas C;
 • com um aumento de demanda de 20%;
 • com a diminuição de demanda de 25%.
Resumo
Neste capítulo, vimos algumas das técnicas possíveis para lidar com proble-
ma probabilísticos: teoria de filas e simulação.
Teoria de filas são aplicadas a problemas em que haja formação de espera 
para um atendimento. Vimos que são elementos importantes das filas: processos de 
chegadas; processo de atendimento ou serviço; número de postos de atendimento; ca-
pacidade do sistema e disciplina da fila.
Verificamos que esses parâmetros são utilizados na notação de Kendall-Lee 
para unificar a caracterização de uma fila. Também foram passadas algumas medidas de 
desempenho típicas dos sistemas de filas, como número médio de usuários na fila (Lq) 
59
e no sistema (L); tempo médio de espera de um usuário na fila (Wq) e no sistema (W); 
probabilidade de um dado número de usuários; e probabilidade de um usuário aguardar 
mais do que um certo tempo.
Foi mostrado que existem casos especiais, como a fila M/M/1/FIFO/∞/∞, em 
que há soluções analíticas simples para essas medidas de desempenho.
Já a simulação é uma técnica mais versátil, utilizada para analisar sistemas 
reais de difícil modelagem. Vimos como classificar os modelos de simulação (estáticos x 
dinâmicos; determinísticos x probabilísticos; discretos x contínuos). Além disso, elenca-
mos quais os elementos importantes em um modelo de simulação: eventos, entidades, 
processos e variáveis de estado.
Por fim, descrevemos os passos típicos de um projeto de simulação.
Atividades
1. Explique cada um dos termos da notação de Kendall-Lee no exemplo de uma fila 
M/M/1/FIFO/∞/∞.
2. Em uma fila M/M/1/FIFO/∞/∞ , com taxa de chegada de 1 cliente por minuto e de 
atendimento de 1,5 cliente por minuto, calcule a taxa de ocupação do sistema, o número 
médio de clientes no sistema e o número médio de clientes na fila.
3. Ainda no exemplo anterior, calcule a probabilidade do sistema estar vazio; e a proba-
bilidade de um cliente ter que esperar mais do que 2 minutos.
4. Ainda no exemplo anterior, calcule o tempo médio de permanência de um cliente na 
fila e no sistema.
5. Explique as classificações de um modelo de simulação segundo sua representação, a 
caracterização do comportamento das entidades envolvidas e a forma de tratar o tempo.
60
Referências
ANDRADE, E. L. de. Introdução à Pesquisa Operacional: métodos e modelos para 
a análise de decisão. 2. ed. Rio de Janeiro: LTC, 2000. 
ARENALES, M.; ARMENTANO, V.; MORABITO, R.; YANASSE, H. Pesquisa Operacional 
para Cursos de Engenharia. Rio de Janeiro: Elsevier, 2015.
CORRAR, L. J.; THEÓPHILO, C. R. Pesquisa Operacional para Decisão em Conta-
bilidade e Administração. São Paulo: Atlas, 2004. 
CORREIA, R. R. et al. Simulação do fluxo de ônibus no terminal de integração do 
Varadouro: um estudo computacional. In: ENCONTRO NACIONAL DE ENGENHARIA 
DE PRODUÇÃO (ENEGEP), XXXII, 2012, Bento Gonçalves. Anais... Bento Gonçalves: 
ABEPRO, 2012. p. 02-12.
FOGLIATTI, M. C.; MATTOS, N. M. C. Teoria de Filas. Rio de Janeiro: Interciência, 2007.
HILLIER, F. S.; LIEBERMAN, G. J.; LEMOS, H. L. Introdução à Pesquisa Operacional. 
São Paulo: Campus, 1988. 
LACHTERMACHER, G. Pesquisa Operacional na Tomada de Decisões. 4. ed. São 
Paulo: Pearson Prentice Hall, 2009. 
LOESCH, C.; HEIN, N. Pesquisa Operacional: fundamentos e modelos. São Paulo: 
Saraiva, 2008. 
MOREIRA, D. A. Pesquisa Operacional: curso introdutório. São Paulo: Thomson, 2006. 
MUROLO, A. C. et al. Pesquisa Operacional para os Cursos de Economia, Admi-
nistração e Ciências Contábeis. 3. ed. São Paulo: Atlas, 1998. 
PINTO, K. C. R. Aprendendo a Decidir com a Pesquisa Operacional. Minas Gerais: 
Edufu, 2005. 
 
	Capa Pesquisa Operacional
	Branco
	Pesquisa Operacional
	Branco
	contra_capa

Mais conteúdos dessa disciplina