modelos de simulação de eventos discretos_modsim03

Upload: emersoncollopy

Post on 07-Apr-2018

230 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    1/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 1

    Modelos de Simulao de Eventos Discretos

    1 Modelos de Simulao

    Simulador um algoritmo ou procedimento que representa o comportamento de umsistema em uma escala de tempo.

    Atravs de simulao, podem ser feitos o projeto, dimensionamento, avaliao dedesempenho ou reengenharia de sistemas tais como:

    Sistemas de manufatura e de processos comerciais. Sistemas de computao, redes de comunicao de dados ou telefnicos. Sistemas de transporte: obras virias, metr, embarque e desembarque de

    mercadorias em portos. Sistemas on-line de auto-atendimento: home-banking, e-commerce, e-business. Empresas de prestao de servios: bancos, lanchonetes, postos de gasolina. Sistemas de defesa e equipamentos militares.

    1.1 Modelos de Simulao Estticos e Dinmicos

    Os sistemas a serem tratados neste curso so sistemas de simulao discretos, dinmicose estocsticos, denominados Sistemas de Simulao de Eventos Discretos. Antes deiniciarmos o estudo destes sistemas vamos identificar as categorias de modelos desimulao.

    Modelo de Simulao Esttico

    Representa o sistema em um instante determinado, isto , o modelo no varia ao longodo tempo. Exemplo: Clculo de Integral de funo pelo mtodo de Monte Carlo.Modelo de Simulao Dinmico

    Representa a evoluo do sistema ao longo do tempo. Exemplo: simulao de uma linhade montagem de veculos.

    Estudo do comportamento desistema atravs de construo desimuladores.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    2/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 2

    1.2 Modelos de Simulao Determinsticos ou Estocsticos

    Modelo de Simulao Determinstico

    Se o sistema no depende de nenhuma varivel probabilstica (aleatria).

    Modelo de Simulao Estocstico

    Se o sistema depende de variveis probabilsticas (aleatrias). Sistemas de computao,de redes de comunicao e de servios a clientes, entre outros, esto nesta categoria. Emgeral utilizam filas de chegada de tarefas em que as chegadas ocorrem de acordo comalguma distribuio de probabilidade.

    1.3 Modelos de Simulao Contnuos ou DiscretosModelo de Simulao Discreto

    Se o sistema depende de variveis que assumem valores discretos, isto , em umdomnio de valores finitos ou enumerveis tais como o conjunto de nmeros inteiros.

    Modelo de Simulao Contnuo

    Depende de variveis que assumem valores contnuos, isto , em um domnio de valorescontnuos tais como o conjunto de nmeros reais.

    1.4 Modelos de Simulao de Tempo Real ou Simulado

    Os simuladores podem operar em duas modalidades de tempo:

    Tempo real

    A escala de tempo a real, isto os eventos ocorrem e so tratados na mesma escala detempo correspondente ao sistema real. Simuladores de jogos ou para treinamento seenquadram nesta categoria. Nestes sistemas um operador humano interage com osimulador em tempo real.

    Tempo simulado

    No acompanha a escala de evoluo do tempo real. Um ano do tempo de simulao pode decorrer em poucos segundos de processamento. So utilizados para anlises dedesempenho em que o interesse pelas medidas de desempenho.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    3/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 3

    Exemplo 1: Modelo de Simulao pelo Mtodo de Monte Carlo

    O mtodo de simulao deMonte Carlo utiliza a gerao de nmeros aleatrios para asimulao de processos ou efetuar clculos cuja frmula exata no disponvel. Foioriginado na Segunda Guerra Mundial e aplicado ao desenvolvimento da bombaatmica.

    Um exemplo de utilizao para o clculo aproximado de integral de funo cujaresoluo analtica no pode ser determinada. Este um mtodo simulado esttico,estocstico e com valores contnuos. Mostraremos como funciona em no caso daintegral de uma funo f(x).

    Existe um pontoxm tal que a reaI, definida pela integral, igual rea do retngulo delado(b-a) e alturaf(xm).

    O clculo da integral de forma aproximada pelo mtodo de Monte Carlo ser feitosorteando-se aleatoriamentex1, x 2,... x n , onde cadaxi tem distribuio uniforme entre[a,b] , e calculando-se a mdia da rea dos retngulos de lado(b-a) e alturasf(x1), f(x 2),

    ... f(x n). O valor aproximado da integral calculado pela frmulan

    )x(f )ab(I

    n

    ii

    =

    1

    Aplicando-se o mtodo de Monte Carlo funof(x) = sen(x) para calcular

    =0

    sen dxI , cujo valor exato 2, obtm-se os seguintes valores obtidos em 6

    execues da simulao, com diferentes valores den:

    n Integral de Sen(x) por Monte Carlo (2 Monte Carlo)

    10 1,2566 0,7434 50 1,8221 0,1770

    100 1,9478 0,0522 500 2,0986 -0,0986

    1000 2,0703 -0,0703 10000 1,9955 0,0045

    =b

    adxxf I )(

    a

    f(x m )

    b

    I

    xm

    f(x)

    x

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    4/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 4

    1.5 Vantagens e Desvantagens da Simulao

    Vantagens

    Sistemas do mundo real com elementos estocsticos podem no ser descrito deforma precisa atravs de modelos matemticos que possam ser calculadosanaliticamente.

    Permite estimar ao desempenho de sistemas existentes sob condies deoperao projetadas, por exemplo, para verificar o seu comportamento quandoaumenta a demanda de servio.

    Permite manter maior controle sob as condies dos experimentos o que muitasvezes no possvel com o sistema real.

    Permite estudar o sistema durante um longo perodo de tempo simulado.

    Desvantagens Cada execuo da simulao estocstica produz apenas estimativas dos

    parmetros analisados. O modelo de simulao em geral caro e consome muito tempo para

    desenvolver. Os resultados da simulao, quando apresentados em grandes volumes de dados,

    e com efeitos de animaes e grficos, podem levar a uma confiana nosresultados acima da justificada. Se o modelo no for uma representao vlidado modelo em estudo, este no ter utilidade, mesmo que os resultados causem boa impresso.

    1.6 Causas de Insucesso no Desenvolvimento da Simulao

    Falha na obteno de um conjunto bem definido de objetivos no incio do estudoda simulao.

    Nvel inadequado de detalhes:o Pouco detalhamento ouo Muito detalhamento.

    Falha de comunicao com a gerencia do sistema a ser simulado durante oestudo da simulao.

    Interpretaes equivocadas por parte da equipe da simulao da operao dosistema a ser simulado. Falha de compreenso da simulao por parte da gerencia. Tratar a simulao de forma amadora, como um exerccio de curso. Falha em formar uma equipe com conhecimentos de metodologias e tcnicas de

    simulao. Falha na obteno de dados representativos do comportamento do sistema. Software de simulao inadequado. Software de simulao muito complexo e com documentao inadequada. Crena de que software de simulao sofisticado e com recursos amigveis,

    prescindem de conhecimentos tcnicos da teoria de simulao. Uso inadequado de animao.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    5/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 5

    Falha na considerao dos fatores aleatrios no comportamento do sistemasendo simulado.

    Uso de distribuies incorretas, isto , que no correspondem ao comportamentoreal, como dados de entrada da simulao.

    Anlise dos dados de uma execuo da simulao utilizando frmulas quesupes independncia (usualmente os dados de sada no so IID).

    Executar uma nica vez a simulao e considerar os dados obtidos como aresposta verdadeira.

    Utilizar medidas de desempenho inadequadas.

    2 Metodologia de Anlise de Sistemas por Simulao

    A metodologia a ser utilizada se baseia na definida no captulo 1. Nos prximos tpicosso detalhados alguns aspectos considerados importantes no processo de anlise esimulao.

    2.1 Formular o problema e planejar a anlise

    Nas reunies de planejamento devem ser discutidos os seguintes itens que resultaro emum documento de especificao da anlise e simulao a ser realizada:

    Objetivo do sistema a ser modelado; Objetivos da anlise e simulao; Questes especficas a serem respondidas pelo estudo;

    Mtricas de desempenho a serem utilizadas para avaliar a eficcia de umaconfigurao de sistema; Carga a ser submetida ao sistema; Escopo do modelo; Configurao do sistema a ser modelado; Indicao de ferramentas a serem utilizadas na simulao; Cronograma para realizao do estudo e recursos necessrios.

    2.2 Coletar dados

    Coletar informaes sobre a arquitetura do sistema e sobre os procedimentos

    operacionais: Consultar documentaes disponveis; Conversar com os especialistas no assunto (SME-Subject-Matter Experts); Conversar com pessoas que operam o sistema; Identificar os parmetros do sistema e os fatores a serem analisados; Planejar e realizar a coleta dos dados dos parmetros do sistema; Os dados podem ser resultantes de monitorao do sistema real ou projees

    sobre um sistema a ser desenvolvido.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    6/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 6

    2.3 Anlise estatstica dos parmetros

    Realizar anlises estatsticas dos parmetros do sistema e de carga. Esta anlise deveresultar na escolha de distribuies de probabilidades que representem os parmetros ouento, caso no possam ser identificadas estas distribuies, obter amostras de dados aserem utilizados nas simulaes.

    Para a anlise estatsticas dos dados podem ser utilizados ferramentas e pacotesdisponveis no mercado ou que so fornecidos com as ferramentas de simulao.

    2.4 Definir o modelo

    Utilizando as informaes obtidas nos passos anteriores, definir um documento demodelo conceitual que especifica a concepo que se tem do sistema e tudo o que foiassumido. Os detalhes do modelo dependem de:

    Objetivos do projeto Medidas de desempenho Disponibilidade dos dados Questes de credibilidade das informaes obtidas Limitaes de recursos de computao Opinies dos especialistas SME Limitaes em tempo e dinheiro No precisa haver correspondncia 1 a 1 entre os elementos do modelo e o

    sistema real.

    2.5 Validar o modelo conceitual

    Realizar um walk-through do modelo conceitual utilizando os documentos disponveis para garantir que o que foi assumido correto e completo.

    Apresentar o modelo aos gerentes, analistas e SMEs para que todos dem a aceitao domodelo proposto.

    Se existir algo que invalide o modelo voltar etapa 2.2 para realizar a correonecessria.

    2.6 Escolha da Ferramenta de Simulao

    A escolha da ferramenta considera fatores tais como; Caractersticas da simulao a ser realizada; Caractersticas das ferramentas disponveis; Ambiente disponvel para simulao; Capacitao da equipe de projetistas que realizaro a implementao do

    simulador; Oramento disponvel para compra da ferramenta caso no exista disponvel; Tempo disponvel para realizar a simulao.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    7/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 7

    Ferramentas de simulao Custo daferramenta

    Custo dodesenvolimento

    da simulaoLinguagens de programao: C, C++,

    FORTRAN, Java.Menor Maior

    Pacotes de simulao: Arena, Promode,Comnet, Optnet, etc. Maior Menor

    2.7 Construir o Modelo

    Uma vez escolhida a ferramenta, o modelo deve ser detalhado, modelado eimplementado. Neste caso podem ser utilizadas as metodologias de engenharia desoftware orientada a objeto ou tradicional, conforme a ferramenta escolhida.

    2.8 Validar o Modelo Simulado

    Realizar execues piloto para validar o programa de simulao. Utilizar, caso exista,dados de outro sistema do qual se possua medida de desempenho e com o qual o sistema possa ser comparado.

    A equipe que desenvolveu a simulao bem como os especialistas SME devem revisar omodelo e verificar se os resultados esto corretos e dentro do esperado.

    Utilizar anlises de sensibilidade para determinar quais fatores tem impacto mais

    significativo sobre as medidas de desempenho e devem ser modelados com maior cuidado.

    Utilizar tcnicas de probabilidade e estatstica para analisar se os dados obtidos nasimulao so aderentes aos dados obtidos de sistemas reais utilizados como referncia.Para isto podem ser utilizados ferramentas e pacotes disponveis no mercado ou que sofornecidos com as ferramentas de simulao.

    Se o modelo no for vlido voltar etapa 2.2.

    2.9 Planejar os experimentos

    Para cada configurao de interesse, especificar: Durao ou nmero de passos de cada execuo. Durao do transitrio, isto , perodo inicial at o sistema entrar em regime

    estvel. Este perodo excludo das medidas. Nmero de execues independentes (com diferentes nmeros aleatrios) para

    permitir a determinao de intervalos de confiana.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    8/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 8

    2.10 Executar as simulaes de produo

    Executar as simulaes correspondentes aos experimentos planejados na etapa 2.9.

    2.11 Analisar os dados de sadaDeterminar o desempenho das diversas configuraes do sistema. Comparar configuraes alternativas do sistema utilizando as tcnicas j utilizadas na etapa2.8Documentar os resultados

    Documentar: O que foi assumido na etapa 2.1; O programa de simulao; A anlise dos dados de entrada e dos resultados. Apresentar os resultados do estudo aos gerentes e s demais pessoas envolvidas,

    atravs de:o Animaes do modelo;o Grficos e tabelas das anlises;

    Discusso da construo do modelo e do processo de validao para promover asua credibilidade.

    Utilizar os resultados nos processos de tomada de deciso se estes forem vlidose tiverem credibilidade.

    3 Simulao de Sistemas de Eventos Discretos

    Os sistemas a serem tratados neste curso atravs de simulao so sistemas Discretos, Dinmicos e Estocsticos,

    denominadosSistemas de Eventos Discretos .

    Os objetos em um sistemade eventos discretos sochamados de entidades .

    As entidades socaracterizadas pelosseus atributos .

    A mudana de estado determinada pela ocorrnciade um evento em umtempo estocstico oudeterminstico.

    O estado do sistema definido pelos valores deseus atributos .

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    9/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 9

    O objetivo de um modelo de simulao de eventos discretos reproduzir as atividadesdas entidades que compe o sistema e, a partir da, conhecer o comportamento edesempenho do sistema. Para isto precisamos definir oestado do sistema e asatividades que conduzem o sistema de um estado a outro. Na simulao discreta, a mudana de estado determinada pela ocorrncia de umevento em umtempo determinstico ou estocstico.

    Exemplo 2: Entrada de Estacionamento de Shopping Center

    Em um Shopping Center chegam ao estacionamento 5 veculos por minuto, emhorrio de almoo. Existe um nico bloqueio de entrada e os veculos que chegamentram em uma nica fila. Cada motorista, ao chegar sua vez, gasta 10 segundos entreavanar o veculo at o controle do bloqueio, pressionar o boto, retirar o ticket deentrada, esperar a cancela ser aberta e seguir em frente com o veculo.

    Perguntas:

    1. Qual o tamanho mdio da fila de veculos?2. Qual o tempo mdio que um motorista gasta desde que chega fila at entrar no

    estacionamento?3. Quantos bloqueios devem ser colocados para melhorar o atendimento?

    Variveis de simulao:

    t i instante de chegada de um veculo fila Ai intervalo de tempo entre chegadas

    Ai = t i - t i-1 Si tempo de servio do usurioi, isto , tempo para obter o ticket e passar pela cancela Di espera do usurioi na fila de veculos ri tempo de resposta do usurioi, entre a chegada do veculo fila e a passagem pela

    cancela. ri = D i + S i

    f i instante de passagem do veculoi pela cancela.f i = t i + r i

    Evento dechegada

    Evento deentradaem servio

    Evento defim de servio

    Atividade

    PROCESSO

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    10/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 10

    Este exemplo pode ser generalizado para outros sistemas com uma fila onde os usuriosficam a espera e um servidor que realiza atendimento de um usurio de cada vez.Quando o servidor terminar o atendimento de um usurio, verifica se a fila est livre einicia o atendimento do prximo usurio. Uma agencia de banco com um nico caixatambm pode ser descrita da mesma maneira.

    Grfico dos eventos no tempo

    Evento:Chegada deum veculo

    Evento:O veculo avanaat o controle da

    Evento:O veculoatravessa acancela

    Atividade:Passagem pelo bloqueio

    PROCESSO:Entrada de veculos no estacionamento

    012345678910t0t1t2t3t4t5

    c1c2 i1c3c4c5 i2

    f 1i3f 2

    Fila Estao deServio

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    11/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 11

    Tempo desimulao

    Evento Prox.Eventochegada

    Prox.EventoInic. Atend.

    Prox.EventoFim Atend.

    Nmerona fila

    Estado doservidor

    0 c1 em t1=2 0 livre 1 0 livre 2 c1 c2 em t2=5 i 1 em t=2 1 livre

    i1 f 1em t=7 0 ocupado 3 0 ocupado4 0 ocupado5 c2 c3 em t3=6 1 ocupado 6 c3 c4 em t4=9 2 ocupado 7 f 1 i2 em t=7 2 livre

    i2 f 2 em t=8 1 ocupado 8 f 2 i3 em t=8 1 livre

    i3 f 3 em t=11 0 ocupado 9 c

    4c

    5 em t

    5=10 1 ocupado

    10 c5 c6 em t6=12 2 ocupado 11 f 3 i4 em t=11 2 livre

    i4 f 4 em t=13 1 ocupado

    4 Simuladores de Eventos Discretos

    Os principais modelos de Simulao de Eventos Discretos so os seguintes:

    a) Modelos orientados a evento: definido pelas mudanas de estado que podemocorrem em cada evento.

    b) Modelos orientados a processo: definido pelo processo atravs do qual asentidades do sistema so conduzidas. Neste caso, o processo consiste daseqncia de eventos.

    4.2 Simulador Orientado a Eventos

    Na simulao orientada a eventos existe um procedimento associado com cada tipo deevento no sistema. O simulador ciclicamente escala eventos, atualiza o relgio para o prximo evento a ocorrer e executa o procedimento associado ao evento.

    Os elementos de um simulador orientado a eventos so:

    Eventos

    Os eventos podem ser agendados para um determinado instante no tempo existindo umalista dos prximos eventos a ocorrerem, ordenados por tempo de ocorrncia. Aocorrncia de um evento afeta o estado da simulao. Tambm so atualizados oscontadores de estatsticas que permitem a gerao dos relatrios da simulao.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    12/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 12

    Estado do sistema

    Coleo de variveis de estado necessrias para descrever o sistema em um determinadomomento no tempo. O estado do sistema pode ser visto como resultante do estado deseus componentes.

    Mecanismo de temporizao

    O avano de tempo, nos simuladores detempo simulado , pode ser definido por Incrementos fixos de tempo: o relgio incrementado em intervalos fixos de

    tempo e aps o incremento verificado se existe um evento agendado para estemomento.

    Prximo evento: o tempo incrementdo pela ocorrncia de um evento. maiseficiente que o anterior em termos de atualizao de tempos.

    Lgica de SimulaoA lgica de simulao consiste em verificar o prximo evento agendado e atualizar orelgio de simulao e as demais variveis de estado do sistema. O trmino da execuo pode ser controlado atravs de um limite no tempo de simulao ou de um limite donmero de eventos ocorridos. Ao final da simulao sero emitidos relatrios com osresultados da simulao.

    Mtodos estatsticos

    Conjunto de funes e procedimentos entre os quais se incluem variveis quearmazenam informaes estatsticas para determinar o desempenho do sistema,geradores de nmeros aleatrios para diferentes distribuies de probabilidade eanalisadores de dados de entrada e sada.

    Lgica de Simulao

    A simulao realizada manualmente no exemplo 2 o que se chama simulaoorientada a evento.

    Na simulao orientada a evento, em cada instante a simulao definida por x querepresenta o estado da simulao,t que o relgio de simulao eL={(e 1,t1), (e 2,t2),... }que uma lista de eventose i escalados para ocorrerem nos instante ti . A listaL mantida ordenada por ordem crescente de tempo.

    A Simulao Orientada a Eventos consiste das seguintes etapas:

    Passo 0: No inicio da simulao, define-se o estado inicialx = x0, o relgio desimulaoT=0 e a listaL inicializada com todos os eventos viveis no estadox0.

    Passo 1: Retirar uma entrada de(e i,ti) de L com menor tempoti..

    Passo 2:Atualizar o tempo de simulao para o valor T= ti.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    13/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 13

    Passo 3: Atualizar o estado da simulao de acordo com uma funo de transio deestadof . Sendox o estado atual, o novo estadox = f(x,e i).

    Passo 4: Retirar da listaL todos os eventos que no so viveis no estadox. Passo 5: Acrescentar listaL em ordem crescente de tempo, todos os eventos viveisno estadox que ainda no estejam na lista. Ao acrescentar um evento(e k,tk) lista. O instante, t k de ocorrncia do eventoe k deve ser gerado a partir de um gerador denmeros aleatrios de acordo com a distribuio de ocorrncia do eventoe k .

    Passo 6: Voltar ao passo 1 da simulao.

    O programa de simulao tambm inclui funes para contagens estatsticas e deemisso do relatrio ao final da simulao.

    4.3 Simulador Orientado a Processos

    A operao deste simulador consiste da interao de um nmero de processosexecutando em paralelo. O gerenciamento de eventos implcito aos processos. Osistema de simulao prove mecanismos para manipular processos: colocar um processoem espera, escalar um processo e terminar um processo entre outras operaes. Poe estarazo, as linguagens utilizadas para este tipo de simulao costumam trabalhar com oconceito de processo ou thread.Os principais componentes de um simulador orientado a processo so:

    Entidades

    So objetos que requisitam servios. Exemplos: usurios em uma fila de banco, carrosna entrada de um estacionamento, partes em um sistema de manufatura, mensagens emum sistema de computao.

    Atributos

    Informaes que caracterizam uma entidade em particular. Exemplo: modelo de item aser produzido.

    Processos

    Aes realizadas sobre a entidade ao longo da simulao.

    Recursos

    Objetos que provm servios s entidades. Exemplo: mquinas em um sistema demanufatura, caixa de um banco, UCP de um computador, linha de comunicao dedados.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    14/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 14

    Filas

    Local onde as entidades esperam por um recurso. A poltica de atendimento maiscomum a FCFS (First Come First Served).

    Tipo desistema Entidades Atributos Recursos Filas

    Manufatura Partes Cdigo depeas, datasde entrega

    Mquinas,trabalhadores Filas, estoques

    Comunicaes Mensagens Destino,comprimentoda mensagem

    Ns, enlaces Buffers

    Aeroporto Avies Nmero do voCapacidade Pistas,terminais Filas depassageiros,de avies.

    Supermercados Compradores Tamanho dacompra Caixas Filas

    5 Ferramentas de Simulao

    5.1 Linguagens e bibliotecas de funes de simulao

    Os projetistas em geral j conhecem uma linguagem de uso geral. A implementaro domodelo mais eficiente. O custo do software menor mas o de projeto em geral maior.Permite maior flexibilidade. Exemplos:

    C C++ FORTRAN Java Biblioteca Simlib para C Biblioteca JavaSim para Java

    A biblioteca de simulao Simlib foi desenvolvida em C por W. David Kelton e Averill

    M. Law, apresentada no livro: Law, A. M., Kelton, W. D., "Simulation Modeling andAnalysis", 3rd ed., McGraw-Hill Companies Inc, 2000, ISBN 0-07-059292-6, 760p. Foiadaptada da SUPERSIMLIB, escrita por Gregory Glockner. Possui funes paramanipular listas de eventos.

    5.2 Pacotes de Simulao

    Possuem embutidas caractersticas necessrias simulao que diminuem o tempo dedesenvolvimento do modelo de simulao. Possuem recursos adicionais paravisualizao e animao e para tratamento de dados. Em geral exigem aprendizado daferramenta. Exemplos:

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    15/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 15

    Pacotes de Uso Geral Arena Extend AweSim Symix GPSS/H Mixeo Saint MODSIM III, CACI e Marti SES/workbench SIMUL8 SLX

    Pacotes de Uso Geral Orientados a Objeto SIMPLE++ MODSIM III

    Pacotes de uso em Manufatura AutoMod Extend+ Manufacturing ProModel Quest Witness

    Pacotes de uso em Redes de Comunicao NS2 (ferramentas escritas em C++ e com fonte aberto) COMNET III (descontinuado) Opnet IT Guru OPNET Modeler

    Pacotes de uso em Reengenharia de processos e servios Arena Business Edition Extend + BPR ProcessModel ServiceModel (ProModel)

    SIMPROCESSPacotes de uso em Sade MedModel (ProModel)

    Pacotes de uso em Call Center Arena Call Center Edition

    Pacotes de uso em Animao Proof Animation

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    16/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 16

    6 Arena

    Foi lanado pela empresa Systems Modelling em 1993 e atualmente pertence Rockwell. sucessor do SIMAN, desenvolvido em 1982. Possui uma interface grficaGUI que permite a modelagem do sistema atravs de mdulos. Possui interface paraMicrosoft VBA permitindo integrao com programas que suportam Active X. A versoArena 3 Academic, disponvel para uso livre de pagamento, e que ser utilizada nosexemplos, possui limitaes no nmero de entidades que podem ser criadas.

    6.1 Ferramentas do Arena

    Arena: A ferramenta de modelagem e simulao. Input Analyser : Realiza a anlise estatstica dos dados de entrada do sistema

    permitindo determinar a distribuio que mais se ajusta aos dados para entrada nosimulador.Output Analyser : Realiza a anlise estatstica dos resultados da simulao.Arena Viewer: Visualizador da simulao.

    6.2 Elementos da Modelagem em Arena

    Entidades : so as pessoas, transaes ou tarefas que se movem ao longo do sistema.

    Estaes de trabalho : onde ser realizado algum servio.

    Fluxo: caminhos que a entidade ir percorrer ao longo de estaes.

    Entidade

    Entidade

    Estaesde

    trabalho

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    17/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 17

    O exemplo de um sistema com uma fila e um servidor pode ser representado noARENA como:

    7 Escolha das Distribuies de Probabilidade dosParmetros de Entrada

    As aplicaes de simulao, em geral, dependem de parmetros de entrada nodeterminsticos, isto , que so variveis aleatrias.

    Exemplo: em comunicao de dados, a distribuio dos intervalos de chegada demensagens, tipos de mensagens e tamanho de mensagens variam aleatoriamente deacordo com distribuies de probabilidade.

    Quando for possvel realizar observao do sistema real pode-se obter dados dasvariveis aleatrias de entrada que sero representados atravs de histograma defreqncias.

    ChegadaArrive

    SaidaDepart

    Servidor

    Server

    MM11000

    Simulate

    Freqncias

    Intervalos dechegada (seg)

    0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

    1000

    900

    800

    700

    600

    500

    400

    300

    200

    100

    0

    Histograma de Frequncias

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    18/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 18

    Existindo os dados observados do sistema real o seu uso na simulao pode ser feito deuma das formas:

    1. Utilizar os prprios dados observados na simulao. Neste caso constri-searquivos com os dados que alimentam o simulador.2. Ajustar uma funo de distribuio emprica aos dados observados.

    3. Atravs de tcnica de inferncia estatstica determinar uma distribuio terica.

    A partir de dados observados podemos determinar distribuies de probabilidades quesejam aderentes aos dados observados.

    Observando o histograma de freqncia podemos consideram possveis distribuies de probabilidades que sejam aderentes ao mesmo. Para isto podem ser utilizados os testesde aderncia tais como Chi-quadrado e Kolmogorov-Smirnov.

    A realizao destas anlises pode ser feita utilizando-se pacotes de estatstica que j possuem os testes usuais implementados.

    8 Gerao de Nmeros Aleatrios (Randmicos)

    Uma vez que tenham sido determinadas as distribuies de probabilidade dos parmetros de entrada, o simulador pode ser implementado utilizando estasdistribuies. Para isto, precisamos de geradores de nmeros aleatrios com asdistribuies dos parmetros de entrada.

    8.1 Geradores de nmeros aleatrios entre [0,1]Em geral, as bibliotecas de linguagens de programao, possuem um gerador denmeros aleatrios uniformemente distribudos entre 0 e 1.

    Se a linguagem escolhida no possui um gerador de nmeros aleatrios ento se podeimplementar um. A tcnica mais conhecida para isto a que se denomina deCongruncia Linear , proposta por D. H. Lehmer em 1951 e baseada na seguinterelao recursiva:

    Xk+1 = (a X k + c) mod m para k = 0, 1, 2, ...

    Ondea um multiplicador,c um incremento em o mdulo.X0 o valor inicialdenominado semente. Todos os nmeros so inteiros no negativos. Deve ser observado que os nmeros gerados sero nmeros inteiros no intervalo[0, m-1 ].

    Para a gerao de nmeros aleatrios{U1, U 2, ...} no intervalo[0,1] basta fazer Uk= Xk/m.

    Na verdade, todos os geradores computacionais devem ser considerados pseudo-aleatrios, pois partindo da mesma semente, obtm-se a mesma seqncia de nmeros. No caso da tcnica proposta para gerao de nmeros aleatrios entre0 e 1, podemosobter apenas os valores0, 1/m, 2/m, ..., (m-1)/m . Notar que, com esta tcnica, a

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    19/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 19

    probabilidade de ocorrer um valor entre0,1/m e 0,9/m 0 o que contraria a definioda distribuio uniforme entre[0,1] .

    Para reduzir o efeito destes problemas, deve-se escolher a, c e m de forma adequada. Ovalor dem deve ser o maior possvel. Em geral utiliza-sem que seja potncia de2 parafacilitar as operaes. Assim, sem=2 n para algum inteiron, o clculop mod m consiste em se selecionar osn bits mais direita do nmerop. Tambm se podeescolher c=0 que a pseudo-aleatoriedade do gerador ser pouco afetada.

    A questo agora Como obter nmeros aleatrios com uma determinada distribuiode probabilidade considerando que existe disponvel a funo de gerao de nmerosaleatrios com distribuio uniforme.

    Mtodos disponveis:

    Mtodo de Transformada Inversa: Frmula de gerao a partir da inversa dafuno distribuio de probabilidade.

    Mtodo de Aceitao/Rejeio: Gera uma amostra de nmeros aleatrios nointervalo desejado e aceita o subconjunto da amostra que atende funo dedistribuio de probabilidades.

    Mtodo da Convoluo: Obtm a distribuio atravs de soma de outrasdistribuies.

    Mtodo de Composio: Obtm a distribuio atravs de soma ponderada deoutras distribuies.

    Mtodo baseado em propriedades especiais: Exemplo: Atravs de frmulaque transforma uma distribuio em outra.

    8.2 Mtodo de Transformada Inversa

    SejaF(X) a funo de distribuio de probabilidade da qual se quer obter a amostraX.Consideremos que a varivel aleatrioU = F(X) possui distribuio uniforme nointervalo[0, 1] (lembrar queF(x) indica uma probabilidade).

    F(x)

    x0 X=F- (U)

    1

    U

    0

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    20/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 20

    DadoU no intervalo[0,1] , U=F(X) para algumX. Desde que a inversaF -1(U) sempreexiste, podemos escrever:

    P[ X x ] = P[ F -1(U) x ] = P[ U F(x) ]

    Como U U[0,1] , isto P[U u] = u para todou no intervalo[0,1] , ento paraqualquer F(x) no intervalo[0,1] , tem-se

    P[ U F(x) ] = F(x) E ento,

    P[ X x ] = F(x)

    Concluindo, para gerar a amostra aleatriaX geramos um nmero aleatriou eresolvemos a equaou=F(x) , isto , obtemos o valor dex atravs dex = F -1(u) .

    Exemplo 3: Gerao de nmeros aleatrios exponenciais

    A funo de distribuio de probabilidade de uma varivel aleatria exponencial xexF = 1)(

    onde 1/ o valor mdio da varivelx.

    FazendoF(x) = u , temos)1ln()/1( ux =

    Assim seu tem distribuio uniforme no intervalo[0,1] , ento x, calculado pelaequao acima, tem distribuio exponencial com mdia 1/ .

    9 Construo de Simuladores de Eventos Discretos

    Em lugar de se utilizar pacotes, a simulao poder ser feita atravs da construo deum programa simulador especfico.

    Exemplo 4: Simulador de Sistema de Fila nica com um Servidor

    O exemplo mostra uma estrutura muito comum que um sistema de fila com umservidor.

    Chegada de clientes

    Fila Servidor

    Sada de clientes Cliente

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    21/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 21

    O sistema de fila se caracteriza por um processo de chegada de clientes e um processode servio. Estes processos podem ser definidos por distribuies de probabilidade.

    Exemplos:

    Caixas de atendimento em um banco Caixas de supermercado Redes de comunicao de dados Entrada e sada de estacionamentos Em aeroportos: filas de embarques de passageiros, filas para decolagens e

    aterrissagens de avies. Sistemas de manufatura: filas de servios para serem executados em estaes de

    fabricao ou montagem.

    Neste sistema consideramos que os intervalos de chegada de clientesA1, A2, ..., A n, sovariveis aleatrias independentes e identicamente distribudos (IID).

    Os tempos de servioS 1, S 2, ..., S n, tambm so variveis aleatrias independentes eidenticamente distribudos (IID) e tambm independentes dos tempos de chegadaA disciplina de atendimento aos clientes da fila FCFS (First Come First Served)tambm chamada FIFO (First In First Out). Outras disciplinas de atendimento so possveis (LCFS, Round-robin,...).

    Considerando a estrutura proposta do programa de simulao orientada a evento, devemser implementados os procedimentos correspondentes aos eventos que causammudanas no estado do sistema:

    Procedimento de Evento de Chegada Procedimento de Evento de Sada

    Procedimento de Evento de ChegadaDefinir o tempo do prximo evento de chegada;se o servidor est Ocupado

    ento { Somar um ao nmero de clientes na fila

    Se a fila est cheiaento retorna (ERRO);Armazenar instante de chegada deste Cliente

    }seno {/* realiza o atendimento do cliente */

    definir a espera do cliente em fila como 0acumular estatsticassomar 1 ao contador de clientes atendidosmudar o estado do servidor para ocupadodefinir o tempo de fim de atendimento do cliente}

    retornar

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    22/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 22

    Procedimento de Evento de Sadase a fila esta vazia

    ento mudar o estado do servidor para livreseno {/* selecionar um cliente da fila para execuo */

    subtrair 1 do contador de clientes na filacalcular o tempo de espera em fila do clientecalcular o tempo de servio do clienteacumular estatsticasmudar o estado do servidor para ocupadosomar 1 ao contador de clientes atendidosavanar a fila uma posio para a frente}

    retornar

    A simulao terminar aps a sada do sistema do n-simo cliente.

    No Anexo D encontra-se do cdigo em C deste simulador.

    9.1 Obteno de medidas de Desempenho

    Durante a execuo da simulao sero atualizadas variveis de contagem que permitemo clculo de medidas de desempenho.

    Quatro medidas de desempenho para avaliao de sistemas de fila que podem ser utilizadas so:

    Tempo mdio dos clientes na fila Tempo mdio dos clientes no sistema Nmero mdio de clientes na fila Utilizao do servidor

    Tempo Mdio dos Clientes na Fila Em uma execuo do simulador, ou do sistema que o simulador representa, soobservados os valoresD1, D 2, ..., D n dos tempos de filas dosn clientes.

    O tempo mdio dos clientes da fila obtido a partir de uma seqncia den observaes pode ser diferente do obtido em outra rodada de observaes. Assim, sendod(n) o valor esperado do tempo mdio em fila emn observaes,d(n) uma varivel aleatria que

    pode ser estimada pela frmulan

    D)n(d

    n

    ii

    == 1

    Tempo Mdio dos Clientes no SistemaEm uma execuo do simulador, podem ser observados os valoresS1, S2, ..., S n dostempos de servio dosn clientes. O tempori que o clientei ficou no sistema calculado como:

    ri= D i + S i

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    23/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC-PCS/EPUSP 2004 23

    Outra forma de calcular o valor ri atravs de observao dos temposti de entrada do clientei no sistema ef i que o tempo de sua sada do sistema e neste caso,

    ri= f i - t i Assim, sendor(n) o valor esperado do tempo mdio no sistema emn observaes, r(n) uma varivel aleatria que pode ser estimada pela frmula:

    n

    SD

    n

    rnr

    n

    iii

    n

    ii

    ==

    +== 11

    )()( ou ento n

    tf

    n

    rnr

    n

    iii

    n

    ii

    ==

    == 11

    )()(

    Nmero Mdio dos Clientes na Fila

    q(n) uma varivel aleatria que indica o numero mdio de clientes na fila para umaamostra den clientes. Para se obter uma estimativa deq(n) deve-se considerar a proporo do tempo que a fila ficou comi clientes, para todos valores dei.

    A estimativa deq(n)

    =

    =0

    )(qi

    ipin

    O clculo da estimativa da proporo ip feito como)(

    nT

    Tp ii = ondeTi o tempo

    que a fila ficou comi clientes eT(n) = T 0+T1+T2+... +T nAssim, a estimativa do

    nmero mdio de clientes na fila )(

    )( 0

    nT

    iTnq i

    i

    ==

    Pode ser observado que os valores i T i, correspondem s reas de cada retngulo da

    figura a seguir, desta forma =

    =

    )(

    00

    )(nT

    ii dttQiT

    e o novo valor do estimador deq(n) )(

    )()(

    )(

    0

    nT

    dttQnq

    nT

    =

    Esta frmula pode ser calculada ao longo da simulao como a soma das reas dosretngulos da figura.

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    24/25

  • 8/6/2019 Modelos de Simulao de Eventos Discretos_modsim03

    25/25

    Modelagem e Simulao de Sistemas de Computacionais

    LARC PCS/EPUSP 2004 25

    10 Bibliografia

    [1] Jain, R., The Art of Computer Systems Performance Analysis, John Wiley &Sons Inc, ISBN: 0-471-50336-3, 1991, 685 p.

    [2] Law, A. M., Kelton, W. D., "Simulation Modeling and Analysis", 3rd ed.,McGraw-Hill Companies Inc, 2000,ISBN 0-07-059292-6, 760p.

    [3] Cassandras, C. G., Discrete Event Systems: Modeling and Performance Analysis,Aksen Associates Incorporated Publishers, 1993 , ISBN: 0-256-11212-6, 790p.

    [4] Soares, L.F.G., Modelagem e Simulao Discreta de Sistemas, Editora Campus,1992, ISBN 85-7001-703-0, 250p.

    [5] Kelton, W. D., Sadowski, R. P., Sadowski, D. A., "Simulation with Arena",McGraw-Hill Companies Inc, 1998. [Prad 99]

    [6] Prado, D., Usando o ARENA em Simulao, Editora de Desenvolvimentogerencial, Belo Horizonte, 1999, ISBN 85-86948-19-5, 284p.

    [7] Magalhes, M. N., Lima, A. C. P., Noes de Probabilidade e Estatstica, 3 ed,.IME-USP, So Paulo, 2001, 375p.

    11 Exerccios

    1. Simule, utilizando o pacote de simulao Arena, um posto Lava Rpido deautomveis. Para isto utilize as seguintes etapas:

    a. Observe o funcionamento do posto durante um determinado perodo eidentifique as etapas realizadas, o nmero de funcionrios em cada etapa, otempo de durao de cada etapa e o intervalo de chegada de automveis.

    b. A partir dos dados obtidos identifique distribuies que sejam aderentes aestes dados.c. Modele e implemente o simulador, utilizando as distribuies e parmetrosmedidos nas etapas anteriores.

    d. Planeje os experimentos, execute o simulador e obtenha estatsticas deoperao: tempos mdios, nmero de automveis na fila, etc.

    e. Realize anlises dos resultados tais como: como o aumento na taxa dechegada de carros influencia o tempo total. Faa grficos. Como deveria ser dimensionado o posto se o intervalo mdio entre chegadas casse pelametade.

    f. Como voc modificaria o simulador para obter dados financeiros demanuteno mensal do posto?

    2. Foram feitas as seguintes observaes de intervalos de chegada.5,7; 7,8; 8,0; 7,7; 5,0; 6,1; 8,0; 2,6; 3,2; 3,4; 7,7; 7,6; 7,2; 3,2; 7,6; 3,3; 6,8; 6,8; 4,4; 5,2; 4,5;5,5; 4,1; 6,9; 7,9; 5,1; 3,7; 5,3; 3,3; 4,1; 5,7; 5,6; 4,4; 7,1; 4,1; 7,2; 4,6; 3,4; 6,6; 5,2.

    a. Faa o histograma dos dados. b. Determine para os intervalos de chegada, as funes:

    Funo densidade de probabilidade f(x) Funo distribuio de probabilidades F(x)

    c. Determine um gerador de nmeros aleatrios para gerar intervalos de acordocom a distribuio observada, utilizando o mtodo da transformada inversa.