modelação e simulação de sistemas - ubi - universidade da ...secure site...
TRANSCRIPT
Modelação e Simulação de Sistemas - Tópicos Computação Científica
Modelação e Simulação de Sistemas - Tópicos
- A simulação de sistemas
- Modelos de simulação
- Propriedades dos modelos de simulação
- Classificação dos modelos de simulação
- Modelos de simulação dinâmicos discretos
- Modelos de simulação contínuos
- Simulação discreta e contínua combinada
- Modelos de simulação estáticos
Capítulo 4. Modelação e Simulação de Sistemas 1/24
Modelação e Simulação de Sistemas - Tópicos Computação Científica
Modelação e Simulação de Sistemas - Tópicos
- A simulação de sistemas
- Modelos de simulação
- Propriedades dos modelos de simulação
- Classificação dos modelos de simulação
- Modelos de simulação dinâmicos discretos
- Modelos de simulação contínuos
- Simulação discreta e contínua combinada
- Modelos de simulação estáticos: Método de Monte-Carlo
Capítulo 4. Modelação e Simulação de Sistemas 2/24
A simulação de sistemas Computação Científica
A simulação de sistemas
- A simulação computacional de sistemas, ou simplesmente simulação, consiste na utilização de
determinadas técnicas matemáticas, utilizadas em computadores digitais, as quais permitem imitar o
funcionamento de praticamente qualquer tipo de operação ou processo (sistema) do mundo real.
- Definição formal:
Simulação é o processo de
- projetar um modelo computacional de um sistema real e
- conduzir experiências com este modelo com o propósito de
- entender o seu comportamento e/ou
- avaliar estratégias para a sua operação.
Desta forma, entende-se a simulação como um processo mais amplo, para
- descrever o comportamento do sistema;
- construir teorias e hipóteses considerando as observações efetuadas;
- usar o modelo para prever o comportamento futuro do sistema, com alterações no sistema.
Capítulo 4. Modelação e Simulação de Sistemas 3/24
A simulação de sistemas Computação Científica
- As razões de usar modelos de simulação:
- Sistema real inexistente
- a simulação poderá ser usada para planear o futuro sistema;
por exemplo, um novo hospital ou uma nova fábrica.
- Experimentar com o sistema real é dispendioso
- o modelo poderá indicar, com custos muito mais baixos, certos investimentos no sistemas;
por exemplo, quais os benefícios de se investir num novo equipamento.
- Experimentar com o sistema real não é apropriado
- exemplos típicos são:
- planeamento do atendimento de situações de emergência e
- planeamento da assistência a um desastre aéreo num aeroporto.
Não se pode provocar um desastre para testar planos de emergência.
Capítulo 4. Modelação e Simulação de Sistemas 4/24
A simulação de sistemas Computação Científica
- As técnicas usadas são facilmente compreensíveis e justificáveis, devido a vários fatores:
- Tempo:
- é possível realizar experiências, que se realizadas sobre o sistema real consumiam anos;
- Custo:
- geralmente o custo de execução é muito baixo, quando comparado com custo sobre o sistema real;
- Impossibilidade de experimentação direta:
- experiências diretas no sistema real não podem ser realizadas por questões de segurança, tempo, acesso,
inexistência, etc.;
- Visualização:
- os computadores oferecem recursos que facilitam
- a visualização dos resultados de uma simulação e
- o estado do sistema durante a execução do modelo;
Capítulo 4. Modelação e Simulação de Sistemas 5/24
A simulação de sistemas Computação Científica
- As técnicas usadas são facilmente compreensíveis e justificáveis, devido a vários fatores:
- Repetição:
- depois de construído, o modelo de representação pode ser executado várias vezes
- a um custo muito baixo e
- de forma relativamente rápida;
- Interferência:
- mais flexível para a realização de mudanças do que o sistema real;
- Semelhança com o realidade:
- a perceção de que o comportamento do modelo de simulação é muito semelhante ao sistema real.
Capítulo 4. Modelação e Simulação de Sistemas 6/24
A simulação de sistemas Computação Científica
- Os modelos de simulação podem ser considerados como uma descrição de sistemas reais.
- A execução de modelos de simulação em computador tem potencial para fornecer resultados muito
precisos, sem ser necessário interferir no sistema real.
- Tais resultados, quando analisados estatisticamente, produzem informações que podem contribuir
imenso para a tomada de decisões que visam a resolução de problemas.
- Considerando os modelos de simulação como um dos métodos de representação de sistemas, pode ser
adotado o seguinte conceito:
“Simulação é uma técnica numérica para realizar experiências num computador digital, a qual envolve
certos tipos de modelos lógicos, que descrevem o comportamento de um sistema sobre extensos intervalos
de tempo.”
Capítulo 4. Modelação e Simulação de Sistemas 7/24
Modelos de simulação Computação Científica
Modelos de simulação
- A simulação de sistemas pode ser dividida nas seguintes etapas básicas:
- Problema:
- identificação do problema apresentado pelo sistema em estudo e das partes (subsistemas) que interferem no
problema (envolve recolha de amostras);
- Estudo do sistema:
- descrever o sistema em termos de componentes, atividades, entidades, eventos e restrições, propósitos que
motivaram o uso da simulação;
- Modelo:
- construção do modelo de representação do sistema em estudo, o qual precisa ser validado;
- Solução:
- realizar experiências sobre o modelo construído e utilizar as informações resultantes para propor soluções
para o problema real;
- Operacionalizar solução:
- executar alterações no sistema real com base nos resultados da simulação.
Capítulo 4. Modelação e Simulação de Sistemas 8/24
Modelos de simulação Computação Científica
- Os objetivos essenciais do estudo das técnicas de simulação de sistemas concentram-se principalmente
- nas atividades de estudo do sistema real,
- na construção do modelo e
- na execução de experiências sobre o modelo.
Capítulo 4. Modelação e Simulação de Sistemas 9/24
Modelos de simulação - Sistema Computação Científica
Modelos de simulação - Sistema
- O que é um sistema?
- Quais são os sistemas passíveis de serem modelados e analisados através da simulação?
- Para Taylor, um sistema pode ser definido como
“um conjunto de objetos, como pessoas ou máquinas, por exemplo, que atuam e interagem com a
intenção de alcançar um objetivo ou um objetivo lógico”.
Capítulo 4. Modelação e Simulação de Sistemas 10/24
Modelos de simulação - Sistema Computação Científica
- São inúmeros os sistemas que podem ser resolvidos usando modelos de simulação, como:
- Sistemas de produção:
- manufaturação e montagem;
- movimentação de peças e de matéria prima;
- alocação de mão de obra;
- Sistemas de transporte e gestão de stocks:
- redes de distribuição;
- armazéns e entrepostos; frotas;
- Sistemas computacionais:
- redes de computadores;
- redes de comunicação;
- gestores de bases de dados;
Capítulo 4. Modelação e Simulação de Sistemas 11/24
Modelos de simulação - Sistema Computação Científica
- São inúmeros os sistemas que podem ser resolvidos usando modelos de simulação, como:
- Sistemas administrativos:
- seguradoras;
- operadores de crédito;
- agências financeiras;
- Sistemas de prestação de serviços diretos ao público:
- hospitais;
- bancos; restauração;
- serviços de emergência;
- serviços de assistência jurídica;
Capítulo 4. Modelação e Simulação de Sistemas 12/24
Modelos de simulação - Modelo Computação Científica
Modelos de simulação - Modelo
- Através da execução de um modelo, é possível fazer uma estimativa do comportamento futuro deste
sistema – esta execução chama-se Simulação.
- A experimentação não se pode comparar à simulação:
- a experimentação é caracterizada por tentativas de mudanças no próprio sistema,
a simulação é executada sobre uma representação do sistema;
- a experimentação pode ter um custo muito elevado, o que justifica, na maioria dos casos,
a construção de modelos de simulação.
- Perante os resultados da execução de um modelo de simulação,
- são realizadas análises de novas situações sobre as quais se tem pouco conhecimento, o que permite
- fornecer dados para a conceção de novas regras ou
- o ganho de experiência no projeto do próprio modelo.
Capítulo 4. Modelação e Simulação de Sistemas 13/24
Modelos de simulação - Modelo Computação Científica
- Os modelos
- devem também incorporar elementos reais de forma simples,
- mantendo uma relação custo x benefício coerente.
- Deve-se evitar a construção de um modelo
- muito complexo, que dificulte ou impossibilite, a sua compreensão e manipulação,
ou
- demasiado simples, que não represente as propriedades desejáveis do sistema em estudo.
Capítulo 4. Modelação e Simulação de Sistemas 14/24
Propriedades dos modelos de simulação Computação Científica
Propriedades dos modelos de simulação
- Um modelo deve conter os aspetos importantes do sistema real, em que a sua complexidade
- deve possibilitar a compreensão do modelo, e
- deve possibilitar a manipulação do modelo.
- Essa característica pode ser difícil de ser alcançada, pois
- modelos realistas raramente são simples, e
- modelos simples raramente são realistas.
- No que se refere aos modelos matemáticos para simulação em computadores, estes são constituídos por
4 elementos:
- componentes,
- variáveis,
- parâmetros e
- relações funcionais.
Capítulo 4. Modelação e Simulação de Sistemas 15/24
Elementos de um modelo de simulação Computação Científica
Elementos de um modelo de simulação
- Componentes
- representam a parte do modelo sobre a qual são realizados os estudos;
- tendem a variar muito, dependendo do sistema que está sendo simulado;
- por exemplo, num sistema de gestão de redes, as componentes podem ser:
- os objetos geridos,
- os agentes de gestão e
- as aplicações geridas
Capítulo 4. Modelação e Simulação de Sistemas 16/24
Elementos de um modelo de simulação Computação Científica
- Variáveis
- são utilizadas para relacionar os componentes entre si;
- podem ser classificadas como: exógena, de estado e endógena.
- Variáveis exógenas
- são as variáveis independentes ou de entrada do modelo;
- podem ser classificadas como controláveis e não controláveis;
- as controláveis são as que podem ser manipuladas ou controladas;
- as não controláveis são geradas pelas circunstâncias nas quais o sistema modelado existe.
- Variáveis de estado
- descrevem o estado do sistema ou dos seus componentes.
- Variáveis endógenas
- são as dependentes ou de saída do sistema.
Capítulo 4. Modelação e Simulação de Sistemas 17/24
Elementos de um modelo de simulação Computação Científica
- Parâmetros
- são variáveis exógenas controláveis;
- devem ser determinados pelas condições do problema ou pelas entidades encarregues da decisão.
- Relações funcionais
- descrevem as interações das variáveis com os componentes.
Capítulo 4. Modelação e Simulação de Sistemas 18/24
Classificação dos modelos de simulação Computação Científica
Classificação dos modelos de simulação
- Os modelos de simulação são classificados em três grupos:
- determinísticos ou estocásticos,
- estáticos ou dinâmicos, e
- discretos ou contínuos.
- Um modelo pode ser estocástico, dinâmico e discreto:
- é o caso dos modelos de simulação discretos.
Capítulo 4. Modelação e Simulação de Sistemas 19/24
Classificação dos modelos de simulação Computação Científica
- Modelos determinísticos
- as variáveis exógenas e endógenas não podem ser variáveis aleatórias;
- as características operacionais devem ser relações exatas e não funções de densidade de probabilidade;
- são computacionalmente menos exigentes do que os modelos estocásticos;
- podem geralmente ser resolvidos usando técnicas analíticas/exatas.
- Modelos estocásticos
- pelo menos uma característica operacional é dada por uma função de probabilidade;
- geralmente são mais complexos que os modelos determinísticos;
- a simulação é mais adequada como método de análise da solução para estes modelos;
- estes modelos são adequados à geração aleatória de dados.
Capítulo 4. Modelação e Simulação de Sistemas 20/24
Classificação dos modelos de simulação Computação Científica
- Modelos estáticos
- não consideram a variável de tempo;
- a maioria dos modelos estáticos são completamente determinísticos;
- as soluções podem normalmente ser obtidas por técnicas analíticas/exatas diretas.
- Modelos dinâmicos
- são modelos que tratam de interações que são variáveis com o tempo
(ocorrência de uma ordem temporal entre eventos).
Capítulo 4. Modelação e Simulação de Sistemas 21/24
Classificação dos modelos de simulação Computação Científica
- Modelo discreto
- se todas as variáveis de estado têm os seus valores alterados apenas num número contável de instantes de
tempo
Capítulo 4. Modelação e Simulação de Sistemas 22/24
Classificação dos modelos de simulação Computação Científica
- Modelo contínuo
- se todas as variáveis de estado têm os seus valores alterados a qualquer instante de tempo; pode ser
- contínuo no tempo (os valores das variáveis dependentes estão sempre disponíveis a qualquer instante)
- discreto no tempo (os valores das variáveis dependentes estão disponíveis apenas em instantes específicos)
Capítulo 4. Modelação e Simulação de Sistemas 23/24
Classificação dos modelos de simulação Computação Científica
- Modelo misto
- se algumas variáveis de estado têm os seus valores alterados a qualquer instante de tempo e
outras apenas num número contável de instantes de tempo
Capítulo 4. Modelação e Simulação de Sistemas 24/24
Modelos de Simulação (Estocásticos) Dinâmicos Discretos - Tópicos Computação Científica
Modelos de Simulação (Estocásticos) Dinâmicos Discretos - Tópicos
- Componentes de um modelo de simulação
- Tipos de modelação (orientada ao evento, à atividade e ao processo)
- Modelação orientada ao Evento
- Modelação e implementação de um modelo de simulação
- Nível de detalhe dos modelos de simulação (aspetos do sistema real incluídos no modelo)
- Modelos de simulação com filas de espera
- Estrutura de uma fila
- Mecanismos de escalonamento
- Centros de serviço
- Análise de dados de entrada (inputs)
- Análise de resultados (outputs)
- Medidas de desempenho típicas
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 1/160
Componentes de um modelo de simulação Computação Científica
Componentes de um modelo de simulação
- Um modelo de simulação,
- é uma metodologia para modelar a evolução de um sistema ao longo do tempo,
- em que as variáveis de estado mudam instantaneamente em instantes particulares (discretos) de tempo.
- Os componentes de um modelo de simulação são os seguintes:
- Entidades
- Atributos
- Atividades
- Estado do sistema
- Eventos/Acontecimentos
- Executivo
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 2/160
Componentes de um modelo de simulação Computação Científica
- Entidade:
- é um objeto de interesse do sistema;
- exemplos:
- clientes do sistema,
- balcão de atendimento (servidor),
- máquinas num sistema de produção (servidor).
- Atributo:
- são as propriedades de uma entidade (existem vários tipos e cada uma com as suas propriedades);
- exemplos:
- tipos de prioridades dos clientes numa fila de espera,
- velocidade das máquinas e sua capacidade,
- taxas de avaria.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 3/160
Componentes de um modelo de simulação Computação Científica
- Atividade:
- representa um determinado período de tempo com duração específica, onde se verifica o desenvolvimento
de um processo que utiliza recursos;
- exemplos:
- fazer depósitos numa agência bancária,
- soldar,
- perfurar num sistema produtivo.
- Estado do sistema:
- é o conjunto de variáveis necessárias para descrever o sistema em qualquer instante, que estão
relacionadas com o objetivo do estudo;
- exemplos:
- número de servidores ocupados ou desocupados,
- número de clientes à espera para serem atendidos,
- número de máquinas em funcionamento, paradas ou avariadas.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 4/160
Componentes de um modelo de simulação Computação Científica
- Evento/Acontecimento:
- é uma ocorrência instantânea que altera o estado do sistema;
- exemplos:
- chegada de um cliente ao sistema,
- término do serviço de um cliente,
- uma nova avaria numa das máquinas;
- pode ser de dois tipos:
- exógeno, se tem origem fora do sistema,
- endógeno, se tem origem dentro do sistema.
- Executivo:
- trata-se de um mecanismo existente na estrutura do programa de simulação,
que permite manter permanentemente atualizada a informação sobre as entidades;
- por exemplo, permite conhecer
- em cada instante qual o estado da entidade e
- por quanto tempo é que esta permanece naquele estado.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 5/160
Componentes de um modelo de simulação Computação Científica
- Exemplo:
serviço de atendimento num balcão (um servidor)
- objetivo do estudo:
- estimar o tempo médio de espera para atendimento (numa fila)
– entidades:
- cliente
- servidor (balcão de atendimento)
- atributos:
- os clientes esperam numa fila
- o balcão de atendimento atende 1 cliente da cada vez
- atividades:
- tempo de atendimento de um cliente
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 6/160
Componentes de um modelo de simulação Computação Científica
- Exemplo (cont):
serviço de atendimento num balcão (um servidor)
- estado do sistema (variáveis de estado):
- estado do servidor (livre ou ocupado)
- instante de chegada de cada cliente ao sistema
- tempo de atendimento de cada cliente no balcão
- tempo de espera de cada cliente no sistema
– eventos/acontecimentos:
- chegada de um cliente ao sistema
- início do atendimento de um cliente
- partida de um cliente (no fim do serviço)
- executivo:
- variáveis estatísticas
- tempo de espera no sistema,
- tempo de atendimento no sistema,
- ...
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 7/160
Componentes de um modelo de simulação Computação Científica
- O objetivo de um modelo de simulação discreto é
- reproduzir as atividades das entidades envolvidas no sistema e, a partir daí,
- conhecer algo sobre o comportamento e desempenho do sistema.
- Isto é conseguido quando
- se definem os estados do sistema, e
- se constroem as atividades que movem o sistema de um estado para outro.
- O estado de um sistema
- é definido em termos de valores numéricos dados aos atributos das entidades
- só pode mudar nos tempos de eventos
- como permanece constante entre tempos de eventos, uma descrição completa do estado do sistema pode
ser obtida avançando o tempo simulado de um evento para outro.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 8/160
Componentes de um modelo de simulação Computação Científica
- Como os modelos de simulação discreta são dinâmicos, é necessário
- manter um registo do tempo simulado ao longo da simulação e
- um mecanismo para avançar o tempo de um instante para outro.
- O relógio de simulação
- é a variável que regista o valor atual do tempo simulado
- não tem uma unidade explícita (usa a mesma unidade dos parâmetros de entrada).
- O tempo simulado
- é diferente do tempo de execução da simulação (do computador) e do tempo real.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 9/160
Componentes de um modelo de simulação Computação Científica
- Relações entre evento, processo e atividade
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 10/160
Tipos de modelação Computação Científica
Tipos de modelação
- Um evento acontece num ponto isolado do tempo, no qual devem ser tomadas decisões de forma a
iniciar ou terminar um atividade.
- Um processo é uma sequência ordenada de eventos e pode englobar várias atividades.
- Estes conceitos levam naturalmente a três alternativas de visão de um modelo de simulação discreto:
- orientada ao Evento: a definição das mudanças nos estados podem ocorrer em cada tempo de evento
- orientada à Atividade: a descrição das atividades nas quais as entidades do sistema se envolvem
- orientada ao Processo: a descrição do processo através do qual as entidades do sistema fluem
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 11/160
Modelação orientada ao Evento Computação Científica
Modelação orientada ao Evento
- Um sistema é modelado pela definição das mudanças que ocorrem no tempo de evento.
- A tarefa do modelador é determinar os eventos que podem causar a mudança no estado do sistema e
desenvolver a lógica associada com cada tipo de evento.
- A simulação do sistema é produzida pela execução da lógica associada a cada evento, numa sequência
ordenada no tempo.
- Existem dois métodos possíveis para avançar o tempo no sistema a ser simulado:
- de incremento de tempo fixo (fixed increment) e
- para o próximo evento (next event).
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 12/160
Modelação orientada ao Evento Computação Científica
- Método de incremento de tempo fixo
- Um relógio virtual existente no computador permite registar o tempo instante a instante, mantendo a
sequência correta dos acontecimentos.
- O tempo é atualizado por intervalos discretos uniformes (minutos, segundos, etc.), sendo o sistema
observado em cada instante, de forma a saber se existe algum evento para ter início.
Tempo
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 13/160
Modelação orientada ao Evento Computação Científica
- Método para o próximo evento
- O avanço é por tempo variável, pois é concretizado através dos instantes em que se verificam os
acontecimentos
- Não se analisa o período durante o qual se executa a simulação instante a instante.
Tempo
1 o relógio é inicializado a zero e são determinados os instantes dos eventos futuros;
2 o relógio é avançado para o instante do próximo evento a ocorrer;
3 o estado do sistema é atualizado de acordo com esse evento e são determinados os instantes de novos
eventos;
4 os passos 2 e 3 são repetidos, até se cumprir uma condição de paragem pré-estabelecida.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 14/160
Modelação orientada ao Evento Computação Científica
- O método de avanço por incremento de tempo fixo é, em geral, mais eficiente
- se os acontecimentos ocorrem de forma regular, ou
- se não forem bem conhecidos.
- O método de avanço para o próximo evento, em contrapartida, tem a virtude da duração designada para
a unidade de tempo não afetar a velocidade de computação, o que permite poupar tempo na execução
do modelo.
- A escolha de um ou de outro depende da natureza do sistema a ser modelado e simulado.
- No entanto, verifica-se que a eficiência
- do primeiro método aumenta com o incremento do número das variáveis de estado, e
- do segundo, com a duração temporal média dos acontecimentos.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 15/160
Exemplo Computação Científica
Exemplo
- Problema:
um balcão de atendimento ao público
- Objetivo do estudo deste sistema:
- estimar o número médio de clientes na fila,
- o tempo de espera médio dos clientes na fila e
- a percentagem de tempo de ocupação do servidor.
- Na tabela seguinte, constam os dados recolhidos (amostras) relativos
- ao intervalo de tempo entre chegadas e
- à duração dos serviços.
Tempos entrechegadas (minutos)
Frequência (%)Tempos de serviço
(minutos)Frequência (%)
2
3
4
30
30
40
3
4
5
30
40
30
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 16/160
Exemplo Computação Científica
- Componentes do modelo de simulação:
- Entidades:
- clientes que chegam ao sistema para serem atendidos
- balcão de atendimento (servidor)
- Atributos:
- a disciplina da fila de espera admite-se ser FIFO (first in first out)
- Atividades:
- tempo de serviço (atendimento ao balcão)
- tempo despendido no sistema (tempo de espera + tempo de serviço)
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 17/160
Exemplo Computação Científica
- Componentes do modelo de simulação (cont):
- Estado do sistema:
- situação/estado do servidor (ocupado ou livre),
- número de clientes na fila
- número de clientes no sistema
- Eventos:
- chegada de um cliente ao sistema
- chegada de um cliente ao balcão de atendimento
- partida de um cliente do balcão de atendimento, apõs conclusão do serviço (partida do sistema)
- Executivo (variáveis estatísticas):
- tempo de espera no sistema (na fila)
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 18/160
Exemplo Computação Científica
- Os tempos entre chegadas e de serviços
- são geridos através das duas distribuições empíricas caracterizadas na tabela anterior
- podem ser determinados com processos comuns de amostragem
- geram-se números com igual probabilidade de escolha e independentes entre si (pseudoaleatórios).
Intervalo dos númerospseudoaleatórios
Tempos entrechegadas (min)
Intervalo dos númerospseudoaleatórios
Tempos de serviço(min)
00-29
30-59
60-99
2
3
4
00-29
30-69
70-99
3
4
5
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 19/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte:
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 20/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte (cont):
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
85 5 9 0 4 5 + 0 = 5
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 21/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte (cont):
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
85
66
5
4
9
13
0
2
4
0
5 + 0 = 5
4 + 2 = 6
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 22/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte (cont):
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
85
66
60
5
4
4
9
13
17
0
2
2
4
0
0
5 + 0 = 5
4 + 2 = 6
4 + 2 = 6
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 23/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte (cont):
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
85
66
60
23
5
4
4
3
9
13
17
20
0
2
2
3
4
0
0
0
5 + 0 = 5
4 + 2 = 6
4 + 2 = 6
3 + 3 = 6
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 24/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte (cont):
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
85
66
60
23
11
5
4
4
3
3
9
13
17
20
23
0
2
2
3
3
4
0
0
0
0
5 + 0 = 5
4 + 2 = 6
4 + 2 = 6
3 + 3 = 6
3 + 3 = 6
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 25/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte (cont):
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
85
66
60
23
11
53
5
4
4
3
3
4
9
13
17
20
23
27
0
2
2
3
3
2
4
0
0
0
0
0
5 + 0 = 5
4 + 2 = 6
4 + 2 = 6
3 + 3 = 6
3 + 3 = 6
4 + 2 = 6
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 26/160
Exemplo Computação Científica
- Os resultados da simulação (à atividade) são os que constam na tabela seguinte (cont):
Númeropseudo-aleatório
Intervalo detempo entre
chegadas(min)
Tempoacumulado
(min)
Númeropseudo-aleatório
Tempo deserviço(min)
Tempo deconclusãodo serviço
(min)
Tempo deespera(min)
Disponibilidadedo servidor
(min)
Tempodespendido nosistema (min)
79
57
80
48
59
81
03
4
3
4
3
3
4
2
4
7
11
14
17
21
23
85
66
60
23
11
53
49
5
4
4
3
3
4
4
9
13
17
20
23
27
31
0
2
2
3
3
2
4
4
0
0
0
0
0
0
5 + 0 = 5
4 + 2 = 6
4 + 2 = 6
3 + 3 = 6
3 + 3 = 6
4 + 2 = 6
4 + 4 = 8
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 27/160
Exemplo Computação Científica
- O método de simulação (ao evento) utilizado é o para o próximo evento, onde os eventos com
relevância são:
- chegada de um cliente e
- partida de um cliente do balcão de atendimento, apõs conclusão do serviço (partida do sistema)
- O evento
- chegada de um cliente ao balcão de atendimento
não vai ser considerado, pois os tempos em que ocorre coincidem com
- chegada de um cliente
ou
- partida de um cliente do balcão de atendimento
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 28/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 29/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 30/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 31/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 32/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 33/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 34/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 35/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 36/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
17 chegada 5 21 1 - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 37/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
17 chegada 5 21 1 - - - -
20 partida 4 - 0 ocupado (5) 23 - 3
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 38/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
17 chegada 5 21 1 - - - -
20 partida 4 - 0 ocupado (5) 23 - 3
21 chegada 6 23 1 - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 39/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
17 chegada 5 21 1 - - - -
20 partida 4 - 0 ocupado (5) 23 - 3
21 chegada 6 23 1 - - - -
23 partida 5 - 0 ocupado (6) 27 - 2
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 40/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
17 chegada 5 21 1 - - - -
20 partida 4 - 0 ocupado (5) 23 - 3
21 chegada 6 23 1 - - - -
23 partida 5 - 0 ocupado (6) 27 - 2
23 chegada 7 1 - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 41/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
17 chegada 5 21 1 - - - -
20 partida 4 - 0 ocupado (5) 23 - 3
21 chegada 6 23 1 - - - -
23 partida 5 - 0 ocupado (6) 27 - 2
23 chegada 7 1 - - - -
27 partida 6 - 0 ocupado (7) 31 - 4
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 42/160
Exemplo Computação Científica
- A tabela seguinte apresenta a evolução dos eventos.
Relógio desimulação Evento Cliente Próxima
chegada Fila Estado doservidor
Próximasaída
Tempo livre doservidor
Tempo deespera Fila
0 - - 4 0 livre 0 -
4 chegada 1 7 0 ocupado (1) 9 4 0
7 chegada 2 11 1 - - - -
9 partida 1 - 0 ocupado (2) 13 - 2
11 chegada 3 14 1 - - - -
13 partida 2 - 0 ocupado (3) 17 - 2
14 chegada 4 17 1 - - - -
17 partida 3 - 0 ocupado (4) 20 - 3
17 chegada 5 21 1 - - - -
20 partida 4 - 0 ocupado (5) 23 - 3
21 chegada 6 23 1 - - - -
23 partida 5 - 0 ocupado (6) 27 - 2
23 chegada 7 1 - - - -
27 partida 6 - 0 ocupado (7) 31 - 4
31 partida 7 - - livre - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 43/160
Exemplo Computação Científica
- Atendendo aos objetivos do estudo, os valores estimados são os seguintes:
- número médio de clientes na fila: 6/7 = 0.86 (86%)
- tempo médio de espera dos clientes na fila: 16/7 = 2.3 minutos/cliente
- percentagem de tempo de ocupação do servidor: (31-4)/31 = 27/31 = 0.87 (87%)
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 44/160
Modelação e implementação de um modelo de simulação Computação Científica
Modelação e implementação de um modelo de simulação
- Na fase de implementação do modelo de simulação é necessário ter em conta duas entidades
importantes:
- as variáveis e
- as rotinas associadas ao modelo.
- As variáveis são:
- estado do sistema:
- conjunto de variáveis que descrevem o estado do sistema num instante de tempo, e
- relógio de simulação:
- variável que regista o instante atual do tempo simulado,
- lista de eventos:
- lista com os próximos instantes de tempo em que cada tipo de evento vai ocorrer, e
- contadores estatísticos:
- variáveis que guardam informação estatística, ao longo da simulação, sobre o desempenho do sistema
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 45/160
Modelação e implementação de um modelo de simulação Computação Científica
- As rotinas necessárias, são pelo menos as seguintes:
– rotina de inicialização:
- subprograma que inicializa o estado do sistema no instante 0
– rotina de gestão de tempo:
- subprograma que determina o próximo evento da lista de eventos e avança o relógio de simulação
– rotinas dos eventos:
- subprogramas (um por tipo de evento) que atualizam o estado do sistema quando ocorre um evento
– biblioteca de rotinas:
- conjunto de subprogramas que geram observações aleatórias das distribuições de probabilidade que são
utilizadas pelo modelo
– gerador de relatórios:
- subprograma que calcula no fim da simulação (a partir dos contadores estatísticos) medidas de desempenho
do sistema e produz um relatório
– programa principal:
- chama a rotina de gestão de tempo e passa o controlo para a correspondente rotina do evento;
- verifica as condições de paragem;
- chama o gerador de relatórios no fim da simulação.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 46/160
Modelação e implementação de um modelo de simulação Computação Científica
- Um possível algoritmo associado à implementação do modelo de simulação é o seguinte:
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 47/160
Exemplo 1 Computação Científica
Exemplo 1
- Enunciado do problema:
- Serviço de atendimento de clientes com apenas um servidor.
- Funcionamento do sistema (uma barbearia):
– os clientes chegam à barbearia e esperam se o barbeiro estiver ocupado;
– o barbeiro serve os clientes por ordem de chegada;
- o cliente abandona a barbearia após o corte de cabelo terminar;
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 48/160
Exemplo 1 Computação Científica
- Dados de entrada para a simulação do sistema (inputs):
– instantes de chegada dos clientes ao sistema
– tempo de duração do serviço de cada cliente
Número de cliente 1 2 3 4 5 6 7 8 9 10
Instantes de chegada (min) 12 15 32 76 97 128 138 153 180 215
Tempos de serviço (min) 25 32 12 30 24 10 27 21 15 14
- Objetivos
- calcular as seguintes medidas de desempenho (outputs):
- tempo médio de permanência dos clientes no sistema
- tempo médio de espera dos clientes
- número médio de clientes no sistema
- número médio de clientes em espera
- taxa de ocupação do servidor
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 49/160
Exemplo 1 Computação Científica
- Construção do modelo de simulação
– eventos:
- evento de chegada e
- evento de partida;
– variáveis de estado:
- número de cliente,
- fila de espera (FIFO),
- número de clientes na fila,
- tipo de evento e
- estado do servidor (ocupado ou livre);
– lista de eventos:
- próximo evento de chegada (tempo) e
- próximo evento de partida (tempo);
– contadores estatísticos:
- tempo de permanência dos clientes no sistema,
- tempo de espera dos clientes na fila,
- número de clientes que passaram pelo sistema,
- número de clientes que passaram pela fila e
- tempo de ocupação do servidor (barbeiro).
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 50/160
Exemplo 1 Computação Científica
- Algoritmos (evento de chegada):
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 51/160
Exemplo 1 Computação Científica
- Algoritmos (evento de partida):
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 52/160
Exemplo 2 Computação Científica
Exemplo 2
- Enunciado do problema:
Serviço de atendimento de clientes com dois servidores.
- Funcionamento do sistema (agência de viagens):
- dois agentes trabalham em paralelo no balcão de uma agência de viagens
- os clientes, ao chegarem, formam uma única fila à espera do primeiro agente livre
- se ambos os agentes estiverem livres, o cliente escolhe o Agente 1.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 53/160
Exemplo 2 Computação Científica
- Dados de entrada para a simulação do sistema (inputs):
– tempos entre chegadas:
- seguem uma distribuição exponencial negativa com valor esperado de 2.0 minutos;
- podem ser gerados a partir de números aleatórios uniformes entre 0 e 1 com a seguinte fórmula:
x = –µ * ln(1-r),
onde
r~U(0,1) e
µ é o valor esperado;
- tempos de serviço:
- os tempos médios de serviço são iguais para os dois agentes;
- os tempos de serviço têm duas parcelas: um tempo constante de 1 minuto para o contacto inicial e um tempo
variável uniforme entre 0.5 e 2.0 minutos;
- gerar valores aleatórios uniformemente distribuídos entre A e B usando a fórmula:
x = A + (B – A) * r,
onde
r~U(0,1),
A é o limite inferior e
B o limite superior
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 54/160
Exemplo 2 Computação Científica
- Objetivos:
- simular o sistema até todos os clientes serem atendidos
- calcular as seguintes medidas de desempenho (outputs):
- taxa de ocupação de tempo dos dois agentes
- tempo médio de espera dos clientes
- tempo médio de permanência dos clientes no sistema
- número médio de clientes que passaram pela fila de espera
- número médio de clientes que passaram pelo sistema (que foram atendidos)
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 55/160
Exemplo 2 Computação Científica
- Construção do modelo de simulação (estruturas de dados):
- Variáveis de estado do sistema
- Tipo de evento (chegada, partida1 ou partida2 – TipoEvento)
- Número do cliente (inteiro - NumCliente)
- Número de clientes que passaram pela fila de espera (inteiro - NumClientesFila)
- Número de clientes que passaram pelo sistema (inteiro - NumClientesSistema)
- Estado do Agente 1 (ocupado ou livre - EstadoAgente1)
- Estado do Agente 2 (ocupado ou livre - EstadoAgente2)
- Lista/Fila de espera de clientes com os tempos de chegada (fila reais – FilaEventosChegada)
- Relógio de simulação
- Relógio de simulação (real - Clock)
- Lista de eventos
- Tempo do próximo evento de chegada (real - TempoProximaChegada)
- Tempo de partida do cliente no Agente 1 (real - TempoPartida1)
- Tempo de partida do cliente no Agente 2 (real - TempoPartida2)
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 56/160
Exemplo 2 Computação Científica
- Contadores estatísticos
- Tempo total de espera dos clientes (real - TempoTotalEspera)
- Tempo de ocupação do Agente 1 (real - TempoOcupacaoAgente1)
- Tempo de ocupação do Agente 2 (real - TempoOcupacaoAgente2)
- Tempo total de permanência no sistema (real - TempoTotalPermanencia)
- Número total de clientes que passaram na fila de espera (TotalClientesFila)
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 57/160
Exemplo 2 Computação Científica
- Rotina para determinar os tempos entre chegadas:
float DeterminarTempoEntreChegadas (float niu) {
float r, X;
r = rand()/(float)RAND_MAX;
X = -niu * log(1-r);
return X;
}
- Rotina para determinar os tempos de serviço:
float DeterminarTempoServico (float A, float B, float T0) {
float r, X;
r = rand()/(float)RAND_MAX;
X = T0 + A + (B - A) * r;
return X;
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 58/160
Exemplo 2 Computação Científica
- Rotina de inicialização:
void Inicializacao ( float Time, int *NumClientesSistema, int *EstadoAgente1, int *EstadoAgente2,
float **FilaEventosChegada, float *Clock, float *TempoProximaChegada, float *TempoPartida1,
float *TempoPartida2, float *TempoTotalEspera, float *TempoOcupacaoAgente1,
float *TempoOcupacaoAgente2, float *TempoTotalPermanencia, int *TotalClientesFila ) {
*NumClientesSistema = 0;
*EstadoAgente1 = 0; // livre
*EstadoAgente2 = 0; // livre
*FilaEventosChegada = CreateQueue();
*Clock = 0.0;
*TempoProximaChegada = Time;
*TempoPartida1 = Infinito;
*TempoPartida2 = Infinito;
*TempoTotalEspera = 0.0;
*TempoOcupacaoAgente1 = 0.0;
*TempoOcupacaoAgente2 = 0.0;
*TempoTotalPermanencia = 0.0;
*TotalClientesFila = 0;
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 59/160
Exemplo 2 Computação Científica
- Rotina de gestão do tempo:
void GestaoTempo (float TempoProximaChegada, float TempoPartida1, float TempoPartida2,
float *Tempo, int *TipoEvento) {
*Tempo = TempoProximaChegada;
*TipoEvento = 0; // Chegada
if (TempoPartida1 < *Tempo) {
*Tempo = TempoPartida1;
*TipoEvento = 1; // Partida1
}
if (TempoPartida2 < *Tempo) {
*Tempo = TempoPartida2;
*TipoEvento = 2; // Partida2
}
if (*Tempo == Infinito)
*TipoEvento = -1;
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 60/160
Exemplo 2 Computação Científica
- Rotina do Evento de Chegada:
void EventoChegada ( float Tempo, int *NumClientesSistema, int *EstadoAgente1, int *EstadoAgente2,
float **FilaEventosChegada, float *TempoProximaChegada, float *TempoPartida1,
float *TempoPartida2, float *TempoOcupacaoAgente1, float *TempoOcupacaoAgente2,
float *TempoTotalPermanencia, int *TotalClientesFila ) {
float TempoEntreChegadas, TempoServico;
TempoEntreChegadas = DeterminarTempoEntreChegadas(2.0);
*TempoProximaChegada = Tempo + TempoEntreChegadas;
if (*EstadoAgente1 == 1) // Agente 1 ocupado
if (*EstadoAgente2 == 1) { // Agente 2 ocupado e Agente 1 ocupado
*FilaEventosChegada = InsertQueue(Tempo, *FilaEventosChegada);
*TotalClientesFila = *TotalClientesFila + 1;
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 61/160
Exemplo 2 Computação Científica
else { // Agente 2 livre e Agente 1 ocupado
*NumClientesSistema = *NumClientesSistema + 1;
*EstadoAgente2 = 1;
TempoServico = DeterminarTempoServico(0.5, 2.0, 1);
*TempoPartida2 = Tempo + TempoServico;
*TempoOcupacaoAgente2 = *TempoOcupacaoAgente2 + TempoServico;
*TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico;
}
else { // Agente 1 livre
*NumClientesSistema = *NumClientesSistema + 1;
*EstadoAgente1 = 1;
TempoServico = DeterminarTempoServico(0.5, 2.0, 1);
*TempoPartida1 = Tempo + TempoServico;
*TempoOcupacaoAgente1 = *TempoOcupacaoAgente1 + TempoServico;
*TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico;
}
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 62/160
Exemplo 2 Computação Científica
- Rotina do Evento de Partida do Agente 1:
void EventoPartida1 ( float Tempo, int *NumClientesSistema, int *EstadoAgente1,
float **FilaEventosChegada, float *TempoPartida1,
float *TempoOcupacaoAgente1, float *TempoTotalEspera, float *TempoTotalPermanencia ) {
float TempoChegadaCliente, TempoEsperaCliente, TempoServico;
if (EmptyQueue(*FilaEventosChegada)) {
*EstadoAgente1 = 0;
*TempoPartida1 = Infinito;}else {
TempoChegadaCliente = Front(*FilaEventosChegada);
TempoEsperaCliente = Tempo - TempoChegadaCliente;
*NumClientesSistema = *NumClientesSistema + 1;
TempoServico = DeterminarTempoServico(0.5, 2.0, 1);
*TempoPartida1 = Tempo + TempoServico;
*FilaEventosChegada = RemoveQueue(*FilaEventosChegada);
*TempoTotalEspera = *TempoTotalEspera + TempoEsperaCliente;
*TempoOcupacaoAgente1 = *TempoOcupacaoAgente1 + TempoServico;
*TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico + TempoEsperaCliente;}
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 63/160
Exemplo 2 Computação Científica
- Rotina do Evento de Partida do Agente 2:
void EventoPartida2 ( float Tempo, int *NumClientesSistema, int *EstadoAgente2,
float **FilaEventosChegada, float *TempoPartida2,
float *TempoOcupacaoAgente2, float *TempoTotalEspera, float *TempoTotalPermanencia ) {
float TempoChegadaCliente, TempoEsperaCliente, TempoServico;
if (EmptyQueue(*FilaEventosChegada)) {
*EstadoAgente2 = 0;
*TempoPartida2 = Infinito;}else {
TempoChegadaCliente = Front(*FilaEventosChegada);
TempoEsperaCliente = Tempo - TempoChegadaCliente;
*NumClientesSistema = *NumClientesSistema + 1;
TempoServico = DeterminarTempoServico(0.5, 2.0, 1);
*TempoPartida2 = Tempo + TempoServico;
*FilaEventosChegada = RemoveQueue(*FilaEventosChegada);
*TempoTotalEspera = *TempoTotalEspera + TempoEsperaCliente;
*TempoOcupacaoAgente2 = *TempoOcupacaoAgente2 + TempoServico;
*TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico + TempoEsperaCliente;}
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 64/160
Exemplo 2 Computação Científica
- Rotina dos Contadores Estatísticos:
void ContadoresEstatisticos (int NumClientesSistema, int TotalClientesFila,
float TempoOcupacaoAgente1, float TempoOcupacaoAgente2, float TempoTotalEspera,
float TempoTotalPermanencia, float TempoTotalSistema) {
int TaxaOcupacaoAgentes, TaxaOcupacaoAgente1, TaxaOcupacaoAgente2;
float NumMedioClientesFila, TempoMedioEsperaClientes, TempoMedioPermanenciaClientes;
TaxaOcupacaoAgentes = (TempoOcupacaoAgente1+TempoOcupacaoAgente2)/(2*TempoTotalSistema)*100;
TaxaOcupacaoAgente1 = TempoOcupacaoAgente1 / TempoTotalSistema * 100;
TaxaOcupacaoAgente2 = TempoOcupacaoAgente2 / TempoTotalSistema * 100;
NumMedioClientesFila = TotalClientesFila / (float) NumClientesSistema;
TempoMedioEsperaClientes = TempoTotalEspera / NumClientesSistema;
TempoMedioPermanenciaClientes = TempoTotalPermanencia / NumClientesSistema;
printf("TaxaOcupacaoAgentes = %d%%\n", TaxaOcupacaoAgentes);
printf("TaxaOcupacaoAgente1 = %d%%\n", TaxaOcupacaoAgente1);
printf("TaxaOcupacaoAgente2 = %d%%\n", TaxaOcupacaoAgente2);
printf("NumMedioClientesFila = %.3f\n", NumMedioClientesFila);
printf("TempoMedioEsperaClientes = %.3f\n", TempoMedioEsperaClientes);
printf("TempoMedioPermanaenciaClientes = %.3f\n", TempoMedioPermanenciaClientes);
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 65/160
Exemplo 2 Computação Científica
- Programa Principal:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define Infinito 10000.0
#include "Queue.h"
#include "SimulationRoutines.h"
main() {
int terminar = 0, MaximoClientes, NumClientes = 0, NumClientesSistema, EstadoAgente1,
EstadoAgente2, TotalClientesFila, TipoEvento;
float TempoPrimeiraChegada, *FilaEventosChegada, Clock, TempoProximaChegada, TempoPartida1,
TempoPartida2, TempoTotalEspera, TempoOcupacaoAgente1, TempoOcupacaoAgente2,
TempoTotalPermanencia, TempoTotalSistema;
printf("Com quantos clientes quer realizar a simulacao ? ");
scanf("%d", &MaximoClientes);
srand((unsigned int)time(NULL));
TempoPrimeiraChegada = DeterminarTempoEntreChegadas(2.0);
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 66/160
Exemplo 2 Computação Científica
Inicializacao (TempoPrimeiraChegada, &NumClientesSistema, &EstadoAgente1, &EstadoAgente2,
&FilaEventosChegada, &Clock, &TempoProximaChegada, &TempoPartida1, &TempoPartida2,
&TempoTotalEspera, &TempoOcupacaoAgente1, &TempoOcupacaoAgente2,
&TempoTotalPermanencia, &TotalClientesFila);
while (true) {
GestaoTempo (TempoProximaChegada, TempoPartida1, TempoPartida2, &Clock, &TipoEvento);
if (Clock < Infinito)
TempoTotalSistema = Clock;
printf ("TempoProximaChegada = %f \n TempoPartida1 = %f \n TempoPartida2 = %f \n Clock = %f \n
TipoEvento = %d \n", TempoProximaChegada, TempoPartida1, TempoPartida2, Clock, TipoEvento);
if (TipoEvento == -1)
break;
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 67/160
Exemplo 2 Computação Científica
switch (TipoEvento) {
case 0 : NumClientes++;
EventoChegada (Clock, &NumClientesSistema, &EstadoAgente1, &EstadoAgente2,
&FilaEventosChegada, &TempoProximaChegada, &TempoPartida1, &TempoPartida2,
&TempoOcupacaoAgente1, &TempoOcupacaoAgente2, &TempoTotalPermanencia,
&TotalClientesFila);
if (NumClientes == MaximoClientes) TempoProximaChegada = Infinito;
break;
case 1 : EventoPartida1 (Clock, &NumClientesSistema, &EstadoAgente1, &FilaEventosChegada,
&TempoPartida1, &TempoOcupacaoAgente1, &TempoTotalEspera,
&TempoTotalPermanencia);
break;
case 2 : EventoPartida2 (Clock, &NumClientesSistema, &EstadoAgente2, &FilaEventosChegada,
&TempoPartida2, &TempoOcupacaoAgente2, &TempoTotalEspera,
&TempoTotalPermanencia);
break;
default:terminar = 1;
}
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 68/160
Exemplo 2 Computação Científica
if (terminar == 1)
break;
printf("NumClientes = %d \n NumClientesSistema = %d \n", NumClientes, NumClientesSistema);
} // while (true)
printf("\n\nCONTADORES ESTATISTICOS\n");
printf("NumClientesSistema = %d\n", NumClientesSistema);
printf("TotalClientesFila = %d\n", TotalClientesFila);
printf("TempoTotalSistema = %.3f\n", TempoTotalSistema);
printf("TempoOcupacaoAgente1 = %.3f\n", TempoOcupacaoAgente1);
printf("TempoOcupacaoAgente2 = %.3f\n", TempoOcupacaoAgente2);
printf("TempoTotalEspera = %.3f\n", TempoTotalEspera);
printf("TempoTotalPermanencia = %.3f\n\n", TempoTotalPermanencia);
ContadoresEstatisticos(NumClientesSistema, TotalClientesFila, TempoOcupacaoAgente1,
TempoOcupacaoAgente2, TempoTotalEspera, TempoTotalPermanencia, TempoTotalSistema);
} // main
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 69/160
Exemplo 2 Computação Científica
- Simulação manual (calcular os instantes de chegada e os tempos de serviço):
Número de cliente 1 2 3 4 5 6 7 8 9 10 11 12
Tempos entre chegadas (min) 3.6 5.6 2.8 0.4 0.3 1.9 5.4 0.3 4.1 1.0 0.7 0.3
Instantes de chegada (min) 3.6 9.2 12.0 12.4 12.7 14.6 20.0 20.3 24.4 25.4 26.1 26.4
Tempos de serviço (min) 2.7 2.5 1.9 2.7 3.9 2.9 1.5 2.2 1.7 2.6 1.8 2.7
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 70/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 71/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 72/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 73/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 74/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 75/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 76/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 77/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 78/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 79/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 80/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.7
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 81/160
Exemplo 2 Computação Científica
–Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.7
17.8 Partida1 5 - - livre ∞ - - - - - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 82/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.7
17.8 Partida1 5 - - livre ∞ - - - - - - - -
18.0 Partida2 5 - - - - livre - - - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 83/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.7
17.8 Partida1 5 - - livre ∞ - - - - - - - -
18.0 Partida2 5 - - - - livre - - - - - -
20.0 Chegada 7 20.3 - ocup 21.8 - - 19.8 12.5 - - 7 -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 84/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.7
17.8 Partida1 5 - - livre ∞ - - - - - - - -
18.0 Partida2 5 - - - - livre - - - - - -
20.0 Chegada 7 20.3 - ocup 21.8 - - 19.8 12.5 - - 7 -
20.3 Chegada 8 - - - ocup 22.5 22.0 - 7.8 - 8 -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 85/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.7
17.8 Partida1 5 - - livre ∞ - - - - - - - -
18.0 Partida2 5 - - - - livre - - - - - -
20.0 Chegada 7 20.3 - ocup 21.8 - - 19.8 12.5 - - 7 -
20.3 Chegada 8 - - - ocup 22.5 22.0 - 7.8 - 8 -
21.8 Partida1 7 - - livre - - - - - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 86/160
Exemplo 2 Computação Científica
– Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas):
Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE
0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 0
3.6 Chegada 1 9.2 - ocup 6.3 - - 2.7 2.7 - - 1 -
6.3 Partida1 1 - - livre - - - - - - - -
9.2 Chegada 2 12.0 - ocup 11.7 - - 5.2 5.2 - - 2 -
11.7 Partida1 2 - - livre - - - - - - - -
12.0 Chegada 3 12.4 - ocup 13.9 - - 7.1 7.1 - - 3 -
12.4 Chegada 4 12.7 - - - ocup 15.1 9.8 - 2.7 - 4 -
12.7 Chegada 5 14.6 [12.7] - - - - - - - 1 - -
13.9 Partida1 3 - [ ] - 17.8 - - 14.9 11.0 - - 5 1.2
14.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -
15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.7
17.8 Partida1 5 - - livre ∞ - - - - - - - -
18.0 Partida2 5 - - - - livre - - - - - -
20.0 Chegada 7 20.3 - ocup 21.8 - - 19.8 12.5 - - 7 -
20.3 Chegada 8 - - - ocup 22.5 22.0 - 7.8 - 8 -
21.8 Partida1 7 - - livre - - - - - - - -
22.5 Partida2 8 - - - - livre - - - - - - -
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 87/160
Nível de detalhe dos modelos de simulação Computação Científica
Nível de detalhe dos modelos de simulação
- O nível de detalhe dum modelo é a quantidade de aspetos do sistema real que são incluídos no modelo
– quando maior o for nível de detalhe, maior será o tempo e o custo de modelação,
– alguns aspetos podem ser desprezados sem prejuízo dos objetivos do estudo.
- O nível de detalhe que o modelo deve capturar:
– é determinado pelos objetivos do estudo de simulação,
– deve ser consistente com os dados disponíveis para “alimentar” o modelo,
– é um compromisso entre “realismo” e custo,
– deve abranger aspetos que credibilizem o modelo, mesmo que sejam irrelevantes para a sua validação.
Em sistemas complexos o estudo pode ser hierárquico:
– primeira aproximação por via analítica ou com modelo de simulação “grosseiro”,
– segunda aproximação com maior detalhe, apenas incorporando os fatores relevantes.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 88/160
Nível de detalhe dos modelos de simulação Computação Científica
- Exemplos de modelos com diferentes níveis de detalhe:
- Sistema: caixas de supermercado, com n filas e n servidores
- opções de nível de detalhe:
– quanto à seleção da fila pelos clientes que escolhem
- uma fila aleatoriamente
- a fila mais curta
- a fila mais curta e mudam de fila se alguma fila próxima ficar mais curta
– modelar ou não filas especiais
- filas expresso para pequeno volume de compras
- filas prioritárias para grávidas
– modelar ou não situações de exceção
- interrupção para verificar preço não marcado
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 89/160
Modelos de simulação com filas de espera Computação Científica
Modelos de simulação com filas de espera
- Existem filas de espera em todas as atividades que exigem
- um determinado serviço com capacidade de fornecimento limitado.
- O estudo destes fenómenos é muito importante, pois são geradores de custos, seja
- o tempo de espera dos clientes que vão usar o serviço, ou
- o número de servidores que são colocados à disposição do sistema.
- O tempo de espera pode ser reduzido à custa do aumento do número de servidores;
- No entanto, com o aumento de servidores, aumenta o preço do serviço.
- Assim, o problema que se coloca, na maioria dos casos, é definir
- o ponto de custo total mínimo que corresponderá naturalmente a uma capacidade de serviço que se
pretende determinar.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 90/160
Modelos de simulação com filas de espera - Estrutura de uma fila Computação Científica
Modelos de simulação com filas de espera - Estrutura de uma fila
- Admite-se que os clientes são gerados através de uma fonte com capacidade de produção
- finita (limitada) ou
- infinita (ilimitada).
- Fonte finita,
- o número de potenciais clientes é fixo,
- o número de clientes que existem no sistema afeta, em qualquer instante, o número de potenciais clientes
fora do sistema.
- Fonte infinita
- a interação "clientes do sistema vs potenciais clientes" é considerada sem significado.
- Na generalidade dos modelos admite-se que o intervalo entre chegadas de clientes tem uma distribuição
estatística que deverá ser especificada.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 91/160
Modelos de simulação com filas de espera - Estrutura de uma fila Computação Científica
- O comportamento dos clientes pode ser caracterizado, sendo as decisões mais utilizadas as seguintes:
- recusa (balking): clientes recusam-se a entrar no sistema se a fila é demasiada longa
- desistência (reneging): clientes abandonam o sistema se esperam demasiado tempo
- apostas (jockeying): cliente decide mudar de fila para conseguir o serviço mais cedo
- A decisão de recusa é determinística
- As decisões de desistência e apostas são probabilísticas
- A indicação da dimensão da fila deve ser caracterizada, podendo ser finita ou infinita
- A dimensão infinita é a mais utilizada
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 92/160
Modelos de simulação com filas de espera - Mecanismos de escalonamento Computação Científica
Modelos de simulação com filas de espera - Mecanismos de escalonamento
- Utilizados para definir como os clientes são selecionados para entrar num servidor, quanto este se
encontrar disponível (são conhecidos como disciplina da filas).
- Existem inúmeros mecanismos, sendo os mais usados os seguintes:
- FCFS (first come first served): clientes entram no servidor pela ordem que chegam
- LCFS (last come fisrt served): tem a estrutura de uma pilha
- pode ser preemptiva (quando um cliente chega, o que está a ser servido é retirado do servidor e colocado no
topo da pilha, entrando o novo cliente; assim que este completar o seu serviço, o cliente no topo da pilha
entra novamente no servidor)
- RR (round robin): clientes são servidos por um intervalo de tempo pequeno (um quantum); se o serviço não
é completado neste tempo, então ele é colocado no final da fila e um outro cliente entra no servidor até
esgotar o seu quantum ou termine o serviço
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 93/160
Modelos de simulação com filas de espera - Mecanismos de escalonamento Computação Científica
- PS (processos sharing): todos os clientes dividem a capacidade do centro de serviço, como se executassem
em paralelo (comparada a RR, com quantum = 0)
- IS (infinite server): não existe fila, todos os clientes são servidos assim que chegam ao centro de serviço
- com prioridades: clientes entram nos servidores de acordo com classes de prioridades preestabelecidas
- nonpreemptive (PRTY - nonpreemptive priority) - o cliente em serviço não é afetado quando um cliente com
maior prioridade chega ao centro
- preemptive (PRTYPR - preemptive-resume priority) - a chegada de um cliente com prioridade superior tira de
serviço o de prioridade mais baixa (que está a ser servido), que só reentrará no servidor quando todos os
clientes com prioridades mais elevadas que a sua forem servidos
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 94/160
Modelos de simulação com filas de espera - Centros de serviço Computação Científica
Modelos de simulação com filas de espera - Centros de serviço
- Um centro (mecanismo) de serviço consiste em
- um ou mais servidores (ou postos de atendimento), correspondentes a recursos do sistema modelado, e
- uma área de espera (fila) para os clientes que irão ser servidos (atendidos).
- As estruturas mais comuns são:
(a) 1 fila e
1 servidor
(b) 1 fila e
2 servidores
(c) 2 filas e
1 servidor
(d) 1 fila
vários servidores
(e) várias filas e
1 servidor
(f) várias filas e
vários servidores
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 95/160
Modelos de simulação com filas de espera - Centros de serviço Computação Científica
- Um sistema pode ser modelado usando vários centros de serviço interligados (com várias fases).
- Quando um cliente deixa um centro de serviço, deverá existir um método para determinar qual o centro
de serviço para onde seguirá aquele cliente; este processo denomina-se de roteamento.
- Estruturas mais comuns, para
cada centro, são:
(a) 1 fila e
1 servidor
(b) 1 fila e
vários servidores
(c) várias filas e
vários servidores
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 96/160
Modelos de simulação com filas de espera - Centros de serviço Computação Científica
- Todos estes modelos são abertos (a), pois os centros de serviço são utilizados uma só vez.
- Os modelos em que os seus centros de serviço são utilizados mais do que uma vez, designam-se por
fechados (b) ou mistos (c).
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 97/160
Exemplo Computação Científica
Exemplo
Enunciado do problema:
Uma determinada Gasolineira com apenas 1 Bomba de Combustível funciona da seguinte forma:
Os clientes ao chegarem à Gasolineira com a sua viatura dirigem-se à sua única Bomba onde o funcionário
abastece a viatura e procede ao respetivo pagamento, caso o pagamento seja em dinheiro. Se o pagamento
for feito através de Cartão (de Crédito ou de Débito), o cliente terá que se dirigir a um outro Posto de
Atendimento onde se encontra outro funcionário para proceder ao respetivo pagamento.
Objetivos:
- Estimar os tempos médios de espera dos clientes na Gasolineira em cada Fila.
- Estimar a percentagem de clientes que passam pelas Filas.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 98/160
Exemplo Computação Científica
- Considere-se que os tempos de chegada dos Clientes à Gasolineira e os tempos gastos por cada um deles na
Bomba e no Posto de Pagamento com Cartão são os que constam na tabela seguinte:
ClienteInstante de chegada à
Gasolineira (min)Tempo de Abastecimento (e
pagamento em dinheiro) (min)Tempo de Pagamento com
Cartão (min)
1 6 9 0
2 14 8 0
3 17 7 0
4 21 8 0
5 26 6 3
6 35 7 2
7 44 8 0
a) Simule o sistema, considerando os dados que constam na tabela.
b) Quais os tempos médios de espera em cada Fila?
Qual a percentagem de clientes que passaram por cada Fila?
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 99/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 100/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 101/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 102/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 103/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 104/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 105/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 106/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 107/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 108/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 109/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
38 Part. B 4 44 [35] Ocup. 44 [ ] Livre 12 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 110/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
38 Part. B 4 44 [35] Ocup. 44 [ ] Livre 12 0 0 0
44 Cheg. 7 [35, 44] Ocup. 44 [ ] Livre 0 1 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 111/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
38 Part. B 4 44 [35] Ocup. 44 [ ] Livre 12 0 0 0
44 Cheg. 7 [35, 44] Ocup. 44 [ ] Livre 0 1 0 0
44 Part. B 5 [44] Ocup. 51 [ ] Ocup. 47 9 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 112/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
38 Part. B 4 44 [35] Ocup. 44 [ ] Livre 12 0 0 0
44 Cheg. 7 [35, 44] Ocup. 44 [ ] Livre 0 1 0 0
44 Part. B 5 [44] Ocup. 51 [ ] Ocup. 47 9 0 0 0
47 Part. P 5 [44] Ocup. 51 [ ] Livre 0 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 113/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
38 Part. B 4 44 [35] Ocup. 44 [ ] Livre 12 0 0 0
44 Cheg. 7 [35, 44] Ocup. 44 [ ] Livre 0 1 0 0
44 Part. B 5 [44] Ocup. 51 [ ] Ocup. 47 9 0 0 0
47 Part. P 5 [44] Ocup. 51 [ ] Livre 0 0 0 0
51 Part. B 6 [ ] Ocup. 59 [ ] Ocup. 53 7 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 114/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
38 Part. B 4 44 [35] Ocup. 44 [ ] Livre 12 0 0 0
44 Cheg. 7 [35, 44] Ocup. 44 [ ] Livre 0 1 0 0
44 Part. B 5 [44] Ocup. 51 [ ] Ocup. 47 9 0 0 0
47 Part. P 5 [44] Ocup. 51 [ ] Livre 0 0 0 0
51 Part. B 6 [ ] Ocup. 59 [ ] Ocup. 53 7 0 0 0
53 Part. P 6 [ ] Ocup. 59 [ ] Livre 0 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 115/160
Exemplo Computação Científica
ClockTipo
EventoCl.
Próx.
Cheg.
Fila Bomba(Abast.)
EstadoBomba
Próx.PartidaBomba
Fila Pag.Cartão
EstadoPostoPag.
Próx.PartidaP. Pag.
TemposEsperaBomba
Cls.Fila
Bomba
TemposEsperaP. Pag.
Cls. FilaP. Pag.
0 - - 6 [ ] Livre [ ] Livre 0 0 0 0
6 Cheg. 1 14 [ ] Ocup. 15 [ ] Livre 0 0 0 0
14 Cheg. 2 17 [14] Ocup. 15 [ ] Livre 0 1 0 0
15 Part. B 1 17 [ ] Ocup. 23 [ ] Livre 1 0 0 0
17 Cheg. 3 21 [17] Ocup. 23 [ ] Livre 0 1 0 0
21 Cheg. 4 26 [17, 21] Ocup. 23 [ ] Livre 0 1 0 0
23 Part. B 2 26 [21] Ocup. 30 [ ] Livre 6 0 0 0
26 Cheg. 5 35 [21, 26] Ocup. 30 [ ] Livre 0 1 0 0
30 Part. B 3 35 [26] Ocup. 38 [ ] Livre 9 0 0 0
35 Cheg. 6 44 [26, 35] Ocup. 38 [ ] Livre 0 1 0 0
38 Part. B 4 44 [35] Ocup. 44 [ ] Livre 12 0 0 0
44 Cheg. 7 [35, 44] Ocup. 44 [ ] Livre 0 1 0 0
44 Part. B 5 [44] Ocup. 51 [ ] Ocup. 47 9 0 0 0
47 Part. P 5 [44] Ocup. 51 [ ] Livre 0 0 0 0
51 Part. B 6 [ ] Ocup. 59 [ ] Ocup. 53 7 0 0 0
53 Part. P 6 [ ] Ocup. 59 [ ] Livre 0 0 0 0
59 Part. B 7 [ ] Livre [ ] Livre 0 0 0 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 116/160
Análise de dados de entrada (inputs) – Introdução Computação Científica
Análise de dados de entrada (inputs) – Introdução
- Um dos aspetos mais importantes na implementação de modelos de simulaçao é a forma como se
caracterizam os dados de entrada (inputs) do modelo.
- De facto, o aspeto mais difícil da modelação dos dados de entrada é obter dados com suficiente
qualidade, quantidade e variedade de forma a se conduzir uma análise razoável.
- A forma como são obtidos é também, muitas vezes, um fator determinante e condicionante do
desenvolvimento da investigação a concretizar, já que:
- são escolhidos em sequência diferente daquela porque foram observados, o que conduz à impossibilidade
de verificar hipóteses fundamentais como, por exemplo, a independência;
- poderão estar agregados em classes ou unidades que não permitem um outro tipo de agregação mais
conveniente em termos de análise;
- a precisão da recolha poderá não ser adequada ao estudo a realizar;
- os valores poderão provir de mais do que um processo, sem qualquer descriminação da origem.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 117/160
Análise de dados de entrada (inputs) – Introdução Computação Científica
Análise de dados de entrada (inputs) – Introdução
- Nestas circunstâncias são recomendados os seguintes procedimentos de natureza prática:
- sempre que possível, recolher entre 100 e 200 observações;
- para amostras de menores dimensões é significativa a redução da qualidade da análise;
- para amostras de maiores dimensões os ganhos são marginais;
- recolher dados com pelo menos mais um ou duas casas decimais em relação à forma como se exprimem os
valores de referência,
- por exemplo, a média e a mediana;
- quando se está interessado num resultado intermédio entre dois valores observado, deve-se
- começar por recolher esses dados e
- só depois determinar os resultados pretendidos através de cálculos manuais ou com a assistência de software
de suporte;
- se é evidente ou se suspeita-se que o comportamento do sistema depende do período de tempo
considerado, deve-se
- recolher várias amostras para cada um dos intervalos de tempo onde ocorrem essas variações.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 118/160
Análise de dados de entrada (inputs) – Introdução Computação Científica
Análise de dados de entrada (inputs) – Introdução
- Sendo possível recolher dados de uma variável aleatória, a sua utilização é concretizada em três formas:
- os valores são utilizados diretamente na simulação
- é um processo recomendado na validação do modelo, comparando o resultado com o verificado no sistema;
- no entanto, não existe, na maior parte dos casos, informação suficiente para se desenvolver um conjunto de
testes necessário para uma análise adequada dos resultados;
- os dados recolhidos são utilizados para definir uma função de distribuição empírica
- processo preferível ao anterior, pois permite gerar valores entre os valores mínimo e máximo observados;
- usar técnicas estatísticas de inferência para se ajustar distribuições teóricas através de testes de
hipóteses/decisões (visam caracterizar (inferir sobre) uma população a partir de uma parte da amostra)
- processo preferível ao anterior, pelas seguintes razões:
- a distribuição empírica
- apresenta algumas irregularidades, em especial se existe uma amostra de dimensão reduzida a moderada;
- permite apenas gerar um valor entre os valores mínimo e máximo observados;
- uma distribuição teórica
- é ajustada aos dados, pois existem razões de natureza física que a sua ponderação levam à sua utilização;
- é uma forma compacta de representar os dados, sendo fácil de alterar em experiências de simulações
alternativas.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 119/160
Análise de dados de entrada (inputs) – Introdução Computação Científica
Análise de dados de entrada (inputs) – Introdução
- Há também razões contrárias à utilização de distribuições teóricas, como sejam:
- podem não existir distribuições teóricas que se ajustem de forma adequada aos dados;
- podem ser gerados valores elevados mesmo com probabilidades reduzidas, sendo recomendado truncar a
distribuição teórica ajustada.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 120/160
Análise de dados de entrada (inputs) – Introdução Computação Científica
Análise de dados de entrada (inputs) – Introdução
- A importância da escolha da distribuição é demonstrada pelo seguinte exemplo, correspondente a um
sistema de produção composto por uma máquina e uma fila de espera:
– tempo entre chegadas: segue distribuição exponencial com média de 1 minuto,
– tempo de serviço: existem 200 observações, mas a distribuição é desconhecida,
– experiência:
- são ajustadas 5 distribuições distintas às observações,
- simulação do sistema com 100 corridas independentes até processar 1000 peças.
Distribuição ajustada aotempo de serviço
Tempo médio de espera Número médio em espera Proporção de esperas ≥ 20 min
minutos relativo n relativo % relativo
Exponencial
Gama
Weibull
Log-normal
Normal
6.71
4.54
4.36
7.19
6.04
1.5
1.0
1.0
1.6
1.4
6.78
4.60
4.41
7.30
6.13
1.5
1.0
1.0
1.7
1.4
6.4
1.9
1.3
7.8
4.5
4.9
1.5
1.0
6.0
3.4
- conclusão:
- os resultados são muito díspares, apesar de todas as distribuições ajustadas serem estatisticamente válidas.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 121/160
Análise de dados de entrada (inputs) - Introdução Computação Científica
Análise de dados de entrada (inputs) - Introdução
- Perante o problema de
- existir dados recolhidos no sistema real (observações), mas
- desconhecer-se a distribuição de que provêm (se alguma!),
- Deve-se começar por fazer o ajuste de uma distribuição teórica a um conjunto de observações:
1. seleção de um tipo de distribuição localização ()
2. estimação dos parâmetros da distribuição escala ()
3. aplicação de testes estatísticos à qualidade de ajuste forma
- Depois, verificar a distribuição de tempos tipicamente encontrada na prática:
– só valores x > 0
– assimétrica com cauda à direita
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 122/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas
- As distribuições teóricas podem ser divididas em dois grupos:
- contínuas
- discretas
- As distribuições contínuas mais usadas em simulação são:
- uniforme
- exponencial negativa
- normal
- log-normal
- triangular
As distribuições discretas mais usadas são:
- empírica
- de Poisson
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 123/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas
- Distribuição uniforme (contínua)
- A distribuição uniforme tem o desenvolvimento gráfico apresentado na figura.
- A sua função de densidade pode ser representada por:
f (X) = {1
b−a, se a ≤X ≤b
0 , se X < a ou X > b
- A sua função de distribuição é dada por:
F (X) = {0 , se X < a
1b−a
, se a ≤ X ≤ b
1 , se X > b
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 124/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
- Distribuição uniforme (contínua)
- Os parâmetros da distribuição são os seus limites de variação, com a < b e a,b R. Tem-se
- média: m = (a + b) / 2
- variância: s2 = (b – a)2 / 12.
- Os estimadores de máxima verosimilhança dos parâmetros são:
- a = min1 ≤i ≤n
Xi e
- b = max1≤i ≤n
Xi
Ou seja, para uma amostra de dimensão n,
- o menor valor das observações é o estimador de a e
- o maior valor das observações é o estimador de b.
- A distribuição uniforme permite modelar uma variável aleatória que se suspeita variar entre a e b (entre os
quais os valores são equiprováveis) e sobre a qual pouco mais se conhece.
- A distribuição uniforme entre 0 e 1 é essencial na geração de números pseudoaleatórios e de outras
distribuições.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 125/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas
- Distribuição exponencial negativa (contínua)
- A distribuição exponencial negativa tem o desenvolvimento gráfico apresentado na figura.
- A sua função de densidade é representada formalmente por:
f (X) = { 1
exp(−X ), se X ≥0
0 , se X < 0
- A função de distribuição é dada por:
F (X) = {1 −exp(−X ), se X ≥0
0 , se X < 0
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 126/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
- Distribuição exponencial negativa (contínua)
- A média (m) e variância (s2) desta distribuição são: m e m2.
- O estimador de máxima verosimilhança de m é calculado através de:
= X =1n (∑i=1
n
Xi).
Ou seja, a média dos n valores recolhidos para amostra.
- Esta distribuição apresenta um conjunto de propriedades, das quais se referem as seguintes:
- se s = m então existe uma elevada variabilidade,
- P(x [0.0025 m, 3.7 m]) = 95%.
- Esta distribuição é utilizada normalmente para caracterizar
- o intervalo de tempo entre chegadas de clientes a um sistema,
- o tempo de serviço,
- o tempo entre falhas de equipamento,
- etc.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 127/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas
- Distribuição normal (contínua)
- A distribuição normal (também conhecida por de Gauss ou Gaussiana) tem o desenvolvimento gráfico
apresentado na figura.
- A área a azul escuro está a menos de um desvio padrão (σ)
da média; numa distribuição normal, isto representa
cerca de 68% do conjunto,
- dois desvios padrões desde a média (azul médio e escuro)
representam cerca de 95%,
- três desvios padrões (azul claro, médio e escuro) cobrem
cerca de 99.7%.
- Esta distribuição tem uma função de densidade com a seguinte estrutura:
f (X) =1
√2πexp((X−)2
22 ), ∀X e > 0,
onde m e s representam o valor médio e o desvio padrão da distribuição.
- A função de distribuição não tem uma forma explícita.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 128/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
- Distribuição normal (contínua)
- Os estimadores de máxima verosimilhança da média e do desvio padrão podem ser calculados através dos
valores amostrais, de acordo com as expressões seguintes:
- = X,
- = [n −1n
s2]1 /2
e
- s2 =
∑i=1
n
(X i−X)2
n−1.
- Esta distribuição apresenta um conjunto de propriedades, das quais se referem as seguintes:
- A distribuição normal de média 0 e variância 1 designa-se por normal reduzida N(0,1);
qualquer normal pode ser transformada em normal reduzida através de uma relação linear.
- Se existem k variáveis aleatórias independentes, a sua soma segue uma distribuição normal de
- média igual à soma das médias e
- variância igual à soma das variâncias (teorema de limite central).
- Quando s 0 a distribuição normal torna-se degenerada para m.
- A distribuição normal é utilizada normalmente para descrever vários tipos de erros, valores que
representam a soma de grande número de outras quantidades, etc.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 129/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas
- Distribuição log-normal (contínua)
- A distribuição log-normal tem o desenvolvimento gráfico apresentado na figura
(para para µ = 0 e diferentes valores de σ).
- A função de densidade representa-se formalmente por:
f (X) = { 1
X √2πexp(−(ln(X)−)2
22 ), X > 0
0 , X ≤ 0
- Não existe fórmula para a função densidade acumulada.
- A forma desta distribuição depende do valor de s (parâmetro
de forma), sendo m um fator de escala.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 130/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
- Distribuição log-normal (contínua)
- Esta distribuição é válida apenas para X > 0, podendo ser usadas as formulas que se seguem, para calcular:
- o valor médio: e
+2
- a variância: e2+2(e
2−1)
- a moda: e −2
- Os valores de máxima verosimilhança para a média e desvio padrão são dados por:
- média: =
∑i=1
n
ln(Xi)
n
- desvio padrão: = √ ∑i=1
n
(ln(Xi)−)2
n.
- A distribuição log-normal aparece naturalmente como o produto de várias variáveis independentes
(sempre positivas).
- Esta distribuição está particularmente adaptada para modelar o tempo de desenvolvimento de tarefas ou
de quantidades iguais à soma de outras quantidades.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 131/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas
- Distribuição triangular (contínua)
- A sua representação gráfica é a apresentada na figura.
- A função de densidade pode ser representada por:
f (X) = {2(X −a)
(b −a)(c −a), se a ≤ X ≤ c
2(b −X)(b −a)(b −c)
, se c < X ≤ b
0 , outro valor
- A função de distribuição tem a representação explícita:
F (X) = {0 , X < a
X −a(b −a)(c −a)
, se a ≤ X ≤ c
1 −(b −X)2
(b −a)(b −c), se c < X ≤ b
1 , outro valor
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 132/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
- Distribuição triangular (contínua)
- Os parâmetros a, b e c são números reais, tais que a < c < b, e onde
- a é um indicador de localização,
- b-a um parâmetro de escala e
- c um parâmetro de forma.
- A média, variância e moda podem ser calculadas com as seguintes expressões:
- média: a+b+c
3
- variância: a2+b2+c2 −ab −ac −bc
18
- moda: c.
- Esta distribuição é indicada para representar acontecimentos onde não existem dados, mas apenas
- estimativas de tarefas ou
- estimativas de quantidades
- do valor mínimo, a
- do valor máximo, b
- do valor mais provável, c.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 133/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas
- Distribuição empírica (discreta)
- É frequente os dados recolhidos não se adaptarem a distribuições teóricas conhecidas, tornando-se possível
vir a gerar valores adaptados apenas às observações recolhidas.
- Os dados podem ser valores individualizados ou agregados em forma de histogramas.
- No primeiro caso (individualizados) é possível definir-se a função densidade acumulada através do seguinte
procedimento:
- ordenar as observações da menor para a maior, representando-as formalmente por
X1 ≤ X2 ≤ ... ≤ Xn
- no caso de uma variável discreta, a função de distribuição é calculada através de
F (X) = {0 , X < X1
kn
, se Xk ≤X ≤Xk+1
1 , se X ≥Xn
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 134/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
- Distribuição empírica (discreta) - Exemplo
- Admita-se que se recolheu os seguintes dados relativos ao intervalo de tempo entre chegadas de clientes a
um serviço (minutos):
5, 10, 8, 7, 10, 3, 2, 9, 5, 9
- Ter-se-à então:
2, 3, 5, 5, 7, 8, 9, 9, 10, 10
- O que dará origem aos valores apresentados na tabela seguinte (função densidade acumulada para uma
distribuição empírica):
Xn 2 3 5 7 8 9 10
F(X) 0.10 0.20 0.40 0.50 0.60 0.80 1.00
1/10 1/10 2/10 1/10 1/10 2/10 2/10
- Ao ser admitida a distribuição como contínua, os valores de F(X) poderão ser determinados através de uma
função de interpolação definida por:
F (X) = {0 , se X < X
1
k −1n −1
+X −Xk
(n −1)(Xk+1 −Xk), se X
k≤X <X
k+1
1 , se X ≥Xn
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 135/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teóricas Computação Científica
- Distribuição empírica (discreta) – Exemplo (cont.)
- Para o exemplo anterior ter-se-à:
F (4) =2 −17 −1
+4 −3
(7 −1)(5 −3)= 0.25
F (6) =3 −17 −1
+6 −5
(7 −1)(7 −5)= 0.42
- Caso a agregação seja realizada em k intervalos adjacentes [a0, a1), [a1, a2), ..., [ak-1, ak) de tal forma que
o intervalo j contém nj observações e n1 + n2 + ... + nk = n. Então, é possível determinar-se uma função
idêntica à anterior tal que G(a0) = 0, G(aj) = ( n1 + n2 + ... + nk) / n para j = 1, 2, ..., k.
- Os valores intermédios poderão ser interpolados através de:
F (X) = {0 , X < a
0
G(aj−1
) +X −aj−1
aj −aj−1(G(a
j)−G(a
j−1)), com a
j−1≤X < a
jpara j = 1, 2, ... , k
1 , se X ≥ak
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 136/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teórica Computação Científica
Análise de dados de entrada (inputs) – Propriedades das distribuições de teórica
- Distribuição de Poisson (discreta)
- A representação gráfica desta função é a apresentada na
figura (para vários valores de l).
- A distribuição de Poisson apresenta uma função de
densidade que formalmente poderá ser representada por:
P(X) = {exp (−λ) λX
X !, X = 0, 1, 2, 3, ...
0 , outro valor
.
- A função de distribuição tem a estrutura:
P(X) = {0 , X < 0
exp (−λ) ∑k=0
[X ]λk
k !, X ≥0
onde [X] indica a parte inteira de X.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 137/160
Análise de dados de entrada (inputs) – Propriedades das distribuições de teórica Computação Científica
- Distribuição de Poisson (discreta)
- A média e a variância são iguais a l e a moda pode ser determinada através da expressão:
moda = {λ−1 e λ , se λ é um inteiro
[λ] , outro valor.
- O estimador da média é dados por:
λ = X
- A distribuição de Poisson apresenta um conjunto de propriedades que interessa salientar, nomeadamente:
- se o intervalo de tempo entre acontecimentos seguir uma distribuição exponencial negativa de média b
unidades de tempo,
então a probabilidade de se verificarem n acontecimentos no intervalo de tempo t ≥ 0, segue uma distribuição
de Poisson com função de densidade é dada por:
P(X) =(β t)X exp(−β t)
X !, X = 0, 1, 2, ...
- se X1, X2, ..., Xm forem variáveis aleatórias independentes com distribuições de Poisson de média li
então X1 + X2 + ... + Xm segue uma distribuição de Poisson de média l1 + l2 + ... + lm.
- A distribuição de Poisson é normalmente utilizada para modelar o número de acontecimentos que se
concretizam durante um certo período de tempo com uma taxa média de ocorrência constante
(por exemplo, o número de chegadas ou serviços).
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 138/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada
- Verificação de independência
- Existem métodos heurísticos que são, na maior parte dos casos, efetivos na deteção da independência
entre os dados recolhidos, nomeadamente:
- determinação das correlações lineares para vários desfasamentos;
- diagramas de dispersão que relacionam as observações recolhidas nos instantes t e t + 1.
- A aplicação de testes formais torna-se difícil, uma vez que é complicado estabelecer hipóteses de partida
para as distribuições estatísticas dos valores recolhidos.
- A utilização de testes não paramétricos tem validade limitada.
- A função de correlação linear (ACFk) para vários desfasamentos k pode ser estimada através de:
ACFk =
∑t=k+1
n
(Xt− X) (Xt−k
− X)
∑t=1
n
(Xt − X)2
- Note-se que Xt representa a observação da amostra recolhida no instante t.
- A verificação das independência entre os valores obtidos em simulação é fundamental, uma vez que, no
caso de ser observada, poderá conduzir a uma estimativa da variância da variável em estudo enviesada.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 139/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
- Verificação da estabilidade da distribuição
- Esta questão refere-se à possibilidade de se constatar que a distribuição de probabilidade do processo em
consideração, é essencialmente a mesma ao longo do tempo.
- A sua verificação poderá ser concretizada através de:
- Representação gráfica da variável em observação, em função do tempo.
- No caso da existência de estabilidade, admite-se que apresente pequenas variações em torno de um valor
médio sem alterações sistemáticas (por exemplo, tendência marcada) ou bruscas (por exemplo, nível sem
mudanças significativas).
- É prática corrente agregar os valores através de uma média móvel, a sua representação gráfica deverá
também também ser aproximadamente constante, já que se filtram algumas variações que possam ter
origem em situações casuais.
- Representação gráfica da proporção de eventos (em análise) verificados e acumulados em % (VA) até ao
instante t em função do tempo.
- Por exemplo, pelo histograma apresentado na secção seguinte, verifica-se a não existência de alterações
bruscas o que permite inferir a estabilidade da distribuição.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 140/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
- Histogramas
- Antes de se usar testes formais para julgar o grau de adaptação de distribuições teóricas aos resultados
obtidos através de amostragem, torna-se importante analisar a estrutura gráfica do histograma, uma vez
que permite sugerir a distribuição (ou distribuições) que potencialmente poderão ser ajustadas.
- Esta representação consiste em dividir o domínio da variável sujeita a amostragem em vários intervalos
disjuntos, para os quais se estimam as percentagens de realizações concretizadas em cada um deles.
- O primeiro passo consiste na determinação do número de intervalos a considerar, de forma a se obter um
histograma com grande clareza.
- Uma das regras mais usada é a enunciada por Sturges, em que o número de intervalos (k) a considerar é obtido
pela seguinte expressão:
k = [1 + log2n]=[1 + 3.322 log10n ] em que
- [ ] representa a parte inteira do número e
- n a dimensão da amostra.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 141/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
- Histogramas
- A metodologia para se traçar um histograma pode ser sintetizada nos seguintes passos:
- Determinar o número de intervalos através da regra de Sturges.
- Na tabela seguinte são apresentados os valores calculados por vários tamanhos de amostra.
n 10 20 50 100 200 1000 10000
k 5 6 7 8 9 11 15
- Calcular os limites de cada intervalo q(i), utilizando:
q(i) = minimo(X1,... ,X
n) + i [máximo (X
1,..., X
n)− minimo (X
1, ..., X
n)
k ], para i = 1, 2, ..., k.
É razoável ajustar o valor de q(i) manualmente para números inteiros de forma a se interpretar com mais
facilidade o gráfico.
- Determinar a percentagem de pontos amostrais que ficam contidos em cada intervalo.
- Se houver pontos que coincidem com os limites de intervalo, os valores devem ser considerados no
intervalo superior.
- Contabilizar os pontos da amostra menor e maior no intervalo inferior e superior, respetivamente.
- Representar graficamente cada intervalo e a sua respetiva frequência.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 142/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
- Histogramas
- Exemplo: considere-se os intervalos de tempo entre chegadas apresentados na tabela que se segue.
Observ. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Xi 6.2 48 8.4 21 6.3 35 15 7.2 55 7.7 2.5 16 18 8.4 22 8.9 44
Observ. 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
Xi 6.5 2.8 0.88 2.9 6.4 8.2 19 6.6 2.2 2.8 4.2 5.3 41 16 0 1.6 5.2
Observ. 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
Xi 5.2 8.5 28 1.9 20 72 16 29 14 12 20 62 16 13 5.1 12
- Para este caso, tem-se:
- Max Xi = 72;
- Min Xi = 0;
- n = 50.
- Assim, o número de intervalos a considerar de acordo com a regra de Sturges (ver tabela; n = 50): 7.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 143/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
- Histogramas
- Exemplo (cont):
- Desta forma, pode-se definir os seus limites de acordo com o que se a seguir se especifica:
1 [0, 10[; 2 [10, 20[; 3 [20, 30[; 4 [30, 40[; 5 [40, 50[; 6 [50, 60[; 7 [60, 70[.
- Para se interpretar com mais facilidade, como 72 é o único valor acima de 70, este valor pode ser
considerado dentro do intervalo [60, 70[.
- Estes intervalos dão origem aos valores na tabela seguinte (% dos valores da mostra nos intervalos):
Intervalo ni %
1 26 52
2 11 22
3 6 12
4 1 2
5 3 6
6 1 2
7 2 4
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 144/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
- Histogramas
- Exemplo (cont):
- Originando as seguintes probabilidades acumuladas:
Intervalo ni Probabilidade acumulada
1 26 0.52
2 11 0.74
3 6 0.86
4 1 0.88
5 3 0.94
6 1 0.96
7 2 1.00
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 145/160
Análise de dados de entrada (inputs) – Análise estatística dos dados de entrada Computação Científica
- Testes estatísticos de aderência
- Um teste estatístico de aderência (teste de hipóteses) permite verificar formalmente se uma distribuição
teórica (F) se ajusta aos valores amostrados de forma independente (X1, ..., Xn).
- Assim, a hipótese nula poderá ser sintetizada como:
H0: Os Xi são variáveis aleatórias que provêm de uma distribuição F.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 146/160
Análise de dados de entrada (inputs) – Geração de número aleatórios Computação Científica
Análise de dados de entrada (inputs) – Geração de número aleatórios
- Um gerador de números aleatórios é um gerador que produz sequências de números de acordo com
uma distribuição de probabilidade dada, e que apresenta aleatoriedade.
- Um número aleatório é uma observação aleatória de uma distribuição uniforme (i.e. todos os números
são igualmente prováveis).
- Um número inteiro aleatório é uma observação aleatória de uma distribuição uniforme discreta sobre
um intervalo inteiro { n, n + 1, ..., N }.
- As probabilidades para esta distribuição são:
P(n)= ... = P(N)= 1/(N - n + 1).
- Um caso particular é o intervalo inteiro de 0 a N.
- Um número aleatório uniforme é uma observação aleatória de uma distribuição contínua uniforme
sobre um intervalo real [a, b].
- A função densidade de probabilidade é:
- f(x) = 1/(b-a) se a ≤ x ≤ b , e
- f(x) = 0 para qualquer outro valor de x.
- Quando a e b não são especificados, assume-se que a = 0 e b = 1.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 147/160
Análise de dados de entrada (inputs) – Geração de número aleatórios Computação Científica
- Em geral, os geradores produzem sequências de números inteiros mas podem ser facilmente convertidos
para números aleatórios uniformes.
- Por exemplo, para um número aleatório uniforme em [0, 1]:
– Dado um número inteiro aleatório r { 0, …, N }, dividindo-o por N obtém-se uma boa aproximação se N for∈
grande,
– x = (r + 1/2) / (N + 1)
– Mínimo = 1 / (2N + 2), com r = 0;
- Máximo = (N + 1/2) / (N + 1), com r = N.
- Os números aleatórios, gerados em computador, não são realmente aleatórios, pois eles são gerados em
sequências que podem ser reproduzidas, o que viola o princípio básico da aleatoriedade.
- Como contornar este facto?
- Se os números passam por uma série de testes estatísticos de aleatoriedade então, para efeitos práticos,
podem ser considerados como se fossem realmente aleatórios.
- Desta forma, eles são conhecidos como pseudoaleatórios.
- É comum usar-se, em simulação, a expressão números aleatórios;
- mas isto deve-se considerar como sinónimo de números pseudoaleatórios.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 148/160
Análise de dados de entrada (inputs) – Geração de número aleatórios Computação Científica
- Um gerador de números aleatórios deveria possuir as seguintes características:
- Aleatoriedade.
- É essencial que a sequência gerada exiba as propriedades dos números verdadeiramente aleatórios.
- Este comportamento aleatório deve ser confirmado por testes estatísticos.
- Grande período.
- Todos os geradores de números aleatórios utilizam fórmulas determinísticas precisas para os determinar.
- Estas fórmulas fazem com que a partir de um valor inicial, chamado semente, seja gerada uma sequência
de números aleatórios (ou melhor, pseudoaleatórios).
- No entanto, num determinado ponto da sequência, volta-se à semente, fazendo com que a sequência se
repita, pois é gerada por uma fórmula.
- A quantidade de números gerados até a sequencia começar a se repetir é chamada de Período.
- o período deve ser o maior possível;
- o período deve ser, no mínimo, grande o suficiente para não se repetir durante uma simulação.
- Eficiência computacional.
- Desde que um estudo de simulação necessite que um grande número de variáveis aleatórias sejam geradas, o
gerador de números aleatórios deve gerar estes números gastando o mínimo de tempo de computador.
- O gerador não deve usar muita memória, apesar desta propriedade esteja a perder importância.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 149/160
Análise de dados de entrada (inputs) – Métodos para gerar números aleatórios Computação Científica
Análise de dados de entrada (inputs) – Métodos para gerar números aleatórios
- Método do Meio do Quadrado
- Foi um dos primeiros métodos de geração de números aleatórios (proposto por John Von Neumann, 1946).
- Este método utiliza como entrada um número composto por k dígitos, denominado semente;
- este número é então elevado ao quadrado e deste são extraídos os k algarismos do meio que irão formar o
próximo número da sequência;
- este número é então também elevado ao quadrado do qual é extraído os k dígitos do meio formando o próximo
número da sequência;
- e assim por diante.
- Algoritmo determinístico: sempre que a semente for repetida a sequência de números gerada é a mesma
- Exemplo (fazendo k = 2):
r1 = 76 762 = 5776 r2 = 77 772 = 5929 r3 = 92 922 = 8464 r4 = 46 462 = 2116
r5 = 11 112 = 0121 r6 = 12 122 = 0144 r7 = 14 142 = 0196 r8 = 19 192 = 0361
r9 = 36 362 = 1296 r10 = 29 292 = 0841 r11 = 84 842 = 7056 r12 = 5 52 = 0025
r13 = 2 22 = 0004 r14 = 0
- Sequência gerada: 76, 77, 92, 46, 11, 12, 14, 19, 36, 29, 84, 5, 2
- Quando resultar em 0, deve-se utilizar outra semente.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 150/160
Análise de dados de entrada (inputs) – Métodos para gerar números aleatórios Computação Científica
- Método do Meio do Quadrado
- Algoritmo com diversas desvantagens:
- a primeira é que a sequência de números gerada tende a se repetir após poucas iterações,
- a segunda é que no caso do meio do quadrado coincidir com uma sequência de zeros, então o algoritmo
termina (neste caso, deve-se usar uma nova semente e recomeçar o processo).
- Solução proposta e otimização:
- solução: a cada iteração do algoritmo, somar à semente o número sequencial desta iteração elevado ao
quadrado.
- Assim, tem-se um deslocamento exponencial do alcance numérico gerado para a semente.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 151/160
Análise de dados de entrada (inputs) – Métodos para gerar números aleatórios Computação Científica
- Método da Congruência (LCG)
- A maioria dos métodos usados atualmente são variações do chamado Método Congruente Linear, cujos
pontos básicos foram propostos por Lehmer (1951).
- Este método gera uma sequência de números inteiros aleatórios no intervalo de 0 a m-1, os quais são
obtidos da relação recursiva:
ri+1 = (a ri + c) mod m
em que,
- mod é a função "módulo" (ou resto da divisão inteira entre dois números inteiros - por exemplo, 10 mod 6 = 4),
- a é uma constante inteira chamada de multiplicador (a < m),
- c é uma constante inteira que traduz o incremento (c < m).
- m é uma constante inteira que representa a quantidade de números diferentes a gerar,
- r0 é a semente da sequência de números aleatórios a gerar.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 152/160
Análise de dados de entrada (inputs) – Métodos para gerar números aleatórios Computação Científica
- Método da Congruência (LCG)
- Se c = 0, o método é chamado de Congruência Multiplicativa.
- Embora haja várias combinações de a e m aceitáveis para este caso, a combinação mais conhecida é devida a
Learmouth-Lewis :
ri+1 = (75 ri + c) mod (231 − 1), com a = 75 e m = 231 - 1
- Se a = 1 e c é um dos números aleatórios que precedem rn na sequência, o método é chamado de
Congruência Aditiva.
- Exemplo: gerar números aleatórios, com a = 9, c = 1, m = 17 e r0 = 7.
n rn Y = 9 rn + 1 y mod 17 rn+1 / 17
0
1
2
3
4
7
13
16
9
14
9 x 7 + 1 = 64
9 x 13 + 1 = 118
9 x 16 + 1 = 145
9 x 9 + 1 = 82
9 x 14 + 1 = 127
13
16
9
14
8
13/17 = 0.7647
16/17 = 0.9412
9/17 = 0.5294
14/17 = 0.8235
8/17 = 0.4706
- A sequência construída (composta por números pseudoaleatórios inteiros entre 0 e 16): 7, 13, 16, 9, 14 e 8.
- A última coluna contém uma sequência de números pseudoaleatórios entre 0 e 1.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 153/160
Análise de dados de entrada (inputs) – Métodos para gerar números aleatórios Computação Científica
- Métodos para gerar observações aleatórias
- Uma observação é aleatória quando é obtida a partir de alguma distribuição de probabilidades
- Um processo matemático para gerar observações aleatórias consiste no seguinte:
1ºsorteia-se um número uniformemente distribuído entre 0 e 1;
2ºutilizando uma função de repartição da distribuição de probabilidade desejada, transforma-se o número
aleatório sorteado em 1 num valor segundo a distribuição de probabilidade desejada.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 154/160
Análise de resultados (outputs) Computação Científica
Análise de resultados (outputs)
- A análise de resultados consiste na estimação, ou caracterização estatística, das verdadeiras medidas de
desempenho do modelo:
– a simulação é uma técnica estatística de amostragem em computador;
– a análise de resultados exige pelo menos tanta atenção quanto o desenvolvimento do modelo.
- É errado executar um modelo uma única vez durante um tempo arbitrário e aceitar os resultados como
“A resposta”.
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 155/160
Análise de resultados - Medidas de desempenho típicas Computação Científica
Análise de resultados - Medidas de desempenho típicas
- Medidas de desempenho associadas à Fila de espera:
- número médio de entidades na fila de espera (ou tamanho médio da fila)
- número máximo de entidades na fila de espera
- tempo médio de espera das entidades na fila
- proporção de tempo em que houve pelo menos n clientes na fila.
- Medidas de desempenho associadas ao Servidor:
- taxa de ocupação do servidor
- número médio de entidades em processamento
- Medidas de desempenho associadas ao Sistema:
- número de entidades processadas pelo sistema (contagem das entidades)
- número médio de entidades no sistema
- tempo médio de permanência das entidades no sistema
- tempo de espera total médio das entidades (soma dos tempos de espera)
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 156/160
Análise de resultados - Medidas de desempenho típicas Computação Científica
- O cálculo das medidas de desempenho segue a tabela seguinte:
Medida de desempenho Definição Estimativa
Tempo médio de espera das entidades na filad(n) = lim
n
∑i=1
n
Di
nd(n) =
∑i=1
n
Di
n
Número médio de entidades na fila q(n) = ∑i=0
(i .pi) q(n) =
∑i=0
(i . T i)
T (n)
Taxa de ocupação do servidor u(n) u(n) =S
T (n)
em que,
n : número de entidades simuladas
T(n) : tempo total da simulação até observar as n entidades
Di : tempo de espera na fila da entidade i
pi : proporção de tempo em que estiveram i entidades na fila (Σ pi = 1)
Ti : intervalo de tempo em que estiveram i entidades na fila (Σ Ti = T(n))
u(n) : proporção de tempo em que o servidor esteve ocupado
S : intervalo de tempo em que o servidor esteve ocupado (S ≤ T(n))
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 157/160
Análise de resultados - Medidas de desempenho típicas Computação Científica
- Por amostragem, número médio de entidades na fila é estimado pela expressão
q2(n) =
∑k=0
K
ck
K
em que,
K : número de observações efetuadas no tempo T(n)
ck : número de entidades na fila na observação k
- Dois níveis de variabilidade dos resultados da simulação:
1. Numa corrida variabilidade entre entidades
2. Entre corridas independentes variabilidade entre períodos de tempo
Análise de resultados de um sistema
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 158/160
Análise de resultados - Medidas de desempenho típicas Computação Científica
- Parâmetros a selecionar para a recolha de resultados:
1. período de aquecimento (warm-up)
- tempo até o sistema atingir um regime estável representativo
- durante este período não são recolhidas estatísticas
2. período de recolha de resultados
- período em que são registadas estatísticas
- tempo de duração da simulação com o sistema a funcionar numa sucessão de estados típicos
- deve ter a duração do período que se quer analisar (dia, semana, mês) ou um múltiplo deste
3. número de corridas independentes do modelo
- repetições da simulação do mesmo modelo
- em cada corrida são utilizadas sequências distintas de números aleatórios para gerar tempos independentes
- mais repetições maior precisão dos intervalos de confiança
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 159/160
Análise de resultados - Medidas de desempenho típicas Computação Científica
- Seleção dos parâmetros de recolha de resultados
- Como determinar o período de warm-up ?
– executar a simulação durante um tempo arbitrário
– verificar num gráfico o tempo em que as medidas de interesse demoram a “estabilizar”
- Como determinar a duração da simulação ?
– deve ser um intervalo múltiplo do período de interesse para o estudo
- ex: objetivo é a produção semanal período de 1 semana, 2 semanas, 1 mês
– deve incluir várias repetições de eventos intermitentes ou imprevistos
- ex: manutenção e avarias de máquinas
- Como selecionar o número decorridas da simulação?
1. Começar com 5 corridas independentes de cada cenário
2. Determinar IC para as medidas de desempenho de interesse para o estudo
3. Verificar a precisão da medida (amplitude do intervalo de confiança)
4. Se a amplitude não for suficientemente baixa, aumentar o número de corridas
Capítulo 4. Modelação e Simulação de Sistemas - Modelos (estocásticos) dinâmicos discretos 160/160
Modelos de Simulação (Estocásticos) Estáticos - método de Monte Carlo Computação Científica
Modelos de Simulação (Estocásticos) Estáticos - método de Monte Carlo
- Estes modelos caracterizam-se por a passagem do tempo ser irrelevante.
- É um modelo de simulação estático usado para modelar fenómenos probabilísticos cujas
características não mudam com o tempo.
- Necessita de números pseudo-aleatórios, tal como os modelos de simulação dinâmicos, e
- Pode também ser usado para avaliar expressões não probabilísticas através de métodos
probabilísticos.
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 1/11
Fases da simulação de Monte Carlo Computação Científica
Fases da simulação de Monte Carlo
- De modo geral, a simulação de Monte Carlo é definida por duas fases:
- preparação e
- aplicação.
- A fase da preparação é composta pelos seguintes passos:
1.Recolher os dados brutos (cronometrar do próprio sistema);
2.Tabular os dados (semelhante ao processo usado na Teoria de Filas):
- construir a tabela com os intervalos de valores (ou os próprios valores) e
- determinar as suas frequências;
3.Calcular o ponto médio dos intervalos (caso sejam usados);
4.Calcular a frequência acumulada de cada ponto médio ou valor;
5.Identificar os intervalos de frequência para cada ponto médio ou valor.
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 2/11
Fases da simulação de Monte Carlo Computação Científica
- A fase da aplicação é composta pelos seguintes passos:
6.Através de uma Tabela de Números Aleatórios ou de um programa Gerador de Números Aleatórios, escolher
um número;
7.Procurar, na tabela de intervalos de frequência, o intervalo onde está o número escolhido;
8.O valor a ser usado na simulação é o ponto médio deste intervalo ou valor.
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 3/11
Exemplo Computação Científica
Exemplo
Considere-se uma lavagem automática e analise-se o tempo entre chegadas de carros.
Passo 1. Recolha de dados brutos
13.6 27.9 1.1 12.3 9.7 12.7 15.3 4.1 13.5 0.7
10.8 29.5 5.8 9.9 6.1 5.5 7.7 17.4 7.7 26.4
15.9 5.9 11.6 2.7 2.9 1.7 4.6 35.5 15.8 17.5
0.6 4.0 18.1 21.8 3.8 14.6 12.9 8.5 0.4 2.5
33.1 39.8 6.4 1.8 8.3 11.9 4.4 16.2 6.8 0.318.0 12.1 16.5 8.5 12.5 1.4 5.6 8.2 0.9 17.9
10.9 24.4 1.0 28.1 2.0 42.7 29.9 4.9 3.1 8.1
0.4 10.4 8.1 2.7 13.0 0.7 4.8 2.8 4.3 3.4
28.5 28.4 3.0 15.5 17.3 1.6 17.7 1.2 13.4 14.1
14.9 4.3 1.6 0.6 6.9 22.6 10.2 7.3 3.8 10.4
Os valores marcados correspondem aos extremos (menor = 0.3 e maior = 42.7).
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 4/11
Exemplo Computação Científica
Passo 2. Tabular os dados - identificar os intervalos e determinar as suas frequências.
Processo de elaboração do histograma
- Determinação o número de intervalos.
- Aproximação sugerida: raiz quadrada do número de observações realizadas (método empírico).
- Ex: para as 100 tempos da tabela em cima, um número perto de 10 intervalos é adequado: √100 = 10.
- No entanto, como a variação dos valores das observações é de 0.3 a 42.7, optou-se por usar 9 intervalos
(de amplitude 5):
[0, 5[, [5, 10[, [10, 15[, [15, 20[, [20, 25[, [25, 30[, [30, 35[, [35, 40[ e [40, 45[.
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 5/11
Exemplo Computação Científica
- O histograma resultante é o seguinte (com as frequências):
Intervalo Observações Frequências Cálculo das frequências
0 5 35 0.35 35/100
5 10 19 0.19 19/100
10 15 19 0.19 19/100
15 20 13 0.13 13/100
20 25 3 0.03 3/100
5 30 7 0.07 7/100
30 35 1 0.01 1/100
35 40 2 0.02 2/100
40 45 1 0.01 1/100
TOTAL 100 1.00
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 6/11
Exemplo Computação Científica
Passo 3. Cálculo do ponto médio dos intervalos.
Intervalo Observações Frequência Ponto médio
0 5 35 0.35 2.5
5 10 19 0.19 7.5
10 15 19 0.19 12.5
15 20 13 0.13 17.5
20 25 3 0.03 22.5
5 30 7 0.07 27.5
30 35 1 0.01 32.5
35 40 2 0.02 37.5
40 45 1 0.01 42.5
TOTAL 100 1.00
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 7/11
Exemplo Computação Científica
Passo 4. Calcular a frequência acumulada:
Intervalo Observações Ponto médio FrequênciaFrequênciaAcumulada
0 5 35 2.5 0.35 0.35 0.35
5 10 19 7.5 0.19 0.35 + 0.19 0.54
10 15 19 12.5 0.19 0.54 + 0.19 0.73
15 20 13 17.5 0.13 0.73 + 0.13 0.86
20 25 3 22.5 0.03 0.86 + 0.03 0.89
5 30 7 27.5 0.07 0.89 + 0.07 0.96
30 35 1 32.5 0.01 0.96 + 0.01 0.97
35 40 2 37.5 0.02 0.97 + 0.02 0.99
40 45 1 42.5 0.01 0.99 + 0.01 1.00
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 8/11
Exemplo Computação Científica
Passo 5. Identificar os intervalos de frequência:
Intervalo Observações Ponto médio FrequênciaFrequênciaacumulada
Intervalosfrequência
0 5 35 2.5 0.35 0.35 0.01 0.35
5 10 19 7.5 0.19 0.54 0.36 0.54
10 15 19 12.5 0.19 0.73 0.55 0.73
15 20 13 17.5 0.13 0.86 0.74 0.86
20 25 3 22.5 0.03 0.89 0.87 0.89
5 30 7 27.5 0.07 0.96 0.90 0.96
30 35 1 32.5 0.01 0.97 0.97
35 40 2 37.5 0.02 0.99 0.98 0.99
40 45 1 42.5 0.01 1.00 1.00
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 9/11
Exemplo Computação Científica
Passo 6. Escolher valor na tabela de números aleatórios:
O que é?
- Lista de valores gerada através de algoritmo computacional (programa gerador de números aleatórios, ou
GNA).
- Os valores sorteados são uniformemente distribuidos entre 0 e 1 e multiplicados por 100000.
- A tabela seguinte apresenta parcialmente os valores obtidos:
98543 59525 21114 73109 69095 ...
87060 95250 50277 17486 7962 ...
82170 68014 7937 98003 40146 ...
... ... ... ... ... ...
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 10/11
Exemplo Computação Científica
Como usar?
- Escolher os dois últimos algarismos de cada número,
- percorrendo a tabela da esquerda para a direita e de cima para baixo.
- Exemplo: o primeiro número a ser escolhido é 43
Intervalo Ponto médio Intervalos
0 5 2.5 0.01 0.35
5 10 7.5 0.36 0.54 0.43
10 15 12.5 0.55 0.73
15 20 17.5 0.74 0.86
20 25 22.5 0.87 0.89
5 30 27.5 0.90 0.96
30 35 32.5 0.97
35 40 37.5 0.98 0.99
40 45 42.5 1.00
Capítulo 4. Modelação e Simulação de Sistemas – Modelos (Estocásticos) Estáticos 11/11