SIMULAÇÃO IDEIAS CHAVE



Documentos relacionados
Introdução à Simulação

Simulação Transiente

Geração de Números Aleatórios e Simulação

Modelo Cascata ou Clássico

MODELAGEM E SIMULAÇÃO

)HUUDPHQWDV &RPSXWDFLRQDLV SDUD 6LPXODomR

Usando o Arena em Simulação

6 Construção de Cenários

Faculdade de Engenharia Optimização. Prof. Doutor Engº Jorge Nhambiu

Simulação de Evento Discreto

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Instalações Máquinas Equipamentos Pessoal de produção

Pesquisa Operacional

SIM Simulação de Eventos Discretos Semana 2-3

CAP. I ERROS EM CÁLCULO NUMÉRICO

PROGRAMAÇÃO DE MICROPROCESSADORES 2011 / 2012

3 Método de Monte Carlo

A MATEMÁTICA NO ENSINO SUPERIOR POLICIAL 1

Timer e serviços do Timer

Sistemas Distribuídos. Aleardo Manacero Jr.

Avaliação de Desempenho de Sistemas. Conceitos Básicos de Sistemas e Modelos

Modelagem e Simulação

Interrupções. As interrupções são casos especiais de chamadas de procedimentos.

Aula 04 Método de Monte Carlo aplicado a análise de incertezas. Aula 04 Prof. Valner Brusamarello

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

2 Diagrama de Caso de Uso

Modelagem e Simulação Material 02 Projeto de Simulação

2005 José Miquel Cabeças

Solução de Telecontagem. Gestão de Contratos. Esta solução é indicada para sistemas de contagem de caudal usando um mínimo de recursos.

DISTRIBUIÇÕES DE PROBABILIDADE

Simulação Industrial

Simulação Computacional de Sistemas, ou simplesmente Simulação

Oficina de Multimédia B. ESEQ 12º i 2009/2010

SAD orientado a MODELO

Técnicas e Instrumentos Utilizados na Pesquisa Científica Cavalcanti

Capítulo 3. Avaliação de Desempenho. 3.1 Definição de Desempenho

Matemática Aplicada às Ciências Sociais

Internet Update de PaintManager TM. Manual de instalação e utilização do programa de actualização

Conceitos Iniciais Parte 1

Desempenho de Computadores

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO - TIC 10º C. Planificação de. Curso Profissional de Técnico de Secretariado

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO. SISTEMAS DE GESTÃO DE BASE DE DADOS Microsoft Access TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

GereComSaber. Desenvolvimento de Sistemas de Software. Universidade do Minho Conselho de Cursos de Engenharia Licenciatura em Engenharia Informática

Computação Paralela. Desenvolvimento de Aplicações Paralelas João Luís Ferreira Sobral Departamento do Informática Universidade do Minho.

Ferramentas de Modelação e Análise de Sistemas baseadas em Redes de Petri (RdP)

1. Ambiente de Trabalho

Introdução ao Modelos de Duas Camadas Cliente Servidor

Processo do Serviços de Manutenção de Sistemas de Informação

Performance Ratio. Conteúdo. Factor de qualidade para o sistema fotovoltaico

Probabilidade. Distribuição Exponencial

Planeamento da Produção

PÓS GRADUAÇÃO EM CIÊNCIAS DE FLORESTAS TROPICAIS-PG-CFT INSTITUTO NACIONAL DE PESQUISAS DA AMAZÔNIA-INPA. 09/abril de 2014

Programação 2ºSemestre MEEC /2011. Programação 2º Semestre 2010/2011 Enunciado do projecto

SISTEMAS DE INFORMAÇÃO PARA GESTÃO

IV.4 Análise de Dados da Avaliação

ARQUITECTURA DE COMPUTADORES CAPÍTULO II AULA X

PLANIFICAÇÃO MODULAR ANO LECTIVO 2015 / 2016

Avaliação de Desempenho

MODELAGEM E SIMULAÇÃO

Suporte Técnico de Software HP

CAPÍTULO 2 INTRODUÇÃO À GESTÃO DAS ORGANIZAÇÕES

TIC Unidade 2 Base de Dados. Informação é todo o conjunto de dados devidamente ordenados e organizados de forma a terem significado.

2. Método de Monte Carlo

INTRODUÇÃO objectivo

ISO 9000:2000 Sistemas de Gestão da Qualidade Fundamentos e Vocabulário. As Normas da família ISO As Normas da família ISO 9000

BC-0005 Bases Computacionais da Ciência. Modelagem e simulação

As fases na resolução de um problema real podem, de modo geral, ser colocadas na seguinte ordem:

Classificação: Determinístico

Utilização do SOLVER do EXCEL

Engenharia de Software II

Gestão dos Níveis de Serviço

MRP II. Planejamento e Controle da Produção 3 professor Muris Lage Junior

Professor: Curso: Disciplina:

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Pólo Universitário de Rio das Ostras - PURO

UNIVERSIDADE FEDERAL DE SANTA MARIA CENTRO DE TECNOLOGIA AULA 14 PROFª BRUNO CALEGARO

AMBIENTE PARA AUXILIAR O DESENVOLVIMENTO DE PROGRAMAS MONOLÍTICOS

Modelos, em escala reduzida, de pontes e barragens. Simuladores de voo (ou de condução), com os quais se treinam pilotos (ou condutores).

DIMENSIONANDO PROJETOS DE WEB-ENABLING. Uma aplicação da Análise de Pontos de Função. Dimensionando projetos de Web- Enabling

Avaliando o que foi Aprendido

Estratégias de Pesquisa

Cláudio Tadeu Cristino 1. Julho, 2014

Engenharia de Software: Introdução. Mestrado em Ciência da Computação 2008 Profa. Itana Gimenes

CAP4: Distribuições Contínuas Parte 1 Distribuição Normal

ARTIGO TÉCNICO. Os objectivos do Projecto passam por:

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

Sumário. Comunicação Multicast. Soluções. Multicast. Application-Level Multicast. October 20, 2008 Algoritmos Epidémicos

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

Mobilidade na FEUP Deslocamento Vertical

Sincronização. Tempo e Relógios. Sincronização de Relógios - Algoritmo de Cristian - Algoritmo de Berkeley - Network Time Protocol


Gestão do Risco e da Qualidade no Desenvolvimento de Software

Especificação Operacional.

Engenharia de Software

CADEX. Consultoria em Logística Interna. Layout de armazém. Objectivos. Popularidade. Semelhança. Tamanho. Características

Introdução ao Aplicativo de Programação LEGO MINDSTORMS Education EV3

Gestão de Stocks. Maria Antónia Carravilla. Março Maria Antónia Carravilla

Transcrição:

SIMULAÇÃO Programa. Modelação de sistemas através da simulação 2. Software de simulação 3. Validade e credibilidade de modelos 4. Selecção de distribuições de probabilidade para os dados 5. Análise de resultados Bibliografia Law, Averill and Kelton, W.David (2000). Simulation Modeling and Analysis (3 rd ed), McGraw-Hill, USA. (Caps., 3, 5, 6.-6.2, 3) Elder, Mark. Simulation Course Handbook, University of Strathclyde, UK. SIMULAÇÃO IDEIAS CHAVE Simulação é uma ferramenta estatística para analisar sistemas reais, que imita o funcionamento lógico do sistema ao longo do tempo num modelo de computador A simulação permite analisar sistemas complexos que não é possível tratar com modelos matemáticos que se possam resolver analiticamente A simulação não permite optimizar os parâmetros de um sistema e obter respostas exactas A simulação tem inúmeras aplicações práticas produção ou serviços nível estratégico ou nível operacional Utilizar a simulação na prática requer: competências técnicas de simulação, estatística, programação, modelação de sistemas seguir uma metodologia de análise do sistema real Nesta disciplina: introdução à simulação discreta, modelação de sistemas, e análise de resultados aprendizagem tutorial de um software de simulação (SIMUL8) não são cobertos tópicos de cursos avançados de simulação: geração de números aleatórios, redução de variância, planeamento de experiências 2

. MODELAÇÃO DE SISTEMAS POR SIMULAÇÃO. Natureza da simulação simulação: é uma técnica estatística que utiliza um computador para imitar, ou simular, operações de instalações ou processos reais de interesse. sistema: é a instalação ou processo real que interessa analisar, e sobre o qual se conhecem as regras lógicas de funcionamento modelo do sistema: é o conjunto de relações matemáticas ou lógicas que descrevem o funcionamento do sistema real, e que serve para analisar e avaliar o comportamento do sistema simulação(2): consiste em fazer variar os parâmetros de entrada de um modelo do sistema real e analisar o seu impacto nas medidas de desempenho relevantes métodos de análise de modelos: dedução: são métodos matemáticos que permitem obter informações exactas sobre o modelo, i.e. soluções analíticas (ex: álgebra, cálculo, teoria da probabilidade) simulação: são métodos estatísticos que permitem obter estimativas das verdadeiras características do modelo, a partir da avaliação numérica do modelo em computador 3 Áreas de aplicações da simulação planear e analisar sistemas de produção avaliar a eficácia e os requisitos logísticos de armamento militar determinar requisitos de hardware e protocolos para redes de comunicação planear e operar sistemas de transportes aeroportos, portos, metros, auto-estradas, cruzamentos com semáforos planear e analisar serviços call centers, restaurantes fast food, hospitais, postos de correio reengenharia de processos (BPR) determinar regras de encomenda para gestão de stocks analisar sistemas económicos ou financeiros 4 2

O que é (e o que não é) a simulação a simulação não é uma técnica de optimização a simulação não produz uma solução por si só um modelo de simulação é executado e não resolvido a simulação permite aos analistas testar as suas propostas de solução num modelo que duplique satisfatoriamente o sistema real a simulação é uma ferramenta de análise what if a simulação pertence à área científica da Investigação Operacional a simulação é uma ferramenta estatística para aplicar a simulação é preciso um método e uma metodologia método: procedimento ou técnica metodologia: práticas+procedimentos+regras o Simcity é uma simulação! 5.2 Sistemas, modelos e simulação sistema: é um conjunto de entidades (pessoas, máquinas, etc) que actuam e interagem conjuntamente para cumprir um objectivo lógico aquilo que se designa por sistema depende dos objectivos em estudo o conjunto de entidades do sistema num estudo pode ser apenas um subconjunto do sistema global de outro estudo estado do sistema: conjunto de variáveis necessárias para descrever o sistema em qualquer instante de tempo, face aos objectivos do estudo sistema discreto: variáveis mudam instantaneamente em instantes discretos sistema dinâmico: variáveis mudam continuamente com o tempo 6 3

Modos de estudar um sistema Sistema Fazer experiências no sistema real Fazer experiências num modelo do sistema Modelo físico Modelo matemático Solução analítica Simulação 7 Vantagens e desvantagens dos vários modos de estudar um sistema utilizar o sistema real modelar o sistema modelo físico modelo matemático Vantagens e desvantagens resultados do estudo são válidos experiências são dispendiosas estudo não interfere com o funcionamento do sistema real modelo pode não capturar a realidade do sistema e as conclusões do estudo não serem válidas reproduz realidade à escala, em laboratório não é fácil fazer muitas modificações e estudar várias configurações modelo pode ser manipulado e alterado facilmente alguns aspectos da realidade são simplificados e aproximados Aplicabilidade quando é possível alterar fisicamente o sistema e observar os resultados quando o sistema real não existe; ou não pode ser perturbado com experiências; ou é muito dispendioso fazê-lo sistemas em que se estuda a tecnologia (desenvolvimento, engenharia) sistemas em que se estuda a organização lógica das operações (investigação operacional, gestão) 8 4

Vantagens e desvantagens dos vários modos de estudar um sistema solução analítica simulação Vantagens e desvantagens solução é exacta e fechada (função dos parâmetros de entrada) técnica de resolução pode ser computacionalmente difícil ou nem existir método de último recurso para estudar modelos complexos solução não é exacta e pressupõe valores concretos dos parâmetros Aplicabilidade quando o modelo é suficientemente simples para se poder usar técnicas matemáticas computacionalmente eficientes permite estudar modelos complexos, intratáveis analiticamente 9 Classificação de modelos de simulação Modelos estáticos vs dinâmicos estáticos dinâmicos o sistema é representado num instante particular de tempo (ou em que a variável tempo não desempenha nenhum papel) a evolução do sistema é representada ao longo do tempo Modelos determinísticos vs estocásticos determinísticos estocásticos parâmetros e solução descrita por valores concretos parâmetros e solução são probabilísticos (aleatórios) solução serve apenas como estimativa das características do sistema Modelos discretos vs contínuos discretos variáveis de estado variam em instantes particulares de tempo contínuos variáveis de estado variam continuamente no tempo simulação discreta sistemas DINÂMICOS, ESTOCÁSTICOS e DISCRETOS 0 5

.3 Simulação discreta simulação por eventos discretos (ou simulação discreta): método de modelação da evolução de um sistema com o tempo, em que as variáveis de estado mudam instantaneamente em instantes particulares (discretos) de tempo evento: é uma ocorrência instantânea que pode provocar uma mudança de estado do sistema Exemplo: serviço de atendimento com um servidor objectivo do estudo: clientes estimar o tempo médio de espera na fila tipos de entidades: cliente; servidor variáveis de estado: estado do servidor (livre ou ocupado) número de clientes na fila à espera de atendimento instante de chegada de cada cliente ao sistema eventos: chegada de um cliente partida de um cliente (no fim do serviço) servidor Mecanismos de avanço de tempo os modelos de simulação discreta são dinâmicos, logo: é necessário manter um registo do tempo simulado ao longo da simulação é necessário um mecanismo para avançar o tempo de um instante para outro relógio de simulação: é a variável de um modelo de simulação que regista o valor actual do tempo simulado não tem unidade explícita mesma unidade dos parâmetros de entrada tempo simulado tempo de computador de execução da simulação tempo simulado tempo real métodos de avanço de tempo: fixed increment (avanço por incremento fixo de tempo) next event (avanço para o próximo evento) 2 6

Métodos de avanço de tempo Avanço por incremento fixo 0 e t 2 t e 2 e 3 3 t e 4 4 t tempo Avanço para o próximo evento 0 e e 2 e 3 e 4 tempo. o relógio é inicializado a zero e são determinados os instantes dos eventos futuros; 2. o relógio é avançado para o instante do próximo evento a ocorrer; 3. o estado do sistema é actualizado de acordo com esse evento, e os instantes de novos eventos são determinados 4. os passos 2 e 3 são repetidos, até cumprir uma condição de paragem pre-estabelecida 3 Exemplo: sistema de atendimento com um servidor, avanço de tempo pelo mecanismo next-event t i = tempo de chegada do cliente i (t 0 =0) A i = t i -t i- = tempo entre chegadas dos clientes i- e i S i = tempo de atendimento do cliente i no servidor D i = tempo de espera do cliente i na fila c i = t i +D i +S i = tempo de partida do cliente i e k = tempo do k-ésimo evento de qualquer tipo (chegada ou partida) 0 e e 2 e 3 e 4 t t 2 c t 3 e 5 c 2 tempo A A 2 A 3 S S 2 4 7

Implementação de um modelo de simulação discreta: componentes e organização Componentes de um modelo de simulação discreta: Variáveis: ESTADO DO SISTEMA: conjunto de variáveis que descrevem o estado do sistema num instante de tempo RELÓGIO DE SIMULAÇÃO: variável que regista o instante actual do tempo simulado LISTA DE EVENTOS: lista com o próximo instante de tempo em que cada tipo de evento vai ocorrer contadores estatísticos: variáveis que guardam informação estatística, recolhida ao longo da simulação, sobre o desempenho do sistema Rotinas: rotina de inicialização: subprograma que inicializa o estado do sistema no instante 0 rotina de gestão de tempo: subprograma que determina o próximo evento da lista de eventos e avança o relógio de simulação rotinas dos eventos: subprogramas (um por tipo de evento) que actualizam o estado do sistema quando ocorre um evento biblioteca de rotinas: conjunto de subprogramas que geram observações aleatórias das distribuições de probabilidade que são utilizadas pelo modelo gerador de relatórios: subprograma que calcula no fim da simulação (a partir dos contadores estatísticos) medidas de desempenho do sistema e produz um relatório programa principal: subprograma que chama a rotina de gestão de tempo e passa o controlo para a correspondente rotina do evento; este programa também verifica as condições de paragem e chama o gerador de relatórios no fim da simulação 5 Rotina de inicialização. Relógio de simulação = 0 2. Inicializa estado do sistema e contadores estatísticos 3. Inicializa lista de eventos Início Programa principal 0. Chama rotina de inicialização. Chama rotina de gestão de tempo 2. Chama rotina do evento k Rotina do evento k. Actualiza estado do sistema 2. Actualiza contadores estatísticos 3. Gera eventos futuros e adicionaos à lista de eventos Rotina de gestão de tempo. Determina tipo do próximo evento (k) 2. Avança o relógio da simulação Biblioteca de rotinas Gera valores aleatórios Simulação terminada? Não Gerador de relatórios Sim. Calcula medidas de desempenho 2. Escreve relatório Fim 6 8

Notas sobre modelos de simulação discreta Entidades e atributos: o sistema é compostos por um conjunto de entidades ex: pessoas, peças, máquinas, veículos as entidades são caracterizadas por atributos atributos são informações individuais das entidades os atributos são também variáveis de estado ex: tempo de chegada do cliente ao sistema, tipo de cliente, tamanho da peça Abordagens alternativas à modelação por simulação: método do escalonamento de eventos ilustrado atrás método da interacção de processos óptica da vida das entidades método das 3 fases (ou método ABC) utilizado pelo SIMUL8 7.4 Exemplos de simulação manual Exemplos de simulação manual introdução da mecânica da simulação introdução dos conceitos de evento, estado do sistema e relógio da simulação ilustração o cálculo de medidas de desempenho do sistema Exemplo : Serviço de atendimento de clientes com um servidor Exemplo 2: Serviço de atendimento de clientes com dois servidores Exemplo 3: Sequenciamento de tarefas num job-shop 8 9

Exemplo Serviço de atendimento de clientes com um servidor Funcionamento do sistema (barbearia): os clientes chegam à barbearia, e esperam num sofá se o barbeiro estiver ocupado o barbeiro serve os clientes por ordem de chegada o cliente abandona a barberia após o corte de cabelo terminar chegada de clientes ao sistema fila de espera cliente a ser atendido servidor saída de clientes do sistema 9 Exemplo Dados para a simulação do sistema: instantes de chegada dos clientes ao sistema tempo de duração do serviço de cada cliente Número do cliente Instante de chegada (min) 3.2 Tempo de serviço (min) 3.8 Pedido: 2 0.9 3.5 simular manualmente este sistema até todos os 3 3.2 4.2 clientes serem atendidos calcular as seguintes medidas de desempenho: 4 4.8 3. tempo médio de permanência dos clientes no sistema 5 7.7 2.4 tempo médio de espera dos clientes número médio de clientes no sistema 6 9.8 4.3 número médio de clientes em espera taxa de ocupação do servidor 7 2.5 2.7 8 26.3 2. Começar por: identificar variáveis de estado 9 32. 2.5 identificar eventos 0 36.6 3.4 20 0

evento CHEGADA evento PARTIDA Marca próximo evento de chegada Sim Fila ficou vazia? Não Sim Servidor ocupado? Não Subtrai ao número na fila Adiciona ao número na fila Guarda tempo de chegada deste cliente Regista tempo de espera=0 para este cliente Adiciona ao número de clientes que passaram na fila servidor=ocupado servidor=livre Calcula o tempo de espera do cliente que inicia o serviço Adiciona ao número de clientes que passaram na fila Marca evento de partida deste cliente Marca evento de partida deste cliente Desloca clientes na fila uma posição para a frente Volta ao prog. principal Volta ao prog. principal 2 Exemplo 2 Serviço de atendimento de clientes com dois servidores Funcionamento do sistema (agência de viagens): dois agentes trabalham em paralelo no balcão de uma agência de viagens ao chegarem, os clientes formam uma única fila à espera do primeiro agente livre se ambos os agentes estiverem livres, o cliente escolhe o Agente Dados: tempo entre chegadas: Os tempos entre chegadas de clientes seguem uma distribuição exponencial negativa com valor esperado de 2.0 minutos. Estes tempos podem ser gerados a partir de números aleatórios uniformes entre 0 e com a seguinte fórmula: x = µ *ln(-r), onde r~u(0, ), µ:valor esperado Use a seguinte cadeira de números aleatórios para valores de r: 0.829 0.434 0.84 0.920 0.667 0.528 0.947 0.093 0.295 0.503 0.39 0.098 0.478 Assuma que o primeiro cliente chega no instante 0. tempo de serviço: Os tempos médios de serviço são iguais para os dois agentes. Os tempos de serviço têm duas parcelas:um tempo constante de minuto para o contacto inicial; um tempo variável uniforme entre 0.5 e 2.0 minutos. Para gerar valores aleatórios uniformemente distribuídos entre A e B pode usar-se a fórmula: x = A+(B-A)*r, onde r~u(0, ), A:limite inferior, B:limite superior Use a seguinte cadeia de números aleatórios para r: 0.269 0.84 0.252 0.763 0.09 0.26 0.090 0.84 0.334 0.32 0.265 0.83 0.996 22

Exemplo 2 Pedido: simular manualmente este sistema até 0 clientes completarem o serviço calcular as seguintes medidas de desempenho: taxa de ocupação de tempo dos dois agentes tempo médio de espera dos clientes tempo médio de permanência dos clientes no sistema número médio de clientes na fila de espera número médio de clientes no sistema Sugestões: começar por calcular instantes de chegada e tempos de serviço para a simulação manual, utilizar um quadro com as seguintes entradas: relógio da simulação 0.00 0.00.90 3.53 tipo de evento chegada partida chegada partida cliente nº 2 0 próxima chegada 0.00 3.53 3.53 4.67 nº de clientes na fila 0 0 0 0 nº de clientes no sist. 0 0 nº de agentes ocup. 0 0 Cliente Tempo entre nº chegadas 2 3.53 3.4 3 estado do agente livre ocup (cli ) livre ocup (cli 2) próx. saída.90 6.29 Instante de chegada 0.00 3.53 4.67 estado do agente 2 livre livre livre livre Tempo de serviço.90 2.76.88 próx. saída 2 23 Exemplo 3 Sequenciamento de tarefas num job-shop Funcionamento do sistema: quatro tipos de peças são processadas numa oficina com três máquinas (Torno, Fresadora, Rectificadora) cada tipo de peça tem uma sequência de operações distinta das peças a aguardar processamento numa máquina, é escolhida primeiro aquela que tiver menor tempo de operação neste momento há 4 tarefas a realizar: 4 peças, uma de cada tipo Dados: sequência de operações (máquina e tempo de processamento) Pedido: simular manualmente este sistema até processar todas as tarefas calcular as seguintes medidas de eficiência: tempo total de processamento (ou makespan) tempo médio de fluxo das tarefas tempo médio de espera das tarefas taxa média de ocupação das máquinas Nota: este problema poderia ser generalizado com chegadas de peças ao sistema com intervalos de tempo probabilísticos tempos de processamento probabilísticos adopção de outras regras de sequenciamento Tipo peça 2 3 4 Tipo peça 2 3 4 Máquinas T, F, R, F F, T, R R, T, F, T F, R, T, R Tempos proc. (min) 2, 4, 2, 3, 3, 3, 2, 2, 5 5, 4, 2, 3 24 2

.5 Passos num estudo de simulação A programação de um modelo de simulação é apenas uma parte do trabalho global de um estudo de simulação. Deve ser seguida uma metodologia consistente:. Formular o problema e planear o estudo 4. Construir programa em computador e verificar 7. Planear experiências 2. Recolher dados e conceber um modelo 5. Executar corridas de teste 8. Executar corridas 3. Modelo conceptual válido? Sim 6. Modelo programado válido? Sim 9. Analisar resultados Não Não 0. Documentar, apresentar e usar os resultados 25.6 Outros tipos de simulação Tipos de simulação Simulação por eventos discretos Simulação contínua Simulação discreta e contínua combinadas Simulação de Monte Carlo Simulação contínua modelação da evolução de um sistema no tempo, em que as variáveis de estado mudam continuamente no tempo habitualmente o modelo envolve equações diferenciais que definem as taxas de variação das variáveis de estado com o tempo técnicas de integração numérica de equações intratáveis analiticamente: método de Euler, método de Runge-Kutta 26 3

Simulação discreta e contínua combinada Simulação discreta e contínua combinada aplicável quando o sistema não é nem inteiramente discreto ou contínuo há três tipos de integração de simulação contínua com simulação discreta:. um evento discreto pode provocar uma mudança discreta no valor de uma variável contínua 2. um evento discreto pode provocar uma alteração da relação que governa a variação de uma variável contínua 3. uma variável de estado contínua ao atingir um determinado limite pode causar a ocorrência de um evento discreto Exemplo: chegada de petroleiros a um porto, onde o petróleo é descarregado para um tanque e daí é escoado para uma refinaria evento discreto: chegada de um barco variáveis contínuas nível de petróleo nos petroleiros nível do tanque (são governadas por equações diferenciais, dadas as taxas de descarga e consumo) eventos discretos provocados pela variação das variáveis contínuas: o barco considera-se descarregado quando o nível atinge 5% da capacidade a descarga do barco é interrompida se o tanque encher a descarga do barco só é retomada quando o nível do tanque desce abaixo de 80% 27.7 Vantagens, desvantagens e armadilhas da simulação Vantagens da simulação é a única via de análise possível de sistemas reais complexos e com elementos estocásticos, que não são fielmente descritos por modelos matemáticos que se possam avaliar analiticamente permite estimar o desempenho de um sistema existente com condições de funcionamento diferentes permite comparar configurações alternativas de um dado sistema, para verificar qual cumpre melhor os objectivos estipulados (análise what if) permite manter melhor controlo das experiências a realizar do que seria possível se se alterasse o próprio sistema real permite estudar o funcionamento do sistema ao longo de um horizonte temporal extenso em tempo comprimido lembrar: relógio de simulação relógio de tempo real 28 4

Desvantagens da simulação cada corrida de um modelo estocástico de simulação produz apenas estimativas das verdadeiras características do modelo para valores particulares dos parâmetros de entrada são necessárias várias corridas do modelo para cada conjunto de valores dos parâmetros a simulação permite apenas comparar um número fixo de configurações alternativas de um modelo e não é uma ferramenta adequada para optimizar o modelo o desenvolvimento de modelos de simulação pode ser dispendioso e demorar algum tempo, se o sistema em análise for muito complexo o grande volume de resultados numéricos produzidos por um estudo de simulação e o efeito persuasivo de um modelo animado podem levar a confiar cegamente nos resultados da simulação se o modelo não for válido, os resultados da simulação, por mais impressionantes que sejam, não conduzem a conclusões úteis sobre o sistema real 29 Armadilhas da simulação utilizar a simulação, quando outra técnica é a mais adequada não definir claramente os objectivos no início de um estudo de simulação desapropriado nível de detalhe do modelo falhas de comunicação com os gestores durante o estudo má compreensão da simulação por parte dos gestores olhar um estudo de simulação principalmente como um exercício de utilização de software em computador não incluir na equipa pessoas com conhecimento de estatística e metodologia da simulação adoptar software de simulação desapropriado acreditar que software que seja fácil de usar, e não requeira programação, dispensa competência técnica e metodológica não recolher dados de boa qualidade no sistema real não incorporar correctamente as fontes de aleatoriedade do sistema real escolher arbitrariamente distribuições de probabilidade para os dados correr um modelo de simulação uma única vez e tomar os resultados obtidos como a verdadeira resposta adoptar medidas de desempenho erradas 30 5

2. SOFTWARE DE SIMULAÇÃO 2. Software simulação vs Linguagens programação Vantagens de software específico para simulação: redução de tempo e de custo de programação porque as rotinas e componentes básicos necessários para construir um modelo de simulação já estão incluídos a sintaxe da linguagem de programação está adaptada à simulação os modelos de simulação são mais fáceis de modificar no futuro detecção automática de erros comuns de programação Vantagem das linguagens de programação genéricas: a maior parte dos programadores conhece linguagens genéricas mas não uma linguagem de simulação as linguagens genéricas como o C ou C++ produzem código mais eficiente (i.e. executado em menos tempo) as linguagens genéricas são mais flexíveis e adaptáveis em geral o compilador de uma linguagem genérica tem menor custo (embora o custo total do projecto possa ser mais elevado) 3 2.2 Classificação de software de simulação Tipos de software de simulação (TRADICIONALMENTE) linguagens de simulação simuladores de aplicações específicas linguagens de simulação simuladores linguagens derivadas das linguagens genéricas modelos são programados mais flexíveis mas mais difíceis de usar modelos são desenvolvidos com interfaces gráficas (menus, caixas de diálogo, ícones) para aplicações específicas (produção, hospitais, call centers, etc) mais fáceis de aprender e usar mas menos flexíveis O software de simulação moderno é híbrido : as linguagens permitem construir os modelos graficamente e incluem componentes de modelos pré-definidos os simuladores tornaram-se mais generalistas e incluem uma pseudo-linguagem para programar alguns aspectos dos modelos Tipos de software de simulação (ACTUALMENTE) software de simulação genérico software de simulação orientado para aplicações específicas 32 6

Componentes de modelos incluídos habitualmente no software de simulação As entidades, são criadas (chegam ao sistema), interagem com outras entidades ao atravessar parte do sistema, e depois são depois destruídas (saem do sistema) distinguem-se pelos seus atributos, que são elementos de informação que todas possuem requisitam recursos (entidades permanentes) para algum serviço ou processamento ficam retidas em filas de espera enquanto os recursos estão ocupados com outras entidades Tipo de sistema Entidades Atributos Recursos Filas de espera Produção peça referência, data de entrega máquinas, trabalhadores Filas, lotes Comunicações mensagem destino, tamanho nós, ligações Filas, buffers Aeroporto avião número do vôo, peso pistas, portas de embarque Filas Agência de seguros contrato, participação nome, tipo de seguro vendedores, empregados Filas 33 2.3 Características de software de simulação Características gerais Requisitos de hardware e software Animação gráfica Capacidades estatísticas Suporte e documentação Relatórios e gráficos tamanho e complexidade dos modelos que permite construir facilidade de utilização velocidade de execução importação e exportação de dados (bases dados, Excel) suporte de simulação discreta e contínua combinadas possibilidade de chamar rotinas externas custo processador e memória requeridos sistemas operativos suportados animação concorrente (à medida que decorre a simulação) gráficos em 3D qualidade do gerador de números aleatórios distribuições de probabilidade suportadas cálculo de resultados com significado estatístico formação suporte técnico documentação possibilidade de definir resultados a incluir nos relatórios criação de gráficos: histogramas, time plots, pie charts 34 7

2.4 Exemplos de software de simulação Software genérico Software Arena Extend SIMUL8 AweSim MicroSaint GPSS/H SLX MODSIM III SIMPLE++ Companhia Rockwell Imagine That Visual Thinking Symix Micro A&D Wolverine Wolverine CACI Tecnomatix Tipo de software Simulador Simulador Simulador Linguagem gráfica Linguagem gráfica Linguagem Linguagem Linguagem OO Linguagem OO Listas de software de simulação http://www.lionhrtpub.com/orms/surveys/simulation/simulation.html http://www.idsia.ch/~andrea/simtools.html 35 Exemplos de software orientado para aplicações Tipo de aplicação Produção Redes de comunicação Serviços Serviços de saúde Call centers Software Arena Packaging Edition Extend+Manufacturing AutoMod ProModel QUEST WITNESS COMNET III IT DecisionGuru OPNET Modeler Arena Business Edition Extend+BPR ServiceModel SIMPROCESS MedModel Arena Call Center Edition Companhia Rockwell Imagine That AutoSimulations Promodel Corp Deneb Lanner Group CACI MIL 3 MIL 3 Rockwell Imagine That Promodel Corp CACI Promodel Corp Rockwell 36 8

Programa em linguagem de simulação (SLAM) GEN,OREILLY,TV INSP. AND ADJUST.,,; 2 LIMITS,2,2,50; 3 NETWORK; 7 CREATE,UNFRM(3.5,7.5),,; 8 ACTIVITY; 9 INSP QUEUE(); 0 ACT(2)/,UNFRM(6.,2.);INSPECTION GOON; 2 ACT,,.85,DPRT;85 DEPART 3 ACT,,.5,ADJT;5 ARE RE-A 4 DPRT COLCT,INT(),TIME IN SYSTEM; 5 ACTIVITY; 6 TERM; 7 ADJT QUEUE(2); 8 ACT/2,UNFRM(20.,40.),,INSP;ADJUSTMENT 9 END; 20 INIT,0,480; 2 MONTR,TRACE,0,60,ATRIB(),NNQ(),NNQ(2); 22 FIN; Modelo em linguagem gráfica (Awesim) Modelo gráfico (SIMUL8) 37 3. VALIDADE E CREDIBILIDADE DE MODELOS verificação (debugging): teste da passagem de um modelo conceptual para a sua implementação numa linguagem de programação [ou modelador gráfico] validação: teste da passagem do sistema real para o modelo, face aos objectivos particulares a estudar credibilidade: correcção dos resultados do modelo de simulação aos olhos dos gestores ou clientes um modelo válido pode não ser credível um modelo credível pode não ser válido! Validação + Credibilização Verificação Validação Credibilização Sistema Programa Modelo de, 2, 3 conceptual 4 simulação 5, 6, 7 Resultados correctos 8, 9 Vender resultados àgestão Resultados usados na tomada de decisão 38 9

3.2 Nível de detalhe de modelos de simulação Nível de detalhe do modelo: é a porção de aspectos do sistema real que são incluídos no modelo quando maior o nível de detalhe, maior o tempo e o custo de modelação alguns aspectos podem ser desprezados sem prejuízo dos objectivos do estudo O nível de detalhe que o modelo deve capturar: é determinado pelos objectivos do estudo de simulação deve ser consistente com os dados disponíveis para alimentar o modelo é um compromisso entre realismo e custo deve abranger aspectos que credibilizem o modelo, mesmo que sejam irrelevantes para a sua validação Em sistemas complexos o estudo pode ser hierárquico: primeira aproximação por via analítica ou com modelo de simulação grosseiro segunda aproximação com maior detalhe, apenas incorporando os factores relevantes 39 Exemplos de modelos com diferentes níveis de detalhe Sistema: produção job-shop, com m máquinas e n tipos de peças conjunto de máquinas de diferentes tipos diferentes tipos de peças, com distintas sequências de operação opções de nível de detalhe: quanto ao tempo de setup não considerar tempos de setup considerar um tempo de setup médio constante e incluí-lo no tempo de serviço considerar o tempos de setup função do último tipo de peça produzido e do próximo tipo de peça a produzir quanto à movimentação de stocks entre máquinas considerar ou não tempos de movimentação entre máquinas considerar ou não limitação de espaço de stock 40 20

Exemplos de modelos com diferentes níveis de detalhe Sistema: caixas de supermercado, com n filas e n servidores opções de nível de detalhe: quanto à selecção da fila clientes escolhem uma fila aleatoriamente clientes escolhem a fila mais curta clientes escolhem a fila mais curta e mudam de fila se alguma fila próxima ficar mais curta modelar ou não filas especiais filas expresso para pequeno volume de compras filas prioritárias para grávidas modelar ou não situações de excepção interrupção para verificar preço não marcado 4 3.3 Como validar e credibilizar modelos de simulação recolher no sistema real dados com qualidade (fiáveis e representativos) listar pressupostos e fontes de informação de todos os elementos do modelo interagir regularmente com a Gestão e outras pessoas que lidam com o sistema real os gestores devem compreender e concordar com os pressupostos do modelo demonstrar que o modelo foi verificado e validado criar na Gestão um sentimento de posse do estudo de simulação utilizar métodos quantitativos testes de ajuste de distribuições de probabilidade aos dados análise de sensibilidade da influência individual de parâmetros sobre medidas de desempenho análise de sensibilidade conjunta de vários factores (design of experiments) criar um modelo animado 42 2