Capítulo 2 Conceitos Fundamentais de Simulação



Yüklə 445 b.
tarix18.04.2018
ölçüsü445 b.
#39088


Capítulo 2 Conceitos Fundamentais de Simulação

  • Frederico R. B. Cruz

  • Simulação de Sistemas

  • Departamento de Estatística - UFMG


Conceitos Fundamentais: Um Sistema Simplificado

  • objetivo geral:

    • estimar a produção esperada;
    • tempo na fila, tamanho da fila, proporção de tempo no qual a máquina está ocupada;
  • bom senso

    • seja consistente (partes de tempo);
    • seja razoável (interpretação, arredondamentos).


Especificações do Modelo

  • inicialmente (tempo 0), sistema vazio e desocupado;

  • unidade de tempo: minutos;

  • tempos de chegada: 0,00, 6,84, 9,24, 11,94, 14,53;

    • tempo entre chegadas: 6,84, 2,40, 2,70, 2,59, 0,73;
  • tempos de serviço: 4,58, 2,96, 5,86, 3,21, 3,11;

  • parar após transcorridos 15 minutos de simulação.



Objetivos do Estudo: Medidas de Desempenho

  • número total de partes produzidas P;

  • tempo médio de espera das partes na fila:

  • tempo máximo de espera das partes na fila:



Objetivos do Estudo: Medidas de Desempenho (cont.)

  • número médio de partes na fila:

  • número máximo de partes na fila:

  • tempo médio e máximo de ciclo das partes (tempo no sistema)



Objetivos do Estudo: Medidas de Desempenho (cont.)

  • utilização da máquina (proporção de tempo de ocupação):

  • muitas outras possíveis (sobrecarga de informação?).



Opções de Análise

  • palpite

    • tempo médio entre chegadas = 3,05 min
    • tempo médio de serviço = 3,94 min
    • tamanho da fila tende a explodir (talvez não em apenas 15 min);
    • se o tempo médio entre chegadas fosse maior que o tempo médio de serviço e estes tivessem variância nula, nunca haveria filas;
    • a realidade: entre estes dois extremos;
    • palpite tem suas limitações!


Opções de Análise (cont.)

  • teoria de filas

    • requer hipóteses adicionais a respeito do modelo;
    • modelo popular e simples, a fila M/M/1
      • tempo entre chegadas ~ exponencial
      • tempo de serviço ~ exponencial e independente das chegadas
      • E(serviço) < E(chegadas)
      • regime permanente (tempo muito longo, eterno);
      • resultados analíticos exatos, p.e., tempo médio de espera na fila:
    • problemas: validade, estimativa das médias, janela de tempo;
    • freqüentemente, útil, como primeira aproximação.


Simulação Mecânica

  • operações (chegadas, tempos de serviço) individuais ocorrerão exatamente como na realidade;

  • movimentos e mudanças ocorrem no tempo correto, na ordem correta;

  • interação entre as diferentes partes;

  • intalação de “observadores” para obtenção de medidas de desempenho;

  • abordagem “força bruta”;

  • nada de misterioso ou refinado

    • mas muitos detalhes e anotações;
    • software para simulação pode fazê-lo para você.


Partes de Um Modelo de Simulação

  • entidades

    • “agentes” que se movem, mudam de estado, afetam e são afetados por outras entidades;
    • objetos dinâmicos—são criados, se movem, vão embora (talvez);
    • usualmente, representam coisas “reais”:
      • nosso modelo, entidades são partes;
    • pode haver entidades “imaginárias” para modelagem de “travessuras”:
      • demônios/anjos que surgem e danificam partes/deixam inoperantes;
      • usualmente, apresentam múltiplas realizações;
    • pode haver diferentes entidades concorrentes.


Partes de Um Modelo de Simulação (cont.)

  • atributos

    • características de todas as entidades: descrevem, diferenciam;
    • todas as entidades possuem atributos básicos, mas diferentes valores para diferentes atributos, p.e.:
      • tempo de chegada;
      • prazo para entrega;
      • prioridade;
      • cor;
    • valores são característicos de uma entidade específica;
    • semelhantes às variáveis locais;
    • no Arena, algumas são automáticas, outras, você define.


Partes de Um Modelo de Simulação (cont.)

  • variáveis (globais)

    • reflete a característica de um sistema, independente das entidades;
    • cujo nome e valor só existe um para o modelo inteiro;
    • não acopladas às entidades;
    • podem ser acessadas e modificadas pelas entidades;
      • tempo de viagem entre estações;
      • número de partes no sistema;
      • cronômetro da simulação;
    • escritas nas “paredes” do sistema, não nas partes;
    • algumas, próprias no Arena, mas outras podem ser definidas por você.


Partes de Um Modelo de Simulação (cont.)

  • recursos

    • sobre o que as entidades competem:
      • pessoal,
      • equipamentos,
      • espaço físico;
    • as entidades tomam um recurso, utilizam-no e liberam-no;
    • pense em um recurso como sendo atribuído a uma entidade, em lugar de uma entidade pertencendo a um recurso;
    • “um” recurso pode ter diversas unidades de capacidade:
      • assentos em uma mesa de restaurante;
    • número de unidades de um recurso podem mudar ao longo da simulação.


Partes de Um Modelo de Simulação (cont.)

  • filas

    • locais de espera das entidades, quando não podem se mover (possivelmente porque o recurso que pretendem tomar não está disponível);
    • têm nomes, freqüentemente ligados ao recurso respectivo;
    • podem ter capacidade finita para modelar limitação de espaço—tem que ser modelado o que fazer quando uma entidade surgir para entrar em uma fila que já estiver cheia;
    • usualmente, monitora-se o seu tamanho e tempo de espera.


Partes de Um Modelo de Simulação (cont.)

  • acumuladores de estatísticas

    • variáveis que “monitoram” o que está ocorrendo;
    • dependentes das medidas de desempenho de interesse;
    • “passivos” no modelo—não participam, apenas monitoram;
    • muito, são automáticos no Arena, mas alguns precisam ser inicializados e manipulados por você durante a simulação;
    • ao final da simulação, são utilizados para calcular as medidas de desempenho finais.


Partes de Um Modelo de Simulação (cont.)

  • acumuladores de estatísticas para o sistema simplificado:

    • número de partes produzidas até então;
    • total de tempos gastos na fila até então;
    • número de partes que passaram pela fila;
    • maior tempo na fila já visto;
    • total de tempos no sistema;
    • maior tempo no sistema já visto;
    • área sob a curva de tamanho da fila Q(t) até então;
    • maior Q(t) até então;
    • área sob a curva de ocupação do servidor B(t) até então;


Eventos

  • “algo” que acontece em um instante de tempo (simulado) e pode mudar:

    • atributos,
    • variáveis,
    • acumuladores de estatísticas;


Eventos para o Sistema Simplificado

  • chegada de uma nova parte no sistema:

    • atualizar os acumuladores de estatísticas,
      • área sob Q(t),
      • máximo Q(t),
      • área sob B(t);
    • marcar a parte com o tempo corrente
    • se a máquina está desocupada:
      • iniciar processamento (programar partida), tornar a máquina ocupada, inicializar o tempo na fila (0);
    • senão (máquina ocupada):
      • colocar parte no final da fila, incrementar tamanho da fila;
    • programar próximo evento de chegada.


Eventos para o Sistema Simplificado (cont.)

  • partida (quando o serviço é completado):

    • incrementar o acumulador do unidades produzidas;
    • calcular e acumular o tempo no sistema (agora - tempo de chegada);
    • atualizar as estatísticas acumuladas;
    • se a fila é não-vazia:
    • senão (fila está vazia):
      • faça a máquina desocupada (note que neste caso não haverá programação de evento de partida).


Eventos para o Sistema Simplificado (cont.)

  • Final

    • atualize as estatísticas acumuladas (até o final da simulação);
    • calcular as medidas de desempenho finais, utilizando as estatísticas acumuladas.


Especificações para o Sistema Simplificado

  • relógio da simulação (interno ao Arena)

  • calendário de eventos (lista de eventos):

    • [número da entidade, tempo do evento, tipo de evento];
    • mantidos na ordem segundo a qual ocorrerão;
    • próximo evento sempre no topo;
    • inicialmente, programar a primeira chegada;
    • final, corresponde à última partida;
  • variáveis de estado (descrevem o status atual):

    • status do servidor, B(t) = 1, se ocupado, 0, se livre;
    • número de usuários na fila, Q(t);
    • tempos de chegada de cada usuário (lista de tamanho aleatório).


Simulação Manual

  • acompanhar manualmente as variáveis de estados e os acumuladores;

  • utilizar os tempos de chegada e de serviço;

  • acompanhar o calendário de eventos;

  • adiantar o relógio de um evento ao próximo;

  • por simplicidade, omitir cálculos dos tempos no sistema e valores máximos;



Simulação Manual: inicialização



Simulação Manual: inicialize em t = 0.00



Simulação Manual: chegada da parte 1 em t = 0.00



Simulação Manual: partida da parte 1 em t = 4.58



Simulação Manual: chegada da parte 2 em t = 6.84



Simulação Manual: chegada da parte 3 em t = 9.24



Simulação Manual: partida da parte 2 em t = 9.80



Simulação Manual: chegada da parte 4 em t = 11.94



Simulação Manual: chegada da parte 5 em t = 14.53



Simulação Manual: final em t = 15.00



Simulação Manual: Finalizações

  • tempo médio na fila:

  • tamanho médio da fila:

  • utilização do servidor:



Registro Completo da Simulação Manual



Implementação Computacional da Simulação Orientada a Eventos

  • claramente adequada;

  • frequentemente utiliza bibliotecas para:

    • gerenciamento de listas;
    • geração de números aleatórios;
    • coleta de dados;
    • gerência de lista de eventos e relógio;
    • conclusões e saídas;
  • programa principal agrega bibliotecas e executa os eventos em ordem.



Variabilidade na Simulação

  • simulação anterior é apenas uma replicação — amostra de tamanho unitário (pouco valor)

  • cinco replicações:

  • intervalos de confiança das esperanças

    • p.e., intervalo de 95% de confiança do E(tempo médio na fila):


Comparação de Alternativas

  • Normalmente, simulação é utilizada para mais de uma simples configuração;

  • freqüentemente, deseja-se comparar alternativas, selecionar ou procurar pela melhor (segundo algum critério);

  • sistema simplificado: o quê aconteceria se a taxa de chegada dobrasse?

    • reduzir o tempo entre chegadas à metade;
    • simular novamente o modelo;
    • realizar cinco replicações.


Resultados: situação inicial versus dobro taxa chegada

  • observar a variabilidade;

  • risco em tomar decisões por apenas uma (primeira) replicação;

  • difícil concluir que há realmente diferenças;

  • é necessária análise estatística dos resultados.



Revisão do Estudo de Simulação

  • entenda o sistema;

  • tenha objetivos claros;

  • formule um modelo de representação;

  • traduza o modelo para um software de simulação;

  • verifique o “programa”;

  • valide o modelo;

  • planeje os experimentos;

  • faça simulações;

  • analise, compreenda, documente os resultados.



Yüklə 445 b.

Dostları ilə paylaş:




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə