Introdu+º+úo ao sofware de simula+º+úo SIMUL8_Chwif

10
 INTRODUÇÃO AO SOFTWARE DE SIMULAÇÃO SIMUL8 Leonardo Chwif Afonso Celso Medina Simulate Tecnologia de Simulação Ltda Av. Prof. Lineu Prestes, 2.242, CIETEC, 05508-900, São Paulo – SP - Brasil e-mail: [email protected] RESUMO O software para simulação de eventos discretos Simul8 foi desenvolvido no início da década de 90 na Universidade de Strathclyde (Escócia) para uso didático em disciplinas de simulação. Devido ao seu sucesso como ferramenta de ensino, a Simul8 Corporation iniciou a comercialização do Simul8 como ferramenta profissional de projetos de simulação. O Simul8 incorpora uma série de tecnologias modernas quando comparado com os softwares de simulação que foram criados nas décadas anteriores, o que facilita o seu uso e acelera o tempo de desenvolvimento e análise de modelos de simulação. O objetivo deste trabalho é, baseado em um pequeno tutorial, discutir as principais características do Simul8 e o seu método de construção de modelos de simulação. PALAVRAS CHAVE. Simulação de Eventos Discretos. Softwares de Simulação. Simul8. Simulação ABSTRACT The Simul8 discrete event simulation software was developed at the beginning of 90´s inside Strathclyde University (Scotland) for learning purposes. Because of its enormous success among the students, it soon became a reference. Soon afterwards it was commercialized by Simul8 Corporation. Simul8 contains a series of modern technologies that eases its use and reduce drastically both model development and analysis time. The aim of this work is to show its main characteristics and trough a short tutorial to depicts how its modeling paradigm works. KEYWORDS. Discrete Event Simulation. Simulation Software. Simul8. Simulation.

Transcript of Introdu+º+úo ao sofware de simula+º+úo SIMUL8_Chwif

INTRODUO AO SOFTWARE DE SIMULAO SIMUL8Leonardo Chwif Afonso Celso Medina Simulate Tecnologia de Simulao Ltda Av. Prof. Lineu Prestes, 2.242, CIETEC, 05508-900, So Paulo SP - Brasil e-mail: [email protected]

RESUMOO software para simulao de eventos discretos Simul8 foi desenvolvido no incio da dcada de 90 na Universidade de Strathclyde (Esccia) para uso didtico em disciplinas de simulao. Devido ao seu sucesso como ferramenta de ensino, a Simul8 Corporation iniciou a comercializao do Simul8 como ferramenta profissional de projetos de simulao. O Simul8 incorpora uma srie de tecnologias modernas quando comparado com os softwares de simulao que foram criados nas dcadas anteriores, o que facilita o seu uso e acelera o tempo de desenvolvimento e anlise de modelos de simulao. O objetivo deste trabalho , baseado em um pequeno tutorial, discutir as principais caractersticas do Simul8 e o seu mtodo de construo de modelos de simulao. PALAVRAS CHAVE. Simulao de Eventos Discretos. Softwares de Simulao. Simul8. Simulao

ABSTRACT The Simul8 discrete event simulation software was developed at the beginning of 90s inside Strathclyde University (Scotland) for learning purposes. Because of its enormous success among the students, it soon became a reference. Soon afterwards it was commercialized by Simul8 Corporation. Simul8 contains a series of modern technologies that eases its use and reduce drastically both model development and analysis time. The aim of this work is to show its main characteristics and trough a short tutorial to depicts how its modeling paradigm works. KEYWORDS. Discrete Event Simulation. Simulation Software. Simul8. Simulation.

1. Introduo O Simul8 atualmente um dos softwares de simulao com o maior nmero de licenas vendidas no mundo. Isso se deve, principalmente, ao seu preo de venda relativamente baixo. O desenvolvimento do Simul8 teve incio na dcada de 90, com a finalidade de ensino de simulao na Universidade de Strathclyde (Esccia). Devido ao sucesso do Simul8 como ferramenta de ensino de simulao, a Simul8 Corporation iniciou a sua comercializao como ferramenta profissional para projetos de simulao. A figura 1 apresenta um exemplo de uma tela do Simul8 em execuo.

Figura 1: Exemplo de um modelo em execuo no Simul8. Como o desenvolvimento do Simul8 relativamente recente, ele incorpora uma srie de avanos tecnolgicos tanto da rea de simulao quanto da rea de computao. Dentre estas tecnologias pode-se citar: Desenvolvimento para Windows. A grande maioria dos softwares de simulao foi inicialmente desenvolvida em outros sistemas operacionais (como o DOS ou o Unix) e depois teve seu cdigo migrado para o sistema operacional Windows. O Simul8 foi, desde o seu incio, desenvolvido em ambiente Windows, sendo menos susceptvel a Bugs e Crashes; Mecanismo de simulao e processamento paralelo. O Simul8 utiliza um mecanismo de simulao baseado no mtodo das trs fases (Chwif e Medina, 2006), o que acelera o tempo de simulao. Ele incorpora uma tecnologia de processamento paralelo, possibilitando que uma mesma simulao seja executada em mais de um microcomputador; Paradigma de construo de modelos baseados em objetos. Pode-se construir qualquer modelo a partir de apenas 5 objetos construtores bsicos: Chegada, Fila, Centro de Trabalho, Recursos e Sada. Embora suas caixas de dilogos evitem a necessidade de se programar longas linhas de cdigo, o software tambm possui uma linguagem interna: o Visual Logic, uma linguagem orientada a objetos semelhante ao Visual Basic; Plug-Ins ou mdulos com finalidades especficas. O Simul8 incorpora funcionalidades ou pacotes especficos como o Optquest (otimizao), Stat:Fit (anlise de dados de

entrada), Transport (modelagem de sistemas de transporte, como AGV e empilhadeiras), Virtual Reality (mdulo de realidade virtual) e Process (simulao contnua); Assistente de simulao. Um assistente de simulao, baseado em tcnica de inteligncia artificial, informa automaticamente quais podem ser os problemas oriundos de um determinado modelo. Isso especialmente interessante para iniciantes em simulao, que necessitam de um maior auxlio durante a construo de um modelo. A figura 2 ilustra um exemplo do assistente de simulao em funcionamento; Verso Run-Time. O Simul8 possui uma verso Run-Time que permite rodar modelos de simulao em computadores sem o Simul8 instalado. Esta verso, denominada Simul8 Viewer, pode ser baixada, sem custo, a partir do endereo http://simul8-online.com/viewer/download.htm. O Simul8 Viewer permite, inclusive, que o usurio altere dados de entrada e customize dados de sada.

Figura 2: Exemplo de possveis erros no modelo mostrado pelo assistente de simulao. Intercmbio com outros softwares. O Simul8 permite a troca de informaes com diversos outros softwares, tais como: Word, Excel, Autocad, bancos de dados no padro SQL etc. As ferramentas de importao e exportao permitem a converso de modelos de/para os softwares de simulao Automod e Witness. possvel ainda importar e simular modelos oriundos de softwares de criao de fluxograma de processos, tais como: Visio, Flowcharter, Igrafx, Mega, Salamander. O Simul8 ainda incorpora uma biblioteca e editor de cones que l arquivos grficos no padro BMP, JPEG e GIF. O Simul8 distribudo em trs verses bsicas: Simul8 Standard. Contm todas as funcionalidades para a construo de um modelo, exceto alguns mdulos e caractersticas especficas existentes na verso profissional; Simul8 Professional. Inclui a verso Standard, mais os mdulos: Optquest (otimizao), Virtual Reality (realidade virtual), Process (simulao contnua), Stat:Fit (para anlise de dados de entrada), Transport (modelagem de sistemas de transporte). Esta verso inclui ainda outras pequenas funcionalidades no presentes na verso Standard; Simul8 Educational. um pacote que contm um nmero ilimitado de licenas Standard para utilizao acadmica (o limite o nmero de mquinas existentes em um campus universitrio) e mais uma licena Simul8 Professional. H inmeras vantagens desta verso para universidades, tais como: no h taxas de manuteno, inclui materiais didticos para alunos e professores, cpias disponveis para os estudantes utilizarem o Simul8 em seus computadores pessoais e um frum de discusso na Internet (Simul8-

Caf). Uma relao de universidades que utilizam atualmente o Simul8 em seus programas de graduao e ps-graduao pode ser obtida no stio da Internet: http://www.simul8.com/products/edu/users.htm. Em nenhuma verso h limite para a construo de objetos de simulao a prpria Simul8 Corporation relata a construo de um modelo com mais de 10.000 objetos construtores de simulao. Com relao aos manuais e referncias, o Simul8 possui manual de instrues impresso e em verso PDF, help on-line, um livro para iniciantes (Concannon et al., 2004) e um guia de referncia completo (Hauge e Paige, 2004). Embora um software de simulao no seja a garantia de um estudo de simulao bem sucedido (Chwif e Medina, 2006), a utilizao de um software de simulao com tecnologia moderna como o Simul8 ajuda muito a minimizar os tempos de desenvolvimento e problemas futuros com o modelo. Na prxima seo descreve-se como funciona a interface bsica do Simul8 para rodar modelos. Nas sesses 3 e 4 descreve-se a construo de 2 modelos: uma fila M/M/1 e um sistema de carga e descarga de um armazm. 2. Interface Bsica de Simulao Ao se iniciar o Simul8, pode-se escolher entre abrir um modelo existente por meio da opo File|Open ou construir um novo modelo por meio da opo File|New|Blank Simulation. Aberto um modelo j pronto, o modelo pode ser executado por meio da barra de execuo de modelos (figura 3). Uma barra deslizante permite aumentar ou diminuir a velocidade de execuo da simulao (item 4 da figura 3).1 2 3 4 5 6 7 8 9

(Interface Clssica) 1 2

3

5

6

7

7A

8

9

4 (nova interface) Descrio das funcionalidades: 1. Abre um arquivo 2. Imprime o contedo da tela 3. Controle de zoom 4. Controle da velocidade da simulao (se estiver totalmente direita, executa a simulao com velocidade mxima sem animao) 5. Redefine simulao (zera o relgio de simulao e define todas as variveis para as condies iniciais). 6. Execuo da simulao passo a passo 7. Executa a simulao. Neste caso, existem as opes: a. Run: executa a simulao considerando o mesmo gerador de semente aletria (o resultado sempre o mesmo) b. Run with New Random Numbers: executa a simulao variando a semente aleatria. c. Trial Multiple Runs: executa vrias replicaes d. Run Max Speed Full Time: executa a simulao com a velocidade mxima (desabilita a animao) 7A Pra simulao (na inteface clssica o boto 7) 8. Abre uma planilha eletrnica no formato Excel 9. Apresenta os resultados da simulao

Figura 3: Barras para o controle da simulao.

3. Construo de um Modelo Simples: a Fila M/M/1 Esta seo descreve a construo de um modelo de filas M/M/1 (processos de chegadas e de atendimentos de Poisson e um servidor para atendimento). Considere-se uma fila M/M/1 com tempo mdio entre chegadas sucessivas de clientes de 10 minutos e com tempo mdio de atendimento de 8 minutos. Para a construo do modelo de simulao no Simul8, deve-se, inicialmente, criar um novo arquivo por meio da opo File|New|Blank Simulation. Qualquer modelo pode ser construdo no Simul8 por meio dos seguintes construtores bsicos: Chegada, Fila, Centro de Trabalho, Recurso e Sada e mais as ferramentas de conexo. Os construtores bsicos e as ferramentas de conexo esto ilustrados na figura 4.

1

2

3

4

5

6

7.

Descrio dos Objetos: 1. Chegada 2. Fila 3. Centro de trabalho 4. Sada 5. Recurso 6. Ferramenta de conexo de objetos 7. Ferramenta de habilitao de visualizao de ligaes Figura 4: Construtores bsicos de um modelo de simulao. O modelo de simulao da fila M/M/1 composto por 4 objetos de simulao em seqncia: uma Chegada, uma Fila, um Centro de Trabalho e uma Sada. Primeiramente clica-se em cada respectivo objeto (figura 4) e em qualquer poro da tela aonde se deseja posicion-lo. Se os objetos forem criados na seqncia sugerida, o Simul8 liga-os automaticamente. Para eliminar uma ligao basta selecion-la e pressionar a tecla de excluir ou delete. Para ligar os objetos manualmente, basta clicar na ferramenta de conexo de objetos, no primeiro objeto a ser conectado (origem) e no segundo objeto a ser conectado (destino). O resultado final dos procedimentos descritos est representado na figura 5.

Figura 5: Estrutura do modelo M/M/1. A uma linha de conexo tambm pode ser associado um tempo de transporte ou transferncia. O tempo de transporte dado por uma constante multiplicada pelo tamanho da linha (esses parmetros podem ser ajustados em Tools|Preferences|Distance). Caso no se queira considerar este tempo (como o caso da fila M/M/1) deve-se pressionar o boto Travel Times = 0 que desativa o tempo de transporte na linha. Construda a estrutura do modelo, o prximo passo inserir os parmetros que, no exemplo em estudo, so os tempos entre chegadas sucessivas de clientes e os tempos de

atendimento no servidor. Por meio do duplo clique em cada objeto, o Simul8 abre uma janela de edio de propriedades. Inicialmente, d-se um duplo clique no objeto Chegada e configura-se o tempo entre chegadas sucessivas como uma distribuio exponencial com mdia de 10 minutos. Ao se clicar na lista de distribuies, observa-se que o Simul8 contm a maioria das distribuies discretas e contnuas usuais em modelos de simulao. O ttulo do objeto pode ser mudado e, no exemplo, adotou-se o ttulo Chegada. Para que o ttulo se torne visvel na tela de simulao, utiliza-se a opo Graphics|Title|Show Title. O objeto Fila no possui nenhum parmetro a ser inserido, mas pode-se melhorar a sua visualizao por meio da opo Graphics|Queue. O Centro de Trabalho, cujo tempo exponencialmente distribudo com mdia de 8 minutos, deve ser alterado de modo semelhante ao objeto Chegadas. Para o objeto Sada, no h nenhuma configurao necessria, mas, para facilitar a sua visualizao, pode-se incluir o ttulo Sada. Opcionalmente, pode-se mudar o nome das entidades do modelo utilizando-se a opo Objects|Work Item Types ou mesmo alterar sua figura (a partir ou da biblioteca ou do editor de figuras). A figura 6 ilustra os passos anteriormente descritos.

Chegada

Fila

Atendimento

Sada

Figura 6: Configurao dos parmetros do modelo M/M/1. As medidas de desempenho e as propriedades do relgio de simulao so configuradas ao se clicar em cada objeto e no boto results. Diferentemente de outros softwares de simulao, o Simul8 permite a customizao de um relatrio de sada. Para se adicionar ao sumrio de resultados a(s) medida(s) de desempenho desejada(s), basta apontar o mouse para a medida de desempenho e pressionar o boto direito. Para o exemplo em estudo, selecionam-se quatro medidas de desempenho: o tempo mdio de espera em fila, o nmero mdio de elementos na fila, a utilizao do servidor e o tempo total mdio no sistema. Neste caso as duas primeiras medidas de desempenho podem ser escolhidas no objeto Fila, a terceira no objeto Centro de Trabalho e a ltima no objeto Sada. Ao se utilizar o mtodo de seleo pelo boto direito e se selecionar Results|Results Summary, estas medidas estaro disponveis para visualizao e intercmbio com outros softwares. Na realidade, h uma srie de outras medidas e grficos que o Simul8 fornece, mas, por motivos de espao, apresentam-se apenas quelas de importncia para o exemplo. A figura 7 apresenta o resultado do Results Summary aps a execuo do procedimento descrito.

Figura 7: Configurao dos resultados do modelo M/M/1. Finalmente, devem-se configurar as propriedades do relgio de simulao por meio da opo Clock|Clock Properties. A unidade padro do Simul8 minutos (caso esta unidade seja alterada para segundos, horas ou dias, todos os tempos sero considerados nesta nova unidade). Como perodo de simulao (results collection period), adotou-se 50.000 minutos e como perodo de aquecimento (warm-up), adotou-se 5.000 minutos. Estas configuraes esto ilustradas na figura 8.

Figura 8: Configurao dos parmetros do relgio. Para se executar a simulao, basta que seja pressionado o boto de executar (figura 3) e, para verificar os resultados, deve ser selecionada a opo Results|Results Summary ou pressionado o boto 9 (figura 3). A figura 9 ilustra como o Simul8 mostra a animao. H ainda possibilidade de construir grficos dinmicos em diferentes objetos e para tal deve-se selecionar o objeto desejado e clicar na ferramenta de gerao de grfico. Na figura 9 pode-se ver o grfico do nmero de elementos em fila versus o tempo de simulao.

Figura 9: Animao Grfica do Simul8 Como se trata de um modelo de simulao, resultados mais apurados podem ser obtidos ao se realizar vrias replicaes do modelo. A opo Trial|Conduct Trial permite selecionar o nmero de replicaes desejadas (Number of Runs in Trial). Automaticamente, aps a execuo das replicaes, aparecero os resultados j com os intervalos de confiana construdos para os nveis de 95% e 99% de confiana. A figura 10 ilustra estes resultados para um conjunto de 10 replicaes.

Figura 10: Resultados de 10 replicaes com os respectivos intervalos de confiana. Este o procedimento bsico de construo, execuo e anlise de um modelo de simulao no Simul8. Na prxima seo apresentar-se- um modelo um pouco mais complexo que ilustra algumas funcionalidades do Simul8, em particular, a utilizao de recursos. 4. Construo do Modelo do Processo de Carga e Descarga em um Armazm Este modelo foi extrado de Moreira e Silva (2001): considere-se o problema de um armazm que possui duas docas para carregamento de caminhes e uma doca para descarregamento de comboios. Essas operaes so realizadas por duas empilhadeiras. Os tempos entre chegadas sucessivas de comboios so constantes iguais a 480 minutos, enquanto que os tempos entre chegadas sucessivas de caminhes so exponencialmente distribudos com mdia de 20 minutos. O processo de carregamento de um caminho consome, em mdia, 30 minutos segundo uma distribuio exponencial, e o processo de carregamento de um comboio consome, em mdia, 180 minutos, segundo uma distribuio exponencial. Pretende-se simular o sistema de modo a avaliar os tempos de espera mdios e mximos tanto de caminhes como de comboios. Deseja-se tambm, avaliar o nvel de utilizao das empilhadeiras. O sistema opera durante 24 horas por dia e a simulao deve ser executada durante um ms. O que difere este modelo do modelo anterior a existncia de 2 processos independentes que compartilham um mesmo recurso, no caso, empilhadeiras. No Simul8, um recurso sempre est associado a um ou mais Centros de Trabalho. Caso o recurso necessrio para um determinado Centro de Trabalho no esteja disponvel, no h processamento da entidade. No modelo da fila M/M/1, como o Centro de Trabalho estava 100% dedicado e disponvel s entidades, no se associou nenhum recurso. A estrutura do modelo do armazm assemelha-se quela representada na figura 11. A figura 11 (a) ilustra o fluxo com os desenhos padro do Simul8; a figura 11(b), por sua vez, ilustra exatamente o mesmo modelo, mas alterando os

desenhos para um melhor entendimento e visualizao.

(b) (a) Figura 11: Estrutura do modelo do armazm com: (a) cones padro do Simul8 (b) cones da biblioteca de cones. O procedimento de criao de um recurso exatamente o mesmo de qualquer objeto: seleciona-se no menu de objetos a opo Recurso (figura 4) e posiciona-se o Recurso na tela. Com duplo clique, editam-se suas propriedades. Neste caso, pode-se alterar o nome e a quantidade de empilhadeiras (o padro so 10 recursos). A seguir, devem-se associar os recursos aos Centros de Trabalhos (cada um dos trs). Para tal, existem dois mtodos: o mtodo de ligao direta, utilizando a ferramenta de conexo, e o mtodo de adio de recursos diretamente no respectivo centro de trabalho (opo: Work Center Properties|Resources|Add). Outro mtodo clicar-se no Centro de Trabalho e utilizar a opo Resources|Add neste caso, surge uma lista de recursos para seleo pelo usurio. A figura 12 ilustra os procedimentos descritos.

Figura 12: Configuraes de utilizao de recursos no Simul8. O procedimento de configurao dos resultados e execues semelhante ao descrito no final da seo 3. Uma outra forma possvel de modelagem a de se criar apenas um Centro de Trabalho e replic-lo com a opo Replicate definida para 2. Neste caso, um nico Centro de Trabalho ter o mesmo efeito de 2 centros trabalhando em paralelo. Esta caracterstica interessante para o caso de modelos em que se necessita de uma grande quantidade de centros de trabalhos em paralelo.

5. Concluses e Consideraes Finais. O presente trabalho fornece uma introduo ao software de Simulao Simul8 na forma de tutoriais simples. Este trabalho no pretende ser uma fonte de referncia extensa do software (alm do discutido neste texto, o software possui inmeras outras funcionalidades), mas um trabalho para um primeiro contato com a ferramenta. Assim, procurou-se representar como paradigma bsico de construo de modelos do Simul8. Para os interessados em conhecer mais sobre o Simul8, sugere-se a visita ao prprio stio da Simul8 (http://www.simul8.com) ou mesmo a consulta das referncias citadas sobre o Simul8. Referncias Chwif, L. e Medina, A. C. Modelagem e Simulao de Eventos Discretos: Teoria e Aplicaes, Ed. Bravarte, So Paulo, 2006. Concannon, K.; Elder, M., Hunter, K.; Tremble, J. e Tse, S. Simulation Modeling with Simul8. Visual Thinking International, 2004. Hauge, J.W. e Paige, K.N. Learning Simul8: The Complete Guide, PlainVu Publihsers, Bellingham, 2 ed., 2004. Moreira, N. e Silva, R. M. Introduo Simulao com o Simul8. Seo de Urbanizao e Sistemas, Departamento de Engenharia Civil, Instituto Superior Tcnico, 2001. Disponvel em: sus.civil.ist.utl.pt/~nmoreira/io2002/SIMUL8.pdf