Tema
Medir tempo de resposta
Tempo de resposta é quanto um item leva do momento em que entra até o momento em que sai — a espera mais o atendimento. Costuma ser a métrica que importa para quem usa o sistema.
A ideia
Não é preciso cronometrar cada item. Existe uma relação que vale para qualquer sistema em regime estável:
Lei de Little
Tempo de resposta = quantos estão no sistema ÷ quantos saem por unidade de tempo.
Faz sentido intuitivamente: se há 10 pessoas na fila do caixa e o caixa conclui 2 por minuto, quem chega agora vai levar 5 minutos.
Então a métrica tem duas partes: quantos estão dentro e quantos saem por minuto.
Quantos estão dentro
Some a média de todos os lugares por onde o item passa entre entrar e sair:
E{#Fila} + E{#EmAtendimento}Inclua todos: o que espera, o que está sendo processado, o que está em trânsito. Deixar um de fora subestima o tempo de resposta.
Quantos saem por minuto
Aqui há duas formas, e a escolha importa mais do que parece.
Forma 1: contar as saídas
A mais direta é medir a vazão a partir do lugar por onde os itens saem. Funciona bem, e a página Medir vazão detalha.
(E{#Fila} + E{#EmAtendimento}) / vazão_medidaForma 2: usar a taxa de entrada
Em regime estável, o que entra é igual ao que sai. Se as chegadas vêm a cada TEMPO_ENTRE_CHEGADAS e nada é recusado, a vazão é a taxa de chegada — e você já sabe esse número, ele é um parâmetro seu:
(E{#Fila} + E{#EmAtendimento}) * TEMPO_ENTRE_CHEGADASMultiplicar pelo tempo entre chegadas é o mesmo que dividir pela taxa.
Por que a segunda forma é mais robusta
Na análise estacionária, as duas dão o mesmo resultado. Na fila do primeiro modelo:
| Forma | Estacionário |
|---|---|
| 1 — contando saídas | 10,04 min |
| 2 — pela taxa de entrada | 10,03 min |
Na análise transiente, elas divergem completamente:
| Tempo | Forma 1 | Forma 2 |
|---|---|---|
| 25 | 0,00 | 7,96 |
| 50 | 0,00 | 8,80 |
| 100 | 0,00 | 10,92 |
| 200 | 0,00 | 11,92 |
A forma 1 devolve zero em todos os pontos. A forma 2 mostra a curva subindo de 8 até oscilar em torno de 10, que é o comportamento real.
Por que a forma 1 falha no transiente
Ela divide pela vazão, e a vazão é medida a partir de um lugar por onde os itens passam num piscar de olhos. No transiente, cada ponto é a média entre várias repetições naquele instante — e naquele instante esse lugar está vazio em quase todas. A média fica praticamente zero, e a divisão devolve o valor de proteção.
Não é um defeito da fórmula: ela está correta. É que o número do qual ela depende não é mensurável de forma confiável nesse regime.
Por isso, prefira a forma 2 sempre que souber a taxa de entrada. Ela funciona nos dois regimes e não depende de medir nada de curta duração.
Quando há recusa
Se o sistema tem capacidade limitada, nem todo mundo que chega entra — e a vazão real é menor que a taxa de chegada. Corrija pela fração de tempo em que havia vaga:
(E{#Fila} + E{#EmAtendimento}) * TEMPO_ENTRE_CHEGADAS / (1 - P{#Vagas = 0})Na fila com 3 vagas, isso dá 7,85 min — e conferindo pela vazão medida dá 7,85 também.
Interpretação
7,85 min é o tempo de quem conseguiu entrar. Quem foi recusado não aparece aqui. Por isso, sempre leia o tempo de resposta ao lado da porcentagem de recusa: reduzir a sala de espera melhora o tempo de resposta e piora o serviço.
Cuidado com divisão por zero
Toda forma que divide corre o risco de dividir por zero — no início da simulação, ou se o sistema nunca concluir nada. Proteja com IF:
IF vazão > 0 THEN quantidade / vazão ELSE 0Sem isso, a execução pode parar com erro de valor inválido. Veja Divisão por zero.