Criando resultados de saída da simulação

No momento, o nosso modelo ainda não permite análises do sistema simulado, pois não criamos nenhuma saída de simulação. Inicialmente, vamos acrescentar duas saídas importantes para avaliar o nível de serviço e o uso dos recursos:

  • O número médio de clientes em fila;

  • A ocupação do caixa de atendimento.

Para cada saída, utilizaremos um bloco Output, existente na Paleta Analysis. O bloco Output armazena um único valor numérico e mostra este valor ao final da simulação ou mesmo, se o usuário desejar, durante a própria simulação.

Começando pelo número médio de clientes, crie um bloco Output específico para este fim, mediaClientesFila:

O bloco Queue (e praticamente qualquer bloco do AnyLogic) já vem embarcado com diversas funções pré-definidas. O que faremos, então, é acessar uma dessas funções por meio do bloco de Output, vinculando os dois. Para isto:

  • Dentro do campo Value do bloco Output escreva o nome do bloco ou elemento do modelo que deseja (neste caso, “queue”), seguido de um “. “;

  • A seguir, dispare nervosamente as teclas:

Por exemplo, queremos o tempo médio de espera dos clientes no bloco queue, assim, digite no campo Value o texto queue seguido do “.” e bata Crtl+Espaço:

O comando Ctrl+Espaço faz uma busca em tudo que existe dentro do objeto. Digite somente “stat” (sem aspas) e o AnyLogic vai limitar a busca às “coisas” que possuem stat no nome:

Estamos interessados na função statsSize que coleta as estatísticas de tamanho de fila. A seguir, digite novamente o “.” seguindo de “mea”, pois queremos a média (mean) de clientes em fila, e dispare mais uma vez Ctrl + Espaço:

Você deve ter notado duas opções do método mean:

  • mean(): que calcula a média do número de elementos em fila e

  • mean(time): que calcula a média do número de elementos em fila em um dado tempo fornecido da simulação (por exemplo: mean(100), retorna a média de elementos em fila no instante 100 minutos da simulação.

O mais curioso é que o AnyLogic (e isso é uma herança do Java) permite que se construam funções diferentes com nomes iguais, mas com parâmetros de entrada diferentes, a chamada sobrecarga de método. No caso do Output anterior, existem duas funções com o mesmo nome mean, que se diferenciam por uma não receber parâmetros de entrada e outra receber um número em ponto flutuante, time como parâmetro.

Quando você precisar pesquisar as funções de um dado bloco ou elemento, chore use a excelente documentação o AnyLogic possui uma no seu Help. Excelente mesmo. Por exemplo, neste link você acessa todas as opções do bloco Queue.

Simule e veja o resultado. Ao final da simulação (e apenas ao final mesmo) surge o valor da média de clientes em fila: 1.823, no bloco mediaClientesFila criado (note que o seu resultado pode ser diferente caso a sua versão seja diferente da minha, que é a 8.6 neste tutorial).