Metodo Montecarlo. .
-
Upload
edwin-vasquez -
Category
Documents
-
view
273 -
download
1
description
Transcript of Metodo Montecarlo. .
ING. SISTEMAS E INFORMATICA
INVESTIGACION OPERATIVA II
METODO MONTECARLO
Alumno:
Edwin Vasquez Villanueva
CICLO:
VI
Introducción
La invención del método de Monte Carlo se asigna a Stan Ulam y a John von
Neumann. Ulam ha explicado cómo se le ocurrió la idea mientras jugaba un solitario
durante una enfermedad en 1946.
El método de Monte Carlo es un método no determinístico o estadístico numérico
usado para aproximar expresiones matemáticas complejas y costosas de evaluar
con exactitud. El método se llamó así en referencia al Casino de Montecarlo
(Principado de Mónaco) por ser “la capital del juego de azar”, al ser la ruleta un
generador simple de números aleatorios.
El uso de los métodos de Monte Carlo como herramienta de investigación, proviene
del trabajo realizado en el desarrollo de la bomba atómica durante la segunda
guerra mundial en el Laboratorio Nacional de Los Álamos en EUA.
S I M U L A C I Ó N
M É T O D O M O N T E C A R L O
Simulación : es el proceso de diseñar y desarrollar un modelo
computarizado de un sistema o proceso y conducir experimentos con
este modelo con el propósito de entender el comportamiento del
sistema o evaluar varias estrategias con las cuales se puede operar el
sistema (Shannon Robert)
Modelo de simulación : conjunto de hipótesis acerca del funcionamiento del
sistema expresado como relaciones matemáticas y/o lógicas entre los
elementos del sistema.
Proceso de simulación : ejecución del modelo a través del tiempo en un
ordenador para generar muestras representativas del comportamiento.
Métodos de simulación
Simulación estadística o Monte Carlo: Está basada en el muestreo
sistemático de variables aleatorias.
Simulación continua: Los estados del sistema cambian continuamente
su valor. Estas simulaciones se modelan generalmente con ecuaciones
diferenciales.
Simulación por eventos discretos: Se define el modelo cuyo
comportamiento varía en instantes del tiempo dados. Los momentos en
los que se producen los cambios son los que se identifican como los
eventos del sistema o simulación.
Simulación por autómatas celulares: Se aplica a casos complejos, en
los que se divide al comportamiento del sistema en subsistemas más
pequeños denominadas células. El resultado de la simulación está
dado por la interacción de las diversas células.
Etapas del proceso de simulación
o Definición, descripción del problema. Plan.
o Formulación del modelo.
o Programación .
o Verificaciçon y Validación del modelo.
o Diseño de experimentos y plan de corridas.
o Análisis de resultados
Diagrama de flujo del modelo de simulación
NO
SÍ
Documentar y Poner en práctica
NO
SÍSI
NO
Está completa?
Diseñar el experimento
Está verificada?Está validada?
Programar el modelo
Reunir datos y elaborar el modelo
Lenguajes de simulación
Simulación Continua: 1130/CSMP, 360 CSMP y DYNAMO,
MISTRAL
Simulación a Eventos Discretos: GPSS, SIMSCRIPT,
SDL/SIM.
Para casos simples podemos recurrir a la utilización de
planillas de cálculo.
También podemos implementar aplicaciones en los
lenguajes Fortran, C++, Java, Dephi,...
Números aleatorios
Deben tener igual probabilidad de salir elegidos.
No debe existir correlación serial
Se generan por tablas (Rand 1955), o por dispositivos
especiales: ruleta. En la práctica se utilizan algoritmos y se
generan números pseudo aleatorios.
Números Pseudo aleatorios
Sustituyen a los números aleatorios.
Se generan por algoritmos o fórmulas.
Se debe asegurar la existencia de secuencias largas y
densas.
Generación de Números Pseudo aleatorios
Centros Cuadrados:
¿Por qué Simulación en Investigación Operativa?
Los responsables de la toma de decisiones necesitan información cuantificable, sobre diferentes hechos que puedan ocurrir.
La simulación constituye una técnica económica que nos permite ofrecer varios escenarios posibles de un modelo del negocio, nos permite equivocarnos sin provocar efectos sobre el mundo real.
Podemos afirmar entonces,que la simulación es una rama experimentaldentro de la Investigación Operativa.
▪ 442 = 1936 ⇒ 93
Métodos Congruenciales:
xn =(axn-1 + c) (mod m
Transformación Inversa
x=F-1(x) siendo F(x)=Prob(X<=x)
S I M ULA CI ÓN M ONT E CA RL O
Los métodos de Monte Carlo abarcan una colección de técnicas que permiten obtener soluciones de problemas matemáticos o físicos por medio de pruebas aleatorias repetidas. En la práctica, las pruebas aleatorias se sustituyen por resultados de ciertos cálculos realizados con números aleatorios.
Los métodos de Monte Carlo abarcan una colección de técnicas que permiten obtener soluciones de problemas matemáticos o físicos por medio de pruebas aleatorias repetidas. En la práctica, las pruebas aleatorias se sustituyen por resultados de ciertos cálculos realizados con números aleatorios.
Los métodos de Monte Carlo abarcan una colección de técnicas que permiten obtener soluciones de problemas matemáticos o físicos por medio de pruebas aleatorias repetidas. En la práctica, las pruebas aleatorias se sustituyen por resultados de ciertos cálculos realizados con números aleatorios.
Los métodos de Monte Carlo abarcan una colección de técnicas que permiten obtener soluciones de problemas matemáticos o físicos por medio de pruebas aleatorias repetidas. En la práctica, las pruebas aleatorias se sustituyen por resultados de ciertos cálculos realizados con números aleatorios.
Los métodos de Monte Carlo abarcan una colección de técnicas que permiten obtener soluciones de problemas matemáticos o físicos por medio de pruebas aleatorias repetidas. En la práctica, las pruebas aleatorias se sustituyen por resultados de ciertos cálculos realizados con números aleatorios.
Los métodos de Monte Carlo abarcan una colección de técnicas que permiten obtener soluciones de problemas matemáticos o físicos por medio de pruebas aleatorias repetidas. En la práctica, las pruebas aleatorias se sustituyen por resultados de ciertos cálculos realizados con números aleatorios.
4
HI S T ORI A
o El método fue llamado así por el principado de Mónaco por ser
``la capital del juego de azar'', al tomar una ruleta como un
generador simple de números aleatorios. El nombre y el
desarrollo sistemático de los métodos de Monte Carlo datan
aproximadamente de 1944 con el desarrollo de la computadora.
Sin embargo hay varias instancias (aisladas y no desarrolladas)
en muchas ocasiones anteriores a 1944.
o El uso real de los métodos de Monte Carlo como una
herramienta de investigación, proviene del trabajo de la bomba
atómica durante la Segunda Guerra Mundial. Este trabajo
involucraba la simulación directa de problemas probabilísticos de
hidrodinámica concernientes a la difusión de neutrones
aleatorios en material de fusión.
o Aún en la primera etapa de estas investigaciones, John von
Neumann y Stanislao Ulam refinaron esta curiosa ``Ruleta rusa''
y los métodos``de división''. Sin embargo, el desarrollo
sistemático de estas ideas tuvo que esperar el trabajo de Harris
y Herman Kahn en 1948. Aproximadamente en el mismo año,
Fermi, Metropolos y Ulam obtuvieron estimadores para los
valores característicos de la ecuación de Schrödinger para la
captura de neutrones a nivel nuclear.
o Alrededor de 1970, los desarrollos teóricos en complejidad
computacional comienzan a proveer mayor precisión y relación
para el empleo del método Monte Carlo. La teoría identifica una
clase de problemas para los cuales el tiempo necesario para
evaluar la solución exacta al problema crece con la clase, al
menos exponencialmente con M. La cuestión a ser resuelta era
5
si MC pudiese o no estimar la solución al problema de tipo
intratable con una adecuación estadística acotada a una
complejidad temporal polinomial en M. Karp(1985)
6
muestra esta propiedad para estimar en una red plana multiterminal
con arcos fallidos aleatorios. Dyer(1989) utiliza MC para estimar el
volumen de un convex body en el espacio Euclidiano M-dimensional.
Broder(1986), Jerrum y Sinclair (1988) establecen la propiedad para
estimar la persistencia de una matriz o en forma equivalente, el número
de matching perfectos en un grafo bipartito.
AL GOR I T MOS
o El algoritmo de Simulación Monte Carlo Crudo o Puro está
fundamentado en la generación de números aleatorios por el
método de Transformación Inversa, el cual se basa en las
distribuciones acumuladas de frecuencias:
Determinar la/s V.A. y sus distribuciones
acumuladas(F)
Generar un número aleatorio
uniforme (0,1).
Determinar el valor de la V.A. para el número
aleatorio generado de acuerdo a las clases
que tengamos.
Iterar tantas
veces como
muestras
necesitamos
Calcular media, desviación estándar error y realizar el histograma.
Analizar resultados para distintos tamaños de muestra.
o Otra opción para trabajar con Monte Carlo, cuando la variable
aleatoria no es directamente el resultado de la simulación o
tenemos relaciones entre variables es la siguiente:
7
Diseñar el modelo lógico de decisión
Especificar distribuciones de probabilidad para las variables
aleatorias relevantes.
Incluir posibles dependencias entre variables.
Muestrear valores de las variables aleatorias.
Calcular el resultado del modelo según los valores del muestreo
(iteración) y registrar el resultado
Repetir el proceso hasta tener una muestra estadísticamente
representativa
Obtener la distribución de frecuencias del resultado de las iteraciones
Calcular media, desvío.
Analizar los resultados
o Las principales características a tener en cuenta para la
implementación o utilización del algoritmo son:
El sistema debe ser descripto por 1 o más funciones de
distribución de probabilidad (fdp)
Generador de números aleatorios: como se generan los números
aleatorios es importante para evitar que se produzca correlación entre
los valores muestrales.
8
Establecer límites y reglas de muestreo para las fdp: conocemos que
valores pueden adoptar las variables.
Definir Scoring: Cuando un valor aleatorio tiene o no sentido para el
modelo a simular.
Estimación Error: Con que error trabajamos, cuanto error podemos
aceptar para que una corrida sea válida?
Técnicas de reducción de varianza.
Paralelización y vectorización: En aplicaciones con muchas variables
se estudia trabajar con varios procesadores paralelos para realizar la
simulación.
EJ E MP L O P RAC TI C O I
o Tenemos la siguiente distribución de probabilidades para una
demanda aleatoria y queremos ver que sucede con el promedio
de la demanda en varias iteraciones:
42 45 48 51 54
Unidades
0.100.100.200.20
0.40
1.00
0.80
0.60
0.40
0.200.00
Demanda
Fre
cu
en
cia
9
o Utilizando la distribución acumulada(F(x) es la probabilidad que
la variable aleatoria tome valores menores o iguales a x)
podemos determinar cual 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.
U
ni
Fre
cue
Frecu
encia 42 0.1 0.10 45 0.2 0.30 48 0.4 0.70 51 0.2 0.90 54 0.1 1.00
o 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
10
encontrado( si no es el valor exacto, éste debe se 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
o 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 intersecta 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.
545148
Unidades
42 45
0.10
0.30
0.70
0.901.00
1.20
1.00
0.80
0.60
0
0.4,5
0 2
Demanda
Fre
cuen
cias
11
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.
o De esta forma logramos a partir de la distribución de densidad
calcular los valores de la variable aleatoria dada.
o En la siguiente tabla, vemos como a medida que aumenta el
numero 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.
Número de Simulación
Números aleatorios
Valor de la Demanda1 0.92 54
2 0.71 51
3 0.85 51
... ... ...n 0.46 48
Cantidad de simulaciones
Media
Desvío
Error
10 48.60 3.41 1.08 100 48.12 3.16 0.32
1000 47.87 3.28 0.10 10000 47.87 3.30 0.03
12
EJ E MP L O P RAC TI C O I I
o Analizaremos ahora una propuesta para la fabricación de un
nuevo artículo durante 4 años. Con los datos de la siguiente
tabla:
Costos de
puesta en
marcha
$ 150000 Costos
variable
s
75% de
los
ingresos
Precio de
Venta
$ 35000 Costos
del
10%
Costos fijos $ 15000 Tasa
Fiscal
34%Amortización
anual$ 10000 Demand
a
promedi
10
unidade
s
o La demanda es la variable aleatoria de nuestro modelo, ya que
puede tomar los siguientes valores: 8,9,10,11,12, es una
distribución discreta uniforme. Para poder simular los valores de
esta variable utilizaremos la fórmula
ENTERO(8+5*ALEATORIO()). Debido a que los intervalos son
todos de igual tamaño (1/5), es igualmente posible que
ALEATORIO() llegue a cada uno de ellos, y por lo tanto es
igualmente posible que la fórmula de cualquiera de los cinco
valores posibles. La función ALEATORIO() de Excel genera un
número en el intervalo (0:1) de una distribución uniforme
continua. A través de la simulación veremos que valores va a
tomar el valor neto actual (VNA, El VNA es calculado mediante
la formula
o n
13
correspondiente del Excel con un interés del
10% (VNA ∑
valoresi ).
En la
columna
i 1 ( 1 tasa )i
correspondiente al año 1 se han indicado las formulas que definen
cada valor) en los 4 años, utilizando el siguiente modelo matemático de
la situación:
A Año 1
Demanda ENTE
RO(8+ 9 9
Ingresos Precio
de
Costo Fijo Costo
fijo
Costo
Variable
75%
Ingres
Amortizació
n
10000
Utilidad
antes de
Ingres
os -
Impuestos 34 %
Utilidad
después de
Utilida
d -
Flujo neto
de efectivo
-
1
Utilida
d -
Valor Neto
Actual
-
2
1
1
6
0
14
o Ahora realizaremos varias corridas con diferentes tamaños de
muestra para ver que sucede con el VNA.
o Armamos en otra hoja un cuadro con dos columnas y tantas filas
como iteraciones(tamaño de la muestra) deseemos realizar. En
la columna VNA copiamos con pegado especial(fórmula) la celda
del modelo en la cual se calcula el VNA. Seleccionamos toda la
tabla y con la herramienta Tabla en Datos se forma una tabla
dinámica que contendrá las simulaciones para la cantidad de
iteraciones que hagamos.
o Luego para cada tamaño de muestra aplicaremos Estadística
descriptiva(En herramientas, Análisis de datos) e Histograma
(las clases que utilizamos son: -30000, -20000,
15
-10000, 0, 10000, 20000, 30000)
10
Ahora realizamos una
síntesis delas
simulaciones desarrolladas para poder
ver que
sucedió con
el modelo:
o El valor de la media y desviación estándar se estacionan a
medida que aumenta la cantidad de iteraciones. También, como
Clase
120.00%
100.00%
80.00%
60.00%
40.00%
20.00%
.00%50
53
2.52
1.51
0.
43.
4.5
Histograma para 10 iteraciones
Frecu encia
%acum ulado
Fre
cuen
cia
-30000
-20000
-10000
010000
20000
30000
40000
50000
y mayo
r...
Cantidad de Iteraciones
MediaDesviación Estándar
Máximo Mínimo Error
10 13253.55 18445.01 44294.82 -9711.94 5832.82100 13515.19 13395.87 44728.71 -14567.50 1339.59500 12686.22 13208.55 49067.55 -19817.50 590.70
1000 12147.81 12999.81 49067.55 -24156.34 411.095000 12612.65 13085.18 49067.55 -24156.34 185.05
10000 12537.13 12954.22 49067.55 -24156.34 129.54
10
podemos observar en el gráfico, disminuye notablemente el
error. También el modelo nos presenta mayor variabilidad para
los valores máximo y mínimo.
11
A P L I C A C I O N E S
Criptografía.
Cromo dinámica
cuántica.
Densidad y flujo de
tráfico.
Diseño de reactores
nucleares.
Diseño de VLSI.
Ecología.
Econometría.
Evolución estelar.
Física de materiales.
Métodos cuantitativos de
organización industrial.
Programas de computadora.
Pronóstico del índice de la bolsa.
Prospecciones en explotaciones
petrolíferas.
Radioterapia contra el cáncer.
Sistemas de colas.
Sistemas de inventario P y Q.
Valoración de cartera de valores.
S I N T E S I S
o El método de Monte Carlo es una herramienta de investigación y
planeamiento; básicamente es una técnica de muestreo artificial,
empleada para operar numéricamente sistemas complejos que
tengan componentes aleatorios o determinísticos, manteniendo
tanto
19
la entrada como la salida un cierto grado de incertidumbre. En
Investigación Operativa, Monte Carlo es utilizado con fines
experimentales, es decir se pueden elaborar distintos modelos e ir
intercambiando parámetros para estudiar cuales son los posibles
resultados.
o Cuando el tamaño de las muestras es relativamente reducido,
los resultados obtenidos
en la simulación pueden ser muy sensibles a las condiciones iniciales.
o Un área de investigación está constituida por los métodos Quasi-
Monte Carlo, estos métodos básicamente acotan la generación
de los números aleatorios.
No debemos confundir la simulación con un método de optimización, como por ejemplo el Simplex. En los métodos de Optimización las variables de decisión son las salidas de la técnica a las cuales buscamos calcular el/los valor/es óptimo/s, por el contrario en Monte Carlo u otro tipo de simulación dichas variables constituyen las entradas del mismo; el modelo simulado propuesto evalúa distintas alternativas para un conjunto particular de soluciones.
20
CONCLUSION
El método de Montecarlo fue creado por investigadores estadounidenses para
resolver problemas físicos y químicos en la realización de la bomba atómica para la
cual se empleó durante la Segunda Guerra Mundial. Después de esto el modelo fue
empleado para la resolución de múltiples problemas matemáticos con exitosos
resultados.
La importancia actual del método Montecarlo se basa en la existencia de problemas
que tienen difícil solución por métodos exclusivamente analíticos o numéricos, pero
que dependen de factores aleatorios o se pueden asociar a un modelo
probabilística artificial (resolución de integrales de muchas variables, minimización
de funciones, etc.).
Gracias al avance en diseño de los ordenadores, cálculos Montecarlo que en otro
tiempo hubieran sido inconcebibles, hoy en día se presentan como asequibles para
la resolución de ciertos problemas.
Este método es aplicable para cualquier tipo de problema ya sea determinístico o
estocásticos empleado en problemas complejos que solamente se pueden resolver
por programas de computadora, así como problemas simples que se resolverán a
mano sin tanta dificultad.
21
R E F E R E N C I A S
[1] A brief overview of what the Monte-Carlo
method is and does.
http://www.physics.gla.ac.uk/~donnelly/files/montecarlo/
[2] Arsham H. System Simulation:The
Shortest Route to Applications.
http://home.ubalt.edu/ntsbarsh/Business-stat/simulation/sim.htm.
[3] Barreto H. and Howland F. Introductory Econometrics via Monte
Carlo Simulation with Microsoft Excel.
http://www.wabash.edu/econometrics
[4] Bong D. Monte Carlo
Simulation.
http://www.visionengineer.com/mech/monte_carlo_simulation.shtml.
[5] Bustamante A. Evaluación de riesgos
mediante simulación Monte Carlo.
http://www.cema.edu.ar/~alebus/riesgo/MONTECARLO.PPT
[6] Deutsch, Leuangthong, Nguyen, Norrena, Ortiz, Oz, Pyrcz, and
Zanon. Principles of Monte Carlo Simulation.
http://www.ualberta.ca/~cdeutsch/MCS-course.htm
[7] Eppen G., Gould F., Schmidt C., Mootre J., y Weatetherford
L. Investigación de Operaciones en la Ciencia Administrativa. Editorial
Prentice Hall. 5° Edición. 2000.
22
[8] Hillier F, Lieberman G. Introducción a la Investigación de
Operaciones. McGraw-Hill Editores. 1997.
[9] Impact of Monte Carlo methods on scientific research.
http://www.csm.ornl.gov/ssi- expo/MChist.html
[10] Introduction to Monte Carlo Methods.
http://csep1.phy.ornl.gov/mc/mc.html
[11] Monte Carlo Simulation of Stochastic Processes. http://www.puc-
rio.br/marco.ind/sim_stoc_proc.html
[12] Padilla Shannon Ho. Monte Carlo
Method.
http://www.ccs.uky.edu/~douglas/Classes/cs521-01/montecarlo/MonteC
arloMethod2.ppt
[13] Quasi Monte Carlo Simulation.
http://www.puc-rio.br/marco.ind/quasi_mc.html
[14] Real options with Monte Carlo Simulations.
http://www.puc-rio.br/marco.ind/monte- carlo.html
[15] Silvestre, Moreno, Toscana y Luis. Curso de Simulación Monte
Carlo. III Encuentro Nacional de docentes de Investigación Operativa.
Facultad de Cs. Económicas. Universidad Nacional del Centro de la
Provincia de Buenos Aires. 1990
[16] Simulación. Introducción a la investigación de Operaciones.
Facultad de Ingeniería .
UDELAR.
http://www.fing.edu.uy/inco/cursos/io/archivos/teorico/simulacion.pdf
[17] Taha H. Investigación de Operaciones una introducción. Ed.
Prentice Hall. 6° edición. 1998.
23
[18] Técnicas de Monte Carlo.
http://mural.uv.es/juanama/astronomia/montecarlo.htm
[19] THE WWW VIRTUAL LIBRARY: RANDOM NUMBERS and
MONTE CARLO METHODS SUBSECTION: MONTE
CARLO METHODS.
http://random.mat.sbg.ac.at/links/monte.html
[20] Winston W. (2005) Investigación de Operaciones. Aplicaciones y
algoritmos. 4ta edición. International Thomson Editores.
[21] Woller J. Basics of Monte Carlo Simulations. Univ. of Nebraska-
Lincoln http://www.chem.unl.edu/zeng/joy/mclab/mcintro.html