Libro Desi Mu Laci On
-
Upload
martin-mireles -
Category
Documents
-
view
184 -
download
0
Transcript of Libro Desi Mu Laci On
-
SIMULACINSIMULACINSIMULACINSIMULACIN
Ing. David Sergio Castilln Domnguez
Docente del departamento de Sistemas y Computacin
Instituto Tecnolgico de Piedras Negras
Elaboracin de un libro de texto: Simulacin
Reporte Final de ao sabtico
Dictamen No. AS-1-166/2013 (14-ENE-2013 / 13-ENE-2014)
Enero - 2014
-
CONTENIDOCONTENIDOCONTENIDOCONTENIDO
1111....---- Introduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacin
1.1.- DEFINICIONES E IMPORTANCIA DE LA SIMULACIN EN LA INGENIERA. 1 1.2.- CONCEPTOS BSICOS DE SIMULACIN. 2 1.3.- METODOLOGA DE LA SIMULACIN. 4 1.4.- MODELOS Y CONTROL. 5 1.5.- ESTRUCTURA Y ETAPAS DE ESTUDIO DE SIMULACIN. 7 1.6.- ETAPAS DE UN PROYECTO DE SIMULACIN. 8 1.7.- ELEMENTOS BSICOS DE UN SIMULADOR DE EVENTOS DISCRETOS. 10
2222....---- Nmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatorios
2.1.- MTODOS DE GENERACIN DE NMEROS PSEUDOALEATORIOS. 13 2.2.- PRUEBAS ESTADSTICAS. 16 2.2.1.- De Uniformidad. (Chi-cuadrada, Kolmogorov-Smirnov).
2.2.2.- De Aleatoriedad. (corridas arriba y debajo de la media y longitud de
corridas).
2.2.3.- De Independencia. (Autocorrelacin, prueba de huecos, prueba de
pquer, prueba de Yule).
17
22
25
2.3.- Mtodo de Monte Carlo. 31 2.3.1.- Caractersticas.
2.3.2.- Aplicaciones.
2.3.3.- Solucin de problemas.
32
33
33
3.3.3.3.---- Generacin de variables aleatoriasGeneracin de variables aleatoriasGeneracin de variables aleatoriasGeneracin de variables aleatorias
3.1.- CONCEPTOS BSICOS. 37 3.2.- VARIABLES ALEATORIAS DISCRETAS. 37 3.3.- VARIABLES ALEATORIAS CONTINUAS. 45 3.4.- MTODOS PARA GENERAR VARIABLES ALEATORIAS. 51 3.4.1.- Mtodo de la transformada inversa. 51
3.4.2.- Mtodo de convolucin. 52
3.4.3.- Mtodo de composicin. 52
3.5.- PROCEDIMIENTOS ESPECIALES. 54 3.6.- PRUEBAS ESTADSTICAS (BONDAD DE AJUSTE). 54
-
4.4.4.4.---- Lenguajes de SimulacinLenguajes de SimulacinLenguajes de SimulacinLenguajes de Simulacin
4.1.- LENGUAJES DE SIMULACIN Y SIMULADORES. 55 4.2.- APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR. 58 4.3.- CASOS PRCTICOS DE SIMULACIN. 67 4.3.1.- Problemas con lneas de espera. 67
4.3.2.- Problemas con sistemas de inventario. 84
4.4.- VALIDACIN DE UN SIMULADOR. 102 4.4.1.- Pruebas paramtricas (validacin del modelo, pruebas de hiptesis y
pruebas de estimacin.
108
4.4.2.- Pruebas no paramtricas. 116
5.5.5.5.---- Proyecto integradorProyecto integradorProyecto integradorProyecto integrador
5.1.- ANLISIS, MODELADO Y SIMULACIN DE UN SISTEMA O SUBSISTEMA DE SERVICIOS O PRODUCTIVO DE UNA EMPRESA PARA DETECTAR LAS MEJORAS POSIBLES A REALIZAR.
117
5.1.1.- Manufactura. 117
5.1.2.- Control de calidad. 132
5.1.3.- Supermercado. 142
Apndice Apndice Apndice Apndice AAAA
Distribucin Normal (Z) 157
Distribucin chi-cuadrada ( ) 158
Tabla K-S (,) 159
Apndice Apndice Apndice Apndice BBBB
Instrucciones GPSS para la definicin de variables. 160 Instrucciones GPSS para la lgica del programa. 163 REFERENCIAS BIBLIOGRFICAS. 174
-
1
1111 Introduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacinIntroduccin a la simulacin
1.1.- DEFINICIONES E IMPORTANCIA DE LA SIMULACIN EN LA INGENIERA.
La simulacin es una de las herramientas ms importantes para analizar el diseo y
operacin de sistemas o procesos complejos. Desde el renacimiento se han construido
modelos, pero la palabra simulacin se usa a partir de 1940 cuando los cientficos Von
Neuman y Ulam trabajaron en el proyecto Monte Carlo, durante la segunda guerra
mundial, resolviendo problemas de reacciones nucleares cuya solucin experimental
hubiera sido muy cara y el anlisis matemtico demasiado complicado.
Con el uso de la computadora en experimentos de simulacin, surgen mltiples
aplicaciones resultando en una gran cantidad de problemas tericos y prcticos,
presentando la posibilidad de investigar aplicaciones importantes de simulacin en
diversas reas tales como: fsica, matemticas, economa, administracin,
investigacin de operaciones. Tambin sugiere algunos mtodos alternativos para
resolver problemas tericos y prcticos que surgen al efectuar simulaciones reales.
La palabra simulacin tiene varias definiciones aceptadas. Thomas H. Naylor la define
como:
Simulacin es una tcnica numrica para conducir experimentos en una computadora digital. Estos
experimentos comprenden ciertos tipos de relaciones matemticas y lgicas, las cuales son necesarias
para describir el comportamiento y la estructura de sistemas complejos del mundo real a travs de
largos perodos de tiempo.
Esta definicin muestra un sentido amplio en el cual incluye desde una maqueta, hasta
un sofisticado programa computacional. En un sentido ms estricto, H. Maisel y G.
Gnugnoli define a la simulacin de la siguiente manera:
Es una tcnica numrica para realizar experimentos en una computadora digital. Estos experimentos
involucran ciertos tipos de modelos matemticos y lgicos que describen el comportamiento de
sistemas de negocios, econmicos, sociales, biolgicos, fsicos o qumicos a trves de largos perodos
de tiempo.
Otra definicin de simulacin la realiza Robert E. Shannon como:
-
2
Es el proceso de disear y desarrollar un modelo computarizado de un sistema o proceso y conducir
experimentos con este modelo con el propsito de entender el comportamiento del sistema o evaluar
varias estrategias con las cuales se puede operar el sistema.
Todas estas definiciones no especifican si los sistemas modelados son continuos o
discretos. Pero es necesario subrayar que nos enfocaremos exclusivamente al diseo,
anlisis y validacin de sistemas dinmicos discretos. Geofrey Gordon aborda a detalle
el anlisis y estudio de sistemas dinmicos continuos en su libro titulado System
Simulation.
1.2.- CONCEPTOS BSICOS DE SIMULACIN.
La simulacin est basada en la teora de la probabilidad y la estadstica, en
matemticas, en ciencias computacionales, etc. Por lo que es conveniente mencionar
algunos conceptos que intervienen en el desarrollo y la formulacin del modelo de
simulacin.
1.2.1.- GENERACIN DE VARIABLES ALEATORIAS NO-UNIFORMES.
Si el modelo es estocstico (probabilstico) debe ser capaz de generar variables
aleatorias no uniformes de distribuciones de probabilidad tericas o empricas. Las
cuales son obtenidas por un generador de nmeros uniformes y una funcin que
transforme estos nmeros en valores de la distribucin de probabilidad deseada. Se
han generado una gran cantidad de generadores para las distribuciones de
probabilidad ms comunes como las distribuciones normal, exponencial, poisson,
erlang, binomial, gamma, beta, F, t, etc.
1.2.2.- LENGUAJES DE PROGRAMACIN.
En un momento determinado ser necesario construir el modelo computacional. En
esta etapa se tienen dos cursos de accin: 1) Desarrollar el software requerido para
estudios de simulacin (Lenguaje de propsito general) o 2) Conseguir un software
(Lenguaje de propsito especfico). Este ltimo obliga a la determinacin del ms
adecuado para el problema a resolver.
Para desarrollar el software requerido es necesario contar con la descripcin del
sistema en trminos de relaciones lgicas de sus variables y los diagramas de flujo
correspondiente, como fuente de datos para el modelado en trminos de un lenguaje
de programacin de propsito general o un paquete de propsito especfico.
1.2.3.- CONDICIONES INICIALES.
La mayora de los modelos de simulacin estocsticos se ejecutan con la idea de
estudiar al sistema en una situacin de estado estable. Pero todos estos modelos
presentan en su etapa inicial estados transitorios que no son tpicos del estado estable.
-
3
Obligando a establecer claramente las acciones o alternativas para resolver este
problema. Algunos expertos recomiendan resolver este problema:
1. Usar un tiempo de corrida lo suficientemente grande de modo los perodos
transitorios sean relativamente insignificantes con respecto a la condicin de
estado estable.
2. Excluir una parte apropiada de la parte inicial de la corrida.
3. Utilizar simulacin regenerativa.
De las tres alternativas, la ltima es la que presenta menos desventajas. Las otras
tienen la desventaja de ser excesivamente caras.
1.2.4.- TAMAO DE LA MUESTRA.
El tamao de la muestra (nmero de corridas en la computadora) es un factor principal
a considerar en un estudio de simulacin. La seleccin de un tamao de muestra
apropiado que asegure un nivel de precisin y que minimice el costo de operacin del
modelo, es difcil pero importante. La informacin proporcionada por el experimento
de simulacin sera la base para decidir con respecto a la operacin del sistema real,
esta informacin debe ser exacta y precisa cuanto sea posible, y conocer el grado de
imprecisin de la informacin proporcionada. Por consecuencia, es necesario que un
anlisis estadstico se realice para la determinacin del tamao de muestra requerido.
El tamao de la muestra se puede obtener de dos maneras:
Previa o independientemente de la operacin del modelo.
Durante la operacin del modelo y basado en los resultados arrojados por el
modelo.
Para esta ltima alternativa se utiliza la tcnica estadstica de intervalos de confianza.
1.2.5.- DISEO DE EXPERIMENTOS.
El diseo de experimentos es un tema relevante en los experimentos de simulacin, la
cual ha sido reconocida, pero rara vez se aplica. Estos diseos pueden ser de varios
tipos dependiendo de los propsitos especficos planteados. Existen varios tipos de
anlisis que pueden ser requeridos, los ms comunes son:
1. Comparacin de las medias y varianzas de las alternativas analizadas.
2. Determinacin de la importancia y el efecto de diferentes variables en los
resultados de la simulacin.
3. Bsqueda de los valores ptimos de un conjunto de variables.
Para la realizacin del primer anlisis, el cual comnmente se le conoce como diseo
de experimentos de un factor simple, es necesario tomar en cuenta el tamao de la
-
4
muestra, condiciones iniciales y la presencia o ausencia de auto correlacin. Para el
segundo tipo de anlisis, existe literatura suficiente que explica el tema de anlisis de
varianza y tcnicas de regresin como medios para evaluar la importancia y el efecto
de varias variables en los resultados de operacin de un sistema. Para el tercer tipo de
anlisis, generalmente se requiere utilizar algoritmos heursticos de bsqueda como
los algoritmos de Hooke y Jeeves.
1.3.- METODOLOGA DE LA SIMULACIN.
La tcnica de simulacin generalmente es vista como un mtodo de ltimo recurso, los
avances recientes en las metodologas de la simulacin y la disponibilidad de software
en el mercado, han generado que las tcnicas de simulacin sea una herramienta
utilizada en el anlisis de sistemas. Thomas H. Naylor sugiere que un estudio de
simulacin es recomendable por las siguientes ventajas que proporciona.
1.3.1.- VENTAJAS.
Se puede estudiar el efecto de cambios internos y externos del sistema, al
hacer alteraciones en el modelo del sistema y observar los efectos de las
alteraciones en el comportamiento del sistema.
Una observacin detallada del sistema que se est simulando conduce a
comprender mejor el sistema y sugerir estrategias para mejorar la operacin y
la eficiencia del sistema.
La tcnica de simulacin es utilizada como un instrumento pedaggico para
proporcionar al estudiante las habilidades bsicas en anlisis estadstico,
anlisis terico, etc.
La simulacin de sistemas complejos ayuda a comprender la operacin del
sistema, detectar las variables significativas que interactan en el sistema y
comprender las interrelaciones entre las variables.
Se utiliza la tcnica de simulacin para experimentar nuevas situaciones, en las
cuales se tiene poca o ninguna informacin, anticipndose a resultados no
previstos.
Tambin es usada para entrenamiento del personal. En ocasiones es posible
tener una representacin de un sistema, y es posible entrenar y generar
experiencia a cierto tipo de personal.
La simulacin es utilizada tambin cuando nuevos elementos son introducidos
al sistema, para anticipar cuellos de botella o algunos problemas que pueden
surgir en el comportamiento del sistema.
1.3.2.- DESVENTAJAS.
La tcnica de simulacin requiere de equipo computacional y recursos humanos
costosos, adems generalmente se requiere de tiempo para que el modelo se
-
5
desarrolle y perfeccione, debido a la gran cantidad de datos significativos que no se
encuentran disponibles, requiriendo un anlisis profundo para su identificacin.
Tambin requiere de expertos para realizar el modelado y un grupo interdisciplinario
para soportar todas las etapas del estudio. Desafortunadamente los directivos no
comprenden la tcnica y dificulta la autorizacin de estos proyectos.
1.4.- MODELOS Y CONTROL.
1.4.1.- DEFINICIN DE SISTEMA.
La palabra sistema es utilizada usualmente para definir un conjunto de cosas que estn
interrelacionadas para cumplir con un objetivo. Esta forma de contemplar un todo y no
las partes aisladamente es lo que es conocido como el enfoque sistmico. Un sistema
est constituido por varios objetos los cuales poseen propiedades.
Un sistema puede ser definido matemticamente como un complejo de elementos
interactuantes. Donde la interaccin significa que elementos, p, estn en relaciones, R,
de suerte que el comportamiento de un elemento p en R es diferente de su
comportamiento con R. Si los comportamientos R y R no difieren, no hay interaccin,
y los elementos se comportan independientemente con respecto a las relaciones R y
R.
El sistema es un modelo de naturaleza general, esto es, un anlogo conceptual de
algunos rasgos muy universales de entidades observadas. El uso de modelos o
construcciones analgicas es prctica general de la ciencia, y es, asimismo fundamento
de la simulacin por computadora. La diferencia con respecto a las disciplinas
tradicionales no es esencial sino que reside ms bien en el grado de generalidad (o
abstraccin); el sistema alude a caractersticas muy generales compartidas por gran
nmero de entidades que acostumbraban ser tratadas por diferentes disciplinas.
Un sistema puede ser definido como un conjunto de elementos interrelacionados
entre s y con el medio circundante. Existen dos modos de describir un sistema: la
interna y la externa. La interna define a un sistema con un conjunto de n medidas,
llamadas variables de estado. La descripcin interna del sistema es esencialmente
estructural procura describir el comportamiento del sistema en trminos de variables
de estado y de su interdependencia.
La descripcin externa del sistema es en trminos de entradas y salidas; su forma
general son funciones de transferencia que vinculan entrada y salida. Lo tpico es que
se consideren lineales y representados por conjuntos discretos de valores (las
decisiones de si o no). Este es el lenguaje de la tecnologa del control; es caracterstico
-
6
de la descripcin externa el uso de trminos de comunicacin (intercambio de
informacin entre sistema, medio y dentro del sistema) y de control de la funcin del
sistema con respecto al medio (retroalimentacin). La descripcin externa es
funcional, describe el comportamiento del sistema por su interaccin con el medio.
Las descripciones tanto internas como externas del sistema coinciden en gran medida
con descripciones mediante funciones continuas o discretas.
1.4.2.- DEFINICIN DE MODELO.
Un modelo es definido como una representacin de la realidad por medio de
abstracciones, los modelos enfocan ciertas partes importantes del sistema (las que
interesan al modelo) restando importancia a otras partes. Los modelos son creados
usando herramientas de modelado.
Un modelo es un sistema de elementos que reproduce determinados aspectos,
relaciones y funciones del objeto que se investiga; desarrollado en un nivel avanzado
del conocimiento, en el que recopila las caractersticas generales del objeto
investigado y las unifica en un concepto global, del cual se puede visualizar el objeto en
un momento dado El modelo es una construccin imaginaria y arbitraria de un
conjunto de objetos y fenmenos con el propsito de estudiar el comportamiento de
de dichos objetos o fenmenos. Son incompletos. Los modelos se pueden dividir en
abstractos y materiales. Donde los materiales se pueden subdividir en icnicos y
analgicos o simblicos.
Los modelos son simplificaciones o representaciones idealizadas de los sistemas que se
suponen existen en la naturaleza. Los modelos pueden ser de dos tipos: matemticos o
fsicos.
Los modelos de simulacin se pueden clasificar en: determinsticos, estocsticos,
estticos, dinmicos y a escala. En los modelos determinsticos las variables no pueden
ser tomadas al azar y las relaciones entre estas variables deben ser exactas o no deben
estar en funcin de una probabilidad. En cambio los modelos estocsticos al menos
una variable debe estar en funcin de una probabilidad; por lo general son utilizados
para la generacin de grandes series de muestreos, y son aplicadas en investigaciones
cientficas. Los modelos estticos no toman en consideracin el tiempo invertido en el
proceso, y estn encaminadas a maximizar o minimizar. En cambio los modelos
dinmicos si consideran la variacin del tiempo. Los modelos a escala sirven para
realizar demostraciones del proceso, como tambin para realizar nuevos
experimentos.
-
7
1.4.3.- DEFINICIN DE CONTROL.
Existen varias definiciones de control a continuacin se presentan algunas de ellas:
Verificar s todo ocurre de conformidad con el plan adoptado, con las
instrucciones emitidas y con los principios establecidos. Tiene como fin sealar
las debilidades y errores a fin de rectificarlos e impedir que se produzcan
nuevamente.
El proceso de medir los actuales resultados en relacin con los planes,
diagnosticando la razn de las desviaciones y tomando las medidas correctivas
necesarias.
El proceso para determinar lo que se est llevando a cabo, valorizacin y, si es
necesario, aplicando medidas correctivas, de manera que la ejecucin se
desarrolle de acuerdo con lo planeado.
Tiene como objetivo cerciorarse de que los hechos vayan de acuerdo con los
planes establecidos.
La medicin de lo logrado en relacin con lo estndar y la correccin de las
desviaciones, para asegurar la obtencin de los objetivos de acuerdo con el
plan.
Es un proceso regulador cuya funcin es medir y evaluar el desempeo y si es
necesario se tomar acciones correctivas.
El control se emplea para mejorar la calidad, enfrentar los cambios que
constantemente se producen, mejorar la eficiencia, minimizar costos y facilitar el
trabajo en equipo. Un control se basa en la realizacin de las siguientes actividades:
planear, organizar, hacer, evaluar, mejorar. Para alcanzar una meta es necesario contar
con una planeacin y una adecuada organizacin para conocer lo que debe hacerse y
cmo hacerlo. El hacer es poner en prctica lo planeado. La evaluacin es la
interpretacin y la comparacin de la informacin obtenida para la toma de
decisiones. La mejora es la puesta en prctica de medidas que resuelven desviaciones
que hacen perder el equilibrio al sistema.
1.5.- ESTRUCTURA Y ETAPAS DE ESTUDIO DE SIMULACIN.
Segn los expertos la manera de estructurar el estudio de simulacin es el principio
bsico de una organizacin de las actividades que se requieren desarrollar en este
proyecto. Las actividades a desarrollar en este estudio pueden estructurarse en etapas
o fases que deben realizar para culminar el estudio de simulacin. Las etapas en las
cuales est organizado el desarrollo de un modelo computacional (ciclo de vida del
desarrollo de sistemas) los expertos coinciden en: Anlisis, diseo, construccin,
implementacin y mantenimiento.
-
8
Este enfoque para la construccin de un software, nicamente est enfocado al
sistema mismo, desde su formulacin hasta su mantenimiento, pero no interviene la
parte operativa del mismo. En eso difiere de un modelo de simulacin, el cual es
visualizado como un paquete que engloba desde su concepcin hasta su operacin.
Los pasos necesarios para realizar un estudio de simulacin se requiere: 1) Definir el
sistema, 2) Formular el modelo, 3) Recopilar los datos, 4) Implementar el modelo en la
computadora, 5) Validar, 6)Experimentar, 7) Interpretar, y 8) Documentar.
1.6.- ETAPAS DE UN PROYECTO DE SIMULACIN.
1.6.1.- DEFINIR EL SISTEMA.
Para definir exactamente el sistema que se requiere simular, se requiere de llevar a
cabo un anlisis preliminar con el fin de determinar la interaccin del sistema con
otros sistemas, las restricciones del sistema, las variables que interactan dentro del
sistema y sus interrelaciones, las medidas de efectividad que se van a utilizar para
definir y estudiar el sistema y los resultados que se esperan obtener del estudio.
1.6.2.- FORMULAR EL MODELO.
Una vez definido los resultados que se esperan obtener del estudio, el siguiente paso
es definir y construir el modelo con el cual se obtendrn los resultados deseados. En la
formulacin del modelo es necesario definir todas las variables que forman parte de l,
Definir el sistema
Formular el modelo
Recopilar datos
Implementar el modelo en la computadora
Validar el modelo
Experimentar con el modelo
Interpretar los resultados del modelo
D
o
c
u
m
e
n
t
a
r
Figura 1.1.- Etapas de un proyecto de simulacin
-
9
sus relaciones lgicas y los diagramas de flujo que describan en forma completa al
modelo.
1.6.3.- RECOPILAR LOS DATOS.
La facilidad o dificultad para obtener los datos, puede influir el desarrollo y la
formulacin del modelo. Es importante definir con claridad y exactitud los datos que el
modelo requiere para la produccin de los resultados deseados. Usualmente, los datos
requeridos se pueden obtener de registros histricos, de opiniones de expertos, o de la
experimentacin.
1.6.4.- IMPLEMENTAR EL MODELO EN LA COMPUTADORA.
Con el modelo definido, el siguiente paso es decidir el lenguaje de programacin a
utilizar ya sea uno de propsito general o un paquete de propsito especfico, para
procesarlo en la computadora y obtener los resultados deseados.
1.6.5.- VALIDAR.
En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los
datos alimentados al modelo, siendo las formas mas comunes de validar el modelo las
siguientes:
1. La opinin de expertos sobre los resultados de la simulacin.
2. La exactitud con que se predicen datos histricos.
3. La exactitud en la prediccin del futuro.
4. La comprobacin de falla del modelo de simulacin al utilizar datos que hacen
fallar al sistema real.
5. La aceptacin y confianza en el modelo de la persona que har uso de los
resultados que arroje el experimento de simulacin.
1.6.6.- EXPERIMENTAR.
La experimentacin con el modelo se realiza despus de que ste ha sido validado. La
experimentacin consiste en generar los datos deseados y en realizar anlisis de
sensibilidad de los ndices requeridos.
1.6.7.- INTERPRETAR.
En esta etapa se interpretan los resultados que arroja la simulacin, y en base a estos
se toma una decisin. Obviamente estos resultados obtenidos de la simulacin ayudan
a soportar decisiones del tipo semi-estructurado, es decir, la computadora en s no
toma la decisin, sino que la informacin que aporta ayuda a tomar mejores
decisiones, y sistemticamente obtener mejores resultados.
-
10
1.6.8.- DOCUMENTAR.
Son requeridos dos tipos de documentacin para hacer un mejor uso del modelo de
simulacin. La primera es la documentacin tcnica y la segunda documentacin es el
manual del usuario para facilitar la interaccin y el uso del modelo desarrollado.
1.7.- ELEMENTOS BSICOS DE UN SIMULADOR DE EVENTOS DISCRETOS.
Los eventos discretos son las acciones o resultados de experimentos que tienen como
resultado un nmero entero. Los productos defectuosos en un embarque, las
personas que entran a un banco, o los estudiantes que aprueban una determinada
asignatura, son algunos ejemplos de los mismos. Estos eventos discretos son simulados
haciendo uso de distribuciones de probabilidad con parmetros dados previamente.
Estos parmetros son recopilados en el proceso de experimentacin, y la distribucin
de probabilidad es seleccionada dependiendo del tipo de comportamiento de las
muestras analizadas.
Los eventos continuos son nmeros reales (parte entera y parte fraccionaria) que son
usualmente son caractersticas fsicas tales como: peso, altura, tiempo, temperatura,
presin.
La simulacin de eventos discretos es parte del modelo computacional que representa
la transformacin de la entrada en salidas mediante una funcin de probabilidad
(proceso).
La simulacin de un evento discreto describe en forma directa o indirecta la llegada de
un cliente, la espera para su atencin, y el servicio proporcionado por el servidor para
despus salir del sistema.
Este modelo computacional cuenta con tres elementos primordiales que son: entrada,
proceso y salida. En este anlisis del modelo computacional, la entrada se representa
por una variable de tipo discreto (valores enteros). La salida est formada por un grupo
de valores que representan la informacin resultante del proceso de simulacin, la
cual es utilizada para la toma de decisiones en el problema real. El proceso es el
elemento en el cual est representada la manera de transformar las entradas en
salidas. En este proceso est especificado el diseo de lgica del proceso, en el cual
interviene una o varias funciones de probabilidad.
-
11
2222 Nmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatoriosNmeros pseudoaleatorios
El mundo real es muy raro que sea determinstico, al estudiar un sistema y sus
influencias externas como la llegada de clientes a un banco y el comportamiento del
sistema como el tiempo de servicio bancario tienen un comportamiento aleatorio o
probabilstico. En la construccin de un modelo de simulacin bancario es necesario
reproducir los efectos aleatorios del sistema, por lo cual es necesario incursionar en la
generacin de nmeros aleatorios o pseudo aleatorios, como tambin la manera de
poderlos generar y probar que dichos nmeros tengan la aleatoriedad deseada.
El tiempo de servicio bancario vara dependiendo del tipo de transacciones que el
cliente realice. Los datos histricos obtenidos en un banco tan slo se puede recopilar
una muestra de una poblacin desconocida, siendo estos datos limitados debido al
tiempo y los costos que se requieren, En ocasiones no existe realmente el sistema (un
banco que desea abrir una nueva sucursal) o la imposibilidad de obtener datos reales,
o la obtencin de grandes volmenes de datos que originan un procesamiento lento o
vuelve complejo el modelo a construir.
La obtencin artificial de los datos del tiempo de servicio viene a simplificar el modelo,
partiendo de una muestra significativa. A continuacin se incursiona en el estudio de la
aleatoriedad y las pruebas estadsticas para garantizar que se cuenta con un generador
confiable.
Un nmero aleatorio es el resultado de una variable al azar especificada por una
funcin de probabilidad. Cuando no se especifica una funcin de probabilidad, se
supone que sigue una distribucin uniforme en el intervalo entre cero y uno.
Existen nmeros aleatorios no uniformes los cuales pueden ser generados a partir de
nmeros aleatorios uniformes. Por lo cual es importante enfocarse primero a la
generacin de nmeros aleatorios uniformes, para luego profundizar en la generacin
de nmeros aleatorios no uniformes.
Los nmeros aleatorios uniformes son utilizados ampliamente en el proceso de
simulacin para representar eventos tales como llegadas de clientes o servicio
proporcionado.
-
12
Existen tres maneras ampliamente conocidas: 1) Provisin externa, 2) la generacin
interna basada en un proceso fsico, y 3) la generacin interna basada en una relacin
de recurrencia.
1. Provisin Externa. Se usan tablas de nmeros previamente calculados, se
requiere el almacenamiento de dichos nmeros, un ejemplo son las Tablas
RAND. El Proyecto RAND inici despus de la II Guerra Mundial por la Iniciativa
de la Compaa de Aviacin Douglas ubicada en Santa Mnica California, con el
propsito de continuar las investigaciones de los cientficos reclutados durante
la guerra. Las investigaciones fueron para la Fuerza Area de Estados Unidos de
Norteamrica y enfocadas exclusivamente a la seguridad nacional. A partir de
1948 el proyecto RAND se separ de La Compaa de aviacin Douglas y se
convirti en Rand Corporation, siendo por ms de seis dcadas una
organizacin sin fines de lucro dedicada a promover la ciencia y la educacin
realizando anlisis cientfico para hacer un mundo ms seguro, saludable y ms
prspero.
2. Generacin interna basada en un proceso fsico. En esta generacin se requiere
conectar un dispositivo especializado a una computadora, ya que por medio de
este dispositivo pueda proporcionar los nmeros aleatorios. Esta tcnica de
generacin es utilizada en simulaciones que requieren observar el ambiente
fsico y usualmente se utilizan interfaz analgica - digital las cual requieren de
inversiones ms costosas y tardan ms tiempo en implementarse.
3. Generacin interna basada en una relacin de recurrencia. Es la generacin
ms utilizada en los procesos de simulacin. Una relacin de recurrencia es una
ecuacin que define una secuencia recursiva donde cada trmino de la
secuencia es definida como una funcin de los trminos anteriores. Las
relaciones de recurrencia son ampliamente utilizadas en la teora de la
probabilidad.
Provisin externa Generacin interna basada en
un proceso fsico
Generacin interna basada en
una relacin de recurrencia
GENERACIN DE NMEROS UNIFORMES
Figura 2.1.- Maneras de generar nmeros pseudo aleatorios uniformes
-
13
Para la generacin de nmeros aleatorios es necesario que tenga las siguientes
caractersticas:
Que sean uniformemente distribuidos.
Estadsticamente independientes.
Reproducibles.
Periodo Largo.
Generados de manera rpida.
Que no requiera gran capacidad de almacenamiento.
Por lo que es comn utilizar la relacin de recurrencia la cual cumple con estos
requisitos, aunque algunos autores han observado que dichos nmeros son pseudo
aleatorios (no son puramente aleatorios) por haber sido generados por relaciones de
recurrencia apoyadas en reglas deterministas. A continuacin se muestran varios
mtodos de generacin de nmeros pseudo aleatorios uniformes.
2.1.- MTODOS DE GENERACIN DE NMEROS PSEUDOALEATORIOS.
Para generar nmeros pseudo aleatorios basado en una relacin de recurrencia
existen varios esquemas, siendo el de Derrick Henry Lehmer uno de los ms utilizados
en las computadoras. En el ao de 1940 Lehmer desarroll el primer generador de
nmeros pseudo aleatorios denominado congruencial lineal. Este matemtico de la
Universidad de Berkeley en California dedic gran parte de su vida al desarrollo
computacional del anlisis numrico.
El generador congruencial lineal genera una secuencia de nmeros pseudo aleatorios
en la cual el prximo nmero pseudo aleatorio es calculado a partir del ltimo nmero
pseudo aleatorio generado. Es decir Xn+1 se deriva del nmero Xn.
Los generadores congruenciales lineales ms populares son el congruencial mixto y el
congruencial multiplicativo.
2.1.1.- GENERADOR CONGRUENCIAL MIXTO.
El generador congruencial mixto utiliza la siguiente relacin de recurrencia:
= + Donde:
X0 = La semilla (X0 es mayor que cero)
a = el multiplicador (a es mayor que cero)
c = constante aditiva (c es mayor que cero)
-
14
m= mdulo (m mayor que X0, m mayor que a, y m mayor que c)
Dado un valor inicial de X0, se calcula el valor X1, el cual es resultado de obtener el
residuo de dividir aX0 + c entre m. Siendo X1 un valor entre cero y m-1. Generalizado
entonces tenemos que m representa el nmero de valores posibles diferentes a ser
generados. Y as sucesivamente se generan X2 a partir de X1, y X3 a partir de X2, y as
hasta realizar la generacin de los nmeros requeridos. Pero no necesariamente una m
grande garantiza un periodo largo.
La secuencia de nmeros generados tiene la particularidad de que son generados
considerando los valores dados de a, c, y m. Dependiendo de stos valores el periodo
de la secuencia pudiera ser largo o corto.
El periodo de la secuencia de nmeros generados, es crucial para considerarlos tiles
en una simulacin. Si el periodo es muy corto, por ejemplo 4, la secuencia se repetir
cada 4 nmeros por ejemplo: 7,6,9,0,7,6,9,0,7,6,9,0,,6,9,0,7 es la secuencia
generada con X0=7, a=7, c=7 y m=10.
Eleccin de los parmetros a,c,m y X0.
El Dr. Donald Knuth en los 60s propuso la regla para la seleccin de a, c, y m y X0, lo
cual arroja una buena secuencia de nmeros. Hoy en da los generadores ms
eficientes tienen m = 232 para computadoras de 32 bits y m= 264 para computadoras de
64 bits, debido a que es el valor mximo para calcular la operacin de mdulo debido a
truncamiento. La siguiente tabla muestra los parmetros utilizados por las funciones
rand() predefinidas en los principales compiladores comerciales.
Fuente m A c
Numerical recipes 232 1,664,525 1,013,904,223
Borland C/C++ 232 22,695,477 1
Glibc (Gcc) 231 1,103,515,245 12,345
Ansi C 231 1,103,515,245 12,345
Borland Delphi 232 134,775,813 1
Microsoft Visual/Quick C/C++
232 214013 (343FD16) 2531011
(269EC316)
Java's java.util.Random 248 25,214,903,917 11
Tabla 2.1.- Parmetros de recurrencia usados por compiladores comerciales
-
15
Regla de Knuth para la seleccin de m, a, c, y X0.
Seleccin de m.
Seleccionar m de modo que sea el nmero primo ms grande posible y que a su vez
sea menor que p, donde: p es la base del sistema binario y d es el nmero de bits de la
palabra de la computadora. Por ejemplo 231.
Seleccin de a.
Seleccionar a de tal manera que: (a-1) mod 4 = 0, si 4 es un factor de m y (a-1) mod b =
0, si b es un factor primo de m. Usualmente, el valor de a se toma como a = 2k +1
donde k>=2.
Seleccin de c.
Es recomendable elegir el valor de c tal que c mod 8 = 5
Seleccin de X0.
La seleccin de X0 es irrelevante.
Ejemplo.
Dado los valores de a=5, c=7, m=8 y X0=4 construir una secuencia de nmeros pseudo
aleatorios, y determinar el periodo que tiene esta secuencia.
n Xn (5Xn + 7 )mod 8 Xn+1 Nmero pseudo aleatorio
0 4 (5(4)+7) mod 8 = 27 mod 8 = 3 3 3/8
1 3 (5(3)+7) mod 8 = 22 mod 8 = 6 6 6/8
2 6 (5(6)+7) mod 8 = 37 mod 8 = 1 5 5/8
3 5 (5(5)+7) mod 8 = 32 mod 8 = 0 0 0/8 = 0
4 0 (5(0)+7) mod 8 = 7 mod 8 = 7 7 7/8
5 7 (5(7)+7) mod 8 = 42 mod 8 = 2 2 2/8
6 2 (5(2)+7) mod 8 = 17 mod 8 = 1 1 1/8
7 1 (5(1)+7) mod 8 = 12 mod 8 = 4 4 4/8
8 4 (5(4)+7) mod 8 = 27 mod 8 = 3 3 3/8
9 3 (5(3)+7) mod 8 = 22 mod 8 = 6 6 6/8
En este ejemplo se muestra que el generador cuenta con un periodo muy corto, ya que
X0 = 4, y vuelve a aparecer en X8 = 4, por lo que la secuencia tiene un periodo= 8.
-
16
2.1.2.- GENERADOR CONGRUENCIAL MULTIPLICATIVO.
Este generador determina el siguiente nmero pseudo aleatorio a partir de la siguiente
recurrencia:
= Donde:
X0 = La semilla (X0 es mayor que cero)
a = el multiplicador (a es mayor que cero)
m= mdulo (m mayor que X0, m mayor que a, y m mayor que c)
2.2.- PRUEBAS ESTADSTICAS.
Las pruebas estadsticas son utilizadas para asegurar la aleatoriedad de los nmeros
pseudo aleatorios generados. La hiptesis de rechazar o no un generador es el objetivo
de estas pruebas estadsticas. Garantizar que se cuenta con un generador confiable, es
un requisito inicial que se debe examinar. Existen una gran cantidad de pruebas
estadsticas las cuales parten de la idea de analizar estadsticamente los nmeros
pseudo aleatorios los cuales se presume tienen un comportamiento uniforme. Existe
una gran gamma de pruebas de aleatoriedad, algunas simples de implementar
computacionalmente, otras ms complejas.
Al contar con un paquete de pruebas ya implementadas computacionalmente, es til
formar un paquete de pruebas que tenga que pasar un generador determinado. Knuth
PRUEBAS DE ALEATORIEDAD
De uniformidad
Chi-Cuadrada.
Kolmogorov-Smirnov.
De aleatoriedad
Corridas arriba y debajo de
la media.
Longitud de corridas.
De independencia
Autocorrelacin
Prueba de huecos
Prueba de pquer
Prueba de Yule
Figura 2.2.- Pruebas estadsticas de aleatoriedad
-
17
expres que si una sucesin se comporta como aleatoria para las pruebas P1, P2, .., P3,
no se asegura en general que para Pn+1 no se encuentre una falla.
2.2.1.- DE UNIFORMIDAD. (CHI-CUADRADA, KOLMOGOROV-SMIRNOV).
2.2.1.1.- La prueba Chi-Cuadrada.
La prueba chi-cuadrada tambin conocida como la prueba de Pearson o la prueba de
frecuencias es una prueba de bondad de ajuste que establece si difiere o no la
frecuencia observada de una distribucin terica. El ingls Karl Pearson desarroll a
principios del siglo XX esta prueba , y hasta la fecha tiene muchas aplicaciones en el
campo estadstico.
La prueba chi-cuadrada es una de las pruebas ms tiles y ampliamente utilizadas en la
estadstica. La distribucin Chi-Cuadrada es en teora una distribucin matemtica que
se aplica ampliamente en el trabajo estadstico. El trmino Chi-cuadrada proviene del
uso de la letra griega el cual se pronuncia ji o chi y es el que define a esta
distribucin. La hiptesis nula y alternativa son las siguientes:
: = : Esta prueba es utilizada para determinar que tan significativa es la diferencia entre las
frecuencias observadas y esperadas de uno o ms categoras (subintervalos). La
diferencia entre las frecuencias esperadas y observadas son consideradas como el
error muestral. Las frecuencias observadas son calculadas a partir de un conteo de los
nmeros que coinciden en un subintervalo determinado, y las frecuencias esperadas
estn en funcin a una distribucin de probabilidad terica.
Para una secuencia de 100 nmeros, y 5 subintervalos tenemos que: N=100, n=5, la FEi
= N/n = 100/5 = 20 para cualquier i. y la frecuencia observada es la cantidad de
nmeros que coinciden en cada subintervalo.
0
-
18
parecidas entonces se dice que la muestra proviene de una distribucin uniforme. El
estadstico que se utiliza es el cual hace uso de la letra griega ji (CHI), el cual es obtenido de la siguiente expresin:
=
Donde: N = Tamao de la muestra, n=cantidad de subintervalos, FOi=frecuencia
observada en el subintervalo i, FEi=frecuencia esperada en el subintervalo i.
Una vez obtenido el estadstico de la muestra se compara con el estadstico terico de la poblacin , para rechazar o no la hiptesis que la secuencia de nmeros proviene de una distribucin uniforme.
2,,, + , + 1
K = L + FGG K =16 0.5 15.732.641 = 0.232.641 = 0.0870
Paso 5.- Comparar los estadsticos para decidir si se rechaza o no la hiptesis.
Buscar el estadstico Z en la tabla Z en el apndice A, tomando como alfa=5%, entonces Se
calcula 100% - 5% = 95% dividido entre dos es igual a 47.5%, por lo tanto se busca el nmero
0.475 dentro de la tabla, en donde coincide con el 1.96
K/ = K./ = 1.96 8 1.96 0.0870 1.96$,+,$#,#$%$'()%-$? 2.2.3.3.- Prueba de Pquer.
La prueba de pquer est inspirada en el popular juego de cartas en la que los
jugadores apuestan, y el total de la apuesta es ganada por aquellos jugadores que
tengan la mejor combinacin de cartas. La baraja es un conjunto de naipes o cartas.
La prueba estadstica de pquer plantea La hiptesis nula que los nmeros pseudo
aleatorios son independientes entre s, siendo:
: = ,$)$, $,+$ : ,$)$, $,+$
La baraja diseada para esta prueba, est formada por 50 naipes
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
-
29
Un nmero pseudoaleatorio (con mximo 5 digitos significativos) se representa como
una jugada:
X1 = 0.23123 se representa:
2 3 1 2 3
En donde un nmero pseudo aleatorio por ejemplo el 0.2312340, se toman los 5
dgitos ms significativos (0.23123), donde cada digito se representa por una carta. Se
analiza y se encuentra la combinacin de carta en este caso son dos pares, de una lista
de siete posibles. Se anota la combinacin, y se selecciona el siguiente nmero pseudo
aleatorio.
La lista de combinaciones existentes son: todas diferentes, un par, dos pares, tercia,
full, pquer, quintilla.
La idea principal de la prueba es contabilizar la frecuencia observada de cada mano, y a
frecuencia esperada de cada mano se obtiene de la probabilidad esperada en cada una
de las manos posibles. Se utiliza el estadstico chi-cuadrado para rechazar o no la
hiptesis de independencia.
El procedimiento a seguir en esta prueba, es el siguiente:
Paso 1.- Calcular la frecuencia esperada.
Las manos de pquer posibles a considerar son todas diferentes, un par, dos pares,
tercia, full, pquer y quintilla, las cuales servirn de criterio al momento de analizar
cada uno de los N nmeros pseudo aleatorios. A continuacin se muestra una tabla en
la cual se indica la probabilidad esperada de que cada una de las i manos, la cual se
utiliza para el clculo de la frecuencia esperada (FEi).
i Mano de Pquer Probabilidadi FEi = N x Probabilidadi
1 Todos diferentes 0.30240 FE1 = N x 0.30240 2 Un par 0.50400 FE2 = N x 0.50400 3 Dos Pares 0.10800 FE3 = N x 0.10800 4 Tercia
Full Pquer
Quintilla
0.07200+0.00900+0.00450+0.00010 = 0.0856
FE4 = N x 0.08560
-
30
Paso 2.- Calcular la frecuencia observada.
Se selecciona cada uno de los nmeros pseudo aleatorios, y se examina en forma
individual eligiendo los 5 dgitos ms significativos, para ser utilizados cada uno como
una carta de la baraja. La mano que se forme con las 5 barajas se contabilizar en las i
manos observadas, y se acumular a la FOi correspondiente.
i Mano de Pquer FOi
1 Todos diferentes FE1 = Total de nmeros pseudoaleatorios que resultaron en todas diferentes.
2 Un par FE2 = Total de nmeros pseudoaleatorios que resultaron con un par.
3 Dos Pares FE3 = Total de nmeros pseudo aleatorios que resultaron con dos pares.
4 Tercia Full Pquer Quintilla
FE4 = Total de nmeros pseudo aleatorios que resultaron con tercia full pquer quintilla.
Paso3.-Calcularelestadsticodef =
7
Una vez obtenido el estadstico de la muestra se compara con el estadstico terico de la poblacin ,@ para rechazar o no la hiptesis que la secuencia de nmeros proviene de una distribucin uniforme.
)EE
/* Genera una variable aleatoria binomial con parmetro p (probabilidad de xito ) y n */
int binomial( double p, int n) {
double r ;
int x, i ;
x=0;
for(i=1;i
-
42
3.2.4.- DISTRIBUCIN HIPERGEOMTRICA.
La funcin de probabilidad hipergeomtrica est descrita por:
.i = |}~k |}~k |} Donde:
0 i ") 0 , i "1 )
Siendo x, n, y N nmeros enteros, N es el nmero de elementos de la poblacin, Np es
el nmero de elementos que pertenecen a la clase I, y N(1-p) es el nmero de
elementos pertenecientes a la clase II.
Si se considera a n como una muestra de la poblacin N, utilizando la poltica de no
reemplazo, entonces el nmero de elementos que pertenecen a la clase I (Np) siguen
una distribucin hipergeomtrica.
La distribucin hipergeomtrica tiene
Una media igual a:
= = ,) Y la varianza igual a:
m = n = ,)1 ) r" ," 1t
A medida que se extrae un elemento de una muestra de n elementos, se reduce el
valor de N=N0, de acuerdo a la siguiente expresin: " = " 1 Y el valor de p=p0 tambin es transformado por la siguiente frmula:
) = ") " 1 El valor de S tiene el valor de 1 cuando el elemento extrado pertenece a la clase I, y el
valor de cero en caso que pertenezca a la clase II.
-
43
Se aplica el mtodo de rechazo en la generacin de la variable aleatoria
hipergeomtrica, que involucra un proceso de n iteraciones, realizando un conteo de
los elementos pertenecientes a la clase I. En cada iteracin determina a que clase
pertenece el elemento, para luego calcular la probabilidad que se utilizar en la
siguiente iteracin. A continuacin se presenta la lgica utilizada para el clculo de la
variable aleatoria hipergeomtrica.
/* Genera una variable aleatoria hipergeometrica con parmetros tn, ns, y p (probabilidad de xito ) */
int hipergeometrica(int tn, int ns, double p) {
double r;
int x, s;
x=0;
for(i=1;i
-
44
= = Y la varianza igual a:
m = n =
La variable aleatoria Poisson se obtiene mediante la siguiente desigualdad:
+k %k
/* Genera una variable aleatoria poisson con parmetro lambda */
int poisson( double lambda) {
double r, a,b;
int x, i ;
a=Math.exp(-lambda);
b=1.0D;
x=0;
do {
b = b * rand();
if (b < a) { return x; }
x = x + 1;
}
while (true);
}
Tabla 3.5.- Pseudocdigo para variable aleatoria Poisson.
-
45
3.3.- Variables aleatorias continuas.
3.3.1.- DISTRIBUCIN UNIFORME.
La distribucin uniforme o tambin conocida como la distribucin rectangular es el
modelo continuo ms simple. Corresponde al caso de una variable aleatoria que slo
puede tomar valores comprendidos entre dos extremos a y b, de manera que todos los
intervalos de una misma longitud (dentro de (a, b)) tienen la misma probabilidad.
Tambin puede expresarse como el modelo probabilstico correspondiente a tomar un
nmero al azar dentro de un intervalo (a, b).
La funcin de densidad f(x) se define como:
.i = T 1? # i ?0# > i > ?E
La distribucin acumulada F(x) est definida como:
i = 1? +k = i ? # i ?
Con media igual a:
= = + ?2 Y varianza igual a:
m = n = ? 12 La variable aleatoria uniforme es obtenida al aplicar el mtodo de la transformada
inversa dando como resultado:
i = i ? = % Despejando x se obtiene la variable aleatoria uniforme:
O% ?($($+% -, .%$i = + ? %,$0 % 1
-
46
Esta variable aleatoria uniforme es una funcin que es dependiente de los valores a,b,
y r, donde a corresponde al lmite inferior, b el lmite superior, y r es un nmero
pseudoaleatorio entre 0 y 1, y la variable x corresponde a un nmero real que tiene un
comportamiento uniforme, que puede ser implementado computacionalmente para la
simulacin de nmeros uniformes.
A continuacin se presenta el pseudocdigo del generador de nmeros uniformes.
/* Genera una variable aleatoria uniforme con parmetros a (limite inferior), y b (lmite superior) */
double uniforme(double a, double b) {
double r,x;
r = rand();
x = a + (b a)*r;
return(x);
}
3.3.2.- DISTRIBUCIN EXPONENCIAL.
Si es muy pequea la probabilidad de que ocurra un evento en un intervalo corto, y si
la ocurrencia de tal evento es, estadsticamente independiente respecto a la
ocurrencia de otros eventos, entonces el intervalo de tiempo entre ocurrencia de
eventos de este tipo estar distribuido en forma exponencial.
La funcin de densidad de una distribucin exponencial tiene la forma:
.i = $k Donde: > 09i 0. La distribucin acumulada F(x) est definida como:
i = $k+ = 1 k $k Con media igual a:
= = i$ki = 1 Y varianza igual a:
Tabla 3.6.- Pseudocdigo para variable aleatoria uniforme.
-
47
m = n = i 1$ki = 1 = El parmetro lambda () es posible expresarlo de la siguiente manera:
= 1 Aplicando la transformada inversa se tiene lo siguiente:
# i = 1 $k $,+,$# 1 i = $k
Igualando a r se obtiene:
% = $k Despejando x es posible obtener la variable aleatoria exponencial:
O% ?($($+% $i),$, (i = r1t o,% = o,%
/* Genera una variable aleatoria exponencial con parmetro ex (media) */
double exponencial(double ex) {
double r,x;
r = rand();
x = -ex * Math.log(r) ;
return(x);
}
Tabla 3.7.- Pseudocdigo para variable aleatoria exponencial.
-
48
3.3.3.- DISTRIBUCIN GAMMA.
La funcin gamma est definida con la siguiente funcin de densidad:
.i = uiu$ks 1! Donde: > 0, k > 0, y x 0 Debido a que la distribucin acumulada F(x) no existe de manera explcita, Pearson
encontr una forma tabular de la funcin gamma incompleta.
Con media igual a:
= = s Y varianza igual a:
m = n = s
Se obtienen los valores de k y . = s = I sm , $#)$,s#$?+ $,$:
s = m = s =
m = m
Para generar la variable aleatoria gamma es necesario aplicar el mtodo de
convolucin, basado en la suma de k valores de variable aleatoria exponencial con
media igual a 1/, expresando la variable aleatoria x de la siguiente manera: O% ?($($+% pi = i = 1u o,% = 1
u o,%
u
Con la restriccin de generar variables aleatorias con valores de k que no sean enteros.
-
49
/* Genera una variable aleatoria gamma con parmetros lambda y k */
double gamma(double lambda, int k) {
double r,x, tr;
int i;
tr=1.0D;
for(i=1;i
-
50
La funcin de densidad de una distribucin normal estandarizada tiene como valores a k = 0, 9nk = 1, .' = 12 $
Donde: -
-
51
/* Genera una variable aleatoria normal con parmetros media y desviacion) */
double normal(double media, double desviacion) {
double r,x, tr;
int i;
int k=12;
tr = 1.0D;
for (i=1;i
-
52
La dificultad en este mtodo radica en que en algunas ocasiones es muy difcil
encontrar la transformada inversa debido a que no es posible integrarse
analticamente (ej. distribucin normal o gama). Cuando se presenta este caso se
puede intentar el uso de propiedades estadsticas como el lmite central o la propiedad
de convolucin, como alternativas matemticas exploratorias.
3.4.2.- MTODO DE CONVOLUCIN.
Este mtodo permite la generacin de variables aleatorias en funcin de una
combinacin lineal ponderada de otras variables aleatorias. Es decir requiere que la
variable a generar se pueda expresar como una suma lineal ponderada de otras
variables aleatorias. Las variables aleatorias normal, binomial, Poisson, gamma y Erlang
son un ejemplo de la aplicacin de ste mtodo.
Este mtodo es posible aplicarse siempre y cuando la variable aleatoria x se pueda
expresar como una combinacin lineal de k variables aleatorias:
i = ?i +?uiu Donde i$#-,O% ?($($+% R-$#$+ $,$$. , )%$O $,+$. 3.4.3.- MTODO DE COMPOSICIN.
Cuando la funcin de distribucin puede ser expresada como una combinacin
convexa de otras funciones de distribucin, el mtodo de composicin es una
alternativa que simplifica la generacin de variables aleatorias. En ste mtodo se
expresa a f(x) como una mezcla probabilstica de las funciones de densidad fi(x). La
funcin de distribucin tiene la siguiente forma:
.i = ).i ,$) 09) = 1
Para seleccionar las .i que son componentes de la fi se debe contemplar principalmente las consideraciones relativas a la geometra de la distribucin y la
minimizacin de los tiempos esperados del clculo computacional.
-
53
Ejemplo.
Generar la variable aleatoria para la siguiente distribucin:
.i = 1 + i, 1 i < 01 i, 0 i 1E
Solucin:
i = 1 + ii = 1 + i2k
i = 1 + ii + 1 ii = 1 1 i2k
Aplicando la transformada inversa:
% = i = 1 + i2 Despejando x se obtiene que:
i = 2% 1 Para x=-1, se obtiene r = 0
Para x=0, se obtiene r =
Sujeta a las siguientes restricciones:
0 % 1 2 1 i 0 Aplicando la transformada inversa:
% = i = 1 1 i2 Despejando x se obtiene que:
i = 1 21 % Para x=0, se obtiene r=
Para x=1, se obtiene r=1
-
54
Sujeta a las restricciones siguientes: 1 2 % 1 0 i 1 Formulando entonces la variable aleatoria:
i = T 2% 1, 0 % 1 21 21 %, 1 2 % 1E
3.5.- PROCEDIMIENTOS ESPECIALES.
Existen casos en que se requiere la aplicacin de algunas propiedades estadsticas
como el teorema del lmite central que permiten generar una distribucin deseada.
El teorema del lmite central indica que, en condiciones generales, si es la suma de n variables aleatorias independientes , entonces la funcin de distribucin de se aproxima a una distribucin normal. Este teorema asegura que ocurre cuando n es lo suficientemente grande.
3.6.- PRUEBAS ESTADSTICAS (PRUEBAS DE BONDAD DE AJUSTE).
Al construir el modelo de simulacin un punto importante es decidir si el conjunto de
datos se ajusta apropiadamente a una distribucin especfica de probabilidad. El
proceso de anlisis para conocer el comportamiento de los datos, se requiere
formularlos mediante tablas de frecuencias, para as aplicar la prueba de bondad de
ajuste (chi-cuadrada) y la prueba de Kolmogorov-Smirnov, descritas anteriormente en
la seccin 2.21, con la variante de que el clculo de las frecuencias esperadas ser de
acuerdo a la funcin propuesta f(x), para luego obtener mediante integracin la F(x)
obteniendo la frecuencia esperada en el intervalo i con la siguientes expresiones:
i = .ii~ = i " Donde f(x) es la funcin de probabilidad propuesta, los lmites superior e inferior ser
de acuerdo al intervalo calculado y la N es la cantidad total de datos analizados.
-
55
4444 Lenguajes de SimulacinLenguajes de SimulacinLenguajes de SimulacinLenguajes de Simulacin
4.1.- LENGUAJES DE SIMULACIN Y SIMULADORES.
Una vez realizada el anlisis del sistema a simular, es necesario describir las
especificaciones del modelo en trminos de relaciones lgicas. Para el diseo de la
arquitectura del modelo se debe tomar la decisin de desarrollar el sistema mediante
un lenguaje de programacin, o bien utilizar un simulador ya existente.
4.1.1.- LENGUAJES DE PROGRAMACIN DE PROPSITO GENERAL.
Los lenguajes de programacin tienen sus inicios en los aos cincuentas, los primeros
lenguajes de programacin fueron desarrollados para propsito general, pero
enfocados a diferentes nichos de oportunidad. El lenguaje Fortran fue utilizado
ampliamente por cientficos y matemticos por su facilidad de implementar
expresiones matemticas, en cambio, el lenguaje Cobol, tuvo su aceptacin en la
administracin, debido a su facilidad para el manejo de grandes volmenes de datos.
Al paso del tiempo fueron emergiendo otros lenguajes de programacin de propsito
general, en los aos setentas surge el lenguaje Basic en las primeras
microcomputadoras, y con el advenimiento de la programacin estructurada, el
lenguaje Pascal, y el lenguaje C presentan nuevas estructuras de control que permiten
al programador escribir un cdigo ms legible, limitando el uso de los saltos
incondicionales utilizados en Fortran y Cobol.
En los ochentas y noventas con el enfoque orientado a objetos, y los nuevos
requerimientos en la presentacin grfica surgen nuevos lenguajes, y se adaptan los
conocidos, con una nueva cara, los lenguajes visuales que han sido populares hasta
la fecha, los cuales cuentan con poderosos entornos grficos, libreras que permiten
fcilmente el desarrollo. La compaa Microsoft lder en los lenguajes de
programacin para computadoras personales presenta el kit de desarrollo VisualStudio
que en la ltima dcada lo ha ido transformado para incluir las nuevas tecnologas NET,
soportando las redes, programacin web, y programacin mvil.
-
4.1.2.- LENGUAJES DE PROGRAMACIN DE PROPSITO ESPECFICO.
A mediados de los aos cincuentas, se construyen los primeros simuladores utilizando
lenguajes de programacin de propsito general. Las dificultades presentadas en su
construccin, dan luz a proyectos encaminados a desarrollar
programacin que sean especfico
Estos lenguajes de simulacin tienen como finalidad reducir la tarea de programacin,
definiendo claramente el sistema a simular, que sea fcil mantener el cdigo
los continuos cambios que surgen en el proceso de expe
de las entidades a utilizar que permita relacionar las entidades dentro del sistema.
Las caractersticas con las cuales debe contar un lenguaje de simulacin es
Proporcionar instrucciones para la generacin de variables
y no uniformes.
Incluir instrucciones para el manejo de reloj
La elaboracin de un informe de resultados de la simulacin.
Reportar los errores de lgica e inconsistencias encontradas.
4.1.3.- LENGUAJES DE SIMULACIN.
4.1.3.1.- GPSS (General Purpose Simulation System).
El lenguaje fue creado por Geoffrey Gordon
tiene como objetivo principal la modelacin de sistemas discretos.
se debe describir utilizando una secuencia de bloques que representan las actividades,
Un grupo de transacciones fluye por esa secuencia descrita por los bloques. Es decir
transacciones y bloques son dos elementos bsicos. Por ejemplo
bancario a simular, las transacciones son las personas que acuden al banco, y van
fluyendo por todas las instalaciones, y los bloques representan una operacin, tal es el
caso de la entrada o salida, la atencin del cajero, o la espera.
La empresa Minuteman Software (
aos proporciona software para simulaci
World versin 5.2.2 comercialmente y tambin
56
LENGUAJES DE PROGRAMACIN DE PROPSITO ESPECFICO.
ncuentas, se construyen los primeros simuladores utilizando
lenguajes de programacin de propsito general. Las dificultades presentadas en su
construccin, dan luz a proyectos encaminados a desarrollar nuevos lenguaje
especficos para construir simuladores.
Estos lenguajes de simulacin tienen como finalidad reducir la tarea de programacin,
definiendo claramente el sistema a simular, que sea fcil mantener el cdigo
continuos cambios que surgen en el proceso de experimentacin, y una definicin
de las entidades a utilizar que permita relacionar las entidades dentro del sistema.
Las caractersticas con las cuales debe contar un lenguaje de simulacin es:
roporcionar instrucciones para la generacin de variables aleatorias uniformes
Incluir instrucciones para el manejo de reloj.
La elaboracin de un informe de resultados de la simulacin.
Reportar los errores de lgica e inconsistencias encontradas.
LENGUAJES DE SIMULACIN.
SS (General Purpose Simulation System).
creado por Geoffrey Gordon a finales de la dcada de los cincuentas,
tiene como objetivo principal la modelacin de sistemas discretos. El sistema a simular
se debe describir utilizando una secuencia de bloques que representan las actividades,
Un grupo de transacciones fluye por esa secuencia descrita por los bloques. Es decir
transacciones y bloques son dos elementos bsicos. Por ejemplo en un sistema
bancario a simular, las transacciones son las personas que acuden al banco, y van
fluyendo por todas las instalaciones, y los bloques representan una operacin, tal es el
la entrada o salida, la atencin del cajero, o la espera.
presa Minuteman Software (www.minutemansoftware.com) por ms de veinte
proporciona software para simulacin. Actualmente distribuye el producto
comercialmente y tambin presenta una versin acadmica
ncuentas, se construyen los primeros simuladores utilizando
lenguajes de programacin de propsito general. Las dificultades presentadas en su
lenguajes de
Estos lenguajes de simulacin tienen como finalidad reducir la tarea de programacin,
definiendo claramente el sistema a simular, que sea fcil mantener el cdigo debido a
rimentacin, y una definicin
de las entidades a utilizar que permita relacionar las entidades dentro del sistema.
aleatorias uniformes
cincuentas, y
El sistema a simular
se debe describir utilizando una secuencia de bloques que representan las actividades,
Un grupo de transacciones fluye por esa secuencia descrita por los bloques. Es decir
en un sistema
bancario a simular, las transacciones son las personas que acuden al banco, y van
fluyendo por todas las instalaciones, y los bloques representan una operacin, tal es el
por ms de veinte
producto GPSS
una versin acadmica.
-
4.1.3.2.- SIMSCRIPT.
SIMSCRIPT es un lenguaje que
equipo para soportar el proyecto Air Force Rand.
transformado este lenguaje para cumplir con las
del mercado.
CACI (www.simscript.com) es una empresa ubicada en San Diego California, que es
propietaria de SIMSCRIPT, y cuenta con casi cincuenta aos de experiencia en
productos para construir simuladores
SIMSCRIPT III es la nueva versin liberada
tecnologa orientada a objetos y los nuevos procesadores de 32 y 64 bits. Contiene un
entorno de desarrollo e interfases para
basados en Java. Es utilizado en reas tales como: telecomunicaciones, simulacin de
procesos de fabricacin, logstica en aeropuertos, entrenamientos militares, unidades
militares animadas, formacin de vuelos, embarques, etc. Es compa
plataformas Windows, Unix y Linux.
4.1.3.3.- SIMULA.
El lenguaje de simulacin SIMULA fue diseado por Ole
en el Centro Noruego de C
originalmente diseado e implemen
discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos
que tuvo gran influencia para la
como el enfoque orientado a objetos
encuentra un compilador soportado, dejando un gran trabajo como herencia a las
futuras generaciones.
4.1.3.4.- PROMODEL.
ProModel es un paquete de simulacin que no requiere de programacin, pero s lo
permite. Se ejecuta en plataforma Windows, es fcil de utilizar y tiene gran flexibilidad
al construir complejas aplicaciones.
Permite simular mediante animaciones cualquier tipo de s
logstica, manejo de materiales,
talleres, logstica, etc.
Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a
diferencia del procedimiento tradicion
57
es un lenguaje que fue desarrollado en 1962 por Harry Markowitz y su
equipo para soportar el proyecto Air Force Rand. Al paso de los aos se ha
para cumplir con las nuevas demandas computacionales y
es una empresa ubicada en San Diego California, que es
propietaria de SIMSCRIPT, y cuenta con casi cincuenta aos de experiencia en
ra construir simuladores.
es la nueva versin liberada por CACI en 2007 incorporando la
tecnologa orientada a objetos y los nuevos procesadores de 32 y 64 bits. Contiene un
entorno de desarrollo e interfases para construir grficos en dos y tres dimensiones
en Java. Es utilizado en reas tales como: telecomunicaciones, simulacin de
procesos de fabricacin, logstica en aeropuertos, entrenamientos militares, unidades
militares animadas, formacin de vuelos, embarques, etc. Es compa
plataformas Windows, Unix y Linux.
El lenguaje de simulacin SIMULA fue diseado por Ole-Johan Dahl y Kristen Nygaard
de Computacin en Oslo Noruega entre 1962 y 1967. Fue
originalmente diseado e implementado como un lenguaje de simulacin de eventos
discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos
para la introduccin de conceptos importantes
el enfoque orientado a objetos. Desafortunadamente hoy en da no se
encuentra un compilador soportado, dejando un gran trabajo como herencia a las
es un paquete de simulacin que no requiere de programacin, pero s lo
permite. Se ejecuta en plataforma Windows, es fcil de utilizar y tiene gran flexibilidad
al construir complejas aplicaciones.
ermite simular mediante animaciones cualquier tipo de sistemas: Manufactura,
logstica, manejo de materiales, bandas de transporte, gras viajeras, ensamble, corte,
Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a
diferencia del procedimiento tradicional de prueba y error.
fue desarrollado en 1962 por Harry Markowitz y su
paso de los aos se ha
nuevas demandas computacionales y
es una empresa ubicada en San Diego California, que es
propietaria de SIMSCRIPT, y cuenta con casi cincuenta aos de experiencia en
en 2007 incorporando la
tecnologa orientada a objetos y los nuevos procesadores de 32 y 64 bits. Contiene un
dimensiones
en Java. Es utilizado en reas tales como: telecomunicaciones, simulacin de
procesos de fabricacin, logstica en aeropuertos, entrenamientos militares, unidades
militares animadas, formacin de vuelos, embarques, etc. Es compatible con
Johan Dahl y Kristen Nygaard
en Oslo Noruega entre 1962 y 1967. Fue
tado como un lenguaje de simulacin de eventos
discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos,
introduccin de conceptos importantes conocidos
Desafortunadamente hoy en da no se
encuentra un compilador soportado, dejando un gran trabajo como herencia a las
es un paquete de simulacin que no requiere de programacin, pero s lo
permite. Se ejecuta en plataforma Windows, es fcil de utilizar y tiene gran flexibilidad
anufactura,
bandas de transporte, gras viajeras, ensamble, corte,
Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a
-
La empresa comercial ProModel Corporation (
utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas
de decisin en las empresas, generando
4.1.3.5.- ARENA.
Arena es un software para realizar simulacin de eventos discretos. Desarrollado por
Systems Modeling y adquirido por Rockwell Automation (
libera la versin 14 en junio del 2012. Arena proporciona una interfase visual para la
construccin del modelo basado en mdulos que representan la lgica del proceso
relativas a las entidades, flujo y tiempo
reportes de los datos estadsti
El lenguaje de programacin VisualBasic
como parte de un servicio opcional, para el desarrollo de
Cuenta con ediciones comerciales: Professional, Enterprise, Estndar, Basic, y
ediciones acadmicas: Academic Lab, Research , y Student.
4.2.- APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR.
Al incursionar en la construccin del modelo de simulacin, es innegable
conocimientos computacionales, matemticos y de la teora de la probabilidad juegan
un papel importante en el xito de esta tarea.
simulacin o el uso de un simulador es parte esencial para iniciar con la construcc
del modelo. El tipo y la complejidad del modelo forman parte del criterio de seleccin
del lenguaje de simulacin o simulador, siendo la experiencia en el desarrollo de
sistemas computacionales una gran ayuda para incursionar en la construccin de
simuladores.
El lenguaje de simulacin GPSS es de gran ayuda para iniciar con esta actividad, un
lenguaje que a pesar de surgir en los aos cincuentas est todava vigente con muy
pocas modificaciones, y ha sido fuente de inspiracin para otros simuladores tal
como: Promodel y Arena que proporcionan ambientes ms robustos y ayu
que sustituyen la programacin.
4.2.1.- LENGUAJE GPSS.
GPSS World es un software de la empresa Minuteman Software que se ejecuta en un
computadoras con sistemas operativos Windows.
simulacin es necesario describir mediante un diagrama de bloques que
posteriormente se codifica en el lenguaje
58
La empresa comercial ProModel Corporation (www.promodel.com.mx) Prom
utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas
, generando ahorros sustanciales, a travs de la simulacin.
un software para realizar simulacin de eventos discretos. Desarrollado por
Systems Modeling y adquirido por Rockwell Automation (www.arenasimulation.com
libera la versin 14 en junio del 2012. Arena proporciona una interfase visual para la
construccin del modelo basado en mdulos que representan la lgica del proceso
relativas a las entidades, flujo y tiempo; y presenta los resultados de la simulacin con
reportes de los datos estadsticos.
El lenguaje de programacin VisualBasic de Microsoft est integrado en Arena
como parte de un servicio opcional, para el desarrollo de algoritmos especficos.
comerciales: Professional, Enterprise, Estndar, Basic, y
ediciones acadmicas: Academic Lab, Research , y Student.
APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR.
Al incursionar en la construccin del modelo de simulacin, es innegable
conocimientos computacionales, matemticos y de la teora de la probabilidad juegan
un papel importante en el xito de esta tarea. El conocimiento de un lenguaje de
simulacin o el uso de un simulador es parte esencial para iniciar con la construcc
del modelo. El tipo y la complejidad del modelo forman parte del criterio de seleccin
del lenguaje de simulacin o simulador, siendo la experiencia en el desarrollo de
sistemas computacionales una gran ayuda para incursionar en la construccin de
El lenguaje de simulacin GPSS es de gran ayuda para iniciar con esta actividad, un
lenguaje que a pesar de surgir en los aos cincuentas est todava vigente con muy
pocas modificaciones, y ha sido fuente de inspiracin para otros simuladores tal
como: Promodel y Arena que proporcionan ambientes ms robustos y ayudas visuales
que sustituyen la programacin.
es un software de la empresa Minuteman Software que se ejecuta en un
computadoras con sistemas operativos Windows. Para construir el modelo de
simulacin es necesario describir mediante un diagrama de bloques que
posteriormente se codifica en el lenguaje GPSS.
Promueve la
utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas
ahorros sustanciales, a travs de la simulacin.
un software para realizar simulacin de eventos discretos. Desarrollado por
www.arenasimulation.com)
libera la versin 14 en junio del 2012. Arena proporciona una interfase visual para la
construccin del modelo basado en mdulos que representan la lgica del proceso
los resultados de la simulacin con
de Microsoft est integrado en Arena,
algoritmos especficos.
comerciales: Professional, Enterprise, Estndar, Basic, y
APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR.
Al incursionar en la construccin del modelo de simulacin, es innegable que los
conocimientos computacionales, matemticos y de la teora de la probabilidad juegan
El conocimiento de un lenguaje de
simulacin o el uso de un simulador es parte esencial para iniciar con la construccin
del modelo. El tipo y la complejidad del modelo forman parte del criterio de seleccin
del lenguaje de simulacin o simulador, siendo la experiencia en el desarrollo de
sistemas computacionales una gran ayuda para incursionar en la construccin de
El lenguaje de simulacin GPSS es de gran ayuda para iniciar con esta actividad, un
lenguaje que a pesar de surgir en los aos cincuentas est todava vigente con muy
pocas modificaciones, y ha sido fuente de inspiracin para otros simuladores tales
das visuales
es un software de la empresa Minuteman Software que se ejecuta en un
Para construir el modelo de
simulacin es necesario describir mediante un diagrama de bloques que
-
59
Este software est basado en el lenguaje GPSS que fue desarrollado por Geoffrey
Gordon en los aos sesentas, y ha contribuido con importantes conceptos que hoy en
da estn presentes en los principales software de simulacin comerciales.
GPSS World est diseado para entregar respuestas rpidas y confiables con el
menor esfuerzo. La mayora de los sistemas pueden ser modelados de varias maneras
utilizando GPSS World. A menudo se utiliza un subconjunto de instrucciones.
4.2.1.1.- ESTRUCTURA DEL LENGUAJE GPSS.
Las instrucciones dentro del lenguaje GPSS se pueden clasificar como:
Instrucciones para definir variables.
Instrucciones para la lgica del programa.
Instrucciones para el control de la simulacin.
Cada una de estas instrucciones de GPSS estn descritas en el apndice B.
Instrucciones para definir variables.
Instruccin Descripcin
FUNCTION Definicin de funciones.
STORAGE Definicin de nmero de servidores.
MATRIX Definicin de matrices.
EQU Asignacin numrica a variables.
INITIAL Inicializacin de variables.
TABLE Definicin de histogramas.
VARIABLE FVARIABLE
Definicin de operaciones.
Tabla 4.1..- Instrucciones de GPSS para definicin de variables.
-
60
Instrucciones para la lgica del programa.
Instruccin Descripcin
SEIZE ENTER PREEMPT
Simulacin de inicio de proceso y captura del servidor.
RELEASE LEAVE RETURN
Simulacin de fin de proceso y liberacin del servidor.
QUEUE ENTER LINK
Simulacin de entrada de transacciones a un almacn.
DEPART ENTER UNLINK
Simulacin de salida de transacciones de un almacn.
GENERATE SPLIT
Simulacin de entrada de transacciones al sistema.
TERMINATE Simulacin de salida de transacciones del sistema.
ADVANCE ASSEMBLE MATCH GATHER
Simulacin de diversos tipos de proceso.
TRANSFER TEST GATE LOGIC SELECT LOOP BUFFER
Simulacin de control de flujo de transacciones
SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITY
Bloques de operaciones aritmticas.
TABULATE Bloques de creacin de estadsticas.
Instrucciones para el control de la simulacin.
Instruccin Descripcin
END START SIMULATE
Control de la simulacin
Tabla 4.2.- Instrucciones de GPSS para la lgica del programa.
Tabla 4.3.- Instrucciones de GPSS para el control de la simulacin.
-
61
4.2.1.2.- DISEO Y CODIFICACIN DEL MODELO.
El modelo puede ser conceptualizado grficamente como un sistema cerrado en el cual
las transacciones entran al sistema por una puerta representada por el bloque
GENERATE, y salen las transacciones del sistema por una o varias puertas de salida, las
cuales son representadas por el bloque TERMINATE. El bloque ADVANCE simula el
tiempo de servicio, siendo necesario describir secuencialmente dos bloques ADVANCE,
el primero para simular el servicio realizado por el proceso 1, y el segundo para
simular el proceso 2. El diagrama de bloques utilizado por GPSS utiliza una simbologa,
que est definida en cada una de las instrucciones de bloques, la cual su interpretacin
requiere de tiempo, por lo que en esta seccin no se aplicar para facilitar la
comprensin.
Las variables aleatorias utilizadas en este sistema son tres: el tiempo de entre llegadas
(TE), el tiempo de servicio del proceso 1 (TS1), y el tiempo de servicio del proceso 2
(TS2). La variables aleatorias uniformes y no uniformes pueden ser generadas en GPSS,
siendo las variables aleatorias no uniformes las que requieren una particular
especificacin adicional. Para simplificar primero utilizaremos variables aleatorias
uniformes. La variable aleatoria del tiempo entre llegadas, es descrita dentro del
bloque GENERATE, y el tiempo de servicio de cada proceso es descrita en el bloque
ADVANCE.
Simulacin de n transacciones.
Para simular un sistema que lleve a cabo n transacciones atendidas, se utiliza como
medida de control de la simulacin a las instrucciones TERMINATE y START. En la
instruccin TERMINATE se utiliza el operando A, para representar la cantidad que se
tiene que decrementar del contador de finalizacin inicializado con la instruccin
START. EL siguiente ejemplo muestra la aplicacin de este concepto, tomando como
Tiempo entre llegadas TE
Tiempo de
servicio TS1
Tiempo de
servicio TS2
Proceso 1 Proceso 2
Figura 4.1.- Sistema con dos procesos en serie.
-
62
base un modelo con caractersticas similares al visto en el anterior diagrama de
bloques.
Simulacin de n automviles atendidos en un lavado de autos.
Al iniciar el modelado en GPSS, las instrucciones GENERATE, TERMINATE y ADVANCE
tienen una importancia fundamental en la simulacin. A continuacin se presenta un
ejemplo en donde se detalla su funcionamiento.
Ejemplo: Se desea disear un modelo para simular el funcionamiento de un lavado de
automviles en el cual se realizan dos procesos en serie: lavado exterior, y secado
exterior. El tiempo entre llegadas de los vehculos tiene un comportamiento uniforme
con una media de 15 5 minutos. El tiempo de servicio de lavado exterior tiene un
comportamiento uniforme con una media de 5 2 minutos, y el tiempo de secado
exterior es de 6 3 minutos. Se desea simular 100 vehculos atendidos.
Solucin: El modelo debe representar un lavado de automviles, por lo cual las
transacciones sern los vehculos. Los tiempos ya estn definidos como TE=u(15,5),
TS1=u(5,2), y TS2=u(6,3). Primeramente es necesario estandarizar la unidad de tiempo
que se va a utilizar en el modelo, siendo los minutos la unidad de tiempo seleccionada,
convirtiendo todos los parmetros a minutos.
Se describe el modelo haciendo uso de un diagrama de bloques, donde estos bloques
representan una instruccin en lenguaje GPSS (apndice B). Inicia el diagrama con el
bloque GENERATE 15,5 el cual genera vehculos cada 15 5 minutos, las cuales entran
al sistema. Las flechas determinan el flujo de las transacciones. Los vehculos pasan al
bloque ADVANCE 5,2 que simula un proceso de retardo de 5 2 minutos (lavado
exterior del vehculo). Posteriormente se procede al siguiente bloque que est
representado por ADVANCE 6,3 el cual simula el secado exterior con un tiempo de
retardo de 6 3 minutos. Una vez terminado el secado, procede al ltimo bloque
representado por el TERMINATE 1, simulando la salida del vehculo del sistema.
En este modelo considera que la capacidad de lavado y secado es infinita debido a que no se tiene definida la capacidad en el
servicio de lavado y secado, siendo atendidos los vehculos sin tener que hacer cola, debido a que existe un nmero infinito de
espacio y servidores para lavar y secar. El reporte de resultados de la simulacin arroja informacin de una atencin ideal como
una medida exploratoria inicial.
GENERATE 15,5 ADVANCE 5,2 ADVANCE 6,3 TERMINATE 1
Diagrama de bloques para un lavado de autos (100 vehiculos atendidos)
Figura 4.2.- Diagrama de bloques para un lavado de autos.
-
63
Para llevar a cabo la simulacin de 100 vehculos atendidos es necesario el uso de la
instruccin de control START 100. El operando 100 inicializa el contador de finalizacin
en 100, el cual se ir decrementando en 1 cada vez que una transaccin pase por el
bloque TERMINATE 1.
Cdigo GPSS.
GENERATE 15,5 ; Genera vehculos con tiempo entre llegadas U(15,5)
ADVANCE 5,2 ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2)
ADVANCE 6,3 ;Simula el proceso de secado exterior con un tiempo de servicio de U(6,3)
TERMINATE 1 ;Abandona el vehculo del sistema
START 100 ;Inicia el proceso de simulacin de 100 vehculos atendidos iniciando el contador de finalizacin igual a 100.
Al ejecutar el cdigo (corrida) mostrar un reporte de resultados con las estadsticas
producto de la simulacin efectuada. Este reporte de resultados de la simulacin tiene
una informacin estructurada descrita ms adelante.
Simulacin de n automviles atendidos en un lavado de autos (mltiples servidores).
Ejemplo: Disear un modelo para simular el funcionamiento de un lavado de
automviles en el cual se realizan dos procesos en serie: lavado exterior, y secado
exterior. El tiempo entre llegadas de los vehculos tiene un comportamiento uniforme
con una media de 15 5 minutos. El tiempo de servicio de lavado exterior tiene un
comportamiento uniforme con una media de 5 2 minutos, y se tienen 2 espacios
para lavar de manera simultnea. El tiempo de secado exterior es de 6 3 minutos, y
se cuentan con 6 espacios para secado de forma simultnea. Se desea simular 100
vehculos atendidos. No se cuenta con espacio entre el rea de lavado y el rea de
secado.
Solucin: Para especificar en el modelo la capacidad instalada en el centro de lavado,
es necesario definir dos variables: LAVA Y SECA. Las cuales por medio de la instruccin
STORAGE, es posible determinar la capacidad mxima de servicio simultneo.
Tabla 4.4.- Cdigo GPSS para simular lavado y secado.
-
64
En el diagrama de bloques se representa la captura del servidor por medio del bloque
ENTER, y la liberacin del servidor con el bloque LEAVE. Es evidente que para liberar
un servidor (espacio) es necesario que exista previamente su captura del mismo por
medio del ENTER. Pero es conveniente subrayar, que cuando se termina de lavar un
vehculo, si existe un espacio disponible para ser secado se podr mover, de lo
contrario seguir esperando el tiempo necesario, hasta que exista un espacio
disponible para el secado (como se muestra en la lgica), y mientras tanto el servidor
que lav el vehculo estar de ocioso.
GENERATE 15,5
ADVANCE 5,2
ADVANCE 6,3
TERMINATE 1
Diagrama de bloques para un lavado de autos (100 vehiculos atendidos) Capacidad: 2 Lava, 6 Seca
ENTER
LAVA,1
ENTER
SECA,2
LEAVE
LAVA,1
LEAVE
SECA,1
Figura 4.3.- Diagrama de bloques para un lavado de autos. Incluye
servidores para realizar el lavado y secado.
-
65
Cdigo GPSS.
LAVA STORAGE 2 ;capacidad mxima de lavado=2
SECA STORAGE 6 ;capacidad mxima de secado = 6
GENERATE 15,5 ; Genera vehiculos con tiempo entre llegadas U(15,5)
ENTER LAVA,1 ;Captura un espacio para el lavado
ADVANCE 5,2 ; Simula el proceso de lavado exterior con un tiempo de servicio de U(5,2)
ENTER SECA,1 ;Captura un espacio para secado
LEAVE LAVA,1 ;Libera un espacio de lavado
ADVANCE 6,3 ;Simula el proceso de secado exterior con un tiempo de servicio de U(6,3)
LEAVE SECA,1 ;Libera un espacio de secado
TERMINATE 1 ;Abandona el vehiculo del sistema
START 100 ;Inicia el proceso de simulacin de 100 vehiculos atendidos iniciando el contador de finalizacin igual a 100.
Simulacin por un periodo de tiempo en un lavado de autos.
En algunos modelos es necesario llevar a cabo la simulacin por un perodo dado de
tiempo. Para disear un modelo con estas caractersticas es necesario incluir un reloj
que contabilice el tiempo de la simulacin. Para simular este reloj se requiere incluir
una secuencia de instrucciones que controlan el tiempo de la simulacin.
Ejemplo: Disear un modelo para simular el funcionamiento de un lavado de
automviles en el cual se realizan dos procesos en serie: lavado exterior, y secado
exterior. El tiempo entre llegadas de los vehculos tiene un comportamiento uniforme
con una media de 15 5 minutos. El tiempo de servicio de lavado exterior tiene un
comportamiento uniforme con una media de 5 2 minutos, y se tienen 2 espacios
para lavar de manera simultnea. El tiempo de secado exterior es de 6 3 minutos, y
se cuentan con 6 espacios para secado de forma simultnea. Se desea simular una
jornada de 8 horas de trabajo continuo. No se cuenta con espacio entre el rea de
lavado y el rea de secado.
Solucin: Para modelar este sistema es preciso determinar dos secuencias de bloques,