Você está na página 1de 250

PESQUISA OPERACIONAL

Mauricio Pereira dos Santos


Departamento de Matemtica Aplicada
Instituto de Matemtica e Estatstica

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO

ii
c
Copyright2.003
por Mauricio Pereira dos Santos
Editorao: O autor, criando arquivo texto no format LaTex.
Compilador LaTex: Miktex
Compiladores dos programas: Turbo Pascal, Visual Basic e Delphi
Fluxos e figuras: Visio e SmartDraw, includos no texto como EPS (Encapsulated
Postscript File).

iii

Prefcio
O objetivo deste trabalho fornecer aos alunos da cadeira de Pesquisa Operacional
da UERJ um referencial que os auxilie no estudo e acompanhamento da matria.
Os tpicos bsicos da cadeira, contemplados neste trabalho, incluem o estudo dos
3 problemas clssicos de Redes quais sejam o do fluxo mximo possvel de ser levado entre 2 ns de uma rede, o de encontrar o menor caminho entre 2 ns de uma
rede e o de encontrar a rvore de tamanho mnimo em uma rede; a tcnica de controle de projetos, genericamente chamada de PERT/CPM, que apresentada em
seus conceitos bsicos; o estudo das filas de espera e de seus modelos bsicos, cuja
importncia nos dias de hoje marcante e fundamental e por fim mas no menos
importante, a Simulao e suas aplicaes nos problemas do dia a dia.
Agradecemos a todos aqueles que nos ajudaram nesta tarefa, especialmente os alunos que foram cobaias no uso dos rascunhos deste trabalho.
Um agradecimento especial ao ex-aluno do curso de Estatstica, Leonardo Barroso
Gonalves que, quando cursou a cadeira em 1993, resolveu, detalhadamente, todos
os exerccios do captulo de Filas. Incorporamos suas solues neste trabalho.
De antemo agradeo desde j a todos aqueles que puderem apontar imperfeies
e erros que possam ser corrigidos.
O Autor

iv

Contedo

1 Redes
1.1 O problema do Fluxo Mximo . . . . . . . . . . . . . . . . . . . . . . .
1.2 Formulao como um modelo clssico de P.Linear . . . . . . . . . . . .
1.3 Tcnica da Rotulao . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Fluxo mximo em redes com arcos no direcionados . . . . . . . . . . .
1.4.1 Adaptao para uso da Tcnica de Rotulao . . . . . . . . . . .
1.5 O problema do caminho mnimo . . . . . . . . . . . . . . . . . . . . . .
1.5.1 Formulao como um modelo clssico de P.Linear . . . . . . . . .
1.6 Etapas do algortimo de Dijkstra . . . . . . . . . . . . . . . . . . . . .
1.7 rvore de Tamanho Mnimo . . . . . . . . . . . . . . . . . . . . . . . .
1.7.1 Etapas do algortimo para encontrar a rvore do tamanho mnimo
1.8 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.8.1 Respostas dos exerccios . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

1
1
2
3
12
12
13
14
14
20
21
27
33

2 PERT/CPM
2.1 Construo da Rede . . . . . . . . . . . . . . . . . . . . .
2.1.1 Representao grfica da Rede . . . . . . . . . . . .
2.1.2 Representao das Atividades . . . . . . . . . . . .
2.1.3 Complicao na Construo da Rede . . . . . . . . .
2.2 Determinao do Caminho Crtico . . . . . . . . . . . . . .
2.3 O Modelo PERT . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Problemas do modelo PERT . . . . . . . . . . . . .
2.4 O Modelo CPM . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Relao entre Duraes/Custos Normal e Acelerado
2.4.2 Compresso da Rede . . . . . . . . . . . . . . . . .
2.4.3 Durao tima para o projeto . . . . . . . . . . . .
2.4.4 Resolvendo por Programao Linear . . . . . . . . .
2.5 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1 Respostas dos exerccios . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

35
36
36
38
39
42
50
54
55
55
56
62
63
68
73

3 Teoria das Filas


3.1 Porque as filas so estudadas . . . . . . . . . . . .
3.2 Componentes bsicos de um processo de fila . . . . .
3.2.1 A Populao . . . . . . . . . . . . . . . . . . .
3.2.2 O Processo de Chegada . . . . . . . . . . . . .
3.2.3 A Disciplina da Fila . . . . . . . . . . . . . .
3.2.4 O Mecanismo de Servio . . . . . . . . . . . .
3.3 O Teste de Aderncia . . . . . . . . . . . . . . . . . .
3.4 O Processo de Poisson . . . . . . . . . . . . . . . . .
3.5 Notao de Kendall . . . . . . . . . . . . . . . . . .
3.5.1 Conveno para textos de Filas . . . . . . . .
3.5.2 Estado transiente e de regime (ou estacionrio)
3.6 O Modelo I: M/M/1 . . . . . . . . . . . . . . . . . . .
3.6.1 Sumrio das frmulas do modelo M/M/1 . . . .
3.7 Modelo II: M/M/s (s > 1) . . . . . . . . . . . . . .
3.8 Modelo III: M/M/1: Fila finita . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

75
75
77
77
77
79
80
82
85
86
87
87
88
92
96
98

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

vi

CONTEDO

3.9
3.10
3.11
3.12
3.13

Modelo IV: M/M/s: Fila finita (s >


Modelo V: M/M/s: Populao finita .
Modelo VI: M/G/1 . . . . . . . . . .
Modelo VII: M/Ek /1 . . . . . . . .
Exerccios . . . . . . . . . . . . . .
3.13.1 Soluo dos exerccios . . .

1)
. .
. .
. .
. .
. .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

101
103
107
109
111
118

4 Introduo Simulao
4.1 Vantagens e Desvantagens da Simulao . . . . . . . . . . . . . . .
4.2 reas de aplicao . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3 Tipos de Modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Modelos Discretos e Contnuos . . . . . . . . . . . . . . . . . . . .
4.5 Exemplos de modelos de Simulao . . . . . . . . . . . . . . . . . .
4.5.1 Quebra de rolamentos . . . . . . . . . . . . . . . . . . . . .
4.5.2 Fila com uma estao de servio . . . . . . . . . . . . . . . .
4.6 A gerao de Nmeros Aleatrios . . . . . . . . . . . . . . . . . . .
4.6.1 Propriedades desejveis de um gerador de nmeros aleatrios
4.7 Mtodos para a gerao de nmeros aleatrios . . . . . . . . . . . .
4.7.1 Mtodo dos quadrados mdios . . . . . . . . . . . . . . . . .
4.7.2 Mtodos Congruentes . . . . . . . . . . . . . . . . . . . . . .
4.7.3 Eficincia computacional . . . . . . . . . . . . . . . . . . . .
4.7.4 Nmeros Aleatrios uniformemente distribudos em [0,1) . .
4.8 Geradores Congruentes . . . . . . . . . . . . . . . . . . . . . . . .
4.8.1 RANDU, RAND1 e RAND2 . . . . . . . . . . . . . . . . . . .
4.8.2 Mtodos com perodos maiores . . . . . . . . . . . . . . . . .
4.8.3 Geradores de nmeros aleatrios embutidos . . . . . . . . .
4.9 Nmeros aleatrios com outras distribuies uniformes . . . . . . .
4.9.1 Variveis aleatrias contnuas . . . . . . . . . . . . . . . . .
4.9.2 Variveis aleatrias discretas . . . . . . . . . . . . . . . . .
4.10 Testes estatsticos . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 Alguns modelos elementares de Simulao . . . . . . . . . . . . . .
4.11.1 Jogo de Dados (Craps Game) . . . . . . . . . . . . . . . . .
4.11.2 Avaliao de Integrais . . . . . . . . . . . . . . . . . . . . .
4.12 O Mtodo da Transformao Inversa . . . . . . . . . . . . . . . . .
4.12.1 A Distribuio Exponencial . . . . . . . . . . . . . . . . . .
4.12.2 A Distribuio Triangular . . . . . . . . . . . . . . . . . . .
4.12.3 A Distribuio de Weibull . . . . . . . . . . . . . . . . . . .
4.13 Simulao Direta . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.13.1 A distribuio de Poisson . . . . . . . . . . . . . . . . . . . .
4.13.2 A distribuio Normal . . . . . . . . . . . . . . . . . . . . .
4.14 Um software para simular filas de espera . . . . . . . . . . . . . . .
4.14.1 Alguns exemplos usando o programa Simulao . . . . . . .
4.15 O software ARENA . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.15.1 Simulao de um pequeno posto bancrio . . . . . . . . . . .
4.15.2 Simulao de um check-in . . . . . . . . . . . . . . . . . . .
4.15.3 Simulao de um processo de produo . . . . . . . . . . . .
4.15.4 Consideraes finais . . . . . . . . . . . . . . . . . . . . . .
4.16 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

141
141
142
144
144
145
145
150
153
153
154
154
154
155
156
156
156
161
164
165
165
165
166
166
166
169
172
173
175
178
180
180
184
188
188
193
194
203
210
218
220

A Tabela Normal

225

B Tabela do 2

227

C Tabelas para modelos com populao finita

229

Captulo 1
Redes

Grafo
Denomina-se grafo um conjunto de pontos, chamados ns, conectados entre si por
linhas chamadas arcos, como exemplificado no desenho abaixo:
2

Os crculos so denominados ns e as linhas so denominadas de arcos.


Rede
um grafo com algum tipo de fluxo fluindo entre os ns atravs dos arcos.
Ex: Uma rede de estradas (arcos) unindo vrias cidades (ns). O conjunto de veculos andando nas estradas o fluxo que flui na rede.

1.1 O problema do Fluxo Mximo


Um dos problemas mais comuns a serem resolvidos em redes determinar o fluxo
mximo que pode fluir em determinada rede.
O exemplo a seguir ilustra este tipo de problema.
A rede a seguir ilustra a captao de gua de um determinado manancial at um
grande reservatrio de distribuio.

Redes

4
8

1
2

5
9

8
3

5
3

O n inicial 1 chamado de n origem ou n fonte. O n final 6 chamado de n


destino ou n sumidouro. Existem 10 arcos na rede sendo que podemos representar
os arcos de 2 formas diferentes:
(n inicial, n final): (1, 2); (1, 3); (2, 3); etc... ou
(n inicialn final): (1 2); (1 3); etc...
Os nmeros em cima de cada arco do a Capacidade do arco, ou seja, o fluxo
mximo que pode passar no arco. Assim, por exemplo, no arco (2 4), o no 4
a indicao de que sua capacidade de 4 litros/segundo sendo esta, a quantidade
mxima de gua que pode passar naquele trecho de encanamento (arco).
O problema que queremos resolver achar o fluxo mximo, em litros/seg, que pode
ser levado do n 1 ao n 6.
Antes de comearmos a ver como resolver o problema vamos estabelecer pr-requisitos
que, embora normalmente no explicitados, fazem parte do problema. So eles:
Todos os arcos so direcionados, ou seja, no arco (2 3), por exemplo, o fluxo
s pode passar no sentido 2 3.
Assume-se conservao de fluxo, ou seja, todo fluxo que chega a um n, sair
dele.
Antes de prosseguir vamos definir o que vem a ser um caminho em uma rede:
Caminho uma sequncia de arcos em uma rede que vo do n origem ao n
destino. Por exemplo, na rede acima, (1 2), (2 4), (4 6) um caminho.

1.2 Formulao como um modelo clssico de P.Linear


Este tipo de problema pode ser equacionado como um modelo de Programao Linear.
Como variveis de deciso teramos:
f fluxo que vai passar do n 1 ao n 6.
fij fluxo que vai passar no arco (i j).

1.3 Tcnica da Rotulao

O modelo fica como:


(MAX)Z = f
s.a.
f12 + f13 = f (n 1)
f46 + f56 = f (n 6)
f12 = f23 + f24 + f25 (n 2)
f13 + f23 = f34 + f35 (n 3)
f46 = f24 + f34 + f54 (n 4)
f35 + f25 = f54 + f56 (n 5)
f12 6 f13 8
f23 2 f24 4
f25 1 f34 5
f35 3 f46 8
f54 4 f56 9
f, fij 0
Poderamos usar o Simplex, mas existem algortimos mais rpidos para se resolver
este tipo de problema.

1.3 Tcnica da Rotulao


O algortimo chamado de Tcnica da Rotulao um dos mais usados para resolver problemas de fluxo mximo.
As etapas do algortimo baseado no quadro que veremos mais adiante, so:
Seja gij a capacidade mostrada no quadro para o arco (i j). No quadro inicial gij
vai ser exatamente a capacidade do arco.
1. No estgio 1, comeando pela 1a linha do quadro, ou seja a que representa o n
origem, procuramos as colunas que tem gij 0. Para estas colunas fazemos,
nas linhas correspondentes, j = gij e j = 1.
j vai representar sempre o n de onde se veio para chegar a j.
2. Comeando pelo menor n rotulado no estgio anterior, procuramos os gij nas
quais a linha j ainda no tenha sido rotulada. Fazemos ento:
j = Min(gij , i )
j = i
Aps esta etapa ter sido feita para todos os ns rotulados no estgio i 1 encerramos o estgio i. Passamos ento ao estgio i + 1 e repetimos esta etapa 2.
Esta etapa 2 ser encerrada por uma de 2 condies:
a) ou o n destino foi rotulado.
b) ou impossvel prosseguir com a etapa 2 e o n destino no foi rotulado.
3. Se impossvel prosseguir (caso b) ir para a etapa 7.
4. Se o n destino foi rotulado, existe um caminho onde possvel passar fluxo do
n origem ao n destino. O fluxo que possvel passar igual ao n destino .

Redes

5. Usando os i possvel encontrar este caminho.


Para os arcos (i j) do caminho, subtrair n destino de gij .
Para os arcos inversos (j i) somar n destino gij .
Os gij no modificados so mantidos.
6. Com o novo quadro construdo voltar a etapa 1.
7. O fluxo mximo a soma dos gij da linha do n destino. O fluxo que passa em
cada arco (i j) a diferena entre os gij dos quadros inicial e final.
Exemplo de aplicao da Tcnica de Rotulao
Vamos aplicar o algortimo ao nosso exemplo da rede de captao de gua.
O quadro inicial construdo colocando-se em cada arco (i j) a capacidade dele
quando o arco existe e zero quando no existe. Temos ento:
1
2
3
4
5
6

0
0
0
0
0

2
6

0
0
0
0

3
8
2

0
0
0

4
0
4
5

4
0

5
0
1
3
0

6
0
0
0
8
9

Rtulos

Estgio
-

Na etapa 1 comeamos varrendo a linha correspondente ao n origem (1 no exemplo) procurando gij maiores que zero. Encontramos o n 2 com g12 = 6 e o n 3 com
g13 = 8. Na linha 2, correspondente ao n 2, fazemos 2 = 6 e 2 = 1. Gama ()
sempre indica de onde viemos para chegar aquele n. Na linha 3, correspondente
ao n 3, fazemos 3 = 8 e 3 = 1. Como varremos a linha 1 (n origem), estamos
no estgio 1. O nosso quadro, fica como:
1
2
3
4
5
6

0
0
0
0
0

2
6

0
0
0
0

3
8
2

0
0
0

4
0
4
5

4
0

5
0
1
3
0

6
0
0
0
8
9

Rtulos

6
1
8
1

Estgio
1
1

Devemos agora passar para o estgio i + 1 ou seja para o estgio 2. Neste estgio
vamos varrer todos os ns rotulados no estgio 1, ou seja as linhas 2 e 3 correspondentes aos ns 2 e 3.
Iniciando pela linha 2, podemos observar que pode-se passar fluxo para o n 3 pois
g23 = 2. No entanto o n 3 j est rotulado e no podemos rotul-lo novamente.
Pode-se tambm passar fluxo para o n 4 pois g24 = 4. Para rotular a linha (n)
4 temos: 4 = Min(g24 , 2 ) = Min(4, 6) = 4. O 4 2 (n de onde vim) e o
estgio igual a 2. Do n 2 podemos ainda rotular o n 5 pois g25 = 1. Temos

1.3 Tcnica da Rotulao

5 = Min(g25 , 2 ) = Min(1, 6) = 1. O 5 2 (n de onde vim) e continuamos no


estgio 2.
Repare que no acabamos o estgio 2 pois ainda no varremos a linha (n) 3 que
tambm foi rotulada no estgio 1. Um estgio s acaba quando todas as linhas
(ns) rotuladas no estgio anterior forem varridas.
Varrendo a linha 3 observamos que poderamos rotular as linhas (ns) 4 e 5 mas
ambas j foram rotuladas. Acabamos o estgio 2 e o n destino no foi ainda rotulado. Temos que ir para o estgio 3 e o nosso quadro tem agora a seguinte aparncia:
1
2
3
4
5
6

0
0
0
0
0

2
6

0
0
0
0

3
8
2

0
0
0

4
0
4
5

4
0

5
0
1
3
0

6
0
0
0
8
9

Rtulos

6
1
8
1
4
2
1
2

Estgio
1
1
2
2

Comeamos o estgio 3 varrendo o n (linha) 4. Do n 4 Podemos ir para o n 6


sendo que o 6 ser igual ao Min(g46 , 4 ) ou seja o Min(8, 4) = 4. Como viemos do
n 4, o 6 igual a 4 e o estgio 3.
Nosso quadro tem agora a seguinte forma:
1
2
3
4
5
6

0
0
0
0
0

2
6

0
0
0
0

3
8
2

0
0
0

4
0
4
5

4
0

5
0
1
3
0

6
0
0
0
8
9

Rtulos

6
1
8
1
4
2
1
2
4
4

Estgio
1
1
2
2
3

Como rotulamos o n destino (6), existe um caminho para passar uma quantidade
de fluxo. Que quantidade esta ? o valor do 6 , ou seja, do n destino .
Para encontrar este caminho vamos do n destino para trs usando os i para
encontrar os arcos do caminho. Assim se 6 igual a 4, significa que chegamos ao
n 6 vindo do n 4. Na matriz vamos subtrair 4 (= 6 ) do arco (4 6) e somar este
valor ao arco inverso (6 4).
Para chegar ao n 4, olhamos o 4 . Como ele igual a 2 significa que viemos do n
2. Subtramos ento 4 (= 6 ) do arco (2 4) e somamos no arco inverso (4 2).
Para chegar ao n 2 viemos do n 1 (veja o 2 ). Subtramos 4 (= 6 ) do arco (1 2)
e somamos este valor ao arco inverso (2 1).
Os valores que sofreram alterao esto marcados e os demais ficam inalterados.
Nosso quadro, pronto para comear a 2a iterao, fica como:

Redes

4
0
0
0
0

1
2
3
4
5
6

2
2

0
4
0
0

3
8
2

0
0
0

4
0
0
5

4
4

5
0
1
3
0

6
0
0
0
4
9

Rtulos

Estgio
-

Comeamos a 2a iterao varrendo o n origem (n 1) procurando gij maiores que


0. Vemos que podemos ir para o n 2 com 2. Logo fazemos 2 = 2, 2 = 1 e estgio
igual a 1.
Ainda no estgio 1, podemos ir do n 1 para o n 3 e rotulamos este n fazendo
3 = 8, 3 = 1 e estgio igual a 1.
Como do n origem no podemos rotular mais nenhum n, acabamos o estgio 1.
Nosso quadro est como:
1
2
3
4
5
6

4
0
0
0
0

2
2

0
4
0
0

3
8
2

0
0
0

4
0
0
5

4
4

5
0
1
3
0

6
0
0
0
4
9

Rtulos

2
1
8
1

Estgio
1
1

No estgio 2 temos que varrer os ns rotulados no estgio 1. Assim, comeamos


examinando o n 2. Deste n podemos ir para o n 1 mas ele j est rotulado ( e
tambm so rtulos). Podemos ir para o n 3 mas ele tambm j est rotulado.
Podemos, no entanto, ir para o n 5. Os rtulos no n 5 sero:
5 = Min(g25 , 2 ) = Min(1, 2) = 1.
5 = 2 e estgio = 2.
Como do n 2 no podemos ir para mais lugar algum vamos examinar o n 3 que
tambm foi rotulado no estgio 1. Do n 3 podemos ir para o n 4 sendo que os
rtulos dele sero:
4 = Min(g34 , 3 ) = Min(5, 8) = 5.
4 = 3 e estgio = 2.
Como no podemos ir para mais lugar algum encerramos o estgio 2 e vamos comear o estgio 3. Nosso quadro est como:
1
2
3
4
5
6

4
0
0
0
0

2
2

0
4
0
0

3
8
2

0
0
0

4
0
0
5

4
4

5
0
1
3
0

6
0
0
0
4
9

Rtulos

2
1
8
1
5
3
1
2

Estgio
1
1
2
2

1.3 Tcnica da Rotulao

Vamos iniciar o estgio 3 varrendo os ns rotulados no estgio 2 (ns 4 e 5). No


passo anterior (estgio 2) o n 5 foi rotulado antes do que o n 4. Temos que manter
esta sequncia na varredura deles no estgio ? No. Devemos fazer a varredura
sempre na ordem numrica dos ns.
Desta forma comeamos examinando o n 4. Do n 4 podemos rotular o n 2 mas
ele j est rotulado. Podemos tambm rotular o n 6 que ter os seguintes rtulos:
6 = Min(g46 , 4 ) = Min(4, 5) = 4.
6 = 4 e estgio = 3.
Como rotulamos o n destino, terminamos a 2a iterao e nosso quadro se apresenta
como:
1
2
3
4
5
6

4
0
0
0
0

2
2

0
4
0
0

3
8
2

0
0
0

4
0
0
5

4
4

5
0
1
3
0

6
0
0
0
4
9

Rtulos

2
1
8
1
5
3
1
2
4
4

Estgio
1
1
2
2
3

Temos que achar o caminho em que foi possvel passar 4 (= 6 ) de fluxo. Mais uma
vez, usando os i podemos encontrar este caminho.
Para chegar ao n 6 viemos do n 4 (= 6 ). Subtramos ento 4 (= 6 ) do arco
(4 6) e somamos no arco inverso (6 4).
Para chegar ao n 4 viemos do n 3 (= 4 ). Subtramos 4 (= 6 ) do arco (3 4) e
somamos no arco (4 3).
Para chegar ao n 3 viemos do n 1 (= 3 ). Subtramos 4 (= 6 ) do arco (1 3) e
somamos no arco (3 1).
Mantendo os demais valores inalterados temos o quadro pronto para comear a 3a
iterao:
1
2
3
4
5
6

4
4
0
0
0

2
2

0
4
0
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
1
3
0

6
0
0
0
0
9

Rtulos

Estgio
-

No estgio 1 podemos, do n 1, rotular os ns 2 e 3. Os rtulos ficam como:


2 = 2 e 2 = 1.
3 = 4 e 3 = 1.
Temos ento:

Redes

1
2
3
4
5
6

4
4
0
0
0

2
2

0
4
0
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
1
3
0

6
0
0
0
0
9

Rtulos

2
1
4
1

Estgio
1
1

No estgio 2, do n 2 s podemos rotular o n 5. Seus rtulos sero:


5 = Min(g25 , 2 ) = Min(1, 2) = 1.
5 = 2 e estgio = 2.
Do n 3 podemos rotular o n 4 como:
4 = Min(g34 , 3 ) = Min(1, 4) = 1.
4 = 3 e estgio = 2.
Temos ento:
1
2
3
4
5
6

4
4
0
0
0

2
2

0
4
0
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
1
3
0

6
0
0
0
0
9

Rtulos

2
1
4
1
1
3
1
2

Estgio
1
1
2
2

No estgio 3, no podemos rotular ningum a partir do n 4 mas do n 5, podemos


rotular o n 6. Seus rtulos so:
6 = Min(g56 , 5 ) = Min(9, 1) = 1.
6 = 5 e estgio = 3.
Temos:
1
2
3
4
5
6

4
4
0
0
0

2
2

0
4
0
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
1
3
0

6
0
0
0
0
9

Rtulos

2
1
4
1
1
3
1
2
1
5

Estgio
1
1
2
2
3

Como rotulamos o n destino, temos que encontrar o caminho onde se passou 1


(= 6 ) de fluxo.
Para chegar a 6, viemos do n 5. Subtramos 1 do arco (5 6) e somamos em
(6 5). Para chegar a 5 viemos do n 2. Subtramos 1 de (2 5) e somamos em
(5 2). Para chegar ao n 2 viemos do n 1, logo subtramos 1 de (1 2) e somamos
a (2 1).
Mantendo os demais valores, temos o quadro pronto para a 4a iterao:

1.3 Tcnica da Rotulao

1
2
3
4
5
6

5
4
0
0
0

2
1

0
4
1
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
0
3
0

6
0
0
0
0
8

Rtulos

Estgio
-

No estgio 1, os ns 2 e 3 so rotulados ficando como:


1
2
3
4
5
6

5
4
0
0
0

2
1

0
4
1
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
0
3
0

6
0
0
0
0
8

Rtulos

1
1
4
1

Estgio
1
1

No estgio 2 do n 2 no podemos rotular qualquer outro n mas do n 3 podemos


rotular o n 4 com:
4 = Min(g34 , 3 ) = Min(1, 4) = 1.
4 = 3 e estgio = 2.
Tambm do n 3 podemos rotular o n 5:
5 = Min(g35 , 3 ) = Min(3, 4) = 3.
5 = 3 e estgio = 2.
1
2
3
4
5
6

5
4
0
0
0

2
1

0
4
1
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
0
3
0

6
0
0
0
0
8

Rtulos

1
1
4
1
1
3
3
3

Estgio
1
1
2
2

No estgio 3, do n 4 no se rotular ningum mas do n 5 podemos rotular o n 6


como:
6 = Min(g56 , 5 ) = Min(8, 3) = 3.
6 = 5 e estgio = 3.
1
2
3
4
5
6

5
4
0
0
0

2
1

0
4
1
0

3
4
2

4
0
0

4
0
0
1

4
8

5
0
0
3
0

6
0
0
0
0
8

Rtulos

1
1
4
1
1
3
3
3
3
5

Estgio
1
1
2
2
3

10

Redes

Conseguimos passar 3 de fluxo (= 6 ). Fazemos o procedimento mais uma vez para


encontrar o caminho. Para chegar a 6 viemos do n 5. Assim sendo, subtramos 3
de (5 6) e somamos 3 a (6 5). Para chegar a 5 viemos do n 3. Subtramos 3
de (3 5) e somamos a (5 3). Para chegar a 3 viemos do n 1. Subtramos 3 de
(1 3) e somamos a (3 1).
Mantendo inalterados os demais valores temos o quadro para comear a 5a iterao.
1
2
3
4
5
6

5
7
0
0
0

2
1

0
4
1
0

3
1
2

4
3
0

4
0
0
1

4
8

5
0
0
0
0

6
0
0
0
0
5

Rtulos

Estgio
-

5
0
0
0
0

6
0
0
0
0
5

Rtulos

1
1
1
1

Estgio
1
1

No estgio 1 rotulamos os ns 2 e 3.
1
2
3
4
5
6

5
7
0
0
0

2
1

0
4
1
0

3
1
2

4
3
0

4
0
0
1

4
8

No estgio 2 do n 2 no rotulamos ningum mas do n 3 podemos rotular o n 4


como:
4 = Min(g34 , 3 ) = Min(1, 1) = 1.
4 = 3 e estgio = 2.

1
2
3
4
5
6

5
7
0
0
0

2
1

0
4
1
0

3
1
2

4
3
0

4
0
0
1

4
8

5
0
0
0
0

6
0
0
0
0
5

Rtulos

1
1
1
1
1
3

Estgio
1
1
2

No estgio 3, tenho o n 4 para varrer mas do n 4 no consigo rotular mais ningum. O algortimo chegou ao final pois no conseguimos em uma iterao (5a no
exemplo) rotular o n destino (n 6).
Qual o fluxo mximo que pode ser levado do n 1 ao n 6 ? a soma dos valores
que aparecem no ltimo quadro na linha do n 6, ou seja 8 + 4 = 12.

11

1.3 Tcnica da Rotulao

A resposta acima leva, imediatamente, a outra pergunta: Como este fluxo mximo
se distribui pelos arcos da rede ?
O fluxo que passa em cada arco igual a diferena entre o valor da capacidade
do arco (valor que aparece no quadro inicial) e o valor que aparece para o arco no
ltimo quadro do algortimo. Temos ento:
Arco
12
13
24
25
34
35
46
56
23
54

Fluxo que passa


61=5
81=7
40=4
10=1
51=4
30=3
80=8
95=4
22=0
44=0

Pode-se observar que nos arcos (2 3) e (5 4) no passa qualquer fluxo.


O esquema da passagem do fluxo pode ser visto a seguir:

4
8

6
4
1
7

4
3

5
3

12

12

Redes

1.4 Fluxo mximo em redes com arcos no direcionados


Um arco (i j) dito ser no direcionado se o fluxo pode passar no sentido i j ou
no sentido j i.
Matematicamente, se k a capacidade do arco, temos:
fij k
fji k
fij fji = 0 (pelo menos um dos dois zero!)
Exemplo: Achar o fluxo mximo que pode ser levado do n 1 ao n 6 na rede abaixo:

30

4
50

40

25
1

25

15

30

30
3

5
50

Os arcos (2 3), (2 5) e (4 5) so no direcionados.

1.4.1 Adaptao para uso da Tcnica de Rotulao


Cada arco no direcionado dividido em 2, com sentidos opostos e capacidade igual
a k.
30

4
50

40

15

15

25
25

25

25

30

30
3

5
50

13

1.5 O problema do caminho mnimo

Aplica-se normalmente a tcnica da rotulao na rede modificada.


No final do algortimo teremos o fluxo que passa em cada arco. Vamos supor que
para o no direcionado (2 3) tenhamos encontrado:
(2 3) = 5
(3 2) = 12
Como o fluxo que passa no sentido 3 2 maior isto significa que o fluxo fluir
neste sentido. E quanto de fluxo passar ? a diferena, 12 5 = 7.
Aplica-se o mesmo raciocnio e clculo para todos os arcos no direcionados.
Em redes com arcos no direcionados, pode acontecer que a diferena entre os
quadros inicial e final, ou seja no clculo do fluxo que passa no arco, d um valor
negativo. Neste caso o fluxo que passa no arco igual a zero.

1.5 O problema do caminho mnimo


Um outro problema clssico de redes o de achar o menor caminho entre 2 ns da
rede.
Exemplo: Achar o menor caminho entre os ns 1 e 6 na rede abaixo:
9

6
3

2
6

7
3
4

1
4

5
3

O nmero que aparece no arco d o comprimento dele.

14

Redes

1.5.1 Formulao como um modelo clssico de P.Linear


Variveis de deciso:
xij arco (i j) presente no caminho mais curto.
Se xij = 0, ele no pertence ao caminho. Se igual a 1, pertence.
(MIN Z = 3x12 + 7x13 + 4x14 + 2x23 + x34 + 9x26 + 6x36 + 3x35 + 3x45 + 3x56
s.a.
x12 + x13 + x14 = 1 (n origem)
x26 + x36 + x56 = 1 (n destino)
x12 = x23 + x26 (n 2)
x13 + x23 = x34 + x35 + x36 (n 3)
x14 + x34 = x45 (n 4)
x35 + x45 = x56 (n 5)
xij = 0 ou 1
Como no problema do fluxo mximo, existem muitos algortimos para resolver este
tipo de problema de uma forma mais rpida do que o Simplex.
Veremos o chamado Algortimo de Dijkstra, que tambm uma tcnica de rotulao.

1.6 Etapas do algortimo de Dijkstra


1. Atribuir um rtulo igual a zero para o n origem. Os rtulos dos outros ns,
so iguais a distncia do n origem ao n em questo. Quando no h ligao, o
rtulo igual a . Rotule o n origem como permanente (colocando um *).
2. Suponha que o n k foi o ltimo a receber rtulo permanente. Calcule para cada
n, no rotulado permanentemente, a soma do rtulo do n k mais a distncia
de k ao n em questo. O novo rtulo do n em questo, ser o mnimo entre o
seu rtulo anterior e a soma acima.
3. Selecione o n com o menor rtulo no permanente. Rotule-o como permanente
(colocando um *). Em caso de empate a escolha arbritria. Se o n que acabou
de ser rotulado o n destino, o algortimo chegou ao fim, em caso contrrio
voltar etapa 2.
Vamos aplicar o algortimo para encontrar o caminho mais curto entre os ns 1 e 6
na rede acima.
Vamos trabalhar com um quadro com o seguinte aspecto:
Iterao
0
1
2
3
4
5

N Rotulado

15

1.6 Etapas do algortimo de Dijkstra

Comeamos (iterao 0) atribuindo um rtulo igual a 0 para o n origem (n 1). O


rtulo do n 2 vai ser igual a distncia do n 1 a ele, ou seja 3. Da mesma forma o
rtulo do n 3 ser 7 (distncia do n origem a ele). Idem para o n 4 que ter rtulo
igual a 4. Os rtulos dos ns 5 e 6 ser igual a pois no h arco ligando a origem
(n 1) a eles. Como todos os ns j tem rtulo, escolhemos o que tem menor rtulo e
o rotulamos de forma permanente, ou seja imutvel. Nesta iterao o n rotulado
vai ser o n 1 a quem atribumos um rtulo igual a 0. A marcao de permanente
feita colocando-se um * no rtulo.
Nosso quadro fica ento como:
Iterao
0
1
2
3
4
5

1
0

2
3

3
7

4
4

N Rotulado
1

Podemos comear a iterao 1. O n 1 foi o ltimo (e nico at agora) n rotulado


permanentemente. Para os outros no rotulados de forma permanente temos que
calcular o novo rtulo. Este novo rtulo ser o mnimo entre 2 valores. O primeiro
a soma do rtulo do ltimo n rotulado de forma permanente com a distncia deste
n ao n em questo. O 2o valor o rtulo anterior do n em questo.
Como nesta iterao o ltimo n rotulado foi o n 1 que tem rtulo igual a 0, a soma
do rtulo do n 1 com a distncia do n 1 ao n em questo dar sempre a prpria
distncia do n 1 a cada um dos ns da rede. Como o rtulo anterior j era a prpria
distncia ao n 1, teremos o mnimo entre 2 quantidades iguais, ou seja a distncia
do n origem (1) a cada um dos ns.
Assim sendo a linha da iterao 1 exatamente igual a linha da iterao 0. Como
o menor valor no rotulado de forma permanente 3, o n 2 recebe rtulo permanente e nosso quadro fica como:
Iterao
0
1
2
3
4
5

1
0
0

2
3
3

3
7
7

4
4
4

N Rotulado
1
2

Vamos comear a iterao 2 lembrando que o ltimo n rotulado de forma permanente foi o n 2 com rtulo igual a 3.
Vamos calcular o novo rtulo do n 3. Inicialmente devemos calcular a soma do
rtulo do n 2 (= 3) mais a distncia do n 2 ao n 3 que igual 2. Logo, 3 + 2 = 5.
O novo rtulo do n 3 ser o mnimo entre 5 e o rtulo anterior de 3 (=7). Assim o
novo rtulo de 3 ser igual a 5.

16

Redes

Para o n 4 temos a soma de 3 (rtulo do n 2) mais a distncia do n 2 ao n 4 que


igual a pois no existe ligao entre eles. O novo rtulo do n 4 ser o mnimo
entre e o rtulo anterior de 4 (= 4). Logo o novo rtulo do n 4 4.
Para o n 5 temos a soma de 3 (rtulo do n 2) mais a distncia do n 2 ao n 5 que
igual a pois no existe ligao entre eles. O novo rtulo do n 5 ser o mnimo
entre e o rtulo anterior de 5 (= ). Logo o novo rtulo do n 5 .
Para o n 6 temos a soma de 3 (rtulo do n 2) mais a distncia do n 2 ao n 6 que
igual a 9, ou seja 3 + 9 = 12. O novo rtulo do n 6 ser o mnimo entre 12 e o
rtulo anterior de 6 (= ). Logo o novo rtulo do n 6 12.
O menor rtulo no permanente 4 que corresponde ao n 4 que ento rotulado
de forma permanente.
Nosso quadro fica como:
Iterao
0
1
2
3
4
5

1
0
0
0

2
3
3
3

3
7
7
5

4
4
4
4

12

N Rotulado
1
2
4

Comeamos a iterao 3 recordando que o n 4 foi o ltimo a receber rtulo permanente e que seu rtulo 4.
Assim sendo, para o n 3 calculamos a soma entre o rtulo do n 4 (= 4) mais a
distncia do n 3 ao n 4 que igual a 1. Logo a soma d 4 + 1 = 5. O novo rtulo
do n 3 o mnimo entre o 5 e o rtulo anterior de 3 que tambm era 5. O rtulo
continua igual a 5.
Para o n 5 temos a soma do rtulo de 4 mais a distncia do n 4 ao n 5 que
igual a 3. Logo a soma d 4 + 3 = 7. O novo rtulo do n 5 ser o mnimo entre o
resultado da soma (7) e o rtulo anterior do n 5 (). Logo o novo rtulo ser igual
a 7.
Finalmente para o n 6 temos a soma do rtulo do n 4 mais a distncia do n 4 ao
n 6 dando 4 + = . O novo rtulo do n 6 o mnimo entre e o seu rtulo
anterior, ou seja 12.
Como o menor rtulo igual a 5, o n 3 recebe rtulo permanente e o quadro tem o
seguinte aspecto:
Iterao
0
1
2
3
4
5

1
0
0
0
0

2
3
3
3
3

3
7
7
5
5

4
4
4
4
4

12
12

N Rotulado
1
2
4
3

17

1.6 Etapas do algortimo de Dijkstra

Passamos para a iterao 4 guardando que o n 3 foi o ltimo a receber rtulo


permanente e seu rtulo igual a 5.
Para o n 5 calculamos a soma do rtulo do n 3 mais a distncia do n 3 ao n
5 dando 5 + 3 = 8. O novo rtulo do n 5 o mnimo entre este 8 e o seu rtulo
anterior (= 7). Assim 7 o novo rtulo do n 5.
Para o n 6 calculamos a soma do rtulo do n 3 mais a distncia do n 3 ao n 6
dando 5 + 6 = 11. O novo rtulo do n 6 o mnimo entre este 11 e o seu rtulo
anterior (= 12). Assim 11 o novo rtulo do n 6.
Como o menor rtulo 7, correspondente ao n 5, ele recebe o rtulo permanente e
o quadro fica como:
Iterao
0
1
2
3
4
5

1
0
0
0
0
0

2
3
3
3
3
3

3
7
7
5
5
5

4
4
4
4
4
4

7
7

12
12
11

N Rotulado
1
2
4
3
5

Para a iterao 5, o ltimo n rotulado de forma permanente foi o 5 e seu rtulo


7.
Para o n 6, calculamos a soma do rtulo do n 5 (= 7) mais a distncia do n 5 ao
n 6, dando 7 + 3 = 10. O novo rtulo do n 6 o mnimo entre este 10 e o seu
rtulo anterior (= 11). Seu novo rtulo igual a 10. Como ele o nico ainda no
rotulado ele recebe o rtulo permanente e nosso quadro final como:
Iterao
0
1
2
3
4
5

1
0
0
0
0
0
0

2
3
3
3
3
3
3

3
7
7
5
5
5
5

4
4
4
4
4
4
4

7
7
7

12
12
11
10

N Rotulado
1
2
4
3
5
6

Como o n destino (6) foi rotulado, chegamos ao final do algortimo.


Qual o comprimento do menor caminho entre os ns 1 e 6 da rede ? exatamente
o rtulo do n destino, ou seja 10.
Neste momento, surge imediatamente a pergunta: Qual o caminho que tem comprimento 10 ?
Esta pergunta pode ser respondida atravs da seguinte propriedade: O n i precede o n j se a diferena entre os rtulos permanentes dos ns j e i for igual a
distncia i j.
Comeando do n destino e voltando podemos, aplicando aquela propriedade, achar
o caminho de comprimento igual a 10.
Temos ento:

18
N 6
Arco
5 6
3 6
2 6

Redes

Diferena
10 7 = 3
10 5 = 5
10 3 = 7

Distncia
3
6
9

(5 6) um arco do caminho.
N 5
Arco Diferena Distncia
3 5 75=2
3
4 5 74=3
3
(4 5) um arco do caminho.
N 4
Arco Diferena Distncia
3 4 4 5 = 1
1
1 4
40=4
4
(1 4) um arco do caminho.
O caminho com comprimento igual a 10 (menor caminho da rede) :
(1 4), (4 5), (5 6).
Vamos ver um novo exemplo para ilustrar o caso onde existe mais de 1 caminho
mnimo na rede.
Seja o seguinte exemplo: Achar o menor caminho entre o n 1 e o n 6 na rede
abaixo:

6
8

9
12

1
3
4

3
4

5
3

19

1.6 Etapas do algortimo de Dijkstra

Aplicando o algortimo visto anteriormente, o nosso quadro final fica como:


Iterao
0
1
2
3
4
5

1
0
0
0
0
0
0

2
8
8
8
8
8
8

3
1
1
1
1
1
1

4
4
4
4
4
4
4

9
7
7
7

13
13
10
10

N Rotulado
1
3
4
5
2
6

Para encontrar o menor caminho vamos comear do n final e voltar:


N 6
Arco Diferena Distncia
2 6 10 8 = 2
6
3 6 10 1 = 9
12
5 6 10 7 = 3
3
(5 6) um arco do caminho.
N 5
Arco
3 5
4 5

Diferena
71=6
74=3

Distncia
8
3

(4 5) um arco do caminho.
N 4
Arco Diferena
Distncia
3 4 41=3
3 1a opo
1 4 4 0 = 4 4 2a opo
(3 4) e (1 4) so arcos do caminho.
Temos 2 opes o que implica em termos, no mnimo, 2 caminhos timos. Temos
que prosseguir, em cada opo, at encontrar a n origem.
Pode ser visto acima que a 2a opo j atingiu o n origem. Temos que continuar
pela outra opo.
N 3
Arco Diferena Distncia
1 3
10=1
1
2 3 1 8 = 7
4
(1 3) um arco do caminho e chegamos ao n origem.
Temos 2 caminhos com comprimento 10:
(1 3) (3 4),(4 5), (5 6) e
(1 4), (4 5), (5 6).
Uma observao importante no algortimo que ele para quando o n destino
for rotulado permanentemente mesmo que algum outro n no tenha recebido
rtulo permanente.

20

Redes

1.7 rvore de Tamanho Mnimo


rvore
um grafo constitudo de p ns, estando todos interligados por p 1 arcos.
Exemplo:
4

Como podemos ver, dados por exemplo 4 ns, podemos construir vrias rvores,
cada uma delas com arcos diferentes.
O objetivo encontrar quela cujo comprimento total seja o menor possvel.
Podemos, por exemplo, querer encontrar a rvore de tamanho mnimo da rede a
seguir:
4

12

10

2
7

6
10

9
8

5
10

9
6

14
6
3

4
11
7

Como a rede possui 10 ns, qualquer rvore extrada dela tem que ter 9 arcos.

21

1.7 rvore de Tamanho Mnimo

1.7.1 Etapas do algortimo para encontrar a rvore do tamanho mnimo


1. Selecione qualquer n e identifique o n mais perto dele. Faa a ligao entre
os 2 (no caso de empate, a escolha arbritria).
2. Identifique o n no ligado que esteja mais perto de um dos ligados. (Em caso
de empate a escolha arbritria). Faa a ligao entre os 2.
3. Repita a etapa 2 at todos os ns estarem ligados.
Aplicando o algortimo e escolhendo o n 1 para comear (poderia-se escolher qualquer outro n da rede). Identificamos o n no ligado mais perto dele. No caso o
n 2 com distncia igual a 7. Ligamos os 2 ns que passam assim a ser considerados
como ligados. Usamos um * para marcar n ligado.

12

10
7

6
10

9
5

10

9
6

14

6
3

4
11
7

Temos 2 ns ligados (1 e 2). Identificamos o n no ligado que esteja mais perto


dos 2 ligados. o n 5 com distncia igual a 5 para o n 2. Ligamos o n 5. Temos
ento:

22

Redes

12

6
10

10

9
5

10

9
6

14

6
3

4
11
7

Identificamos agora o n no ligado mais perto de um dos 3 ligados. o n 6 com


distncia igual a 5 para o n 5. Ligamos ele.

12

10
7

6
10

9
5

10
6

14

6
3

4
11
7

Neste instante, o n no ligado mais perto de um ligado o n 7 com distncia de 4


para o n 6.

23

1.7 rvore de Tamanho Mnimo

12

6
10

10

9
5

10
6

14

6
3

4
11
7

*
Temos agora um empate: os ns 3 e 9 esto a mesma distncia (= 6) de n ligado.
A escolha arbritria. Vamos escolher o n 3 para ficar ligado. Temos ento:

12

6
10

10

9
5

10
6

14

6
3

4
11
7

*
Agora o mais perto de um ligado o n 9 que est a distncia de 6 do n 5. Ligando
o n 9, temos:

24

Redes

12

6
10

10

9
5

10
6

14

6
3

11
7

*
Neste ponto temos novamente um empate. Os ns 4 e 10 esto a mesma distncia
(= 7) de ns ligados. Escolhemos, arbritariamente, o n 4 para ligar:

12

7
5

6
10

10

9
5

10
6

14

6
3

4
11
7

*
O no ligado mais perto de um ligado neste instante o n 10. Tornando ele ligado,
temos:

25

1.7 rvore de Tamanho Mnimo

12

7
5

6
10

10

9
5

10
6

14

6
3

11
7

*
Finalmente o ltimo no ligado o n 8 que est mais perto do n 10 com distncia
igual a 6. Temos ento:

12

7
5

6
5

10

9
5

10
6

14
3

*
8

10

4
11
7

*
A rvore de tamanho mnimo, com seus 9 arcos, foi encontrada:

26

Redes

4
2
7

7
6

10
1

5
5

8
6

6
3

4
7

Seu comprimento igual a:


Z = 7 + 5 + 7 + 6 + 5 + 6 + 4 + 7 + 6 = 53

27

1.8 Exerccios

1.8 Exerccios
Para ajudar na resoluo dos exerccios a seguir, poder ser usado o programa PO
que pode ser encontrado na pgina www.mpsantos.com.br
Na prpria pgina podem ser encontradas as explicaes de como baixar e instalar o aplicativo. Ele para o ambiente Windows e roda em qualquer verso a partir
do Windows 95, inclusive.
Principalmente nos exerccios de fluxo mximo e caminho mnimo, a sada do programa permite a comparao com o que foi feito manualmente na aplicao dos
algortimos.
1) Qual o fluxo mximo que pode ser levado do n 1 ao n 7 na rede abaixo:
4
2

5
4

6
2
1

3
2

3
9

2) Qual o fluxo mximo que pode ser levado do n 1 ao n 9 na rede abaixo:


4
3

11

12

5
3
7

3
2

3
3

28

Redes

3) Um certo produto deve ser enviado de 3 depsitos para 4 lojas. As disponibilidades dos depsitos so 20, 20 e 100 unidades respectivamente. As necessidades
das lojas so 20, 20, 60 e 20 unidades respectivamente. A tabela abaixo d as
capacidades das rotas entre os depsitos e as lojas:

(Depsitos)
1
2
3

Lojas
2
3
10 0
0 10
10 40

1
30
0
20

4
40
50
5

Uma capacidade igual a zero indica que no existe rota entre o depsito e a loja.
O problema determinar se possvel atender a todas as necessidades das lojas
com o disponvel nos depsitos.
a) Mostre que o problema acima equivalente a achar o fluxo mximo de uma
fonte para um destino.
b) Qual a resposta para o problema ?
4) Qual o menor caminho entre os ns 1 e 7 na rede abaixo:
7

4
6

5
1

2
5

8
4

6
5

29

1.8 Exerccios

5) Qual o menor caminho entre os ns 1 e 11 na rede abaixo:


3

8
7

4
6

2
2

3
4

2
8

11

4
4

10

6) Ache a rvore de tamanho mnimo para a rede do problema 4.


7) Ache a rvore de tamanho mnimo para a rede do problema 5.
8) Uma empresa madeireira tem que ligar entre si 8 bosques em uma determinada
regio. Tem que ser construdas estradas de modo que os 8 bosques fiquem
interligados. A distncia, em kms, entre cada par de bosques est mostrado na
tabela abaixo:

1
2
3
4
5
6
7
8

1,3
2,1
0,9
0,7
1,8
2,0
1,5

2
1,3

0,9
1,8
1,2
2,6
2,3
1,1

3
2,1
0,9

2,6
1,7
2,5
1,9
1,0

4
0,9
1,8
2,6

0,7
1,6
1,5
0,9

5
0,7
1,2
1,7
0,7

0,9
1,1
0,8

6
1,8
2,6
2,5
1,6
0,9

0,6
1,0

7
2,0
2,3
1,9
1,5
1,1
0,6

0,5

8
1,5
1,1
1,0
0,9
0,8
1,0
0,5

O problema determinar entre que pares de bosques deve-se construir estradas


conectando todos os bosques e fazendo-se o mnimo de kms de estrada. Encontre
a resposta

30

Redes

9) A figura abaixo mostra a rede de encanamento existente entre um determinado


manancial de captao de gua e um depsito onde a gua armazenada para
ser tratada. O nmero em cima de cada trecho de encanamento d a vazo mxima, em litros por segundo, que pode passar no trecho.
Qual a quantidade mxima, em litros por segundo, de gua que pode ser transportada entre o manancial e a estao de tratamento ? Que vazo de gua
passar em cada trecho da rede ?
4

5
9

10

5
1
11

6
4

7
2

10) Usando a tcnica da rotulao determine o fluxo mximo que pode ser levado do
n 1 ao n 11 na rede abaixo:
6

9
7

11
6

4
5

8
7

5
7

9
10

15
4
4

31

1.8 Exerccios

11) Usando o algortimo de Dijkstra, encontre o menor caminho entre os ns 2 e 11


na rede a seguir:
3

5
7
2

12

10

6
1

13

11

3
4

12) Encontre o menor caminho entre os ns 2 e 12 na rede a seguir:

200

800
5

600
8

11

100
2000

700
150

400

500
300
3

450

300

600

380
4
700

6
150

270

200

500
400

1500

8500
12

2000
10

6000

1000

32

Redes

13) A rede abaixo a representao de um conjunto de 11 prdios residenciais construdos em uma rea afastada da cidade. As linhas ligando os prdios so os
canos que foram instalados para a passagem de toda a fiao eltrica, telefnica, etc..., sendo tambm mostrado o comprimento destes encanamentos, em
metros. O esquema de segurana a ser colocado pelo condomnio implica na colocao de telefones interligando as portarias de todos os prdios. Como deve ser
instalada a fiao destes telefones de segurana de maneira que a quantidade
de fio gasto seja a mnima possvel ? Quantos metros de fio sero gastos ?

105

78

80

120

40

D
90

40
210

90

60
E

30

30

165

50

70

170

100

65

F
135

70

33

1.8 Exerccios

1.8.1 Respostas dos exerccios


1) Z = 9
2) Z = 19
3) Z = 110
(1 1) 5
(1 2) 10
(1 4) 5
(2 3) 10
(2 4) 10
(3 1) 15
(3 2) 10
(3 3) 40
(3 4) 5
1

30

20

1
10
20

40
20

F
60

10
3

20

100
3

40

4) Z = 16
5) Z = 17
6) Z = 18
7) Z = 26
8) Z = 5, 2
9) Z = 18 litros/seg

11) Z = 7
12) Z = 1070
13) Z = 603

20

10
5

10) Z = 12

20

10

34

Redes

Captulo 2
PERT/CPM

No final da dcada de 50, um dos maiores projetos realizados foi o chamado projeto POLARIS. Este projeto, realizado pelos E.Unidos, consistia na fabricao do 1o
submarino com capacidade de lanar msseis estando submerso. Este projeto envolvia a participao de 250 grandes empresas e 9.000 empresas sub-contratadas
diferentes. Alm de milhares de peas comuns j usadas em outros projetos, nada
menos que 70.000 novos tipos de peas diferentes tinham que ser fabricadas.
Embora os problemas tcnicos fossem difceis, o maior de todos era controlar todo
o projeto, dado o gigantesco nmero de atividades a serem realizadas, principalmente porque havia grande presso de se fazer o projeto no menor tempo possvel.
Com a finalidade de controlar o projeto que, como vimos era o maior problema a
ser enfrentado, foi desenvolvido por uma equipe mista da Lockheed, Booz Allen e
Marinha dos E.Unidos um sistema para controle de projetos que recebeu o nome
de PERT (Program Evaluation and Review Technique). Poderamos traduzir por
Tcnica de Avaliao e Controle de Projetos. O projeto Polaris teve sua durao
reduzida dos 5 anos previstos para apenas 3. Grande parte desta reduo foi atribuda ao uso do PERT.
importante realar os pontos bsicos que serviram de base ao desenvolvimento
do PERT:
a) Projeto pioneiro com muitas atividades de durao real desconhecida.
b) Controlar a durao do Projeto era o objetivo principal.
Na mesma poca (1957) a Dupont apresentou um sistema de controle de Projetos,
similar ao PERT, mas tendo como enfoque principal o controle dos custos de um
projeto. O nome dado a este sistema era CPM (Critical Path Method) ou Mtodo
do Caminho Crtico em portugus.
O sucesso do PERT no projeto Polaris e do CPM na Dupont, provocaram a partir
de 1960, uma corrida ao uso destas ferramentas que passaram a ser conhecidas
pela sigla PERT/CPM. Com o passar dos anos o nome CPM deixou de ser usado e o
uso deste tipo de tcnica passou a ser conhecida como Rede PERT.
Pode-se dizer, sem medo de errar, que este tipo de ferramenta usada pela maioria
das empresas de mdio e grande porte.

36

PERT/CPM

2.1 Construo da Rede


D-se o nome de Rede PERT a representao grfica de um projeto.
Atravs desta representao grfica possvel visualizar a sequncia lgica do projeto, com as interdependncias das atividades que compem o projeto.
Posteriormente so colocadas na Rede, as duraes (custos) das atividades, permitindo com isto uma anlise da durao (custos) do projeto.
Na terminologia usada no PERT, um projeto constitudo de atividades e eventos.
ATIVIDADE: a execuo efetiva de uma operao.
So consumidos tempo e recursos. Ex: Assistir aula de P.Operacional, fazer uma
laje de concreto, etc...
EVENTO: um marco que caracteriza um determinado instante em um projeto.
No so consumidos tempo ou recursos. Ex: Incio da aula de P.Operacional, fim
da aula de P.Operacional, incio de fazer a laje de concreto, etc...
Para se construir a rede PERT de um determinado projeto precisamos conhecer:
a) As atividades, ou seja, a lista de tarefas que compem o projeto.
b) A ordem das atividades, isto , quais as atividades antecedentes e quais as subsequentes cada atividade.
c) A durao prevista para cada atividade.
OBS: No caso do CPM, precisamos conhecer tambm o custo de cada atividade.

2.1.1 Representao grfica da Rede


1. Mtodo Americano (original)
Evento
Inicial

Identificao da Atividade
Durao da Atividade

Evento
Final

Assistir aula de PO
1

2
1 hora

As setas representam as atividades e os ns representam os eventos.

37

2.1 Construo da Rede

2. Mtodo Francs
2

Assistir aula
de PO

Intervalo

As setas representam a ordem de ligao das atividades e os blocos as atividades.


OBS: O mtodo francs mais fcil mas durante muitos anos, por tradio, o mtodo americano foi usado embora seja muito mais complicado desenhar uma rede
por ele do que pelo mtodo francs.
Nos ltimos anos no entanto, com o aparecimento de programas de computador
que fazem o desenho da rede, o mtodo francs passou a dominar o cenrio, j que
o usado pelos pacotes de computador.
Exemplo
Vamos imaginar que a rea financeira de uma pequena empresa, que produz e
vende determinado produto, precisa fazer a previso oramentria para o prximo
exerccio fiscal.
Como a confeco deste oramento envolve reas diferentes da empresa, foi decidido usar o PERT para controle e acompanhamento do projeto. As atividades do
projeto bem como a interdependncia entre elas alm da suas duraes, est mostrado na tabela a seguir:
Identificao
a
b
c
d
e

Atividade
Previso das unidades
a serem vendidas
Determinar o preo de
venda do produto
Levantar material necessrio na produo
Levantar custos
de produo
Fazer o
Oramento

Durao
em dias
14

Antecessoras
Imediatas

10

b, d

Para deixar claro o conceito, vemos que a atividade b tem como antecessora imediata a atividade a, ou seja ela s pode ser iniciada depois que a atividade a termine.
Da mesma forma, a atividade e s pode comear aps a concluso das atividades b
e d.

38

PERT/CPM

No mtodo americano o desenho da rede fica como:


4
b

e
3

10
d

14

c
7
3

No mtodo francs teramos:


3
b

147
Inicio

7
c

10

FIM

4
d

Devemos reparar que, em ambos os casos, a interdependncia das atividades fica


clara e perfeitamente visvel.

2.1.2 Representao das Atividades


Normalmente, no mtodo americano, as atividades so representadas por:
(n inicial n final)
Assim no nosso projeto, teramos:
a (1 2)
b (2 4)
c (2 3)
d (3 4)
e (4 5)
A vantagem deste tipo de representao que no necessrio se olhar o desenho
da rede para se conhecer a interdependncia das atividades. Assim, por exemplo,
as atividades que tenha n inicial igual a 2 s podem ser iniciadas depois que todas
que tenham n final igual a 2 tenham terminado.

39

2.1 Construo da Rede

2.1.3 Complicao na Construo da Rede


Vamos supor que antes de se estabelecer o preo de venda do produto, seja feito um
estudo do preo dos concorrentes. O quadro de atividades passaria a ser:
Identificao
a
a
b
c
d
e

Atividade
Previso das unidades
a serem vendidas
Estudar preo
dos concorrentes
Determinar o preo de
venda do produto
Levantar material necessrio na produo
Levantar custos
de produo
Fazer o
Oramento

Durao
em dias
14

Antecessoras
Imediatas

a, a

10

b, d

Como a atividade b depende das atividades a e a, temos dificuldade para construir


a rede no mtodo americano. Poderamos pensar em 2 opes:
Opo 2

Opo 1
b

a
1

2
a

c
a

Na opo 1, c no depende de a e na opo 2, temos 1 atividade aparecendo mais


de 1 vez o que, em redes grandes, causaria enorme confuso.
A soluo criar uma atividade, no existente, que recebe o nome Atividade Fantasma. Sua durao e custo so sempre iguais a zero.

40

PERT/CPM

3
e

a'
3

10

a
14
c
7

A atividade b depende das atividades f e a. Mas como f depende de a, a interdependncia fica correta.
A atividade fantasma sempre representada por uma linha tracejada.
Uma das vantagens do mtodo francs o fato dele nunca precisar de atividades
fantasma, como podemos ver a seguir:
3

10
Incio

14
a

7
c

Fim

4
d

Temos agora a seguinte questo: Como reconhecer que o desenho da rede necessita
de atividades fantasma ?
H necessidade de atividades fantasma quando o projeto contm grupos de 2 ou
mais atividades que tem algumas, mas no todas, antecessoras imediatas comuns.
No nosso exemplo, b e c tem uma antecessora comum (a), mas no todas.
Exerccio: Construir a rede PERT para o projeto abaixo:
Atividade Antecessoras Imediatas
a

d
a, b
e
b, c

41

2.1 Construo da Rede

Mtodo americano

3
a

f1

5
f2

e
4

Mtodo francs

a
d

Incio

Fim

e
c

Exerccio: Construir a rede PERT para o projeto abaixo:


Atividade Antecessoras Imediatas
a

d
a, b
e
a, c
f
a, b, c

42

PERT/CPM

Mtodo americano

3
d
f4
b

f1
a

2
f2

f3

f5
e

Mtodo francs

Incio

Fim

2.2 Determinao do Caminho Crtico


Uma vez reduzido o projeto a uma rede de atividades e eventos e estimadas as
duraes das atividades, estamos em condies de determinar o tempo mnimo necessrio para a execuo do projeto.
Para isto preciso achar o caminho mais longo da rede. Este caminho conhecido
como Caminho Crtico e o seu comprimento determina a durao do projeto. Para
achar o caminho crtico precisamos definir algumas variveis que sero necessrias
sua determinao:

43

2.2 Determinao do Caminho Crtico

Data de Incio do projeto: a data em que o projeto inicia. Como teremos que
fazer contas com datas, o que trabalhoso e enfadonho, vamos trabalhar com datas
absolutas. Desta forma, daqui para a frente, esta data ser sempre igual a 0.
Data mais cedo de incio de uma atividade: a data mais cedo possvel em
que uma atividade pode comear. Em ingls usada a sigla E.S, que a abreviao
de Early Start.
Data mais cedo de fim de uma atividade: a data mais cedo em que uma
atividade pode acabar. Em ingls usada a sigla E.F, que a abreviao de Early
Finish.
Vamos voltar ao nosso exemplo:
b

3
e

a'
3

10

a
14
2

c
7

Queremos encontrar a data mnima para o projeto estar pronto. Para isto necessrio achar o maior caminho da rede.
Vamos usar o chamado quadro PERT para determinar este caminho.
Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim

Data mais tarde


Inicio
Fim

Folga
Total

Para as atividades sem antecessoras, (1 2) e 1 4), a data mais cedo de incio


a prpria data de incio do projeto (0).
A data mais cedo de fim da atividade (1 2) igual a data do seu incio (0) mais a
sua durao, ou seja 14.
Da mesma forma, a atividade (1 4) tem data mais cedo de incio igual a 0 e data
mais cedo de fim igual a 3, como podemos ver no quadro:

44

PERT/CPM

Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3

Data mais tarde


Inicio
Fim

Folga
Total

A atividade (2 4) s pode comear quando a atividade (1 2) acabar. Logo sua


data mais cedo de incio 14. A sua data mais cedo de fim a soma da data mais
cedo de incio mais a sua durao, ou seja 14. Esta uma atividade fantasma com
durao igual a 0.
De maneira anloga, a atividade (2 3) tambm s pode comear quando terminar
(1 2). Sua data mais cedo de incio 14 e a de fim igual a 14 + 7 = 21.
Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3
14
14
14
21

Data mais tarde


Inicio
Fim

Folga
Total

A atividade (4 5) tem como antecessoras imediatas as atividades (1 4) e (2 4),


ou seja ela s pode comear quando estas 2 atividades tiverem acabado. A data
mais cedo que a atividade (1 4) pode acabar 3 mas o mais cedo que a atividade
(2 4) pode acabar 14. Assim sendo, o mais cedo que podemos comear (4 5)
14. Como sua durao de 3 dias, a sua data mais cedo de fim 14 + 3 = 17.
A atividade (3 5) s pode comear aps o fim da atividade (2 3). Sua data mais
cedo de incio ser a data mais cedo de fim de (2 3), ou seja 21. Sua data mais
cedo de fim ser esta data mais a sua durao (4), ou seja 25.
Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3
14
14
14
21
14
17
21
25

Data mais tarde


Inicio
Fim

Folga
Total

45

2.2 Determinao do Caminho Crtico

Finalmente a atividade (5 6) s pode iniciar aps o trmino das atividades (4 5)


e (3 5). Como as datas mais cedo destas atividades so 17 e 25, respectivamente,
a atividade (5 6) s pode comear em 25. Sua data mais cedo de fim ser igual a
25 mais a sua durao, ou seja 35, como vemos a seguir.
Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3
14
14
14
21
14
17
21
25
25
35

Data mais tarde


Inicio
Fim

Folga
Total

A menor durao para o projeto a maior das datas mais cedo. Logo, a durao do
projeto ser de 35 dias.
Para preencher as demais colunas do quadro, vamos ver novas definies:
Data mais tarde de incio de uma atividade: a data mais tarde em que uma
atividade pode comear sem comprometer a durao do projeto. Em ingls usada
a sigla L.S, que a abreviao de Latest Start.
Data mais tarde de fim de uma atividade: a data mais tarde em que uma
atividade pode acabar sem comprometer a durao do projeto. Em ingls usada a
sigla L.F, que a abreviao de Latest Finish.
Comeamos agora das atividades terminais, ou seja sem sucessoras para trs. A
nica atividade terminal neste projeto (5 6), logo a data mais cedo de fim dela
a prpria durao do projeto, 35.
A sua data mais tarde de incio a diferena entre a data mais tarde de fim e a sua
durao. ou seja 35 10 = 25.
As atividades (3 5) e (4 5) tem como sucessora (5 6). Como a data mais
tarde que (5 6) pode comear 25, esta ser a data mais tarde que aquelas 2
atividades podero acabar. A data mais tarde de incio ser a diferena entre 25 e
as respectivas duraes.
O quadro, neste instante, estar como:
Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3
14
14
14
21
14
17
21
25
25
35

Data mais tarde


Inicio
Fim

22
21
25

25
25
35

Folga
Total

46

PERT/CPM

A Atividade (2 3) tem como sucessora a atividade (3 5) cuja data mais tarde


de incio 21. Logo esta ser a data mais tarde de fim da atividade (2 3). A mais
tarde de incio ser 21 sua durao = 14.
As atividades (2 4) e (1 4) tem como sucessora a atividade (4 5) que tem
data mais tarde de incio igual a 22. Logo esta ser a data mais tarde de fim das
2 atividades. Para obter a data mais tarde basta subtrair de 22 as respectivas
duraes. Temos ento:
Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3
14
14
14
21
14
17
21
25
25
35

Data mais tarde


Inicio
Fim
19
22
14
22
21
25

Folga
Total

22
22
21
25
25
35

Finalmente a atividade (1 2) tem como sucessoras as atividades (2 3) e (2 4).


A data mais tarde de incio de (2 3) 14 e a da (2 4) igual a 22. Assim sendo
a data mais tarde que (1 2) pode acabar 14 para que (2 3) possa ser iniciada.
Como antes a data mais tarde de incio obtida subtraindo a sua durao desta
data, ou seja 14 14 = 0.
Temos ento:
Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3
14
14
14
21
14
17
21
25
25
35

Data mais tarde


Inicio
Fim
0
14
19
22
22
22
14
21
22
25
21
25
25
35

Folga
Total

Para preencher a ltima coluna (Folga Total) vamos esclarecer que Folga Total
quanto uma atividade pode ser atrasada sem atrasar a data de fim do projeto.
Seu clculo pode ser feito usando-se:
Folga Total = Data mais tarde de fim Data mais cedo de fim
ou
Data mais tarde de incio Data mais cedo de incio.
Em ingls usada a sigla T.S, que a abreviao de Total Slack.
Fazendo-se as contas, temos o quadro completo:

47

2.2 Determinao do Caminho Crtico

Atividade
12
14
24
23
45
35
56

Durao
14
3
0
7
3
4
10

Data mais cedo


Inicio
Fim
0
14
0
3
14
14
14
21
14
17
21
25
25
35

Data mais tarde


Inicio
Fim
0
14
19
22
22
22
14
21
22
25
21
25
25
35

Folga
Total
0
19
8
0
8
0
0

As atividades com folga total igual a zero so as chamadas atividades crticas e


formam o chamado caminho crtico.
Qualquer atraso em uma dessas atividades implicar em atraso na durao do
projeto.
No nosso exemplo o caminho crtico (1 2), (2 3), (3 5) e (5 6). Qualquer atraso em uma destas atividades atrasar o projeto.
Podemos formalizar agora os clculos que fizemos na construo do quadro:
d(a) durao da atividade a.
Atividades iniciais Atividades sem antecessoras.
Atividades terminais Atividades sem sucessoras.
Data mais cedo de incio das atividades iniciais = Data de incio do projeto.
Data mais cedo de incio da atividade a = Maior das datas mais cedo de fim de
todas as antecessoras imediatas de a.
Data mais cedo de fim da atividade a = Data mais cedo de incio de a + d(a).
Durao do projeto = Maior data mais cedo de fim de todas as atividades.
Data mais tarde de fim das atividades terminais = Durao do projeto.
Data mais tarde de fim da atividade a = Menor das datas mais tarde de incio de
todas as sucessoras imediatas da atividade a.
Data mais tarde de incio da atividade a = Data mais tarde de fim de a d(a).
Folga total da atividade a = Data mais tarde de incio de a Data mais cedo de
incio de a ou Data mais tarde de fim de a Data mais cedo de fim de a.

48

PERT/CPM

Exemplo: Construir o quadro PERT para um projeto constitudo das seguintes atividades:
Atividade
12
23
25
24
45
35
56
36

Durao (dias)
3
4
3
2
4
3
2
6

Calculando-se o quadro chegamos a:


Atividade
12
23
25
24
45
35
56
36

Durao
3
4
3
2
4
3
2
6

Data mais cedo


Inicio
Fim
0
3
3
7
3
6
3
5
5
9
7
10
10
12
7
13

Data mais tarde


Inicio
Fim
0
3
3
7
8
11
5
7
7
11
8
11
11
13
7
13

Folga
Total
0
0
5
2
2
1
1
0

Caminho Crtico: (1 2), (2 3) e (3 6).


Exemplo: Construir o quadro PERT para o projeto anterior considerando que o
prazo contratual para o fim do projeto a data 10.
Temos ento:
Atividade
12
23
25
24
45
35
56
36

Durao
3
4
3
2
4
3
2
6

Data mais cedo


Inicio
Fim
0
3
3
7
3
6
3
5
5
9
7
10
10
12
7
13

Data mais tarde


Inicio
Fim
3
0
0
4
5
8
2
4
4
8
5
8
8
10
4
10

Folga
Total
3
3
2
1
1
2
2
3

Como temos o aparecimento de atividades com folga negativa, podemos garantir


que o projeto no conseguir ser feito no prazo estipulado (10 dias). O prazo ter
que ser renegociado.

49

2.2 Determinao do Caminho Crtico

Exemplo: Construir o quadro PERT para um projeto com as seguintes atividades:


Atividade
12
13
25
35
34
36
46
47
58
67
78
89

Durao (dias)
2
3
5
4
2
3
1
3
3
2
2
5

Calculando-se o quadro PERT chegamos a:


Atividade
12
13
25
35
34
36
46
47
58
67
78
89

Durao
2
3
5
4
2
3
1
3
3
2
2
5

Data mais cedo


Inicio
Fim
0
2
0
3
2
7
3
7
3
5
3
6
5
6
5
8
7
10
6
8
8
10
10
15

Data mais tarde


Inicio
Fim
0
2
0
3
2
7
3
7
3
5
3
6
5
6
5
8
7
10
6
8
8
10
10
15

Folga
Total
0
0
0
0
0
0
0
0
0
0
0
0

Em um projeto, podemos ter mais de 1 caminho crtico e podemos ter at todos,


como no exemplo acima.
O que vimos at agora o que se denomina Determinao do Caminho Crtico.
Na prtica o que se usa em mais de 90% dos projetos que so controlados por
este tipo de ferramenta. Veremos a seguir o que vem a ser o PERT e o CPM em
si mas enfatizando que sua aplicao, principalmente o PERT, reduzida.

50

PERT/CPM

2.3 O Modelo PERT


Como vimos anteriormente, o PERT foi desenvolvido para controlar o projeto Polaris que era um projeto possuindo inmeras atividades de durao desconhecida,
simplesmente porque nunca tinham sido feitas. Em resumo havia um alto nvel
de incerteza quanto a durao de muitas atividades. Para controlar este fato, os
analistas que desenvolveram o PERT, criaram um modelo probabilstico no qual a
durao de cada atividade uma varivel aleatria de modo que, para cada atividade, so feitas 3 estimativas de durao:
Do Durao Otimista, ou seja, a durao mais provvel se a execuo da
atividade no tiver nenhum problema. Em termos estatsticos, uma estimativa
para o limite inferior da distribuio de probabilidade da durao da atividade.
Dp Durao Pessimista, ou seja, a durao mais provvel se a execuo da
atividade tiver problemas. Em termos estatsticos, uma estimativa para o limite
superior da distribuio probabilstica.
Dm Durao Mais Provvel, ou seja, a durao provvel se a execuo da atividade for realizada em condies normais. uma estimativa para a moda (ponto
mais alto) da distribuio de probabilidade.
Estudos realizados indicaram que a Distribuio Beta era a que melhor se adaptava s duraes reais da maioria das atividades de um grande nmero de projetos
examinados.
Podemos resumir ento a premissa bsica do modelo PERT:
A durao de uma atividade uma varivel aleatria que segue a chamada Distribuio Beta que tem os seguintes parmetros:
Mdia = Durao esperada(De ) =

Dp Do 2
2
Varincia = =
6

Do + 4Dm + Dp
6

Para exemplificar, vamos usar o modelo PERT no projeto com as seguintes atividades:
Atividade
12
23
25
24
45
35
56
36

Durao (dias)
Do Dm
Dp
2
2,5
6
1
4
7
2
3
4
1
2
3
1
4
7
2
3
4
1
2
3
2
5
14

51

2.3 O Modelo PERT

Podemos calcular, para cada atividade, a durao esperada e o desvio padro:


Atividade
12
23
25
24
45
35
56
36

Durao (dias)
Do Dm
Dp
2
2,5
6
1
4
7
2
3
4
1
2
3
1
4
7
2
3
4
1
2
3
2
5
14

De
3
4
3
2
4
3
2
6

2
0,444
1
0,111
0,111
1
0,111
0,111
4

Com a Durao Esperada (De ) podemos calcular o quadro PERT:


Atividade
12
23
25
24
45
35
56
36

De
3
4
3
2
4
3
2
6

Data mais cedo


Inicio
Fim
0
3
3
7
3
6
3
5
5
9
7
10
10
12
7
13

Data mais tarde


Inicio
Fim
0
3
3
7
8
11
5
7
7
11
8
11
11
13
7
13

Folga
Total
0
0
5
2
2
1
1
0

Caminho Crtico (1 2), (2 3) e (3 6)


Durao esperada do projeto (Dep ) = 13 dias
p2 = varincia do projeto
= 2 das atividades do caminho crtico
= 0, 444 + 1 + 4 = 5, 444
Considerando que a durao de uma atividade independente da durao de cada
uma das outras atividades do projeto, ou seja, a varivel aleatria durao da atividade uma varivel aleatria independente, temos que a durao esperada do
projeto (Dep ) a soma das duraes das atividades do caminho crtico, ou seja a
soma de variveis aleatrias independentes.
Pelo teorema do Limite Central, uma varivel aleatria que a soma de variveis
aleatrias, segue a Distribuio Normal.
Desta forma, no modelo PERT, a durao do projeto uma varivel aleatria que
segue a Distribuio Normal com:
Mdia = = Dep
q
Desvio Padro = p = p2

52

PERT/CPM

No nosso exemplo, a durao do projeto uma varivel aleatria, normalmente distribuda, com:
= 13 e = 5, 444 = 2, 3333
Podemos ento responder ao seguinte tipo de perguntas:
a) Qual a probabilidade do projeto demorar mais de 14 dias ?
Trabalhando com a frmula da normal padronizada, temos:
X
14 13
Z=
=
= 0, 43

2, 333
P (Durao > 14) = 1 P (Durao 14)
P (Durao 14) = P (Z 0, 43) = 0, 6664
(tabela normal pg. 226)
P (Durao > 14) = 1 0, 6664 = 0, 3336 = 33, 36%
b) Qual deve ser a durao do projeto para que o risco de no cumprimento do
prazo seja de 5% ?
Queremos X de modo que P (Durao > X) = 5% = 0, 05
P (Durao X) = 1 0, 05 = 0, 95
Na tabela normal (pg. 226) procuramos o valor de Z que corresponde a 0, 95 1, 64.
X 13
1, 64 =
2, 333
X = 16, 97 dias.
Exemplo: Um pequeno projeto constitudo de 7 atividades cujas estimativas de
durao esto dadas abaixo:
Atividade
12
13
14
25
35
46
56

Durao (dias)
Do Dm
Dp
1
1
7
1
4
7
2
2
8
1
1
1
2
5
14
2
5
8
3
6
15

53

2.3 O Modelo PERT

Calculando a durao esperada e a varincia:


Atividade
12
13
14
25
35
46
56

Durao (semanas)
Do Dm
Dp
1
1
7
1
4
7
2
2
8
1
1
1
2
5
14
2
5
8
3
6
15

De
2
4
3
1
6
5
7

2
1
1
1
0
4
1
4

Calculando o quadro PERT, temos:


Atividade
12
13
14
25
35
46
56

De
2
4
3
1
6
5
7

Data mais cedo


Inicio
Fim
0
2
0
4
0
3
2
3
4
10
3
8
10
17

Data mais tarde


Inicio
Fim
7
9
0
4
9
12
9
10
4
10
12
17
10
17

Folga
Total
7
0
9
7
0
9
0

Caminho Crtico: (1 3), (3 5) e (5 6)


Dep = 17 semanas

p2 = 1 + 4 + 4 = 9
= 9=3
a) Qual a probabilidade de que o projeto fique pronto em 14 ou menos semanas ?
14 17
= 1
Z=
3
P (Durao 14) = P (Z 1) = 0, 1586 = 15, 86%
b) Se a data contratada para o fim do projeto de 18 semanas, qual a probabilidade do projeto ultrapassar este prazo ?
P (Durao > 18) = 1 P (Durao 18)
18 17
= 0, 333
Z=
3
P (Durao 18) = P (Z 0, 333) = 0, 6293
P (Durao > 18) = 1 0, 6293 = 0, 3707 = 37, 07%
c) Qual data para o fim do projeto que tem 90% de probabilidade de ser cumprida ?
P (Durao X) = 0, 90 Z para 0, 90 1, 29
X 17
1, 29 =
3
X = 20, 87 semanas

54

PERT/CPM

No caso em que se tem mais de 1 caminho crtico, a durao esperada do projeto


(Dep) nica, pois os comprimentos de todos os caminhos crticos so iguais. No
caso da varincia do projeto no to simples pois, a no ser por coincidncia,
cada caminho crtico ter um somatrio de varincias diferente.
Qual deve ser usada para a varincia do projeto ? A maior delas.

2.3.1 Problemas do modelo PERT


O modelo PERT muito pouco utilizado na prtica e este fato deve-se aos seguintes
fatores:
1) Estimar, com preciso, duraes para atividades de um projeto no , via de
regra, tarefa das mais simples. Estimar 3 duraes para cada atividade , obviamente, uma tarefa muito mais difcil.
2) O postulado bsico no qual o modelo PERT est baseado, ou seja de que as atividades de um projeto so independentes entre si, difcil de ser justificado. O
mais comum em um projeto a execuo de uma atividade acabar influenciando
a execuo de outras.
3) O outro postulado do modelo PERT de que as duraes das variveis seguem
uma distribuio beta tem sido contestado, com inmeros exemplos j publicados.
4) Pela prpria natureza do modelo PERT, um caminho crtico pode deixar de ser
crtico se, por exemplo, as atividades de um outro caminho comearem, por algum problema, a serem executadas na durao pessimista. Como os resultados,
por exemplo a durao esperada do projeto, foram calculados em cima do caminho crtico original, os resultados teriam que ser todos recalculados.

55

2.4 O Modelo CPM

2.4 O Modelo CPM


Como visto anteriormente, o enfoque principal do CPM controlar os custos do
projeto. Est baseado na idia de que se colocarmos mais recursos na execuo
de uma atividade, conseguiremos faz-la mais rapidamente, embora aumentando
o seu custo.
usado em projetos onde a durao das atividades conhecida com bastante preciso, como projetos de construo civil, por exemplo.
No CPM, para cada atividade, so feitas 2 estimativas de durao que esto associadas a 2 custos:
Durao Normal (Dn ), que tem associado o chamado Custo Normal (Cn ).
Durao Acelerada (Da ), que tem associado o chamado Custo Acelerado
(Ca ).
A Durao Acelerada a menor durao em que possvel se fazer a atividade.
Devemos notar que, a partir de certo ponto, no adianta colocar mais recursos na
execuo de uma atividade que no se conseguir diminuir sua durao.

2.4.1 Relao entre Duraes/Custos Normal e Acelerado


O postulado bsico do modelo CPM que a relao entre durao/custo normal e
durao/custo acelerado linear.
Seja, por exemplo, uma atividade cuja durao normal de 6 dias com custo normal de $4.000. Vamos supor que sua durao acelerada seja de 2 dias e seu custo
acelerado seja de $6.000.
A representao grfica desta atividade seria:

Custo
$

6.000

k
4.000

Durao
(Dias)

56

PERT/CPM

Coeficiente Angular = tan k =

Ca Cn
Dn Da

6000 4000
62

= 500

A tangente do ngulo k chamada de Custo Incremental, ou seja, o que aumenta


(diminue) no custo da execuo da atividade se ela acelerada (desacelerada) de 1
unidade de tempo (1 dia no nosso exemplo).

2.4.2 Compresso da Rede


Vamos ver o uso do modelo CPM aplicado a um projeto cujos dados esto a seguir:
Atividade
12
13
24
34
25
45
46
57
67

Durao (semanas)
Normal Acelerada
6
3
6
2
7
5
5
2
5
3
9
6
6
4
4
1
2
1

Custo ($)
Normal Acelerado
4.000
5.000
4.000
6.000
4.000
6.000
4.000
6.000
3.000
6.000
5.000
10.000
3.000
6.000
2.000
5.000
2.000
4.000

Podemos calcular para cada atividade o seu Custo Incremental:


Atividade
12
13
24
34
25
45
46
57
67

Custo Incremental
(Ca Cn )/(Da Dn )
333
500
1.000
667
1.500
1.667
1.500
1.000
2.000

57

2.4 O Modelo CPM

Usando a durao/custo normal, construmos o quadro PERT:


Atividade
12
13
24
34
25
45
46
57
67

Dur
6
6
7
5
5
9
6
4
2

Data mais cedo


Inicio
Fim
0
6
0
6
6
13
6
11
6
11
13
22
13
19
22
26
19
21

Data mais tarde


Inicio
Fim
0
6
2
8
6
13
8
13
17
22
13
22
18
24
22
26
24
26

Folga
Total
0
2
0
2
11
0
5
0
5

Durao = 26 semanas
Caminho Crtico: (1 2) (2 4) (4 5) (5 7)
Custo = do custo normal de todas as atividades do projeto = $31.000
O objetivo diminuir a durao do projeto minimizando o aumento no custo.
Para isto ser usada uma tcnica conhecida como Compresso da Rede.
No processo precisaremos das seguintes definies:
t = nmero de unidades de tempo que a atividade ainda pode ser reduzida.
Folga Mnima = a menor folga diferente de zero que aparece no quadro PERT.
Como a durao do projeto o comprimento do caminho crtico, para se reduzir a
sua durao temos que diminuir o caminho crtico, ou seja diminuir a durao de
uma das atividades que o compe.
Vamos examinar as opes que temos para reduzir o caminho crtico:
Atividade
1 2
2 4
4 5
5 7

Custo Incremental
333
1.000
1.667
1.000

t
3

Folga Mnima = 2
Como podemos observar, a atividade (1 2) a mais barata para ser acelerada.
Surge ento a pergunta: Quanto podemos acelerar (1 2) ? O mximo que pode
ser acelerado o mnimo entre o t da atividade e a Folga Mnima.
Logo o mximo que podemos acelerar (1 2) :
Min(t, Folga Mnima) = Min(3, 2) = 2 semanas.

58

PERT/CPM

Porque no podemos acelerar mais que a folga mnima? Porque estaramos correndo o risco de estar acelerando uma atividade e aumentando o custo
do projeto, sem garantir que estaramos diminuindo sua durao.
No exemplo, se acelerssemos a atividade (1 2) de 3 semanas poderamos estar acelerando 1 semana (a 3a) sem garantir que a reduo seria maior que 2
semanas. Como a Folga Mnima igual a 2 provvel que exista um caminho y
na rede com folga de 2, ou seja, comprimento igual a 24 . Logo se (1 2) fosse reduzida de 3 semanas (ficando o caminho crtico original com comprimento igual
a 23 semanas), o caminho y passaria a ser o crtico pois seu comprimento seria
igual a 24 semanas.
Calculando o quadro Pert com a nova durao de (1 2) temos:
Atividade
12
13
24
34
25
45
46
57
67

Dur
4
6
7
5
5
9
6
4
2

Data mais cedo


Inicio
Fim
0
4
0
6
4
11
6
11
4
9
11
20
11
17
20
24
17
19

Data mais tarde


Inicio
Fim
0
4
0
6
4
11
6
11
15
20
11
20
16
22
20
24
22
24

Folga
Total
0
0
0
0
11
0
5
0
5

Durao: 24 semanas
Caminhos Crticos: (1 2) (2 4) (4 5) (5 7)
(1 3) (3 4) (4 5) (5 7)
Custo = 31.000 + 2 333 = $31.666
Agora temos 2 caminhos crticos. Para diminuir a durao do projeto temos que
reduzir o comprimento dos 2 caminhos crticos. As opes so aquelas que reduzem
simultaneamente uma atividade do 1o caminho e uma do 2o.
Atividade
(1 2) (1 3)
(1 2) (3 4)
(2 4) (1 3)
(2 4) (3 4)
(4 5)
(5 7)

Custo Incremental
333 + 500 = 833
333 + 667 = 1.000
1.000 + 500 = 1.500
1.000 + 667 = 1.667
1.667
1.000

t
1e4

Folga Mnima = 5
A opo mais barata reduzir (1 2) e (1 3).

59

2.4 O Modelo CPM

Quanto podemos reduzir ?


Min [t de (12), t de (13), Folga Mnima]= Min(1,4,5) = 1 semana.
Construindo novo quadro, temos:
Atividade
12
13
24
34
25
45
46
57
67

Dur
3
5
7
5
5
9
6
4
2

Data mais cedo


Inicio
Fim
0
3
0
5
3
10
5
10
3
8
10
19
10
16
19
23
16
18

Data mais tarde


Inicio
Fim
0
3
0
5
3
10
5
10
14
19
10
19
15
21
19
23
21
23

Folga
Total
0
0
0
0
11
0
5
0
5

Durao: 23 semanas
Caminhos Crticos: (1 2) (2 4) (4 5) (5 7)
(1 3) (3 4) (4 5) (5 7)
Custo = 31.666 + 1 833 = $32.500
Apesar dos caminhos crticos serem os mesmos do quadro anterior, as opes so
diferentes porque a atividade (1 2) j se encontra na sua durao acelerada, ou
seja, no pode ser mais comprimida. Assim as opes passam a ser:
Atividade
(2 4) (1 3)
(2 4) (3 4)
(4 5)
(5 7)

Custo Incremental
1.000 + 500 = 1.500
1.000 + 667 = 1.667
1.667
1.000

Folga Mnima = 5

60

PERT/CPM

A opo mais barata reduzir a atividade (5 7) de Min(3, 5) = 3 semanas. O novo


quadro passa a ser:
Atividade
12
13
24
34
25
45
46
57
67

Dur
3
5
7
5
5
9
6
1
2

Data mais cedo


Inicio
Fim
0
3
0
5
3
10
5
10
3
8
10
19
10
16
19
20
16
18

Data mais tarde


Inicio
Fim
0
3
0
5
3
10
5
10
14
19
10
19
12
18
19
20
18
20

Folga
Total
0
0
0
0
11
0
2
0
2

Durao: 20 semanas
Caminhos Crticos: (1 2) (2 4) (4 5) (5 7)
(1 3) (3 4) (4 5) (5 7)
Custo = 32.500 + 3 1.000 = $35.500
A atividade (5 7) tambm chegou na sua durao acelerada de maneira que
as opes para reduzir a durao do projeto passam a ser:
Atividade
(2 4) (1 3)
(2 4) (3 4)
(4 5)

Custo Incremental
1.000 + 500 = 1.500
1.000 + 667 = 1.667
1.667

t
2e3

Folga Mnima = 2
A melhor opo reduzir (2 4) e (1 3) de Min(2,3,2) = 2 semanas.
O novo quadro passa a ser:
Atividade
12
13
24
34
25
45
46
57
67

Dur
3
3
5
5
5
9
6
1
2

Data mais cedo


Inicio
Fim
0
3
0
3
3
8
3
8
3
8
8
17
8
14
17
18
14
16

Data mais tarde


Inicio
Fim
0
3
0
3
3
8
3
8
12
17
8
17
10
16
17
18
16
18

Folga
Total
0
0
0
0
9
0
2
0
2

61

2.4 O Modelo CPM

Durao: 18 semanas
Caminhos Crticos: (1 2) (2 4) (4 5) (5 7)
(1 3) (3 4) (4 5) (5 7)
Custo = 35.500 + 2 1.500 = $38.500
Como as atividades (1 2), (2 4) e (5 7) j esto na durao acelerada, temos uma nica opo para reduzir os 2 caminhos:
Atividade
(4 5)

Custo Incremental
1.667

t
3

Folga Mnima = 2
Reduzimos ento (4 5) de Min(3,2) = 2 semanas, obtendo:
Atividade
12
13
24
34
25
45
46
57
67

Dur
3
3
5
5
5
7
6
1
2

Data mais cedo


Inicio
Fim
0
3
0
3
3
8
3
8
3
8
8
15
8
14
15
16
14
16

Durao: 16 semanas
Caminhos Crticos: (1 2) (2
(1 2) (2
(1 3) (3
(1 3) (3
Custo = 38.500 + 2 1.667 =

4) (4 5) (5
4) (4 6) (6
4) (4 5) (5
4) (4 6) (6
$41.833

Data mais tarde


Inicio
Fim
0
3
0
3
3
8
3
8
10
15
8
15
8
14
15
16
14
16

Folga
Total
0
0
0
0
7
0
0
0
0

7)
7)
7)
7)

Passamos a ter agora 4 caminhos crticos. Para se reduzir a durao do projeto


temos que reduzir 1 atividade de cada um dos caminhos.
Como as atividades (1 2), (2 4) e (5 7) j esto na durao acelerada nossas
opes so:
Atividade
(4 5) (4 6)
(4 5) (6 7)

Custo Incremental
1.667 + 1.500 = 3.167
1.667 + 2.000 = 3.667

t
1e2

Folga Mnima = 7
A melhor opo reduzir (4 5) e (4 6) de Min (1,2,7) = 1 semana.
O novo quadro passa a ser:

62

PERT/CPM

Atividade
12
13
24
34
25
45
46
57
67

Dur
3
3
5
5
5
6
5
1
2

Data mais cedo


Inicio
Fim
0
3
0
3
3
8
3
8
3
8
8
14
8
13
14
15
13
15

Durao: 15 semanas
Caminhos Crticos: (1 2) (2
(1 2) (2
(1 3) (3
(1 3) (3
Custo = 41.833 + 1 3.167 =

4) (4 5) (5
4) (4 6) (6
4) (4 5) (5
4) (4 6) (6
$45.000

Data mais tarde


Inicio
Fim
0
3
0
3
3
8
3
8
9
14
8
14
8
13
14
15
13
15

Folga
Total
0
0
0
0
6
0
0
0
0

7)
7)
7)
7)

Neste ponto no podemos reduzir mais a durao do projeto pois o 1o caminho


j tem todas as suas atividades na durao acelerada, ou seja, impossvel reduzir seu comprimento. No adiantaria reduzir qualquer outro caminho pois este
continuaria a ser o crtico.

2.4.3 Durao tima para o projeto


Os custos que vimos at agora so os chamados custos diretos, ou seja, os custos
envolvidos diretamente na execuo das atividades.
Em um projeto, alm destes custos, temos tambm os chamados custos indiretos
que afetam todas as atividades do projeto.
Vamos supor que no exemplo visto at aqui, os custos indiretos sejam de $2.000 por
semana, existindo ainda uma multa contratual de $2.000 por semana que o projeto
passar de 20 semanas.
Qual a durao tima para o projeto ?
Para responder a esta pergunta temos que construir o seguinte quadro:
Durao
(semanas)
26
24
23
20
18
16
15

Custos
Diretos Indiretos
31.000
52.000
31.666
48.000
32.500
46.000
35.500
40.000
38.500
36.000
41.833
32.000
45.000
30.000

Multa
12.000
8.000
6.000

Custo
total
95.000
87.666
84.500
75.500
74.500
73.833
75.000

63

2.4 O Modelo CPM

A curva de Custo Total tem, genericamente, a aparncia mostrada abaixo, ou seja


ele comea com um determinado valor, vai diminuindo, passa pelo ponto mnimo,
ou seja, de menor custo e volta a crescer.
$

73.833

16

t
(semanas)

Podemos ver ento que a durao tima para o projeto de 16 semanas.


Embora o quadro s mostre as duraes encontradas no processo de compresso da rede, temos facilmente disponvel todas as demais duraes. Assim, por
exemplo, a passagem de 23 semanas para 20 semanas aconteceu porque se reduziu a durao da atividade (5 7) de 3 semanas. Para se obter o custo de 22
semanas basta reduzir (5 7) de apenas 1 semana. Para se ter o valor de 21
semanas, reduz-se (5 7) de 2 semanas.
No ponto onde a curva faz a sua inflexo, temos que calcular todas as duraes
pois uma durao no explcita pode ser a tima. No exemplo, antes de afirmar
que 16 semanas a durao tima, teramos que ver o custo de fazer o projeto
em 17 semanas.

2.4.4 Resolvendo por Programao Linear


A compresso da rede, que acabamos de ver, pode ser equacionada e resolvida atravs da formulao de modelos de Programao Linear. Em projetos muito grandes,
o uso da Programao Linear pode acelerar a obteno das respostas desejadas embora com um provvel aumento de custo pois ser necessrio o uso de um pacote
para resoluo de modelos de P.Linear alm da equipe ter que contar com especialistas nesta tcnica.

64

PERT/CPM

Para apresentarmos como usar a P.Linear, vamos supor que temos, para um determinado projeto, os dados abaixo:
Atividade
1 2 (a)
1 3 (b)
2 5 (c)
2 4 (d)
3 4 (e)
4 5 (f)
5 6 (g)

Durao (semanas)
Normal Acelerada
14
6
12
8
18
14
6
4
4
2
8
6
12
8

Custo ($)
Normal Acelerado
1.400
3.200
1.000
4.000
1.600
3.000
800
4.000
400
500
400
900
800
2.500
6.400

Calculando o Custo Incremental para cada uma das atividades, encontramos:


Atividade
1 2 (a)
1 3 (b)
2 5 (c)
2 4 (d)
3 4 (e)
4 5 (f)
5 6 (g)

Custo Incremental
225
750
350
1600
50
250
425

Aplicando a compresso na rede (deixado como exerccio) as duraes e custos, encontrados nos passos do algortimo so:
Durao
44 (Normal)
40
36
34
32
30
28

Custo
$6.400
$7.300
$8.200
$9.000
$9.850
$10.700
$11.900

A menor durao possvel para se fazer o projeto 28 semanas com o custo timo
igual a $11.900.
Para facilitar a compreenso do modelo de P.Linear, vamos ver o desenho da rede:

65

2.4 O Modelo CPM

T2
T5

a
T1

f
b

T6
6

4
3

T4

T3

As variveis Ti so as datas em que ocorrem os eventos 1, 2, ..., 6. A varivel T6 d


a durao do projeto.
Vamos definir um outro conjunto de variveis, yi , que significa o quanto a atividade
i vai ser acelerada. Assim, por exemplo, Yd quanto a atividade d ou (2 4) vai
ser acelerada.
Um conjunto de restries aquele que mostra a acelerao mxima que cada atividade pode sofrer, ou genericamente yi t.
Temos ento:
ya 8
yb 4
yc 4
yd 2
ye 2
yf 2
yg 4
Podemos agora construir as restries que limitam os valores (datas) que os eventos (Ti ) podem assumir.
T2 , que s depende da atividade a, tem que ser maior ou igual T1 mais a diferena
entre 14, que a sua durao normal, menos ya , ou seja quanto ela vai ser acelerada. Temos ento:
T2 T1 + (14 ya )
Como consideramos normalmente T1 (incio do projeto) como igual a zero, a restrio fica como:
T2 + ya 14
T3 , que s depende da atividade b, tem que ser maior ou igual T1 mais a diferena
entre 12, que a sua durao normal, menos yb , ou seja quanto ela vai ser acelerada. Temos ento:
T3 T1 + (12 yb )
Como T1 zero, temos:
T3 + yb 12
J o evento T4 depende das atividades d e e. Assim temos 2 restries. Na 1a,
relativa a atividade d, temos:
T4 T2 + (6 yd ) ou
T4 T2 + yd 6

66

PERT/CPM

Na 2a (atividade e) temos:
T4 T3 + (4 ye ) ou
T4 T3 + ye 4
Restries semelhantes podemos construir para o evento 5:
T5 T2 + (18 yc ) ou
T5 T2 + yc 18 e,
T5 T4 + (8 yf ) ou
T5 T4 + yf 8
Finalmente temos a restrio para o evento 6:
T6 T5 + (12 yg ) ou
T6 T5 + yg 12
Vamos supor que queremos encontrar o melhor custo para fazer o projeto em 34
semanas. Devemos colocar a restrio T6 = 34.
A funo objetivo uma funo de minimizao pois queremos minimizar o valor
correspondente as aceleraes
que as atividades vo sofrer. Logo a funo objetivo
P
ser equivalente a
yi (Custo Incremental)i .
Podemos escrever o modelo completo:
(Min) Z = 225ya + 750yb + 350yc + 1600yd + 50ye + 250yf + 425yg
sujeito a
T2 + ya 14
T3 + yb 12
T4 T2 + y d 6
T4 T3 + y e 4
T5 T2 + yc 18
T5 T4 + yf 8
T6 T5 + yg 12
T6 = 34
ya 8
yb 4
yc 4
yd 2
ye 2
yf 2
yg 4
Ti , y i 0
Usando-se o mdulo de P.Linear, do software PO, para resolver o modelo, a seguinte
soluo tima encontrada:
T2 = 6 T3 = 12 T4 = 14 T5 = 22 T6 = 34
ya = 8 o que indica que a atividade a ou (1 2) foi acelerada de 8 semanas ficando
com a durao igual a 14 8 = 6 semanas.
yc = 2 ou seja a atividade c ou (2 5) ficou na durao 18 2 = 16 semanas.
ye = 2 indicando que a atividade e ou (3 4) ficou na durao 4 2 = 2 semanas.
Os valores timos dos demais yi ficaram igual a zero indicando que as respectivas
atividades ficaram na durao normal.
O valor timo da funo objetivo foi igual a $2.600, logo o menor custo para se fazer
o projeto em 34 semanas o somatrio do custo de se fazer todas as atividades na
durao normal ($6.400) mais os $2.600, ou seja $9.000.

2.4 O Modelo CPM

67

Este resultado exatamente igual ao encontrado, para 34 semanas, quando usamos a tcnica de compresso da rede.
Um outro tipo de situao encontrada em projetos quando se tem uma certa quantia e se deseja conhecer qual o tempo mnimo para se fazer o projeto usando aquela
quantia.
Vamos supor, ainda no nosso exemplo, que se tem disponvel $9.850 para fazer o
projeto.
Este valor $3.450 acima dos $6.400 necessrios se usamos as duraes normais.
Podemos
P modificar o nosso modelo colocando no lugar da restrio T6 = 34 a restrio
yi (Custo Incremental)i = 3450 ou seja,
225ya + 750yb + 350yc + 1600yd + 50ye + 250yf + 425yg = 3450
O objetivo passa a ser minimizar T6 . Nosso modelo fica ento como:
(Min) Z = T6
sujeito a
225ya + 750yb + 350yc + 1600yd + 50ye + 250yf + 425yg = 3450
T2 + ya 14
T3 + yb 12
T4 T2 + yd 6
T4 T3 + y e 4
T5 T2 + yc 18
T5 T4 + y f 8
T6 T5 + yg 12
ya 8
yb 4
yc 4
yd 2
ye 2
yf 2
yg 4
Ti , yi 0
Mais uma vez usando-se o software PO para resolver o modelo, encontramos T6 =
32 semanas, ou seja o mesmo valor encontrado quando resolvemos usando a tcnica de compresso da rede.
A soluo tambm fornece os valores timos dos yi , o que permite, de forma anloga
a mostrada acima, se determinar as duraes das atividades para fazer o projeto
em 32 semanas.

68

PERT/CPM

2.5 Exerccios
Para ajudar na resoluo dos exerccios a seguir, poder ser usado o programa PO
que pode ser encontrado na pgina www.mpsantos.com.br
Na prpria pgina podem ser encontradas as explicaes de como baixar e instalar o aplicativo. Ele para o ambiente Windows e roda em qualquer verso a partir
do Windows 95, inclusive.
Nos exerccios, tanto de PERT como de CPM, a sada do programa permite a comparao com o que foi feito manualmente na aplicao dos algortimos.
1) Os dados abaixo referem-se a atividades de um determinado projeto:
Atividade
1 2
1 3
2 4
3 5
1 6
1 7
6 7
4 7
5 7
7 8
8 9
9 10
8 10
10 11
11 12

Durao (semanas)
Otimista Mais provvel Pessimista
10
15
20
3
5
10
20
25
40
50
60
80
2
3
10
6
10
20
0
0
0
20
30
35
25
30
35
30
40
50
4
8
10
0
0
0
2
3
5
26
35
45
3
5
10

Qual a probabilidade de que o projeto fique pronto em 180 ou menos semanas ?


2) Para um determinado projeto os seguintes dados esto disponveis:
Atividade
1 2
1 5
1 3
2 5
3 4
4 5
5 6
6 7

Durao (semanas)
Normal Acelerada
3
1
2
1
5
3
3
1
6
3
2
1
2
1
8
6

Custo ($)
Normal Acelerado
3.000
10.000
1.000
2.000
9.000
18.000
1.000
5.000
20.000
50.000
1.000
3.000
4.000
9.000
10.000
15.000

69

2.5 Exerccios

Os custos indiretos so de $5.000 por semana.


Existe uma clusula contratual que estipula que por cada semana que o projeto
passar de 17 semanas, ser paga uma multa de $2.000.
Qual a durao tima para o projeto ?
3) Para um determinado projeto temos os seguintes dados:
Atividade
1 2
1 4
1 3
2 4
3 4
2 5
4 5
3 5

Durao (semanas)
Normal Acelerada
4
3
7
5
3
2
5
3
2
2
10
8
7
5
2
1

Custo ($)
Normal Acelerado
100
200
280
520
50
100
200
360
160
160
230
350
200
480
100
200

Os custos indiretos so dados pela equao 134.t se o projeto dura mais de 12


dias (13,14,...) e pela equao 120.t se o projeto dura menos de 13 dias (12,11,...),
onde t a durao em dias.
Qual a durao tima para o Projeto ?
4) Para um determinado projeto temos os seguintes dados:

Atividade
1 2
1 4
1 6
1 7
2 3
3 4
4 5
5 6
6 7
7 8
6 8
8 9
5 9
9 10
7 11

Durao (semanas)
Otimista Mais provvel Pessimista
0
1
8
5
7
27
0
3
6
1
1
1
3
6
15
1
3
5
0
6
6
1
2
15
2
4
6
0
0
0
2
3
4
3
5
13
3
3
3
1
8
9
2
3
10

Qual a probabilidade do projeto ficar pronto em 35 ou menos dias ?

70

PERT/CPM

5) Para um determinado projeto temos os seguintes dados:

Atividade
1 2
1 3
1 4
2 5
3 4
3 5
4 5
5 6

Durao (semanas)
Otimista Mais provvel Pessimista
4
8
12
8
10
12
8
14
24
5
8
10
2
5
8
2
4
8
6
10
14
1
3
6

a) Qual a probabilidade de que o projeto dure mais de 26 semanas para ficar


pronto ?
b) Ao longo do caminho, no crtico, (1 4) (4 5) (5 6), qual a probabilidade
de que ele dure mais de 26 semanas ?
c) Qual a probabilidade de que o caminho (1 2) (2 5) (5 6) dure mais de
26 semanas ?
6) Para um determinado projeto temos os seguintes dados:

Atividade
1 2
1 3
2 4
2 5
4 5
3 6
3 7
5 8
6 9
8 9
9 10
7 11
10 11
11 12
5 13

Durao (semanas)
Otimista Mais provvel Pessimista
2
2
2
1
3
7
3
7
7
4
7
8
0
0
0
2
6
9
5
9
11
3
6
8
2
6
9
0
0
0
1
3
4
4
8
11
0
0
0
2
5
7
3
5
8

a) Qual a probabilidade de que o projeto termine em 26 ou menos semanas ?


b) Idem para 23 ou menos semanas ?
c) Qual dever ser a durao estipulada para que se tenha 90% de certeza de
que a data ser cumprida ?

71

2.5 Exerccios

7) Uma firma eletrnica assinou um contrato para instalar um equipamento de


controle em um aeroporto. A instalao completa pode ser dividida em 14 atividades distintas. Os dados referentes cada atividade esto mostrados a seguir:
Durao (semanas)
Normal Acelerada
3
2
6
4
5
4
7
5
4
3
5
4
4
4
2
2
8
5
6
4
7
5
6
4
5
4
3
2

Atividade
1 2
1 3
1 4
2 4
2 6
3 5
3 6
4 6
2 5
5 7
3 8
6 8
8 9
7 10

Custo ($)
Normal Acelerado
320
360
575
700
500
550
750
850
420
490
475
535
425
425
180
180
850
1060
650
750
675
735
650
750
525
575
280
335

O contrato especifica que a instalao deve estar pronta em 18 dias. H uma


multa diria de $100 por cada dia que o projeto exceder de 18 dias.
Em que prazo deve a firma acabar a instalao de maneira que seu custo seja
mnimo ?
8) Qual o maior caminho entre os ns 1 e 10 na rede abaixo:
3

2
5

7
2

10

5
1

7
1

3
3
4
1

8
1

72

PERT/CPM

9) Qual o maior caminho entre os ns 1 e 7 na rede abaixo:


7

6
5

4
2
5

8
4

6
5

10) Para um determinado projeto temos os seguintes dados:

Atividade
1 2
1 4
1 3
2 4
3 4
2 5
4 5
3 5

Durao (semanas)
Normal Acelerada
7
5
4
3
5
3
3
2
10
8
2
2
2
1
7
5

Custo ($)
Normal Acelerado
100
200
280
520
50
100
200
360
160
360
230
230
200
480
100
200

Qual o menor custo para se fazer o projeto em 13 semanas ?


11) Para o projeto do exerccio 10, formule o modelo de P.Linear cuja soluo d o
custo e as duraes das atividades para o projeto ser feito em 13 semanas.
12) Para o projeto do exerccio 10, formule um modelo de P.Linear supondo que se
deseja fazer o projeto na menor durao possvel tendo disponvel $1.570.

2.5 Exerccios

2.5.1 Respostas dos exerccios


1) Durao esperada do projeto = 185,5 semanas
P (Dur 180) = 22%
2) 17 semanas
3) 12 dias
4) Durao esperada do projeto = 38 dias
P (Dur 35) = 23, 7%
5) Durao esperada do projeto = 28,16 semanas
a) 86,3%
b) 73%
c) 0%
6) Durao esperada do projeto = 24,66 semanas
a) 74,61%
b) 20,4%
c) 27,3 semanas
7) Z = 18 dias
8) (1 2) (2 5) (5 6) (6 9) (9 10)
9) (1 3) (3 4) (4 6) (6 7)
10) Z = $1.570
11) (Min) Z = 50ya + 240yb + 25yc + 160yd + 100ye + 280yg + 50yh
sujeito a
T2 + y a 7
T3 + y c 5
T4 T2 + yd 3
T4 T3 + ye 10
T5 T2 2
T5 T4 + y g 2
T5 T3 + yh 7
T5 = 13
ya 2
yb 1
yc 2
yd 1
ye 2
yg 1
yh 2
Ti , y i 0

73

74
12)

PERT/CPM

(Min) Z = T5
sujeito a
50ya + 240yb + 25yc + 160yd + 100ye + 280yg + 50yh = 250
T2 + y a 7
T3 + y c 5
T4 T2 + yd 3
T4 T3 + ye 10
T5 T2 2
T5 T4 + y g 2
T5 T3 + yh 7
ya 2
yb 1
yc 2
yd 1
ye 2
yg 1
yh 2
Ti , y i 0
(*) $1570 - Custo na durao normal ($1320) = $250

Captulo 3
Teoria das Filas

Esperar em uma fila uma das ocorrncias mais comuns no nosso dia a dia. Ns
esperamos na fila para fazer matrcula, para pagar em um supermercado, para pagar uma conta no banco, para comer um hamburguer, para colocar gasolina, etc...
O pioneiro no estudo das filas de espera foi A.K.Erlang, um engenheiro dinamarqus,
que publicou, na dcada 1910-1920, vrios trabalhos sobre o assunto quando da implantao do servio telefnico em Copenhague.
Filas podem existir na forma de pessoas ou objetos esperando por algum tipo de
servio ou podem existir em um sentido abstrato, ou seja no to visvel, como por
exemplo uma fila de navios esperando para atracar em um porto.

3.1 Porque as filas so estudadas


As filas so estudadas porque em toda fila, embora nem sempre se perceba, existe
embutido um problema econmico. E este problema econmico surge porque em
qualquer fila (mesmo a da padaria da esquina!) existem 2 custos envolvidos: O
Custo da Fila e o Custo do Servio.
Para que possamos entender o que vem a ser estes 2 custos, vamos examinar um
exemplo clssico de fila: a atracao de navios em um porto.
Em qualquer porto, o do Rio de Janeiro por exemplo, existem os locais onde os navios podem atracar. Estes locais so chamados de beros.
Assim o nmero de beros d o nmero mximo de navios que podem estar atracados em um porto. Por sua vez, a legislao internacional que regulamenta o trfego
martimo determina que se ao chegar a um porto (obviamente na data certa) no
houver bero para atracar, a administrao do porto tem que indenizar a companhia, dona do navio, pelo tempo que ele ficar ao largo esperando bero livre para
atracar.
Em resumo quando, por qualquer motivo, todos os beros de um porto esto ocupados, os navios que chegam formam uma fila (lgica) aguardando a sua vez.
Podemos agora definir os custos da fila e do servio envolvidos no caso de um porto.
O Custo do Servio o custo de construir e manter em funcionamento os beros de atracao. Quanto mais beros oferecidos, ou seja, quanto maior o nvel de
servio oferecido, maior este custo.

76

Teoria das Filas

O Custo da Fila o custo que a administrao do porto tem pelo pagamento das
indenizaes aos navios que esperam na fila.
Este custo inversamente proporcional ao custo do servio (nmero de beros). Se
temos poucos beros o custo do servio ser pequeno mas como a fila ser grande,
o custo da fila ser grande. J se tivermos muitos beros, o custo do servio ser
grande mas em compensao, como a fila ser pequena, o custo da fila ser pequeno.
Genericamente podemos definir:
Custo do Servio: o custo de construir e manter em funcionamento as estaes
que prestam determinado servio.
Custo da Fila: o custo que se incorre devido ao fato de usurios de um sistema
de fila terem que esperar na fila propriamente dita.
Custo Total: a soma do Custo da Fila mais o Custo do Servio.
A figura a seguir uma representao destes custos:

$
Custo Total

Custo do Servio

Custo daFila
Nvel timo

Nvel de Servio

O objetivo em qualquer sistema de filas achar o ponto timo que minimiza a funo do custo total, ou seja, achar o nvel de servio que minimiza o custo total.
Em quase todos os sistemas de filas relativamente fcil, embora possa ser trabalhoso, achar o custo do servio. Achar o custo da fila bem mais complexo. Qual
o custo da fila, por exemplo, em uma agncia bancria ? Temos pessoas na fila e
o custo da fila o equivalente monetrio do tempo que as pessoas ficam na fila.
A quantificao disto no simples at porque na fila de uma agncia bancria,
podemos ter pessoas com valor-hora bastante diferentes.

77

3.2 Componentes bsicos de um processo de fila

3.2 Componentes bsicos de um processo de fila


Um sistema de fila pode ser representado como:
Mundo
Externo

Populao

Fila(s)

Servio

Chegadas
Processo de
Chegada

Mundo
Externo

Disciplina
da Fila

Mecanismo
de Servio

A fila propriamente dita apenas um dos componentes de um sistema de fila.

3.2.1 A Populao
o conjunto de elementos pertencentes ao mundo externo, que, potencialmente,
podem entrar no sistema de fila. Assim no sistema de fila da agncia bancria da
UERJ, por exemplo, so todas as pessoas que podem eventualmente usar a agncia: funcionrios, professores, alunos, pessoas da vizinhana, etc...
Estatisticamente, a populao, em um sistema de filas, pode ser classificada como
infinita ou finita. Ela considerada ser infinita quando o nmero de elementos
tal que a presena de um ou mais elementos na fila no influi no comportamento do
sistema como um todo. Quando a presena no sistema de elementos da populao
potencial influi no comportamento do sistema, a fila dita ser finita.
Um exemplo de fila finita o caso da fila para conserto de mquinas (poucas) existentes em uma indstria.

3.2.2 O Processo de Chegada


O processo de chegada descreve como os elementos da populao chegam para o
sistema de filas. Na grande maioria dos sistemas de filas, as chegadas so aleatrias, ou seja, no ocorrem de maneira ordenada.
Assim para descrever um processo de chegada, precisamos defin-lo atravs de uma
distribuio probabilstica.
Como exemplo, vamos supor que queremos definir a distribuio probabilstica que
rege o processo de chegada em uma determinada agncia bancria. O passo inicial fazer uma amostragem das chegadas dos clientes na agncia em questo.
Devemos lembrar que, inicialmente, deve ser definido o tamanho da amostra que
garanta, estatisticamente, a confiabilidade dos resultados.
Vamos supor que no nosso exemplo a amostra coletar, em um nico dia, as chegadas entre 11:00 e 16:00 horas, ou seja 5 horas de amostragem (300 minutos).
Vamos supor que os resultados coletados na amostragem foram os seguintes:

78

Teoria das Filas

Perodo
11:00 11:01
11:01 11:02
11:02 11:03
11:03 11:04
..
.
11:59 16:00
300 perodos

Instante da chegada
de cada usurio
Hr:min:seg
11:00:28 / 11:00:39
11:01:02/11:01:48/11:01:54
11:02:48
11:03:15 / 11:03:57
..
.
15:59:02 / 15:59:27

N de chegadas
no perodo
2
3
1
2
..
.
2
600 chegadas

Intervalo entre
chegadas (seg)
28 / 11
23 / 46 / 6
54
27 / 42
..
.
8 / 25
18.000 seg

Como podemos observar na planilha acima, a amostragem coletou tanto o nmero


de chegadas por perodo (no nosso exemplo, 1 minuto) como o intervalo entre chegadas, o que no seria necessrio. Veremos mais adiante porque s seria necessrio
registrar uma delas, lembrando por ora que, se a taxa mdia for de 2 chegadas por
minuto, por exemplo, o intervalo mdio entre chegadas s pode ser de 30 segundos
e vice-versa.
Com os dados coletados podemos construir 2 distribuies de freqncia:
A 1a com a distribuio do nmero de chegadas por minuto:
Chegadas / min
(xi )
0
1
2
3
4
5
6
7

No de Observaes
fi
41
81
81
54
27
11
3
2

Esta distribuio uma distribuio discreta pois os valores s podem ser inteiros,
ou seja, 0, 1, 2, etc...
Com os dados podemos
achar a mdia e a varincia (desvio padro):
P
xi fi
= 2 chegadas/minuto
Mdia = x = P
f
i
P
P 2
fi x2
x i f1

2
=
= 2, 02
= 2, 02 = 1, 42 chegadas/minuto
P
fi 1

79

3.2 Componentes bsicos de um processo de fila

A 2a com a distribuio do intervalo entre chegadas:


Intervalo entre
chegadas (segundos)
0 - 30
30 60
60 90
90 120
120 150
150 180
180 210

No de Observaes
387
132
51
19
7
3
1

Esta uma distribuio contnua pois a distribuio do intervalo entre chegadas


(tempo), podendo assumir qualquer valor.
Com os dados coletados na amostragem, no caso individuais (no mostrados aqui
na apostila),
podemos achar a mdia e a varincia (desvio padro):
P
xi
18.000
x=
=
= 30 segundos
n
600

P x2i
x2 = 900
= 900 = 30 segundos
2 =
n
Veremos mais adiante que ser fundamental saber se estas distribuies se enquadram em alguma distribuio terica.

3.2.3 A Disciplina da Fila


A chamada disciplina da fila trata das questes relativas a fila propriamente dita.
Precisamos ter respostas a perguntas do tipo:
a) Quantas filas existem no sistema ?
b) Como os usurios so escolhidos da(s) fila(s) para receber servio ?
Podemos ter um esquema FIFO (first in, first out) , ou seja, o primeiro que entra
o primeiro que sai. Podemos ter LIFO (last in, first out), ou seja, o ltimo a
entrar o primeiro a sair. Podemos ter uma fila com esquema de prioridade, ou
seja, a chamada para receber servio obedece a um esquema de prioridade, etc,
etc...
c) H limite para o tamanho da fila ?
O tamanho da fila pode ser considerado como infinito, ou seja, quando a fila
pode ter qualquer tamanho ou limitado quando a fila s pode acomodar um no
determinado de usurios. Neste ltimo caso quando a fila est cheia, os usurios
que chegam vo embora, sem entrar no sistema.
Respostas diferentes para cada uma das perguntas acima mudam o tipo de modelo
a ser estudado.

80

Teoria das Filas

3.2.4 O Mecanismo de Servio


Um sistema de fila pode ser, genericamente, catalogado em 4 estruturas bsicas
conforme o seu esquema de prestao de servio.
Assim, como podemos ver na figura a seguir, podemos ter:
(A) canal nico, fase nica;
(B) canais mltiplos, fase nica;
(C) canal nico, fases mltiplas;
(D) canais mltiplos, fases mltiplas.
ESTAO DE SERVIO

(A)
FILA

ESTAES DE SERVIO

(B)
FILA

ESTAES DE SERVIO

(C)
FILA
ESTAES DE SERVIO

(D)
FILA

O nmero de canais simplesmente o nmero de estaes de servio paralelas que


prestam servio s chegadas.
O nmero de fases, por outro lado, indica o nmero de etapas seqenciais que cada
chegada individual tem que passar.
Um exemplo da categoria (A) seria um pequeno posto bancrio com somente 1 caixa
para atendimento. Um exemplo da categoria (B) seria o caso de uma agncia bancria com fila nica e vrias caixas. Para exemplificar o caso (C) poderamos citar
um pequeno hospital onde o paciente recebe um atendimento inicial por parte de
um mdico residente e a seguir atendido pelo mdico titular. Se tivssemos vrios
residentes e vrios mdicos teramos um exemplo do caso (D).
Podemos, sem muito esforo, identificar vrios tipos de filas conhecidas que no se
encaixam nas 4 categorias bsicas. Isto esperado pois estas so apenas as categorias bsicas.
Para esquemas de filas mais complexos, a dificuldade em se obter solues analticas imensa e, na maioria das vezes, invivel.
Como no processo de chegada, na grande maioria dos sistemas de filas, a durao
do servio prestado aleatria e para descrev-la precisamos definir uma distribuio probabilstica.

81

3.2 Componentes bsicos de um processo de fila

Tambm como no processo de chegada, para se obter uma distribuio probabilstica que descreva o servio prestado, precisamos fazer uma amostragem no sistema
em questo. Neste caso no entanto, aps ter sido definido o tamanho da amostra,
temos um complicador: A distribuio probabilstica deve refletir a capacidade da
estao de servio e por isto no tem sentido incluir na amostra os perodos em que
a estao fica ociosa.
As maneiras usuais de se fazer isto so contar somente o tempo em que a estao
no fica ociosa ou, para garantir ocupao, gerar usurios artificiais para serem
servidos no sistema.
A 1a forma geralmente mais usada pois a 2a pode provocar distores por ser artificial.
Vamos supor, como exemplo, que estamos estudando um posto bancrio e para estudarmos o atendimento dado foi feita uma amostragem, em um nico dia, das
13:00 s 16:00 horas, ou seja durante 3 horas (180 minutos).
Foram coletados ento os seguintes dados:

Perodo
13:00 13:01
13:01 13:02
13:02 13:03
13:03 13:04
..
.
15:59 16:00
180 perodos

Instante do fim do servio


para cada usurio
Hr:min:seg
13:00:22 / 13:00:37
13:01:07/13:01:22/13:01:44
13:02:47
..
.
15:59:15 / 15:59:34

N de servios
prestados no perodo
2
3
1
0
..
.
2
540 servios

Durao do
servio (seg)
22 / 15
30 / 15 / 22
63
..
.
26 / 19
10.800 seg

Da mesma forma que fizemos no processo de chegada, registramos nesta amostragem tanto a durao de cada servio prestado (medida contnua pois se trata de
tempo) como o nmero de servios prestados por perodo (tambm 1 minuto neste
exemplo) que uma medida discreta pois s pode ser um valor inteiro. Tambm repetindo o citado no processo de chegada, bastava coletar apenas uma das medidas
pois as 2 esto relacionadas e claro que se a mdia for de 4 servios prestados por
minuto, a durao mdia da prestao de servio ser de 15 segundos.
Com os dados coletados na amostragem podemos construir 2 distribuies probabilsticas.

82

Teoria das Filas

A 1a (discreta) vai ser a distribuio do nmeros de servios prestados por minuto


e apresenta os seguintes valores:
Servios / min
(xi )
0
1
2
3
4
5
6
7
8

No de Observaes
8
28
40
40
31
18
9
4
2

Sua mdia e desvio padro so:


x = 3 servios/minuto
= 1, 71 servios/minuto
A 2a (contnua) vai ser a distribuio da durao do servio e apresenta os seguintes
valores:
Durao do
servio (segundos)
0 - 30
30 60
60 90
90 120
120 150

No de Observaes
410
103
19
7
1

x = 20 segundos
= 20 segundos
Como no caso do processo de chegada, tambm estamos interessados em saber se
estas distribuies se enquadram em uma distribuio terica.
A tcnica estatstica que avalia se uma distribuio emprica se adequa a uma
distribuio terica chamada de Teste de Aderncia e o que veremos a seguir.

3.3 O Teste de Aderncia


As solues analticas, ou seja, atravs de frmulas matemticas, que foram desenvolvidas para sistemas de filas esto, com poucas excees, restritas aos casos
onde as distribuies discretas seguem a distribuio de Poisson e as distribuies
contnuas seguem a Exponencial Negativa.
Assim se, por exemplo, no processo de chegada obtemos uma distribuio para a
taxa de chegada (discreta), estamos interessados em testar se ela uma Poisson.
Este tipo de teste, chamado de Teste de Aderncia, tem vrias formas e veremos

83

3.3 O Teste de Aderncia

uma delas conhecida como Teste do Qui-Quadrado (2 ).


Exemplo: Testar, usando o teste do 2 , se a distribuio abaixo, obtida em uma
amostragem, uma distribuio de Poisson com mdia = 2/min.
Chegadas / min
(xi )
0
1
2
3
4
5
6
7

No de Observaes
39
91
67
59
28
10
4
2
300

Mdia = 2/min
O teste do 2 uma comparao entre a freqncia observada e a freqncia terica. Assim sendo, como j temos a freqncia observada na amostragem, temos
que calcular a freqncia terica usando a frmula da distribuio de Poisson:
e k
Probabilidade(no observaes= k)=
k!
Temos ento:
No de chegadas / min
0
1
2
3
4
5
6
7

P(no obs= k)
e2 20
= 0, 135
0!
e2 21
= 0, 270
1!
0,270
0,180
0,090
0,036
0,012
0,003

Freqncia Esperada
300 0, 135 = 40, 5
300 0, 270 = 81
81
54
27
10,8
3,6
0,9

No teste do 2 quando a freqncia observada menor que 5, deve-se agrupar


at se tornar maior ou igual a 5.
Assim, no nosso exemplo, a penltima linha (= 4) somada a ltima (= 2) para dar
uma s linha de valor igual a 6. Deve-se fazer o mesmo agrupamento na freqncia
esperada, ou seja somar 3, 6 + 0, 9 em uma nica linha.
No teste do 2 temos que calcular:
P (Freq. Observada Freq. Esperada)2
2calculado =
Freq. Esperada

84

Teoria das Filas

No nosso exemplo temos:


(39 40, 5)2
(91 81)2
(6 4, 5)2
2calc =
+
+ +
= 4, 76
40, 5
81
4, 5
Teste: Se 2calc > 2tabelado rejeitamos a hiptese de que a distribuio uma Poisson.
Para se obter o 2tab temos que calcular o no de graus de liberdade ():
= No de pares(Freq.Obs / Freq. Esp) 1 No de parmetros estimados pela
amostra.
Na Poisson, o nico parmetro estimado pela amostra a mdia .
Logo temos:
=711=5
Outro dado necessrio para se obter o 2tab o nvel de significncia , que o risco
de que a hiptese seja rejeitada quando deveria ser aceita. No teste de aderncia,
o padro usual usar 5% para o nvel de significncia, ou seja, = 0, 05.
Pesquisando em uma tabela (pg. 227), com = 5 e = 0, 05, obtemos 2tab =
11, 07.
Como o 2calc menor que o 2tab aceitamos a hiptese, ou seja a distribuio das
chegadas segue uma Poisson.
Vejamos outro exemplo: Testar, usando o teste do 2 ,q se a distribuio a seguir,
obtida em uma amostragem de uma estao de servio, uma exponencial com
mdia 1/ = 20 segundos ou seja, taxa mdia de servio = 3/minuto.
Durao do
servio (segundos)
0 - 30
30 60
60 90
90 120
120 150

Freq. Observada
480
33
19
7
1
540

Como a distribuio exponencial uma distribuio contnua, temos:


Rt2 t
P (t1 t t2 ) = e dt
t1
t2

P (t1 t t2 ) = et t1 = et1 et2


Podemos calcular ento a freqncia esperada (terica):
Durao do
servio (segundos)
0 30
30 60
60 90
90 120
120 150

P (x)
30

30,5

e
e
= 0, 7768
30,5
31
e
e
= 0, 1773
0,0386
0,0086
0,0019

Freq. Esperada
540 0, 7768 = 419, 47
540 0, 1773 = 93, 58
20,84
4,64
1,02

3.4 O Processo de Poisson

85

Lembrando que temos que juntar em nica categoria as 2 ltimas linhas da frequencia observada (7 e 1), podemos fazer ento:
(480 419, 47)2
(33 93, 58)2
(8 5, 66)2
2
calc =
+
+ +
= 49, 08
419, 47
93, 58
5, 66
= 4 1 1 = 2 (na Exponencial s a mdia estimada pela amostra)
Com = 0, 05 obtemos da tabela (pg. 227): 2tab = 5, 99.
Como o 2calc maior que o 2tab ns rejeitamos a hiptese de que a distribuio da
durao do atendimento siga uma exponencial.

3.4 O Processo de Poisson


As propriedades do chamado Processo de Poisson se ajustam muito bem aos modelos bsicos de filas. Este fato fez com que as solues analticas para modelos de
filas pudessem ser obtidas para queles modelos. A obteno de solues analticas
para modelos que no seguem o Processo de Poisson so, quando viveis, matematicamente complexas e extremamente trabalhosas.
Vejamos as propriedades fundamentais do Processo de Poisson, j adaptando-as
para sistemas de filas, lembrando que estas propriedades so provadas matematicamente:
1. O no de chegadas (ou de servios completados) em uma unidade de tempo especificada independente do no de chegadas (ou trmino de servios) em qualquer
outra unidade.
Esta propriedade se adequa perfeitamente a um sistema de filas e para exemplificar vamos imaginar as chegadas de clientes uma agncia bancria. bvio
que o no de chegadas no minuto entre 11:34 e 11:35 independente das chegadas
no minuto entre 14:51 e 14:52.
2. O no mdio de chegadas (ou de trmino de servios) por unidade de tempo
proporcional ao tamanho da unidade de tempo.
Assim se na agncia bancria a mdia de 2 chegadas/min, ela ser de 120
chegadas/hora e 720/dia (considerando dia de 6 horas).
3. A probabilidade da ocorrncia de 2 chegadas simultneas (ou trmino de 2 servios) em uma unidade de tempo muito pequena (t) tende a zero.
Vamos supor que a taxa de chegada a um determinado sistema de fila seja
= 5/hora. Se fizermos t muito pequeno, 1 segundo por exemplo, a probabilidade de 1 chegada em 1 segundo ser igual a t = 5 1/3600 = 0, 0013.
A probabilidade de 2 chegadas em qualquer segundo ser igual a 0, 0013
0, 0013 = 0, 000006, ou seja, praticamente zero.
4. A probabilidade de 1 chegada (ou trmino de servio) ocorrer em uma unidade
de tempo muito pequena, t, sempre a mesma independente do instante de
t.
Desta forma se a probabilidade de 1 chegada em 1 segundo de 0,0013, esta
probabilidade ser a mesma em qualquer segundo escolhido.

86

Teoria das Filas

5. Se a distribuio das chegadas (discreta) segue a distribuio de Poisson, ento


a distribuio do intervalo entre chegadas (contnua) segue a Exponencial.
Se a distribuio da durao do servio (contnua) segue a Exponencial, ento a
distribuio dos servios completados (discreta) segue a Poisson.
Esta propriedade a razo porque dissemos anteriormente, nas amostragens,
que embora tivessem sido coletados tanto os dados discretos como os contnuos,
bastava trabalhar com uma delas, tanto no caso das chegadas como no caso do
servio, pois provada uma, via teste de aderncia, est provada a outra.
Desta forma se as chegadas seguem, por exemplo, uma Poisson, verificado via
teste de aderncia, com taxa mdia de = 3/minuto, ento o intervalo entre
chegadas segue a Exponencial com mdia (1/) igual a 20 segundos.
Da mesma forma se a durao do servio segue, por exemplo, uma Exponencial
com mdia (1/) de 30 segundos, ento a distribuio dos servios completados
por unidade de tempo segue uma Poisson com mdia = 2/minuto.
Em filas criou-se uma conveno em que se diz que as chegadas seguem a Poisson (claro se passar no teste de aderncia), ou seja, se trabalha com a taxa
mdia de chegadas (discreta) enquanto que para o servio, trabalha-se com a
sua durao (contnua), ou seja, se diz que ela segue a Exponencial. Mas como
vimos acima, est correto dizer exatamente o inverso. uma mera conveno.

3.5 Notao de Kendall


O professor D.G.Kendall criou, em 1953, uma notao para sistemas de filas que
hoje largamente usada.
Ela tem, na sua forma simplificada, o seguinte formato: (a/b/c) onde, a representa a distribuio das chegadas, b representa a distribuio do servio e c indica
o nmero de estaes de servio.
Como a distribuio de Poisson inclui as propriedades do processo Markoviano, a
notao usada para a e b M quando temos um processo de Poisson.
Assim um modelo de fila em que a distribuio das chegadas segue a Poisson, a
distribuio da durao do servio segue a Exponencial e com 1 estao de servio,
teria a notao M/M/1.

3.5 Notao de Kendall

87

3.5.1 Conveno para textos de Filas


Outra conveno em filas que, se nada for dito em contrrio, considera-se:
Tamanho da populao: infinito
Tamanho permitido para a fila : infinito
Distribuio das chegadas: Poisson
Distribuio do servio: Exponencial
Fila: nica
Seleo para atendimento: FIFO

3.5.2 Estado transiente e de regime (ou estacionrio)


Antes de entrarmos em detalhes, devemos observar que todos os modelos, com suas
frmulas, a serem apresentados tem como pr-requisito o sistema de fila estar em
estado de regime, ou seja, estar com o seu processo de chegadas e atendimento
dentro de condies normais. Para exemplificar vamos considerar uma agncia
bancria que tenha grande movimento. Quando a agncia abre pela manh, j
existe normalmente uma grande aglomerao na porta e, obviamente, as chegadas
no obedecem a qualquer padro. Da mesma forma no incio do trabalhos o atendimento no atinge sua velocidade normal pois, de certa forma, os funcionrios que
fazem o atendimento ainda no esto aquecidos. At o funcionamento da agncia
se normalizar dizemos que o sistema est em regime transiente. O estudo do comportamento de sistema de filas em regime transiente de extrema complexidade e
foge ao escopo deste curso.

88

Teoria das Filas

3.6 O Modelo I: M/M/1


Este o modelo mais simples de fila, ou seja tamanho populao infinito, tamanho
permitido para a fila infinito, chegadas seguindo a Poisson, durao do servio seguindo a Exponencial, fila nica com seleo FIFO e 1 estao de servio.
Vamos desenvolver a seguir, as frmulas que permitem medir as caractersticas
principais deste tipo de modelo.
Fazendo:
taxa de chegada
taxa de servio
t unidade de tempo muito pequena
t probabilidade de ocorrer 1 chegada durante t
t probabilidade de ocorrer fim de 1 servio durante t
A condio bsica para que um sistema de fila seja estvel que a taxa de chegada
seja menor do que a taxa de servio , ou seja, / tem que ser menor do que 1. Caso
isto no acontea a fila tende ao infinito. Veremos mais adiante que necessrio na
verdade que seja razoavelmente menor que pois mesmo sendo menor, se tiver
um valor muito prximo de , a fila tender ao infinito.
Existem 3 eventos possveis durante t: a entrada de 1 unidade no sistema, a
sada de 1 unidade do sistema ou nenhuma alterao, ou seja, nenhuma chegada
ou nenhum trmino de servio.
Se t a probabilidade de 1 chegada durante t, ento 1t a probabilidade
de nenhuma chegada. De forma semelhante se t a probabilidade de fim de 1
servio, ento 1 t a probabilidade de que nenhum servio seja completado.
A probabilidade conjunta de nenhuma chegada e nenhum trmino de servio, durante t, dada por:
[1 t][1 t] = 1 t t + (t)2
Como t muito pequeno podemos considerar (t)2 como = 0 e desta forma a
probabilidade de nenhuma alterao 1 (t + t).
Os estados do sistema nos instantes t e t + t com os 3 eventos possveis durante
t so mostrados na tabela a seguir, onde k o nmero de unidades no sistema e
Pn a probabilidade de existirem n usurios no sistema:
Probabilidade
do estado

Estado no
instante t

P0

k=0

P1

k=1

P2

k=2

..
.

..
.

Pn

k=n

Probabilidade
do evento
1 t
t
t
1 (t + t)
t
t
1 (t + t)
t
..
.
t
1 (t + t)
t

Estado no
instante t + t
k=0
k
k
k
k
k
k
k

=1
=0
=1
=2
=1
=2
=3
..
.
k =n1
k=n
k =n+1

Probabilidade
do estado
P0 (1 t)
P0 (t)
P1 (t)
P1 (1 t t)
P1 (t)
P2 (t)
P2 (1 t t)
P2 (t)
..
.
Pn (t)
Pn (1 t t)
Pn (t)

3.6 O Modelo I: M/M/1

89

Quando existem zero unidades no sistema (k = 0) no instante t, somente 2 eventos


podem ocorrer: ou no h nenhuma chegada, com probabilidade 1 t ou h
uma chegada com probabilidade t.
Quando k 1 no instante t, existem 3 eventos possveis como mostrado na tabela
para k = 1, k = 2 e k = n.
Voltando a tabela ns vemos que existem 2 maneiras de se ter zero unidades no
sistema no instante t + t: Quando k = 0 no instante t e nenhuma chegada ocorre
e quando k = 1 no instante t e uma sada ocorre. A probabilidade de termos zero
unidades no instante t + t a probabilidade de zero no instante t + t , vezes
a probabilidade de nenhuma chegada, ou seja P0 (1 t), mais a probabilidade
de termos uma unidade no instante t, vezes a probabilidade de uma sada, ou seja
P1 (t). Isto d:
P0 = P0 (1 t) + P1 (t)
(Eq. 1)
De forma anloga, a probabilidade de termos 1 unidade no sistema igual a:
P1 = P0 (t) + P1 (1 t t) + P2 (t)
(Eq. 2)
Para o caso geral, a probabilidade de termos n unidades no sistema no instante
t + t dada por:
Pn = Pn1 (t) + Pn (1 t t) + Pn+1 (t)
(Eq. 3)
Resolvendo a equao (1) para P1 em funo de P0 , temos:
P0 = P0 (1 t) + P1 (t)
P1 (t) = P0 P0 (1 t)
P1 (t) = P0 [1 (1 t)
P1 (t) = P0 (t)
(t)
P1 = P0
(t)

P1 = P0
(Eq. 4)

Resolvendo a equao (3) para Pn+1 em funo de Pn e Pn1 , temos:


(t)Pn+1 = Pn Pn (1 t t) Pn1 (t)
(t)Pn+1 = Pn Pn + Pn (t) + Pn (t) Pn1 (t)
(t)Pn+1 = Pn (t) + Pn (t) Pn1 (t)
t
t
t
Pn+1 = Pn
+ Pn
Pn1
t
t
t

Pn+1 = Pn + Pn Pn1

Pn+1 = Pn 1 +
Pn1

Pn+1 = Pn
Pn1

Substituindo
n
por
1,
temos:

P2 = P1
P0

Tirando ovalor
de
P
da
equao
(4) temos:
1

P2 = P0
P0

90

Teoria das Filas

= P0
= P0
= P0
P2 = P0

2 +
2

Se resolvermos
3 para P3 vamos obter:

P3 = P0

Por induo
que:
inferimos

n
Pn = P0
(Eq. 5)

Da teoria da probabilidade ns sabemos que a soma de todas as probabilidades


igual a 1. Logo,

P
Pn = 1
n=0

ou da equao
n (5):

P0
=1

n=0
1
P0 = n
P

ou

n=0
O denominador desta expresso uma srie geomtrica infinita que converge, se

1
.
for menor que 1, para

Temos ento:
1
P0 =

P0 = 1
(Eq. 6)

Das equaes
(5)e (6)

vem:
n

Eq. (7)
Pn = 1

P
A mdia de uma varivel x definida como
xPx , logo o nmero mdio de unidades no sistema (representado por L) dado por:

P
L=
nPn
n=0

91

3.6 O Modelo I: M/M/1

Substituindo
pelo valor
de
Pn da equao (7) temos:

n
L=
n 1
n=0

n
P

= 1
n
n=0

O somatrio da equao acima uma srie geomtrica infinita que converge para:

2
1

Logo temos:

L= 1

Que se reduz a:

L=
(Eq. 8)

Nosso propsito determinar vrias medidas da performance de um sistema de


filas tais como:
L = nmero mdio de unidades no sistema.
Lq = nmero mdio de unidades na fila.
W = tempo mdio que uma unidade fica no sistema.
Wq = tempo mdio que uma unidade fica na fila.

Se ns esperamos chegadas por unidade de tempo e se cada unidade gasta, em


mdia no sistema, W unidades de tempo, ento o tempo total gasto no sistema para
chegadas W . Por exemplo, se chegam em mdia 2 usurios por hora e cada
chegada passa 3 horas no sistema, ento o total de horas gasto pelos 2 usurios no
sistema 6. Isto implica que existem 6(L = 6) usurios, em mdia, no sistema
(isto , usurios 1 e 2 na sua 3a hora, usurios 3 e 4 na sua 2a hora e usurios 5 e 6
na 1a hora). Isto nos d a relao:
L = W
(Eq. 9)
O mesmo raciocnio pode ser inferido para a relao do nmero mdio de usurios
na fila e o tempo que eles passam na fila:
Lq = Wq
(Eq. 10)
O tempo mdio gasto no sistema (W ) deve ser igual ao tempo mdio gasto na fila
mais o tempo de servio esperado (1/). Temos ento:
1
W = Wq +

Logo uma vez que tenhamos obtido o valor de L da equao (8) podemos, da equao (9), tirar o valor de W :
L
1
W =
=

Podemos com W calcular o valor de Wq , da equao (9):


1
1
1

Wq = W =
=

( )

92

Teoria das Filas

Finalmente da equao (10) podemos calcular Lq :

2
Lq = Wq =
=
( )
( )
As demais frmulas no s deste modelo como dos demais que veremos a seguir
so desenvolvidas de forma anloga ao que vimos at aqui, apesar de que para
algumas, a matemtica envolvida seja bem mais complexa.

3.6.1 Sumrio das frmulas do modelo M/M/1


= taxa mdia de chegada
(1/ = intervalo mdio entre chegadas)
= taxa de servio mdia
(1/ = durao mdia do servio)
n = nmero de unidades no sistema (inclui as da fila e a sendo servida).
Probabilidade de zero unidades no sistema, ou seja, a probabilidade do sistema estar vazio:

P0 = 1

Probabilidade
nde existirem n unidades no sistema:

Pn = P0

Probabilidadedeexistirem mais de k unidades no sistema:


k+1
P (n > k) =

Nmero mdio (esperado) de unidades no sistema:

L=

Nmero mdio (esperado) de unidades na fila:


2
Lq =
( )
Tempo mdio (esperado) que cada unidade permanece no sistema:
1
W =

Tempo mdio (esperado) que cada unidade permanece na fila:

Wq =
( )
Fator de utilizao da estao de servio:

Probabilidade de 1 unidade demorar mais de t unidades de tempo no sistema:


P (T > t) = e(1)t
Podemos ter ainda as seguintes relaes entre as medidas bsicas:

Lq = L = Wq

L = Lq + = W

1
Lq
Wq = W =

1
L
W = Wq + =

3.6 O Modelo I: M/M/1

93

Exemplo 1
Clientes chegam a uma barbearia, de um nico barbeiro, com uma durao mdia
entre chegadas de 20 minutos. O barbeiro gasta em mdia 15 minutos com cada
cliente.
a) Qual a probabilidade de um cliente no ter que esperar para ser servido ?
b) Qual o no esperado de clientes no salo de barbeiro ? na fila ?
c) Quanto tempo, em mdia, um cliente permanece no salo ?
d) Quanto tempo, em mdia, um cliente espera na fila ?
e) Qual a probabilidade de que um cliente tenha que ficar mais de 30 minutos no
salo ?
f) O barbeiro est estudando a possibilidade de colocar outro barbeiro desde que o
tempo de permanncia mdio de cada cliente no salo passe a 1, 25 horas. Para
quanto deve aumentar a taxa de chegada de modo que este segundo barbeiro
fique justificado ?
Soluo
= 3/hr

= 4/hr
3
a) P0 = 1 = 1 = 0, 25 = 25%

3
b) L =
=
= 3 fregueses

43
2
= 2, 25 fregueses
Lq =
( )

Como pode ser visto acima L Lq = 0, 75 e a primeira vista poder parecer


que a diferena entre o nmero mdio de clientes no sistema (L) e o nmero
mdio de clientes na fila (Lq ) deveria ser 1, ou seja, o fregus que est sendo
atendido pelo barbeiro.
Na verdade (L Lq ) representa o percentual mdio de clientes atendidos por
unidade de tempo e o resultado menor que 1 porque as vezes o barbeiro fica
ocioso.
1
c) W =
= 1 hora

d) Wq =
= 0, 75 horas
( )
3
e) P (T > 0, 5) = e(1)t = e4( 4 )0,5 = 0, 61 = 61%
f) Queremos de modo que W = 1, 25 horas
1
= 3, 2 fregueses/hora
1, 25 =
4

94

Teoria das Filas

Exemplo 2
Pessoas chegam para comprar ingressos para um jogo taxa de uma por minuto.
Cada pessoa gasta em mdia 20 segundos para comprar um ingresso.
a) Se uma determinada pessoa chega 2 minutos antes do jogo comear e se ela
gasta exatamente 1,5 minutos para chegar ao seu lugar aps comprar o seu
ingresso, ela estar sentada antes do jogo comear ?
b) Qual a probabilidade da pessoa do tem a estar sentada antes do jogo comear ?
c) Com que antecedncia deve a pessoa chegar para ter 99% de certeza de estar
sentada antes do jogo comear ?
Soluo
= 1/min
= 3/min
1
= 0, 5 minutos
a) W =

Logo o tempo mdio para comprar o ingresso e achar o lugar 0, 5 + 1, 5 = 2 minutos, ou seja, a pessoa dever estar sentada antes do jogo comear.
b) igual a probabilidade do ingresso ser comprado em tempo menor ou igual a
0, 5 minutos.
1
P (T 0, 5) = 1 P (T > 0, 5) = 1 e(1)t = 1 e3(1 3 )0.5
P (T 0, 5) = 0, 63 = 63%
c) Queremos achar t de modo que:
P (T > t) = 0, 01
1
e(1)t = 0, 01 e3(1 3 )t
t = 2, 3 minutos
Logo: P (T > 2, 3) = 0, 01
P (T 2, 3) = 0, 99
Como a pessoa gasta 1, 5 minutos para achar seu lugar ela deve chegar 1, 5+2, 3 =
3, 8 minutos antes do jogo comear.
IMPORTANTE
Como j foi dito anteriormente, a taxa de ocupao (/), tem que ser sempre menor que 1 pois, em caso contrrio, a fila tende ao infinito. Vamos aproveitar este
exemplo para mostrar que, mesmo sendo menor que 1, se ela se aproxima de 1 a fila
j tende ao infinito. No quadro a seguir, para um fixo igual a 3/min, mostramos
os valores de L, Lq , W (em minutos) e Wq (em minutos) para valores crescentes de
, e conseqentemente de .
Podemos ver que, a medida que vai se aproximando de 1, a fila se torna invivel.

95

3.6 O Modelo I: M/M/1

1,00
1,50
2,00
2,50
2,90
2,95
2,99
2,999

0,333
0,500
0,667
0,833
0,966
0,983
0,996
0,999

L
0,5
1
2
5
29
59
299
2999

Lq
0,167
0,500
1,333
4,667
28,03
58,01
298
2998

W
0,50
0,67
1
2
10
20
100
1000

Wq
0,167
0,333
0,667
1,667
9,667
19,667
99,667
999,667

Exemplo 3
Fregueses chegam aleatoriamente a uma padaria taxa mdia de 12/hora. O nico
empregado da padaria pode servir fregueses taxa mdia de 20/hora. O empregado
recebe $3/hora enquanto que o tempo que os fregueses perdem na padaria est
estimado em $8/hora. O dono da padaria est considerando a instalao de um
equipamento de auto-servio que far com que a taxa de atendimento aos fregueses passe para 42 fregueses/hora. O custo do equipamento de auto-servio de
$30/dia.
Considerando que a padaria funciona 12 horas/dia, justifique economicamente se o
equipamento de auto-servio deve ou no ser comprado ?
Soluo
= 12/hora
Situao Atual
= 20/hora
Custo do empregado = $3/hr 12 hr/dia = $36/dia Custo do servio
W = tempo mdio que um fregus permanece na padaria.
W = 0, 125 horas
Custo = 0, 125 horas 8/hr = $1
Custo da fila = $1 12 fregueses/hr 12 hr/dia = $144
Custo total = $36 + $144 = $180/dia
Situao Proposta
= 42/hora
W = 0, 0333 horas
Custo = 0, 0333 horas $8/hr = $0, 266
Custo da fila = $0, 266 12 fregueses/hr 12 hr/dia = $38, 40/dia
Custo do servio = $36 + $30 = $66/dia
Custo total = $66 + $38, 40 = $104, 40/dia
Resp: A situao proposta melhor.

96

Teoria das Filas

3.7 Modelo II: M/M/s

(s > 1)

Neste tipo de modelo, considera-se que as estaes de servio so equivalentes e


prestam servio, individualmente, a mesma taxa mdia .
=


P0 = s1
P 1 n
n=0

n!

1
+

s!(1 )

n
1

P0

n!

n
Pn =
1

P0

s!sns
s+1

P0

Lq =
s s!(1 )2
L = Lq +
W =
Wq =

p/n = 1, 2, ..., s 1
p/n s

Lq

ts1

P
1

e
0

P (T > t) = e 1 +

s!(1 ) s 1

P0

t
P (T > t) = e
1+
t

s!(1 )

se

s1

se s 1

=0

6= 0

3.7 Modelo II: M/M/s

97

(s > 1)

Exemplo 1
Um escritrio tem 3 datilgrafas e cada uma pode datilografar, em mdia, 6 cartas
por hora. As cartas chegam para serem datilografadas a taxa mdia de 15 por hora.
a) Qual o no mdio de cartas esperando para serem datilografadas ?
b) Quanto tempo, em mdia, uma carta demora para ficar pronta ?
c) Qual a probabilidade de que uma carta demore mais de 20 minutos para ficar
pronta ?
d) Vamos supor que cada datilgrafa receba individualmente 5 cartas por hora, em
mdia, para datilografar. Quanto tempo em mdia uma carta demora para ficar
pronta ?
Soluo
Modelo M/M/3 com = 15/hr e = 6/hr
a) Lq ? P0 = 0, 0499 Lq = 3, 511 cartas
b) W = ?
L = 6, 011 cartas W = 0, 40 horas
c) P (T > 0, 333 hr) = 0, 461 = 46, 1%
d) Modelo I
= 5/hr W = 1 hora
Este exemplo serve para exemplificar a vantagem em se ter uma fila nica quando
temos vrias estaes de servio prestando o mesmo tipo de atendimento. Como
podemos ver, com uma nica fila, cada carta demora, em mdia, 0, 40 horas (24
minutos) para ficar pronta. Com fila individual demorar, em mdia, 1 hora.
Exemplo 2
Deseja-se determinar o no timo de caixas em uma agncia bancria. O tempo que
cada cliente perde dentro da agncia est estimado em $5/hora e o custo de funcionamento de uma caixa bancria de $4/hora.
Os clientes chegam a taxa mdia de 40 por hora e as caixas podem atender, em
mdia, 30 clientes por hora.
Soluo
= 40/hr = 30/hora
s = 1 = 1, 333 > 1, a fila tenderia ao infinito.

s
2
3
4

Custo da Fila/hr
$5..W
12,00
7,39
6,72

Custo do Servio/hr
4.s
8,00
12,00
16,00

Custo Total/hr
20,00
19,39
22,72

Para se resolver este tipo de problema tem que se ir por tentativa, incrementando
o nmero de estaes de servio de 1. Como j vimos, a curva de custo total vem
diminuindo, passa por um mnimo e volta a crescer.
No nosso exemplo o mnimo s = 3.

98

Teoria das Filas

3.8 Modelo III: M/M/1: Fila finita


Esta a situao na qual a fila pode acomodar somente um nmero finito de unidades, ou seja, se uma unidade chega e a fila est cheia, ela vai embora sem
esperar o atendimento.
Deve ser observado que neste caso a taxa de chegada () no precisa ser menor que
a taxa de servio () pois a fila tem um tamanho fixo.
Neste tipo de modelo aparece uma nova varivel (M ), que o no mximo de unidades que podem estar no sistema, sendo M 1 o nmero mximo permitido na fila.
As frmulas
para este modelo so:

p/ 6=

M +1

P0 =
1

p/ =
M +1
n

P0
p/ 6=
Pn =

P
p/ =
0

L=

M +1

(M + 1)

M +1

p/ 6=

p/ =

Lq = L (1 P0 )
A taxa de chegada das unidades no sistema . No entanto algumas unidades
chegam e encontram a fila cheia, ou seja, vo embora. A taxa de chegada efetiva (ef ) d a taxa mdia das unidades que realmente permanecem no sistema,
ou seja (ef ) a taxa mdia de entrada de unidades no sistema.
ef = (1 P0 ) = (1 PM )
As demais frmulas ficam ento como:
L
W =
ef
Wq =
=

Lq

ef
ef

3.8 Modelo III: M/M/1: Fila finita

99

Exemplo 1
Uma barbearia com 1 barbeiro tem 6 cadeiras para acomodar fregueses esperando
atendimento. Os fregueses que chegam quando as 6 cadeiras esto cheias, vo
embora sem esperar. Os fregueses chegam a taxa mdia de 3/hr e ficam em mdia
15 minutos na cadeira do barbeiro.
a) Qual a probabilidade de um fregus chegar e ir direto para a cadeira do barbeiro ?
b) Qual o no mdio de fregueses esperando atendimento ?
c) Qual a taxa de chegada efetiva ?
d) Quanto tempo, em mdia, um fregus fica na barbearia ?
e) Que percentual dos fregueses potenciais vai embora sem esperar atendimento ?
Soluo
M =7
= 3/hr = 4/hr
a) P0 = 0, 2778 = 27, 78%
b) L = 2, 11 fregueses Lq = 1, 39 fregueses
c)ef = 2, 89 fregueses/hr
d) W = 0, 73 horas
ef
2, 89
e)
=
= 0, 963 Percentual de fregueses atendidos

3
Resp: 1 0, 963 = 0, 037 = 3, 7%

100

Teoria das Filas

Exemplo 2
Em uma barbearia de um nico barbeiro a taxa mdia de chegadas de 3 fregueses por hora. A barbearia s tem lugar para acomodar 2 pessoas esperando e os
eventuais fregueses que chegam quando o salo est cheio, tem de ir embora. O
barbeiro capaz de atender em mdia 2 fregueses por hora e cobra $7 por cada
corte de cabelo. Como muitos fregueses esto indo embora sem poder serem atendidos, o barbeiro est pensando em mudar o seu mtodo de trabalho. Aps alguns
estudos ele identificou 2 alternativas:
a) Trabalhar um pouco mais rpido do que atualmente, diminuindo um pouco a
qualidade do corte de cabelo mas diminuindo o preo do corte para $6 para evitar
reclamaes. Com esta alternativa a sua taxa de servio mdia iria para 3 fregueses por hora.
b) Trabalhar bem mais rpido do que atualmente, cobrando somente $5 por corte
de cabelo pois haveria uma queda acentuada na qualidade. Neste caso sua taxa de
servio mdia passaria a 4 fregueses por hora.
O barbeiro deseja fazer uma avaliao econmica entre a situao atual e as 2 alternativas estudadas. O tempo perdido pelos fregueses na fila de espera est estimado
em $2/hora e como o servio feito pelo barbeiro muito cansativo, ao tempo que ele
pode descansar (por no ter nenhum fregus esperando) foi atribudo o valor de
$4/hora, ou seja, cada hora que ele descansa como se tivesse ganho $4.
Considerando que o dia tem 8 horas de trabalho, faa a anlise econmica para o
barbeiro.
Soluo
Situao atual
= 3/hr = 2/hr M = 3
Receita com os cortes = No mdio de fregueses atendidos/dia $7/corte
= ef 8hr/dia $7 = 98, 21/dia
$ Equivalente do tempo ocioso = P0 8hr/dia $4 = $3, 94/dia
$ Equivalente do tempo perdido = Wq ef 8hr/dia $2/hr = $17, 73
Rendimento lquido = $98, 21 + $3, 94 $17, 73 = $84, 42/dia
Alternativa a
= 3/hr = 3/hr M = 3
P0 = 0, 250
Wq = 0, 333 hr ef = 2, 25 fregueses/hr
Rendimento lquido = $104/dia
Alternativa b
= 3/hr = 4/hr M = 3
P0 = 0, 3657
Wq = 0, 20209 hr ef = 2, 537 fregueses/hr
Rendimento lquido = $104, 96/dia
A alternativa b a melhor soluo.

3.9 Modelo IV: M/M/s: Fila finita

101

(s > 1)

3.9 Modelo IV: M/M/s: Fila finita

(s > 1)

Vamos definir 2 variveis (a e c) ressaltando que elas no tem nenhum significado


e so usadas apenas para simplificar a escrita das frmulas:

a=
c=

s
Temos ento:
1

P0 = s
P ns
P 1 n
1 s
a
+ a
c
s!
n=0 n!
n=s+1

1 n

a P0
p/ n s

n!
an P0
Pn =
p/ s < n M

S! S ns

0
p/ n > M
Lq =

P0 as c
s! (1 c)2

L = Lq + s

ef = s
Wq =
W =
=

s1
P
n=0
s1
P
n=0

1 cM s (M s) cM s (1 c)

(s n)Pn

(s n)Pn

Lq
ef
L
ef

ef
s

Exemplo 1
Uma barbearia com 2 barbeiros tem 5 cadeiras de espera. Os fregueses que chegam
quando as 5 cadeiras esto ocupadas, vo embora. Os fregueses chegam a uma taxa
mdia de 6/hora e ficam em mdia 15 minutos na cadeira de barbeiro.
a) Qual a probabilidade de um fregus chegar e ir direto para a cadeira de barbeiro ?
b) Qual o no mdio de fregueses esperando para serem atendidos ?
c) Qual a taxa de chegada efetiva ?
d) Quanto tempo, em mdia, um fregus fica na barbearia ?
e) Que percentual de fregueses vai embora ?

102
Soluo
M =7
= 6/hr
= 4/hr
a) P0 + P1 = 0, 4032 = 40, 32%
b) Lq = 1, 014 fregueses
c) ef = 5, 741 fregueses/hr
d) W = 0, 426 horas
ef
e) 1
= 0, 0431 = 4, 31%

Teoria das Filas

s=2

Exemplo 2
Uma oficina mecnica tem 4 mecnicos sendo que cada carro necessitando conserto
atendido por um nico mecnico.
Alm dos carros sendo consertados s cabem mais 6 automveis no ptio da oficina
e quando ele est cheio os fregueses tem que procurar outra oficina. A taxa mdia
de chegadas de carros para conserto de 3 por dia. Cada mecnico conserta, em
mdia, 1 carro por dia.
a) Qual a probabilidade da oficina estar vazia ?
b) Qual o no mdio de carros esperando conserto ?
c) Qual o no mdio de carros na oficina ?
d) Dos automveis que procuram a oficina, quantos em mdia ficam ?
e) Quanto tempo em mdia um carro espera na fila ?
f) Quanto tempo em mdia um carro fica na oficina ?
g) Qual a probabilidade de um carro chegar e ter vaga na oficina ?
Soluo
M = 10
= 3/dia
= 1/dia
s=4
a) P0 = 0, 040 = 4%
b) Lq = 0, 91 carros
c) L = 3, 83 carros
d) ef = 2, 92 carros/dia
e) Wq = 0, 31 dias
f) W = 1, 31 dias
g) Pvaga = 1 P10 = 1 0, 02 = 0, 98 = 98%

3.10 Modelo V: M/M/s: Populao finita

103

3.10 Modelo V: M/M/s: Populao finita


Em muitos problemas prticos a considerao de que a populao de tamanho infinito leva a resultados distorcidos porque na verdade a populao pequena para
ser considerada de tamanho infinito. Quando isto ocorre, a presena de uma ou
mais unidades no sistema tem um forte efeito na distribuio das chegadas futuras e o uso de um modelo com populao infinita conduz a resultados errados.
Um exemplo tpico de um pequeno grupo de mquinas que quebram de tempos
em tempos necessitando conserto. Um outro exemplo o caso de um pequeno grupo
de mecnicos que vo a determinado balco pegar peas ou ferramentas.
No caso extremo, por exemplo, se todas as mquinas esto quebradas, nenhuma
chegada pode ocorrer.
Isto contrasta com os modelos de populao infinita nos quais a taxa de chegada
independente do nmero de unidades que j esto no sistema.
Neste tipo de modelo, a taxa de chegada , a taxa de chegada de cada unidade, ou
seja, 1/ o tempo mdio entre chegadas de cada unidade. No caso das mquinas,
por exemplo, seria o tempo mdio entre quebra de cada mquina.
A taxa de chegada efetiva ef d a taxa mdia de chegada, considerando-se todos
as unidades.
As frmulas para este tipo de modelo so bastante complexas e por causa disto tem
sido calculadas e tabeladas para facilitar o seu uso.
Para entrar nas tabelas (pg. 230) precisamos de 3 informaes:

X=
Fator de Servio
+
S no de estaes de servio.
M Tamanho da populao.
Da tabela obtemos a seguinte medida:
F Fator de Eficincia.
Temos ento:

104

Teoria das Filas

Lq = M (1 F )
ef = M F X
1
W = Wq +

L = ef W
Wq =
=

Lq
ef

MF X

P0 =

s
s1
P

M!

n=0

(M n)! n!

1
M
P

M!

+
ns

n=s (M n)! s! s

n
M!

P0
p/ 1 n < s

(M n)! n!

n
M!

Pn =
P
p/ s n M

(M n)! s! sns

0
p/ n > M

Exemplo 1
Uma companhia pesqueira tem 2 estaleiros para conserto de seus barcos. Cada
barco quebra, em mdia, de 4 em 4 semanas. Cada estaleiro gasta, em mdia, 1
semana para consertar cada barco. A frota atual da companhia de 10 barcos.
a) Qual a probabilidade do estaleiro estar vazio ?
b) Em mdia quantos barcos quebrados ficam aguardando conserto ?
c) Em mdia quantos barcos esto parados no estaleiro ?
d) Qual a taxa de chegada de barcos no estaleiro ?
e) Quanto tempo, em mdia, um barco aguarda para comear a ser consertado ?
f) Quanto tempo, em mdia, um barco fica parado ?
Soluo
= 0, 25/semana
= 1/semana
0, 25
= 0, 2
X=
0, 25 + 1
F = 0, 854 (tabela pg. 232)
a) P0 = 0, 065 = 6, 5%
b) Lq = 1, 46 barcos
c) L = 3, 16 barcos
d) ef = 1, 708 barcos/semana
e) Wq = 0, 85 semanas
f) W = 1, 85 semanas

s=2

M = 10

105

3.10 Modelo V: M/M/s: Populao finita

Exemplo 2
Dois mecnicos tem a tarefa de consertar 5 mquinas. Cada mquina quebra a uma
taxa mdia de uma vez a cada hora. Cada mecnico pode reparar as mquinas a
taxa mdia de 4/hora.
a) Qual o no mdio de mquinas esperando reparo ?
b) Qual o no mdio de mquinas que esto fora do servio ?
c) Qual a taxa de chegada quando consideramos as 5 mquinas ?
d) Quanto tempo. em mdia, uma mquina quebrada espera na fila ?
e) E no sistema ?
Soluo
M =5
X=

= 1/hr

= 4/hr

s=2

= 0, 2
1+4
Da tabela (pg. 230):
F = 0, 976
a) Lq = 0, 12 mquinas
b) L = 1, 093 mquinas
c) ef = 3, 904 mquinas/hr
d) Wq = 0, 03 horas
e) W = 0, 28 horas
Exemplo 3
Uma empresa de frete areo tem 20 terminais (buferizados) em uma linha de comunicao. Os terminais so usados para entrada de dados no sistema central de
computao. O tempo mdio necessrio pra digitar uma entrada no buffer do terminal 80 segundos e este tempo de digitao exponencialmente distribudo.
Cada mensagem enviada de um terminal, consome, em mdia 2 segundos de CPU
(exponencial).
Calcule quantas requisies dos terminais so enviadas para a CPU e qual o tempo
de resposta mdio para cada requisio.
Soluo
M = 20
s=1
= 0, 75/min
= 30/min
0, 75
= 0, 0244 ' 0, 024
X=
0, 75 + 30
Da tabela F = 0, 982
Requisies enviadas para a CPU: (ef f )
ef f = M F X = (20)(0, 982)(0, 024)(30) = 14, 14/min

106

Teoria das Filas

Tempo mdio de resposta: (W )


Lq = M (1 F ) = 20(1 0, 982) = 0, 36
0, 36
Wq =
= 0, 0255 minutos
14, 14
W = Wq + 1/ = 0.0255 + 1/30 = 0, 0558 minutos = 3, 53 segundos
Exemplo 4
Considere um sistema de time sharing com 20 terminais ativos. Cada terminal
submete um job ao processador a cada 3 segundos (seguindo uma distribuio exponencial). O processador central tem capacidade de processar 500.000 instrues
por segundo e cada job, em mdia (exponencial), necessita do processamento de
100.000 instrues.
Determine quantos jobs, em mdia, esto no processador central e qual o tempo
mdio de resposta para cada job submetido.
Soluo
M = 20
s=1
= 20/min
= 500.000/100.000 = 0, 2/segundo = 300/minuto
20
= 0, 0625 ' 0, 062
X=
320
Da tabela F = 0, 768
ef f = M F X = (20)(0, 768)(0, 062)(300) = 285, 196/min = 4, 7533/segundo
Lq = M (1 F ) = 20(1 0, 768) = 4, 64
Lq
4, 64
Wq =
=
= 0, 0163 minutos
ef f
285, 196
Tempo de resposta mdio: (W )
1
W = Wq + = 0, 0196 minutos = 1, 1762 segundos

Jobs no processador: (L)


L = ef f W = (4, 7533)(1, 1762) = 5, 59 jobs

3.11 Modelo VI: M/G/1

107

Distribuies diferentes da Exponencial/Poisson


Como j citamos, a anlise matemtica de modelos de filas com distribuies diferentes da Poisson (Exponencial) muito difcil e poucos modelos tem soluo analtica.

3.11 Modelo VI: M/G/1


A distribuio das chegadas segue a Poisson mas a distribuio do servio segue
uma distribuio qualquer (Geral) da qual se conhece a mdia 1/ e a varincia
2.
As frmulas para o modelo so:

P0 = 1
Lq =

2 2 + 2

2(1 )
L = Lq +
Wq =

Lq

W = Wq +

As equaes para Pn (n > 0) so muito complexas.


1
Quando 2 = 2 a distribuio a exponencial e camos no Modelo I.

2
Quando = 0, temos o chamado modelo com durao do servio constante.
Exemplo 1
Pessoas chegam a um pequeno posto do correio a taxa de 30 por hora. O servio
executado por apenas 1 funcionrio e o tempo de servio normalmente distribudo,
ou seja, segue um distribuio normal com mdia de 1 minuto e = 0, 30 minutos.
a) Quanto tempo, em mdia, uma pessoa espera na fila ?
b) Quanto tempo, em mdia, uma pessoa fica no posto do correio ?
c) Qual o no mdio de pessoas na fila ?
d) Qual o no mdio de pessoas no posto de servio ?
e) Qual a probabilidade do funcionrio estar ocioso ?
Soluo
= 0, 5/minuto
= 1/minuto
2 = (0, 30)2 = 0, 09
= 0, 5
P0 = 0, 5 = 50% (e)
Lq = 0, 2725 pessoas (c)
L = 0, 7725 pessoas (d)
Wq = 0, 545 minutos (a)
W = 1, 545 minutos (b)

108

Teoria das Filas

Exemplo 2
Repetir o exemplo 1 supondo a durao do servio constante, ou seja, 2 = 0.
Soluo
= 0, 5
P0 = 0, 5 = 50% (e)
Lq = 0, 25 pessoas (c)
L = 0, 75 pessoas (d)
Wq = 0, 5 minutos (a)
W = 1, 5 minutos (b)

3.12 Modelo VII: M/Ek /1

109

3.12 Modelo VII: M/Ek /1


Neste tipo de modelo, a distribuio da durao do servio segue uma distribuio
de Erlang com parmetro k. No ltimo exemplo do modelo anterior supomos uma
variao igual a zero para a durao do servio ( = 0) enquanto que a distribuio exponencial tem um alto grau de variabilidade ( = 1/). Entre estes 2 casos
extremos temos uma rea intermediria (0 < < 1/) onde cai uma boa parte
das distribuies reais da durao do servio.
Uma distribuio que preenche este intervalo a chamada distribuio de Erlang. Sua mdia e desvio padro so:
1
x=

1 1
=
onde k 0 e inteiro
k
Pode-se ver que k o parmetro que especifica o grau de variabilidade das duraes
de servio em relao a mdia. Na verdade para cada k temos uma distribuio e
por isto podemos considerar a distribuio de Erlang como uma famlia de distribuies. Assim a constante ( = 0) e a exponencial ( = 1/) so elementos desta
famlia com k = e k = 1, respectivamente.
A distribuio de Erlang tambm muito importante em teoria das filas pela seguinte propriedade: Suponha que T1 ,T2 ,...,Tk so k variveis aleatrias independentes com uma distribuio exponencial idntica cuja mdia 1/k.
Ento a soma T = T1 + T2 + ... + Tk segue uma distribuio de Erlang com parmetros e k.
muito comum que o servio prestado a uma unidade em um sistema de filas seja
constitudo de k tarefas consecutivas onde a durao de cada uma delas segue a
mesma distribuio exponencial, com mdia 1/k. Ento a durao total (ou seja
a execuo das k tarefas) segue uma distribuio de Erlang com parametros k e .
Para este modelo temos:
(1 + k)2
Lq =
2k( )
Wq =

(1 + k)

2k( )
1
W = Wq +

L = W

110

Teoria das Filas

Exemplo 1
Uma oficina de manuteno de uma linha area s tem meios para fazer a manuteno de um motor de cada vez. Por isso, para fazer com que os avies regressem
ao servio to logo seja possvel, a poltica adotada tem sido de alternar a manuteno dos 4 motores de cada avio ou seja s se faz a manuteno de 1 dos motores
cada vez que o avio vai para a oficina.
Sob esta poltica os avies tem chegado segundo um Processo de Poisson a taxa
mdia de 1 por dia. O tempo necessrio para reparar um motor (uma vez que se
tenha iniciado o trabalho) tem uma distribuio exponencial com mdia de 0,5 dia.
Existe uma proposio de se trocar a poltica de maneira que se reparem os 4 motores, consecutivamente, cada vez que o avio for a oficina. Embora isto quadruplicasse o tempo esperado de servio, a freqncia com que os avies necessitariam ir
a oficina seria 1/4 da atual. Deve-se implantar a nova proposta ?
Soluo
Situao atual
Modelo I: = 1/dia
= 2/dia
W = 1/( ) = 1 dia
Como temos 4 motores para cada avio temos: W = 4 1 = 4 dias
Situao proposta
Modelo VII: = 0, 25/dia
T = T1 + T2 + T3 + T4 Erlang com k = 4.
1/k = 0, 5
1/4 = 0, 5
= 0, 5/dia
Wq = 1, 25 dias
W = 3, 25 dias
A situao proposta melhor (3, 25 < 4).
Exemplo 2
Um alfaiate faz ternos sob medida. Cada terno, para ser feito, implica na execuo
de 4 tarefas distintas. O alfaiate faz as 4 tarefas de cada terno antes de comear
outro. O tempo para executar cada tarefa segue uma distribuio exponencial com
mdia de 2 horas. Os pedidos chegam a taxa mdia de 5,5 por semana (8 horas
por dia, 6 dias por semana). Quanto tempo em mdia um terno demora para ficar
pronto ?
Soluo
1
k=4
=2
k
1
=2
= 0, 125/hora
4
= 5, 5/semana= 0, 11458/hr
Wq = 55 horas
1
W = Wq + = 63 horas

3.13 Exerccios

111

3.13 Exerccios
1) Chegadas a uma oficina que conserta relgios so com uma taxa de 10 por cada 8
horas. O empregado que conserta tem um tempo mdio de servio de 30 minutos
por relgio.
a) Se ele conserta os relgios na ordem de chegada, quanto tempo, em mdia, o
empregado fica ocioso por dia ?
b) Quantos relgios, em mdia, estaro na frente de um relgio que acabou de
chegar ?
2) Chegadas a um centro de informaes que tem apenas um atendente so com
tempo mdio de 10 minutos entre uma chegada e a prxima (Poisson). O tempo
que as pessoas gastam recebendo informao de um tipo ou de outro suposto
como sendo de 3 minutos (Exponencial).
a) Qual a probabilidade de que uma pessoa chegando ao centro no tenha que
esperar ?
b) Qual a probabilidade de que a pessoa chegando ao centro tenha que esperar ?
c) Qual a probabilidade de termos 3 pessoas no sistema ?
d) O diretor da organizao ir contratar um outro atendente se ele se convencer
que uma pessoa tenha que esperar no mnimo 3 minutos. De quanto o fluxo
de chegadas deve aumentar de maneira a justificar o segundo atendente ?
3) O proprietrio de uma firma distribuidora de gs espera um cliente a cada 5
minutos. O servio de atendimento leva em mdia 4 minutos.
a) Qual a probabilidade de que um fregus no tenha que esperar ?
b) Qual a probabilidade de que se tenha uma fila de espera ?
c) O proprietrio ir contratar um atendente se ele verificar que um fregus
tenha que esperar, em mdia, 2 minutos ou mais para ser servido. A taxa de
chegada justifica tal contratao ?
d) Qual a probabilidade de termos 4 clientes no sistema ?
4) A taxa mdia de chegada de mquinas quebradas para uma oficina 80 por
semana e a sua capacidade de conserto de 120 por semana.
a) Que proporo de tempo a oficina fica ociosa ?
b) Qual a probabilidade de termos n mquinas na oficina para n = 0, 1, 2, 3 e 4 ?
c) Qual o nmero esperado de mquinas quebradas em um certo instante na
oficina ?
d) Qual o tempo mdio de espera de uma mquina que chega at ela comear a
ser atendida ?
e) Quanto tempo em mdia uma mquina fica na oficina ?
OBS. Adotar semana de 6 dias com 10 horas de trabalho por dia.

112

Teoria das Filas

5) Em uma firma as mquinas quebram com uma taxa de 0,8 por hora e o custo de
cada mquina parada estimado em $25,00 a hora. Existem 2 oficinas, A e B,
que podem consertar as mquinas. A oficina A pede $25 por hora e informa que
pode consertar 1,5 mquinas por hora. A oficina B pede $20 por hora e informa
que pode consertar 1,4 mquinas por hora.
a) Sabendo-se que as informaes de A e B so verdadeiras, para qual oficina
deve-se mandar as mquinas ?
b) Qual a escolha se a oficina A pedir $15 por hora e a oficina B pedir $18 por
hora, mantidas as demais condies ?
6) Um mdico tem mais consultas do que capaz de dar conta. Ele programa
as chegadas dos pacientes a um ritmo mdio de uma de 15 em 15 minutos. O
modelo real de chegadas tende a seguir uma distribuio de Poisson. O atendimento real atual de um paciente de 10 em 10 minutos (exponencial). Uma proposta de re-instalao do consultrio, utilizando mais espao e tornando possvel
menor perda de tempo, permitiria ao mdico aumentar o ritmo de atendimento
para um paciente de 6 em 6 minutos. Se o lucro for de $22,50 por cliente e o
mdico no desejar aumentar o tempo mdio de espera dos clientes, qual ser a
alterao no lucro horrio ?
7) Os veculos chegam a uma estao de pedgio a razo de 10 por minuto de acordo
com uma distribuio de Poisson. O atendente pode atender (dar nota, troco,
etc...) a razo de 12 por minuto, numa distribuio que se aproxima da exponencial.
a) Qual o comprimento mdio da fila de espera ?
b) Qual , em mdia, o tempo que um veculo espera na estao de pedgio ?
c) Se o atendente fosse substitudo por uma mquina com um ritmo constante
de 12 por minuto, quais seriam as respostas dos itens a e b ?
8) Sabe-se que a taxa de quebras de certas mquinas = 0, 2 mquinas/hora
(Poisson). O tempo de reparo segue a lei exponencial com = 0, 5 mquinas/hora.
a) Suponha que existem 5 mquinas e apenas um tcnico para consertar. Qual
o nmero mdio de mquinas esperando serem reparadas ?
b) Suponha que existem 20 mquinas e 3 tcnicos para consertar (cada um com
= 5 mquinas/hora). Qual o nmero mdio de mquinas esperando
serem reparadas ?
c) Em qual das situaes a mquina espera mais para ser reparada ?

3.13 Exerccios

113

9) Uma firma txtil tem um grande nmero de mquinas idnticas cuja taxa de
falhas estimada em 60 por dia. Existem 3 estaes de reparo cada uma tendo
uma taxa de servio de 25 por dia.
a) Quantas horas, para uma jornada de 8 horas por dia, est uma estao de
servio ocupada ?
b) Qual a probabilidade que todas as estaes estejam ociosas em um certo instante ?
c) Qual o comprimento mdio da fila ?
d) Qual o numero mdio de mquinas no sistema de reparos ?
10) Ainda em relao ao problema no 9 responda as seguintes perguntas:
a) Qual a probabilidade de se ter somente uma estao ociosa ? somente duas
estaes ?
b) Qual o nmero esperado de estaes de reparo ociosas ?
c) Qual , em mdia, o tempo que uma mquina que chega no sistema tem de
esperar ?
d) Qual a perda diria, estimada, da companhia se cada mquina que no
trabalha d um prejuzo de $300 por dia ?
11) A taxa de chegada a uma oficina de reparos de 180 por dia. A oficina tem 3
setores de atendimento com uma taxa de 100 por dia. Qual a probabilidade de
que:
a) A oficina esteja sem clientes ?
b) Um fregus tenha que esperar ?
c) Somente 2 setores estejam ociosos ?
d) Somente um setor esteja ocioso ?
e) Que proporo mdia do tempo um setor est ocioso ?
f) Qual o tempo mdio de espera de um fregus que chega ?
g) Qual o comprimento mdio da linha de espera ?
12) Uma firma textil tem um grande nmero de mquinas idnticas cuja taxa de
falhas estimada em 50 por semana. Existem atualmente 3 setores de reparos,
cada um tendo uma taxa de servio de 20 mquinas por semana.
a) Qual a perda semanal, estimada, da companhia se cada mquina que no
trabalha d uma perda semanal de $10.000 ?
b) Qual a perda total do sistema se o custo semanal do sistema de atendimento
$6.000 ?
c) Vale a pena aumentar o nmero de setores de atendimento para 4 ?

114

Teoria das Filas

13) H 4 guichs em um banco para atender os clientes. A taxa de chegada dos


clientes 60 por 6 horas de servio. Em cada guich um funcionrio gasta um
tempo varivel servindo os usurios, porm o tempo mdio de atendimento 20
minutos por cliente. Os clientes so atendidos a medida que chegam.
a) Quantas horas, por cada 30 horas de servio de uma semana, um funcionrio
gasta executando o seu servio ?
b) Qual o tempo mdio que um cliente fica preso no sistema ?
c) Qual a probabilidade de que um funcionrio esteja esperando por um cliente?
d) Qual o nmero esperado de funcionrios sem trabalhar num certo instante ?
e) Supondo que cada funcionrio recebe $5 por hora e se soubermos que para
cada cliente que tiver que esperar h uma perda de $0,25 por minuto, perguntase o que melhor: reduzir para 3, aumentar para 5 ou manter em 4 o nmero
de funcionrios ?
14) Temos as seguintes informaes quanto a chegadas de operrios no guichet do
almoxarifado:
X no de chegadas em cada 10 minutos.
Fo freqncia observada.
X 5 6 7 8 9 10 11 12 13 14 15
Fo 1 0 1 2 1 3
5
6
9 10 11
X
Fo

16
12

17
8

18
9

19
7

20
5

21
4

22
3

23
1

24
1

25
1

a) Calcule o nmero mdio de chegadas para o intervalo de tempo igual a 10


minutos.
b) Podemos dizer que os resultados seguem uma Poisson com = 1, 6 chegadas/min ?
15) O escritrio de uma empresa area tem 2 funcionrias atendendo telefonemas
para reserva de voos. Alm disso uma chamada pode ficar em espera at uma
das funcionrias estar disponvel para atender. Se as 3 linhas esto ocupadas a
chamada recebe o sinal de ocupado e a reserva perdida. As chamadas ocorrem
aleatoriamente (Poisson) a uma taxa mdia de uma por minuto. A durao de
cada ligao tem uma distribuio exponencial com uma mdia de 0,5 minuto.
Ache a probabilidade de que:
a) Uma chamada seja imediatamente atendida por uma funcionria.
b) A chamada ficar na linha de espera.
c) A chamada receber o sinal de ocupado.

3.13 Exerccios

115

16) Uma estao de servio espera um usurio a cada 4 minutos em mdia. O servio dura em mdia 3 minutos. Assumindo entrada Poisson e servio exponencial responda:
a) Qual o nmero mdio de usurios esperando servio ?
b) Quanto tempo um usurio esperar para ser servido ?
c) Qual a probabilidade de que um usurio fique menos de 15 minutos no sistema ?
d) Qual a probabilidade que um usurio fique mais de 10 minutos no sistema ?
17) Suponha que em mdia 9 usurios cheguem a cada 5 minutos (Poisson) e o mecanismo de servio pode servir usurios a uma taxa mdia de 10 usurios a cada
5 minutos. O tempo de servio exponencial.
a) Qual o no mdio de usurios esperando servio ?
b) Qual o tempo mdio de espera na fila ?
c) Como a) e b) so afetados se a taxa de servio dobrada ?
18) Se usurios chegam para servio de acordo com uma distribuio de Poisson a
taxa mdia de 5/dia, qual deve ser a taxa de servio em mdia (exponencial)
para que o nmero de usurios no sistema seja menor que 4 ?
19) Considere um sistemas de filas com entrada Poisson. A taxa mdia de chegadas
4/hr. O tempo mdio no sistema no deve exceder 1 hora. Qual deve ser a taxa
de servio mnima ?
20) Uma mquina Xerox operada por um funcionrio que ganha $3 por hora. O
tempo de execuo de cada tarefa varia de acordo com uma distribuio exponencial com mdia de 6 minutos. Assuma chegada Poisson com taxa mdia de 5
tarefas/hora. Se um dia de 8 horas usado determine:
a) A ociosidade (em %) da mquina.
b) O tempo mdio de espera de uma tarefa no sistema.
c) Se o funcionrio s ganhar por horas trabalhadas, qual o ganho mdio dirio
do funcionrio ?
21) Durante a estao de caa, caadores chegam a um posto de controle a taxa
mdia de 10/hr. Qual deve ser a taxa mnima de verificao para assegurar que
a espera do caador no ser maior que 20 minutos, quando a distribuio da
verificao :
a) Constante
b) Exponencial
As chegadas so Poisson.

116

Teoria das Filas

22) No exemplo anterior que frao do tempo o posto estar ocupado ?


23) Uma loja tem 4 vendedores. Considere chegadas Poisson com uma mdia de
10 minutos entre chegadas. Tambm considere que qualquer vendedor pode
fornecer o servio desejado para qualquer fregus. Se o tempo de fornecer servio
exponencialmente distribudo com uma mdia de 20 minutos/fregus, calcule
L, Lq , W , Wq e Pn para n = 0, 1, 2, 3.
24) Uma barbearia de 1 barbeiro pode acomodar um mximo de 5 pessoas de cada
vez (4 esperando e 1 sendo atendida). Os fregueses chegam de acordo com uma
distribuio de Poisson com mdia de = 5/hr. O barbeiro atende em mdia 4/hr
(exponencial).
a) Que percentagem do tempo o barbeiro est ocioso ?
b) Qual a taxa de chegada efetiva de fregueses ?
c) Que frao de fregueses potenciais vo embora ?
d) Qual o no esperado de fregueses esperando para serem atendidos ?
e) Quanto tempo em mdia um fregus fica no barbeiro ?
25) Um escritrio tem uma nica linha telefnica. As chamadas so feitas e recebidas a taxa de 10/hr (Poisson). Cada chamada tem uma durao mdia de 3
minutos e varincia de 2 minutos. Qual a probabilidade da linha estar ocupada
em um dado instante ?
26) Tarefas chegam a uma estao de servio de acordo com uma distribuio de
Poisson com uma mdia de 10 minutos entre cada chegada. Cada tarefa deve
passar atravs de 3 fases de preparao e uma fase final de montagem. O tempo
gasto em cada fase independente do tempo gasto em qualquer das outras fases
e considerado ser exponencial com mdia de 2 minutos. Determine:
a) A durao mdia de cada tarefa no sistema.
b) O comprimento mdio da fila.
27) As secretrias de 5 Departamentos em uma Universidade devem periodicamente copiar folhas em uma mquina xerox. A taxa de chegada Poisson com
= 4/hr. A durao do servio exponencial com = 6/hr.
a) Qual a probabilidade da mquina estar ociosa ?
b) Qual a probabilidade das 3 secretrias terem que usar a mquina ao mesmo
tempo ?
c) Qual o no mdio de secretrias usando a mquina ?

3.13 Exerccios

117

28) Um posto de gasolina com uma nica bomba tem as seguintes informaes: A
taxa mdia de chegada de 1 fregus a cada 4 minutos. Um atendente pode
servir um fregus em 4 minutos. Dois atendentes na mesma bomba podem fornecer servio em 2,5 minutos. Cada fregus produz um lucro lquido de $0,70.
Chegadas e servio so Poisson e exponencial respectivamente. No mais que 2
fregueses esperaro na fila. O posto fica aberto 15 horas por dia.
Compare as alternativas: 1 bomba com um atendente, 1 bomba com 2 atendentes e 2 bombas cada uma com 1 atendente.
29) Durante as horas de pico, um barbeiro tem fregueses chegando aleatoriamente
taxa de um a cada 25 minutos. Ele tem registrado o tempo de servio para 100
fregueses. Em horas a mdia de 0,30 e o desvio padro 0,092.
a) Durante as horas de pico, qual o tamanho esperado da fila ?
b) Se o tempo de servio fosse de exatamente de 20 minutos, qual o tamanho
esperado da fila ?
30) Uma grande oficina de automveis tem uma sala com um balco onde os mecnicos vo apanhar as peas necessrias para consertar os carros. Os mecnicos chegam aleatoriamente para servio taxa de 10 por hora. Os mecnicos
so atendidos aleatoriamente taxa de 12 por hora. O tempo dos mecnicos
avaliado em $7 por hora. Como os mecnicos esto reclamando, a oficina est
pensando em contratar assistentes para o balco de peas. Um assistente deve
melhorar a taxa de servio em 50%. Um segundo assistente deve melhorar a
taxa de servio em 80%. Um assistente custa no entanto, $36 por dia.
Considerando o dia com 8 horas de trabalho, faa a justificativa econmica da
situao.
31) Um posto de gasolina com uma nica bomba recebe fregueses aleatoriamente
taxa de um cada 5 minutos. Um simples atendente pode prestar servio completo em 4 minutos. Cada fregus d em mdia um lucro de $1. Sabe-se que se
j existem 3 carros no sistema, os fregueses procuram outro posto. O posto est
aberto das 7:00 as 22:00 horas.
a) Considerando que as taxas de chegada e de servio so aplicveis para todas
as horas em que o posto est aberto, qual o lucro dirio esperado ?
b) Se os fregueses esperassem na fila, independente do seu tamanho, qual seria
o lucro dirio esperado ?
c) Se o posto contratasse um segundo atendente a taxa mdia de servio poderia
ser reduzida para 2,5 minutos. Se o atendente ganha $2,50 por hora deve-se
contrat-lo ? (mximo de 3 carros no sistema).
d) Se o posto oferecesse aos fregueses bombons, chaveiros, belas recepcionistas,
etc..., a taxa de chegada passaria a um a cada 3 minutos mas em compensao o lucro por fregus passaria a $0,30. Considerando 1 atendente, deve-se
implantar esta poltica ?
e) E com 2 atendentes ?

118

Teoria das Filas

3.13.1 Soluo dos exerccios


Estes exerccios foram resolvidos por Leonardo Barroso Gonalves, aluno do Curso
de Estatstica e da cadeira, em 1993.
Exerccio 1
Modelo M/M/1
10
=
= 1, 25/h
8h
Durao mdia do servio = 30 minutos = 2 / h
a) Chegadas para atendimento: FIFO
Proporo do tempo que o empregado fica ocioso:

1, 25
= 0, 375 ou 37,5% do tempo
P0 = 1 = 1

2
Tempo esperado que o empregado fica ocioso por dia=0,375 8h = 3 horas
b) No de relgios que estaro, em mdia, na frente de um relgio que acabou de
chegar:
1, 25

=
= 1, 66667 relgios
L=

2 1, 25
Exerccio 2
Modelo M/M/1
Intervalo mdio entre chegadas = 10 min = 6/h
durao mdia do servio = 3 min = 20/h
a) Probabilidade de que uma pessoa chegando ao centro no tenha que esperar:

6
P0 = 1 = 1
= 0, 7 ou 70%

20
b) Probabilidade de que uma pessoa chegando ao centro tenha que esperar:
P (n > 0) = 1 P0 = 1 0, 7 = 0, 3 ou 30%
c) Probabilidade
3 de 3 pessoas
3 no sistema:

6
P3 = P0
= 0, 7
= 0, 0189 = 1, 89%

20
d) = ? = 20/h
Wq = 3 min = 0,05 h

Wq =
0, 05 =
= 10/h
( )
20(20 )
Como Wq 3 min, ento o fluxo de chegadas deve ser 10/h
Exerccio 3
Modelo M/M/1
1
=
= 12/h
5 min
Durao mdia do servio = 4 min = 15/h
a) Probabilidade de que um fregus no tenha que esperar
12

= 1 0, 8 = 0, 2 = 20%
P0 = 1 = 1

15
b) Probabilidade de que se tenha uma fila de espera
P (n > 0) = 1 P0 = 1 0, 2 = 0, 8 80%

119

3.13 Exerccios

c) Wq =

12

= 0, 2666 horas = 16 min


( )
15(15 12)
Tempo mdio que um fregus espera para ser servido = 16 min
Como tal tempo superior a 2 min, a taxa de chegada de 12/h j justifica um 2o
atendente.
d) Probabilidade
no sistema
4 de ter-se
4clientes

12 4
P4 = P0
= 0, 2
= 0, 08192 = 8, 192%

15
Exerccio 4
Semana = 6 dias Dia = 10 horas
Modelo M/M/1
= 80/semana = 120/semana
a) Proporo do tempo que a oficina fica ociosa

80
P0 = 1 = 1
= 0, 3333 = 33, 33%

60
b) Probabilidade de n mquinas na oficina
P0 = 0,
3333 =
33, 33%
1 80 n
Pn =
3 120
P1 = 0, 2222 = 22, 22% P2 = 0, 148148 = 14, 8148%
P3 = 0, 098765 = 9, 8765%
P4 = 0, 065584 = 6, 584%
o
c) N esperado de mquinas quebradas na oficina em um certo instante

80
L=
=
= 2 mquinas

120 80
d) Tempo mdio de espera de uma mquina que chega at ser atendida

80
Wq =
=
= 0, 016667
= 1 hora
( )
120(120 80)
1
1
= 0, 025 semanas = 1, 5 horas
e) W = Wq + = 0, 016667 +

120
Exerccio 5
Modelo M/M/1
= 0, 8/h Custo mquina parada = $25.00/h
a) Oficina A
= 1, 5/h
Custo do servio = $25/h
Tempo mdio que uma mquina fica parada:
1
1
=
= 1, 42857 horas
W =

1, 5 0, 8
Custo= 1.42857h $ 25/h= $35,71425
Custo da Fila = $35,71425 0,8/h = $ 28,5714/h
Custo total = $ 25+$ 28,5714 = $ 53,57/h
Oficina B
= 1/h
Custo do servio = $ 20/h
Tempo mdio que uma mquina fica parada:

120
W =

Teoria das Filas

= 1, 666 horas

1, 4 0, 8
Custo = 1,666h $ 25/h = $ 41,66
Custo da fila = $41,66 0,8/h = $33,328/h
Custo total = $ 20+ $ 33,328 = $ 53,32/h
CTB < CTA Oficina B melhor
b) Oficina A
custo do servio = $30/h
custo total = $ 15 + $28,5714 = $43,57/h
Oficina B
custo do servio = $ 15/h
custo total = $ 18 + $ 33,328 = $ 51,32/h
CTA < CTB Neste caso a oficina A seria melhor
Exerccio 6
Modelo M/M/1
1
=
= 4/h
15 min
1
= 6/h
=
10 min
Lucro por cliente = $ 22,50
Proposta: = 1/6 min = 10/h
Tempo mdio de espera dos clientes inalterado Wq = Wq
Situao Atual
= 4/h
= 6/h
4
1

=
= 0, 3333 = h
Wq =
( )
6(6 4)
3
Lucro por cliente = $22,50
Lucro horrio = $ 22,50 4/h = $ 90/h
Situao Proposta
=?
= 10/h

Wq =
=
( )
10(10 )
1

100
100 10 =
= 7, 6923/h
Wq = Wq =

3
10(10 )
13
Lucro por cliente = $ 22,50
Lucro horrio = $22,50 7.6923/h=$ 173.08/h
Alterao no lucro horrio: 173, 08 90 = $83, 08
Exerccio 7
Modelo M/G/1
= 10/min
= 12/min
a) Comprimento mdio da fila de espera

121

3.13 Exerccios

102

= 4, 167 veculos
( )
12(12 10)
b) Tempo que um veculo espera na estao de pedgio
1
1
W =
=
= 0, 5 min

12 10
c) Mquina constante = 12/min 2 = 0

10
5
=
=
=

12
6
Comprimento mdio da fila de espera
2
5
2
10 0 +
2 2
2
+
6

Lq =
=
= 2, 083 veculos
5
2(1 )
2 1
6
Tempo que um veculo espera na estao de pedgio
Lq
1
2.083
1
+ =
+
= 0, 29 min
W =

10
12
Exerccio 8
= 0, 2/h
= 0, 5/h
a) Modelo M/M/1 populao finita
M = 5 mquinas
S=1

0, 2
X=
=
= 0, 286 (Fator de Servio) 0,290
+
0, 2 + 0, 5
Da tabela F = 0, 644
no mdio de mquinas esperando serem reparadas:
Lq = M (1 F ) = 5(1 0, 644) = 1, 78 mquinas
b) Modelo M/M/3 populao finita.
M= 20 mquinas
= 5/h

0, 2
X=
=
= 0, 038 (Fator de Servio)
+
0, 2 + 5
Da tabela F = 0, 999
Nmero de mquinas esperando serem reparadas:
Lq = N (1 F ) = 20(1 0, 999) = 0, 02 mquinas
c) Tempo mdio de espera de uma mquina para ser reparada:
ef = M F X
Lq
Wq =
ef
a) ef = 5(0, 644) 0, 286 0, 5 = 0, 46046 mq/h Wq = 1, 78/0, 46046 =
3, 8657 hr
b) ef = 20(0, 999) 0, 038 5 = 3, 7962 mq/h Wq = 0, 02/3, 7962 =
0, 00527 hr
Como Wqa > Wqb , temos que na situao A a mquina espera mais para ser reparada
Lq =

122

Teoria das Filas

Exerccio 9
= 60/dia
= 25/dia
S=3
Modelo M/M/3
a) Proporo mdia do tempo que uma estao est ocupada:

60
=
=
= 0, 8 = 80%
S
3(25)
Nmero de horas por dia em que uma estao de servio est ocupada:
8 h/dia = 0, 8 8h/dia = 6, 4 h/dia
b) Probabilidade de que todas as estaes estejam ociosas em certo instante:
1
n
s
P0 = s1
P 1
1

s!(1 )
n=0 n!
1
P0 =
2
3 = 0, 05618 = 5, 618%
60
1 60
1
60
1+
+
+
25
2 25
6(1 0, 8) 25
c) Comprimento mdio da fila:
s+1
4
60

P0
0, 05618

25
=
= 2, 589 mquinas
Lq =
s s! (1 )2
3, 6 (1 0, 8)2
d) Nmero mdio de mquinas no sistema de reparos:
60

= 4, 989 mquinas= 5 mquinas


L = Lq + = 2, 589 +

25
Exerccio 10
Modelo M/M/3
a) Probabilidade
de termos somente uma estao ociosa:
1 n
Pn =
P0
n!
1 60 2
P2 =
0, 05618 = 0, 1618 = 16, 18%
2 25
Probabilidade
de termos somente duas estaes ociosas:
60
P1 =
0, 05618 = 0, 134832 = 13, 4832%
25
b) Nmero esperado de estaes de reparo ociosas:
Seja k o nmero de estaes ociosas.
E(k) = 0 P(n 3) + 1 P(n = 2) + 2 P(n = 1) + 3 P(n = 0)
= 0 + P2 + 2P1 + 3P0 =0, 1618 + 2 0,134832 + 3 0, 05618 = 0, 6 estaes
ou E(k) = (1 ) 3
c) Tempo mdio que uma mquina que chega ao sistema tem que esperar:
2, 589
Lq
=
= 0, 04315 dias
Wq =

60
d) Mquina parada $300/dia

3.13 Exerccios

123

Tempo mdio que uma mquina fica parada:

Lq +
Wq +
L
1
1

W =
=
=
= Wq + = 0, 04315 +
= 0, 08315 dias

25
Custo = 0.8315 dia $300/dia = $24,945
Custo da fila = $24.945 60/dia = $1496,70/dia
Perda diria estimada da companhia = $1496,70/dia
Exerccio 11
= 180/dia
= 100/dia
S=3
Modelo M/M/3
a) Probabilidade de que a oficina esteja sem clientes:
1
n
s
P0 = s1
P 1
1

s!(1 )
n=0 n!

180
=
= 1, 8

100
180

=
= 0, 6
=
S
300
1
P0 =
= 0, 145985 = 14, 5985%
2
1, 8
1
3
1 + 1, 8 +
+
1, 8
2
6(1 0, 6)
b) Probabilidade
de que um fregus tenha que esperar:
1 n
Pn =
P0
n
P1 = 1, 8(0, 145985) = 0, 262773
1, 82
(0, 145985) = 0, 236496
P2 =
2
P(n 3) = 1 P(n < 3) = 1 (P0 + P1 + P2 ) = 1 (0,145985 + 0,262773 + 0,236496)
= 0,354746 = 35,4746%
c) Probabilidade de que somente dois setores estejam ociosos:
P(2 setores ociosos) = P1 = 0,262773 = 26,2773%
d) Probabilidade de que somente um setor esteja ocioso:
P(1 setor ocioso) = P2 = 0,236496 = 23,6496%
e) Proporo mdia do tempo que um setor est ocioso = 1 = 1 0, 6 = 0, 4 =
40%
s+1

P0
1, 84 0, 145985

=
= 0, 53212 clientes
f) Lq =
s s! (1 )2
3, 6 (1 0, 6)2
Tempo mdio de espera de um fregus que chega:
Lq
0, 53212
Wq =
=
= 0, 002956 dias

180

124

Teoria das Filas

g) Comprimento mdio da fila de espera:


Lq = 0, 53212 fregueses
Exerccio 12
= 50/semana
= 20/semana
S=3
Modelo M/M/3
a) Mquina parada = $10.000/semana
1
n
s
P0 = s1
P 1
1

s!(1 )
n=0 n!
50

=
= 2, 5

20

50
5
=
=
=
S
3(20)
6
1
P0 =
= 0, 044944
2, 52
1
3
1 + 2, 5 +
+ 2, 5
1
2
6
6
s+1

P0
2, 54 0, 044944

Lq =
=
2 = 3, 51125 mquinas
s s! (1 )2
1
36
6

L = Lq + = 3, 51125 + 2, 5 = 6, 01125 mquinas

Tempo mdio que uma mquina fica parada


W = L/ = 6, 01125/50 = 0, 120225 mquinas
Perda semanal estimada da cia = 0,120225 semanas $ 10.000/semana 50/semana = $ 60.112,50/semana
b) Custo do servio = $ 6.000/semana
Custo de mquinas paradas = $ 6.000 + 60.112,50 = $ 66.112,50/semana
Perda total do sistema = $ 66.112,50/semana
c)

= 2, 5

50
=
=
= 0, 625
S
4(20)
S=4
1
P0 =
= 0.07369
2
3
2, 5
2, 5
1
1 + 2, 5 +
+
+
2, 54
2
6
24(1 0, 625)
2, 52 0, 073695
= 0, 053309 mquinas
Lq =
4 24 (1 0, 625)2

3.13 Exerccios

125

L = 0, 053309 + 2, 5 = 3, 03309 mquinas


$6.000
Custo semanal do sistema = 4
= $8.000
3
Tempo mdio que uma mquina fica parada:
3, 03309
L
W =
=
= 0, 0606618 semanas

50
Custo do servio = $ 8.000/semana
Custo das mquinas paradas = 0,606618 semanas $ 10.000/semana 50/semana = $ 30.330,90/semana
Custo total estimado = $ 8.000 + $ 30.330,90 = $ 38.330,90/semana
Perda total do sistema = $ 38.330,90/semana
Como com 4 setores a perda total diminui, ento vale a pena aumentar o nmero
de setores para 4.
Exerccio 13
S=4
60
= 10/h
=
6h
Modelo M/M/4
Durao do servio = 20 min = 3/h
a) Proporo mdia do tempo que um funcionrio est executando o seu servio.

10
=
=
= 0, 83333
S
4(3)
Nmero de horas por semana que um funcionrio est ocupado
= 0,83333 30h/semana = 25h/semana
1
n
s
b) P0 = s1
P 1
1

s!(1 )
n=0 n!
1
P0 =
2
3
4 = 0.0213
1 10
10
1 10
1
10
+
1+
+
+
3
2 3
6 3
24(1 0, 83333) 3
s+1
5

10
P0
0, 02131

3
Lq =
=
= 3, 28858 clientes
s s! (1 )2
4 24 (1 0, 83333)2

10
L = Lq + = 3, 28358 +
= 6, 621914 clientes

3
Tempo mdio que um cliente fica preso no sistema
W = L/ = 6, 621914/10 = 0, 66219 horas= 39, 7314 minutos

126

Teoria das Filas

c) Probabilidade
n de que um funcionrio esteja esperando por um cliente (P )
1
Pn =
P0
n
10
P1 =
0, 02131 = 0, 071033
3 2
1 10
P2 =
0, 02131 = 0, 131543
2 3
1 10 3
P3 =
0, 02131 = 0, 131543
6 3
P = P(n < 4) = P0 + P1 + P2 + P3 = 0, 02131 + 0, 071083 + 0, 11832289 +
0, 131543 = 0, 342275 = 34, 2275%
d) Nmero esperado de funcionrios sem trabalhar num certo instante:
Seja k o nmero de funcionrios ociosos
Ek = 0P (n 4)+1P (n = 3)+2P (n = 2)+3P (n = 1)+4P (n = 0)
Ek = P3 + 2P2 + 3P1 + 4P0
Ek = 0, 131543 + 2(0, 1183889) + 3(0, 071033) + 4(0, 02131) = 0, 6667 funcionrios
e) Cada funcionrio = $5/h
Cliente esperando = $0,25/min = $15/h

S=3
Fila e Custo tendendo ao infinito pois > s.
S=4
Custo do servio = 4 $5/h = $20/h
Tempo mdio que um cliente fica esperando na fila:
3, 28858
Wq =
= 0, 328858 horas
10
Custo = 0, 328858h $15/h= $4, 9329
Custo da fila = $4, 9329 10/h = $49, 329/h
Custo total = $20 + $49, 329 = $69, 329/h

127

3.13 Exerccios

S=5
P0 =
1+

10

10

10

1
1

10

10

5 =

+
+
+
+
3
2 3
6 3
24 3
120(1 0, 6666) 3
0.03175
10 6
0, 0239338
3
= 0, 6533 clientes
Lq =
5 120 (1 0, 6666)2
Custo do servio = 5 $5/h = $25/h
Tempo mdio que um cliente fica esperando na fila:
0, 6533
Wq =
= 0, 06533 horas
10
Custo = 0, 06533h $15/h= $0, 97995
Custo da fila = $0, 97995 10/h= $9, 7995/h
Custo total = $25 + $9, 7995 = $34, 7995
Como o menor custo total foi para S = 5, o melhor aumentar o nmero de funcionrios para 5.

128
Exerccio 14
a) X nmero de chegadas a cada 10 minutos (xi )
fobs frequncia observada
xi
f obs xi f obs
5
1
5
6
0
0
7
1
7
8
2
16
9
1
9
10
3
30
11
5
55
12
6
72
13
9
117
14
10
140
15
11
165
16
12
192
17
8
136
18
9
162
19
7
133
20
5
100
21
4
84
22
3
66
23
1
23
24
1
24
25
1
25
= 100
1561
P
xi fobs
1561
Mdia = x
=
=
= 15, 61 por 10 minutos
P
fobs
100
b) Poisson com = 1, 6 chegadas/min = 16 chegadas/10 min
Seja k = no de observaes
A frequncia esperada terica) dada pela frmula:
e k
P (k) =
k!

Teoria das Filas

129

3.13 Exerccios

Chegadas por 10 min


5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

P(k)
0
0
0,01
0,01
0,02
0,03
0,05
0,07
0,08
0,09
0,10
0,10
0,09
0,08
0,07
0,06
0,04
0,03
0,02
0,01
0,01

Fesp
0,1
0,3
0,6
1,2
2,1
3,4
5,0
6,6
8,1
9,3
9,9
9,9
9,3
8,3
7,0
5,6
4,3
3,10
2,20
1,40
0,90

=7,7

=11,9

Fobs
1
0
1
2
1
3
5
6
9
10
11
12
8
9
7
5
4
3
1
1
1

(Fobs Fesp )2 / Fesp

=8

0,011

0
0,06
0,10
0,05
0,12
0,45
0,18
0,06
0,00
0,06

=10

0.303
1, 394 = 2calc

H0 : A distribuio observada segue uma distribuio de Poisson com = 16/10


min.
H1 : A distribuio observada no se ajusta a uma distribuio de Poisson com =
16/10 min.
Nvel de significncia = 0, 05
= 12 1 1 = 10
2tab = 18, 31
Como 2calc < 2tab aceitamos H0 , ou seja a distribuio observada segue uma distribuio de Poisson com = 16/10 min.

130

Teoria das Filas

Exerccio 15
Modelo M/M/2 Fila finita
M =3
S=2
= 1/min
Durao mdia do servio = 0, 5 min = 2/min
a) Probabilidade de uma chamada ser atendida por um funcionrio (P)

1
a=
= = 0, 5

1
c=
=
= 0, 25
S
2(2)
1
P0 =
= 0, 60377
1
1
2
2
1 + 0, 5 + (0, 5) + (0, 5) (0, 25)
2
2
1 n
Pn =
a P0
n!
P1 = 0, 5 0, 60377 = 0, 30188
P = P0 + P1 = 0, 60377 + 0, 301885 = 0, 905655 = 90, 5655%
b) Probabilidade da chamada ficar na linha de espera
1
P2 = (0, 5)2 (0, 60377) = 0, 075 = 7, 5%
2
c) Probabilidade da chamada receber sinal ocupado
an P0
Pn =
s! sns
(0, 5)3 (0, 60377)
P3 =
= 0, 01887 = 1, 887%
22
Exerccio 16
Modelo M/M/1
Intervalo entre as chegadas = 4 min = 15/h
Durao mdia do servio = 3 min = 20/h
a) Nmero mdio de usurios esperando o servio.
2
152
Lq =
=
= 2, 25 usurios
( )
20(20 15)
b) Tempo mdio de espera de um usurio para ser servido.
Lq
2, 25
Wq =
=
= 0, 15 horas = 9 minutos

15
c) Probabilidade de que um usurio fique menos de 15 min no sistema.
15 min = 0.25 h

=
= 0, 75

P (T < 0, 25) = 1 P (T 0, 25) = 1 P (T > 0, 25) = 1 e20(10,75)0,25 =


= 1 e1,25 = 1 0, 2865 = 0, 7135 = 71, 35%
d) Probabilidade de que um usurio fique mais de 10 minutos no sistema.
10 minutos = 0.16667 horas
P (T > 0, 166667) = e20(10,75)016667 = e0,83335 = 0, 4346 = 43, 46%

3.13 Exerccios

Exerccio 17
Modelo M/M/1
9
=
= 1, 8/ min
5 min
10
=
= 2/ min
5 min
a) Nmero mdio de usurios esperando o servio.
2
1, 82
Lq =
=
= 8, 1 usurios
( )
2(2 1, 8)
b) Tempo mdio de espera na fila.
8, 1
Lq
Wq =
=
= 4, 5 minutos

1, 8
0
c) = 4/ min
1, 82
0
Lq =
= 0, 368 usurios
4(4 1, 8)
0
0
Wq = Lq = 0, 368/1, 8 = 0, 20 minutos
Exerccio 18
Modelo M/M/1
= 4/ h
=?
5
L<4
< 4 5 < 4 20 4 > 25 > 6, 25/dia
5
Exerccio 19
Modelo M/M/1
= 4/ h
=?
1
1
W <1W =

<11<4<5h

4
Taxa de servio mnima = 5/h
Exerccio 20
= 5/ h
dia = 8 horas
Durao mdia do servio = 6 min = 10/h
a) Proporo mdia do tempo que a mquina fica ociosa.
5

= 0, 5 = 50%
P0 = 1 = 1

10
b) Tempo mdio de uma tarefa no sistema.
1
1
W =
=
= 0, 2h = 12 min

10 5
c) Fator de utilizao da estao de servio.
= 1 P0 = 0, 5
Ganho mdio dirio do funcionrio = $3/h 0.5 8h/dia = $12/dia

131

132

Teoria das Filas

Exerccio 21
Modelo M/G/1
= 10/h = ?
Durao do servio constante 2 = 0
1
W 20 min W h
3
1
2 2 + 2
1
2 /2
100/2
Lq
1
1

+ =
+ =
+ =
W =
+ =

10

2(1 )

2 1
20 1

100
1
5
1
5 + 10
5
= 2
+ =
+ =
=
=

20 200

( 10)

( 10)
( 10)
5
1
5
1
3 15 ( 10)
=
=
=0
=0
( 10)
3
( 10)
3
3( 10)
3 15 2 + 10
=0

3( 10)
2 + 13 15
=0
3( 10)
Para dar zero o numerador tem que ser = 0, logo: 2 + 13 15 = 0
Resolvendo temos:
1 = 1, 28 a fila se tornaria infinita.
2 = 11, 72
Logo 11, 72
b) Modelo M/M/1
= 10/h
=?
1
W 20 min W h
3
1
1
1
1
W =
W
< 10 > 3 > 13/h

3
10
3
Exerccio 22
Frao do tempo que o posto est ocupado.

10
a) =
=
= 0, 8532 = 85, 32%

11, 72
10

=
= 0, 7692 = 76, 92%
b) =

13
Exerccio 23
Modelo M/M/4
s=4
Intervalo mdio entre chegadas = 10 min = 6/h
Durao mdia do servio = 20 min = 3/h
6

=
=2

3
6

=
= 0, 5
=
S
12

133

3.13 Exerccios


P0 = s1
P 1 n
n=0

P0 =

Pn =

n!

1+2+
2
1 n

22

1
+
1
6

s!(1 )
1

23

1
24(1 0, 5)

= 0, 13043 = 13, 043%


24

P0
n!
P1 = 2(0, 13043) = 0, 26086 = 26, 086%
1
P2 = 22 (0, 13043) = 0, 26086 = 26, 086%
2
1 3
P3 = 2 (0, 13043) = 0, 17391 = 17, 391%
6

S+1
P0
25 (0, 13043)

Lq =
=
= 0, 1739 fregueses
s s! (1 )2
4(24)(1 0, 5)2

L = Lq + = 0, 1739 + 2 = 2, 1739 fregueses

L
W =
= 2, 1739/6 = 0, 3623 horas

Lq
0, 1739
Wq =
=
= 0, 02888 horas

6
Exerccio 24
Modelo M/M/1 Fila Finita
s=1
M =5
= 5/ h
= 4/ h
a) Percentagem
do
tempo que o barbeiro est ocioso.

P0 =
6=
M +1

1

5
1
4
P0 =
6 = 0, 0888 = 8, 88%
5
1
4
b) Taxa de chegada efetiva de fregueses.
ef = (1 P0 ) = 4(1 0, 0888) = 3, 6448 fregueses/hora
c) Frao de fregueses potenciais que vo embora.
ef
5 3, 6448
=
= 0, 27104 = 27, 104%

134

Teoria das Filas

d) Nmero esperado de fregueses esperando para serem atendidos.


M +1

(M + 1)

L=

6=
M +1

1
6
5
6
5
4
L=

6 = 3, 13167 fregueses
54
5
1
4
Lq = L (1 P0 ) = 3, 13167 (1 0, 0888) = 2, 22047 fregueses
e) Tempo mdio que um fregus fica no barbeiro.
L
3, 13167
W =
=
= 0, 8592 horas= 51, 55 min
ef
3, 6448
Exerccio 25
Modelo M/G/1
s=1
= 10/ h
Tempo de servio: mdia = 3 min = 20/h
2 = 2 min = 0, 03333 horas
Probabilidade da linha estar ocupada em um dado instante

10
1 P0 = 1 = 1 = 1
= 0, 5 = 50%

20
Exerccio 26
Modelo M/E4 /1
k=4
T = T1 + T2 + T3 + T4
Intervalo mdio entre chegadas = 10 min = 6/h
1
1
1
1
= 2 min =
h
=
= 7, 5/h
k
30
4
30
a) Durao mdia de cada tarefa no sistema.
(1 + k)
5(6)
Wq =
=
= 0, 333 horas
2k( )
2(4)(7, 5)(7, 5 6)
1
1
W = Wq + = 0, 333 +
= 0, 46666 horas= 28 minutos

7, 5
b) Comprimento mdio da fila.
2
1+k
Lq =
= 2 tarefas
2k ( )

135

3.13 Exerccios

Exerccio 27
Modelo M/M/1 Populao Finita
= 4/ h
= 6/ h
s=1
M =5

4
X=
=
= 0, 4
+
4+6
Da tabela F = 0.493
a) Probabilidade da mquina estar ociosa.
sendo S = 1
MF X
=
= 5(0, 493)(0, 4) = 0, 986
S
P0 = 1 = 1 0, 986 = 0, 014 = 1, 4%
P0 =

S1
P

M!

(M n)! n!

M
P

M!

ou
n

(M n)! s! n!
1
P0 =

2
3
4
5
4
4
4
4
4
1+5
+ 5(4)
+ 5(4)(3)
+ (5)(4)(3)(2)
+ (5)(4)(3)(2)
6
6
6
6
6
n0

n=S

P0 = 0, 014 = 1, 4%
b) Prob. das 3 secretrias terem
nque utilizar a mquina ao mesmo tempo.
M!

Pn = P0
snM
ns
(M n)! s! s

n
M!

snM
Pn = P0

ns
(M n)! s! s
3
4
P3 = 0, 014183 3(4)(5)
= 0, 25214 = 25, 214%
6
c) Nmero mdio de secretrias usando a mquina.
Lq = M (1 F ) = 5(1 0, 493) = 2, 535
ef = M F X = 5(0, 493)(0, 4)6 = 5, 916
Lq
2, 535
= 0, 428499
Wq =
=
ef
5, 916
1
1
W = Wq + = 0, 42849 + = 0, 5951656

6
L = ef W = 5, 916 0, 5951656 = 3, 52 secretrias
Exerccio 28
Modelo M/M/1 Fila Finita
s=1
1
= 15/ h
=
4min
1 atendente durao mdia do servio = 4 min 1 = 15/h
2 atendentes durao mdia do servio = 2, 5 min 2 = 24/ h
Fregus Lucro $0.70
M 1=2M =3
Dia = 15/ h

136

Teoria das Filas

Alternativa A
1 bomba com um atendente
1
P0 =
=
M +1
1
P0 =
= 0, 25
3+1
ef = (1 P0 = 15(1 0, 25) = 11, 25 fregueses/hora
Lucro = $0, 70/ fregus 11, 25 fregueses/h 15h/dia = $118, 13/dia
Alternativa B
1 bomba com2 atendentes

P0 =
6=
M +1

1

15
1
24
P0 =
4 = 0, 4425 = 44, 25%
15
1
24
ef = (1 P0 ) = 24(1 0, 4425) = 13, 38 fregueses/hora
Lucro = $0, 70/ fregus 13, 38 fregueses/hora 15h/dia = $140, 49/dia
Alternativa C
2 bombas, cada uma com 1 atendente
Modelo M/M/2
Fila Finita
1
P0 = s
M
P 1 n
P
1
cns
a + as
n!
s!
n=0
n=s+1
s=2

a=
= 15
=1
15

15

=
= 0, 5
c=
5
30
1 n
Pn =
a P0
P1 = P0 = 0, 36364
n!

s1
P
ef = s
(s n)Pn = 15 {2 (2)(0, 36364) + 0, 36364} = 13, 6362
n=0

fregueses/hora
Lucro = $0, 70/ fregus 13, 6362fregueses/h 15h/dia = $143, 18/dia
Melhor alternativa : C

3.13 Exerccios

137

Exerccio 29
Modelo M/G/1
1
=
= 2, 4/ h
25 min
1
10
= 0, 30h =
/h
= 0, 092 2 = 0, 00846

3
a) Tamanho esperado da fila.
(2, 4)2 (0, 008464) + 0, 722
2 2 + 2
=
= 1, 0128 fregueses
Lq =
2(1 )
2(1 0, 72)

24
=
= 0, 72
=
10

3
b) Tamanho esperado da fila.
2 = 0
Durao do servio = 20 min = 3/ h

24
=
=
= 0, 8

3
0, 82
= 1, 6 fregueses
Lq =
2(1 0, 8)
Exerccio 30
= 10/h
Tempo mecnico $7/h
= 12/h
Custo assistente $36/ dia
Dia = 8 horas
Situao atual
Modelo M/M/1
Tempo mdio que um mecnico gasta no sistema.
1
1
W =
=
= 0, 5 h

12 10
Custo da fila = 0.5 h $7/ h 10/h 8h/ dia = $280/dia = Custo total
Situao com 1 assistente
Modelo M/M/1
Nova taxa = 18/h
Custo do servio = $36/dia
1
Tempo mdio que um mecnico gasta no sistema W =
= 0, 15 horas
18 10
Custo da fila = 0.125 h $7/h 10/h 8h/dia = $70/dia
Custo total = $36 + $70 = $106/dia
Situao com 2 assistentes
Modelo M/M/1
Nova taxa = 21, 6/h
Custo do servio = 2 $36 = $72/dia
1
= 0, 0862
Tempo mdio que um mecnico gasta no sistema W =
21, 6 10
horas
Custo da fila = 0, 0862 h $7/h 10/h 8h/dia = $48, 27/dia

138

Teoria das Filas

Custo total = $72 + $48, 27 = $120, 27/dia

A melhor alternativa a com 1 assistente.


Exerccio 31
1
=
= 12/h
5 min
1 atendente
Durao mdia do servio = 4 min = 15/h
Lucro por fregus = $1
Dia = 15 h
a) Lucro dirio.
Modelo M/M/1 Fila Finita
M =3

P0 =
6=
M +1

1

12
1
15
P0 =
4 = 0, 33875
12
1
15
ef = (1 P0 ) = 15(1 0, 33875) = 9, 91875 fregueses/hora
Lucro = $1/ fregus 9, 91875 fregueses/h 15h/dia = $148, 78/dia
b) Modelo M/M/1 (Fila Infinita)
Lucro = $1/fregus 12/h 15h/dia = $180/dia
c) Lucro dirio (2 atendentes - 1 bomba)
Modelo M/M/1 Fila Finita
M =3
1
Nova taxa =
= 24/h
2, 5 min
12
1
24
P0 =
4 = 0, 5333
12
1
24
ef = (1 P0 ) = 24(1 0, 5333) = 11, 2 fregueses/hora
Lucro bruto = $1/ fregus 11, 2 fregueses/h 15h/dia = $168/dia
Custo do segundo atendente = $2, 50/h 15h/dia = $37, 50/ dia
Lucro lquido = $168 $37, 50 = $130, 50/dia
No, pois o lucro diminuiu.
d) Lucro Dirio (Brindes - 1 atendente)
Modelo M/M/1
Fila Finita M = 3
1
= 20/h
Nova taxa =
3 min
= 15/h

3.13 Exerccios

139

Novo lucro $0,


30/fregus
20
1
15
P0 =
4 = 0, 15429
20
1
15
ef = (1 P0 ) = 15(1 0, 15429) = 12, 68565/hora
Lucro = $0, 30/fregus 12.68565 freg/hora 15h/dia = $57, 09/dia
No pois o lucro diminuiu
e) Lucro dirio (brindes/2 assistentes - 1 bomba)
Modelo M/M/1
Fila finita
M =3
= 24/h
= 20/h
20
1
24
P0 =
4 = 0, 3219
20
1
15
ef = (1 P0 ) = 24(1 0, 319) = 16, 2744 fregueses/hora
Lucro bruto = $0, 30/fregus 16, 2744 fregueses/h 15h/dia = $73, 23/dia
Custo do 2o assistente = $37, 50/dia
Lucro lquido = $73, 23 $37, 50 = $35, 73/dia
No, pois o lucro diminuiu.

140

Teoria das Filas

Captulo 4
Introduo Simulao

Uma simulao a imitao, durante determinado perodo de tempo, da operao


de um sistema ou de um processo do mundo real. Feita a mo (raramente) ou em
um computador (quase sempre), a simulao envolve a gerao de uma histria artificial do sistema e, a partir desta histria artificial, a inferncia de como o sistema
real funcionaria. O comportamento do sistema estudado pela construo de um
Modelo de Simulao. Este modelo normalmente toma a forma de um conjunto de
consideraes relacionadas a operao do sistema. Estas consideraes so expressas atravs de relaes matemticas, lgicas e simblicas entre as entidades, ou
objetos de interesse, do sistema. Uma vez construdo e validado, um modelo pode
ser usado para investigar uma grande quantidade de questes do tipo e se... sobre
o sistema do mundo real. Alteraes no sistema podem ser inicialmente simuladas
para se prever as consequncias no mundo real. A Simulao tambm pode ser
usada para estudar sistemas no estgio de projeto, ou seja antes do sistema ser
construdo. Assim, a Simulao pode usada tanto como uma ferramenta de anlise para prever o efeito de mudanas em sistemas j existentes, quanto como uma
ferramenta para prever a performance de novos sistemas sobre as mais variadas
circunstncias.

4.1 Vantagens e Desvantagens da Simulao


As vantagens principais da simulao so:
Novas polticas, procedimentos operacionais, regras de negcio, fluxos de informao, etc..., podem ser estudadas sem se alterar o mundo real.
Novos equipamentos, layouts, sistemas de transporte, etc..., podem ser testados sem se comprometer recursos na sua aquisio.
Hipteses sobre como e porque certos fenmenos ocorrem podem ser testados
visando verificar sua praticabilidade.
O tempo pode ser comprimido ou expandido permitindo acelerar ou retardar
o fenmeno sob investigao.
Pode-se entender melhor sob a interao das variveis do sistema.

142

Introduo Simulao

Pode-se entender melhor a participao das variveis na performance do sistema.


Gargalos em processos produtivos podem ser analisados nas mais diferentes
formas.
Um modelo de simulao pode ajudar a entender como um sistema funciona
como um todo, em relao a como se pensa que o sistema opera individualmente.
Questes do tipo e se... podem ser respondidas. Isto extremamente til na
fase de design de um projeto.
As desvantagens a serem consideradas so:
A construo de Modelos de Simulao requer treinamento especial. uma
arte que aprendida com tempo e experincia. Alm disto se 2 modelos so
construdos por 2 profissionais competentes, eles tero semelhanas, mas ser
altamente improvvel que sejam iguais.
Os resultados de uma Simulao podem ser difceis de interpretar. Como
a maioria das sadas de uma simulao so variveis aleatrias (elas esto
normalmente baseadas em entradas aleatrias), difcil determinar se uma
observao o resultado do relacionamento entre as variveis do sistema ou
consequncia da prpria aleatoriedade.
A construo e anlise de Modelos de Simulao pode consumir muito tempo
e, como consequncia, muito dinheiro. Economizar por sua vez pode levar a
modelos incompletos.
A Simulao usada em muitos casos onde uma soluo analtica possvel.
A Simulao no d resultados exatos.

4.2 reas de aplicao


Existem inmeras reas de aplicao da simulao. A seguir esto listadas algumas das mais importantes:
Simulao das operaes de uma companhia area para testar alteraes em
seus procedimentos operacionais.
Simulao da passagem do trfego em um cruzamento muito grande, onde
novos sinais esto para ser instalados.
Simulao de operaes de manuteno para determinar o tamanho timo de
equipes de reparo.
Simulao do fluxo de partculas no carregadas atravs de um campo radioativo para determinar a intensidade de radiao que penetra o campo.

4.2 reas de aplicao

143

Simulao de uma siderrgica para avaliar alteraes nos seus procedimentos


operacionais.
Simulao da economia de um setor de um pas para prever o efeito de mudanas econmicas.
Simulao de batalhas militares visando avaliar o desempenho de armas estratgicas.
Simulao de sistemas de distribuio e controle de estoque, para melhorar o
funcionamento destes sistemas.
Simulao de uma empresa como um todo para avaliar o impacto de grandes
mudanas ou como treinamento para seus executivos. (Business Games)
Simulao de sistemas de comunicaes para determinar o que necessrio
para fornecer um determinado nvel de servio.
Simulao de uma barragem em um determinado rio para avaliar os problemas advindos com a sua construo.
Simulao de uma linha de produo em determinada indstria, para avaliar
efeitos de mudanas previstas no processo produtivo.
Etc, etc...

144

Introduo Simulao

4.3 Tipos de Modelos


Modelos de Simulao podem ser Estticos ou Dinmicos.
Um modelo de simulao esttica, algumas vezes chamado de Simulao de Monte
Carlo, um modelo onde a passagem do tempo irrelevante.
Modelos de Simulao Dinmicos representam sistemas cujos resultados variam
com a passagem do tempo.
Um modelo de simulao pode ser ainda Determinstico ou Estocstico.
Modelos de simulao que no contm nenhuma varivel aleatria so classificados
como determinsticos, ou seja, para um conjunto conhecido de dados de entrada
teremos um nico conjunto de resultados de sada.
Um modelo estocstico de simulao tem uma ou mais variveis aleatrias como
entrada. Estas entradas aleatrias levam a sadas aleatrias que podem somente
ser consideradas como estimativas das caractersticas verdadeiras de um modelo.
Assim, por exemplo, a simulao (estocstica) do funcionamento de uma agncia
bancria envolve variveis aleatrias como o intervalo entre chegadas e a durao
dos servios prestados. Logo, medidas como o nmero mdio de clientes esperando
e o tempo mdio de espera de um cliente, devem ser tratadas como estimativas
estatsticas das medidas reais do sistema.

4.4 Modelos Discretos e Contnuos


Os modelos de simulao dinmicos podem ser Discretos ou Contnuos. Em uma
simulao discreta, considera-se somente os eventos onde h alterao do sistema,
ou seja, o tempo decorrido entre alteraes do estado do sistema no relevante
para a obteno dos resultados da simulao. Alguns autores a chamam de Simulao de Eventos Discretos, enfatizando assim que a discretizao se refere
apenas ocorrncia dos eventos ao longo do tempo.
Um exemplo seria a simulao de uma agncia bancria onde entre a chegada (ou
a sada) de clientes o estado do sistema no se altera.
Numa Simulao Contnua o sistema se altera a cada frao de tempo. Exemplos
clssicos so a simulao de um avio voando e a passagem de gua por uma barragem.
Neste captulo tratamos somente da Simulao de Eventos Discretos.

145

4.5 Exemplos de modelos de Simulao

4.5 Exemplos de modelos de Simulao


Para entender como funciona uma simulao, vamos ver alguns exemplos simples:

4.5.1 Quebra de rolamentos


Uma grande mquina industrial tem 3 rolamentos diferentes que quebram de tempos em tempos. A probabilidade da vida til (em horas de operao) de um rolamento est dada na tabela abaixo:
Vida do Rolamento (horas)

Probabilidade

1.000
1.100
1.200
1.300
1.400
1.500
1.600
1.700
1.800
1.900

0.10
0.13
0.25
0.13
0.09
0.12
0.02
0.06
0.05
0.05

Quando um rolamento quebra, a mquina para e um mecnico chamado para


instalar um novo rolamento no lugar do que quebrou. O tempo que o mecnico
demora para chegar ao rolamento quebrado tambm uma varivel aleatria, com
a distribuio dada na tabela abaixo:
Tempo de espera (minutos)

Probabilidade

5
10
15

0.60
0.30
0.10

Cada minuto que a mquina fica parada custa $5 e o custo do mecnico de


$0.2/minuto trabalhado substituindo rolamento. O mecnico demora 20 minutos
para trocar 1 rolamento, 30 minutos para trocar 2 e 40 minutos para trocar os 3.
Cada rolamento novo custa $16. Algum sugeriu que ao quebrar um dos rolamentos, se fizesse logo a troca dos 3. Deseja-se avaliar a situao do ponto de vista
econmico.

146

Introduo Simulao

Soluo
Temos que comparar o custo da alternativa atual e da alternativa proposta. Precisamos estabelecer um horizonte de tempo para fazer esta comparao. Considerando que a menor vida til de um rolamento 1.000 horas (mais de 1 ms), vamos
estabelecer um horizonte de 20.000 horas (um pouco mais de 2 anos) para fazer a
comparao.
Como a vida til dos rolamentos e a espera pelo mecnico so variveis aleatrias
que seguem as distribuies vistas anteriormente, temos que relacionar quelas
distribuies com uma tabela de nmeros aleatrios.
Assim sendo, vamos imaginar que temos um gerador de nmeros aleatrios capaz
de gerar qualquer inteiro entre 0 e 99, ou seja 100 nmeros. Vamos atribuir a cada
durao de vida til uma faixa destes nmeros que me garanta que a distribuio
probabilstica seja mantida.
Como a 1a vida til (1.000 horas) tem 10% de probabilidade de ocorrer, vamos atribuir a esta durao a faixa de 0 a 9 inclusive, ou seja 10 nmeros (10% dos 100
nmeros). Para a 2a durao provvel (1.100 horas), com 13% de probabilidade de
ocorrncia, vamos atribuir a faixa de 10 a 22 inclusive, ou seja 13 nmeros. Podemos continuar para as demais duraes provveis dos rolamentos como pode ser
visto na tabela a seguir, ressaltando que a probabilidade acumulada d o limite das
faixas escolhidas.
Vida do
Rolamento (horas)
1.000
1.100
1.200
1.300
1.400
1.500
1.600
1.700
1.800
1.900

Probabilidade

Probabilidade
Acumulada

No Aleatrio
Atribudo

0.10
0.13
0.25
0.13
0.09
0.12
0.02
0.06
0.05
0.05

0.10
0.23
0.48
0.61
0.70
0.82
0.84
0.90
0.95
1.00

09
10 22
23 47
48 60
61 69
70 81
82 83
84 89
90 94
95 99

Tabela semelhante pode ser construda para a espera pela chegada do mecnico.
Tempo de
Espera (minutos)
5
10
15

Probabilidade

Probabilidade
Acumulada

No Aleatrio
Atribudo

0.60
0.30
0.10

0.60
0.90
1.00

00 59
60 89
90 99

147

4.5 Exemplos de modelos de Simulao

Com os dados das tabelas acima, podemos fazer a simulao 1 , que apresentou os
seguintes resultados para o rolamento 1:

Sequencia

No Aleatrio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

62
85
89
24
99
27
89
12
2
34
7
75
22
97
37

ROLAMENTO 1
Vida
Vida Acumulada
(Horas)
(Horas)
1.400
1.700
1.700
1.200
1.900
1.200
1.700
1.100
1.000
1.200
1.000
1.500
1.100
1.900
1.200

1.400
3.100
4.800
6.000
7.900
9.100
10.800
11.900
12.900
14.100
15.100
16.600
17.700
19.600
20.800

No Aleatrio
61
10
46
28
55
64
63
75
54
67
90
14
80
84
9

Espera
(Min)
10
5
5
5
5
10
10
10
5
10
15
5
10
10
5
P
=120

Podemos observar na planilha que para cada sequencia ou seja, rolamento novo,
gerado um nmero aleatrio que indica qual a vida til daquela rolamento. Tendo
quebrado, aps esta vida til, o mecnico chamado e um 2o nmero aleatrio
gerado para definir o tempo de espera at a troca do rolamento ser iniciada.
Quando a vida acumulada ultrapassa 20.000 horas, ou seja a durao da simulao,
paramos a execuo do processo.
Processos semelhantes foram executados para os outros 2 rolamentos, como visto a
seguir.

A simulao foi realizada utilizando-se a planilha EXCEL

148

Introduo Simulao

Sequencia

N Aleatrio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

89
47
60
3
40
64
9
30
32
8
94
66
53
17
72
0

Sequencia

N Aleatrio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

49
26
2
83
21
20
60
34
63
69
44
76
55
85
21
5

ROLAMENTO 2
Vida
Vida Acumulada
(Horas)
(Horas)
1.700
1.200
1.300
1.000
1.200
1.400
1.000
1.200
1.200
1.000
1.800
1.400
1.300
1.100
1.500
1.000

N Aleatrio

1.700
2.900
4.200
5.200
6.400
7.800
8.800
10.000
11.200
12.200
14.000
15.400
16.700
17.800
19.300
20.300

ROLAMENTO 3
Vida
Vida Acumulada
(Horas)
(Horas)
1.300
1.200
1.000
1.600
1.100
1.100
1.300
1.200
1.400
1.400
1.200
1.500
1.300
1.700
1.100
1.000

1.300
2.500
3.500
5.100
6.200
7.300
8.600
9.800
11.200
12.600
13.800
15.300
16.600
18.300
19.400
20.400

58
88
20
98
26
97
41
79
0
3
58
84
61
43
15
97

N Aleatrio
44
45
72
87
19
81
56
74
93
36
71
97
59
81
21
1

Espera
(Min)
5
10
5
15
5
15
5
10
5
5
5
10
10
5
5
15
P
= 130

Espera
(Min)
5
5
10
10
5
10
5
10
15
5
10
15
5
10
5
5
P
=130

149

4.5 Exemplos de modelos de Simulao

Com os dados obtidos na simulao, podemos calcular o custo da situao atual:


Custo dos rolamentos = (15 + 16 + 16) $16 = $752
Custo da espera pelo mecnico = (120 + 130 + 130) $5 = $1.900
Custo da mquina parada = (15 + 16 + 16) 20 $5 = $4.700
Custo do mecnico = (15 + 16 + 16) 20 $0.20 = $188
Custo Total = 752 + 1.900 + 4.700 + 188 = $7.540
A simulao da situao proposta apresentou os seguintes resultados:

Seq.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

ROL. 1
Vida
NA
hr

ROL. 2
Vida
NA (hr)

ROL. 3
Vida
NA (hr)

96
70
96
48
32
36
41
71
4
69
13
36
75
76
71
98
98
68

2
7
46
17
93
94
17
2
22
21
89
12
57
78
5
43
47
61

34
47
49
42
20
98
53
20
86
0
58
66
29
95
86
22
60
57

1.900
1.500
1.900
1.300
1.200
1.200
1.200
1.500
1.000
1.400
1.100
1.200
1.500
1.500
1.500
1.900
1.900
1.400

1.000
1.000
1.200
1.100
1.800
1.800
1.100
1.000
1.100
1.100
1.700
1.100
1.300
1.500
1.000
1.200
1.200
1.400

1.200
1.200
1.300
1.200
1.100
1.900
1.300
1.100
1.700
1.000
1.300
1.400
1.200
1.900
1.700
1.100
1.300
1.300

1a
Quebra

Vida
Acum.

ESPERA
NA
(Min)

1.000
1.000
1.200
1.100
1.100
1.200
1.100
1.000
1.000
1.000
1.100
1.100
1.200
1.500
1.000
1.100
1.200
1.300

1.000
2.000
3.200
4.300
5.400
6.600
7.700
8.700
9.700
10.700
11.800
12.900
14.100
15.600
16.600
17.700
18.900
20.200

21
36
21
7
58
83
14
75
5
65
15
12
32
2
31
51
20
35

5
5
5
5
5
10
5
10
5
10
5
5
5
5
5
5
5
5
P
=105

NA = No aleatrio
Feita a simulao da situao proposta, podemos calcular os custos:
Custo dos rolamentos = (18 3) $ 16 = $864
Custo da espera pelo mecnico = 105 $5 = $525
Custo da mquina parada = 18 40 $5 = $3.600
Custo do mecnico = 18 40 $0.20 = $144
Custo Total = 864 + 525 + 3.600 + 144 = $5.133
Assim a simulao 2 nos mostrou que a situao proposta bem melhor em termos
econmicos.

Para ser, estatisticamente confivel, as simulaes acima teriam que ser realizadas (replicadas)
muitas vezes e a avaliao econmica calculada com a mdia dos resultados.

150

Introduo Simulao

4.5.2 Fila com uma estao de servio


Uma loja tem somente 1 atendente. Os fregueses chegam aleatoriamente com intervalo, entre eles, variando de 1 a 8 minutos. Cada valor possvel do intervalo
entre chegadas tem a mesma probabilidade de ocorrncia, como mostrado na tabela a seguir:
Tempo entre chegadas (minutos)

Probabilidade

1
2
3
4
5
6
7
8

0.125
0.125
0.125
0.125
0.125
0.125
0.125
0.125

A durao do atendimento aos clientes varia de 1 a 6 minutos com probabilidades


mostradas na tabela a seguir:
Durac,o do servic,o (minutos)

Probabilidade

1
2
3
4
5
6

0.10
0.20
0.30
0.25
0.10
0.05

Como no exemplo anterior, temos que construir tabelas relacionando as probabilidades com nmeros aleatrios gerados:
Tempo entre
chegadas (min)
1
2
3
4
5
6
7
8

Probabilidade

Probabilidade
Acumulada

No Aleatrio
Atribudo

0.125
0.125
0.125
0.125
0.125
0.125
0.125
0.125

0.125
0.250
0.375
0.500
0.625
0.750
0.875
1.000

000 124
125 249
250 374
375 499
500 624
625 749
750 874
875 999

151

4.5 Exemplos de modelos de Simulao

Durac,o do
servic,o (min)
1
2
3
4
5
6

Probabilidade

Probabilidade
Acumulada

No Aleatrio
Atribudo

0.10
0.20
0.30
0.25
0.10
0.05

0.10
0.30
0.60
0.85
0.95
1.00

09
10 29
30 59
60 84
85 94
95 99

A simulao para os primeiros 20 clientes apresentou os seguintes resultados:


NA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

913
727
15
948
309
922
753
235
302
109
93
607
738
359
888
108
212
493
535

Intervalo entre Instante


Durac,o Incio Espera Fim do Tempo total Tempo ocioso
chegadas(min) chegada NA servic,o servic,o
fila
servic,o na loja(min) atendente(min)
8
6
1
8
3
8
7
2
3
1
1
5
6
3
8
1
2
4
5

0
8
14
15
23
26
34
41
43
46
47
48
53
59
62
70
71
73
77
82
=

84
10
74
53
17
79
91
67
89
38
32
94
79
5
79
84
52
55
30
50

4
1
4
3
2
4
5
4
5
3
3
5
4
1
5
4
3
3
2
3
68

0
8
14
18
23
26
34
41
45
50
53
56
61
65
66
71
75
78
81
83

0
0
0
3
0
0
0
0
2
4
6
8
8
6
4
1
4
5
4
1
56

4
9
18
21
25
30
39
45
50
53
56
61
65
66
71
75
78
81
83
86

4
1
4
6
2
4
5
4
7
7
9
13
12
7
9
5
7
8
6
4
124

0
4
5
0
2
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
18

Podemos, a partir da simulao, inferir alguns resultados:


O tempo de espera mdio de um cliente foi de 2,8 minutos. Este valor encontrado
de :
Tempo mdio de espera (min) =
=

Tempo total dos clientes na fila (min)


56
20

Nmero total de clientes


= 2, 8 minutos

A probabilidade de que um cliente tenha que esperar na fila 65%. Isto vem de:
Probabilidade(espera) =
=

Nmero de clientes que esperaram


13
20

Nmero total de clientes


= 0, 65

152

Introduo Simulao

A proporo de tempo que o atendente fica ocioso 21%. Vem de:


Prob. do atendente estar ocioso =
=

Tempo total de ociosidade (min)


Durao da Simulao
18
86

= 0.21

O atendente est ocupado 100 21 = 79% do tempo.


O tempo de servio mdio de 3.4 minutos. Podemos obt-lo de:
Tempo de servio mdio (min) =

Durao total do servio

Nmero total de clientes


68
=
= 3.4 minutos
20

Este resultado pode ser comparado com o tempo de servio esperado achando-se a
mdia da distribuio do tempo de servio usando a equao:
E(s) =

sp(s)

s=0

Temos ento:
1(0.10) + 2(0.20) + 3(0.30) + 4(0.25) + 5(0.10) + 6(0.05) = 3.2 minutos
O resultado da simulao um pouco maior porque o tamanho da simulao foi
pequeno. Quanto maior a durao da simulao mais o resultado se aproximar de
3.2 minutos.
Algum que fosse tomar decises estaria interessado nos resultados obtidos acima.
Obviamente seria necessrio uma simulao mais demorada para se conseguir resultados mais precisos.
Entretanto, algumas inferncias podem ser obtidas: A maioria dos clientes tem que
esperar mas a espera no excessiva. O atendente no fica muito tempo ocioso.
O objetivo a ser alcanado vai depender do balano entre o custo de espera e o custo
de se colocar mais atendentes.

4.6 A gerao de Nmeros Aleatrios

153

4.6 A gerao de Nmeros Aleatrios


Pudemos reparar nos exemplos acima que a chave para simular eventos aleatrios
discretos a gerao de nmeros aleatrios. Como se usa o computador para fazer
a simulao, precisamos de mtodos rpidos e eficientes para ger-los.
Os nmeros aleatrios, gerados em computador, no so realmente aleatrios
pois veremos mais adiante que eles so gerados em seqncias que podem ser
reproduzidas, o que viola o princpio bsico da aleatoriedade.
Como contornar este fato ? Se os nmeros passam por uma srie de testes
estatsticos de aleatoriedade ento, para efeitos prticos, podemos considerlos como se fossem realmente aleatrios.
Por este fato eles so conhecidos como nmeros Pseudo-aleatrios. comum se
usar, em simulao, a expresso nmeros aleatrios mas considere, sempre, isto
como um sinnimo de nmeros pseudo-aleatrios.

4.6.1 Propriedades desejveis de um gerador de nmeros aleatrios


Um gerador de nmeros aleatrios deveria possuir todas as caractersticas abaixo:
1. Aleatoriedade
essencial que a seqncia gerada exiba as propriedades dos nmeros verdadeiramente aleatrios. Este comportamento aleatrio deve ser confirmado
por testes estatsticos.
2. Grande Perodo
Todos os geradores de nmeros aleatrios so baseados no uso de frmulas
determinsticas precisas. Estas frmulas fazem com que, a partir de um valor inicial chamado semente, seja gerada uma srie de nmeros aleatrios
(pseudo-aleatrios). Em um determinado ponto da srie, voltamos a semente
e como a srie gerada por uma frmula, a srie, obviamente, se repete.
A quantidade de nmeros gerados at a sequencia comear a se repetir chamada de Perodo.
Sempre desejamos o maior perodo possvel. Para propsitos prticos o perodo deve ser, no mnimo, grande o suficiente para no se repetir durante
uma simulao.
3. Eficincia Computacional
Desde que um estudo de simulao necessita de que um grande nmero de
variveis aleatrias sejam geradas, o gerador de nmeros aleatrios deve gerar estes nmeros gastando o mnimo de tempo de computador. Alm disto
o gerador no deve usar muita memria. Com a evoluo dos computadores
esta ltima propriedade est perdendo um pouco de sua importncia.

154

Introduo Simulao

4.7 Mtodos para a gerao de nmeros aleatrios


4.7.1 Mtodo dos quadrados mdios
Um dos primeiros mtodos de gerao de nmeros aleatrios foi o chamado Mtodo
dos Quadrados Mdios. Este mtodo foi desenvolvido por John Von Neumann na
dcada de 40. A tcnica comea com um nmero inicial chamado de semente. O nmero ento elevado ao quadrado e os dgitos do meio do nmero gerado formam o
prximo nmero da seqncia. Este segundo nmero ento elevado ao quadrado
e os nmeros do meio do nmero gerado so o prximo nmero da seqncia e assim por diante...
Exemplo: Gerar uma seqncia de nmeros aleatrios de 4 dgitos. Seja 3187 a
semente normalmente rotulada como x0 .
x0 = 3187
(3187)2 = 10 | 1569 | 69 x1 = 1569
(1569)2 = 02 | 4617 | 61 x2 = 4617
(4617)2 = 21 | 3166 | 89 x3 = 3166
(3166)2 = 10 | 0235 | 56 x4 = 235
(235)2 = 00 | 0552 | 25 x5 = 552
(552)2 = 00 | 3047 | 04 x6 = 3047
e assim por diante...
Este mtodo apresenta 2 problemas srios: normalmente os perodos so curtos e
se o no gerado 0, o mtodo s apresenta zero!
Exemplo: Gerar, pelo mtodo dos quadrados mdios, nmeros pseudo aleatrios de
2 dgitos tendo 44 como semente.
x0 = 44
(44)2 = 1 | 93 | 6 x1 = 93
(93)2 = 8 | 64 | 9 x2 = 64
(64)2 = 4 | 09 | 6 x3 = 9
(9)2 = 0 | 08 | 1 x4 = 8
(8)2 = 0 | 06 | 4 x5 = 6
(6)2 = 0 | 03 | 6 x6 = 3
(3)2 = 0 | 00 | 9 x7 = 0
(0)2 = 0 | 00 | 0 x8 = 0

4.7.2 Mtodos Congruentes


A maioria dos mtodos usados hoje em dia so variaes do chamado Mtodo Congruente Linear, cujos pontos bsicos foram propostos por Lehmer em 1951. Neste
mtodo os nmeros aleatrios, gerados sucessivamente, so obtidos da relao recursiva:
xn+1 = (axn + c)

mod m

4.7 Mtodos para a gerao de nmeros aleatrios

155

A funo z mod t d o resto inteiro da diviso de z por t (ex. 23 mod 5 = 3).


A constante a chamada de multiplicador, a constante c o incremento e m o
mdulo. Como antes, x0 a semente.
Quando c = 0 chamado de Mtodo da Congruncia Multiplicativa.
Por ser, estatisticamente, mais pobre que o Mtodo da Congruncia Multiplicativa
(c = 0), o Mtodo da Congruncia Linear (c 6= 0) no praticamente mais usado.
Exemplo: Gerar nmeros aleatrios usando o mtodo congruente linear tendo os
seguintes valores: x0 = 0 , a = 2 , c = 3 e m = 10.
x0 = 0
x1 = (2 0 + 3) mod 10 = 3
x2 = (2 3 + 3) mod 10 = 9
x3 = (2 9 + 3) mod 10 = 1
x4 = (2 1 + 3) mod 10 = 5
x5 = (2 5 + 3) mod 10 = 3
x6 = (2 3 + 3) mod 10 = 9
Como podemos observar o perodo desta gerao foi muito curto (=4).
Ficou claro tambm, neste pequeno exemplo, que o nmero aleatrio gerado o
resto inteiro da diviso por m, ou seja um nmero inteiro entre 0 e (m 1).
Neste ponto devemos esclarecer que a frmula congruente necessria para se
gerar nmeros aleatrios mas no suficiente. A seleo dos valores de a, c, m e x0
afeta drasticamente as propriedades estatsticas da gerao bem como o tamanho
do perodo.
Veremos, mais adiante, como um gerador, desenvolvido pela IBM, foi usado por
quase 2 dcadas para, posteriormente, se descobrir que ele era um gerador muito
ruim.

4.7.3 Eficincia computacional


Outro fator que tambm tem que ser levado em conta nos geradores de nmeros
aleatrios a sua velocidade e eficincia computacional.
Para isto os geradores usam como mdulo (m) uma potncia de 2 (m = 2b ) pois os
computadores trabalham na base 2.
A grande vantagem que isto traz que o resultado da operao (axi ) mod m pode
ser feita simplesmente desprezando-se os b0 s algarismos mais a esquerda do resultado do produto axi , ou seja acha-se o resto da diviso sem dividir.
Para exemplificar vamos ver um exemplo trabalhando com a base 10 a qual estamos mais acostumados.
Seja m = 102 = 100, ou seja b = 2, a = 19 e x0 = 63.
x0 = 63
x1 = 19 63 mod 100 = 1197 mod 100 = desprezando os 2 (b) algarismos
mais a esquerda = 97
x2 = 19 97 mod 100 = 1843 mod 100 = 43
x3 = 19 43 mod 100 = 0817 mod 100 = 17
..
.

156

Introduo Simulao

Na verdade os geradores de nmeros aleatrios usam os mais diversos artifcios


computacionais para serem geis e ocuparem pouca memria.

4.7.4 Nmeros Aleatrios uniformemente distribudos em [0,1)


Todos os exemplos que vimos at agora geraram nmeros aleatrios distribudos
entre 0 e m 1. No exemplo anterior, os nmeros podero estar entre 0 e 99, pois
sero o resto inteiro da diviso por 100.
Isto verdade para qualquer mtodo de gerao de nmeros aleatrios: Eles geram
nmeros inteiros no intervalo [0, m 1].
Todo gerador de nmeros aleatrios divide o nmero gerado por m. Desta forma, o
que se obtm uma distribuio uniformemente distribuda em [0,1).
Assim, por exemplo, para a = 13, m = 67, x0 = 1, teramos:
x0 = 1 67 = 0.0149253
x1 = (ax0 ) mod m = (13 1) mod 67 = 13 67 = 0.1940298
x2 = (13 13) mod 67 = 35 67 = 0.522388
x3 = (13 35) mod 67 = 53 67 = 0.7910447
..
.
Alguns geradores dividem por m 1 o que d uma distribuio [0,1]. Na verdade
como m sempre um nmero muito grande, dividir por m ou (m1) irrelevante.

4.8 Geradores Congruentes


4.8.1 RANDU, RAND1 e RAND2
O mtodo da congruncia multiplicativa pode facilmente ser implementado em linguagens de programao como Fortran, Pascal, Basic, etc..., por exemplo.
Um gerador, chamado de RANDU, foi desenvolvido pela IBM e durante quase 20
anos foi usado por praticamente todos os modelos de simulao nas dcadas de 60
e 70.
A RANDU utilizava os seguintes valores:
a = 65.539 e
m = 231 = 2.147.483.648
Logo, a RANDU utilizava:
xn+1 = (65539 xn ) MOD (2147483648)
A funo, codificada em Pascal3 a seguinte: (a rotina original era em Fortran)

Todos os programas listados a seguir foram desenvolvidos com a finalidade exclusiva de ilustrar
a matria apresentada. No houve qualquer preocupao em otimiz-los ou usar as tcnicas mais
refinadas de programao.
Outro fator a ser considerado que certos comandos usados nos programas podem no funcionar,
dependendo do compilador que estiver sendo usado.

4.8 Geradores Congruentes

157

IX : Longint ;
Function RANDU(KX: Integer ) : Real ;
Var
IY : Longint ;
Begin
I f KX <> 0 Then IX : = KX;
IY : = 65539 IX ;
I f IY < 0 Then IY : = IY + 2147483647 + 1 ;
IX : = IY ;
RANDU : = IY / 2147483647;
End;

Obs. Como o programa fora overflow, a condio overflow checking deve estar
desligada quando da compilao/execuo.
A seguir um programa em Pascal que utiliza o gerador acima. O programa inicialmente inicializa o gerador e ento gera e imprime os 5 primeiros nmeros aleatrios.

{USO DA RANDU}
{$N+ }
{ $E+ }
Var
SEMENTE, I : Integer ;
ALEAT: Real ;
{ $I RANDU. PAS}
Begin
Writeln ( Qual a semente (1 - 32767) ? ) ;
Readln (SEMENTE) ;
ALEAT: = RANDU(SEMENTE) ;
SEMENTE : = 0 ;
For I :=1 to 5 do
Begin
ALEAT : = RANDU(SEMENTE) ;
Writeln (ALEAT ) ;
End;
End.

Para uma semente igual a 313, os nmeros impressos por este programa so:
0.0573133, 0.2579080, 0.0316280, 0.8685962 e 0.9269251.
Na dcada de 70 diversos trabalhos provaram que a rotina RANDU apresentava
resultados estatisticamente ruins.
Um dos problemas era a formao de trelias (lattice em ingls) quando se traava
grficos com sucessivos nmeros aleatrios gerados pela RANDU.

158

Introduo Simulao

Vamos imaginar um cubo com lados igual a 1, ou seja variando de 0 a 1. Vamos marcar pontos neste cubo com coordenadas (x1 , x2 , x3 ),(x2 , x3 , x4 ) , (x3 , x4 , x5 ), etc...,
onde xi um nmero gerado pela RANDU.
Vamos marcar 5.000 pontos. O que deveramos esperar ?
Que o cubo fosse preenchido uniformemente pelos pontos plotados. O que ocorre no
entanto que todos os pontos aparecem em 15 planos formando o que parece ser
uma trelia (da o nome). Nenhum ponto cai entre os planos, como podemos ver no
grfico abaixo:

Este aspecto, identificado claramente na RANDU, fez com que esta rotina fosse
abandonada como geradora de nmeros aleatrios.
A partir da apareceram diversas alternativas sendo que veremos a seguir duas
das mais usadas na atualidade.
A 1a est baseada na seguinte relao e atualmente usada pela IBM:
xi+1 = (16807 xi ) mod 2147483647
Rotulamos ela como RAND1 mas, exceto a RANDU, nenhum outro gerador tem
nome prprio.

4.8 Geradores Congruentes

159

A rotina a seguir, a sua implementao em Pascal. A funo a ser chamada tem


em KX a semente e no prprio nome da funo (RAND1), o no aleatrio entre [0, 1].

IX : Longint ;
Function RAND1(KX: Integer ) : Real ;
Const
A = 16807;
B15 = 32768;
B16 = 65536;
P = 2147483647;
Var
XHI ,XALO,LEFTLO, FHI ,K: Longint ;
Begin
I f KX <> 0 Then IX : = KX;
XHI : = IX Div B16 ;
XALO : = ( IX XHI B16 ) A;
LEFTLO : = XALO Div B16 ;
FHI : = XHI A + LEFTLO;
K : = FHI Div B15 ;
IX : = ( ( ( XALOLEFTLOB16)P) + ( FHIKB15 ) B16)+K;
I f IX < 0 Then IX : = IX + P ;
RAND1 : = IX 4.656612875E10;
End;

Na 1a vez em que a funo chamada deve-se passar a semente. A partir da 2a


chamada, o argumento passado deve ser igual a 0 e a funo retorna um nmero
aleatrio em [0,1].
O programa a seguir imprime os 5 primeiros nmeros aleatrios gerados a partir
de uma semente escolhida.

{USO DA RAND1}
{$N+ }
{ $E+ }
Var
SEMENTE, I : Integer ;
ALEAT: Real ;
{ $I RAND1. PAS}
Begin
Writeln ( Qual a semente ? (1 - 32767) ) ;
Readln (SEMENTE) ;
ALEAT: = RAND1(SEMENTE) ;
SEMENTE : = 0 ;
For I :=1 to 5 do
Begin
ALEAT : = RAND1(SEMENTE) ;
Writeln (ALEAT ) ;
End;
End.

Para uma semente igual a 313 os 5 primeiros nmeros gerados so: 0.1713277,
0.5044658, 0.5574913, 0.7561453 e 0.5342253.

160

Introduo Simulao

A 2a opo, atualmente muito usada, est baseada no trabalho de Marse e Robert


[Marse, K., and S. D. Roberts: Implementing a Portable Fortran Uniform (0,1) Generator, Simulation, 41: 135-139 (1983)] e tem sua base na relao:
xi+1 = (630360016 xi ) mod 2147483647
Para facilitar o acesso aos nmeros gerados, a implementao que veremos a seguir
permite a gerao de 21.474 sries diferentes de nmeros aleatrios.
Na 1a vez que a rotina chamada deve-se usar U = RAND2(n, 0) onde n um
nmero que indica qual das 21.474 sries se deseja usar. Nesta 1a chamada ser
gerada a semente para a srie n(0 n 21.473). A semente na verdade a srie
que se deseja usar.
A partir da 2a chamada deve-se usar U = RAND2(n, 1).
Uma regra importante, que em cada srie s devem ser considerados os 100.000
primeiros nmeros aleatrios gerados. Assim se for preciso gerar mais de 100.000
nmeros aleatrios, deve-se mudar de srie.
A seguir apresentamos a sua implementao em Pascal:
ZRNG: Longint ;
Function RAND2(ISTRM, ISEED : Integer ) : Double ;
Const
MULT1 = 24112;
MULT2 = 26143;
B2E15 = 32768;
B2E16 = 65536;
MODLUS = 2147483647;
Var
HI15 , HI31 ,LOW15,LOWPRD: Longint ;
OVFLOW, ZI : Longint ;
Z , Z1 : Double ;
I : Integer ;
Begin
I f ISEED = 0 Then
Begin
Z : = 1973272912;
For I :=1 to ISTRM do
Begin
Z1 : = ( 7 1 5 . 0 Z ) / 2 1 4 7 4 8 3 6 4 7 . 0 ;
Z : = ( 7 1 5 . 0 Z ) Int ( Z1 )2147483647.0;
Z1 : = ( 1 0 5 8 . 0 Z ) / 2 1 4 7 4 8 3 6 4 7 . 0 ;
Z : = ( 1 0 5 8 . 0 Z ) Int ( Z1 )2147483647.0;
Z1 : = ( 1 3 8 5 . 0 Z ) / 2 1 4 7 4 8 3 6 4 7 . 0 ;
Z : = ( 1 3 8 5 . 0 Z ) Int ( Z1 )2147483647.0;
End;
ZRNG : = Trunc ( Z ) ;
End;
ZI : = ZRNG;
HI15 : = ZI Div B2E16 ;
LOWPRD : = ( ZIHI15B2E16 ) MULT1;
LOW15 : = LOWPRD Div B2E16 ;
HI31 : = HI15MULT1+LOW15;
OVFLOW : = HI31 Div B2E15 ;
ZI : = ( ( (LOWPRDLOW15B2E16)MODLUS) + ( HI31OVFLOWB2E15 ) B2E16)+OVFLOW;
I f ZI < 0 Then ZI : = ZI + MODLUS;
HI15 : = ZI DIV B2E16 ;
LOWPRD : = ( ZIHI15B2E16 ) MULT2;

4.8 Geradores Congruentes

161

LOW15 : = LOWPRD Div B2E16 ;


HI31 : = HI15MULT2+LOW15;
OVFLOW : = HI31 Div B2E15 ;
ZI : = ( ( (LOWPRDLOW15B2E16)MODLUS) + ( HI31OVFLOWB2E15 ) B2E16)+OVFLOW;
I f ZI < 0 Then ZI : = ZI + MODLUS;
ZRNG : = ZI ;
RAND2 : = ( 2 ( ZI / 2 5 6 ) + 1 ) / 1 6 7 7 7 2 1 6 . 0 ;
End;

Apresentamos a seguir um programa que obtm e imprime os 5 primeiros nmeros


gerados pela RAND2. Deve-se observar que, no programa, a varivel U, que recebe
o no aleatrio deve ser definida como Double Precison.

{USO DA RAND2}
{$N+ }
{ $E+ }
Var
SERIE , I ,PARM1: Integer ;
ALEAT: Double ;
{ $I RAND2. PAS}
Begin
PARM1 : = 0 ;
Writeln ( Qual a serie ? (0 - 21473) ) ;
Readln (SERIE ) ;
ALEAT: = RAND2( SERIE ,PARM1) ;
PARM1 : = 1 ;
For I :=1 to 5 do
Begin
ALEAT : = RAND2( SERIE ,PARM1) ;
Writeln (ALEAT ) ;
End;
End.

Para n = 2, os 5 primeiros nmeros gerados so 0.436457, 0.556578, 0.617909,


0.768997 e 0.595177.

4.8.2 Mtodos com perodos maiores


Os mtodos vistos anteriormente ainda so muito usados, inclusive a RANDU!. No
entanto, para simulaes mais complexas, seus perodos so relativamente curtos
(109 ) o que tem levado ao desenvolvimento de novos mtodos de gerao de nmeros
aleatrios, todos com a caracterstica comum de ter grandes perodos (> 1030 ).
Para exemplificar o que dissemos acima, vamos apresentar a seguir um gerador
que rotulamos de RAND3.
Ele est baseado no trabalho Toward a Universal Random Number Generator
George Marsaglia, Florida State University Report: FSU-SCRI-87-50 (1987).
Ele se enquadra em uma classe de geradores chamados de Geradores de Fibonacci
e esto baseados na seguinte recorrencia:
xi = (xip + xik ) mod m onde p > k > 0

162

Introduo Simulao

Obviamente que o mtodo precisa de p sementes para se obter o primeiro nmero


gerado pela frmula. Tambm como o perodo muito grande, necessrio se ter
tcnicas para se pegar pedaos do gerador para quando se precisar de mais uma
gerao em uma simulao. A RAND3, apresentada a seguir, j tem todos estes
clculos embutidos e a partir de somente 2 sementes, fornecidas inicialmente, ele
cria sequencias de nmeros aleatrios diferentes.
Como dissemos, o mtodo pede 2 sementes. A 1a no intervalo [1, 31328] e a 2a no
intervalo [1,30081].
Para cada par de sementes gerada uma srie de nmeros aleatrios com perodo
de 1030 .
Assim, variando-se as sementes temos 900.000.000 de sries, cada uma com 1030
nmeros aleatrios.
A rotina em Pascal (RAND3) a seguinte:
Type
VETOR = Array [ 1 . . 9 8 ] of Double ;
Var
I97 , J97 : Longint ;
C,CD,CM : Double ;
U: VETOR;
Function RAND3( Var IJ ,KL,PARAM: Longint ) : Double ;
VAR
S , T , UNI : Double ;
J , K, L , II , JJ ,M: Longint ;
Begin
I f PARAM = 0 Then
Begin
I97 : = 9 7 ;
J97 : = 3 3 ;
UNI : = 0 ;
IJ : = IJ Mod 31329;
KL : = KL Mod 30082;
PARAM : = ( ( IJ Div 177) Mod 177) + 2 ;
J : = ( IJ Mod 177) + 2 ;
K : = ( (KL Div 169) Mod 178) + 1 ;
L : = KL Mod 169;
For I I : = 1 to 97 do
Begin
S := 0 . 0 ;
T := 0 . 5 ;
For JJ : = 1 to 24 do
Begin
M : = ( (PARAMJ ) Mod 179)K;
M : = M Mod 179;
PARAM : = J ;
J : = K;
K : = M;
L : = (53L+1) Mod 169;
I f ( ( LM) Mod 64) >= 32 Then S : = S + T ;
T := T 0 . 5 ;
End;
U[ I I ] : = S ;
End;
C : = 362436.0 / 16777216.0;
CD : = 7654321.0 / 16777216.0;

4.8 Geradores Congruentes

163

CM : = 16777213.0 / 16777216.0;
I97 : = 9 7 ;
J97 : = 3 3 ;
RAND3 : = UNI ;
Exit ;
End;
UNI : = U[ I97 ] U[ J97 ] ;
I f UNI < 0 . 0 Then UNI : = UNI + 1 . 0 ;
U[ I97 ] : = UNI;
I97 : = I97 1;
I f I97 = 0 Then I97 : = 9 7 ;
J97 : = J97 1;
I f J97 = 0 Then J97 : = 9 7 ;
C : = C CD;
I f C < 0 . 0 Then C : = C + CM;
UNI : = UNI C ;
I f UNI < 0 Then UNI : = UNI + 1 . 0 ;
RAND3 : = UNI;
End;

A seguir temos um programa que usa a RAND3 e imprime os 5 primeiros nmeros


gerados a partir de um par de sementes.
A chamada que inicializa a rotina, onde I e J so as sementes escolhidas, deve
ser do tipo ALEAT = RAND3(I,J,0). A varivel que recebe o nmero aleatrio
deve ser de preciso dupla. As chamadas subsequentes so feitas com ALEAT =
RAND3(0,0,1).

{USO DA RAND3}
{$N+ }
{ $E+ }
Var
SEMENTE1,SEMENTE2, PARAM : Longint ;
I : Integer ;
ALEAT : Double ;
{ $I RAND3. PAS}
Begin
PARAM : = 0 ;
Writeln ( Qual a 1a. SEMENTE ? (1 - 31328) ) ;
Readln (SEMENTE1) ;
Writeln ( Qual a 2a. SEMENTE ? (1 - 30081) ) ;
Readln (SEMENTE2) ;
ALEAT: = RAND3(SEMENTE1,SEMENTE2,PARAM) ;
PARAM : = 1 ;
For I :=1 to 5 do
Begin
ALEAT : = RAND3(SEMENTE1,SEMENTE2,PARAM) ;
Writeln (ALEAT ) ;
End;
End.

Com a 1a semente igual a 1802 e a 2a igual a 9373 os 5 primeiros nmeros gerados


so: 0.116391, 0.964849, 0.88297, 0.420487 e 0.495856.

164

Introduo Simulao

Um outro gerador tem um perodo ainda maior que a RAND3. A sua descrio
pode ser vista no paper An object-oriented random-number package with many
long streams and substreams Pierre LEcuyer, Richard Simard, E.Jack Chen and
W. David Kelton - 2000. Vamos, para efeito de referncia futura, cham-lo de
RAND4.
Este gerador pertence a uma classe de geradores que nada mais so do que a combinao de 2 ou mais geradores congruentes, baseados na condio de que o perodo
de 2 geradores embaralhados maior do que de um gerador s. No caso deste
gerador, seu perodo de 3.1 1057 . As frmulas de gerao so:
Ai = (1403580 Ai2 810728 Ai3 )mod(232 209)
Bi = (527612 Bi1 1370589 Bi3 )mod(232 22853)
Yi = (Ai Bi )mod(232 209)
Yi
Ui = 32
2 208
O mtodo permite que sejam geradas 1019 sries diferentes, cada uma delas com
1038 nmeros aleatrios !!
So necessrias 6 sementes iniciais, no intervalo [1; 4294967087]. Por ser muito
grande, no colocamos aqui o programa.

4.8.3 Geradores de nmeros aleatrios embutidos


Em algumas linguagens tais como C, BASIC, PASCAL, etc..., existe um gerador de
nmeros aleatrios embutido na prpria linguagem. Tambm existem geradores
em programas aplicativos tais como Excel, Lotus 123, etc...
Exemplificando, temos a seguir um programa em BASIC para gerar nmeros aleatrios uniformemente distribudos no intervalo [0, 1].
INPUT Qual a Semente ? ; semente
RANDOMIZE( semente )
FOR i = 1 to 5
X = RND
PRINT X
NEXT i
END

O comando RANDOMIZE inicializa, com a semente, o gerador de nmeros aleatrios que um comando da prpria linguagem.
Executando-se este programa no QuickBasic com a semente 1813, obtemos os nmeros:
0.9601251, 0.4571911, 0.7457173, 0.9784663 e 0.6727366.
Obviamente, usando-se outro compilador BASIC, obteremos nmeros diferentes.
Os geradores embutidos, normalmente, no so muito confiveis e devem ser
usados com reservas.

4.9 Nmeros aleatrios com outras distribuies uniformes

165

4.9 Nmeros aleatrios com outras distribuies uniformes


Uma vez que temos uma rotina para gerar nmeros uniformemente distribudos
no intervalo [0, 1], fcil ger-los com outras distribuies uniformes.

4.9.1 Variveis aleatrias contnuas


Suponha que X uma varivel aleatria contnua, uniformemente distribuda dentro do intervalo (a, b), onde a < b. Faamos U representar uma varivel aleatria
uniformemente distribuda no intervalo [0, 1]. Aplicando proporcionalidade simples temos:

X a
U 0
=
ba
10
ou
X = a + (b a) U
Assim muito simples gerar X de um dado U , conhecendo-se a e b.
Exemplo: Fazer um comando Pascal para gerar variveis aleatrias contnuas uniformemente distribudas no intervalo (1,4).
X := 1. + 3. * RAND(0);
Obs. (RAND pode ser a RAND1, RAND2, etc...)

4.9.2 Variveis aleatrias discretas


Agora suponha que a e b sejam quantidades inteiras, a < b, e X uma varivel aleatria discreta (s valores inteiros) uniformemente distribuda no intervalo
(a, b). Assim X s pode tomar valores iguais a a, a + 1, a + 2, ..., b 1, b.
Se U contnua e uniformemente distribuda no intervalo [0, 1], ento:
X = a + INT[(b a + 1) U ]
onde INT a funo inteiro, ou seja a que elimina as decimais.
Observe que como 0 U < 1, a quantidade INT{(b a + 1) U } toma os valores
inteiros 0, 1, 2, .., (b a). Logo X s pode tomar valores a, a + 1, a + 2, ..., b.
Vejamos um exemplo: Seja a = 2 e b = 7.
Assim X ser igual a:
X = 2 + INT[(7 2 + 1) U ]
X = 2 + INT[6 U )]
X = 2+ um valor de 0 a 5, inteiro.
Logo X pode ser 2, 3, 4, 5, 6 ou 7.

166

Introduo Simulao

Exemplo: Fazer uma rotina Pascal que simule se jogar, simultaneamente, 2 dados.
Var
X, X1 , X2 : Integer ;
.................
X1 : = 1 + TRUNC( 6 . 0 RAND( 0 ) ) ;
X2 : = 1 + TRUNC( 6 . 0 RAND( 0 ) ) ;
X : = X1 + X2 ;
.................

4.10 Testes estatsticos


Existem numerosos testes estatsticos para garantir que os nmeros pseudos-aleatrios esto sendo gerados aleatoriamente.
Depois do que aconteceu com a RANDU, existe, hoje em dia, uma cobrana muito
maior na execuo de testes estatsticos rigorosos nos novos geradores lanados.
A gerao de nmeros aleatrios em computador, no s em funo do crescimento
do uso das tcnicas de Simulao mas tambm em funo do crescimento da criptografia, uma das reas em que h mais pesquisas hoje em dia.
O conceito importante a se guardar que s devemos usar geradores de nmeros
aleatrios que tenham sido amplamente testados.
Tambm, a no ser em aplicaes mais simples, devemos fugir de geradores cuja
frmula de gerao seja desconhecida, como acontece com muitos geradores embutidos.

4.11 Alguns modelos elementares de Simulao


A maioria dos problemas estudados atravs de modelos de simulao que acontecem na vida real necessitam do uso de variveis aleatrias no uniformemente
distribudas.
No entanto, como ilustrao, vamos ver 2 exemplos de simulao em que s necessrio ter um gerador de nmeros aleatrios uniformemente distribudos.
Nos 2 exemplos a seguir a subrotina RAND que aparece nos fluxogramas uma
subrotina genrica podendo ser a RAND1, a RAND2, uma RAND embutida de linguagem, etc...

4.11.1 Jogo de Dados (Craps Game)


Um jogo popular nos E.Unidos o chamado craps no qual 2 dados so jogados
simultaneamente. Se a soma for 7 ou 11 voc ganha. Se a soma for 2, 3 ou 12 voc
perde. Se der 4, 5, 6, 8, 9 ou 10 voc tem direito a jogar os dados outra vez. Se a
soma for 7 voc perde. Se repetir o que deu na 1a jogada voc ganha. Se no, voc
pode jogar os dados outra vez e assim por diante.
Podemos construir um fluxograma mostrando a lgica do jogo:

167

4.11 Alguns modelos elementares de Simulao

INCIO

LER N
SOMA = 0

LAO
1 a

DE
N

CALL
SUB1

SOMA =
SOMA +
RESULTADO

FIM DO
LAO

IMPRIMIR
SOMA

SUB1

CALL SUB2

X = 7 ou
11?

SIM
RESULTADO=1

RETURN

SUB2
NO
X = 2,3
ou 12?

SIM
RESULTADO=0

RETURN

X1 = 1 +
INT(6*RAND)

NO
K = X

X2 = 1 +
INT(6*RAND)

CALL SUB2

X = K ?

SIM

RESULTADO=1

RETURN

RESULTADO=0

RETURN

X1 = X1 +
X2

NO
NO
X = 7 ?

SIM

RETURN

A probabilidade de se ganhar neste jogo de 49,3% obtida da teoria das probabilidades.


O programa a seguir a implementao do jogo. Ele permite que a cada execuo
se escolha quantas vezes queremos jogar.
O programa usa a RAND2 como subrotina para gerar nmeros aleatrios.

{CRAPS GAME}
{$N+ }

168

Introduo Simulao

{ $E+ }
Var
ISER ,N,PARAM, I ,JOGADA,GUARDA,RESULTADO: Integer ;
U: Double ;
SOMA: Real ;
{ $I RAND2. PAS}
{ }
Procedure SUB1 ( Var JOGADA: Integer ) ;
Begin
JOGADA : = TRUNC( ( 1 . 0 + 6 . 0 RAND2( ISER ,PARAM) ) ) +
TRUNC( ( 1 . 0 + 6 . 0 RAND2( ISER ,PARAM) ) ) ;
End;
{ }
PROCEDURE SUB2 ( Var RESULTADO: Integer ) ;
Begin
SUB1(JOGADA) ;
I f (JOGADA = 7 ) or (JOGADA = 11) then
Begin
RESULTADO : = 1 ;
EXIT ;
End;
I f (JOGADA = 2 ) or (JOGADA = 3 ) or (JOGADA = 12) then
Begin
RESULTADO : = 0 ;
EXIT ;
End;
GUARDA : = JOGADA;
RESULTADO : = 9;
Repeat
SUB1(JOGADA) ;
I f JOGADA = 7 then
Begin
RESULTADO : = 0 ;
EXIT ;
End;
I f JOGADA = GUARDA then
Begin
RESULTADO : = 1 ;
EXIT ;
End;
Until (RESULTADO = 0 ) or (RESULTADO = 1 ) ;
EXIT ;
End;
{ }
Begin
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Jogos ? ) ;
Readln (N) ;
SOMA : = 0 . 0 ;

4.11 Alguns modelos elementares de Simulao

169

For I : = 1 to N do
Begin
SUB2(RESULTADO) ;
SOMA : = SOMA + RESULTADO;
End;
Writeln (SOMA / N) ;
End.

A execuo deste programa 5 vezes, com as sries, escolhidas ao acaso, 1234, 4561,
7893, 8750 e 15700 da RAND2, cada vez com 5.000 jogos, apresentou os seguintes
resultados:
Execuc,o

Ganho (%)

1
2
3
4
5
Mdia

48,62
49,90
48,00
49,76
50,16
49,29

4.11.2 Avaliao de Integrais


Uma aplicao interessante da simulao o clculo de integrais definidas, no
sentido em que um mtodo probabilstico usado para resolver um problema determinstico. Este procedimento chamado de Mtodo de Monte Carlo e no
necessita mais do que um gerador de nmeros aleatrios uniformemente distribudos em [0, 1].
Suponha que se deseja calcular a integral:
Z b
f (x)dx
I=
a

onde f (x) representa uma curva contnua no intervalo a x b. Precisamos


conhecer tambm o valor mximo (Fmax ) da funo no intervalo (a, b).
As etapas do mtodo de Monte Carlo so:
1. Gerar um no aleatrio uniformemente distribudo, ux , cujo valor est entre a
e b.
2. Calcular f (ux ).
3. Gerar um 2o nmero aleatrio, uy , cujo valor est entre 0 e Fmax . Estes 2
nmeros aleatrios (ux e uy ) representam as coordenadas de um ponto no
espao.

170

Introduo Simulao

4. Comparar uy com f (ux ). Se uy no for maior que f (ux ) ento o ponto (ux ,
uy ) cair em cima ou abaixo da curva.
5. Repita n vezes as etapas de 1 a 4. Aps isto determine o percentual de pontos
caindo em cima ou abaixo da curva (P ERC), ou seja dentro da rea que a
prpria integral.
O valor da integral obtido por:
I = P ERC (b a) Fmax
O fluxograma a seguir ilustra o procedimento:
INCIO

LER N

PERC =
K / N

K = 0

I = PERC *
(B-A)*FMAX

LAO DE
1 a N
IMPRIMIR I
UX=A +
(B-A)*RAND
FIM
UY=FMAX *
RAND

UY <=
F(UX) ?

SIM

K = K + 1

NO
FIM DO
LAO

Exemplo:
Considere a integral abaixo:
Z 1p
1 x2 dx = 0, 785398
0
F(x)

1
f(ux )
uy

-1

ux

4.11 Alguns modelos elementares de Simulao

171

A rea da parte do grfico abaixo da curva, no 1o quadrante, o valor da integral


procurada.
Neste exemplo a 0 e b 1. O Fmax 1.
A rea do retngulo igual a (b a) Fmax , ou seja 1 1 = 1. A integral, ou
seja, a rea abaixo da curva igual a (b a) Fmax % de pontos que caem em
cima ou abaixo da curva.
O programa abaixo implementa o mtodo de Monte Carlo para clculo de integrais
definidas.
{CALCULO DE INTEGRAIS}
{$N+ }
{ $E+ }
VAR
ISER ,N,PARAM, I : Integer ;
U: Double ;
X,FMAX, LIMINF,LIMSUP,UX,UY,FUX,IDENTRO,INTEGRAL: Real ;
{ $I RAND2. PAS}
{ }
Function VFUNCAO (X : Real ) : Real ;
Begin
VFUNCAO : = SQRT(1XX ) ;
End;
{ }
Begin
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Numeros ? ) ;
Readln (N) ;
Writeln ( Qual o valor de FMAX ? ) ;
Readln (FMAX) ;
Writeln ( Qual o LIMITE INFERIOR ? ) ;
Readln (LIMINF ) ;
Writeln ( Qual o LIMITE SUPERIOR ? ) ;
Readln (LIMSUP ) ;
I f (LIMINF >= LIMSUP) Then
Begin
Writeln ( ERRO NOS LIMITES ) ;
Exit ;
End;
IDENTRO : = 0 ;
For I : = 1 to N do
Begin
U : = RAND2( ISER ,PARAM) ;
UX : = LIMINF + (U (LIMSUP LIMINF ) ) ;
U : = RAND2( ISER ,PARAM) ;
UY : = U FMAX;
FUX : = VFUNCAO(UX) ;
I f UY <= FUX then IDENTRO : = IDENTRO +1;
End;
INTEGRAL : = (IDENTRO / N) (LIMSUPLIMINF) FMAX;
Writeln ( VALOR DA INTEGRAL = ,INTEGRAL ) ;
End.

172

Introduo Simulao

O programa utiliza a RAND2 para a gerao dos nmeros aleatrios, enquanto que
na rotina VFUNCAO colocada a funo a ser integrada.
Executando-se este programa, com a srie 1234 da RAND2, e escolhendo-se 10.000
nmeros o valor da integral dado pelo programa como igual a 0.7828.
Como ilustrao do mtodo, a tabela abaixo mostra os primeiros 6 passos do processo:
N

ux

f (ux )

uy

uy f (ux ) ?

1
2
3
4
5
6

0.7054
0.5795
0.3019
0.0140
0.8144
0.0453

0.7086
0.8149
0.9533
0.9999
0.5801
0.9989

0.5334
0.2895
0.7747
0.7607
0.7090
0.4140

SIM
SIM
SIM
SIM
NO
SIM

1
2
3
4
4
5

Deve ter ficado claro que o mtodo de Monte Carlo no uma maneira eficiente de
se resolver integrais. Existem, no entanto, um conjunto de integrais extremamente
complexas que podem ser obtidas pelo mtodo.
A integral usada no ltimo exemplo apropriada para se reforar a regra bsica do uso da simulao: Problemas que tem soluo analtica nunca devem
ser resolvidos por meio da simulao. Solues analticas daro sempre respostas mais exatas que as respostas fornecidas pela simulao.
Quando, no entanto, no se tem soluo analtica, a simulao pode dar respostas bastante aproximadas.

Variveis aleatrias no uniformes


Na maioria dos problemas do mundo real, as variveis aleatrias seguem distribuies diferentes da uniforme tal como a de Poisson, a Exponencial, a Normal,
etc...
Neste captulo veremos como nmeros aleatrios uniformemente distribudos em
[0, 1] podem ser usados para gerar variveis aleatrias no uniformes como as citadas acima.

4.12 O Mtodo da Transformao Inversa


Suponha que ns temos uma funo de densidade probabilstica f (x) e ns desejamos gerar uma varivel aleatria que siga esta funo de densidade probabilstica.
O mtodo da Transformao Inversa oferece uma maneira simples de resolver o
problema.
O mtodo est baseado no fato de que a distribuio acumulada, F (x), tem valor
entre 0 e 1 ou seja, no mesmo intervalo de um no aleatrio, U , gerado por um gerador bsico. Assim sendo, tendo U , consideramos este valor como sendo um valor de
F (x). Para achar o valor de x, basta resolver a equao, ou seja achar a inversa de
F (x).

173

4.12 O Mtodo da Transformao Inversa

claro que o mtodo no serve para qualquer distribuio porque para algumas,
como a normal por exemplo, impossvel se achar a inversa da distribuio acumulada.

4.12.1 A Distribuio Exponencial


Muitos problemas de simulao necessitam usar a distribuio exponencial. Isto
verdadeiro nos problemas que envolvem chegadas e partidas (filas), como a simulao de uma agncia bancria, da sada (caixas) de um supermercado, de um
aeroporto, etc...
A funo de densidade probabilstica da exponencial igual a:
f (x) = ex
onde uma constante conhecida e a mdia () igual a
A funo de distribuio acumulada dada por:

F (x) = 1 ex
De modo a se fazer uso do mtodo da transformao inversa devemos resolver para
x. Assim temos:
x=

ln[1 F (x)]

Como a funo acumulada, F (x), uniformemente distribuda em [0, 1], a quantidade 1 F (x) tambm ser uniformemente distribuda em [0, 1]. Assim podemos
escrever

1
x=
ln(U )

onde x a varivel aleatria exponencialmente distribuda e U um nmero aleatrio uniformemente distribudo em [0, 1], gerado por um gerador bsico.
Suponha agora que x deve ser maior ou igual a um determinado valor positivo, x0 ,
isto 0 < x0 < x. A equao acima fica:

1
ln(U )
x = x0

Tambm a relao entre e torna-se:


=

1
( x0 )

Exemplo: Gerar 6 variveis exponencialmente distribudas maiores que 2 e com


mdia igual a 6, usando os seguintes nmeros uniformemente distribudos em
[0, 1]: 0.35, 0.97, 0.22, 0.15, 0.60, 0.43. Temos ento: x0 = 2 e = 6.

174

Introduo Simulao

Calculando o valor de :
1
=
= 0.25
(6 2)
Podemos ento
calcular
as variveis da distribuio exponencial:

1
X1 = 2
ln(0.35) = 6.20
0.25
1
X2 = 2
ln(0.97) = 2.12
0.25
Os demais valores encontrados so:
i
1
2
3
4
5
6

Ui
0.35
0.97
0.22
0.15
0.60
0.43

Xi
6.20
2.12
8.06
9.59
4.04
5.38

O programa a seguir, escrito em Pascal, implementa a gerao de nmeros aleatrios que seguem a distribuio exponencial.
O programa permite que se informe quantos nmeros queremos gerar, o limite inferior da distribuio e a mdia.
Como sada ele imprime os 5 primeiros nmeros gerados e a mdia de todos os nmeros gerados.
O programa usa a RAND2 como o gerador bsico de nmeros aleatrios.

{EXPONENCIAL}
{$N+ }
{ $E+ }
Var
ISER ,N,PARAM, I ,NUMIMP: Integer ;
U,SOMA: Double ;
LIMINF,ALFA,MEDIA: Real ;
{ $I RAND2. PAS}
{ }
Function EXPONENCIAL (ALFA, LIMINF : Real ; U: Double ) : Double ;
Begin
EXPONENCIAL : = LIMINF ( 1 /ALFA) LN(U) ;
End;
{ }
Begin
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Numeros ? ) ;
Readln (N) ;
Writeln ( Qual o LIMITE INFERIOR ? ) ;
Readln (LIMINF ) ;

175

4.12 O Mtodo da Transformao Inversa

Writeln ( Qual a Media ? ) ;


Readln (MEDIA) ;
ALFA : = 1 . 0 / (MEDIA LIMINF ) ;
SOMA : = 0 . 0 ;
NUMIMP : = 0 ;
For I : = 1 to N do
Begin
U : = RAND2( ISER ,PARAM) ;
U : = EXPONENCIAL(ALFA, LIMINF,U) ;
NUMIMP : = NUMIMP + 1 ;
I f NUMIMP < 6 then Writeln (U) ;
SOMA : = SOMA + U;
End;
Writeln ( MEDIA = ,SOMA / N) ;
End.

Em uma execuo, usando-se a srie 1234 da RAND2, em que foram gerados 10.000
nmeros com limite inferior igual a 2 e mdia igual a 6, os seguintes resultados
foram apresentados:
Primeiros 5 nmeros gerados: 3.27141; 3.841; 7.65564; 3.50536 e 5.19165.
Mdia dos 10.000 nmeros gerados: 5.97737.

4.12.2 A Distribuio Triangular


A distribuio Triangular tem um uso bastante difundido em Simulao, principalmente quando os dados disponveis so poucos ou mesmo inexistentes.
Sua forma permite que dados no conclusivos sejam a ela adaptados, e seus limites,
ou seja A (limite inferior), C (moda) e B (limite superior) sejam interpretados como
os parmetros mais pessimista (A), mais provvel (C) e mais otimista (B) de uma
determinada varivel, como pode ser visto na figura a seguir.
f(x)

x
C

176

Introduo Simulao

Sua funo de densidade dada por:


f (x) =
=

2(x A)

para A x C

(C A)(B A)
2(B x)

para C x B

(B C)(B A)

Podemos usar o Mtodo da Transformao Inversa mas a descontinuidade da funo faz com que seja necessrio desenvolver 2 geradores separados: um para x C
e um para x C. Inicialmente vamos desenvolver um para x C.
A funo de distribuio acumulada F (x) igual a:
Z x
2(x A)
F (x) =
dx
A (C A)(B A)
x2 2Ax + A2
=
(C A)(B A)
Como F (x) e U (gerado por uma RAND), variam em [0 , 1], podemos escrever:
U =

x2 2Ax + A2
(C A)(B A)

Fazendo as simplificaes necessrias, chegamos a :


p
x = A + U (C A)(B A)
Esta frmula pode ser usada se U <

(C A)

, pois a razo

(C A)

(B A)
(B A)
nal a rea sob o tringulo de x = A at x = C.
Para x C temos:
Z x
2(B x)
dx
F (x) = U =
C (B C)(B A)
x2 + 2Bx B 2
U =
+1
(B C)(B A)
Operando, para obter o valor de x, obtemos:
p
x = B (1 U )(B C)(B A)
Esta frmula deve ser usada quando U

(C A)

.
(B A)
A media e o desvio padro da Distribuio Triangular so:
x =

A+B+C
s

3
A2 + B 2 + C 2 AB AC BC
18

proporcio-

4.12 O Mtodo da Transformao Inversa

177

Exemplo: Gerar 3 variveis aleatrias seguindo a Distribuio Triangular com limite inferior (A) igual a 2, moda (C) igual a 4 e limite superior (B) igual a 8. Use
os seguintes nmeros aleatrios uniformemente distribudos em [0, 1]: 0.35, 0.97,
0.22.
(C A)
A frmula a ser usada depende se o valor de U maior ou menor que
ou
(B A)
(4 2)
seja
= 0.3333. Assim para o 1o U, 0.35 (maior que 0.33) temos:
(8 2)
p
X1 = 8 (1 0.35)(8 4)(8 2) = 4.050
Para 0.97 (maior)
temos:
p
X2 = 8 (1 0.97)(8 4)(8 2) = 7.151
Para 0.22 (menor)
temos:
p
X3 = 2 + 0.22(4 2)(8 2) = 3.624
O programa a seguir, escrito em Pascal, implementa a gerao de nmeros aleatrios que seguem a distribuio triangular.
O programa permite que se informe quantos nmeros queremos gerar e os 3 parmetros (A,B e C) da distribuio.
Como sada ele imprime os 5 primeiros nmeros gerados, a mdia e o desvio padro
dos nmeros gerados.
O programa usa a RAND2 como o gerador bsico de nmeros aleatrios.
{TRIANGULAR}
{$N+ }
{ $E+ }
Var
ISER ,N,PARAM, I ,NUMIMP: Integer ;
U,SOMA: Double ;
A, B, C,MEDIA, DESVIO, T : Real ;
{ $I RAND2. PAS}
{ }
Function TRIANGULAR (A, B, C : Real ;U : Double ) : Real ;
Begin
I f (U < ( ( CA ) / ( BA ) ) ) then
TRIANGULAR : = A + Sqrt (U (CA) ( BA ) )
Else TRIANGULAR : = B Sqrt ((1U) ( BC) ( BA ) ) ;
End;
{ }
BEGIN
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Numeros ? ) ;
Readln (N) ;
Writeln ( Qual o limite inferior (A) ? ) ;
Readln (A ) ;
Writeln ( Qual o limite superior (B) ? ) ;
Readln (B ) ;
Writeln ( Qual a moda (C) ? ) ;
Readln (C ) ;

178

Introduo Simulao

SOMA : = 0 . 0 ;
DESVIO : = 0 . 0 ;
NUMIMP : = 0 ;
For I : = 1 to N do
Begin
U : = RAND2( ISER ,PARAM) ;
T : = TRIANGULAR(A, B, C,U) ;
NUMIMP : = NUMIMP + 1 ;
I f NUMIMP < 6 then Writeln ( T ) ;
SOMA : = SOMA + T ;
DESVIO : = DESVIO + T T ;
End;
Writeln ( MEDIA = ,SOMA / N) ;
Writeln ( DESVIO PADRAO = ,SQRT( ( DESVIO/N)(SOMA/N) (SOMA/N ) ) ) ;
END.

Em uma execuo, usando-se a srie 1234 da RAND2, em que foram gerados 10.000
nmeros com os parmetros A = 2, B = 8 e C = 4 da triangular, os seguintes
resultados foram obtidos:
Primeiros 5 nmeros gerados: 5.4436, 5.0246, 3.7082, 5.2564 e 4.3677.
A mdia dos 10.000 nmeros gerados foi igual a 4,66286. A mdia terica igual a
4,66666.
O desvio padro obtido foi igual a 1,239. O desvio padro terico igual a 1,247.

4.12.3 A Distribuio de Weibull


A Distribuio de Weibull tem larga aplicao na rea industrial pois inmeros resultados, principalmente sobre a de vida til de um componente, tem mostrado que
variveis que medem este tipo de resultado se ajustam muito bem a esta distribuio terica.
Ela tem 2 parmetros: que reflete o tamanho da unidade na qual a varivel aleatria x medida e que d a forma (shape) da distribuio.
Sua funo de densidade acumulada F (x) igual a:
!
x
F (x) = 1 e

para x, , > 0

Sua mdia e desvio padro so:

1
x =
+1

v "
u


2 #
u
2
1
+1
+1
= t 2

Podemos usar a transformao inversa para gerar variveis aleatrias seguindo a


Distribuio de Weibull. Temos ento:
!
x
U = F (x) = 1 e

4.12 O Mtodo da Transformao Inversa

179

Resolvendo para x em funo de U, chegamos a :


x = ( ln U )1/
Exemplo: Gerar 6 variveis aleatrias seguindo a Distribuio de Weibull com
= 4 e = 1. Use os seguintes nmeros aleatrios uniformemente distribudos em [0, 1]: 0.35, 0.97, 0.22, 0.15, 0.60, 0.43.
Temos ento:
X1 = 4 ( ln 0.35)1/1 = 4.1993
X2 = 4 ( ln 0.97)1/1 = 0.1218
X3 = 4 ( ln 0.22)1/1 = 6.0565
X4 = 4 ( ln 0.15)1/1 = 7.5885
X5 = 4 ( ln 0.60)1/1 = 2.0433
X6 = 4 ( ln 0.43)1/1 = 3.3759
O programa a seguir, escrito em Pascal, implementa a gerao de nmeros aleatrios que seguem a Distribuio de Weibull.
O programa permite que se informe quantos nmeros queremos gerar e os 2 parmetros ( e ) da distribuio.
Como sada, ele imprime os 5 primeiros nmeros gerados, a mdia e o desvio padro dos nmeros gerados.
O programa usa a RAND2 como o gerador bsico de nmeros aleatrios.

{WEIBULL}
{$N+ }
{ $E+ }
Var
ISER ,N,PARAM, I ,NUMIMP: Integer ;
U,SOMA: Double ;
ALFA,BETA,MEDIA,DESVIO: Real ;
{ $I RAND2. PAS}
{ }
Function WEIBULL (ALFA, BETA: Real ;U: Double ) : Real ;
Begin
WEIBULL : = ALFA EXP ( ( 1 /BETA) LN(LN(U ) ) ) ;
End;
{ }
Begin
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Numeros ? ) ;
Readln (N) ;
Writeln ( Qual o valor de Alfa ? ) ;
Readln (ALFA) ;
Writeln ( Qual o valor de Beta ? ) ;
Readln (BETA ) ;
SOMA : = 0 . 0 ;
NUMIMP : = 0 ;
DESVIO : = 0 . 0 ;

180

Introduo Simulao

For I : = 1 to N do
Begin
U : = RAND2( ISER ,PARAM) ;
U : = WEIBULL(ALFA,BETA,U) ;
SOMA : = SOMA + U;
DESVIO : = DESVIO + U U;
NUMIMP : = NUMIMP + 1 ;
I f NUMIMP < 6 then Writeln (U) ;
End;
Writeln ( MEDIA = ,SOMA / N) ;
Writeln ( DESVIO PADRAO = ,SQRT( ( DESVIO/N)(SOMA/N) (SOMA/N ) ) ) ;
End.

Em uma execuo, usando-se a srie 1234 da RAND2, em que foram gerados 10.000
nmeros com os parmetros = 4 e = 1 da Weibull, os seguintes resultados
foram obtidos:
Primeiros 5 nmeros gerados: 1.2714, 1.8409, 5.6556, 1.5053 e 3.1916.
A mdia dos 10.000 nmeros gerados foi igual a 3,977. A mdia terica igual a 4.
O desvio padro obtido foi igual a 3,9212. O desvio padro terico igual a 4.

4.13 Simulao Direta


O mtodo da Transformao Inversa s pode ser usado se uma expresso analtica
puder ser obtida para a funo de distribuio acumulada e ela possa ser resolvida
explicitamente para x. Existem muitas situaes onde isto no possvel, como
para a distribuio normal, por exemplo. Uma tcnica alternativa para estes casos
o uso da simulao direta do processo sob considerao.

4.13.1 A distribuio de Poisson


A distribuio de Poisson est intimamente relacionada com a distribuio exponencial e usada em muitos problemas de simulao que envolvem chegadas e
partidas. Em particular, se o tempo entre sucessivas chegadas (ou partidas) exponencialmente distribudo, ento o nmero de eventos que ocorrem em um intervalo
de tempo finito t ser distribudo de acordo com uma distribuio de Poisson.
Suponha que as marcaes (x) na linha do tempo mostrada abaixo, sejam os instantes da chegada de clientes em um posto bancrio:

I
I
0

E1

I
x

E2

E3

I
x

E4

I
x

I
I
t

tempo

Seja Ei uma varivel aleatria exponencialmente distribuda com mdia 1/t, ou


seja o intervalo entre as chegadas.

181

4.13 Simulao Direta

Fazendo Sk =

k
X

Ei , ento para o intervalo t, temos:

i=1

Sk t < sk+1 , onde k a varivel Poisson, com mdia t, ou seja o nmero de


chegadas no intervalo t (k = 3 no exemplo grfico acima).
J vimos (pgina 173) que podemos gerar variveis exponencialmente (Ei ) atravs
da relao:
1
Ei = ln Ui

Logo a varivel poisson o menor valor de k que garante que:


k
X

Ei

i=1

ou
k
X
1
ln Ui
t

i=1
que pode ser escrita como:
t

k
X

ln Ui

i=1

ou
t ln

k
Y

Ui

i=1

Fazendo t = 1 e exponenciando ambos os lados chegamos a:


k
Y

Ui e

i=1

Assim sendo, a varivel poisson o menor valor de k que garante a relao acima
ou (k 1) quando na execuo do produtrio, acontece:
k
Y

Ui > e

i=1

A figura a seguir mostra o fluxo do procedimento:

182

Introduo Simulao

POISSON

e -lambda

Gerar U

P=

Ui

No

<

Sim

POISSON=K

Exerccio: Gerar 5 variveis aleatrias governadas pela distribuio de Poisson


com mdia () = 1.5. Faa os clculos usando o seguinte conjunto de nmeros
aleatrios uniformemente distribudos: 0.35, 0.97, 0.22, 0.15, 0.60, 0.43, 0.79, 0.52,
0.81, 0.65, 0.20, 0.57, 0.10.
Como = 1.5 temos e = 0.223. De maneira a obter a primeira varivel aleatria, 3 nmeros aleatrios uniformemente distribudos so necessrios como podemos ver a seguir:
(0.35)(0.97) = 0.340 > 0.223
(0.35)(0.97)(0.22) = 0.075 < 0.223
Logo X1 = (3 1) = 2.
De forma semelhante obtemos: X2 = 0 pois 0.15 < 0.223
X3 = 2 pois (0.60)(0.43)(0.79) = 0.204 < 0.223
X4 = 3 pois (0.52)(0.81)(0.65)(0.20) = 0.055 < 0.223
X5 = 1 pois (0.57)(0.10) = 0.057 < 0.223
O programa a seguir, escrito em Pascal, implementa a gerao de nmeros aletrios que seguem a distribuio de Poisson.
O programa permite que se informe quantos nmeros queremos gerar e o valor de
.
Como sada ele imprime os 5 primeiros nmeros gerados e a mdia de todos os nmeros gerados.
O programa usa a RAND2 como o gerador bsico de nmeros aleatrios.

4.13 Simulao Direta

183

{POISSON}
{$N+ }
{ $E+ }
Var
ISER ,N,PARAM, I ,NUMIMP, J : Integer ;
U,SOMA: Double ;
LAMBDA,MEDIA, F : Real ;
{ $I RAND2. PAS}
{ }
Function POISSON ( F : Real ;U: Double ; ISER ,PARAM: Integer ) : Integer ;
Var
VMULT : Real ;
NUMPOISSON : Integer ;
Begin
NUMPOISSON : = 0 ;
VMULT : = 1 . 0 ;
While (VMULT > F ) do
Begin
U : = RAND2( ISER ,PARAM) ;
VMULT : = VMULT U;
NUMPOISSON : = NUMPOISSON + 1 ;
End;
POISSON : = NUMPOISSON 1 ;
End;
{ }
Begin
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Numeros ? ) ;
Readln (N) ;
Writeln ( Qual o valor de Lambda ? ) ;
Readln (LAMBDA) ;
F : = EXP(LAMBDA) ;
SOMA : = 0 . 0 ;
NUMIMP : = 0 ;
For I : = 1 to N do
Begin
J : = POISSON( F ,U, ISER ,PARAM) ;
SOMA : = SOMA + J ;
NUMIMP : = NUMIMP + 1 ;
I f NUMIMP < 6 then Writeln ( J ) ;
End;
Writeln ( MEDIA = ,SOMA / N) ;
End.

Em uma execuo, usando-se a srie 1234 da RAND2, em que foram gerados 10.000
nmeros com = 1.5, os seguintes resultados foram obtidos:
Primeiros 5 nmeros gerados: 2, 2, 0, 3 e 1.
A mdia () dos 10.000 nmeros gerados foi igual a 1.5074.

184

Introduo Simulao

4.13.2 A distribuio Normal


Muitos tipos de eventos aleatrios so governados pela distribuio Normal. Esta
distribuio caracterizada por uma densidade probabilstica dada por:

1 x

f (x) =
e 2
2
onde a mdia e o desvio padro. A funo de densidade normal no pode
ser integrada analticamente e desta forma no podemos usar o mtodo da transformao inversa. Podemos, entretanto, uma vez mais, gerar a varivel aleatria
desejada por simulao direta. Para fazer isto considere o caso especial onde = 1
(x )
eZ =
.

Temos ento:

Z2
1
f (Z) = e 2
2
Esta a funo de densidade probabilstica para a distribuio normal padronizada (standard).
Pelo teorema do limite central sabemos que a soma de N variveis aleatrias uniN
formemente distribudas em [0, 1] segue uma distribuio Normal com =
e
2
r
N
.
=
12
Podemos escrever:
N
P

N
Ui
2
Z = i=1 r
N
12
Como esta considerao vlida para N > 10, podemos fazer N = 12 para facilitar o procedimento computacional, obtendo ento:
Z=

12
X

Ui 6

i=1

Temos agora um procedimento simples para gerar uma varivel aleatria normalmente padronizada. Simplesmente somamos 12 nmeros aleatrios uniformemente distribudos em [0, 1] e ento subtramos 6, obtendo um valor para Z. Se desejarmos gerar uma varivel normal com mdia e desvio padro , geramos primeiro Z e ento calculamos a varivel aleatria desejada X usando: X = + Z.

4.13 Simulao Direta

185

Exemplo: Gerar uma varivel aleatria que siga a distribuio normal com mdia 5
e desvio padro 2. Use o seguinte conjunto de variveis aleatrias uniformemente
distribudas em [0, 1]: 0.35, 0.97, 0.22, 0.15, 0.60, 0.43, 0.79, 0.52, 0.81, 0.65, 0.20,
0.57.
A soma dos 12 nmeros d:
12
X
Ui = 0.35 + 0.97 + . . . + 0.57 = 6.26
i=1

Calculamos ento o valor de Z = (6.26 6) = 0.26.


A varivel aleatria normal pode ento ser obtida por:
X = 5 + (2)(0.26) = 5.52
O programa a seguir, escrito em Pascal, implementa a gerao de nmeros aleatrios que seguem a distribuio Normal.
O programa permite que se informe quantos nmeros queremos gerar, a mdia e
o desvio padro .
Como sada ele imprime os 6 primeiros nmeros gerados, a mdia de todos os nmeros gerados e o desvio padro.
O programa usa a RAND2 como o gerador bsico de nmeros aleatrios.
{NORMAL I }
{$N+ }
{ $E+ }
Var
ISER ,N,PARAM, I ,NUMIMP, J : Integer ;
U,SOMA, Z ,DESVIO: Double ;
MU,DELTA: Real ;
{ $I RAND2. PAS}
{ }
Function NORMAL(MU,DELTA: Real ;U: Double ; ISER ,PARAM: Integer ) : Double ;
Var
SOMA12 : Double ;
Begin
SOMA12 : = 0 . 0 ;
For J : = 1 to 12 do
Begin
U : = RAND2( ISER ,PARAM) ;
SOMA12 : = SOMA12 + U;
End;
NORMAL : = MU + DELTA (SOMA12 6 . 0 ) ;
End;
{ }
Begin
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Numeros ? ) ;
Readln (N) ;
Writeln ( Qual a media ? ) ;
Readln (MU) ;
Writeln ( Qual o desvio padrao ? ) ;
Readln (DELTA ) ;
SOMA : = 0 . 0 ;

186

Introduo Simulao

NUMIMP : = 0 ;
DESVIO : = 0 . 0 ;
For I : = 1 to N do
Begin
Z : = NORMAL(MU,DELTA,U, ISER ,PARAM) ;
SOMA : = SOMA + Z ;
DESVIO : = DESVIO + ( Z Z ) ;
NUMIMP : = NUMIMP + 1 ;
I f NUMIMP < 6 then Writeln ( Z ) ;
End;
Writeln ( MEDIA = ,SOMA / N) ;
DESVIO : = SQRT( ( DESVIO / N) (SOMA /N) (SOMA / N ) ) ;
Writeln ( DESVIO PADRAO = ,DESVIO ) ;
END.

Em uma execuo, usando-se a srie 1234 da RAND2, em que foram gerados 10.000
nmeros com = 5 e = 2, os seguintes resultados foram obtidos:
Primeiros 5 nmeros gerados: 5.60458, 4.2534, 4.63261, 3.92964 e 6.6514.
A mdia () dos 10.000 nmeros gerados foi igual a 4,994.
O desvio padro () foi igual a 1,998.
Um mtodo alternativo para gerar variveis aleatrias normalmente distribudas
usar uma das seguintes expresses:
p
Z = (2 ln U1 ) sin (2U2 )
ou
p
Z = (2 ln U1 ) cos (2U2 )
Ambas as expresses geram variveis aleatrias normais padronizadas.
Observe que o mtodo anterior necessita de 12 valores de Ui para cada valor de
Z enquanto que este ltimo s necessita de 2. Assim aparenta ser mais eficiente
do ponto de vista computacional mas o clculo de logartimo, raiz quadrada e seno
(ou coseno) muito mais demorado que uma soma. Na verdade os 2 mtodos se
equivalem em termos de tempo computacional.
Exemplo: Gere 2 nmeros aleatrios que sigam uma distribuio normal com mdia 5 e desvio padro 2. Use o seguinte conjunto de nmeros aleatrios uniformemente distribudos em [0, 1]: 0.35, 0.97, 0.22, 0.15.
Temospento:
Z1 = (2) ln (0.35) sin [(2)(0.97)] = 0.27
X1 = p
5 + (2)(0.27) = 4.46
Z1 = (2) ln (0.22) sin [(2)(0.15)] = 1.41
X2 = 5 + (2)(1.41) = 7.82
O programa a seguir, escrito em Pascal, implementa a gerao de nmeros aleatrios que seguem a distribuio Normal utilizando a frmula do seno.
O programa permite que se informe quantos nmeros queremos gerar, a mdia e
o desvio padro .
Como sada ele imprime os 6 primeiros nmeros gerados, a mdia de todos os nmeros gerados e o desvio padro.
O programa usa a RAND2 como o gerador bsico de nmeros aleatrios.

4.13 Simulao Direta

187

{NORMAL I I }
{$N+ }
{ $E+ }
Var
ISER ,N,PARAM, I ,NUMIMP: Integer ;
U,SOMA, Z ,DESVIO: Double ;
MU,DELTA: Real ;
{ $I RAND2. PAS}
{ }
Function NORMAL(MU,DELTA: Real ;U: Double ; ISER ,PARAM: Integer ) : Double ;
Begin
U : = SQRT(( 2.0 LN(RAND2( ISER ,PARAM) ) ) ) SIN ( 2 . 0 PI
RAND2( ISER ,PARAM) ) ;
NORMAL : = MU + DELTA U;
End;
{ }
Begin
PARAM : = 0 ;
Writeln ( Qual a Serie (0 a 21473) ? ) ;
Readln ( ISER ) ;
U : = RAND2( ISER ,PARAM) ;
PARAM : = 1 ;
Writeln ( Quantos Numeros ? ) ;
Readln (N) ;
Writeln ( Qual a media ? ) ;
Readln (MU) ;
Writeln ( Qual o desvio padrao ? ) ;
Readln (DELTA ) ;
SOMA : = 0 . 0 ;
NUMIMP : = 0 ;
DESVIO : = 0 . 0 ;
For I : = 1 to N do
Begin
Z : = NORMAL(MU,DELTA,U, ISER ,PARAM) ;
SOMA : = SOMA + Z ;
DESVIO : = DESVIO + ( Z Z ) ;
NUMIMP : = NUMIMP + 1 ;
I f NUMIMP < 6 then Writeln ( Z ) ;
End;
Writeln ( MEDIA = ,SOMA / N) ;
DESVIO : = SQRT( ( DESVIO / N) (SOMA /N) (SOMA / N ) ) ;
Writeln ( DESVIO PADRAO = ,DESVIO ) ;
End.

Em uma execuo, usando-se a srie 1234 da RAND2, em que foram gerados 10.000
nmeros com = 5 e = 2, os seguintes resultados foram obtidos:
Primeiros 5 nmeros gerados: 3.82918, 1.902, 6.83981, 4.57527 e 3.6889.
A mdia () dos 10.000 nmeros gerados foi igual a 5,01063.
O desvio padro () foi igual a 1,98415.
Vimos somente algumas funes de distribuio mas, hoje em dia, existem mtodos capazes de gerar variveis aleatrias para praticamente qualquer distribuio
terica conhecida.

188

Introduo Simulao

4.14 Um software para simular filas de espera


Veremos a seguir um programa (simulacao)4 , que simula um sistema de filas e permite que se escolha o nmero de estaes que prestam servio, o nmero mximo
de clientes que podem ficar no sistema, a distribuio do intervalo entre chegadas
(exponencial, normal, uniforme ou emprica), a distribuio da durao do servio
prestado (exponencial, normal, uniforme ou emprica) e a durao da simulao.
Pode-se escolher tambm a unidade de tempo a ser usada.
Pode-se determinar tambm o nmero de replicaes (at o mximo de 100), ou seja
quantas vezes deseja-se executar a simulao para o mesmo conjunto de dados de
entrada.
O programa usa a RAND4 como o gerador de nmeros aleatrios e usa sries diferentes, entre 1 e 50, para o intervalo entre chegadas e para a durao do servio.
As sementes e as sries usadas so escolhidas, aleatoriamente, pelo programa. No
caso de se executar replicaes, sries e sementes diferentes so criadas em cada
uma das execues individuais da replicao.
Os resultados mostrados na sada so, no caso das replicaes, as mdias obtidas
com as diversas execues.

4.14.1 Alguns exemplos usando o programa Simulao


Como exemplo do uso do programa, vamos simular um sistema de filas que tenha
soluo analtica para compararmos os resultados.
Vamos simular o sistema de filas de uma agncia bancria, com 3 caixas de atendimento, em que as chegadas sigam uma distribuio exponencial com intervalo
mdio entre chegadas igual a 2 minutos.
A distribuio do tempo de atendimento dos caixas tambm segue uma distribuio
exponencial com atendimento mdio igual a 4 minutos.
A tela de entrada do programa para execuo desta simulao seria a seguinte:

um dos mdulos do programa PO, que pode ser obtido de www.mpsantos.com.br

4.14 Um software para simular filas de espera

189

Como no existe limitao para o nmero de clientes na agncia, o campo Mximo


usurios permitido no Sistema ficou com 1000. A durao da simulao foi de
10.000 minutos e solicitamos que 100 replicaes fossem executadas.
O valor em qualquer dos campos pode ser mudado, bastando para isto clicar nele
e apagar o valor existente com as teclas [Delete] ou [Backspace]. Os campos
Unidade de tempo, Distribuio das chegadas e Distribuio do Servio podem ser
mudados com o simples click do mouse no novo tem desejado.
Aps se colocar os valores desejados, clica-se em SIMULAR e a Simulao ser
executada. No nosso exemplo aparecer a seguinte tela:

Caso se tenha uma impressora esta tela poder ser impressa. Clicando-se no boto
VOLTAR samos do programa, voltando-se para o software Po.
Como este modelo simulado um exemplo do modelo M/M/s, podemos comparar
os resultados obtidos na simulao com os resultados tericos obtidos das frmulas
analticas daquele modelo de filas:
Tempo mdio que um cliente permanece na fila (Wq ):
Simulao : 1,772 minutos
Terico : 1,776 minutos
Nmero Mdio de clientes na fila (Lq ):
Simulao : 0,887 clientes
Terico : 0,8889 clientes
Taxa de ocupao das estaes de servio (caixas):
Simulao : 66,65%
Terico : 66,7%
Podemos observar que a simulao deu resultados praticamente iguais aos tericos
o que demonstra a robustez da tcnicas de simulao alm de servir para demons-

190

Introduo Simulao

trar que o programa est se comportando de maneira adequada.


Vamos us-lo agora para simular uma situao de fila em que no existem, pelo
menos de forma fcil, frmulas tericas.
Vamos supor uma agncia bancria, com 4 caixas de atendimento, onde as chegadas chegam seguindo uma distribuio normal com intervalo mdio entre chegadas
de 2 minutos e desvio padro de 0, 5 minutos. A durao do atendimento prestado
pelos caixas tambm segue uma distribuio normal, com mdia de 8 minutos para
a durao do atendimento e desvio padro de 1, 5 minutos..
A tela de entrada desta simulao seria:

A sada, aps 100 replicaes, cada uma com 20.000 minutos de simulao, apresentou os seguintes resultados:

4.14 Um software para simular filas de espera

191

Os resultados da simulao mostram que esta agncia bancria no est prestando


um servio de boa qualidade pois, em mdia, cada cliente tem que esperar mais de
35 minutos na fila e, em mdia a fila tem quase 18 clientes.
Para melhorar a qualidade do servio prestado vamos examinar os resultados da
simulao se colocamos mais 1 caixa de atendimento. Alterando a entrada e executando a simulao, chegamos aos seguintes resultados:

192

Introduo Simulao

Como pode ser visto, a fila praticamente desaparece.


Embora bastante verstil, o programa limitado a determinados tipos de sistema
de fila. Se alteramos as condies bsicas, temos que alterar o programa alterandose rotinas j existentes ou incluindo novas rotinas.
Como ilustrao da dificuldade e do custo de se fazer isto, lembramos que o fonte do
programa tem 20 pginas de cdigo de programao. Mesmo se tirarmos as 5 ou 6
pginas de cdigo que so necessrios para o ambiente Windows, ainda restariam
15 pginas de codificao!.
Para cada modelo, a no ser que sejam muito semelhantes como nos exemplos
acima, temos que construir programas de computador cuja complexidade proporcional a complexidade do modelo simulado.
Apesar da vantagem advinda de se ter um programa sob medida, o tempo que se
leva para se obter os primeiros resultados normalmente invalida aquela vantagem,
principalmente em modelos complexos.
Este fato fez com que fossem desenvolvidos programas voltados exclusivamente
para a construo de modelos de simulao. Veremos a seguir, um dos mais usados
na atualidade.

4.15 O software ARENA

193

4.15 O software ARENA


O ARENA um software, que roda no ambiente Windows, desenvolvido e de propridade da Rockwell Software Inc. No Brasil representado pela Paragon Tecnologia
Ltda 5 .
O ARENA est construdo em cima de uma linguagem (SIMAN), prpria para simulao, que existe h pelo menos 20 anos. No entanto, como ele roda no ambiente
Windows (grfico), a linguagem fica totalmente transparente podendo-se construir
modelos ignorando-se totalmente o que est por trs das telas grficas.
A tela bsica do ARENA a seguinte:

A esquerda temos a rea dos painis (templates) como Create, Dispose, Process,
etc... Os modelos de simulao so construdos com estes painis, como veremos
mais adiante. Observe que o ttulo da rea de painis Basic Process, ou seja
estes so os blocos bsicos e poderemos acrescentar outros a medida que eles forem
sendo necessrios.
Na verdade, na sua forma mais simplificada, criamos modelos no ARENA construindo desenhos lgicos com os painis.
5

www.paragon.com.br/brhome.html

194

Introduo Simulao

4.15.1 Simulao de um pequeno posto bancrio


Vamos ver o exemplo de um pequeno posto bancrio com um nico caixa.
Como j dissemos, no Arena trabalhamos com blocos e, interligando-os, construmos o modelo. Antes de ver como se faz no Arena, vamos construir nosso modelo
lgico. Podemos representar nosso posto da seguinte forma:

Clientes
Chegam

Clientes so
Atendidos

Clientes vo
embora

Vamos agora para o Arena. O nosso 1o bloco, ou seja a chegada de clientes, tem que
ser criado. Clicando e segurando o mouse, arrastamos a caixa Create do lado esquerdo para a rea de trabalho, que a maior rea branca da tela inicial. Soltamos
o mouse e uma caixa Create1 aparece no espao em branco. A seguir, fazemos o
mesmo com a caixa Process, ou seja clicamos, seguramos o mouse e a arrastamos
para a direita da caixa Create 1. O ARENA conecta automaticamente as 2 caixas
(isto pode ser desligado). Vai ser criada uma caixa chamada Process 1. E, para
finalizar, fazemos o mesmo com a caixa Dispose e a colocamos a direita da Process 1.
A aparncia da nossa tela dever ser a seguinte:

4.15 O software ARENA

195

Na parte abaixo da rea de trabalho aparece uma espcie de planilha com alguns
dados que ficaro mais claros a medida que formos avanando.
Dando um duplo click na caixa Create1, abre-se o seguinte quadro:

Podemos entrar com os dados da nossa aplicao. Na 1a linha, vamos trocar o nome
(Name) de Create 1 para Chegada de Clientes. O tipo da entidade (Entity Type) de
Entity 1 para Clientes.
A 2a linha trata da distribuio do intervalo entre chegadas (Time Between Arrivals). Em Type, vamos escolher Expression e em Value escolhemos EXPO(Mean),
ou seja estamos dizendo que o intervalo entre chegadas segue uma distribuio
exponencial. No exemplo que queremos simular, o intervalo entre chegadas tem
mdia igual a 2 minutos.
Antes de introduzirmos este valor, devemos saber que o ARENA usa a RAND4 (pg.
164) como gerador de nmeros aleatrios. Assim, alm da mdia, convm informar,
embora seja opcional, qual a srie que deve ser usada para gerar as chegadas de clientes. Em princpio no deve-se usar a srie 10 pois esta a srie que o Arena usa
quando no se informa nada. Vamos usar a srie 23. Colocamos ento no campo
Value a expresso EXPO(2,23), ou seja mdia igual a 2 usando-se na simulao, a
srie 23 da RAND4. A seguir devemos trocar o campo Units para minutos.
A 3a linha fica como est pois Entidades por Chegada (Entities per Arrival) igual
a 1, ou seja cada cliente chega sozinho. No existe limite para o nmero de clientes
que podem chegar, assim Max Arrivals igual a Infinito e o instante de criao
(First Creation) da 1a chegada o instante 0.0, ou seja o incio da simulao.
Nosso quadro fica ento desta forma:

196

Introduo Simulao

Basta clicar em OK para confirmar as alteraes.


Vamos agora dar um duplo click no bloco Process 1. Um novo quadro se abre:

Mudamos o Name para Atendimento aos Clientes, o tipo fica Standard. No campo
Action, deve ser escolhida a opo Seize Delay Release, ou seja CapturaRetm por
algum tempoLibera, que o que um caixa faz com os clientes.
Ao se escolher a ao acima abre-se um novo campo Prioridade (Priority) que deve

4.15 O software ARENA

197

ser deixado como Medium(2). Abre-se, tambm um novo quadro para a definio
dos recursos (resources) que, no nosso exemplo, um nico caixa.

Devemos clicar na opo Add para incluir o recurso (Caixa) no modelo, como mostrado a seguir:

198

Introduo Simulao

Como pode ser visto acima, escolhemos Resource (em Type), Caixa 1 (em Resource
name) e 1 (em quantity).
Precisamos informar agora o tipo de distribuio do atendimento feito pelo caixa
que, no nosso exemplo, segue uma distribuio exponencial com mdia de 1.5 minutos. Escolhemos ento: Expression (em Delay Type), Minutes (em Units), Value
Added (em Allocation) e EXPO(Mean) (em Expression). Devemos a seguir substituir o (Mean) por (1.5,7), pois vamos usar a srie 7 da RAND4 para a gerao
da durao do servio. Se no estiver marcado, devemos marcar o campo Report
Statistics. Finalmente clicamos em OK para confirmar nossos dados.

4.15 O software ARENA

199

Repetimos o processo para a caixa Dispose. O seguinte quadro aparecer:

Mudamos o nome para Saida de Clientes, marcamos o campo Record Entity Statistics e clicamos em OK, obtendo-se o seguinte quadro.

200

Introduo Simulao

A rea de trabalho do ARENA estar da seguinte forma;

Podemos reparar que aparece uma linha em cima do bloco Atendimento aos Clientes. Esta linha representa a fila que se forma no caixa. Na parte de baixo, a
medida que se clica em um dos blocos, aparece uma planilha com as informaes
pertinentes a cada bloco. Podemos alterar, se for o caso, as informaes na planilha
que elas passaro a valer para o bloco.

Neste ponto, o modelo est construdo mas antes de executar a simulao, temos
que ajustar alguns parmetros. Assim, devemos clicar em Run Setup, no
menu. O quadro a seguir (j com as alteraes feitas), para Replication Parameters
aparecer:

4.15 O software ARENA

201

Vamos fazer apenas uma simulao (1 replicao) com durao de 10.000 minutos.
Tambm no Run Setup, aba Project Parameters, podemos entrar com os
parmetros do projeto tais como nome do projeto, nome do analista, descrio do
projeto, etc...
Para finalizar clicamos em OK.
Para executar a simulao clicamos, no menu, em Run Go. Passamos a ver
ento a simulao dinamicamente acontecendo como no retrato a seguir (obtido
apertando-se, durante a simulao, a tecla <ESC>):

Neste ponto j tinham chegado 846 clientes, 841 j tinham sido atendidos, 4 estavam na fila e 1 estava sendo atendido.
Ao final da simulao, o ARENA emite dezenas de relatrios que podem ser acessados a partir da aba Reports que existe na parte esquerda da tela. Vamos mostrar

202

Introduo Simulao

alguns destes relatrios e ver os resultados obtidos.


O 1o o Queues que d informaes sobre a fila em si:

O tempo de espera mdio na fila de 4,59 minutos. O terico (Wq ), modelo M/M/1,
4,50 minutos. O nmero mdio de clientes na fila 2,30 clientes. O terico (Lq )
igual a 2,25 clientes. O nmero mximo de clientes na fila foi 21.
O prximo relatrio que podemos examinar o de Resources que, no nosso exemplo
o caixa.

4.15 O software ARENA

203

Como podemos observar, o Caixa ficou ocupado 75% do tempo. Este resultado
exatamente igual ao terico ( = 0.75).
Outro relatrio que pode ser visto o de Processes:

Ele mostra que a maior espera total de um cliente foi de 46.85 minutos, o atendimento mais demorado foi 14,71 minutos e a maior espera na fila foi de 44.59
minutos.
Como citamos anteriormente, vrios outros relatrios, com grficos inclusive, so
impressos e podem ser examinados.

4.15.2 Simulao de um check-in


Vamos imaginar a seguinte situao: passageiros, que vo viajar em determinada
companhia area, chegam ao aeroporto com intervalo mdio de 1.6 minutos, de
acordo com uma distribuio exponencial. Estes viajantes, desde do momento em
que entram no aeroporto at chegar ao balco de check-in, demoram entre 2 e 3
minutos com distribuio uniforme entre estes 2 valores. No check-in, os viajantes
tem que entrar em uma fila nica at que um dos 5 atendentes o atenda.O tempo no
check-in segue uma Distribuio de Weibull com parmetros = 3.91 e = 7.76.
Aps o check-in, eles podem se dirigir aos portes de embarque. Visando melhorar o
atendimento, deseja-se determinar uma srie de variveis tais como o tempo mdio
que um passageiro gasta desde de que chega no aeroporto at ser liberado para o

204

Introduo Simulao

embarque, o nmero mdio de viajantes na fila do check-in, o no de passageiros


atendidos no check-in de 8:00 horas da manh at 22:00 horas, etc...
O modelo desta situao pode ser representado pelo grfico a seguir:

Chegada dos
Passageiros

Procura pelo
Check-in

Check-in

Sada para
embarque

Como fizemos no 1o exemplo, vamos construir um modelo equivalente no ARENA.


Nossos blocos bsicos ficam como:

O bloco de chegada idntico ao que j fizemos no exemplo anterior e escolhemos


EXPO(1.6,7) para a distribuio exponencial, usando a srie 7 da RAND4. Vamos
chamar de Passageiros a entidade que vai circular na simulao. Temos ento:

O 2o bloco referente a procura pelo balco de check-in. A ao, neste caso s Delay porque s h um atraso, uniformemente distribudo, para chegar at o balco.
O quadro preenchido fica da seguinte forma:

4.15 O software ARENA

205

O bloco do check-in tambm bastante similar ao que vimos anteriormente com a


diferena de que escolhemos o nome de Atendentes para o recurso e a distribuio
do atendimento escolhida como WEIB(7.76,3.91,23), ou seja uma Weibull com os
parmetros dados e usando-se a srie 23 da RAND4. Temos ento:

206

Introduo Simulao

No bloco Dispose, para os portes, muda-se apenas o nome para Sada.


Neste momento devemos nos lembrar que temos 5 atendentes no balco de checkin. Como informar isto ao modelo ? No lado esquerdo da tela do ARENA (onde esto
os blocos), rolando com o mouse vo aparecer desenhos de planilhas e uma delas
referente a Resources. Clicando nela vai aparecer, na parte inferior, uma planilha
referente aos recursos (atendentes no nosso caso). Um dos campos da planilha
Capacity que dever estar com 1. Deve ser alterado para 5, como mostrado a seguir:

Podemos agora escolher um smbolo que represente os passageiros na dinmica da


simulao. No lado esquerdo, clicamos a planilha Entity. Vai abrir, em baixo a
direita, a planilha relativa aos passageiros. No campo Initial Picture, escolhemos a

4.15 O software ARENA

207

figura Picture.women que um boneco representando uma mulher, como podemos


ver a seguir:

Para a fila, representada por uma linha contnua, vamos inicialmente aumentar
seu tamanho (clicando nela e puxando, com o mouse, as suas extremidades). A
seguir, vamos alterar a sua forma de linha para pontos. Dando um duplo click, o
seguinte quadro aparece:

Mudamos de Line para Point e depois clicando em Points.., vai abrir outro quadro
onde, clicando no boto Add, podemos ir colocando pontos ou seja lugares na fila
(at o mximo de 14). Neste exemplo colocamos 10 pontos. No final clica-se em OK.

208

Introduo Simulao

Para dar um toque mais realista a simulao, vamos acrescentar o balco do checkin e os 5 pontos de atendimento. Iniciamos clicando, na 2a barra de botes em cima,
em
que far com que a seguinte tela aparea:

Escolhendo Atendentes como Identif ier, podemos selecionar figuras para representar os atendentes ociosos (Idle) ou ocupados (Busy). importante notar que as
figuras que aparecem fazem parte da chamada biblioteca padro. Podemos (clicando no open deste quadro) abrir outras bibliotecas que possuem outras figuras.
Para escolher uma figura para Idle, por exemplo, clica-se em Idle, clica-se na figura
desejada e depois clica-se em
Antes de clicar em OK, devemos marcar Seize Area. Isto faz com que junto a figura
seja criada uma linha (semelhante a da fila) para identificar os pontos de atendimento. No nosso exemplo criamos 5 pontos (de maneira similar ao feito para a fila)
pois temos 5 atendentes.
Para finalizar, vamos colocar um relgio para melhor visualizao do andamento
(clock) e arrast-lo apara a
da simulao. Para tanto basta clicar no boto
rea de trabalho. Escolhemos 8:00 horas como a hora inicial marcada pelo relgio.
Nosso modelo est pronto e sua aparncia :

4.15 O software ARENA

209

Ajustamos a seguir os parmetros da simulao (Run Setup) e escolhemos 14


horas para a durao da simulao (das 8:00 s 22:00 horas). A figura a seguir
mostra um retrato da simulao:

O relgio marca 01:37:54, ou seja j temos 5,5 horas de simulao sendo que 218
passageiros j chegaram, 208 j passaram pelo check-in sendo que os 5 atendentes
esto ocupados e 2 passageiros aguardam na fila. Temos tambm 3 passageiros
procurando pelo balco de check-in.
Dos relatrios emitidos ao final da simulao, podemos extrair, entre outros, os seguintes dados:
Passageiros atendidos pelo check-in das 8:00 s 22:00 : 524
Tempo total gasto, em mdia, por um passageiro, da entrada a sada : 13,19 minutos
Menor tempo gasto por um passageiro, da entrada a sada : 4,91 minutos
Maior tempo gasto por um passageiro, da entrada a sada : 29,35 minutos

210

Introduo Simulao

Percentual de ocupao dos Atendentes : 89% do tempo


Nmero mdio de clientes na fila do check-in : 2,26 passageiros
Maior tempo gasto por um passageiro na fila do check-in : 26,90 minutos
Como j citado, dezenas de outros relatrios podem ser impressos com dados da
simulao.

4.15.3 Simulao de um processo de produo


Uma indstria eletrnica produz 2 medidores eletrnicos que chamaremos de A e
B. Basicamente os 2 aparelhos, embora com funes distintas, tem as mesmas caractersticas quais sejam, uma placa de circuito impresso, onde so soldados componentes, e uma embalagem de plstico com alguns botes.
As placas de circuito impresso e as embalagens so produzidas externamente e, ao
chegar a indstria, so enviadas para uma rea onde, as placas, so preparadas
para receber os componentes que sero soldados. Por sua vez, as embalagens so
pintadas e colocados os botes. Estas reas de preparao so, dadas as caractersticas tcnicas, diferentes para os aparelhos A e B.
Aps a preparao, as placas e embalagens so enviadas para a rea de montagem (nica para A e B) onde os componentes so soldados e o aparelho montado.
Nesta rea , ao final, feita uma inspeo de qualidade onde dados histricos tem
mostrado que 91% dos aparelhos acabados esto perfeitos e so enviados diretamente para a seo de venda. Os que no passam no controle de qualidade (9%),
so enviados para um outro setor onde as causas da rejeio so analisadas e, se
for o caso, corrigidas.
Dados estatsticos mostram que 80% dos aparelhos que caem neste setor conseguem ser recuperados e vendidos enquanto que os restantes 20% vo para sucata.
Foram efetuadas amostras estatsticas em todo o processo e ficou comprovado que
todas as atividades (chegadas, preparao, montagem, etc...) so processos aleatrios que seguem determinadas distribuies. A figura a seguir d a viso geral de
todo o processo:

4.15 O software ARENA

211

Assim, as placas e embalagem do produto A, chegam seguindo uma distribuio


exponencial com intervalo mdio de 5 minutos entre chegadas. J as placas e embalagens do modelo B chegam, em lotes de 4, tambm seguindo uma distribuio
exponencial com intervalo mdio de 30 minutos entre chegadas.
O tempo de preparao de cada unidade tipo A segue uma distribuio triangular
com parmetros 1, 4 e 8 minutos enquanto que a do produto B tambm segue uma
triangular com parmetros 3, 5 e 10 minutos.
Aps preparados, tanto as placas como embalagens dos 2 produtos vo para a seo
de montagem. L, cada unidade do produto tipo A montada num tempo que segue
uma distribuio triangular com parmetros 1, 3 e 4 minutos. J uma unidade do
produto B montada em um tempo que segue uma Weibull com = 2.5 e = 5.3.
Os produtos rejeitados vo para a seo de reparo onde so consertados em um
tempo que tambm segue a distribuio exponencial com durao de 45 minutos.
Deseja-se simular esta situao para determinar algumas varveis tais como no de
unidade na fila, tempo total de produo, etc...
Vamos construir o modelo no Arena. Inicialmente vamos construir um bloco Create para a chegada dos componentes do produto A.

Escolhemos a srie 7 da RAND4 para a gerao das variveis aleatrias exponencialmente distribudas. Criamos de forma idntica um bloco Create para as chegadas das placas e embalagens do produto tipo B. Temos ento:

212

Introduo Simulao

Devemos notar que Entities per Arrival foi alterado para 4, pois as placas e embalagens de B chegam em lotes de 4. Usamos a srie 22 para a Rand4.
Neste ponto temos que nos preocupar com um ponto que no apareceu nos modelos
anteriores. Depois de chegar e ser preparado, os componentes do modelo A vo
para a seo de montagem. No entanto com o modelo tipo B ocorre a mesma coisa,
ou seja ambos usam a seo de montagem mas com tempos seguindo distribuies
diferentes. No podemos definir 2 distribuies para o mesmo processo nem definir
2 processos porque na verdade s existe uma seo de montagem. Para contornar isto, vamos definir um atributo Tempo de Montagem a quem atribuiremos o
tempo de montagem apropriado para cada tipo de produto. O bloco que faz estas
atribuies no Arena o Assign. Temos ento:

4.15 O software ARENA

213

Demos o nome de Tempo de Montagem A e criamos, com o boto Add, 2 atributos:


Tempo Montagem informando a distribuio do tempo de montagem e Instante
Chegadas informando o instante da chegada, ou seja da criao, das peas de um
modelo A. Usamos a varivel TNOW que uma varivel do Arena que contm o
instante do evento que acabou de ocorrer, no caso a chegada dos componentes de
um modelo tipo A.
Obviamente temos que fazer o mesmo para o produto B.

Podemos agora criar os blocos (Process) para a etapa de preparao.


Para o tipo A temos:

214

Introduo Simulao

Para o tipo B temos:

Temos agora a Montagem onde devemos usar o atributo Tempo Montagem que
criamos anteriormente.

4.15 O software ARENA

215

Aps montados, os produtos passam por uma inspeo de qualidade. Podemos


represent-la usando o bloco Decide. Temos ento:

Podemos escolher o percentual, no caso 9% de rejeio. Estes rejeitados vo para a


rea de conserto que, no Arena, ser representado por mais um bloco Process.

216

Introduo Simulao

Temos aps o conserto uma re-inspeo para verificar as que podem ser comercializadas. Temos ento mais um bloco de deciso. Podemos represent-lo usando o
bloco Decide. Temos ento:

Tendo definido todas as operaes, precisamos nos preocupar com a obteno das
informaes que queremos analisar.Lembre-se que, como parte da prpria simulao, ns obtemos estatsticas sobre a utilizao dos recursos, tamanho das filas e
espera em cada uma das filas. No entanto, queremos tambm informaes sobre a
durao do ciclo para os produtos que passam no controle de qualidade e para os
que no passam, queremos conhecer o ciclo dos que so consertados e dos que vo
para a sucata. O bloco Record permite que se tenha estes dados. Para os que vo
para a sucata, temos:

Para Type, escolhemos Time Interval e no atributo escolhemos Instante Chegada.


Com isto o Arena vai registrar cada durao desde que as partes do produto chegam

4.15 O software ARENA

217

at irem para a sucata. Para os demais itens (comercializadas direto e comercializados aps reparo), o procedimento o mesmo.
Finalmente no podemos esquecer dos mdulos de sada, ou seja Dispose. Aps
coloc-los, nosso modelo tem a seguinte aparncia:

218

Introduo Simulao

Executando a simulao para um perodo de 32 horas, os seguintes resultados foram obtidos nos relatrios impressos pelo Arena:
Espera mdia na Fila (Wq )
Na prep A
Na prep B
Na montagem
No conserto
Tamanho mdio da Fila (Lq )
Na prep A
Na prep B
Na montagem
No conserto
Vendas
Direto
Consertados
Utilizao do Recurso ()
Prep A
Prep B
Montagem
Conserto

Minutos
1,65
5,78
12,11
421,96
0,33
0,90
4,31
13,27
Quantidade
610
33
%
54
35
88
93

Os resultados mostram que temos um problema na rea de conserto. Ao final da


simulao, existiam 19 modelos na fila aguardando reparo. Pode-se ver tambm
que a rea est ocupada quase 100% do tempo. Para se melhorar o processo de
produo, teramos que aumentar a capacidade de produo da seo de conserto.

4.15.4 Consideraes finais


O que vimos, at aqui, do ARENA deve representar de 10% a 20% do que possvel fazer com o software. Modelos bastante sofisticados e anlise de custos so
possveis de serem realizados. Alm disto o ARENA possui outros mdulos, como
por exemplo o Input Analyzer em que, a partir de dados coletados em uma amostragem, pode-se determinar a distribuio que melhor adere queles dados.
Atravs dos exemplos e com o help que vem com o prprio software possvel,
mesmo sem um curso especfico, se usar o software em simulaes com razovel
nvel de sofisticao. Obviamente que se for possvel fazer um curso, o uso e o domnio do programa se dar em menos tempo.
Para finalizar vamos apresentar a tela de um modelo de simulao de uma agncia bancria. Este exemplo vem no prprio CD do Arena e mostra como possvel
desenhar modelos mais sofisticados.

4.15 O software ARENA

219

220

Introduo Simulao

4.16 Exerccios
1) Usando o mtodo dos quadrados mdios, calcule os 12 primeiros nmeros gerados, com 4 dgitos, a partir de uma semente igual a 7308.
2) Use o mtodo congruente linear para gerar um seqencia de 3 nmeros aleatrios de 2 dgitos. Use x0 = 27, a = 8, c = 47 e m = 100.
3) Encontramos algum problema no exerccio anterior se x0 = 0 ?
4) Considere o mtodo congruente multiplicativo para os seguintes casos:
a) a = 11

m = 16

x0 = 7

b) a = 11

m = 16

x0 = 8

c) a = 7

m = 16

x0 = 7

d) a = 7

m = 16

x0 = 8

Gere, para cada caso, todo o perodo. O que podemos inferir dos resultados
encontrados ?
5) Construa, para a RAND2, um cubo idntico ao mostrado na pgina 158 para o
gerador RANDU.
6) Pesquise na internet para descobrir qual a frmula usada pela planilha Excel
no seu gerador de nmeros aleatrios padro.
7) Desenvolva um gerador de nmeros aleatrios, usando o mtodo da transformao inversa, para a seguinte distribuio probabilstica:
(
e2x ,
< x 0
f (x) =
2x
e
, 0<x<
8) Idem para:

,
0x2

3
1
f (x) =
, 2 < x 10

24

0,
x > 10

9) Com uma calculadora que tenha a funo para gerar nmeros aleatrios uniformemente distribudos em [0, 1], gere 10 nmeros seguindo a distribuio de
Poisson com mdia () igual a 2, 5.

221

4.16 Exerccios

10) Modifique o programa da pgina 171 para calcular a probabilidade de um valor


(x) de uma distribuio normal, com mdia () igual a 1.500 e desvio padro
() igual a 300, estar entre 1.300 e 1.800. Use, no programa, a frmula da
distribuio normal:
(X )2

1
2 2
f (x) =
e
2
2
Compare o valor obtido pela simulao com o valor obtido da tabela normal.
11) A gerente de uma loja de eletro-domsticos est desconfiada que o seu estoque
de foges est acima do que seria necessrio. Antes de modificar a poltica de
estoques, ela registrou o nmero de foges vendidos, diariamente, nos ltimos
25 dias. Os dados encontrados esto mostrados a seguir:
Foges vendidos
Nmero de dias

2
4

3
7

4
8

5
5

6
1

a) Use os dados para estimar a distribuio de probabilidade das vendas dirias


de foges.
b) Calcule a mdia da distribuio obtida na parte (a ).
c) Descreva como nmeros aleatrios uniformemente distribudos em [0, 1] podem ser usados para simular as vendas dirias.
d) Usando os nmeros aleatrios 0.4475, 0.9713 e 0.0629, simule as vendas dirias de 3 dias.
e) Usando uma planilha eletrnica (Excel, por exemplo), faa um modelo para
simular as vendas dirias. Realize 300 replicaes e obtenha a mdia de
vendas dirias.
12) Utilizando como sementes os valores 1234, 76545, 88787, 77712, 564783 e 5434
encontre os 3 primeiros nmeros gerados pela RAND4.
13) Pesquise e descubra os comandos para a gerao de nmeros aleatrios no Turbo
Pascal, inclusive com a escolha da semente.
14) Utilizando uma planilha eletrnica (Excel, por exemplo), construa um modelo
para a seguinte situao: Um posto de gasolina do governo, que tem somente
uma bomba de gasolina, est sempre aberto e tem 2 tipos de clientes. Uma
ambulncia chega, exatamente, a cada 30 minutos, com o 1o carro chegando
no instante, 15 minutos. Carros de outras reparties pblicas, que no so
ambulncias, chegam com um intervalo mdio entre chegadas, exponencial, de
5, 6 minutos, com o 1o carro chegando no instante 0. O tempo de servio, para
todos os tipos de carros, tem uma mdia de 4, 8 minutos (exponencial).
Um carro que chega e encontra a bomba vazia vai ser atendido imediatamente
enquanto que os que chegam com a bomba ocupada, formam uma fila nica.
Isto s no vale para as ambulncias que, ao chegar, vo imediatamente para o

222

Introduo Simulao

incio da fila (assuma que, se j tem uma ou mais ambulncias no incio da fila,
esta nova chegada passa a ser a 1a da fila). Considere que no incio da simulao
(instante 0), o posto est vazio. Execute a simulao at que 500 carros, no total,
tenham sido atendidos. Estime o tempo de espera mdio na fila para os 2 tipos
de carro, o nmero mdio de carros na fila para os 2 tipos de carro e a taxa de
ocupao da bomba de gasolina.
15) Desenvolva um modelo para um sistema com 2 processos consecutivos (I e II).
Os tens chegam ao sistema com intervalo, mdio, entre chegadas de 10 minutos.
Assim que chegam, os tens so imediatamente enviados para o processo I que
tem uma fila ilimitada e um recurso simples com uma durao, mdia, do servio
de 9 minutos. Aps terminar o 1o processo, os tens so enviados para o processo
II que idntico ao processo I. Aps o servio do processo II ser completado,
os tens deixam o sistema. As medidas de interesse no sistema so o nmero
mdio de tens na fila, em cada processo, e o tempo total, mdio, que um tem
permanece no sistema. Usando 10.000 minutos como a durao a ser estudada,
faa as 4 simulaes a seguir e compare os resultados.
a) Intervalo entre chegadas exponencial e durao do servio exponencial.
b) Intervalo entre chegadas exponencial e durao do servio constante.
c) Intervalo entre chegadas constante e durao do servio exponencial.
d) Intervalo entre chegadas constante e durao do servio constante.
16) Peas chegam a uma estao de trabalho com um intervalo, mdio, entre chegadas de 21 segundos (exponencial). Aps a chegada, as peas so processadas.
O tempo de processamento segue uma distribuio triangular com parmetros
16, 19 e 22. Existem caractersticas visuais que determinam se uma pea tem
um eventual problema de qualidade. Esto peas, que so cerca de 10% do total,
so enviadas para outra estao onde sofrem uma rigorosa inspeo. As demais
(90%) so enviadas para a expedio e consideradas boas.
A distribuio do tempo de inspeo rigorosa , em mdia, igual a 95 segundos
mais uma varivel aleatria que segue uma distribuio de Weibull com parmetros iguais a 48,5 e 4,04. Em torno de 14% das peas que sofrem inspeo,
so reprovadas e viram sucata. As demais vo para a expedio.
Execute a simulao para 10.000 segundos para determinar o nmero de peas
boas, o nmero de peas sucateadas e o nmero de peas que so inspecionadas
parcialmente e rigorosamente.
17) Clientes chegam a uma caixa com um intervalo, mdio, entre chegadas igual
a 10 minutos (exponencial). Um nico funcionrio recebe o pagamento alm
de conferir o pedido. Ele demora, em mdia, entre 8 a 10 minutos para fazer
estas tarefas, variando a durao uniformemente naquele intervalo. Aps esta
atividade estar completada, o cliente , aleatoriamente, atribudo a um de 2
funcionrios do estoque que separam e embalam a mercadoria para entregar
ao cliente. O tempo desta atividade tambm uniformemente distribudo entre

4.16 Exerccios

223

16 e 20 minutos. Cada um dos 2 funcionrios do estoque s podem atender


clientes que foram designados para ele. Aps receber sua mercadoria, o cliente
vai embora.
Desenvolva um modelo e rode a simulao para 5.000 minutos.
H uma sugesto de que os 2 funcionrios possam atender qualquer cliente que
ficariam em uma fila nica esperando atendimento. Rode a simulao tambm
para 5.000 minutos e compare os resultados.

224

Introduo Simulao

Apndice A
Tabela Normal

Parte I
Z
-2.9
-2.8
-2.7
-2.6
-2.5
-2.4
-2.3
-2.2
-2.1
-2.0
-1.9
-1.8
-1.7
-1.6
-1.5
-1.4
-1.3
-1.2
-1.1
-1.0
-0.9
-0.8
-0.7
-0.6
-0.5
-0.4
-0.3
-0.2
-0.1
-0.0

0
.00187
.00256
.00347
.00466
.00621
.00820
.01072
.01390
.01786
.02275
.02872
.03593
.04457
.05480
.06681
.08076
.09680
.11507
.13567
.15866
.18406
.21186
.24196
.27425
.30854
.34458
.38209
.42074
.46017
.50000

1
.00181
.00248
.00336
.00453
.00604
.00798
.01044
.01355
.01743
.02222
.02807
.03515
.04363
.05370
.06552
.07927
.09510
.11314
.13350
.15625
.18141
.20897
.23885
.27093
.30503
.34090
.37828
.41683
.45621
.49601

2
.00175
.00240
.00326
.00440
.00587
.00776
.01017
.01321
.01700
.02169
.02743
.03438
.04272
.05262
.06426
.07780
.09342
.11123
.13136
.15386
.17879
.20611
.23576
.26763
.30153
.33724
.37448
.41294
.45224
.49202

3
.00169
.00233
.00317
.00427
.00570
.00755
.00990
.01287
.01659
.02118
.02680
.03362
.04182
.05155
.06301
.07636
.09176
.10935
.12924
.15151
.17619
.20327
.23270
.26435
.29806
.33360
.37070
.40905
.44828
.48803

4
.00164
.00226
.00307
.00415
.00554
.00734
.00964
.01255
.01618
.02068
.02619
.03288
.04093
.05050
.06178
.07493
.09012
.10749
.12714
.14917
.17361
.20045
.22965
.26109
.29460
.32997
.36693
.40517
.44433
.48405

5
.00159
.00219
.00298
.00402
.00539
.00714
.00939
.01222
.01578
.02018
.02559
.03216
.04006
.04947
.06057
.07353
.08851
.10565
.12507
.14686
.17106
.19766
.22663
.25785
.29116
.32636
.36317
.40129
.44038
.48006

6
.00154
.00212
.00289
.00391
.00523
.00695
.00914
.01191
.01539
.01970
.02500
.03144
.03920
.04846
.05938
.07215
.08692
.10383
.12302
.14457
.16853
.19489
.22363
.25463
.28774
.32276
.35942
.39743
.43644
.47608

7
.00149
.00205
.00280
.00379
.00508
.00676
.00889
.01160
.01500
.01923
.02442
.03074
.03836
.04746
.05821
.07078
.08534
.10204
.12100
.14231
.16602
.19215
.22065
.25143
.28434
.31918
.35569
.39358
.43251
.47210

8
.00144
.00199
.00272
.00368
.00494
.00657
.00866
.01130
.01463
.01876
.02385
.03005
.03754
.04648
.05705
.06944
.08379
.10027
.11900
.14007
.16354
.18943
.21770
.24825
.28096
.31561
.35197
.38974
.42858
.46812

9
.00139
.00193
.00264
.00357
.00480
.00639
.00842
.01101
.01426
.01831
.02330
.02938
.03673
.04551
.05592
.06811
.08226
.09853
.11702
.13786
.16109
.18673
.21476
.24510
.27760
.31207
.34827
.38591
.42466
.46414

226

Tabela Normal

Parte II
Z
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2.0
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9

0
.50000
.53983
.57926
.61791
.65542
.69146
.72575
.75804
.78814
.81594
.84134
.86433
.88493
.90320
.91924
.93319
.94520
.95543
.96407
.97128
.97725
.98214
.98610
.98928
.99180
.99379
.99534
.99653
.99744
.99813

1
.50399
.54379
.58317
.62172
.65910
.69497
.72907
.76115
.79103
.81859
.84375
.86650
.88686
.90490
.92073
.93448
.94630
.95637
.96485
.97193
.97778
.98257
.98645
.98956
.99202
.99396
.99547
.99664
.99752
.99819

2
.50798
.54776
.58706
.62552
.66276
.69847
.73237
.76424
.79389
.82121
.84614
.86864
.88877
.90658
.92220
.93574
.94738
.95728
.96562
.97257
.97831
.98300
.98679
.98983
.99224
.99413
.99560
.99674
.99760
.99825

3
.51197
.55172
.59095
.62930
.66640
.70194
.73565
.76730
.79673
.82381
.84849
.87076
.89065
.90824
.92364
.93699
.94845
.95818
.96638
.97320
.97882
.98341
.98713
.99010
.99245
.99430
.99573
.99683
.99767
.99831

4
.51595
.55567
.59483
.63307
.67003
.70540
.73891
.77035
.79955
.82639
.85083
.87286
.89251
.90988
.92507
.93822
.94950
.95907
.96712
.97381
.97932
.98382
.98745
.99036
.99266
.99446
.99585
.99693
.99774
.99836

5
.51994
.55962
.59871
.63683
.67364
.70884
.74215
.77337
.80234
.82894
.85314
.87493
.89435
.91149
.92647
.93943
.95053
.95994
.96784
.97441
.97982
.98422
.98778
.99061
.99286
.99461
.99598
.99702
.99781
.99841

6
.52392
.56356
.60257
.64058
.67724
.71226
.74537
.77637
.80511
.83147
.85543
.87698
.89617
.91308
.92785
.94062
.95154
.96080
.96856
.97500
.98030
.98461
.98809
.99086
.99305
.99477
.99609
.99711
.99788
.99846

7
.52790
.56749
.60642
.64431
.68082
.71566
.74857
.77935
.80785
.83398
.85769
.87900
.89796
.91466
.92922
.94179
.95254
.96164
.96926
.97558
.98077
.98500
.98840
.99111
.99324
.99492
.99621
.99720
.99795
.99851

8
.53188
.57142
.61026
.64803
.68439
.71904
.75175
.78230
.81057
.83646
.85993
.88100
.89973
.91621
.93056
.94295
.95352
.96246
.96995
.97615
.98124
.98537
.98870
.99134
.99343
.99506
.99632
.99728
.99801
.99856

9
.53586
.57534
.61409
.65173
.68793
.72240
.75490
.78524
.81327
.83891
.86214
.88298
.90147
.91774
.93189
.94408
.95449
.96327
.97062
.97670
.98169
.98574
.98899
.99158
.99361
.99520
.99643
.99736
.99807
.99861

Apndice B
Tabela do 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
40
50

0,25

0,10

0,05

0,025

0,01

0,005

0,001

1,32
2,77
4,10
5,38
6,62
7,84
9,03
10,21
11,38
12,54
13,70
14,84
15,98
17,11
18,24
19,36
20,48
21,60
22,71
23,82
24,93
26,03
27,14
28,24
29,33
30,43
31,52
32,62
33,71
34,80
45,61
56,33

2,70
4,60
6,25
7,77
9,23
10,64
12,01
13,36
14,68
15,98
17,27
18,54
19,81
21,06
22,30
23,54
24,76
25,98
27,20
28,41
29,61
30,81
32,00
33,19
34,38
35,56
36,74
37,91
39,08
40,25
51,80
63,16

3,84
5,99
7,81
9,48
11,07
12,59
14,06
15,50
16,91
18,30
19,67
21,02
22,36
23,68
24,99
26,29
27,58
28,86
30,14
31,41
32,67
33,92
35,17
36,41
37,65
38,88
40,11
41,33
42,55
43,77
55,75
67,50

5,02
7,37
9,34
11,14
12,83
14,44
16,01
17,53
19,02
20,48
21,92
23,33
24,73
26,11
27,48
28,84
30,19
31,52
32,85
34,17
35,47
36,78
38,07
39,36
40,64
41,92
43,19
44,46
45,72
46,97
59,34
71,42

6,63
9,21
11,34
13,27
15,08
16,81
18,47
20,09
21,66
23,20
24,72
26,21
27,68
29,14
30,57
32,00
33,40
34,80
36,19
37,56
38,93
40,28
41,63
42,98
44,31
45,64
46,96
48,27
49,58
50,89
63,69
76,15

7,87
10,59
12,83
14,86
16,75
18,54
20,27
21,95
23,58
25,18
26,75
28,30
29,81
31,31
32,80
34,26
35,71
37,15
38,58
39,99
41,40
42,79
44,18
45,55
46,92
48,29
49,64
50,99
52,33
53,67
66,76
79,49

10,82
13,81
16,26
18,46
20,51
22,45
24,32
26,12
27,87
29,58
31,26
32,90
34,52
36,12
37,69
39,25
40,79
43,31
43,82
45,31
46,79
48,26
49,72
51,17
52,62
54,05
55,47
56,89
58,30
59,70
73,40
86,66

228

Tabela do 2

Apndice C
Tabelas para modelos com populao finita

As tabelas a seguir 1 tem como objetivo facilitar os clculos para modelos de filas
com populao de tamanho finito.
As tabelas aqui contidas, por problema de espao, s abrangem os modelos com
populao igual a 5, 10, 20 e 30 elementos. Sendo assim, os exerccios apresentados s tratam modelos com populaes de um daqueles tamanhos.
No acesso a tabela, deve-se observar que, em cada pgina, existem 3 colunas, cada
uma com 4 valores: X, S, D e F.
A sequencia dos valores por coluna. Sendo assim, iniciamos na 1a coluna, descemos at embaixo na pgina e, ao chegar ao final, subimos para a 2a coluna. Quando
esta acaba, embaixo na pgina, subimos para a 3a coluna e quando chegamos ao
final, mudamos para a prxima pgina onde a sequencia a mesma.
Na prpria tabela est impresso onde ela comea a valer para uma determinada
populao. Assim, aps encontrar impresso Populao 10, por exemplo, passam a
valer os valores para esta populao.

extrada de L.G.Peck and R.N.Hazelwood, Finite Queuing Tables, John Wiley & Sons, 1958

230

Tabelas para modelos com populao finita

X
S
D
POPULAO 5

.012
.019
.025
.030
.034

1
1
1
1
1

.048
.076
.100
.120
.135

.999
.998
.997
.996
.995

.036
.040
.042
.044
.046
.050

1
1
1
1
1
1

.143
.159
.167
.175
.183
.198

.994
.993
.992
.991
.990
.989

.120

.052
.054
.056

1
1
2
1
2
1
2
1

.206
.214
.018
.222
.019
.229
.020
.237

.988
.987
.999
.985
.999
.984
.999
.983

.135

2
1
2
1
2
1
2

.022
.245
.023
.253
.024
.260
.026

.999
.982
.999
.981
.999
.979
.999

1
2
1
2
1
2
1

.268
.027
.275
.031
.294
.035
.313

.978
.999
.977
.999
.973
.998
.969

2
1
2
1
2
1
2

.040
.332
.044
.350
.049
.368
.054

.998
.965
.998
.960
.997
.955
.997

.058
.060

.062
.064
.066
.068

.070
.075
.080

.085
.090
.095
.100

X
.100
.105
.110
.115

.125
.130

.140
.145

.150

.155

.160

.165

.170

.180

.190

.200

S
1
2
1
2
1
2
1

D
.386
.059
.404
.065
.421
.071
.439

F
.950
.997
.945
.996
.939
.995
.933

2
1
2
1
2
1

.076
.456
.082
.473
.089
.489

.995
.927
.994
.920
.993
.914

2
1
2
1
3
2
1
3

.095
.505
.102
.521
.011
.109
.537
.012

.993
.907
.992
.900
.999
.991
.892
.999

2
1
3
2
1
3
2

.115
.553
.013
.123
.568
.015
.130

.990
.885
.999
.989
.877
.999
.988

1
3
2
1
3
2
1

.582
.016
.137
.597
.017
.145
.611

.869
.999
.987
.861
.999
.985
.853

3
2
1
3
2
1
3

.021
.161
.638
.024
.177
.665
.028

.999
.983
.836
.998
.980
.819
.998

X
.200
.210

.220

.230

.240

.250

.260

.270

.280

.290

.300

.310

.320

S
2
1
3
2
1
3
2

D
.194
.689
.032
.211
.713
.036
.229

F
.976
.801
.998
.973
.783
.997
.969

1
3
2
1
3
2

.735
.041
.247
.756
.046
.265

.765
.997
.965
.747
.996
.960

1
3
2
1
3
2
1
3

.775
.052
.284
.794
.058
.303
.811
.064

.730
.995
.955
.712
.994
.950
.695
.994

2
1
3
2
1
4
3

.323
.827
.071
.342
.842
.007
.079

.944
.677
.993
.938
.661
.999
.992

2
1
4
3
2
1
4

.362
.856
.008
.086
.382
.869
.009

.932
.644
.999
.990
.926
.628
.999

3
2
1
4
3
2
1

.094
.402
.881
.010
.103
.422
.892

.989
.919
.613
.999
.988
.912
.597

231
X
.330

.340

.360

.380

.400

.420
.420

.440

.460

.480

.500

.520

S
4
3
2
1
4
3
2

D
.012
.112
.442
.902
.013
.121
.462

F
.999
.986
.904
.583
.999
.985
.896

1
4
3
2
1
4
3

.911
.017
.141
.501
.927
.021
.163

.569
.998
.981
.880
.542
.998
.976

2
1
4
3
2
1
4

.540
.941
.026
.186
.579
.952
.031

.863
.516
.997
.972
.845
.493
.997

3
2
1
4
3
2
1

.211
.616
.961
.037
.238
.652
.969

.966
.826
.471
.996
.960
.807
.451

4
3
2
1
4
3
2

.045
.266
.686
.975
.053
.296
.719

.995
.953
.787
.432
.994
.945
.767

1
4
3
2
1
4
3

.980
.063
.327
.750
.985
.073
.359

.415
.992
.936
.748
.399
.991
.927

X
.520
.540

.560

.580

.600

.650

.700

.750

.800

.850

.900

.950

S
2
1
4
3
2
1
4

D
.779
.988
.085
.392
.806
.991
.098

F
.728
.384
.989
.917
.708
.370
.986

X
S
D
POPULAO 10

.016
.019
.021
.023
.025

1
1
1
1
1

.144
.170
.188
.206
.224

.997
.996
.995
.994
.993

3
2
1
4
3
2
1

.426
.831
.993
.113
.461
.854
.994

.906
.689
.357
.984
.895
.670
.345

.026
.028
.030
.032

1
1
1
2
1
2
1

.232
.250
.268
.033
.285
.037
.302

.992
.991
.990
.999
.988
.999
.986

4
3
2
1
4
3
2

.130
.497
.875
.996
.179
.588
.918

.981
.883
.652
.333
.972
.850
.608

.036

2
1
2
1
2
1
2

.041
.320
.046
.337
.050
.354
.055

.999
.984
.999
.982
.999
.980
.999

1
4
3
2
1
4
3

.998
.240
.678
.950
.999
.316
.763

.308
.960
.815
.568
.286
.944
.777

1
2
1
2
1
2
1

.371
.060
.388
.065
.404
.071
.421

.978
.998
.975
.998
.973
.998
.970

2
4
3
2
4
3
2

.972
.410
.841
.987
.522
.907
.995

.532
.924
.739
.500
.900
.702
.470

2
1
2
1
2
1
2

.076
.437
.082
.454
.088
.470
.094

.998
.967
.997
.963
.997
.960
.997

4
3
2
4
3

.656
.957
.998
.815
.989

.871
.666
.444
.838
.631

1
2
1
2
1
2
1

.486
.100
.501
.106
.517
.113
.532

.956
.996
.953
.996
.949
.996
.945

.034

.038
.040
.042

.044
.046
.048

.050
.052
.054
.056

.058
.060
.062

232
X
.064
.066
.068

.070

.075

.080

.085

.090

.090
.095

.100

.105

.110

.115

.120

.125

Tabelas para modelos com populao finita

S
2
1
2
1
3
2
1

D
.119
.547
.126
.562
.020
.133
.577

F
.995
.940
.995
.936
.999
.994
.931

X
.125

3
2
1
3
2
1
3

.022
.140
.591
.026
.158
.627
.031

.999
.994
.926
.999
.992
.913
.999

.135

2
1
3
2
1
3
2

.177
.660
.037
.196
.692
.043
.216

.990
.899
.999
.988
.883
.998
.986

1
3
2
1
3
2
1

.722
.049
.237
.750
.056
.258
.776

.867
.998
.984
.850
.998
.981
.832

3
2
1
3
2
1
3

.064
.279
.800
.072
.301
.822
.081

.997
.978
.814
.997
.974
.795
.996

2
1
4
3
2
1
4

.324
.843
.016
.090
.346
.861
.019

.971
.776
.999
.995
.967
.756
.999

.130

.140

.145

.150

.155

.160

.165

.170

.180

S
3
2
1
4
3
2
1

D
.100
.369
.878
.022
.110
.392
.893

F
.994
.962
.737
.999
.994
.958
.718

4
3
2
1
4
3
2

.025
.121
.415
.907
.028
.132
.437

.999
.993
.952
.699
.999
.991
.947

1
4
3
2
1
4
3

.919
.032
.144
.460
.929
.036
.156

.680
.999
.990
.941
.662
.998
.989

2
1
4
3
2
1
4

.483
.939
.040
.169
.505
.947
.044

.935
.644
.998
.987
.928
.627
.998

3
2
1
4
3
2
1

.182
.528
.954
.049
.195
.550
.961

.986
.921
.610
.997
.984
.914
.594

4
3
2
1
5
4
3

.054
.209
.571
.966
.013
.066
.238

.997
.982
.906
.579
.999
.996
.978

X
.180
.190

.200

.210

.220

.230

.240

.250

.260

S
2
1
5
4
3
2
1

D
.614
.975
.016
.078
.269
.654
.982

F
.890
.549
.999
.995
.973
.873
.522

5
4
3
2
1
5
4

.020
.092
.300
.692
.987
.025
.108

.999
.994
.968
.854
.497
.999
.992

3
2
1
5
4
3
2

.333
.728
.990
.030
.124
.366
.761

.961
.835
.474
.998
.990
.954
.815

1
5
4
3
2
1
5

.993
.037
.142
.400
.791
.995
.044

.453
.998
.988
.947
.794
.434
.997

4
3
2
1
6
5
4

.162
.434
.819
.996
.010
.052
.183

.986
.938
.774
.416
.999
.997
.983

3
2
1
6
5
4
3

.469
.844
.997
.013
.060
.205
.503

.929
.753
.400
.999
.996
.980
.919

233
X
.260
.270

.280

.290

.300
.300

.310

.320

.330

.340

S
2
1
6
5
4
3
2

D
.866
.998
.015
.070
.228
.537
.886

F
.732
.384
.999
.995
.976
.908
.712

1
6
5
4
3
2
1

.999
.018
.081
.252
.571
.903
.999

.370
.999
.994
.972
.896
.692
.357

6
5
4
3
2
1
6

.022
.093
.278
.603
.918
.999
.026

.999
.993
.968
.884
.672
.345
.998

5
4
3
2
1
6
5

.106
.304
.635
.932
.999
.031
.120

.991
.963
.872
.653
.333
.998
.990

4
3
2
6
5
4
3

.331
.666
.943
.036
.135
.359
.695

.957
.858
.635
.998
.988
.952
.845

2
6
5
4
3
2
7

.952
.042
.151
.387
.723
.961
.010

.617
.997
.986
.945
.831
.600
.999

X
.340

.360

.380

.400

.420

.440

.460

S
6
5
4
3
2
7
6

D
.049
.168
.416
.750
.968
.014
.064

F
.997
.983
.938
.816
.584
.999
.995

X
.480

S
8
7
6
5
4
3
2

D
.015
.074
.230
.499
.791
.961
.998

F
.999
.994
.973
.916
.799
.621
.417

5
4
3
2
7
6
5

.205
.474
.798
.978
.019
.083
.247

.978
.923
.787
.553
.999
.993
.971

.500

8
7
6
5
4
3
2

.020
.093
.271
.553
.830
.972
.999

.999
.992
.966
.901
.775
.598
.400

4
3
2
7
6
5
4

.533
.840
.986
.026
.105
.292
.591

.906
.758
.525
.998
.991
.963
.887

.520

8
7
6
5
4
3
2

.026
.115
.316
.606
.864
.980
.999

.998
.989
.958
.884
.752
.575
.385

3
2
7
6
5
4
3

.875
.991
.034
.130
.341
.646
.905

.728
.499
.993
.987
.954
.866
.700

.540

8
7
6
5
4
3
8

.034
.141
.363
.658
.893
.986
.044

.997
.986
.949
.867
.729
.555
.996

2
7
6
5
4
3
2

.994
.045
.160
.392
.698
.928
.996

.476
.997
.984
.943
.845
.672
.454

7
6
5
4
3
8
7

.171
.413
.707
.917
.991
.057
.204

.982
.939
.848
.706
.535
.995
.977

8
7
6
5
4
3
2

.011
.058
.193
.445
.747
.947
.998

.999
.995
.979
.930
.822
.646
.435

6
5
4
3
9
8
7

.465
.753
.937
.994
.010
.072
.242

.927
.829
.684
.517
.999
.994
.972

.560

.580

.600

234
X
.600

.650

.700

.750

.750
.800

.850

.900

.950

Tabelas para modelos com populao finita

S
6
5
4
3
9
8
7

D
.518
.795
.953
.996
.021
.123
.353

F
.915
.809
.663
.500
.999
.988
.954

X
S
D
POPULAO 20

X
.040

.005
.009
.011
.013
.014

1
1
1
1
1

.095
.171
.208
.246
.265

.999
.998
.997
.996
.995

.042

6
5
4
3
9
8
7

.651
.882
.980
.999
.040
.200
.484

.878
.759
.614
.461
.997
.979
.929

.015
.016
.017
.018

1
1
1
2
1
2
1

.283
.302
.321
.048
.339
.053
.358

.994
.993
.992
.999
.991
.999
.990

6
5
4
9
8
7
6

.772
.940
.992
.075
.307
.626
.870

.836
.711
.571
.994
.965
.897
.792

.020

2
1
2
1
2
1
2

.058
.376
.064
.394
.070
.412
.075

.999
.989
.999
.987
.999
.986
.999

5
4
9
8
7
6
5

.975
.998
.134
.446
.763
.939
.991

.666
.533
.988
.944
.859
.747
.625

1
2
1
2
1
2
1

.431
.082
.449
.088
.466
.094
.484

.984
.999
.982
.999
.980
.998
.978

4
9
8
7
6
5
9

.999
.232
.611
.879
.978
.998
.387

.500
.979
.916
.818
.705
.588
.963

2
1
2
1
2
1
2.

.108
.519
.122
.553
.137
.587
152

.998
.973
.998
.968
.997
.962
.996

8
7
6
9
8
7

.785
.957
.995
.630
.934
.994

.881
.777
.667
.938
.841
.737

1
2
1
3
2
1
3

.620
.168
.651
.036
.185
.682
.041

.955
.996
.947
.999
.995
.938
.999

.019

.021
.022
.023

.024
.025
.026

.028
.030
.032
.034

.036
.038

.040

.044

.046

.048

.050

.052

.054

.056

.058

.060

.062

.064

.066

S
2
1
3
2
1
3
2

D
.202
.712
.047
.219
.740
.053
.237

F
.994
.929
.999
.993
.918
.999
.992

1
3
2
1
3
2
1

.767
.059
.255
.792
.066
.274
.815

.906
.999
.991
.894
.999
.989
.881

3
2
1
3
2
1
3

.073
.293
.837
.080
.312
.858
.088

.998
.988
.866
.998
.986
.851
.998

2
1
3
2
1
3
2

.332
.876
.097
.352
.893
.105
.372

.984
.835
.997
.982
.819
.997
.980

1
4
3
2
1
4
3

.908
.026
.115
.392
.922
.029
.124

.802
.999
.997
.978
.785
.999
.996

2
1
4
3
2
1
4

.413
.934
.032
.134
.433
.944
.036

.975
.768
.999
.996
.972
.751
.999

235
X
.066

.068

.070

.075

.080
.080
.085

.090

.095

.100

.105

S
3
2
1
4
3
2
1

D
.144
.454
.953
.039
.155
.474
.961

F
.995
.969
.733
.999
.995
.966
.716

4
3
2
1
4
3
2

.043
.165
.495
.967
.054
.194
.545

.999
.994
.962
.699
.999
.992
.953

1
4
3
2
1
4
3

.980
.066
.225
.595
.988
.080
.257

.659
.998
.990
.941
.621
.997
.987

2
1
5
4
3
2
1

.643
.993
.025
.095
.291
.689
.996

.928
.586
.999
.997
.984
.913
.554

5
4
3
2
1
5
4

.031
.112
.326
.733
.998
.038
.131

.999
.996
.980
.896
.526
.999
.995

3
2
1
5
4
3
2

.363
.773
.999
.046
.151
.400
.809

.975
.878
.500
.999
.993
.970
.858

X
.105
.110

.115

.120

.125

.130

.135

.140

.145

.150

S
1
5
4
3
2
5
4

D
.999
.055
.172
.438
.842
.065
.195

F
.476
.998
.992
.964
.837
.998
.990

3
2
6
5
4
3
2

.476
.870
.022
.076
.219
.514
.895

.958
.816
.999
.997
.988
.950
.793

6
5
4
3
2
6
5

.026
.088
.245
.552
.916
.031
.101

.999
.997
.986
.942
.770
.999
.996

4
3
2
6
5
4
3

.271
.589
.934
.037
.116
.299
.626

.983
.933
.748
.999
.995
.980
.923

2
6
5
4
3
2
6

.948
.043
.131
.328
.661
.960
.051

.725
.998
.994
.976
.912
.703
.998

5
4.
3
2
7
6
5

.148
.358
.695
.969
.017
.059
.166

.993
.972
.900
.682
.999
.998
.991

X
.150

.155

.160

.165

.170

.180

.190

.200

S
4
3
2
7
6
5
4

D
.388
.728
.976
.021
.068
.185
.419

F
.968
.887
.661
.999
.997
.990
.963

3
2
7
6
5
4
3

.758
.982
.024
.077
.205
.450
.787

.874
.641
.999
.997
.988
.957
.860

2
7
6
5
4
3
2

.987
.029
.088
.226
.482
.813
.990

.622
.999
.996
.986
.951
.845
.604

7
6
5
4
3
2
7

.033
.099
.248
.513
.838
.993
.044

.999
.995
.983
.945
.830
.587
.998

6
5
4
3
2
8
7

.125
.295
.575
.879
.996
.018
.058

.994
.978
.930
.799
.555
.999
.998

6
5
4
3
2
8
7

.154
.345
.636
.913
.998
.025
.074

.991
.971
.914
.768
.526
.999
.997

236
X
.200

.210

.220

.230

.230

.240

.250

.260

Tabelas para modelos com populao finita

S
6
5
4
3
2
8
7

D
.187
.397
.693
.938
.999
.033
.093

F
.988
.963
.895
.736
.500
.999
.995

6
5
4
3
2
8
7

.223
.451
.745
.958
.999
.043
.115

.985
.954
.874
.706
.476
.998
.994

6
5
4
3
9
8
7

.263
.505
.793
.971
.018
.054
.140

.980
.943
.852
.677
.999
.998
.992

6
5
4
3
9
8
7

.306
.560
.834
.981
.024
.068
.168

.975
.931
.828
.649
.999
.997
.989

6
5
4
3
9
8
7

.351
.613
.870
.988
.031
.085
.199

.969
.917
.804
.623
.999
.996
.986

6
5
4
3
9
8
7

.398
.664
.900
.992
.039
.104
.233

.961
.901
.780
.599
.998
.994
.983

X
.260

.270

.280

.290

.300

.310

S
6
5
4
3
10
9
8

D
.446
.712
.924
.995
.016
.049
.125

F
.953
.884
.755
.576
.999
.998
.992

7
6
5
4
3
10
9

.270
.495
.757
.943
.997
.021
.061

.978
.943
.867
.731
.555
.999
.997

8
7
6
5
4
3
10

.149
.309
.544
.797
.958
.998
.027

.990
.973
.932
.848
.708
.536
.999

9
8
7
6
5
4
3

.075
.176
.351
.592
.833
.970
.999

.996
.988
.967
.920
.828
.685
.517

10
9
8
7
6
5
4

.034
.091
.205
.394
.639
.865
.978

.998
.995
.985
.961
.907
.808
.664

3
11
10
9
8
7
6

.999
.014
.043
.110
.237
.438
.684

.500
.999
.998
.993
.981
.953
.893

X
.310
.320

.330

.340

.360

.380

S
5
4
11
10
9
8
7

D
.892
.985
.018
.053
.130
.272
.483

F
.788
.643
.999
.997
.992
.977
.944

6
5
4
11
10
9
8

.727
.915
.989
.023
.065
.154
.309

.878
.768
.624
.999
.997
.990
.973

7
6
5
4
11
10
9

.529
.766
.933
.993
.029
.079
.179

.935
.862
.748
.605
.999
.996
.987

8
7
6
5
4
12
11

.347
.573
.802
.949
.995
.015
.045

.967
.924
.846
.729
.588
.999
.998

10
9
8
7
6
5
4

.112
.237
.429
.660
.863
.971
.998

.993
.981
.954
.901
.812
.691
.555

12
11
10
9
8
7
6

.024
.067
.154
.305
.513
.739
.909

.999
.996
.989
.973
.938
.874
.777

237
X
.380
.400

.420

.440
.440

.460

.480

S
5
4
13
12
11
10
9

D
.984
.999
.012
.037
.095
.205
.379

F
.656
.526
.999
.998
.994
.984
.962

8
7
6
5
13
12
11

.598
.807
.942
.992
.019
.055
.131

.918
.845
.744
.624
.999
.997
.991

10
9
8
7
6
5
13

.265
.458
.678
.863
.965
.996
.029

.977
.949
.896
.815
.711
.595
.999

12
11
10
9
8
7
6

.078
.175
.333
.540
.751
.907
.980

.995
.987
.969
.933
.872
.785
.680

5
14
13
12
11
10
9

.998
.014
.043
.109
.228
.407
.620

.568
.999
.998
.993
.982
.958
.914

8
7
6
5
14
13
12

.815
.939
.989
.999
.022
.063
.147

.846
.755
.651
.543
.999
.996
.990

X
.480

.500

.520

.540

.560

S
11
10
9
8
7
6
14

D
.289
.484
.695
.867
.962
.994
.033

F
.974
.944
.893
.819
.726
.625
.998

13
12
11
10
9
8
7

.088
.194
.358
.563
.764
.908
.977

.995
.985
.965
.929
.870
.791
.698

6
15
14
13
12
11
10

.997
.015
.048
.120
.248
.432
.641

.600
.999
.997
.992
.979
.954
.911

9
8
7
6
15
14
13

.824
.939
.987
.998
.023
.069
.161

.846
.764
.672
.577
.999
.996
.988

12
11
10
9
8
7
6

.311
.509
.713
.873
.961
.993
.999

.972
.941
.891
.821
.738
.648
.556

15
14
13
12
11
10
9

.035
.095
.209
.381
.586
.778
.912

.998
.994
.984
.963
.926
.869
.796

X
.560
.580

.600

.650

.700

.750

S
8
7
16
15
14
13
12

D
.976
.996
.015
.051
.129
.266
.455

F
.713
.625
.999
.997
.991
.978
.952

11
10
9
8
7
16
15

.662
.835
.941
.986
.998
.023
.072

.908
.847
.772
.689
.603
.999
.996

14
13
12
11
10
9
8

.171
.331
.532
.732
.882
.962
.992

.988
.970
.938
.889
.824
.748
.666

7
17
16
15
14
13
12

.999
.017
.061
.156
.314
.518
.720

.583
.999
.997
.989
.973
.943
.898

11
10
9
8
17
16
15

.872
.957
.990
.998
.047
.137
.295

.837
.767
.692
.615
.998
.991
.976

14
13
12
11
10
9
18

.503
.710
.866
.953
.988
.998
.031

.948
.905
.849
.783
.714
.643
.999

238
X
.750

.800

.850

.850

.900

.950

Tabelas para modelos com populao finita

S
17
16
15
14
13
12
11

D
.113
.272
.487
.703
.864
.952
.988

F
.993
.980
.954
.913
.859
.798
.733

X
S
D
POPULAO 30

X
.032

.004
.007
.009
.010
.011

1
1
1
1
1

.116
.203
.260
.289
.317

.999
.998
.997
.996
.995

.034

10
19
18
17
16
15
14

.998
.014
.084
.242
.470
.700
.867

.667
.999
.996
.984
.959
.920
.869

.012
.013
.014

1
1
2
1
2
1
2

.346
.374
.067
.403
.076
.431
.085

.994
.993
.999
.991
.999
.989
.999

13
12
11
19
18
17
16

.955
.989
.998
.046
.201
.451
.703

.811
.750
.687
.998
.988
.965
.927

1
2
1
2
1
2
1

.458
.095
.486
.105
.513
.116
.541

.987
.999
.985
.999
.983
.999
.980

15
14
13
12
19
18
17

.877
.962
.991
.998
.135
.425
.717

.878
.823
.765
.706
.994
.972
.935

.020

2
1
2
1
2
1
2

.127
.567
.139
.594
.151
.620
.163

.998
.976
.998
.973
.998
.969
.997

16
15
14
13
19
18
17

.898
.973
.995
.999
.377
.760
.939

.886
.833
.778
.722
.981
.943
.894

.023
.024

1
2
1
2
1
2
1

.645
.175
.670
.188
.694
.201
.718

.965
.997
.960
.996
.954
.996
.948

16
15

.989
.999

.842
.789

.028

3
2
1
3
2
1
3

.051
.229
.763
.060
.257
.805
.071

.999
.995
.935
.999
.994
.918
.999

.015
.016

.017
.018
.019

.021
.022
.023

.025
.026

.030

.032

.036

.038

.040

.042

.044

.046

.048

.050

.052

.054

.056

S
2
1
3
2
1
3
2

D
.286
.843
.083
.316
.876
.095
.347

F
.992
.899
.999
.990
.877
.998
.988

1
3
2
1
3
2
1

.905
.109
.378
.929
.123
.410
.948

.853
.998
.986
.827
.997
.983
.800

3
2
1
4
3
2
1

.138
.442
.963
.040
.154
.474
.974

.997
.980
.772
.999
.996
.977
.744

4
3
2
1
4
3
2

.046
.171
.506
.982
.053
.189
.539

.999
.996
.972
.716
.999
.995
.968

1
4
3
2
1
4
3

.988
.060
.208
.571
.992
.068
.227

.689
.999
.994
.963
.663
.999
.993

2
1
4
3
2
1
4

.603
.995
.077
.247
.634
.997
.086

.957
.639
.998
.992
.951
.616
.998

239
X
.056

.058

.060

.062

.064

.066

.068

.070

.075

.080

.085

S
3
2
1
4
3
2
1

D
.267
.665
.998
.096
.288
.695
.999

F
.991
.944
.595
.998
.989
.936
.574

5
4
3
2
1
5
4

.030
.106
.310
.723
.999
.034
.117

.999
.997
.987
.927
.555
.999
.997

3
2
5
4
3
2
5

.332
.751
.038
.128
.355
.777
.043

.986
.918
.999
.997
.984
.908
.999

4
3
2
5
4
3
2

.140
.378
.802
.048
.153
.402
.825

.996
.982
.897
.999
.995
.979
.885

5
4
3
2
5
4
3

.054
.166
.426
.847
.069
.201
.486

.999
.995
.976
.873
.998
.993
.969

2
6
5
4
3
2
6

.893
.027
.088
.240
.547
.929
.036

.840
.999
.998
.990
.959
.805
.999

X
.085

.090

.095

.100

.105

.110

.110

.115

.120

S
5
4
3
2
6
5
4

D
.108
.282
.607
.955
.046
.132
.326

F
.997
.987
.948
.768
.999
.996
.984

X
.120
.125

S
2
8
7
6
5
4
3

D
.999
.024
.069
.171
.367
.666
.940

F
.555
.999
.998
.993
.977
.927
.783

3
2
6
5
4
3
2

.665
.972
.057
.158
.372
.720
.984

.934
.732
.999
.994
.979
.918
.697

.130

8
7
6
5
4
3
8

.030
.083
.197
.409
.712
.957
.037

.999
.997
.991
.972
.914
.758
.999

6
5
4
3
2
7
6

.071
.187
.421
.771
.991
.030
.087

.998
.993
.973
.899
.664
.999
.997

7
6
5
4
3
8
7

.098
.226
.451
.754
.970
.045
.115

.997
.989
.966
.899
.734
.999
.996

5
4
3
2
7
6
5

.219
.470
.816
.995
.038
.105
.253

.991
.967
.879
.634
.999
.997
.988

6
5
4
3
8
7
6

.256
.494
.793
.979
.055
.134
.288

.987
.960
.884
.710
.998
.995
.984

4
3
2
7
6
5
4

.520
.856
.997
.047
.125
.289
.570

.959
.857
.605
.999
.996
.985
.950

.150

5
4
3
9
8
7
6

.537
.828
.986
.024
.065
.155
.322

.952
.867
.687
.999
.998
.993
.980

3
2
7
6
5
4
3

.890
.998
.057
.147
.327
.619
.918

.833
.579
.998
.994
.981
.939
.808

.155

5
4
3
9
8
7
6

.580
.860
.991
.029
.077
.177
.357

.944
.849
.665
.999
.997
.992
.976

.135

.140

.145

240
X
.155

Tabelas para modelos com populao finita

S
5
4
3
9
8
7
6

D
.622
.887
.994
.036
.090
.201
.394

F
.935
.830
.644
.999
.997
.990
.972

.165

5
4
3
9
8
7
6

.663
.910
.996
.043
.105
.227
.431

.924
.811
.624
.999
.996
.988
.967

.170

5
4
3
10
9
8
7

.702
.930
.997
.019
.051
.121
.254

.913
.792
.606
.999
.998
.995
.986

6
5
4
3
10
9
8

.469
.739
.946
.998
.028
.070
.158

.961
.901
.773
.588
.999
.997
.993

7
6
5
4
3
10
9

.313
.546
.806
.969
.999
.039
.094

.980
.948
.874
.735
.555
.999
.996

8
7
6
5
4
11
10

.200
.378
.621
.862
.983
.021
.054

.990
.973
.932
.845
.699
.999
.998

.160

.160

.180

.190

.200

X
.200

.210

.220

.230

.230

.240

.250

S
9
8
7
6
5
4
11

D
.123
.249
.446
.693
.905
.991
.030

F
.995
.985
.963
.913
.814
.665
.999

X
.250

S
11
10
9
8
7
6
5

D
.095
.192
.345
.552
.773
.932
.992

F
.996
.989
.975
.944
.885
.789
.666

10
9
8
7
6
5
4

.073
.157
.303
.515
.758
.938
.995

.997
.992
.980
.952
.892
.782
.634

.260

13
12
11
10
9
8
7

.023
.056
.121
.233
.402
.616
.823

.999
.998
.994
.986
.967
.930
.864

11
10
9
8
7
6
5

.041
.095
.197
.361
.585
.816
.961

.999
.996
.989
.974
.938
.868
.751

6
5
13
12
11
10
9

.954
.995
.032
.073
.151
.279
.462

.763
.641
.999
.997
.992
.981
.959

4
12
11
10
9
8
7

.998
.023
.056
.123
.242
.423
.652

.606
.999
.998
.994
.985
.965
.923

8
7
6
5
14
13
12

.676
.866
.970
.997
.017
.042
.093

.915
.841
.737
.617
.999
.998
.996

6
5
4
12
11
10
9

.864
.976
.999
.031
.074
.155
.291

.842
.721
.580
.999
.997
.992
.981

11
10
9
8
7
6
5

.185
.329
.522
.733
.901
.981
.999

.989
.976
.949
.898
.818
.712
.595

8
7
6
5
4
13
12

.487
.715
.902
.986
.999
.017
.042

.955
.905
.816
.693
.556
.999
.998

14
13
12
11
10
9
8

.023
.055
.117
.223
.382
.582
.785

.999
.998
.994
.986
.969
.937
.880

.270

.280

.290

241
X
.290

.300

.300

.310

.320

.330

S
7
6
5
14
13
12
11

D
.929
.988
.999
.031
.071
.145
.266

F
.795
.688
.575
.999
.997
.992
.982

X
.340

10
9
8
7
6
15
14

.437
.641
.830
.950
.993
.017
.041

.962
.924
.861
.771
.666
.999
.998

13
12
11
10
9
8
7

.090
.177
.312
.494
.697
.869
.966

.996
.990
.977
.953
.909
.840
.749

6
15
14
13
12
11
10

.996
.023
.054
.113
.213
.362
.552

.645
.999
.998
.994
.987
.971
.943

.380

9
8
7
6
15
14
13

.748
.901
.977
.997
.030
.068
.139

.893
.820
.727
.625
.999
.997
.993

.380

12
11
10
9
8
7
6

.253
.414
.608
.795
.927
.985
.999

.983
.965
.931
.876
.799
.706
.606

.360

.400

S
16
15
14
13
12
11
10

D
.016
.040
.086
.169
.296
.468
.663

F
.999
.998
.996
.990
.979
.957
.918

9
8
7
6
16
15
14

.836
.947
.990
.999
.029
.065
.132

.858
.778
.685
.588
.999
.997
.993

13
12
11
10
9
8
7

.240
.392
.578
.762
.902
.974
.996

17
16
15
14
13
12
11

X
.420

S
18
17
16
15
14
13
12

D
.024
.056
.116
.212
.350
.521
.700

F
.999
.997
.994
.986
.972
.948
.910

11
10
9
8
19
18
17

.850
.945
.986
.998
.017
.041
.087

.856
.789
.713
.635
.999
.998
.996

.984
.967
.937
.889
.821
.738
.648

16
15
14
13
12
11
10

.167
.288
.446
.623
.787
.906
.970

.990
.979
.960
.929
.883
.824
.755

.020
.048
.101
.191
.324
.496
.682

.999
.998
.995
.988
.975
.952
.914

9
8
19
18
17
16
15

.994
.999
.028
.064
.129
.232
.375

.681
.606
.999
.997
.993
.985
.970

10
9
8
7
17
16
15

.843
.945
.988
.999
.035
.076
.150

.857
.784
.701
.614
.999
.996
.992

14
13
12
11
10
9
20

.545
.717
.857
.945
.985
.997
.019

.944
.906
.855
.793
.724
.652
.999

14
13
12
11
10
9
8

.264
.420
.601
.775
.903
.972
.995

.982
.964
.933
.886
.823
.748
.666

19
18
17
16
15
14
13

.046
.098
.184
.310
.470
.643
.799

.998
.995
.989
.977
.957
.926
.881

.440

.460

.480

242
X
.480

.500

.500

.520

.540

.560

.850

.900

Tabelas para modelos com populao finita

S
12
11
10
9
20
19
18

D
.910
.970
.993
.999
.032
.072
.143

F
.826
.762
.694
.625
.999
.997
.992

17
16
15
14
13
12
11

.252
.398
.568
.733
.865
.947
.985

.983
.967
.941
.904
.854
.796
.732

10
21
20
19
18
17
16

.997
.021
.051
.108
.200
.331
.493

.667
.999
.998
.994
.988
.975
.954

15
14
13
12
11
10
21

.663
.811
.915
.971
.993
.999
.035

.923
.880
.827
.767
.705
.641
.999

20
19
18
17
16
15
14

.079
.155
.270
.421
.590
.750
.874

.996
.991
.981
.965
.938
.901
.854

13
12
11
10
22
21
20

.949
.985
.997
.999
.023
.056
.117

.799
.740
.679
.617
.999
.997
.994

22
21
20
19
29
28
27

.957
.987
.997
.999
.047
.200
.441

.862
.823
.784
.745
.999
.992
.977

X
.560

.580

.600

.600

.650

.900

.950

S
19
18
17
16
15
14
13

D
.215
.352
.516
.683
.824
.920
.972

F
.986
.973
.952
.920
.878
.828
.772

12
11
23
22
21
20
19

.993
.999
.014
.038
.085
.167
.288

.714
.655
.999
.998
.996
.990
.980

18
17
16
15
14
13
12

.443
.612
.766
.883
.953
.985
.997

.963
.936
.899
.854
.802
.746
.690

11
23
22
21
20
19
18

.999
.024
.059
.125
.230
.372
.538

.632
.999
.997
.993
.986
.972
.949

17
16
15
14
13
12
24

.702
.837
.927
.974
.993
.999
.031

.918
.877
.829
.776
.722
.667
.999

23
22
21
20
19
18
17

.076
.158
.281
.439
.610
.764
.879

.996
.991
.982
.965
.940
.906
.865

26
25
24
23
22
21
29

.683
.856
.947
.985
.996
.999
.226

.953
.923
.888
.852
.815
.778
.993

X
.650

.700

.750

.800

.850

.950

S
16
15
14
13
25
24
23

D
.949
.983
.996
.999
.039
.096
.196

F
.818
.769
.718
.667
.998
.995
.989

22
21
20
19
18
17
16

.339
.511
.681
.821
.916
.967
.990

.977
.958
.930
.894
.853
.808
.762

15
26
25
24
23
22
21

.997
.046
.118
.240
.405
.587
.752

.714
.998
.994
.986
.972
.950
.920

20
19
18
17
16
27
26

.873
.946
.981
.995
.999
.053
.143

.883
.842
.799
.755
.711
.998
.993

25
24
23
22
21
20
19

.292
.481
.670
.822
.919
.970
.991

.984
.966
.941
.909
.872
.832
.791

18
28
27
26
25
24
23

.998
.055
.171
.356
.571
.760
.888

.750
.998
.993
.981
.960
.932
.899

28
27
26
25
24

.574
.831
.951
.989
.998

.973
.945
.912
.877
.842

Bibliografia

[1]

Paul A. Jensen and J. Wesley Barnes, Network Flow Programming, John Wiley & Sons, 1980.

[2]

V.K.Balakrishnan, Graph Theory, Schaums Outline Series, McGraw-Hill,


1997.

[3]

Vinod Chachra, Prabhakar M. Ghare and James M. Moore, Applications of


Graph Theory Algorithms, North Holland, 1979.

[4]

Ravindra K. Ahuja, Thomas L. Magnanti and James B. Orlin, Network Flows,


Prentice-Hall, 1993.

[5]

Don T. Phillips and Alberto Garcia-Diaz, Fundamentals of Network Analysis,


Waveland Press, 1990.

[6]

Mokhtar S. Bazaraa, John J. Jarvis and Hanif D. Sherali, Linear Programming and Network Flows, 2a Edtion, John Wiley & Sons, 1990.

[7]

Frederick S. Hillier and Gerald J. Lieberman, Introduction to Operations Research, 7a Edition, McGraw-Hill, 2001.

[8]

J Murdoch, Queueing Theory - Worked Examples and Problems, The MacMillan Press, 1978.

[9]

Leonard Gorney, Queueing Theory - A Problem Solving Approach, Petrocelli


Books, 1980.

[10] Brian D. Bunday, Basic Queueing Theory, Edward Arnold, 1986.


[11] Joseph A. Panico, Teoria de las Colas, Prolam S.R.L., 1973.
[12] E.Page, Queueing Theory in OR, The Butterworth Group, 1972.
[13] Juan Prawda, Mtodos y Modelos de Investigacin de Operaciones, Vol. 2,
Editorial Limusa S.A., 1980.
[14] L. Valadares Tavares, Rui Carvalho Oliveira, Isabel Hall Themido e F. Nunes
Correia, Investigao Operacional, McGraw Hill - Lisboa, 1996.
[15] Billy E. Gillett, Introduction to Operations Research - A Computer Oriented
Algorithmic Approach, McGraw-Hill, 1976.

244

BIBLIOGRAFIA

[16] J.A. White, J.W. Schmidt and G.K. Bennett, Analysis of Queueing Systems,
Academic Press, 1975.
[17] W.J. Fabrycky, P.M. Ghare and P.E. Torgersen, Industrial Operations Research, Prentice-Hall, 1972.
[18] Elwood S. Buffa, Operations Management - Problems and Models, 3a Edition,
John Wiley & Sons, 1972.
[19] Laurence J. Moore, Sang M. Lee and Bernard W. Taylor, Management Science,
Allyn and Bacon, 1993.
[20] Joseph J. Moder and Cecil R. Phillips, Project Management with CPM and
PERT, 2a Edition, Van Nostrand, 1970.
[21] Arnold O. Allen, Probability, Statistics and Queueing Theory with Computer
Science Applications, 2a Edition, Academic Press, 1990.
[22] Averril M. Law and W.David Kelton, Simulation Modeling and Analysis, 3a
Edition, McGraw-Hill, 2000.
[23] W.David Kelton, Randall P. Sadowski and Deborah A. Sadowski, Simulation
with Arena, 2a Edition, McGraw-Hill, 2000.
[24] Paulo Jos de Freitas Filho, Introduo a Modelagem e Simulao de Sistemas, Visual Books, 2001.
[25] Kevin Watkins, Discret Event Simulation in C, McGraw-Hill, 1993.
[26] Jerry Banks, John S. Carson II and Barry L. Nelson, Discret-Event System
Simulation, 2a Edition, Prentice Hall, 1996.
[27] James R. Evans and David L. Olsen, Introduction to Simulation and Risk
Analysis, Prentice-Hall, 1998.

Você também pode gostar