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 futuros: alternativas, impacto técnica de aprendizagem organizacional 9 Where (Onde) MANUFATURA 10 Where (Onde) MANUFATURA 11 Where (Onde) SERVIÇOS 12 Where Onde? Logística 13 14 Who Quem? especialistas em modelagem usuários do sistema clientes do sistema especialistas em áreas complementares vocês 15 INICIANDO O ESTUDO História: 1908 matemático A. K. Erlang central telefônica de Copenhagen objetivo: ligações prontamente atendidas problema: dimensionar para não haver congestionamentos solução: MODELAGEM 16 Modelagem matemática de Erlang Erlang desenvolveu um modelo para o sistema da central telefônica chamadas chegam aleatoriamente na central produzem ou não conexão, dependendo da disponibilidade de linhas havendo linha, a ligação é imediata não havendo, usuário recebe sinal de ocupado e ligação é perdida deverá tentar posteriormente 17 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. 18 TEORIA DAS FILAS Erlang desenvolveu modelos matemáticos que oferecem soluções analíticas TEORIA DAS FILAS Útil para: malhas de transportes, redes de computadores, manufatura, serviços,… 19 Terminologia em TEORIA DAS FILAS 1 - Processo de chegada processo de chegada (arrival ou input process) Descreve a forma como os clientes chegam no sistema. •um cliente por vez •grupos 20 2 - Processo de atendimento processo de atendimento descreve a forma como os clientes são atendidos distribuição do tempo de atendimento um ou mais servidores série ou paralelo (service or output process) 21 Para modelarmos os processos de chegada e atendimento... ... podemos ter uma modelagem determinística (D) ou podemos ter as distribuições de probabilidade (ddp). Algumas delas são: M – exponencial U - Uniforme G – geral ou arbitrária Mais adiante serão estudadas em detalhe. 22 3 – Número de atendentes um atendente vários 23 4 - Regra ou disciplina da fila descreve a ordem em que os clientes serão atendidos primeiro a chegar é o primeiro a ser atendido último a chegar é o primeiro a ser atendido FCFS – first come, first served LCFS – last come, first served aleatório em relação à chegada prioridades por categorias 24 5 – Número máximo de clientes no sistema limitado infinito 25 6 - População Fonte infinita – chegadas independem do nro de clientes no sistema Fonte finita – dependem - população pequena - desistem em função do tamanho da fila 26 FILAS: elementos básicos Os elementos básicos das filas são os seis apresentados, especialmente: - taxa de chegada - taxa de atendimento A notação de Kendall- Lee organiza estes elementos da seguinte forma: 27 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 28 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: 29 FILAS CLIENTE NA FILA CLIENTE SENDO ATENDIDO SISTEMA chegada IC fila atendimento TF NF TA NA sistema TS NS saída 30 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 31 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 32 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 33 Exemplo 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)? 34 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 35 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 36 Ao chegar ao quiosque, o que veremos será: 37 atividade 1 - lancheria A1. 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). 38 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 39 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 40 Modelagem 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 var(A)=1/ (2) é a variância dos tempos entre de chegadas 63% 1/ x 41 Exemplo de um sistema M/M/1/G/ / 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) Qual a probabilidade de uma pessoa chegar à cabine e não precisar esperar? Pr obabilidad e de existirem n clientes no sistema Pn 1 n 42 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%. 43 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. 44 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. 45 atividade 2 - ferramentaria A2. 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. 46 atividade 2 - ferramentaria ritmo de chegada de =1 solicitação/min. ritmo de atendimento =12 atendimentos/min. Pergunta-se: a) Qual a probabilidade de um operário chegar à ferramentaria e não 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 na ferramentaria (TS)? e) Quantos operários em média estão na fila (NF)? f) Quantos operários em média estão na ferramentaria (NS)? 47 atividade 3 – manutenção e ferramentaria A3. 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. 48 atividade 3 – manutenção e ferramentaria ritmo de chegada de =8 solicitações/min. ritmo de atendimento =10 atendimentos/min. 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)? 49 Dinâmica em grupo: Conservação dos fluxos a. b. A B C 50 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 51 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... 53 Agenda ACORDAR CAFÉ ABASTECER CARRO 5:45 6:00 6:15 0:07 0:09 0:11 melhor intermediário pior 0:12 0:15 0:18 melhor intermediário pior melhor intermediário pior 54 Agenda IR ATÉ NOVO HAMBURGO REUNIÃO NA EMPRESA A REUNIÃO NA EMPRESA B 0:30 0:35 0:50 0:55 1:10 1:15 melhor intermediário pior 1:00 1:30 1:40 melhor intermediário pior melhor intermediário pior 55 Agenda CAFÉ-Reunião PALESTRA VOLTAR A PORTO ALEGRE 0:50 1:30 2:00 2:00 2:20 3:00 melhor intermediário pior 0:40 0:50 1:00 melhor intermediário pior melhor intermediário pior 56 ACORDAR CAFÉ ABASTECER CARRO CAFÉ-Reunião PALESTRA VOLTAR A PORTO ALEGRE 5:45 6:00 6:15 0:07 0:09 0:11 melhor intermediário pior melhor intermediário pior Agenda 0:12 0:15 0:18 melhor intermediário pior melhor 0:50 1:30 2:00 2:00 2:20 3:00 melhor intermediário pior 0:40 0:50 1:00 melhor intermediário pior melhor intermediário pior intermediário pior ACORDAR 05:45 06:00 06:15 CAFÉ 00:07 00:09 00:11 ABASTECER 00:12 00:15 00:18 IR A NH 00:30 00:35 00:50 REUNIÃO A 00:55 01:10 01:15 REUNIÃO B 01:00 01:30 01:40 ALMOÇO CAFÉ-Reunião 00:50 01:30 02:00 PALESTRA 02:00 02:20 03:00 VOLTAR 00:40 00:50 01:00 TOTAL CHEGADA 06:14 11:59 08:19 14:19 10:14 16:29 Observe! Agenda melhor Trabalhamos com os cenários ACORDAR CAFÉ MELHOR, PIOR e ABASTECER IR A NH INTERMEDIÁRIO. REUNIÃO A Mas, qual a chance de cada um REUNIÃO B ALMOÇO CAFÉ-Reunião deles ocorrer? PALESTRA VOLTAR Quais as implicações de TOTAL CHEGADA desconsiderarmos estas “chances” ? intermediário pior 05:45 06:00 06:15 00:07 00:09 00:11 00:12 00:15 00:18 00:30 00:35 00:50 00:55 01:10 01:15 01:00 01:30 01:40 00:50 01:30 02:00 02:00 02:20 03:00 00:40 00:50 01:00 06:14 11:59 08:19 14:19 10:14 16:29 58 Fatos sobre teoria das filas: Modelos analíticos: simplificações nos pressupostos implica em solução inadequada Pressupostos – sistemas estáveis: taxas estacionárias passado não afeta o futuro não há sobreposição de chegadas Simulação 59 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). 60 A simulação… É uma metadisciplina Existe com a finalidade de auxiliar outras áreas Instrumento 61 Por que usar simulação? 62 Objetivo: .... MODELOS pressupostos/ sofisticação cenários melhor intermediário pior horizonte longo médio curto 63 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 64 Como posso estudar um sistema? Sistema 65 Experimento com o sistema real Sistema Experimento com o sistema real Fórmula I zoologia agricultura 66 Experimento com o sistema real Sistema Experimento com o sistema real destrutivo Pode ser inviável: não existe (fase de projeto) 67 Experimentos com modelos físicos Sistema Experimento com um modelo do sistema Maquetes arquitetônicas Modelo físico Túnel de vento 68 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 69 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 70 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 71 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 72 Modelo matemático com simulação Sistema Experimento com um modelo do sistema Modelo matemático Simulação 73 Sintetizando: Sistema Experimento com o sistema real Experimento com um modelo do sistema Modelo físico Modelo matemático Solução analítica Simulação 74 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 75 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% 76 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% 77 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 78 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 79 Razões para usar simulação - 4 • aproveita o conhecimento das pessoas envolvidas rotineiramente no processo • explicita • permite compartilhamento • consolida o conhecimento 80 Razões para usar simulação - 5 • recupera a visão sistêmica dos processos 81 Razões para usar simulação - 6 • hardware: • capacidade de processamento • custo viável • software: • acessíveis • amigáveis 82 Razões para usar simulação - 7 • Aprendizagem e inovação • lápis e papel Análises financeiras • planilha eletrônica Impacto gerencial 83 Razões para usar simulação - 8 • Cultura organizacional e comportamento Perspectiva 1 84 85 86 87 88 89 O que foi possível aprender? 90 Razões para usar simulação - 8 Perspectiva 2 91 Razões para usar simulação - 8 • Cultura organizacional e comportamento Perspectiva 2 92 Razões para usar simulação - 8 • Cultura organizacional e comportamento Perspectiva 2 93 ONDE podemos usar simulação: SERVIÇOS 94 Exemplo 1: Bancos 95 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 96 Exemplo 2: Hospitais 97 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 98 Exemplo 3: Manufatura 99 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 100 Exemplo 4: Logística 101 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 102 Atividade 4 Aplicações 103 Modelagem de sistemas: SIMULAÇÃO Conceitos básicos e Terminologia Parte III 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. 105 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 106 Num sistema • objeto de interesse Entidade • propriedades de uma entidade Atributos Ex.: Banco Entidade: cliente Atributo: profissão 107 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. 108 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. 109 Dinâmicos Representam o sistema modificando-se no tempo. simulação contínua simulação discreta ou de eventos discretos 110 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 111 Simulação contínua Processos químicos, biológicos Usam equações diferenciais – resolvidas com técnicas numéricas 112 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 113 Modelos de simulação DETERMINÍSTICO Valores exatos Simplificação ESTOCÁSTICO Valores estimados Variabilidade natural do processo é modelada 114 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! 115 Os tempos de execução de uma atividade apresentam variabilidade... Tempo medido 116 Tempo medido 117 Tempo medido 118 Tempo medido 119 Tempo medido 120 Tempo medido 121 O que esta figura lembra? Tempo medido 122 Distribuição de probabilidade normal 123 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)! 124 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) 125 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 126 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 127 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 128 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 129 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 130 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 131 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) 132 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 133 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 134 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 135 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 136 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. 137 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 ATIVIDADE DE FIXAÇÃO 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 139 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? 140 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”. 141 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. 142 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 143 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. 144 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 145 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 146 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 147 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 148 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. 149 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 150 Atividade 5 151 Modelagem de sistemas: SIMULAÇÃO Etapas da simulação Parte IV Passos de uma simulação: Objetivos do estudo 1. Formular o problema e planejar o estudo determinar o impacto do tempo de atendimento do caixa sobre o tamanho da fila Aspectos específicos de interesse tempo de atendimento tempo de espera na fila tamanho da fila Foco/detalhamento exploratório – clientes em geral; caixa multifuncional 153 1. Formular o problema e planejar o estudo Havendo sistemas alternativos a serem estudados critérios para avaliar alternativas Ex.: Alternativa A: atendente usa software de apoio Alternativa B: atendente usa somente calculadora critério: relação entre a redução do tempo de fila e o investimento feito; relação entre redução do tempo de fila e perda de flexibilidade Recursos: pessoas envolvidas custo tempo restrições 154 Passos de uma simulação: 1. Formular o problema e planejar o estudo 2. Coletar dados e definir um modelo 155 2. Coletar dados e definir um modelo Obter dados e informações existentes Procedimentos operacionais Tempos de atendimento Tempos entre chegadas Tempos de espera em filas Distribuições de probabilidade 156 2. Coletar dados e definir um modelo DICA: Na definição do modelo: Comece com um modelo moderadamente detalhado Aumente a sofisticação do modelo somente se necessário 157 2. Coletar dados e definir um modelo M/M/1 chegada IC fila atendimento TF NF TA NA saída sistema TS NS 158 Como modelar os tempos entre chegadas? Qual a distribuição de probabilidade adequada para representar os tempos entre chegadas? 159 Modelagem de tempos entre chegadas (T) t1=3s t2=8s A1=5s t3=15s A2=7s Usamos a variável aleatória A para representar os tempos entre chegadas 160 Modelagem de tempos entre chegadas 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 var(A)=1/ (2) é a variância dos tempos entre de chegadas x 161 Tempo de atendimento O tempo de atendimento também pode ser modelado como uma exponencial. Outras distribuições de probabilidade: Law e Kelton (1991) Prado (2004) Harrel et al. (2002) 162 2. Coletar dados e definir um modelo M/M/1 Chegada: exponencial com IC = 1min Atendimento: c=1 atendente exponencial NA=1 com TA = 0,5 min e =2 atendimentos /min e =1chegada /min IC fila atendimento TF NF c TA NA sistema TS NS saída 163 Passos de uma simulação: 1. Formular o problema e planejar o estudo 2. Coletar dados e definir um modelo 3. O modelo é válido? não sim 164 3. O modelo é válido? Determinar o quanto o modelo conceitual é uma representação razoável do sistema real que está sendo modelado 165 O modelo é válido? 3. Antes de expor o modelo, o analista deve se perguntar: O modelo é: correto? completo? consistente? 166 Na seqüência, perguntar: o modelo parece razoável àqueles que lidam com o sistema? Envolver pessoas familiarizadas com a operação Interagir com os futuros usuários 167 O modelo parece razoável àqueles que lidam com o sistema? conversar com os “experts” no sistema gerentes de planta operadores de máquina vendedores engenheiros além das informações objetivas: motivação e comprometimento 168 Outras fontes: analisar teorias existentes literatura, artigos, dissertações, etc resultados de estudos similares outras empresas da corporação 169 Experiência e intuição: revalidar os objetivos! realimentação! continuamente! Um excelente modelo com objetivos mal definidos não terá nenhum uso! Estudar o tamanho da fila (espaço) ou o tempo na fila (satisfação do cliente)? Manter indicadores de requisitos mínimos, se for o caso! 170 3. O modelo é válido? Testar distribuições de probabilidade TESTAR OS PRESSUPOSTOS NA PRÁTICA! Análise de sensibilidade a: parâmetro de entrada distribuição de probabilidade nível de detalhamento 171 Passos de uma simulação: 1. Formular o problema e planejar o estudo 2. Coletar dados e definir um modelo 3. O modelo é válido? 4. Construir um programa computacional e verificar não sim 172 4. Construir um programa computacional e verificar Codificação ou programação do modelo Transcrição: modelo comunicativo para programa escrito em linguagem de programação O programa deve ser testado; depuração do código do programa 173 4. Construir um programa computacional e verificar Tipos de linguagens 174 Linguagens de programação em geral FORTRAN, C, PASCAL esforço para construção de modelos conhecimentos profundos de programação maior flexibilidade 175 Linguagens específicas de simulação GPSS, SIMSCRIPT, SIMAN, SLAM facilitam a tarefa do desenvolvedor rotinas de simulação prontas blocos de código são similares a comandos facilmente reutilizáveis programas menores de forma rápida 176 Softwares de simulação específicos ARENA, AUTOMOD, PROMODEL construção de modelos através de uma forma gráfica e de fácil manuseio menor flexibilidade do que as linguagens de programação 177 Características desejáveis num software: Gerais: Flexibilidade Fácil desenvolvimento do modelo ex.: tipos de atributos aplicáveis às entidades verificação de consistência e avisos ajuda on line sugestões de alterações Rápida execução 178 Características desejáveis num software: Gerais: Máximo tamanho e complexidade nro de entidades, nro de atributos, relacionamentos, etc. Compatibilidade com vários tipos de hardware Capacidade de “conversar” com outros softwares 179 Animação: Compreensão visual Conhecimentos compartilhados Treinamentos 180 Capacidade Estatística: variedade de distribuições probabilísticas Exponencial, Normal, Triangular, etc Gerador de números aleatórios Replicações usando diferentes números aleatórios Determinação de tempo de warm up 181 Relatórios de saída - documentação: pacote com indicadores estatísticos comumente usados: utilizacão, tempo de fila, etc possibilidade de personalizar e ampliar os relatórios visualizações gráficas exportar dados 182 Passos de uma simulação: 1. 2. Formular o problema e planejar o estudo Coletar dados e definir um modelo 4. Construir um programa computacional e verificar 5. Rodar simulações piloto 6. Modelo é válido? sim 3. O modelo é válido? sim não não 5. Rodar simulações piloto 6. Modelo é válido? não sim Esta segunda etapa de validação vem testar quantitativamente os pressupostos assumidos 1. ANÁLISE DE SENSIBILIDADE Variar parâmetro de entrada Observar a saída 184 5. Rodar simulações piloto 6. Modelo é válido? não sim 2. REPRESENTATIVIDADE Saída esperada do processo real Observar a saída simulada Sobreposição: Modelo 1 – processo existente – validação Sobrepõe-se a modificação Modelo 2 – processo a ser simulado 185 5. Rodar simulações piloto 6. Modelo é válido? não sim 3. TESTE Turing Saída esperada do processo real Saída simulada Especialistas conseguem diferenciar? 186 5. Rodar simulações piloto 6. Modelo é válido? não sim 4. TESTES de CAMPO Modelo de simulação Testes de campo/ cenários específicos Há convergência? 187 Passos de uma simulação: 1. 2. Formular o problema e planejar o estudo Coletar dados e definir um modelo 4. Construir um programa computacional e verificar 5. Rodar simulações piloto 6. Modelo é válido? não sim 3. O modelo é válido? não 7. Projetos de Experimentos 8. Rodar as simulações 9. Analisar saídas 10. Documentar/ apresentar resultados sim 7. Projetos de Experimentos É uma técnica desenvolvida para auxiliar no planejamento de experimentos, que apóia-se fortemente na teoria estatística. Os experimentos tradicionais, quando querem investigar o efeito de um fator (temperatura, pressão, tipo de material) sobre uma determinada resposta (resistência da barra): - variam um fator por vez (temperatura), mantendo os demais fixos (pressão e tipo de material); - medem as mudanças na resposta (resistência). 189 7. Projetos de Experimentos Os Projetos de Experimentos conseguem, variando mais de um fator por vez, medir os seus efeitos sobre a resposta. Vantagens em relação aos experimentos tradicionais: - menor número de ensaios - confiança estatística determinada - identificação de interações entre os efeitos! Em simulação, ainda auxilia a economizar tempo computacional. Então, permitem comparar cenários diferentes com economia! 190 7. Projetos de Experimentos Exemplo: Desejamos investigar o efeito do tipo de fila e do gênero de atendente sobre o tempo médio de atendimento. fator B Gênero do atendente homem mulher fator A tipo de Fila única múltipla 191 Como funcionam os Projetos de Experimentos? 1. Ao medir os tempos de atendimento para cada uma das combinações, observo os seguintes valores: fator B Gênero do atendente homem mulher fator A tipo de Fila única 20 min. 30 min. múltipla 40 min. 52 min. 192 fator B Gênero do atendente Estudo os efeitos: homem mulher fator A tipo de Fila única 20 min. 30 min. múltipla 40 min. 52 min. Observando o efeito do tipo de fila: t múltipla – t única = 40 52 20 30 2 2 = 21 min. Observando o efeito do gênero do atendente: t mulher – t homem = 30 52 20 40 2 2 = 11 min. 193 E posso descobrir interações! VEJAMOS OUTRO EXEMPLO: Desejamos investigar o efeito da idade e do gênero do atendente sobre o tempo médio de atendimento. fator B gênero do atendente homem fator A idade do atendente mulher adulto jovem 20 40 terceira idade 50 12 194 fator B gênero do atendente Interações: homem fator A idade do atendente mulher adulto jovem 20 40 terceira idade 50 12 terceira idade - adulto jovem = 50 12 20 40 1 min . 2 2 mulher - homem = 40 12 20 50 9 min . 2 2 Porém: 195 fator B gênero do atendente Interações: homem fator A idade do atendente mulher adulto jovem 20 40 terceira idade 50 12 terceira idade - adulto jovem = 50 12 20 40 1 min . 2 2 mulher - homem = 40 12 20 50 9 min . 2 2 Poderia parecer que a idade não afeta o tempo de atendimento. Porém, o que acontece é que a idade tem efeitos fortes MAS diferentes para homens e mulheres. 196 fator B gênero do atendente Interações: homem fator A idade do atendente mulher adulto jovem 20 40 terceira idade 50 12 Observe: Para mulheres: terceira idade – adulto jovem = 12 – 40 = -28 min. Para homens: terceira idade – adulto jovem = 50 - 20 = 30 min. Isso significa que há uma interação entre idade e gênero; ou seja, o efeito da idade sobre o tempo atendimento é diferente para os 197 diferentes gêneros. Lembre: PARÂMETROS DO PROCESSO: aqueles que podemos variar no processo FATORES CONTROLÁVEIS: aqueles que vamos variar e cujos efeitos vamos estudar FATORES FIXOS – aqueles que manteremos constantes RUÍDOS – não temos domínio; apenas registramos 198 Exemplos de fatores cujos efeitos costumamos estudar: Na linha de produção: Fatores Número de máquinas (capacidade) Disciplina da fila Tamanho dos estoques intermediários Posição dos estoques intermediários Velocidade das esteiras Regras de priorização de peças/clientes Respostas Ritmo de produção Tempo de atravessamento Utilização dos recursos Percentual de refugos Estrutura de hardware: Fatores Número de terminais Capacidade dos discos rígidos Velocidade da CPU Velocidade dos drives de acesso Respostas Tempo de resposta aos usuários Utilização da CPU Utilização do disco Confiabilidade do sistema (tempos entre falhas) 199 Aspectos a considerar: 1. ORTOGONALIDADE 2. SIMETRIA 3. TESTAR EXTREMOS 4. VARIABILIDADE NATURAL DO PROCESSO 5. VARIÁVEIS DE RESPOSTA DE INTERESSE e 6. MONITORAMENTO DE VARIÁVEIS DE RESPOSTA REQUERIDAS 200 ATIVIDADE 6: Esboçando o seu Projeto de experimento: Escolher o processo. Listar possibilidades de: Parâmetros de processo: Fatores controláveis: Fatores constantes ou fixos: Ruídos: Faça um esboço de experimento similar àquele dos exemplos, para o seu caso. Determinar níveis a ser ensaiados. 201 Passos de uma simulação: 1. 2. Formular o problema e planejar o estudo Coletar dados e definir um modelo 4. Construir um programa computacional e verificar 5. Rodar simulações piloto 6. Modelo é válido? não sim 3. O modelo é válido? não 7. Projetos de Experimentos 8. Rodar as simulações 9. Analisar saídas 10. Documentar/ apresentar resultados sim 202 Ainda é preciso definir: As condições iniciais da simulação: São os valores das variáveis de estado e dos medidores estatísticos no início da simulação. Elas geram impactos sobre o resultado final. Veja o caso: Desejamos estimar o tempo médio de espera dos clientes num banco, no horário do meiodia às 13h. 203 Condições iniciais da simulação: O que ocorre se??? Damos a partida nesta simulação considerando que a variável “número de clientes no sistema” está zerada e... definimos como hora de início da simulação “meio-dia”? As nossas estimativas serão tendenciosas para menos! 204 O que fazer então? Abordagem 1 Damos a partida na simulação considerando que a variável “número de clientes no sistema” está zerada, mas iniciamos a simulação com o relógio marcando 9h da manhã (abertura do banco). Como estamos interessados nos tempos de espera somente entre meio-dia e 13h, somente as esperas dos clientes atendidos neste período serão contabilizadas. 205 Desvantagem da abordagem 1: Estaremos rodando a simulação durante 4 horas (tempo computacional proporcional) Mas, somente uma hora servirá para estimarmos os atrasos Usaremos 3 horas de simulação somente para o “warm up” do sistema Desperdício de tempo computacional! 206 Abordagem 2: Coletar dados sobre o número de clientes presentes no banco ao meio-dia (durante vários dias) Será modelada a distribuição de probabilidade Assume-se que os clientes presentes no banco iniciaram seu atendimento ao meio-dia Embora alguns já houvessem iniciado o seu atendimento, o erro ficará diluído ao longo de uma hora de simulação e será desprezível. 207 Como definir o tempo de warm up: Técnicas e algoritmos Graficamente Através do acompanhamento numérico da estabilização das estimativas Através da observação de um comportamento conhecido Regras: capaz de abranger, por várias vezes, a ocorrência dos tipos de variações que ocorrerão no ambiente (ex.: quebra de máquina) 208 Número de rodadas Rodadas são necessárias para capturar a aleatoriedade Decisão em função da variabilidade presente na modelagem do fenômeno Validação através de comportamentos conhecidos 209 Duração de cada rodada A duração de cada rodada deve ser suficientemente grande para que, mesmo os fenômenos com menor probabilidade (nas distribuições) tenham chance de ocorrer. 210 ATIVIDADE 7 - Para o seu experimento, analise: Qual o tempo de warm up? Qual a duração de cada rodada? 211 8. Rodar as simulações 9. Analisar saídas 10. Documentar/ apresentar resultados As simulações geram os dados de desempenho do sistema Técnicas estatísticas são utilizadas para analisar os dados de saída Documentar as premissas do modelo e da programação computacional pois haverá mais de uma simulação 212 Aspectos da simulação que requerem cuidados! Desenvolver modelos para sistemas complexos: Caro Demorado 213 Armadilhas a evitar em simulação: Utilizar a simulação quando outra técnica é a mais adequada Definir pouco claramente os objetivos no início do estudo Nível de detalhamento do modelo inadequado 214 Armadilhas a evitar em simulação: • falhas de comunicação com os gestores durante o estudo • má compreensão da simulação por parte dos gestores 215 Armadilhas a evitar em simulação: • Olhar o estudo de simulação como um exercício de utilização de software em computador • Não incluir na equipe pessoas com conhecimento de estatística e metodologia da simulação 216 Armadilhas a evitar em simulação: • adotar software • usar inadvertidamente um de simulação inadequado software dada a facilidade de interação e por não requerer programação • não recolher dados de boa qualidade no sistema real 217 Armadilhas a evitar em simulação: • não incorporar corretamente as fontes de aleatoriedade do sistema real • escolher arbitrariamente distribuições de probabilidade para os dados 218 Atenção! Modelo não validado Resultados conduzem a erros ! 219 Aspectos da aleatoridade que requerem atenção ! Cada rodada de um modelo estocástico de simulação produz apenas estimativas São necessárias várias rodadas para gerar estimativas razoáveis!! 220 Atenção! Relatórios com resultados numéricos Modelo animado Confiar incondicionalmente ???! 221 Atividade 8 222 Modelagem de sistemas: SIMULAÇÃO Construindo modelos Parte V Mapeamento da produção foco 1 da produção – O QUE É FEITO foco 2 da produção – QUEM FAZ Melhoria com foco 1 - O QUE É FEITO - conduz a melhores resultados! Porque: - está diretamente associada ao objetivo da produção - está associada ao fluxo da produção lead time tempo de resposta identificação dos gargalos 224 Em serviços: Atenção!!! Em serviços, o foco 1 da produção – O QUE É FEITO é um ser humano. O ser humano “sofre” processamentos. Foco principal, em serviços, é a pessoa que está sendo atendida. 225 Fluxograma de processo Categoria Símbolo Descrição Processamento o produto sofre modificação: usinagem, furação, solda, etc Contato com o Uma ocasião de interação entre o servidor e o cliente cliente Transporte Os produtos ou serviços ou informações percorrem uma distância Espera do processo o lote inteiro espera para ser processado ou entre processos Espera pelo enquanto uma peça do lote de 100 está sendo processada, as 99 demais tamanho do lote Inspeção esperam Inspeção 226 M/M/1: Distância Tempo em em metros minutos 6 Descrição do Processo 0,4 Cliente vai até a fila 17 Cliente espera na fila 0,1 Cliente vai até o caixa 14 Cliente é atendido 10 0,5 Cliente sai 20 32 4 Totais Símbolos gráficos 1 3 1 44 % do tempo foi gasto em atendimento 56 % do tempo foi gasto em espera e deslocamentos 227 Outras representações: Davis, Chase e Aquilano Atividades ou operações A pesar empacotar espera Filas ou esperas Qualidade A ou B? fritar salgar pesar empacotar B Nó de decisão Fluxo de materiais/cliente 228 Quanto às representações: mostram o fluxo da produção incluem as esperas omitem as esperas relacionam ao layout e aos deslocamentos não relacionam ao layout e aos deslocamentos Quanto aos elementos que fluem: unidades lotes sofrem agrupamento sofrem desagrupamento 229 Quanto aos recursos: capacidades utilizações (quebras, tempos de manutenção, etc) aplicabilidade e prioridades de uso, se houver requisitos de operação (equipamentos e pessoas que provém assistência) Quanto aos tempos: há facilidade de observação e coleta? a variabilidade precisa ser modelada ou posso usar médias? turnos de trabalho? dias úteis? 230 _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ 231 Atividade 9 232 Modelagem de sistemas: SIMULAÇÃO Usando um software Elementos básicos Parte VI 233 Promodel – Elementos básicos Usaremos o software Promodel exclusivamente com o intuito de ilustrar e exercitar a aplicação dos conceitos teóricos apresentados Lembre: os conceitos são aplicáveis utilizando-se qualquer recurso de simulação 234 MÓDULO 1 – M1_FILA 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 (TA=2,4 min) o tempo médio que cada cliente gasta no sistema é TS = 0,3 horas (18 min.) a) Qual a intensidade de tráfego ()? = 0,8 b) Qual o tamanho médio da fila que vamos encontrar (NF)? NF = 5,2 clientes c) Qual o número médio de clientes no quiosque (NS)? NS = 6 clientes d) Qual o número médio de clientes sendo atendidos (NA)? NA = 0,8 clientes 235 1. Criando um novo arquivo: Selecionar File Selecionar New Abre-se a janela General Information Em Title, digite o nome do arquivo: M1_FILA OK 236 2. Construindo os LOCAIS ou LOCATIONS Locais ou locations representam os lugares para onde as entidades são encaminhadas para serem processadas ou armazenadas (ou outras atividades, tomadas de decisão). Ex.: locais de entrega, locais para armazenagem, locais de processamento 237 O editor de LOCAIS consiste de 3 janelas Janela Graphics Tabela Edit Janela de layout 238 Observe que: Quando selecionado insere novos locais Desmarcado acrescenta uma associação destes objetos aos locais selecionados Count - contador Gauge/Tank - Medidor ou reservatório Conveyor/Queue - Fila ou esteira transp. Label - Rótulo Status light – muda de cor confome status Entity Spot – plataforma Region -região Criando LOCAIS Na janela Graphics, clicar com o botão da esquerda do mouse no ícone desejado A seguir, clicar com o mesmo botão na janela Layout Automaticamente surgirá um registro na tabela Edit Obs.: Posso usar o botão EDIT na janela Graphics para modificar o ícone 240 Criando o LOCAL de chegada Botão da esquerda do mouse 241 LOCAIS Icon –ícone gráfico Name – nome do local Cap – representa o número de entidades que o local é capaz de processar por vez Unit – um local pode ser do tipo multi-local, ou seja, vários locais com as mesmas características Dts – define tempos de paradas, setup, etc Stats – especifica o tipo de estatística que será coletado para o local None - nenhuma Basic – apenas tempo médio no local e utilização Time series – coleta estatísticas básicas e, também, rastreamento dos dados coletados no local ao longo do tempo Regras – define: a) de que modo o local selecionará a próxima entidade a entrar; b) como múltiplas entidades se enfileiram para sair; c) como uma entidade entrante escolhe entre multi-locais. Notes - comentários. 242 Criando uma FILA •Botão da esquerda do mouse em Graphics e depois em Layout •Arrasta do ponto de início até o ponto de fim da fila e então duplo click 243 Criando uma FILA Com o mouse sobre a fila, clicar no botão da direita, e abre a janela a seguir... 244 Criando uma FILA • Com o mouse sobre a fila, clicar no botão da direita, e abre a janela a seguir... • Selecionar Queue e OK 245 Criando o LOCAL mesa (para o atendente) 246 3. Construindo ENTIDADES ou ENTITIES Tudo o que é processado no modelo é chamado de ENTIDADE Ex.: pessoas sendo atendidas, chamados telefônicos, peças, etc. Em nosso exemplo da fila, os clientes são entidades. 247 3. Construindo a ENTIDADE cliente Clicar (na janela Entity Graphics) sobre o ícone desejado O ícone vai aparecer pequeno Arraste a barra para cima e ele será ampliado 248 Editando a ENTIDADE cliente Você arrastou a barra para cima e o ícone foi ampliado Agora clicar em EDIT para modificar o ícone 249 Editando a ENTIDADE cliente Ao clicar em EDIT para modificar o ícone, abriu a janela Library Graphic Clicar em girar para fazer o cliente olhar na direção da mesa Clicar em OK A ENTIDADE cliente somente irá aparecer na janela Layout ao rodar a simulação 250 5. Criando RECURSOS Um RECURSO pode ser uma pessoa, um equipamento ou qualquer outro dispositivo usado para uma ou mais das seguintes funções: trasnportar entidades auxiliar na realização de operações sobre as entidades num dado local realizar manutenções em outros recursos Podem ser estáticos ou dinâmicos 251 5. Criando RECURSOS Selecione um ÍCONE na janela Resource Graphics Amplie e edite do mesmo modo que fez com a entidade Em seguida clique em ADD e clique na janela Layout 6. Criando PROCESSAMENTOS Os PROCESSAMENTOS definem o roteamento das entidades através do sistema e as operações que sofrerão em cada local. Uma vez que as entidades são introduzidas no sistema pelas CHEGADAS (ARRIVALS), tudo o que irá acontecer a elas enquanto existirem será especificado no PROCESSAMENTO (PROCESSING) 253 Quatro janelas serão usadas para criar PROCESSAMENTOS: Process, Routing, Tools e Layout Primeiro passo: vamos ligar a chegada à fila; com a caixa New Process selecionada, clicamos na chegada e arrastamos até a fila. A janela Process define o que será feito: A entidade cliente que está no Local Chegada não sofrerá nenhuma operação neste local 255 A janela Routing define o que deve ser atendido para que o cliente se mova da chegada para a fila: A entidade cliente saiu (do Local Chegada). O seu destino é o Local fila. Aparece a regra default de escolha de rota: FIRST 1. Esta regra seria necessária se houvesse mais de um local para onde a entidade pudesse ser destinada. Move Logic: MOVE FOR 0 (apenas para ele não gastar tempo no deslocamento); (obs.: neste caso ele faria automaticamente); Na fila: 257 Da fila para a mesa: Para que o cliente passe da fila para a mesa, a condição é que o atendente esteja ocioso: Move logic: IF atendente = 0 THEN {MOVE FOR 0} 258 Da mesa para a saída! Clicar sobre a mesa e arrastar até ROUTE TO EXIT 259 Processamento na mesa: USE atendente FOR 2.4 Para rotear o cliente para a saída: MOVE FOR 0 cliente 260 7. Criar CHEGADAS ou ARRIVALS Especificam como as entidades entram no sistema 261 7. Criar CHEGADAS ou ARRIVALS Entity: cliente Location: chegada Qty Each: nro de entidades que entram por vez First time: instante da primeira chegada Ocurrences: total de chegadas Frequency: intervalo entre chegadas Logic: serve para diferenciar as entidades por atributos quando for o caso Disable: serve para desabilitar a entrada, simulando a interrupção da chegada de clientes 262 8. Rodando a simulação Menu: Simulation Selecione: Options Selecione: Time Only Determine a precisão Não selecione warm up Marque 1 hora de simulação Escolha 1 replicação Run 263 Observe: Arrastando esta barra você consegue acelerar ou retardar a velocidade da simulação O relógio da simulação é visível Selecione Yes para ver os resultados Resultados: sem warm up – 1h simulação – 1 rodada Locations: mostra estatísticas sobre os locais Compare com os resultados analíticos General: mostra data em que foi rodada a simulação, nome do modelo e nome do arquivo 265 Resultados: com warm up=1h 1h simulação – 1 rodada Resultados: com warm up=1h - 4h simulação – 1 rodada 266 Resultados: com warm up=1h 50 h simulação – 1 rodada Resultados: com warm up=1h - 100 h simulação – 1 rodada 267 MÓDULO 2 – M2_TELEFONE Exemplo de um sistema M/M/1/G/ / 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. Qual a probabilidade de uma pessoa chegar à cabine e não precisar esperar? 70% b) Qual o tempo médio na fila? 1,28 min c) Qual seria o tempo médio na fila se a taxa de chegadas fosse = 0,16 pessoas/min? Aproximadamente 3 min. a) 268 MÓDULO 2 – M2_TELEFONE Exemplo de um sistema M/M/1/G/ / d) Calcule o nro médio de clientes na fila (formulário p.34) e compare com o resultado encontrado. Quanto tempo de simulação foi necessário para convergirem os valores? e) Faça o mesmo para o tempo médio no sistema. 269 SIMULAÇÃO: Distribuições de Probabilidade Profa. Giovana Pasa, Dra. [email protected] Abordagem 1: Ajustar uma distribuição teórica É a abordagem mais favorável: distribuições conhecidas bem comportadas permite gerar estimativas (estender um pouco além dos dados originais) suaviza os ruídos sustentada por conhecimento do fenômeno físico sintetiza a informação vinda dos dados 271 Distribuições Parâmetros: de localização () 1 2 272 Distribuições Parâmetros: de escala () 1 2 273 Distribuições Parâmetros: de forma () Weibull =0,5 =1 Weibull =1 =1 Weibull =2 =1 274 Distribuições úteis nas modelagens Uniforme: usada para gerar outras distribuições f(x) 1/(b-a) a b 275 Distribuições úteis para modelagem: Exponencial (): tempos entre chegadas de clientes num sistema (quando estas ocorrem em uma taxa constante) f(x) =1 x 276 Gama (, ) tempo para completar uma tarefa (atendimento de um cliente; reparo de uma máquina) f(x) =2 =1 x 277 Weibull (, ) tempo para completar uma tarefa; tempo até a falha de um equipamento f(x) =2 =1 x 278 Normal (,) erros de vários tipos, por exemplo, na execução de uma peça com dadas especificações dimensionais; quantidades que resultam da soma de outras quantidades (teorema do limite central); distribuição de médias f(x) x 279 Lognormal (,2) tempo para completar uma tarefa; quantidades que são o produto de um grande número de outras quantidades f(x) x 280 Outras distribuições contínuas: Beta (1, 2): usada como aproximação inicial na ausência de dados; proporção de itens defeituosos num embarque; tempo para completar uma tarefa Pearson tipo V (, ): tempo para completar uma tarefa Pearson tipo VI (1, 2, ): tempo para completar uma tarefa 281 Outras distribuições contínuas: Triangular (a, b, c): usada como aproximação inicial na ausência de dados f(x) 2/(b-a) a c b x 282 Distribuições discretas: Bernoulli (p): Ocorrência aleatória com duas saídas possíveis p(x) = 1-p se x=0 p(x) = p se x=1 p(x) = 0 em qualquer outra situação Binomial (t,p) número de itens defeituosos em um lote de tamanho t número de itens que compõem lotes de tamanhos aleatórios (tamanhos dos grupos de pessoas num evento) número de itens demandados de um estoque 283 Distribuições discretas: Geométrica (p): Número de itens inspecionados antes de encontrar o primeiro defeituoso Número de itens que compõem lotes de tamanhos aleatórios número de itens demandados de um estoque Binomial negativa (s,p) número de itens bons inspecionados antes de encontrar o s-ésimo item defeituoso número de itens que compõem lotes de tamanhos aleatórios número de itens demandados de um estoque 284 Poisson com parâmetro t Modelagem do número de chegadas Nt é a taxa de chegadas E(Nt)=t é a média do número de chegadas no intervalo t var(Nt)= t é a variância do número de chegadas no intervalo t P ( N t n) e t t n! n (n=0,1,2,…) 285 Abordagem 2: Ajustar uma distribuição empírica Aplicação: Há situações para as quais nenhuma distribuição teórica se ajusta bem!!! Aspectos críticos a considerar: apresenta irregularidades de comportamento, associadas principalmente a situações em que dispomos de poucos dados não permitem extrapolar os limites da observação; isto é crítico, pois estimativas em simulação dependem também da chance de ocorrência de eventos extremos 286 Bibliografia Law, Averill e Kelton, W. Simulation modeling and analysis. New York: MacGraw Hill, 1991. Winston, Wayne. Introduction to probability models. Belmont: Thomson, 2004. Winston, Wayne. Operations research. Belmont: Thomson, 1994. Harrel, Charles R. Simulação: otimizando os sitemas. São Paulo: IMAM, 2002. Prado, Darci. Teoria das filas e da simulação. BH: INDG, 2004. 287 AVALIAÇÃO 288 Aplicação 1) Delimite a extensão do sistema que você vai estudar. 2) Descreva o sistema (como ele ocorre na empresa). 3) Enuncie o objetivo prático da simulação. 4) Cite os eventos que você irá considerar na modelagem e o grau de detalhamento. 5) Explicite os pressupostos da sua modelagem. 6) Liste todos os elementos que você irá considerar no modelo (locais, entidades, recursos, atributos, processamentos) e descreva a modelagem de cada um. Faça considerações sobre as simplificações e pressupostos sobre cada um deles. 7) Sobre a coleta de dados: i) Quais as fontes usadas? ii) Qual o horizonte de tempo que você considerou na coleta? Ele é suficiente? Contempla mesmo os eventos mais raros? iii) De quanto em quanto tempo ocorrem estes eventos mais raros? Quais são eles? 8) Sobre a validação? i) Descreva, passo a passo, o que você fez para validar o seu modelo. ii) Quem foi consultado? 289 9) Qual o tempo que você propõe para as rodadas? Por que? 10) Qual o tempo de warm up? Por que? 11) Observar a variabilidade natural do seu sistema. Fale a respeito dela em relação a cada um dos elementos que você usou no sistema. 12) Quais medidores estatísticos você vai usar? Por que? De que modo eles contribuem para alcançar o objetivo proposto. 13) Foi necessário reavaliar o objetivo da simulação, ao longo do caminho? Sim? Não? Por que? O que foi modificado. 14) Você aprendeu algo a respeito do seu sistema, ao longo do esforço de modelagem? Caso sim, o que aprendeu e em que passo(s) da simulação isso ocorreu. 15) Faça um exercício de criatividade e imagine um ponto do seu sistema onde você muda drasticamente uma característica (velocidade, tempo de execução, tempo de atendimento, capacidade do recurso, número de recursos, taxa de chegadas, etc). Proponha algo que seja impossível hoje, tecnologicamente. Analise os resultados. O que você observou? 290 291