Captulo 5 Modelagem Intermediria e Anlise Estatstica de

  • Slides: 44
Download presentation
Capítulo 5 Modelagem Intermediária e Análise Estatística de Simulações com Critério de Parada Frederico

Capítulo 5 Modelagem Intermediária e Análise Estatística de Simulações com Critério de Parada Frederico R. B. Cruz Simulação de Sistemas Departamento de Estatística - UFMG 1

O quê será feito. . . • Um pequeno sistema de manufatura (Modelo 6.

O quê será feito. . . • Um pequeno sistema de manufatura (Modelo 6. 1) – – – Seqüências Variáveis e Expressões Conjuntos Importação de objetos CAD Verificação (debugging) • Análise estatística dos dados de saída: simulações com critérios de parada – Janela de tempo das simulações – Replicações e intervalos de confiança (Modelo 6. 2) – Comparação de alternativas 2

Um Pequeno Sistema de Manufatura • Partes chegam, visitam quatro células e vão embora

Um Pequeno Sistema de Manufatura • Partes chegam, visitam quatro células e vão embora • Células 1, 2 e 4: uma máquina cada • Célula 3: duas máquinas — mais nova 20% mais rápida – Necessidade: forma de modelar recursos não-idênticos • Disposição circular de células • Partes chegam à esquerda, saem à direita, trafegam em sentido horário, tempo entre estações = 2 min. 3

Um Pequeno Sistema de Manufatura (cont. ) • Três tipos de parte diferentes –

Um Pequeno Sistema de Manufatura (cont. ) • Três tipos de parte diferentes – Tempo entre chegadas (todos os tipos conjuntamente) ~ exp(13) minutos – 26% tipo 1, 48% tipo 2, 26% tipo 3 • Tipos diferentes seguem diferentes rotas e têm diferentes tempos de processamento: – Necessidade: forma de mudar o roteamento em função do tipo de parte — planos de processamento (process plans) 4

Seqüências • Módulo “Sequences” no painel “Common” — módulo de dados • Definir seqüências

Seqüências • Módulo “Sequences” no painel “Common” — módulo de dados • Definir seqüências de estações a serem visitadas – Geralmente dependem do tipo de entidade – Podem ser associados atributos ou variáveis a cada estação na seqüência, em função do tipo de entidade – Na área “Leave Data” dos módulos, selecionar “Seq” (em lugar de “Connect” ou “Route”), para definir a seqüência a ser seguida 5

Seqüências (cont. ) • O Arena mantém internamente a seqüência a seguir – nome

Seqüências (cont. ) • O Arena mantém internamente a seqüência a seguir – nome da seqüência (“Sequence name”), NS – estação (“Station”) para onde a entidade se dirige, M – ordem dentro da seqüência, IS • Normalmente, a entidade chega, recebe um nome de seqüência, percorre sua rota e deixa o sistema – Pode-se interromper a seqüência, pulando para frente ou para trás (não-trivial) • Lembrar de definir a estação de saída (“exit”) 6

Variáveis • Permite a reutilização do mesmo número em lugares diferentes • Somente podem

Variáveis • Permite a reutilização do mesmo número em lugares diferentes • Somente podem ser constantes, mas que podem ser redefinidas pelas entidades • Módulo “Variables” do painel “Common” – Módulo de dados – Define nomes e valores iniciais – Pode ser um escalar, vetor ou matriz bidimensional • Não pode envolver cálculos aritméticos, atributos de entidades, outras variáveis ou distribuições 7

Expressões • Motivação semelhante à das variáveis — reutilização da mesma “coisa” em diversas

Expressões • Motivação semelhante à das variáveis — reutilização da mesma “coisa” em diversas partes do modelo • Fórmula fixa ou função que pode envolver cálculos aritméticos, atributos das entidades, outras variáveis e distribuições — bem geral • Entretanto, a forma da expressão não pode mudar durante a simulação • Módulo “Expressions” do painel “Common” – Módulo de dados – Define nomes, forma das expressões – Pode ser um escalar, vetor ou matriz bidimensional 8

Conjuntos • Grupo de objetos (recursos, seqüências, figuras etc) sob uma mesma denominação •

Conjuntos • Grupo de objetos (recursos, seqüências, figuras etc) sob uma mesma denominação • Definição: módulo “Sets” do painel “Common” • Referência a objetos de um conjunto pelo seu nome (independente do conjunto a que pertence) ou pelo seu índice dentro conjunto • Um objeto pode ser membro de um ou mais conjuntos (ou não estar em nenhum conjunto) • Podem ser de (quase) qualquer coisa – Um dados conjunto precisa ter membros do mesmo tipo 9

Conjuntos (cont. ) • Talvez o mais comum: recursos – Permite que recursos dissimilares

Conjuntos (cont. ) • Talvez o mais comum: recursos – Permite que recursos dissimilares sejam agrupados — mais geral que recursos com múltipla capacidade, quando todos são idênticos – Entidades podem escolher entre os membros de um conjunto de acordo com preferências e regras – É possível animar individualmente os recursos em um conjunto (estado, representação) — diferentemente de recursos com múltipla capacidade • Agrupamento de seqüências e representação de entidades em cnjuntos para facilitar o acesso (via índice) 10

Abordagem da Modelagem • Há diferentes formas de representar o modelo • Freqüentemente, direcionada

Abordagem da Modelagem • Há diferentes formas de representar o modelo • Freqüentemente, direcionada pela disponibilidade de dados • Decidir e esquematizar como as coisas serão representadas; aqui: – – Utilizar seqüências para controlar o fluxo Atribuir tempos de processamento às seqüências (exceto célula 1) Para célula 1, usar vetor de expressões Usar variáveis para os tempos de transferência e os fatores a velocidade na célula 3 11

Construindo o Modelo • Localizar módulos de dados (seqüências, expressões, variáveis, conjuntos e simulação)

Construindo o Modelo • Localizar módulos de dados (seqüências, expressões, variáveis, conjuntos e simulação) – Definir nomes, valores iniciais – Tornar nomes disponíveis nos campos com listas, para referência futura quando da edição dos módulos lógicos • Localizar módulos lógicos, fazendo uso dos nomes previamente definidos nos módulos de dados • Animação — importação de objetos Auto. CAD • Verificação do modelo • Planejamento dos experimentos e análise 12

Módulo de Seqüências (“Sequences”) • Definir caminhos diferentes para diferentes partes • Nome das

Módulo de Seqüências (“Sequences”) • Definir caminhos diferentes para diferentes partes • Nome das seqüências – “Part 1 Process Plan” etc. • Possibilidade de definir ações em cada estação como parte das seqüências – Definir atributo “Process Time” (exceto célula 1) • Agrupar seqüências em um conjunto (breve) • Atribuir a seqüência, indexada pelo conjunto, a cada parte que chega, no momento da sua geração • Não esquecer de definir o final (“exit”) de cada seqüência • Boa (mas não a única) forma de modelar 13

Módulo de Expressões (“Expressions”) • Muitos usos em potencial, mas aqui para definir tempos

Módulo de Expressões (“Expressions”) • Muitos usos em potencial, mas aqui para definir tempos de processamento na célula 1 • Nomear cada expressão: Cell 1 Times • Escalar, vetor ou arranjos bidimensionais – Aqui, usar vetor 3 x 1, um para cada tipo de parte – Necessário indexar na ordem correta — aqui, por tipo de parte • Pode ser uma expressão bem geral – Aqui, serão as distribuições dos tempos de processamento – Entidades indexam o vetor pelo tipo da parte: Cell 1 Times (Part Index) • Não é a única forma de modelar 14

Módulo de Variáveis (“Variables”) • Definir variáveis globais e seus valores iniciais – Como

Módulo de Variáveis (“Variables”) • Definir variáveis globais e seus valores iniciais – Como expressões, são globais ao modelo – Diferentemente das expressões, podem assumir somente valores numéricos, não fórmulas, outras variáveis, expressões, ou atributos (mas o valor numérico pode mudar ao longo da simulação) – Aqui, será usada duas variáveis diferentes – Fator de velocidade na célula 3: vetor 2 x 1 Factor • 0. 8 para o índice 1 (máquina nova), 1. 0 para o índice 2 (antiga) – Valor (2) para os tempos de transferência: Transfer Time • Novamente, esta não é a única forma de modelar 15

Módulo de Conjuntos (“Sets”) • Agrupar coisas “semelhantes” — Recursos, Filas, Armazéns, Estações, Figuras,

Módulo de Conjuntos (“Sets”) • Agrupar coisas “semelhantes” — Recursos, Filas, Armazéns, Estações, Figuras, Contadores, Medidas Individuais (“Tallies”) e outras (p. e. , Seqüências) • Pode tornar modelos mais gerais e simples – Em alguns casos, necessários para modelar adequadamente os elementos, tais como trabalhadores (recursos) com várias habilidades diferentes, mas algumas coincidentes • A ordem dos membros é crítica! • Aqui, criaremos conjuntos de Recursos, Seqüências, Figuras e medidas individuais (“Tallies”) 16

Módulo de Conjuntos (“Sets”) (cont. ) • Conjunto de recursos – Para dois tipos

Módulo de Conjuntos (“Sets”) (cont. ) • Conjunto de recursos – Para dois tipos diferentes de máquinas na célula 3 – Nomear o conjunto Cell 3 Machines – Para definir, usar a lista de opções sempre que possível • Depende da ordem que o modelo é construído – Uso: No módulo de processamento da célula 3 (breve …) • Conjunto seqüências – Para generalização do número de tipos de partes – Nomer o conjunto Part Sequences – Aqui, não há lista de opções, logo necessário lembrar o nome dado no módulo de seqüências – Uso: No módulo de chegada (breve …) 17

Módulo de Conjuntos (“Sets”) (cont. ) • Conjunto de figuras – Mostrar diferentemente os

Módulo de Conjuntos (“Sets”) (cont. ) • Conjunto de figuras – Mostrar diferentemente os tipos de partes na animação – Nomear o conjunto Parts, as entradas Part 1 etc. – Desenhar a figura no módulo de simulação (breve. . . ) – Uso: No módulo de chegada (breve …) • Conjunto de medidas individuais (“Tallies”) – Diferenciar os tempos no sistema (“cycle times”) por tipo da parte – Nomear o conjunto Part Cycle Time – Membros são nomes de medidas individuais (“Tally”) na saída – Uso: No módulo de partida (breve. . . ) 18

Modulo de Simulação • Identificar o modelo e definir a duração da replicação, como

Modulo de Simulação • Identificar o modelo e definir a duração da replicação, como anteriormente visto • Também, desenhar entidades e associa-las com os nomes dos membros do conjunto de figuras – Duplo clique na entidade genérica acima do módulo – Adicionar figura nova ou existente na lista • Copiar última entrada para adicionar ao final da lista • Desenhar: formas, tamanho, cor, linha, texto etc. • Fechar janela de desenho para aceitar – Nomes (valores) precisam estar definidos como conjuntos 19

Módulo de Chegada • Diálogo principal – Nome da estação: Order Release – Tempo

Módulo de Chegada • Diálogo principal – Nome da estação: Order Release – Tempo entre chegadas (“Time Between”): EXPO(13) – “Mark Time Attribute”: Enter Time – “Leave Data” • Selecionar “Route” • Selecionar “Seq” • “Route Time”: Transfer Time 20

Módulo de Chegada (cont. ) • Diálogo “Assign…” – “Attribute”: Part Index = DISC(…)(cumulatives)

Módulo de Chegada (cont. ) • Diálogo “Assign…” – “Attribute”: Part Index = DISC(…)(cumulatives) – “Other”: Sequence = Sequence Set(Part Index) • Diálogo “Animate…” Acaba de ser definido – Initial Entity Picture • Selecionar “Set Member” • “Picture Set”: Parts • “Set Index”: Part Index 21

Módulo Servidor (“Server”) para Células 1, 2, 4 • Diálogo principal – “Station”: Cell

Módulo Servidor (“Server”) para Células 1, 2, 4 • Diálogo principal – “Station”: Cell 1 (ou Cell 2 ou Cell 4) – “Process Time”: • Se Cell 1: Cell 1 Times(Part Index) – Expressão global definida no módulo de expressões • Se Cell 2 ou 4: Process Time – Atributo das entidades definido como parte das seqüências – “Leave Data”: • Selecionar “Route” • Selecionar “Seq” • “Route Time”: Transfer Time – Variável global definida no módulo de variáveis 22

Divagação: Estrutura de Dados • Por quê usar uma expressão para os tempos de

Divagação: Estrutura de Dados • Por quê usar uma expressão para os tempos de processamento na célula 1, em lugar de usar um atributo da entidade, como feito para as outras? – Somente para ilustrar o uso de expressões – Poderia ter-se tratado a célula 1 como as demais • Vice-versa, poder-se-ia ter usado expressões para os tempos de processamento nas células 3 e 4 – Problema com a célula 2: Parte 2 a visita duas vezes com diferentes distribuições de tempos de processamento, assim teriam que ser diferenciadas as visitas • Moral: Pense cuidadosamente sobre a estrutura de dados! 23

Célula 3: Enter/Process/Leave • Não é possível utilizar o módulo “Server” — duas máquinas

Célula 3: Enter/Process/Leave • Não é possível utilizar o módulo “Server” — duas máquinas diferentes • Duas máquinas agrupadas em um conjunto de recursos denominado Cell 3 Machines – Módulo “Server” não acessa um conjunto de recursos • Opções de modelagem – – Módulo “Advanced Server” Seqüência: Enter Process Leave Idêntico, neste caso (mas nem sempre) Será usado por ser mais geral • Permite seqüência de operações em série 24

Célula 3: Enter/Process/Leave (cont. ) • Módulo “Enter”: local de espera para as entidades

Célula 3: Enter/Process/Leave (cont. ) • Módulo “Enter”: local de espera para as entidades – Selecionar: “Station” – “Station”: Cell 3 – Fila: local para armazenagem • Módulo “Process”: descreve atraso de processamento – Mais geral que a área “Server Data” do módulo “Server” — pode fazer referência a um conjunto de recursos – “Resource Set”: Cell 3 Machines – “Rule”: Cyclical (rodízio pelos membros disponíveis) – “Store Index in Att”: Index (número do membro escolhido) – “Process Time”: Process Time * Factor(Index) 0. 8 para Index = 1 (nova) 1. 0 para Index = 2 (antiga) 25

Célula 3: Enter/Process/Leave (cont. ) • Módulo “Leave”: local de partida das entidades –

Célula 3: Enter/Process/Leave (cont. ) • Módulo “Leave”: local de partida das entidades – – Necessário especificar de onde a entidade está parindo “From Station”: Cell 3 Selecionar: “Seq” “Route Time”: Transfer Time • Necessário fazer a conexão entre os módulos “Enter Process - Leave” – Pode ser utilizado rótulos (“Labels”) • Devido ao seu posicionamento no layout, reorientar os módulos da direita para a esquerda – Localizar fisicamente os módulos desta forma 26

Definição dos Recursos • Necessário definir a célula 3 explicitamente • Módulo de recursos

Definição dos Recursos • Necessário definir a célula 3 explicitamente • Módulo de recursos – Módulos diferentes para a máquina antiga e a nova – Necessário somente definir nome, tipo e capacidade de cada uma • Nomes: Cell 3 New, Cell 3 Old • Ambas são do tipo “Capacity” com capacidade = 1 – Ambos têm figuras de animação, mas que não serão utilizadas (será usada a animação do módulo “Enter”), portanto pode ser apagada – Ambas têm filas individuais, mas como também não serão utilizadas (será usada a do módulo “Process”), podem ser apagadas 27

Saída das Partes • Usar o módulo “Depart”, como anteriormente • Necessário coletar tempos

Saída das Partes • Usar o módulo “Depart”, como anteriormente • Necessário coletar tempos no sistema, classificados por tipo da parte – Nome da estação: Exit System – Selecionar: “Tally Set Member” – “Tally Set”: Part Cycle Time – “Set Index”: Part Index – Selecionar em “Type of Statistics”: “Interval” • “Attribute”: Enter Time – Será produzido três relatório diferente, um para cada tipo de parte 28

Animação • Se executado neste ponto, modelo fornece resultados numéricos corretos – Mas não

Animação • Se executado neste ponto, modelo fornece resultados numéricos corretos – Mas não mostrará animação • Localizar animação longe dos módulos lógicos e de dados • Mover, redimensionar, reorientar filas, para melhorar o realismo • Animar rotas (todos os movimentos possíveis) • Importar arquivos Auto. CAD 29

Verificação • • Sistema Modelo “Código” Validação: É o Modelo = Sistema? Verificação: É

Verificação • • Sistema Modelo “Código” Validação: É o Modelo = Sistema? Verificação: É o “Código” = Modelo? Verdade: Pode não ser possível uma verificação, especialmente para modelos grandes 30

Verificação (cont. ) • Algumas técnicas para tentar verificar – Eliminar mensagens de erro

Verificação (cont. ) • Algumas técnicas para tentar verificar – Eliminar mensagens de erro (obviamente) – Liberar entidade e percorrer passo a lógica • fazer “Max Batches” = 1 no módulo “Arrive” • substituir por constantes as distribuições por tipo de parte – Testar o modelo em condições extremas – Olhar os arquivos SIMAN extensões. mod e. exp gerados pelo Arena • menu option Run/SIMAN/View 31

Análise Estatística dos Dados de Saída: Simulações com Critério de Parada • Entradas aleatórias

Análise Estatística dos Dados de Saída: Simulações com Critério de Parada • Entradas aleatórias conduzem a saídas aleatórias • Rodar a simulação (um vez) — o quê significa? – O resultado é “típico” ou não? – Variabilidade entre rodadas (do mesmo modelo)? • Necessidade de análise estatística dos dados de saída • Janela de tempo das simulações – Com critério de parada: Condições específicas de início e término – Regime permanente: assintótico (tecnicamente infinita) – Aqui: com critério de parada 32

Transformar o Modelo 6. 1 no Modelo 6. 2 • Determinar uma regra realística

Transformar o Modelo 6. 1 no Modelo 6. 2 • Determinar uma regra realística de parada – Há muitas formas de se terminar – É realmente uma questão de modelagem — o quê é realístico? • Processar um pedido de 100 partes – Colocar “Max Batches” = 100 no módulo “Arrive” – Desativar o fluxo de entrada após a criação de 100 entidades – Neste modelo, acarretará o término da simulação quando a centésima parte deixar o sistema, uma vez que não haverá outros eventos e a lista de eventos ficará vazia – Causa uma redução no congestionamento do sistema, a medida que o final da simulação se aproxima 33

Transformar o Modelo 6. 1 no Modelo 6. 2 (cont. ) • Escolher uma

Transformar o Modelo 6. 1 no Modelo 6. 2 (cont. ) • Escolher uma única medida de desempenho: Número esperado de partes no sistema (Work in Process, WIP) – Variável WIP definida (módulo “Variables”) – Incrementar WIP de 1 após cada chegada • Módulo “Arrive”, atribuir variável WIP = WIP + 1 – Decrementar WIP de 1 antes de cada partida • Não há a opção no módulo “Depart” • Criar módulo “Actions” antes do “Depart” • Modificar as seqüências e rotas para enviar as entidades ao módulo “Actions” em lugar de ao módulo “Depart” • Direcionar saída ao módulo “Depart” – Adicionar módulo “Statistics” para requisitar coleta e impressão da estatísticas WIP 34

Estratégias para Coleta e Análise de Dados • Para simulações com critério de parada,

Estratégias para Coleta e Análise de Dados • Para simulações com critério de parada, realizar replicações IID – Módulo “Simulate”: Campo “Number of Replications” – Marcar “Initialize System” e “Initialize Statistics”, para reinício entre replicações – Apanhar múltiplos relatórios finais (“Summary Reports”) • Quantas replicações? – Tentativa e erro (agora) – Número aproximado para uma dada precisão (mais tarde) • Salvar sumário de estatísticas – Módulo “Statistics”, área de saída (“Outputs”), salvar em arquivo • Talvez desativar a animação (Run/Setup/Mode) 35

Intervalos de Confiança para Simulações com Critério de Parada • Utilizar analisador de saídas

Intervalos de Confiança para Simulações com Critério de Parada • Utilizar analisador de saídas (“Output Analyzer”) nos arquivos salvos pelo módulo “Statistics” • Definir, ler e salvar grupos de dados • No analisador de saídas – Menu Analyze/Conf. Interval on Mean/Classical… (ou ) – Adicionar arquivos; selecionar “Lumped for Replications” 36

Caixas de Diálogo Adicionar arquivos Selecionar arquivos Pode mudar nível confiança (95% default) Selecionar

Caixas de Diálogo Adicionar arquivos Selecionar arquivos Pode mudar nível confiança (95% default) Selecionar “Lumped”, para usar todas as replicações 37

Resultados Intervalos de Confiança • Interpretação dos intervalos de confiança – O que está

Resultados Intervalos de Confiança • Interpretação dos intervalos de confiança – O que está sendo estimado – Cobertura, precisão, robustez à não-Normalidade 38

Intervalos de 95% de Confiança Automáticos • Ao final do relatório final, estarão disponíveis

Intervalos de 95% de Confiança Automáticos • Ao final do relatório final, estarão disponíveis intervalos de 95% de confiança, em formato texto, se – Você solicitar mais de uma replicação, e – Você utilizar o módulo “Statistics”, com entradas na área “Outputs“ • Feitos somente para medidas da área “Output” no módulo “Statistics” OUTPUTS Identifier Average Half-width Minimum Maximum # Replications ________________________________________ avg WIP 11. 327 1. 7801 6. 3666 18. 704 20 Part 1 cycle avg 148. 38 23. 809 93. 763 296. 79 20 Part 2 cycle avg 189. 47 25. 602 124. 38 296. 29 20 Cell 4 avg Q length 1. 5652. 64270. 48813 6. 4610 20 Cell 2 avg Q length 1. 7943. 66541. 45236 6. 3355 20 Cell 1 avg Q length 1. 7960. 52429. 45934 4. 5093 20 Part 3 cycle avg 107. 80 15. 704 65. 692 193. 10 20 Cell 3 avg Q length 1. 2976. 40001. 45141 3. 3876 20 39

Meio Intervalo (“Half Width”) e Número de Replicações • Prefira intervalos de confiança menores

Meio Intervalo (“Half Width”) e Número de Replicações • Prefira intervalos de confiança menores — precisão • Notação: • Intervalo de confiança: • Meio intervalo = Desejável que seja “pequeno”, p. e. < h, onde h é especificado • Não há controle sobre t ou s • Necessário aumentar n — quanto? 40

Meio Intervalo (“Half Width”) e Número de Replicações (cont. ) • Defina “half-width” =

Meio Intervalo (“Half Width”) e Número de Replicações (cont. ) • Defina “half-width” = h e resolva para • Não realmente para n (t, s dependem de n) • Aproximação: – Substituir t por z, correspondendo aos valores críticos da Normal – Assumir que o s se manterá para grandes amostras s = desvio padrão amostral para n 0 replicações “iniciais” – Obter • Outra aproximação: h 0 = “half width” para n cresce quadraticamente n 0 replicações “iniciais” com o decréscimo de h. 41

Comparando Alternativas • Usualmente, comparar configurações alternativas do sistema, layouts, cenários, análise de sensibilidade.

Comparando Alternativas • Usualmente, comparar configurações alternativas do sistema, layouts, cenários, análise de sensibilidade. . . • Aqui: Tempo de transferência (2 min) parece ser uma suposição — faria diferença se fosse, p. e. , 1 ou 3? – Chame estas de alternativas A e B • Medida de desempenho única: tempo médio no sistema • Faça dois conjuntos de 20 replicações, para A e B – Necessário renomear para distinguir uma da outra 42

Comparação de Alternativas (cont. ) • Menu Analyze/Compare Means (não há botão) – Adicionar

Comparação de Alternativas (cont. ) • Menu Analyze/Compare Means (não há botão) – Adicionar arquivos (comparáveis) para A e B – Escolher “Lumped” 43

Comparação de Alternativas (cont. ) • Resultados: • IC na diferença não cobre o

Comparação de Alternativas (cont. ) • Resultados: • IC na diferença não cobre o valor 0, logo há uma diferença (estatisticamente) significativa entre as alternativas 44