Teoria das filas

Aspeto mover para a barra lateral ocultar Exemplo de fila de banco: Open House London, na Inglaterra

A teoria das filas é um ramo da probabilidade que estuda a formação de filas, através de análises matemáticas precisas e propriedades mensuráveis das filas. Ela provê modelos para demonstrar previamente o comportamento de um sistema que ofereça serviços cuja demanda cresce aleatoriamente, tornando possível dimensioná-lo de forma a satisfazer os clientes e ser viável economicamente para o provedor do serviço, evitando desperdícios e gargalos.

Definições

Um centro de serviço

Sistema de filas

Uma fila ocorre sempre que a procura por um determinado serviço é maior que a capacidade do sistema de prover este serviço.

Um sistema de filas pode ser definido como clientes chegando, esperando pelo serviço (se não forem atendidos imediatamente) e saindo do sistema após terem sido atendidos. "Cliente", em teoria das filas, é um termo genérico, aplicando-se não somente a seres humanos. O conceito pode abranger, por exemplo, processos esperando para receber a CPU; pacotes que chegam a um roteador para serem encaminhados; pessoas esperando no caixa do supermercado, etc.

Aplicações

Existem diversas aplicações da teoria das filas, que podem ser encontradas na literatura de probabilidade, pesquisa operacional e engenharia industrial. Entre elas destacam-se:

Componentes de um sistema de filas

Um sistema de filas consiste no processo de chegada, da distribuição do tempo de serviço, do número de servidores, da capacidade do sistema, da população de usuários e da disciplina de atendimento.

Processo de chegada

O processo de chegada indica qual o padrão de chegada dos clientes no sistema. Apresenta comportamento estocástico, ou seja, as chegadas ocorrem no tempo e no espaço de acordo com as leis da probabilidade; assim, é preciso conhecer qual a distribuição de probabilidade que descreve os tempos entre as chegadas dos clientes.

A distribuição mais comum é a de Poisson, ou seja, os tempos entre as chegadas são exponencialmente distribuídos. Entre outras distribuições, estão a de Erlang, hiperexponencial e arbitrária.

Clientes podem chegar simultaneamente (chegada em batch). Se for possível, é necessário também saber a distribuição de probabilidade do tamanho do batch. A reação do cliente na fila pode variar. Ele pode esperar independentemente do tamanho da fila, também pode decidir não entrar no sistema caso a fila esteja muito grande (cliente decepcionado), ele pode esperar na fila mas depois de um tempo desistir e sair do sistema, e também pode mudar de uma fila para outra em sistemas com servidores paralelos.

O padrão de chegada de clientes em função do tempo pode ser permanente; nesse caso o padrão não muda no tempo, ou seja, a distribuição de probabilidade que descreve as chegadas é independente do tempo. Também pode não ser permanente, isto é, o padrão de chegada muda com o tempo. Por exemplo, a chegada de clientes diminui no horário de almoço.

Distribuição do tempo de serviço

Assim como no processo de chegada, também é necessário conhecer a distribuição de probabilidade do tempo de serviço, sendo válidas as mesmas distribuições apresentadas.

Os serviços podem também ser simples ou batch.

O estado pode ser independente: o processo de atendimento não depende do número de clientes esperando pelo serviço. Em contrapartida, em um estado dependente, o processo de atendimento muda de acordo com o número de clientes na fila. Por exemplo, um servidor pode trabalhar mais rápido quando a fila aumenta ou, ao contrário, ficar confuso e então mais lento.

Da mesma forma que no processo de chegada, o padrão de serviço pode variar de acordo com o tempo. Por exemplo, a experiência adquirida com o serviço pode aumentar a produtividade; o cansaço, por outro lado, pode diminuí-la. Caso não haja variação o padrão é estacionário.

Um centro de atraso Multiservidor com fila única Servidor paralelo

Capacidade do sistema

Representa o número máximo de clientes que o sistema suporta, incluindo os que estão em espera e os que estão sendo atendidos. A capacidade pode ser infinita (mais fácil de analisar) ou finita (por exemplo, número limitado de buffers em um roteador). Se a capacidade for finita, quando o sistema estiver lotado nenhum cliente pode entrar até que um cliente saia do sistema, liberando espaço.

População de usuários

Esse componente indica o número potencial de clientes que podem chegar a um sistema. Pode ser finita ou infinita.

Disciplina de atendimento

Exemplo da disciplina de atendimento FIFO (first in first out).

Descreve a forma como os clientes saem da fila de espera para serem atendidos. Algumas disciplinas são:

Notação

As seis características apresentadas acima descrevem um sistema de filas. Para simplificar, utiliza-se a notação de Kendall, proposta em 1953, composta por uma série de símbolos da seguinte forma:

A/S/m/K/N/Q

Em que:

Exemplos de sistemas de filas

Muitas vezes, os três últimos símbolos são omitidos. Nestes casos, assume-se capacidade ilimitada, população infinita e disciplina de atendimento FCFS.

Exemplo:

Distribuições de probabilidade

Leis operacionais

São relações simples que não necessitam de nenhuma hipótese sobre as distribuições dos tempos de serviço ou dos intervalos entre chegadas. Foram identificadas inicialmente por Buzen em 1976 e posteriormente estendidas por Denning e Buzen em 1978.

Quantidades operacionais

São quantidades que podem ser medidas diretamente durante um período finito de observação.

Essas quantidades são variáveis que podem mudar de um período de observação para outro. As relações, porém, continuam válidas.

Lei da Utilização

U i = B i T = C i T × B i C i {\displaystyle U_{i}={B_{i} \over T}={C_{i} \over T}\times {B_{i} \over C_{i}}}

U i = X i S i {\displaystyle U_{i}=X_{i}S_{i}}

Lei de Little

Desenvolvida por John Little no início dos anos 60, A Lei de Little relaciona o número de clientes no sistema com o tempo médio despendido no sistema.

Q i = λ i R i {\displaystyle Q_{i}=\lambda _{i}R_{i}}

A Lei de Little se aplica sempre que o número de chegadas é igual ao número de saídas (denominado sistema em equilíbrio). Pode ser aplicada também em subsistemas (caixa preta).

Se o sistema está em equilíbrio, a taxa de chegada é igual ao throughput, portanto:

Q i = X i R i {\displaystyle Q_{i}=X_{i}R_{i}}

Lei do Fluxo Forçado

Relaciona o throughput global do sistema com o throughput dos dispositivos individuais.

Seja V i {\displaystyle V_{i}} o número médio de visitas ao recurso i por uma tarefa. Cada pedido que termina precisa passar, em média, V i {\displaystyle V_{i}} vezes pelo recurso i. Se X pedidos forem concluídos por unidade de tempo, então V i X {\displaystyle V_{i}X} pedidos terão passado pelo recurso i:

X i = V i X {\displaystyle X_{i}=V_{i}X}

Esta lei é aplicável sempre qua a hipótese do sistema em equilíbrio for verdadeira.

Lei da Demanda de Serviço

Combinando as leis da Utilização e do Fluxo Forçado, obtém-se:

U i = X i S i = X V i S i {\displaystyle U_{i}=X_{i}S_{i}=XV_{i}S_{i}}

ou

U i = X D i {\displaystyle U_{i}=XD_{i}}

onde D i = V i S i {\displaystyle D_{i}=V_{i}S_{i}} é a demanda total de serviço no i-ésimo dispositivo.

O dispositivo com a maior demanda de serviço tem a maior utilização, podendo tornar-se um gargalo no sistema.

Lei Geral do Tempo de Resposta

Sistemas de tempo compartilhado podem ser divididos em dois subsistemas: subsistema de terminais e subsistema de central de processamento. Dados os comprimentos individuais Q i {\displaystyle Q_{i}} das filas de cada terminal, pode-se determinar Q {\displaystyle Q} :

Q = Q 1 + Q 2 + ⋯ + Q , {\displaystyle Q=Q_{1}+Q_{2}+\cdots +Q_{,}}

X R = X 1 R 1 + X 2 R 2 + ⋯ + X M R M {\displaystyle XR=X_{1}R_{1}+X_{2}R_{2}+\cdots +X_{M}R_{M}}

Dividindo ambos os lados por X e aplicando a Lei do Fluxo Forçado:

R = V 1 R 1 + V 2 R 2 + ⋯ + V M R M {\displaystyle R=V_{1}R_{1}+V_{2}R_{2}+\cdots +V_{M}R_{M}}

ou

R = ∑ i = 1 M R i V i {\displaystyle R=\sum _{i=1}^{M}R_{i}V_{i}}

Lei do Tempo de Resposta Interativo

Em um sistema interativo, usuários geram pedidos que são processados por um subsistema central e os resultados são devolvidos ao terminal. Entre cada pedido de um usuário, há um tempo ocioso Z.

Aplicando-se a Lei de Little ao subsistema central, tem-se:

Q = X R {\displaystyle Q=XR}

Aplicando-a aos M terminais:

M ¯ = X Z {\displaystyle {\bar {M}}=XZ}

Considerando que um cliente ou está sendo atendido ou está ocioso:

M = Q + M ¯ = X R + X Z = X ( R + Z ) {\displaystyle M=Q+{\bar {M}}=XR+XZ=X(R+Z)}

R = M X − Z {\displaystyle R={M \over X}-Z}

Referências

  1. a b «Introduction to Queuing». staff.um.edu.mt. Consultado em 22 de agosto de 2019 
  2. «Queue Structure». Business Jargons (em inglês). 30 de dezembro de 2015. Consultado em 22 de agosto de 2019 

Bibliografia

Professores da Universidade Federal do Maranhão:

Ver também