Modelagem de processos no AnyLogic
pt_br
pt_br
  • Introdução
  • Premissa
  • O que você precisa para este tutorial
  • Etapas
  • Parte I: instalação, abrir, fechar e uso do mouse
    • Download e instalação da versão PLE
    • Tela de boas vindas
  • Abrindo um modelo
  • Parte II: criar um modelo, mais um pouco de mouse e blocos construtores
    • Exercício: fila bancária
  • Criando um modelo
  • Construindo o fluxo de processos do modelo
  • O que é um experimento?
  • Criando resultados de saída da simulação
  • Comando de cópia de elementos Ctrl+arraste do elemento
  • Semente do gerador de números aleatórios
  • Parte III: recursos, parâmetros e variáveis
    • Um novo fluxo de processos no modelo
    • Resource Pool: criando recursos
  • Parâmetros
  • Coleta de resultados da simulação: tempo de permanência no sistema
  • Variáveis no AnyLogic
  • Saídas por gráfico: Histogram Data
  • Saídas por gráfico: Histogram
  • Saídas por gráfico: Time Plot
  • Análise dos resultados
  • Parte IV: nuvem
    • Enviando o modelo para a nuvem
  • Experimento: Parameters Variation
  • Epílogo
    • Como aprender o AnyLogic a partir daqui
  • Apêndice ou coisas que deixariam o tutorial ainda maior
    • Simulação com Replicações
  • Tempo de warm-up
  • Comunicação com planilhas Excel
  • Leitura/Gravação em arquivos txt
  • Entidades, agentes, atributos & variáveis
  • Animação
  • Navegação de agente, funções, objetos etc.
  • Blocos essenciais da paleta Process Modeling Library
  • Timeout e preemption no bloco Queue
  • Resposta do desafio
  • Como citar esta obra e ficha catalográfica (ISBN)
Powered by GitBook
On this page

Was this helpful?

Construindo o fluxo de processos do modelo

PreviousCriando um modeloNextO que é um experimento?

Last updated 4 years ago

Was this helpful?

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.