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