Simulação de Sistemas
Prof. MSc Sofia Mara de Souza
AULA6
Abordagens Para Modelagem
Discreta

Modelagem discreta pode seguir 3
formas principais:
– modelagem baseada em eventos
– modelagem baseada em processos
– modelagem baseada em atividades

Um sistema pode ser modelado
utilizando qualquer abordagem.
– uma abordagem pode ser mais
conveniente que outra dependendo do
sistema a ser modelado.
Introdução

Uma implementação de simulação
discreta apresenta, basicamente, 3
grandes blocos:
– Decisão: controla execução da simulação.
– Ferramentas Gerais: rotinas de suporte.
– Lógica do Modelo: expressa as atividades
nas quais as entidades do sistema estão
engajadas.

Cada abordagem diferente implica em
blocos de Decisão e Lógica diferentes.
Introdução
Decisão
-relógio
-calendário de eventos
-seqüenciamento de eventos
Ferramentas Gerais
-entrada/saída
-probabilidades
-debug
Lógica do Modelo
-escrita pelo analista
-depende da aplicação
Abordagem por Eventos


Suportada pela linguagem de simulação
SIMSCRIPT e GASP.
Lógica do Modelo
– Processo de simulação baseado em
Rotinas de Eventos
– Rotina de evento: conjunto de instruções,
em uma linguagem de programação, que
modelam completamente as
conseqüências da execução de um evento
(mudanças de estado da simulação).
Exemplo: Problema Teatro

4 eventos:
– Chegada: chegada de um cliente na
bilheteria
– Chamada: chegada de uma chamada
telefônica
– FimDeServiço: fim do atendimento de um
cliente na bilheteria
– FimDeChamada: fim do atendimento de
uma chamada telefônica
chegada
fila
rua
serviço
nada
telefonando
lugar
espera
chamando

Rotinas de eventos:
– FimDeServiço
libere Cliente
se (fila de clientes não vazia) então
retire próximo Cliente da fila
calcule TempoDeServiço
agende evento FimDeServiço para ocorrer após
TempoDeServiço
senão se (fila de telefonemas não vazia) então
retire próximo Telefonema da fila
calcule TempoDeConversa
agende evento FimDeChamada para ocorrer após
TempoDeConversa
senão libere Funcionário.
Exercício:
1) Especifique em pseudo-código as
rotinas de evento para os demais
eventos do problema do teatro
(Chegada, Chamada, FimDeChamada).
– Chegada
calcule TempoChegada do próximo Cliente
agende evento Chegada para ocorrer após
TempoChegada
se (fila de clientes vazia) e (Funcionário livre) então
coloque Funcionário em serviço
calcule TempoDeServiço
agende evento FimDeServiço para ocorrer após
TempoDeServiço
senão coloque Cliente na fila.

Módulo de Decisão:
– Realiza o agendamento dos eventos e não
se preocupa com o seqüenciamento.
– Seqüenciamento é tarefa das rotinas de
eventos.
– Conseqüência para o processo de
simulação: lógica de modelo é mais
complexa.

O módulo de decisão divide-se em duas
fases:
– Examinar o calendário de eventos para
descobrir qual o próximo evento a ser
processado e mover o relógio de
simulação para o tempo do evento; mover
todas as referências para as rotinas de
evento associadas com este tempo para
uma lista de eventos atuais.
– Mantendo o relógio constante, executar
cada rotina de evento da lista de eventos
atuais.
Iniciar
Examinar calendário
Compilar lista de
eventos atuais
Executar eventos
Fim?
sim
Parar
não
Exercícios:
2) Para o problema de modelagem das
máquinas em uma linha de produção,
construa, em pseudo-código, o programa de
simulação e as rotinas de evento. As tarefas
chegam na máquina com um intervalo t1 e
entram em uma fila de espera antes de
serem executadas. A máquina demora um
tempo t2 processando uma tarefa. Em um
intervalo de tempo t4 chega um pedido de
manutenção, ficando então a máquina
bloqueada por um tempo t3.


Entidades permanentes: máquina
Atributos de máquinas:
– tempo da primeira manutenção: constante
– tempo entre manutenções: constante
– tempo de manutenção: variável
estocástica
– disponibilidade: ocupada, livre, em
manutenção
– precisa manutenção: sim, não


Entidades temporárias: tarefas
Atributos de tarefas:
– tempo entre tarefas: variável estocástica
– tempo da tarefa: variável estocástica


Conjuntos: máquinas disponíveis, fila
de tarefas
Atividades: tarefa em execução,
máquina em manutenção

Eventos exógenos:
– chegada de tarefa

Eventos endógenos:
– início da execução de tarefa
– fim de execução de tarefa
– início de manutenção
– fim de manutenção
– chegou tempo de manutenção
Download

aula6