Dirección General de Educación Superior Tecnológica Instituto Tecnológico de Tijuana
ING. CIVIL
INVESTIGACION DE OPERACIONES
“SISTEMA DE COLAS Y PROCESO DE MONTE CARLO”
Tijuana, BC, a 16 de mayo de 2012.
Contenido SISTEMA DE COLAS.- ........................................................................................................................... 3 ¿PARA QUE SIRVE? .......................................................................................................................... 3 PROCEDIMIENTO: ............................................................................................................................ 5 EJEMPLOS. ..................................................................................................................................... 12 PROCESO DE MONTE CARLO.-........................................................................................................... 16 ¿PARA QUE SIRVE? ........................................................................................................................ 16 PROCEDIMIENTO: .......................................................................................................................... 17 EJEMPLOS. ..................................................................................................................................... 19 BIBLIOGRAFIA. ................................................................................................................................... 31
SISTEMA DE COLAS.INTRODUCCION Parte de nuestra vida diaria es la de esperar algún servicio. Esperamos para entrar a un restaurante, “hacemos cola” en la caja de algún almacén y “nos formamos” para recibir un servicio en la oficina de correos. Y el fenómeno de la espera no es una experiencia que se limite sólo a los humanos: los trabajos esperan a ser procesados en una máquina, los aviones vuelan en círculo hasta que la torre de control les da permiso de aterrizar y los automóviles se detienen ante la luz roja de los semáforos. Desafortunadamente no se puede eliminar la espera sin incurrir en gastos desmesurados. De hecho, todo lo que cabe esperar es reducir el impacto desfavorable a niveles tolerables.
¿PARA QUE SIRVE? El estudio de las líneas de espera trata de cuantificar el fenómeno de esperar formando colas, mediante medidas representativas de eficiencia, como la longitud promedio de la cola, el tiempo promedio de espera en ella, y la utilización promedio de las instalaciones. El ejemplo que sigue demuestra cómo se usan esas medidas para diseñar una instalación de servicio.
ELEMENTOS DE UN MODELO DE COLA Los actores principales en una línea de espera o cola son el cliente y el servidor. Los clientes se generan en una fuente. Al llegar a la instalación pueden recibir servicio de inmediato, o esperar en una cola o línea de espera, si la instalación está ocupada. Cuando en una instalación se termina un servicio, en forma automática se “atrae” a un cliente que espera, si lo hay, de la cola. Si la cola está vacía, la instalación se vuelve inactiva hasta que llega un cliente nuevo. Desde el punto de vista del análisis de las colas, el proceso de llegada se representa con el tiempo entre llegadas, de los clientes sucesivos, y el servicio se describe con el tiempo de servicio por cada cliente.
Por lo general, los tiempos entre llegadas y de servicio pueden ser probabilísticos, como en el funcionamiento de una oficina de correos, o determinísticos, como en la llegada de solicitantes a las entrevistas de trabajo. El tamaño de la cola desempeña un papel en el análisis de las colas, y puede ser finito, como en el área de reserva entre dos máquinas consecutivas, o puede ser infinito, como en las instalaciones de pedido por correo. La disciplina de la cola, que representa el orden en el que se seleccionan los clientes de una cola, es un factor importante en el análisis de los modelos de colas. La disciplina más común es la de primero en llegar, primero en servirse (PLPS; también FCFS, del inglés first come, first served). Entre otras disciplinas están último en llegar, primero en servirse (ULPS; también LCFS de last come, first served), y de dar servicio en orden aleatorio (SEOA; también SIRO, de service in random order). También, los clientes se pueden seleccionar en la cola con base en cierto orden de prioridad. Por ejemplo, los trabajos urgentes en un taller se procesan antes que los trabajos normales. El comportamiento de los clientes en espera juega un papel en el análisis de las líneas de espera. Los clientes “humanos” se pueden saltar de una cola a otra, tratando de reducir la espera. También pueden rehusar totalmente a la cola por haber esperado demasiado. El diseño de la instalación de servicio puede comprender servidores en paralelo (por ejemplo, el funcionamiento de la oficina de correos). También, los servidores pueden ordenarse en serie (por ejemplo, cuando los trabajos se procesan en máquinas sucesivas) o bien pueden formar una red (por ejemplo, los enrutadores en una red de computadoras). La fuente donde se generan los clientes puede ser finita o infinita. Una fuente finita limita a los clientes que llegan al servicio (por ejemplo, las máquinas que piden el servicio de mantenimiento). También, una fuente infinita es abundante por siempre (por ejemplo, las llamadas que llegan a una central telefónica). Las variaciones de los elementos de un caso de colas dan lugar a diversos modelos de colas.
PROCEDIMIENTO: El sistema de colas consiste esencialmente de tres componentes principales: (1) la población fuente y la forma como los clientes llegan al sistema, (2) el sistema de servicio y (3) la condición en que los clientes que salen del sistema (¿vuelven o no la fuente de población?). La Teoría de Cola no es una técnica de optimización, sino una herramienta que utiliza fórmulas analíticas (limitadas por suposiciones matemáticas. No se asemejan a una situación real, pero da una primer aproximación a un problema y a bajo costo), que brindan información sobre el comportamiento de líneas de espera (estas se presentan cuando "clientes" llegan a un "lugar" demandando un servicio a un "servidor" el cual tiene una cierta capacidad de atención y no está disponible inmediatamente y el cliente decide esperar).
Proceso Básico de las Colas El proceso básico supuesto por la mayor parte de los modelos de colas es el siguiente. Los clientes que requieren servicios, a través del tiempo, provienen de una fuente de entrada. Estos clientes arriban al sistema de servicios y se unen a una cola. En un determinado tiempo se selecciona un miembro de la cola, mediante alguna regla conocida como disciplina de servicio. Luego, se brinda el servicio requerido por el cliente en un mecanismo de servicio, después de lo cual el cliente sale del sistema de servicio. Componentes del Proceso de Colas 1 – Fuente de Entrada Una característica de la fuente de entrada es su tamaño. El tamaño es el número total de potenciales clientes que pueden requerir servicio en un determinado momento. Esta población a partir de la cual surgen las unidades que arriban se conoce como población o fuente de entrada. Puede suponerse que el tamaño es infinito o finito (por lo cual se dice que la fuente de entrada es ilimitada o limitada). Debe especificarse el patrón estadístico mediante el cual se generan los clientes a través del tiempo. La suposición normal es que se generan de acuerdo al proceso de Poisson. Este caso corresponde a aquel cuyas llegadas al sistema ocurren de manera aleatoria, pero con cierta taza media fija y sin importar cuantos clientes están ya allí (por lo que el tamaño de la fuente de entrada es infinito). Una suposición equivalente es que, la distribución de probabilidad del tiempo que transcurre entre dos llegadas consecutivas es exponencial. Se hace referencia al tiempo que transcurre entre dos llegadas consecutivas como tiempo entre
llegadas.
Población Finita Es un grupo limitado de clientes que representa la fuente que usará un servicio y que en ocasiones forma una cola. En esta caso cuando un cliente deja su posición como miembro de la población de usuarios, se reduce en una unidad el tamaño del grupo de usuarios, lo cual reduce la probabilidad que un usuario requiera servicio. Por el contrario, si se brinda mantenimiento a un cliente y éste regresa al grupo de usuarios, aumenta la población y también la probabilidad de que un usuario requiera servicio. (Ejemplos: reparación de cosechadoras, las PC de un gabinete, etc.). Población Infinita Es aquella población que tiene el tamaño suficiente en comparación con el sistema de servicio, para que los cambios en el tamaño de la población, ocasionados por disminuciones o incremento a la población, no afectan de manera sustancial las probabilidades del sistema. (ejemplos: en un supermercado los clientes que hacen fila; la cola en un banco; en una estación de gasolina, etc.). 2 – Proceso de Llegada Es la forma en que los clientes de la fuente de entrada llegan a solicitar un servicio. La característica más importante del proceso de llegada es el tiempo entre llegadas, que es la cantidad de tiempo entre dos llegadas sucesivas de clientes a un sistema de colas. Se supone que el proceso de llegada no es afectado por el número de clientes presentes en el sistema. Existen casos en los que el proceso de llegada puede depender del número de clientes presentes en el sistema, como en el caso de una población pequeña.
Ejemplo: hay cuatro barcos en un astillero, si los cuatro están en reparación, entonces ningún barco se puede descomponer en el futuro cercano. Por otro lado, si los barcos están en el mar, en el futuro cercano hay una probabilidad relativamente alta de que alguno sufra una avería. Otro caso en el que el proceso de llegada depende del número de clientes presentes en cola, se tiene cuando la rapidez con la que llegan los clientes a la instalación disminuye si está demasiado concurrida. Por ejemplo: si un banco tiene mucha gente, cuando llega un cliente se puede ir.
3 – Cola Una cola se caracteriza por el número de clientes que puede admitir. Las colas pueden ser finitas o infinitas; la suposición de una cola infinita es la estándar en la mayoría de los modelos, incluso las situaciones en las que de hecho existe una cota superior (relativamente grande) sobre el número permitido de clientes. Los sistemas de colas en los que la cota superior es tan pequeña que se llegan a ella con cierta frecuencia, se suponen como cola finita. Costos del Sistemas de Colas Las llegadas son las unidades que entran en el sistema para recibir el servicio; estos elementos se unen primero a la cola; si no hay línea de espera se dice que la cola esta vacía. Costo de Espera Esperar significa desperdicio de algún recurso activo que bien se puede aprovechar en otra cosa y esta dado por: Costo total de espera = Cw * L Cw = costo de espera por llegada y por unidad de tiempo, y L = a longitud promedio de la cola.
Sistema de Costo Mínimo Aquí hay que tomar en cuenta (ver Figura 2), que para tasas bajas de servicio se experimenta largas colas y costos de espera muy altos. Conforme aumenta el servicio disminuyen los costos de espera, pero aumenta el costo de servicio y el costo total disminuye, sin embargo, finalmente se llega a un punto de disminución en el rendimiento. Por lo tanto, se debe encontrar el balance adecuado para que el costo total sea el mínimo.
4 – Selección a Partir de la Cola o Línea de Espera Disciplina de Cola La disciplina de la cola se refiere al orden en el que se seleccionan los clientes para recibir el servicio. Por ejemplo, el primero en entrar es el primero en salir; aleatoria; de acuerdo a algún procedimiento de prioridad o a algún otro orden. En general la disciplina de los modelos de cola es: primero en entrar, primero en salir. Las reglas de prioridades más comunes para determinar el orden de servicio a los clientes que esperan en la cola son: − PEPS: Primero Entrado, Primero Salido. − UEPS. Ultimo Entrado, Primero Salido. − SEOA: Servicio en Orden Aleatorio. − GD: Disciplina General de Servicio (representa las disciplinas PEPS, UEPS y SEOA). 5 – Instalación de Servicios o Estaciones El mecanismo de servicio consiste en una o más instalaciones de servicio , cada una de ellas con uno o más canales paralelos de servicio, llamados servidores. Si existe más de una instalación de servicio, puede ser que sirva al cliente a través de una secuencia de ellas (canales en serie de servicio). En una instalación dada, el cliente entra en uno de estos canales y el servidor le presta el servicio completo. Un modelo de colas debe especificar el arreglo de las instalaciones y el número de servidores (canales paralelos) en cada una. El tiempo que transcurre para un cliente desde el inicio del servicio hasta su terminación en una instalación se llama tiempo de servicio (o duración del servicio). Un modelo de sistema de colas determinado debe especificar la distribución de probabilidad de los tiempos de servicio para cada servidor (y tal vez para los distintos clientes), aunque es común suponer la misma distribución para todos los servidores. El flujo de los elementos que recibirán servicios puede formar
una cola única, una cola múltiple o una combinación de ambas y pueden ser brindadas por un servidor o múltiples servidores.
i) Un Servidor - Una Cola Es el tipo más sencillo de estructura y existen fórmulas directas para resolver el problema con distribución normal de patrones de llegada y de servicio. Cuando las distribuciones no son normales se resuelve con simulaciones (ejemplo: lavadero automático de autos, muelle de descarga de un solo lugar, etc. ii) Múltiples Servidores (en paralelo) – Varias Colas El problema con este formato es que las diferencias en el tiempo de servicio para cada cliente ocasionan un flujo o velocidad desigual en las colas. Como resultado de esto, algunos clientes son atendidos antes que otros que llegaron primero y además producen cambios de una cola a otra (por ejemplo: las ventanillas de los bancos y las cajas de pago de los supermercados). iii) Múltiples Servidores (en paralelo) – Una Cola Para modificar una estructura de manera que se asegure el servicio por orden de llegada, es necesario formar una sola cola, de la cual, al quedar disponible un servidor se le asigna el siguiente cliente. El principal problema con esta estructura es que requiere un estricto control de la cola para mantener el orden y dirigir a los clientes hacia los servidores disponibles. (Ejemplo: peluquería o una panadería en donde los clientes toman un número al entrar y se les sirve cuando llega el turno). iv) Múltiples Servidores (en serie) – Una Cola Un factor crítico del caso de un solo canal con servicio en serie es la cantidad de elementos que se acumulan al frente de cada servicio, lo cual genera colas de (Limpieza con aspiradora, remojo, lavado, enjuague, secado, estacionamiento) en una secuencia bastante uniforme. Espera separada. Un ejemplo es el lavado de un automóvil, donde se realizan varios servicios Por la variación inherente de los tiempos de servicio, la situación óptima para maximizar el uso del servicio es permitir que se forme una cola de espera infinita frente a cada servidor. La peor situación es aquella donde no se permiten colas y
sólo puede estar un cliente. Este problema es común en muchos sistemas orientados a productos (líneas de montaje), en los sistemas orientados a procesos (talleres de trabajo, procesamiento órdenes por lotes), permite la utilización máxima del servidor al dejar que el inventario de artículos disponibles absorba la variación en tiempo de desempeño.
v) Múltiples Servidores - Fases Múltiples En este caso se sigue una secuencia de pasos específicos, como en el caso de admisión de pacientes en un hospital (contacto inicial en el mostrador de admisión, llenar formularios, elaborar tarjetas de identificación, obtener la asignación de una habitación, llevar al paciente a la habitación, etc.). Es posible procesar más de un paciente a la vez, ya que generalmente existen varios servidores disponibles para este procedimiento. 6 - Proceso de Salida Es la forma en que los clientes abandonan un sistema de colas. Para describir el proceso de salida de un sistema de cola, se especifica una distribución de probabilidad. En la mayor parte de los casos suponemos que la distribución de tiempo de servicio es independiente del número de clientes presentes, es decir que el servidor no trabaja más rápido cuando hay más clientes.
Modelos de Teoría de Cola A
C Número Modelo Distribución Distribución de
1 2 3 4 5 6
B
D
E F Nro. Max de Disciplina Clientes Población Permitidos del en el de Llegadas de Salidas Servidores Servicio Sistema M M 1 PEPS Infinito Infinita M M 1 GD N Infinita M M S GD Infinito Infinita M M S GD N Infinita M M 1 GD K K M M R GD K K
El modelo 5 y 6, suelen llamarse de servicio cerrado. El servidor atiende a un número constante de máquinas o unidades. Cuando una máquina se rompe, no puede generarse nuevos llamados mientras permanezca en servicio. En el caso del modelo 6 el sistema tiene un total de K máquinas que son atendidas por R operarios. Notación para Modelos de Cola (A,B,C,):(D,E,F) A: distribución de arribos (M=Poisson – D=Determinista – E=Erlang). B: distribución de salidas (M=Poisson – D=Determinista – E=Erlang). C: Número de servidores en paralelo. D: Disciplina del servicio. E: Número máximo de clientes permitidos en el sistema (en cola + en servidores). F: Población Modelo 1 2 3 4 5 6
Notación (M,M,1):(GD,α,α) (M,M,1):(GD,N,α) (M,M,S):(GD,α,α) (M,M,S):(GD,N,α) (M,M,1):(GD,K,K) (M,M,R):(GD,K,K)
EJEMPLOS. EJEMPLO 1. McBurger es un restaurante de comida rápida, con tres mostradores de servicio. El gerente ha encargado que se haga un estudio para investigar las quejas por lo lento del servicio. El estudio indica la siguiente relación entre la cantidad de mostradores de servicio y el tiempo de espera de los clientes. Cantidad 1 cajeros Tiempo 16.2 (min)
2
3
4
5
6
7
10.3
6.9
4.8
2.9
1.9
1.3
Al examinar esos datos se ve que hay un tiempo promedio de espera de 7 minutos para el caso actual de 3 mostradores. El gerente desea reducirlo a unos 3 minutos, resultado que solo se puede alcanzar con cinco (o más) mostradores.
EJEMPLO 2. Una maquina en servicio tienen una unidad de reserva para sustituirla de inmediato cuando falle. El “tiempo de falla” (tiempo entre fallas) de la maquina (o de su unidad de reserva) es exponencial, y sucede cada 40 minutos, en promedio. El operador de la maquina dice que ésta “tiene la costumbre” de descomponerse cada noche a eso de las 8:30 p.m. Analizar lo que dice el operador. La Tasa promedio de fallas de la maquina es λ=60/40=1.5 fallas por hora. Asi, la distribución exponencial del tiempo a la falla es ( ) En cuanto a lo que dice el operador, ya se sabe que no puede ser correcto, porque se opone al hecho de que el tiempo entre fallas es exponencial y, en consecuencia, es totalmente aleatorio. La probabilidad de que una falla suceda a las 8:30 p.m. no puede usar para respaldar ni refutar esa afirmación, porque el valor de esa probabilidad depende de la hora del dia (en relación con las 8:30 p.m.) con la que se calcule. Por ejemplo, si ahora son las 8:20 p.m., la probabilidad de que lo que dice el operador sea cierto esta noche es que es baja. {
}
Si en este momento son las 7:00 p.m., la probabilidad de que suceda una falla a las 8:30 p.m. aumenta hasta aproximadamente 0.9. Estos dos valores extremos indican que no se puede analizar la afirmación del operador con base en estimaciones de probabilidad y que se debe confiar en las características de la distribución exponencial (aleatoriedad total) para refutar la afirmación.
EJEMPLO 3. Los niños nacen en un estado un poco poblado, con una frecuencia de un nacimiento cada 12 minutos. El tiempo entre nacimientos sigue una distribución exponencial. Determinar lo siguiente: a) La cantidad promedio de nacimientos por año. b) La probabilidad de que no haya nacimientos en cualquier día. c) La probabilidad de emitir 50 certificados de nacimiento en 3 horas, cuando se emitieron 40 certificados durante las primeras 2 horas del periodo de 3 horas. La tasa diaria de nacimientos se calculo como sigue: ⁄ Los nacimientos anuales en es estado son ⁄ La probabilidad de que no haya nacimientos en algún día se calcula con la distribución de poisson: ( )
(
)
Para calcular la probabilidad de emitir 50 certificados en 3 horas, cuando se han emitido ya 40 certificados en las primeras 2 horas, equivale a tener 10(=50-40) nacimientos en 1(=3-2) horas. Como λ= 60/12=5 nacimientos por horas, entonces ( )
(
)
Los cálculos de la distribución de poisson, y en realidad de todas las formulas de colas son tediosos, y requieren manejo especial para asegurar una exactitud de computo razonable. Se aconseja entonces usar Excel para hacer los cálculos en especifico las plantilla ch17poissonQueues.xls.
Llenando como sigue:
Lamda 5
Mu 0
λt= 5 X 1= 5 nacimientos por día.
c 0
Limite del sist. infinito
Limite de Fte. infinito
PROCESO DE MONTE CARLO.INTRODUCCION La simulación es la mejor alternativa de la observación de un sistema. Nos permite recopilar información pertinente acerca del comportamiento del sistema al paso del tiempo. La simulación no es una técnica de optimización. Más bien se usa para estimar las mediciones del desempeño de un sistema modelado. La simulación moderna suele manejar situaciones que se pueden describir en el contexto de una línea de espera o cola. La simulación no se limita a eso, porque casi cualquier situación de funcionamiento se puede considerar como alguna forma de línea de espera. Ésta es la razón por la que la simulación ha gozado de aplicaciones tan tremendas en las redes de comunicaciones, manufactura, control de inventario, comportamiento del cliente, pronósticos económicos, sistemas biomédicos y estrategias y tácticas bélicas.
¿PARA QUE SIRVE? El método de Montecarlo 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. Este precursor de la simulación de nuestros días es un esquema dirigido hacia la estimación de parámetros estocásticos o determinísticos con base en el muestreo aleatorio. La diferencia principal entre las dos técnicas es que en el método de Monte Carlo el elemento tiempo no es factor pertinente. Como ejemplos de las aplicaciones Monte Carlo está la estimación del área de una curva o, en forma más general, la evaluación de integrales múltiples, la estimación de la constante, y la inversión de matrices. La simulación es un experimento estadístico y en consecuencia sus resultados se deben interpretar con las pruebas estadísticas adecuadas.
PROCEDIMIENTO: Enfoque grafico: en este se construye una grafica en la cual se coloca en el eje de las abscisas a la variable aleatoria e la cual se vana generar los valores y en el de las ordenadas ala probabilidad acumulada para la cual aplica cada uno de los valores de la variable aleatoria. Esta probabilidad acumulada será valida en un intervalo que ira desde el valor superior del intervalo anterior hasta el nivel de probabilidad acumulada que corresponde a cada valor de la variable aleatoria. Para el caso del primer valor de esta, se tomara el intervalo desde cero hasta el valor de su probabilidad acumulada, la cual será igual a la probabilidad individual. 1. Generar una serie de números aleatorios, r₁,r₂,,,,,,rm uniformemente distribuidos en [0,1] Generar un numero aleatoria, el cual se tomara con los dígitos que contenga como la fracción entre cero y la unidad respectiva. Generación de números aleatorios: Son necesarios para proporcionar la secuencia aleatoria inicial (Uniformemente distribuida entre 0 y 1).Existen numerosos algoritmos de generación de números (pseudo) aleatorios. En particular, las diferentes variantes de RANLUX, disponibles en todas las bibliotecas matemáticas modernas (CERN,GSL, etc.) 2. Con el valor obtenido en el paso anterior, se entra ala grafica por el eje de las ordenadas y se mueve uno paralelamente al eje de las abscisas hasta el escalón de la línea correspondiente. Siendo:
Ambas probabilidades tienen que ser iguales Para determinar la transformación x(r) para la que la condición anterior se verifica puede imponerse (la receta no es única) que:
3. Al llegar al escalón nos moveremos ahora hacia abajo paralelamente al eje de las ordenadas hasta alcanzar el eje de las abscisas. Método de aceptar/rechazar. En muchos casos es difícil resolver analíticamente la ecuación que nos da x(r)por el método de transformación. En estos casos puede aplicarse el método de aceptar/rechazar (Von Neumann) Considerar una pdf que puede ser totalmente acotada por una “caja”.
4. Obtendremos el valor de la variable aleatoria leyéndolo en la escala del eje de las abscisas. Enfoque tabular: 1. se produce un número aleatorio mediante el generador respectivo, el cual se maneja como fracción entre cero y la unidad con el número de dígitos que contenga. 2. Se analiza en cual intervalo de probabilidad acumulada se halla el número aleatorio. 3. El valor de la variable aleatoria que corresponde al intervalo localizado ene l pasos anteriores, será el número buscado.
EJEMPLOS. EJEMPLO 1. Se usara muestreo monte carló para estimar el área de un círculo cuya ecuación es: (x-1)2 + (y-2)2=25 El radio del circulo es r= 5 cm, y su centro es (x,y)=(1,2).
El procedimiento para estimar el área consiste en encerrar el circulo en forma apretada en un cuadrado cuyo lado sea igual al diámetro del circulo, como se ve en la figura 18.1. Los puntos de las esquinas se determinan con la geometría del cuadrado. La estimación del área del círculo se basa en la hipótesis que todos los puntos del recuadro tienen igual probabilidad de presentarse. Asi, si de una muestra aleatoria de n puntos en ele cuadrado sucede que m puntos están dentro del circulo, entonces (Calculo del área)= m/n (área del cuadrado)= m/n (10X10) Para asegurar que todos los puntos del cuadrado tengan igual probabilidad de aparecer, se representara las coordenadas x y y de un punto en el cuadrado con las siguientes distribuciones uniformes: ( ) ( )
Un punto muestreado (x, y) con base en la distribución f1(x) y f2 (y) garantiza que todos los puntos del cuadrado tienen igual probabilidad de ser seleccionados. El procedimiento para determinar una muestra (x, y) comienza con generar números alea-torios independientes entre 0 y 1, y a continuación localizándolos en los ejes x y y. Los números aleatorios de 0 a 1 se determinan con la siguiente distribución uniforme: ( )
*
En la tabla 18.1 se muestra una lista pequeña de números aleatorios (0, 1). Esos números se determinan con operaciones aritméticas especiales, que generen valores estadísticamente in-dependientes con base en la distribución uniforme f (z), como se explicará en la sección 18.4. Dado un par de números aleatorios R1 y R2, se determina un punto aleatorio (x, y) en el cuadrado como sigue: [
(
)]
[
(
)]
Para demostrar la aplicación del procedimiento, supongamos que R1 y 0.0589 y R2 = 0.6733, Entonces
Este circulo esta dentro del círculo porque (-3.411-1)2 + (3.733-2)2 = 22.46 < 25
A continuación se investigará el efecto del muestreo aleatorio sobre la exactitud de la estimación del área del círculo. Se puede aumentar la fiabilidad de la estimación aumentando el tamaño de la muestra y/o usando replicaciones, réplicas o duplicaciones; son los mismos procedimientos que se emplean en los experimentos estadísticos ordinarios. Como los cálculos correspondientes a cada muestra son sencillos, pero voluminosos y tediosos, la plantilla eh 18Circle.xls (con macros VBA de Visual Basic) tiene por objeto hacer esos cálculos. Los datos incluyen el radio r del círculo y su centro, (cx, cy), junto con el tamaño de la muestra n y la cantidad de replicaciones N. El elemento Steps (pasos) en la celda E4 permite ejecutar varios tamaños de muestra en la misma corrida. Así, sin = 30,000 y Steps = 3, la plantilla producirá en forma automática resultados para n = 30,000, 60,000 y 90,000. En la figura 18.2 se resumen los resultados para Steps = 3 y N= 5 réplicas. El área exacta es 78.54 cm2, y en los resultados de Monte Cario se ve que el área promedio estimada para los tres tamaños de muestra varía desde A = 78.533 hasta A = 78.490 cm2• También se observa que la desviación estándar disminuye desde s = 0.308 paran = 30,000 hasta s = 0.191 para n = 90,000, indicio de que en general la exactitud de los resultados aumenta al aumentar el tamaño de la muestra. Obsérvese que cada vez que se oprime el botón de comando press to execute monte carlo, se obtienen nuevas estimaciones, porque Excel refresca el generador de números alea-torios para usar una secuencia distinta. Debido a la variación aleatoria en el resultado del experimento, es necesario expresar los resultados en forma de intervalo de confianza. Si A y s son la media y la varianza de N réplicas, entonces, para un nivel de confianza A el intervalo de confianza para el área real A es √ √
El parámetro
se determina
con las tablas de distribución t, para un nivel de confianza α y N-1 grados de libertad (véase la tabla ten el apéndice C). (Obsérvese que N es igual a la cantidad de réplicas, que es distinta den, el tamaño de la muestra.) En términos del experimento que nos ocupa, interesa
establecer el intervalo de confianza con base en el tamaño máximo de la muestra (es decir, n = 90,000). Para N = 5, A´ = 78.490 cm2 y S = 0.191 cm2, t0.025, 4 = 2.776, y el intervalo de confianza de 95% resultante es 78.25 <= A <= 78.73. (En la plantilla de Excel se calcula en forma automática el intervalo de confianza de 95%.) Obsérvese que, en general, el valor de N debería ser 5 como mínimo, para obtener una exactitud razonable en la estimación del intervalo de confianza. EJEMPLO 2. El tiempo t entre llegadas de clientes a una instalación se representa con una distribución exponencial con media E{t} = 1/λ unidades de tiempo; es decir, ( ) Determinar una muestra aleatoria de t a partir de f{t). La función de densidad acumulada es la siguiente: ( )
∫
Al igualar R = F(t) se puede despejar t, y se llega a ( ) (
)
Como 1 - R es el complemento de R, se puede remplazar a ln( 1 - R) por ln(R). En términos de simulación, el resultado indica que las llegadas están distanciadas t unidades de tiempo. Por ejemplo, si A = 4 clientes por hora y R = 0.9, el tiempo que transcurre hasta la ocurrencia de la siguiente llegada se calcula como sigue: ( ) (
)
Los valores de R usados para obtener muestras sucesivas se deben seleccionar en forma aleatoria de una distribución uniforme (0, 1). En la sección 18.4 se indicará cómo generar esos valores aleatorios (0, 1) durante el curso de la simulación.
EJEMPLO 3. Usted es el afortunado ganador de un concurso. El premio es un viaje todo pagado a uno de los hoteles importantes de Las Vegas, que incluye algunas fichas para apostar en el casino del hotel. Al entrar al casino, se da cuenta que además de los juegos tradicionales (blackjack, ruleta, etc.) Ofrecen un nuevo juego con las siguientes reglas. Reglas del juego 1. En cada jugada se lanza una moneda no alterada repetidas veces hasta que la diferencia entre el número de caras y cruces que aparecen sea tres. 2. Si se decide participar se paga $1 cada vez que se lanza la moneda. No se puede abandonar el juego hasta que acaba. 3. Se reciben $8 al final de cada juego. Así, se gana dinero si el número necesario de lanzamientos es menor que ocho, pero se pierde si se tiene que lanzar la moneda más de ocho veces. Estos son algunos ejemplos (donde H representa cara y T cruz) HHH 3 lanzamientos Se ganan $5 THTTT 5 lanzamientos Se ganan $3 THHTHTHTTTT 11 lanzamientos Se pierden $3 ¿Cómo se podría decidir si conviene o no participar en este juego? Muchas personas basarían esta decisión en la simulación, aunque tal vez no la llamaran así. En este caso, la simulación no es más complicada que jugar uno mismo el juego muchas veces hasta que sea claro si vale la pena jugarlo por dinero. Podría bastar con lanzar una moneda durante media hora y registrar las pérdidas y ganancias que resultan. Ésta es, de hecho, una simulación porque en realidad imita el juego real sin que de hecho se gane o se pierda dinero. Se analizará cómo se puede usar una computadora para realizar este mismo experimento simulado. Aunque una computadora no puede lanzar monedas, puede simular que lo hace. Logra esto generando una secuencia de observaciones aleatorias de una distribución uniforme entre 0 y 1, donde se hace referencia a estas observaciones aleatorias como números aleatorios uniformes en el intervalo [0, l]. Una manera sencilla de generar números aleatorios uniformes es usar la función ALEATORIO() en Excel. Por ejemplo, la esquina inferior izquierda de la figura22.1 indica que se introdujo =ALEATORIO() en la celda C10 y después se copió a las celdas C11:C59 con el comando Copiar (los paréntesis deben incluirse en esta función, aunque no se escriba entre ellos). Esto ocasiona que Excel genere los números aleatorios mostrados en las celdas Cl0: C59 de la hoja de cálculo (las filas 24 a 53 están escondidas para ahorrar espacio en la figura.
Las probabilidades para el resultado de lanzar la moneda son P(caras) = 1/2, P(cruces) = 1/2.
Modelo en una hoja de cálculo para la simulación de juego de monedas.
Por lo tanto, para simular el lanzamiento de una moneda en la computadora cualquier mitad de los números aleatorios posibles corresponden a cara y la otra mitad a cruz. Para ser específicos, se usará la siguiente correspondencia: 0.0000 a 0.4999 corresponde a cara. 0.5000 a 0.9999 corresponde a cruz. Al usar la fórmula = SI (ALEATORI0()<0.5, 1, 0), en cada celda de la columna D de la figura 22.1, Excel inserta un 1 (para indicar caras) si el número aleatorio es menor que 0 .5 y un 0 (para indicar cruces) de otra manera. En consecuencia, los primeros 11 números aleatorios generados en la columna e llevan a la siguiente secuencia de caras (H) y cruces (T). THHTTHTHTTT, punto en el que se detiene el juego porque el número de cruces (7) excede por 3 al número de caras ( 4). Las celdas D4 y D5 registran el número total de lanzamientos ( 11) y las ganancias obtenidas ($8- $11= -$3). Las ecuaciones en la parte inferior de la figura 22.1 muestran las fórmulas introducidas en las celdas de la parte superior y que después se copiaron en otra hoja. Si se usan estas ecuaciones, la hoja de cálculo registra la simulación de una jugada completa del juego. Para asegurar que el juego termine, se simularon 50 lanzamientos. Las columnas E y F registran el números acumulados de caras y cruces cada vez que se lanza. Las ecuaciones de las celdas de la columna G dejan la celda en blanco hasta que la diferencia entre el número de caras y cruces llega a 3, en cuyo punto se inserta un STOP en la celda. De ahí en adelante, aparece NA (no se aplica). Al uso de las ecuaciones mostradas en la parte superior derecha de la figura 22.1, se registra en las celdas D4 y D5 el resultado de la jugada simulada del juego.
Estas simulaciones del juego de monedas se pueden repetir cuanto se desee con esta hoja de cálculo. Cada vez, Excel genera un nueva secuencia de números aleatorios y por ende de caras y cruces. (Excel repetirá una secuencia de números aleatorios sólo si se elige el intervalo de números que desea repetir, copiándolos como valores con el "pegado especial" en el menú de "edición".) Es común que las simulaciones se repitan muchas veces para obtener una estimación más confiable con un resultado promedio. Entonces, esta misma hoja se usa para generar los datos en la tabla de la figura 22.2 para 14 jugadas. Como se indica en la parte superior derecha de la figura 22.2, esto se hace introduciendo ecuaciones en el primer renglón de la tabla que se refieren a las celdas de salida de la figura 22.1, es decir, se escribe = D4 en la celda J 6e = D5 en la celda K6. El siguiente paso es seleccionar el contenido completo de la tabla (celdas 16:K20) y elegir "tabla" del menú de "datos". Por último se selecciona cualquier celda en blanco (por ejemplo, E4) en la columna de celdas de entrada y se hace elle en aceptar. Excel calcula de nuevo las celdas de salida en las columnas J y K para cada renglón en el que se coloca cualquier número en la columna I. Después se introducen las ecuaciones =PROMEDIO(J7:J20) o (K7:K20) en las celdas J22 y K22 para obtener los promedios. Aunque esta corrida de simulación en particular requirió dos hojas de cálculo, una para realizar las réplicas de la simulación y la otra para registrar los resultados de las réplicas en la tabla, debe señalarse que las réplicas de algunas otras simulaciones se pueden realizar en una sola hoja. Éste es el caso siempre que cada réplica se pueda realizar y registrar en un renglón de la hoja de cálculo. Por ejemplo, si sólo se necesita un número aleatorio uniforme para realizar la réplica, entonces toda la corrida completa de simulación se puede realizar y registrar en una hoja de cálculo similar a la figura 22.1.
Tabla de datos que registra los resultados de 14 replicas de la simulación con hoja de calculo de la figura 22.1
Regrese a la figura 22.2, la celda J22 indica que esta muestra de 14 jugadas da un promedio muestra de los lanzamientos. El promedio muestra! proporciona una estimación de la media verdadera de la distribución de probabilidad que sigue el número de lanzamientos requerido para una jugada del juego. Así, el promedio muestra! de 7 parecería indicar que, en promedio, debe ganar un poco más de l dólar (celda K22) cada vez que juegue. Por lo tanto, si no se tiene una aversión de alta al riesgo, parece que debe elegirse jugar, de preferencia un numero grande de veces. Pero ¡cuidado! Un error común en el uso de simulación es que las conclusiones se basan en muestras demasiado pequeñas porque se hizo un análisis estadístico
inadecuado o se carece de él por completo. En este caso, la desviación estándar de la muestra es 3.67, de manera que la desviación estándar estimada del promedio de la muestra es 3.67/M ~0.98. Por ello, aun cuando se suponga que la distribución de probabilidad del número de lanzamientos requeridos en una jugada sigue una distribución normal ( que es una suposición con poco fundamento, ya que la distribución real es sesgada), cualquier intervalo de confianza razonable para la media verdadera de esta distribución va mas alla del 8. Así, para poder sacar una conclusión válida a un nivel razonable de significancia estadística, se requiere un tamaño de muestra mucho más grande. Desafortunadamente, como la desviación estándar de un promedio muestral es inversamente proporcional a la raíz cuadrada del tamaño de la muestra, se necesita un incremento considerable en el tamaño de la muestra para obtener un pequeño aumento en la exactitud de la estimación de la media verdadera. En este caso, parece que podría ser adecuado realizar 100 jugadas simuladas (réplicas) del juego, según qué tan cercano sea el promedio a 8, pero 1 000 réplicas sería mucho más seguro. Ocurre que la media verdadera del numero de lanzamientos que se requieren en una jugada es 9 (esta media se puede encontrar analíticamente, pero no es sencillo). Entonces, a la larga, en realidad el promedio es perder $1 cada juego. Parte de la razón para que el experimento simulado no llegue a esta conclusión es que se tiene una oportunidad muy pequeña de una pérdida grande en cualquier jugada, pero nunca se puede ganar más de $5 cada vez. Sin embargo, 14 jugadas simuladas no fueron suficientes para obtener observaciones que se encontraran lejos, en la cola de la distribución de la cantidad ganada o perdida en una jugada. Sólo tres jugadas simuladas dieron una pérdida de $3 y eso es de sólo $9. La figura 22.3 da los resultados de correr la simulación para l 000 jugadas (donde las filas 17 a l 000 no se muestran). La celda J1008 contiene el número promedio de lanzamientos como 8.96, muy cercano a la media verdadera de 9. Con este número de réplicas, la ganancia promedio es -$.096 en la celda Kl008 ahora proporciona una base confiable para concluir que en éste no se gana dinero a la larga (puede estar seguro que el casino ya usó simulación para verificar esto de antemano). Aunque en realidad no era necesario construir un modelo de simulación completo para esta sencilla simulación, se hace con fines ilustrativos. El sistema estocástico que se simula consiste en lanzamientos sucesivos de una moneda para cada jugada. El reloi de la simulación registra el
Esta tabla de datos mejora la confiabilidad de la simulación registrada en la figura 22.2 al realizar 1000 replicas en lugar de solo 14.
Número de lanzamientos (simulados) t que han ocurrido hasta ahora. La información sobre el sistema que define el estado actual, es decir, el estado del sistema es N(t) =número de caras menos número de cruces después de t lanzamientos. Los eventos que cambian el estado del sistema son el lanzamiento de una cara o el de una cruz. El mecanismo generador de eventos es la generación de números aleatorios uniformes en el intervalo [0, 1 ], donde 0.0000 a 0.4999 => una cara, 0.5000 a 0.9999 => una cruz.
La fórmula de transición de estados consiste en N(t -1) + 1 si el lanzamiento t es cara Restablecer N(t) = { N(t-1)-1 si el lanzamiento t es cruz.
Entonces, el juego simulado termina en el primer valor de t para el que N (t) = ±3, donde la observación de la muestra que resulta para el experimento simulado es 8 - t, la cantidad ganada (positiva o negativa) para esa jugada.
BIBLIOGRAFIA. 1) Hamdy A. Taha Investigación de operaciones 7ª. Edición Editorial Pearson, México, 2004. 2) Hillier Lieberman Investigación de operaciones 7ª. Edición Editorial Mc Graw Hill, Mexico, 2006.