You are on page 1of 10

UNIVERSIDAD CARLOS III DE MADRID Ingeniera Informtica Investigacin Operativa Prctica 6: Simulacin Guin prctico: Generacin de Nmeros Aleatorios

y Simulacin Monte Carlo Curso 08/09

Objetivo: Aprender a utilizar herramientas de simulacion en Excel para resolver problemas con incertidumbre.
La mayoria de las decisiones que tomamos en nuestra vida involucran incertidumbre. Tomar en cuenta la probabilidad de los posibles escenarios es fundamental si deseamos maximizar un benecio o minimizar una prdida en cualquiera de nuestras actividades cotidianas. A gran escala, muchas compaias utilizan simulacin Monte Carlo para mejorar sus ganacias u optimizar sus procesos. Por ejemplo, General Motors, Procter and Gamble y Elly Lilly usan simulacin para estimar el retorno promedio y el riesgo de lanzar un nuevo producto al mercado, as como para determinar la capacidad ptima de las plantas que utilizan para fabricar sus diferentes productos. Excel es una poderosa herramienta de simulacin y anlisis que permite resolver una gran cantidad de problemas, incluyendo aquellos que involucran incertidumbre. En esta prctica aprenderemos a utilizar algunas de las funciones de Excel para el tratamiento de este tipo de problemas. Para realizar la prctica haremos uso del chero practica6.xls que se puede descargar de la pgina web de la asignatura o desde aula global.

Parte 1: Cmo generar nmeros aleatorios en excel?


En esta seccin de la prctica vamos a aprender a generar nmeros aleatorios que se distribuyen uniformemente entre 0 y 1, es decir, la probabilidad de obtener cualquier nmero entre 0 y 1 ser la misma en cada momento Excel genera esta tipo de nmeros a travs del comando ALEATORIO(). Para aprender a utilizar esta funcin utilizaremos la hoja de trabajo "simula1". El objetivo es generar 100 nmeros aleatorios y determinar la fraccin de esos nmeros que estan entre 0 y 0.25, 0.25 y 50, 0.50 y 0.75 y, nalmente, entre 0.75 y 1.0. 1

Figura 1

Para ello se deber generar un escenario similar al de la gura 1. En esta hoja rellenamos el conjunto de celdas C3:C102 con la formula ALEATORIO(). En la columna F aparecen las etiquetas correspondientes a los intervalos de inters, del lado derecho, para la celda F5, por ejemplo, emplearemos la funcin CONTAR.SI(C3:C102;"<=0.25), lo que nos proporciona la cantidad de elementos entre 0 y 0.25; repetimos esta misma operacin para las celdas F6 a F8 teniendo en cuenta en descontar los elementos ya contabilizados en el primer intervalo.

Parte 2: Cmo simular valores de una variable aleatoria discreta?


Supongamos que la demanda de cierto tipo de producto esta dada por una variable aleatoria discreta de acuerdo a la siguiente tabla:
Demanda 10000 20000 40000 60000 Probabilidad 0,10 0,35 0,30 0,25

Tabla1

La cuestin es como simular en excel la demanda de este producto las veces que sea necesario para corroborar que sigue dicha dsitribucin de probabilidades. En la primera parte de esta prctica aprendimos a generar nmeros aleatorios con la propiedad de que su probabilidad se distribuye uniformemente entre el 0 y el 1, por lo tanto, si aprovechamos esta propiedad y asociamos cada posible valor de probabilidad con una demanda, entonces la respuesta llega de manera natural. As por ejemplo, en la siguiente tabla se especica que la demanda de 10000 unidades de producto ocurrira el 10 % de las veces y as para cada valor de demanda indicado en la tabla 1. Demanda 10,000 20,000 40,000 60,000 Nmero aleatorio x<0.1 0.1 x < 0;45 0;45 x < 0;75 0;75 x

Tabla2

Para dar comienzo a esta simulacin es necesario abrir la hoja "simula2", en este ejercicio se deber generar un escenario parecido al que se muestra en la gura 2. Tal y como en simula1, generamos 100 numeros aleatorios en el conjunto de celdas C3:C102, posteriormente, al lado izquierdo de esta columna, generaremos otra columna con la demanda correspondiente acorde al valor del nmero aleatorio generado. As por ejemplo, nmeros aleatorios mayores o iguales que 0 y menores que 0.1, tendrn asociada una demanda de 10,000. Para asociar la demanda correspondiente a cada nmero utilizaremos la funcin de excel BUSCARV(), por lo tanto generaremos 100 ensayos o repeticiones de la demanda del producto copiando de la celda B3 al rango de celdas B4:B102 la frmula BUSCARV(C3;lookup;2). Finalmente, en el rango de celdas G9:G11 utilizaremos de nuevo la funcin CONTAR.SI() para determinar la cantidad de elementos (nmeros aleatorios) que caen en la categora de inters y a los que se asignar el valor discreto de la variable demanda.

Parte 3: Cmo simular valores de una variable aleatoria que se distribuye como una normal?
La distribucin normal es una de las ms importantes distribuciones de probabilidad por sus aplicaciones prcticas. Excel permite simular valores de una distribucin normal con media y desviacin estandar ; a travs de la funcin DISTR.NORM.INV(ALEATORIO();mean;sigma). En este ejercicio se har uso de la hoja "simula3". Supongamos que deseamos simular 200 ensayos de una variable aleatoria normal con media 40,000 y desviacin estandar de 10,000, para ello generamos 200 nmeros aleatorios, por ejemplo en el rango de celdas C3:C200. Recuerda que estos numeros siguen una istribucin uniforme en el intervalo [0,1] y que son generados a travs de la funcin ALEATORIO(). Ahora copiamos de la celda B3 al rango de celdas B4:B200 la frmula

Figura2

Figura3

DISTR.NORM.INV(C3;mean;sigma), con este procedimiento generamos una columna de valores (200 ensayos) de una variale aleatoria normal con las caractersticas deseadas. La funcin de excel genera un nmero aleatorio con distribcin normal, tal que la probabilidad de obtener dicho valor corresponda al valor de nuestro nmero aleatorio uniforme, en otras palabras, si tenemos un nmero aleatorio uniforme, digamos 0.8466, este nmero representa el percentil 85 de una variable aleatoria normal con media 40,000 y desviacin estandar 10,000. El escenario que debe obtenerse es similar al de la gura 3.

Parte 4: Optimizacin bajo incertidumbre


Supon que eres el encargado de produccin en una compaia que se dedica a producir tarjetas para el dia de San Valentn. Debido a la crisis el dueo de la empresa desea producir las tarjetas tomando en cuenta la incertidumbre en el mercado de ventas, de tal forma que sus ganancias no se vean afectadas por este factor. Para ello te proporciona la siguiente tabla (tabla 3) con informacin de la demanda del producto.

Tabla 3

Demanda 10000 20000 40000 60000

Probabilidad 0,10 0,35 0,30 0,25

Con dicha informacin el dueo te encarga la tarea de averiguar la cantidad de tarjetas que deben ser producidas para el prximo San valentn. En otras palabras, Cuntas tarjetas hay que producir para que la ganancia esperada sea mxima?. Para resolver el problema lo primero que se debe tener en cuenta es que, de acuerdo a la tabla 3, la demanda se comporta como una variable aleatoria discreta, el resto ser utilizar adecuadamente Excel y utilizar lo aprendido hasta ahora para encontrar la respuesta. Como datos adicionales se sabe que el precio de venta de cada tarjeta es de 4 euros y el costo por producir cada una de ellas es de 1.50 euros. Adems, se sabe que el costo por cada tarjeta que no se venda es de 0.20 euros, a este costo le llamaremos costo por inventario. La idea bsica para resolver este problema es simular el escenario para cada valor de demanda (10,000, 20,000, 40,000 y 60,000) un determinado nmero de veces. De esta manera podremos determinar el escenario de produccin que nos permita obtener en el mximo valor promedio de ganancia. Este ejercicio de simulacin se llevar a cabo en la hoja "simula 4". Vamos a generar una hoja de clculo similar a la de la gura 4, para ello colocamos las etiquetas correspondientes a las variables del problema en el rango de celdas B1:B11 y los valores correspondientes en el rango C1:C11. En el rango de celdas G3:G6 aparece el lmite inferior del valor de probabilidad para cada valor de la demanda. El precio de venta y los parmetros de costo pueden ser introducidos en el rango de celdas C4:C6. Ahora introducimos un valor de produccin de 40,000 en la celda C1 como primer ensayo. Posteriormente en la celda C2 generamos un nmero aleatorio uniforme con ayuda de la funcin ALEATORIO() y simulamos, en la celda C3, el valor de la demanda correspondiente a travs de la frmula BUSCARV(C2;lookup;2). Note que el nmero de unidades vendidas es la mnima cantidad entre la cantidad de tarjetas producidas y la demanda. As, los ingresos por venta estn calculads en la celda C8 con la frmula MIN(produccin, demanda), donde produccin y demanda son los nombres asignados a las celdas C1 y C3, respectivamente. Por otro lado, si se producen ms tarjetas de las que se demandan, el nmero de unidades sobrantes ( inventario) ser la diferencia entre produccin menos demanda. La expresin unidad_disp_cost*SI(produccion>demanda;produccindemanda;0) se utilizar para calcular el costo total por tarjetas sobrantes, dicha expresin se introduce en la celda C10. Finalmente, en la celda C11,

Figura 4

el benecio total o ganancia es calculado con la frmula ingresos_totalescosto_total-costo_inventario.

Hasta ahora, con lo que hemos aprendido, necesitariamos oprimir F9 muchas veces (digamos 100 para este ejercicio) para cada escenario de produccin y calcular la ganancia esperada, sin embargo, utilizaremos una tabla de anlisis como la mostrada en la gura 5 para ahorrarnos todo ese trabajo.

Para generar la tabla de anlisis, en el rango de celdas A16:A115 introducimos los nmeros de 1 a 100, correspondientes a nuestros 100 ensayos o experimentos. Luego, en el rango de celdas B15:E15 introducimos los posibles escenarios de produccin. Lo que deseamos es calcular la ganacia neta promedio para cada ensayo y para cada escenario de produccin, para ello copiamos el contenido de la celda C11 en la celda A15. A continuacin seleccionamos el rango de celdas (tabla) A15:E114 y pinchamos el comando Datos para seleccionar tabla del men de opciones correspondiente. Aparecer una tabla de 2 7

Figura 5

Figura 6

entradas como en la gura 6, en ella seleccionamos cualquier celda en blanco (digamos I14) como celda de entrada (columna) y la celda C1 como celda de entrada (la). Una vez hecho esto, pinchamos OK y automticamente Excel genera las 100 simulaciones para cada escenario de produccin.

Ahora introducimos en la celda B13 la frmula PROMEDIO(B16:B116) y la copiamos sobre el rango de celdas C13:E13, con esta operacin se han calculado las ganancias promedio para cada escenario de produccin. Si repetimos el mismo mecanismo, pero ahora utilizando la frmula DESVEST(), obtendremos la desviacin estandar correspondiente a la ganancia obtenida en la simulacin. Si pinchamos F9, se calculan de manera automtica 100 iteraciones (o las iteraciones que nosotros jemos) para cada nivel de produccin. Observa que producir 40,000 tarjetas es la mejor decisin que podra tomarse, pues nos reporta ganancia esperada, as que ya sabes que responder al jefe. Con los valores de la media y de la desviacin estandar obtenidos en las simulaciones, es posible calcular intervalos de conanza para la ganancia promedio. Por ejemplo, un intervalo de conanza al 95 % para la ganancia promedio, para 9

un determinado nmero de simulaciones, puede ser calculado con la siguiente expresin:


p media= 1;96ND:S S

D.S = Desviacin estandar NS = Nmero de simulaciones

Cuestionario
1. Supon que su jefe es algo despistado en probabilidades y desea saber con exactitud la ganancia para la proxima temporada de San valentn. Qu le responderan ustedes?. (Generar la respuesta en simula 4) 2. Un pequeo supermercado est tratando de determinar cuntas copias de una revista de computacin deben ser pedidas al distribuidor cada semana. Se tiene conocimiento que la demanda de la revista esta governada por la variable aleatoria discreta de acuerdo a la siguiente tabla: Demanda Probabilidad 15 0.1 20 0.20 25 0.30 30 0.25 35 0.15 Como informacin adicional se tiene que el supermercado paga 1 euro por cada copia de la revista y lo venden a un precio de 1.95 euros. Adems, ellos pueden retornar cada revista que nos se vende a un precio de 0.50 euros. Cuntas copias de la revista deben ser adquiridas para maximizar la ganancia promedio?. Nota: Esta prctica esta basada en el libro Microsoft Excel Data Analysis and Busines Modeling by Wayne L. Winston.

10

You might also like