pagina de rosto - espelho bibliográfico em

220
INPE-7011-TDI/659 SIMULAÇÃO DE FILAS GI/G/m E VERIFICAÇÃO DE APROXIMAÇÕES DESTAS POR FILAS Ph/Ph/m José Olimpio Ferreira Dissertação de Mestrado em Computação Aplicada, orientada pela Dr. Sólon Venâncio de Carvalho, aprovada em agosto de 1998. INPE São José dos Campos 1999

Upload: dinhnguyet

Post on 13-Dec-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

INPE-7011-TDI/659

SIMULAÇÃO DE FILAS GI/G/m E VERIFICAÇÃO DE APROXIMAÇÕES DESTAS POR FILAS Ph/Ph/m

José Olimpio Ferreira

Dissertação de Mestrado em Computação Aplicada, orientada pela Dr. Sólon Venâncio de Carvalho, aprovada em agosto de 1998.

INPE São José dos Campos

1999

519.8 FERREIRA, J. O.

Simulação de filas GI/G/m e verificação de apro-ximações destas por filas Ph/Ph/m / J. O. Ferreira. – São José dos Campos: INPE, 1998.

220p. – (INPE-7011-TDI/659). 1. Processos estocásticos. 2. Simulação. 3.Sistemas de

filas. 4.Simulações de filas. 5.Pesquisa operacional. I.Título.

O engajamento na ciência (empregando a palavra na acepção geral alemã

Wissenschaft) não reside na discordância sobre fatos verificados, mas sobre sua

escolha e combinação, e sobre o que se pode inferir a partir dos mesmos.

Eric Hobsbawn (1917-), historiador, em “Sobre Historia”.

E para que executar projetos, já que o projeto é, nele mesmo, um prazer

suficiente?

Charles Baudelaire (1821-1867), poeta francês, em “Pequenos poemas em prosa”.

Dedico carinhosamente esta dissertação

aos meus pais Manoel e Elizena ( )

aos meus filhos Vitor, Vinicius e Natália

a minha esposa Maria das Graças

e a todos aqueles que me incentivaram e apoiaram.

AGRADECIMENTOS

Gostaria de agradecer ao meu orientador Dr. Solon Venâncio de Carvalho por ter me

orientado e ajudado neste trabalho, pela sua imensa paciência e disponibilidade e,

principalmente, pelo respeito e incentivo demonstrados durante este período à minha

“independência intelectual”.

Agradeço à minha esposa Maria das Graças e à minha filha Natália que suportaram

minhas angústias, ansiedades e nervosismo e me apoiaram neste período. E,

especialmente, aos meus filhos Vitor e Vinicius que souberam compreender a minha

ausência durante estes dois anos e meio para a concretização deste trabalho.

Gostaria de agradecer a Universidade Católica de Goiás – UCG - e a CAPES/MEC por

terem proporcionado as condições financeiras para que eu pudesse cursar o Mestrado

em Computação Aplicada no Instituto Nacional de Pesquisas Espaciais – INPE.

Agradeço, também, aos amigos e colegas que me apoiaram e incentivaram a fazer este

curso de Mestrado em Computação Aplicada, e que me aconselharam nos momentos

mais delicados.

RESUMO

A avaliação de desempenho de um sistema de fila GI/G/m é um clássico problema

difícil. Estes sistemas de filas com múltiplos servidores são notoriamente difíceis de

serem analisados analiticamente, sendo que uma solução analítica exata somente é

possível para casos especiais, tais como as filas M/M/m, M/D/m, M/K2 /m, GI/H2/m,

GI/EK/m, GI/Ph/m, Ph/D/m e Ph/Ph/m. Os modelos de simulação por computadores,

apesar de exigirem muitos recursos de hardware (memória de trabalho e de

armazenagem de massa, velocidade de processamento da CPU) e de consumirem muito

tempo na execução das rodadas da simulação, permitem considerações mais próximas

das situações reais. Os modelos de simulação podem ser bastante úteis na checagem de

suposições necessárias num modelo analítico e na checagem dos resultados do modelo

analítico. Este trabalho trata da estimação de medidas de desempenho, em equilíbrio, de

filas GI/G/m através de simulação. Também é tratada a verificação de aproximações de

filas GI/G/m por filas Ph/Ph/m.

GI/G/m QUEUEING SIMULATION AND GI/G/m QUEUE APROXIMATIONS

FOR Ph/Ph/m QUEUES

ABSTRACT

The performance evaluation of a GI/G/m queueing system is a classic hard problem.

These multi-server queues are notoriously difficult to be evaluated analytically and, a

analytic solutions is possible only for special cases, just as the queues M/M/m, M/D/m,

M/K2 /m, GI/H2/m, GI/EK/m, GI/Ph/m, Ph/D/m e Ph/Ph/m. The computer simulation

models, despite of requiring many hardware resources (work memory, storage memory,

processing speed of the CPU) and consuming large amount of computer times in the

execution of the simulation runs, allow the evaluation of more realistic models. The

computer simulation models can be convenient enough to check the validity of

assumptions needed in an analytic model and to check the results of the analytic model.

This study deals with the estimation of steady-state (long-run) measures of performance

for GI/G/m queueing systems through simulation models. It also checks the GI/G/m

queues approximations by Ph/Ph/m queues.

SUMÁRIO

Pág.

CAPÍTULO 1 – INTRODUÇÃO 37

1.1 - Introdução 37

1.2 - Problema 41

1.3 - Objetivo do estudo 44

1.4 - Revisão bibliográfica 45

CAPÍTULO 2 – CONCEITOS BÁSICOS 49

2.1 - Introdução 49

2.2 - Simulação 49

2.2.1- O Processo de simulação 57

2.3 - A Fila GI/G/m 60

2.3.1- Medidas de performance da Fila GI/G/m 64

2.3.1.1- Medidas de performance da fila M/M/m 67

2.3.1.2- Medidas de performance da fila D/D/m 68

2.3.2- Relações de Little 68

2.3.3- Estimativas das medidas de performance da fila GI/G/m a partir de uma

execução da simulação 70

2.3.3.1- Número médio no sistema e número médio na fila 70

2.3.3.2- Tempo médio no sistema e espera média na fila 72

2.3.3.3- As fórmulas de Little e as estimativas qq WWLL ˆ e ˆ,ˆ,ˆ 73

2.4 - Distribuições de probabilidade 73

2.4.1- Distribuição exponencial 74

2.4.2- Distribuição Gamma (Gm) 76

2.4.3- Distribuição de Weibull (W) 78

2.4.4- Distribuição de Erlang de ordem k (Ek) 79

2.4.4.1- Misturas de Erlangs de ordens k E k-1 (Ek-1, k) 81

2.4.5- Distribuição hiperexponencial de ordem k (Hk) 82

2.4.5.1 - Distribuição hiperexponencial de ordem 2 com médias balanceadas

(H2b) 84

2.4.5.2 - Distribuição hiperexponencial de ordem 2 com normalização Gamma

(H2g) 85

2.4.5.3 - Distribuição H2 ajustada pelos três primeiros momentos 86

2.4.6- Distribuições do tipo fase (Ph) 86

2.4.6.1- Distribuição de Cox de ordem 2 com normalização gamma (C2g) 90

2.4.7- Distribuição histograma 92

CAPÍTULO 3 – MODELO DE SIMULAÇÃO 95

3.1 - Introdução 95

3.2 - Modelo comunicativo 96

3.3 - Modelo programado 96

3.4 - Verificação e validação do modelo de simulação 98

3.4.1- Metodologia para aplicação dos testes para a uniformidade e para a

independência 103

3.4.1.1- Teste de Kolmogorov-Smirnov 107

3.4.1.2- Teste de execuções acima e abaixo da média 109

CAPÍTULO 4 – MODELO EXPERIMENTAL 111

4.1 - Introdução 111

4.2 - Projeto de experimento 112

4.2.1- Especificação 115

4.2.2- Configurações – cenários 116

4.2.3- Replicações 117

4.2.4- Experimentação 117

4.3 - Análise dos resultados do experimento 117

4.3.1- Método das Replicações independentes para a estimação dos intervalos

de confiança 119

4.3.2- Intervalos de confiança com uma precisão especificada 122

4.3.3- Procedimento de aplicação do teste-t de Student 123

4.3.4- Aplicação do teste-t de Student na comparação da fila GI/G/m contra a

fila Ph/Ph/m 126

4.3.5- Metodologia para o cálculo da probabilidade de cobertura observada 128

CAPÍTULO 5 – PERÍODO DE INICIALIZAÇÃO E TEMPO DE

EXECUÇÃO 131

5.1- Introdução 131

5.2- Período de inicialização 132

5.3- Tempo de execução 146

5.3.1- Metodologia para determinação do tempo de execução TE 148

5.3.1.1- Análise estatística padrão 151

5.3.1.2- Os casos especiais M/G/1 155

5.3.1.3- Limites de tráfego pesado 160

5.3.1.4- Movimento Browniano Regulado (RBM) 160

5.3.1.5- O limite de tráfego pesado assumido e a aproximação por RBM 163

5.3.1.6- Refinamentos M/M/1 165

5.3.1.7- A qualidade da aproximação normal em 5.21 167

CAPÍTULO 6 – APRESENTAÇÃO DOS RESULTADOS 169

6.1 - Introdução 169

6.2 - Verificação e validação do modelo de simulação 170

6.3 - Análise dos resultados da simulação da fila Gm/Gm/2 179

6.4 - Análise dos resultados da simulação da fila Ph/Ph/2 184

6.5 - Análise dos resultados da aproximação da fila Gm/Gm/2 pela fila

Ph/Ph/2 189

CAPÍTULO 7 – CONCLUSÕES E COMENTÁRIOS 197

REFERÊNCIAS BIBLIOGRÁFICAS 201

APÊNDICE 1 – VARIÁVEIS E CÓDIGOS DO MODELO PROGRAMADO 205

LISTA DE FIGURAS

Pág.

2.1 - Fluxo de controle para a abordagem de avanço do tempo orientada ao

próximo evento de uma simulação a eventos discretos 54

2.2 - Passos num estudo de simulação 59

2.3 - Layout da fila GI/G/m 64

2.4 - Número de clientes na fila, L(t), no tempo t 71

2.5 - Diagrama de transição de estados da distribuição de Erlang de ordem 80

2.6 - Diagrama de estados de uma mistura Ek-1, k de Erlangs de ordens k e k-1 82

2.7 - Diagrama de estados de uma distribuição Hk 83

2.8 - Diagrama de estados da distribuição H2 85

2.9 - Diagrama de estados de uma Ph na forma da configuração de Cox 87

2.10 - A distribuição de Cox com duas fases 90

2.11 - Gráfico da distribuição de freqüências 93

3.1 - DCAs (C = Cliente e S = Servidor) 96

3.2 - Diagrama de rede do modelo programado 97

5.1 - Fases da execução da simulação 132

LISTA DE TABELAS

Pág.

2.1 - Distribuição de freqüências 92

2.2 - Tabela transformada da distribuição de freqüências 94

6.1 – Tamanhos iniciais dos experimentos para a verificação e validação do

modelo de simulação com β = 0,05 eε = 0,02 171

6.2 – Valores verdadeiros e resultados da simulação da fila M/M/1 com

taxa de utilização de 20% 175

6.3 – Valores verdadeiros e resultados da simulação da fila M/M/1 com

taxa de utilização de 80% 176

6.4 – Valores verdadeiros e resultados da simulação da fila M/M/2 com

taxa de utilização de 20% 176

6.5 – Valores verdadeiros e resultados da simulação da fila M/M/2 com

taxa de utilização de 80% 177

6.6 – Valores verdadeiros e resultados da simulação da fila E2 /H2b/5 com

taxa de utilização de 80% 177

6.7 – Valores verdadeiros e resultados da simulação da fila H2b/E2

b/5 com

taxa de utilização de 80% 178

6.8 – Valores verdadeiros e resultados da simulação da fila D/D/1 com taxa

de utilização de 80% 178

6.9 – Valores verdadeiros e resultados da simulação da fila D/D/2 com

taxa de utilização de 80% 178

6.10 – Aplicações das relações de Litlle para os resultados da simulação dos

experimentos para verificação e validação 179

6.11 – Testes do gerador de números aleatórios do software de simulação

“Micro Saint” 179

6.12 – Tamanhos iniciais dos experimentos de simulação de filas Gm/Gm/2

com ρ = 75%, β = 0,05 e ε = 0,02 181

6.13 – Tamanhos necessários (finais) dos experimentos de simulação de filas

Gm/Gm/2 com ρ = 75%, β = 0,05 e ε = 0,02 181

6.14 – Resultados da simulação da fila Gm/Gm/2 com 5,0 E 5,0 22 == ST cc 182

6.15 – Resultados da simulação da fila Gm/Gm/2 com 1 E 5,0 22 == ST cc 182

6.16 – Resultados da simulação da fila Gm/Gm/2 com 2 E 5,0 22 == ST cc 182

6.17 – Resultados da simulação da fila Gm/Gm/2 com 5,0 E 1 22 == ST cc 183

6.18 – Resultados da simulação da fila Gm/Gm/2 com 2 E 1 22 == ST cc 183

6.19 – Resultados da simulação da fila Gm/Gm/2 com 5,0 E 2 22 == ST cc 183

6.20 – Resultados da simulação da fila Gm/Gm/2 com 1 E 2 22 == ST cc 184

6.21 – Resultados da simulação da fila Gm/Gm/2 com 2 E 2 22 == ST cc 184

6.22 – Tamanhos iniciais dos experimentos de simulação de filas C2/C2/2

com ρ = 75%, β = 0,05 e ε = 0,02 186

6.23 – Tamanhos necessários (finais) dos experimentos de simulação de filas

C2/C2/2 com ρ = 75%, β = 0,05 e ε = 0,02 186

6.24 – Resultados da simulação da fila C2/C2/2 com 5,0 E 5,0 22 == ST cc 187

6.25 – Resultados da simulação da fila C2/C2/2 com 1 E 5,0 22 == ST cc 187

6.26 – Resultados da simulação da fila C2/C2/2 com 2 E 5,0 22 == ST cc 187

6.27 – Resultados da simulação da fila C2/C2/2 com 5,0 E 1 22 == ST cc 188

6.28 – Resultados da simulação da fila C2/C2/2 com 2 E 1 22 == ST cc 188

6.29 – Resultados da simulação da fila C2/C2/2 com 5,0 E 2 22 == ST cc 188

6.30 – Resultados da simulação da fila C2/C2/2 com 1 E 2 22 == ST cc 189

6.31 – Resultados da simulação da fila C2/C2/2 com 2 E 2 22 == ST cc 189

6.32 – Tamanhos dos experimentos de simulação utilizados na verificação

da aproximação de filas Gm/Gm/2 por filas C2/C2/2 com ρ = 75%, β

= 0,05 e ε = 0,02 191

6.33 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 5,0 E 5,0 22 == ST cc 191

6.34 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 1 E 5,0 22 == ST cc 192

6.35 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 2 E 5,0 22 == ST cc 192

6.36 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 5,0 E 1 22 == ST cc 193

6.37 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 2 E 1 22 == ST cc 193

6.38 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 5,0 E 2 22 == ST cc 194

6.39 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 1 E 2 22 == ST cc 194

6.40 – Resultado da verificação da aproximação da fila Gm/Gm/2 pela fila

C2/C2/2 com 2 E 2 22 == ST cc 195

LISTA DE SIMBOLOS

A(t) Distribuição dos tempos entre chegadas

arg argumento

B(t) Distribuição dos tempos de serviço

Biasa vício absoluto

Biasr vício relativo

[ ]θBias Vício do estimador θ devido às condições de inicialização

[ ]θBias^

Estimativa da [ ]θBias

C2 Distribuição de Cox de ordem 2

C2g Distribuição de Cox de ordem 2 com normalização gamma

AA Cc ou Coeficiente de variação dos tempos entre chegadas

22 ou AA Cc Quadrado do coeficiente de variação dos tempos entre chegadas

Cr Distribuição de Cox de ordem r

SS Cc ou Coeficiente de variação dos tempos de serviço

22 ou SS Cc Quadrado do coeficiente de variação dos tempos de serviço

C(t) Função de (auto) covariância

CR(t) Função de (auto) covariância do RBM canônico

CW(t) Função de (auto) covariância do processo {W(n): n = 0, 1, 2, ...}

( )tC yz Função de (auto) covariância do processo escalado ( )tLyzq

( )tCρ Função de (auto) covariância do processo ( )tLqρ

d* Ponto de truncamento da amostra

rd r-ésima diferença entre as estimativas rr ZY ˆ e ˆ da r-ésima replicação

dos processos Y e Z

d Estimativa da do valor esperado do processo Y-Z

Dβ Valor crítico para um teste de Kolmogorov-Smirnov

D Estatística para um teste de Kolmogorov-Smirnov

D Distribuição Determinística

Dn Espera na fila do n-ésimo cliente (excluindo o tempo de serviço)

(n)D Estimativa da média E[D(0)]

DCAs Diagrama de Ciclos de Atividades

E0 Espaço de estados para o sistema vazio e parado

EI Espaço de estados para o sistema após o período de inicialização TI

Er Distribuição de Erlang de ordem r

E[D(0)] Espera média, em equilíbrio, de um cliente arbitrário na fila, supondo

estacionariedade do processo D(t)

E[L] Número médio, em equilíbrio, de clientes presentes no sistema para um

tempo arbitrário

E[L(0)] Número médio, em equilíbrio, de clientes presentes no sistema para um

tempo arbitrário, supondo estacionariedade do processo L(t)

E[Lq] Número médio, em equilíbrio, de clientes esperando na fila para um

tempo arbitrário

E[Lq(0)] Número médio, em equilíbrio, de clientes esperando na fila para um

tempo arbitrário, supondo estacionariedade do processo Lq(t)

( )[ ]0yzqLE

Número médio, em equilíbrio, de clientes esperando na fila para um

tempo arbitrário, supondo a estacionariedade do processo (t)Lq yz

E[S] Tempo médio, em equilíbrio, de serviço

E[T] Tempo médio, em equilíbrio, entre chegadas

E[V(0)] Carga média, em equilíbrio, de trabalho de um processo V(t)

estacionário

E[W] Espera média, em equilíbrio, de um cliente arbitrário no sistema

E[W(0)] Espera média, em equilíbrio, de um cliente arbitrário no sistema,

supondo estacionariedade do processo W(t)

E[Wq] Espera média, em equilíbrio, de um cliente arbitrário na fila

[ ]cGGIqWE

// Tempo médio aproximado de espera na fila GI/G/c

[ ]cMMqWE

// Tempo médio aproximado de espera na fila M/M/c

E[Y] Média em equilíbrio do processo de interesse

G Distribuição Geral do tempo de serviço

GI Distribuição Geral Independente do tempo entre chegadas

Gm Distribuição gamma

H0 Hipótese nula

H1 Hipótese alternativa

H2 Distribuição Hiperexponencial de ordem 2

H2b Distribuição Hiperexponencial de ordem 2 com médias balanceadas

H2g Distribuição Hiperexponencial de ordem 2 com normalização gamma

Hr Distribuição Hiperexponencial de ordem r

Hl Meia largura (metade) do intervalo de confiança

hla Meia largura (metade) do intervalo de confiança segundo o critério do

erro padrão absoluto

hlr Meia largura (metade) do intervalo de confiança segundo o critério do

erro padrão relativo

I Contador ou enumerador

Iid Independentes e identicamente distribuídas

I Número de variáveis de entrada da simulação

J Número de variáveis de saída da simulação

K Número de micro-replicações

L Estimativa do número médio de clientes presentes no sistema, obtida

dos dados de saída da simulação

qL Estimativa do número médio de clientes esperando na fila, obtida dos

dados de saída da simulação

L(t) Número de clientes no sistema no instante t (incluindo aqueles em

serviço)

(t)L Estimativa da média E[L(0)]

Lq(t) Número de clientes na fila no instante t (excluindo aqueles em serviço)

( )tLyzq Escalamento do processo Lq(t) com escalares y e z positivos arbitrários

( )tLqρ O processo Lq(t) com taxa de utilização ρ

( )tLqρˆ Normalização do processo ( )tLqρ

q(t)L Estimativa da média E[Lq(0)]

)q(L ∞ Limite de q(t)L quando t → ∞

LN Distribuição logonormal

M Número de servidores

M Distribuição Markoviana (exponencial ou de Poisson)

Mim minimizar

mk k-ésimo momento

mmax Maior valor de m tal que a estimativa obtida através da heurística de

relaxação do tempo tenha passado no teste de remoção do vício

Mr Média em equilíbrio de uma característica do processo

^mr

Estimativa da média mr através da simulação de n cópias de um

processo

MSE Erro quadrado médio (do inglês “Mean Squared Error”)

^MSE Estimativa do erro quadrado médio do estimador θ

N Número ou quantidade de ...

N Número ou quantidade de ...

NSO Número de servidores ocupados

^NSO Estimativa de NSO obtida a partir dos dados da simulação

N(0, σ2) Distribuição normal com média 0 e variância σ2

Pco Probabilidade de cobertura observada

Q*(t) Limite inferior para o valor verdadeiro (em equilíbrio) do número

esperado de clientes na fila em função do tempo

Q(∞) Número esperado de clientes na fila em função do tempo, em equilíbrio

Q(t) Número esperado de clientes na fila em função do tempo

Rn Quantidade de tempo gasto pelo n-ésimo cliente no sistema (incluindo o

tempo de serviço)

R Número de replicações (ou de macro-replicações) da simulação

R(t; a, b, X) RBM com direção a (> 0) e coeficiente de difusão b (> 0)

( )... Yes Erro padrão do estimador .Y

des ˆ.. Erro padrão do estimador d

S2 Variância da amostra

S Estimativa do tempo médio de serviço, obtida dos dados de saída da

simulação

S Desvio padrão da amostra

t0 Estatística para um teste de normalidade da hipótese para o teste t de

Student

ta (ε , β) Tamanho necessário da simulação para se obter uma precisão estatística

desejada, ε , segundo o critério da largura absoluta do Intervalo de

tr (ε , β) Tamanho necessário da simulação para se obter uma precisão estatística

desejada, ε , segundo o critério da largura relativa do Intervalo de

2β,1−Rt Valor crítico para um teste de normalidade da hipótese para o teste t de

Student

T Estimativa do tempo médio entre chegadas, obtida dos dados de saída

da simulação

TI Período (ou tempo) de inicialização da simulação

TE Período (ou tempo) de execução da simulação

TN Período (ou tempo) necessário de execução da simulação para que a

aproximação normal seja razoável

U Distribuição uniforme

U(0, 1) Distribuição uniforme no intervalo [0, 1]

^Var Estimativa da variância do estimador θ

Var Variância do estimador θ

V(t) Processo do tempo de espera virtual ou carga de trabalho

(t)V Estimativa da média E[V(0)]

W Distribuição de Weibull

W Estimativa da espera média de um cliente arbitrário no sistema, obtida

dos dados de saída da simulação

qW Estimativa da espera média de um cliente arbitrário na fila, obtida dos

dados de saída da simulação

Wa Largura absoluta do intervalo de confiança para um β dado

Wr Largura relativa do intervalo de confiança para um β dado

(n)W Estimativa da média E[W(0)]

( )Ei TY Estimador não viciado da média verdadeira da i-ésima cópia de um

certo processo da simulação

rY Estimador não viciado da média verdadeira de uma característica de um

dado processo da r-ésima replicação da simulação

.Y Estimador não viciado da média verdadeira de uma característica de um

dado processo através de R replicações da simulação

( )dnY , Média de uma amostra de tamanho n com o descarte de d dados iniciais

Z0 Estatística para um teste de normalidade da hipótese para o teste Z

normal

Zβ/2 Valor crítico para um teste de normalidade da hipótese para o teste Z

normal

α Parâmetro de escala

β Nível de significância para um teste de hipóteses

β(TI , TE) vício do estimador ^

mr

ITβ vício do estimador ^

mr para um dado TI, quando TE → ∞

0β vício do estimador ^

mr para TI = 0, quando TE → ∞

ε Precisão relativa especificada

φ Estimador não viciado da média verdadeira de uma característica de um

dado processo a tempo contínuo

φ Média verdadeira de uma característica de um dado processo a tempo

contínuo

λ Taxa média de chegadas de clientes

λ Estimativa da taxa média de chegadas, obtida dos dados de saída da

simulação

µ0 Valor especificado na hipótese nula

µ Taxa média de serviços de clientes ou valor da média verdadeira de

uma característica de um certo processo

ν Parâmetro de locação

θ Estimador não viciado da média verdadeira de uma característica de um

dado processo a tempo discreto

θ Média verdadeira de uma característica de um dado processo a tempo

discreto ou Parâmetro de forma de uma função de densidade

θa Aproximação para média verdadeira θ

ρ Taxa de utilização do sistema

τ Tempo constante ou “tempo de relaxação”

Rτ Estimativa, proposta por Odoni e Roth (1983), do tempo constante ou

“tempo de relaxação”

σ Valor do desvio padrão verdadeiro de uma característica de um dado

processo

σ2 Valor da variância verdadeira de uma característica de um dado

processo

2Dσ Variância assintótica da média amostral (t)D

2Lσ Variância assintótica da média amostral (t)L

2qLσ Variância assintótica da média amostral q(t)L

2Rσ Variância assintótica do RBM canônico

2Vσ Variância assintótica da média amostral (t)V

2Wσ Variância assintótica da média amostral (t)W

( )tyz2σ Variância assintótica do processo escalado ( )tL

yzq

( ).2 Yσ Variância do estimador .Y

( ).2 ˆˆ Yσ Estimador de ( ).2 Yσ

2ρσ Variância assintótica do processo ( )tLqρ

LISTA DE SIGLAS E ABREVIATURAS

FCFS “First-Come, First-Served” (primeiro a chegar, primeiro a ser servido)

FIFO “First-In, First-Out” (primeiro a entrar, primeiro a sair)

LIFO “Last-In, First-Out” (último a entrar, primeiro a sair)

MSEAT Heurística de truncamento pelo critério do erro quadrado médio usando

aproximação (do inglês “Mean Squared Error Approximation

Truncation”)

MSEASVT Heurística de truncamento pelo critério do erro quadrado médio usando

aproximação e variância da amostra (do inglês “Mean Squared Error

Approximation Sample Variance Truncation”)

RBM Movimento browniano refletor (do inglês “Reflecting Brownian Motion”)

37

CAPÍTULO 1

INTRODUÇÃO

1.1- INTRODUÇÃO

No cotidiano contextos de sistemas de filas ocorrem freqüentemente: pacientes num

consultório médico esperando por uma consulta; consumidores num supermercado

esperando em frente aos caixas; aviões esperando para decolar (aterrizar) num

aeroporto; chamadas telefônicas esperando serem roteadas pelo operador de PABX;

chamadas telefônicas para uma central de telefonia; etc.

Um sistema de filas pode também ser olhado num contexto de integração, formando

redes de filas, onde a saída de uma fila pode formar a chegada de outra fila e a saída

desta última pode ser decomposta para formar chegadas de outros sistemas, etc. Estas

redes de filas surgem naturalmente em processos de produção industrial onde partes

concluídas de itens têm que ser submetidas a um número de processos antes que elas

estejam prontas para distribuição a consumidores. Podem surgir, também, de contextos

da comunicação eletrônica e redes de transmissão, onde mensagens para transmissão

são codificadas em sinais eletrônicos e estes sinais têm que ser processados no

transmissor, em pontos no sistema de transmissão, e novamente na recepção onde são

decodificados.

Os problemas de fila tiveram basicamente sua origem no trabalho de Erlang em

telefonia no início do século. E, atualmente, a aplicação de teoria de fila na análise de

performance de sistemas de computação, comunicações, produção industrial, transporte,

manutenção, entre outros, tem estimulado muitas pesquisas aplicadas em aspectos

computacionais de modelos de filas.

Os modelos de filas são motivados por situações em que o processo de chegada a um

serviço, ou o processo de serviço, ou ambos são probabilísticos, resultando

possivelmente numa fila de espera. Desta forma pode-se imaginar várias situações da

vida real onde existe um fluxo de clientes (pessoas, veículos, pedidos, transações, etc.)

38

em busca de um serviço (caixas de banco ou supermercados, pedágios, estações de uma

rede, distribuidora, banco de dados, etc.). Estes sistemas têm uma capacidade máxima

de atendimento e estão sujeitos a demandas, aleatórias ou não, e a tempos de chegadas

de clientes, programados ou não. A caracterização destas duas quantidades, aleatórias

ou não, os tempos de chegadas e os tempos de serviço, e a evolução dos seus efeitos

podem provocar a formação de filas de clientes, ou causar problemas de

congestionamento. É bem conhecido que congestionamentos em sistemas de filas

ocorrem largamente por causa de flutuações aleatórias no processo de chegada e nos

tempos de serviço e que existem muitos resultados mostrando que congestionamentos

crescem com o aumento da variabilidade. A ferramenta primária para estudar os

problemas de congestionamento ou fenômenos de fila é conhecida como teoria de filas.

Neste estudo foram considerados sistemas de filas em isolamento, onde os clientes

requerem um único serviço e abandonam o sistema após ter recebido o serviço. É

importante ressaltar que os resultados fundamentais da análise destes sistemas também

são, geralmente, úteis na análise de sistemas de redes de filas.

Este trabalho trata da fila GI/G/m, ou seja, do sistema de filas que tem as seguintes

características:

1. m servidores em paralelo e uma única fila com disciplina First-In, First-Out

(FIFO) com sala de espera ilimitada alimentando todos os servidores;

2. uma população ilimitada de prováveis clientes;

3. os tempos entre chegadas T1 , T2 .....são variáveis aleatórias iid;

4. os tempos de serviço S1 , S2 .....são variáveis aleatórias iid;

5. Os Ti’s e Si’s são independentes.

Este sistema com as características descritas acima é denominado um sistema de filas

GI/G/m, onde GI (Geral independente) refere-se à distribuição das variáveis aleatórias

Ti’s e G (Geral) refere-se à distribuição das variáveis aleatórias Si’s.

39

Para uma avaliação descritiva de um sistema de fila GI/G/m recorre-se a um modelo de

avaliação de desempenho. Um modelo de avaliação de desempenho é descritivo e

oferece medidas de avaliação de desempenho para o entendimento da operação do

sistema. Num sistema de filas as medidas usuais de avaliação de desempenho são:

intensidade de tráfego ou utilização dos serviços; tempo médio de permanência no

sistema; tempo médio de espera na fila; número médio de clientes no sistema; número

médio de clientes na fila; número médio de clientes recebendo serviço; utilização do

sistema ou carga de trabalho; taxa média de serviço.

A forma com a qual são tratados os modelos de avaliação de desempenho podem ser

classificados basicamente em: (i) métodos exatos; (ii) métodos aproximados; e (iii)

simulação e técnicas relacionadas. E para cada situação deve ser avaliada a propriedade

de se adotar um método exato, ou um método aproximado, ou uma simulação.

A avaliação de desempenho de um sistema de fila GI/G/m é um clássico problema

difícil. Estes sistemas de filas com múltiplos servidores são notoriamente difíceis de

serem analisados analiticamente, sendo que uma análise algorítmica exata somente é

possível para casos especiais (os sistemas de filas M/M/m, M/D/m, M/C2 /m, GI/H2 /m,

GI/EK /m, GI/Ph/m, Ph/D/m e Ph/Ph/m). Deve ser lembrado que existem soluções

obtidas através de métodos aproximados, que podem ser úteis para propósitos práticos.

Os modelos de simulação por computadores, apesar de exigirem muitos recursos de

“hardware” (memória de trabalho e de armazenamento de massa, velocidade de

processamento da CPU) e consumirem muito tempo na execução das rodadas da

simulação, permitem considerações mais próximas das situações reais por exigirem

menos hipóteses simplificadoras. Por esta razão os modelos de simulação podem ser

bastante úteis na verificação de suposições, necessárias num modelo analítico, e na

checagem dos resultados do modelo analítico.

Este trabalho trata da obtenção de medidas de desempenho, em equilíbrio, de filas

GI/G/m através de simulação. Também é tratado a verificação de aproximações de filas

GI/G/m por filas Ph/Ph/m. Os objetivos deste trabalho foram formalizados na Seção 1.3.

40

Até onde se tem conhecimento, nenhum trabalho foi encontrado na literatura que

tratasse formalmente da simulação de filas GI/G/m. Existem trabalhos que abordam

questões relevantes do projeto de experimento da fila GI/G/m. Alguns resultados destes

trabalhos serão utilizados neste estudo, e serão referidos nas seções específicas.

Este trabalho insere-se no contexto da modelagem estocástica de sistemas, área em

pleno desenvolvimento. Um grande número de trabalhos têm sido publicados na área de

filas e de redes de filas, tanto ao nível teórico quanto aplicado.

Este trabalho foi organizado da seguinte forma. Neste capítulo será apresentada uma

formalização do problema e dos objetivos do estudo, bem como uma revisão

bibliográfica sobre simulação da fila GI/G/m e temas correlatos de interesse para este

estudo.

No Capítulo 2, apresentam-se alguns conceitos básicos. Na Seção 2.2 encontra-se um

breve resumo sobre simulação. Na Seção 2.3 caracteriza-se a fila GI/G/m, apresentam-

se as definições das medidas de performance consideradas neste estudo e algumas

suposições sobre estas medidas, e é tratada a obtenção das estimativas destas medidas a

partir dos dados de saída da simulação. Na Seção 2.4 encontram-se resumos de algumas

distribuições de probabilidades.

No Capítulo 3, apresenta-se o modelo de simulação. São apresentados o modelo

comunicativo, o modelo programado e as metodologias para a verificação do modelo

programado e a validação do modelo de simulação.

No Capítulo 4, é apresentado o modelo experimental. Apresentam-se o projeto de

experimento e a metodologia de análise dos resultados do experimento.

No Capítulo 5, apresentam-se as metodologias para a determinação do período de

inicialização (“warm-up”) e para a determinação do tempo de execução.

No Capítulo 6, são apresentados os resultados da verificação do modelo programado, da

validação do modelo de simulação e do experimento.

41

No Capítulo 7, são apresentadas as conclusões do estudo e indicações de possíveis

futuras extensões deste estudo.

1.2- O PROBLEMA

Como já foi citado, a obtenção de medidas de avaliação de desempenho de um sistema

de filas GI/G/m é um clássico problema difícil, e soluções analíticas exatas somente são

possíveis para os casos especiais M/M/m, M/D/m, M/K2 /m, GI/H2 /m, GI/EK /m,

GI/Ph/m, Ph/D/m e Ph/Ph/m.

Em princípio qualquer processo prático (aplicação) de fila pode ser modelado como um

processo de Markov pela incorporação de suficiente informação na descrição dos

estados, mas a dimensionalidade do espaço de estados cresceria rapidamente além de

qualquer limite prático (Tijms, 1986).

Deste modo, é natural buscar aproximações analíticas relativamente simples de sistemas

de filas GI/G/m, que são suficientemente precisas para propósitos de aplicações

práticas. Estas aproximações simples podem servir como ponto de partida para o

desenvolvimento de aproximações para sistemas mais complicados, para os quais

soluções exatas não estão disponíveis. Elas são particularmente úteis para incorporar

modelos de filas GI/G/m em modelos maiores, tais como redes de filas, nos quais as

aproximações podem ser componentes de ferramentas de modelagem rápida.

Uma outra via para obter estimativas para sistemas de filas GI/G/m é através da

simulação por computadores. Tais estimativas podem ser mais confiáveis que aquelas

obtidas através de aproximações analíticas, desde que sejam obtidas através de uma

metodologia apropriada de análise dos dados de saída da simulação. Estas estimativas

são úteis no desenvolvimento de modelos analíticos, tanto aproximados quanto exatos,

pois elas permitem que os resultados destes modelos sejam aferidos (ou verificados)

quanto a exatidão e a precisão. Desta forma as suposições necessárias na construção de

um modelo analítico podem ser validadas através da simulação de tal modelo.

42

Portanto um modelo confiável de simulação da fila GI/G/m torna-se quase que

imprescindível no estudo de sistemas de filas GI/G/m. E a elaboração de um modelo de

simulação formal, que possa servir de base para o estudo destes sistemas de filas, pode

ser considerado no mínimo desejável.

Este estudo é dedicado a esta empreitada, ou seja, procurou-se formalizar um modelo

de simulação da fila GI/G/m, que sirva de base para futuros estudos nesta área de teoria

de filas.

Por outro lado sabe-se que: qualquer distribuição geral pode ser aproximada, para

qualquer grau de exatidão, por uma distribuição do tipo fase (Miranda, 1996), (Tijms,

1986) e (Wolff, 1989); a estrutura markoviana das distribuições do tipo fase permite o

uso de eficientes técnicas numéricas; o conjunto de distribuições do tipo fase é fechado

sob (o domínio de) misturas e convoluções finitas.

Desta forma, em análise de sistemas de filas, freqüentemente é conveniente aproximar a

distribuição do tempo entre chegadas (ou do tempo de serviço) por uma distribuição que

seja constituída de uma soma finita ou de uma mistura finita de componentes

distribuídos exponencialmente. Esta abordagem, geralmente, é referida como o método

de fases (estágios). Mais geralmente pode-se considerar a então denominada

distribuição do tipo fase (Ph), que é interpretada como a distribuição do tempo até a

primeira passagem numa cadeia de Markov a tempo contínuo, veja Neuts (1981).

Entretanto, segundo Tijms (1986 e 1994), para propósitos práticos, geralmente, é

suficiente trabalhar com determinadas distribuições, especiais, do tipo fase, tais como

misturas finitas de distribuições de Erlang com os mesmos parâmetros de escala, por

exemplo a distribuição Ek-1, k , e distribuições Hiperexponenciais, por exemplo a

distribuição H2 .

A distribuição Hiperexponencial, sendo uma mistura de distribuições exponenciais com

médias diferentes, tem sempre um coeficiente de variação maior que ou igual a 1 e tem

densidade decrescente. Esta distribuição é particularmente apropriada para modelos com

tempos entre chegadas (ou de serviço) irregulares.

43

O conjunto de misturas de distribuições de Erlang com os mesmos parâmetros de escala

é muito mais versátil que o conjunto de distribuições Hiperexponenciais e permite

cobrir qualquer valor do coeficiente de variação. Em particular, mistura de distribuições

Ek-1 e E k com os mesmos parâmetros de escala podem ser usadas para representar

tempos entre chegadas (ou de serviço) regulares, possuindo coeficiente de variação

menor que ou igual a 1 (Tijms, 1986).

Outra distribuição do tipo fase particularmente útil, para propósitos práticos, é

distribuição de Cox de ordem 2 (C2). Ela pode cobrir qualquer valor do coeficiente de

variação, pois uma mistura de distribuições Ek-1 e E k com os mesmos parâmetros de

escala é um caso particular da distribuição de Cox (Ck) e a distribuição Hk pode ser

representada por uma Ck.

Desta forma, usando técnicas numéricas especiais para resolver grandes sistemas de

equações de equilíbrio para cadeias de Markov, a abordagem da cadeia de Markov a

tempo contínuo tem provado ser extremamente útil para tratar analiticamente sistemas

de fila com múltiplos servidores e distribuições, do tempo de serviço e do tempo entre

chegadas, do tipo fase (Ph), desde que o número de servidores não seja muito grande

(Tijms, 1986).

Existem aproximações simples de uma fila GI/G/m por uma fila Ph/Ph/m, considerando

apenas os dois primeiros momentos (média e variância), ver Tijms (1986 e 1994) e

Allen (1990). Estas aproximações são baseadas em: (i) misturas de distribuições de

Erlang Ek-1 e Ek designadas por Ek-1,k, com os mesmos parâmetros de escala; (ii)

misturas de duas distribuições exponenciais com médias diferentes e balanceadas (ou

com normalização gamma), denominadas distribuições Hiperexponenciais de ordem 2

com médias balanceadas (ou com normalização gamma), e são designadas por H2b (ou

H2g); (iii) uma distribuição de Cox de ordem 2 (C2). As distribuições de Erlang-k e a

Hiperexponencial de ordem k são casos particulares da distribuição Ph. As distribuições

de Erlang Ek-1 e Ek designadas por Ek-1,k são distribuições do tipo fase Ph, na forma da

configuração de Cox.

44

Bobbio e Telek (1992), Bobbio e Cumai (1992) e Miranda (1996) apresentam métodos e

algoritmos para aproximações de distribuições de probabilidades genéricas por

distribuições do tipo fase. Os métodos utilizados são o da máxima verossimilhança em

Bobbio e Telek (1992) e em Bobbio e Cumai (1992) e o da minimização de uma função

de distância estocástica em Miranda (1996). Estes algoritmos apresentam bons

resultados de performance e exatidão, sendo que em ambos o tempo de execução

aumenta com o número de estados. Foram utilizados um IBM-RISC 6000 e DEC-

VAXstation 2000 em Bobbio e Telek, (1992) e um IBM-PC Pentium 133 Mhz em

Miranda (1996).

1.3 - OBJETIVO DO ESTUDO

O objetivo deste estudo é elaborar um modelo de simulação de filas GI/G/m e Ph/Ph/m

para:

1. Obter estimativas de medidas de performance em equilíbrio das filas GI/G/m e das

filas Ph/Ph/m correspondentes através dos dados (amostrais) de saída da execução

do modelo programado da simulação.

2. Verificar a exatidão e precisão de aproximações de filas GI/G/m por filas

Ph/Ph/m. Mais precisamente de aproximações simples que levem em

consideração apenas os dois primeiros momentos (média e variância), como

aquelas sugeridas em Tijms (1986 e 1994).

Para esta verificação foram consideradas as medidas de avaliação de desempenho de

sistemas de filas GI/G/m e das filas Ph/Ph/m correspondentes, em equilíbrio ou regime,

por um longo período de tempo de execução. Para isso, escolheu-se cenários descritos

por ρ ∈ (0, 1), m ∈ [1, 2], [ ]2 ;5,02 ∈xc e por processos de chegada (GI) e de serviço (G)

caracterizados pela distribuição Gama (Gm), onde ρ é a taxa de utilização do sistema e 2xc é o quadrado do coeficiente de variação da distribuição do processo de chegadas

(GI) ou do processo de serviço (G).

45

Neste estudo foram considerados somente sistemas de filas Gm/Gm/m, pois os

experimentos em simulação consomem muito tempo. Desta forma o desenvolvimento

de experimentos para uma variedade maior de sistemas de filas GI/G/m (por exemplo as

filas W/W/m e Histograma/Histograma/m) estenderia este trabalho por alguns meses.

Esta escolha se deve ao potencial de aplicações destas filas na modelagem de sistemas

reais e à dificuldade atual de se obter soluções analíticas exatas para estes sistemas de

filas.

1.4 – REVISÃO BIBLIOGRÁFICA

A teoria de filas tem sido bastante estudada nos últimos anos. Há uma grande

quantidade de artigos sobre este assunto na literatura e existem vários manuais

dedicados a este assunto ou que lhe dão destaque. Para uma introdução a teoria de filas

pode-se recorrer Allen (1990), a Gross e Harris (1974), a Kleinrock (1975 e 1976), a

Tijms (1986 e 1994) e Wolff (1989).

Sobre a simulação da fila GI/G/m ou sobre tópicos específicos de simulação, que são de

interesse para este estudo, pode se destacar os seguintes trabalhos dentre os encontrados

na literatura: Delaney e Rossetti (1995); Delaney, Rossetti e White (1995); Odoni e

Roth (1983); Kleijnen (1992); Roth (1994); Whitt (1989a, 1989b e 1991).

Odoni e Roth (1983) examinam o comportamento transiente de sistemas de filas M/M/1.

Eles examinam sistemas de filas que são markovianos, ou seja, sistemas que para todos

os tempos têm uma descrição discreta do espaço de estados, como um processo de

Markov de primeira ordem. Sistemas em que os tempos de serviço e os tempos entre

chegadas podem ser representados por distribuições exponenciais, de Erlang,

Hiperexponenciais e do tipo fase. Esta definição exclui muitos sistemas em que somente

a cadeia embutida no processo é de primeira ordem, p. e., muitos sistemas de filas

M/G/1. Neste estudo eles se concentram no número esperado de clientes na fila em

função do tempo t, denotado por Q(t).

Roth (1994) desenvolveu uma heurística de relaxação do tempo para reduzir o vício

devido a inicialização em simulações de Monte Carlo de sistemas de filas markovianas

46

estacionárias, M/M/m. Ela é baseada em características do modelo teórico subjacente e

não requer execuções preliminares da simulação.

Delaney e Rossetti (1995) investigam o uso de aproximações analíticas para auxiliar na

atenuação dos efeitos do período transiente inicial em simulações de filas GI/G/m em

equilíbrio. Eles investigam o uso de aproximações de filas para configurar

estocasticamente (aleatoriamente) as condições iniciais da simulação e desenvolvem um

novo conjunto de heurísticas baseadas nestas aproximações analíticas de filas GI/G/m.

Estas novas heurísticas são baseadas no descobrimento do ponto de truncamento da

amostra (dados de saída) da simulação que minimiza o erro quadrado médio da

característica do sistema de fila GI/G/m que está sendo estimada. As aproximações

analíticas da fila GI/G/m utilizadas por eles são devidas a Whitt (1993). Eles apresentam

a performance das heurísticas para a estratégia de simulação de replicações

independentes com descarte de uma parte inicial dos dados de saída da simulação e

discutem a adaptação destas heurísticas para a estratégia de uma única execução longa

da simulação com análise de médias de grupos.

Delaney, Rossetti e White (1995) apresentam a performance das heurísticas

apresentadas por Delaney e Rossetti (1995) relativas à estratégia de uma única execução

longa da simulação com análise de médias de grupos, para a atenuação dos efeitos do

período transiente inicial em simulações de filas GI/G/m em equilíbrio.

Whitt (1989a) propõe fórmulas heurísticas simples para estimar o tamanho necessário

da execução da simulação para obter a precisão estatística desejada em simulações de

sistemas de fila. Pretende-se através destas fórmulas auxiliar nos estágios de

planejamento inicial antes que dados tenham sido coletados. As fórmulas são aplicáveis

a simulações de filas através de uma única execução longa para obter estimativas de

características em regime, como por exemplo tamanho esperado da fila em equilíbrio.

Estas fórmulas podem ser aplicadas para planejar experimentos de simulação e para

desenvolver e avaliar aproximações de filas. As fórmulas são baseadas em limites de

tráfego pesado (intenso) para filas (o comportamento limite quando a intensidade de

tráfego aproxima-se do limite superior para a estabilidade) e aproximações por difusão,

47

associadas. Estas fórmulas são aplicadas, em particular, a processos estocásticos que

podem ser aproximados por movimento Browniano refletido.

Whitt (1989b) propõe a obtenção de estimativas preliminares do tamanho da execução

da simulação requerido para obter a precisão estatística desejada em experimentos de

simulação estocástica, através da aproximação do modelo estocástico de interesse por

um modelo de Markov mais elementar, que possa ser analisado analiticamente. Em

outras palavras, quando se deseja obter estimativas de quantidades em equilíbrio através

de médias amostrais (dos dados de saída da simulação), o tamanho necessário da

execução, muitas vezes, pode ser obtido calculando a variância assintótica e vício

assintótico da média amostral no modelo de Markov.

Whitt (1991) avalia a eficiência de uma única execução longa versus múltiplas

replicações independentes em simulações a eventos discretos em equilíbrio, assumindo-

se que uma porção inicial dos dados de cada replicação são descartados para permitir

que o processo tenda ao equilíbrio. Ele fornece evidências em favor de uma única

execução longa da simulação, mas, também, mostra que múltiplas replicações

independentes podem ser mais eficientes. A vantagem de uma única execução longa

cresce se a quantidade de dados descartados cresce ou se a função de covariância

decresce mais rapidamente (assumindo que ela é não negativa e decrescente). Desta

forma, assumindo-se que a quantidade de dados descartados dependem da forma que o

processo aproxima-se do equilíbrio, uma única execução longa tende a ser mais

eficiente quando a função de covariância decai rapidamente comparada à taxa que o

processo aproxima-se do equilíbrio. Também, discute-se vias para determinar a porção

inicial a ser descartada.

Kleijnen (1992) faz uma inspeção e investigação dos modelos de validação e

verificação, especialmente dos modelos de simulação em pesquisa operacional. E é

apresentada uma bibliografia com 61 referências.

49

CAPÍTULO 2

CONCEITOS BÁSICOS

2.1 – INTRODUÇÃO

Neste capítulo apresentam-se conceitos básicos que serão utilizados na elaboração do

modelo de simulação da fila GI/G/m, para obtenção de estimativas das medidas de

performance de uma determinada configuração desta fila.

Na Seção 2.2 é apresentada uma definição de simulação, fundamentada em Law e

Kelton (1982), e os passos que devem ser seguidos num estudo de simulação.

Na Seção 2.3 apresentam-se a caracterização e definição da fila GI/G/m, as medidas de

performance de interesse para a avaliação de desempenho da fila GI/G/m, as relações de

Little aplicáveis à fila GI/G/m e a obtenção de estimativas das medidas de performance

da fila GI/G/m a partir dos dados de saída de uma execução da simulação.

Na Seção 2.4 são definidas as distribuições de probabilidade que foram utilizadas na

programação do modelo de simulação. Algumas destas distribuições foram utilizadas

nos experimentos realizados neste estudo e outras poderão ser utilizadas em futuros

experimentos.

2.2 - SIMULAÇÃO

Os conceitos e definições contidos nesta seção foram tomados basicamente de Law e

Kelton (1982) e somente foram referenciados quando provenientes de outras fontes.

Simulação se refere à técnicas, largamente usadas em pesquisa operacional e ciência do

gerenciamento (“management science”), para imitar ou simular, usando computadores,

a operação de várias classes de processos ou serviços do mundo real ou de sistemas

idealizados. A simulação envolve a geração de uma história artificial do sistema e o uso

desta história artificial para fazer inferências a respeito das características do sistema em

estudo (Banks e Carson II, 1984).

50

Os processos ou serviços de interesse são, geralmente, denominados sistemas e, para

estudá-los cientificamente, na maioria das vezes é necessário fazer suposições sobre o

modo de funcionamento destes. Estas suposições, que normalmente tomam a forma de

relações lógicas ou matemáticas, constituem o modelo. O modelo é usado para

experimentar e obter algum entendimento de como o sistema correspondente se

comporta.

Métodos matemáticos tais como álgebra, cálculo, ou teoria das probabilidades, quando

disponíveis, podem ser usados para obter informações exatas sobre as questões de

interesse nestes sistemas. Estas soluções exatas obtidas por métodos matemáticos são

denominadas soluções analíticas. Entretanto existem muitos sistemas que são

complexos demais para admitir que modelos realistas sejam avaliados analiticamente, e

que podem ser estudados por meio de simulação.

Um modelo de simulação é um tipo particular de modelo matemático de um sistema. Na

simulação, um computador é usado para avaliar um modelo numericamente por um

período de tempo de interesse, e dados são coletados para estimar as verdadeiras

características de interesse do modelo.

Em alguns estudos, ambos os modelos, analítico e de simulação, podem ser úteis. Uma

simulação pode ser usada para verificar a validade de suposições necessárias num

modelo analítico. Um modelo analítico pode sugerir alternativas razoáveis para serem

investigadas num estudo de simulação.

Entretanto existem algumas restrições quanto à utilização de simulação. A primeira é

que modelos usados para estudar sistemas de grande escala tendem a ser muito

complexos, e escrever um programa de computador para simulá-los pode ser uma tarefa

realmente difícil. Esta tarefa tem sido facilitada pelo desenvolvimento de várias

linguagens de propósito específico para simulação por computadores, que fornecem

automaticamente muitas das funções necessárias para codificar um modelo de

simulação. A segunda restrição é que a simulação de sistemas complexos requerem uma

grande quantidade de recursos e de tempo de computação, entretanto esta dificuldade

tem sido abrandada pela queda constante do custo dos computadores. E finalmente

51

existe uma restrição proveniente da utilização inadequada de um modelo programado

(de simulação) para fazer inferências sobre o sistema em foco; posturas que

negligenciam a questão fundamental de como um modelo adequadamente codificado

deveria ser usado para fazer inferências sobre o sistema de interesse têm levado a

conclusões errôneas em muitos estudos de simulação. Estas questões de metodologia da

simulação são independentes da linguagem de programação e do “hardware” usado.

Em simulação um sistema é definido como uma coleção de entidades (pessoas,

máquinas, coisas, etc.) que agem e interagem para a realização de alguma finalidade

lógica. O estado de um sistema é uma coleção de variáveis necessárias para descrever

um sistema num tempo específico, relativa aos objetivos de um estudo.

Os sistemas podem ser categorizados em dois tipos: discretos e contínuos. Um sistema

discreto é aquele em que o estado das variáveis muda somente em um número contável

de pontos no tempo, por exemplo, o número de clientes num banco muda somente

quando um cliente chega ou quando um cliente termina de ser servido e saí do banco.

Um sistema é contínuo quando o estado das variáveis muda continuamente com respeito

ao tempo, por exemplo um aeroplano se movendo no ar é um exemplo de sistema

contínuo pois o estado das variáveis quanto a posição ou velocidade mudam

continuamente com respeito ao tempo. Na prática poucos sistemas são completamente

discretos ou contínuos, mas desde que um tipo de mudanças predomina para a maioria

dos sistemas, então seria possível classificar um sistema como sendo ou discreto ou

contínuo.

Neste trabalho assume-se que um modelo é a representação de um sistema desenvolvido

para o propósito de estudar este sistema. O modelo deve ser suficientemente detalhado

ou “válido” para permitir que um analista ou um gerente possa usá-lo para tomar a

mesma decisão que seria tomada se fosse viável experimentar com o próprio sistema.

Ainda que não se devesse definir explicitamente um modelo de simulação, geralmente,

os modelos de simulação podem ser distinguidos entre aqueles que são estáticos ou

dinâmicos, determinísticos ou estocásticos, e discretos ou contínuos. Um modelo de

simulação é estático quando representa o sistema num determinado ponto do tempo. É

52

dinâmico quando ele representa um sistema que evolui através do tempo. É dito ser

estocástico se contém uma ou mais variáveis aleatórias, e em caso contrário é dito ser

determinístico. É discreto quando o estado das variáveis muda somente num número de

pontos contáveis do tempo, e é contínuo quando o estado das variáveis muda

continuamente através do tempo.

Simulação de Monte Carlo é um modelo de simulação que usa números aleatórios,

gerados por variáveis aleatórias U (0, 1) para resolver certos problemas estocásticos ou

determinísticos onde a passagem do tempo não é essencial. Assim, simulações de Monte

Carlo são, geralmente, mais estáticas que dinâmicas. Mas alguns autores definem

simulação de Monte Carlo como sendo qualquer simulação envolvendo o uso de

números aleatórios. Neste estudo foi assumida a primeira postura, defendida por Law e

Kelton (1982).

Um modelo de simulação que seja discreto, dinâmico e estocástico, geralmente é

denominado modelo de simulação a eventos discretos. Desde que modelos

determinísticos são um caso especial de modelos estocásticos, a restrição para

estocásticos não envolve perda de generalidade.

Simulação a eventos discretos trata da modelagem de um sistema que evolui através do

tempo, mas o estado das variáveis muda somente para um número contável de pontos

no tempo. Estes pontos no tempo são aqueles em que um evento ocorre, onde evento é

definido como uma ocorrência instantânea que pode mudar o estado do sistema.

Neste estudo foi adotado o modelo de simulação a eventos discretos, pois o sistema de

fila GI/G/m evolui através do tempo mas o estado de suas variáveis muda somente nos

instantes em que ocorre a chegada de um cliente ou o término do serviço a um cliente

(eventos).

Duas abordagens principais têm sido sugeridas para o mecanismo de avanço do tempo

de simulação, ou melhor, para avançar o relógio de simulação, a saber, avanço do tempo

orientado ao próximo evento e avanço do tempo por incrementos fixos. Neste estudo foi

53

adotada uma abordagem de mecanismo de avanço do tempo orientado ao próximo

evento.

Com a abordagem de avanço do tempo orientado ao próximo evento, o relógio de

simulação é inicializado em zero e os tempos de ocorrências de eventos futuros são

determinados. Então o relógio de simulação é avançado para o tempo do (novo) mais

eminente evento, o estado do sistema é atualizado, e eventos futuros são determinados,

etc. Este processo de avanço do relógio de simulação de um tempo-evento para um

outro é continuado até que eventualmente alguma condição de parada preestabelecida

seja satisfeita.

Em muitos modelos de simulação a eventos discretos, usando a abordagem de avanço

do tempo de simulação orientada ao próximo evento, são encontrados os seguintes

componentes:

• as variáveis de estado do sistema, usadas para descrever o sistema num instante de

tempo particular;

• o relógio de simulação, que fornece o valor corrente do tempo simulado;

• a lista de eventos, contendo os tempos agendados dos próximos eventos, ou seja,

os tempos programados para a ocorrência dos próximos eventos;

• as variáveis ou contadores estatísticos, usadas para armazenar informações

estatísticas sobre a performance do sistema;

• a rotina de inicialização, usada para inicializar o modelo de simulação para o

tempo zero;

• a rotina de sincronização de eventos, que determina o próximo evento da lista de

eventos e então avança o relógio de simulação para o tempo em que aquele evento

irá ocorrer;

54

• a rotina de eventos, que atualiza o estado do sistema quando um determinado tipo

de evento ocorre, sendo uma rotina para cada tipo de evento;

• o gerador de relatório, que calcula as estimativas da(s) medida(s) de desempenho

desejada(s) e imprime um relatório quando a simulação termina;

• o programa principal, que chama a rotina de sincronização para determinar o

próximo evento e então transfere o controle para a correspondente rotina de

evento atualizar o estado do sistema apropriadamente.

A relação lógica entre estes componentes é mostrada na Figura 2.1, adaptada da Figura

1.2 de Law e Kelton (1982).

Rotina de inicialização

Programa principal

Rotina de evento i

Gerador de relatório

Rotina de sincronização

1. Inicializa o relógio de simulação em 0 (zero) 2. Inicializa as variáveis de estado do sistema e os

contadores estatísticos 3. Inicializa a lista de eventos

1. Chama a rotina de sincronização2. Chama a rotina de evento i

1. Determina o tipo do próximo evento i

2. Avança o relógio de simulação

1. Atualiza as variáveis de estado do sistema

2. Atualiza os contadores estatísticos 3. Gera eventos futuros e os adicionam

à lista de eventos

A simulação está completa?

1. Calcule as estimativas de interesse 2. Imprima o relatório

Não

Sim

Fig. 2.1 – Fluxo de controle para o avanço do tempo orientada ao próximo evento.

55

Na programação da maior parte dos modelos de simulação a eventos discretos, são

necessárias funções especificas para:

• gerar números aleatórios, isto é, variáveis aleatórias U (0, 1);

• gerar variáveis aleatórias de uma distribuição especificada;

• avançar o tempo simulado;

• determinar o próximo evento da lista de eventos e passar o controle ao bloco de

código apropriado;

• adicionar ou remover registros de uma lista;

• colecionar dados;

• analisar dados;

• relatar os resultados;

• detectar condições de erro.

A freqüência destas e de outras funções na maioria dos programas de simulação é que

levou ao desenvolvimento de linguagens de simulação de propósito específico. Além

disso, acredita-se que o aperfeiçoamento, padronização e maior disponibilidade destas

linguagens têm sido os principais fatores para o crescimento da popularidade da

simulação.

Existem vantagens e desvantagens relativas a utilização de linguagens de simulação de

propósito específico ou de linguagens de programação de propósito geral na

programação de um modelo de simulação. Dentre as vantagens pode-se citar as

seguintes:

• As linguagens de simulação automaticamente fornecem a maioria das funções

necessárias na programação de um modelo, se não todas, resultando num

decréscimo no tempo de programação, que pode , muitas vezes, ser significante.

56

• As linguagens de simulação fornecem uma estrutura (esqueleto) natural para

modelagem de simulação. Seus blocos de construção são mais familiares para

simulação que aqueles numa linguagem de propósito geral (C, C++, FORTRAN,

etc.).

• Modelos de simulação são geralmente mais fáceis de serem mudados ou

estendidos quando escritos em linguagem de simulação.

• A maioria das linguagens de simulação fornecem alocação dinâmica de

armazenagem durante a execução.

• As linguagens de simulação fornecem melhor detecção de erros porque muitos

tipos potenciais de erros já foram identificados e são checados automaticamente.

E como, em geral, exigem poucas linhas de código, a chance de se cometer um

erro provavelmente seria menor.

Dentre as desvantagens pode-se citar as seguintes:

• Pode ser difícil para o usuário encontrar os erros que estão contidos numa nova

versão de uma linguagem de simulação.

• A maioria dos desenvolvedores de modelos já conhecem uma linguagem de

propósito geral, mas isto, freqüentemente, não é o caso com uma linguagem de

simulação.

• Um programa eficientemente escrito numa linguagem de propósito geral (C, C++,

Pascal, FORTRAN, etc.) pode requerer menos tempo de execução que o programa

correspondente escrito numa linguagem de simulação. Isto acontece porque uma

linguagem de simulação é projetada para modelar uma grande variedade de

sistemas com um conjunto de blocos de construção, enquanto um programa em

linguagem de propósito geral pode ser feito sob medida para uma determinada

aplicação.

57

• Linguagens de propósito geral permitem maior flexibilidade de programação que

certas linguagens de simulação. Por exemplo, cálculos numéricos complicados

não são fáceis em Sistema de Simulação de Propósito Geral (GPSS).

Levando-se em consideração os prós e contras levantados acima optou-se, neste estudo,

por programar o modelo de simulação utilizando uma linguagem de simulação, de

propósito específico. Foi utilizado para a construção do modelo programado o pacote de

software de simulação em redes denominado “Micro Saint”, versão estudantil 1.2-k.

Este software reúne todos os mecanismos e componentes, como os descritos

anteriormente, para a modelagem de um sistema de simulação a eventos discretos, além

de permitir a construção do modelo pelo processo de arrastar e colocar blocos na área de

serviço formando uma rede.

2.2.1 – O PROCESSO DE SIMULAÇÃO

A realização de um estudo de simulação completo (ou minucioso) e seguro (idôneo)

envolve a observância de alguns passos, que são consensuais na literatura sobre

simulação. E uma breve descrição destes passos é apresentada a seguir.

Formulação do problema: Um estudo de simulação deveria iniciar com uma declaração

(enunciado ou especificação) do problema a ser investigado.

Estabelecimento de objetivos: Os objetivos do estudo devem ser especificados. Os

objetivos indicam as questões a serem respondidas pela simulação. Neste ponto deve ser

determinado se a simulação é uma metodologia apropriada para o problema formulado.

Construção do modelo: Esta fase refere-se à elaboração conceitual e comunicativa do

modelo. A formulação conceitual do modelo é transcrita (ou representada) num modelo,

geralmente, denominado comunicativo. Dessa forma o modelo comunicativo é uma

abstração do sistema sob estudo expressa na forma de relações lógicas-matemáticas.

Codificação do modelo: O processo de codificação ou programação do modelo consiste

da transcrição do modelo comunicativo num programa escrito em linguagem de

programação de computadores para a execução do modelo de simulação em

58

computadores, visando a obtenção de resultados. A linguagem de programação a ser

utilizada na codificação pode ser uma de propósito geral ou uma linguagem de

propósito específico para simulação.

Verificação: O modelo programado (ou o programa de computador) deve ser testado

para averiguar se este funciona como o pretendido, se o código não possui “bugs”. Este

passo, geralmente, é referido em programação de computadores como processo de

depuração do código do programa.

Validação: O objetivo da validação é determinar o quanto o modelo conceitual é uma

representação razoável do sistema real (ou idealizado) que está sendo modelado. Deve-

se responder as seguintes questões: Quão precisamente o modelo simulado representa o

sistema real (ou idealizado)? O modelo simulado pode ser utilizado no lugar do sistema

real (ou idealizado) para tomada de decisões relativas ao sistema idealizado?

Projeto experimental: O projeto ou modelo experimental determina a estratégia de

simulação a ser utilizada (uma única execução longa da simulação versus replicações

independentes da simulação), o tamanho do período de inicialização (“warm-up”), o

tamanho da(s) execução(ões) da simulação, e o número de replicações a ser feito em

cada experimento da simulação (se aplicável).

Realização e análise das execuções: A realização de execuções da simulação para se

obter dados de saída, e sua subseqüente análise, são usados para estimar medidas de

performance para o(s) projeto(s) de sistema(s) que está(ão) sendo simulado(s).

Execuções adicionais: Baseado na análise das execuções que foram completadas, o

simulador determina se execuções adicionais são necessárias e que projeto estes

experimentos adicionais deveriam obedecer.

Documentação do programa e relatório dos resultados: A operação do modelo deve ser

documentada e um relatório dos resultados deve ser preparado.

59

A ordem e a inter-relação entre estes passos estão explicitados na Figura 2.2, a seguir,

adaptada da Figura 12.1 de Banks, Carson II e Goldsman (1990).

SimSim

Não

Não

Formulação do problema

Estabelecimento de objetivos

Construção do modelo

Codificação do modelo

Verificado?

Validado?

Projeto experimental

Realização e análise das execuções

Execuções adicionais?

Documentação do programa e relatório

dos resultados

Fig. 2.2 – Passos num estudo de simulação.

Sim

Sim

Não

60

2.3 - A FILA GI/G/m

Um sistema de filas é um sistema consistindo de um ou mais servidores que fornecem

serviço de alguma classe para clientes que chegam ao posto de serviços. Clientes que na

chegada encontram todos os servidores ocupados (geralmente) formam uma ou mais

filas (ou linhas) em frente aos servidores, daí o nome ‘sistema de filas’.

Um sistema de filas é caracterizado pelos seguintes componentes: o processo de

chegadas, o mecanismo de serviço, a disciplina da fila, o tamanho da sala de espera e a

população de clientes. O processo de chegadas descreve como os clientes chegam para o

sistema e especifica a distribuição de probabilidade dos tempos entre chegadas de

clientes. Denota-se por Ti o tempo entre as chegadas do (i - 1)-ésimo e do i-ésimo

clientes. Se as variáveis aleatórias T1 , T2 ..... são assumidas serem iid (independentes e

identicamente distribuídas), então a taxa de chegadas de clientes é )(1 TE=λ , onde

E(T) denota o tempo esperado (médio) entre chegadas.

O mecanismo de serviço especifica o número de servidores, se cada servidor tem sua

própria fila ou se existe uma única fila alimentando todos os servidores, e a distribuição

de probabilidade dos tempos de serviços de clientes. Denota-se por Si o tempo de

serviço do i-ésimo cliente que chegou. Se as variáveis aleatórias S1 , S2 ..... são

assumidas serem iid, então a taxa de serviços de um servidor é )(1 SE=µ , onde E(S)

denota o tempo esperado (médio) de serviço de um cliente.

A disciplina da fila refere-se às regras que um servidor usa para escolher o próximo

cliente da fila, caso exista(m) cliente(s) esperando na fila, quando o servidor completa o

serviço do cliente atual. As disciplinas de fila comumente usadas incluem: FIFO – os

clientes são servidos na ordem de chegada; Last In, First Out (LIFO) – os clientes são

servidos na ordem inversa de chegada; Prioridades - os clientes são servidos na ordem

de sua importância ou com base em seus requerimentos de serviço.

O tamanho da sala de espera se refere à quantidade máxima de clientes que podem estar

presentes no sistema ao mesmo tempo, contando aqueles que estão na fila e aqueles que

61

estão recebendo serviço. E a população de clientes se refere aos prováveis clientes, ao

seu número e origem.

Certos sistemas de filas ocorrem tão freqüentemente na prática que notações padrões

têm sido desenvolvidas para eles. Uma notação popularmente usada é a notação de

Kendall.

A notação de Kendall para sistemas de fila é uma notação abreviada que envolve cinco

elementos, compondo o padrão A/B/m/m+K/M. O símbolo A especifica a distribuição

dos tempos entre chegadas, o símbolo B especifica a distribuição dos tempos de

serviço, o símbolo m especifica o número de servidores, m+K especifica a capacidade

da sala de espera, e M especifica o tamanho da população de clientes.

Uma notação mínima que envolve os três primeiros elementos do padrão A/B/m/m+K/M

geralmente é utilizada. Está implícito nesta notação mínima, A/B/m, as seguintes

suposições: que os tempos entre chegadas, exceto para o caso G, e os tempos de serviço

são seqüências de variáveis aleatórias independentes, e que cada seqüência é

i.i.d.(independente e identicamente distribuída); que a capacidade da sala de espera é

ilimitada; que na existência de mais de um servidor, eles são alimentados por uma fila

única; que a população de clientes é ilimitada.

Os seguintes símbolos são freqüentemente usados para referir-se às famílias de

distribuições específicas:

• Er = Erlang de ordem r (ou de r estágios);

• Ck = Cox de ordem k (ou de k estágios);

• D = Determinística;

• G = Genérica;

• GI = Genérica Independente;

• Gm = Gamma;

62

• Hr = Hiperexponencial de ordem r (ou com r estágios);

• Ph = tipo fase (Phase-type);

• M = Exponencial ou Poisson (Markoviana);

• W = Weibull.

Em particular, considere o sistema de filas que tem as seguintes características:

• m servidores em paralelo e uma única fila FIFO com sala de espera ilimitada

alimentando todos os servidores;

• uma população ilimitada de prováveis clientes;

• os tempos entre chegadas T1 , T2 .....são variáveis aleatórias iid;

• os tempos de serviço S1 , S2 .....são variáveis aleatórias iid;

• Os Ti’s e Si’s são independentes.

Este sistema com as características descritas acima é denominado um sistema de filas

GI/G/m. Onde GI (Geral independente) refere-se à distribuição das variáveis aleatórias

Ti’s e G (Geral) refere-se à distribuição das variáveis aleatórias Si’s.

A quantidade ( )µλρ m= , denominada taxa ou fator de utilização do sistema de filas, é

uma medida de quão intensamente os recursos do sistema de filas são utilizados.

Este estudo trata de um sistema de filas idealizado, o sistema de filas GI/G/m. Este

sistema tem o propósito de possibilitar uma abordagem teórica geral sobre os sistemas

de filas.

Neste estudo não foram considerados sistemas de filas reais, apesar de existirem

sistemas de filas reais que possam, sob alguma(s) hipótese(s) simplificadora(s), serem

representados por um sistema de filas GI/G/m.

63

O leiaute (ver Figura 2.3) e as características funcionais da fila GI/G/m que será tratada

neste estudo são mostrados a seguir.

As características funcionais de uma fila GI/G/m são:

• a fila é única, com sala de espera ilimitada e com disciplina First-Come, First-

Served (FCFS), às vezes referida como FIFO;

• possui m servidores;

• o processo de chegadas é GI

• processo de renovações,

• os tempos entre chegadas formam uma seqüência de variáveis aleatórias iid

com distribuição geral;

• o processo de serviço é G

• os tempos de serviço formam uma seqüência de variáveis aleatórias iid com

distribuição geral;

• cada cliente

• requer somente um único serviço,

• sendo o primeiro da fila, na existência de um ou mais servidores livres

• escolhe aleatoriamente um servidor livre,

• e começa a ser servido imediatamente,

• caso contrário ele espera na fila por um servidor livre,

• deixa a estação logo após o término do serviço;

64

• são considerados apenas dois estados para os servidores, ocupados ou livres, e

não é permitido servidores livres na existência de clientes esperando na fila.

2.3.1 – MEDIDAS DE PERFORMANCE DA FILA GI/G/m

Na avaliação do desempenho ou da performance de um sistema de filas GI/G/m são

levados em consideração características ou medidas de interesse. Estas características

ou medidas de interesse são denominadas medidas de performance (ou de avaliação) do

sistema de filas GI/G/m. Pode-se perceber, através da abundante literatura existente

sobre sistemas de filas uma uniformidade no tratamento destas medidas, tanto com

relação à definições, quanto com relação à importância de cada uma destas medidas.

Neste trabalho o interesse está na estimação das medidas de avaliação de desempenho

em equilíbrio da fila GI/G/m, ou seja, em medidas de performance consideradas para o

sistema em regime.

Segundo Tijms (1994), para a fila GI/G/m, as seguintes suposições são feitas.

Suposição 1. Para a fila GI/G/m, a utilização do servidor, definida por mSE )(λρ = , é

menor que 1.

Posto de Serviços

Fila

Chegada

Servidores1

2

3

m

Saídas

Fig. 2.3 – Leiaute da fila GI/G/m.

65

Na fila GI/G/m a quantidade ρ pode ser interpretada como a fração do tempo, para o

sistema em equilíbrio, que um dado servidor está ocupado. O que explica o nome de

utilização do servidor. Em muitos sistemas com um único servidor é desejável ter uma

utilização do servidor ρ que não seja maior que 0,8, pois de outra forma um pequeno

acréscimo na carga oferecida pode levar a acréscimos consideráveis no tamanho médio

da fila e na espera média na fila por cliente. Contudo, sistemas com muitos servidores

levam em conta valores mais altos de utilização do servidor ρ, pois um pequeno

acréscimo na carga oferecida pode não causar uma grande degradação na performance

do sistema.

Suposição 2. a) A distribuição do tempo entre chegadas A(t) ou a distribuição do tempo

de serviço B(t) tem uma densidade positiva em algum intervalo.

b) A probabilidade que o tempo entre chegadas T seja maior do que o

tempo de serviço S é positiva.

Define-se um ciclo como o tempo decorrido entre duas chegadas consecutivas que

encontram o sistema vazio. Então, sob as suposições 1 e 2, pode ser mostrado que o

valor esperado do tamanho do ciclo é sempre finito.

Sejam as seguintes variáveis aleatórias:

• L(t) = número de clientes no sistema no instante t (incluindo aqueles em serviço).

• Lq(t) = número de clientes na fila no instante t (excluindo aqueles em serviço).

• Dn = espera na fila do n-ésimo cliente (excluindo o tempo de serviço).

• Rn = quantidade de tempo gasto pelo n-ésimo cliente no sistema (incluindo o

tempo de serviço).

Os processos estocásticos a tempo contínuo {L(t), t ≥ 0} e {Lq(t), t ≥ 0} e os processos

estocásticos a tempo discreto {Dn, n ≥ 0} e {Rn, n ≥ 0} são todos regenerativos. As

épocas de regeneração são as épocas em que um cliente encontra o sistema vazio, na

66

chegada. Os ciclos de regeneração têm média finita. Deste modo as seguintes médias

em equilíbrio existem e são constantes com probabilidade 1:

• Número médio de clientes presentes no sistema para um tempo arbitrário:

[ ] ( )∫∞→=

t

tduuL

tLE

0

1lim .

• Número médio de clientes esperando na fila para um tempo arbitrário:

[ ] ( )∫∞→=

t

qtq duuLt

LE

0

1lim .

• Espera média de um cliente arbitrário na fila:

[ ] ∑=

∞→=

n

kknq D

nWE

1

1lim .

• Espera média de um cliente arbitrário no sistema:

[ ] ∑=

∞→=

n

kkn

Rn

WE1

1lim .

É importante notar que a distribuição do número de clientes no sistema é invariante com

relação a ordem de serviço quando a disciplina da fila é independente do tempo de

serviço e “work-conserving”. Aqui independente do tempo de serviço significa que a

regra para selecionar o próximo cliente a ser servido não depende do tempo de serviço

de um cliente, enquanto “work-conserving” significa que o trabalho ou requerimento de

serviço de um cliente não é afetado pela disciplina da fila. Disciplinas de fila que

possuem esta propriedade incluem FIFO, LIFO e serviço em ordem aleatória. A

distribuição do tempo de espera obviamente dependerá da ordem de serviço (Tijms,

1994).

2.3.1.1 – MEDIDAS DE PERFORMANCE DA FILA M/M/m

67

A fila M/M/m tem as seguintes características: m servidores idênticos; uma fila única

com disciplina FIFO e sala de espera ilimitada alimentando todos os servidores;

população de clientes ilimitada; tempos entre chegadas e tempos de serviço distribuídos

exponencialmente. Os tempos entre chegadas e tempos de serviço são variáveis

aleatórias iid, e independentes entre si.

Resultados analíticos exatos para a fila M/M/m já foram estabelecidos e podem ser

encontrados em manuais clássicos sobre teoria de fila, por exemplo: Kleinrock (1976),

Gross e Harris (1974), Allen (1990), Wolff (1989).

As medidas de performance de interesse da fila M/M/m para este estudo podem ser

determinadas exatamente pelas seguintes equações, para ρ < 1:

µρ

m1

=

( ) ( )1

1

00 1

1!

1!

−−

=

+

= ∑ ρ

ρρm

mk

mP mm

k

k

( ) ( )( )ρρ

−=≥

1!)( 0

mPm

mxLPm

[ ] ( )ρ

ρρ−

≥+=

1)( mxLPmLE

[ ] [ ]λLEWE =

[ ] [ ]µ1

−= WEWE q

[ ] [ ] ( )ρ

ρλ−

≥==

1)( mxLPWELE qq

68

[ ] [ ]µλρ ==− mLELE q

2.3.1.2 – MEDIDAS DE PERFORMANCE DA FILA D/D/m

A fila D/D/m tem as seguintes características: m servidores idênticos; uma fila única

com disciplina FIFO e sala de espera ilimitada alimentando todos os servidores;

população de clientes ilimitada.

Resultados analíticos exatos para a fila D/D/m já foram estabelecidos e podem ser

encontrados em manuais clássicos sobre teoria de fila, por exemplo: Gross e Harris

(1974), Wolff (1989).

As medidas de performance de interesse da fila D/D/m para este estudo podem ser

determinadas exatamente), para ρ < 1, pelas seguintes equações:

[ ] [ ] [ ] [ ] 0 e ,0 , , 2 ======= qq WEmWELEmLEm ρµ

λµµ

λρµ

λρ .

2.3.2 – RELAÇÕES DE LITTLE

Talvez o resultado mais básico para sistemas de filas seja a fórmula de Little. Esta

fórmula relaciona certas médias, como o número médio de clientes na fila e a espera

média na fila por cliente. Segundo Tijms (1994), a fórmula de Little é valida para quase

todos os sistemas de filas. E segundo Wolff (1989), ela é sempre verdadeira para

propósitos práticos. Uma prova para a fórmula de Little é apresentada por Wolff (1989)

na Seção 5.15.

Em particular, para a fila GI/G/m, tem-se as seguintes relações fundamentais:

[ ] [ ][ ] [ ]

[ ]SEses ocupadoe servidoruilíbrio dédio em eqo número mWELE

WELE qq

λλ

λ

==

=

,

,

69

Levando em consideração a última relação (fórmula de Little), tem-se que, desde que

cada um dos m servidores suportem em média a mesma carga, então a:

[ ] mSEado está ocupo servidorque um dadequilíbrioemtempodofração λ= .

Na fila GI/G/m, em particular, a fração do tempo em equilíbrio que um dado servidor

está ocupado é igual a ρ .

Para motivar estas relações Tijms (1994) argüi da seguinte forma. Assume-se que, para

cada cliente aceito no sistema, incorre-se num custo de acordo com uma regra

específica. Então, aplica-se o seguinte princípio:

ido)ente admitme por cliio em regi(custo médme)ia em regihegada méd(taxa de ctempo nidade de tema por uo pelo sise contraído em regimcusto médi

×=

Uma prova deste princípio para sistemas regenerativos pode ser encontrada na Seção

1.6 de Tijms (1994). Para visualizar a primeira relação de Little estabelecida acima,

assume-se que para cada cliente admitido, o sistema contrai um custo a uma taxa de 1

enquanto o cliente está na fila. Então, o custo médio em regime contraído por cliente

admitido é igual a E[Wq]. Por outro lado, desde que o sistema contraí um custo a uma

taxa de j enquanto j clientes estão esperando na fila, o custo médio em regime contraído

pelo sistema por unidade de tempo é igual a E[Lq]. A primeira relação de Little, então, é

obtida observando que a taxa de chegada média em regime de clientes admitidos é λ. A

segunda relação de Little é obtida assumindo-se que, para cada cliente admitido, o

sistema contraí um custo a uma taxa de 1 enquanto o cliente está no sistema. Para

visualizar a terceira relação acima, assume-se que cada cliente aceito paga uma taxa de

1 por unidade de tempo, enquanto em serviço. Então a recompensa conseguida por um

cliente é igual ao tempo de serviço do cliente. Por outro lado, o sistema consegue uma

recompensa a uma taxa de j por unidade de tempo quando j servidores estão ocupados.

Conseqüentemente a recompensa média conseguida pelo sistema por unidade de tempo

é igual ao número médio de servidores ocupados. E desta forma a relação é obtida.

70

2.3.3 – ESTIMATIVAS DAS MEDIDAS DE PERFORMANCE DA FILA GI/G/m

A PARTIR DE UMA EXECUÇÃO DA SIMULAÇÃO

Existem dois tipos de estimadores a considerar com relação as medidas de performance

de uma fila GI/G/m. O primeiro tipo se refere a estimativas que são obtidas a partir dos

dados de saída da simulação através da média aritmética ordinária e o segundo tipo se

refere a estimativas obtidas através da média aritmética ponderada pelo tempo

(freqüentemente, referida como média integrada no tempo).

2.3.3.1 – NÚMERO MÉDIO NO SISTEMA E NÚMERO MÉDIO NA FILA

Seja o número de clientes no sistema no instante t (incluindo aqueles em serviço)

denotado por L(t). Considere a simulação de um sistema de fila sobre um período de

tempo T, onde Ti denota o tempo total em que o sistema contém exatamente i clientes

durante [0, T]. Dessa forma tem-se que ∑∈

=Ei

i TT , onde E = {0, 1, 2, ..., k}e,

eventualmente, pode-se ter E = {0, 1, 2, 3, ...}.

O número médio de clientes no sistema pode ser, então, estimado por:

∑∑∑

∈∈

∈ =

==Ei

iEi

iEii

iTTT

Ti

T

iTL 1ˆ .

Para ilustrar e motivar esta definição, considere a simulação de um tal sistema de fila

durante um período de tempo T, como o mostrado na Figura 2.4.

Pela Figura 2.4, ( ) 158,119134211130ˆ ≅×+×+×+×=L . Note que TTi é a

proporção do tempo que o sistema de fila contém exatamente i clientes. O estimador L é

um exemplo de uma média aritmética ponderada pelo tempo.

71

A área total sob a função L(t) pode ser decomposta em retângulos de peso i e tamanho

Ti, o que permite obter a seguinte relação: ∫∑ =∈

T

Eii dttLiT

0 )( . E, consequentemente,

tem-se que:

∫∑ ==∈

T

Eii dttL

TiT

TL

0 )(11ˆ .

Estas equações são válidas para qualquer sistema de fila, indiferentemente do número

de servidores, da disciplina da fila, ou qualquer outra circunstância especial.

Muitos sistemas de filas exibem um tipo de estabilidade (equilíbrio ou regime) em

termos de suas medidas de performance. E este é o caso da fila GI/G/m, sob

consideração neste estudo, com 1<ρ . Para tais sistemas, quando T torna-se

suficientemente grande, o número médio de clientes observado no sistema, L , se

aproxima de um valor limite, E[L], que é chamado de número médio, em equilíbrio ou

em regime, de clientes no sistema. Isto é, com probabilidade 1,

∞→→= ∫ TLEdttLT

LT

quando ][)(1ˆ

0 .

2 4

3

2

1

0 18 16 14121086

L(t)

t

T1T1 T1 T1

T2 T2

T3

Fig. 2.4 – Número de clientes na fila, L(t), no tempo t.

T0

T0

72

Se o tamanho da execução da simulação é suficientemente longo e o vício devido às

condições iniciais do sistema for minimizado através de um procedimento específico,

diz-se que a estimativa obtida através do estimador L é não viciada. Desta forma o

estimador L é dito ser consistente (coerente) para E[L].

Seja Lq(t) o número de clientes na fila no instante t (excluindo aqueles em serviço), e Tiq

o tempo total em que existem exatamente i clientes na fila durante [0, T]. Dessa forma

tem-se que ∑∈

=Ei

qi TT , onde { }kE ,,3,2,1,0 K= e, eventualmente, pode-se ter

{ }K,3,2,1,0=E .

Então, de forma análoga, o número médio, em regime ou equilíbrio, de clientes no

sistema pode ser estimado por:

∞→→== ∫∑∈

TLEdttLT

iTT

L q

T

qEi

qiq quando ][)(11ˆ

0 .

2.3.3.2 – TEMPO MÉDIO NO SISTEMA E ESPERA MÉDIA NA FILA

Seja a quantidade de tempo Rn gasta pelo n-ésimo cliente no sistema (incluindo o tempo

de serviço). Considere a simulação de um sistema de fila sobre um período de tempo T.

Dessa forma R1, R2, ..., RN representam a quantidade de tempo gasto por cada cliente no

sistema durante [0, T], onde N é o número de chegadas durante [0, T]. Então o tempo

médio gasto por cliente no sistema, chamado de tempo médio no sistema, é dado pela

média amostral ordinária (simples) a seguir:

∑=

=N

iiR

NW

1

1ˆ .

Para sistemas estáveis (em equilíbrio ou regime), quando N → ∞, [ ]WEW →ˆ com

probabilidade 1, onde E[W] é a média em equilíbrio do tempo no sistema, ou seja, o

tempo esperado que um cliente gaste no sistema, para um sistema em equilíbrio.

73

Se o sistema em consideração é uma fila de espera (excluindo os clientes em serviço)

então o tempo médio gasto na fila por cliente, chamado de tempo médio de espera, é

dado pela média amostral ordinária (simples) a seguir:

∑=

=N

iiq D

NW

1

1ˆ .

Onde Dn é a espera na fila do n-ésimo cliente (excluindo o tempo de serviço) durante

[ ]T,0 .

E de forma análoga tem-se que, para sistemas estáveis (em equilíbrio ou regime),

quando N → ∞, [ ]qq WEW →ˆ com probabilidade 1, onde E[Wq] é a média em equilíbrio

do tempo na fila, ou seja, o tempo esperado que um cliente gaste na fila, para um

sistema em equilíbrio.

Os estimadores qWW ˆ e ˆ são influenciados pelas condições iniciais I do sistema e pelo

tamanho da execução T, analogamente aos estimadores qLL ˆ e ˆ .

2.3.3.3 – AS FÓRMULAS DE LITTLE E AS ESTIMATIVAS qq WWLL ˆ e ˆ,ˆ,ˆ

Pode ser derivado da Figura 2.4, veja em Banks e Carson II (1984), que: WL ˆˆˆ λ= . E,

quando T → ∞ e N → ∞, tem-se que WL ˆˆˆ λ= → ][][ WELE λ= , onde λ é a taxa média

de chegadas observada (média amostral dos dados de saída da simulação) e λ é a taxa

média de chegadas para o sistema em equilíbrio (geralmente um parâmetro fornecido).

E de forma análoga tem-se que: qq WL ˆˆˆ λ= . E, quando T → ∞ e N → ∞, tem-se que

qq WL ˆˆˆ λ= → ][][ qq WELE λ= .

2.4 - DISTRIBUIÇÕES DE PROBABILIDADE

Nesta seção são abordadas as seguintes distribuições de probabilidade:

74

• distribuição exponencial;

• distribuição gamma;

• distribuição de Weibull;

• distribuição de Erlang de ordem k e misturas de Erlangs de ordens k e k-1;

• distribuição Hiperexponencial de ordem 2 com médias balanceadas;

• distribuições do tipo fase, especialmente a distribuição de Cox de ordem 2 com

normalização gamma;

• distribuição histograma.

São apresentadas definições resumidas e algumas aplicações destas distribuições, bem

como o ajuste ou estimação dos parâmetros destas distribuições para que possam ser

utilizadas pelo modelo, programado, de simulação.

2.4.1 - DISTRIBUIÇÃO EXPONENCIAL

Existem muitas situações onde o número de ocorrências de um evento num tempo

especificado segue uma distribuição de Poisson, ou seja, se x é o número de ocorrências

no tempo t, a probabilidade de x ocorrências é dado por: ( ) ( ) tx

extxP αα −=!

, onde α é a

taxa de ocorrências por unidade de tempo e t é o número de unidades de tempo.

Pode facilmente ser visto que a probabilidade de nenhuma ocorrência até um instante t,

x = 0, é ( ) teP α−=0 . E desta expressão pode-se escrever a função de distribuição

cumulativa, a probabilidade da primeira ocorrência num tempo menor ou igual a t,

( ) tetF α−−=1 . Diferenciando F(t) obtém-se a função de densidade: ( ) tetf αα −= . A

função de densidade f(t) é geralmente referida como a distribuição exponencial.

75

Como foi indicado, se a probabilidade de x ocorrências no tempo t segue a distribuição

de Poisson, então a distribuição de probabilidade do tempo até a primeira ocorrência (ou

o tempo entre ocorrências) segue a distribuição exponencial.

Desta forma a distribuição exponencial tem função densidade de probabilidade xexf αα −=)( , função de distribuição cumulativa ( ) xexF α−−=1 , esperança α1][ =XE

e variância 21][ α=XV . A esperança E[X] é, freqüentemente, referida como o tempo

médio até uma falha ou o tempo médio entre ocorrências de eventos, dependendo da

aplicação.

A distribuição exponencial tem uma forma simples e é definida no intervalo (0, ∞), seu

coeficiente de variação é sempre igual a 1 e seu parâmetro de escala α pode ser

ajustado, sem ambigüidade, apenas com o primeiro momento. Ela possui taxa de falhas

condicional (“hazard rate”) constante e igual a α, sendo que a taxa de falhas condicional

é definida por ( )( )xF

xfxh−

=1

)( .

O mais simples dos modelos de tempo de vida corresponde ao caso onde a taxa de

falhas condicional é constante, ou seja, ao caso em que a distribuição do tempo de vida

é exponencial. Este modelo é usado para equipamentos que não sofrem desgaste devido

ao uso sobre o seu tempo de vida operante. Em outras palavras, a probabilidade de falha

num período de tempo fixado, dado que o equipamento está em operação, é constante e

independente da idade do equipamento.

A distribuição exponencial tem sido usada em muitas aplicações por causa de sua

simplicidade e da facilidade de determinar percentis, estimadores, testes de hipóteses e

intervalos de confiança. Alguns exemplos de aplicação são: o tempo de espera para a

chegada do próximo cliente ou o tempo entre chegadas em sistemas de filas, o tempo até

uma falha num sistema complexo de componentes não redundantes, e o tempo para

completar uma tarefa.

76

Esta distribuição está disponível no pacote de software Micro Saint para fornecer ou

gerar tempos de atividades exponencialmente distribuídos.

2.4.2 - DISTRIBUIÇÃO GAMMA (Gm)

A distribuição gamma pode ser interpretada como a distribuição da soma de variáveis

aleatórias exponenciais independentes e identicamente distribuídas. Esta distribuição

tem sido usada para representar a distribuição do tempo de espera da k-ésima chegada

em um posto de serviço, o tempo de falha de um sistema composto de unidades

redundantes, onde uma unidade redundante é ligada quando uma unidade em operação

falha e o tempo até a falha de algum mecanismo ou organismo, onde a falha é causada

por uma acumulação de danos (a falha ocorre após um número fixo de ocorrências de

danos) e estes danos ocorrem independentemente para uma taxa fixa. Em todas estas

instâncias assume-se que, para uma primeira aproximação, a distribuição subjacente seja

exponencial.

A distribuição gamma tem muitas aplicações em controle de estoques, teoria de filas, e

estatística teórica. Dois casos especiais desta são as distribuições de Erlang-k e do Qui-

quadrado. A taxa de falhas condicional para a distribuição gamma é limitada, e isto

pode ser usado como critério para se escolher entre ela e a distribuição de Weibull (taxa

de falhas condicional ilimitada).

A distribuição gamma tem função densidade de probabilidade dada por:

( ) 0 , )(

)( 1 >Γ

= −− xexxf xαθθαθθ

αθ ,

onde:

( ) ∫∞ −−=Γ

0

1 dxet xθθ ,

para todo θ > 0.

77

O parâmetro θ é chamado parâmetro de forma e α é chamado parâmetro de escala. O

parâmetro θ determina a forma da distribuição, quando 1=θ o modelo exponencial é

obtido com uma taxa de falhas condicional constante. Quando 1>θ a função densidade

é zero na origem, cresce para até um máximo global (mono-modal) e decresce para zero

quando x → ∞; sua taxa de falhas condicional cresce até um limite superior. Quando

1<θ a função de densidade tem uma assintótica no ponto t = 0.

Quando o parâmetro k=θ (inteiro) a distribuição gamma é freqüentemente referida (ou

classificada) como a distribuição de Erlang de ordem k.

Integrando por partes a função densidade de probabilidade da distribuição gamma pode-

se mostrar que: ( ) ( ) ( )1 1 −Γ−=Γ θθθ . E se θ é um inteiro, então usando Γ(1)=1, pode

ser visto que: ( ) ( )! 1−=Γ θθ .

Para θ = x +1, com x real, pode-se utilizar a série assintótica de Stirling para estimar os

valores da função gamma:

( )

+−++=+Γ − ...

51840139

2881

1211 21 32 xxx

exxx xxπ .

Mas em Flannery et alli (1990) é apresentada uma aproximação devida a Lanczos,

derivada da aproximação de Stirling, com uma série de correções, dada por:

( ) ( ) ( )

++

+⋅⋅⋅++

++

+++=+Γ ++−+ επγ γ

Nxc

xc

xc

cexx Nxx

21 2 1 21

021 2

121

para x > 0. Para esta aproximação com γ = 5, N = 6 e um certo conjunto de coeficientes

c’s, o erro é menor que 10102 −×<ε . O conjunto de coeficientes é o que segue:

;16775053203294,86 ;71461800917294,76 ;900150000000001,1

2

1

0

−===

ccc

78

.5E9535395239384,0 ;2E8661791208650973.0

;501552317395724,1 ;30910140982408,24

6

5

4

3

−−=−=

−==

cccc

A distribuição gamma tem esperança α1][ =XE e variância θα 21][ =XV .

Esta distribuição está disponível no pacote de software Micro Saint para fornecer ou

gerar tempos de atividades.

Os seus parâmetros são ajustados pelo pacote de software Micro Saint, bastando

fornecer a média (esperança) e o desvio padrão.

Para maiores informações sobre a distribuição gamma veja Banks e Carson II (1984),

Gottfried (1984) e Spiegel (1992).

2.4.3 - DISTRIBUIÇÃO DE WEIBULL (W)

A distribuição de Weibull tem uma propriedade muito interessante: ela pode representar

qualquer uma dos três possíveis tipos de taxas de falhas condicionais, isto é, taxas de

falhas crescentes, decrescentes e constantes.

A distribuição de Weibull tem sido usada para modelar o tempo até a falha em diversos

sistemas, pois uma escolha apropriada de seus parâmetros pode representar

características de tempo de vida de uma grande diversidade de equipamentos. Ela

também pode ser usada como um modelo de distribuição para um grande número de

variáveis aleatórias cujas funções de densidade são limitadas à esquerda.

A distribuição de Weibull tem função densidade de probabilidade dada por:

να

να

ναθ θθ

=−

xxxtf ,exp)(1

.

O parâmetro θ > 0 é chamado parâmetro de forma, α > 0 é chamado parâmetro de

escala e ν é chamado parâmetro de locação, -∞ < ν < +∞.

79

Quando ν = 0 a função densidade de probabilidade Weibull torna-se:

0 ,exp)(1

=

xxxxfθθ

αααθ .

O parâmetro θ determina a forma da distribuição; quando θ > 1 a taxa de falhas

condicional cresce com o tempo, é ilimitada, quando θ < 1 ela decresce para zero, e

quando θ = 1 a distribuição de Weibull reduz-se à distribuição exponencial com taxa de

falhas condicional constante.

A esperança e a variância da distribuição de Weibull são dadas por:

+Γ−

+Γ=

+Γ+=

22 1112][ e 11][

θθα

θαν XVXE .

E a função Γ(⋅) está definida na distribuição gamma.

2.4.4 - DISTRIBUIÇÃO DE ERLANG DE ORDEM k (Ek)

A distribuição de Erlang de ordem k é um caso especial da distribuição gamma. A

distribuição gamma com parâmetro θ = k (inteiro) é freqüentemente referida (ou

classificada) como a distribuição de Erlang de ordem k.

A distribuição de Erlang pode surgir no seguinte contexto: Considere uma série de k

estações, conforme o diagrama da Figura 2.5, onde um cliente precisa passar sem

interrupção para completar o serviço requerido. Cada estação processa uma parte do

serviço, que pode ser pensado com estágio ou fase do serviço. Um cliente adicional

(novo) não pode entrar na primeira estação (ou iniciar o seu serviço) até que o cliente

em processo (sendo servido) tenha passado por todas as fases ou estágios do serviço,

onde o tempo de serviço de cada estação (ou de cada fase ou estágio) tem uma

distribuição exponencial com parâmetro kα.

80

Esta noção de decompor a distribuição do tempo de serviço (ou do tempo entre

chegadas, ou de outro processo qualquer) numa coleção estruturada de distribuições

exponenciais, geralmente, é referida como o “método dos estágios”.

O princípio em que o método dos estágios está baseado é a propriedade da falta de

memória da distribuição exponencial. Esta falta de memória é traduzida (ou revelada)

pelo fato de que a distribuição do tempo remanescente (futuro ou vida restante) para

uma variável aleatória exponencialmente distribuída é independente do tempo já

decorrido (passado ou idade adquirida) dessa variável aleatória.

A distribuição de Erlang tem função densidade de probabilidade dada por:

( ) ( ) 0 ,! 1

)()( ,! 1

)()( 11 >

=−

= −−−− xexk

xfouexk

kxf xkk

kxkk

αα αα .

O parâmetro k > 0 (inteiro) é chamado parâmetro de ordem, e α > 0 é chamado

parâmetro de escala.

A esperança e a variância da distribuição de Erlang são dadas por:

2

1][ e 1][αα k

XVXE == .

Uma variável aleatória com esta densidade é com probabilidade p = 1 distribuída como

a soma de k densidades exponenciais independentes com média comum k/α, conforme

representado na Figura 2.5, a seguir.

1 1 1 1 1 2 3 k

α/k α/k α/k α/k

Fig. 2.5 – Diagrama de transição de estados da distribuição de Erlang de ordem k.

81

Pode ser notado que para um valor médio E[X], fixado, a variância de X, V[X], decresce

quando k cresce e, no limite, tende a zero. Em outras palavras, para um dado parâmetro

α, se o número de fases cresce, a variância decresce, a média permanece constante e o

tamanho médio da fase decresce. Desta forma, como a família de distribuições de

Erlang-k varia sobre uma ampla faixa, ela é extremamente útil para aproximar qualquer

variável aleatória não negativa cuja variância não exceda o quadrado de sua média.

Assim, se uma determinada variável aleatória pode ser bem aproximada por uma

variável aleatória distribuída por uma Erlang-k, então modelos matemáticos bem

conhecidos podem ser aplicados, simplificando cálculos.

Para selecionar uma variável aleatória X de Erlang-k para aproximar uma determinada

variável aleatória Y, procede-se da seguinte forma para determinar os parâmetros α e k

da variável aleatória X de Erlang-k:

Passo 1. Determine ou forneça a média E[Y].

Passo 2. Determine ][1 YE=α .

Passo 3. Determine k como o maior inteiro menor que ou igual a ][][ 2 YVYE .

2.4.4.1 – MISTURAS DE ERLANGS DE ORDEM k E k-1 (Ek-1,k)

Uma distribuição Erlang-k (Ek) pode ser representada como a soma de k variáveis

aleatórias independentes e exponencialmente distribuídas com a mesma média.

Uma distribuição Ek-1,k é definida como uma mistura de distribuições de Erlang Ek-1 e

Ek com os mesmos parâmetros de escala.

A função densidade de probabilidade de uma distribuição Ek-1,k , tem a seguinte forma:

( ) ( ) .10 e 0 ,! 1

)1(! 2

)(12

1 ≤≤≥−

−+−

= −−

−−

− ptektpe

ktptf t

kkt

kk αα αα

82

Uma variável aleatória com esta densidade é com probabilidade p (respectivamente 1-p)

distribuída como a soma de k-1 (respectivamente k) densidades exponenciais

independentes com média comum 1/α, conforme o diagrama da Figura 2.6.

Os parâmetros p e α podem ser ajustados pelos dois primeiros momentos de uma

variável aleatória positiva X, como:

( ){ }[ ]1

11 que desde ,][

e 11

1 22122222 −

≤≤−

=−+−+

=k

ckXE

pkckckkcc

p XXXXX

α .

Somente coeficientes de variação ao quadrado entre 0 e 1, 10 2 << Xc , podem ser

obtidos por misturas do tipo Ek-1,k. A distribuição Ek-1,k é sempre unimodal e para

( )21 3 2 ≤≥ Xck tem a mesma forma da distribuição gamma, ou seja, a densidade

primeiro cresce a partir de 0 (zero) até um máximo e depois decresce para 0 (zero).

Nota-se também que esta densidade tem taxa de falhas condicional crescente.

Para maiores detalhes sobre o ajuste de distribuições Ek-1,k veja (Tijms, 1986 e 1994).

2.4.5 – DISTRIBUIÇÃO HIPEREXPONENCIAL DE ORDEM k (Hk)

Para a distribuição de Erlang-k foi visto na Seção 2.4.4 que a sua média pode ser

selecionada por uma escolha apropriada de α, e que pode-se selecionar uma faixa de

coeficientes de variação simplesmente pelo ajuste de k. Contudo esta faixa de variação

está restrita a coeficientes de variação que são menores que ou iguais ao coeficiente de

variação da distribuição exponencial.

1-p

p

1 2 k-11 1

α α α

k 1

α

Fig. 2.6 – Diagrama de estados de uma mistura Ek-1, k de Erlangs de ordens k e k-1.

83

Uma combinação de estágios que resulta em coeficientes de variação maiores que a

exponencial (maiores do que 1) pode ser obtida através de uma disposição em paralelo

de estágios exponenciais, com médias diferentes. Uma distribuição com esta

combinação de estágios exponenciais, com médias diferentes em paralelo, é

denominada Hiperexponencial. O diagrama de estados para a distribuição

Hiperexponencial de ordem k (Hk) é dado na Figura 2.7.

A distribuição Hiperexponencial de ordem k tem função densidade e transformada de

Laplace da função de distribuição dadas, respectivamente, por:

( ) ( ) ∑∑==

+=≥=

k

i i

ii

k

i

tii s

psFteptf i

1

*

1 e ,0 ,

αα

α α , onde ∑=

=k

iip

11.

Para esta distribuição tem-se que:

[ ] [ ] [ ] [ ] [ ]( )22

12

2

1 e 2 , XEXEXV

pXE

pXE

k

i i

ik

i i

i −=== ∑∑== αα

.

α2

α1

αi

αk

i

1

k

2

p1

p2

pi

pk

Fig. 2.7 – Diagrama de estados de uma distribuição Hk.

84

Pode ser mostrado facilmente, veja Kleinrock (1975), que o coeficiente de variação,

[ ] [ ]XEXVcX = , agora é maior do que 1 e, portanto, representa uma variação maior

do que aquela da distribuição exponencial. Desta forma, como a família de distribuições

Hiperexponenciais-k variam sobre uma ampla faixa, ela é extremamente útil para

aproximar qualquer variável aleatória não negativa cuja variância exceda o quadrado de

sua média.

Pode-se ilustrar a distribuição Hk da seguinte forma. Imagine que a estrutura da Figura

2.7 seja um posto de serviço, onde um cliente entrando em serviço recebe o serviço do

estágio i (i = 1, 2, ..., k) com probabilidade pi (o somatório de todos os pi’s é igual a 1) e,

então, após receber o serviço do estágio i deixa o posto de serviço. Um novo cliente só é

admitido (entra em serviço) após a partida do cliente que se encontra em processo de

serviço, ou seja, durante a fase de serviço de um cliente outro cliente não pode entrar em

serviço.

2.4.5.1 – DISTRIBUIÇÃO HIPEREXPONENCIAL DE ORDEM 2 COM MÉDIAS

BALANCEADAS (H2b)

Uma distribuição Hiperexponencial de ordem 2 (H2) é uma mistura de duas

exponenciais com médias diferentes α1 e α2.

A função densidade de probabilidade de uma distribuição H2, tem a seguinte forma:

.1 e 1,0 , 0 ,)( 2121221121 =+≤≤≥+= −− pppptepeptf tt αα αα

Uma variável aleatória com esta densidade é com probabilidade p1 (respectivamente p2)

distribuída como uma densidade exponencial com média 1/α1 (respectivamente 1/α2),

conforme o diagrama da Figura 2.8.

Os parâmetros da distribuição Hiperexponencial de ordem 2 (H2) não são unicamente

ajustados pelos primeiros dois momentos. Entretanto H2 é unimodal com um máximo

para t = 0.

85

Diz-se que uma distribuição H2 tem médias balanceadas se a normalização 2

2

1

1

ααpp

= é

considerada.

Os parâmetros da densidade de H2 com médias balanceadas ajustados pelos dois

primeiros momentos são dados por:

][2

e ][

2 ,1 ,

11

121 2

21

1122

2

1 XEp

XEp

ppcc

pX

X ==−=

+−

+= αα

Para maiores detalhes sobre o ajuste de distribuições H2, ver Tijms (1986 e 1994) e

Allen (1990).

2.4.5.2 – DISTRIBUIÇÃO H2 COM NORMALIZAÇÃO GAMMA (H2g)

Uma variável aleatória X com média E[X] e 12 >Xc pode ser ajustada pelos dois

primeiros momentos de uma distribuição H2 com normalização gamma (H2g). Este

ajuste produz uma variável aleatória H2 com a mesma média, E[X], e o mesmo

coeficiente de variação ao quadrado, 12 >Xc , que a variável aleatória X, e além disso

tem o terceiro momento igual ao da variável aleatória gamma com estes mesmos

parâmetros E[X] e 12 >Xc .

Os parâmetros da densidade de H2 com normalização gamma ajustados pelos dois

primeiros momentos, são dadas por:

1

α1

2

α2

p2

p1

Fig. 2.8 – Diagrama de estados da distribuição H2.

86

( ) 1 ,

1][ ,

][4 ,

1)21(

1][

212

12

211122

2

1 ppXE

pXEc

cXE X

X −=−

−=−=

+−

+=αα

ααααα .

Para maiores detalhes sobre o ajuste de distribuições H2, ver Tijms (1986 e 1994) e

Allen (1990).

2.4.5.3 – DISTRIBUIÇÃO H2 AJUSTADA PELOS TRÊS PRIMEIROS

MOMENTOS

Num contexto um pouco mais geral, pode-se obter uma outra normalização que

acredita-se, seja mais natural. O ajuste em três momentos por uma densidade H2 nem

sempre é possível, mas é único se ele existir.

Uma densidade H2 somente pode ser ajustada para os três primeiros momentos m1, m2 e

m3 de uma variável aleatória positiva X com 12 >Xc quando o requerimento 222

331 mmm ≥ for satisfeito. E, então, os parâmetros do ajuste de três momentos são

dados por:

( ) ( )12

21

12112

21121 1 ,

1 ,4

21 pp

mpaaa −=

−−

=−±==αα

αααα ,

onde: ( ) ( )31221212 )23()3(6 mmmmmma −−= e ( ) ( )12211 21 mamma += .

O requerimento 222

331 mmm ≥ é sustentado para uma variável aleatória X, com 12 >Xc ,

distribuída tanto por uma densidade gamma quanto por uma densidade lognormal.

Para maiores detalhes sobre o ajuste de distribuições H2, ver Tijms (1986 e 1994) e

Allen (1990).

2.4.6 – DISTRIBUIÇÕES DO TIPO FASE (Ph)

Esta noção de decompor a distribuição do tempo de serviço (ou do tempo entre

chegadas, ou de outro processo qualquer) numa coleção estruturada de distribuições

exponenciais, geralmente, é referida como “método dos estágios ou de fases”. Em

87

outras palavras, uma distribuição que seja constituída de uma combinação de estágios

exponencialmente distribuídos, em série e (ou) em paralelo, ou seja, uma distribuição

constituída de uma soma finita ou de uma mistura finita de componentes distribuídos

exponencialmente.

Toda distribuição que seja constituída de uma combinação de estágios

exponencialmente distribuídos, em série e (ou) em paralelo, pode ser colocada na forma

do diagrama da Figura 2.9, denominada configuração (ou distribuição) de Cox

(Kleinrock, 1975) e (Allen, 1990).

Para ilustrar o diagrama da Figura 2.9, imagine um centro de serviços que seja

representado como uma rede de estágios (ou nós, ou fases). Somente um cliente é

admitido por vez no centro de serviço, só podendo admitir outro quando o cliente em

processo completar o seu serviço e deixar o centro de serviços. Neste sistema existem k

estágios de serviço e somente um destes pode ser ocupado para um determinado tempo.

Clientes entram da esquerda e partem da direita. Antes da admissão (do ingresso) no i-

ésimo estágio uma escolha deve ser feita de forma que o cliente inicia a fase de serviço

do i-ésimo estágio com probabilidade pi , ou o cliente parte imediatamente do centro de

serviços com probabilidade qi . Claramente é requerido que pi + qi = 1, para i = 1, 2, ...,

k. Após completar o k-ésimo estágio, o cliente parte do (deixa o) centro de serviços com

probabilidade 1.

A probabilidade que um cliente alcance o estágio i é dada por Ai = p0 p1 ... pi-1

),,3,2,1( ki K= e a probabilidade que um cliente visite os estágios 1, 2, ..., i e deixe o

Fig. 2.9 – Diagrama de estados de uma Ph na forma da configuração de Cox.

α1 p1

α2 α3 αk p2 p3 pk-1

q1 q2 q3q0

p0

1qk-1

88

centro de serviços é dada por Aiqi. Conseqüentemente, o tempo W que um cliente gasta

no centro de serviços é, com probabilidade Aiqi, a soma de i, independentes, variáveis

aleatórias exponencialmente distribuídas. Então, o valor esperado de W é dado por:

[ ] ∑∑∑∑====

=

=

k

j j

k

iii

k

jj

k

iii qAXEqAWE

1111

(Allen, 1990).

Similarmente, tem-se que:

[ ] [ ]∑=

=k

iiii YEqAWE

1

22 ,

onde Yi = X1 + X2 + … + Xi , e:

[ ]

.22222222

2

1321312122

221

222

21

2

iiii

mlmlii XXXXXEYE

ααααααααααααα −

++++++++++=

=

++++= ∑

LLL

L

Segundo Allen (1990), não é difícil mostrar que a transformada de Laplace-Stieltjes de

uma distribuição de Cox é dada por:

( ) ∏∑==

−∗

++=

i

j j

jk

iii s

qpppqsF11

1100 αα

K .

É importante notar que para a modelagem de sistemas de filas, o interesse no sistema

mostrado na Figura 2.9 é somente para os casos onde p0 = 1 e q0 = 0.

Pode-se considerar transições mais gerais entre os estágios que as mostradas na Figura

2.9. Por exemplo, ao invés de escolher somente entre imediata partida e imediata

entrada no próximo estágio, podem ser consideradas retroalimentação (“feedback”) e/ou

transição adiante (“feedforward”) para outros estágios. Entretanto, já foi mostrado que

este conceito de “feedback” e “feedforward” não introduz mais generalidade sobre o

sistema mostrado na Figura 2.9 (Kleinrock, 1975).

89

Este método de representação de estágios é a forma mais geral de construir uma variável

aleatória de estágios (ou fases) exponenciais independentes. Deste modo, uma Erlang-k,

uma Hiperexponencial, ou qualquer outra variável aleatória não negativa que possui

transformada de Laplace-Stieltjes racional é uma distribuição de Cox (Allen, 1990).

Mais geralmente pode-se considerar a então denominada distribuição do tipo fase (Ph),

que é interpretada como a distribuição do tempo até a primeira passagem numa cadeia

de Markov a tempo contínuo, ver Neuts (1981). Esta classe de distribuições do tipo fase,

apresentada em Neuts (1981), representa o tempo até a absorção numa cadeia de

Markov com n +1 estados, sendo n transitórios e um absorvente.

A combinação de estágios é representada nos modelos de Markov pela introdução de

estados fictícios, tornando possível a utilização do ferramental analítico disponível para

os processo de Markov (Carvalho, 1991). Estas distribuições de probabilidade do tipo

fase são definidas a partir das cadeias de Markov, podendo ser discretas ou contínuas,

dependendo se as cadeias de Markov são a tempo discreto ou a tempo contínuo.

As distribuições do tipo fase podem ser cíclicas ou acíclicas. Sendo que o maior

interesse tem sido nas acíclicas. E estas são uma subclasse das distribuições do tipo fase

que são geradas a partir de uma cadeia de Markov a tempo contínuo (ou a tempo

discreto) acíclica. Uma distribuição é considerada acíclica se corresponde a uma

combinação em série/paralelo de estados fictícios, onde cada estado é atingido somente

uma vez antes da absorção em uma cadeia de Markov.

As distribuições do tipo fase acíclicas fornecem representações mínimas únicas,

denominadas formas canônicas, com taxas de transição reais e não decrescentes. Uma

das formas canônicas básicas pode ser considerada como uma restrição do modelo (ou

configuração) de Cox, onde as taxas de transição são obrigatoriamente reais (Miranda,

1996).

As distribuições de Erlang-k (de ordem k), misturas de Erlangs-k (por exemplo E k-1, k )

e Hiperexponencial são casos especiais da distribuição do tipo fase. Sendo que as

90

distribuições Ek e E k-1, k se encontram na forma da configuração de Cox e a Hk pode ser

representada por uma distribuição de Cox.

2.4.6.1 – DISTRIBUIÇÃO DE COX DE ORDEM 2 COM NORMALIZAÇÃO

GAMMA (C2g)

Uma variável aleatória X é dita ser distribuída segundo uma Cox-2 (C2) se X pode ser

representada como:

−+

=, 1 adeprobabilid com

, adeprobabilid com

1

21

pXpXX

X

onde X1 e X2 são variáveis aleatórias exponencialmente distribuídas, respectivamente,

com médias 21 1 e 1 αα . Em outras palavras, imagine um posto de serviço onde só é

admitido um cliente de cada vez e um novo cliente só é admitido quando o cliente em

processo deixar o posto de serviço. Um cliente admitido no posto de serviços recebe a

primeira fase X1 de serviço e, imediatamente, após esta fase ou ele recebe uma segunda

fase X2 de serviço com probabilidade p e deixa o posto de serviço, ou ele deixa o posto

de serviço, sem receber a segunda fase X2 de serviço, com probabilidade 1-p, ver Figura

2.10.

Pode ser assumido, sem perda de generalidade, que α1 ≥ α2. Pois, uma distribuição C2

com parâmetros (p, α1, α2) e α1 < α2 tem a mesma função densidade que a distribuição

C2 com parâmetros (p*, α1*, α2

*) onde α1* = α2, α2

* = α1 e ( )21* )1(1 ααpp −−= .

A função densidade de uma variável aleatória X distribuída por uma C2 é dada por:

exp(α1) exp(α2)

p1-p

Fig. 2.10 – A distribuição de Cox com duas fases.

91

( ) ( )( )

=−+

≠−+=

−−

−−

, se 1

, se 1

21211

2121

11

21

αααα

αααααα

αα

xx

xx

xeqeq

eqeqxf

onde ( ) 2121211 se 1 e se 1 ααααααα =−=≠−−= pqpq .

Assim, pode ser verificado por simples inspeção que a classe de densidades H2 e de

densidades Ek-1, k estão contidas na classe de densidades C2.

A densidade C2 tem sempre uma forma unimodal para 212 ≥Xc . Para valores 12 ≥Xc a

densidade é da forma )exp()exp( 222111 xqxq αααα −+− , tal que q1 e q2 são não

negativos. E como a distribuição C2 tem três parâmetros (p, α1, α2), um número infinito

de densidades C2 pode, em princípio, ser usado para um ajuste de dois momentos de

uma variável aleatória Y com 212 >Yc (a única escolha possível quando 2

12 =Yc é a

densidade E2).

Uma escolha, geralmente, útil para um ajuste de dois momentos de uma variável

aleatória Y, com média E[Y] e coeficiente de variação ao quadrado 2Yc , é a densidade C2

com parâmetros dados por:

+

−+=

11

][2

2212

1Y

Y

cc

YEα , 12 ][

4 αα −=YE

, ( )1][11

2 −= YEp ααα

.

Esta densidade C2, em particular, tem a notável propriedade de que seu terceiro

momento é o mesmo que o da densidade gamma com média E[Y] e coeficiente de

variação ao quadrado 2Yc . Em outras palavras, este ajuste produz uma variável aleatória

C2 com a mesma média, E[Y], e o mesmo coeficiente de variação ao quadrado, 2Yc , que

a variável aleatória X, e com o mesmo terceiro momento que a variável aleatória gamma

com estes mesmos parâmetros E[Y] e 2Yc .

A única densidade C2 com esta propriedade, geralmente, é referida como a densidade C2

com normalização gamma.

92

Neste estudo, para a aproximação de uma fila Gm/Gm/2 por uma Ph/Ph/2, foi utilizada

a densidade C2 (com normalização gamma) para ajustar a função de densidade gamma

como uma densidade Ph.

2.4.7 - DISTRIBUIÇÃO HISTOGRAMA

Às vezes não é possível encontrar um bom modelo, expresso por uma distribuição

conhecida, para prover a entrada de dados. Pode-se, neste caso, usar os dados empíricos

agrupados numa distribuição de freqüências, na forma da Tabela 2.1.

TABELA 2.1 – DISTRIBUIÇÃO DE FREQÜÊNCIAS

Intervalos fi fri fci

L ≤ x < X1 f1 fr1 fc1

X1 ≤ x < X2 f2 fr2 fc2

X2 ≤ x < X3 f3 fr3 fc3

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

Xi ≤ x < Xi+1 fi fri fci

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

Xn-1 ≤ x ≤ U fn frn fcn

Totais Σfi 1 -

Onde: fi é a freqüência absoluta do intervalo i; fri é a freqüência relativa do intervalo i; e

fci é a freqüência acumulada até o intervalo i.

93

Recomenda-se que os intervalos sejam pequenos, tanto quanto possível. Na prática o

número de intervalos deve ser entre 20 e 50 intervalos.

A distribuição de probabilidades subjacente, F(x), é desconhecida. Mas pode-se utilizar

(x)F para estimar F(x), e toma-se F(x) ≅ (x)F .

Usa-se as informações da distribuição de freqüências para definir (x)F e têm-se que:

><

=Ux para 1

Lx para 0)(F x

Pela técnica da transformação inversa, temos que os valores de X são dados por:

)(RF)(RFX i1

i1 −− ≅= ,

onde: 1R0 ≤≤ i é um número aleatório gerado, ver Figura 2.11.

1

Ri

0 L Xi X Xi+1 U

X

fc

(x)F

Fig. 2.11 – Gráfico da distribuição de freqüências.

94

Para fins computacionais transforma-se a Tabela 2.1, de distribuição de freqüências,

onde:

1ii

1iii fcfc

XXa

−−

= ,

ver a Tabela 2.2. De forma que os valores de X podem ser obtidos por:

( )iii rRaxX −+= .

Desta forma o algoritmo para a geração de valores aleatórios segundo a distribuição de

freqüências (empírica) é:

Passo 1: Gerar R (número aleatório 0 ≤ R ≤ 1);

Passo 2: Encontrar o intervalo i a que R pertença (ri ≤ R ≤ ri+1);

Passo 3: Calcular ( )iii rRaxX −+= .

TABELA 2.2 – TABELA TRANSFORMADA DA DISTRIBUIÇÃO DE

FREQÜÊNCIAS

i (intervalos) ri (entrada) xi (saída) ai(inclinação)

1 0 L a1

2 fc1 X1 a2

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

i fci-1 Xi-1 ai

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

n 1 U -

95

CAPÍTULO 3

MODELO DE SIMULAÇÃO

3.1 - INTRODUÇÃO

Neste estudo um modelo é entendido como um conjunto de hipóteses sobre a estrutura

ou o comportamento de um sistema (geralmente físico) pelo qual se procuram explicar

ou prever, dentro de uma teoria científica, as propriedades do sistema. Em outras

palavras, os processos ou serviços de interesse são, geralmente, denominados sistemas

e, para estudá-los cientificamente, na maioria das vezes, é necessário fazer suposições

sobre o modo de funcionamento destes. Estas suposições, que normalmente tomam a

forma de relações lógicas ou matemáticas, constituem um modelo. Este modelo é usado

para experimentar e obter algum entendimento de como o sistema correspondente se

comporta.

Em primeiro lugar procede-se à formulação conceitual do modelo. Nesta fase deve-se

estudar o sistema, procurando entender sua estrutura, funcionamento e restrições. A

formulação conceitual do modelo é, então, transcrita ou representada por um modelo,

geralmente, denominado comunicativo. Dessa forma o modelo comunicativo é uma

abstração do sistema sob estudo expressa na forma de relações lógicas ou matemáticas.

Neste capítulo apresenta-se um modelo conceitual de simulação da fila GI/G/m na

forma de relações lógicas. Assim o modelo comunicativo é apresentado através de um

diagrama de Ciclos de Atividades (DCAs).

Também é apresentado neste capítulo o modelo programado, ou seja, a transcrição (ou

codificação) do modelo comunicativo num programa (código) escrito em linguagem de

programação de computadores para a execução do modelo de simulação em

computadores, visando a obtenção de resultados. Na codificação do modelo foi utilizado

uma linguagem de propósito específico para simulação denominada Micro Saint.

96

3.2 - MODELO COMUNICATIVO

A lógica do sistema de filas GI/G/m foi modelada através de um diagrama de ciclo de

atividades (DCAs), e pode ser vista na Figura 3.1.

No DCAs, apresentado na Figura 3.1, as atividades são representadas por retângulos e

identificadas pelos verbos inscritos dentro destes. As filas são representadas por círculos

e as entidades que compõem as filas são identificadas pelas letras inscritas dentro destes

(C = Cliente e S = Servidor). As duas elipses sobrepostas e com a inscrição “Mundo

Exterior” representam a população de clientes (o mundo exterior ao Posto de Serviço),

de onde chegam os clientes e para onde eles retornam após terem sido atendidos.

Para uma descrição mais detalhada dos DCAs pode-se recorrer a Poole e

Szymankiewicz (1977).

3.3 - MODELO PROGRAMADO

Na programação do modelo comunicativo apresentado na seção anterior foi utilizado o

pacote de software Micro Saint 1.2-k para Windows com visualizador do processo,

versão estudantil, que é um pacote comercial de software de simulação em rede, que

permite a construção de modelos para simular processos da vida real. A Figura 3.2

mostra o diagrama de rede do modelo programado no Micro Saint.

CHEGAR

SAIR

SERVIR

C C

C

S

Mundo Exterior

Mundo Exterior

Fig. 3.1 - DCAs (C = Cliente e S = Servidor).

97

No diagrama da Figura 3.2, podem ser vistos 4 tipos de figuras geométricas e linhas

unindo-as. As figuras maiores em forma de elipse representam atividades, o triângulo

acima da atividade 1 indica o ponto de início (partida) das atividades ou trabalho, os

trapézios são nós de decisão de roteamento de entidades (clientes, servidores, etc.) e as

linhas são as rotas (caminhos) entre as atividades.

Fig. 3.2 – Diagrama de rede do modelo programado.

Neste modelo a atividade 1, denominada “Gerador”, é o ponto de partida da simulação e

simplesmente gera uma entidade que é roteada para as atividades 2 e 3,

simultaneamente, provocando a primeira execução destas atividades. A atividade 1 é

executada somente uma vez em cada execução da simulação.

A atividade 2, denominada “Chegar”, é responsável por gerar as chegadas de clientes,

com tempo entre chegadas determinísticos ou distribuídos por uma distribuição de

probabilidades especificada.

A atividade 3, denominada Gerar-Servidor, simplesmente gera o número de servidores

especificado pelo simulador. Foi considerado a geração de no máximo 100 servidores,

ou seja, foi considerado sistemas com no máximo 100 servidores.

A atividade 4, denominada Posto-Serviço, é uma atividade inserida no modelo para

possibilitar o controle da fila de clientes esperando por um servidor livre. Por exemplo,

a liberação de um cliente da fila está vinculada à existência de servidores livres.

98

A atividade 5, denominada Serv. ociosos, é uma atividade artificial no modelo para

possibilitar um melhor controle do estado dos servidores. Por exemplo, a mudança de

estado de um servidor está vinculada à existência de clientes para serem atendidos.

A atividade 6, denominada Servir, gera os tempos de serviço para cada servidor, que

podem ser determinísticos ou distribuídos por uma distribuição de probabilidades

especificada.

A atividade 7, denominada Sair, é utilizada para calcular o tempo entre a saída de dois

clientes consecutivos.

Para uma compreensão mais detalhada do modelo programado vide o anexo 1.

3.4 - VERIFICAÇÃO E VALIDAÇÃO DO MODELO DE SIMULAÇÃO

Verificação consiste em determinar se um programa de simulação em computadores

funciona como o pretendido (Law e Kelton, 1982). A verificação é um processo de

depuração da implementação computacional do modelo conceitual (código). O

propósito da verificação do modelo programado é determinar a precisão e a exatidão da

implementação computacional (código) do modelo conceitual (Banks e Carson II, 1984)

e (Carson II, 1989). Em outras palavras, pretende-se com a verificação implementar um

código que não tenha erros de programação e que seja mais eficiente.

Através da validação pretende-se determinar o quanto o modelo conceitual de simulação

(como oposto ao programa de computador) é uma representação precisa do sistema em

estudo. O objetivo da validação é determinar o quanto o modelo conceitual é uma

representação razoável do sistema real que está sendo modelado (Law e Kelton, 1982).

Devem ser respondidas as seguintes questões: Quão precisamente o modelo simulado

representa o sistema real? O modelo simulado pode ser utilizado no lugar do sistema

real para tomada de decisões? (Banks e Carson II, 1984) e (Carson II, 1989).

Infelizmente não existem soluções perfeitas para o problema de verificação e validação

em simulação. A totalidade do processo tem elementos de arte tão bem como de ciência

(Kleijnen, 1995).

99

Na prática, verificação e validação são questões importantes. Um programa de

computador com “bugs” pode gerar saídas que são completamente sem sentido, ou pior,

pode gerar saídas ligeiramente sem sentido que passam despercebidas. Um modelo não

validado pode levar (conduzir) a decisões erradas ou viciadas. Na prática, verificação e

validação são freqüentemente misturadas ou confundidas, pois muitas das técnicas

utilizadas para o processo de verificação são também utilizadas no processo de

validação (Kleijnen, 1995).

Existem muitas técnicas disponíveis, que podem ser classificadas como subjetivas ou

como estatísticas. As técnicas subjetivas freqüentemente recorrem à autoridade de

especialistas da área de estudo ou de técnicos e dirigentes envolvidos com o sistema real

para julgamento da validade do modelo conceitual. Este estudo recorrerá sempre que

possível, principalmente, à técnicas estatísticas para a avaliação do modelo no processo

de verificação e validação. Pois estas técnicas produzem dados sobre a qualidade do

modelo de simulação que são objetivos, quantitativos e reprodutíveis (Kleijnen, 1995).

A precisão e exatidão do modelo programado necessárias à verificação foi feita através

da comparação entre as estimativas das medidas de performance oriundas do modelo

simulado e os valores destas medidas obtidas por modelos analíticos correspondentes,

para umas poucas configurações de filas dentre as que possuem soluções analíticas

exatas. Segundo Kleijnen (1995) pode-se recorrer a livros texto em teoria de fila para

encontrar fórmulas para medidas de performance de interesse, em equilíbrio (regime),

entretanto estas fórmulas, geralmente, assumem tempos de serviço e intervalos entre

chegadas Markovianas, com m servidores: modelos M/M/m. Também pode-se incluir

configurações de filas com soluções analíticas exatas, nem sempre simples, disponíveis

tais como: D/D/m, M/Ph/m, Ph/M/m, Er/Ek/m e Ph/Ph/m. Deve-se lembrar que quando

o modelo tem somente entradas determinísticas (D/D/m) o uso de matemática

estatística não é necessária para verificar a correção do modelo de simulação. E em

última hipótese sempre é possível recorrer à verificação da taxa de utilização efetiva do

sistema ou à verificação do número de servidores efetivamente ocupados, estimados dos

dados de saída da simulação, para verificar a precisão e exatidão do modelo

programado.

100

Quanto à validação do modelo, deve-se ressaltar que o sistema em foco neste estudo é

um sistema idealizado, e não um sistema real. E por este motivo, foi usada a

terminologia sistema idealizado no lugar de sistema real, obtendo a seguinte definição:

o objetivo da validação é determinar o quanto o modelo conceitual é uma representação

razoável do sistema idealizado que está sendo modelado. Deve-se responder as

seguintes questões: Quão precisamente o modelo simulado representa o sistema

idealizado? O modelo simulado pode ser utilizado no lugar do sistema idealizado para

tomada de decisões?

Um modelo de simulação deveria ser, sempre, desenvolvido para um propósito

(objetivo) específico. Na verdade, um modelo validado para um propósito específico

poderia não ser válido para outro propósito.

Um modelo de simulação deveria ser validado com relação a um conjunto específico de

critérios, a saber, os critérios que serão realmente usados para a tomada de decisões.

Law e Kelton (1982), Banks e Carson II (1984), Carson II (1989) e Kleijnen (1995)

recomendam uma abordagem de três passos para a validação de um modelo de

simulação, a saber:

a) Desenvolver um modelo com alta aparência de validade (“face validity”);

b) Validar empiricamente as suposições do modelo de simulação;

c) Validar os resultados do modelo.

O objetivo no primeiro passo de validação é desenvolver um modelo com alta aparência

de validade (“face validity”), ou seja, um modelo que, na superfície, pareça razoável às

pessoas que possuem conhecimento do sistema em estudo e/ou dos usuários finais do

modelo. Neste primeiro passo de validação o desenvolvedor (ou a equipe de

desenvolvedores) precisa fazer uso da informação existente sobre o sistema (teoria

existente, conhecimento geral, observações do sistema, etc.).

101

O objetivo do segundo passo de validação é testar quantitativamente as suposições

(hipóteses) feitas durante os estágios iniciais de desenvolvimento do modelo de

simulação.

O objetivo do terceiro passo da validação é determinar a representatividade dos

resultados da simulação. Talvez o mais definitivo teste de validade de um modelo de

simulação seja estabelecer que os dados resultantes do modelo de simulação

assemelham-se estritamente aos dados que seriam esperados do sistema real (ou

idealizado). E embora não se possa estar seguros que o modelo do sistema proposto seja

“válido”, pode se ter mais confiança do que se a comparação não tivesse sido feita.

No presente estudo as suposições referem-se aos dados de entrada e de saída do modelo

de simulação de filas GI/G/m, ou seja, as suposições referem-se ao gerador de números

aleatórios, às estimativas das medidas de performance e às relações estabelecidas pelas

fórmulas de Little.

Pode-se avaliar o gerador de números aleatórios através de um teste de aderência, pode-

se averiguar se as estimativas das medidas de performance, em equilíbrio, oriundas do

modelo simulado estão de acordo com as relações estabelecidas pelas fórmulas de

Little, averiguar se a exatidão e a precisão destas estão de acordo com o especificado,

através de verificação do vício, da construção de intervalos de confiança, da aplicação

de testes estatísticos padrões.

Números aleatórios, por definição, são variáveis estatísticas contínuas, uniformemente

distribuídas entre zero e um, e estatisticamente independentes. Entretanto, na prática, os

geradores de números aleatórios são determinísticos e produzem números que são

pseudo-aleatórios, no sentido de serem prognosticáveis, ou seja, quando se especifica

uma semente, que gera o primeiro número, toda a seqüência de números está

determinada, podendo ser obtida novamente pelo simples fornecimento da mesma

semente. Entretanto estes números parecem ser tirados de uma distribuição uniforme, no

intervalo [0, 1], no sentido em que eles passam numa série de testes estatísticos para a

uniformidade e independência. Neste sentido o gerador de números aleatórios precisa

ser submetido a testes para a avaliação da uniformidade e da independência dos

102

números gerados. O gerador de números aleatórios pode ser validado quanto à

uniformidade por um teste de aderência, tal como o teste do Qui-quadrado, o de

Kolmogorov-Smirnov e o de Anderson-Darling, e quanto a independência por um teste

de corridas ou execuções (runs tests).

Neste estudo as estimativas das medidas de performance oriundas do modelo simulado

foram comparadas com aquelas provenientes de modelos analíticos correspondentes,

para alguns modelos de filas dentre aqueles que possuem soluções analíticas já

estabelecidas. Aqui pode se recorrer a testes estatísticos padrões como teste t de

Student, a estimação de intervalos de confiança, e a comparações entre o nível de

confiança especificado de 100(1-β) e a probabilidade de cobertura observada nos dados

de saída da simulação.

A metodologia para a estimação dos intervalos de confiança, para a aplicação do teste t

de Student e para a estimação da probabilidade de cobertura observada estão detalhadas

nas seções 4.3.1, 4.3.3 e 4.3.5, respectivamente. E as metodologias para a aplicação dos

testes para a uniformidade e para a independência foram detalhadas, em tópico

específico, nesta seção.

Neste estudo o sistema, que está sendo modelado, é idealizado e, por este motivo,

somente é possível obter dados bastante limitados a respeito do sistema, a saber: os

parâmetros das distribuições de entrada, que são fornecidos; os valores esperados das

medidas de performance de pouquíssimas configurações das filas GI/G/m (M/M/m,

D/D/m, ...) e Ph/Ph/m, obtidos através de modelos analíticos correspondentes. Neste

sentido foram utilizadas as seguintes configurações para proceder ao processo de

verificação e validação do modelo de simulação:

Configuração 1 - a fila D/D/1 com ρ = 0,8 (E(T) = 1,25; E(S) = 1);

Configuração 2 - a fila D/D/2 com ρ = 0,8 (E(T) = 0,625; E(S) = 1);

Configuração 3 - a fila M/M/1 com ρ = 0,2 (E(T) = 5; E(S) = 1);

Configuração 4 - a fila M/M/1 com ρ = 0,8 (E(T) = 1,25; E(S) = 1);

103

Configuração 5 - a fila M/M/2 com ρ = 0,2 (E(T) = 2,5; E(S) = 1).

Configuração 6 - a fila M/M/2 com ρ = 0,8 (E(T) = 0,625; E(S) = 1).

Configuração 7 - a fila H2b/ E2 /5 com ρ = 0,8; (E(T) = 0,25; 22 =Tc ; E(S) = 1;

5,02 =Sc ).

Configuração 8 - a fila E2 /H2b/5 com ρ = 0,8; (E(T) = 0,25; 5,02 =Tc ; E(S) = 1;

22 =Sc ).

O período de inicialização T0 e o tempo de execução TE foram determinados conforme

metodologia descrita no Capítulo 5 (período de inicialização e tempo de execução).

Os valores exatos das características das configurações das filas M/M/m e D/D/m foram

determinados pelas fórmulas apresentadas nas seções 2.3.1.1 e 2.3.1.2.

Na verificação da relações entre as medidas de performance foram utilizadas as

fórmulas de Little, apresentadas na Seção 2.3.2.

3.4.1 - METODOLOGIA PARA APLICAÇÃO DOS TESTES PARA A

UNIFORMIDADE E PARA A INDEPENDÊNCIA

Segundo Law e Kelton (1982) todos os métodos de geração de números aleatórios da

distribuição uniforme no intervalo [0, 1] – esta distribuição é denotada por U (0, 1)-

usados em simulação através de computadores são na realidade completamente

determinísticos. Deste modo, pode ser pensado somente que os números aleatórios

gerados pareçam como se eles fossem variáveis aleatórias U (0, 1) iid.

As linguagens de simulação, de propósito específico, têm um gerador de números

aleatórios embutido e, geralmente, as linguagens de propósito geral também

disponibilizam procedimentos para gerar números aleatórios na sua biblioteca de

funções, de exemplos ou de classes. A menos que um determinado gerador seja um dos

“bons” já identificados e testados em alguma lugar na literatura, ele deve ser submetido

a testes empíricos. Portanto, se uma das bem conhecidas linguagens de simulação ou um

104

dos “bons” geradores de números aleatórios foram utilizados, provavelmente seja

desnecessário a submissão a tais testes.

Para determinar se um gerador de números aleatórios fornece números que possuem as

propriedades desejadas, certos testes devem ser realizados. Estes testes, empíricos,

podem ser divididos em duas categorias, de acordo com as propriedades de interesse,

testes para a uniformidade e testes para a independência. Na primeira categoria se

encontram os testes de freqüência, que usam o teste do Qui-quadrado ou o teste de

Kolmogorov-Smirnov para comparar a distribuição do conjunto de números gerados a

uma distribuição uniforme (Banks e Carson II, 1984). A segunda categoria usa um dos

quatro testes seguintes, para testar a independência dos números gerados:

• Teste de corridas ou execuções (runs test), que testa as corridas ascendentes e

descendentes ou as execuções acima e abaixo da média, comparando os valores

correntes (atuais, efetivos) aos valores esperados;

• Teste de auto-correlação (autocorrelation test), que testa a correlação entre

números e compara a correlação da amostra à correlação esperada, que é igual a

zero;

• Teste de abertura (gap test), que conta o número de dígitos que aparecem entre as

repetições de um determinado dígito e, então usa o teste de Kolmogorov-Smirnov

para comparar com o número esperado de aberturas (gaps);

• Tteste de pôquer (poker test), que lida com números agrupados juntamente com

uma mão de pôquer e, então as mãos obtidas são comparadas à que é esperada

usando o teste do Qui-quadrado.

Tanto o teste de Kolmogorov-Smirnov quanto o teste do Qui-quadrado são aceitáveis

para testar a uniformidade de uma amostra de dados, desde que o tamanho da amostra

seja grande. Entretanto, o teste de Kolmogorov-Smirnov é o mais potente dos dois e é

recomendado. Além disso, o teste de Kolmogorov-Smirnov pode ser aplicado para

tamanhos pequenos de amostras, enquanto o teste do Qui-quadrado é válido somente

105

para grandes amostras, diga-se N ≥ 50 (Banks e Carson II, 1984). Neste sentido, foi

adotado neste trabalho o teste Kolmogorov-Smirnov para testar a uniformidade do

gerador de números aleatórios do pacote de software de simulação Micro Saint. Neste

sentido usa-se o gerador para gerar alguns números aleatórios, U (0, 1), que, então,

serão examinados estatisticamente, através do teste Kolmogorov-Smirnov, para se

determinar quão próximos eles se assemelham a variáveis aleatórias U (0, 1) iid. O teste

de Kolmogorov-Smirnov foi especificado na Seção 3.4.11.

Law e Kelton (1982) sugerem a aplicação dos testes de rodadas ou execuções (runs test)

como uma mais direta averiguação da suposição de independência. E como estes

examinam unicamente a independência, provavelmente seria uma boa idéia aplicá-los

antes de se realizar o teste de uniformidade, no caso o teste de Kolmogorov-Smirnov.

Eles afirmam, também, que os testes de execuções ou rodadas são potentes, no sentido

em que muitos geradores têm passado em testes de uniformidade (Qui-quadrado, Serial,

etc.) e falhados em testes de execuções ou rodadas (runs test).

Existem vários tipos de testes de execuções (runs test), tais como contando execuções

ascendentes ou descendentes na mesma seqüência, ou simplesmente contando o número

de execuções sem considerar o seu tamanho. Entretanto neste estudo foi considerado

somente o teste de execuções acima e abaixo da média conforme definição apresentada

em Banks e Carson II (1984). O teste de execuções acima e abaixo da média foi

especificado na Seção 3.4.1.2.

Segundo Law e Kelton (1982) uma desvantagem potencial dos testes empíricos é que

eles são somente locais; somente aquele segmento do ciclo que foi de fato utilizado para

gerar números aleatórios U (0, 1) para o teste é examinado, por isso não se pode dizer

qualquer coisa sobre como o gerador pode funcionar em outros segmentos do ciclo. Por

outro lado, esta natureza local dos testes empíricos pode ser vantajosa, desde que ela

possa permitir a análise dos números aleatórios correntes, que serão usados, logo mais,

na simulação. Desta forma, pelo menos em tese, a totalidade do fluxo de números

aleatórios pode ser testado empiricamente, espera-se, sem custo excessivo. E um teste

empírico mais global poderia ser realizado, replicando um teste, na sua totalidade,

106

varias vezes e comparando estatisticamente o teste estatístico contra a distribuição sob

(sob o domínio de) a hipótese nula.

Na execução de um teste para a uniformidade as hipóteses são como as que seguem:

( )( )1 ,0~:

1 ,0~:

1

0

URHURH

i

i

/

Para este teste a hipótese nula, H0, indica que os números são distribuídos

uniformemente no intervalo [0, 1].

Na execução de um teste para a independência as hipóteses são como as que seguem:

sdependente são s' os :tesindependen são s' os :

1

0

i

i

RHRH

Para este teste a hipótese nula, H0, indica que os números são independentes.

Segundo Meyer (1978) fundamentalmente um teste estatístico põe a prova duas

hipóteses: a hipótese da nulidade ou hipótese básica (H0) contra a hipótese alternativa

(H1). Se a hipótese H0 não é rejeitada então não há razão para se rejeitar o valor

estimado. E se a hipótese H0 é rejeitada então o valor estimado é rejeitado.

Entretanto deve ser lembrado que, um teste estatístico não conduzirá sempre à decisão

correta. Existem, fundamentalmente, dois tipos de erros que podem ser cometidos:

• Erro Tipo 1: Rejeitar H0 quando H0 for verdadeira.

• Erro Tipo 2: Aceitar H0 quando H0 for falsa.

O erro do tipo 1 à vezes é referido como o risco de construção do modelo, e o erro do

tipo 2 como o risco de uso do modelo. Na prática tenta-se manter pequena a

probabilidade de cometer esses erros, pois eles não podem ser completamente evitados.

É necessário estabelecer um nível de significância β para cada teste. Valores usuais para

β são 0,01 e 0,05, onde β é a probabilidade de se rejeitar a hipótese nula dado que esta é

107

verdadeira, ou ( )o verdadeir|rejeitar β 00 HHP= . Desta forma, a rejeição da hipótese

nula, H0, é uma conclusão forte, dado que o risco de rejeitar H0 dado que H0 seja

verdadeiro é pequeno.

Desta forma se 100 conjuntos de números forem submetidos a teste, com β = 0,05,

pode-se esperar que 5 destes testes possam ser rejeitados exclusivamente por

probabilidade (risco). Ou seja, se o número de rejeições em 100 testes é próximo a

100β, então não há razão obrigando (impelindo, forçando) a descartar o gerador.

3.4.1.1 - TESTE DE KOLMOGOROV-SMIRNOV

O teste de uniformidade é um teste básico que sempre deveria ser realizado para validar

um novo gerador. Estes testes medem o grau de concordância entre a distribuição de

uma amostra de números aleatórios gerados e a distribuição uniforme, teórica, U (0, 1),

ou seja, de que não existe diferenças significantes entre a distribuição da amostra e a

distribuição teórica.

Dentre os testes disponíveis, neste trabalho foi adotado o teste de Kolmogorov-Smirnov

para testar a uniformidade do gerador de números aleatórios do pacote de software de

simulação Micro Saint. A definição dada a seguir para o teste de Kolmogorov-Smirnov

foi retirada de (Banks e Carson II, 1984).

O teste de Kolmogorov-Smirnov compara a função de distribuição contínua, ( )xF , da

distribuição uniforme com a função de distribuição empírica, ( )xS N , da amostra de N

observações. Por definição ( ) 1x0 ≤≤= xxF .

Seja a amostra do gerador de números aleatórios denotada por NRRR ,,, 21 K . Então a

função de distribuição empírica, ( )xS N , é definida por:

( )N

xRRRxS N

N≤

= são que ,...,, de número 21 .

108

À medida que N aumenta, ( )xS N deveria tornar-se uma melhor aproximação para ( )xF ,

considerando que a hipótese nula seja verdadeira. A função de distribuição de uma

distribuição empírica, no caso a função de distribuição ( )xS N , é uma função escada

(degrau) com saltos para cada valor observado.

O teste de Kolmogorov-Smirnov é baseado no maior desvio absoluto entre ( )xF e

( )xS N sobre a faixa de variação da variável aleatória. Ou seja, ele é baseado na

estatística ( ) ( )xSxF N−= maxD .

A distribuição de amostragem de D é conhecida e é tabulada como uma função de N. E

para este estudo foi utilizada a Tabela A.7 dada em Banks e Carson II, (1984).

Para submeter a estatística D a um teste contra a função de distribuição uniforme, o

procedimento de teste segue os seguintes passos:

Passo1. Ordene os dados em ordem crescente. Seja ( )iR a i-ésima (menor)

observação, tal que ( ) ( ) ( )NRRR ≤≤≤ L21 .

Passo2. Compute ( )

−=

≤≤

+iNi

RNi

1maxD e ( )

−=≤≤

NiR iNi

1maxD1

.

Passo3. Compute ( )−+= D,DmaxD .

Passo4. Determine o valor crítico, βD , da Tabela A.7 dada em Banks e Carson II

(1984) para o nível de significância β especificado e o tamanho N da

amostra dado.

Passo5. Se βDD > , então rejeite a hipótese nula de que os dados são uma amostra da

distribuição uniforme U (0, 1). Se βDD ≤ , conclui-se que não tem sido

detectada diferença entre a verdadeira distribuição de { }NRRR ,,, 21 K e a

distribuição uniforme U (0, 1).

109

3.4.1.2 - TESTE DE EXECUÇÕES ACIMA E ABAIXO DA MÉDIA

Os testes de execuções (runs) examinam a disposição (arranjo, combinação) de números

numa seqüência para testar a hipótese de independência. Uma execução (run) é definida

como uma sucessão de eventos similares precedidos e seguidos por um evento diferente.

O tamanho de uma execução (run) é o número de eventos que ocorrem na execução.

Existem duas possíveis preocupações (ou interesse) num teste de execução para uma

seqüência de números. O número de execuções é a primeira preocupação e o tamanho

das execuções é uma segunda preocupação. Os tipos de execuções contadas no primeiro

caso podem ser execuções acima e abaixo da média. Uma execução acima da média é

uma seqüência de números em que cada um destes é seguido por número acima de um

valor médio, determinado para a seqüência de números em análise. Uma execução

abaixo da média é uma seqüência de números em que cada um destes é seguido por

número abaixo do valor médio. Este valor médio, no caso de números, com seis dígitos

decimais após a vírgula, gerados de uma distribuição uniforme no intervalo [0, 1], é

determinado da seguinte forma: ( ) 4999995,02999999,0000000,0 =+=m . Para um

procedimento feita à mão, pode se usar um sinal “+” para denotar uma observação

acima da média, e um sinal “-“ para denotar uma observação abaixo da média. Desta

forma pode se determinar as seqüências existentes acima e abaixo da média, o tamanho

e o número destas seqüências.

Sejam 1n e 2n o número de observações individuais acima e abaixo da média,

respectivamente, e seja b o número total de execuções. Note que o número máximo de

execuções é 21 nnN += , e o número mínimo de execuções é um (1).

Dados 1n e 2n , a média e a variância de b são determinadas por:

( )( )122

212

221212

21

−−

=

+=

NNNnnnn

Nnn

b

b

σ

µ .

110

Para 1n ou 2n maior que 20, b é aproximadamente normalmente distribuído. E o teste

estatístico pode ser formulado como segue:

( )( )

21

22121

21

0

122

212

Z

+−=

NNNnnnn

Nnn

b .

Rejeita-se a hipótese de independência quando | Z0 | > Zβ/2. Consequentemente a

hipótese de independência não é rejeitada quando 2β02β ZZZ ≤≤− , onde β é o nível

de significância e 2βZ é o valor crítico de uma distribuição normal padrão, que pode ser

obtido de uma tabela normal padrão.

111

CAPÍTULO 4

MODELO EXPERIMENTAL

4.1 - INTRODUÇÃO

A estratégia proposta para o modelo experimental tem como objetivo possibilitar a

coleta das informações desejadas sobre o modelo, em regime, para que se possa fazer

inferências sobre o nível de confiança destes resultados.

Neste ponto deve se abordar duas questões consideradas como cruciais na simulação a

eventos discretos de um sistema em regime, a saber: vício devido a inicialização e

autocorrelações.

O vício devido a inicialização é a diferença entre o valor esperado de uma determinada

característica e o valor de sua estimativa, aqui entendido ser a média amostral dos dados

de saída da simulação. Esta diferença ocorre porque não se pode iniciar o processo em

regime, existindo, portanto, um período transiente, com estados transitórios, a ser

considerado, até que o sistema entre em regime, com estados recorrentes.

O vício devido a inicialização pode ser reduzido descartando uma porção inicial da

execução, ou configurando o estado inicial do sistema para que ele seja representativo

do sistema em regime, ou fazendo com que o tamanho da execução seja suficientemente

grande para que o processo simulado seja independente dos estados iniciais, transitórios.

Autocorrelações são correlações entre sucessivos valores do processo. Autocorrelações

ocorrem porque os novos estados do processo tipicamente dependem dos anteriores. A

função de autocorrelação, com relação a sistemas de filas GI/G/m, é tipicamente

positiva e decrescente (ou pelo menos aproximadamente), refletindo o fato de que novos

estados do processo são similares aos estados anteriores, com a similaridade

decrescendo (numa via aleatória) com a evolução do processo (Whitt, 1991).

Os efeitos de autocorrelações podem ser reduzidos usando replicações independentes,

mas ao custo de ter que descartar uma porção inicial de cada replicação. Desta forma

112

surge a seguinte questão: é melhor fazer uma execução longa ou muitas replicações

independentes com descarte?

Segundo Whitt (1991) esta questão tem sido estudada por vários pesquisadores, mas,

evidentemente, não existe consenso sobre qual é a estratégia de simulação apropriada.

Isto é inevitável pois não existe uma resposta simples.

Outra questão importante e delicada na simulação a eventos discretos de um sistema em

regime é a quantidade de observações requeridas para que se possa obter uma boa

estimativa; uma estimativa que seja menos viciada e menos variável, que satisfaça a

padrões de exatidão e precisão pré-determinados.

É muito vantajoso ter com antecedência pelo menos uma previsão, ainda que grosseira,

do tamanho requerido da execução, em cada caso, para se obter as desejadas exatidão

(menos biased) e precisão (menos variável) estatística. Esta previsão do tamanho da

execução para cada experimento é desejável e vantajosa, pois eliminaria a necessidade

de execuções preliminares para estimar grosseiramente este tamanho, e reduziria a

utilização de procedimentos estatísticos padrões durante a execução do experimento.

Isto reduziria custos, tempo e recursos.

Neste sentido, ainda nos estágios iniciais de planejamento, antes que qualquer dado

tenha sido coletado, pode-se lançar mão de fórmulas simples, ver Seção 5.3, já

existentes na literatura, para estimar o tamanho requerido da execução da simulação

(Whitt, 1991). Estes tamanhos das execuções da simulação estimados podem então

serem usados para projetar o experimento; para determinar que casos considerar, que

exatidão e precisão estatística almejar, que recursos experimentais são necessários, e

para que casos o experimento deve ser conduzido (Whitt, 1991).

4.2 - PROJETO DE EXPERIMENTO

Whitt (1991) compara as estratégias de se fazer uma execução longa ou muitas

replicações independentes com descarte. Este estudo não tem o objetivo de identificar a

melhor estratégia de simulação, considerando o balanço de todos os critérios relevantes,

113

mas o de fornecer percepção adicional no trade-off entre o vício devido a inicialização e

autocorrelações entre valores sucessivos.

Usando o critério de estimação da eficiência, que é definido como sendo o inverso do

produto do erro quadrado médio pelo tamanho (tempo ou número de clientes) total da

execução da simulação, Whitt (1991) fornece suporte para a conclusão que usualmente

é mais eficiente fazer uma longa execução do que fazer independentes replicações, mas

conclui que isto normalmente não tem importância preponderante. Pois se o tamanho

total da execução da simulação é longo o suficiente para se obter aproximações

razoavelmente boas, então várias replicações são geralmente tão eficientes quanto uma

execução mais longa. Ele exclui da análise somente um número muito grande de

replicações independentes de execuções muito pequenas.

A análise feita por Whitt (1991) indica que fazer poucas replicações independentes é

mais eficiente quando as autocorrelações decrescem rapidamente em relação à taxa que

o processo caminha para entrar em regime. Mas, geralmente, não é possível determinar

precisamente como as autocorrelações decrescem ou como o processo caminha para

entrar em regime. Ainda assim esta conclusão parece fornecer diretrizes práticas para

escolher estratégias de simulação, pois muitas vezes se tem alguma idéia sobre o que

deveria acontecer com estas taxas.

Desta forma conclui-se que a chave para responder a questão da replicação versus uma

longa execução é o comportamento transiente do processo estocástico em estudo. A

questão é se o estimador com sua condição inicial especificada, através do descarte de

uma porção inicial da execução ou da configuração do estado inicial do processo por

estados representativos deste em regime - de forma que o processo seja

aproximadamente estacionário -, caminha ou não para entrar em regime mais rápido do

que a função de covariância decai.

A análise de Whitt (1991) parece justificar a prática comum, para simulações de

sistemas de filas em regime, de se fazer uma longa execução, descartando uma porção

inicial dos dados de saída da simulação.

114

Mas as execuções de simulações de sistemas de filas em regime muitas vezes

necessitam ser surpreendentemente longas, porque estas de fato necessitam serem

longas, ou porque não se tem suficiente informação sobre o processo. E neste caso,

segundo Whitt (1991) a eficiência tende a ser praticamente a mesma tanto para uma

longa execução quanto para um pequeno número de replicações (aproximadamente 10)

ligeiramente menores.

O maior problema relativo ao truncamento da saída de dados, descarte de uma porção

inicial dos dados de saída, é a determinação do ponto de truncamento. Se a saída de

dados é truncada muito cedo, então os dados remanescentes ainda podem conter vícios

significantes devido a inicialização. Se a saída é truncada muito tarde então observações

(dados) “boas” são perdidas (Banks, Carson II e Goldsman; 1990). Contudo é preferível

perder “bons" dados e permanecer do lado seguro.

O descarte de uma porção inicial dos dados de saída deve ser maior do que o necessário

para se estar do lado seguro, mas o resto da execução deve ser longo o suficiente tal que

a porção descartada seja praticamente desprezível, certamente menor que 5% (Whitt,

1991). Assume-se que o tamanho da porção inicial a ser descartada de cada execução

seja suficientemente grande, tal que o processo estocástico em questão possa ser

considerado estritamente estacionário ou pelo menos aproximadamente.

Uma vez que seja adotada a estratégia de se fazer uma única execução longa da

simulação usa-se, tipicamente, para estimar intervalos de confiança, médias sobre

grupos não sobrepostos, dividindo-se os dados de saída da simulação em

aproximadamente 20 grupos não sobrepostos, agindo como se eles fossem

independentes e normalmente distribuídos. Contudo, quando se deseja ter intervalos de

confiança mais precisos Whitt (1991) recomenda fazer cerca de 10 replicações

independentes com execuções de tamanho ligeiramente menores, que os de uma longa

execução, fazendo com que estas execuções ligeiramente menores sejam

suficientemente longas tal que a eficiência seja quase a mesma de uma longa execução.

Isto assegura independência mas não a distribuição normal, podendo ainda existir

problemas de cobertura, ou seja, a probabilidade de cobertura observada dos dados de

115

saída da simulação é significativamente diferente daquela especificada em projeto, que

na maioria das vezes é de 95%. A probabilidade de cobertura é a probabilidade de que

um intervalo de confiança de 100(1-β )% contenha o valor verdadeiro da característica

do sistema que está sendo estimada.

Segundo Banks e Carson II (1984) se o vício da estimativa foi reduzido a um nível

desprezível, o método de replicações independentes pode ser usado para estimar a

variabilidade da estimativa e construir intervalos de confiança. Mas se o vício da

estimativa ainda permanece significativa e um grande número de replicações são

utilizadas para reduzir a variabilidade da estimativa, o intervalo de confiança resultante

pode ser viciado. Isto acontece porque o vício não é afetado pelo número de replicações,

mas somente pelo descarte de mais dados ou pelo aumento do tamanho da execução de

cada replicação. Assim, se o vício ainda é significativo, incrementar o número de

replicações pode produzir menores intervalos de confiança em torno de uma estimativa

viciada, e não em torno do valor real da variável sob estimação.

Este trabalho objetiva a obtenção de estimativas confiáveis para as medidas de

desempenho de filas GI/G/m. Neste sentido será adotado neste experimento de

simulação a estratégia de replicações independentes com descarte de uma porção inicial

de cada replicação, e com tamanhos de execuções das replicações suficientemente

longos para atenuar o vício.

A metodologia para a determinação do tamanho da porção inicial a ser descartada, bem

como do tamanho de cada execução para se obter a exatidão e a precisão estatística

desejada, serão tratadas em tópicos específicos.

4.2.1 - ESPECIFICAÇÃO

Este trabalho objetiva a obtenção de estimativas confiáveis para as medidas de

desempenho de filas GI/G/m, ou seja, a obtenção de estimativas com uma precisão

relativa de pelo menos 2% (ε = 0,02) para um nível de confiança de 95%. Também,

deseja-se verificar a exatidão (vício) e a precisão (variabilidade) da aproximação de filas

Gm/Gm/2 por filas C2g/C2

g/2,em outras palavras, verificar a exatidão e a precisão de

116

medidas de avaliação de desempenho de algumas configurações de filas GI/G/m com as

respectivas medidas obtidas pela aproximação das filas Gm/Gm/2 por filas C2g/C2

g/2.

Estas medidas de desempenho serão estimadas através de simulação.

Deseja-se verificar o nível de confiança das medidas de avaliação de desempenho,

obtidas através da simulação dos sistemas de filas previstos, em regime. E para esta

finalidade será considerado um nível de confiança de 95%, com uma precisão

especificada de pelo menos 2% da medida de desempenho sob análise.

O experimento de simulação para cada configuração dos sistemas de filas previstos

consistirá de 10 replicações com fluxos de números aleatórios (sementes) diferentes

para cada replicação.

Nos experimentos onde se conhece os valores verdadeiros das medidas de performance

que estão sendo estimadas, pode ser utilizado um segundo critério de verificação da

exatidão da estimativa (remoção do vício) como em Roth (1994), através da avaliação

da probabilidade de cobertura observada, ou seja, a probabilidade de que a média

verdadeira esteja contida no intervalo de confiança de 95% sobre a media observada. E

neste caso cada replicação será dividida em 10 micro-replicações.

Dado a natureza finita dos experimentos, a probabilidade de cobertura observada, com

uma adequada remoção do vício, não seria necessariamente igual ao valor de projeto, de

95%. Mas espera-se que ela não difira muito deste valor de projeto (Roth, 1994).

4.2.2 – CONFIGURAÇÕES - CENÁRIOS

Serão consideradas 8 configurações - cenários de filas Gm/Gm/2, através da

especificação de ρ = 0,75 e cx2 ∈0,5; 1; 2, onde, mSE )(λρ = é a taxa de utilização

do servidor, e cx2 é o coeficiente de variação ao quadrado dos processo de chegada ou

de serviço.

O tempo médio de serviço será considerado sempre igual a 1, ou seja, E(S) = 1, o que

implica em mλρ = .

117

A unidade de medida do tempo de simulação será o minuto, a menos que seja

explicitada outra unidade.

4.2.3 - REPLICAÇÕES

Para cada configuração-cenário serão considerados 10 replicações, descritas pelos

parâmetros seguintes:

a) TI = período de inicialização (1ª fase);

b) TE = período de execução para a coleta de dados (2ª fase);

c) Seqüências de números aleatórios gerados por sementes geradoras diferentes.

4.2.4 - EXPERIMENTAÇÃO

A experimentação consistirá da execução do modelo programado para cada replicação,

de cada cenário, de cada configuração, levando-se em consideração o período de

inicialização e o tamanho de cada execução para se obter as medidas de desempenho

para o sistema em regime com uma precisão especificada.

Devido ao fato de que o sistema proposto neste estudo é executado para a obtenção de

medidas para o sistema em regime, assume-se que os efeitos de inicialização sejam

removidos através do truncamento de dados.

O processo de experimentação produz os resultados para satisfazer cada um dos

cenários de teste, através da execução de 10 replicações para cada configuração-cenário.

4.3 - ANÁLISE DOS RESULTADOS DO EXPERIMENTO

A análise dos resultados do experimento consiste da análise dos dados gerados na

experimentação. Seu propósito é predizer (prognosticar) a performance de um sistema,

ou comparar a performance de dois ou mais projetos alternativos de um sistema (Banks

e Carson II, 1984).

118

Os resultados referentes à performance de um sistema em estudo obtidos de uma

execução da simulação são estimativas das medidas de performance deste sistema. Estas

estimativas não podem ser tomadas, simplesmente, como respostas “verdadeiras” para o

sistema, pois elas são variáveis aleatórias e podem apresentar grande variância; numa

execução da simulação, em particular, elas podem diferir muito das respostas

verdadeiras (Law e Kelton, 1982).

A necessidade de análise estatística dos resultados está assentada na observação de que

os dados resultantes de uma execução da simulação exibem variabilidade aleatória

quando geradores de números aleatórios são usados para produzirem os valores das

variáveis de entrada; dois diferentes fluxos de números aleatórios produzirão dois

conjuntos de resultados que (provavelmente) diferirão (Banks e Carson II, 1984).

A análise dos resultados da experimentação consistirá da:

1. Verificação da precisão relativa especificada de 2% (∈ ≤ 0,02) para um nível de

confiança, com grau de confiança da ordem de 95% ou superior, das medidas de

desempenho, em equilíbrio, das diferentes configurações – cenários - replicações

do sistema de filas GI/G/m previstos no projeto de experimento.

2. Análise dos resultados da aplicação de testes estatísticos padrões, como o teste t

de Student, quando os valores verdadeiros das medidas em observação são

conhecidos.

3. Averiguação da probabilidade de cobertura verificada nos dados de saída da

simulação, quando os valores verdadeiros das medidas em observação são

conhecidos.

A análise dos resultados da experimentação consistirá, também, da comparação das

estimativas oriundas das observações provenientes da execução de R replicações da

simulação de uma dada configuração de uma determinada fila GI/G/m contra a

correspondente configuração da fila Ph/Ph/m. Esta comparação pode ser efetivada

através da aplicação de testes estatísticos padrões, como o teste t de Student. Como o

119

interesse está na verificação da exatidão e precisão da aproximação de uma determinada

fila GI/G/m por uma fila Ph/Ph/m correspondente, assume-se que as estimativas obtidas

através da simulação da fila GI/G/m sirvam de base para a comparação, levando-se em

conta, é claro, o nível de confiança e o resultado do teste de hipóteses verificado para

estas estimativas, tanto quanto para aquelas obtidas através da simulação da fila

Ph/Ph/m.

A metodologia para a estimação dos intervalos de confiança, do teste t de Student e da

probabilidade de cobertura observada será detalhada a seguir.

4.3.1 - MÉTODO DAS REPLICAÇÕES INDEPENDENTES PARA A

ESTIMAÇÃO DOS INTERVALOS DE CONFIANÇA

Sejam os processos estocásticos subjacentes em observação, que podem ser discretos ou

contínuos no tempo, denotados, respectivamente, por { }nnX n K,3,2,1; = e

( ){ }TttZ ≤≤0; . E sejam considerados para estes processos os seguintes parâmetros,

dados, respectivamente, por:

)(1lim)( e 1lim)(

0 1

∫∑ ∞→=

∞→====

T

T

N

nnN

dttZT

ZEXN

XE φθ .

Suponha que R replicações independentes sejam feitas, cada uma com um fluxo de

números aleatórios diferente (determinado por uma semente de números aleatórios

diferente). Suponha que já se tenha descartado uma porção inicial suficientemente longa

de cada replicação, de forma que a média da amostra de cada processo subjacente, em

observação, não sejam viciadas. As observações resultantes em cada replicação são

estimativas de θ = E(X) ou de φ = E(Z) que são colhidas no final da execução de cada

replicação, após um período de inicialização (truncamento da amostra) e de execução

suficientemente longos, determinados conforme metodologia descrita anteriormente.

Desta forma estas estimativas, para uma determinada replicação, podem ser obtidas

pelos seguintes estimadores não viciados:

120

)(1)(ˆ e 1)(ˆ

0 1

∫∑ =====

TN

nn dttZ

TZEX

NXE φθ .

Estas estimativas podem ser referenciadas, sem perda de generalidade, como sendo a

variável aleatória rY , r = 1, ..., R, denotando a r-ésima estimativa da média (média

amostral) de um determinado processo estocástico subjacente, de interesse, referente a

r-ésima replicação.

Define-se .Y e S2 como estimadores para a média µ e a variância σ2 do processo

subjacente, onde ( )rrYrV

∞→≡ lim2σ , da seguinte forma:

( ) ( )

−=−

−== ∑∑∑

===

2.

1

2

1

2

.2

1.

ˆˆ 1

1ˆˆ 1

1 e ˆ 1ˆ YRYR

YYR

SYR

YR

rr

R

rr

R

rr .

Desde que a variância de .Y é dada por ( )R

Y2

.2 ˆ σσ = , um estimador não viciado de

( ).2 Yσ com R-1 graus de liberdade é dado por ( )

RSY

2

.2 ˆˆ =σ , e o erro padrão de .Y é

denotado por ( ) ( )R

SYYes == ..ˆˆˆ.. σ .

Portanto, manipulações estatísticas padrões produzem, para R grande, o seguinte

estimador aproximado para o intervalo de confiança, com grau de confiança dado por

100(1 - β)%, de µ , é: R

SY β/2. Zˆ ± ,

onde Zβ/2 é o valor crítico da correspondente distribuição normal e é obtido das tábuas

normais padrões.

Para R pequeno é preciso substituir Zβ/2 por tR-1,β/2, o correspondente valor crítico da

distribuição de Student. Neste caso o estimador para o intervalo de confiança será dado

por, R

StY R 2β,1. −± . Para fazer esta substituição é requerida a suposição de que a

121

distribuição subjacente de Yr seja normal. Entretanto esta substituição também é valida

para os casos em que os efeitos de inicialização (vício) podem ser praticamente

removidos (o vício tende a zero).

Note que as médias replicadas .Y são independentes por construção, e que os Yr são

independentes entre replicações mas não necessariamente dentro das replicações. Além

do que a normalidade de médias replicadas independentes não é garantida, e

consequentemente o intervalo de confiança é valido se e somente se os efeitos de

inicialização sejam praticamente reduzidos a zero.

Segundo Law e Kelton (1982) o procedimento apresentado acima é válido para a

construção de intervalos de confiança para uma única medida de performance,

entretanto para a maioria das simulações várias medidas de performance são de

interesse. E este é o caso com o presente estudo, onde 5 medidas de avaliação de

desempenho foram consideradas.

Seja Ij um intervalo de confiança de ( )%β1100 j− para a medida de performance

( )kjj ,,2,1 K=µ . Então a probabilidade de que todos k intervalos de confiança

simultaneamente contenham suas, respectivas, medidas verdadeiras satisfaz

{ } ∑=

−≥=∈k

jjj kjIP

1jβ1,...,2,1 todopara µ

se os Ij’s são ou não independentes.

Este resultado é conhecido como desigualdade de Bonferroni e tem sérias implicações

para um estudo de simulação. Por exemplo, suponha que se deseje construir intervalos

de confiança de 90% para 10 medidas de performance diferentes, com 1,0β j = para

cada j. Então a probabilidade de que cada um dos 10 intervalos de confiança contenha

sua verdadeira medida somente pode ser reivindicada que seja maior ou igual a zero.

Este problema é conhecido na literatura estatística como o problema das múltiplas

comparações.

122

Entretanto se a quantidade k de medidas de performance é pequena, e se deseje um nível

de confiança total associado com k intervalos de pelo menos ( )%β1100 − , pode-se

escolher os βj’s de forma que ββ1

j =∑=

k

j (os βj’s não precisam ser iguais). Law e Kelton

(1982) recomendam que k não seja maior do que 10.

Como a quantidade k de medidas de performance sob avaliação neste estudo é igual a 5,

este procedimento pode ser empregado. Desta forma os βj’s neste estudo serão iguais a

0,01, com β = 0,05.

Para mais detalhes ver Gross e Harris (1974), Law e Kelton (1982), Banks e Carson II

(1984) e Banks, Carson II e Goldsman (1990).

4.3.2 - INTERVALOS DE CONFIANÇA COM UMA PRECISÃO

ESPECIFICADA

Em uma simulação de longa duração ou não terminante, que visa a obtenção de medidas

de desempenho para um sistema em regime, a determinação de intervalos de confiança

com uma precisão especificada pode ser obtida através do incremento do número de

replicações ( R ) ou do incremento do tamanho da execução (TE).

A média µ de um processo subjacente em observação pode ser estimado por .Y com

uma precisão ε > 0, com probabilidade 1 - β. Assim pode-se tomar R ou TE

suficientemente grande, ou uma combinação de ambos, tal que P(| .Y - µ| < ε) ≥ 1 - β.

Considerando que o tamanho da execução (TE) e o período de inicialização (TI) sejam

suficientes para atenuar o vício devido a inicialização e obter dados representativos do

sistema em regime, a precisão especificada poderá ser, portanto, tratada através do

incremento do número R de replicações.

A metodologia consiste de:

• Faz-se inicialmente R0 replicações, recomenda-se pelo menos 4 ou 5.

123

• Obtém-se uma estimativa inicial, S02 , da variância σ2.

• Determina-se R ≥ R0 , tal que εR

Sthl R ≤= −

01,2β , onde hl é a metade do intervalo

de confiança.

• Isola-se R na inequação anterior, visto que R é o menor inteiro que satisfaz R ≥

R0, obtendo-se: 2

01,2β

≥ −

εSt

R R .

• Desde que tβ/2,R-1 ≥ Zβ/2, uma estimativa inicial para R pode ser dada por: 2

02β

εSZ

Rinicial .

• Executa-se as R - R0 replicações adicionais e determina-se o intervalo de

confiança com base nas R replicações.

• Verifica se hl ≤ ε. Se afirmativo encerra-se o procedimento, caso contrário o

procedimento pode ser repetido.

Para mais detalhes sobre a garantia da precisão especificada para as medidas de

desempenho vide Gross e Harris (1974), Banks e Carson II (1984) e Banks, Carson II e

Goldsman (1990).

4.3.3 - PROCEDIMENTO DE APLICAÇÃO DO TESTE-T DE STUDENT

Neste trabalho será empregado o teste t de Student para confirmar ou rejeitar o valor

estimado através dos dados amostrais provenientes da simulação, de uma determinada

medida de interesse. Para tanto admite-se, neste estudo, que o valor de um parâmetro de

interesse seja a estimativa .Y obtida dos dados amostrais da simulação e utiliza-se a

informação da amostra para confirmar ou rejeitar essa estimativa.

124

Nesta parte do estudo as hipótese serão especificadas da seguinte forma, H0 : µ 0 = .Y

contra H1: µ 0 ≠ .Y , o que caracteriza um teste de duas caudas, ou bicaudal, ou de dois

lados.

Segundo Banks e Carson II (1984) o teste t estatístico é conduzido através dos passos

estabelecidos a seguir. Estes passos já se encontram adaptados para o procedimento

adotado neste estudo e são:

Passo 1. Escolhe-se o nível de significância β e o tamanho da amostra R. Neste

estudo 05,0β e 10 ==R , onde R é o número de replicações.

Passo 2. Compute a média .Y e o desvio padrão S sobre as R replicações, conforme

o definido acima.

Passo 3. Tome os valores críticos de 1,2β −Rt de uma tábua padrão de percentis da

distribuição de Student.

Passo 4. Compute a estatística RS

Yt 0.

0

ˆ µ−= , onde µ 0 é o valor especificado na

hipótese nula.

Passo 5. Compare os valores críticos de 1,2β −Rt com as estatísticas t0. Para o teste

de duas caudas rejeite H0 se 1,2β0 −> Rtt , caso contrário H0 não será

rejeitado.

É importante notar que, quando se está testando hipóteses, a rejeição da hipótese nula

H0 é uma grande conclusão, porque ( ) βa verdadeiré |rejeitar 00 =HHP e o nível de

significância é escolhido pequeno, como o especificado acima, β = 0,05 .

Segundo Kleijnen (1995) quando se está procedendo à interpretação dos resultados do

teste t estatístico devem ser levados em consideração três pontos, a saber:

125

1. Quanto maior é o tamanho da amostra, menor é o valor crítico 1,2β −Rt . Por isso,

todas outras coisas sendo iguais, um modelo de simulação tem alta chance de ser

rejeitado quando o tamanho da amostra é muito grande.

2. Um número R muito grande de replicações da simulação dá estimativas .Y

precisas e conseqüentemente valores significantes para a estatística t0. Isto

acontece porque o denominador de t0, RS , tende a zero por causa de R, e no

numerador de t0, .Y tem valor esperado diferente de µ 0, de maneira que a

estatística t0 tende para o infinito. Portanto um modelo incorretamente

especificado sempre levaria a rejeição se o tamanho da amostra R fosse infinito.

3. A estatística t0 pode ser significante e todavia sem importância. Se a amostra é

muito grande, então a estatística t0 é quase sempre significante para 0. µ≠Y ,

entretanto as médias real e estimada (simulada) podem ser praticamente a mesma,

de forma que a simulação seja suficientemente válida, para propósitos práticos.

As suposições justificando um teste t de hipóteses, em particular o teste t de Student, é

que as observações sejam normalmente e independentemente distribuídas. Neste estudo

é razoável assumir que as observações rY sejam aproximadamente normalmente

distribuída, pois os efeitos de inicialização (vício) são praticamente removidos (o vício

tende a zero). As observações rY são por projeto estatisticamente independentes, isto é,

pela escolha de sementes de números aleatórios diferentes para cada replicação de um

experimento (Banks e Carson II, 1984). Mas se as observações colhidas da simulação

não são aproximadamente normalmente distribuídas, então o teste t de Student ainda

pode ser aplicado porque este teste não é muito sensível à normalidade, especialmente

se o tamanho da execução é grande (Kleijnen, 1995).

O procedimento apresentado acima para aplicação do teste t de Student é apropriado

para uma única medida de performance, contudo, para a maioria das simulações, várias

126

medidas de performance são de interesse. E este é o caso com o presente estudo, onde 5

medidas são de interesse.

Considere que o programa de computador transforme I entradas em J saídas, com

0 e 0 ≥≥ JI . Essa transformação precisa ser correta para todas os tipos de respostas.

Conseqüentemente, a probabilidade de se rejeitar a hipótese nula provavelmente cresce

quando J cresce, mesmo se o programa for correto. Esta propriedade segue da definição

de erro to tipo 1 (ou β erro) de um teste estatístico. Felizmente existe uma solução

simples, baseada na desigualdade de Bonferroni (Kleijnen, 1995).

Tradicionalmente o valor 1−mt é comparado num teste de duas caudas com o valor

crítico 2β;1−mt . Mas com base na desigualdade de Bonferroni, substitui-se β por J/β .

Isto implica que maiores discrepâncias entre as verdadeiras medidas e as estimativas

oriundas da simulação são aceitáveis. Este procedimento baseado na desigualdade de

Bonferroni mantém a probabilidade total de erro do tipo 1 no experimento abaixo do

valor β (Kleijnen, 1995).

Law e Kelton (1982) recomendam que este procedimento seja aplicado somente para

um número de medidas de interesse menores ou iguais a 10. Como a quantidade de

medidas de performance sob avaliação neste estudo é igual a 5, então este procedimento

pode ser empregado. Desta forma os βj’s neste estudo serão iguais a 0,01, com α = 0,05.

4.3.4 - APLICAÇÃO DO TESTE-T DE STUDENT NA COMPARAÇÃO DA

FILA GI/G/m COM A FILA Ph/Ph/m

Seja a variável aleatória rY , r = 1, ..., R, denotando a r-ésima estimativa da média

(média amostral) de um determinado processo estocástico subjacente, de interesse,

referente a r-ésima replicação de uma determinada fila GI/G/m.

Seja a variável aleatória rZ , r = 1, ..., R, denotando a r-ésima estimativa da média

(média amostral) de um determinado processo estocástico subjacente, de interesse,

referente a r-ésima replicação de uma determinada fila Ph/Ph/m.

127

Define-se a variável aleatória rrr ZYd ˆˆˆ −= , r = 1, ..., R, denotando a r-ésima diferença

entre as estimativas rY e rZ .

As observações ^

rd são por projeto estatisticamente independentes, isto é, pela escolha

de sementes de números aleatórios diferentes para cada replicação de um experimento

(Banks e Carson II, 1984). Portanto, é razoável assumir que as observações ^

rd sejam

aproximadamente normalmente distribuídas, pois o vício devido a inicialização foi

praticamente removido.

Define-se .d e S2 como estimadores para a média µ e a variância σ2 do processo

subjacente da seguinte forma:

( )

−=

−== ∑∑∑

===.

1

2

1

2

.2

1.

ˆˆ 1

1ˆˆ 1

1 e ˆ 1ˆ dRdR

ddR

SdR

dR

rr

R

rr

R

rr .

Desde que a variância de .d é dada por R

d2

.2 ˆ σσ =

, uma estimador não viciado de

.2 dσ com R-1 graus de liberdade é dado por

RSd

2

.2 ˆˆ =

σ . E o erro padrão de .Y é

denotado por R

Sddes =

=

..ˆˆˆ.. σ .

Nesta parte do estudo as hipótese serão especificadas da seguinte forma, 0.0ˆ: µ=dH

contra 0.0ˆ: µ≠dH , onde 00 =µ , o que caracteriza um teste de duas caudas, ou

bicaudal, ou de dois lados.

O teste t estatístico será conduzido através dos passos estabelecidos a seguir:

Passo 1. Escolhe-se o nível de significância β e o tamanho da amostra R. Sendo que

neste estudo R = 10 e β = 0,05, onde R é o número de replicações.

128

Passo 2. Compute a média .d e o desvio padrão S sobre as R replicações, conforme

o definido acima.

Passo 3. Tome os valores críticos de 1,2β −Rt de uma tábua padrão de percentis da

distribuição de Student.

Passo 4. Compute a estatística Rs

dt 0.

0

ˆ µ−= , onde µ 0 é o valor especificado na

hipótese nula.

Passo 5. Compare os valores críticos de 1,2β −Rt com os da estatística t0. Para o teste

de duas caudas rejeite H0 se 1,2β0 −> Rtt , caso contrário não rejeite H0.

4.3.5 - METODOLOGIA PARA O CÁLCULO DA PROBABILIDADE DE

COBERTURA OBSERVADA

Esta metodologia exige o conhecimento do valor verdadeiro da medida que está sendo

estimada. E ela é apropriada num contexto de macro e micro-replicações ou de

replicações divididas em grupos não sobrepostos, onde cada grupo pode ser encarado

como uma microreplicação.

Seja a variável aleatória krY ,ˆ , r = 1, ..., R, k = 1,..., K, denotando a k-ésima estimativa

da média (média amostral) de um determinado processo estocástico subjacente, de

interesse, referente a k-ésima micro-replicação da r-ésima macro-replicação.

Define-se ,.rY e 2rS , r = 1, ..., R, como a r-ésima estimativa da média (média amostral)

e da variância de um determinado processo estocástico subjacente, de interesse,

referente a r-ésima macro-replicação:

( ) ( )

−=−

−== ∑∑∑

===

K

krkr

K

krkrr

K

kkrr YRY

RYY

RSY

RY

1

2,.

2

,1

2

,.,2

1,,.

ˆˆ1

1ˆˆ1

1 e ˆ1ˆ

129

Desde que a variância de ,.rY é dada por ( )R

Yr

2

,.2 ˆ σσ = , uma estimador não viciado de

( ),.2

rYσ com R-1 graus de liberdade é dado por ( )R

SY r

r

2

,.2 ˆˆ =σ . E o erro padrão de ,.rY é

denotado por ( ) ( )R

SYYes r

rr == ,.,.ˆˆˆ.. σ .

A probabilidade de cobertura observada, Pco, é a probabilidade que a média verdadeira

esteja contida no intervalo de confiança de 95% sobre a média observada (estimada). E

desde que os experimentos são projetados para fornecer 95% de cobertura, então se os

intervalos de confiança para a probabilidade de cobertura raramente contém 0,95, então,

uma hipótese de adequada remoção do vício é suspeita (Roth, 1994).

Para estimar a probabilidade de cobertura observada, Pco, será examinado a cobertura,

do intervalo de confiança em cada um dos R conjuntos de replicações de um

experimento. A probabilidade de cobertura é igual a fração de conjuntos de replicações

para os quais o intervalo de confiança de 95% sobre a média observada para o conjunto,

rY , contenha a média verdadeira Y (Roth, 1994).

Para avaliar isto define-se uma variável indicadora Ir, para identificar se a média

verdadeira está coberta, com sucesso, no conjunto r. Especificamente, tem-se que:

( )

≤−

=contrário caso 0

ˆ se 1 ,. rrr

hlYYI .

A meia largura do intervalo de confiança, hlr , é estimada por: R

Sthl r

Rr 2β,1−= , onde

2β,1−Rt é o valor crítico do teste estatístico t de Student de duas caudas com 95% de

confiança e K-1 graus de liberdade num conjunto de K micro-replicações.

Desta maneira a probabilidade de cobertura, Pco, pode ser expressa como:

130

∑=

=R

rrco RIP

1 .

Dada a natureza finita dos experimentos, mesmo com adequada remoção do vício, a Pco

não será necessariamente igual ao valor de projeto de 0,95. Apesar disso espera-se que

os intervalos de confiança para Pco consistentemente cobrirão uma grande quantidade da

região na vizinhança de 0,95.

131

CAPÍTULO 5

PERÍODO DE INICIALIZAÇÃO E TEMPO DE EXECUÇÃO

5.1 - INTRODUÇÃO

Um sistema de simulação é considerado estar em regime se seu comportamento corrente

é independente das condições iniciais, de inicialização ou partida, e se a probabilidade

de estar em um destes estados é determinada por uma função de probabilidade fixada.

Estas condições iniciais do modelo de simulação são caracterizadas pelos valores

iniciais de todas as variáveis de estado do sistema.

A escolha dos estados iniciais ou de partida de um modelo de simulação não-terminante,

em equilíbrio (ou regime), pode ter efeitos bastante nocivos na tentativa de estimação da

performance deste modelo. Este problema é conhecido como vício de inicialização e

pode levar a erros ou tendenciosidade (Banks e Carson II, 1984).

O efeito das condições iniciais, para propósito de análise estatística, é que os dados de

saída, observados, de um modelo de simulação podem não ser identicamente

distribuídos e as observações iniciais podem não ser representativas do comportamento

do sistema em regime.

A detecção de vícios provocados pelas condições de inicialização do sistema e da

propagação destes vícios à medida que uma execução da simulação está em curso, bem

como o tratamento destes efeitos de inicialização são problemas não totalmente

resolvidos em simulação de sistemas. Entretanto, existem diversos métodos para a

redução dos efeitos de inicialização, causados pelo uso de condições iniciais artificiais e

irreais numa simulação em regime.

O vício devido à inicialização pode ser reduzido descartando uma porção inicial da

execução, ou configurando o estado inicial do sistema para que ele seja representativo

do sistema em regime, ou fazendo com que o tamanho da execução seja suficientemente

grande para que o processo simulado seja independente dos estados iniciais, transitórios.

132

Neste estudo será implementado um procedimento, para reduzir os vícios devido à

inicialização, que conjuga o descarte de uma porção inicial de cada execução e a

realização de execuções longas.

Cada execução da simulação será dividida em duas fases, a fase de inicialização e a fase

da coleta de dados, veja Figura 5.1 a seguir . A fase de inicialização vai do tempo 0,

com o espaço de estados E0 caracterizado pelo sistema vazio e os servidores ociosos, até

o tempo TI. E a fase de coleta de dados vai do tempo TI , com o espaço de estados EI do

sistema em TI , ao tempo de parada TI + TE . Note que o espaço de estados EI é uma

variável aleatória e é o espaço de estados das condições iniciais do “sistema em

regime”.

5.2 - PERÍODO DE INICIALIZAÇÃO

Como se deseja fazer R replicações independentes de tamanho TE e descartar um

intervalo de tamanho TI de cada replicação para reduzir o vício devido à inicialização,

o tamanho total da execução da simulação é R(TI + TE).

Considerando ( ){ } RittYi ≤≤≥ 1 ,0: , R cópias independentes de um processo

estocástico ( ){ }0: ≥ttY , que se deseje simular, então a média mr, em regime, pode ser

estimada pela média de grandes amostras:

( ) ( )∑=

−=≡n

iEiE TYRTRrmrm

1

1,ˆˆ ,

E0

0 TI

EI

TI + TE

Fase de inicialização de tamanho TI .

Fase de coleta de dados de tamanho TE .

Fig. 5.1 – Fases da execução da simulação.

133

onde ( )Ei TY é a média da amostra do processo i no intervalo [TI , TI + TE], dada por:

( ) ( )∫+−= EI

I

TT

T iEEi duuYTTY 1 . (5.1)

Segundo Whitt (1991) a quantidade TI a ser descartada de cada replicação é

determinada, tipicamente, pelas considerações de vício. E considerando que foi

descartada uma porção inicial de tamanho TI e que foi feita uma simulação de tamanho

TE para cada processo ( ){ }0: ≥ttYi , 1 ≤ i ≤ R, então o vício é dado por:

( ) ( )[ ]∫+− −= EI

I

TT

TEEI dumruYETTT

1 ,β , (5.2)

onde ( )[ ] ( )∑=

=n

ii uYuYE

1 para todo u ∈ [TI , TI + TE].

Se TE é muito grande, então o vício tende a ser desprezível, sendo dominado por 01β−

ET ,

onde:

( )EIETT TTTE

I,lim ββ

∞→= , (5.3)

é geralmente finito. Contudo para TE muito pequeno, o vício é aproximadamente

( )[ ] mrTYE I − . Assim, para TE pequeno espera-se que o vício relativo

( ) ( )[ ] mrmrTYEmrTT IEI −≈,β seja convenientemente pequena. Logo, o vício como

definido acima é decrescente tanto em TI quanto em TE .

Dado que ( )[ ] mrTYE E − normalmente decresce primeiro rapidamente e depois mais

lentamente quando TE cresce, então, considerável redução do vício é obtido fazendo TI

positivo. Mas deve ser considerado que a redução do vício decresce quando TI cresce, i.

é, o vício decresce primeiro rapidamente e depois mais lentamente quando TI cresce.

A porção inicial a ser descartada TI pode ser escolhida de maneira que

( )[ ] mrmrTYE E − seja convenientemente pequeno, para todo IE TT ≥ . Desta forma

134

pode-se supor que processo ( ){ }tY seja aproximadamente estacionário para IE TT ≥ ,

onde TI é escolhido segundo o critério:

( )[ ]

≤−≥=

≥εmrmruYEtT

tuI sup:0inf , (5.4)

e ε seja um pequeno número, por exemplo 0,01 (Whitt,1991).

Embora este critério de escolha para TI seja razoável para a redução do vício, ele é

questionável como um critério para que o processo ( ){ }tY verdadeiramente alcance o

equilíbrio (regime).

Contudo procedimentos para implementar o critério em (5.4) envolveriam execuções

preliminares da simulação, e deveria sofrer um processo de investigação ou

experimentação, o que está fora do escopo deste trabalho. E como o interesse aqui está

em soluções mais simples e menos dispendiosas em termos de tempo e recursos, esta

solução, portanto, não parece razoável.

Outra via para implementar o critério em (5.4) seria recorrer a aproximações

exponenciais para modelar o decrescimento de ( )[ ] mrmruYE − . Whitt (1991) propõe

a seguinte aproximação:

( )[ ]0u , ≥=

− − temr

mruYE αγ , (5.5)

com parâmetros dados por: 1=γ e:

βα mr≈ , (5.6)

onde 0ββ ≈ .

De (5.2), (5.5) e (5.6) tem-se que o vício aproximado resultante é dado por:

135

( )( )( ) ( )( )

E

TTT

E

TTT

EI Tee

TeemrTT

EIIEII +−−+−− −≈

−=

βα

β , .

Whitt (1991), então, sugere que γ e α em (5.5) ou mr e β em (5.6) podem ser

determinados por procedimentos estatísticos de estimação. E, portanto, assumindo (5.5)

e possivelmente (5.6), recorre-se ao critério em (5.4) para determinar um valor

apropriado para TI . Mas Whitt (1991) lança esta idéia para ser explorada em futuras

investigações. A experimentação com esta idéia foge do escopo deste trabalho.

Segundo Banks e Carson II (1984) as metodologias para se determinar o período de

inicialização não são eficientes e precisas e a mais largamente usada é uma baseada na

visualização gráfica dos vícios provocados pelas condições de inicialização do sistema e

da propagação destes vícios à medida que uma execução da simulação está em curso. E

na maioria das vezes o que se consegue é reduzir estes vícios para um nível aceitável,

quer dizer, fazer com que estes vícios tendam a zero.

Neste procedimento o tamanho do período de inicialização, TI, será, portanto,

determinado através da detecção visual dos efeitos de inicialização, levando-se em

consideração dados preliminares colhidos em R replicações; recomenda-se pelo menos 5

replicações, com sementes geradoras diferentes. Os dados de saída de cada replicação

são divididos em grupos de dados; recomenda-se pelo menos 10 grupos, com o mesmo

intervalo de tempo para cada agrupamento. Organizam-se gráficos com as médias

acumuladas destes dados sem o descarte de nenhum grupo e considerando o descarte de

1, 2, 3, ..., d grupos e observa-se o comportamento dos dados visualizando estes

gráficos. Escolhe-se, então, aquele gráfico que apresente um padrão de comportamento

mais “suave”. Para maiores detalhes sobre a metodologia de aplicação deste

procedimento ver Banks e Carson II (1984).

Odoni e Roth (1983) examinam o comportamento transiente de sistemas de filas

M/M/1. Eles examinam sistemas de filas que são markovianos, ou seja, sistemas que

para todos os tempos têm uma descrição discreta do espaço de estados, como um

processo de Markov de primeira ordem; sistemas em que os tempos de serviço e os

136

tempos entre chegadas podem ser representados por distribuições exponenciais, de

Erlang, Hiperexponenciais e do tipo fase. Esta definição exclui muitos sistemas em que

somente a cadeia embutida no processo é de primeira ordem, por exemplo, muitos

sistemas de filas M/G/1. Neste estudo eles se concentram no número esperado de

clientes na fila em função do tempo t, denotado por Q(t).

Odoni e Roth (1983) afirmam que talvez a mais importante observação sobre o

comportamento transiente de filas seja: “para muitos sistemas de filas, a taxa com que

uma fila converge para o equilíbrio (regime), independentemente dos estados iniciais do

sistema, eventualmente torna-se (para valores grandes de tempo t) dominada por um

termo exponencial da forma exp(-t/τ), onde τ é uma característica do sistema de filas”.

Esta característica do sistema de filas, τ, é denominada tempo constante ou “tempo de

relaxação”.

Odoni e Roth (1983) testam várias expressões fechadas para a determinação do tempo

constante (tempo de relaxação) τ, com base nas seguintes observações intuitivas:

i. “...como o coeficiente de variação é uma medida da variabilidade relativa de uma

variável aleatória, espera-se que τ varie diretamente com potências de CA e CS, os

coeficientes de variação para os tempos entre chegadas e de serviço,

respectivamente....”

ii. “...quando o sistema aproxima-se da saturação (ρ →1), espera-se que o sistema

requeira uma grande quantidade de tempo para alcançar o equilíbrio e assim

espera-se que τ varie diretamente com alguma potência de 1/(1-ρ).

Usando resultados numéricos e uma abordagem de ensaio-e-erro, [Odoni e Roth, 1983]

encontram uma expressão para τ, nomeada τR, que se ajusta bem com seus resultados

numéricos:

( ) ( ) ( )( ) ( ) ( )

−+=−

++=

222222218,218,21 ρµρµρτ SASAR CCCC . (5.7)

137

Segundo Odoni e Roth (1983), suas experiências com muitas soluções numéricas para

sistemas de filas M/M/1 indicam que:

a) Para pequenos valores de t, o comportamento de Q(t) é fortemente influenciado

pelo estado inicial do sistema de fila. Para sistemas com condições iniciais

determinísticas, pode ser, em geral, prognosticado que seu comportamento segue

um pequeno número de padrões.

b) Após um período inicial de tempo e independente das condições iniciais, a forma

com que Q(t) aproxima-se de Q(∞) pode ser bem aproximada por uma

exponencial negativa. O tempo de relaxação constante τ associado com esta

função exponencial é uma característica de cada sistema de fila e é independente

das condições iniciais. A equação para τR definida em (5.7) parece fornecer uma

boa aproximação para os valores observados de τ.

c) Assim, sobre a suposição de que o sistema está efetivamente em equilíbrio quando

a variável sob observação está a 1% de seu valor de equilíbrio, o número esperado

de “clientes” na fila no tempo t pode ser limitado abaixo por

( )[ ] 0 t,exp1)()( >−−∞=∗ τtQtQ . E define-se o ponto t*, de 99% de

decaimento, satisfazendo a )(01,0)()( ∗∗ =−∞ tQtQQ .

Uma vez que )()( tQtQ <∗ para todo ∗< tt , uma conseqüência bastante útil do

resultado acima é que )(tQ∗ pode ser usado para limitar, acima, a quantidade de tempo

para que )(tQ esteja com uma distância especificada de )(∞Q .

Desta forma a equação (5.7) pode ser usada para determinar um limite superior para a

quantidade de tempo requerida para que Q(t) esteja, para a maior parte dos propósitos

práticos, muito próximo de Q(∞). Por exemplo, para um sistema com condições iniciais

configuradas deterministicamente como parado e vazio, o tempo requerido para que

Q(t) seja cerca de 2% próximo de Q(∞) pode ser limitado acima por t= 4τR .

138

Roth (1994) desenvolve uma heurística de relaxação do tempo para reduzir o vício

devido a inicialização em simulações de Monte Carlo de sistemas de filas markovianas

estacionárias, M/M/m. Ela é baseada em características do modelo teórico subjacente e

não requer execuções preliminares da simulação. O resultado de Odoni e Roth (1983)

foi estendido para a determinação do tempo constante dominante ou tempo de

relaxação, τ, quando 99% do comportamento transiente inicial foi dissipado.

Para um sistema de fila M/M/m que parte para o equilíbrio, a estimativa do tempo de

relaxação Rτ é dado por:

( )[ ] 1214,1−

−= ρµτ sR , (5.8)

para todo maxmm ≤ , onde mmax é o maior valor de m tal que a estimativa obtida através

da heurística de relaxação do tempo tenha passado no teste de remoção do vício, um

teste de hipóteses clássico (o teste estatístico t de Student ou o teste estatístico z para a

normalidade).

A heurística proposta por Roth (1994) é semelhante àquela proposta por Odoni e Roth

(1983). A heurística de relaxação do tempo para sistemas de filas M/M/m com não mais

que mmax servidores, é: descarte dados representativos dos primeiros Rτ4 de tempos do

modelo, onde Rτ é definido pela equação (5.8). A performance desta heurística é

comparada com a de outras heurísticas alternativas com respeito a efetividade da

remoção do vício devido à inicialização. São utilizados dois procedimentos: primeiro

verifica-se que as heurísticas passaram no teste de remoção do vício, um teste de

hipóteses clássico; como uma segunda medida de vício é avaliada a probabilidade de

cobertura observada, a probabilidade que a média verdadeira esteja contida no intervalo

de confiança de 95% sobre a média observada. E mostram que a heurística de relaxação

do tempo é um instrumento apropriado para remover o vício, devido à inicialização, do

número de clientes em um sistema de fila M/M/m em regime.

Delaney e Rossetti (1995) investigam o uso de aproximações analíticas de sistemas de

filas para auxiliar na atenuação dos efeitos do período transiente inicial em simulações

139

de sistemas de filas GI/G/m em equilíbrio. Eles utilizam aproximações analíticas de filas

para configurar estocasticamente as condições iniciais da simulação e desenvolvem um

novo conjunto de heurísticas de truncamento baseado nestas aproximações analíticas de

filas GI/G/m. Novas heurísticas de truncamento são estabelecidas para encontrar o ponto

de truncamento numa realização da simulação que minimiza o erro quadrado médio da

estimativa. Eles apresentam a performance da heurística para replicação-descarte, e a

adaptação para uma longa execução com médias de grupo é discutida. Segundo eles o

resultado da metodologia proposta é um estimador, menos viciado e menos variável do

tempo médio de espera na fila.

Delaney, Rossetti e White Jr. (1995) apresentam heurísticas semelhantes para a análise

de médias de grupos (batch) de uma única execução longa da simulação. Conjugam

duas abordagens usadas para reduzir os efeitos do vício devido a inicialização que são: a

primeira abordagem é a configuração dos estados iniciais da simulação

estocasticamente; e a segunda é o truncamento de uma porção inicial da amostra, com o

restante dos dados sendo usados para fornecer uma estimativa da medida de

performance desejada.

Configurar estocasticamente os estados iniciais da simulação envolve amostragem da

distribuição em equilíbrio para se obter o estado inicial. E o problema com está técnica é

que na maioria das vezes não se conhece a distribuição em equilíbrio. Eles propõem

usar as aproximações desenvolvidas por Whitt (1993) para as distribuições em

equilíbrio do número de clientes no sistema, contando aqueles que estão em serviço ou

não, para estocasticamente configurar os estados iniciais (condições iniciais) do sistema

que se pretende simular.

O desafio básico na abordagem que trunca uma porção inicial dos dados da amostra é

determinar um ponto de truncamento que controla os efeitos do vício devido a

inicialização sem aumentar a variância do estimador. Eles utilizam nas heurísticas

propostas o erro quadrado médio como critério de exame desta penalidade de

truncamento. O erro quadrado médio é definido por:

140

( ) [ ] [ ]θθθθ ˆVarˆBiasˆMSE 22+=

−= E ,

onde θ é um estimador de θ. O erro quadrado médio considera ambos, o vício e a

variância do estimador.

Seja uma estimativa do erro quadrado médio do estimador dada a seguir:

[ ] [ ] [ ]θθθ ˆVarˆBiasˆMSE2 ∧∧∧

+= (5.9)

Assumindo que o valor verdadeiro seja conhecido e que os Yi são independentes, o vício

e a variância do estimador da amostra truncada podem ser estimados por:

[ ] ( ) θθ −=∧

dnY ,ˆBias (5.10)

e

[ ]( )

( )∑+=

−−

=n

diiY

dn 1

22

1ˆVar θθ , (5.11)

onde n e d representam o tamanho total da amostra e a quantidade de dados iniciais a

serem descartados e ( )dnY

dnYn

di i

−=

∑ += 1, é a média da amostra.

Desta forma eles propõem duas heurísticas de truncamento: a primeira é a heurística de

truncamento segundo o critério do erro quadrado médio usando aproximações, referida

como MSEAT (mean squared error approximation truncation); e a segunda é a

heurística de truncamento segundo o critério do erro quadrado médio usando

aproximações e a variância amostral, referida como MSEASVT (mean squared error

approximation and sample variance truncation).

Seja θa uma aproximação analítica para θ. A primeira heurística é baseada na

substituição de θ por θa nas equações (5.10) e (5.11) para se obter uma estimativa

141

aproximada do MSE da equação (5.9) e então encontrar o valor de d que minimiza a

estimativa resultante para o erro quadrado médio.

E desta forma obtêm-se as seguintes equações:

( ) [ ] [ ]θθ ˆVarˆBias,MSE2

a

∧∧∧

+=dn ,

[ ] ( ) adnY θθ −=∧

,ˆBias , (5.12)

[ ]( )

( )∑+=

−−

=n

diaiY

dn 1

22

1ˆVar θθ ,

onde o ponto de truncamento *d é determinado por: ( )dnd a ,MSEmin argnd0

*∧

≤≤= .

Observando que a primeira heurística é muito dependente da aproximação obtida de um

modelo analítico correspondente, eles, então, mantêm a equação para o vício e usam

uma equação diferente para a variância, obtendo desta forma a segunda heurística

referida como MSEASVT, que julgam ser mais apropriada. A heurística MSEASVT é

dada por:

[ ] [ ]θθ ˆVarˆBias min arg2

nd0

*∧∧

≤≤+=d ,

onde:

[ ] ( ) adnY θθ −=∧

,ˆBias e [ ] ( )( )( )( )1

,ˆVar 1

2

−−−

−=

∑ +=∧

dndndnYYn

di iθ .

Para replicação-descarte eles encontram, através de uma de suas heurísticas, um valor

ótimo d para cada replicação e a correspondente média da amostra truncada. Sendo que

a estimativa final é a média obtida, através das replicações, sobre todas as médias das

amostras truncadas.

142

Estes algoritmos heurísticos requerem que os dados de cada replicação sejam salvos e

então analisados no final da replicação. E para convenientemente longas execuções da

simulação isto pode gerar uma quantidade significativa de dados, que pode chegar

facilmente na casa de 100 Mbytes.

Eles usam fluxos de números aleatórios comuns para comparar a performance das

heurísticas para o sistema com estados iniciais configurados estocasticamente e para o

sistema com condições iniciais caracterizadas pelo sistema parado e vazio.

As aproximações para o tempo médio de espera na fila GI/G/m são tomadas de Whitt

(1993) e são baseadas numa abordagem de aproximação do sistema que modifica o

resultado da fila M/M/m. A relação funcional básica tem a seguinte forma:

[ ] ( ) [ ]sMMsGGI qSAq WEsccWE

////,,, 22ρΦ= , onde ρ é intensidade de tráfego, 22 e SA cc são os

quadrados dos coeficientes de variação das distribuições entre-chegadas e de serviços,

respectivamente, m é o número de servidores, e a função ( )mcc SA ,,, 22ρΦ pode ser

pensada como um fator de correção. Mas apesar da função ( )mcc SA ,,, 22ρΦ ter forma

complexa, ela ainda é fácil de se computar.

Para testar as heurísticas, eles configuram uma série de modelos de filas não-padrões

com intensidade de tráfego ρ ≥ 0. Modelos de filas M/M/m não são usados, pois as

aproximações de Whitt (1993) são exatas para estes modelos.

Cada experimento é constituído de 25 micro-replicações para todos os modelos e de 30

micro-replicações para o modelo de fila E2/E4/4 com ρ = 0,9, e 10 micro-replicações

para os demais. O tamanho de cada micro-replicação em Delaney e Rossetti (1995) são

de 10.000 chegadas de clientes para o modelo de fila E2/E4/4 com ρ = 0,9, de 21.000

chegadas de clientes para a fila E2/E4/4 com ρ = 0,98 e de 30.000 chegadas de clientes

para a fila U/LN/3, sendo que o tamanho total da execução foi de 5.250.000 clientes

para a fila E2/E4/4 com ρ = 0,98 e de 7.500.000 para os demais modelos de filas.

Delaney e Rossetti (1995) apresentam a partir de seus resultados as seguintes

conclusões:

143

1. Usar aproximações de filas obtidas de modelos analíticos correspondentes para

configurar estocasticamente os estados iniciais da simulação reduz o vício devido

a inicialização de uma estimativa da medida de performance do parâmetro quando

se tem recursos computacionais limitados;

2. Configurar estocasticamente os estados iniciais reduz o tamanho do período

transiente, embora uma execução de tamanho finito não possa alcançar o final de

um período transiente;

3. Adicionalmente usam as aproximações para fazer um truncamento posterior

(atrasado) dos dados de saída da simulação para o ponto onde ocorre MSE

estimado mínimo reduz o vício da estimativa;

4. A heurística (regra de truncamento) proposta alcançou o objetivo estabelecido de

se obter uma melhor, menos viciada e menos variável, estimativa do tempo médio

de espera na fila. Entretanto ela não satisfaz o objetivo pressuposto de 95% de

cobertura através dos experimentos, todavia eles atribuem isto diretamente a

precisão exata que a heurística dá;

5. Ainda resta a questão do que é melhor, uma melhor cobertura com a possibilidade

de significante vício e variância ou menos cobertura com pouca ou nenhum vício

e variância reduzida.

Tem-se também que, se TE é muito grande, o vício tende a ser desprezível, sendo

dominado por 01β−

ET , com 0β (geralmente finito) dado por (5.3). Contudo para TE

muito pequeno, o vício é aproximadamente ( )[ ] mrTYE I − (Whitt, 1991). E segundo

Roth (1994) o tamanho da replicação precisa ser suficientemente pequeno tal que o

período transiente responda por uma porção significante de cada replicação, senão os

dados viciados representativos do comportamento transiente podem ser dominados por

dados não-viciados representativos do comportamento em equilíbrio. Desta forma as

heurísticas propostas por Delaney e Rossetti (1995) não são apropriadas para o tamanho

das replicações previstas nos experimentos propostos neste trabalho, pois os tamanhos

144

das execuções das replicações são grandes demais para que os dados viciados não sejam

dominados pelos dados não-viciados.

Estas heurísticas propostas por Delaney e Rossetti (1995), apesar da simplicidade,

acabam por requerer uma grande quantidade de recursos computacionais para tamanhos

de execuções das micro-replicações suficientemente grandes para aproximações com

melhores probabilidades de coberturas observadas. As replicações previstas nos

experimentos deste trabalho são significativamente maiores que aquelas previstas por

Delaney e Rossetti (1995), e os arquivos de saídas de dados poderiam chegar a mais de

100 Mbytes. E estes arquivos gerados pelo modelo construído no Micro Saint, que é

uma ferramenta de simulação de propósitos gerais, precisariam ser editados num editor

de textos antes de serem submetidos a análise através de um programa escrito numa

linguagem de propósito geral tais como C++ ou Pascal. Desta forma, estas heurísticas

não foram usadas neste trabalho.

Segundo Whitt (1989a) se o processo sendo simulado não é estacionário, então se tem

vício caracterizado pela diferença entre a média do estimador e a média verdadeira.

Neste caso pode-se usar a aproximação RBM (Movimento Browniano Refletido ou

Regulado) em (5.34) para considerar o vício para o RBM canônico observado sobre

[ ]0,0 t , quando o RBM canônico inicia na origem. Pode-se estimar o vício, quando se

está estimando a média em regime (equilíbrio) ( )[ ]211,1; =−∞RE pela média amostral

( )∫ −= − 0

0

0

10 0,1,1;

t

t dssRtR de um sistema que inicialmente estava vazio e parado, usando

a aproximação Hiperexponencial dada por:

( ) ( )[ ] 0 t,138,036,00,1,1;21 764,023,5 ≥+≈−− −− tt eetRE . (5.13)

Tem-se que:

145

( ) ( ) ( )[ ] ( )( )

( )[ ] ( )( )0

0

10

0

10

41210,1,1;

210,1,1;21 0

0

tdssREt

dstREtREt

t

=−−≈

≈−−=−

∫∞−

(5.14)

para t0 grande.

Segundo Whitt (1989a) o vício assintótico para RBM, em muitas circunstâncias, é

assintoticamente inversamente proporcional ao tamanho t0 da execução. E desde que a

largura do intervalo de confiança é proporcional a 210−t , ver (5.22) e (5.24), o vício para

o RBM é assintoticamente desprezível quando comparado com a largura do intervalo de

confiança.

A aproximação do vício em (5.39) e (5.40) sugere, que quando se inicia com uma fila

vazia, pode-se querer seguir uma prática comum de descartar uma porção inicial dos

dados. O escalamento do tempo na aproximação RBM em (5.52) indica que o tamanho

da porção inicial a ser descartada no processo de fila deveria crescer com ρ; em

particular este também deveria ser da ordem de ( )22 1 ρ−ab . Para o RBM canônico

pode-se estimar o vício resultante quando se deleta uma porção inicial em [0, t],

mudando a integral em (5.40) do intervalo [0, t0] para o intervalo [t1, t1+t0] (Whitt,

1989a).

E como, segundo Whitt (1989a), ( )[ ]0,1,1;−tRE para t = 4 está cerca de 1% de sua

média em equilíbrio (regime), uma regra grosseira para determinar o tamanho t do

intervalo de tempo inicial [0, t] a ser descartado, numa simulação de fila com uma

precisão estatística relativa da ordem de 5-10%, é descartar o segmento inicial

correspondente a:

( )22 14 ρ−ab (5.15)

tempos de serviços esperados.

146

A regra sugerida por Whitt (1989a) para determinar a porção inicial dos dados de saída

da execução da simulação que serão descartados parece razoável para os propósitos

desse trabalho, pois ela exige menos recursos computacionais, é simples de se

implementar, não descarta dados em excesso, evitando desperdício, e está de acordo

com os resultados obtidos para regras desenvolvidas para modelos de filas M/M/m.

Desta forma, o tempo TI de inicialização da simulação, durante o qual a simulação

executará sem que sejam coletados dados de saída da simulação, será determinado por

(5.15) e multiplicado por um fator igual 10 para garantir uma adequada remoção do

vício. Portanto tem-se que:

( )22 140 ρ−= abTI . (5.16)

5.3 - TEMPO DE EXECUÇÃO

A coleta de dados somente será considerada após o período de inicialização, por um

período de tempo TE (tempo de execução); será feito um truncamento na saída de dados.

Este truncamento removerá ou minimizará (praticamente reduzirá a zero) o impacto dos

efeitos da inicialização no sistema.

Whitt (1989a) desenvolve fórmulas heurísticas simples para estimar o tamanho

necessário da execução da simulação para se obter a precisão estatística desejada em

simulações de sistemas de filas em equilíbrio (regime). E Whitt (1989b) desenvolve

estimativas, através de análise matemática preliminar, do tamanho necessário da

simulação para se obter a precisão estatística desejada em experimentos de simulação

estocástica de sistemas em equilíbrio. Nestes trabalhos são consideradas replicações

simples das execuções das simulações estocásticas dos sistemas de interesse, ou seja,

uma execução longa da simulação para estimar características do sistema em equilíbrio.

Estas fórmulas podem ser aplicadas para auxiliar na elaboração de projetos de

experimentos de simulação estocástica, nos estágios iniciais de planejamento antes que

quaisquer dados tenham sido coletados.

147

Este estudo, entretanto, prevê experimentos baseados em replicações independentes, ao

invés de uma longa execução da simulação, como já foi argumentado anteriormente,

com base principalmente nos dois argumentos apresentados a seguir.

Primeiro as execuções de simulações de sistemas de filas em regime muitas vezes

necessitam ser surpreendentemente longas, porque estas de fato necessitam serem

longas, ou porque não temos suficiente informação sobre o processo. E neste caso a

eficiência tende a ser praticamente a mesma tanto para uma longa execução quanto para

um pequeno número de replicações (aproximadamente 10) ligeiramente menores.

E, como segundo argumento, quando se deseja ter intervalos de confiança mais

confiáveis, Whitt (1991) recomenda fazer cerca de 10 replicações independentes com

execuções de tamanho ligeiramente menores, que os de uma longa execução, fazendo

com que estas execuções ligeiramente menores sejam suficientemente longas tal que a

eficiência seja quase a mesma de uma longa execução. Isto assegura independência mas

não a distribuição normal, podendo ainda existir problemas de cobertura.

O tamanho destas R replicações ligeiramente menores pode ser obtido dividindo-se o

tamanho estimado para uma execução longa por R, como foi sugerido nos exemplos

apresentados por Whitt (1991). E como estes valores são aproximações obtidas

analiticamente, através de análise matemática preliminar, antes que quaisquer dados de

saída da simulação tenham sido obtidos, eles podem ser corrigidos durante a condução

do experimento. Neste sentido serão considerados no experimento mais 2 valores para

os tamanhos de execução destas 10 replicações, consistindo do valor inicial acrescido de

25% e 50%, respectivamente.

Nos experimentos onde se conhece os valores verdadeiros das medidas de performance

que estão sendo estimadas, pode ser utilizado um segundo critério de verificação da

exatidão da estimativa (remoção do vício), através da avaliação da probabilidade de

cobertura observada, a probabilidade de que a média verdadeira esteja contida no

intervalo de confiança de 95% sobre a media observada (Roth, 1994). E neste caso cada

148

replicação será dividida em 10 micro-replicações independentes, cada uma com período

de inicialização TI e período de execução de tamanho 10ET .

5.3.1 – METODOLOGIA PARA A DETERMINAÇÃO DO TEMPO DE

EXECUÇÃO TE

A análise feita por Whitt (1989a) é baseada em teoria estatística geral, mas é

inteiramente voltada para modelos de filas. Ele explora a estrutura de modelos de filas

com o objetivo de estimar a quantidade de dados requeridos para se obter intervalos de

confiança especificados. Este trabalho foi motivado por experimentos de simulação

conduzidos para desenvolver e avaliar aproximações de características em regime, em

equilíbrio, de modelos de filas complexos, em particular por esforços recentes em

projetar experimentos para estudar filas em redes de comunicação de pacotes – estas

filas têm múltiplas classes de clientes com diferentes características de serviço e

processos de chegadas explosivos.

Já em Whitt (1989b) a análise também é baseada em teoria estatística padrão e abrange

outros modelos estocásticos além dos modelos de filas.

Estes dois trabalhos de Whitt (1989a e 1989b) estão voltados para o tamanho da

simulação necessário para se obter a precisão estatística desejada (especificada). E têm

como pano de fundo a simulação de modelos estocásticos, em equilíbrio (regime), para

obtenção de medidas de interesse.

Supõe-se que o modelo estocástico que se deseja simular seja relativamente complicado,

de forma que não seja fácil calcular analiticamente as medidas de interesse. O objetivo é

obter estimativas do tamanho da execução da simulação e das medidas de interesse, e

projetar o experimento inicial fazendo alguma análise matemática preliminar, que não

seja mais complicada do que resolver o próprio modelo estocástico em questão.

Desta forma Whitt (1989a e 1989b) sugere aproximar o modelo estocástico de interesse

por um modelo estocástico mais elementar, que possa ser analisado analiticamente.

Calculam-se para este modelo aproximado: a quantidade de interesse, em equilíbrio, a

149

variância e o vício assintóticas. E, então, com estas quantidades estima-se o tamanho

necessário da execução da simulação para se obter a precisão estatística desejada no

modelo original.

São necessários, portando, dois procedimentos: primeiro, é necessário encontrar uma

aproximação conveniente para o modelo estocástico em questão; e, segundo, é preciso

calcular as quantidades assintóticas de interesse para o modelo aproximado.

As fórmulas propostas por Whitt (1989a) são baseadas em limites de tráfego pesado

para filas e aproximações por difusão associadas. Em particular, as fórmulas se aplicam

a processos estocásticos que podem ser aproximados por movimento Browniano

refletido. Os limites de tráfego pesado descrevem como o processo de fila comporta-se

quando a intensidade de tráfego ρ aproxima-se de seu valor crítico para a estabilidade,

neste caso 1. Em particular, os limites de tráfego pesado permitem relacionar como o

tempo t ou o número de clientes n cresceria - o tamanho da execução da simulação -

quando ρ → 1.

Whitt (1989a) considera em seu trabalho modelos de filas bastante gerais, indo além do

modelo GI/G/m. Na verdade ele especifica um conjunto de modelos considerando que o

processo de interesse, com normalização padrão, converge em distribuição para

Movimento Browniano Refletor (RBM) quando ρ → 1. Mas sua análise não se aplica a

processos de filas que não são bem aproximados por RBM, tais como filas com um

número infinito de servidores e pequenas redes de filas fechadas.

A análise feita por Whitt (1989a) indica que o impacto da intensidade de tráfego na

precisão estatística de estimativas é aproximadamente o mesmo que o do modelo M/M/1

para uma grande classe de modelos. Além do que, para modelos de filas mais

complexos que o M/M/1, a precisão estatística de estimativas para um dado tamanho de

execução da simulação não é afetado somente pela intensidade de tráfego, mas também

pela variabilidade dos processos básicos de chegada e de serviço.

Segundo Whitt (1989a) a experiência indica que, para uma precisão estatística

especificada, a quantidade de dados requeridos cresce quando a intensidade de tráfego

150

cresce e quando a variabilidade dos tempos de serviço e dos tempos entre chegadas

(apropriadamente quantificados) cresce. E a análise feita por ele indica que, para se

obter um erro padrão relativo (a razão entre o erro padrão da medida de interesse na

simulação e a estimativa simulada de sua media) uniforme, previamente especificado,

sobre todos ρ, o tamanho da amostra deveria ser aproximadamente proporcional a

( )211 ρ− chegadas. E para o erro padrão absoluto, o tamanho seria aproximadamente

proporcional a ( )411 ρ− chegadas.

A análise em Whitt (1989a) indica que, para se obter um erro padrão (absoluto ou

relativo) previamente especificado, o tamanho da execução da simulação deveria ser

aproximadamente proporcional a variabilidade dos processos básicos de chegada e de

serviço, enquanto medida por um apropriado parâmetro de variabilidade assintótica, que

emerge dos limites de tráfego pesado. Desde que os tempos de serviço e os tempos entre

chegadas são iid, o parâmetro de variabilidade assintótica para o critério do erro padrão

relativo é justamente a soma dos quadrados dos coeficientes de variação (variância

dividida pelo quadrado da média) das distribuições dos tempos de serviço e dos tempos

entre chegadas, e estão disponíveis antes do início da simulação. Esta mesma análise

também indica que, se o critério é o erro padrão absoluto, o tamanho da execução da

simulação deveria ser aproximadamente proporcional ao cubo deste mesmo parâmetro

de variabilidade assintótica.

Segundo Whitt (1989a) comparações com resultados de simulação indicam que estas

fórmulas para o efeito de variabilidade são bastante precisas para intensidades de

tráfego pesado, por exemplo para ρ ≥ 0,8, mas menos precisas para intensidades de

tráfego leves (de qualquer forma quando este é menos crítico). Mas ele propõe o uso de

limites de tráfego pesado não como fórmulas finais, mas como guia para auxiliar na

determinação dos tamanhos das execuções de simulações. E neste sentido, para

intensidades de tráfego leves, as fórmulas prognosticam corretamente o comportamento

qualitativo e fornecem aproximações rápidas e grosseiras (que estão muito abaixo da

precisão especificada).

151

5.3.1.1 - ANÁLISE ESTATÍSTICA PADRÃO

Seja ( ){ }0: ≥ttLq o processo estocástico que representa o número de clientes na fila

para o tempo t. Pode-se, também, pensar em Lq como o processo que representa o

número de clientes no sistema para o tempo t, ou como outro processo de interesse.

E assume-se ( ){ }0: ≥ttLq como um processo estritamente estacionário com

( )[ ] ∞<2tLE q .

O objetivo é estimar a média ( )[ ]0qLE pela média ponderada no tempo:

( ) ( )∫ ≥= − t

qq tdssLttL

0

1 0 , . (5.17)

A análise estatística padrão, segundo Whitt (1989a), assumindo uma grande quantidade

de dados, é baseada na suposição (hipótese) do teorema do limite central para ( )tLq

quando t → ∞. Seja ( )2,σmN uma variável aleatória normalmente distribuída com

média m e variância σ 2, então o limite desejado é:

( )[ ] ( ) , quando ,00 221 ∞→⇒

− tNLELt qq σ (5.18)

onde:

( )[ ] ( ) ( )∫∫∞

−∞→∞→∞<=

−==

0

2 21limlim dttCdssCts

LVartt

ttqtσ , (5.19)

o símbolo ⇒ significa convergência em distribuição e C(t) é a função de (auto)

covariância definida por:

( ) ( ) ( )[ ] ( )[ ]( )2 00 qqq LEtLLEtC −= . (5.20)

152

Whitt (1989a) assume que o limite em (5.18) é válido, como geralmente é feito, e chama

σ 2 em (5.19) de variância assintótica da média amostral ( )tLq . E baseado no limite

(5.18) define a seguinte aproximação:

( ) ( )[ ]( )tLENtL qq2, 0 σ≈ , (5.21)

para um dado t (grande) de interesse, onde σ 2 é dado por (5.19).

É importante observar que (5.21) envolve três aproximações: que a distribuição é

normalmente distribuída, que a média é E[Lq(0)] (sem vício, que é conseqüência da

estacionariedade assumida até aqui), e que a variância é σ 2/t para σ 2 dado em (5.19).

Para as aproximações, grosseiras, pretendidas para o propósito de planejamento geral

parece razoável assumir (5.21), desde que o tamanho t da execução da simulação seja

suficientemente grande para que (5.21) seja uma aproximação razoável. No contexto de

simulação de sistemas de filas, a experiência indica que o crescimento de t precisa ser

proporcional ao de ρ para que (5.21) seja uma boa aproximação, ou seja, este

requerimento é de mesma ordem que aquele exigido em t para que a precisão estatística

baseada em (5.21) seja adequada. E uma resposta a essa suposição também emerge da

aproximação por RBM (Whitt, 1989a).

Baseado em (5.21), um intervalo, com ( ) %100β1 − , de confiança para E[Q(0)] é dado

por:

( ) ( ) ( ) ( )[ ]2122β

2122β , tztLtztL qq σσ +− (5.22)

onde:

( )( ) β11,0 2β2β −=+≤≤− zNzP . (5.23)

Segundo Whitt (1989a) a largura do intervalo de confiança em (5.22) fornece uma

medida natural da precisão estatística, existindo dois critérios naturais a considerar:

largura absoluta e largura relativa. Note que estes dois critérios correspondem ao erro

153

padrão absoluto e ao erro padrão relativo, já mencionados acima. E para qualquer β

dado, a largura absoluta e a largura relativa são:

( ) ( )( )[ ]0

2β e

2β 21

2β21

qra LEt

zW

tz

Wσσ

== . (5.24)

Para um nível de precisão β e uma largura absoluta ε especificados, o tamanho da

simulação requerido, dado (5.21), é:

( ) 2

22β

24β,

ε

σε

zta = . (5.25)

Para um nível de precisão β e uma largura relativa ε especificados, o tamanho da

simulação requerido, dado (5.21), é:

( )( )[ ]( )22

22β

2

0

4β,

qr LE

zt

ε

σε = . (5.26)

Das equações (5.25) e (5.26) se tira uma importante e bem conhecida conclusão: que

ambos ( ) ( )β, e β, εε ra tt são inversamente proporcional a ε 2 e diretamente

proporcional a σ 2 e 22βz .

Pode-se estimar as quantidades desconhecidas σ 2 e E[Lq(0)], recorrendo-se à teoria

estatística padrão, através de amostras colhidas de execuções preliminares da simulação.

Mas ao invés disso Whitt (1989a) recorre a informações adicionais sobre o modelo para

obter estimativas preliminares grosseiras para σ 2 e E[Lq(0)], sem a necessidade de

execuções preliminares para a coleta de dados. Ele assume que o modelo subjacente é

um modelo de fila que se comporta aproximadamente como a fila GI/G/1 (e

particularmente como a fila M/G/1) e que o processo estocástico de interesse se

comporta como o processo tamanho da fila de espera para o modelo GI/G/1 (e,

particularmente, se comporta como o processo tamanho da fila de espera para o modelo

M/G/1), que se comporta aproximadamente como o RBM, desde que a intensidade de

154

tráfego ρ não seja muito baixa. Ele trata deste problema estatístico obtendo grosseiras

estimativas de σ 2 e E[Lq(0)] em termos de parâmetros básicos do sistema de filas, tais

como a intensidade de tráfego ρ .

Apesar de se partir da suposição de que o processo Lq(t) em observação é estritamente

estacionário, sabe-se que na prática, contudo, normalmente não se pode iniciar em

equilíbrio, e em vez disso tem-se somente um processo assintoticamente estacionário.

Apesar disso, o limite (5.18) normalmente é válido e a aproximação (5.21) normalmente

é apropriada quando t é suficientemente grande, desde que seja substituída E[Lq(0)] em

(5.18) e (5.21) pela média em equilíbrio ( )∞qL , o limite de ( )tLq em (5.17) quando

∞→t é assumido existir com probabilidade 1. Além disso, o vício devido às condições

iniciais normalmente é desprezível quando t é suficientemente grande, de forma que a

variância assintótica em (5.19) coincide com o correspondente erro quadrado médio.

Portanto, ele propõe as aproximações (5.21) – (5.26) para uma larga classe de

simulações em equilíbrio com condições iniciais não-estacionárias.

Até o momento têm sido focalizados apenas processos estocásticos a tempo contínuo,

mas pode-se ter processos a tempo discreto, tais como o processo do tempo de espera do

n-ésimo cliente, que novamente assume-se que seja estacionário com ( )[ ] ∞<nWE 2 .

Então estima-se a média E[W(0)] pela média amostral ( ) ( )∑−

=

−=1

0

1n

kkWnnW e aplica-se o

limite assumido:

( ) ( )[ ]( ) ( )221 ,00 WNWEnWn σ⇒− , (5.27)

onde:

( )( ) ( )( ) ( )∑∞

=∞→

+==1

2 20limknW kCWVarnWnVarσ (5.28)

155

e C(k) é a função de (auto) covariância, definida por

( ) ( ) ( ) ( )[ ] ( )[ ]( ) 0 ,00 2 ≥−=≡ kWEkWWEkCkC W , dos quais obtêm-se equações

análogas às de (5.21) – (5.26).

Neste ponto é importante observar que, para uma vasta classe de sistemas de filas, as

versões do teorema do limite central para processos do tamanho da fila a tempos

contínuos, como em (5.18), e processos associados do tempo de espera a tempos

discretos, como em (5.27), são intimamente relacionadas através de uma extensão da

Lei de Little L=λW. E daí pode-se tirar uma importante conclusão da equação L=λW,

que é: com estimadores apropriados, aproximadamente a mesma quantidade de dados

são necessários para a estimação de medidas dos dois processos.

5.3.1.2 - OS CASOS ESPECIAIS M/G/1

Whitt (1989a) inicia a análise de sistemas de filas considerando alguns casos especiais.

Ele considera os casos especiais da fila M/G/1 para ter alguns resultados concretos para

comparar com as aproximações e fornecer uma base para criar aproximações refinadas.

No que concerne ao tamanho da fila, Whitt (1989a) supõe uma fila M/G/1 estacionária

com taxa de serviço µ = 1 e taxa de chegadas λ = ρ < 1. Seja mk o k-ésimo momento do

tempo de serviço e seja o quadrado do coeficiente de variação do tempo de serviço

( ) 1221

212

2 −=−= mmmmcS . Então o tamanho esperado da fila em regime é dado por:

( )[ ] ( ) ( )ρρ −+= 1210 22Sq cLE . (5.29)

E pode-se expressar a variância assintótica 2qLσ definida em (5.19) em termos dos

primeiros quatro momentos da distribuição dos tempos de serviço, ou seja, pode-se

expressar ( ) 21qLσρ− exatamente como:

156

( )

( )

−+

+

++

+

−+

+

+

−+

=−

ρρρρ

ρρρ

ρρσρ

11

123

31

11

325

11

21

2

2

42

2

3

222

2

33324

2

S

SSL

cm

mmm

cmmc

q

(5.30)

Desde que 122 += Scm , é fácil ver que cada termo em (5.30) é não-decrescente em ρ,

m2, m3, e m4. E tem-se que para os casos especiais M/D/1 e M/M/1,

1k e 11 +=+ kk mm , respectivamente, tal que:

( )( ) ( )

1// para 1

41

44124

2

4

3222 MM

qL ρρ

ρρρρρσ

−≈

+−+= (5.31)

e

( )( ) ( )

1// para 12112

31211444

322 DM

qL ρρ

ρρρρρσ

−≈

−+−+

= (5.32)

com as aproximações em (5.31) e (5.32) sendo razoavelmente boas se ρ não é muito

pequeno, por exemplo ρ ≥ 0,3, e 2qLσ cresce muito rapidamente quando ρ → 1.

O limite de alto tráfego para a fila M/G/1 é obtido, segundo Whitt (1989a),

considerando somente o primeiro termo em (5.30), i. é, para ρ grande:

( ) ( )4322 121 ρσ −+≈ SL cq

. E ( ) ( )4324 121 ρρ −+Sc é, de fato, um limite inferior para

2qLσ .

Motivado por este limite de alto tráfego, Whitt (1989a) obtém uma aproximação para o

caso 10 2 ≤≤ Sc , tomando uma combinação convexa de fatores adicionais em (5.31) e

(5.32). Ele, particularmente, reescreve o último termo para M/M/1 em (5.31) como

( ) ( )4322 121 ρρ −+Sc , onde 12 =Sc , e reescreve o último termo para M/D/1 em (5.32)

157

como ( ) ( )432 121 ρρ −+Sc , onde 02 =Sc . Então a aproximação para o sistema de fila

M/G/1,geral, com parâmetro 10 2 ≤≤ Sc , é:

( ) ( )( ) ( )[ ]( )( )4

322222

12111

1//11//ρ

ρρσ

+−−=−+≈ SS

SSLcc

DMcMMcq

. (5.33)

Comparações com valores extremos em (5.30) mostram que a aproximação em (5.33) é

geralmente (para distribuições típicas tais como Erlang ou exponencial alterada) muito

boa para as intensidades de tráfego de principal interesse, por exemplo, ρ ≥ 0.

Entretanto, desde que é teoricamente possível existirem terceiro ou quarto momentos

ilimitados com um segundo momento qualquer, o valor exato de 2qLσ em (5.30) pode de

fato ser infinito, de forma que (5.33) seria uma aproximação muito ruim. Isto mostra

que, mesmo para o caso relativamente simples da fila M/G/1, não existe limite nos

possíveis erros devido ao uso de (5.33) ou das aproximações RBM de alto tráfego. É

importante compreender que as aproximações RBM têm esta limitação. Contudo, casos

patológicos raros não deveriam impedir a obtenção de aproximações práticas (Whitt,

1989a).

Para complementar (5.33), Whitt (1989a) considera o caso 12 ≥Sc da fila M/G/1. Ele usa

as aproximações ( ) ( )2225132

414

22313 1124 e 13 +≈≈+≈ SSSS ccmmmmmccmm em

(5.30), quando 12 ≥Sc , para obter a seguinte aproximação para a fila M/G/1:

( ) ( ) ( )( )

−+

++++

−+

++

−+

=−ρ

ρρρρ

ρρρ

ρσρ1

11311

112

51

12

12

22222

2324

2 SSS

SSSL

ccccccq

. (5.34)

Note que, para 2Sc grandes, cada termo em (5.34) é aproximadamente proporcional a

( )32 1+Sc desde que ρ não seja muito pequeno. E de forma geral a aproximação (5.34) é

consistente com ( ) 32 para 122 ≤≤+≈ xcK xSLq

σ (Whitt, 1989a).

158

Se ao invés disso for usado os limites gerais ( ) ( )324

221

223 1 e 1 +≥+=≥ SS cmcmmm

em (5.30), então a equação análoga à de (5.34) que seria obtida, seria um limite para

(5.30) (Whitt, 1989a).

Desta forma Whitt (1989a) propõe a seguinte aproximação global, simples e grosseira,

para o sistema de fila M/G/1 geral:

( ) ( )43222 121 ρρσ −+≈ SL c

q. (5.35)

De (5.31) vê-se que (5.35) é boa para M/M/1, mas de (5.32) vê-se que (5.35) é ruim para

M/D/1, é muito pequena devido a um fator de ρ. Contudo a simplicidade faz de (5.35)

uma útil substituta prática para (5.30), (5.33) e (5.34).

O tamanho estimado da execução da simulação para o sistema de fila M/G/1, para os

critérios da largura absoluta e da largura relativa, pode ser determinado

aproximadamente combinando (5.25) com (5.35) e (5.26) e (5.29) com (5.35). Dessa

forma tem-se:

( ) ( )( )

( ) ( )( ) 222

22β

2

24

22β

322

1

18β, e

1

12β,

ερρε

ερ

ρε

+≈

+≈

zct

zct S

rS

a . (5.36)

Note que as duas estimativas aproximadas da execução da simulação têm evidentemente

comportamentos diferentes em tráfego pesado e em tráfego leve (Whitt, 1989a):

( ) ( )( )

( ) ( )( )

1 quando 1

18β, e

1

12β,

22

22β

2

24

22β

32

→−

+≈

+≈ ρ

ερε

ερε

zct

zct S

rS

a , (5.37)

( ) ( ) ( ) ( )0 quando

18β, e

12β, 22

22β

2

2

22β

322

→+

≈+

≈ ρερ

εε

ρε

zct

zct S

rS

a . (5.38)

É importante notar que o tamanho requerido da execução para o critério da largura

relativa, tr, não é crescente para todos os ρs (tr → ∞ quando ρ → 0). Mas ta é

proporcional a ( )411 ρ− , enquanto tr é proporcional a ( )211 ρ− quando ρ → 1. Nota-

159

se, também, que ta e tr são proporcionais aos parâmetros de variabilidade

( ) ( )1 e 1 232 ++ SS cc , respectivamente, em (5.37) e (5.38). E de (5.31) vê-se que estes

limites se mantêm para os valores M/M/1 exatos.

Outros processos do modelo de fila M/M/1 são considerados a seguir.

Seja o processo do número de clientes no sistema, incluindo os clientes em serviço,

{L(t): t ≥ 0}, então, segundo Whitt (1989a), ( )[ ] ( )ρρ −= 10LE e a variância assintótica

de ( ) ( )∫−=t

dssLttL0

1 é:

( ) ( )42 112 ρρρσ −+=L . (5.39)

Alternativamente, se o processo considerado é o da carga de trabalho (ou tempo de

espera virtual) {V(t): t ≥ 0}, então, segundo Whitt (1989a), ( )[ ] ( )ρρ −= 10VE e a

variância assintótica de ( ) ( )∫−=t

dssVttV0

1 é dada por:

( ) ( )42 132 ρρρσ −−=V (5.40)

Se o processo considerado é o tempo de espera na fila (antes de iniciar o serviço) a

tempo discreto {D(n): n ≥ 0}, então, segundo Whitt (1989a), ( )[ ] ( )ρρ −= 10DE e a

variância assintótica de ( ) ( )∑ −

=−=

1

01 n

kkDnnD é:

( ) ( ) ( )44322 141452 ρρρρρρρσ −≈−+−+=D (5.41)

Note que os parâmetros de variabilidade assintótica (5.31), (5.39), (5.40) e (5.41) para

os quatros processos são, segundo Whitt (1989a), assintoticamente da forma

( )42 14~ ρσ − quando ρ → 1; ou seja, em cada caso ( ) 41 24 →− σρ quando ρ → 1.

O comportamento de tráfego pesado para o modelo M/G/1 é o mesmo para todos os

quatro processos.

160

5.3.1.3 - LIMITES DE TRÁFEGO PESADO

As aproximações em Whitt (1989a) para modelos de filas gerais têm origem em limites

de tráfego pesado, mas ele não apresenta nenhum teorema novo; ele aplica teoremas já

existentes. Pois, para modelos de filas mais gerais, por exemplo para a fila GI/G/m, não

se pode fazer uma análise correspondente àquelas feitas para modelos de filas M/G/1.

Desta forma Whitt (1989a) faz da existência de limites de tráfego pesado sua suposição

básica.

Estas aproximações se aplicam a modelos que são estáveis para ρ < 1 e instáveis para

1≥ρ , com a congestão rigorosamente crescendo quando ρ → 1. Desta forma estas

aproximações se aplicam a sistemas gerais de filas, GI/G/m, com múltiplos servidores,

com sala de espera ilimitada e com um número de servidores não muito grande. Mas

não se aplicam a sistemas correspondentes com salas de espera limitadas, onde

chegadas são perdidas quando o sistema está cheio, ou a sistemas com infinitos

servidores. Segundo Whitt (1989a) uma extensa literatura existente para tráfego pesado

fornece muitos exemplos de sistemas para os quais estas aproximações se aplicam.

5.3.1.4 - MOVIMENTO BROWNIANO REGULADO (RBM)

Em Whitt (1989a) um papel de destaque é dado ao movimento unidimensional

Browniano regulado (ajustado) ou refletido, que é um movimento Browniano na linha

real positiva com direção negativa constante, com coeficiente de difusão positivo

constante e uma barreira de reflexão impenetrável na origem. RBM é um processo de

Markov com realizações contínuas, isto é, um processo de difusão. RBM é importante

porque é um processo limite comum. E todos os processos de filas que convergem para

RBM sob uma normalização especificada quando ρ → 1 estão no domínio das fórmulas

de aproximação propostas por Whitt (1989a).

Segundo Whitt (1989a), R(t; a, b, X) representa um RBM com direção a < 0 e

coeficiente de difusão b > 0, partindo para o estado aleatório ( )( )00 ≥= XRX . Pode-se

reescalar RBM de forma que é suficiente considerar o caso com direção a = -1 e

coeficiente de difusão b = 1, que é chamado de RBM canônico. A redução para RBM

161

canônico é importante porque todas as descrições de RBM podem ser feitas por um

único e simples processo, não sendo necessário realizar cálculos separados para valores

de parâmetros diferentes.

Whitt (1989a) propõe a seguinte re-escala do processo RBM, pois esta permite fazer

todos processos limite idênticos:

( ){ } ( ){ }( ){ } ( ){ }

,1 e 1 , ,,0:,1,1;0:,,;

,0:,1,1;0:,,;

22

11

dcbcdaabdbactcXtRtXbatdcR

tcXtdRctXbatRd

d

=−===

≥−=≥

≥−=≥ −−

(5.42)

onde d= significa igualdade em distribuição.

Por exemplo, supõe-se que Xn(t) converge em distribuição para R(t; a, b, X) quando

∞→t . Por uma elementar aplicação de (5.42) e do teorema do mapeamento contínuo

tem-se que: cXn(td) converge em distribuição para R(t; -1, 1, cX), para c e d definidos

por (5.42) (Whitt, 1989a).

Segundo Whitt (1989a), a distribuição estacionária de R(t; a, b, X) é exponencial com

média ab 2 , e se a posição inicial X é distribuída segundo esta exponencial, então

RBM torna-se um processo estacionário. E é fácil ver que o re-escalamento (5.42)

preserva a estacionariedade. Para o RBM canônico, a distribuição estacionária é

exponencial com média 21 .

Uma expressão satisfatória, segundo Whitt (1989a), para a função de covariância do

processo RBM é uma simples representação espectral (mistura de exponenciais), dada a

seguir:

( ) ( ) ( )∫ −= −1

0

2 12 dxxxetC xtR π

. (5.43)

162

E a função de covariância do processo RBM canônico pode ser expressa diretamente

(sem integração) como:

( ) ( ) ( )[ ] ( ) ( )212112121 121212 tttttttCR φ++Φ−−−= −− , (5.44)

onde φ (t) é a função densidade e Φ (t) é a função de distribuição cumulativa da

distribuição N(0,1). E destas expressões ele deduz a variância assintótica do processo

RBM canônico, que é dada a seguir:

( ) ( )2121,1;Va lim

0

0

12 ==

−= ∫∫

∞−

∞→dttCdssRtrt R

t

tRσ . (5.45)

Pois para as aplicações baseadas em (5.21) não é necessária a função de covariância

completa, mas somente a variância assintótica dada por (5.45).

Para Whitt (1989a) um aspecto essencial da análise de tráfego pesado é o escalamento

do espaço e do tempo. E antes de considerar os limites de tráfego pesado, ele considera

como o escalamento afeta a função de covariância C(t) em (5.20) e a variância

assintótica σ 2 em (5.19).

Para o processo estacionário geral Lq(t), que poderia ser um RBM, seja ( )tLyzq um

processo escalado associado, definido por ( ) ( ) ,0 , ≥= tztyLtL qqyzonde y e z são

escalares positivos arbitrários. Sejam ( ) 2yz e σtC yz , respectivamente, a função de

covariância e variância assintótica de ( )tLyzq . Segundo Whitt (1989a) tem-se que:

( )[ ] ( )[ ] ( ) ( ) zyztCytCtLEytLE yzqq yz

222yz

2 e , σσ === (5.46)

(para 2yzσ faz-se a mudança de variável u = zt na integração). Em particular note que a

razão chave em tr(ε,β) para o critério da largura relativa em (5.26) é:

163

( )[ ] ( )[ ] zLELE qqyz yz

22

22 00

=

σσ , (5.47)

que é independente de y. A conclusão a ser tirada de (5.47) é que para tr(ε,β) o

escalamento do tempo z tem um papel essencial. E na estrutura de fila o limite de

tráfego pesado determina de que maneira esse escalamento do tempo poderia ser.

5.3.1.5 - O LIMITE DE TRÁFEGO PESADO ASSUMIDO E A APROXIMAÇÃO

POR RBM

Para um modelo de fila geral, Whitt (1989a) considera uma família de processos de filas

estacionários, isto é, o ρ-ésimo sistema tem intensidade de tráfego ρ. Particularmente,

ele considera a família de processos tamanho da fila de espera { }0: ≥tLqρ, mas poderia

ser a família de processos carga de trabalho ou alguma outra. Tal família de processos

pode ser obtida de um dado modelo por um simples escalamento do tempo no processo

de chegada, por exemplo, ( ) ( )tAtA λλ = tem taxa de chegada λ se A(t) tem taxa de

chegada 1. E a suposição chave é que versões apropriadamente normalizadas de ( )tLqρ

convergem para uma versão estacionária de RBM quando ρ → 1. Ele apresenta uma

aproximação básica e um refinamento desta aproximação.

Ele usa escalamento do espaço (1 - ρ) e o escalamento do tempo ( )211 ρ− , que são

consistentes com maioria dos teoremas de limite de tráfego pesado existentes, para obter

o processo normalizado definido por:

( ) ( ) ( )( ) 0 ,11ˆ 2 ≥−−= − ttLtL qq ρρρρ

. (5.48)

Sejam ( ) ( )tCtC ρρˆ e as funções de covariância de ( ) ( )tLtL qq ρρ

ˆ e , respectivamente,

e sejam 22 ˆ e ρρ σσ as variâncias assintóticas correspondentes. De (5.46) e (5.48), vê-se

que:

164

( ) ( ) ( )( ) ( ) 24222 1ˆ e 11ˆρρρρ σρσρρ −=−−= −tCtC . (5.49)

Note que o termo (1 - ρ)4, que aparece na relação da variância assintótica em (5.49),

mostra o efeito de primeira ordem de ρ.

Whitt (1989a) assume, então, que ( )tLqρˆ em (5.48) converge em distribuição para um

RBM estacionário. Ele admite coeficientes de difusão e direção gerais (a, b) no limite; o

processo limite, necessariamente estacionário, é denotado por R(t; a, b). E para tratar a

covariância exige-se (é necessário) a convergência conjunta para dois pontos de tempo

quaisquer. Em particular é assumido que:

( ) ( )[ ] ( ) ( )[ ] ,;,,;ˆ,ˆ2121 batRbatRtLtL qq ⇒

ρρ (5.50)

em R2 quando ρ → 1 para todo t2 > t1 > 0.

E adicionalmente é assumido que:

( )[ ] ( )[ ]

( ) ( )[ ] ( ) ( )[ ]

( ) ( ) ( )[ ]∫∫∞∞

→→

==

=

==

001

2

1

21211

11

,,;,ba,0;RCov2ˆ2limˆlim

,,;,;ˆˆlim

,2,;ˆlim

dtbatRdttC

batRbatREtLtLE

abbatREtLE

qq

q

ρρρρ

ρ

ρ

σ

ρρ

ρ

(5.51)

para todo t2 > t1 > 0.

Segundo Whitt (1989a) a literatura de tráfego pesado contém uma abundância de

resultados suportando (5.50). E para propósitos práticos, segundo Whitt (1989a), é

suficiente provar (5.50) ou, de forma análoga, a convergência da distribuição

unidimensional, pois atualmente pode ser muito difícil provar (5.51).

Então Whitt (1989a) usa (5.42) para reescalar ( )tLqρˆ em (5.48) e obter o RBM canônico

como um limite. O processo ( ) ( ) 0, t,ˆ 2 ≥abtLba qρ converge para o RBM canônico.

As aproximações resultantes são:

165

( ){ } ( )( ) ( )( ){ }( )[ ] ( )[ ] ( )[ ] ( )( ) ( )[ ] ( )

( )[ ] ( )( )[ ] ( ) .120

e 121

,121,1;1ˆ11

,0:1,1;110;

2222

44324432

22

ρσ

ρσρσ

ρρρ

ρρ

ρ

ρρ

ρ

ρ

ρ

−≈

−=−≈

−=−−≈−=

≥−−−≈≥

abLE

abab

abtREabtLEtLE

tbtaRabttL

q

R

qq

q

(5.52)

Obtêm-se os tamanhos estimados da execução da simulação necessários

( ) ( )βεβε , e , ra tt substituindo (5.52) em (5.25) e (5.26), respectivamente. Da mesma

forma como Whitt (1989a) procedeu na análise estatística padrão, na qual a suposição

crítica foi a aproximação normal (5.21) preferivelmente que o limite de sustentação

(5.18), aqui a suposição crítica é a aproximação por difusão (5.52) preferivelmente que

os limites de sustentação (5.50) e (5.51).

5.3.1.6 - REFINAMENTOS M/M/1

A aproximação RBM de tráfego pesado é (5.52), mas baseado nos resultados M/G/1

para o tamanho esperado da fila, especialmente (5.35), é natural, segundo Whitt

(1989a), modificar (5.52) multiplicando ( )[ ] 22 por e ρσ ρρtLE q . Deste modo ele

propõe as seguintes aproximações refinadas:

( )[ ] ( ) ( ) ( )[ ]( ) ( ).

12

0 e

12 ,

120 2222

2

44

232

2

ρρ

σ

ρρσ

ρρ

ρ

ρ

ρρ

−≈

−≈

−≈

ab

LEab

abLE

qq (5.53)

Whitt (1989a) obtém (5.53) formalmente aplicando o limite de tráfego pesado duas

vezes, uma vez para o sistema de interesse e uma vez para o modelo; ele primeiro

aproxima a fila geral por RBM e então aproxima o RBM por M/M/1 usando (5.31).

A aproximação final para o tamanho necessário (requerido) estimado da execução da

simulação com os critérios da largura absoluta e da largura relativa são obtidos

substituindo (5.53) em (5.25) e (5.26), respectivamente. Esta é dada a seguir:

166

( )( )

( )( )

.1

8, e

1

2, 2222

22

424

22

23

ρερβε

ρε

ρβε ββ

−=

−=

a

bzt

a

zbt ra (5.54)

A primeira tarefa a ser executada na aplicação de (5.54) é identificar os dois parâmetros

a e b, e de forma particular, neste estudo, identificá-los para o modelo de fila GI/G/m

padrão.

Para a fila GI/G/m com tempo médio de serviço igual 1, a condição (5.50) é mantida,

segundo Whitt (1989a), para o processo tamanho da fila (contando os clientes em

serviço ou não) com os parâmetros ( ). e 22SA ccmbma +=−= . A qualidade da

aproximação RBM tipicamente melhora quando ρ cresce, ρ → 0. E para um dado ρ a

qualidade da aproximação tipicamente decresce quando m cresce. Desta forma, ele

obtém a partir de (5.53) as seguintes aproximações para o estacionário tamanho da fila

GI/G/m, não contando os clientes em serviço:

( )[ ] ( )( )

( )( ) ( )[ ]( )

( )( )

.1

20

e 12

,12

0 22

22

2

2

4

32222

222

ρρ

σ

ρρ

σρ

ρ

ρ

ρ

ρρ

+≈

+≈

−+

≈m

ccLEm

ccccLE SA

q

SASAq (5.55)

Note que (5.55) harmoniza-se com (5.35) para o caso especial M/G/1. E o tamanho final

necessário (requerido) estimado da execução da simulação da fila GI/G/m, com os

critérios da largura absoluta e da largura relativa, são obtidos substituindo (5.55) em

(5.25) e (5.26), respectivamente, ou substituindo ( ). e 22SA ccmbma +=−= em (5.54).

Esta aproximação final para a fila GI/G/m é dada a seguir:

( ) ( )( )

( ) ( )( )

.1

8, e

1

2, 222

22

22

42

22

2322

ρερβε

ρε

ρβε ββ

+=

+=

m

zcct

m

zcct SA

rSA

a (5.56)

Desta forma o período (ou tempo) total de execução TE da simulação será determinado

através de tr (ε, β) dado em (5.56). Tem-se, portanto que:

167

( )( )

.1

8222

22

22

ρερβ

+=

m

zccT SA

E (5.57)

5.3.1.7 - A QUALIDADE DA APROXIMAÇÃO NORMAL EM 5.21

Como já foi assinalado anteriormente, toda análise feita por Whitt (1989a) depende da

aproximação Normal em (5.21), que por sua vez depende do tamanho t da execução da

simulação. O tamanho t da execução da simulação não precisa ser somente

suficientemente grande de forma que a precisão estatística estimada baseada em (5.21)

seja adequada, mas precisa ser, também, suficientemente grande tal que (5.21) seja ela

mesma uma razoável aproximação. E esta idéia grosseira sobre o tamanho t da execução

da simulação, necessário para que (5.21) seja uma aproximação razoável, também segue

da aproximação RBM em (5.52).

Para se ter uma idéia aproximada sobre o tamanho da execução necessário para que

(5.21) seja válida, Whitt (1989a) faz a aproximação (5.52) e indaga se (5.21) é

aproximadamente válido para um dado intervalo de tamanho, quando o processo em

questão é o RBM canônico.

O escalamento de tempo em (5.52) implica que ( ) bta 22 1 ρ− precisa ser

suficientemente grande para que (5.21) seja uma boa aproximação para o processo do

sistema de filas, pois este é o tamanho da execução da simulação para o RBM canônico

aproximado. Isto significa que o tamanho t da execução da simulação para o processo

do sistema de filas como uma função de ρ precisa ser da ordem de ( )22 1 ρ−ab , para

que (5.21) seja uma aproximação razoável.

Para qualquer ρ fixado, (5.21) envolve um erro de aproximação para qualquer t finito e

é assintoticamente correta quando t → ∞. Contudo se for considerado t como uma

função de ρ e o duplo limite ( ) 1 e →∞→ ρρt , (5.21) não é, necessariamente,

assintoticamente correta. E dada a aproximação RBM em (5.52), vê-se do escalamento

168

de tempo que (5.21) é assintoticamente correto neste duplo limite se e somente se

( ) ( ) 1 quando 1 2 →∞→− ρρρ t .

A conseqüência prática desta análise é que o tamanho da execução da simulação não

deveria ser somente de ordem ( ) 221 ab ρ− , mas deveria ser ( ) 221 abTN ρ− para TN

convenientemente grande (Whitt, 1989a). Em particular, pode-se assumir que o

tamanho t da execução da simulação é escolhido para satisfazer ( ) 221 abTt N ρ−= ,

para algum TN fixado independente de a, b e ρ, e então considerar o problema de

estimação para o RBM canônico em [0, TN]. E se, particularmente, for usado ( )β,εrt em

(5.54) tem-se que o tamanho da execução da simulação para o RBM canônico é dado

por:

( ) 22

22β8

,β,ερ

ρεz

TT NN =≡ . (5.58)

O ρ 2 no denominador de (5.54) e (5.58) é resultado do refinamento (5.53), e para o

RBM pode-se fixar ρ = 1, pois o ρ 2 no denominador significa possíveis dificuldades se

a fila é de tráfego muito leve (Whitt, 1989a). Ele afirma que TN em (5.58) normalmente

é suficientemente grande.

169

CAPÍTULO 6

APRESENTAÇÃO DOS RESULTADOS

6.1 - INTRODUÇÃO

Neste capítulo apresentam-se os resultados e a análise: da verificação e validação do

modelo de simulação da fila GI/G/m; dos experimentos com o modelo de simulação da

fila GI/G/m; e das aproximações de filas Gm/Gm/2 por filas C2g/C2

g/2.

Na Seção 6.2, os resultados da verificação e validação do modelo de simulação são,

então, analisados na perspectiva de se determinar o quanto o modelo programado

(código) é uma implementação precisa e exata do modelo conceitual, e o quanto o

modelo conceitual é uma representação razoável do sistema de fila GI/G/m.

Na Seção 6.3 e 6.4, os resultados do experimento com o modelo de simulação das filas

Gm/Gm/2 e C2g/C2

g/2, respectivamente, são analisados na perspectiva de se fazer

inferências sobre o nível de confiança destes resultados. Esta análise consiste na

verificação da precisão relativa especificada de 2% (ε ≤ 0,02), para um nível de

confiança da ordem de 95%, das medidas de desempenho, em equilíbrio, das diferentes

configurações – cenários - replicações do sistema de filas GI/G/m previstos no projeto

de experimento. Para as filas em que os valores verdadeiros das características em

observação são conhecidos, também são analisados os resultados da aplicação de testes

estatísticos padrões, como o teste t de Student, e são averiguadas as probabilidades de

cobertura verificada nos dados de saída da simulação.

Na Seção 6.5, os resultados do experimento relativo às aproximações de filas Gm/Gm/2

por filas C2g/C2

g/2 são analisados. Em outras palavras, são analisadas as comparações

das estimativas oriundas das observações provenientes da execução de R replicações da

simulação de uma dada configuração da fila Gm/Gm/2 contra a correspondente

configuração da fila C2g/C2

g/2. Ou seja, são analisados os resultados dos testes

estatísticos, dos testes t de Student, utilizados para se obter inferências sobre estas

comparações. Nestas comparações foi levado em conta, é claro, a precisão estatística

170

verificada na análise das observações oriundas da simulação das filas comparadas, para

um nível de confiança de 95%.

6.2 - VERIFICAÇÃO E VALIDAÇÃO DO MODELO DE SIMULAÇÃO

Os valores de projeto para os experimentos da verificação e validação do modelo de

simulação são o período (ou tempo) de inicialização TI, o período de execução TE e o

período TN de execução necessário para que a aproximação normal utilizada para a

obtenção destes tempos seja ela mesma uma aproximação razoável. As equações

utilizadas para determinar estes valores são as seguintes:

a) A equação em (5.16) para o período de inicialização TI ;

b) A equação em (5.57) para o período de execução TE ;

c) A equação em (5.58) para o período de execução TN , com ρ = 1.

Estes valores foram projetados tendo em vista a obtenção de estimativas das medidas de

desempenho, em equilíbrio, das 8 configurações de filas GI/G/m previstas no projeto de

experimento para a verificação e validação do modelo de simulação com uma precisão

relativa especificada de 2% (ε ≤ 0,02) e um nível de confiança da ordem de 95%. A

Tabela 6.1 contém os valores iniciais de projeto dos tamanhos necessários das

execuções da simulação destas 8 configurações de filas GI/G/m, ao nível de micro-

replicação, macro-replicação e tamanho total da simulação. O tamanho total da

simulação foi dividido em 10 macro-replicações de tamanhos 10ET e cada uma destas

macro-replicações foi dividida em 10 micro-replicações independentes de tamanhos

1010ET

, onde cada uma destas micro-replicações independentes tem semente geradora,

própria, de números aleatórios e período de inicialização TI. O tamanho total da

simulação foi acrescido de 25% e de 50% e colhem-se dados para o tempo original TE,

para o tempo 1,25TE e para o tempo 1,5TE .

Como o modelo programado de simulação transforma 0≥I entradas em 5=J saídas é

importante salientar que o nível de significância β = 0,05 especificado para a análise

171

estatística foi repassado por 01,0505,0β J == , para cada saída { }5,4,3,2,1J ∈ , com base

na desigualdade de Bonferroni, ver seções 4.3.1 e 4.3.3. Isto implica que maiores

discrepâncias entre os valores esperados das medidas de performance e as estimativas

oriundas da simulação são aceitáveis e, conseqüentemente, mantém a probabilidade

total de erro do tipo 1 no experimento abaixo do valor β = 0,05.

Para 4 destes experimentos foi obtida, com os valores originalmente previstos, uma

precisão relativa menor ou igual a 2% ( 02,0≤ε ). Mas para os experimentos referentes

às filas E2 /H2b/5 e H2

b/E2 /5 a precisão relativa hlr para o processo Lq foi de 0,021372 e

0,020570, respectivamente e, para o processo Wq foi de 0,021261 e 0,020337,

respectivamente. Para estas filas foram necessários tamanhos totais de execução da

simulação 25% maiores que os originalmente previstos, para a obtenção da precisão

relativa de 2%. Estes tempos que originalmente eram de 1.500.600 segundos foram

revistos para 1.875.700 segundos. Os outros dois experimentos se referem às filas

D/D/1 e D/D/2, para as quais os resultados obtidos foram exatamente iguais aos valores

verdadeiros das características destas filas de interesse para este estudo.

TABELA 6.1 – TAMANHOS INICIAIS DOS EXPERIMENTOS PARA A

VERIFICAÇÃO E VALIDAÇÃO DO MODELO DE SIMULAÇÃO COM β = 0,05 E

ε = 0,02

TE Filas ρ TI TN

Total Macro Micro

20% 125 76.829 6.002.300 600.230 60.023 M/M/1

80% 2.000 76.829 6.002.300 600.230 60.023

20% 63 76.829 3.001.100 300.110 30.011 M/M/2

80% 1.000 76.829 3.001.100 300.110 30.011

E2 /H2b/5 80% 500 76.829 1.500.600 150.060 15.006

H2b/E2 /5 80% 500 76.829 1.500.600 150.060 15.006

D/D/1 80% 200 76.829 600.226 - -

D/D/2 80% 100 76.829 300.113 - -

172

A probabilidade de cobertura observada (Pco) foi da ordem de 100% para 5 destes

experimentos, com exceção daquele relativo à fila M/M/2 com taxa de utilização de

20%, para o qual a probabilidade de cobertura para a estimativa do número de

servidores ocupados (^

NSO ) foi de 90%. O tamanho da execução deste experimento foi

revisto, tomando-se um período total de simulação 25% maior que o originalmente

previsto, ou seja, o tempo que originalmente era de 3.001.100 segundos foi revisto para

3.751.400 segundos. E com este novo período total de execução da simulação obteve-se

100% de cobertura. A probabilidade de cobertura observada (Pco) não se aplica para aos

experimentos relativos às filas D/D/1 e D/D/2.

A obtenção de valores da ordem de 100% para as Pco, verificadas nos dados de saída da

simulação, se justifica devido:

• A uma adequada remoção do vício nestes experimentos, pois o Biasr é

praticamente desprezível, sendo que a ocorrência de maior magnitude se deu para

o processo Lq (número de clientes na fila) da fila M/M/2 com ρ = 80% e foi da

ordem de 0,007339, ou seja, de 0,7339%.

• Ao repasse do nível de significância β = 0,05 especificado para a análise

estatística por 01,0505,0β J == , para cada saída { }5,4,3,2,1J ∈ , com base na

desigualdade de Bonferroni, pois isto implica que maiores discrepâncias entre os

valores esperados das medidas de performance e as estimativas oriundas da

simulação são aceitáveis.

Os resultados dos 8 experimentos de simulação previstos para a verificação e validação

do modelo de simulação da fila GI/G/m em equilíbrio estão resumidos nas Tabelas 6.2 a

6.9. E para todas as estimativas das medidas de performance previstas no experimento,

pode-se notar observando o resultados resumidos nas Tabelas 6.2 a 6.7, que:

• As meias larguras relativas do intervalo de confiança foram inferiores a 0,02,

conforme a especificação de projeto para uma precisão relativa de 2% (ε ≤ 0,02);

173

• As probabilidades de cobertura observada, Pco , foram todas da ordem de 100% e

portanto superiores àquelas de 95% previstas no projeto de experimento;

• O teste de hipóteses para um nível de confiança de 95% não rejeitou a hipótese de

nulidade, H0, para todas estas estimativas e, dessa forma, não foram detectadas

evidências de que estas estimativas difiram dos valores verdadeiros destas

características;

• A Biasr em todos estes experimentos é praticamente desprezível, sendo que a

ocorrência de maior magnitude se deu para o processo Lq (número de clientes na

fila) da fila M/M/2 com ρ = 80% e foi da ordem de 0,007339, ou seja, de

0,7339%.

E observando as Tabelas 6.8 e 6.9 pode ser verificado que os experimentos relativos às

filas D/D/1 e D/D/2 com ρ = 80% produziram estimativas, das medidas de performance

destas filas, exatamente iguais aos valores verdadeiros destas características, obtidas de

um modelo analítico exato.

Considerando que o modelo programado da simulação produz estimativas

suficientemente precisas (a meia largura, hlr, do intervalo de confiança é menor ou igual

a 2%) e exatas (a Biasr é praticamente desprezível), que a probabilidade de cobertura

observada, Pco , é de 100% contra o valor projetado de 95% e, que estas estimativas

passaram pelo teste de hipóteses (não há evidências de que elas difiram do valor

verdadeiro destas características, em equilíbrio), pode-se concluir que o modelo

programado (código) para a simulação em equilíbrio de filas GI/G/m é uma

implementação suficientemente precisa e exata do modelo conceitual do sistema de filas

GI/G/m. Em outras palavras, para os valores de projeto da simulação em equilíbrio de

filas GI/G/m, o modelo programado (código) de simulação funciona como o pretendido.

As distribuições dos tempo entre chegadas e dos tempos de serviço da fila GI/G/m são

por hipótese variáveis aleatórias iid, portanto o gerador de números aleatórios usado

pelo modelo de simulação deve produzir números que estatisticamente assemelham-se à

variáveis aleatórias U (0, 1) iid. Pode ser notado na Tabela 6.11 que o gerador de

174

números aleatórios do pacote de software “Micro Saint” passou nos testes para a

uniformidade e independência, já que pelos resultados dos testes para a uniformidade e

para a independência do gerador, pode-se concluir que não existem evidências de que os

números gerados não sejam uniformemente distribuídos e independentes entre si.

Uma das suposições mais básicas para um sistema de filas GI/G/m são as relações ou

fórmulas de Little. Pode ser notado analisando a Tabela 6.10 que as estimativas destas

médias em equilíbrio, para T1ˆ =λ , satisfazem as relações WL ˆˆˆ λ= , qq WL ˆˆˆ λ= e

SNSO ˆˆ^λ= , dado que a maior diferença observada entre os resultados destas relações de

Little e o valor da estimativa obtida dos dados da simulação é da ordem de 0,0226%

para qq WL ˆˆˆ λ− referente à fila M/M/2 com ρ = 80%.

As medidas de performance de interesse para este estudo são consideradas para um

sistema em equilíbrio. Desta maneira o modelo de simulação de filas GI/G/m proposto

neste estudo tem como suposição a simulação de sistemas não terminantes ou em

equilíbrio. E pode ser notado nas Tabelas 6.2 a 6.9 que as estimativas das características

de interesse, obtidas dos dados de saída da simulação, estão dentro das especificações

de precisão e exatidão pretendidas para os experimentos propostos, o que já foi

analisado em parágrafos anteriores. Em outras palavras, os valores de projeto para o

período de inicialização TI, o período de execução TE (aqueles inicialmente previstos, ou

aumentados em 25% ou 50%), e o período TN necessário para que a aproximação

normal seja ela mesma uma boa aproximação foram suficientes para a obtenção de

estimativas para as medidas de performance de filas GI/G/m em equilíbrio. Quando o

período de execução TE inicialmente previsto não foi suficiente para produzir

estimativas conforme o especificado, os valores do período de execução TE aumentados

em 25% ou 50%, previstos no projeto de experimento, foram suficientes para produzir

as estimativas dentro das especificações desejadas.

Desta forma, considerando que as principais suposições do modelo conceitual de

simulação para o sistema de filas GI/G/m em equilíbrio foram satisfeitas, e que os dados

resultantes do modelo de simulação assemelham-se aos dados que seriam esperados do

175

sistema de filas GI/G/m, pode-se concluir que o modelo conceitual é uma representação

razoável do sistema de filas GI/G/m em equilíbrio. Estas suposições já comentadas

anteriormente são as seguintes: simulação de sistemas de filas GI/G/m em equilíbrio; os

processo de chegadas e de serviços são variáveis aleatórias iid; as relações de Little se

aplicam para a fila GI/G/m em equilíbrio.

TABELA 6.2 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA M/M/1 COM TAXA DE UTILIZAÇÃO DE 20%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 0,25 0,05 1,25 0,25 0,2 5 1

.Y 0,249881 0,049767 1,247766 0,248491 0,200114 4,994069 0,999276

)ˆ.(. .Yes 0,000371 0,000177 0,001306 0,000802 0,000254 0,006742 0,000873

Biasr 0,000477 0,004669 0,001787 0,006038 0,000569 0,001186 0,000724

hlr 0,004827 0,011571 0,003401 0,010490 0,004118 0,004387 0,002840

Pco 1,0 1,0 1,0 1,0 1,0 - -

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843 - -

|t0| 0,321190 1,317491 1,710708 1,881913 0,448658 - -

H0 aceita aceita aceita aceita aceita - -

176

TABELA 6.3 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA M/M/1 COM TAXA DE UTILIZAÇÃO DE 80%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 4 3,2 5 4 0,8 1,25 1

.Y 3,981471 3,181077 4,975465 3,975150 0,800396 1,249822 1,000322

)ˆ.(. .Yes 0,015756 0,015444 0,018066 0,017984 0,000378 0,000540 0,000387

Biasr 0,004632 0,005914 0,004907 0,006212 0,000496 0,000142 0,000322

hlr 0,012861 0,015778 0,011800 0,014703 0,001534 0,001404 0,001256

Pco 1,0 1,0 1,0 1,0 1,0 - -

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843 - -

|t0| 1,175979 1,225298 1,358030 1,381781 1,049395 - -

H0 aceita aceita aceita aceita aceita - -

TABELA 6.4 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA M/M/2 COM TAXA DE UTILIZAÇÃO DE 20%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 0,416667 0,016667 1,041667 0,041667 0,4 2,5 1

.Y 0,416837 0,016653 1,040848 0,041578 0,400184 2,497216 0,999270

)ˆ.(. .Yes 0,000626 0,000087 0,000953 0,000206 0,000593 0,003065 0,000914

Biasr 0,000410 0,000797 0,000786 0,002135 0,000459 0,001114 0,000730

hlr 0,004883 0,017064 0,002976 0,016139 0,004818 0,003989 0,002972

Pco 1,0 1,0 1,0 1,0 1,0 - -

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843 - -

|t0| 0,272645 0,151947 0,859203 0,430872 0,309745 - -

H0 aceita aceita aceita aceita aceita - -

177

TABELA 6.5 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA M/M/2 COM TAXA DE UTILIZAÇÃO DE 80%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 4,444444 2,844444 2,777778 1,777778 1,6 0,625 1

.Y 4,422141 2,823569 2,765073 1,765465 1,598575 0,625329 0,999609

)ˆ.(. .Yes 0,015998 0,015235 0,009411 0,009128 0,000995 0,000257 0,000524

Biasr 0,005018 0,007339 0,004574 0,006926 0,000891 0,000526 0,000391

hlr 0,011757 0,017535 0,011060 0,016802 0,002024 0,001335 0,001702

Pco 1,0 1,0 1,0 1,0 1,0 - -

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843 - -

|t0| 1,394149 1,370234 1,350058 1,348888 1,431397 - -

H0 aceita aceita aceita aceita aceita - -

TABELA 6.6 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA E2 /H2b/5 COM TAXA DE UTILIZAÇÃO DE 80%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 6,394 2,394 1,5985 0,5985 4,0 0,25 1

.Y 6,383158 2,382659 1,595573 0,595574 4,000487 0,249971 1,000000

)ˆ.(. .Yes 0,013164 0,012199 0,003345 0,003066 0,001413 0,000040 0,000372

Biasr 0,001696 0,004737 0,001831 0,004889 0,000122 0,000117 0,000000

hlr 0,006702 0,016639 0,006812 0,016728 0,001148 0,000521 0,001208

Pco 1,0 1,0 1,0 1,0 1,0 - -

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843 - -

|t0| 0,823640 0,929634 0,875054 0,954370 0,344472 - -

H0 aceita aceita aceita aceita aceita - -

178

TABELA 6.7 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA H2b/E2

b/5 COM TAXA DE UTILIZAÇÃO DE 80%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 7,039 3,039 1,75975 0,75975 4,0 0,25 1

.Y 7,060542 3,058376 1,763933 0,764013 4,002153 0,249850 0,999918

)ˆ.(. .Yes 0,018620 0,018020 0,004606 0,004488 0,001476 0,000094 0,000185

Biasr 0,003060 0,006376 0,002377 0,005611 0,000538 0,000598 0,000082

hlr 0,008570 0,019148 0,008485 0,019091 0,001198 0,001219 0,000602

Pco 1,0 1,0 1,0 1,0 1,0 - -

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843 - -

|t0| 1,156925 1,075276 0,908222 0,949896 1,458964 - -

H0 aceita aceita aceita aceita aceita - -

TABELA 6.8 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA D/D/1 COM TAXA DE UTILIZAÇÃO DE 80%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 0,8 0 1 0 0,8 1,25 1

.Y 0,8 0 1 0 0,8 1,25 1

TABELA 6.9 – VALORES VERDADEIROS E RESULTADOS DA SIMULAÇÃO

DA FILA D/D/2 COM TAXA DE UTILIZAÇÃO DE 80%

Medidas L(t) Lq(t) Rn Dn NSO A(t) B(t)

E[Y] 1,6 0 1 0 1,6 0,625 1

.Y 1,6 0 1 0 1,6 0,625 1

179

TABELA 6.10 - APLICAÇÕES DAS RELAÇÕES DE LITLLE PARA OS

RESULTADOS DA SIMULAÇÃO DOS EXPERIMENTOS PARA VERIFICAÇÃO E

VALIDAÇÃO

Filas ρ T1ˆ =λ Wλ WL ˆˆˆ λ− qWλ qq WL ˆˆˆ λ− Sλ SNSO ˆˆ^λ−

% % % 20% 0,200238 0,249850 0,0125 0,049757 0,0190 0,200093 0,0106

M/M/1 80% 0,800114 3,980939 0,0134 3,180573 0,0158 0,800371 0,0032

20% 0,400446 0,416803 0,0082 0,016650 0,0226 0,400154 0,0075 M/M/2

80% 1,599159 4,421791 0,0079 2,823260 0,0109 1,598534 0,0026

E2 /H2b/5 80% 4,000469 6,383041 0,0018 2,382576 0,0035 4,000470 0,0004

H2b/E2/5 80% 4,002395 7,059956 0,0083 3,057883 0,0161 4,002065 0,0022

TABELA 6.11 - TESTES DO GERADOR DE NÚMEROS ALEATÓRIOS DO

SOFTWARE DE SIMULAÇÃO “MICRO SAINT”

Designação Teste de uniformidade

(Kolmogorov-Smirnov)

Teste de independência

(execuções acima e abaixo da média)

Amostra 3.191 observações 100 observações

Estatística D = 0,012182 Z0 = -1,102023

Valor crítico Dβ = 0,024 Zβ/2 = 1,959961

Teste Rejeitar H0 se D > Dβ Rejeitar H0 se | Z0 | > Zβ/2

Conclusão Não rejeição de H0 Não rejeição de H0

6.3 - ANÁLISE DOS RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2

Os valores de projeto para os experimentos de simulação da fila Gm/Gm/2 são o

período (ou tempo) de inicialização TI, o período (ou tempo) de execução TE e o período

(ou tempo) TN de execução necessário para que a aproximação normal utilizada para a

obtenção destes tempos seja ela mesma uma aproximação razoável. Estes valores foram

projetados tendo em vista a obtenção de estimativas das medidas de desempenho, em

equilíbrio, das 8 configurações de filas Gm/Gm/2 previstas no projeto de experimento

180

do modelo de simulação com uma precisão relativa especificada de 2% (ε ≤ 0,02) e um

nível de confiança da ordem de 95%. A Tabela 6.12 contém os valores iniciais de

projeto dos tamanhos necessários das execuções da simulação destas 8 configurações

de filas Gm/Gm/2, ao nível de replicações e tamanho total da simulação. O tamanho

total da simulação foi dividido em 10 replicações. O tempo de execução da simulação

foi acrescido de 25% e de 50% e colheram-se dados para o tempo original TE, para o

tempo 1,25TE e para o tempo 1,5TE .

Para 4 destes experimentos foi obtida uma precisão relativa menor ou igual a 2%

( 02,0≤ε ) para um nível de confiança da ordem de 95%, com os valores originalmente

previstos. Mas para os outros 4 experimentos foram necessários tamanhos totais de

execução da simulação maiores que os originalmente previstos, para a obtenção da

precisão relativa de 2%. Para a fila Gm/Gm/2 com 5,0 e 5,0 22 == ST cc e a fila

Gm/Gm/2 com 1 e 5,0 22 == ST cc foram necessários tempos totais de execução da

simulação 50% maiores que os valores inicialmente previstos, veja os valores na Tabela

6.13. E para a fila Gm/Gm/2 com 2 e 5,0 22 == ST cc e a fila Gm/Gm/2 com

2 e 2 22 == ST cc foram necessários tempos totais de execução da simulação 25%

maiores que os valores inicialmente previstos, veja os valores na Tabela 6.13.

Os resultados dos 8 experimentos de simulação da fila Gm/Gm/2 em equilíbrio estão

resumidos nas Tabelas 6.14 a 6.21. Os valores do período (ou tempo) de inicialização

TI, o período (ou tempo) de execução TE e o período (ou tempo) TN de execução

necessário para que a aproximação normal utilizada para a obtenção destes tempos seja

ela mesma uma aproximação razoável, utilizados na simulação destas filas para a

obtenção destes resultados, estão resumidos na Tabela 6.13.

Para todas as estimativas das medidas de performance previstas no experimento, pode-

se notar, observando o resultados resumidos nas Tabelas 6.2 a 6.7, que as meias larguras

relativas do intervalo de confiança foram inferiores a 0,02, conforme a especificação de

projeto para uma precisão relativa de 2% (ε ≤ 0,02) e um nível de confiança da ordem

de 95%.

181

TABELA 6.12 – TAMANHOS INICIAIS DOS EXPERIMENTOS DE SIMULAÇÃO

DE FILAS Gm/Gm/2 COM ρ = 75%, β = 0,05 E ε = 0,02

TE 2Tc 2

Sc TI TN Total Replicações

0,5 0,5 320 76.829 1.092.680 109.268

0,5 1 480 76.829 1.639.020 163.902

0,5 2 800 76.829 2.731.700 273.170

1 0,5 480 76.829 1.639.020 163.902

1 2 960 76.829 3.277.040 327.704

2 0,5 800 76.829 2.731.700 273.170

2 1 960 76.829 3.278.040 327.804

2 2 1280 76.829 4.370.710 437.071

TABELA 6.13 – TAMANHOS NECESSÁRIOS (FINAIS) DOS EXPERIMENTOS DE

SIMULAÇÃO DE FILAS Gm/Gm/2 COM ρ = 75%, β = 0,05 E ε = 0,02

TE 2Tc 2

Sc TI TN Total Replicações

0,5 0,5 320 76.829 1.639.020 163.902

0,5 1 480 76.829 2.458.530 245.853

0,5 2 800 76.829 3.414.620 341.462

1 0,5 480 76.829 1.639.020 163.902

1 2 960 76.829 3.277.040 327.704

2 0,5 800 76.829 2.731.700 273.170

2 1 960 76.829 3.278.040 327.804

2 2 1280 76.829 5.463.390 546.339

182

TABELA 6.14 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

5,0 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 2,351655 0,852865 1,568903 0,568987 1,498786

)ˆ.(. .Yes 0,004758 0,004100 0,002669 0,002553 0,000806

hlr 0,006575 0,015622 0,005528 0,014580 0,001748

TABELA 6.15 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

1 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 2,801454 1,302509 1,868317 0,868666 1,498975

)ˆ.(. .Yes 0,008797 0,007987 0,005483 0,005136 0,000981

hlr 0,010205 0,019929 0,009538 0,019216 0,002127

TABELA 6.16 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

2 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 3,730143 2,229307 2,484220 1,484907 1,501229

)ˆ.(. .Yes 0,012126 0,011013 0,007690 0,007104 0,001194

hlr 0,010564 0,016055 0,010060 0,015548 0,002584

183

TABELA 6.17 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

5,0 E 1 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 2,972005 1,470757 1,979391 0,979544 1,501253

)ˆ.(. .Yes 0,007822 0,007357 0,005222 0,004914 0,000911

hlr 0,008554 0,016257 0,008574 0,016304 0,001971

TABELA 6.18 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

2 E 1 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 4,354340 2,854450 2,900414 1,901683 1,500339

)ˆ.(. .Yes 0,017654 0,016858 0,011160 0,010861 0,001279

hlr 0,013176 0,019194 0,012505 0,018561 0,002771

TABELA 6.19 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

5,0 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 4,243076 2,742385 2,826166 1,826612 1,500694

)ˆ.(. .Yes 0,014592 0,014457 0,010224 0,009952 0,000612

hlr 0,011176 0,017133 0,011756 0,017706 0,001325

184

TABELA 6.20 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

1 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 4,722919 3,221298 3,141654 2,142902 1,501822

)ˆ.(. .Yes 0,014447 0,013452 0,007931 0,007800 0,001280

hlr 0,009941 0,013571 0,008204 0,011829 0,002770

TABELA 6.21 –RESULTADOS DA SIMULAÇÃO DA FILA Gm/Gm/2 COM

2 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 5,684333 4,185544 3,786023 2,789088 1,500329

)ˆ.(. .Yes 0,020837 0,020271 0,013374 0,013150 0,000987

hlr 0,011913 0,015740 0,011480 0,015323 0,002138

6.4 - ANÁLISE DOS RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2

Os valores de projeto para os experimentos de simulação da fila C2g/C2

g/2 são o período

(ou tempo) de inicialização TI, o período (ou tempo) de execução TE e o período (ou

tempo) TN de execução necessário para que a aproximação normal utilizada para a

obtenção destes tempos seja ela mesma uma aproximação razoável. Estes valores foram

projetados tendo em vista a obtenção de estimativas das medidas de desempenho, em

equilíbrio, das 8 configurações de filas C2g/C2

g/2 previstas no projeto de experimento

do modelo de simulação com uma precisão relativa especificada de 2% (ε ≤ 0,02) e um

nível de confiança da ordem de 95%. A Tabela 6.22 contém os valores iniciais de

projeto dos tamanhos necessários das execuções da simulação destas 8 configurações

de filas C2g/C2

g/2, ao nível de replicações e tamanho total da simulação. O tamanho total

da simulação foi dividido em 10 replicações. O tempo de execução da simulação foi

185

acrescido de 25% e de 50% e colheu-se dados para o tempo original TE, para o tempo

1,25TE e para o tempo 1,5TE .

Para 6 destes experimentos foi obtida uma precisão relativa menor ou igual a 2%

( 02,0≤ε ) para um nível de confiança da ordem de 95%, com os valores originalmente

previstos. Mas para os outros 2 experimentos foram necessários tamanhos totais de

execução da simulação maiores que os originalmente previstos, para a obtenção da

precisão relativa de 2%. Para a fila C2g/C2

g/2 com 5,0 e 5,0 22 == ST cc foi necessário um

tempo total de execução da simulação 25% maior que o valor inicialmente previsto, ver

Tabela 6.23. E para a fila C2g/C2

g/2 com 5,0 e 1 22 == ST cc foi necessário um tempo total

de execução da simulação 50% maior que o valor inicialmente previsto, ver Tabela

6.23.

Os resultados dos 8 experimentos de simulação da fila C2g/C2

g/2 em equilíbrio estão

resumidos nas Tabelas 6.24 a 6.31. Os valores do período (ou tempo) de inicialização

TI, o período (ou tempo) de execução TE e o período (ou tempo) TN de execução

necessário para que a aproximação normal utilizada para a obtenção destes tempos seja

ela mesma uma aproximação razoável, utilizados na simulação destas filas para a

obtenção destes resultados, estão resumidos na Tabela 6.23.

Para todas as estimativas das medidas de performance previstas no experimento, pode-

se notar, observando o resultados resumidos nas Tabelas 6.2 a 6.7, que as meias larguras

relativas do intervalo de confiança foram inferiores a 0,02, conforme a especificação de

projeto para uma precisão relativa de 2% (ε ≤ 0,02) e um nível de confiança da ordem

de 95%.

186

TABELA 6.22 – TAMANHOS INICIAIS DOS EXPERIMENTOS DE SIMULAÇÃO

DE FILAS C2g/C2

g/2 COM ρ = 75%, β = 0,05 E ε = 0,02

TE 2Tc 2

Sc TI TN Total Replicações

0,5 0,5 320 76.829 1.092.680 109.268

0,5 1 480 76.829 1.639.020 163.902

0,5 2 800 76.829 2.731.700 273.170

1 0,5 480 76.829 1.639.020 163.902

1 2 960 76.829 3.277.040 327.704

2 0,5 800 76.829 2.731.700 273.170

2 1 960 76.829 3.278.040 327.804

2 2 1280 76.829 4.370.710 437.071

TABELA 6.23 – TAMANHOS NECESSÁRIOS (FINAIS) DOS EXPERIMENTOS DE

SIMULAÇÃO DE FILAS C2g/C2

g/2 COM ρ = 75%, β = 0,05 E ε = 0,02

TE 2Tc 2

Sc TI TN Total Replicações

0,5 0,5 320 76.829 1.365.850 136.585

0,5 1 480 76.829 1.639.020 163.902

0,5 2 800 76.829 2.731.700 273.170

1 0,5 480 76.829 2.458.530 245.853

1 2 960 76.829 3.277.040 327.704

2 0,5 800 76.829 2.731.700 273.170

2 1 960 76.829 3.278.040 327.804

2 2 1280 76.829 4.370.710 437.071

187

TABELA 6.24 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

5,0 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 2,359004 0,857706 1,572130 0,571602 1,501309

)ˆ.(. .Yes 0,004836 0,004163 0,002923 0,002683 0,001083

hlr 0,006662 0,015772 0,006043 0,015256 0,002345

TABELA 6.25 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

1 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 2,822637 1,320385 1,881387 0,880088 1,502259

)ˆ.(. .Yes 0,008474 0,007221 0,005291 0,004649 0,001459

hlr 0,009756 0,017773 0,009140 0,017166 0,003157

TABELA 6.26 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

2 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 3,702472 2,203952 2,469099 1,469823 1,498635

)ˆ.(. .Yes 0,012625 0,011848 0,008139 0,007756 0,001282

hlr 0,011081 0,017470 0,010712 0,017149 0,002780

188

TABELA 6.27 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

5,0 E 1 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 2,947676 1,449253 1,966438 0,966811 1,498431

)ˆ.(. .Yes 0,009677 0,008492 0,005753 0,005316 0,001273

hlr 0,010668 0,019044 0,009508 0,017869 0,002760

TABELA 6.28 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

2 E 1 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 4,348587 2,849395 2,898197 1,899213 1,499520

)ˆ.(. .Yes 0,012925 0,012579 0,008882 0,008560 0,000811

hlr 0,009659 0,014347 0,009960 0,014647 0,001757

TABELA 6.29 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

5,0 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 4,220540 2,721087 2,813793 1,814148 1,499437

)ˆ.(. .Yes 0,014700 0,014178 0,009026 0,008963 0,000805

hlr 0,011319 0,016933 0,010425 0,016057 0,001744

189

TABELA 6.30 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

1 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 4,713201 3,211954 3,140044 2,139997 1,501417

)ˆ.(. .Yes 0,008336 0,007895 0,005472 0,005181 0,000733

hlr 0,005748 0,007988 0,005663 0,007867 0,001588

TABELA 6.31 –RESULTADOS DA SIMULAÇÃO DA FILA C2g/C2

g/2 COM

2 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

.Y 5,646583 4,147632 3,761805 2,763830 1,499903

)ˆ.(. .Yes 0,011788 0,011686 0,007752 0,007775 0,000906

hlr 0,006784 0,009156 0,006697 0,009142 0,001963

6.5 – ANÁLISE DOS RESULTADOS DA APROXIMAÇÃO DA FILA Gm/Gm/2

PELA FILA C2g/C2

g/2

Os valores do tempo total de execução, TE , considerados para a verificação da

aproximação das filas Gm/Gm/2 por filas C2g/C2

g/2, previstas neste trabalho, foram

determinados levando-se em consideração os valores do tempo total de execução, TE ,

para os quais obtiveram-se uma precisão relativa menor ou igual a 2% (ε ≤ 0,02) para

um nível de confiança da ordem de 95%, tanto para a fila Gm/Gm/2 quanto para a fila

C2g/C2

g/2 correspondente. Estes valores estão resumidos na Tabela 6.32.

Para a verificação destas aproximações foram consideradas as estimativas produzidas

pelas 10 replicações da simulação de uma dada fila Gm/Gm/2 contra outras produzidas

pelas 10 replicações da fila C2g/C2

g/2 correspondente. Foram determinadas as

diferenças, par-a-par, para as 10 replicações, de cada uma das 5 medidas de

190

performance consideradas neste estudo. Depois calculou-se a diferença média e o erro

padrão para cada uma das 5 medidas de performance. E, finalmente, estas estimativas da

diferença esperada entre os processos subjacentes, correspondentes, das filas Gm/Gm/2

e C2g/C2

g/2 foram submetidas a um teste de hipóteses para verificar a hipótese, H0 , de

que não existe diferença entre as amostras representativas das distribuições destes

processos, ou seja, de que estas amostras foram obtidas da mesma distribuição. Os

resultados destes testes estão resumidos nas Tabelas 6.33 a 6.40.

Observando os resultados, resumidos nas Tabelas 6.33 a 6.40, nota-se que houve falha

em rejeitar a hipótese de nulidade, H0 , para todas as comparações efetuadas entre os

processos subjacentes, correspondentes, das filas Gm/Gm/2 e C2g/C2

g/2. Desta forma,

pode-se concluir que não há evidências da existência de diferenças entre as amostras

representativas das distribuições destes processos, ou seja, não há evidências de que

estas amostras não foram obtidas da mesma distribuição.

Pode se notar que a maior diferença média relativa ocorreu para o processo Lq(t)

relativo às filas Gm/Gm/2 e C2g/C2

g/2 com 5,0 E 1 22 == ST cc e foi da ordem de

0,020351, ver a Tabela 6.36. E como estes experimentos abrangeram uma faixa de

coeficientes de variação de 0,5 a 2, pode-se concluir que a distribuição de Cox de ordem

2 com normalização gamma são aproximações muito boas para as distribuições dos

tempos entre chegadas e de serviço de filas Gm/Gm/2.

191

TABELA 6.32 – TAMANHOS DOS EXPERIMENTOS DE SIMULAÇÃO

UTILIZADOS NA VERIFICAÇÃO DA APROXIMAÇÃO DE FILAS Gm/Gm/2 POR

FILAS C2g/C2

g/2 COM ρ = 75%, β = 0,05 E ε = 0,02

TE 2Tc 2

Sc TI TN Total Replicações

0,5 0,5 320 76.829 1.639.020 163.902

0,5 1 480 76.829 2.458.530 245.853

0,5 2 800 76.829 3.414.620 341.462

1 0,5 480 76.829 2.458.530 245.853

1 2 960 76.829 3.277.040 327.704

2 0,5 800 76.829 2.731.700 273.170

2 1 960 76.829 3.278.040 327.804

2 2 1280 76.829 5.463.390 546.339

TABELA 6.33 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2 COM 5,0 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d -0,008168 -0,005670 -0,003659 -0,003126 -0,002511

2//ˆˆ

GmGmYd -0,003487 -0,006743 -0,002346 -0,005585 -0,001671

)ˆ.(. .des 0,006011 0,005399 0,003336 0,003361 0,000960

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 1,358770 1,050131 1,096770 0,930023 2,615806

H0 aceita aceita aceita aceita aceita

192

TABELA 6.34 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2 COM 1 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d -0,008553 -0,006346 -0,004657 -0,003746 -0,002215

2//ˆˆ

GmGmYd -0,003079 -0,004941 -0,002515 -0,004375 -0,001483

)ˆ.(. .des 0,010612 0,009336 0,006783 0,006085 0,001513

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 0,806015 0,679677 0,686627 0,615688 1,463873

H0 aceita aceita aceita aceita aceita

TABELA 6.35 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2 COM 2 E 5,0 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d 0,027227 0,024740 0,015107 0,014803 0,002603

2//ˆˆ

GmGmYd 0,007349 0,011242 0,006126 0,010106 0,001730

)ˆ.(. .des 0,017388 0,016163 0,011013 0,010426 0,001499

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 1,565829 1,530650 1,371658 1,419897 1,736351

H0 aceita aceita aceita aceita aceita

193

TABELA 6.36 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2 COM 5,0 E 1 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d 0,032412 0,028976 0,018341 0,017714 0,003431

2//ˆˆ

GmGmYd 0,011096 0,020351 0,009426 0,018676 0,002292

)ˆ.(. .des 0,010472 0,009442 0,006361 0,006007 0,001397

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 3,095178 3,068930 2,883188 2,949024 2,455381

H0 aceita aceita aceita aceita aceita

TABELA 6.37 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2 COM 2 E 1 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d 0,005753 0,005056 0,002217 0,002470 0,000819

2//ˆˆ

GmGmYd 0,001350 0,001827 0,000780 0,001338 0,000548

)ˆ.(. .des 0,020125 0,019502 0,013529 0,013100 0,001356

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 0,285868 0,259255 0,163866 0,188559 0,604099

H0 aceita aceita aceita aceita aceita

194

TABELA 6.38 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2COM 5,0 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d 0,022536 0,021298 0,012374 0,012464 0,001257

2//ˆˆ

GmGmYd 0,005375 0,007898 0,004424 0,006928 0,000840

)ˆ.(. .des 0,023829 0,023435 0,015708 0,015519 0,000977

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 0,945721 0,908787 0,787700 0,803112 1,286343

H0 aceita aceita aceita aceita aceita

TABELA 6.39 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2 COM 1 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d 0,009718 0,009344 0,001610 0,002905 0,000405

2//ˆˆ

GmGmYd 0,002077 0,002942 0,000517 0,001374 0,000270

)ˆ.(. .des 0,011535 0,010387 0,006038 0,005786 0,001275

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 0,842544 0,899557 0,266707 0,502049 0,317547

H0 aceita aceita aceita aceita aceita

195

TABELA 6.40 – RESULTADO DA VERIFICAÇÃO DA APROXIMAÇÃO DA FILA

Gm/Gm/2 PELA FILA C2g/C2

g/2 COM 2 E 2 22 == ST cc

Medidas L(t) Lq(t) Rn Dn NSO

d 0,034268 0,033888 0,021713 0,022085 0,000477

2//ˆˆ

GmGmYd 0,006098 0,008220 0,005801 0,008040 0,000318

)ˆ.(. .des 0,017661 0,017475 0,012261 0,012045 0,000922

tR-1, b/2 3,249843 3,249843 3,249843 3,249843 3,249843

|t0| 1,940306 1,939216 1,770836 1,833466 0,517614

H0 aceita aceita aceita aceita aceita

197

CAPÍTULO 7

CONCLUSÕES E COMENTÁRIOS

Este trabalho trata da obtenção de medidas de desempenho de filas GI/G/m através de

simulação. Também é tratado a verificação de aproximações de filas GI/G/m por filas

Ph/Ph/m.

Os modelos de simulação por computadores, apesar de exigirem muitos recursos de

“hardware” (memória de trabalho e de armazenamento de massa, velocidade de

processamento da CPU) e consumirem muito tempo na execução das rodadas da

simulação, permitem considerações mais próximas das situações reais. E por esta razão

eles podem ser bastante úteis na checagem de suposições, necessárias, num modelo

analítico, e na checagem dos resultados do modelo analítico.

As estimativas obtidas através de simulação podem ser mais confiáveis (exatas e

precisas) que aquelas obtidas através de aproximações analíticas, desde que sejam

obtidas através de uma metodologia apropriada de análise dos dados de saída da

simulação.

A metodologia de análise dos dados de saída da simulação já está formalizada e pode

ser encontrada em manuais dedicados à simulação, por exemplo: Banks e Carson II

(1984) e Law e Kelton (1982).

Desta forma, a atenção se volta para a verificação e validação do modelo de simulação e

para a obtenção dos dados de saída da simulação que satisfaçam os requisitos

especificados. Em outras palavras, o problema se resume à especificação do projeto de

experimento que possa produzir dados de saídas da simulação que satisfaçam os

requisitos especificados e à verificação e validação do modelo de simulação.

A especificação do projeto de experimento da simulação se refere à estratégia de

simulação e aos valores do período de inicialização TI e do período de execução da

simulação TE. A estratégia de simulação adotada neste estudo foi a de replicações

independentes com o descarte de uma porção inicial dos dados de cada replicação.

198

Foram considerados 3 tamanhos de execução da simulação, a saber, os períodos TE ,

1,25TE e 1,5TE . Os valores do período de inicialização TI e do período de execução da

simulação TE foram determinados através das seguintes equações:

a) A equação em (5.16) para o período de inicialização TI ;

b) A equação em (5.57) para o período de execução TE ;

c) A equação em (5.58) para o período de execução TN , com ρ = 1.

É importante salientar que as equações para a determinação dos períodos de execução

TE e de inicialização TI levam em consideração a taxa de utilização do sistema, ρ , e os

quadrados dos coeficientes de variação dos processos de chegada e de serviço da fila

GI/G/m. O tamanho da execução TE e da inicialização TI são aproximadamente

proporcionais a ( )211 ρ− chegadas e a 22ST cc + . Observa-se, também, que o tamanho

da execução TE é proporcional a 21 ε , onde ε é a precisão estatística especificada.

A estratégia de simulação por replicações independentes, com os períodos de execução

TE , 1,25TE e 1,5TE e período de inicialização TI, se mostrou adequada para a obtenção

das estimativas das medidas de performance das filas GI/G/m previstas nos

experimentos deste estudo, com a precisão especificada de 2% (ε = 0,02) para um nível

de confiança de 95%. Foram consideradas as filas D/D/m, M/M/m, E2/H2b/5 e H2

b/E2/5

simuladas para os experimentos de verificação e validação do modelo de simulação e,

para as filas Gm/Gm/m e C2g/C2

g/m simuladas para a verificação das aproximações de

filas GI/G/m por filas Ph/Ph/m.

Para todos os experimentos de verificação e validação do modelo simulado, o período

de inicialização TI foi suficiente para uma adequada remoção do vício relativo; o vício

foi sempre menor que 1% (ou 0,01) para a filas M/M/m, E2/H2b/5 e H2

b/E2/5 e, igual a

zero para as filas D/D/m.

Para cinco dos oito experimentos de verificação e validação do modelo simulado, o

tempo de execução TE foi suficiente, necessitando apenas para três experimentos um

199

tempo de execução de 1,25TE ou 1,5TE . Para as filas D/D/m, as estimativas das medidas

de performance obtidas foram exatamente aquelas obtidas através de modelos

analíticos. E, para a filas M/M/m, E2/H2b/5 e H2

b/E2/5 com um e dois servidores e taxas

de utilização do sistema de 20% e 80% (tráfego leve e tráfego pesado), foram obtidos

resultados com uma precisão relativa menor ou igual 2% (ε = 0,02). Para as filas

M/M/m, E2/H2b/5 e H2

b/E2/5, a probabilidade de cobertura observada – a probabilidade

de que o intervalo de confiança contenha o valor verdadeiro da medida de performance

em consideração – foi de 100% para todas as medidas de performance consideradas.

Para os oito experimentos com as filas Gm/Gm/2 e os oito experimentos com as filas

C2g/C2

g/2, todas com quadrados dos coeficientes de variação dos processos de chegadas

e de serviços pertencentes ao intervalo [0,5; 2], foram obtidos resultados com uma

precisão relativa menor ou igual 2% (ε = 0,02). Para a metade dos experimentos com as

filas Gm/Gm/2 e para 6 dos experimentos com as filas C2g/C2

g/2, o tempo de execução

TE foi suficiente, para os outros experimentos foram necessários tempos de execução da

ordem de 1,25TE ou 1,5TE .

Desta forma, a Equação (5.16) para a determinação do período de inicialização se

mostrou adequada para a remoção do vício. E a Equação (5.57) quando multiplicada por

um fator de no máximo 1,5 se mostrou suficiente para a obtenção de estimativas dentro

de uma precisão estatística relativa especificada das configurações de filas GI/G/2

previstas nos experimentos. Mas parece razoável que fossem executados experimentos

com outras configurações de filas GI/G/m, com processos de chegadas e ou de serviços

distribuídos segundo a distribuição de Weibull, por exemplo: W/W/m, Gm/W/m,

W/Gm/m.

Observando a equação (5.57), nota-se que o período de execução TE é crescente para

15,0 <≤ ρ e decrescente para 5,00 ≤≤ ρ . Consequentemente o período de execução TE

é o mesmo para ρ = 0,1 e ρ = 0,9. Questiona-se, então, se a equação em (5.57) é

adequada para a determinação do período de execução TE para 5,00 ≤≤ ρ , pois estes

períodos de execução TE parecem longos demais para esta faixa de variação de ρ. Não

200

seria suficiente um período de execução TE da ordem daquele para ρ = 0,5 ou menor do

que este período para a faixa de taxas de utilização do sistema 5,00 ≤≤ ρ .

Os experimentos para verificação de aproximações de filas GI/G/m por filas Ph/Ph/m

indicam que filas Gm/Gm/m são muito bem aproximadas por filas C2g/C2

g/m, mas será

que, também, seriam bem aproximadas por filas C2b/C2

b/m, ou por outras configurações

de filas Ph/Ph/m, com distribuições dos tempos entre chegadas e de serviço dadas por

Ek-1, k , H2b ou H2

g? E as filas W/W/m, Gm/W/m e W/Gm/m seriam bem aproximadas por

filas C2g/C2

g/m,ou por filas C2b/C2

b/m, ou por outras configurações simples de filas

Ph/Ph/m?

Desta forma deixa-se como sugestão para outras investigações as seguintes questões:

• Será que o tamanho da execução de simulações de 1,5TE é adequado para

configurações de filas GI/G/m, com processos de chegadas e ou de serviços

distribuídos segundo a distribuição de Weibull, por exemplo: W/W/m, Gm/W/m,

W/Gm/m?

• Dever-se-ia investigar alguma mudança na equação (5.57) que produzisse tempos

de execuções adequados para a faixa de taxas de utilização do sistema

5,00 ≤≤ ρ ? Pois aqueles produzidos pela equação (5.57) parecem

excessivamente longos.

• Dever-se-ia investigar se filas Gm/Gm/m seriam bem aproximadas por filas

C2b/C2

b/m, ou por outras configurações de filas Ph/Ph/m, com distribuições dos

tempos entre chegadas e de serviço dadas por Ek-1, k , H2b ou H2

g?

• Dever-se-ia investigar se filas W/W/m, Gm/W/m e W/Gm/m seriam bem

aproximadas por filas C2g/C2

g/m, ou por filas C2b/C2

b/m, ou por outras

configurações simples de filas Ph/Ph/m?

201

REFERÊNCIAS BIBLIOGRÁFICAS

Allen, A. O. Probability, statistics, and queueing theory with coputer science

applications. San Diego: Academic Press Ic., 1990. 740 p.

Banks, J.; Carson II, J. S. Discrete-event system simulation. Englewood Cliffs:

Prentice-Hall, 1984. 514 p.

Banks, J.; Carson II, J. S.; Goldsman, D. Computer simulation. In: Wadsworth Jr., H.

M. ed. Handbook of statistical methods for engineers and scientists. New

York: McGraw-Hill, 1990, Cap.12, p. 12.1-12.36.

Bobbio, A.; Cumani, A. ML estimation of parameters of a PH distribution in triangular

canonical form. In: Balbo, G.; Serazzi, G. ed. Computer performance

evaluation. Amsterdam: Elsevier Science Publishers B.V., 1992, p. 33-45.

Bobbio, A.; Telek, M. Parameter estimation of phase type distributions. Torino:

Instituto Eletrotecnico Nazionale Galileo Ferraris, 1992. 51 p. (R.T. 423/1992).

Carson II, J. S. Verification and validation: a consultant’s perspective. In: Winter

Simulation Conference, Washington, 1989. Proceedings. New York: Heidelberg,

P.; MacNair, E. A.; Musselman, K. J. ed., 1989, p. 552-558.

Carvalho, S.V. Modèles stochastiques appliqués a l’optimisation de la performance

et de la sûrete de fonctionnement des systèmes de production. Toulouse. Tese

(Doutorado em Automática e Engenharia de Produção) - Université Paul Sabatier,

1991.

Delaney, C. P. T. P. J.; Rossetti, M. D. Control of initialization bias in queueing

simulations using queueing approximations. In: Winter Simulation Conference,

Arlington, 1995. Proceedings. New York: Alexpoulos, C.; Kang, K.; Lilegdon,

W.R.; Goldsman, D. ed., 1995, p. 322-329.

Delaney, C. P. T. P. J.; Rossetti, M. D.; White Jr., K. P. Generalizing the half-width

minimization heuristic for mitigating initialization bias. In: IEEE International

202

Conference on Systems, Man and Cybernetics: Intelligent Systems for the 21st

Century, Vancouver, 1995. Proccedings. Piscataway: IEE, 1995, v. 1, p. 212-216.

Flannery, B.P.; Press, W.H.; Teukolsky, S.A. ; Vetterling, W.T. Special Functions. In:

Numerical recipies in C – the art of scientific computing. New York:

Cambridge University Press, 1990, Cap. 6, p. 213-216.

Gottfried, B. S. Elements of stochastic process simulation. Englewood Cliffs:

Prentice-Hall, 1984. 300 p.

Gross, D; Harris, C. M. Fundamentals of queueing theory. New York: John Wiley &

Sons, 1974. 556 p.

Kleijnen, J. P. C. Verification and validation of simulation models. European Journal

of Operational Research, v .82, n. 1, p. 145-162, 1995.

Kleinrock, L. Queueing systems: theory. New York: Jonh Wiley & Sons, 1975, v. 1,

417 p.

Kleinrock, L. Queueing systems: computer applications. New York: Jonh Wiley &

Sons, 1976, v. 2. 549 p.

Law, A. M.; Kelton, W. D. Simulation modeling and analysis. New York: McGraw-

Hill, 1982. 400 p.

Meyer, Paul L. Probabilidade: aplicações à estatística. Rio de Janeiro: Livros

Técnicos e Científicos, 1978. 391 p.

Miranda, M. N. Aproximação de distribuições de probabilidades não exponenciais

por distribuições do tipo fase. Dissertação (mestrado em Computação Aplicada)

- Instituto Nacional de Pesquisas Espaciais, 1996.

Neuts, M. F. Matrix-geometric solutions in stochastic models. Baltimore: The Johns

Hopkins University Press, 1981. 332 p.

203

Odoni, A. R.; Roth, E. An empirical investigation of the transient behavior of stationary

queueing systems. Operations Research, v. 31, n. 3, p. 432-455, 1983.

Poole, T.G.; Szymankiewicz, J. Using simulation to solve problems. London:

MacGraw Hill, 1977.

Roth, E. The relaxation time heuristic for the initial transient problem in M/M/k

queueing systems. European Journal of Operational Research, v. 72, p. 376-

386, 1994.

Spiegel, M. R. Manual de fórmulas, métodos e tabelas de matemática. 2. ed. Rio

de Janeiro: Mc Graw Hill, 1992. 419 p.

Tijms, H. C. Stochastic modeling and analysis: A Computational Approach.

Chichester: John Wiley & Sons, 1986. 418 p.

Tijms, H. C. Stochastic models: An Algorithmic Approach. Chichester: John Wiley &

Sons, 1994. 375 p.

Whitt, W. Planning queueing simulations. Management Science, v. 35, n. 11, p. 1341-

1366, 1989a.

Whitt, W. Simulation run length planning. In: Winter Simulation Conference,

Washington, 1989. Proceedings. New York: Heidelberg, P.; MacNair, E. A.;

Musselman, K. J. ed., 1989b, p. 106-112.

Whitt, W. The efficiency of one long run versus independent replications in steady-

state simulation. Management Science, v. 37, n. 6, p. 645-666, 1991.

Whitt, W. A pproximations for the GI/G/m Queue. Production and Operations

Management, v. 2, n. 2 , p. 114-161, 1993.

Wolff, R. W. Stochastic modeling and the theory of queues. Englewood Cliffs:

Prentice Hall, 1989. 555 p.

204

205

APÊNDICE 1 – VARIÁVEIS E CÓDIGOS DO MODELO PROGRAMADO

VARIÁVEIS E VETORES

• Variáveis de sistema

• clock - variável real de controle do tempo decorrido (em unidades de tempo de

simulação) desde o início da execução do modelo

• duration - variável real de controle do tempo gasto (em unidades de tempo de

simulação) por cada entidade na atividade ou fila em que ela se encontra no

momento

• run - variável inteira que controla o número da execução corrente.

• tag - variável inteira de controle da identificação de cada entidade, quando se tem

múltiplas entidades em processamento na rede de atividades

• Variáveis inteiras

• i - contador de propósito geral

• j - contador de propósito geral

• s - variável inteira que armazena o número de servidores no sistema

• Variáveis reais

• aux – variável auxiliar de propósito geral

• cc2 – variável real que armazena o quadrado do coeficiente de variação da

distribuição de chegadas

• cs2 - variável real que armazena o quadrado do coeficiente de variação da

distribuição de serviços

206

• L2 - contador do número de clientes que deixaram o sistema

• L4 - contador do número de chegadas de clientes no sistema

• L5 - contador do número de saídas de clientes da fila 4 (fila de clientes esperando

para serem servidos)

• mc - variável real que armazena a média da distribuição de chegadas

• ms - variável real que armazena a média da distribuição de serviços

• a[ ] - vetor de reais usado como variável auxiliar

• a[0] - usado como variável auxiliar na geração de tempos de serviço

• a[1] - usado como variável auxiliar para armazenar a época da observação anterior

• a[2] - usado como variável auxiliar para armazenar o somatório dos produtos

relativos ao número de clientes presentes no sistema , L[0], pelo intervalo de

tempo entre observações, T[4]

• a[3] - usado como variável auxiliar para armazenar o somatório dos intervalos de

tempo entre observações, T[4]

• a[4] - usado como variável auxiliar para armazenar o somatório dos produtos

relativos ao número de clientes esperando na fila, L[1], pelo intervalo de tempo

entre observações, T[4]

• a[5] - usado como variável auxiliar para armazenar o somatório dos intervalos de

tempo entre chegadas, T[0]

• a[6] - usado como variável auxiliar para armazenar o somatório dos tempos de

serviço, T[tag], 100 < tag ≤ 16960

• a[7] - usado como variável auxiliar para armazenar o somatório dos tempos de

espera de clientes na fila, a[tag]

207

• a[8] - usado como variável auxiliar para armazenar o somatório dos tempos de

permanência de clientes no sistema, E[tag]

• a[9] - usado como variável auxiliar para armazenar a época da saída anterior

• a[10] - usado como variável auxiliar para armazenar a época da saída atual

• a[11] - usado como variável auxiliar para armazenar o somatório dos tempos entre

saídas, T[3]

• a[12] - usado como variável auxiliar para armazenar a época da alteração anterior

• a[13] - usado como variável auxiliar para armazenar o somatório dos produtos

relativos ao número de servidores ocupados, c[4], pelo intervalo de tempo entre

duas alterações consecutivas do número de servidores ociosos, T[5]

• a[14] - usado como variável auxiliar para armazenar o somatório dos tempos entre

alterações, T[5]

• a[15] – duração do serviço do n-ésimo cliente

• a[16] – duração da espera na fila do n-ésimo cliente

• c[ ] - vetor de inteiros usado como variável auxiliar - contador

• c[0] - contador do número de servidores livres

• c[1] - contador auxiliar na liberação da atividade Serv. Ociosos - conta o número

de servidores livres

• c[2] - variável de estado auxiliar na liberação da atividade Serv. Ociosos (0 =

liberar e 1 = não liberar)

• c[3] - variável de estado auxiliar na liberação da atividade Posto de Serviço (1 =

liberar e 0 = não liberar)

208

• c[4] - contador do número de servidores ocupados

• d[i] - vetor de reais usado para armazenar a declividade do intervalo i de uma

distribuição de freqüências

• k[ ] - vetor de inteiros usado para armazenar o número de fases ou o número de

intervalos de uma distribuição

• p[ ] - vetor de reais usado para armazenar as probabilidades de transição para

uma distribuição ou o limite inferior do intervalo i relativo ao eixo dos

intervalos de uma distribuição de freqüências

• t[ ] - vetor de reais usado para armazenar as taxas de transição para uma

distribuição ou o limite inferior das freqüências relativas acumuladas no

intervalo i

• ta[ ] - vetor de reais usado para armazenar os tempos de atividades gerados

para a atividade chegar e a atividade servir

• E[ ] - vetor de reais usado para armazenar as medidas de desempenho do

sistema (médias)

• E[0] - usado para armazenar o número médio de clientes no sistema

• E[1] - usado para armazenar o número médio de clientes esperando na fila

• E[2] - usado para armazenar o tempo médio entre duas chegadas de clientes no

sistema

• E[3] - usado para armazenar o tempo médio de serviço

• E[4] - usado para armazenar o tempo médio de espera de clientes na fila

• E[5] - usado para armazenar o tempo médio de permanência de clientes no

sistema

209

• E[6] - usado para armazenar o tempo médio entre saídas de clientes do sistema

• E[7] - usado para armazenar o número médio de servidores ocupados

• L[ ] - vetor de inteiros usado como variável/contador de clientes

• L[0] - contador do número de clientes presentes no sistema

• L[1] - contador do número de clientes esperando na fila

• L[3] - contador do número de clientes servidos (número de serviços)

• T[ ] - vetor de reais usado para registro de tempos

• T[0] - usado para armazenar o tempo entre duas chegadas consecutivas de clientes

• T[2] - usado para armazenar o tempo de permanência de um cliente arbitrário no

sistema

• T[3] - usado para armazenar o tempo entre duas saídas consecutivas de clientes

• T[4] - usado para armazenar o tempo entre duas observações consecutivas de

clientes

• T[5] - usado para armazenar o tempo entre duas alterações consecutivas do

número de servidores ociosos

CÓDIGOS PARA O CÁLCULO DAS MEDIDAS DE DESEMPENHO DO

SISTEMA

• Cálculo de E[0]

• ending effects da atividade Chegar.

T[4]:=clock-a[1]; a[1]:=clock; a[2]:=a[2]+L[0]*T[4]; a[3]:=a[3]+T[4];

E[0]:=a[2]/a[3]; L[0]:=L[0]+1;

210

• beginning effects da atividade Sair.

if ((tag<=0)|(tag>100)) then T[4]:=clock-a[1], a[1]:=clock,

a[2]:=a[2]+L[0]*T[4], a[3]:=a[3]+T[4], E[0]:=a[2]/a[3], L[0]:=L[0]-1;

• Cálculo de E[1]

• ending effects da atividade Chegar.

a[4]:=a[4]+L[1]*T[4]; E[1]:=a[4]/a[3];

• ending effect da atividade Chegar

L[1]:=L[1]+1;

• beginning effect da atividade Posto-serviço

L[1]:=L[1]-1;

• beginning effects da atividade Sair

if ((tag<=0)|(tag>100)) then a[4]:=a[4]+L[1]*T[4], E[1]:=a[4]/a[3];

• Cálculo de E[2]

• launch effect da atividade Chegar

T[0]:=duration;

• ending effect da atividade Chegar

a[5]:=a[5]+T[0]; L4:=L4+1; E[2]:=a[5]/L4;

• Cálculo de E[3]

• launch effect da atividade Servir

211

if ((tag<=0)|(tag>100)) then a[15]:=duration, L2:=L2+1, a[6]:=a[6]+duration,

E[3]:=a[6]/L2;

• Cálculo de E[4]

• departing effect queue 4

a[16]:=duration;

• beginning effect atividade Posto-Serviço

a[7]:=a[7]+a[16]; L5:=L5+1; E[4]:=a[7]/L5;

• Cálculo de E[5]

• Departing effect da fila 4

a[16]:=duration;

• launch effect da atividade Servir

if ((tag<=0)|(tag>100)) then L2:=L2+1, a[8]:=a[8]+durantion+a[16],

E[5]:=a[8]/L2;

• Cálculo de E[6].

• ending effect da atividade Sair

if L2<>0 then a[9]:=a[10], a[10]:=clock, T[3]:=a[10]-a[9], a[11]:=a[11]+T[3],

E[6]:=a[11]/L2;

• Cálculo de E[7].

• entering effect queue 5

if clock>0 then c[4]:=s-c[0], T[5]:=clock-a[12], a[12]:=clock,

a[13]:=a[13]+c[4]*T[5], a[14]:=a[14]+T[5], E[7]:=a[13]/a[14];

212

• departing effect queue 5

c[4]:=s-c[0]; T[5]:=clock-a[12]; a[12]:=clock; a[13]:=a[13]+c[4]*T[5];

a[14]:=a[14]+T[5]; E[7]:=a[13]/a[14];

• Códigos de controle.

• controle de parada de uma execução

• ending effect da atividade servir.

if tag== ???? then halt();

• controle da ordenação (rotulação ou numeração) dos clientes

• ending effect da atividade servir.

if tag==0 then tag:=101 else tag:=tag+1;

• controle da ordenação (rotulação ou numeração) dos servidores

• ending effect da atividade Gerar-servidor.

tag:=tag+1;

• nó de decisão após a atividade Gerar-servidor.

tag < s;

• controle da liberação de clientes da fila

• release condition da atividade Posto-serviço.

c[3]==1 & L[1]>0;

• entering effect queue 4

L[1]:=L[1]+1;

213

• beginning effect da atividade Posto-serviço.

c[3]:=0; L[1]:=L[1]-1;

• departing effect queue 5

c[3]:=1;

• controle da liberação de servidores ociosos

• release condition da atividade Serv. Ociosos.

L[1]>0 & c[1]>0 & c[2]==0;

• entering effect queue 5

c[1]:=c[1]+1;

• beginning effect da atividade Serv. Ociosos.

c[1]:=c[1]-1; c[2]:=1;

• ending effect da atividade Serv. Ociosos

c[2]:=0;

• controle de roteamento das entidades (clientes ou servidores)

• nó de decisão 1

• condição de roteamento para a atividade 2: 1;

• condição de roteamento para a atividade 3: 1;

• nó de decisão 2

• condição de roteamento para a atividade 4: 1;

214

• condição de roteamento para a atividade 2: 1;

• nó de decisão 3

• condição de roteamento para a atividade 5: 1;

• condição de roteamento para a atividade 3: tag<s;

• nó de decisão 6

• condição de roteamento para a atividade 5: (tag>0)&(tag<=100);

• condição de roteamento para a atividade 7: (tag<0)|(tag>100);

FUNÇÕES E DISTRIBUIÇÕES

• Funções e distribuições embutidas no Micro Saint

• gamma - retorna um número aleatório de uma distribuição gamma e seus

parâmetros de definição são a média e o desvio padrão.

• exponencial - retorna um número aleatório de uma distribuição exponencial e seu

parâmetro de definição é a média.

• weibull - retorna um número aleatório de uma distribuição de weibull e seus

parâmetros de definição são o de escala (scale) e o de forma (shape), os quais são

obtidos a partir da média e do coeficiente de variação.

• Funções desenvolvidas para o modelo

• cox - retorna um número aleatório de uma distribuição de cox e seus parâmetros

de definição são a média e o coeficiente de variação.

• erlang - retorna um número aleatório de uma distribuição de erlang e seus

parâmetros de definição são a média e o coeficiente de variação.

215

• hiperexponencial – retorna um número aleatório de uma distribuição

Hiperexponencial e seus parâmetros de definição são a média e o coeficiente de

variação.

• mistura de Elangs de ordem k e k-1 - retorna um número aleatório de uma

distribuição mistura de Elangs de ordem k e k-1 e seus parâmetros de definição

são a média e o coeficiente de variação.

• histograma - retorna um número aleatório de uma distribuição de valores

empíricos.

• Código para a distribuição COX

• auxcox_c {fornece as probabilidades p[] e as taxas t[] para uma distribuição dos

tempos entre chegadas cox}

if cc2==0.5 then t[8]:=mc/2; if cc2>0.5 then t[9]:=(2/mc)*(1+((cc2-

1/2)/(cc2+1))^(1/2)), t[10]:=(4/mc)-t[9], p[6]:=(t[10]/t[9])*(t[9]*mc-1);

• auxcox_s {fornece as probabilidades p[] e as taxas t[] para uma distribuição dos

tempos de serviços cox}

if cs2==0.5 then t[11]:=ms/2; if cs2>0.5 then t[12]:=(2/ms)*(1+((cs2-

1/2)/(cs2+1))^(1/2)), t[13]:=(4/ms)-t[12], p[7]:=(t[13]/t[12])*(t[12]*ms-1);

• coxian_s {gerar tempos de serviço conforme a distribuição cox}

ta[1]:=0; if cs2==0.5 then ta[1]:=expon(t[11])+expon(t[11]); if cs2>0.5 then

acx2;

• coxian_c {gerar tempos de chegadas conforme a distribuição cox}

ta[0]:=0; if cc2==0.5 then ta[0]:=expon(t[8])+expon(t[8]); if cc2>0.5 then acx1;

• acx1 {auxiliar de coxian_c}

216

if random()<=p[6] then ta[0]:=expon(1/t[9])+expon(1/t[10]) else

ta[0]:=expon(1/t[9]);

• acx2 {auxiliar de coxian_s}

if random()<=p[7] then ta[1]:=expon(1/t[12])+expon(1/t[13]) else

ta[1]:=expon(1/t[12]);

• Código para a distribuição ERLANG

• auxerlang_c {fornece parâmetros para a distribuição dos tempos de chegadas

Erlang}

k[2]:=truncate(1/cc2); t[6]:=mc/k[2];

• auxerlang_s {fornece parâmetros para a distribuição dos tempos de serviços

Erlang}

k[3]:=truncate(1/cs2); t[7]:=ms/k[3];

• erlangian_c {gera tempos de chegada conforme a distribuição erlang}

i:=1; ta[0]:=0; while i<=k[2] do ta[0]:=ta[0]+expon(t[6]), i:=i+1;

• erlangian_s {gera tempos de serviço conforme a distribuição erlang}

i:=1; ta[1]:=0; while i<=k[3] do ta[1]:=ta[1]+expon(t[7]), i:=i+1;

• Código para a distribuição HIPEREXPONENCIAL

• auxhiperex_c {fornece parâmetros para a distribuição dos tempos de chegadas

Hiperexponencial}

if cc2>1 then p[1]:=(1/2)*(1+((cc2-1)/(cc2+1))^(1/2)), p[2]:=1-p[1],

t[1]:=1/(2*p[1]/mc), t[2]:=1/(2*p[2]/mc);

217

• auxhiperex_s {fornece parâmetros para a distribuição dos tempos de serviços

Hiperexponencial}

if cs2>1 then p[4]:=(1/2)*(1+((cs2-1)/(cs2+1))^(1/2)), p[5]:=1-p[4],

t[4]:=1/(2*p[4]/ms), t[5]:=1/(2*p[5]/ms);

• hiperexp_c {gera tempos de chegadas conforme a distribuição

Hiperexponencial}

if random()<=p[1] then ta[0]:= expon(t[1]) else ta[0]:=expon(t[2]); ta[0];

• hiperexp_s {gera tempos de serviços conforme a distribuição Hiperexponencial}

if random()<=p[4] then ta[1]:= expon(t[4]) else ta[1]:=expon(t[5]); ta[1];

• Código para a distribuição MISTURA DE ERLANGS DE ORDEM k e k-1

• auxmistura_c {fornece parâmetros para a distribuição dos tempos de chegadas

misturas de Erlangs de ordem k e k-1}

if cc2<1 then aux:=1/cc2, k[0]:=1+truncate(aux), p[0]:=(1/(1+cc2))*(k[0]*cc2-

(k[0]*(1+cc2)-k[0]^2*cc2)^(1/2)), t[0]:=1/((k[0]-p[0])/mc);

• auxmistura_s {fornece parâmetros para a distribuição dos tempos de serviços

mistura de Erlangs de ordem k e k-1}

if cs2<1 then k[1]:=1+truncate(1/cs2), p[3]:=(1/(1+cs2))*(k[1]*cs2-

(k[1]*(1+cs2)-k[1]^2*cs2)^(1/2)), t[3]:=1/((k[1]-p[3])/ms);

• mistura_c {gera tempos de chegadas conforme a distribuição mistura de

Erlangs de ordem k e k-1}

i:=1; while i<k[0]-1 do ta[0]:=ta[0]+expon(t[0]), i:=i+1; if random()<=p[0]

then ta[0]:=ta[0]+expon(t[0]) else ta[0]:=ta[0]+expon(t[0]),

ta[0]:=ta[0]+expon(t[0]); ta[0];

218

• mistura_s {gera tempos de serviços conforme a distribuição mistura de Erlangs

de ordem k e k-1}

i:=1; while i<k[1]-1 do ta[1]:=ta[1]+expon(t[3]), i:=i+1; if random()<=p[3] then

ta[1]:=ta[1]+expon(t[3]) else ta[1]:=ta[1]+expon(t[3]),

ta[1]:=ta[1]+expon(t[3]); ta[1];

• Código para a distribuição HISTOGRAMA

• histograma_c {gera tempos de chegada distribuídos conforme um Histograma}

mc:=randon(); i:=14; j:=14; while j<=k[4] do if p[i]<=mc then j:=k[4]+14

else i:=i+1, j:=j+1; ta[0]:=t[i]+d[i]*(mc-p[i]);

• histograma_s {gera tempos de serviço distribuídos conforme um Histograma}

ms:=randon(); i:=64; j:=64; while j-64<=k[5] do if p[i]<=ms then

j:=k[5]+64 else i:=i+1, j:=j+1; ta[1]:=t[i]+d[i]*(ms-p[i]);

• Funções desenvolvidas para outros software

• Determinação dos parâmetros da distribuição Weibull

O código para a determinação dos parâmetros da distribuição Weibull foi

desenvolvido no LINGO (versão educacional), que é um pacote comercial de

programação não-linear.

• Código para a Determinação dos parâmetros da distribuição Weibull

model:

!determina os parâmetros a (scale) e b (shape) de uma distribuição Weibull;

!dados a média (m) e o coeficiente de variação (c);

!Para c^2<1 tem-se que b>1, para c^2>1 tem-se b<1, e para c=1 tem-se b=1;

219

a=m/gama1;

a=(m^2*(c^2+1)/gama2)^(1/2);

gama1=(1/b+5.5)^(1/b+0.5)*(1/@EXP(1/b+5.5))*(2*3.14159265358979323846

2643)^0.5*(1+(76.18009172947146/(1/b+1))-

(86.50532032941677/(1/b+2))+(24.01409824083091/(1/b+3))-

(1.231739572450155/(1/b+4))+(0.001208650973866179/(1/b+5))-

(0.000005395239384953/(1/b+6))+0.00000000019999999999);

gama2=(2/b+5.5)^(2/b+0.5)*(1/@EXP(2/b+5.5))*(2*3.14159265358979323846

2643)^0.5*(1+(76.18009172947146/(2/b+1))-

(86.50532032941677/(2/b+2))+(24.01409824083091/(2/b+3))-

(1.231739572450155/(2/b+4))+(0.001208650973866179/(2/b+5))-

(0.000005395239384953/(2/b+6))+0.00000000019999999999);

a>0;

b>0;

c=0.5;

m=5;

end

• Funções auxiliares.

• cox_c {auxiliar da geração de tempos chegada coxian}

coxian_c; ta[0];

• cox_s {auxiliar da geração de tempos serviço coxian}

if (tag>0)&(tag<=100) then coxian_s, ta[1], a[0]:=ta[1] else a[0]; a[0];

• erlang_c {auxiliar da geração de tempos chegada erlang}

220

erlangian_c; ta[0];

• erlang_s {auxiliar da geração de tempos serviço erlang}

if (tag>0)&(tag<=100) then erlangian_s, ta[1], a[0]:=ta[1] else a[0]; a[0];

• E_k_1_k_c {auxiliar da geração de tempos chegadas de uma mistura de Erlangs

de ordem k e k-1}

mistura_c; ta[0];

• E_k_1_k_s {auxiliar da geração de tempos serviços de uma mistura de Erlangs de

ordem k e k-1}

if (tag>0)&(tag<=100) then mistura_s, ta[1], a[0]:=ta[1] else a[0]; a[0];

• hiperexpon_c {auxiliar da geração de tempos chegadas de uma Hiperexponencial

de ordem k}

hiperexp_c; ta[0];

• hiperexpon_s {auxiliar da geração de tempos serviços de uma Hiperexponencial

de ordem k }

if (tag>0)&(tag<=100) then hiperexp_s, ta[1], a[0]:=ta[1] else a[0]; a[0];

• histogra_c { auxiliar da geração de tempos chegada histograma}

histograma_c; ta[0];

• histogra_s { auxiliar da geração de tempos serviço histograma}

if (tag>0)&(tag<=100) then histograma_s, a[0]:=ta[1] else a[0]; a[0];