Simulação de Monte Carlo
A palavra simulação refere-se a qualquer método analítico cuja intenção é imitar algum sistema real, principalmente quando outras análises são matematicamente complexas.
Dessa forma, o objetivo da simulação é descrever a distribuição e características dos possíveis valores de uma variável dependente, depois de determinados os possíveis valores e comportamentos das variáveis independentes a ela relacionadas.Em muitos casos, os modelos de simulação são utilizados para analisar uma decisão envolvendo risco, ou seja, um modelo no qual o comportamento de um ou mais fatores não é conhecido com certeza. Neste caso, estes fatores são conhecidos como variável aleatória, e o seu comportamento é descrito por uma distribuição de probabilidade (MOORE;WEATHERFORD, 2005). O Método de Monte Carlo é, portanto, um modelo de simulação que utiliza a geração de números aleatórios para atribuir valores às variáveis que se deseja investigar. Os números podem ser obtidos através de algum processo aleatório (tabelas,roletas, etc.) ou diretamente do computador, através de funções específicas (LUSTOSA;PONTE; DOMINAS, 2004)
Como funciona o método de Monte Carlo
Como dito acima, a simulação de Monte Carlo é um processo de
amostragem cujo objetivo é permitir a observação do desempenho de uma
variável de interesse em razão do comportamento de variáveis que encerram
elementos de incerteza.
Embora seja um conceito simples, a operacionalização desse processo
requer o auxílio de alguns métodos matemáticos. Dentre os mais conhecidos e
utilizados, segundo Evans e Olson (1998) e Vose (2000), está o método da
transformada inversa, que faz uso das propriedades dos números aleatórios e
da função distribuição acumulada de uma variável aleatória.
Gerador de números aleatórios
Como visto até o presente momento, tem-se que a base para o processo
de amostragem realizado nas simulações de Monte Carlo é a geração de
números aleatórios. É a partir desse mecanismo que são produzidas as
distribuições das variáveis de interesse, tomando por base as premissas e as
distribuições associadas às variáveis de entrada, bem como a inter-relação
entre as mesmas.
Um número aleatório, conforme já exposto, é definido como sendo um
número uniformemente distribuído entre 0 e 1. No entanto, computadores não
possuem a capacidade de gerar números realmente aleatórios, visto que fazem
uso de um algoritmo para gerar uma seqüência de números.
Em razão disso,
os números gerados são comumente chamados de números pseudo-aleatórios.
Desse modo, é necessário escolher um algoritmo que forneça uma série
de números que pareçam ser aleatórios. De acordo com Law e Kelton (2000),
um algoritmo aritmético gerador de números aleatórios deve satisfazer as
seguintes condições:
- os números produzidos devem parecer uniformemente distribuídos
entre 0 e 1 e não possuírem correlação entre eles;
- deve ser rápido na geração e consumir pouca memória;
- deve propiciar a reprodutibilidade da seqüência gerada.
Portanto, previamente à execução da simulação, deve-se verificar se o
gerador de números aleatórios a ser usado satisfaz as propriedades
enunciadas acima, seja através de testes ou de referências que dêem suporte
à sua utilização.
Método de amostragem
Monte Carlo: seleciona valores aleatoriamente de forma independente
de acordo com a distribuição de probabilidade definida. Em outras palavras, o
número aleatório utilizado em uma rodada não influencia os próximos números
aleatórios a serem utilizados.
Hipercubo Latino: seleciona valores aleatoriamente de forma
dependente. Tal método divide a distribuição em intervalos com probabilidades
iguais de sorteio e seleciona um valor aleatório pertencente a cada um dos
intervalos.
De acordo com Vose (2000), o método do Hipercubo Latino é mais
preciso para a reprodução das distribuições de probabilidade escolhidas para
as variáveis de entrada e, conseqüentemente, para o cálculo de estatísticas
geradas pela simulação, uma vez que o intervalo da distribuição é utilizado de
maneira mais equânime e consistente.
Desse modo, seu uso torna-se recomendado quando a preocupação
principal está na acurácia das estatísticas da simulação. De forma alternativa,
quando o objetivo principal for a geração de uma diversidade de cenários
independentes, então o método de Monte Carlo torna-se, por definição, mais
adequado. Adicionalmente, o padrão de aleatoriedade propiciado por esse
método pode ser conveniente para os casos em que as distribuições das
variáveis de entrada são definidas sem a utilização de dados históricos
As etapas do processo de simulação
1) desenvolvimento conceitual do modelo do sistema ou do problema a
ser estudado.
2) construção do modelo de simulação: inclui o desenvolvimento de
fórmulas e equações apropriadas, a coleta de dados necessários, a
determinação das distribuições de probabilidades associadas às variáveis de
entrada e, finalmente, a construção ou definição de uma forma para registrar os
dados.
3) verificação e validação do modelo: a verificação se refere ao processo
de conferir se o modelo está livre de erros de lógica, ou seja, se o modelo faz
aquilo que deveria fazer. Já a validação tem por objetivo avaliar se o modelo
construído é uma representação razoavelmente crível do sistema ou problema
estudado.
4) desenho de experimentos com a utilização do modelo: tal etapa
envolve a determinação de questões a serem respondidas pelo modelo com o
intuito de auxiliar o decisor a alcançar o seu objetivo.
5) realização dos experimentos e análise dos resultados: finalmente,
nessa última etapa, com base no desenho de experimento feito, as simulações
são realizadas para que se obtenha o conjunto de informações especificado,
que pode ser transmitido aos tomadores de decisão em forma de relatórios pré-
definidos em conjunto com os mesmos.