Construindo o fluxo de processos do modelo
O AnyLogic possui diversas paletas com blocos de comandos que são arrastados para a área central de modelagem.
Nesta primeira etapa do exercício, construiremos uma fila M/M/1 composta, basicamente, por:
Um processo de chegadas de clientes, com intervalos entre chegadas sucessivas exponencialmente distribuído e valor médio de 2.0 clientes/min;
Um processo de uso do caixa eletrônico, com duração média de 0.4 min/cliente e distribuição exponencial, equivalente a uma taxa de atendimento de 2.5 clientes/min (= 1/0.4);
Um único servidor (apenas 1 caixa eletrônico, por exemplo).
O bloco Source é o responsável por gerar entidades (ou, na nomenclatura do AnyLogic, gerar agentes) num fluxo de processos. Clique, segure e arraste o bloco Source, a partir da paleta, para o meio da tela! [Repare, na região de Properties à direita, como o menu sensitivo se altera].
A fila M/M/1 tem apenas um servidor, então faremos um fluxo bem simples com elementos do AnyLogic:
Um bloco Source para gerar agentes;
Um bloco Queue que representa a fila de espera;
Um bloco Delay que representa o processo de atendimento;
Um bloco Sink que finaliza o agente criado no source.
O “arrastar e ligar” do AnyLogic é beeeeeeeem fácil: se você aproximar o mouse do bloco, ele já cria o conector que representa a ligação lógica entre os blocos.
Mas, se você apagar ou não criar um conector automaticamente, chore apenas dê um duplo clique numa ponta verde do bloco de origem e una à outra ponta verde do bloco de destino.
Construído o fluxo dos processos, vem a etapa de configuração das propriedades de cada bloco. Clique no bloco source:
Altere o nome do bloco para algo mais empolgante como: chegadas;
O processo de chegadas será definido por uma Rate (= intervalos entre chegadas exponencialmente distribuídos);
Para este exemplo, vamos considerar que a taxa de chegadas de clientes é de 2.0 clientes/min.
Clicando no bloco Queue, você notará que a capacidade da fila está limitada a 100. Contudo, por definição, a fila M/M/1 tem capacidade ilimitada. Assim, devemos clicar em Maximum capacity nas propriedades do bloco Queue, para que a fila seja ilimitada em capacidade:
Importante: no que, por default, as filas do AnyLogic nunca são criadas com capacidade infinita, mas sempre com uma capacidade limitada em 100 agentes. Caso seu valor não seja alterado para capacidade máxima e a fila extrapole sua capacidade durante a simulação, o AnyLogic apresentará uma mensagem de erro um tanto quanto espalhafatosa.
Para o bloco Delay, responsável por executar o processo de atendimento, vamos considerar que a taxa média de atendimento é de 2.5 clientes/min, com distribuição exponencial.
Para facilitar o processo de preenchimento de distribuições probabilísticas, o AnyLogic tem uma ferramenta específica para a seleção de distribuições, o Choose Probability Distributions:
Selecione o bloco Delay e a seguir o campo Delay time;
Quando um campo que permite receber distribuições de probabilidades é aberto, ele ativa um botão na barra de comandos do AnyLogic (um jotinha com uma varinha de mágico):
Clique no botão para surgir o Choose Probability Distributions:
Muitas distribuições, hein?
Importante: o AnyLogic considera o parâmetro lambda ou taxa de ocorrência do fenômeno da distribuição (como usualmente fazem os livros de estatística). Por este motivo, devemos informar ao AnyLogic a taxa média atendimento de 2.5 clientes/min (que é basicamente o inverso do tempo médio de atendimento, e, se você quiser, pode digitar diretamente assim: 1/0.4).
Pronto!
Pronto?
Simule!
Sim, agora é executar o seu modelo primeiro modelo no AnyLogic utilizando o botão verde da barra de menu superior:
Note que o AnyLogic executou seu modelo como um aplicativo Java e isto é importante: o AnyLogic é um construtor de aplicativos de simulação.
Na versão Profissional - e apenas nela - existe a opção de se exportar esse app, gerando um arquivo executável independente do AnyLogic, que você pode distribuir para terceiros ou executar em máquinas que sequer possuam o AnyLogic instalado.
Quando você clica no botão Run, a mágica acontece. Note que o bloco do queue ganha um preenchimento azul escuro conforme mais clientes aguardam na fila.
Clique nos blocos azuis, eles são cheios de surpresas:
Se você simular por um tempo muito longo, em algum momento o limite de 50.000 agentes da versão PLE será ultrapassado e o AnyLogic apresentará uma tela branca, informando o erro.
Para evitar este tipo de erro (não que ele vá ocorrer muito, já que 50.000 agentes é muita coisa), podemos configurar melhor o nosso Experimento de Simulação.
Usando a tela da esquerda, selecione a aba Projects. Você visualizará um navegador com ícones empilhados, como pastas: os botões vermelhos com o símbolo de um bonequinho representam Agentes; e o ícone azul com um xis, lembrando um distintivo dos x-men, representa um Experimento.
Last updated