A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

1 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC COMO FUNCIONA A SIMULAÇÃO Capítulo 2 - Aula 2.

Apresentações semelhantes


Apresentação em tema: "1 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC COMO FUNCIONA A SIMULAÇÃO Capítulo 2 - Aula 2."— Transcrição da apresentação:

1 1 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC COMO FUNCIONA A SIMULAÇÃO Capítulo 2 - Aula 2

2 2 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Tratando a Variabilidade dos Sistemas é Da mesma maneira que houve a necessidade de dados para encaminhar a solução analítica para a problema do posto de lavação de carros, o emprego da simulação também o exigiu (ver tabela 2.3). é As diferenças fundamentais entre os dois tratamentos começam aqui: para a solução analítica o objetivo da coleta e tratamento de dados é a determinação de valores que representam o comportamento médio das variáveis do sistema para a simulação o objetivo é compreender o comportamento dinâmico e aleatório das variáveis, com a intenção de incorporá-lo ao modelo.

3 3 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Tabela Dados Brutos Tabela 2.6: Dados brutos dos tempos entre chegadas de 100 automóveis

4 4 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Distribuição de Freqüências dos TEC Tabela 2.7: Distribuição de freqüências das observações efetuadas para os tempos entre chegadas.

5 5 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Distribuição de Freqüências dos TS Tabela 2.8: Distribuição de freqüências das observações efetuadas para os tempos de serviço

6 6 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Instruções para Sorteio u De maneira semelhante a simulação manual anteriormente realizada, nesta também serão realizados sorteios para a obtenção dos valores das variáveis aleatórias TEC e TS. u Procedimento sistemático semelhante ao das rifas ou loterias. Desta forma, a seguinte estratégia é adotada: é Um total de 100 bilhetes, são confeccionados e colocados numa urna; é Cada bilhete contém um número que representa o ponto médio da classe a qual pertence, conforme a tabela 2.7. Assim, um bilhete representante da classe que inicia em 10 e termina em 15, deve estar marcado com o número 12,5 (min.). é As diversas classes devem concorrer com um número de bilhetes equivalentes aos percentuais de participação na amostra levantada. é A classe de números entre 0 e 5, deve concorrer com 35 bilhetes de um total de 100 bilhetes a serem colocados na urna, nos quais o valor 2,5 (min.) estará anotado.

7 7 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Tabela de Simulação Tabela 2.9: Novo modelo e simulação do posto de serviços

8 8 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Resultados

9 9 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Nº de Carros no Sistema u Vamos examinar a questão do número de carros no sistema, uma vez que o problema de espaço para aguardar pelo serviço é considerado crítico pelo proprietário. Vejamos seu comportamento ao longo do período simulado, por meio do gráfico 2.2.

10 10 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Dúvidas u Observa-se que uma vez realizado um tratamento mais acurado das variáveis aleatórias envolvidas no problema, é possível incorporar sua conduta ao modelo, fazendo com que este tenha mais aderência ao sistema real. u A questão que se coloca agora é: u É possível tirar conclusões definitivas sobre o comportamento deste sistema com os elementos calculados? u Será que os resultados obtidos são decorrentes da própria natureza do sistema simulado ou foram provocados pelo modelo e pelos processos envolvidos na execução da simulação? é Lembre-se que geramos, por sorteio, valores das variáveis aleatórias relativas aos tempos entre chegadas de carros e os tempos de serviços.

11 11 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Dúvidas u A resposta é não. u Não se pode tirar conclusões definitivas sobre o comportamento deste sistema apenas com os resultados obtidos. São pelo menos dois os motivos que levam a não confiar cegamente nestes resultados. é Os valores obtidos nesta simulação dependem dos valores aleatórios sorteados. Fossem outros os valores sorteados e os resultados seriam diferentes. é É o pequeno número de elementos amostrados para que se possa chegar a conclusões definitivas. u Estes problemas são, no entanto, contornáveis.

12 12 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Tratamento dos Resultados u O primeiro problema pode ser resolvido pela aplicação de métodos que permitam controlar a variabilidade dos procedimentos utilizados. é Desta maneira, obtém-se a certeza de que a variabilidade nos resultados sejam decorrentes somente da aleatoriedade dos processos envolvidos no sistema modelado e não de um descontrole sobre a geração das variáveis aleatórias obtidas pelos sorteios, o qual se refletirá nos resultados da simulação. u O segundo problema é, na verdade, uma questão meramente de cunho estatístico. é Como qualquer problema envolvendo experimentação, a simulação resulta na obtenção de dados os quais devem ser adequadamente tratados. é Toda a afirmação ou conclusão a partir de elementos resultantes de simulações exige um mínimo de atenção, sobre os dados obtidos. é Tirar conclusões com base em uma pequena quantidade de dados que apresentam alta variabilidade pode ser extremamente perigoso.

13 13 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC O Método de Monte Carlo u A origem do Método de Monte Carlo (MMC), deveu-se à revisão de uma técnica matemática, conhecida desde o século passado, durante o trabalho secreto dos cientistas envolvidos no projeto Manhattan em Los Alamos, EUA, para o desenvolvimento da bomba atômica dos aliados durante a segunda guerra mundial. A técnica recebeu o código de Monte Carlo e foi, posteriormente, em 1949, divulgada em um artigo científico intitulado The Monte Carlo Method [Dudewics, 1975]. é Na aplicação desta técnica, os dados são artificialmente gerados empregando- se um gerador de números aleatórios (GNA) e uma distribuição de freqüências da variável de interesse. é Estes são dois pontos fundamentais no uso desta técnica e na sua posterior aplicação em programas de simulação.

14 14 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC GNAs u Um GNA, é um programa computacional que deve ser capaz de gerar valores aleatórios independentes e uniformemente distribuídos (isto é, todos com a mesma probabilidade de ocorrência) no intervalo de 0 a 1. u A busca de bons algoritmos geradores de números aleatórios só se desenvolveu plenamente quando do advento dos primeiros computadores digitais. u Tabelas de números aleatórios é Tippett em 1927, com dígitos gerados a partir de estatísticas obtidas em censos é Kendall e Babington-Smith em 1939, com dígitos, gerados a partir de um sistema mecânico, criado pelos próprios autores. é Os esforços de tabulação praticamente se encerraram com a publicação, em 1955, da monumental tabela com um milhão de dígitos aleatórios da Rand Corporation obtidos a partir de uma roleta eletrônica, feita especialmente para este propósito.

15 15 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Números Pseudo-Aleatórios u Por serem gerados artificialmente, os valores aleatórios obtidos são conhecidos como números pseudo-aleatórios. u Isto significa que a seqüência de números produzidos por um destes algoritmos é reproduzível e, portanto, não aleatória no sentido estrito do termo. u Estatisticamente falando, a comparação entre um conjunto de valores gerados em um computador com outro, verdadeiramente aleatório, gerado, por exemplo, pela natureza, não apresenta diferenças. u E os números VERDADEIRAMENTE aleatórios? u Você conhece algum gerador?

16 16 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Simulação com uso do Método de Monte Carlo Tabela 2.10: Freqüências e valores empregados no MMC no exemplo do posto de serviços

17 17 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Tabela de números aleatórios

18 18 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Obtenção de TEC Usando o MMC Figura 2.4: Atribuição do valor de TEC após o sorteio Valor de TEC 0,43 Número aleatório sorteado

19 19 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC O MMC u O MMC é um conceito básico para a compreender os procedimentos que ocorrem dentro de um programa de simulação quando este executa o modelo de um sistema. u No exemplo anterior percebe-se que com MMC é possível reproduzir, no modelo, o comportamento das inúmeras variáveis aleatórias que compõem os sistemas do mundo real. u Quando se está lidando com uma linguagem de simulação, os procedimentos para traduzir este comportamento podem ser realizados de diversas formas. Uma delas é descrever ao modelo ou programa a distribuição de freqüências das variáveis aleatórias de forma semelhante ao que acabamos de realizar.

20 20 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Método de Monte Carlo - Exercício u Realize uma simulação manual semelhante ao exemplo da tabela 2.9. u Para determinar o TEC e o TS, empregue o MMC. u Utilize a tabela 2.10 como base para o sorteio dos TEC. u Monte uma tabela equivalente a tabela 2.10 para encontrar os valores para TS. Use a planilha Exercício MMC.xls.

21 21 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Funções Geradoras de Variáveis Aleatórias u Nos programas de simulação existe um GNA e inúmeras outras funções matemáticas descritas como Funções Geradoras de Variáveis Aleatórias ou FGVAs. u Para cada tipo de distribuição teórica de probabilidades existe um FGVA apropriada. u Desta forma, sempre que o usuário de um programa de simulação desejar que seu modelo faça uso de um destas funções, basta invocar o nome da função desejada e fornecer os parâmetros. u Por exemplo: é Se desejar o valor de uma variável aleatória com características de uma distribuição exponencial com média igual a 10, basta a ele escrever no seu modelo EXPO (10). Neste caso, imaginando que o nome EXPO acione a FGVA responsável pela geração de variáveis aleatórias com características de uma função exponencial, a resposta seria um valor pertencente a esta distribuição.

22 22 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Funções Geradoras de Variáveis Aleatórias Figura 2.5: Troca de dados e informações entre o modelo computacional e as FGVAs Fornece o parâmetro (10) para a FGVA EXPO TEC= EXPO (10) Modelo Computacional Invoca a FGVA Argumentos: NA[0;1] + Média (10) GNA fornece NA Retorna o valor de TEC TEC = 7,45823

23 23 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Terminologia Básica u Variáveis de Estado u Eventos u Entidades e Atributos u Recursos e Filas de Recursos u Atividades e Períodos de Espera u Tempo (Real) Simulado e Tempo de Simulação u Mecanismos de Avanço do Tempo

24 24 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Variáveis de Estado u As variáveis cujos valores definem o estado de um sistema em um tempo t são conhecidas como variáveis de estado. u Constituem o conjunto de informações necessárias à compreensão do que está ocorrendo no sistema, num determinado instante no tempo, com relação aos objetos de estudo. u Exemplos: é o estado de uma máquina, isto é, ocupada ou livre; é número de clientes esperando na fila de um caixa; é número de jobs aguardando na fila da CPU, número de jobs já atendidos, etc.

25 25 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Eventos u A ocorrência de uma mudança de estado em um sistema é chamada de evento. u Nos exemplos anteriormente citados, os quais representam sistemas com um único servidor e uma única fila de espera por serviço, podemos considerar três tipos de eventos: u a chegada de peças, clientes ou jobs no sistema, é o inicio do processamento pela máquina, caixa ou CPU e, é a saída de peças, clientes ou jobs dos sistemas.

26 26 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Entidades u Entidades representam objetos e necessitam definições claras e explicitas. u Podem ser dinâmicas, movendo-se através do sistema, ou estáticas, servindo outras entidades. u Exemplos de entidades dinâmicas: é peças (que se movem pela fábrica); é clientes chegando e saindo da fila do caixa no supermercado; é os jobs que chegam e saem da CPU após processados. u Exemplos de entidades estáticas: é a máquina, o caixa e a CPU.

27 27 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Atributos u As características próprias das entidades, isto é, àquelas que as definem totalmente, são chamadas de atributos. u Várias entidades semelhantes possuem os mesmos atributos. Os valores dos atributos é que as diferenciam entre si. u Por exemplo, as características de diferentes peças (entidades) produzidas numa máquina podem ser explicitamente individualizadas por um simples atributo tais como um código, número ou tipo. u O mesmo poderá ocorrer com as entidades clientes ou jobs dos dois outros sistemas exemplificados.

28 28 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Recursos u Um recurso é uma entidade estática que fornece serviços às entidades dinâmicas. u Um recurso pode ter a capacidade de servir uma ou mais entidades dinâmicas ao mesmo tempo, operando como um servidor paralelo. u É possível que uma entidade dinâmica opere com mais de uma unidade do recurso ao mesmo tempo, ou com diferentes recursos ao mesmo tempo. u Um recurso pode ter vários estados. Os mais comuns são: ocupado e livre. Outros podem ser definidos tais como: bloqueado, falhado, indisponível, etc..

29 29 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Filas dos Recursos u Se uma entidade dinâmica não puder apoderar-se do recurso solicitado, ela deverá aguardar pelo mesmo em uma fila. u O processamento de uma fila, isto é, a forma como a mesma será gerenciada depende, fundamentalmente, das políticas operacionais adotadas no sistema ou no modelo que o representa. u A política de tratamento de fila mais comum é a FIFO (First In, First Out), onde o primeiro a chegar na fila será o primeiro a ser atendido pelo recurso. u Se puder capturar o recurso, a entidade dinâmica o reterá por um tempo (tempo de processamento) liberando-o a seguir.

30 30 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Atividades u Em simulação dissemos que uma atividade corresponde a um período de tempo pré-determinado. u Uma vez iniciada, seu final pode ser programado. u A duração de uma atividade não é, necessariamente, uma constante, podendo ser o resultado: é de uma expressão matemática; é de um valor aleatório com base em uma distribuição de probabilidades; é da uma leitura em um arquivo ou fonte externa; é ou ser dependente do próprio estado do sistema.

31 31 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Exemplos de Atividades é O tempo necessário a um serviço poderá durar 5 minutos para cada entidade, ou 5 minutos para a entidade A e 8 minutos para a B; é poderá ser aleatório, de acordo com uma distribuição normal de média 10 minutos e desvio-padrão 1 minuto; é poderá ser dependente do relógio da simulação, isto é, de 5 minutos se o tempo de simulação se encontrar entre o tempo simulado 0 e tempo 120 min, e de 3 minutos se o tempo de simulação for maior do que 120 minutos; é poderá depender do estado do sistema. Por exemplo: o tempo de serviço depende do tamanho da fila diante de um servidor (caixa). é Se a fila for grande, maior que cinco entidades, o caixa é levado a agir mais rápido, com média de 3 minutos por entidade. Se no entanto o número de entidades na fila for pequeno (menos do que cinco) ele relaxa e passa a atender com média de 4 minutos por entidade.

32 32 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Esperas u Ao contrário de uma atividade, uma espera é um período de tempo sobre o qual não temos controle. u Uma vez iniciado, não podemos programar seu fim. u Um caso típico, são as esperas causadas por eventos inesperados. u Todo início e final de uma atividade ou período de espera, é causado por um evento.

33 33 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Exemplos de Esperas é Uma entidade entra em uma fila de espera por um recurso. O tempo que a mesma ficará retida na fila dependerá da soma dos tempos de processamento das outras entidades que se encontram na fila ou em processo. Se a forma de gerenciamento da fila for FIFO, pode-se calcular esta espera. é No entanto, se outra forma de gerenciamento for adotada, com base, digamos, em um atributo de prioridade, um evento inesperado, como a chegada na fila de uma entidade com maior prioridade, torna tal controle quase impossível. é Outro caso de um evento inesperado seria a indisponibilidade, por tempo indeterminado, do recurso devido a uma quebra do mesmo.

34 34 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Tempo (Real) Simulado e Tempo de Simulação u Deve-se tomar certas precauções sobre a relação entre o tempo (do sistema real) simulado e o tempo de simulação (tempo necessário a execução de um experimento no computador). é Para certos sistemas, o tempo de simulação pode ser muito maior que o tempo simulado. Por exemplo, na simulação de um modelo de uma rede de computadores, as unidades de tempo admitidas são da ordem de milisegundos. é Se no modelo o número de entidades e o número de processos que estas devem ser submetidas for grande (milhares de pacotes sendo roteados, por exemplo), o tempo de CPU dedicado a este processamento poderá ser razoável (dependendo da CPU). é Desta forma, para simular, digamos 15 segundos de funcionamento deste sistema, é possível que se gaste dezenas de minutos de tempo de computador. u É sempre recomendável estar atento a detalhes desta natureza quando se lida com simulação

35 35 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Mecanismos de Avanço do Tempo u Em função da natureza dinâmica dos modelos de simulação discreta é preciso manter um constante acompanhamento do valor do tempo simulado, enquanto a simulação avança. u É necessário também que o programa de simulação possua um mecanismo para avançar o tempo simulado de um valor para outro. u A variável que guarda o tempo atualizado de simulação é chamada de relógio da simulação.

36 36 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Mecanismos de Avanço do Tempo u Avanço do tempo para o próximo evento. é Utilizado tanto por programas comerciais de simulação como por aqueles montados sobre uma linguagem de programação de propósito geral como C, FORTRAN ou PASCAL. u Avanço do tempo com incremento fixo. é Utilizado em alguns programas comerciais europeus. Algumas pesquisas no meio acadêmico (Inglaterra)

37 37 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Métodos de Modelagem u World View ( visão da realidade ou do mundo ) é um termo muito utilizado para designar especificamente que abordagem está sendo adotada. u A visão da realidade sob o ponto de vista da simulação pode ser expressa da seguinte forma [Pegden 90]: é A realidade consiste numa série de entidades ou transações que fluem através do sistema. Tais entidades, são descritas, caracterizadas e identificadas por seus atributos. é As entidades interagem com recursos e outras facilidades participando de atividades de acordo com certas condições, as quais determinam a seqüência das interações. é Estas interações estão relacionadas ou criam eventos os quais, alteram o estado do sistema.

38 38 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Métodos de Modelagem u Dentro desta visão da realidade existem, basicamente, três diferentes métodos de modelagem, os quais dependem da linguagem de simulação empregada para serem utilizados: é a modelagem por eventos; é a modelagem por atividades; é a modelagem por processos. u As diferenças básicas entre os métodos encontram-se, fundamentalmente, na forma com que o próximo evento é programado para ser processado, o que depende do mecanismo de avanço do tempo adotado.

39 39 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Métodos de Modelagem... u Eventos Condicionais e Incondicionais. A ocorrência de um evento pode ser condicional ou incondicional. é Eventos incondicionais podem ser executados quando da ocorrência de seu tempo programado (momento em que o mesmo deve acontecer) no relógio do programa de simulação. Sua execução depende unicamente do tempo de simulação. é Os eventos condicionados, dependerão de outras condições além do tempo, as quais, usualmente, estão relacionadas com o status do sistema como, por exemplo, a disponibilidade de um recurso, a espera por outras entidades, etc..

40 40 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Métodos de Modelagem... u Abordagem por Eventos é O sistema é modelado pela identificação de seus eventos característicos (os quais são incondicionais), dependendo unicamente do tempo de simulação. é Rotinas descrevem as mudanças de estado que podem ocorrer no sistema em pontos discretos no tempo, de acordo com a ocorrência dos eventos. Estas rotinas descrevem ações relacionados a ocorrência dos eventos. é O processo de simulação evolui ao longo do tempo pela execução dos eventos selecionados de uma pilha de eventos, escolhendo sempre aquele com o tempo (determinado) mais próximo do tempo corrente de simulação.

41 41 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Métodos de Modelagem u Abordagem por Atividades é a estratégia de busca do próximo evento da lista é baseada tanto no tempo programado de ocorrência como em testes condicionais. é aplicável a sistemas cujas mudanças de estado dependem da ocorrência de eventos condicionados, isto é, outras condições, além do tempo devem ser verdadeiras. é a busca sobre o próximo evento deve considerar ambas as situações: tempo de simulação e quaisquer outras condições favoráveis ao disparo de um evento. é A monitoração de situações de busca de condições de início de eventos é típica da modelagem por atividades.

42 42 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC Métodos de Modelagem u Modelagem por processos é os sistemas são vistos principalmente do ponto de vista das entidades. é a visão é de um conjunto das entidades dinâmicas de um sistema que se encontram permanentemente competindo entre si pela posse de recursos. é o programa de computador resultante da modelagem procura, por meio de suas rotinas, imitar o comportamento das entidades em seu fluxo ou movimento pelo sistema, buscando cumprirem os processos ou atividades a elas designados. é o programa monitora cada entidade individualmente. Seu movimento ou seqüência de atividades é acompanhado até que, num ponto qualquer, este seja suspenso. No momento em cessa seu movimento, o programa avança o relógio da simulação para o tempo em que outra entidade (a primeira da fila de próximo evento) esteja sendo liberada de uma suspensão e passa a acompanhá-la. é estes procedimentos se repetem com todas as entidades que estejam no sistema até que estas o deixem, quando realizarem todas as suas atividades.


Carregar ppt "1 Simulação de Sistemas Prof. Paulo Freitas INE/UFSC COMO FUNCIONA A SIMULAÇÃO Capítulo 2 - Aula 2."

Apresentações semelhantes


Anúncios Google