Você está na página 1de 29

1

Alvaro Horowicz Martins

PESQUISA OPERACIONAL E
TEORIA DE JOGOS NA TOMADA
DE DECISÃO

Florianópolis – SC
2022

2
Copyright © Faculdade de Tecnologia AEROTD 2022

Nenhuma parte desta publicação pode ser reproduzida por qualquer meio sem a prévia autorização desta
instituição.

Edição – Livro Didático

Professor Conteudista
Alvaro Horowicz Martins

Design Instrucional
Sandra Mazutti

ISBN
000-00-0000-000-0

Projeto Gráfico e Capa


Marcos Elias

Diagramação
Marcos Elias

Revisão
Juliana Bordinhão Diana

Martins, Alvaro Horowicz


Pesquisa Operacional e Teoria de Jogos na Tomada de Decisão
/ Alvaro Horowicz Martins. –
Florianópolis: Publicações AEROTD, 2022.
Inclui Bibliografia.
1. Teoria de Jogos. 2. Aviação. I. Título.

CDU:
Ficha catalográfica elaborada pela Biblioteca Faculdade AEROTD

3
SUMÁRIO
UNIDADE I – PESQUISA OPERACIONAL....................................................................................... 6
1.1. INTRODUÇÃO ................................................................................................................... 6
1.1.1 Histórico .................................................................................................................... 7
1.1.2 Algoritmos ................................................................................................................. 8
1.1.3 Usos........................................................................................................................... 8
1.2 MODELAGEM ................................................................................................................... 9
1.3 PROGRAMAÇÃO LINEAR – MÉTODO GRÁFICO .............................................................. 11
1.3.1 Exemplo ................................................................................................................... 11
1.4 PROGRAMAÇÃO LINEAR – MÉTODO SIMPLEX .............................................................. 18
1.4.1 Álgebra Simplex com o Exemplo ............................................................................... 19
1.4.2 Exemplo ................................................................................................................... 22
1.5 OUTRAS TÉCNICAS ......................................................................................................... 27

4
APRESENTAÇÃO

Caro estudante, SEJA BEM-VINDO!


Esta é a disciplina de Pesquisa Operacional e Teoria de Jogos na Tomada de Decisão que
tem como objetivo estudar os conceitos sobre pesquisa operacional e teoria dos jogos ao
aluno, com aplicação na área aeronáutica.
Esta disciplina está dividida nas seguintes unidades de estudo:
Unidade I: Pesquisa Operacional
Unidade II: Teoria de Jogos
Unidade III: Tomada de Decisão
Espera-se que, ao final da disciplina, você tenha compreendido os conceitos de pesquisa
operacional e teoria de jogos visando a tomada de decisão.
Lembre-se de que você não estará só nesse processo, estarei com você em cada
unidade, motivando-o na sua caminhada, prestando as orientações, alimentando você com
informações e sanando as dúvidas que poderão surgir no decorrer da disciplina.
Encontro você nas webs conferências, nos nossos encontros previamente agendados na
sala de aula virtual e no polo de apoio presencial.

Bons estudos!

Prof. Msc. Alvaro Horowicz Martins

5
UNIDADE I – PESQUISA OPERACIONAL

Apresentação da Unidade I

Olá, vamos dar início à disciplina de Pesquisa Operacional e Teoria de Jogos na Tomada
de Decisão pela Unidade I sobre Pesquisa Operacional. Começaremos por entender o que é
pesquisa operacional e como ela pode ser aplicar ao setor aeronáutico. Você verá as origens,
como ela se desenvolveu, algumas das técnicas e a aplicação prática com exercícios e
exemplos.

Vou lhe ajudar falando mais sobre o assunto. Vem comigo!

1.1.INTRODUÇÃO
A pesquisa operacional é utilizada mundo a fora por inúmeras empresas para estudar
as melhores ações a serem tomadas em problemas simples e complexos. Mas o que é
pesquisa operacional? Tome, como exemplo, o trabalho administrativo de alguém em uma
companhia aérea. Esse trabalho pode passar pelo fornecimento de peças em diferentes
aeroportos, montagem de escalas de tripulantes, formação do “cost-index” (índice de custo)
das aeronaves, abastecimento das aeronaves, dentre outros. O que todas essas atividades
possuem em comum? Há a necessidade de se estudar o problema, entendê-lo, modelá-lo e
encontrar soluções viáveis para o problema. A síntese de como isso tudo pode ser resolvido
vai desde o empirismo, tentativa e erro até um método científico e muito estudado que
iremos ver agora, a Pesquisa Operacional. O que veremos, daqui em diante, são as formas
mais comuns de se resolver problemas utilizando diferentes modelos e métodos. O intuito
desse livro não é esgotar o assunto, tão pouco aprofundá-lo a ponto de tornar você, caro
aluno, em um expert no assunto, mas sim de abrir a sua mente às diferentes possibilidades
existentes de se resolver um problema, ou mesmo buscar o caminho suficientemente
eficiente, pois, apesar de existir o caminho mais curto, nem sempre ele é o mais barato e a
busca do ótimo por vezes pode ser utópica. Como já dizia Samuel Eilon, um pesquisador de
PO, "Otimizar é a ciência do ideal; satisficing é a arte do factível.". Fique com essa frase em
mente e venha comigo buscar entendê-la no decorrer da disciplina.

6
Figura 1 – Mundo Conectado e Complexo

Fonte: Pixabay, Geralt, 2022

1.1.1 Histórico
Desde o início do século passado, com a crescente industrialização, os pequenos
artesãos foram dando lugar a empresas e corporações cada vez maiores, que necessitavam de
cada vez mais pessoas, de divisão de tarefas e que, dado o alto grau de especialização, foram
sendo criados setores que passaram a se desenvolver a ponto de seus membros perderem a
noção do quanto as suas ações dependiam da empresa e esta do setor. Esse tipo de
crescimento ocorreu em praticamente toda a sociedade, independentemente do ramo. Na
metade do século passado, com a segunda guerra mundial, os recursos que eram escassos,
tinham que ser muito bem empregados, visando um ganho máximo de eficiência. Neste
momento, ainda sem a alcunha de pesquisa operacional, vários estudiosos já visavam a melhor
maneira de se empregar recursos para a obtenção de resultados ótimos. O termo “Pesquisa
Operacional” é derivado dos estudos feitos nas missões da guerra, sendo, portanto,
originalmente utilizada a expressão “Pesquisas sobre operações militares”. No pós-guerra, ao
se verificar como os métodos foram eficientes na alocação de recursos militares, seja em
batalhas aéreas, seja em posicionamento de tropas ou submarinos, a Pesquisa Operacional
(PO) se popularizou no âmbito civil. Muitos dos cientistas que se envolveram no período bélico,
voltaram seus esforços na utilização destes conceitos em empresas que, como dito
anteriormente, não mais eram compostas por artesãos, mas sim por muitos conglomerados
que continham centenas ou milhares de colaboradores pelo mundo, envolvendo cadeia de
suprimentos, estoques, entregas e produções. Dá para perceber os desafios que as empresas

7
passavam no pós-guerra, em um período que computadores ainda existiam apenas no âmbito
acadêmico ou militar.

1.1.2 Algoritmos
A utilização da pesquisa operacional consiste em diversos algoritmos, isto é, métodos
lógicos a serem seguidas visando atingir um objetivo. Dentre esses métodos, o Simplex, criado
em 1947, por George Dantzig, é muito conhecido e utilizado até hoje. O Método Simplex visa
resolver problemas por meio da programação linear. Há também a Teoria das Filas, Teoria do
Inventário, Programação Dinâmica, Programação Linear, dentre outros. Neste livro não
focaremos na resolução de todos os tipos, mas asseguro que apresentarei aqueles que
considero imprescindível para o seu futuro, seja você piloto, analista, gestor, mecânico, ou a
função que venha assumir.

1.1.3 Usos
A utilização da Pesquisa Operacional se dá por uma metodologia científica. Não veja a
frase anterior como algo intimidador, pelo contrário, a ideia é mostrar para você que aqui
seguiremos algumas etapas bem lógicas e por que não, criativas. Apenas para um melhor
entendimento, o Curso de Ciências Aeronáuticas possui Ciências no nome justamente por
estudar uma área do conhecimento, explorando seus diferentes setores. Aqui a ideia é aplicar
esse conceito à Pesquisa Operacional, isto é, observaremos um processo específico,
formularemos o problema, coletaremos dados, construiremos um modelo matemático e
consideraremos que este modelo representa razoavelmente a realidade. Com esse modelo
matemático podemos fazer predições, alterando certos valores de entrada. Pronto, você
acabou de ver uma metodologia! Não é difícil e facilitará muito o entendimento. Certamente
você se recorda das suas aulas do Ensino Médio quando, em exercícios de física, seu Professor
pedia que você determinasse em quanto tempo um determinado carro chegaria em seu
destino ao considerar a sua velocidade e a distância a ser percorrida. Esse caso bem simples
se trata de um modelo matemático onde, por meio de equações, se criou um modelo que
retrata, em um caso específico, como algo se comporta.

8
1.2 MODELAGEM
Continuando a questão dos usos, onde foi comentado sobre os modelos, agora iremos
ver como eles podem ser construídos. A primeira coisa que temos que ter em mente é o
entendimento do problema, isto é, um estudo aprofundado deve ser feito e, claro, isso requer
tempo e ocorre em etapas. Primeiro se inicia com um esboço do problema a ser atacado,
posteriormente reuniões podem ser feitas visando o melhor entendimento da questão com
outras áreas da empresa e com especialistas que lidam diretamente com o assunto. Uma vez
mapeado o problema, parte-se para a modelagem. Aqui teremos alguns conceitos importantes
que gostaria que fosse bem fixado por você!

Imagine agora a famosa equação das Forças, utilizada na Física.

𝐹 =𝑚∙𝑎

As variáveis 𝑚 e 𝑎 podem ser consideradas como variáveis de decisão.

Já a função 𝐹 pode ser chamada de função objetivo.

É lógico que esta não é a questão que buscamos resolver, queremos aplicações mais
práticas para o dia a dia de uma empresa, como por exemplo a maximização do lucro.

Veja, portanto, como seria uma equação com 𝑛 variáveis de decisão em uma função
objetivo:

𝑃 = 2𝑥1 + 5𝑥2 − 3𝑥3 + 9𝑥4 + ⋯ + 𝑥𝑛

𝑃 é a nossa função objetivo

𝑥1 , 𝑥2 … 𝑥𝑛 são as variáveis de decisão

O 2 que acompanha o 𝑥1 em 2𝑥1 , assim como o 5 em 5𝑥2 , são os parâmetros.

Ainda podemos ter restrições em algumas das variáveis, como por exemplo:

2𝑥1 + 5𝑥2 ≥ 12
𝑥3 < 5

Mas e agora? Como eu defino quem são as minhas variáveis de decisão na minha função
objetivo, como eu coloco as restrições e como eu defino os parâmetros?
9
Essa é uma parte desafiadora, admito, e que veremos no decorrer desta unidade.
Adianto que não há uma única resposta certa para a modelagem de um problema,
contudo ela tem que ser validada, testada quanto ao seu desempenho.
Quer ver um caso interessante sobre a aplicabilidade da Pesquisa Operacional? A antiga
empresa aérea Continental Airlines (atual United), utilizou em 2001 um sistema de escalação
de tripulantes feito com base em PO. Imagine só uma empresa de dezenas de milhares de
tripulantes, centenas de aeronaves, milhares de voos diários; variáveis de decisão na ordem
de milhões, restrições na ordem de milhares. Inviável de se calcular à mão. Quando tudo
ocorria bem, não havia problemas, agora quando havia uma emergência, como nevascas ou
enchentes, tornava-se impossível que o setor de escalas pudesse realizar o trabalho de
maneira ótima. Nesse momento entrava em uso o sistema feito em PO. Estima-se que com o
uso do sistema, a Continental Airlines pôde economizar cerca de 40 milhões de dólares em
cerca de 1 ano.

Como você imaginaria o mundo hoje caso não tivéssemos pesquisa


operacional? Você consegue imaginar quantas empresas já teriam sucumbido
dada a sua ineficiência? Você consegue imaginar os custos elevados na
aquisição de algum produto ou prestação de serviço por conta de um mal
planejamento? Pense nisso e veja como a pesquisa operacional ajuda o dia a
dia de toda a sociedade!

_________________________________________________________________

10
1.3 PROGRAMAÇÃO LINEAR – MÉTODO GRÁFICO
A programação linear é o algoritmo mais comum na pesquisa operacional. De forma
resumida podemos dizer que, a partir de recursos limitados, se busque o melhor resultado
possível. Vale ressaltar que os recursos limitados competem entre si, isto é, haverá um trade-
off, ao se optar por algo em detrimento à outra opção. O termo “linear” indica que as equações
que fazem parte do modelo são matematicamente lineares. A programação linear pode ser
resolvida de alguns métodos, veremos como podemos resolver alguns de forma gráfica, e
outros pelo método simplex. Todos os exercícios que veremos aqui serão, ou resolvidos à mão,
ou resolvidos por programas de computador como o Excel. É possível utilizar linguagens de
programação e/ou softwares específicos como Matlab e Scilab, mas não é o objetivo desse
livro. Caso você queira aprofundar seus estudos no assunto deixei nas referências
bibliográficas dessa Unidade livros que são de grande valia no aperfeiçoamento da área.

1.3.1 Exemplo
É possível a resolução de problemas simples de programação linear por meio de gráficos.
Esse método permite com que o problema que está sendo pesquisado seja resolvido ao se
plotar as restrições em um gráfico, encontrar a região viável, caso exista, para posteriormente
encontrar o ponto ótimo, que pode ser o mínimo ou o máximo de uma função. Caso se deseje
obter o lucro, naturalmente se buscará a maximização deste. Caso o objetivo seja trabalhar
com o custo de uma operação, certamente se buscará a minimização deste.

De forma mais prática vejamos o exemplo a seguir.

A empresa “A” possui uma fábrica de trens de pouso de avião. Essa fábrica possui 3
unidades onde, em cada unidade, é produzido parte de um trem de pouso de uma aeronave.
O trem de pouso do tipo “ABC” é tem peças produzidas tanto na Fábrica 1 como na Fábrica 2.
Já o trem de pouso do tipo “DEF”, depende da Fábrica 2 e da Fábrica 3.

Cada fábrica, porém, é limitada por conta das suas instalações. Em algumas o maquinário
é mais moderno e consegue fabricar mais rápido. Em outras, por conta da vizinhança só há
trabalho de segunda à sábado. Não há, de imediato, o interesse em se ampliar ou realizar
investimentos para que essa unidade fabrique mais trens de pouso. O Diretor da empresa
solicitou que você fizesse um levantamento e descobrisse quantos trens de pouso de cada tipo

11
a empresa deveria fabricar, em cada unidade, para que o seu lucro fosse máximo,
independentemente do modelo. Considere que toda a produção será vendida de imediato.

Considerando os dados abaixo vamos elaborar a programação linear:

Tempo necessário para produção (em horas)


Tempo de produção
Fábrica Tipo de Trem de Pouso disponível por mês
(em horas)
Modelo “ABC” Modelo “DEF”
1 144 0 432
2 72 8 288
3 0 16 432
Lucro por trem
USD 80.000 USD 20.000
de pouso

Algumas considerações da tabela anterior remetem o seguinte:

• A fábrica 1 manufatura apenas parte das peças dos trens de pouso do tipo “ABC”.
• A fábrica 2 manufatura as partes de ambos os trens de pouso.
• A fábrica 3 manufatura apenas parte das peças dos trens de pouso do tipo “DEF”.
• A fábrica 1 demanda mais tempo para produzir uma peça complexa do trem de
pouso “ABC”, o que faz com que cada parte do trem de pouso “ABC” leve 144 horas
para ser feito.
• A fábrica 2, por sua vez, é mais moderna e é responsável pela finalização de ambos os
trens de pouso, recebendo as peças das fábricas 1 e 3. A fábrica 2, contudo, está
localizada próxima à uma região residencial, isso faz com que os dias de trabalho e
horário de funcionamento sejam reduzidos.

12
Tendo em vista a tabela anterior, vamos escrever as equações que modelam nosso problema:

𝐶1 = 144 ∙ 𝑥1 + 0 ∙ 𝑥2 ≤ 432

𝐶2 = 72 ∙ 𝑥1 + 8 ∙ 𝑥2 ≤ 288

𝐶3 = 0 ∙ 𝑥1 + 16 ∙ 𝑥2 ≤ 432

𝑥1 ≥ 0

𝑥2 ≥ 0

𝐹𝑢𝑛çã𝑜 𝑂𝑏𝑗𝑒𝑡𝑖𝑣𝑜 𝑍 = 80.000 ∙ 𝑥1 + 20.000 ∙ 𝑥2

Vamos ver como essas equações foram geradas:

𝑥1 e 𝑥2 representam os trens de pouso “ABC” e “DEF”, respectivamente.

As condições C1, C2 e C3 possuem o sinal de menor ou igual pois as unidades produzidas não
podem exceder a capacidade da fábrica.
𝑥1 e 𝑥2 devem ser maiores que zero pois não há quantidade de produto negativo fabricado.

Por fim há a nossa função objetivo que queremos maximizar e nela está o lucro de cada tipo
de trem de pouso feito. Vamos resolver graficamente?

Para a Condição C1, temos a seguinte área possível:

50
45
40
35
30
x2 25
20
15
10
5
0
0 1 2 3 4 5
x1

13
Para a condição C2, temos a seguinte área possível:

50
45
40
35
30
x2 25
20
15
10
5
0
0 1 2 3 4 5
x1

Já para a condição C3 se tem a seguinte área:

50
45
40
35
30
x2 25
20
15
10
5
0
0 1 2 3 4 5
x1

14
Reunindo as 3 condições C1, C2 e C3, considerando cada uma das restrições, temos:

C1

C2

C3

Temos a área em roxo é chamada de “Região permissível”, o que representa que quaisquer
x1 e x2 dentro dela respeitarão todas as condições simultaneamente.

Precisamos agora encontrar os pontos que delimitam essa nossa região.

50
45
40
35
30 (1,02;27)
x2 25 (0;27)
20
15
(3;9,25)
10
5
(3;0)
0
0 1 2 3 4 5
x1

15
Temos, portanto, os seguintes pontos:

𝑃𝑜𝑛𝑡𝑜 1: 𝑥1 = 0 𝑒 𝑥2 = 27

𝑃𝑜𝑛𝑡𝑜 2: 𝑥1 = 1,02 𝑒 𝑥2 = 27

𝑃𝑜𝑛𝑡𝑜 3: 𝑥1 = 3 𝑒 𝑥2 = 9,25

𝑃𝑜𝑛𝑡𝑜 4: 𝑥1 = 3 𝑒 𝑥2 = 0

Não levaremos em consideração a parte de um trem de pouso ainda em construção,


portanto vamos arredondar os números decimais para baixo. O que nos dará os seguintes
pontos:

𝑃𝑜𝑛𝑡𝑜 1: 𝑥1 = 0 𝑒 𝑥2 = 27

𝑃𝑜𝑛𝑡𝑜 2: 𝑥1 = 1 𝑒 𝑥2 = 27

𝑃𝑜𝑛𝑡𝑜 3: 𝑥1 = 3 𝑒 𝑥2 = 9

𝑃𝑜𝑛𝑡𝑜 4: 𝑥1 = 3 𝑒 𝑥2 = 0

Com esses pontos iremos colocá-los na nossa função objetivo e veremos quais deles nos dará
o maior valor.

𝑍(𝑥1 ; 𝑥2 ) = 80.000 ∙ 𝑥1 + 20.000 ∙ 𝑥2

𝑍1 = 𝑍(0; 27) = 80.000 ∙ 0 + 20.000 ∙ 27 = 540.000

𝑍2 = 𝑍(1; 27) = 80.000 ∙ 1 + 20.000 ∙ 27 = 620.000

𝑍3 = 𝑍(3; 9) = 80.000 ∙ 3 + 20.000 ∙ 9 = 420.000

𝑍4 = 𝑍(3; 0) = 80.000 ∙ 3 + 20.000 ∙ 0 = 240.000

O maior Z será no ponto 2, dando um lucro máximo de USD 620.000, com a venda de 1 trem
de pouso do tipo “ABC” e 27 do tipo “DEF”.

16
Ao plotar todas as curvas da função objetivo obtém-se o seguinte gráfico:

Observe pelo gráfico, o valor dos 4 pontos vermelhos e veja que o valor máximo se encontra
justamente no ponto onde 𝑥1 = 1 e 𝑥2 = 27.

Vimos aqui como resolver um problema de duas variáveis (𝑥1 e 𝑥2 ) pelo método gráfico. Esse
é um método bem simples, mas que permite a resolução de inúmeros problemas do seu
cotidiano, ele pode ser resolvido à mão, com papel e caneta, ou em um programa de planilhas,
como exibido nos gráficos anteriores.

Caso você tenha se interessado mais pelo método gráfico e queira aprofundar
seus estudos recomendo os materias que estão disponíveis a seguir:
How to Solve an LP Problem Graphically in Excel por Joshua Emmanuel:
https://www.youtube.com/watch?v=pQp4GZfoxTo
Graphical Method of Solving Linear Programming Problems:
https://www.toppr.com/guides/maths/linear-programming/graphical-method-of-
solving-a-linear-programming-problem

Capítulo 3.1 do Livro “Introdução à Pesquisa Operacional” de Hillier e Lieberman

17
1.4 PROGRAMAÇÃO LINEAR – MÉTODO SIMPLEX

Dando continuidade ao nosso estudo veremos como resolver problemas com mais de
duas variáveis. Até agora, pelo método gráfico, foi possível resolver o problema. Seria até
possível resolver problemas com 3 variáveis pelo método gráfico também, por meio de um
gráfico tridimensional, mas já estaríamos razoavelmente elevando a complexidade de algo que
poderia ser resolvido de outra forma.

Essa outra forma é o Método Simplex!

Esse método permitirá com que resolvamos problemas enormes, com milhares, ou
mesmo milhões de variáveis.

Veremos agora sobre o que ele se trata, como ele funciona, colocaremos a mão na massa
para resolver um problema de forma manual e posteriormente de forma automatizada.

O método Simplex foi desenvolvido por George Dantzig, no ano de 1947, e pode ser
utilizado desde problemas pequenos até problemas extremamente complexos. Ele consiste
em um algoritmo, isto é, uma série de passos, onde se objetiva alcançar o ponto ótimo da
função objetivo estudada.
Um ponto importante a ser ressaltado sobre o Simplex é que, sem ajustes, ele buscará
a otimização para a maximização. Isso não significa que você não poderá achar um valor
mínimo. Para achar um mínimo o que se deve fazer é inverter os sinais da função objetivo,
isto é, multiplicar a função objetivo por “-1”.
Esse algoritmo pode ser resolvido de algumas formas, mas em todos os casos se trata
de uma operação algébrica, isto é, envolvem majoritariamente as operações aritméticas
(adição, subtração, multiplicação e divisão). Há a possibilidade de resolver geometricamente,
pela observação de gráficos, de forma similar a vista anteriormente, mas seguindo algumas
lógicas diferentes.
Esta forma geométrica, resumidamente, envolveria a resolução por meio da seguinte
sequência:
1. plotagem de todas as restrições existentes (retas),
2. seguida da marcação de pontos onde há cruzamento das restrições (interseções),

18
3. eliminação dos pontos fora da região viável,
4. escolha de um ponto externo inicial de análise, que é uma Solução Viável em Ponto
Externo (FPE)
5. a partir do primeiro ponto (0,0 por exemplo), pegar outro à esquerda (ou acima) e
outro à direita (ou acima)
6. verificar se o ponto atual é maior que os outros dois
7. caso o ponto atual seja maior, isto significa que este já é o máximo, caso não passar
para o próximo ponto
8. o próximo ponto a ser escolhido é o maior dentre os outros dois que foram escolhidos
9. repetir até encontrar o ponto central máximo

A diferença entre a sequência acima (Simplex geométrico) e o que fora apresentado


como método Gráfico de Programação Linear consiste na COMPARAÇÃO entre pontos
próximos ao ponto escolhido. Esta é uma das diferenças no que o Simplex é e se propõe.

1.4.1 Álgebra Simplex com o Exemplo

Para que o método Simplex seja implementado no exemplo já visto da Fábrica de Trens
de Pouso teremos que utilizar equações (que possuem sinal de igualdade) no lugar das
inequações (que possuem sinal de maior ou menor) que algumas restrições podem ter. Para
a “conversão” será necessária a utilização de variáveis de folga.
As restrições são:

𝐶1 = 144 ∙ 𝑥1 + 0 ∙ 𝑥2 ≤ 432

𝐶2 = 72 ∙ 𝑥1 + 8 ∙ 𝑥2 ≤ 288

𝐶3 = 0 ∙ 𝑥1 + 16 ∙ 𝑥2 ≤ 432

Terão as seguintes variáveis de folga:

19
𝑥3 = 432 − (144 ∙ 𝑥1 + 0 ∙ 𝑥2 )

𝑥4 = 188 − (72 ∙ 𝑥1 + 8 ∙ 𝑥2 )

𝑥5 = 432 − (0 ∙ 𝑥1 + 16 ∙ 𝑥2 )

Dessa forma podemos reescrever a Forma Original do Modelo que é:

𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑍 = 80.000 ∙ 𝑥1 + 20.000 ∙ 𝑥2

𝑆𝑢𝑗𝑒𝑖𝑡𝑜 𝑎

144 ∙ 𝑥1 + 0 ∙ 𝑥2 ≤ 432

72 ∙ 𝑥1 + 8 ∙ 𝑥2 ≤ 288

0 ∙ 𝑥1 + 16 ∙ 𝑥2 ≤ 432

𝑥1 ≥ 0, 𝑥2 ≥ 0

Como a Forma Aumentada do Modelo:

𝑀𝑎𝑥𝑖𝑚𝑖𝑧𝑎𝑟 𝑍 = 80.000 ∙ 𝑥1 + 20.000 ∙ 𝑥2

𝑆𝑢𝑗𝑒𝑖𝑡𝑜 𝑎

144 ∙ 𝑥1 + 𝑥3 = 432

72 ∙ 𝑥1 + 8 ∙ 𝑥2 + 𝑥4 = 288

16 ∙ 𝑥2 + 𝑥5 = 432

𝑥𝑗 𝑝𝑎𝑟𝑎 𝑗 = 1, 2, 3, 4, 5

Vale ressaltar que a adaptação feita no modelo ainda representa o original, contudo
desta forma a realização de operações algébricas é facilitada. E agora você pode estar se
perguntando, o que eu faço com essas variáveis de folga que foram adicionadas?
20
Caso uma delas seja zero, isso representará (lembre-se do método gráfico!) que a
solução encontrada está exatamente sobre uma linha que separa a região viável da não-viável.

Caso essa variável de folga seja maior que zero, então a nossa solução está dentro da
região viável, e o inverso, respectivamente, caso seja inferior a zero, a solução estará fora.

Dessa forma você já começa a interpretar os resultados das variáveis de folga.

Lembre-se, variável de folga maior que zero, região viável; variável de folga menor que
zero, fora da região viável; variável de folga igual a zero, no limite.

Diz-se que uma solução é aumentada quando os valores das variáveis de folga são
diferentes de zero, isto é, estamos selecionando valores que estão dentro ou fora da região
viável.

Ao considerarmos nossa “borda”, no então método gráfico, ou mesmo na forma


geométrica, lembrem-se que havíamos considerado os extremos e os pontos onde as retas se
cruzavam, respectivamente. Porém como faríamos a seleção de um ponto qualquer entre
esses dois pontos? Não tivemos um aumento de opções com a variável de folga? Pois diz-se
então que temos uma solução básica viável (SBV).

Vocês se lembram que existia uma reta na cor verde no nosso gráfico? Aquela reta
representava que todos os pontos nela possuíam o mesmo valor da função objetivo. Contudo,
apenas um ponto desta reta “tocava” a região viável. Isso significou que só possuíamos 1 ponto
ótimo. Caso essa reta da função objetivo estivesse coincidente em algum outro segmento de
reta da região viável, teríamos várias soluções que seriam possíveis na forma aumentada.

Outro conceito importante que temos é o chamado “grau de liberdade” que é obtido
pela subtração do número de variáveis pelo número de equações. No nosso exemplo
aumentado temos 5 variáveis (𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 𝑒 𝑥5 ) e 3 equações, o que resultado em 5-3=2, logo
temos 2 graus de liberdade na nossa solução aumentada. E o que significa na prática esse grau
de liberdade? Ele representa que, com apenas 2 variáveis escolhidas o sistema possua solução.
Pelo Simplex, duas variáveis, chamadas de variáveis não-básicas, são definidas como zero. Um
sistema com 3 incógnitas e 3 equações é dito um sistema normal e é dito que este é a solução
básica.

21
Agora peço uma reflexão de cada um de vocês. A função objetivo é uma equação ou
inequação? É uma equação, certo? Caso coloquemos o Z do mesmo lado das variáveis
podemos igualar a tudo a zero. Ao juntarmos esta equação com as demais podemos resolver
o Simplex de maneira tabular, vejamos a seguir.

1.4.2 Exemplo

Montagem da tabela inicial:

x1 x2 x3 x4 x5 Lado Dir. Razão


x3 144 0 1 0 0 432
x4 72 8 0 1 0 290
x5 0 16 0 0 1 432
-80000 -20000 0 0 0

Iteração 1

Para a primeira iteração do método Simplex vamos pegar a coluna que possua o menor valor
da variável na função objetivo: -80000, na coluna de x1.

Agora será necessário encontrar o menor valor de razão para cada uma das linhas, dada por
“Lado Dir.” dividido pela coluna trabalhada (“x1” neste caso).

x1 x2 x3 x4 x5 Lado Dir. Razão


x3 144 0 1 0 0 432 3
x4 72 8 0 1 0 290 4,027778
x5 0 16 0 0 1 432
-80000 -20000 0 0 0 0

A linha com menor valor de razão é a primeira (“x3” neste caso).

22
Logo, com a coluna e a linha definidas temos o elemento pivô (144 neste caso).

x1 x2 x3 x4 x5 Lado Dir. Razão


x3 144 0 1 0 0 432 3
x4 72 8 0 1 0 290 4,027778
x5 0 16 0 0 1 432
-80000 -20000 0 0 0 0

Precisamos atualizar a nossa tabela usando a seguinte lógica:

A linha 1 (“x3”) nova será = linha 1 antiga dividida por 144.

A linha 2 (“x4”) nova será = linha 2 antiga menos, 72 multiplicado pela nova linha 1.

A linha 3 (“x5”) nova será = linha 3 antiga menos, 0 multiplicado pela nova linha 1.

A linha 4 nova será = linha 4 antiga menos, -80000 multiplicado pela nova linha 1.

Ao final da iteração 1 teremos a seguinte tabela:

x1 x2 x3 x4 x5 Lado Dir. Razão


x1 1 0 0,006944 0 0 3 ---
x4 0 8 -0,5 1 0 74
x5 0 16 0 0 1 432
0 -20000 555,5556 0 0 240000

Iteração 2:

Para a segunda iteração do método Simplex vamos pegar a coluna que possua o menor valor
da variável na função objetivo: -20000, na coluna de x2.

Agora será necessário encontrar o menor valor de razão para cada uma das linhas, dada por
“Lado Dir.” dividido pela coluna trabalhada (“x1” neste caso).

x1 x2 x3 x4 x5 Lado Dir. Razão


x1 1 0 0,006944 0 0 3 ---

23
x4 0 8 -0,5 1 0 74 9,25
x5 0 16 0 0 1 432 27
0 -20000 555,5556 0 0 240000

A linha com menor valor de razão é a segunda (“x4” neste caso).

Logo, com a coluna e a linha definidas temos o elemento pivô (8 neste caso).

x1 x2 x3 x4 x5 Lado Dir. Razão


x1 1 0 0,006944 0 0 3 ---
x4 0 8 -0,5 1 0 74 9,25
x5 0 16 0 0 1 432 27
0 -20000 555,5556 0 0 240000

Precisamos atualizar a nossa tabela usando a seguinte lógica:

A linha 1 (“x1”) nova será = linha 1 antiga menos, 0 multiplicado pela nova linha 2. (como
zero multiplicado por qualquer coisa diferente de zero, resulta em zero, a linha 1 nova será
igual a linha 1 antiga).

A linha 2 (“x4”) nova será = linha 2 antiga dividido por 8.

A linha 3 (“x5”) nova será = linha 3 antiga menos, 16 multiplicado pela nova linha 2.

x1 x2 x3 x4 x5 Lado Dir. Razão


x1 1 0 0,006944 0 0 3 ---
x2 0 1 -0,0625 0,125 0 9,25
x5 0 0 1 -2 1 284
0 0 -694,444 2500 0 425000

Iteração 3:

Para a terceira iteração do método Simplex vamos pegar a coluna que possua o menor valor
da variável na função objetivo: -20000, na coluna de x2.

24
Agora será necessário encontrar o menor valor de razão para cada uma das linhas, dada por
“Lado Dir.” dividido pela coluna trabalhada (“x1” neste caso).

x1 x2 x3 x4 x5 Lado Dir. Razão


x1 1 0 0,006944 0 0 3 ---
x2 0 1 -0,0625 0,125 0 9,25 ---
x5 0 0 1 -2 1 284 284
0 0 -694,444 2500 0 425000

A linha com menor valor de razão é a terceira (“x5” neste caso).

Logo, com a coluna e a linha definidas temos o elemento pivô (1 neste caso).

x1 x2 x3 x4 x5 Lado Dir. Razão


x1 1 0 0,006944 0 0 3 ---
x2 0 1 -0,0625 0,125 0 9,25 ---
x5 0 0 1 -2 1 284 284
0 0 -694,444 2500 0 425000

Precisamos atualizar a nossa tabela usando a seguinte lógica:

A linha 1 (“x1”) nova será = linha 1 antiga menos, 0,006944 multiplicado pela nova linha 3.

A linha 2 (“x2”) nova será = linha 2 antiga menos, -0,0625 multiplicado pela nova linha 3.

A linha 3 (“x5”) nova será = linha 3 antiga dividido por 1.

x1 x2 x3 x4 x5 Lado Dir. Razão


x1 1 0 0 0,013889 -0,00694 1,027778 ---
x2 0 1 0 0 0,0625 27
x3 0 0 1 -2 1 284
0 0 0 1111,111 694,4444 622222,2

Acabamos por chegar na nossa solução.

25
Para cada linha alocamos uma variável de uma das colunas.

Na coluna “Lado Direito” obtivemos o resultado máximo considerando decimais.

Repare que na linha do x1, o lado direito ficou em aproximadamente 1,02. No nosso
exercício do gráfico, antes do Simplex ele havia sido bem próximo.

A linha de x2, o lado direito foi 27, exatamente o mesmo resultado que havíamos
experimentado graficamente!

E por fim temos o valor máximo da função objetivo, muito próximo ao nosso do método
gráfico (620.000, já que consideramos apenas valores inteiros).

E aí o que achou?

Para problemas pequenos como esse o Simplex acaba sendo uma solução mais complexa
que o método gráfico feito anteriormente.

Agora, se adicionarmos mais variáveis o Simplex é um método muito eficiente para


encontrar a solução.

O objetivo aqui não é esgotar o tema.

Recomendo que você, aluno, pesquise mais sobre o tema, leia a bibliografia
recomendada e veja o método algébrico para entender melhor a lógica envolvida nesses
passos. Caso seja preciso veja vídeos de resolução disponíveis na internet.

O Excel é uma ferramenta poderosa para a resolução de problemas Simplex, onde, por
meio do recurso Solver, você, em poucos cliques pode achar a solução ótima.

26
1.5 OUTRAS TÉCNICAS

Ainda dentro de programação linear temos outros métodos e técnicas que podem ser
utilizadas.

O método Simplex visto pode ser considerado um Problema Primal, onde o objetivo foi
a Maximização. Há o problema Dual onde se objetiva a minimização. Mudanças na lógica entre
o primal e dual são necessárias, como a utilização do lado direito ao invés do esquerdo e uma
inversão no que se objetiva. No caso do nosso problema primal da indústria de trem de pouso,
nós tínhamos a Função Objetivo que era maximizar o lucro. Teríamos agora uma função
objetiva com base no lado direito das restrições e as restrições agora teriam seu lado direito a
nossa antiga função objetiva. Não vamos aprofundar esta técnica, mas fique ciente que há a
possibilidade de realização de otimização desta forma também.

Quando nos deparamos com problemas relacionados à transporte a primeira coisa que
deve vir em mente é o Modelo de Redes. Esse modelo visa resolver situações reais onde se
necessita uma melhor gestão de frotas, por exemplo, na minimização de custos relacionados
ao transporte, tão como problemas de localização.

A programação dinâmica é outra técnica utilizada em pesquisa operacional, onde se tem


que tomar decisões de forma encadeada, onde uma decisão dependa da outra. Ou seja, neste
caso uma otimização é seguida de outra otimização, que é seguida de outra, e assim por
diante. Por vezes é chamada de otimização recursiva também, requer a utilização de várias
técnicas, conforme necessário em cada uma das etapas.

A programação inteira é uma derivação da programação linear, ou seja, é um caso


específico da programação linear. Nos exemplos vistos até agora, foi exatamente este caso que
trabalhamos. Não podemos fazer meio trem de pouso, por exemplo. Neste caso consideramos
apenas valores inteiros, e é isso. Incluí essa técnica aqui, depois de vistos os exemplos, apenas
para não a apresentá-la antes e você, aluno, imaginar que todos os casos eram inteiros. Deixei
para arredondar apenas no final.

Até agora vimos a programação linear, ou seja, com um item varia linearmente em
função de outro. Porém o mundo não é linear. Até aqui foram feitas aproximações. Contudo
27
sabemos que muitos custos, por vezes, variam de forma não-linear, e é por isso que existe a
programação não-linear. Uma não-linearidade pode ser experimentada por fenômenos físicos,
por exemplo, foi dado o exemplo da Força ser igual à massa multiplicado pela aceleração,
contudo energia é massa multiplicado pela velocidade ao quadro dividido por 2. Essa definição
de energia faz com que uma análise linear não seja adequada, e passa a ser necessária, na
otimização de um problema desses a programação não-linear.

Por fim, cito a importância para muitos problemas modernos a Meta-heurística. Essa
área de pesquisa está em constante crescimento e busca a solução de problemas por meio de
observação em como a natureza se comporta. Isso mesmo, você pode resolver um problema
do seu trabalho com base em como as abelhas se dividem na colmeia; em como as formigas
se organizam em um formigueiro; dentre outros. E por que essa área está crescendo tanto?
Tem muitos problemas que não possuem solução analítica, isto é, não conseguimos encontrar
uma solução de forma funcional. Alguns problemas só são resolvíveis, se forem, por
experimentação ou de forma numérica. Ou seja, por meio da tentativa e erro, buscando
encontrar, novamente, um ponto ótimo. A forma de se chegar nesse ótimo varia com o
algoritmo de meta-heurística utilizado. Não existe um algoritmo “bala de prata” que resolva
todos os problemas da melhor maneira possível. Uma meta-heurística pode ser excelente para
resolver um problema e péssima para outro. Muitos estudos relevantes estão sendo
desenvolvidos nessa área visando resolver vários problemas de otimização em inúmeras áreas,
justamente para se analisar qual método é mais bem aplicado em uma determinada área.

Aqui finalizamos nossa primeira unidade de Pesquisa Operacional. O conhecimento,


como dito, não visa torná-lo um expert nesta matéria, mas que você tenha noção do que pode
ser feito e algumas das técnicas acima, de forma rápida e com um pouco de estudo, você pode
resolver problemas enormes do seu dia a dia no trabalho.

28
Hillier, Frederick S. Introdução à pesquisa operacional. São Paulo: McGraw-Hill, 2006.

Fávero, Luiz Paulo. Pesquisa operacional para cursos de administração, contabilidade


e economia. Rio de Janeiro: Elsevier, 2012.

Marcos Arenales...[et al.]. Pesquisa operacional. Rio de Janeiro : Elsevier : ABEPRO, 2011.

Fávero, Luiz Paulo. Pesquisa operacional para cursos de engenharia. Rio de Janeiro:
Elsevier, 2013.

REFERÊNCIAS FIGURAS:

PIXABAY. O NEGÓCIO (GERALT). Disponível em: <https://pixabay.com/images/id-4646286/>


Acesso em 14 de maio de 2022

Até aqui você conheceu conceitos que serão importantes para a nossa disciplina.

Vimos bastante sobre Pesquisa Operacional, seu histórico, conceitos e algumas de suas
aplicações.

Muito bem! Agora vamos em frente e na próxima unidade você aprenderá sobre Teoria
dos Jogos.

Vem comigo!

29

Você também pode gostar