Simulação
Módulo II
Usando o Arena em Simulação
o ARENA foi lançado pela empresa americana Systems Modeling em 1993 e é o sucessor de
dois outros produtos de sucesso da mesma empresa: SIMAN (primeiro software de
simulação para PC) e CINEMA, os quais foram desenvolvidos em 1982 e 1984,
respectivamente. O SIMAN é uma evolução do arquitetura do GPSS, lançado pela IBM em
1961 e que, durante anos, foi o lider entre os produtos de simulação-de-uso-geral no
mercado mundial. Em 1984 o SIMAN recebeu um complemento chamado CINEMA (primeiro
software de animação para PC), que adicionava habilidades de animação gráfica. Este
conjunto foi continuamente melhorado e, a partir de 1993, os dois programas foram
unificados e aperfeiçoados em um único software, o ARENA. A partir de 1998 a empresa
Rockwell Software incorporou a Systems Modeling.
o
ARENA possui um conjunto de blocos (ou módulos) que são utilizados para se descrever uma
aplicação real. Estes blocos funcionam como comandos de uma linguagem de programação como o
Fortran, Cobol, VB, Delphi, etc. Obviamente foram projetados sob a ótica da simulação e, por isso,
facilitam muito esta tarefa de programação.
Para simplificar o processo de construção de modelos, o ARENA usa uma Interface Gráfica para o
Usuário (ou GUI - Graphical User /nterface), que em muito automatiza o processo e reduz a necessidade
do teclado, pois o mouse é a ferramenta utilizada. Além de permitir a construção de modelos de
simulação, o ARENA possui ainda ferramentas muito úteis:
•
•
Analisador de dados de entrada (lnput Ana/yzer).
Analisador de resultados (Output Ana/yzer).
O /nput Ana/yzer permite analisar dados reais do funcionamento do processo e escolher a melhor
distribuição estatística que se aplica a eles. Esta distribuição pode ser incorporada diretamente ao
modelo.
O Output Ana/yzer é uma ferramenta com diversos recursos que permite analisar dados
coletados durante a simulação, sendo que esta análise pode ser gráfica, e tem ainda
recursos para efetuar importantes comparações estatísticas.
2.1 - A "Visão do Mundo" do Arena.
Tal como a maioria dos softwares de simulação, o Arena visualiza o sistema a ser modelado como
constituído de um conjunto de estações de trabalho que prestam serviços a clientes (também chamados
de entidades ou transações) que se movem através do sistema. O movimento pode ser feito pela
própria entidade ou por transportadores (empilhadeiras, por exemplo) ou correias. Esta característica
básica pode ser usada de inúmeras maneiras. Podemos, por exemplo, ter:
• Pessoas (entidades) percorrendo as diversas seções (stations) de um supermercado onde efetuam
compras.
• Um automóvel (entidade) sendo fabricado nas diversas seções (stations) de uma fábrica.
• Uma apólice de seguro (entidade) sendo processada nas diversas seções (stations) de uma
seguradora.
• Clientes (entidades) chegam a um banco e utilizam os serviços dos diversos departamentos (stations)
do banco.
Prof. Menezes
5
Simulação
Módulo II
Assim, para montarmos um modelo com o Arena devemos, inicialmente, construir um desenho
mostrando o sistema que está sendo simulado, constituído de (veja Figura 2.1):
• Estações de trabalho (onde a entidade receberá algum serviço).
Estação de Trabalho
Fluxo
Figura 2.1 – Estações de trabalho e opções de fluxo para entidade
• Opções de fluxo, para a entidade, entre as estações de trabalho.
•
As opções de fluxo para a entidade serão tratadas pela lógica da programação do modelo. Por exemplo,
em uma fábrica de geladeiras, a entidade é uma geladeira que vai sendo montada nas diversas
estações de trabalho. O fluxo de uma entidade vai depender do modelo de geladeira que está sendo
montado.
2.2 - Variáveis de um Sistema
Para efetUar o dimensionamento de um sistema, sempre estaremos nos referindo a variáveis como o
tempo de espera do cliente na fila, a quantidade de atendentes, etc. Em simulação, estas variáveis são
randômicas, ou seja, são descritas por uma distribuição de probabilidades. Consideremos o sistema de
filas da Figura 2.2, ao qual clientes chegam e entram em fila, existindo M servidores para atendê-Ios. As
principais variáveis randômicas utilizadas em dimensionamento são:
• Variáveis Referentes ao Sistema
TS = Tempo Médio de Permanência no Sistema
NS = Numero Médio de Clientes no Sistema
• Variáveis Referentes ao Processo de Chegada
λ = Ritmo Médio de Chegada
IC = Intervalo Médio entre Chegadas (chamado de "Time Between Arrivals" pelo Arena)
Por definição: IC = 1/ λ
• Variáveis Referentes à Fila
TF = Tempo Médio de Permanência na Fila (chamado, pelo Arena, de '''Waiting Time';
NF = Número Médio de Clientes na Fila (chamado, pelo Arena, de "Number Waiting')
Prof. Menezes
6
Simulação
Módulo II
• Variáveis Referentes ao Processo de Atendimento
TA = Tempo Médio de Atendimento ou de Serviço (chamado de "Process
Time" ou "Delay Time" pelo Arena)
c = Quantidade de atendentes
NA = Número Médio de Clientes que estão sendo atendidos
µ = Ritmo Médio de Atendimento de cada atendente
Por definição: TA = 1/ µ
2.2.1 - Relações Básicas
Existem duas relações óbvias entre as variáveis randômicas da Figura 2.2:
NS = NF + NA
TS = TF + TA
2.2.2 - Taxa de Utilização dos Atendentes
Para o caso de "uma fila/um atendente", chamamos de taxa de utilização do atendente à relação entre
seu tempo total ocupado e o tempo total disponível. Pode se demonstrar, com alguma facilidade, que
esta definição pode também se expressar por:
ρ= λ./ µ
em que λ = ritmo médio de chegada e µ = ritmo médio de atendimento.
No caso de "uma fila/vários atendentes", a expressão se torna:
ρ= λ./c µ
em que c é o número de atendentes.
Prof. Menezes
7
Simulação
Módulo II
Portanto, ρ representa a fração média do tempo em que cada servidor está ocupado. Por exemplo, com
um atendente, se chegam 4 clientes por hora e se o atendente tem capacidade para atender 10 clientes
por hora dizemos que a taxa de utilização é 0,40 e podemos também afirmar que o atendente fica 40%
do tempo ocupado e 60% do tempo livre (esta afirmativa é intuitiva mas pode ser matematicamente
demonstrada).
O Arena calcula o valor da Taxa de Utilização (chamada de "Utilization';, durante a
execução da simulação, computando os tempos ocupados de cada servidor e dividindo este
valor pelo tempo total.
2.3 - Fornecendo Dados ao Arena
Para montarmos um modelo em Arena, devemos fornecer informações sobre o que
acontece em cada estação de trabalho, sobre o deslocamento entre as estações, etc.
2.3.1 - O Processo de Chegada
O estabelecimento do processo de chegada de entidades ao sistema que está sendo simulado é uma
etapa muito importante da criação do modelo. Por processo de chegada geralmente estaremos nos
referindo a uma distribuição de probabilidades que descreve corretamente a chegada de clientes ao
sistema. Cada caso deve ser analisado individualmente, mas os mais comuns são:
• Os intervalos entre chegadas seguem a distribuição exponencial negativa.
• Os intervalos entre chegadas seguem uma tabela que descreve o processo.
O primeiro caso é bastante comum: dentre as distribuições estatísticas, a exponencial negativa (Figura
2.3) se adapta a quase todos os processos de chegada.
Assim, para expressar no Arena que clientes chegam a um sistema a cada 5 minutos, segundo a
distribuição exponencial negativa, diremos que o valor para Time Befween Arrivals é EXPO(5).
2.3.2 - O Processo de Atendimento
Ao chegar a uma estação de trabalho, a entidade sofre um atendimento durante um período de tempo.
Para este caso não existe uma distribuição estatística que se adapte a todos os cenários. Pelo
contrário, cada cenário deve ser analisado individualmente. As possibilidades teóricas são:
Prof. Menezes
8
Simulação
•
•
•
•
Módulo II
A distribuição de Erlang.
A distribuição exponencial negativa.
A distribuição triangular.
A distribuição retangular ou uniforme.
• Etc.
Na Figura 2.4 mostramos o formato das possibilidades acima.
Assim, por exemplo, para expressar no Arena que o atendimento em uma dada estação de trabalho
segue a distribuição triangular, podemos dizer que o valor para o Process Time é TRIA(10, 15,25), em
que:
- Valor mínimo = 10
- Moda = 15
- Valor máximo = 25
°
Além disso, é muito comum o caso em que nenhuma das distribuições teóricas se adapta a um caso
real. Então devemos utilizar os próprios dados reais para a simulação.
Deslocamento
2.3.3 - O Deslocamento entre Estações
Os dados de durações do deslocamento podem contemplar:
• Deslocamento efetuado pelo próprio cliente.
• Deslocamento efetuado por um equipamento (como uma ponte rolante ou uma esteira).
No primeiro caso geralmente devemos fornecer uma distribuição de probabilidades, semelhante às
utilizadas na processo de atendimento. Na segundo caso devemos fornecer os dados de funcionamento
do equipamento.
2.4 - A Programação Visual
Um modelo em Arena é constituído de duas partes:
• Lógica
•
Animação
LÓGICA:
Nesta parte montamos um programa, utilizando comandos (também chamadas de blocos ou módulas) do
Arena.
ANIMAÇÃO:
Nesta parte são colocados desenhos e símbolos para representar as estações de trabalho e os caminhos
por onde passa a entidade. O Arena simula a evolução do tempo e movimenta a entidade pelos caminhos e
estações.
2.5 - A Execução do Modelo
Prof. Menezes
9
Simulação
Módulo II
Quando um modelo é executado, o Arena vai criando entidades e movimentando-as entre as estações de
trabalho. O Arena simula e gerencia o transcorrer do tempo: a cada instante, no tempo que está sendo
simulado, algum evento pode acontecer, tal camo:
• Um novo cliente chega ao sistema,
• Uma entidade inicia a deslocamento entre duas estações de trabalho.
• Um servidor de uma estação de trabalha inicia o atendimento a um cliente.
Para a execução, a Arena se baseia na lógica da programação fornecida para a modelo. Ele se encarrega de
manusear todos as dados surgidos na própria simulação, tais cama tempo de espera na fila, taxa de
utilização de atendentes, etc. Além disso, ele faz com que a animação na tela tenha um aspecto próximo à
realidade. Ao final da simulação, ele disponibiliza relatórios que mostram as principais resultadas da
processo.
O MÉTODO DE MONTE CARLO
Quando uma cliente chega a uma estação de trabalha, a duração do atendimento daquele cliente
geralmente é diferente do atendimento dos outros clientes, visto que o processo é randômico e descrita por
uma distribuição de probabilidades. Para descobrir qual a duração do atendimento daquele cliente
específico, o Arena utiliza a Método de Monte Carlo. Por este método é efetuado um sorteio para se
encontrar a duração do atendimento. O mesmo método é efetuado para o processe de chegada, para a
deslocamento entre estações de trabalho, etc.
O Método de Monte Carlo utiliza números aleatórios e a função de probabilidades que descreve a fenômeno
real. Para que a simulação forneça resultadas confiáveis, é necessária que a amostra simulada seja de
tamanho adequado, o que significa que, se o tamanho da amostra for aumentado, as resultadas não se
alteram. O uso de amostras de pequena tamanho pode fornecer resultados diferentes do real.
Prof. Menezes
10
Download

Usando o Arena em Simulação