capítulo 4. modelação e simulação de sistemas -...

66
Modelação e Simulação de Sistemas Modelação e Simulação de Sistemas Capítulo 4. Modelação e Simulação de Sistemas 1. A simulação de sistemas 1.1. Definição 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 (sistemas) do mundo real. Existem, na literatura, muitas as definições de simulação. Para Schriber ("Simulation Using GPSS", 1974), “simulação implica a modelação de um processo ou sistema, de tal forma que o modelo imite as respostas do sistema real numa sucessão de eventos que ocorrem ao longo do tempo”. Embora Schriber seja considerado por muitos como o grande responsável pela aproximação entre programas de computadores e linguagens de simulação (foi um dos criadores do GPSS, a primeira linguagem comercial de computadores para simulação de sistemas), a sua definição não especifica que o modelo deva ser computacional, pois na época, ainda eram os modelos analógicos e físicos os usados para se estudar e analisar o comportamento de sistemas. Hoje, a simulação é quase sinónimo de simulação computacional digital, em que um modelo computacional é executado. Robert Shannon ("Systems Simulation: The Art and Science", 1975) definiu assim este tipo de modelo: “Um modelo computacional é um programa de computador cujas variáveis apresentam o mesmo comportamento dinâmico e estocástico do sistema real que representa ”. Considerando a definição anterior, Pegden ("Introduction to Simulation Using Siman", 1991), apresentou uma definição mais completa, abrangendo todo o processo de simulação: “ 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”. O autor entende a simulação como um processo mais amplo, compreendendo, não só a construção do modelo, mas também todo o método experimental que se segue, procurando: 1. Descrever o comportamento do sistema; 2. Construir teorias e hipóteses considerando as observações efetuadas; 3. Usar o modelo para prever o comportamento futuro, isto é, os efeitos produzidos por alterações no sistema ou nos métodos utilizados na sua operação. Computação Científica 119

Upload: lyanh

Post on 07-Feb-2018

220 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelação e Simulação de SistemasCapítulo 4. Modelação e Simulação de Sistemas1. A simulação de sistemas1.1. DefiniçãoA simulação computacional de sistemas, ou simplesmente simulação, consiste na utilização dedeterminadas técnicas matemáticas, utilizadas em computadores digitais, as quais permitem imitaro funcionamento de praticamente qualquer tipo de operação ou processo (sistemas) do mundo real.Existem, na literatura, muitas as definições de simulação. Para Schriber ("Simulation UsingGPSS", 1974), “simulação implica a modelação de um processo ou sistema, de tal forma que omodelo imite as respostas do sistema real numa sucessão de eventos que ocorrem ao longo dotempo”. Embora Schriber seja considerado por muitos como o grande responsável pela aproximaçãoentre programas de computadores e linguagens de simulação (foi um dos criadores do GPSS, aprimeira linguagem comercial de computadores para simulação de sistemas), a sua definição nãoespecifica que o modelo deva ser computacional, pois na época, ainda eram os modelos analógicose físicos os usados para se estudar e analisar o comportamento de sistemas. Hoje, a simulação équase sinónimo de simulação computacional digital, em que um modelo computacional éexecutado. Robert Shannon ("Systems Simulation: The Art and Science", 1975) definiu assim estetipo de modelo: “Um modelo computacional é um programa de computador cujas variáveisapresentam o mesmo comportamento dinâmico e estocástico do sistema real que representa”.Considerando a definição anterior, Pegden ("Introduction to Simulation Using Siman", 1991),apresentou uma definição mais completa, abrangendo todo o processo de simulação: “simulação éo processo de projetar um modelo computacional de um sistema real e conduzir experiências comeste modelo com o propósito de entender o seu comportamento e/ou avaliar estratégias para asua operação”. O autor entende a simulação como um processo mais amplo, compreendendo, nãosó a construção do modelo, mas também todo o método experimental que se segue, procurando: 1. Descrever o comportamento do sistema; 2. Construir teorias e hipóteses considerando as observações efetuadas;3. Usar o modelo para prever o comportamento futuro, isto é, os efeitos produzidos poralterações no sistema ou nos métodos utilizados na sua operação.Computação Científica 119

Page 2: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

A simulação de sistemas Modelação e Simulação de SistemasA simulação tem sido, cada vez mais, aceite e utilizada como uma técnica que permite aanalistas, dos mais diversos quadrantes (administradores, engenheiros, biólogos, informáticos,etc.), verificar ou encaminhar soluções, com a profundidade desejada, dos problemas com os quaislidam diariamente.Mais do nunca a simulação computacional tem sido utilizada, devendo-se este crescimento,sobretudo, à atual facilidade de utilização e sofisticação dos ambientes de desenvolvimento demodelos computacionais, aliadas ao crescente poder de processamento das estações de trabalho.Contando com interfaces gráficas cada vez mais amigáveis, destinadas às mais diversas plataformase, principalmente, fazendo intenso uso da animação dos sistemas que estão sendo simulados, asimulação deixou para trás o estigma de ser utilizada apenas “quando tudo mais já foi tentado”.1.2. As razões de usar modelos de simulaçãoA simulação de modelos permite ao analista realizar estudos sobre os correspondentes sistemaspara responder a questões do tipo “O que aconteceria se?”. O principal apelo ao uso destaferramenta, é que tais questões podem ser respondidas sem que os sistemas em análise soframqualquer perturbação, uma vez que os estudos são realizados no computador. A simulaçãocomputacional permite que tais estudos sejam realizados sobre sistemas que ainda não existem,levando ao desenvolvimento de projetos eficientes antes que qualquer mudança física tenha sidoiniciada.Ao contrário dos modelos de otimização, um modelo de simulação é executado e não resolvido.As diferenças entre estas duas abordagens implicam que o modelo de simulação permite análisesquase que a cada instante, isto é, à medida que vão sendo apresentadas novas descobertas sobre ocomportamento do sistema modelado.A maioria dos modelos de simulação é do tipo entrada-saída, isto é, são modelos interativos aosquais se fornecem dados de entrada, obtendo-se respostas específicas para estes dados. Não são,por natureza, modelos de otimização, não oferecendo (a menos de um razoável esforço) apossibilidade de pesquisa de uma solução ótima. Estes modelos servem essencialmente para fazeranálises do comportamento do sistema sob condições específicas. Normalmente, os modelos desimulação são utilizados com o objetivo de testar uma solução de um dado problema.Um estudo com modelos de simulação permite aos analistas considerarem níveis de detalhesmais elevados, permitindo que diferenças de comportamento, às vezes subtis, se venham aevidenciar. As abordagens tradicionais, pelo contrário, utilizam estudos preliminares estáticos esofrem tantas simplificações que muitos projetos, depois de implantados, acabam por sofrerinúmeras modificações e adaptações.120 Computação Científica

Page 3: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas A simulação de sistemasDe modo geral, as principais razões pelas quais se recomenda a utilização de modelos desimulação são as seguintes:1. Sistema real inexistente. A simulação poderá ser usada para planear o futuro sistema; porexemplo, um novo hospital, uma nova fábrica ou um novo ambiente de suporte a negócios naInternet.2. Experimentar com o sistema real é dispendioso. O modelo poderá indicar, com custos muitomais baixos, por exemplo, quais os benefícios de se investir num novo equipamento.3. Experimentar com o sistema real não é apropriado. Dois casos típicos são os planeamentos doatendimento de situações de emergência e da assistência a um desastre aéreo num aeroporto.Toda a logística para acionar os serviços prestados pela polícia, bombeiros, ambulâncias,emergência hospitalar, etc., e a própria atuação destas entidades, podem ser modelada etestada no computador. Não se pode provocar um desastre para testar planos de emergência.As técnicas associadas aos modelos de simulação são, em geral, facilmente compreensíveis ejustificáveis, quer para utilizadores como para os gestores que tomam a decisão de os aplicar nosseus projetos. Geralmente, esta aceitação deve-se a vários fatores, tais como:➔ Tempo: no computador é possível realizar experiências que, se executados sobre o sistemareal, poderiam consumir anos;➔ Custo: embora a simulação em computador exija recursos humanos e alguns equipamentos,geralmente o custo de execução das experiências é muito baixo quando comparado com custosobre o sistema real;➔ Impossibilidade de experimentação direta: há situações em que experiências diretas nosistema real não podem ser realizadas por questões de segurança, tempo, acesso, inexistência(sistema em construção), etc.;➔ Visualização: os computadores oferecem recursos que facilitam a visualização dos resultadosde uma simulação (gráficos, tabelas, entre outros), bem como do estado do sistema durante aexecução de um modelo;➔ Repetição: depois de construído, um modelo de representação pode ser executado várias vezesa um custo muito baixo e de forma relativamente rápida;➔ Interferência: um modelo é extremamente mais flexível para a realização de mudanças secomparado a um sistema real. Esta é uma característica bastante desejável no estudo desistemas com objetivos de geração de informações de apoio a tomada de decisões.➔ Semelhança com o realidade: a perceção de que o comportamento do modelo de simulação émuito semelhante ao sistema real.Os modelos de simulação podem ser considerados como uma descrição de sistemas reais. Aexecução de modelos de simulação em computador tem potencial para fornecer resultados maisComputação Científica 121

Page 4: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

A simulação de sistemas Modelação e Simulação de Sistemasprecisos sem que seja preciso interferir no sistema real. Tais resultados, quando analisadosestatisticamente, produzem informações que podem contribuir grandemente para a tomada dedecisões que visam a solução de problemas.Restringindo um pouco mais a simulação de sistemas para os meios computacionais, econsiderando os modelos como um dos métodos de representação de sistemas, o seguinte conceitopode ser adotado:“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 umsistema sobre extensos intervalos de tempo.”Basicamente, a utilização de modelos de simulação pode oferecer vantagens quando é necessário:➔ Estimar a distribuição de variáveis aleatórias;➔ Testar hipóteses estatísticas;➔ Comparar cenários representando diferentes soluções para o problema em estudo;➔ Avaliar o comportamento de uma solução analítica;➔ Avaliar um processo de tomadas de decisão em tempo real.Apesar das razões para se usar modelos de simulação parecerem claras, é a identificação dosistema/problema que leva à definição dos objetivos e do tipo de modelo e de estudo de simulaçãoque deve ser desenvolvido.2. Modelos de simulação2.1. IntroduçãoOs problemas que a indústria, serviços e organizações em geral enfrentam têm-se tornado demaiores dimensões e mais complexos, exigindo, cada vez mais, técnicas e procedimentos queajudem no seu tratamento. Uma destas técnicas é a modelação e simulação de sistemas, cujoobjetivo é representar o comportamento dos sistemas através de modelos matemáticos. A resolução de qualquer problema requer, em primeiro, que estes sejam bem definidos, ou seja,especificar com precisão suficiente os objetivos. Para tanto, é necessário um bom conhecimento dosistema em estudo para que se possa entender o problema sem qualquer tipo de dúvidas.A situação não é diferente quando se quer resolver problemas usando modelos de simulação. Osistema deve ser bem conhecido para que se possa detetar os problemas relacionados e traçar asmetas a serem alcançadas. A simulação de sistemas pode ser dividida nas seguintes etapas básicas, também discutidas noâmbito da Investigação Operacional:➔ Problema: identificação do problema apresentado pelo sistema em estudo, bem como daspartes (sub-sistemas) que interferem no problema identificado (envolve recolha de amostras); 122 Computação Científica

Page 5: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação➔ Estudo do sistema: descrever o sistema em termos de componentes, atividades, entidades,eventos, restrições, propósitos que motivaram o uso da simulação para resolver o problema; ➔ Modelo: construção do modelo de representação do sistema em estudo, o qual precisa servalidado; ➔ Solução: realizar experiências sobre o modelo construído e utilizar as informações resultantespara propor soluções para o problema inicial; ➔ Operacionalizar solução: executar alterações no sistema real com base nos resultados dasimulação. Etapas de um modelo de simulaçãoOs objetivos essenciais do estudo das técnicas de simulação de sistemas concentram-seprincipalmente nas atividades de estudo do sistema real, na construção do modelo e na execuçãode experiências sobre o modelo.2.2. SistemaAo longo deste texto utilizou-se, ainda que de forma subjetiva, uma associação existente entreos conceitos de simulação, sistema e modelo. Simulação é um dos muitos métodos existentes paraestudar e analisar sistemas. No caso da simulação computacional, são os modelos computacionaisque são usados para estudar e analisar sistemas. Mas afinal, o que é um sistema e quais são ospassíveis de serem modelados e analisados através da simulação?Para Taylor (Taylor, 1970), um sistema pode ser definido como “um conjunto de objetos, comopessoas ou máquinas, por exemplo, que atuam e interagem com a intenção de alcançar umobjetivo ou um objetivo lógico”. São inúmeros os sistemas que podem ser resolvidos usando modelos de simulação. Alguns destessistemas são os seguintes (apresentados por categorias):1. Sistemas de produção: manufaturação e montagem; movimentação de peças e matéria prima;alocação de mão de obra; áreas de armazenamento; layout; etc..Computação Científica 123

Page 6: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação Modelação e Simulação de Sistemas2. Sistemas de transporte e gestão de stocks: redes de distribuição; armazéns e entrepostos;frotas; etc.3. Sistemas computacionais: redes de computadores; redes de comunicação; servidores de redes;arquitetura de computadores; sistemas operativos; gestores de bases de dados; etc..4. Sistemas administrativos: seguradoras; operadores de crédito; agências financeiras; etc..5. Sistemas de prestação de serviços diretos ao público: hospitais; bancos; restauração; serviçosde emergência (polícia, bombeiros etc..); serviços de assistência jurídica; etc..De uma forma geral, os objetivos de um estudo específico sobre um sistema definem os objetosque devem constituir o modelo. Por exemplo, supondo que se pretende realizar um estudo sobre um supermercado. Se aentidade que pretende este estudo for um supervisor de caixas, possivelmente estará interessadoem incluir no “seu” sistema, apenas os objetos do setor de atendimento nas caixas (subsistema) seo objetivo for pesquisar, por exemplo, a taxa de uso destes recursos, as filas que se formam ouqualidade dos serviços (considerando o tempo que um cliente leva para ser atendido). Por outrolado, se aquela entidade for um gestor de abastecimentos, deste mesmo supermercado, poderiaestar interessado num estudo do setor (subsistema) correspondente à receção e armazenamento demercadorias; neste caso, o conjunto de objetos do sistema em estudo deveria incluir o pessoalenvolvido na receção, movimentação e armazenamento de produtos, os equipamentos utilizados, adisponibilidade de área de stocks, etc..2.3. ModeloDe modo geral, os modelos são utilizados para resolver problemas reais quando, para tal, issoimplicaria custos elevados utilizando a via experimental ou muito complicados para tratamentoanalítico.A construção de um modelo pode visar encontrar a solução de um problema específico dentro deum sistema. Deste modo, pode existir um número variado de modelos para resolver um mesmosistema, em que cada modelo respeita as características de um problema particular. Depois de definido um problema dentro de um sistema para o qual se pode construir um modelo,é necessário a existência de uma estrutura organizada para construir este modelo. Para tal, utiliza-se uma linguagem de simulação capaz de fornecer esta estrutura e permitir a tradução do modelonuma forma aceitável para o seu processamento no computador. Neste caso, o computador seráutilizado para executar o modelo de forma a produzir saídas que possam ser analisadas, para que asdecisões relacionadas com a resolução do problema possam ser implantadas. Com a ajuda decomputadores é possível simular grande quantidade de eventos em curtos espaços de tempo. Através da execução de um modelo que representa um sistema, é possível fazer uma estimativado comportamento futuro deste sistema. À execução de um modelo dá-se o nome de Simulação. 124 Computação Científica

Page 7: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulaçãoDe notar que a experimentação não se pode comparar à simulação. Enquanto que aexperimentação é caracterizada por tentativas de mudanças no próprio sistema, a simulação éexecutada sobre uma representação do sistema. Para além disso, a experimentação pode ter umcusto 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 então realizadas análises denovas situações sobre as quais se tem pouco conhecimento, o que permite fornecer dados para aconceção de novas regras ou o ganho de experiência no projeto do próprio modelo. Os modelos devem também incorporar elementos reais de forma simples, mantendo uma relaçãocusto x benefício coerente. Isto é, deve-se evitar a construção de um modelo muito complexo quedificulte, ou mesmo impossibilite, a sua compreensão e manipulação. Deve-se também evitar aconstrução de modelos demasiado simples que não representem as propriedades desejáveis dosistema em estudo.2.4. CenáriosNo contexto dos modelos de otimização, existem objetivos a serem alcançados pelo sistema quedeve funcionar satisfazendo as restrições impostas pelo meio ambiente. Desta forma, a solução doproblema em análise deve ser a que melhor atinge os objetivos entre as que satisfazem asrestrições. A observação e o acompanhamento do comportamento do modelo, operando sobre umadeterminada solução, são feitas para avaliar se as restrições estão sendo satisfeitas e se osobjetivos estão sendo alcançados. É frequente uma solução para o problema poder representar umaconfiguração para o sistema ou uma política de operação do sistema. Assim, as diferentesalternativas de soluções do problema devem ser enumeradas para a definição dos cenários a seremavaliados durante as execuções da simulação. Pode acontecer que os cenários em comparação sejam tão distintos que sejam desenvolvidosdois ou mais programas para representa-los. Mesmo nestes casos considera-se que há um únicomodelo que seleciona o programa a ser executado de acordo com o cenário desejado. 2.5. Parâmetros do ModeloOs parâmetros do modelo definem o cenário de cada execução (simulação). Estes sãocontrolados externamente pelo utilizador no início de cada execução e são constantes durante asimulação. Podem representar uma configuração específica para o sistema ou uma determinadapolítica de operação do sistema. Podem também ser sementes de inicialização dos geradores devariáveis (aleatórias) independentes. Entre estes parâmetros estão a quantidade e a distribuição da procura do serviço, os algoritmosde escalonamento, o número médio de vezes que um cliente visita um dispositivo, o número declientes num sistema fechado e a distribuição do tempo entre chegadas de clientes num sistemaComputação Científica 125

Page 8: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação Modelação e Simulação de Sistemasaberto. Alguns destes parâmetros caracterizam a carga do sistema, como seja, a distribuição dotempo entre chegadas de clientes. Pode-se dizer que a capacidade mais importante do modelador é a perceção de como o sistemase comporta, a capacidade de estimar o conjunto inicial de parâmetros do sistema e a capacidadede realizar análises de modificação dos parâmetros com precisão.3. Propriedades dos modelos de simulação3.1. IntroduçãoA utilidade de um modelo está diretamente relacionada com a sua capacidade de incorporarelementos reais de forma simples. No entanto, um modelo deve conter os aspetos importantes dosistema real, sem que a sua complexidade impossibilite a compreensão e manipulação do mesmo.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ãoconstituídos por 4 elementos: componentes, variáveis, parâmetros e relações funcionais.3.2. Elementos de um modelo de simulaçãoOs componentes representam a parte do modelo de simulação sobre a qual são realizados osestudos. Os componentes dos modelos tendem a variar muito, dependendo do sistema que estásendo simulado. Por exemplo, num sistema de gestão de redes, podem ser considerados comocomponentes os objetos geridos, os agentes de gestão e as aplicações geridas.As variáveis são utilizadas nos modelos de simulação para relacionar os componente entre si.Dependendo da finalidade de uma simulação, uma variável pode ser classificada como: exógena,de estado e endógena.As variáveis exógenas são as variáveis independentes ou de entrada do modelo. Sãoconsideradas como tendo sido previamente determinadas e fornecidas, independentemente dosistema sobre o qual está sendo construído o modelo. Desta forma, estas variáveis podem ser vistascomo atuantes sobre o modelo, mas não influenciadas por ele (a direção causa-efeito ocorre apenasno sentido variável exógena --> sistema). As variáveis exógenas podem ser classificadas comocontroláveis e não controláveis. As variáveis controláveis são as variáveis que podem sermanipuladas ou controladas pelas entidades incumbidas da decisão ou de estabelecer o programade ação em relação ao sistema. Variáveis não controláveis são geradas pelas circunstâncias nasquais o sistema modelado existe, e não pelo próprio sistema ou pelas entidades incumbidas dasdecisões relativas a elas. 126 Computação Científica

Page 9: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Propriedades dos modelos de simulaçãoAs variáveis exógenas controláveis são tratadas como parâmetros. Estes parâmetros devem serdeterminados pelas condições do problema ou pelas entidades encarregues da decisão. Taiscondições ou entidades devem ser previamente lidos pelo computador como dados de entrada, ougeradas internamente se forem variáveis estocásticas (através de métodos pré-definidos).As variáveis de estado descrevem o estado de um sistema ou de um de seus componentes, querno início de um determinado período de tempo, quer no seu término, ou ainda durante o decorrerde um certo período. Estas variáveis interagem com as variáveis exógenas e endógenas, de acordocom as relações funcionais previamente estabelecidas. O valor das variáveis de estado durante umdeterminado período de tempo pode depender do valor de variáveis exógenas de um período detempo anterior e de variáveis de saída de períodos precedentes. Quando um componente utiliza nasua entrada parte da sua saída ocorre um "loop" no modelo. Estes "loops" podem ser utilizados paraintroduzir atrasos na simulação. Num sistema de gestão de redes, as variáveis de estado podemincluir o número de pedidos na fila, resultado de uma operação de gestão ou número de objetosselecionados.As variáveis endógenas são as dependentes ou de saída do sistema. São geradas pela interaçãodas variáveis exógenas e de estado, de acordo com as características operacionais do sistema. Numsistema de gestão de redes, as variáveis endógenas são a média de operações realizadas comsucesso ou o conjunto de informações resultante da ocorrência de eventos nos objetos geridos. As relações funcionais que descrevem as interações das variáveis com os componentes de ummodelo são duplas: identidades e características operacionais. Ambas são usadas para gerar ocomportamento do sistema. As identidades podem tomar a forma de definições ou de proposiçõesredundantes relativas aos componentes do modelo. Para um sistema de gestão, a métrica dotráfego entre uma estação servidor e um recurso remoto pode ser considerado um exemplo derelação funcional.Uma característica operacional é uma hipótese, geralmente uma equação matemática querelaciona as variáveis endógenas e de estado de um sistema com suas variáveis exógenas. Aocontrário dos componentes e das variáveis que podem ser diretamente observados no sistema real,os parâmetros das características operacionais apenas podem ser obtidos através da inferênciaestatística.4. Classificação dos modelos de SimulaçãoExistem diferentes classificações propostas para os modelos de simulação. Neste documento, osmodelos de simulação são classificados em três grupos:- determinísticos e estocásticos,- estáticos e dinâmicos,- discretos e contínuos.Computação Científica 127

Page 10: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Classificação dos modelos de Simulação Modelação e Simulação de SistemasDesta forma, um modelo pode ser estocástico, dinâmico e discreto. Um exemplo com estascaracterísticas são os modelos de simulação discretos.4.1. Modelos determinísticos e modelos estocásticosNos modelos determinísticos não é permite às variáveis exógenas e endógenas serem variáveisaleatórias. Além disso, as características operacionais devem ser relações exatas e não funções dedensidade de probabilidade. Os modelos determinísticos são computacionalmente menos exigentesdo que os modelos estocásticos. Estes modelos podem geralmente ser resolvidos usando técnicascomo a do cálculo de máximos e mínimos (técnica analítica).Em resumo, os métodos analíticos são mais eficientes do que os métodos de simulação, quandoaplicados na resolução de problemas determinísticos.Os modelos são estocásticos quando pelo menos uma das características operacionais é dada poruma função de probabilidade. Geralmente são mais complexos que os modelos determinísticos.Deste modo, 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 para serem utilizados nas fases deobservação ou de testes.4.2. Modelos estáticos e modelos dinâmicosOs modelos estáticos não consideram a variável de tempo. Geralmente a maioria dos trabalhosnas áreas da programação linear, não linear e na teoria dos jogos, têm sido relacionadas commodelos estáticos. No entanto, o uso de modelos de simulação pode não ser recomendado pelofacto da maioria dos modelos estáticos serem completamente determinísticos. Assim, as soluçõespodem normalmente ser obtidas por técnicas analíticas diretas.Os modelos matemáticos que tratam de interações variáveis com o tempo são chamados modelosdinâmicos (ocorrência de uma ordem temporal entre eventos).4.3. Modelos contínuos e modelos discretosUm sistema pode ser modelado através de um modelo de mudança discreta (ou discreto) ou deum modelo de mudança contínua (ou contínuo). O tempo é a principal variável independente nummodelo de simulação dinâmico. As restantes variáveis de estado podem ser consideradas comofunções do tempo, portanto como variáveis dependentes.As variáveis de estado do sistema são classificadas de acordo com os valores que tomam ao longoda simulação. Os modelos dinâmicos são classificados de acordo com os instantes de tempo em queas variáveis de estado têm os seus valores alterados. Um modelo é discreto se todas as variáveis de estado têm os seus valores alterados apenas numnúmero contável de instantes de tempo. Um modelo discreto é aquele em que as variáveisdependentes variam discretamente em pontos específicos do tempo simulado, referidos como128 Computação Científica

Page 11: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Classificação dos modelos de Simulaçãotempo de evento. A variável tempo pode ser contínua ou discreta em tais modelos, dependendo seas mudanças discretas nas variáveis dependentes podem ocorrer em qualquer ponto do tempo realou unicamente em pontos predeterminados. Variável dependente num modelo discretoUm modelo é contínuo se todas as variáveis de estado têm os seus valores alterados a qualquerinstante de tempo. Um modelo contínuo é aquele em que as variáveis dependentes podem variarcontinuamente ao longo do tempo simulado. Um modelo contínuo pode ser contínuo no tempo oudiscreto no tempo, dependendo se os valores das variáveis dependentes estão sempre disponíveisem qualquer ponto do tempo simulado, ou apenas em pontos específicos. Variável dependente num modelo contínuo com tempo contínuoVariável dependente num modelo contínuo com tempo discretoComputação Científica 129

Page 12: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Classificação dos modelos de Simulação Modelação e Simulação de SistemasAlgumas vezes pode ser útil modelar um sistema discreto como um modelo contínuo,considerando as entidades do sistema como um agregado e não como entidades individuais. Umexemplo de tal conveniência é a análise do movimento das partículas de um gás. Um modelo é misto se algumas variáveis de estado têm os seus valores alterados a qualquerinstante de tempo e outras apenas num número contável de instantes de tempo. Um modelo mistoé aquele em que as variáveis dependentes podem variar discretamente, continuamente, oucontinuamente com saltos discretos super-postos. A variável tempo pode ser discreta ou contínua. O aspeto mais importante de uma simulação mista surge nas mudanças de variações discretaspara contínuas e vice-versa. Uma linguagem de simulação mista deve conter meios de detetar taisocorrências e modelar as suas consequências. Modelo mistoEm resumo, chama-se simulação discreta à execução de um modelo de simulação discreto. Damesma forma, chama-se simulação contínua à execução de um modelo de simulação contínuo. E,de simulação mista à execução de um modelo misto.5. Modelos de simulação dinâmicos discretos5.1. Componentes de um modelo de simulaçãoOs modelos de simulação discretos (ou apenas simulação discreta), é uma metodologia paramodelar a evolução de um sistema ao longo do tempo, em que as variáveis de estado mudaminstantaneamente em instantes particulares (discretos) de tempo. Os componentes de um modelode simulação são os seguintes:- Entidade: é um objeto de interesse do sistema (exemplos: clientes do sistema, máquinas numsistema de produção, etc.).- Atributo: são as propriedades de uma entidade, pois existem vários tipos e cada uma com assuas propriedades (exemplos: tipos de prioridades dos clientes numa fila de espera, velocidadedas máquinas e sua capacidade, taxas de avaria, etc.).130 Computação Científica

Page 13: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos- Atividade: representa um determinado período de tempo com duração específica, onde severifica o desenvolvimento de um processo que utiliza recursos (exemplo: fazer depósitos numaagência bancária, soldar e perfurar num sistema produtivo, etc.).- Estado do sistema: é o conjunto de variáveis necessárias para descrever o sistema em qualquerinstante, as quais estão relacionadas com o objetivo do estudo (exemplos: número de servidoresocupados ou desocupados, número de clientes à espera para serem atendidos, número demáquinas em funcionamento, paradas ou avariadas, etc.).- Evento/Acontecimento: é uma ocorrência instantânea que altera o estado do sistema(exemplos: chegada de um cliente, o terminar do serviço de um utente, uma nova avaria numadas máquinas, etc.). Os acontecimentos podem ser exógenos, no caso de terem origem fora dosistema, e endógenos, caso contrário.- Executivo: trata-se de um mecanismo existente na estrutura de qualquer programa desimulação, que permite manter permanentemente atualizada a informação sobre as entidades.Em particular, permite conhecer em cada instante qual o estado da entidade e por quantotempo é que esta permanece naquele estado.Exemplo: serviço de atendimento com um servidor– objetivo do estudo:- estimar o tempo médio de espera na fila para atendimento;– entidades: - cliente,- servidor;– 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;– eventos/acontecimentos:- chegada de um cliente ao sistema,- início do atendimento de um cliente;- partida de um cliente após atendimento (no fim do serviço).O objetivo de um modelo de simulação discreto é reproduzir as atividades das entidadesenvolvidas no sistema e, a partir daí, conhecer algo sobre o comportamento e desempenho dosistema. Isto é conseguido quando se definem os estados do sistema e se constroem as atividadesque o movem de um estado para outro. O estado de um sistema é definido em termos de valoresnuméricos dados aos atributos das entidades. Um sistema está em determinado estado, quandotodas as suas entidades estão em estados consonantes com o domínio dos valores dos atributos quedefinem aquele estado.Computação Científica 131

Page 14: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasEm simulação discreta, o estado do sistema só pode mudar nos tempos de eventos. Uma vez queo estado do sistema permanece constante entre tempos de eventos, uma descrição completa doestado do sistema pode ser obtida avançando o tempo simulado de um evento para outro. Estemecanismo é usado na maioria das linguagens para simulação discreta.Como os modelos de simulação discreta são dinâmicos, é necessário manter um registo do temposimulado 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 de um modelo de simulação que regista o valor atual do temposimulado. O relógio de simulação não tem uma unidade explícita (usa a mesma unidade dosparâmetros de entrada). O tempo simulado é diferente, quer do tempo de computador de execuçãoda simulação, quer do tempo real.Relações entre evento, processo e atividade.5.2. Tipos de modelaçãoA formulação de um modelo de simulação discreta pode ser realizada de três formas: - pela definição das mudanças nos estados que podem ocorrer em cada tempo de evento; - pela descrição das atividades nas quais as entidades do sistema se envolvem e; - pela descrição do processo através do qual as entidades do sistema fluem. Um evento acontece num ponto isolado do tempo, no qual devem ser tomadas decisões de forma ainiciar ou terminar um atividade. Um processo é uma sequência ordenada de eventos e podeenglobar várias atividades. Estes conceitos levam naturalmente a três alternativas de visão de ummodelo de simulação discreto: - modelação orientada ao Evento;- modelação orientada à Atividade;- modelação orientada ao Processo.132 Computação Científica

Page 15: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosModelação orientada ao Evento:Um sistema é modelado pela definição das mudanças que ocorrem no tempo de evento. A tarefado modelador é determinar os eventos que podem causar a mudança no estado do sistema edesenvolver a lógica associada com cada tipo de evento. A simulação do sistema é produzidapela execução da lógica associada a cada evento, numa sequência ordenada no tempo.É este tipo de modelação que será estudado com mais detalhe neste documento. Modelação orientada à Atividade:O modelador descreve as atividades nas quais as entidades do sistema estão envolvidas eestabelece as condições que causam o início e o fim de uma atividade. Os eventos que iniciamou terminam uma atividade não são escalonados pelo modelador, mas iniciados a partir dascondições especificadas para a atividade. À medida que o tempo simulado avança, as condiçõesde início ou fim de uma atividade são examinadas. Para se assegurar que cada atividade é levadaem consideração, é necessário examinar todo o conjunto de atividades a cada avanço do tempo.Modelação orientada ao Processo:Muitas estruturas de modelos de simulação incluem sequências de eventos, as quais ocorrem empadrões definidos; por exemplo, uma fila de entidades à espera de um servidor. A lógicaassociada a tal sequência de eventos pode ser generalizada e definida por uma única afirmação.Uma linguagem para simulação pode então traduzir tal afirmação na sequência de eventosassociada. Uma linguagem orientada ao processo emprega tais afirmações para modelar o fluxodas entidades no sistema. Estas afirmações definem uma sequência de eventos que éautomaticamente executada pela linguagem de simulação.5.3. Modelação orientada ao EventoExistem dois métodos possíveis para avançar o tempo no sistema a ser simulado: avanço porincremento de tempo fixo (fixed increment) e avanço para o próximo evento (next event). No método avanço por incremento de tempo fixo, um relógio virtual existente no computadorpermite registar o tempo instante a instante, mantendo a sequência correta dos acontecimentos. Otempo é atualizado por intervalos discretos uniformes (minutos, segundos, etc.), sendo o sistemaobservado em cada instante, de forma a saber se existe algum evento para ter início. Computação Científica 133

Page 16: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasNo método de avanço para o próximo evento, o avanço é por tempo variável, uma vez que éconcretizado através dos instantes em que se verificam os acontecimentos. Não se analisa o períododurante o qual se executa a simulação instante a instante.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 osinstantes de novos eventos;4. os passos 2 e 3 são repetidos, até se cumprir uma condição de paragem pré-estabelecida.Exemplo: sistema de atendimento com um servidor (o método de avanço para o próximo evento)- ti = tempo de chegada do cliente i (t0 = 0)- Ai = ti – ti-1 = tempo entre chegadas dos clientes i-1 e i- Si = tempo de atendimento do cliente i no servidor- Di = tempo de espera do cliente i na fila- ci = ti + Di + Si = tempo de partida do cliente i- ek = tempo do k-ésimo evento de qualquer tipo (chegada ou partida)A utilização do método de avanço por incremento de tempo fixo é, em geral, mais eficiente seos acontecimentos ocorrem de forma regular ou se não forem bem conhecidos (por exemplo, emsistemas complexos no controlo ou em fases iniciais de estudos de simulação). O método de avançopara o próximo evento, em contrapartida, tem a virtude da duração designada para a unidade detempo não afetar a velocidade de computação, o que permite poupar tempo na execução domodelo. 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úmerodas variáveis de estado, e da segundo, com a duração temporal média dos acontecimentos.Considere-se como exemplo um balcão de atendimento ao público. O objetivo do estudo destesistema é estimar o número médio de clientes na fila, o tempo de espera médio dos clientes na filae a percentagem de tempo de ocupação do servidor. Para tal, foram recolhidos dados (amostras)134 Computação Científica

Page 17: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosrelativos ao intervalo de tempo entre chegadas e à duração dos serviços, os quais estão sintetizadosna tabela seguinte.Tempos entre chegadas(minutos) Frequência (%) Tempos de serviço(minutos) Frequência (%)234 303040 345 304030Os Componentes do modelo de simulação são os seguintes:Entidades: clientes que chegam ao sistema para serem atendidos e o balcão de atendimento;Atributos: a disciplina da fila de espera admite-se ser FIFO (first in first out)Atividades: tempo de espera na fila, tempo despendido no sistema e tempo de serviço, geridosatravés das duas distribuições empíricas caracterizadas na tabela anterior;Estado do sistema: situação do servidor (ocupado ou livre), número de clientes na fila e númerode clientes no sistema;Eventos: chegada de um cliente e partida após conclusão do serviço de um cliente específico.Os tempos entre chegadas e de serviços podem ser determinados através de processos comuns deamostragem. Para tal, geram-se números com igual probabilidade de escolha e independentes entresi (pseudoaleatórios). A tabela seguinte apresenta os resultados obtidos.Intervalo dos númerospseudoaleatórios Tempos entrechegadas (minutos) Intervalo dos númerospseudoaleatórios Tempos de serviço(minutos)00-2930-5960-99 234 00-2930-6970-99 345Os resultados da simulação são os que constam na tabela seguinte:Númeropseudo-aleatório Intervalo detempoentrechegadas(minutos) Tempoacumulado(minutos) Númeropseudo-aleatório Tempo deserviço(minutos) Tempo deconclusãode serviço(minutos) Tempo deespera(minutos) Tempos dedisponibili-dade doservidor(minutos)79578048598103 4343342 471114172123 85666023115349 5443344 9131720232731 0223324 4000000Computação Científica 135

Page 18: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasO método de simulação utilizado é o de avanço para o próximo evento, pois o incremento éaquele onde se verificam eventos instantâneos com relevância (chegada de um cliente e o terminardo serviço de um cliente). A tabela seguinte apresenta a evolução dos eventos.Relógio desimulação Evento Cliente Próximachegada Fila Estado doservidor Próximasaída Tempo livredo servidor Tempo deespera Fila0 - - 4 0 live ∞ 0 -4 chegada 1 7 0 ocupado (1) 9 4 07 chegada 2 11 1 - - - -9 partida 1 - 0 ocupado (2) 13 - 211 chegada 3 14 1 - - - -13 partida 2 - 0 ocupado (3) 17 - 214 chegada 4 17 1 - - - -17 partida 3 - 0 ocupado (4) 20 - 317 chegada 5 21 1 - - - -20 partida 4 - 0 ocupado (5) 23 - 321 chegada 6 23 1 - - - -23 partida 5 - 0 ocupado (6) 27 - 223 chegada 7 ∞ 1 - - - -27 partida 6 - 0 ocupado (7) 31 - 431 partida 7 - - livre ∞ - -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%)5.4. Desenvolvimento de um projeto de simulaçãoO processo de construção de modelos que representam sistemas reais pode ser estruturado poruma sequência de etapas de forma a simplificar, agilizar e melhorar a fidelidade do modelo.A lista que a seguir se apresenta é clássica, isto é, quase todos os livros e trabalhos gerais sobrecomo proceder para solucionar um problema usando um processo de modelação e simulação dosistema é apresentada como se segue.136 Computação Científica

Page 19: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos5.4.1. Formulação do problema.Qualquer estudo de modelação e simulação deve iniciar-se pela formulação (depois daidentificação) do problema que se pretende analisar. A compreensão total da situação, seja elaenumerada pelo cliente ou pelo analista, exige da parte do cliente um acordo e um entendimentocompleto da formulação proposta. Nesta fase, deverão ser preparadas um conjunto de hipótesesiniciais que terão de ser aceites pelo cliente. Mesmo assim, acontece com muita frequência oproblema necessitar de ser reformulado durante o processo de desenvolvimento. Esta fase é dasmais importantes do processo, pois irá condicionar todas as restantes atividades. A explicação semComputação Científica 137

Page 20: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemasambiguidade da situação é crucial, sob pena de se vir a chegar a uma solução que não correspondaà solução do problema real em avaliação.5.4.2. Definição dos objetivos.Os objetivos devem ser indicados pelo conjunto de questões que deverão ser respondidas peloestudo do processo. Os objetivos deverão ser precisos, razoáveis, compreensíveis, mensuráveis eorientados para a ação, permitindo distinguir o essencial do secundário. Se a definição dosobjetivos é vaga, normalmente conduz a sucessos pouco claros. São os objetivos que explicitam osfocos do projeto e, em último lugar, permitirão verificar o grau de sucesso deste. Para a definiçãodos objetivos, devem ser respondidas questões do tipo: a) por que o problema está a ser estudado?b) quais serão as respostas que o estudo espera alcançar?c) quais são os critérios para avaliação do rendimento do sistema?d) quais são as hipóteses e prerrogativas?e) que restrições e limites são esperados das soluções obtidas?5.4.3. Planeamento do projeto.No planeamento do projeto pretende-se ter a certeza de que se possuem recursos suficientes noque diz respeito a pessoal, suporte, gestão, hardware e software para realização do trabalhoproposto. Além disso, o planeamento deve incluir uma descrição dos vários cenários que serãoinvestigados e um cronograma temporal das atividades que serão desenvolvidas, indicando os custose necessidades relativas aos recursos anteriormente citados.5.4.4. Construção do modelo.O sistema real em análise é traduzido num modelo matemático, constituído por um conjunto derelações matemáticas e lógicas, de acordo com os componentes e a estrutura do sistema. O modeloconstruído consiste de uma descrição estática e de uma dinâmica. A descrição estática define oselementos do sistema e as suas características. A dinâmica define o modo como os elementos dosistema interagem causando mudanças no estado do sistema no decorrer do tempo.O modelador deve conhecer bem a estrutura e as regras de operação do sistema e saber extrairo essencial do sistema, sem incluir detalhes desnecessários. A quantidade de detalhes incluída nomodelo deve ser baseada nos objetivos para o quais foi construído.Na construção do modelo deve-se traçar um esboço do sistema, de forma gráfica (fluxograma,por exemplo) ou algorítmica (pseudocódigo), definindo os componentes, descrevendo as variáveis ea interações lógicas que constituem o sistema. É recomendado que o modelo se inicie de formasimplificada e vá crescendo até alcançar algo mais complexo, contemplando todas as suaspeculiaridades e características. O utilizador deve participar intensamente desta etapa.138 Computação Científica

Page 21: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos5.4.5. Recolha de informação.O aspeto mais complexo dos dado de entrada necessários para modelar um sistema é a recolhade dados em quantidade, qualidade e variedade, de forma a se desenvolver uma análise razoável.Em muitos casos é mesmo impossível ou muito difícil realizar esta tarefa, já que, por exemplo,poder-se-á estar a modelar um sistema original. Noutros casos, não existe tempo suficiente ou mão-de-obra disponível para se conseguir uma recolha de informação extensiva. Os dados de entrada do sistema a simular são, normalmente, dados já existentes e nãopreparados especialmente para este fim. De salientar que, na maioria dos casos, os dadosrepresentam uma amostra do que pode ser utilizado ou do que existe disponível. Ao se afirmar queos dados são representativos, significa que são expressivos de uma população que apresenta umacerta regularidade ao longo do tempo, devendo a amostra refletir esta situação.Geralmente os dados de entrada são valores hipotéticos ou baseados em alguma análisepreliminar, e dependem do objetivo do modelo. Estes dados são factos, informações e estatísticasfundamentais, que derivam de observações, experiências pessoais ou de arquivos históricos.5.4.6. Implementação do modelo.O modelo de simulação construído é então codificado usando um qualquer linguagem deprogramação, seja ela imperativa ou de simulação; isto é, é construído o modelo implementado.5.4.7. Verificação.Esta fase consiste em determinar se o modelo implementado reflete de forma adequada omodelo de simulação construído. Para tal, deve-se verificar se os resultados obtidos pela execuçãono computador são os esperados. Recomenda-se que a verificação seja efetuada de formacontinuada, não sendo boa opção concluir a implementação do modelo sem se iniciar a verificação.5.4.8. Validação.A validação de um modelo é o processo que permite verificar, tendo em atenção os objetivosespecíficos do estudo, se o modelo de simulação e uma representação ajustada do sistema. Se omodelo é válido, em termos conceptuais, então poderá ser utilizado como suporte à tomada dedecisões sobre o sistema. A maior ou menor facilidade da validação depende da complexidade dosistema e da sua real existência.De salientar que um modelo de simulação é construído para um fim específico e se é válido paraeste poderá não o ser para qualquer outro; ou seja, a sua validade é verificada para um conjuntode dados de entrada dentro de um determinado domínio, e não para valores fora dele.As medidas de desempenho utilizadas para validar o modelo deverão ser as mesmas que sãoutilizadas pelo decisor para avaliar o sistema, devendo haver a preocupação de quem desenvolve oComputação Científica 139

Page 22: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemasmodelo de o avaliar ao longo de todo o processo de construção, não adiando este processo apenaspara uma fase posterior à conclusão do modelo.Existe um conjunto de processos de natureza prática para se realizar uma conveniente validaçãode um modelo de simulação. Este conjunto pode ser dividido em duas categorias: a primeira incluias designadas técnicas subjetivas e a segunda os processos formais. De entre as primeiras estão:a) validação em face: o modelo de simulação e o sistema real devem-se assemelhar face aoconhecimento que se tem do funcionamento do sistema;b) análise de sensibilidade: a variação dos valores de entrada deverá provocar mudanças nosresultados que sejam concordantes com uma alteração previsível; para tal, são utilizadoscenários em que o comportamento real é conhecido previamente e que pode ser comparadocom o comportamento obtido com a simulação;c) testes para condições extremas: o modelo deverá responder de forma adequada quando osvalores de entrada se alteram para valores extremos;d) validação relativa às hipóteses do modelo de simulação: existem, para este caso, duassubcategorias de hipóteses: as estruturais (relacionadas com o funcionamento do sistema) e asligadas aos dados.As técnicas formais incluem a validação das transformações de entrada-saída e utilizando dadoshistóricos de entrada. O princípio básico da primeira reside na comparação dos valores de saída domodelo implementado com aquele obtido no sistema real; neste processo são utilizados comfrequência testes que permitem comparar valores médios ou outros parâmetros estatísticos. Nosegundo caso, em vez de se executar o modelo implementado com valores artificiais, utilizam-sedados do sistema recolhidos em períodos históricos; é de esperar que os resultados obtidos pelomodelo implementado sejam estatisticamente próximos dos observados no sistema real; estacomparação é realizada através de testes estatísticos.Após o modelo ser validado torna-se necessário necessário adaptá-lo a determinadas condiçõesde funcionamento (realizar a calibração). A calibração do modelo é um passo significativo queocorre normalmente entre o final da validação e o início da simulação.5.4.9. Desenho de experiências.Os pontos a serem incluídos nesta fase são: a definição os cenários a serem simulados, oconjunto de decisões relativas à dimensão do período de simulação, o número de réplicas e ascondições iniciais.5.4.10. Execução do modelo e análise dos resultados.A execução do modelo e a análise dos resultados obtidos permitirá estimar as medidas dedesempenho para o conjunto de cenários estabelecido.140 Computação Científica

Page 23: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos5.4.11. Mais execuções do modelo?A partir dos resultados obtidos através da execução do modelo já realizada, o analista poderáconcluir que serão ainda insuficientes ou eventualmente ser aconselhável explorar novos cenários.5.4.12. Documentação e relatório.Existem dois tipos de documentos a considerar: o primeiro relativo ao programa e o segundoinclui os designados por relatórios de progresso. A documentação relativa à programação éimportante, pois o programa pode vir a ser utilizado posteriormente pelo analista ou por alguémdiferente; desta forma, torna-se porventura necessário conhecer a forma de operar o programa. Aexistência de relatórios de progresso é importante, já que traduzem a história escrita dodesenvolvimento do projeto; esta poderá revelar a cronologia do trabalho concretizado, dasdecisões tomadas, o que funcionou e não funcionou, etc..5.4.13. Implementação da solução.O sucesso desta fase depende da forma como os passos anteriores foram concretizados. Assimcomo o grau de envolvimento do utilizador final ao longo de todo o processo, é um fator desucesso. Se os resultados do sistema virem a ser melhorados pelos resultados obtidos no modelo desimulação, o projeto poderá ser considerado um sucesso.5.5. Implementação/codificação de um modelo de simulação discretaNa fase de implementação do modelo de simulação é necessário ter em conta duas entidadesimportantes: as variáveis e as rotinas associadas ao modelo.Para além das variáveis já referidas,- estado do sistema: conjunto de variáveis que descrevem o estado do sistema num instante detempo, e - relógio de simulação: variável que regista o instante atual do tempo simulado,existem, pelo menos, mais duas: - lista de eventos: lista com os próximos instantes de tempo em que cada tipo de evento vaiocorrer, e - contadores estatísticos: variáveis que guardam informação estatística, recolhida ao longo dasimulação, sobre o desempenho do sistema.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 eavança o relógio de simulação– rotinas dos eventos: subprogramas (um por tipo de evento) que atualizam o estado do sistemaquando ocorre um eventoComputação Científica 141

Page 24: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas– biblioteca de rotinas: conjunto de subprogramas que geram observações aleatórias dasdistribuições de probabilidade que são utilizadas pelo modelo– gerador de relatórios: subprograma que calcula no fim da simulação (a partir dos contadoresestatísticos) medidas de desempenho do sistema e produz um relatório– programa principal: subprograma que chama a rotina de gestão de tempo e passa o controlopara a correspondente rotina do evento; este programa também verifica as condições deparagem e chama o gerador de relatórios no fim da simulação.Um possível algoritmo associado à implementação do modelo de simulação é o seguinte:5.6. Exemplo 1Enunciado do problema:Serviço de atendimento de clientes com apenas um servidor.Funcionamento do sistema (uma barbearia):– os clientes chegam à barbearia e esperam numa cadeira 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;142 Computação Científica

Page 25: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosDados 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 clienteNúmero de cliente 1 2 3 4 5 6 7 8 9 10Instantes de chegada (min) 12 15 32 76 97 128 138 153 180 215Tempos de serviço (min) 25 32 12 30 24 10 27 21 15 14Objetivos:- simular este sistema até todos os clientes serem atendidos- 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 servidorConstruçã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 estadodo 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úmerode clientes que passaram pelo sistema, número de clientes que passaram pela fila e tempo deocupação do servidor (barbeiro).Computação Científica 143

Page 26: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasAlgoritmo (eventos):5.7. Exemplo 2Enunciado 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.Dados de entrada para a simulação do sistema (inputs):– tempos entre chegadas:- os tempos entre chegadas de clientes seguem uma distribuição exponencial negativa comvalor esperado de 2.0 minutos;- estes tempos podem ser gerados a partir de números aleatórios uniformes entre 0 e 1 com aseguinte fórmula: x = –µ*ln(1-r), onde r~U(0, 1) e µ é o valor esperado;144 Computação Científica

Page 27: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos- 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 contactoinicial e um tempo variável uniforme entre 0.5 e 2.0 minutos;- para gerar valores aleatórios uniformemente distribuídos entre A e B pode usar a fórmula:x = A+(B-A)*r, onde r~U(0, 1), A é o limite inferior e B o limite superiorObjetivos:- 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)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)- Estado do Agente 1 (ocupado ou livre - EstadoAgente1)- Estado do Agente 2 (ocupado ou livre - EstadoAgente2)- 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)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 dos clientes no sistema (real - TempoTotalPermanencia)- Número de clientes que passaram pelo sistema (inteiro – NumClientesSistema)- Número total de clientes que passaram pela fila de espera (inteiro - TotalClientesFila)Computação Científica 145

Page 28: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasAlgoritmo:Rotina de inicialização (T0):NumClientesSistema 0EstadoAgente1 livreEstadoAgente2 livreFilaEventosChegada []Clock 0.0TempoProximaChegada T0TempoPartida1 TempoPartida2 TempoTotalEspera 0TempoOcupacaoAgente1 0TempoOcupacaoAgente2 0TempoTotalPermanencia 0TotalClientesFila 0Rotina de gestão de tempo (TempoProximaChegada, TempoPartida1, TempoPartida2):Devolve o mínimo de { TempoProximaChegada, TempoPartida1, TempoPartida2 }Devolve o tipo de evento que lhe está associado (chegada, partida1 ou partida2)Rotinas de eventos:Evento de Chegada (Tempo)Marcar próximo evento de chegada (consultar sequência de instantes de chegada):TempoEntreChegadas consultar sequência de valores respetivaTempoProximaChegada Tempo + TempoEntreChegadasSe (EstadoAgente1 = ocupado) EntãoSe (EstadoAgente2 = ocupado) EntãoFilaEventosChegada Inserir(Tempo, FilaEventosChegada)TotalClientesFila TotalClientesFila + 1SenãoNumClientesSistema NumClientesSistema + 1EstadoAgente2 ocupadoTempoServico consultar sequência de valores respetivaTempoPartida2 Tempo + TempoServico (Marcar evento de partida deste cliente)TempoOcupacaoAgente2 TempoOcupacaoAgente2 + TempoServicoTempoTotalPermanencia TempoTotalPermanencia + TempoServicoFim_Se146 Computação Científica

Page 29: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosSenãoNumClientesSistema NumClientesSistema + 1EstadoAgente1 ocupadoTempoServico consultar sequência de valores respetivaTempoPartida1 Tempo + TempoServico (Marcar evento de partida deste cliente)TempoOcupacaoAgente1 TempoOcupacaoAgente1 + TempoServicoTempoTotalPermanencia TempoTotalPermanencia + TempoServicoFim_SeEvento de Partida 1 (Tempo)Se (FilaEventosChegada = []) EntãoEstadoAgente1 livreTempoPartida1 SenãoTempoChegadaCliente Frente(FilaEventosChegada)TempoEsperaCliente Tempo - TempoChegadaClienteNumClientesSistema NumClientesSistema + 1TempoServico consultar sequência de valores respetivaTempoPartida1 Tempo + TempoServico (Marcar evento de partida deste cliente)FilaEventosChegada Remover(FilaEventosChegada)TempoTotalEspera TempoTotalEspera + TempoEsperaClienteTempoOcupacaoAgente1 TempoOcupacaoAgente1 + TempoServicoTempoTotalPermanencia TempoTotalPermanencia + TempoServico + TempoEsperaClienteFim_SeEvento de Partida 2 (Tempo)Se (FilaEventosChegada = []) EntãoEstadoAgente2 livreTempoPartida2 SenãoTempoChegadaCliente Frente(FilaEventosChegada)TempoEsperaCliente Tempo - TempoChegadaClienteNumClientesSistema NumClientesSistema + 1TempoServico consultar sequência de valores respetivaTempoPartida2 Tempo + TempoServico (Marcar evento de partida deste cliente)FilaEventosChegada Remover(FilaEventosChegada)TempoTotalEspera TempoTotalEspera + TempoEsperaClienteComputação Científica 147

Page 30: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasTempoOcupacaoAgente2 TempoOcupacaoAgente2 + TempoServicoTempoTotalPermanencia TempoTotalPermanencia + TempoServico + TempoEsperaClienteFim_SePrograma principal:1) T0 tempo do primeiro evento de chegada (consultar sequência de valores respetiva)2) Executar rotina de inicialização (T0)3) (Clock, TipoEvento) Rotina de gestão de tempo (TempoProximaChegada, TempoPartida1,TempoPartida2)4) Se (TipoEvento = Chegada) EntãoNumClientes NumClientes + 1Executar rotina Evento de chegada (Clock)Se (NumClientes = MaximoClientes) Então TempoProximaChegada ∞Fim_SeSenão Se (TipoEvento = Partida1) EntãoExecutar rotina Evento de partida 1 (Clock)SenãoExecutar rotina Evento de partida 2 (Clock)Fim_SeFim_Se5) Se (Continuar simulação) EntãoRegressar a 3)SenãoCalcular medidas de desempenhoEscrever relatórioFim_SeSimular manualmente:– começar por calcular os instantes de chegada e os tempos de serviço (tabela seguinte):Número de cliente 1 2 3 4 5 6 7 8 9 10 11 12Tempos 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.3Instantes 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.4Tempos 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.7148 Computação Científica

Page 31: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos– para a simulação manual (8 primeiros clientes), utilizar um quadro com as seguintes entradas:Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE0.0 - - 3.6 [ ] livre livre 0 0 0 0 0 03.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.214.6 Chegada 6 20.0 [14.6] - - - - - - - 2 - -15.1 Partida2 4 - [ ] - - - 18.0 18.3 - 5.6 - 6 1.717.8 Partida1 5 - - livre - - - - - - - -18.0 Partida2 6 - - - - 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 - - - - - - -5.8. Exemplo 3Enunciado do problema:Sequenciamento de tarefas num job-shop.Funcionamento do sistema:– são processadas 4 tipos de peças com 3 máquinas: Torno, Fresadora e Retificadora;– cada tipo de peça tem uma sequência de operações distinta;– das peças a aguardar processamento numa máquina, é escolhida primeiro aquela que tivermenor tempo de operação;– neste momento há 4 tarefas a realizar: 4 peças, uma de cada tipo.Tipo peças 1 2 3 4Máquinas T – F – R - F F – T - R R – T – F - T F – R – T - RDados de entrada para a simulação do sistema (inputs):- este problema poderia ser generalizado com– chegadas de peças ao sistema com intervalos de tempo probabilísticos– tempos de processamento probabilísticos– adoção de outras regras de sequenciamentoComputação Científica 149

Page 32: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas– usar a sequência de operações (máquina e tempo de processamento) da tabela seguinteTipo peças 1 2 3 4Máquinas 2 – 4 – 2 - 1 3 – 3 - 1 3 – 2 – 2 - 5 5 – 4 – 2 - 3Objetivos:– simular manualmente este sistema até processar todas as tarefas– calcular as seguintes medidas de eficiência:- tempo total de processamento (ou makespan)- tempo médio de fluxo das tarefas- tempo médio de espera das tarefas- taxa média de ocupação das máquinasNota: este problema poderia ser generalizado com– chegadas de peças ao sistema com intervalos de tempo probabilísticos– tempos de processamento probabilísticos– adoção de outras regras de sequenciamento5.9. Exemplo 4Enunciado do problema:Ao chegar à sala do professor, o aluno deve esperar numa fila até que chegue a sua vez para seratendido. Quando chega a sua vez, o aluno conversa com o professor e depois abandona a saladando oportunidade para que um outro aluno possa ser atendido. Apenas por uma questão desimplicidade, vamos assumir que o tempo de chegada dos alunos e o tempo gasto por cada alunono atendimento são conhecidos (valores que constam na tabela).Aluno Tempo dechegada(minutos) Tempo deatendimento(minutos) Aluno Tempo dechegada(minutos) Tempo deatendimento(minutos)1 6.0 9.0 6 52.0 5.02 24.0 7.5 7 58.0 9.03 26.0 10.0 8 70.0 7.54 35.0 6.5 9 77.0 6.55 44.0 6.0 10 89.0 11.0Objetivos:- Tempo médio que um aluno gasta a tirar dúvidas com o professor e - Percentagem do tempo que o professor fica ocupado a tirar dúvidas.Componentes do modelo:Entidades: alunos que vão tirar dúvidas e o professor que atende os alunos;Atributos: considera-se que os alunos são atendidos por ordem de chegada à fila;150 Computação Científica

Page 33: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosAtividades: tempo de espera do aluno na fila, tempo total gasto pelo aluno no sistema e tempode ocupação do professor no atendimento aos estudantes;Estado do sistema: número do aluno no sistema, tipo de evento que ocorre, número de alunosna fila de espera (ou a fila de espera), número de alunos que passaram pelo sistema, estadodo professor (ocupado ou livre) e tempo total de ocupação do professor (objetivo do estudo);Eventos: chegada de um aluno à fila para ser atendido e partida de um aluno depois de seratendido pelo professor (e que deixa o sistema); o início do atendimento de um aluno não éum evento, pois coincide com a chegada de um aluno (se professor livre) ou com a partida deum aluno depois de atendido pelo professor (se fila não vazia).Para ilustrar a simulação pode-se traçar o retrato dinâmico do estado do sistema, peloprocessamento dos eventos de chegada e saída de alunos ordenados no tempo. A simulação manualdo exemplo, correspondente às entradas da tabela inicial, pode ser apresentada de acordo comduas visões. A visão do aluno (descrição orientada ao processo) e a visão da ocorrência ordenadados eventos, no caso da visão do professor (descrição orientada ao evento).A tabela seguinte apresenta a visão do aluno, assumindo inicialmente que: - não havia alunos no sistema, - o professor estava livre e - o primeiro aluno chegou no tempo 6.0 minutos. Nesta tabela, - as colunas 1 e 2 foram tiradas da tabela inicial;- a coluna 3 depende se o aluno anterior já partiu do sistema; o valor da coluna é o maior valorentre o tempo de chegada do aluno e o tempo de partida do aluno imediatamente anterior;- a coluna 4 é a soma da coluna 3 com o valor do tempo de atendimento dado na tabela inicial;- a coluna 5 computa o tempo que o aluno passa na fila, simplesmente subtraindo do tempo que oaluno começa a ser atendido (coluna 3), o tempo em que o aluno chegou ao sistema (coluna 2);- a coluna 6 calcula o tempo que um aluno passa no sistema, subtraindo o seu tempo de chegada(coluna 2), do seu tempo de saída (coluna 4).O tempo médio que um aluno passa no sistema pode ser facilmente calculado pela tabelaabaixo, sendo seu valor igual a 9.75 minutos.Aluno Tempo de chegadaao sistema Tempo de iníciode atendimento Tempo de saídado sistema Tempo deespera na fila Tempo totalno sistema1 6.0 6.0 15.0 0.0 9.02 24.0 24.0 31.5 0.0 7.53 26.0 31.5 41.5 5.5 15.54 35.0 41.5 48.0 6.5 13.05 44.0 48.0 54.0 4.0 10.0Computação Científica 151

Page 34: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas6 52.0 54.0 59.0 2.0 7.07 58.0 59.0 68.0 1.0 10.08 70.0 70.0 77.5 0.0 7.59 77.0 77.5 84.0 0.5 7.010 89.0 89.0 100.0 0.0 11.0A tabela seguinte apresenta uma descrição do exemplo com modelação orientada ao evento: oseventos são listados em ordem cronológica, na qual se pode calcular a percentagem de ocupaçãodo professor, cujo valor é igual a 78%. Para manter a ordem cronológica dos eventos, foi necessáriomanter um calendário de futuros eventos a serem processados, o que foi conseguido colocando pelaordem correta os eventos de chegada e de partida dos alunos. A ordem correta do processamentodos eventos foi obtida deste calendário, que vai sempre fornecer com exatidão o próximo evento aser processado.Tempo deevento Aluno Tipo doevento Número dealunos na fila Nº de alunos nosistema Estado doProfessor Tempo deocupação do Prof.0.0 - - 0 0 livre -6.0 1 chegada 0 1 ocupado15.0 1 partida 0 0 livre 9.0 24.0 2 chegada 0 1 ocupado -26.0 3 chegada 1 2 ocupado -31.5 2 partida 0 1 ocupado -35.0 4 chegada 1 2 ocupado -41.5 3 partida 0 1 ocupado -44.0 5 chegada 1 2 ocupado -48.0 4 partida 0 1 ocupado -52.0 6 chegada 1 2 ocupado -54.0 5 partida 0 1 ocupado -58.0 7 chegada 1 2 ocupado -59.0 6 partida 0 1 ocupado -68.0 7 partida 0 0 livre 44.070.0 8 chegada 0 1 ocupado -77.0 9 chegada 1 2 ocupado -77.5 8 partida 0 1 ocupado -84.0 9 partida 0 0 livre 14.089.0 10 chegada 0 1 ocupado -100.0 10 partida 0 0 livre 11.0152 Computação Científica

Page 35: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosQualquer que seja a visão de descrição do exemplo, a lógica associada ao processo de chegada epartida de alunos depende do estado do sistema. No caso da chegada do aluno, se o professor estálivre ele fica ocupado, entrando o aluno para atendimento, tendo o seu tempo de partidaescalonado para o tempo corrente mais o seu tempo de atendimento. Se o professor estiverocupado, o aluno entra na fila de espera, aumentando o número de alunos em espera. No caso departida de um aluno, se existe algum outro aluno em espera, o estado do professor mantém-seocupado, o número de alunos na fila é decrementado de uma unidade, o novo aluno entra paraatendimento, sendo sua partida escalonada para o tempo corrente mais o seu tempo deatendimento. Contudo, se a fila de espera estiver vazia, simplesmente o estado do professor éalterado para livre.5.10. Nível de detalhe dos modelos de simulaçãoO nível de detalhe de um modelo de simulação é a quantidade de aspetos do sistema real quesão incluídos no modelo. Desta forma, – quando maior for o 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 suavalidaçã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.Exemplos de modelos com diferentes níveis de detalhe:- Sistema 1: produção job-shop, com m máquinas e n tipos de peças– conjunto de máquinas de diferentes tipos– diferentes tipos de peças, com distintas sequências de operação- Opções de nível de detalhe:– quanto ao tempo de setup- não considerar tempos de setup- considerar um tempo de setup médio constante e incluí-lo no tempo de serviço- considerar os tempos de setup em função do último tipo de peça produzido e dopróximo tipo de peça a produzirComputação Científica 153

Page 36: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas– quanto à movimentação de stocks entre máquinas- considerar ou não tempos de movimentação entre máquinas- considerar ou não limitação de espaço de stock- Sistema 2: caixas de supermercado, com n filas e n servidores- opções de nível de detalhe:– quanto à escolha da fila por parte dos clientes, que pode ser- 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 marcado5.11. Modelos de simulação com filas de espera5.11.1. IntroduçãoO reconhecimento da existência de filas de espera verifica-se em todas as atividades que exigemum 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 oserviço, ou o número de servidores que são colocados à disposição do sistema para servirem osclientes (quanto maior o número, maior o custo). Note-se que o tempo de espera pode ser reduzidoà custa do aumento do número de servidores; no entanto, com o aumento de servidores, aumenta opreço do serviço. Assim, o problema que se coloca, na maioria dos casos, é definir o ponto de custototal mínimo que corresponderá naturalmente a uma capacidade de serviço que se pretendedeterminar.5.11.2. Estrutura de uma fila de esperaNestes modelos admite-se que os clientes são gerados através de uma fonte (input source) cujacapacidade de produção pode ser finita (limitada) ou infinita (ilimitada). No caso da fonte finita, onúmero de potenciais clientes é fixo, sendo que o número de clientes que existem no sistema (osque esperam e os que estão a ser servidos) afeta, em qualquer instante, o número de potenciaisclientes fora do sistema. No caso da fonte infinita esta interação (clientes do sistema vs potenciaisclientes) é considerada sem significado.Na generalidade dos modelos considerados admite-se que o intervalo entre chegadas de clientestem uma distribuição estatística que deverá ser especificada.154 Computação Científica

Page 37: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosO comportamento dos clientes deve também ser caracterizado, sendo as seguintes decisões maisvulgarmente utilizadas:- recusa (balking): os clientes recusam-se a entrar no sistema se a fila é demasiada longa;- desistência (reneging): os clientes abandonam o sistema se esperam pelo serviço demasiadotempo;- apostas (jockeying): um cliente decide mudar de fila para conseguir atingir o serviço maisrapidamente.A decisão de balking é determinística, enquanto as de reneging e jockeying são probabilísticas. Aindicação da dimensão da fila deve ser caracterizada, podendo ser finita ou infinita. A dimensãoinfinita é a mais utilizada, mesmo para situações onde se consideram valores razoavelmenteelevado, já que esta restrição complica de forma significativa a análise.5.11.3. Mecanismos de escalonamentoOs mecanismos de escalonamento são utilizados para definir como os clientes são selecionadospara entrar num servidor, quanto este se encontrar disponível (são conhecidos como disciplina dafilas). Existem inúmeros mecanismos, sendo os mais usados os seguintes: - FCFS (first come first served): os clientes entram no servidor exatamente pela mesma ordemcom que chegam ao centro de serviço correspondente; - LCFS (last come fisrt served): tem a estrutura de uma pilha onde o último cliente a chegar aocentro é o que entrará no servidor logo que este fique disponível. Alguns autores consideramesta disciplina preemptiva (quando um cliente chegar ao centro, o cliente que estiver a serservido é retirado do servidor e colocado no topo da pilha, entrando o novo cliente no servidor;assim que este completar o seu serviço, o cliente no topo da pilha entra novamente no servidor).- RR (round robin): os clientes são servidos por um intervalo de tempo pequeno (um quantum); seo serviço não é completado neste tempo, ele é colocado no final da fila e um outro cliente entrano servidor até que se esgote o seu quantum ou termine o serviço;- PS (processos sharing): todos os clientes dividem a capacidade do centro de serviço, como seexecutassem 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 deserviço;- com prioridades: os clientes entram nos servidores de acordo com classes de prioridadespreestabelecidas; este mecanismo pode ser nonpreemptive (PRTY - nonpreemptive priority), seo cliente em serviço não é afetado quando um cliente com maior prioridade chega ao centro; oprocesso é preemptive (PRTYPR - preemptive-resume priority), se a chegada de um cliente comprioridade superior ao centro tirar 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 suaforem servidos.Computação Científica 155

Page 38: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas5.11.4. Centros de serviçoUm centro (mecanismo) de serviço consiste em um ou mais servidores (também denominados depostos 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 associadas a umcentro de serviço são as seguintes (figura que se segue): (a) 1 fila e 1 servidor, (b) 1 fila e 2servidores, (c) 2 filas e 1 servidor, (d) 1 fila e vários servidores, (e) várias filas e 1 servidor, e(f) várias filas e vários servidores.Um sistema pode também ser modelado usando vários centros de serviço interligados (sistemacom várias fases). Desta forma, quando um cliente deixa um centro de serviço, deverá existir ummétodo para determinar qual o centro de serviço para onde seguirá aquele cliente; este processodenomina-se de roteamento. Desta forma, as estruturas mais comuns de sistemas com várioscentros de serviço, são as seguintes (figura que se segue): (a) cada centro com 1 fila e 1 servidor,(b) cada centro com 1 fila e vários servidores, (c) cada centro com várias filas e vários servidores.156 Computação Científica

Page 39: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosTodos os casos descritos são modelos abertos, pois representam sistemas com um ou várioscentros de serviço, mas em que qualquer um dos centros é utilizado apenas uma vez. No entanto,há sistemas em que um ou mais dos seus centros de serviço podem ser utilizados mais do que umavez; nestes casos, estes sistemas são modelados com modelos fechados ou mistos (ver figuraseguinte): (a) abertos, (b) fechados, e (c) mistos.Computação Científica 157

Page 40: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas5.12. Análise de dados de entrada (inputs)5.12.1. IntroduçãoUm dos aspetos mais importantes na implementação de modelos de simulaçao é a forma como secaracterizam os dados de entrada (inputs) do modelo. De facto, o aspeto mais difícil damodelação dos dados de entrada é obter dados com suficiente qualidade, quantidade e variedadede 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çãomais 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.É nestas circunstâncias que são recomendados os seguintes procedimentos de natureza prática:- sempre que possível, recolher entre 100 e 200 observações; para amostras de menoresdimensões é significativa a redução da qualidade da análise; no entanto, para amostras demaiores dimensões os ganhos são marginais;- recolher dados com pelo menos mais um ou duas casas decimais em relação à forma como seexprimem os valores de referência, como por exemplo, a média e a mediana;- quando se está interessado num resultado intermédio entre dois valores observado, deve-secomeçar por recolher esses dados e só depois determinar os resultados pretendidos através decá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 tempoconsiderado, deve-se recolher várias amostras para cada um dos intervalos de tempo ondeocorrem essas variações.No caso de ser possível recolher dados de uma variável aleatória de entrada, a sua utilização emsimulação é, em geral, concretizada em três formas distintas:- os valores são utilizados diretamente na simulação; trata-se de um processo recomendado navalidação do modelo, comparando o resultado (output) com o verificado no sistema; no entanto,não existe, na maior parte dos casos, informação suficiente para se desenvolver um conjunto detestes 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 qualquer;este processo é preferível ao anterior, já que permite, para a situação contínua, a geração deum valor entre os valores máximo e mínimo observados;158 Computação Científica

Page 41: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos- técnicas estatísticas de inferência utilizadas para se ajustarem distribuições teóricas através detestes de hipóteses; é preferível este processo ao anterior, pelas seguintes razões:- a distribuição empírica apresenta algumas irregularidades, em particular se existe umaamostra de dimensão reduzida a moderada;- a distribuição empírica permite apenas a geração de um valor entre um valor mínimo evalor máximo observados;- existem muitas vezes razões de natureza física que a sua ponderação levam à utilização deuma distribuição teórica ajustada aos dados;- uma distribuição teórica é uma forma compacta de representar os dados, sendo fácil dealterar em experiências de simulações alternativas.No entanto, 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 recomendadotruncar a distribuição teórica ajustada.O comportamento aleatório do sistema é recriado no modelo com a caracterização dos dadoscom distribuições de probabilidade. Exemplos de fontes de aleatoriedade:Tipo de sistema Fontes de aleatoriedadeProdução tempos de processamentotempo entre falhas de uma máquinatempo de reparação de máquinastamanho de lotes de encomendaproporção de defeitosComunicações tempo entre chegadas de mensagenstipo de mensagemtamanho da mensagemTransportes tempo de carga de naviostempo entre chegadas de passageiros ao metroA importância da escolha da distribuição é demonstrada pelo seguinte exemplo, correspondentea 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,Computação Científica 159

Page 42: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas– 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 ao tempo de serviço Tempo médio deespera Número médio emespera Proporção de esperas≥ 20 minmin relativo n relativo % relativoExponencialGamaWeibullLog-normalNormal 6.714.544.367.196.04 1.51.01.01.61.4 6.784.604.417.306.13 1.51.01.01.71.4 6.41.91.37.84.5 4.91.51.06.03.4- conclusão: os resultados são muito díspares, apesar de todas as distribuições ajustadas seremestatisticamente válidas.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 umadistribuição teórica a um conjunto de observações, da seguinte forma: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 formaDepois, verificar a distribuição de tempos tipicamente encontrada na prática:– só valores x > 0– assimétrica com cauda à direita5.12.2. Propriedades das distribuições teóricasAs distribuições teóricas podem ser divididas em dois grupos: contínuas e discretas. Por sua vez,as distribuições contínuas mais usadas em simulação são: uniforme, exponencial negativa, normal,log-normal e triangular. As distribuições discretas mais usadas são: empírica e de Poisson.a) Distribuição uniforme (contínua)A distribuição uniforme tem o desenvolvimento gráfico apresentado na figura.160 Computação Científica

Page 43: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosA sua função de densidade pode ser representada por:f (X) = {1b−a , se a ≤X ≤b0 , se X < a ou X > bA sua função de distribuição é dada por:F(X ) = {

0 , se X < a1b−a , se a ≤ X ≤ b1 , se X > bOs parâmetros da distribuição são os seus limites de variação, com a < b e a,b R. Tem média = (a + b) / 2 e variância = (b – a)2 / 12.Os estimadores de máxima verosimilhança dos parâmetros são:a = min1 ≤n ≤i Xi e b = max1 ≤n ≤i XiOu seja, para uma amostra de dimensão n, o menor valor das observações é o estimador de a e ode maior valor o estimador de b.A distribuição uniforme permite modelar uma variável aleatória que se suspeita variar entre a eb (entre os quais os valores são equiprováveis) e sobre a qual pouco mais se conhece. A distribuiçãouniforme entre 0 e 1 é essencial na geração de números pseudoaleatórios e de outras distribuições.b) 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 ≥00 , se X < 0A função de distribuição é dada por:F(X ) = {1 −exp(−X ), se X ≥00 , se X < 0A média e variância desta distribuição são:m e m2.O estimador de máxima verosimilhança de m é calculado aravés de: = X =1n (∑i=1n 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:Computação Científica 161

Page 44: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas- 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 chegadasde clientes a um sistema, o tempo de serviço, o tempo entre falhas de equipamento, etc.c) Distribuição normal (contínua)A distribuição normal (também conhecida por de Gauss ou Gaussiana) tem o desenvolvimentográfico apresentado na figura. A área a azulescuro está a menos de um desvio padrão (σ)da média. Numa distribuição normal, istorepresenta cerca de 68% do conjunto, enquantodois desvios padrões desde a média (azul médioe escuro) representam cerca de 95%, e trêsdesvios padrões (azul claro, médio e escuro)cobrem cerca de 99.7%. Este fato é conhecido como regra 68-95-99.7, ou a regra empírica, ou aregra dos 3-sigmas. Esta distribuição tem uma função de densidade com a estrutura seguinte:f (X) = 1 √2 πexp((X− )222 ), ∀X e > 0onde 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. Os estimadores de máxima verosimilhança da média e do desvio padrão podem ser calculadosatravés dos valores amostrais, de acordo com as expressões seguintes: = X, = [n −1n s2]1 /2 e s2 =

∑i=1n(Xi −X)2n −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); qualquernormal 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 demédia igual à soma das médias e variância igual à soma das variâncias (teorema de limitecentral).- 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 querepresentam a soma de grande número de outras quantidades, etc.162 Computação Científica

Page 45: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosc) Distribuição log-normal (contínua) A distribuição log-normal tem o desenvolvimento gráfico apresentado na figura (para para µ = 0e diferentes valores de σ).A função de densidade desta distribuição representa-se formalmente por:f (X) = { 1X √2πexp(−(ln (X) −)22 2 ), X > 00 , X ≤ 0Nã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. Estadistribuição é válida apenas X > 0, podendo o seu valor médio,variância e moda serem calculados, respetivamente, através de:e +2 , e2+2

(e2−1) e e −2Os valores de máxima verosimilhança para a média e desvio padrão são dados por: =

∑i=1n ln(Xi)n e = √ ∑i=1n(ln(Xi)−)2n .A distribuição log-normal aparece naturalmente como o produto de várias variáveisindependentes (sempre positivas). Esta distribuição está particularmente adaptada para modelar otempo de desenvolvimento de tarefas ou de quantidades iguais à soma de outras quantidades.d) Distribuição triangular (contínua)A sua representação gráfica é a apresentada na figura.A sua função de densidade pode ser representadaformalmente por:f (X) = {

2(X −a)(b −a)(c −a)

, se a ≤ X ≤ c2(b −X)(b −a)(b −c)

, se c < X ≤ b0 , outro valorComputação Científica 163

Page 46: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasA função de distribuição tem representação explícita dada por:F(X ) = {0 , X < aX −a(b −a)(c −a)

, se a ≤ X ≤ c1 −(b −X)2

(b −a)(b −c), se c < X ≤ b1 , outro valorOs parâmetros a, b e c são números reais, tais que a < c < b, e onde a é um indicador delocalizaçã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, respetivamente:a+b+c3 , a2+b2+c2 −ab −ac −bc18 e c.Esta distribuição é indicada para representar acontecimentos onde não existem dados, masapenas estimativas de tarefas ou de quantidades do valor mínimo a, máximo b e mais provável c. e) 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 servalores 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 porX1 ≤ X2 ≤ ... ≤ Xn- no caso de uma variável discreta, a função de distribuição é calculada através deF(X ) = {

0 , X < X1kn , se Xk ≤X ≤Xk+11 , se X ≥XnExemplo:Admita-se que se recolheu os seguintes dados relativos ao intervalo de tempo entre chegadasde clientes a um serviço (minutos):5, 10, 8, 7, 10, 3, 2, 9, 5, 9Ter-se-à então:2, 3, 5, 5, 7, 8, 9, 9, 10, 10164 Computação Científica

Page 47: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosO que dará origem aos valores apresentados na tabela seguinte (função densidade acumuladapara uma distribuição empírica):Xn 2 3 5 7 8 9 10F(X) 0.10 0.20 0.40 0.50 0.60 0.80 1.001/10 1/10 2/10 1/10 1/10 2/10 2/10Ao ser admitida a distribuição como contínua, os valores de F(X) poderão ser determinadosatravés de uma função de interpolação definida por:F(X ) = {0 , se X < X1k −1n−1 +

X −Xk(n −1)(Xk+1 −Xk)

, se Xk ≤X <Xk+11 , se X ≥XnPara o exemplo anterior ter-se-à:F(4) = 2 −17 −1 + 4 −3(7 −1)(5 −3)

= 0.25F(6) = 3 −17 −1 + 6 −5(7 −1)(7 −5)

= 0.42No caso da agregação ser realizada em k intervalos adjacentes [a0, a1), [a1, a2), ..., [ak-1, ak) detal forma que o intervalo j contém nj observações e n1 + n2 + ... + nk = n. Então, é possíveldeterminar-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 < a0G(aj−1) +

X −aj−1aj −a j−1 (G(aj) −G(aj−1)), com aj−1≤X < a j para j = 1, 2, ... , k1 , se X ≥akf) Distribuição de Poisson (discreta)A representação gráfica da função de densidadeda distribuição de Poisson é a apresentada nafigura (para vários valores de l).A distribuição de Poisson apresenta uma funçãode densidade que formalmente poderá serrepresentada por:P(X ) = {exp (−λ) λXX! , X = 0, 1, 2, 3, ...0 , outro valor .Computação Científica 165

Page 48: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasA função de distribuição tem a estrutura:P(X ) = {0 , X < 0exp (−λ) ∑k=0[X ]

λkk ! , X ≥0onde [X] indica a parte inteira de X.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:

λ = XA 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 demédia b unidades de tempo, a probabilidade de se verificarem n acontecimentos no intervalo detempo 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 demé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 acontecimentosque se concretizam durante um certo período de tempo com uma taxa média de ocorrênciaconstante (por exemplo, o número de chegadas ou serviços).5.12.3. Análise estatística dos dados de entrada (inputs)Verificação de independênciaExistem métodos heurísticos que são, na maior parte dos casos, efetivos na deteção daindependê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 departida para as distribuições estatísticas dos valores recolhidos. A utilização de testes nãoparamétricos tem validade limitada.166 Computação Científica

Page 49: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosA função de correlação linear (ACFk) para vários desfasamentos k pode ser estimada através de:ACFk =

∑t=k+1n(Xt − X ) (Xt−k − X )

∑t=1n(Xt − X )2Note-se que Xt representa a observação da amostra recolhida no instante t, implicando adeterminação da auto-correlação uma ligação estreita ao instante de tempo em que se capta ovalor da variável em análise.A verificação das independência entre os valores obtidos em simulação é fundamental, uma vezque, no caso de ser observada, poderá conduzir a uma estimativa da variância da variável emestudo enviesada. Embora se continue a verificar que X é um estimador centrado de m, s2 é nãocentrado em relação a s2.O desvio padrão da função de auto-correlação linear é dada aproximadamente por:SACFk =

(1 + 2∑i=1k ACFi2)1/2√nonde n representa a dimensão da amostra utilizada e ACFk2 o quadrado das várias auto-correlaçõesestimadas para o conjunto de desfasamentos.Refira-se, no entanto, que o teste indicado é válido para um valor de n suficientemente grande,considerando que a distribuição de ACFk é aproximadamente normal. Este facto permite aconstrução do intervalo de confiança para a hipótese nula (onde se admite que ACFk, k são nulos).Verifica-se que, ao se admitir a hipótese nula, é possível constatar que:SACFk 1

√n , kVerificação da estabilidade da distribuiçãoEsta questão refere-se à possibilidade de se constatar que a distribuição de probabilidade doprocesso 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ênciade estabilidade, admite-se que apresente pequenas variações em torno de um valor médio semalterações sistemáticas (por exemplo, tendência marcada) ou bruscas (por exemplo, nível semmudanças significativas). É prática corrente agregar os valores através de uma média móvel, asua representação gráfica deverá também também ser aproximadamente constante, já que sefiltram algumas variações que possam ter origem em situações casuais.Computação Científica 167

Page 50: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de Sistemas- 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çãoseguinte, verifica-se a não existência de alterações bruscas o que permite inferir a estabilidadeda distribuição.HistogramasAntes de se usar testes formais para julgar o grau de adaptação de distribuições teóricas aosresultados obtidos através de amostragem, torna-se importante analisar a estrutura gráfica dohistograma, uma vez que permite sugerir a distribuição (ou distribuições) que potencialmentepoderão ser ajustadas. Esta representação gráfica consiste em dividir o domínio da variável sujeitaa amostragem num conjunto de intervalos disjuntos, para os quais se estimam as percentagens derealizações concretizadas em cada um deles.Por exemplo, considere-se a modelação e simulação de um sistema com uma fila de esperadurante 500 minutos (os tempos entre chegadas e de serviço seguem distribuições exponenciais er = 0.9); os intervalos de tempo em que se verificaram as chegadas são apresentados em função dovalor acumulado dos eventos observados até ao instante t; os resultados são apresentados nohistograma seguinte.t 3 8 15 28 30 41 51 75 113 119 121 122 131 143 145 147 149 150VA 0.02 0.04 0.06 0.08 0.09 0.11 0.13 0.15 0.17 0.19 0.21 0.23 0.25 0.26 0.28 0.30 0.32 0.34t 157 164 175 178 185 189 201 217 228 233 240 245 257 262 266 276 278 286VA 0.36 0.38 0.40 0.42 0.43 0.45 0.47 0.49 0.51 0.53 0.55 0.57 0.58 0.60 0.62 0.64 0.66 0.68t 295 296 302 304 317 323 338 362 374 392 413 425 426 434 443 489 494VA 0.70 0.72 0.74 0.75 0.77 0.79 0.81 0.83 0.85 0.87 0.89 0.91 0.92 0.94 0.96 0.98 1.00O primeiro passo consiste na determinação do número de intervalos a considerar, de forma a seobter um histograma com grande clareza. Uma das regras mais usada é a enunciada por Sturges, emque 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. A metodologia para setraç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ãoapresentados os valores calculados por vários tamanhos de amostra.n 10 20 50 100 200 1000 10000k 5 6 7 8 9 11 15- Calcular os limites de cada intervalo q(i), utilizando:q(i) = minimo (X1, ... ,Xn) + i [máximo(X1,... ,Xn)− minimo(X1 , ..., Xn)k ]168 Computação Científica

Page 51: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretospara i = 1, 2, ..., k. É razoável ajustar o valor de q(i) manualmente para números inteiros deforma a se interpretar com mais facilidade o gráfico.- Determinar a percentagem de pontos amostrais que ficam contidos em cada intervalo. Se houverpontos que coincidem com os limites de intervalo, os valores devem ser considerados nointervalo superior. Contabilizar os pontos da amostra menor e maior no intervalo inferior esuperior, respetivamente.- Representar graficamente cada intervalo e a sua respetiva frequência.Por exemplo, considere-se os intervalos de tempo entre chegadas apresentados na tabela que sesegue.Observ. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17Xi 6.2 48 8.4 21 6.3 35 15 7.2 55 7.7 2.5 16 18 8.4 22 8.9 44Observ. 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34Xi 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.2Observ. 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50Xi 5.2 8.5 28 1.9 20 72 16 29 14 12 20 62 16 13 5.1 12Neste caso, ter-se-à Max Xi = 72; Min Xi = 0; n = 50.Assim, o número de intervalos a considerar de acordo com a tabela associada à regra de Sturgesserão 7, pois n = 50. Desta forma, pode-se definir os seus limites de acordo com o que se a seguir seespecifica: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, e como 72 é o único valor acima de 70, este valor pode serconsiderado dentro do intervalo [60, 70[.Estes intervalos dão origem aos valores apresentados na tabela seguinte (% dos valores da mostranos intervalos): Intervalo ni %1 26 522 11 223 6 124 1 25 3 66 1 27 2 4Computação Científica 169

Page 52: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasOriginando as seguintes probabilidades acumuladas:Intervalo ni Probabilidade acumulada1 26 0.522 11 0.743 6 0.864 1 0.885 3 0.946 1 0.967 2 1.00Testes estatísticos de aderênciaUm teste estatístico de aderência (teste de hipóteses) permite verificar formalmente se umadistribuiçã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.5.12.4. Geração de número aleatóriosUm gerador de números aleatórios é um gerador que produz sequências de números de acordocom 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 osnúmeros são igualmente prováveis).Um número inteiro aleatório é uma observação aleatória de uma distribuição uniforme discretasobre 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ínuauniforme 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.Em geral, os geradores produzem sequências de números inteiros mas podem ser facilmenteconvertidos para números aleatórios uniformes. Por exemplo, para um número aleatório uniformeem [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.170 Computação Científica

Page 53: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosOs números aleatórios, gerados em computador, não são realmente aleatórios pois, como se verámais adiante, eles são gerados em sequências que podem ser reproduzidas, o que viola o princípiobásico da aleatoriedade. Como contornar este fato? Se os números passam por uma série de testesestatísticos de aleatoriedade então, para efeitos práticos, podem ser considerados como se fossemrealmente 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 denúmeros pseudoaleatórios.Um gerador de números aleatórios deveria possuir as seguintes características: aleatoriedade,grande período e eficiência computacional.Aleatoriedade. É essencial que a sequência gerada exiba as propriedades dos númerosverdadeiramente aleatórios. Este comportamento aleatório deve ser confirmado por testesestatísticos.Grande período. Todos os geradores de números aleatórios utilizam fórmulas determinísticasprecisas para os determinar. Estas fórmulas fazem com que a partir de um valor inicial, chamadosemente, seja gerada uma sequência de números aleatórios (ou melhor, pseudoaleatórios). Noentanto, num determinado ponto da sequência, volta-se à semente, fazendo com que a sequênciase repita, pois é gerada por uma fórmula. A quantidade de números gerados até a sequenciacomeçar a se repetir é chamada de Período. O período deve ser o maior possível; para efeitospráticos o período deve ser, no mínimo, grande o suficiente para não se repetir durante umasimulação.Eficiência computacional. Desde que um estudo de simulação necessite que um grande númerode variáveis aleatórias sejam geradas, o gerador de números aleatórios deve gerar estes númerosgastando o mínimo de tempo de computador. Além disto, o gerador não deve usar muita memória,apesar de, com a evolução dos computadores, esta propriedade esteja a perder a sua importância.5.12.5. Métodos para gerar números aleatóriosa) Método do Meio do QuadradoFoi um dos primeiros métodos de geração de números aleatórios e foi proposto por John VonNeumann (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 kalgarismos do meio que irão formar o próximo número da sequência; este número é então tambémelevado ao quadrado do qual é extraído os k dígitos do meio formando o próximo número dasequência; e assim por diante.Este é um algoritmo determinístico, pois sempre que a semente for repetida a sequência denúmeros gerada será a mesma.Computação Científica 171

Page 54: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasExemplo: - fazendo k = 2, tem-se:r1 = 76 => 762 = 5776 r2 = 77 => 772 = 5929 r3 = 92 => 922 = 8464r4 = 46 => 462 = 2116 r5 = 11 => 112 = 0121 r6 = 12 => 122 = 0144r7 = 14 => 142 = 0196 r8 = 19 => 192 = 0361 r9 = 36 => 362 = 1296r10 = 29 => 292 = 0841 r11 = 84 => 842 = 7056 r12 = 5 => 52 = 0025r13 = 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.Problemática: este algoritmo traz diversas desvantagens: a primeira é que a sequência denúmeros gerada tende a se repetir após poucas iterações, a segunda é que no caso do meio doquadrado coincidir com uma sequência de zeros, então o algoritmo termina (neste caso, deve-seusar uma nova semente e recomeçar o processo).Solução proposta e otimização: uma solução é, a cada iteração do algoritmo, somar à semente onúmero sequencial desta iteração elevado ao quadrado. Assim, tem-se um deslocamentoexponencial do alcance numérico gerado para a semente.b) 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 denúmeros inteiros aleatórios no intervalo de 0 a m-1, os quais são obtidos da relação recursiva:r i+1 = (a ri + c) mod mem que,mod é a função "módulo" que mostra o resto da divisão inteira entre dois números inteiros (porexemplo, 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.Se c = 0, o método é chamado de Congruência Multiplicativa. Embora haja várias combinaçõesde a e m aceitáveis para este caso, a combinação mais conhecida é devida a Learmouth-Lewis:r i+1 = (75 r i + c) mod (231 − 1).Se a = 1 e c é um dos números aleatórios que precedem rn na sequência, o método é chamadode Congruência Aditiva.172 Computação Científica

Page 55: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosO Método da Congruência Linear (c ≠ 0), por gerar números aleatórios que tendem a ter maisdificuldades em passar nos testes estatísticos de aleatoriedade dos que os gerados pelo daCongruência Multiplicativa (c = 0), é muito pouco usado atualmente.A fórmula congruente é necessária para se gerar números aleatórios, mas não suficiente. Aseleção dos valores de a, c, e m afeta drasticamente as propriedades estatísticas da geração bemcomo o tamanho do período.Algoritmo:Passo1: Escolher os valores a, c e m. Deve-se escolher o maior número possível para m;Passo2: Escolher a semente r0, tal que 1 ≤ r0 ≤ m;Passo3: Calcular o próximo número aleatório usando a expressão anterior aplicada a rPasso4: Substituir r0 por r1 e voltar ao Passo3, de modo a construir a sequência de númerosaleatórios desejada.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 / 1701234 71316914 9 x 7 + 1 = 649 x 13 + 1 = 1189 x 16 + 1 = 1459 x 9 + 1 = 829 x 14 + 1 = 127 13169148 13/17 = 0.764716/17 = 0.94129/17 = 0.529414/17 = 0.82358/17 = 0.4706- A sequência construída foi a seguinte: 7, 13, 16, 9, 14 e 8. Esta sequência é composta pornúmeros pseudoaleatórios inteiros entre 0 e 16 (= 17 – 1).- A última coluna contém uma sequência de números pseudoaleatórios entre 0 e 1.5.12.6. Métodos para gerar observações aleatóriasUma 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úmerouniformemente distribuídoentre 0 e 1;2. utilizando uma função derepartição da distribuiçãode probabilidade desejada,transforma-se o númeroaleatório sorteado em 1num valor segundo adistribuição de probabilidade desejada.Computação Científica 173

Page 56: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasAlgumas das distribuições (e métodos) mais utilizadas são as seguintes:– Distribuições discretas (método trivial)– Para a distribuição Erlang (gama)– Distribuição Normal (soma de n uniformes)– Chi-quadrado a partir da normal– Método de aceitação-rejeição5.13. Análise de resultados (outputs)A análise de resultados consiste na estimação, ou caracterização estatística, das verdadeirasmedidas 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 resultadoscomo “A resposta”.5.13.1. Medidas de desempenho típicasMedidas 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 processamentoMedidas 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)174 Computação Científica

Page 57: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosO cálculo das medidas de desempenho segue a tabela seguinte:Medida de desempenho Definição EstimativaTempo médio de esperadas entidades na fila d(n) = limn ∑i=1n Din d(n) =

∑i=1n DinNúmero médio deentidades na fila q(n) = ∑i=0(i .pi) q(n) =

∑i=0(i .T i)T(n)Taxa de ocupação doservidor u(n) u(n) = ST(n)em que,n : número de entidades simuladasT(n) : tempo total da simulação até observar as n entidadesDi : tempo de espera na fila da entidade ipi : 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 ocupadoS : intervalo de tempo em que o servidor esteve ocupado (S ≤ T(n))Por amostragem, número médio de entidades na fila é estimado pela expressãoq2(n) =

∑k=0K ckKem que,K : número de observações efetuadas no tempo T(n)ck : número de entidades na fila na observação kNíveis de variabilidade dos resultados da simulaçãoDois níveis de variabilidade dos resultados da simulação:1. Numa corrida variabilidade entre entidades2. Entre corridas independentes variabilidade entre períodos de tempoExemplo 1: Número total de peças produzidas– é um valor único de uma corrida, mas varia entre corridas– numa corrida resulta de uma contagem– entre corridas calcula-se a médiaComputação Científica 175

Page 58: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasExemplo 2: Tempo médio de espera na fila– o tempo de espera varia de entidade para entidade– numa corrida calcula-se a média dos tempos das entidades– entre corridas calcula-se a média das médiasIntervalo de confiança para a média de uma variável aleatóriaComo caracterizar a variabilidade entre corridas de X?– X: medida de desempenho que se pretende estimar– N: número de corridas do modelo (com números aleatórios independentes)O valor esperado da média amostral, ou “média de longo prazo”, de X pode ser estimado a partirde N observações independentesCom nível de confiança de 95% (α = 5%):– grandes amostras (N > 25), distribuição qualquerX z(α /2) (S /√N)- pequenas amostras, distribuição normalX tN−1(α/2) (S/√N)em queX =1N ∑i=1N Xi (média da amostra)S = √ 1N −1 ∑i=1N

(Xi −X )2 (desvio padrão da amostra)z(a = 5%) = 2t(a = 5%, N = 4) = 2.8z(a = 5%) = 25.13.2. Análise de resultados de um sistemaParâ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ísticas2. 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 deste176 Computação Científica

Page 59: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretos3. 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 temposindependentes– mais repetições maior precisão dos intervalos de confiançaA simulação como técnica de amostragem estatística

Computação Científica 177

Page 60: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasSeleção dos parâmetros de recolha de resultadosComo 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áquinasComo selecionar o número decorridas da simulação?1. Começar com 5 corridas independentes de cada cenário2. Determinar IC para as medidas de desempenho de interesse para o estudo3. 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 corridas5.13.3. Comparação de configurações alternativas de um sistemaComparação entre duas configurações, ou cenários, avaliadas por medidas de desempenhocorrespondentes, X1 e X2, dadas pelos intervalos de confiança:IC1 : x1 12 IC2 : x2 22 Obter estas medidas com as mesmas sequênciasde números aleatórios em ambos os cenáriosem que:∆1 < ∆2 menor amplitude: menor variabilidade de X1, comportamento mais regular daconfiguração 1IC1 IC2 = intervalos disjuntos: com nível de confiança de 95% pode dizer-se que as duasconfigurações têm distintos desempenhosIC1 IC2 ≠ intervalos que se intersectam: não pode ser rejeitada a hipótese de asmedidas X1e X2 terem o mesmo valor!178 Computação Científica

Page 61: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação dinâmicos discretosExemplo - Comparação de LayoutsConsidere-se a tabela que se segue, onde constam o número de peças produzidas por semana.Corrida 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15Cenário 1 293 274 196 254 203 228 234 228 300 210 234 216 218 315 239Cenário 2 261 264 230 287 287 316 285 257 273 334 242 320 301 292 288Corrida 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30Cenário 1 246 189 220 229 259 273 265 248 280 232 212 238 300 287 254Cenário 2 271 274 285 253 265 239 298 223 319 235 260 225 188 246 298Como estimar a quantidade de produção semanal?– dois cenários: dois layouts propostos para a fábrica– 30 corridas independentes com duração = 1 semana + warm-up– os resultados variam entre corridas:Min Max Média DPCenário 1 169 315 245.8 33.1Cenário 2 188 334 270.5 33.3– o desvio padrão (DP) mede a variabilidade dos resultados individuais entre corridas.Qual a segurança de adotar a média observada como estimativa da produção semanal?– intervalo de confiança para a Média, com 95% de confiança:– Media 2 (DP/√N)DP/√N Intervalo confiançaCenário 1 33.1 /√30 = 6.0 245.8 12.0 = [233.8, 257.8]Cenário 2 33.3 /√30 = 6.1 270.5 12.2 = [258.3, 282.7]Interpretação do resultado do exemploSignificado do IC da média amostral– caracteriza a produção mensal a longo prazo– eventualmente numa semana particular a produção pode não cair dentro do IC– mas com 95% de confiança a produção média de “muitas” semanas ficará no ICComparação de alternativasa) se os intervalos de confiança forem disjuntos: as alternativas diferemb) se os intervalos de confiança se intersectarem: as alternativas não se distinguemComputação Científica 179

Page 62: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação dinâmicos discretos Modelação e Simulação de SistemasComo selecionar o número de corridas da simulação para comparar cenários?1. Começar com 5 corridas independentes de cada cenário2. Determinar IC para a média de ambos os cenários3. Verificar se há intersecção dos IC4. Se houver, aumentar o número de corridas para verificar se os IC se separam6. Modelos de simulação contínuosNum modelo de simulação contínuo as variáveis de estado são dependentes e mudamcontinuamente no tempo. Este tipo de modelo de simulação é construído pela definição dasequações que definem as relações entre as suas variáveis de estado, cujo comportamento dinâmicosimula o sistema real. Habitualmente o modelo de simulação envolve equações diferenciais quedefinem as taxas de variação das variáveis de estado com o tempo. Estes modelos utilizam técnicasde integração numérica de equações intratáveis analiticamente, como sejam os métodos de Euler ede Runge-Kutta.7. Modelos de simulação estáticos - método de Monte CarloOs modelos de simulação estáticos caracterizam-se por a passagem do tempo ser irrelevante.7.1. O método de Monte Carlo (ou simulação de Monte Carlo)É um modelo de simulação estático usado para modelar fenómenos probabilísticos cujascaracterísticas não mudam com o tempo. Este modelo necessita de números pseudoaleatórios, talcomo os modelos de simulação dinâmicos, e pode também ser usado para avaliar expressões nãoprobabilísticas através de métodos probabilísticos.A simulação de Monte Carlo tem sido reconhecida como uma ferramenta de grande utilidadepara os decisores tratarem situações sujeitas ao risco nos seus projetos de investimento. Noentanto, no passado, o seu uso foi limitado principalmente pela necessidade de programação e deequipamento computacional. Com o recente avanço dos computadores pessoais e desenvolvimentode softwares tais como folhas de cálculo sofisticadas e programas de computador específicos, estatécnica tem se tornado mais acessível aos tomadores de decisão.A cidade de Monte Carlo, Mónaco, é um lugar onde os casinos são a principal atração. Jogoscomo a roleta, dados, etc, exibem um comportamento aleatório, em que este comportamentoaleatório de jogos é similar à forma como a simulação de Monte Carlo funciona. Por exemplo,quando se rola um dado, sabe-se que os possíveis valores são 1, 2, 3, 4, 5 e 6. No entanto, não sesabe qual vai ser o resultado do dado para uma jogada em particular. Da mesma forma acontececom as variáveis da simulação, onde se conhece a faixa de valores possíveis, mas não se sabe ovalor específico para um dado tempo ou evento. 180 Computação Científica

Page 63: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação estáticos - método de Monte CarloA simulação de Monte Carlo aleatória gera inúmeros valores para variáveis consideradas incertas,simulando assim combinações de valores dessas variáveis que levam a resultados que são o foco daanálise. No caso de análise de rentabilidade de projetos de investimento, cada simulação é como seo projeto tivesse sito executado e atingido uma determinada rentabilidade. As várias simulaçõesgeram então uma série de valores possíveis de rentabilidade que permitem ao decisor analisar orisco daquele projeto sob as condições que ele foi elaborado e modelado no computador.7.2. 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 osintervalos de valores (ou os próprios valores) e 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.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úmerosAleató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.7.3. ExemploConsidere-se uma lavagem automática e analise-se o tempo entre chegadas de carros.Passo 1. Recolha de dados brutos13.6 27.9 1.1 12.3 9.7 12.7 15.3 4.1 13.5 0.710.8 29.5 5.8 9.9 6.1 5.5 7.7 17.4 7.7 26.415.9 5.9 11.6 2.7 2.9 1.7 4.6 35.5 15.8 17.50.6 4.0 18.1 21.8 3.8 14.6 12.9 8.5 0.4 2.533.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.910.9 24.4 1.0 28.1 2.0 42.7 29.9 4.9 3.1 8.10.4 10.4 8.1 2.7 13.0 0.7 4.8 2.8 4.3 3.428.5 28.4 3.0 15.5 17.3 1.6 17.7 1.2 13.4 14.114.9 4.3 1.6 0.6 6.9 22.6 10.2 7.3 3.8 10.4Os valores marcados correspondem aos extremos (menor = 0.3 e maior = 42.7).Computação Científica 181

Page 64: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação estáticos - método de Monte Carlo Modelação e Simulação de SistemasPasso 2. Tabular os dados - identificar os intervalos e determinar as suas frequências.Processo de elaboração do histogramaDeterminação o número de intervalos. Aproximação sugerida: raiz quadrada do número deobservações realizadas (método empírico). Ex: para as 100 tempos da tabela em cima, umnú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 9intervalos (de amplitude 5): ]0, 5], ]5, 10], ]10, 15], ]15, 20], ]20, 25], ]25, 30], ]30, 35], ]35, 40] e]40, 45]. 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]25, 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/100TOTAL 100 1.00Passo 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]25, 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.5TOTAL 100 1.00182 Computação Científica

Page 65: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelação e Simulação de Sistemas Modelos de simulação estáticos - método de Monte CarloPasso 4. Calcular a frequência acumulada:Intervalo Observações Ponto médio Frequência Frequê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]25, 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.00Passo 5. Identificar os intervalos de frequência:Intervalo Observações Ponto médio Frequência Frequê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]]25, 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.00Passo 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úmerosaleatórios, ou GNA).Os valores sorteados são uniformemente distribuídos 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 ...... ... ... ... ... ...Como usar?Escolher os dois últimos algarismos de cada número, percorrendo a tabela da esquerda para adireita e de cima para baixo. Exemplo: o primeiro número a ser escolhido é 43Computação Científica 183

Page 66: Capítulo 4. Modelação e Simulação de Sistemas - di.ubi.ptcbarrico/Disciplinas/ComputacaoCientifica/Downloads... · A simulação de sistemas Modelação e Simulação de Sistemas

Modelos de simulação estáticos - método de Monte Carlo Modelação e Simulação de SistemasTabela reduzida, usada para obter os valores: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]]25, 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.007.4. Exercício - Admissão de utentes numa urgência.Pretende-se dimensionar, através de simulação, a quantidade de rececionistas da Urgência deum Centro de Saúde. Para tal será necessário simular o sistema durante vários meses. Devido àinviabilidade de se simular tanto tempo com dados reais, será necessário gerar os valores por meiodo método de Monte Carlo. Desta forma, partir dos dados da tabela que se segue, obtidos atravésde 50 cronometragens de intervalos entre chegadas dos utentes (em minutos), construir a tabela deintervalos de frequências e, através da tabela de números aleatórios fornecida, encontrar 10números, que serão usados para iniciar a simulação.18.9 20.1 16.1 19.8 15.1 15.3 19.4 16.1 17.3 15.015.1 17.5 21.1 14.7 21.8 10.7 20.6 15.0 16.9 19.718.1 18.5 16.7 14.2 12.9 16.0 12.4 16.2 14.9 14.811.8 16.8 17.2 15.5 17.6 14.2 21.2 11.6 16.0 20.715.4 14.0 16.0 17.6 16.8 15.9 15.6 16.8 18.9 15.2184 Computação Científica