MODELAGEM DE SISTEMAS SIMULAÇÃO Parte I Profa. Giovana Pasa, Dra. [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Programa de Pós Graduação em Engenharia de Produção Ponto de partida I keep six honest serving-men (They taught me all I knew); Their names What and Why, When And How and Where and Who”. Rudyard Kipling apud Carnegie (1956) 2 What O que precisamos fazer em nosso trabalho? 3 What gerenciar decidir resolver problemas aprender domínio da situação 4 Why Por que? 5 Why sermos a referência competitividade melhores resultados sobrevivência benchmark* marco geodésico, referência de nível * http://www.merriam-webster.com/dictionary/benchmark 6 When Quando? 7 When futuro hoje 8 How Como? Simulando: realidade existente: cenários, decisões projetos para o futuro: alternativas, impacto técnica de aprendizagem organizacional 9 Where (Onde) MANUFATURA 10 Where (Onde) SERVIÇOS 11 Where (Onde) LOGÍSTICA 12 Who Quem? especialistas em modelagem especialistas no sistema especialistas em áreas complementares usuários do sistema clientes do sistema 13 Who você 14 Material Básico: Apostila impressa Arquivos para download http://www.producao.ufrgs.br/disciplinas.asp?cod_turma=86 demonstrativo de software Promodel: possui o demo, um manual em pdf, um tutorial, exemplos Complementar: livros artigos científicos 15 Material Periódicos: Produção Gestão e Produção Produto & Produção Produção on line Pesquisa Operacional Congressos (anais): ENEGEP SIMPEP SBPO 16 Sites http://www.abepro.org.br/ http://www.abepro.org.br/interna.asp?p=399&m=414 &s=1&c=395 http://www.sobrapo.org.br 17 HISTÓRIA 1908 Matemático A. K. Erlang Central telefônica de Copenhagen Dimensionar para não haver congestionamentos Modelagem matemática TEORIA DAS FILAS Erlang desenvolveu modelos matemáticos que oferecem soluções analíticas TEORIA DAS FILAS Útil para: telefonia, malhas de transportes, redes de computadores, manufatura, serviços, logística Útil para fenômenos que geram FILAS 19 FILA 20 FILA 21 FILA: resultado do descompasso entre chegadas e atendimento EVENTO 2: atendimento EVENTO 1: chega uma demanda 22 FILA 23 TERMINOLOGIA 1 - Processo de chegada Descreve a forma como os clientes chegam no sistema: um por vez ou grupos unidades ou lotes intervalos entre chegadas constantes ou variáveis taxa de chegada 25 2 - Processo de atendimento Descreve a forma como os clientes são atendidos : um por vez ou em grupos unidades ou lotes um ou mais servidores disponíveis série ou paralelo atendimento com duração sempre constante ou duração variável taxa de atendimento 26 Regra ou disciplina da fila Descreve a ordem em que os clientes serão atendidos FIFO - primeiro a chegar é o primeiro a ser atendido LIFO - último a chegar é o primeiro a ser atendido aleatório em relação à chegada prioridades por categorias 27 População Fonte infinita – sistema Fonte finita – chegadas dependem do nro de clientes no sistema chegadas independem do nro de clientes no população pequena a decisão de entrar na fila depende do tamanho atual da fila 28 Notação Kendall-Lee 1/2/3/4/5/6 1 – processo de chegada 2 – processo de atendimento 3 – número de atendentes 4 – regra da fila 5 – número máximo de clientes no sistema 6 – tamanho da população 29 exemplo: M/M/1 1 – processo de chegada exponencial 2 – processo de atendimento exponencial 3 – número de atendentes = 1 4 – regra da fila: geral 5 – número máximo de clientes no sistema: 6 – tamanho da população: 30 EXERCÍCIOS 1 1. Desejo produzir 15 unidades hoje. Dada as três unidades produtivas (UPs) a seguir, com seus respectivos tempos de processamento,considerando somente um produto sendo produzido (produção empurrada) e uma taxa de chegadas a UP1 que garante sempre haver peças disponíveis para trabalhar com lotes de até 15 unidades em UP1, se desejado. Responda: UP1 2 min. a. b. c. E12 UP2 3 min. E23 UP3 1 min. Mantendo um fluxo unitário de produtos, qual será a situação após meia hora de produção? Determine o número de unidades produzidas e as quantidades nos estoques intermediários E12 e E23, que antecedem, respectivamente, UP2 e UP3. O fluxo unitário é a melhor solução? Por que? Considerando que o transporte é feito por uma empilhadeira, e que o custo estimado de cada transporte entre UPs é de R$ 1,00, calcule o custo de transporte total entre UPs (fabricação das 15 unidades) com um fluxo unitário. Calcule, também, para lotes de 15 unidades (dado que a empilhadeira comporta transportar esta quantidade em um deslocamento). 31 UP1 2 min. d. e. f. g. h. E12 UP2 3 min. E23 UP3 1 min. O lote de 15 unidades é uma solução melhor? Por que? Com o lote de transferência de 15 unidades, qual será a situação após meia hora de produção? Determine o número de unidades produzidas e as quantidades nos estoques intermediários que antecedem UP2 e UP3. Calcule, agora, qual será a situação após meia hora de produção dado um lote de transferência de 5 unidades. Determine o número de unidades produzidas e as quantidades nos estoques intermediários que antecedem UP2 e UP3. Calcule o custo de transporte total para lote de transferência de 5 unidades. Quais os impactos, para as filas, do fluxo acontecer em “unidades” ou “lotes”? 32 UP1 E12 3 min. 2 min. i. UP2 E23 UP3 1 min. Para o exemplo do fluxo unitário, consideramos, até aqui, que o tempo de transporte era desprezível. Considere que a empilhadeira que usamos para fazer o transporte entre UP2 e UP3 passou a ser compartilhada. Agora, a empilhadeira é usada também para ajudar no setup de uma UP7 vizinha. Isso faz com que a chegada de uma peça que vai de UP2 para UP3 não ocorra mais em intervalos constantes. Foram feitas tomadas de tempo e os valores observados estão listados na tabela 1, a seguir, em minutos. Quantas peças foram produzidas em 30 min.? Quais as quantidades em processamento em UP1, UP2, UP3 e nos estoques E12 e E23? TABELA 1 tempo tempo tempo 1) 2 6) 2 11) 1 2) 2 7) 2 12) 2 3) 1 8) 1 13) 1 4) 2 9) 2 14) 1 5) 1 10) 1 15) 1 33 UP1 E12 3 min. 2 min. j. k. UP2 E23 UP3 1 min. Considere, agora, um caso similar àquele apresentado na questão “i” (anterior). A empilhadeira entre UP2 e UP3 continua sendo compartilhada, com os tempos entre E12 e UP2 dados pela tabela 1. A empilhadeira usada para o transporte entre E23 e UP3 passou a apresentar problemas que fazem com que seus tempos sejam aqueles apresentados na tabela 2. Quais as quantidades em processamento em UP1, UP2, UP3 e nos estoques E12 e E23? TABELA 2 tempo tempo 1) 3 6) 1 11) 3 2) 2 7) 2 12) 2 3) 3 8) 1 13) 2 4) 2 9) 3 14) 1 5) 2 10) 1 15) 1 tempo Quais os efeitos do tempo de transporte na produção? Esses efeitos tem relação com a capacidade local das UPs? 34 Filas: dimensionamentos FILAS CLIENTE NA FILA CLIENTE SENDO ATENDIDO SISTEMA chegada IC fila atendimento TF NF TA NA sistema TS NS saída 36 FILAS - taxa de chegada - taxa de atendimento chegada IC IC – tempo médio entre chegadas IC=1/ TF - tempo médio na fila NF – número médio de clientes na fila TA - tempo médio de atendimento TA=1/ NA – número médio de clientes em atendimento TS - tempo médio no sistema NS – número médio de clientes no sistema fila atendimento TF NF c TA NA sistema TS NS saída 37 Fórmulas básicas NS = NF + NA TS = TF + TA NA = / = TA/IC NS = NF + NA = NF + (/ ) = NF + (TA/IC) intensidade de tráfego = / chegada IC fila atendimento TF NF c TA NA sistema TS NS saída 38 Fórmulas de Little Aplicáveis a sistemas estáveis: intensidade de tráfego < 1, ou seja, < - taxa média de chegada constante - taxa média de atendimento constante NF = . TF NS = . TS NA = . TA 39 Teoria das Filas aplicada a sistemas M/M/1 Lembrando M/M/1: 1 – processo de chegada exponencial 2 – processo de atendimento exponencial 3 – número de atendentes = 1 4 – regra da fila: geral 5 – número máximo de clientes no sistema: infinito 6 – tamanho da população: infinito Solução analítica: fórmulas matemáticas usa o conhecimento sobre o comportamento das distribuições 40 Modelagem dos tempos entre chegadas (IC=1/ ) Distribuição de probabilidade - Exponencial a(x)= . e -x . e -x E(A)=1/ é a taxa de chegadas é a média dos tempos entre de chegadas (ICs) var(A)=1/ (2) é a variância dos tempos entre de chegadas 63% 1/ x 41 Propriedades de um sistema M/M/1/G/ / 2 númeromédio de clientes na fila NF núm ero m édio de clientesno sistem a NS tem po m édio na fila TF tem po m édio no sistem a TS 1 Pr obabilidad e de existirem n clientes no sistema Pn 1 n 42 EXERCÍCIOS 2 43 2.1. Filas – geral – quiosque do banco 1. Precisamos retirar dinheiro no quiosque de caixas automáticos. Sabemos que: chegam = 20 clientes por hora a taxa de atendimento é = 25 clientes por hora o tempo médio que cada cliente gasta no sistema é TS = 0,3 horas (18 min.) a) Qual a intensidade de tráfego ()? b) Qual o tamanho médio da fila que vamos encontrar (NF)? c) Qual o número médio de clientes no quiosque (NS)? d) Qual o número médio de clientes sendo atendidos (NA)? 44 chegam = 20 clientes por hora a taxa de atendimento é = 25 clientes por hora o tempo que cada cliente gasta no sistema é TS = 0,3 horas (18 min.) a) Qual a intensidade de tráfego ()? = / =20/25=0,8 b) NF=? NF = . TF = 20. TF TS = TF + TA ou TF = TS – TA TA = 1/ = 1/25 = 0,04 h Substituindo: TF = 0,3 – 0,04 = 0,26 h NF = . TF = 20. 0,26 = 5,2 clientes 45 chegam = 20 clientes por hora a taxa de atendimento é = 25 clientes por hora o tempo que cada cliente gasta no sistema é TS = 0,3 horas (18 min.) c) NS = . TS NS = 20. 0,3 = 6 clientes d) NA = . TA TA = 1/ = 1/25 = 0,04 NA = 20. 0,04 = 0,8 clientes 46 Ao chegar ao quiosque, o que veremos será: 47 2.2. Filas – geral - lancheria 2. Na hora do intervalo, cada aluno desloca-se até o balcão de lanches. Verificou-se que: cada atendente é capaz de alcançar os lanches aos alunos a uma taxa de =9 lanches/min); a taxa de chegada de alunos no balcão é de = 4 alunos/min. a) Qual a intensidade de tráfego ? b) Qual o tempo médio de atendimento (TA)? c) Observando-se que a fila tem em média 10 alunos, determine o tempo que o aluno permanece na fila (TF). d) Considerando a informação do item c, calcule o tempo médio de permanência de um aluno na lancheria (TS). 48 2.3. Fila M/M/1 – cabine telefônica A cabine telefônica: as chegadas ocorrem de acordo com uma distribuição exponencial com taxa = 0,1 pessoas/min; a duração média dos telefonemas é de TA = 3 minutos e também segue uma distribuição exponencial. a) b) c) Qual a probabilidade de uma pessoa chegar à cabine e não precisar esperar? Qual o tempo médio na fila? Qual ritmo de chegada de pessoas determinaria um tempo médio na fila de 3 minutos? 49 A cabine telefônica: = 0,1 pessoas/min. TA = 3 minutos ou =0,33 telefonemas/min. a) Qual a probabilidade de uma pessoa chegar à cabine e não precisar esperar? 0 0,1 0,1 P0 1 1 1 0,3 0,7 0,33 0,33 0 A probabilidade de encontrar a cabine disponível é de 70%. 50 A cabine telefônica: = 0,1 pessoas/min. TA = 3 minutos ou =0,33 telefonemas/min. b) Qual o tempo médio na fila? 0,1 TF 1,28 1 / 31 / 3 0,1 O tempo médio na fila é de 1,28 min. 51 A cabine telefônica: = 0,1 pessoas/min. TA = 3 minutos ou =0,33 telefonemas/min. c) Qual ritmo de chegada de pessoas determinaria um tempo médio na fila de 3 minutos? TF 3 1 / 31 / 3 3 1 / 31 / 3 1/ 6 0,16 clientes/ min O tempo médio na fila seria de 3 min. se o ritmo de chegada fosse de 0,16 clientes/minuto. 52 2.4. Fila M/M/1 - ferramentaria 2.4. Os operários da fábrica, para realizarem as atividades diárias, precisam recorrer ao auxílio da ferramentaria. Observou-se que o ritmo de chegada de solicitações à ferramentaria segue uma distribuição exponencial com ritmo de chegada de =1 solicitação/min. O ritmo de atendimento da ferramentaria também segue uma exponencial com =12 atendimentos/min. a) b) c) d) e) f) Pergunta-se: Qual a probabilidade de um operário chegar à ferramentaria e não precisar esperar? Qual o tempo médio de espera do operário na fila (TF)? Qual o tempo médio de atendimento do operário (TA)? Qual o tempo médio do operário na ferramentaria (TS)? Quantos operários em média estão na fila (NF)? Quantos operários em média estão na ferramentaria (NS)? 53 2.5. Fila – M/M/1 – manutenção e ferramentaria 2.5. O gerente geral recebeu uma solicitação de reduzir custos com os setores de apoio à produção. Uma idéia testada em outras filiais foi alocar a um mesmo setor as atividades de ferramentaria e as atividades de manutenção básica. Antes de estudar mais detalhadamente a proposta, o gerente resolveu fazer uma análise dos impactos que esta mudança provocaria. Observou-se que o ritmo de chegada de solicitações somando-se as demandas da ferramentaria e da manutenção segue uma distribuição exponencial com ritmo de chegada de =8 solicitações/min. O ritmo de atendimento do novo setor ainda seguiria uma exponencial mas cairia para =10 atendimentos/min devido ao aumento da complexidade. Pergunta-se: a) Qual a probabilidade de um operário chegar à ferramentaria e precisar esperar? b) Qual o tempo médio de espera do operário na fila (TF)? c) Qual o tempo médio de atendimento do operário (TA)? d) Qual o tempo médio do operário no setor (TS)? e) Quantos operários em média estarão na fila (NF)? f) Quantos operários em média estarão no setor (NS)? 54 Conservação dos fluxos a. b. A B C 55 Conservação dos fluxos c. 1 1 3 C 2 d. 3 A 3= 1+ 2 B A 3 2 B 2 2= 1- 3 C 3 56 Modelagem de sistemas: SIMULAÇÃO Parte II Profa. Giovana Pasa, Dra. [email protected] Situação: Agora, desejo modelar as filas com que me deparo ao longo do dia... 58 Agenda término duração ACORDAR CAFÉ ABASTECER CARRO 5:45 6:00 6:15 5:55 0:10 6:20 0:20 6:45 0:30 melhor intermediário pior 6:15 0:20 6:50 0:30 7:25 0:40 melhor intermediário pior melhor intermediário pior 59 Agenda término duração IR ATÉ NOVO HAMBURGO 7:05 0:50 8:00 1:10 8:55 1:30 melhor intermediário pior VISITA EMPRESA A 9:45 2:40 10:50 2:50 11:55 3:00 melhor intermediário pior REUNIÃO NA EMPRESA B 11:15 1:30 12:30 1:40 13:45 1:50 melhor intermediário pior 60 Agenda término duração ALMOÇO PALESTRA VOLTAR A PORTO ALEGRE 12:05 0:50 13:30 1:00 14:45 1:10 melhor intermediário pior 14:05 2:00 15:40 2:10 17:25 2:30 melhor intermediário pior 15:35 1:30 melhor 17:20 1:40 intermediário 19:15 1:50 pior 61 Observe! Trabalhamos com os cenários MELHOR, PIOR e INTERMEDIÁRIO. Mas, qual a chance de cada um deles ocorrer? Quais as implicações de desconsiderarmos estas “chances” ? Devo ser otimista? Devo ser cauteloso? 62 Perguntas: 1. 2. Os eventos ocorrem sempre no momento planejado/esperado? Um mesmo tipo de evento tem sempre a mesma duração? Modelos analíticos: simplificações nos pressupostos implica em solução inadequada Simulação 63 Perguntas: 1. 2. Os eventos ocorrem sempre no momento planejado/esperado? Um mesmo tipo de evento tem sempre a mesma duração? - Modelos determinísticos não servem se quero considerar as chances de um evento ocorrer. Modelos probabilísticos analíticos: - muito complexos simplificações para conseguir resolver, implicam em solução inadequada 64 Definição de Simulação São técnicas que usam computadores para “imitar” ou simular diversos tipos de operações ou processos do mundo real (Law e Kelton, 1994). 65 A simulação… É uma metadisciplina Existe com a finalidade de auxiliar outras áreas Instrumento 66 Em que casos devemos usar simulação COMPLEXIDADE ALTA BAIXA DETERMINÍSTICO PROBABILÍSTICO ESTOCASTICIDADE 67 Por que usar simulação? 68 Objetivo: .... MODELOS pressupostos/ sofisticação cenários melhor intermediário pior horizonte longo médio curto 69 Fato: Existe um sistema real a ser estudado! Sistema Macro-sistema: - Banco micro sistema: - Hospital - atendimento nos caixas - Montadora de automóveis - emergência - Universidade - linha de pintura - Restaurante - processo de matrícula - cozinha 70 Como posso estudar um sistema? Sistema 71 Experimento com o sistema real Sistema Experimento com o sistema real Fórmula I zoologia agricultura 72 Experimento com o sistema real Sistema Experimento com o sistema real destrutivo Pode ser inviável: não existe (fase de projeto) 73 Experimentos com modelos físicos Sistema Experimento com um modelo do sistema Maquetes arquitetônicas Modelo físico Túnel de vento 74 Experimentos com modelos físicos Dificuldade de construir Sistema Experimento com um modelo do sistema Caro Dificuldade de realizar experimentos sem destruí-lo Modelo físico 75 Experimentos com modelos matemáticos Sistema Experimento com um modelo do sistema Modelo matemático Funções matemáticas: i=V/R Funções lógicas: Se A=B e B=C, então A=C 76 Modelo matemático com solução analítica Sistema Cálculos estequiométricos Experimento com um modelo do sistema Trajetória do robô Modelo matemático Equações de MRUV Solução analítica 77 Modelo matemático com solução analítica Terminal portuário Sistema Experimento com um modelo do sistema Relação custo-benefício não justifica o esforço Modelo matemático clima Solução analítica é muito difícil ou inexiste Solução analítica Ex.: Teoria das filas 78 Modelo matemático com simulação Sistema Experimento com um modelo do sistema Modelo matemático Simulação 79 Sintetizando (Law e Kelton): Sistema Experimento com o sistema real Experimento com um modelo do sistema Modelo físico Modelo matemático Solução analítica Simulação 80 Razões para usar simulação - 1 Testar: configurações diferentes do sistema • layout funcional, layout em linha Funcional A A C C C Linha B E E D D E E A B C D E 81 Razões para usar simulação - 1 Testar: para uma configuração, condições alternativas • capacidades de máquinas A B D D C E E C A A B C C C E E D D E E •mix produtivos 30% 40% 20% 60% 50% 82 Razões para usar simulação - 1 Avaliar desempenho • lead time ou tempo de atravessamento 108 min 95 min A C C B D D E E A A C C C B E E D D E E •índice de retrabalho 25% 33% 83 Razões para usar simulação - 2 • controle das experiências antes de alterar o sistema real • estudar ao longo de um horizonte temporal extenso... 2007 2008 2009 2010 2011 84 Razões para usar simulação - 3 Ferramenta para tomada de decisão Aprender sobre o processo Testar modelos mentais Senso de equipe/comando Reações sob pressão 85 Razões para usar simulação - 4 • aproveita o conhecimento das pessoas envolvidas rotineiramente no processo • explicita • permite compartilhamento • consolida o conhecimento 86 Razões para usar simulação - 5 • recupera a visão sistêmica dos processos 87 Razões para usar simulação - 6 • hardware: • capacidade de processamento • custo viável • software: • acessíveis • amigáveis 88 Razões para usar simulação - 7 • Aprendizagem e inovação • lápis e papel Análises financeiras • planilha eletrônica Impacto gerencial 89 Razões para usar simulação - 8 • Cultura organizacional e comportamento Perspectiva 1 90 91 92 93 94 95 O que foi possível aprender? 96 Razões para usar simulação - 8 Perspectiva 2 97 Razões para usar simulação - 8 • Cultura organizacional e comportamento Perspectiva 2 98 Razões para usar simulação - 8 • Cultura organizacional e comportamento Perspectiva 2 99 ONDE podemos usar simulação: SERVIÇOS 100 Exemplo 1: Bancos 101 Simulação – bancos Nro de caixas automáticos Tipos de funcionalidades nos caixas automáticos Arranjo físico Alocação de funcionários por turno Horários de atendimento Tempos de espera na fila 102 Exemplo 2: Hospitais 103 Simulação - hospitais Nro de leitos por setor Nro de médicos por tipo de especialidade em plantões de emergência Distribuição de medicamentos e material Alocação de leitos compartilhados por hospitais de modo a reduzir transferências 104 Exemplo 3: Manufatura 105 Simulação da manufatura Lead time Layout Estoques intermediários Dimensionamento de Turnos de trabalho capacidade Alocação de operadores Mix de produção Balanceamento da linha Substituição de Fluxo de pessoas equipamentos Fluxo de materiais Manutenção 106 Exemplo 4: Logística 107 Simulação da logística Localização dos CDs Roteiros de coleta Tipos de veículos Alocação de cargas Lead times Composição das cargas Equipamentos de movimentação de cargas 108 Atividade 3 – Na sua empresa... 1. Na sua empresa, há formação de filas? Onde? 2. Quais as causas de cada uma destas filas? 3. Quais ações deveriam ser tomadas para eliminar cada uma dessas filas? 4. Todas as filas deveriam ser eliminadas? 5. Quais os processos de chegada que você percebe em sua empresa? 6. Eles ocorrem a taxas constantes? 7. Faz diferença, caso as chegadas não ocorram a intervalos --109 Atividade 3 – Na sua empresa... 8. Você deve modelar o funcionamento de toda a empresa? 9. Qual seria a primeira modelagem que você realizaria? Por que? 10. Quais processamentos deveriam ser considerados na sua modelagem? Por que? 11. Estes processamentos ocorrem sempre com a mesma duração? 12. Quais as variações apresentadas nos tempos de processamento? 13. Você deve medir essas variações? Por que? 110 Atividade 3 – Na sua empresa... 14. Havendo um processo A com variações no tempo de processamento da ordem de 10 unidades de medida, um processo B com variações da ordem de 5 unidades de medida e os processos C a H apresentarem variações nos tempos da ordem de 0,01 unidades de medida, todos os processos deverão ter sua variabilidade observada e medida? 15. Como você obterá os dados sobre o processo? 16. Quais pessoas você irá convidar a participarem? Por que? 17. Qual o objetivo de sua modelagem? ---111 Modelagem de sistemas: SIMULAÇÃO Conceitos básicos e Terminologia Parte III Modelagem matemática Erlang desenvolveu um modelo para o sistema SISTEMA: “Conjunto de entidades que interagem com o objetivo de atingir algum fim lógico.” MODELO: Para estudar um sistema é preciso estabelecer pressupostos a respeito de seu funcionamento. Esses tomam a forma de expressões matemáticas ou lógicas que constituem o modelo. 113 Terminologia em Simulação Estado de um sistema • conjunto de variáveis necessárias para descrever o seu status em dado momento no tempo Ex.: Em um banco, na medida em que os clientes chegam, são atendidos ou partem o status do sistema muda. 114 Mudanças no Status Para descrever cada mudança possível no estado do sistema, necessitamos de um conjunto de variáveis chamadas de variáveis de estado. Ex.: nº de atendentes ocupados nº de clientes no banco momento de chegada do próximo cliente momento de partida do cliente em atendimento 115 Num sistema • objeto de interesse Entidade • propriedades de uma entidade Atributos Ex.: Banco Entidade: cliente Atributo: profissão 116 Modelos de simulação ESTÁTICOS Representam o sistema num momento particular do tempo Monte Carlo DINÂMICOS Representam o sistema modificando-se no tempo. 117 Estáticos: Simulação de Monte Carlo Law e Kelton (1991) definem: técnica que usa números aleatórios e variáveis aleatórias para resolver problemas em que a passagem do tempo não exerce um papel significativo. Então, geralmente trata-se de simulações estáticas. Ex.: Resolver integrais e conjuntos de integrais não passíveis de serem resolvidos analiticamente. P.S. Há autores que usam a denominação Monte Carlo de forma mais ampla, abrangendo qualquer simulação que use números aleatórios. 118 Dinâmicos Representam o sistema modificando-se no tempo. simulação contínua simulação discreta ou de eventos discretos 119 Simulação Contínua Variáveis de estado mudam continuamente ao longo do tempo Discreta Variáveis de estado mudam somente devido à ocorrência de eventos mudam em pontos do tempo discretos, ou seja, aqueles pontos em que ocorreu um evento 120 Simulação contínua Processos químicos, biológicos Usam equações diferenciais – resolvidas com técnicas numéricas 121 Simulação discreta Num banco: Evento cliente tem o seu atendimento iniciado cliente tem o seu atendimento concluído variável de estado é atualizada Relógio ou clock é atualizado 10:00 10:15 122 Modelos de simulação DETERMINÍSTICO Valores exatos Simplificação ESTOCÁSTICO Valores estimados Variabilidade natural do processo é modelada 123 Modelagem ESTOCÁSTICA lembrando: os tempos entre chegadas de clientes... os tempos entre chegadas de peças a serem processadas... a duração dos atendimentos dos clientes... a duração dos processamentos nas máquinas... as tarefas feitas pelas pessoas... ... apresentam variabilidade natural! Por isso usamos Distribuições de Probabilidade! 124 Os tempos de execução de uma atividade apresentam variabilidade... Tempo medido 125 Tempo medido 126 Tempo medido 127 Tempo medido 128 Tempo medido 129 Tempo medido 130 O que esta figura lembra? Tempo medido 131 Distribuição de probabilidade normal 132 Simulação de eventos discretos Estática Dinâmica Estuda sistemas estocásticos que mudam com o passar do tempo Contínua Discreta As mudanças ocorrem em momentos discretos do tempo (eventos) Determinística Estocástica O evento muda o estado do sistema instantaneamente (variáveis de estado são atualizadas)! 133 Considere uma instalação com um único servidor: atendente do banco Você deseja estimar o tempo de espera na fila (tempo desde que chegou à fila até iniciar o atendimento) 134 Para estimar o tempo médio na fila, você precisa das variáveis de estado: status do servidor: ocupado ou ocioso número de clientes na fila instante de chegada de cada cliente na fila O status do servidor é necessário para determinar se o cliente que chegou vai ser atendido imediatamente ou vai entrar na fila O número de clientes na fila é necessário para saber se, ao terminar o atendimento atual, o servidor ficará ocioso ou ocupado com alguém que estava na fila O instante de chegada é necessário para calcular o tempo gasto na fila: = tempo de início do atendimento menos instante de chegada 135 Eventos do exemplo: 1 - chegada de um cliente ou muda a variável de estado status do servidor de ocioso para ocupado ou incrementa 1 na variável de estado número de clientes na fila 2 - finalização de um atendimento ou muda a variável de estado status do servidor de ocupado para ocioso ou decrementa 1 na variável de estado número de clientes na fila 136 Mecanismos de avanço no tempo simulation clock: é a variável que fornece o valor atual do tempo da simulação incremento fixo avanço no próximo evento 137 Avanço no próximo evento e2 e3 e0 e1 0 t2 t1 A1 A2 ts1 e4 e5 t3 ts2 tempo A3 S1 ei – instante de ocorrência do evento i ti – instante de chegada do cliente i S2 Ai – tempo entre chegada dos clientes i-1 e i tfi – tempo que o cliente i fica na fila Ai = ti – ti-1 tsi – instante em que o cliente i tem seu Si – tempo gasto atendendo o cliente i atendimento concluído e sai tsi = ti + tfi + Si 138 e0 e1 e2 e3 e4 e5 0 t1 t2 ts1 t3 ts2 A1 A2 A3 S1 S2 tempo e0=0 Relógio é inicializado em zero: e0=0 Status do servidor: ocioso Usamos distribuição de probabilidade (ddp) para gerar o valor de A1 (tempo entre chegadas) Então, primeiro cliente chegará em t1 = 0 + A1 139 e0 e1 e2 e3 e4 e5 0 t1 t2 ts1 t3 ts2 A1 A2 A3 S1 S2 tempo e1 = t1 Avançamos o relógio para: e1= t1 O cliente 1 que chegou em t1 encontrou o servidor ocioso O seu atendimento iniciou sem que ele ficasse em fila: tf1 = 0 Status do servidor passou a ocupado Usamos ddp para gerar o valor de S1 (tempo de atendimento do cliente 1) Então, o primeiro cliente sairá em ts1 = t1 + tf1 + S1 140 e0 e1 e2 e3 e4 e5 0 t1 t2 ts1 t3 ts2 A1 A2 A3 S1 S2 tempo e1 = t1 Usamos ddp para gerar o valor de A2 (tempo entre chegadas para cliente 2) Então, segundo cliente chegará em t2 = t1 + A2 Como t2 < ts1 , o cliente 2 chega enquanto o cliente 1 ainda está sendo atendido e o relógio é avançado para e2= t2 (Se t2 ≥ ts1 , o relógio avançaria para e2= ts1) 141 e0 e1 e2 e3 e4 e5 0 t1 t2 ts1 t3 ts2 A1 A2 A3 S1 S2 tempo e2 = t2 O cliente 2 encontrou o servidor ocupado, então vai para a fila A variável nro de clientes na fila é incrementada de 1 e anotamos o instante de entrada na fila Usamos ddp para gerar o valor de A3 (tempo entre chegadas para cliente 3) Então, cliente 3 chegará em t3 = t2 + A3 Como ts1 < t3 , o relógio é avançado para e3= ts1 e o cliente 1 sai 142 e0 e1 e2 e3 e4 e5 0 t1 t2 ts1 t3 ts2 A1 A2 A3 S1 S2 tempo e3= ts1 O cliente 2 que estava na fila tem seu atendimento iniciado O tempo de fila é calculado: tf2 = ts1 - t2 A variável nro de clientes na fila é decrementada de 1 Usamos ddp para gerar o valor de S2 (tempo atendimento do cliente 2) Então, cliente 2 sairá em ts2 = ts1 + S2 Como t3 < ts2 , o relógio é avançado para e4= t3 , etc. Precisamos criar um critério de finalização 143 Sintetizando: Componentes e organização do modelo Estado do sistema: conjunto de variáveis para descrever o sistema em dado instante Relógio ou clock: variável que fornece o valor atual do tempo de simulação Lista de eventos: registra o próximo instante em que cada tipo de evento irá ocorrer Contadores estatísticos: armazenam indicadores de desempenho do sistema simulado 144 Componentes e organização do modelo Rotina de inicialização: subprograma que inicializa o sistema no instante zero Rotina de timing: subprograma que determina qual o próximo evento da lista e atualiza o relógio para o instante de ocorrência deste evento Rotina de evento: subprograma que atualiza o estado do sistema quando um determinado tipo de evento ocorreu (cada tipo de evento tem sua própria rotina) Biblioteca de rotinas: conjunto de subprogramas para gerar valores a partir das ddp 145 Componentes e organização do modelo Gerador de relatório: subprograma que calcula as estimativas dos indicadores de desempenho do modelo Programa principal: controla o fluxo das ações chama rotina de timing para determinar próximo evento transfere controle para rotina de evento atualizar variáveis de estado verifica finalização chama gerador de relatório. 146 FLUXO DE CONTROLE Rotina inicialização 1. Relógio é zerado 2. Inicializa estado do sistema e contadores 3. Inicializa lista de eventos início Rotina timing Programa principal 0 0. Chama rotina inicialização 1 1. Chama rotina timing 2. Chama rotina evento i Repetidamente i 2 Rotina evento i Biblioteca de rotinas 1. Atualiza o estado do sistema 2. Atualiza os contadores estatísticos 3. Gera eventos futuros e adiciona à lista de eventos Simulação concluída ? sim Gerador relatórios 1. Calcula estimativas 2. Gera relatórios Fim 1. Determina o tipo do próximo evento i 2. Avança relógio não Gerador de variáveis aleatórias Objetivo da simulação: Quais entidades devem ser consideradas? dimensionar o setor de manutenção com relação ao número de funcionários para reduzir o tempo médio de atendimento das solicitações de serviço de manutenção. solicitação de serviço de manutenção. Há a necessidade de diferenciar as entidades através de atributos? sim 148 manutenção Entidade: solicitação de serviço de manutenção Atributo: tipo de manutenção corretiva preventiva Preciso de outro atributo para distinguir as solicitações de serviço? 149 manutenção SIM, o tipo de máquina que vai sofrer manutenção MAS: Haverá diversos tipos de máquinas! Será que preciso criar tantos valores para o atributo máquina?! Faça rapidamente um pareto ou use o seu conhecimento e escolha os 3 tipos de máquinas que ocupam o maior percentual de tempo do setor de manutenção. Inicie criando estes 3 possíveis valores para o atributo “máquina que vai sofrer manutenção”. 150 Como ficou até aqui: Entidade: solicitação de serviço Atributo 1: tipo de manutenção corretiva Att1=1 preventiva Att1=2 Atributo: máquina que vai sofrer manutenção m1 Att2=1 m2 Att2=2 m3 Att2=3 Os atributos auxiliam a distinguir. Isto permite saber que ação tomar em relação àquela entidade específica. 151 Quais os recursos utilizados na manutenção? Precisamos listar todos os recursos a serem utilizados na manutenção? Inicialmente, liste os recursos mais nobres (gargalos): Funcionários Quais os locais envolvidos na modelagem? chegada de solicitações de manutenção setor de manutenção saída 152 continuação: Como é o processo de chegada? Neste ponto, precisamos obter dados para as freqüências de chegadas de solicitações de serviço dos tipos corretiva e preventiva para as máquinas m1, m2 e m3. Att1 Corretiva 1 40% m1 m2 m3 1 2 3 Preventiva 2 60% m1 m2 m3 1 2 3 8% 24% 24% 12% Att2 Nro de 16% 16% solicit. 153 continuação: Como é o tempo de atendimento? Neste ponto, precisamos obter dados para os tempos de atendimento em cada serviço dos tipos corretiva e preventiva para as máquinas m1, m2 e m3. Vamos iniciar com valores determinísticos para obtermos domínio sobre o modelo. Corretiva Preventiva Att1 1 2 Att2 Tempo de atend. m1 1 m2 2 m3 3 m1 1 m2 2 m3 3 10 20 50 60 70 80 154 continuação: Quais eventos precisam ser modelados? 1 - chegada de uma solicitação de serviço 2 - finalização de uma manutenção Quais as variáveis de estado necessárias para descrever os possíveis estados desencadeados pelos eventos? status do funcionário: ocupado ou ocioso número de solicitações na fila instante de chegada de cada solicitação na fila 155 Status 1 - chegada de uma solicitação de serviço ou muda a variável de estado status do funcionário de ocioso para ocupado ou incrementa 1 na variável de estado número de solicitações na fila 2 - finalização de uma manutenção ou muda a variável de estado status do funcionário de ocupado para ocioso ou decrementa 1 na variável de estado número de solicitações na fila 156 medições Quais as variáveis nos auxiliarão a determinar se estamos nos aproximando do objetivo da simulação? tempo de fila tempo de atendimento tempo no sistema (=tempo fila+tempo atendimento) nível de ocupação dos funcionários 157 medições incrementando variáveis As variáveis (tempo de fila, tempo de atendimento, tempo no sistema, nível de ocupação dos funcionários) que nos auxiliarão a determinar se estamos nos aproximando do objetivo da simulação serão incrementadas ou decrementadas na medida em que os eventos ocorrerem. 158 pressupostos Quais pressupostos assumimos inicialmente? modelagem das manutenções de maior impacto na ocupação do setor simplificação nos locais simplificação na qualificação dos funcionários Regime: permanente 159