SIMULAO DISCRETA COMO FUNCIONA A SIMULAO 11272020 COMO

  • Slides: 107
Download presentation
SIMULAÇÃO DISCRETA COMO FUNCIONA A SIMULAÇÃO 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C.

SIMULAÇÃO DISCRETA COMO FUNCIONA A SIMULAÇÃO 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 1

Objetivos • Usar exemplos para introduzir conceitos. • Variabilidade dos sistemas e modelos de

Objetivos • Usar exemplos para introduzir conceitos. • Variabilidade dos sistemas e modelos de simulação. • Técnicas mais comuns encontradas nos programas e linguagens comerciais de simulação. • Terminologia básica utilizada em modelagem e simulação de sistemas. • Funcionamento de um programa de simulação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 2

Modelo Computacional para Simulação de um Sistema • Executa sequencialmente e de maneira repetitiva

Modelo Computacional para Simulação de um Sistema • Executa sequencialmente e de maneira repetitiva um conjunto de instruções. • Como os modelos tratam de sistemas dinâmicos as variáveis mudam na medida em que o tempo simulado progride. • Como se tratam, na maioria das vezes, de sistemas estocásticos, tais variáveis não tem seus valores antecipadamente determinado. • Para que o modelo computacional evolua dinamicamente, uma das soluções é construir programas de computadores orientados a eventos. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 3

Facilidade de Uso • É possível construir modelos em computadores com um mínimo de

Facilidade de Uso • É possível construir modelos em computadores com um mínimo de conhecimento sobre: uma linguagem de simulação, toda a lógica de programação e a matemática envolvida. • No entanto quando se faz uso de uma ferramenta de avaliação é fundamental que todos os membros envolvidos no projeto possuam um conhecimento mínimo da técnica e dos princípios que conduzem a obtenção dos resultados. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 4

Um Exemplo Simples • Posto de lavação de automóveis. • Sistema de fila simples

Um Exemplo Simples • Posto de lavação de automóveis. • Sistema de fila simples Área de espera Auto lavado Área de Estacionamento 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 5

Como tratar e analisar o problema? • Objetivo: Melhorar o atendimento ao público nos

Como tratar e analisar o problema? • Objetivo: Melhorar o atendimento ao público nos finais de semana. • Questões sobre o funcionamento do negócio: – Área suficiente para acomodar a clientela no sábado pela manhã ou perdendo clientes por falta de espaço? – Serviços estão sendo prestados em tempo aceitável? – É necessário contratar operador auxiliar para o período de alta demanda? 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 6

Informação necessária ao estudo do sistema por meio de um modelo • Com que

Informação necessária ao estudo do sistema por meio de um modelo • Com que frequência ocorre a chegada de carros para serem lavados? • Qual o tempo necessário para completar o serviço? 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 7

Segundo Observações • Sábado pela manhã é período de pico: – Tempo de chegada:

Segundo Observações • Sábado pela manhã é período de pico: – Tempo de chegada: 1 auto/10 min. – Tempo de atendimento: aprox. 1 auto/15 min. • No entanto às vezes é o contrário: – Tempo de chegada: maior que 1 auto/10 min. – Tempo de atendimento: 1 auto/10 min. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 8

Considerações segundo informações fornecidas: Primeira situação • Primeira situação: frequência de chegadas é maior

Considerações segundo informações fornecidas: Primeira situação • Primeira situação: frequência de chegadas é maior que frequência de saídas (1 auto/10 min > 1 auto/15 min) • Se observarmos um sistema com este comportamento por um período razoável, 2 horas, por exemplo o que ocorre com a área de espera? 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 9

Considerações segundo informações fornecidas: Segunda situação • Situação diferente. • O que ocorre com

Considerações segundo informações fornecidas: Segunda situação • Situação diferente. • O que ocorre com a área de espera? • Fica claro que mesmo o problema sendo simples deve haver uma abordagem apropriada para sua solução. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 10

Alternativas possíveis para o sistema de fila simples • 1) Tratamento por emprego de

Alternativas possíveis para o sistema de fila simples • 1) Tratamento por emprego de bom senso e um pouco de adivinhação, o qual batizaremos de “achometria” • 2) Tratamento analítico, empregando-se por exemplo, teoria das filas. • 3) Tratamento por meio de modelagem e simulação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 11

Emprego da Achometria • Embora desaconselhável, é uma das técnicas de apoio à decisão

Emprego da Achometria • Embora desaconselhável, é uma das técnicas de apoio à decisão mais utilizada. • Dados fornecidos: Situação TEC – Tempo entre Chegadas TS – Tempo de Serviço A 10 min 15 min B 10 min 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 12

Emprego da Achometria: Situação A • Com relação a este cenário, as decisões poderiam

Emprego da Achometria: Situação A • Com relação a este cenário, as decisões poderiam ser: – Aumentar a área de espera. – Contratar mais um empregado e comprar mais um elevador hidráulico, ou: – Ambas as medidas acima 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 13

Emprego da Achometria: Situação B • Sistema com folga, sem medida a ser tomada.

Emprego da Achometria: Situação B • Sistema com folga, sem medida a ser tomada. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 14

Conclusão • A “achometria” conduz a resultados nada compensadores. • A verdade se encontra

Conclusão • A “achometria” conduz a resultados nada compensadores. • A verdade se encontra entre os 2 extremos encontrados. • Esta técnica peca na falta de elementos para o exercício da previsão e da avaliação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 15

Emprego da Teoria das Filas • Uso de fórmulas matemáticas. • Cálculo de tempo

Emprego da Teoria das Filas • Uso de fórmulas matemáticas. • Cálculo de tempo médio dos serviços, tamanho médio da fila na área de espera, tempo médio de espera, proporção de ocupação do operador, etc. • Banks, 1996. Jain, 1991. Law, 1991. • É importante conhecer o tipo de modelo sendo usado para que o formulário correto seja adotado. • Nosso sistema é o mais simples e popular e é designado por M/M/1, denominado Markoviano. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 16

Sistema Markoviano • Tempos (de chegada e serviço) independentes uns dos outros. • Tempos

Sistema Markoviano • Tempos (de chegada e serviço) independentes uns dos outros. • Tempos distribuídos segundo uma distribuição exponencial. • O algarismo 1 indica a existência de um único servidor. • Na área de espera não há limitações de espaço. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 17

Formulário para o Sistema M/M/1 • As fórmulas são válidas para longas observações do

Formulário para o Sistema M/M/1 • As fórmulas são válidas para longas observações do sistema e para o sistema estável. Número Médio de Carros no Sistema L= / - Tempo Médio Despendido no Sistema W=1/ - Taxa Média de Ocupação do Servidor = / = Taxa de chegadas Num. auto/tempo = Taxa de serviço Num. Auto/tempo 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 18

Análise Via Teoria de Filas: Situação A • =6 (chegam em média ao sistema

Análise Via Teoria de Filas: Situação A • =6 (chegam em média ao sistema 6 autos por hora) • =4 (são atendidos 4 autos/hora) • > => Instabilidade total no sistema! 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 19

Análise Via Teoria de Filas: Situação B • Tempo de chegada 10 min (10,

Análise Via Teoria de Filas: Situação B • Tempo de chegada 10 min (10, 12 e 15 minutos) => =6 (60/10); 5 (60/12); 4 (60/15) autos/hora • Tempo de atendimento 10 min => = 6 autos/hora 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 20

Respostas do Modelo de Filas 11/27/2020 6 5 4 L infinito 5 2 W

Respostas do Modelo de Filas 11/27/2020 6 5 4 L infinito 5 2 W infinito 1 0, 5 1 0, 833 0, 666 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 21

Conclusão sobre o Uso da Teoria das Filas • Costuma ser empregada quando se

Conclusão sobre o Uso da Teoria das Filas • Costuma ser empregada quando se quer observar diferenças mais grosseiras entre sistemas. • O emprego de valores médios (estimativas) para o tempo decorrido entre chegadas e o tempo de serviço pode levar a conclusões imprecisas, devido aos erros associados na obtenção das estimativas. • As distribuições usadas para estimar o comportamento aleatório das variáveis envolvidas podem ser inadequadas. • As fórmulas são apropriadas quando se considera um grande período de observações. • Torna-se extremamente complexa a possibilidade de analisar a variabilidade do sistema (seu comportamento dinâmico e estocástico ao longo de m período de tempo ou intervalo de interesse). 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 22

Emprego da Modelagem e Simulação • Podemos tratar sistemas menos complexos com simulações manuais.

Emprego da Modelagem e Simulação • Podemos tratar sistemas menos complexos com simulações manuais. • Nas simulações manuais empregamos tabelas de simulações. • Estas tabelas apresentam um registro do comportamento dinâmico do sistema ao longo do tempo. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 23

Diferença entre o uso da Teoria das Filas e da Simulação • As principais

Diferença entre o uso da Teoria das Filas e da Simulação • As principais diferenças entre as 2 abordagens é o uso de valores determinísticos para os tempos entre chegadas (TEC) e para os tempos de serviços (TS). • No modelo de Teoria das Filas foram empregados diferentes valores para TEC e TS, mas em experimentos separados e em cada um deles os valores médios utilizados permaneceram fixos. • Já no caso da simulação faremos uma aproximação maior com a realidade. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 24

Considerações • A variável TEC assume os valores 10, 12, e 15 min. más

Considerações • A variável TEC assume os valores 10, 12, e 15 min. más de forma aleatória, como num sistema real. • Assume-se que esta variável pode apresentar 3 possíveis valores com as mesmas possibilidades, isto é, 1/3 para cada alternativa. • Da mesma forma s TS também poderá randomicamente assumir os valores 9, 10 e 11 min. com probabilidade de ocorrência de 1/3 para cada situação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 25

Parâmetros para o Modelo de Simulação TEC 11/27/2020 TS Tempos (min) 10 12 15

Parâmetros para o Modelo de Simulação TEC 11/27/2020 TS Tempos (min) 10 12 15 9 10 11 Probabilidades 1/3 1/3 1/3 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 26

Principais Questões do Problema • O tamanho da área de espera disponível é suficiente?

Principais Questões do Problema • O tamanho da área de espera disponível é suficiente? (para no máximo 4 automóveis). • O tempo de realização dos serviços é suficiente? • Existe necessidade de contratar um operador auxiliar? 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 27

Necessidade de Cálculos • Número de carros esperando na fila. • Tempo gasto pelos

Necessidade de Cálculos • Número de carros esperando na fila. • Tempo gasto pelos clientes no sistema. • Taxa de ocupação do operador. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 28

Dados necessários para realizar os cáculos • 1) Para o cálculo do número de

Dados necessários para realizar os cáculos • 1) Para o cálculo do número de carros esperando na fila, um constante monitoramento da área de espera será realizado ao longo da simulação. • 2) Para o cálculo do tempo de um cliente no sistema é necessário guardar o tempo de sua entrada. Posteriormente, quando de sua saída, verifica-se o momento que isto ocorre e deste subtrai-se o tempo de sua chegada. Com isto podemos construir uma lista de todos os clientes que passam pelo sistema durante a simulação. • 3) Para calcular a taxa de ocupação do operador é necessário verificar qual a parcela do tempo de operação do sistema (tempo simulado) que este se encontra ocupado ou livre. Acumula-se todos os períodos de tempo em que o operador está no estado livre. • 4) Percentual de Tempo Livre = Tempo Livre/Tempo de Simulação • 5) Período de simulação é de 180 minutos. Posto abrindo aos sábados das 09: 00 as 12: 00 hs. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 29

Simulação Manual dos Primeiros 15 Clentes Cliente Tempo desde a última chegada (min) Tempo

Simulação Manual dos Primeiros 15 Clentes Cliente Tempo desde a última chegada (min) Tempo de chegada no relógio Tempo do Serviço (min) Tempo de início do serviço no relógio Tempo do cliente na fila (min) Tempo Final do serviço no relógio (min) Tempo do cliente no sistema(min) Tempo Livre do Operador (min) 1 15 15 11 15 0 26 11 15 2 12 27 10 27 0 37 10 1 3 10 37 9 37 0 46 9 0 4 10 47 0 57 10 1 5 12 59 9 59 0 68 9 2 6 15 74 10 74 0 84 10 6 7 10 84 11 84 0 95 11 0 8 12 96 9 96 0 105 9 10 106 11 106 0 117 11 1 10 10 116 10 117 1 127 11 0 11 10 126 11 127 1 138 12 0 12 12 138 9 138 0 147 9 0 13 15 153 10 153 0 163 10 6 14 12 165 9 165 0 174 9 2 15 12 177 11 177 0 188 11 3 152 38 150 11/27/2020 2 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 30

Análise da Tabela • A primeira coluna é a ordem de chegada dos clientes

Análise da Tabela • A primeira coluna é a ordem de chegada dos clientes no sistema. • A segunda coluna apresenta os tempos entre chegadas que serão sorteados para cada um dos clientes de acordo com os valores e probabilidades da Tabela Anterior. • Na coluna “Tempo de chegada no relógio, ” serão colocados os valores (em min) relativos às chegadas de cada cliente no sistema. • A coluna “Tempo de Serviço” informa valores sorteados que determinam os tempos de serviços atribuídos a cada um dos clientes de acordo com as probabilidades da tabela anterior. • As demais coluna apresentam números que permitem interpretar os acontecimentos que se sucedem dentro do sistema e que serão necessários para o cálculo das estatísticas. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 31

Explicações sobre a Tabela • Primeiro cliente. • Segundo cliente. • Décimo cliente. Fica

Explicações sobre a Tabela • Primeiro cliente. • Segundo cliente. • Décimo cliente. Fica 1 minuto na fila de espera. Ele chega ao sistema 10 min. após a chegada do nono cliente. O relógio marca, neste instante, 116 minutos. Uma vez que o cliente anterior irá liberar o servidor somente aos 117 minutos, conforme pode ser visto na tabela, ele não pode dar início à sua atividade. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 32

Cálculos • Tempo Médio de Espera na Fila = Tempos de espera na fila/Número

Cálculos • Tempo Médio de Espera na Fila = Tempos de espera na fila/Número total de clientes = 2/15 = 0, 13 minutos • A probabilidade de 1 cliente esperar na fila é de apenas 13%. • Probabilidade de um cliente esperar na Fila = Núm clientes que esperam/Núm total de clientes = 2/15 = 0, 13. • A proporção do Tempo Livre do operador é de 20, 2%. • Probabilidade do Operador Livre = Tempo Livre do Operador / Tempo total de simulação = 38/188 = 0, 202 • A probabilidade do operador estar ocupado é 79, 8% • O tempo Médio de Serviço é de 10 min. • Tempo Médio de Serviço = Tempo de Serviço / Núm Total de Clientes = 150/15 = 10 min. • O tempo médio despendido no sistema é de 10, 13 min. • Tempo Médio despendido no sistema = Tempos no Sistema/Num de Clientes=152/15=10, 13 min. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 33

Resposta as Questões do Proprietário • Em média um cliente permanece em torno de

Resposta as Questões do Proprietário • Em média um cliente permanece em torno de 10 min. no posto. • Em média o operador estará ocupado cerca de 80% de seu tempo o que é mais do que razoável. • O tempo médio na fila é 0, 13 min. e o tempo médio de serviço é de 10, 00 minutos. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 34

Conclusões • Com a simulação temos a possibilidade de observar toda a dinâmica do

Conclusões • Com a simulação temos a possibilidade de observar toda a dinâmica do sistema. • Podemos testar novas estratégias para o funcionamento do negócio antes de sua real implementação. • Podemos com isto observar as diferenças básicas entre as 3 abordagens usadas na resolução deste problema. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 35

Outra Situação • Suponha que o novo posto de serviço, especializado em limpeza de

Outra Situação • Suponha que o novo posto de serviço, especializado em limpeza de automóveis, opere com 9 funcionários que se distribuem em uma espécie de linha de produção. • A qual divide o processo em 6 etapas: – Aspiração – Pré-lavação – Aplicação de sabão 11/27/2020 - Enxágue - Secagem - Acabamento COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 36

Outra Situação (Continuação) • Os serviços oferecidos são de dois tipos: limpeza completa e

Outra Situação (Continuação) • Os serviços oferecidos são de dois tipos: limpeza completa e limpeza rápida. • No primeiro tipo o auto deve passar por todas as etapas. • No segundo tipo apenas pela prá-lavação, aplicação de sabão e enxágue. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 37

Etapas dos Processos Realizados no Novo Posto de Serviços Automotivos Serviço Expresso Pré-lav Sabão

Etapas dos Processos Realizados no Novo Posto de Serviços Automotivos Serviço Expresso Pré-lav Sabão Enxague Serviço Completo Aspiração 11/27/2020 Secagem COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI Acabamento 38

O proprietário quer melhorar o desempenho do sistema atual via 3 alternativas • Com

O proprietário quer melhorar o desempenho do sistema atual via 3 alternativas • Com aumento do número de empregados. • Compra de alguns equipamentos para o serviço espresso, o deslocamento do pessoal liberado para o serviço completo, com uso da máquina para as etapas comuns, e uma campanha para valorizar o serviço completo incluindo preços promocionais. • A terceira alternativa implica na aquisição de alguns equipamentos para automatizar determinados postos do processo, a demissão dos operadores em excesso e a manutenção dos preços dos serviços. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 39

Números Atuais do Negócio • Número médio de autos atendidos/dia= 10 a 50. •

Números Atuais do Negócio • Número médio de autos atendidos/dia= 10 a 50. • Número médio de autos atendidos para limpeza completa = 2 a 15. • Número médio de autos atendidos para a limpeza expressa = 8 a 35 • Tempo médio de uma limpeza completa= 14 a 24 minutos • Tempo médio de uma limpeza expressa = 4 a 7 minutos. • Tempo de cada etapa: – Aspiração= 4 a 6 min – Aplicação do sabão= 1 a 2 min – Secagem = 4 a 6 min - Pré-lavação= 1 a 2 min - Enxágue = 2 a 3 min - Acabamento = 2 a 5 min • Número total de empregados (que podem atuar em qualquer dos postos): 9 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 40

Números Atuais do Negócio • Número total de empregados por etapa do processo: –

Números Atuais do Negócio • Número total de empregados por etapa do processo: – – – Aspiração: 2 Pré-lavação: 1 Aplicação do sabão: 1 Enxágue: 1 Secagem: 2 Acabamento: 2 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 41

Previsão de Demanda para os Próximos Meses • Aumento de 5% ao mês na

Previsão de Demanda para os Próximos Meses • Aumento de 5% ao mês na demanda de limpeza completa. • Aumento de 10% ao mês na demanda de limpeza expressa. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 42

Considerações e Uso de Técnicas • Atendimento prioritário e diferenciado para clientes preferenciais. •

Considerações e Uso de Técnicas • Atendimento prioritário e diferenciado para clientes preferenciais. • Quebras de eqtos. • Rodízios nas folgas de operadores • Turnos de trabalho • Emprego de técnicas de amostragem complexa com utilização de distribuições apropriadas para a descrição de curvas de demanda. • As demais opções de abordagem do problema são praticamente descartadas. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 43

Tratando a Variabilidade dos Sistemas • Na simulação o objetivo é compreender o comportamento

Tratando a Variabilidade dos Sistemas • Na simulação o objetivo é compreender o comportamento dinâmico e aleatório das variáveis, com a intenção de incorporá-lo ao próprio modelo. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 44

Dados brutos dos tempos entre chegadas de 100 automóveis 11/27/2020 13, 6 27, 9

Dados brutos dos tempos entre chegadas de 100 automóveis 11/27/2020 13, 6 27, 9 1, 1 12, 3 9, 7 12, 7 15, 3 4, 1 13, 5 0, 7 10, 8 29, 5 5, 8 9, 9 6, 1 5, 5 7, 7 17, 4 7, 7 26, 4 15, 9 11, 6 2, 7 2, 9 1, 7 4, 6 35, 5 15, 8 17, 5 0, 6 4 18, 1 21, 8 3, 8 14, 6 12, 9 8, 5 0, 4 2, 5 33, 1 39, 8 6, 4 1, 8 8, 3 11, 9 4, 4 16, 2 6, 8 0, 3 18 12, 1 16, 5 8, 5 12, 5 1, 4 5, 6 8, 2 0, 9 17, 9 10, 9 24, 4 1, 02 28, 1 2 42, 7 29, 9 4, 9 3, 1 8, 1 0, 4 10, 4 8, 1 2, 74 13 0, 7 4, 8 2, 8 4, 3 3, 4 28, 5 28, 4 3, 02 15, 5 17, 3 1, 6 17, 7 1, 2 13, 4 14, 1 14, 9 4, 3 1, 6 0, 6 6, 9 22, 6 10, 2 7, 3 3, 8 10, 4 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 45

Observações sobre os dados da tabela • É possível verificar que os TEC apresentam

Observações sobre os dados da tabela • É possível verificar que os TEC apresentam grande variabilidade. • O valor médio das 100 observações é 11, 1 min. • Os valores mínimo e máximo são 0, 3 min e 42, 7 min. • Utilizar uma medida de tendência central (média) para representar esta variável é temerosa. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 46

Distribuição de frequências das observações efetuadas para os tempos entre chegadas 11/27/2020 Classes Ponto

Distribuição de frequências das observações efetuadas para os tempos entre chegadas 11/27/2020 Classes Ponto Médio ( xi ) Observações 0 --- 5 2, 5 35 5 --- 10 7, 5 19 10 --- 15 12, 5 19 15 --- 20 17, 5 13 20 --- 25 22, 5 3 25 --- 30 27, 5 7 30 --- 35 32, 5 1 35 --- 40 37, 5 2 40 --- 45 42, 5 1 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 47

Gráfico de colunas das frequências absolutas 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C.

Gráfico de colunas das frequências absolutas 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 48

 • • Como os valores de TEC e TS são obtidos Cem bilhetes

• • Como os valores de TEC e TS são obtidos Cem bilhetes são confeccionados e colocados numa urna. Cada bilhete contém um número que representa o ponto médio da classe ( xi ) a qual pertence. As diversas classes devem concorrer com um número de bilhetes equivalentes aos percentuais de participação na amostra levantada. Ex. : 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. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 49

Distribuição de frequências das observações efetuadas para os tempos de lavação Classes Ponto Médio

Distribuição de frequências das observações efetuadas para os tempos de lavação Classes Ponto Médio ( xi ) Observações 9, 00 --- 9, 55 9, 275 6 9, 55 --- 10, 10 9, 825 5 10, 10 --- 10, 65 10, 375 23 10, 65 --- 11, 20 10, 925 20 11, 20 --- 11, 75 11, 475 21 11, 75 --- 12, 30 12, 025 12 12, 30 --- 12, 85 12, 575 9 12, 85 --- 13, 40 13, 125 1 13, 40 --- 13, 95 13, 675 2 13, 95 --- 14, 50 14, 225 1 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 50

Observações da tabela • - A média para os 100 valores foi de 11,

Observações da tabela • - A média para os 100 valores foi de 11, 1 minuto. • O valor mínimo observado foi de 9, 18 min e o máximo foi de 14 min. • Neste caso seria muito menos traumático o uso de um valor médio. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 51

Novo modelo e simulação do posto de serviços Cliente Tempo desde a última chegada

Novo modelo e simulação do posto de serviços Cliente Tempo desde a última chegada (min) Tempo de chegada no relógio Tempo do Serviço (min) Tempo de início do serviço no relógio Tempo do cliente na fila (min) Tempo Final do serviço no relógio (min) Tempo do cliente no sistema(min) Tempo Livre do Operador (min) 1 17, 5 11, 5 17, 5 0 29 11, 5 17, 5 25 12, 6 29 4 41, 6 16, 6 0 3 12, 5 37, 5 12 41, 6 4, 1 53, 6 16, 1 0 4 2, 5 40 11, 5 53, 6 13, 6 65, 1 25, 1 0 5 2, 5 42, 5 12 65, 1 22, 6 77, 1 34, 6 0 6 2, 5 45 10, 4 77, 1 32, 1 87, 5 42, 5 0 7 2, 5 47, 5 11, 5 87, 5 40 99 51, 5 0 8 37, 5 85 13, 1 99 14 112, 1 27, 1 0 9 17, 5 102, 5 10, 4 112, 1 9, 6 122, 5 20 0 10 17, 5 120 11, 5 122, 5 134 14 0 11 32, 5 152, 5 11, 5 152, 5 0 164 11, 5 18, 5 12 37, 5 190 9, 8 190 0 199, 8 26 13 7, 5 197, 5 10, 9 199, 8 2, 3 210, 7 13, 2 0 14 12, 5 210 11, 5 210, 7 222, 2 12, 2 0 15 12, 5 222, 5 10, 4 222, 5 0 232, 9 10, 4 0, 3 316, 1 62, 3 170, 6 11/27/2020 145, 5 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 52

Observações da tabela • Apenas 15 valores foram sorteados designando os primeiros 15 clientes

Observações da tabela • Apenas 15 valores foram sorteados designando os primeiros 15 clientes durante um período de aproximadamente quatro horas ou 240 min. • O primeiro cliente chega ao sistema 17, 5 min. Após a abertura do portão de entrada do posto. • O segundo cliente chega 7, 5 min após, com o relógio marcando então 25 min de simulação. • O terceiro chega aos 37, 5 minutos e assim por diante. • O 15° cliente chega aos 222, 5 min. , um pouco antes do encerramento do turno de 4 horas de trabalho (240 min. ) 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 53

Observações da tabela (Continuação) • A segunda coluna expressa o TEC. • A quarta

Observações da tabela (Continuação) • A segunda coluna expressa o TEC. • A quarta coluna o TS. • O primeiro cliente a chegar encontra o operador livre e pode começar a ser imediatamente atendido. O valor sorteado para o tempo de serviço deste cliente, 11, 5 min, somado ao tempo de chegada determina o tempo de término do serviço (7 a. Coluna) aos 29 min. • O segundo cliente chega ao sistema apenas 7, 5 minutos após a chegada do primeiro. Ao chegar aos 25 min. Do relógio, este encontra o posto ocupado. Esta situação faz com que ele aguarde na fila de espera. Como o serviço do cliente anterior se encerra somente aos 29 minutos, o segundo cliente aguarda durante 4 min na fila iniciando a lavação de seu carro logo após a saída do cliente anterior. Seu TS dura 12, 6 min e ele deixa o sistema aos 41, 6 min. Desta vez o operador não pode descansar. • Após o 15° cliente a simulação se encerra, porque entre 222, 5 min e 240 min nenhum novo cliente chega ao sistema. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 54

Cálculos • • • Tempo Médio de Espera na Fila = Tempos de espera

Cálculos • • • Tempo Médio de Espera na Fila = Tempos de espera na fila/Número total de clientes = 145, 5/15 = 9, 7 minutos A probabilidade de 1 cliente esperar na fila é de 73%. Probabilidade de um cliente esperar na Fila = Núm clientes que esperam/Núm total de clientes = 11/15 = 0, 73. A proporção do Tempo Livre do operador é de 26%. Probabilidade do Operador Livre = Tempo Livre do Operador / Tempo total de simulação = 62, 3/240 = 0, 26 A probabilidade do operador estar ocupado é 74% O tempo Médio de Serviço é de 11, 37 min. Tempo Médio de Serviço = Tempo de Serviço / Núm Total de Clientes = 170, 6/15 = 11, 37 min. O tempo médio despendido no sistema é de 21, 07 min. Tempo Médio despendido no sistema = Tempos no Sistema/Num de Clientes=316, 1/15 = 21, 07 min. Para as 100 amostras a média do TS foi de 11, 1 min. Desta forma o valor calculado difere do valor simulado. Estas diferenças diminuem quanto mais longa for a simulação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 55

Número de carros no sistema e na fila ao longo da simulação • O

Número de carros no sistema e na fila ao longo da simulação • O valor máximo encontrado é 5 (chegada do 7° cliente). • Neste momento o sistema atingiu o máximo de sua capacidade. • O 7° cliente ficou quase 1 hora no sistema (51, 5 minutos) 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 56

Conclusões • Não podemos tirar conclusões definitivas sobre o comportamento deste sistema, pois: –

Conclusões • Não podemos tirar conclusões definitivas sobre o comportamento deste sistema, pois: – Os valores obtidos nesta simulação dependem dos valores aleatórios sorteados. – Um pequeno número de elementos amostrados é insuficiente para gerar conclusões definitivas. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 57

Incorporando a Variabilidade aos Modelos Computacionais • Ao longo das últimas 3 ou 4

Incorporando a Variabilidade aos Modelos Computacionais • Ao longo das últimas 3 ou 4 décadas tem sido desenvolvidos programas computacionais com o propósito específico de modelar e simular qualquer tipo de sistema. • Para que tais programas imitem o comportamento de sistemas reais eles devem gerar e atribuir valores compatíveis a variáveis aleatórias presentes nos modelos (sorteios) • Projeto “Manhattan” em Los Alamos – 2 a. Guerra mundial – Bomba atômica! • Solução adotada baseia-se no Método de Monte Carlo (MMC) • Após 2 a guerra mundial – Dudewics, 1985. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 58

O Método de Monte Carlo (MMC) • Na aplicação do MMC: os dados são

O Método de Monte Carlo (MMC) • Na aplicação do MMC: os dados são artificialmente gerados empregando-se: um gerador de números aleatórios (GNA) e uma distribuição de frequências da variável de interesse. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 59

GNA • Um GNA é um programa computacional que deve ser capaz de gerar

GNA • Um GNA é um programa computacional que deve ser capaz de gerar valores aleatórios independentes e uniformemente distribuídos no intervalo de 0 a 1. • A busca de bons algoritmos geradores de números aleatórios se desenvolveu plenamente somente durante o surgimento dos primeiros computadores digitais. • Antes disso, uma série de pesquisadores publicaram tabelas de números aleatórios – Tippet em 1927 com 41600 digitos gerados via estatística obtida em censos. – Kendall e Babington-Smith em 1939 com 100. 000 digitos – sistema mecânico para geração de números aleatóriamente. • Em 1955, Rand Corporation obteve uma tabela com 1 milhão de dígitos a partir de uma roleta eltrônica. • Desde então, inúmeros métodos, baseados em algoritmos numéricos vem sendo usado. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 60

Valores Pseudo Aleatórios • Por serem gerados artificialmente, os valores aleatórios obtidos são conhecidos

Valores Pseudo Aleatórios • Por serem gerados artificialmente, os valores aleatórios obtidos são conhecidos como números pseudo-aleatórios. • Isto significa que a sequência de números produzidos por um destes algoritmos é reproduzível e, portanto não aleatória no sentido estrito do termo. • A comparação entre um conjunto de valores gerados em um computador com outro, estatisticamente, pela natureza, não apresenta diferenças. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 61

Exemplo de um Gerador de Números Aleatórios (GNA) • 1951: Prof. D. H. Lehmer

Exemplo de um Gerador de Números Aleatórios (GNA) • 1951: Prof. D. H. Lehmer => experimentos no ENIAC (MIT) – Método Congruente Misto – Restos de sucessivas potências de uum número possuem boas características de aleatoriedade • Método Congruente Linear Multiplicativo (MCLM) • xn = a xn-1 mod m • a e m são chamados de multiplicador e módulo. • Sobre o operador MOD, define-se o mesmo como o resto da divisão entre dois números. Ou seja, o operador MOD retorna o resto inteiro de uma divisão de números inteiros. • Por exemplo: 5 dividido por 3 retorna 1 com o resto de 2. Neste caso, 5 MOD 3=2. • Não podemos dividir por zero. 5 MOD 0 é inválido. • No caso do primeiro número inteiro ser menor que o segundo número inteiro, o resultado do operador MOD será o próprio número do primeiro termo. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 62

Fatores importantes num Método GNA • Velocidade e eficiência na geração da série de

Fatores importantes num Método GNA • Velocidade e eficiência na geração da série de números aleatórios são muito importantes para os processos simulados. • Para que a computação de mod m seja eficiente, m deve ser uma potência de 2, isto é, 2 k. • Pode ser mostrado que um GNA será mais eficiente se o multiplicador a for uma raiz primitiva do módulo m. • Para isto an. mod m 1, para n=1, 2, . . . , m-2 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 63

Um exemplo de GNA em Uso • • M= 231 - 1 = 2.

Um exemplo de GNA em Uso • • M= 231 - 1 = 2. 147. 483. 647 (número primo) a = 75 = 16. 807 Semente x 0=123. 456 Os primeiros números aleatórios (Ri´s) gerados serão: • • • x 1=(75)x(123. 456)mod(231 – 1)=2. 074. 941. 799 R 1=2. 074. 941. 799/231 = 0, 9662 x 2=(75)x(2. 074. 941. 799)mod(231 – 1)=559. 872. 160 R 2=559. 872. 160/231 = 0, 2607 x 3=(75)x(559. 872. 160)mod(231 – 1)=1. 645. 535. 613 R 3=1. 645. 535. 613/231 = 0, 7662 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 64

Um segundo ponto importante na aplicação do MMC • É a distribuição de probabilidades

Um segundo ponto importante na aplicação do MMC • É a distribuição de probabilidades que devem ser amostradas durante o processo de simulação. • Estas distribuições podem ser teóricas, como: Exponencial ou Normal. • Ou baseada em dados empíricos observados no sistema real. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 65

Simulação manual empregando o Método de Monte Carlo • Na simulação do posto de

Simulação manual empregando o Método de Monte Carlo • Na simulação do posto de serviços, os TEC foram obtidos por meio de um sorteio. • A quantidade de papéis numerados foi determinada por meio da elaboração de uma distribuição de frequências resultante de uma amostra realizada sobre o sistema real. • Para se aplicar o MMC, é necessário anexar mais 2 colunas à tabela vista no exemplo anterior. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 66

Frequências e valores empregados no MMC no exemplo do posto de serviços Classes Ponto

Frequências e valores empregados no MMC no exemplo do posto de serviços Classes Ponto Médio ( xi ) Frequência (Observações) Frequência Acumulada Intervalo de Valores 0 --- 5 2, 5 0, 35 [0, 01; 0, 35] 5 --- 10 7, 5 0, 19 0, 54 [0, 36; 0, 54] 10 --- 15 12, 5 0, 19 0, 73 [0, 55; 0, 73] 15 --- 20 17, 5 0, 13 0, 86 [0, 74; 0, 86] 20 --- 25 22, 5 0, 03 0, 89 [0, 87; 0, 89] 25 --- 30 27, 5 0, 07 0, 96 [0, 90; 0, 96] 30 --- 35 32, 5 0, 01 0, 97 [0, 97] 35 --- 40 37, 5 0, 02 0, 99 [0, 98; 0, 99] 40 --- 45 42, 5 0, 01 1 [0, 00] • A 3 a coluna apresenta a distribuição acumulada das frequências. • Na 5 a coluna atribui-se a cada uma das classes um conjunto de números que referencie seu percentual de participação na distribuição de frequências 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 67

Tabela de Números Aleatórios (NA) • A tabela seguinte baseia-se em números obtidos a

Tabela de Números Aleatórios (NA) • A tabela seguinte baseia-se em números obtidos a partir de um programa GNA. • Nela cada conjunto resulta na multiplicação dos 5 dígitos por 1000 de um NA uniformemente distribuído entre 0 e 1. • Para consultar a tabela é preciso estabelecer uma regra de consulta, tornando o processo o mais aleatório possível. • EX. : Para se determinar os 15 valores do TEC observa-se pela ordem (E D) os dois últimos digitos de cada conjunto: 43, 25, 14, 09, 95, . . . , etc. • O MMC é um conceito básico para compreender os procedimentos que ocorrem dentro de um programa de simulação quando este executa o modelo de um sistema. • Usando o MMC é possível reproduzir no modelo o comportamento das inúmeras variáveis aleatórias que compõem os sistemas do mundo real. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 68

Reprodução parcial da tabela de valores aleatórios 11/27/2020 98543 59525 21114 73109 69095 .

Reprodução parcial da tabela de valores aleatórios 11/27/2020 98543 59525 21114 73109 69095 . . . 87060 95250 50277 17486 7962 . . . 82170 68014 7937 98003 40146 . . . 48673 26100 23776 66959 84477 . . . 8560 52600 66188 63746 5849 . . . 68708 28373 27635 52562 18148 . . COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 69

Atribuição do valor de TEC após o sorteio Classes Ponto Médio ( xi )

Atribuição do valor de TEC após o sorteio Classes Ponto Médio ( xi ) 0 --- 5 2, 5 5 --- 10 7, 5 [0, 36; 0, 54]/19 10 --- 15 12, 5 [0, 55; 0, 73]/19 15 --- 20 17, 5 [0, 74; 0, 86]/13 20 --- 25 22, 5 [0, 87; 0, 89]/3 25 --- 30 27, 5 [0, 90; 0, 96]/7 30 --- 35 32, 5 [0, 97]/1 35 --- 40 37, 5 [0, 98; 0, 99]/2 40 --- 45 42, 5 [0, 00]/1 11/27/2020 Valor de TEC Número aleatório sorteado Intervalo de Valores (Observações) [0, 01; 0, 35]/35 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 43 70

Funções Geradoras de Variáveis Aleatórias (FGVA) • Outra forma de proceder para gerar valores

Funções Geradoras de Variáveis Aleatórias (FGVA) • Outra forma de proceder para gerar valores associados às variáveis que constituem o modelo é compreender e verificar se o comportamento destas assemelha-se as variáveis aleatórias descritas por distribuições teóricas de probabilidades. • Se isto for verdade, pode-se usar no modelo computacional, funções matemáticas que geram valores de acordo com a distribuição especificada quando são fornecidos os parâmetros necessários. • EX. : Posto de Serviço de Lavação: TS associado a uma distribuição Normal com média de 11 min e desvio padrão de 2 min. • Sempre que necessário o programa computacional invocaria a função NORM (11, 2) 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 71

FGVA (Continuação) • Todo programa de simulação carrega uma função para a GNA e

FGVA (Continuação) • Todo programa de simulação carrega uma função para a GNA e inúmeras outras funções matemáticas descritas como Funções Geradoras de Variáveis Aleatórias ou FGVA´s. • Para cada tipo de distribuição teórica de probabilidade existe uma FGVA apropriada. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 72

Exemplo de uma FGVA • Todos os métodos de geração de VA´s baseiam-se na

Exemplo de uma FGVA • Todos os métodos de geração de VA´s baseiam-se na prévia geração de um número aleatório R, uniformemente distribuído sobre o intervalo (0, 1). • Para efeito de notação, x será uma variável aleatória com função densidade de probabilidade (fdp)=f(x), para o caso contínuo e p(x) para o caso discreto. • Todos os métodos encaminham o problema de expressar x como uma função explícita de R. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 73

Exemplos básicos para a geração de amostras de VA´s • • • 1) Transformação

Exemplos básicos para a geração de amostras de VA´s • • • 1) Transformação Inversa 2) Transformação Direta 3) Convolução 4) Aceitação/Rejeição 5) Propriedades Especiais O método empregado na geração de VA depende do tipo de distribuição desejada eficiência que se está buscando no processo. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 74

Uso do Método de Transformação Inversa para geração de VA Exponencialmente Distribuída • Uma

Uso do Método de Transformação Inversa para geração de VA Exponencialmente Distribuída • Uma variável aleatória x tem uma distribuição Exponencial se sua função densidade de probabilidade f(x), puder ser expressa como: • f(x) = e- x , x 0 • = n° médio de ocorrências ou eventos/unidade de tempo. • 1/ = é o tempo médio entre ocorrências. • Aplicando-se o método da Transformação Inversa para a obtenção de uma VA x com distribuição Exponencial: • xi = - ln(1 -Ri )/ • (1 -Ri ) e Ri possuem distribuição uniforme no intervalo (0, 1) e desta forma podemos considerar (1 -Ri ) = Ri 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 75

Valores para variável aleatória exponencial Considerando-se = 2 e aplicando-se a fórmula para 5

Valores para variável aleatória exponencial Considerando-se = 2 e aplicando-se a fórmula para 5 diferentes valores de R, obtem-se os seguintes valores para a variável x. 11/27/2020 i 1 2 3 4 5 Ri 0, 343 0, 971 0, 787 0, 189 0, 362 xi 0, 535 0, 015 0, 119 0, 833 0, 508 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 76

Troca de dados e informações entre o modelo computacional e as FGVA´s EXPO TEC

Troca de dados e informações entre o modelo computacional e as FGVA´s EXPO TEC = EXPO (10) TEC = 7, 45915 Invoca a FGVA, Fornecendo o Parâmetro =10 GNA Fornece R=0, 4743 Argumentos R=0, 4743 + =10 Retorna o valor de TEC 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 77

Troca de dados e informações entre o modelo computacional e as FGVA´s • O

Troca de dados e informações entre o modelo computacional e as FGVA´s • O NA é fornecido a função FGVA pelo GNA. • No exemplo foi usada uma FGVA chamada EXPO para a obtenção dos TEC do próximo cliente no posto de lavação. • O tempo médio entre chegadas é =10 s. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 78

Variáveis de Estado • São variáveis cujos valores definem o estado do sistema. •

Variáveis de Estado • São variáveis cujos valores definem o estado do sistema. • Na interrupção de um programa de simulação. . . • A definição destas variáveis é função do propósito do estudo. • EX. : n° de peças esperando para serem processadas na máquina, ou o estado da máquina (ocupada ou livre). – - N° de clientes esperando na fila do caixa. – N° de jobs aguardando na fila da CPU, n° de jobs já atendidos. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 79

Eventos • São acontecimentos, programados ou não, os quais, quando ocorrem, provocam uma mudança

Eventos • São acontecimentos, programados ou não, os quais, quando ocorrem, provocam uma mudança de estado em um sistema. • EX. : A chegada de peças, clientes ou jobs no sistema. • O início do processamento pela máquina, caixa ou CPU. • Saída de peças, clientes ou jobs dos sistemas. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 80

Entidades • Uma entidade representa um objeto que necessita uma clara e explícita definição.

Entidades • Uma entidade representa um objeto que necessita uma clara e explícita definição. • Ela pode ser dinâmica, movendo-se pelo sistema ou estática. – EX. : as peças, clientes de um caixa, jobs que chegam e saem da CPU – Dinâmicas – A máquina, o caixa e a CPU – entidades estáticas. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 81

Atributos • Características próprias das entidades definindo-as totalmente. • O uso de atributos permite

Atributos • Características próprias das entidades definindo-as totalmente. • O uso de atributos permite não apenas caracterizar e individualizar entidades. • Também possibilita a obtenção de estatísticas importantes para quem deseja analisar o comportamento dos sistemas sob investigação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 82

Exemplo de Atributos: Cálculo do Tempo Médio de Permanência de Todas as Peças no

Exemplo de Atributos: Cálculo do Tempo Médio de Permanência de Todas as Peças no Sistema • • Peças que chegam ao sistema possuem um atributo chamado: TCS Quando as peças deixam o sistema é executado o seguinte cálculo: 1) O tempo no sistema da peça que está saindo. 2) Atualização de um contador do número de peças que deixou o sistema. • 3) Acumulação numa variável do tempo no sistema da peça que está saindo. • 4) Cálculo do tempo médio de todas as peças que já passaram pelo sistema. • Como se observa, o uso de atributos permite não apenas caracterizar e individualizar entidades, como também possibilita a obtenção de estatísticas importantes para quem deseja analisar o comportamento dos sistemas sob investigação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 83

Recursos e Filas de Recursos • Um recurso é uma entidade estática que fornece

Recursos e Filas de Recursos • Um recurso é uma entidade estática que fornece serviços às entidades dinâmicas. • Pode servir uma ou mais entidade dinâmica ao mesmo tempo, operando como um servidor paralelo. • Uma entidade dinâmica pode operar com mais de ma unidade de recurso ao mesmo tempo. • Se uma entidade dinâmica não puder se apoderar de um recurso ela deve aguardar pelo mesmo em uma fila. • O tipo de processamento mais comum para uma fila é o tipo FIFO. • Não havendo disponibilidade de espaço na fila, esta entidade poderá tomar o destino de outro recurso (ou outra fila) ou mesmo deixar o sistema. • Se puder capturar o recurso a entidade dinâmica o reterá por um tempo (tempo de processamento) • Um recurso pode ter vários estados: ocupado e livre, bloqueado, falhado, indisponível, etc. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 84

Atividades e Períodos de Espera • Em simulação uma atividade corresponde a um período

Atividades e Períodos de Espera • Em simulação uma atividade corresponde a um período de tempo predeterminado. • A duração de uma atividade não é necessariamente uma constante. – Poderá ser o resultado de uma expressão matemática, um valor aleatório com base em uma distribuição de probabilidades, ser fornecida a partir da leitura em algum arquivo ou fonte externa, ou até mesmo ser dependente do estado do sistema. • Ao contrário de uma atividade, uma espera é um período de tempo sobre o qual não se tem controle. • Uma vez iniciada, não se pode programar seu fim. • Todo início ou final de uma atividade ou período de espera (mudança de estado), são causados por um evento. • 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 85

Tempo (Real) Simulado e Tempo de Simulação • Tempo simulado do sistema real •

Tempo (Real) Simulado e Tempo de Simulação • Tempo simulado do sistema real • Tempo de simulação é o tempo necessário à execução de um experimento no computador. • Para alguns sistemas o tempo de simulação pode ser maior que o tempo simulado. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 86

Modelos Discretos • Nos modelos discretos as variáveis de estado mantêm-se inalteradas ao longo

Modelos Discretos • Nos modelos discretos as variáveis de estado mantêm-se inalteradas ao longo de intervalos de tempo e mudam seus valores somente em pontos bem definidos (tempo de ocorrência de evento). Variável de Estado Tempo Simulado 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 87

Modelos Contínuos • É quando as variáveis que dependem do tempo podem assumir qualquer

Modelos Contínuos • É quando as variáveis que dependem do tempo podem assumir qualquer valor ao longo do tempo. • Alguns modelos contínuos podem ser discretizados. • Existe também a possibilidade de modelagem mista. Variável de Estado Tempo Simulado 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 88

A Visão da Realidade ou do Mundo, segundo Pedgen (1990), sob o ponto de

A Visão da Realidade ou do Mundo, segundo Pedgen (1990), sob o ponto de vista de uma linguagem de simulação • 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. • A entidades interagem com recursos e outras facilidades participando de atividades de acordo com certas condições, as quais determinam a sequência das interações. • Estas interações estão relacionadas ou criam eventos, os quais alteram o estado do sistema. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 89

Métodos de Modelagem • Dentro desta visão da realidade existem basicamente 3 métodos de

Métodos de Modelagem • Dentro desta visão da realidade existem basicamente 3 métodos de modelagem, os quais dependem da linguagem de simulação empregada. • 1) Modelagem por eventos • 2) Modelagem por atividades • 3) Modelagem por processos • A diferenças entre os métodos encontram-se na forma com que o próximo evento é programado para ser processado. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 90

Modelagem por Eventos • Um evento pode ser condicional e incondicional. • Na modelagem

Modelagem por Eventos • Um evento pode ser condicional e incondicional. • Na modelagem por evento o sistema é modelado pela identificação de seus eventos característicos (os quais são incondicionais), dependendo unicamente do tempo de simulação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 91

Modelagem por atividades • A estratégia de busca do próximo evento da lista é

Modelagem 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. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 92

Modelagem por Processos • O sistema é visto sob o ponto de vista das

Modelagem por Processos • O sistema é visto sob o ponto de vista das entidades. • O conjunto das entidades dinâmicas de um sistema encontram-se em constante competição pela posse de recursos. • Tais entidades podem cooperar umas com as outras objetivando o cumprimento de uma tarefa. • Podem também agruparem-se para serem transportadas ou formarem novas entidades. • É a forma mais intuitiva de modelar. • 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 cumprir os processos ou atividades a elas designadas. • O processo de simulação pode ser interrompido quando o relógio da simulação alcançar um tempo pré-definido ou quando um determinado número de entidades que passaram pelo sistema alcançaram um certo limite. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 93

Mecanismo de Avanço do Tempo • A variável que guarda o tempo atualizado de

Mecanismo de Avanço do Tempo • A variável que guarda o tempo atualizado de simulação é chamada de relógio de simulação. • Existem 2 mecanismos de avanço de tempo: • 1) Avanço do tempo para o próximo evento: usado tanto por programas comerciais de simulação como por linguyagens gerais como C, Delphi, VB ou Java. • O relógio da simulação é inicializado em zero e os tempos de ocorrência dos próximos eventos são determinados. Uma lista denominada Lista de Eventos Futuros (LEF), é montada para fins de controle destes eventos já programados. • 2) Avanço do tempo com incremento fixo. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 94

Funcionamento de um Programa de Simulação • Banks, 1984 e 1996. Law, 1991. •

Funcionamento de um Programa de Simulação • Banks, 1984 e 1996. Law, 1991. • Considera-se no modelo a ser simulado que as mudanças de estado se sucedem devido à ocorrência de 3 tipos de eventos: – Evento Chegada, – Evento Saída e – Evento Fim da Simulação. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 95

Evento Chegada • Diante da chegada de uma entidade no sistema, as seguintes ações

Evento Chegada • Diante da chegada de uma entidade no sistema, as seguintes ações devem ser realizadas pelo programa de simulação: • 1) Guardar o tempo de ocorrência da chegada da entidade em um atributo especialmente designado para tal. Este valor servirá para que , no momento de sua saída, o tempo de permanência da entidade no sistema possa ser calculado; • 2) Verificar se o recurso com o qual a entidade realizará uma atividade está livre. A variável de estado ES(t) representa o estado do recurso (servidor) no tempo t do relógio da simulação. Se estiver livre, ES(t)=0, o tempo de permanência da entidade na fila deste recurso será zero. Neste caso, trocar o estado do recurso para ocupado (ES(t)=1) e programar o final da atividade no calendário de eventos, somando o tempo atual do relógio ao tempo de serviço (TS) sorteado; • 3) Se o recurso estiver ocupado, a entidade deve ser colocada no final da fila do recurso. A variável tamanho da fila, EF(t), deve ser incrementada em 1. • 4) Programar a chegada de uma nova entidade no sistema, no calendário de eventos, somando o tempo do relógio com o tempo entre chegadas (TEC), sorteado para a próxima entidade. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 96

Fluxograma do Evento Chegada Relógio = t Não ES(t)=1 Sim ES(t)=1 ? EF(t)=EF(t)+1 -

Fluxograma do Evento Chegada Relógio = t Não ES(t)=1 Sim ES(t)=1 ? EF(t)=EF(t)+1 - Gerar tempo serviço (TS) - Programar próxima saída em t + TS; -Gerar tempo chegada (TEC); -Programar próxima chegada em t + TEC; 11/27/2020 Coletar Estatísticas COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI Retornar ao Controle 97

Evento Saída • No momento que uma entidade completa sua atividade junto a um

Evento Saída • No momento que uma entidade completa sua atividade junto a um recurso as seguintes. . . . • 1) Incrementar o contador de entidades servidas. • 2) Computar e armazenar o tempo de permanência da entidade no sistema, fazendo tempo do relógio menos o valor do atributo tempo de chegada da entidade. • 3) Se houver alguma entidade na fila de espera, retirar a primeira entidade da fila, computar seu tempo de permanência na fila, decrementar a variável tamanho da fila, iniciar o atendimento da nova entidade e programar no calendário de eventos futuros o fim da atividade, somando o tempo de serviço ao tempo atual. • 4) Se não houver nenhuma entidade na fila de espera, fazer o estado do recurso igual a livre. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 98

Fluxograma do Evento Saída Relógio = t EF(t) = EF(t) - 1 Sim Não

Fluxograma do Evento Saída Relógio = t EF(t) = EF(t) - 1 Sim Não EF(t) > 0 ? EF(t)=0 - Gerar tempo serviço (TS) - Programar próxima saída em t + TS; Coletar Estatísticas 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI Retornar ao Controle 99

Evento Fim da Simulação • Quando ocorrer o fim da simulação as seguintes ações

Evento Fim da Simulação • Quando ocorrer o fim da simulação as seguintes ações devem ser realizadas: • 1) Computar as estatísticas para o fim da simulação. • 2) Compor o relatório final com as estatísticas a ser exibido ao usuário. • Além destes 3 eventos e suas respectivas rotinas um programa de simulação possui uma rotina principal, responsável pela inicialização de todos os procedimentos, avanço do relógio, chamada das funções GNA e FGVA, etc. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 100

Fluxograma da rotina principal Início Rotina Avanço Tempo 1. Chama rotina inicialização 2. Chama

Fluxograma da rotina principal Início Rotina Avanço Tempo 1. Chama rotina inicialização 2. Chama rotina avanço tempo 3. Chama rotina do evento i 1. Determina tipo do próximo evento Ei 2. Avança Relógio Rotina de Inicialização Rotina Principal 1. Relógio = 0; 2. Inicializar var. estado, const. Estatis; 3. Inicializar lista de eventos Rotina evento i 1. Atualiza estado do sistema 2. Atualiza const. e estatis. 3. Gera eventos futuros adicionado-os a LEF 1. Computar estat. 2. Gerar Relatório Fim Simulação? Biblioteca de Funções Gerador de Variáveis Aleatórias Não Fim 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 101

Dinâmica dos Acontecimentos • 1) O relógio da simulação é avançado para o valor

Dinâmica dos Acontecimentos • 1) O relógio da simulação é avançado para o valor programado para a ocorrência do evento que se encontra no topo da lista (calendário de eventos) • 2) Após a realização do evento, este é retirado da lista. • 3) A cada vez que um evento é programado, isto é, foi incorporado ‘a lista, esta é reordenada. Desta maneira, o evento mais eminente estará sempre no topo da lista e aquele mais distante no tempo estará sempre ocupando a última colocação na lista. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 102

Algoritmo de avanço do tempo para o próximo evento: Imagem do sistema no tempo

Algoritmo de avanço do tempo para o próximo evento: Imagem do sistema no tempo t RELÓGIO Estado do Sistema t (0, 0, 0) . . . Lista de Eventos Futuros – (LEF) . . (E 3, t 1) Evento tipo 3 a ocorrer no tempo t 1 (E 2, t 2) Evento tipo 2 a ocorrer no tempo t 2 (E 1, t 3) Evento tipo 1 a ocorrer no tempo t 3 (E 2, tn) Evento tipo 2 a ocorrer no tempo tn 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 103

Algoritmo para avanço do tempo com base na programação de eventos • 1. Remova

Algoritmo para avanço do tempo com base na programação de eventos • 1. Remova o evento iminente da LEF (evento 3, tempo t 1); • 2. Avance o RELÓGIO para o tempo do evento iminente (de tempo t para t 1); • 3. Execute o evento iminente atualizando (na medida do necessário): o estado do sistema, os atributos das entidades e os membros de conjuntos; • 4. Gere futuros eventos (se necessário) e coloque-os na LEF na posição correta. (Exemplo: Evento 1 que ocorrerá no tempo t*, onde t 2 < t* < t 3 ); • 5. Atualize estatísticas acumuladas e contadores 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 104

Algoritmo de avanço do tempo para o próximo evento: Imagem do sistema no tempo

Algoritmo de avanço do tempo para o próximo evento: Imagem do sistema no tempo t 1 RELÓGIO Estado do Sistema t 1 (0, 1, 0) . . . Lista de Eventos Futuros – (LEF) . . (E 2, t 1) Evento tipo 2 a ocorrer no tempo t 2 (E 1, t*) Evento tipo 1 a ocorrer no tempo t* (E 1, t 3) Evento tipo 1 a ocorrer no tempo t 3 (E 2, tn) Evento tipo 2 a ocorrer no tempo tn 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 105

Tabela com os elementos de controle de um programa de simulação N° do Cliente

Tabela com os elementos de controle de um programa de simulação N° do Cliente Tempo no Relógio -- Tipo de Evento Estado Fila (Cliente) Estado Operad (Cliente) TC Calendário de Eventos Futuros Conta Clientes TF Ma x. TF TS Max TS início 0 livre --- (1; 17, 5; C) (-; 240, 0; FS) 0 0, 00 1 17, 5 Chegada 0 Ocup. (1) 17, 5 (2; 25, 0; C) (1; 29, 0; S) (-; 240, 0; FS) 0 0, 00 2 25, 0 Chegada 1 (2) Ocup. (1) 25, 0 (1; 29, 0; S) (3; 37, 5; C) (-; 240, 0; FS) 0 0, 00 1 29, 0 Saída 0 Ocup. (2) --- (3; 37, 5; C) (2; 41, 6; S) (-; 240, 0; FS) 1 4, 00 11, 5 3 37, 5 Chegada 1 (3) Ocup. (2) 37, 5 (4; 40, 0; C) (2; 41, 6; S) (-; 240, 0; FS) 1 4, 00 11, 5 4 40, 0 Chegada 2 (3, 4) Ocup. (2) 40, 0 (2; 41, 6; S) (5; 42, 5; C) (-; 240, 0; FS) 1 6, 5 4, 00 11, 5 2 41, 6 Saída 1 (4) Ocup. (3) --- (5; 42, 5; C) (3; 53, 6; S) (-; 240, 0; FS) 2 8, 10 4, 1 27, 1 16, 6 . .

Conclusão • Foi apresentado e discutido os principais conceitos e técnicas envolvidas em programas

Conclusão • Foi apresentado e discutido os principais conceitos e técnicas envolvidas em programas de computadores voltados à simulação de modelos discretos. • Como incorporar a dinâmica do mundo real a programas computacionais. • Descrição de terminologia. • Principais métodos de modelagem. • A seguir: Noções de uma poderosa linguagem comercial voltada à simulação e modelagem de sistemas: ARENA. 11/27/2020 COMO FUNCIONA A SIMULAÇÃO - R. C. BETINI 107