Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA6

Preview:

Citation preview

Simulação de Sistemas

Prof. MSc Sofia Mara de SouzaAULA6

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

serviço

filarua

nada

telefonando

chamando

lugar espera

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).

– Chegadacalcule 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 deeventos atuais

Executar eventos

Fim?

Parar

sim

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