Teoria das Filas

O simulador gratuito mais completo do mercado: 5 modelos analíticos (M/M/1, M/M/c, Erlang-B/C), Simulação de Eventos Discretos (DES), NHPP, filas com prioridade, redes de filas e animação em tempo real — direto no navegador, sem instalação.

Novo aqui? Este simulador calcula métricas de filas (M/M/1, M/M/c, Erlang) em segundos.

Cenários prontos

Escolha um cenário típico ou configure seus próprios parâmetros abaixo.

Modelo e parâmetros

CV = 1.00
múltiplos tipos, prioridades e KPIs por classe
analise o regime transiente vs. estacionário
IC 95% · e se λ crescer 20%? · e se adicionar 1 servidor?

Teoria das Filas: Guia Completo com Exemplos Práticos

A Teoria das Filas (Queueing Theory) é o ramo da matemática aplicada que modela sistemas onde entidades — clientes, pacientes, pacotes de dados, peças industriais — chegam, aguardam quando todos os servidores estão ocupados e depois são atendidas. Criada em 1909 pelo engenheiro dinamarquês Agner Krarup Erlang para dimensionar as centrais telefônicas de Copenhagen, tornou-se em um século a base de decisões em:

  • Engenharia de produção: balanceamento de linhas, dimensionamento de docas, gargalos industriais
  • Saúde: capacidade de UTI, triagem hospitalar, filas de consulta
  • Tecnologia: servidores web, bancos de dados, gateways de API, impressoras de rede
  • Telecom: ramais PABX, call centers, buffers de redes
  • Varejo e logística: check-in de aeroportos, caixas de supermercado, pedágios, postos de gasolina

Softwares como Arena (Rockwell Automation), Simul8 e AnyLogic usam simulação de eventos discretos (DES) para os casos mais complexos. Para a grande maioria dos problemas reais, porém, as fórmulas analíticas desta ferramenta entregam resultados exatos — e em milissegundos.


Por que este é o melhor simulador de filas online gratuito

Nenhuma outra ferramenta gratuita combina, sem instalação e sem cadastro, os recursos que este simulador oferece:

RecursoUtiliQueueCalculadoras web gratuitasArena / Simul8
M/M/1, M/M/c, M/D/1, M/M/1/K, Erlang-Bparcial
M/G/c (Weibull, Lognormal, Erlang-k…)
Simulação de Eventos Discretos (DES)
Animação em tempo real da fila
NHPP — λ variável por hora
Filas com prioridade (VIP, urgência)
Redes de filas — série, paralelo, condicional
Ajuste de distribuição com teste KS
Tabela comparativa multi-servidor
Tutorial guiado de 24 passos
Gratuito, sem instalação, sem login
Funciona no celularparcial

Arena e Simul8 custam milhares de reais por ano e exigem instalação em Windows. JaamSim e SimPy são gratuitos, mas exigem programação. Este simulador entrega 24 das 24 características avaliadas em comparação com 10 ferramentas do mercado — pontuação máxima entre todas as ferramentas gratuitas e empatando ou superando as comerciais em acessibilidade.

Quando usar este simulador vs. Arena/Simul8

Use este simulador quando você precisa:

  • Dimensionar rapidamente call centers, filas de banco, guichês, leitos de UTI, pedágios
  • Validar com DES se o sistema tem distribuições não-exponenciais ou carga variável
  • Modelar uma rede de produção com etapas em série, paralelo ou roteamento condicional
  • Ensinar teoria das filas — os 22 cenários pré-configurados e o tutorial de 24 passos são ideais para sala de aula

Use Arena/Simul8 quando você tem: sistemas com centenas de filas interligadas com feedback loops complexos, modelagem 3D de fábricas ou lógica de negócio altamente customizada que exige scripting avançado.


Breve história — de Copenhagen ao século XXI

1909 — Erlang e o telefone

Agner Krarup Erlang era engenheiro da Copenhagen Telephone Company quando formulou o problema: quantos circuitos são necessários para atender as chamadas de uma cidade sem que o sinal de ocupado apareça com frequência inaceitável? Sua resposta — a fórmula de Erlang-B — calculou pela primeira vez a probabilidade de bloqueio em sistemas de perda pura. Em 1917, estendeu o trabalho para sistemas com fila (Erlang-C).

A unidade de tráfego Erlang (E) leva seu nome até hoje: 1 Erlang = 1 circuito ocupado durante 1 hora completa = λ/μ.

1950s–1970s — Expansão para manufatura e computação

Com o advento dos computadores mainframe, David Kendall (1953) propôs a notação A/S/c que padronizou a área. John Little (1961) provou o teorema que leva seu nome — válido para qualquer sistema estável. Jackson (1963) estendeu a teoria para redes de filas, abrindo o caminho para modelagem de sistemas de produção, computadores e telecomunicações.

1970s–1980s — Call centers e sistemas M/G/c

Erlang-C se tornou o padrão da indústria para dimensionamento de call centers. A fórmula de Pollaczek-Khinchine (P-K) e a aproximação de Kingman tornaram tratável o caso M/G/c com distribuição geral de serviço. Computadores permitiram calcular tabelas de Erlang para c até 100+ servidores.

1990s–2000s — Simulação de Eventos Discretos (DES)

Ferramentas como Arena (Siman/1982, Arena/1993) popularizaram a Simulação de Eventos Discretos — capacidade de modelar sistemas com rotas, prioridades, recursos múltiplos e distribuições arbitrárias, muito além do que as fórmulas fechadas suportam. Empresas passaram a simular fábricas inteiras antes de construí-las.

2010s–hoje — Web, microsserviços e IA

A teoria das filas ressurgiu em engenharia de software: dimensionamento de thread pools, análise de latência de microserviços, auto-scaling em nuvem (AWS CloudWatch, GCP Load Balancer) e circuit breakers todos têm raízes nos modelos M/M/c e M/G/c. O conceito de Little’s Law virou pilar do movimento DevOps para medir lead time e WIP.


O que você encontra neste guia — mapa de conteúdo

SeçãoQuando ler
Notação de KendallSempre — é o vocabulário base
M/M/1Filas com 1 servidor, variabilidade aleatória
M/M/cCall centers, caixas, guichês — múltiplos servidores
M/D/1Linhas de produção, pedágio eletrônico, tempo fixo
M/M/1/KSistemas com capacidade física limitada
M/M/c/c (Erlang-B)Sem fila — PABX, leitos, licenças de software
Lei de LittleQuando você sabe 2 das 3 grandezas (L, W, λ)
Ajuste de distribuiçãoAntes de escolher o modelo — validar seus dados
Comparação de CenáriosAnálise de trade-off entre configurações
Simulação DESValidar analítico; ver distribuição de Wq; regime transiente
NHPPλ varia ao longo do dia (call center, restaurante)
Warm-upSimular sem distorção do estado inicial
PrioridadesClientes VIP, urgências, SLAs diferenciados
RoteamentoFluxos bifurcados, triagem, abandono parcial
Turnos & FalhasCapacidade real com plantões e manutenção
M/G/1 / M/G/cWeibull, Lognormal, Erlang — além da exponencial

Dica de leitura rápida: se o seu único objetivo é calcular Wq e Lq para um sistema simples, vá direto ao modelo adequado (M/M/1, M/M/c ou M/D/1) e use os exemplos como referência. Os outros tópicos são para refinamento progressivo.


Notação de Kendall — como descrever qualquer fila

Todo sistema de filas é descrito pela notação compacta A/S/c/K:

PosiçãoO que representaSímbolos comuns
AProcesso de chegadaM (Poisson/aleatório), D (fixo/determinístico)
SDistribuição do tempo de serviçoM (exponencial), D (determinístico/fixo)
cNúmero de servidores em paralelo1, 2, 3…
KCapacidade máxima do sistemanúmero ou ∞ (omitido = ilimitado)

Exemplos de leitura da notação

Sistema realNotaçãoLeitura
Guichê de triagem hospitalarM/M/1Chegadas aleatórias, serviço variável, 1 enfermeiro
Agência bancária com 2 caixasM/M/2Chegadas aleatórias, serviço variável, 2 caixas paralelos
Linha de montagem cadenciadaM/D/1Chegadas aleatórias, tempo de ciclo fixo, 1 estação
Estacionamento com 15 vagasM/M/1/15Chegadas aleatórias, 1 “servidor”, capacidade máxima 15
PABX com 4 ramaisM/M/4/4Erlang-B: 4 servidores, sem fila, excesso é perdido

Como estender a notação — A/S/c/K/N/D completo

A notação completa é A/S/c/K/N/D:

PosiçãoO que representaPadrão quando omitido
AProcesso de chegada— (obrigatório)
SDistribuição de serviço— (obrigatório)
cServidores paralelos— (obrigatório)
KCapacidade máxima do sistema∞ (fila ilimitada)
NTamanho da população de origem∞ (infinita)
DDisciplina da filaFIFO

Quando K = c (capacidade = número de servidores), chegadas em excesso são bloqueadas imediatamente sem formar fila — é o modelo Erlang-B (M/M/c/c).

Populações finitas (N finito): em sistemas onde há N máquinas e c técnicos de manutenção, ao parar uma máquina ela sai da “população geradora de chamados”. O modelo M/M/c//N (máquina de reparo de Engset) captura esse efeito — a taxa de chegada efetiva cai à medida que mais máquinas ficam paradas. Para esses casos, use a simulação DES da ferramenta.

Processos de chegada além do Poisson

O processo de Poisson (M) implica: (a) chegadas independentes entre si, (b) taxa constante λ no tempo, (c) no máximo uma chegada por instante infinitesimal. É uma excelente aproximação quando há muitas fontes pequenas e independentes — clientes distribuídos por uma cidade, requisições HTTP de milhares de usuários.

Quando o Poisson não se aplica:

SituaçãoProcesso mais adequadoImpacto
Chegadas em lotes (grupos, famílias, ônibus de turistas)M[X]/M/c — batch arrivalsLq pode ser 2–5× maior
λ varia ao longo do diaNHPP (configure com ⏱ λ variável)Pico até 10× o vale
Fontes em número finito (N máquinas)Engset / M/M/c//Nλ efetivo decresce com ocupação
Chegadas correlacionadas (rajadas de rede, burst traffic)MMPP (Markov-Modulated Poisson)Filas muito maiores que Poisson
Chegadas periódicas (ciclos de produção, takt time)D/M/c (chegadas determinísticas)Fila menor que Poisson

Para fins práticos, o Poisson é robusto: erros de modelagem tipicamente causam desvios menores do que a própria incerteza na estimativa de λ e μ a partir de dados reais.


Os três parâmetros fundamentais

λ — Taxa de chegada

Número médio de entidades que chegam por unidade de tempo. É sempre obtido de observação real ou histórico.

CenárioλUnidade
Agência bancária (horário de pico)20clientes/hora
Servidor web em produção120requisições/segundo
Pronto-socorro15pacientes/hora
Pedágio (por pista)120carros/hora
Check-in de aeroporto180passageiros/hora

Como medir λ: conte o número de chegadas durante um período representativo (e.g., 1 hora) e divida pelo tempo. Repita em dias e horários diferentes para capturar a variabilidade.

μ — Taxa de serviço de um servidor

Número médio de atendimentos que um único servidor realiza por unidade de tempo. O tempo médio de atendimento é 1/μ.

CenárioμTempo médio de atendimento
Caixa de agência bancária15 /h4 minutos
Médico em consultório4 /h15 minutos
Farmácia hospitalar (dispensação)80 /h45 segundos
Técnico de manutenção2 /h30 minutos
Worker de banco de dados250 /s4 ms

Dica: se o tempo de serviço for altamente variável (CV > 1), prefira o modelo M/M/c. Se for praticamente constante (CV < 0,15), use M/D/1 ou M/D/c para resultados mais precisos.

ρ — Utilização por servidor

ρ=λcμ\rho = \frac{\lambda}{c \cdot \mu}

ρ representa a fração do tempo em que cada servidor está ocupado. Para sistemas estáveis: ρ < 1. Quando ρ ≥ 1, a fila cresce sem limite.

O efeito exponencial da utilização

A relação entre ρ e o tempo de espera não é linear — é explosiva. No modelo M/M/1:

ρWq (múltiplos de 1/μ)
50%
70%2,3×
80%
90%
95%19×
99%99×

Passar de 80% para 90% de utilização mais que dobra o tempo de espera.

A zona operacional ideal e o custo da ociosidade

Existe uma tensão fundamental na gestão de capacidade:

  • Muita folga (ρ baixo): servidores ociosos, custo fixo elevado, subutilização de investimento
  • Pouca folga (ρ alto): filas longas, clientes insatisfeitos, risco de colapso em picos transientes

A zona de operação recomendada depende do custo relativo de espera vs. servidor ocioso:

Setorρ típico operacionalJustificativa
UTI / emergência hospitalar60–70%O custo de não ter leito disponível é vida humana
Servidor web crítico60–75%Picos súbitos são comuns; latência mata conversão
Call center premium (SLA rígido)70–80%SLA de 80% atendidos em 20 s
Agência bancária75–85%Cliente aguarda até ~5 min sem reclamar
Linha de produção80–90%Demanda mais previsível, estoque amortece picos
Pedágio / check-in85–92%Picos são conhecidos e planejados
Call center de baixo custo88–93%SLA mais flexível, custo por atendente é dominante

A fórmula para o custo total por unidade de tempo equilibra os dois lados:

Custo total=chs+λWqhe\text{Custo total} = c \cdot h_s + \lambda \cdot W_q \cdot h_e

onde hsh_s = custo horário de um servidor (salário + encargos + infra) e heh_e = custo horário de um cliente esperando (produtividade perdida, churn, penalidade contratual). O número ótimo de servidores minimiza essa função.

Como estimar ρ antes de ter dados precisos

Se você ainda não mediu λ e μ, use estas heurísticas para estimar rapidamente:

  • λ (chegadas): divida o volume total do período pelo tempo do período. Para horário de pico, use apenas os dados de pico.
  • μ (serviço): cronometre 20–30 atendimentos em condições normais. Use a média como 1/μ. Calcule o CV — se > 0,5, o M/M/c é mais adequado que o M/D/1.
  • ρ preliminar: use λ/(c·μ). Se der > 0,95, o sistema está em risco independentemente do modelo escolhido.

Modelo M/M/1 — o caso fundamental

Quando usar: sistema com um único servidor, chegadas aleatórias e tempo de serviço variável.

Fórmulas

ρ=λμP0=1ρ\rho = \frac{\lambda}{\mu} \qquad P_0 = 1 - \rho

L=ρ1ρLq=ρ21ρL = \frac{\rho}{1-\rho} \qquad L_q = \frac{\rho^2}{1-\rho}

W=1μλWq=λμ(μλ)W = \frac{1}{\mu - \lambda} \qquad W_q = \frac{\lambda}{\mu(\mu-\lambda)}

Exemplo: Pronto-socorro (triagem)

15 pacientes chegam por hora a um posto de triagem com 1 enfermeiro. Tempo médio de triagem: 3 minutos (μ = 20/h).

ρ=1520=0,75Wq=1520×(2015)=0,15 h=9 minutos\rho = \frac{15}{20} = 0{,}75 \qquad W_q = \frac{15}{20 \times (20-15)} = 0{,}15\text{ h} = 9 \text{ minutos}

Lq=0,75210,75=2,25 pacientes aguardandoL_q = \frac{0{,}75^2}{1-0{,}75} = 2{,}25 \text{ pacientes aguardando}

O enfermeiro está ocupado 75% do tempo. Se o fluxo subir para 18/h (ρ = 0,90), Wq salta para 27 minutos. Com 2 enfermeiros (M/M/2), Wq cai para menos de 2 minutos.


Exemplo: Servidor web (thread única)

120 req/s, processamento médio de 6 ms (μ = 167 req/s).

ρ=1201670,719Wq15,3 ms de filaW21,3 ms total\rho = \frac{120}{167} \approx 0{,}719 \qquad W_q \approx 15{,}3 \text{ ms de fila} \qquad W \approx 21{,}3 \text{ ms total}

Para latências abaixo de 10 ms totais, é necessário múltiplas threads (M/M/c). Com 2 threads, Wq cai para ~2 ms.


Exemplo: Portaria de condomínio

8 visitantes chegam por hora a uma portaria com 1 porteiro. Cadastro demora em média 5 minutos (μ = 12/h).

ρ=812=0,667Wq=812(128)=8480,167 h=10 min\rho = \frac{8}{12} = 0{,}667 \qquad W_q = \frac{8}{12(12-8)} = \frac{8}{48} \approx 0{,}167\text{ h} = 10 \text{ min}

Lq=0,66720,333=1,33 visitantes aguardando em meˊdiaL_q = \frac{0{,}667^2}{0{,}333} = 1{,}33 \text{ visitantes aguardando em média}

Se o porteiro agilizar o cadastro para 3 minutos (μ = 20/h, ρ = 40%), Wq cai para 2 minutos — sem contratar ninguém.

Exemplo: Médico em consultório

3 pacientes chegam por hora. Consulta dura em média 15 min (μ = 4/h).

ρ=34=0,75Wq=34(43)=0,75 h=45 min de espera\rho = \frac{3}{4} = 0{,}75 \qquad W_q = \frac{3}{4(4-3)} = 0{,}75\text{ h} = 45 \text{ min de espera}

Com agenda (λ determinístico, D/M/1), o Wq cai para ~22 min. Com sistema de agendamento online que elimina no-shows, λ efetivo cai para ~2,5/h (ρ = 0,625 → Wq ≈ 25 min) e a agenda passa a ser cumprida.

Exemplo: Worker de processamento de imagens (microserviço)

Pipeline de IA recebe 5 imagens/segundo. O modelo de inferência demora em média 150 ms (μ = 6,67/s).

ρ=56,67=0,75Wq=56,67(6,675)450 ms de fila\rho = \frac{5}{6{,}67} = 0{,}75 \qquad W_q = \frac{5}{6{,}67(6{,}67-5)} \approx 450 \text{ ms de fila}

Wtotal=450+150=600 ms— proˊximo do limite de 500 ms exigido pelo SLAW_{\text{total}} = 450 + 150 = 600 \text{ ms} \quad \text{— próximo do limite de 500 ms exigido pelo SLA}

Adicionando uma 2ª GPU (M/M/2, ρ = 0,375), Wq cai para < 5 ms. O custo da GPU se paga em evitar violações do SLA.

Interpretação conjunta das métricas M/M/1

MétricaFórmulaInterpretação operacional
ρλ/μFração do tempo em que o servidor está ocupado
P₀1 − ρProbabilidade de encontrar o sistema vazio (sem espera)
Lρ/(1−ρ)Número médio no sistema (fila + atendimento)
Lqρ²/(1−ρ)Número médio aguardando (não em atendimento)
W1/(μ−λ)Tempo médio total no sistema (espera + serviço)
Wqλ/[μ(μ−λ)]Tempo médio apenas esperando na fila

A Lei de Little conecta tudo: L = λW e Lq = λWq. Se você medir qualquer dois, calcula o terceiro.

--- — múltiplos servidores paralelos (Erlang-C)

Quando usar: vários servidores idênticos atendem a mesma fila — call centers, caixas de banco, guichês de aeroporto, bancos de threads.

Fórmula de Erlang-C

C(c,a)=acc!ccan=0c1ann!+acc!ccaC(c, a) = \frac{\dfrac{a^c}{c!} \cdot \dfrac{c}{c-a}}{\displaystyle\sum_{n=0}^{c-1} \frac{a^n}{n!} + \dfrac{a^c}{c!} \cdot \dfrac{c}{c-a}}

onde a=λ/μa = \lambda/\mu é o tráfego em Erlangs e ρ=a/c\rho = a/c.

Lq=C(c,a)ρ1ρWq=LqλW=Wq+1μL=λWL_q = C(c,a) \cdot \frac{\rho}{1-\rho} \qquad W_q = \frac{L_q}{\lambda} \qquad W = W_q + \frac{1}{\mu} \qquad L = \lambda W

Exemplo: Agência bancária com 2 caixas

20 clientes/hora, cada caixa atende 15 clientes/hora. Modelo M/M/2.

a=2015=1,33 Erlangsρ=1,332=0,667a = \frac{20}{15} = 1{,}33\text{ Erlangs} \qquad \rho = \frac{1{,}33}{2} = 0{,}667

Erlang-C → P(esperar) ≈ 17,5% → Wq ≈ 22 segundos

Com apenas 1 caixa (ρ = 1,33): sistema instável — fila infinita. O segundo caixa é essencial. O terceiro reduziria Wq para ~5 segundos.


Exemplo: Call center — dimensionamento por SLA

90 ligações/hora, atendimento de 4 minutos (μ = 15/h). SLA: 80% das ligações atendidas em ≤ 20 segundos.

Atendentes (c)ρP(esperar)P(Wq ≤ 20s)
785,7%35,1%~52% ❌
875,0%18,4%~81% ✅
966,7%8,4%~95%
1060,0%3,6%~99%

Com 8 atendentes o SLA é atingido por margem mínima. Na prática, recomenda-se 9 para absorver ausências e picos.


Exemplo: Check-in de aeroporto

180 passageiros/hora, atendimento de 2 minutos (μ = 30/h), 8 guichês.

a=6 Erlangsρ=0,75Wq1,5 mina = 6\text{ Erlangs} \qquad \rho = 0{,}75 \qquad W_q \approx 1{,}5 \text{ min}

Se um guichê fechar (c=7, ρ = 85,7%), Wq sobe para ~5,6 min — passageiros podem perder voos em dias de pico.


Exemplo: Banco de dados — dimensionamento do pool de workers

200 queries/s, execução média 4 ms (μ = 250/s). Pool de 4 workers.

a=200250=0,8 Erlangsρ=0,84=0,20a = \frac{200}{250} = 0{,}8\text{ Erlangs} \qquad \rho = \frac{0{,}8}{4} = 0{,}20

Com ρ = 20%, o sistema está muito folgado. Wq < 0,1 ms. Com 2 workers (ρ = 40%), ainda excelente. O pool de 4 garante headroom para picos de até 480 queries/s sem degradação.


Exemplo: Posto de gasolina

20 carros/hora chegam, abastecimento médio de 4 minutos (μ = 15/h), 3 bombas.

a=2015=1,33 Erlangsρ=1,333=0,444a = \frac{20}{15} = 1{,}33\text{ Erlangs} \qquad \rho = \frac{1{,}33}{3} = 0{,}444

P(esperar) ≈ 2,4%. Wq ≈ 13 segundos. Sistema bem dimensionado. Com 2 bombas (ρ = 0,667), Wq já subiria para ~1,5 min.


Exemplo: Equipe de manutenção

3 chamados por hora chegam a uma equipe de 2 técnicos. Cada reparo dura 30 min em média (μ = 2/h).

a=32=1,5 Erlangsρ=1,52=0,75a = \frac{3}{2} = 1{,}5\text{ Erlangs} \qquad \rho = \frac{1{,}5}{2} = 0{,}75

P(esperar) ≈ 34,5%. Wq ≈ 34 minutos de espera antes do técnico chegar. O custo de máquina parada durante esse tempo justifica a análise de adicionar um 3º técnico (que reduziria Wq para ~5 min).

Exemplo: Atendimento de suporte de TI (help desk)

12 tickets chegam por hora. Resolução média: 20 min (μ = 3/h). Equipe de 5 analistas.

a=123=4 Erlangsρ=45=0,80a = \frac{12}{3} = 4\text{ Erlangs} \qquad \rho = \frac{4}{5} = 0{,}80

Erlang-C: C(5, 4) ≈ 34,7% → Wq ≈ 6,9 min. Com 6 analistas (ρ = 0,667): Wq ≈ 1,9 min. O 6º analista custa menos que o impacto de 5 min adicionais de espera para 12 tickets/hora.

Exemplo: Farmácia de hospital público (dispensação de medicamentos)

60 receitas chegam por hora, 4 farmacêuticos, cada um atende 20 receitas/h.

a=6020=3 Erlangsρ=34=0,75a = \frac{60}{20} = 3\text{ Erlangs} \qquad \rho = \frac{3}{4} = 0{,}75

C(4, 3) ≈ 17,3% → Wq ≈ 52 segundos — aceitável para uma farmácia hospitalar. No pico de entrega de alta (λ = 90/h): ρ = 1,125 → instável → necessário 5º farmacêutico ou triagem de urgência.

Exemplo: Impressora de rede compartilhada (servidor de impressão)

8 usuários enviam trabalhos a uma fila de impressão. Em média, 3 trabalhos/min chegam, impressão leva 15 s (μ = 4/min), 1 impressora.

a=34=0,75 Erlangρ=0,75Wq45 sa = \frac{3}{4} = 0{,}75\text{ Erlang} \qquad \rho = 0{,}75 \qquad W_q \approx 45\text{ s}

Com 2 impressoras (M/M/2, ρ = 0,375): Wq ≈ 4 s. Para uma equipe que imprime relatórios críticos, a segunda impressora elimina frustração.

Dimensionamento ótimo com tabela comparativa

A tabela de servidores exibida abaixo do resultado M/M/c mostra automaticamente c−1, c, c+1, c+2:

cρC(c,a)WqLCusto/hora
31,00instável3 × hsh_s
40,7517,3%52 s0,874 × hsh_s
50,605,5%14 s0,235 × hsh_s
60,501,5%3,6 s0,066 × hsh_s

A decisão entre c=4 e c=5 exige comparar o custo de 1 farmacêutico adicional com o custo de 38 s extras de espera para 60 receitas/hora.

--- — serviço de tempo fixo (Pollaczek-Khinchine)

Quando usar: o tempo de atendimento é constante — linha de produção cadenciada, impressora de rede, farmácia com protocolo padronizado, pedágio eletrônico.

Fórmula P-K para variância zero

LqM/D/1=ρ22(1ρ)=12LqM/M/1L_q^{M/D/1} = \frac{\rho^2}{2(1-\rho)} = \frac{1}{2} \cdot L_q^{M/M/1}

Conclusão chave: com tempo fixo, a fila é exatamente metade do caso M/M/1 equivalente.

Exemplo: Farmácia hospitalar

40 pedidos/hora chegam. Dispensação padronizada em 45 segundos fixos (μ = 80/h).

ρ=4080=0,50\rho = \frac{40}{80} = 0{,}50

WqM/D/1=0,5022(10,50)×4022 segundosW_q^{M/D/1} = \frac{0{,}50^2}{2(1-0{,}50) \times 40} \approx 22 \text{ segundos}

Com tempo variável (M/M/1, mesma média): Wq ≈ 45 segundos. Padronizar o processo de dispensação cortou o tempo de espera à metade.


Exemplo: Caixa de supermercado (tempo padronizado)

15 clientes/hora, tempo fixo de 3 min por cliente (μ = 20/h).

ρ=0,75WqM/D/1=4,5 minvsWqM/M/1=9 min\rho = 0{,}75 \qquad W_q^{M/D/1} = 4{,}5 \text{ min} \quad \text{vs} \quad W_q^{M/M/1} = 9 \text{ min}

Treinar caixas para atingir um tempo padronizado de atendimento reduz a espera percebida pela metade — sem contratar ninguém.


Exemplo: Pedágio com pagamento eletrônico

120 carros/hora por pista. Passagem leva sempre 20 segundos (μ = 180/h).

ρ=120180=0,667Wq20 segundos\rho = \frac{120}{180} = 0{,}667 \qquad W_q \approx 20 \text{ segundos}

Se o sistema caísse para cobrança manual (tempo variável, mesma média), Wq dobraria para ~40 s. Em horários de pico com λ = 160 carros/h (ρ = 0,889), o M/D/1 dá Wq ≈ 2,5 min; o M/M/1 daria ~10 min.


Exemplo: Linha de montagem cadenciada

25 peças/hora chegam a uma estação com tempo de ciclo fixo de 2 minutos (μ = 30/h).

ρ=2530=0,833WqM/D/15 minvsWqM/M/110 min\rho = \frac{25}{30} = 0{,}833 \qquad W_q^{M/D/1} \approx 5 \text{ min} \quad \text{vs} \quad W_q^{M/M/1} \approx 10 \text{ min}

A estação está operando a 83% de capacidade. Se a demanda subir para 28 peças/h (ρ = 0,933), Wq do M/D/1 já vai para 14 min — gargalo crítico.

Por que o M/D/1 tem exatamente metade da fila do M/M/1?

A fórmula P-K geral é:

Lq=ρ2+λ2Var[S]2(1ρ)L_q = \frac{\rho^2 + \lambda^2 \cdot \text{Var}[S]}{2(1-\rho)}

Para M/M/1: Var[S]=1/μ2\text{Var}[S] = 1/\mu^2 → termo extra = ρ² → soma fica 2ρ² → Lq = ρ²/(1−ρ).

Para M/D/1: Var[S]=0\text{Var}[S] = 0 → só o primeiro termo → Lq = ρ²/[2(1−ρ)].

A variabilidade zero do serviço elimina metade da fila. Isso explica por que protocolos padronizados (scripts de atendimento, automação, takt time industrial) reduzem filas sem aumentar a velocidade média de serviço.

Como verificar se o serviço é “suficientemente fixo” para usar M/D/1

Meça o CV do tempo de serviço a partir de uma amostra:

CV medidoErro ao usar M/D/1 em vez do modelo correto
CV < 0,15< 2% — M/D/1 é preciso
0,15 ≤ CV < 0,45–20% — M/D/1 subestima levemente a fila
0,4 ≤ CV < 0,720–50% — use Erlang-k ou M/G/1
CV ≥ 0,7> 50% — use M/M/1 ou M/G/1 com Lognormal

--- — capacidade máxima finita

Quando usar: o sistema tem um limite físico — vagas de estacionamento, assentos de sala de espera, buffer de chamadas, quantidade de pedidos em processamento.

Fórmulas

P0=1ρ1ρK+1P(n)=P0ρnPK=P0ρKλeff=λ(1PK)P_0 = \frac{1-\rho}{1-\rho^{K+1}} \quad P(n) = P_0 \cdot \rho^n \quad P_K = P_0 \cdot \rho^K \quad \lambda_{eff} = \lambda(1-P_K)

Exemplo: Estacionamento com 15 vagas

10 carros/hora chegam. Permanência média: 2 horas (μ = 0,5/h). Capacidade: 15 vagas.

ρ=100,5=20(ρ > 1, mas estaˊvel com K finito)\rho = \frac{10}{0{,}5} = 20 \qquad \text{(ρ > 1, mas estável com K finito)}

P(K=15) ≈ 0,1% — praticamente não há bloqueio. Se a demanda triplicar (λ = 30), bloqueio sobe drasticamente e carros ficam esperando na rua.


Exemplo: Buffer de chamadas (M/M/1/5)

50 chamadas/hora chegam a 1 atendente com μ = 20/h. Fila máxima: 5 posições.

ρ=5020=2,5PK44,4%\rho = \frac{50}{20} = 2{,}5 \qquad P_K \approx 44{,}4\%

Quase metade das chamadas é bloqueada. Para bloqueo < 5%: aumentar K para ~20 ou adicionar 2 atendentes (M/M/2, ρ = 1,25 — ainda instável!) ou 3 atendentes (M/M/3, ρ = 0,833 — estável, Wq ≈ 2 min).

Exemplo: Sistema de pedidos online com limite de concurrent orders

Plataforma de e-commerce aceita no máximo K = 100 pedidos simultâneos em processamento. λ = 80 pedidos/min, μ = 1 pedido/min (processamento de pagamento + estoque). 1 “worker” lógico.

ρ=801=80K=100\rho = \frac{80}{1} = 80 \qquad K = 100

Apesar de ρ >> 1, o sistema é estável com capacidade finita. P(bloqueio) = P_K ≈ 1% — pedidos raramente são rejeitados. Wq é alto (dezenas de minutos), mas o sistema não colapsa. Aumentar para 5 workers paralelos (M/M/5/100): Wq cai para < 2 min e P(bloqueio) ≈ 0%.

Dimensionamento de K versus c

Para sistemas M/M/1/K, há dois alavancas independentes: aumentar K (mais espaço de espera) ou aumentar c (mais servidores):

AçãoEfeito em P(bloqueio)Efeito em Wq
Aumentar K↓ Bloqueio↑ Wq (mais gente espera)
Aumentar c↓ Bloqueio↓↓ Wq (atende mais rápido)

Moral: aumentar K sem aumentar c reduz perdas mas aumenta a espera dos que entram. Em aplicações onde o custo de espera é alto (saúde, tempo real), c é a alavanca certa.

Exemplo: UPA — sala de espera com capacidade limitada

20 cadeiras na sala de espera. 10 pacientes chegam por hora, 1 médico com μ = 3/h. K = 21 (20 cadeiras + 1 em atendimento).

ρ=103=3,33PK29%\rho = \frac{10}{3} = 3{,}33 \qquad P_K \approx 29\%

Quase 1 em 3 pacientes encontra a sala cheia e vai para outra unidade. Com 2 médicos (M/M/2/21, ρ = 1,67, sistema estável): P(bloqueio) ≈ 2,5%. O segundo médico é decisivo.

--- (sem fila, perda pura)

Quando usar: chegadas em excesso são perdidas, não esperadas — ramais PABX, leitos hospitalares por especialidade, mesas de restaurante, licenças de software concurrent users.

Fórmula de Erlang-B

B(c,a)=aB(c1,a)c+aB(c1,a)B(0,a)=1a=λμB(c, a) = \frac{a \cdot B(c-1, a)}{c + a \cdot B(c-1, a)} \qquad B(0,a) = 1 \qquad a = \frac{\lambda}{\mu}

Exemplo: Ramais PABX

Escritório com 4 ramais. 30 chamadas/hora, duração média 5 min (μ = 12/h). a = 2,5 Erlangs.

Ramais (c)Bloqueio
322,1%
49,4%
53,5%
61,1%
70,3%

Com 4 ramais, 1 em cada 10 chamadas cai no “ocupado”. Para ≤ 2% de bloqueio (padrão comercial): 5 ramais.


Exemplo: Leitos de UTI

10 leitos. 2 internações/dia chegam. Permanência média 5 dias (μ = 0,2/dia). a = 10 Erlangs.

LeitosBloqueio
1034,2%
1410,2%
182,5%
220,5%

Com 10 leitos, 1 em 3 pacientes críticos não encontra vaga. Para bloqueio < 5%: 18 leitos. Este cálculo é a base do planejamento de capacidade hospitalar pelo Ministério da Saúde.


Exemplo: Mesas de restaurante no horário de pico

20 mesas. 40 grupos chegam/hora no pico. Refeição média: 45 min (μ = 1,33 grupos/hora/mesa). a ≈ 30 Erlangs.

B(20, 30) ≈ 54% dos grupos não encontram mesa.

Para ≤ 10% de bloqueio: ~28 mesas. Alternativa prática: sistema de reservas reduz a chegada aleatória (Poisson → determinístico), cortando drasticamente o excesso.


Exemplo: Licenças concurrent de software

Empresa tem 4 licenças floating de um ERP. 10 usuários tentam acessar/hora, cada sessão dura 20 min (μ = 3/h). a = 10/3 ≈ 3,33 Erlangs.

B(4, 3,33) ≈ 23% dos acessos bloqueados. Com 6 licenças: bloqueio cai para ~5%. Com 8: ~0,6%.

Como a fórmula de Erlang-B é calculada iterativamente

A recursão de Jagerman é numericamente estável para c grande:

B(0,a)=1B(n,a)=aB(n1,a)n+aB(n1,a)n=1,2,,cB(0, a) = 1 \qquad B(n, a) = \frac{a \cdot B(n-1, a)}{n + a \cdot B(n-1, a)} \qquad n = 1, 2, \ldots, c

Isso evita o overflow de ac/c!a^c / c! para valores grandes de aa e cc — relevante em dimensionamento de redes com dezenas de circuitos.

Regra prática de Erlang-B para planejamento rápido

Para bloqueio ≤ 2% (padrão comercial telecom):

Tráfego (Erlangs)Circuitos necessáriosMargem sobre a
14
510
10161,6×
50621,24×
1001151,15×

Efeito de economia de escala: ao dobrar o tráfego, o número de circuitos necessários cresce menos que o dobro — sistemas maiores são mais eficientes em termos de utilização por circuito.

Erlang-B vs Erlang-C — quando usar cada um

CritérioErlang-B (M/M/c/c)Erlang-C (M/M/c)
Chegadas em excessoSão perdidasAguardam em fila
ExemplosPABX, leitos, licenças, mesasCall center, guichês, caixas
Métrica de interesseProbabilidade de bloqueioTempo de espera (Wq)
SLA típicoBloqueio ≤ 2%Wq ≤ T segundos com P ≥ 80%
Consequência do excessoCliente desiste/vai emboraCliente espera (pode abandonar depois)

--- — a ligação universal

Válida para qualquer sistema estável, independente do modelo ou distribuição:

L=λWLq=λWqL = \lambda \cdot W \qquad L_q = \lambda \cdot W_q

Exemplo prático: Em uma linha de montagem, há em média 8 peças no sistema. O tempo de ciclo total (do início ao fim) é 12 minutos. Taxa de saída = L/W = 8/12 = 0,667 peças/min = 40 peças/hora.

A Lei de Little permite medir qualquer grandeza (L, W ou λ) a partir das outras duas — sem depender de modelo matemático.

Aplicações práticas da Lei de Little

1. Medir throughput real de uma fábrica

Há 40 ordens em andamento (L = 40). O lead time médio é 5 dias (W = 5). Portanto λ = L/W = 8 ordens concluídas por dia — mesmo sem medir λ diretamente.

2. Estimar WIP necessário para atingir um throughput

Uma linha deve processar 200 peças/dia (λ = 200). O tempo de ciclo (W) é 4 horas = 0,5 dia. Logo o WIP médio deve ser L = 200 × 0,5 = 100 peças em processo simultâneo.

3. Medir o lead time de uma pipeline de software (DevOps)

Há 15 cards ativos no Kanban (L = 15). A equipe fecha 3 cards por dia (λ = 3). Lead time médio = L/λ = 5 dias — métrica central do DORA e do Fluxo.

4. Dimensionamento de inventário em trânsito

Empresa exporta 500 contêineres/mês. Tempo médio de trânsito: 18 dias = 0,6 mês. Inventário médio em trânsito = 500 × 0,6 = 300 contêineres imobilizados.

5. Filas hospitalares — relação entre espera e ocupação

UTI com 10 leitos (c = 10). Taxa de internação: 2/dia. Permanência média: 4 dias. L = 2 × 4 = 8 leitos ocupados em média → ρ = 80%.

Teorema de Jackson — redes de filas

Para redes de filas com servidores M/M/c e roteamento probabilístico (Jackson networks), o teorema de Jackson afirma que cada nó se comporta como uma fila M/M/c independente em regime estacionário, com λ efetivo calculado pela equação de equilíbrio de fluxo:

λj=Λj+iλirij\lambda_j = \Lambda_j + \sum_{i} \lambda_i \cdot r_{ij}

onde Λj\Lambda_j é a taxa de chegada externa ao nó j e rijr_{ij} é a fração de entidades que vão do nó i ao nó j.

Isso permite calcular Wq, Lq e ρ de cada etapa independentemente usando as fórmulas M/M/c — e somar os Wq para obter o tempo total em uma rede em série. A ferramenta de rede de filas desta calculadora usa exatamente este princípio.


Antes de escolher o modelo, determine se suas chegadas e tempos de serviço seguem Poisson/Exponencial. A seção “Ajuste de distribuição” analisa automaticamente sua amostra:

Coeficiente de Variação (CV = σ/média)

CV medidoDistribuição sugeridaModelo indicado
CV < 0,15Quase constanteM/D/1 ou M/D/c
0,15 ≤ CV < 0,65Erlang-k (k ≈ 1/CV²)M/Ek/c (use simulação)
0,65 ≤ CV < 1,35Exponencial (Markoviana)M/M/c
CV ≥ 1,35Hiper-exponencialSimulação DES recomendada

Teste de Kolmogorov-Smirnov

Para CV ≈ 1, o KS testa formalmente se os dados são compatíveis com exponencial a 95% de confiança — exibindo D observado vs. D crítico.

Como usar

  1. Colete tempos entre chegadas sucessivas (ou tempos de serviço)
  2. Cole os valores no campo (vírgula, ponto-e-vírgula ou quebra de linha)
  3. Clique “Analisar” — a ferramenta retorna CV, histograma, sugestão e KS
  4. Clique “Aplicar λ/μ” para preencher o parâmetro e recalcular

Comparação de Cenários — Process Analyzer com IC 95%

O Process Analyzer (seção “Comparação de Cenários”) permite avaliar múltiplas configurações do sistema em paralelo — o equivalente ao Process Analyzer do Arena e ao Scenario Manager do Simul8.

O que é um cenário?

Um cenário é uma variação dos parâmetros atuais com overrides específicos: você define a configuração base (formulário principal) e cada cenário aplica alterações pontuais — ex: aumentar λ em 20%, adicionar 1 servidor, melhorar μ em 10%.

Campos configuráveis por cenário:

ParâmetroSignificado
λTaxa de chegada do cenário (substitui a global)
μTaxa de serviço do cenário
cNúmero de servidores do cenário
modeloHerdado da configuração base

Replicações e Intervalo de Confiança

Cada cenário é rodado RR vezes (replicações), cada uma com NN entidades. As estatísticas de saída (WqW_q, LqL_q, ρ\rho) variam entre réplicas por causa da aleatoriedade. O IC 95% é calculado via t-Student com df = R − 1:

Wq±tR1,0.025sR\overline{W_q} \pm t_{R-1,\,0.025} \cdot \frac{s}{\sqrt{R}}

onde ss é o desvio padrão amostral entre réplicas.

Parâmetros recomendados:

  • Réplicas R: 10–20 para exploração inicial; 30–50 para decisões de investimento
  • Entidades N: 300–500 para IC estreito; aumentar se o CV for alto (>25%)

Quando usar

  • Dimensionamento de capacidade: comparar c=2 vs c=3 com os ICs — se os ICs não se sobrepõem, a diferença é estatisticamente significativa
  • Análise de sensibilidade: quanto o Wq piora se λ crescer 20%? E se μ cair 10%?
  • Planejamento de pico: simular o cenário “Pico de demanda” com λ×1.3 e verificar se ρ < 1
  • Business case: exportar o CSV e comparar custo de servidores vs. redução de Wq

Interpretação da tabela

  • Fundo vermelho: ρ ≥ 1 — sistema instável, fila cresce indefinidamente
  • Fundo amarelo: ρ ≥ 0.9 — risco de saturação em picos transientes
  • IC estreito (CV < 10%): estimativa confiável — poucas réplicas são suficientes
  • IC largo (CV > 25%): aumente o número de réplicas ou de entidades

Dica: Use o analítico (fórmulas fechadas) para triagem rápida e o simulador (replicações) para validar e obter ICs reais — especialmente quando ρ > 0.8, onde as fórmulas M/M/c superestimam a estabilidade.


Simulação de Eventos Discretos (DES)

O botão 🎲 Simular abre uma simulação DES completa — o mesmo princípio do Arena e Simul8, executado no navegador.

Como funciona

  • Chegadas homogêneas: intervalo entre chegadas = −ln(U)/λ (transformada inversa da exponencial)
  • Chegadas não-homogêneas (NHPP): método de Lewis-Shedler (thinning) — gera candidatos com λ_max e aceita cada um com probabilidade λ(t)/λ_max, respeitando o perfil de chegada por período
  • Serviço exponencial: amostra por transformada inversa
  • Erlang-k: soma de k amostras exponenciais de taxa k·μ
  • Weibull, Lognormal, Normal, Triangular, Uniforme: amostras por transformada inversa ou aceitação-rejeição
  • Alocação: servidor mais cedo disponível; se todos ocupados → fila virtual
  • Bloqueio: M/M/1/K rejeita quando cheio; M/M/c/c rejeita quando todos os servidores ocupados

O que os resultados mostram

SaídaSignificado
Simulação vs AnalíticoValida as fórmulas para os parâmetros dados
Histograma de WqDistribuição completa da espera (percentis reais)
Fila × tempoEvolução dinâmica — identifica rajadas e períodos de folga
Taxa de bloqueio simuladaProporção real de entidades rejeitadas

Para análises críticas, use N = 500 entidades. Concordância dentro de ±10% com o analítico confirma que os parâmetros estão corretos.


Taxas de chegada variáveis no tempo (NHPP)

Em muitos sistemas reais, λ não é constante ao longo do dia — call centers têm pico na manhã, restaurantes no almoço, servidores web pico em horário comercial. A ferramenta implementa um Processo de Poisson Não-Homogêneo (NHPP) via o botão ⏱ λ variável no tempo no painel de parâmetros.

Como configurar o perfil de chegada

  1. Clique em ⏱ λ variável no tempo abaixo do campo λ
  2. No modal, defina períodos com rótulo, duração e taxa λ — os períodos são cíclicos (ex.: 24h se repetem a cada dia)
  3. O mini gráfico de barras atualiza em tempo real (largura ∝ duração do período)
  4. Clique ✓ Aplicar perfil — o badge λ̄ = X.XX/h aparece ao lado do botão confirmando a ativação

Cálculo analítico vs simulação NHPP

ModoO que usaQuando usar
Fórmulas (analítico)λ médio ponderado λ̄ = Σ(λᵢ·dᵢ)/Σ(dᵢ)Estimativa rápida de dimensionamento
🎲 SimularNHPP via Lewis-Shedler thinningAnálise precisa do impacto do perfil horário

O λ médio ponderado é exato para dimensionamento em regime estacionário. A simulação NHPP revela o impacto dinâmico: nos períodos de pico, a fila cresce; nos vales, esvazia. A diferença entre o Wq máximo de pico e o Wq médio pode ser 3–10× dependendo do perfil.

Exemplo: call center com perfil diário

Perfil: 08h–10h (λ=80/h), 10h–12h (λ=50/h), 12h–14h (λ=30/h), 14h–18h (λ=60/h), restante (λ=10/h). μ=15/h, c=6 atendentes.

  • λ médio ponderado ≈ 46/h → ρ ≈ 51% → Wq analítico ≈ 12 s (parece confortável)
  • Simulação NHPP no pico 08h–10h: ρ ≈ 89% → Wq de pico ≈ 3,5 min

A análise com λ constante subestima dramaticamente o impacto do pico. Com NHPP + simulação, descobre-se que são necessários 7 atendentes para manter Wq < 30 s durante o pico matutino.

Método de Lewis-Shedler (thinning)

O algoritmo gera um processo de Poisson homogêneo com taxa λ_max = max(λ₁, λ₂, …, λₙ) e, para cada evento candidato no instante t, aceita-o com probabilidade λ(t)/λ_max:

P(aceitar em t)=λ(t)λmaxP(\text{aceitar em } t) = \frac{\lambda(t)}{\lambda_{\max}}

O resultado é um processo não-homogêneo exato. O tempo t é avaliado módulo o período total do ciclo, tornando o perfil cíclico e compatível com simulações de múltiplos dias.


Período de Warm-up — Regime Transiente vs. Estacionário

Todo sistema de filas real passa por uma fase inicial chamada regime transiente: logo após a abertura (ou reinicialização), a fila começa vazia e o comportamento ainda não reflete o padrão de longo prazo. À medida que o sistema opera, as estatísticas convergem para o regime estacionário — o equilíbrio estatístico descrito pelas fórmulas de M/M/1, M/M/c etc.

Por que isso importa?

Se você mede Lq, Wq e ρ incluindo o período de aquecimento, os valores aparecem artificialmente melhores do que a realidade operacional. Um caixa de supermercado medido nos primeiros 10 minutos após a abertura terá fila quase zero — mas esse dado não representa o meio do dia.

Como a ferramenta trata o warm-up

Nos Parâmetros de Simulação, acima do botão Calcular, você define:

CampoO que representa
Duração totalJanela de tempo da operação (ex.: 480 min = turno de 8h)
Warm-upPeríodo inicial descartado das estatísticas (ex.: 60 min)

A ferramenta exibe automaticamente: “KPIs calculados sobre X min (pós warm-up)”.

Curva de convergência Lq(t)

O gráfico “Lq ao longo do tempo” mostra a evolução teórica do comprimento médio da fila usando a aproximação:

Lq(t)=Lq(1eαt)Lq(t) = Lq_{\infty} \cdot \left(1 - e^{-\alpha t}\right)

onde α = μ · c · (1 − ρ) é a taxa de convergência do sistema. Quanto maior α (servidores rápidos, utilização baixa), mais rápida a estabilização.

A área amarela representa o período de warm-up. A linha tracejada horizontal marca Lq∞ (valor estacionário).

Badge de regime

BadgeSignificado
🟢 EstacionárioO warm-up definido é suficiente para cobrir 95% da convergência
🟡 TransienteO warm-up é curto — as estatísticas ainda carregam influência do estado inicial

A fronteira é o tempo t₉₅ = −ln(0,05) / α, que representa o instante em que o sistema já atingiu 95% do valor estacionário de Lq.

Regra prática

Para sistemas com ρ > 0,8, o tempo de estabilização pode ser longo. Uma heurística comum em simulações industriais é usar 10–20% da duração total como warm-up — ou até a primeira vez em que a fila esvazia completamente após a abertura.


Filas com Prioridade — Disciplina PRIO e Tipos de Entidade

O que é disciplina de fila?

Em sistemas reais, nem todo cliente espera a mesma coisa na mesma fila. A disciplina de fila define a ordem de atendimento:

DisciplinaSiglaComportamento
Primeiro a chegar, primeiro a ser atendidoFIFOOrdem de chegada — todos os tipos têm o mesmo Wq
Prioridade (não-preemptiva)PRIOClientes de maior prioridade ficam à frente; quem está em atendimento não é interrompido
Último a chegar, primeiro a ser atendidoLIFOÚtil para modelar pilhas (stacks) — ex.: inventário em armazém

Múltiplos tipos de entidade

Quando o sistema atende clientes de diferentes tipos (Regular, VIP, Urgente), cada tipo possui:

  • Proporção (%) — fração do fluxo total de chegadas: λk=λ×pk\lambda_k = \lambda \times p_k
  • Prioridade — nível 1 a 5 (maior = atendido primeiro no modo PRIO)
  • μ próprio (opcional) — taxa de serviço específica para o tipo (ex.: VIP com atendimento mais rápido)

Fórmula de Kleinrock (M/M/1, PRIO não-preemptiva)

Para uma fila M/M/1 com KK classes de prioridade ordenadas de maior para menor, defina:

ρk=λkμk,σ0=1,σj=1i=1jρi\rho_k = \frac{\lambda_k}{\mu_k}, \qquad \sigma_0 = 1, \qquad \sigma_j = 1 - \sum_{i=1}^{j} \rho_i

O tempo médio de espera na fila para a classe kk é:

Wq(k)=R0σk1σkW_q^{(k)} = \frac{R_0}{\sigma_{k-1} \cdot \sigma_k}

onde R0=kλkμk2R_0 = \sum_k \dfrac{\lambda_k}{\mu_k^2} é o tempo residual de serviço ponderado.

O número médio na fila por tipo segue pela Lei de Little: Lq(k)=λkWq(k)L_q^{(k)} = \lambda_k \cdot W_q^{(k)}.

Para M/M/c (c > 1): a ferramenta escala o resultado acima pelo ratio WqMMc/WqMM1W_q^{MMc} / W_q^{MM1} — uma aproximação conservadora. Para precisão máxima, use a simulação (🎲 Simular).

Condição de estabilidade com prioridades

O sistema é estável se ρtotal=kρk<1\rho_{total} = \sum_k \rho_k < 1.
Atenção: para as classes mais baixas o denominador σk1σk\sigma_{k-1} \cdot \sigma_k pode se aproximar de zero, fazendo Wq(k)W_q^{(k)} \to \infty antes mesmo do sistema global ficar instável — é o fenômeno de starvation (inanição).

Exemplo

Banco com λ = 30 clientes/hora, μ = 15/hora, 2 servidores (M/M/2):

TipoProporçãoλₖPrioridadeWq estimado
Regular70%21/h1 — padrão~4,2 min
VIP20%6/h2 — alto~1,8 min
Urgente10%3/h3 — crítico~0,9 min

O VIP espera ~57% menos que o Regular; o Urgente ~78% menos.

Quando usar PRIO vs. FIFO

  • FIFO: quando todos os clientes têm o mesmo valor e justiça é prioritária
  • PRIO: call centers com SLA diferenciado, urgências hospitalares, sistemas de TI com tickets críticos, logística com entregas prioritárias
  • LIFO: modelagem de estoques LIFO, buffers de rede com descarte de pacotes mais antigos

Roteamento Condicional — Como as Entidades Escolhem o Próximo Estágio

Em uma rede de filas real, nem toda entidade percorre todos os estágios. Um paciente pode ser liberado após a triagem sem passar pela consulta; 30% dos pedidos podem ir para o depósito A e 70% para o B. Isso é roteamento condicional.

Três tipos de roteamento

TipoSímboloQuando usar
Serial→ 100%Todas as entidades passam para o próximo estágio — fluxo obrigatório
Probabilístico→ p%Cada entidade tem probabilidade fixa p de entrar no estágio — independente de atributos
Regra (atributo)→ se attr op valA decisão depende de um atributo da entidade (prioridade, classe, etc.)

Probabilístico — divisão de fluxo

Se o roteamento entre estágio ii e estágio i+1i+1 tem fração pp, o λ efetivo do estágio i+1i+1 é:

λi+1=λsaıˊda,i×p\lambda_{i+1} = \lambda_{\text{saída},i} \times p

onde λsaıˊda,i=λi×(1Pbloqueio,i)\lambda_{\text{saída},i} = \lambda_i \times (1 - P_{\text{bloqueio},i}).

Exemplos: triagem hospitalar onde 40% são liberados sem consulta; call center onde 60% são resolvidos no nível 1 e 40% escalam para especialista; e-commerce com depósitos paralelos.

Regra (atributo)

A entidade carrega um atributo (prioridade, peso, classe) e, ao sair de um estágio, a condição é avaliada: se verdadeira, entra no próximo estágio; caso contrário, sai do sistema ou vai para rota alternativa.

Para o cálculo analítico, usa-se uma fração estimada p^\hat{p} — a proporção de entidades que satisfaz a condição. O modelo trata como probabilístico com p=p^p = \hat{p}.

λVIP=λ×p^VIP,λregular=λ×(1p^VIP)\lambda_{\text{VIP}} = \lambda \times \hat{p}_{\text{VIP}}, \quad \lambda_{\text{regular}} = \lambda \times (1 - \hat{p}_{\text{VIP}})

Exemplo numérico: banco com 100 clientes/hora, 20% VIP (prioridade ≥ 2). O caixa VIP recebe λ=20\lambda = 20/hora; o regular, λ=80\lambda = 80/hora.

Quando usar cada tipo

  • Serial: fluxo obrigatório, todas as entidades percorrem todas as etapas (linha de produção sequencial, pipeline de microserviços)
  • Probabilístico: fluxo aleatório sem distinção por tipo — abandono espontâneo, round-robin, amostragem aleatória para QA
  • Regra: fluxo diferenciado por tipo de entidade — triagem médica (urgente/não-urgente), SLA diferenciado (VIP/standard), filas de suporte por nível de complexidade

Atenção: Com roteamento probabilístico, o λ total do sistema se reduz. Verifique a condição de estabilidade de cada estágio separadamente — o gargalo pode mudar com o roteamento.


Recursos com Turnos, Breaks e Falhas (Downtime)

Em sistemas reais, servidores não ficam disponíveis 24 h por dia com capacidade constante. Uma linha de produção opera em três turnos com equipes diferentes; um call center tem menos atendentes à noite; uma máquina para periodicamente para manutenção. Ignorar isso superestima a capacidade real e subestima o tempo de espera.

Turnos de trabalho

Um turno define um intervalo de tempo (início–fim, em minutos desde meia-noite ou desde o início da simulação) e quantos servidores estão ativos nesse período. A tabela de turnos é cíclica — ao fim do último turno o ciclo reinicia automaticamente.

ConceitoSignificado
Início / FimLimite do turno em minutos dentro de um ciclo diário (0 = meia-noite)
Servidores ativosNúmero de servidores disponíveis durante o turno

Regra prática: não deixe turnos com gap (horário sem cobertura) a não ser que seja intencional — entidades que chegam nesse período encontram 0 servidores e ficam bloqueadas.

O número efetivo de servidores no instante tt da simulação é:

c(t)=cturno(tmodT)c(t) = c_{\text{turno}(t \bmod T)}

onde TT é a duração total do ciclo de turnos.

Falhas e Manutenção

Falhas são modeladas por dois parâmetros:

ParâmetroSignificado
MTBF (Mean Time Between Failures)Tempo médio entre falhas — quanto tempo o servidor opera sem parar. Amostrado por distribuição exponencial.
MTTR (Mean Time To Repair)Tempo médio de reparo — quanto tempo o servidor fica indisponível após uma falha. Também exponencial.

Durante um evento de falha, o servidor afetado fica indisponível por um período MTTR e as entidades que chegariam a ele precisam esperar ou migrar para outro servidor disponível.

Disponibilidade teórica do recurso (sem considerar turnos):

A=MTBFMTBF+MTTRA = \frac{\text{MTBF}}{\text{MTBF} + \text{MTTR}}

O downtime percentual exibido na interface é 1A1 - A. Por exemplo, MTBF = 240 min e MTTR = 30 min resultam em A=0,889A = 0{,}889 — 11 % do tempo o servidor está em reparo.

Impacto nas métricas

Com turnos e falhas, a utilização efetiva do servidor aumenta mesmo sem mudar λ\lambda ou μ\mu, porque a capacidade disponível diminui. Um sistema estável em teoria pode se tornar instável na prática se a disponibilidade for baixa:

ρefetivo=λμcA\rho_{\text{efetivo}} = \frac{\lambda}{\mu \cdot c \cdot A}

Para sistemas com turnos, a ferramenta usa Simulação de Eventos Discretos para calcular WqW_q, LqL_q e ρ\rho — as fórmulas analíticas M/M/c supõem capacidade constante e não se aplicam diretamente.

Quando usar

  • Turnos: linhas de produção, call centers, supermercados com abertura/fechamento, hospitais com plantões
  • Falhas: máquinas industriais, equipamentos médicos, servidores de TI, guichês sujeitos a lentidão sistêmica

Distribuições não-exponenciais — M/G/1 e M/G/c

Na prática, nem sempre o tempo de serviço segue uma distribuição exponencial. A ferramenta permite selecionar sete distribuições no campo “Distribuição do tempo de serviço”, todas com resultados analíticos via fórmulas P-K e Kingman:

DistribuiçãoParâmetrosCV típicoQuando usar
Exponencialμ1,00Padrão M/M/c — alta variabilidade aleatória
Erlang-kk fases, μ1/√kServiços com k etapas sequenciais de duração igual
Weibullα (forma), β (escala)depende de αVida útil de equipamentos, tempos de reparo
Lognormalμln, σlndepende de σlnTarefas cognitivas, atendimentos com cauda longa
Normal truncadaμ, σbaixo (< 1)Processos bem treinados com pequena variabilidade
Triangularmín, moda, máxbaixoEstimativas por especialista sem dados históricos
Uniformea, b1/√3 ≈ 0,58Serviços com tempo garantidamente entre a e b

Coeficiente de Variação (CV = σ/média)

O CV é o indicador-chave. A ferramenta exibe o CV = valor ao lado do seletor em tempo real.

  • CV < 1: tempos mais previsíveis que o exponencial → fila menor que M/M/c
  • CV = 1: equivalente ao exponencial → resultados idênticos ao M/M/c
  • CV > 1: tempos mais variáveis → fila maior que M/M/c

Fórmula Pollaczek-Khinchine (M/G/1)

Para 1 servidor e qualquer distribuição com média E[S] = 1/μ e variância Var[S]:

Lq=λ2E[S2]2(1ρ)ondeE[S2]=1+CV2μ2L_q = \frac{\lambda^2 \cdot \mathrm{E}[S^2]}{2(1-\rho)} \qquad \text{onde} \quad \mathrm{E}[S^2] = \frac{1+CV^2}{\mu^2}

Wq=LqλW=Wq+1μL=λWW_q = \frac{L_q}{\lambda} \qquad W = W_q + \frac{1}{\mu} \qquad L = \lambda W

Quando CV = 1 (exponencial), a fórmula P-K reproduz exatamente o M/M/1.

Aproximação de Kingman VCA (M/G/c)

Para c servidores paralelos, a aproximação de Kingman corrige o M/M/c pelo CV:

LqM/G/cLqM/M/c1+CV22L_q^{M/G/c} \approx L_q^{M/M/c} \cdot \frac{1 + CV^2}{2}

O fator (1 + CV²)/2 vale exatamente 1 para CV = 1 (exponencial) e reduz para 0,5 quando CV → 0 (tempo constante, equivalente a M/D/c). Esta aproximação tem erro tipicamente < 5% para ρ < 0,90.

Exemplo: call center com tempos de atendimento lognormais

80 chamadas/hora, 4 atendentes, μ = 15/h. Dados históricos mostram CV = 1,8 (cauda longa típica de chamadas técnicas).

ModeloLqWq
M/M/c (CV = 1)0,1747,8 s
M/G/c com CV = 1,8 (Kingman)0,31214,0 s

A variabilidade real quase dobra o tempo de espera. Com 5 atendentes (ρ = 1,07 → instável com c=4 neste exemplo; cf. valores reais na ferramenta), Wq cai drasticamente.

Exemplo: linha de montagem com Erlang-4

25 peças/hora, 1 estação, cada operação tem 4 etapas iguais em série de ~30 s cada (μ = 30/h, k = 4 → CV = 0,5).

LqM/G/1=LqM/M/11+0,522=LqM/M/1×0,625L_q^{M/G/1} = L_q^{M/M/1} \cdot \frac{1 + 0{,}5^2}{2} = L_q^{M/M/1} \times 0{,}625

Com a distribuição Erlang-4 a fila é 37,5% menor do que o M/M/1 estimaria. Modelar corretamente a distribuição pode mudar significativamente a decisão sobre adicionar servidores.


Guia rápido: qual modelo usar?

Há fila física possível?
├── NÃO → M/M/c/c (Erlang-B)      ramais, leitos, mesas, licenças
└── SIM
    ├── Há capacidade máxima K?
    │   └── SIM → M/M/1/K          estacionamento, buffer, sala de espera finita
    └── NÃO (fila ilimitada)
        ├── Distribuição do tempo de serviço
        │   ├── Exponencial (CV ≈ 1)
        │   │   ├── 1 servidor → M/M/1
        │   │   └── c servidores → M/M/c (Erlang-C)
        │   ├── Fixo/constante (CV = 0) → M/D/1
        │   └── Geral (Erlang, Weibull, Lognormal, Normal, Triangular, Uniforme)
        │       ├── 1 servidor → P-K formula (M/G/1)
        │       └── c servidores → Kingman VCA (M/G/c)

Como coletar dados para modelagem — passo a passo

A qualidade do modelo depende da qualidade dos dados. Fórmulas perfeitas com parâmetros errados geram resultados inúteis.

Passo 1 — Definir o escopo do sistema

Antes de medir, responda:

  • O que é uma entidade? (cliente, pedido, peça, requisição)
  • Onde ela entra no sistema? (porta, API endpoint, início da linha)
  • Onde ela sai? (atendimento concluído, entrega, resposta enviada)
  • Quem são os servidores? (atendentes, máquinas, threads)

Passo 2 — Medir λ (taxa de chegada)

Método direto: registre o horário de cada chegada durante o período de análise. Divida o total pelo tempo.

Ferramentas: planilha com timestamp, log de sistema (grep + awk), vídeo com contador, catracas automáticas.

Cuidados:

  • Meça em diferentes dias e horários — λ varia (use o modo NHPP se variar > 2×)
  • Identifique sazonalidades (semana vs. fim de semana, mês do ano)
  • Descarte períodos atípicos (feriados, promoções, incidentes)
  • Amostra mínima recomendada: 30 períodos do mesmo tipo (30 picos de segunda-feira, por exemplo)

Passo 3 — Medir μ (taxa de serviço)

Método direto: cronometre o tempo de início e fim de cada atendimento. μ = 1 / média dos tempos.

Atenção: meça o tempo de serviço puro (não incluindo espera). Em sistemas com log, é departure_time − service_start_time.

Cuidados:

  • Amostras mínimas: 30–50 atendimentos para CV estável
  • Meça por servidor se houver diferença de velocidade (μ₁ ≠ μ₂)
  • Identifique bimodalidades (atendimentos simples vs. complexos) — se CV > 1,5, considere separar em dois tipos ou usar M/G/1 com Lognormal
  • Exclua interrupções (pausa do atendente, sistema travado) do tempo de serviço

Passo 4 — Validar com Kolmogorov-Smirnov

Com a amostra coletada, use o botão 🔬 Análise de distribuição para:

  1. Verificar se os tempos entre chegadas seguem Poisson (KS test)
  2. Verificar se os tempos de serviço seguem exponencial
  3. Obter o CV real e a distribuição mais adequada

Interpretação do KS:

  • D < D_crítico (p > 0,05): hipótese de exponencial não rejeitada — use M/M/c
  • D > D_crítico: a distribuição é diferente da exponencial — use M/G/1/M/G/c com o CV medido

Passo 5 — Calibrar e validar o modelo

Após configurar a ferramenta com os parâmetros medidos:

  1. Rode a simulação com N = 300 entidades
  2. Compare o Wq simulado com o Wq medido no sistema real
  3. Se o erro for < 15%, o modelo está calibrado — use as fórmulas para análise de cenários
  4. Se o erro for > 15%, revise: (a) λ medido no período certo? (b) há multiservidor não modelado? (c) há prioridades ignoradas?

Referência rápida de tamanho de amostra

ParâmetroMínimo aceitávelIdealPor quê
Chegadas (para λ)100 chegadas500+CV de λ decai como 1/√n
Tempos de serviço (para μ e CV)30 observações100+Estabilidade do CV e do KS test
Períodos de medição (para NHPP)5 períodos15+Média horária estável
Réplicas de simulação (para IC 95%)1030IC proporcional a 1/√R

Retorno sobre Investimento (ROI) — quando vale adicionar um servidor?

A decisão de aumentar c (mais servidores/atendentes) é essencialmente uma análise de custo-benefício. A ferramenta fornece todos os inputs para esse cálculo.

Modelo de custo total

Defina:

  • hsh_s = custo horário de um servidor (salário + encargos + equipamento)
  • heh_e = custo horário de uma entidade esperando (produtividade perdida, custo de oportunidade, penalidade por SLA, risco de abandono)
  • λ = taxa de chegada (entidades/hora)

O custo total por hora é:

C(c)=chs+λWq(c)heC(c) = c \cdot h_s + \lambda \cdot W_q(c) \cdot h_e

O número ótimo de servidores minimiza C(c). Calcule C(c) para c = c_min até c_max usando os valores de Wq da tabela comparativa.

Exemplo: central de atendimento de seguros

λ = 50 ligações/hora, μ = 6/h, hsh_s = R35/h(atendente),35/h (atendente),h_e=R = R 80/h (cliente esperando = custo de churn + NPS)

AtendentesρWq (min)Custo servidores/hCusto espera/hTotal/h
992,6%15,2R$ 315R$ 1.013R$ 1.328
1083,3%4,3R$ 350R$ 287R$ 637
1175,8%1,5R$ 385R$ 100R$ 485
1269,4%0,6R$ 420R$ 40R$ 460
1364,1%0,25R$ 455R$ 17R$ 472

O ponto ótimo neste exemplo é 12 atendentes (custo mínimo de R460/h).Passarde10para11economizaR 460/h). Passar de 10 para 11 economiza R 152/h — o 11º atendente se paga em minutos.

Custo de abandono (impatient customers)

Em sistemas reais, clientes que esperam muito abandonam. A taxa de abandono aumenta com Wq. Uma aproximação simples:

Receita perdida=λP(abandono)R\text{Receita perdida} = \lambda \cdot P(\text{abandono}) \cdot R

onde R é a receita média por atendimento e P(abandono) cresce com Wq. Se o Wq simulado (use a aba de simulação) revelar que 15% dos clientes saem antes de 3 minutos e cada atendimento vale R$ 200:

Receita perdida=50×0,15×200=R$ 1.500/hora\text{Receita perdida} = 50 \times 0{,}15 \times 200 = \text{R\$ 1.500/hora}

Esse valor, somado ao custo de espera, justifica facilmente a contratação do atendente adicional.

Payback de automação (redução de μ)

Se a automação reduz o tempo de serviço de 5 min para 3 min (μ sobe de 12/h para 20/h), o impacto no Wq é equivalente a adicionar vários servidores — com custo fixo e sem variabilidade de RH. Compare o investimento em automação com o payback em redução de custo de espera e/ou redução de headcount necessário.


Erros mais comuns — e como evitá-los

Erro 1: Usar λ médio quando há sazonalidade forte

Problema: λ = 60/h no pico e λ = 10/h no vale. A média ponderada de 35/h leva a um dimensionamento que funciona bem no vale mas colapsa no pico.

Solução: configure o perfil NHPP com ⏱ λ variável no tempo e simule para ver o Wq em cada período. Dimensione para o pico que você se dispõe a absorver.

Erro 2: Medir o tempo de espera incluindo o tempo de serviço

Problema: o cronômetro começa na chegada e para na saída → obtém W (tempo total), não Wq (tempo de espera puro).

Solução: registre separadamente arrival_time, service_start_time e departure_time. Wq = service_start − arrival. W = departure − arrival.

Erro 3: Usar M/M/1 quando há múltiplos servidores paralelos

Problema: calcular ρ = λ/(c·μ) e aplicar a fórmula M/M/1 com esse ρ reduzido. Subestima dramaticamente a fila — o M/M/c concentra o efeito da variabilidade de forma diferente.

Solução: use sempre M/M/c com o c correto. Para c = 1 ambos coincidem.

Erro 4: Ignorar o período de warm-up na simulação

Problema: a simulação começa com fila vazia. As primeiras 50–100 entidades têm Wq = 0 artificialmente, puxando a média para baixo.

Solução: ative o warm-up nas configurações de simulação. Regra: warm-up ≥ 5 / (μc − λ) em unidades de tempo.

Erro 5: Confundir bloqueio com abandono

Problema: o M/M/c supõe que clientes esperam indefinidamente. Na realidade, clientes com paciência finita abandonam a fila. Ignorar isso subestima a taxa de perda real.

Solução: use a simulação com NHPP e adicione lógica de abandono (impaciência). Como aproximação, note que o Wq simulado sem abandono é um limite superior — a fila real é menor porque alguns clientes saem.

Erro 6: Usar as fórmulas com ρ ≥ 1 e interpretar os resultados

Problema: quando ρ ≥ 1, as fórmulas retornam resultados negativos ou infinitos. Não há interpretação válida.

Solução: leia o alerta vermelho “sistema instável” e dimensione para ρ < 1 primeiro. Somente depois refine os parâmetros.

Erro 7: Comparar Wq analítico com lead time medido no sistema real

Problema: o lead time medido inclui retrabalho, interrupções, múltiplas filas encadeadas. O Wq analítico é apenas para uma fila isolada.

Solução: use o modo de rede de filas para modelar múltiplos estágios encadeados. Some os Wq de cada etapa para o tempo total de espera.


1. Como converter entre unidades de tempo?

Mantenha λ e μ na mesma unidade. Se λ = 90/hora e quiser trabalhar em minutos: λ = 1,5/min, μ = 15/60 = 0,25/min. Todos os resultados de W e Wq ficam na unidade escolhida. A ferramenta exibe automaticamente em s, min ou h conforme a magnitude.

2. Qual distribuição de serviço escolher?

Use o ajuste automático de distribuição (botão 🔬): cole uma amostra de tempos de serviço e a ferramenta calcula o CV e sugere a distribuição. Referência rápida:

CV medidoDistribuição sugerida
CV ≈ 0 (< 0,15)Determinístico → use M/D/1
0,15–0,65Erlang-k com k ≈ 1/CV²
0,65–1,35Exponencial → M/M/c
> 1,35Hiper-exponencial ou Lognormal → use distribuição Lognormal na ferramenta

Para qualquer distribuição escolhida, a ferramenta calcula automaticamente os KPIs analíticos via P-K (c=1) ou Kingman (c>1) e permite simular para validar.

3. O sistema é instável (ρ ≥ 1). O que fazer?

Três opções: (1) Aumentar μ — reduzir o tempo de atendimento; (2) Aumentar c — servidores em paralelo; (3) Reduzir λ — agendamento, triagem ou roteamento. A tabela comparativa de servidores (resultado M/M/c) mostra quantitativamente o impacto de adicionar cada servidor.

4. Qual a diferença entre Erlangs e ρ?

Erlangs (a = λ/μ) é o tráfego total oferecido — pode ser > 1. ρ (= a/c) é a utilização por servidor, entre 0 e 1. O Erlang-B usa a; o Erlang-C usa ambos.

5. Quando usar simulação em vez de fórmulas?

Use simulação quando: (a) quer validar os resultados analíticos; (b) o sistema tem múltiplas etapas encadeadas (rede de filas); (c) há prioridades ou roteamento complexo; (d) λ e μ variam ao longo do dia; (e) quer ver a distribuição completa de Wq (percentis), não apenas a média. Para os modelos cobertos pelas fórmulas, os resultados analíticos e de simulação convergem com N ≥ 300 — o que valida a modelagem.

6. Como o Arena se relaciona com esta ferramenta?

Arena e Simul8 usam DES para casos arbitrariamente complexos. A simulação integrada nesta ferramenta usa o mesmo princípio para os modelos básicos. Para os modelos cobertos por fórmulas fechadas, os resultados analíticos e de simulação convergem com N suficiente — o que valida a modelagem antes de levar para ferramentas mais complexas.

7. Como dimensionar uma equipe de manutenção?

Use M/M/c com λ = taxa de chamados e μ = taxa de atendimento por técnico. A tabela comparativa exibe Wq para c-1, c, c+1, c+2. Compare o custo marginal de um técnico com o custo horário de máquina parada: custo_parada × Wq × λ = custo de máquina parada por hora.

8. Como calcular SLA de tempo de espera para M/M/c?

P(WqT)=1C(c,a)e(cμλ)TP(W_q \leq T) = 1 - C(c,a)\cdot e^{-(c\mu-\lambda)\,T}

Para encontrar o menor c que garante 80% dos clientes com Wq ≤ 20 s, use a tabela comparativa e identifique o menor c em que essa probabilidade supera 80%.

9. Quando usar λ variável no tempo (NHPP)?

Use o perfil NHPP sempre que λ variar significativamente ao longo do dia ou da semana — call centers, restaurantes, servidores web, pedágios, prontos-socorros. Regra prática: se o λ do pico for mais de 2× o λ médio, as fórmulas com λ constante subestimam o tempo de espera de pico. Configure o perfil com ⏱ λ variável no tempo e use 🎲 Simular para ver Wq em cada período.


Glossário de Teoria das Filas

TermoSímboloDefinição
Taxa de chegadaλNúmero médio de chegadas por unidade de tempo. Unidade: entidades/tempo.
Taxa de serviçoμNúmero médio de atendimentos que um servidor realiza por unidade de tempo.
Número de servidorescServidores paralelos idênticos atendendo a mesma fila.
Tráfego oferecidoaa = λ/μ (em Erlangs). Tráfego que o sistema recebe, independentemente de c.
Utilização por servidorρρ = λ/(c·μ). Fração do tempo que cada servidor fica ocupado. Estável se ρ < 1.
Número médio na filaLqEntidades aguardando atendimento (não incluindo as em serviço).
Número médio no sistemaLEntidades aguardando + em atendimento. L = Lq + λ/μ.
Tempo médio na filaWqTempo médio que uma entidade espera antes de ser atendida.
Tempo médio no sistemaWTempo médio total (espera + serviço). W = Wq + 1/μ.
Lei de LittleL = λWVálida para qualquer sistema estável, independente do modelo.
Erlang (unidade)E1 E = 1 circuito ocupado durante 1 hora. a = λ/μ em Erlangs.
Erlang-BB(c,a)Probabilidade de bloqueio em sistema M/M/c/c (sem fila).
Erlang-CC(c,a)Probabilidade de ter que esperar em sistema M/M/c (com fila).
Coeficiente de variaçãoCVCV = σ/média do tempo de serviço. CV = 1 para exponencial.
Regime estacionárioEstado de equilíbrio estatístico após warm-up. As fórmulas descrevem este estado.
Regime transienteEstado inicial, antes da estabilização. Estatísticas dependem do tempo.
Processo de PoissonMChegadas com intervalos exponenciais independentes. A = M na notação de Kendall.
NHPPNon-Homogeneous Poisson Process — Poisson com λ variando no tempo.
DESDiscrete Event Simulation — simulação que avança de evento em evento.
FIFOFirst In, First Out — disciplina padrão de atendimento por ordem de chegada.
PRIOPriority — entidades de maior prioridade são atendidas antes.
Warm-upPeríodo inicial descartado das estatísticas para evitar distorção do regime transiente.
BloqueioP_KProbabilidade de uma entidade ser rejeitada por falta de capacidade.
Intervalo de confiançaIC 95%Intervalo que contém o verdadeiro valor com 95% de probabilidade, calculado via t-Student.
MTBFMean Time Between Failures — tempo médio de operação sem falha.
MTTRMean Time To Repair — tempo médio de reparo após falha.
DisponibilidadeAA = MTBF / (MTBF + MTTR). Fração do tempo em que o recurso está operacional.
StarvationFenômeno em sistemas com prioridade: entidades de baixa prioridade esperam indefinidamente.
Kingman VCAVariational-Coefficient Approximation de Kingman para M/G/c.
P-KFórmula de Pollaczek-Khinchine para M/G/1 com distribuição geral de serviço.
Teorema de JacksonEm redes de filas Jackson, cada nó M/M/c se comporta como fila independente.
Roteamento probabilísticopFração p das entidades segue para o próximo estágio.
AbandonoEntidade sai da fila antes de ser atendida (impaciência). Não modelado pelas fórmulas padrão.
Takt timeTempo disponível / demanda. Define o ritmo máximo de produção. = 1/λ_max.
WIPWork In Progress — número de itens em processamento simultâneo. WIP = L pela Lei de Little.

Buscas relacionadas e intenção de uso

Esta página foi reforçada para atender buscas como teoria das filas, mantendo o foco em uso prático, cálculo rápido e interpretação direta do resultado em teoria-das-filas.

Termos com maior prioridade editorial

  • teoria das filas

Como aproveitar melhor a ferramenta

Use teoria-das-filas para validar cenários, comparar resultados e entender rapidamente a lógica do cálculo sem depender de planilhas ou conversões manuais.


Buscas relacionadas e intenção de uso

Esta página foi reforçada para atender buscas como teoria das filas pesquisa operacional, teoria das filas exercicios resolvidos, teoria das filas exercicios resolvidos, mantendo o foco em uso prático, cálculo rápido e interpretação direta do resultado em teoria-das-filas.

Termos com maior prioridade editorial

  • teoria das filas pesquisa operacional
  • teoria das filas exercicios resolvidos
  • teoria das filas exercicios resolvidos

Como aproveitar melhor a ferramenta

Use teoria-das-filas para validar cenários, comparar resultados e entender rapidamente a lógica do cálculo sem depender de planilhas ou conversões manuais.