0% acharam este documento útil (0 voto)
225 visualizações86 páginas

Pesquisa Operacional 20201

Este documento apresenta os principais conceitos e métodos da pesquisa operacional, incluindo programação linear, método simplex, análise de sensibilidade, problemas de rede de precedência e programação de recursos. O foco é fornecer exemplos e exercícios para que os alunos entendam como formular e resolver esses problemas matematicamente.

Enviado por

Aline Maíse
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
225 visualizações86 páginas

Pesquisa Operacional 20201

Este documento apresenta os principais conceitos e métodos da pesquisa operacional, incluindo programação linear, método simplex, análise de sensibilidade, problemas de rede de precedência e programação de recursos. O foco é fornecer exemplos e exercícios para que os alunos entendam como formular e resolver esses problemas matematicamente.

Enviado por

Aline Maíse
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 86

Pesquisa Operacional I

Prof. Evandro Bittencourt (Dr.) - UDESC - 2020


3 de fevereiro de 2020

Sumário
1 Introdução 4
1.1 Definição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Metodologia da Pesquisa Operacional . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Definição do Problema . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2 Desenvolvimento de um modelo matemático e aquisição dos dados . . 5
1.2.3 Resolução do modelo matemático . . . . . . . . . . . . . . . . . . . . 5
1.2.4 Validação, instrumentação e controle da solução . . . . . . . . . . . . 5
1.3 Aplicação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Áreas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.2 Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Programação Linear 6
2.1 Exemplos de problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Exercı́cios Complementares . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Análise Gráfica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.1 Procedimentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.2 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.3.3 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Exercı́cios Complementares . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 O problema de Programação linear . . . . . . . . . . . . . . . . . . . . . . . 19
2.5.1 Formulação Genérica . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5.2 Interpretação Econômica . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 O Método do Simplexo 21
3.1 Algoritmo Simplexo - Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Exercı́cios Complementares . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.4 Problemas Especiais de Formulação . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.1 Formulação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.4.2 Dificuldades Durante a Solução pelo Método do Simplexo . . . . . . . 25
3.5 Método do Simplexo - Fase I/Fase II . . . . . . . . . . . . . . . . . . . . . . 26
3.5.1 Procedimento para a Fase I . . . . . . . . . . . . . . . . . . . . . . . 26
3.5.2 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.3 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.5.4 Exercı́cios complementares . . . . . . . . . . . . . . . . . . . . . . . . 28

1
2

4 Análise de Sensibilidade 29
4.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.1 Variação na Função Objetivo . . . . . . . . . . . . . . . . . . . . . . 29
4.2.2 Variação na Quantidade de Recursos Escassos . . . . . . . . . . . . . 30
4.2.3 Preço Sombra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3 Exercı́cio - Problema - Alocação de Recursos . . . . . . . . . . . . . . . . . . 32
4.4 Exercı́cios complementares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

5 Solver 35
5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6 O problema Dual 38
6.1 Caracterização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.2 Explicação econômica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.3 Exemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.4 Exercı́cio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

7 Pert - Redes de Precedência 41


7.1 Caracterização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.2 Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.3 Caminho Crı́tico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.4 Modelagem das Redes de Precedência . . . . . . . . . . . . . . . . . . . . . . 43
7.5 Formação das Redes de Precedência . . . . . . . . . . . . . . . . . . . . . . . 44
7.6 Detalhamento das Redes de Precedência . . . . . . . . . . . . . . . . . . . . 45
7.7 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.8 Atividades fantasmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.9 Restrições adicionais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.10 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.11 Método Francês - diagrama de blocos . . . . . . . . . . . . . . . . . . . . . . 54
7.11.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.12 Programação e nivelamento de recursos . . . . . . . . . . . . . . . . . . . . . 57
7.13 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

8 Programação Inteira 62
8.1 Tipos de problemas de programação inteira (PI) . . . . . . . . . . . . . . . . 62
8.2 Programação Inteira e Programação Linear (PL) . . . . . . . . . . . . . . . . 62
8.3 Abordagem para solução de problemas de PI . . . . . . . . . . . . . . . . . . 62
8.4 Método Branch-and-Bound para solução de problemas PIs puros . . . . . . . 62
8.5 Aspectos importantes do Branch-and-bound p/ PIs puros . . . . . . . . . . . 66
8.6 Método Branch-and-Bound para solução de PIs mistos . . . . . . . . . . . . 67
8.7 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.8 Exemplo Branch-and-Bound em problemas de sequenciamento de trabalhos
em máquinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
8.9 Exercı́cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 3

9 Programação Dinâmica 72
9.1 Caracterização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.2 Aplicações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.3 Problema de viagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
9.4 Problema de estoque (produção discreta) . . . . . . . . . . . . . . . . . . . . 74

10 Provas anteriores 76
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 4

1 Introdução
1.1 Definição
É uma metodologia de estruturar processos aparentemente não estruturados por meio da
construção de modelos. Utiliza um conjunto de técnicas quantitativsas com o intuito de
resolver os aspectos matemáticos dos modelos. (Pierre Jacques Ehrlich)

Aplicação do Método Cientı́fico, por equipes interdisciplinares a problemas que dizem res-
peito ao controle de seistema organizados (homem-máquina), com a finalidade de obter as
soluções que melhor satisfaçãm aos objetivos da organização, como um todo. (João Vitor
Moccelin)

1.2 Metodologia da Pesquisa Operacional


A Metodologia da Pesquisa Operacional é representada na forma de um fluxo (Fig. 1).

Figura 1: Metodologia da Pesquisa Operacional

Definição do
Problema

?
Desenvolvimento de um Resolução do
modelo matemático e - modelo - Solução
aquisição dos dados matemático
6 ?
Q
 Q
 Q
Modificações no não 
Solução QQ
QQ válida? 
modelo Q 
Q 
Q
sim
?
Implementação

1.2.1 Definição do Problema


ˆ Identificar;

ˆ Comprender;

ˆ Descrever.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 5

1.2.2 Desenvolvimento de um modelo matemático e aquisição dos dados


ˆ Definir as variáveis de decisão (variáveis);

ˆ Função Objetivo;

ˆ Restrições.

1.2.3 Resolução do modelo matemático


ˆ Métodos Ótimos;

ˆ Métodos Heurı́sticos;

ˆ Métodos Metaheurı́sticos.

1.2.4 Validação, instrumentação e controle da solução

1.3 Aplicação
Aplica-se na seleção de alternativas, buscando a maximização do lucro ou minimização de
custo (geralmente).

1.3.1 Áreas
ˆ Processos de produção

ˆ Processos de Fluxo (transporte)

ˆ Finanças

ˆ Marketing (participação no mercado)

ˆ Misturas (alimentos, ligas, misturas quı́micas)

1.3.2 Ferramentas
ˆ Matemática;

ˆ Análise de sistemas;

ˆ Estatı́stica.

1.4 Exercı́cios
1) Responda: O que é Pesquisa Operacional? (2014)

2) A heurı́stica de Polya serve para resolver quais tipos de problema? (2014)


Somente problemas de programação linear.
Somente problemas de programação linear e de programação não linear.
Somente problemas de programação não linear.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 6

Somente problemas de programação inteira.


Qualquer tipo de problema.

3) A solução dos modelos de pesquisa operacional pode ser feito com métodos ótimos e
heurı́sticos. Uma classe dos métodos heurı́sticos são os metaheurı́sticos. Entre eles
alguns são baseados em processos naturais. Dessa maneira, marque os dois processos
naturais que forneceram base teórica para metaheurı́sticas: (2014)
Bando de Tatu Bola e Bando de Quatis.
Colônia de Formigas e Colônia Artificial de Abelhas.
Colônia de Formigas e o Método Construtivo do João de Barro.
Colônia Artificial de Abelhas e o Método Construtivo do João de Barro.
Colônia de Cupins e o Método Construtivo do João de Barro.

2 Programação Linear
2.1 Exemplos de problemas
1) Um fabricante deseja maximizar a receita bruta. A tabela ilustra as composições das
ligas metálicas, seus preços e as limitações na disponibilidade de matéria prima.

Atividades→ Liga Tipo Liga Tipo Matéria Prima


Itens A B Disponı́vel
Cobre 2 1 16
Zinco 1 2 11
Chumbo 1 3 15
Preço unitário de R$ 30 R$ 50
venda

Decisões: Quantidade de Liga A (xa )


Quantidade de Liga B (xb )
Receita = Z
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 7

Função Objetivo
Maximizar Z= 30.xa + 50.xb

Restrições
Sujeito A 2xa + xb ≤ 16 (para o cobre)
xa + 2.xb ≤ 11 (para o zinco)
xa + 3.xb ≤ 15 (para o chumbo)

Restrições de não xa ≥ 0
Negatividade xb ≥ 0
(Não podemos fabricar quantidade negativa de liga)

2) Um fazendeiro tem que decidir o quanto vai plantar de milho e de alfafa para maximizar
o lucro. Os lucros são de R$ 2.000 por alqueire de milho e de R$ 1.000 por alqueire
de alfafa. Suponha que suas limitações sejam: terra disponı́vel = 8 alqueires; água
disponı́vel para irrigação = 80.000 litros; deseja plantar no máximo 4 alqueires de
milho; cada alqueire de milho requererá 10.000 litros de água para irrigação; cada
alqueire de alfafa requererá 20.000 litros de água para irrigação.

3) Sabe-se que os alimentos, leite, carne e ovos fornecem as quantidades de vitaminas


dadas pela tabela.

Vitaminas Leite (litro) Carne (kg) Ovos(dúzia) Quantidade


diária mı́nima
A 0,25 mg 2 mg 10 mg 1 mg
B 25 mg 20 mg 10 mg 50 mg
C 2,5 mg 200 mg 10 mg 10 mg
Custo unitário R$ 2,2 R$ 17,0 R$ 4,2

Deseja-se calcular quais as quantidades de leite, carne e ovos a fim de satisfazer as


quantidades diárias mı́nimas de nutrientes (vitaminas) a um custo mı́nimo.

4) Uma fábrica utiliza dois tipos de insumos: - A a um custo unitário CA e com uma
quantidade máxima disponı́vel NA .
- B a um custo unitário CB e com uma quantidade máxima disponı́vel NB .
Esses insumos podem ser processados pelos Processos I, II ou III a um custo operacional
nulo. Serão produzidos os produtos α, β, γ, que alcançaram preços de venda Pα ,
Pβ , Pγ , respectivamente (preços unitários).
- Uma unidade de A processada em I produz, simultaneamente 5α e 1γ;
- Uma unidade de A junto com duas unidades de B conjuntamente processadas em II
produz, simultaneamente 3α, 9β e 8γ;
- Uma unidade de B processada em III produz simultaneamente 1α, 4β, 1γ.
Formule o problema como programação linear de modo a maximizar o lucro.

5) Um jovem estava saindo com duas namoradas: Maria e Luı́sa. Sabe, por experiência,
que:
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 8

(a) Maria, elegante, gosta de freqüentar lugares sofisticados, mais caros, de modo que
uma saı́da de três horas custará 80 reais;
(b) Luı́sa, mais simples, prefere um divertimento mais popular, de modo que, uma
saı́da de três horas custará 55 reais;
(c) seu orçamento permite dispor de 330 reais mensais para diversão;
(d) seus afazeres escolares lhe dão liberdade de, no máximo, 18 horas e 40.000 calorias
de sua energia para atividades sociais;
(e) cada saı́da com Maria consome 5.000 calorias, mas com Luı́sa, mais alegre e
extrovertida, gasta o dobro;
(f) ele gosta das duas com a mesma intensidade.

Como deve planejar sua vida social para obter o número máximo de saı́das? Formule
o problema.

6) Devido ao número incostante de passageiros, uma çompanhia de ônibus necessita um


número variado de motoristas dependendo do horário considerado. A tabela a seguir
especifica a quantidade de motoristas necessários.

Horário Quantidade de
motoristas
1 ás 5 horas 15
5 ás 9 horas 30
9 ás 13 horas 26
13 ás 17 horas 32
17 ás 21 horas 30
21 ás 1 horas 19

Considerando que cada motorista trabalha 8 horas seguidas e que o serviço pode ser
iniciado ás 1, 5, 9, 13, 17 ou 21 horas, elaborar um plano de trabalho para os motoristas,
de modo que o número destes seja mı́nimo.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 9

7) A companhia ALT-M produz móveis de escritório que, por questões de marketing,


agrupou em três conjuntos básicos cujos modelos são: ALFA, BETA E GAMA.
O parque de produção da empresa é de porte médio e bem dimensionado para
o nı́vel de produção que ela tem conseguido colocar no mercado. Ultimamente, no en-
tanto, a demanda tem crescido, o que levou a gerência a encomendar um planejamento
de produção mensal, com a finalidade de determinar os possı́veis estrangulamentos na
linha de produção e analisar algumas alternativas de correção.
Inicialmente, o profissional encarregado do planejamento analisou o sistema de
produção e determinou que apemas mão-de-obra e a madeira poderiam ser os recursos
limitativos da produção. Os demais insumos que a empresa utiliza são encontráveis
com facilidade no mercado, já que existem vários fornecedores, além do fato de que
a empresa possui capacidade suficiente de estocagem. Assim, a análise se concentrou
apenas nesses dois recursos.
A empresa possui a seguinte disponibilidade total desses dois recursos:

ˆ mão-de-obra: 3.520 H.h.


ˆ estoque de madeira: 10.000 m2 por mês.

O processo de fabricação de móveis requer 5 fases, realizadas em seções espe-


cı́ficas, conforme mostra o fluxograma (a lista) que se segue. O fluxograma (a lista)
também indica a capacidade de produção disponı́vel em cada fase, em função da mão-
de-obra e dos equipamentos e ferramentas existentes.
Essa capacidade de cada seção corresponde à alocação anterior de mão-de-obra
e será avaliada ao longo desse estudo de caso. Para simplificar o caso, vamos conside-
rar que, quando houver necessidade de transferir um funcionário de uma seção para
outra, isso corresponderá a transferência de módulos de 44 H.h (1 semana de trabalho).

PROCESSO DE FABRICAÇÃO E ALOCAÇÃO INICIAL DE MÃO-DE-


OBRA

(a) Corte ⇒ 704 H.h.


(b) Preparação ⇒ 1232 H.h.
(c) Montagem ⇒ 704 H.h.
(d) Pintura ⇒ 528 H.h.
(e) Embalagem ⇒ 352 H.h.

O objetivo da gerência é desenvolver um estudo de planejamento da produção


da empresa de forma a otimizar sua capacidade produtiva.
Para atingir esse objetivo, o encarregado do planejamento escolheu como téc-
nica de trabalho o desenvolvimento de um modelo de Programação Linear de forma
que ele pudesse encontrar a alocação ideal de mão-de-obra e da madeira. Como critério
para medir a ”idealidade da alocação”, ele escolheu a margem de contribuição a cada
produto para o lucro total.
Após a escolha do critério de decisão, ele passou a examinar o processo de
fabricação de cada um dos conjuntos que, em face das diferenças de design, exige
quantidades diferentes de cada recurso. Uma vez de posse do projeto do produto e,
após medições in loco, foi fácil obter os coeficientes de utilização unitária de recurso,
conforme mostra a Tabela 1.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 10

Tabela 1: Utilização unitária de recursos para fabricação dos conjuntos

Recursos Conjunto Conjunto Conjunto Alocação Inicial de


Alfa Beta Gama Recurso Por Seção
Corte 0,4 0,3 0,3 704 H.h.
Preparação 0,8 0,4 0,6 1.232 H.h.
Montagem 0,25 0,4 0,4 704 H.h.
Pintura 0,2 0,2 0,2 528 H.h.
Embalagem 0,06 0,1 0,05 352 H.h.
Madeira 3 4,5 6 10.000 m2

Além disso, são conhecidos os custos unitários dos recursos, conforme mostra
a Tabela ??.
Conhecendo os preços de venda dos produtos, pode-se calcular a contribuição

Tabela 2: Custos Unitários de Recursos

Recurso Custo Unitário


Corte 2,40
Preparação 3,50
Montagem 2,20
Pintura 2,50
Embalagem 2,00
Madeira 6,50

Obs.: Mão-de-Obra: Custo horário próprio, encargos e custo de operação das máquinas (R$ /H.h).
Madeira: Custo por m2 (R$ /m2 ).

unitária (preço de venda menos custos variáveis de produção) de cada um, conforme
mostra a Tabela ??.

Tabela 3: Contribuições marginais dos conjuntos

Conjunto Contribuição Unitária (R$ )


Alfa 21,00
Beta 19,50
Gama 22,00
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 11

8) Uma empresa tem três tipos de máquinas na sua linha de produção, tendo cada uma
delas velocidade e precisão diferente. A máquina do tipo 1 produz 20 peças por hora
com 99% de precisão. A máquina do tipo 2 produz 15 peças por hora com 95% de
precisão. E a máquina do tipo 3 produz 10 peças por hora com 100% de precisão. A
máquina do tipo 1 custa R$ 2,00 por hora de operação, o tipo 2 custa R$ 1,75 por
hora de operação e o tipo 3 custa R$ 1,50 por hora de operação. A empresa possui 15
operadores fixos disponı́veis para as máquinas 1 e 2, e todos devem ser utilizados, os
outros serão contratados temporariamente. Devem ser processados por dia pelo menos
3.500 peças (dia de 8 horas), mas só se dispõe de 8 máquinas do tipo 1, dez máquinas
do tipo 2 e 20 máquinas do tipo 3. Cada peça errada custa R$ 1,00.
Pergunta-se:

(a) Quantas máquinas de cada tipo devem ser usadas para minimizar o custo.

(b) Qual o benefı́cio marginal no custo no caso da:

ˆ aquisição de mais uma máquina do tipo 1.


ˆ aquisição de mais uma máquina do tipo 2.
ˆ aquisição de mais uma máquina do tipo 3.
ˆ diminuição na produção de 8 peças por dia.
ˆ demissão de um operador fixo.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 12

9) Um empresa industrial fabrica dois produtos: P e Q. O produto P possui preço de


venda de R$ 90, enquanto o preço de venda do produto Q é de R$ 100. A demanda
do mercado pelos produtos P e Q é de, respectivamente, 100 e 50 unidades por semana.
A empresa possui despesas operacionais fixas de R$ 6000 por semana.
A produção é realizada por quatro operadores com jornada de trabalho de 40 horas
por semana. Portanto, a empresa dispõe de 2.400 minutos semanais de trabalho de
cada operador. O consumo de matéria-prima (W, X, Y e Z) e o tempo gasto pelos
operadores (A, B, C e D) na produção são descritos no quadro da Figura 2.
Maximizar o lucro considerando margens de contribuições de cada produto menos as

Figura 2: Processo de Fabricação com Tempo e Custos

W
R$ 5

?
X - A - C - D -
R$ 20 15 min 10 min 15 min P
6

Y - B - C
R$ 20 15 min 5 min

?
Z - A - B - D -
R$ 20 10 min 15 min 5 min
Q

despesas operacionais.

2.2 Exercı́cios Complementares


1) Uma fábrica de cerveja produz três tipos: Cerveja S, Cerveja B e Cerveja A. O preço
de venda é R$ 1,2; 1,4; 1,6 respectivamente. Cada cerveja consome: 120 g, 130 g, 110g
de cevada maltada respectivamente; 50 g, 30 g, 40 g de lúpulo respectivamente; e 500
ml, 530 ml, 480 ml de água respectivamente. A demanda por cerveja S, B e A é de
300, 400 e 200 unidades respectivamente. Possuindo-se no estoque 5.550 g de cevada
maltada, 10.500 g de lúpulo e 40.000 ml de água, formular maximizando a receita.

2) Duas fábricas A e B, de uma mesma Companhia, produzem três diferentes tipos de


parafusos. A companhia tem contrato para produzir 600 kg de parafusos do tipo Ponta
Agulha e 800 kg de parafusos do tipo Ponta Broca e 450 kg de parafusos do tipo Cabeça
Lentilha. O custo de produção diária na fábrica A é de R$ 25.000,00 e o da fábrica
B é de R$ 35.000,00. A fábrica A produz por dia 20 kg de parafusos do tipo Ponta
Agulha, 15 kg de parafusos do tipo Ponta Broca e 25 kg de parafusos do tipo Cabeça
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 13

Lentilha. Da mesma maneira, a fábrica B produz por dia 35 kg de parafusos do tipo


Ponta Agulha, 10 kg de parafusos do tipo Ponta Broca e 15 kg de parafusos do tipo
Cabeça Lentilha. Construir o modelo de programação linear considerando minimização
de custos.

3) A empresa Dalai-Lama deseja planejar a produção de incensos. Os incensos requerem


dois tipos de recursos: mão-de-obra e materiais. A empresa fabrica três tipos de
incenso, cada qual com diferentes necessidades de mão-de-obra e materiais, conforme
tabela abaixo:

Modelo
A B C
Mão-de-obra (horas por unidade) 5 4 6
Materiais (g/ unidade produzida) 3 5 5
Lucro (R$ / unidade) 4 2 3

A disponibilidade de materiais é de 290 g/dia. A mão-de-obra disponı́vel por dia é de


190 horas. Formule um problema de programação linear para determinar quanto deve
ser produzido de cada tipo de incenso, tal que o lucro total seja maximizado.

4) Uma empresa possui três celulas de produção, C1, C2 e C3, que trabalham por bate-
lada. Cada batelada da C1 consome 12 kg de matéria-prima, 4 h de mão-de-obra e
25 kwh de energia para produzir 22 peças P1 e 12 peças P2. Da mesma maneira, C2
consome 14 kg de matéria-prima, 2 h de mão-de-obra e 35 kwh de energia para pro-
duzir 15 peças P3 e 15 peças P2. Além disso, a C3 consome 20 kg de matéria-prima,
4 h de mão-de-obra e 25 kwh de energia para produzir 25 peças P3. As peças são
vendidas por R$ 20,0, R$ 25,0 e R$ 30,0, respectivamente P1, P2 e P3. Numa semana
são disponı́veis 450 kg de matéria-prima, 120 h de mão-de-obra e 600 kwh de energia.
A demanda semanal de P1 é no máximo 500 unidades e a demanda de P2 é sempre
maior que duas vezes a demanda de P3. Formular maximizando a receita semanal.

5) Uma fábrica utiliza nas suas instalações carvão mineral (CM), carvão vegetal (CV) e
energia elétrica (EE). Cada unidade de energia (UNE) baseada em CM custa R$ 12,5,
assim como cada UNE baseada em CV custa R$ 10,5 e cada UNE baseada em EE
custa R$ 15,0. Para a produção mensal é necessário 2.000 UNE. Existem a disponibi-
lidade de 1000 UNECM, 800 UNECV e 3000 UNEEE. Nos processos que se utilizam
UNECV necessariamente se utiliza no mı́nimo metade de UNEEE juntamente. Devido
as polı́ticas ambientais vigentes não se pode utilizar mais do que 1200 UNE baseadas
em carvão mineral ou carvão vegetal.
Modelar usando a programação linear para obter um custo mı́nimo no consumo de
engergia.

6) Determinada empresa apresenta os seguintes dados de produção. Produz quatro pro-


dutos denominados P, Q, Z e X. Possui dois recursos de produção denominados Recurso
A e Recurso B, cada um com uma capacidade máxima de 2.000 minutos por dia. A
necessidade de utilização dos recursos produtivos por unidade de produto é a seguinte:
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 14

Tabela 4: consumo de recursos por unidade de produto

Recurso/Produto P Q Z X
Recurso A 20 min 40 min 10 min 30 min
Recurso B 60 min 50 min Não usa 40 min

O mercado absorve diariamente até 20 unidades de P, 20 unidades de Q, 60 unidades de


Z e 20 unidades de X. A margem de contribuição unitária por produto é de R$ 100,00
para os produtos P, Q e X e de R$ 200,00 para o produto Z. A estrutura fixa da
empresa é de R$ 16.000,00 por dia. Qual seria o mix otimizado para a empresa,
formular o problema?

7) Uma fábrica produz nas suas instalações mesas, cadeiras e bancos. Cada mesa é vendida
por R$ 350, assim como cada cadeira é vendida por R$ 120 e cada banco é vendido
por R$ 60. Para se produzir cada banco é necessário 0,5 m2 de madeira, 10 conectores
e 2 horas de trabalho. Para a mesa é necessário 3 m2 de madeira, 12 conectores e 12
horas de trabalho e para a cadeira é necessário 4 horas de trabalho, 1 m2 de madeira
e 10 conectores.
Existem a disponibilidade de 300 m2 de madeira, 2000 conectores e 800 horas de
trabalho. Além disso, deseja-se fabricar no máximo 20 bancos e um número de cadeiras
igual ou maior a 4 vezes o número de mesas.
Modelar usando a programação linear para obter um lucro máximo.

8) Uma célula de produção com 4 postos de trabalho (1 operador por posto, op1, op2,
op3 e op4) produz três produtos (p1, p2, p3 e p4). Cada operador absorve uma
carga de trabalho de no máximo 80 horas. O produto 1 consome 2; 3; 4; e 3 horas,
respectivamente, operadores op1 a op4. O produto 2 consome 2; 2; 1; e 2 horas,
respectivamente, operadores op1 a op4. O produto 3 consome 3; 2; 2; e 2 horas,
respectivamente, operadores op1 a op4. O produto 4 consome 1; 1; 2; e 2 horas,
respectivamente, operadores op1 a op4. Modelar utilizando da melhor maneira a carga
de trabalho de cada operador. (2015)
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 15

2.3 Análise Gráfica


A resolução gráfica pode ser usada dependendo do número de variáveis de decisão. Pois a
representação exige um eixo para cada variável de decisão.
Dessa maneira, problemas envolvendo duas variáveis de decisão necessitam de um gráfico
com duas dimensões, já os problemas com três variáveis são resolvidos em três dimensões,
dificultando por vezes a visualização.
Considerando isso, a resolução gráfica fica inviabilizada para problemas com mais de três
variáveis de decisão, nesses casos deve-se usar algum método analı́tico.

2.3.1 Procedimentos
O gráfico é feito usando-se um eixo para cada variável de decisão. Todas as restrições devem
ser representadas graficamente.
Cada inequação vai dividir o espaço em duas regiões. A Região de Aceitação é o espaço de
respostas para todas as restrições simultaneamente. Quando não existe região de aceitação,
o problema não tem resposta.
Na Programação Linear, onde a função objetivo é um plano, os pontos que maximizam
ou minimizam estão na fronteira da região de aceitação. Portanto a busca pelo Ponto Ótimo,
aquele que maximiza ou minimiza a função objetivo, é feita pesquisando-se os vértices da
região de aceitação.
Definido o ponto ótimo, podemos definir as Folgas, o quanto sobra de recurso escasso em
cada restrição quando o nı́vel de produção (ponto ótimo) é utilizado.

2.3.2 Exemplo
Max. Z= 30.xa + 50.xb
Sujeito A 2xa + xb ≤ 16 (para o cobre)
xa + 2.xb ≤ 11 (para o zinco)
xa + 3.xb ≤ 15 (para o chumbo)
xa ≥ 0
xb ≥ 0
A solução gráfica indica uma região de aceitação com cinco vértices. O vértice que produz
o máximo valor (ponto ótimo) é aquele formado pela interseção da fronteira da restrição para
o cobre e para o zinco (conforme a Fig. 3).
Com a

2.3.3 Exercı́cios
1) Resolva graficamente, mostrando a região de pontos viáveis (região de aceitação), in-
dicando o ponto ótimo.
Max. Z= −10.x + 15.y
Sujeito A x + y ≤ 12
2.x + 5.y ≤ 40
x≥2
x≤8
y≥1
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 16

Figura 3: Resolução gráfica configurada com o ponto ótimo e a região de aceitação

xa

zinco 15 chumbo

ponto ótimo
10

cobre
5

região de aceitação

0
0 5 10 15 xb

2) Resolva graficamente o problema de Programação Linear.


Max. Z= 2.x1 + x2
Sujeito A x1 + 4.x2 ≤ 24
x1 + 2.x2 ≤ 14
2.x1 − x2 ≤ 8
x1 − x 2 ≤ 3
x1 ≥ 0
x2 ≥ 0

3) Resolva graficamente
Min. Z= −x1 + 2.x2
Sujeito A −x1 + x2 ≤ 1
6.x1 + 4.x2 ≤ 24
x1 ≥ 0
x2 ≥ 2

4) Resolva graficamente
Min. Z= 2.x1 + x2
Sujeito A 4.x1 − 5.x2 ≤ 40
5.x1 + 8.x2 ≤ 40
9.x1 − 6.x2 ≥ 0
x1 ≥ 0
x2 ≥ 2
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 17

2.4 Exercı́cios Complementares


1) Resolva graficamente
Max. Z = x + 2y
S.A.
x+y ≥7
2x + y ≤ 20
x + 2y ≤ 20
x−y ≤9
x≥0
y≥0
2) Resolva graficamente
Max. Z = x1 + 2x2
S.A.
x1 ≤ 13
x2 ≤ 10
x1 + x2 ≤ 16
−x1 + x2 ≤ 8
x1 − x2 ≤ 11
x1 ≥ 0
x2 ≥ 0
3) Resolva graficamente
Max. Z = 2x1 + x2
S.A.
x1 ≤ 8
x2 ≤ 10
x1 + x2 ≤ 12
x1 ≥ 3
x2 ≥ 2
x1 ≥ 0
x2 ≥ 0
4) Concurso Petrobras (2008) - Engenheiro de Produção Júnior
Considere o seguinte problema de Programação Linear:
Max. z = 3x1 + x2
s.a.
6x1 + 3x2 ≥ 12
4x1 + 8x2 ≥ 16
6x1 + 5x2 ≤ 30
6x1 + 7x2 ≤ 36
x1 ,x2 ≥ 0
Qual é a solução ótima?
(A) x1 = 0 e x2 = 2
(B) x1 = 0 e x2 = 4
(C) x1 = 0 e x2 = 5
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 18

(D) x1 = 4 e x2 = 0
(E) x1 = 5 e x2 = 0

5) Concurso Petrobras (2008) - Engenheiro de Produção Júnior


Uma pequena loja de móveis produz três tipos diferentes de mesa: A, B e C. Cada uma
requer um determinado tempo para o corte das peças componentes, para a montagem
e para a pintura. Alternativamente, a mesa do tipo C também pode ser vendida sem
a pintura. A disponibilidade de funcionários e a prática do serviço vêm permitindo
que os tempos de execução tenham comportamento bastante regular. Assim, a tabela
abaixo apresenta:

ˆ os tempos de execução de cada serviço para cada produto, em horas.homem;


ˆ o lucro de cada tipo de mesa produzida, em reais;
ˆ a capacidade máxima de produção de cada serviço, em horas.homem.

Mesa Corte Montagem Pintura Lucro


(h.h) (h.h) (h.h) (R$)
A 3 4 5 50,00
B 1 2 5 40,00
C 4 5 4 80,00
C sem pintura 4 5 0 60,00
Capacidade 150 250 350

Desejando-se maximizar o lucro, qual é a solução ótima?

(A) A = 0, B = 50, C = 25 e Csem = 0


(B) A = 25, B = 25, C = 25 e Csem = 0
(C) A = 0, B = 25, C = 50 e Csem = 0
(D) A = 0, B = 50, C = 50 e Csem = 0
(E) A = 25, B = 50, C = 50 e Csem = 0

6) Considerando a região de aceitação da figura escreva as restrições do modelo de progra-


mação linear e determine o ponto ótimo assumindo que a função objetivo é Minimizar
Z = 2 x1 + x2 ? (2015)
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 19

x1
10

região de aceitação 4

0
0 1 2 3 4 5 6 7 8 9 10 x2

7) Representar graficamente a região de aceitação (2015)


Maximizar Z = x1 + 2 x2


 x1 ≥ 2

−2 x1 + x2 ≥ 4
Sujeito A

 x2 ≤ 8

2 x1 + x2 ≤ 12
x1 ≥ 0
x2 ≥ 0

2.5 O problema de Programação linear


A representação gráfica se aplica nos casos bem mais simples de apenas duas variáveis de
decisão (x1 , x2 ), em geral o número de variáveis é muito maior, o que impossibilita visuali-
zações gráficas.

Ao estruturarmos um problema sob a forma de um modelo matemático, o intuito é o de


nos ajudar no processo de decisão: que atividade empreender e o quanto de cada uma, a fim
de satisfazer de um dado objetivo.

Programação Linear é uma ferramenta de planejamento que nos ajuda a selecionar que
atividades (variáveis de decisão) empreender, dado que essas atividades (diversas alternati-
vas) competem entre si pela utilização de recursos escassos (restrições) ou então precisam
satisfazer certos requisitos mı́nimos. O objetivo será maximizar (ou minimizar) uma função
das atividades, geralmente lucros (perdas).
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 20

2.5.1 Formulação Genérica

Função Objetivo
Maximizar Z= c1 .x1 + c2 .x2 + . . . + cn .xn

Restrições Principais {

Sujeito A a11 .x1 + a12 .x2 + . . . + a1n .xn b1
{ ≥

a21 .x1 + a22 .x2 + . . . + a2n .xn b
≥ 2
......... {

am1 .x1 + am2 .x2 + . . . + amn .xn b
≥ m
onde bi ≥ 0 para i=1,. . ., m

Restrições de não Negatividade


x1 ≥ 0, x2 ≥ 0, . . . . . . , xn ≥ 0
O problema resume-se na maximização (ou minimização) de uma função objetivo, sujeita a
restrições também lineares.

2.5.2 Interpretação Econômica


n são as atividades que competem sendo x1 , . . . . . . , xn seus nı́veis de atividade.

cj é o aumento de Z por unidade de atividade j.

m são os recursos escassos cujos nı́veis são b1 , . . . . . . , bm .

aij é o quanto de recurso i é consumido pela atividade j.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 21

3 O Método do Simplexo
O Método do simplexo é um algoritmo iterativo convergente, que pesquisa os vértices do
poliedro de restrições, passando, em cada iteração f de um vértice para outro vértice com
valor associada não pior que o anterior. Em um número finito de iterações, o algoritmo
fornece.
- A solução ótima
- A indicação da inexistência da solução
O Método do Simplexo explora o fato de o máximo, ou o mı́nimo da função objetiva, ocorrer
num vértice do poliedro convexo de restrições.

3.1 Algoritmo Simplexo - Exemplo


Max. Z= 30.x1 + 50.x2
Sujeito A 2x1 + x2 ≤ 16
x1 + 2.x2 ≤ 11
x1 + 3.x2 ≤ 15
x1 ≥ 0
x2 ≥ 0

Forma padrão para escrever os dados

Atividades x Variável de Folgas b


A (coeficientes das restrições) I(matriz b(coeficientes)
identidade) independentes)
-c (coeficientes da função objetiva) 0 0

Atividades Folgas
x1 x2 y1 y2 y3 b
1o Tableau 16
2 1 1 0 0 16 1

11
1 2 0 1 0 11 2

1 3
 0 0 1 15 15
3

-30 -50 0 0 0 0 6
@
I menor relação
@ mais negativo

Procedimento:

1) Selecionar a coluna j com o valor mais negativo;


bi
2) Ache, para todas as linha i, a menor relação aij
com aij > 0: O valor de aij assim
escolhido será o pivô.

3) Agora proceda á operação-pivô, que torna o coeficiente da xij igual a 1 e todos os


outros coeficientes da coluna j nulos.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 22

(a) divida a linha i por aij .


(b) em todas as outras linhas de r, para cada elemento da coluna k, calcular ark =
aij
ark − aik .arj .
(c) fazer o cálculo do item b também para a lilha c.

4) Repita as etapas 1,2,3 até que não haja mais valores negativos na última linha c.

Atividades Folgas
x1 x2 y1 y2 y3 b
2o Tableau
5/3

0 1 0 −1/3 11
1/3 0 0 1 −2/3 1

1/3 1 0 0 1/3 5
−40/3 0 0 0 50/3 250

Atividades Folgas
x1 x2 y1 y2 y3 b
3o Tableau 
0 0 1 -5 3
 6
1 0 0 3 −2 3
0 1 0 -1 1 4
0 0 0 40 −10 290

Atividades Folgas
x1 x2 y1 y2 y3 b
4o Tableau
0 0 1/3 -5/3 1 2
1 0 2/3 -1/3 0 7
0 1 -1/3 2/3 0 2
0 0 10/3 70/3 0 310
Resultados
Z = 310
x1 = 7
x2 = 2
x3 = 0
y1 = 0
y2 = 0
y3 = 2
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 23

3.2 Exercı́cios
1) Resolva pelo Simplexo:
Max. Z= 2.x1 + x2
Sujeito A x1 + x2 ≤ 5
x1 + 2.x2 ≤ 8
x1 ≤ 4
x1 ≥ 0
x2 ≥ 0
Resultados: Zmáx.= 9; x1 = 4; x2 = 1; x3 = 0; x4 = 2; x5 = 0

2) Resolva pelo Simplexo:


Max. Z = 7.x1 + 3.x2 + 2.x3
Sujeito A 5.x1 + 2.x2 + 2.x3 ≤ 19
2.x1 + x2 + 2.x3 ≤ 8
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Resultados: Zmáx.= 27; x1 = 3; x2 = 2; x3 = 0; x4 = 0; x5 = 0

3) Resolva pelo Simplexo:


Max. Z = 2.x1 + 5.x2 + 7.x3
Sujeito A x1 + 3.x2 + 6.x3 ≤ 12
2.x1 + 3.x2 ≤ 9
x3 ≤ 2
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Resultados: Zmáx.= 37/2; x1 = 0; x2 = 3; x3 = 1/2; x4 = 0; x5 = 0; x6 = 3/2

4) Resolva pelo Simplexo:


Min. Z = x1 + 2x2 − x3
Sujeito A −x1 + x2 − 4x3 ≤ 30
2x1 − x2 + 2x3 ≤ 10
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Resultados: Zmı́n.= −5; x1 = 0; x2 = 0; x3 = 5; x4 = 50; x5 = 0

3.3 Exercı́cios Complementares


1) Resolver pelo método Simplexo
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 24

Max. Z = 3x1 + x2
S.A.
x1 − x2 ≤ 4
x1 ≤ 7
x1 + x2 ≤ 12
x2 ≤ 10
−5x1 + x2 ≤ 5

x1 ≥ 0
x2 ≥ 0
Resultados: Zmáx.= 26; x1 = 7; x2 = 5; x3 = 2; x4 = 0; x5 = 0; x6 = 5; x7 = 35

2) Resolver pelo método Simplexo


Max. Z = 3x1 + x2
S.A.
x1 − x2 ≤ 5
x1 ≤ 7
x1 + x2 ≤ 11
x2 ≤ 9

x1 ≥ 0
x2 ≥ 0
Resultados: Zmáx.= 25; x1 = 7; x2 = 4; x3 = 2; x4 = 0; x5 = 0; x6 = 5

3) Resolver pelo método Simplexo


Max. Z = x1 + 2x2
S.A.
x1 ≤ 8
x2 ≤ 7
x1 + x2 ≤ 10
−x1 + x2 ≤ 5

x1 ≥ 0
x2 ≥ 0
Resultados: Zmáx.= 17; x1 = 3; x2 = 7; x3 = 5; x4 = 0; x5 = 0; x6 = 1

4) Montar o primeiro tableau (método simplexo) do modelo: (2015)


Minimizar Z = 2 x1 + 3 x2 − x3

 x1 + 2 x2 + 2 x3 ≤ 90
Sujeito A x1 + x2 − 2 x3 ≤ 100

2 x1 + x2 ≤ 70
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 25

5) Montar o modelo a partir do primeiro tableau: (2015)


x1 x2 x3 x4 x5 x6 b
0 1 2 1 0 0 12
1 -1 1 0 1 0 10
-1 2 2 0 0 1 12
-2 -3 2 0 0 0 0

6) Desenvolver o próximo tableau da resolução por simplexo: (2015)


x1 x2 x3 x4 x5 x6 x7 b
1,0 2,0 1,0 1,0 0,0 0,0 0,0 30,0
-1,0 2,0 2,0 0,0 1,0 0,0 0,0 36,0
1,0 2,0 0,0 0,0 0,0 1,0 0,0 22,0
0,0 1,0 2,0 0,0 0,0 0,0 1,0 22,0
-4,0 -4,0 -5,0 0,0 0,0 0,0 0,0 0,0

7) Quais são os resultados do tableau: (2015)


x1 x2 x3 x4 x5 x6 b
1,0 0,0 1,0 0,0 -2,0 0,0 18,0
0,0 0,0 1,0 1,0 1,0 0,0 15,0
0,0 -1,0 0,0 0,0 0,0 1,0 8,0
0,0 0,0 0,0 0,0 0,0 0,0 92,0

3.4 Problemas Especiais de Formulação


3.4.1 Formulação
1) Conversão de Mı́nimizar para Maximizar na Função Objetivo:
O Simplexo, resolve apenas problemas de maximização. Devemos converter os proble-
mas de minimização, fazendo: M ax(Z′) = M in(Z), onde Z′ = −Z

2) xj livre:
Uma variável é livre quando não tem condições de não negatividade.
Resolve-se introduzindo as variáveis xj ′ e xj ′′.
Com
xj = xj ′ − xj ′′xj ′ ≥ 0xj ′′ ≥ 0 (1)
E resolvendo o problema nas novas variáveis.
Exemplo
Max. Z= 4.x1 + x2 + 3.x3
Sujeito A x1 − 2.x2 + x3 = 20
x1 + 5.x2 − 2.x3 ≤ 50
x1 ≥ 0
x2 ≥ 0
x3 livre

3.4.2 Dificuldades Durante a Solução pelo Método do Simplexo


1) Empate para decidir qual a variável que deve entrar na base, isto é −cj = −ck .
Escolha arbitrariamente qualquer um dos dois. De qualquer modo, o ótimo será atin-
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 26

gido. Não podemos, entretanto, garantir, a priori, qual a melhor escolha do ponto de
vista de terminar o problema em um menor número de iterações.

2) Empate para sair da Base


A degenerescência vai resultar em que uma variável básica será nula no Tableau se-
guinte. Do ponto de vista geométrico, isto corresponde a ativar duas restrições simul-
taneamente.
Decida arbitrariamente. O Tableau seguinte terá a outra variável candidata á base
igual a zero. Se a variável escolhida for a seguinte a deixar a base, o valor da função
objetiva não mudará nesta iteração. Pode resultar em circuito vicioso.

Exemplo: Caso de degenerescência

Primeiro Tableau

x1 x2 x3 x4 x5 b
1 0 1 0 0 4
0 1 0 1 0 6
3 2 0 0 1 12
-3 -5 0 0 0 0

No empate para sair da base, escolha a segunda linha

3.5 Método do Simplexo - Fase I/Fase II


O Método do Simplexo requer uma solução básica já no primeiro Tableau.
Quando existem restrições do tipo = ou ≥, não teremos uma solução inicial.

A resolução pelo Simplexo é feita então em duas fases.

A Fase I encontrará (se possı́vel) a solução inicial e a Fase II termina de otimizar o va-
lor da função objetiva.

Se a Fase I não encontrar uma solução inicial, poderemos concluir que não existe solução.

A Fase II é exatamente aquela que nós já estudamos.

3.5.1 Procedimento para a Fase I


1) Além das variáveis de folga, serão introduzidas variáveis artificiais, da seguinte maneira:

sinal variável de folga variável artificial


≤ +
≥ − +
= +
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 27

2) Escreva o tableau inicial incluindo a linha Z.

3) Adicione mais uma linha no tableau inicial, a linha W.


Preencha a linha Z, somando os coeficientes das linhas superiores que tenham variável
artificial e trocando o sinal do resultado. Faça isto nas colunas das variáveis normais,
de folga e na coluna b. Nas colunas das variáveis artificiais inclua zero.

4) Aplique o algoritmo simplexo, tomando como base de decisão para quem deve entrar
na base a linha W.

5) Quando a Fase I terminar, ou seja, quando na linha W não mais tiver números nega-
tivos, e a coluna b estiver zerada, a Fase I teve sucesso.

6) Para a Fase II, elimine a linha W, e as colunas das variáveis artificiais.

7) O primeiro Tableau da Fase II, poderá já ser o Tableau Final.

3.5.2 Exemplo
Max. Z= −x1 − 6.x2 + 7.x3 − x4 − 5.x5
Sujeito A 5.x1 − 4.x2 + 13.x3 − 2.x4 + x5 ≥ 20
x1 − x2 + x3 − x4 + x5 = 8
2.x1 + x2 − x3 + 4.x4 ≤ 15
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
x4 ≥ 0
x5 ≥ 0
x1 x2 x3 x4 x5 x6 x7 y1 y2 b
5 -4 +13 -2 1 -1 0 1 0 20
1 -1 1 -1 1 0 0 0 1 8
Primeiro Tableau - Fase I
2 1 -1 4 0 0 1 0 0 15
1 6 -7 1 5 0 0 0 0 0
-6 5 -14 3 -2 1 0 0 0 -28

3.5.3 Exercı́cios
1) Resolva pelo Simplexo Fase I/Fase II:
Max. Z= 2.x1 + x2 + x3
Sujeito A 3.x1 + 4.x2 + x3 = 5
x1 + x2 + 2.x3 = 3
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 28

3.5.4 Exercı́cios complementares


1) Resolva pelo Simplexo Fase I/Fase II:
Max. Z = x1 + 2x2
S.A. x1 + x 2 ≥ 6
x1 + 3x2 ≥ 12
x2 ≥ 2
x1 ≤ 16
x2 ≤ 10

x1 ≥ 0
x2 ≥ 0

2) Resolva pelo Simplexo Fase I/Fase II:


Max. Z = 2x1 + x2
S.A. x2 ≥ 1
x1 + 3x2 ≥ 6
x1 + x2 ≥ 4
x1 − x2 ≤ 8
x1 + x2 ≤ 12

x1 ≥ 0
x2 ≥ 0

3) Considerando o primeiro tableau abaixo, descrever o modelo de programação linear


correspondente: (2015)
2,0 4,0 3,0 1,0 0,0 0,0 0,0 1,0 0,0 18,0
2,0 2,0 2,0 2,0 -1,0 0,0 0,0 0,0 1,0 16,0
1,0 4,0 2,0 -1,0 0,0 1,0 0,0 0,0 0,0 40,0
2,0 3,0 2,0 1,0 0,0 0,0 1,0 0,0 0,0 45,0
Z -2,0 -4,0 -2,0 2,0 0,0 0,0 0,0 0,0 0,0 0,0
W -4,0 -6,0 -5,0 -3,0 1,0 0,0 0,0 0,0 0,0 -34,0

4) Resolver aplicando o método simplexo (2015)


Min. Z = 3 x1 + 2 x2 + x3
{
3 x1 − x2 + 2 x3 ≥ 8
Sujeito A
2 x1 + x2 + 3 x3 ≥ 12
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 29

4 Análise de Sensibilidade
4.1 Introdução
A resposta final de um problema de Programação Linear, muitas vezes, tem valor limitada.

Além da simples resposta do valor das variáveis, devemos saber o que acontece com elas,
se existir variações nos coeficientes dados no problema original.

Muitas vezes queremos saber, quanto podemos variar nos coeficientes da função objetiva
e na quantidade de recursos escassos de maneira que aquela resposta final otimizada (as
alternativas que devemos usar) não será modificada.

A análise de sensibilidade é feita de maneira muito fácil, analisando os dados do primeiro e


último Tableau.

4.2 Exemplo
x1 x2 x3 x4 x5 x6 x7 b
1 1 1 1 1 0 0 35
Primeiro Tableau 1 4 2 2 0 1 0 80
2 3 6 1 0 0 1 90
-5 -4 -6 8 0 0 0 0
x1 x2 x3 x4 x5 x6 x7 b
1 3/4 0 5/4 3/2 0 -1/4 30
Último Tableau 0 11/4 0 5/4 -1/2 1 -1/4 40
0 1/4 1 -1/4 -1/2 0 1/4 5
0 5/4 0 51/4 9/2 0 1/4 180

4.2.1 Variação na Função Objetivo


a) Decréscimo em cj para xj não básico

Se a variável xj não é básica, diminuir o coeficiente da função objetiva cj torna a


atividade menos atrativa ainda. Então não temos limite para este decréscimo.

Decréscimo em cj para xj não básico ⇒ sem limite

No exemplo dado, o decréscimo não tem limite em 4, coeficiente de x2 e em 8, coeficiente


de x4 .

b) Acréscimo em cj para xj não básico

No último Tableau, na linha de custo reduzido, podemos notar valores positivos para
as variáveis não básicas (x2 e x4 ). Se estes valores fossem negativos, o processo de
otimização continuaria, e estas variáveis seriam candidatas a entrar na base.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 30

Para que isto aconteça, basta aumentar o valor inicial do coeficiente cj , exatamente no
valor encontrado no último Tableau.

Acréscimo em cj para xj não básico ⇒ limite no último Tableau

No exemplo dado, o limite para acréscimo de 4, coeficiente de x2 é 5/4, e para o 8,


coeficiente de x4 é 51/4.

c) Acréscimo e Decréscimo cm cj para xj básico

Para conhecer estes limites, vamos acrescer o coeficiente da função objetiva de um


valor genérico γ. A partir disso vamos simular a última linha de custo reduzido do
último Tableau, fazendo:
Z′ = Z + γ.x1
Da última linha do último Tableau

Z = 180 − 5/4.x2 − 51/4.x4 − 9/2.x5 − 1/4.x7

Da primeira linha do último Tableau

x1 = 30 − 3/4.x2 − 5/4.x4 − 3/2.x5 + 1/4.x7

Z′ = (180 + 30.γ) − (5/4 + 3/4.γ).x2 − (51/4 + 5/4.γ).x4


− (9/2 + 3/2.γ).x5 − (1/4 − 1/4.γ).x7
Os coeficientes que acompanham as variáveis na função Z’ devem permanecer positivos.
Portanto o limite da variação do coeficiente que acompanham as variáveis é zero. Então
fazemos:
5/4 + 3/4.γ ≥ 0 ⇒ γ ≥ −5/3
51/4 + 5/4.γ ≥ 0 ⇒ γ ≥ −51/5
9/2 + 3/2.γ ≥ 0 ⇒ γ ≥ −3
1/4 − 1/4.γ ≥ 0 ⇒ γ≤1
Os limites, para acréscimo e decréscimo são os mais ”apertados”. Portanto:

Limite para acréscimo em c1 ⇒ 1


Limite para decréscimo em c1 ⇒ 5/3

Para obter os limites para c3 procedemos de maneira similar.

4.2.2 Variação na Quantidade de Recursos Escassos


a) Acréscimo em bi para restrição com folga

Se o recurso escasso tem folga, um aumento na sua quantidade só vai aumentar o
valor final da folga. Portanto, não existe limite para acréscimo.

Acréscimo em bi para restrição com folga ⇒ sem limite


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 31

No exemplo, não existe limite para acréscimo para b2 .


b) Decréscimo em bi para restrição com folga

Se o recurso escasso tem folga, o limite para decréscimo na sua quantidade é a própria
folga.

Decréscimo em bi para restrição com folga ⇒ o limite é o valor da folga

No exemplo, o limite para decréscimo para b2 é 40.


c) Acréscimo e decréscimo em bi para restrição sem folga

Vamos simular um acréscimo genérico γ no valor de bi estudado.


No exemplo vamos simular b1 igual a 35+γ.
Então temos a coluna b como sendo:
 
35 + γ
 
 80 
 
90
Que pode ser reescrita como:
   
35 1
   
 80  +  0  .γ
   
90 0

No último Tableau as colunas se transformam em:


   
30 3/2
   
 40  +  −1/2  .γ
   
5 −1/2
Os valores das variáveis básicas passam a ser:

 3

 x1 = 30 + .γ

 2

1
x6 = 40 − .γ

 2



 x3 = 5 − .γ 1
2
Como os valores da coluna b nunca podem assumir valores negativos, temos os limites
para γ sendo impostos desta maneira:

 3

 30 + .γ ≥ 0 γ ≥ −20

 2

1
40 − .γ ≥ 0 ⇒ γ ≤ 80

 2


 1
 5 − .γ ≥ 0 γ ≤ 10
2
Os limites, para acréscimo e decréscimo são os mais ”apertados”. Portanto:
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 32

Limite para acréscimo em b1 ⇒ 10


Limite para decréscimo em b1 ⇒ 20
Para obter os limites para b3 procedemos de maneira similar.

4.2.3 Preço Sombra


Quanto efetuamos um acréscimo de uma unidade numa quantidade de Recurso Escasso que
não tenha folga, vamos ter um acréscimo correspondente no valor do Z máximo. Este valor
é chamado de preço Sombra ou benefı́cio marginal deste recurso escasso.
Podemos identificar o preço sombra para cada quantidade de recurso escasso diretamente no
último Tableau, na linha linha de custo reduzido, na coluna da variável de folga correspon-
dente.
Preço Sombra para bi ⇒ último Tableau
No exemplo temos, o preço sombra para b1 igual a 9/2, o preço sombra para b3 igual a 1/4
e o preço sombra para b2 igual a 0 pois o recurso escasso tem folga e não obtemos nenhum
benefı́cio aumentando a sua quantidade.

4.3 Exercı́cio - Problema - Alocação de Recursos


Dados Iniciais
Itens em Produção
Conjunto ALFA Conjunto BETA Conjunto GAMA

Disponibilidade de Recursos
mão-de-obra: 3520 H.h. por mês
estoque de madeira: 10.000 m2 por mês

Processo de Fabricação
e Alocação Inicial de Mão-De-Obra
a) Corte ⇒ 704 H.h. d) Pintura ⇒ 528 H.h.
b) Preparação ⇒ 1232 H.h.
c) Montagem ⇒ 704 H.h. e) Embalagem ⇒ 352 H.h.

Utilização Unitária dos Recursos

Recursos Conjunto Conjunto Conjunto Alocação Inicial Realocação


Alfa Beta Gama Recurso/Seção de Recurso
Corte 0,4 0,3 0,3 704 H.h. 704 H.h.
Preparação 0,8 0,4 0,6 1.232 H.h. 1.364 H.h.
Montagem 0,25 0,4 0,4 704 H.h. 704 H.h.
Pintura 0,2 0,2 0,2 528 H.h. 484 H.h.
Embalagem 0,06 0,1 0,05 352 H.h. 264 H.h.
Madeira 3 4,5 6 10.000 m2
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 33

Contribuição Unitária

Conjunto Contribuição Unitária (R$ )


Alfa 21,00
Beta 19,50
Gama 22,00

Modelagem

Variáveis de Decisão
x1 = número de conjuntos ALFA
x2 = número de conjuntos BETA
x3 = número de conjuntos GAMA

Função Objetivo (maximizar o lucro)


Max. Z = 21.x1 + 19,5.x2 + 22.x3

Restrições (condições devido aos recursos escassos)

0,4.x1 +0,3.x2 +0,3.x3 ≤ 704 (corte)


0,8.x1 +0,4.x2 +0,6.x3 ≤ 1.232 (preparação)
0,25.x1 +0,4.x2 +0,4.x3 ≤ 704 (montagem)
0,2.x1 +0,2.x2 +0,2.x3 ≤ 528 (pintura)
0,06.x1 +0,1.x2 +0,05.x3 ≤ 352 (embalagem)
3.x1 +4,5.x2 +6.x3 ≤ 10.000 (madeira)
x1 ≥ 0 x2 ≥ 0 x3 ≥ 0

Primeiro Tableau
1 0,350 0,400 0,300 1,000 0,000 0,000 0,000 0,000 0,000 704,000
2 0,450 0,300 0,400 0,000 1,000 0,000 0,000 0,000 0,000 1232,000
3 0,350 0,350 0,400 0,000 0,000 1,000 0,000 0,000 0,000 704,000
4 0,350 0,450 0,200 0,000 0,000 0,000 1,000 0,000 0,000 528,000
5 0,070 0,110 0,040 0,000 0,000 0,000 0,000 1,000 0,000 352,000
6 3,000 4,500 6,000 0,000 0,000 0,000 0,000 0,000 1,000 10000,000
Z -19,000 -20,000 -23,000 0,000 0,000 0,000 0,000 0,000 0,000 0,000
Último Tableau
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 34

1 0,000 0,000 0,000 1,000 0,000 -0,500 -0,500 0,000 -0,000 88,000
2 0,000 0,000 0,000 0,000 1,000 -2,308 0,385 0,000 0,074 554,051
3 1,000 0,000 0,000 0,000 0,000 9,231 -1,539 0,000 -0,564 45,129
4 0,000 1,000 0,000 0,000 0,000 -7,692 4,615 0,000 0,359 611,282
5 0,000 0,000 0,000 0,000 0,000 0,154 -0,292 1,000 -0,007 234,174
6 0,000 0,000 1,000 0,000 0,000 1,154 -2,692 0,000 0,179 1185,641
Z 0,000 0,000 0,000 0,000 0,000 48,077 1,154 0,000 0,590 40352,820

4.4 Exercı́cios complementares


1) Dado o primeiro e o último tableau, verificar a sensibilidade de todos os coeficientes
da função objetiva bem como de todas quantidades de recursos escassos,
Primeiro Tableau
1 1,0 1,0 2,0 2,0 1,0 0,0 0,0 0,0 360,0
2 4,0 2,0 1,0 1,0 0,0 1,0 0,0 0,0 380,0
3 2,0 1,0 1,0 1,0 0,0 0,0 1,0 0,0 400,0
4 1,0 2,0 0,0 1,0 0,0 0,0 0,0 1,0 260,0
Z -4,0 -6,0 -4,0 -8,0 0,0 0,0 0,0 0,0 0,0
Último Tableau
1 1/3 0,0 4/3 1,0 2/3 0,0 0,0 -1/3 460/3
2 3,0 0,0 1,0 0,0 0,0 1,0 0,0 -1,0 120,0
3 4/3 0,0 1/3 0,0 -1/3 0,0 1,0 -1/3 580/3
4 1/3 1,0 -2/3 0,0 -1/3 0,0 0,0 2/3 160/3
Z 2/3 0,0 8/3 0,0 10/3 0,0 0,0 4/3 4640/3

2) Dado o primeiro e o último tableau, verificar a sensibilidade de todos os coeficientes


da função objetiva bem como de todas quantidades de recursos escassos. (2015)
Primeiro Tableau
1 2,0 2,0 1,0 1,0 1,0 0,0 0,0 0,0 380,0
2 2,0 1,0 2,0 1,0 0,0 1,0 0,0 0,0 320,0
3 4,0 2,0 2,0 2,0 0,0 0,0 1,0 0,0 300,0
4 4,0 4,0 6,0 2,0 0,0 0,0 0,0 1,0 360,0
Z -9,0 -7,0 -5,0 -6,0 0,0 0,0 0,0 0,0 0,0
Último Tableau
1 0,0 0,0 -2,0 0,0 1,0 0,0 0,0 -0,5 200,0
2 0,0 0,0 1,0 0,0 0,0 1,0 -0,5 0,0 170,0
3 2,0 0,0 -1,0 1,0 0,0 0,0 1,0 -0,5 120,0
4 0,0 1,0 2,0 0,0 0,0 0,0 -0,5 0,5 30,0
Z 3,0 0,0 3,0 0,0 0,0 0,0 2,5 0,5 930,0
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 35

3) Considerando o primeiro e o último tableau, fazer a análise de sensibilidade de todos


os coeficientes da função objetivo e de todas as quantidades de recurso escasso : (2015)
2,00 1,00 1,00 1,00 1,00 0,00 0,00 0,00 60,00
2,00 1,00 0,00 1,00 0,00 1,00 0,00 0,00 36,00
0,00 1,00 0,00 1,00 0,00 0,00 1,00 0,00 30,00
1,00 1,00 1,00 0,00 0,00 0,00 0,00 1,00 36,00
-4,00 -2,00 -2,00 -1,00 0,00 0,00 0,00 0,00 0,00

0,00 -0,50 0,00 0,50 1,00 -0,50 0,00 -1,00 6,00


1,00 0,50 0,00 0,50 0,00 0,50 0,00 0,00 18,00
0,00 1,00 0,00 1,00 0,00 0,00 1,00 0,00 30,00
0,00 0,50 1,00 -0,50 0,00 -0,50 0,00 1,00 18,00
0,00 1,00 0,00 0,00 0,00 1,00 0,00 2,00 108,00

5 Solver

5.1 Introdução
O Solver é um módulo do Excel que permite-nos de uma forma muito simples e rápida
obter soluções para problemas de programação linear.

5.2 Exemplo
Como exemplo, vamos resolver o exercı́cio envolvendo a companhia ALT-M que produz
móveis de escritório que, por questões de marketing, agrupou em três conjuntos básicos
cujos modelos são: ALFA, BETA E GAMA. Exercı́cio resolvido e analisado em sala.
Em geral o módulo Solver não está disponı́vel no arranque do Excel. Devemos ativá-lo
no menu Ferramentas - Suplementos. Para rodar o módulo Solver selecione a função
Solver no menu Ferramentas.
Organize as informações pertinentes da melhor forma possı́vel em uma planilha.
(Exemplo: última folha).

ˆ reserve uma célula para a fórmula do cálculo de Z (E17)(=B18*B5+C18*C5+D18*D5)

ˆ calcule os recursos escassos consumidos (coluna E linhas 9 a 14)


(E9 ⇐ =B9*B5+C9*C5+D9*D5)
(E10 ⇐ =B10*B5+C10*C5+D10*D5)
(E11 ⇐ =B11*B5+C11*C5+D11*D5)
(E12 ⇐ =B12*B5+C12*C5+D12*D5)
(E13 ⇐ =B13*B5+C13*C5+D13*D5)
(E14 ⇐ =B14*B5+C14*C5+D14*D5)
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 36

ˆ rode o Solver

ˆ no parâmetro Definir célula destino (conforme figura acima) coloque a célula reser-
vada para o Z ($E$18).

ˆ no parâmetro Células variáveis coloque as células das variáveis de decisão ($B$5:$D$5)

ˆ no parâmetro Submeter às restrições coloque as restrições usando Adicionar.

ˆ no parâmetro Opções marque conforme Figura abaixo.

ˆ aplique Resolver
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 37

ˆ aplique Continuar até

ˆ marque Resposta, Sensibilidade, Limites e OK.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 38

6 O problema Dual

6.1 Caracterização
Os problemas de programação linear postos na forma padrão (Primal) admitem um pro-
blema paralelo chamado Dual.
As condições para o ponto ótimo são as mesmas, tanto para o problema Primal quanto
para o Dual. Ou seja, os dois problemas têm a mesma solução.
Se o Primal é de maximização o Dual é de minimização, ou vice-versa. Cada variável no
Primal é equivalente a uma restrição no problema Dual e vice-versa.

6.2 Explicação econômica


Dado um problema onde existem duas ou mais máquinas (alternativas) que consomem re-
cursos escassos produzindo lucro.
O Primal pode ser representado como:

Primal

n
Max. Z= cj xj
∑ j=1
Sujeito A aij xj ≤ bi (i = 1, . . . , m)
xj ≥ 0 ∀ i
Onde o objetivo é maximizar o lucro (Z) considerando as variáveis de decisão (xj ) como
sendo a quantidade de cada tipo de máquina considerando seu lucro unitário (cj ).
O problema Dual representaria a opção de venda das máquinas:

Dual

m
Min. L= bi y i
∑ i=1
Sujeito A aij yj ≥ cj (j = 1, . . . , n)
yj ≥ 0 ∀ i
L é o preço mı́nimo de venda das máquinas, igual ao lucro máximo (Z) obtido na produção
com elas.
Notar a inversão dos coeficientes da função objetivo (cj ) com as quantidades de recursos
escassos (bj ) entre Primal e Dual, e a manutenção dos coeficientes tecnológicos (aij ) nos dois
problemas.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 39

6.3 Exemplos

Max. Z = 4x1 + x2
Sujeito A 9x1 + x2 ≤ 18
Primal 3x1 + x2 ≤ 12
x1 ≥ 0
x2 ≥ 0

Min. L = 18y1 + 12y2


Sujeito A 9y1 + 3y2 ≥ 4
Dual y1 + y2 ≥ 1
y1 ≥ 0
y2 ≥ 0

Solução:
Primal
Último tableau
Primeito tableau
1,0 0,0 1/6 -1/6 1,0
9,0 1,0 1,0 0,0 18,0
3,0 1,0 0,0 1,0 12,0 0,0 1,0 -1/2 3/2 9,0
-4,0 -1,0 0,0 0,0 0,0 0,0 0,0 1/6 5/6 13,0

Dual
Primeito tableau Último tableau
9,0 3,0 -1,0 0,0 1,0 0,0 4,0 1,0 0,0 -1/6 1/2 1/6
1,0 1,0 0,0 -1,0 0,0 1,0 1,0
0,0 1,0 1/6 -3/2 5/6
18,0 12,0 0,0 0,0 0,0 0,0 0,0
-10,0 -4,0 1,0 1,0 0,0 0,0 -5,0 0,0 0,0 1,0 9,0 -13,0

Nos detalhes:

ˆ resultado igual a 13,0, tanto no Primal quanto no Dual;


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 40

ˆ valor das variáveis do Primal são iguais aos valores dos preços sombras para as variáveis
correspondentes no Dual e vice-versa.

6.4 Exercı́cio
1) Resolver aplicando o método simplexo (2015)
Min. Z = 3 x1 + 2 x2 + x3
{
3 x1 − x2 + 2 x3 ≥ 8
Sujeito A
2 x1 + x2 + 3 x3 ≥ 12
x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 41

7 Pert - Redes de Precedência

7.1 Caracterização
As redes de precedência são uma maneira de representar graficamente a seqüência de ativida-
des de um projeto, obedecendo sua ordem temporal e as restrições de precedência. Existem
diversas técnicas para elaboração dessas redes. As mais conhecidas são PERT (Program
Evaluatiom and Review Technique) e CPM (Critical Path Method ), entre outras tais como
P-PERT, PERT-Custo, GERT, PDM e Corrente Crı́tica.
PERT - Desenvolvido pela marinha Americana para o planejamento e controle do Pro-
grama do Mı́ssil Polaris. A ênfase foi completar o programa em menor tempo possı́vel.

Figura 4: Mı́ssil Polaris (US Navy em Domı́nio Público)

CPM - Desenvolvido pela Du Pont para resolver problemas de sequenciamento de proje-


tos. A ênfase foi o conflito entre o custo do projeto e seu tempo total de execução.

7.2 Redes
As redes são graficadas a partir de dois elementos: as atividades, representadas por setas,
que consomem tempo; e os eventos, representados por cı́rculos, marcando o inı́cio ou término
de uma ou mais atividades.

ˆ Atividade = tarefa que consome tempo

ˆ Evento = término de uma ou mais atividades


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 42

evento atividade evento

?
'$ ? ?
'$
A -
1 2
&%4h &%
6

tempo
7.3 Caminho Crı́tico
O caminho crı́tico de uma rede de precedência é a seqüência de atividades, entre o primeiro
e o último evento, que consome maior tempo. Ou seja, é o mı́nimo tempo que o projeto vai
demandar, se não houver atrasos na execução dessas atividades crı́ticas.

Exemplo: Num projeto de lançamento de um novo produto foi programado, com base
na rede PERT acima, o tempo necessário para a sua execução. Na qualidade de gestor
do projeto, a qual seqüência de atividades você dispensaria maior atenção, ojetivando não
atrasas o lançamento do produto (caminho crı́tico)(MEC - Provão 1999).

* 2 @


 
A E  @F
 @
  5 4@
3
   @ 
 @
R
1 B - 3 G - 5
HH 3  2
H @ 
HH @
HDH @C H
2 H 6@
H 3
H @
R
H
j 4
H

Para determinar o caminho crı́tico basta verificar todas possibilidades de “rotas”entre o pri-
meiro e o último evento, aquela seqüência que somar o tempo máximo é o caminho crı́tico.
Dessa maneira:

ˆ A+F =9

ˆ B + E + F = 10

ˆ B+G=5

ˆ B + C + H = 12

ˆ D+H =5

Assim a seqüência crı́tica de atividades é BCH.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 43

7.4 Modelagem das Redes de Precedência


As redes de precedência podem ser modeladas matematicamente usando-se a Programação
Linear. Nesse caso, as variáveis de decisão irão controlar os tempos de cada evento, sendo a
função objetivo minimizar o tempo do último evento. O conjunto de restrições será deter-
minado pelas atividades.

Exemplo:
Como exemplo vamos modelar a seguinte rede de precedência:

* 2 @


   @F
A
 E @
  5 4@
 3
  @ 
 B @
R
1 - 3 G - 5
HH 3  2
H @ 
HH @
HD @C H
HH
2 H 6@ 3
HH 
@
R
j 4
H


As variáveis de decisão são:

ˆ x1 = tempo do evento 1

ˆ x2 = tempo do evento 2

ˆ x3 = tempo do evento 3

ˆ x4 = tempo do evento 4

ˆ x5 = tempo do evento 5

A função objetivo fica:


M in.Z = x5
E o conjunto de restrições:

ˆ x2 − x1 ≥ 5 (Atividade A)

ˆ x3 − x1 ≥ 3 (Atividade B)

ˆ x4 − x3 ≥ 6 (Atividade C)

ˆ x4 − x1 ≥ 2 (Atividade D)

ˆ x2 − x3 ≥ 3 (Atividade E)

ˆ x5 − x2 ≥ 4 (Atividade F)

ˆ x5 − x3 ≥ 2 (Atividade G)
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 44

ˆ x5 − x4 ≥ 3 (Atividade H)

Além das restrições de não negatividade:

ˆ x1 ≥ 0

ˆ x2 ≥ 0

ˆ x3 ≥ 0

ˆ x4 ≥ 0

ˆ x5 ≥ 0

7.5 Formação das Redes de Precedência


O passo inicial para a montagem das redes de precedência é a organização das atividades do
projeto em ordem indicando o sequenciamento, ou seja indicando qual(is) atividade(s) são
antecessoras imediatas.

@ 
@
@
@
Atividades @
R
Atividade -

antecessoras
imediatas 

@
@
@
@
@
R

Exemplo: Uma empresa de consultoria pretende reorganizar uma indústria de maneira


a diminuir o tempo de fabricação de um dos seus produtos, ou seja, cadeira de espaldar
alto. Como vai utilizar a técnica de PERT/CPM, fez um levantamento de todas as tarefas
necessárias para a produção da cadeira. Este levantamento é apresentado na tabela e gráfico
seguintes (MEC - Provão 2000):
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 45

Atividades Duração da
Atividade antecessoras tarefa -
imediatas (Dias)
A - Compra e entrega de matéria-prima -.- 2
B - Corte e preparação de madeira A 1
C - Preparação da estrutura metálica da base A 3
D - Acabamento da madeira B 4
E - Pintura da base C 4
F - Controle de qualidade da madeira D 5
G - Controle de qualidade da base metálica E 2
H - Montagem e embalagem FeG 5
As atividades declaradas na tabela podem então, obedecendo as restrições quanto ativi-
dades antecessoras imediatas, serem desenhadas na forma de rede de precedência:
 
3 D - 5
4 
 @
B @F
1 @
5 @
  
@
R 
1 A - 2 7 H - 8
2  5 
@ 
@ G
@C 2
3 @  
@
R E4 - 6
4 

As “rotas”possı́veis entre o primeiro e o último evento são:

ˆ A + B + D + F + H = 17

ˆ A + C + E + G + H = 16

Dessa maneira, as atividades A-B-D-F-H formam o caminho crı́tico.

7.6 Detalhamento das Redes de Precedência


As redes de precedência podem ser detalhadas através da indicação das datas dos eventos e
das folgas das atividades.
As atividades do caminho crı́tico ser caracterizam por não terem folga, isso quer dizer
que qualquer atraso na execução dessas atividades, hávera atraso no tempo do projeto total.
Mas, as outras atividades que compõem o projeto e não são do caminho crı́tico podem, por
algum motivo, sofrerem atrasos, sem prejuı́so do término do projeto. Esse tempo de atraso
é a folga da atividade.
Os eventos ocorrem em datas adequadas de acordo com o desenvolvimento do projeto.
A data adequada dos eventos que fazem parte do caminho crı́tico é uma só. Quer dizer,
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 46

teremos uma data fixada para ocorrer determinado evento. Mas, os outros eventos que não
fazem parte do caminho crı́tico não tem uma data fixa para ocorrer, e sim podem variar
entre duas datas: a data mais cedo e a data mais tarde do evento.
Tanto a folga nas atividades (fA ), quanto a data mais cedo (dmc) e a data mais tarde
(dmt) dos eventos são determinados através do detalhamento da rede de precedência:

............. .............
............ ................. ............ .................
..... ..... ..... .....
...... ... .
. .... ...
.. ... .. ...
...
.... i ...
... Ak .
-...
.
.... j ...
...
... .. ..
.
... ...
. ... ..
...dmci dmti .. tk ; fk ... dmcj dmtj ..
... .
.... ... .... ...
.....
........ .
........ .....
.......... .
........
................................. .............................

Sendo que a folga de cada atividade é igual a data mais tarde do evento posterior menos
a data mais cedo do evento anterior menos o tempo da atividade:
fA = dmtj − dmci − tA (2)
Primeiro determina-se a data mais cedo de cada evento calculando do primeiro ao último
evento somando-se os tempos de cada atividade. Adota-se o maior tempo no caso de duas
atividades chegarem no mesmo evento. O data mais cedo do evento 1 pode ser uma data
de calendário ou como no exemplo igual a zero (unidade de tempo). Dessa maneira, a data
mais cedo do evento 3 é calculada: dmc3 = dmc1 + tB = 0 + 3 = 3. Note que o evento 3 é
precedente ao evento 2.
A data mais cedo do evento 2 é calculada considerando o maior tempo, entre: dmc2 =
dmc1 + tA e dmc2 = dmc3 + tE , ou seja: dmc2 = dmc3 + tE = 3 + 3 = 6.
#
2
*
 @
 "!6
@
 
 @ F
A  @
  E
 @
 5 4 @

3 @
#  # @ #
 @
R
1 B - 3 G - 5
HH 3 0 3 2 12
"! "! @ "!
HH @
H
HH @
H D @C H
HH @
H 6 @
2 HH 3
H #R
@
HH
j 4
H
9
"!

A data mais cedo do último evento é o tempo crı́tico da rede de precedência, no exemplo:dmc5 =
12.
A determinação da data mais tarde de cada evento é feita do último para o primeiro
evento. Inicialmente repete-se a data mais tarde igual a data mais cedo no último evento e
diminui-se os tempos das atividades.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 47

Dessa maneira, a data mais tarde do evento 2 é calculada: dmt2 = dmt5 −tF = 12−4 = 8.
Considera-se a menor resposta obtida. Assim a data mais tarde do evento 3 é calculada
considerando-se os valores: dmt3 = dmt2 − tE ou dmt3 = dmt5 − tG ou dmt3 = dmt4 − tC ,
resultado em dmt3 = dmt4 − tC = 9 − 6 = 3, o menor valor.
#
2
*

 "!6 8 @
 @
  @ F
A  @
  E
 @
 5 4 @

3 @
#  # @ #
 @
R
1 B - 3 G - 5
0 0 H 3 3 3 2 12 12
"! H "! @ "!
HH @
H
HH @
H D @C H
HH @
H 6 @
2 HH 3
H #R
@
HH
j 4
H
9 9
"!

Agora podemos calcular a folga de cada atividade utilizando 2.


#
2
*

  6 8 @
 "! @
   @ F
A  @
 E
  @
 5; 3 4; 2 @


3; 2 @
#  # @ #
 @
R
1 B - 3 G - 5
0 0 H 3 3 12 12
"! HH 3; 0 "! @ 2; 7 "!
H HH @
@
HH @C
HDH @
H
HH 6 @
2; 7 H #R
@
3; 0
HH
H
j 4
H
9 9
"!

7.7 Exercı́cios
Detalhar as redes de precedência:
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 48

Atividades Duração da
Atividade antecessoras tarefa -
imediatas (Dias)
1) A -.- 3
B A 2
C B 2
D C 2

Atividades Duração da
Atividade antecessoras tarefa -
imediatas (Dias)
2)
A -.- 3
B -.- 2
C AeB 2

Atividades Duração da
Atividade antecessoras tarefa -
imediatas (Dias)
A -.- 3
3) B A 2
C A 2
D B 2
E C 1
F DeE 2

Atividades Duração da
Atividade antecessoras tarefa -
imediatas (Dias)
A -.- 3
B A 2
C A 2
4) D B 2
E B 1
F D 2
G E 2
H C 2
I HeG 2
J IeF 2
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 49

7.8 Atividades fantasmas


As restrições de precedência conter ambiguidades ou restrições adicionais. Algumas vezes ,
a solução é adotar atividades extras para poder exprimir a rede de precedência, chamadas
comumente de atividades fantasmas.
Considerando a seguinte condição de tarefas:

Atividades Duração da
Atividade antecessoras tarefa -
imediatas (Dias)
A − 3
B − 2
C A 2
D B 2
E C 2
F C, D 2
... ... ...

A C E

B D F

A atividades E depende do término da atividade C, e não também da atividade D. Para


corrigir essa ambiguidade usamos uma atividade fantasma:
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 50

C E

fantasma
B

D F

Nesse caso a atividade fantasma não demanda tempo e o detalhamento da rede de pre-
cedência é feito da mesma maneira.
Este próximo exemplo também pode ser corrigido com a adição de uma atividade fan-
tasma:

Atividades Duração da
Atividade antecessoras tarefa -
imediatas (Dias)
A − 3
B A 2
C A 2
D B, C 2

A B D

Aplicando a atividade fantasma:

A B D

C
fantasma
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 51

7.9 Restrições adicionais


Podem ocorrer que a rede de precedência seja sujeita a restrições adicionais que podem ser
representadas com a ajuda de atividades fantasmas.

1) Se uma atividade só deve começar quanto outra tiver terminada, ou após a consecução
de um dado evento, ou após um prazo mı́nimo decorrido desde o inı́cio do projeto.

a τ a τ a
X
τ

b
τ = tempo

Nesses casos a atividade fantasma é caracterizada com um determinado perı́odo de


tempo.
2) No caso de restrições disjuntivas, quando duas atividades não poderem ser executadas
ao mesmo tempo (ambas usando o mesmo recurso, por exemplo)
No exemplo abaixo a atividade A e B utilizam o mesmo recurso e não podem serem
feitas ao mesmo tempo, teremos duas opções sequenciando as atividades em série, A
depois B, ou B depois A. A melhor alternativa é aquela que resulta o melhor tempo
crı́tico, por exemplo.

a
b

ou
b
a

7.10 Exercı́cios
1) As tarefas E e H possuem restrições adicionais conforme a tabela seguinte. Montar e
detalhar a rede de precedência.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 52

Atividades
Duração da
Atividade antecessoras Restrição
tarefa - (Dias)
imediatas
A − 2
B A 3
C A 2
D A 2
Após 6 dias do inı́cio do
E B 3
projeto
F B 2
G C, E 3
Após 6 dias do término da
H D, F, G 2
atividade C

2) As tarefas D e G utilizam o mesmo recurso M1, da mesma forma as tarefas B e C


utilizam o mesmo recurso M2, conforme a tabela seguinte. Montar e detalhar a rede
de precedência considerando as tarefas que utilizam o mesmo recurso sendo realizadas
em série. Verificar qual é a melhor situação.

Atividades
Duração da
Atividade antecessoras Restrição
tarefa - (Dias)
imediatas
A − 2
B A 3 Recurso M2
C A 2 Recurso M2
D B 3 Recurso M1
E B 2
F C 3
G C 2 Recurso M1
H D 3
I E, F 2
J G 3
K H, I, J 2

3) As máquinas M1 e M2 são recursos que trabalham em única atividade (por vez).


Resolver a rede de precedência com as restrições disjuntivas considerando todas as
possibilidades e indicar a melhor. (2015)
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 53

Atividade Dependência Imediata Tempo (dias) Restrição adicional


A – 4
B – 3
C A 4
D A 2
E B 3 usa a máquina M1
F A, B 3 usa a máquina M2
G C 4 usa a máquina M1 e M2
H D, E 2
I F, G, H 3

4) Resolver a rede de precedência e fazer o gráfico da necessidade de recurso com a mellhor


situação de nivelamento. (2015)
Atividade Dependência Imediata Tempo (dias) Recurso (ur)
A – 3 2
B – 2 3
C – 2 3
D A, B 2 3
E B, C 4 4
F C, A 3 3
G C 4 3
H D, E, F 2 4
I E, F 2 3
J G, H, I 4 4
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 54

7.11 Método Francês - diagrama de blocos


A representação da rede de precedência pode ser feita alternativamente usando-se blocos na
forma de um diagrama, onde cada atividade é representada por um bloco e a precedência é
considerada aplicando-se setas entre os blocos.
O detalhamento nos blocos pode abranger, alem do tempo da atividades e a folga, as
datas de inı́cio da atividade, primeira e última, e as datas de término das atividades, também
primeira e última (Figura 5).

Figura 5: Representação com diagrama, detalhando: duração, folga, primeira e última data de
inı́nicio e primeira e última data de término.
Atividade
Duração Folga
PDI PDT
UDI UDT

Figura 6: app Android (do Prof.) para PERT

7.11.1 Exemplo

Para exemplificar vamos utilizar um exercı́cio já feito com o método americano (Figura 7).
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 55

Figura 7: Exemplo representado pelo método americano


#

* 2
 @

 "! @
  @ F
A  @
 E
 @
 5 4 @


3 @
#  # @ #
 R
@
B - G -
1 3 5
"!H 3 "! 2
HH @ "!
HH @
H @
HH @C
HDH @
H
HH 6 @
2 H #@
R
3
HH
H
H
j
4
"!

O mesmo exemplo agora representado com diagrama de blocos (método francês)(Figura 8)

Figura 8: Exemplo representado pelo método francês

A F
5 4

E
3

B G
3 2

C
6

D H
2 3

A Primeira Data de Inı́cio é considerada igual a 0 para as atividades iniciais, para as de-
mais atividades é igual a Primeira Data de Término das atividades antecessoras considerando-
se o maior valor.
Por seu turno, a Primeira Data de Término é igual a Primeira Data de Inı́cio da atividade
mais duração menos, conforme Figura 9.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 56

Figura 9: Indicação e cálculo das Primeira Data de Inı́cio e Primeira Data de Término

A F
5 4
0 5 E 6 10

B 3 6 G
3 2
0 3 C 3 5

D 3 9 H
2 3
0 2 9 12

A maior Primeira Data de Término das atividades (tempo crı́tico) torna-se a Última Data
de Término das últimas atividades do projeto. Para as demais atividades a Última Data de
Término é igual a menor Última Data de Inı́cio dos eventos precedentes.
O Última Data de Ínicio é calculada subtraindo-se a duração da Última Data de Término,
conforme Figura 10.

Figura 10: Indicação e cálculo das Última Data de Inı́cio e Última Data de Término

A F
5 4
0 5 E 6 10
3 8 3 8 12

B 3 6 G
3 5 8 2
0 3 C 3 5
0 3 6 10 12

D 3 9 H
2 3 9 3
0 2 7 12
7 9 9 12
Finalmente o cálculo da folga é feito a partir da diferença entre a Última Data de Término
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 57

menos a Primeira Data de Inı́cio ou, Última Data de Término menos a Primeira Data de
Término, conforme Figura 11.

Figura 11: Cálculo das folgas

A F
5 3 4 2
0 5 E 6 10
3 8 3 2 8 12

B 3 6 G
3 0 5 8 2 7
0 3 C 3 5
0 3 6 0 10 12

D 3 9 H
2 7 3 9 3 0
0 2 9 12
7 9 9 12
A descrição das Primeira Data de Inı́cio, Última Data de Inı́cio, Primeira Data de Tér-
mino e Última Data de Término facilitam o posicionamento de cada atividade dentro da
faixa de tempo possı́vel. Por exemplo, em problemas envolvendo nivelamento de recurso, o
conhecimento das datas de inı́cio e término facilitam encontrar a melhor possibilidade.

7.12 Programação e nivelamento de recursos


O método francês indicando as datas de inı́cio, primeira e última, e as datas de término,
primeira e última, facilita o posicionamento das atividades em gráficos de tempo versus o
consumo de recurso quando se busca o nivelamento.
A questão do nivelamento de recursos evita “picos” indesejáveis, melhorando a necessidade
ao longo do projeto, ou possibilitando respeitar a disponibilidade máxima do recurso. A
Tabela 5 apresenta um exemplo de rede de precedência indicando a necessidade de mão-de-
obra de cada atividade.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 58

Tabela 5: Dados de um projeto com necessidade de mão-de-obra


Necessidade de
Atividade Duração Dependência
mão-de-obra (H.h.)
A 2 - 5
B 2 A 3
C 4 A 7
D 8 BeC 2
E 3 C 3
F 5 BeC 5
G 6 DeE 6
H 3 C 2

O resultado da rede de precedência pode ser visualizado na Figura 12.

Figura 12: Rede de precedência do exemplo da Tabela 5

D
8 0
G
B 6 14
6 0
2 2 6 14
14 20
2 4
14 20
A 4 6 E
2 0 3 5
0 2 6 9
H
0 2 C 11 14
3 11
4 0
6 9
2 6 F
17 20
2 6 5 9
6 11
15 20

De posse do detalhamento da rede de precedência com as datas das atividades pode-se


representar o gráfico de recursos, buscando a melhor situação de nivelamento. As atividades
do caminho crı́tico, A, C, D e G, vão aparecer na parte inferior, elas não possuem flexibilidade
de deslocamento. As outras atividades não crı́ticas são posicionadas dentro da faixa de datas
possı́veis, obedecendo a precedência e configurando a melhor situação de nivelamento.
Na Figura 13 uma programação inicial, mas que pode ser melhorada com o deslocamento
das atividades H e E.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 59

13Figura 13: Programação dos recursos buscando nivelamento


12
11
H
10
9 B E
8
7
6
5 F
4
3
C G
2
A
1
D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Tanto a atividade H quanto E podem ser deslocadas buscando o nivelamento, a Última


Data de Término da atividade H é 20, e a Última Data de Término da atividade E é 14, ver
Figura 12. Dessa maneira, precisa-se de no máximo 10 horas de mão-de-obra no ponto de
máxima utilização (Figura 14).

13Figura 14: Programação dos recursos com melhor situação


12
11
10
9 B
8
7
6
H
5 F
4
C E G
3
2
A
1
D
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

7.13 Exercı́cios
1) Resolver a rede de precedência (método francês) e fazer o gráfico da necessidade de
recurso com a mellhor situação de nivelamento.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 60

Atividade Dependência Imediata Tempo (dias) Recurso


A – 3 15
B – 3 6
C – 3 11
D A 3 11
E A 4 10
F B 3 11
G B 3 4
H D 2 5
I D 3 4
J C,F e H 3 5
K E 3 3

2) Resolver e detalhar a rede de precedência (método francês) considerando todas as


alternativas no uso em série do recurso M1 (restrição adicional) fazendo o gráfico da
necessidade de mão-de-obra com a melhor situação de nivelamento.
Atividade Dependência Imediata Tempo (dias) Restrição Mão-de-obra (H.h)
A – 2 5
B – 3 4
C – 3 3
D A 2 recurso M1 3
E A 3 recurso M1 6
F B 3 4
G B 3 4
H D, E 2 2
I F, G 3 4
J C, H 3 5

3) As máquinas M1 e M2 são recursos que trabalham em única atividade (por vez).


Resolver a rede de precedência com as restrições disjuntivas considerando todas as
possibilidades e indicar a melhor. (2015)
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 61

Atividade Dependência Imediata Tempo (dias) Restrição adicional


A – 4
B – 3
C A 4
D A 2
E B 3 usa a máquina M1
F A, B 3 usa a máquina M2
G C 4 usa a máquina M1 e M2
H D, E 2
I F, G, H 3

4) Resolver a rede de precedência e fazer o gráfico da necessidade de recurso com a mellhor


situação de nivelamento. (2015)
Atividade Dependência Imediata Tempo (dias) Recurso (ur)
A – 3 2
B – 2 3
C – 2 3
D A, B 2 3
E B, C 4 4
F C, A 3 3
G C 4 3
H D, E, F 2 4
I E, F 2 3
J G, H, I 4 4
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 62

8 Programação Inteira

8.1 Tipos de problemas de programação inteira (PI)


Basicamente podemos dividir os problemas de PI em três tipos:

ˆ Puros - todas as variáveis de decisão são inteiras

ˆ Mistos - algumas variáveis de decisão são inteiras

ˆ Booleanos - variáveis de decisão só apresentam valores inteiros no intervalo [0, 1]

8.2 Programação Inteira e Programação Linear (PL)


ˆ A todo o problema de PI existe um problema de problema de PL correspondente no
qual as restrições de não-fracionariedade são removidas (ou relaxadas)

ˆ Alguns resultados se seguem:

– Espaço de soluções viáveis do PI ⊆ Espaço de soluções viáveis do PI relaxado


– Valor ótimo de Z do PI é no máximo tão bom quanto o valor ótimo do PI relaxado

8.3 Abordagem para solução de problemas de PI


ˆ Resolver seus problemas correspondentes relaxados e arredondar as variáveis de decisão
p/ o maior ou menor inteiro mais próximo

ˆ Dois problemas podem resultar:

– Valores arredondados podem resultar inviáveis no PI


– Soluções resultantes são altamente sub-ótimas

8.4 Método Branch-and-Bound para solução de problemas PIs


puros
Considere o problema de PI:
Max Z = 8 x1 + 5 x2
s.a
x1 + x2 ≤ 6
9 x1 + 5 x2 ≤ 45
x1 ≥ 0, x2 ≥ 0
x1 , x2 inteiros
O método Branch-and-bound é operacionalizado em 5 passos

ˆ Passo 1: Comece resolvendo o PI relaxado.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 63

– Se a solução ótima for inteira, esta é a solução do PI


– Caso contrário, solução ótima do PIR (problema de Programação Inteira Relaxado)
é o limite superior da solução ótima do PI

Solução ótima do PIR dado anteriormente é:


Z ∗ = 165/4
x1 = 15/4
x2 = 9/4

ˆ Passo 2

– Escolha uma variável de decisão fracionária em Z ∗ do PIR:


* por exemplo, x1 = 15/4.
– PI admite valores de x1 ≤ 3 ou x1 ≥ 4, mas não em 3 < x1 < 4

Crie dois subproblemas a partir de x1

– SP2: SP1 + restrição x1 ≥ 4


– SP3: SP1 + Restrição x1 ≤ 3
– SP = subproblema
– Problema designado por SP1 é o próprio problema de PI em estudo, relaxado das
restrições de não-fracionariedade

ˆ Passo 3

– Escolha qualquer SP listado no passo anterior e resolva como se fosse um problema


de PL:
* Por ex., SP2, com solução ótima Z ∗ = 41, x1 = 4 e x2 = 9/5
– Resultados obtidos até agora podem ser apresentados na forma de uma árvore
hierárquica

Arvore hierárquica de solução do problema

SP1: Z ∗ = 165/4, x1 = 15/4, x2 = 9/4

x1 ≥ 4 arco x1 ≤ 3

SP2: Z ∗ = 41, x1 =
4, x2 = 9/5
nodo SP3: Z ∗ =?

ˆ Passo 4
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 64

– Repita o procedimento no Passo 3 usando o SP2 e a variável de decisão fracionária


x2 = 9/5
– Subproblemas resultantes:
* SP4: SP1 +x1 ≥ 4 + x2 ≥ 2 ou SP2 +x2 ≥ 2
* SP5: SP1 +x1 ≥ 4 + x2 ≤ 1 ou SP2 +x2 ≤ 1
– Tem-se três problemas que podem ser resolvidos: SP3, SP4 e SP5

Escolha um para resolução. Por exemplo: SP4

– SP4 não apresenta soluções viáveis, não podendo, assim, gerar uma solução ótima
para o problema de PI:
* Assim, diz-se que este nodo da árvore foi terminado
– Dentre os SPs não resolvidos, escolhe-se o mais recente, SP5:
* Solução vêm apresentada na árvore do problema, a seguir

Arvore hierárquica de solução do problema

SP1: Z ∗ = 165/4, x1 = 15/4, x2 = 9/4

x1 ≥ 4 x1 ≤ 3

SP2: Z ∗ = 41, x1 =
4, x2 = 9/5 SP3: Z ∗ =?

x2 ≥ 2 x2 ≤ 1

SP5: Z ∗ = 365/9, x1 =
SP4: inviável
40/9, x2 = 1

Repita procedimento em (3) usando SP5 e var. fracionária x1

– Subproblemas resultantes são:


* SP6: SP5 +x1 ≤ 5
* SP7: SP5 +x1 ≥ 4
– Três SPs podem ser resolvidos: SP3, SP6 e SP7.
– Escolhe-se, aleatoriamente, um dos mais recentes:
* SP7, por exemplo
– Solução ótima p/ SP7 vem dada na árvore a seguir
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 65

SP7 gera a primeira solução candidata para PI

– Solução só possui valores inteiros p/ a variável de decisão:


* Pode ser interpretada como solução candidata ou um limite inferior no valor
ótimo do problema de PI

SP1: Z ∗ = 165/4, x1 = 15/4, x2 = 9/4

x1 ≥ 4 x1 ≤ 3

SP2: Z ∗ = 41, x1 =
4, x2 = 9/5 SP3: Z ∗ =?

x2 ≥ 2 x2 ≤ 1

SP5: Z ∗ = 365/9, x1 =
SP4: inviável
40/9, x2 = 1

x1 ≥ 5 x1 ≤ 4

SP7:

SP6: Z =? Z ∗ = 37, x1 = 4, x2 = 1
Solução candidata

Problemas SP3 e SP6 ainda não foram resolvidos

– Escolhe-se SP6 (+ recente), com solução dada na árvore a seguir:


* Solução de SP6 é inteira e melhor do que aquela obtida para SP7
* Assim, termina-se nodo da árvore em SP7 (identifica-se o nodo terminado
por um x ou escrevendo solução excluı́da) e atualiza-se o limite inferior da
árvore;
* novo LI = 40

Arvore hierárquica de solução do problema


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 66

SP1: Z ∗ = 165/4, x1 = 15/4, x2 = 9/4

x1 ≥ 4 x1 ≤ 3

SP2: Z ∗ = 41, x1 =
4, x2 = 9/5 SP3: Z ∗ =?

x2 ≥ 2 x2 ≤ 1

SP5: Z ∗ = 365/9, x1 =
SP4: inviável
40/9, x2 = 1

x1 ≥ 5 x1 ≤ 4

SP6:
∗ SP7:
Z = 40, x1 = 5, x2 = 0 ∗
Z = 37, x1 = 4, x2 = 1
Limite Inferior = 37
Solução excluı́da
Solução candidata

Último SP a ser resolvido é SP3

– Solução de SP3 é Z ∗ = 39, x1 = x2 = 3:


* Trata-se de uma solução candidata com Z ∗ < LI
– Assim, nodo SP3 é terminado e SP6 é identificado como a solução ótima para o
problema de PI

8.5 Aspectos importantes do Branch-and-bound p/ PIs puros


ˆ Sempre que não for necessário desdobrar um subproblema, ele deve ser terminado

ˆ Critérios utilizados para terminação são:

– SP não possui soluções viáveis


– SP gera uma solução ótima contendo somente valores inteiros
– SP apresenta um valor de Z ∗ menor (em problemas de PI do tipo Maximização)
que o limite inferior atual

ˆ Um SP é eliminado (passa a ser desconsiderado do problema) sempre que:

– SP não possui soluções viáveis


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 67

– LI (limite inferior) atual é pelo menos tão grande quanto o valor Z ∗ do SP em


questão

ˆ A regra último a entrar, primeiro a sair, que indica qual SP deve ser trabalhado dentre
vários candidatos força o analista a trabalhar um mesmo da ramo da árvore de soluções
até o final:

– Existem outras regras possı́veis

ˆ Quando um SP apresenta solução ótima com duas ou mais variáveis de decisão fracio-
nárias, trabalhe com aquela que representar maior ganho na função objetivo

8.6 Método Branch-and-Bound para solução de PIs mistos


Modifique o algoritmo anterior da seguinte maneira:

ˆ Desdobre somente variáveis de decisão restritas a não-fracionárias

ˆ Considere a solução ótima de um SP como sendo uma solução candidata à solução


ótima do problema de PI quando esta atender às restrições de nãofracionariedade

8.7 Exercı́cios
1) Exercı́cio 1
PI puro
Min Z = 4 x1 + 5 x2
s.a:
x1 + 4 x2 ≥ 5
3 x1 + 2 x2 ≥ 7
x1 , x2 ≥ 0 e inteiros

2) Exercı́cio 2
PI misto
Max Z = 2 x1 + x2
s.a:
5 x1 + 2 x2 ≤ 8
x1 + x2 ≤ 3
x1 , x2 ≥ 0; x1 inteiro
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 68

8.8 Exemplo Branch-and-Bound em problemas de sequenciamento


de trabalhos em máquinas
Apresentação do problema

ˆ Suponha 4 trabalhos a serem processados numa mesma máquina.

ˆ Tempo necessário p/ processamento de cada trabalho e datas de entrega:

Tempo necessário (dias) Data de entrega


Trabalho 1 6 Final do dia 8
Trabalho 2 4 Final do dia 4
Trabalho 3 5 Final do dia 12
Trabalho 4 8 Final do dia 16

ˆ Atraso do trabalho é medido pelo número de dias após a data de entrega em que o
trabalho é completado:

– Trabalhos finalizados na data de entrega ou antes têm atraso zero

ˆ Determine a ordem de processamento dos trabalhos que minimize o atraso total

{
1, quando o trabalho i for processado na posição j
Variáveis de decisão xij =
0, caso contrário

ˆ Considere o último trabalho a ser processado:

– Qualquer que seja a sequência, ela terá x14 = 1, x24 = 1, x34 = 1 ou x44 = 1.
Assim, cria-se uma árvore com quatro nodos e calcula-se o limite inferior no atraso
total associado a cada nodo
– Cálculo do atraso para o quarto trabalho é: x44 = 1, ou seja, o trabalho 4 seria
completado com atraso total de 23 − 16 dias. Os 23 dias foram obtidos somando
(6 + 4 + 5 + 8)

Aplicar mesmo raciocı́cio p/demais trabalhos na posição 4

ˆ Resultados na árvore de solução a seguir:


Melhor sequenciamento

x14 = 1 x24 = 1 x34 = 1 x44 = 1

NODO 1: NODO 2: NODO 3: NODO 4:


D ≥ 15 D ≥ 19 D ≥ 11 D≥7
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 69

ˆ Limite inferior no atraso total é D ≥ 7:

– ou seja, posicionando-se o trabalho 4 na quarta posição, obtem-se o menor atraso


total

Escolhe-se nodo c/ menor atraso D (nodo 4) p/ continuar o método

ˆ Qualquer sequência associada ao nodo 4 deve ter x13 = 1, x23 = 1 ou x33 = 1

ˆ Cálculo do limite inferior LI de atraso é similar àquele visto anteriormente:

– x33 = 1, ou seja, trabalho 3 seria completado com atraso total de 15 − 12 dias. Os


15 dias foram obtidos somando (6 + 4 + 5). O atraso total será de pelo menos 3
+ 7 dias (D ≥ 10)

Continuando a desdobrar pelo mesmo ramo

ˆ Escolhe-se nodo 7 (menor valor de D) para desdobrar

ˆ Qualquer sequência associada a este nodo deve ter x12 = 1 ou x22 = 1. Os atrasos
totais são:

– Nodo 9: sequência 1-2-3-4. Atraso total: 7(tr.4) + 3(tr.3) + (6+4-4)(tr.2) +


0(tr.1) = 16 dias
– Nodo 8: sequência 2-1-3-4. Atraso total: 7(tr.4) + 3(tr.3) + (4+6-8)(tr.1) +
0(tr.2) = 12 dias 31

Qualquer solução com D > 12 pode desconsiderada

ˆ Com isto, termina-se os nodos 1, 2, 5, 6, e 9.

ˆ Arvore de resultados parciais é dada na sequência

Árvore parcial de resultados


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 70

Melhor sequenciamento

x14 = 1 x24 = 1 x34 = 1 x44 = 1

NODO 1: NODO 2: NODO 3: NODO 4:


D ≥ 15 D ≥ 19 D ≥ 11 D≥7

x13 = 1 x23 = 1 x33 = 1

NODO 5: NODO 6: NODO 7:


D ≥ 14 D ≥ 18 D ≥ 10

x12 = 1 x32 = 1

NODO 8: NODO 9:
D = 12 D = 16

Desdobra-se o nodo 3

ˆ Qualquer sequência deve ter x13 = 1, x23 = 1 ou x43 = 1.

ˆ Cálculo do limite inferior de atraso é:

– x13 = trabalho 1 completo no final do dia (8 + 4 + 6) = 18 − 8 = 10 + 11 = 21


– x23 = trabalho 2 completo no final do dia (8 + 4 + 6) = 18 − 4 = 14 + 11 = 25
– x43 = trabalho 4 completo no final do dia (8 + 4 + 6) = 18 − 16 = 2 + 11 = 13

ˆ Sequência ótima é 2 − 1 − 3 − 4. Atraso total é de 12 dias

Arvore final de resultados


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 71

Melhor sequenciamento

x14 = 1 x24 = 1 x34 = 1 x44 = 1

NODO 1: NODO 2: NODO 3: NODO 4:


D ≥ 15 D ≥ 19 D ≥ 11 D ≥ 14

x13 = 1 x23 = 1 x43 = 1 x13 = 1 x23 = 1 x33 = 1

NODO 10: NODO 11: NODO 12: NODO 5: NODO 6: NODO 7:


D ≥ 21 D ≥ 25 D ≥ 13 D≥7 D ≥ 18 D ≥ 10

x12 = 1 x32 = 1

NODO 8: NODO 9:
D = 12 D = 16

8.9 Exercı́cios
1) Aplique o algoritmo Branch-and-Bound para resolver o problema de PI: (2015)
Minimizar Z = 2 x1 + x2
{
x1 + x2 ≥ 6
Sujeito A
−x1 + x2 ≤ 3
x1 ≥ 0 (inteiro); x2 ≥ 0 (inteiro)

2) Aplique o algoritmo Branch-and-Bound para resolver o problema de programação in-


teira envolvendo o sequenciamento de tarefas em uma máquina objetivando minimizar
o tempo total de atraso: (2015)
Tempo necessário (dias) Data de entrega
Tarefa 1 8 Final do dia 10
Tarefa 2 6 Final do dia 10
Tarefa 3 6 Final do dia 14
Tarefa 4 8 Final do dia 14
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 72

9 Programação Dinâmica

9.1 Caracterização
A Programação Dinâmica é uma técnica que resolve problemas de otimização considerando
a soluçao de sub-problemas, partes do problema original.

9.2 Aplicações
A Programação Dinâmica pode ser aplicada a diversos tipos de problemas de otimização,
entre eles: Problema de viagem e Problema de estoques.

9.3 Problema de viagem


Nos problemas envolvendo uma viagem são fornecidos posições (cidades): inicial, final e
intermediárias, e caminhos entre estas cidades. Os caminhos podem indicar sentido ou não.
Geralmente o objetivo e minimizar o custo da viagem entre a posição inicial (origem) e a
posição final (destino).

Exemplo: Determinar o caminho com menor custo entre as cidades A e J conforme


Figura ??.

Figura 15: Custo da viagem entre as diversas cidades


4
B E
6
4
4
6 H
10 7
5 8
9

A C F J
12 5
3 9
7 I
3
11
D G

Para a determinação do problema original resolve-se problemas secundários, ou seja,


determina-se a viagem com menor custo das outras cidades retroagindo de J para A.
Dessa maneira o mı́nimo custo para as cidades H e J são 5 e 7 respectivamentes.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 73

Figura 16: Custo para as cidades H e I


4
B E
6

4
4
H:7
10

6
7

9
5 8
A C F J
12 5
3 9
7 I:5
3
11
D G

Da mesma forma, retroagindo, o mı́nimo custo para as cidades E, F e G são respectiva-


mente 13, 17 e 8:

Figura 17: Custo para as cidades E, F e G

4
B E:13
6
4
4

H:7
6

10 7
9

5 8
A C F:17 J
12 5
9
3

I:5
7

3
11
D G:8

Da mesma forma, o mı́nimo custo para as cidades B, C e D são respectivamente 17, 15 e


19:
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 74

Figura 18: Custo para as cidades B, C e D

4
B:17 E:13
6

4
H:7
4

10

6
7

9
5 8
A C:15 F:17 J
12 5
9
3

I:5
7

3
11
D:19 G:8

E finalmente resolvendo o problema original, o mı́nimo custo para as cidades A é 20:

Figura 19: Custo para a cidades A

4
B:17 E:13
6
4
4

H:7
10
6

7
9

5 8
A:20 C:15 F:17 J
12 5
9
3

I:5
7

3
11
D:19 G:8

9.4 Problema de estoque (produção discreta)


Geralmente o problema condiciona a programar a produção de uma fábrica objetivando o
menor custo de produção e estocagem.
O custo de produção também pode ser considerado como o custo do pedido para o caso
de itens comprados.
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 75

Exemplo: Determinar a programação da produção considerando minimização dos custos


referentes a produção e estocagem. A empresa produz dois tamanhos de lotes, 500 e 1000
peças com custo de produção de $ 500 e $ 800 respectivamente. O custo mensal por peça
de estocagem é de $ 0,2. Programar a produção para os 5 meses subsequentes considerando
a seguinte previsão de vendas. Considere estoque inicial igual a 1500 peças e estoque final
igual a zero.
Mês 1 2 3 4 5
Vendas - Previsão 1.500 1.000 500 500 1500

Resolução: Usando método retroativo, considerando as seguintes variáveis:


Xi = Estoque ao final do mês i;
Pi = Decisão = Quanto produzir no mês i;
Di = Demanda do mês i = Previsão de vendas no mês i.
O estágios de otimização são associados a cada mês (k = 0,1,2,3,4);

Figura 20: Modelo

P1 =? P2 =? P3 =? P4 =? P5 =?

X0 = 1.500 X1 X2 X3 X4 X5 = 0
1 2 3 4 5

D1 = 1.500 D2 = 1.000 D3 = 500 D4 = 500 D5 = 1.500


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 76

10 Provas anteriores

20171-P1

Responda/Resolva as Questões

1) Representar graficamente a região de aceitação


Maximizar Z = 3 x1 + 2 x2


 x1 ≥ 4



x1 + 2 x2 ≥ 8
Sujeito A

 2 x1 + 3 x2 ≤ 36



3 x1 + 2 x2 ≤ 42
x1 ≥ 0
x2 ≥ 0
2) Montar o primeiro tableau (método simplexo) do modelo:
Minimizar Z = −2 x1 + 3 x2 + x3 − 2 x4


 ≤ 220
 x1 + 2 x2 + 4 x3
Sujeito A 2 x2 + 3 x3 − 2 x4 ≤ 310


 3 x + 4 x + 3 x ≤ 450
2 3 4

x1 ≥0
x2 ≥0
x3 ≥0
x4 ≥0
3) Montar o modelo a partir do primeiro tableau:
x1 x2 x3 x4 x5 x6 x7 b
3 -2 1 1 1 0 0 16
2 2 1 -1 0 1 0 12
1 2 1 2 0 0 1 15
2 -2 4 -3 0 0 0 0
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 77

4) Resolver o próximo tableu:


x1 x2 x3 x4 x5 x6 x7 b
3 -2 2 -1 1 0 0 24
2 2 4 2 0 1 0 22
1 2 1 3 0 0 1 24
-2 -2 -3 -4 0 0 0 0
5) Um investidor pretende adquirir ações considerando o risco associado
das opções. Considerando a maximização do lucro presumido, tendo R$
200 para comprar as ações e assumir risco total calculado no máximo
igual a 180 pontos.
ˆ da carteira selecionada temos 3 tipos de ações fechadas em lotes de
6 unidades: A1 por unidade custo R$2, lucro R$2, risco 2; A2 por
unidade custo R$ 3, lucro R$4, risco 3; A3 por unidade custo R$4,
lucro R$5 , risco 4;
ˆ da carteira selecionada temos 3 tipos de ações fechadas em lotes de
4 unidades: A4 por unidade custo R$2, lucro R$2, risco 3; A5 por
unidade custo R$ 3, lucro R$3, risco 4; A6 por unidade custo R$4,
lucro R$5 , risco 5;

Obs.: Devolver esta folha juntamente com a prova.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 78

20171-P2

Responda - Resolva as Questões

1) Resolver aplicando o método simplexo Fase1/Fase2


Max. Z = 4 x1 + 2 x2 + 3 x3


 ≥ 12
 x2 + 2 x3
Sujeito A x1 + 2 x2 + x3 = 10


 x + x + 2 x = 14
1 2 3

x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
2) Considerando o primeiro e o último tableau, fazer a análise de sensibili-
dade de todos os coeficientes da função objetivo e de todas as quantida-
des de recurso escasso :
1,0 2,0 2,0 1,0 1,0 0,0 0,0 120,0
1,0 2,0 1,0 2,0 0,0 1,0 0,0 140,0
1,0 1,0 2,0 2,0 0,0 0,0 1,0 150,0
-2,0 -3,0 -4,0 -5,0 0,0 0,0 0,0 0,0
1/2 5/2 0,0 0,0 1,0 1,0 -3/2 35,0
1/2 3/2 0,0 1,0 0,0 1,0 -1/2 65,0
0,0 -1,0 1,0 0,0 0,0 -1,0 1,0 10,0
1/2 1/2 0,0 0,0 0,0 1,0 3/2 365,0

Obs.: Devolver esta folha juntamente com a prova.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 79

20171-P3

1) As máquinas M1 e M2 são recursos que trabalham em única atividade


(por vez). Resolver a rede de precedência com as restrições disjuntivas
considerando todas as possibilidades e indicar a(s) melhor(es).
Atividade Dependência Imediata Tempo (dias) Restrição adicional
A – 3
B – 4
C A 6
D A 4 usa as máquinas M1 e M2
E B 3
F A, B 3 usa a máquina M2
G C 6 usa a máquina M1
H D 2
I F, G, H 3
J E, H 5
2) Resolver a rede de precedência e fazer o gráfico da necessidade de recurso
com a mellhor situação de nivelamento.
Atividade Dependência Imediata Tempo (dias) Recurso (ur)
A – 3 2
B – 4 4
C B 2 3
D A, B 6 2
E C 3 4
F C, A 2 3
G C 4 3
H D, E, F 4 4
I G 4 4
3) Aplique o algoritmo Branch-and-Bound para resolver o problema de PI:
Max. Z = 2 x1 + x2
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 80

{
6 x1 + 4 x2 ≤ 24
Sujeito A
3 x1 + 8 x2 ≤ 24
x1 ≥ 0 (inteiro); x2 ≥ 0 (inteiro)
4) Aplique o algoritmo Branch-and-Bound para resolver o problema de pro-
gramação inteira envolvendo o sequenciamento de tarefas em uma má-
quina objetivando minimizar o tempo total de atraso:
Tempo necessário (dias) Data de entrega
Tarefa 1 8 Final do dia 8
Tarefa 2 10 Final do dia 10
Tarefa 3 6 Final do dia 14
Tarefa 4 4 Final do dia 20

Obs.: Devolver esta folha juntamente com a prova.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 81

1a Prova - 2018/2

Responda/Resolva as Questões

1) Representar graficamente a região de aceitação


Maximizar Z = 3 x1 + 2 x2


 x1 + 2 x2 ≤ 14



−2 x1 + 2 x2 ≤ 8
Sujeito A

 2 x1 + 3 x2 ≥ 6



x1 + x2 ≤ 10
x1 ≥ 0
x2 ≥ 0
2) Montar o primeiro tableau (método simplexo) do modelo:
Minimizar Z = 2 x1 − 3 x2 − 2 x3



 2 x1 + 2 x2 + 3 x3 ≤ 190
Sujeito A 2 x1 + 3 x3 ≤ 120


 2 x +2 x ≤ 130
2 3

x1 ≥ 0
x2 ≥ 0
x3 ≥ 0

3) Montar o modelo a partir do primeiro tableau:


x1 x2 x3 x4 x5 x6 x7 b
2 2 1 0 1 0 0 26
2 -1 0 2 0 1 0 18
2 2 1 -1 0 0 1 20
-2 -3 2 -4 0 0 0 0
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 82

4) Resolver o próximo tableu:


x1 x2 x3 x5 x6 x7 b
4 -1 2 1 0 0 64
2 2 -4 0 1 0 72
1 2 1 0 0 1 46
-2 -3 -4 0 0 0 0

5) Uma Empresa considera os objetivos da Produção: Flexibilidade, Con-


fiabilidade e Rapidez como fundamentais para maximizar os benefı́cios
ofertados aos clientes finais.
ˆ relacionando a resposta dos objetivos, como uma determinada quan-
tidade variável frente aos benefı́cios, numa escala de 1 a 9, a Flexibi-
lidade, Confiabilidade e Rapidez possuem respectivamente respostas
de 6, 7, e 5;
ˆ a quantidade máxima possı́vel para a Flexibilidade é igual a 50;
ˆ a quantidade máxima possı́vel para a Confiabilidade é igual a 60;
ˆ a quantidade máxima possı́vel para a Rapidez é igual a 30;
ˆ a quantidade máxima possı́vel para a Rapidez somada com a Con-
fiabilidade é igual a 70;
ˆ a quantidade máxima possı́vel para a Flexibilidade somada com a
Confiabilidade é igual a 80;
ˆ a quantidade máxima possı́vel para a Flexibilidade somada com a
Rapidez e somada com a Confiabilidade é igual a 100;

Obs.: Devolver esta folha juntamente com a prova.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 83

2a Prova - 2018/2

Responda - Resolva as Questões

1) Resolver aplicando o método simplexo Fase1/Fase2


Max. Z = 3 x1 + 4 x2 + 2 x3


 ≥ 22
 x1 + x2 + 2 x3
Sujeito A x1 + 2 x2 + x3 ≥ 28


 3 x +x +2 x = 38
1 2 3

x1 ≥ 0
x2 ≥ 0
x3 ≥ 0
2) Considerando o primeiro e o último tableau, fazer a análise de sensibili-
dade de todos os coeficientes da função objetivo e de todas as quantida-
des de recurso escasso :
1,0 2,0 2,0 1,0 1,0 0,0 0,0 0,0 160,0
1,0 2,0 1,0 2,0 0,0 1,0 0,0 0,0 140,0
2,0 1,0 2,0 2,0 0,0 0,0 1,0 0,0 120,0
1,0 1,0 2,0 2,0 0,0 0,0 0,0 1,0 140,0
-2,0 -3,0 -4,0 -5,0 0,0 0,0 0,0 0,0 0,0
1,5 0,0 2,5 0,0 1,0 -1,5 1,0 0,0 70,0
-1,0 1,0 -1,0 0,0 0,0 1,0 -1,0 0,0 20,0
1,5 0,0 1,5 1,0 0,0 -0,5 1,0 0,0 50,0
-1,0 0,0 0,0 0,0 0,0 0,0 -1,0 1,0 20,0
2,5 0,0 0,5 0,0 0,0 0,5 2,0 0,0 310,0

Obs.: Devolver esta folha juntamente com a prova.


Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 84

3a Prova - 2018/2

1) As máquinas M1 e M2 são recursos que trabalham em única atividade


(por vez). Resolver a rede de precedência com as restrições disjuntivas
considerando todas as possibilidades e indicar a(s) melhor(es).
Atividade Dependência Imediata Tempo (dias) Restrição adicional
A – 3
B – 4
C A 6 usa as máquinas M1 e M2
D A 5
E B 3
F A, B 4 usa a máquina M2
G C 5 usa a máquina M1
H D 7
I F, G, H 5
J E, H 2
K F, G 6
2) Aplique o algoritmo Branch-and-Bound para resolver o problema de pro-
gramação inteira envolvendo o sequenciamento de tarefas em uma má-
quina objetivando minimizar o tempo total de atraso:
Tempo necessário (dias) Data de entrega
Tarefa 1 8 Final do dia 10
Tarefa 2 10 Final do dia 10
Tarefa 3 6 Final do dia 18
Tarefa 4 4 Final do dia 24
3) Usando a Programação Dinâmica determinar o trajeto para o mı́nimo
custo do transporte entre entre as cidades A -> k
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 85

4 7
B E H
6 9
4 8
8

5
3 4 2
A C F J K

5 10 10
9
5

4
9 4
D G I
Prof. Evandro Bittencourt - Pesquisa Operacional - 2020 86

4) Usando a Programação Dinâmica determinar a programação da produ-


ção considerando minimização dos custos referentes a produção e esto-
cagem. A empresa produz dois tamanhos de lotes, 500 e 1000 peças
com custo de produção de $ 500 e $ 700 respectivamente. O custo de
estocagem mensal por peça é de $ 0,2. Programar a produção para os 4
meses subsequentes considerando a seguinte previsão de vendas. Consi-
dere estoque inicial igual a 2500 peças e estoque final igual a 1.000.
Mês 1 2 3 4
Vendas - 500 1.000 1.500 1.000
Previsão

Figura 21: Modelo

P1 =? P2 =? P3 =? P4 =?

X0 = 2.500 X1 X2 X3 X4 = 1.000
1 2 3 4

D1 = 500 D2 = 1.000 D3 = 1.500 D4 = 1.000

Obs.: Devolver esta folha juntamente com a prova.

Você também pode gostar