Metodo Montecarlo. .

35
ING. SISTEMAS E INFORMATICA INVESTIGACION OPERATIVA II METODO MONTECARLO Alumno: Edwin Vasquez Villanueva CICLO: VI

description

OS LES SIRVA

Transcript of Metodo Montecarlo. .

Page 1: Metodo Montecarlo. .

ING. SISTEMAS E INFORMATICA

 

 

INVESTIGACION OPERATIVA II

METODO MONTECARLO

 

 

Alumno:

 

Edwin  Vasquez  Villanueva

 

 

 

 

 

CICLO:

 

VI

Page 2: Metodo Montecarlo. .

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.

Page 3: Metodo Montecarlo. .

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.

Page 4: Metodo Montecarlo. .

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

Page 5: Metodo Montecarlo. .

Diagrama de flujo del modelo de simulación

NO

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

Page 6: Metodo Montecarlo. .

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,...

Page 7: Metodo Montecarlo. .

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.

Page 8: Metodo Montecarlo. .

▪ 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.

Page 9: Metodo Montecarlo. .

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

Page 10: Metodo Montecarlo. .

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)

Page 11: Metodo Montecarlo. .

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:

Page 12: Metodo Montecarlo. .

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.

Page 13: Metodo Montecarlo. .

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

Page 14: Metodo Montecarlo. .

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

Page 15: Metodo Montecarlo. .

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

Page 16: Metodo Montecarlo. .

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

Page 17: Metodo Montecarlo. .

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

Page 18: Metodo Montecarlo. .

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

Page 19: Metodo Montecarlo. .

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,

Page 20: Metodo Montecarlo. .

15

-10000, 0, 10000, 20000, 30000)

Page 21: Metodo Montecarlo. .

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

Page 22: Metodo Montecarlo. .

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.

Page 23: Metodo Montecarlo. .

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

Page 24: Metodo Montecarlo. .

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.

Page 25: Metodo Montecarlo. .

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.

Page 26: Metodo Montecarlo. .

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.

Page 27: Metodo Montecarlo. .

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.

Page 28: Metodo Montecarlo. .

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