1 of 18

Simulação

Software Arena

Prof. Palmer Oliveira

palmer.oliveira@ulbra.br

2 of 18

Introdução

  • A codificação de um modelo de simulação pode ser realizada com o uso de:
    • Linguagem de Programação.
    • Linguagem de Simulação.
    • Ambiente de Simulação.
  • Para as nossas simulações iremos usar o Arena, que utiliza da Linguagem Siman V (ARENA: o software aliado nas melhores decisões de negócios)

3 of 18

Utilizando o Arena

  • Passos para modelar um sistema no Arena:
    • Inserir e interconectar os módulos para representar a lógica de operação do sistema.
    • Fornecer os dados para o modelo.
    • Executar a simulação do modelo.
    • Obter o relatório do modelo.

4 of 18

Utilizando o Arena - Exemplo de Simulação

  • Crie um modelo no Arena que representa um pedágio com as seguintes características:
    • Chega um veículo por vez.
    • Tempo de chegada - exponencial com média de 30s.
    • Há apenas um cobrador que atende um veículo por vez.
    • Tempo de atendimento - normal com média de 20s e desvio padrão de 5s.
    • Assim que paga o pedágio o veículo deixa o sistema.

5 of 18

Utilizando o Arena - Componentes Básicos

  • Inserir e interconectar os módulos para representar a lógica de operação do sistema (Discrete Processing):
    • Create: simula a criação de entidades dinâmicas que serão atendidas pelo sistema, seguindo uma determinada distribuição de probabilidade.
    • Process: simula a execução de um serviço (um processamento) sobre as entidades.
    • Dispose: retirada das entidades já servidas pelo sistema.

6 of 18

Utilizando o Arena - Componentes Básicos

7 of 18

Utilizando o Arena - Componentes Básicos

  • Fornecer os dados para o modelo:
    • Clique duplo sobre o módulo.
    • Definição dos parâmetros:
      • Nome.
      • Tipo de Entidade.
      • Distribuição de Probabilidade.
      • Unidade.
      • Entre outros.

8 of 18

Utilizando o Arena - Componentes Básicos

9 of 18

Utilizando o Arena - Componentes Básicos

10 of 18

Utilizando o Arena - Componentes Básicos

  • Action:
    • Delay: há um atraso da entidade, mas não há alocação de recurso (self-service). Ex: Carro passando usando TAG, delay de 5s até o sistema registrar
    • Seize Delay: reserva um recurso e aguarda um tempo (processamento), sem liberá-lo. ex: o carro chega ao guichê, o atendente pega o ticket (recurso fica ocupado) e o carro aguarda enquanto o atendente faz algo, mas o atendente ainda continua alocado
    • Seize Delay Release: reserva um recurso, aguarda um tempo e liberá-o. Ex: carro para, o atendente recebe o pagamento (seize), leva 15s para registrar e dar o troco (delay), e no fim libera o atendente (release).
    • Delay release: aguarda um tempo em um recurso que já havia sido reservado e liberá-o. Ex: Suponha que o carro já “pegou” o atendente em uma etapa anterior (seize), agora ele fica 20s recebendo explicações (delay), e só depois o atendente é liberado (release).

11 of 18

Utilizando o Arena - Componentes Básicos

12 of 18

Utilizando o Arena - Componentes Básicos

Ajuste o relatório para exportar em txt

13 of 18

Utilizando o Arena - Componentes Básicos

  • Executar uma simulação por 10h.
  • Gerar um relatório com as informações correspondentes. Os resultados devem ser expressos em segundos.

14 of 18

Utilizando o Arena - Componentes Básicos

15 of 18

Utilizando o Arena - Componentes Básicos

16 of 18

Utilizando o Arena - Componentes Básicos

🔹 Interpretação dos principais resultados

1. Carro.VATime = 19,94s (média)

  • Isso é o tempo de valor agregado (Value Added Time), ou seja, o tempo de atendimento efetivo.
  • Está muito próximo da média definida na Normal(20, 5), o que confirma que a distribuição foi aplicada corretamente.

2. Carro.NVATime = 0s

  • Tempo não agregado de valor no processo (não houve transporte, setup etc.).
  • Faz sentido, porque o modelo é bem simples: só atendimento → saída.�

3. Carro.WaitTime = 24,16s (média)

  • Esse é o tempo médio de espera na fila antes de ser atendido.
  • O valor mínimo foi 0s (quando não tinha fila) e o máximo chegou a 191s (≈ 3min10s).
  • Isso mostra que há momentos de acúmulo de veículos, formando fila.

4. Carro.TotalTime = 44,10s (média)

  • Tempo médio total no sistema (espera + atendimento).
  • Decomposto:
    • ~20s de atendimento (VA Time).
    • ~24s de espera (Wait Time).

17 of 18

Utilizando o Arena - Componentes Básicos

5. Pedagio.Queue.NumberInQueue = 0,83 (média)

  • Número médio de veículos na fila = menos de 1 carro na maior parte do tempo.
  • Máximo observado = 11 carros esperando → em picos de chegada, o sistema congestionou.

6. AtendentePedagio.Utilization = 0,6867 (68,7%)

  • O atendente ficou ocupado em média 68,7% do tempo.
  • Ou seja: não está sobrecarregado (não chega a 100%), mas também não fica muito ocioso.
  • Essa taxa mostra um sistema relativamente equilibrado.

7. Carro.NumberIn = 1240 / Carro.NumberOut = 1240

  • Entraram 1240 veículos e saíram 1240 veículos → ninguém ficou preso ao final da simulação.

18 of 18

Utilizando o Arena - Componentes Básicos

Provável Conclusão

  • O sistema funciona bem, mas ainda gera filas moderadas (tempo médio de espera = 24s).�
  • O atendente não é gargalo total (usa 69% da capacidade).�
  • Porém, por ser só um cobrador, em horários de maior chegada podem ocorrer filas grandes (máximo de 11 carros).