Você está na página 1de 474

APRESENTAÇÃO DO CURSO

Seja bem-vindo ao meu curso de Pesquisa Operacional!

Antes de tudo, deixe eu me apresentar. Meu nome é Alexander Cascardo Carneiro, sou
formado em Engenharia de Telecomunicações pela Universidade Federal Fluminense
(UFF), Mestre em Sistemas de Comunicações Óticas e Doutor em Ótica Aplicada
também pela UFF. Leciono em disciplinas do curso de Administração e Engenharia de
Produção na Universidade Salgado de Oliveira (UNIVERSO) há alguns anos, tanto em
aulas presenciais quanto no ensino à distância. Já atuei em diversos projetos, como nos
Sistemas de Operações para Telecomunicações e Redes, Sistemas de Operações para
Redes Elétricas Inteligentes (smart grid), Sistemas de Operações para o Monitoramento
de Estruturas Inteligentes (smart structures) e Sistemas de Operações para Automação
Industrial e Agrícola.

Nesse curso, preparei um conjunto de aulas sobre Pesquisa Operacional, incluindo os


principais assuntos, como: Programação Linear, Método Simplex, Dualidade, Análise de
Sensibilidade, Problemas de Transporte e Designação, Cadeias de Markov, Teoria das
Filas, Análise de Decisão, Teoria dos Jogos e Otimização em Redes. Cada um desses
assuntos foram construídos por meio de aulas de conteúdo e de questões, além desta
apostila. É importante ressaltar que as aulas de conteúdo abordam tanto a teoria quanto
a prática permitindo a compreensão desses conceitos em problemas reais. Já as questões
foram selecionadas de forma a propiciar um aprendizado aplicado, e que também seja
útil em sua preparação para concursos públicos.

Estou à disposição para sanar qualquer dúvida.

Aproveite ao máximo esse material e bons estudos!

1
SUMÁRIO

CAPÍTULO 1 – PROGRAMAÇÃO LINEAR (PG. 4)


1-Introdução à Pesquisa Operacional
2-Modelagem Matemática
3-Modelagem com Programação Linear

CAPÍTULO 2 – MÉTODO SIMPLEX E DUALIDADE (PG. 60)


1-Método Simplex
2-Dualidade
3-Análise de Sensibilidade

CAPÍTULO 3 – PROBLEMAS DE TRANSPORTE E DE DESIGNAÇÃO (PG. 132)


1-Problema de Transporte
2-Problema de Designação

CAPÍTULO 4 – CADEIAS DE MARKOV (PG. 177)


1-Processos Estocásticos
2-Processos Markovianos
3-Propriedades das Cadeias de Markov

CAPÍTULO 5 – TEORIA DAS FILAS (PG. 226)


1-Estrutura Básica de um Sistema de Filas
2-Modelos de Nascimento e Morte Puros
3-Modelos Generalizados de Filas

2
CAPÍTULO 6 – ANÁLISE DE DECISÃO E TEORIA DOS JOGOS (PG. 306)
1-Tomada de Decisão sob Certeza
2-Tomada de Decisão sob Risco
3-Tomada de Decisão sob Incerteza
4-Teoria dos Jogos

CAPÍTULO 7 – OTIMIZAÇÃO EM REDES (PG. 388)


1-Problemas de Otimização em Redes
2-Problema do Caminho Mínimo
3-Problema do Fluxo Máximo
4-PERT/CPM

3
CAPÍTULO 1 – PROGRAMAÇÃO LINEAR

1-Introdução à Pesquisa Operacional


2-Modelagem Matemática
3-Modelagem com Programação Linear

Prof. Dr. Alexander Cascardo Carneiro

Comentários do professor
Caros alunos, nesse capítulo inicial do nosso curso de Pesquisa Operacional
faremos uma análise do contexto sócio histórico que propiciou o seu surgimento. A partir
daí poderemos entender melhor o seu conceito e o seu objeto de estudo. Além disso, será
explicado como a Pesquisa Operacional pode ser utilizada como ferramenta na tomada
de decisão. Finalmente, será apresentada a modelagem de problemas por Programação
Linear e uma forma de solução através do método gráfico.

4
AULA 1 – INTRODUÇÃO À
PESQUISA OPERACIONAL

A história da Pesquisa Operacional

Desde a Revolução Industrial, as organizações estão em crescimento tanto de


tamanho quanto de complexidade. As oficinas de artesões se tornaram grandes
corporações bilionárias. A divisão do trabalho e a especialização da mão de obra
permitiram o crescimento dessas organizações.

Entretanto, essa crescente especialização criou problemas, como a tendência de


as diversas unidades organizacionais atuarem em “ilhas” relativamente autônomas
sobre seus objetivos próprios. É importante observar que o alcance dos objetivos de cada
unidade da organização não garantirá o alcance do objetivo da organização como um
todo. O motivo disso é que o melhor para uma unidade frequentemente é prejudicial a
outra unidade, ou seja, as unidades acabam trabalhando com objetivos conflitantes.

É fato que conforme a complexidade e a especialização aumentam, torna-se cada


vez mais difícil alocar os recursos disponíveis (que são limitados) para as diversas
atividades (ou unidades) da maneira mais eficiente para a organização como um todo.
Esse tipo de problema e a necessidade de encontrar a melhor solução (solução ótima)
criaram as condições para o surgimento da Pesquisa Operacional (PO).

A Pesquisa Operacional moderna teve origem na Estação de Pesquisa Bawdsey


no Reino Unido em 1937 e foi o resultado de uma iniciativa do superintendente da
estação, AP Rowe. Rowe criou um meio para analisar e melhorar o funcionamento do
sistema de radar de alerta, nos seus primórdios, no Reino Unido, Chain Home (CH).
Inicialmente, ele analisou o funcionamento do equipamento de radar e de suas redes de
comunicação, expandindo posteriormente para incluir o comportamento do pessoal de
operação. Isso revelou limitações não reconhecidas da rede CH e permitiu medidas
corretivas a serem tomadas.
5
O termo “pesquisa operacional” foi utilizado pela primeira vez durante a Segunda
Guerra Mundial. A Pesquisa Operacional foi fundamental para o dimensionamento do
número de navios mercantes dos aliados, que formavam comboios e atravessavam,
escoltados por navios de guerra, o Atlântico Norte. Logo, as primeiras aplicações da
Pesquisa Operacional foram militares.

Por conta do esforço requerido pela guerra na alocação de recursos escassos às


várias operações militares e às atividades dentro de cada operação de uma maneira
efetiva, várias seções de pesquisa operacional foram estabelecidas nas forças armadas
britânicas. Muitos cientistas foram reunidos para aplicar uma abordagem científica a
problemas estratégicos e táticos. Esses cientistas foram chamados a realizar “pesquisas
operacionais militares” ou “pesquisas sobre operações militares”, daí vem o nome.

Logo depois, esforços similares foram empreendidos nos Estados Unidos,


recebendo diferentes denominações: análise de operações, pesquisa de operações,
análise de sistemas, avaliação de sistemas, pesquisa de sistemas e ciência de
administração. Todos os termos remetem a uma aplicação dos métodos científicos para
a solução de problemas operacionais. O termo mais popular era “pesquisa operacional”.
Um passo natural tomado foi estender o sucesso da Pesquisa Operacional nos
esforços de guerra para as organizações civis. A indústria pós-guerra havia crescido
muito e se deparava com os problemas causados pela crescente complexidade das
organizações. Vale lembrar que após a guerra houve inúmeros movimentos para a
reconstrução dos países arrasados. Os problemas que apareceram durante a guerra e a
complexidade das organizações na reconstrução dos países eram muito semelhantes,
porém em um contexto diferente.

Em 1948, o Massachusetts Institute of Tecnology (MIT) instituiu o primeiro


programa formal de estudos em Pesquisa Operacional para campos não militares. A
“idade de ouro” da PO vai de 1945 até meados da década de 1970, devida à rápida
expansão. Dois fatores foram cruciais para o crescimento da PO naquele período. O
primeiro foi o avanço na melhoria nas técnicas de PO e na formulação dos problemas -
Ex. o método simplex para resolver problemas de programação linear. O segundo foi a
popularização dos computadores.

6
Os impactos da Pesquisa Operacional

A Pesquisa Operacional consiste em um conjunto de técnicas quantitativas


aplicadas às áreas de administração, planejamento, organização, produção, logística,
etc. Alguns exemplos de aplicações são: balanceamento de linhas de produção, fluxo
ótimo de pacientes em hospitais, e até mesmo o estudo de estruturas sociais.

A Pesquisa Operacional (PO) é então uma ciência aplicada com o objetivo de


melhorar a performance das organizações. É importante ressaltar que os sistemas
produtivos estão limitados aos seus recursos materiais, humanos, financeiros e
ambientais (chamados de “meios de produção”). A PO deve obter a formulação de
modelos matemáticos, que serão resolvidos com o auxílio de computadores. Em seguida,
essas soluções serão analisadas (validadas) e implementadas.

A PO é bastante abrangente em termos de aplicações, uma vez que qualquer


organização buscará otimizar suas operações (seja para maximizar lucros e/ou reduzir
custos). Algumas das funções organizacionais que fazem uso da PO são: compras,
vendas, finanças, logística, marketing, produção e recursos humanos. Alguns setores
industriais que utilizam a PO são: agronegócios, bancos, petróleo, telecomunicações,
transporte, etc.

Por ser um campo muito amplo em termos científicos, a PO possui diversas


definições, algumas das quais estão descritas a seguir:

 Propõe uma abordagem científica na solução de problemas: observação,


formulação do problema, e construção de modelo científico, seja ele analítico ou
numérico (também chamado de modelo computacional ou de simulação).
 É a modelagem e tomada de decisão em sistemas reais, determinísticos ou
probabilísticos, relativos à necessidade de alocação de recursos escassos.

A PO pode ser entendida como uma ciência aplicada que utiliza técnicas
científicas conhecidas (ou as desenvolve quando necessário), tendo como ponto de
referência a aplicação do método científico.

7
Assim, os principais aspectos da PO podem ser resumidos em:

 Possui um amplo espectro de utilização, no governo e suas agências, indústrias e


empresas comerciais e de serviço;
 É aplicada a problemas associados à condução e a coordenação de operações ou
atividades numa organização;
 Adota um enfoque sistêmico para os problemas;
 Busca a solução “ótima” para o problema;
 Usa uma metodologia de trabalho em equipe (engenharia, computação, economia,
estatística, administração, matemática, ciências comportamentais).

Hoje se constata que, embora as técnicas da PO já estejam bastante divulgadas


no meio acadêmico, nas empresas ainda há várias restrições ao conhecimento e domínio
desse ferramental. A falta de tradição no uso de técnicas sofisticadas no mundo
empresarial brasileiro, aliada a dificuldades de comunicação com as universidades,
fazem com que o uso da PO por empresas esteja bem aquém do que seria desejável.

Nas universidades a tendência é uma diversificação de áreas de aplicação.


Existem trabalhos envolvendo problemas determinísticos e probabilísticos; além de
desenvolvimentos importantes sobre a teoria da decisão, teoria das filas, programação
linear, otimização em redes, e de métodos computacionais aplicados à Logística e o
Gerenciamento da Cadeia de Suprimentos (Supply Chain Management).

A esta diversificação se alia um crescente intercâmbio da universidade com a


empresa, na forma de assessoria e participação em projetos. Com isso, a PO vem tendo
um impacto crescente na administração das empresas, aumentando o número e a
variedade de suas aplicações.

Alguns dos principais assuntos a serem tratados nesse curso e suas respectivas
áreas de aplicação estão indicados a seguir:

 Programação Linear: mix de produção, mistura de matérias-primas, modelos de


equilíbrio econômico, carteiras de investimentos, roteamento de veículos.
 Teoria das Filas: congestionamento de tráfego, operações de hospitais,
dimensionamento de equipes de serviço.
 Otimização em Redes: rotas econômicas de transporte, distribuição e transporte
de bens, monitoramento de projetos.

8
AULA 2 – MODELAGEM
MATEMÁTICA

Modelos de Pesquisa Operacional

Os modelos de Pesquisa Operacional assumem a forma de uma ou mais equações


ou inequações contendo variáveis, dentro de certos limites, que irão traduzir
(representar) alguma situação. Esse conjunto de equações constitui um modelo para
representar o sistema real.

O objetivo da modelagem é a otimização, ou seja, minimizar ou maximizar uma


quantidade (chamada de objetivo), seja ela lucro, receita, custo, número de produtos,
entre outros. Essa função objetivo depende de variáveis que em geral são limitadas (por
exemplo, matérias-primas escassas). Logo, a função objetivo está sujeita a uma ou mais
restrições.

A modelagem pode ser entendida então como um problema de tomada de decisão


cuja solução requer a resposta às seguintes perguntas:

1. Quais são as variáveis de decisão (ou alternativas) envolvidas no problema?


2. Sob quais restrições a decisão será tomada?
3. Qual é o critério objetivo para avaliar essas alternativas?

As respostas a essas perguntas conduzem à criação do modelo de Pesquisa


Operacional para essa situação.

9
A solução de um problema pode então ser extraída de um modelo, seja por meio
de experimentação (modelos numéricos), seja mediante análise matemática (modelos
analíticos).

 Desde que as restrições não sejam numerosas e as funções (equações e/ou


inequações) contenham relações algébricas elementares, a matemática clássica
será adequada para solucionar esse problema de otimização (isto é, determinar
os melhores valores para as variáveis).
 Por outro lado, se as restrições forem numerosas e/ou as funções sejam
complicadas, a modelagem numérica (também chamada de modelagem
computacional) será mais adequada.

Uma frase muito conhecida no meio da modelagem é: “Os modelos analíticos


trazem uma solução exata para uma situação ideal, enquanto os modelos numéricos
(computacionais) trazem uma solução aproximada para o caso real”. Essa afirmativa
expõe as limitações dos modelos analíticos, os quais só podem ser solucionados em
alguns casos.

É importante ressaltar que o modelo (analítico ou numérico) deve ser testado


(aferido e validado) comparando-se as soluções encontradas pelo modelo com as soluções
reais (do “mundo real considerado”). Após a comprovação, o modelo pode ser então
utilizado, e os seus resultados implantados.

Assim, a pesquisa operacional busca a construção de modelos para representação


do sistema e do seu comportamento. Além disso, baseado no que foi dito anteriormente,
um modelo geral de PO deve:

Maximizar ou minimizar a função objetivo

Sujeito a restrições

10
Algumas das técnicas mais conhecidas pela PO para a solução de problemas são:

 Programação linear: é aplicada a modelos cujas funções objetivo e restrições são


lineares.
 Programação não linear: é aplicada a modelos cujas funções objetivo e restrições
são não lineares.
 Programação inteira: é aplicada a modelos na qual as variáveis assumem valores
inteiros.
 Otimização em redes: na qual o problema pode ser modelado como uma rede.

Deve-se ressaltar que os modelos de filas tratam do estudo de filas de espera, ou


seja, não são técnicas de otimização. Em vez disso, esses modelos determinam medidas
de desempenho de filas de espera, como tempo médio de espera, tempo médio de
atendimento (tempo médio para conclusão do serviço) e utilização da instalação de
serviços (percentual de ocupação dos atendentes).

Outra observação importante é que a maior parte das técnicas de otimização de


PO não obtém as soluções de forma fechada (por exemplo, usando fórmulas). Na verdade,
as soluções são determinadas por algoritmos. Um algoritmo fornece regras de cálculos a
serem aplicadas repetidas vezes ao problema, sendo que em cada repetição (denominada
iteração), a solução fica mais próxima de se tornar ótima.

Como os cálculos associados a cada iteração costumam ser volumosos, é


imperativo que esses algoritmos sejam executados por computadores. Ainda assim, para
um melhor entendimento desses modelos e dos seus respectivos algoritmos, os cálculos
serão aqui resolvidos de forma manual.

11
Fases para a construção de um modelo

É possível subdividir a resolução de um problema pela PO em cinco fases:

1. Formulação do Problema.
2. Construção do Modelo.
3. Obtenção da Solução.
4. Teste do Modelo e da Solução Obtida.
5. Implementação da Solução.

Essas fases podem ser visualizadas na figura a seguir.

Formulação do Problema:

Nessa fase os gerentes do projeto deverão discutir o problema da forma mais clara
e coerente possível, além de definir o escopo do projeto, os objetivos a serem alcançados
e quais são os possíveis caminhos a se seguir.

Além disso, devem ser levantadas as limitações técnicas e também as relações


deste sistema com os demais sistemas da empresa ou do ambiente externo (como
clientes, fornecedores, proprietários, funcionários e governos).

Nessa fase, as equipes de PO investem uma grande quantidade de tempo na


coleta dos dados sobre o problema, para se obter um entendimento preciso sobre o
problema e para se fornecer a entrada para o modelo matemático.

12
É importante observar que os problemas reais surgem de forma vaga e imprecisa.
Isso exige dos analistas de PO uma grande capacidade de assimilar e sistematizar as
situações reais. Para se formular um problema é necessário que o mesmo seja bem
identificado.

Com isso, as seguintes informações básicas se tornam necessárias para a


formulação do problema:

 Quem tomará as decisões? Definição da equipe de PO.


 Quais são os seus objetivos? Definição das métricas (medidas).
 Que aspectos estão sujeitos ao controle de quem decide (variáveis de decisão) e
quais as limitações a que estão sujeitas essas variáveis (restrições)? Definições
das variáveis e das restrições.
 Quais os aspectos que estão envolvidos no processo e que fogem ao controle de
quem decide? Definição das variáveis não controladas e das variáveis que são
dificilmente quantificáveis.

Em razão de sua natureza, a PO se preocupa com o bem-estar de toda a


organização e não apenas com certos membros. Para tanto um estudo de PO deve buscar
soluções que sejam ótimas para a organização como um todo (no lugar de soluções
subotimizadas para apenas alguns membros).

Uma vez formulado o problema, a etapa seguinte é a construção do modelo.

Construção do Modelo:

Modelos são representações da realidade. A qualidade de um modelo depende da


criatividade da equipe de PO, requerendo uma certa dose de abstração. A utilização de
modelos possui duas importantes características:

 Permite a análise do problema modelado, indicando quais são as relações


importantes entre as variáveis, quais os dados relevantes, e quais são as variáveis
de maior importância.
 Possibilita a tentativa de várias alternativas de ação sem interromper (ou
comprometer) o funcionamento do sistema em estudo.

13
Um modelo matemático de um problema real é a sua representação através de
expressões matemáticas, que descrevem a essência do problema. Algumas
características desse modelo são:

 Se existirem n decisões quantificáveis, elas serão representadas por n variáveis


de decisão (ou variáveis de controle).
 As relações e limitações a que estão sujeitas as variáveis de decisão são expressas
por meio de equações e inequações, denominadas restrições.
 O objetivo que se pretende atingir é formulado como uma função (ou mais de
uma), colocada em termos das variáveis de decisão, denominada função objetivo.
 As constantes (os coeficientes ligados às variáveis de decisão e os valores nos lados
direitos das equações/inequações) nas restrições e na função objetivo são
denominadas parâmetros.

A eficiência do modelo é medida pela função objetivo, que pode ser de


maximização ou de minimização. Por exemplo, maximizar o lucro ou minimizar o custo.
Quanto mais próximo o valor obtido na função objetivo estiver da solução ótima, melhor
será a eficiência do modelo.

A construção da função objetivo é portanto uma etapa crucial na formulação de


um modelo de PO. Ela requer o desenvolvimento de uma medida quantitativa de
desempenho para cada um dos objetivos finais do tomador de decisões (esses objetivos
foram identificados na fase de Formulação do Problema). Quando há múltiplos objetivos,
suas respectivas medidas são normalmente transformadas e combinadas em uma
medida composta, denominada medida de desempenho global, como o lucro ou os custos.

Vale ressaltar que não necessariamente deva existir um único modelo “correto”
para um problema real. A partir do teste do modelo (que ocorre na fase de Teste do
Modelo e da Solução Obtida) criam-se novos modelos, os quais fornecem representações
cada vez melhores do problema (cada vez mais próxima da realidade). É possível ainda
que dois ou mais tipos complementares (e diferentes) de modelos sejam desenvolvidos (e
utilizados) na análise de um mesmo problema.

14
Obtenção da Solução:

Uma vez construído o modelo matemático parte-se para a obtenção de uma


solução. Diversos são os métodos matemáticos utilizados, associados às várias áreas que
compõe a PO, como a Programação Linear, a Otimização em Redes e a Teoria das Filas.

É importante observar que existem variáveis controladas e não controladas:

 Variáveis controladas (ou de controle ou de decisão): são aquelas cujo valor está
sob o controle do administrador. Cabe a ele decidir um particular valor a cada
uma dessas variáveis. Os valores das variáveis de decisão que maximizem (ou
minimizem) a função objetivo é chamada de “solução ótima”. Em uma
programação da produção, uma possível variável a ser controlada é a quantidade
a ser produzida de certo produto em um período de tempo.
 Variáveis não controladas: são aquelas cujos valores são arbitrados por sistemas
fora do controle do administrador. Por exemplo, custos de produtos ou insumos,
demanda de produtos e preços de mercado.

Os métodos matemáticos (sejam analíticos ou numéricos) para solução de modelos


encontram-se em crescente evolução, surgindo adaptações deles além de a descoberta de
novas técnicas. Existem diversos softwares que disponibilizam alguns métodos de
Pesquisa Operacional, tornando viável e eficiente a solução de problemas complexos
(como o Solver do Excel e o Arena da Paragon).

É então nessa fase que se utilizam os algoritmos (ou seja, procedimentos de


solução sistemáticos), normalmente executados pelos softwares computacionais, para se
buscar a solução do modelo. Deve-se ressaltar que na PO é comum buscar-se a solução
ótima, a qual representa a “melhor solução possível”.

Entretanto, é importante reconhecer que essa solução ótima é apenas em relação


ao modelo que está sendo utilizado. Visto que o modelo é necessariamente idealizado e
não uma representação exata do problema real, não existe uma garantia de que a
solução ótima para o modelo será a melhor solução possível a ser implementada no
sistema real. E é por isso que existe a fase de Teste do Modelo e da Solução obtida, trada
a seguir.

15
Teste do Modelo e da Solução Obtida:

Dada a complexidade dos problemas, e a dificuldade de comunicação e


compreensão de todos os aspectos, a equipe de analistas de PO pode obter (ou
interpretar) de forma errônea alguns fatores, o que pode acarretar uma distorção na
elaboração do modelo. Essa distorção levará a soluções que não se ajustarão à realidade.
Por conta disso, o modelo precisa ser testado.

Deve-se destacar que o bom modelo é aquele que tem um desempenho que mais
se aproxima da realidade. O modelo deve ser frequentemente testado, comparando-o
com os resultados reais a fim de se chegar o mais próximo possível dessa realidade. O
processo de teste e aperfeiçoamento de um modelo para aumentar a sua validade é
denominado validação do modelo.

Em alguns casos o modelo pode ser testado através da reconstrução do passado


(uso de dados históricos), verificando-se a adequação do modelo às informações
disponíveis (chamado de teste de retrospectiva). Em cada situação específica pode ser
definida uma sistemática para testar o modelo e sua solução. O importante é que se a
solução for usada repetidamente o modelo deve continuar a ser testado.

A fase de teste pode indicar deficiências exigindo correções do modelo, seja pelo
refinamento de algum aspecto, ou pela consideração de algum aspecto omitido ou ainda
permitir simplificações do modelo. Em qualquer caso, é preciso retornar à fase de
Formulação do Problema para aplicar essas alterações.

Implementação da Solução:

A última fase de um estudo de PO é implementar a solução final. Nesta fase, é


fundamental a participação da equipe que trabalhou no modelo para garantir a sua
correta implementação. Este contato estreito garantirá também uma intervenção no
caso de ocorrer qualquer tipo de falha não prevista.

A fase de implementação envolve um aspecto essencialmente técnico e um aspecto


pessoal. Como normalmente é utilizado o computador para obtenção dos resultados, toda
a documentação necessária deve ser bem organizada e detalhada, de forma a não
suscitar dúvidas na sua utilização.

Por outro lado, deve-se preparar a equipe que irá utilizar os resultados,
procurando-se o entrosamento com a equipe de operação, bem antes da fase de
implementação. A participação mais efetiva de quem irá utilizar os resultados desde as
fases de formulação e modelagem contribuirá para o sucesso da implementação dos
resultados obtidos.

16
É importante ainda continuar a obter feedback de como o sistema vem se
comportando ao longo de todo o período no qual o novo sistema está sendo utilizado
(verificando se as suposições do modelo continuam sendo satisfeitas). Quando ocorrerem
desvios significativos das suposições iniciais, o modelo deve ser revisto e alterado
(retornando-se para a fase de Formulação do Problema).

Daqui para frente, neste curso, serão formulados, modelados e solucionados os


mais diversos tipos de problemas por meio da Pesquisa Operacional.

17
AULA 3 – MODELAGEM COM
PROGRAMAÇÃO LINEAR

Introdução à Programação Linear

Um aspecto importante sobre os problemas de decisões é a otimização, que busca


as maneiras (alternativas) mais eficientes de utilizar os recursos disponíveis para
atingir certos objetivos. Em geral, tais recursos são limitados e a sua utilização criteriosa
possibilita melhorar o rendimento (ou produtividade) do processo em estudo.

Em alguns casos, a continuidade do processo pode depender dessa “utilização


criteriosa”. Na prática esses recursos são normalmente de natureza econômica, como
capital, matéria-prima, mão-de-obra, equipamentos, tempo etc.

A Programação Linear (PL) busca a melhor solução para problemas que tenham
seus modelos representados por expressões lineares. A sua grande aplicabilidade e
simplicidade devem-se a linearidade do modelo. As aplicações podem ser em vários
campos das áreas científicas ou sociais, tais como administração da produção, análise
de investimento, controle de estoque, economia, logística e etc.
A Programação Linear é um dos mais populares modelos matemáticos
estruturados utilizados para resolver problemas contendo variáveis que podem ser
medidas e cujos relacionamentos são expressos por meio de equações e/ou inequações
lineares.

O modelo matemático de PL é constituído de uma função objetivo linear; de


restrições representadas por um grupo de equações e/ou inequações também lineares; e
da restrição matemática de não negatividade (em que as variáveis não podem ser
negativas).

18
A tarefa da PL consiste na maximização ou minimização de uma função linear,
denominada função objetivo, respeitando-se um sistema linear de igualdades ou
desigualdades, que recebem o nome de restrições. As restrições determinam uma região,
que contém as soluções viáveis. O objetivo da Programação Linear é determinar a
solução ótima, que consiste na solução que irá maximizar ou minimizar a função
objetivo.

Assim, um problema de PL possui as seguintes características:

 A função objetivo deve ser minimizada ou maximizada.


 As restrições do problema são definidas por um sistema de equações e/ou
inequações lineares.
 As condições de não negatividade de todas as variáveis de decisão complementam
as restrições do problema.

Além disso, é importante introduzir alguns conceitos adicionais:

 Solução: qualquer valor obtido dentro do domínio da função objetivo, para as


variáveis de decisão (incluindo aquelas que não são viáveis).
 Solução viável: são soluções que satisfaçam todas as restrições (em alguns casos
podem não haver soluções viáveis).
 Solução ótima: é a solução viável que apresenta o melhor valor da função objetivo,
isto é, que maximiza ou minimiza a função objetivo (podendo ser única ou
múltipla).
 Proporcionalidade: a contribuição de cada variável de decisão, tanto na função
objetivo quanto nas restrições, deve ser diretamente proporcional ao valor da
variável (caso contrário a expressão se tornaria não linear).
 Aditividade: a contribuição total de todas as variáveis da função objetivo e das
restrições deve ser a soma direta das contribuições individuais de cada variável.
 Certeza: todos os coeficientes da função objetivo e das restrições são
determinísticos, ou seja, são constantes conhecidas (o que é raro na vida real, na
qual o mais provável é que os dados sejam representados por distribuições de
probabilidades).
 Divisibilidade: todas as variáveis de decisão podem ser divididas em qualquer
número de partes (ou seja, qualquer variável de decisão pode assumir valores
fracionários). Caso as variáveis de decisão possam assumir valores inteiros, deve-
se impor estas condições no próprio modelo.
19
Portanto, quando um problema é resolvido por meio da PL existe uma garantia
relativamente grande de que não haverá uma solução melhor para ele.

Matematicamente, um problema de PL pode ser representado como:

Otimizar a função objetivo:


𝑓 (𝑋) = 𝑓(𝑥1 , 𝑥2 , … , 𝑥𝑛 )

Sujeito às restrições:
𝑔1 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) 𝑏
≤ 1
𝑔2 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) 𝑏
}={ 2
⋮ ⋮

𝑔𝑚 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) 𝑏𝑚

Em que:
𝑓 (𝑋) = 𝑓 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑐1 𝑥1 + 𝑐2𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛
𝑔𝑖 (𝑥1 , 𝑥2 , … , 𝑥𝑛 ) = 𝑎𝑖1 𝑥1 + 𝑎𝑖2 𝑥2 + ⋯ + 𝑎𝑖𝑛 𝑥𝑛
𝑖 = 1,2, … , 𝑚

𝑛 é o número de variáveis do problema.

𝑚 é o número de restrições do problema.

𝑖 é o índice de determinada restrição.


𝑐𝑗 é o coeficiente (constante) da variável 𝑥𝑗 na função objetivo

𝑎𝑖𝑗 é o coeficiente (constante) da variável 𝑥𝑗 na i-ésima restrição.

𝑏𝑖 é a constante (do lado direito) da i-ésima restrição.

Além disso, um problema de PL está na “forma padrão” quando o modelo visa


selecionar os valores para 𝑥1 , 𝑥2 , … , 𝑥𝑛 de forma a:
Max 𝑍 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛

Sujeito às restrições:
𝑎11 𝑥1 + 𝑎12 𝑥2 + ⋯ + 𝑎1𝑛 𝑥𝑛 ≤ 𝑏1
𝑎21 𝑥1 + 𝑎22 𝑥2 + ⋯ + 𝑎2𝑛 𝑥𝑛 ≤ 𝑏2

𝑎𝑚1 𝑥1 + 𝑎𝑚2 𝑥2 + ⋯ + 𝑎𝑚𝑛 𝑥𝑛 ≤ 𝑏𝑚
𝑥1 , 𝑥2 , … , 𝑥𝑛 ≥ 0

20
Ou seja, um problema de PL na forma padrão visa maximizar a função objetivo,
sujeito a restrições de menor ou igual (limitadas por 𝑏𝑗 ), em que as variáveis de decisão
possuem valores não negativos.

A forma padrão de um problema de PL pode ser reduzida para a seguinte


expressão:
𝑛

Max 𝑍 = ∑ 𝑐𝑗 𝑥𝑗
𝑗=1

Sujeito às restrições:
𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖
𝑗=1

𝑖 = 1,2, … , 𝑚

É importante observar que a forma padrão pode não ser útil em alguns problemas
de PL. Em outras palavras, existem outras formas para os modelos de PL que não são a
forma padrão, como:

1. Minimizar (no lugar de maximizar) a função objetivo:


Min 𝑍 = 𝑐1 𝑥1 + 𝑐2 𝑥2 + ⋯ + 𝑐𝑛 𝑥𝑛

2. Uma, algumas ou todas as restrições do tipo maior ou igual a:


𝑎𝑖1 𝑥1 + 𝑎𝑖2 𝑥2 + ⋯ + 𝑎𝑖𝑛 𝑥𝑛 ≥ 𝑏𝑖 para alguns valores de 𝑖

3. Uma, algumas ou todas as restrições do tipo igual a (uma equação no lugar da


inequação):
𝑎𝑖1 𝑥1 + 𝑎𝑖2 𝑥2 + ⋯ + 𝑎𝑖𝑛 𝑥𝑛 = 𝑏𝑖 para alguns valores de 𝑖

4. Eliminar as restrições não-negativas para uma, algumas ou todas as variáveis de


decisão:
𝑥𝑗 irrestrita em sinal para alguns valores de 𝑗

É importante observar que qualquer problema que mescle pelo menos uma dessas
formas com as partes remanescentes da forma padrão também será um problema de PL.
21
Formulação do modelo de Programação Linear

O primeiro passo para a formulação do modelo de PL consiste na identificação das


variáveis de decisão. Para isso, recomenda-se as seguintes regras:

 É preciso reconhecer se o analista tem autoridade para escolher o valor numérico


(quantidade) do item (pois as variáveis de decisão são aquelas que estão sob
controle do analista).
 Além disso, deve-se respeitar as unidades de medida (por exemplo, moeda e
quantidade) de cada variável de decisão (incluindo o fator tempo, como horário,
diário, semanal, mensal).
 Por fim, é preciso se atentar para não confundir as variáveis de decisão com os
parâmetros do problema, como número de máquinas na fábrica, quantidade de
cada recurso usado na fabricação de um produto, capacidade de produção da
fábrica, custos de produção, custos de transporte, demandas pelos produtos e
assim por diante (que normalmente serão as constantes ou coeficientes das
expressões).

Com respeito à função objetivo, a PL busca a melhor alternativa com o que se tem
disponível, ou seja, procura maximizar algo (como lucro ou eficiência) ou minimizar
alguma coisa (como custo ou tempo). A maximização do valor do lucro total (que é igual
aos retornos menos os custos) é a função objetivo mais comum nos modelos de PL.

É importante destacar que não existe uma única regra para a construção do
modelo matemático. Entretanto, a maioria dos problemas de Programação Linear segue
um roteiro que possui tipicamente as seguintes etapas:

1. Definir as variáveis de decisão 𝑥𝑗 . Se estivermos estudando uma programação da


produção, as variáveis de decisão podem representar as quantidades produzidas
de cada produto; se for uma programação de investimento, as variáveis
representarão o tipo de portfólio escolhido.
2. Formular a função objetivo da tomada de decisão, que pode ser maximizar lucro,
minimizar custos etc. Ela é uma expressão formada por uma combinação linear
das variáveis de decisão.
3. Determinar as restrições técnicas as quais estará sujeito. Como por exemplo,
quantidade em estoque; homem-hora disponível na produção etc.
4. Considerar a não negatividade das variáveis de decisão. Ou seja, 𝑥𝑗 ≥ 0.

22
Deve-se ressaltar que é possível haver alguma variável de decisão assumindo
valores negativos (por exemplo, a taxa de inflação). Nesse caso, a variável de decisão é
dita “irrestrita em sinal”.

Um procedimento que ajuda na elaboração das restrições é:

1. Criar uma restrição com palavras inicialmente, da seguinte forma: (Quantidade


requerida de um recurso) <algum sinal> (disponibilidade do recurso). Lembrando
que os sinais podem ser de igualdade (=) ou desigualdade (≥ ou ≤). Por exemplo,
se um insumo será utilizado em sua totalidade, a restrição será de igualdade (=);
se um insumo está estocado, então esta restrição será (≤), porque ele vai até a
quantidade que está disponível no estoque (até o limite do estoque); se a
necessidade desse insumo for pelo menos (por exemplo, ser maior ou igual à
demanda para aquele período), então esta restrição será (≥).
2. Assegurar que a unidade do termo do lado esquerdo da restrição é a mesma
unidade do termo do lado direito.
3. Traduzir a restrição em palavras para a notação matemática, utilizando valores
conhecidos ou estimados para os parâmetros (coeficientes e constantes), e
também os símbolos matemáticos adotados para as variáveis de decisão.
4. Reescrever a restrição, se necessário, de modo que os termos envolvendo as
variáveis de decisão fiquem no lado esquerdo da expressão matemática, enquanto
só o valor associado a uma constante fique no lado direito.

Exemplo 1:

Na fábrica de Brinquedos Eletrônicos X-Playhouse, são produzidos dois tipos de


brinquedos: B1 e B2. O setor de contabilidade e custos informa que o lucro unitário do
brinquedo B1 é de R$ 20,00 e do brinquedo B2 é de R$ 35,00. Na linha de produção, cada
unidade de brinquedo B1 consome 2 horas e de brinquedo B2 consome 4 horas de
trabalho. Essa linha de montagem tem 24 horas de trabalho disponíveis por dia. Sabe-
se ainda que a demanda esperada pelo brinquedo B1 não ultrapassa 8 unidades e de B2
não ultrapassa 4 unidades por dia. Como engenheiro de produção da fábrica Brinquedos
Eletrônicos X-Playhouse, monte o plano de produção de forma que o lucro seja
maximizado.

23
Solução:

1-Definir as variáveis de decisão:

As variáveis de decisão são as quantidades a serem produzidas de cada brinquedo.


Assim, pode-se definir:

𝑥1 = quantidade de B1 a ser produzida

𝑥2 = quantidade de B2 a ser produzida

2-Formular a função objetivo:

A função objetivo, nesse caso, é maximizar o lucro.

Sabe-se que o lucro com a venda de B1 é dado por 20𝑥1 e que o lucro com a venda
de B2 é 35𝑥2 . Assim, o lucro total é:
𝐿(𝑥1 , 𝑥2 ) = 20𝑥1 + 35𝑥2

E a função objetivo será:


Max 𝐿(𝑥1 , 𝑥2 ) = 20𝑥1 + 35𝑥2

3-Determinar as restrições:
2𝑥1 + 4𝑥2 ≤ 24
𝑥1 ≤ 8
𝑥2 ≤ 4

4-Não negatividade das variáveis de decisão:


𝑥1 , 𝑥2 ≥ 0

O modelo na forma padrão pode ser escrito como:


Max 𝐿(𝑥1 , 𝑥2 ) = 20𝑥1 + 35𝑥2

Sujeito às restrições:
2𝑥1 + 4𝑥2 ≤ 24
𝑥1 ≤ 8
𝑥2 ≤ 4
𝑥1 , 𝑥2 ≥ 0
24
Existem duas observações importantes sobre a solução desse problema.

Em primeiro lugar, seria possível tentar obter os valores das variáveis por meio
de “tentativa e erro” (uma análise qualitativa do problema). Note que quanto maior for
o valor de 𝑥1 e de 𝑥2 , maior será o lucro. As duas alternativas que maximizam os valores
de 𝑥1 e de 𝑥2 , e que estão dentro das restrições são:

1. 𝑥1 = 8 e 𝑥2 = 2 (maximizar 𝑥1 )
2. 𝑥2 = 4 e 𝑥1 = 4 (maximizar 𝑥2 )

Para os dois casos, calcula-se o lucro:

1. 𝐿(𝑥1 , 𝑥2 ) = 20𝑥1 + 35𝑥2 = 20 ∙ 8 + 35 ∙ 2 = R$ 230,00


2. 𝐿(𝑥1 , 𝑥2 ) = 20𝑥1 + 35𝑥2 = 20 ∙ 4 + 35 ∙ 4 = R$ 220,00

A melhor alternativa (solução ótima) será 𝑥1 = 8 e 𝑥2 = 2.

Uma outra observação sobre esse problema é que ele poderia ser solucionado por
meio da Teoria das Restrições (consulte a aula 19 do curso de Planejamento e Controle
da Produção do meu canal do YouTube). Como B1 possui o maior lucro por hora, ele deve
ser maximizado.

Ainda assim, vale ressaltar que os métodos para solução de problemas de


Programação Linear serão descritos com mais detalhes nas próximas seções. É
importante destacar que, apesar de serem um pouco mais complicados, os problemas de
PL são mais “robustos” (ou seja, podem ser utilizados na solução de problemas mais
complexos).

Exemplo 2:

Uma empresa de comida canina produz dois tipos de rações: A e B. Para a


manufatura das rações são utilizados cereais e carne. Sabe-se que:

 A ração A utiliza 5 kg de cereais e 1 kg de carne;


 A ração B utiliza 2 kg de cereais e 4 kg de carne;
 O pacote de ração A é vendido por R$ 20,00 e o pacote de ração B é vendido por
R$ 30,00;
 O kg de carne custa R$ 4,00 e o kg de cereais custa R$ 1,00;
 Estão disponíveis por mês 10.000 kg de carne e 30.000 kg de cereais.

Deseja-se calcular a quantidade de cada ração a ser produzida para maximizar o


lucro.
25
Solução:

1-Definir as variáveis de decisão:

As variáveis de decisão são as quantidades a serem produzidas de cada ração (A


e B). Assim, pode-se definir:

𝑥1 = quantidade de A a ser produzida

𝑥2 = quantidade de B a ser produzida

2-Formular a função objetivo:

A função objetivo, nesse caso, é maximizar o lucro.

Sabe-se que o lucro por unidade de A é dado por: 20 – 5x1 – 1x4 = 11

E o lucro por unidade de B é dado por: 30 – 2x1 – 4x4 = 12

Assim, o lucro total é:


𝐿(𝑥1 , 𝑥2 ) = 11𝑥1 + 12𝑥2

E a função objetivo será:


Max 𝐿(𝑥1 , 𝑥2 ) = 11𝑥1 + 12𝑥2

3-Determinar as restrições:

Cada unidade de ração A (𝑥1 ) utiliza 5 kg de cereal, enquanto a ração B (𝑥2 ) utiliza
2 kg. Portanto, a restrição para os cereais é:
5𝑥1 + 2𝑥2 ≤ 30.000

Além disso, cada unidade de ração A (𝑥1 ) utiliza 1 kg de carne, enquanto a ração
B (𝑥2 ) utiliza 4 kg. Portanto, a restrição para a carne é:
𝑥1 + 4𝑥2 ≤ 10.000

4-Não negatividade das variáveis de decisão:


𝑥1 , 𝑥2 ≥ 0

26
O modelo na forma padrão pode ser escrito como:
Max 𝐿(𝑥1 , 𝑥2 ) = 11𝑥1 + 12𝑥2

Sujeito às restrições:
5𝑥1 + 2𝑥2 ≤ 30.000
𝑥1 + 4𝑥2 ≤ 10.000
𝑥1 , 𝑥2 ≥ 0

A solução para os problemas de PL serão apresentados nas próximas seções.

Aplicações selecionadas de Programação Linear

A Programação Linear pode ser empregada de variadas formas em diferentes


setores e campos da ciência, como:

 Administração da produção;
 Análise de investimento;
 Alocação de recursos limitados;
 Planejamento regional e urbano;
 Logística de transporte;
 Localização da rede de abastecimento e distribuição;
 Alocação de recursos energéticos.

Como pode ser observado, existem diversas áreas nas quais os modelos de PL
podem ser utilizados. Tal qual discutido na seção anterior, a modelagem de um problema
via PL pode ser obtida em 4 etapas: 1-Definir as variáveis de decisão; 2-Formular a
função objetivo; 3-Determinar as restrições; 4-Não negatividade das variáveis de
decisão.

27
Nos problemas de PL “do mundo real” a definição das variáveis de decisão e a
construção da função objetivo e das restrições não são tão simples. Por conta disso, para
uma exemplificação mais realista dos problemas de PL, essa seção trará alguns
exemplos de áreas abrangidas por essas aplicações:

1. Planejamento urbano.
2. Planejamento da produção e controle de estoque.
3. Mix de produção.

Planejamento Urbano:

O planejamento urbano trata de três áreas gerais: 1-construção de novos projetos


habitacionais; 2-recuperação de áreas habitacionais e recreacionais urbanas
deterioradas; 3-planejamento de instalações públicas (escolas, aeroportos etc.).

Sobre o planejamento urbano, é importante observar que:

 As restrições associadas a esses projetos são tanto econômicas (terreno,


construção, financiamento) quanto sociais (escolas, parques, nível de renda).
 Além disso, os objetivos do planejamento urbano variam. No desenvolvimento de
projetos habitacionais, de modo geral o lucro é o motivo para a consecução do
projeto. Por outro lado, nas duas categorias restantes, os objetivos envolvem
questões sociais, políticas, econômicas e culturais.

O prefeito de uma cidade pode, por exemplo, condenar uma área antiga da cidade
para dar lugar a um projeto habitacional de alto padrão, visando aumentar a
arrecadação de impostos. O exemplo a seguir ilustra essa situação.

Exemplo 3 (Modelo de renovação urbana):

A cidade de XYZ enfrenta uma séria carência orçamentária. Em busca de uma


solução de longo prazo, a câmara de vereadores da cidade aprovou uma melhoria da base
de cobrança de impostos que prevê a condenação de uma área habitacional do centro da
cidade e sua substituição por um conjunto habitacional moderno.

O projeto foi dividido em duas fases: 1-Demolição das casas que estão aquém do
padrão para liberar terreno para o novo projeto; 2-Construção do novo conjunto urbano.

28
Ao analisar a situação, chegou-se aos seguintes dados:

1. Um total de 300 casas aquém do padrão podem ser demolidas. Cada casa ocupa
um lote de 250 m2. O custo da demolição de uma casa condenada é de R$ 2.000,00.
2. Os tamanhos de lotes para domicílios (unidades) são divididos em: simples,
duplos, triplos e quádruplos, com áreas de 180 m2, 280 m2, 400 m2, e 500 m2,
respectivamente. Além disso, ruas, espaços abertos e instalações públicas ocupam
15% da área disponível.
3. No novo conjunto habitacional, as unidades triplas e quádruplas juntas devem
representar no mínimo 25% do número total de unidades. Já as unidades simples
devem representar no mínimo 20% de todas as unidades, e as unidades duplas no
mínimo 10%.
4. O imposto cobrado por unidade para as unidades simples, duplas, triplas e
quádruplas é de R$ 1.000,00, R$ 1.900,00, R$ 2.700,00 e R$ 3.400,00,
respectivamente.
5. O custo de construção por unidade domiciliar simples, dupla, tripla e quádrupla
é de R$ 50.000,00, R$ 70.000,00, R$ 130.000,00 e R$ 160.000,00, respectivamente.
O financiamento acordado com o banco local será de no máximo R$ 15 milhões.

Nesse caso, deve-se obter a quantidade de cada tipo de unidade a serem


construídas para maximizar a arrecadação de impostos.

Solução:

1-Definir as variáveis de decisão:

Além de determinar o número de unidades de cada tipo a ser construído, é preciso


também decidir quantas casas devem ser demolidas para liberar espaço para o novo
projeto habitacional. Assim, as variáveis do problema podem ser definidas como:
𝑥1 = número de unidades simples

𝑥2 = número de unidades duplas

𝑥3 = número de unidades triplas

𝑥4 = número de unidades quádruplas

𝑥5 = número de casas antigas a demolir

29
2-Formular a função objetivo:

O objetivo é maximizar a arrecadação de impostos de todos os quatro tipos de


residências, ou seja:
Max 𝑍 = 1.000𝑥1 + 1.900𝑥2 + 2.700𝑥3 + 3.400𝑥4

3-Determinar as restrições:

A primeira restrição do problema trata da disponibilidade de terreno. É


importante observar que a área a ser usada para a construção das novas casas deve ser
menor ou igual a área líquida disponível.

Pelos dados do problema, tem-se que:

Área necessária para as novas casas = 180𝑥1 + 280𝑥2 + 400𝑥3 + 500𝑥4

Para determinar a área disponível deve-se multiplicar o tamanho de cada casa


antiga (250) com o número de casas antigas a serem demolidas (𝑥5 ):

Área disponível = 250𝑥5

É importante observar que existe uma ocupação de 15% dessa área com ruas,
espaços abertos e instalações públicas. Portanto, a área líquida disponível será 85% da
área disponível:

Área líquida disponível = 250𝑥5 ∙ 0,85 = 212,5𝑥5

A restrição resultante é:

Área necessária para as novas casas ≤ Área líquida disponível


180𝑥1 + 280𝑥2 + 400𝑥3 + 500𝑥4 ≤ 212,5𝑥5

Reorganizando a expressão, chega-se em:


180𝑥1 + 280𝑥2 + 400𝑥3 + 500𝑥4 − 212,5𝑥5 ≤ 0

A segunda restrição diz respeito ao número de casas demolidas que não pode
ultrapassar o número de casas antigas (ou seja, deve ser menor ou igual a 300):
𝑥5 ≤ 300

30
As próximas restrições estão associadas aos limites de número de cada tipo de
casa. O número total de unidades é dado por:
Número total de unidades = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4

Essas restrições determinam que:


Número de unidades simples (𝑥1 ) não devem ser inferior a 20% do total.

Número de unidades duplas (𝑥2 ) não devem ser inferior a 10% do total.

Número de unidades triplas e quádruplas (𝑥3 + 𝑥4 ) não devem ser inferior a 25%
do total.
𝑥1 ≥ 0,2 ∙ (𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 )
𝑥2 ≥ 0,1 ∙ (𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 )
𝑥3 + 𝑥4 ≥ 0,25 ∙ (𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 )

Reorganizando cada uma delas, chega-se em:


0,8𝑥1 − 0,2𝑥2 − 0,2𝑥3 − 0,2𝑥4 ≥ 0
−0,1𝑥1 + 0,9𝑥2 − 0,1𝑥3 − 0,1𝑥4 ≥ 0
−0,25𝑥1 − 0,25𝑥2 + 0,75𝑥3 + 0,75𝑥4 ≥ 0

Multiplicando a inequação por -1, tem-se então:


−0,8𝑥1 + 0,2𝑥2 + 0,2𝑥3 + 0,2𝑥4 ≤ 0
0,1𝑥1 − 0,9𝑥2 + 0,1𝑥3 + 0,1𝑥4 ≤ 0
0,25𝑥1 + 0,25𝑥2 − 0,75𝑥3 − 0,75𝑥4 ≤ 0

A última restrição trata de manter o custo de demolição e construção dentro do


orçamento permitido, ou seja, inferior ao limite de 15 milhões de reais. Assim:
50.000𝑥1 + 70.000𝑥2 + 130.000𝑥3 + 160.000𝑥4 + 2.000𝑥5 ≤ 150.000.000

Ou, considerando em milhares de reais, para simplificação (dividir por 1.000):


50𝑥1 + 70𝑥2 + 130𝑥3 + 160𝑥4 + 2𝑥5 ≤ 150.000

4-Não negatividade das variáveis de decisão:


𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ≥ 0

31
Com isso, o modelo completo se torna:
Max 𝑍 = 1.000𝑥1 + 1.900𝑥2 + 2.700𝑥3 + 3.400𝑥4

Sujeito às restrições:
180𝑥1 + 280𝑥2 + 400𝑥3 + 500𝑥4 − 212,5𝑥5 ≤ 0
𝑥5 ≤ 300
−0,8𝑥1 + 0,2𝑥2 + 0,2𝑥3 + 0,2𝑥4 ≤ 0
0,1𝑥1 − 0,9𝑥2 + 0,1𝑥3 + 0,1𝑥4 ≤ 0
0,25𝑥1 + 0,25𝑥2 − 0,75𝑥3 − 0,75𝑥4 ≤ 0
50𝑥1 + 70𝑥2 + 130𝑥3 + 160𝑥4 + 2𝑥5 ≤ 150.000
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 , 𝑥5 ≥ 0

A solução desse problema de PL conduzirá aos valores de 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 e 𝑥5 que


maximizam o ganho com impostos, considerando as restrições (solução ótima).

Planejamento da produção e controle de estoque:

Existem diversas aplicações de PL no controle da produção e do estoque, partindo


desde a simples alocação da capacidade de máquina para atender à demanda até casos
mais complexos da utilização de estoque para “atenuar” o efeito de uma mudança
imprevisível na demanda (considerando certa projeção do planejamento e a utilização
de contratação e demissão para enfrentar essas mudanças nas necessidades de mão-de-
obra).

Esta seção apresenta dois exemplos. O primeiro trata da programação da


produção de produtos usando as instalações normais de produção para atender à
demanda durante um único período. E o segundo trata da utilização do estoque em um
sistema de produção abrangendo vários períodos para atender à demanda futura.

Exemplo 4 (Modelo de produção para um único período):

Como medida de precaução para o inverno, uma empresa de confecção está


fabricando parcas e casacos com enchimento de penas de ganso, calças com isolamento
térmico e luvas. Todos os produtos são fabricados em quatro departamentos diferentes:
corte, isolamento térmico, costura e embalagem. A empresa recebeu pedidos firmes para
seus produtos e o contrato estipula uma multa para itens não entregues.

32
A tabela a seguir apresenta os dados para a produção da confecção.

Tempo por unidade (em horas)


Pena de Capacidade
Departamento Parca Calças Luvas
ganso (em horas)
Corte 0,30 0,30 0,25 0,15 1.000
Isolamento 0,25 0,35 0,30 0,10 1.000
Costura 0,45 0,50 0,40 0,22 1.000
Embalagem 0,15 0,15 0,10 0,05 1.000
Demanda 800 750 600 500
Lucro por
30 40 20 10
unidade (R$)
Multa por
15 20 10 8
unidade (R$)

Elabore um plano ótimo de produção para a empresa.

Solução:

1-Definir as variáveis de decisão:

As variáveis do problema podem ser definidas como:

𝑥1 = número de parcas

𝑥2 = número de jaquetas com enchimento de penas de ganso

𝑥3 = número de calças

𝑥4 = número de pares de luvas

2-Formular a função objetivo:


A empresa é multada se não atender à demanda, o que significa que o objetivo do
problema é maximizar as receitas líquidas (𝑍), definidas como:
Receitas líquidas = Lucro total − Multa total

O lucro total é expresso por:


Lucro total = 30𝑥1 + 40𝑥2 + 20𝑥3 + 10𝑥4

A multa total é uma função das quantidades não fornecidas (ou seja, é igual a
demanda menos quantidade do produto). Por exemplo, se forem produzidas 650 parcas
(𝑥1 = 650), significa que houveram 800 – 650 = 150 parcas que não foram entregues. Isso
representa uma multa de 15 ∙ 150 = R$ 2.250,00.
33
Para um caso geral, a multa proveniente da não entrega de parcas é dada por:
Multa pelas parcas = 15 ∙ (800 − 𝑥1 )

Então, a multa total é igual a:


Multa total = 15 ∙ (800 − 𝑥1 ) + 20 ∙ (750 − 𝑥2 ) + 10 ∙ (600 − 𝑥3 ) + 8 ∙ (500 − 𝑥4 )

Simplificando:
Multa total = 12.000 − 15𝑥1 + 15.000 − 20𝑥2 + 6.000 − 10𝑥3 + 4.000 − 8𝑥4
Multa total = 37.000 − 15𝑥1 − 20𝑥2 − 10𝑥3 − 8𝑥4

Logo:
𝑍 = Lucro total − Multa total
𝑍 = 30𝑥1 + 40𝑥2 + 20𝑥3 + 10𝑥4 − (37.000 − 15𝑥1 − 20𝑥2 − 10𝑥3 − 8𝑥4 )
𝑍 = 45𝑥1 + 60𝑥2 + 30𝑥3 + 18𝑥4 − 37.000

Assim, a função objetivo é:


Max 𝑍 = 45𝑥1 + 60𝑥2 + 30𝑥3 + 18𝑥4 − 37.000

3-Determinar as restrições:

O primeiro conjunto restrições do problema diz respeito à demanda de cada


produto. Essas quantidade estão sujeitas aos seguintes limites de demanda:
𝑥1 ≤ 800
𝑥2 ≤ 750
𝑥3 ≤ 600
𝑥4 ≤ 500

Além disso, existem as restrições associadas às capacidades de produção de cada


departamento:

Corte: 0,30𝑥1 + 0,30𝑥2 + 0,25𝑥3 + 0,15𝑥4 ≤ 1.000

Isolamento: 0,25𝑥1 + 0,35𝑥2 + 0,30𝑥3 + 0,10𝑥4 ≤ 1.000

Costura: 0,45𝑥1 + 0,50𝑥2 + 0,40𝑥3 + 0,22𝑥4 ≤ 1.000

Embalagem: 0,15𝑥1 + 0,15𝑥2 + 0,10𝑥3 + 0,05𝑥4 ≤ 1.000

4-Não negatividade das variáveis de decisão:


𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0

34
Com isso, o modelo completo se torna:
Max 𝑍 = 45𝑥1 + 60𝑥2 + 30𝑥3 + 18𝑥4 − 37.000

Sujeito às restrições:
𝑥1 ≤ 800
𝑥2 ≤ 750
𝑥3 ≤ 600
𝑥4 ≤ 500
0,30𝑥1 + 0,30𝑥2 + 0,25𝑥3 + 0,15𝑥4 ≤ 1.000
0,25𝑥1 + 0,35𝑥2 + 0,30𝑥3 + 0,10𝑥4 ≤ 1.000
0,45𝑥1 + 0,50𝑥2 + 0,40𝑥3 + 0,22𝑥4 ≤ 1.000
0,15𝑥1 + 0,15𝑥2 + 0,10𝑥3 + 0,05𝑥4 ≤ 1.000
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0

A solução desse problema de PL conduzirá aos valores de 𝑥1 , 𝑥2 , 𝑥3 e 𝑥4 que


maximizam as receitas líquidas, considerando as restrições (solução ótima).

Exemplo 5 (Modelo de produção e estoque para vários períodos):

Uma empresa de manufatura firmou um contrato para entrega de janelas de casa


para os próximos quatro meses. As demandas para cada mês são de 100, 250, 190 e 140
unidades, respectivamente. O custo de produção por janela varia de mês para mês,
dependendo do custo da mão-de-obra, do material e de utilidades. A empresa estima que
o custo de produção por janela nos próximos quatro meses seja R$ 50, R$ 45, R$ 55 e R$
48, respectivamente.

Para aproveitar a vantagem das variações no custo de fabricação, a empresa pode


optar em produzir mais do que o necessário em determinado mês e reter as unidades
excedentes para entregar em meses posteriores. Entretanto, isso incorrerá em custos de
armazenagem de R$ 8 por janela por mês, considerando o estoque no final do mês.

Tendo em vista essas informações, desenvolva um modelo de Programação Linear


para determinar a programação ótima de produção.

35
Solução:

1-Definir as variáveis de decisão:

As variáveis de decisão são as quantidades a serem produzidas em cada um dos


quatro meses, isto é:

𝑥1 = número de unidades produzidas no mês 1

𝑥2 = número de unidades produzidas no mês 2

𝑥3 = número de unidades produzidas no mês 3

𝑥4 = número de unidades produzidas no mês 4

Em outras palavras:

𝑥𝑖 = número de unidades produzidas no mês 𝑖, para 𝑖 = 1,2,3,4

2-Formular a função objetivo:

O custo total é igual a soma entre o custo de produção e o custo com estoque:
Custo total = Custo de produção + Custo com estoque

O custo de produção é expresso por:


Custo de produção = 50𝑥1 + 45𝑥2 + 55𝑥3 + 48𝑥4

O custo com estoque depende da quantidade de itens em estoque no período (que


representa a quantidade excedente, ou seja, além da demanda prevista para aquele
período). É importante observar que essa quantidade excedente estará disponível para
o mês seguinte.

Considere que não existe estoque inicial (no início do mês 1). Nesse caso, o estoque
final do mês 1 será dado por:
Estoque mês 1 = 𝑥1 − Demanda do mês 1
Estoque mês 1 = 𝑥1 − 100

Com isso, o custo com estoque para o mês 1 será:


Custo com estoque mês 1 = 8 ∙ (𝑥1 − 100)

Observe que o estoque no final do mês 1 representa o estoque inicial para o mês
2, assim:
Estoque mês 2 = Estoque mês 1 + 𝑥2 − Demanda do mês 2
Estoque mês 2 = 𝑥1 − 100 + 𝑥2 − 250 = 𝑥1 + 𝑥2 − 350

E o custo com estoque para o mês 2 será:


Custo com estoque mês 2 = 8 ∙ (𝑥1 + 𝑥2 − 350)
36
Para o mês 3:
Estoque mês 3 = Estoque mês 2 + 𝑥3 − Demanda do mês 3
Estoque mês 3 = 𝑥1 + 𝑥2 − 350 + 𝑥3 − 190 = 𝑥1 + 𝑥2 + 𝑥3 − 540
Custo com estoque mês 3 = 8 ∙ (𝑥1 + 𝑥2 + 𝑥3 − 540)

Para o mês 4:
Estoque mês 4 = Estoque mês 3 + 𝑥4 − Demanda do mês 4
Estoque mês 4 = 𝑥1 + 𝑥2 + 𝑥3 − 540 + 𝑥4 − 140 = 𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 − 680
Custo com estoque mês 4 = 8 ∙ (𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 − 680)

Assim, o custo total com estoque é a soma dos custos com estoque de cada mês:
Custo com estoque = 8 ∙ (𝑥1 − 100) + 8 ∙ (𝑥1 + 𝑥2 − 350) + 8 ∙ (𝑥1 + 𝑥2 + 𝑥3 − 540) +
+8 ∙ (𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 − 680)
Custo com estoque = 32𝑥1 + 24𝑥2 + 16𝑥3 + 8𝑥4 − 13.360

Dessa forma, o custo total é dado por:


Custo total = Custo de produção + Custo com estoque
Custo total = 50𝑥1 + 45𝑥2 + 55𝑥3 + 48𝑥4 + 32𝑥1 + 24𝑥2 + 16𝑥3 + 8𝑥4 − 13.360
Custo total = 82𝑥1 + 69𝑥2 + 71𝑥3 + 56𝑥4 − 13.360

É importante observar que o objetivo é a minimização do custo, ou seja:


Min 𝑍 = 82𝑥1 + 69𝑥2 + 71𝑥3 + 56𝑥4 − 13.360

3-Determinar as restrições:

Como não pode faltar janelas em cada mês, as quantidades de janelas produzidas
somadas ao estoque do período anterior devem ser sempre maiores do que a demanda.
Logo:
𝑥1 ≥ 100
𝑥2 + 𝑥1 − 100 ≥ 250
𝑥3 + 𝑥1 + 𝑥2 − 350 ≥ 190
𝑥4 + 𝑥1 + 𝑥2 + 𝑥3 − 540 = 140

Observe que no mês 4 utilizou-se um sinal de igualdade, uma vez que não é
necessário que haja unidades além da demanda no último mês (que geraria um estoque
para o período seguinte, o qual representaria uma elevação no custo total).

37
Simplificando e reorganizando as restrições:
𝑥1 ≥ 100
𝑥1 + 𝑥2 ≥ 350
𝑥1 + 𝑥2 + 𝑥3 ≥ 540
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 = 680

4-Não negatividade das variáveis de decisão:


𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0

Com isso, o modelo completo se torna:


Min 𝑍 = 82𝑥1 + 69𝑥2 + 71𝑥3 + 56𝑥4 − 13.360

Sujeito às restrições:
𝑥1 ≥ 100
𝑥1 + 𝑥2 ≥ 350
𝑥1 + 𝑥2 + 𝑥3 ≥ 540
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 = 680
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0

A solução desse problema de PL conduzirá aos valores de 𝑥1 , 𝑥2 , 𝑥3 e 𝑥4 que


minimizam os custos totais, considerando as restrições (solução ótima).

Mix de produção:

Além de todas as aplicações apresentadas, o modelo de PL pode ser utilizado para


definir a quantidade de cada produto a ser produzida em um determinado período para
maximizar o lucro (associado a venda dos produtos) diante das restrições de produção
(associadas à utilização dos recursos de produção, como equipamentos, materiais e mão-
de-obra, que são limitados).

O problema a seguir retrata uma situação típica, na qual é necessário determinar


a programação da produção diária da empresa de forma a maximizar o seu lucro total.

38
Exemplo 6 (Modelo de produção considerando diferentes recursos):

Uma empresa deseja programar a produção de um utensílio de cozinha que requer


o uso de dois tipos de recursos: mão-de-obra e material. Ela está considerando a
fabricação de três modelos (A, B e C) e o seu Departamento de Engenharia forneceu os
dados presentes na tabela a seguir.

Modelos
Recursos A B C
Mão-de-obra (horas por unidade) 7 4 3
Material (kg por unidade) 4 4 5
Lucro (R$ por unidade) 4 2 3

Sabe-se que o suprimento de material é de 200 kg por dia e a disponibilidade


diária de mão-de-obra é 150 horas.

Nesse caso, formule um modelo de Programação Linear para determinar a


produção diária de cada um dos modelos de modo a maximizar o lucro total da empresa.

Solução:

1-Definir as variáveis de decisão:

As variáveis de decisão são as quantidades a serem produzidas de cada um dos


três modelos, isto é:

𝑥1 = produção diária do modelo A


𝑥2 = produção diária do modelo B

𝑥3 = produção diária do modelo C

2-Formular a função objetivo:

O objetivo é maximizar os ganhos da empresa, que é representado pelo lucro


obtida da venda dos produtos. Nesse caso, o lucro total (𝑍) é dado por:
𝑍 = 4𝑥1 + 2𝑥2 + 3𝑥3

O objetivo é a maximização do lucro, isto é:


Max 𝑍 = 4𝑥1 + 2𝑥2 + 3𝑥3

39
3-Determinar as restrições:

As restrições estão associadas às limitações dos recursos de produção, que são a


mão-de-obra (que está limitada a150 horas) e o material (que está limitado a 200 kg).
Assim, as restrições são dadas por:
7𝑥1 + 4𝑥2 + 3𝑥3 ≤ 150
4𝑥1 + 4𝑥2 + 5𝑥3 ≤ 200

4-Não negatividade das variáveis de decisão:


𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Com isso, o modelo completo se torna:


Max 𝑍 = 4𝑥1 + 2𝑥2 + 3𝑥3

Sujeito às restrições:
7𝑥1 + 4𝑥2 + 3𝑥3 ≤ 150
4𝑥1 + 4𝑥2 + 5𝑥3 ≤ 200
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

A solução desse problema de PL conduzirá aos valores de 𝑥1 , 𝑥2 e 𝑥3 que


maximizará o lucro da empresa, considerando as restrições (solução ótima).

Observe que até a presente seção foram estudadas apenas as fases de Formulação
do Problema e Construção do Modelo. A partir da próxima seção, será apresentada a
fase de Obtenção da Solução para problemas de Programação Linear.

Solução pelo Método Gráfico

Em problemas de Programação Linear que envolvam duas variáveis de decisão


tanto as soluções viáveis quanto as ótimas podem ser encontradas graficamente em um
plano cartesiano.

40
Os passos para obtenção da solução pelo método gráfico são:

1. Deve-se considerar cada restrição separadamente e fazer o gráfico de sua


respectiva função (desenhar cada uma das retas) no plano cartesiano, contendo
os eixos 𝑥1 (eixo x ou eixo horizontal) e 𝑥2 (eixo y ou eixo vertical).
2. Assim, as restrições serão linhas retas no plano em que as coordenadas são as
duas variáveis de decisão. A região delimitada pelos eixos e pelas retas das
restrições é chamada de região permissível (ou região possível), que contém as
soluções viáveis.
3. A solução ótima do problema de PL (ou as soluções ótimas) estará em um dos
pontos extremos da região permissível, também chamados de pontos críticos.
Para cada um dos pontos críticos é calculado o valor da função objetivo. Os valores
das variáveis que maximizam (ou minimizam) a função objetivo será a solução
ótima.

Considere o exemplo a seguir:


Max 𝐿 = 5𝑥1 + 9𝑥2

Sujeito a:
2𝑥1 + 4𝑥2 ≤ 16 (1)
𝑥1 ≤ 4 (2)
𝑥2 ≤ 3 (3)
𝑥1 , 𝑥2 ≥ 0 (4)

Em primeiro lugar deve ser calculado o valor de 𝐿 (função objetivo) para 𝑥1 = 0 e


𝑥2 = 0. Essa solução é chamada de “solução óbvia”. Assim, substituindo na função
objetivo, a solução óbvia é:
𝐿 (0,0) = 5 ∙ 0 + 9 ∙ 0 = 0

A solução óbvia é então 𝐿 (0,0) = 0

Para encontrar as demais soluções é preciso representar as restrições no plano


cartesiano contendo os eixos 𝑥1 (horizontal) e 𝑥2 (vertical).

O gráfico a seguir apresenta as restrições 2 e 3, que são as retas 𝑥1 = 4 (reta


vertical) e 𝑥2 = 3 (reta horizontal). Além disso, note que apenas o primeiro quadrante é
considerado, pois a restrição 4 (não negatividade) impõem que 𝑥1 e 𝑥2 sejam não
negativos.

41
A restrição 1 também deve ser representada como uma reta. Para isso, deve-se
isolar o termo 𝑥2 dessa inequação:
2𝑥1 + 4𝑥2 ≤ 16
4𝑥2 ≤ 16 − 2𝑥1
16 − 2𝑥1
𝑥2 ≤
4
𝑥1
𝑥2 ≤ 4 −
2
Adicionando essa reta ao plano cartesiano obtém-se a região permissível, que
contém as soluções viáveis do problema.

Observe que cada um dos prontos críticos (são os extremos) está em destaque na
figura: A(0,0); B(4,0); C(4,2); D(2,3) e E(0,3). O ponto A(0,0) é a solução óbvia que já foi
calculada anteriormente. Note também que cada ponto crítico representa a interseção
entre duas retas (entre duas funções, entre uma função e um eixo, ou entre dois eixos).

42
A partir daí é preciso calcular o valor da função objetivo para cada um desses
pontos críticos:

Para A(0,0): 𝐿(0,0) = 5 ∙ 0 + 9 ∙ 0 = 0

Para B(4,0): 𝐿(4,0) = 5 ∙ 4 + 9 ∙ 0 = 20

Para C(4,2): 𝐿(4,2) = 5 ∙ 4 + 9 ∙ 2 = 38

Para D(2,3): 𝐿(2,3) = 5 ∙ 2 + 9 ∙ 3 = 37

Para E(0,3): 𝐿(0,3) = 5 ∙ 0 + 9 ∙ 3 = 27

A figura a seguir apresenta esses resultados:

Logo, como o maior valor encontrado foi 𝐿(4,2) = 38, a solução ótima para este
problema de PL é 𝑥1 = 4 e 𝑥2 = 2.

Para exercitar o método gráfico considere o exemplo a seguir.

Exemplo 7:
Max 𝑧 = 5𝑥1 + 4𝑥2

Sujeito a:
6𝑥1 + 4𝑥2 ≤ 24 (1)
𝑥1 + 2𝑥2 ≤ 6 (2)
−𝑥1 + 𝑥2 ≤ 1 (3)
𝑥2 ≤ 2 (4)
𝑥1 , 𝑥2 ≥ 0 (5)

43
Em primeiro lugar deve ser calculado o valor de 𝑧 (função objetivo) para 𝑥1 = 0 e
𝑥2 = 0, isto é, a “solução óbvia”:
𝑧(0,0) = 5 ∙ 0 + 4 ∙ 0 = 0

Para encontrar as demais soluções é preciso representar as restrições no plano


cartesiano contendo os eixos 𝑥1 (horizontal) e 𝑥2 (vertical). É importante ressaltar que a
restrição 5 (não negatividade das variáveis) restringe a área da região das soluções
viáveis ao primeiro quadrante (ou seja, acima do eixo 𝑥1 e à direita do eixo 𝑥2 ).

Na restrições restante, é preciso encontrar as retas correspondentes a cada uma


delas.

Para a restrição 1:
6𝑥1 + 4𝑥2 ≤ 24
4𝑥2 ≤ 24 − 6𝑥1
3𝑥1
𝑥2 ≤ 6 −
2
Para a restrição 2:
𝑥1 + 2𝑥2 ≤ 6
2𝑥2 ≤ 6 − 𝑥1
𝑥1
𝑥2 ≤ 3 −
2
Para a restrição 3:
−𝑥1 + 𝑥2 ≤ 1
𝑥2 ≤ 1 + 𝑥1

A restrição 4 restringe a solução aos pontos abaixo da reta horizontal 𝑥2 = 2:


𝑥2 ≤ 2

Adicionando cada uma dessas retas ao plano cartesiano obtém-se a região


permissível, que contém as soluções viáveis para o problema. É importante ressaltar
que cada ponto extremo (ponto crítico) é a interseção entre duas retas (ou entre uma
reta e um eixo, ou entre dois eixos). Por exemplo, o ponto A é a interseção entre o eixo
vertical (𝑥1 = 0) e o eixo horizontal (𝑥2 = 0); o ponto B é a interseção entre a reta da
restrição 1 (6𝑥1 + 4𝑥2 = 24) e o eixo horizontal (𝑥2 = 0), o que resulta em 𝑥1 = 4; o ponto
C é a interseção entre a reta da restrição 1 (6𝑥1 + 4𝑥2 = 24) e a reta da restrição 2 (𝑥1 +
2𝑥2 ≤ 6), e assim por diante.

44
Os pontos críticos são: A(0 , 0); B(4 , 0); C(3 , 1,5), D(2 , 2), E(1 , 2) e F(0 , 1).

Observe que, para encontrar o ponto C é preciso igualar as retas da restrição 1 e


da restrição 2, ou seja:
3𝑥1 𝑥1
𝑥2 = 6 − = 3−
2 2
3𝑥1 𝑥1
6− =3−
2 2
3𝑥1 𝑥1
− + = 3−6
2 2
−𝑥1 = −3
𝑥1 = 3

Substituindo em qualquer uma das duas equações:


3𝑥1 3∙3 9
𝑥2 = 6 − =6− = 6 − = 6 − 4,5 = 1,5
2 2 2
𝑥2 = 1,5

45
A partir daí é preciso calcular o valor da função objetivo para cada um desses
pontos críticos:

Para A(0 , 0): 𝑧 = 5 ∙ 0 + 4 ∙ 0 = 0

Para B(4 , 0): 𝑧 = 5 ∙ 4 + 4 ∙ 0 = 20

Para C(3 , 1,5): 𝑧 = 5 ∙ 3 + 4 ∙ 1,5 = 21

Para D(2 , 2): 𝑧 = 5 ∙ 2 + 4 ∙ 2 = 18

Para E(1 , 2): 𝑧 = 5 ∙ 1 + 4 ∙ 2 = 13

Para F(0 , 1): 𝑧 = 5 ∙ 0 + 4 ∙ 1 = 4

Logo, a solução ótima é 𝑥1 = 3 e 𝑥2 = 1,5, que resulta em 𝑧 = 21.

É importante ressaltar que a solução ótima de um problema de PL pelo método


gráfico é sempre um ponto extremo (ponto crítico) da região de soluções (em que duas
retas se cruzam).

Apesar de simples, o método gráfico para solução de problemas de PL não é muito


útil, uma vez que a maior parte dos problemas reais possuem mais de duas variáveis de
decisão. Ainda assim, do ponto de vista didático, o método gráfico trouxe uma abordagem
viável para solucionar problemas de PL.

Naturalmente será preciso introduzir uma abordagem mais robusta, que seja
capaz de solucionar qualquer tipo de problema de PL. Uma solução conhecida, que será
tratada na próxima seção, é o método Simplex. A partir do método Simplex é possível
encontrar a solução do problema de PL para qualquer que seja o número de variáveis de
decisão (contudo, ele é mais complexo do que o método gráfico).

É importante destacar ainda que em situações reais os modelos apresentam um


número considerável de variáveis e restrições que inviabilizam uma resolução manual.
Nesse caso, é recomendada a utilização de softwares específicos para PL. Entretanto,
uma vez que estamos aprendendo os fundamento da PL, resolveremos esses problemas
de forma manual.

Outro ponto a ser observado se deve às limitações da Programação Linear. É fato


que os problemas reais nem sempre são lineares. Poderiam haver relações como o
produto de variáveis (𝑥1 𝑥2 ), potências de variáveis (𝑥14 ), ou qualquer tipo de função
(3 log 𝑥1 + 4 𝑠𝑒𝑛 𝑥2 ). Essas relações tornariam o problema não linear e, portanto, para a
Programação Linear elas não são permitidas.

46
Em termos mais gerais, a linearidade pode ser caracterizada por certas
propriedades aditivas e multiplicativas:

 Por exemplo, se são necessárias 𝑥1 horas sobre uma máquina A para fazer o
produto 1 e 𝑥2 horas para fazer o produto 2, o tempo sobre a máquina A destinado
aos produtos 1 e 2 é 𝑥1 + 𝑥2 . Nesse caso, a propriedade aditiva parece bastante
razoável, desde que o tempo requerido para ajustar a máquina para uma operação
diferente (tempo de setup) quando a produção troca de um produto para outro
seja desprezível (caso contrário, esse tempo será maior). É importante observar
que nem todos os processos possuem a propriedade aditiva. Por exemplo, ao se
misturar vários líquidos de diferentes composições químicas nem sempre o
volume total da mistura é a soma dos volumes dos constituintes individuais.
 A propriedade multiplicativa requer que: 1-Se for necessário uma hora de uma
determinada máquina para fazer um único item, serão necessárias dez horas para
fazer dez itens (isso nem sempre é verdadeiro; por exemplo, se considerarmos uma
curva de aprendizagem, os operadores tendem a fabricar os itens cada vez mais
rápido); 2-O lucro total da venda de um dado número de unidades de um produto
é o lucro unitário vezes o número de unidades vendidas (isso também nem sempre
é verdadeiro; em geral, o lucro não é diretamente proporcional ao número de
unidades vendidas, mesmo se o preço de venda é constante, uma vez que os custos
de fabricação por unidade tendem a diminuir conforme a quantidade produzida
aumenta – isso é denominado “economia de escala”).

Logo, a linearidade, característica de uma modelagem por Programação Linear,


nem sempre é uma representação absolutamente precisa do mundo real. Felizmente, a
linearidade é muitas vezes uma aproximação suficientemente precisa das condições
reais, de modo que ela pode fornecer resultados bastante proveitosos.

Além disso, nos modelos de PL, os coeficientes são considerados como constantes
e conhecidos, o que nem sempre condiz com a realidade (na qual esses coeficientes são
normalmente aleatórios e imprevisíveis). Em um primeiro momento nós tenderíamos a
acreditar que a única forma de modelar essas situações reais seria utilizando modelos
probabilísticos. Contudo, a Programação Linear fornece técnicas de Análise de
Sensibilidade, através da qual é possível obter os intervalos desses coeficientes em que
a solução ótima não se altera.

Portanto, é justo afirmar que a Programação Linear permite a construção de


modelos para solucionar um vasto número de problemas práticos importantes de forma
satisfatória. Por conta disso, o número e a diversidade de suas aplicações continuam
crescendo.
47
EXERCÍCIOS DE FIXAÇÃO – CAPÍTULO 1
(1) IF-RS - 2016 - Professor - Engenheiro de Produção

“Um problema de programação linear (PPL) é um problema de programação matemática


em que as funções-objetivo e de restrições são lineares” (LACHTERMACHER, 2009, p.
20). Assinale a única alternativa que apresenta a forma-padrão de um problema de
programação linear.

A. Min Z = 4x1 + 3x2


s.r.
x1 ≤ 2
x2 ≤ 4
x1 + x2 ≤ 5
x1, x2 ≤ 0
B. Max Z = 4x1 + 3x2
s.r.
x1 ≥ 2
x2 ≤ 4
x1 + x2 ≤ 5
x1, x2 ≤ 0
C. Max Z = 4x1 + 3x2
s.r.
x1 ≤ 2
x2 ≤ 4
x1 + x2 ≤ 5
x1, x2 ≥ 0
D. Max Z = 4x1 + 3x2
s.r.
x1 ≤ 2
x2 ≤ 4
x1 + x2 = 5
x1, x2 ≥ 0
E. Min Z = 4x1 + 3x2
s.r.
x1 ≤ 2
x2 ≤ 4
x1 + x2 = 5
x1, x2 ≥ 0

48
(2) IBFC - 2017 - EBSERH - Analista Administrativo

São características necessárias para resolução de problemas de Programação Linear,


exceto:

A. Divisibilidade

B. Certeza

C. Proporcionalidade

D. Aditividade

E. Neutralidade

(3) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior

As hipóteses de programação linear, do ponto de vista matemático, consistem no fato de


que o modelo deve ter uma função objetivo linear sujeita a restrições lineares.

São hipóteses da programação linear, EXCETO, a seguinte:

A. Aditividade

B. Certeza

C. Divisibilidade

D. Exponenciação

E. Proporcionalidade

49
(4) ENADE 2014 – Engenheiro de Produção

Uma fábrica produz dois refrigerantes: A e B. Para produzi-los, utilizam-se vários


recursos, entre os quais os extratos e a água são os mais limitantes, devido a problemas
ecológicos.

Para produzir um litro de refrigerante A, o processo envolve a dissolução de um pacote


de extrato (denominado Delta) em um litro de água, além de outros recursos que não
são limitantes.

Já a produção de um litro de refrigerante B, além da dissolução de um pacote de extrato


(denominado Gama) em um litro de água, exige mais um litro de água para o processo
de arrefecimento, além de outros recursos que não são limitantes.

Sabe-se que:

a) O lucro gerado por litro de A é R$ 5, enquanto que o lucro por litro de B é R$ 2.

b) O fornecedor de extratos só consegue entregar 3000 pacotes de extrato Delta e 4000


pacotes Gama, semanalmente.

c) Há um fator ambiental limitante de 9000 litros de água por semana.

Denominando de X1 a quantidade de litros de refrigerante A e, de X2, a quantidade de


refrigerante B a serem produzidos, qual deverá ser o plano de produção semanal viável
para gerar o maior lucro a essa fábrica, dentro das condições apresentadas?

A. X1 = 0; X2 = 0

B. X1 =0; X2 = 4000

C. X1 = 3000 e X2 = 4000

D. X1 = 3000 e X2 = 3000

E. X1 = 1000 e X2 = 4000

50
(5) ENADE 2011 – Engenheiro de Produção

Uma indústria que trabalha sob encomenda quer definir a política ótima de produção
para os próximos quatro trimestres.

Os pedidos colocados em carteira (demanda) bem como os custos fixos de setup (K) e os
custos unitários de produção (c) e estoques (h) são apresentados na tabela a seguir

A política ótima de produção pode ser determinada pelo algoritmo de Wagner-Whitin e


Zangwill (JOHNSON e MONTGOMERY, 1974), que objetiva minimizar os custos totais
período a período, de acordo com a fórmula:

Na situação descrita, considerando que a indústria dispõe de capacidade para produzir,


no máximo, 150 itens por período, e que o custo total no período 5 é nulo, a política ótima
é produzir, nos períodos 1,2,3,4, respectivamente,

A. 50, 100, 0 e 50 unidades.


B. 50, 50, 100 e 0 unidades.

C. 50, 50, 50 e 50 unidades.

D. 50, 100, 50 e 0 unidades.

E. 50, 150, 0 e 0 unidades.

51
(6) ENADE 2008 – Engenheiro de Produção

O gerente de planejamento e controle da produção de uma empresa de suco concentrado


de laranja precisa decidir a mistura de matérias-primas (lotes de sucos primários) para
atender a um pedido de um importador europeu. Esse pedido inclui dois tipos de produto
final – sucos N (normal) e E (europeu fino) – que diferem entre si pela concentração
mínima de açúcar e teor máximo de acidez, conforme apresentado na tabela I abaixo. As
quantidades de cada tipo foram definidas pela área de vendas, e precisam ser
respeitadas. Para atender ao pedido, o gerente dispõe hoje, nos tanques da fábrica, de
apenas dois tipos de suco primário – G (Grande Lima) e P (Pera), cujos custos,
concentração mínima de açúcar e teor máximo de acidez estão apresentados na Tabela
II a seguir.

Os custos de fabricação do produto final a partir do suco primário são idênticos, não
importando o tipo de suco. Para produzir um tambor de produto final, é necessário um
tambor de suco primário. Para definir a quantidade de cada tipo de suco primário que a
indústria deve usar na mistura, o gerente montou um modelo de programação linear,
denominado “problema da mistura” ( blending problem), descrito a seguir.

Variáveis de decisão: Xij – quantidade (em tambores) de suco primário do tipo i para
produzir o produto final j (i = G, P; j = N, E).

Minimizar

Sujeito às seguintes restrições:

52
Considerando as informações apresentadas, as equações de (1) a (7) e o conjunto de
equações (8), julgue os próximos itens:

I. A equação (1) representa a função objetivo do modelo e significa que se deseja


minimizar o custo total de matéria-prima para se atender a demanda do pedido.

II. As equações (2) e (3) significam que as demandas por cada tipo de produto acabado
serão plenamente atendidas.

III. A equação (5) representa a restrição de mistura para o produto tipo europeu fino,
que deve ter concentração de açúcar de, no máximo, 80.

IV. A equação (6) representa a restrição de mistura para o produto tipo normal, que deve
ter teor de mistura de acidez de, no máximo, 2%;

V. A equação (7) representa a restrição de mistura para o produto tipo normal, que deve
ter teor de acidez, de no mínimo, 1%.

Estão certos apenas os itens

A. I, II e III

B. I, II e IV

C. I, III e V

D. II, IV e V

E. III, IV e V

53
(7) ENADE 2005 – Engenheiro de Produção

Uma pequena empresa fabrica apenas os produtos X e Y, em uma única máquina, que
funciona durante 40 horas por semana. O gerente decidiu rever seu mix de produção
(quantidade fabricada de cada produto) porque tinha a sensação de estar fazendo algo
errado e achava que poderia, de alguma maneira, aumentar seu lucro. Para isso, pediu
ajuda a um engenheiro de produção, que fez diversas entrevistas e resumiu os dados
adicionais, relevantes para o problema, na tabela abaixo.

O gerente explicou ao engenheiro que havia adotado o mix de produção atual porque
acreditava ser mais interessante fabricar e vender o máximo possível do produto de
maior margem de contribuição para o lucro e usar o resto da capacidade para produzir
e vender o máximo possível do outro produto de menor margem de contribuição. O
engenheiro explicou ao gerente que essa hipótese poderia levar a um mau resultado e
que seria necessário examinar melhor os “gargalos de lucro”, ou seja, as restrições que
poderiam efetivamente estar limitando o lucro.

Com base exclusivamente na situação acima, faça o que se pede nos itens a seguir,
explicando os cálculos necessários:

a) Quais são as restrições ou gargalos que limitam o lucro total semanal?

b) Formule o problema de otimização do lucro usando um modelo de programação linear.

54
(8) CESGRANRIO - 2018 - Petrobrás - Engenheiro de Produção Júnior

Considere o seguinte problema de programação linear:

Nesse problema, verifica-se que

A. x1 = 0 e x2 = 5 é uma solução viável para o problema.

B. x1 = 3 e x2 = 4 é uma solução viável para o problema.

C. x1 = 1 e x2 = 4 é uma solução inviável para o problema.


D. x1 = 3 e x2 = 3 é uma solução viável e a ótima do problema.

E. x1 = 0 e x2 = 4 é uma solução viável e a ótima do problema.

55
(9) CESGRANRIO - 2010 - IBGE - Engenheiro de Produção

O gráfico acima apresenta a solução gráfica de um problema de programação linear. Ele


representa as quantidades máximas de produção de dois itens do portfólio de uma
empresa. A linha A representa as restrições operacionais dos dois itens no departamento
de montagem e a linha B, as restrições do departamento de embalagem da empresa. As
regiões demarcadas entre as linhas tracejadas com

A. R1 referem-se à capacidade viável dos dois itens produzidos na montagem e na


embalagem.

B. R2 referem-se à capacidade viável dos dois itens produzidos na montagem e na


embalagem.

C. R1 e R2 referem-se à capacidade mínima dos dois itens produzidos na embalagem.

D. R2 e R3 referem-se à capacidade mínima dos dois itens produzidos na montagem.

E. R4 referem-se à capacidade viável dos dois itens produzidos na montagem e na


embalagem.

56
(10) CESGRANRIO - 2012 - Petrobras - Engenheiro de Produção Júnior

Considere o seguinte problema de programação linear:

Verifica-se que o valor ótimo da função objetivo é

A. 0

B. 9

C. 17

D. 18
E. 20

(11) CESGRANRIO - 2011 - Petrobras - Engenheiro de Produção Júnior

Considere o seguinte problema de Programação Linear.

Min Z = 2x1 – x2

Sujeito a

-x1 + x2 ≤ 3

2x1 – x2 ≤ 6

x1 ≥ 0

x2 ≥ 0

Qual é a solução ótima?

A. x1 = 0 e x2 = 1

B. x1 = 0 e x2 = 3

C. x1 = 1 e x2 = 0

D. x1 = 1 e x2 = 4

E. x1 = 3 e x2 = 0

57
(12) CESGRANRIO - 2014 - EPE - Analista de Pesquisa Energética

Uma empresa planeja produzir dois tipos especiais de óleo que utilizam três tipos de
matéria-prima de alto custo. A Tabela abaixo mostra a quantidade de matéria-prima
consumida na produção de cada tipo de óleo e a disponibilidade total de cada matéria-
prima na semana prevista para a produção.

Considerando que tudo que é produzido é vendido, o lucro unitário por litro de óleo
pesado é de R$ 5,00 e o do litro de óleo leve é de R$ 3,50.

Considerando o objetivo de maximizar o lucro, o modelo de programação linear


adequado, apresentado na forma canônica, no qual x1 e x2 referem-se, respectivamente,
aos óleos leve e pesado, é:

A. max Z = 3,5x1 + 5x2

10x1 + 8x2 ≤ 8000

8x1 + 16x2 ≤ 12000

15x2 ≤ 10000

x1 ,x2 ≥ 0

B. max Z = 3,5 x1 + 5 x2

10 x1 + 8x2 ≥ 8000
8x1 + 16x2 ≥ 12000

15x2 ≥ 10000

x1 ,x2 > 0

C. max Z = 3500x1 + 5000x2

10x1+ 8x2 = 8

8x1 + 16x2 = 12

15x2 = 10

x1 ,x2 > 0

D. max Z = 5x1 + 3,5x2


58
10x1 + 8x2 = 8

8x1 + 16x2 = 12

15x2 = 10

x1 ,x2 ≥ 0

E. max Z = 35x1 + 50x2

10x1 + 8x2 ≥ 8

8x1 + 16x2 ≥ 12

15x2 ≥ 10

x1 ,x2 ≥ 0

GABARITO

(1) C (2) E (3) D (4) D (5) A (6) B

(7) a) As restrições (ou gargalos) que limitam o lucro semanal são a capacidade de
produção semanal (de 40 horas) e a demanda por produto (de 50 unidades para X e de
100 unidades para Y).

b) Com isso, o modelo completo se torna:


Max 𝑍 = 80𝑥1 + 40𝑥2

Sujeito às restrições:
𝑥1 + 0,2𝑥2 ≤ 40
𝑥1 ≤ 50
𝑥2 ≤ 100
𝑥1 , 𝑥2 ≥ 0

(8) D (9) B (10) D (11) B (12) A

59
CAPÍTULO 2 – MÉTODO SIMPLEX E DUALIDADE

1-Método Simplex
2-Dualidade
3-Análise de Sensibilidade

Prof. Dr. Alexander Cascardo Carneiro

Comentários do professor
Caros alunos, esse capítulo tem por finalidade demonstrar a solução de problemas
de PL por meio do método Simplex. Em seguida, será descrita as propriedades da
dualidade e como ela pode ser usada na solução de problemas de PL. Por fim, será
tratada a análise de sensibilidade, a partir da qual pode-se verificar os impactos que as
alterações no modelo de PL, seja no coeficiente da função objetivo ou nas restrições, têm
sobre a solução ótima do problema.

60
AULA 1 – MÉTODO
SIMPLEX

Desenvolvimento do Método Simplex

Uma limitação do método gráfico para a solução de um problema de PL, como


discutido anteriormente, é que sua aplicação só é viável para problemas com duas
variáveis de decisão. Isso significa que, quando houver três ou mais variáveis de decisão
é necessário utilizar outro método para solução de problemas de PL. O recomendável,
nesse caso, é a solução tabular (ou seja, que faz uso de tabelas) conhecida como método
Simplex.

Vamos tomar o modelo que apresenta uma solução básica inicial. Suponhamos
que a função objetivo seja de maximização, que os modelos possuam restrições ≤ (menor
ou igual) e os termos da direita sejam não negativos (positivos ou iguais a zero), então
existe uma solução básica formada pelas variáveis de folga.

Exemplo:
Max 𝐿 = 3𝑥1 + 5𝑥2

Sujeito às restrições:
2𝑥1 + 4𝑥2 ≤ 10
6𝑥1 + 𝑥2 ≤ 20
𝑥1 − 𝑥2 ≤ 30
𝑥1 , 𝑥2 ≥ 0

61
Primeiro vamos transformar o sistema de inequações em um sistema de equações
com variáveis não negativas. Para isso, introduziremos em cada uma das inequações as
variáveis 𝐹1 , 𝐹2 e 𝐹3 , que representam as folgas das inequações 1, 2 e 3, isto é, a diferença
entre o segundo (termo da direita) e o primeiro membro (termos da esquerda) dessas
inequações (cada folga representa o quanto o termo da direita é maior do que os termos
da esquerda, por isso ela será sempre não negativa).

Isso tem como resultado o sistema de equações com variáveis não negativas:
2𝑥1 + 4𝑥2 + 𝐹1 = 10
6𝑥1 + 𝑥2 + 𝐹2 = 20
𝑥1 − 𝑥2 + 𝐹3 = 30
𝑥1 , 𝑥2 , 𝐹1 , 𝐹2 , 𝐹3 ≥ 0

Por definição, as variáveis de folga (𝐹1 , 𝐹2 e 𝐹3 ) são denominadas variáveis básicas,


enquanto as variáveis de decisão originais (𝑥1 e 𝑥2 ) são denominadas variáveis não
básicas.

1º Passo – Teste de otimalidade para a solução:

Este teste consiste em avaliar o efeito da permuta de uma variável básica por
outra não básica, com a consequente formação de uma nova solução. Se a entrada de
uma variável não básica puder melhorar o desempenho do sistema, a solução testada
não é ótima.

Esta avaliação é possível quando a função objetivo está escrita somente em termos
das variáveis não básicas.

Voltando ao exemplo, a função objetivo está escrita na forma:


Max 𝐿 = 3𝑥1 + 5𝑥2

Logo, a função objetivo está escrita com as variáveis não básicas.

Considere uma solução básica inicial como 𝑥1 = 0 e 𝑥2 = 0. Nesse caso, os valores


das variáveis de folga serão 𝐹1 = 10, 𝐹2 = 20 e 𝐹3 = 30. Além disso, observe que 𝐿 = 0.

Examinando a função objetivo e a solução inicial, conclui-se que:

 Se 𝑥1 entra na base com valor 1 (𝑥1 = 1), o valor de L passa de 𝐿 = 0 para 𝐿 = 3,


ou seja, aumenta 3 unidades (que é o valor do coeficiente de 𝑥1 ).
 Se 𝑥2 entra na base com valor 1 (𝑥2 = 1), o valor de L passa de 𝐿 = 0 para 𝐿 = 5,
ou seja, aumenta 5 unidades (que é o valor do coeficiente de 𝑥2 ).

62
Por outro lado, se o coeficiente de 𝑥1 ou de 𝑥2 fosse negativo, a entrada dessa
variável diminuiria o valor de 𝐿. Assim, conclui-se que enquanto a função objetivo
possuir variáveis não básicas com coeficientes positivos, ela poderá ser aumentada, e
portanto esta solução não é a solução ótima.

Considere agora a função objetivo reescrita com todas as variáveis à esquerda:


𝐿 = 3𝑥1 + 5𝑥2
𝐿 − 3𝑥1 − 5𝑥2 = 0

Note que os coeficientes que eram positivos à direita se tornam negativos quando
passados para a esquerda. Escrito dessa forma, a solução testada só será ótima quando
as variáveis não básicas apresentarem somente coeficientes positivos.

2º Passo – Cálculo da nova solução básica:


a) Variável que entra na base (isto é, variável que entra na solução básica): entra
na base a variável com coeficiente negativo de maior valor absoluto (essa regra é
denominada condição de otimalidade). A ideia é incrementar o valor de 𝐿.

Examinando a função objetivo do exemplo:


𝐿 − 3𝑥1 − 5𝑥2 = 0

Entra na base a variável 𝑥2 , pois cada unidade a mais de 𝑥2 aumenta 𝐿 em 5


unidades (ao passo que para 𝑥1 esse aumento seria de apenas 3 unidades).

b) Variável que sai da base (isto é, que sai da solução básica): sai a variável que
primeiro se anula com a entrada da variável escolhida no item anterior (nesse caso 𝑥2 ).
Ela pode ser descoberta dividindo-se os termos da direita (𝑏) das restrições pelos
coeficientes positivos da variável que entra (coeficientes de 𝑥2 nas restrições). O menor
valor indica que variável 𝑥2 desta linha é a primeira a chegar a zero conforme ela
aumenta. Esses cálculos são conhecidos como teste da razão mínima. Dados:
2𝑥1 + 𝟒𝒙𝟐 + 𝐹1 = 10
6𝑥1 + 𝒙𝟐 + 𝐹2 = 20
𝑥1 − 𝒙𝟐 + 𝐹3 = 30

Dividindo os valores à direita pelos coeficientes de 𝑥2 de cada equação, tem-se:


10
= 2,5
4
20
= 20
1
30
= −30
−1
63
A última divisão não pode ser considerada, pois resultou valor negativo (-30) para
a variável na próxima base, o que não é possível. Portanto, sai a variável da primeira
linha, no caso 𝐹1 . Logo, sai da base a menor razão não negativa (essa regra é denominada
condição de viabilidade).

c) Elemento pivô:

A coluna da variável que entra e a linha da variável que sai identificam um


elemento comum chamado de “elemento pivô”. A linha da variável que sai é chamada de
“linha pivô”, enquanto a coluna da variável que entra é chamada de “coluna pivô”. Nesse
caso, a primeira linha é a pivô, a coluna de X2 é a coluna pivô e o coeficiente 4 de 𝑥2 é o
elemento pivô.

d) Calculando a nova solução básica:

Vamos organizar a função objetivo e restrições em uma tabela formada pelos


coeficientes de cada variável e os termos independentes.

L X1 X2 F1 F2 F3 b
Tabela 1 1 -3 -5 0 0 0 0
L1 F1 0 2 4 1 0 0 10
L2 F2 0 6 1 0 1 0 20
L3 F3 0 1 -1 0 0 1 30

Note que a linha pivô é a linha 1 (L1), e portanto a variável que sai será 𝐹1 . Além
disso, os coeficientes que entram na base são os de 𝑥2 , e o elemento pivô será 4.

L X1 X2 F1 F2 F3 b
Tabela 1 1 -3 -5 0 0 0 0
L1 F1 0 2 4 1 0 0 10 Sai (linha pivô)
L2 F2 0 6 1 0 1 0 20
L3 F3 0 1 -1 0 0 1 30
Entra na base
(coluna pivô)

Deve-se então dividir a linha pivô pelo elemento pivô, obtendo-se uma linha com
o pivô unitário:

L X1 X2 F1 F2 F3 b
Linha pivô 0 2 4 1 0 0 10
Dividido por 4 0 0,5 1 0,25 0 0 2,5 Nova linha pivô

Agora, cada uma das outras linhas deve ser reescrita da seguinte maneira:

1º Multiplicar os elementos da “nova linha pivô” pelo coeficiente da variável que


entra (𝑥2 ) com sinal trocado, linha a linha.

2º Somar termo a termo com os elementos da respectiva linha.


64
Para a linha da função objetivo, o coeficiente da variável que entra é -5. Então:

L X1 X2 F1 F2 F3 b
Nova linha pivô 0 0,5 1 0,25 0 0 2,5
Multiplicar por 5 0 2,5 5 1,25 0 0 12,5 (+)
Linha da função objetivo 1 -3 -5 0 0 0 0
Nova linha da função objetivo 1 -0,5 0 1,25 0 0 12,5

Coeficiente da variável que entra na linha 2 é 1. Então:

L X1 X2 F1 F2 F3 b
Nova linha pivô 0 0,5 1 0,25 0 0 2,5
Multiplicar por (-1) 0 -0,5 -1 -0,25 0 0 -2,5 (+)
Linha 2 0 6 1 0 1 0 20
Nova linha 2 0 5,5 0 -0,25 1 0 17,5

Coeficiente da variável que entra na linha 3 é -1. Então:

L X1 X2 F1 F2 F3 b
Nova linha pivô 0 0,5 1 0,25 0 0 2,5
Multiplicar por (1) 0 0,5 1 0,25 0 0 2,5 (+)
Linha 3 0 1 -1 0 0 1 30
Nova linha 3 0 1,5 0 0,25 0 1 32,5

Reescrevendo a nova tabela com os resultados obtidos, temos:

L X1 X2 F1 F2 F3 b
Tabela 2 1 -0,5 0 1,25 0 0 12,5
L1 X2 0 0,5 1 0,25 0 0 2,5
L2 F2 0 5,5 0 -0,25 1 0 17,5
L3 F3 0 1,5 0 0,25 0 1 32,5

Observe que na linha 1 entrou 𝑥2 e saiu 𝐹1 . Note que a coluna da nova variável
básica (𝑥2 ) se tornou um vetor identidade. Com isso, chega-se a nova solução básica:

Variáveis Não básicas: 𝑥1 = 0 e 𝐹1 = 0 (termos presentes na linha da função


objetivo);

Variáveis básicas: 𝑥2 = 2,5, 𝐹2 = 17,5 e 𝐹3 = 32,5 (obtidos das demais linhas,


fazendo 𝑥1 = 0 e 𝐹1 = 0);

Valor de 𝐿: 𝐿 = 12,5 (obtido da linha da função objetivo fazendo 𝑥1 = 0 e 𝐹1 = 0).

A função objetivo na nova solução está escrita em termos das variáveis não
básicas 𝑥1 e 𝐹1 . As variáveis básicas têm coeficientes nulos.

A solução obtida tem 𝐿 = 12,5, contra um 𝐿 = 0 da solução inicial. É melhor, mas


não é ótima, pois o coeficiente de 𝑥1 na nova função objetivo é negativo.
65
Cálculo da nova solução:

Observe que 𝑥1 possui o maior coeficiente negativo (e portanto ele deve entrar) na
base.

L X1 X2 F1 F2 F3 b b/X1
Tabela 2 1 -0,5 0 1,25 0 0 12,5
L1 X2 0 0,5 1 0,25 0 0 2,5 5,0
L2 F2 0 5,5 0 -0,25 1 0 17,5 3,18 Sai
L3 F3 0 1,5 0 0,25 0 1 32,5 21,67
Entra

Note que o menor valor positivo para a divisão entre o termo do lado direito e o
coeficiente de 𝑥1 ocorreu para a linha 2. Logo, 𝐹2 deve sair da base. Além disso, o
elemento pivô é 5,5.

A Nova linha pivô (linha pivô dividida por 5,5) é dada por:

L X1 X2 F1 F2 F3 b
Linha pivô 0 5,5 0 -0,25 1 0 17,5
Dividido por 5,5 0 1 0 -0,045 0,18 0 3,18 Nova linha pivô

O coeficiente da variável que entra (𝑥1 ) na linha da função objetivo é -0,5. Então:

L X1 X2 F1 F2 F3 b
Nova linha pivô 0 1 0 -0,045 0,18 0 3,18
Multiplicar por 0,5 0 0,5 0 -0,02 0,091 0 1,59 (+)
Linha da função objetivo 1 -0,5 0 1,25 0 0 12,5
Nova linha da função objetivo 1 0 0 1,227 0,09 0 14,09

O coeficiente da variável que entra na linha 1 é 0,5. Então:

L X1 X2 F1 F2 F3 b
Nova linha pivô 0 1 0 -0,045 0,18 0 3,18
Multiplicar por -0,5 0 -0,5 0 0,0227 -0,09 0 -1,59 (+)
Linha 1 0 0,5 1 0,25 0 0 2,5
Nova linha 1 0 0 1 0,273 -0,09 0 0,91

O coeficiente da variável que entra na linha 3 é 1,5. Então:

L X1 X2 F1 F2 F3 b
Nova linha pivô 0 1 0 -0,045 0,18 0 3,18
Multiplicar por -1,5 0 -1,5 0 0,068 -0,27 0 -4,77 (+)
Linha 3 0 1,5 0 0,25 0 1 32,5
Nova linha 3 0 0 0 0,318 -0,27 1 27,73

66
Reescrevendo a nova tabela com os resultados obtidos, temos:

L X1 X2 F1 F2 F3 b
Tabela 3 1 0 0 1,227 0,09 0 14,09
L1 X2 0 0 1 0,273 -0,09 0 0,91
L2 X1 0 1 0 -0,045 0,18 0 3,18
L3 F3 0 0 0 0,318 -0,27 1 27,73

Observe que na linha 2 entrou 𝑥1 e saiu 𝐹2 . Note que a coluna da nova variável
básica (𝑥1 ) se tornou um vetor identidade. Com isso, chega-se a nova solução básica:

Variáveis Não básicas: 𝐹1 = 0 e 𝐹2 = 0 (termos presentes na linha da função


objetivo);

Variáveis básicas: 𝑥1 = 3,18, 𝑥2 = 0,91 e 𝐹3 = 27,73 (obtidos das demais linhas,


fazendo 𝐹1 = 0 e 𝐹2 = 0);
Valor de 𝐿: 𝐿 = 14,09 (obtido da linha da função objetivo fazendo 𝐹1 = 0 e 𝐹2 = 0).

A função objetivo na nova solução está escrita em termos das variáveis não
básicas 𝐹1 e 𝐹2 , pois os coeficientes das variáveis básicas são nulos (observe que os
coeficientes de 𝑥1 e de 𝑥2 são nulos na função objetivo).

O valor de 𝐿 passou de 𝐿 = 12,5 para 𝐿 = 14,09. Essa solução é ótima, pois os


coeficientes das variáveis não básicas na função objetivo são positivos. Nesse momento,
se 𝐹1 ou 𝐹2 entrar na base, o valor de 𝐿 diminui, contrariando o objetivo. Além disso,
temos os valores ótimos de 𝑥1 = 3,18 e 𝑥2 = 0,91.

Vale ressaltar que, como 𝐹1 = 0 e 𝐹2 = 0 significa que as restrições 1 e 2 não tem


folga (ou seja, são elas que “limitam” a função objetivo). Nesse caso, ao utilizar o método
gráfico, a solução ótima será o ponto de “quina” formado pela interseção entre as
restrições 1 e 2.

Experimente solucionar essa questão usando a calculadora PHPSimplex:


http://www.phpsimplex.com/simplex/simplex.htm?l=pt

67
Procedimento padrão para solução via Método Simplex

Essa seção apresenta um procedimento padrão para solucionar os problemas de


PL via método Simplex.

Para isso partiremos do seguinte exemplo:


Max 𝑍 = 2𝑥1 + 3𝑥2 + 𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 + 𝑥3 ≤ 40
2𝑥1 + 𝑥2 − 𝑥3 ≤ 20
3𝑥1 + 2𝑥2 − 𝑥3 ≤ 30
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Note que agora nosso sistema tem três variáveis.

Passo 1: colocar as variáveis de folga e as variáveis da função objetivo à esquerda


e transformar as inequações em equações, introduzindo as variáveis de folga.
Max 𝑍 − 2𝑥1 − 3𝑥2 − 𝑥3 = 0
𝑥1 + 𝑥2 + 𝑥3 + 𝐹1 = 40
2𝑥1 + 𝑥2 − 𝑥3 + 𝐹2 = 20
3𝑥1 + 2𝑥2 − 𝑥3 + 𝐹3 = 30
𝑥1 , 𝑥2 , 𝑥3 , 𝐹1 , 𝐹2 , 𝐹3 ≥ 0

O que resulta no quadro:

Z X1 X2 X3 F1 F2 F3 b
Tabela 1 1 -2 -3 -1 0 0 0 0
L1 F1 0 1 1 1 1 0 0 40
L2 F2 0 2 1 -1 0 1 0 20
L3 F3 0 3 2 -1 0 0 1 30

Passo 2: Solução básica inicial:

Variáveis Não básicas: 𝑥1 = 0; 𝑥2 = 0 e 𝑥3 = 0

Variáveis básicas: 𝐹1 =40; 𝐹2 = 20 e 𝐹3 = 30

Valor de Z: 𝑍 = 0

68
Passo 3: Teste da solução: A solução não é ótima, pois tem coeficientes negativos
na função objetivo.

Passo 4: Cálculo da nova solução:

 Variável que entra: 𝑥2 (coeficiente negativo da função objetivo de maior valor


absoluto).
 Variável que sai (termos independentes b divididos pelos coeficientes de 𝑥2 ):

Assim:

Z X1 X2 X3 F1 F2 F3 b b/X2
Tabela 1 1 -2 -3 -1 0 0 0 0
L1 F1 0 1 1 1 1 0 0 40 40
L2 F2 0 2 1 -1 0 1 0 20 20
L3 F3 0 3 2 -1 0 0 1 30 15 Sai
Entra

Sai o menor valor (15), logo sai a variável da linha 3 (𝐹3 )


Linha pivô: linha 3

Elemento pivô: 2

Dividindo a linha pivô por 2, temos:

Z X1 X2 X3 F1 F2 F3 b
Linha pivô 0 3 2 -1 0 0 1 30
Dividido por 2 0 1,5 1 -0,5 0 0 0,5 15 Nova linha pivô

Cálculo da nova linha de Z (coeficiente da variável que entra = -3)

Z X1 X2 X3 F1 F2 F3 b
Nova linha pivô 0 1,5 1 -0,5 0 0 0,5 15
Multiplicar por 3 0 4,5 3 -1,5 0 0 1,5 45 (+)
Linha Z 1 -2 -3 -1 0 0 0 0
Nova linha Z 1 2,5 0 -2,5 0 0 1,5 45

Cálculo da nova linha 1 (coeficiente da variável que entra = 1)

Z X1 X2 X3 F1 F2 F3 b
Nova linha pivô 0 1,5 1 -0,5 0 0 0,5 15
Multiplicar por -1 0 -1,5 -1 0,5 0 0 -0,5 -15 (+)
Linha 1 0 1 1 1 1 0 0 40
Nova linha 1 0 -0,5 0 1,5 1 0 -0,5 25

69
Cálculo da nova linha 2 (coeficiente da variável que entra = 1)

Z X1 X2 X3 F1 F2 F3 b
Nova linha pivô 0 1,5 1 -0,5 0 0 0,5 15
Multiplicar por -1 0 -1,5 -1 0,5 0 0 -0,5 -15 (+)
Linha 2 0 2 1 -1 0 1 0 20
Nova linha 2 0 -0,5 0 -0,5 0 1 -0,5 5

Reescrevendo a nova tabela, temos (Voltando ao Passo 1):

Z X1 X2 X3 F1 F2 F3 b
Tabela 2 1 2,5 0 -2,5 0 0 1,5 45
L1 F1 0 -0,5 0 1,5 1 0 -0,5 25
L2 F2 0 -0,5 0 -0,5 0 1 -0,5 5
L3 X2 0 1,5 1 -0,5 0 0 0,5 15

Passo 2: Nova solução:

Variáveis Não básicas: 𝑥1 = 0; 𝑥3 = 0 e 𝐹3 = 0

Variáveis básicas: 𝑥2 = 15; 𝐹1 = 25 e 𝐹2 = 5

Valor de Z: 𝑍 = 45

Passo 3: Teste da solução: A solução não é ótima, pois tem coeficientes negativos
na função objetivo (coeficiente de 𝑥3 que é igual a -2,5).

Passo 4: Cálculo da nova solução:

 Variável que entra: 𝑥3 (coeficiente negativo da função objetivo de maior valor


absoluto).
 Variável que sai (termos independentes b divididos pelos coeficientes de 𝑥3 ):

Assim:

Z X1 X2 X3 F1 F2 F3 b b/X3
Tabela 2 1 2,5 0 -2,5 0 0 1,5 45
L1 F1 0 -0,5 0 1,5 1 0 -0,5 25 16,67 Sai
L2 F2 0 -0,5 0 -0,5 0 1 -0,5 5 -10
L3 X2 0 1,5 1 -0,5 0 0 0,5 15 -30
Entra

Sai o de menor valor: desconsidere os valores negativos, pois dariam valores


negativos para as variáveis na próxima solução. Sai, portanto, a variável da linha L 1:
F1.

70
Linha pivô: linha 1

Elemento pivô: 1,5

Dividindo a linha pivô por 1,5, temos:

Z X1 X2 X3 F1 F2 F3 b
Linha pivô 0 -0,5 0 1,5 1 0 -0,5 25
Dividido por 1,5 0 -0,33 0 1 0,67 0 -0,33 16,67 Nova linha pivô

Cálculo da nova linha de Z (coeficiente da variável que entra = -2,5)

Z X1 X2 X3 F1 F2 F3 b
Nova linha pivô 0 -0,33 0 1 0,67 0 -0,33 16,67
Multiplicar por 2,5 0 -0,83 0 2,5 1,68 0 -0,83 41,68 (+)
Linha Z 1 2,5 0 -2,5 0 0 1,5 45
Nova linha Z 1 1,68 0 0 1,68 0 0,68 86,68

Cálculo da nova linha 2 (coeficiente da variável que entra = -0,5)

Z X1 X2 X3 F1 F2 F3 b
Nova linha pivô 0 -0,33 0 1 0,67 0 -0,33 16,67
Multiplicar por 0,5 0 -0,17 0 0,5 0,34 0 -0,17 8,34 (+)
Linha 2 0 0,5 0 -0,5 0 1 -0,5 5
Nova linha 2 0 0,34 0 0 0,34 1 -0,67 13,34

Cálculo da nova linha 3 (coeficiente da variável que entra = -0,5)

Z X1 X2 X3 F1 F2 F3 b
Nova linha pivô 0 -0,33 0 1 0,67 0 -0,33 16,67
Multiplicar por 0,5 0 -0,17 0 0,5 0,34 0 -0,17 8,34 (+)
Linha 3 0 1,5 1 -0,5 0 0 0,5 15
Nova linha 3 0 1,34 1 0 0,34 0 0,34 23,34

Reescrevendo a nova tabela, temos (Voltando ao Passo 1):

Z X1 X2 X3 F1 F2 F3 b
Tabela 3 1 1,68 0 0 1,68 0 0,68 86,68
L1 X3 0 -0,33 0 1 0,67 0 -0,33 16,67
L2 F2 0 0,34 0 0 0,34 1 -0,67 13,34
L3 X2 0 1,34 1 0 0,34 0 0,34 23,34

Passo 2: Nova solução:

Variáveis Não básicas: 𝑥1 = 0; 𝐹1 = 0 e 𝐹3 = 0

Variáveis básicas: 𝑥2 = 23,34; 𝑥3 = 16,67e 𝐹2 = 13,34

Valor de Z: 𝑍 = 86,68
71
Passo 3: Essa nova solução é ótima, pois todos os coeficientes das variáveis na
função objetivo são positivos. Temos o valor máximo de 𝑍 = 86,68, obtido com 𝑥1 = 0, 𝑥2
= 23,34 e 𝑥3 = 16,67.

Experimente solucionar essa questão usando a calculadora PHPSimplex:

http://www.phpsimplex.com/simplex/simplex.htm?l=pt

Variação das aplicações do Método Simplex

Nos exemplos que foram resolvidos até agora pelo método tabular Simplex, as
restrições eram todas do tipo ≤ com os termos da direita positivos. O acréscimo das
variáveis de folga fornece nesse caso uma solução básica inicial.

Veremos agora os demais tipos:

1. A restrição é do tipo ≥: a variável de folga tem valor negativo, quando se anulam


as variáveis de decisão.
2. A restrição é do tipo =: não receba a variável de folga.

Quando estes tipos de restrições ocorrem, acrescentamos variáveis auxiliares 𝑎𝑖


com formação de um novo modelo. A solução básica inicial do novo modelo é formada
pelas variáveis de folga das restrições do tipo ≤ e pelas variáveis auxiliares 𝑎𝑖 .

Exemplo:
Max 𝑍 = 𝑥1 + 𝑥2 + 𝑥3

Sujeito às restrições:
2𝑥1 + 𝑥2 − 𝑥3 ≤ 10
𝑥1 + 𝑥2 + 2𝑥3 ≥ 20
2𝑥1 + 𝑥2 + 3𝑥3 = 60
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

72
Passo 1: Acrescentar as variáveis de folga:
2𝑥1 + 𝑥2 − 𝑥3 + 𝐹1 = 10
𝑥1 + 𝑥2 + 2𝑥3 − 𝐹2 = 20
2𝑥1 + 𝑥2 + 3𝑥3 = 60
Como descrito anteriormente, o termo −𝐹2 foi adicionado, uma vez que a restrição
é do tipo ≥.

Entretanto, nessas condições não há solução básica inicial, devidos às restrições


2 e 3. Observe que, pela restrição 2: 𝐹2 = −20, que não pode ser uma solução inicial
devido ao princípio da não negatividade (𝐹2 ≥ 0). Já na restrição 3 não existe variável
para fazer parte da solução básica inicial, o que resultaria em 0 = 60, que é
matematicamente falso. Por conta disso, deverá haver uma etapa adicional dentro do
passo 1.

Acrescentar variáveis auxiliares (também chamadas de variáveis artificiais) na


segunda e na terceira restrição:
2𝑥1 + 𝑥2 − 𝑥3 + 𝐹1 = 10
𝑥1 + 𝑥2 + 2𝑥3 − 𝐹2 + 𝑎2 = 20
2𝑥1 + 𝑥2 + 3𝑥3 + 𝑎3 = 60
𝑥1 , 𝑥2 , 𝑥3 , 𝐹1 , 𝐹2 , 𝑎2 , 𝑎3 ≥ 0

A partir daí temos uma solução básica inicial: 𝐹1 = 10, 𝑎2 = 20 e 𝑎3 = 60 com todas
as outras variáveis nulas.

Além dessa variação nas restrições, existe também a possibilidade de a função


objetivo ser de minimização. Nesse caso, deve-se multiplicar a função objetivo por -1.
Assim, obtém-se uma função equivalente para a maximização.
Exemplo:
Min 𝑍 = 3𝑥1 − 4𝑥2 + 𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 − 𝑥3 ≤ 10
2𝑥1 + 𝑥2 + 𝑥3 ≤ 20
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

73
O modelo equivalente será então:
−Z = −3𝑥1 + 4𝑥2 − 𝑥3

Então:
Max 𝑍 = −3𝑥1 + 4𝑥2 − 𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 − 𝑥3 ≤ 10
2𝑥1 + 𝑥2 + 𝑥3 ≤ 20
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Resolvido o modelo equivalente, teremos a solução do modelo original com a troca


do sinal de Z. Por exemplo, a solução desse problema é 𝑥1 = 0, 𝑥2 = 15 e 𝑥3 = 5, o que
resulta em 𝑍 = 55. Contudo, na minimização temos que fazer −Z = −55. Logo, a solução
desse problema de minimização é 𝑥1 = 0, 𝑥2 = 15 e 𝑥3 = 5, que resulta em 𝑍 = −55.

O método das duas fases:


Esse método foi desenvolvido para atender a equações e inequações dos tipos = e
≥, nas quais são acrescentadas as variáveis auxiliares (ou artificiais). O objetivo é, em
uma primeira fase, minimizar a soma das variáveis artificiais até obter o valor de zero.
Ao final da primeira fase chega-se a um problema que pode ser resolvido pelo método
Simplex convencional (na segunda fase).

Começaremos a estudar esse método construindo uma função objetivo auxiliar (ou
artificial) 𝑊, formada pela soma das variáveis auxiliares:
𝑊 = 𝑎1 + 𝑎2 + 𝑎3 + ⋯ + 𝑎𝑛

A função 𝑊 deve ser escrita em termos das variáveis originais na forma de uma
função objetivo de minimização. O objetivo é minimizar 𝑊, pois as variáveis auxiliares
devem ser iguais a zero (para evitar inconsistências matemáticas).
Quando as variáveis auxiliares forem não básicas, então:
𝑎1 = 𝑎2 = 𝑎3 = ⋯ = 𝑎𝑛 = 0

Logo:
𝑊=0

Quando isso ocorrer a fase 1 estará terminada e haverá uma nova função objetivo
𝑍 a ser resolvida (fase 2) via método Simplex convencional (ou seja, teremos um modelo
original com solução básica inicial, dando início aos cálculos para se chegar na solução
ótima).

74
Exemplo:
Max 𝑍 = 𝑥1 + 𝑥2 + 𝑥3

Sujeito às restrições:
2𝑥1 + 𝑥2 − 𝑥3 ≤ 10
𝑥1 + 𝑥2 + 2𝑥3 ≥ 20
2𝑥1 + 𝑥2 + 3𝑥3 = 60
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Passo 1: Adicionamos as variáveis de folga e as variáveis auxiliares (como foi feito


anteriormente):
2𝑥1 + 𝑥2 − 𝑥3 + 𝐹1 = 10
𝑥1 + 𝑥2 + 2𝑥3 − 𝐹2 + 𝑎2 = 20
2𝑥1 + 𝑥2 + 3𝑥3 + 𝑎3 = 60
𝑥1 , 𝑥2 , 𝑥3 , 𝐹1 , 𝐹2 , 𝑎2 , 𝑎3 ≥ 0

Definimos a função objetivo auxiliar:


𝑊 = 𝑎2 + 𝑎3

Isolando 𝑎2 na segunda restrição e isolando 𝑎3 na restrição 3:


𝑎2 = −𝑥1 − 𝑥2 − 2𝑥3 + 𝐹2 + 20
𝑎3 = −2𝑥1 − 𝑥2 − 3𝑥3 + 60

Logo:
𝑊 = 𝑎2 + 𝑎3 = −𝑥1 − 𝑥2 − 2𝑥3 + 𝐹2 + 20 − 2𝑥1 − 𝑥2 − 3𝑥3 + 60
𝑊 = −3𝑥1 − 2𝑥2 − 5𝑥3 + 𝐹2 + 80

Como o objetivo é minimizar 𝑊, então:


−𝑊 = 3𝑥1 + 2𝑥2 + 5𝑥3 − 𝐹2 − 80
E o problema passa a ser:
Max 𝑊 = 3𝑥1 + 2𝑥2 + 5𝑥3 − 𝐹2 − 80

Resultando em:
𝑊 − 3𝑥1 − 2𝑥2 − 5𝑥3 + 𝐹2 = −80

75
O quadro com a função auxiliar fica:

Z-W X1 X2 X3 F1 F2 a2 a3 b
Tabela 1 1 -1 -1 -1 0 0 0 0 0
L1 F1 0 2 1 -1 1 0 0 0 10
L2 a2 0 1 1 2 0 -1 1 0 20
L3 a3 0 2 1 3 0 0 0 1 60
-W -1 -3 -2 -5 0 1 0 0 -80

Passo 2: Solução básica inicial:

Variáveis Não básicas: 𝑥1 = 0; 𝑥2 = 0, 𝑥3 = 0 e 𝐹2 = 0

Variáveis básicas: 𝐹1 = 10; 𝑎2 = 20 e 𝑎3 = 60

Valor de W: 𝑊 = 80

Passo 3: Teste da solução: A solução não é ótima, pois tem coeficientes negativos
na função objetivo.

Passo 4: Cálculo da nova solução:

 Variável que entra: 𝑥3 (coeficiente negativo da função objetivo auxiliar de maior


valor absoluto).
 Variável que sai (termos independentes b divididos pelos coeficientes de 𝑥3 ):

Assim:

Z-W X1 X2 X3 F1 F2 a2 a3 b b/X3
Tabela 1 1 -1 -1 -1 0 0 0 0 0
L1 F1 0 2 1 -1 1 0 0 0 10 -10
L2 a2 0 1 1 2 0 -1 1 0 20 10 Sai
L3 a3 0 2 1 3 0 0 0 1 60 20
-W -1 -3 -2 -5 0 1 0 0 -80
Entra

Sai o de menor valor não negativo (10), ou seja, sai a variável da linha 2 (𝑎2 ).

Linha pivô: linha 2

Elemento pivô: 2

76
Dividindo a linha pivô por 2, temos:

Nova linha pivô:

Z-W X1 X2 X3 F1 F2 a2 a3 b
Linha pivô 0 1 1 2 0 -1 1 0 20
Dividido por 2 0 0,5 0,5 1 0 -0,5 0,5 0 10

Cálculo da nova linha de Z (coeficiente = -1):

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,5 0,5 1 0 -0,5 0,5 0 10
Multiplicar por 1 0 0,5 0,5 1 0 -0,5 0,5 0 10 (+)
Linha Z 1 -1 -1 -1 0 0 0 0 0
Nova linha Z 1 -0,5 -0,5 0 0 -0,5 0,5 0 10

Cálculo da nova linha L1 (coeficiente = -1)

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,5 0,5 1 0 -0,5 0,5 0 10
Multiplicar por 1 0 0,5 0,5 1 0 -0,5 0,5 0 10 (+)
Linha 1 0 2 1 -1 1 0 0 0 10
Nova linha 1 0 2,5 1,5 0 1 -0,5 0,5 0 20

Cálculo da nova linha L3 (coeficiente = 3)

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,5 0,5 1 0 -0,5 0,5 0 10
Multiplicar por -3 0 -1,5 -1,5 -3 0 1,5 -1,5 0 -30 (+)
Linha 3 0 2 1 3 0 0 0 1 60
Nova linha 3 0 0,5 -0,5 0 0 1,5 -1,5 1 30

Cálculo da nova linha W (coeficiente = -5)

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,5 0,5 1 0 -0,5 0,5 0 10
Multiplicar por 5 0 2,5 2,5 5 0 -2,5 2,5 0 50 (+)
Linha W -1 -3 -2 -5 0 1 0 0 -80
Nova linha W -1 -0,5 0,5 0 0 -1,5 2,5 0 -30

77
Reescrevendo a nova tabela teremos:

Z-W X1 X2 X3 F1 F2 a2 a3 b
Tabela 2 1 -0,5 -0,5 0 0 -0,5 0,5 0 10
L1 F1 0 2,5 1,5 0 1 -0,5 0,5 0 20
L2 X3 0 0,5 0,5 1 0 -0,5 0,5 0 10
L3 a3 0 0,5 -0,5 0 0 1,5 -1,5 1 30
-W -1 -0,5 0,5 0 0 -1,5 2,5 0 -30

Passo 2: Nova solução:

Variáveis Não básicas: 𝑥1 = 0; 𝑥2 = 0, 𝐹2 = 0 e 𝑎2 = 0

Variáveis básicas: 𝑥3 = 10; 𝐹1 = 20 e 𝑎3 = 30

Valor de W: 𝑊 = 30

Passo 3: Teste da solução: A solução não é ótima, pois tem coeficientes negativos
na função objetivo auxiliar.

Passo 4: Cálculo da nova solução:

 Variável que entra: 𝐹2 (coeficiente -1,5).


 Variável que sai (termos independentes b divididos pelos coeficientes de 𝐹2 ):

Assim:

Z-W X1 X2 X3 F1 F2 a2 a3 b b/X3
Tabela 2 1 -0,5 -0,5 0 0 -0,5 0,5 0 10
L1 F1 0 2,5 1,5 0 1 -0,5 0,5 0 20 -40
L2 X3 0 0,5 0,5 1 0 -0,5 0,5 0 10 -20
L3 a3 0 0,5 -0,5 0 0 1,5 -1,5 1 30 20 Sai
-W -1 -0,5 0,5 0 0 -1,5 2,5 0 -30
Entra

Sai o de menor valor não negativo (20), ou seja, sai a variável da linha 3 (𝑎3 ).

Linha pivô: linha 3

Elemento pivô: 1,5

78
Dividindo a linha pivô por 1,5, temos:

Nova linha pivô:

Z-W X1 X2 X3 F1 F2 a2 a3 b
Linha pivô 0 0,5 -0,5 0 0 1,5 -1,5 1 30
Dividido por 1,5 0 0,33 -0,33 0 0 1 -1 0,67 20

Cálculo da nova linha de Z (coeficiente = -0,5):

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,33 -0,33 0 0 1 -1 0,67 20
Multiplicar por 0,5 0 0,167 -0,17 0 0 0,5 -0,5 0,33 10 (+)
Linha Z 1 -0,5 -0,5 0 0 -0,5 0,5 0 10
Nova linha Z 1 -0,333 -0,667 0 0 0 0 0,333 20

Cálculo da nova linha L1 (coeficiente = -0,5):

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,333 -0,33 0 0 1 -1 0,67 20
Multiplicar por 0,5 0 0,167 -0,17 0 0 0,5 -0,5 0,33 10 (+)
Linha 1 0 2,5 1,5 0 1 -0,5 0,5 0 20
Nova linha 1 0 2,667 1,333 0 1 0 0 0,333 30

Cálculo da nova linha L2 (coeficiente = -0,5):

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,333 -0,33 0 0 1 -1 0,67 20
Multiplicar por 0,5 0 0,167 -0,17 0 0 0,5 -0,5 0,33 10 (+)
Linha 2 0 0,5 0,5 1 0 -0,5 0,5 0 10
Nova linha 2 0 0,667 0,333 1 0 0 0 0,333 20

Cálculo da nova linha W (coeficiente = -1,5):

Z-W X1 X2 X3 F1 F2 a2 a3 b
Nova linha pivô 0 0,333 -0,33 0 0 1 -1 0,67 20
Multiplicar por 1,5 0 0,5 -0,5 0 0 1,5 -1,5 1 30 (+)
Linha W -1 -0,5 0,5 0 0 -1,5 2,5 0 -30
Nova linha W -1 0 0 0 0 0 1 1 0

79
Nova tabela:

Z-W X1 X2 X3 F1 F2 a2 a3 b
Tabela 3 1 -0,333 -0,667 0 0 0 0 0,333 20
L1 F1 0 2,667 1,333 0 1 0 0 0,333 30
L2 X3 0 0,667 0,333 1 0 0 0 0,333 20
L3 F2 0 0,333 -0,333 0 0 1 -1 0,667 20
-W -1 0 0 0 0 0 1 1 0

Passo 2: Nova solução:

Variáveis Não básicas: 𝑥1 = 0; 𝑥2 = 0; 𝑎2 = 0 e 𝑎3 = 0

Variáveis básicas: 𝑥3 = 20; 𝐹1 = 30 e 𝐹2 = 20

Valor de W: 𝑊 = 0

Passo 3: Teste da solução: o problema apresenta agora uma solução básica


formada pelas variáveis originais (observe que tanto as variáveis auxiliares 𝑎2 e 𝑎3
quanto a função objetivo auxiliar 𝑊 são nulas). Isso significa que a Fase 1 do método
das duas fases foi concluída.

Nesse ponto devemos abandonar as variáveis auxiliares (𝑎2 e 𝑎3 ) e a função


objetivo auxiliar (𝑊). Iniciamos a Fase 2, buscando a solução do problema com a função
objetivo original em Z.

A tabela 1 da Fase 2 se torna, portanto:

Z X1 X2 X3 F1 F2 b
Tabela 1 1 -0,333 -0,667 0 0 0 20
L1 F1 0 2,667 1,333 0 1 0 30
L2 X3 0 0,667 0,333 1 0 0 20
L3 F2 0 0,333 -0,333 0 0 1 20

A partir dessa tabela, damos sequência ao método Simplex para obter a solução
ótima de 𝑍 (da forma como aprendemos na seção anterior).

Para este problema em particular, após aplicar todas as etapas do método


Simplex chegaremos a seguinte solução:

Variáveis Não básicas: 𝑥1 = 0 e 𝐹1 = 0

Variáveis básicas: 𝑥2 = 22,5; 𝑥3 = 12,5 e 𝐹2 = 27,5

Valor de Z: 𝑍 = 35

Assim, a solução ótima é 𝑍 = 35 e ocorre quando 𝑥1 = 0, 𝑥2 = 22,5 e 𝑥3 = 12,5.

80
Experimente solucionar essa questão usando a calculadora PHPSimplex:

http://www.phpsimplex.com/simplex/simplex.htm?l=pt

Vale ressaltar que, caso a função auxiliar 𝑊 apresente solução ótima com valor
não nulo, as variáveis auxiliares não serão todas nulas. Nesse caso, o modelo original
não possuirá uma solução básica, e portanto o problema é dito “sem solução”. Em outras
palavras, se a solução ótima de 𝑊 for diferente de zero, o problema não tem solução
viável (ou seja, o problema não possui solução que satisfaça todas as restrições; quando
isso ocorre dizemos que as restrições “não são consistentes”).

Casos especiais do Método Simplex

Nesta seção serão considerados quatro casos especiais que podem surgir na
utilização do método Simplex:

1. Degeneração;
2. Soluções ótimas alternativas (também denominada “múltiplas soluções ótimas”);
3. Soluções ilimitadas;
4. Soluções não existentes (ou “soluções inviáveis”).

Existem dois motivos para se estudar esses casos especiais: 1-apresentar uma
explicação teórica para essas situações; 2-dar uma interpretação prática do significado
desses resultados em problemas reais.

Degeneração:

Na aplicação da condição de viabilidade (“sai da base a menor razão não


negativa”) pode ocorrer um empate na razão mínima entre duas ou mais variáveis (nesse
caso, podemos escolher a variável que sai de forma arbitraria). Quando isso acontece, no
mínimo uma variável básica será zero na iteração seguinte, e diz-se que a nova solução
é degenerada (ou seja, pelo menos uma variável básica é igual a zero). Imagine que duas
linhas tenham a mesma razão. Nesse caso, a linha não escolhida terá o seu valor de 𝑏 =
0 (e consequentemente, a variável básica associada a ela será igual a 0).

81
Não há, entretanto, nenhum problema com uma solução degenerada, exceto por
uma pequena inconveniência teórica denominada ciclagem (ou retorno cíclico), que será
discutida a seguir. Do ponto de vista prático, a degeneração revela que o modelo tem no
mínimo duas “restrições redundantes” (ou seja, uma restrição que é linearmente
dependente de outras restrições; por exemplo, a restrição é múltipla de outra restrição,
ou é a soma de outras duas restrições...).

Do ponto de vista teórico é possível que o método Simplex entre em uma sequência
de iterações sem nunca melhorar o valor da função objetivo e nunca satisfazer a condição
de otimalidade. Esse fenômeno é chamado de ciclagem ou retorno cíclico.

Soluções ótimas alternativas:

Quando a função objetivo tem direção paralela a uma restrição vinculadora


(também chamada de restrição vinculante), ou seja, uma restrição não redundante
(restrição que é satisfeita como uma equação na solução ótima; ou, graficamente,
restrição que tangencia a área das soluções viáveis), a função objetivo pode assumir o
mesmo valor ótimo em mais de um ponto de solução (isto é, o valor ótimo ocorre para
qualquer ponto ao longo dessa “reta tangente” à área das soluções viáveis). Nesse caso,
o problema possui soluções ótimas alternativas (ou múltiplas soluções ótimas).

Voltando ao método gráfico, essa situação ocorre quando existem duas “quinas”,
ou seja, dois pontos críticos que são soluções ótimas. Nesse caso, a reta correspondente
à restrição que liga esses dois pontos é paralela à reta da função objetivo. Com isso,
qualquer ponto ao longo dessa reta (ou seja, qualquer ponto entre as duas “quinas”) será
um ponto ótimo (temos “infinitas” soluções ótimas).

No método Simplex, se o coeficiente de uma variável 𝑥𝑖 não básica (na função


objetivo) é zero, 𝑥𝑖 pode entrar na solução básica sem alterar o valor de 𝑍, mas causando
uma mudança nos valores das outras variáveis. É importante ressaltar que o método
Simplex apenas determina os dois “pontos de quina” (ou “pontos críticos” ou “pontos
extremos”). Matematicamente, para determinar os demais pontos basta fazer uma
média ponderada entre esses dois pontos.

Na prática soluções ótimas alternativas são úteis pois permitem a escolha entre
muitas soluções sem que o valor da função objetivo sofra deterioração.

82
Solução ilimitada:

Em alguns problemas de PL, os valores das variáveis podem ser aumentados


indefinidamente sem violar nenhuma das restrições. Nesse caso, a região das soluções
é ilimitada em, no mínimo, uma das variáveis de decisão (ao menos uma das variáveis
de decisão tem valor “infinito”).

O resultado é que o valor da função objetivo pode crescer (para o caso da


maximização) ou decrescer (para o caso da minimização) indefinidamente (para
“infinito”). Nesse caso, a região das soluções, bem como o valor ótimo da função objetivo,
são ilimitados.

No método Simplex, essa situação ocorre quando nenhuma variável se qualifica


para ser a variável básica que sai (ou seja, a condição de viabilidade não é satisfeita).
Isso ocorre quando todos os coeficientes da coluna pivô (sem contar com a linha da função
objetivo) são negativos ou igual a zero (fazendo com que a razão seja sempre negativa
ou “infinita” para todas as restrições). Se a variável que entra é negativa ou zero, ela
pode ser aumentada indefinidamente (sem tornar as variáveis básicas atuais
negativas).

Na prática, a falta de limites indica a possibilidade de o modelo ter sido mal


construído. A irregularidade mais provável é que uma ou mais restrições não
redundantes deixaram de ser levadas em conta e/ou os parâmetros (as constantes) de
algumas das restrições podem não ter sido estimados corretamente.

Solução inviável:

Problemas de PL que possuam restrições inconsistentes podem não ter nenhuma


solução viável. Graficamente, não haverá uma região das soluções viáveis se não houver
uma área formada pela interseção entre as áreas das restrições.

É importante observar que se todas as restrições forem do tipo ≤ com constantes


do lado direito não negativas então certamente haverá uma região viável (pois as folgas
irão fornecer uma solução viável).

Para outros tipos de restrições, utilizamos as variáveis artificiais. Embora as


variáveis artificiais sejam “punidas” na função objetivo para força-las a zero na solução
ótima, isso só irá acontecer se o modelo tiver uma região viável. Caso contrário, ao menos
uma variável artificial será positiva na iteração ótima (quando isso ocorre, certamente
o problema não terá solução viável).

Do ponto de vista prático, a não existência de uma região viável indica a


possibilidade de o problema não ter sido formulado corretamente.

83
AULA 2 – DUALIDADE

Interpretação do modelo Primal-Dual

O modelo inicial (ou “original”) de um problema de programação linear, chamado


de Primal, pode ser substituído por um outro modelo que chamamos de Dual. Isso será
possível em determinadas situações nas quais a quantidade de cálculos necessária para
solucionar um modelo linear pelo método Simplex pode ser reduzida.

Considere o modelo de programações linear que tem a função objetivo de


maximização, as restrições são do tipo ≤ e as variáveis são não negativas. Chamamos
esse modelo de Primal ao qual podemos associar outro modelo que chamamos de Dual,
que será construído da seguinte maneira:

1. Variáveis de decisão do dual: para cada restrição do primal, criaremos uma


variável de decisão 𝑦𝑖 correspondente no dual.
2. Função objetivo no dual: a função objetivo será de minimização. Cada um dos
termos na função objetivo consiste no produto da variável 𝑦𝑖 pelo termo da direita
da restrição correspondente. Em outras palavras, as constantes 𝑏 do lado direito
das restrições no primal se tornam os coeficientes das variáveis de decisão 𝑦𝑖 na
função objetivo do dual.
3. Restrições: cada variável de decisão 𝑥𝑖 no primal gera uma restrição no dual.
4. Termos da esquerda das restrições no dual: cada termo é o produto da variável de
decisão 𝑦𝑖 pelo coeficiente respectivo da variável de decisão da restrição 𝑖 no
primal. Ou seja, os coeficientes da primeira restrição serão os coeficientes de 𝑦1...
5. Sinal: os sinais ≤ serão substituídos por sinais de ≥ nas restrições.
6. Termos da direita: são os coeficientes da variável 𝑥𝑖 na função objetivo primal.

84
Nesse momento, é importante observar que o Dual, de certa forma, é uma espécie
de “matriz transposta” do Primal (as linhas se tornam colunas).

Exemplo:

Primal:
Max 𝑍 = 2𝑥1 + 3𝑥2 + 𝑥3

Sujeito às restrições:
3𝑥1 + 4𝑥2 + 2𝑥3 ≤ 10
2𝑥1 + 6𝑥2 + 𝑥3 ≤ 20
𝑥1 − 𝑥2 − 𝑥3 ≤ 30
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Dual:
Min 𝐷 = 10𝑦1 + 20𝑦2 + 30𝑦3

Sujeito às restrições:
3𝑦1 + 2𝑦2 + 𝑦3 ≥ 2
4𝑦1 + 6𝑦2 − 𝑦3 ≥ 3
2𝑦1 + 𝑦2 − 𝑦3 ≥ 1
𝑦1 , 𝑦2 , 𝑦3 ≥ 0

Observe que:

1. Como são três restrições no primal foram criadas três variáveis de decisão no
dual.
2. Como a função objetivo no primal era de maximização (Max 𝑍), no dual a função
objetivo é de minimização (Min 𝐷). Além disso, os coeficientes da função objetivo
no dual são as constantes 𝑏 do primal (10, 20 e 30).
3. Como são três variáveis de decisão no primal foram criadas três restrições no
dual.
4. Os coeficientes da restrição 1 no primal são os coeficientes de 𝑦1 no Dual; os
coeficientes da restrição 2 no primal são os coeficientes de 𝑦2 no Dual e os
coeficientes da restrição 3 no primal são os coeficientes de 𝑦3 no Dual.
5. Os sinais ≤ das restrições do primal geram sinais ≥ nas variáveis do dual (sinais
inversos), enquanto os sinais ≥ das variáveis do primal geram sinais ≥ nas
restrições do dual (mesmo sinal).
6. As constantes da direita nas restrições são os coeficientes da função objetivo (2, 3
e 1).
85
Note que foi feita uma operação parecida com a de uma matriz transposta.
Considere uma matriz correspondente ao modelo Primal escrita na seguinte forma:
2 3 1
10 3 4 2
𝑀=( )
20 2 6 1
30 1 −1 −1
Observe que a primeira linha apresenta os coeficientes da função objetivo, a
primeira coluna (a partir da segunda linha) apresenta as constantes do lado direito das
restrições, e os demais termos são os coeficientes do lado esquerdo de cada restrição.

Na transposta, transformamos linhas em colunas (a linha 1 se torna a coluna 1,


a linha 2 se torna a coluna 2...), assim:
10 20 30
𝑡 2 3 2 1
𝑀 =( 4 6 −1)
3
1 2 1 −1
Como na matriz 𝑀 (matriz dos termos da primal), na matriz 𝑀𝑡 (dos termos da
dual) a primeira linha apresenta os coeficientes da função objetivo, a primeira coluna (a
partir da segunda linha) apresenta as constantes do lado direito das restrições, e os
demais termos são os coeficientes do lado esquerdo de cada restrição.

De forma análoga, considere o seguinte modelo Primal:

1. Função objetivo de minimização.


2. Restrições do tipo ≥.
3. Variáveis todas não negativas.

Nesse caso, seu Dual será:

1. Função objetivo de maximização.


2. Restrições do tipo ≤.
3. Variáveis todas não negativas.

Como exemplo, vamos considerar o modelo Dual (do exemplo anterior) como sendo
o Primal agora.

86
Exemplo:

Primal:
Min 𝑍 = 10𝑥1 + 20𝑥2 + 30𝑥3

Sujeito às restrições:
3𝑥1 + 2𝑥2 + 𝑥3 ≥ 2
4𝑥1 + 6𝑥2 − 𝑥3 ≥ 3
2𝑥1 + 𝑥2 − 𝑥3 ≥ 1
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Dual:
Max 𝐷 = 2𝑦1 + 3𝑦2 + 𝑦3

Sujeito às restrições:
3𝑦1 + 4𝑦2 + 2𝑦3 ≤ 10
2𝑦1 + 6𝑦2 + 𝑦3 ≤ 20
𝑦1 − 𝑦2 − 𝑦3 ≤ 30
𝑦1 , 𝑦2 , 𝑦3 ≥ 0

Note que o resultado é o Primal do primeiro exemplo. Logo, “o Dual de um Dual é


o modelo Primal”.

Observe que:

1. Como são três restrições no primal foram criadas três variáveis de decisão no
dual.
2. Como a função objetivo no primal era de minimização (Min 𝑍), no dual a função
objetivo é de maximização (Max 𝐷). Além disso, os coeficientes da função objetivo
no dual são as constantes 𝑏 do primal (2, 3 e 1).
3. Como são três variáveis de decisão no primal foram criadas três restrições no
dual.
4. Os coeficientes da restrição 1 no primal são os coeficientes de 𝑦1 no Dual; os
coeficientes da restrição 2 no primal são os coeficientes de 𝑦2 no Dual e os
coeficientes da restrição 3 no primal são os coeficientes de 𝑦3 no Dual.
5. Os sinais ≥ das restrições do primal geram sinais ≥ nas variáveis do dual (mesmo
sinal), enquanto os sinais ≥ das variáveis do primal geram sinais ≤ nas restrições
do dual (sinais inversos).
6. As constantes da direita nas restrições são os coeficientes da função objetivo (10,
20 e 30).
87
Observações adicionais:

 Se uma restrição primal é do tipo =, a variável dual correspondente será sem


restrição de sinal (irrestrita em sinal).
 Se uma variável primal for sem restrição de sinal, as restrições do dual
correspondente será do tipo =.

Exemplo:

Primal:
Max 𝑍 = 2𝑥1 + 3𝑥2 + 𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 ≤ 10
2𝑥1 + 4𝑥2 − 𝑥3 = 20
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Dual:
Min 𝐷 = 10𝑦1 + 20𝑦2

Sujeito às restrições:
𝑦1 + 2𝑦2 ≥ 2
𝑦1 + 4𝑦2 ≥ 3
−𝑦2 ≥ 1
𝑦1 ≥ 0, 𝑦2 irrestrita

Podemos resumir essas regras na seguinte tabela:

Observe que a tabela não utiliza a notação primal e dual. O que importa aqui é o
sentido da otimização (se o primal for de maximização, então o dual será de minimização
e vice-versa).
88
Propriedades importantes do Primal-Dual

As soluções primal e dual guardam estreita relação, pois a solução ótima de


qualquer um dos problemas dá a solução ótima do outro (𝑍 = 𝐷). Assim, em um problema
de PL no qual o número de variáveis é menor do que o número de restrições, podemos
reduzir o número de cálculos se resolvermos o problema dual (isso ocorre pois a
quantidade de cálculos pelo método Simplex depende em grande parte do número de
restrições).

É importante ressaltar que o dual do dual é o primal, o que significa que a solução
ótima dual pode ser usada para obter a solução ótima primal automaticamente. Nesse
ponto, vale fazer um resumo das propriedades entre os problemas dual e primal:

 A solução ótima primal corresponde à solução ótima dual com 𝑍 = 𝐷 (isso é


chamado de versão forte da teoria da dualidade).
 Considerando um problema de maximização, para cada solução viável primal e
dual, 𝑍 ≤ 𝐷 (ou seja, a solução viável do primal será sempre menor ou igual a
solução do dual). Ora, como o valor máximo do primal ocorre para 𝑍 = 𝐷, que
corresponde ao valor mínimo do dual, então, enquanto estiverem na solução
viável, 𝑍 será sempre menor ou igual a 𝐷. Por analogia, para um problema de
minimização, para cada solução viável primal e dual, 𝑍 ≥ 𝐷 (ou seja, a solução
viável do primal será sempre maior ou igual a solução do dual). Isso é denominado
versão fraca da teoria da dualidade.
 A cada iteração, o método Simplex encontra um par de soluções (um para cada
problema), sendo que a solução primal é viável, contudo a solução dual não é
viável (exceto na última iteração, na qual obtemos 𝑍 = 𝐷). Ou seja, cada solução
viável básica no primal (não ótima) corresponde a uma solução básica inviável no
dual (isso é denominado propriedade das soluções complementares, a qual
explicita que se as soluções básicas no problema primal não forem ótimas, então
as soluções básicas no problema dual não serão viáveis).
 O coeficiente da variável de decisão 𝑥𝑖 na função objetivo primal é o valor da
variável de folga correspondente 𝐹𝑖 da restrição 𝑖 na solução dual (propriedade de
complementaridade da folga).
 O coeficiente da variável de folga 𝐹𝑖 da função objetivo primal é o valor da variável
de decisão correspondente 𝑦𝑖 na solução dual (chamadas de soluções
complementares).
 Na iteração final, o método Simplex identifica simultaneamente uma solução
ótima para o problema primal e uma solução ótima complementar para o dual
(propriedade das soluções ótimas complementares).
89
 Para qualquer problema primal e dual, todas as relações entre eles devem ser
simétricas (ou seja, em cada iteração do método Simplex, sempre podemos
transformar o problema dual em primal e vice-versa), pois o dual do problema
dual é o problema primal (problema de PL “original”). Isso é conhecido como
propriedade da simetria.

Com isso, os únicos inter-relacionamentos possíveis entre problemas primais e


duais são (teorema da dualidade):

1. Se um problema (primal ou dual) tiver soluções viáveis e uma função objetivo


limitada (isto é, tiver uma solução ótima), então o mesmo acontece para o outro
problema (assim, tanto a versão fraca quanto a versão forte da teoria da
dualidade são aplicáveis).
2. Se um problema (primal ou dual) tiver soluções viáveis e uma função objetivo
ilimitada (isto é, sem solução ótima), então o outro problema não terá soluções
viáveis (tendo como base a propriedade das soluções complementares, se as
soluções básicas de um problema não forem ótimas, então as soluções básicas no
outro problema não serão viáveis).
3. Se um problema (primal ou dual) não tiver nenhuma solução viável, então o outro
problema também não terá nenhuma solução viável ou então ele terá uma função
objetivo ilimitada.

Exemplo:

Primal:
Max 𝑍 = 𝑥1 + 2𝑥2 + 3𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 + 𝑥3 ≤ 10
2𝑥1 + 𝑥2 + 4𝑥3 ≤ 12
𝑥1 + 3𝑥2 − 𝑥3 ≤ 9
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

90
Dual:
Min 𝐷 = 10𝑦1 + 12𝑦2 + 9𝑦3

Sujeito às restrições:
𝑦1 + 2𝑦2 + 𝑦3 ≥ 1
𝑦1 + 𝑦2 + 3𝑦3 ≥ 2
𝑦1 + 4𝑦2 − 𝑦3 ≥ 3
𝑦1 , 𝑦2 , 𝑦3 ≥ 0

Colocando as variáveis de folga no primal e no dual, temos:

Primal:
Max 𝑍 = 𝑥1 + 2𝑥2 + 3𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 + 𝑥3 + 𝐹1 = 10
2𝑥1 + 𝑥2 + 4𝑥3 + 𝐹2 = 12
𝑥1 + 3𝑥2 − 𝑥3 + 𝐹3 = 9
𝑥1 , 𝑥2 , 𝑥3 , 𝐹1 , 𝐹2 , 𝐹3 ≥ 0

Que resulta em:

Primal Z X1 X2 X3 F1 F2 F3 b
Tabela 1 1 -1 -2 -3 0 0 0 0
L1 F1 0 1 1 1 1 0 0 10
L2 F2 0 2 1 4 0 1 0 12
L3 F3 0 1 3 -1 0 0 1 9

Solução:

Variáveis Não básicas: 𝑥1 = 0; 𝑥2 = 0 e 𝑥3 = 0

Variáveis básicas: 𝐹1 = 10; 𝐹2 = 12 e 𝐹3 = 9

Valor de Z: 𝑍 = 0

91
Dual:
Min 𝐷 = 10𝑦1 + 12𝑦2 + 9𝑦3

Como já vimos, minimizar 𝐷 é igual a maximizar −𝐷, então:


−𝐷 = −10𝑦1 − 12𝑦2 − 9𝑦3
−𝐷 + 10𝑦1 + 12𝑦2 + 9𝑦3 = 0

Sujeito às restrições:
𝑦1 + 2𝑦2 + 𝑦3 − 𝐹1 = 1
𝑦1 + 𝑦2 + 3𝑦3 − 𝐹2 = 2
𝑦1 + 4𝑦2 − 𝑦3 − 𝐹3 = 3
𝑦1 , 𝑦2 , 𝑦3 , 𝐹1 , 𝐹2 , 𝐹3 ≥ 0

Que resulta em:

Dual D Y1 Y2 Y3 F1 F2 F3 c
Tabela 1 -1 10 12 9 0 0 0 0
L1 F1 0 1 2 1 -1 0 0 1
L2 F2 0 1 1 3 0 -1 0 2
L3 F3 0 1 4 -1 0 0 -1 3

Solução:

Variáveis Não básicas: 𝑦1 = 0; 𝑦2 = 0 e 𝑦3 = 0

Variáveis básicas: 𝐹1 = -1; 𝐹2 = -2 e 𝐹3 = -3

Valor de D: 𝐷 = 0

Note que a solução do dual (𝑦1 = 𝑦2 = 𝑦3 = 0) não é viável, pois não atende às
restrições (o lado esquerdo das restrições é menor do que o lado direito; por exemplo, a
restrição 1 resultou em 0 ≥ 1). Além disso, note que as variáveis de folga são negativas
(sendo que elas devem ser positivas). Esse ponto serve para reforçar que “se as soluções
básicas no problema primal não forem ótimas, então as soluções básicas no problema
dual não serão viáveis”.

Observe ainda que o coeficiente da variável de decisão 𝑥𝑖 na função objetivo da


tabela primal é o valor da variável de folga correspondente 𝐹𝑖 da restrição 𝑖 na solução
dual (e vice-versa).

Coeficiente de 𝑥1 = -1 => Valor de 𝐹1 (de y) = -1

Coeficiente de 𝑥2 = -2 => Valor de 𝐹2 (de y) = -2

Coeficiente de 𝑥3 = -3 => Valor de 𝐹3 (de y) = -3


92
Além disso, o coeficiente da variável de folga 𝐹𝑖 da função objetivo na tabela
primal é o valor da variável de decisão correspondente 𝑦𝑖 na solução dual (e vice-versa).

Coeficiente de 𝐹1 (de x) = 0 => Valor de 𝑦1 = 0

Coeficiente de 𝐹2 (de x) = 0 => Valor de 𝑦2 = 0

Coeficiente de 𝐹3 (de x) = 0 => Valor de 𝑦3 = 0

De forma análoga, os valores das variáveis de decisão 𝑥𝑖 no primal são iguais aos
coeficientes de 𝐹𝑖 da restrição 𝑖 na tabela dual (e vice-versa).

Valor de 𝑥1 = 0 => coeficiente de 𝐹1 (de y) = 0

Valor de 𝑥2 = 0 => coeficiente de 𝐹2 (de y) = 0

Valor de 𝑥3 = 0 => coeficiente de 𝐹3 (de y) = 0

E ainda, os valores das variáveis de folga 𝐹𝑖 no primal são iguais aos valores dos
coeficientes de 𝑦𝑖 da função objetivo da tabela dual (e vice-versa).

Valor de 𝐹1 = 10 (de x) => coeficiente de 𝑦1 = 10

Valor de 𝐹2 = 12 (de x) => coeficiente de 𝑦2 = 12

Valor de 𝐹3 = 9 (de x) => coeficiente de 𝑦3 = 9

Por fim, a função objetivo será:

Valor de Z = 0 => Valor de D = 0

Como não é uma valor ótimo, então seguimos para a próxima iteração.

Continuando a solução do primal, com a entrada da variável 𝑥3 (pois seu


coeficiente é -3) e a saída da variável 𝐹2 (12/4 = 3), após o pivotamento, será:

Primal Z X1 X2 X3 F1 F2 F3 b
Tabela 2 1 0,5 -1,25 0 0 0,75 0 9
L1 F1 0 0,5 0,75 0 1 -0,25 0 7
L2 X3 0 0,5 0,25 1 0 0,25 0 3
L3 F3 0 1,5 3,25 0 0 0,25 1 12

Solução:

Variáveis Não básicas: 𝑥1 = 0; 𝑥2 = 0 e 𝐹2 = 0

Variáveis básicas: 𝐹1 = 7; 𝐹3 = 12 e 𝑥3 = 3

Valor de Z: 𝑍 = 9

93
Usando a relação descrita, vamos montar a tabela dual correspondente
(considerando a Tabela 2 do Primal e sua solução):

Coeficientes de 𝑥𝑖 (na linha de Z) => valores de 𝐹𝑖 (na coluna de c)

Coeficientes 𝐹𝑖 (na linha de Z) => valores de 𝑦𝑖 (na coluna de c)

Valores de 𝑥𝑖 (na solução) => coeficientes de 𝐹𝑖 (na linha de D)

Valores de 𝐹𝑖 (na solução) => coeficientes de 𝑦𝑖 (na linha de D)

Temos então o quadro abaixo:

Dual D Y1 Y2 Y3 F1 F2 F3 c
Tabela 2 -1 7 0 12 0 0 3 -9
L1 F1 0 1 0 0,5
L2 F2 0 0 1 -1,25
L3 Y2 1 0 0 0,75
Solução:

Variáveis Não básicas: 𝑦1 = 0; 𝑦3 = 0 e 𝐹3 = 0

Variáveis básicas: 𝐹1 = 0,5; 𝐹2 = -1,25 e 𝑦2 = 0,75

Valor de D: 𝐷 = 9

Note que essa solução dual não é viável (pois 𝐹2 é negativa). Isso significa que a
restrição 2 não está sendo satisfeita: fazendo 𝑦1 = 0, 𝑦2 = 0,75 e 𝑦3 = 0 na restrição 2
(𝑦1 + 𝑦2 + 3𝑦3 ≥ 2 => 0,75 ≥ 2). Ou seja, a solução dual não é viável.

Vamos ao terceiro quadro primal:

Primal Z X1 X2 X3 F1 F2 F3 b
Tabela 3 1 1,077 0 0 0 0,846 0,385 13,615
L1 F1 0 0,154 0 0 1 -0,308 -0,231 4,231
L2 X3 0 0,385 0 1 0 0,231 -0,077 2,077
L3 X2 0 0,461 1 0 0 0,077 0,308 3,692

Solução:

Variáveis Não básicas: 𝑥1 = 0; 𝐹2 = 0 e 𝐹3 = 0

Variáveis básicas: 𝑥2 = 3,692; 𝑥3 = 2,077 e 𝐹1 = 4,231

Valor de Z: 𝑍 = 13,615

94
Usando a relação descrita, vamos montar a tabela dual correspondente
(considerando a Tabela 3 do Primal e sua solução):

Coeficientes de 𝑥𝑖 (na linha de Z) => valores de 𝐹𝑖 (na coluna de c)

Coeficientes 𝐹𝑖 (na linha de Z) => valores de 𝑦𝑖 (na coluna de c)

Valores de 𝑥𝑖 (na solução) => coeficientes de 𝐹𝑖 (na linha de D)

Valores de 𝐹𝑖 (na solução) => coeficientes de 𝑦𝑖 (na linha de D)

Temos então o quadro abaixo:

Dual D Y1 Y2 Y3 F1 F2 F3 c
Tabela 3 -1 4,321 0 0 0 3,692 2,077 -13,615
L1 F1 0 0 0 1 1,077
L2 Y2 0 1 0 0 0,846
L3 Y3 0 0 1 0 0,385

Solução:

Variáveis Não básicas: 𝑦1 = 0; 𝐹2 = 0 e 𝐹3 = 0

Variáveis básicas: 𝑦2 = 0,846; 𝑦3 = 0,385 e 𝐹1 = 1,077

Valor de D: 𝐷 = 13,615

A solução é ótima pois todas as restrições (tanto do primal quanto do dual) foram
satisfeitas.

Temos a solução ótima do primal 𝑍 = 13,615, que ocorre para 𝑥1 = 0, 𝑥2 = 3,692 e


𝑥3 = 2,077, e a solução ótima complementar (dual) 𝐷 = 13,615, para 𝑦1 = 0, 𝑦2 = 0,846 e
𝑦3 = 0,385 (que são os coeficientes de 𝐹𝑖 na função objetivo do primal).

As soluções matemáticas do primal e do dual são pontos ótimos de mesmo valor


(ou seja, 𝑍 = 𝐷). A escolha entre um e outro se dará levando em conta o menor esforço
computacional, que depende do número de restrições, das variáveis artificiais etc.

95
Solução de problema de PL via dualidade

Como discutido anteriormente, um problema de PL “original” (modelo primal)


muito complicado pode possuir um modelo dual mais simples. Isso significa que é
possível solucionar um problema de PL da seguinte forma: 1-Encontrar o modelo dual
do problema original; 2-Solucionar o problema dual via método Simplex até obter a
solução ótima; 3-Obter a solução básica ótima do primal (problema “original”).

O exemplo a seguir será solucionado, em primeiro lugar, pelo método das duas
fases. Em seguida, para efeito de comparação, será demonstrada a solução via
dualidade.

Exemplo:
Min 𝑍 = 3𝑥1 + 5𝑥2

Sujeito às restrições:
3𝑥1 + 2𝑥2 ≥ 10
𝑥1 + 𝑥2 ≥ 8
𝑥1 , 𝑥2 ≥ 0

Vamos determinar a solução ótima do primal, junto com as variáveis básicas e


não básicas.

Primeiro vamos reescrever a função objetivo e as inequações:


Min 𝑍 = Max − 𝑍
−𝑍 = −3𝑥1 − 5𝑥2
−𝑍 + 3𝑥1 + 5𝑥2 = 0

Adicionando as folgas e variáveis artificiais:


3𝑥1 + 2𝑥2 − 𝐹1 + 𝑎1 = 10
𝑥1 + 𝑥2 − 𝐹2 + 𝑎2 = 8

Assim:
𝑎1 = 10 − 3𝑥1 − 2𝑥2 + 𝐹1
𝑎2 = 8 − 𝑥1 − 𝑥2 + 𝐹2

Com isso:
𝑊 = 𝑎1 + 𝑎2 = 10 − 3𝑥1 − 2𝑥2 + 𝐹1 + 8 − 𝑥1 − 𝑥2 + 𝐹2
𝑊 = 18 − 4𝑥1 − 3𝑥2 + 𝐹1 + 𝐹2

96
Devemos minimizar 𝑊, assim:
Min 𝑊 = Max − 𝑊
−𝑊 = −18 + 4𝑥1 + 3𝑥2 − 𝐹1 − 𝐹2
−𝑊 − 4𝑥1 − 3𝑥2 + 𝐹1 + 𝐹2 = −18

O maior coeficiente negativo da função objetivo auxiliar é o -4, portanto devemos


pegar a coluna de 𝑥1 .

Pegando os coeficientes de 𝑥1 nas demais equações para dividir o valor de b,


temos:

Linha 1: 10/3 = 3,333 (menor valor, logo é a linha pivô)

Linha 2: 8/1 = 8

Podemos escrever a tabela 1 como:

Z-W X1 X2 F1 F2 a1 a2 b b/X1
Tabela 1 -1 3 5 0 0 0 0 0
L1 a1 0 3 2 -1 0 1 0 10 3,33 Sai
L2 a2 0 1 1 0 -1 0 1 8 8
-W -1 -4 -3 1 1 0 0 -18
Entra

Dividindo a linha pivô por 3, temos:

Nova linha pivô:

Z-W X1 X2 F1 F2 a1 a2 b
Linha pivô 0 3 2 -1 0 1 0 10
Dividido por 3 0 1 0,67 -0,33 0 0,33 0 3,33

Cálculo da nova linha de Z (coeficiente da variável que entra = 3)

Z-W X1 X2 F1 F2 a1 a2 b
Nova linha pivô 0 1 0,67 -0,33 0 0,33 0 3,33
Multiplicar por -3 0 -3 -2 1 0 -1 0 -10 (+)
Linha Z -1 3 5 0 0 0 0 0
Nova linha Z -1 0 3 1 0 -1 0 -10

Cálculo da nova linha L2 (coeficiente da variável que entra = 1)

Z-W X1 X2 F1 F2 a1 a2 b
Nova linha pivô 0 1 0,67 -0,33 0 0,33 0 3,33
Multiplicar por -1 0 -1 -0,67 0,33 0 -0,33 0 -3,33 (+)
Linha 2 0 1 1 0 -1 0 1 8
Nova linha 2 0 0 0,33 0,33 -1 -0,33 1 4,67

97
Cálculo da nova linha W (coeficiente da variável que entra = -4)

Z-W X1 X2 F1 F2 a1 a2 b
Nova linha pivô 0 1 0,67 -0,33 0 0,33 0 3,33
Multiplicar por 4 0 4 2,67 -1,33 0 1,33 0 13,33 (+)
Linha W -1 -4 -3 1 1 0 0 -18
Nova linha W -1 0 -0,33 -0,33 1 1,33 0 -4,67

Reescrevendo a nova tabela teremos:

Z-W X1 X2 F1 F2 a1 a2 b
Tabela 2 -1 0 3 1 0 -1 0 -10
L1 X1 0 1 0,67 -0,33 0 0,33 0 3,33
L2 a2 0 0 0,33 0,33 -1 -0,33 1 4,67
-W -1 0 -0,33 -0,33 1 1,33 0 -4,67

Temos ainda 𝑥2 e 𝐹1 negativos. Como os dois tem o mesmo valor, podemos escolher
qualquer um deles. Pegando por exemplo a coluna de 𝐹1 , temos que apenas a linha 2
dará um valor positivo. Portanto, a linha pivô será a linha 2 e o elemento pivô será o
0,33.

Dividindo a linha pivô por 0,33, temos:

Nova linha pivô:

Z-W X1 X2 F1 F2 a1 a2 b
Linha pivô 0 0 0,33 0,33 -1 -0,33 1 4,67
Dividido por 0,33 0 0 1 1 -3 -1 3 14

Cálculo da nova linha de Z (coeficiente da variável que entra = 1)

Z-W X1 X2 F1 F2 a1 a2 b
Nova linha pivô 0 0 1 1 -3 -1 3 14
Multiplicar por -1 0 0 -1 -1 3 1 -3 -14 (+)
Linha Z -1 0 3 1 0 -1 0 -10
Nova linha Z -1 0 2 0 3 0 -3 -24

Cálculo da nova linha L1 (coeficiente da variável que entra = -0,33)

Z-W X1 X2 F1 F2 a1 a2 b
Nova linha pivô 0 0 1 1 -3 -1 3 14
Multiplicar por 0,33 0 0 0,33 0,33 -1 -0,33 1 4,67 (+)
Linha 1 0 1 0,67 -0,33 0 0,33 0 3,33
Nova linha 1 0 1 1 0 -1 0 1 8

98
Cálculo da nova linha W (coeficiente da variável que entra = -0,33)

Z-W X1 X2 F1 F2 a1 a2 b
Nova linha pivô 0 0 1 1 -3 -1 3 14
Multiplicar por 0,33 0 0 0,33 0,33 -1 -0,33 1 4,67 (+)
Linha W -1 0 -0,33 -0,33 1 1,33 0 -4,67
Nova linha W -1 0 0 0 0 1 1 0

Reescrevendo a nova tabela teremos:

Z-W X1 X2 F1 F2 a1 a2 b
Tabela 3 -1 0 2 0 3 0 -3 -24
L1 X1 0 1 1 0 -1 0 1 8
L2 F1 0 0 1 1 -3 -1 3 14
-W -1 0 0 0 0 1 1 0

Note que as variáveis artificiais são iguais a 0 (ou seja, 𝑊 = 0). Sendo assim, a
fase 1 chegou ao fim, e tabela 3 pode ser reescrita (dando início à fase 2).
A tabela 1 da Fase 2 se torna, portanto:

Z X1 X2 F1 F2 b
Tabela 3 -1 0 2 0 3 -24
L1 X1 0 1 1 0 -1 8
L2 F1 0 0 1 1 -3 14

Como não existem coeficientes negativos na função objetivo, essa solução é ótima.

Solução:

Variáveis Não básicas: 𝑥2 = 0 e 𝐹2 = 0


Variáveis básicas: 𝐹1 = 14 e 𝑥1 = 8

Valor de Z: 𝑍 = 24

Temos o valor mínimo de 𝑍 = 24, obtido com 𝑥1 = 8 e 𝑥2 = 0.

99
Agora, vamos determinar o dual desse enunciado e obter a solução ótima desse
dual, junto com as variáveis básicas e não básicas. Em seguida, vamos determinar a
solução do primal, junto com as variáveis básicas e não básicas, a partir da resposta do
dual. Por fim, vamos comparar esse resultado com o obtido anteriormente via método
das duas fases.

Repetindo o enunciado:
Min 𝑍 = 3𝑥1 + 5𝑥2

Sujeito às restrições:
3𝑥1 + 2𝑥2 ≥ 10
𝑥1 + 𝑥2 ≥ 8
𝑥1 , 𝑥2 ≥ 0

O dual será:
Max 𝐷 = 10𝑦1 + 8𝑦2

Sujeito às restrições:
3𝑦1 + 𝑦2 ≤ 3
2𝑦1 + 𝑦2 ≤ 5
𝑦1 , 𝑦2 ≥ 0

Tenha como base a tabela a seguir (observando as relações da direita para a


esquerda).

Primeiro vamos reescrever a função objetivo e as inequações:


𝐷 − 10𝑦1 − 8𝑦2 = 0
3𝑦1 + 𝑦2 + 𝐹1 = 3
2𝑦1 + 𝑦2 + 𝐹2 = 5

100
Temos que:

D Y1 Y2 F1 F2 c
Tabela 1 1 -10 -8 0 0 0
L1 F1 0 3 1 1 0 3
L2 F2 0 2 1 0 1 5

Temos que pegar a coluna de 𝑦1 (maior coeficiente negativo) e calcular c/Y1

Linha 1: 3/3 = 1 (linha pivô)

Linha 2: 5/2 = 2,5

Logo, a linha pivô é a linha 1 e o elemento pivô será o 3.

Dividindo a linha pivô por 3, temos:

D Y1 Y2 F1 F2 c
Linha pivô 0 3 1 1 0 3
Dividido por 3 0 1 0,33 0,33 0 1

Cálculo da nova linha de Z (coeficiente da variável que entra = -10)

D Y1 Y2 F1 F2 c
Nova linha pivô 0 1 0,33 0,33 0 1
Multiplicar por 10 0 10 3,33 3,33 0 10 (+)
Linha Z 1 -10 -8 0 0 0
Nova linha Z 1 0 -4,67 3,33 0 10

Cálculo da nova linha L2 (coeficiente da variável que entra = 2)

D Y1 Y2 F1 F2 c
Nova linha pivô 0 1 0,33 0,33 0 1
Multiplicar por -2 0 -2 -0,67 -0,67 0 -2 (+)
Linha 2 0 2 1 0 1 5
Nova linha 2 0 0 0,33 -0,67 1 3

A tabela 2 será então:

D Y1 Y2 F1 F2 c
Tabela 2 1 0 -4,67 3,33 0 10
L1 Y1 0 1 0,33 0,33 0 1
L2 F2 0 0 0,33 -0,67 1 3

101
Pegando a coluna de Y2 (negativo) e a linha 1 (que é a de menor c/Y2), temos que
a linha pivô é a linha 1 e que o elemento pivô será 0,33.

Dividindo a linha pivô por 0,33:

Nova linha pivô:

D Y1 Y2 F1 F2 c
Linha pivô 0 1 0,33 0,33 0 1
Dividido por 0,33 0 3 1 1 0 3

Cálculo da nova linha de Z (coeficiente da variável que entra = -4,67)

D Y1 Y2 F1 F2 c
Nova linha pivô 0 3 1 1 0 3
Multiplicar por 4,67 0 14 4,67 4,67 0 14 (+)
Linha Z 1 0 -4,67 3,33 0 10
Nova linha Z 1 14 0 8 0 24

Cálculo da nova linha L2 (coeficiente da variável que entra = 0,33)

D Y1 Y2 F1 F2 c
Nova linha pivô 0 3 1 1 0 3
Multiplicar por -0,33 0 -1 -0,33 -0,33 0 -1 (+)
Linha 2 0 0 0,33 -0,67 1 3
Nova linha 2 0 -1 0 -1 1 2

A tabela 3 será então:

D Y1 Y2 F1 F2 c
Tabela 3 1 14 0 8 0 24
L1 Y2 0 3 1 1 0 3
L2 F2 0 -1 0 -1 1 2

Solução:

Variáveis Não básicas: 𝑦1 = 0 e 𝐹1 = 0

Variáveis básicas: 𝐹2 = 2 e 𝑦2 = 3

Valor de D: 𝐷 = 24

Essa nova solução é ótima, pois todos os coeficientes das variáveis na função
objetivo são positivos. Temos o valor máximo de 𝐷 = 24, obtido com 𝑦1 = 0 e 𝑦2 = 3 (que
é conhecida como solução ótima complementar).

102
A solução do primal pode ser obtida a partir do dual utilizando as propriedades
primal-dual.

Temos que:

1. Os coeficientes de y se tornam os valores de F (no primal);


2. Os coeficientes de F se tornam os valores de x;
3. Os valores de y se tornam os coeficientes de F (no primal);
4. Os valores de F se tornam os coeficientes de x.

Partindo da tabela 3 do dual e aplicando as propriedades primal-dual chegamos


à tabela do primal:

Z X1 X2 F1 F2 b
Tabela 3 -1 0 2 0 3 -24
L1 X1 1 0 8
L2 F1 0 1 14

Solução do primal:

Variáveis Não básicas: 𝑥2 = 0 e 𝐹2 = 0

Variáveis básicas: 𝐹1 = 14 e 𝑥1 = 8

Valor de Z: 𝑍 = 24

Essa nova solução é ótima, pois todos os coeficientes das variáveis na função
objetivo são positivos. Temos o valor mínimo de 𝑍 = 24, obtido com 𝑥1 = 0 e 𝑥2 = 8 (solução
ótima).

Perceba que a solução encontrada é a mesma obtida com o método das duas fases.

O interessante dessa questão, é que ela mostra que podemos obter a solução ótima
do primal a partir do dual. Isso significa que, ao invés de lidarmos com a complexidade
de uma minimização e da utilização das variáveis artificiais (por conta dos sinais de
maior ou igual presentes nas restrições), podemos transformar o primal em dual,
resolver o dual e depois voltar para o primal (obtendo a solução ótima a partir da dual).
Como as condições das variáveis eram sempre maior ou igual a zero (𝑥1 , 𝑥2 ≥ 0),
então, pela tabela todas as restrições do dual seriam do tipo menor ou igual (que
significou utilizarmos apenas folgas F, simplificando a obtenção do resultado pelo dual).

103
Interpretação econômica da dualidade

O problema de PL pode ser considerado um modelo de alocação de recursos


(limitados) a atividades, cujo objetivo é maximizar a receita. Nesse caso, o problema
dual fornece uma interpretação econômica para o problema de PL de alocação de
recursos.

Considere a seguinte representação para os problemas primal e dual:

Primal:
𝑛

Max 𝑍 = ∑ 𝑐𝑗 𝑥𝑗
𝑗=1

Sujeito às restrições:
𝑛

∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖
𝑗=1

𝑥𝑗 ≥ 0

𝑖 = 1,2, … , 𝑚
𝑗 = 1,2, … , 𝑛

O seu dual será:


𝑚

Min 𝐷 = ∑ 𝑏𝑖 𝑦𝑖
𝑖=1

Sujeito às restrições:
𝑚

∑ 𝑎𝑗𝑖 𝑦𝑖 ≥ 𝑐𝑗
𝑖=1

𝑦𝑖 ≥ 0
𝑗 = 1,2, … , 𝑚
𝑖 = 1,2, … , 𝑛

Note que os coeficientes de 𝑥𝑗 na função objetivo (𝑐𝑗 ) do primal se tornaram as


restrições (o termo do lado direito das restrições) no dual; e o termo do lado direito das
restrições no primal (𝑏𝑖 ) se tornaram os coeficientes da função objetivo no dual. Além
disso, o sinal ≤ das restrições do primal foi substituído pelo sinal ≥ no dual.

104
Observe também que as colunas do primal (índice 𝑖) se tornaram as linhas do dual
(índice 𝑗). Ou seja, cada uma das 𝑛 variáveis de decisão (colunas 𝑗 do primal) se tornaram
𝑛 restrições no dual (linhas 𝑖 do dual); e cada uma das 𝑚 restrições (linhas 𝑖 do primal)
se tornaram as 𝑚 variáveis de decisão do dual (colunas 𝑗 do dual).

Visto como um modelo de alocação de recursos, o problema primal têm 𝑛


atividades econômicas (que geram receita para a empresa) e 𝑚 recursos (que geram
“custos” para a empresa). O coeficiente 𝑐𝑗 do primal representa a receita por unidade da
atividade 𝑗 (𝑥𝑗 ). O recurso 𝑖 tem disponibilidade máxima 𝑏𝑖 e é consumido a uma taxa de
𝑎𝑖𝑗 unidades para cada unidade da atividade 𝑗 (𝑥𝑗 ).

Considere o exemplo 6 do capítulo anterior (mix de produção):


Max 𝑍 = 4𝑥1 + 2𝑥2 + 3𝑥3

Sujeito às restrições:
7𝑥1 + 4𝑥2 + 3𝑥3 ≤ 150
4𝑥1 + 4𝑥2 + 5𝑥3 ≤ 200
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Os coeficientes da função objetivo (𝑐𝑗 ) representam a receita por unidade da


atividade 𝑗: 4 reais por unidade do produto A, 2 reais por unidade do produto B e 3 reais
por unidade do produto C.
Os coeficientes das restrições (𝑎𝑖𝑗 ) representam a taxa de consumo do recurso 𝑖:
para o recurso 1, o produto A consome 7 horas por unidade, o produto B 4 horas por
unidade e o produto C 3 horas por unidade; para o recurso 2, o produto A consome 4 kg
por unidade, o produto B 4 kg por unidade e o produto C 5 kg por unidade.

Os termos do lado direito (𝑏𝑖 ) representam as disponibilidades de cada recurso 𝑖:


o recurso 1 (mão-de-obra) possui uma disponibilidade de 150 horas, enquanto o recurso
2 (material) possui uma disponibilidade de 200 kg.

O dual desse problema é:


Min 𝐷 = 150𝑦1 + 200𝑦2

Sujeito às restrições:
7𝑦1 + 4𝑦2 ≥ 4
4𝑦1 + 4𝑦2 ≥ 2
3𝑦1 + 5𝑦2 ≥ 3
𝑦1 , 𝑦2 ≥ 0

105
O problema dual consiste em minimizar o “custo” dos recursos (valor equivalente
dos recursos). O termo 𝑦𝑖 seria então o valor equivalente por unidade do recurso 𝑖.
Contudo, na literatura de PL (e em quase todos os softwares), 𝑦𝑖 é chamado de preço
sombra (ou preço dual). Naturalmente, nosso objetivo é minimizar o preço sombra.
Quanto menor for o valor do preço sombra, maior é o “aproveitamento” do recurso (mais
eficiente está sendo aquele recurso em termos de custo). Por exemplo, um recurso que
custa 5 e te gera 10 é melhor do que um recurso que custa 5 e te gera 7.

Partindo das propriedades da dualidade, temos que:


𝑍≤𝐷

Assim:
𝑛 𝑚

𝑍 = ∑ 𝑐𝑗 𝑥𝑗 ≤ 𝐷 = ∑ 𝑏𝑖 𝑦𝑖
𝑗=1 𝑖=1

A igualdade 𝑍 = 𝐷 vale quando ambas as soluções (primal e dual) são ótimas.


Nesse caso:
𝑚

𝑍 = 𝐷 = ∑ 𝑏𝑖 𝑦𝑖
𝑖=1

Em um problema de alocação de recursos, 𝑍 é a receita em reais. Além disso, 𝑏𝑖 é


o número de unidades disponíveis do recurso 𝑖 (150 e 200 no exemplo anterior), enquanto
𝑦𝑖 é o preço sombra (o ganho em reais por unidade do recurso 𝑖). Com isso, a expressão
anterior pode ser reescrita em linguagem dimensional como:
𝑚

Receita (R$) = ∑[(unidades do recurso 𝑖 ) × (R$ por unidade do recurso 𝑖 )]


𝑖=1

Vale ressaltar que essa equação só é válida para 𝑍 = 𝐷, ou seja, para a solução
ótima complementar (valores ótimos de 𝑦𝑖 no dual).

Fora da solução ótima, temos que:


𝑍<𝐷

De forma geral, temos que:


𝑍 = Receita (R$)
𝐷 = Valor equivalente dos recursos (R$)

Logo:
Receita (R$) < Valor equivalente dos recursos (R$)

106
Essa expressão afirma que, enquanto a receita total de todas as atividades for
menor do que o valor equivalente dos recursos, as soluções primal e dual não são ótimas
(isto é, elas podem ser melhoradas). A otimalidade (receita máxima) só é alcançada
quando os recursos são explorados completamente (da melhor forma possível), o que só
irá acontecer quando a entrada (valor equivalente dos recursos 𝐷) for igual à saída
(receita 𝑍 em reais).

Em termos econômicos, diz-se que o sistema é instável (solução não ótima) quando
a entrada (valor equivalente dos recursos 𝐷) for maior do que a saída (receita 𝑍 em
reais). A estabilidade (solução ótima) só ocorre quando essas duas quantidades são
iguais (𝑍 = 𝐷).

Já as restrições do dual apresentam a contribuição dos recursos para cada


atividade. Ou seja, a contribuição dos recursos para a atividade 𝑗 é dada por:
𝑚

Contribuição dos recursos para a atividade 𝑗 = ∑ 𝑎𝑗𝑖 𝑦𝑖


𝑖=1

É importante observar que as restrições impõem que essa contribuição seja


sempre maior ou igual a 𝑐𝑗 (que é a receita unitária, ou receita por unidade da atividade
𝑗):
𝑚

∑ 𝑎𝑗𝑖 𝑦𝑖 ≥ 𝑐𝑗
𝑖=1

Isto é:

Contribuição dos recursos para a atividade 𝑗 ≥ receita por unidade da atividade 𝑗

Isso significa que não podemos aceitar nenhuma solução complementar que seja
menos rentável do que uma unidade da atividade 𝑗 (se aceitarmos, então não faremos o
melhor uso desses recursos).
Do ponto de vista econômico, a dualidade permitiu obter uma série de parâmetros
para a interpretação econômica de problemas de PL. O preço sombra, por exemplo, é um
parâmetro econômico muito importante, pois ele representa o quanto cada recurso
“contribui” para a receita (a partir daí pode-se avaliar o impacto que cada recurso tem
nos ganhos da empresa, ou seja, qual é o “valor” que cada recurso agrega às atividades
da empresa).

107
AULA 3 – ANÁLISE DE
SENSIBILIDADE

Mudança nos coeficientes da função objetivo

Os modelos matemáticos que representam uma programação linear nas suas


construções, seja na produção de bens ou de serviços, são alimentados por dados cujos
valores dependem do mercado e dos processos de produção (usados na produção dos
produtos ou serviços).

A Análise de Sensibilidade visa determinar em quais limites esses parâmetros do


modelo podem mudar sem que a solução ótima seja alterada. É importante observar que
nos problemas reais os parâmetros do modelo de PL não são exatos (não são
determinísticos). A análise de sensibilidade permite averiguar o impacto dessa incerteza
sobre a solução ótima (validando ou invalidando essa solução).

Imagine que o lucro de um produto varie no intervalo de ±5% do seu valor médio.
Caso a análise de sensibilidade revele que a solução ótima continua a mesma ainda que
o lucro desse produto varie no intervalo de ±10%, isso significa que a variação do lucro
desse produto (±5%) é indiferente para a solução do problema.

Considere o modelo de programação linear abaixo:


Max 𝑍 = 𝑥1 + 2𝑥2 + 3𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 + 𝑥3 ≤ 10
2𝑥1 + 𝑥2 + 4𝑥3 ≤ 12
𝑥1 + 3𝑥2 − 𝑥3 ≤ 9
𝑥1 , 𝑥2 , 𝑥3 ≥ 0
108
As variáveis 𝑥1 , 𝑥2 e 𝑥3 (variáveis de decisão) representam as quantidades de
produtos P1, P2 e P3, respectivamente. Além disso, os recursos de produção R1, R2 e R3
têm a disponibilidade de 10, 12 e 9 unidades, respectivamente (lado direito das
restrições). Tais recursos são utilizados para a produção de certas quantidades de
produtos (que aparecem no lado esquerdo das restrições).

Os lucros unitários são os coeficientes na função objetivo para P1, P2 e P3. Os


coeficientes de 𝑥1 , 𝑥2 e 𝑥3 nas restrições representam a taxa de uso dos recursos R1, R2
e R3 por unidade de produto P1, P2 e P3. A análise de sensibilidade que vamos propor
agora diz respeito às consequências das variações desses parâmetros.

Primeiramente, vamos considerar alguma mudança nos coeficientes da função


objetivo (mudança nos lucros unitários).

A seguir estão apresentadas a primeira e a última tabela obtidas via método


Simplex.

Z X1 X2 X3 F1 F2 F3 b
Tabela 1 1 -1 -2 -3 0 0 0 0
L1 F1 0 1 1 1 1 0 0 10
L2 F2 0 2 1 4 0 1 0 12
L3 F3 0 1 3 -1 0 0 1 9

Z X1 X2 X3 F1 F2 F3 b
Tabela 3 1 1,077 0 0 0 0,846 0,385 13,615
L1 F1 0 0,154 0 0 1 -0,308 -0,231 4,231
L2 X3 0 0,385 0 1 0 0,231 -0,077 2,077
L3 X2 0 0,462 1 0 0 0,077 0,308 3,692

Mudança no coeficiente de uma variável básica:


Observe que as variáveis básicas presentes na solução final (Tabela 3) são as
variáveis 𝑥2 e 𝑥3 . Nesse caso, estamos interessados em estudar que tipo de mudança os
coeficientes dessas variáveis podem sofrer sem alterar a solução ótima.

A função objetivo é de maximização do lucro. Portanto, a entrada de uma variável


só é possível se o aumento do lucro devido a essa inclusão compensar a queda do lucro
devido às alterações nas outras variáveis.

109
Intervalo de estabilidade para o coeficiente de 𝑥2 :

-Entrada de 𝑥1 :

Na tabela final, note que na coluna dos coeficientes de 𝑥1 , quando 𝑥1 passa de 𝑥1


= 0 para 𝑥1 = 1 (coluna de 𝑥1 na tabela final):

 𝐹1 diminui em 0,154
 𝑥3 diminui em 0,385
 𝑥2 diminui em 0,462

O coeficiente de 𝑥2 que permite a entrada de 𝑥1 é o coeficiente que deve igualar o


aumento do lucro com a entrada de 𝑥1 com a diminuição do lucro devido às outras
variáveis 𝐹1 , 𝑥3 e 𝑥2 .

Conhecidos os lucros unitários da tabela inicial (que são os coeficientes da função


objetivo), e chamando de 𝑐2 o lucro unitário de 𝑥2 , teremos:

 Aumento devido a 𝑥1 : 1 ∙ 1 = 1 (1 multiplicado pelo coeficiente de 𝑥1 na função


objetivo do problema original)
 Diminuição devido às outras: 0,154 ∙ 0 + 0,385 ∙ 3 + 0,462 ∙ 𝑐2 (valor dos
coeficientes das variáveis básicas na solução ótima multiplicados pelos seus
coeficientes na função objetivo do problema)
 Para compensar: iguale o aumento do lucro com a entrada de 𝑥1 (1) com a
diminuição do lucro devido às outras variáveis (0,385 ∙ 3 + 0,462 ∙ 𝑐2):
0,385 ∙ 3 + 0,462 ∙ 𝑐2 = 1
1,155 + 0,462 ∙ 𝑐2 = 1
0,462 ∙ 𝑐2 = −0,155
𝑐2 = −0,335

-Entrada de 𝐹2 (passa de 𝐹2 = 0 para 𝐹2 = 1). Assim, observando a coluna de 𝐹2 na


tabela final:

 𝐹1 diminui em -0,308 (ou seja, aumentar de 0,308)


 𝑥3 diminui em 0,231
 𝑥2 diminui em 0,077

Com isso:

 Aumento devido a 𝐹2 : 1 ∙ 0 = 0 (1 multiplicado pelo coeficiente de 𝐹2 da função


objetivo do problema original)
 Diminuição devido às outras: −0,308 ∙ 0 + 0,231 ∙ 3 + 0,077𝑐2 (valor dos
coeficientes das variáveis básicas na solução ótima multiplicados pelos seus
coeficientes na função objetivo do problema)
110
 Para compensar:
0,231 ∙ 3 + 0,077𝑐2 = 0
0,693 + 0,077𝑐2 = 0
0,077𝑐2 = −0,693
𝑐2 = −9

-Entrada de 𝐹3 (passa de 𝐹3 = 0 para 𝐹3 = 1). Assim, observando a coluna de 𝐹3 na


tabela final:

 𝐹1 diminui em -0,231
 𝑥3 diminui em -0,077
 𝑥2 diminui em 0,308

Com isso:

 Aumento devido a 𝐹3 : 1 ∙ 0 = 0 (1 multiplicado pelo coeficiente de 𝐹3 da função


objetivo)
 Diminuição devido às outras: −0,231 ∙ 0 – 0,077 ∙ 3 + 0,308𝑐2 (valor dos
coeficientes das variáveis básicas na solução ótima multiplicados pelos seus
coeficientes na função objetivo do problema)
 Para compensar:
−0,077 ∙ 3 + 0,308𝑐2 = 0
−0,231 + 0,308𝑐2 = 0
0,308𝑐2 = 0,231
𝑐2 = 0,75

Ordenando os valores críticos de 𝑐2:

-9 ≤ -0,335 ≤ 0,75 ≤ 𝑐2

Observe que o coeficiente de 𝑥2 na função objetivo do problema original é igual a


2. Portanto, o coeficiente 𝑐2 aparecerá depois do valor de 0,75.

Em outras palavras, podemos concluir que o coeficiente 𝑐2 deve ser maior ou igual
a 0,75. Isso significa que a solução é estável desde que 𝑐2 ≥ 0,75 (desde que o coeficiente
de 𝑥2 na função objetivo do problema de PL tenha um valor maior ou igual a 0,75, a
solução ótima do problema 𝑥1 = 0, 𝑥2 = 3,692 e 𝑥3 = 2,077 não irá se alterar). Contudo o
valor de 𝑍 muda. Por exemplo, para 𝑐2 = 0,8, temos 𝑍 = 9,185 (que é diferente do valor
de 𝑍 = 13,615 obtido com 𝑐2 = 2).

111
Intervalo de estabilidade para o coeficiente 𝑥3 :

-Entrada de 𝑥1 (passa de 𝑥1 = 0 para 𝑥1 = 1). Assim, observando a coluna de 𝑥1 na


tabela final:

 𝐹1 diminui em 0,154
 𝑥3 diminui em 0,385
 𝑥2 diminui em 0,462

Com isso:

 Aumento devido a 𝑥1 : 1 ∙ 1 = 1 (1 multiplicado pelo coeficiente de 𝑥1 da função


objetivo)
 Diminuição devido às outras: 0,154 ∙ 0 + 0,385𝑐3 + 0,462 ∙ 2 (valor dos coeficientes
das variáveis básicas na solução ótima multiplicados pelos seus coeficientes na
função objetivo do problema)
 Para compensar:
0,385𝑐3 + 0,462 ∙ 2 = 1
0,385𝑐3 + 0,924 = 1
0,385𝑐3 = 0,076
𝑐3 = 0,197

-Entrada de 𝐹2 (passa de 𝐹2 = 0 para 𝐹2 = 1). Assim, observando a coluna de 𝐹2 na


tabela final:

 𝐹1 diminui em -0,308 (ou seja, aumentar de 0,308)


 𝑥3 diminui em 0,231
 𝑥2 diminui em 0,077

Com isso:

 Aumento devido a 𝐹2 : 1 ∙ 0 = 0 (1 multiplicado pelo coeficiente de 𝐹2 da função


objetivo do problema original)
 Diminuição devido às outras: −0,308 ∙ 0 + 0,231𝑐3 + 0,077 ∙ 2 (valor dos
coeficientes das variáveis básicas na solução ótima multiplicados pelos seus
coeficientes na função objetivo do problema)
 Para compensar:
0,231𝑐3 + 0,077 ∙ 2 = 0
0,231𝑐3 + 0,154 = 0
0,231𝑐3 = −0,154
𝑐3 = −0,667

112
-Entrada de 𝐹3 (passa de 𝐹3 = 0 para 𝐹3 = 1). Assim, observando a coluna de 𝐹3 na
tabela final:

 𝐹1 diminui em -0,231
 𝑥3 diminui em -0,077
 𝑥2 diminui em 0,308

Com isso:

 Aumento devido a 𝐹3 : 1 ∙ 0 = 0 (1 multiplicado pelo coeficiente de 𝐹3 da função


objetivo)
 Diminuição devido às outras: −0,231 ∙ 0 – 0,077𝑐3 + 0,308 ∙ 2 (valor dos
coeficientes das variáveis básicas na solução ótima multiplicados pelos seus
coeficientes na função objetivo do problema)
 Para compensar:
– 0,077𝑐3 + 0,308 ∙ 2 = 0
– 0,077𝑐3 + 0,616 = 0
– 0,077𝑐3 = −0,616
𝑐3 = 8

Ordenando os valores críticos de 𝑐3:

-0,667 ≤ 0,197 ≤ 𝑐3 ≤ 8

Observe que o coeficiente de 𝑥3 na função objetivo do problema original é igual a


3. Portanto, o coeficiente 𝑐3 aparecerá depois do valor de 0,197 e antes do 8.

Em outras palavras, podemos concluir que o coeficiente 𝑐3 deve ter um valor entre
0,197 e 8. Isso significa que a solução é estável desde que 0,197 ≤ 𝑐3 ≤ 8 (enquanto 𝑐3
estiver nesse intervalo, a solução é estável, ou seja, a solução ótima do problema 𝑥1 = 0,
𝑥2 = 3,692 e 𝑥3 = 2,077 não irá se alterar). Contudo o valor de 𝑍 muda. Por exemplo, para
𝑐3 = 5, temos 𝑍 = 17,769 (que é diferente do valor de 𝑍 = 13,615 obtido com 𝑐3 = 3).

Como a solução ótima é a mesma, para obter esse novo valor de 𝑍, basta calcular:
𝑍 = 𝑥1 + 2𝑥2 + 5𝑥3
𝑍 = 0 + 2 ∙ 3,692 + 5 ∙ 2,077
𝑍 = 17,769

113
Mudança no coeficiente de uma variável não básica:

Quando nos referimos a uma variável não básica, o que se deseja saber é qual seu
coeficiente crítico para a estabilidade, isto é, a partir de qual valor a variável não básica
entra na base mudando a solução.

No nosso exemplo, a entrada de 𝑥1 com valor 1 provoca um aumento no lucro de


1 (que é o seu coeficiente na função objetivo do problema) e uma diminuição devido às
outras variáveis de (coluna de 𝑥1 na tabela final multiplicada pelos coeficientes na
função objetivo do problema original):
0,154 ∙ 0 + 0,385 ∙ 3 + 0,462 ∙ 2 = 2,079

O resultado será um decréscimo no lucro de 2,079 – 1 = 1,079 (1,079 é o valor do


coeficiente de 𝑥1 na tabela final). Isso significa que, a entrada de 𝑥1 (passar de 𝑥1 = 0
para 𝑥1 = 1) reduz o valor de 𝑍 em 1,079.

Assim, para que 𝑥1 não diminua o lucro, é necessário que o seu coeficiente (isto é,
seu lucro unitário) seja de:
1 + 1,079 = 2,079

Ou seja, o coeficiente atual (lucro corrente) mais o seu valor de oportunidade.

Portanto, a solução é estável para 𝑐1 ≤ 2,079. Isso significa que, mesmo se


mudássemos o coeficiente de 𝑥1 na função objetivo (que vale 1), desde que esse valor seja
menor ou igual a 2,079, a solução ótima (𝑥1 = 0, 𝑥2 = 3,692 e 𝑥3 = 2,077) não seria
alterada.

Além disso, a mudança do coeficiente na função objetivo de uma variável não


básica, desde que dentro desse intervalo de estabilidade, não irá alterar a solução ótima
para 𝑍 (ou seja, 𝑍 = 13,615 para 𝑐1 ≤ 2,079).

Análise de pós-otimização

Na seção anterior, tratamos da sensibilidade da solução ótima determinando as


faixas de valores para os coeficientes que mantém a solução ótima inalterada. Nessa
seção, faremos alterações nos parâmetros do problema para encontrar uma nova solução
ótima.

A análise de pós-otimização visa obter a nova solução ótima em dois casos


principais: 1-quando uma nova variável é adicionada ao modelo; 2-quando há alteração
em alguma das restrições (ou seja, quando o lado direito das restrições é alterado).

114
Entrada de uma nova variável:

Em alguns problemas de PL envolvendo a análise de sensibilidade, é comum


avaliar o impacto que uma nova variável de decisão teria sobre a solução ótima. Para
isso é preciso calcular o “valor mínimo” (para problemas de maximização) para o
coeficiente dessa nova variável de decisão na função objetivo (por exemplo, o lucro
unitário de um produto) a partir do qual a entrada dessa nova variável se torna
vantajosa (ou seja, passa a aumentar o valor máximo de 𝑍, gerando uma nova solução
ótima que inclui essa nova variável de decisão).

Caso o coeficiente dessa nova variável esteja abaixo desse “valor mínimo”, a
solução ótima do problema não será alterada (ou seja, a entrada dessa nova variável não
contribui para o aumento de 𝑍 e portanto o valor dessa variável será zero na solução
ótima).

Dando sequência ao exemplo anterior, considere agora que a empresa tenha


decidido desenvolver um novo produto P4, que usa os mesmos recursos dos demais
produtos, P1, P2 e P3. Além disso, a capacidade dos recursos não pode ser aumentada.
A empresa sabe que colocando o P4 em produção, ele concorrerá com os demais produtos
P1, P2 e P3 em termos de recursos. Então ela quer saber qual deveria ser o lucro mínimo
de P4 (coeficiente de 𝑥4 na função objetivo) para que sua fabricação seja interessante.

Para relembrar, a seguir está mostrado o enunciado e a solução do exemplo


anterior:
Max 𝑍 = 𝑥1 + 2𝑥2 + 3𝑥3

Sujeito às restrições:
𝑥1 + 𝑥2 + 𝑥3 ≤ 10
2𝑥1 + 𝑥2 + 4𝑥3 ≤ 12
𝑥1 + 3𝑥2 − 𝑥3 ≤ 9
𝑥1 , 𝑥2 , 𝑥3 ≥ 0

Tabela final:

Z X1 X2 X3 F1 F2 F3 b
Tabela 3 1 1,077 0 0 0 0,846 0,385 13,615
L1 F1 0 0,154 0 0 1 -0,308 -0,231 4,231
L2 X3 0 0,385 0 1 0 0,231 -0,077 2,077
L3 X2 0 0,461 1 0 0 0,077 0,308 3,692

115
Um levantamento de dados pela gestão da produção da empresa mostrou que a
produção de P4 exige uma unidade de R1, uma unidade de R2 e duas unidades de R3. O
novo problema de PL passaria a ser:
Max 𝑍 = 𝑥1 + 2𝑥2 + 3𝑥3 + 𝑐4 𝑥4

Sujeito às restrições:
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 ≤ 10
2𝑥1 + 𝑥2 + 4𝑥3 + 𝑥4 ≤ 12
𝑥1 + 3𝑥2 − 𝑥3 + 2𝑥4 ≤ 9
𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 ≥ 0

Para fabricá-lo precisaremos forçar as folgas (reduzir as folgas) dos recursos


necessários para o produto P4. Isso implicará em uma perda de (coeficiente da folga na
função objetivo da tabela final multiplicado pelo uso desse recurso por parte do produto
P4):
0 ∙ 1 + 0,846 ∙ 1 + 0,385 ∙ 2 = 1,616

Os coeficientes 0, 0,846 e 0,385 são conhecidos como “preços de oportunidade” dos


recursos ou mais precisamente preços sombra (eles indicam o quanto que cada recurso
contribui para o lucro). Esse conceito é estudado na teoria da dualidade (mais
especificamente na “interpretação econômica da dualidade”), na qual os preços sombra
(𝑦𝑖 ) são os coeficientes de F da função objetivo da tabela final.

Assim, podemos concluir que o produto P4 poderia ser fabricado se seu lucro por
unidade fosse de no mínimo 1,616. Caso contrário, a entrada de P4 não alteraria a
solução ótima do problema (teríamos 𝑥4 = 0 na solução ótima). Em outras palavras, para
que a fabricação de P4 seja interessante, o seu lucro unitário deve ser 𝑐4 ≥ 1,616.

Mudanças nos valores dos recursos:

É possível ainda, em problemas envolvendo a análise de sensibilidade, alterar o


valor de algum dos recursos (isto é, alterar o limite de algumas das restrições). Na
prática isso ocorre quando possuímos uma disponibilidade maior para certo recurso.

Essa alteração pode gerar uma nova solução ótima para o problema de PL. Essa
seção visa discutir sobre os impactos que a mudança dos recursos podem ter sobre um
problema de PL, e como calculá-la.

116
A seguir é apresentada novamente a tabela final do nosso exemplo:

Z X1 X2 X3 F1 F2 F3 b
Tabela 3 1 1,077 0 0 0 0,846 0,385 13,615
L1 F1 0 0,154 0 0 1 -0,308 -0,231 4,231
L2 X3 0 0,385 0 1 0 0,231 -0,077 2,077
L3 X2 0 0,461 1 0 0 0,077 0,308 3,692

Analisando a tabela final podemos inferir uma série de informações com relação
aos recursos utilizados na produção dos produtos da empresa:

 Com relação ao recurso R1, cuja folga é representada por 𝐹1 , podemos dizer que
ele é um recurso não escasso (pois ele tem um valor diferente de zero na solução
ótima). Isso significa que uma redução de até 4,231 unidades no recurso (10 –
4,231 = 5,769) não afeta a solução (mesmo se mudássemos a primeira restrição
para qualquer valor entre 5,769 e 10, a solução não mudaria, justamente por
conta da folga de 4,231; mudaríamos apenas o valor de 𝐹1 , mas manteríamos o
valor de 𝑥1 = 0, 𝑥2 = 3,692 e 𝑥3 = 2,077). Um aumento na disponibilidade do recurso
também não tem influência no programa, pois iria apenas aumentar as sobras
(iria apenas aumentar o valor de 𝐹1 ). Logo, como R1 é um recurso não escasso, a
solução é estável (isto é, a solução ótima 𝑥1 = 0, 𝑥2 = 3,692 e 𝑥3 = 2,077 não se
altera) desde que 𝑏1 ≥ 5,769.
 Com relação ao recurso R2, cuja folga é representada por 𝐹2 , podemos dizer que
ele é um recurso escasso (pois 𝐹2 = 0, ou seja, não tem sobras). Seu coeficiente na
função objetivo (0,846) indica que se 𝐹2 entrar na base com valor 1, a nova solução
terá o lucro diminuído em 0,846. Por outro lado, se conseguirmos mais uma
unidade desse recurso, a nova solução que incorpora essa unidade adicional tem
o lucro aumentado em 0,846 (para cada unidade desse recurso a mais na segunda
restrição, aumentamos o valor ótimo de Z em 0,846, pois poderemos produzir
mais).

Assim, temos que um recurso não escasso é limitado pela sua folga e que um
recurso escasso depende da sua contribuição (seu coeficiente na função objetivo) para o
lucro.

O problema agora é saber quantas unidades adicionais do recurso R2 podem ser


incorporadas na produção, dado o aumento no lucro de 0,846 por unidade. De forma
análoga, quantas unidades podem ser retiradas, o que irá ocasionar uma diminuição de
0,846 na função objetivo por unidade retirada.

117
Os coeficientes limites para as disponibilidades dos recursos podem ser obtidos a
partir da tabela final da seguinte forma:
𝑏𝑖 + 𝑎𝑖𝑗 ∙ 𝑉𝑖 = 0

Em que 𝑉𝑖 é a variação da disponibilidade do recurso 𝑖 que mantém o coeficiente


de 𝐹𝑖 . Por exemplo, para o recurso R2 temos:
4,231 − 0,308 ∙ 𝑉2 = 0
2,077 + 0,231 ∙ 𝑉2 = 0
3,692 + 0,077 ∙ 𝑉2 = 0

Observe que o primeiro valor corresponde à coluna de 𝑏𝑖 na tabela final e que o


segundo valor corresponde à coluna de 𝐹2 também na tabela final.

Assim, os valores de 𝑉2 são:


4,231 − 0,308 ∙ 𝑉2 = 0
−0,308 ∙ 𝑉2 = −4,231
𝑉2 = 13,74

2,077 + 0,231 ∙ 𝑉2 = 0
0,231 ∙ 𝑉2 = −2,077
𝑉2 = −8,99

3,692 + 0,077 ∙ 𝑉2 = 0
0,077 ∙ 𝑉2 = −3,692
𝑉2 = −47,95

Ordenando esses valores limites (e sabendo que 𝐹2 = 0 e portanto 𝑉2 = 0 na função


objetivo):

-47,95 ≤ -8,99 ≤ 𝑉2 ≤ 13,74

Temos então que -8,99 ≤ 𝑉2 ≤ 13,74. Isso significa que 𝑉2 pode provocar uma
diminuição de 8,99 unidades ou um aumento de no máximo 13,74 unidades em R2 sem
alterar a informação do coeficiente de 𝐹2 . Fazendo 12 – 8,99 = 3,01 e 12 + 13,74 = 25,74,
temos: desde que 3,01 ≤ 𝑏2 ≤ 25,74 no problema original, então o coeficiente de 𝐹2
permanecerá igual a 0,846 na função objetivo da tabela final.

118
Contudo, a solução ótima se altera (tanto os valores de 𝑥 quanto o valor de 𝑍). Por
exemplo, se conseguirmos um aumento de 13,74 unidades de R2, podemos aumentar o
lucro em:
0,846 ∙ 13,74 = 11,624

Fazendo com que a nova solução ótima seja, para esse caso:
𝑍 = 13,615 + 11,624 = 25,239

Vamos chamar agora de 𝑉3 a variação em R3, que mantém a informação do


coeficiente de 𝐹3 . Da tabela final, temos:
4,231 − 0,231 ∙ 𝑉3 = 0
2,077 − 0,077 ∙ 𝑉3 = 0
3,692 + 0,308 ∙ 𝑉3 = 0

Observe que o primeiro valor corresponde à coluna de 𝑏𝑖 na tabela final e que o


segundo valor corresponde à coluna de 𝐹3 também na tabela final.

Assim, os valores de 𝑉3 são:


4,231 − 0,231 ∙ 𝑉3 = 0
−0,231 ∙ 𝑉3 = −4,231
𝑉3 = 18,316

2,077 − 0,077 ∙ 𝑉3 = 0
−0,077 ∙ 𝑉3 = −2,077
𝑉3 = 26,974

3,692 + 0,308 ∙ 𝑉3 = 0
0,308 ∙ 𝑉3 = −3,692
𝑉3 = −11,987

Ordenando esses valores limites (e sabendo que 𝐹3 = 0 e portanto 𝑉3 = 0 na função


objetivo):

-11,987 ≤ 𝑉3 ≤ 18,316 ≤ 26,974

119
Temos então que -11,987 ≤ 𝑉3 ≤ 18,316. Isso significa que 𝑉3 pode provocar uma
diminuição de 11,987 unidades ou um aumento de no máximo 18,316 unidades em R3
sem alterar a informação do coeficiente de 𝐹3 . Fazendo 9 – 11,987 = -2,987 e 9 + 18,316
= 27,316, temos: desde que -2,987 ≤ 𝑏3 ≤ 27,316 no problema original, então o coeficiente
de 𝐹3 permanecerá igual a 0,385 na função objetivo da tabela final.

Contudo, a solução ótima se altera (tanto os valores de 𝑥 quanto o valor de 𝑍). Por
exemplo, se conseguirmos um aumento de 18,316 unidades de R3, podemos aumentar o
lucro em:
0,385 ∙ 18,316 = 7,052

Fazendo com que a nova solução ótima seja, para esse caso:
𝑍 = 13,615 + 7,052 = 20,667

É importante ressaltar ainda que podemos adicionar uma nova restrição a um


modelo de PL. Deve-se destacar que a adição de uma nova restrição nunca pode
melhorar o valor ótimo atual da função objetivo (apenas manter ou diminuir esse valor,
para problemas de maximização). Isso pode levar a duas situações:

1. A nova restrição é redundante, o que significa que é satisfeita pela solução ótima
atual e portanto essa restrição pode ser eliminada do modelo (a solução ótima não
se altera e o valor de 𝑍 permanece o mesmo).
2. A solução atual viola essa nova restrição, e portanto uma nova solução deve ser
calculada (a solução ótima se altera e o valor de 𝑍 diminui, se o problema for de
maximização).

120
EXERCÍCIOS DE FIXAÇÃO – CAPÍTULO 2
(1) CESGRANRIO - 2012 - EPE - Analista de Pesquisa Energética

A figura acima apresenta o 1o quadro montado para a otimização de uma função de custo
utilizando-se o método simplex.

Da observação do quadro, conclui-se que a

A. função custo é dada por 5x4 + 4x5 + 3x6

B. função custo é dada por 10x1 + 6x2 + 4x3

C. solução ótima do sistema é dada por (0, 0, 0)


D. restrição imposta ao sistema é 𝑥5 ≤ 5

E. variável não básica que deverá entrar na base é x2

121
(2) CESGRANRIO - 2010 - EPE - Analista de Pesquisa Energética
Após estudos da linha de produção de uma fábrica, chegou-se à conclusão de que o lucro,
denominado Z, é dado pela seguinte expressão: Z (x1, x2) = 2x1 + 3x2. Sabe-se que as
variáveis x1 e x2 estão sujeitas às restrições apresentadas a seguir:
Restrição 1: x1 + x2 ≤ 5
Restrição 2: 3x1 + 4x2 ≤ 10
Restrição 3: x1, x2 ≥ 0
Uma vez montado o 1º Quadro para a resolução deste problema, empregando o método
SIMPLEX para a maximização do lucro e identificando como variáveis de folga as
variáveis x3 e x4 o 2º Quadro, obtido após a 1º iteração, é
A.

B.

C.

D.

E.

122
(3) CESGRANRIO - 2014 - EPE - Analista de Pesquisa Energética

Analise as Tabelas que se seguem e que resultam de iterações intermediárias de um


problema de programação linear (maximização) resolvido pelo método simplex na forma
tabular. Nas sucessivas iterações foi usado o método de eliminação de Gauss-Jordan, e
na seleção das variáveis de entrada e saída da base foram utilizadas as regras de
condição de otimalidade e de viabilidade, respectivamente. As variáveis de decisão são
x1 e x2.

Sabendo-se que as Tabelas acima são as que precedem a que apresenta a solução ótima
(Tabela n), os valores das variáveis de decisão, x1 e x2, e o da função de otimização da
solução ótima correspondente são, respectivamente,

A. 4 ; 40 e 2000

B. 10 ; 40 e 1900

C. 18 ; 36 e 1980

D. 18 ; 36 e 2080

E. 20 ; 35 e 2000

123
(4) CESGRANRIO - 2011 - Petrobras - Engenheiro de Produção Júnior

Considere o problema abaixo de Programação Linear

Para qual valor de α o problema apresenta soluções múltiplas?

A. α = -1

B. α = -0,5

C. α = 0

D. α = 0,5
E. α = 1

(5) FCM - 2016 - IF Farroupilha - Docente - Pesquisa Operacional/Finanças

O método das duas fases é um procedimento que pode ser utilizado para obter uma
solução ótima viável, usando a lógica de funcionamento do método simplex quando a
determinação de uma solução básica viável inicial não é óbvia.
Em relação à lógica de funcionamento do método das duas fases, aplicado à resolução de
problemas de programação linear, é correto afirmar que:

A. O método fornece, ao final da primeira fase, uma solução básica viável ótima.
B. O método fornece, ao final da segunda fase, uma solução básica degenerada.

C. A primeira fase do método fornece uma solução básica inviável que deve ser
viabilizada na segunda fase do método.

D. A segunda fase do método tem como objetivo encontrar uma solução básica viável
ótima a partir de uma solução básica viável, obtida ao final da primeira fase.

E. Se o problema de programação linear for viável, então, ao final da segunda fase do


método, as variáveis artificiais adicionadas deverão permanecer na base.

124
(6) CCV - 2015 - UFC - Engenharia de Produção

Problemas de programação linear consistem na otimização de uma função-objetivo


linear sujeita a restrições também lineares. Em geral, problemas com muitas variáveis
são resolvidos por meio do método simplex. Neste método, uma sequência de soluções é
gerada até que se atinja a solução ótima. Marque a alternativa correta com relação a
problemas de programação linear:

A. Todo problema de programação linear possui pelo menos uma solução ótima.

B. Um problema de programação linear pode ter uma solução ótima mesmo que seu
conjunto de soluções viáveis seja vazio.

C. Se o conjunto de soluções de um problema de programação linear for ilimitado, então


certamente a função-objetivo é ilimitada.

D. No método simplex, variáveis básicas são variáveis adicionas às restrições de


desigualdade para transformá-las em restrições de igualdade.

E. No método simplex, uma solução-ótima é encontrada quando não há mais nenhuma


variável não básica capaz de melhorar a função-objetivo ao ser adicionada à base.

125
(7) CESGRANRIO - 2010 - Petrobras - Analista de Pesquisa Operacional Júnior
Dado o problema de programação linear

O dual desse problema é dado por


A.

B.

C.

D.

E.

126
(8) CESGRANRIO - 2014 - EPE - Analista de Pesquisa Energética

Observe a formulação a seguir:

Qual é a formulação original (primal) do problema de programação linear que possui a


formulação dual apresentada acima?

A.

B.

C.

D.

E.

127
(9) FCM - 2016 - IF Farroupilha - Docente - Pesquisa Operacional/Finanças

Considerando a relação entre soluções para problemas primal e dual de programação


linear, é correto afirmar que:

A. Se um problema de programação linear for inviável, então, seu problema dual é


inviável.

B. Se um problema de programação linear for inviável, então, seu problema dual possui
função objetivo ilimitada.

C. Se um problema de programação linear possui função objetivo ilimitada, então, seu


problema dual é inviável.

D. Se um problema de programação linear possui infinitas soluções ótimas, então, seu


problema dual possui infinitas soluções ótimas.

E. Se um problema de programação linear possui função objetivo ilimitada, então, seu


problema dual também possui função objetivo ilimitada.

128
(10) UECE-CEV - 2018 - Funceme - Pesquisador em Informática

Um dos mais importantes conceitos em programação linear é o da dualidade, que é de


extrema importância para a realização de análise de sensibilidade. Considere o
problema de programação linear apresentado na Tabela abaixo:

O modelo dual associado é apresentado abaixo:

Escreva V ou F conforme seja verdadeiro ou falso o que se afirma a seguir sobre a relação
entre os modelos primal e dual na programação linear.

( ) Todo problema em programação linear possui um modelo dual associado.

( ) O valor ótimo de y1, variável de decisão definida no modelo dual acima, é o preço
sombra associado à restrição (I) do problema original ou primal.

( ) O preço sombra, relacionado a uma dada restrição, expressa o valor da derivada da


função objetivo em relação ao lado direito da inequação associada à restrição em
questão.

( ) Quando uma dada restrição não influencia o valor ótimo de um problema, seu preço
sombra é infinito.

Está correta, de cima para baixo, a seguinte sequência:

A. V, V, F, F.

B. F, F, V, V.

C. F, F, F, V.

D. V, V, V, F.

129
(11) CESGRANRIO - 2012 - Petrobras - Engenheiro de Produção Júnior [Adaptado]

Considere o seguinte problema de programação linear:

Qual é a solução ótima do problema?

A. A solução ótima é 𝑥1 = 0, 𝑥2 = 2,5 e 𝑥3 = 2,5, que resulta em 𝑍 = 30

B. A solução ótima é 𝑥1 = 0, 𝑥2 = 0 e 𝑥3 = 5, que resulta em 𝑍 = 25

C. A solução ótima é 𝑥1 = 2,5, 𝑥2 = 0 e 𝑥3 = 2,5, que resulta em 𝑍 = 20

D. A solução ótima é 𝑥1 = 2,5, 𝑥2 = 0 e 𝑥3 = 5, que resulta em 𝑍 = 32,5


E. A solução ótima é 𝑥1 = 0, 𝑥2 = 5 e 𝑥3 = 0, que resulta em 𝑍 = 35

(12) CESGRANRIO - 2012 - Petrobras - Engenheiro de Produção Júnior

Considere o seguinte problema de programação linear:

Qual o valor máximo que o coeficiente da função objetivo para a variável X1 pode
assumir, sem alterar a solução ótima do problema de programação linear apresentado?

A. 3

B. 4

C. 6

D. 7

E. 8

130
(13) CESGRANRIO - 2012 - Petrobras - Analista de Pesquisa Operacional Júnior
Considere o seguinte problema de Programação Linear:

Foi acrescentada uma variável x4 ao problema, que passou a ser modelado da seguinte
forma:

O valor máximo que o parâmetro k pode assumir sem alterar o valor ótimo da função
objetivo encontrado para o problema original é
A. 0
B. 1
C. 2
D. 3
E. 5

GABARITO

(1) B (2) A (3) E (4) A (5) D (6) E (7) A (8) D (9) C (10) D (11) A (12) C
(13) B

131
CAPÍTULO 3 – PROBLEMAS DE TRANSPORTE E DE DESIGNAÇÃO

1-Problema de Transporte
2-Problema de Designação

Prof. Dr. Alexander Cascardo Carneiro

Comentários do professor
Caros alunos, nesse capítulo estudaremos os problemas de transporte e de
designação. Em primeiro lugar, será apresentada a modelagem desses problemas com a
programação linear e a solução via método Simplex. Além disso, serão demonstrados
métodos mais eficientes para a solução dos problemas de transporte e de designação,
incluindo o método do canto noroeste, o método do menor custo, o método da
aproximação de Vogel (VAM), o método da pedra de passagem (Stepping Stone Method)
e o método húngaro. Além disso, será descrito o procedimento para a solução de
problemas não balanceados.

132
AULA 1 – PROBLEMA
DE TRANSPORTE

Definição do problema de transporte

Nas últimas seções, aprendemos de forma ampla a aplicabilidade da programação


linear. Daqui para frente iremos continuar a expandir os nosso conhecimentos a partir
de dois tipos de problemas especiais relacionados à programação linear: o Problema de
Transporte e o Problema de Designação.

Nessa seção vamos nos focar sobre os problemas de transporte, os quais possuem
diversas aplicações envolvendo a determinação de como transportar mercadorias de
forma otimizada. Todavia, é importante destacar que existem aplicações dos problemas
de transporte que não estão necessariamente relacionadas ao transporte (por exemplo,
determinar o cronograma de produção).

O problema de transporte é uma classe especial dos problemas de programação


linear, que trata do envio de algum tipo de “carga” (como materiais, clientes,
informações; tipicamente “mercadorias”) a partir de uma origem (por exemplo, de
fábricas) até um destino (por exemplo, depósitos).
O objetivo do problema de transporte é determinar a programação de expedição
que minimize o custo total de transporte e satisfaça os limites de fornecimento
(capacidade das fábricas) e de demanda (ambos irão fornecer as restrições do modelo).
Assim, podemos estender a aplicação do problema de transporte a outras áreas de
operações, como a designação de pessoal, a programação de emprego e o controle de
estoque.

É importante observar que as etapas para solução dos problemas de transporte


são as mesmas do método Simplex (por isso é importante que se tenha em mente os seus
fundamentos estudados nas seções anteriores).

133
Considere o seguinte exemplo prático para a aplicação do problema de transporte:

Um dos principais produtos de uma empresa são as ervilhas enlatadas. As


ervilhas são preparadas em três fábricas de enlatados (situadas em três localidades
diferentes) e depois são transportadas por caminhão para quatro depósitos (também em
localidades diferentes). Pelo fato de o custo de transporte ser uma despesa importante,
a gerência da empresa está iniciando um estudo para a sua redução ao menor valor
possível. A empresa realizou uma estimativa para a próxima temporada sobre o volume
proveniente de cada fábrica de enlatados (capacidade de cada fábrica) e a quantidade de
suprimento total de ervilhas destinada a cada depósito (demanda de cada depósito).
Dessa forma, existem diversas combinações do tipo “fábrica-depósito” para atender as
quantidades especificadas. O problema de transporte consiste então em determinar qual
o plano de destinação dessas remessas, dentre as diferentes combinações fábrica-
depósito, iria minimizar o custo total de remessa dessa mercadoria (ou seja, determinar
a melhor combinação fábrica-depósito que minimizaria o custo total de transporte).

De forma geral, o problema de transporte busca determinar as melhores


combinações de “Unidades de Suprimentos – Unidades de Demanda”. A representação
do problema de transporte é mostrada na rede (grafo) a seguir:

Existem 𝑚 origens e 𝑛 destinos, cada um representado por um nó. Os arcos


representam as rotas que ligam as origens aos destino. Cada arco (𝑖 , 𝑗), que liga a origem
𝑖 ao destino 𝑗, nos fornece duas informações: 1-o custo de transporte por unidade (𝑐𝑖𝑗 ); 2-
a quantidade enviada (𝑥𝑖𝑗 ). O número de arcos (ou seja, o número de variáveis de decisão)
é igual a 𝑚 ∙ 𝑛.

Além disso, a quantidade de suprimento na origem 𝑖 é representada por 𝑎𝑖 e a


quantidade de demanda do destino 𝑗 é 𝑏𝑗 . O objetivo do problema de transporte é
determinar as variáveis de decisão (𝑥𝑖𝑗 ) que minimizarão o custo total de transporte e,
ao mesmo tempo, irão satisfazer todas as restrições de suprimento e de demanda
(solução ótima).

134
Considere o seguinte exemplo:

Uma empresa possui 3 fábricas (F1, F2 e F3) e duas centrais de distribuição (D1
e D2). As capacidades das 3 fábricas para o próximo trimestre são 1000, 1500 e 1200
carros. As demandas trimestrais das duas centrais de distribuição são 2300 e 1400
carros. O mapa das distâncias, em km, entre as fábricas e as centrais de distribuição é
mostrados a seguir:

D1 D2
F1 1000 2690
F2 1250 1350
F3 1275 850

A empresa transportadora encarregada do transporte dos carros cobra 8 centavos


por quilômetro por carro. Logo, os custos de transporte por carro (o custo de transportar
cada carro) nas diferentes rotas é obtido ao multiplicarmos os valores da tabela anterior
por 0,08, resultando em:

D1 D2
F1 80 215
F2 100 108
F3 102 68

Dessa forma, chegamos a seguinte função objetivo desse problema de


programação linear:
Min 𝑍 = 80𝑥11 + 215𝑥12 + 100𝑥21 + 108𝑥22 + 102𝑥31 + 68𝑥32

Note que os coeficientes 𝑐𝑖𝑗 de cada incógnita 𝑥𝑖𝑗 são os custos de transporte de
cada carro entre Fi e Dj. Além disso, 𝑥𝑖𝑗 são as quantidades de carros transportadas
entre Fi e Dj. Observe que, da forma como a tabela foi montada, o índice 𝑖 representa
cada linha (cada fábrica) e o 𝑗 representa cada coluna (cada depósito).

Temos também que cada fábrica (F1, F2 e F3) pode transportar carros para duas
opções (D1 e/ou D2). As fábricas estão sujeitas às seguintes restrições de capacidade:

-Quantidade de veículos transportados de F1 para D1 e D2:


𝑥11 + 𝑥12 = 1000

-Quantidade de veículos transportados de F2 para D1 e D2:


𝑥21 + 𝑥22 = 1500

135
-Quantidade de veículos transportados de F3 para D1 e D2:
𝑥31 + 𝑥32 = 1200

Temos ainda as demandas de carros de D1 e D2 que serão recebidos de F1, F2 e


F3, resultando nas seguintes restrições:
-Quantidade de veículos transportados de F1, F2 e F3 para D1:
𝑥11 + 𝑥21 + 𝑥31 = 2300

-Quantidade de veículos transportados de F1, F2 e F3 para D2:


𝑥12 + 𝑥22 + 𝑥32 = 1400

Note que o suprimento total (1000 + 1500 + 1200 = 3700) é igual à demanda total
(2300 + 1400 = 3700).

Assim, considerando a função objetivo e reunindo todas as restrições do problema


de programação linear, temos:
Min 𝑍 = 80𝑥11 + 215𝑥12 + 100𝑥21 + 108𝑥22 + 102𝑥31 + 68𝑥32

Sujeito a:
𝑥11 + 𝑥12 = 1000
𝑥21 + 𝑥22 = 1500
𝑥31 + 𝑥32 = 1200
𝑥11 + 𝑥21 + 𝑥31 = 2300
𝑥12 + 𝑥22 + 𝑥32 = 1400
𝑥𝑖𝑗 ≥ 0; 𝑖 = 1,2,3; 𝑗 = 1,2

Cuja solução podemos encontrar a partir do método Simplex.

Para solucionar esse problema, devemos aplicar o método das duas fases. Em
primeiro lugar deve-se mudar a função objetivo:
Min 𝑍 = Max − 𝑍
−𝑍 = −80𝑥11 − 215𝑥12 − 100𝑥21 − 108𝑥22 − 102𝑥31 − 68𝑥32
−𝑍 + 80𝑥11 + 215𝑥12 + 100𝑥21 + 108𝑥22 + 102𝑥31 + 68𝑥32 = 0

136
E adicionar as variáveis auxiliares:
𝑥11 + 𝑥12 + 𝑎1 = 1000
𝑥21 + 𝑥22 + 𝑎2 = 1500
𝑥31 + 𝑥32 + 𝑎3 = 1200
𝑥11 + 𝑥21 + 𝑥31 + 𝑎4 = 2300
𝑥12 + 𝑥22 + 𝑥32 + 𝑎5 = 1400

Em que:
𝑊 = 𝑎1 + 𝑎2 + 𝑎3 + 𝑎4 + 𝑎5

Como:
𝑎1 = 1000 − 𝑥11 − 𝑥12
𝑎2 = 1500 − 𝑥21 − 𝑥22
𝑎3 = 1200 − 𝑥31 + 𝑥32
𝑎4 = 2300 − 𝑥11 + 𝑥21 + 𝑥31
𝑎5 = 1400 − 𝑥12 + 𝑥22 + 𝑥32

Então:
𝑊 = 7400 − 2𝑥11 − 2𝑥12 − 2𝑥21 − 2𝑥22 − 2𝑥31 − 2𝑥32

Como queremos minimizar W:


Min 𝑊 = Max − 𝑊
−𝑊 = −7400 + 2𝑥11 + 2𝑥12 + 2𝑥21 + 2𝑥22 + 2𝑥31 + 2𝑥32
−𝑊 − 2𝑥11 − 2𝑥12 − 2𝑥21 − 2𝑥22 − 2𝑥31 − 2𝑥32 = −7400

Com isso, chegamos a seguinte tabela:

Z-W X11 X12 X21 X22 X31 X32 a1 a2 a3 a4 a5 b


Tabela 1 -1 80 215 100 108 102 68 0 0 0 0 0 0
L1 a1 0 1 1 0 0 0 0 1 0 0 0 0 1000
L2 a2 0 0 0 1 1 0 0 0 1 0 0 0 1500
L3 a3 0 0 0 0 0 1 1 0 0 1 0 0 1200
L4 a4 0 1 0 1 0 1 0 0 0 0 1 0 2300
L5 a5 0 0 1 0 1 0 1 0 0 0 0 1 1400
-W -1 -2 -2 -2 -2 -2 -2 0 0 0 0 0 -7400

137
Podemos escolher qualquer coeficiente (pois todos valem -2 na função objetivo
auxiliar 𝑊). Escolhendo o coeficiente de 𝑥11 , temos 𝑏/𝑥11 :

L1: 1000/1 = 1000 (linha pivô)

L4: 2300/1 = 2300

Portanto na tabela 2 irá sair 𝑎1 para a entrada de 𝑥11 ...

Aplicando o método Simplex, a fase 1 (𝑊 = 0) termina na tabela 6:

Z X11 X12 X21 X22 X31 X32 b


Tabela 6 -1 -127 0 0 0 0 -42 -490600
L1 X31 0 0 0 0 0 1 1 1200
L2 X12 0 1 1 0 0 0 0 1000
L3 X21 0 1 0 1 0 0 -1 1100
L4 X22 0 -1 0 0 1 0 1 400

A partir daí, iniciamos a fase 2, escolhendo o coeficiente mais negativo da função


objetivo (𝑥11 ), que irá entrar na base.

Fazendo 𝑏/𝑥11 , temos:

L2: 1000/1 = 1000 (linha pivô)

L3: 1100/1 = 1100

Portanto na tabela 7 irá sair 𝑥12 para a entrada de 𝑥11 ...

A solução ótima é alcançada na tabela 8:

Z X11 X12 X21 X22 X31 X32 b


Tabela 9 -1 0 127 0 0 42 0 -313200
L1 X32 0 0 0 0 0 1 1 1200
L2 X11 0 1 1 0 0 0 0 1000
L3 X21 0 0 -1 1 0 1 0 1300
L4 X22 0 0 1 0 1 -1 0 200

138
Temos então a seguinte solução ótima:

𝑥11 = 1000

𝑥12 = 0

𝑥21 = 1300

𝑥22 = 200

𝑥31 = 0

𝑥32 = 1200

𝑍 = 313200

A solução ótima desse problema de transporte é representada através da seguinte


rede (grafo):

Ou seja, a solução ótima recomenda o embarque de 1000 carros de F1 até D1, de


1300 carros de F2 até D1, de 200 carros de F2 até D2 e de 1200 carros de F3 até D2. O
custo mínimo de transporte para esse caso foi de R$ 313.200,00.

Balanceamento do problema de transporte

O problema de transporte parte do pressuposto que o problema está balanceado,


isto é, o fornecimento total é igual a demanda total (como ocorreu no exemplo anterior).
Entretanto, existem casos em que o problema não está balanceado (o fornecimento total
é diferente da demanda total). Nesse caso, devemos adicionar uma origem “fantasma”
(também chamada de origem fictícia) ou um destino “fantasma” (fictício), de forma a
restaurar o equilíbrio.

139
Vamos considerar o exemplo anterior, mas agora a capacidade de F2 será de 1300
(ao invés de 1500). Nesse caso, o suprimento total (= 3500) é menor do que a demanda
total (= 3700), o que significa dizer que parte da demanda de D1 e D2 não será satisfeita.

Como a demanda ultrapassa o fornecimento, uma origem (uma fábrica) fictícia


(F4) com capacidade de 200 carros (para equilibrar o fornecimento total com a demanda
total, isto é, fazer os dois serem iguais) é adicionada para equilibrar (balancear) o
problema de transporte. É importante observar que o custo por carro transportado entre
a fábrica fictícia e os dois destinos é igual a 0 (pois a fábrica não existe!).

Com isso chegamos ao seguinte problema de transporte balanceado:


Min 𝑍 = 80𝑥11 + 215𝑥12 + 100𝑥21 + 108𝑥22 + 102𝑥31 + 68𝑥32 + 0𝑥41 + 0𝑥42

Sujeito a:
𝑥11 + 𝑥12 = 1000
𝑥21 + 𝑥22 = 1300
𝑥31 + 𝑥32 = 1200
𝑥41 + 𝑥42 = 200
𝑥11 + 𝑥21 + 𝑥31 + 𝑥41 = 2300
𝑥12 + 𝑥22 + 𝑥32 + 𝑥42 = 1400
𝑥𝑖𝑗 ≥ 0; 𝑖 = 1,2,3,4; 𝑗 = 1,2

Após aplicar o método Simplex (como feito no exemplo anterior), chega-se à


seguinte solução ótima para esse problema de transporte:

𝑥11 = 1000

𝑥12 = 0

𝑥21 = 1300

𝑥22 = 0

𝑥31 = 0

𝑥32 = 1200

𝑥41 = 0

𝑥42 = 200

𝑍 = 291600

140
Note que a solução ótima demonstra que a fábrica fictícia (F4) despacha 200
carros para D2. Isso significa que D2 deixará de receber 200 carros (pois F4 não existe),
isto é, D2 receberá 1200 carros (1400 – 200). Além disso, temos que o custo mínimo de
transporte para esse caso foi de R$ 291.600,00.

Um outro caso seria o fornecimento total ser maior do que a demanda total. Nesse
caso, deve-se adicionar um destino fictício para balancear o problema de transporte.
Vamos considerar que a demanda de D1 seja de 1900 (no lugar de 2300). Nesse caso, o
fornecimento é 1000 + 1500 + 1200 = 3700, enquanto a demanda é 1900 + 1400 = 3300.
Assim, devemos adicionar uma central de distribuição fictícia (D3) para receber esse
excedente (de 3700 – 3300 = 400 carros). Novamente, o custo de transporte até esse
destino é igual a 0 (pois ele não existe!).

Com isso, chegamos ao seguinte problema de transporte balanceado:


Min 𝑍 = 80𝑥11 + 215𝑥12 + 0𝑥13 + 100𝑥21 + 108𝑥22 + 0𝑥23 + 102𝑥31 + 68𝑥32 + 0𝑥33

Sujeito a:
𝑥11 + 𝑥12 + 𝑥13 = 1000
𝑥21 + 𝑥22 + 𝑥23 = 1500
𝑥31 + 𝑥32 + 𝑥33 = 1200
𝑥11 + 𝑥21 + 𝑥31 = 1900
𝑥12 + 𝑥22 + 𝑥32 = 1400
𝑥13 + 𝑥23 + 𝑥33 = 400
𝑥𝑖𝑗 ≥ 0; 𝑖 = 1,2,3; 𝑗 = 1,2,3

Após aplicar o método Simplex chega-se à seguinte solução ótima:

𝑥11 = 1000
𝑥12 = 0
𝑥13 = 0
𝑥21 = 900
𝑥22 = 200
𝑥23 = 400
𝑥31 = 0
𝑥32 = 1200
𝑥33 = 0
𝑍 = 273200
141
A solução ótima mostra que a fábrica F2 terá um excedente de 400 carros (pois
D3 não existe!). Isso significa que F2 produzirá 400 carros a menos do que a sua
capacidade, isto é, produzirá 1100 carros (1500 – 400) Além disso, temos que o custo
mínimo de transporte para esse caso foi de R$ 273.200,00.

É importante ressaltar ainda que podem existir caminhos “bloqueados”, isto é,


alguma combinação “origem-destino” proibida. Nesse caso, basta colocar um custo muito
elevado para esse caminho na função objetivo (que forçará essa variável a ter um valor
igual a zero na solução ótima).

Métodos alternativos para a solução do problema de transporte

Um problema geral de transporte consiste em determinar a forma mais econômica


de se enviar um bem, cuja disponibilidade está limitada, para outras localidades, onde
ele é necessário. Por ser um problema de PL, vimos que o problema de transporte pode
ser resolvido via método Simplex. Contudo, por possuir uma estrutura particular, na
qual todas as restrições usam sinais de igualdade, existem outros métodos derivados do
Simplex que são mais eficientes.

É importante ressaltar que hoje em dia os computadores são ferramentas


bastante poderosas e por isso são capazes de solucionar os problemas de PL através do
método Simplex sem dificuldade. Entretanto, no início da programação linear, tendo em
vista que os cálculos eram feitos de forma manual, foram desenvolvidos métodos
especiais para solucionar os problemas de transporte.
Os métodos (e seus algoritmos) para o problema de transporte possuem tanto uma
importância didática (o que é útil para solucionar problemas de forma manual), quanto
uma perspectiva teórica, pois permitirão obtermos uma visão das relações primais-duais
para encontrar o resultado final.

Um método (um algoritmo) para a resolução de um problema de transporte deve


envolver as seguintes etapas (são as mesmas do método Simplex):

 Etapa 1: Determinar uma solução básica inicial viável. Passe para Etapa 2.
 Etapa 2: Testar a condição de otimalidade do método Simplex para determinar a
variável que entra, dentre as variáveis não básica. Se a condição de otimalidade
for satisfeita, pare (solução ótima). Caso contrário, passe para Etapa 3.
 Etapa 3: Usar a condição de viabilidade do método Simplex para obter a variável
que sai, dentre as variáveis básicas (nova solução básica). Volte para a Etapa 2.
142
Essa estrutura especial do problema de transporte permite obter uma solução
básica inicial não artificial por meio de um dos seguintes métodos:

 Método do canto superior esquerdo (ou método do canto noroeste).


 Método do menor custo (ou método do mínimo da matriz de custos).
 Método de Vogel (ou método de aproximação de Vogel).

É importante destacar que os três métodos são diferentes quanto à “qualidade”


da solução básica inicial obtida (uma solução básica “melhor” resulta em um valor menor
para a função objetivo). Na maioria dos casos o método de Vogel fornece a melhor solução
básica inicial, enquanto o método do canto noroeste fornece a pior solução básica, porém
com um menor número de cálculos (deve-se ressaltar que isso nem sempre é verdadeiro).

Outra observação importante é que um problema geral de transporte com 𝑚


origens e 𝑛 destinos possui 𝑚 + 𝑛 equações de restrição (uma para cada par origem-
destino). Como o problema de transporte é sempre balanceado (ou seja, a soma dos
fornecimentos = soma das demandas é uma das equações), uma dessas restrições se
torna redundante (qualquer uma das restrições é a combinação linear de todas as
outras).

Logo, o problema tem 𝑚 + 𝑛 − 1 restrições independentes, o que significa que a


solução básica inicial consiste de 𝑚 + 𝑛 − 1 variáveis básicas. Voltando ao primeiro
exemplo desse capítulo, note que a solução inicial deve conter 2 + 3 − 1 = 4 variáveis
básicas (que é o número de variáveis básicas, como pode ser visto na tabela 6).

Método do canto noroeste:

O método do canto noroeste ou método do canto superior esquerdo é um método


utilizado para encontrar uma solução básica inicial viável. A seguir são descritas as
vantagens e desvantagens do método:

 Vantagem: simplicidade na obtenção da solução inicial.


 Desvantagem: pelo fato de não se levar em consideração o custo unitário de
transporte associado a cada célula, geralmente há necessidade de diversas
iterações até se atingir a solução ótima.

143
Em primeiro lugar, para a resolução de um problema de transporte por meio de
métodos alternativos, é preciso construir uma tabela contendo os dados do problema
como sugerido a seguir:

Nessa tabela, O1, O2 e O3 representam as fábricas (“origem”), sendo que os seus


limites de capacidade estão presentes na última coluna (40, 80 e 110 para as fábricas 1,
2 e 3, respectivamente). Já D1, D2, D3 e D4 são os depósitos (destino), cujas demandas
estão presentes na última linha (20, 30, 100 e 80 para os depósitos 1, 2, 3 e 4,
respectivamente). Os demais elementos da tabela são os custos unitários de transporte
entre a origem O e o destino D.

Observe que o modelo está balanceado, ou seja, o total de produção (40 + 80 + 110
= 230) é igual ao total da demanda (20 + 30 + 100 + 80 = 230). Caso o problema estivesse
desbalanceado, seria preciso utilizar o artifício da origem fictícia ou destino fictício
estudados na seção anterior.

O método do canto noroeste consiste em atribuir o máximo valor transportável do


produto partindo-se da célula localizada no canto superior esquerdo da tabela, e
continuar a distribuição do produto disponível pelas demais células, através de
deslocamentos sucessivos para a direita e para baixo, atendendo totalmente as
demandas de cada destino e esgotando os recursos das origens, até atingir a célula
localizada no canto inferior direito da tabela.

Uma linha é considerada satisfeita quando a quantidade de produto disponível


na origem associada já tiver se esgotado (atingimos o limite da capacidade da linha). E
uma coluna é considerada satisfeita quando o total da demanda pelo produto no destino
associado tiver sido atendido (atingimos o limite de demanda da coluna).

144
Note que esse problema possui 12 trajetos possíveis entre fábricas e depósitos (ou
seja, 𝑚 ∙ 𝑛 = 4 ∙ 3 = 12). Contudo, sabe-se que a solução ótima (que é uma solução básica)
utilizará apenas 𝑚 + 𝑛 − 1 = 4 + 3 − 1 = 6 desses trajetos para transportar os produtos
(são apenas 6 variáveis básicas). Logo, a solução básica viável inicial terá apenas 6
valores de variáveis de decisão diferentes de zero (não nulos).

A tabela a seguir apresenta a solução via método do canto noroeste:

O passo-a-passo para obter essa solução é: voltando à tabela e partindo da


primeira célula (no canto superior esquerdo) é preciso atribuir a ela o maior valor
possível (que é 20). Com isso, a coluna 1 já estará esgotada, mas a linha 1 ainda precisa
de 20 unidades. Indo para o elemento seguinte (segundo elemento da linha 1) podemos
atribuir o valor de 20 a ele, esgotando o limite da linha 1. Indo para a segunda linha e
segunda coluna (pois a coluna 1 já foi esgotada), o maior valor que podemos atribuir é
10 (para que a soma dessa coluna seja 30), esgotando a coluna 2. O elemento a direita
(da terceira coluna) deverá então ser igual a 70 para esgotar a linha 2. Indo para a
terceira linha e terceira coluna (pois a coluna 2 já foi esgotada), temos que atribuir o
valor de 30 a ela, esgotando a coluna 3. Por fim, o restante será atribuído a linha 3 e
coluna 4 no valor de 80 (esgotando tanto a linha 3 quanto a coluna 4).

A partir desse quadro, chegou-se ao seguinte resultado (solução básica inicial):

𝑥11 = 20
𝑥12 = 20
𝑥22 = 10
𝑥23 = 70
𝑥33 = 30
𝑥34 = 80
As demais variáveis (variáveis não básicas) são iguais a zero.

145
É possível calcular o custo total de transporte (𝑍) para essa primeira solução. Pela
tabela, temos que:
𝑍 = 10𝑥11 + 5𝑥12 + 12𝑥13 + 4𝑥14 + 2𝑥21 + 0𝑥22 + 𝑥23 + 9𝑥24 + 13𝑥31 + 11𝑥32 + 14𝑥33 + 6𝑥34

Assim:
𝑍 = 10 ∙ 20 + 5 ∙ 20 + 0 ∙ 10 + 70 + 14 ∙ 30 + 6 ∙ 80 = 1270

A etapa seguinte seria então aplicar um método para verificar a possibilidade de


diminuir esse custo total de transporte, obtendo-se uma nova solução básica (solução
ótima) quando ela existir.

Método do menor custo:

O método do menor custo também é um método usado para encontrar uma solução
básica inicial viável. Ele consiste em atribuir o máximo valor transportável do produto
às células com menores custos unitários de transporte (empates são resolvidos
arbitrariamente). Na prática, a primeira célula escolhida será aquela que possuir o
menor custo unitário de transporte, na sequência a segunda maior, e assim por diante,
em ordem crescente de custo unitário de transporte.

A seguir são descritas as vantagens e desvantagens do método:

 Vantagem: estatisticamente, consegue-se uma solução inicial mais próxima da


solução ótima, exigindo, em média, um número menor de iterações que o método
do canto noroeste.
 Desvantagem: um pouco mais trabalhoso do que o método do canto noroeste.

Considere novamente a tabela do exemplo anterior:

146
A tabela a seguir apresenta a solução via método do menor custo:

O passo-a-passo para obter essa solução é: o menor custo está na célula da linha
2 e coluna 2 (valor 0). Atribuindo o máximo valor possível (que é 30) esgota-se a coluna
2. O segundo menor valor está na linha 2 e coluna 3 (valor 1). Atribuindo o máximo valor
possível (que é 50) esgota-se a linha 2. O menor valor entre as linhas restantes (1 e 3) é
4 que corresponde a linha 1 e coluna 4. Atribuindo o máximo valor possível (que é 40)
esgota-se a linha 1. Na linha restante (linha 3) a célula com menor valor é a linha 3 e
coluna 4 (valor 6) e podemos atribuir até 40 unidades a ela (esgotando-se a coluna 4).
Das duas células restantes, a que tem o menor valor é a linha 3 e coluna 1, que podemos
atribuir até 20 unidades a ela (esgotando a coluna 1). Por fim, as unidades restantes
(50) serão atribuídas a linha 3 e coluna 3, esgotando-se a linha 3 e a coluna 3.

A partir desse quadro, chegou-se ao seguinte resultado (solução básica inicial):

𝑥14 = 40
𝑥22 = 30
𝑥23 = 50
𝑥31 = 20
𝑥33 = 50
𝑥34 = 40
As demais variáveis (variáveis não básicas) são iguais a zero. Observe novamente
que a solução básica contém 6 variáveis básicas (não nulas).

É possível calcular o custo total de transporte (𝑍) para essa primeira solução. Pela
tabela, temos que:
𝑍 = 10𝑥11 + 5𝑥12 + 12𝑥13 + 4𝑥14 + 2𝑥21 + 0𝑥22 + 𝑥23 + 9𝑥24 + 13𝑥31 + 11𝑥32 + 14𝑥33 + 6𝑥34

Assim:
𝑍 = 4 ∙ 40 + 0 ∙ 30 + 50 + 13 ∙ 20 + 14 ∙ 50 + 6 ∙ 40 = 1410

147
Ou seja, apesar de utilizar-se um método de inicialização que leva em
consideração os custos unitários de transporte de cada célula, o custo resultante (1410)
foi maior do que aquele (1270) obtido ao se utilizar o método do canto noroeste, o qual
ignora os custos unitários de transporte. Todavia é mais comum que o método do menor
custo encontre uma solução básica inicial mais próxima da solução ótima.

De fato, não há como descobrir, a priori, qual dos dois métodos de inicialização
(canto noroeste ou menor custo) gerará uma solução inicial melhor, no sentido de
diminuir o número de iterações necessárias para se atingir o valor ótimo do custo total.
Em todo o caso, independentemente do método de inicialização escolhido, a etapa
seguinte deverá aplicar um método para verificar a possibilidade de diminuir esse custo
total de transporte, obtendo-se uma nova solução básica (solução ótima) quando ela
existir.

Método de aproximação de Vogel (VAM – Vogel Approximation Method):

Como discutido anteriormente, o método do menor custo nem sempre produz


soluções iniciais melhores. Para resolver essa limitação foi criado o método da
aproximação de Vogel (VAM) que é uma versão melhorada do método do menor custo. A
seguir são descritas as vantagens e desvantagens do método:

 Vantagem: na grande maioria dos casos, consegue-se uma solução inicial mais
próxima da solução ótima, exigindo, em média, um número menor de iterações
que o método do canto noroeste.
 Desvantagem: mais trabalhoso do que o método do canto noroeste.

O método da aproximação de Vogel funciona da seguinte forma: para cada linha


é obtida uma “multa” que é igual ao segundo menor valor da linha menos o menor valor
da linha (dentre as colunas não esgotadas). Da mesma forma, para cada coluna é obtida
uma “multa” que é igual ao segundo menor valor da coluna menos o menor valor da
coluna (dentre as linhas não esgotadas). Em seguida, identifica-se a linha ou coluna que
teve a maior multa (empates são resolvidos arbitrariamente) e aloca-se o máximo de
unidades possíveis para a célula de menor custo unitário dessa linha ou coluna
escolhida.

148
Considere novamente a tabela do exemplo anterior:

O passo-a-passo para obter essa solução é: a maior diferença (maior multa) ocorre
para a coluna 3 (12 – 1 = 11). Devemos alocar 80 unidades para a célula da linha 2 e
coluna 3 (de menor valor), esgotando-se a linha 2 (cujas células não serão mais
consideradas no cálculo da nova multa).

Agora, a maior multa ocorre para a coluna 2 (11 – 5 = 6). Devemos alocar 30
unidades para a célula da linha 1 e coluna 2 (de menor valor), esgotando-se a coluna 2
(cujas células não serão mais consideradas no cálculo da nova multa).

149
Agora, a maior multa ocorre para a linha 3 (13 – 6 = 7). Devemos alocar 80
unidades para a célula da linha 3 e coluna 4 (de menor valor), esgotando-se a coluna 4
(cujas células não serão mais consideradas no cálculo da nova multa).

Agora, a maior multa ocorre para a coluna 1 (13 – 10 = 3). Devemos alocar 10
unidades para a célula da linha 1 e coluna 1 (de menor valor), esgotando-se a linha 1
(cujas células não serão mais consideradas no cálculo da nova multa).

Para finalizar, é preciso atribuir 10 unidades à célula da linha 3 e coluna 1, e 20


unidades para a célula da linha 3 e coluna 3. A tabela a seguir apresenta a solução via
método da aproximação de Vogel:

150
A partir desse quadro, chegou-se ao seguinte resultado (solução básica inicial):

𝑥11 = 10
𝑥12 = 30
𝑥23 = 80
𝑥31 = 10
𝑥33 = 20
𝑥34 = 80
As demais variáveis (variáveis não básicas) são iguais a zero. Observe mais uma
vez que a solução básica contém 6 variáveis básicas (não nulas).

É possível calcular o custo total de transporte (𝑍) para essa primeira solução. Pela
tabela, temos que:
𝑍 = 10𝑥11 + 5𝑥12 + 12𝑥13 + 4𝑥14 + 2𝑥21 + 0𝑥22 + 𝑥23 + 9𝑥24 + 13𝑥31 + 11𝑥32 + 14𝑥33 + 6𝑥34

Assim:
𝑍 = 10 ∙ 10 + 5 ∙ 30 + 80 + 13 ∙ 10 + 14 ∙ 20 + 6 ∙ 80 = 1220

Observe que essa foi a melhor solução básica inicial encontrada até agora, ou seja,
foi a solução que apresentou menor custo total. Isso significa que, ao aplicar o método
para buscar a solução ótima, é muito provável que o número de iterações seja menor.

É importante ressaltar ainda que o método de aproximação de Vogel foi um


método muito popular, uma vez que obtém uma solução básica inicial mais próxima da
solução ótima com uma quantidade de cálculos relativamente baixa (ainda que seja
maior do que a dos outros métodos, é possível realizar os cálculos de forma manual).
Deve-se destacar que o método de aproximação de Vogel foi desenvolvido na década de
1950, período em que os computadores não eram populares e nem muito “poderosos” do
ponto de vista do processamento.
Além disso, o método de aproximação de Vogel leva em conta os custos de um
modo mais eficiente quando comparado ao método do menor custo. No lugar de escolher
a célula com menor custo, optou-se por escolher a célula que pertence a linha (ou coluna)
com maior “multa”, minimizando o efeito dessa multa sobre a solução inicial (reduzindo
o prejuízo para cada critério).

151
Método da pedra de passagem (Stepping Stone Method):

Uma vez obtida uma solução básica inicial viável, passa-se a verificar se há a
possibilidade de diminuir esse custo total de transporte, utilizando-se outro plano de
entrega do produto. Voltemos à solução inicial encontrada via método do canto noroeste:

Cuja solução básica inicial é:

𝑥11 = 20
𝑥12 = 20
𝑥22 = 10
𝑥23 = 70
𝑥33 = 30
𝑥34 = 80
Em que as demais variáveis (variáveis não básicas) são iguais a zero.

Por exemplo, considere a entrada da variável não básica 𝑥21 (que é nula na solução).
Essa variável diz respeito ao uso do trajeto que liga a origem O 2 até o destino D1. Nesse caso:

 Para enviar uma unidade do produto de O2 para D1, deve-se diminuir uma
unidade no percurso O1D1 (ou seja, fazer 𝑥11 = 19) senão O1 receberá mais que as
20 unidades do produto previstas;
 Porém para diminuir uma unidade em O1D1, deve-se aumentar uma unidade em
O1D2 (ou seja, fazer 𝑥12 = 21) para se manter o total de 40 unidades produzidas
em O1;
 Aumentando uma unidade em O1D2 deve-se diminuir uma unidade em O 2D2 (ou
seja, fazer 𝑥22 = 9), o que irá compensar exatamente aquela unidade colocada
inicialmente em O2D1 (mantendo também o total de O2 igual a 80).

152
A figura a seguir apresenta o chamado “ciclo de compensação” para a variável não
básica 𝑥21 .

Note que essa modificação na entrega do produto ocasiona um custo marginal da


variável não básica 𝑥21 dado por:
∆𝐶21 = +2 − 10 + 5 − 0 = −3/unidade

Esse resultado evidencia que para cada unidade transportada de O2 para D1 o


custo total de transporte diminuirá de 3 unidades monetárias.

De forma análoga, pode-se analisar cada uma das outras variáveis não básicas,
com outros ciclos de compensação. Por exemplo, o do trajeto O3D1 (para a variável não
básica 𝑥31 ) é mostrado a seguir:

O custo marginal da variável não-básica 𝑥31 é dado por:


∆𝐶31 = +13 − 10 + 5 − 0 + 1 − 14 = −5/unidade

Calculando o custo marginal para as demais variáveis não básicas (aplicando esse
mesmo método do ciclo de compensação para as outras variáveis não básicas), chega-se
em:
∆𝐶32 = −2/unidade
∆𝐶13 = +6/unidade
∆𝐶14 = +6/unidade
∆𝐶24 = +16/unidade

153
Sobre esse exemplo, é importante observar que:

 Em uma dada solução básica, para cada variável não básica há um único ciclo de
compensação, o qual tem alternadamente sinais positivos e negativos e
envolvendo um número ímpar de variáveis básicas, sendo no mínimo 3 (pois para
formar um ciclo é preciso que se tenha um número par e de no mínimo 4 variáveis
contando com a variável não básica);
 Na prática os custos marginais devem ser avaliados e colocados na respectiva
célula, conforme mostrado na próxima tabela;
 Observe que as variáveis não básicas 𝑥13 , 𝑥14 e 𝑥24 possuem custos marginais
positivos, ou seja, cada unidade de produto transportada pelos trajetos associados
a elas ocasiona um aumento no custo total de transporte. Logo, essas variáveis
não podem se tornar variáveis básicas nessa iteração.

A tabela a seguir apresenta a primeira solução básica (tabela da solução básica


inicial), contendo os custos marginais calculados:

Uma vez que no problema busca-se minimizar o custo total de transporte, pode-
se optar por uma das variáveis não básicas que possuem custos marginais negativos
(isto é, 𝑥21 , 𝑥31 , ou 𝑥32 ) para se tornarem variáveis básicas numa próxima solução básica
viável (tornando o custo total de transporte menor do que 1270, ou seja, 𝑍2 < 𝑍1 = 1270).

Para se continuar com uma solução básica viável contendo 6 variáveis básicas,
deve-se retirar uma variável básica para a entrada de uma variável não básica. É
importante observar que essa variável básica que irá sair deve pertencer ao ciclo de
compensação da variável não básica que irá entrar. Essa variável básica será aquela
que possui o menor número de unidades do produto, as quais serão “doadas” para a
variável não básica que entrará no lugar dela.

154
Considerando cada uma das variáveis não básicas (com seus custos marginais)
multiplicado pela variável básica pertencente ao seu ciclo de compensação com menor
quantidade de produtos, chega-se as seguintes conclusões:

A entrada de 𝑥21 provocará a saída de 𝑥22 (variável básica do seu ciclo de compensação
com menor número de unidades), reduzindo o custo total em −3 ∙ 10 = – 30 .

A entrada de 𝑥31 provocará a saída de 𝑥22 (variável básica do seu ciclo de compensação
com menor número de unidades), reduzindo o custo total em −5 ∙ 10 = – 50 .

A entrada de 𝑥32 provocará a saída de 𝑥22 (variável básica do seu ciclo de compensação
com menor número de unidades), reduzindo o custo total em −2 ∙ 10 = – 20 .

Como a variável básica que mais contribui para a redução do custo total de
transporte é 𝑥31 , ela que deverá entrar na base e portanto 𝑥22 irá sair da base. Assim, 𝑥22 doará
as suas 10 unidades para 𝑥31 gerando uma nova solução básica (iteração 2) em que 𝑥31 = 10 e
𝑥22 = 0 (ou seja, passou a ser uma variável não básica).

É importante destacar que alguns autores adotam como critério para entrar na base a
variável não básica que possui o custo marginal com maior valor negativo (nesse exemplo,
também seria escolhido 𝑥31 , uma vez que ele possui o maior valor negativo para o custo
marginal).

Naturalmente, o custo total de transporte para essa nova solução será:

𝑍2 = 1270 − 50 = 1220

A tabela a seguir apresenta essa nova solução básica e também os custos


marginais associados às variáveis não básicas. Note que todas as variáveis básicas do
ciclo de compensação de 𝑥31 também foram alteradas devido a entrada dessas 10 unidades em
𝑥31 (𝑥11 , 𝑥22 e 𝑥33 receberam -10, enquanto 𝑥12 e 𝑥23 receberam +10).

Observe que, dessa vez, todos os custos marginais são positivos. Isso significa que
a entrada de qualquer variável não básica apenas aumentaria o custo total de
transporte. Em outras palavras, pode-se afirmar que essa solução é ótima e, portanto, o
custo mínimo é 1220.
155
A partir desse quadro, tem-se que a solução ótima é (programa de entregas ótimo):

𝑥11 = 10, remeter 10 unidades do produto de O1 para D1


𝑥12 = 30, remeter 30 unidades do produto de O1 para D2
𝑥23 = 80, remeter 80 unidades do produto de O2 para D3
𝑥31 = 10, remeter 10 unidades do produto de O3 para D1
𝑥33 = 20, remeter 20 unidades do produto de O3 para D3
𝑥34 = 80, remeter 80 unidades do produto de O3 para D4
As demais variáveis (variáveis não básicas) são iguais a zero. Observe mais uma
vez que a solução básica contém 6 variáveis básicas (não nulas). E o custo ótimo é igual
a 1220.

Note que essa solução foi a mesma encontrada pelo método de aproximação de
Vogel, o que comprova a eficácia de ambos os métodos (ou seja, o método de aproximação
de Vogel encontra boas soluções básicas iniciais, próximas ou até mesmo a própria
solução ótima; e o método da pedra de passagem, ou stepping stone method, é capaz de
obter a solução ótima de um problema cuja a solução básica inicial não é ótima).

156
AULA 2 – PROBLEMA
DE DESIGNAÇÃO

Definição do problema de designação

O problema de designação envolve diferentes aplicações, como a distribuição de


pessoas para realização de tarefas, designação de produtos a diferentes fábricas,
distribuições de máquinas para diferentes localidades etc. Apesar de parecerem, a
princípio, diferentes dos problemas de transporte, o problema de designação pode ser
visto como um caso especial de um problema de transporte.

De forma geral, o problema de designação é um tipo de problema de programação


linear no qual os designados são indicados para realização de tarefas. A descrição
adequada para o problema de designação seria: “a melhor pessoa para a melhor tarefa”.

Podemos, por exemplo, designar trabalhadores com diferentes graus de


habilidades a determinadas tarefas (cada trabalhador tem certo grau de habilidade para
cada tarefa, daí devemos encontrar a combinação trabalhador-tarefa que otimize o
trabalho). Se escolhermos uma tarefa que combine mais com as habilidades do
trabalhador, teremos um custo menor do que alocarmos esse trabalhador a uma tarefa
que ele não seja tão habilidoso.

Assim, designar pessoas para determinadas tarefas é um problema comum de


designação. É importante observar que os designados não precisam ser
obrigatoriamente pessoas (poderiam ser máquinas, veículos, fábricas ou até mesmo
períodos a serem destinados a tarefas). De toda a forma, o objetivo do problema de
designação é determinar a designação de menor custo.

157
Para se adequar à definição de um problema de designação, as aplicações devem
satisfazer as seguintes hipóteses:

 O número de designados e o número de tarefas devem ser os mesmos (esse


número será representado por 𝑛).
 Devemos atribuir a cada designado exatamente uma tarefa (não teremos uma
pessoa realizando mais de uma tarefa).
 Cada tarefa deve ser realizada por exatamente um designado (não teremos uma
tarefa sendo realizada por mais de uma pessoa).
 Existe um custo 𝑐𝑖𝑗 associado a cada designado 𝑖 (𝑖 = 1, 2, 3..., 𝑛) executando a
tarefa 𝑗 (𝑗 = 1, 2, 3..., 𝑛).
 O objetivo do problema é determinar a forma como todas as 𝑛 designações devem
ser feitas para minimizar o custo total.

Os problemas que satisfazem todas essas hipóteses podem ser resolvidos de forma
eficiente por algoritmos desenvolvidos para solução de problemas de designação.

É importante observar que as três primeiras hipóteses tornam as aplicações


bastante restritivas (na prática, dificilmente teremos o mesmo número de designados e
tarefas, além de cada designado executar apenas uma tarefa, e cada tarefa ser
executada por apenas um designado).

Para esses casos é possível utilizar a mesma lógica adotada nos problemas de
transporte não balanceados. Pode-se reformular o problema (balancear o problema de
designação) criando “designados fictícios” ou “tarefas fictícias” quando necessárias. Se
houverem mais tarefas do que designados, criamos “designados fictícios” para encontrar
a solução do problema. Da mesma forma, se houverem mais designados do que tarefas,
criamos “tarefas fictícias” para encontrar a solução do problema (igualando o número de
tarefas ao número de designados). Em qualquer um dos casos, todos os elementos
associados na matriz de custos são iguais a zero (por ser “fictício”).
Considere o seguinte modelo geral de designação contendo 𝑛 trabalhadores
(designados) e 𝑛 tarefas:

158
Cada elemento 𝑐𝑖𝑗 representa o custo de designar o trabalhador 𝑖 à tarefa 𝑗 (sendo
𝑖, 𝑗 = 1, 2, 3..., 𝑛). É importante destacar que não há prejuízo nessa generalidade do
modelo (de considerarmos iguais os números de trabalhadores e tarefas), tendo em vista
que podemos adicionar “trabalhadores fictícios” ou “tarefas fictícias” quando necessário
para balancear o problema de designação.

É importante ressaltar que um problema de designação é na verdade um caso


especial de um problema de transporte, em que os trabalhadores (designados) são as
origens e as tarefas são os destinos (assim podemos resolvê-lo como um problema de
transporte utilizando, por exemplo, o método Simplex).

A diferença aqui é que a quantidade fornecida em cada origem (trabalhador) é


sempre igual a 1 (pois cada trabalhador é designado para 1 tarefa) e a demanda de cada
destino (tarefa) é sempre igual a 1 (pois cada tarefa necessita de apenas 1 trabalhador).
Além disso, o custo de “transportar” cada trabalhador 𝑖 para a tarefa 𝑗 é dado por 𝑐𝑖𝑗 .
Feitas essas considerações, o problema de designação pode ser resolvido diretamente
como um problema de transporte comum.

Considere o exemplo a seguir:

Sr. Klyne escolheu três tarefas para seus filhos (John, Karen e Terri): 1-cortar a
grama, 2-pintar a porta da garagem e 3-lavar os carros da família. Cada filho disse ao
pai quanto gostaria de receber de cada tarefa. Assim, o pai decidiria qual a tarefa cada
filho iria executar de forma a minimizar seus custos. A tabela a seguir mostra os custos
de cada filho para executar cada tarefa:

Com base nessas informações, determine a forma como o Sr. Klyne deve designar
as tarefas para minimizar o custo total.

Buscando a solução desse problema como um problema de transporte (tendo os


filhos como a origem e as tarefas como os destinos), temos 9 incógnitas 𝑥𝑖𝑗 (𝑖, 𝑗 = 1, 2 e 3)
que definem as designações filho-tarefa. Como um problema de designação tem um
único trabalhador (filho) para cada tarefa, as variáveis de decisão 𝑥𝑖𝑗 sempre serão ou
iguais a 0 (não foi designado) ou iguais a 1 (foi designado).

159
Se, por exemplo, 𝑥31 = 1, então isso significa que Terri (𝑖 = 3) foi designado a cortar
a grama (𝑗 = 1). Naturalmente, nesse caso, teríamos o valor 0 para as demais variáveis
de decisão associadas ao Terri, isto é, 𝑥32 = 0 e 𝑥33 = 0.

Como cada filho só pode executar uma única tarefa, temos as seguintes restrições
para os filhos:
𝑥11 + 𝑥12 + 𝑥13 = 1
𝑥21 + 𝑥22 + 𝑥23 = 1
𝑥31 + 𝑥32 + 𝑥33 = 1

Como cada tarefa só pode ser executada por um único filho, temos as seguintes
restrições para as tarefas:
𝑥11 + 𝑥21 + 𝑥31 = 1
𝑥12 + 𝑥22 + 𝑥32 = 1
𝑥13 + 𝑥23 + 𝑥33 = 1

Dessa forma, considerando a tabela de custos e as restrições, temos o seguinte


problema de programação linear:
Min 𝑍 = 15𝑥11 + 10𝑥12 + 9𝑥13 + 9𝑥21 + 15𝑥22 + 10𝑥23 + 10𝑥31 + 12𝑥32 + 8𝑥33

Sujeito a:
𝑥11 + 𝑥12 + 𝑥13 = 1
𝑥21 + 𝑥22 + 𝑥23 = 1
𝑥31 + 𝑥32 + 𝑥33 = 1
𝑥11 + 𝑥21 + 𝑥31 = 1
𝑥12 + 𝑥22 + 𝑥32 = 1
𝑥13 + 𝑥23 + 𝑥33 = 1
𝑥𝑖𝑗 ≥ 0, 𝑖, 𝑗 = 1,2,3

É importante observar que a solução para esse problema de programação linear


pode ser resolvido via método Simplex.

160
Após a aplicação do método Simplex, chega-se a seguinte tabela final:

Z X11 X12 X13 X21 X22 X23 X31 X32 X33 b


Tabela 9 -1 4 0 0 0 7 3 0 3 0 -27
L1 X12 0 0 1 0 0 1 0 0 1 0 1
L2 X13 0 -1 1 0 1 0 -1 0 0 -1 0
L3 X31 0 1 0 0 0 -1 -1 1 0 0 0
L4 X21 0 0 0 0 1 1 1 0 0 0 1
L5 X33 0 -1 0 0 0 1 1 0 1 1 1

Cuja solução ótima é:

𝑥11 = 0

𝑥12 = 1

𝑥13 = 0

𝑥21 = 1
𝑥22 = 0

𝑥23 = 0

𝑥31 = 0

𝑥32 = 0

𝑥33 = 1

𝑍 = 27

A solução ótima mostra que John deve pintar (𝑥12 = 1), Karen deve cortar (𝑥21 =
1) e Terri deve lavar (𝑥33 = 1). E que o custo total para esse problema de designação foi
de $ 27,00.

161
Solução do problema de designação pelo método húngaro

Na seção anterior aprendemos a solucionar um problema de designação a partir


de um problema de PL via método Simplex. É importante observar que a solução pelo
método simplex, apesar de possível, é muito trabalhosa (chegamos até a tabela 9!).
Contudo, como todas as quantidades fornecidas (os trabalhadores) e as demandas
(tarefas) são sempre iguais a 1, é possível elaborar um método que chegue à solução
ótima de forma mais eficiente. Nesse sentido surge um algoritmo de solução simples
denominado método húngaro.

Para entender esse novo algoritmo, considere novamente o exemplo da seção


anterior:

Sr. Klyne escolheu três tarefas para seus filhos (John, Karen e Terri): 1-cortar a
grama, 2-pintar a porta da garagem e 3-lavar os carros da família. Cada filho disse ao
pai quanto gostaria de receber de cada tarefa. Assim, o pai decidiria qual a tarefa cada
filho iria executar de forma a minimizar seus custos. A tabela a seguir mostra os custos
de cada filho para executar cada tarefa:

Com base nessas informações, determine a forma como o Sr. Klyne deve designar
as tarefas para minimizar o custo total.

A primeira etapa do método húngaro consiste em identificar o mínimo de cada


linha da matriz de custos (𝑝𝑖 ) e subtraí-lo de todas as entradas das linhas, como
mostrado a seguir:

Subtraindo cada elemento, temos:

162
A segunda etapa consiste em, na matriz resultante da primeira etapa,
identificarmos o mínimo de cada coluna (𝑞𝑗 ) e subtraí-lo de todas as entradas das
colunas, como mostrado a seguir (é importante observar que essa etapa poderia ter sido
realizada antes da anterior):

Subtraindo cada elemento, temos:

Na terceira etapa devemos identificar os elementos zero da matriz obtida na etapa


anterior: observe que a única entrada 0 na linha 3 está na coluna 3, portanto ela foi
sublinhada (eliminando a coluna 3); em seguida, a única entrada 0 na linha 2 está na
coluna 1, portanto ela foi sublinhada (eliminando a coluna 1); por fim, a única entrada
0 restante para a linha 1 foi a coluna 2, portanto ela foi sublinhada.

Se o número de zeros sublinhados foi igual ao número de linhas (ou colunas) da


matriz, a solução encontrada é ótima. Note que o número de elementos com entrada zero
sublinhados é igual ao número de linhas ou colunas (3) e por isso essa solução é ótima.

Observando os elementos zero sublinhados, temos que na solução ótima John irá
pintar, Karen irá cortar e Terri irá lavar (mesma solução que encontramos com o método
simplex na seção anterior).

Já o custo total pode ser obtido de duas formas:

A primeira é somando os custos de cada designação a partir da tabela (matriz) de


custo 10 + 9 + 8 = 27 (ou seja, é a soma do custo de John pintar mais Karen cortar mais
Terri lavar). Note que qualquer outra combinação entre filho-tarefa resultaria em um
custo total maior.

A segunda forma de calcular o custo total é a partir da soma dos mínimos das
linhas e das colunas, ou seja, (𝑝1 + 𝑝2 + 𝑝3 ) + (𝑞1 + 𝑞2 + 𝑞3 ) = (9 + 9 + 8) + (0 + 1 + 0) =
27.

163
É importante observar que as etapas do método húngaro funcionaram muito bem
no exemplo anterior pois as entradas zero na matriz final produzem uma designação
viável (ou seja, uma tarefa diferente é designada a cada filho). Em alguns casos, os zeros
criados na primeira e na segunda etapa podem não resultar diretamente em uma
solução viável. Nesse caso são necessárias mais etapas para encontrar a designação
ótima (viável). O próximo exemplo demonstra essa situação:

Considere agora o mesmo exemplo, porém com 4 filhos e 4 tarefas. A tabela a


seguir apresenta o custo de cada filho executar cada tarefa.

Aplicando a primeira e a segunda etapa teremos 𝑝1 = 1, 𝑝2 =7, 𝑝3 = 4 e 𝑝4 = 5


(mínimos de cada linha), e 𝑞1 = 0, 𝑞2 =0, 𝑞3 = 3 e 𝑞4 = 0 (mínimos de cada coluna), que
resultará em (subtraindo cada elemento por 𝑝𝑖 e em seguida por 𝑞𝑗 ):

Note que as localizações das entradas zero não permitem designar tarefas únicas
a todos os filhos (temos, por exemplo, os filhos 1 e 3 realizando a tarefa 1, os filhos 2 e 4
realizando a tarefa 3, o filho 2 realizando as tarefas 2 e 3 e o filho 4 realizando as tarefas
3 e 4). Isso significa que, por exemplo, se designarmos a Tarefa 1 ao Filho 1 então a
coluna 1 será eliminada fazendo com que o Filho 3 não tenha nenhuma tarefa designada
a ele (pois ele não possui entrada zero nas três colunas restantes).

164
Esse obstáculo pode ser eliminado ao adicionarmos as seguintes etapas ao nosso
procedimento:

Se não conseguirmos garantir uma designação viável (com todas as entradas zero)
pela primeira e pela segunda etapa, então devemos traçar o número mínimo de linhas
horizontais e verticais na última matriz de forma a abranger todas as entradas zero (o
número mínimo ocorre ao pegarmos a primeira coluna, a segunda linha e a quarta
linha), como mostrado na tabela a seguir:

Em seguida devemos selecionar a menor entrada não abrangida (que não faz
parte dessas linhas e colunas escolhidas). Nesse caso, é a entrada 1, destacada em itálico
na tabela anterior.

Em seguida, todas as entradas não abrangidas devem ser subtraídas desse valor
(1), inclusive ela mesma. Já as entradas que são interseções entre linhas horizontais e
verticais (no caso o 2 e 3, destacados em negrito na tabela anterior), devem ser
adicionadas desse valor (1). Por fim, as demais entradas não serão alteradas (as demais
entradas abrangidas permanecerão com o mesmo valor). Com isso chegamos a seguinte
tabela:

Dessa vez, ao aplicar a terceira etapa, identificando os elementos zero da matriz


obtida, temos: observe que a única entrada 0 na linha 1 está na coluna 1, portanto ela
foi sublinhada (eliminando a coluna 1); em seguida, a única entrada 0 na linha 3 está
na coluna 2, portanto ela foi sublinhada (eliminando a coluna 2); depois, a única entrada
0 na linha 2 está na coluna 3, portanto ela foi sublinhada (eliminando a coluna 3); por
fim, a única entrada 0 restante para a linha 4 foi a coluna 4, portanto ela foi sublinhada.

165
Se não fosse possível encontrar uma solução viável com as entradas zero
resultantes, deveríamos voltar a essa primeira etapa adicional (traçando novamente o
número mínimo de linhas horizontais e verticais que abrangem todos os zero). Contudo,
como nesse caso a tabela possui o número de zeros sublinhados igual ao número de
linhas (ou colunas) da matriz (4), a solução encontrada é ótima (etapa 3 do algoritmo,
explicada no exemplo anterior).

Nesse caso, conseguimos chegar à solução ótima aplicando as etapas adicionais


apenas uma vez, como mostrado na tabela anterior. A partir da tabela conclui-se que a
solução ótima consiste em atribuir ao Filho 1 a Tarefa 1, ao Filho 2 a Tarefa 3, ao Filho
3 a Tarefa 2 e ao Filho 4 a Tarefa 4.

O custo total (custo ótimo) associado é igual a 1 + 10 + 5 + 5 = $ 21 (obtido a partir


da tabela de custos).

Esse mesmo resultado pode ser obtido ao somarmos (𝑝1 + 𝑝2 + 𝑝3 + 𝑝4 ) + (𝑞1 + 𝑞2 +


𝑞3 +𝑞4 ) com o valor 1 definido na etapa anterior, isto é, (1 + 7 + 4 + 5) + (0 + 0 + 3 + 0) +
(1) = $ 21.

Para entender a dinâmica dessas etapas adicionais, considere novamente a tabela


obtida com a aplicação das três primeiras etapas:

Note que a única designação para o Filho 1 é a Tarefa 1. Com isso podemos
remover a coluna 1 e a linha 1, restando apenas as 3 demais colunas (2, 3 e 4) e 3 linhas
(2, 3 e 4). Nessa nova tabela, a melhor designação para o Filho 3 é a Tarefa 2 (coluna 2),
pois é a que tem o menor custo (custo 1). Com isso podemos remover a coluna 2 e a linha
3, restando as 2 demais colunas (3 e 4) e linhas (2 e 4). Nessa nova tabela, a única
designação para o Filho 2 é a Tarefa 3 (coluna 3). Com isso podemos remover a coluna 3
e a linha 2, restando apenas a coluna 4 e a linha 4. Isso significa que a Tarefa 4 será
designada para o Filho 4, que é a solução ótima do problema.

Note também que, pelo fato de o custo associado ao filho 3 ser igual a 1 (no lugar
de 0), no cálculo do custo por meio das somas de 𝑝𝑖 e 𝑞𝑗 foi adicionado o valor de 1.

166
Em problemas não balanceados (em que o número de designados é diferente do
número de tarefas), devemos criar designados fictícios ou tarefas fictícias. Se por
exemplo tivermos 3 designados e 4 tarefas, devemos criar um designado fictício, que
significa criar mais uma linha a matriz de custos em que todos os elementos são iguais
a zero (por ser fictício, o custo desse designado realizar qualquer tarefa é zero). No caso
de termos, por exemplo, 4 designados e 3 tarefas, devemos criar uma tarefa fictícia, que
significa criar mais uma coluna na matriz de custos em que todos os elementos são iguais
a zero (por ser fictício, o custo de qualquer designado realizar essa tarefa será igual a
zero).

Outra observação é a seguinte, se um designado não puder realizar certa tarefa,


podemos atribuir o valor ∞ na entrada correspondente da tabela de custos. Atribuir um
valor grande (“infinito”) quando um determinado caminho deve ser bloqueado é
chamado de método do “grande número”.

Por exemplo, se o Filho 2 não pudesse executar a Tarefa 4, bastaríamos substituir


a entrada 𝑐24 da tabela de custos (valor $ 9) por ∞ (ou seja, esse valor passaria a ser
igual a ∞). Essa condição é suficiente para impedir que o Filho 2 seja escolhido para
realizar a Tarefa 4 (que na prática sabemos que não pode acontecer, pois este Filho não
poderia realizar essa Tarefa). Matematicamente, é impossível que esse valor (∞) se torne
igual a 0, ou que seja o valor mínimo (considerando as etapas adicionais).

É importante destacar ainda que uma das condições para uso do método húngaro
é que o problema deve ser de minimização. Caso o problema seja de maximização (por
exemplo, se a matriz de custos fosse na verdade uma matriz de ganhos), basta
transformá-lo em um problema de minimização, multiplicando todas as entradas da
função objetivo por -1 (daí o maior valor se tornaria o menor valor e vice-versa; além
disso, é preciso multiplicar o valor do ganho por -1, uma vez que a função objetivo foi
multiplicada por -1 no início do problema, tornando o seu valor positivo).

167
EXERCÍCIOS DE FIXAÇÃO – CAPÍTULO 3
(1) ENADE 2019 – Engenheiro de Produção

Uma empresa possui três fábricas, localizadas em São Paulo, Manaus e Recife, as quais
devem abastecer consumidores de duas regiões do Brasil: Sudeste e Nordeste. As tabelas
a seguir apresentam dados sobre as fábricas e os centros consumidores em questão.

Define-se a variável de decisão do problema como sendo 𝑥𝑖𝑗 , quantidade de produtos (em
milhares de unidades) enviados da fábrica 𝑖 para o centro consumidor 𝑗, em que 𝑖 = 1
(São Paulo), 2 (Manaus) ou 3 (Recife) e 𝑗 = 1 (Sudeste) ou 2 (Nordeste).
São, então, propostas as seguintes opções para os envios:
• opção 1: 𝑥11 = 2 500, 𝑥21 = 0, 𝑥31 = 0, 𝑥12 = 0, 𝑥22 = 500, 𝑥32 = 1 000;
• opção 2: 𝑥11 = 2 000, 𝑥21 = 0, 𝑥31 = 500, 𝑥12 = 0, 𝑥22 = 300, 𝑥32 = 1 200;
• opção 3: 𝑥11 = 2 000, 𝑥21 = 500, 𝑥31 = 0, 𝑥12 = 0, 𝑥22 = 500, 𝑥32 = 1 000;
• opção 4: 𝑥11 = 1 500, 𝑥21 = 0, 𝑥31 = 1 000, 𝑥12 = 500, 𝑥22 = 500, 𝑥32 = 0.
Com base nessa situação, considerando que as demandas dos consumidores devem ser
atendidas, avalie as afirmações a seguir.
I. As opções 1 e 2 são inviáveis, pois nelas há extrapolação da capacidade das fábricas.
II. A opção 3 é viável, pois todas as demandas dos consumidores são atendidas, sem que
haja extrapolação da capacidade das fábricas.
III. A opção 4 é viável, pois todas as demandas dos consumidores são atendidas, sem
que haja extrapolação da capacidade das fábricas.
É correto o que se afirma em
A. I, apenas.
B. III, apenas.
C. I e II, apenas.
D. II e III, apenas.
E. I, II e III.

168
(2) CESGRANRIO - 2018 - Petrobras - Engenheiro de Produção Júnior [Adaptada]

Uma empresa possui dois depósitos para fornecer seus produtos em três cidades
diferentes. A Tabela a seguir apresenta os custos de transportes de cada um dos
depósitos para cada uma das cidades. Os depósitos 1 e 2 têm capacidades para
armazenar, respectivamente, 300 e 400 unidades do produto. As cidades 1, 2 e 3 têm,
respectivamente, demandas de 100, 350 e 250.

Seja xij o número de unidades despachadas do ponto de fornecimento i para o ponto de


demanda j.

A equação que representa a restrição de capacidade do Depósito 2 é

A. x21 + x22 + x23 = 400

B. 10 x11 + 15 x12 + 19 x13 = 300

C. 10 x11 + 8 x21 = 100

D. 15 x12 + 17 x22 = 350

E. 19 x13 + 12 x23 = 250

(3) IBFC - 2017 - EBSERH - Analista Administrativo

Na programação linear, o problema geral de transporte consiste em determinar a forma


mais econômica de enviar um bem disponível em quantidades limitadas em
determinados locais para outros locais onde é necessário. São métodos de resolução do
problema de transporte, exceto:

A. Método do Mínimo da Matriz de Custos

B. Método de Markov

C. Método do Canto Noroeste

D. Método do Canto Superior Esquerdo

E. Método de Vogel

169
(4) CESGRANRIO - 2014 - EPE - Analista de Pesquisa Energética

Uma empresa de transporte de carga foi contratada para transportar tonéis de


determinada matéria-prima. O caminhão adequado tem uma capacidade de transportar
até T toneladas. Os tonéis têm pesos e valores diferentes de tal forma que o tonel i pesa
pi quilos e vale ri reais. A empresa deseja maximizar o valor da carga do caminhão.

Considerando o problema como aplicação de programação linear inteira, e definindo Xk


(k = 1,2,3...,m) como uma variável binária para o embarque ou não do k-ésimo tonel,
qual é a formulação correta?

A.

B.

C.

D.

E.

170
(5) Gestão Concurso - 2018 - EMATER-MG - Engenheiro de Produção

Uma empresa distribuidora precisa programar como fará a distribuição de um produto


de seus clientes. Existem duas fábricas que ofertam e quatro depósitos que demandam
o produto. A tabela a seguir apresenta os custos de transporte de cada par
oferta/demanda.

Uma forma rápida de obter uma solução viável para tal problema é usar o Método do
Canto Noroeste.

Utilizando tal método, o custo total da solução encontrada será de

A. R$ 17.000,00.

B. R$ 54.500,00.

C. R$ 106.000,00.

D. R$ 195.000,00.

171
(6) PUC-PR - 2012 - DPE-PR - Administrador

Três armazéns, designados por A1, A2 e A3, devem ser supridos com mercadoria
produzida em três fábricas, designadas por F1, F2 e F3. A capacidade mensal de cada
fábrica, a demanda mensal de cada armazém, e os custos unitários de transporte de
cada fábrica para cada armazém são dados a seguir

O departamento de Logística deve determinar quanto enviar de cada fábrica para cada
armazém de forma a minimizar o custo total de transporte para a empresa. A matriz de
transporte abaixo apresenta o resultado da decisão.

Conclui-se, portanto, que o custo mínimo de transporte é:

A. R$ 730/mês

B. R$ 710/mês

C. R$ 980/mês
D. R$ 940/mês

E. R$ 950/mês

172
(7) PUC-PR - 2012 - DPE-PR – Administrador [Adaptado]

Três armazéns, designados por A1, A2 e A3, devem ser supridos com mercadoria
produzida em três fábricas, designadas por F1, F2 e F3. A capacidade mensal de cada
fábrica, a demanda mensal de cada armazém, e os custos unitários de transporte de
cada fábrica para cada armazém são dados a seguir

O departamento de Logística deve determinar quanto enviar de cada fábrica para cada
armazém de forma a minimizar o custo total de transporte para a empresa. Ao aplicar
o método do menor custo, a empresa obteve uma solução básica inicial para esse
problema de transporte.

Utilizando tal método, o custo total de transporte para a solução inicial encontrada foi
de:

A. R$ 710/mês

B. R$ 750/mês

C. R$ 840/mês

D. R$ 920/mês

E. R$ 960/mês

173
(8) Questão de Prova Antiga
Uma empresa pré-selecionou a 4 candidatos para ocupar 4 postos de trabalho, que
consiste em operar 4 máquinas diferentes (um trabalhador para cada máquina). A
empresa testou os 4 candidatos nas 4 máquinas, cada um deles realizou o mesmo
trabalho, em cada uma das máquinas, obtendo-se os seguintes tempos em minutos:

Considere 𝑥𝑖𝑗 a variável de decisão que representa a designação do candidato 𝑖 à


máquina 𝑗, sendo 𝑖 = 𝐴, 𝐵, 𝐶, 𝐷 e 𝑗 = 1,2,3,4. Sabendo que a empresa objetiva minimizar
o tempo de operação, a alternativa que apresenta corretamente o modelo de
programação linear a ser solucionado é:
A. Min 𝑍 = 𝑥𝐴1 + 𝑥𝐴2 + 𝑥𝐴3 + 𝑥𝐴4 + 𝑥𝐵1 + 𝑥𝐵2 + 𝑥𝐵3 + 𝑥𝐵4 + 𝑥𝐶1 + 𝑥𝐶2 + 𝑥𝐶3 + 𝑥𝐶4 + 𝑥𝐷1 +
𝑥𝐷2 + 𝑥𝐷3 + 𝑥𝐷4
𝑥𝐴1 + 𝑥𝐴2 + 𝑥𝐴3 + 𝑥𝐴4 = 1
𝑥𝐵1 + 𝑥𝐵2 + 𝑥𝐵3 + 𝑥𝐵4 = 1
𝑥𝐶1 + 𝑥𝐶2 + 𝑥𝐶3 + 𝑥𝐶4 = 1
𝑥𝐷1 + 𝑥𝐷2 + 𝑥𝐷3 + 𝑥𝐷4 = 1
𝑥𝑖𝑗 ≥ 0
B. Min 𝑍 = 𝑥𝐴1 + 𝑥𝐴2 + 𝑥𝐴3 + 𝑥𝐴4 + 𝑥𝐵1 + 𝑥𝐵2 + 𝑥𝐵3 + 𝑥𝐵4 + 𝑥𝐶1 + 𝑥𝐶2 + 𝑥𝐶3 + 𝑥𝐶4 + 𝑥𝐷1 +
𝑥𝐷2 + 𝑥𝐷3 + 𝑥𝐷4
𝑥𝐴1 + 𝑥𝐴2 + 𝑥𝐴3 + 𝑥𝐴4 = 1
𝑥𝐵1 + 𝑥𝐵2 + 𝑥𝐵3 + 𝑥𝐵4 = 1
𝑥𝐶1 + 𝑥𝐶2 + 𝑥𝐶3 + 𝑥𝐶4 = 1
𝑥𝐷1 + 𝑥𝐷2 + 𝑥𝐷3 + 𝑥𝐷4 = 1
𝑥𝐴1 + 𝑥𝐵1 + 𝑥𝐶1 + 𝑥𝐷1 = 1
𝑥𝐴2 + 𝑥𝐵2 + 𝑥𝐶2 + 𝑥𝐷2 = 1
𝑥𝐴3 + 𝑥𝐵3 + 𝑥𝐶3 + 𝑥𝐷3 = 1
𝑥𝐴4 + 𝑥𝐵4 + 𝑥𝐶4 + 𝑥𝐷4 = 1
𝑥𝑖𝑗 ≥ 0
C. Min 𝑍 = 10𝑥𝐴1 + 6𝑥𝐴2 + 6𝑥𝐴3 + 5𝑥𝐴4 + 8𝑥𝐵1 + 7𝑥𝐵2 + 6𝑥𝐵3 + 6𝑥𝐵4 + 8𝑥𝐶1 + 6𝑥𝐶2 + 5𝑥𝐶3 +
6𝑥𝐶4 + 9𝑥𝐷1 + 7𝑥𝐷2 + 7𝑥𝐷3 + 6𝑥𝐷4
10𝑥𝐴1 + 6𝑥𝐴2 + 6𝑥𝐴3 + 5𝑥𝐴4 = 1
8𝑥𝐵1 + 7𝑥𝐵2 + 6𝑥𝐵3 + 6𝑥𝐵4 = 1
8𝑥𝐶1 + 6𝑥𝐶2 + 5𝑥𝐶3 + 6𝑥𝐶4 = 1
9𝑥𝐷1 + 7𝑥𝐷2 + 7𝑥𝐷3 + 6𝑥𝐷4 = 1
𝑥𝑖𝑗 ≥ 0

174
D. Min 𝑍 = 10𝑥𝐴1 + 6𝑥𝐴2 + 6𝑥𝐴3 + 5𝑥𝐴4 + 8𝑥𝐵1 + 7𝑥𝐵2 + 6𝑥𝐵3 + 6𝑥𝐵4 + 8𝑥𝐶1 + 6𝑥𝐶2 +
5𝑥𝐶3 + 6𝑥𝐶4 + 9𝑥𝐷1 + 7𝑥𝐷2 + 7𝑥𝐷3 + 6𝑥𝐷4
10𝑥𝐴1 + 6𝑥𝐴2 + 6𝑥𝐴3 + 5𝑥𝐴4 = 1
8𝑥𝐵1 + 7𝑥𝐵2 + 6𝑥𝐵3 + 6𝑥𝐵4 = 1
8𝑥𝐶1 + 6𝑥𝐶2 + 5𝑥𝐶3 + 6𝑥𝐶4 = 1
9𝑥𝐷1 + 7𝑥𝐷2 + 7𝑥𝐷3 + 6𝑥𝐷4 = 1
10𝑥𝐴1 + 8𝑥𝐵1 + 8𝑥𝐶1 + 9𝑥𝐷1 = 1
6𝑥𝐴2 + 7𝑥𝐵2 + 6𝑥𝐶2 + 7𝑥𝐷2 = 1
6𝑥𝐴3 + 6𝑥𝐵3 + 5𝑥𝐶3 + 7𝑥𝐷3 = 1
5𝑥𝐴4 + 6𝑥𝐵4 + 6𝑥𝐶4 + 6𝑥𝐷4 = 1
𝑥𝑖𝑗 ≥ 0
E. Min 𝑍 = 10𝑥𝐴1 + 6𝑥𝐴2 + 6𝑥𝐴3 + 5𝑥𝐴4 + 8𝑥𝐵1 + 7𝑥𝐵2 + 6𝑥𝐵3 + 6𝑥𝐵4 + 8𝑥𝐶1 + 6𝑥𝐶2 + 5𝑥𝐶3 +
6𝑥𝐶4 + 9𝑥𝐷1 + 7𝑥𝐷2 + 7𝑥𝐷3 + 6𝑥𝐷4
𝑥𝐴1 + 𝑥𝐴2 + 𝑥𝐴3 + 𝑥𝐴4 = 1
𝑥𝐵1 + 𝑥𝐵2 + 𝑥𝐵3 + 𝑥𝐵4 = 1
𝑥𝐶1 + 𝑥𝐶2 + 𝑥𝐶3 + 𝑥𝐶4 = 1
𝑥𝐷1 + 𝑥𝐷2 + 𝑥𝐷3 + 𝑥𝐷4 = 1
𝑥𝐴1 + 𝑥𝐵1 + 𝑥𝐶1 + 𝑥𝐷1 = 1
𝑥𝐴2 + 𝑥𝐵2 + 𝑥𝐶2 + 𝑥𝐷2 = 1
𝑥𝐴3 + 𝑥𝐵3 + 𝑥𝐶3 + 𝑥𝐷3 = 1
𝑥𝐴4 + 𝑥𝐵4 + 𝑥𝐶4 + 𝑥𝐷4 = 1
𝑥𝑖𝑗 ≥ 0

175
(9) CESGRANRIO - 2012 - Petrobras – Analista de Pesquisa Operacional Júnior

Um produto passa por quatro operações em sequência, cada uma executada por uma
máquina diferente. O gerente dessa linha de produção dispõe de uma equipe composta
por quatro funcionários e precisa decidir qual de seus funcionários será responsável por
operar cada máquina de modo a aumentar a produtividade da linha. Dessa forma, o
gerente decide levantar o tempo, em minutos, que cada funcionário (Pedro, José, João e
Manoel) leva, em média, para realizar a operação em cada máquina (1, 2, 3 e 4). Tais
médias são apresentadas na tabela abaixo:

De modo a minimizar o tempo total de operação da linha de produção, o funcionário


Manoel deve ser alocado para a operação de qual máquina?

A. 1

B. 2

C. 3

D. 4

E. 2 ou 4, indiferentemente

GABARITO

(1) C (2) A (3) B (4) C (5) B (6) A (7) B (8) E (9) B

176
CAPÍTULO 4 – CADEIAS DE MARKOV

1-Processos Estocásticos
2-Processos Markovianos
3-Propriedades das Cadeias de Markov

Prof. Dr. Alexander Cascardo Carneiro

Comentários do professor
Caros alunos, nesse capítulo do nosso curso serão estudados os fundamentos dos
processos estocásticos e das cadeias de Markov, os quais são muito importantes para a
solução de diversos problemas de Pesquisa Operacional. Dentro desse estudo, serão
descritos os conceitos envolvendo o diagrama de transição de estados e as probabilidades
de transição. Além disso, serão apresentados os processos markovianos, incluindo as
suas propriedades e classificações. Por fim, será deduzida a formulação para diferentes
tipos de problemas, como as probabilidades de estado no equilíbrio, o tempo médio de
retorno, o tempo médio de primeira passagem, o tempo para a absorção e a probabilidade
de absorção.

177
AULA 1 – PROCESSOS
ESTOCÁSTICOS

Definição de um processo estocástico

Um processo estocástico é uma coleção de variáveis aleatórias indexadas (𝑋𝑡 ), em


que 𝑡 é um índice (geralmente o tempo). Assim, um processo estocástico é a descrição de
um fenômeno aleatório que varia com o tempo 𝑡. Considere o exemplo:

Nesse exemplo, 𝑋 é uma variável aleatória discreta (pois possui um número finito
de estados: 0, 1 ou 2) e representa a condição de uma máquina na ocasião de uma
manutenção preventiva, a qual é realizada mensalmente. O mês é representado pela
letra 𝑡 (𝑡 = 1 representa o mês 1, 𝑡 = 2 o mês 2...). Logo, a cada mês 𝑡, a condição da
máquina pode ser ruim (𝑋𝑡 = 0), razoável (𝑋𝑡 = 1) e boa (𝑋𝑡 = 2).

Além disso, temos que 𝑋1 é uma variável aleatória que expressa a condição da
máquina no mês 1, 𝑋2 é uma variável aleatória que expressa a condição da máquina no
mês 2 e assim por diante. Portanto, cada mês possui uma variável aleatória: 𝑋1 𝑋2 𝑋3 ...
(que é o mesmo que escrever na forma: 𝑋𝑡 para 𝑡 = 1, 2, 3...), a qual definimos como
processo estocástico. Logo, se escrevermos, por exemplo, 𝑋3 = 1, estamos considerando
que a condição da máquina é razoável no mês 3.

Assim, temos um processo estocástico quando a variável aleatória puder assumir


valores diferentes em cada instante de tempo (que nesse caso é o mês). De maneira mais
formal: “um processo estocástico é um conjunto de variáveis aleatórias (𝑋𝑡 ), em que 𝑡 é
um índice (geralmente o tempo)”.

178
Um processo estocástico 𝑋1 𝑋2 𝑋3 ... pode representar ainda a coleção das
quantidades de carros que passam por um determinado ponto de uma rodovia em
diferentes períodos, a evolução dos níveis de estoque semanais de uma firma, o
comportamento de uma partícula de gás ao longo do tempo, variações nas qualidades
dos produtos em diferentes dias, variações nos preços de ações em diversos meses,
vendas numa determinada loja por dia etc.

Dessa forma, o processo estocástico {𝑋𝑡 } = {𝑋1 , 𝑋2 , 𝑋3 , ... } fornece uma


representação matemática de como o estado do sistema evolui ao longo do tempo.

Diagramas de transição de estado

Uma forma de representar um processo estocástico é através de grafos, o qual


identifica os estados da variável aleatória e suas probabilidades de transição, como
mostrado a seguir:

Nesse caso, temos 3 estados (0, 1 e 2). As setas indicam a probabilidade de


transição de estado. Por exemplo, a seta marcada a seguir demonstra que a
probabilidade de a variável aleatória mudar do estado 0 para o estado 1 é de 1/2 (ou 0,5
ou 50%).

179
No exemplo a seguir, é destacada a probabilidade de transição do estado 1 para o
estado 1 (ou seja, a probabilidade de a variável aleatória se manter no estado 1) que é
1/3 (ou 0,3333... ou 33,33...%).

Considere por exemplo que esse grafo (diagrama de transições de estado)


represente a situação descrita no exemplo da condição da máquina dado anteriormente.
Dessa forma podemos dizer o seguinte: se a máquina estiver em condição ruim este mês
(estado 0 ou 𝑋1 = 0), a probabilidade de ela estar em condição razoável (estado 1) no
próximo mês é de 1/2 ou P(𝑋2 = 1 / 𝑋1 = 0) = 1/2 (que é a probabilidade de transição do
estado 0 para o estado 1). Ou então, se a máquina estiver em condição razoável este mês
(𝑋1 = 1), a probabilidade de ela continuar em condição razoável no próximo mês é de 1/3,
isto é, P(𝑋2 = 1 / 𝑋1 = 1) = 1/3 (que é a probabilidade de transição do estado 1 para o
estado 1).

No caso dos grafos, é mais comum numerarmos os estados começando do 1 (não


do 0), como mostrado a seguir (o 1 passou a ser o ruim, o 2 razoável e o 3 boa):

Considere agora 𝑝𝑖𝑗 = P(𝑋𝑡+1 = 𝑗 / 𝑋𝑡 = 𝑖) a probabilidade de transição do estado 𝑖


para o estado 𝑗. Assim, 𝑝11 = 0 (pois não existe transição do estado 1 para o estado 1),
𝑝12 = 1/2 (que é a probabilidade de transição do estado 1 para o 2), 𝑝13 = 1/2 (que é a
probabilidade de transição do estado 1 para o 3), 𝑝21 = 1/3 (que é a probabilidade de
transição do estado 2 para o 1), 𝑝22 = 1/3 (que é a probabilidade de transição do estado 2
para o 2), 𝑝23 = 1/3 (que é a probabilidade de transição do estado 2 para o 3), 𝑝31 = 2/3
(que é a probabilidade de transição do estado 3 para o 1), 𝑝32 = 1/3 (que é a probabilidade
de transição do estado 3 para o 2) e 𝑝33 = 0 (pois não existe transição do estado 3 para o
estado 3).

180
Uma forma de simplificar a visualização desses valores é através de uma matriz
da seguinte forma (em que o primeiro número corresponde a linha e o segundo a coluna):

Substituindo os valores obtidos anteriormente nessa matriz chegamos em:

Essa matriz acima é conhecida como Matriz de Transição de Estados. Ela é uma
matriz quadrada cujo número de linhas e colunas é igual ao número de estados (no nosso
exemplo são 3). Repare que a soma de todos os elementos de cada linha é sempre 1
(100%). Isso ocorre, pois cada linha representa todas as possibilidades de transições
daquele estado para os outros estados (isto é, todas as possibilidades associadas àquela
variável aleatória).

181
AULA 2 – PROCESSOS
MARKOVIANOS

Definição de um processo markoviano

Um processo estocástico é um processo de Markov (ou markoviano) se a ocorrência


de um estado futuro depender apenas de um estado imediatamente anterior (o estado
seguinte depende apenas do estado atual). Em outras palavras, a probabilidade de
qualquer evento futuro independe dos eventos passados, dependendo apenas do estado
atual. Logo, se o estado atual é 1 e deseja-se atingir o estado 2: a probabilidade de
transição do estado 1 para o estado 2 depende apenas do estado atual 1 (independe dos
estados anteriores a esse).

Para entender o significado de um processo markoviano, considere o seguinte


exemplo de um processo não markoviano:

Imagine uma máquina que possua dois estados (estado 1: não funcionando e
estado 2: funcionando) e o 𝑡 seja o número de vezes que apertamos o botão de ligar da
máquina (isto é, 𝑡 = 1 significa que apertamos uma vez, 𝑡 = 2 significa que apertamos
duas vezes, e assim por diante). Considere que inicialmente a nossa máquina não está
funcionando (estado 1). Se ao apertar o botão ela funcionou, então a máquina foi do
estado 1 (não funcionando) para o estado 2 (funcionando); se ao apertar o botão ela não
funcionou então a máquina se manteve no estado 1 (existe então uma probabilidade de
transição do estado 1 para o 2 e do estado 1 para ele mesmo em função de 𝑡, que é a
quantidade de vezes que apertamos o botão). Vamos supor que essa probabilidade de
transição do estado 1 para o 2 seja de 0,5 e do 1 para o 1 também seja de 0,5 (ou seja,
existe uma probabilidade de 50% de a máquina ir para o estado 2 ou se manter no estado
1 quando apertamos o botão).

182
Até agora temos um processo estocástico (𝑋𝑡 ), em que 𝑋 é uma variável aleatória
que possui dois estados (estado 1: não funcionando e estado 2: funcionando) e 𝑡
representa o número de vezes que apertamos o botão (por exemplo, 𝑋3 representa o
estado da máquina após termos apertado o botão 3 vezes).

Vamos adicionar a seguinte condição a esse exemplo: caso tenhamos apertado o


botão três vezes e a máquina não funcionou nessas três vezes, então, com certeza ela irá
funcionar na quarta vez que apertarmos o botão. Isso significa que na quarta vez que
apertarmos o botão, a probabilidade de transição do estado 1 para o estado 2 será de 1
(100%), caso a máquina tenha ficado no estado 1 nas três primeiras vezes.
Matematicamente, escrevemos essa condição da seguinte forma:
𝑃[𝑋4 = 2 / 𝑋3 = 1, 𝑋2 = 1, 𝑋1 = 1] = 1

Lê-se da seguinte forma: a probabilidade de 𝑋4 = 2 (a probabilidade de a máquina


estar no estado 2 na quarta vez que apertarmos o botão) dado que 𝑋3 = 1, 𝑋2 = 1, 𝑋1 = 1
(dado que na terceira vez que apertamos o botão ela estava no estado 1, na segunda vez
que apertamos o botão ela estava no estado 1 e na primeira vez que apertamos o botão
ela estava no estado 1), é de 1 (100%). Para um 𝑡 qualquer, podemos reescrever essa
condição da seguinte forma:
𝑃[𝑋𝑡+1 = 2 / 𝑋𝑡 = 1, 𝑋𝑡−1 = 1, 𝑋𝑡−2 = 1] = 1

Agora vamos responder a seguinte questão: se o estado atual da nossa máquina é


o estado 1 (não funcionando) qual será a probabilidade de ela mudar para o estado 2
(funcionando) caso apertemos o botão? Se considerarmos o enunciando no início do
problema, responderemos que essa probabilidade é de 0,5 (50%). Porém, se
considerarmos a condição acima, veremos que ela pode ser igual a 1 (100%), caso o estado
atual (𝑡) e os dois estados anteriores ao atual (𝑡 − 1 e 𝑡 − 2) sejam 1 (não funcionando).
Essa condição faz com que a probabilidade de transição do estado 1 para o 2 não dependa
apenas do estado atual (mas também de estados anteriores a ele), fazendo com que esse
processo estocástico não seja markoviano.

Se retirarmos essa condição, de forma que possamos determinar a probabilidade


de transição de qualquer estado para qualquer estado (do 1 para o 2, do 1 para o 1, do 2
para o 1 e do 2 para o 2), a partir apenas do estado atual, então o nosso processo
estocástico passará a ser um processo markoviano.

Logo, um processo será markoviano se precisar apenas do estado atual para obter
a probabilidade de transição para qualquer estado futuro (as probabilidades de
transição não dependem dos estados anteriores ao atual).

Matematicamente, isso equivale a escrever que:


𝑃[𝑋𝑡+1 = 𝑥𝑡+1 / 𝑋𝑡 = 𝑥𝑡 , 𝑋𝑡−1 = 𝑥𝑡−1 , 𝑋𝑡−2 = 𝑥𝑡−2 ] = 𝑃[𝑋𝑡+1 = 𝑥𝑡+1 / 𝑋𝑡 = 𝑥𝑡 ]

183
Ou seja, se o processo for markoviano, a probabilidade de transição de um estado
atual para o estado seguinte depende apenas do estado atual.

Nesse caso, a Matriz de Transição de Estados da seção anterior se torna uma


Cadeia de Markov, podendo ser escrita como:

Em que 𝐏 é a cadeia de Markov e 𝑝𝑖𝑗 representam as probabilidades de transição


do estado atual 𝑖 (linha) para o estado seguinte (ou futuro) 𝑗 (coluna).

As cadeias de Markov que iremos tratar tem as seguintes propriedades:

 Possuem um número finito de estados.


 O tempo (ou índice) 𝑡 é discreto (não é contínuo), podendo assumir apenas valores
inteiros não negativos.
 As probabilidades de transição são estacionárias, isto é, não mudam com o tempo.
 As probabilidades iniciais são conhecidas.

Considere o seguinte exemplo:

Um jardineiro utiliza um teste químico todo o ano para verificar a condição do


solo para o plantio. A produtividade do solo resultante desse teste pode cair em três
estados: bom (estado 1), razoável (estado 2) e ruim (estado 3). Considere que ao longo
dos anos o impacto sobre a produtividade causado pela condição do solo seja descrita
pela seguinte cadeia de Markov:

Essa cadeia de Markov mostra que:

 Se a condição do solo neste ano for boa (linha 1), então existe uma probabilidade
para o ano seguinte de 0,2 (20%) de ela se manter boa, de 50% de ela se tornar
razoável (transição do estado 1 para o estado 2) e de 30% de ela se tornar ruim
(transição do estado 1 para o 3);

184
 Se a condição do solo neste ano for razoável (linha 2), então existe uma
probabilidade para o ano seguinte de 0 (0%) de ela mudar para boa (ou seja, a
probabilidade de transição do estado 2 para o 1 é igual a 0), de 50% de ela se
manter como razoável (transição do estado 2 para o estado 2) e de 50% de ela se
tornar ruim (transição do estado 2 para o 3);
 Se a condição do solo neste ano for ruim (linha 3), então existe uma probabilidade
para o ano seguinte de 0 de ela se tornar boa (transição do estado 3 para o 1), de
0 de ela se tornar razoável (transição do estado 3 para o estado 2) e de 1 (100%)
de ela se tornar ruim (transição do estado 3 para o 3).

É importante observar que para essa cadeia de Markov as condições do solo


podem apenas se manter ou piorar, mas nunca melhorar.

Probabilidade de transição em n-etapas

Considere que as probabilidades dos estados iniciais seja dada pelo vetor a(0). Um
vetor a(0) = (0 1 0), por exemplo, significa que a probabilidade de o sistema estar no
estado 1 e 3 é igual a 0 e de estar no estado 2 é igual a 100%, ou seja, inicialmente o
sistema está no estado 2. Além disso, considere P uma cadeia de Markov, que representa
uma matriz de transição de estados (apresenta as probabilidades de transição de um
estado atual 𝑖 para um estado futuro 𝑗). Nesse caso, pode-se calcular as probabilidades
absolutas de o sistema estar em um estado 𝑗, após 𝑡 etapas (transições), da seguinte
forma:

a(1) = a(0) ∙ 𝐏

Essa equação demonstra que para obter as probabilidades absolutas após 1


transição, deve-se multiplicar o vetor das probabilidades do estado inicial pela matriz
de transição de estados um única vez. Pode-se obter também:

a(2) = a(1) ∙ 𝐏

Essa equação evidencia que é possível obter o vetor contendo as probabilidades


absolutas após duas transições (duas etapas) ao multiplicar o vetor das probabilidades
absolutas após 1 transição pela matriz de transição uma única vez. Ou então,
substituindo a(1) = a(0) ∙ 𝐏, obtemos:

a(2) = a(1) ∙ 𝐏 = a(0) ∙ 𝐏 ∙ 𝐏 = a(0) ∙ 𝐏 2

185
Assim, se multiplicarmos o vetor das probabilidades do estado inicial pela matriz
de transição de estados duas vezes, obteremos o vetor contendo as probabilidades
absolutas após duas transições. Esse raciocínio pode ser estendido até 𝑡 etapas
(transições), resultando em:

a(𝑡) = a(0) ∙ 𝐏 𝑡 , para 𝑡 = 1,2,3 …

Essa última equação é a generalização do cálculo dos vetores de probabilidades


absolutos, considerando 𝑡 transições (etapas). Ela é conhecida como equação de
Chapman–Kolmogorov para o cálculo das probabilidades absolutas de uma cadeia de
Markov após 𝑡 transições.

Para entender a aplicação dessa equação, considere o seguinte exemplo:

Considere que um jardineiro, ao aplicar um fertilizante, pode melhorar as


condições do solo, chegando a seguinte cadeia de Markov:

Os estados dessa cadeia de Markov seguem as mesmas características do exemplo


anterior (estado 1: bom, estado 2: razoável e estado 3: ruim). Além, disso, a condição
inicial do solo é boa, ou seja, a(0) = (1 0 0). Nesse caso, determine as probabilidades
absolutas dos três estados do sistema (condição do solo) após 1, 8 e 16 transições
(estações).

Em outras palavras, o problema está pedindo para calcular:

a(1) = a(0) ∙ 𝐏

a(8) = a(0) ∙ 𝐏 8

a(16) = a(0) ∙ 𝐏16

Logo, para obter essas soluções, devemos encontrar os valores de 𝐏 8 e 𝐏16. Vamos
obter esses valores na seguinte sequência:

Primeiro vamos obtém-se o valor de 𝐏 2 = 𝐏 ∙ 𝐏:


0,30 0,60 0,10 0,30 0,60 0,10 0,1550 0,5800 0,2650
2
𝐏 = (0,10 0,60 0,30) ∙ (0,10 0,60 0,30) = (0,1050 0,5400 0,3550)
0,05 0,40 0,55 0,05 0,40 0,55 0,0825 0,4900 0,4275

186
Em seguida, obtém-se 𝐏 4 = 𝐏 2 ∙ 𝐏 2 :
0,1550 0,5800 0,2650 0,1550 0,5800 0,2650
4
𝐏 = (0,1050 0,5400 0,3550) ∙ (0,1050 0,5400 0,3550)
0,0825 0,4900 0,4275 0,0825 0,4900 0,4275
0,10679 0,53295 0,36026
= (0,10226 0,52645 0,37129)
0,09950 0,52193 0,37857
Depois, obtém-se 𝐏 8 = 𝐏 4 ∙ 𝐏 4 :
0,10679 0,53295 0,36026 0,10679 0,53295 0,36026
8
𝐏 = (0,10226 0,52645 0,37129) ∙ (0,10226 0,52645 0,37129)
0,09950 0,52193 0,37857 0,09950 0,52193 0,37857
0,101753 0,525514 0,372733
= (0,101702 0,525435 0,372863)
0,101669 0,525384 0,372863
Por fim, obtém-se 𝐏16 = 𝐏 8 ∙ 𝐏 8 :
0,101753 0,525514 0,372733 0,101753 0,525514 0,372733
𝐏16 = (0,101702 0,525435 0,372863 ) ∙ (0,101702 0,525435 0,372863)
0,101669 0,525384 0,372863 0,101669 0,525384 0,372863
0,101659 0,52454 0,372881
= (0,101659 0,52454 0,372881)
0,101659 0,52454 0,372881
Assim, temos que a(1) = a(0) ∙ 𝐏:
0,30 0,60 0,10
a(1) = (1 0 0) ∙ ( 0,10 0,60 0,30) = (0,30 0,60 0,1)
0,05 0,40 0,55
E que a(8) = a(0) ∙ 𝐏 8 :
0,101753 0,525514 0,372733
(8)
a = (1 0 0) ∙ (0,101702 0,525435 0,372863) = (0,101753 0,525514 0,372733)
0,101669 0,525384 0,372863
E que a(16) = a(0) ∙ 𝐏16 :
0,101659 0,52454 0,372881
a(16) = (1 0 0) ∙ (0,101659 0,52454 0,372881) = (0,101659 0,52454 0,372881)
0,101659 0,52454 0,372881
A solução a(1) = (0,30 0,60 0,1) expressa que se a condição do solo inicialmente era
boa, então a probabilidade após 1 estação (transição) para que ela esteja boa será de 0,3,
para que ela mude para razoável é de 0,6 e para que ela mude para ruim será de 0,1.

A solução a(8) = (0,101753 0,525514 0,372733) expressa que se a condição do solo


inicialmente era boa, então a probabilidade após 8 estações (transições) para que ela
esteja boa será de 0,101753, para que ela esteja razoável é de 0,525514 e para que ela
esteja ruim será de 0,372733.

187
A solução a(16) = (0,101659 0,52454 0,372881) expressa que se a condição do solo
inicialmente era boa, então a probabilidade após 16 estações (transições) para que ela
esteja boa será de 0,101659, para que ela esteja razoável é de 0,52454 e para que ela
esteja ruim será de 0,372881.

É importante observar que a(8) se assemelha bastante às linhas de P8, e que essa
semelhança fica ainda mais evidente quando comparamos a(16) com P16. Isso significa
que à medida que elevamos o número de transições, as probabilidades absolutas se
tornam independentes do estado inicial (mesmo utilizando outro estado inicial, o
resultado de a(16) seria exatamente o mesmo). Nesse caso, dizemos que as probabilidades
resultantes (de a(16), por exemplo) são probabilidades de estado no equilíbrio (pois elas
independem do estado inicial).

Classificação dos estados de uma cadeia de Markov

Os estados de uma cadeia de Markov podem ser classificados com base nas
probabilidades de transição 𝑝𝑖𝑗 de 𝐏, como:

Absorvente:

Um estado é dito absorvente se a probabilidade de ele retornar para ele mesmo


for de 1 (100%). Em outras palavras, se a probabilidade de transição 𝑝𝑗𝑗 = 1, então o
estado 𝑗 é absorvente. Esse conceito pode ser entendido a partir do seguinte grafo:

Note que o estado C é um estado absorvente, visto que no instante em que o


sistema chega ao estado C, ele será absorvido por ele (pois a única transição possível é
de C para ele mesmo).

188
Considere novamente o exemplo do jardineiro, cuja cadeia de Markov é:
0,2 0,5 0,3
𝐏 = 0 0,5 0,5)
(
0 0 1
Sobre essa cadeia de Markov, pode-se observar que o estado 3 é absorvente (pois
𝑝33 = 1), ou seja, caso a condição do solo fique ruim, ela se manterá ruim
independentemente da quantidade de etapas seguintes.

É importante ressaltar que a tendência do sistema é sempre tender ao estado


absorvente. Considere esse exemplo de cadeia de Markov cujo estado 3 é absorvente. Ao
calcular a cadeia de Markov após diversas transições (por exemplo, 100 transições),
chega-se ao seguinte resultado:
0 0 1
𝐏100 = (0 0 1)
0 0 1
Observe que, independente do estado inicial, após diversas transições o sistema
estará no estado 3 (condição ruim). Isso era esperado, tendo em vista que a probabilidade
de o sistema atingir o estado 3 aumenta à medida que aumentam o número de etapas
(transições). Como esse estado é absorvente, então a probabilidade de o sistema
permanecer no estado 3 também irá aumentar, tendendo a 1 no limite quando o número
de transições tende à infinito.

Transiente:

Um estado é dito transiente se puder alcançar outro estado, mas não puder voltar
ao estado em que estava a partir de outro estado. Se o estado 𝑗 for transiente, então
temos 𝑝𝑖𝑗 = 0 para algum estado 𝑖. Em outras palavras, um estado 𝑗 é transiente se
existir algum estado 𝑖 que impeça o sistema de retornar ao estado 𝑗. Esse conceito pode
ser entendido a partir do seguinte grafo:

189
Imagine que o nosso sistema estava no estado A. A partir do momento em que o
sistema sair do estado A (ir para B) ele não poderá mais voltar para o estado A (o mesmo
vale para o estado B ao atingir C). Logo, os estados A e B são estados transientes.

Considere novamente o exemplo do jardineiro, cuja cadeia de Markov é:


0,2 0,5 0,3
𝐏 = 0 0,5 0,5)
(
0 0 1
Dessa cadeia de Markov pode-se notar que tanto o estado 1 quanto o estado 2 são
transientes. Por exemplo, se inicialmente o sistema estiver no estado 1 e alcançar o
estado 2, ele não poderá retornar para o estado 1 (𝑝21 = 0), nem se ele alcançar o estado
3 (𝑝31 = 0), por isso o estado 1 é transiente. Da mesma forma, se o sistema estiver no
estado 2 e alcançar o estado 3, ele não poderá retornar para o estado 2 (𝑝32 = 0), por isso
o estado 2 também é transiente.

Recorrente:

Um estado é dito recorrente se partindo deste estado eventualmente o sistema


possa retornar ao mesmo estado. É importante observar que um estado só poderá ser
recorrente se, e somente se, ele não for transiente . Esse conceito pode ser entendido a
partir do seguinte grafo:

Nesse caso, tem-se que A, B e C são estados recorrentes (não transientes), pois o
sistema sempre pode voltar para qualquer um dos 3 estados (a probabilidade de o
sistema voltar para o estado no qual saiu é de 100%). Observe o próximo grafo:

190
Nesse caso, tem-se A como transiente (pois não se pode retornar a ele), e B e C
como recorrentes (pois se pode retornar a eles).

Por fim, observe o exemplo:

Agora tem-se tanto A quanto B transiente (pois a probabilidade de se retornar ao


estado B não é de 100%: uma vez que se o sistema atingir o estado C, ele não conseguirá
voltar para o estado B e por isso a probabilidade de retorno para o estado B não é de
100%). Além disso, o estado C é recorrente (pois a probabilidade de retorno ao estado C
é de 100%). Observe que o estado C também é absorvente, o que nos faz concluir que
todo o estado absorvente também é recorrente.

Periódico:

Um estado é dito periódico se o sistema só puder retornar a ele após 𝑡, 2𝑡, 3𝑡,...
etapas. Isso significa que 𝑝𝑗𝑗 = 0 sempre que o número de etapas 𝑡 não for divisível pelo
período. Esse conceito pode ser entendido a partir do seguinte grafo:

Olhando para o primeiro grafo, considere que o sistema está inicialmente no


estado 1 (quando 𝑡 = 0). Após 1 etapa (𝑡 = 1) com certeza o sistema estará no estado 2,
após 2 etapas (𝑡 = 2) com certeza estará no estado 1 novamente, e assim por diante. Ou
seja, se inicialmente (𝑡 = 0) o sistema estiver no estado 1, então ele retornará ao estado
1 na segunda transição (𝑡 = 2), na quarta transição (𝑡 = 4)... isto é, de duas em duas
transições (𝑡 = 0, 2, 4, 6...). Portanto o estado 1 é periódico de período 2 (pois 𝑡 varia de
2 em 2). O mesmo vale para o estado 2 (também é periódico de período 2). No grafo da
direita tem-se que o período de todos os estados é 3 (pois o sistema retorna ao estado de
3 em 3 transições).

191
Para testar se um estado 𝑗 é ou não é periódico a partir de uma cadeia de Markov,
é preciso testar a periodicidade de 𝐏 t , observando os valores da probabilidade de retorno
a ele 𝑝𝑗𝑗 , para diferentes valores de 𝑡 (𝑡 = 2, 3, 4...). Esses valores só serão positivos no
período correspondente do estado (caso contrário a sua probabilidade de retorno será
igual a zero). Considerando a cadeia de Markov:
0 0,6 0,4
𝐏=( 0 1 0)
0,6 0,4 0
Temos que:
0,24 0,76 0
𝐏2 = ( 0 1 0 )
0 0,76 0,24
0 0,904 0,096
3
𝐏 =( 0 1 0 )
0,144 0,856 0
0,0576 0,9424 0
4
𝐏 =( 0 1 0 )
0 0,9424 0,0576
0 0,97696 0,2304
𝐏5 = ( 0 1 0 )
0,03456 0,96544 0
Note que 𝑝11 e 𝑝33 são positivos para 𝑡 = 0, 2 e 4 e são iguais a zero para 𝑡 = 1, 3 e
5. Isso significa que os estados 1 e 3 são periódicos com período 2. Além disso, observe
que o estado 2 é absorvente.

Com base em todas essas definições pode-se chegar a algumas conclusões


importantes sobre as cadeias de Markov que possuam um conjunto finito de estados:

 Não pode existir uma cadeia de Markov em que todos os estados sejam
transientes (ser transiente significa que o sistema não poderá retornar ao estado
– ter todos os estados transientes só seria possível se a cadeia de Markov tivesse
infinitos estados, daí ela poderia ir do estado 1 para o 2, do 2 para o 3, do 3 para
o 4... porém em cadeias de Markov finitas isso nunca poderá ocorrer).
 Outro ponto importante é que um estado "capturador" não precisa ser
necessariamente um único estado absorvente, como demonstra o exemplo a
seguir.

192
Considere o seguinte exemplo:

Perceba que os estados 1 e 2 são transientes (o sistema não pode retornar a eles,
uma vez que tenha sido capturado pelos estados 3 e 4). Note que ao atingir o estado 3 o
sistema só pode se manter no estado 3 ou atingir o estado 4 (e no estado 4 só pode se
manter nele ou voltar para o estado 3). Isso significa que os estados 3 e 4 são recorrentes
(ou seja, são não transientes).

Além disso, é importante observar que os estados 3 e 4 desempenham o papel de


um “estado absorvente”, constituindo um conjunto fechado. Todos os estados que fazem
parte do conjunto fechado podem se comunicar (ou seja, o sistema pode ir de qualquer
estado para qualquer estado que faça parte do conjunto fechado em uma ou mais de uma
transições). Deve-se ressaltar ainda que um estado absorvente consiste em um conjunto
fechado de um único elemento (uma vez que o sistema atinge um estado absorvente, ele
é "capturado" por ele).

Um exemplo de grafo de um conjunto fechado é mostrado a seguir:

Pode-se notar que o estado A é transiente e que, a partir do instante em que o


sistema atingir o estado B, ele será capturado pelos estados B e C. Portanto os estados
B e C formam um conjunto fechado.

Por fim, dizemos que uma cadeia de Markov fechada é ergódica se todos os seus
estados forem recorrentes (não tiver estados transientes) e aperiódicos (não tiver
estados periódicos). Em uma cadeia de Markov ergódica pode-se alcançar qualquer
estado a partir de qualquer estado (todos os estados da cadeia de Markov formam um
único ciclo fechado).

193
Isso significa que uma cadeia de Markov ergódica não pode ter estados
absorventes (pois isso significaria que os outros estados são transientes e também
porque o estado absorvente forma um ciclo fechado com ele mesmo).

Um exemplo de cadeia de Markov ergódica é mostrada no grafo a seguir:

Observe que é possível alcançar qualquer estado partindo de qualquer estado.


Uma característica importante das cadeias de Markov ergódica é a de que as
probabilidades absolutas após 𝑡 transições sempre convergem para um estado de
equilíbrio (à medida que 𝑡 cresce, ou seja, tende a infinito). E é por isso que não podem
existir estados periódicos (pois um estado periódico fica alternando entre um valor
positivo e zero, no lugar de tender a um valor). Lembrando que as probabilidades de
estado no equilíbrio são independentes das condições iniciais.

Para finalizar, considere o seguinte exemplo:

Uma cadeia de Markov de quatro estados (1, 2, 3 e 4) possui a seguinte matriz de


transição:

Classifique cada um dos 4 estados dessa cadeia de Markov.

Solução:

O estado 1 é transiente (pois o sistema não poderá retornar a ele).

O estado 3 é absorvente (pois a probabilidade 𝑝33 = 1).

Por conta disso, os estados 2 e 4 também são transientes (como o estado 3 é


absorvente, a probabilidade do estado voltar para ele mesmo não é de 100% – caso o
sistema atinja o estado 3, que é absorvente, ele não poderá voltar para o estado 2 ou
para o estado 4, por isso eles são transientes).
194
É preciso testar também a periodicidade de 𝐏:

Note que tanto 𝑝22 quanto 𝑝44 alternam entre 0 e positivo de 2 em 2 transições.
Logo, os estados 2 e 4, além de serem transientes, também são periódicos de período 2.

195
AULA 3 – PROPRIEDADES
DAS CADEIAS DE MARKOV

Probabilidades de estado no equilíbrio

Nas cadeias de Markov ergódicas, as probabilidades de estado no equilíbrio são


definidas como:

𝜋𝑗 = lim a(𝑡) , 𝑗 = 1,2,3 …


𝑡→∞

Em que 𝑗 é o estado e 𝑡 é o número de etapas (transições). Considere 𝝅 um vetor


contendo as probabilidades de estado no equilíbrio, isto é, 𝝅 = (𝜋1 𝜋2 𝜋3 … ). Assim, como
essas probabilidades são independentes da condição inicial, então pode-se determiná-
las a partir de:
𝝅=𝝅∙𝐏

Essa equação evidencia que, quando um sistema chega no estado de equilíbrio,


mesmo que ocorra mais uma nova transição, ela resultará no mesmo valor 𝝅 das
probabilidades absolutas (por serem probabilidades de estado no equilíbrio elas não se
alteram com transições).

Além disso, a soma das probabilidades de todos os estados tem que ser igual a 1,
isto é:
∑𝑗 𝜋𝑗 = 𝜋1 + 𝜋2 + 𝜋3 + ⋯ = 1.

196
Considere novamente o problema do jardineiro com fertilizante, cuja cadeia de
Markov é:

Observe que o sistema pode atingir qualquer estado a partir de qualquer estado
(todos os estados são recorrentes) e que não existem estados periódicos. Logo essa cadeia
de Markov é ergódica. Isso significa que ela possui um estado de equilíbrio cujas
probabilidades podem ser calculadas através de:
𝝅=𝝅∙𝐏

Assim, temos:
0,3 0,6 0,1
(𝜋1 𝜋2 𝜋3 ) = (𝜋1 𝜋2 𝜋3 ) ∙ ( 0,1 0,6 0,3 )
0,05 0,4 0,55
Realizando o produto entre as matrizes da direita e igualando aos termos do vetor
da esquerda, chegamos ao seguinte sistema de equações lineares:
𝜋1 = 0,3𝜋1 + 0,1𝜋2 + 0,05𝜋3
𝜋2 = 0,6𝜋1 + 0,6𝜋2 + 0,4𝜋3
𝜋3 = 0,1𝜋1 + 0,3𝜋2 + 0,55𝜋3
𝜋1 + 𝜋2 + 𝜋3 = 1

Note que a última equação representa a condição de que a soma das


probabilidades de todos os estados deve ser igual a 1.

Pode-se descartar qualquer uma das três primeiras equações (pois elas são
redundantes) e solucionar o sistema linear utilizando as três demais equações (temos
três equações e três incógnitas, basta então solucionarmos o sistema linear).
Descartando, por exemplo, a primeira equação e isolando as incógnitas, chegamos ao
seguinte sistema linear:
0,6𝜋1 − 0,4𝜋2 + 0,4𝜋3 = 0
0,1𝜋1 + 0,3𝜋2 − 0,45𝜋3 = 0
𝜋1 + 𝜋2 + 𝜋3 = 1

197
A solução desse sistema linear é: 𝜋1 = 0,1017, 𝜋2 = 0,5254 e 𝜋3 = 0,3729. Ou seja:

𝝅 = (0,1017 0,5254 0,3729)

Note que esse resultado é muito próximo àquele encontrado anteriormente no


cálculo de 𝐏16, para a(16) = (0,101659 0,52454 0,372881). Isso significa que à medida que
aumentarmos o valor de 𝑡 em 𝐏 𝑡 chegaremos mais próximo ao resultado de 𝝅.

Observe também que nesse exemplo do jardineiro, as probabilidades de estado no


equilíbrio mostram que, no longo prazo, a condição do solo será boa em
aproximadamente 10% das vezes, razoável em 53% e ruim em 37% (ou seja, no longo
prazo é mais provável que a condição do solo esteja razoável, independente do seu estado
inicial).

Tempo médio de retorno

Outro parâmetro importante é conhecido como tempo médio de retorno que


determina o número esperado de transições (etapas) necessárias para o sistema retornar
ao estado 𝑗. Ele também é chamado de tempo médio do primeiro retorno ou tempo médio
de recorrência, sendo obtido a partir das probabilidades de estado no equilíbrio 𝝅, como:
1
𝜇𝑗𝑗 = , 𝑗 = 1,2,3 …
𝜋𝑗

Votando ao exemplo do jardineiro, chegamos aos seguintes tempos médios de


retorno:
1 1
𝜇11 = = = 9,83
𝜋1 0,1017
1 1
𝜇22 = = = 1,9
𝜋2 0,5254
1 1
𝜇33 = = = 2,68
𝜋3 0,3729

Em que 𝜇11 representa o tempo médio de retorno ao estado 1 (bom), 𝜇22 representa
o tempo médio de retorno ao estado 2 (razoável) e 𝜇33 representa o tempo médio de
retorno ao estado 3 (ruim). Os resultados mostram que levará aproximadamente 10
estações de plantio para que o solo volte a ter uma condição boa, 2 estações para voltar
a um estado razoável e 3 estações para voltar a um estado ruim.

198
Tempo médio de primeira passagem

A seção anterior apresentou a formulação matemática para encontrar o tempo


médio de primeiro retorno, que consiste no tempo médio em que um estado leva para
retornar a ele mesmo. Nessa seção, será obtida a equação para o tempo médio de
primeira passagem, o qual representa o tempo médio para que o sistema passe do estado
𝑖 para o estado 𝑗, em que 𝑖 ≠ 𝑗.

Para ilustrar essa definição, considere o seguinte exemplo:

Um processo estocástico {𝑋𝑡 } = {𝑋0 , 𝑋1 , 𝑋2 , 𝑋3 , ... } apresenta a quantidade de itens


em estoque no final de cada semana. Suponha que, por acaso, tenhamos os valores de:
𝑋0 = 3, 𝑋1 = 2, 𝑋2 = 1, 𝑋3 = 0, 𝑋4 = 0, 𝑋5 = 3 e 𝑋6 = 1.

Nesse caso, o tempo de primeira passagem para ir do estado 3 para o estado 0 é


de 3 semanas (transições), o tempo de primeira passagem para ir do estado 3 para o
estado 1 é de 2 semanas (transições), e o tempo de primeira passagem para ir do estado
3 para o estado 2 é de 1 semana (transição). Além disso, o tempo de recorrência para o
estado 3 é de 5 semanas.

Contudo, em geral, não conhecemos os valores de cada variável (uma vez que as
variáveis são aleatórias, isto é, não determinística, existe uma probabilidade associada
a cada valor que ela pode assumir). Nesse caso, os tempos de primeira passagem
também serão variáveis aleatórias.
(𝑛)
Considere 𝑓𝑖𝑗 a probabilidade de que o tempo de primeira passagem do estado 𝑖
para o estado 𝑗 seja igual a 𝑛 (ou seja, que o sistema saia do estado 𝑖 e alcance o estado
𝑗 em 𝑛 transições). Para 𝑛 = 1 temos simplesmente a própria probabilidade de transição
do estado 𝑖 para o estado 𝑗:
(1)
𝑓𝑖𝑗 = 𝑝𝑖𝑗

Essa equação denota que a probabilidade de transição do estado 𝑖 para o estado 𝑗


(1)
em 1 transição (𝑓𝑖𝑗 ) é a probabilidade de transição do estado 𝑖 para o estado 𝑗 (𝑝𝑖𝑗 ).

Para 𝑛 > 1, é preciso considerar todas as possibilidade (todos os caminhos)


partindo do estado 𝑖 para o estado 𝑗. Assim, para 𝑛 = 2, tem-se:
(2) (1)
𝑓𝑖𝑗 = ∑ 𝑝𝑖𝑘 𝑓𝑘𝑗
𝑘≠𝑗

199
Essa equação demonstra que para um sistema chegar ao estado 𝑗 em 2 transições
é preciso que ele passe por um estado 𝑘 ≠ 𝑗 na primeira transição. O termo 𝑝𝑖𝑘
representa a probabilidade de transição do estado 𝑖 para cada estado 𝑘 (primeira
(1)
transição), enquanto o termo 𝑓𝑘𝑗 representa a probabilidade de transição de cada estado
𝑘 para o estado 𝑗. Note que cada termo 𝑝𝑖𝑘 pode ser obtido da matriz de transição de
(1)
estados (cadeia de Markov) e que cada termo 𝑓𝑘𝑗 pode ser calculado da equação anterior.

Considere agora a equação para 𝑛 = 3 (sair do estado 𝑖 e alcançar o estado 𝑗 em 3


transições):
(3) (2)
𝑓𝑖𝑗 = ∑ 𝑝𝑖𝑘 𝑓𝑘𝑗
𝑘≠𝑗

Essa equação demonstra que para um sistema chegar ao estado 𝑗 em 3 transições


é preciso que ele passe por um estado 𝑘 ≠ 𝑗 na primeira transição. O termo 𝑝𝑖𝑘
representa a probabilidade de transição do estado 𝑖 para cada estado 𝑘 (primeira
(2)
transição), enquanto o termo 𝑓𝑘𝑗 representa a probabilidade de transição de cada estado
𝑘 para o estado 𝑗 em 2 transições. Note que cada termo 𝑝𝑖𝑘 pode ser obtido da matriz de
(2)
transição de estados (cadeia de Markov) e que cada termo 𝑓𝑘𝑗 pode ser calculado da
equação anterior.

Dessa forma, é possível chegar ao seguinte modelo geral:


(𝑛) (𝑛−1)
𝑓𝑖𝑗 = ∑ 𝑝𝑖𝑘 𝑓𝑘𝑗
𝑘≠𝑗

Essa equação demonstra que para um sistema chegar ao estado 𝑗 em 𝑛 transições


é preciso que ele passe por um estado 𝑘 ≠ 𝑗 na primeira transição. O termo 𝑝𝑖𝑘
representa a probabilidade de transição do estado 𝑖 para cada estado 𝑘 (primeira
(𝑛−1)
transição), enquanto o termo 𝑓𝑘𝑗 representa a probabilidade de transição de cada
estado 𝑘 para o estado 𝑗 em 𝑛 − 1 transições.

Note que cada termo 𝑝𝑖𝑘 pode ser obtido da matriz de transição de estados (cadeia
de Markov). Além disso, cada probabilidade de primeira passagem do estado 𝑖 para o
estado 𝑗 em 𝑛 transições (etapas) é obtida de forma recursiva partindo da probabilidade
(1)
de transição em 1 transição (𝑓𝑖𝑗 ).
(𝑛)
Estatisticamente, 𝑓𝑖𝑗 é a distribuição de probabilidades do tempo de primeira
passagem para ir do estado 𝑖 para o estado 𝑗 (probabilidades do tempo de primeira
passagem para cada número de transições, ou tempo, 𝑛).

200
Considere novamente o problema do jardineiro com fertilizante, cuja cadeia de
Markov é:

Deseja-se obter a distribuição de probabilidades do tempo de primeira passagem


para ir do estado 1 (bom) para o estado 3 (ruim).

Para isso, deve-se calcular:


(1)
𝑓13 = 𝑝13 = 0,1
(1)
𝑓23 = 𝑝23 = 0,3


(1)
O resultado 𝑓13 = 0,1 representa a probabilidade do tempo de primeira passagem
do estado 1 para o estado 3 ocorrer em 1 transição (𝑛 = 1).

Para 𝑛 = 2, tem-se:
(2) (1) (1) (1)
𝑓13 = ∑ 𝑝1𝑘 𝑓𝑘3 = 𝑝11 𝑓13 + 𝑝12 𝑓23 = 0,3 ∙ 0,1 + 0,6 ∙ 0,3 = 0,21
𝑘≠3

(2) (1) (1) (1)


𝑓23 = ∑ 𝑝2𝑘 𝑓𝑘3 = 𝑝21 𝑓13 + 𝑝22 𝑓23 = 0,1 ∙ 0,1 + 0,6 ∙ 0,3 = 0,19
𝑘≠3


(2)
O resultado 𝑓13 = 0,21 representa a probabilidade do tempo de primeira
passagem do estado 1 para o estado 3 ocorrer em 2 transição (𝑛 = 2).

Para 𝑛 = 3, tem-se:
(3) (2) (2) (2)
𝑓13 = ∑ 𝑝1𝑘 𝑓𝑘3 = 𝑝11 𝑓13 + 𝑝12 𝑓23 = 0,3 ∙ 0,21 + 0,6 ∙ 0,19 = 0,177
𝑘≠3

(3) (2) (2) (2)


𝑓23 = ∑ 𝑝2𝑘 𝑓𝑘3 = 𝑝21 𝑓13 + 𝑝22 𝑓23 = 0,1 ∙ 0,21 + 0,6 ∙ 0,19 = 0,135
𝑘≠3


(3)
O resultado 𝑓13 = 0,177 representa a probabilidade do tempo de primeira
passagem do estado 1 para o estado 3 ocorrer em 3 transição (𝑛 = 3).

201
Para 𝑛 = 4, tem-se:
(4) (3) (3) (3)
𝑓13 = ∑ 𝑝1𝑘 𝑓𝑘3 = 𝑝11 𝑓13 + 𝑝12 𝑓23 = 0,3 ∙ 0,177 + 0,6 ∙ 0,135 = 0,1341
𝑘≠3


(4)
O resultado 𝑓13 = 0,1341 representa a probabilidade do tempo de primeira
passagem do estado 1 para o estado 3 ocorrer em 4 transição (𝑛 = 4).
(𝑛)
Observe que cada 𝑓13 representa a probabilidade do tempo de primeira passagem
do estado 1 para o estado 3 em função de 𝑛 (por isso, ela é uma distribuição de
probabilidades).

Por exemplo, qual é a probabilidade para que o estado do solo passe de bom para
ruim em até 3 estações? Para responder essa pergunta, basta calcular:
(1) (2) (3)
𝑓13 + 𝑓13 + 𝑓13 = 0,1 + 0,21 + 0,177 = 0,487

Em geral, por representar uma distribuição de probabilidades, o somatório dos


(𝑛)
termos 𝑓𝑖𝑗 para todo 𝑛 (para 𝑛 = 1 até 𝑛 → ∞) deve ser igual a 1. Ou seja:

∑ 𝑓𝑖𝑗(𝑛) = 1
𝑛=1

Nesse caso, temos que a cadeia de Markov é ergódica. Para o exemplo anterior:

(𝑛) (1) (2) (3) (4)
∑ 𝑓13 = 𝑓13 + 𝑓13 + 𝑓13 + 𝑓13 + ⋯ = 1
𝑛=1

Contudo, esse somatório pode ser estritamente menor do que 1, o que implica que
se o sistema se encontra inicialmente no estado 𝑖 então talvez ele jamais atinja o estado
𝑗. Dessa forma, pode-se concluir que o tempo médio de primeira passagem para ir do
estado 𝑖 para o estado 𝑗 é:

(𝑛)
∞ se ∑ 𝑓𝑖𝑗 < 1
𝑛=1
𝜇𝑖𝑗 = ∞ ∞

∑ 𝑛𝑓𝑖𝑗(𝑛) (𝑛)
se ∑ 𝑓𝑖𝑗 = 1
{ 𝑛=1 𝑛=1

Para o exemplo anterior, temos que o tempo médio de primeira passagem para ir
do estado 1 para o estado 3 é:

(𝑛) (1) (2) (3) (4)
𝜇13 = ∑ 𝑛𝑓13 = 𝑓13 + 2𝑓13 + 3𝑓13 + 4𝑓13 + ⋯
𝑛=1

202
(𝑛)
Naturalmente, obter o valor de 𝑓𝑖𝑗 para todo 𝑛 é uma tarefa bastante exaustiva.
Felizmente, sempre que:

∑ 𝑓𝑖𝑗(𝑛) = 1
𝑛=1

A cadeia de Markov é ergódica e é possível obter 𝜇𝑖𝑗 a partir da seguinte equação:

𝜇𝑖𝑗 = 1 + ∑ 𝑝𝑖𝑘 𝜇𝑘𝑗


𝑘≠𝑗

Essa equação reconhece que a transição de um estado 𝑖 para um estado 𝑗, pode


ocorrer diretamente para o estado 𝑗 (ou seja, em 1 transição), representada pelo primeiro
termo; ou indiretamente, passando por um estado intermediário 𝑘, representada pelo
segundo termo (o somatório).

Assim, equação explicita que se a primeira transição for para algum estado 𝑘
(sendo 𝑘 ≠ 𝑗), que ocorre com probabilidade 𝑝𝑖𝑘 , então o tempo de primeira passagem
deve considerar o tempo de primeira passagem para ir do estado 𝑘 para o estado 𝑗 (𝜇𝑘𝑗 ),
para cada “caminho” alternativo, mais 1 (que é a transição do estado 𝑖 para o estado 𝑘).

Considere novamente o problema do jardineiro com fertilizante, cuja cadeia de


Markov é:

Deseja-se obter o tempo médio de primeira passagem do estado 1 (bom) para o


estado 3 (ruim).

Para isso, deve-se calcular:

𝜇13 = 1 + ∑ 𝑝1𝑘 𝜇𝑘3 = 1 + 𝑝11 𝜇13 + 𝑝12 𝜇23 = 1 + 0,3𝜇13 + 0,6𝜇23


𝑘≠3

𝜇23 = 1 + ∑ 𝑝2𝑘 𝜇𝑘3 = 1 + 𝑝21 𝜇13 + 𝑝22 𝜇23 = 1 + 0,1𝜇13 + 0,6𝜇23


𝑘≠3

Logo:
𝜇13 = 1 + 0,3𝜇13 + 0,6𝜇23
𝜇23 = 1 + 0,1𝜇13 + 0,6𝜇23

203
Passando as variáveis para o lado esquerdo:
0,7𝜇13 − 0,6𝜇23 = 1
−0,1𝜇13 + 0,4𝜇23 = 1

A solução desse sistema linear resulta em 𝜇13 = 4,545 e 𝜇23 = 3,636. Essa solução
mostra que o tempo médio de primeira passagem do estado 1 para o estado 3 é igual a
4,545 estações. Para esse problema, isso significa que se um solo estiver em condição
boa ele levará em média 4,5 estações para alcançar a condição ruim. Além disso, se o
solo já estiver em condição razoável (estado 2) ele levará 3,6 estações para alcançar a
condição ruim.

Considere o exemplo a seguir:

A cadeia de Markov a seguir apresenta as probabilidades de transição para um


problema de estoque. Os estados dessa cadeia são as quantidades de certo item em
estoque no final de cada semana 𝑛.

Pede-se para calcular quanto tempo (quantas semanas) em média um estoque


com 3 unidades levaria para chegar a 0 unidades.

Em outras palavras, o problema deseja calcular o valor de 𝜇30 (ou seja, o tempo
de primeira passagem do estado 3 para o estado 0).

Para isso, deve-se calcular:

𝜇30 = 1 + ∑ 𝑝3𝑘 𝜇𝑘0 = 1 + 𝑝31 𝜇10 + 𝑝32 𝜇20 + 𝑝33 𝜇30 = 1 + 0,184𝜇10 + 0,368𝜇20 + 0,368𝜇30
𝑘≠0

𝜇20 = 1 + ∑ 𝑝2𝑘 𝜇𝑘0 = 1 + 𝑝21 𝜇10 + 𝑝22 𝜇20 + 𝑝23 𝜇30 = 1 + 0,368𝜇10 + 0,368𝜇20 + 0𝜇30
𝑘≠0

𝜇10 = 1 + ∑ 𝑝1𝑘 𝜇𝑘0 = 1 + 𝑝11 𝜇10 + 𝑝12 𝜇20 + 𝑝13 𝜇30 = 1 + 0,368𝜇10 + 0𝜇20 + 0𝜇30
𝑘≠0

Logo:
𝜇30 = 1 + 0,184𝜇10 + 0,368𝜇20 + 0,368𝜇30
𝜇20 = 1 + 0,368𝜇10 + 0,368𝜇20
𝜇10 = 1 + 0,368𝜇10
204
Passando as variáveis para o lado esquerdo:
−0,184𝜇10 − 0,368𝜇20 + 0,632𝜇30 = 1
−0,368𝜇10 + 0,632𝜇20 = 1
0,632𝜇10 = 1
A solução desse sistema linear é direta: observe que é possível encontrar o valor
de 𝜇10 = 1,582 a partir da equação 3; em seguida substituindo esse resultado na equação
2 encontra-se o valor 𝜇20 = 2,504; por fim substituindo ambos os resultados na equação
1, chega-se no valor 𝜇30 = 3,501.

Assim, é esperado que o estoque esteja esgotado em 3,501 semanas, caso haja 3
unidades em estoque; em 2,504 semanas, caso haja 2 unidades em estoque e em 1,582
semana, caso haja 1 unidade em estoque.

Um método alternativo para obter o tempo médio de primeira passagem foi


desenvolvido a partir da solução de sistemas lineares por meio do método da matriz
inversa. Considere 𝑚 o número de estados de uma cadeia de Markov. Com isso, 𝜇𝑖𝑗 pode
ser obtido matricialmente a partir da seguinte expressão:
−1
𝝁𝒊𝒋 = (𝐈 − 𝐍𝒋 ) ∙𝟏

Em que:

𝐈 = matriz identidade com 𝑚 − 1 linhas e colunas.


𝐍𝒋 = matriz de transição (cadeia de Markov) sem a sua j-ésima linha e sua j-ésima
coluna.

𝟏 = vetor coluna com 𝑚 − 1 linhas e todos os valores iguais a 1.

Voltando ao problema do jardineiro com fertilizante, cuja cadeia de Markov é:

Deseja-se obter o tempo médio de primeira passagem do estado 1 (bom) para o


estado 3 (ruim).

205
Tem-se 𝑚 − 1 = 3 – 1 = 2. Assim:
1 0
𝐈=( )
0 1
0,3 0,6
𝐍𝒋 = ( )
0,1 0,6
1
𝟏=( )
1
Note que 𝐍𝒋 possui os elementos de 𝐏, menos a linha 3 e a coluna 3 (pois 𝑗 = 3).

Com isso:
1 0 0,3 0,6 0,7 −0,6
𝐈 − 𝐍𝒋 = ( )−( )=( )
0 1 0,1 0,6 −0,1 0,4
A matriz inversa é:
−1 0,7 −0,6 −1 1,818 2,727
(𝐈 − 𝐍𝒋 ) =( ) =( )
−0,1 0,4 0,4545 3,182
Dessa forma:
−1
𝝁𝒊𝒋 = (𝐈 − 𝐍𝒋 ) ∙𝟏
𝜇13 1,818 2,727 1 4,545
(𝜇 ) = ( )∙( )= ( )
23 0,4545 3,182 1 3,636
Ou seja, a solução é 𝜇13 = 4,545 e 𝜇23 = 3,636 que é a mesma encontrada
anteriormente.

Voltando ao exemplo dos estoques:

Tem-se 𝑚 − 1 = 4 – 1 = 3. Assim:
1 0 0
𝐈 = (0 1 0)
0 0 1
0,368 0 0
𝐍𝒋 = (0,368 0,368 0 )
0,184 0,368 0,368
1
𝟏 = (1)
1
206
Note que 𝐍𝒋 possui os elementos de 𝐏, menos a linha 0 e a coluna 0 (pois 𝑗 = 0).

Com isso:
1 0 0 0,368 0 0 0,632 0 0
𝐈 − 𝐍𝒋 = (0 1 0) − (0,368 0,368 0 ) = (−0,368 0,632 0 )
0 0 1 0,184 0,368 0,368 −0,184 −0,368 0,632
A matriz inversa é:
−1
0,632 0 0 1,582 0 0
−1
(𝐈 − 𝐍𝒋 ) = (−0,368 0,632 0 ) = (0,9213 1,582 0 )
−0,184 −0,368 0,632 0,9971 0,9213 1,582
Dessa forma:
−1
𝝁𝒊𝒋 = (𝐈 − 𝐍𝒋 ) ∙𝟏
𝜇10 1,582 0 0 1 1,582
𝜇
( 20 ) = (0,9213 1,582 0 ) ∙ (1) = (2,504)
𝜇30 0,9971 0,9213 1,582 1 3,501
Ou seja, a solução é 𝜇10 = 1,582, 𝜇20 = 2,504 e 𝜇30 = 3,501 que é a mesma
encontrada anteriormente.

Análise de estados absorventes

Uma cadeia de Markov pode ter um ou mais de um estado absorvente. Por


exemplo, um profissional pode continuar empregado na mesma empresa até aposentar
ou pode sair alguns anos antes (isto é, dois estados absorventes). Nesses tipos de cadeias,
estamos interessados em determinar a probabilidade de chegar à absorção (ao estado
absorvente) e o número esperado de transições para se chegar até a absorção, partindo
de algum estado transiente específico (tempo de absorção).

Considere o exemplo anterior para o problema do jardineiro, mas sem fertilizante:


0,2 0,5 0,3
𝐏 = ( 0 0,5 0,5)
0 0 1
Observe que os estados 1 (condição do solo boa) e 2 (condição do solo razoável) são
transientes, enquanto o estado 3 (condição do solo ruim) é absorvente (pois, uma vez
nesse estado, o sistema ali permanecerá indefinidamente).

Para esse tipo de problema, se a condição atual do solo for boa ou razoável,
estamos interessados em determinar o número médio de transições (estações de plantio)
até que o solo se torne ruim, e também a probabilidade associada a essa transição.
207
A análise de cadeias de Markov com estados absorventes pode ser realizada por
meio de matrizes. Em primeiro lugar, a cadeia de Markov deve ser repartida da seguinte
forma:

Esse tipo de arranjo requer que todos os estados absorventes ocupem o canto
sudeste (canto inferior esquerdo) em uma nova matriz.

Considere a seguinte matriz de transição:

Visto que o estado 2 é absorvente, ele deve ser deslocado para a linha de baixo. A
nova matriz 𝐏 rearranjada (𝐏 ∗ ) é mostrada a seguir:

Note que a linha (e a coluna) 2 foram trocadas com a linha (e a coluna) 3. Assim,
os estados absorventes foram colocados no canto sudeste.

Nesse caso, tendo como base a forma:

Chega-se em:

208
Com isso, é possível calcular o tempo esperado para a absorção e a probabilidade
de absorção:
Tempo esperado para absorção = (𝐈 − 𝐍)−1 ∙ 𝟏
Probabilidade de absorção = (𝐈 − 𝐍)−1 ∙ 𝐀

Observe que a primeira equação é a mesma dada na seção anterior para o tempo
de primeira passagem (em que 𝑗 é o estado absorvente). Entretanto, essa equação
também é capaz de determinar o tempo esperado para a absorção para mais de um
estado absorvente (seria o equivalente a considerar o tempo de primeira passagem até
algum dos estados absorventes).

Considerando o exemplo do jardineiro sem fertilizante:


0,2 0,5 0,3
𝐏 = ( 0 0,5 0,5)
0 0 1
Tem-se diretamente que:
0,2 0,5
𝐍=( )
0 0,5
0,3
𝐀=( )
0,5
1 0
𝐈=( )
0 1
Com isso, tem-se:
1 0 0,2 0,5 0,8 −0,5
𝐈−𝐍 =( )−( )=( )
0 1 0 0,5 0 0,5
E a matriz inversa é:

0,8 −0,5 −1 1,25 1,25


(𝐈 − 𝐍)−1 = ( ) =( )
0 0,5 0 2
Assim, o tempo esperado para a absorção pelo estado 3 é dado por:

(𝐈 − 𝐍)−1 ∙ 𝟏 = (1,25 1,25) ∙ (1) = (2,5)


0 2 1 2
Esse resultado demonstra que o tempo esperado para que o sistema seja absorvido
pelo estado 3, partindo do estado 1 é de 2,5 estações e de 2 estações partindo do estado
2.

Note que esses cálculos foram os mesmo realizados na seção anterior para o tempo
de primeira passagem. Logo, pode-se concluir que, quando existe apenas um estado
absorvente, o tempo para a absorção é igual ao tempo de primeira passagem até o estado
absorvente.
209
Já a probabilidade de absorção pelo estado 3 é dada por:
0,3
(𝐈 − 𝐍)−1 ∙ 𝐀 = (1,25 1,25 1
)∙( ) =( )
0 2 0,5 1
Naturalmente, como só existe um estado absorvente, a probabilidade de o sistema
ser absorvido pelo estado 3, partindo do estado 1 é 1, e partindo do estado 2 também é
1.

Considere agora um exemplo que possui mais de um estado absorvente:

Um produto é processado em duas máquinas sequenciais (I e II). A inspeção ocorre


após uma unidade de produto ser concluída em uma máquina. Existe 5% de chance de
a unidade ser descartada antes da inspeção. Após a inspeção, há 3% de chance de a
unidade ser descartada e 7% de chance de ser devolvida à mesma máquina para
retificação. Caso contrário, uma unidade que passa pela inspeção nas duas máquinas é
boa. Nesse caso:
a) Determine as probabilidades de absorção associadas a cada estado.

b) Se um lote de 1000 unidades for iniciado na máquina I, quantas unidades boas


serão produzidas?

Solução:

O processo de produção possui 6 estados: início na máquina I ( s1), inspeção após


a máquina I (i1), início na máquina II (s2), inspeção após a máquina II (i2), descarte
após as inspeções I ou II (J), e peça boa após a inspeção II (G).

Além disso, as unidades que entram no estado J (descartadas) ou no estado G


(peças boas) chegam ao fim do processo. Portanto os estados J e G são absorventes (são
estados terminais do processo).

Considerando todas as informações disponíveis, chega-se a seguinte cadeia de


Markov para esse problema:

210
Assim, tem-se que:

Subtraindo 𝐍 da matriz identidade 𝐈, 4 por 4, e fazendo a operação inversa, chega-


se em:

Com isso, a probabilidade de absorção é dada por:

Nesse resultado, cada linha representa os estados iniciais s1 (partindo da


máquina I), i1 (partindo da inspeção após a máquina I), s2 (partindo da máquina II), i2
(partindo da inspeção após a máquina II). A coluna 1 está relacionado ao estado
absorvente J (peça descartada) e a coluna 2 ao estado absorvente G (peça boa).
Os resultados para as probabilidades de absorção associadas a cada estado são:
uma peça que está na máquina I tem uma probabilidade de 0,16 de ser descartada e de
0,84 de ser boa; uma peça que está na inspeção após a máquina I tem uma probabilidade
de 0,12 de ser descartada e de 0,88 de ser boa; uma peça que está na máquina II tem
uma probabilidade de 0,08 de ser descartada e de 0,92 de ser boa; e uma peça que está
na inspeção após a máquina II tem uma probabilidade de 0,04 de ser descartada e de
0,96 de ser boa.
Se um lote de 1000 unidades for iniciado na máquina I, então serão produzidas
1000 ∙ 0,84 = 840 peças boas.
Além disso, pode-se obter o tempo médio para a absorção:

Esse resultado mostra que o tempo médio para o sistema ser absorvido (alcançar
o estado J ou G) é de 4 transições partindo do estado s1 (partindo da máquina I), de 3,15
transições partindo de i1 (partindo da inspeção após a máquina I), de 2,09 transições
partindo de s2 (partindo da máquina II), e de 1,14 transições partindo de i2 (partindo
da inspeção após a máquina II), considerando que o tempo em cada estação é o mesmo.

211
Cada um dos termos da matriz (𝐈 − 𝐍)−1 também possui informações importantes.
Por exemplo, a primeira linha dessa matriz (linha do estado s1) fornece o número médio
de passagens em cada estação para uma peça que começa na máquina I. Assim, se uma
peça começa na máquina I então ela passará pela máquina I 1,07 vezes, pela inspeção I
1,02 vezes, pela máquina II 0,98 vezes e pela inspeção II 0,93 vezes. Se tivermos 100
peças, então 107 peças passaram pela máquina I, 102 pela inspeção I (7 voltaram para
a máquina I e 5 foram descartadas), 98 pela máquina II e 93 pela inspeção II.

Com isso, podemos determinar, por exemplo, o tempo que uma peça leva para ser
processada, começando da máquina 1, considerando que a duração da estadia em cada
estação seja diferente. Se os tempos de processamento da máquina I e inspeção I forem
de 20 e 30 minutos, e os tempos de processamento da máquina II e inspeção II forem de
5 e 7 minutos, então o tempo de processamento de uma peça, que inicia na máquina I,
será:
1,07 ∙ 20 + 1,02 ∙ 30 + 0,98 ∙ 5 + 0,93 ∙ 7 = 62,41 minutos

Para obter esse resultado partindo de qualquer um dos estados, basta substituir
o vetor 𝟏, pelo vetor coluna contendo esses tempos:
20
30
(5)
7
E calcular o tempo para a absorção.

É possível desenvolver um método alternativo para encontrar as probabilidades


de absorção por diferentes estados, e partindo de diferentes estados, que considere as
probabilidades de transição 𝑓𝑖𝑗 . Para um sistema com 𝑚 estados, temos:
𝑚

𝑓𝑖𝑗 = ∑ 𝑝𝑖𝑘 𝑓𝑘𝑗


𝑘=1

Voltando ao exemplo anterior:

Considere que os estados estejam numerados de 1 a 6 (representando as linhas e


colunas). Nesse caso, tem-se que os estados 5 e 6 são absorventes.
212
Assim:
𝑓55 = 1
𝑓66 = 1

Nosso interesse é calcular a probabilidade de ao partir de um estado 𝑖 chegarmos


a um dos estados absorventes (5 ou 6). Considerando o estado 5 (𝑗 = 5) e partindo dos
outros estados, temos:
6

𝑓15 = ∑ 𝑝1𝑘 𝑓𝑘5 = 𝑝12 𝑓25 + 𝑝15 𝑓55 = 0,95𝑓25 + 0,05 ∙ 1 = 0,95𝑓25 + 0,05
𝑘=1
6

𝑓25 = ∑ 𝑝2𝑘 𝑓𝑘5 = 𝑝21 𝑓15 + 𝑝23 𝑓35 + 𝑝25 𝑓55 = 0,07𝑓15 + 0,9𝑓35 + 0,03
𝑘=1
6

𝑓35 = ∑ 𝑝3𝑘 𝑓𝑘5 = 𝑝34 𝑓45 + 𝑝35 𝑓55 = 0,95𝑓45 + 0,05


𝑘=1
6

𝑓45 = ∑ 𝑝4𝑘 𝑓𝑘5 = 𝑝43 𝑓35 + 𝑝45 𝑓55 + 𝑝46 𝑓65 = 0,07𝑓35 + 0,03 + 0
𝑘=1

𝑓65 = 0 (pois o estado 6 é absorvente)

Assim, temos:
𝑓15 = 0,95𝑓25 + 0,05
𝑓25 = 0,07𝑓15 + 0,9𝑓35 + 0,03
𝑓35 = 0,95𝑓45 + 0,05
𝑓45 = 0,07𝑓35 + 0,03 + 0

Reorganizando:
𝑓15 − 0,95𝑓25 = 0,05
−0,07𝑓15 + 𝑓25 − 0,9𝑓35 = 0,03
𝑓35 − 0,95𝑓45 = 0,05
−0,07𝑓35 + 𝑓45 = 0,03

A solução desse sistema linear é: 𝑓15 = 0,16; 𝑓25 = 0,12; 𝑓35 = 0,08; e 𝑓45 = 0,04, que
é a coluna 1 da tabela contendo a probabilidade de absorção resolvida anteriormente.

213
De forma análoga, para o estado 6 (𝑗 = 6) e partindo dos outros estados, temos:
6

𝑓16 = ∑ 𝑝1𝑘 𝑓𝑘6 = 𝑝12 𝑓26 + 𝑝15 𝑓56 = 0,95𝑓26 + 0


𝑘=1
6

𝑓26 = ∑ 𝑝2𝑘 𝑓𝑘6 = 𝑝21 𝑓16 + 𝑝23 𝑓36 + 𝑝25 𝑓56 = 0,07𝑓16 + 0,9𝑓36 + 0
𝑘=1
6

𝑓36 = ∑ 𝑝3𝑘 𝑓𝑘6 = 𝑝34 𝑓46 + 𝑝35 𝑓56 = 0,95𝑓46 + 0


𝑘=1
6

𝑓46 = ∑ 𝑝4𝑘 𝑓𝑘6 = 𝑝43 𝑓36 + 𝑝45 𝑓56 + 𝑝46 𝑓66 = 0,07𝑓35 + 0 + 0,9
𝑘=1

𝑓56 = 0 (pois o estado 5 é absorvente)

Assim, temos:
𝑓16 = 0,95𝑓26
𝑓26 = 0,07𝑓16 + 0,9𝑓36
𝑓36 = 0,95𝑓46
𝑓46 = 0,07𝑓35 + 0,9

Reorganizando:
𝑓16 − 0,95𝑓26 = 0
−0,07𝑓16 + 𝑓26 − 0,9𝑓36 = 0
𝑓36 − 0,95𝑓46 = 0
−0,07𝑓35 + 𝑓46 = 0,9

A solução desse sistema linear é: 𝑓16 = 0,84; 𝑓26 = 0,88; 𝑓36 = 0,92; e 𝑓46 = 0,96, que
é a coluna 2 da tabela contendo a probabilidade de absorção resolvida anteriormente.
Note que esse resultado poderia ter sido obtido de forma muito mais simples, fazendo
apenas 1 menos o resultado para o estado 5 (1 – 0,16 = 0,84; 1 – 0,12 = 0,88; 1 – 0,08 =
0,92 e 1 – 0,04 = 0,96).

É importante observar que o método baseado em sistemas lineares é melhor para


solucionar problemas de forma manual, enquanto o método matricial é mais útil para a
criação de algoritmos computacionais.

214
EXERCÍCIOS DE FIXAÇÃO – CAPÍTULO 4
(1) CESGRANRIO - 2011 - Transpetro - Engenheiro de Produção Júnior [Adaptada]

É marcante o crescimento do uso, por departamentos de planejamento de pessoal, de


técnicas que projetem, matematicamente, tendências passadas e presentes em previsões
futuras, referentes ao fluxo de pessoal em uma empresa ou em um de seus setores. Nesse
sentido, uma das ferramentas mais utilizadas é a matriz de probabilidade de transição,
capaz de examinar o padrão geral de movimento dentro e fora da empresa e o padrão
intermediário desses dois ambientes.

Observe a matriz de probabilidade de transição abaixo, que descreve a proporção de


empregados que estava no estado de origem, no Período 1, e, no estado de destino, no
Período 2.

Considerando-se a matriz acima, é correto afirmar que:

A. 15% dos empregados que estavam no estado B no período 1, permaneceram nesse


estado no período 2.

B. O estado F é o que tem a maior evasão de empregados do cargo.

C. O estado C é o que tem a maior permanência de empregados no cargo.

D. O estado I é o que tem a maior saída de empregados da empresa.

E. O estado A é o que tem a maior permanência de empregados na empresa.

215
(2) ENADE 2011 – Engenheiro de Produção
A qualidade dos serviços apresenta suas peculiaridades em relação à qualidade dos
bens. Clientes insatisfeitos com prestadores de serviços essenciais podem usufruir da
portabilidade (opção de troca imediata de empresa levando algumas especificidades do
serviço previamente contratado), quando houver outras opções de fornecedores. Quanto
às empresas de planos de saúde, existe uma regra que amplia a portabilidade para os
beneficiários, que poderão mudar de plano de saúde sem cumprimento de novos prazos
de carência.
Preocupado com inúmeras saídas de seus clientes, o gerente de uma das três empresas
de plano de saúde de uma cidade encomendou uma pesquisa de satisfação com os
clientes sobre a intenção de trocar o prestador de serviço.
Como resultado da pesquisa, obteve:
 Dos 1 000 clientes da empresa A, 50 não a trocariam, 450 mudariam para a
empresa B e 500 para a empresa C;
 Dos 1 000 clientes da empresa B, 400 não a trocariam, 100 mudariam para a
empresa A e 500 para a empresa C;
 Dos 1 000 clientes da empresa C, 500 não a trocariam, 100 mudariam para a
empresa A e 400 para a empresa B.
Considerando estável a população de clientes, e se nada for feito pelas empresas de
planos de saúde para reter seus clientes, a tendência é que a empresa A fique com média
aproximada de 286 clientes, a empresa B fique com média aproximada de 1 214 clientes
e a C com média aproximada de 1 500 clientes. Nessa situação, avalie as asserções a
seguir:
A situação apresentada é estocástica, regida por um processo Markoviano com estados
exaustivos e mutuamente exclusivos.
PORQUE
As probabilidades de transição entre os estados pode ser representada pela notação
matricial P e as condições finais a(n) (número de clientes em cada empresa) após n
transições (n > 0) podem ser obtidas pela equação

,
em que a(0) representa as condições iniciais (número de clientes em cada empresa) e

216
Acerca dessas asserções, assinale a opção correta.
A. As duas asserções são proposições verdadeiras, e a segunda é uma justificativa
correta da primeira.
B. As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa
correta da primeira.
C. A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.
D. A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
E. Tanto a primeira quanto a segunda asserções são proposições falsas.

(3) ENADE 2008 – Engenheiro de Produção [Adaptada]

Um engenheiro de produção está avaliando dois tipos de máquina — M1 e M2 — com


todas as unidades dos dois tipos em idêntico estado de bom funcionamento (estado 1) no
início de operação.

As máquinas tipo M1 e M2 podem entrar em funcionamento precário (estado 2), antes


de parar totalmente (estado 3). Além disso, o tempo médio entre falhas (TMEF ij) é de
100 horas, para i=1 e j=3 (estado 1 passando diretamente ao estado 3).

Nas máquinas M1 e M2, o TMEF é de 10 horas, para i=1 e j=2 (estado 1 ao estado 2) e
para i=2 e j=3 (estado 2 ao estado 3).

Quanto à manutenção, a máquina tipo M1 admite reparo do estado 3 para o estado 1,


sem perda de qualidade, com tempo médio para reparo (TMPR31) igual a 10 horas, não
existindo a possibilidade de reparo do estado 2 para o estado 1. Quando no estado 3, a
máquina tipo M2 exige a instalação de nova unidade, com tempo médio para instalação
(TMPI31) igual a 20 horas.

A tabela a seguir sintetiza os dados dos dois tipos de máquina.

217
a) Considerando os intervalos entre falhas, bem como os tempos de reparo (máquina M1)
como independentes e identicamente distribuídos exponencialmente, complete as
posições não preenchidas da matriz de probabilidades de transição, a seguir, para a
máquina tipo M1, com pij representando a probabilidade de transição do estado i (atual)
para o estado j (seguinte).

b) Considerando os intervalos entre falhas, bem como os tempos de reparo (máquina M 2)


como independentes e identicamente distribuídos exponencialmente, complete as
posições não preenchidas da matriz de probabilidades de transição, a seguir, para a
máquina tipo M2, com pij representando a probabilidade de transição do estado i (atual)
para o estado j (seguinte).

218
(4) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior

Em 2013, uma determinada região apresentou a seguinte divisão modal para o ano Y:
80% para o modo rodoviário, 10% para o modo ferroviário e 10% para o modo hidroviário.
Do ano Y para o ano Y+1, deve-se considerar a matriz de probabilidade de transição
mostrada no Quadro a seguir.

A divisão modal para os modos rodoviário, ferroviário e hidroviário, respectivamente,


para o ano Y+1, é

A. 59%, 25% e 16 %

B. 58%, 17% e 25%

C. 58%, 25% e 17%

D. 57%, 18% e 25%

E. 56%, 18% e 26%

219
(5) Questão de Prova Antiga

Considere a seguinte cadeia de Markov:

Sobre essa cadeia de Markov é INCORRETO afirmar que:

A. Os estados 1 e 2 formam um conjunto fechado.

B. Ela não é ergódica.

C. O estado 3 é absorvente.

D. Ela possui 3 conjuntos fechados.

E. Os estados 4 e 5 são transientes.

220
(6) IADES - 2017 - Fundação Hemocentro de Brasília-DF – Estatístico

O diagrama apresentado modela o que ocorre com as cobaias durante as fases de teste
de um tratamento experimental ao longo de n meses. Nesse tratamento, existem duas
fases (estados 1 e 2, respectivamente) em que a cobaia pode ter de repetir a fase, sendo
que a conclusão (estado 3) ocorre somente após a fase 2; também pode haver morte da
cobaia (estado 0) a qualquer tempo do teste.
Quanto à classificação dos estados, assinale a alternativa correta.

A. As fases 1 e 2 são estados absorventes.

B. A fase 1 é recorrente, mas a fase 2 não.

C. A fase 2 é recorrente, mas a fase 1 não.

D. A fase 1 e a conclusão são estados comunicantes.

E. Morte e conclusão são estados absorventes.

221
(7) FCC - 2015 - TRT - 3ª Região (MG) – Estatístico [Adaptada]

Em um processo de Markov em dois estágios (zero e um) sejam: P(Xn+1 = 0 / Xn = 1) = 0,4


e P(Xn+1 = 1 / Xn = 0) = 0,3. Nessas condições, P(X2 = 1 / X1 = 1 e X0 = 0) é igual a

A. 0,3

B 0,45

C. 0,6

D. 0,78

E. 0,95

(8) CESGRANRIO - 2018 - Petrobras - Estatístico Júnior

Um vendedor de uma determinada empresa pode visitar duas cidades A e B para vender
o seu produto. Para ir a essas cidades, ele segue algumas regras: caso ele esteja na cidade
A, ele escolhe ir, no dia seguinte, para a cidade B com probabilidade 0,7; se ele estiver
na cidade B, ele vai para cidade A com probabilidade 0,6.

A matriz de transição da cadeia de Markov é dada por:

Sabendo-se que a probabilidade de ele estar hoje nas cidades A e B são iguais, então a
probabilidade de ele estar na cidade B amanhã é

A. 0,35

B. 0,4

C. 0,55

D. 0,7

E. 0,75

222
(9) IADES - 2018 - SES-DF – Estatístico

Seja {Xn, n = 0, 1, 2,...} uma cadeia de Markov com espaço de estados S = {0,1} e matriz
de probabilidade de transição:

Seja π = (π(0), π(1))T a distribuição estacionária da cadeia de Markov, é correto afirmar


que:

A. π(0) = 1/3; π(1) = 2/3.

B. π(0) = 1/2; π(1) = 1/2.

C. π(0) = 2/9; π(1) = 7/9.

D. π(0) = 1/6; π(1) = 5/6.

E. π(0) = 2/15; π(1) = 13/15.

(10) IBFC - 2020 - EBSERH - Analista Administrativo

Uma cadeia de Markov (Xn), n>0 com estados S = {0, 1, 2} tem a seguinte matriz de
transição:

Calcule a P(X3 = 1|X1 = 0) e assinale a alternativa correta.

A. 0,15

B. 0,18

C. 0,27

D. 0,31

E. 0,42

223
(11) IDECAN - 2014 - DETRAN-RO - Estatístico

A possibilidade de um time de basquete ganhar um jogo depende somente do fato de ter


ganhado ou não o jogo da semana anterior, de forma que a sequência de vitórias e
derrotas pode ser vista como uma cadeia de Markov ergódica de dois estados (0 quando
o time ganha e 1 quando o time perde), com matriz de transição de probabilidades:

Qual é a probabilidade limite do time ganhar no n-ésimo jogo?

A. 0,09.

B. 0,16.

C. 0,24.
D. 0,30.

E. 0,43.

(12) Questão de Prova Antiga

A quantidade de itens em estoque consiste em uma cadeia de Markov de 3 estados: 100


itens em estoque (estado 1), 200 itens em estoque (estado 2) e 300 itens em estoque
(estado 3). A quantidade de itens pode variar dependendo da demanda diária (que reduz
a quantidade de itens em estoque) e a produção (que aumenta a quantidade de itens em
estoque). A matriz de transição de estados dessa cadeia de Markov é mostrada a seguir:

Sabe-se que o custo por item em estoque depende do número de itens no estoque: se o
estoque possuir 100 itens, então o custo por item será de R$ 1,00, se o estoque possuir
200 itens, então o custo por item será de R$ 3,00 e se o estoque possuir 300 itens, então
o custo por item será de R$ 10,00. Nesse caso, determine:

a) O custo diário esperado com estoque.

b) O número médio de dias para o estoque retornar a 100 itens (µ11), retornar a 200
itens (µ22) e retornar a 300 itens (µ33).
224
GABARITO

(1) E (2) A (3) a) Preenchendo então a Matriz I, chega-se em:

b) Preenchendo então a Matriz II, chega-se em:

(4) B (5) D (6) E (7) C (8) C (9) D (10) C (11) E (12) a) R$ 1.016,01

b) Tempo médio de primeiro retorno para cada estado:

1 1
11   3,926 22  1  1,927 33   4,417
0,2547 0,5189 0,2264

225
CAPÍTULO 5 – TEORIA DAS FILAS

1-Estrutura Básica de um Sistema de Filas


2-Modelos de Nascimento e Morte Puros
3-Modelos Generalizados de Filas

Prof. Dr. Alexander Cascardo Carneiro

Comentários do professor
Caros alunos, esse capítulo tem por finalidade desenvolver as principais questões
associadas a Teoria das Filas. Nesse sentido, será apresentada a importância de se
estudar filas e seus principais elementos, seguido da dedução das distribuições
exponenciais e de Poisson e sua relação com os modelos de filas de nascimento e morte
puros, além de a descrição sobre as diferentes classificações das filas. Será demonstrado
ainda um modelo generalizado sobre filas e as principais medidas de desempenho, como
número médio de clientes no sistema e na fila, tempo médio de clientes no sistema e na
fila e a taxa de ocupação da instalação. Em seguida, serão deduzidas as equações para
as medidas de desempenho em modelos com um único e com múltiplos servidores, e
também modelos de decisão baseados em custo. Por fim, serão mostrados modelos
computacionais para o estudo das filas.

226
AULA 1 – ESTRUTURA BÁSICA
DE UM SISTEMA DE FILAS

Importância de se estudar filas

O objetivo da análise de filas é garantir um atendimento satisfatório para o cliente


em serviços que envolvem a sua espera (no qual os “clientes” ficam em “filas de espera”,
aguardando para serem “atendidos”). Nesse aspecto, a Teoria das Filas determina as
medidas de desempenho das filas de espera, como o tempo médio de espera do cliente
na fila e a taxa de utilização da instalação de serviço (essas medidas de desempenho são
utilizadas para projetar a instalação do serviço, isto é, dimensionar os seus recursos
para se atingir o nível de serviço desejado).
A espera faz parte das atividades do nosso dia-a-dia. Formamos filas em
supermercados, bancos, lojas... Entretanto, a "espera" não é limitada a nós humanos: os
carros aguardam em semáforos, os aviões aguardam a autorização para a aterrissagem
em aeroportos, os equipamentos defeituosos aguardam o seu conserto na fila de
manutenção, os produtos aguardam em filas de inspeção... Logo, esses “elementos” do
sistema de filas podem ser clientes, produtos, materiais, equipamentos, informações etc.
Já os “atendentes” do sistema são aqueles que irão agir sobre esse “cliente” no
sentido de prestar um serviço. Os clientes, por sua vez, aguardarão em filas até que seja
a sua vez de ser atendido (uma vez que o cliente termina o seu atendimento, o atendente
passa a estar disponível para que o próximo cliente faça uso do serviço).
Dessa forma, o estudo das filas fornece um conjunto de modelos que permitem
quantificar o fenômeno da espera em filas, através de medidas de desempenho (como o
tempo médio de espera na fila e o tempo médio de utilização de uma instalação). Alguns
exemplos típicos de aplicação da Teoria das Filas são relativos ao dimensionamento: de
postos de pedágio, do número de berços de atracação em portos, do número de guichês
num banco, do número de linhas de uma Central Telefônica, do número de
operários/equipamentos em uma linha de produção, do tamanho da equipe de
manutenção, entre outros.
227
Considere o seguinte exemplo:

Um fast-food possui três caixas. O gerente, ao constatar a lentidão no


atendimento, contratou um estudo para entender qual era o motivo. O estudo mostrou
a relação entre o número de caixas e o tempo médio de espera pelo atendimento,
mostrado na tabela a seguir.

Na presente situação, o fast-food possui 3 caixas e o tempo médio de espera do


cliente é de aproximadamente 7 minutos. A tabela mostra a necessidade de 5 caixas caso
desejássemos reduzir o tempo médio de espera para 3 minutos.

O resultado da análise de filas poderia ser utilizado ainda para a construção de


um modelo de otimização do custo. O custo total é igual a soma do custo operacional da
instalação (nesse exemplo, os caixas) com o custo de espera (do cliente na fila). Observe
a figura a seguir:

Pode-se notar na figura que para elevar o nível do serviço (diminuir o tempo de
espera dos clientes na fila) é preciso aumentar o custo do serviço (custo operacional da
instalação de serviço, ou seja, aumentar o número de caixas) ao passo que diminuímos
o custo de clientes à espera. Por outro lado, ao diminuir o número de caixas, reduz-se o
nível do serviço (e o custo do serviço) e aumenta-se o custo de espera pelo cliente. A
figura mostra também a soma desses dois gráficos (custo total), definindo um ponto
ótimo (ponto que minimiza o custo total), o qual determina o nível de serviço que
minimiza o custo total (nível ótimo de serviço).

Esse exemplo pode ser estendido, substituindo-se os clientes de uma fila por
caminhões em uma fila para o descarregamento ou navios em um porto (nesses casos, o
custo de espera se tornaria ainda mais crítico, pois a espera significa que o caminhão ou
o navio estão deixando de transportar!).
228
Elementos de um modelo de filas

Um modelo de filas está representado na figura a seguir:

Os principais elementos em um modelo de filas são o cliente (ou usuário) e o


servidor (ou atendente). Os clientes são gerados por uma fonte. Ao chegarem a uma
instalação de serviço, os clientes podem iniciar o serviço (se a estação de serviço estiver
disponível) ou esperarem em uma fila (se a estação de serviço estiver ocupada). A
estação, ao concluir o serviço, chama imediatamente o próximo cliente que está na fila
(se houver algum cliente). Caso não tenham clientes na fila, a estação (o servidor,
atendente) ficará ocioso até a chegada de um novo cliente.

Na análise de filas, a chegada de clientes é representada pelo intervalo de tempo


entre chegadas de clientes (de quanto em quanto tempo chegam clientes), e o serviço é
descrito pelo tempo de serviço (ou tempo de atendimento) por cliente (quanto tempo o
cliente leva para ser atendido). É importante observar que os intervalos de tempo entre
chegadas e os tempos de serviço podem ser determinísticos (fixos) ou probabilísticos
(aleatório, como em um banco).
Sobre as chegadas de clientes em intervalos aleatórios, existe um caso
particularmente importante, no qual o número de chegadas segue uma distribuição de
Poisson com média 𝜆𝑇, em que 𝜆 é a taxa de chegada de clientes e 𝑇 é o intervalo de
tempo considerado (por exemplo, se a taxa média de chegadas é igual a 4 clientes por
hora e o intervalo de tempo for de 3 horas, então a média, ou o valor esperado, de
chegadas de clientes nesse intervalo será de 4x3 = 12 clientes); e o intervalo de tempo
entre chegadas segue uma distribuição exponencial com tempo médio entre chegadas
dado por 1/𝜆 (se chegam 4 clientes por hora, então o intervalo de tempo entre chegadas
é dado por 1/4 = 0,25 horas = 0,25x60 = 15 minutos).

229
Outro aspecto da análise de filas é o tamanho da fila. Nos modelos de filas o
tamanho da fila pode ser finito (possui um valor limite) ou infinito (o tamanho da fila
pode ser "ilimitado").

Existe ainda a disciplina da fila, que define a ordem em que os clientes serão
selecionados na fila. A disciplina de filas mais comum é o FCFS (First Come First Served
– Primeiro a Chegar, Primeiro a Ser Servido), no qual o primeiro cliente a chegar será o
primeiro a ser atendido (os demais clientes que chegarem vão sendo posicionados atrás
dos clientes que já estão na fila).

Entretanto existem outras disciplinas, como o LCFS (Last Come First Served –
Último a Chegar, Primeiro a Ser Servido), muito utilizada pelos sistemas operacionais
como os dos smartphones (o último aplicativo requisitado pelo usuário deve ser o mais
importante, por isso ele passará a frente dos outros aplicativos na fila de processos), e
também o SIRO (Service in Random Order – Serviço em Ordem Aleatória), em que os
clientes da fila são selecionados aleatoriamente.
Sobre a disciplina da fila pode existir também alguma ordem de prioridade na
seleção de clientes na fila. Por exemplo, os idosos são atendidos prioritariamente nos
bancos ou então equipamentos essenciais de uma linha de produção devem ser
consertados prioritariamente em uma fila para manutenção (os clientes com prioridade
"passam na frente" dos clientes sem prioridade em uma fila). A prioridade pode ainda
ser dividida em níveis de prioridade (por exemplo, nível 0, nível 1, nível 2..., de forma
que os clientes que possuírem o maior nível de prioridade passarão a frente dos clientes
de menores níveis, por exemplo).

É comum ainda incluir duas disciplinas, muito utilizadas no sequenciamento da


produção, que são a MTP (Menor Tempo de Processamento) e a MDE (Menor Data de
Entrega). A MTP prioriza as tarefas que tenham menor tempo de processamento, o que
geralmente reduz o tempo médio de espera das ordens de produção. Já a MDE prioriza
as tarefas com data de entrega mais próxima, o que normalmente reduz o atraso médio
na conclusão das ordens de produção.

Sobre o projeto de uma instalação, os servidores podem estar em paralelo, quando


um conjunto de servidores está atendendo simultaneamente (como os caixas do banco).
Em alguns sistemas, os servidores podem ser organizados em série, quando um conjunto
de servidores está atendendo consecutivamente (isto é, o cliente que sai do primeiro
servidor vai para a fila do segundo, o que foi atendido pelo segundo vai para a fila do
terceiro e assim por diante, como em uma linha de produção com máquinas sucessivas).

230
De forma geral, os servidores também podem ser organizados em rede (é o caso
de uma rede de computadores na qual os roteadores recebem e encaminham pacotes de
diversos caminhos para diversos caminhos; sendo que todos os pacotes que chegam em
um roteador ficam em uma mesma fila, chamada de buffer ou memória – quando a fila
ou buffer do roteador está “cheia”, todos os pacotes (“clientes”) que chegam são perdidos;
nesse caso percebemos que a internet está "lenta", pois os pacotes não estão chegando
aos destinos, pois não estão sendo atendidos pelos roteadores). Essa explicação para o
funcionamento de uma rede de transporte de dados também pode ser aplicada a uma
rede de transporte de veículos, na qual podemos prever o seu congestionamento.

A fonte de onde chegam os clientes (de onde eles são gerados) pode ser classificada
como fonte finita (limita a chegada de clientes para serviço, ou seja, existe um número
finito de clientes que podem chegar na fila, por exemplo o número de equipamentos que
precisam de manutenção) ou fonte infinita (o número de clientes que podem chegar na
fila é ilimitado; por exemplo, telefonemas que podem chegar a uma central telefônica –
como o número de telefonemas é muito grande e desconhecido, podemos considerá-lo
como infinito).
Essa diferença entre a fonte ser infinita ou ser finita é bastante útil, pois “quando
a fonte é infinita, a média do tempo entre chegadas de clientes tende a ser constante”
(por exemplo, se chegam clientes, em média, de 5 em 5 minutos, mesmo se já tiverem
chegado muitos clientes, como a fonte infinita, o tempo entre chegadas continuará a
ocorrer em média de 5 em 5 minutos).
Por outro lado, caso a fonte seja finita (vamos supor que tenhamos 10 clientes,
por exemplo, 10 máquinas, que é o tamanho da nossa fonte finita), então a tendência é
que essa média de 5 em 5 minutos se torne cada vez maior à medida que os clientes
cheguem ao sistema.
Considere que essa chegada de 5 em 5 minutos ocorra quando temos 10 máquinas
que podem entrar na fila para inspeção. Se, por exemplo, já tiverem 8 máquinas na
inspeção (no sistema), então só existem 2 máquinas que podem chegar no sistema. Nesse
caso, o tempo entre chegadas tenderá a ser bem maior (antes tínhamos 10 máquinas
que poderiam chegar, agora temos só 2 máquinas que podem chegar, portanto a
probabilidade de chegar uma máquina ao sistema irá diminuir, com isso o tempo entre
chegadas tenderá a aumentar).
Para entender essa diferença, imagine que tenhamos 100.000 bolas azuis e
100.000 bolas vermelhas em um saco (ou seja, uma fonte “infinita”). Todas as bolas azuis
retiradas são colocadas em uma mesa (apenas as bolas vermelhas são postas novamente
no saco). Nesse caso, em média tiraremos bolas azuis a cada duas bolas retiradas do saco
(de 2 em 2), pois a probabilidade de tirarmos uma bola azul é de 0,5 (portanto o intervalo
será igual a 1/0,5 = 2). Como o número de bolas azuis no saco é muito grande (“infinito”)
essa taxa (de 2 em 2) não será alterada (considerando que retiraremos poucas bolas do
saco).
231
Agora, se o número de bolas azuis for igual a 10 e vermelhas também for igual a
10 (agora o saco, que é a nossa fonte de bolas azuis, é finita igual a 10), essa taxa (de 2
em 2 bolas) só irá ocorrer para a primeira bola azul retirada do saco (posta na mesa, que
representa o nosso sistema). Isso porque à medida que retirarmos as bolas azuis, o
número de bolas azuis no saco (na fonte) irá diminuir (e portanto a probabilidade de
retirarmos bolas azuis do saco também irá diminuir), fazendo com demore mais para
retirarmos bolas azuis (a média de retirada de bolas azuis tenderá a ser maior do que
de 2 em 2 bolas).

Portanto, geralmente quando consideramos uma fonte infinita, o tempo entre


chegadas de clientes ao sistema não se altera em função do número de clientes que já
estão no sistema, ao passo que em uma fonte finita, esse tempo entre chegadas tende a
aumentar à medida que o número de clientes no sistema aumenta. Para efeito de
simplificação dos cálculos, sempre que possível tentaremos considerar a fonte como
sendo infinita.

Sobre a estação de serviço, a sua principal característica é o tempo (ou duração)


do atendimento (ou serviço). O tempo de atendimento pode ser constante (como nos
sistemas industriais automatizados) ou ainda aleatório, com distribuição conhecida e
dependente do tamanho da fila (por exemplo, em um banco podem se colocar mais caixas
quando a fila de clientes fica longa, visando reduzir o tempo de atendimento, para
diminuir o tamanho da fila).

Nos modelos mais comuns supõe-se que os tempos de atendimento, dado que
existem pessoas sendo atendidas, são variáveis aleatórias independentes e
identicamente distribuídas. O caso particular mais importante considera que a duração
do atendimento (tempo de serviço) tem distribuição de probabilidades do tipo
exponencial negativa com média 1/𝜇 (por exemplo, se são atendidos 𝜇 = 5 clientes por
hora, então o tempo de atendimento é dado por 1/5 = 0,2 horas = 0,2x60 = 12 minutos).
Similarmente ao que ocorre para o processo de chegadas, o número de atendimento terá
uma distribuição de Poisson com média 𝜇𝑇 (por exemplo, em 3 horas serão atendidos em
média 5x3 = 15 clientes).

232
AULA 2 – MODELOS DE
NASIMENTO E MORTE PUROS

Distribuição exponencial

Normalmente, a chegada de clientes a uma fila ocorre de forma totalmente


aleatória. Essa aleatoriedade está associada ao seguinte fato: a ocorrência de um evento
não é influenciada pelo tempo transcorrido desde a ocorrência do último evento. Isso
significa que as chegadas de clientes são totalmente independentes (ou seja, o fato de
ter acabado de chegar um cliente não afeta a probabilidade de se chegar um próximo
cliente).

Logo, todas as probabilidades de chegada são independentes e, por conseguinte,


o tempo de chegada do próximo cliente não é influenciada pelo tempo transcorrido desde
a chegada do último cliente. Podemos descrever quantitativamente essa aleatoriedade
dos intervalos de tempo entre chegadas e dos tempos de serviços através de uma
distribuição exponencial, definida como:

𝑓 (𝑡) = 𝜆𝑒 −𝜆𝑡 , 𝑡>0

A partir dessa equação, pode-se concluir que a probabilidade de o tempo 𝑡 ser


menor do que um intervalo 𝑇 é dada por:
𝑇

𝑃[𝑡 ≤ 𝑇] = ∫ 𝜆𝑒 −𝜆𝑡 𝑑𝑡
0

Que resulta em (resolvendo essa integral):

𝑃 [𝑡 ≤ 𝑇] = 1 − 𝑒 −𝜆𝑇

Em que 𝜆 pode ser a taxa de chegadas de clientes ou a taxa de saída de clientes


(a taxa é igual a 1 dividido pelo tempo entre chegadas ou entre saídas de clientes).

233
Para entender o motivo de uma distribuição exponencial ser completamente
aleatória, considere o seguinte exemplo:

Sabe-se que agora são 8h20 da manhã e a última chegada de cliente ocorreu às
8h02. A probabilidade de chegada de cliente às 8h30 dependerá apenas do intervalo de
tempo entre 8h20 e 8h30 (isto é, 10 minutos), ou seja, ela é totalmente independente do
intervalo de tempo transcorrido desde a última chegada de cliente (o intervalo de 18
minutos desde a última chegada). Se passasse mais 5 minutos (ou seja, agora são 8h25),
a probabilidade de se chegar cliente às 8h30 irá mudar (pois agora iremos considerar
um intervalo de 5 minutos). Logo, a probabilidade de chegada (ou saída) de cliente
depende apenas do intervalo de tempo 𝑇 entre o instante atual e o instante que estamos
considerando (e da taxa 𝜆 de chegadas ou saídas de clientes), não dependendo do
instante em que ocorreu a última chegada (ou saída). Essa característica é conhecida
como ausência de memória ou falta de memória da distribuição exponencial (uma
distribuição exponencial não possui memória, pois os instantes em que ocorreram os
eventos anteriores não afetam a probabilidade de ocorrência do evento seguinte).

É possível medir ainda a probabilidade de o tempo de ocorrência do próximo


evento (tempo de chegada ou tempo de saída) ser maior do que o intervalo de tempo 𝑇:

𝑃[𝑡 > 𝑇] = 1 − 𝑃 [𝑡 ≤ 𝑇] = 1 − (1 − 𝑒 −𝜆𝑇 ) = 𝑒 −𝜆𝑇

Logo:

𝑃[𝑡 > 𝑇] = 𝑒 −𝜆𝑇

Ou seja, a probabilidade de o intervalo de tempo ser maior do que 𝑇 é igual a 1


menos a probabilidade de ele ser menor do que 𝑇.

Para provar a propriedade de falta de memória da distribuição exponencial,


considere a seguinte relação:
𝑃[𝑡 > 𝑇 + 𝑆 ⁄ 𝑡 > 𝑆] = 𝑃 [𝑡 > 𝑇]

Essa relação expressa que, se 𝑆 representa o intervalo de tempo desde a


ocorrência do último evento, então a probabilidade de 𝑡 ser maior do que 𝑇 + 𝑆, dado que
𝑡 é maior do que 𝑆, tem que ser igual a probabilidade de 𝑡 ser maior do que 𝑇 (ou seja, a
probabilidade de o evento ocorrer depois de ter passado tanto o tempo desejado 𝑇 quanto
o tempo desde a última ocorrência 𝑆 deve ser igual a probabilidade de o evento ocorrer
depois de ter passado o tempo que desejado 𝑇 – isto é, não depende do tempo transcorrido
desde a última ocorrência S).

234
Matematicamente, a probabilidade condicional é dada por:
𝑃 (𝐴 ∩ 𝐵 )
𝑃 (𝐴⁄𝐵) =
𝑃 (𝐵 )
Assim:
𝑃 [𝑡 > 𝑇 + 𝑆 ∩ 𝑡 > 𝑆]
𝑃[𝑡 > 𝑇 + 𝑆 ⁄ 𝑡 > 𝑆] =
𝑃[𝑡 > 𝑆]

Note que o termo 𝑡 > 𝑇 + 𝑆 representa um intervalo que parte do ponto 𝑇 + 𝑆 até
mais infinito, enquanto o termo 𝑡 > 𝑆 é um intervalo maior, que parte do ponto 𝑆 (que é
menor do que 𝑇 + 𝑆, pois 𝑇 e 𝑆 são positivos) até mais infinito. Isso significa que a
interseção entre esses dois termos é o próprio termo 𝑡 > 𝑇 + 𝑆. Com isso:

𝑃 [𝑡 > 𝑇 + 𝑆 ∩ 𝑡 > 𝑆] 𝑃[𝑡 > 𝑇 + 𝑆 ] 𝑒 −𝜆(𝑇+𝑆)


= = = 𝑒 −𝜆𝑇 = 𝑃[𝑡 > 𝑇]
𝑃[𝑡 > 𝑆] 𝑃[𝑡 > 𝑆] 𝑒 −𝜆𝑆

Logo, de fato uma distribuição exponencial não depende do tempo transcorrido


desde a última ocorrência.

Para entender a aplicação da fórmula no cálculo da probabilidade, considere o


seguinte exemplo:

Uma máquina em serviço é sempre substituída no caso de ocorrência de falha. O


tempo até a falha de uma máquina segue uma distribuição exponencial e ocorre em
média a cada 5 horas. Calcule a probabilidade de ocorrência de falha antes das 20h30
em dois casos: a) considerando que agora são 20h20 e b) considerando que agora são 1h
da manhã.

Solução:

Em primeiro lugar devemos obter a taxa média de falha da máquina 𝜆 = 1/5 = 0,2
falha por hora. É importante observar que a média da distribuição exponencial (nesse
caso, de 5 horas) é equivalente ao valor esperado para o intervalo entre os tempos de
chegadas de máquinas com defeitos (intervalo entre falhas). O valor esperado é uma
medida considerando o "longo prazo", isto é, ao considerar um intervalo de tempo muito
grande, temos que as falhas ocorrerão em média de 5 em 5 horas. Isso significa, por
exemplo, que em uma duração de 200 horas, teríamos (200/5 = 40) em média 40 falhas
de máquinas.

Voltando ao problema, temos que se as falhas ocorrem de 5 em 5 horas, então a


taxa de falha deve ser igual a 0,2 falha por hora (se fizermos 0,2x5 = 1 falha a cada cinco
horas). Nesse caso, a distribuição exponencial do tempo até a falha será:
𝑓(𝑡) = 0,2 𝑒 −0,2𝑡 , 𝑡>0

235
Para calcular a probabilidade nos dois casos (letras a e b), temos que considerar
a fórmula:

𝑃[𝑡 ≤ 𝑇] = 1 − 𝑒 −𝜆𝑇 = 1 − 𝑒 −0,2𝑇

a) Se agora são 20h20 e queremos calcular a probabilidade de ocorrência de falha


até 20h30, então o intervalo de tempo 𝑇 será de 10 minutos. Como estamos utilizando a
taxa de falha na unidade de falha por hora, a unidade de 𝑇 também deverá estar em
horas (ou então poderíamos passar a taxa para minutos). Passando minutos para horas,
𝑇 = 10/60 (pois cada hora possui 60 minutos), logo 𝑇 = 0,16667 hora. Temos então a
probabilidade:
𝑃[𝑡 ≤ 0,16667] = 1 − 𝑒 −0,2∙0,16667 = 0,0328

Esse resultado demonstra que a probabilidade de ocorrência de falha em um


intervalo de 10 minutos, para a distribuição exponencial considerada, é
aproximadamente de 3%.

b) Considerando agora um intervalo de tempo desde 1h até 20h30 (T = 19h30 =


19,5 horas), temos:
𝑃 [𝑡 ≤ 19,5] = 1 − 𝑒 −0,2∙19,5 = 0,97976

Agora, a probabilidade de ocorrência de falha dentro desse intervalo subiu para


98%. Já era esperado um resultado tão elevado, visto que a ocorrência da falha ocorre
em média de 5 em 5 horas (portanto a probabilidade de ocorrência de falha em um
intervalo de mais de 19 horas deve ser bastante elevada).

A partir da próxima seção aprenderemos duas situações de filas: o modelo de


nascimento puro, no qual somente ocorrem chegadas de clientes (por exemplo, emissão
de certidões de nascimentos), e o modelo de morte puro, no qual ocorrem apenas partidas
de clientes (por exemplo, retiradas aleatórias de itens do estoque de uma loja).

Modelo de nascimento puro

Considere que 𝑝0 (𝑇) represente a probabilidade de nenhuma chegada de cliente


durante um intervalo de tempo 𝑇. Como a probabilidade de chegada segue uma
distribuição exponencial, então a probabilidade de não ocorrer nenhuma chegada dentro
de um intervalo de tempo 𝑇 equivale à probabilidade de o intervalo de tempo entre
chegadas ser maior do que 𝑇, como mostrado a seguir:
𝑝0 (𝑇) = 𝑃[intervalo de tempo entre chegadas > 𝑇]
𝑝0 (𝑇) = 1 − 𝑃[intervalo de tempo entre chegadas ≤ 𝑇]
236
𝑝0 (𝑇) = 1 − (1 − 𝑒 −𝜆𝑇 )

𝑝0 (𝑇) = 𝑒 −𝜆𝑇

Essa equação calcula a probabilidade de chegada de um cliente (cuja taxa de


chegada é dada por 𝜆) não ocorrer em um intervalo de tempo 𝑇 (ou seja, ocorrer após o
intervalo de tempo 𝑇).

Considere agora um intervalo de tempo ℎ muito pequeno (e positivo). Nesse caso,


pode-se realizar a expansão em série de Taylor, transformando a função exponencial em
um polinômio:
(𝜆ℎ)2
𝑝0 (ℎ) = 𝑒 −𝜆ℎ = 1 − 𝜆ℎ + +⋯
2!
Como o tempo para a ocorrência da primeira chegada em geral é muito pequeno
(ℎ tende à zero), os termos de ℎ de segunda ordem (elevado ao quadrado) em diante
(ordem três, quatro...) podem ser desprezados. Assim, temos:
(𝜆ℎ)2
𝑝0 (ℎ) = 𝑒 −𝜆ℎ = 1 − 𝜆ℎ + + ⋯ = 1 − 𝜆ℎ + 0(ℎ2 )
2!
Logo:
𝑝0 (ℎ) ≈ 1 − 𝜆ℎ

Além disso, a probabilidade de ocorrência da primeira chegada 𝑝1 (ℎ) é igual a 1


menos a probabilidade de não chegar ninguém 𝑝0 (ℎ), ou seja:
𝑝1 (ℎ) = 1 − 𝑝0 (ℎ) ≈ 1 − (1 − 𝜆ℎ) ≈ 𝜆ℎ

Portanto, a probabilidade de chegada de um cliente durante o intervalo de tempo


ℎ é diretamente proporcional à taxa de chegada de clientes 𝜆 e ao intervalo de tempo ℎ.

Agora, vamos calcular a probabilidade de chegada de 1 cliente durante um


intervalo de tempo 𝑇 + ℎ (em que ℎ é muito pequeno). Nesse caso, temos que:
𝑝1 (𝑇 + ℎ) = 𝑝1 (𝑇) ∙ (1 − 𝜆ℎ) + 𝑝𝑜 (𝑇) ∙ 𝜆ℎ

Essa equação explica o seguinte: a probabilidade de chegar 1 cliente dentro do


intervalo 𝑇 + ℎ é igual a probabilidade de chegar um cliente durante o intervalo 𝑇, que
é o 𝑝1 (𝑇), vezes a probabilidade de não chegar ninguém no intervalo ℎ (que é 1 − 𝜆ℎ)
somado com a probabilidade de não chegar ninguém no intervalo 𝑇, que vale 𝑝𝑜 (𝑇), vezes
a probabilidade de chegar 1 cliente no intervalo ℎ (que é 𝜆ℎ).

Se quiséssemos calcular a probabilidade de não chegar nenhum cliente no


intervalo 𝑇 + ℎ, então só teríamos uma opção: a probabilidade de não chegar ninguém
no intervalo 𝑇, que vale 𝑝𝑜 (𝑇), multiplicada pela probabilidade de não chegar ninguém
no intervalo ℎ (que vale 1 − 𝜆ℎ), ou seja:
𝑝0 (𝑇 + ℎ) = 𝑝𝑜 (𝑇) ∙ (1 − 𝜆ℎ)
237
Por fim, para o caso geral, ao considerar a probabilidade de chegada de 𝑛 clientes
no intervalo 𝑇 + ℎ, temos:
𝑝𝑛 (𝑇 + ℎ) = 𝑝𝑛 (𝑇) ∙ (1 − 𝜆ℎ) + 𝑝𝑛−1 (𝑇) ∙ 𝜆ℎ , para 𝑛 > 0

Ou seja, a probabilidade de chegar 𝑛 clientes dentro do intervalo 𝑇 + ℎ é igual a


probabilidade de chegarem 𝑛 clientes durante o intervalo 𝑇, que é o 𝑝𝑛 (𝑇), vezes a
probabilidade de não chegar ninguém no intervalo ℎ (que é 1 − 𝜆ℎ) somado com a
probabilidade de chegarem 𝑛 – 1 clientes no intervalo 𝑇, que vale 𝑝𝑛−1 (𝑇), vezes a
probabilidade de chegar 1 cliente no intervalo ℎ (que é 𝜆ℎ).

Pode-se calcular ainda a taxa de variação de 𝑝𝑛 (𝑇) em relação a 𝑇, que é igual à


derivada de 𝑝𝑛 (𝑇) em relação a 𝑇, dada por:
𝑑𝑝𝑛 (𝑇) 𝑝𝑛 (𝑇 + ℎ) − 𝑝𝑛 (𝑇) 𝑝𝑛 (𝑇) ∙ (1 − 𝜆ℎ) + 𝑝𝑛−1 (𝑇) ∙ 𝜆ℎ − 𝑝𝑛 (𝑇)
𝑝𝑛′ (𝑇) = = lim = lim =
𝑑𝑇 ℎ→0 ℎ ℎ→0 ℎ
𝑝𝑛 (𝑇) − 𝜆ℎ𝑝𝑛 (𝑇) + 𝑝𝑛−1 (𝑇) ∙ 𝜆ℎ − 𝑝𝑛 (𝑇) −𝜆ℎ𝑝𝑛 (𝑇) + 𝑝𝑛−1 (𝑇) ∙ 𝜆ℎ
= lim = lim =
ℎ→0 ℎ ℎ→0 ℎ
= −𝜆𝑝𝑛 (𝑇) + 𝜆𝑝𝑛−1 (𝑇)

Logo:
𝑝𝑛′ (𝑇) = −𝜆𝑝𝑛 (𝑇) + 𝜆𝑝𝑛−1 (𝑇) , para 𝑛 > 0

Para o caso em que 𝑛 = 0, como não existe o termo 𝑛 – 1 (pois tornaria a


quantidade de clientes negativa), temos que:
𝑝0′ (𝑇) = −𝜆𝑝0 (𝑇)

Esse resultado pode ser demonstrado fazendo:


𝑑𝑝0 (𝑇) 𝑝0 (𝑇 + ℎ) − 𝑝0 (𝑇) 𝑝𝑜 (𝑇) ∙ (1 − 𝜆ℎ) − 𝑝0 (𝑇)
𝑝0′ (𝑇) = = lim = lim =
𝑑𝑇 ℎ→0 ℎ ℎ→0 ℎ
𝑝𝑜 (𝑇) − 𝜆ℎ𝑝𝑜 (𝑇) − 𝑝0 (𝑇) −𝜆ℎ𝑝𝑜 (𝑇)
= lim = lim = −𝜆𝑝𝑜 (𝑇)
ℎ→0 ℎ ℎ→0 ℎ
Logo:
𝑝0′ (𝑇) = −𝜆𝑝0 (𝑇) , para 𝑛 = 0

Repare que o "Δ𝑇 " dessa derivada é justamente o ℎ (que é uma variação de 𝑇, ou
seja, representa o Δ𝑇).

Para encontrar a solução dessas equações diferenciais, precisamos partir da


solução de 𝑝0 (𝑇) lá do início da seção:

𝑝0 (𝑇) = 𝑒 −𝜆𝑇

E a partir dela determinar 𝑝1 (𝑇) utilizando a primeira equação da derivada


(fazendo 𝑛 = 1 na primeira equação da derivada).

238
Temos que:
𝑝1′ (𝑇) = −𝜆𝑝1 (𝑇) + 𝜆𝑝0 (𝑇)

𝑝1′ (𝑇) + 𝜆𝑝1 (𝑇) = 𝜆𝑒 −𝜆𝑇

Com isso, resolvendo-se a equação diferencial, chega-se à equação de:

𝑝1 (𝑇) = (𝜆𝑇) ∙ 𝑒 −𝜆𝑇

Considerando o valor de 𝑝1 (𝑇) e fazendo 𝑛 = 2, tem-se:


𝑝2′ (𝑇) = −𝜆𝑝2 (𝑇) + 𝜆𝑝1 (𝑇)

𝑝2′ (𝑇) + 𝜆𝑝2 (𝑇) = 𝜆 ∙ (𝜆𝑇) ∙ 𝑒 −𝜆𝑇

A solução dessa equação diferencial é:


(𝜆𝑇)2 ∙ 𝑒 −𝜆𝑇
𝑝2 (𝑇) =
2
Continuando essa sequência para diferentes valores de 𝑛, chega-se à conclusão
que:
(𝜆𝑇)𝑛 ∙ 𝑒 −𝜆𝑇
𝑝𝑛 (𝑇) = , 𝑛 = 0,1,2,3, …
𝑛!
Essa expressão calcula a probabilidade de 𝑛 chegadas em um intervalo de tempo
𝑇, em que a taxa de chegadas segue uma distribuição exponencial de média 𝜆 (ou seja, o
tempo entre chegadas é igual a 1/𝜆). Além disso, a média de chegadas (valor esperado
para o número de chegadas) durante o intervalo de tempo 𝑇 é igual a 𝜆𝑇 (por exemplo,
se a taxa média de chegadas é igual a 3 clientes por hora e o intervalo de tempo for de 2
horas, então a média de chegadas de clientes nesse intervalo será de 3x2 = 6 clientes).
É importante observar que essa expressão consiste em uma distribuição de Poisson.

Essa equação demonstra que, se o tempo entre chegadas segue uma distribuição
exponencial com média 1/𝜆, então o número de chegadas durante um período 𝑇 segue
uma distribuição de Poisson com média 𝜆𝑇. O inverso também é válido (se o número de
chegadas durante um período 𝑇 segue uma distribuição de Poisson com média 𝜆𝑇, então
o tempo entre chegadas segue uma distribuição exponencial com média 1/𝜆).

239
A tabela a seguir resume as relações entre a distribuição exponencial e de Poisson.

Para entender os conceitos dessa seção, considere o seguinte exemplo:

A taxa de nascimento de bebês é de 1 nascimento a cada 12 minutos. Sabe-se que


o tempo entre nascimentos segue uma distribuição exponencial. Nesse caso, determine
o número médio de nascimentos por ano.

Solução:

A taxa de nascimentos por minuto é igual a 1/12. Como um dia tem 24x60
minutos, então a taxa de nascimento por dia será:
24 ∙ 60
𝜆= = 120 nascimentos por dia
12
Se nascem 120 bebês por dia, então em 1 ano (ou 365 dias) nascerão:
𝜆𝑇 = 120 ∙ 365 = 43.800 nascimentos por ano

Ou seja, nascerão em média 43.800 bebês por ano (valor esperado).

Agora vamos calcular a probabilidade de não haver nascimento em qualquer dia


determinado.
Nesse caso, queremos determinar 𝑝0 (1) (𝑛 é igual a 0, isto é, nenhuma chegada, e
𝑇 é igual a 1, pois consideramos um período de 1 dia). Podemos determinar esse valor a
partir da equação:
𝑝0 (𝑇) = 𝑒 −𝜆𝑇
𝑝0 (1) = 𝑒 −120∙1 = 𝑒 −120 ≈ 0
Como nascem bebês em média a cada 12 minutos, a probabilidade de não nascer
nenhum bebê ao longo de um dia (que possui 24 horas, ou seja, 24x60 = 1440 minutos)
é quase nula.
240
Poderíamos calcular também a partir da equação:
(𝜆𝑇)𝑛 ∙ 𝑒 −𝜆𝑇
𝑝𝑛 (𝑇) =
𝑛!
Resultando em:
(𝜆𝑇)0 ∙ 𝑒 −𝜆𝑇 1 ∙ 𝑒 −𝜆𝑇
𝑝0 (𝑇) = = = 𝑒 −𝜆𝑇
0! 1
𝑝0 (1) = 𝑒 −120∙1 = 𝑒 −120 ≈ 0

Esse resultado mostra que é praticamente impossível não haver nascimento em


um período de 1 dia. Mais uma forma de se obter essa probabilidade seria: nenhum
nascimento em um dia é equivalente a dizer que o tempo entre nascimentos sucessivos
𝑇 deve ser maior do que um dia. Assim, podemos calcular esse resultado a partir da
distribuição exponencial:

𝑃[𝑡 > 𝑇] = 𝑒 −𝜆𝑇


𝑃[𝑡 > 1] = 𝑒 −120 ≈ 0

Note que todos os resultados tem o mesmo significado!

Um último exemplo desse enunciado seria calcular a probabilidade de se emitir


50 certidões de nascimento em 3 horas, dado que 40 certidões foram emitidas durante
as 2 primeiras horas (dessas 3 horas).
Isso significa calcular a probabilidade de 10 (50 – 40) certidões (𝑛 = 10) serem
emitidas em um período de 1 (3 – 2) hora, visto que a distribuição do número de
nascimentos segue uma distribuição de Poisson (e portanto a taxa de chegadas segue
uma distribuição exponencial, que é sem memória).
Assim, devemos considerar a taxa de nascimentos em hora 𝜆 = 120/24 = 5
nascimentos por hora. Com isso:
(𝜆𝑇)𝑛 ∙ 𝑒 −𝜆𝑇
𝑝𝑛 (𝑇) =
𝑛!
(5 ∙ 1)10 ∙ 𝑒 −5∙1
𝑝10 (1) = = 0,01813
10!
Isto é, a probabilidade é 𝑝10 (1) = 0,01813, a qual demonstra que a probabilidade
de nascerem 10 bebês em um período de 1 hora é igual a 0,01813.

241
Para entender o comportamento da distribuição de Poisson:
(𝜆𝑇)𝑛 ∙ 𝑒 −𝜆𝑇
𝑝𝑛 (𝑇) =
𝑛!
Vamos considerar a seguinte situação:

Suponha que a taxa de chegada de clientes seja de 𝜆 = 1 cliente por hora. Nesse
caso, os gráficos de 𝑝𝑛 (𝑇) para 𝑛 = 0, 𝑛 = 1 e 𝑛 = 2 são mostrados a seguir:

O gráfico da cor azul (𝑛 = 0) representa a curva de 𝑝0 (𝑇), isto é, a probabilidade


de chegada de 0 clientes (nenhum cliente) ao longo do tempo 𝑇. Note que essa
probabilidade é igual a 1 apenas no instante inicial (𝑇 = 0), o que significa dizer que a
probabilidade de não chegar ninguém em 0 horas é igual a 1 (obviamente). À medida
que o tempo passa a probabilidade de não chegar nenhum cliente, ou seja, o valor de
𝑝0 (𝑇), diminui (significa que a probabilidade de chegar cliente está aumentando).

O gráfico da cor laranja (𝑛 = 1) representa a curva de 𝑝1 (𝑇), isto é, a probabilidade


de chegar 1 cliente ao longo do tempo 𝑇. Note que ele é igual a 0 no instante inicial (pois
é impossível chegar cliente em um intervalo de 0 horas) e que essa probabilidade de
chegada de cliente vai aumentando à medida que o tempo passa (enquanto a
probabilidade de não chegarem clientes vai diminuindo). Note também que o ponto
máximo ocorre para 𝑇 = 1 hora (isso ocorre, pois a taxa de chegada 𝜆 é de 1 cliente por
hora, ou seja, é mais provável de se chegar 1 cliente em 1 hora; por exemplo, se a taxa
fosse de 1 cliente a cada 5 horas, 𝜆 = 1/5 = 0,2 clientes por hora, esse máximo ocorreria
no instante 𝑇 = 5). Após o instante 𝑇 = 1, a probabilidade diminui novamente (ou seja,
conforme o intervalo de tempo 𝑇 aumenta, fica cada vez mais improvável a chegada de
apenas 1 cliente – se torna mais provável que cheguem mais do que 1 cliente).

242
O gráfico da cor cinza (𝑛 = 2) representa a curva de 𝑝2 (𝑇), isto é, a probabilidade
de chegarem 2 clientes ao longo do tempo 𝑇. Note que ele é igual a 0 no instante inicial
(pois é impossível chegar clientes durante um intervalo de tempo de 0 horas) e que essa
probabilidade de chegada de cliente vai aumentando à medida que o tempo passa
(enquanto a probabilidade de não chegarem clientes vai diminuindo). Note também que
o ponto máximo ocorre para 𝑇 = 2 horas (isso ocorre, pois a taxa de chegada 𝜆 é de 1
cliente por hora, ou seja, é mais provável chegarem 2 clientes em 2 horas; por exemplo,
se a taxa fosse de 1 cliente a cada 5 horas, 𝜆 = 1/5 = 0,2 clientes por hora, ou seja, 2
clientes a cada 10 horas, esse máximo ocorreria no instante 𝑇 = 10). Após o intervalo de
tempo 𝑇 = 2, a probabilidade diminui novamente (ou seja, conforme o intervalo de tempo
𝑇 aumenta, fica cada vez mais improvável a chegada de apenas 2 clientes – se torna
mais provável que cheguem mais do que 2 clientes). E assim por diante.

Logo, a fórmula de 𝑝𝑛 (𝑇) mede a probabilidade de chegarem exatamente 𝑛


clientes em um intervalo de tempo 𝑇 e que o máximo dessa probabilidade depende de 𝑛
e de 𝜆: para 𝑛 = 0 (ou seja, a probabilidade de chegada de 0 clientes), 𝑝𝑛 (𝑇) é máxima
para 𝑇 = 0; para 𝑛 = 1 (ou seja, a probabilidade de chegada de 1 cliente), 𝑝𝑛 (𝑇) é máxima
em 𝑇 = 1/𝜆; para 𝑛 = 2 (ou seja, a probabilidade de chegada de 2 clientes), 𝑝𝑛 (𝑇) é máxima
em 𝑇 = 2/𝜆; para um 𝑛 qualquer (ou seja, a probabilidade de chegada de 𝑛 clientes), 𝑝𝑛 (𝑇)
é máxima em 𝑇 = 𝑛/𝜆.

Por fim, considere o seguinte exemplo para concluir essa seção:

Determine a probabilidade de chegarem ao menos 2 clientes em um intervalo de


3 horas, dado que a taxa de chegadas de clientes segue uma distribuição exponencial de
média 0,5 clientes por hora (ou seja, o tempo entre chegadas de clientes é de 2 horas).

Solução:

Temos que:
𝜆 = 0,5 clientes por hora
𝑇 = 3 horas

O trecho “ao menos 2 clientes” é equivalente a 𝑛 ≥ 2. Ou seja, a questão está


pedindo para calcular:
𝑝𝑛≥2 (3) = 𝑝2 (3) + 𝑝3 (3) + 𝑝4 (3) + ⋯

Poderíamos ir calculando os valores dessas probabilidades, a partir da fórmula


da distribuição de Poisson, obtendo 𝑝𝑛 (3) para 𝑛 = 2, 𝑛 = 3, 𝑛 = 4... e depois somar todos
esses resultados. Entretanto, ainda assim teríamos que calcular 𝑝𝑛 (3) para diversos
valores de 𝑛 se quisermos obter um resultado satisfatório para essa questão.
243
Uma forma mais correta de resolver esse problema seria considerar que:
𝑝𝑛≥2 (3) = 1 − 𝑝𝑛<2 (3) = 1 − [𝑝1 (3) + 𝑝0 (3)] = 1 − 𝑝1 (3) − 𝑝0 (3)

Ou seja, a probabilidade de chegada de pelo menos 2 clientes equivale a 1 menos


a probabilidade de chegadas de menos de 2 clientes (ou seja, de só chegarem 1 cliente
ou nenhum cliente). Agora precisamos calcular apenas 𝑝0 (3) e 𝑝1 (3) para obter a solução
do problema. Assim:

(𝜆𝑇)𝑛 ∙ 𝑒 −𝜆𝑇
𝑝𝑛 (𝑇) =
𝑛!
(0,5 ∙ 3)0 ∙ 𝑒 −0,5∙3 1 ∙ 𝑒 −0,5∙3
𝑝0 (3) = = = 𝑒 −1,5 = 0,223
0! 1
(0,5 ∙ 3)1 ∙ 𝑒 −0,5∙3 1,5 ∙ 𝑒 −0,5∙3
𝑝1 (3) = = = 1,5 ∙ 𝑒 −1,5 = 0,335
1! 1
Com isso:
𝑝𝑛≥2 (3) = 1 − 𝑝1 (3) − 𝑝0 (3) = 1 − 0,335 − 0,223 = 0,442

Ou seja, a probabilidade de chegarem ao menos 2 clientes (𝑛 ≥ 2) no intervalo de


tempo 𝑇 = 3 horas (dentro de 3 horas), com uma chegada de clientes exponencial dada
por 𝜆 = 0,5 clientes por hora (1 cliente a cada 2 horas), é igual a 0,442.

Modelo de morte puro

Enquanto no modelo de nascimento puro começamos com 0 clientes no instante


inicial (𝑇 = 0), no modelo de morte puro começamos com 𝑁 clientes no instante 𝑇 = 0,
sendo que nenhuma nova chegada é permitida a partir desse instante (para diferentes
intervalos de 𝑇). Isso significa que à medida que o tempo 𝑇 passa (conforme a duração
aumenta), só ocorrem partidas (saídas de clientes, logo ou o valor de 𝑛 é igual a 𝑁, ou
ele diminuí, isto é, 𝑛 ≤ 𝑁). As partidas de clientes ocorrem a uma taxa 𝜇 clientes por
unidade de tempo (taxa de partidas de clientes, que é o inverso do tempo de atendimento
do cliente por um atendente).

Para encontrar a probabilidade 𝑝𝑛 (𝑇) no modelo de morte puro precisamos


resolver as equações diferenciais considerando a permanência de 𝑛 clientes após um
intervalo de tempo 𝑇, a partir dos argumentos utilizados no modelo de nascimento puro.
Assim:
𝑝𝑁 (𝑇 + ℎ) = 𝑝𝑁 (𝑇) ∙ (1 − 𝜇ℎ)
𝑝𝑛 (𝑇 + ℎ) = 𝑝𝑛 (𝑇) ∙ (1 − 𝜇ℎ) + 𝑝𝑛+1 (𝑇) ∙ 𝜇ℎ , para 0 < n < N
𝑝0 (𝑇 + ℎ) = 𝑝0 (𝑇) ∙ 1 + 𝑝1 (𝑇) ∙ 𝜇ℎ

244
Considerando que a probabilidade de partida de 1 cliente, no intervalo de tempo
ℎ, é igual a 𝜇ℎ, então (1 – 𝜇ℎ) será a probabilidade de não partirem clientes no intervalo
de tempo ℎ (quando ℎ é muito pequeno).

Logo, a primeira equação mostra que a probabilidade de haver 𝑁 clientes durante


o intervalo 𝑇 + ℎ deve ser igual a probabilidade de ter 𝑁 clientes durante o intervalo 𝑇
multiplicada pela probabilidade de não saírem clientes durante o intervalo ℎ.

A segunda equação mostra o caso geral: a probabilidade de termos 𝑛 clientes


durante o intervalo 𝑇 + ℎ é igual a probabilidade de termos 𝑛 clientes no durante o
intervalo 𝑇 multiplicada pela probabilidade de não saírem clientes no intervalo ℎ
somada com a probabilidade de termos 𝑛 + 1 clientes no intervalo 𝑇 multiplicada pela
probabilidade de sair 1 cliente no intervalo ℎ.

Por fim, a terceira equação mostra que a probabilidade de termos 0 clientes no


intervalo 𝑇 + ℎ é igual a probabilidade de termos 0 clientes durante o intervalo 𝑇
multiplicada por 1 (como temos 0 clientes não podemos perder mais clientes, por isso a
probabilidade de não saírem clientes é igual a 1) somada com a probabilidade de termos
1 cliente no intervalo 𝑇 multiplicada pela probabilidade de sair um cliente no intervalo
ℎ.

As derivadas dessas equações quando ℎ tende a zero, resultam em:


𝑝𝑁′ (𝑇) = −𝜇𝑝𝑁 (𝑇)
𝑝𝑛′ (𝑇) = −𝜇𝑝𝑛 (𝑇) + 𝜇𝑝𝑛+1 (𝑇) , para 0 < 𝑛 < 𝑁
𝑝0′ (𝑇) = 𝜇𝑝1 (𝑇)

A resolução dessas equações geram uma distribuição de Poisson truncada, como


mostrado a seguir:
(𝜇𝑇)𝑁−𝑛 ∙ 𝑒 −𝜇𝑇
𝑝𝑛 (𝑇) = , para 𝑛 = 1,2,3, … , 𝑁
(𝑁 − 𝑛)!
Ao fazer 𝑛 = 𝑁 nessa equação, ou seja, se quisermos calcular a probabilidade de
termos 𝑁 clientes durante o intervalo de tempo 𝑇, teremos:
𝑝𝑁 (𝑇) = 𝑒 −𝜇𝑇

Que é equivalente à equação de 𝑝0 (𝑇) no modelo de nascimento puro (substituindo


a taxa de chegada 𝜆 pela taxa de partida 𝜇). Lá, 𝑝0 (𝑇) media a probabilidade de não
chegarem nenhum cliente, aqui 𝑝𝑁 (𝑇) mede a probabilidade de não partirem clientes
(por isso são equivalentes).

245
A probabilidade de termos 𝑁 – 1 clientes é dada por (substituindo 𝑛 = 𝑁 – 1 nessa
equação):
𝑝𝑁−1 (𝑇) = (𝜇𝑇) ∙ 𝑒 −𝜇𝑇
Repare a semelhança entre ela e a equação de 𝑝1 (𝑇) da seção anterior (pois lá
temos a probabilidade de chegar 1 cliente enquanto aqui mede a probabilidade de sair
um cliente, que equivale a termos 𝑁 – 1 clientes).

Considerando agora a situação de termos zero clientes (𝑛 = 0), chegamos a


seguinte equação:
(𝜇𝑇)𝑁 ∙ 𝑒 −𝜇𝑇
𝑝0 (𝑇) =
𝑁!
Que é a própria distribuição de Poisson, ou seja, a probabilidade de chegarem 𝑁
clientes no modelo de nascimento puro é equivalente à probabilidade de partirem 𝑁
clientes (𝑛 = 0) no modelo de morte puro (e se a taxa de chegada for igual a taxa de
partida 𝜆 = 𝜇, então essas probabilidades darão o mesmo resultado).

O fato é que: se a questão perguntar “qual é a probabilidade de partirem 3


clientes?”, esse resultado pode ser obtido fazendo 𝑛 = 3 na fórmula do modelo de
nascimento puro (da seção anterior) e fazendo 𝜆 = 𝜇, ou então fazendo 𝑛 = 𝑁 – 3 na
fórmula do modelo de morte puro (dada nesta seção).

Para entender o comportamento da equação de 𝑝𝑛 (𝑇) (distribuição de Poisson


truncada), vamos considerar a seguinte situação:

Suponha que a taxa de partida de clientes seja de 𝜇 = 1 cliente por hora e que
inicialmente temos 2 clientes (𝑁 = 2). Nesse caso, os gráficos de 𝑝𝑛 (𝑇) para 𝑛 = 2 (𝑁),
para 𝑛 = 1 (𝑁 – 1) e para 𝑛 = 0 (𝑁 – 2) são mostrados a seguir:

Note que o gráfico tem o mesmo comportamento do gráfico do modelo de


nascimento puro (mas ao invés de ir de 𝑛 = 0 até 𝑛 = 2, ele vai de 𝑛 = 2 até 𝑛 = 0, ou seja,
de 𝑛 = 𝑁 até 𝑛 = 0).
246
O gráfico da cor azul (𝑛 = 2, ou 𝑛 = 𝑁) representa a curva de 𝑝2 (𝑇) ou 𝑝𝑁 (𝑇), isto
é, a probabilidade de termos 𝑁 clientes (ou seja, de não partirem nenhum cliente, por
isso ele é igual ao gráfico de 𝑝0 (𝑇) do modelo de nascimento puro) ao longo do tempo 𝑇.
Note que essa probabilidade é igual a 1 apenas no instante inicial (𝑇 = 0), o que significa
dizer que a probabilidade de não partir ninguém em 0 horas é igual a 1 (obviamente). À
medida que o tempo passa, a probabilidade de não partir nenhum cliente, ou seja, o
valor de 𝑝𝑁 (𝑇) diminui (significa que a probabilidade de partir cliente está aumentando).

O gráfico da cor laranja (𝑛 = 1) representa a curva de 𝑝1 (𝑇) ou 𝑝𝑁−1 (𝑇), isto é, a


probabilidade de partir 1 cliente (por isso tem o mesmo comportamento da probabilidade
de chegar 1 cliente) ao longo do tempo 𝑇. Note que ele é igual a 0 no instante inicial (pois
é impossível partir cliente em um intervalo de 0 horas) e que essa probabilidade de
partida de clientes vai aumentando à medida que o tempo passa (enquanto a
probabilidade de não partirem clientes vai diminuindo). Note também que o ponto
máximo ocorre para 𝑇 = 1 hora: isso ocorre, pois a taxa de partida 𝜇 é de 1 cliente por
hora, ou seja, é mais provável que se parta 1 cliente em 1 hora (por exemplo, se a taxa
fosse de 1 cliente a cada 5 horas, esse máximo ocorreria no instante 𝑇 = 5). Após o
instante 𝑇 = 1, a probabilidade diminui novamente (ou seja, conforme o intervalo de
tempo 𝑇 aumenta, fica cada vez mais improvável a partida de apenas 1 cliente – se torna
mais provável que partam mais do que 1 cliente).

O gráfico da cor cinza (𝑛 = 0) representa a curva de 𝑝0 (𝑇) ou 𝑝𝑁−𝑁 (𝑇), isto é, a


probabilidade de partirem 2 (𝑁) clientes ao longo do tempo 𝑇 (partirem todos os clientes).
Note que ele é igual a 0 no instante inicial (pois é impossível partirem clientes durante
um intervalo de tempo de 0 horas) e que essa probabilidade de partida de clientes vai
aumentando à medida que o tempo passa (enquanto a probabilidade de não partirem
clientes vai diminuindo). Note também que o ponto máximo ocorre para 𝑇 = 2 horas: isso
ocorre, pois a taxa de partida 𝜇 é de 1 cliente por hora, ou seja, é mais provável que se
parta 2 clientes em 2 horas (por exemplo, se a taxa fosse de 1 cliente a cada 5 horas, isto
é, 2 clientes a cada 10 horas, esse máximo ocorreria no instante 𝑇 = 10). Após o instante
𝑇 = 2, a probabilidade diminui novamente (ou seja, conforme o intervalo de tempo 𝑇
aumenta, fica cada vez mais improvável a partida de apenas 2 clientes – se torna mais
provável que partam mais do que 2 clientes). E assim por diante.

Logo, a fórmula de 𝑝𝑛 (𝑇) mede a probabilidade de termos exatamente 𝑛 clientes


em um intervalo de tempo 𝑇 (ou de não partirem nenhum cliente em um intervalo de
tempo 𝑇) e que o máximo dessa probabilidade depende de 𝑛, de 𝜇 e de 𝑁.

247
Além disso, para 𝑛 = 𝑁 (ou seja, a probabilidade de partida de 0 clientes), 𝑝𝑁 (𝑇) é
máxima para 𝑇 = 0; para 𝑛 = 𝑁 – 1 (ou seja, a probabilidade de partida de 1 cliente),
𝑝𝑛 (𝑇) é máxima para 𝑇 = 1/𝜇; para 𝑛 = 𝑁 – 2 (ou seja, a probabilidade de partida de 2
clientes), 𝑝𝑛 (𝑇) é máxima para 𝑇 = 2/𝜇; para 𝑛 = 𝑁 – 3 (ou seja, a probabilidade de partida
de 3 clientes), 𝑝𝑛 (𝑇) é máxima para 𝑇 = 3/𝜇 e assim por diante.

Para entender os conceitos dessa seção, considere o seguinte exemplo:

Uma loja possui 20 produtos em seu estoque. Em média são vendidos 4 produtos
por dia. Determine a probabilidade de termos 8 itens no estoque após 2 dias.

Solução:

Temos que 𝑛 = 8 e 𝑇 = 2 dias, e pelo enunciado 𝑁 = 20 e 𝜇 = 4 produtos por dia.


Substituindo na equação, temos:
(𝜇𝑇)𝑁−𝑛 ∙ 𝑒 −𝜇𝑇
𝑝𝑛 (𝑇) =
(𝑁 − 𝑛)!
(4 ∙ 2)20−8 ∙ 𝑒 −4∙2 812 ∙ 𝑒 −8
𝑝8 (2) = = = 0,0481
(20 − 8)! 12!

Note que a equação de 𝑝8 (2) é equivalente a calcularmos a probabilidade de


partirem 12 clientes (fazer 𝑛 = 12) na fórmula da distribuição de Poisson (substituindo-
se 𝜆 por 𝜇).

Agora vamos medir a probabilidade de zerarmos o estoque em 𝑇 = 4, 5 e 6 dias.

Solução:

Agora temos que 𝑛 = 0 e pelo enunciado 𝑁 = 20 e 𝜇 = 4 produtos por dia.

Vamos calcular primeiro para 𝑇 = 4 dias:


(4 ∙ 4)20−0 ∙ 𝑒 −4∙4 1620 ∙ 𝑒 −16
𝑝0 (4) = = = 0,0559
(20 − 0)! 20!

Agora para 𝑇 = 5 dias:


(4 ∙ 5)20−0 ∙ 𝑒 −4∙5 2020 ∙ 𝑒 −20
𝑝0 (5) = = = 0,0888
(20 − 0)! 20!

248
Por fim, para 𝑇 = 6 dias:
(4 ∙ 6)20−0 ∙ 𝑒 −4∙6 2420 ∙ 𝑒 −24
𝑝0 (6) = = = 0,0624
(20 − 0)! 20!

Note que a probabilidade é máxima quanto 𝑇 = 5. Isto é, a probabilidade de termos


0 itens no estoque (ou de terem saído 20 itens do estoque) é máxima se considerarmos o
intervalo de tempo de 5 dias. Ora, como a taxa de partida era de 4 itens por dia (em
média), então após 5 dias terão partido (saído) 4x5 = 20 itens do estoque (por isso, em
média, é mais provável que o estoque esteja zerado após 5 dias).

Agora se perguntarmos qual é a probabilidade de zerarmos o estoque em 4, 5 ou


6 dias, essa pergunta tem um significado diferente. Aqui queremos a probabilidade de
zerarmos o estoque em qualquer um desses três dias (isto é, a probabilidade de zerarmos
em 4 dias OU de zerarmos em 5 dias OU de zerarmos em 6 dias). Matematicamente,
isso equivale a somarmos as probabilidades desses três dias:
𝑝0 (4) + 𝑝0 (5) + 𝑝0 (6) = 0,0559 + 0,0888 + 0,0624 = 0,2071

Logo, existe uma probabilidade de 20,71% de zerarmos o estoque em qualquer um


desses três dias. Observe que, se a pergunta fosse: zerar o estoque em qualquer um dos
6 primeiros dias, então deveríamos calcular a probabilidade de zerarmos o estoque para
cada um dos 6 primeiros dias (𝑇 = 1, 2, 3, 4, 5 e 6) e depois somar todas essas
probabilidades. Observe também que não necessariamente essa pergunta precisa ser de
"zerarmos" o estoque (poderíamos perguntar para qualquer outro valor de 𝑛 e a
resolução seria a mesma, porém utilizando esse valor de 𝑛 na fórmula).

Devemos ter em mente também que se quisermos calcular a probabilidade de


partirem 𝑛 clientes, então utilizaremos a fórmula da distribuição de Poisson
(substituindo-se 𝜆 por 𝜇) e que se quisermos calcular a probabilidade de termos 𝑛 clientes
então utilizaremos a fórmula da distribuição de Poisson truncada.

249
AULA 3 – MODELOS
GENERALIZADOS DE FILAS

Construção de um modelo geral para as filas

Nessa seção será desenvolvido um modelo geral para as filas, combinando os


conceitos da distribuição de Poisson com os parâmetros das filas (principalmente os
intervalos de tempo entre chegadas e os tempos de serviços, os quais consideramos
seguirem uma distribuição exponencial).

É importante destacar que as taxas de partidas determinam os tempos entre


partidas 1/𝜇 os quais são também chamados de tempo de serviço (ou tempo de
atendimento, pois dizer que um cliente partiu do sistema é o mesmo que dizer que o
cliente foi atendido pelo sistema, ou seja, os clientes saem do sistema após serem
atendidos).

Uma simplificação a ser considerada nesse modelo é que ele estará limitado a
descrever o comportamento da fila de longo prazo, ou seja, ele estará baseado no estado
de equilíbrio da fila (o estado de equilíbrio é atingido após o sistema estar em operação
por um tempo suficientemente longo). Inicialmente, um sistema tem comportamento
transiente (ou estado transiente), também chamado de estado de aquecimento, no qual
as características da fila não são tão previsíveis.

Para entender esse comportamento, imagine um banco que acabou de abrir:


inicialmente não há formação de filas (pois o número de clientes presentes no banco é
menor do que o número de atendentes). À medida que o tempo passa, haverá a formação
de filas, cujo tamanho dependerá das taxas de chegadas e de saídas (ou serviço) de
clientes (de forma que a fila tende a um equilíbrio, isto é, a um tamanho médio em função
do tempo).

250
Assim, durante o estado transiente (ou de aquecimento) os clientes que chegam
não irão experimentar filas (pois estas ainda não foram formadas). Conforme o tempo
passa, os clientes que chegam começarão a experimentar uma fila que possui um
tamanho médio (e assim os clientes terão tempos de espera médios nessa fila, que podem
ser calculados).

Uma das razões para não se considerar o estado transiente em modelos de filas é
a sua complexidade matemática. Entretanto, a principal razão para ele não ser
considerado é que a maior parte das situações de filas a serem dimensionadas ocorrem
em condições de estado de equilíbrio (isto é, existe a formação de fila, que é justamente
o que queremos dimensionar). Nesse caso, as características das filas no longo prazo (no
estado de equilíbrio) são independentes das condições iniciais (da quantidade de clientes
no instante inicial) e são suficientes para o dimensionamento do sistema.

No modelo generalizado, considera-se que as taxas de chegadas (𝜆) e de partidas


(𝜇) são dependentes do estado do sistema (dependem do número de clientes 𝑛 no
sistema). Essa consideração é fundamental, visto que existe uma tendência natural de
os atendentes aumentarem o ritmo de serviço (a taxa de serviço) conforme o número de
clientes do sistema aumenta.

Considere o caso de um posto de pedágio da rodovia, no qual os atendentes tendem


a acelerar a cobrança do pedágio no horário de pico (o valor de 𝜇 aumenta conforme o
valor de 𝑛 aumenta); ou em uma oficina com dado número de máquinas quebradas, cuja
taxa de quebra diminui (𝜆 diminui) à medida que aumenta o número de máquinas
quebradas (conforme aumenta-se o valor de 𝑛), uma vez que o número de máquinas não
quebradas (o número de máquinas na “fonte”) diminui (somente as máquinas que não
estão quebradas podem gerar máquinas quebradas, por isso conforme o número de
máquinas quebradas 𝑛 aumenta a taxa de chegada 𝜆 de novas máquinas quebradas
diminui).

Matematicamente, pode-se definir:

𝑛 = número de clientes no sistema (número de clientes na fila mais em


atendimento);

𝜆𝑛 = taxa de chegada de clientes dado que existem 𝑛 clientes no sistema;

𝜇𝑛 = taxa de partida de clientes (tempo de atendimento) dado que existem 𝑛


clientes no sistema;

𝑝𝑛 = probabilidade do estado no equilíbrio para 𝑛 clientes no sistema (é a


probabilidade de haver 𝑛 clientes no sistema no longo prazo).

251
Um sistema de fila de Poisson pode ser representado esquematicamente a partir
do seguinte diagrama de transições:

Cada “círculo” (cada estado) representa a quantidade de clientes no sistema. Note


que 𝜆0 define a taxa de chegada de cliente dado que tem 0 clientes no sistema, 𝜆1 define
a taxa de chegada de cliente dado que tem 1 cliente no sistema, 𝜆2 define a taxa de
chegada de cliente dado que tem 2 clientes no sistema, 𝜆𝑛 define a taxa de chegada de
cliente dado que tem 𝑛 clientes no sistema… Além disso, 𝜇1 define a taxa de partida de
cliente dado que tem 1 cliente no sistema, 𝜇2 define a taxa de partida de cliente dado
que tem 2 clientes no sistema, 𝜇𝑛 define a taxa de partida de cliente dado que tem 𝑛
clientes no sistema...

O modelo generalizado das filas de Poisson deriva 𝑝𝑛 como uma função de 𝜆𝑛 e 𝜇𝑛


(ou seja, a dedução parte da taxa de variação da probabilidade de estado de equilíbrio
em função da variação de 𝜆𝑛 e 𝜇𝑛 ). A partir dessas probabilidades pode-se determinar as
medidas de desempenho do sistema, como o comprimento médio da fila, o tempo médio
de espera na fila e a utilização média da instalação de serviço (percentual do tempo em
que os atendentes estão ocupados).

É possível determinar as probabilidades 𝑝𝑛 a partir do diagrama de transição


mostrado anteriormente. Quando o sistema possuir 𝑛 clientes, diz-se que o sistema de
fila está no estado 𝑛 (ou seja, o estado do diagrama de transição corresponde ao número
de clientes no sistema).

A probabilidade de mais de um evento ocorrer (mais de uma chegada ou mais de


uma partida) durante um intervalo muito pequeno de tempo ℎ tende a zero (isto é, é
muito improvável que ocorra mais de uma chegada, ou saída, de cliente em um intervalo
de tempo muito pequeno).

Dessa forma, para 𝑛 > 0 (𝑛 = 1, 2, 3, 4, 5...), o estado 𝑛 só tem duas opções de


mudanças: ou mudar para o estado 𝑛 – 1 (quando ocorrer uma partida de cliente à taxa
𝜇𝑛 ), ou mudar para o estado 𝑛 + 1 (quando ocorrer uma chegada de cliente à taxa 𝜆𝑛 ). A
única exceção é o estado 0, pois neste estado só podem ocorrer chegadas (mudança para
o estado 𝑛 + 1, ou seja, para o estado 1, à taxa 𝜆0 ). É importante observar que 𝜇0 não é
definida (pois não podem ocorrer partidas quando o sistema possui 0 clientes, isto é, não
tiver clientes). Pode-se observar ainda que só se pode chegar ao estado 2 (ter dois
clientes) a partir do estado 1 (𝑛 – 1) com a chegada de 1 cliente à taxa 𝜆1 ou a partir do
estado 3 (𝑛 + 1) com a partida de 1 cliente à taxa 𝜇3 .
252
Portanto, sob condições de estado de equilíbrio, para 𝑛 > 0, as taxas de fluxo
esperadas de entrada no estado 𝑛 e de saída no estado 𝑛 devem ser iguais. A taxa de
fluxo esperada de entrada em um estado mede o quão provável é de o sistema entrar
naquele estado.

Por exemplo, considerando o estado 1, isto é, 𝑛 = 1 (tem 1 cliente no sistema),


existem duas formas de o sistema entrar no estado 1: partindo do estado 0 com a chegada
de 1 cliente ou partindo do estado 2 com a saída de 1 cliente. Matematicamente, temos
que:

(Taxa de fluxo esperada de entrada no estado 1) = 𝑝0 𝜆0 + 𝑝2 𝜇2

Isto é, a taxa de fluxo esperada de entrada no estado 1 é igual a probabilidade de


o sistema estar no estado 0 (ter 0 clientes) vezes a taxa de chegada cliente somada com
a probabilidade de o sistema estar no estado 2 (ter 2 clientes) vezes a taxa de saída de
cliente.
Considerando agora para o estado 𝑛:

(Taxa de fluxo esperada de entrada no estado 𝑛) = 𝑝𝑛−1 𝜆𝑛−1 + 𝑝𝑛+1 𝜇𝑛+1

Ou seja, a taxa de fluxo esperada de entrada no estado 𝑛 é igual a probabilidade


de o sistema estar no estado 𝑛 – 1 (ter 𝑛 – 1 clientes) vezes a taxa de chegada cliente
somada com a probabilidade de o sistema estar no estado 𝑛 + 1 (ter 𝑛 + 1 clientes) vezes
a taxa de saída de cliente.

De maneira semelhante, a taxa de fluxo esperada de saída de um estado mede o


quão provável é de o sistema sair daquele estado.

Por exemplo, considerando o estado 1, isto é, 𝑛 = 1 (tem 1 cliente no sistema),


existem duas formas de o sistema sair do estado 1: partindo do estado 1 com a chegada
de 1 cliente ou partindo do estado 1 com a saída de 1 cliente. Matematicamente, temos
que:

(Taxa de fluxo esperada de saída do estado 1) = 𝑝1 𝜆1 + 𝑝1 𝜇1

Colocando o 𝑝1 em evidência:
(Taxa de fluxo esperada de saída do estado 1) = 𝑝1 (𝜆1 + 𝜇1 )

Isto é, a taxa de fluxo esperada de saída do estado 1 é igual a probabilidade de o


sistema estar no estado 1 (ter 1 cliente) vezes a taxa de chegada cliente somada com a
probabilidade de o sistema estar no estado 1 (ter 1 cliente) vezes a taxa de saída de
cliente.

Considerando agora para o estado 𝑛:


(Taxa de fluxo esperada de saída do estado 𝑛) = 𝑝𝑛 (𝜆𝑛 + 𝜇𝑛 )

253
Ou seja, a taxa de fluxo esperada de saída do estado 𝑛 é igual a probabilidade de
o sistema estar no estado 𝑛 (ter 𝑛 clientes) vezes a taxa de chegada cliente somada com
a probabilidade de o sistema estar no estado 𝑛 (ter 𝑛 clientes) vezes a taxa de saída de
cliente.

No estado de equilíbrio, as taxas de fluxo esperada de saída e de entrada são


iguais (durante o estado transiente, essas taxas de fluxo são diferentes – a partir do
instante em que elas passam a ser iguais, o sistema entra no estado de equilíbrio). Essa
condição equilíbrio, como dito anteriormente, irá simplificar as equações do modelo de
filas (tornando-as mais fáceis de serem obtidas; por isso é preferível trabalhar no estado
de equilíbrio).

Igualando as duas taxas (fluxo de entrada e fluxo de saída), chegamos à equação


de equilíbrio:
𝑝𝑛−1 𝜆𝑛−1 + 𝑝𝑛+1 𝜇𝑛+1 = 𝑝𝑛 (𝜆𝑛 + 𝜇𝑛 ) , para 𝑛 = 1,2,3,4, …

Note que essa equação é válida para 𝑛 > 0, ou seja, para 𝑛 = 1, 2, 3, 4,... No caso
de 𝑛 = 0 só existe uma opção para a entrada no estado 0 (ter 1 cliente vezes a taxa de
saída de cliente) e uma opção de saída do estado 0 (ter 0 clientes vezes a taxa de chegada
de cliente).

Com isso, igualando as taxas, para 𝑛 = 0, temos:


𝑝0 𝜆0 = 𝑝1 𝜇1

Que é a equação de equilíbrio associada a 𝑛 = 0.

As equações de equilíbrio para o estado 𝑛 são resolvidas recursivamente em


função de 𝑝0 da seguinte forma:

A partir da equação anterior podemos obter 𝑝1 :


𝜆0
𝑝1 = ( ) 𝑝0
𝜇1
Essa equação mostra que a probabilidade de o sistema estar no estado 1 (a
probabilidade de ter 1 cliente no sistema) é igual a razão entre a taxa de chegada de
cliente, dado que o sistema está no estado 0, e a taxa de saída de cliente, dado que o
sistema está no estado 1, vezes a probabilidade de o sistema estar no estado 0
(probabilidade de ter 0 clientes no sistema).

Para 𝑛 > 0 deve-se considerar a equação anterior:


𝑝𝑛−1 𝜆𝑛−1 + 𝑝𝑛+1 𝜇𝑛+1 = 𝑝𝑛 (𝜆𝑛 + 𝜇𝑛 )

Fazendo 𝑛 = 1, temos:
𝑝0 𝜆0 + 𝑝2 𝜇2 = 𝑝1 (𝜆1 + 𝜇1 )

254
Ao substituir 𝑝1 = (𝜆0 /𝜇1 ) 𝑝0 nessa equação e isolando o termo 𝑝2 , tem-se:
𝜆1 𝜆0
𝑝2 = ( )𝑝
𝜇2 𝜇1 0

Fazendo 𝑛 = 2, temos:
𝑝1 𝜆1 + 𝑝3 𝜇3 = 𝑝2 (𝜆2 + 𝜇2 )

Ao substituir 𝑝2 da equação anterior nessa equação e isolando o termo 𝑝3 , tem-se:


𝜆2 𝜆1 𝜆0
𝑝3 = ( )𝑝
𝜇3 𝜇2 𝜇1 0

A partir da equação de 𝑝3 pode-se observar que para o estado 𝑛 (substituindo 3


por 𝑛 na equação anterior), chegamos em:
𝜆𝑛−1 𝜆𝑛−2 … 𝜆1 𝜆0
𝑝𝑛 = ( ) 𝑝0 , para 𝑛 = 1,2,3, …
𝜇𝑛 𝜇𝑛−1 … 𝜇2 𝜇1
Além disso, temos que o somatório das probabilidades de todos os estados deve
ser igual a 1, ou seja:
𝑝0 + 𝑝1 + 𝑝2 + 𝑝3 + ⋯ = 1

Isto é:

∑ 𝑝𝑛 = 1
𝑛=0

A partir desse somatório e da equação de 𝑝𝑛 podemos determinar as


probabilidades de cada estado (a probabilidade de ter 0 clientes, de ter 1 cliente, de ter
2 clientes etc.).

Para entender como determinar as probabilidades a partir dessas equações,


vamos trabalhar no seguinte exemplo:

Considere que em uma loja o número de caixas em funcionamento dependa do


número de clientes na loja, como mostra a tabela a seguir:

Os clientes chegam à área dos caixas com uma taxa média de 10 clientes por hora.
O tempo médio de atendimento segue uma distribuição exponencial com média 12
minutos. Determine a probabilidade 𝑝𝑛 de estado de equilíbrio de 𝑛 clientes na área dos
caixas (no sistema).

255
Solução:

Temos que:
𝜆𝑛 = 𝜆 = 10 clientes por hora , para 𝑛 = 0,1,2,3, …

A taxa de atendimento é dada por 1/12 = 0,0833 clientes por minuto = 0,0833x60
= 5 clientes por hora por atendente. Com isso:
5 clientes por hora , para 𝑛 = 1,2,3
𝜇𝑛 = { 2 ∙ 5 = 10 clientes por hora , para 𝑛 = 4,5,6
3 ∙ 5 = 15 clientes por hora , para 𝑛 = 7,8, …

Assim, temos a partir da equação de 𝑝𝑛 :


𝜆0 10
𝑝1 = ( ) 𝑝0 = ( ) 𝑝0 = 2𝑝0
𝜇1 5

𝜆1 𝜆0 10 ∙ 10 10 2
𝑝2 = ( ) 𝑝0 = ( ) 𝑝0 = ( ) 𝑝0 = 4𝑝0
𝜇2 𝜇1 5∙5 5

𝜆2 𝜆1 𝜆0 10 ∙ 10 ∙ 10 10 3
𝑝3 = ( )𝑝 = ( ) 𝑝0 = ( ) 𝑝0 = 8𝑝0
𝜇3 𝜇2 𝜇1 0 5∙5∙5 5

𝜆3 𝜆2 𝜆1 𝜆0 10 ∙ 10 ∙ 10 ∙ 10 10 10 3
𝑝4 = ( )𝑝 = ( ) 𝑝0 = ( ) ( ) 𝑝0 = 8𝑝0
𝜇4 𝜇3 𝜇2 𝜇1 0 10 ∙ 5 ∙ 5 ∙ 5 10 5

𝜆4𝜆3 𝜆2 𝜆1 𝜆0 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 10 2 10 3
𝑝5 = ( ) 𝑝0 = ( ) 𝑝0 = ( ) ( ) 𝑝0 = 8𝑝0
𝜇5 𝜇4 𝜇3 𝜇2 𝜇1 10 ∙ 10 ∙ 5 ∙ 5 ∙ 5 10 5

𝜆5𝜆4 𝜆3 𝜆2 𝜆1 𝜆0 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 10 3 10 3
𝑝6 = ( )𝑝 = ( ) 𝑝0 = ( ) ( ) 𝑝0 = 8𝑝0
𝜇6 𝜇5 𝜇4 𝜇3 𝜇2 𝜇1 0 10 ∙ 10 ∙ 10 ∙ 5 ∙ 5 ∙ 5 10 5
𝜆6 𝜆5 𝜆4 𝜆3 𝜆2 𝜆1 𝜆0 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 10 10 3 10 3 2
𝑝7 = ( ) 𝑝0 = ( ) 𝑝0 = ( ) ( ) ( ) 𝑝0 = ( ) ∙ 8𝑝0
𝜇7 𝜇6 𝜇5 𝜇4 𝜇3 𝜇2 𝜇1 15 ∙ 10 ∙ 10 ∙ 10 ∙ 5 ∙ 5 ∙ 5 15 10 5 3

10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 ∙ 10 10 2 10 3 10 3 2 2
𝑝8 = ( ) 𝑝0 = ( ) ( ) ( ) 𝑝0 = ( ) ∙ 8𝑝0
15 ∙ 15 ∙ 10 ∙ 10 ∙ 10 ∙ 5 ∙ 5 ∙ 5 15 10 5 3
10 𝑛−6 10 3 10 3 2 𝑛−6
𝑝𝑛≥7 =( ) ( ) ( ) 𝑝0 = ( ) ∙ 8𝑝0
15 10 5 3
A partir do somatório, temos que:

∑ 𝑝𝑛 = 1
𝑛=0

𝑝0 + 𝑝1 + 𝑝2 + ⋯ = 1
𝑝0 + 2𝑝0 + 4𝑝0 + 8𝑝0 + ⋯ = 1

256
Colocando 𝑝0 em evidência:

2 2 2 2 3
𝑝0 [1 + 2 + 4 + 8 + 8 + 8 + 8 + ( ) ∙ 8 + ( ) ∙ 8 + ( ) ∙ 8 + ⋯ ] = 1
3 3 3

Simplificando e colocando o 8 em evidência:

2 2 2 2 3
𝑝0 {31 + 8 ∙ [1 + ( ) + ( ) + ( ) + ⋯ ]} = 1
3 3 3

Observe que o termo:

2 2 2 2 3
1+( )+( ) +( ) +⋯
3 3 3
É uma soma de PG (Progressão Geométrica) infinita, cuja fórmula é:

1
∑ 𝑥𝑖 = , para |𝑥 | < 1
1−𝑥
𝑖=0

Substituindo:

2 𝑖 1
∑( ) =
3 1 − 2/3
𝑖=0

Assim:
1
𝑝0 [31 + 8 ∙ ( )] = 1
1 − 2/3

Cuja solução é:
𝑝0 ∙ 55 = 1
1
𝑝0 =
55
𝑝0 = 0,01818

Que é a probabilidade de ter 0 clientes no sistema no estado de equilíbrio.

Com isso podemos calcular a probabilidade 𝑝𝑛 para 𝑛 > 0 (𝑝1 , 𝑝2 , 𝑝3 ...):


𝑝1 = 2𝑝0 = 2 ∙ 0,01818 = 0,03636
𝑝2 = 4𝑝0 = 4 ∙ 0,01818 = 0,07272
𝑝3 = 8𝑝0 = 8 ∙ 0,01818 = 0,14544

(⋮)

257
Por exemplo, a probabilidade de haver 4 clientes no sistema no estado de
equilíbrio é:
𝑝4 = 8𝑝0 = 8 ∙ 0,01818 = 0,14544

Ou então calcular, por exemplo, a probabilidade de só haver 1 caixa aberto. Em


outras palavras, calcular a probabilidade de ter 1 cliente OU 2 clientes OU 3 clientes na
loja (no sistema):
𝑝1 + 𝑝2 + 𝑝3 = 0,03636 + 0,07272 + 0,14544 = 0,25452

Podemos calcular também o número esperado de caixas fechados (quando temos


zero clientes existem 3 caixas fechados; quando temos 1, 2 ou 3 clientes apenas 1 caixa
fica aberto, ou seja, 2 caixas ficam fechados; quando temos 4, 5 ou 6 clientes, 2 caixas
ficam abertos, ou seja, apenas 1 caixa fica fechado, e quando temos mais de 6 clientes
todos os caixas ficam abertos, ou seja, nenhum caixa fechado):
3𝑝0 + 2 ∙ (𝑝1 + 𝑝2 + 𝑝3 ) + 1 ∙ (𝑝4 + 𝑝5 + 𝑝6 ) + 0 ∙ (𝑝7 + 𝑝8 + ⋯ ) =
= 3 ∙ 0,01818 + 2 ∙ 0,25452 + 0,43632 = 1 caixa
Logo, no estado de equilíbrio, para essa loja temos em média 1 caixa fechado.

Para calcular o número esperado de caixas abertos, temos (com 0 clientes temos
0 caixas abertos; com 1, 2 ou 3 clientes temos 1 caixa aberto, com 4, 5 ou 6 clientes temos
2 caixas abertos e com mais de 6 clientes temos os 3 caixas abertos):
0𝑝0 + 1 ∙ (𝑝1 + 𝑝2 + 𝑝3 ) + 2 ∙ (𝑝4 + 𝑝5 + 𝑝6 ) + 3 ∙ (𝑝7 + 𝑝8 + ⋯ ) = 2 caixas
Esse mesmo resultado poderia ser encontrado simplesmente considerando o
número de caixas totais (3) menos o número de caixas fechados (1), resultando em 2
caixas abertos (então, temos em média 2 caixas abertos e 1 caixa fechado).
Observe que os caixas abertos (em funcionamento) são os caixas que estão
ocupados (e os caixas fechados são os caixas ociosos). Logo, a partir desse resultado,
podemos determinar a taxa de utilização da instalação (a taxa de ocupação dos caixas),
que é igual ao valor médio (esperado) de ocupação (2 caixas) dividido pelo número total
de caixas (3 caixas), ou seja, 2/3 = 0,667 (em média, os caixas ficam ocupados em 66,7%
do tempo).

Existem diversas medidas de desempenho que podem ser calculadas a partir dos
conceitos que vimos nessa seção. Antes disso, veremos as diferentes classificações das
filas para, em seguida, estudar as medidas de desempenho no estado de equilíbrio.

258
Classificação das filas

A figura a seguir apresenta uma situação de fila de Poisson com 𝑐 servidores em


paralelo.

O cliente à espera é selecionado da fila iniciando o atendimento com o primeiro


servidor disponível (o cliente na fila começa o seu atendimento imediatamente após o
servidor ficar disponível). A taxa de chegada de cliente ao sistema é dada por 𝜆 clientes
por unidade de tempo. Como todos os servidores paralelos são idênticos, a taxa de serviço
para qualquer servidor é igual a 𝜇 clientes por unidade de tempo. Assim, a taxa de
atendimento será dada por 𝜇𝑐 (se a taxa de atendimento por servidor for 6 clientes por hora
e o número de servidores em paralelo for 3, então a taxa de atendimento será 6x3 = 18 clientes
por hora).

Além disso, os clientes que são atendidos podem ir para uma próxima instalação
de serviço (em série). Isso significa que a taxa de atendimento de cliente (de saída de
cliente) é também a taxa de chegada de cliente na fila da próxima instalação.
A partir da figura, pode-se notar que o número de clientes no sistema é igual ao
número de clientes que estão esperando na fila somado com o número de clientes em
atendimento (se possuímos 3 servidores em paralelo e 8 clientes na fila, então
certamente temos 11 clientes no sistema – pois se existem clientes na fila, significa que
os servidores estão ocupados com clientes).

259
Para resumir as características de uma situação de fila, podemos utilizar a
seguinte notação, conhecida como notação de Kendall:

(a/b/c):(d/e/f)

Em que:

a = distribuição de chegadas.

b = distribuição de partidas (do tempo de atendimento).

c = número de servidores em paralelo (= 1, 2, ..., ∞).

d = disciplina da fila.

e = número máximo de clientes (finito ou infinito) permitido no sistema (na fila e


em atendimento).

f = tamanho da fonte de clientes (finito ou infinito).

O padrão para representar as distribuições de chegadas e partidas (a e b) é:

M = distribuição markoviana (ou de Poisson) de chegadas ou de partidas (ou a


distribuição exponencial equivalente do intervalo de tempo entre chegadas ou da
distribuição do tempo de serviço). Isso porque um processo de Poisson é um processo
markoviano (só depende do estado atual 𝑛 para determinar os estados futuros) no qual
somente são permitidas transições para o estado 𝑛 + 1 e 𝑛 – 1 (neste último, se 𝑛 > 0).

D = tempo constante (determinístico).

Ek = distribuição de Erlang ou gamma do tempo (ou a equivalente soma de


distribuições exponenciais independentes).

GI = distribuição geral (genérica) do intervalo de tempo entre chegadas.


G = distribuição geral (genérica) do tempo de serviço (tempo de atendimento).

A notação da disciplina da fila (d) inclui:

FCFS = primeiro a chegar, primeiro a ser atendido.

LCFS = último a chegar, primeiro a ser atendido.

Siro = serviço em ordem aleatória.

GD = disciplina geral (isto é, qualquer tipo de disciplina)

260
Para entender essa notação, considere o seguinte exemplo:

Caracterize o modelo de fila (M/D/10):(GD/20/>∞).

Solução:

Esse modelo de fila utiliza chegadas de Poisson (ou intervalo de tempo


exponencial entre chegadas), o tempo de serviço (duração do serviço) é constante e possui
10 servidores em paralelo. A disciplina da fila é geral, há um limite de 20 clientes no
sistema (10 na fila mais 10 em atendimento) e o tamanho da fonte na qual os clientes
chegam é infinita.

Caracterize agora o seguinte modelo de fila (M/M/2):(LCFS/>∞/10).

Solução:

Nesse modelo, as chegadas seguem uma distribuição de Poisson (ou intervalo de


tempo exponencial entre chegadas), o tempo de serviço (duração do serviço) também é
exponencial e o sistema possui 2 servidores em paralelo. A disciplina da fila é LCFS
(último a chegar, primeiro a ser atendido), o número de clientes permitido no sistema é
infinito e o tamanho da fonte na qual os clientes chegam é igual a 10.

Medidas de desempenho das filas no estado de equilíbrio

As principais medidas de desempenho utilizadas em uma situação de fila são:

𝐿𝑠 = número esperado (médio) de clientes no sistema (𝐿 = length, 𝑠 = system).


𝐿𝑞 = número esperado (médio) de clientes na fila (𝑞 = queue).

𝑊𝑠 = tempo de espera estimado (médio) no sistema (𝑊 = wait).


𝑊𝑞 = tempo de espera estimado (médio) na fila.

𝑐̅ = número esperado (médio) de servidores ocupados.

Lembrando que o sistema considera a fila e a instalação de serviço (isto é,


considera a fila mais os atendentes).

261
O número esperado de clientes do sistema é calculado como:
𝐿𝑠 = 0𝑝0 + 1𝑝1 + 2𝑝2 + 3𝑝3 + ⋯

Ou seja, o número esperado (médio) de clientes no sistema é igual a 0 vezes a


probabilidade de ter 0 clientes mais 1 vezes a probabilidade de ter 1 cliente mais 2 vezes
a probabilidade de ter 2 clientes e assim por diante (a probabilidade está fazendo o papel
de uma “frequência relativa”). Podemos reescrever essa equação da seguinte forma:
e

𝐿𝑠 = ∑ 𝑛𝑝𝑛
𝑛=1

Considere, por exemplo, que o sistema tenha 2 servidores em paralelo. Nesse caso,
se tiverem 0, 1 ou 2 clientes no sistema, o número de clientes na fila será igual a 0 (pois
todos estarão em atendimento). Se tiverem mais de 2 clientes no sistema, o número de
clientes na fila será igual ao número de clientes no sistema (𝑛) menos o número de
servidores (𝑐), pois todos os servidores estarão ocupados. Ou seja, se tiverem 3 clientes
no sistema, então o número de clientes na fila será 1; se forem 4 clientes no sistema
então haverá 2 clientes na fila e assim por diante. Matematicamente:
𝐿𝑞 = 0𝑝0 + 0𝑝1 + 0𝑝2 + 1𝑝3 + 2𝑝4 + 3𝑝5 + ⋯

Ou seja, se o número de clientes no sistema for menor ou igual ao número de


servidores, então haverá 0 clientes na fila. Por outro lado, se o número de clientes no
sistema for maior do que o número de servidores em paralelo (𝑐 = 2), então haverá 1
cliente na fila vezes a probabilidade de ter 3 clientes no sistema (3 – 2 = 1 cliente na fila)
mais 2 clientes na fila vezes a probabilidade de ter 4 clientes no sistema (4 – 2 = 2
clientes na fila) mais 3 clientes na fila vezes a probabilidade de ter 5 clientes no sistema
(5 – 2 = 3 clientes na fila) e assim por diante. De forma geral, temos:
e

𝐿𝑞 = ∑ (𝑛 − 𝑐)𝑝𝑛
𝑛=𝑐+1

Existe uma relação entre 𝐿𝑠 e 𝑊𝑠 (e também entre 𝐿𝑞 e 𝑊𝑞 ) conhecida como fórmula


de Little, dada como:
𝐿𝑠 = 𝜆𝑒𝑓𝑓 𝑊𝑠

𝐿𝑞 = 𝜆𝑒𝑓𝑓 𝑊𝑞

Isto é, o número esperado de clientes no sistema (ou na fila) é igual a taxa efetiva
de chegada de clientes (𝜆𝑒𝑓𝑓 ) multiplicada pelo tempo de espera estimado no sistema (ou
na fila).

262
A taxa efetiva (𝜆𝑒𝑓𝑓 ) é igual a taxa nominal de chegada (𝜆) se todos os clientes que
chegam entram no sistema (se não existirem clientes “desistentes”, ou “perdidos” por
lotação do sistema). Caso existam clientes que não possam se juntar ao sistema devido
ao sistema estar cheio (acima do valor de “e”, ou seja, acima do “número máximo de
clientes permitido no sistema), então a taxa efetiva de chegada de clientes será menor
do que a taxa nominal (𝜆𝑒𝑓𝑓 < 𝜆). Ou seja, 𝜆𝑒𝑓𝑓 define a taxa de chegada de clientes que
“efetivamente” entraram no sistema (ou seja, é a taxa de chegada nominal 𝜆 menos a
taxa de clientes “perdidos” 𝜆𝑙𝑜𝑠𝑡 , por encontrarem o sistema cheio).

Temos também que o tempo de espera estimado no sistema (tempo total médio)
deve ser igual ao tempo de espera estimado na fila (tempo médio de espera na fila)
somado com o tempo de serviço esperado (tempo médio de atendimento), ou seja:
1
𝑊𝑠 = 𝑊𝑞 +
𝜇
Se multiplicarmos essa equação por 𝜆𝑒𝑓𝑓 , teremos
𝜆𝑒𝑓𝑓
𝑊𝑠 𝜆𝑒𝑓𝑓 = 𝑊𝑞 𝜆𝑒𝑓𝑓 +
𝜇
Os dois primeiros termos dessa equação são 𝐿𝑠 e 𝐿𝑞 (da fórmula de Little),
respectivamente, resultando em:
𝜆𝑒𝑓𝑓
𝐿𝑠 = 𝐿𝑞 +
𝜇

Ou seja, o número esperado de clientes no sistema (número médio de clientes no


sistema) é igual ao número esperado de clientes na fila (número médio de clientes na
fila ou tamanho médio da fila) somado com a razão entre a taxa efetiva de chegada de
clientes e a taxa de saída de clientes (que é o número médio de servidores ocupados, isto
é, com clientes). Se, por exemplo, essas duas taxas forem iguais, então em média teremos
1 servidor ocupado (se clientes chegam efetivamente de 5 em 5 minutos e o tempo de
serviço é de 5 minutos então teremos 1 servidor ocupado, isto é, 1 cliente sendo
atendido). Logo, o número médio de clientes no sistema é igual ao número médio de
clientes na fila mais o número médio de clientes em atendimento (que é igual ao número
médio de atendentes ocupados).

263
A partir daí, temos que o número médio de servidores ocupados 𝑐̅ é igual ao
número médio de clientes no sistema 𝐿𝑠 menos o número médio de clientes na fila 𝐿𝑞
(pois o número de clientes do sistema que não estão na fila estão em serviço, ou seja,
estão ocupando um servidor). Assim:
𝜆𝑒𝑓𝑓
𝑐̅ = 𝐿𝑠 − 𝐿𝑞 =
𝜇

Com isso, temos que a taxa de ocupação (utilização) da instalação (ou a taxa de
ocupação dos servidores) é igual ao número de servidores ocupados dividido pelo número
de servidores totais:
𝑐̅ 𝜆𝑒𝑓𝑓
Taxa de ocupação dos servidores = =
𝑐 𝜇𝑐
Ao multiplicar esse resultado por 100 tem-se o percentual de ocupação dos
servidores (percentual de tempo em que os servidores estão ocupados, trabalhando). Se
fizermos 1 (ou 100, se estiver em porcentagem) menos a taxa de ocupação, teremos a
taxa (ou percentual) de tempo em que os servidores estão ociosos (ociosidade da
instalação).

Para entender os conceitos dessa seção, considere o seguinte exemplo:

Um estacionamento está limitado a apenas 5 vagas mais 3 vagas temporárias. Os


carros chegam seguindo uma distribuição de Poisson à taxa de 6 carros por hora. O
tempo em que um carro fica estacionado é exponencialmente distribuído com média de
30 minutos. Os visitantes que não conseguem encontrar uma vaga livre podem esperar
em vagas temporárias até que um carro estacionado saia. Essas vagas temporárias
podem abrigar até 3 carros. Os carros que não puderem estacionar ou não encontrarem
vagas temporárias irão desistir.

Solução:

Em primeiro lugar, vamos classificar esse problema dentro da notação de Kendall:


as distribuições de chegadas e de partidas são markovianas (ou de Poisson, ou intervalo
entre chegadas ou entre partidas exponencial – todos são sinônimos), o sistema tem um
total de 5 servidores em paralelo (c = 5), que são as 5 vagas, a disciplina da fila é FCFS,
primeiro a entrar primeiro a ser atendido, o número de clientes suportado pelo sistema
(capacidade do sistema) é igual a 5 (número de servidores) mais 3 (número máximo de
clientes na fila) que é igual a 8 (e = 8) e a fonte de onde vem os clientes é infinita (não
foi especificada). Portanto o modelo de fila é (M/M/5):(FCFS/8/>∞).

264
Agora, vamos determinar a probabilidade 𝑝𝑛 de haver 𝑛 carros no sistema
(estacionamento):

Para isso precisamos obter os valores de 𝜆𝑛 e de 𝜇𝑛 . Pelo enunciado temos que:


𝜆𝑛 = 𝜆 = 6 carros por hora , para 𝑛 = 0,1,2,3, … ,8

A taxa de atendimento (de saída) irá depender do número de carros que estiverem
no sistema (𝑛). Como a taxa entre saídas tem média 30 minutos, então, em horas, o
tempo entre saídas será igual a 0,5 horas que equivale a uma taxa de 𝜇 = 1/0,5 = 2 carros
por hora. Ou seja, a taxa de saída é igual a 2 carros por hora para cada servidor.

Entretanto, como temos 5 servidores (vagas) em paralelo, então a taxa 𝜇𝑛 vai


depender do número de carros ocupando os 5 servidores (o número de carros 𝑛 no
sistema). Assim, se tiver 1 carro no sistema (𝑛 = 1), a taxa de saída será de 2 carros por
hora (pois só haverá 1 carro sendo atendido), se tiverem 2 carros no sistema (𝑛 = 2), a
taxa de saída será de 4 carros por hora (2x2 = 4, pois haverá 2 carros sendo atendido),
se tiverem 3 carros no sistema (𝑛 = 3), a taxa de saída será de 6 carros por hora (2x3 =
6, pois haverá 3 carros sendo atendido), se tiverem 4 carros no sistema (𝑛 = 4), a taxa de
saída será de 8 carros por hora (2x4 = 8, pois haverá 4 carros sendo atendido) e se
tiverem 5 carros no sistema (𝑛 = 5), a taxa de saída será de 10 carros por hora (2x5 = 10,
pois haverá 5 carros sendo atendido, que é o limite de servidores em paralelo). Qualquer
carro que chegar após isso (𝑛 = 6, 7 e 8) irá experimentar os 5 servidores ocupados
(portanto para esses valores de 𝑛, a taxa de saída também será de 10 carros por hora).
Portanto:
𝜇𝑛 carros por hora , para 𝑛 = 1,2,3,4,5
𝜇𝑛 = {
10 carros por hora , para 𝑛 = 6,7,8

Devemos então considerar a equação a seguir (dada anteriormente), substituindo


os valores de 𝜆𝑛 e 𝜇𝑛 :
𝜆𝑛−1 𝜆𝑛−2 … 𝜆1 𝜆0
𝑝𝑛 = ( ) 𝑝0 , para 𝑛 = 1,2,3,4, …
𝜇𝑛 𝜇𝑛−1 … 𝜇2 𝜇1

Temos que:
𝜆0 6
𝑝1 = ( ) 𝑝0 = ( ) 𝑝0 = 3𝑝0
𝜇1 2
𝜆1 𝜆0 6∙6 62 9
𝑝2 = ( ) 𝑝0 = ( ) 𝑝0 = ( ) 𝑝0 = 𝑝0
𝜇2 𝜇1 4∙2 4∙2 2

𝜆2 𝜆1 𝜆0 6∙6∙6 63 9
𝑝3 = ( ) 𝑝0 = ( ) 𝑝0 = ( ) 𝑝0 = 𝑝0
𝜇3 𝜇2 𝜇1 6∙4∙2 6∙4∙2 2

𝜆3 𝜆2 𝜆1 𝜆0 6∙6∙6∙6 64 64 34
𝑝4 = ( ) 𝑝0 = ( ) 𝑝0 = ( ) 𝑝0 = ( 4 ) 𝑝0 = 𝑝0
𝜇4 𝜇3 𝜇2 𝜇1 8∙6∙4∙2 8∙6∙4∙2 2 ∙ 4! 4!

265
𝜆4 𝜆3 𝜆2 𝜆1 𝜆0 6∙6∙6∙6∙6 65 65 35
𝑝5 = ( )𝑝 = ( )𝑝 = ( )𝑝 = ( 5 )𝑝 = 𝑝
𝜇5 𝜇4 𝜇3 𝜇2 𝜇1 0 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 0 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 0 2 ∙ 5! 0 5! 0

Observe que, para 𝑛 = 1,2,3,4,5, temos que:


3𝑛
𝑝𝑛 = 𝑝 , para 𝑛 = 1,2,3,4,5
𝑛! 0
Para os demais valores de 𝑛 temos:
𝜆5 𝜆4 𝜆3 𝜆2 𝜆1 𝜆0 6∙6∙6∙6∙6∙6 66
𝑝6 = ( )𝑝 = ( )𝑝 = ( )𝑝 =
𝜇6 𝜇5 𝜇4 𝜇3 𝜇2 𝜇1 0 10 ∙ 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 0 10 ∙ 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 0

66 2 ∙ 66 36
=( ) 𝑝 = ( ) 𝑝 = 𝑝
10 ∙ 25 ∙ 5! 0 10 ∙ 26 ∙ 5! 0 5 ∙ 5! 0

𝜆6 𝜆5 𝜆4 𝜆3 𝜆2 𝜆1 𝜆0 6∙6∙6∙6∙6∙6∙6 67
𝑝7 = ( )𝑝 = ( )𝑝 = ( )𝑝 =
𝜇7 𝜇6 𝜇5 𝜇4 𝜇3 𝜇2 𝜇1 0 10 ∙ 10 ∙ 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 0 10 ∙ 10 ∙ 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 0

67 22 ∙ 67 37
=( ) 𝑝 = ( ) 𝑝 = 𝑝
10 ∙ 10 ∙ 25 ∙ 5! 0 102 ∙ 27 ∙ 5! 0 52 ∙ 5! 0

𝜆7 𝜆6 𝜆5 𝜆4 𝜆3 𝜆2 𝜆1 𝜆0 6∙6∙6∙6∙6∙6∙6∙6 68
𝑝8 = ( ) 𝑝0 = ( ) 𝑝0 = ( )𝑝 =
𝜇8 𝜇7 𝜇6 𝜇5 𝜇4 𝜇3 𝜇2 𝜇1 10 ∙ 10 ∙ 10 ∙ 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 10 ∙ 10 ∙ 10 ∙ 10 ∙ 8 ∙ 6 ∙ 4 ∙ 2 0

68 23 ∙ 68 38
=( ) 𝑝 = ( ) 𝑝 = 𝑝
10 ∙ 10 ∙ 10 ∙ 25 ∙ 5! 0 103 ∙ 28 ∙ 5! 0 53 ∙ 5! 0

Observe que, para 𝑛 = 6,7,8, temos que:


3𝑛
𝑝𝑛 = 𝑝0 , para 𝑛 = 6,7,8
5𝑛−5 ∙ 5!
Para determinar 𝑝0 , devemos considerar o somatório:
8

∑ 𝑝𝑛 = 1
𝑛=0

Isto é:
𝑝0 + 𝑝1 + 𝑝2 + 𝑝3 + 𝑝4 + 𝑝5 + 𝑝6 + 𝑝7 + 𝑝8 = 1

Substituindo:
34 35 36 37 38
𝑝0 + 3𝑝0 + 4,5𝑝0 + 4,5𝑝0 + 𝑝0 + 𝑝0 + 𝑝0 + 2 𝑝0 + 3 𝑝 =1
4! 5! 5 ∙ 5! 5 ∙ 5! 5 ∙ 5! 0
Colocando 𝑝0 em evidência:
34 35 36 37 38
𝑝0 (1 + 3 + 4,5 + 4,5 + + + + + )=1
4! 5! 5 ∙ 5! 52 ∙ 5! 53 ∙ 5!

266
Resultando em:
𝑝0 ∙ 20,7814 = 1
1
𝑝0 = = 0,04812
20,7814
Logo, 𝑝0 = 0,04812. Ou seja, no estado de equilíbrio, a probabilidade de não haver
carros no estacionamento (no sistema) é igual a 0,04812.

Substituindo o valor de 𝑝0 nas demais equações, temos:


𝑝1 = 3𝑝0 = 3 ∙ 0,04812 = 0,14436

𝑝2 = 4,5𝑝0 = 4,5  0,04812  0,21654

𝑝3 = 4,5𝑝0 = 4,5  0,04812  0,21654

34 34
𝑝4 = 𝑝0 =  0,04812  0,16240
4! 4!

35 35
𝑝5 = 𝑝0 =  0,04812  0,09744
5! 5!

36 36
𝑝6 = 𝑝0 =  0,04812  0,05847
5 ∙ 5! 5  5!

37 37
𝑝7 = 𝑝 =  0,04812  0,03508
52 ∙ 5! 0 52  5!

38 38
𝑝8 = 3 𝑝 = 3  0,04812  0,02105
5 ∙ 5! 0 5  5!

Esses resultados são mostrados na tabela a seguir:

Temos então que a probabilidade de ter 1 carro (cliente) no estacionamento


(sistema), no estado de equilíbrio, é de 0,14436, de ter 2 carros é de 0,21654, de ter 3
carros é de 0,21654 e assim por diante.

267
Outro parâmetro importante a ser calculado é a taxa efetiva de chegada de cliente
(𝜆𝑒𝑓𝑓 ). Observe o seguinte diagrama esquemático:

Os clientes são gerados por uma fonte a uma taxa 𝜆 (6 carros por hora), chegando
ao sistema. Caso o sistema tenha vaga disponível, então o cliente entrará no sistema (a
uma taxa de 𝜆𝑒𝑓𝑓 ), do contrário, se não houver vagas, então o cliente não entrará no
sistema (a uma taxa de perda dada por 𝜆𝑙𝑜𝑠𝑡 ). Isso significa que:
𝜆 = 𝜆𝑒𝑓𝑓 + 𝜆𝑙𝑜𝑠𝑡

Para calcular 𝜆𝑙𝑜𝑠𝑡 precisamos considerar qual é o valor de 𝑛 no qual os carros


(clientes) deixam de entrar no estacionamento (sistema). Como o sistema tem
capacidade para 8 carros (𝑛 = 8), então, se o sistema tiver 8 carros, qualquer novo carro
que chegar (a uma taxa 𝜆8 = 𝜆 = 6 carros por hora) será perdido. Ou seja:
𝜆𝑙𝑜𝑠𝑡 = 𝜆𝑝8 = 6 ∙ 0,02105 = 0,1263 carros por hora

Isto é, a taxa de clientes perdidos por hora ocorre quando temos 8 clientes no
sistema, sendo igual a taxa de chegada quando temos 8 clientes (6 carros por hora)
multiplicada pela probabilidade de termos 8 clientes no sistema (𝑝8 ).

Com isso, temos:


𝜆𝑒𝑓𝑓 = 𝜆 − 𝜆𝑙𝑜𝑠𝑡 = 6 − 0,1263 = 5,8737 carros por hora

Que é a taxa de carros por hora que chegam efetivamente ao estacionamento


(sistema).

Outra medida de desempenho importante é o cálculo do número médio de carros


no estacionamento (no sistema), que considera os carros que estão esperando e os carros
que estão ocupando uma vaga. Temos que:
8

𝐿𝑠 = ∑ 𝑛𝑝𝑛
𝑛=1

Ou seja:

𝐿𝑠 = 1 p1  2 p2  3 p3  4 p4  5 p5  6 p6  7 p7  8 p8 = 3,12865 carros

268
Substituindo os valores das probabilidades mostradas na tabela (calculados
anteriormente), temos 𝐿𝑠 = 3,12865 carros. Ou seja, em média temos 3,12865 carros no
estacionamento (sistema), no estado de equilíbrio.

Para calcular o número médio de carros em espera (número de clientes na fila,


isto é, nas vagas temporárias), podemos utilizar dois procedimentos. O primeiro é
utilizando a equação:
𝑒

𝐿𝑞 = ∑ (𝑛 − 𝑐)𝑝𝑛
𝑛=𝑐+1
8

𝐿𝑞 = ∑(𝑛 − 5)𝑝𝑛
𝑛=6

Que resulta em:

𝐿𝑞 = 1 p6  2 p7  3 p8 = 0,1918 carros

Ou seja, 𝐿𝑞 = 0,1918 carros, no estado de equilíbrio.

Ou então podemos partir da equação:


𝜆𝑒𝑓𝑓
𝐿𝑠 = 𝐿𝑞 +
𝜇
Isolando 𝐿𝑞 temos:
𝜆𝑒𝑓𝑓 5,8737
𝐿𝑞 = 𝐿𝑠 − = 3,12865 − = 0,1918 carros
𝜇 2

Que é o mesmo resultado.

Para calcular o tempo médio de espera de um carro no estacionamento (no


sistema) devemos partir da fórmula de Little:
𝐿𝑠 = 𝜆𝑒𝑓𝑓 𝑊𝑠

Isolando 𝑊𝑠 :
𝐿𝑠 3,12865
𝑊𝑠 = = = 0,53265 horas
𝜆𝑒𝑓𝑓 5,8737

Como as taxas estão em carro por hora, então esse resultado do tempo médio de
espera de um carro no sistema é de 0,53265 horas (que é igual a 0,53265x60 = 31,959
minutos, isto é, aproximadamente 32 minutos).

269
Para calcular o tempo médio de espera de um carro nas vagas temporárias (na
fila em espera para ocupar uma vaga do estacionamento), podemos utilizar dois
procedimentos. O primeiro é utilizando a fórmula de Little:
𝐿𝑞 = 𝜆𝑒𝑓𝑓 𝑊𝑞

Isolando 𝑊𝑞 :
𝐿𝑞 0,1918
𝑊𝑞 = = = 0,03265 horas
𝜆𝑒𝑓𝑓 5,8737

Ou seja, o tempo médio de espera de um carro na vaga temporária é de 0,03265


horas (ou 0,03265x60 = 1,96 minuto, isto é, um carro fica em média quase 2 minutos
esperando na vaga temporária para ocupar uma vaga no estacionamento).

Outra forma de obter esse valor é partindo da equação:


1
𝑊𝑠 = 𝑊𝑞 +
𝜇
Isolando 𝑊𝑞 temos:
1 1
𝑊𝑞 = 𝑊𝑠 − = 0,53265 − = 0,03265
𝜇 2
Que é o mesmo resultado.

Podemos calcular também o número médio de vagas (servidores) ocupadas nesse


estacionamento. Podemos tanto utilizar a equação:
𝑐̅ = 𝐿𝑠 − 𝐿𝑞 = 3,12865 − 0,1918 = 2,93685

Quanto a equação:
𝜆𝑒𝑓𝑓 5,8737
𝑐̅ = = = 2,93685
𝜇 2
Isto é, em média 2,93685 vagas do estacionamento (servidores) são ocupadas, no
estado de equilíbrio (aproximadamente 3 vagas ocupadas em média). Isso significa que
temos, em média, (5 – 2,93685) 2,06315 vagas do estacionamento ociosas
(aproximadamente 2 vagas ociosas).
Podemos ainda calcular a taxa de ocupação (utilização) das vagas (servidores,
instalação):
𝑐̅ 2,93685
Taxa de ocupação dos servidores = = = 0,58737
𝑐 5
Ou:
𝜆𝑒𝑓𝑓 5,8737
Taxa de ocupação dos servidores = = = 0,58737
𝜇𝑐 2∙5

270
Ou seja, em média 58,737% das vagas do estacionamento (instalação ou
servidores) ficam ocupadas (enquanto 1 – 0,58737 = 0,41263 ou 41,263% das vagas ficam
ociosas), no estado de equilíbrio. Isso significa que a taxa de utilização das vagas do
estacionamento (instalação ou servidores) é de 0,58737 (ou 58,737%), isto é, a instalação
(as vagas do estacionamento) ficam ocupadas, em média, em 58,737% do tempo (o
sistema utiliza 58,737% de sua capacidade máxima, que é de 5 vagas), no estado de
equilíbrio.

Modelos de filas com um único servidor

A presente seção irá demonstrar as fórmulas para dois modelos com um único
servidor (c = 1). No primeiro modelo não é estabelecido um limite para o número máximo
de clientes no sistema (e = ∞). Já o segundo modelo considera um limite para o tamanho
do sistema (e = 𝑁).

É importante observar que em ambos os modelos a fonte de capacidade de onde


vem os clientes é infinita (f = ∞). Além disso, as chegadas de cliente ocorrem a uma taxa
de 𝜆 clientes por unidade de tempo e a taxa de serviço é de 𝜇 clientes por unidade de
tempo.

Deve-se ressaltar ainda que ambos os modelos são na verdade condições


específicas do modelo generalizado. Em outras palavras, os modelos apresentados nessa
seção (e também na próxima) são obtidos a partir do modelo generalizado.

Para cada modelo será utilizada a notação de Kendall com o objetivo de definir as
suas características. É considerado ainda, como disciplina da fila, o símbolo GD
(disciplina geral), uma vez que todas as medidas de desempenho apresentadas são
independentes de uma disciplina específica da fila.

Modelo (M/M/1):(GD/∞/∞):
Observe que tanto as chegadas quanto as saídas seguem uma distribuição
exponencial (assim como no modelo generalizado). A característica específica para esse
modelo é que existe apenas 1 servidos (c = 1) e que o número de clientes no sistema é
ilimitado (e = ∞).

Nessas condições, temos que a taxa de chegadas 𝜆 e a taxa de serviço 𝜇 não irão
se alterar em função no número de clientes no sistema 𝑛 (a taxa 𝜆 não se altera pois a
fonte é infinita, enquanto a taxa 𝜇 não se altera pois existe apenas 1 único servidor).

271
Logo, tem-se:
𝜆 =𝜆
{ 𝑛 , para 𝑛 = 0,1,2,3, …
𝜇𝑛 = 𝜇

Além disso, como não existe limite para o sistema (e = ∞), todos os clientes que
chegam podem se juntar ao sistema. Com isso, não haverá perda de clientes 𝜆𝑙𝑜𝑠𝑡 = 0, e
consequentemente 𝜆𝑒𝑓𝑓 = 𝜆.

As probabilidade de estado no equilíbrio é dada por:


𝜆𝑛−1 𝜆𝑛−2 … 𝜆1 𝜆0
𝑝𝑛 = ( ) 𝑝0 , para 𝑛 = 1,2,3,4, …
𝜇𝑛 𝜇𝑛−1 … 𝜇2 𝜇1

Observando que 𝜆𝑛 = 𝜆 e 𝜇𝑛 = 𝜇 chega-se em:


𝜆0 𝜆
𝑝1 = ( ) 𝑝0 = ( ) 𝑝0
𝜇1 𝜇

𝜆1 𝜆0 𝜆∙𝜆 𝜆 2
𝑝2 = ( ) 𝑝0 = ( ) 𝑝0 = ( ) 𝑝0
𝜇2 𝜇1 𝜇∙𝜇 𝜇

𝜆2 𝜆1 𝜆0 𝜆∙𝜆∙𝜆 𝜆 3
𝑝3 = ( )𝑝 = ( ) 𝑝 = ( ) 𝑝0
𝜇3 𝜇2 𝜇1 0 𝜇∙𝜇∙𝜇 0 𝜇

Portanto, de forma geral:


𝜆 𝑛
𝑝𝑛 = ( ) 𝑝0 , para 𝑛 = 0,1,2,3,4, …
𝜇

Para determinar 𝑝0 , devemos considerar o somatório:


∑ 𝑝𝑛 = 1
𝑛=0

Isto é:
𝑝0 + 𝑝1 + 𝑝2 + 𝑝3 + 𝑝4 + 𝑝5 + ⋯ = 1

Substituindo:

𝜆 𝜆 2 𝜆 3 𝜆 4
𝑝0 + ( ) 𝑝 + ( ) 𝑝0 + ( ) 𝑝0 + ) 𝑝0 + ⋯ = 1
(
𝜇 0 𝜇 𝜇 𝜇

Colocando 𝑝0 em evidência:

𝜆 𝜆 2 𝜆 3 𝜆 4
𝑝0 (1 + ( ) + ( ) + ( ) + ( ) + ⋯ ) = 1
𝜇 𝜇 𝜇 𝜇

272
Observe que o termo:

𝜆 𝜆 2 𝜆 3 𝜆 4
1+( )+( ) +( ) +( ) +⋯
𝜇 𝜇 𝜇 𝜇

É uma soma de PG (Progressão Geométrica) infinita, cuja fórmula é:



1
∑ 𝑥𝑖 = , para |𝑥 | < 1
1−𝑥
𝑖=0

Substituindo:

𝜆 𝑖 1
∑( ) =
𝜇 𝜆
𝑖=0 1−𝜇

Assim:
1
𝑝0 =1
𝜆
1−𝜇

Resultando em:
𝜆
𝑝0 = 1 −
𝜇

Dessa forma, a probabilidade de ter 𝑛 clientes no sistema é dada por:


𝜆 𝑛
𝑝𝑛 = ( ) 𝑝0 , para 𝑛 = 0,1,2,3,4, …
𝜇
𝜆 𝑛 𝜆
𝑝𝑛 = ( ) ∙ (1 − ) , para 𝑛 = 0,1,2,3,4, …
𝜇 𝜇
Naturalmente, para que a solução da PG convirja para algum valor finito, é
preciso que 𝜆/𝜇 < 1, ou seja, que 𝜆 < 𝜇. Caso contrário, se 𝜆 ≥ 𝜇 o resultado na PG não
convergirá (tenderá a infinito) e as probabilidade 𝑝𝑛 do estado de equilíbrio não
existirão. De fato, se a taxa de chegada for maior do que a taxa de atendimento, o
comprimento da fila aumentará continuamente e nenhum estado de equilíbrio será
alcançado.

Para o comprimento médio do sistema (número médio de clientes no sistema),


temos:
∞ ∞ ∞
𝜆 𝑛 𝜆 𝜆 𝜆 𝑛
𝐿𝑠 = ∑ 𝑛𝑝𝑛 = ∑ 𝑛 ( ) ∙ (1 − ) = (1 − ) ∑ 𝑛 ( )
𝜇 𝜇 𝜇 𝜇
𝑛=0 𝑛=0 𝑛=0

Vamos definir:
𝜆
𝜌=
𝜇
273
Assim:

𝐿𝑠 = (1 − 𝜌) ∑ 𝑛𝜌 𝑛
𝑛=0

O somatório corresponde a seguinte derivada:


∞ ∞ ∞
𝑑
∑ 𝑛𝜌 𝑛 = 𝜌 ∑ 𝑛𝜌 𝑛−1 =𝜌 ∑ 𝜌𝑛
𝑑𝜌
𝑛=0 𝑛=0 𝑛=0

Além disso, o somatório corresponde a uma soma de PG infinita:



1
∑ 𝜌𝑛 =
1−𝜌
𝑛=0

Substituindo:

𝑑 𝑑 1 1 𝜌
𝜌 ∑ 𝜌𝑛 = 𝜌 ( )=𝜌 2
=
𝑑𝜌 𝑑𝜌 1 − 𝜌 (1 − 𝜌) (1 − 𝜌)2
𝑛=0

Logo:

𝜌
∑ 𝑛𝜌 𝑛 =
(1 − 𝜌)2
𝑛=0

Substituindo na equação de 𝐿𝑠 :

𝜌 𝜌
𝐿𝑠 = (1 − 𝜌) ∑ 𝑛𝜌 𝑛 = (1 − 𝜌) =
(1 − 𝜌)2 1 − 𝜌
𝑛=0

Portanto:
𝜆
𝜇 𝜆
𝐿𝑠 = =
𝜆 𝜇−𝜆
1−𝜇

𝜆
𝐿𝑠 =
𝜇−𝜆
Como 𝜆𝑒𝑓𝑓 = 𝜆, temos que o tempo médio de espera no sistema é dado por:
𝜆
𝐿𝑠 𝐿𝑠 𝜇 − 𝜆 1
𝑊𝑠 = = = =
𝜆𝑒𝑓𝑓 𝜆 𝜆 𝜇−𝜆
1
𝑊𝑠 =
𝜇−𝜆

274
Além disso, o tempo médio de espera na fila é dado por:
1 1 1 𝜆
𝑊𝑞 = 𝑊𝑠 − = − =
𝜇 𝜇 − 𝜆 𝜇 𝜇 ∙ (𝜇 − 𝜆)
𝜆
𝑊𝑞 =
𝜇 ∙ (𝜇 − 𝜆)

Já, o comprimento médio da fila é dado por:


𝜆 𝜆2
𝐿𝑞 = 𝜆𝑒𝑓𝑓 𝑊𝑞 = 𝜆𝑊𝑞 = 𝜆 =
𝜇 ∙ (𝜇 − 𝜆) 𝜇 ∙ (𝜇 − 𝜆)
𝜆2
𝐿𝑞 =
𝜇 ∙ (𝜇 − 𝜆)

E o número médio de servidores ocupados é dado por:


𝜆𝑒𝑓𝑓 𝜆
𝑐̅ = =
𝜇 𝜇
𝜆
𝑐̅ =
𝜇
Por fim, a taxa de ocupação dos servidores é dada por:
𝜆
𝑐̅ 𝜇 𝜆
Taxa de ocupação dos servidores = = =
𝑐 1 𝜇
𝜆
Taxa de ocupação dos servidores =
𝜇

Modelo (M/M/1):(GD/N/∞):

Esse modelo é diferente do modelo (M/M/1):(GD/∞/∞), pois há um limite 𝑁 para o


número de clientes no sistema (isto é, um valor limite para o comprimento do sistema).
Consequentemente, o comprimento máximo da fila (número máximo de clientes na fila)
será dado por 𝑁 − 1 (pois existe 1 cliente sendo atendido).

Dentre os exemplos de aplicações que se enquadram nessa situação estão aquelas


que possuem espaço limitado (capacidade limitada) com um único servidor, como uma
máquina que possua uma área de recebimento de materiais limitada, um restaurante
fast food com um único guichê de drive in etc.
Para esse caso, temos que:
𝜆, para 𝑛 = 0,1,2, … , 𝑁 − 1
𝜆𝑛 = {
0, para 𝑛 = 𝑁, 𝑁 + 1
𝜇𝑛 = 𝜇 , para 𝑛 = 0,1,2, …

275
Nesse caso, de forma equivalente ao modelo anterior, a probabilidade de ter 𝑛
clientes no sistema é dada por:
𝜆 𝑛
( ) 𝑝0 , para 𝑛 ≤ 𝑁
𝑝𝑛 = { 𝜇
0, para 𝑛 > 𝑁

Ou seja, ela é igual a fórmula anterior, desde que 𝑛 ≤ 𝑁 (e igual a 0 para 𝑛 > 𝑁).

O valor de 𝑝0 é calculado com base na equação:


𝑁

∑ 𝑝𝑛 = 1
𝑛=0

Isto é:
𝑝0 + 𝑝1 + 𝑝2 + 𝑝3 + ⋯ + 𝑝𝑁 = 1

Substituindo e colocando 𝑝0 em evidência:

𝜆 𝜆 2 𝜆 3 𝜆 𝑁
𝑝0 (1 + ( ) + ( ) + ( ) + ⋯ + ( ) ) = 1
𝜇 𝜇 𝜇 𝜇

Observe que o termo:

𝜆 𝜆 2 𝜆 3 𝜆 𝑁
1 + ( )+ ( ) + ( ) + ⋯+ ( )
𝜇 𝜇 𝜇 𝜇
É uma soma de PG (Progressão Geométrica) finita, cuja fórmula é:
𝑘
𝑥𝑘 − 1
∑ 𝑥𝑖 = , para 𝑥 ≠ 1
𝑥−1
𝑖=0

Em que 𝑘 é o número de termos. Note que o número de termos é 𝑘 = 𝑁 + 1 (pois


tem o termo 𝑛 = 0). Assim:

𝑁+1 𝜆 𝑁+1
𝜆 ( 𝑖) −1
𝜇
∑( ) =
𝜇 𝜆
𝑖=0 −1
𝜇

Substituindo:

𝜆 𝑁+1
( ) −1
𝜇
𝑝0 =1
𝜆
− 1
𝜇

276
Resultando em:
𝜆
−1 𝜆
𝜇
𝑝0 = 𝑁+1 , para ≠1
𝜆 𝜇
(𝜇 ) −1

Se 𝑥 = 1, então esse somatório é igual a 𝑁 + 1:


𝑁+1 𝑁+1
𝑖
∑𝑥 = ∑1 = 𝑁+1, para 𝑥 = 1
𝑖=1 𝑖=1

Assim:
𝑁+1
𝜆 𝑖
∑( ) =𝑁+1
𝜇
𝑖=1

Substituindo:
𝑝0 (𝑁 + 1) = 1

Resultando em:
1 𝜆
𝑝0 = , para =1
𝑁+1 𝜇
Dessa forma, a probabilidade de ter 𝑛 clientes no sistema é dada por:
𝜆
𝜆 𝑛 𝜇−1 𝜆
( ) ∙ 𝑁+1 , para ≠1
𝜇 𝜆 𝜇
𝑝𝑛 = [(𝜇 ) − 1]
1 𝜆
, para =1
{ 𝑁+1 𝜇
Naturalmente, essa fórmula vale para 𝑛 ≤ 𝑁 (caso contrário, para 𝑛 > 𝑁, 𝑝𝑛 é
igual a 0).
É importante ressaltar que a razão 𝜆/𝜇, diferentemente do modelo anterior, não
precisa ser menor do que 1, pois as chegadas são controladas pelo próprio limite 𝑁 do
sistema. Isso significa que a taxa que importa é a 𝜆𝑒𝑓𝑓 e não 𝜆.

Como haverá perda de clientes quando houver 𝑁 clientes no sistema, temos que:
𝜆𝑙𝑜𝑠𝑡 = 𝜆𝑝𝑁
𝜆𝑒𝑓𝑓 = 𝜆 − 𝜆𝑙𝑜𝑠𝑡 = 𝜆(1 − 𝑝𝑁 )

Nesse caso, teremos sempre 𝜆𝑒𝑓𝑓 < 𝜇 e portanto o sistema tenderá a um equilíbrio.

277
O número esperado de clientes no sistema é calculado como:

𝑁 𝑁 𝜆 𝜆 𝑁
𝜆 𝑛 −1 −1 𝜆 𝑛
𝜇 𝜇
𝐿𝑠 = ∑ 𝑛𝑝𝑛 = ∑ 𝑛 ( ) ∙ = ∑𝑛( )
𝜇 𝜆 𝑁+1 𝜆 𝑁+1 𝜇
[(𝜇 ) − 1] [( 𝜇 ) − 1] 𝑛=1
𝑛=1 𝑛=0

Vamos definir:
𝜆
𝜌=
𝜇
Assim:
𝑁
𝜌−1
𝐿𝑠 = [ 𝑁+1 ] ∑ 𝑛𝜌 𝑛
𝜌 −1
𝑛=0

O somatório corresponde a seguinte derivada:


𝑁 𝑁 𝑁
𝑛 𝑛−1
𝑑
∑ 𝑛𝜌 = 𝜌 ∑ 𝑛𝜌 =𝜌 ∑ 𝜌𝑛
𝑑𝜌
𝑛=0 𝑛=0 𝑛=0

Além disso, o somatório corresponde a uma soma de PG finita:


𝑁 𝑁+1
𝜌 𝑁+1 − 1
∑ 𝜌 = ∑ 𝜌𝑛 =
𝑛
𝜌−1
𝑛=0 𝑛=1

Substituindo:
𝑁
𝑑 𝑛
𝑑 𝜌 𝑁+1 − 1 𝜌[𝑁𝜌 𝑁+1 − (𝑁 + 1)𝜌 𝑁 + 1]
𝜌 ∑ 𝜌 =𝜌 ( )=
𝑑𝜌 𝑑𝜌 𝜌−1 (1 − 𝜌)2
𝑛=1

Logo:
𝑁
𝜌[𝑁𝜌 𝑁+1 − (𝑁 + 1)𝜌 𝑁 + 1]
∑ 𝑛𝜌 𝑛 =
(1 − 𝜌)2
𝑛=0

Substituindo na equação de 𝐿𝑠 :
𝑁
𝜌−1 𝜌 − 1 𝜌[𝑁𝜌 𝑁+1 − (𝑁 + 1)𝜌 𝑁 + 1]
𝐿𝑠 = [ 𝑁+1 ] ∑ 𝑛𝜌 𝑛 = [ 𝑁+1 ]
𝜌 −1 𝜌 −1 (1 − 𝜌)2
𝑛=0

Portanto:
𝜌[𝑁𝜌 𝑁+1 − (𝑁 + 1)𝜌 𝑁 + 1] 𝜆
𝐿𝑠 = , para 𝜌 = ≠1
(𝜌 𝑁+1 − 1)(1 − 𝜌) 𝜇

278
Para o caso em que 𝜆/𝜇 = 1 (isto é, 𝜌 = 1), temos que:
𝑁 𝑁 𝑁
1 1
𝐿𝑠 = ∑ 𝑛𝑝𝑛 = ∑ 𝑛 = ∑𝑛
𝑁+1 𝑁+1
𝑛=1 𝑛=1 𝑛=1

Observe que o termo:


𝑁

∑𝑛
𝑛=1

É uma soma de PA (Progressão Aritmética), em que o primeiro termo é 1, o último


termo é 𝑁 e o número de termos também é 𝑁. Assim:
𝑁
(1 + 𝑁) 𝑁(𝑁 + 1)
∑𝑛 =𝑁∙ =
2 2
𝑛=1

Substituindo:
𝑁
1 1 𝑁(𝑁 + 1) 𝑁
𝐿𝑠 = ∑𝑛 = =
𝑁+1 𝑁+1 2 2
𝑛=1

Logo:
𝑁 𝜆
𝐿𝑠 = , para =1
2 𝜇

A partir daí, as demais medidas de desempenho são obtidas utilizando as


fórmulas:
𝐿𝑠 𝐿𝑠
𝑊𝑠 = =
𝜆𝑒𝑓𝑓 𝜆(1 − 𝑝𝑁 )
1
𝑊𝑞 = 𝑊𝑠 −
𝜇
𝐿𝑞 = 𝜆𝑒𝑓𝑓 𝑊𝑞 = 𝜆(1 − 𝑝𝑁 )𝑊𝑞
𝜆𝑒𝑓𝑓 𝜆(1 − 𝑝𝑁 )
𝑐̅ = =
𝜇 𝜇
𝜆(1 − 𝑝𝑁 )
𝑐̅ 𝜇 𝜆(1 − 𝑝𝑁 )
Taxa de ocupação dos servidores = = =
𝑐 1 𝜇

279
Modelos de filas com múltiplos servidores

Esta seção considera dois modelos de filas com múltiplos servidores em paralelo.
É importante observar que ambos os modelos que serão apresentados aqui são versões
multisservidores dos dois modelos demonstrados na seção anterior. Além disso, deve-se
ressaltar que ambos os modelos aqui apresentados, assim como na seção anterior, serão
obtidos a partir do modelo generalizado.

Modelo (M/M/c):(GD/∞/∞):

Nesse modelo há c servidores em paralelo. A taxa de chegada de clientes é 𝜆 e a


taxa de serviço por servidor é 𝜇. Como não há limite para o número de clientes no sistema
(e = ∞), então temos que 𝜆𝑒𝑓𝑓 = 𝜆.

O efeito da utilização de c servidores em paralelo é um aumento proporcional da


taxa de serviço da instalação. Assim:
𝜆𝑛 = 𝜆 , para 𝑛 = 0,1,2, …
𝑛𝜇 , para 𝑛 < 𝑐
𝜇𝑛 = { 𝑐𝜇, para 𝑛 ≥ 𝑐

Note que a taxa de serviço cresce com 𝑛 até que se alcance o número de servidores
em paralelo 𝑐 (primeiro termo). Em outras palavras, com apenas um cliente no sistema
(𝑛 = 1), a taxa de serviço é 𝜇; com dois clientes no sistema (𝑛 = 2), a taxa de serviço é 2𝜇;
com três clientes no sistema (𝑛 = 3), a taxa de serviço é 3𝜇, e assim por diante até 𝑛 = 𝑐.
A partir daí, a taxa de serviço passa a ser constante (segundo termo), isto é passa a ser
dada por 𝑐𝜇.

Considere um exemplo dado anteriormente em que haviam 5 servidores em


paralelo. A partir dos resultados para 𝑝𝑛 , pode-se concluir que:

Para 𝑛 < 𝑐:
34
𝑝4 = 𝑝
4! 0
Logo:
𝜆 𝑛
( )
µ
𝑝𝑛 = 𝑝
𝑛! 0
Para 𝑛 ≥ 𝑐:
38
𝑝8 = 𝑝
53 ∙ 5! 0

280
Logo:
𝑛
𝜆
( )
µ
𝑝𝑛 = 𝑝0
𝑐 𝑛−𝑐 ∙ 𝑐!
Assim:
𝜆 𝑛
( )
µ
𝑝 , para 𝑛 < 𝑐
𝑝𝑛 = 𝑛! 0
𝜆 𝑛
( )
µ
{𝑐 𝑛−𝑐 ∙ 𝑐! 𝑝0 , para 𝑛 ≥ 𝑐

Para determinar 𝑝0 , devemos considerar o somatório:


∑ 𝑝𝑛 = 1
𝑛=0

Considerando 𝜌 = 𝜆/µ e dado que 𝜌/𝑐 < 1 (para que a solução convirja), temos:
𝑐−1 ∞
𝜌𝑛 𝜌𝑛
∑ 𝑝0 + ∑ 𝑛−𝑐 𝑝 =1
𝑛! 𝑐 ∙ 𝑐! 0
𝑛=0 𝑛=𝑐

𝑐−1 ∞
𝜌𝑛 𝜌𝑛−𝑐
𝑝0 [∑ + 𝜌𝑐 ∑ 𝑛−𝑐 ] = 1
𝑛! 𝑐 ∙ 𝑐!
𝑛=0 𝑛=𝑐

𝑐−1 ∞
𝜌 𝑛 𝜌𝑐 𝜌 𝑛−𝑐
𝑝0 [∑ + ∑( ) ] = 1
𝑛! 𝑐! 𝑐
𝑛=0 𝑛=𝑐

(⋮ )
𝑐−1
𝜌𝑛 𝜌 𝑐 1
𝑝0 [∑ + ( )] = 1
𝑛! 𝑐! 1 − 𝜌
𝑛=0 𝑐
Resultando em:
1
𝑝0 =
𝜌𝑛 𝜌𝑐 1
∑𝑐−1
𝑛=0 𝑛! + 𝑐! (1 − 𝜌)
𝑐

281
Assim:
𝜌𝑛 1
, para 𝑛 < 𝑐
𝑛!
𝜌𝑛 𝜌𝑐 1
∑𝑐−1
𝑛=0 𝑛! + 𝑐! (1 − 𝜌)
𝑐
𝑝𝑛 =
𝜌𝑛 1
, para 𝑛 ≥ 𝑐
𝑐 𝑛−𝑐 ∙ 𝑐!
𝜌𝑛 𝜌𝑐
1
∑𝑐−1
𝑛=0 𝑛! + 𝑐! (1 − 𝜌)
{ 𝑐
A expressão para o comprimento médio da fila pode ser obtida a partir da seguinte
expressão:

𝐿𝑞 = ∑(𝑛 − 𝑐)𝑝𝑛
𝑛=𝑐

Considere 𝑘 = 𝑛 − 𝑐. Assim:

𝐿𝑞 = ∑ 𝑘𝑝𝑘+𝑐
𝑘=0

Como estamos calculando a fila, 𝑛 ≥ 𝑐, assim:


𝜌𝑛
𝑝𝑛 = 𝑝0
𝑐 𝑛−𝑐 ∙ 𝑐!
Substituindo:
∞ ∞ ∞
𝜌 𝑘+𝑐 𝜌𝑘 𝜌𝑐
𝐿𝑞 = ∑ 𝑘𝑝𝑘+𝑐 = ∑ 𝑘 𝑝0 = ∑ 𝑘 𝑝0
𝑐𝑘 ∙ 𝑐! 𝑐𝑘 ∙ 𝑐!
𝑘=0 𝑘=0 𝑘=0
∞ ∞ ∞
𝜌 𝑐 𝑝0 𝑘𝜌 𝑘 𝜌 𝑐+1 𝑝0 𝑘𝜌 𝑘−1 𝜌 𝑐+1 𝑝0 𝜌 𝑘−1
𝐿𝑞 = ∑ = ∑ = ∑𝑘( )
𝑐! 𝑐𝑘 𝑐! 𝑐 𝑐𝑘−1 𝑐! 𝑐 𝑐
𝑘=0 𝑘=0 𝑘=0

Considere:
𝜌 𝜆
𝛽= =
𝑐 µ𝑐
Com isso:
∞ ∞
𝜌 𝑐+1 𝑝0 𝜌 𝑐+1 𝑝0 𝑑
𝐿𝑞 = ∑ 𝑘𝛽𝑘−1 = ∑ 𝛽𝑘
𝑐! 𝑐 𝑐! 𝑐 𝑑𝛽
𝑘=0 𝑘=0

(⋮ )

𝜌 𝑐+1
𝐿𝑞 = 𝑝0
(𝑐 − 1)! (𝑐 − 𝜌)2

282
Como 𝜆𝑒𝑓𝑓 = 𝜆, temos que:
𝜆𝑒𝑓𝑓 𝜆
𝐿 𝑠 = 𝐿𝑞 + = 𝐿𝑞 + = 𝐿𝑞 + 𝜌
𝜇 𝜇
𝐿𝑠 𝐿𝑠
𝑊𝑠 = =
𝜆𝑒𝑓𝑓 𝜆
1
𝑊𝑞 = 𝑊𝑠 −
𝜇
Ou:
𝐿𝑞 𝐿𝑞
𝑊𝑞 = =
𝜆𝑒𝑓𝑓 𝜆
𝜆𝑒𝑓𝑓 𝜆
𝑐̅ = =
𝜇 𝜇
𝜆
𝑐̅ 𝜇 𝜆
Taxa de ocupação dos servidores = = =
𝑐 𝑐 𝑐𝜇

Modelo (M/M/c):(GD/N/∞):

Esse modelo é diferente do modelo (M/M/c):(GD/∞/∞), pois há um limite 𝑁 para o


número de clientes no sistema (isto é, um valor limite para o comprimento do sistema).
Consequentemente, o comprimento máximo da fila (número máximo de clientes na fila)
será dado por 𝑁 − 𝑐 (pois existem c clientes sendo atendidos).

Para esse caso, temos que:


𝜆, para 𝑛 ≤ 𝑁
𝜆𝑛 = {
0, para 𝑛 > 𝑁
𝑛𝜇 , para 𝑛 < 𝑐
𝜇𝑛 = {𝑐𝜇, para 𝑐 ≤ 𝑛 ≤ 𝑁

Nesse caso, de forma equivalente ao modelo anterior, a probabilidade de ter 𝑛


clientes no sistema é dada por:
𝜆 𝑛
( )
µ
𝑝 , para 𝑛 < 𝑐
𝑝𝑛 = 𝑛! 0
𝜆 𝑛
( )
µ
{𝑐 𝑛−𝑐 ∙ 𝑐! 𝑝0 , para 𝑐 ≤ 𝑛 ≤ 𝑁

Considerando:
𝜆
𝜌=
µ

283
Temos então:
𝜌𝑛
𝑝 , para 𝑛 < 𝑐
𝑝𝑛 = { 𝑛! 0
𝜌𝑛
𝑝0 , para 𝑐 ≤ 𝑛 ≤ 𝑁
𝑐 𝑛−𝑐 ∙ 𝑐!
O valor de 𝑝0 é calculado com base na equação:
𝑁

∑ 𝑝𝑛 = 1
𝑛=0

Isto é:
𝑐−1 𝑁
𝜌𝑛 𝜌𝑛
∑ 𝑝0 + ∑ 𝑛−𝑐 𝑝 =1
𝑛! 𝑐 ∙ 𝑐! 0
𝑛=0 𝑛=𝑐

(⋮ )

Resultando em (após muitas manipulações algébricas):


1 𝜌
𝑁−𝑐+1 , para ≠1
𝑐 (1 𝜌 𝑐
)
𝜌𝑛 𝜌 − (𝑐 )
∑𝑐−1
𝑛=0 𝑛! + 𝜌
𝑝0 = (1 − 𝑐 ) 𝑐!
1 𝜌
, para =1
𝜌𝑛 𝜌𝑐 𝑐
∑𝑐−1
{ 𝑛=0 𝑛! + 𝑐! (𝑁 − 𝑐 + 1)
A expressão para o comprimento médio da fila pode ser obtida a partir da seguinte
expressão:
𝑁

𝐿𝑞 = ∑(𝑛 − 𝑐)𝑝𝑛
𝑛=𝑐

Considere 𝑘 = 𝑛 − 𝑐. Assim:
𝑁−𝑐

𝐿𝑞 = ∑ 𝑘𝑝𝑘+𝑐
𝑘=0

Como estamos calculando a fila, 𝑛 ≥ 𝑐, assim:


𝜌𝑛
𝑝𝑛 = 𝑝0
𝑐 𝑛−𝑐 ∙ 𝑐!
Substituindo:
𝑁−𝑐 𝑁−𝑐 𝑁−𝑐
𝜌 𝑘+𝑐 𝜌𝑘 𝜌𝑐
𝐿𝑞 = ∑ 𝑘𝑝𝑘+𝑐 = ∑ 𝑘 𝑝0 = ∑ 𝑘 𝑝0
𝑐𝑘 ∙ 𝑐! 𝑐𝑘 ∙ 𝑐!
𝑘=0 𝑘=0 𝑘=0
𝑁−𝑐 𝑁−𝑐 𝑁−𝑐
𝜌 𝑐 𝑝0 𝑘𝜌 𝑘 𝜌 𝑐+1 𝑝0 𝑘𝜌 𝑘−1 𝜌 𝑐+1 𝑝0 𝜌 𝑘−1
𝐿𝑞 = ∑ = ∑ = ∑𝑘( )
𝑐! 𝑐𝑘 𝑐! 𝑐 𝑐𝑘−1 𝑐! 𝑐 𝑐
𝑘=0 𝑘=0 𝑘=0
284
Considere:
𝜌 𝜆
𝛽= =
𝑐 µ𝑐
Com isso:
𝑁−𝑐 𝑁−𝑐
𝜌 𝑐+1 𝑝0 𝜌 𝑐+1 𝑝0 𝑑
𝐿𝑞 = ∑ 𝑘𝛽𝑘−1 = ∑ 𝛽𝑘
𝑐! 𝑐 𝑐! 𝑐 𝑑𝛽
𝑘=0 𝑘=0

(⋮ )

𝜌 𝑐+1 𝜌 𝑁−𝑐+1 𝜌 𝜌 𝑁−𝑐


𝐿𝑞 = {1 − ( ) − (𝑁 − 𝑐 + 1) (1 − ) ( ) } 𝑝0
(𝑐 − 1)! (𝑐 − 𝜌)2 𝑐 𝑐 𝑐

Pode-se demonstrar que, para 𝜌/𝑐 = 1, 𝐿𝑞 se reduz a:

𝜌 𝑐 (𝑁 − 𝑐)(𝑁 − 𝑐 + 1)
𝐿𝑞 = 𝑝0
2 𝑐!
Assim:
𝜌 𝑐+1 𝜌 𝑁−𝑐+1 𝜌 𝜌 𝑁−𝑐 𝜌
{1 − ( ) − (𝑁 − 𝑐 + 1) (1 − ) ( ) } 𝑝0 , para ≠1
(𝑐 − 1)! (𝑐 − 𝜌)2 𝑐 𝑐 𝑐 𝑐
𝐿𝑞 =
𝜌 𝑐 (𝑁 − 𝑐)(𝑁 − 𝑐 + 1) 𝜌
𝑝0 , para = 1
{ 2 𝑐! 𝑐
Como haverá perda de clientes quando houver 𝑁 clientes no sistema, temos que:
𝜆𝑙𝑜𝑠𝑡 = 𝜆𝑝𝑁
𝜆𝑒𝑓𝑓 = 𝜆 − 𝜆𝑙𝑜𝑠𝑡 = 𝜆(1 − 𝑝𝑁 )

Dessa forma:
𝜆𝑒𝑓𝑓 𝜆(1 − 𝑝𝑁 )
𝐿𝑠 = 𝐿𝑞 + = 𝐿𝑞 +
𝜇 𝜇
𝐿𝑠 𝐿𝑠
𝑊𝑠 = =
𝜆𝑒𝑓𝑓 𝜆(1 − 𝑝𝑁 )
1
𝑊𝑞 = 𝑊𝑠 −
𝜇
Ou:
𝐿𝑞 𝐿𝑞
𝑊𝑞 = =
𝜆𝑒𝑓𝑓 𝜆(1 − 𝑝𝑁 )
𝜆𝑒𝑓𝑓 𝜆(1 − 𝑝𝑁 )
𝑐̅ = =
𝜇 𝜇
𝜆(1 − 𝑝𝑁 )
𝑐̅ 𝜇 𝜆(1 − 𝑝𝑁 )
Taxa de ocupação dos servidores = = =
𝑐 𝑐 𝑐𝜇
285
Modelos de decisão de filas baseados em custo

O nível de serviço de uma instalação de fila é uma função da taxa de serviço 𝜇 e


do número de servidores em paralelo 𝑐. Esta seção apresenta um modelo de custo para
determinar os níveis “adequados” de serviço para um sistema de filas.

É importante observar que tal modelo reconhece que níveis mais elevados de
serviço reduzem o tempo (e o custo) de espera do cliente no sistema, mas aumenta o
custo da instalação. Por outro lado, menores níveis de serviço reduzem o custo da
instalação, mas aumentam o tempo (e o custo) de espera do cliente.

Logo, o modelo aqui apresentado visa encontrar um equilíbrio entre os fatores


conflitantes de nível de serviço e tempo de espera, buscando otimizar (encontrar o valor
mínimo) para o custo total (custo do serviço mais custo da espera).

Os modelos de custo buscam equilibrar dois custos conflitantes:

1. Custo de oferecer o serviço.


2. Custo da demora na oferta do serviço (tempo de espera do cliente).

Note que os dois custos estão em conflito pois o aumento de um provoca a redução
do outro, e vice-versa.

Considere o nível de serviço 𝑥 = 𝜇 ou 𝑥 = 𝑐. Nesse caso, o modelo de custo (custo


total) pode ser expresso por:
𝐸𝑇𝐶 (𝑥 ) = 𝐸𝑂𝐶 (𝑥 ) + 𝐸𝑊𝐶(𝑥)

Em que:

𝐸𝑇𝐶 = custo total esperado por unidade de tempo.

𝐸𝑂𝐶 = custo esperado (médio) de operação da instalação por unidade de tempo


(custo do serviço).

𝐸𝑊𝐶 = custo esperado (médio) de espera do cliente por unidade de tempo (custo
da espera).

286
As formas mais simples para o 𝐸𝑂𝐶 (custo do serviço) e o 𝐸𝑊𝐶 (custo de espera)
são as seguintes funções lineares:
𝐸𝑂𝐶 (𝑥 ) = 𝐶1 𝑥
𝐸𝑊𝐶 (𝑥 ) = 𝐶2 𝐿𝑠

Em que:

𝐶1 = custo marginal por unidade de 𝑥, por unidade de tempo.

𝑥 = taxa de serviço 𝜇 ou número de servidores em paralelo 𝑐.

𝐶2 = custo de espera por unidade de tempo, por cliente “esperando”.

𝐿𝑠 = número esperado de clientes no sistema (número médio de clientes


esperando).

O exemplo a seguir ilustra a utilização do modelo de custo em que 𝑥 é igual ao


número de servidores paralelos 𝑐 (deve-se ressaltar que o índice de serviço pode ser
representado também pela taxa de serviço 𝜇).

Exemplo 1:

Uma empresa está em processo de comprar uma copiadora comercial de alta


velocidade. Os fabricantes propuseram quatro modelos, cujas especificações estão
resumidas na seguinte tabela:

Os clientes chegam à empresa seguindo uma distribuição de Poisson com média


de quatro clientes por dia de 24 horas. O tamanho do serviço contratado por cliente é
aleatório, mas a média é aproximadamente 10.000 folhas por serviço (por cliente). Os
contratos com clientes especificam um custo de multa para atraso de entrega de $ 80
por serviço por dia (isto é, caso o cliente não seja atendido, haverá uma multa de $ 80).
Nesse caso, qual a copiadora a empresa deve comprar?

287
Solução:

Representado cada modelo da copiadora pelo índice 𝑖, em que 𝑖 = 1,2,3,4, o custo


total esperado por dia associado a cada copiadora 𝑖 é:
𝐸𝑇𝐶𝑖 = 𝐸𝑂𝐶𝑖 + 𝐸𝑊𝐶𝑖

Sabendo que um dia tem 24 horas e que o custo operacional apresentado na tabela
está em $ por hora, temos que:
𝐸𝑇𝐶𝑖 = 24𝐶1𝑖 𝑐 + 𝐶2𝑖 𝐿𝑠𝑖

Logo, como só existe uma máquina (𝑐 = 1):


𝐸𝑇𝐶𝑖 = 24𝐶1𝑖 + 80𝐿𝑠𝑖 , para 𝑖 = 1,2,3,4

Note que os valores de 𝐶1𝑖 são o custo operacional em $ por hora (por isso ele foi
multiplicado por 24 para calcular o custo operacional em $ por dia) para cada modelo,
mostrados na tabela. O número de clientes não atendidos é o número de clientes no
sistema 𝐿𝑠 (por exemplo, se 𝐿𝑠 = 3, então existem em média 3 clientes no sistema, isto é,
existem 3 clientes que não foram atendidos). É importante ressaltar que tanto os
clientes na fila quanto os clientes em atendimento ainda não foram atendidos.
O modelo de filas para esse problema possui apenas um servidor (uma máquina
copiadora) e não existem limites para o número máximo de clientes no sistema. Logo,
esse problema pode ser tratado como um modelo (M/M/1):(GD/∞/∞). Assim:
𝜆
𝐿𝑠𝑖 =
𝜇𝑖 − 𝜆

A taxa de chegada de cliente (taxa de chegada de serviços contratados por dia) é


de 𝜆 = 4 serviços (clientes) por dia. Já a taxa de serviço 𝜇𝑖 depende de cada modelo, como
mostrado na tabela anterior (depende da velocidade de cada copiadora, dada em folhas
por minuto).

A taxa de serviço para cada modelo é calculada da seguinte forma:

Para o modelo 1:
10.000 333,33
Tempo médio por serviço = = 333,33 minutos = = 0,2315 dias
30 60 ∙ 24
1
𝜇1 = = 4,32 clientes (serviços) por dia
0,2315
Para o modelo 2:
10.000
Tempo médio por serviço = = 0,1929 dias
36 ∙ 60 ∙ 24
1
𝜇2 = = 5,18 clientes (serviços) por dia
0,1929

288
Para o modelo 3:
10.000
Tempo médio por serviço = = 0,13889 dias
50 ∙ 60 ∙ 24
1
𝜇3 = = 7,2 clientes (serviços) por dia
0,13889
Para o modelo 4:
10.000
Tempo médio por serviço = = 0,10522 dias
66 ∙ 60 ∙ 24
1
𝜇4 = = 9,5 clientes (serviços) por dia
0,10522
A tabela a seguir resume esses resultados:

A partir dessa tabela, e sabendo que 𝜆 = 4 serviços (clientes) por dia, pode-se
calcular o comprimento médio do sistema por meio de:
𝜆
𝐿𝑠𝑖 =
𝜇𝑖 − 𝜆

Para o modelo 1:
𝜆 4
𝐿𝑠1 = = = 12,5 clientes (serviços)
𝜇1 − 𝜆 4,32 − 4
Para o modelo 2:
𝜆 4
𝐿𝑠2 = = = 3,39 clientes (serviços)
𝜇2 − 𝜆 5,18 − 4

Para o modelo 3:
𝜆 4
𝐿𝑠3 = = = 1,25 clientes (serviços)
𝜇3 − 𝜆 7,2 − 4

Para o modelo 4:
𝜆 4
𝐿𝑠4 = = = 0,73 clientes (serviços)
𝜇4 − 𝜆 9,5 − 4

289
A tabela a seguir resume todos esses dados do problema:

Observe que o modelo 1 representa a copiadora com menor índice de serviço (que
é representado pela taxa de serviço), e por isso, é a que possui o maior número de clientes
no sistema (maior número de atrasos). Por outro lado, o modelo 4 é a copiadora com
maior índice de serviço (maior taxa de serviço), e por isso, é a que possui menor número
de atrasos.

Finalmente, os custos podem ser calculados da seguinte forma:

Para o modelo 1:
𝐸𝑇𝐶1 = 24𝐶11 + 80𝐿𝑠1 = 24 ∙ 15 + 80 ∙ 12,5 = 360 + 1.000 = $ 1.360,00

Para o modelo 2:
𝐸𝑇𝐶2 = 24𝐶12 + 80𝐿𝑠2 = 24 ∙ 20 + 80 ∙ 3,39 = 480 + 271,2 = $ 751,20

Para o modelo 3:
𝐸𝑇𝐶3 = 24𝐶13 + 80𝐿𝑠3 = 24 ∙ 24 + 80 ∙ 1,25 = 576 + 100 = $ 676,00

Para o modelo 4:
𝐸𝑇𝐶4 = 24𝐶14 + 80𝐿𝑠4 = 24 ∙ 27 + 80 ∙ 0,73 = 648 + 58,4 = $ 706,40

A tabela a seguir apresenta esses resultados:

Note que o primeiro termo (custo do serviço, isto é, custo da copiadora) aumenta
e o segundo termo (custo da espera, isto é, custo do atraso do serviço) diminui conforme
o nível de serviço (taxa de serviço) aumenta. Observe ainda que o modelo ótimo (que
minimiza o custo total) é o modelo 3, destacado na tabela.

290
Modelos computacionais para o estudo das filas

Deve-se notar que, muitas vezes, não é possível desenvolver modelos analíticos
para sistemas de filas, devido à complexidade das chegadas ou dos serviços. É o caso de
sistemas com várias estações de serviço, clientes com algum tipo de prioridade de
atendimento e modelos não Markovianos, no qual a informação do que ocorreu no
passado é importante além de o conhecimento do estado atual do sistema.

Na resolução destes problemas pode ser necessário passar das técnicas analíticas
para as simulações (modelos computacionais), embora deva ser destacado que os
métodos analíticos, sendo viáveis, sempre fornecerão melhores resultados que os
métodos de simulação (fornecerão o resultado exato).

Contudo, a simulação oferece uma alternativa para problemas não resolúveis


analiticamente, sendo portanto mais robusto (pode ser aplicado a uma gama maior de
situações). A máxima diz que “um modelo analítico encontra uma solução exata para
problemas ideias, enquanto a simulação encontra uma solução aproximada para
problemas reais”. A simulação, embora sendo uma arma poderosa e bastante prática,
apresenta dois grandes inconvenientes:

 Em primeiro lugar, não permite o conhecimento mais preciso da estrutura do


fenômeno, sendo geralmente válida apenas para o caso particular analisado (isto
é, o modelo computacional construído é útil para analisar apenas a situação
dimensionada).
 Em segundo lugar, pode consumir tempo excessivo de computação, visto que exige
a análise de várias configurações, consumindo em cada configuração períodos
relativamente extensos de processamento.

Logo, a melhor abordagem é aquela que permite uma análise preliminar, através
de um modelo matemático analítico, seguida de uma simulação (quando necessária), que
leve em conta aspectos não considerados, uma vez que nem sempre os modelos de filas
convencionais conseguem representar as situações reais com grande precisão
(normalmente criamos versões “ideais” da realidade para que o modelo analítico tenha
solução).

Mesmo assim, há vantagem em desenvolver modelos analíticos, principalmente


porque eles levam a um melhor entendimento das principais condicionantes do processo
(nos ajudam a entender quais as medidas são as mais importantes, quais são as relações
entre elas e qual é a influência de uma medida sobre a outra).

291
Para ilustrar o papel das simulações no dimensionamento de sistemas de filas,
iremos apresentar agora um exemplo do uso do software Arena. O Arena possui uma
versão gratuita (Arena Acadêmico) para estudantes, que pode ser baixada do seguinte
site:

https://www.paragon.com.br/arena-academico-student/

O exemplo a seguir é o mesmo que foi tradado anteriormente (o problema das


vagas de estacionamento), onde existiam 5 vagas (5 servidores em paralelo) e 3 vagas
temporárias, de modo que o número máximo de clientes (carros) no sistema é 8. As
soluções (medidas de desempenho) obtidas para esse problema já foram calculadas por
meio do modelo generalizado e estão apresentadas a seguir:
𝐿𝑠 = 3,12865 carros
𝐿𝑞 = 0,1918 carros

𝑊𝑠 = 0,53265 horas = 31,96 minutos


𝑊𝑞 = 0,03265 horas = 1,96 minutos

𝑐̅ = 2,93685 vagas
Taxa de ocupação dos servidores = 0,58737

Agora, vamos obter essa solução, ainda de forma analítica, mas por meio dos
modelos “específicos” apresentados nas seções anteriores. Note que esse problema possui
um modelo do tipo (M/M/c):(GD/N/∞), mais precisamente (M/M/5):(GD/8/∞), uma vez que
existem 5 servidores (5 vagas) em paralelo 𝑐 = 5, e o número máximo de clientes (de
carros) no sistema é 𝑁 = 8. Além disso, temos que a taxa de chegada é 𝜆 = 6 carros
(clientes) por hora e que a taxa de atendimento é 𝜇 = 2 carros (clientes) por hora.

Considerando esse tipo de modelo, temos que:


𝜆 6
𝜌= = =3
𝜇 2

E que:
𝜌 3
= = 0,6 ≠ 1
𝑐 5
Logo, temos:
1 1 1
𝑝0 = = = = 0,04812
𝜌 𝑁−𝑐+1 3𝑛 35 (1 − 0,64 ) 16,375 + 4,4064
𝜌 𝑐 (1 − ( ) ) ∑4𝑛=0 +
𝜌𝑛 𝑐 𝑛! (1 − 0,6)5!
∑𝑐−1
𝑛=0 𝑛! + 𝜌
(1 − 𝑐 ) 𝑐!

292
Assim:
𝜌 𝑐+1 𝜌 𝑁−𝑐+1 𝜌 𝜌 𝑁−𝑐
𝐿𝑞 = {1 − ( ) − (𝑁 − 𝑐 + 1) (1 − ) ( ) } 𝑝0
(𝑐 − 1)! (𝑐 − 𝜌)2 𝑐 𝑐 𝑐

36
𝐿𝑞 = {1 − 0,64 − 4(1 − 0,6)0,63 } ∙ 0,04812 = 7,59375 ∙ 0,5248 ∙ 0,04812 = 0,1918
4! (5 − 3)2

Além disso:
𝜌𝑁
𝑝𝑁 = 𝑝8 = 𝑝0
𝑐 𝑁−𝑐 ∙ 𝑐!

38
𝑝𝑁 = 𝑝8 = 0,04812 = 0,02105
53 ∙ 5!
Daí:
𝜆𝑒𝑓𝑓 = 𝜆 − 𝜆𝑙𝑜𝑠𝑡 = 6(1 − 0,02105) = 5,8737

Com isso:
𝜆𝑒𝑓𝑓 5,8737
𝐿𝑠 = 𝐿 𝑞 + = 0,1918 + = 3,12865
𝜇 2
𝐿𝑠 3,12865
𝑊𝑠 = = = 0,53265 horas = 31,96 minutos
𝜆𝑒𝑓𝑓 5,8737
𝐿𝑞 0,1918
𝑊𝑞 = = = 0,03267 horas = 1,96 minutos
𝜆𝑒𝑓𝑓 5,8737
𝜆𝑒𝑓𝑓 5,8737
𝑐̅ = = = 2,93685
𝜇 2
𝑐̅ 2,93685
Taxa de ocupação dos servidores = = = 0,58737
𝑐 5
Que são os mesmos resultados encontrados pelo modelo generalizado.

Por fim, iremos construir o modelo computacional desse problema no Arena, para
obter o resultado (as medidas de desempenho desse sistema de fila) por meio de
simulações.

É importante observar que a partir do Arena é possível criar animações para


essas simulações. Contudo, aqui nos focaremos apenas na construção do modelo
numérico para a simulação (buscando resultados equivalentes para as medidas de
desempenho, considerando as mesmas condições nas quais os resultados analíticos
foram encontrados).

293
O modelo computacional completo desse problema é mostrado a seguir:

A configuração do bloco Create (“FONTE”) é apresentada a seguir:

O “tipo de identidade” representa o cliente, que nesse exemplo são os carros. O


tempo entre chegadas é exponencial, sendo a sua média igual a 1/𝜆 = 1/6 = 0,667 horas
= 0,0667x60 = 10 minutos.
A configuração do bloco Process (“VAGAS”) é apresentada a seguir:

294
O tempo de serviço é exponencial, sendo sua média igual a 1/𝜇 = 1/2 = 0,5 horas =
0,5x60 = 30 minutos. Além disso, é preciso acessar a tabela Resource e mudar o valor da
“capacidade” para 5, pois são 5 servidores (vagas).
A configuração do bloco Decide (“FILA COM 3?”) é apresentada a seguir:

Esse bloco foi utilizado para “descartar” as entradas quando a fila no processo
está com 3 clientes. Para isso, usou-se a condição “NQ(Queue.VAGAS <= 2)”. Assim, se
o número de clientes na fila for maior do que 2 (igual a 3), o cliente que chegar será
“descartado”.
Os dois blocos de Dispose (os blocos SAÍDA e DESISTENTES) foram criados
apenas para que haja a saída dos clientes (carros) do sistema.
A configuração da simulação é mostrada a seguir:

295
Para que o resultado da simulação seja exato (como é o resultado analítico) a
duração da simulação deve tender a infinito. Na prática escolheremos um valor muito
grande (para essa simulação, escolhemos uma duração de 100.000 horas). Em geral,
quanto maior for a duração, mais preciso será o resultado (contudo, maior será o tempo
para que a simulação seja concluída).
Os relatórios resultantes dessa simulação apresentam os resultados para
diferentes medidas de desempenho. Observe que o tempo médio total de um cliente
(carro) no sistema (𝑊𝑠 ) é dado por:

Note que o resultado foi relativamente próximo de 𝑊𝑠 = 31,96 minutos, encontrado


pelo modelo analítico.
O número médio de carros no sistema 𝐿𝑠 encontrado com a simulação foi:

Que foi muito próximo do valor 𝐿𝑠 = 3,12865 carros encontrado via modelo
analítico.
A seguir é apresentado tanto o tempo médio de permanência de um cliente (carro)
𝑊𝑞 e o número médio de clientes (carros) 𝐿𝑞 na fila:

Observe que os resultados foram muito próximos aos valores 𝑊𝑞 = 1,96 minutos e
𝐿𝑞 = 0,1918 carros, encontrados via modelo analítico.
Finalmente é apresentado também a taxa de ocupação dos servidores (das vagas)
e o número médio de servidores (vagas) ocupados 𝑐̅:

Note novamente que os resultados foram muito próximos aos valores da Taxa de
ocupação = 0,58737 e 𝑐̅ = 2,93685 vagas, encontrados via modelo analítico.

296
EXERCÍCIOS DE FIXAÇÃO – CAPÍTULO 5
(1) ENADE 2011 – Engenheiro de Produção
Uma rede de fast-food 24 h definiu a seguinte estratégia de venda para seu serviço de drive-
thru: “se você encontrar mais que três clientes no sistema (fila + atendimento) receberá uma
sobremesa como cortesia”. O custo desta política é de R$ 2,00 por cliente vitimado. Na
condição atual, os clientes chegam aleatoriamente segundo um processo de Poisson a uma
taxa de 18 clientes por hora. O atendimento é realizado por um único empregado e segue
uma distribuição exponencial com média 2,5 minutos. Contudo, o gerente estima que
conseguirá por meio de melhorias no processo de montagem dos pedidos, reduzir o tempo
médio de atendimento para 2,0 minutos.
O gráfico abaixo apresenta as funções probabilidades acumuladas de haver n clientes no
drive-thru (fila + atendimento) para dois tempos médios de atendimento (TA), em minutos.

Com base na análise dos dados apresentados, conclui-se que


A. o custo médio da estratégia atual da empresa pode ser obtido através de CME = 18
clientes/h x 24 h/dia x 2 (R$/cliente vitimado) x p, para n ≥ 3.
B. é melhor para a empresa modificar a estratégia para que o cliente não encontre mais de
quatro clientes no sistema, mantendo seu tempo médio de atendimento em 2,5 min do que
apenas reduzir seu tempo médio de atendimento para 2 min, mantendo a estratégia atual.
C. a estratégia “se você encontrar mais que três clientes no sistema (fila + atendimento)
receberá uma sobremesa como cortesia” equivale à estratégia: “se você encontrar mais que
dois clientes em fila, aguardando atendimento, receberá uma sobremesa como cortesia”.
D. a probabilidade de haver mais de quatro clientes em fila, para um tempo médio de
atendimento de 2 min, é de 7,78%.
E. o drive-thru não trabalha em condição de equilíbrio, o que inviabiliza a adoção de outra
estratégia de atendimento dos clientes.

297
(2) ENADE 2014 – Engenheiro de Produção [Adaptada]

Considere que um prefeito tem como prioridade a saúde dos munícipes conterrâneos.
Seu último projeto é a implantação de um processo de vacinação rápida, que consiste em
vacinadores que recebem os munícipes e aplicam um conjunto de anticorpos
manipulados, melhorando o sistema imunológico do cidadão. De acordo com as normas
técnicas de saúde vigentes nessa região, o procedimento vacinatório, incluindo
atendimento prévio, triagem e a aplicação em si, ocorre em 30 minutos (µ = 2 pessoas
por hora). Estima-se que a população irá procurar os postos de vacinação a uma taxa (λ)
de 1,25 pessoas por hora. Devido a limitação do posto de saúde, não é possível aguardar
em fila, de forma que a espera é considerada como perda. Considere que tanto a chegada
de cidadãos como a aplicação de vacinas são processos markovianos. Dado:

Taxa de ocupação (ρ):


𝜆
𝜌=
µ

Taxa de perdas (Pp):


Pp = ρ n

log (5) = 0,7

log (2) = 0,3

Se o prefeito deseja que a taxa de perdas seja inferior a 1%, quantos vacinadores (n), no
mínimo, deverão ser contratados?

A. 2
B. 3

C. 7
D. 10

E. 13

298
(3) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior

O comportamento de falhas de uma peça de um certo equipamento obedece a uma


distribuição exponencial 𝑃 (𝑋 ≤ 𝑏) = 1 − 𝑒 −𝑏/µ. A falha ocorre, em média, a cada 4 anos.

Dados:

e-1/4 = 0,78

e-1/2 = 0,61

A probabilidade para que ocorra um acidente antes de

A. 1 ano é maior do que 25%.

B. 2 anos é maior do que 41%.

C. 3 anos é menor do que 50%.


D. 4 anos é menor do que 60%.

E. 5 anos é maior do que 65%.

(4) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior [Adaptada]

O caixa de um banco, nos horários de pico, recebe, em média, 3 clientes a cada minuto.
A chegada dos clientes, nesses horários, obedece a uma distribuição de Poisson.

Assim, considerando um intervalo de 1 min, a probabilidade para


A. não receber clientes é menor do que 1%.

B. receber um cliente é maior do que 18%.

C. receber dois clientes é menor do que 20%.


D. receber até dois clientes (inclusive) é menor do que 60%.

E. receber até três clientes (inclusive) é maior do que 90%.

299
(5) FCC - 2011 - INFRAERO - Estatístico

Considere os dados a seguir:

O número de passageiros que chegam a um posto de atendimento de uma empresa de


aviação para fazer o check-in às quartas-feiras pela manhã tem distribuição de Poisson
com taxa média de 5 passageiros por minuto. A probabilidade de chegar a esse mesmo
posto, numa quarta-feira pela manhã, pelo menos 2 passageiros em 30 segundos, é de

A. 0,575.

B. 0,682

C. 0,713.

D. 0,754.

E. 0,814.

(6) FGV – 2016 – IBGE – Estatístico

Suponha que o número de chegada de pessoas a uma fila é uma variável aleatória, cuja
média, proporcional ao tempo, é de seis pessoas por hora. As chegadas são
independentes e a probabilidade de que duas pessoas cheguem à fila num mesmo
segundo é nula. Logo, uma aproximação para a probabilidade de que duas pessoas
entrem na fila no período de meia hora é:

A. (1/3)2

B. 6.e-4,5
C. (1/3)2.(2/3)4

D. 3.e-6

E. 4,5.e-3

300
(7) CESGRANRIO - 2018 - Petrobras - Estatístico Júnior

Suponha que os clientes de um supermercado cheguem a um dos caixas de acordo com


um processo de Poisson com taxa média λ = 4 clientes/hora.

Se o supermercado abre às 7h, a probabilidade de que tenha 5 clientes até as 09h 30min
é
45 𝑒 −4
A. 4!

45 𝑒 −4
B. 5!

54 𝑒 −4
C. 5!

104 𝑒 −10
D. 5!

105𝑒 −10
E. 5!

(8) Gestão Concurso - 2018 - EMATER-MG - Engenheiro de Produção

Realizou-se um estudo em um processo de lavagem de veículos e se determinou que o


tempo de atendimento de um carro era, de maneira aproximada, inversamente
proporcional ao número de pessoas trabalhando ao mesmo tempo com ele. O tempo para
lavar um carro, quando apenas um funcionário faz o atendimento, é de 45 minutos. Os
clientes chegam para lavar seus automóveis a uma taxa média de três por hora e
aguardam pacientemente em uma fila, nunca desistindo de serem atendidos.

Para que o funcionamento do sistema seja viável, é preciso de, no mínimo, quantos
funcionários trabalhando, simultaneamente, em um carro?

A. 2.

B. 3.

C. 4.

D. 5.

301
(9) FCC - 2016 - TRT - Estatístico

Considere as seguintes afirmações relativas a modelos markovianos de filas:

I. No modelo M/M/1 com taxa de chegada de 1 cliente a cada 20 minutos e taxa de


atendimento de 4 clientes a cada hora, o número médio de pacientes na fila é igual a
2,25.

II. No modelo M/M/2 com fator de utilização igual a 40% e taxa de chegada de 2 clientes
em 30 minutos, a taxa de atendimento é de 4,5 clientes por hora.

III. No modelo M/M/1/K a taxa de chegada pode ser maior do que a taxa de atendimento.

IV. No modelo M/M/1 o número médio de usuários na fila é igual ao valor do produto
entre a taxa de chegada e tempo médio que cada usuário permanece na fila.

Está correto o que se afirma APENAS em

A. I, III e IV.

B. II e III.

C. I, II e IV.

D. III e IV.

E. I, II e III.

(10) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior [Adaptada]

Uma agência de viagens possui apenas um funcionário para atender a seus clientes.
Como os vários pacotes turísticos comercializados diferem muito entre si, a taxa de
atendimento é distribuída aleatoriamente, mas se aproxima da de Poisson. Em média,
chegam dois clientes a cada 50 minutos, e são atendidos quatro a cada hora. Nessas
condições, a probabilidade de haver até 2 clientes no sistema é igual a:

A. 0,784

B. 0,566

C. 0,421

D. 0,314

E. 0,179

302
(11) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior

Uma agência de viagens possui apenas um funcionário para atender a seus clientes.
Como os vários pacotes turísticos comercializados diferem muito entre si, a taxa de
atendimento é distribuída aleatoriamente, mas se aproxima da de Poisson. Em média,
chegam dois clientes a cada 50 minutos, e são atendidos quatro a cada hora. Os clientes
toleram aguardar, em média, 25 minutos na fila antes de desistir do atendimento.

Nesse caso, pode-se dizer que a agência corre

A. pouco risco de desistência do cliente, pois o tempo estimado de espera na fila é nulo.

B. grande risco de desistência do cliente, pois o tempo estimado de espera na fila é de 1


hora.

C. pouco risco de desistência do cliente, pois o tempo estimado de espera na fila é de 30


minutos.

D. médio risco de desistência do cliente, pois o tempo estimado de espera na fila é de 45


minutos

E. pouco risco de desistência do cliente, pois o tempo estimado de espera na fila é de 22,5
minutos.

(12) CS-UFG - 2018 - UFG - Engenheiro de Produção

Uma pequena loja possui um estacionamento com apenas cinco vagas. Os carros que
precisam utilizar essas vagas chegam, de acordo com uma distribuição de Poisson, à
taxa de seis por hora. O tempo de estacionamento é exponencialmente distribuído com
média de 30 minutos. Os visitantes que não conseguem encontrar uma vaga livre
precisam estacionar em outro lugar. Sabe-se que, em média, a frequência de carros que
não conseguem uma vaga livre no estacionamento da loja é de 0,1263 por hora. Em
Teoria das Filas, é conhecida a relação de que o número médio de vagas ocupadas é igual
à taxa de entrada dividida pela taxa de atendimento. Nessas condições, a utilização
média do estacionamento é de

A. 58,7%

B. 60,0%

C. 87,4%

D. 100,0%

303
(13) FCC – 2015 – TRT – Estatístico

Para o atendimento de reclamações trabalhistas um determinado órgão público


disponibilizou um único guichê de atendimento. Suponha que os requerentes cheguem
ao guichê à taxa de 1/6 minutos (um a cada 6 minutos). O funcionário que atende os
requerentes completa o atendimento à taxa de 1/5 minutos (um a cada 5 minutos).
Considere para esse modelo de fila o M/M/1. Nessas condições, o tempo médio que cada
requerente permanece na fila, em minutos, é igual a

A. 25.

B. 30.

C. 22.

D. 20.

E. 24.

(14) IADES - 2018 - SES-DF - Estatístico

Considere que as pessoas chegam a um caixa eletrônico segundo um processo de Poisson


com intensidade λ = 6 por hora e são atendidas em um sistema de fila única por ordem
de chegada. Os tempos gastos no caixa se comportam como variáveis aleatórias,
independentes e identicamente distribuídas, exponencial com média 0,1 horas. Sabendo
que há apenas um único caixa eletrônico atendendo os clientes, qual o número médio de
pessoas no sistema?

A. 1/2

B. 2/3

C. 3/2

D. 1

E. 2

304
(15) Questão de Prova Antiga

Um consultório médico possui um único médico. Os clientes que chegam a esse


consultório são atendidos em ordem de chegada. O tempo entre chegadas de pacientes
segue uma distribuição exponencial de média 20 minutos. O tempo de atendimento
(duração da consulta) também é exponencial de média 30 minutos. Entretanto, caso o
número de pacientes na fila seja igual a 3, a média da duração da consulta passa a ser
igual a 10 minutos (o médico passa a atender mais rápido). Além disso, caso um paciente
chegue ao consultório e encontre 3 pacientes na fila, ele irá desistir (irá embora).

Nesse caso, determine:

a) O número médio de pacientes na fila.

b) O tempo médio de espera de um paciente na fila.

(16) Gestão Concurso - 2018 - EMATER-MG - Engenheiro de Produção

A Teoria das Filas é uma grande área da pesquisa operacional que estuda sistemas
envolvendo clientes disputando o atendimento de um ou mais servidores. Dentre as
diversas medidas de efetividade de tais sistemas temos a taxa de ocupação dos
atendentes, que é dada pela razão da taxa média de chegada de clientes pela taxa média
de atendimento, dividida pelo número de atendentes. Um trailer de fast food localizado
em uma grande rodovia é capaz de atender 5 clientes por hora, um por vez.

Sabendo-se que o fluxo de veículos na rodovia é de 150 carros por hora e que 2,0% destes
utilizam o trailer, é correto afirmar que a taxa percentual de ocupação do sistema é de

A. 25.

B. 30.

C. 60.

D. 75.

GABARITO

(1) C (2) D (3) E (4) D (5) C (6) E (7) E (8) B (9) A (10) A (11) E (12) A

(13) A (14) C (15) a) 1,433 pacientes b) 34,62 minutos (16) C

305
CAPÍTULO 6 – ANÁLISE DE DECISÃO E TEORIA DOS JOGOS

1-Tomada de Decisão sob Certeza


2-Tomada de Decisão sob Risco
3-Tomada de Decisão sob Incerteza
4-Teoria dos Jogos

Prof. Dr. Alexander Cascardo Carneiro

Comentários do professor
Caros alunos, esse capítulo aborda os fundamentos e técnicas da análise de
decisão, também conhecida como tomada de decisão. Cada um dos tipos de tomada de
decisão, incluindo a tomada de decisão sob certeza, sob risco e sob incerteza, serão
estudados nesse capítulo. Durante esse capítulo, construiremos um modelo de decisão
sob certeza, além de o cálculo da consistência do tomador de decisão; um modelo baseado
em árvore de decisão para obter o valor esperado de uma decisão sob risco; e os diversos
critérios, como Laplace, Maximin (e Minimax), arrependimento de Savage e Hurwicz,
utilizados na tomada de decisão sob incerteza. Por fim, o capítulo apresenta a Teoria
dos Jogos, introduzindo os seus conceitos e a formulação de jogos simples com
estratégias puras e mistas.

306
AULA 1 – TOMADA DE
DECISÃO SOB CERTEZA

Introdução à análise de decisão

Em Programação Linear, aprendemos a solucionar problemas de tomada de


decisão em que as alternativas eram conhecidas com certo grau de certeza. Lá,
desenvolvemos fórmulas e modelos matemáticos para a solução de problemas lineares
cujas funções objetivo podiam especificar as consequências estimadas para qualquer
combinação de decisões. Mesmo se as consequências não pudessem ser previstas com
100% de certeza, elas poderiam ser estimadas com elevada previsão através da análise
de sensibilidade.

Entretanto, em geral, lidamos com problemas de tomadas de decisão em


ambientes muito propensos a incertezas. Considere os seguintes exemplos:

 Para um fabricante lançando um novo produto no mercado, surgem diversas


questões, como: Qual será a reação dos clientes? Quanto deve ser produzido? Qual
é o nível de propaganda necessária para que o lançamento do produto seja bem
sucedido?
 Para uma empreiteira participando de uma concorrência pública: Quais serão os
custos do projeto? Quais seriam as demais empresas participantes? Quais seriam
suas ofertas prováveis?
 Para uma petrolífera decidindo sobre perfurar ou não um poço em um
determinado local: Qual é a probabilidade de existir petróleo no local? Qual é a
profundidade necessária para a perfuração? Deve haver mais investigação por
parte dos geólogos antes da perfuração?

307
Esses tipos de problemas, a princípio, poderiam ser modelados usando a
Programação Linear. Contudo, ao considerar as incertezas inerentes a essas decisões, é
preciso definir uma nova ferramenta que seja capaz de obter a solução de problemas nos
quais a incerteza é um fator importante.

Assim, para solucionar esses tipos de problemas de tomada de decisão, que


possuem um grau de incerteza elevado, foi desenvolvida a análise de decisão. A análise
de decisão fornece uma metodologia para a tomada de decisão racional para situações
em que os resultados são incertos (ou seja, não se tem 100% de certeza sobre eles).

Os problemas de decisão possuem um número finito de alternativas e de dados.


Essas alternativas/dados podem ser determinísticos (decisão sob certeza),
probabilísticos (decisão sob risco) ou incertos (decisão sob incerteza).

Para lidar com decisões sob certeza (em que os dados de entrada são
determinísticos), pode-se utilizar uma ferramenta chamada de AHP (Processos
Hierárquicos Analíticos – Analytic Hierarchy Processes). O AHP é utilizado quando o
julgamento é subjetivo e pode ser quantificado de forma lógica, para depois ser utilizado
como base para a tomada de decisão.

Na tomada de decisão sob risco, na qual os dados são probabilísticos, utilizamos


as chamadas árvores de decisão (podendo comparar o custo ou o lucro esperado para
diferentes alternativas), como base para se chegar a uma decisão.

E por fim tem-se as decisões sob incerteza, as quais utilizam critérios que
dependem da atitude do tomador de decisões (por exemplo, a forma como ele lida com o
risco), que vai do otimismo para o pessimismo. Outra ferramenta que pode ser utilizada
em decisões sob incerteza é a Teoria dos Jogos, em que dois oponentes com metas
conflitantes procuram obter o melhor resultado entre as condições disponíveis para cada
um.

Construindo um modelo de decisão sob certeza

Os modelos de programação linear (PL) foram exemplos de tomadas de decisão


sob certeza, em que todas as funções eram bem definidas. O AHP é utilizado em
problemas cujo processo de decisão pode ser quantificado fornecendo uma escala de
valores a partir da qual podemos determinar as alternativas prioritárias. Esse processo
de decisão pode ser afetado por ideias, sentimentos e emoções.

308
Para entender o funcionamento do AHP, considere o seguinte exemplo:

Um aluno de uma escola de ensino médio chamado Martin, precisa decidir entre
3 Universidades (Universidade A, Universidade B ou Universidade C). Para o processo
de escolha, Martin prioriza dois critérios: a localização e a reputação. Martin considera
que a reputação da Universidade é 5 vezes mais importante do que a sua localização.
Assim, ele utiliza uma análise sistemática para classificar as três Universidades
segundo a localização e a reputação, como mostrado na tabela a seguir:

Sobre os critérios (localização e reputação), temos que a reputação 𝑝2 deve ser 5


vezes maior do que a localização 𝑝1 , isto é:
𝑝2 = 5𝑝1

Além disso, a soma de todos os critérios deve ser igual a 1 (100%), ou seja:
𝑝1 + 𝑝2 = 1

Assim:
𝑝1 + 5𝑝1 = 1
6𝑝1 = 1
1
𝑝1 = = 0,17
6
Com isso:
𝑝1 + 𝑝2 = 1
𝑝2 = 1 − 𝑝1 = 1 − 0,17 = 0,83

Isso significa que para Martin o peso da localização é de 0,17 (𝑝1 = 0,17) ou 17% e
o peso da reputação é de 0,83 (𝑝2 = 0,83) ou 83%.

309
A estrutura do problema é resumida na figura a seguir:

Da tabela temos, por exemplo, que para Martin a Universidade C é a que tem a
melhor localização e a Universidade A é a que tem a melhor reputação dentre as
Universidades.

Note que o problema possui uma única hierarquia (nível), possuindo dois critérios
(localização e reputação) e três alternativas de decisão (Universidade A, Universidade
B ou Universidade C).

A classificação de cada Universidade é então calculada a partir dos seguintes


pesos compostos:

Para a Universidade A, por exemplo, temos que o peso composto para a


Universidade A é igual ao peso dado por Martin à localização (0,17) vezes o peso dado
por Martin à localização da Universidade A (0,129) somado com o peso dado por Martin
à reputação (0,83) vezes o peso dado por Martin à reputação da Universidade A (0,545).

Com base nesses resultados, pode-se observar que o maior valor é o da


Universidade A (é a que possui o peso composto mais alto) e, portanto, representa a
melhor alternativa para Martin.

Note que a soma dos pesos compostos das 3 Universidades (0,4743 + 0,2737 +
0,2520 = 1) deve ser igual a 1.

310
Note também que a soma dos pesos de todas as Universidades para cada critério
(localização e reputação), dada na tabela anterior (12,9% + 27,7% + 59,4% = 100%, ou
0,129 + 0,277 + 0,594 = 1, para a localização e 54,5% + 27,3% + 18,2% = 100%, ou 0,545
+ 0,273 + 0,182 = 1, para a reputação) são iguais a 1 (100%).

De maneira geral, a estrutura de um AHP pode incluir várias hierarquias de


critérios. Suponha agora um novo exemplo:

A irmã de Martin, Jane, também precisa decidir entre as 3 Universidades


(Universidade A, Universidade B ou Universidade C). Seus pais estipularam que os dois
(Martin e Jane) precisam estudar na mesma Universidade para que possam
compartilhar um único carro. A figura a seguir resume esse novo problema de decisão:

Note que agora temos duas hierarquias (dois critérios de hierarquia). Vamos
considerar que 𝑝 e 𝑞 (que presumimos serem iguais), na primeira hierarquia, consistem
nos pesos relativos dados às opiniões de Martin e de Jane no processo de seleção (como
consideramos serem iguais, então 𝑝 = 0,5 e 𝑞 = 0,5). A segunda hierarquia usa os pesos
𝑝1 e 𝑝2 (para Martin) e 𝑞1 e 𝑞2 (para Jane), refletindo as preferências de cada um deles
em relação à localização e à reputação de cada Universidade.

311
Os pesos para cada Universidade segundo cada critério dado por Martin é
representado por 𝑝𝑖𝑗 e para Jane é dado por 𝑞𝑖𝑗 , em que 𝑖 = 1, 2 representa os critérios
(localização e reputação) e 𝑗 = 1, 2, 3 representa as alternativas, ou seja, as
Universidades (Universidade A, Universidade B ou Universidade C). Os pesos para cada
Universidade segundo cada critério dado por Martin é o mesmo que foi mostrado na
tabela anterior. Assim, temos para Martin:

Suponha que para Jane os pesos sejam dados como:

Note que 𝑝 + 𝑞 = 1, 𝑝1 + 𝑝2 = 1, 𝑞1 + 𝑞2 = 1, 𝑝11 + 𝑝12 + 𝑝13 = 1, 𝑝21 + 𝑝22 + 𝑝23 = 1,


𝑞11 + 𝑞12 + 𝑞13 = 1, 𝑞21 + 𝑞22 + 𝑞23 = 1.

Assim, temos os seguintes pesos compostos:


Universidade A = 𝑝 ∙ (𝑝1 ∙ 𝑝11 + 𝑝2 ∙ 𝑝21 ) + 𝑞 ∙ (𝑞1 ∙ 𝑞11 + 𝑞2 ∙ 𝑞21 )
Universidade B = 𝑝 ∙ (𝑝1 ∙ 𝑝12 + 𝑝2 ∙ 𝑝22 ) + 𝑞 ∙ (𝑞1 ∙ 𝑞12 + 𝑞2 ∙ 𝑞22 )
Universidade C = 𝑝 ∙ (𝑝1 ∙ 𝑝13 + 𝑝2 ∙ 𝑝23 ) + 𝑞 ∙ (𝑞1 ∙ 𝑞13 + 𝑞2 ∙ 𝑞23 )

Por exemplo, para a Universidade A temos que o peso composto é igual ao peso
da decisão de Martin (𝑝) multiplicado pela soma entre o peso dado por Martin à
localização (𝑝1 ) multiplicado pelo peso da localização de A dado por Martin (𝑝11 ) e o peso
da reputação dado por Martin (𝑝2 ) multiplicado pelo peso da reputação de A dado por
Martin (𝑝21 ), somado com o peso da decisão de Jane (𝑞) multiplicado pela soma entre o
peso dado por Jane à localização (𝑞1 ) multiplicado pelo peso da localização de A dado por
Jane (𝑞11) e o peso da reputação dado por Jane (𝑞2 ) multiplicado pelo peso da reputação
de A dado por Jane (𝑞21 ). Com isso, temos que:

Universidade A:

0,5x(0,17x0,129 + 0,83x0,545) + 0,5x(0,3x0,2 + 0,7x0,5) = 0,44214

Universidade B:

0,5x(0,17x0,277 + 0,83x0,273) + 0,5x(0,3x0,3 + 0,7x0,2) = 0,25184

Universidade C:

0,5x(0,17x0,594 + 0,83x0,182) + 0,5x(0,3x0,5 + 0,7x0,3) = 0,30602


312
Ou seja, com base nesses resultados, podemos observar que o maior valor é o da
Universidade A (é a que possui o peso composto mais alto) e, portanto, representa a
melhor alternativa para Martin e Jane.

Note que a soma dos pesos compostos das 3 Universidades (0,44214 + 0,25184 +
0,30602 = 1) deve ser igual a 1.

É importante destacar que um ponto fundamental do AHP é a determinação dos


pesos relativos (como utilizado nos exemplos anteriores) para classificar as alternativas
de decisão. Considere que temos 𝑛 critérios (por exemplo, 𝑛 = 2 critérios: localização e
reputação) em uma dada hierarquia. Nesse caso, o AHP estabelece uma matriz de
comparação 𝑨, 𝑛 x 𝑛, que quantifica o julgamento do tomador de decisões (determinando
a importância relativa de cada critério).

A comparação é feita da seguinte forma: o critério da linha 𝑖 (𝑖 = 1,2,3..., 𝑛) é


classificado em relação a todos os outros critérios (em relação ao demais critérios).
Considerando que cada elemento (𝑖, 𝑗) da matriz de comparação 𝑨 seja representado por
𝑎𝑖𝑗 , o AHP utiliza uma escala de 1 até 9, em que 𝑎𝑖𝑗 = 1 significa que o critério 𝑖 e o
critério 𝑗 têm a mesma importância, 𝑎𝑖𝑗 = 5 significa que o critério 𝑖 é muito mais
importante (5 vezes mais importante) do que critério 𝑗 e 𝑎𝑖𝑗 = 9 significa que o critério 𝑖
é muitíssimo mais importante (9 vezes mais importante) do que critério 𝑗. Outros valores
entre 1 e 9 são interpretados de maneira correspondente.
A consistência no julgamento do tomador de decisões requer que 𝑎𝑖𝑗 = 𝑘 implique
em 𝑎𝑗𝑖 = 1/𝑘. Por exemplo, se o elemento 𝑎12 = 4, então o elemento 𝑎21 = 1/4 – isso significa
que se o critério 1 for 4 vezes mais importante do que o critério 2, então o critério 2
deverá ser 4 vezes menos importante (1/4) do que o critério 1. Além disso, todos os
elementos 𝑎𝑖𝑖 (isto é, a diagonal principal de 𝑨, cujos elementos são 𝑎11 , 𝑎22 ,..., 𝑎𝑛𝑛 )
devem ser iguais a 1 (pois classificam um critério em relação a ele mesmo).

Para entender como determinar a matriz de comparação, considere o primeiro


exemplo dessa seção sobre a decisão de Martin em relação à escolha da Universidade:

Em primeiro lugar, deve-se partir da hierarquia principal, que define os critérios


de localização e reputação da Universidade. No julgamento de Martin, a reputação é 5
vezes mais importante do que a localização (muito mais importante), logo 𝑎21 = 5 (em
que 1 representa a localização e 2 representa a reputação). Segundo a consistência, essa
atribuição implica que 𝑎12 = 1/5. Temos também que a diagonal principal deve ser igual
a 1 (𝑎11 = 1 e 𝑎22 = 1).

313
Com isso, considerando 𝐿 a localização (linha e coluna 1) e 𝑅 a reputação (linha e
coluna 2), temos a matriz de comparação associada dada por:

Para analisar essa matriz de comparação devemos sempre observar “da linha
para a coluna” (de 𝑖 para 𝑗). Por exemplo, o elemento 𝑎11 = 1 mostra que a localização
(linha 1) tem a mesma importância que a localização (coluna 1), o elemento 𝑎21 = 5
mostra que a reputação (linha 2) é 5 vezes mais importante do que a localização (coluna
1), o elemento 𝑎12 = 1/5 mostra que a localização (linha 1) é 5 vezes menos importante
(1/5) do que a reputação (coluna 2) e o elemento 𝑎22 = 1 mostra que a reputação (linha
2) tem a mesma importância que a reputação (coluna 2).

Os pesos relativos de 𝑅 e 𝐿 são determinados a partir de 𝑨 através da


normalização em uma nova matriz 𝐍, chamada de matriz de comparação normalizada.
O processo consiste em dividir cada elemento da coluna pela soma dos elementos da
mesma coluna. Ou seja, para obter 𝐍, dividimos os elementos da coluna 1 por 1 + 5 = 6
e os da coluna 2 por 1 + 1/5 = 1,2, resultando em:

1/6 = 0,17

5/6 = 0,83

0,2/1,2 = 0,17

1/1,2 = 0,83

Assim:

Os pesos relativos desejados (de cada critério) 𝑤𝐿 e 𝑤𝑅 são as médias de cada linha,
isto é:

314
Ou seja, o peso relativo da localização (𝑤𝐿 ) é a soma dos elementos da linha 1
dividido pelo número de elementos da linha 1 (ou dividido por 𝑛) e o peso relativo da
reputação (𝑤𝑅 ) é a soma dos elementos da linha 2 dividido pelo número de elementos da
linha 2 (ou dividido por 𝑛).

Observe que os cálculos resultaram em 𝑤𝐿 = 0,17 e 𝑤𝑅 = 0,83, que são os mesmos


valores dos pesos relativos (𝑝1 𝑒 𝑝2 ) que já havíamos calculado na solução do exercício do
início da seção.

Note ainda que as colunas de 𝐍 são todas idênticas. Essa característica só ocorre
quando o tomador de decisões exibe perfeita consistência na especificação das entradas
da matriz de comparação 𝐀.

Os pesos relativos das alternativas Universidade A, Universidade B e


Universidade C são determinados seguindo cada um dos critérios (𝐿 e 𝑅) mostrados nas
duas matrizes de comparação a seguir (na qual os elementos representam o julgamento
de Martin sobre a importância relativa entre cada Universidade):

Por exemplo, o elemento 𝑎21 = 2 da matriz 𝐀 𝐿 significa que no critério localização


a Universidade B é 2 vezes mais importante do que a Universidade A. Note também que
𝑎12 = 1/2. E que todos os elementos da diagonal principal de ambas as matrizes são
iguais a 1.

Para obter os pesos relativos, precisamos definir a matriz de comparação


normalizada para cada critério 𝐍𝐿 e 𝐍𝑅 . Para isso precisamos somar todos os elementos
de cada coluna, resultando em (para 𝐀 𝐿 : 1 + 2 + 5 = 8, 1/2 + 1 + 2 = 3,5 e 1/5 + 1/2 + 1 =
1,7 e para 𝐀 𝑅 : 1 + 1/2 + 1/3 = 1,83, 2 + 1 + 2/3 = 3,67 e 3 + 3/2 + 1 = 5,5):

315
Agora, basta dividirmos todos os elementos de ambas as matrizes pelas somas
das respectivas colunas, resultando em:

É importante ressaltar que normalizar significa fazer com que a soma dos
elementos de cada coluna seja sempre igual a 1 (observe que a soma de todos os
elementos de cada coluna é sempre 1 para todas as matrizes de comparação
normalizadas apresentadas).

Com isso, podemos determinar os pesos relativos (que é a média de cada linha):

Em que (𝑤𝐿𝐴 , 𝑤𝐿𝐵 , 𝑤𝐿𝐶 ) = (0,129, 0,277, 0,594) são os pesos relativos referente à
localização da Universidade A, da Universidade B e da Universidade C. E que (𝑤𝑅𝐴 , 𝑤𝑅𝐵 ,
𝑤𝑅𝐶 ) = (0,545, 0,273, 0,182) são os pesos relativos referente à reputação da Universidade
A, da Universidade B e da Universidade C. Note que esses valores são os mesmos
mostrados na tabela e na figura do primeiro exercício dessa seção.

316
Medida de consistência

A consistência é um critério muito importante relacionado à matriz de


comparação. Desse último exemplo, observe que todas as colunas de 𝐍 e de 𝐍𝑅 são
idênticas, enquanto as colunas de 𝐍𝐿 não o são. Nesse caso, dizemos que as matrizes de
comparação 𝐀 e 𝐀 𝑅 são consistentes, enquanto 𝐀 𝐿 não é consistente. A consistência
depende de um julgamento coerente por parte do tomador de decisões em relação às
comparações (entre os critérios das diferentes hierarquias e entre as alternativas).

Matematicamente, uma matriz de comparação é consistente se:


𝑎𝑖𝑗 ∙ 𝑎𝑗𝑘 = 𝑎𝑖𝑘 , para todo 𝑖, 𝑗, 𝑘

Ou seja, essa regra deve valer para todos os elementos da matriz de comparação.
Por exemplo, considerando a matriz de comparação 𝐀 𝑅 , temos que 𝑎13 = 3 e que 𝑎12 x 𝑎23
= 2x3/2 = 3, e 𝑎13 x 𝑎33 = 3x1 = 3, ou seja, são todos iguais (se substituirmos qualquer
valor de 𝑖, 𝑗 e 𝑘 na equação acima para os elementos da matriz 𝐀 𝑅 veremos que a equação
será sempre verdadeira, pois a matriz 𝐀 𝑅 é consistente).

Vamos agora fazer esse mesmo cálculo para a matriz de comparação 𝐀 𝐿 . Nesse
caso, temos que 𝑎13 = 1/5 e que 𝑎12 x 𝑎23 = 1/2x1/2 = 1/4, e 𝑎13 x 𝑎33 = 1/5x1 = 1/5, ou seja,
𝑎12 x 𝑎23 (= 1/4) é diferente de 𝑎13 (= 1/5) o que torna a matriz 𝐀 𝐿 não consistente.

É importante destacar que essa equação é equivalente a dizer que “todas as


colunas (e linhas) da matriz de comparação são linearmente dependentes”. Em outras
palavras, se todas as colunas (e linhas) da matriz de comparação forem linearmente
dependentes, então essa matriz de comparação é consistente.

Observe que as colunas de qualquer matriz de comparação 2 x 2 são dependentes


e, portanto, uma matriz de comparação 2 x 2 é sempre consistente .

Vamos analisar agora a matriz de comparação 𝐀 𝑅 . Note que se dividirmos a linha


1 por 2 (ou multiplicarmos por 1/2), ela passará a ser igual a linha 2, se dividirmos a
linha 1 por 3 (ou multiplicarmos por 1/3), ela passará a ser igual a linha 3, e se
multiplicarmos a linha 2 por 2/3, ela ficará igual a linha 3. Ser linearmente dependente
implica que as linhas são proporcionais entre elas (ou seja, se pudermos obter cada linha
a partir de qualquer outra linha apenas multiplicando os seus elementos por um valor,
então as linhas são linearmente dependentes e, portanto, essa matriz de comparação é
consistente).

317
Outro ponto importante é que nem sempre as matrizes de comparação serão
consistentes. De modo geral, por estarmos nos baseando no julgamento humano na
construção dessas matrizes, é esperado (e tolerado) certo grau de “inconsistência”. Com
base nisso, o AHP calcula uma razão de consistência (ou grau de consistência) da matriz
de comparação 𝐀, dada como:

Em que:

Em que 𝑛 é o número de linhas (ou colunas) da matriz de comparação 𝐀. Além


disso, 𝑛𝑚𝑎𝑥 é calculado a partir de:

Em que 𝐰
̅ é o vetor média (é o vetor contendo os pesos relativos).

Analisando o valor de CR, pode-se concluir que: se CR for igual a 0, então a matriz
de comparação é consistente; se CR for menor ou igual a 0,1, então o nível de
inconsistência (a razão de inconsistência) da matriz de comparação é aceitável; caso
contrário (se CR for maior do que 0,1), a inconsistência é elevada, e o tomador de decisões
talvez deva realizar uma nova estimativa para os elementos 𝑎𝑖𝑗 da matriz de comparação
𝐀, visando alcançar uma melhor consistência (uma menor inconsistência).

Para entender esse conceito, considere o seguinte exemplo:

Já sabemos que a matriz 𝐀 𝐿 do exercício anterior não é consistente (é


inconsistente), pois as colunas de 𝐍𝐿 não são iguais (poderíamos chegar a mesma
conclusão olhando para 𝐀 𝐿 a partir da equação 𝑎𝑖𝑗 ∙ 𝑎𝑗𝑘 = 𝑎𝑖𝑘 , para todo 𝑖, 𝑗 e 𝑘 aplicada
sobre 𝐀 𝐿 ). Então, vamos determinar o grau de consistência (ou razão de consistência CR)
da matriz de comparação 𝐀 𝐿 .

318
Em primeiro lugar, deve-se calcular as médias das linhas da matriz de
comparação normalizada 𝐍𝐿 (que já calculamos no exercício anterior):

Como:

Então:

Resultando em:

Note que 𝑛𝑚𝑎𝑥 corresponde ao valor que se deve multiplicar o vetor 𝐰 ̅ para que
ele se iguale ao vetor resultante do produto 𝐀 𝐿 𝐰
̅. E que esse valor pode ser obtido pela
soma dos elementos do vetor resultante do produto 𝐀 𝐿 𝐰 ̅.

Como o número de linhas (ou colunas) é 𝑛 = 3, então:

Assim:

Note que CR < 0,1, o que significa dizer que o nível de inconsistência de 𝐀 𝐿 é
aceitável.

319
AULA 2 – TOMADA DE
DECISÃO SOB RISCO

Modelo baseado em árvore de decisão

Nas tomadas de decisão sob risco existe uma distribuição de probabilidades


associada a cada alternativa de decisão (isto é, existe uma probabilidade de ocorrência
para cada opção que podemos escolher). Nesse caso, o critério do valor esperado pode ser
utilizado, no qual as alternativas de decisão devem ser comparadas a partir da
maximização do lucro esperado (ou minimização do custo esperado). Além disso, os
dados do problema, que consideram o retorno (ou o custo) relacionado com cada
alternativa de decisão, são probabilístico.

Um dos critérios de valor esperado mais conhecidos são os baseados em árvore de


decisão. Para entender o seu funcionamento, vamos trabalhar no seguinte exemplo:

Suponha que você tenha $ 10.000 para investir no mercado de ações, comprando
ações de uma das duas empresas: A ou B.

As ações da empresa A, embora sejam arriscadas, podem ter um rendimento de


50% sobre o investimento, no próximo ano (10.000x0,5 = 5.000 de rendimento). Por outro
lado, se as condições do mercado de ações não forem favoráveis (se o mercado estiver em
baixa), a ação pode perder 20% do seu valor (10.000x0,2 = 2.000, ou seja, perderia 2.000
do valor investido).

Já a empresa B oferece investimentos seguros com 15% (10.000x0,15 = 1.500) de


retorno caso o mercado esteja em alta e 5% (10.000x0,05 = 500) de retorno caso o
mercado esteja em baixa (isto é, sempre terá algum retorno, nunca perda). As
publicações que você consultou fazem uma previsão de 60% de o mercado estar em alta
(probabilidade de 0,6) e 40% de o mercado estar em baixa (probabilidade de 0,4).

320
Nesse caso, em qual das empresas (A ou B) você investiria o seu dinheiro? Em
outras palavras, qual empresa trará o maior retorno esperado?

Podemos resumir o nosso problema de decisão na seguinte tabela:

É comum representarmos esse tipo de problema através de uma árvore de


decisão, como mostrado a seguir:

Em uma árvore de decisão, são utilizados dois tipos de nós: o quadrado representa
o ponto (ou nó) de decisão (indica que uma decisão deve ser tomada nesse ponto) e cada
círculo representa um ponto (ou nó) de evento (indica que um evento aleatório ocorre
naquele ponto). Cada uma das linhas é chamada de ramo ou ramificação.

Note então que saem dois ramos do ponto de decisão 1, o qual representa a decisão
sobre as duas alternativas de investimento (investir nas ações de A ou investir nas ações
de B). O ramo “investir nas ações de A” está ligado ao evento 2 do qual saem dois ramos
(um representando o mercado em alta e outro representando o mercado em baixa). Da
mesma forma, o ramo “investir nas ações de B” está ligado ao evento 3 do qual saem dois
ramos (um representando o mercado em alta e outro representando o mercado em
baixa).

Na saída de cada ramo estão mostrados os retornos esperados para cada evento
(investir nas ações de A e mercado em alta (0,6) = 5.000; investir nas ações de A e
mercado em baixa (0,4) = -2.000; investir nas ações de B e mercado em alta (0,6) = 1.500
e investir nas ações de B e mercado em baixa (0,4) = 500).
321
Com isso, podemos calcular o retorno esperado em um ano para cada alternativa
(de investir nas ações de A e de investir nas ações de B):
Para a ação 𝐴 = 5.000 ∙ 0,6 + (−2.000) ∙ 0,4 = $ 𝟐. 𝟐𝟎𝟎
Para a ação 𝐵 = 1.500 ∙ 0,6 + 500 ∙ 0,4 = $ 1.100

Logo, como o maior retorno esperado ocorreu ao investirmos na empresa A, então,


pelo critério do valor esperado, a melhor decisão seria investir nas ações de A.

Na terminologia da Teoria da Decisão, os mercados em alta ou em baixa são


denominados estados da natureza, nos quais as chances de ocorrência são
probabilísticas (probabilidade de ocorrência de 0,6 para o mercado em alta e 0,4 para o
mercado em baixa). Ou seja, os estados da natureza representam cada uma das possíveis
situações (ou condições) do sistema (nesse exemplo, do mercado).

De forma geral, em um problema de decisão podemos ter 𝑛 estados da natureza e


𝑚 alternativas de decisão. Considerando 𝑝𝑗 a probabilidade de ocorrência do estado da
natureza 𝑗 e 𝑎𝑖𝑗 o retorno esperado da alternativa 𝑖 dado que ocorreu o estado da
natureza 𝑗 (sendo 𝑖 = 1,2,...,𝑚 e 𝑗 = 1,2,...,𝑛), então o retorno esperado para a alternativa
𝑖 (𝐸𝑉𝑖 ) é dado por:
𝐸𝑉𝑖 = 𝑎𝑖1 𝑝1 + 𝑎𝑖2 𝑝2 + 𝑎𝑖3 𝑝3 + ⋯ + 𝑎𝑖𝑛 𝑝𝑛 , 𝑖 = 1,2,3, … , 𝑛

Temos ainda que a soma das probabilidades de todos os possíveis estados da


natureza deve ser igual a 1:
𝑝1 + 𝑝2 + 𝑝3 + ⋯ + 𝑝𝑛 = 1

A melhor alternativa será 𝐸𝑉* = max{𝐸𝑉𝑖 }, isto é, o maior valor esperado (se o
problema representar lucro ou receita), ou 𝐸𝑉* = min{𝐸𝑉𝑖 }, isto é, o menor valor esperado
(se o problema representar prejuízo ou despesa).

Para entender essa fórmula, vamos utilizá-la para resolvermos o problema


anterior:

Temos que 𝑛 = 2 (2 estados da natureza: mercado em alta e mercado em baixa) e


𝑚 = 2 (2 alternativas: investir em A e investir em B). Assim:
𝐸𝑉𝑖 = 𝑎𝑖1 𝑝1 + 𝑎𝑖2 𝑝2 , 𝑖 = 1,2

Ou seja:
𝐸𝑉1 = 𝑎11 𝑝1 + 𝑎12 𝑝2
𝐸𝑉2 = 𝑎21 𝑝1 + 𝑎22 𝑝2

322
Sabe-se que 𝑝1 = 0,6 é a probabilidade de ocorrência do estado da natureza 1
(mercado em alta) e 𝑝2 = 0,4 é a probabilidade de ocorrência do estado da natureza 2
(mercado em baixa). Note que a soma das probabilidade é igual a 1 (𝑝1 + 𝑝2 = 1).

Além disso, tem-se que 𝑎11 = 5.000 é o retorno esperado para a alternativa 1 (𝑖 =
1, ou seja, escolhermos A) dado que ocorreu o estado da natureza 1 (𝑗 = 1, ou seja,
mercado em alta); 𝑎12 = –2.000 é o retorno esperado para a alternativa 1 (𝑖 = 1, ou seja,
escolhermos A) dado que ocorreu o estado da natureza 2 (𝑗 = 2, ou seja, mercado em
baixa); 𝑎21 = 1.500 é o retorno esperado para a alternativa 2 (𝑖 = 2, ou seja, escolhermos
B) dado que ocorreu o estado da natureza 1 (𝑗 = 1, ou seja, mercado em alta) e 𝑎22 = 500
é o retorno esperado para a alternativa 2 (𝑖 = 2, ou seja, escolhermos B) dado que ocorreu
o estado da natureza 2 (𝑗 = 2, ou seja, mercado em baixa). Com isso:
𝐸𝑉1 = 𝑎11 𝑝1 + 𝑎12 𝑝2 = 5000 ∙ 0,6 + (−2000) ∙ 0,4 = 2200
𝐸𝑉2 = 𝑎21 𝑝1 + 𝑎22 𝑝2 = 1500 ∙ 0,6 + 500 ∙ 0,4 = 1100

Assim, o máximo valor esperado:


𝐸𝑉 ∗ = max{𝐸𝑉1 , 𝐸𝑉2 } = max{2200,1100} = 2200

Logo, a melhor alternativa é a alternativa 1 (investir nas ações de A), pois foi a
que resultou no maior valor esperado (portanto é esperado que ela trará o maior
retorno).

É importante ressaltar que as probabilidades de ocorrência dos estados da


natureza (nesse exemplo, 0,6 para o mercado em alta e 0,4 para o mercado em baixa)
nem sempre são conhecidas. Quando as probabilidades dos estados da natureza são
conhecidas, o problema de tomada de decisão é denominado “sob risco”. Caso as
probabilidades associadas a cada estado da natureza não sejam conhecidas, então
estamos lidando com um problema de tomada de decisão “sob incerteza”.

Ainda sobre o exemplo anterior, é possível fazer algumas observações: a atitude


do tomador de decisões (entre investir em A ou em B) depende de como ele lida com o
risco. Imagine que a pessoa não vai precisar desses $ 10.000 daqui a um ano, então
investir em A deve ser a alternativa que provavelmente ela escolheria (pois tem maiores
chances de trazer mais retorno). Entretanto, se ela vai precisar desses $ 10.000 daqui a
um ano, provavelmente ela ficará “com medo” de arriscar perder $ 2.000 (acabar ficando
com $ 8.000), escolhendo assim a opção mais segura (investir em B). Logo, um indivíduo
é avesso ao risco (cauteloso) quando exibe uma sensibilidade mais alta ao prejuízo do
que ao lucro (é mais sensível às perdas). Por outro lado, um indivíduo é propenso ao risco
quando exibe uma sensibilidade mais alta ao lucro do que ao prejuízo (é mais sensível
aos ganhos).

323
Variações do critério do valor esperado

A presente seção aborda duas questões em relação ao critério do valor esperado.


A primeira trata da determinação das probabilidades posteriores com base em
experimentação, e a segunda trata da utilidade contra o valor real do dinheiro.

Probabilidades posteriores (ou probabilidades de Bayes):

As probabilidades usadas no critério do valor esperado costumam ser


determinadas de acordo com dados históricos. Em alguns casos, essas probabilidades
podem ser ajustadas usando informações adicionais baseadas em amostragem ou
experimentação. Essas probabilidades resultantes são chamadas de probabilidades
posteriores ou probabilidades de Bayes, as quais se opõem às probabilidades a priori (ou
probabilidades prévias) determinadas com dados brutos (como foi considerado na seção
anterior).

O exemplo a seguir demonstra como o critério do valor esperado pode ser


modificado para aproveitar a vantagem das probabilidades posteriores:

No exemplo da seção anterior, as probabilidades a priori de 0,6 e 0,4, de mercado


em alta e mercado em baixa, são determinadas por publicações financeiras disponíveis.
Suponha que no lugar de confiar exclusivamente nessas publicações, você decida
realizar uma investigação particular, consultando um amigo que ganhou muito dinheiro
no mercado de ações.

Esse seu amigo oferece uma opinião geral “pró” ou “contra” o investimento, a qual
pode ser quantificada da seguinte maneira: se o mercado estiver em alta, há 90% de
chance de o voto dele ser a favor do investimento; se o mercado estiver em baixa, a
chance de o voto dele ser a favor diminui para 50%.
Nesse caso, como utilizaremos essas informações adicionais?

324
Solução:

A declaração feita pelo amigo fornece probabilidades adicionais de “a favor” ou


“contra”, dado que os estados da natureza são mercado em alta e mercado em baixa.
Para simplificar a explicação, considere a seguinte notação:
𝑣1 = voto a favor
𝑣2 = voto contra
𝑚1 = mercado em alta
𝑚2 = mercado em baixa

O conselho do amigo pode ser reescrito em termos de probabilidades condicionais


da seguinte forma: 𝑃(𝑣1 /𝑚1 ) = 0,9, ou seja, a probabilidade de o amigo votar a favor (𝑣1 ),
dado que o mercado estava em alta (𝑚1 ) é igual a 0,9; 𝑃(𝑣2 /𝑚1 ) = 0,1, ou seja, a
probabilidade de o amigo votar contra (𝑣2 ), dado que o mercado estava em alta (𝑚1 ) é
igual a 0,1; 𝑃(𝑣1 /𝑚2 ) = 0,5, ou seja, a probabilidade de o amigo votar a favor (𝑣1 ), dado
que o mercado estava em baixa (𝑚2 ) é igual a 0,5; 𝑃(𝑣2 /𝑚2 ) = 0,5, ou seja, a probabilidade
de o amigo votar contra (𝑣2 ), dado que o mercado estava em baixa (𝑚2 ) é igual a 0,5.

Com essa informação adicional, o problema de decisão pode ser resumido nas
seguintes questões:

1. Se a recomendação do seu amigo for a favor do investimento, você investiria nas


ações de A ou de B?
2. Se a recomendação do seu amigo for contra o investimento, você investiria nas
ações de A ou de B?

Agora é preciso calcular as probabilidades posteriores 𝑃(𝑚𝑖 /𝑣𝑗 ), que representam


as probabilidades de ocorrência do estado 𝑚𝑖 (mercado em alta ou em baixa) dado que o
seu amigo escolheu 𝑣𝑗 (foi a favor ou contra). Por exemplo, 𝑃(𝑚1 /𝑣1 ) é a probabilidade
de o mercado estar em alta (𝑚1 ) dado que o seu amigo votou a favor (𝑣1 ).

É importante observar que as probabilidades posteriores levam em conta a


informação adicional fornecida pela recomendação “a favor” ou “contra” (𝑣𝑗 ) do seu
amigo.

325
As probabilidades posteriores são calculadas por meio do Teorema de Bayes (por
isso são também chamadas de probabilidades de Bayes). O Teorema de Bayes pode ser
expresso através da seguinte fórmula:
𝑃(𝑚𝑖 , 𝑣𝑗 )
𝑃(𝑚𝑖 /𝑣𝑗 ) =
𝑃(𝑣𝑗 )

Essa fórmula mostra que a probabilidade de ocorrer o evento 𝑚𝑖 (mercado em alta


ou em baixa) dado que ocorreu a decisão 𝑣𝑗 (voto a favor ou contra) é igual a
probabilidade de ter ocorrido o evento 𝑚𝑖 E a decisão 𝑣𝑗 (ou seja, terem ocorrido os dois)
dividido pela probabilidade de ter ocorrido a decisão 𝑣𝑗 . Por exemplo:
𝑃(𝑚1 , 𝑣1 )
𝑃(𝑚1 /𝑣1 ) =
𝑃(𝑣1 )

Essa expressão mostra que a probabilidade de o mercado estar em alta dado que
o amigo votou a favor é igual a probabilidade de o mercado estar em alta E o amigo votar
a favor dividido pela probabilidade de o amigo votar a favor.

A probabilidade conjunta pode ser obtida através da expressão:


𝑃(𝑚𝑖 , 𝑣𝑗 ) = 𝑃(𝑚𝑖 /𝑣𝑗 )𝑃(𝑣𝑗 ) = 𝑃(𝑣𝑗 /𝑚𝑖 )𝑃(𝑚𝑖 )

Logo:
𝑃(𝑚𝑖 , 𝑣𝑗 ) = 𝑃(𝑣𝑗 /𝑚𝑖 )𝑃(𝑚𝑖 ), para todo 𝑖 e 𝑗

Já a probabilidade absoluta 𝑃(𝑣𝑗 ), também chamada de probabilidade total, pode


ser obtida pela seguinte expressão:

𝑃(𝑣𝑗 ) = ∑ 𝑃(𝑚𝑖 , 𝑣𝑗 ) , para todo 𝑗


todo 𝑖

Dessa forma, temos que:


𝑃(𝑚𝑖 , 𝑣𝑗 )
𝑃(𝑚𝑖 /𝑣𝑗 ) =
𝑃(𝑣𝑗 )

Em que:
𝑃(𝑚𝑖 , 𝑣𝑗 ) = 𝑃(𝑣𝑗 /𝑚𝑖 )𝑃(𝑚𝑖 ), para todo 𝑖 e 𝑗

𝑃(𝑣𝑗 ) = ∑ 𝑃(𝑚𝑖 , 𝑣𝑗 ) , para todo 𝑗


todo 𝑖

326
Para o problema proposto, temos as seguintes informações:
𝑃(𝑣1 /𝑚1 ) = 0,9
𝑃(𝑣2 /𝑚1 ) = 0,1
𝑃(𝑣1 /𝑚2 ) = 0,5
𝑃(𝑣2 /𝑚2 ) = 0,5

Essas informações foram resumidas na seguinte tabela:

Note que cada elemento da tabela corresponde à probabilidade 𝑃(𝑣𝑗 /𝑚𝑖 ), em que
𝑣𝑗 são as colunas e 𝑚𝑖 são as linhas.

As probabilidades conjuntas podem ser calculadas como:


𝑃(𝑚𝑖 , 𝑣𝑗 ) = 𝑃(𝑣𝑗 /𝑚𝑖 )𝑃(𝑚𝑖 ), para todo 𝑖 e 𝑗

Com isso:
𝑃(𝑚1 , 𝑣1 ) = 𝑃(𝑣1 /𝑚1 )𝑃(𝑚1 ) = 0,9 ∙ 0,6 = 0,54
𝑃(𝑚1 , 𝑣2 ) = 𝑃(𝑣2 /𝑚1 )𝑃(𝑚1 ) = 0,1 ∙ 0,6 = 0,06
𝑃(𝑚2 , 𝑣1 ) = 𝑃(𝑣1 /𝑚2 )𝑃(𝑚2 ) = 0,5 ∙ 0,4 = 0,20
𝑃(𝑚2 , 𝑣2 ) = 𝑃(𝑣2 /𝑚2 )𝑃(𝑚2 ) = 0,5 ∙ 0,4 = 0,20

Por exemplo, a primeira equação mostra que a probabilidade de o mercado estar


em alta E o voto ser a favor é igual a probabilidade de o voto ser a favor dado que o
mercado estava em alta (0,9) vezes a probabilidade de o mercado estar em alta (0,6).

Partindo da tabela anterior, esses mesmos resultados poderiam ser obtidos


multiplicando a primeira linha por 0,6 (probabilidade de o mercado estar em alta) e a
segunda linha por 0,4 (probabilidade de o mercado estar em baixa). De toda a forma, a
tabela a seguir mostra o resultado para as probabilidade conjuntas:

Por exemplo, o primeiro elementos mostra que a probabilidade de o mercado estar


em alta E o voto ser a favor é de 0,54, isto é, 𝑃(𝑚1 , 𝑣1 ) = 0,54. Note ainda que a soma de
todos os elementos (todas as entradas) dessa tabela é igual a 1.

327
As probabilidades absolutas podem ser calculadas como:

𝑃(𝑣𝑗 ) = ∑ 𝑃(𝑚𝑖 , 𝑣𝑗 ) , para todo 𝑗


todo 𝑖

Com isso:

𝑃 (𝑣1 ) = ∑ 𝑃(𝑚𝑖 , 𝑣1 ) = 𝑃(𝑚1 , 𝑣1 ) + 𝑃(𝑚2 , 𝑣1 ) = 0,54 + 0,2 = 0,74


todo 𝑖

𝑃(𝑣2 ) = ∑ 𝑃(𝑚𝑖 , 𝑣2 ) = 𝑃(𝑚1 , 𝑣2 ) + 𝑃 (𝑚2 , 𝑣2 ) = 0,06 + 0,2 = 0,26


todo 𝑖

Observe que 𝑃 (𝑣1 ) é a probabilidade de o voto ser a favor (0,74) e 𝑃(𝑣2 ) é a


probabilidade de o voto ser contra (0,26). Naturalmente, a soma (0,74 + 0,26) deve ser
igual a 1, pois representam todas as possibilidades (ou o voto é a favor ou é contra).

Esse mesmo resultado poderia ser obtido somando-se as linhas de cada coluna da
tabela anterior. De toda a forma, a tabela a seguir mostra o resultado para as
probabilidade absolutas:

Finalmente, as probabilidades posteriores podem ser obtidas através do Teorema


de Bayes:
𝑃(𝑚𝑖 , 𝑣𝑗 )
𝑃(𝑚𝑖 /𝑣𝑗 ) =
𝑃(𝑣𝑗 )

Com isso:
𝑃(𝑚1 , 𝑣1 ) 0,54
𝑃(𝑚1 /𝑣1 ) = = = 0,730
𝑃(𝑣1 ) 0,74
𝑃(𝑚2 , 𝑣1 ) 0,20
𝑃 (𝑚2 /𝑣1 ) = = = 0,270
𝑃(𝑣1 ) 0,74
𝑃(𝑚1 , 𝑣2 ) 0,06
𝑃 (𝑚1 /𝑣2 ) = = = 0,231
𝑃(𝑣2 ) 0,26
𝑃(𝑚2 , 𝑣2 ) 0,20
𝑃 (𝑚2 /𝑣2 ) = = = 0,769
𝑃 (𝑣2 ) 0,26

Por exemplo, a primeira expressão mostra que a probabilidade de o mercado estar


em alta dado que o voto foi a favor é igual a 0,730, ou seja, 𝑃(𝑚1 /𝑣1 ) = 0,730.

328
Esse resultado poderia ser obtido dividindo os elementos da penúltima tabela pelo
elemento da coluna correspondente da última tabela. De toda a forma, a tabela a seguir
mostra o resultado para as probabilidade posteriores:

É importante ressaltar que essas probabilidades são diferentes das


probabilidades a priori (originais) 𝑃(𝑚1 ) = 0,6 e 𝑃(𝑚2 ) = 0,4. Tendo como base essa
última tabela, o problema pode ser resumido na seguinte árvore de decisão:

O nó 1 é um evento que representa as possibilidades “a favor” ou “contra”. Os nós


2 e 3 são os pontos de decisão para escolher as ações de A ou de B conforme o voto do
amigo seja a favor ou contra. Por fim, os nós 4 a 7 são os eventos que representam os
mercados em alta e em baixa para cada caso.

A questão a ser respondida agora é: Qual é a melhor ação a ser tomada (investir
em A ou B) caso o voto do seu amigo seja a favor? E qual é a melhor ação a ser tomada
(investir em A ou B) caso o voto do seu amigo seja contra?

329
Observando a árvore de decisão, caso o voto seja “a favor”:
Para a ação 𝐴 (nó 4) = 5.000 ∙ 0,730 + (−2.000) ∙ 0,270 = $ 𝟑. 𝟏𝟏𝟎
Para a ação 𝐵 (nó 5) = 1.500 ∙ 0,730 + 500 ∙ 0,270 = $ 1.230

Logo, caso o voto do amigo seja “a favor”, a melhor decisão é investir nas ações de
A.

Observando a árvore de decisão, caso o voto seja “contra”:


Para a ação 𝐴 (nó 6) = 5.000 ∙ 0,231 + (−2.000) ∙ 0,769 = $ − 383
Para a ação 𝐵 (nó 7) = 1.500 ∙ 0,231 + 500 ∙ 0,769 = $ 𝟕𝟑𝟏

Logo, caso o voto do amigo seja “contra”, a melhor decisão é investir nas ações de
B.

Essas decisões equivalem a dizer que os retornos esperados (valor máximo) para
os nós de decisão 2 e 3 são, respectivamente, $ 3.110 e $ 731. Com isso, considerando as
probabilidades 𝑃(𝑣1 ) = 0,74 e 𝑃(𝑣2 ) = 0,26 podemos calcular o valor esperado para toda
a árvore de decisão:
𝐸𝑉 = 3.110 ∙ 0,74 + 731 ∙ 0,26 = $ 2.491,46

Esse valor de $ 2.491,46 é o retorno esperado para essa árvore de decisão (nó 1).

Funções de utilidade:

Nas situações anteriores, o critério do valor esperado foi aplicado a situações nas
quais o retorno era em unidades monetárias. Há casos em que a utilidade é utilizada na
análise, no lugar de valores monetários.

Imagine que as chances de um investimento de $ 20.000 render um lucro (um


ganho) de $ 40.000 ou ser completamente perdido ($ –20.000) seja 50%-50%. Nesse caso,
o lucro esperado será de 40.000x0,5 – 20.000x0,5 = $ 10.000. Embora haja um lucro
líquido esperado ($ 10.000), indivíduos diferentes podem interpretar esse resultado de
maneiras diferentes.

Um investidor que está disposto a aceitar o risco pode realizar o investimento em


virtude dos 50% de chance de obter um lucro de $ 40.000. Por outro lado, um investidor
conservador (“pessimista”) pode não estar disposto a correr o risco de perder todo o
dinheiro (de perder os $ 20.000) e por isso decide não apostar nesse investimento.

Desse ponto de vista, dizemos que “indivíduos diferentes exibem atitudes


diferentes em relação ao risco”, o que significa que indivíduos exibem utilidades
diferentes em relação ao risco.

330
A determinação da utilidade é subjetiva, pois depende da atitude do tomador de
decisão em relação a aceitar o risco. Aqui será apresentado um procedimento para
quantificar o grau de tolerância do tomador de decisões em relação ao risco. O resultado
final será uma função utilidade que irá substituir o valor monetário.

Considerando novamente o exemplo do investimento 50%-50%, o melhor retorno


é $ 40.000 e o pior retorno é $ –20.000. Assim, estabelecemos uma escala de utilidade
(𝑈) arbitrária, porém lógica, de 0 a 100, em que 𝑈(–20.000) = 0 e 𝑈(40.000) = 100.

As utilidades para os valores entre $ –20.000 e $ 40.000 são determinadas da


seguinte forma:

Se a atitude do tomador de decisões for indiferente em relação ao risco, a função


utilidade resultante será uma linha reta que ligará o ponto (0, $ –20.000) e o ponto (100,
$ 40.000). Nesse caso, ambos (o valor monetário e sua utilidade) produzirão as mesmas
decisões.

De modo mais realista, a função utilidade toma outras formas, que refletem a
atitude do tomador de decisões em relação ao risco. A figura a seguir ilustra os casos dos
indivíduos X, Y e Z.

Note que o indivíduo X é avesso ao risco (“cauteloso” ou “pessimista”) pois exibe


uma sensibilidade mais alta ao prejuízo do que ao lucro (a função utilidade cresce
rapidamente para valores monetários abaixo de 0, e cresce mais lentamente para
valores monetários acima de 0). Observe que a concavidade da curva está para baixo (ou
seja, a função utilidade tem uma inclinação decrescente conforme a quantidade de
dinheiro aumenta). Isso é chamado de utilidade marginal decrescente para o dinheiro.
331
O indivíduo Z é o oposto, e portanto é propenso ao risco (a função utilidade cresce
lentamente para valores monetários abaixo de 0, e cresce rapidamente para valores
monetários acima de 0). Observe que a concavidade da curva está para cima (ou seja, a
função utilidade tem uma inclinação crescente conforme a quantidade de dinheiro
aumenta). Isso é chamado de utilidade marginal crescente para o dinheiro.

Analisando o gráfico para o indivíduo X, que é avesso ao risco, pode-se notar que
a queda da utilidade bc correspondente a um prejuízo de $ –10.000 (isto é, entre os
valores $ –10.000 e $ 0) é maior do que o aumento ab associado com o ganho de $ 10.000
(isto é, entre os valores $ 0 e $ 10.000).

Analisando o gráfico para o indivíduo Z, que é propenso ao risco, nas mesmas


condições ($ –10.000 e $ +10.000), temos um comportamento oposto, isto é, o aumento
de de é maior do que a queda de ef.

Além disso, o indivíduo Y é neutro em relação ao risco porque as variações


monetárias resultam nas mesmas variações na utilidade (note que o gráfico de Y é uma
reta).

De forma geral, um mesmo indivíduo pode ter ambas as características, isto é, ser
avesso e propenso ao risco. Nesse caso, a curva de utilidade terá uma forma de um S
alongado (com concavidade para baixo no intervalo de valores monetários em que ele é
avesso ao risco, e com concavidade para cima no intervalo em que ele é propenso ao
risco).

Um procedimento quantitativo que obtém uma curva para a função utilidade,


como demonstra a figura anterior, está longe de ser uma abordagem científica. O fato
de o procedimento estar orientado pela opinião do tomador de decisões lança dúvida
sobre a confiabilidade dessa abordagem. Um procedimento quantitativo irá considerar
implicitamente que o tomador de decisões é “racional”, um requisito que dificilmente
será alcançado, tendo que vista as amplas variações de comportamento e humor típicas
dos seres humano.

332
AULA 3 – TOMADA DE
DECISÃO SOB INCERTEZA

Critérios para a tomada de decisão sob incerteza

As tomadas de decisão sob incerteza, assim como na tomada de decisão sob risco,
envolvem escolher entre alternativas que dependem de estados da natureza.
Entretanto, na decisão sob incerteza, as probabilidades associadas a cada um dos
estados da natureza não são mais conhecidas (agora tais estados não são mais
probabilísticos, são apenas aleatórios).

É possível construir uma matriz de retorno de um problema de tomada de decisão


contendo 𝑚 alternativas (𝑎𝑖 ) representadas nas linhas 𝑖, e 𝑛 estados da natureza (𝑠𝑗 )
representados nas colunas 𝑗:

Por exemplo, o elemento 𝑣(𝑎1 , 𝑠1 ) representa o retorno caso optemos pela


alternativa 1 e ocorra o estado da natureza 1. De forma geral, 𝑣(𝑎𝑖 , 𝑠𝑗 ) representa o
retorno caso optemos pela alternativa 𝑖 (𝑎𝑖 ) e ocorra o estado da natureza 𝑗 (𝑠𝑗 ).

É importante destacar que a diferença entre a decisão sob risco e a decisão sob
incerteza é justamente o fato de não conhecermos (ou não podermos determinar) a
distribuição de probabilidades associada aos estados 𝑠𝑗 , 𝑗 = 1,2,3,...,𝑛.

333
A partir daí, temos os seguintes critérios para a tomada de decisão:

1. Laplace;
2. Minimax (ou Maximin);
3. Savage;
4. Hurwicz.

Cada um desses critérios é diferenciado pelo grau de conservadorismo por parte


do tomador de decisões em relação à incerteza.

Critério de Laplace:

O critério de Laplace é baseado no chamado princípio da razão insuficiente. Esse


princípio explica que: o fato de as distribuições de probabilidade não serem conhecidas
permite que consideremos que as probabilidades associadas aos estados da natureza
sejam todas iguais (ou seja, 𝑃{𝑠𝑗 } = 1/𝑛), a qual é uma premissa bastante otimista. Por
exemplo, se existem 𝑛 = 4 estados da natureza, a probabilidade de ocorrência de cada
estado é igual a 1/4 = 0,25.

Dessa forma, o valor esperado que maximiza o retorno (ganho), considerando o


retorno para cada alternativa (ação) 𝑎𝑖 , é dado por:
𝑛

1
𝐸𝑉 = max { ∑ 𝑣(𝑎𝑖 , 𝑠𝑗 )}
𝑎𝑖 𝑛
𝑗=1

Em que 𝑣 (𝑎𝑖 , 𝑠𝑖 ) representa o retorno caso optemos pela alternativa 𝑖 e ocorra o


estado da natureza 𝑗. Se 𝑣(𝑎𝑖 , 𝑠𝑗 ) representar o prejuízo (perda), então o max
(maximização) da equação será substituído por min (minimização), pois queremos
encontrar o valor esperado que minimize as perdas.

Essa expressão é equivalente a calcular o valor esperado para cada alternativa


(ação) e depois escolher o maior valor (caso a matriz de retorno seja de ganho) ou o menor
valor (caso a matriz de retorno seja de perda). O valor esperado para uma ação 𝑎𝑖 , pode
ser calculado como:
𝑛
1
𝐸 {𝑎𝑖 } = ∑ 𝑣(𝑎𝑖 , 𝑠𝑗 )
𝑛
𝑗=1

334
Para entender o critério de Laplace, considere a seguinte matriz de retorno:

Supondo que ela seja uma matriz de ganho. Os valores esperados para cada
alternativa (ação) são dados por:
2
1
𝐸 {𝑎𝑖 } = ∑ 𝑣(𝑎𝑖 , 𝑠𝑗 )
2
𝑗=1

Assim:
2
1 1 1
𝐸{𝑎1 } = ∑ 𝑣(𝑎1 , 𝑠𝑗 ) = ∙ [𝑣 (𝑎1 , 𝑠1 ) + 𝑣(𝑎1 , 𝑠2 )] = ∙ (11.000 + 90) = 5.545
2 2 2
𝑗=1

2
1 1 1
𝐸{𝑎2 } = ∑ 𝑣(𝑎2 , 𝑠𝑗 ) = ∙ [𝑣 (𝑎2 , 𝑠1 ) + 𝑣(𝑎2 , 𝑠2 )] = ∙ (10.000 + 10.000) = 𝟏𝟎. 𝟎𝟎𝟎
2 2 2
𝑗=1

Note que o valor esperado para cada ação é simplesmente a média dos valores de
cada linha.

Como o maior valor esperado é o de 𝑎2 (ocorre para a ação 2), então optaremos
pela alternativa (ação) 2. Caso a nossa matriz de retorno fosse de perda, optaríamos pela
alternativa que trouxesse o menor retorno esperado (nesse caso, escolheríamos a
alternativa 𝑎1 ).

Critério Maximin (ou Minimax):

O critério maximin (para matriz de retorno de ganho) ou minimax (para matriz


de retorno de perdas) é o critério mais conservador possível. Ele consiste em escolhermos
a melhor dentre as piores alternativas. Ou seja, nós consideramos que ocorrerá o pior
caso possível (para cada alternativa) e escolheremos o melhor dentre esses piores casos.

No caso de termos uma matriz de retorno de ganho, a melhor alternativa segundo


o critério maximin é:

max {min{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗

E no caso de termos uma matriz de retorno de perdas, a melhor alternativa


segundo o critério minimax é:

min {max{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗
335
Considere novamente a matriz de retorno:

Suponha que ela seja uma matriz de retorno de ganho. Então devemos utilizar o
critério maximin. Nesse caso, devemos considerar o pior caso para cada alternativa (o
valor mínimo de cada linha): para a linha 1 é o $ 90 e para linha 2 é o $ 10.000. E depois
escolhemos o maior dentre esses dois valores (o máximo entre esses dois valores, que é
o melhor dentre a pior situação possível), ou seja, o $ 10.000, que corresponde à
alternativa 2. Logo, nesse caso, a melhor alternativa é a ação 2 (𝑎2 ).

Considere agora que a matriz de retorno seja de perda. Então devemos utilizar o
critério minimax. Nesse caso, devemos considerar o pior caso para cada alternativa (o
maior valor de cada linha): para a linha 1 é o $ 11.000 e para a linha 2 é o $ 10.000. E
depois escolhemos o menor dentre esses dois valores (o mínimo entre esses dois valores,
que é o melhor dentre a pior situação possível), ou seja, o $ 10.000, que corresponde à
alternativa 2. Logo, nesse caso, a melhor alternativa é a ação 2 (𝑎2 ).

Esse procedimento é mostrado a seguir:

Note que, no caso da matriz de retorno de perda, segundo o critério de Laplace a


melhor ação seria 𝑎1 (pois é a que tem o menor valor médio), enquanto no critério
minimax escolhemos a ação 𝑎2 . Essa diferença se deve ao fato de que no critério de
Laplace o tomador de decisão é muito mais otimista (vai “observar” mais a perda baixa
de $ 90 da ação 1, por isso irá escolhe-la) do que no critério minimax (vai “observar” mais
a perda alta de $ 11.000 da ação 1, por isso irá escolher a ação 2, que tem a menor dentre
as “maiores perdas” de cada alternativa).

Logo, no critério maximin (ou minimax) o tomador de decisão é bastante


pessimista, pois considera que irá ocorrer o estado da natureza que produz o pior retorno
(o menor retorno, no caso de a matriz de retorno ser de ganho; e o maior retorno, no caso
de a matriz de retorno ser de perda).

336
Critério de arrependimento de Savage:

O critério de arrependimento de Savage consiste em um conservadorismo mais


moderado em relação ao critério minimax (ou maximin). Nesse caso, a matriz de retorno
(ganho ou perda) é substituída por uma matriz de arrependimento 𝑟(𝑎𝑖 , 𝑠𝑗 ), da seguinte
forma:

𝑣(𝑎𝑖 , 𝑠𝑗 ) − min{𝑣(𝑎𝑘 , 𝑠𝑗 )} , se 𝑣 for perda


𝑎𝑘
𝑟(𝑎𝑖 , 𝑠𝑗 ) = {
max{𝑣(𝑎𝑘 , 𝑠𝑗 )} − 𝑣(𝑎𝑖 , 𝑠𝑗 ), se 𝑣 for ganho
𝑎𝑘

Essa equação demonstra que: se a matriz for de “perda”, então temos que subtrair
cada elemento 𝑣(𝑎𝑖 , 𝑠𝑗 ) do menor valor da sua respectiva coluna; e se a matriz for de
“ganho”, então temos que subtrair o maior valor de cada coluna pelos seus respectivos
elementos 𝑣(𝑎𝑖 , 𝑠𝑗 ).

Para mostrar como o critério de Savage “modera” o critério minimax (maximin),


considere novamente a matriz de retorno:

Supondo que ela seja uma matriz de ganho, então devemos utilizar a fórmula:

𝑟(𝑎𝑖 , 𝑠𝑗 ) = max{𝑣(𝑎𝑘 , 𝑠𝑗 )} − 𝑣(𝑎𝑖 , 𝑠𝑗 )


𝑎𝑘

Ou seja, devemos subtrair cada elemento do máximo da coluna correspondente.


O máximo da coluna 1 é 11.000, então 𝑟11 = 11.000 – 11.000 = 0 e 𝑟21 = 11.000 – 10.000
= 1.000; e o máximo da coluna 2 é 10.000, portanto 𝑟12 = 10.000 – 90 = 9.910 e 𝑟22 =
10.000 – 10.000 = 0. Com isso, temos a seguinte matriz de arrependimento:

Em seguida, devemos utilizar o critério minimax sobre a matriz de


arrependimento 𝑟. Ou seja, devemos considerar o pior caso para cada alternativa (o
maior valor de cada linha): para a linha 1 é o $ 9.910 e para a linha 2 é o $ 1.000. E
depois escolhemos o menor dentre esses dois valores (o mínimo entre esses dois valores,
que é o melhor dentre a pior situação possível), ou seja o $ 1.000, que corresponde à ação
2.

337
Logo, nesse caso, a melhor alternativa é a ação 2 (𝑎2 ), pois é a ação que irá gerar
o menor “arrependimento”. Por exemplo, se escolhermos a ação 1 e ocorrer o estado da
natureza 2, estamos “perdendo” (isto é, deixando de ganhar 10.000 – 90 = 9.910), que é
o quanto ganharíamos a mais caso optássemos pela ação 2. Por outro lado, se
escolhermos a ação 2 e ocorrer o estado da natureza 1, estamos “perdendo” (isto é,
deixando de ganhar 11.000 – 10.000 = 1.000), que é o quanto ganharíamos a mais caso
optássemos pela ação 1. Como a alternativa que gera a menor “perda” (menor
arrependimento) é a ação 2, ela foi escolhida.

Suponha agora que ela seja uma matriz de perda, então devemos utilizar a
fórmula:

𝑟(𝑎𝑖 , 𝑠𝑗 ) = 𝑣(𝑎𝑖 , 𝑠𝑗 ) − min{𝑣(𝑎𝑘 , 𝑠𝑗 )}


𝑎𝑘

Ou seja, devemos subtrair cada elemento pelo mínimo da coluna correspondente.


O mínimo da coluna 1 é 10.000, então 𝑟11 = 11.000 – 10.000 = 1.000 e 𝑟21 = 10.000 –
10.000 = 0; e o mínimo da coluna 2 é 90, portanto 𝑟12 = 90 – 90 = 0 e 𝑟22 = 10.000 – 90 =
9.910. Com isso, temos a seguinte matriz de arrependimento:

Em seguida, devemos utilizar o critério minimax sobre a matriz de


arrependimento 𝑟. Ou seja, devemos considerar o pior caso para cada alternativa (o
maior valor de cada linha): para a linha 1 é o $ 1.000 e para a linha 2 é o $ 9.910. E
depois escolhemos o menor dentre esses dois valores (o mínimo entre esses dois valores,
que é o melhor dentre a pior situação possível), ou seja o $ 1.000, que corresponde à ação
1.

Logo, nesse caso, a melhor alternativa é a ação 1 (𝑎1 ), pois é a ação que irá gerar
o menor “arrependimento”. Por exemplo, se escolhermos a ação 1 e ocorrer o estado da
natureza 1, estamos “perdendo” (isto é, pagando a mais 11.000 – 10.000 = 1.000), que é
o quanto perderíamos a mais comparado com a ação 2. Por outro lado, se escolhermos a
ação 2 e ocorrer o estado da natureza 2, estamos “perdendo” (isto é, pagando a mais
10.000 – 90 = 9.910), que é o quanto perderíamos a mais comparado com a ação 1. Como
a alternativa que gera a menor “perda” (menor arrependimento) é a ação 1, ela foi
escolhida.

338
Observe que nesse exemplo as ações escolhidas foram as mesmas do critério de
Laplace (pois o tomador de decisão deixou de ser muito “pessimista”, passando a ser
mais “moderado”). Note ainda que a matriz de arrependimento mostra justamente o
“arrependimento” sobre as nossas escolhas. Para o caso de a matriz de retorno de perda:

 Se escolhermos a ação 1 (mas ocorrer o estado da natureza 1, então a melhor ação


seria a ação 1, pois é a com menor perda), então estamos perdendo (11.000 –
10.000 = 1.000) 1.000 a mais do que poderíamos ter perdido se fôssemos otimistas
de ter escolhido a ação 2 (ou seja, se ocorrer o melhor caso, então nos
arrependeremos de ter perdido esses 1.000, pois se fôssemos otimistas,
“perderíamos” 0 – estamos nos arrependendo de não termos sido otimistas, de
considerar a melhor situação).
 Da mesma forma, considerando o estado 2, a alternativa mais otimista é
perdermos só 90. Se formos otimistas e escolhermos a ação 1, não iremos nos
arrepender (“perda” de 0, caso o estado 2 ocorra). Agora se escolhermos a ação 2
e ocorrer o estado 2, então perderemos 9.910 a mais do que teríamos perdido se
tivéssemos escolhido a ação 1 (iremos nos “arrepender” de termos perdido 9.910
a mais, por não termos sido otimistas).

Depois, a aplicação do critério minimax sobre essa matriz de arrependimento irá


nos mostrar qual a ação que trará o menor arrependimento, em uma perspectiva
conservadora (considerando que ocorrerá o pior caso, isto é, o caso de maior perda,
iremos escolher aquele que minimiza a perda ou “arrependimento”).

Em outras palavras, escolheremos o melhor caso (que tem menor perda)


considerando que irá ocorrer os piores casos (os casos com maiores perdas) da matriz de
arrependimento (em que as “perdas” representam o quanto que eu perdi a mais, ou que
eu deixei de ganhar se fosse uma matriz de retorno de ganho, caso ocorresse a melhor
situação – é o quanto que eu perdi a mais, ou deixei de ganhar, por não ter sido otimista).
Portanto, escolhemos a ação que trará o menor arrependimento.

339
Critério de Hurwicz:

Por fim, temos o critério de Hurwicz, desenvolvido para refletir atitudes do


tomador de decisões que vão desde conservadoras (𝛼 = 0) até otimistas (𝛼 = 1).
Considerando que 𝑣(𝑎𝑖 , 𝑠𝑗 ) represente ganho, a ação selecionada é dada por:

max {𝛼 ∙ max{𝑣(𝑎𝑖 , 𝑠𝑗 )} + (1 − 𝛼) ∙ min{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗 𝑠𝑗

Em que o parâmetro 𝛼 é chamado de índice de otimismo. Note que, se 𝛼 = 0, essa


fórmula se torna o critério maximin (“pessimista”). Por outro lado, se 𝛼 = 1, então essa
fórmula se torna o “máximo dos máximos”, ou seja, escolheremos a melhor das melhores
condições (“otimista”).

Com isso, é possível ajustar o grau de otimismo (ou pessimismo) escolhendo


valores de 𝛼 na faixa entre 0 e 1. Por exemplo, se o tomador de decisão não tiver tendendo
nem ao otimismo e nem ao pessimismo, então um valor de 𝛼 = 0,5 pode ser o mais
adequado.

Além disso, se 𝑣(𝑎𝑖 , 𝑠𝑗 ) representar prejuízo (perda), a ação selecionada será dada
por:

min {𝛼 ∙ min{𝑣(𝑎𝑖 , 𝑠𝑗 )} + (1 − 𝛼) ∙ max{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗 𝑠𝑗

Novamente, fazendo 𝛼 = 0 temos o critério minimax (“pessimista”), enquanto com


𝛼 = 1 temos o “mínimo dos mínimos”, ou seja, escolheremos a melhor das melhores
condições (“otimista”).

Considere novamente a matriz de retorno:

Supondo que 𝛼 = 1 (tomador de decisão otimista), então escolheremos a melhor


das melhores opções. Se a matriz de retorno for de ganho, então selecionamos o maior
dentre os maiores valores, ou seja, o $ 11.000, portanto escolheremos a ação 1. Se a
matriz de retorno for de perda, então selecionamos o menor dentre os menores valores,
ou seja, o $ 90, portanto escolheremos a ação 1.

340
Agora, supondo 𝛼 = 0,5 (tomador de decisão nem otimista e nem pessimista), a
equação para o ganho se torna:

max {0,5 ∙ max{𝑣(𝑎𝑖 , 𝑠𝑗 )} + (1 − 0,5) ∙ min{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗 𝑠𝑗

max {0,5 ∙ max{𝑣(𝑎𝑖 , 𝑠𝑗 )} + 0,5 ∙ min{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗 𝑠𝑗

E para a perda:

min {0,5 ∙ min{𝑣(𝑎𝑖 , 𝑠𝑗 )} + (1 − 0,5) ∙ max{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗 𝑠𝑗

min {0,5 ∙ min{𝑣(𝑎𝑖 , 𝑠𝑗 )} + 0,5 ∙ max{𝑣(𝑎𝑖 , 𝑠𝑗 )}}


𝑎𝑖 𝑠𝑗 𝑠𝑗

Logo, se a matriz de retorno for de ganho, escolheremos o maior valor da linha 1


(11.000) vezes 0,5 somado com o menor valor da linha 1 (90) vezes 0,5; e também
escolheremos o maior valor da linha 2 (10.000) vezes 0,5 somado com o menor valor da
linha 2 (10.000) vezes 0,5, isto é:

Ação 1: 0,5x11.000 + 0,5x90 = 5.545

Ação 2: 0,5x10.000 + 0,5x10.000 = 10.000

Nesse caso, selecionamos a ação 2, pois é a maior (o valor máximo) dentre os


resultados.

Se a matriz de retorno for de perda, escolheremos o menor valor da linha 1 (90)


vezes 0,5 somado com o maior valor da linha 1 (11.000) vezes 0,5; e também
escolheremos o menor valor da linha 2 (10.000) vezes 0,5 somado com o maior valor da
linha 2 (10.000) vezes 0,5, isto é:

Ação 1: 0,5x90 + 0,5x11.000 = 5.545


Ação 2: 0,5x10.000 + 0,5x10.000 = 10.000

Nesse caso, selecionamos a ação 1, pois é a menor (o valor mínimo) dentre os


resultados.

Experimente fazer os gráficos considerando a matriz de retorno como sendo de


ganho, em função de 𝛼. Ou seja, faça o gráfico da função 𝑦1 = 𝛼 ∙11.000 + (1 – 𝛼)∙90 e o
gráfico da função 𝑦2 = 𝛼 ∙10.000 + (1 – 𝛼)∙10.000. Observe qual é o intervalo de 𝛼 em que
a ação 2 é a melhor escolha e qual é o intervalo de 𝛼 em que a ação 1 passa a ser a melhor
escolha. Tente obter o valor de 𝛼 no qual ambas as ações tem o mesmo valor (Dica: faça
𝑦1 = 𝑦2 )! Experimente utilizar o Geogebra (https://www.geogebra.org/graphing?lang=pt)

341
Solução:

A expressão para a ação 1 é dada por:


𝑦1 = 𝛼 ∙ 11.000 + (1 − 𝛼) ∙ 90
𝑦1 = 𝛼 ∙ 11.000 + 90 − 𝛼 ∙ 90
𝑦1 = 𝛼 ∙ 10.910 + 90

A expressão para a ação 2 é dada por:


𝑦2 = 𝛼 ∙ 10.000 + (1 − 𝛼) ∙ 10.000
𝑦2 = 𝛼 ∙ 10.000 + 10.000 − 𝛼 ∙ 10.000
𝑦2 = 10.000

Como para a ação 2, os retornos são iguais (independentes do estado da natureza),


o resultado será sempre o mesmo (10.000) para todo valor de 𝛼.

Observando a expressão 1, conclui-se que: se 𝛼 = 0 (“pessimista”, estamos usando


o critério maximin), 𝑦1 = 90 e portanto devemos escolher a ação 2 (que é 10.000, ou seja,
é maior); e se 𝛼 = 1 (“otimista”, estamos usando o critério “maximax”, ou maior dos
maiores), 𝑦1 = 11.000 e portanto devemos escolher a ação 1 (que é maior do que a ação
2, cujo retorno é de 10.000).

O valor de 𝛼 que iguala as duas ações é:


𝑦1 = 𝑦2
𝛼 ∙ 10.910 + 90 = 10.000
𝛼 ∙ 10.910 = 9.910
9.910
𝛼= = 0,908
10.910
Logo, para 𝛼 = 0,908 os resultados para a ação 1 (𝑦1) e para a ação 2 (𝑦2 ) se igualam
(ou seja, 𝛼 = 0,908 ambas as ações tem o mesmo retorno). Para 𝛼 < 0,908, a ação 2 será
a escolhida (pois o retorno 𝑦2 será maior do que 𝑦1). E para 𝛼 > 0,908, a ação 1 será a
escolhida (pois o retorno 𝑦1 será maior do que 𝑦2 ).

Naturalmente, se a matriz de retorno fosse de perda, os intervalos seriam o


inverso: Para 𝛼 < 0,908, a ação 1 será a escolhida (pois o retorno 𝑦1 será menor do que
𝑦2 ). E para 𝛼 > 0,908, a ação 2 será a escolhida (pois o retorno 𝑦2 será menor do que 𝑦1).

342
É importante observar que, quanto mais próximo 𝛼 estiver de 1 (quanto mais
“otimista”), maior é o peso da melhor condição (isto é, do melhor estado da natureza, que
consiste no maior valor para o ganho, ou o menor valor para a perda); e menor é o peso
da pior condição (isto é, do pior estado da natureza, que consiste no menor valor para o
ganho, ou o maior valor para a perda).

Por outro lado, quanto mais próximo 𝛼 estiver de 0 (quanto mais “pessimista”),
maior é o peso da pior condição (isto é, do pior estado da natureza, que consiste no menor
valor para o ganho, ou o maior valor para a perda) e menor é o peso da melhor condição
(isto é, do melhor estado da natureza, que consiste no maior valor para o ganho, ou o
menor valor para a perda).

343
AULA 4 – TEORIA DOS
JOGOS

Introdução à Teoria dos Jogos

Na seção anterior, aprendemos a solucionar problemas de tomada de decisões sob


incerteza a partir dos critérios da Análise de Decisão. Lá, os problemas envolviam
diversas decisões, cujos retornos dependiam do chamado “estado da natureza” (tanto a
tomada de decisão sob risco quanto sob incerteza dependem dos estados da natureza;
porém na tomada de decisão sob incerteza as probabilidades de ocorrência desses
estados da natureza não são conhecidas).

Assim, na tomada de decisão sob incerteza, os estados da natureza são condições,


as quais não conhecemos a sua probabilidade de ocorrência, mas conhecemos o retorno
que ela proporcionará (para cada ação que escolhermos). Um ponto que não levantamos
em relação à decisão sob incerteza é: qual seria a influência no nosso retorno caso
existissem outros concorrentes (participantes ou “tomadores de decisão”) além de nós?

Note que nos problemas elaborados até agora não há a presença de um


concorrente (de um competidor). Imagine que na decisão de um fazendeiro, envolvendo
a escolha entre 1 de 4 ações disponíveis, exista um fazendeiro concorrente (que também
tivesse acesso a mesma matriz de retorno e também deva escolher entre 1 de 4 ações).
É válido supor que, caso os dois fazendeiros optem pela mesma ação (plantar milho, por
exemplo), o retorno esperado para ambos deve ser menor do que o mostrado na matriz
de retorno (pois agora eles irão “competir” por um mesmo mercado).

Para resolver esse tipo de problema de tomada de decisão existe a Teoria dos
Jogos. A Teoria dos Jogos é usada para solucionar problemas nos quais o retorno que
receberemos da nossa escolha for influenciado pela escolha do nosso concorrente.

344
De forma geral, a nossa vida é repleta de conflitos e competições (por exemplo,
adversários em jogos de mesa, em batalhas militares, em campanhas políticas, em
campanhas publicitárias realizadas por empresas concorrentes etc.). É importante
observar que o resultado final (o retorno para cada “jogador”) depende basicamente da
combinação de estratégias (escolhas, ações) selecionadas por cada jogador.

Nesse aspecto, a Teoria dos Jogos é uma teoria matemática que visa solucionar
problemas envolvendo situações competitivas, dando ênfase ao processo de tomada de
decisão dos adversários (oponentes). Logo, a Teoria dos Jogos é um campo fundamental
da Pesquisa Operacional com o objetivo de analisar as escolhas (ações, estratégias)
dentro de um cenário envolvendo mais de um participante (jogador), de modo que as
chances de ganhos de um ou mais jogadores sejam as melhores possíveis.

Por conta disso, ela é utilizada quando existe uma disputa por objetivos definidos,
sendo aplicadas em situações estratégicas envolvendo ganhos ou perdas. Assim, para
utilizar da Teoria dos Jogos, é preciso ter bastante conhecimento sobre os mecanismos
envolvidos (isto é, sobre as possibilidades reais de ganho, as regras do processo e as
possibilidades dos oponentes), além de conhecer as estratégias que podem ser adotadas
pelos adversários.
É importante observar que para que alguém ganhe, nem sempre os demais devem
perder. Muitas vezes, as melhores decisões podem ser tomadas com o objetivo de fazer
com que todos (ou a maior parte dos participantes) obtenham algum ganho. Tendo em
vista que nem sempre existe apenas uma única solução ótima (pois o cenário é de
disputa), o intuito é analisar as possibilidades e todas as consequências (retorno) de cada
uma das decisões (ações) que podem ser tomadas (tanto por nós quanto pelos demais
jogadores).

A Teoria dos Jogos trata de situações envolvendo oponentes inteligentes, cujos


objetivos são conflitantes, que estão tentando superar uns aos outros. Em um jogo
envolvendo conflito, os oponentes, denominados jogadores (por exemplo, empresas),
possuem um número (finito ou infinito) de alternativas (ações), denominadas estratégias
(são decisões a serem tomadas).

No caso dos jogos empresariais temos as seguintes decisões: definição de preços,


estratégias de mercado, investimento em marketing ou em novas tecnologias e etc., as
quais irão influenciar direta ou indiretamente nos fatores empresariais, como o
crescimento, o lucro e até mesmo a sobrevivência das empresas. Temos também as
regras, que são as formas de atuação permitidas.

Deve-se ressaltar que a Teoria dos Jogos contrasta com a Análise de Decisão, uma
vez que na Análise de Decisão o tomador de decisão está participando de um jogo contra
um “oponente passivo” (estado da natureza), que escolhe suas estratégias de forma
aleatória.
345
A partir de agora, no lugar de pensarmos nos estados da natureza (e montarmos
uma matriz de retorno), iremos pensar no retorno como dependente das ações dos outros
jogadores (o retorno passa a depender das ações dos outros jogadores, não mais dos
estados da natureza). Dessa forma, existem duas modalidades sobre as escolhas:

1. Escolhas simultâneas: na qual cada jogador toma as decisões sem conhecer as


escolhas feitas pelos demais jogadores.
2. Escolhas sequenciais: em que as decisões são tomadas após as ações adotadas
pelos demais jogadores.

Em geral, existem algumas opções de solução para os problemas de teoria dos


jogos. Uma delas é chamada de estratégia dominante (é a melhor escolha possível para
o jogador independente da escolha dos demais jogadores). É importante ressaltar que a
estratégia dominante é a melhor escolha individual, mas nem sempre trará o melhor
retorno para o grupo de jogadores.

Visto que a estratégia dominante é a mais comum de ser adotada pelos jogadores,
ela é chamada de solução de equilíbrio ou equilíbrio do jogo (consiste na melhor solução
individual, ou seja, cada jogador escolherá a melhor decisão para ele). Na situação de
equilíbrio, todos os jogadores escolherão a sua estratégia dominante.

Apesar disso, a melhor decisão individual nem sempre representa a melhor


solução para o grupo de jogadores. Nesse caso, existe o chamado “resultado cooperativo”,
o qual é resultante do acordo entre os jogadores (através de parcerias) com o objetivo de
alcançarem os melhores resultados para todos os participantes (ou seja, definirem as
escolhas que trarão o maior retorno para o grupo).

Um exemplo muito famoso em Teoria dos Jogos é o dilema do prisioneiro, o qual


representa muito bem as possíveis soluções (resultados) de um problema, resultante das
decisões individuais dos jogadores. Dois suspeitos (A e B) foram detidos pela polícia,
porém, como as provas são insuficientes, foi oferecido um acordo para cada um deles:

 Se um suspeito confessar o crime, enquanto o outro permanecer em silêncio, o que


confessou ficará livre e o outro cumprirá uma pena de 10 anos de prisão.
 Se ambos confessarem, cada um cumprirá 5 anos de prisão.
 Se ambos ficarem em silêncio, devido a insuficiência de provas, cada um cumprirá
apenas 1 ano de prisão.

346
Agora temos a seguinte questão: Como cada suspeito irá reagir ao acordo (os dois
confessarão, ficarão em silêncio ou apenas um irá confessar, fazendo com que o outro
cumpra a pena sozinho)? E esse é o dilema do problema: confessar ou não confessar.

Para analisar as possibilidades de decisão que podem ser tomadas, vamos


construir a matriz de resultados (ou matriz de retorno ou tabela de prêmios) associada
a esse problema (é uma forma esquemática de se visualizar esse problema), mostrada a
seguir:

Nesse problema, temos 2 jogadores (A e B), em que ambos os jogadores tem 2


decisões ou estratégias (confessar ou calar), resultando em 4 possibilidades de retorno
(anos na prisão). O objetivo de ambos os jogadores é minimizar esse retorno (buscar a
solução que minimize o tempo de prisão, isto é, reduzir a pena). Assim, as 4
possibilidades de retorno são:

 A confessar e B confessar: cada suspeito cumprirá 5 anos de prisão.


 A confessar e B calar: A será solto (cumprirá 0 anos) e B cumprirá 10 anos.
 A calar e B confessar: B será solto (cumprirá 0 anos) e A cumprirá 10 anos.
 A calar e B calar: cada suspeito cumprirá 1 ano de prisão.

É importante destacar que os suspeitos estão incomunicáveis entre si, o que


impede que eles façam um acordo (decidirem em conjunto o que farão). Nesse caso,
estamos em um problema de escolhas simultâneas. Portanto, cada jogador (suspeito)
deve tomar a sua decisão baseando-se na escolha que ele “supõe” que o outro jogador
(suspeito) irá escolher.

Nesse caso, o suspeito A deve analisar as duas possíveis ações de B (confessar ou


calar): se B confessar e A também confessar, A pega 5 anos, agora se B confessar e A
não confessar, então A pega 10 anos (nesse caso, confessar é a melhor opção para A);
agora se B não confessar e A confessar, A pega 0 anos, e se B não confessar e A também
não confessar, então A pega 1 ano (nesse caso, a melhor opção para A também é
confessar). Para o suspeito B as possibilidades e consequências são as mesmas.

347
Logo, em todos os casos, confessar é a melhor opção (tanto para A quanto para B,
seguindo o mesmo raciocínio). Podemos dizer então que “confessar” é a estratégia
dominante, pois traz o melhor resultado individual independente da escolha do outro
jogador (suspeito). Nesse caso, tanto o suspeito A quanto o B não precisarão se preocupar
com a decisão um do outro (por ser a estratégia dominante, ela independe da escolha do
outro jogador).

Portanto, confessar é a decisão esperada para ambos e, portanto dizemos que a


decisão de A confessar e B confessar é a solução de equilíbrio. A solução de equilíbrio
também é chamada de Equilíbrio de Nash (em homenagem a John Nash, um famoso
pesquisador da Teoria dos Jogos).

Uma Mente Brilhante (A Beautiful Mind, no Inglês) é um filme americano, de


2001, dirigido por Ron Howard, campeão do Oscar de melhor filme em 2002, que conta
a vida do matemático John Nash.

Observe que, apesar de a solução de equilíbrio ser a melhor solução racional (pois
é a melhor solução individual, isto é, é a melhor solução independente da escolha do
outro jogador), ela não é a melhor solução possível para ambos os suspeitos (não é a
melhor solução para o grupo).

Considerando a solução de equilíbrio, temos que ambos os suspeitos irão


confessar, fazendo com que ambos cumpram uma pena de 5 anos de prisão. Agora, se
ambos ficarem calados, cada um cumprirá apenas 1 ano de prisão (portanto essa é a
melhor solução para o grupo). Contudo, para que ela ocorra, ela dependerá do chamado
dilema da confiança. Ou seja, será que, mesmo ambos sendo cúmplices, se um suspeito
ficar calado ou outro também ficará? Ou será que, sabendo dessa cumplicidade do outro
suspeito, ele confessará pensando na chance de ser solto?

Um dilema consiste em uma decisão difícil, em que é necessária a escolha entre


duas opções que em geral são distintas ou contraditórias entre si.

Existem outros problemas em nosso cotidiano que seguem o mesmo princípio


matemático adotado no dilema do prisioneiro. Em geral, a escolha do melhor resultado
individual, motivada por algum tipo de incentivo, implica em uma traição mútua. Por
outro lado, a colaboração pode garantir os melhores resultados para todos os
participantes, em algumas situações.

348
Um importante matemático para a Teoria dos Jogos chamado John Nash dizia
que o melhor resultado ocorre quando todos escolhem o que é melhor para si e para o
grupo. Nash ganhou o prêmio Nobel de economia em 1994 devido ao desenvolvimento
do conceito de equilíbrio para jogos não cooperativos (em que os jogadores não podem
fazer acordos entre si), conhecido como Equilíbrio de Nash.

Formulação de jogos simples

Considere agora duas empresas concorrentes com possibilidade de investir em


melhorias no atendimento aos clientes: se apenas uma dessas empresas investir, o
número de clientes vindos da empresa concorrente irá aumentar (fazendo com que ela
aumente os seus lucros). Se as duas empresas investirem em melhorias, o número de
clientes de cada empresa não irá mudar significativamente (o que significa que o lucro
irá diminuir, pois servirá para cobrir os investimentos). Se ambas as empresas não
investirem, o lucro delas irá se manter. A tabela a seguir resume esse problema,
apresentando as estimativas de lucros, em milhões de reais, de cada empresa em função
da decisão que for tomada.

Da tabela (matriz de resultados) temos que (𝑎𝑖 , 𝑏𝑗 ) é o retorno para A (𝑎𝑖 ) e para
B (𝑏𝑗 ) dado que A escolheu a ação 𝑖 (investir ou não investir) e B escolheu a ação 𝑗
(investir ou não investir).

Temos que: se ambas as empresas investirem, cada uma terá lucro de R$


10.000.000,00; se ambas não investirem, cada empresa terá lucro de R$ 14.000.000,00;
se apenas A investir, seu lucro será de R$ 14.000.000,00 enquanto o lucro de B ficará
em R$ 5.000.000,00; se apenas B investir, seu lucro será de R$ 18.000.000,00 enquanto
o lucro de A ficará em R$ 6.000.000,00.

Cada empresa deve observar a estratégia da concorrente para definir a melhor


ação (estratégia) a ser tomada (investir ou não investir).

349
A partir da matriz de resultados, a empresa A deve analisar as possíveis ações de
B (investir ou não investir): se B investir e A também investir, A terá 10 milhões de
lucro, agora se B investir e A não investir, então A terá 6 milhões de lucro (nesse caso,
investir é a melhor opção para A); agora se B não investir e A investir, A terá 19 milhões
de lucro, e se B não investir e A também não investir, então A terá 14 milhões de lucro
(nesse caso, a melhor opção para A também é investir). Logo, a estratégia dominante
para a empresa A é investir.

De forma semelhante, para a empresa B: se A investir e B também investir, B


terá 10 milhões de lucro, agora se A investir e B não investir, então B terá 5 milhões de
lucro (nesse caso, investir é a melhor opção para B); agora se A não investir e B investir,
B terá 18 milhões de lucro, e se A não investir e B também não investir, então B terá 14
milhões de lucro (nesse caso, a melhor opção para B também é investir). Logo, a
estratégia dominante para a empresa B é investir.

Portanto, a estratégia dominante para ambas as empresas é investir em


melhorias no atendimento aos clientes. É importante observar que, mesmo sendo as
melhores alternativas para o cliente, elas não representam o melhor para as empresas.
Uma solução economicamente mais interessante para ambas as empresas (melhor
solução para o grupo) seria não investir, porém caso a empresa concorrente decida
investir, os prejuízos para a empresa serão ainda maiores. Por isso, dizemos que a
situação de A investir e B investir é a solução de equilíbrio (ou Equilíbrio de Nash).

Considere agora um problema envolvendo 2 jogadores no qual o retorno, dado na


matriz de retorno, representa o que um jogador recebeu do outro jogador. Esses jogos
são chamados de jogos de soma zero com duas pessoas (o ganho de um jogador
representa uma perda igual para o outro jogador).

Como o próprio nome indica, esse tipo de jogo envolve apenas dois adversários
(jogadores), que podem ser equipes, exércitos, empresas e etc. Ele é chamado de “soma
zero”, pois a soma entre o que um jogador perdeu e o outro ganhou é igual a zero. Com
isso podemos definir o jogo em termos de retorno (em uma matriz de retorno) para um
dos jogadores.

350
Considere que o jogador A tenha 𝑚 estratégias e o jogador B tenha 𝑛 estratégias,
assim a matriz de retorno (ou tabela de prêmios) para o jogador A pode ser representada
como:

Note que a matriz de retorno é bastante semelhante à utilizada na seção anterior.


A principal diferença é que os “estados da natureza” (colunas da matriz de retorno)
foram substituídos pelas ações de B. Observe também que cada retorno 𝑎𝑖𝑗 é o retorno
para A dado que A utilizou a estratégia 𝑖 e B utilizou a estratégia 𝑗. Por exemplo, se A
utilizar a estratégia 2 e B utilizar a estratégia 1, então o retorno para A será dado por
𝑎21 (linha 2 e coluna 1).

Além disso, como o jogo é de soma zero, o retorno para B será de –𝑎21 . Ou seja, o
retorno para B, presente na matriz de retorno de B, será dado por –𝑎𝑖𝑗 , construída a
partir dos valores de 𝑎𝑖𝑗 da matriz de retorno para A. Em seguida, as linhas devem ser
trocadas pelas colunas (matriz transposta) de forma que os elementos da matriz de
retorno para B sejam os elementos 𝑎𝑗𝑖 de A.

É importante observar que a base dos jogos é o conflito de interesses, por isso a
solução ótima pode selecionar uma ou mais estratégias para cada jogador, de forma que
qualquer alteração sobre as estratégias escolhidas não beneficie o retorno para qualquer
um dos jogadores (essas soluções podem estar na forma de uma única estratégia ou de
várias estratégias).

Para entender esse tipo de jogo, considere o seguinte exemplo:

Duas empresas (A e B) vendem duas marcas de medicamento. A empresa A


anuncia em rádio (A1), televisão (A2) e jornais (A3). A empresa B, além de usar rádio
(B1), televisão (B2) e jornais (B3), também envia folhetos (B4) por mala direta. Uma
empresa pode capturar uma parte do mercado da outra, dependendo da efetividade de
cada campanha publicitária.

351
A matriz de retorno a seguir demonstra a porcentagem de mercado capturada ou
perdida pela empresa A:

Por exemplo, se a empresa A optar pela estratégia A2 (anunciar em televisão) e B


optar pela estratégia B3 (anunciar em jornais), então a empresa A irá ganhar 6% do
mercado da empresa B (significa que B perdeu 6% do mercado para A, ou seja, na matriz
de retorno de B esse elemento aparecerá como –6). De forma geral, para obter a matriz
de retorno para B basta multiplicar os elementos da matriz de retorno de A por –1 (ou
seja, “inverter” o sinal de todos os elementos).

Nesse tipo de jogo, a solução é baseada no princípio de garantir o melhor do pior


para cada jogador (isto é, vamos aplicar o critério “maximin”). Note que, se A escolher a
estratégia A1 então independente da estratégia de B, o pior que pode acontecer é A
perder 3% da participação de mercado para B. Esse valor é o valor mínimo das entradas
da linha 1. Se A escolher a estratégia A2 então o pior que pode acontecer é A ganhar 5%
do mercado para B (mínimo da linha 2). Se A escolher a estratégia A3 então o pior que
pode acontecer é A perder 9% do mercado para B (mínimo da linha 3).

Esses resultados são representados a seguir na coluna “min da linha”


(representam o pior caso para cada estratégia de A).

Para conseguir o melhor do pior, a empresa A deve escolher a melhor dessas


“piores” estratégias (o valor máximo entre -3, 5 e -9), que corresponde ao valor de 5%
obtido com a estratégia A2 (anunciar em televisão). Isso significa que, independente da
estratégia de B, a melhor estratégia para A é anunciar em televisão (estratégia
dominante). Note que esse critério adotado é o chamado “critério maximin”.

352
Agora vamos considerar a estratégia da empresa B. Como a matriz de retorno
dada é para a empresa A, quanto menor for o valor da matriz de retorno, maior é a perda
de A (e portanto maior é o ganho de B). Isso significa que o melhor do pior para B requer
pegar o menor (mínimo) dentre os maiores valores, ou seja, utilizaremos o “critério
minimax”.

Temos que se B escolher a estratégia B1 então independente da estratégia de A,


o pior que pode acontecer é B perder 8% da participação de mercado para A. Esse valor
é o valor máximo das entradas da coluna 1. Se B escolher a estratégia B2 então o pior
que pode acontecer é B perder 5% do mercado para A (máximo da coluna 2). Se B
escolher a estratégia B3 então o pior que pode acontecer é B perder 9% do mercado para
A (máximo da coluna 3). Se B escolher a estratégia B4 então o pior que pode acontecer é
B perder 8% do mercado para A (máximo da coluna 4). Esses resultados são
representados a seguir na linha “max da coluna” (representam o pior caso para cada
estratégia de B).

Para conseguir o melhor do pior, a empresa B deve escolher a melhor dessas


“piores” estratégias (o valor mínimo entre 8, 5, 9 e 8), que corresponde ao valor de 5%
obtido com a estratégia B2 (anunciar em televisão). Isso significa que, independente da
estratégia de A, a melhor estratégia para B é anunciar em televisão (estratégia
dominante).

A solução ótima do jogo recomenda que as empresas selecionem as estratégias A2


e B2 que significa que ambas as empresas devem usar a propaganda pela televisão. Note
que o retorno irá favorecer a empresa A, fazendo com que sua participação de mercado
aumente em 5% (ou seja, a empresa B irá perder 5% do seu mercado para a empresa A).
Isso significa que o valor do jogo (ou prêmio) é de 5%.

353
Observe que a posição da entrada (ou o ponto) obtida para A com o critério
maximin (A2, B2) foi a mesma obtida para B com o critério minimax (A2, B2). Nesse caso,
dizemos que A e B estão usando uma solução de ponto de sela. O ponto de sela mostra
que nenhum jogador pode tirar proveito da estratégia do outro jogador para melhorar a
sua decisão (a solução de ponto de sela exclui a possibilidade de qualquer empresa obter
uma melhor estratégia).

Por exemplo, se B tentasse mudar a solução atual (perdendo 5% de mercado para


A), partindo para outra estratégia (B1, B3 ou B4), B perderá ainda mais participação do
mercado (6% ou 8%). Pelo mesmo motivo, A não vai querer mudar a sua estratégia (se
A mudar para a estratégia A1, B pode passar para B4 fazendo com que A perca 3% o
mercado; se A mudar para A3, B pode passar para B3 fazendo com que A perca 9% do
mercado).

Logo, qualquer outra solução (fora do ponto de sela) só iria piorar a situação para
os jogadores (por isso nenhum dos jogadores tem motivos para considerar uma mudança
de estratégia, seja para tirar proveito do oponente, seja para impedir que o oponente
tire proveito dele). Consequentemente, o ponto de sela se trata de uma solução estável
ou solução de equilíbrio.

Solução de jogos de estratégia mista

Na seção anterior vimos que quando o ponto maximin da estratégia do jogador A


coincide com o ponto minimax da estratégia do jogador B, temos um ponto de sela.
Entretanto, caso esses pontos não coincidam, dizemos que não existe nenhum ponto de
sela. Nesse caso, tem-se uma solução instável, de modo que será necessário desenvolver
uma solução mais satisfatória.

Quando não existe um ponto de sela (uma solução estável) qualquer jogador
poderá tentar uma nova estratégia visando melhorar o seu ganho (lembrando que, no
ponto de sela, não existe mudança possível por parte dos jogadores para obter um melhor
resultado). Nesse caso, dizemos que o jogo possui estratégia mista, ou seja, não existe
“uma única estratégia” (ponto de sela) que é a melhor solução possível para ambos os
jogadores (solução estável).

O fator principal no caso de uma mudança de estratégia é “o quão previsível” será


a escolha do jogador. De fato, se a sua escolha for previsível, o oponente poderá tirar
proveito dessa informação para melhorar a sua posição. Logo, uma condição essencial
de um plano racional para participar de um jogo sem ponto de sela é que nenhum dos
jogadores seja capaz de deduzir a estratégia do outro jogador.

354
Por conta disso, nesse caso, no lugar de aplicar um critério conhecido (maximin e
o minimax buscando um ponto de sela) para determinar uma única estratégia que será
efetivamente utilizada, é necessário escolher entre estratégias alternativas aceitáveis
algum tipo de aleatoriedade. Dessa forma, nenhum jogador será capaz de saber
antecipadamente qual de suas estratégias será adotada, e muito menos as do seu
oponente.

A presente seção trata desse tipo de metodologia para a solução de jogos que não
possuem ponto de sela (solução de jogos de estratégia mista). Com isso será possível
encontrar a solução ótima (maneira ótima) de disputar tais jogos. Essa solução ótima é
“mista”, ou seja, existe mais de uma ação que pode ser tomada e uma probabilidade
associada a cada uma delas. Dessa forma, pode-se utilizar um dispositivo aleatório que,
considerando essa distribuição de probabilidades, indica qual estratégia pura em
particular deve ser adotada.

Existem dois tipos de metodologia para encontrar a solução de jogos com


estratégias mistas, que são a solução pelo método gráfico e a solução por meio da
programação linear:

 A solução gráfica é adequada para jogos nos quais no mínimo um jogador tenha
exatamente duas estratégias puras.
 Por outro lado, a programação linear é mais abrangente, uma vez que pode ser
utilizada para resolver qualquer jogo de soma zero com duas pessoas.

Assim, toda vez que um jogo não tiver ponto de sela, a teoria dos jogos recomenda
que cada jogador atribua uma distribuição probabilística ao seu conjunto de estratégias
(“estratégia mista”). Matematicamente, considere que:
𝑥𝑖 = probabilidade de o jogador 𝐀 usar a estratégia 𝑖, 𝑖 = 1,2, … , 𝑚
𝑦𝑗 = probabilidade de o jogador 𝐁 usar a estratégia 𝑗, 𝑗 = 1,2, … , 𝑛

Em que 𝑚 é o número de estratégias disponíveis para o jogador A e 𝑛 é o número


de estratégias disponíveis para o jogador B.

O jogador A deve especificar seu plano de jogar atribuindo valores a 𝑥1 , 𝑥2 , … , 𝑥𝑚


que sejam não negativos e que a sua soma seja 1 (pois são valores probabilísticos). Da
mesma forma, o plano do jogador B será descrito pelos valores que ele atribui a suas
variáveis de decisão 𝑦1 , 𝑦2 , … , 𝑦𝑛 , que também são não negativas e de soma 1.

355
Esses planos (𝑥1 , 𝑥2 , … , 𝑥𝑚 ) e (𝑦1 , 𝑦2 , … , 𝑦𝑛 ) são normalmente conhecidos como
estratégias mistas, e as estratégias originais são chamadas de estratégias puras. Em
outras palavras, as estratégias mistas são aqueles que o jogador “pode” escolher
(consideramos uma probabilidade associada a elas), enquanto a estratégia pura é a
estratégia que consideramos que “de fato” o jogador escolheu.

Solução gráfica de jogos:

Vamos começar pelo caso de (2 × 𝑛) jogos, nos quais o jogador A tem duas
estratégias.

Esse jogo considera que o jogador A mistura as estratégias A1 e A2 com as


respectivas probabilidades 𝑥1 e 1 − 𝑥1 , em que 0 ≤ 𝑥1 ≤ 1. Já o jogador B mistura as
estratégias B1 até Bn com as probabilidades 𝑦1 , 𝑦2 , … , 𝑦𝑛 em que 𝑦𝑗 ≥ 0 para 𝑗 = 1,2, … , 𝑛
e 𝑦1 + 𝑦2 + ⋯ + 𝑦𝑛 = 1.

Nesse caso, o retorno esperado de A para a 𝑗-ésima estratégia pura de B é


calculado como:

𝑥1 ∙ 𝑎1𝑗 + (1 − 𝑥1 ) ∙ 𝑎2𝑗 = 𝑥1 ∙ 𝑎1𝑗 + 𝑎2𝑗 − 𝑥1 ∙ 𝑎2𝑗 = (𝑎1𝑗 − 𝑎2𝑗 ) ∙ 𝑥1 + 𝑎2𝑗

Logo, o retorno esperado de A para a 𝑗-ésima estratégia pura de B é dado por:

(𝑎1𝑗 − 𝑎2𝑗 ) ∙ 𝑥1 + 𝑎2𝑗 , para 𝑗 = 1,2, … , 𝑛

Observe que, para cada valor de 𝑗 (para cada estratégia pura do jogador B) existe
um retorno esperado para o jogador A. Lembrando que o critério utilizado para A é o
maximin, que significa escolher o “maior dentre os menores valores”. Assim, o jogador
A deve determinar o valor de 𝑥1 que irá “maximizar os retornos mínimos esperados”.
Matematicamente:

max min{(𝑎1𝑗 − 𝑎2𝑗 ) ∙ 𝑥1 + 𝑎2𝑗 }


𝑥1 𝑗

Ou seja, o objetivo é encontrar o valor de 𝑥1 que vai maximizar os menores valores


obtidos da expressão (𝑎1𝑗 − 𝑎2𝑗 ) ∙ 𝑥1 + 𝑎2𝑗 para todo 𝑗.

356
Para entender essas fórmulas, considere o seguinte exemplo:

O retorno para o jogador A em um jogo 2 × 4 é mostrado a seguir:

O jogo não tem nenhuma estratégia pura de solução (isto é, não possui ponto de
sela).

Em primeiro lugar, vamos calcular os retornos esperados de A correspondentes


às estratégias puras de B. Para isso, utilizaremos a expressão:

(𝑎1𝑗 − 𝑎2𝑗 ) ∙ 𝑥1 + 𝑎2𝑗 , para 𝑗 = 1,2,3,4

Para 𝑗 = 1 (estratégia pura 𝐵1 ):


(𝑎11 − 𝑎21 ) ∙ 𝑥1 + 𝑎21 = (2 − 4) ∙ 𝑥1 + 4 = −2𝑥1 + 4

Para 𝑗 = 2 (estratégia pura 𝐵2 ):


(𝑎12 − 𝑎22 ) ∙ 𝑥1 + 𝑎22 = (2 − 3) ∙ 𝑥1 + 3 = −𝑥1 + 3

Para 𝑗 = 3 (estratégia pura 𝐵3 ):


(𝑎13 − 𝑎23 ) ∙ 𝑥1 + 𝑎23 = (3 − 2) ∙ 𝑥1 + 2 = 𝑥1 + 2

Para 𝑗 = 4 (estratégia pura 𝐵4 ):


(𝑎14 − 𝑎24 ) ∙ 𝑥1 + 𝑎24 = (−1 − 6) ∙ 𝑥1 + 6 = −7𝑥1 + 6

A tabela a seguir resume esses resultados para os retornos esperados de A:

É importante ressaltar que cada uma dessas expressões consiste no retorno


esperado de A dado que o jogador B escolheu a estratégia pura 𝑗 (em que 𝑗 = 1,2,3,4).

357
Pelo método gráfico, precisamos esboçar cada uma dessas 4 retas, como mostrado
a seguir:

Lembrando que o eixo x (horizontal) representa o valor de 𝑥1 e o eixo y (eixo


vertical) representa o retorno esperado de A para cada uma das 4 estratégias puras de
B. Devemos então destacar a região dos “menores retornos” de A. Essa região
corresponde à área delimitada pelas retas “mais abaixo”, como pode ser observado na
figura.

Note, por exemplo, que se 𝑥1 = 0,25 o menor retorno para A ocorre quando B
escolhe a estratégia 𝐵3 (por isso a região está delimitada por 𝐵3 nesse intervalo de 𝑥1 ).
Nesse caso, o retorno esperado de A seria 𝑥1 + 2 = 0,25 + 2 = 2,25. Esse valor representa
o menor retorno esperado (retorno mínimo de A), ou seja, se B escolher qualquer outra
estratégia, o retorno de A será maior.
Quando olhamos para esses menores retornos, observamos que existe um ponto
de máximo (que maximiza esses retornos mínimos). Esse ponto de máximo ocorre para
𝑥1 = 0,5. Esse melhor valor (máximo) corresponde à solução maximin para A (ou seja, é
a melhor solução para A independente da estratégia escolhida por B).

Observe que esse ponto corresponde à interseção entre as retas 𝐵3 e 𝐵4 . Portanto,


ele pode ser obtido igualando a equação de 𝐵3 com a equação de 𝐵4 :
𝑥1 + 2 = −7𝑥1 + 6
𝑥1 + 7𝑥1 = 6 − 2
8𝑥1 = 4
4
𝑥1 = = 0,5
8

358
Assim, temos que:
𝑥1 = 0,5
1 − 𝑥1 = 1 − 0,5 = 0,5

Logo, a solução ótima do jogador A recomenda misturar 𝐴1 e 𝐴2 com


probabilidades de 0,5 e 0,5, respectivamente.

O valor correspondente do jogo (𝑣) é determinando substituindo o valor de 𝑥1 na


equação de 𝐵3 ou de 𝐵4 :
𝑣 = 𝑥1 + 2 = 0,5 + 2 = 2,5

Ou:
𝑣 = −7𝑥1 + 6 = −7 ∙ 0,5 + 6 = −3,5 + 6 = 2,5

Portanto, o retorno (ou prêmio) ótimo para o jogador A é 2,5 obtido ao misturar
𝐴1 e 𝐴2 com probabilidades de 0,5 e 0,5.

Isso significa que existe 50% de chance de o jogador A escolher a estratégia 𝐴1 e


50% de chance de escolher a estratégia 𝐴2 (por isso que ela é uma estratégia “mista”,
pois existe uma probabilidade associada a cada estratégia). Nesse caso, o jogador B não
tem como saber qual será a estratégia adotada por A (pois existe uma chance de ele
adotar qualquer uma das duas estratégias).

Adotando uma abordagem equivalente para o jogador B, temos que: note no


gráfico que apenas as retas (estratégias) 𝐵3 e 𝐵4 minimizam o retorno de A (portanto
maximizam o retorno de B). Por conta disso, iremos apenas misturar as estratégias 𝐵3
e 𝐵4 . Assim:
𝑦1 = 𝑦2 = 0
𝑦4 = 1 − 𝑦3

Para o retorno esperado de B, dado que A escolheu a estratégia pura 𝑖 (𝑖 = 1,2)


temos a seguinte expressão:
𝑦3 ∙ 𝑎𝑖3 + (1 − 𝑦3 ) ∙ 𝑎𝑖4 = 𝑦3 ∙ 𝑎𝑖3 + 𝑎𝑖4 − 𝑦3 ∙ 𝑎𝑖4 = (𝑎𝑖3 − 𝑎𝑖4 ) ∙ 𝑦3 + 𝑎𝑖4

Logo, o retorno esperado de B para a 𝑖-ésima estratégia pura de A é dado por:


(𝑎𝑖3 − 𝑎𝑖4 ) ∙ 𝑦3 + 𝑎𝑖4 , para 𝑖 = 1,2

Para 𝑖 = 1 (estratégia pura 𝐴1 ):


(𝑎13 − 𝑎14 ) ∙ 𝑦3 + 𝑎14 = (3 − (−1)) ∙ 𝑦3 − 1 = 4𝑦3 − 1

Para 𝑖 = 2 (estratégia pura 𝐴2 ):


(𝑎23 − 𝑎24 ) ∙ 𝑦3 + 𝑎24 = (2 − 6) ∙ 𝑦3 + 6 = −4𝑦3 + 6

359
A tabela a seguir resume esses resultados para os retornos esperados de B:

É importante ressaltar que cada uma dessas expressões consiste no retorno


esperado de B dado que o jogador A escolheu a estratégia pura 𝑖 (em que 𝑖 = 1,2).

No caso de B deve-se determinar o valor de 𝑦3 que irá “minimizar os retornos


máximos esperados” da matriz de retorno de A (critério minimax). Matematicamente:
min max{(𝑎𝑖3 − 𝑎𝑖4 ) ∙ 𝑦3 + 𝑎𝑖4 }
𝑦3 𝑖

Agora é preciso esboçar essas duas retas e demarcar a área de região acima dessas
retas (retornos máximos). A solução melhor do pior para B (menor dos maiores) é o ponto
mínimo dessa região delimitada pelas duas retas.

É importante observar que o ponto mínimo consiste na interseção entre essas


retas, ou seja, corresponde ao ponto em que:
4𝑦3 − 1 = −4𝑦3 + 6

Resolvendo:
4𝑦3 + 4𝑦3 = 6 + 1
8𝑦3 = 7
7
𝑦3 =
8
E portanto:
7 1
𝑦4 = 1 − 𝑦3 = 1 − =
8 8
Logo, a solução ótima do jogador B recomenda misturar 𝐵3 e 𝐵4 com
probabilidades de 7/8 e 1/8, respectivamente.

O valor correspondente do jogo (𝑣) é determinando substituindo o valor de 𝑦3 na


equação de 𝐴1 ou de 𝐴2 :
7
𝑣 = 4𝑦3 − 1 = 4 ∙ − 1 = 3,5 − 1 = 2,5
8
Ou:
7
𝑣 = −4𝑦3 + 6 = −4 ∙ + 6 = −3,5 + 6 = 2,5
8

360
Portanto, o retorno (ou prêmio) ótimo para o jogador B é também 2,5 obtido ao
misturar 𝐵3 e 𝐵4 com probabilidades de 7/8 e 1/8.

Dessa forma, a solução do jogo recomenda que o jogador A misture 𝐴1 e 𝐴2 com


probabilidades de 0,5 e 0,5 e que o jogador B misture 𝐵3 e 𝐵4 com probabilidades de 7/8
e 1/8, obtendo-se um retorno (prêmio) de 2,5 (retorno de 2,5 para o jogador A e de –2,5
para o jogador B).

É importante ressaltar que esse jogo possui outras duas soluções alternativas.
Observe que o ponto de máximo do gráfico anterior é determinado por 3 retas diferentes
(e não duas). Assim, no lugar de considerar a interseção entre 𝐵3 e 𝐵4 , poderíamos ter
considerado a interseção entre 𝐵2 e 𝐵3 (o que resultaria em uma nova solução) ou a
interseção entre 𝐵2 e 𝐵4 (que também resultaria em outra solução).Qualquer combinação
não negativa dessas soluções alternativas também será uma solução ótima (legítima).

Deve-se destacar ainda que os jogos nos quais o jogador A tem 𝑚 estratégias e o
jogador B tem somente 2 estratégias (𝑚 × 2) podem ser tratados de forma semelhante.
A principal diferença é que representaremos em gráfico o retorno esperado para B,
correspondentes às estratégias puras de A (o contrário do que fizemos nesse último
exemplo).

Além disso, como resultado, estaremos procurando o ponto minimax (ao invés do
ponto maximin), que corresponde ao ponto que minimiza os maiores valores (ou seja, o
ponto mínimo da região delimitada pelas retas de “maior valor”, ou “mais acima”).

Solução de jogos por programação linear:

A teoria dos jogos apresenta uma forte relação com a programação linear, no
sentido de que um jogo de soma zero com duas pessoas pode ser expresso como um
problema de programação linear e vice-versa.

Historicamente, J. von Neumann, o pai da teoria dos jogos, quando foi


apresentado pela primeira vez ao método simplex, em 1947, reconheceu imediatamente
essa relação. Mais tarde, ele apontou com precisão e reforçou o conceito de dualidade em
programação linear.

O objetivo dessa tópico é apresentar a solução de jogos por meio da programação


linear.

361
As probabilidades ótimas do jogador A 𝑥1 , 𝑥2 , … , 𝑥𝑚 podem ser determinadas com
a resolução do seguinte problema maximin:
𝑚 𝑚 𝑚

max {min [∑ 𝑎𝑖1 𝑥𝑖 , ∑ 𝑎𝑖2 𝑥𝑖 , … , ∑ 𝑎𝑖𝑛 𝑥𝑖 ]}


𝑥𝑖
𝑖=1 𝑖=1 𝑖=1

Em que:
𝑥1 + 𝑥2 + 𝑥3 + ⋯ + 𝑥𝑚 = 1
𝑥𝑖 ≥ 0 , 𝑖 = 1,2,3, … , 𝑚

Observe que a expressão escolhe o maior valor dentre os menores retornos


possíveis. E que cada um dos somatórios apresenta uma “função”, pois apresenta o
retorno esperado, dado que o jogador B escolheu a estratégia pura 𝑗, em função das
probabilidades 𝑥𝑖 . Por exemplo, o primeiro somatório apresenta o retorno esperado, dado
que o jogador B escolheu a estratégia pura 1, em função das probabilidades 𝑥𝑖 . A partir
desses somatórios são encontradas as expressões (em função das probabilidades 𝑥𝑖 ) que
minimizam o retorno esperado (isto é, o “pior” caso para A). Por fim, é encontrado os
valores de 𝑥𝑖 que maximizam esse retorno (a melhor dentre as piores opções).

Note ainda que a soma das probabilidades 𝑥𝑖 devem ser igual a 1. E que 𝑥𝑖 , por
representarem probabilidades, devem ser não negativas.

Agora, considere o retorno 𝑣, dado por:


𝑚 𝑚 𝑚

𝑣 = min [∑ 𝑎𝑖1 𝑥𝑖 , ∑ 𝑎𝑖2 𝑥𝑖 , … , ∑ 𝑎𝑖𝑛 𝑥𝑖 ]


𝑖=1 𝑖=1 𝑖=1

Dessa expressão, conclui-se que 𝑣 não pode ser maior do que qualquer um desses
somatórios. Em outras palavras, 𝑣 deve ser menor ou igual a qualquer um desses
somatórios. Matematicamente, isso significa que:
𝑚

𝑣 ≤ ∑ 𝑎𝑖𝑗 𝑥𝑖 , 𝑗 = 1,2,3, … , 𝑛
𝑖=1

Ou seja, para qualquer que seja a escolha do jogador B (para qualquer 𝑗), o valor
de 𝑣 (valor mínimo) deve ser menor ou igual ao resultado do somatório.

Substituindo 𝑣 na primeira expressão, chega-se em:


𝑚 𝑚 𝑚

max {min [∑ 𝑎𝑖1 𝑥𝑖 , ∑ 𝑎𝑖2 𝑥𝑖 , … , ∑ 𝑎𝑖𝑛 𝑥𝑖 ]}


𝑥𝑖
𝑖=1 𝑖=1 𝑖=1

max{𝑣 }
𝑥𝑖

362
Assim, o “objetivo” ou “função objetivo” deve ser maximizar 𝑣:
Max 𝑧 = 𝑣

Partindo das inequações:


𝑚

𝑣 ≤ ∑ 𝑎𝑖𝑗 𝑥𝑖 , 𝑗 = 1,2,3, … , 𝑛
𝑖=1

Tem-se que:
𝑚

𝑣 − ∑ 𝑎𝑖𝑗 𝑥𝑖 ≤ 0 , 𝑗 = 1,2,3, … , 𝑛
𝑖=1

Dessa forma, o problema do jogador A pode ser expresso através do seguinte


problema de programação linear:
Max 𝑧 = 𝑣

Sujeito às restrições:
𝑚

𝑣 − ∑ 𝑎𝑖𝑗 𝑥𝑖 ≤ 0 , 𝑗 = 1,2,3, … , 𝑛
𝑖=1

𝑥1 + 𝑥2 + 𝑥3 + ⋯ + 𝑥𝑚 = 1
𝑥𝑖 ≥ 0 , 𝑖 = 1,2,3, … , 𝑚
𝑣 irrestrito em sinal

Note que o valor do jogo (ou prêmio) 𝑣 é irrestrito em sinal.

De forma análoga, as estratégias do jogador B, ou seja, 𝑦1 , 𝑦2 , … , 𝑦𝑛 , são


determinadas por meio da resolução do seguinte problema (minimax):
𝑛 𝑛 𝑛

min {max [∑ 𝑎1𝑗 𝑦𝑗 , ∑ 𝑎2𝑗 𝑦𝑗 , … , ∑ 𝑎𝑚𝑗 𝑦𝑗 ]}


𝑦𝑗
𝑗=1 𝑗=1 𝑗=1

Em que:
𝑦1 + 𝑦2 + 𝑦3 + ⋯ + 𝑦𝑛 = 1
𝑦𝑗 ≥ 0 , 𝑗 = 1,2,3, … , 𝑛

De forma semelhante ao procedimento usado para o jogador A, tem-se que:


𝑛 𝑛 𝑛

𝑣 = max [∑ 𝑎1𝑗 𝑦𝑗 , ∑ 𝑎2𝑗 𝑦𝑗 , … , ∑ 𝑎𝑚𝑗 𝑦𝑗 ]


𝑗=1 𝑗=1 𝑗=1

363
Logo, 𝑣 deve ser maior ou igual a qualquer um desses somatórios.
Matematicamente, isso significa que:
𝑛

𝑣 ≥ ∑ 𝑎𝑖𝑗 𝑦𝑗 , 𝑖 = 1,2,3, … , 𝑚
𝑗=1

Substituindo 𝑣 na primeira expressão, chega-se em:


𝑛 𝑛 𝑛

min {max [∑ 𝑎1𝑗 𝑦𝑗 , ∑ 𝑎2𝑗 𝑦𝑗 , … , ∑ 𝑎𝑚𝑗 𝑦𝑗 ]}


𝑦𝑗
𝑗=1 𝑗=1 𝑗=1

min{𝑣 }
𝑦𝑗

Assim, o “objetivo” ou “função objetivo” deve ser minimizar 𝑣:


Min 𝑤 = 𝑣

Partindo das inequações:


𝑛

𝑣 ≥ ∑ 𝑎𝑖𝑗 𝑦𝑗 , 𝑖 = 1,2,3, … , 𝑚
𝑗=1

Tem-se que:
𝑛

𝑣 − ∑ 𝑎𝑖𝑗 𝑦𝑗 ≥ 0 , 𝑖 = 1,2,3, … , 𝑚
𝑗=1

Dessa forma, o problema do jogador B pode ser expresso através do seguinte


problema de programação linear:
Min 𝑤 = 𝑣

Sujeito às restrições:
𝑛

𝑣 − ∑ 𝑎𝑖𝑗 𝑦𝑗 ≥ 0 , 𝑖 = 1,2,3, … , 𝑚
𝑗=1

𝑦1 + 𝑦2 + 𝑦3 + ⋯ + 𝑦𝑛 = 1
𝑦𝑗 ≥ 0 , 𝑗 = 1,2,3, … , 𝑛

𝑣 irrestrito em sinal

Observe que os dois problemas otimizam a mesma variável (irrestrita) 𝑣, que é o


valor do jogo (ou prêmio). Acontece que o problema de B é o dual do problema de A
(aplique os conceitos de dualidade estudados no Capítulo 2). Isso significa que o valor
ótimo de 𝑣 de um problema é o mesmo valor ótimo de 𝑣 para o outro (isto é, para esse
tipo de problema de programação linear, podemos aplicar as regras de dualidade
estudadas).
364
Considere o seguinte exemplo:

Resolva o jogo a seguir por meio da programação linear.

Solução:

Em primeiro lugar, vamos aplicar os métodos maximin e minimax sobre essa


tabela. Para o critério maximin, temos que escolher os menores valores de cada linha e
daí selecionar o maior dentre esses valores. Já para o critério minimax, devemos
escolher o maior valor de cada coluna e daí selecionar o menor dentre esses valores.

A tabela a seguir apresenta esses valores selecionados.

Observe que a solução pelo critério maximin (“melhor” solução para o jogador A)
foi –2 (que é o elemento 𝑎21 ) e que a solução pelo critério minimax (“melhor” solução
para o jogador B) foi 2 (que é o elemento 𝑎33 ). Como essas soluções são diferentes (isto
é, a solução não consiste em um ponto de sela), esse problema não possui solução estável.

Além disso, é certo dizer que o valor do jogo (prêmio) 𝑣 se encontra no intervalo
entre –2 e 2.

365
Para construir o problema de programação linear do jogado A é preciso partir das
seguintes expressões:
Max 𝑧 = 𝑣

Sujeito às restrições:
𝑚

𝑣 − ∑ 𝑎𝑖𝑗 𝑥𝑖 ≤ 0 , 𝑗 = 1,2,3, … , 𝑛
𝑖=1

𝑥1 + 𝑥2 + 𝑥3 + ⋯ + 𝑥𝑚 = 1
𝑥𝑖 ≥ 0 , 𝑖 = 1,2,3, … , 𝑚
𝑣 irrestrito em sinal

Temos que o número de estratégias do jogador A é 𝑚 = 3 (número de linhas da


tabela) e do jogador B é 𝑛 = 3 (número de colunas). Assim, o problema se torna:
Max 𝑧 = 𝑣

Sujeito às restrições:
3

𝑣 − ∑ 𝑎𝑖𝑗 𝑥𝑖 ≤ 0 , 𝑗 = 1,2,3
𝑖=1

𝑥1 + 𝑥2 + 𝑥3 = 1
𝑥𝑖 ≥ 0 , 𝑖 = 1,2,3
𝑣 irrestrito em sinal

Note que os coeficientes 𝑎𝑖𝑗 do somatório são os elementos da tabela das colunas
𝑗 = 1, 𝑗 = 2 e 𝑗 = 3.

Com isso, temos que:


3

𝑣 − ∑ 𝑎𝑖𝑗 𝑥𝑖 ≤ 0 , 𝑗 = 1,2,3
𝑖=1

Para 𝑗 = 1:
3

𝑣 − ∑ 𝑎𝑖1 𝑥𝑖 ≤ 0
𝑖=1

𝑣 − (3𝑥1 − 2𝑥2 − 5𝑥3 ) ≤ 0


𝑣 − 3𝑥1 + 2𝑥2 + 5𝑥3 ≤ 0

366
Para 𝑗 = 2:
3

𝑣 − ∑ 𝑎𝑖2 𝑥𝑖 ≤ 0
𝑖=1

𝑣 − (−1𝑥1 + 4𝑥2 − 6𝑥3 ) ≤ 0


𝑣 + 𝑥1 − 4𝑥2 + 6𝑥3 ≤ 0

Para 𝑗 = 3:
3

𝑣 − ∑ 𝑎𝑖3 𝑥𝑖 ≤ 0
𝑖=1

𝑣 − (−3𝑥1 − 1𝑥2 + 2𝑥3 ) ≤ 0


𝑣 + 3𝑥1 + 𝑥2 − 2𝑥3 ≤ 0

Logo, o problema de programação linear para o jogador A é:


Max 𝑧 = 𝑣

Sujeito às restrições:
𝑣 − 3𝑥1 + 2𝑥2 + 5𝑥3 ≤ 0
𝑣 + 𝑥1 − 4𝑥2 + 6𝑥3 ≤ 0
𝑣 + 3𝑥1 + 𝑥2 − 2𝑥3 ≤ 0
𝑥1 + 𝑥2 + 𝑥3 = 1
𝑥𝑖 ≥ 0 , 𝑖 = 1,2,3
𝑣 irrestrito em sinal

Particularmente, a solução desse problema pode ser encontrada por meio de um


algoritmo para jogos de soma zero. Independente do método aplicado para solucionar
esse problema de programação linear, a sua solução é 𝑥1 = 0,39, 𝑥2 = 0,31 e 𝑥3 = 0,29,
resultando no valor do jogo (retorno ou prêmio) para A de 𝑣 = –0,91.

Logo a estratégia mista ótima (solução ótima) para o jogador A recomenda


misturar 𝐴1 , 𝐴2 e 𝐴3 com probabilidades de 0,39, 0,31 e 0,29, respectivamente.

367
De forma análoga, para o jogador B temos que:
Min 𝑤 = 𝑣

Sujeito às restrições:
𝑛

𝑣 − ∑ 𝑎𝑖𝑗 𝑦𝑗 ≥ 0 , 𝑖 = 1,2,3, … , 𝑚
𝑗=1

𝑦1 + 𝑦2 + 𝑦3 + ⋯ + 𝑦𝑛 = 1
𝑦𝑗 ≥ 0 , 𝑗 = 1,2,3, … , 𝑛

𝑣 irrestrito em sinal

Temos que o número de estratégias do jogador A é 𝑚 = 3 (número de linhas da


tabela) e do jogador B é 𝑛 = 3 (número de colunas). Assim, o problema se torna:
Min 𝑤 = 𝑣

Sujeito às restrições:
3

𝑣 − ∑ 𝑎𝑖𝑗 𝑦𝑗 ≥ 0 , 𝑖 = 1,2,3
𝑗=1

𝑦1 + 𝑦2 + 𝑦3 = 1
𝑦𝑗 ≥ 0 , 𝑗 = 1,2,3

𝑣 irrestrito em sinal

Note que os coeficientes 𝑎𝑖𝑗 do somatório são os elementos da tabela de cada uma
das linhas (𝑖 = 1, 𝑖 = 2 e 𝑖 = 3).

Com isso, temos que:


3

𝑣 − ∑ 𝑎𝑖𝑗 𝑦𝑗 ≥ 0 , 𝑖 = 1,2,3
𝑗=1

Para 𝑖 = 1:
3

𝑣 − ∑ 𝑎1𝑗 𝑦𝑗 ≥ 0
𝑗=1

𝑣 − (3𝑦1 − 1𝑦2 − 3𝑦3 ) ≥ 0


𝑣 − 3𝑦1 + 𝑦2 + 3𝑦3 ≥ 0

368
Para 𝑖 = 2:
3

𝑣 − ∑ 𝑎2𝑗 𝑦𝑗 ≥ 0
𝑗=1

𝑣 − (−2𝑦1 + 4𝑦2 − 1𝑦3 ) ≥ 0


𝑣 + 2𝑦1 − 4𝑦2 + 𝑦3 ≥ 0

Para 𝑖 = 3:
3

𝑣 − ∑ 𝑎3𝑗 𝑦𝑗 ≥ 0
𝑗=1

𝑣 − (−5𝑦1 − 6𝑦2 + 2𝑦3 ) ≥ 0


𝑣 + 5𝑦1 + 6𝑦2 − 2𝑦3 ≥ 0

Logo, o problema de programação linear para o jogador B é:


Min 𝑤 = 𝑣

Sujeito às restrições:
𝑣 − 3𝑦1 + 𝑦2 + 3𝑦3 ≥ 0
𝑣 + 2𝑦1 − 4𝑦2 + 𝑦3 ≥ 0
𝑣 + 5𝑦1 + 6𝑦2 − 2𝑦3 ≥ 0
𝑦1 + 𝑦2 + 𝑦3 = 1
𝑦𝑗 ≥ 0 , 𝑗 = 1,2,3

𝑣 irrestrito em sinal

Cuja solução é 𝑦1 = 0,32, 𝑦2 = 0,08 e 𝑦3 = 0,60, resultando no valor do jogo (retorno


ou prêmio) para B de 𝑣 = –0,91. É importante observar que o resultado tanto para A
quanto para B foram os mesmos (𝑣 = –0,91). Além disso, note que o problema do jogador
B é o dual do problema do jogador A.

369
EXERCÍCIOS DE FIXAÇÃO – CAPÍTULO 6
(1) Questão de Prova Antiga

O departamento de pessoal de uma empresa reduziu a procura por um funcionário


potencial a três candidatos: Steve (S), Jane (J) e Maísa (M). A seleção se baseia em três
critérios: entrevista pessoal (I), experiência (E) e referências (R). A matriz de
comparação A define os pesos (importância) entre os três critérios. Após entrevistar os
três candidatos, foram construídas as matrizes de comparação para cada critério (AI, AE
e AR):

Nesse caso, qual dos três candidatos deve ser escolhido e qual é o seu respectivo peso
composto?

A. Steve, com peso composto de 0,3686.

B. Jane, com peso composto de 0,2792.

C. Jane, com peso composto de 0,4104.

D. Maísa, com peso composto de 0,3503.

E. Maísa, com peso composto de 0,4104.

370
(2) CESGRANRIO - 2018 - Petrobras - Engenheiro de Produção Júnior

Uma empresa pretende realizar investimentos em um novo mercado. Para isso, estudou
a região e elaborou a seguinte Tabela, apontando o retorno, em milhares de reais, que
obteria de acordo com o vulto do investimento (pequeno, médio ou grande) e com as
condições do mercado (boas, normais ou ruins):

A empresa descobriu, ainda, que existem 50% de probabilidade de o mercado estar em


boas condições, 30%, em condições normais e 20%, ruins.
Com base em tais condições, o Máximo Valor Esperado (MVE) para a empresa será, em
milhares de reais, de

A. 3.000 para um grande investimento

B. 2.300 para um grande investimento

C. 2.350 para um médio investimento

D. 4.500 para um médio investimento

E. 650 para um pequeno investimento

371
(3) CCV-UFC - 2018 - Economista

Uma alternativa de investimento representada por uma árvore de decisão propicia


melhores condições ao tomador de decisões de visualizar os riscos, as opções e as
vantagens financeiras presentes nas diversas alternativas de investimentos. A Figura
a seguir apresenta uma árvore de decisão, onde A1 e A2 representam as alternativas de
investimento existentes, p é a probabilidade de ocorrência de cada evento e E os eventos
considerados. Para cada evento, também temos um VPL associado ao mesmo.

Considerando essa árvore de decisão, marque a alternativa correta.

A. Devemos ficar com a alternativa A1, pois A2 apresenta um VPL esperado negativo.

B. Devemos ficar com a alternativa A1, pois ela apresenta um VPL esperado de 40/3.

C. Devemos ficar com a alternativa A1, pois A2 apresenta um VPL esperado de 30/3.

D. Devemos ficar com a alternativa A1, pois ela apresenta um VPL esperado de 16.

E. As alternativas A1 e A2 são equivalentes.

372
(4) FGV - 2019 - DPE-RJ - Administrador de Empresas

Uma organização está considerando, em suas estratégias, a construção de uma nova


unidade de produção. As previsões são de 60% de aumento da demanda pelos produtos
da empresa, de 20% de manutenção do nível de demanda e de 20% de redução da
demanda. Para auxiliar o processo decisório, foi desenhada a árvore de decisão
apresentada abaixo. Os resultados projetados (lucros líquidos ou prejuízos) são os
apontados na figura a seguir.

Figura: árvore de decisão – construção de unidade produtiva

Considere que as opções são apenas as apontadas na árvore de decisão. A organização


quer tomar a decisão pelo critério do maior valor esperado.

Por esse critério, a melhor decisão a tomar e o valor esperado dela são, respectivamente:
A. construir; valor esperado de 1,8 milhão;

B. construir; valor esperado de 5 milhões;


C. construir; valor esperado de 0,3 milhão;

D. não construir; valor esperado de 2 milhões;

E. não construir; valor esperado de 1,5 milhão.

373
(5) CESGRANRIO - 2018 - Transpetro - Engenheiro de Produção Júnior
A empresa de operação logística W, diante da necessidade de aumentar o nível de serviço
ao cliente, precisa deliberar sobre duas soluções projetadas por sua equipe técnica, a
saber: automatizar a montagem de pedidos, com valor de implantação de
R$10.000.000,00, ou reajustar os contratos com transportadoras, com valor de
R$5.000.000,00. Quando implementadas, ambas as soluções podem gerar ganhos
elevados ou pequenos com o aumento de nível de serviço.
Para tomar essa decisão, a cúpula executiva da empresa optou por aplicar a análise de
Valor Monetário Esperado (Expected Monetary Value - EMV), um método para análise
quantitativa de risco. Os fatores a serem considerados nesse processo decisório são
representados na árvore de decisão que segue:

A primeira solução, que consiste em automatizar a montagem de pedidos, apresenta


probabilidade de 85% de gerar R$ 20.000.000,00 em ganho por aumento do nível de
serviço e 15% de probabilidade de ganho de R$ 2.000.000,00. A segunda solução, que
consiste em reajustar os contratos com transportadoras, apresenta probabilidade de
60% de gerar R$ 30.000.000,00 em ganho por aumento do nível de serviço e 40% de
probabilidade de ganho de R$ 10.000.000,00.
Portanto, seguindo o método adotado para tomada de decisão, a solução a ser
implantada por W é
A. automatizar a montagem de pedidos, por apresentar um VME de 17 milhões.
B. automatizar a montagem de pedidos, por apresentar um VME de 7,3 milhões.
C. automatizar a montagem de pedidos, por apresentar um VME superior ao VME da
solução de ajustar os contratos com as transportadoras.
D. reajustar os contratos com as transportadoras, por apresentar um VME de 12
milhões.
E. reajustar os contratos com as transportadoras, por apresentar um VME de 17
milhões.
374
(6) FGV - 2017 - IBGE - Analista Censitário (Métodos Quantitativos)

O responsável pelo planejamento de uma pesquisa acredita que, a priori, a probabilidade


de que um indivíduo tenha uma determinada opinião, positiva, é de 80%. Para avaliar
melhor essa crença, o responsável realiza um experimento no qual a opinião é positiva
em 40% dos casos, quando o responsável julga a priori que não será assim. Sendo
positiva em 70% dos casos, quando ele prevê uma opinião positiva. No experimento, a
opinião se mostrou positiva (ExpPos).

Portanto, a distribuição a posteriori, ou seja, após a realização do experimento, para a


crença do responsável depois do experimento é:

A. P(Positiva / ExpPos) = 0,56 e P(NÃO Positiva / ExpPos) = 0,44;

B. P(Positiva / ExpPos) = 0,68 e P(NÃO Positiva / ExpPos) = 0,32

C. P(Positiva / ExpPos) = 0,875 e P(NÃO Positiva / ExpPos) = 0,125;

D. P(Positiva / ExpPos) = 0,68 e P(NÃO Positiva / ExpPos) = 0,32;

E. P(Positiva / ExpPos) = 2/3 e P(NÃO Positiva / ExpPos) = 1/3.

(7) CESGRANRIO - 2018 - Transpetro - Economista Júnior

Uma pessoa prefere ganhar R$ 100,00 com probabilidade de 100%, um evento certo, em
vez de participar de um sorteio com probabilidade x de ganhar R$ 200,00 e (1 – x) de
nada ganhar.

Deduz-se que a pessoa é avessa ao risco se x for igual a:

A. 55%

B. 45%

C. 35%

D. 25%

E. 15%

375
(8) CESPE - 2017 - TRE-BA -– Contabilidade

Na análise financeira para a tomada de decisão, a relação risco versus retorno é tema
central de avaliação, uma vez que os riscos assumidos em determinada posição
pressupõem estimativas de retorno almejado condizentes com a proporção do risco. Em
momentos de incerteza, as volatilidades aumentam, principalmente em função das
dificuldades envolvendo a previsão de cenários. Nesse contexto, e considerando a
diferença entre risco e incerteza sob a perspectiva da teoria de finanças, assinale a opção
correta.

A. O retorno exigido é menor em condições de incerteza que em situações de risco.

B. Na apuração de probabilidades em condições de risco, a construção de cenários é


dispensável.

C. A incerteza pode ser mensurada em diferentes cenários.

D. Para o risco, podem ser calculadas probabilidades de cada evento.

E. O risco não pode ser mensurado, impossibilitando a construção de cenários.

376
(9) CETRO - 2006 - TCM-SP – Administrador

O objetivo da Teoria da Decisão é capacitar o administrador a resolver problemas e


tomar decisões, principalmente, sob condições de incerteza. Nestas situações, o tomador
de decisão não pode usar sua capacidade de julgamento, mas, apesar disso, é necessário
tomar uma decisão.

A leitura das estratégias (E) é feita em sentido horizontal e a leitura das contra-
estratégias ou estados da natureza (N) é feita em sentido vertical.

Dentre os critérios disponíveis, pode-se citar o Critério Pessimista (ou Minimax) e o


Critério Otimista (ou Maximax). O Critério Pessimista (ou Minimax) considera os piores
resultados de cada uma das três estratégias e elege o menor valor dentre elas como a
estratégia pior possível. Contrariamente, o Critério Otimista (ou Maximax) considera
os melhores resultados de cada uma das três estratégias e elege o maior valor dentre
elas como a estratégia a ser selecionada.

Considerando a matriz supracitada e adotando-se o Critério Otimista ou Maximax,


assinale a opção que contém os resultados otimistas de cada uma das três estratégias
acompanhadas, respectivamente, da melhor estratégia corretamente eleita.

A. 23; 21; 16; N3


B. 15; 17; 23; E3

C. 17; 21; 23; E2

D. 23; 21; 17; N1.

E. 15; 17; 23; E1.

377
(10) CETRO - 2006 - TCM-SP – Administrador [Adaptada]

O objetivo da Teoria da Decisão é capacitar o administrador a resolver problemas e


tomar decisões, principalmente, sob condições de incerteza. Nestas situações, o tomador
de decisão não pode usar sua capacidade de julgamento, mas, apesar disso, é necessário
tomar uma decisão.

A leitura das estratégias (E) é feita em sentido horizontal e a leitura das contra-
estratégias ou estados da natureza (N) é feita em sentido vertical.

Considerando a matriz supracitada e adotando-se o critério de Laplace, assinale a opção


que contém o valor esperado que maximiza o retorno e a melhor estratégia eleita.

A. 13, E1.

B. 13, E2.

C. 17, E2.

D. 20, E3.

E. 23, E3.

378
(11) CESGRANRIO - 2012 - Petrobras – Engenheiro de Produção Júnior

Existem três classes de modelos decisórios em relação à natureza: decisões com certeza,
decisões com risco e decisões com incerteza.

Para decisões com incerteza, o método mais conservador de tomar decisões, que avalia
cada decisão pelo mínimo retorno possível associado a ela, é o critério

A. maximin

B. maximax

C. de arrependimento minimax

D. de Laplace

E. de Fourier

379
(12) Questão de Prova Antiga

Para a próxima estação de plantio, um fazendeiro pode plantar milho (a1), trigo (a2), ou
soja (a3), ou utilizar a terra para pasto (a4). Os retornos associados com as diferentes
ações são influenciados pela quantidade de chuva: grande precipitação pluvial ( s1),
precipitação pluvial moderada (s2), leve precipitação pluvial (s3) ou estação seca (s4). A
matriz de retorno (em milhares de reais) é mostrada na matriz a seguir:

A alternativa que expressa corretamente o valor calculado através do critério maximin


e também a ação que deve ser escolhida é:

A. O valor calculado através do critério maximin é -20. A ação a ser escolhida deve ser
plantar milho (ação 1).

B. O valor calculado através do critério maximin é 0. A ação a ser escolhida deve ser
plantar trigo (ação 2).

C. O valor calculado através do critério maximin é -50. A ação a ser escolhida deve ser
plantar soja (ação 3).

D. O valor calculado através do critério maximin é 10. A ação a ser escolhida deve ser
utilizar a terra para pasto (ação 4).
E. TODAS as alternativas anteriores estão INCORRETAS.

380
(13) Questão de Prova Antiga

Para a próxima estação de plantio, um fazendeiro pode plantar milho ( a1), trigo (a2), ou
soja (a3), ou utilizar a terra para pasto (a4). Os retornos associados com as diferentes
ações são influenciados pela quantidade de chuva: grande precipitação pluvial (s1),
precipitação pluvial moderada (s2), leve precipitação pluvial (s3) ou estação seca (s4). A
matriz de retorno (em milhares de reais) é mostrada na matriz a seguir:

A alternativa que expressa corretamente o valor calculado através do critério de Savage


e também a ação que deve ser escolhida é:

A. O valor calculado através do critério de Savage é 40. A ação a ser escolhida deve ser
plantar milho (ação 1).

B. O valor calculado através do critério de Savage é 15. A ação a ser escolhida deve ser
plantar milho (ação 1).

C. O valor calculado através do critério de Savage é 50. A ação a ser escolhida deve ser
plantar trigo (ação 2).

D. O valor calculado através do critério de Savage é 0. A ação a ser escolhida deve ser
plantar soja (ação 3).
E. O valor calculado através do critério de Savage é 40. A ação a ser escolhida deve ser
utilizar a terra para pasto (ação 4).

381
(14) Questão de Prova Antiga

Para a próxima estação de plantio, um fazendeiro pode plantar milho ( a1), trigo (a2), ou
soja (a3), ou utilizar a terra para pasto (a4). Os retornos associados com as diferentes
ações são influenciados pela quantidade de chuva: grande precipitação pluvial ( s1),
precipitação pluvial moderada (s2), leve precipitação pluvial (s3) ou estação seca (s4). A
matriz de retorno (em milhares de reais) é mostrada na matriz a seguir:

Determine o valor calculado através do critério de Hurwicz e a ação que deve ser
escolhida com 𝛼 = 0,25.

(15) FAUEL - 2019 - Prefeitura de Mandaguari - PR - Economista

Duas empresas fabricantes de instrumentos musicais planejam o lançamento de um


novo kit de instrumentos, que pode ser de alto rendimento para músicos profissionais,
ou de baixo rendimento, para músicos de garagem. Observe a seguinte matriz de payoff
paras as empresas α e β.

Ao escolherem simultaneamente uma estratégia maximin, qual será o resultado?

A. α escolhe Alto e β escolhe Alto.

B. α escolhe Alto e β escolhe Baixo.

C. α escolhe Baixo e β escolhe Alto.

D. α escolhe Baixo e β escolhe Baixo.


382
(16) FCC - 2008 - TCE-SP - Auditor do Tribunal de Contas

Duas empresas A e B são grandes concorrentes no mercado de um determinado bem X.


Em uma determinada semana, as duas empresas devem escolher entre duas estratégias
para vender seus produtos no supermercado C: manter o preço da semana anterior ou
dar desconto em relação a esse preço. A matriz de payoffs das duas empresas para as
quatro combinações de estratégias possíveis está reproduzida abaixo.

É correto concluir que, nesse mercado,

A. existe uma estratégia dominante apenas para a empresa A.

B. não existe nenhum equilíbrio de Nash.


C. existem dois equilíbrios de Nash possíveis.

D. existe somente um equilíbrio de Nash possível.

E. existe uma estratégia dominante apenas para a empresa B.

383
(17) FCC - 2011 - TCE-PR - Analista de Controle

No mercado do bem X existem apenas duas companhias produtoras, a Cia. A e a Cia. B.


Em ambas o custo marginal de produção é constante e igual a 40. A quantidade
demandada pelos consumidores (QD) é representada pela função QD = 300 – 5P, onde P
é o preço do bem X. Os duopolistas têm duas estratégias alternativas: vender 30 ou
vender 35 unidades no mercado. A matriz de payoffs (lucros) das duas empresas para
as quatro combinações de estratégias possíveis está reproduzida abaixo:

É correto afirmar que


A. a estratégia dominante para as duas empresas é vender 35 unidades.

B. a estratégia dominante para a empresa B é vender 30 unidades.

C. não há equilíbrio de Nash para a situação em análise.

D. apenas a empresa A tem uma estratégia dominante, que é vender 30 unidades.

E. não há estratégia dominante para nenhuma das duas empresas.

384
(18) CESGRANRIO - 2008 - BNDES - Economista

A matriz abaixo mostra um jogo na sua forma estratégica. A e B são os jogadores


participantes e suas estratégias são, respectivamente, 1 e 2 para A, e I, II e III para B.
Dentro de cada célula da matriz o número à esquerda é o ganho de A, e o número à
direita, o ganho de B. Os jogadores decidem suas estratégias simultaneamente, têm
conhecimento das estratégias próprias e do adversário, e também dos ganhos de ambos
em cada célula.

Pode-se, então, afirmar que

A. há apenas um equilíbrio de Nash.


B. a estratégia 1 é dominante para A.

C. a combinação de estratégias 1 e 2 é uma solução para o jogo.

D. o jogador B não tem estratégia dominante.

E. nenhum dos jogadores tem estratégias dominantes.

385
(19) CESGRANRIO - 2011 - Transpetro - Economista Júnior

A matriz abaixo representa um jogo de decisões simultâneas entre duas pessoas, I e II.
Em cada célula da matriz aparece, à esquerda, o retorno de I e, à direita, o de II. As
estratégias de I e de II são, respectivamente,

Suponha que os dois jogadores conheçam, antecipadamente, todas as estratégias e


retornos envolvidos. Para que a combinação de estratégias S2Q3 seja um equilíbrio de
Nash, é suficiente que

A. x > 1 e y > 4
B. x > 1 e y > 3

C. x > 1 ou y > 4

D. x > 3 ou y > 1

E. x > 3 e y > 3

386
(20) FCM - 2016 - IF Farroupilha - RS - Docente em Pesquisa Operacional/Finanças

Duas empresas dividem o mercado em um dado segmento. Ambas as empresas


pretendem investir o capital disponível em projetos, buscando ampliar sua fatia do
mercado. Atualmente, cada empresa tem as seguintes opções: (i) investir todo capital
disponível em projetos de pesquisa e de desenvolvimento, (ii) investir todo o capital na
modernização da planta produtiva, reduzindo os custos unitários de produção e (iii)
investir parte do capital em pesquisa e em desenvolvimento e outra parte na
modernização da linha de produção. A fatia de mercado para cada empresa, nos
próximos anos, vai depender da estratégia que ela escolher, bem como da estratégia
escolhida pela empresa concorrente. Além disso, cada empresa não troca informações
sobre investimentos com a concorrente. Assumindo um jogo de soma zero. A tabela, a
seguir, apresenta a fração do mercado futuro, estimada para a Empresa A de acordo com
sua estratégia, e a estratégia de sua concorrente, a Empresa B.

Assumindo que ambas as empresas querem obter a maior fatia no mercado, ou seja,
enquanto a Empresa A almeja aumentar sua fatia no mercado, a empresa B deseja que
a fatia do mercado da Empresa A seja reduzida. Supondo que as duas empresas tomem
decisões racionais, a estratégia ótima é:

A. A Empresa A seleciona a estratégia i e a Empresa B seleciona a estratégia i.

B. A Empresa A seleciona a estratégia i e a Empresa B seleciona a estratégia ii.

C. A Empresa A seleciona a estratégia ii e a Empresa B seleciona a estratégia ii.

D. A Empresa A seleciona a estratégia ii e a Empresa B seleciona a estratégia iii.

E. A Empresa A seleciona a estratégia iii e a Empresa B seleciona a estratégia iii.

GABARITO

(1) A (2) C (3) D (4) A (5) E (6) C (7) A (8) D (9) B (10) D (11) A (12) D

(13) C (14) 12,5 e ação 2 (15) A (16) C (17) A (18) A (19) E (20) A

387
CAPÍTULO 7 – OTIMIZAÇÃO EM REDES

1-Problemas de Otimização em Redes


2-Problema do Caminho Mínimo
3-Problema do Fluxo Máximo
4-PERT/CPM

Prof. Dr. Alexander Cascardo Carneiro

Comentários do professor
Caros alunos, este capítulo final do curso de Pesquisa Operacional descreve os
principais problemas de otimização em redes, apresentando os seus principais métodos
e algoritmos. Em um primeiro momento, aprenderemos sobre os conceitos fundamentais
da Teoria das Redes, também conhecida como Teoria dos Grafos, que permitirá entender
e solucionar cada um dos problemas desenvolvidos ao longo do capítulo. Em seguida,
estudaremos os diversos algoritmos para a obtenção da solução de diferentes tipos de
problemas, incluindo a árvore geradora mínima, o caminho mínimo, o fluxo máximo e o
caminho crítico, alguns dos quais demonstraremos ainda a formulação via Programação
Linear.

388
AULA 1 – PROBLEMAS DE
OTIMIZAÇÃO EM REDES

Considerações iniciais sobre as redes

As redes estão presentes em diversas situações do nosso dia-a-dia, como em redes


de transporte, elétricas e de comunicações. Na Engenharia de Produção, algumas áreas
utilizam a representação em formato de rede para a solução de problemas de produção,
distribuição, planejamento financeiro, planejamento de projetos e administração de
recursos. A representação em forma de rede é uma ferramenta muito eficaz na descrição
das relações entre os elementos de um sistema, podendo ser utilizada em diversos
campos científico, econômico e sociais.

Nesse aspecto, surgem os modelos de otimização em redes, como resultado do


avanço da Ciência da Computação, permitindo a construção de algoritmos mais
eficientes, para a manipulação de dados e informações. Com isso, atualmente temos um
conjunto gigantesco de softwares disponíveis utilizados para solucionar problemas
bastante complexos (que seriam impossíveis de serem resolvidos a algumas décadas
atrás).

Assim, o presente capítulo descreve diversas rotinas (“receitas de bolo”) para


solucionar problemas específicos de otimização em redes, as quais podem ser
construídas em um software (por exemplo, no Excel) caso a gente precise (se estivermos
lidando com algum problema muito complexo).

A partir dessas rotinas, seremos capazes de solucionar problemas tradicionais de


otimização em redes, como encontrar o modo mais eficiente para ligar várias localidades
(direta ou indiretamente); encontrar o menor caminho entre duas localidades; definir o
fluxo máximo em uma rede de tubulações que atenda requisitos, suprimentos e
demanda de diferentes localidades; e programar as atividades de um projeto.

389
É importante destacar que a otimização em redes considera o problema
(formulação e solução do problema) como sendo de programação linear (estudado nos
capítulos 1 e 2). Com isso, algumas fórmulas dependem da imposição de restrições que
só podem ser consideradas se o problema for tratado como sendo de programação linear
(a otimização em redes é um tipo especial de problema de programação linear).

Este capítulo irá tratar sobre as quatro situações de Pesquisa Operacional que
podem ser modeladas e resolvidas como redes:

1. O projeto de uma rede de telecomunicações do serviço de TV a cabo ligando várias


cidades. O objetivo desse tipo de problema é a minimização do custo com a
construção da rede de telecomunicações (minimizar o “comprimento” da rede).
2. A determinação do caminho mais curto entre duas localidades considerando a
rede de transporte existente.
3. O cálculo da capacidade máxima (em toneladas por ano) de uma tubulação de
lama de carvão ligando as minas de carvão com as usinas geradoras de energia
elétrica.
4. A construção de um cronograma (envolvendo as datas das atividades) para um
projeto de construção civil.

A solução de cada um desses quatro problemas é obtida por meio de um conjunto


de algoritmos (métodos ou “receitas de bolo”) de otimização em redes:

1. O algoritmo (ou método) da árvore geradora mínima para a situação 1 (problema


da árvore geradora mínima).
2. O algoritmo (ou método) do caminho mais curto para a situação 2 (problema do
caminho mais curto ou do caminho mínimo).
3. O algoritmo (ou método) de fluxo máximo para a situação 3 (problema do fluxo
máximo).
4. O algoritmo (ou método) do caminho crítico (CPM – Critical Path Method) para a
situação 4 (problema do caminho crítico).

390
Uma rede (ou grafo) consiste de um conjunto de nós (ou vértices) conectados por
arcos (ou ramos). A rede pode ser entendida também como um conjunto de pontos e retas
(cada reta conecta um par de pontos). Um exemplo de rede é mostrado a seguir:

Considere que a rede seja definida por (N, A), em que N representa os nós e A
representa os arcos. Assim, essa rede é descrita como:

N = {1, 2, 3, 4, 5}
A = {(1,2), (1,3), (2,3), (2,5), (3,4), (3,5), (4,2), (4,5)}
Note que a rede possui um total de 5 nós (representados pelos círculos numerados)
e um total de 8 arcos (representados pelas retas ligando um par de nós). Por exemplo, o
arco (2,3) é a reta ligando o nó 2 ao nó 3.

É importante destacar que existe um fluxo associado a cada rede (por exemplo, o
fluxo de automóveis em rodovias). De forma geral, o fluxo em uma rede é limitado pela
capacidade de seus arcos (o arco de menor capacidade irá determinar o fluxo total da
rede, isto é, será o “gargalo” da rede), e que essa capacidade pode ser tanto finita quanto
infinita.

Assim, cada rede possui três elementos principais: os nós, os arcos e o fluxo.
Alguns exemplos são apresentados a seguir:

 Os nós podem ser as cidades, os arcos as rodovias e o fluxo sendo de automóveis.


 Os nós podem ser os aeroportos, os arcos as rotas aéreas e o fluxo sendo de
aeronaves.
 Os nós podem ser estações de bombeamento, os arcos as tubulações e o fluxo sendo
de fluidos.
 Os nós podem ser centros de trabalho, os arcos rotas de tratamentos de materiais
e o fluxo sendo de tarefas.
 Os nós podem ser computadores e roteadores, os arcos cabos de rede e o fluxo
sendo de dados (bits).

391
Os arcos podem ser classificados como arco orientado (ou dirigido ou direcionado)
ou não-orientado. Um arco é orientado se ele permitir fluxo em apenas uma direção (ou
seja, o fluxo é positivo em uma direção e o fluxo é igual a zero na direção oposta). Nesse
caso, ele será representado com uma seta apontando para o sentido do fluxo.

Observe o arco (2,5) da rede anterior: existe uma seta apontando na direção do nó
5. Logo, esse arco é orientado (direcionado) e a direção do fluxo é do nó 2 para o nó 5 (ou
seja, o fluxo do nó 2 para o 5 é positivo, enquanto que o fluxo do nó 5 para o nó 2 é igual
a 0 – portanto não existe fluxo do nó 5 para o nó 2, apenas do nó 2 para o nó 5). Sobre a
notação dos arcos orientados, o nó de partida (por exemplo, o nó 2) é dado antes do nó
de destino (por exemplo, o nó 5). Ou seja, o arco (2,5) por ser orientado pode ser
identificado por 25 (e nunca por 52), ou então por 2->5.

Por outro lado, se o fluxo for permitido em ambas as direções, então o arco é não-
orientado (ou não-dirigido ou não-direcionado). Nesse caso, as ligações entre os nós são
dadas apenas por retas (no lugar de setas). É importante observar que uma rede é dita
orientada (rede orientada ou rede direcionada) se todos os arcos forem orientados (é o
caso da rede do exemplo anterior). De forma similar, uma rede é dita não-orientada (rede
não-orientada ou rede não-direcionada) se todos os seus arcos forem não-orientados.
Além disso, um caminho é uma sequência de arcos distintos ligando dois nós,
passando por outros nós, independentemente da direção de fluxo de cada arco. Por
exemplo, para ligar o nó 1 ao nó 5, podemos utilizar o caminho (1,2), (2,5), ou seja, passar
pelo arco ligando o nó 1 ao nó 2 e depois pelo arco ligando o nó 2 ao nó 5 (essa sequência
de arcos (isto é, esse caminho) poderia ser escrita como 12-25, ou então 1->2->5). Observe
que poderíamos utilizar o caminho (1,3), (3,5), ou então o caminho (1,2), (2,3), (3,5), e
assim por diante.

Um caminho forma um ciclo ou um loop se formar um caminho de um nó para ele


mesmo, passando por outros nós. Na rede anterior, os arcos (2,3), (3,4), (4,2) formam um
ciclo (isto é, se considerarmos esses três arcos, poderíamos voltar ao nó 2 pelo caminho
2->3->4->2 ou ao nó 3 pelo caminho 3->4->2->3 ou ao nó 4 pelo caminho 4->2->3->4).

Uma rede é conectada (rede conectada) se todos os pares de nós estiverem


conectados (ligados) por pelo menos um caminho. A rede do exemplo é uma rede
conectada (pois todos os nós estão conectados). Já uma árvore é uma rede conectada sem
ciclos, ou seja, ela é um subconjunto de todos os nós.

Considere o exemplo anterior (que possui 5 nós) e elimine todos os arcos


(mantenha apenas os 5 nós). Nós podemos “cultivar” a nossa árvore adicionando arcos
(ou “ramificações”) uma de cada vez a partir de um dos nós. Vamos adicionar um arco
ligando o nó 1 ao nó 2. Em seguida vamos adicionar um novo arco ligando o nó 2 ao nó
3 (adicionar um novo nó dessa maneira impede a criação de ciclos).

392
Com isso, temos a seguinte árvore (o seguinte subconjunto da rede original):

Note que essa árvore é um subconjunto da rede original, ou seja, ela é a rede
original considerando apenas a existência dos arcos (1,2) e (2,3). Observe também que o
número de arcos de uma árvore é sempre igual ao número de nós menos 1 (se
considerarmos 2 arcos então teremos obrigatoriamente 3 nós). Assim, à medida que
adicionarmos um novo arco (“ramificação”) a nossa árvore, teremos mais um nó
conectado a ela (ou seja, cada arco cria uma árvore maior, que é um subconjunto da rede
original).

Por fim, temos que uma árvore geradora (ou árvore de expansão) é uma árvore
que liga todos os nós da rede (se a árvore ligar todos os nós da rede original, então ela
será uma árvore geradora). Um exemplo de árvore geradora da rede original é mostrada
a seguir:

Note que ela é uma árvore (pois não forma ciclos) que interliga todos os 5 nós da
rede original (por isso é uma árvore geradora). Observe também que o número de arcos
é igual ao número de nós menos 1 (temos 5 nós e 4 arcos). É importante notar também
que essa é apenas uma das possíveis árvores geradoras que podem ser obtidas da rede
original (poderíamos escolher qualquer outra combinação de arcos, desde que
interliguem todos os nós e não se formem ciclos).

As árvores geradoras desempenham um papel fundamental na solução de


problemas da árvore geradora mínima (discutido no início dessa seção), cujo algoritmo
será tratado na próxima seção.

393
Algoritmo da árvore geradora mínima

No problema da árvore geradora mínima é considerado uma rede conectada e não-


orientada, cujas informações dadas são alguma medida de comprimento positivo (por
exemplo, distância, tempo, custo etc.), associada a cada ligação (arco). O problema da
árvore geradora mínima (e também o problema do caminho mínimo) envolve escolher o
conjunto de ligações (arcos) que possua o comprimento total mais curto entre todos os
conjuntos de ligações possíveis.

No problema da árvore geradora mínima, as ligações escolhidas devem fornecer


um caminho entre cada par de nós (todos os nós precisam estar ligados). Assim, o
objetivo aqui é determinar a árvore geradora (ou seja, uma árvore ligando todos os nós,
a qual não possui ciclos e é um subconjunto da rede original) que defina o caminho total
mais curto (árvore geradora mínima).
Logo, o algoritmo da árvore geradora mínima busca conectar os nós de uma rede
(direta ou indiretamente, ou seja, ligando um nó diretamente a outro nó, ou
indiretamente passando por outro nó), utilizando o comprimento total mais curto de
ramos conectores (arcos).

Um exemplo de aplicação é a construção de estradas pavimentadas ligando várias


cidades (no qual todas as cidades, ou nós, devem estar conectadas). O projeto mais
econômico será aquele que minimizar o comprimento total de estrada pavimentada
(caminho total mais curto), o qual é obtido com o algoritmo da árvore geradora mínima.

O problema da árvore geradora mínima pode ser resumido da seguinte forma:

1. São fornecidos os nós da rede, mas não as ligações entre eles. No lugar disso, são
fornecidos comprimentos positivos (por exemplo, distâncias, tempos, custos etc.),
associados a cada ligação (arco).
2. Deve-se construir uma árvore geradora, inserindo ligações para satisfazer a
necessidade de haver um caminho interligando cada par de nós.
3. O objetivo é satisfazer essa necessidade de forma a minimizar o comprimento
total (soma) das ligações inseridas na rede (árvore geradora mínima).

É importante observar que uma rede com n nós requer (n – 1) ligações (arcos)
para satisfazer a necessidade de haver um caminho interligando cada par de nós. Não
precisaríamos utilizar ligações extras, uma vez que isso apenas aumentaria
desnecessariamente o comprimento total das ligações.

394
Algumas das aplicações típicas do algoritmo da árvore geradora mínima são:
projeto de redes de telecomunicações (redes de fibras ópticas, rede telefônica, rede de
computadores, rede de TV a cabo etc.); projeto de rede de transporte (ferrovias, estradas
etc.); projeto da rede elétrica de transmissão (interligando localidades, cidades...);
projeto de rede de dutos interligando várias localidade, dentre outros. O objetivo aqui é
minimizar o comprimento total (seja de fios, de cabos, de fibra óptica, de estrada, de
trilho, de material...), a partir da solução que interligue todos os nós com o menor
caminho total possível (utilizando o algoritmo da árvore geradora mínima).

O algoritmo da árvore geradora mínima, chamado de algoritmo de Kruskal,


funciona da seguinte forma:

Considere:

N = {1,2,3,...,n} o conjunto de nós da rede.


𝐶𝑘 = conjunto de nós que foram conectados permanentemente na iteração k (para
formar a árvore geradora mínima).

𝐶𝑘̅ = conjunto de nós que ainda terão que ser conectados permanentemente após
a iteração k.

O algoritmo da árvore geradora mínima executa então as seguintes etapas:

 Etapa k = 0: faça 𝐶0 = ∅ e 𝐶0̅ = N. Faça k = 1.


 Etapa k = 1: comece com qualquer nó i do conjunto não conectado 𝐶0̅ , resultando
em 𝐶1 = {i}. Com isso, 𝐶𝑘̅ = N – {i}. Faça k = 2.
 Etapa k geral: selecione um nó j* do conjunto não conectado 𝐶𝑘−1
̅ que dê o arco
mais curto até um nó do conjunto conectado 𝐶𝑘−1 . Ligue j* permanentemente a
𝐶𝑘−1 e elimine-o de 𝐶𝑘−1
̅ , ou seja:
𝐶𝑘 = 𝐶𝑘−1 + {j*}

𝐶𝑘̅ = 𝐶𝑘−1
̅ – {j*}

Se o conjunto de nós não conectados 𝐶𝑘̅ for vazio, então encerre o algoritmo. Caso
contrário, faça k = k + 1.

395
Para entender essas etapas do algoritmo da árvore geradora mínima vamos
trabalhar no seguinte exemplo:

Uma empresa de telecomunicações irá oferecer seus serviços de TV a cabo para


seis novas áreas. A figura a seguir mostra as possíveis conexões de TV a cabo entre as
seis áreas. Cada arco mostra as extensões (em milhas) dos cabos. O objetivo é encontrar
a rede mais econômica.

Em primeiro lugar, devemos começar pela etapa k = 0 (Iteração 0), ou seja:

𝐶0 = ∅

𝐶0̅ = N

Temos que N é o conjunto de todos os nós, ou seja, N = {1,2,3,4,5,6}, em que o


número total de nós n = 6. Assim, temos que:

𝐶0 = ∅

𝐶0̅ = {1,2,3,4,5,6}

A etapa k = 1 (Iteração 1) explica que devemos escolher qualquer um dos nós do


conjunto não conectado 𝐶0̅ . Vamos escolher, por exemplo, o nó 1 (i = 1). Assim temos:

𝐶1 = {1}

𝐶1̅ = {1,2,3,4,5,6} – {1} = {2,3,4,5,6}

396
Podemos representar esses dois conjuntos (𝐶1 e 𝐶1̅ ) a partir da seguinte figura:

Observe que as distâncias entre o nó 1 e os nós que ele possui alguma ligação
(mostrada na rede original) do conjunto 𝐶1̅ são apresentadas nos arcos. Note que a menor
distância (de 1 milha, que ocorre no arco que liga o nó 1 ao nó 2) está destacada em linha
tracejada (é o menor arco entre um nó de 𝐶1 e um nó de 𝐶1̅ ).
Agora devemos entrar na etapa k = 2 (Iteração 2), que consiste em escolher o nó
que resulte no menor arco com o nó da etapa anterior (nó 1). Já vimos que esse nó que
dá o menor arco com o nó 1 é o nó 2. Assim, devemos ligar o nó 2 permanentemente a
𝐶𝑘−1 e eliminá-lo de 𝐶𝑘−1
̅ (ou seja, devemos adicioná-lo ao conjunto 𝐶1 e eliminá-lo do
conjunto 𝐶1̅ ):

𝐶2 = 𝐶1 + {2} = {1} + {2} = {1,2}

𝐶2̅ = 𝐶1̅ – {2} = {2,3,4,5,6} – {2} = {3,4,5,6}

Podemos representar esses dois conjuntos (𝐶2 e 𝐶2̅ ) a partir da seguinte figura:

397
Observe que as distâncias entre os nós 1 e 2 (nós do conjunto 𝐶2 ) e os nós que eles
possuem alguma ligação (mostrada na rede original) do conjunto 𝐶2̅ são apresentadas
nos arcos. Note que a ligação entre o nó 1 e o nó 2 foi feita com uma linha mais grossa
(pois é uma conexão permanente). Além disso, observe que a menor distância (de 3
milhas, que ocorre no arco que liga o nó 2 ao nó 5) está destacada em linha tracejada (é
o menor arco entre um nó de 𝐶2 e um nó de 𝐶2̅ ).

Agora devemos entrar na etapa k = 3 (Iteração 3), que consiste em escolher o nó


que resulte no menor arco com os nós da etapa anterior (nó 1 ou nó 2, isto é, os nós de
𝐶2 ). Já vimos que esse nó que dá o menor arco é a ligação do nó 2 com o nó 5. Assim,
devemos ligar o nó 5 permanentemente a 𝐶𝑘−1 e eliminá-lo de 𝐶𝑘−1 ̅ (ou seja, devemos
adicioná-lo ao conjunto 𝐶2 e eliminá-lo do conjunto 𝐶2̅ ):

𝐶3 = 𝐶2 + {5} = {1,2} + {5} = {1,2,5}

𝐶3̅ = 𝐶2̅ – {5} = {3,4,5,6} – {5} = {3,4,6}

Podemos representar esses dois conjuntos (𝐶3 e 𝐶3̅ ) a partir da seguinte figura:

Note que as distâncias entre os nós 1, 2 e 5 (nós do conjunto 𝐶3 ) e os nós que eles
possuem alguma ligação (mostrada na rede original) do conjunto 𝐶3̅ são apresentadas
nos arcos. Observe que a ligação entre o nó 2 e o nó 5 foi feita com uma linha mais grossa
(é uma conexão permanente). Note que a menor distância (de 4 milhas, que ocorre no
arco que liga o nó 2 ao nó 4) está destacada em linha tracejada (é o menor arco entre um
nó de 𝐶3 e um nó de 𝐶3̅ ).

398
Agora devemos entrar na etapa k = 4 (Iteração 4), que consiste em escolher o nó
que resulte no menor arco com os nós da etapa anterior (nó 1 ou nó 2 ou nó 5, isto é, os
nós de 𝐶3 ). Já vimos que esse nó que dá o menor arco é a ligação do nó 2 com o nó 4.
Assim, devemos ligar o nó 4 permanentemente a 𝐶𝑘−1 e eliminá-lo de 𝐶𝑘−1 ̅ (ou seja,
devemos adicioná-lo ao conjunto 𝐶3 e eliminá-lo do conjunto 𝐶3̅ ):

𝐶4 = {1,2,4,5}

𝐶4̅ = {3,6}

Podemos representar esses dois conjuntos (𝐶4 e 𝐶4̅ ) a partir da seguinte figura:

Note que as distâncias entre nós do conjunto 𝐶4 e os nós que eles possuem alguma
ligação (mostrada na rede original) do conjunto 𝐶4̅ são apresentadas nos arcos. Observe
que a ligação entre o nó 2 e o nó 4 foi feita com uma linha mais grossa (é uma conexão
permanente). Note que a menor distância (de 3 milhas, que ocorre no arco que liga o nó
4 ao nó 6) está destacada em linha tracejada (é o menor arco entre um nó de 𝐶4 e um nó
de 𝐶4̅ ).

Agora devemos entrar na etapa k = 5 (Iteração 5), que consiste em escolher o nó


que resulte no menor arco com os nós da etapa anterior (nós de 𝐶4 ). Já vimos que esse
nó que dá o menor arco é a ligação do nó 4 com o nó 6. Assim, devemos ligar o nó 6
permanentemente a 𝐶𝑘−1 e eliminá-lo de 𝐶𝑘−1
̅ (ou seja, devemos adicioná-lo ao conjunto
𝐶4 e eliminá-lo do conjunto 𝐶4̅ ):

𝐶5 = {1,2,4,5,6}

𝐶5̅ = {3}

399
Podemos representar esses dois conjuntos (𝐶5 e 𝐶5̅ ) a partir da seguinte figura:

Note que as distâncias entre nós do conjunto 𝐶5 e os nós que eles possuem alguma
ligação (mostrada na rede original) do conjunto 𝐶5̅ (que agora só possui o nó 3) são
apresentadas nos arcos. Observe que a ligação entre o nó 4 e o nó 6 foi feita com uma
linha mais grossa (é uma conexão permanente). Note que a menor distância (de 5
milhas, ocorre tanto no arco que liga o nó 1 ao nó 3 quanto no arco que liga o nó 4 ao nó
3) estão destacadas em linha tracejada (menores arcos entre um nó de 𝐶5 e um nó de 𝐶5̅ ).

Agora devemos entrar na etapa k = 6 (Iteração 6), que consiste em escolher o nó


que resulte no menor arco com os nós da etapa anterior (nós de 𝐶5 ). Já vimos que esse
nó que dá o menor arco pode ser tanto a ligação do nó 1 com o nó 3 quanto a ligação do
nó 4 com nó 3. Assim devemos ligar o nó 3 permanentemente a 𝐶𝑘−1 e eliminá-lo de 𝐶𝑘−1
̅
(ou seja, devemos adicioná-lo ao conjunto 𝐶5 e eliminá-lo do conjunto 𝐶5̅ ):

𝐶6 = {1,2,3,4,5,6}

𝐶6̅ = ∅

Como 𝐶6̅ , isto é, o conjunto de nós não conectados 𝐶𝑘̅ é vazio, então encerramos o
algoritmo. As ligações permanentes no conjunto 𝐶6 formam a árvore geradora mínima,
como mostrado a seguir:

400
Note que o fato de o arco (1,3) e o arco (4,3) possuírem o mesmo comprimento (5
milhas) faz com que possamos escolher qualquer um desses dois arcos para formar a
árvore geradora mínima (podemos escolher um arco ou o outro arco). Por isso eles foram
chamados de “links alternados”. De qualquer forma, a extensão mínima de cabos
necessária para a expansão do serviço a cabo dessa empresa de telecomunicações será
de 1 + 3 + 4 + 3 + 5 = 16 milhas (cada um dos números dessa soma são os comprimentos
mínimos de cada iteração), que consiste no caminho total mais curto ligando todos os
nós.

Naturalmente poderíamos iniciar o algoritmo por qualquer um dos nós. Nessa


solução, iniciamos pelo nó 1. Mas poderíamos começar por qualquer outro nó que o
resultado seria o mesmo. Experimente fazer esse mesmo exercício, mas agora
começando pelo nó 5 (ao invés de nó 1). Mostre que o algoritmo produz a mesma solução!

401
AULA 2 – PROBLEMA DO
CAMINHO MÍNIMO

O método do caminho mais curto

O problema de caminho mínimo (também chamado de problema do caminho mais


curto) envolve uma rede conectada e dois nós especiais, chamados de nó de origem e nó
de destino. Além disso, associado a cada ligação (cada arco) existe um comprimento
(distância) de valor não negativo (valor zero ou positivo). O objetivo do algoritmo (ou
método) do caminho mínimo é encontrar a menor distância (o caminho com a distância
total mínima) ligando a origem ao destino.

O método do caminho mais curto é muito utilizado pela área de Logística, uma
vez que permite determinar a melhor rota entre duas localidades. Existem dois
algoritmos para resolver o problema do caminho mínimo:

1. Algoritmo de Dijkstra: desenvolvido para determinar o caminho mais curto entre


o nó de origem e qualquer outro nó da rede.
2. Algoritmo de Floyd: mais abrangente, permite determinar o caminho mais curto
entre quaisquer dois nós da rede (caminho mais curto entre qualquer nó de
origem e qualquer nó de destino).

Algoritmo de Dijkstra:
Seja 𝑢𝑖 a menor distância entre o nó de origem e nó 𝑖, e 𝑑𝑖𝑗 (≥0) como o
comprimento do arco (𝑖 , 𝑗). Então, o algoritmo cria o rótulo para um nó imediatamente
posterior 𝑗 da seguinte forma:

[𝑢𝑖 , 𝑖 ] = [𝑢𝑖 + 𝑑𝑖𝑗 , 𝑖] , 𝑑𝑖𝑗 ≥ 0

402
Ou seja, cada rótulo [𝑢𝑖 , 𝑖 ] possui dois valores: o primeiro valor 𝑢𝑖 está associado
com a distância (comprimento) entre um nó 𝑖 e o nó 𝑗 e o segundo valor (𝑖) é o nó que
anterior, a partir do qual podemos alcançar o nó 𝑗.

O rótulo para o nó inicial será [0, –], que significa que a distância até o nó de
origem é igual a 0 e que não existe nenhum nó predecessor a ele (justamente por ser o
nó de origem, não existe nenhum nó anterior a ele).

No algoritmo de Dijkstra existem dois tipos de rótulos: os rótulos temporários e


os rótulos permanentes. Um rótulo temporário pode ser modificado se encontrarmos
uma rota mais curta até um nó. Agora, se não for possível encontrar nenhuma rota
melhor, o status do rótulo temporário é mudado para permanente.

As etapas (iterações) do algoritmo de Dijkstra são:

 Iteração 0: rotule o nó de origem (por exemplo, o nó 1) como rótulo permanente


dado por [0, –]. Faça 𝑖 = 1.
 Iteração 𝒊:
o Calcule os rótulos temporários [𝑢𝑖 + 𝑑𝑖𝑗 , 𝑖] para cada nó 𝑗 que puder ser
alcançado a partir do nó 𝑖 (desde que 𝑗 não esteja rotulado como
permanente). Caso o nó 𝑗 já esteja rotulado com [𝑢𝑗 , 𝑘], passando pelo nó 𝑘,
e se 𝑢𝑖 + 𝑑𝑖𝑗 < 𝑢𝑗 , então devemos substituir [𝑢𝑗 , 𝑘] por [𝑢𝑖 + 𝑑𝑖𝑗 , 𝑖].
o Se todos os nós estiverem rotulados como permanente, então pare (fim do
algoritmo). Caso contrário, selecione o rótulo [𝑢𝑟 , 𝑠], cuja distância 𝑢𝑟 é a
mais curta entre todos os rótulos temporários (empates pode ser resolvidos
arbitrariamente). Faça 𝑖 = 𝑟 e repita a Etapa 𝑖.

Para entender o funcionamento do algoritmo de Dijkstra, considere seguinte


exemplo:

A rede a seguir mostra todas as rotas possíveis, e seus respectivos comprimentos


em milhas, entre a Cidade 1 (nó 1) e quatro outras cidades (nós 2 a 5). Determine os
caminhos mais curtos entre a Cidade 1 e cada uma das outras Cidades.

403
Iteração 0: devemos rotular o nó de origem (nó 1) como um rótulo permanente
dado por [0, –]. Em seguida devemos fazer 𝑖 = 1.

Iteração 1: devemos selecionar o nó marcado como permanente na etapa anterior


(nó 1). Observe que podemos alcançar os nós 2 e 3 a partir do nó 1 (que é o último nó
rotulado como permanente). Assim, devemos somar a distância até o nó 1 (que vale 0,
pois é o nó de origem) com a distância até cada um dos nós (para o nó 2 e para o nó 3)
que podem ser alcançados a partir do nó 1. Esses nós devem ser rotulados como
temporários. A tabela a seguir resume essa etapa:

Note que o nó 1 foi rotulado com [0, –] que significa que a distância para se chegar
ao nó 1 é igual a 0 e que não existe nó anterior a ele. Além disso, ele foi rotulado como
permanente (pois não existe distância menor para se chegar ao nó 1). O nó 2 recebeu o
rótulo [100, 1] que significa que a distância entre o nó 1 até o nó 2 é de 100. E o nó 3
recebeu o rótulo [30, 1] que significa que a distância entre o nó 1 até o nó 3 é de 30. Esses
dois nós (2 e 3) são temporários. Agora devemos escolher a menor distância entre os
rótulos temporários [100, 1] e [30, 1] (que é o 𝑢3 = 30), tornando esse nó permanente (o
nó 3, destacado na tabela anterior, passará a ser permanente na próxima etapa).

Iteração 3: devemos selecionar o nó marcado como permanente na etapa anterior


(nó 3). Observe que podemos alcançar os nós 4 e 5 a partir do nó 3 (que é o último nó
rotulado como permanente). Assim, devemos somar a distância até o nó 3 (que vale 30)
com a distância até cada um dos nós (para o nó 4 e para o nó 5) que podem ser alcançados
a partir do nó 3. Esses nós devem ser rotulados como temporários. A tabela a seguir
resume essa etapa:

404
Note que o nó 3 foi rotulado como permanente e a partir dele obtivemos os rótulos
dos nós 4 e 5 (deixados como temporários). O nó 4 recebeu o rótulo [40, 3] que significa
que a distância entre o nó 1 (origem) até o nó 4, passando pelo nó 3, é de 40. E o nó 5
recebeu o rótulo [90, 3] que significa que a distância entre o nó 1 (origem) até o nó 5,
passando pelo nó 3, é de 90. Agora devemos escolher a menor distância entre os rótulos
temporários [100, 1], [40, 3] e [90, 3] (que é o 𝑢4 = 40), tornando esse nó permanente (o
nó 4, destacado na tabela anterior, passará a ser permanente na próxima etapa).

Iteração 4: devemos selecionar o nó marcado como permanente na etapa anterior


(nó 4). Observe que podemos alcançar os nós 2 e 5 a partir do nó 4 (que é o último nó
rotulado como permanente). Assim, devemos somar a distância até o nó 4 (que vale 40)
com a distância até cada um dos nós (para o nó 2 e para o nó 5) que podem ser alcançados
a partir do nó 4. Esses nós devem ser rotulados como temporários. A tabela a seguir
resume essa etapa:

Note que o rótulo do nó 2 anterior [100, 1] foi substituído pelo rótulo [55, 4], pois
55 é menor do que 100 (𝑢𝑖 + 𝑑𝑖𝑗 < 𝑢𝑗 ). Note também que no nó 4 podemos escolher tanto
o [90, 3] quanto o [90, 4], pois ambos possuem o mesmo comprimento. O nó 2 recebeu o
rótulo [55, 4] que significa que a distância entre o nó 1 (origem) até o nó 2, passando
pelo nó 4, é de 55. E o nó 5 pode receber o rótulo [90, 3] que significa que a distância
entre o nó 1 (origem) até o nó 5, passando pelo nó 3, é de 90, ou o rótulo [90, 4] que
significa que a distância entre o nó 1 (origem) até o nó 5, passando pelo nó 4, é de 90.
Agora devemos escolher a menor distância entre os rótulos temporários [55, 4], [90, 3] e
[90, 4] (que é o 𝑢𝑖 = 55), tornando esse nó permanente (o nó 2, destacado na tabela
anterior, passará a ser permanente na próxima etapa).

Iteração 2: devemos selecionar o nó marcado como permanente na etapa anterior


(nó 2). Observe que podemos alcançar apenas o nó 3 a partir do nó 2. Porém, o nó 3 já
está rotulado como permanente, portanto não pode ser rotulado novamente. A nova lista
de rótulos será então a mesma obtida com a Etapa 3, com a diferença de que o nó 2 e o
nó 5 (por não terem nós concorrentes) passarão a ser permanentes. Como não existem
mais nós temporários, o algoritmo termina.

405
O resumo das Etapas (Iterações) resultantes do algoritmo de Dijkstra é mostrado
a seguir:

Note que cada Etapa (Iteração) está mostrada entre parênteses e que cada rótulo,
associado a cada nó, também está sendo apresentado. O nó de origem é o nó 1. Temos
então que, se o nó de destino for o nó 2, então o comprimento (ou distância) será de 55,
e ele deve passar pelo nó 4 (rótulo [55, 4] – essa distância de 55 é justamente a distância
de 30 entre os nós 1 e 3 somada com a distância de 10 entre os nós 3 e 4 somada com a
distância de 15 entre os nós 4 e 2 ou então a distância de 40 entre os nós 1 e 4 somada
com a distância de 15 entre os nós 4 e 2).

Se o nó de destino for o nó 3, então o comprimento (ou distância) será de 30, e ele


virá direto do nó 1 (rótulo [30, 1]).

Se o nó de destino for o nó 4, então o comprimento (ou distância) será de 40, e ele


deve passar pelo nó 3 (rótulo [40, 3] – essa distância de 40 é justamente a distância de
30 entre os nós 1 e 3 somada com a distância de 10 entre os nós 3 e 4).

Se o nó de destino for o nó 5, então o comprimento (ou distância) será de 90, e ele


pode passar pelo nó 3 (rótulo [90, 3] – essa distância de 90 é justamente a distância de
30 entre os nós 1 e 3 somada com a distância de 60 entre os nós 3 e 5) ou passar pelo nó
4 (rótulo [90, 4] – essa distância de 90 é justamente a distância de 30 entre os nós 1 e 3
somada com a distância de 10 entre os nós 3 e 4 somada com a distância de 50 entre os
nós 4 e 5 ou então a distância de 40 entre os nós 1 e 4 somada com a distância de 50
entre os nós 4 e 5).

Assim, o caminho mais curto entre o nó 1 e qualquer outro nó da rede do problema


pode ser obtido partindo do nó de destino e percorrendo a rota inversa a partir desse nó
(até o nó 1), utilizando a informação dada pelos rótulos permanentes.

406
Por exemplo, o caminho mais curto entre o nó 1 e 2 é:

Ou seja, partindo do nó de destino (nó 2), temos o rótulo [55,4] que significa que
a distância entre ele (nó 2) e o nó 1 é de 55 milhas e que ele deve passar pelo nó 4. No
nó 4 temos o rótulo [40,3] que mostra que passamos pelo nó 3. No nó 3 temos o rótulo
[30,1], mostrando que o nó 3 vem diretamente do nó 1. Logo, o caminho mínimo entre os
nós 1 e 2 é: 1 -> 3 -> 4 -> 2, com um comprimento de 55 milhas.

Algoritmo de Floyd:

O algoritmo de Floyd é mais geral do que o de Dijkstra, pois determina o caminho


mais curto entre quaisquer dois nós da rede. O algoritmo de Floyd representa a rede de
𝑛 nós através de uma matriz quadrada com 𝑛 linhas e 𝑛 colunas. As entradas (𝑖 , 𝑗) dessa
matriz consiste na distância 𝑑𝑖𝑗 entre o nó 𝑖 e o nó 𝑗. Caso não exista uma ligação entre
o nó 𝑖 e o nó 𝑗 o valor dessa entrada será infinito.

O algoritmo de Floyd se baseia no seguinte conceito: considerando 3 nós 𝑖, 𝑗 e 𝑘,


como mostrado na figura a seguir, em que as distâncias entre eles são dadas por 𝑑𝑖𝑗 , 𝑑𝑖𝑘
e 𝑑𝑘𝑗 :

Então o caminho mais curto é ir de 𝑖 a 𝑗 passando por 𝑘 se:


𝑑𝑖𝑘 + 𝑑𝑘𝑗 < 𝑑𝑖𝑗

Ou seja, se a soma entre o caminho ligando o nó 𝑖 com o nó 𝑘 e o caminho ligando


o nó 𝑘 com o nó 𝑗 resultar em um valor menor (tiver menor distância) do que o caminho
entre o nó 𝑖 e o nó 𝑗, então é mais vantajoso (menor distância entre 𝑖 e 𝑗) irmos de 𝑖 até 𝑗
passando por 𝑘. Nesse caso, dizemos que é ótimo substituirmos a rota direta 𝑖 -> 𝑗 pela
rota indireta 𝑖 -> 𝑘 -> 𝑗.

407
Essa operação é conhecida como operação tripla (se um caminho passando por
outro nó for menor do que o caminho indo direto ao nó, então o caminho direto deve ser
substituído pelo caminho indireto, isto é, passando por outro nó) e é aplicada
sistematicamente à rede a partir das seguintes etapas (iterações):

 Etapa 0: Defina a matriz de distâncias D0 e a matriz de sequências de nós S0 como


mostrado a seguir. Os elementos da diagonal devem ser marcados com (–) para
indicar que estão bloqueados (pois não estamos interessados na distância do nó
até ele mesmo). Faça k = 1.

Lembrando que cada entrada (𝑖 , 𝑗) da matriz de distâncias nos fornece o valor da


distância entre o nó 𝑖 até o nó 𝑗. Na matriz de sequências de nós, cada entrada nos diz
de qual nó até qual nó estamos indo. Por exemplo, a entrada (1,2), isto é, a linha 1 e
coluna 2, é igual a 2 (s12 = 2). Isso significa que o valor da distância que aparece na
entrada (1,2) da matriz de distâncias (𝑑12) corresponde a distância entre o nó 1 (linha 1)
e o nó 2 (coluna 2) passando pelo nó 2 (valor da entrada na matriz de sequências de nós),
isto é, estamos considerando a própria distância entre o nó 1 e o nó 2 (sem passar por
nenhum outro nó).

Logo, as entradas da matriz de sequências de nós nos fornece o nó intermediário


entre o nó de origem (linha 𝑖) e o nó de destino (coluna 𝑗), ou seja, se o valor dessa entrada
fosse igual a 4, por exemplo, então isso significaria que a menor distância entre o nó 1 e
2 é aquela passando pelo nó 4 (saindo do nó 1 e indo para o nó 4). Já as entradas da
matriz de distâncias nos fornece a menor distância (menor comprimento) entre o nó de
origem (linha 𝑖) e o nó de destino (coluna 𝑗).
408
Assim, com a matriz de sequências de nós saberemos o caminho (por quais nós
passamos) entre a origem e o destino e com a matriz de distância saberemos o valor da
menor distância entre os nós de origem e de destino (sabendo que os nós de origem são
as linhas e os de destino são as colunas).

 Etapa k: agora aplicaremos a operação tripla. Vamos definir uma linha k e uma
coluna k como a linha pivô e a coluna pivô. Em seguida, aplicaremos a operação
tripla em cada elemento 𝑑𝑖𝑗 da matriz de distâncias Dk-1 para todo 𝑖 e 𝑗.

𝑑𝑖𝑘 + 𝑑𝑘𝑗 < 𝑑𝑖𝑗 , (𝑖 ≠ 𝑘, 𝑗 ≠ 𝑘, 𝑖 ≠ 𝑗)

Se a condição for satisfeita, então devemos fazer as seguintes alterações:


o Crie Dk e substitua 𝑑𝑖𝑗 de Dk-1 por 𝑑𝑖𝑘 + 𝑑𝑘𝑗 .
o Crie Sk e substitua 𝑠𝑖𝑗 de Sk-1 por k. Faça k = k + 1. Se k = n + 1, pare. Caso
contrário, repita a etapa k.

Assim, após n etapas, teremos o valor do caminho mais curto entre os nós 𝑖 e 𝑗
com base nas matrizes Dn e Sn, a partir das seguintes regras:

1. Na matriz de distâncias Dn, cada entrada 𝑑𝑖𝑗 nos fornece a menor distância entre
os nós i e j.
2. A partir da matriz de sequências de nós Sn faça 𝑘 = 𝑠𝑖𝑗 , que significa que estamos
usando a rota i -> k -> j. Se 𝑠𝑖𝑘 = 𝑘 e 𝑠𝑘𝑗 = 𝑗 então podemos parar, pois todos os
nós intermediários da rota foram encontrados. Caso contrário, repita o
procedimento entre os nós i e k e entre os nós k e j.

409
Para entender a aplicação do algoritmo de Floyd, vamos trabalhar no seguinte
exemplo:

Encontre os caminhos mais curtos entre quaisquer dois nós da rede a seguir. Os
arcos dessa rede fornecem as distâncias em milhas. Note que o arco (3,5) é direcional
(ou seja, nenhum tráfego é permitido no sentido do nó 5 ao nó 3). Todos os demais arcos
permitem o tráfego nos dois sentidos.

Em primeiro lugar, na Etapa 0, devemos construir as matrizes de distância D0 e


de sequências de nós S0 que são as representações iniciais da rede (da rede original),
mostradas a seguir:

Matriz D0:

Matriz S0:

Note que todas as distâncias presentes na rede original foram colocadas nas
entradas da matriz de distâncias D0 e que as ligações não existentes foram consideradas
com valor infinito na entrada correspondente. Por exemplo, como não existe caminho
ligando o nó 1 ao nó 4, então a entrada (1,4) da matriz de distâncias D0 recebeu o valor
∞.

410
Observe também que essa matriz seria simétrica caso todos os arcos fossem não-
direcionais. Porém, como o arco (3,5) é direcional, essa matriz não ficou simétrica. Ou
seja, enquanto a entrada (3,5) da matriz de distâncias D0 recebeu o valor 15, a entrada
(5,3) recebeu o valor ∞ (pois o fluxo nesse sentido não é permitido).

Sobre a matriz de sequências de nós S0 temos que inicialmente todas as suas


entradas são iguais à respectiva coluna. Isso ocorre, pois inicialmente consideramos as
ligações diretas da rede original (consideramos que o menor caminho entre o nó i e j é o
caminho ligando esses dois nós diretamente).

Construídas as matrizes D0 e S0 devemos fazer k = 1 e entrar na Etapa 1. Na


Etapa 1, a linha pivô e a coluna pivô devem ser a linha 1 e a coluna 1, as quais foram
sombreadas na matriz D0. Observando a linha 1 (linha pivô) podemos notar que só
existem entradas finitas nas colunas 2 e 3. Isso significa, que o nó 1 (linha 1) pode chegar
diretamente ao nó 2 (comprimento de 3) e ao nó 3 (comprimento de 10). A coluna 1
(coluna pivô) mostra a mesma coisa no sentido inverso: do nó 2 para o nó 1 o
comprimento é de 3 e do nó 3 para o nó 1 o comprimento é de 10.
Olhando ainda para a matriz D0 devemos tentar usar as operações triplas. Ao
olharmos os elementos (2,3) e (3,2), cujos nós podem ser alcançados partindo do nó 1,
vemos que as suas entradas são ∞. Note que essas são as únicas entradas que podem
ser melhoradas (que podemos encontrar um valor menor, ou seja, um valor menor do
que infinito). Por isso, as entradas (2,3) e (3,2) estão destacadas nas duas matrizes D0 e
S0. Portanto, para encontrar um comprimento menor para essas duas entradas,
precisamos utilizar a operação tripla (buscar um comprimento menor partindo de outro
nó). Temos que:
𝑑23 = ∞
𝑑21 + 𝑑13 = 3 + 10 = 13

A primeira equação mostra que o comprimento do nó 2 ao nó 3 quando ligados


diretamente é igual a infinito (pois não existe uma ligação direta entre eles na rede
original). A segunda equação mostra que existe uma distância menor (menor do que
infinito, mostrada em D0), obtida com a operação tripla, que consiste em irmos do nó 2
ao nó 3 indiretamente, passando pelo nó 1. Da mesma forma:
𝑑32 = ∞
𝑑31 + 𝑑12 = 10 + 3 = 13

Ou seja, existe uma caminho menor do nó 3 para o nó 2 passando pelo nó 1.

Além disso, como as distâncias das entradas (2,3) e (3,2) foram obtidas
considerando que estamos passando pelo nó 1, então as entradas da matriz de
sequências de nós serão alteradas para s23 = 1 e s32 = 1.

411
Essas mudanças aparecerão em D1 e S1, como mostrado a seguir:

Matriz D1:

Matriz S1:

Agora devemos fazer k = 2 e entrar na Etapa 2. Na Etapa 2, a linha pivô e a coluna


pivô devem ser a linha 2 e a coluna 2, as quais foram sombreadas na matriz D1. Note
que existe caminho do nó 2 para o nó 4 (entrada (2,4) de D1). Isso significa que podemos
encontrar um caminho mais curto do nó 1 para o nó 4 (com comprimento menor do que
infinito). Note que as entradas (1,4) e (4,1) são iguais a infinito e estão em destaque na
matriz D1 (essas mesmas entradas estão em destaque também em S1). Devemos buscar
então por meio da operação tripla um caminho menor entre o nó 1 e o nó 4. Temos que:
𝑑14 = ∞
𝑑12 + 𝑑24 = 3 + 5 = 8

Note que o menor caminho para ir do nó 1 para o nó 4 é o caminho passando pelo


nó 2 (portanto esse valor 8 será a nova entrada de (1,4) em D2). Da mesma forma:
𝑑41 = ∞
𝑑42 + 𝑑21 = 5 + 3 = 8

Que mostra que o menor caminho do nó 4 ao nó 1 é passando pelo nó 2 (portanto


esse valor 8 será a nova entrada de (4,1) em D2). Além disso, como as distâncias das
entradas (1,4) e (4,1) foram obtidas considerando que estamos passando pelo nó 2, então
as entradas da matriz de sequências de nós serão alteradas para s14 = 2 e s41 = 2.

412
Essas mudanças aparecerão em D2 e S2, como mostrado a seguir:

Matriz D2:

Matriz S2:

Agora devemos fazer k = 3 e entrar na Etapa 3. Na Etapa 3, a linha pivô e a coluna


pivô devem ser a linha 3 e a coluna 3, as quais foram sombreadas na matriz D2. Note
que existe caminho do nó 3 para o nó 5 (entrada (3,5) de D1). Isso significa que podemos
encontrar um caminho mais curto do nó 1 para o nó 5 e do nó 2 para o nó 5 (com
comprimento menor do que infinito). Note que as entradas (1,5) e (2,5) são iguais a
infinito e estão em destaque na matriz D2 (essas mesmas entradas estão em destaque
também em S1). Devemos buscar então por meio da operação tripla um caminho menor
entre o nó 1 e o nó 5 e entre o nó 2 e o nó 5. Temos que:
𝑑15 = ∞
𝑑13 + 𝑑35 = 10 + 15 = 25

E que:
𝑑25 = ∞
𝑑23 + 𝑑35 = 13 + 15 = 28

413
Fazendo as substituições chegamos a:

Matriz D3:

Matriz S3:

Agora devemos fazer k = 4 e entrar na Etapa 4. Na Etapa 4, a linha pivô e a coluna


pivô devem ser a linha 4 e a coluna 4, as quais foram sombreadas na matriz D3. Note
que existem diversas entradas que podemos minimizar ao considerarmos a operação
tripla nessa etapa:
𝑑51 = ∞
𝑑54 + 𝑑41 = 4 + 8 = 12

E:
𝑑52 = ∞
𝑑54 + 𝑑42 = 4 + 5 = 9

E:
𝑑53 = ∞
𝑑54 + 𝑑43 = 4 + 6 = 10

Esses resultados substituirão as entradas que valiam infinito.

414
Note também que podemos encontrar um valor menor para outras entradas,
utilizando a operação tripla nessa etapa:
𝑑23 = 13
𝑑24 + 𝑑43 = 5 + 6 = 11

E:
𝑑32 = 13
𝑑34 + 𝑑42 = 6 + 5 = 11

E:
𝑑15 = 25
𝑑14 + 𝑑45 = 8 + 4 = 12

E:
𝑑25 = 28
𝑑24 + 𝑑45 = 5 + 4 = 9

E:
𝑑35 = 15
𝑑34 + 𝑑45 = 6 + 4 = 10

Todas essas entradas foram substituídas por esses valores em D4 e também essas
entradas serão alteradas para 4 nas mesmas posições em S4. Ou seja:

Matriz D4:

Matriz S4:

415
Por fim devemos fazer k = 5. Na Etapa 5, a linha pivô e a coluna pivô devem ser
a linha 5 e a coluna 5, as quais foram sombreadas na matriz D4. Note que não é possível
encontrar nenhum caminho menor do que os presentes nas entradas de D4, através da
operação tripla envolvendo k = 5. Isso significa que as matrizes D4 e S4 apresentam a
resposta final do problema.

Assim, as matrizes finais D4 e S4 contêm todas as informações necessárias para


determinar a rota mais curta entre quaisquer dois nós da rede. Por exemplo, a menor
distância entre o nó 3 e o nó 5 é 10 milhas (entrada (3,5) de D4). E qual é o caminho? O
caminho é indo do nó 3 para o nó 4 (pois a entrada (3,5) de S4 é igual a 4) e depois do nó
4 para o nó 5 (pois a entrada (4,5) de S4 é igual a 5). Ou seja, a menor rota ligando o nó
3 ao nó 5 é a rota 3 -> 4 -> 5, cuja distância é de 10 milhas.
Além disso, é importante observar que um segmento (𝑖 , 𝑗) só será uma conexão
direta se 𝑠𝑖𝑗 = j. Caso contrário, 𝑖 e 𝑗 são conectados por pelo menos um nó intermediário.
Por exemplo, 𝑠31 = 1 e, portanto, a distância de 10 milhas na entrada (3,1) de D4
corresponde a uma ligação direta (a distância ligando o nó 3 ao nó 1 diretamente, ou
seja, sem nós intermediários – observe que essa é justamente a distância entre o nó 3 e
o nó 1 na rede original). Agora, 𝑠32 = 4 (ou seja, é diferente de 2). Isso significa que a
distância de 11 milhas na entrada (3,2) de D4 corresponde a uma ligação indireta (a
distância ligando o nó 3 ao nó 2 indiretamente, passando pelo nó 4 – observe que essa é
a distância entre o nó 3 e o nó 4 somada com a distância entre o nó 4 e o nó 2 na rede
original).

Observe agora a rota ligando o nó 1 ao nó 5. Temos que 𝑠15 = 4 (ou seja, é diferente
de 5), o que implica que a menor rota passa pelo nó 4, isto é, a rota 1 -> 4 -> 5. Porém, o
nó 1 não é ligado diretamente ao nó 4, pois 𝑠14 = 2 (ou seja, é diferente de 4), o que
significa que a rota passa pelo nó 2 (nó intermediário entre o nó 1 e o nó 4). Portanto a
rota 1 -> 4 deve ser substituída pela rota 1 -> 2 -> 4, fazendo com que a menor rota entre
o nó 1 e o nó 5 seja a rota 1 -> 2 -> 4 -> 5 (nesse caso temos 2 nós intermediários: os nós
2 e 4).

É importante observar que nem todas as aplicações do problema do caminho


mínimo envolvem minimizar a distância percorrida entre a origem e o destino. As
conexões (arcos) podem representar atividades e, portanto, escolher o caminho
necessário através da rede corresponde a selecionar a melhor sequência de atividades.
Os valores dos arcos podem, então, ser os custos das atividades, daí o objetivo seria
determinar a sequência de atividades que minimiza o custo total.

416
As categorias de aplicações para o problema do caminho mínimo podem ser:

1. Minimizar a distância total percorrida (como no exemplo desta seção).


2. Minimizar o custo total de uma sequência de atividades.
3. Minimizar o tempo total de uma sequência de atividades.

É possível que todas essas três categorias surjam na mesma aplicação. Por
exemplo, podemos desejar encontrar o melhor percurso de uma cidade a outra através
de cidades intermediárias: o melhor percurso pode ser aquele que minimiza a distância
total percorrida, e/ou o custo total, e/ou o tempo necessário para atravessar as cidades.

Formulação em Programação Linear para o problema do caminho mais


curto

Esta seção apresenta a modelagem em Programação Linear para o problema do


caminho mínimo. É importante destacar que este modelo é o mais geral, podendo ser
usado para encontrar o caminho mais curto entre quaisquer dois nós da rede (ou seja,
ele é equivalente ao algoritmo de Floyd).

Considere uma rede que possua 𝑛 nós e desejamos encontrar o caminho mínimo
entre quaisquer dois nós 𝑠 e 𝑡 dessa rede. O modelo de programação linear considera
que uma unidade de fluxo entra na rede no nó 𝑠 e sai no nó 𝑡.

Dadas as seguintes notações:


𝑥𝑖𝑗 = quantidade de fluxo no arco (𝑖 , 𝑗)

𝑐𝑖𝑗 = comprimento do arco (𝑖 , 𝑗)

Sendo:
1 , se o arco (𝑖 , 𝑗) for o mais curto
𝑥𝑖𝑗 = {
0 , caso contrário
A função objetivo do problema de programação linear se torna:

Min 𝑧 = ∑ 𝑐𝑖𝑗 𝑥𝑖𝑗


para todo (𝑖,𝑗)

As restrições são obtidas por meio das equações de conservação do fluxo em cada
nó:
Fluxo total de entrada = Fluxo total de saída

417
Matematicamente, essa expressão se torna:
Entrada externa Saída externa
( )+ ∑ 𝑥𝑖𝑗 = ( )+ ∑ 𝑥𝑗𝑘
para o nó 𝑗 do nó 𝑗
𝑖 𝑘
todo (𝑖,𝑗) todo (𝑗,𝑘)

Do lado esquerdo, o primeiro termo representa a entrada de fluxo de uma unidade


(caso exista neste nó) e segundo termo representa todos os arcos de entrada deste nó; do
lado direito, o primeiro termo representa a saída de fluxo de uma unidade (caso exista
neste nó) e segundo termo representa todos os arcos de saída deste nó.

Para entender essa formulação do problema de programação linear, considere


novamente a rede utilizada no exemplo do algoritmo de Dijkstra:

A rede a seguir mostra todas as rotas possíveis, e seus respectivos comprimentos


em milhas, entre a Cidade 1 (nó 1) e quatro outras cidades (nós 2 a 5).

Determine o caminho mais curto do nó 1 ao nó 2, ou seja, 𝑠 = 1 e 𝑡 = 2.

Suponha a entrada de 1 unidade de fluxo no nó de entrada (nó 𝑠 = 1) e a


consequente 1 unidade de saída do nó de saída (nó 𝑡 = 2). A figura a seguir mostra como
a unidade de fluxo entra no nó 1 e sai do nó 2.

É preciso aplicar a expressão das restrições a seguir para cada nó:


Entrada externa Saída externa
( )+ ∑ 𝑥𝑖𝑗 = ( )+ ∑ 𝑥𝑗𝑘
para o nó 𝑗 do nó 𝑗
𝑖 𝑘
todo (𝑖,𝑗) todo (𝑗,𝑘)

418
Observe que para o nó 1, existe a entrada de 1 unidade de fluxo (primeiro termo
do lado esquerdo é igual a 1), mas não existe nenhum arco de entrada (segundo termo
do lado esquerdo é igual a 0). Além disso, não existe saída de fluxo (primeiro termo do
lado direito é igual a 0) e existem 2 arcos de saída: (1,2) e (1,3), representados pelas
variáveis de decisão 𝑥12 e 𝑥13 . Assim, a restrição associada ao nó 1 se torna:
1 = 𝑥12 + 𝑥13

Para o nó 2, não existe entrada de fluxo (primeiro termo do lado esquerdo é igual
a 0) e existem dois arcos de entrada: (1,2) e (4,2), representados pelas variáveis de
decisão 𝑥12 e 𝑥42 . Além disso, existe saída de 1 unidade de fluxo (primeiro termo do lado
direito é igual a 1) e existe 1 arco de saída: (2,3) representado pela variável de decisão
𝑥23 . Assim, a restrição associada ao nó 2 se torna:
𝑥12 + 𝑥42 = 1 + 𝑥23

Para o nó 3 não existem entradas e saídas de fluxo de 1 unidade; os arcos de


entrada são (1,3) e (2,3), e os arcos de saída são (3,4) e (3,5). Assim, a restrição associada
ao nó 3 se torna:
𝑥13 + 𝑥23 = 𝑥34 + 𝑥35

Para o nó 4 não existem entradas e saídas de fluxo de 1 unidade; o arco de entrada


é (3,4), e os arcos de saída são (4,2) e (4,5). Assim, a restrição associada ao nó 4 se torna:
𝑥34 = 𝑥42 + 𝑥45

Para o nó 5 não existem entradas e saídas de fluxo de 1 unidade; e existem


somente arcos de entrada, que são (3,5) e (4,5). Assim, a restrição associada ao nó 5 se
torna:
𝑥35 + 𝑥45 = 0

A função objetivo desse problema é dada por:

Min 𝑧 = ∑ 𝑐𝑖𝑗 𝑥𝑖𝑗


para todo (𝑖,𝑗)

Substituindo cada termo 𝑐𝑖𝑗 pelo comprimento do arco, chega-se em:

Min 𝑧 = 100𝑥12 + 30𝑥13 + 20𝑥23 + 10𝑥34 + 60𝑥35 + 15𝑥42 + 50𝑥45

419
Reorganizando os termos das restrições (passando as variáveis de decisão pra o
lado esquerdo e as constantes para o lado direito), temos o seguinte problema de
programação linear:
Min 𝑧 = 100𝑥12 + 30𝑥13 + 20𝑥23 + 10𝑥34 + 60𝑥35 + 15𝑥42 + 50𝑥45

Sujeito às restrições:
𝑥12 + 𝑥13 = 1
𝑥12 − 𝑥23 + 𝑥42 = 1
𝑥13 + 𝑥23 − 𝑥34 − 𝑥35 = 0
𝑥34 − 𝑥42 − 𝑥45 = 0
𝑥35 + 𝑥45 = 0

A solução ótima desse problema é 𝑧 = 55, 𝑥13 = 1, 𝑥34 = 1 e 𝑥42 = 1 (e as demais


variáveis de decisão iguais a 0), podendo ser obtida via método Simplex. Essa solução
fornece como caminho mais curto entre o nó 1 e o nó 2 o caminho 1 -> 3 -> 4 -> 2, e a
distância associada a ele é de 55 milhas.

420
AULA 3 – PROBLEMA DO
FLUXO MÁXIMO

Definindo o problema do fluxo máximo

Um exemplo de problema de fluxo máximo consiste no transporte de petróleo cru


entre poços de petróleo e refinarias. Estações intermediárias de impulsores auxiliares e
de bombeamento são instaladas em distâncias adequadas para transportar o petróleo
cru na rede.

Cada segmento de tubulação (arco da rede) tem uma taxa de descarga máxima
finita (ou capacidade máxima) para o fluxo de petróleo cru. Cada um dos segmentos de
tubulação (arco) pode ser unidirecional ou bidimensional (dependendo do projeto). A
questão é: como determinar a capacidade máxima da rede entre os poços e a refinaria?

De forma geral, nos problemas de fluxo máximo, os valores dos arcos (𝑖 , 𝑗) definem
a capacidade máxima (o fluxo máximo) permitido entre o nó 𝑖 e o nó 𝑗 (máximo fluxo do
nó 𝑖 para o nó 𝑗). Assim, existem muitas combinações de rotas e de fluxo através de cada
rota que devem ser consideradas.
421
O algoritmo do problema do fluxo máximo visa encontrar as combinações de rotas
e fluxos em cada rota que maximize o fluxo da rede. Assim, o problema de fluxo máximo
pode ser descrito como:

1. Todo o fluxo através da rede origina-se de um nó chamado de origem e termina


em outro nó chamado escoadouro (ou sorvedouro).
2. À cada arco só é permitido um fluxo (valor do arco) entre 0 e a capacidade máxima
do arco.
3. O objetivo é maximizar a quantidade total de fluxo da origem ao sorvedouro. Essa
quantidade equivale à quantidade que sai da origem (que é igual à quantidade
que chega ao sorvedouro).

Algumas aplicações típicas para o problema do fluxo máximo são:

 Maximizar o fluxo através de uma rede de distribuição de uma empresa, partindo


de suas fábricas até chegar aos clientes.
 Maximizar o fluxo através de uma rede de suprimento de uma empresa, partindo
dos seus fornecedores até chegar a suas fábricas.
 Maximizar o fluxo de petróleo através de um sistema de tubulações.
 Maximizar o fluxo de veículos através de uma rede de transporte.
 Maximizar o fluxo de água através de um sistema de aquedutos.

Embora no problema de fluxo máximo sejam permitidos apenas uma única origem
e um único sorvedouro, existem aplicações nas quais o fluxo através da rede pode
originar de mais de um nó (por exemplo, de diversas fábricas) e também terminar em
mais de um nó (por exemplo, clientes). Entretanto, nesse livro trataremos apenas dos
casos clássicos (com apenas um nó de origem e um nó sorvedouro).

É importante destacar que o problema de fluxo máximo poderia ser reformulado


para se adaptar a situações envolvendo mais do que um nó de origem e mais do que um
nó sorvedouro. Nesse caso, a rede original poderia ser expandida, incluindo uma origem
“fantasma” e um sorvedouro “fantasma” e alguns novos arcos (equivalente ao que foi
feito no Problema de Transporte estudado no Capítulo 3).

422
Dado o arco (𝑖 , 𝑗) com 𝑖 < 𝑗 então a notação (𝐶𝑖𝑗
̅ , 𝐶𝑗𝑖̅ ) representa as capacidades de
fluxo nas duas direções 𝑖 -> 𝑗 e 𝑗 -> 𝑖, respectivamente. Por exemplo, considerando 𝑖 = 1
e 𝑗 = 3, a notação (10,5) indica que a capacidade de fluxo do nó 1 ao nó 3 é de 10 e a
capacidade de fluxo do nó 3 ao nó 1 é de 5. Nas redes aqui estudadas, o valor de 𝐶𝑖𝑗 ̅
aparecerá no arco (𝑖 , 𝑗) próximo ao nó 𝑖, enquanto o valor de 𝐶𝑗𝑖̅ aparecerá no arco (𝑖 , 𝑗)
próximo ao nó 𝑗, como mostrado a seguir:

Um corte consiste em um conjunto de arcos que, quando eliminados da rede,


causam o rompimento total do fluxo entre o nó de origem e o nó sorvedouro. A capacidade
do corte (ou valor do corte) é igual à soma das capacidades desses arcos (que fazem parte
do corte). Assim, o fluxo máximo na rede é dado pelo corte, dentre todos os possíveis
cortes, que tiver a menor capacidade (o corte com menor capacidade será o “gargalo” da
rede, definindo a capacidade máxima).

Observe a figura a seguir:

As capacidades bidirecionais de fluxo são apresentadas em cada um dos arcos.


Por exemplo, para o arco (1,4), o limite de fluxo é de 10 unidades do nó 1 ao nó 4 e de 0
unidades do nó 4 ao nó 1. Note também que foram feitos 3 cortes nessa rede, cujas
capacidades estão mostradas na tabela a seguir.

423
Observe que o Corte 1 engloba os arcos (1,2), (1,3) e (1,4), cujas capacidade são 20,
30 e 10, resultando na capacidade do Corte 1 de 60 (20 + 30 + 10). Da mesma forma, o
Corte 2 engloba os arcos (1,3), (1,4), (2,3) e (2,5), cujas capacidade são 30, 10, 40 e 30,
resultando na capacidade do Corte 2 de 110 (30 + 10 + 40 + 30). E o Corte 3 engloba os
arcos (2,5), (3,5) e (4,5), cujas capacidade são 30, 20 e 20, resultando na capacidade do
Corte 3 de 70 (30 + 20 + 20).

Considerando esses 3 cortes, a única certeza que temos é a de que o fluxo máximo
não poderá ultrapassar 60 unidades (ou ele será igual a 60 unidades ou será menor,
nunca maior – pois o fluxo máximo é dado pelo “gargalo” da rede, que corresponde ao
corte com o menor fluxo). Por conta disso, o fluxo que sai do nó 1 (origem) e que chega
ao nó 5 (sorvedouro) certamente são iguais a 60.

Observe que sabemos exatamente o fluxo que sai em cada arco do nó 1 (corte 1),
pois este corte é o “gargalo”. Mas não sabemos qual é o fluxo através dos demais nós (e
de seus respectivos arcos). Para um entendimento mais detalhado sobre o fluxo e seus
possíveis caminhos (rotas), utilizaremos o algoritmo explicado na próxima seção.

Algoritmo para o problema do fluxo máximo

O algoritmo do fluxo máximo se baseia em encontrar rotas de passagem com fluxo


líquido positivo entre o nó de origem e o nó sorvedouro. Cada rota compromete parte ou
toda a capacidade de seus arcos ao fluxo da rede.
Considere o arco (𝑖 , 𝑗) inicialmente com capacidade (𝐶𝑖𝑗
̅ , 𝐶𝑗𝑖̅ ). Conforme as porções
dessas capacidades são comprometidas ao fluxo no arco, as capacidades residuais (ou
capacidades restantes) do arco vão sendo atualizadas. Para este algoritmo, será usada
a notação (𝑐𝑖𝑗 , 𝑐𝑗𝑖 ) para representar essas capacidades residuais.
Para entender o conceito de capacidade residual, considere que um arco ligando
o nó O ao nó B possua uma capacidade igual a 7. Suponha agora que os fluxos designados
incluam um fluxo de 5 através desse arco (o que deixa uma capacidade residual dada
por 7 – 5 = 2 para qualquer designação de fluxo através desse arco), como mostrado a
seguir:

Em outras palavras, a capacidade residual (2) será subtraída da capacidade (7)


no sentido do nó O ao nó B, ou seja, 𝐶𝑂𝐵
̅ = 7 – 2 = 5. Além disso, a capacidade residual
será somada no sentido do nó B ao nó O, ou seja, 𝐶𝐵𝑂 ̅ = 2. Ambos os valores foram
mostrados na figura anterior.
424
Para um nó 𝑗 que recebe um fluxo do nó 𝑖, adicionamos um rótulo [𝑎𝑖 , 𝑖] em que
𝑎𝑖 é o fluxo do nó 𝑖 ao nó 𝑗. Com isso, as etapas do algoritmo do problema do fluxo máximo
são dadas da seguinte forma:

Etapa 1: Para todos os arcos (𝑖 , 𝑗) iguale a capacidade residual à capacidade


inicial, isto é, faça (𝑐𝑖𝑗 , 𝑐𝑗𝑖 ) = (𝐶𝑖𝑗
̅ , 𝐶𝑗𝑖̅ ). Faça 𝑎1 = ∞ e rotule o nó de origem (que em geral
é o nó 1) com o rótulo [∞, –]. Faça 𝑖 = 1 e passe para a Etapa 2.

Etapa 2: Faça Si como o conjunto de nós 𝑗 que não foram rotulados e que podem
ser alcançados diretamente do nó 𝑖 por meio de arcos residuais positivos (isto é, para
todo 𝑐𝑖𝑗 > 0). Se Si ≠ ∅ siga para a Etapa 3. Caso contrário, vá para a Etapa 4.

Etapa 3: Encontre o maior arco do nó 𝑖 a um dos nós 𝑘 positivos, ou seja:


𝑐𝑖𝑘 = max{𝑐𝑖𝑗 }

Faça 𝑎𝑘 = 𝑐𝑖𝑘 e rotule o nó 𝑘 com [𝑎𝑘 , 𝑖]. Caso 𝑘 = 𝑛, então o nó sorvedouro foi
rotulado e uma rota de passagem foi encontrada. Nesse caso, vá para Etapa 5. Caso
contrário, faça 𝑖 = 𝑘 e volte à Etapa 2.

Etapa 4: Esta etapa consiste em percorrer a rota inversa. Se Si = ∅ com 𝑖 = 1 isso


significa que nenhuma rota de passagem é possível. Nesse caso, siga para a Etapa 6.
Caso Si = ∅ com 𝑖 ≠ 1, faça 𝑟 o nó que foi rotulado imediatamente antes do nó atual 𝑖 e
elimine 𝑖 do conjunto de nós adjacentes a 𝑟. Faça 𝑖 = 𝑟 e volte para a Etapa 2.

Etapa 5: Esta etapa consiste na determinação das capacidades residuais. Defina


o conjunto de nós da 𝑝-ésima rota de passagem do nó de origem ao nó sorvedouro 𝑛 como
Np = {1,k1,k2,...,n}. Assim, o fluxo máximo permitido ao longo da rota de passagem 𝑝 é
dado por:
𝑓𝑝 = min{𝑎1 , 𝑎𝑘1 , 𝑎𝑘2 , … , 𝑎𝑛 }

Ou seja, o fluxo máximo é o valor mínimo entre os arcos da rota que liga o nó de
origem (desde a rota de origem 𝑎1 ) ao nó sorvedouro (até a rota que liga ao nó sorvedouro
𝑎𝑛 ).

A capacidade residual de cada arco ao longo dessa rota de passagem deve ser
reduzida de 𝑓𝑝 na direção do fluxo (na direção de 𝑖 para 𝑗) e aumentada de 𝑓𝑝 na direção
contrária (na direção de 𝑗 para 𝑖). Ou seja:

(𝑐𝑖𝑗 − 𝑓𝑝 , 𝑐𝑗𝑖 + 𝑓𝑝 ), se o fluxo for de 𝑖 para 𝑗

(𝑐𝑖𝑗 + 𝑓𝑝 , 𝑐𝑗𝑖 − 𝑓𝑝 ), se o fluxo for de 𝑗 para 𝑖

Em seguida, reinstale quaisquer nós que foram eliminados na Etapa 4. E então


faça 𝑖 = 1 e retorne para a Etapa 2 para tentar uma nova rota de passagem.

425
Etapa 6: Esta etapa consiste em encontrar a solução.

Considere 𝑚 o número de rotas de passagem, então o fluxo máximo da rede será:


𝐹 = 𝑓1 + 𝑓2 + 𝑓3 + ⋯ + 𝑓𝑚

A partir das capacidades residuais iniciais (𝐶𝑖𝑗


̅ , 𝐶𝑗𝑖̅ ) e finais (𝑐𝑖𝑗 , 𝑐𝑗𝑖 ) do arco (𝑖 , 𝑗),
o fluxo ótimo no arco (𝑖 , 𝑗) é calculado da seguinte forma:
̅ − 𝑐𝑖𝑗 , 𝐶𝑗𝑖̅ − 𝑐𝑗𝑖 )
(𝛼, 𝛽) = (𝐶𝑖𝑗

Se 𝛼 > 0, então o fluxo ótimo no arco (𝑖 , 𝑗) vai de 𝑖 para 𝑗 e é igual a 𝛼. Caso


contrário, se 𝛽 > 0, o fluxo ótimo do arco (𝑖 , 𝑗) vai de 𝑗 para 𝑖 e é igual a 𝛽 (é impossível
que 𝛼 e 𝛽 sejam positivos ao mesmo tempo). Assim, podemos determinar o fluxo ótimo
de cada arco da rede.

Para entender o funcionamento desse algoritmo na prática, vamos aplicá-lo à rede


dada anteriormente:

Iteração 1:
Para todos os arcos (𝑖 , 𝑗), iguale as capacidades residuais iniciais às capacidades
iniciais, isto é, faça (𝑐𝑖𝑗 , 𝑐𝑗𝑖 ) = (𝐶𝑖𝑗
̅ , 𝐶𝑗𝑖̅ ).

Etapa 1: Faça 𝑎1 = ∞ e rotule o nó 1 com rótulo [∞, –]. Faça 𝑖 = 1.

Etapa 2: os nós que não foram rotulados e podem ser alcançados do nó 1 são os
nós S1 = {2,3,4}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 1 para cada um dos nós de S1 = {2,3,4} são dados
por {20,30,10}. O máximo (o maior valor) corresponde ao arco ligando o nó 1 ao nó 3, isto
é, o arco (1,3). Portanto, 𝑘 = 3. Com isso, devemos rotular o nó 𝑘 = 3 com [30,1] (estamos
considerando o fluxo de 30 que vem do nó 1). Faça 𝑖 = 𝑘 = 3 e volte à Etapa 2.

426
Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 3
são os nós S3 = {4,5}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 3 para cada um dos nós de S3 = {4,5} são dados
por {10,20}. O máximo (o maior valor) corresponde ao arco ligando o nó 3 ao nó 5, isto é,
o arco (3,5). Portanto, 𝑘 = 5. Com isso, devemos rotular o nó 𝑘 = 5 com [20,3] (estamos
considerando o fluxo de 20 que vem do nó 3). Faça 𝑖 = 𝑘 = 5. Como 𝑘 = 𝑛 = 5, então o nó
sorvedouro foi rotulado e uma rota de passagem foi encontrada. Nesse caso, iremos para
a Etapa 5.

Etapa 5: determinamos a rota de passagem pelos rótulos que iniciam no nó 5 e


percorrem a rota inversa até o nó 1, ou seja, (5) -> [20,3] -> (3) -> [30,1] -> (1). Isso
significa que N1 = {1,3,5} (são os nós da rota de passagem 1). O fluxo ótimo dessa rota de
passagem 𝑓1 é igual ao valor mínimo entre os rótulos presentes nessa rota, ou seja, o
fluxo ótimo é 𝑓1 = min{∞, 30,20} = 20.

A figura a seguir resume as etapas dessa iteração (destacando a rota 1):

Além disso, temos que as capacidades residuais ao longo da rota 1 são:


(𝑐13 , 𝑐31) = (𝑐13 − 𝑓1 , 𝑐31 + 𝑓1 ) = (30 − 20 , 0 + 20) = (10 , 20)
(𝑐35 , 𝑐53 ) = (𝑐35 − 𝑓1 , 𝑐53 + 𝑓1 ) = (20 − 20 , 0 + 20) = (0 , 20)

Com isso, devemos considerar o valor 10 (no lugar de 30) como fluxo residual do
nó 1 ao nó 3, o valor de 20 (no lugar de 0) como fluxo residual do nó 3 ao nó 1, o valor de
0 (no lugar de 20) como fluxo residual do nó 3 ao nó 5 e o valor de 20 (no lugar de 0) como
fluxo residual do nó 5 ao nó 3. Esses novos valores aparecerão na rede da próxima
iteração. Como ainda existe fluxo positivo do nó 1 a outros nós, devemos fazer 𝑖 = 1 e
retornar para a Etapa 2 (para calcular uma nova rota de passagem).

427
Iteração 2:

Etapa 2: os nós que não foram rotulados e podem ser alcançados do nó 1 são os
nós S1 = {2,3,4}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 1 para cada um dos nós de S1 = {2,3,4} são dados
por {20,10,10}. O máximo (o maior valor) corresponde ao arco ligando o nó 1 ao nó 2, isto
é, o arco (1,2). Portanto, 𝑘 = 2. Com isso, devemos rotular o nó 𝑘 = 2 com [20,1] (estamos
considerando o fluxo de 20 que vem do nó 1). Faça 𝑖 = 𝑘 = 2 e volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 2
são os nós S2 = {3,5}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 2 para cada um dos nós de S2 = {3,5} são dados
por {40,10}. O máximo (o maior valor) corresponde ao arco ligando o nó 2 ao nó 3, isto é,
o arco (2,3). Portanto, 𝑘 = 3. Com isso, devemos rotular o nó 𝑘 = 3 com [40,2] (estamos
considerando o fluxo de 40 que vem do nó 2). Faça 𝑖 = 𝑘 = 3 e volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 3 é
apenas S3 = {4} (note que o fluxo do nó 3 ao nó 5 é igual a 0 e portanto o nó 5 não pode
ser alcançado do nó 3), que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: o fluxo residual do nó 3 para cada um dos nós de S3 = {4} é {10}. O máximo
(o maior valor) corresponde ao arco ligando o nó 3 ao nó 4, isto é, o arco (3,4). Portanto,
𝑘 = 4. Com isso, devemos rotular o nó 𝑘 = 4 com [10,3] (estamos considerando o fluxo de
10 que vem do nó 3). Faça 𝑖 = 𝑘 = 4 e volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 4
são os nós S4 = {5} (note que o nó 3 não foi incluído pois, apesar de poder ser alcançado
a partir do nó 4, ele já foi rotulado), que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: o fluxo residual do nó 4 para cada um dos nós de S4 = {5} é {20}. O máximo
(o maior valor) corresponde ao arco ligando o nó 4 ao nó 5, isto é, o arco (4,5). Portanto,
𝑘 = 5. Com isso, devemos rotular o nó 𝑘 = 5 com [20,4] (estamos considerando o fluxo de
20 que vem do nó 4). Faça 𝑖 = 𝑘 = 5. Como 𝑘 = 𝑛 = 5, então o nó sorvedouro foi rotulado
e uma rota de passagem foi encontrada. Nesse caso, iremos para a Etapa 5.

Etapa 5: determinamos a rota de passagem pelos rótulos que iniciam no nó 5 e


percorrem a rota inversa até o nó 1, ou seja, (5) -> [20,4] -> (4) -> [10,3] -> (3) -> [40,2] -
> (2) -> [20,1] -> (1). Isso significa que N2 = {1,2,3,4,5} (são os nós da rota de passagem
2). O fluxo ótimo dessa rota de passagem 𝑓2 é igual ao valor mínimo entre os rótulos
presentes nessa rota, ou seja, 𝑓2 = min{∞, 20,40,10,20} = 10.

428
A figura a seguir resume as etapas dessa iteração (destacando a rota 2):

Além disso, temos que as capacidades residuais ao longo da rota 2 são:


(𝑐12 , 𝑐21 ) = (𝑐12 − 𝑓2 , 𝑐21 + 𝑓2 ) = (20 − 10 , 0 + 10) = (10 , 10)
(𝑐23 , 𝑐32 ) = (𝑐23 − 𝑓2 , 𝑐32 + 𝑓2 ) = (40 − 10 , 0 + 10) = (30 , 10)
(𝑐34, 𝑐43) = (𝑐34 − 𝑓2 , 𝑐43 + 𝑓2 ) = (10 − 10 , 5 + 10) = (0 , 15)
(𝑐45 , 𝑐54 ) = (𝑐45 − 𝑓2 , 𝑐54 + 𝑓2 ) = (20 − 10 , 0 + 10) = (10 , 10)

Esses novos valores aparecerão na rede da próxima iteração. Como ainda existe
fluxo positivo do nó 1 a outros nós, devemos fazer 𝑖 = 1 e retornar para a Etapa 2 (para
calcular uma nova rota de passagem).

Iteração 3:

Etapa 2: os nós que não foram rotulados e podem ser alcançados do nó 1 são os
nós S1 = {2,3,4}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 1 para cada um dos nós de S1 = {2,3,4} são dados
por {10,10,10}. Podemos então escolher qualquer um dos nós. Vamos escolher o nó de
menor índice (isto é, o nó 2). Assim temos que 𝑘 = 2 e 𝑐12 = 10. Com isso, devemos rotular
o nó 𝑘 = 2 com [10,1] (estamos considerando o fluxo de 10 que vem do nó 1). Agora, faça
𝑖 = 𝑘 = 2 e volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 2
são os nós S2 = {3,5}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 2 para cada um dos nós de S2 = {3,5} são dados
por {30, 30}. Novamente, vamos escolher o nó de menor índice (isto é, o nó 3). Assim
temos que 𝑘 = 3 e 𝑐23 = 30. Com isso, devemos rotular o nó 𝑘 = 3 com [30,2] (estamos
considerando o fluxo de 30 que vem do nó 2). Faça 𝑖 = 𝑘 = 3 e volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 3
são os nós S3 = ∅, portanto seguiremos para Etapa 4.

429
Etapa 4: Rota inversa. O rótulo [30,2] do nó 3 indica que o nó que foi rotulado
imediatamente antes foi o nó 𝑖 = 2. Nesse caso, devemos eliminar o rótulo [30,2] do nó
3, e fazer 𝑖 = 𝑟 = 2. Volte para a Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 2
são os nós S2 = {5} (pois o nó 3 foi eliminado na etapa da rota inversa), que é ≠ ∅, portanto
seguiremos para Etapa 3.

Etapa 3: o fluxo residual do nó 2 para cada um dos nós de S2 = {5} é {30}. O máximo
(o maior valor) corresponde ao arco ligando o nó 2 ao nó 5, isto é, o arco (2,5). Portanto,
𝑘 = 5. Com isso, devemos rotular o nó 𝑘 = 5 com [30,2] (estamos considerando o fluxo de
30 que vem do nó 2). Faça 𝑖 = 𝑘 = 5. Como 𝑘 = 𝑛 = 5, então o nó sorvedouro foi rotulado
e uma rota de passagem foi encontrada. Nesse caso, iremos para a Etapa 5.

Etapa 5: determinamos a rota de passagem pelos rótulos que iniciam no nó 5 e


percorrem a rota inversa até o nó 1, ou seja, (5) -> [30,2] -> (2) -> [10,1] -> (1). Isso
significa que N3 = {1,2,5} (são os nós da rota de passagem 3). O fluxo ótimo dessa rota de
passagem 𝑓3 é igual ao valor mínimo entre os rótulos presentes nessa rota, ou seja, o
fluxo ótimo é 𝑓3 = min{∞, 10,30} = 10.

A figura a seguir resume as etapas dessa iteração (destacando a rota 3):

Além disso, temos que as capacidades residuais ao longo da rota 3 são:


(𝑐12 , 𝑐21 ) = (𝑐12 − 𝑓3 , 𝑐21 + 𝑓3 ) = (10 − 10 , 10 + 10) = (0 , 20)
(𝑐25 , 𝑐52 ) = (𝑐25 − 𝑓3 , 𝑐52 + 𝑓3 ) = (30 − 10 , 0 + 10) = (20 , 10)

Esses novos valores aparecerão na rede da próxima iteração. Como ainda existe
fluxo positivo do nó 1 a outros nós, devemos fazer 𝑖 = 1 e retornar para a Etapa 2 (para
calcular uma nova rota de passagem).

430
Iteração 4:

Etapa 2: os nós que não foram rotulados e podem ser alcançados do nó 1 são os
nós S1 = {3,4}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 1 para cada um dos nós de S1 = {3,4} são dados
por {10,10}. Podemos então escolher qualquer um dos nós. Vamos escolher o nó de menor
índice (isto é, o nó 3). Assim temos que 𝑘 = 3 e 𝑐13 = 10. Com isso, devemos rotular o nó
𝑘 = 3 com [10,1] (estamos considerando o fluxo de 10 que vem do nó 1). Faça 𝑖 = 𝑘 = 3 e
volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 3
são os nós S3 = {2} (pois o nó 1 já está rotulado), que é ≠ ∅, portanto seguiremos para
Etapa 3.

Etapa 3: os fluxos residuais do nó 3 para cada um dos nós de S3 = {2} é {10}. O


máximo (o maior valor) corresponde ao arco ligando o nó 3 ao nó 2, isto é, o arco (3,2).
Portanto, 𝑘 = 2. Com isso, devemos rotular o nó 𝑘 = 2 com [10,3] (estamos considerando
o fluxo de 10 que vem do nó 3). Faça 𝑖 = 𝑘 = 2 e volte à Etapa 2.
Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 3
são os nós S2 = {5}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: o fluxo residual do nó 2 para cada um dos nós de S2 = {5} é {20}. O máximo
(o maior valor) corresponde ao arco ligando o nó 2 ao nó 5, isto é, o arco (2,5). Portanto,
𝑘 = 5. Com isso, devemos rotular o nó 𝑘 = 5 com [20,2] (estamos considerando o fluxo de
20 que vem do nó 2). Faça 𝑖 = 𝑘 = 5. Como 𝑘 = 𝑛 = 5, então o nó sorvedouro foi rotulado
e uma rota de passagem foi encontrada. Nesse caso, iremos para a Etapa 5.

Etapa 5: determinamos a rota de passagem pelos rótulos que iniciam no nó 5 e


percorrem a rota inversa até o nó 1, ou seja, (5) -> [20,2] -> (2) -> [10,3] -> (3) -> [10,1] -
> (1). Isso significa que N4 = {1,2,3,5} (são os nós da rota de passagem 4). O fluxo ótimo
dessa rota de passagem 𝑓4 é igual ao valor mínimo entre os rótulos presentes nessa rota,
ou seja, 𝑓4 = min{∞, 10,10,20} = 10.

A figura a seguir resume as etapas dessa iteração (destacando a rota 4):

431
Além disso, temos que as capacidades residuais ao longo da rota 4 são:
(𝑐13 , 𝑐31) = (𝑐13 − 𝑓4 , 𝑐31 + 𝑓4 ) = (10 − 10 , 20 + 10) = (0 , 30)
(𝑐32 , 𝑐23) = (𝑐32 − 𝑓4 , 𝑐23 + 𝑓4 ) = (10 − 10 , 30 + 10) = (0 , 40)
(𝑐25, 𝑐52 ) = (𝑐25 − 𝑓4 , 𝑐52 + 𝑓4 ) = (20 − 10 , 10 + 10) = (10 , 20)

Esses novos valores aparecerão na rede da próxima iteração. Como ainda existe
fluxo positivo do nó 1 a outros nós, devemos fazer 𝑖 = 1 e retornar para a Etapa 2 (para
calcular uma nova rota de passagem).

Iteração 5:

Etapa 2: os nós que não foram rotulados e podem ser alcançados do nó 1 são os
nós S1 = {4}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 1 para cada um dos nós de S1 = {4} é {10}. O


máximo (o maior valor) corresponde ao arco ligando o nó 1 ao nó 4, isto é, o arco (1,4).
Portanto, 𝑘 = 4. Com isso, devemos rotular o nó 𝑘 = 4 com [10,1] (estamos considerando
o fluxo de 10 que vem do nó 1). Faça 𝑖 = 𝑘 = 4 e volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 4
são os nós S4 = {3,5}, que é ≠ ∅, portanto seguiremos para Etapa 3.

Etapa 3: os fluxos residuais do nó 4 para cada um dos nós de S4 = {3,5} são dados
por {15,10}. O máximo (o maior valor) corresponde ao arco ligando o nó 4 ao nó 3, isto é,
o arco (4,3). Portanto, 𝑘 = 3. Com isso, devemos rotular o nó 𝑘 = 3 com [15,4] (estamos
considerando o fluxo de 15 que vem do nó 4). Faça 𝑖 = 𝑘 = 3 e volte à Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 3
são os nós S3 = ∅, portanto seguiremos para Etapa 4.

Etapa 4: Rota inversa. O rótulo [15,4] do nó 3 indica que o nó que foi rotulado
imediatamente antes foi o nó 𝑟 = 4. Nesse caso, devemos eliminar o rótulo [15,4] do nó
3, e fazer 𝑖 = 𝑟 = 4. Volte para a Etapa 2.

Etapa 2: agora, os nós que não foram rotulados e podem ser alcançados do nó 4
são os nós S4 = {5} (pois o nó 3 foi eliminado na etapa da rota inversa), que é ≠ ∅, portanto
seguiremos para Etapa 3.

Etapa 3: o fluxo residual do nó 4 para cada um dos nós de S4 = {5} é {10}. O máximo
(o maior valor) corresponde ao arco ligando o nó 4 ao nó 5, isto é, o arco (4,5). Portanto,
𝑘 = 5. Com isso, devemos rotular o nó 𝑘 = 5 com [10,4] (estamos considerando o fluxo de
10 que vem do nó 4). Faça 𝑖 = 𝑘 = 5. Como 𝑘 = 𝑛 = 5, então o nó sorvedouro foi rotulado
e uma rota de passagem foi encontrada. Nesse caso, iremos para a Etapa 5.

432
Etapa 5: determinamos a rota de passagem pelos rótulos que iniciam no nó 5 e
percorrem a rota inversa até o nó 1, ou seja, (5) -> [10,4] -> (4) -> [10,1] -> (1). Isso
significa que N5 = {1,4,5} (são os nós da rota de passagem 5). O fluxo ótimo dessa rota de
passagem 𝑓5 é igual ao valor mínimo entre os rótulos presentes nessa rota, ou seja, o
fluxo ótimo é 𝑓5 = min{∞, 10,10} = 10.

A figura a seguir resume as etapas dessa iteração (destacando a rota 5):

Além disso, temos que as capacidades residuais ao longo da rota 4 são:


(𝑐14, 𝑐41) = (𝑐14 − 𝑓5 , 𝑐41 + 𝑓5 ) = (10 − 10 , 0 + 10) = (0 , 10)
(𝑐45 , 𝑐54 ) = (𝑐45 − 𝑓5 , 𝑐54 + 𝑓5 ) = (10 − 10 , 10 + 10) = (0 , 20)

Esses novos valores aparecerão na rede da próxima iteração. Como não existe
mais fluxo positivo do nó 1 a outros nós (todos os fluxos residuais que partem do nó 1
são iguais a zero), chegamos à solução do problema.

Iteração 6:
Agora todos os arcos que partem do nó 1 têm fluxos residuais igual a 0, como
mostrado na figura a seguir:

Portanto, não existem mais rotas de passagem e podemos ir para a Etapa 6.


433
Etapa 6: Solução

O fluxo máximo da rede é dado por (é igual à soma dos fluxos ótimos de cada rota
de passagem obtido em cada iteração):
𝐹 = 𝑓1 + 𝑓2 + 𝑓3 + 𝑓4 + 𝑓5 = 20 + 10 + 10 + 10 + 10 = 60

O fluxo ótimo de cada arco é calculado como:


̅ − 𝑐𝑖𝑗 , 𝐶𝑗𝑖̅ − 𝑐𝑗𝑖 )
(𝛼, 𝛽) = (𝐶𝑖𝑗

Em que (𝐶𝑖𝑗
̅ , 𝐶𝑗𝑖̅ ) são as capacidades residuais iniciais (dadas na rede original do
problema) e (𝑐𝑖𝑗 , 𝑐𝑗𝑖 ) são as capacidades residuais finais (dadas na última rede obtida na
Iteração 6). Lembrando que, Se 𝛼 > 0, então o fluxo ótimo no arco (𝑖 , 𝑗) vai de 𝑖 para 𝑗 e
é igual a 𝛼. Caso contrário, se 𝛽 > 0, o fluxo ótimo do arco (𝑖 , 𝑗) vai de 𝑗 para 𝑖 e é igual
a 𝛽. Os fluxos ótimos de cada arco são mostrados na tabela a seguir:

A primeira linha, por exemplo, mostra que no arco (1,2) existe um fluxo de 20 que
vai do nó 1 para o nó 2. E o arco (2,3) não possui fluxo. Note que o fluxo ótimo inicial
(que sai do nó de origem, ou seja, do nó 1) é igual a 60 (= 20 + 30 + 10) e que esse valor
deve ser igual ao fluxo ótimo final (que chega ao nó sorvedouro, ou seja, ao nó 5) que é
igual a 60 (= 20 + 20 + 20).

Observe também que alguns arcos utilizaram toda a sua capacidade e outros não
(compare o fluxo dado na tabela com o fluxo da rede original do problema: note que todos
os arcos utilizam a sua capacidade máxima, com exceção dos arcos (2,5), (2,3), sendo que
este último nem é utilizado). O fato de o arco (2,3) ter fluxo zero demonstra que ele
poderia ser eliminado do projeto (e isso não afetaria o fluxo ótimo de 60).

434
Formulação em Programação Linear para o problema do fluxo máximo

Esta seção apresenta a modelagem em Programação Linear para o problema do


fluxo máximo. É importante ressaltar que a modelagem é bastante parecida com a
utilizada no problema do caminho mínimo.

Considere uma rede que possua 𝑛 nós e desejamos encontrar o fluxo máximo entre
o nó inicial 𝑠 e o nó terminal 𝑡 dessa rede.

Dadas as seguintes notações:

𝑥𝑖𝑗 = quantidade de fluxo no arco (𝑖 , 𝑗)

𝑐𝑖𝑗 = capacidade do arco (𝑖 , 𝑗)

O objetivo (função objetivo) passa a ser determinar 𝑥𝑖𝑗 que maximizará o fluxo
entre o nó inicial 𝑠 e o nó terminal 𝑡, sujeito às restrições de fluxo dadas a seguir:
Fluxo total de entrada = Fluxo total de saída

É importante observar que essa restrição de fluxo acontece em todos os nós, exceto
nos nós 𝑠 e 𝑡.

A função objetivo do problema de programação linear para o cálculo do fluxo


máximo consiste em uma maximização que pode ser tanto do nó inicial 𝑠 quanto do nó
terminal 𝑡. Isso ocorre, pois a maximização da entrada é equivalente à maximização da
saída. Logo, na formulação do problema pode-se usar qualquer uma dessas duas funções
objetivos de maximização (ambas chegarão ao mesmo resultado).

A função objetivo do problema de programação linear se torna para o nó inicial 𝑠:

Max 𝑧1 = ∑ 𝑥𝑖𝑗
para todo (𝑠,𝑗)

Essa expressão demonstra que a função objetivo é de maximização e que os termos


dessa função correspondem aos arcos ligados ao nó inicial 𝑠. Note que os coeficientes
dessa equação são sempre “1” (caso o arco esteja ligado a 𝑠) ou “0” (caso o arco não esteja
ligado a 𝑠).

De forma equivalente, a função objetivo do problema de programação linear se


torna para o nó terminal 𝑡:

Max 𝑧2 = ∑ 𝑥𝑖𝑗
para todo (𝑖,𝑡)

435
Essa expressão demonstra que a função objetivo é de maximização e que os termos
dessa função correspondem aos arcos ligados ao nó terminal 𝑡. Note que os coeficientes
dessa equação são sempre “1” (caso o arco esteja ligado a 𝑡) ou “0” (caso o arco não esteja
ligado a 𝑡).

As restrições são obtidas por meio das equações de conservação do fluxo em cada
nó e devem ser aplicadas apenas aos nós intermediários (a todos os nós com exceção dos
nós inicial 𝑠 e terminal 𝑡). Matematicamente, ela é expressa como:

∑ 𝑥𝑖𝑗 = ∑ 𝑥𝑗𝑘
𝑖 𝑘
todo (𝑖,𝑗) todo (𝑗,𝑘)

O termo do lado esquerdo representa todos os arcos de entrada no nó, enquanto o


termo do lado direito representa todos os arcos de saída desse nó.

Além disso, existe a restrição de capacidade de cada arco (restrição de fluxo), que
impõem um valor limite para cada arco (ou seja, para cada variável de decisão 𝑥𝑖𝑗 ).
Assim, temos que, para todo arco (𝑖 , 𝑗):
𝑥𝑖𝑗 ≤ 𝑐𝑖𝑗

Isto é, todos os arcos (𝑖 , 𝑗) estão limitados a sua capacidade 𝑐𝑖𝑗 .

Para entender essa formulação do problema de programação linear, considere


novamente a rede utilizada no exemplo anterior:

Para a formulação do modelo de fluxo máximo para esse problema, temos que o
nó inicial é 𝑠 = 1 e o nó terminal é 𝑡 = 5.

436
Como discutido anteriormente, existem duas funções objetivo de maximização
diferentes, porém equivalentes. Uma delas associada ao nó inicial 𝑠 = 1:

Max 𝑧1 = ∑ 𝑥𝑖𝑗
para todo (𝑠,𝑗)

Max 𝑧1 = 𝑥12 + 𝑥13 + 𝑥14

Observe que essas variáveis de decisão correspondem aos arcos que estão ligados
diretamente ao nó inicial 𝑠 = 1.

De forma equivalente, a função objetivo associada ao nó terminal 𝑡 = 5 é dada por:

Max 𝑧2 = ∑ 𝑥𝑖𝑗
para todo (𝑖,𝑡)

Max 𝑧2 = 𝑥25 + 𝑥35 + 𝑥45

Observe que essas variáveis de decisão correspondem aos arcos que estão ligados
diretamente ao nó terminal 𝑡 = 5.

É preciso agora aplicar a restrição do fluxo associada a todos os nós (com exceção
do nó inicial 𝑠 = 1 e do nó terminal 𝑡 = 5). Ou seja, elas devem ser aplicadas aos nós 2, 3
e 4. Assim:
Fluxo total de entrada = Fluxo total de saída

∑ 𝑥𝑖𝑗 = ∑ 𝑥𝑗𝑘
𝑖 𝑘
todo (𝑖,𝑗) todo (𝑗,𝑘)

Para o nó 2:
𝑥12 = 𝑥23 + 𝑥25

Note que o arco de entrada para o nó 2 é o (1,2), e os arcos de saída são (2,3) e
(2,5).

Para o nó 3:
𝑥13 + 𝑥23 + 𝑥43 = 𝑥34 + 𝑥35

Note que os arcos de entrada para o nó 3 são (1,3), (2,3) e (4,3), e os arcos de saída
são (3,4) e (3,5). Observe que o arco (4,3) é ao mesmo tempo entrada (do nó 4 para o nó
3, através da variável 𝑥43 ) e saída com o arco (3,4) (do nó 3 para o nó 4, através da
variável 𝑥34 ).

Para o nó 4:
𝑥14 + 𝑥34 = 𝑥43 + 𝑥45

437
Note que os arcos de entrada para o nó 3 são (1,4) e (3,4), e os arcos de saída são
(4,3) e (4,5). Observe novamente que o arco (3,4) é ao mesmo tempo entrada (do nó 3
para o nó 4, através da variável 𝑥34 ) e saída com o arco (4,3) (do nó 4 para o nó 3, através
da variável 𝑥43 ).

Além disso, temos as restrições associadas às capacidades de cada arco (que


aparecem na rede). Assim, temos que:
𝑥12 ≤ 20
𝑥13 ≤ 30
𝑥14 ≤ 10
𝑥23 ≤ 40
𝑥25 ≤ 30
𝑥34 ≤ 10
𝑥35 ≤ 20
𝑥43 ≤ 5
𝑥45 ≤ 20

Reorganizando os termos das restrições (passando as variáveis de decisão pra o


lado esquerdo e as constantes para o lado direito), temos o seguinte problema de
programação linear:
Max 𝑧1 = 𝑥12 + 𝑥13 + 𝑥14
Max 𝑧2 = 𝑥25 + 𝑥35 + 𝑥43
Sujeito às restrições:
𝑥12 − 𝑥23 − 𝑥25 = 0
𝑥13 + 𝑥23 − 𝑥34 − 𝑥35 + 𝑥43 = 0
𝑥14 + 𝑥34 − 𝑥43 − 𝑥45 = 0
𝑥12 ≤ 20
𝑥13 ≤ 30
𝑥14 ≤ 10
𝑥23 ≤ 40
𝑥25 ≤ 30
𝑥34 ≤ 10
𝑥35 ≤ 20
𝑥43 ≤ 5
𝑥45 ≤ 20

438
A solução ótima desse problema usando qualquer uma das funções objetivo é dado
por 𝑧1 = 𝑧2 = 60, que é o fluxo máximo, obtida com 𝑥12 = 20, 𝑥13 = 30, 𝑥14 = 10, 𝑥25 = 20,
𝑥34 = 10, 𝑥35 = 20 e 𝑥45 = 20 (e as demais variáveis de decisão iguais a 0). Note que essa
solução foi a mesma encontrada com o uso do algoritmo do fluxo máximo explicado na
seção anterior.

439
AULA 4 – PERT/CPM

Método do caminho crítico

Existem diversas aplicações de redes na Engenharia. Uma aplicação bastante


importante, que será vista nesta seção, é a utilização da rede para exibir o fluxo das
atividades de um projeto, como o projeto de uma construção ou um projeto de pesquisa
e desenvolvimento. Nesse caso, a teoria de redes pode nos auxiliar no gerenciamento
desses projetos.

No final dos anos 50, foram desenvolvidas duas técnicas de Pesquisa Operacional
baseadas em redes: a PERT (Program Evaluation and Review Technique – Técnica de
Revisão e Avaliação de Programa) e o CPM (Critical Path Method – Método (ou
Algoritmo) do Caminho Crítico). Essas técnicas foram desenvolvidas de forma
independente para auxiliar os gerentes de projetos nas suas atividades (ajudar a
planejar e coordenar as atividades de um projeto, na criação de um cronograma realista
para o projeto e para monitorar o progresso do projeto durante o seu andamento).

Com o passar dos anos, as duas técnicas reuniram o melhor de suas


características passando a se chamar CPM/PERT (muito utilizada nos dias de hoje). De
forma geral, o CPM e o PERT são métodos matemáticos baseados em rede para auxiliar
no planejamento, programação e controle de projetos. Pode-se definir projeto como um
conjunto de atividades que estão inter-relacionadas, em que cada atividade consome
certo tempo e certos recursos.

No Planejamento e Controle da Produção (PCP), o CPM/PERT é utilizado nos


sistemas de produção sob encomenda, principalmente nos produtos unitários de grande
porte (“grandes projetos”) com tempos de operação elevados (por exemplo, para a
fabricação de caldeiras ou de uma represa).

440
Assim, o objetivo do CPM e do PERT é o de fornecer meios analíticos para
programar as atividades do projeto, como mostra a figura a seguir:

A figura mostra as fases para o planejamento de projeto com o CPM/PERT. Note


que, primeiramente, definimos as atividades do projeto, incluindo as suas relações de
precedência (quais as atividades devem ser concluídas para iniciar certa atividade) e
seus requisitos de tempo (quanto tempo é necessário para concluir certa atividade).

Com isso, pode-se representar as atividades (e suas relações de precedência)


através de uma rede, contendo também as suas durações. Tendo a rede, utilizam-se
métodos matemáticos específicos (tal como o CPM e o PERT) para definir as atividades
críticas e não críticas, seguida da programação temporal do projeto (isto é, a
programação temporal das atividades do projeto, que é o resultado, objetivo, ou saída do
cálculo da rede).

A partir da programação temporal é possível definir o cronograma do projeto, por


meio, por exemplo, de um gráfico de Gantt, que contém as atividades no eixo vertical e
seus respectivos tempos de início e de término no eixo horizontal.

É importante observar que, durante a execução do projeto, é comum que as


atividades não ocorram conforme planejado (algumas atividades podem se adiantar ou
se atrasar). Nesse caso, a programação deve ser revisada para refletir a realidade. Por
esse motivo foi colocado o loop de retorno na figura, ligando a programação temporal à
rede.

A diferença fundamental entre essas duas técnicas (CPM e PERT) é que o CPM
considera que a duração das atividades são determinísticas, enquanto a PERT considera
que essas durações são probabilísticas.

A rede da figura, utilizada para representar um projeto, é comumente chamada


de rede de projeto. A rede de projeto é formada por uma série de nós (são os círculos) e
uma série de arcos (são as setas) que conectam dois diferentes nós.

441
Para descrever as atividades do projeto, e consequentemente elaborar a rede de
projeto, são necessárias três tipos de informações fundamentais:

1. Informações sobre as atividades: subdividir o projeto em suas atividades


individuais.
2. Relações de precedência: indicar as atividades predecessoras imediatas de cada
atividade.
3. Informação de tempo: estimar e informar a duração de cada atividade.

Resumindo, para a construção da rede é preciso de três informações: as


atividades, as atividades predecessoras (que precisamos concluir para começar a
atividade) e a duração de cada atividade.

Aqui, representaremos a rede de projeto como atividade-no-arco (ANA). Nesse


tipo de rede, cada atividade é representada por um arco (uma seta ligando dois nós
diferentes). Cada nó é usado para separar uma atividade (um arco de saída do nó) de
cada uma de suas atividades predecessoras imediatas (os arcos de entrada do nó). Assim,
a sequência de arcos mostra as relações de precedência entre as atividades.

Temos então que cada atividade do projeto é representada por um arco que aponta
na direção do desenvolvimento do projeto (da atividade predecessora para a atividade
seguinte). Com isso, temos que os nós da rede estabelecerão as relações de precedência
entre as diversas atividades.

Para construir a rede de projeto, devemos seguir três regras:

 Regra 1: cada atividade deve ser representada por somente um arco.


 Regra 2: cada atividade deve ser identificada por dois nós distintos (ou seja, cada
atividade terá o seu próprio par de nó final e inicial).

442
Para entender essas duas regras, considere a figura a seguir:

Da figura temos que as atividades A e B compartilham o mesmo par de nós final


e inicial (violando a Regra 2). Para aplicar a Regra 2 temos quatro diferentes
configurações de redes envolvendo essas duas atividades (A e B), ou seja, podemos
utilizar qualquer uma dessas quatro configurações para que a construção da rede. Note
que, em qualquer uma das quatro configurações, foi criado um terceiro nó e também
uma atividade fictícia (seta de linha tracejada). A atividade fictícia não consome nem
tempo e nem recurso.

Considere, por exemplo, a primeira representação da figura, na qual o nó inicial


é o nó 1 e o nó final é o nó 3. Note que a atividade A possui um par de nós final e inicial
(1 e 2) diferente da atividade B (1 e 3), atendendo a Regra 2. Note também que ambas
as atividades partem do nó 1 (isso significa que elas possuem as mesmas atividades
precedentes). Depois, como o arco (2,3) é fictício, ou seja, não possui duração e nem
consome recurso, o nó final de ambas as atividades será o nó 3. Dessa forma, as
atividades A e B “saem” do mesmo nó e “entram” no mesmo nó, como mostrado na
representação inicial, mas sem violar a Regra 2. As demais configurações mostradas na
figura tem o mesmo intuito.

443
 Regra 3: para manter as relações corretas de precedência é preciso responder às
seguintes questões quando cada atividade for adicionada à rede:
o (a) Quais atividades devem preceder imediatamente a atividade atual?
o (b) Quais atividades devem vir após a atividade atual?
o (c) Quais atividades devem ocorrer concorrentemente à atividade atual?

As respostas a essas perguntas podem exigir a utilização de atividades fictícias


para que seja garantida as precedências corretas entre as atividades.

Por exemplo, considere o seguinte segmento de um projeto:

1. A atividade C deve começar imediatamente após a conclusão de A e de B.


2. A atividade E pode começar após a conclusão de B.

A figura a seguir mostra duas configurações para essas atividades:

Note que a representação (a) está incorreta em relação à precedência, pois ela
requer que ambas as atividades A e B sejam concluídas para que a atividade E possa
começar (mas, na verdade, apenas a atividade B precisa ser concluída).

A representação correta desse seguimento de projeto é mostrada em (b). Nela foi


incluída uma atividade fictícia D para garantir a relação de precedência correta.
Observe que agora a atividade C depende da conclusão das atividades A e B, enquanto
a atividade E depende apenas da conclusão da atividade B (que são as relações de
precedência do seguimento de projeto considerado).

444
Para entender essas regras para a representação das atividades de um projeto na
forma de rede, considere o seguinte exemplo:

Um autor tem um contrato com uma editora para a publicação de um livro. As


atividades associadas com a produção desse livro são mostradas na tabela a seguir:

Note que são descritas cada uma das atividades (coluna 1), suas atividades
predecessoras (coluna 2) e a duração em semana de cada atividade (coluna 3). Por
exemplo, a atividade F (diagramação do livro) tem duração de 4 semanas (coluna 3) e só
pode ser iniciada após a conclusão da atividade E (coluna 2). A rede associada a esse
projeto é mostrada a seguir:

Note que em cada arco temos uma atividade e sua duração. Por exemplo, o arco
(1,2) apresenta a atividade A e a sua duração é de 3 semanas. No arco (3,4) temos a
atividade E com duração de 2 semanas, sendo que ligados ao nó inicial (3) temos as
atividades predecessoras a ela (A e B) e ligado ao nó final (4) temos a atividade seguinte
a E (atividade F), pois a atividade E é predecessora a F. A introdução do nó fictício (2,3)
serviu para atender a Regra 2 (para que A e B tivessem pares diferentes de nós final e
inicial).

445
A etapa seguinte à obtenção da rede é o cálculo da rede, ou cálculo do caminho
crítico (feito pelo CPM). Assim, o resultado do CPM é a construção da programação
temporal. Para atingir o seu objetivo, devemos executar os cálculos de forma a produzir
as seguintes informações:

1. A duração total para concluir o projeto (tempo mínimo para a conclusão do


projeto).
2. A classificação das atividades do projeto como críticas e não críticas.

Uma atividade é crítica se não houver “folga” na determinação de seus tempos de


início e conclusão. Nesse caso, um atraso na atividade crítica provocará um atraso na
conclusão do projeto. Já uma atividade não crítica permite certa folga na programação,
de modo que o tempo de início dessa atividade possa ser adiantado ou atrasado em
limites que não afetem a conclusão do projeto (desde que estejam dentro dessa folga).

Para realizar os cálculos, definimos um evento como um ponto no tempo em que


as atividades são concluídas (e outras iniciadas). Do ponto de vista de rede, cada evento
corresponderá a cada nó da rede. Assim, definimos:
◻𝑗 = tempo mais cedo da ocorrência do evento 𝑗.

Δ𝑗 = tempo mais tarde da ocorrência do evento 𝑗.

𝐷𝑖𝑗 = duração da atividade (𝑖 , 𝑗).

O tempo mais cedo e o tempo mais tarde da ocorrência do evento 𝑗 são


especificados em relação às datas de início e conclusão do projeto inteiro.

Um caminho em uma rede consiste em uma ou mais rotas seguindo os arcos do


nó inicial até o nó final da rede. O comprimento desse caminho é a soma das durações
das atividades desse caminho. A duração de um projeto é sempre igual ao comprimento
mais longo da rede, o qual é denominado caminho crítico. Ou seja, o caminho crítico
consiste no conjunto de atividades da rede que somadas resultam na maior duração. É
importante observar que se houver mais de um caminho mais longo de igual
comprimento, todos eles serão caminhos críticos.

Ao considerar a rede anterior (do projeto do livro), nota-se que o maior caminho
(comprimento mais longo) é aquele envolvendo as atividades A, E, F, G, I e J (totalizando
3 + 2 + 2 + 2 + 2+ 4 = 15 semanas). Logo, nesse exemplo, o caminho crítico (mais longo)
da rede é o caminho envolvendo as atividades A, E, F, G, I e J, e sua duração é de 15
semanas. Isso significa que as atividades A, E, F, G, I e J são atividades críticas,
enquanto as demais atividades (B, C, D e H) são não críticas (possuem folga).
446
Além disso, temos que o tempo mínimo para a conclusão do projeto (a duração
total necessária para concluir o projeto) é de 15 semanas. A atividade é dita crítica, pois
qualquer atraso que ocorrer nela impactará em um atraso em todo o projeto. Se, por
exemplo, a atividade E for concluída em 3 semanas (ao invés de 2 semanas, ou seja,
atrasou em 1 semana), então a duração do projeto será de 16 semanas (isto é, atrasou
em 1 semana em relação ao previsto).

O algoritmo do caminho crítico possui dois passos: 1-realizar o cálculo no sentido


do nó inicial ao nó final, chamado de forward pass (caminhar para frente), o qual
determina os tempos mais cedo de ocorrência dos eventos e 2-realizar o cálculo no
sentido do nó final ao nó inicial, chamado de backward pass (caminhar para trás), o qual
determina os tempos mais tarde de ocorrência dos eventos.

No forward pass (tempos mais cedo de ocorrência ◻) os cálculos começam do nó 1


e continuam até o nó final 𝑛.

Etapa inicial: nesta etapa, devemos fazer ◻1 = 0 indicando que o projeto começa
no tempo 0.
Etapa geral 𝒋: considere que os nós 𝑝, 𝑞,... e 𝑣 são ligados diretamente ao nó 𝑗 por
atividades de entrada (𝑝 , 𝑗), (𝑞 , 𝑗),... e (𝑣 , 𝑗), e que os tempos de ocorrência mais cedo
dos eventos (nós) 𝑝, 𝑞,... e 𝑣 já foram calculados, então a ocorrência mais cedo do evento
𝑗 é dada por:
◻𝑗 = max[◻𝑝 + 𝐷𝑝𝑗 ,◻𝑞 + 𝐷𝑞𝑗 , … ,◻𝑣 + 𝐷𝑣𝑗 ]

Concluímos o forward pass quando ◻𝑛 no nó 𝑛 tiver sido calculado. Temos que ◻𝑗


representa o caminho (duração) mais longo até o nó 𝑗.

Após a conclusão do forward pass devemos iniciar o backward pass (tempos mais
tarde de ocorrência Δ). Aqui, os cálculos começam do nó 𝑛 e continuam até o nó final 1.

Etapa inicial: nesta etapa, devemos fazer Δ𝑛 = ◻𝑛 indicando que os tempos mais
cedo e mais tarde de ocorrência do último nó do projeto são os mesmos.
Etapa geral 𝒋: considere que os nós 𝑝, 𝑞,... e 𝑣 são ligados diretamente ao nó 𝑗 por
atividades de saída (𝑗 , 𝑝), (𝑗 , 𝑞),... e (𝑗 , 𝑣), e que os tempos de ocorrência mais tarde dos
eventos (nós) 𝑝, 𝑞,... e 𝑣 já foram calculados, então a ocorrência mais tarde do evento 𝑗 é
dada por:
Δ𝑗 = min[Δ𝑝 − 𝐷𝑗𝑝 , Δ𝑞 − 𝐷𝑗𝑞 , … , Δ𝑣 − 𝐷𝑗𝑣 ]

Concluímos o backward pass quando Δ1 no nó 1 tiver sido calculado. Assim, temos


que Δ1 = ◻1 = 0.

447
Após realizar esses cálculos, podemos definir as atividades críticas. Uma
atividade (𝑖 , 𝑗) será crítica se satisfizer as seguintes três condições:

1. Δ𝑖 = ◻𝑖
2. Δ𝑗 = ◻𝑗
3. Δ𝑗 – Δ𝑖 = ◻𝑗 – ◻𝑖 = 𝐷𝑖𝑗

Essas três condições fazem com que os tempos mais cedo e mais tarde de
ocorrência dos nós finais 𝑖 e 𝑗 sejam iguais, e que a duração 𝐷𝑖𝑗 se ajuste ao espaço de
tempo especificado. Logo, uma atividade que não satisfaça alguma das três condições é
uma atividade não crítica. Dessa forma, por definição, as atividades críticas de uma rede
consistem de um caminho ininterrupto que abranja toda a rede (do nó inicial ao nó final).

Para entender o método do caminho crítico, considere o seguinte exemplo:

A rede a seguir apresenta em seus arcos as atividades e as suas respectivas


durações em dias. Determine o caminho crítico para essa rede de projeto.

Em primeiro lugar devemos aplicar o forward pass em todos os nós, partindo do


nó 1.

Forward Pass
Nó 1: devemos fazer □1 = 0.

Nó 2: só podemos alcançar o nó 2 a partir do nó 1, logo □2 = □1 + D1 2 = 0 + 5 = 5.


Ou seja, a maior distância ligando o nó 1 ao nó 2 é igual a 5.

Nó 3: podemos alcançar o nó 3 a partir tanto do nó 1 quanto a partir do nó 2,


portanto □3 = max{ □1 + D1 3 , □2 + D2 3 } = max{ 0 + 6 , 5 + 3} = max{6,8} = 8. Ou seja, a
maior distância ligando o nó 1 ao nó 3 é igual a 8, passando pelo nó 2.

448
Nó 4: podemos alcançar o nó 4 a partir do nó 2, portanto □4 = □2 + D2 4 = 5 + 8 = 13.
Ou seja, a maior distância ligando o nó 1 ao nó 4 é igual a 13, passando pelo nó 2.

Nó 5: podemos alcançar o nó 5 a partir tanto do nó 3 quanto do nó 4, e portanto


□5 = max{ □3 + D3 5 , □4 + D4 5 } = max{ 8 + 2 , 13 + 0} = max{10,13} = 13. Ou seja, a maior
distância ligando o nó 1 ao nó 5 é igual a 13, passando pelo nó 4.

Nó 6: podemos alcançar o nó 6 a partir do nó 3, do nó 4 e de nó 5, e dessa forma


□6 = max{ □3 + D3 6 , □4 + D4 6 , □5 + D5 6 } = max{8 + 11 , 13 + 1 , 13 + 12} = max{19,14,25} =
25. Ou seja, a maior distância ligando o nó 1 ao nó 6 é igual a 25, passando pelo nó 5.

Até agora, os cálculos mostram que o tempo mínimo (caminho mais longo do nó
inicial 1 ao nó final 𝑛 = 6) para o projeto ser concluído é de 25 dias.

Agora devemos aplicar o backward pass em todos os nós, partindo do nó 𝑛 = 6.


Backward Pass
Nó 6: devemos fazer  6 = □6 = 25.

Nó 5: o nó 5 só pode alcançar o nó 6, portanto  5 =  6 – D5 6 = 25 – 12 = 13. Ou seja,


o nó final do nó 5 é o nó 6.

Nó 4: o nó 4 pode alcançar o nó 6 e o nó 5, portanto  4 = min{  6 – D4 6 ,  5 – D4 5 } =


min{25 – 1 , 13 – 0} = min{24,13} = 13. Ou seja, o nó final do nó 4 é o nó 5.

Nó 3: o nó 3 pode alcançar o nó 6 e o nó 5, portanto  3 = min{  6 – D3 6 ,  5 – D3 5 } =


min{25 – 11 , 13 – 2} = min{14,11} = 11. Ou seja, o nó final do nó 3 é o nó 5.

Nó 2: o nó 2 pode alcançar o nó 4 e o nó 3, portanto  2 = min{  4 – D2 4 ,  3 – D2 3 } =


min{13 – 8 , 11 – 3} = min{5,8} = 5. Ou seja, o nó final do nó 2 é o nó 4.

Nó 1: o nó 1 pode alcançar o nó 3 e o nó 2, portanto 1 = min{  3 – D1 3 ,  2 – D1 2 } =


min{11 – 6 , 5 – 5} = min{5,0} = 0. Ou seja, o nó final do nó 1 é o nó 2. Como 1 = 0,
terminamos os cálculos.

449
Esses cálculos do forward pass e do backward pass são mostrados na figura a
seguir:

Agora devemos aplicar as três condições para a atividade ser crítica:

Para a atividade H, isto é, para o arco (5,6):

1. Δ5 = ◻5 = 13
2. Δ6 = ◻6 = 25
3. Δ6 – Δ5 = ◻6 – ◻5 = 25 – 13 = 12 = 𝐷56

Portanto a atividade H, isto é, o arco (5,6) é uma atividade crítica.

Para a atividade G, isto é, para o arco (4,6):

1. Δ4 = ◻4 = 13
2. Δ6 = ◻6 = 25
3. Δ6 – Δ5 = ◻4 – ◻4 = 25 – 13 = 12 ≠ 𝐷46 = 1

Portanto a atividade G, isto é, o arco (4,6) é uma atividade não crítica.

As três condições para as atividades críticas se aplicam também aos arcos (4,5),
(2,4) e (1,2). Note também que no nó 3  3  11  □3 = 8. Isso significa que o nó 3 não poderá
ser nem nó inicial e nem nó final de uma atividade crítica (ou seja, todas as atividades
que passam pelo nó 3 serão não críticas). Temos então que as atividades B, C, E, F e G,
isto é, os arcos (1,3), (2,3), (3,5), (3,6) e (4,6), são atividades não críticas.

450
O caminho crítico é 1 -> 2 -> 4 -> 5 -> 6, ou seja, as atividades A, D e H, que
correspondem aos arcos (1,2), (2,4) e (5,6). Note que a soma das durações das atividades
críticas deve ser igual a 25 dias (= 5 + 8 + 12), que é a duração total necessária para
concluir o projeto (tempo mínimo para a conclusão do projeto).

Vamos agora realizar a construção da programação temporal preliminar do


projeto (que é o resultado, ou saída, do cálculo da rede). Em primeiro lugar, devemos
lembrar que para uma atividade (𝑖 , 𝑗), ◻𝑖 representa o tempo mais cedo de início da
atividade e Δ𝑗 representa o tempo mais tarde de conclusão da atividade. Isso significa
que o intervalo de ◻𝑖 até Δ𝑗 (de duração Δ𝑗 – ◻𝑖 ) define o intervalo de tempo máximo
durante o qual podemos programar a atividade (𝑖 , 𝑗) sem atrasar o projeto inteiro.

Com isso, pode-se obter a programação temporal preliminar para as diferentes


atividades (𝑖 , 𝑗) do projeto considerando os seus respectivos intervalos de tempo (de ◻𝑖
até Δ𝑗 ), como mostra a figura a seguir:

Da programação temporal, é importante observar que:

 As atividades críticas (representadas pelas linhas cheias) devem ser alinhadas


uma após a outra (o fim de uma atividade coincide com o início da outra atividade)
para garantir que o projeto seja concluído dentro de sua duração especificada de
25 dias.
 As atividades não críticas (representadas pelas linhas tracejadas) têm intervalos
de tempo maiores do que suas respectivas durações 𝐷𝑖𝑗 . Isso significa que essas
atividades possuem uma folga (um “espaço de manobra”) para programá-las
dentro de seus intervalos de tempo permitidos.

451
Por exemplo, a atividade B (não crítica) tem duração de 6 dias. A programação
temporal preliminar mostra que ela deve estar concluída até o dia 11 para não haver
atraso no projeto. Isso significa que poderíamos inicia-la em qualquer dia entre o dia 0
e o dia 5. Essa possibilidade nos traz uma folga ou um “espaço de manobra” para a
atividade B (o mesmo raciocínio vale para as demais atividades não críticas).

De qualquer forma, normalmente é preferível começar as atividades não críticas


o mais cedo possível. O fato é que, caso uma atividade não crítica atrase o seu início,
desde que o intervalo de tempo necessário para a conclusão dessa atividade esteja dentro
do intervalo correspondente (linha tracejada) presente na programação temporal
preliminar, então não haverá atrasos na conclusão do projeto.

Suponha agora que as atividades E e F precisem utilizar o mesmo equipamento


(de forma que elas não possam ser executadas ao mesmo tempo). Ao observarmos a
programação temporal preliminar note que podemos eliminar essa sobreposição das
atividades E e F, programando o início de E para o dia 8 (seu tempo mais cedo de início),
fazendo com que E seja concluída no dia 10 e deslocando o início de F para qualquer dia
entre os dias 10 e 14 (para qualquer um desses dias de início, a data de conclusão da
atividade F será menor ou igual a 25).

Redes PERT

Por fim, vamos discutir sobre as redes PERT. Matematicamente, a diferença


entre as redes CPM (que vimos anteriormente) com as redes CPM/PERT (que veremos
agora) é que nas redes CPM as durações das atividades são determinísticas (como visto
no exemplo anterior), enquanto nas redes CPM/PERT consideramos que a duração das
atividades são probabilísticas (variáveis aleatórias).

Nas redes CPM/PERT a duração de uma atividade é obtida a partir de três


estimativas:

1. Tempo otimista: é o valor de 𝑎, que é o tempo de conclusão estimado para a


atividade no caso de a execução do projeto ir muito bem (ou seja, é o tempo mínimo
esperado, que ocorre no “melhor dos casos”).
2. Tempo mais provável: é o valor de 𝑚, que é o tempo mais provável de conclusão
da atividade no caso de a execução do projeto ocorrer em condições normais (ou
seja, é o tempo esperado, que ocorre “em condições normais”).
3. Tempo pessimista: é o valor de 𝑏, que é o tempo estimado de conclusão da
atividade no caso de a execução do projeto ir muito mal (ou seja, é o tempo máximo
esperado, que ocorre no “pior dos casos”).
452
Dessa forma, o intervalo de tempo de 𝑎 até 𝑏 engloba todas as estimativas
possíveis para a duração dessa atividade (ou seja, é quase certo que a duração da
atividade esteja entre 𝑎 e 𝑏). Por exemplo, se 𝑎 = 2 dias e 𝑏 = 8 dias, então é quase certo
que a duração da atividade seja algo entre 2 dias e 8 dias. A estimativa de 𝑚 (tempo
mais provável) deve ser algum valor entre 𝑎 e 𝑏.

O PERT define o tempo médio de duração da atividade 𝐷


̅ e a variância do tempo
de duração da atividade 𝑣 como mostrado a seguir:
𝑎 + 4𝑚 + 𝑏
̅=
𝐷
6
𝑏−𝑎 2
𝑣=( )
6
Agora poderíamos substituir os valores determinísticos das durações de cada
atividade do exemplo anterior pelos valores de 𝑎, 𝑏 e 𝑚 de cada atividade. Com isso,
teríamos uma média e uma variância (se fizermos a raiz quadrada da variância teremos
ainda o desvio padrão) de cada atividade.

Dessa forma, as durações das atividades passariam a ser probabilísticas (cada


atividade com sua própria média e sua própria variância), o que significa que cada
atividade teria um intervalo de tempo de duração e uma distribuição de probabilidades
associada a esse intervalo. Com isso, o resultado para o tempo total mínimo de conclusão
do projeto também seria probabilístico (teria uma média e uma variância).

Assim sendo, os valores constantes das durações das atividades (estimativas


únicas) são substituídas por 𝐷
̅ e os cálculos envolvendo o algoritmo CPM podem ser
aplicados diretamente sobre a rede (tal qual foi feito no exemplo anterior).
É possível ainda estimar a probabilidade de que um nó 𝑗 ocorrerá conforme uma
programação temporal pré-estabelecida 𝑆𝑗 (probabilidade de que a atividade seja
concluída segundo o que foi planejado). Seja 𝑒𝑗 o tempo de ocorrência mais cedo do nó 𝑗.
Deve-se observar que as durações das atividades que levam do nó inicial ao nó 𝑗 são
variáveis aleatórias, e portanto 𝑒𝑗 também deve ser uma variável aleatória.

453
Considerando que todas as atividades da rede são estatisticamente
independentes, pode-se determinar a média 𝐸{𝑒𝑗 } e a variância var{𝑒𝑗 } da seguinte
forma:

 Se só houver um caminho do nó inicial ao nó 𝑗, então a média 𝐸{𝑒𝑗 } é a soma das


durações esperadas 𝐷
̅ de todas as atividades desse caminho, e a variância var{𝑒𝑗 }
é a soma das variâncias 𝑣 de todas as atividades desse caminho.
 Por outro lado, se mais de um caminho levar ao nó 𝑗, é preciso primeiro
determinar a distribuição de probabilidades da duração do caminho mais longo.
Para isso, é preciso calcular a média 𝐸{𝑒𝑗 } e a variância var{𝑒𝑗 } de cada caminho,
selecionando a do caminho até o nó 𝑗 que tenha a maior soma de durações
esperadas, isto é, que tenha a maior média 𝐸{𝑒𝑗 }. Caso dois caminhos ou mais
tenham a mesma média, escolhe-se aquele com maior variância var{𝑒𝑗 } (pois
reflete a situação de maior incerteza, levando a uma estimativa mais
conservadora).

Em seguida, uma vez definidas a média 𝐸{𝑒𝑗 } e a variância var{𝑒𝑗 } do caminho até
o nó 𝑗, é calculada a probabilidade de que o nó 𝑗 seja realizado até um tempo pré-
estabelecida 𝑆𝑗 , através da seguinte fórmula:

𝑒𝑗 − 𝐸{𝑒𝑗 } 𝑆𝑗 − 𝐸{𝑒𝑗 }
𝑃[𝑒𝑗 ≤ 𝑆𝑗 ] = 𝑃 [ ≤ ]
√var{𝑒𝑗 } √var{𝑒𝑗 }

Sabendo que a média µ = 𝐸{𝑒𝑗 } e que o desvio padrão 𝜎 = √var{𝑒𝑗 }, essa expressão
se torna:
𝑒𝑗 − µ 𝑆𝑗 − µ
𝑃[𝑒𝑗 ≤ 𝑆𝑗 ] = 𝑃 [ ≤ ]
𝜎 𝜎
Temos que:
𝑒𝑗 − µ
𝑧=
𝜎
Em que 𝑧 corresponde a uma variável aleatória normal padronizada (ou seja, 𝑧
segue uma distribuição normal). E definindo:
𝑆𝑗 − µ
𝐾𝑗 =
𝜎
Assim:

𝑃[𝑒𝑗 ≤ 𝑆𝑗 ] = 𝑃[𝑧 ≤ 𝐾𝑗 ]

454
Logo, a probabilidade de o nó 𝑗 ser realizado até um tempo pré-estabelecida 𝑆𝑗 é
dada por:

𝑃[𝑧 ≤ 𝐾𝑗 ]

Em que:
𝑆𝑗 − µ
𝐾𝑗 =
𝜎
A variável normal padronizada 𝑧 (com distribuição normal) tem média 0 e desvio
padrão 1. A distribuição normal pode ser utilizada pois 𝑒𝑗 é a soma de variáveis
aleatórias independentes. Com isso, segundo o teorema do limite central, a distribuição
de 𝑒𝑗 pode ser aproximada a uma distribuição normal.

Considere novamente o exemplo anterior:

Observe que a rede é a mesma do exemplo anterior (foram mantidas as relações


de precedência entre as atividades). A diferença é que dessa vez as durações constantes
das atividades são substituídas pelos valores de 𝑎, 𝑚 e 𝑏, apresentados na tabela a seguir
(os quais representam, respectivamente, o tempo otimista, mais provável e pessimista,
para a duração de cada atividade):

Para simplificação do problema, os valores de 𝑎, 𝑚 e 𝑏 foram escolhidos de forma


que o valor médio 𝐷
̅𝑖𝑗 fosse igual à duração constante (dada na rede do problema). Com
isso, os caminhos críticos serão os mesmos encontrados no exemplo anterior.

455
A partir dessa tabela, deve-se calcular o tempo médio e a variância da duração de
cada atividade:
𝑎 + 4𝑚 + 𝑏
̅𝑖𝑗 =
𝐷
6
𝑏−𝑎 2
𝑣𝑖𝑗 = ( )
6
Para a atividade A (arco 𝑖 = 1 e 𝑗 = 2):
3+4∙5+7
̅12 =
𝐷 =5
6
7−3 2
𝑣12 =( ) = 0,444
6
Para a atividade B (arco 𝑖 = 1 e 𝑗 = 3):
4+4∙6+8
̅13 =
𝐷 =6
6
8−4 2
𝑣13 =( ) = 0,444
6
Para a atividade C (arco 𝑖 = 2 e 𝑗 = 3):
1+4∙3+5
̅23 =
𝐷 =3
6
5−1 2
𝑣23 = ( ) = 0,444
6
(⋮ )

A tabela a seguir apresenta a média 𝐷


̅𝑖𝑗 e a variância 𝑣𝑖𝑗 calculadas para cada
atividade. É importante observar que para a atividade fictícia (4,5) os valores de 𝑎, 𝑚 e
𝑏 são todos iguais a zero, e consequentemente a média e a variância também são iguais
a zero.

Agora é preciso encontrar o caminho mais longo entre o nó 1 e os demais nós (2,
3, 4, 5 e 6). Para cada caminho é preciso encontrar a média 𝐸{𝑒𝑗 } e a variância var{𝑒𝑗 }
como sendo as somas das médias 𝐷 ̅𝑖𝑗 e das variâncias 𝑣𝑖𝑗 de todos os arcos pertencentes
a esse caminho. Em seguida, calcula-se o desvio padrão como 𝜎 = √var{𝑒𝑗 }.

456
O caminho mais longo entre o nó 1 e o nó 2 é o próprio caminho (1,2) da tabela
anterior, cuja média é 𝐸{𝑒2 } = 5 e a variância é var{𝑒2 } = 0,444. Assim, o desvio padrão é
dado por 𝜎 = √var{𝑒2 } = √0,444 = 0,67.

Entre o nó 1 e o nó 3 existem 2 caminhos: o caminho passando pelo arco (1,2) e


(2,3), cuja média é dada por 5 + 3 = 8; e o caminho (1,3) cuja média é 6. Portanto, o
caminho mais longo entre o nó 1 e o nó 3 é o caminho 1 -> 2 ->3, cuja média é 𝐸{𝑒3 } = 8
e a variância é var{𝑒3 } = 0,444 + 0,444 = 0,888. Assim, o desvio padrão é calculado como
𝜎 = √var{𝑒3 } = √0,888 = 0,94.

O caminho mais longo entre o nó 1 e o nó 4 é o caminho 1 -> 2 ->4, cuja média é


𝐸{𝑒4 } = 5 + 8 = 13 e a variância é var{𝑒4 } = 0,444 + 1 = 1,444. Assim, o desvio padrão é
calculado como 𝜎 = √var{𝑒4 } = √1,444 = 1,2.

O caminho mais longo entre o nó 1 e o nó 5 é o caminho 1 -> 2 ->4 -> 5, cuja média
é 𝐸{𝑒5 } = 5 + 8 + 0 = 13 e a variância é var{𝑒5 } = 0,444 + 1 + 0 = 1,444. Assim, o desvio
padrão é calculado como 𝜎 = √var{𝑒5 } = √1,444 = 1,2.

O caminho mais longo entre o nó 1 e o nó 6 é o caminho 1 -> 2 ->4 -> 5 -> 6, cuja
média é 𝐸{𝑒6 } = 5 + 8 + 0 + 12 = 25 e a variância é var{𝑒6 } = 0,444 + 1 + 0 + 0,444 = 1,888.
Assim, o desvio padrão é calculado como 𝜎 = √var{𝑒6 } = √1,888 = 1,37.

A tabela a seguir resume todos esses resultados, apresentando o caminho mais


longo (com base nas médias) entre o nó 1 e os demais nós, incluindo o tempo médio e o
desvio padrão de cada caminho.

Considere que um analista tenha especificado o tempo 𝑆𝑗 referente a cada nó. A


partir daí é possível calcular a probabilidade de que cada nó seja realizado até o tempo
𝑆𝑗 especificado pelo analista. Considere 𝑆2 = 5, 𝑆3 = 11, 𝑆4 = 12, 𝑆5 = 14 e 𝑆6 = 26.
Tendo como base a tabela anterior, pode-se calcular cada uma das probabilidades
da seguinte forma:
𝑃[𝑒𝑗 ≤ 𝑆𝑗 ] = 𝑃[𝑧 ≤ 𝐾𝑗 ]
Em que:
𝑆𝑗 − µ
𝐾𝑗 =
𝜎
457
Para o nó 2:
𝑆2 − µ 5 − 5
𝐾2 = = =0
𝜎 0,67
Então:
𝑃[𝑒2 ≤ 𝑆2 ] = 𝑃 [𝑧 ≤ 0]
A tabela da distribuição normal para valores de 𝐾𝑗 positivos é dada por:

Para 𝑧 ≤ 0 a tabela apresenta o valor 0,5, logo:


𝑃[𝑒2 ≤ 𝑆2 ] = 𝑃 [𝑧 ≤ 0] = 0,5
Isso significa que a probabilidade de as atividades anteriores ao nó 2 terminarem
dentro do tempo pré-estabelecido 𝑆2 = 5 dias é de 0,5 (50%).

Para o nó 3:
𝑆3 − µ 11 − 8
𝐾3 = = = 3,19
𝜎 0,94
458
Então:
𝑃 [𝑒3 ≤ 𝑆3 ] = 𝑃 [𝑧 ≤ 3,19]
Para 𝑧 ≤ 3,19 a tabela apresenta o valor 0,9993, logo:
𝑃[𝑒3 ≤ 𝑆3 ] = 𝑃 [𝑧 ≤ 3,19] = 0,9993
Isso significa que a probabilidade de as atividades anteriores ao nó 3 terminarem
dentro do tempo pré-estabelecido 𝑆3 = 11 dias é de 0,9993 (99,93%).

Para o nó 4:
𝑆4 − µ 12 − 13
𝐾4 = = = −0,83
𝜎 1,2
Então:
𝑃[𝑒4 ≤ 𝑆4 ] = 𝑃 [𝑧 ≤ −0,83]
A tabela da distribuição normal para valores de 𝐾𝑗 negativos é dada por:

459
Para 𝑧 ≤ −0,83 a tabela apresenta o valor 0,2033, logo:
𝑃[𝑒4 ≤ 𝑆4 ] = 𝑃[𝑧 ≤ −0,83] = 0,2033
Isso significa que a probabilidade de as atividades anteriores ao nó 4 terminarem
dentro do tempo pré-estabelecido 𝑆4 = 12 dias é de 0,2033 (20,33%).

Para o nó 5:
𝑆5 − µ 14 − 13
𝐾5 = = = 0,83
𝜎 1,2
Então:
𝑃 [𝑒5 ≤ 𝑆5 ] = 𝑃 [𝑧 ≤ 0,83]
Para 𝑧 ≤ 0,83 a tabela apresenta o valor 0,7967, logo:
𝑃[𝑒5 ≤ 𝑆5 ] = 𝑃 [𝑧 ≤ 0,83] = 0,7967
Isso significa que a probabilidade de as atividades anteriores ao nó 5 terminarem
dentro do tempo pré-estabelecido 𝑆5 = 14 dias é de 0,7967 (79,67%).

Para o nó 6:
𝑆6 − µ 26 − 25
𝐾6 = = = 0,73
𝜎 1,37
Então:
𝑃 [𝑒6 ≤ 𝑆6 ] = 𝑃 [𝑧 ≤ 0,73]
Para 𝑧 ≤ 0,73 a tabela apresenta o valor 0,7673, logo:
𝑃[𝑒6 ≤ 𝑆6 ] = 𝑃 [𝑧 ≤ 0,73] = 0,7673
Isso significa que a probabilidade de as atividades anteriores ao nó 6 terminarem
dentro do tempo pré-estabelecido 𝑆6 = 26 dias é de 0,7673 (76,73%).

A tabela a seguir resume todos esses resultados:

Dessa forma, considerando a conclusão do projeto, que tem média 25 dias e desvio
padrão de 1,37 dias, a probabilidade de o projeto ser concluído em até 26 dias é de 0,7673.

460
EXERCÍCIOS DE FIXAÇÃO – CAPÍTULO 7
(1) FCC - 2012 - TRT - Tecnologia da Informação

A estrutura de dados chamada grafo consiste num conjunto de nós (ou vértices) e num
conjunto de arcos (ou arestas). Cada arco em um grafo é especificado por um par de nós.
Se os pares de nós que formam o arco forem pares ordenados, diz-se que o grafo é

A. incidente.

B. ponderado.

C. adjacente.

D. orientado.

E. sucessor.

(2) Questão de Prova Antiga

Considere uma rede contendo 5 nós (A, B, C, D e E), cujas ligações são mostradas a
seguir:

É afirmado que:

I- É uma rede orientada.

II- É uma rede conectada.


III- É uma árvore.

IV- É uma árvore geradora.

São corretas as afirmações:

A. I e II, apenas.

B. III e IV, apenas.

C. I, III, apenas.

D. I, II e III, apenas.

E. I, II, III e IV.

461
(3) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior

Um centro de distribuição de mercadorias, localizado no nó O, necessita suprir todas as


lojas e supermercados localizados nos demais nós. As rotas possíveis, com as respectivas
distâncias em quilômetros, são representadas na malha abaixo.

Sabendo-se que apenas um caminhão irá realizar todas as entregas, o menor percurso
da viagem de ida, em km, é de

A. 140
B. 150

C. 170

D. 180

E. 190

462
(4) CESGRANRIO - 2012 - EPE - Analista de Pesquisa Energética

A tabela acima apresenta o resultado da aplicação do algoritmo de Dijkstra para a


obtenção do caminho mínimo para o deslocamento entre diversas cidades.

A partir dos dados da tabela, conclui-se que


A. a menor distância entre as cidades A e F é de 15 km.

B. o menor caminho entre as cidades A e D é de 2 km.

C. um viajante deverá passar obrigatoriamente na cidade C, para percorrer o menor


caminho entre as cidades A e F.

D. um viajante deverá se deslocar na sequência A – B – E – F, para percorrer o menor


caminho entre as cidades A e F.

E. um viajante terá que se deslocar 5 km, para percorrer o menor caminho entre a cidade
B e a cidade E.

463
(5) Questão de Prova Antiga

Considere a rede a seguir, que mostra a distância em km entre diferentes cidades:

Assinale a alternativa que apresenta o comprimento total mais curto ligando todos os
nós (árvore geradora mínima):

A. 12 km.

B. 14 km.

C. 16 km.

D. 18 km.

E. 20 km.

464
(6) FUNDATEC – 2016 – POSCOM – Pós-graduação em Computação

A Figura (a) abaixo mostra o exemplo de um grafo não direcionado G com os pesos
mostrados ao lado de cada aresta. Sobre a árvore T representada na Figura (b), é correto
afirmar que:

A. T representa a árvore geradora mínima do grafo da Figura (a) cujo peso total é 12. T
não é única, pois a substituição da aresta (3,5) pela aresta (2,5) produz outra árvore
geradora de custo 12.

B. T representa a árvore de caminhos mais curtos entre todos os pares de vértices do


grafo da Figura (a). T não é única, pois a substituição da aresta (3,5) pela aresta (2,5)
produz caminhos mais curtos entre os mesmos pares de vértices do grafo.

C. T representa a árvore geradora mínima do grafo da Figura (a) cujo peso total é 12. A
substituição da aresta (3,5) pela aresta (2,4) produz uma árvore geradora máxima cujo
peso total é 14.

D. T representa a árvore de caminhos mais curtos do grafo da Figura (a) com origem
única no vértice 2. T não é única, pois a substituição da aresta (3,5) pela aresta (2,4)
produz caminhos mais curtos entre todos os pares de vértices do grafo.

465
(7) Questão de Prova Antiga

A rede a seguir apresenta as distâncias entre as cidades em km:

Assinale a alternativa que apresente a menor distância (ou seja, o comprimento da


menor rota) ligando a Cidade 4 à Cidade 8:

A. A distância mais curta entre as Cidades 4 e 8 é igual a 7 km.

B. A distância mais curta entre as Cidades 4 e 8 é igual a 8 km.

C. A distância mais curta entre as Cidades 4 e 8 é igual a 9 km.

D. A distância mais curta entre as Cidades 4 e 8 é igual a 10 km.

E. A distância mais curta entre as Cidades 4 e 8 é igual a 11 km.

466
(8) FCM - 2016 - IF Farroupilha - RS - Docente - Pesquisa Operacional/Finanças

Uma empresa de construção civil venceu uma concorrência para a construção de um


hospital público. De acordo com a experiência da empreiteira, a seguinte lista de
atividades, com seus respectivos tempos de duração e de atividades precedentes (quando
existe), foi elaborada para o planejamento da fase preliminar do projeto:

Sabe-se que algumas atividades podem ser realizadas em paralelo. Então, o menor
tempo de conclusão do projeto, ou seja, o comprimento do caminho crítico é igual a

A. 10.

B. 17.

C. 20.

D. 23.

E. 33.

467
(9) ENADE 2017 – Engenheiro de Produção

A figura a seguir apresenta o trecho de um diagrama de rede utilizado para representar


as atividades de um projeto de instalações prediais, com o tempo dado em dias.

Com relação ao diagrama de rede, avalie as afirmações a seguir.

I. As relações de dependência entre as partes de água e esgoto, elétrica e de telefonia


estão presentes no diagrama.

II. Os dados apresentados permitem concluir que o caminho crítico corresponde a 16


dias.

III. A conclusão da atividade de instalação de esgotos é suficiente para se iniciar a


atividade de colocação de louças e metais.

É correto o que se afirma em

A. I, apenas.

B. III, apenas.

C. I e II, apenas.

D. II e III, apenas.

E. I, II e III.

468
(10) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior

Em um determinado projeto, o lançamento de um novo produto foi programado, de


acordo com o tempo necessário para sua execução. A Figura abaixo representa a rede
PERT desse projeto, com as atividades e as respectivas durações (em dias). A fase 1
representa a etapa inicial, e a fase 6 diz respeito ao lançamento do produto.

Com base no conceito do caminho crítico, a sequência de atividades a que o gestor do


projeto deve dispensar maior atenção, a fim de lançar o produto no prazo previsto é

A. A – G – I

B. B – D – G – I

C. B – E – H – I

D. C – H – I

E. B – F – I

469
(11) CESGRANRIO - 2014 - Petrobras - Engenheiro de Produção Júnior

Uma equipe está atuando em um projeto de mitigação dos riscos ambientais. A duração
e a precedência de cada atividade a ser realizada estão descritas na Tabela abaixo.

Elaborando-se o diagrama de precedência com base na Tabela, a previsão de duração,


em dias, do projeto é

A. 15

B. 16

C. 17

D. 18

E. 19

470
(12) CESGRANRIO - 2018 - Transpetro - Engenheiro de Produção Júnior

Considere a rede de projeto da Figura abaixo, onde as durações de cada atividade estão
indicadas em semanas entre parênteses.

Tem(êm) folga a(s) atividade(s)

A. F
B. B

C. D

D. A e C

E. E e F

471
(13) ENADE 2019 – Engenheiro de Produção

No projeto de construção de uma casa, o tempo de duração de cada etapa foi modelado
por uma distribuição triangular com os tempos mínimos, os mais prováveis e os
máximos. Nesse projeto, cada etapa pôde ser iniciada assim que a etapa precedente
estivesse concluída.

O quadro a seguir apresenta as etapas, os tempos de duração e as precedências de etapas


do projeto.

Com base nessas informações, o tempo de duração mínimo, o mais provável e o máximo
do projeto são, respectivamente,

A. 7, 12 e 16.

B. 7, 12 e 17.

C. 7, 13 e 16.

D. 8, 12 e 16.

E. 8, 13 e 17.

GABARITO

(1) D (2) C (3) B (4) D (5) B (6) A (7) B (8) D (9) A (10) D (11) C (12) C

(13) A

472
BIBLIOGRAFIA

ANDRADE, E. L. Introdução à Pesquisa Operacional: Métodos e Modelos para Análise


de Decisões. 5ª edição. São Paulo: LTC, 2015.

ARENALES, M.; ARMENTANO, V. A.; MORABITO, R.; YANASSE, H. H. Pesquisa


Operacional para Cursos de Engenharia. 1ª edição. Rio de Janeiro: Elsevier: ABEPRO,
2011.

BARBOSA, Marcos; ZANARDINI, Ricardo. Iniciação à Pesquisa Operacional no


Ambiente de Gestão. 3a Edição. Rio de Janeiro: Interciência. 2015.

HILLIER, Frederick S.; LIEBERMAN, Gerald J. Introdução à Pesquisa Operacional. 9a


Edição. Porto Alegre: AMGH. 2013.

LACHTERMACHER, Gerson. Pesquisa Operacional na Tomada de Decisões. 5a Edição.


Rio de Janeiro: LTC. 2018.

LOESCH, Cláudio; HEIN, Nelson. Pesquisa Operacional: Fundamentos e Modelos. 1 a


Edição. São Paulo: Saraiva. 2009.

LONGARAY, André A. Introdução à Pesquisa Operacional. 1a Edição. São Paulo:


Saraiva. 2013.

SILVA, Ermes M.; SILVA, Elio M.; GONÇALVES, Valter; MUROLO, Afrânio C.
Pesquisa Operacional: Programação Linear: Simulação. 5a Edição. São Paulo: Atlas.
2017.

TAHA, Hamdy A. Pesquisa Operacional. 8a Edição. São Paulo: Pearson Prentice Hall.
2008.

473

Você também pode gostar