Modelação e Simulação de Sistemas - Tópicos Modelação e Simulação de Sistemas - Tópicos - A simulação de sistemas - Modelos de simulação - Propriedade

Tamanho: px
Começar a partir da página:

Download "Modelação e Simulação de Sistemas - Tópicos Modelação e Simulação de Sistemas - Tópicos - A simulação de sistemas - Modelos de simulação - Propriedade"

Transcrição

1 Modelação e Simulação de Sistemas - Tópicos Modelação e Simulação de Sistemas - Tópicos - A simulação de sistemas - Modelos de simulação - Propriedades dos modelos de simulação - Classificação dos modelos de simulação - Modelos de simulação dinâmicos discretos - Modelos de simulação contínuos - Simulação discreta e contínua combinada - Modelos de simulação estáticos Capítulo 4. Modelação e Simulação de Sistemas 1/21

2 Modelação e Simulação de Sistemas - Tópicos Modelação e Simulação de Sistemas - Tópicos - A simulação de sistemas - Modelos de simulação - Propriedades dos modelos de simulação - Classificação dos modelos de simulação - Modelos de simulação dinâmicos discretos - Modelos de simulação contínuos - Simulação discreta e contínua combinada - Modelos de simulação estáticos: Método de Monte-Carlo Capítulo 4. Modelação e Simulação de Sistemas 2/21

3 A simulação de sistemas A simulação de sistemas - A simulação computacional de sistemas, ou simplesmente simulação, consiste na utilização de determinadas técnicas matemáticas, utilizadas em computadores digitais, as quais permitem imitar o funcionamento de praticamente qualquer tipo de operação ou processo (sistemas) do mundo real. - Definição formal: Simulação é o processo de - projetar um modelo computacional de um sistema real e - conduzir experiências com este modelo com o propósito de - entender o seu comportamento e/ou - avaliar estratégias para a sua operação. Desta forma, entende-se a simulação como um processo mais amplo, para - descrever o comportamento do sistema; - construir teorias e hipóteses considerando as observações efetuadas; - usar o modelo para prever o comportamento futuro do sistema, com alterações no sistema. Capítulo 4. Modelação e Simulação de Sistemas 3/21

4 A simulação de sistemas - As razões de usar modelos de simulação: - Sistema real inexistente - a simulação poderá ser usada para planear o futuro sistema; por exemplo, um novo hospital ou uma nova fábrica. - Experimentar com o sistema real é dispendioso - o modelo poderá indicar, com custos muito mais baixos; por exemplo, quais os benefícios de se investir num novo equipamento. - Experimentar com o sistema real não é apropriado - exemplos típicos são os planeamentos - do atendimento de situações de emergência e - da assistência a um desastre aéreo num aeroporto. Não se pode provocar um desastre para testar planos de emergência. Capítulo 4. Modelação e Simulação de Sistemas 4/21

5 A simulação de sistemas - As técnicas usadas são facilmente compreensíveis e justificáveis, devido a vários fatores: - Tempo: - é possível realizar experiências, que se realizadas sobre o sistema real consumiam anos; - Custo: - geralmente o custo de execução é muito baixo, quando comparado com custo sobre o sistema real; - Impossibilidade de experimentação direta: - experiências diretas no sistema real não podem ser realizadas por questões de segurança, tempo, acesso, inexistência, etc.; - Visualização: - os computadores oferecem recursos que facilitam a visualização dos resultados de uma simulação e o estado do sistema durante a execução do modelo; - Repetição: - depois de construído, o modelo de representação pode ser executado várias vezes a um custo muito baixo e de forma relativamente rápida; - Interferência: - mais flexível para a realização de mudanças do que o sistema real; - Semelhança com o realidade: - a perceção de que o comportamento do modelo de simulação é muito semelhante ao sistema real. Capítulo 4. Modelação e Simulação de Sistemas 5/21

6 A simulação de sistemas - Os modelos de simulação podem ser considerados como uma descrição de sistemas reais. - A execução de modelos de simulação em computador tem potencial para fornecer resultados muito precisos, sem ser necessário interferir no sistema real. - Tais resultados, quando analisados estatisticamente, produzem informações que podem contribuir grandemente para a tomada de decisões que visam a resolução de problemas. - Considerando os modelos de simulação como um dos métodos de representação de sistemas, pode ser adotado o seguinte conceito: Simulação é uma técnica numérica para realizar experiências num computador digital, a qual envolve certos tipos de modelos lógicos que descrevem o comportamento de um sistema sobre extensos intervalos de tempo. Capítulo 4. Modelação e Simulação de Sistemas 6/21

7 Modelos de simulação Modelos de simulação - A simulação de sistemas pode ser dividida nas seguintes etapas básicas: - Problema: - identificação do problema apresentado pelo sistema em estudo e das partes (subsistemas) que interferem no problema (envolve recolha de amostras); - Estudo do sistema: - descrever o sistema em termos de componentes, atividades, entidades, eventos e restrições, propósitos que motivaram o uso da simulação; - Modelo: - construção do modelo de representação do sistema em estudo, o qual precisa ser validado; - Solução: - realizar experiências sobre o modelo construído e utilizar as informações resultantes para propor soluções para o problema real; - Operacionalizar solução: - executar alterações no sistema real com base nos resultados da simulação. Capítulo 4. Modelação e Simulação de Sistemas 7/21

8 Modelos de simulação - Os objetivos essenciais do estudo das técnicas de simulação de sistemas concentram-se principalmente - nas atividades de estudo do sistema real, - na construção do modelo e - na execução de experiências sobre o modelo. Capítulo 4. Modelação e Simulação de Sistemas 8/21

9 Modelos de simulação - Sistema Modelos de simulação - Sistema - O que é um sistema? - Quais são os sistemas passíveis de serem modelados e analisados através da simulação? - Para Taylor, um sistema pode ser definido como um conjunto de objetos, como pessoas ou máquinas, por exemplo, que atuam e interagem com a intenção de alcançar um objetivo ou um objetivo lógico. - São inúmeros os sistemas que podem ser resolvidos usando modelos de simulação, como: - Sistemas de produção: - manufaturação e montagem; movimentação de peças e de matéria prima; alocação de mão de obra; - Sistemas de transporte e gestão de stocks: - redes de distribuição; armazéns e entrepostos; frotas; - Sistemas computacionais: - redes de computadores; redes de comunicação; gestores de bases de dados; - Sistemas administrativos: - seguradoras; operadores de crédito; agências financeiras; - Sistemas de prestação de serviços diretos ao público: - hospitais; bancos; restauração; serviços de emergência; serviços de assistência jurídica; Capítulo 4. Modelação e Simulação de Sistemas 9/21

10 Modelos de simulação - Modelo Modelos de simulação - Modelo - Através da execução de um modelo, é possível fazer uma estimativa do comportamento futuro deste sistema esta execução chama-se Simulação. - A experimentação não se pode comparar à simulação: - a experimentação é caracterizada por tentativas de mudanças no próprio sistema, a simulação é executada sobre uma representação do sistema; - a experimentação pode ter um custo muito elevado, o que justifica, na maioria dos casos, a construção de modelos de simulação. - Perante os resultados da execução de um modelo de simulação, - são realizadas análises de novas situações sobre as quais se tem pouco conhecimento, o que permite - fornecer dados para a conceção de novas regras ou - o ganho de experiência no projeto do próprio modelo. Capítulo 4. Modelação e Simulação de Sistemas 10/21

11 Modelos de simulação - Modelo - Os modelos - devem também incorporar elementos reais de forma simples, - mantendo uma relação custo x benefício coerente. - Deve-se evitar a construção de um modelo - muito complexo, que dificulte ou impossibilite, a sua compreensão e manipulação, ou - demasiado simples, que não represente as propriedades desejáveis do sistema em estudo. Capítulo 4. Modelação e Simulação de Sistemas 11/21

12 Propriedades dos modelos de simulação Propriedades dos modelos de simulação - Um modelo deve conter os aspetos importantes do sistema real, em que a sua complexidade - deve possibilitar a compreensão do modelo, e - deve possibilitar a manipulação do modelo. - Essa característica pode ser difícil de ser alcançada, pois - modelos realistas raramente são simples, e - modelos simples raramente são realistas. - No que se refere aos modelos matemáticos para simulação em computadores, estes são constituídos por 4 elementos: - componentes, - variáveis, - parâmetros e - relações funcionais. Capítulo 4. Modelação e Simulação de Sistemas 12/21

13 Elementos de um modelo de simulação Elementos de um modelo de simulação - Componentes - representam a parte do modelo sobre a qual são realizados os estudos; - tendem a variar muito, dependendo do sistema que está sendo simulado; - por exemplo, num sistema de gestão de redes, as componentes podem ser: - os objetos geridos, - os agentes de gestão e - as aplicações geridas Capítulo 4. Modelação e Simulação de Sistemas 13/21

14 Elementos de um modelo de simulação - Variáveis - são utilizadas para relacionar os componentes entre si; - podem ser classificadas como: exógena, de estado e endógena. - Variáveis exógenas - são as variáveis independentes ou de entrada do modelo; - podem ser classificadas como controláveis e não controláveis; - as controláveis são as que podem ser manipuladas ou controladas; - as não controláveis são geradas pelas circunstâncias nas quais o sistema modelado existe. - Variáveis de estado - descrevem o estado do sistema ou dos seus componentes. - Variáveis endógenas - são as dependentes ou de saída do sistema. Capítulo 4. Modelação e Simulação de Sistemas 14/21

15 Elementos de um modelo de simulação - Parâmetros - são variáveis exógenas controláveis; - devem ser determinados pelas condições do problema ou pelas entidades encarregues da decisão. - Relações funcionais - descrevem as interações das variáveis com os componentes. Capítulo 4. Modelação e Simulação de Sistemas 15/21

16 Classificação dos modelos de simulação Classificação dos modelos de simulação - Os modelos de simulação são classificados em três grupos: - determinísticos ou estocásticos, - estáticos ou dinâmicos, e - discretos ou contínuos. - Um modelo pode ser estocástico, dinâmico e discreto: - é o caso dos modelos de simulação discretos. Capítulo 4. Modelação e Simulação de Sistemas 16/21

17 Classificação dos modelos de simulação - Modelos determinísticos - as variáveis exógenas e endógenas não podem ser variáveis aleatórias; - as características operacionais devem ser relações exatas e não funções de densidade de probabilidade; - são computacionalmente menos exigentes do que os modelos estocásticos; - podem geralmente ser resolvidos usando técnicas técnicas analíticas/exatas. - Modelos estocásticos - pelo menos uma característica operacional é dada por uma função de probabilidade; - geralmente são mais complexos que os modelos determinísticos; - a simulação é mais adequada como método de análise da solução para estes modelos; - estes modelos são adequados à geração aleatória de dados. Capítulo 4. Modelação e Simulação de Sistemas 17/21

18 Classificação dos modelos de simulação - Modelos estáticos - não consideram a variável de tempo; - a maioria dos modelos estáticos são completamente determinísticos; - as soluções podem normalmente ser obtidas por técnicas analíticas/exatas diretas. - Modelos dinâmicos - são modelos que tratam de interações que são variáveis com o tempo (ocorrência de uma ordem temporal entre eventos). Capítulo 4. Modelação e Simulação de Sistemas 18/21

19 Classificação dos modelos de simulação - Modelo discreto - se todas as variáveis de estado têm os seus valores alterados apenas num número contável de instantes de tempo Capítulo 4. Modelação e Simulação de Sistemas 19/21

20 Classificação dos modelos de simulação - Modelo contínuo - se todas as variáveis de estado têm os seus valores alterados a qualquer instante de tempo; pode ser - contínuo no tempo (os valores das variáveis dependentes estão sempre disponíveis a qualquer instante) - discreto no tempo (os valores das variáveis dependentes estão disponíveis apenas em instantes específicos) Capítulo 4. Modelação e Simulação de Sistemas 20/21

21 Classificação dos modelos de simulação - Modelo misto - se algumas variáveis de estado têm os seus valores alterados a qualquer instante de tempo e outras apenas num número contável de instantes de tempo Capítulo 4. Modelação e Simulação de Sistemas 21/21

22 Modelos de Simulação Dinâmicos Discretos - Tópicos Modelos de Simulação Dinâmicos Discretos - Tópicos - Componentes de um modelo de simulação - Tipos de modelação (orientada ao evento, à atividade e ao processo) - Modelação orientada ao Evento - Modelação e implementação de um modelo de simulação - Nível de detalhe dos modelos de simulação (aspetos do sistema real incluídos no modelo) - Modelos de simulação com filas de espera - Estrutura de uma fila - Mecanismos de escalonamento - Centros de serviço - Análise de dados de entrada (inputs) - Análise de resultados (outputs) - Medidas de desempenho típicas Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 1/112

23 Componentes de um modelo de simulação Componentes de um modelo de simulação - Um modelo de simulação, - é uma metodologia para modelar a evolução de um sistema ao longo do tempo, - em que as variáveis de estado mudam instantaneamente em instantes particulares (discretos) de tempo. - Os componentes de um modelo de simulação são os seguintes: - Entidades - Atributos - Atividades - Estado do sistema - Eventos/Acontecimentos - Executivo Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 2/112

24 Componentes de um modelo de simulação - Entidade: - é um objeto de interesse do sistema; - exemplos: - clientes do sistema, - balcão de atendimento (servidor), - máquinas num sistema de produção (servidor). - Atributo: - são as propriedades de uma entidade (existem vários tipos e cada uma com as suas propriedades); - exemplos: - tipos de prioridades dos clientes numa fila de espera, - velocidade das máquinas e sua capacidade, - taxas de avaria. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 3/112

25 Componentes de um modelo de simulação - Atividade: - representa um determinado período de tempo com duração específica, onde se verifica o desenvolvimento de um processo que utiliza recursos; - exemplos: - fazer depósitos numa agência bancária, - soldar, - perfurar num sistema produtivo. - Estado do sistema: - é o conjunto de variáveis necessárias para descrever o sistema em qualquer instante, que estão relacionadas com o objetivo do estudo; - exemplos: - número de servidores ocupados ou desocupados, - número de clientes à espera para serem atendidos, - número de máquinas em funcionamento, paradas ou avariadas. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 4/112

26 Componentes de um modelo de simulação - Evento/Acontecimento: - é uma ocorrência instantânea que altera o estado do sistema; - exemplos: - chegada de um cliente ao sistema, - término do serviço de um cliente, - uma nova avaria numa das máquinas; - pode ser de dois tipos: - exógeno, se tem origem fora do sistema, - endógeno, se tem origem dentro do sistema. - Executivo: - trata-se de um mecanismo existente na estrutura do programa de simulação, que permite manter permanentemente atualizada a informação sobre as entidades; - por exemplo, permite conhecer - em cada instante qual o estado da entidade e - por quanto tempo é que esta permanece naquele estado. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 5/112

27 Componentes de um modelo de simulação - Exemplo: serviço de atendimento num balcão (um servidor) - objetivo do estudo: - estimar o tempo médio de espera para atendimento (numa fila) entidades: - cliente - servidor (balcão de atendimento) - variáveis de estado: - estado do servidor (livre ou ocupado) - instante de chegada de cada cliente ao sistema - tempo de atendimento de cada cliente no balcão - tempo total de cada cliente no sistema eventos/acontecimentos: - chegada de um cliente ao sistema - início do atendimento de um cliente - partida de um cliente (no fim do serviço) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 6/112

28 Componentes de um modelo de simulação - O objetivo de um modelo de simulação discreto é - reproduzir as atividades das entidades envolvidas no sistema e, a partir daí, - conhecer algo sobre o comportamento e desempenho do sistema. - Isto é conseguido quando - se definem os estados do sistema, e - se constroem as atividades que movem o sistema de um estado para outro. - O estado de um sistema - é definido em termos de valores numéricos dados aos atributos das entidades - só pode mudar nos tempos de eventos - como permanece constante entre tempos de eventos, uma descrição completa do estado do sistema pode ser obtida avançando o tempo simulado de um evento para outro. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 7/112

29 Componentes de um modelo de simulação - Como os modelos de simulação discreta são dinâmicos, é necessário - manter um registo do tempo simulado ao longo da simulação e - um mecanismo para avançar o tempo de um instante para outro. - O relógio de simulação - é a variável que regista o valor atual do tempo simulado - não tem uma unidade explícita (usa a mesma unidade dos parâmetros de entrada). - O tempo simulado - é diferente do tempo de execução da simulação (do computador) e do tempo real. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 8/112

30 Componentes de um modelo de simulação - Relações entre evento, processo e atividade Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 9/112

31 Tipos de modelação Tipos de modelação - Um evento acontece num ponto isolado do tempo, no qual devem ser tomadas decisões de forma a iniciar ou terminar um atividade. - Um processo é uma sequência ordenada de eventos e pode englobar várias atividades. - Estes conceitos levam naturalmente a três alternativas de visão de um modelo de simulação discreto: - orientada ao Evento: a definição das mudanças nos estados podem ocorrer em cada tempo de evento - orientada à Atividade: a descrição das atividades nas quais as entidades do sistema se envolvem - orientada ao Processo: a descrição do processo através do qual as entidades do sistema fluem Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 10/112

32 Modelação orientada ao Evento Modelação orientada ao Evento - Um sistema é modelado pela definição das mudanças que ocorrem no tempo de evento. - A tarefa do modelador é determinar os eventos que podem causar a mudança no estado do sistema e desenvolver a lógica associada com cada tipo de evento. - A simulação do sistema é produzida pela execução da lógica associada a cada evento, numa sequência ordenada no tempo. - Existem dois métodos possíveis para avançar o tempo no sistema a ser simulado: - de incremento de tempo fixo (fixed increment) e - para o próximo evento (next event). Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 11/112

33 Modelação orientada ao Evento - Método de incremento de tempo fixo - Um relógio virtual existente no computador permite registar o tempo instante a instante, mantendo a sequência correta dos acontecimentos. - O tempo é atualizado por intervalos discretos uniformes (minutos, segundos, etc.), sendo o sistema observado em cada instante, de forma a saber se existe algum evento para ter início. Tempo Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 12/112

34 Modelação orientada ao Evento - Método para o próximo evento - O avanço é por tempo variável, pois é concretizado através dos instantes em que se verificam os acontecimentos - Não se analisa o período durante o qual se executa a simulação instante a instante. Tempo 1 o relógio é inicializado a zero e são determinados os instantes dos eventos futuros; 2 o relógio é avançado para o instante do próximo evento a ocorrer; 3 o estado do sistema é atualizado de acordo com esse evento e são determinados os instantes de novos eventos; 4 os passos 2 e 3 são repetidos, até se cumprir uma condição de paragem pré-estabelecida. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 13/112

35 Modelação orientada ao Evento - O método de avanço por incremento de tempo fixo é, em geral, mais eficiente - se os acontecimentos ocorrem de forma regular, ou - se não forem bem conhecidos. - O método de avanço para o próximo evento, em contrapartida, tem a virtude da duração designada para a unidade de tempo não afetar a velocidade de computação, o que permite poupar tempo na execução do modelo. - A escolha de um ou de outro depende da natureza do sistema a ser modelado e simulado. - No entanto, verifica-se que a eficiência - do primeiro método aumenta com o incremento do número das variáveis de estado, e - do segundo, com a duração temporal média dos acontecimentos. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 14/112

36 Exemplo Exemplo - Problema: um balcão de atendimento ao público - Objetivo do estudo deste sistema: - estimar o número médio de clientes na fila, - o tempo de espera médio dos clientes na fila e - a percentagem de tempo de ocupação do servidor. - Na tabela seguinte, constam os dados recolhidos (amostras) relativos - ao intervalo de tempo entre chegadas e - à duração dos serviços. Tempos entre chegadas (minutos) Frequência (%) Tempos de serviço (minutos) Frequência (%) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 15/112

37 Exemplo - Os Componentes do modelo de simulação são os seguintes: - Entidades: - clientes que chegam ao sistema para serem atendidos - 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 - tempo de serviço (dois últimos tempos geridos atravé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 - número de clientes no sistema - Eventos: - chegada de um cliente - partida de um cliente após conclusão do serviço Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 16/112

38 Exemplo - Os tempos entre chegadas e de serviços - podem ser determinados com processos comuns de amostragem - geram-se números com igual probabilidade de escolha e independentes entre si (pseudoaleatórios). Intervalo dos números pseudoaleatórios Tempos entre chegadas (minutos) Intervalo dos números pseudoaleatórios Tempos de serviço (minutos) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 17/112

39 Exemplo - os resultados da simulação são os que constam na tabela seguinte: Número pseudoaleatório Intervalo de tempo entre chegadas (minutos) Tempo acumulado (minutos) Tempo de serviço (minutos) Tempo de conclusão de serviço (minutos) Tempo de espera (minutos) Número pseudoaleatório Disponibilidade do servidor (minutos) O método de simulação utilizado é o para o próximo evento, onde os eventos com relevância são: - chegada de um cliente e - terminar do serviço de um cliente. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 18/112

40 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0 - Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 19/112

41 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 20/112

42 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 21/112

43 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) 13-2 Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 22/112

44 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 23/112

45 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) 17-2 Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 24/112

46 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 25/112

47 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) 20-3 Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 26/112

48 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) chegada Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 27/112

49 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) chegada partida 4-0 ocupado (5) 23-3 Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 28/112

50 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) chegada partida 4-0 ocupado (5) chegada Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 29/112

51 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) chegada partida 4-0 ocupado (5) chegada partida 5-0 ocupado (6) 27-2 Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 30/112

52 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) chegada partida 4-0 ocupado (5) chegada partida 5-0 ocupado (6) chegada Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 31/112

53 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) chegada partida 4-0 ocupado (5) chegada partida 5-0 ocupado (6) chegada partida 6-0 ocupado (7) 31-4 Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 32/112

54 Exemplo - A tabela seguinte apresenta a evolução dos eventos. Relógio de simulação Evento Cliente Próxima chegada Fila Estado do servidor Próxima saída Tempo livre do servidor Tempo de espera Fila livre 0-4 chegada ocupado (1) chegada partida 1-0 ocupado (2) chegada partida 2-0 ocupado (3) chegada partida 3-0 ocupado (4) chegada partida 4-0 ocupado (5) chegada partida 5-0 ocupado (6) chegada partida 6-0 ocupado (7) partida livre - - Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 33/112

55 Exemplo - Atendendo aos objetivos do estudo, os valores estimados são os seguintes: - número médio de clientes na fila: 6/7 = 0.86 (86%) - tempo médio de espera dos clientes na fila: 16/7 = 2.3 minutos/cliente - percentagem de tempo de ocupação do servidor: (31-4)/31 = 27/31 = 0.87 (87%) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 34/112

56 Modelação e implementação de um modelo de simulação Modelação e implementação de um modelo de simulação - Na fase de implementação do modelo de simulação é necessário ter em conta duas entidades importantes: - as variáveis e - as rotinas associadas ao modelo. - As variáveis são: - estado do sistema: - conjunto de variáveis que descrevem o estado do sistema num instante de tempo, e - relógio de simulação: - variável que regista o instante atual do tempo simulado, - lista de eventos: - lista com os próximos instantes de tempo em que cada tipo de evento vai ocorrer, e - contadores estatísticos: - variáveis que guardam informação estatística, ao longo da simulação, sobre o desempenho do sistema Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 35/112

57 Modelação e implementação de um modelo de simulação - As rotinas necessárias, são pelo menos as seguintes: rotina de inicialização: - subprograma que inicializa o estado do sistema no instante 0 rotina de gestão de tempo: - subprograma que determina o próximo evento da lista de eventos e avança o relógio de simulação rotinas dos eventos: - subprogramas (um por tipo de evento) que atualizam o estado do sistema quando ocorre um evento biblioteca de rotinas: - conjunto de subprogramas que geram observações aleatórias das distribuições de probabilidade que são utilizadas pelo modelo gerador de relatórios: - subprograma que calcula no fim da simulação (a partir dos contadores estatísticos) medidas de desempenho do sistema e produz um relatório programa principal: - chama a rotina de gestão de tempo e passa o controlo para a correspondente rotina do evento; - verifica as condições de paragem; - chama o gerador de relatórios no fim da simulação. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 36/112

58 Modelação e implementação de um modelo de simulação - Um possível algoritmo associado à implementação do modelo de simulação é o seguinte: Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 37/112

59 Exemplo 1 Exemplo 1 - Enunciado do problema: - Serviço de atendimento de clientes com apenas um servidor. - Funcionamento do sistema (uma barbearia): os clientes chegam à barbearia e esperam se o barbeiro estiver ocupado; o barbeiro serve os clientes por ordem de chegada; - o cliente abandona a barbearia após o corte de cabelo terminar; Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 38/112

60 Exemplo 1 - Dados de entrada para a simulação do sistema (inputs): instantes de chegada dos clientes ao sistema tempo de duração do serviço de cada cliente Número de cliente Instantes de chegada (min) Tempos de serviço (min) Objetivos - calcular as seguintes medidas de desempenho (outputs): - tempo médio de permanência dos clientes no sistema - tempo médio de espera dos clientes - número médio de clientes no sistema - número médio de clientes em espera - taxa de ocupação do servidor Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 39/112

61 Exemplo 1 - Construção do modelo de simulação eventos: - evento de chegada e - evento de partida; variáveis de estado: - número de cliente, - fila de espera (FIFO), - número de clientes na fila, - tipo de evento e - estado do servidor (ocupado ou livre); lista de eventos: - próximo evento de chegada (tempo) e - próximo evento de partida (tempo); contadores estatísticos: - tempo de permanência dos clientes no sistema, - tempo de espera dos clientes na fila, - número de clientes que passaram pelo sistema, - número de clientes que passaram pela fila e - tempo de ocupação do servidor (barbeiro). Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 40/112

62 Exemplo 1 - Algoritmos (eventos): Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 41/112

63 Exemplo 2 Exemplo 2 - Enunciado do problema: Serviço de atendimento de clientes com dois servidores. - Funcionamento do sistema (agência de viagens): - dois agentes trabalham em paralelo no balcão de uma agência de viagens - os clientes, ao chegarem, formam uma única fila à espera do primeiro agente livre - se ambos os agentes estiverem livres, o cliente escolhe o Agente 1. Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 42/112

64 Exemplo 2 - Dados de entrada para a simulação do sistema (inputs): tempos entre chegadas: - seguem uma distribuição exponencial negativa com valor esperado de 2.0 minutos; - podem ser gerados a partir de números aleatórios uniformes entre 0 e 1 com a seguinte fórmula: x = µ * ln(1-r), onde r~u(0,1) e µ é o valor esperado; - tempos de serviço: - os tempos médios de serviço são iguais para os dois agentes; - os tempos de serviço têm duas parcelas: um tempo constante de 1 minuto para o contacto inicial e um tempo variável uniforme entre 0.5 e 2.0 minutos; - gerar valores aleatórios uniformemente distribuídos entre A e B usando a fórmula: x = A + (B A) * r, onde r~u(0,1), A é o limite inferior e B o limite superior Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 43/112

65 Exemplo 2 - Objetivos: - simular o sistema até todos os clientes serem atendidos - calcular as seguintes medidas de desempenho (outputs): - taxa de ocupação de tempo dos dois agentes - tempo médio de espera dos clientes - tempo médio de permanência dos clientes no sistema - número médio de clientes que passaram pela fila de espera - número médio de clientes que passaram pelo sistema (que foram atendidos) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 44/112

66 Exemplo 2 - Construção do modelo de simulação (estruturas de dados): - Variáveis de estado do sistema - Tipo de evento (chegada, partida1 ou partida2 TipoEvento) - Número do cliente (inteiro - NumCliente) - Número de clientes que passaram pela fila de espera (inteiro - NumClientesFila) - Número de clientes que passaram pelo sistema (inteiro - NumClientesSistema) - Estado do Agente 1 (ocupado ou livre - EstadoAgente1) - Estado do Agente 2 (ocupado ou livre - EstadoAgente2) - Lista/Fila de espera de clientes com os tempos de chegada (fila reais FilaEventosChegada) - Relógio de simulação - Relógio de simulação (real - Clock) - Lista de eventos - Tempo do próximo evento de chegada (real - TempoProximaChegada) - Tempo de partida do cliente no Agente 1 (real - TempoPartida1) - Tempo de partida do cliente no Agente 2 (real - TempoPartida2) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 45/112

67 Exemplo 2 - Contadores estatísticos - Tempo total de espera dos clientes (real - TempoTotalEspera) - Tempo de ocupação do Agente 1 (real - TempoOcupacaoAgente1) - Tempo de ocupação do Agente 2 (real - TempoOcupacaoAgente2) - Tempo total de permanência no sistema (real - TempoTotalPermanencia) - Número total de clientes que passaram na fila de espera (TotalClientesFila) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 46/112

68 Exemplo 2 - Rotina para determinar os tempos entre chegadas: float DeterminarTempoEntreChegadas (float niu) { float r, X; r = rand()/(float)rand_max; X = -niu * log(1-r); return X; } - Rotina para determinar os tempos de serviço: float DeterminarTempoServico (float A, float B, float T0) { float r, X; r = rand()/(float)rand_max; X = T0 + A + (B - A) * r; return X; } Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 47/112

69 Exemplo 2 - Rotina de inicialização: void Inicializacao ( float Time, int *NumClientesSistema, int *EstadoAgente1, int *EstadoAgente2, float **FilaEventosChegada, float *Clock, float *TempoProximaChegada, float *TempoPartida1, float *TempoPartida2, float *TempoTotalEspera, float *TempoOcupacaoAgente1, float *TempoOcupacaoAgente2, float *TempoTotalPermanencia, int *TotalClientesFila ) { *NumClientesSistema = 0; *EstadoAgente1 = 0; // livre *EstadoAgente2 = 0; // livre *FilaEventosChegada = CreateQueue(); *Clock = 0.0; *TempoProximaChegada = Time; *TempoPartida1 = Infinito; *TempoPartida2 = Infinito; *TempoTotalEspera = 0.0; *TempoOcupacaoAgente1 = 0.0; *TempoOcupacaoAgente2 = 0.0; *TempoTotalPermanencia = 0.0; *TotalClientesFila = 0; } Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 48/112

70 Exemplo 2 - Rotina de gestão do tempo: void GestaoTempo (float TempoProximaChegada, float TempoPartida1, float TempoPartida2, float *Tempo, int *TipoEvento) { *Tempo = TempoProximaChegada; *TipoEvento = 0; // Chegada if (TempoPartida1 < *Tempo) { *Tempo = TempoPartida1; *TipoEvento = 1; // Partida1 } if (TempoPartida2 < *Tempo) { *Tempo = TempoPartida2; *TipoEvento = 2; // Partida2 } if (*Tempo == Infinito) *TipoEvento = -1; } Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 49/112

71 Exemplo 2 - Rotina do Evento de Chegada: void EventoChegada ( float Tempo, int *NumClientesSistema, int *EstadoAgente1, int *EstadoAgente2, float **FilaEventosChegada, float *TempoProximaChegada, float *TempoPartida1, float *TempoPartida2, float *TempoOcupacaoAgente1, float *TempoOcupacaoAgente2, float *TempoTotalPermanencia, int *TotalClientesFila ) { float TempoEntreChegadas, TempoServico; TempoEntreChegadas = DeterminarTempoEntreChegadas(2.0); *TempoProximaChegada = Tempo + TempoEntreChegadas; if (*EstadoAgente1 == 1) // Agente 1 ocupado if (*EstadoAgente2 == 1) { // Agente 2 ocupado e Agente 1 ocupado *FilaEventosChegada = InsertQueue(Tempo, *FilaEventosChegada); *TotalClientesFila = *TotalClientesFila + 1; } Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 50/112

72 Exemplo 2 } else { // Agente 2 livre e Agente 1 ocupado *NumClientesSistema = *NumClientesSistema + 1; *EstadoAgente2 = 1; TempoServico = DeterminarTempoServico(0.5, 2.0, 1); *TempoPartida2 = Tempo + TempoServico; *TempoOcupacaoAgente2 = *TempoOcupacaoAgente2 + TempoServico; *TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico; } else { // Agente 1 livre *NumClientesSistema = *NumClientesSistema + 1; *EstadoAgente1 = 1; TempoServico = DeterminarTempoServico(0.5, 2.0, 1); *TempoPartida1 = Tempo + TempoServico; *TempoOcupacaoAgente1 = *TempoOcupacaoAgente1 + TempoServico; *TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico; } Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 51/112

73 Exemplo 2 - Rotina do Evento de Partida do Agente 1: void EventoPartida1 ( float Tempo, int *NumClientesSistema, int *EstadoAgente1, } float **FilaEventosChegada, float *TempoPartida1, float *TempoOcupacaoAgente1, float *TempoTotalEspera, float *TempoTotalPermanencia ) { float TempoChegadaCliente, TempoEsperaCliente, TempoServico; if (EmptyQueue(*FilaEventosChegada)) { *EstadoAgente1 = 0; *TempoPartida1 = Infinito; } else { } TempoChegadaCliente = Front(*FilaEventosChegada); TempoEsperaCliente = Tempo - TempoChegadaCliente; *NumClientesSistema = *NumClientesSistema + 1; TempoServico = DeterminarTempoServico(0.5, 2.0, 1); *TempoPartida1 = Tempo + TempoServico; *FilaEventosChegada = RemoveQueue(*FilaEventosChegada); *TempoTotalEspera = *TempoTotalEspera + TempoEsperaCliente; *TempoOcupacaoAgente1 = *TempoOcupacaoAgente1 + TempoServico; *TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico + TempoEsperaCliente; Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 52/112

74 Exemplo 2 - Rotina do Evento de Partida do Agente 2: void EventoPartida2 ( float Tempo, int *NumClientesSistema, int *EstadoAgente2, } float **FilaEventosChegada, float *TempoPartida2, float *TempoOcupacaoAgente2, float *TempoTotalEspera, float *TempoTotalPermanencia ) { float TempoChegadaCliente, TempoEsperaCliente, TempoServico; if (EmptyQueue(*FilaEventosChegada)) { *EstadoAgente2 = 0; *TempoPartida2 = Infinito; } else { } TempoChegadaCliente = Front(*FilaEventosChegada); TempoEsperaCliente = Tempo - TempoChegadaCliente; *NumClientesSistema = *NumClientesSistema + 1; TempoServico = DeterminarTempoServico(0.5, 2.0, 1); *TempoPartida2 = Tempo + TempoServico; *FilaEventosChegada = RemoveQueue(*FilaEventosChegada); *TempoTotalEspera = *TempoTotalEspera + TempoEsperaCliente; *TempoOcupacaoAgente2 = *TempoOcupacaoAgente2 + TempoServico; *TempoTotalPermanencia = *TempoTotalPermanencia + TempoServico + TempoEsperaCliente; Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 53/112

75 Exemplo 2 - Rotina dos Contadores Estatísticos: void ContadoresEstatisticos (int NumClientesSistema, int TotalClientesFila, float TempoOcupacaoAgente1, float TempoOcupacaoAgente2, float TempoTotalEspera, float TempoTotalPermanencia, float TempoTotalSistema) { int TaxaOcupacaoAgentes, TaxaOcupacaoAgente1, TaxaOcupacaoAgente2; float NumMedioClientesFila, TempoMedioEsperaClientes, TempoMedioPermanenciaClientes; TaxaOcupacaoAgentes = (TempoOcupacaoAgente1+TempoOcupacaoAgente2)/(2*TempoTotalSistema)*100; TaxaOcupacaoAgente1 = TempoOcupacaoAgente1 / TempoTotalSistema * 100; TaxaOcupacaoAgente2 = TempoOcupacaoAgente2 / TempoTotalSistema * 100; NumMedioClientesFila = TotalClientesFila / (float) NumClientesSistema; TempoMedioEsperaClientes = TempoTotalEspera / NumClientesSistema; TempoMedioPermanenciaClientes = TempoTotalPermanencia / NumClientesSistema; } printf("taxaocupacaoagentes = %d%%\n", TaxaOcupacaoAgentes); printf("taxaocupacaoagente1 = %d%%\n", TaxaOcupacaoAgente1); printf("taxaocupacaoagente2 = %d%%\n", TaxaOcupacaoAgente2); printf("nummedioclientesfila = %.3f\n", NumMedioClientesFila); printf("tempomedioesperaclientes = %.3f\n", TempoMedioEsperaClientes); printf("tempomediopermanaenciaclientes = %.3f\n", TempoMedioPermanenciaClientes); Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 54/112

76 Exemplo 2 - Programa Principal: #include <stdio.h> #include <stdlib.h> #include <time.h> #include <math.h> #define Infinito #include "Queue.h" #include "SimulationRoutines.h" main() { int terminar = 0, MaximoClientes, NumClientes = 0, NumClientesSistema, EstadoAgente1, EstadoAgente2, TotalClientesFila, TipoEvento; float TempoPrimeiraChegada, *FilaEventosChegada, Clock, TempoProximaChegada, TempoPartida1, TempoPartida2, TempoTotalEspera, TempoOcupacaoAgente1, TempoOcupacaoAgente2, TempoTotalPermanencia, TempoTotalSistema; printf("com quantos clientes quer realizar a simulacao? "); scanf("%d", &MaximoClientes); srand((unsigned int)time(null)); TempoPrimeiraChegada = DeterminarTempoEntreChegadas(2.0); Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 55/112

77 Exemplo 2 Inicializacao (TempoPrimeiraChegada, &NumClientesSistema, &EstadoAgente1, &EstadoAgente2, &FilaEventosChegada, &Clock, &TempoProximaChegada, &TempoPartida1, &TempoPartida2, &TempoTotalEspera, &TempoOcupacaoAgente1, &TempoOcupacaoAgente2, &TempoTotalPermanencia, &TotalClientesFila); while (true) { GestaoTempo (TempoProximaChegada, TempoPartida1, TempoPartida2, &Clock, &TipoEvento); if (Clock < Infinito) TempoTotalSistema = Clock; printf ("TempoProximaChegada = %f \n TempoPartida1 = %f \n TempoPartida2 = %f \n Clock = %f \n TipoEvento = %d \n", TempoProximaChegada, TempoPartida1, TempoPartida2, Clock, TipoEvento); if (TipoEvento == -1) break; Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 56/112

78 Exemplo 2 switch (TipoEvento) { case 0 : NumClientes++; EventoChegada (Clock, &NumClientesSistema, &EstadoAgente1, &EstadoAgente2, &FilaEventosChegada, &TempoProximaChegada, &TempoPartida1, &TempoPartida2, &TempoOcupacaoAgente1, &TempoOcupacaoAgente2, &TempoTotalPermanencia, &TotalClientesFila); if (NumClientes == MaximoClientes) TempoProximaChegada = Infinito; break; case 1 :EventoPartida1 (Clock, &NumClientesSistema, &EstadoAgente1, &FilaEventosChegada, &TempoPartida1, &TempoOcupacaoAgente1, &TempoTotalEspera, &TempoTotalPermanencia); break; case 2 :EventoPartida2 (Clock, &NumClientesSistema, &EstadoAgente2, &FilaEventosChegada, &TempoPartida2, &TempoOcupacaoAgente2, &TempoTotalEspera, &TempoTotalPermanencia); break; default:terminar = 1; } Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 57/112

79 Exemplo 2 if (terminar == 1) break; printf("numclientes = %d \n NumClientesSistema = %d \n", NumClientes, NumClientesSistema); } // while (true) printf("\n\ncontadores ESTATISTICOS\n"); printf("numclientessistema = %d\n", NumClientesSistema); printf("totalclientesfila = %d\n", TotalClientesFila); printf("tempototalsistema = %.3f\n", TempoTotalSistema); printf("tempoocupacaoagente1 = %.3f\n", TempoOcupacaoAgente1); printf("tempoocupacaoagente2 = %.3f\n", TempoOcupacaoAgente2); printf("tempototalespera = %.3f\n", TempoTotalEspera); printf("tempototalpermanencia = %.3f\n\n", TempoTotalPermanencia); ContadoresEstatisticos(NumClientesSistema, TotalClientesFila, TempoOcupacaoAgente1, } // main TempoOcupacaoAgente2, TempoTotalEspera, TempoTotalPermanencia, TempoTotalSistema); Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 58/112

80 Exemplo 2 - Simulação manual (calcular os instantes de chegada e os tempos de serviço): Número de cliente Tempos entre chegadas (min) Instantes de chegada (min) Tempos de serviço (min) Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 59/112

81 Exemplo 2 Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas): Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE [ ] livre livre Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 60/112

82 Exemplo 2 Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas): Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE [ ] livre livre Chegada ocup Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 61/112

83 Exemplo 2 Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas): Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE [ ] livre livre Chegada ocup Partida livre Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 62/112

84 Exemplo 2 Simulação manual dos 8 primeiros clientes (utilizar um quadro com as seguintes entradas): Clock Evento NC TPC FilaEC EA1 TP1 EA2 TP2 TTP TOA1 TOA2 TCF NCS TTE [ ] livre livre Chegada ocup Partida livre Chegada ocup Capítulo 4. Modelação e Simulação de Sistemas - Modelos dinâmicos discretos 63/112

INE 5101 Simulação Discreta. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

INE 5101 Simulação Discreta. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE INE 5101 Simulação Discreta 1 Objetivos do curso Ao final deste curso você deverá saber: O que é modelagem e simulação de sistemas; Como funcionam programas de simulação; Como utilizar corretamente uma

Leia mais

Fernando Nogueira Simulação 1

Fernando Nogueira Simulação 1 Simulação a Eventos Discretos Fernando Nogueira Simulação Introdução Simulação não é uma técnica de otimização: estima-se medidas de performance de um sistema modelado. Modelos Contínuos X Modelos Discretos

Leia mais

Simulação a Eventos Discretos. Fernando Nogueira Simulação 1

Simulação a Eventos Discretos. Fernando Nogueira Simulação 1 Simulação a s Discretos Fernando Nogueira Simulação Introdução Simulação não é uma técnica de otimização: estima-se medidas de performance de um sistema modelado. Modelos Contínuos X Modelos Discretos

Leia mais

Modelagem e Simulação de Sistemas

Modelagem e Simulação de Sistemas -URI- Universidade Regional Integrada do Alto Uruguai e das Missões Departamento de Engenharias e Ciência da Computação Ciência da Computação / Sistemas de Informação Modelagem e Simulação de Sistemas

Leia mais

Simulação de Sistemas. Adaptado de material de Júlio Pereira Machado (AULA 17)

Simulação de Sistemas. Adaptado de material de Júlio Pereira Machado (AULA 17) Simulação de Sistemas Adaptado de material de Júlio Pereira Machado (AULA 17) Análise dos Dados de Saída Além das tarefas de modelagem e validação, devemos nos preocupar com a análise apropriada dos resultados

Leia mais

COMO FUNCIONA A SIMULAÇÃO. Aula 1. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

COMO FUNCIONA A SIMULAÇÃO. Aula 1. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE COMO FUNCIONA A SIMULAÇÃO Aula 1 1 Tópicos Introdução Um Exemplo Simples Como Tratar e Analisar Problemas Tratando a Variabilidade dos Sistemas Incorporando a Variabilidade aos Modelos Computacionais Terminologia

Leia mais

I - Introdução à Simulação

I - Introdução à Simulação 1 I - Introdução à Simulação Simulação é, entendida como a imitação de uma operação ou de um processo do mundo real. A simulação envolve a geração de uma história artificial de um sistema para a análise

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Alguns cálculos realizados pelo computador são feitos de forma repetitiva Exemplos: Cálculo de 25! fat = 25*24*23*22*21*20*19*18*17*16*15*14*13*12*11*10*9*8*7*6*5*4*3*2*1; Soma

Leia mais

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 6 Sarita Mazzini Bruschi

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 6 Sarita Mazzini Bruschi Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 6 Sarita Mazzini Bruschi Material

Leia mais

Simulação estocástica discreta

Simulação estocástica discreta Simulação estocástica discreta Apoio ao projecto LEEC@IST Simulação estocástica discreta : 1/31 Introdução (1) Existem diversos tipos de simulação de sistemas: Simulação analógica: com modelos físicos,

Leia mais

Prof. Lorí Viali, Dr.

Prof. Lorí Viali, Dr. Prof. Lorí Viali, Dr. viali@pucrs.br http://www.pucrs.br/famat/viali/ Dentre a grande variedade de sistemas que podem ser modelados e para os quais a simulação pode ser aplicada com proveito, uma classe

Leia mais

Funções Geradoras de Variáveis Aleatórias. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Funções Geradoras de Variáveis Aleatórias. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE Funções Geradoras de Variáveis Aleatórias 1 Funções Geradoras de Variáveis Aleatórias Nos programas de simulação existe um GNA e inúmeras outras funções matemáticas descritas como Funções Geradoras de

Leia mais

Simulação e Modelagem

Simulação e Modelagem Simulação e Modelagem Prof. Afonso C Medina Prof. Leonardo Chwif Versão. 6//6 Introdução Definição A Simulação como ferramenta de suporte à decisão Quando utilizar a Teoria das Filas ou a Simulação? O

Leia mais

Programação estruturada

Programação estruturada Programação estruturada IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 2 Exercício Desenvolvimento de um programa

Leia mais

Metodologia de simulação

Metodologia de simulação Metodologia de simulação OBJETIVOS E DEFINIÇÃO DO SISTEMA FORMULAÇÃO DO MODELO ANÁLISE E REDEFINIÇÃO MODELO ABSTRATO RESULTADOS EXPERIMENTAIS (Capítulo 6) MODELO CONCEITUAL (Capítulo 3) REPRESENTAÇÃO DO

Leia mais

MODELAGEM E SIMULAÇÃO

MODELAGEM E SIMULAÇÃO MODELAGEM E SIMULAÇÃO Professor: Dr. Edwin B. Mitacc Meza edwin@engenharia-puro.com.br www.engenharia-puro.com.br/edwin Análise da Decisão Pela própria natureza da vida, todos nós devemos continuamente

Leia mais

Métodos Computacionais. Comandos Condicionais e de Repetição em C

Métodos Computacionais. Comandos Condicionais e de Repetição em C Métodos Computacionais Comandos Condicionais e de Repetição em C Tópicos da Aula Hoje vamos acrescentar comportamentos mais complexos a programas em C Comandos Condicionais if-else switch Comandos de Repetição

Leia mais

S I M U L A Ç Ã O 84

S I M U L A Ç Ã O 84 S I M U L A Ç Ã O 84 - 1 - Elabore uma rotina que lhe permita gerar números pseudo-aleatórios (NPA) com distribuição X ( f X ( x ) representa a função de densidade de probabilidade de X e F X ( x ) representa

Leia mais

Ambiente Arena Tutorial. Paulo Cesar F. de Oliveira, BSc, PhD

Ambiente Arena Tutorial. Paulo Cesar F. de Oliveira, BSc, PhD Ambiente Arena Tutorial Paulo Cesar F. de Oliveira, BSc, PhD Terminologia Variável de Estado Evento Recurso e Fila de Recurso Entidade Atributo Atividade e Período de Espera Tempo (Real) Simulado e Tempo

Leia mais

Linguagem C. André Tavares da Silva.

Linguagem C. André Tavares da Silva. Linguagem C André Tavares da Silva dcc2ats@joinville.udesc.br Lógica de Programação O objetivo da lógica de programação é exercitar os métodos de raciocínio e elaborar soluções coerentes para determinados

Leia mais

Programação: Vetores

Programação: Vetores Programação de Computadores I Aula 09 Programação: Vetores José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/62 Motivação Problema Faça um programa que leia

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

PNV-5005 MODELAGEM E ANÁLISE DE SISTEMAS INTERMODAIS DE TRANSPORTE UTILIZANDO TÉCNICAS DE SIMULAÇÃO

PNV-5005 MODELAGEM E ANÁLISE DE SISTEMAS INTERMODAIS DE TRANSPORTE UTILIZANDO TÉCNICAS DE SIMULAÇÃO PNV-5005 MODELAGEM E ANÁLISE DE SISTEMAS INTERMODAIS DE TRANSPORTE UTILIZANDO TÉCNICAS DE SIMULAÇÃO Prof. Dr. Rui Carlos Botter e-mail: rcbotter@usp.br Fevereiro de 2017 Simulação É o processo de elaborar

Leia mais

Um modelo estocástico para o fluxo de caixa de um plano de previdência de um indivíduo 15

Um modelo estocástico para o fluxo de caixa de um plano de previdência de um indivíduo 15 2 Simulação estocástica A simulação computacional consiste em empregar técnicas matemáticas em computadores com o propósito de gerar ensaios que tentam reproduzir de maneira análoga um processo ou operação

Leia mais

Avaliação Quantitativa de Sistemas

Avaliação Quantitativa de Sistemas Avaliação Quantitativa de Sistemas Contexto A Avaliação Quantitativa de Sistemas permite a avaliação de sistemas antes mesmo da sua implementação física. Dessa forma, é possível avaliar um sistema projetado

Leia mais

Programas de simulação

Programas de simulação Conceitos Por que SIMULAR? Objetivos da simulação Avaliar a precisão de modelos analíticos Comparar estratégias distintas Avaliar o desempenho de sistemas 1 Processo de simulação Desenvolvimento de um

Leia mais

Aula 5. Como gerar amostras de uma distribuição qualquer a partir de sua CDF e de um gerador de números aleatórios?

Aula 5. Como gerar amostras de uma distribuição qualquer a partir de sua CDF e de um gerador de números aleatórios? Aula 5 Como gerar amostras de uma distribuição qualquer a partir de sua CDF e de um gerador de números aleatórios? Processo de chegada: o Chegadas em grupo ocorrem segundo um processo Poisson com taxa.

Leia mais

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2016

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2016 Modelagem e Avaliação de Desempenho Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2016 Simulação de Sistemas Simulação é a técnica de solução de um problema pela análise de

Leia mais

SIMULAÇÃO. Professor: Adriano Benigno Moreira

SIMULAÇÃO. Professor: Adriano Benigno Moreira SIMULAÇÃO Professor: Adriano Benigno Moreira Base de conhecimento Estatística. Pesquisa Operacional PO. Linguagem de Programação C. Distribuição dos Pontos 1º Avaliação Atividade e Prova 30 pontos 2º Avaliação

Leia mais

C Comandos de Controle

C Comandos de Controle C Comandos de Controle Adriano Cruz adriano@nce.ufrj.br Instituto de Matemática Departamento de Ciência da Computação UFRJ 15 de agosto de 2013 Adriano Cruz adriano@nce.ufrj.br (IM-DCC-UFRJ)C Comandos

Leia mais

ESTATÍSTICA. x(s) W Domínio. Contradomínio

ESTATÍSTICA. x(s) W Domínio. Contradomínio Variáveis Aleatórias Variáveis Aleatórias são funções matemáticas que associam números reais aos resultados de um Espaço Amostral. Uma variável quantitativa geralmente agrega mais informação que uma qualitativa.

Leia mais

Análise dos Resultados da Simulação

Análise dos Resultados da Simulação Análise dos Resultados da Simulação Prof. Paulo José de Freitas Filho, Dr. Eng. Universidade Federal de Santa Catarina Dep. Informática e Estatística PerformanceLab freitas@inf.ufsc.br Tópicos Introdução

Leia mais

Linguagem C (repetição)

Linguagem C (repetição) Linguagem C (repetição) André Tavares da Silva andre.silva@udesc.br Exercício Escrever um programa que conte (mostre na tela) os números de 1 a 100. Comandos aprendidos até o momento: printf, scanf, getchar,

Leia mais

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP

Medida do Tempo de Execução de um Programa. Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa Bruno Hott Algoritmos e Estruturas de Dados I DECSI UFOP Medida do Tempo de Execução de um Programa O projeto de algoritmos é fortemente influenciado pelo estudo

Leia mais

Algoritmos e Estruturas de Dados 2005/2006. Algoritmo: conjunto claramente especificado de instruções a seguir para resolver um problema

Algoritmos e Estruturas de Dados 2005/2006. Algoritmo: conjunto claramente especificado de instruções a seguir para resolver um problema Vectores: Algoritmos de Pesquisa Algoritmos e Estruturas de Dados 2005/2006 Introdução Algoritmo: conjunto claramente especificado de instruções a seguir para resolver um problema noção de algoritmo muito

Leia mais

Circuitos Seqüenciais

Circuitos Seqüenciais ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I Circuitos Seqüenciais prof. Dr. César Augusto M. Marcon prof. Dr. Edson Ifarraguirre Moreno 2 / 13 Sistemas Digitais Definição funcional: Aparato dotado de conjuntos

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Condicionais e de Repetição 1 Comando while Deseja-se calcular o valor de: 1 + 2 + 3 +... + N. Observação: não sabemos, a priori, quantos termos

Leia mais

Legibilidade do código fonte

Legibilidade do código fonte Sumário Legibilidade do código fonte Exemplos Normas Instrução switch Sintaxe e Semântica Exemplo Tipos enumerados Exemplo Programação 2007/2008 DEEC-IST 1 Legibilidade do código fonte Exemplo: Considere

Leia mais

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1

Estruturas de Dados. Módulo 4 Funções. 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Estruturas de Dados Módulo 4 Funções 9/8/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora Campus (2004)

Leia mais

Módulo 5 Vetores e Alocação Dinâmica

Módulo 5 Vetores e Alocação Dinâmica Estruturas de Dados Módulo 5 Vetores e Alocação Dinâmica 1/9/2005 (c) Dept. Informática - PUC-Rio 1 Referências Waldemar Celes, Renato Cerqueira, José Lucas Rangel, Introdução a Estruturas de Dados, Editora

Leia mais

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO

Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Programação de Computadores I Funções de Repetição da Linguagem C PROFESSORA CINTIA CAETANO Comando WHILE O comando while executa um bloco de comandos enquanto a condição testada for verdadeira (diferente

Leia mais

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco.

1 - A capacidade de fluxo que corresponde a capacidade máxima que pode passar pelo arco. CONCEITOS DE REDE Uma rede é formada por um conjunto de nós, um conjunto de arcos e de parâmetros associados aos arcos. Nós Arcos Fluxo Interseções Rodovias Veículos Rodoviários Aeroportos Aerovia Aviões

Leia mais

Pesquisa: operação elementar

Pesquisa: operação elementar Pesquisa: operação elementar uma das operações mais usadas em programação pesquisas em: vectores, matrizes, tabelas de registos, ficheiros, tipos de dados estruturados (hierarquicos),... necessidade de

Leia mais

Linguagem C Controle do Fluxo de Execução. Lógica de Programação

Linguagem C Controle do Fluxo de Execução. Lógica de Programação Linguagem C Controle do Fluxo de Execução Lógica de Programação Caro(a) aluno(a), Aqui começaremos a escrever os nossos primeiros programas em uma Linguagem de Programação. Divirta-se!!! Estrutura Seqüencial

Leia mais

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos Avaliação de Desempenho de Sistemas Discretos Parte II: Modelagem de Sistemas Professor: Reinaldo Gomes reinaldo@computacao.ufcg.edu.br Modelos Modelo é uma abstração de um sistema real Apenas as características

Leia mais

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos Modelos Avaliação de Desempenho de Sistemas Discretos Parte II: Modelagem de Sistemas Modelo é uma abstração de um sistema real Apenas as características importantes para a avaliação devem ser consideradas

Leia mais

Recursividade. Objetivos do módulo. O que é recursividade

Recursividade. Objetivos do módulo. O que é recursividade Recursividade Objetivos do módulo Discutir o conceito de recursividade Mostrar exemplos de situações onde recursividade é importante Discutir a diferença entre recursividade e iteração O que é recursividade

Leia mais

Disciplina de Algoritmos e Programação

Disciplina de Algoritmos e Programação Disciplina de Algoritmos e Programação Último Conteúdo Estruturas de condição Estrutura condicional simples Utilização da estrutura de condição if com expressões lógicas simples Utilização do comando if

Leia mais

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios.

5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 3636363636363636363636363636363636363636363636363636 5 - COMANDOS DE CONTROLE DE PROGRAMA Em C existem os comandos de decisões, os comandos de iteração (ou de laços) e os comandos de desvios. 5.1 - Comandos

Leia mais

Conceitos básicos de programação

Conceitos básicos de programação Para aprender uma linguagem de programação podemos começar por conhecer os vocábulos ou símbolos que formam o seu léxico e depois aprender como esses vocábulos integram as instruções (frases) que compõe

Leia mais

BCC202 - Estrutura de Dados I

BCC202 - Estrutura de Dados I BCC202 - Estrutura de Dados I Aula 03: Tipos Abstratos de Dados (TADs) Reinaldo Fortes Universidade Federal de Ouro Preto, UFOP Departamento de Ciência da Computação, DECOM Website: www.decom.ufop.br/reifortes

Leia mais

SISTEMAS DE MANUTENÇÃO E CONFIABILIDADE TP077

SISTEMAS DE MANUTENÇÃO E CONFIABILIDADE TP077 SISTEMAS DE MANUTENÇÃO E CONFIABILIDADE TP077 6 DISPONIBILIDADE DE EQUIPAMENTOS 6.1 INTRODUÇÃO Diversas teorias em confiabilidade pressupõem o descarte dos componentes de interesse após a primeira falha.

Leia mais

Ema Isabel Modesto Marques. Modelos de localização com filas de espera em rede. Orientador Prof. Doutor Francisco José Ferreira Silva.

Ema Isabel Modesto Marques. Modelos de localização com filas de espera em rede. Orientador Prof. Doutor Francisco José Ferreira Silva. Ema Isabel Modesto Marques Modelos de localização com filas de espera em rede Dissertação para a obtenção do grau de Mestre em Gestão (MBA) Orientador Prof. Doutor Francisco José Ferreira Silva Coorientador

Leia mais

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva Computação Evolutiva Algoritmos Genéticos A computação evolutiva (CE) é uma área da ciência da computação que abrange modelos computacionais inspirados na Teoria da Evolução das Espécies, essencialmente

Leia mais

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 INF1007: Programação 2 0 Revisão 06/08/2015 (c) Dept. de Informática - PUC-Rio 1 Tópicos Principais Variáveis e Constantes Operadores e Expressões Entrada e Saída Tomada de Decisão Construção com laços

Leia mais

Introdução a Simulação Discreta

Introdução a Simulação Discreta Introdução a Simulação Discreta PROF.DR. PAULO E. MIYAGI Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos São Paulo, SP 2006 1. Introdução

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Aula 2 Prof. Daniel Cavalcanti Jeronymo Conceito de algoritmo. Raciocínio lógico na construção de algoritmos. Estrutura de algoritmos. Universidade Tecnológica Federal

Leia mais

Introdução a Simulação Discreta

Introdução a Simulação Discreta Introdução a Simulação Discreta PROF.DR. PAULO E. MIYAGI Escola Politécnica da Universidade de São Paulo Departamento de Engenharia Mecatrônica e de Sistemas Mecânicos São Paulo, SP 2004 1. Introdução

Leia mais

Introdução à Programação em C (II)

Introdução à Programação em C (II) Introdução à Programação em C (II) Resumo Streams de Texto Leitura e escrita de caracteres Caracteres como números inteiros Exemplos Cópia de Ficheiros Contagem de Caracteres Contagem de Linhas Contagem

Leia mais

Classificação de Sistemas de Simulação. Profa. Dra. Soraia Raupp Musse

Classificação de Sistemas de Simulação. Profa. Dra. Soraia Raupp Musse Classificação de Sistemas de Simulação Profa. Dra. Soraia Raupp Musse Quem é real? Simulação de Sistemas SIMULAÇÃO IMPLICA NA MODELAGEM DE UM PROCESSO OU SISTEMA, DE TAL FORMA QUE O MODELO IMITE AS RESPOSTAS

Leia mais

Fundamentos da Dinâmica da Produção

Fundamentos da Dinâmica da Produção Fundamentos da Dinâmica da Produção A dinâmica da produção diz respeito à forma como os diversos artigos 1 fluem no sistema produtivo. Alguns dos aspectos dessa dinâmica podem ser mais facilmente entendidos

Leia mais

Funções. Prof. Fabrício Olivetti de França

Funções. Prof. Fabrício Olivetti de França Funções Prof. Fabrício Olivetti de França Resposta do Exercício 4 while ( trocou ) { trocou = 0; for ( i=0; i

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Introdução As estruturas de repetição, permitem executar mais de uma vez um mesmo trecho de código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas

Leia mais

Complexidade de Algoritmos

Complexidade de Algoritmos Complexidade de Algoritmos! Uma característica importante de qualquer algoritmo é seu tempo de execução! é possível determiná-lo através de métodos empíricos, considerando-se entradas diversas! é também

Leia mais

Controlo de Execução. K&R: Capitulo 3

Controlo de Execução. K&R: Capitulo 3 Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010

Leia mais

ORGANIZAÇÃO E TRATAMENTO DE DADOS

ORGANIZAÇÃO E TRATAMENTO DE DADOS ORGANIZAÇÃO E TRATAMENTO DE DADOS Principles and Standards for School Mathematics (2000) Este documento reforça a ênfase dada no anterior documento, da importância e da adequabilidade, às crianças mais

Leia mais

Avaliação de Desempenho de Sistemas Discretos

Avaliação de Desempenho de Sistemas Discretos Avaliação de Desempenho de Sistemas Discretos Parte IV: Simulação Professor: Reinaldo Gomes reinaldo@dsc.ufcg.edu.br Parte 4 Simulação P A R T E Etapas básicas em um estudo de simulação Geração de números

Leia mais

Introdução à Ciência da Computação

Introdução à Ciência da Computação Introdução à Ciência da Computação Introdução à Linguagem C: Parte II Prof. Ricardo J. G. B. Campello Sumário Seleção Simples Seleção Composta Seleção Encadeada Seleção de Múltipla Escolha Repetição com

Leia mais

SSC546 -Avaliação de Desempenho de Sistemas

SSC546 -Avaliação de Desempenho de Sistemas Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC546 -Avaliação de Desempenho de Sistemas Parte 1 -Aula 2 Sarita Mazzini Bruschi Material

Leia mais

Departamento de Matemática da Universidade de Coimbra 2011/2012 Programação Orientada para os Objectos Projecto 2

Departamento de Matemática da Universidade de Coimbra 2011/2012 Programação Orientada para os Objectos Projecto 2 Departamento de Matemática da Universidade de Coimbra 2011/2012 Programação Orientada para os Objectos Projecto 2 Simulador de um Sistema de Filas de Espera Descrição Sumária: Uma empresa proprietária

Leia mais

Linguagens de Programação. Marco A L Barbosa

Linguagens de Programação. Marco A L Barbosa Expressões e sentença de atribuição Linguagens de Programação Marco A L Barbosa cba Este trabalho está licenciado com uma Licença Creative Commons - Atribuição-CompartilhaIgual 4.0 Internacional. http://github.com/malbarbo/na-lp-copl

Leia mais

Análise de Algoritmos

Análise de Algoritmos Análise de Algoritmos Parte 1 Prof. Túlio Toffolo http://www.toffolo.com.br BCC202 Aula 04 Algoritmos e Estruturas de Dados I Qual a diferença entre um algoritmo e um programa? Como escolher o algoritmo

Leia mais

Aula 2. ESTATÍSTICA E TEORIA DAS PROBABILIDADES Conceitos Básicos

Aula 2. ESTATÍSTICA E TEORIA DAS PROBABILIDADES Conceitos Básicos Aula 2 ESTATÍSTICA E TEORIA DAS PROBABILIDADES Conceitos Básicos 1. DEFINIÇÕES FENÔMENO Toda modificação que se processa nos corpos pela ação de agentes físicos ou químicos. 2. Tudo o que pode ser percebido

Leia mais

Escola de Engenharia de Lorena EEL/USP Curso de Engenharia de Produção. Teoria da Filas. Prof. Fabrício Maciel Gomes

Escola de Engenharia de Lorena EEL/USP Curso de Engenharia de Produção. Teoria da Filas. Prof. Fabrício Maciel Gomes Escola de Engenharia de Lorena EEL/USP Curso de Engenharia de Produção Teoria da Filas Prof. Fabrício Maciel Gomes Teoria das Filas Por quê das Filas? Procura por um serviço maior do que a capacidade do

Leia mais

Gerência do Processador. Adão de Melo Neto

Gerência do Processador. Adão de Melo Neto Gerência do Processador Adão de Melo Neto 1 Introdução Sistemas Multiprogramáveis: Múltiplos processos podem permanecer na memória principal compartilhando o uso da CPU. POLÍTICA DE ESCALONAMENTO Como

Leia mais

Introdução a Programação de Jogos

Introdução a Programação de Jogos Introdução a Programação de Jogos Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição

Leia mais

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros

Métodos Computacionais. Funções, Escopo de Variáveis e Ponteiros Métodos Computacionais Funções, Escopo de Variáveis e Ponteiros Tópicos da Aula Hoje vamos detalhar funções em C Escrevendo funções Comando return Passagem de argumentos por valor Execução de uma função

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Disciplina: Algoritmos e Programação Luciano Moraes Da Luz Brum Universidade Federal do Pampa Unipampa Campus Bagé Email: lucianobrum18@gmail.com Horários de atendimento: (outros

Leia mais

Simulação de Sistemas

Simulação de Sistemas Simulação de Sistemas Daniel Sadoc Menasche e Paulo Aguiar 2012 1/1 Como analisar um sistema? sistema modelo emulador solucão analítica simulador medidas de interesse 2/1 Por que simular? Quando resolver

Leia mais

Simulação Monte Carlo

Simulação Monte Carlo Simulação Monte Carlo Nome do Prof. Fernando Saba Arbache Email do prof. fernando@arbache.com Definição Análise de risco faz parte da tomada de decisão Surgem constantemente incertezas, ambiguidades e

Leia mais

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012

Waldemar Celes e Roberto Ierusalimschy. 29 de Fevereiro de 2012 Capítulo 5: Repetições Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Construção de laços Uma das principais características de um computador é sua capacidade para realizar cálculo e

Leia mais

Simulação: Pseudoaleatoriedade, um estudo sobre o método do meio do quadrado

Simulação: Pseudoaleatoriedade, um estudo sobre o método do meio do quadrado Simulação: Pseudoaleatoriedade, um estudo sobre o método do meio do quadrado João Ferreira da Silva Júnior 1, Sérgio Francisco Tavares de Oliveira Mendonça 1, Edson Alves de Carvalho Júnior 2 1 Unidade

Leia mais

Introdução aos Algoritmos

Introdução aos Algoritmos Introdução aos Algoritmos Aula 05 Diogo Pinheiro Fernandes Pedrosa http://www2.ufersa.edu.br/portal/professor/diogopedrosa diogopedrosa@ufersa.edu.br Universidade Federal Rural do Semiárido Bacharelado

Leia mais

Linguagens de programação. Introdução ao C (continuação)

Linguagens de programação. Introdução ao C (continuação) Linguagens de programação Introdução ao C (continuação) M@nso 2003 Sumário Introdução à programação Linguagem C Repetição de instruções Ciclos com controlo inicial ciclo While ciclo For Ciclos com controlo

Leia mais

Ex: Sistema Tráfego Rodoviário

Ex: Sistema Tráfego Rodoviário Ex: Sistema Tráfego Rodoviário Podemos modelá-lo através do Sistema de Rede de Filas: Atores : Carros são os Clientes Ponte éo Serviço Engarrafamento éa Fila Deseja-se, por exemplo: Tempo de espera no

Leia mais

Linguagem C. Prof.ª Márcia Jani Cícero

Linguagem C. Prof.ª Márcia Jani Cícero Linguagem C Prof.ª Márcia Jani Cícero A estrutura Básica de um Programa em C Consiste em uma ou várias funções ou programas. main( ) // primeira função a ser executada // inicia a função // termina a função

Leia mais

REDE PERT - CPM DEP E A P R A TA T M A EN E TO T DE E M EC E ÂN Â IC I A C

REDE PERT - CPM DEP E A P R A TA T M A EN E TO T DE E M EC E ÂN Â IC I A C REDE PERT - CPM DEPARTAMENTO DE MECÂNICA PROGRAMA DE MANUTENÇÃO PREVENTIVA AO LONGO DO ANO PARALIZAÇÕES E TRABALHOS DE EMERGÊNCIA GRANDES TRABALHOS PROJETOS DE MODIFICAÇÕES INSPEÇÃO LUBRIFICAÇÃO DE ROTINA

Leia mais

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1

INF1005: Programação 1. Repetições. 08/03/10 (c) Paula Rodrigues 1 INF1005: Programação 1 Repetições 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Construção de Laços com while Algoritmos com Repetição Construção de Laços com for Repetição com Teste no Final 08/03/10

Leia mais

1 Dimensionamento de Frota

1 Dimensionamento de Frota 1 Dimensionamento de Frota DESENVOLVA UM MODELO DE SIMULAÇÃO COM N CAMINHÕES QUE CIRCULAM ENTRE UMA FÁBRICA E PORTO. TANTO NA FÁBRICA COMO NO PORTO ESSES CAMINHÕES PASSAM POR UM PROCESSO DE PESAGEM NA

Leia mais

Estrutura do programa

Estrutura do programa Linguagem C Estrutura do programa Exemplo: #include #include main() { printf( Ola, mundo! ); system( pause ); }

Leia mais

TÉCNICO DE INFORMÁTICA - SISTEMAS

TÉCNICO DE INFORMÁTICA - SISTEMAS 782 - Programação em C/C++ - estrutura básica e conceitos fundamentais Linguagens de programação Linguagem de programação são conjuntos de palavras formais, utilizadas na escrita de programas, para enunciar

Leia mais

MÉTODOS QUANTITATIVOS PARA CIÊNCIA DA COMPUTAÇÃO EXPERIMENTAL

MÉTODOS QUANTITATIVOS PARA CIÊNCIA DA COMPUTAÇÃO EXPERIMENTAL MÉTODOS QUANTITATIVOS PARA CIÊNCIA DA COMPUTAÇÃO EXPERIMENTAL Pedro Henrique Bragioni Las Casas Pedro.lascasas@dcc.ufmg.br Apresentação baseada nos slides originais de Jussara Almeida e Virgílio Almeida

Leia mais

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real

Departamento de Engenharia Informática Licenciatura em Engenharia Informática Computadores e Sistemas Sistemas de Tempo Real 1. O modelo de processos - Notação Comecemos por sumariar a notação tipicamente utilizada durante as aulas teóricas. C D T Γ 1 Γ 1,1 Γ 1,2 0 3 6 9 12 tempo Activação da tarefa Fim da execução da tarefa

Leia mais

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Departamento de Engenharia Electrotécnica PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012 Mestrado Integrado em Engenharia Electrotécnica e Computadores 1º ano 1º semestre Trabalho nº 5 Funções http://tele1.dee.fct.unl.pt/pm

Leia mais

MC102 Algoritmos e Programação de Computadores

MC102 Algoritmos e Programação de Computadores MC102 Algoritmos e Programação de Computadores Instituto de Computação UNICAMP Primeiro Semestre de 2014 Roteiro 1 Maior número 2 Soma de n números 3 Fatorial 4 Máximo Divisor Comum (MDC) 5 Números primos

Leia mais

Avaliação e Desempenho Aula 18

Avaliação e Desempenho Aula 18 Avaliação e Desempenho Aula 18 Aula passada Fila com buffer finito Fila com buffer infinito Medidas de interesse: vazão, número médio de clientes na fila, taxa de perda. Aula de hoje Parâmetros de uma

Leia mais

Processos Estocásticos aplicados à Sistemas Computacionais

Processos Estocásticos aplicados à Sistemas Computacionais Processos Estocásticos aplicados à Sistemas Computacionais Magnos Martinello Universidade Federal do Espírito Santo - UFES Departamento de Informática - DI Laboratório de Pesquisas em Redes Multimidia

Leia mais

Complexidade de algoritmos Notação Big-O

Complexidade de algoritmos Notação Big-O Complexidade de algoritmos Notação Big-O Prof. Byron Leite Prof. Tiago Massoni Engenharia da Computação Poli - UPE Motivação O projeto de algoritmos é influenciado pelo estudo de seus comportamentos Problema

Leia mais

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE.

MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO. PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE. MANUTENÇÃO DINÂMICA DE MODELOS EM COMPUTAÇÃO SENSÍVEL AO CONTEXTO Rodrigo Hernandez SOARES 1 ; Ricardo Couto Antunes da ROCHA 2 PALAVRAS-CHAVE: CEP, Esper, Computação Sensível ao Contexto, SBE. 1 - INTRODUÇÃO

Leia mais