You are on page 1of 5

SIMULAÇÃO DISCRETA

Capítulo 2

Simulação discreta
Elementos e conceitos básicos

2. Simulação discreta

Propositadamente no capítulo anterior quase nada se disse sobre simulação


discreta. Contudo, sendo esse o objecto deste livro, comecemos este capítulo
recordando ao leitor o que tal designação significa e em que casos esse tipo de
abordagem deve ser utilizada no desenvolvimento de modelos.
Para já é importante recordar que as técnicas de simulação discreta se aplicam
a sistemas cujos estados se possam considerar discretos, ou seja, que variem de
forma discreta ao longo do intervalo de valores da variável independente. Repare-
se que, sendo assim, a aplicabilidade de tais técnicas não se reduz unicamente à
simulação de sistemas que em si mesmos exibam um comportamento tipicamente
discreto, mas ainda a sistemas contínuos que, de alguma forma, permitam a
“discretização” dos seus estados.
Para melhor se entender o significado desta observação, foquemo-nos de novo
no caso do movimento de um autocarro, apresentado no capítulo anterior como
exemplo de um sistema contínuo simples. Nesse exemplo tínhamos considerado o
estado E(t) do sistema como sendo a velocidade do autocarro desde que este
iniciava o movimento até que de novo
parava (fig. 2.1), entrando em Vel = E(t)
consideração com os estados Vel fm(t)
transitórios de arranque e de paragem. fa(t)
fp(t)
Tínhamos ainda dito que o autocarro
MOVIMENTO
passaria, do instante t1 até ao instante PARADO PARADO
t2, da condição de PARADO para a
condição de MOVIMENTO através de to t1 t2 t3 t4 t
uma função fa(t) que representava a
Fig. 2.1 Sistema autocarro (contínuo)
aceleração de arranque. Depois, que

29
SIMULAÇÃO POR COMPUTADOR

se manteria em MOVIMENTO segundo a lei descrita pela função fm(t) até ao


instante t3 e que, a partir daí, seria sujeito a uma aceleração negativa de paragem
fp(t) até que no instante t4 atingisse de novo a situação de PARADO.
Esta forma de descrever o sistema é, de facto, uma forma contínua, pois nela se
considera que o estado total do sistema apresenta uma variação contínua ao longo
de todo o domínio da variável independente t. Apesar disso, ao falar-se em
autocarro PARADO e em autocarro em MOVIMENTO está-se já, de uma forma
tímida, a tentar descrever o sistema de forma discreta, pois esta nomenclatura
demonstra uma tendência para a separação dos estados de movimento do
autocarro em dois níveis diferentes de velocidade. Fases de ARRANQUE e de
TRAVAGEM poderiam ser também consideradas mas, como é óbvio, se a sua
duração for desprezável relativamente ao tempo despendido nos estados PARADO
e em MOVIMENTO, acabamos por poder ignorá-las no modelo discreto. E então, a
única coisa de que necessitamos para passar de uma perspectiva contínua para
uma perspectiva discreta é fazer corresponder ao estado PARADO a velocidade
nula e ao estado MOVIMENTO uma velocidade média que caracterize o melhor
possível o movimento do autocarro (fig. 2.2).
Introduzida esta simplificação, o
Vel = E(t) sistema autocarro poderá então passar a
Vel ser descrito usando técnicas de
simulação discreta, o que em muitos
MOVIMENTO
casos permite também simplificar o
PARADO PARADO processo de modelação, pois substitui-se
a descrição do sistema baseada em
to t1 t2 t equações diferenciais por uma descrição
apoiada em relações funcionais menos
Fig. 2.2 Sistema autocarro (discreto)
complexas.
Apesar de a grande maioria dos
sistemas reais apresentar um comportamento contínuo, pelo menos do ponto de
vista macroscópico, muitos deles exibem, contudo, um comportamento próximo
ao discreto, como é o caso dos processos de produção, dos processos de
armazenagem ou mesmo do fluir do trânsito numa cidade. A simulação discreta é,
por isso, utilizada hoje em dia para modelar uma vasta gama de problemas
práticos que, de outra forma, dificilmente poderiam ser modelados através de
matemática contínua.
Ao longo deste capítulo iremos falar das técnicas mais frequentemente usadas
para representar e simular processos discretos em computador, descrevendo-as e
apresentando os conceitos em que elas se baseiam, assim como a estrutura do
mecanismo dos respectivos simuladores. No entanto, parece-nos apropriado

30
SIMULAÇÃO DISCRETA

começar por introduzir o leitor a um breve resumo da evolução da simulação


discreta.

2.1 Breve historial


Desde que na década de 60 começaram a surgir as linguagens de programação
de computadores, através das quais estas máquinas passaram a permitir, para além
de uma rápida execução de cálculos, o manuseamento de grandes volumes de
informação, as técnicas de simulação discreta começaram a tornar-se cada vez
mais populares devido à facilidade com que se passava a introduzir nessas
máquinas conjuntos de procedimentos em forma de programas. De facto, desde o
tempo da simulação contínua analógica que nada de tão excepcional acontecia. A
substituição de uma abordagem matemática complexa, em que os sistemas de
equações diferenciais dominavam, por uma perspectiva de representação
procedimental, contribuía tanto para a diminuição do tempo de modelação desses
sistemas como também para facilitar a sua representação na forma de modelos. As
restantes vantagens advinham das óbvias vantagens da utilização de linguagens de
programação numa máquina de cálculo tão poderosa como o computador. Desde a
portabilidade até à velocidade de execução das instruções, passando pela
facilidade de, a qualquer momento, se poder alterar os parâmetros do modelo, e
pela forma compacta que tal modelo assumia, tudo isso passara a atrair os
analistas para a exploração dos recursos entretanto disponibilizados por o
computador. O grande passo, contudo, no que respeita ao domínio da simulação,
foi a possibilidade de simular sistemas de elevado grau de complexidade sem a
necessidade de recorrer a conjuntos de equações diferenciais, muitas vezes sem
solução analítica.
E à medida que as linguagens de programação se tornavam mais flexíveis, a
simulação discreta evoluía também, quer ao nível dos paradigmas básicos de
modelação quer ao nível das aplicações informáticas de utilidade mais geral.
Com o decorrer do tempo desenvolveram-se vários tipos de Modelos Genéricos
“data-driven”, como o XCell+ e o HOCUS, em que o analista não necessitava de
escrever qualquer linha de código de programa, mas somente de interagir com
essa aplicação informática para criar o modelo. De facto, usando esse tipo de
aplicações, o analista só necessita de definir as entidades do sistema e os estados
por que elas passam, chamando-lhes actividades e filas, assim como a duração de
cada uma dessas actividades e o modo como permanecem nessas filas.

31
SIMULAÇÃO POR COMPUTADOR

Contudo, este tipo de simuladores genéricos, por se permitirem demasiada


generalidade, acabam por só conseguir simular sistemas de baixo grau de
complexidade, mostrando-se ineficientes perante a grande maioria dos sistemas
reais.
Descendo na escala da generalidade, abaixo destes Modelos Genéricos aparece
uma gama de outros produtos menos ambiciosos, apesar de ainda de índole
generalista. São eles os Ambientes de Simulação e os Geradores de Modelos, onde
o analista já necessita de definir parte da lógica que rege as interacções entre as
várias entidades do modelo.
No outro extremo das aplicações dedicadas ao campo da simulação,
desenvolvem-se as linguagens de simulação como o SIMSCRIPT, o SIMULA ou
o SLAM II, através das quais os analistas criam os seus modelos com base em
procedimentos um pouco mais estruturados do que os das normais linguagens de
programação.
Com o desenvolvimento da computação gráfica, nos finais da década de 70, os
modelos começaram a incluir uma componente visual, tornando possível
visualizar no ecrã do computador a evolução dos seus vários elementos durante o
decorrer da simulação. Esta componente gráfica, além de ter aproximado os
modelos ao que acontecia na realidade, permitiu ainda começar a modelar
sistemas cada vez mais complexos, como redes de trânsito, sistemas de
armazenagem, redes de caminhos-de-ferro, e outros, podendo o analista
visualmente verificar, durante o próprio processo de simulação, os efeitos de
determinadas acções levadas a cabo sobre o modelo.
A.C.Brito1, nos finais da década de 80, desenvolve em FORTRAN um modelo
Visual e Interactivo de armazéns automáticos introduzindo técnicas de CAD
(Computer Aided Design), identificando e definindo grande parte dos processos
envolvidos nesse tipo de sistemas.
A simulação discreta evolui com Allan Carrie, com Shannon, com Ruth Davis
& Robert O’Keefe e, no início dos anos 90, com Michael Pidd, Jaume Barceló,
Balci & Nance2 e outros, até que, nos últimos anos, com o aparecimento das
linguagens Orientadas para Objectos (OOP), passou a incluir conceitos de
hierarquia de classes, de encapsulamento de características, de polimorfismo, etc.,
tornando-se mais fácil estruturar e conceber modelos cada vez mais complexos.
Do Simulation Model Development Environment (SMDE) desenvolvido em 1987
por Balci e Nance3 apareceu em 1997 o Visual Simulation Environment (VSE),
cuja estrutura assenta nesse novo paradigma de programação, sustentado por uma
forte componente gráfica e estatística.

32
SIMULAÇÃO DISCRETA

E hoje em dia assiste-se à proliferação de aplicações informáticas para


simulação discreta, umas mais elaboradas do que outras, muitas delas mantendo
ainda intuitos generalistas, pelo que, ao vasculhar a INTERNET, o analista actual
se vê rodeado de um número de ofertas sem precedente.
Contudo, quando confrontado com a necessidade de simular um sistema real,
em que o número de entidades é muitas vezes elevado e, principalmente, as
interacções entre elas complexas, o que se verifica é que tais programas de
simulação ficam muito aquém do que inicialmente se poderia esperar, sendo
preferível, quanto a nós, desenvolver um simulador de raiz usando quer uma
linguagem de simulação, quer uma das linguagens de uso geral, tais como o
BASIC, o FORTRAN, o PASCAL ou o C. É claro que usando tais ferramentas de
programação se poderá demorar bastante mais tempo a desenvolver um
simulador, contudo, esta parece ainda a melhor maneira de simular sistemas
complexos de forma satisfatória, uma vez que nos permite implementar um
modelo específico com as características específicas do sistema em estudo.
Desenvolver um modelo específico, tendo em conta um problema específico,
parece-nos, por isso, o caminho mais inteligente a seguir, pelo menos enquanto a
fiabilidade e a precisão dos resultados assim o exigirem.

2.2 Elementos da simulação discreta


Enquanto os analistas de simulação contínua olham para o sistema tentando
nele identificar os blocos que representam termos de equações diferenciais,
interligando depois esses blocos de forma a criarem o modelo, e em simulação
estatística se pretende descrever, através de distribuições estatísticas, os vários
parâmetros que constituem esse sistema, na simulação discreta a atenção do
analista volta-se para a identificação e a descrição dos elementos que, do ponto de
vista funcional, caracterizam e são responsáveis pela dinâmica desse sistema.
Assim, em simulação discreta procura-se representar o sistema através de um
conjunto de entidades, cada uma possuindo determinados atributos, sendo essas
entidades os elementos responsáveis por levarem a cabo actividades no sistema.
Digamos que as entidades representam os sujeitos, enquanto as actividades
representam os verbos, ou seja, as acções através das quais as entidades
promovem as mudanças de estado nesse sistema. Contudo, para além destes dois
elementos básicos, através dos quais é perfeitamente possível criar um modelo
discreto, outros elementos se tornaram importantes com o desenvolver das
técnicas de simulação, sendo os de maior relevo os eventos e as filas de entidades.

33

You might also like