Sunteți pe pagina 1din 291

1. SIMULACION. CONCEPTOS BÁSICOS Y APICABILIDAD

La técnica de la simulación ha sido una herramienta importante en el diseño de sistemas, bien sea la simulación de un vuelo, la simulación de una distribución en planta, la simulación de un juego o la simulación de un proceso productivo. Mediante la simulación, el Investigador de Operaciones obtiene los medios de observación y experimentación que han sido la esencia de los métodos científicos. La construcción y operación de un modelo de simulación, permite la observación del comportamiento dinámico de un sistema en condiciones controladas, pudiendo efectuarse experimentos para comprobar hipótesis acerca del sistema bajo estudio. El uso moderno de la palabra simulación se debe a la popularización que hicieron Von Neumann y Ulam del término "Análisis de Montecarlo" para estudiar problemas de difusión de neutrones y a la rápida adaptación del mismo para resolver problemas no probabilísticos difíciles, tales como integrales múltiples. Al popularizarse el uso de los computadores, surgieron incontables aplicaciones y con ello un mayor número de problemas teóricos y prácticos, ya que es posible experimentar con modelos matemáticos que describen algún sistema de interés.

1.1. Definición de simulación

Existen muchas definiciones de la simulación, unas más apropiadas que otras, dependiendo de la forma como se mire a la simulación; algunas de las definiciones son las siguientes:

a) Martin Shubick da la siguiente definición:

"La simulación de un sistema u organismo es la operación de un modelo (o simulador) que es una representación del sistema. Este modelo puede sujetarse a manipulaciones que serían imposibles de realizar en el sistema real, demasiado costosas o poco prácticas. La operación del modelo puede

estudiarse y de ese estudio pueden inferirse las propiedades concernientes al comportamiento del sistema

o subsistema real".

b) La simulación es, esencialmente, una técnica que enseña a construir el modelo de una situación real junto con la realización de experimentos con el modelo.

El principal interés de la simulación se centra en el uso del computador, el cual ha hecho que la simulación adquiera validez. Por lo tanto, estamos interesados en dar una definición que esté de acuerdo con nuestro interés. Esa definición puede ser la siguiente:

c) La simulación es una técnica numérica para realizar experimentos en un computador digital, los cuales requieren ciertos tipos de modelos lógicos y matemáticos, que describen el comportamiento de un negocio

o sistema económico (o algún componente de ellos) en períodos de tiempo real.

d) La simulación por computador también puede definirse como "un método para predecir las características dinámicas de una organización y así mejorar las bases para el proceso de la toma de decisiones".

e) La simulación es esencialmente una técnica de muestreo estadístico controlado (experimentación) que se emplea, conjuntamente con un modelo, para obtener respuestas aproximadas para preguntas sobre problemas probabilísticos complejos de múltiples factores.

La simulación es una ayuda formal para la toma de decisiones, la cual es adaptable a las complejidades y cambios de los negocios modernos y que puede desarrollarse y comunicarse eficientemente.

La simulación es un desarrollo natural de la investigación de operaciones y generalmente se usa en aquellos casos en que las otras técnicas de la investigación de operaciones han fallado.

Las técnicas de la investigación de operaciones usan modelos simbólicos y procesos matemáticos deductivos para predecir los efectos de las soluciones alternativas de un problema y determinar cuál es la mejor solución, o aproximadamente la mejor.

La simulación de sistemas también puede definirse como " La técnica de resolver problemas siguiendo, sobre el tiempo, los cambios que ocurren en un modelo dinámico del sistema".

Dado que la técnica de la simulación no intenta resolver analíticamente las ecuaciones de un modelo, el modelo matemático construido para los propósitos de la simulación es usualmente de naturaleza diferente de uno construido para solución por técnicas analíticas. Cuando se construye un modelo para encontrar la solución

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

2

analíticamente, es necesario considerar el conjunto de restricciones impuestas por la técnica analítica y evitar complicar demasiado el modelo. Un modelo de simulación puede construirse más libremente.

En sistemas continuos, donde el principal interés está en cambios suaves, generalmente se usan conjuntos de ecuación diferenciales para describir el sistema. Simulaciones basadas en tales modelos reciben el nombre de simulaciones continuas. Los computadores análogos son usados con frecuencia para simulaciones continuas, aunque también es posible usar computadores digitales, empleando intervalos de tiempo pequeños para integrar las funciones.

Para sistemas discretos, en los cuales el principal interés está en los eventos, las ecuaciones son esencialmente ecuaciones lógicas que establecen las condiciones necesarias para que ocurra un evento. La simulación consiste en seguir los cambios en el estado del sistema resultantes de la sucesión de eventos. Tales simulaciones reciben el nombre de "simulaciones discretas". Es posible avanzar el tiempo en pequeños incrementos y chequear en cada paso, si algunos eventos deben ser ejecutados. Sin embargo, como regla general la simulación discreta se realiza decidiendo sobre la secuencia de eventos y avanzando el tiempo al siguiente evento más inminente.

En este documento solo enfocaremos la atención en el estudio de simulaciones discretas

1.2. Naturaleza experimental de la simulación

La técnica de la simulación no realiza ningún intento específico por aislar las relaciones entre las variables particulares; en su lugar, observa el modo en que las variables cambian con el tiempo para tratar de reproducir su comportamiento. Las relaciones de las variables deben derivarse a partir de estas observaciones. Lo que la simulación hace es tratar de reproducir, mediante un modelo, el comportamiento del sistema, como si se estuviéramos realizando un experimento en el sistema real, y aquellos aspectos que no conozcamos, por su naturaleza aleatoria, los simulamos (generamos) mediante algunos métodos estadísticos, tratando de conservar sus propiedades. La simulación, es por lo tanto, esencialmente una técnica experimental para resolver problemas. Deben realizarse muchas corridas de una simulación para entender y poder analizar las relaciones envueltas en el sistema. Por consiguiente el empleo de la simulación en un estudio debe planearse como una serie de experimentos por computador.

Para realizar una simulación debe tenerse un conocimiento completo del sistema o situación que se desee analizar. Un modelo de simulación simplemente lo que trata es de reproducir el comportamiento del sistema, como si estuviéramos realizando un experimento, y a través de dicho experimento se van produciendo todas las variables que describen su comportamiento. En el apéndice al final de este capítulo, se presenta un juego de lanzamiento de monedas, en el cual se desarrolla inicialmente un modelo analítico, luego se explica cómo se realizaría el juego en la práctica y posteriormente se desarrolla un modelo de simulación.

La forma en que se realice un estudio de simulación depende de la naturaleza del estudio, es decir, del fin que se busca al estudiar el sistema. Generalmente los estudios del sistema son de tres tipos: Análisis de sistema, diseño de sistemas y postulación de sistemas; muchos estudios combinan dos o tres de los aspectos anteriores o alternan entre ellos a medida que el estudio avanza. El análisis de sistemas está orientado a entender cómo trabaja un sistema existente o un sistema propuesto. La situación ideal sería que el investigador pudiera experimentar con el sistema real. Actualmente lo que se hace es construir un modelo del sistema y, por simulación, investigar el desempeño del sistema.

En los estudios de diseño de sistemas, el objeto es producir un sistema que cumpla algunas especificaciones. El diseñador puede seleccionar o planear ciertos componentes del sistema, y escoger una combinación particular de componentes para construir el sistema. El sistema propuesto es modelado y se predice su desempeño a partir del comportamiento del modelo. Si el comportamiento predicho se compara favorablemente con el comportamiento deseado, el sistema es aceptado. En caso contrario, se rediseña el sistema y se repite el proceso.

La postulación de sistemas es característico del modo en que se emplea la simulación en estudios sociales, económicos, políticos, y médicos, donde se conoce el comportamiento del sistema, pero no las causas que producen ese comportamiento. Se establecen hipótesis sobre un conjunto probable de entidades y actividades que pueden explicar el comportamiento. El estudio compara la respuesta del modelo basado en las hipótesis establecidas con el comportamiento real conocido. Un parecido razonable conduce a la suposición de que la estructura del modelo representa al sistema actual, lo cual permite postular la estructura del sistema. Muy probablemente el comportamiento del modelo da una mejor comprensión del sistema y posiblemente ayuda a formular un conjunto más refinado de hipótesis.

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

3

1.3. Justificación para el uso de la simulación - Ventajas

En general, la Simulación surge en dos tipos diferentes de problemas:

a) Aquellos problemas que involucran alguna clase de proceso estocástico: Demanda por un artículo, tiempo de espera antes de empezar una producción, etc.

b) Ciertos problemas matemáticos completamente determinísticos que no pueden resolverse fácilmente por métodos analíticos o determinísticos; sin embargo, es posible obtener soluciones aproximadas a estos problemas simulando un proceso estocástico cuyos momentos, función de densidad o de distribución satisfacen las relaciones funcionales o los requisitos del problema determinístico. Por ejemplo: Ecuaciones diferenciales complejas, etc.

Cuando se está estudiando un sistema por medio de la investigación de operaciones, es necesario usar la simulación en aquellas etapas que estén ocasionando dificultades. Por ejemplo:

1.

Existen situaciones en las cuales es imposible o extremadamente costoso observar ciertos procesos en la vida real. Ejemplo: Vuelos espaciales, ingreso nacional bruto en los tres próximos años, etc.

2

Ciertos sistemas observados son tan complejos que es imposible describirlos en términos de un conjunto de ecuaciones matemáticas para las cuales sea posible obtener soluciones analíticas que puedan emplearse para predecir el comportamiento del sistema. La mayoría de sistemas económicos caen en esta categoría, por ejemplo, la economía de un país, o la operación de un negocio.

3

Aunque pueda desarrollarse un modelo matemático para describir un sistema de interés, puede no ser posible obtener una solución al modelo por medio de técnicas analíticas. Por ejemplo: sistemas complejos de fenómenos de espera o sistemas de inventarios. Aunque este enfoque no garantiza solución óptima o exacta al modelo que describe el sistema, puede ser posible experimentar con un número de soluciones y reglas de decisión alternativas para determinar qué soluciones y reglas de decisión son más útiles para realizar predicciones acerca del comportamiento del sistema. Posteriormente se ilustrarán estos aspectos por medio de ejemplos, de problemas de inventario y de procesamiento de órdenes a través de varios procesos.

4

Puede ser imposible o sumamente costoso realizar experimentos de validación sobre el modelo matemático que describe el sistema. Es decir, no hay forma de verificar si el modelo diseñado sí representa el sistema real o si la solución encontrada sí corresponde realmente a la solución del problema que se tiene.

Aunque la razón principal para escoger la simulación es la facilidad para vencer las dificultades explicadas antes, hay otras razones o ventajas para su empleo, tales como:

5 La simulación hace posible estudiar y experimentar con las interacciones complejas que ocurren en el interior de un sistema. A través de la simulación se pueden estudiar ciertos cambios informativos, de organización o ambientales en la operación de un sistema, al hacer alteraciones en el modelo y observar los efectos de estas alteraciones en el comportamiento del sistema.

6 La observación detallada del sistema que se está simulando conduce a un mejor entendimiento del mismo y proporciona sugerencias para mejorarlo.

7 La simulación puede usarse como un recurso pedagógico

8 La simulación de un sistema complejo puede producir un conocimiento valioso y profundo acerca de cuáles variables son más importantes que otras, y cómo se relacionan entre sí.

La simulación puede emplearse para experimentar con situaciones nuevas acerca de las cuales se tiene muy poca o ninguna información, con el objeto de estar preparados para cualquier eventualidad.

9 Para ciertos tipos de problemas estocásticos la secuencia de los eventos puede ser muy importante, pues la información de los valores esperados y los momentos suele no ser suficiente para describir el proceso. En estos casos, la simulación puede ser la única forma satisfactoria de obtener la información requerida.

10 La simulación puede realizarse para verificar soluciones analíticas.

11 La simulación permite estudiar los sistemas dinámicos, ya sea en tiempo real, comprimido o expandido.

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

4

1.4. Desventajas de la simulación

La simulación como cualquier otra técnica tiene sus desventajas, de las cuales las principales son:

1

Los modelos de la simulación para computador son muy costosos de construir y validar. En general debe construirse un programa para cada sistema o problema.

2.

La corrida del programa de simulación, una vez construido, puede necesitar una gran cantidad de tiempo de computador.

3

La principal desventaja de la simulación está dirigida hacia la gente, en vez de la técnica. La gente tiende a usar la simulación cuando no es el mejor método de análisis. Cuando las personas se familiarizan con la metodología de la simulación, intentan emplearla en situaciones en que otras técnicas analíticas son más apropiadas.

1.5.

Etapas generales de la simulación

Un estudio de simulación puede dividirse en tres grandes áreas, no completamente independientes entre sí, a saber:

1

Establecimiento del modelo de simulación, lo cual incluye aspectos tales como identificar el problema a resolver (conocer qué preguntas se deben responder), que suposiciones se deben hacer, y definir el modelo a emplear.

2.

Ejecución de la simulación en un computador digital. En este punto se consideran las técnicas y metodologías, simples y avanzadas, requeridas para obtener los resultados. de programación. Esto incluye aspectos tales como generación de variables aleatorias, métodos para manejo de las variables, precisión de los estimativos, etc.

3

Análisis de los resultados. Dadas unas preguntas que se debían resolver y unas respuestas dadas por el modelo, se requieren técnicas estadísticas y gráficas para interpretar los resultados y tomar las decisiones.

1.6. Ejemplo. Juego del raspa raspa.

Considere una lotería instantánea. Cada tarjeta tiene tres filas, y en cada fila hay dos casillas, una de las cuales tiene un valor de $1,000 y la otra $5,000. El jugador raspa una casilla de cada renglón para descubrir el valor asociado. Si los tres números destapados son iguales, el jugador gana esa cantidad. En caso contrario no gana nada.

jugador gana esa cantidad. En caso contrario no gana nada. Para evaluar la factibilidad del negocio

Para evaluar la factibilidad del negocio se desea saber, entre otras cosas, cuál es la cantidad mínima que se debe cobrar por cada boleto.

Solución.

El valor mínimo que se puede cobrar por cada boleto es la cantidad media que espera ganar quien lo compre.

Solución analítica

La ganancia obtenida por quien compra un boleto de esta lotería instantánea es una variable aleatoria, y está dada por:

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

5

U

1000

si las tres celdas destapadas tienen el valor de1000

5000 si las tres celdas destapadas tienen el valor de 5000

0 en otroscasos

Como la utilidad es una variable aleatoria, entonces el criterio de decisión o comparación sería la utilidad esperada, dada por:

E(U)

i

u p(u )

i

i

1000p(1000)

5000 p(5000)

0p(0)

Para obtener la utilidad esperada necesitamos calcular la probabilidad de que las tres casillas destapadas tengan todas el valor de 1000, o el de 5000, probabilidades dadas por:

Si denotamos por X i el valor destapado en la casilla de la fila i, i = 1,2,3, entonces tenemos que:

P(1000) = P(X 1 = 1000, X 2 = 1000, X 3 = 1000) = P(X 1 =1000)P(X 2 =1000) P(X 3 =1000) =(1/2)(1/2)(1/2) = 1/8

De forma similar encontramos que p(5000) = 1/8, y por lo tanto el valor esperado está dado por:

E(U) = 1000 (1/8) + 5000 (1/8) + 0 (6/8) = $750

Por lo tanto, el valor mínimo del boleto será de $750.

Solución por simulación

La solución por simulación sería simplemente tratar de reproducir (experimentar) lo que sucede cuando una persona compra el boleto, y repetir muchas veces este procedimiento con muchas personas, para calcular la utilidad promedio. Para cada boleto, o para cada persona que compre el boleto, la utilidad está dada por:

U

1000

si las tres celdas destapadas tienen el valor de1000

5000 si las tres celdas destapadas tienen el valor de 5000

0 en otroscasos

El procedimiento para un boleto sería:

Destapar celda en fila 1, y verificar el resultado Destapar celda en fila 2, y verificar el resultado Destapar celda en fila 3, y verificar el resultado Si (todas las celdas son iguales a 1000) entonces Utilidad = 1000

Si no

Si (todas las celdas son iguales a 5000) entonces Utilidad = 5000

Si no

Utilidad = 0

Fin si

Fin si Para simular el “destape” de una celda, simplemente generamos un número aleatorio R, que representa todos los valores posibles de obtener cuando se destapa una casilla (dos en este caso), y el resultado se obtiene estableciendo una equivalencia entre el número aleatorio R y las diferentes probabilidades de los valores a destapar. Como solamente son dos valores, y cada casilla contiene o un valor de 1000 o de 5000, con igual probabilidad, entonces el generador del resultado será el siguiente:

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

6

Si R < 0.5 valor destapado = 1000 Si R 0.5 valor destapado = 5000

Una forma de conocer lo que gana cada jugador al comprar un boleto, consiste en calcular la suma de las tres filas destapadas, y si esta suma es 3,000 entonces gana $1,000, si es 15,000 entonces gana $5,000, y si no es ninguna de las dos anteriores, no gana nada.

Para saber la cantidad mínima a cancelar por cada boleto, entonces se simularía el juego de muchos boletos, se calcula la ganancia de cada boleto, y luego se calcula la ganancia promedio. El algoritmo siguiente (seudo código) contiene todos los pasos a realizar

Inicio Definir Número_boletos Para cada boleto =1 hasta Número_boletos Suma_celdas = 0 Para cada fila =1 a 3 Generar número_aleatorio Si número_aleatorio <0.5 entonces Suma_celdas = Suma_celdas + 1,000

Sino

Suma_celdas = Suma_celdas + 5,000

Fin si Siguiente fila Si (suma_celdas=3000) entonces Utilidad(boleto) = 1000

Sino

Si (suma_celdas=15000) entonces Utilidad(boleto) = 5000

sino

Utilidad(boleto) = 0 Fin si

Fin si Siguiente boleto Calcular ganancia promedio Fin

Para implementarlo en Excel, simplemente debemos identificar las columnas requeridas, y la información que llevaría cada una. Necesitaríamos una columna para los boletos, y dos columnas por cada fila, y una última columna para la ganancia de cada boleto. Además, se requeriría una fila por cada boleto. Esas columnas serían:

Columna A: Número del boleto, desde 1 hasta el número de boletos

Columna B: Número aleatorio para la primera fila

Columna C: Valor de la primera celda destapada

Columna D: Número aleatorio para la segunda fila

Columna E: Valor de la segunda celda destapada

Columna F: Número aleatorio para la tercera fila

Columna G: Valor de la tercera celda destapada

Columna H: Utilidad del boleto.

La configuración de la hoja de cálculo sería la siguiente:

(A)

(B)

( C )

(D)

(E)

(F)

(G)

(H)

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

7

Boleto

Número

Valor

Número

Valor

Número

Valor

Ganancia

número

aleatorio 1

primera

aleatorio 2

segunda

aleatorio 3

tercera

celda

celda

celda

1

             

2

             

3

             

En la primera fila podemos colocar un título que identifique el contendido de la hoja de cálculo, en la tercera los encabezados de cada columna, y a partir de la cuarta irán los diferentes boletos.

Para conocer el valor que hay en cada fila se usará la función “si” sencilla, mientras que para conocer la ganancia del juego se usará la función “si” con otro “si” anidado.

Las funciones (instrucciones) que irían en las diferentes celdas son los siguientes:

Bi: = aleatorio() Ci: =si(Bi<0.5;1000;5000) Di: = aleatorio() Ei: =si(Di<0.5;1000;5000) Fi: = aleatorio() Gi: =si(Fi<0.5;1000;5000) Hi: =si(Ci+Ei+Gi=3000;1000;si(Ci+Ei+Gi=15000;5000;0))

Las anteriores celdas se escriben en la cuarta fila, y luego se copian en las filas restantes tantas veces cuantas sean necesarias, según el número de boletos.

En la fila 2, columna H colocamos la ganancia promedio según el número de boletos, dada por:

H2 = promedio(h4:hn) , donde n representa la última fila de la simulación

El siguiente cuadro presenta un resumen con los resultados de una simulación de 5000 boletos

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

8

Juego del raspa raspa Utilidad media = 817,8 Boleto Número Valor Número Valor Número Valor
Juego del raspa raspa
Utilidad media =
817,8
Boleto
Número
Valor
Número
Valor
Número
Valor
Valor
número
aleatorio 1
primera
aleatorio 1
segunda
aleatorio 1
tercera
ganado
(A)
(B)
celda (C)
(D)
celda (E)
(F)
celda (F)
(G)
1
0,067
1000
0,316
1000
0,219
1000
1000
2
0,090
1000
0,759
5000
0,551
5000
0
3
0,063
1000
0,625
5000
0,774
5000
0
4
0,441
1000
0,129
1000
0,910
5000
0
5
0,002
1000
0,328
1000
0,746
5000
0
6
0,431
1000
0,323
1000
0,666
5000
0
7
0,997
5000
0,893
5000
0,777
5000
5000
8
0,191
1000
0,436
1000
0,781
5000
0
9
0,795
5000
0,659
5000
0,971
5000
5000
10
0,586
5000
0,867
5000
0,279
1000
0
11
0,461
1000
0,835
5000
0,741
5000
0
12
0,542
5000
0,148
1000
0,557
5000
0
13
0,085
1000
0,244
1000
0,712
5000
0
14
0,860
5000
0,403
1000
0,122
1000
0
15
0,746
5000
0,913
5000
0,030
1000
0
16
0,629
5000
0,463
1000
0,802
5000
0
17
0,361
1000
0,831
5000
0,645
5000
0
18
0,670
5000
0,397
1000
0,877
5000
0
19
0,761
5000
0,567
5000
0,533
5000
5000
20
0,514
5000
0,447
1000
0,091
1000
0
21
0,430
1000
0,176
1000
0,283
1000
1000
22
0,906
5000
0,038
1000
0,693
5000
0
23
0,813
5000
0,874
5000
0,539
5000
5000
24
0,689
5000
0,637
5000
0,371
1000
0
25
0,812
5000
0,278
1000
0,114
1000
0
26
0,150
1000
0,349
1000
0,859
5000
0
27
0,553
5000
0,705
5000
0,803
5000
5000
28
0,144
1000
0,397
1000
0,135
1000
1000
29
0,425
1000
0,403
1000
0,399
1000
1000
30
0,179
1000
0,051
1000
0,705
5000
0
31
0,469
1000
0,080
1000
0,902
5000
0
32
0,241
1000
0,504
5000
0,102
1000
0
33
0,301
1000
0,845
5000
0,972
5000
0
34
0,463
1000
0,217
1000
0,312
1000
1000
35
0,721
5000
0,244
1000
0,758
5000
0
36
0,896
5000
0,934
5000
0,102
1000
0
37
0,322
1000
0,487
1000
0,987
5000
0
38
0,210
1000
0,087
1000
0,055
1000
1000
39
0,521
5000
0,800
5000
0,844
5000
5000
40
0,535
5000
0,669
5000
0,773
5000
5000

Simulación del juego del raspa raspa

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

9

1.7. Un modelo de simulación. Juego del lanzamiento de la moneda

El objetivo de este apéndice es mostrar, mediante un problema sencillo, la naturaleza experimental de la simulación y los casos en que debe usare la simulación como herramienta de último recurso. Es decir, se ilustrará mediante un juego de lanzamiento de monedas, en qué forma se realiza una simulación, ejecutando los mismos pasos que se realizarían en un juego real. El problema planteado es el siguiente:

A usted le proponen el siguiente juego: Usted lanza una moneda y cuenta el número de caras y sellos que va

obteniendo. El juego se termina sólo cuando la diferencia entre caras y sellos sea tres, no interesa cual sea mayor. En ese instante usted recibe $8.00 por el juego, pero tiene que pagar $1.00 por cada lanzamient o de la moneda que usted haya hecho. Le conviene a usted participar en este juego ?

El problema consiste en determinar si es favorable o no participar en este juego. En principio diremos que es

favorable participar en el juego si a la larga esperamos ganar, es decir, la utilidad esperada del juego es mayor

o igual que cero. Para obtener la respuesta ensayaremos diferentes soluciones, empezando primero por una

solución de tipo analítico, luego por la experimentación con el sistema real, y finalmente por una solución tipo

simulación.

1.7.1. Solución analítica

Inicialmente podemos intentar solucionar analíticamente esta situación. El juego es favorable si esperamos obtener alguna utilidad del mismo.

Para un juego cualquiera la utilidad U está dada por:

U(x) = Ingresos - Egresos = 8 - X, x = 3, 5, 7,

donde X es el número de lanzamientos, y por cada lanzamiento se paga un peso. El número de lanzamientos en

; el juego no puede terminar en un

número par de lanzamientos. Como el número de lanzamientos -X- es una variable aleatoria, entonces

que puede terminarse un juego es mínimo tres, y puede ser 5, 7, 9, 11,

,

debemos hablar, como criterio de decisión, de la utilidad esperada, que está definida como:

E (U) = U(x) P(x)

donde P(x) es la función de densidad del número de lanzamientos en que puede terminar el juego, y representa

la probabilidad de que el juego termine en x lanzamientos. El juego es favorable si E(U) 0.

Para calcular la utilidad esperada debemos conocer P (x), para los diferentes valores de x, donde x = 3, 5, hasta aquellos valores de x para los cuales P (x) sea aproximadamente cero.

Cálculo de P (x)

P

,

(X=3)

= Probabilidad de que el juego termine en tres lanzamientos

= Probabilidad de que los tres primeros lanzamientos sean todos cara ó todos sean sellos

= Prob (Tres primeros lanzamientos sean cara) + Prob (Tres primeros lanzamientos sean sello)

= P(CCC) + P(SSS) = (½) 3 + (½) 3 = ¼

= Probabilidad de que el juego termine en 5 lanzamientos

= Probabilidad de obtener cuatro caras y un sello o cuatro sellos y una cara, dado que el juego no había terminado antes.

P

(X=5)

P

(X=5) =

=

P(CCSCC) + P(CSCCC) + P(SCCCC) + P(SSCSS) + P(SCSSS) + P(CSSSS)

6(½) 5 = 3/16

Los eventos CCCSC, CCCCS, SSSCS y SSSSC no están incluidos en el cálculo de la probabilidad de terminar en 5 lanzamientos. Por qué ?. Esta probabilidad no está dada por las combinaciones de 5 tomadas de a 4, ni de 5 tomadas de a uno.

El cálculo de P (X = 7) es la probabilidad de obtener 5 caras y 2 sellos o 5 sellos y dos caras, pero para su cálculo hay que eliminar aquellas combinaciones que den como resultado que el juego termine en 3 y en 5 lanzamientos. Para el cálculo de estas probabilidades hay que tener en cuenta el orden en que van cayendo las monedas. El cálculo de las restantes probabilidades es aún más complicado (aunque no es imposible de obtener).

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

10

Como se puede apreciar en este ejemplo sencillo, es posible construir un modelo analítico para el juego, pero una solución analítica es difícil

1.7.2. Experimentar con el Sistema Real

En este sistema sencillo, para tomar una decisión de participar o no en el juego, podemos experimentar con el sistema real, es decir, podemos realizar varios juegos, a manera de ensayo, y con base en esos resultados, decidir si participamos o no en el juego que nos están proponiendo. El procedimiento para experimentar con el sistema real sería el siguiente:

a) Definir el tamaño de la muestra, es decir, el número de juegos a realizar (N)

b) Para cada juego j, (j = 1, N), se inicializa:

Número de caras = cero

Número de sellos = cero

c) Se lanza la moneda

d) Se mira el resultado: Cara o sello

Si es cara, se aumenta el número de caras en uno

Si es sello, se aumenta el número de sellos en uno

e) Si el número de caras menos sellos o sellos menos caras es igual a tres el juego termina y haríamos el paso f; si no es igual a tres, se repite el proceso de lanzar de nuevo la moneda, es decir, haríamos el paso c.

f) Cuando se termina un juego, se calcula la utilidad del juego, dada por:

U j = Utilidad = 8 - número de lanzamiento de la moneda

donde el número de lanzamientos es igual al número de caras más el número de sellos.

g) Si quedan más juegos por realizar, se repite el paso b)

Si ya se han realizado todos los juegos, se pasa a la etapa h).

h) Se calcula la utilidad promedia de todos los juegos realizados, dada por:

1 N U   U j N i  1
1
N
U 
 U
j
N i  1

Si U 0 el juego es favorable

1.7.3. Solución por Simulación

Otra forma de analizar la bondad del juego es mediante la simulación. Es decir, no se lanzan "realmente" las monedas, como en la alternativa anterior, sino que "se simula" el lanzamiento de las mismas, y se examina si el resultado fue cara o sello. De nuevo, el juego se termina cuando la diferencia entre las caras y los sellos sea tres. El juego simulado se realiza varias veces y al final se obtiene la utilidad media por juego.

El procedimiento para simular el juego es exactamente el mismo que para realizarlo, con la única diferencia de que no se lanza una moneda real, sino que se simula su lanzamiento.

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

11

El procedimiento para simular el juego sería prácticamente el mismo que para jugarlo, excepto que no se lanza la moneda sino que se “simula” su lanzamiento:

a)

Definir el número de juegos a realizar (N)

b)

Para cada juego j, (j = 1, N), se inicializa:

Número de caras = cero

Número de sellos = cero

c)

Se simula el lanzamiento de la moneda

d)

Se “investiga” el resultado: Si cara o sello

Si es cara, se aumenta el número de caras en uno

Si es sello, se aumenta el número de sellos en uno

e)

Si el número de caras menos sellos o sellos menos caras, es igual a tres, es decir, si termina un juego, se hace el paso f, si no, se repite el paso c, es decir, se lanza de nuevo la moneda.

f)

Cuando un juego termina, se calcula la utilidad del juego dado por:

Uj = Utilidad = 8 - número de lanzamiento de la moneda

donde el número de lanzamientos es igual al número de caras más el número de sellos.

g)

Si quedan más juegos por realizar, se repite el paso b)

Si ya se han realizado todos los juegos, se pasa a la etapa h).

h)

Se calcula la utilidad promedia de todos los juegos realizados, dada por:

1 N U   U j N i  1
1
N
U 
 U
j
N i  1

Si U 0 el juego es favorable

La figura 1, ilustra, mediante una diagrama de flujo descriptivo, el procedimiento necesario para realizar varios juegos. El diagrama de flujo contempla tres aspectos básicos que hay que considerar en cualquier simulación, que son:

a) Inicialización del sistema a simular, la cual se realiza una sola vez y que comprende la inicialización y definición de las variables que se van a usar (Paso 1 del procedimiento dado antes).

b) El algoritmo de la simulación, es decir, la simulación propiamente dicha, con todos los cambios que sean necesarios en el estado de sistema (Pasos 2, 3, 4 y 5).

c) El resumen e impresión de los resultados

Sin embargo, un diagrama descriptivo no es suficiente para realizar la simulación, sino que es necesario llevar ese diagrama descriptivo a un diagrama detallado y luego programarlo para su ejecución a través del computador (en lenguajes de programación o similares). Para ello es necesario realizar dos tareas:

a) La primera consiste en definir una serie de variables que describan el estado de la simulación en cualquier instante. Se necesitan, entre otras, variables que indiquen el número de juegos realizados, el número de caras y sellos, la utilidad acumulada de los juegos realizados, las utilidades mínima y máxima, etc. Estas y otras variables son definidas posteriormente.

b) La segunda tarea, y la más importante, consiste en definir:

- Cómo se simula el lanzamiento de la moneda y

- Cómo se sabe el resultado del lanzamiento

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

12

Figura No 1 Juego de la moneda. Diagrama de flujo descriptivo

Comienza la simulación

Lectura de datos necesarios para la simulación

Inicializar variables para recoger información

A
A
Inicializar número de juegos J = 1, Nro_juegos Nro_caras = Nro_Sellos = 0 B
Inicializar número de juegos J = 1,
Nro_juegos
Nro_caras = Nro_Sellos = 0
B
Se simula el lanzamiento de la moneda

Se simula el lanzamiento de la moneda

Se simula el lanzamiento de la moneda
Cara Cara o Sello Se aumenta el número de caras en uno Se aumenta el
Cara
Cara o
Sello
Se aumenta el
número de caras en
uno
Se aumenta el
número de sellos en
uno
No o No |Caras - Sellos| = 3 ? A 1.7.4. Si 1
No
o
No
|Caras - Sellos|
= 3 ?
A
1.7.4. Si
1
1
1
Incrementa el número de juegos realizados Lanzamientos = Caras + Sellos Recoge estadísticas sobre el
Incrementa el número de juegos
realizados
Lanzamientos = Caras + Sellos
Recoge estadísticas sobre el
número de lanzamientos
(minimos, máximos, promedios)
Cálculo de la utilidad del juego
Recoge estadísticas sobre la
utilidad por juego (mínimos,
máximos, promedios)
A Quedan juegos
por realizar ?
Cálculo de variables de salida: Número medio de lanzamientos, utilidad media, desviaciones estándares, probabilidades,
Cálculo de variables de salida: Número medio de lanzamientos, utilidad media, desviaciones estándares, probabilidades,

Cálculo de variables de salida:

Cálculo de variables de salida:

Número medio de lanzamientos, utilidad media, desviaciones estándares, probabilidades, etc

Número medio de lanzamientos, utilidad media, desviaciones estándares, probabilidades, etc
de variables de salida: Número medio de lanzamientos, utilidad media, desviaciones estándares, probabilidades, etc
de variables de salida: Número medio de lanzamientos, utilidad media, desviaciones estándares, probabilidades, etc
Impresión de los resultados FIN
Impresión de los resultados
FIN

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

13

Simulación del lanzamiento de la moneda

El lanzamiento de la moneda se realiza mediante lo que en simulación recibe el nombre de NUMERO ALEATORIO. Los números aleatorios, que se estudiarán en el capítulo 3, son variables aleatorias que se distribuyen uniformemente en el rango de cero a uno (0, 1). Así, si R es un número aleatorio, debe cumplirse que 0 R < 1, y todos los números en este rango tienen igual probabilidad de ser generados. Los números aleatorios son la base de cualquier simulación, por eso se dice que "la simulación es una técnica numérica".

Existen varios métodos para generar números aleatorios y con base en estos métodos pueden diseñarse diferentes subrutinas. En la mayoría de libros básicos de estadística se presentan tablas de números aleatorios, generados mediante estos métodos. La mayoría de lenguajes de programación presentan módulos o rutinas específicas para generar estos números. Igualmente las calculadoras científicas traen funciones especiales que producen números aleatorios (tecla RND o RAN#) La función RND de Visual Basic genera números aleatorios R; con esta función es posible especificar (mediante la instrucción RNADOMIZE) el valor inicial a partir del cual se generarán los números aleatorios. Este valor inicial recibe el nombre de “la semilla”, y por seguridad debe ser un número entero positivo impar. En el lenguaje Java el generador de números aleatorios

es la función RANDOM#

En el Capitulo 3 veremos como se diseñaron estas funciones

La función del excel =aleatorio() es un generador de números aleatorios entre 0 y 1.

En conclusión, el lanzamiento de la moneda lo simulamos mediante la generación de un número aleatorio R, en el intervalo (0, 1), o sea mediante el uso de las funciones ya mencionadas

Una vez generado el número aleatorio, el paso siguiente es establecer una relación entre las características del número aleatorio y las características del fenómeno o proceso que se desea simular. Para nuestro caso, para obtener el resultado del lanzamiento de la moneda (cara o sello) es necesario conocer las características de la moneda, es decir, si es una moneda buena o mala. Si la moneda es "buena" la probabilidad de que caiga cara es 1/2 y es igual a la probabilidad de que caiga sello. Sea p la probabilidad de que la moneda caiga cara. Si p = 0.4 quiere decir que de 100 lanzamientos que se hagan, se espera que la moneda caiga cara 40 veces, o sea, que la fracción de caras obtenidas con relación al número de lanzamientos debe tender a 0.4. Entonces para saber si la moneda cae cara o sello es necesario establecer una relación entre el número aleatorio R y la probabilidad de obtener cara en el lanzamiento de la moneda. Si consideramos números aleatorios de dos cifras cada uno, entonces entre cero y uno pueden generarse los siguientes números

{00, 01, 02, 03,

,

.38, .39, .40, .41,

,

.97, .98, .99}

El total de números de dos cifras que pueden generarse es 100. De este total de números de dos cifras debemos asignar 40 a la probabilidad de obtener cara y 60 para el resultado de sello, cuya probabilidad es 0.6. Entonces al resultado de cara le podemos asignar los primeros cuarenta números (del 0.00 al 0.39) y al resultado de sello los últimos 60 números (del 0.40 al 0.99),

Así

Si R < 0.40

Se obtiene cara

Si R 0.40

Se obtiene sello

En general:

Si R < p Se obtiene cara Si R p Se obtiene sello,

donde p es la probabilidad de obtener cara en el lanzamiento de una moneda.

1.7.5. Información para la toma de decisiones

En un estudio de simulación puede recogerse diferentes tipos de estadísticas que, aunque como en el caso que nos ocupa no sean indispensables para tomar una decisión de acuerdo al criterio que hemos definido (el cual está basada en la utilidad media por juego), se emplean para facilitar la toma de decisiones y que sirven para formarnos una idea de lo que puede esperarse en el juego. Estas estadísticas pueden ser:

1. Referentes a la utilidad dejada por el juego:

- Utilidad mínima por juego

- Utilidad máxima por juego

- Utilidad media por juego

- Desviación estándar de la utilidad

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

14

- Número mínimo de lanzamientos por juego

- Número máximo de lanzamientos por juego

- Número medio de lanzamientos por juego

- Desviación estándar del número de lanzamientos

- Distribución del número de lanzamientos por juego.

La figura 2 presenta los resultados de efectuar manualmente varios juegos, mediante la ayuda de la hoja de cálculo Excel, y empleando la función de excel “=aleatorio()” para generar los números aleatorios. De esta muestra de varios juegos se concluye que el juego es favorable; sin embargo el tamaño de la muestra es muy pequeño para llegar una conclusión confiable.

La figura 3 nos presenta el seudocódigo para la simulación del juego y en el apéndice al final del capítulo se presenta el listado, en FORTRAN, del programa escrito para desarrollar la simulación.

Ahora bien, si se quiere introducir modificaciones al juego, es relativamente fácil hacerlo. Por ejemplo, si se quiere terminar el juego cuando la diferencia entre caras y sellos sea tres o cuando se haya realizado determinado número de lanzamientos (15 por ejemplo), sólo se necesita agregar una nueva instrucción que nos compare si el número total de caras y sellos es igual a ese número. Esa instrucción iría después de la comparación entre caras y sellos, cuando el resultado da que su diferencia no es tres.

A continuación se presentan los resultados obtenidos después de simular 1.000 juegos con una semilla inicial ISEM = 727 (programa en fortran). También se presenta la distribución del número de lanzamientos requeridos para terminar el juego. (La distribución de la utilidad por juego podría obtenerse de la anterior). Junto con el resultado de la anterior corrida se presenta el de otra corrida realizada con un número inicial de 5727. La probabilidad de obtener una cara es 0.5.

RESUMEN GLOBAL DE RESULTADOS

Valor de la semilla

727

5727

Número de juegos

1000

1000

Número mínimo de lanzamientos por juego

3

3

Número máximo de lanzamientos por juego

51

51

Número medio de lanzamientos por juego

9.04

9.05

Desviación del número de lanzamientos

7.00

7.07

Utilidad mínima por juego

-43

-43

Utilidad máxima por juego

5

5

Utilidad media por juego

-1.04

-1.05

Desviación de la utilidad por juego

7.0

7.07

Probabilidad de terminar en tres lanzamientos

23.9

23.9

El juego es, en general, desfavorable

Otras estadísticas obtenidas en la simulación se muestran en las páginas siguientes. De ahí vemos que la probabilidad de que el juego termine en tres lanzamientos es 23.9% y la teórica es 25%.

Análisis estadístico de los resultados.

Uso de intervalos de confianza para el análisis de los resultados de la simulación.

Validación de los resultados.

Existe alguna diferencia significativa entre el resultado muestral (0.239) y el resultado teórico (0.25) para la probabilidad de terminar el juego en tres lanzamientos?

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

15

Figura No 2

Juego de la moneda. Simulación manual

Juego

Lanza

Número

Resultado

Total de

Diferencia

Utilidad

Número

miento No

aleatorio

 

J

X

R

(C, S)

Caras

Sellos

ABS (C-S)

8 - X

1

0

0

0

1

0.945

S

0

1

1

2

0.973

S

0

2

2

3

0.829

S

0

3

3

5

2

0

0

0

1

0.348

C

1

0

1

2

0.119

C

2

0

2

3

0.080

C

3

0

3

5

3

0

0

0

1

0.228

C

1

0

1

2

0.695

S

1

1

0

3

0.620

S

1

2

1

4

0.964

S

1

3

2

5

0.709

S

1

4

3

3

4

0

0

0

1

0.573

S

0

1

1

2

0.262

C

1

1

0

3

0.916

S

1

2

1

4

0.635

S

1

3

2

5

0.066

C

2

3

1

6

0.178

C

3

3

0

7

0.975

S

3

4

1

8

0.750

S

3

5

2

9

0.223

C

4

5

1

10

0.086

C

5

5

0

11

0.011

C

6

5

1

12

0.794

S

6

6

0

13

0.168

C

7

6

1

14

0.361

C

8

6

2

15

0.148

C

9

6

3

-7

5

0

0

0

1

0.028

C

1

0

1

2

0.378

C

2

0

2

3

0.512

S

2

1

1

4

0.172

C

3

1

2

5

0.927

S

3

2

1

6

0.512

S

3

3

0

7

0.227

C

4

3

1

8

0.256

C

5

3

2

9

0.990

S

5

4

1

10

0.138

C

6

4

2

11

0.419

C

7

4

3

-3

6

0

0

0

1

0.342

C

1

0

1

2

0.632

S

1

1

0

3

0.213

C

2

1

1

4

0.087

C

3

1

2

5

0.108

C

4

1

3

3

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

16

ego

Lanza

Número

Resultado

Total de

Diferencia

Utilidad

Número

miento No

aleatorio

 

J

X

R

(C, S)

Cara

Sello

ABS(C-S)

8 - X

7

0

0

0

1

0.381

C

1

0

1

2

0.310

C

2

0

2

3

0.935

S

2

1

1

4

0.316

C

3

1

2

5

0.983

S

3

2

1

6

0.554

S

3

3

0

7

0.978

S

3

4

1

8

0.384

C

4

4

0

9

0.999

S

4

5

1

10

0.040

C

5

5

0

11

0.748

S

5

6

1

12

0.631

S

5

7

2

13

0.554

S

5

8

3

-5

8

0

0

0

1

0.370

C

1

0

1

2

0.434

C

2

0

2

3

0.773

S

2

1

1

4

0.238

C

3

1

2

5

0.968

S

3

2

1

6

0.165

C

4

2

2

7

0.782

S

4

3

1

8

0.700

S

4

4

0

9

0.668

S

4

5

1

10

0.202

C

5

5

0

11

0.704

S

5

6

1

12

0.905

S

5

7

2

13

0.594

S

5

8

3

-5

9

0

0

0

1

0.665

S

0

1

1

2

0.227

C

1

1

0

3

0.872

S

1

2

1

4

0.689

S

1

3

2

5

0.791

S

1

4

3

3

10

0

0

0

1

0.626

S

0

1

1

2

0.890

S

0

2

2

3

0.205

C

1

2

1

4

0.722

S

1

3

2

5

0.982

S

1

4

3

3

11

0

0

0

1

0.034

C

1

0

1

2

0.645

S

1

1

0

3

0.065

C

2

1

1

4

0.081

C

3

1

2

5

0.402

C

4

1

3

3

Medias7-11

8.2

   

3.2

3.5

 

-0.2

Medias 1-11

7.5

   

3.6

3.2

 

0.5

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

17

Figura No 3 - Problema del Juego de la Moneda :Seudocódigo

Lectura de datos sobre :

 

Semillas, Número de Juegos, Parámetros para distribuciones de frecuencia

(SEMILLA, NRO_JUEGOS, PROB_CARA, Xo, X, NRO_INT)

 

X = X 2 = 0, Xmin = 100, Xmax = 0, U =0 FRECUENCIA(INT)=0, INT=1,NRO_INT

 

JUEGOS = 1

 

MIENTRAS (JUEGOS NRO_JUEGOS)

 
 

CARAS = SELLOS =0

 

MIENTRAS (CARAS - SELLOS .NE. 3) ENTONCES

 
 

GENERAR NUMERO ALEATORIO “R”

SI (R < PROB_CARA)

SI NO

CARAS = CARAS + 1

SELLOS = SELLOS + 1

FIN SI

FIN MIENTRAS

 

LANZA = CARAS + SELLOS

 

X = X + LANZA X 2 = X 2 + LANZA 2

 

SI (LANZA .LT. Xmin) Xmin = LANZA

 

SI (LANZA .GT. Xmax) Xmax = LANZA

 

INT=[(LANZA - Xo)/X + 2]

 

SI (INT. LT. 1) INT = 1

 

SI (INT. GT. NRO_INT) INT = NRO_INT

 

FRECUENCIA(INT) = FRECUENCIA(INT) + 1

 

JUEGOS = JUEGOS + 1

 

FIN MIENTRAS

 

MEDIA = X/NRO_JUEGOS VARIANZA = (X 2 - NRO_JUEGOS * MEDIA 2 )/(NRO_JUEGOS - 1) DESVIACION = (VARIANZA) UTILIDAD_MEDIA = U / NRO_JUEGOS

 

IMPRIMIR “NRO_JUEGOS, MEDIA, DESVIACION, Xmin, Xmax, UTILIDAD_MEDIA”

INTERV = 1

 

MIENTRAS (INTERV. LE. NRO_INT) ENTONCES

 
 

FRECUENCIA_RELATIVA = FRECUENCIA(INT) *100/NRO_JUEGOS

IMPRIMIR “INTERV, FRECUENCIA(INTERV), FRECUENCIA_RELATIVA”

INTERV = INTERV + 1

 

FIN MIENTRAS

 

FIN SIMULACIÓN

 

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

18

 

Distribución del número de lanzamientos de la moneda

 

Intervalo

Numero de

Frecuencia

Frecuencia

Frecuencia

Lanzamientos

absoluta

relativa

rel. acum.

1

3

239

23.90

23.90

2

5

171

17.10

41.00

3

7

164

16.40

57.40

4

9

104

10.40

67.80

5

11

82

8.20

76.00

6

13

54

5.40

81.40

7

15

57

5.70

87.10

8

17

17

1.70

88.80

9

19

28

2.80

91.60

10

21

22

2.20

93.80

11

23

13

1.30

95.10

12

25

8

0.80

95.90

13

27

7

0.70

96.60

14

29

11

1.10

97.70

15

31

4

0.40

98.10

16

33

8

0.80

98.90

17

35

8

0.80

99.70

18

37

2

0.20

99.90

19

39

0

0.00

99.90

20

41 o mas

1

0.10

100.00

Análisis de resultados. Considere los siguientes resultados del juego de la moneda, obtenidos con otro generador diferente de números aleatorios, pero usando las mismas semillas de las simulaciones anteriores.

Concepto

Corrida

Replicado

Semilla

727

4727

Numero de juegos

1000

1000

Utilidad media

-1.00

-0.97

Desviación estándar de la utilidad

7.00

7.04

Utilidad mínima

-59

-59

Utilidad máxima

5

5

Numero medio de lanzamientos

9.00

8.97

Desviación estándar de la utilidad

7.00

7.04

Numero mínimo de lanzamientos

3

3

Numero máximo de lanzamientos

67

67

¿Cree Usted que existen diferencias significativas con los resultados anteriores?

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

19

1.8. Ejemplo : Movimiento de una partícula

Una partícula se mueve en el siguiente círculo. La partícula empieza en cero. En cada punto en el círculo la

La probabilidad de que la

Usando la simulación

determine la distribución de frecuencia del número de pasos requeridos para que la partícula vuelva al punto inicial

partícula se mueva en el sentido de las agujas del reloj o en sentido contrarío es 1/2.

partícula dará un paso que puede ser a cualquier punto adyacente en el círculo.

0 7 1 6 2 5 3 4
0
7
1
6
2
5
3
4

1.8.1. Solución

4

A continuación se describe la secuencia de etapas o actividades que realiza la partícula para hacer un viaje completo, entendiendo por viaje completo los pasos que da desde que sale del punto inicial (cero) hasta que regresa al mismo punto

1. La partícula se coloca en

2. La partícula da un paso

3. Se investiga la dirección

4. Se actualiza la nueva posición

5. Regresó al punto de partida ?

la posición inicial

a) No regresó. Se repite el paso 2

b) Sí regresó. Se realiza el paso 6

6. Fin del viaje

Para realizar la simulación es necesario definir los siguientes aspectos :

Variables de Estado. Las principales variables requeridas para representar el viaje son la “posición” de la partícula -POSICION- y el número de pasos -PASOS- que se han dado en cualquier momento de la simulación.

Realización del movimiento. El dar el paso se representa mediante la generación de un número aleatorio.

Investigar la dirección. Para conocer la dirección que toma la partícula es necesario realizar una equivalencia entre el número aleatorio R y las diferentes direcciones que puede tomar la partícula. Como solo hay dos direcciones posibles, y ambas son equiprobables (1/2), se puede hacer algo similar a lo realizado en el caso de la moneda. Es decir, la dirección que toma la partícula estará definida de la siguiente manera

Si R < 0.5 la partícula gira en el sentido de las agujas del reloj, y la nueva posición estará dada por POSICION = POSICION + 1 Si llega a la posición 8, es equivalente a llegar a la posición cero, es decir :

SI POSICION = 8 POSICION = 0

Si R 0.5 la partícula gira en sentido contrario al de las agujas del reloj, y la nueva posición estará dada por

POSICION = POSICION - 1 Si llega a la posición -1, es equivalente a llegar a la posición siete, es decir:

SI POSICION = -1 POSICION = 7

1.8.2. Estadísticas de interés

Número medio de pasos requeridos para regresar

Número mínimo de pasos requeridos para regresar

Número máximo de pasos requeridos para regresar

Desviación estándar del número de pasos requeridos para regresar

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

20

Distribución de frecuencia del número de pasos requeridos para regresar

La Figura siguiente presenta el seudocódigo de la simulación, recogiendo todas las estadísticas requeridas.

Figura b1- Problema del Movimiento de la Partícula :Seudocódigo

Lectura de datos sobre :

 

Semillas, Número de Viajes, Parámetros para distribuciones de frecuencia

(SEMILLA, NRO_VIAJES, PROB_DERE, Xo, X, NRO_INT)

X = X 2 = 0, Xmin = 100, Xmax = 0 FRECUENCIA(INT)=0, INT=1,NRO_INT

 

PARA VIAJES = 1, NRO_VIAJES)

 
 

PASOS = 0 POSICION = 0 FIN_VIAJE = 0

 

MIENTRAS (FIN_VIAJE = 0)

 
 

PASOS = PASOS + 1

GENERAR NUMERO ALEATORIO “R”

SI (R. LT. PROB_DERE)

SI NO

POSICION = POSICION + 1 SI (POSICION =.8) ENTONCES POSICION = 0 FIN SI

POSICION = POSICION - 1 SI (POSICION. = -1) ENTONCES POSICION = 7 FIN SI

FIN SI

SI (POSICION. EQ. 0) FIN_VIAJE = 1 FIN SI

FIN MIENTRAS

 

X = X + PASOS X 2 = X 2 + PASOS 2

 

SI (PASOS .LT. Xmin) Xmin = PASOS

 

SI (PASOS .GT. Xmax) Xmax = PASOS

 

INT=[(PASOS - Xo)/X + 2]

 

SI (INT. LT. 1) INT = 1

 

SI (INT. GT. NRO_INT) INT = NRO_INT

 

FRECUENCIA(INT) = FRECUENCIA(INT) + 1

 

FIN PARA

 

MEDIA = X/NRO_VIAJES VARIANZA = (X 2 - NRO_VIAJES * MEDIA 2 )/(NRO_VIAJES - 1) DESVIACION = (VARIANZA)

IMPRIMIR “NRO_VIAJES, MEDIA, DESVIACION, Xmin, Xmax”

INTERV = 1

 

MIENTRAS (INTERV. LE. NRO_INT) ENTONCES

 
 

FRECUENCIA_RELATIVA = FRECUENCIA(INT) *100/NRO_VIAJES IMPRIMIR “INTERV, FRECUENCIA(INTERV), FRECUENCIA_RELATIVA” INTERV = INTERV + 1

FIN MIENTRAS

 

FIN SIMULACION

 

1.8.3. Resultados

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

21

En el cuadro siguiente se resumen los resultados obtenidos al realizar varias simulaciones con dos semillas diferentes y para varios tamaños de muestra. La tabla presenta también la probabilidad de realizar el viaje en dos pasos. Se observa que, a medida que se aumenta el tamaño de la muestra, el número medio de pasos requeridos para regresar al punto cero se aproxima a ocho (8.0) y la probabilidad de hacer el viaje en dos pasos se aproxima al 0.50.

Este ejemplo tiene solución analítica, modelándolo como una cadena de Markov, donde el estado del proceso es la posición de la partícula en cualquier instante. Los valores de ocho y 0.5 corresponden a las soluciones analíticas para el número medio de pasos y para la probabilidad de regresar al punto de partida en dos pasos, respectivamente.

Semilla

 

555

   

5555

 

Nro de viajes

50

100

500

1000

50

100

500

1000

Media

11.8

10.5

8.4

8.1

5.2

6.7

7.8

7.9

Desviación

18.6

16.5

11.3

10.5

6.5

9.3

10.1

10.2

Mínimo

2

2

2

2

2

2

2

2

Máximo

92

92

92

92

32

56

82

82

Prob(2)

42

43

48

49

66

55

50

50

1.9. Problema: La Tienda del Video

Considere una tienda de alquiler de videos, que compra las cintas de estreno a $25,000 la unidad, las alquila a sus clientes a $5,000, y al final del mes, revende las cintas a otras tiendas de barrio a $ 5,000 la copia. La tienda ha estimado que la demanda diaria por cintas de estreno tiene la siguiente distribución de probabilidad:

Número de copias

0

1

2

3

4

Probabilidad

0.15

0.25

0.45

0.10

0.05

Suponga que las cintas duran en alquiler un día, y que todos los clientes devuelven las copias al siguiente día. Cuántas copias de las cintas de estreno debe ordenar la tienda cada mes?

Solución

Con este ejemplo se pretende hacer claridad sobre dos aspectos diferentes de la simulación: Por un lado se pretende mostrar la forma de realizar una simulación, tomando como base la forma como opera el sistema real, y por otro lado, se pretende mostrar la forma como se realizan los procesos de optimización en la simulación (mediante métodos de búsqueda).

El objetivo es determinar cuántas copias deben pedirse cada mes, de tal forma que se maximice la utilidad mensual. Es decir, si Q es el número de copias que se compran cada mes, entonces se debe determinar el valor de Q que haga máxima la utilidad esperada por mes.

Si para un mes se compran Q copias de una cinta, entonces la utilidad mensual estará dada por:

Utilidad mensual(Q) = Ingresos por alquiler Costo Cintas compradas + Precio reventas

=

 

30

3000

Alquiler j

(

)

25,000

Q

5000

Q

j 1

donde Alquiler(j) representa el número de copias alquiladas a los clientes el día j.

Si X representa la demanda por cintas para el día j, entonces, el número de copias alquiladas ese día estará dada por:

Alquiler (j) = X = Q

si X Q si X> Q

Aunque este modelo tiene solución analítica, sólo nos interesaremos en la solución por simulación. Para resolver este problema por simulación, la única variable aleatoria que tenemos es la demanda diaria por cintas, la cual se debe “generar” o “simular (inventar)” para cada día. Su generación se hará simplemente

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

22

distribuyendo el rango del número aleatorio (0,1) en forma proporcional a cada valor de la probabilidad (este procedimiento se conoce como el “método de la transformación inversa caso discreto”).

Para cada valor de la demanda se calcula la probabilidad acumulada (función de distribución), según lo muestra la tabla siguiente, y los valores de la demanda se generarán de acuerdo a este valor de la siguiente manera:

Número de copias X

0

1

2

3

4

Probabilidad p(x)

0.15

0.25

0.45

0.10

0.05

Probabilidad acumulada F(x)

0.15

0.40

0.85

0.90

1.00

Se genera, mediante algún método apropiado, un número aleatorio R = r, con el cual se genera la demanda X de la siguiente manera:

Si

r < 0.15

X = 0

Si

0.15 r < 0.40

X = 1

Si

0.40 r < 0.85

X = 2

Si

0.85 r < 0.95

X = 3

Si

r 0.95

X = 4

Para cada valor de Q se deben simular varios meses, y calcular la utilidad promedio mensual.

Para determinar la cantidad óptima Q*, es decir, la que maximice la utilidad esperada, se debe realizar la simulación para diferentes valores de Q, mediante un método de búsqueda. Si en estudios de simulación se desea optimizar una función, deben emplearse métodos numéricos de optimización, y los mas empleados son los métodos de búsqueda.

Para nuestro caso, la cantidad mínima a pedir sería de una unidad, por lo tanto podemos empezar el proceso de búsqueda en uno (Q 0 = 1), usando un incremento o paso de 1 unidad (Q = 1). Se suspende el proceso de búsqueda cuando la utilidad esperada empiece a decrecer. En resumen, el procedimiento de optimización sería :

1) Se simula pidiendo una cantidad inicial Q = Q 0 = 1 y se obtiene la utilidad media UM(Q 0 ).

2) Se repite la simulación con una cantidad Q 1 = Q 0 + Q, y se calcula la utilidad media UM(Q 1 ). 2.1) Si UM(Q 1 ) UM(Q 0 ), termina la búsqueda y la cantidad optima a pedir sería Q= Q 0 = 1.

2.2 Si UM(Q 1 ) > UM(Q 0 ), se realizan nuevas simulaciones ordenando las siguientes cantidades :

Q 2 = Q 1 + Q, y se obtiene la utilidad media UM(Q 2 ). Q 3 = Q 2 + Q, y se obtiene la utilidad media UM(Q 3 ).

Q k = Q k-1 + Q, y se obtiene la utilidad media UM(Q k ). donde en Q k la función de utilidad no responde, es decir, UM(Q k ) UM(Q k-1 ).

La cantidad óptima a pedir sería de Q* = Q k-1

El siguiente “seudo código” ilustra la forma como se realizaría la simulación:

Definir Número de meses a simular, número de valores de Q Para cada valor i de Q = 1, número de valores Para cada mes = 1, Número de meses Total(mes) = 0 Para cada día = 1 hasta 30 Generar demanda X Si demanda Q(i), entonces Alquiler = demanda

Si no

Alquiler = Q(i)

Fin si Total(mes) = Total(mes) + Alquiler Siguiente día Siguiente mes Promedio mensual = Total(mes)/Número meses Utilidad Media Mensual (i) = 3000 Promedio Mensual 25,000 Q(i) + 5,000 Q(i)

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

23

Siguiente valor de Q Escoger el valor de Q que maximiza utilidad media {Máximo Utilidad Media Mensual (i)}

Con el fin de visualizar un poco mejor la simulación del problema, en las dos páginas siguientes se presentan el diagrama de flujo del problema, incluyendo el proceso de optimización, pero excluyendo el proceso de generación de la demanda diaria por videos, y el seudo código de la simulación, incluyendo la generación de la demanda diaria. Ambos diagramas representan lo mismo, pero en una forma diferente. Para algunas personas puede parecer más ilustrativo el diagrama de flujo, mientras que para otras lo puede ser el seudo código.

La tabla que se anexa a continuación del diagrama y del seudo código resume la simulación de este problema para valores de Q = 1, 2, 3 y 4, y para doce meses, aunque sólo se presenta la simulación completa para el primer mes. La cantidad óptima a pedir es Q = 2 copias.

1.10. Ejemplo. Operación de embalse : Un modelo simple

Una represa se utiliza para generar energía eléctrica y para el control del flujo de aguas. La capacidad de la represa es 4 unidades. La función de probabilidad de la cantidad de agua que fluye a la represa en el mes es la siguiente:

Cantidad

0

1

2

3

Probabilidad

1/6

1/3

1/3

1/6

Si el agua en la represa excede la capacidad máxima, el agua sobrante se bota a través del vertedero, que es de flujo libre. Para generar energía se requieren mensualmente una o dos unidades, con igual probabilidad, que se sueltan al final de cada mes. Si en la represa hay menos de la cantidad requerida, se genera energía con el agua disponible, es decir, se suelta toda el agua.

Se desea desarrollar un modelo de simulación de la operación de la represa para determinar la distribución del nivel del embalse al final del mes, la cantidad media de agua que se vierte y la demanda media que se satisface.

Desarrollo del modelo

El nivel del embalse al final de un mes está dado por :

Embalse al final del mes = Embalse inicial + Agua que entra - Agua que sale

El nivel del embalse al principio de un mes es igual al nivel del embalse al final del mes anterior. por lo tanto, si E t representa el nivel del embalse al final del mes t, se tiene que:

E t = E t-1 + A t - S t

donde A t corresponde al agua que llega a la represa, y S t al agua que sale de la represa, bien sea el agua que se vierte o que se suelta para generar energía.

El procedimiento general de simulación para un mes cualquiera se puede representar por los siguientes pasos :

Se determina el agua que llega a la represa A t

Se calcula el volumen inicial del embalse, agregando el agua que llega : E t = E t-1 + A t

Si el volumen del embalse excede la capacidad del mismo se calcula el agua que se vierte y el embalse queda en su nivel máximo.

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

24

Problema de la Tienda de Video. Diagrama de flujo

Comienza la simulación

Comienza la simulación

Nro meses, valor inicial Q 0 , incremento Q
Nro meses, valor inicial Q 0 , incremento Q
Util_max = 0 Q = Qo

Util_max = 0 Q = Qo

Util_max = 0 Q = Qo
A
A
Alquiler_total = 0 Para mes = 1, nro_meses Para dia = 1, 30 Generar demanda
Alquiler_total = 0
Para mes = 1, nro_meses
Para dia = 1, 30
Generar demanda
Demanda Q
Alquiler = Demanda
Alquiler_total = Alquiler_total+Alquiler
Siguiente día
Siguiente mes
Promedio= Alquiler_total/nro_meses
Imprimir resultados: Q, util_media
Alquiler = Q Util_media = 3000 Promedio – 25,000 Q + 5,000 Q
Alquiler = Q
Util_media = 3000 Promedio – 25,000 Q + 5,000 Q
Util_media > Util_maxima Imprimir solucion optima: Qop, U_optima FIN
Util_media > Util_maxima
Imprimir solucion optima:
Qop, U_optima
FIN

Q op = Q U_optima= util_media Q = Q + Q

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”. 1 - 25 Figura No
B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.
1
-
25
Figura No 3 – Seudocódigo Problema de la tienda de video
Lectura de datos sobre :
Semillas, Número de meses
CONTROL_OPTIMIZACIN = 0
Q = 1
UTIL_MAX=0
MIENTRAS (CONTROL_OPTIMIZACIN = 0)
UTIL_TOTAL =0
PARA MES = 1, MESES
SUMA_MES = 0
PARA DIA = 1, 30
GENERE NUMERO ALEATORIO “R”
SI (R< 0.15) ENTONCES
DEMANDA = 0
SI NO
SI (R< 0.40) ENTONCES
DEMANDA = 1
SI NO
SI (R< 0.85) ENTONCES
DEMANDA = 2
SI NO
SI (R< 0.95) ENTONCES
DEMANDA = 3
SI NO
DEMANDA = 3
FIN SI
FIN SI
FIN SI
FIN SI
SI (DEMANDA  Q) ENTONCES
ALQUILER = DEMANDA
SI NO
ALQUILER = Q
FIN SI
SUMA_MES = SUMA_MES +ALQUILER
SIGUIENTE DIA
UTIL_TOTAL = UTIL_TOTAL +3000*SUMA_MES – 20000*Q
SIGUIENTE MES
UTIL_PROMEDIO(Q) = UTIL_TOTAL/MESES
IMPRIMIR Q, UTIL_PROMEDIO(Q), UTIL_PROMEDIO(Q)
SI (UTIL_PROMEDIO(Q) > UTIL_MAX)ENTONCES
UTILMAX = UTILPROMEDIO(Q)
QOPTIMO = Q
Q = Q + 1
SI NO
CONTROL_OPTIMIZACIN = 1
FIN SI
FIN MIENTRAS
IMPRIMIR “SOLUCION OPTIMA” QOPTIMO, UTIL_MAX
FIN SIMULACIÓN

B. Calderón. Introducción a la Simulación. Cap 1. “Simulación. Aplicabilidad”.

1

-

26

RESULTADOS DE LA SIMULACION DE LA TIENDA DE VIDEO

Precios de:

Compra = 25,000,

Alquiler = 3,000, Reventa = 5,000

MES

       

NUMERO DE COPIAS Q

 
 

DIA

R

DEMANDA

1

2

3

4

       

ALQUILER

ALQUILER

ALQUILER

ALQUILER

1

1

0.504

2

1

2

2

2

 

2

0.634

2

1

2

2

2

 

3

0.381

1

1

1

1

1

 

4

0.689

2

1

2

2

2

 

5

0.980

4

1

2

3

4

 

6

0.306

1

1

1

1

1

 

7

0.589

2

1

2

2

2

 

8

0.542

2

1

2

2

2

 

9

0.849

2

1

2

2

2

 

10

0.816

2

1

2

2

2

 

11

0.326

1

1

1

1

1

 

12

0.778

2

1

2

2

2

 

13

0.387

1

1

1

1

1

 

14

0.610

2

1

2

2

2

 

15

0.819

2

1

2

2

2

 

16

0.468

2

1

2

2

2

 

17

0.679

2

<