viernes, 11 de noviembre de 2011

Nombre Original

Curiosamente, en la actualidad se utilizan cada vez mas, nombres alusivos a lugares o personas para bautizar objetos, acontecimientos y hasta procesos matemáticos.
Hoy hablaremos de la simulación por Monte Carlo, cuyo peculiar nombre guarda una relación directa con un casino. La estrecha relación que guarda este tipo de simulación con el casino, hace referencia al uso del azar en ambos contextos, pues Monte Carlo hace un uso intenso de los números pseudo-aleatorios.


Algunas huellas que ha dejado este tipo de simulación a lo largo de la historia, es su uso durante la segunda guerra mundial y su utilización para la visualización de la aleatoriedad en la fusion de neutrones.

Útil o no?

La simulación por Monte Carlo nos permite determinar comportamientos y resolver problemas complejos que tal vez una ecuación matemática sencilla no podría:
Podrías estudiar de forma analítica y por simple observación como se comportan los neutrones durante una explosión nuclear o atómica? Por supuesto que no, Monte Carlo nos acerca a esa posibilidad.
Otras utilidades a mencionar son: aplicaciones de colas, movimiento de líquidos a través de sólidos, y otras tales como:



Simulación de unos sistemas de colas. Con la técnica de simulación es posible estudiar y analizar sistemas de colas cuya representación matemática sería demasiado complicada de analizar. Ejemplos de estos sistemas serían aquellos donde es posible la llegada al sistema en grupo, la salida de la cola del sistema, el rehusar entrar al sistema cuando la cola es excesivamente grande, etc.
Simulación de sistemas de inventarios. A través de simulación se puede analizar más fácilmente sistemas de inventarios donde todos sus parámetros (tiempo de entrega, demanda, costo de llevar inventario, etc.), son estocásticos.

Simulación de un proyecto de inversión. Existen en la práctica una gran cantidad de proyectos de inversión donde la incertidumbre con respecto a los flujos de efectivo que el proyecto genera a las tasas de interés, a las tasas e inflación, etc., hacen difícil y a veces imposible manejar analíticamente este tipo de problemas. Para este tipo de situaciones el uso de simulación es ampliamente recomendado.

Simulación de sistemas económicos. La técnica de simulación puede ser utilizada para evaluar el efecto de cierto tipo de decisiones (devaluación de la moneda, el impuesto al valor agregado, etc.), en las demás variables macroeconómicas como: producto nacional bruto, balanza comercial, inflación, oferta monetaria, circulante, etc.

Simulación de estados financieros. La expansión y diversificación de una organización a través de la adquisición y establecimiento de nuevas empresas, repercuten significativamente en su posición y estructura financiera. Por consiguiente, el uso de simulación permite analizar cuál de las estrategias de crecimiento son las que llevaran a la organización al logro de sus objetivos y metas de corto, mediano y largo plazo.

Simulación de juegos de azar. Se pueden hacer predicciones sobre los resultados de un juego en particular, por ejemplo mélate, tris, etc. donde las variables involucradas son estocásticas. 

Como lo uso?

Vamos a describir a groso modo, el procedimiento a realizar para utilizar este tipo de proceso:
1. Lo primero que debemos hacer es recolectar todos los datos, esto incluye cualquier tipo de números que puedan sernos útiles.
2. Con estos números recolectados, se producirán tablas y arreglos que nos permitan trabajar mas cómodamente y aplicar ciertos métodos para definir posibles distribuciones de probabilidad.
3. Debemos definir cuales son las variables de mayor importancia para nosotros, pues las usaremos para realizar  cálculos. Generalmente estas variables son los tiempos de llegadas(para problemas de colas), tiempo de atención entre otras.
4. Determinar la variable de decisión, esta variable es aquella que va a responder a nuestra interrogante, para el aso de una bomba atómica, podrían ser los neutrones de la reacción nuclear.
5. Algunas veces se está simulando procesos que en la vida real puede tomar milésimas de segundo o inclusive, cientos de años. Para resolver esto, definimos como va a funcionar nuestro reloj de simulación.
6. En el paso 3 ya hemos definido nuestras variables de importancia, pero son inútiles si no podemos categorizarlas según su valor y comportamiento. De que nos sirve saber que el precio de una camiseta si no podemos definir si el precio es ALTO, REGULAR o BAJO...
Para resolver esto, creamos "categorías" o "intervalos" para categorizar nuestras variables, ¿como lo hacemos? Por medio de un complejo proceso llamado transformada inversa.
7. Se generan números pseudo-aleatorios que determinan como se comportarán las variables definidas en el paso #3 y en que intervalo quedan colocadas basado en los intervalos del paso #6.
Para generar números pseudo-aleatorios, se utilizan varios métodos explicados aquí.
8. Finalmente se genera una tabla que muestre los valores tratados en los apartados anteriores, y así facilitar su analisis y funcionamiento.

En resumen, tenemos lo siguiente:



METODOLOGÍA DEL PROCESO DE SIMULACIÓN.
PLANIFICAR UN PROCESO DE SIMULACIÓN REQUIERE DE LOS SIGUIENTES PASOS:
A) FORMULACIÓN DEL PROBLEMA.
B) RECOLLECCIÓN Y PROCESAMIENTO DE LA INFORMACIÓN REQUERIDA.
C) FORMULACIÓN DEL MODELO MATEMATICO.
D) EVALUACIÓN DE LAS CARACTERISTICAS DE LA INFORMACIÓN PROCESADA.
E) FORMULACIÓN DE UN PROGRAMA DE COMPUTADORA.
F) VALIDACIÓN DEL PROGRAMA DE COMPUTADORA.
G) DISEÑO DE EXPERIMENTOS DE SIMULACIÓN.
H) ANALISIS DE RESULTADOS Y VALIDACIÓN DE LA SIMULACIÓN.

Para formular un problema se necesita la siguiente información:
  ¿Existe un problema?
  ¿De quién es el problema?
  ¿Cual es el marco de referencia del sistema donde se encuentra el problema?
  ¿Quien o quienes toman las decisiones?
  ¿Cuáles son sus objetivos?
  ¿Cuales son los componentes controlables del sistema y cuáles no lo son?
  ¿Cuales son las interrelaciones más importantes del sistema?
  ¿Cómo se emplearan los resultados del proyecto? ¿Por quién? ¿Qué efectos tendrá?
  ¿Las soluciones tendrán efecto a corto o largo plazo?
  ¿Podrán los efectos de las soluciones modificarse o cambiarse fácilmente?
  ¿Cuantos elementos del sistema se afectaran por las soluciones del proyecto? ¿En qué grado?



No parece tan complejo, verdad? Dejanos tu comentario

Conociendo mas a fondo

La simulación de Monte Carlo es una técnica cuantitativa que hace uso de la estadística y los ordenadores para imitar, mediante modelos matemáticos, el comportamiento aleatorio de sistemas reales no dinámicos (por lo general, cuando se trata de sistemas cuyo estado va cambiando con el paso del tiempo, se recurre bien a la simulación de eventos discretos o bien a la simulación de sistemas continuos).

Modelo de flujo de Monte Carlo


En general, el método Montecarlo es una solución a los problemas probabilísticos que se tenían. Por ello, usando números aleatorios se quería obtener una  solución próxima de cierto problema, pero se ha demostrado que este método es bastante efectivo. 


Mas claro que el agua?...Un buen ejemplo!

Tenemos la siguiente distribución de probabilidades para una demanda aleatoria y queremos ver qué sucede con el promedio de la demanda en varias iteraciones


Utilizando la distribución acumulada (F(x) es la probabilidad que la variable aleatoria tome valores menores o iguales a x) podemos determinar cuál es el valor obtenido de unidades cuando se genera un número aleatorio a partir de una distribución continua uniforme. Este método de generación de variable aleatoria se llama Transformación Inversa.


Generando los valores aleatorios vamos a ver como se obtiene el valor de la demanda para cada día, interesándonos en este caso como es el orden de aparición de los valores. Se busca el número aleatorio generado en la tabla de probabilidades acumuladas, una vez encontrado (si no es el valor exacto, éste debe ser menor que el de la fila seleccionada pero mayor que el de la fila anterior), de esa fila tomada como solución se toma el valor de las unidades (Cuando trabajamos en Excel debemos tomar el límite inferior del intervalo para busca en las acumuladas, para poder emplear la función BUSCARV (), para 42 sería 0, para 43 0,100001 y así sucesivamente). Ejemplo: Supongamos que el número aleatorio generado sea 0,52, ¿a qué valor de unidades corresponde? Nos fijamos en la columna de frecuencias acumuladas, ese valor exacto no aparece, el siguiente mayor es 0,70 y corresponde a 48 unidades.


Se puede apreciar mejor en el gráfico, trazando una recta desde el eje de la frecuencia hasta que interseca con la línea de la función acumulada, luego se baja a la coordenada de unidades y se obtiene el valor correspondiente; en este caso 48.
Cuando trabajamos con variables discretas la función acumulada tiene un intervalo o salto para cada variable (para casos prácticos hay que definir los intervalos y luego con una función de búsqueda hallar el valor). Para funciones continuas se puede hallar la inversa  de la función acumulada.
De esta forma logramos a partir de la distribución de densidad calcular los valores de la variable aleatoria dada.


En la siguiente tabla, vemos como a medida que aumenta el número de simulaciones, el valor simulado se acerca al valor original de la media y desviación estándar, además de la disminución del error típico.











@RISK un software que utiliza la Simulación de Monte Carlo.

@RISK es un software dedicado al análisis de riesgo utilizando la Simulación de Monte Carlo, el cuál muestra en su hoja de Excel posibles resultados y lo factibles que pueden ser estos en cada simulación. Esto nos ayuda a evaluar cuáles riesgos pueden o no tomarse en cuenta para nuestro sistema a analizar. Con @RISK podemos calcular la probabilidad o posibilidades de perder dinero, materiales, en un proyecto o sistema.


Este proyecto nace con la intención de informar y guiar al lector a través del método de Monte Carlo, pero principalmente nace como iniciativa de los estudiantes de la Universidad Tecnológica de Panamá.


Se han utilizado diversas fuentes de información:


4. Ensayo: Simulación, ¿Nos vamos a Monte Carlo?
    Autor: María Jesus Vázques Gallo
8.