Está en la página 1de 177

SIMULACIN

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

CONTENIDO
1.- Introduccin a la simulacin
1.1.- DEFINICIONES E IMPORTANCIA DE LA SIMULACIN EN LA INGENIERA.
1.2.- CONCEPTOS BSICOS DE SIMULACIN.
1.3.- METODOLOGA DE LA SIMULACIN.
1.4.- MODELOS Y CONTROL.
1.5.- ESTRUCTURA Y ETAPAS DE ESTUDIO DE SIMULACIN.
1.6.- ETAPAS DE UN PROYECTO DE SIMULACIN.
1.7.- ELEMENTOS BSICOS DE UN SIMULADOR DE EVENTOS DISCRETOS.

1
2
4
5
7
8
10

2.- Nmeros pseudoaleatorios


2.1.- MTODOS DE GENERACIN DE NMEROS PSEUDOALEATORIOS.
2.2.- PRUEBAS ESTADSTICAS.
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).
2.3.- Mtodo de Monte Carlo.
2.3.1.- Caractersticas.
2.3.2.- Aplicaciones.
2.3.3.- Solucin de problemas.

13
16
17
22
25
31
32
33
33

3.3.- Generacin de variables aleatorias


3.1.- CONCEPTOS BSICOS.
3.2.- VARIABLES ALEATORIAS DISCRETAS.
3.3.- VARIABLES ALEATORIAS CONTINUAS.
3.4.- MTODOS PARA GENERAR VARIABLES ALEATORIAS.
3.4.1.- Mtodo de la transformada inversa.
3.4.2.- Mtodo de convolucin.
3.4.3.- Mtodo de composicin.
3.5.- PROCEDIMIENTOS ESPECIALES.
3.6.- PRUEBAS ESTADSTICAS (BONDAD DE AJUSTE).

37
37
45
51
51
52
52
54
54

4.4.- Lenguajes de Simulacin


4.1.- LENGUAJES DE SIMULACIN Y SIMULADORES.
4.2.- APRENDIZAJE Y USO DE LENGUAJE DE SIMULACIN O UN SIMULADOR.
4.3.- CASOS PRCTICOS DE SIMULACIN.
4.3.1.- Problemas con lneas de espera.
4.3.2.- Problemas con sistemas de inventario.
4.4.- VALIDACIN DE UN SIMULADOR.
4.4.1.- Pruebas paramtricas (validacin del modelo, pruebas de hiptesis y
pruebas de estimacin.
4.4.2.- Pruebas no paramtricas.

55
58
67
67
84
102
108
116

5.5.- Proyecto 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.
5.1.1.- Manufactura.
5.1.2.- Control de calidad.
5.1.3.- Supermercado.

117
117
132
142

Apndice A
Distribucin Normal (Z)
Distribucin chi-cuadrada ( )
Tabla K-S (, )

157
158
159

Apndice B
Instrucciones GPSS para la definicin de variables.
Instrucciones GPSS para la lgica del programa.

160
163

REFERENCIAS BIBLIOGRFICAS.

174

1
Introduccin 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:

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.
2

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
3

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
4

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
5

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.

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

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.

Definir el sistema

Formular el modelo
D
o
c
u
m
e
n
t
a
r

Recopilar datos

Implementar el modelo en la computadora

Validar el modelo

Experimentar con el modelo

Interpretar los resultados del modelo

Figura 1.1.- Etapas de un proyecto de simulacin

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,

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.
2.
3.
4.

La opinin de expertos sobre los resultados de la simulacin.


La exactitud con que se predicen datos histricos.
La exactitud en la prediccin del futuro.
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.

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.

10

2
Nmeros 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.

11

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.

GENERACIN DE NMEROS UNIFORMES

Provisin externa

Generacin interna basada en


un proceso fsico

Generacin interna basada en


una relacin de recurrencia

Figura 2.1.- Maneras de generar nmeros pseudo aleatorios uniformes

12

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)

13

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
Numerical recipes
Borland C/C++
Glibc (Gcc)
Ansi C
Borland Delphi
Microsoft
Visual/Quick
C/C++

m
232
232
231
231

Java's java.util.Random

32

1,664,525

1,013,904,223

22,695,477

1,103,515,245

12,345

1,103,515,245

12,345

134,775,813

32

214013 (343FD16)

2531011
(269EC316)

48

25,214,903,917

11

2
2

Tabla 2.1.- Parmetros de recurrencia usados por compiladores comerciales

14

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
0
1
2
3
4
5
6
7
8
9

Xn
4
3
6
5
0
7
2
1
4
3

(5Xn + 7 )mod 8
(5(4)+7) mod 8 = 27 mod 8 = 3
(5(3)+7) mod 8 = 22 mod 8 = 6
(5(6)+7) mod 8 = 37 mod 8 = 1
(5(5)+7) mod 8 = 32 mod 8 = 0
(5(0)+7) mod 8 = 7 mod 8 = 7
(5(7)+7) mod 8 = 42 mod 8 = 2
(5(2)+7) mod 8 = 17 mod 8 = 1
(5(1)+7) mod 8 = 12 mod 8 = 4
(5(4)+7) mod 8 = 27 mod 8 = 3
(5(3)+7) mod 8 = 22 mod 8 = 6

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

Nmero pseudo aleatorio


3/8
6/8
5/8
0/8 = 0
7/8
2/8
1/8
4/8
3/8
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.

15

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.

PRUEBAS DE ALEATORIEDAD

De uniformidad

De aleatoriedad

De independencia

Chi-Cuadrada.

Corridas arriba y debajo de


la media.

Autocorrelacin
Prueba de huecos

Kolmogorov-Smirnov.
Longitud de corridas.

Prueba de pquer
Prueba de Yule

Figura 2.2.- Pruebas estadsticas de aleatoriedad

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

16

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.

Frecuencia
Esperada
Frecuencia
Observada

0<0.20
1
FE1 = 100/5
FE1 = N/n
FO1

0.20<0.40
2
FE2 = 100/5

0.40<0.60
3
FE3 = 100/5

0.60<0.80
4
FE4 = 100/5

0.80<1
5
FE5 = 100/5

FO2

FO3

FO4

FO5

Tabla 2.2.- Frecuencia esperada y observada para 5 subintervalos.

La hiptesis de que todas las frecuencias son iguales en cada subintervalo se basa en
dividir el intervalo (0;1) en n subintervalos para luego realizar las comparaciones en
cada subintervalo entre la frecuencia esperada contra la frecuencia observada. Si son
17

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.

Donde:


  < ,
" #$ %$ ' ( )+$# # $( ) %+ $,+ -, . % $


,
es el estadstico terico chi-cuadrada que proviene de la tabla Chi-Cuadrada
mostrada en el apndice A, con un nivel de significancia y n-1 grados de libertad.

0.64138
0.47681
0.79302
0.64264
0.64388
0.59867
0.08396
0.93661
0.81515
0.07339

0.55837
0.52127
0.08124
0.22409
0.83371
0.10238
0.14600
0.72871
0.91642
0.65144

0.81593
0.69239
0.53401
0.80242
0.04198
0.57576
0.07700
0.96122
0.93912
0.81809

0.04994
0.92006
0.48201
0.58071
0.49796
0.20976
0.76808
0.52904
0.59072
0.01614

0.61265
0.37913
0.03268
0.31629
0.16087
0.25934
0.90808
0.18658
0.38699
0.86034

0.06787
0.32035
0.38087
0.03585
0.68317
0.27937
0.19125
0.81139
0.22783
0.05137

0.30465
0.37248
0.68054
0.46034
0.39974
0.74035
0.71868
0.71166
0.54638
0.50878

0.54264
0.57836
0.69251
0.57039
0.48571
0.26204
0.31794
0.92589
0.59725
0.98290

0.81159
0.19180
0.60284
0.15096
0.93409
0.06659
0.81621
0.23092
0.30204
0.41824

0.61163
0.28920
0.69351
0.15523
0.90760
0.75064
0.47948
0.92253
0.63166
0.97056

Tabla 2.3.- Tabla con 100 nmeros pseudoaleatorios para realizar pruebas de aleatoriedad

Ejemplo

Se desea realizar la prueba de chi-cuadrada a una secuencia de 100 nmeros pseudo


aleatorios (Tabla 2.3)
Solucin

Paso 1.- Determinar N, y n. Se cuenta con 100 nmeros por lo que N=100, y se
determina arbitrariamente 5 subintervalos (n=5).
Paso 2.- Se calcula la frecuencia esperada y observada.
FE = 100/5 = 20, por lo que la FE1= FE2= FE3= FE4=FE5=20.
Se contabiliza las frecuencias observadas en cada uno de los 5 subintervalos, y se
obtiene:
18

i
1
2
3
4
5

Subintervalo
[0, 0.20)
[0.20, 0.40)
[0.40, 0.60)
[0.60, 0.80)
[0.80, 1.00)

FOi
20
18
21
20
21

Paso 3.- Calcular el estadstico muestral:




 =

=


FEi
20
20
20
20
20

 




20 20
 + 18 20
 + 21 20
 + 20 20
 + 21 20

6
=
= 0.3
20
20

Paso 4.- Buscar el estadstico terico de la tabla de chi-cuadrada en el apndice A,


tomando como alfa=5%=0.05 y 5-1 grados de libertad se obtiene:


,
= ./ ,7
= 9.49

Paso 5.- Comparar los estadsticos para decidir si se rechaza o no la hiptesis.




8  = 0.3 9 ,
= 9.49 ,  < ,
" #$ %$ '

19

2.2.1.2.- La prueba Kolmogorov-Smirnov.


La prueba de Kolmogorov-Smirnov tambin conocida como la prueba K-S, trata de
determinar s dos conjuntos de datos difieren significativamente. La prueba K-S tiene la
ventaja de no asumir acerca de la distribucin de los datos, aunque esto tiene un costo
no documentado.
La prueba K-S se realiza basado en la hiptesis de que la distribucin acumulada de
una variable aleatoria x es F0(x). Para llevar a cabo esta hiptesis, se requiere de una
muestra de tamao n obtenida de una distribucin continua F(x), para luego
determinar la distribucin acumulada de la muestra referida como Fn(x),
posteriormente se compara con la distribucin acumulada hipottica F0(x). Si Fn(x)
difiere de F0(x), entonces es evidencia de que Fn(x) no es igual a Fn(x).
La prueba K-S compara la funcin de distribucin (probabilidad acumulada) terica con
la observada, y calcula un valor de discrepancia, representado habitualmente como d,
que corresponde a la discrepancia mxima en valor absoluto entre la distribucin
observada y la distribucin terica, proporcionando asimismo un valor de probabilidad
P, que corresponde, si estamos verificando un ajuste a la distribucin normal, a la
probabilidad de obtener una distribucin que discrepe tanto como la observada si
verdaderamente se hubiera obtenido una muestra aleatoria, de tamao n, de una
distribucin normal.
Si esa probabilidad es grande no habr por tanto razones estadsticas para suponer
que nuestros datos no proceden de una distribucin, mientras que si es muy pequea,
no ser aceptable suponer ese modelo probabilstico para los datos.
El procedimiento para realizar la prueba K-S es el siguiente:
1. Se seleccionan los nmeros pseudo aleatorios que se desean probar.
2. Se crea un vector X[i] con los nmeros pseudo aleatorios ordenados
ascendentemente.
3. Se calcula la funcin acumulada usando el vector F[i] = i/n
4. Se calcula el vector DIF[i] = | F[i] X[i] |
5. Se calcula <, = Mayor nmero contenido en el vector DIF[i]
6. Si <, , $,+ , $# , #$ %$ ' ( )%-$?

20

Ejemplo:

Se desea realizar la prueba K-S a una secuencia de 30 nmeros pseudo aleatorios


tomados de la Tabla 2.3
Paso 1.- Se seleccionan los primeros 30 nmeros pseudoaleatorios
0.64138
0.47681
0.79302

0.55837
0.52127
0.08124

0.81593
0.69239
0.53401

0.04994
0.92006
0.48201

0.61265
0.37913
0.03268

0.06787
0.32035
0.38087

0.30465
0.37248
0.68054

0.54264
0.57836
0.69251

0.81159
0.19180
0.60284

0.61163
0.28920
0.69351

Paso 2.- Se ordenan ascendentemente los 30 nmeros pseudoaleatorios. (Vector X[i])


0.03268
0.38087
0.61265

0.04994
0.47681
0.64138

0.06787
0.48201
0.68054

0.08124
0.52127
0.69239

0.19180
0.53401
0.69251

0.28920
0.54264
0.69351

0.30465
0.55837
0.79302

0.32035
0.57836
0.81159

0.37248
0.60284
0.81593

0.37913
0.61163
0.92006

0.20000
0.53333
0.86667

0.23333
0.56667
0.90000

0.26667
0.60000
0.93333

0.30000
0.63333
0.96667

0.33333
0.66667
1.00000

0.07132
0.00830
0.10698

0.05368
0.02164
0.12174

0.07248
0.03049
0.15074

0.04580
0.05504
0.07994

Paso 3.- Se calcula El Vector F[i] = i /n


0.03333
0.36667
0.70000

0.06667
0.40000
0.73333

0.10000
0.43333
0.76667

0.13333
0.46667
0.80000

0.16667
0.50000
0.83333

Paso 4.- Se calcula el vector DIF[i] =| F[i] X[i] |


0.00065
0.01420
0.08735

0.01673
0.07681
0.09195

0.03213
0.04868
0.08613

0.05209
0.05460
0.10761

0.02513
0.03401
0.14082

0.08920
0.00931
0.17316

Paso 5.- Calcular el estadstico <,.

Se localiza la posicin de la mayor nmero en el vector DIF (la mayor diferencia),


siendo el valor 0.17316 que se ubica en i=26, consiguiendo as el estadstico Dn
Por lo que:
DIF[26]=0.17316
X[26]=0.69351
F[26]=0.86667

Encontrando que <, = DIF[26]= 0.17316 = |F[26]-X[26]|


Paso 6.- Probar si se rechaza o no la prueba K-S.

Seleccionado =0.05, entonces ./,@ = 0.242 ver tabla k-s en el apndice A.

Como < ./,@ entonces no se tienen elementos para rechazar la hiptesis de


que estos 30 nmeros tienen un comportamiento uniforme.
21

2.2.2.- DE ALEATORIEDAD. (CORRIDAS ARRIBA Y DEBAJO DE LA MEDIA Y LONGITUD


DE CORRIDAS).
La prueba de corridas es una variante de la prueba de distancia la cual determina si
una serie de eventos ocurren aleatoriamente. Esta prueba es una variante de la prueba
de distancia en la cual el intervalo 0 a1a21 est fijado a 000.51 es decir a1=0, y
a2=0.5. Dada una secuencia de N nmeros pseudo aleatorios Xi es necesario
transformarla a una secuencia de nmeros binarios (Bi es cero o uno), en donde se
utiliza el siguiente criterio de conversin:
A = B

0 #  < 0.5E
1 #  > 0.5

Una corrida es una sucesin del mismo evento escrita una o ms veces, por ejemplo
una secuencia 0001100100 contiene 5 corridas es decir R=5, en donde: la primera
corrida es 000, la segunda 11, la tercera 00, la cuarta 1, y la quinta 00. Una vez
determinada el nmero de corridas se calcula el estadstico Z0 y se utiliza la
distribucin normal para obtener la regin critica. Para calcular el Z0 se utilizan las
siguientes frmulas:
FG =

2, ,
+1
, + ,

Donde FH es el valor promedio de las corridas, n1 es el nmero de veces que el primer
evento ha ocurrido, y n2 es el nmero de veces que el segundo evento ha ocurrido.
G = I

2, , 2, , , ,

, + ,
 , + , 1

Donde G es la desviacin estndar de las corridas.


K =

L + FG
G

Donde Z0 es el estadstico para la aproximacin normal de los datos, R es el nmero de


corridas y h es la correccin para continuidad, 0.5 (5% nivel de significancia), donde:
= +0.5 # L < 
= 0.5 # L > 

22

2, ,
+ 1

, + ,
2, ,
+ 1

, + ,

 1.96 K 1.96 $,+ , $# , #$ %$ ' ( )%-$?

Ejemplo:

Se desea realizar la prueba de corridas a una secuencia de 30 nmeros pseudo


aleatorios tomados de la Tabla 2.3
Paso 1.- Se seleccionan los primeros 30 nmeros pseudoaleatorios
0.64138
0.47681
0.79302

0.55837
0.52127
0.08124

0.81593
0.69239
0.53401

0.04994
0.92006
0.48201

0.61265
0.37913
0.03268

0.06787
0.32035
0.38087

0.30465
0.37248
0.68054

0.54264
0.57836
0.69251

0.81159
0.19180
0.60284

0.61163
0.28920
0.69351

Paso 2.- Se construye la secuencia B


1
0
1

1
1
0

1
1
1

0
1
0

1
0
0

0
0
0

0
0
1

1
1
1

1
0
1

1
0
1

Paso 3.- Se Calculan las corridas de la secuencia (leer B de izquierda a derecha y de


arriba hacia abajo).
1
0
1

1
1
0

1
1
1

0
1
0

1
0
0

0
0
0

0
0
1

1
1
1

Esta secuencia contiene 16 corridas, es decir R=16.

Paso 4.- Se Calcula N1, N2, XR, SR, y Z0.

N1 = cantidad de ceros en la secuencia = 13


N2 = cantidad de unos en la secuencia = 17
FG =

2, ,
+1
, + ,

23

1
0
1

1
0
1

FG =

213
17

442
+1=
+ 1 = 15.73
13 + 17

30

G = I

G = I

G = I

2, , 2, , , ,

, + ,
 , + , 1

213
17
213
17
13 17

13 + 17
 13 + 17 1

442
442 30

182104
182104
=I
=I
= 6.977 = 2.641

30
29

900
29

26100
2, ,
<$+$% ,% $)$, $, $( O( % $ 
+ 1

, + ,
213
17

442
P
+ 1Q =
+ 1 = 15.73
13 + 17

30

2, ,
+ 1

= 0.5  R-$ L > 


, + ,

K =

K =

L + FG
G

16 0.5 15.73 0.23


=
= 0.0870
2.641
2.641

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 $,+ , $# , #$ %$ ' ( )%-$?

24

2.2.3.- DE INDEPENDENCIA. (AUTOCORRELACIN, PRUEBA DE HUECOS, PRUEBA DE


PQUER, PRUEBA DE YULE).
Las pruebas de independencia son utilizadas para demostrar que los nmeros pseudo
aleatorios son estadsticamente independientes entre s. Estas pruebas se basan en la
siguiente hiptesis:
H0 : Xi es independiente
H1: Xi es dependiente
Para probar la independencia a continuacin se presentan Las siguientes pruebas:
Autocorrelacin, huecos, pquer y la prueba de Yule.
2.2.3.1.- Prueba de Autocorrelacin.
Para la detectar la autocorrelacin en una secuencia de nmeros pseudo aleatorios, se
utilizan distintos instrumentos estadsticos y grficos. En la prctica no se conoce un
proceso adecuado que determine la existencia de la autocorrelacin.
La prueba de autocorrelacin verifica la correlacin entre los nmeros
pseudoaleatorios, y los compara con la deseable autocorrelacin de cero.
La correlacin es una relacin recproca entre dos o ms elementos en una secuencia.
La secuencia de nmeros pseudo aleatorios aparentemente son aleatorios, pero
pudiera existir una relacin entre ciertos nmeros a partir de un nmero especfico.
Existen varios mtodos como el propuesto por Durbin y Watson, el de Breusch y
Godfrey, como tambin el estadstico de Box y Pierce.
2.2.3.2.- Prueba de huecos.
La prueba de huecos, mejor conocida como prueba de distancia o prueba Gap
determina la independencia de la secuencia de nmeros pseudo aleatorios. Para iniciar
la prueba es necesario determinar un subintervalo tal que 0 a1 a2 1 La secuencia
de N nmeros pseudo aleatorios Xi es es necesario transformarla a una secuencia de
nmeros binarios (Bi es cero o uno), en donde se utiliza el siguiente criterio de
conversin:
0 # 0 1  2 1
A = T 1 $, # ,+%% E

Una corrida es una sucesin del mismo evento escrita una o ms veces, por ejemplo
una secuencia 0001100100 contiene 5 corridas es decir R=5, en donde: la primera
corrida es 000, la segunda 11, la tercera 00, la cuarta 1, y la quinta 00. Una vez
determinada el nmero de corridas se calcula el estadstico Z0 y se utiliza la
25

distribucin normal para obtener la regin crtica. Para calcular el Z0 se utilizan las
siguientes frmulas:
FG =

2, ,
+1
, + ,

Donde FH es el valor promedio de las corridas, n1 es el nmero de veces que el primer
evento ha ocurrido, y n2 es el nmero de veces que el segundo evento ha ocurrido.
G = I

2, , 2, , , ,

, + ,
 , + , 1

Donde G es la desviacin estndar de las corridas.


K =

L + FG
G

Donde Z0 es el estadstico para la aproximacin normal de los datos, R es el nmero de


corridas y h es la correccin para continuidad, 0.5 (5% nivel de significancia), donde:
= +0.5 # L < 
= 0.5 # L > 

2, ,
+ 1

, + ,
2, ,
+ 1

, + ,

 1.96 K 1.96 $,+ , $# , #$ %$ ' ( )%-$?


Ejemplo:

Se desea realizar la prueba de corridas a una secuencia de 30 nmeros pseudo


aleatorios tomados de la Tabla 3.1
Paso 1.- Se seleccionan los primeros 30 nmeros pseudoaleatorios
0.64138
0.47681
0.79302

0.55837
0.52127
0.08124

0.81593
0.69239
0.53401

0.04994
0.92006
0.48201

0.61265
0.37913
0.03268

0.06787
0.32035
0.38087

0.30465
0.37248
0.68054

0.54264
0.57836
0.69251

0.81159
0.19180
0.60284

0.61163
0.28920
0.69351

Paso 2.- Se construye la secuencia B utilizando como subintervalo a1=0.0 y a2=0.5


1
0
1

1
1
0

1
1
1

0
1
0

1
0
0

0
0
0

26

0
0
1

1
1
1

1
0
1

1
0
1

Paso 3.- Se Calculan las corridas de la secuencia (leer B de izquierda a derecha y de


arriba hacia abajo).
1
0
1

1
1
0

1
1
1

0
1
0

1
0
0

0
0
0

0
0
1

1
1
1

1
0
1

Esta secuencia contiene 16 corridas, es decir R=16.

Paso 4.- Se Calcula N1, N2, XR, SR, y Z0.

N1 = cantidad de ceros en la secuencia = 13


N2 = cantidad de unos en la secuencia = 17
FG =
FG =

213
17

442
+1=
+ 1 = 15.73
13 + 17

30

G = I

G = I

G = I

2, ,
+1
, + ,

2, , 2, , , ,

, + ,
 , + , 1

213
17
213
17
13 17

13 + 17
 13 + 17 1

442
442 30

182104
182104
=I
=I
= 6.977 = 2.641

30
29

900
29

26100
2, ,
<$+$% ,% $)$, $, $( O( % $ 
+ 1

, + ,
213
17

442
P
+ 1Q =
+ 1 = 15.73
13 + 17

30
27

1
0
1

2, ,
= 0.5  R-$ L > 
+ 1

, + ,

K =

K =

L + FG
G

16 0.5 15.73 0.23


=
= 0.0870
2.641
2.641

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

28

Un nmero pseudoaleatorio (con mximo 5 digitos significativos) se representa como


una jugada:
X1 = 0.23123 se representa:
2

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
1
2
3
4

Mano de Pquer
Todos diferentes
Un par
Dos Pares
Tercia
Full
Pquer
Quintilla

Probabilidadi
0.30240
0.50400
0.10800
0.07200+0.00900+0.00450+0.00010
= 0.0856

29

FEi = N x Probabilidadi
FE1 = N x 0.30240
FE2 = N x 0.50400
FE3 = N x 0.10800
FE4 = N x 0.08560

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
1

Mano de Pquer
Todos diferentes

Un par

Dos Pares

Tercia
Full
Pquer
Quintilla

FOi
FE1 = Total de nmeros pseudoaleatorios que resultaron en
todas diferentes.
FE2 = Total de nmeros pseudoaleatorios que resultaron con
un par.
FE3 = Total de nmeros pseudo aleatorios que resultaron con
dos pares.
FE4 = Total de nmeros pseudo aleatorios que resultaron con
tercia full pquer quintilla.

Paso 3.- Calcular el estadstico dfe

 = 


 




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.

Donde:


  < ,@
" #$ %$ ' ( )+$# # $ ,$)$,$, 


,@
es el estadstico terico chi-cuadrada que proviene de la tabla Chi-Cuadrada
mostrada en el apndice A, con un nivel de significancia y 3 grados de libertad.

2.2.3.4.- Prueba de Yule.


El estadstico escocs George Udny Yule propone un estudio de medida de asociacin
por medio de cuadros estadsticos que denominan tablas de contigencia. El coeficiente
de contingencia Q de Yule es una medida del grado de relacin (asociacin) existente
entre dos variables (atributos). El coeficiente de asociacin de Yule debe ser utilizado
nicamente en tablas de 2x2. Los datos deben ser agrupados en tablas de contingencia
de 2x3. Este coeficiente es aplicable en casos como pruebas de seales en donde se
requiere emparejar una muestra independendiente. El clculo de este coeficiente
considera a A y B como dos atributos los cuales estn clasificados en N y M grupos
respectivamente. El primer paso es organizar los datos dentro de una tabla de M x N.
30

B/A
B1
B2

Bm
A=

A1
A1B1
A1B2

A2
A2B2
A2B2

An
AnB1
AnB2

Subtotal
B1
B2

A1Bm
A1

A2Bm
A2

AnBm
An

Bm
N

El coeficiente de contingencia se estima con la siguiente expresin:


8 = I


" + 

El coeficiente de asociacin debe ser aplicado a una tabla de 2x2 usando la expresin:
g =

?
+ ?

En donde a y b son producto de la siguiente tabla:


Clases
B

A
a
c

b
d

2.3.- MTODO DE MONTE CARLO.


Algunos problemas complejos han sido abordados para su solucin prctica haciendo
uso de varias tcnicas de probabilidad y muestreo, Las cuales se han agrupado bajo el
nombre de Monte Carlo el cual emplea un procedimiento antiguo que utiliza el
muestreo aleatorio que permite simular experimentos.
El mtodo Monte Carlo lo define el Dr. Householder como el estudio de modelos
estocsticos artificiales de procesos matemticos o fsicos. El mtodo Monte Carlo
engloba diversos mtodos de simulacin para conocer el comportamiento de los
modelos de simulacin basados en resolver ensayos independientes, donde los
resultados de un experimento no afecten lo que ocurre con los resultados de los
siguientes experimentos.
El mtodo Monte Carlo es una tcnica que est basada en la utilizacin de nmeros
aleatorios y probabilidad para la investigacin de problemas. Es empleado en una gran
variedad de campos incluyendo economa, finanzas, fsica, qumica, e ingeniera. Cada
campo utiliza el mtodo de diferentes maneras, pero en esencia utiliza nmeros
aleatorios para examinar algunos problemas y aproximar soluciones. Esta tcnica se
31

emplea en sistemas complejos en las cuales otras tcnicas son difciles o imposibles de
aplicar.
El mtodo de Monte Carlo es utilizado para aproximar expresiones matemticas
complejas y costosas de evaluar con exactitud. Este mtodo tiene su nombre en honor
al Casino de Monte Carlo ubicado en Mnaco el cual se le conoce como la capital del
juego de azar. El desarrollo de este mtodo inicia en 1944 y se ha ido mejorando con el
paso del tiempo y el uso de las computadoras.
Como herramienta de investigacin tuvo su debut en el laboratorio de Los lamos en
Estados Unidos de Norteamrica en el desarrollo de la bomba atmica durante la
segunda guerra mundial.
Tambin es una herramienta de investigacin y planteamiento, que utiliza el muestreo
artificial para la operacin numrica de sistemas complejos que contienen elementos
aleatorios o determinsticos en condiciones de incertidumbre. En la Investigacin de
Operaciones se utiliza para fines de experimentacin para la elaboracin de modelos y
ajuste de parmetros para el estudio de los resultados posibles.
Monte Carlo agrupa una serie de procedimientos que analizan distribuciones de
variables aleatorias usando la simulacin de nmeros aleatorios. Este mtodo
proporciona la solucin a una gran gama de problemas matemticos haciendo uso de
experimentos con muestreos estadsticos computacionales. La aplicacin del mtodo
puede realizarse en modelos estocsticos o determinsticos. Los primeros usos del
mtodo fue la solucin de integrales que no se podan resolver analticamente.
Posteriormente fue implementado este mtodo en aquellos problemas en los cuales
intervena nmeros aleatorios y variables aleatorias con distribucin de probabilidad
conocidas.
Este mtodo puede ser utilizado para describir cualquier tcnica que aproxime
soluciones a problemas cuantitativos mediante el uso del muestreo estadstico.
2.3.1.- CARACTERSTICAS.
Las principales caractersticas del Mtodo de Monte Carlo son:

El sistema debe estar formulado considerando una o ms funciones de


distribucin de probabilidad.
Debe contar con un generador de nmeros pseudo aleatorios.
EL establecimiento de lmites y reglas de muestreo para las funciones de
probabilidad.
La estimacin del error.
Las tcnicas de reduccin de varianza.
El uso del multiprocesamiento.
32

2.3.2.- APLICACIONES.
Criptografa
Densidad y flujo de trfico
Diseo de VLSI
Econometra
Fsica de materiales
Programas de computadora
Explotacin petrolera
Lneas de espera
Bolsa de valores

Cromo dinmica cuntica


Diseo de reactores nucleares
Ecologa
Evolucin estelar
Modelos cuantitativos
Pronsticos
Radioterapia
Inventarios

2.3.3.- SOLUCIN DE PROBLEMAS.


2.3.3.1.- Valor de una integral definida.
Se desea obtener la integral de la funcin Y=X2 al resolverlo analticamente en los lmites de -1
x 1 se obtiene como resultado 2/3.

Considerando que el rea del rectngulo es de 2, se efecta la divisin entre el resultado de la


integral (2/3) dando como resultado 1/3 = 0.333.
Utilizando el mtodo de Monte Carlo para encontrar la solucin, se utiliza la tabla de nmeros
aleatorios formando parejas de dos dgitos (un valor para la abscisa y otra para la ordenada). Al
simular 200 puntos, se contabilizan aquellos puntos que se sitan bajo la curva de la funcin.
Al terminar el proceso el conteo obtiene 69 que estn ubicados bajo la curva, por lo que se
calcula
la la proporcin 69/200 la cual da un resultado de 0.345 el cual es muy cercano a 0.333,
con un error de 0.012.

33

2.3.3.2.- rea Militar.


El mayor desarrollo del mtodo de Monte Carlo se ha dado en el rea militar, resolviendo los
siguientes tipos de problemas:

Nmero de aviones que no cumplen con la misin.


Nmero de aviones derribados por el enemigo, en el camino hacia el objetivo.
Nmero de aviones extraviados por errores de navegacin.
Nmero de aviones derribados por el enemigo que defiende el objetivo.
Lugar donde las bombas hacen impacto.
Daos esperados.

2.3.3.3.- Anlisis de Riesgo.


El anlisis de riesgo es el proceso de predecir un resultado en condiciones de incertidumbre.
La determinacin de la produccin ante una demanda cambiante es un problema que
enfrentan los productores. La intencin del productor es obtener las mximas ganancias. Se
cuenta con variables determinsticas y estocsticas. En la medida que el modelo de produccin
se vuelve ms complejo es difcil encontrar una solucin analtica, siendo el mtodo de Monte
Carlo una herramienta que brinda una opcin para encontrar la solucin.

2.3.3.4.- Inventarios.
El inventario son bienes que son almacenados por una organizacin para ser utilizados en el
futuro. Casi todas las empresas cuentan con inventarios, los cuales representan gran cantidad
de dinero invertido. Minimizar los inventarios es una tarea crtica de cualquier administracin
por lo que ha sido objeto de estudio durante muchos aos, para minimizar los costos de
mantenimiento de un artculo en el inventario. Los costos de inventarios ms representativos
son: conservacin, pedido, faltante, y de adquisicin.
Los costos de conservar o mantener un artculo estn asociados a la tenencia fsica, en los
cuales se engloban los de almacenaje, seguros, robo, obsolescencia y el costo de capital sin
movimiento. El costo de conservacin es uno de los costos ms representativos del inventario.
El costo de pedido involucra los gastos asociados en el proceso de administrar las requisiciones
y rdenes de compra, envos y transporte.
El costo de faltante es aquel que se incurre cuando el artculo requerido no est disponible.
Aqu se engloba la ganancia perdida y el costo de paro de la produccin. Este costo es uno de
los ms difciles de estimar debido a su complejidad.
Los costos de adquisicin son los costos derivados de adquirir el artculo.
EL problema de inventario se vuelve complejo debido a que el costo de conservacin y el costo
de pedido se mueven en direcciones opuestas. La minimizacin de los costos de inventarios
depende de Cunto y cuando pedir?. Esta es un rea de oportunidad para el desarrollo de

34

mtodo de Monte Carlo para la realizacin de una aproximacin numrica al problema del
inventario.

35

PROBLEMAS
2.1.- Determine el periodo de los siguientes generadores congruenciales mixtos:
 = 9 + 13
 4 9   = 4
 = 9 + 13
 8 9   = 4

 = 9 + 13
 16 9   = 4

2.2.- Genere los primeros 50 nmeros pseudoaleatorios utilizando el generador


 = 7 + 21
 64 9   = 7

2.3.- Aplique la prueba de Chi Cuadrada a la siguiente secuencia de nmeros:


0.234
0.907
0.800

0.456
0.002
0.963

0.678
0.345
0.255

0.789
0.789
0.607

0.982
0.897
0.045

0.123
0.951
0.783

0.345
0.234
0.405

0.456
0.380
0.899

0.479
0.404
0.277

0.895
0.678
0.341

0.342
0.543
0.534

0.455
0.739
0.446

0.657
0.346
0.650

2.4.- Aplique la prueba K-S a la siguiente secuencia de nmeros:


0.456
0.989
0.881

0.234
0.001
0.101

0.214
0.998
0.305

0.897
0.343
0.232

0.234
0.456
0.777

0.567
0.651
0.238

0.787
0.725
0.223

2.5.- Aplique la prueba de pquer a la siguiente secuencia de nmeros:


0.34877
0.37880
0.10145
0.49413

0.23905
0.45067
0.33030
0.50684

0.21098
0.12105
0.13052
0.44968

0.13451
0.57694
0.99101
0.49184

0.99103
0.20473
0.30597
0.49951

2.6.- Simule el tiempo de proceso de 200 piezas considerando que el tiempo de proceso de
una pieza sigue la funcin de probabilidad:
i
# 0 i 5
50
E
.i
= j10 i
# 10 i 30
50

36

3
Generacin de variables aleatorias

3.1.- CONCEPTOS BSICOS.


La generacin de variables aleatorias es un proceso que enfrenta la simulacin debido
a que cuenta con variables con un comportamiento probabilstico. En donde dicha
variabilidad se pudiera clasificar dentro de alguna distribucin de probabilidad
conocida.
Las distribuciones de probabilidad pueden ser discretas o continuas, en donde las
distribuciones discretas, la aleatoriedad de la variable slo puede tomar valores
enteros. Las distribuciones ms utilizadas son: Bernoulli, uniforme, binomial, Poisson, y
geomtrica. En cambio las distribuciones continuas modelan la aleatoriedad en
eventos en los cuales los valores de las variables pueden estar dentro de un rango de
valores reales. Las funciones continuas ms utilizadas son: uniforme, exponencial,
Weibull, triangular, y la normal.
Para la generacin de las variables aleatorias discretas o continuas, es necesario contar
con la informacin especfica de la distribucin deseada, la aplicacin de un mtodo
para la generacin de la variable aleatoria, y la implementacin computacional para
usarse en la simulacin.
3.2.- VARIABLES ALEATORIAS DISCRETAS.
Una variable aleatoria es una variable cuyo valor depende del resultado de un
experimento aleatorio. Las variables aleatorias discretas toman un conjunto de valores
finitos de valores, los cuales son enteros no negativos (usualmente utilizados para
conteo).
La distribucin de probabilidad es un conjunto de probabilidades para los posibles
distintos sucesos o eventos que pueden darse en un experimento aleatorio. Es decir
nos proporciona cmo distribuir la probabilidad entre los sucesos que pueden
producirse.
Existe un gran nmero de distribuciones de probabilidad para variables aleatorias que
nicamente tiene valores enteros no negativos. Las distribuciones discretas de
probabilidad son tiles cuando se usan procesos de conteo en muestras aleatorias. Las
37

distribuciones discretas generalmente se utilizan en la prctica como resultado de


redondear medidas continuas basada en una escala discreta.
3.2.1.- DISTRIBUCIN GEOMTRICA.
La distribucin geomtrica est descrita por la siguiente funcin de probabilidad:
.i
= )1 )
k

Donde p es la probabilidad de xito y q= (1-p) la probabilidad de fracaso.


La distribucin acumulada se define por:

 i
=  )1 )



Con media igual a:

 = =
Y varianza igual a:
m = n  =

1 )

1 )


=

)
)

Al aplicar el mtodo de la transformada inversa para encontrar la variable aleatoria


geomtrica se obtiene que:

Al despejar x tenemos lo siguiente:

% = 1 )
k

i =

o,%

o,1 )

Como 1-p es la probabilidad de fracaso, se describe la variable aleatoria en esos


trminos:
m% ?($ ($+ %  p$ +  i =

o,%

o,R

En donde el valor de x, se debe redondear enteros, truncando los decimales.

38

/* Genera una variable aleatoria geometrica con parmetro q (probabilidad de fracaso) */


int geometrica(double q) {
double r;
int x ;
r=rand();
x=(int)Math.floor( Math.log( r ) / Math.log(q ) );
return(x);
}
Tabla 3.1.- Pseudocdigo para variable aleatoria geomtrica.

3.2.2.- DISTRIBUCIN BINOMIAL NEGATIVA.


La funcin de probabilidad est dada por:

s+i1 u
.i
= r
t ) 1 )
k
i

Donde k es el nmero total de xitos en una sucesin de k + x ensayos, con x el


nmero fallas que ocurren antes de obtener k xitos.

La distribucin geomtrica es un caso especial de la distribucin binomial negativa con


k = 1.
La distribucin binomial negativa tambin se le conoce como la distribucin Pascal, la
cual est definida
Con media igual a:
 = =
Y varianza igual a:
m = n  =

s1 )

s1 )


=

)
)

Despejando los prametros p y k se obtiene que:

39

)=


m



)


s=
= m
=
1 )
1 
m 
m

Si k es un entero y q = (1-p) entonces la variable aleatoria binomial negativa est dada


por:
O% ?($ ($+ %  ? , ( ,$p+ O i =
La x se redondea al menor entero ms prximo.

u o,%
o,u %

=
o,R

ln R

/* Genera una variable aleatoria binomial negativa con parmetros q (probabilidad de fracaso) y k (total de xitos) */
int binomialnegativa( double q, int k) {
double r, tr;
int x, i ;
tr=1.0;
for(i=1;i<=k;i++) {
r=rand();
tr = tr * r;
}
x = (int)round( (Math.log(tr) / Math.log(q)));
return(x);
}
Tabla 3.2.- Pseudocdigo para variable aleatoria binomial negativa.

3.2.3.- DISTRIBUCIN BINOMIAL.


La funcin de probabilidad para la distribucin binomial se expresa:

Con media igual a:

Y varianza igual a:

,
. i
= y z ) k 1 )
k
i
 = = ,)
40

m = n  = ,)1 )

Los valores de n y p se obtienen de la media y varianza:


,=



 m

)=

 m


Para generar la variable aleatoria binomial se aplica el mtodo de rechazo en el cual se


inicia con los valores conocidos de p y n, y realiza un conteo de los n nmeros
pseudoaleatorios, que sean menores o iguales a p.


i = 1 # % )E E
O% ?($ ($+ %  ? , ( i =  i { B 

i = 0 # % > )


/* 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<=n;i++) {
r=rand();
if (r <= p) x=x+1;
}
return(x);
}

Tabla 3.3.- Pseudocdigo para variable aleatoria binomial.

41

3.2.4.- DISTRIBUCIN HIPERGEOMTRICA.


La funcin de probabilidad hipergeomtrica est descrita por:
. i
=
Donde:

|}~
|}~


k
k
|}

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
t
"1

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.

42

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<=ns;i++) {
r = rand();
if (r <= p) { s=1; x=x+1; }
else s=0;
p=(tn * p s)/(tn 1);
tn = tn 1;
}
return(x);
}
Tabla 3.4.- Pseudocdigo para variable aleatoria hipergeomtrica.

3.2.5.- DISTRIBUCIN POISSON.


La distribucin Poisson est definida por:

Donde x=0,1,2, y >0

. i
= $ 

La distribucin acumulada se define con:

k
i!

 i
= $  


Donde x 0
Una media igual a:
43


!

 = =

Y la varianza igual a:

m = n  =

La variable aleatoria Poisson se obtiene mediante la siguiente desigualdad:


k

 + <  +  ,$ i $# -, $,+$% , ,$p+ O




Y el valor + = o,%



Para simplificar los clculos computacionales es posible reformular la desigualdad


anterior para obtener la variable aleatoria Poisson con la desigualdad:
k

O% ?($ ($+ %  ## , % $




/* 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.

44

k

> %


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:

1
. i
= T ?  #  i ? E
0 #  > i > ?

La distribucin acumulada F(x) est definida como:


 i
=

1
i
+ =
#  i ?
?
?

Con media igual a:


 = =
Y varianza igual a:
m = n  =

+?
2

? 

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
45

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);
}
Tabla 3.6.- Pseudocdigo para variable aleatoria uniforme.

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:
Donde: > 0 9 i 0.

. i
= $ k

La distribucin acumulada F(x) est definida como:


k

 i
= $ k + = 1 $ k
Con media igual a:

 = = i$ k i =
Y varianza igual a:

46

1
1
m = n = i
 $ k i =  = 





El parmetro lambda () es posible expresarlo de la siguiente manera:


=

1


Aplicando la transformada inversa se tiene lo siguiente:


#  i
= 1 $ k

Igualando a r se obtiene:

$,+ , $# 1  i
= $ k
% = $ k

Despejando x es posible obtener la variable aleatoria exponencial:

1
O% ?($ ($+ %  $i) ,$, ( i = r t 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.

47

3.3.3.- DISTRIBUCIN GAMMA.


La funcin gamma est definida con la siguiente funcin de densidad:
. i
=

Donde: > 0, k > 0, y x 0

u i u
$ k
 s 1
!

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:
 = =
Y varianza igual a:
m = n  =
Se obtienen los valores de k y .
=

s


s
s
= I , $#)$, s #$ ?+ $,$:

m
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:
u

1
1
O% ?($ ($+ %  p  i =  i =  o,%
= o, %







Con la restriccin de generar variables aleatorias con valores de k que no sean enteros.
48

/* 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<=k; i++) {
r = rand();
tr = tr * r;
}
x = (-1/lambda)* Math.log(tr);
return(x);
}
Tabla 3.8.- Pseudocdigo para variable aleatoria gamma.

3.3.4.- DISTRIBUCIN NORMAL.


La distribucin normal es una de las distribuciones conocidas ms utilizadas. Su
popularidad se debe a sus propiedades generales, debido a que est basada en el
teorema del lmite central que postula que la distribucin de probabilidad de la suma
de N valores de variable aleatoria xi independientes, pero idnticamente distribuidos,
se aproximan asintticamente a una distribucin normal a medida que N se hace muy
grande, y dicha distribucin tiene como media y varianza:
}

=  

}

n =  n


Tiene la siguiente funcin de densidad:


. i
= P
Donde: -<x<



Q $
nk 2

49

y

k
z

La funcin de densidad de una distribucin normal estandarizada tiene como valores a


k = 0, 9 nk = 1,
.'
=

Donde: -<z<

$ 

Para convertir una distribucin normal a una estandarizada se utiliza el valor de z que
es igual a:
' =

i k
nk

La distribucin acumulativa F(x) o F(z) no existe de manera explcita, pero se encuentra


tabulada en cualquier libro de estadstica.

Con media igual a:

Y varianza igual a:

 = = k
m = n  = nk

La variable aleatoria normal es obtenida utilizando el mtodo de convolucin,


expresada de la siguiente manera:
u

i = + n % 6



50

/* 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<=k;i++) {
r = rand();
tr = tr * r;
}
x = media + desviacion*(tr 6.0D);
return(x);
}
Tabla 3.9.- Pseudocdigo para variable aleatoria normal.

3.4.- MTODOS PARA GENERAR VARIABLES ALEATORIAS.


Un modelo de simulacin involucra variables aleatorias, las cuales siguen
distribuciones de probabilidad tericas o empricas. Estas variables usualmente tienen
un comportamiento no uniforme, por lo que es necesario simular estas variables
mediante generadores que utilizan variables uniformes y una funcin de
transformacin a la distribucin de probabilidad deseada. Existen varios
procedimientos para lograrlo, entre ellos estn el mtodo de la transformada inversa,
el mtodo de convolucin, mtodo de aceptacin y rechazo, y el mtodo directo.
3.4.1.- MTODO DE LA TRANSFORMADA INVERSA.
La transformada inversa en un mtodo que usa la distribucin acumulada F(x) de la
distribucin que se desea simular. La funcin F(x) se encuentra en el intervalo de cero
a uno, y es posible generar un nmero pseudoaleatorio R y tratar de determinar el
valor de la variable aleatoria para la cual su distribucin acumulada es igual a R. Se
determina al resolver la siguiente ecuacin:
i
= L

i =   L

51

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 + ?u i u

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



 ,$ ) 0 9  ) = 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.

52

Ejemplo.
Generar la variable aleatoria para la siguiente distribucin:
.i
=
Solucin:

1 + i, 1 i < 0E
1 i,
0 i 1
k

i
= 1 + i
i =


1 + i

2

 i
= 1 + i
i + 1 i
i = 1


Aplicando la transformada inversa:

% =  i
=
Despejando x se obtiene que:

1 + i

2

i = 2% 1

Para x=-1, se obtiene r = 0


Para x=0, se obtiene r =
Sujeta a las siguientes restricciones:

Aplicando la transformada inversa:

0 % 12
1 i 0

% =  i
= 1
Despejando x se obtiene que:

Para x=0, se obtiene r=

1 i

2

i = 1 21 %

Para x=1, se obtiene r=1

53

1 i

2

Sujeta a las restricciones siguientes:

1 % 1
2
0i1

Formulando entonces la variable aleatoria:


i=T

2% 1,

1 21 %
,

0 % 12
E
1 % 1
2

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
=

 ~

 

. i
i

 =  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.

54

4
Lenguajes 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.

55

4.1.2.- LENGUAJES DE PROGRAMACIN DE PROPSITO ESPECFICO.


A mediados de los aos cincuentas,
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 lenguajes
lenguaje de
programacin que sean especfico
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 debido a
los continuos cambios que surgen en el proceso de experimentacin,
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
es:

Proporcionar
roporcionar instrucciones para la generacin de variables aleatorias uniformes
y no uniformes.
Incluir instrucciones para el manejo de reloj
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
SS (General Purpose Simulation System).
El lenguaje fue creado por Geoffrey Gordon a finales de la dcada de los cincuentas, y
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
caso de la entrada o salida, la atencin del cajero, o la espera.
La empresa
presa Minuteman Software (www.minutemansoftware.com)
(
por ms de veinte
aos proporciona software para simulaci
simulacin. Actualmente distribuye el producto GPSS
World versin 5.2.2 comercialmente y tambin presenta una versin acadmica.
acadmica

56

4.1.3.2.- SIMSCRIPT.
SIMSCRIPT 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
transformado este lenguaje para cumplir con las nuevas demandas computacionales y
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
ra construir simuladores
simuladores.
SIMSCRIPT III 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
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 compatible
compa
con
plataformas Windows, Unix y Linux.
4.1.3.3.- SIMULA.
El lenguaje de simulacin SIMULA fue diseado por Ole-Johan
Ole Johan Dahl y Kristen Nygaard
en el Centro Noruego de C
Computacin en Oslo Noruega entre 1962 y 1967. Fue
originalmente diseado e implementado
implementado como un lenguaje de simulacin de eventos
discretos. Este lenguaje fue el primer lenguaje de programacin orientado a objetos,
objetos
que tuvo gran influencia para la introduccin de conceptos importantes conocidos
como el enfoque orientado a objetos
objetos. Desafortunadamente hoy en da no se
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
ermite simular mediante animaciones cualquier tipo de sistemas:
s
Manufactura,
anufactura,
logstica, manejo de materiales, bandas de transporte, gras viajeras, ensamble, corte,
talleres, logstica, etc.
Una vez creado el modelo, se puede optimizar mediante el mdulo de optimizacin a
diferencia del procedimiento tradicion
tradicional de prueba y error.

57

La empresa comercial ProModel Corporation ((www.promodel.com.mx) Promueve


Prom
la
utilizacin de la Simulacin y Optimizacin como una respuesta rpida a los problemas
de decisin en las empresas,, generando ahorros sustanciales, a travs de la simulacin.
4.1.3.5.- ARENA.
Arena es un software para realizar simulacin de eventos discretos. Desarrollado por
Systems Modeling y adquirido por Rockwell Automation ((www.arenasimulation.com
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
tiempo; y presenta los resultados de la simulacin con
reportes de los datos estadsti
estadsticos.
El lenguaje de programacin VisualBasic
VisualBasic de Microsoft est integrado en Arena,
Arena
como parte de un servicio opcional, para el desarrollo de algoritmos especficos.
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 que los
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
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
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 tales
tal
como: Promodel y Arena que proporcionan ambientes ms robustos y ayu
ayudas
das visuales
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. Para construir el modelo de
simulacin es necesario describir mediante un diagrama de bloques que
posteriormente se codifica en el lenguaje GPSS.

58

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
FUNCTION
STORAGE
MATRIX
EQU
INITIAL
TABLE
VARIABLE
FVARIABLE

Descripcin
Definicin de funciones.
Definicin de nmero de servidores.
Definicin de matrices.
Asignacin numrica a variables.
Inicializacin de variables.
Definicin de histogramas.
Definicin de operaciones.

Tabla 4.1..- Instrucciones de GPSS para definicin de variables.

59

Instrucciones para la lgica del programa.


Instruccin
SEIZE
ENTER
PREEMPT
RELEASE
LEAVE
RETURN
QUEUE
ENTER
LINK
DEPART
ENTER
UNLINK
GENERATE
SPLIT
TERMINATE
ADVANCE
ASSEMBLE
MATCH
GATHER
TRANSFER
TEST
GATE
LOGIC
SELECT
LOOP
BUFFER
SAVEVALUE
MSAVEVALUE
ASSIGN
INDEX
PRIORITY
TABULATE

Descripcin
Simulacin de inicio de proceso y captura del servidor.

Simulacin de fin de proceso y liberacin del servidor.

Simulacin de entrada de transacciones a un almacn.

Simulacin de salida de transacciones de un almacn.

Simulacin de entrada de transacciones al sistema.


Simulacin de salida de transacciones del sistema.
Simulacin de diversos tipos de proceso.

Simulacin de control de flujo de transacciones

Bloques de operaciones aritmticas.

Bloques de creacin de estadsticas.


Tabla 4.2.- Instrucciones de GPSS para la lgica del programa.

Instrucciones para el control de la simulacin.


Instruccin
END
START
SIMULATE

Descripcin
Control de la simulacin

Tabla 4.3.- Instrucciones de GPSS para el control de la simulacin.

60

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.

Tiempo entre llegadas TE


Tiempo de
servicio TS1

Proceso 1

Tiempo de
servicio TS2

Proceso 2

Figura 4.1.- Sistema con dos procesos en serie.

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

61

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.

Diagrama de bloques para un lavado de autos (100 vehiculos atendidos)

GENERATE 15,5

ADVANCE 5,2

ADVANCE 6,3

TERMINATE 1

Figura 4.2.- Diagrama de bloques para un lavado de autos.

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.

62

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.
Tabla 4.4.- Cdigo GPSS para simular lavado y secado.

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.

63

Diagrama de bloques para un lavado de autos (100 vehiculos atendidos) Capacidad: 2 Lava, 6 Seca

GENERATE 15,5

ENTER
LAVA,1

ADVANCE 5,2

ENTER
SECA,2

LEAVE
LAVA,1

ADVANCE 6,3

LEAVE
SECA,1

TERMINATE 1
Figura 4.3.- Diagrama de bloques para un lavado de autos. Incluye
servidores para realizar el lavado y secado.

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.

64

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.
Tabla 4.5.- Cdigo GPSS para el diagrama de bloques de la Figura 4.3

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,
la primera designada para simular los vehculos, y la segunda para simular el
funcionamiento de un reloj para controlar el periodo simulado.

65

Diagrama de bloques de un lavado de autos (jornada de 8 horas) Capacidad: 2 Lava, 6 Seca

GENERATE 15,5

ENTER
LAVA,1

ADVANCE 5,2

ENTER
SECA,2

LEAVE
LAVA,1

ADVANCE 6,3

LEAVE
SECA,1

TERMINATE

GENERATE 480

TERMINATE 1

Figura 4.4.- Diagrama de bloques para un lavado de autos. Simula jornada de 8 horas

En la primera secuencia de bloques, es similar al mostrado en el ejercicio anterior,


salvo que en el bloque TERMINATE no se establece el operando A, debido a que el
contador de finalizacin que controla la simulacin no depender de los vehculos
atendidos.
La segunda secuencia de bloques, representa un reloj que simula el tiempo de la
simulacin solicitado. El primer bloque GENERATE 480 genera una transaccin cada
480 unidades de tiempo (8 horas), para luego esa transaccin sacarla del sistema por el
bloque TERMINATE 1, siendo el operando 1, la unidad a decrementar al contador de
finalizacin de GPSS. Es necesario utilizar como complemento una instruccin de
control de simulacin START 1, la cual inicializa el contador de finalizacin a 1, una vez
que la transaccin llega al bloque TERMINATE 1, finalizando en ese preciso momento la
simulacin.

66

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

;Abandona el vehiculo del sistema

GENERATE 480

;Genera 1 transaccin (jornada de 8 horas) cada 480 minutos

TERMINATE 1

;Abandona la transaccin del sistema (finaliza la jornada)

START 1

;Inicia el proceso de simulacin de 1 jornada de trabajo de 8 horas (480 minutos).


Tabla 4.6.- Cdigo GPSS para el diagrama de la figura 4.4

Una vez realizada la simulacin, arroja un reporte de resultados con estadsticas para
conocer el comportamiento del modelo.

4.3.- CASOS PRCTICOS DE SIMULACIN.

4.3.1.- PROBLEMAS CON LNEAS DE ESPERA.


Una lnea de espera se forma cuando la demanda de un servicio supera la capacidad
instalada para proporcionar dicho servicio. Estos servidores como cajeros, mquinas,
gras, taxis, etc, estn instalados para proporcionar un servicio a las transacciones que
pueden ser clientes, piezas, autos, etc. El tiempo de servicio y el tiempo de entre
llegadas estn en funcin de variables aleatorias, y el estudio de estos modelos
permite conocer su comportamiento. La simulacin de estos sistemas es una
herramienta til para optimizar los recursos.
4.3.1.1.- USO DE QUEUE Y DEPART.
Una lnea de espera, tambin conocida usualmente como una cola, es modelada en
GPSS por dos instrucciones: QUEUE y DEPART para la delimitacin fsica de la cola.
Estas instrucciones nicamente generan una estadstica del comportamiento de la
67

lnea de espera, y no participan en la modificacin de su comportamiento. El reporte


de resultados presenta una estadstica de las colas definidas, proporcionado datos
tales como:

Nmero mximo de transacciones en espera en el periodo de simulacin.


Cantidad de transacciones en espera al finalizar el periodo de simulacin.
Nmero de transacciones que realizaron una espera.
Nmero de transacciones que no tuvieron que esperar.
Tiempo promedio de espera de una transaccin.
Tiempo promedio de espera de una transaccin (sin contabilizar las
transacciones que no tuvieron que esperar.

Estos datos sirven para detectar los tiempos de un proceso, cuellos de botella al
proporcionar un servicio, y ayuda en la formulacin de experimentos para la
optimizacin de los servicios.
Una transaccin al fluir por el sistema tendr que esperar cuando tenga que hacer
frente a un servicio limitado. Estos servicios simulados por las instrucciones ENTER y
LEAVE, o las instrucciones SEIZE y RELEASE, se ven detenidas formando una lnea de
espera, que el diseador del modelo debe de representar para conocer a fondo lo que
est sucediendo en este trayecto. Conocer los tiempos de recorrido de las
transacciones por una parte del sistema tambin se pueden modelar con el QUEUE y
DEPART.
4.3.1.2.- DATOS ESTADSTICOS DE LAS COLAS, EN EL REPORTE DE RESULTADOS.
A continuacin se disea un modelo, en el cual se requiere conocer informacin de
todo el proceso que involucra el lavado de autos. Este simple ejemplo muestra la
ubicacin de los bloques QUEUE Y DEPART para recabar datos estadsticos del
comportamiento de una lnea de espera denominada ESTANCIA, que simula una cola
desde el principio que llega el vehculo a las instalaciones, hasta que sale el vehculo de
las instalaciones.
Diagrama de bloques de un lavado de autos utilizando QUEUE y DEPART (100 AUTOS ATENDIDOS)

GENERATE 15,5

QUEUE
ESTANCIA,1

TOTAL DEL
PROCESO

DEPART
ESTANCIA,1

TERMINATE 1

Figura 4.6.- Diagrama de bloques para un lavado de autos. Incluye Queue y Depart.

68

CDIGO GPSS.
GENERATE 15,5
QUEUE 15,5
(Lgica de todo el proceso)
DEPART ESTANCIA,1
TERMINATE 1
START 100
Tabla 4.7.- Cdigo GPSS para el diagrama de la figura 4.6
Pseudocdigo para variable aleatoria normal.

La ubicacin de los bloques QUEUE y DEPART estn en funcin de conocer datos


estadsticos de una parte o todo el proceso. En el diagrama arriba mostrado se
visualiza que la ubicacin de los bloques para conocer datos estadsticos de todo el
proceso que se lleva a cabo en el lavado de autos. La cola identificada como
ESTANCIA nos permite conocer datos estadsticos de las transacciones que entran al
bloque QUEUE y/o salen por el bloque DEPART. Una informacin relevante en este
ejemplo es el tiempo estimado que dura un vehculo en el lavado de autos, la cantidad
promedio de vehculos que esperan dentro de las instalaciones, la cantidad de
vehculos que no tuvieron que esperar para ser atendidos, al momento de finalizar la
simulacin cuantos vehculos se encuentran dentro de las instalaciones.

Al realizar la corrida del programa GPSS, se obtiene un reporte de resultados en el cual


se destaca una seccin de datos estadsticos de las colas definidas con las instrucciones
QUEUE y DEPART.
La seccin QUEUE proporciona los datos estadsticos de todas las colas definidas en
el modelo, presentando esta informacin en una matriz, en la cual los renglones son
las colas definidas en el programa, y las columnas son los datos estadsticos
recopilados en la simulacin efectuada al momento de realizar la corrida.
Datos estadsticos.
#
1
2
3
4
5
6
7
8

Columna
(ingls)
QUEUE
MAX
CONT
ENTRY
ENTRY(0)
AVE. CONT.
AVE. TIME
AVE (-0)

RETRY

Significado
Nombre o nmero de la cola (definida con las instrucciones QUEUE y DEPART).
Contenido mximo de la cola durante el periodo de simulacin.
Contenido de la cola al finalizar la simulacin.
Contador TOTAL de transacciones que pasaron por la cola.
Contador de transacciones que no tuvieron que hacer cola.
Transacciones promedio que tuvieron que esperar en la cola.
Tiempo promedio que las transacciones tuvieron que esperar en la cola.
Tiempo promedio que las transacciones tuvieron que esperar en la cola, no se consideran aquellas
transacciones que no tuvieron que esperar.
Nmero de transacciones que esperan a que se cumpla una condicin especfica.
Tabla 4.8.- Seccin Queue en el reporte de resultados.

69

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. Se desea conocer la cantidad de espacios promedio en
espera para entrar a la seccin de lavado, y el tiempo promedio que un vehculo tarda
en todo el proceso.
Solucin: Se le incorporan dos pares de instrucciones para recopilar la informacin
estadstica del comportamiento de dos colas (ESTANCIA y ELAVAR). La cola ESTANCIA
proporciona datos estadsticos de toda la estancia del vehculo desde que llega, hasta
que se va. La segunda cola ELAVAR proporciona datos estadsticos de la espera que el
vehculo realiza desde que llega, hasta que inicia el proceso de lavado. Ntese que el
DEPART ELAVAR,1 est ubicado posteriormente que captura al servidor de lavado, y no
antes, debido a que se mueve de la cola, hasta que el servidor le indica que mueva el
auto para ponerlo en la seccin de lavado.

70

Diagrama de bloques de un lavado de autos (jornada de 8 horas) Capacidad: 2 Lava, 6 Seca

GENERATE 15,5

QUEUE ESTANCIA,1

QUEUE ELAVAR,1

Incluye
colas:
ESTANCIA y
ELAVAR

ENTER LAVA,1

DEPART ELAVAR,1

Figura 4.7.- Diagrama de bloques para lavado de autos.


Incluye las colas: ESTANCIA y ELAVAR

ADVANCE 5,2

ENTER
SECA,2

LEAVE
LAVA,1

ADVANCE 6,3

LEAVE SECA,1

DEPART ESTANCIA,1
GENERATE 480

TERMINATE 1
TERMINATE

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)

QUEUE ESTANCIA,1 ; entra al lavado de autos


QUEUE ELAVAR,1

; espera a entrar al proceso de lavado

ENTER LAVA,1

;Captura un espacio para el lavado

DEPART ELAVAR,1

;sale de la espera para lavar

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

71

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

DEPART ESTANCIA,1 ;Sale de la espera de lavado y secado (finaliza los dos procesos)
TERMINATE

;Abandona el vehiculo del sistema

GENERATE 480

;Genera 1 transaccin (jornada de 8 horas) cada 480 minutos

TERMINATE 1

;Abandona la transaccin del sistema (finaliza la jornada)

START 1

;Inicia el proceso de simulacin de 1 jornada de trabajo de 8 horas (480 minutos).


Tabla 4.9.- Cdigo GPSS para el diagrama de la figura 4.7

4.3.1.3.- TIEMPO DE SERVICIO DE LAVADO Y SECADO.


En el modelo se realizan dos servicios (lavado y secado). Cada servicio tiene su
capacidad instalada definida por la instruccin STORAGE. Para conocer los datos
estadsticos resultado de la simulacin, el reporte de resultados proporciona una
seccin denominada STORAGES, mediante una matriz, en la cual los renglones son
los servicios, y las columnas los datos estadsticos.
Datos estadsticos.
#
1
2
3
4
5
6
7
8
9
10
11

Columna
(ingls)
STORAGE
CAP
REM
MIN
MAX
ENTRIES
AVL
AVE.C
UTIL
RETRY
DELAY

Significado
Nombre del servicio.
Capacidad mxima del servicio. (definida con la instruccin STORAGE).
Nmero de servidores disponibles al finalizar la simulacin.
Nmero mnimo de servidores utilizados en toda la simulacin.
Nmero mximo de servidores utilizados en toda la simulacin.
Total de transacciones atendidas por los servidores durante toda la simulacin.
Disponibilidad del servicio al finalizar la simulacin (1-disponible, 0-no disponible).
Tiempo promedio de servicio.
Porcentaje de utilizacin del servicio durante toda la simulacin.
Transacciones en espera de una condicin especfica.
Transacciones en espera.
Tabla 4.10.- Seccin STORAGE en el reporte de resultados.

Estos datos estadsticos son utilizados para tomar decisiones relativas a la capacidad
instalada y sus efectos colaterales en la formacin de lneas de espera. El estudio de
diversos escenarios con distintas capacidades, obligan a la experimentacin cuyos
resultados permiten al analista la determinacin de la cantidad ptima de servidores,
sujeta a las restricciones propias del modelo.

72

Al ejecutar la primera simulacin del modelo, el reporte de resultados muestra al inicio


la informacin del tiempo de la simulacin. Iniciando con el reloj en cero, y finalizando
el reloj en 480 (480 minutos). Tambin indica la cantidad de instrucciones tipo bloque
(no contabiliza las definiciones, ni las instrucciones de control. La cantidad definidas de
instalaciones (no se utiliza ninguna) y por ltimo la cantidad de servicios simultneos
(storage).

Tabla 4.11.- Seccin inicial en el reporte de resultados.

La seccin QUEUE muestra los datos estadsticos de las dos lneas de espera
definidas (ESTANCIA y ELAVAR). La cola ESTANCIA proporciona la informacin de la
estancia en las instalaciones. Se muestra que el tiempo promedio de esa estancia es de
casi 11 minutos. La cola ELAVAR muestra que ningn vehculo tuvo que esperar para
entrar al proceso de lavado. Tambin se muestra que entraron 31 vehculos al sistema.

Tabla 4.12.-Seccin QUEUE en el reporte de resultados.

La seccin STORAGE proporciona los datos estadsticos concernientes a los servicios


proporcionados (LAVA y SECA). En el servicio de lavado con una capacidad instalada de
2, se aprecia un porcentaje de utilizacin de 15.6% y con un mximo de servidores
utilizados de 1, pudiendo ahorrar costos, disminuyendo en uno al servicio de lavado.
Tambin muestra que entraron 31 vehculos al lavado, pero slo entraron 30 vehculos
al proceso de secado. Es de suponerse que el vehculo faltante al momento de finalizar
la simulacin qued en el proceso de lavado.
En el servicio de secado que cuenta con una capacidad de seis de manera simultnea,
tambin los datos muestran una capacidad excedente, debido a que nicamente la
utilizacin fue de 6.2%, y mximo estuvo ocupado 1 a la vez.

Tabla 4.13.-Seccin STORAGE en el reporte de resultados.

Esta primera corrida del modelo, pone de manifiesto la situacin en la que trabaja este
sistema, viendo claramente que se puede optimizar, modificando la cantidad de
servidores, ahorrando as costos, o bien abre la posibilidad de nuevos servicios que
73

puede proporcionar con la misma cantidad de trabajadores. Si se modifica la capacidad


instalada. (lava=1, seca = 1) en las instrucciones STORAGE, al ejecutar el modelo, se
muestran los resultados siguientes:
En la seccin QUEUE indica que el tiempo promedio en el servicio completo es de
casi 11 minutos, (no afect el disminuir la cantidad de servidores), y tambin muestra
que tampoco tuvieron que esperar para entrar al proceso de lavado.

La seccin STORAGE presenta un 31.2% de utilizacin en el servicio de lavado, y un


37.2% en el servicio de secado.

Con dos corridas, la informacin para el tomador de decisiones es de gran ayuda, ya


que permite experimentar con diversos escenarios, permitiendo optimizar los servicios
cumpliendo con las exigencias de sus clientes.
4.3.1.4.- VARIABLES ALEATORIAS.
GPSS World proporciona una librera PLUS que contiene funciones prefinidas de las
principales distribuciones tericas, ahorrando al programador la implementacin de
estos generadores. El programador tendr que implementar aquellos generadores
para distribuciones empricas haciendo uso de la instruccin FUNCTION.

74

Generadores disponibles en la librera PLUS de GPSS.


Distribucin
Beta
Binomial
Binomial Negativa
Exponencial
Gamma
Geomtrica
Laplace
LogLaplace
LogLogistica
Logistica
LogNormal
Normal
Normal inversa
Pareto
Pearson tipo V
Pearson tipo VI
Poisson
Triangular
Uniforme
Uniforme Discreta
Valor extremo A
Valor extremo B
Weibull
Weibull inversa

Sintaxis
REAL=BETA(STREAM,MIN,MAX,SHAPE1,SHAPE2)
ENTERO=BINOMIAL(STREAM,TRIALCOUNT,PROBABILITY).
ENTERO=NEGBINOM(STREAM,SUCCESSCOUNT,PROBABILITY).
REAL=EXPONENTIAL(STREAM,LOCATE,SCALE).
REAL=GAMMA(STREAM,LOCATE,SCALE,SHAPE).
ENTERO=GEOMETRIC(STREAM,PROBABILITY).
REAL=LAPLACE(STREAM,LOCATE,SCALE).
REAL=LOGLAPLACE(STREAM,LOCATE,SCALE,SHAPE).
REAL=LOGLOGIS(STREAM,LOCATE,SCALE,SHAPE).
REAL=LOGISTIC(STREAM,LOCATE,SCALE).
REAL=LOGNORMAL(STREAM,LOCATE,SCALE,SHAPE).
REAL=NORMAL(STREAM,MEAN,STDDEV).
REAL=INVGAUSS(STREAM,LOCATE,SCALE,SHAPE).
REAL=PARETO(STREAM,LOCATE,SCALE).
REAL=PEARSON5(STREAM,LOCATE,SCALE,SHAPE).
REAL=PEARSON6(STREAM,LOCATE,SCALE,SHAPE1,SHAPE2).
ENTERO=POISSON(STREAM,MEAN).
REAL=TRIANGULAR(STREAM,MIN,MAX,MODE).
REAL=UNIFORM(STREAM,MIN,MAX).
ENTERO=DUNIFORM(STREAM,MIN,MAX).
REAL=EXTVALA(STREAM,LOCATE,SCALE).
REAL=EXTVALB(STREAM,LOCATE,SCALE).
REAL=WEIBULL(STREAM,LOCATE,SCALE,SHAPE).
REAL=INVWEIBULL(gen,LOCATE,SCALE,SHAPE).

Tabla 4.14.-Librera PLUS de GPSS que contiene generadores de variables aleatorias

Los argumentos sealados en esta lista de distribuciones son tratados a profundidad


en el manual de referencia que proporciona GPSS WORLD.
4.3.1.5.- USO DE FUNCIONES PREDEFINIDAS.
Uso de la funcin NORMAL (GPSS plus).
Para simular el tiempo de servicio que tarda un proceso, el cual tiene un
comportamiento normal con una media de 24 minutos, y una desviacin estndar de 4
minutos  = " % ( 24,4
. Se simula haciendo uso de la instruccin ADVANCE.
ADVANCE Normal1,24,4

El tiempo de servicio es calculado utilizando la funcin predefinida NORMAL la cual


utiliza 3 argumentos: STREAM (El nmero de generador uniforme a utilizar), MEDIA (la
media), y STDDEV (la desviacin estndar).
Uso de la funcin EXPONENCIAL (GPSS plus).
Para simular el tiempo entre llegadas de componentes a ser manufacturados que tiene
un comportamiento exponencial con una media de 30 minutos
 = i) ,$, ( 30
. Se simula haciendo uso de la instruccin GENERATE.
GENERATE Exponential1,0,30

75

El tiempo entre llegadas es calculado utilizando la funcin predefinida EXPONENTIAL la


cual utiliza 3 argumentos: STREAM (El nmero de generador uniforme a utilizar),
LOCATE (desplazamiento), y SCALE (expande o contrae la distribucin).
Uso de la funcin de usuario para implementar una distribucin emprica.
Uso de la instruccin FUNCTION (GPSS).
Para simular el tiempo de servicio de un proceso que tiene una distribucin dada por:
Frecuencia
Tiempo en
minutos

0.05
10

0.13
14

0.16
21

0.22
32

0.29
38

0.15
45

Partiendo de la distribucin de frecuencias dadas, se calcula la distribucin acumulada


siguiente:
Frecuencia
acumulada
Tiempo en
minutos

0.05

0.18

0.34

0.56

0.85

1.0

10

14

21

32

38

45

La funcin a definir tiene la siguiente forma:


PROCESO FUNCTION RN1,D7 0,0/.05,10/.18,14/.34,21/.56,32/.85,38/1.0,45

Donde la funcin se denomina PROCESO en la cual el operando A describe el


generador uniforme y el operando B describe una funcin discreta con 7 pares de
datos, los cuales son delimitados por una diagonal.
Una vez definida la funcin se puede utilizar desde la lgica del programa haciendo uso
de la instruccin ADVANCE.
ADVANCE FN$PROCESO

Cada vez que llegue una transaccin a este bloque se calcular un tiempo de servicio
basado en la funcin PROCESO, y realizar el retardo correspondiente al tiempo
calculado. Para hacer referencia a la funcin se utiliza en el parmetro A de advance el
prefijo FN$ seguido del nombre de la funcin definida (PROCESO).
4.3.1.6.- FLUJO DE LAS TRANSACCIONES.
Las transacciones siguen un flujo determinado por la lgica del programa. Esta lgica
hasta el momento en los ejemplos vistos, ha sido secuencial, pero en ocasiones es
necesario disear flujos diferentes dependiendo de ciertas condiciones. Para cambiar
el flujo dentro del programa existen instrucciones que transfieren las transacciones a
puntos especficos, uno de ellos es la instruccin TRANSFER.

76

La inspeccin como pieza clave en el aseguramiento de la calidad.


El aseguramiento de la calidad consiste en tener y seguir un conjunto de acciones
planificadas y sistemticas, implementadas dentro del sistema de calidad de la
empresa. Estas acciones deben ser demostrables para proporcionar la confianza
adecuada de que se cumplen los requisitos del sistema de calidad.
La inspeccin es una actividad que consiste en examinar y medir las caractersticas de
calidad de un producto o servicio. Es una actividad que detecta productos o servicios
no conformes con las especificaciones esperadas. El objetivo bsico de la inspeccin
es evitar que los productos defectuosos lleguen al cliente. Este procedimiento
establece las especificaciones de calidad del producto, que deben comprobarse de
forma sistemtica para verificar la conformidad del producto final y separar los
productos defectuosos para su desecho o reproceso.
La inspeccin se realiza despus de que un proceso es realizado, y se determina el
curso de accin de ese producto.
Uso de la instruccin TRANSFER (GPSS).
Se utiliza para cambiar el flujo que siguen las transacciones dada una condicin
determinada. Esta instruccin de bloque cuenta con nueve modos diferentes de
operacin (incondicional, fraccional, both, all, pick, funcin, parmetro, subrutina,
simultneo).
Modo INCONDICIONAL. Es utilizado cuando todas las transacciones que lleguen a este
bloque son transferidas incondicionalmente a otra parte del programa. Para utilizarlo
se utiliza nicamente el operando B para especificar la etiqueta hacia donde se deben
dirigir todas las transacciones.
.
GENERATE 15,5

; Genera vehiculos con tiempo entre llegadas U(15,5)

TRANSFER,SALIR

; Transfiere las transacciones a la salida

SALIR TERMINATE

;Abandona el vehiculo del sistema


Tabla 4.15.-Cdigo GPSS que muestra el TRANSFER incondicional.

El operando B en la instruccin TRANSFER, declara cual es el punto dentro del


programa hacia donde deben dirigirse las transacciones (en este caso todas las que
lleguen a la instruccin TRANSFER), y ese punto identificado con la etiqueta SALIR es
puesto en la instruccin TERMINATE.

77

Modo FRACCIONAL. Se utiliza en casos de que se conozca que un porcentaje de


transacciones sigue un camino y el resto sigue otro camino.
Suponer que el sistema de lavado de autos implementa un sistema de calidad,
inspeccionando todos los vehculos al final de proceso, y por experiencia se conoce
que un 10% de los autos no cumplen con las especificaciones mnimas, y por lo tanto
deben ser vueltos a lavar y secar.
.
GENERATE 15,5

; Genera vehiculos con tiempo entre llegadas U(15,5)

REGRESAR QUEUE ESTANCIA,1 ; entra al lavado de autos

TRANSFER 0.10,SALIR,REGRESAR

; Transfiere el 10% de las transacciones al inicio, y el resto a salida

SALIR TERMINATE

;Abandona el vehiculo del sistema


Tabla 4.16.-Cdigo GPSS que muestra el TRANSFER fraccional.

Modo BOTH. Considerando dos destinos diferentes la transaccin activa permite


evaluar cul de ellos est desocupado y la transfiere. Si los dos estn ocupados, la
transaccin esperar a que alguno de ellos se desocupe. Este modo es utilizado cuando
el operando A contiene la palabra BOTH, teniendo como operando B y C las etiquetas
hacia dnde fluyen las transacciones activas. Primero probar la posibilidad de
transferir la transaccin hacia la instruccin etiquetada con el operando A, si es
rechazada entonces probar con la instruccin etiquetada con el operando B. si es
rechazada. Si la transaccin no puede entrar en ninguno de los bloques se quedar
hasta que uno de ellos la acepte. Simular un servicio adicional en el cual se realiza una
limpieza interior del vehculo, la cual puede ser realizada por hombres o mujeres. El
cliente decide utilizar aquel que est desocupado, no importando el sexo.
.
GENERATE 15,5

; Genera vehiculos con tiempo entre llegadas U(15,5)

REGRESAR QUEUE ESTANCIA,1 ; entra al lavado de autos

TRANSFER BOTH, OPCION1,OPCION2

; Transfiere a la opcin desocupada

OPCION1 ENTER LIMPIAH,1

; Servicio de limpieza interior realizada por hombres.

78


OPCION2 ENTER LIMPIAM,2

;Servicio de limpieza interior realizada por mujeres.

SALIR TERMINATE

;Abandona el vehiculo del sistema


Tabla 4.17.-Cdigo GPSS que muestra el TRANSFER both.

Modo ALL. Este modo es la generalizacin del modo BOTH, en el cual se permiten la
especificacin de ms de 2 destinos, con la restriccin que estos destinos estn
espaciados de manera idntica en el modelo. El operando A se escribe la palabra ALL,
en el operando B se describe el primer destino a probar, si es rechazado, calcula con el
operando D, cada D instrucciones a partir del bloque B, hasta llegar al bloque C. Es
decir primero prueba el bloque B si es rechazado prueba el bloque B+D, si es
rechazado prueba el bloque B+2D y asi sucesivamente hasta llegar al bloque C.
Ejemplo:
Simule el funcionamiento de 3 operarios que realizan operaciones idnticas las cuales
tardan 5 2 minutos, los componentes son enviados aquel operario que est
desocupado.
.

TRANSFER ALL,OP1,OP3,4 ; TRANSFIERE A LA OPCION DESOCUPADA INICIANDO EN OP1 FINALIZANDO EN OP3


OP1 SEIZE OPERA1 ;inicia la op1 capturando al operador 1
ADVANCE 5,2
RELEASE OPERA1
TRANSFER,FIN

OP2 SEIZE OPERA2 ;inicia la op2 capturando al operador 2


ADVANCE 5,2
RELEASE OPERA2
TRANSFER,FIN

OP3 SEIZE OPERA3 ;inicia la op3 capturando al operador 3


ADVANCE 5,2
RELEASE OPERA3
TRANSFER,FIN

FIN TERMINATE

Tabla 4.18.-Cdigo GPSS que muestra el TRANSFER all.

79

Modo PICK. Este modo es utilizado cuando se desea enviar la transaccin activa a un
bloque seleccionado de manera aleatoria, dado un rango de bloques. En el operando A
se escribe la palabra PICK, y el operando B y C son usados para especificar el rango de
los bloques a ser candidatos para su seleccin.
.

TRANSFER PICK, PRIMERO,ULTIMO ; TRANSFIERE A UN BLOQUE ENTRE PRIMERO Y ULTIMO

PRIMERO ADVANCE 5,2


ADVANCE 3,1
ADVANCE 4,1
ULTIMO ADVANCE 3,1
.
Tabla 4.19.-Cdigo GPSS que muestra el TRANSFER pick.

En este ejemplo se describen cuatro bloques ADVANCE que son candidatos a ser
seleccionados cuando la transaccin activa llegue al bloque TRANSFER. Si
aleatoriamente se selecciona al segundo bloque, se transfiere la transaccin y ejecuta
del segundo bloque en adelante. Si aleatoriamente selecciona el primero, pues
ejecutar posteriormente las siguientes instrucciones.
Modo FUNCIN. El destino de la transaccin activa se calcula por medio de una
funcin definida y un incremento dado. Para utilizar este modo, el operando A
contiene la palabra FN, el operando B el nombre de la funcin, y el operando C el
incremento utilizado en el clculo.
LUGAR FUNCTION .. ; Define funcin UTILIZADA POR EL TRANSFER FN

TRANSFER FN,LUGAR,3 ;TRANSFIERE LA TRANSACCION HACIA EL NO. DE BLOQUE DADO POR : LUGAR()+3

Tabla 4.20.-Cdigo GPSS que muestra el TRANSFER funcin.

En este ejemplo el punto hacia donde se transfiere la transaccin, es calculado y por lo


tanto es un nmero que le corresponde a una instruccin de bloque. Es recomendable
asegurarse que el nmero de la instruccin seleccionada est en el rango de las
instrucciones de control del programa.

80

Modo PARMETRO. El destino de la transaccin activa se calcula utilizando un


parmetro y un incremento dado. Para usar este modo el operando A debe contener la
letra P, el operando B especifica el parmetro a utilizarse, y el operando C describe el
incremento utilizado en el clculo (opcional).

ASSIGN PAR1,43

;Asigna el valor de 43 al parmetro denominado PAR1

TRANSFER P,PAR1,2 ;TRANSFIERE LA TRANSACCION HACIA EL NO. DE BLOQUE DADO POR : PAR1 +2

Tabla 4.21.-Cdigo GPSS que muestra el TRANSFER parmetro.

Modo SUBRUTINA. Una subrutina es un conjunto de instrucciones que realizan una


tarea especfica. Es formulada para poder ejecutarse desde diferentes partes de un
programa, centralizando as la tarea y evitando duplicar cdigo en diferentes partes del
programa. Este modo es utilizado para simular el llamado de una subrutina, la cual se
ejecuta y una vez finalizado regresa el control desde donde fue llamada. Este modo
simula la ejecucin de un fragmento ubicado en otra parte del programa, y
nicamente est basada en dos datos: el bloque destino, y un parmetro que es
utilizado para almacenar el nmero del bloque hacia donde debe retornar una vez
finalizada la subrutina. Para simular el llamado similar a la subrutina es necesario que
en el fragmento del programa, inicie con una etiqueta (es el operando B), y al finalizar
el fragmento se debe incluir una instruccin TRANSFER con modo parmetro.
Para el uso de este modo, es necesario que el operando A contenga la palabra SBR, el
operando B describe la etiqueta del bloque destino, y el operando C es un parmetro
en el cual se almacenar el nmero del bloque de retorno (este operando es opcional).

TRANSFER SBR,SUBR1,PARAM ; Transfiere las transacciones a la subrutina sbr1 y guarda este bloque en PARAM

SBR1 QUEUE PROCN ; INICIA LA SUBRUTINA SBR1


.
TRANSFER P,PARAM ; FINALIZA LA SUBRUTINA SBR1, Y regresa la transaccin al sgte bloque de PARAM

Tabla 4.22.-Cdigo GPSS que muestra el TRANSFER subrutina.

81

Modo SIMULTNEO. El modo simultneo transfiere la transaccin activa hacia uno de


dos destinos especificados en los operandos B y C, seleccionando el destino por medio
del contenido de un indicador de retraso especificado en el operando D. En el
operando A se escribe la palabra SIM.
El indicador de retraso tiene dos valores posibles prendido (set) o apagado (reset). El
indicador de retraso de una transaccin es prendido cuando una transaccin es
rechazada por un bloque; y se quedar prendido hasta que la transaccin entre al
modo simultneo del transfer. Despus del transfer el indicador de retraso se apagar.
Si el indicador de retraso est prendido, la transaccin activa se transfiere al bloque
destino especificado por el operando C, de lo contrario la transaccin es transferida al
bloque destino especificado por el operando B.

TRANSFER SIM,NORET,RET
NORET ENTER SERV1,1

; Transfiere las transacciones a los bloques destino NORET O RET


;Captura al servidor 1

.
RET ENTER SERV2,1 ; I

;Captura al servidor 2

Tabla 4.23.-Cdigo GPSS que muestra el TRANSFER simultneo.

Uso de la instruccin GATE (GPSS).


La instruccin GATE permite controlar el flujo de las transacciones basado en
condiciones de las entidades (servidores nicos, servidores simultneos, lgicas).
La sintaxis de la instruccin es:
GATE 0 A,B
En el operando A se especifica la entidad a analizar, y el operando B es utilizado para
describir el bloque destino si no se cumple la condicin especifica en el operador O.
Operaciones permitidas.
Condicionado a servidores nicos (instalaciones). Los servidores nicos declarados
con las instrucciones SEIZE y RELEASE, dependiendo de su estado se puede realizar una
lgica que cambie el flujo de las transacciones.
Tiene dos formas de operacin:

U (ocupada),
NU (desocupada).
82

Condicionado a servidores simultneos (almacenamientos). Los servidores


simultneos declarados con la instruccin STORAGE y en combinacin con las
instrucciones ENTER y LEAVE permite analizar su estado:
Tiene cuatro formas de operacin:

SF (est lleno?).
SNF (no est lleno?).
SE (est vaco?).
SNE (no est vaco?).

Condicionado a un valor lgico. Permite el control del flujo de las transacciones dado
ciertas condiciones independientes de las entidades, es decir polticas establecidas
para permitir o negar el acceso. Para usarse se debe apoyar en otra instruccin LOGIC
que abrir o cerrar el acceso.
Tiene dos formas de operacin:

LS (est prendido?),
LR (est apagado?).

83

4.3.2.- PROBLEMAS CON SISTEMAS DE INVENTARIO.


El inventario es el conjunto de artculos o mercancas que una empresa tiene en su
poder con un propsito especfico. La materia prima, el producto en proceso y el
producto terminado son ejemplos de inventarios que a menudo se presentan y genera
una necesidad de administracin. Los sistemas de inventarios implementados en una
organizacin determinan las cantidades a ordenar y los puntos de re-orden. Los costos
asociados impactan de tal manera que obliga a un estudio exhaustivo para la
optimizacin de los mismos. La teora existente que estudia el comportamiento de los
inventarios segn la demanda se clasifica en modelos determinsticos y probabilsticos.

Figura 4.8.- Modelos para el control de inventarios.

4.3.2.1.- TIPOS DE MODELOS DE INVENTARIO.


Una demanda deterministica es aquella que se conoce con certeza, , y la probabilstica
es la que est sujeta a una variabilidad (modelos estocsticos). El estudio terico del
comportamiento de los inventarios ha desarrollado modelos clsicos para el control de
inventarios destacando los modelos: EOQ deterministico, LEP deterministico y el EOQ
probabilstico. La simulacin y el modelo heurstico abordan el estudio de los modelos
probabilsticos con ms profundidad, incorporando variables aleatorias y elementos
complejos que difcilmente pueden ser incluidos en los modelos bsicos.

84

Modelo I.- EOQ (Economic Order Quantity).Quantity). Determina el tamao ptimo de pedido,
considerando costos incurridos. Presenta 2 variantes: Con faltantes y sin faltantes.
faltantes
El modelo EOQ (Economic order quantity) tambin conocido como el modelo de
Harris-Wilson
Wilson es el de mayor uso y popularidad por su simplicidad. Este modelo fue
desarrollado por el ingeniero Ford Whitman Harris en 1913 y popularizado por el
consultor R. H. Wilson en 1934. El principio de este modelo
modelo est basado en encontrar
el punto en que son iguales el costo de ordenar y el costo de mantener.

Figura 4.9.- Modelo EOQ no permite faltantes.

Figura 4.10.- Modelo EOQ si permite faltantes.

Modelo Ia- EOQ no permite faltantes


faltantes.
Ell modelo EOQ que no permite faltantes parte de los supuestos siguientes: Demanda
constante (d), no permite faltantes, costo de mantener el inventario (Cm), costo de
pedir (Cp), costo de adquisicin (Cu) tiempo de entrega igual a cero (no existe
demoras). Laa ecuacin del costo en un periodo (t1) es:

= 8- + 8) + 8
8

+
2

El nmero total del perodos


odos y el tiempo t estn en funcin de la demanda (D) y la
cantidad de inventario (Q).
" $%
$% + +( $ )$%  # " =
$ ) + =

<

<

Calculando el costo total por unidad de tiempo se tiene que:

8 #+ + +( ) %
) % -,  $ + $ ) 8
= " 8

85


y< z
<
8
= 8- + 8) + 8

2
<

8
= 8- < + 8) r t + 8 r t
2

Para encontrar el Q ptimo ser necesario minimizar el costo total, haciendo uso del
clculo diferencial
 8

=0


Despejando Q se obtiene que:

<
1
8) r  t + r t 8 = 0
2

= I

2 < 8)
8

Modelo Ib. EOQ si permite faltantes.


En el modelo EOQ que si permite faltantes, la ecuacin del costo de un periodo est en
funcin de Q (cantidad a pedir) y S (Faltante permitido), incorporando el costo por
faltantes (Cf).
8, 
= 8- + 8) + 8 r

+ k
+ 
t + 8. r t
2
2

Donde t es el periodo compuesto por t1 (tiempo con existencias) y t2 (tiempo sin


existencias), y Cf es el costo por tener faltantes, siendo Imax el mximo inventario.
Por medio de semejanza de tringulos se encuentran los valores de Imax, t1, t2.
k = 
+ =


<

+ =

86


<

Sustituyendo en C(Q,S), los valores encontrados la ecuacin del costo de un periodo


queda de la siguiente forma:
8, 
= 8- + 8) + 8 P

 


Q + 8. P Q
2<
2<

Calculando el costo total por unidad de tiempo se tiene que:

<
8 #+ + +( ) % -,  $ + $ ) 8, 
= r t 8, 

 


<


Q + 8. P Q
8 ,  = r t 8- + 8) + 8 P

2<
2<

 

<

8, 
= 8- < + 8) r t + 8 P
Q + 8. P Q

2
2

Una vez obtenida la ecuacin se calcula el mnimo costo, es posible derivar con
respecto a Q, y con respecto a S, obteniendo dos ecuaciones:
8, 

=0


2 < 8) + 8  8   + 8.   = 0
8, 

=0


8 + 8  + 8.  = 0
Por medio de sustitucin se obtienen los valores ptimos de Q y S siguientes:
= I

2 < 8)8. + 8

8. 8

 = I

2 < 8) 8
8. 8. + 8

87

Modelo II.- LEP (Lot Economic Production).Production). Tambin conocido como el modelo EPQ
(Economic Production Quantity) fue desarrollado por E. W. Taft en 1918, para conocer
la cantidad ptima de produccin, la cual minimiza los costos asociados
asociados.. Este modelo
es utilizado
tilizado cuando la produccin de los productos est a cargo de la misma empresa,
produciendo hasta llegar a un nivel mximo de inventarios, suspende la produccin
hasta que la demanda agote las existencias,
existencias inicia de nuevo la produccin.
Este modelo presenta
resenta 2 variantes: No permite faltantes, y Si permite faltantes.

Figura 4.12.- Modelo LEP si permite faltantes.


Figura 4.11.- Modelo LEP no permite faltantes.

IIa- LEP No permite faltantes.


Los supuestos de esta variante es que la demanda es constante y conocida, no permite
faltantes, se tienen costos de producir (Cu), costos de mantener el inventario (Cm),
costos de operacin (Co), Y la tasa de produccin (R) es mayor que la tasa de la
demanda (d).

Donde:

+ $ )
$ ) + +( $( )$%  + = + + +

+ = + $ ) $ )% -
)% - ,, #+ (($p% ( k

+ = + $ ) R-$ +%,# -%%$


+%,# -%%$ $#$ $( k #+ $% .
La ecuacin del costo en un periodo es dado por:

+ + +
k
8 
= 8- + 8 + 8 r
t
2

Encontrando los tiempos y el nivel mximo de inventario tenemos que:


<
k = r1 t
L

+ + + = r t
<
88

Sustituyendo en C(Q) se tiene:

<
y< z P y1 L zQ

8 
= 8- + 8 + 8

Calculando el costo total por unidad de tiempo :

<
8 #+ + +( ) % -,  $ + $ ) 8
= r t 8

<

8
= 8- < + 8 r t + 8

<
P y1 L zQ
2

Para encontrar el valor ptimo de Q se calcula la derivada con respecto a Q.


8

=0


8 <
8
<
+ r t r1 t = 0


2
L

Despejando Q se tiene que:

= I

2 < 8

<
8 1 L

89

IIb- LEP Si permite faltantes.


Los supuestos de esta variante es que la demanda es constante y conocida, no permite
faltantes, se tienen costos de producir (Cu), costos de mantener el inventario (Cm),
costos de operacin (Co), Y la tasa de produccin (R) es mayor que la tasa de la
demanda (d).

Donde:

+ $ ) + +( $( )$%  + = + + + + +@ + +7

+ = + $ ) $ )% - ,, $#)-$# $ , O$(%#$ ( # )% - + # .(+,+$#


+ = + $ ) R-$ +%,# -%%$ $#$ $( k #+ $%

+@ = + $ ) $, R-$ #$  - -(, .(+,+$#


+7 = + $ ) $, R-$ #$ )% - $ ( # )% - + # .(+,+$#

La ecuacin del costo en un periodo es dado por:

+@ + +7

+ + +
k
t + 8. P
Q
8 , 
= 8- + 8 + 8 r
2
2

Encontrando los tiempos y el nivel mximo de inventario tenemos que:


<
k = r r1 t t
L

+ = G

+ =

k
<

+@ =


<

1
1
t
+ + + = k r +
< L <

<
1
1
+ + + = r r1 t t r +
t
L
< L <

1
1
+@ + +7 =  r +
t
< L <

90

+7 =


L <

El costo de mantener el inventario es:


8 r

+ + +
k
8
1
1
t = r t k r +
t k
2
2
< L <

=r

8
1
1

= r t k
r +
t
2
< L <

8
<
1
1
t r r1 t t  r +
t
2
L
< L <

Y el costo de faltante de inventario es:

1
1
 r +
+@ + +7

< L <
t
Q = 8.

8. P
2
2
8.  
1
1
= P
Qr +
t
2
< L <

Sustituyendo en C(Q,S) y simplificando se tiene que:


8, 
= 8- + 8 + r

8
<
1
1
t r r1 t t  r +
t +
2
L
< L <

8.  
1
1
Qr +
t
2
< L <

La ecuacin del costo total se expresa:

<
8, 
= r t 8, 


<
8
<
1
8, 
= 8- < + 8 r t + r
t r r1 t t

<

2
L
1L

8.  
1
+P
Q

<
2
1L

Para encontrar el valor ptimo de Q se calcula la derivada con respecto a Q.


8, 

=0

91

8 <
8
<
8  
1
8.  
1
+
r
t

r1

P
Q

P
Q

=0
<
<
2
L

2 
2 
1L
1L

Obteniendo el valor ptimo de Q siguiente:


= I

2 8 <
8 + 8.
I
<
8.
8 1 L

Para encontrar el valor ptimo de S se calcula la derivada con respecto a S.

8 +

8, 

=0


8 
8. 
+
=0
<
<
1 L
1 L

Obteniendo el valor ptimo de S siguiente:


 = I

2 8 <
<
8
I1
I
8.
L 8 + 8.

Modelo III.- Probabilstico (EOQ con demanda variable).- Este modelo est basado en
una demanda variable que tiene un comportamiento normal. El modelo es una
adaptacin del modelo EOQ, en la cual la Demanda (D) est dada por los parmetros
estadsticos media () y desviacin estndar () que siguen una distribucin normal :
< = " % (, n

La cantidad a pedir Q se calcula en base a la media:

92

8,+   )$ % = I

El nivel de significancia alfa () se calcula:


=

2 8)
8

1

<
y z

El punto de orden se calcula con la expresin siguiente:

-,+ $ L$ %$, % = + K/ n

Modelo IV.- Modelo heurstico. La heurstica es una tcnica o procedimiento prctico


o informal para resolver problemas. La heurstica est basada en la experiencia que se
usa como ayuda para resolver problemas, mediante el uso de heursticas, es posible
resolver ms rpidamente problemas conocidos o similares a otros conocidos.
Un modelo heurstico est construido mediante un conjunto de reglas racionales para
obtener una buena solucin. Son utilizados cuando no es posible obtener valores
ptimos, es decir cuando no es posible aplicar los otros modelos. Existen varios
enfoques heursticos entre los cuales se destacan: Silver-Meal (SM), Lote a lote (L4L),
Costo mnimo unitario (CUM), Balanceo de periodo fragmentado (BPF).
Modelo V.- Simulacin.
Los modelos probabilsticos de inventarios usualmente son implementados mediante
la simulacin. En el modelado de un sistema con demanda probabilstica intervienen
variables aleatorias las cuales permiten cuantificar la demanda, y es posible conocer el
comportamiento del inventario, experimentando as con el modelo, hasta encontrar la
informacin para la buena toma de decisiones. A continuacin se presenta un ejemplo
de un modelo de inventarios basado en un punto de re orden.

93

4.3.2.2.- EJEMPLO DE SIMULACIN DE UN MODELO DE INVENTARIO BASADO EN


PUNTO DE RE ORDEN.
Se desea simular un sistema de inventario por un periodo de 100 dias. Este sistema
tiene una poltica con un punto de reorden igual a 600 unidades y una cantidad a
ordenar de 500 unidades. El inventario inicial es de 700 unidades. Se tiene una
demanda diaria con un comportamiento uniformemente distribuido entre 40 y 63
unidades. El tiempo de entrega de la orden es de una semana (5 dias).
Solucin:
La modelacin del sistema debe simular las actividades de:

Realizar los pedidos,


Recibir los pedidos (entrada al almacn) y actualizar el inventario.
Demanda diaria (salida del almacn) y actualizar el inventario.

Las variables que son utilizadas deben definirse previamente, las cuales deben
almacenar los siguientes datos:

Inventario. (Stock)
Demanda diaria. (Demanda)
Punto de reorden. (Point)
Cantidad a ordenar. (EOQ)
Uso de la instruccin INITIAL (GPSS).

La instruccin INITIAL se utiliza para inicializar variables que sern utilizadas dentro de
la lgica del programa. Es utilizado para definir variables globales, las cuales se utilizan
en combinacin con las instrucciones SAVEVALUE (actualiza la variable), y la
instruccin TEST (Compara el valor de variables).
INITIAL X$STOCK,700 ; Se inicializa el inventario = 700 unidades.
INITIAL X$POINT,600 ; Se inicializa el punto de reorden = 600 unidades.
INITIAL X$EOQ,500 ; Se inicializa la cantidad a ordenar = 500 unidades.
INITIAL X$DEMANDA,0 ; Se inicializa la demanda diaria = 0 unidades. (se calcular cada dia en el proceso)
Tabla 4.24.-Cdigo GPSS que muestra la instruccin INITIAL.

En el operando A se define el nombre de la referencia haciendo uso de un prefijo que


define el tipo de dato. Los siguientes prefijos estn disponibles: LS$ para valores
lgicos, X$ para enteros positivos, o MX$ para matrices. El operando B es utilizado
para establecer el valor inicial.

94

OPERACIONES ARITMTICAS REALIZADAS EN LA LGICA DEL PROGRAMA.


Uso de la instruccin SAVEVALUE (GPSS).
La instruccin SAVEVALUE proporciona un mtodo simple para realizar clculos cuyo
resultado ser almacenado en una variable de usuario. En el operando A se especifica
el nombre de la variable en la cual se almacena el resultado del clculo declarado en el
operando B.
Clculo de la demanda diaria.
Para calcular la demanda diaria es posible realizarse utilizando la siguiente instruccin.
SAVEVALUE DEMANDA, (DUNIFORM(1,40,63)) ;

Demanda = DUNIFORME(1,40,63)

Tabla 4.25.-Cdigo GPSS que muestra la instruccin SAVEVALUE para el clculo de la demanda .

Al momento que la transaccin llega a esta instruccin, obliga a que se evale la


expresin que calcula la demanda diaria basada en un generador y el resultado lo
almacena en la variable de usuario DEMANDA, La cual ser utilizada posteriormente
para disminuir el inventario existente.
Clculo de la disminucin del inventario existente.
Una vez que se tiene el valor de la demanda diaria se debe disminuir el inventario
existente, utilizando la siguiente instruccin:
SAVEVALUE STOCK-,X$DEMANDA

; STOCK = STOCK - DEMANDA

Tabla 4.26.-Cdigo GPSS que muestra la instruccin SAVEVALUE para disminuir el stock .

En el operando A se declara la referencia a la variable global STOCK sin el prefijo X$ y


utiliza un sufijo de disminuir (-). En el operando B refiere a la variable de usuario
DEMANDA con el prefijo X$ para declarar que es una variable global.
Clculo del aumento del inventario existente.
Del mismo modo al momento que el pedido realizado llegue, es necesario actualizar el
inventario existente, haciendo de la instruccin siguiente:
SAVEVALUE STOCK+,X$EOQ

;STOCK = STOCK + EOQ

Tabla 4.27.-Cdigo GPSS que muestra la instruccin SAVEVALUE para incrementar el stock .

Describiendo en el operando A la referencia a la variable global STOCK sin el prefijo X$


y utiliza el sufijo de incrementar (+). En el operando B contiene la referencia a la
variable EOQ con el prefijo X$ que identifica que fue declarada como global.

95

Condicionante para disminuir el inventario existente.


Cuando la demanda diaria excede al inventario existente, se ocasiona un faltante, la
cual debe incorporarse una poltica para enfrentarla. Una puede ser, que al momento
que llegue el pedido, se cubra ese faltante, o la otra, que espere a que llegue el pedido.
SI la poltica es de espera, se puede simular haciendo uso de una instruccin TEST para
asegurarse de esa espera.
Uso de la instruccin TEST (GPSS).
La instruccin TEST funciona de manera similar al IF..THEN..ELSE que se utilizan en los
lenguajes de alto nivel. Esta instruccin para realizar comparaciones, cuyo resultado es
utilizado para tomar acciones hacia donde ir la transaccin. El operador relacional
debe ser E (igual), G (mayor) , GE (mayor o igual), L (menor), LE (menor o igual), o NE
(diferente). El operando A es el valor a probar, el operando B es el valor de referencia,
y el operando C es el bloque destino (opcional).
Cuando no se define el operando C, la transaccin esperar en este bloque hasta que
se cumpla la condicin:
OPERANDO A OPERADOR OPERANDO B
Si se cumple la condicin la transaccin fluir al siguiente bloque.
Si se especifica el operando C, la transaccin ir al bloque destino nicamente cuando
no se cumpla la condicin.
TEST GE X$STOCK,X$DEMANDA
SAVEVALUE STOCK-,X$DEMANDA

; STOCK = STOCK - DEMANDA

Tabla 4.28.-Cdigo GPSS que muestra la instruccin TEST para comparar el stock vs demanda.

El operador GE (Mayor o igual) realiza la comparacin de STOCK >= DEMANDA si es


verdadera, entonces la transaccin pasa a la siguiente instruccin, de otra manera
quedar detenida la transaccin hasta que se cumpla esta condicionante. (esperar a
que se incremente el inventario).

96

MODELADO DEL SISTEMA DE INVENTARIOS.


Para realizar el modelado de las actividades para realizar pedidos, recibirlos y
actualizar el inventario se simulan hacindose cargo una sola transaccin. De manera
paralela se simulan los das transcurridos, hasta completar cien das, simulando la
demanda diaria, reduciendo el inventario existente.

Simulacin de un sistema de inventarios

GENERATE 1

GENERATE ,,,1

DEMANDA = DUNIFORM(1,40,63)
F

STOCK < POINT

STOCK >=
DEMANDA

ADVANCE 5
v
STOCK = STOCK - DEMANDA
STOCK =
STOCK + EOQ
TERMINATE 1
TERMINATE

Simula pedidos

Simula demanda diaria

Tabla 4.13.-Diagrama de bloque para un sistema de control de inventarios.

Cdigo GPSS.
INITIAL X$STOCK,700

; Se inicializa el inventario = 700 unidades.

INITIAL X$POINT,600

; Se inicializa el punto de reorden = 600 unidades.

INITIAL X$EOQ,500

; Se inicializa la cantidad a ordenar = 500 unidades.

INITIAL X$DEMANDA,0

; Se inicializa la demanda = 0 unidades. (se calcula diariamente)

GENERATE ,,,1

; Genera una sola transaccin

OTRA TEST L X$STOCK,X$POINT ; Si el STOCK < POINT Entonces avanza, de lo contrario espera a que se cumpla la condicin
ADVANCE 5
SAVEVALUE STOCK+,X$EOQ

;Realiza el pedido y espera 5 das para recibirlo


;Recibe el pedido y actualiza el inventario existente STOCK = STOCK + EOQ

97

TRANSFER ,OTRA

;Repite el ciclo (se transfiere la transaccin al bloque etiquetado con OTRA

TERMINATE
GENERATE 1

;Inicia el da

SAVEVALUE DEMANDA, (DUNIFORM(1,40,63)) ; DEMANDA = DUNIFORME(1,40,63)


TEST GE X$STOCK,X$DEMANDA
SAVEVALUE STOCK-,X$DEMANDA

;Si el STOCK > DEMANDA Entonces avanza, de lo contrario espera a que se cumpla
;Entrega y actualiza el inventario existente STOCK = STOCK - DEMANDA

TERMINATE 1

;Finaliza el da

START 100

;Simula 100 das


Tabla 4.29.-Cdigo GPSS para el diagrama de bloques descrito en la figura 4.13.

El reporte de resultados de la simulacin contiene los valores finales de la simulacin


de las variables globales presentando la siguiente informacin:

Figura 4.14.- Seccin SAVEVALUE en el reporte de resultados.

Al finalizar los 100 dias simulados se tiene un inventario final de 614 unidades, y la
ltima demanda diaria (la del da 100) fue de 50 unidades.
Para conocer el comportamiento del inventario y de la demanda durante ese periodo
de simulacin, GPSS proporciona instrucciones para tabular estos datos (Histograma).
Uso de la instruccin TABLE (GPSS).
Esta instruccin permite definir e inicializar una tabla para almacenar una distribucin
de frecuencias (histograma). Esta instruccin tiene la siguiente sintaxis:
NOMBRE TABLE A,B,C,D
La tabla a definir requiere de un nombre para hacer referencia a ella, y
especificaciones de la tabla a construir.
INVENTARIO TABLE X$STOCK,0,50,20 ; TABLA de niveles de inventario
Tabla 4.30.-Cdigo GPSS para definir la tabla INVENTARIO usando la instruccin TABLE.

98

El nombre de la tabla es INVENTARIO, en el operando A se especifica el dato a tabular,


el operando B es el lmite superior del primer intervalo, el operando C es el tamao del
intervalo, y el operando D es la cantidad de intervalos.
De igual manera se define una tabla con el nombre de VENTAS, en el operando A se
especifica el dato a tabular (DEMANDA), En el operando B se especifica el lmite
superior del primer intervalo (30), el operando C define el tamao del intervalo (2), y el
operando D es utilizado para definir la cantidad de intervalos (20).
VENTAS TABLE XP$DEMANDA,38,2,20 ;TABLA DE niveles de ventas
Tabla 4.31.-Cdigo GPSS para definir la tabla VENTAS usando la instruccin TABLE.

Uso de la instruccin TABULATE (GPSS).


Una vez definida la tabla haciendo uso de la instruccin TABLE, es posible con la
instruccin TABULATE registrar los datos. La instruccin TABULATE tiene la siguiente
sintaxis:
TABULATE A,B
En el operando A se especifica el nombre de la tabla en el cual se tabular el valor
especificado en la misma tabla. El operando B se utiliza opcionalmente para darle un
factor de peso.
TABULATE INVENTARIO ; Tabula en la tabla INVENTARIO el valor almacenado en la variable STOCK
Tabla 4.32.-Cdigo GPSS para tabular datos en la tabla INVENTARIO definida previamente.

Haciendo lo mismo para la tabla VENTAS, queda de la siguiente manera:


TABULATE VENTAS ; Tabula en la tabla VENTAS el valor almacenado en la variable DEMANDA
Tabla 4.33.-Cdigo GPSS para tabular datos en la tabla VENTAS definida previamente.

Una vez, que se tienen preparadas estas instrucciones se incluyen en el modelo.

99

Cdigo GPSS (incluye histogramas).


INITIAL X$STOCK,700

; Se inicializa el inventario = 700 unidades.

INITIAL X$POINT,600

; Se inicializa el punto de reorden = 600 unidades.

INITIAL X$EOQ,500

; Se inicializa la cantidad a ordenar = 500 unidades.

INITIAL X$DEMANDA,0

; Se inicializa la demanda = 0 unidades. (se calcula diariamente)

INVENTARIO TABLE X$STOCK,0,50,20


VENTAS

; TABLA de niveles de inventario

TABLE X$DEMANDA,38,2,20 ;TABLA DE niveles de ventas

GENERATE ,,,1

; Genera una sola transaccin

OTRA TEST L X$STOCK,X$POINT ; Si el STOCK < POINT Entonces avanza, de lo contrario espera a que se cumpla la condicin
ADVANCE 5

;Realiza el pedido y espera 5 das para recibirlo

SAVEVALUE STOCK+,X$EOQ
TRANSFER ,OTRA

;Recibe el pedido y actualiza el inventario existente STOCK = STOCK + EOQ


;Repite el ciclo (se transfiere la transaccin al bloque etiquetado con OTRA

TERMINATE
GENERATE 1

;Inicia el da

SAVEVALUE DEMANDA, (DUNIFORM(1,40,63)) ; DEMANDA = DUNIFORME(1,40,63)


TABULATE INVENTARIO

; Tabula en la tabla INVENTARIO el valor almacenado en la variable STOCK

TEST GE X$STOCK,X$DEMANDA

;Si el STOCK > DEMANDA Entonces avanza, de lo contrario espera a que se cumpla

SAVEVALUE STOCK-,X$DEMANDA

;Entrega y actualiza el inventario existente STOCK = STOCK DEMANDA

TABULATE VENTAS

; Tabula en la tabla VENTAS el valor almacenado en la variable DEMANDA

TERMINATE 1

;Finaliza el da

START 100

;Simula 100 das


Tabla 4.34.-Cdigo GPSS para el diagrama de la figura 4.13 (incluye histogramas).

100

En el reporte de resultados aparece una seccin en la cual presenta las dos tablas
definidas: INVENTARIO y VENTAS con su datos respectivos.

Figura 4.15.- Seccin TABLE del reporte de resultados.

La distribucin de frecuencias (histograma) del inventario, muestra que tiene una


media de 616 unidades, con una desviacin estndar de 147 unidades. Tambin
presenta 12 intervalos en la cual detalla las frecuencias respectivas de las 100
observaciones realizadas.
La distribucin de frecuencias (histograma) de la demanda diaria (VENTAS), tiene una
media de 51 unidades, con una desviacin estndar de 7 unidades. Proporciona los
datos de los 9 intervalos detallando sus frecuencias de las 100 observaciones
realizadas.

101

4.4.- VALIDACIN DE UN SIMULADOR.


El modelo de simulacin como cualquier otro modelo es una representacin del
mundo real. Esta representacin es una simplificacin del sistema real que contiene los
elementos significativos reduciendo as la complejidad. Esta simplificacin y la
abstraccin de procesos asumida contribuye a incrementar las condiciones de
incertidumbre que da origen a la necesidad de validar el modelo.
La validacin del modelo fue estudiada por Charles F. Hermann proponiendo el
enfoque Hermann que resalta tres perspectivas a considerar: Propsito de la
construccin, los criterios utilizados, y el personal que interviene en la construccin.
La validacin siempre se realiza en un determinado grado en cada una de las
perspectivas sealadas, que no deben ser apartadas de su propsito validando los
criterios razonablemente en la medida que se requieran. El personal seleccionado para
la construccin y operacin tiene un impacto significativo en los procedimientos
requeridos para la validacin.

Enfoque Hermann para validar

Propsito del modelo

Criterios Utilizados

Crear Escenarios

Validacin interna

Predecir resultados

Validacin superficial

Entrenar

Validacin var-par

Explicar

Validacin de eventos

Sistema no existente

Validacin de hiptesis

Personal involucrado

Figura 4.16.- Enfoque Hermann para realizar la validacin del modelo.

102

Propsitos
Escenarios
Predictivos
Entrenamiento
Hiptesis y teoras
Universos inexistentes

Descripcin
Crea alternativas de accin para conocer sus consecuencias.
Predice resultados que sern comparados con otros mtodos
predictivos.
Transmite conocimientos en un ambiente controlado.
Generan hiptesis y explicaciones a ideas surgidas en la
experimentacin.
Estudio de sistemas que no existen en la realidad.

Figura 4.17.- Propsitos del modelo.

Criterios
Validacin interna
Validacin superficial
Validacin variable-parmetro
Validacin de eventos
Validacin de hiptesis

Descripcin
Establece una estabilidad y consistencia entre las corridas del
modelo.
Impresiones subjetivas de aspectos relevantes de la realidad.
Anlisis de sensibilidad realizando comparaciones con valores
de las variables-parmetros.
Establece similitudes de eventos.
Realiza pruebas de hiptesis .

Figura 4.18.- Criterios de validacin.

VERIFICACIN Y VALIDACIN DEL MODELO.


Los modelos de simulacin son imitaciones aproximadas de sistemas del mundo real y
deben ser validados para asegurar la confiabilidad.
La verificacin y la validacin del modelo de simulacin, inicia despus que las
especificaciones han sido documentadas y el desarrollo inicial del modelo ha sido
finalizado. La verificacin y la validacin es un proceso iterativo que forma parte del
desarrollo del modelo. Para tener credibilidad en el simulador construido, es necesario
validar el modelo y los resultados del modelo. La validacin proporciona al tomador de
decisiones los elementos necesarios para confiar en los resultados. La validacin que
se lleva a cabo en modelos computacionales es similar a la de un simulador, aunque
existen diferencias especficas por la naturaleza de sus datos. En un modelo de
simulacin intervienen tres clases de variables que describen el comportamiento del
sistema: entrada, proceso y salida.
Las variables de entrada son datos que se alimentan al modelo, son predeterminadas y
proporcionadas independientemente del sistema que se modela. Las variables de
proceso. son variables utilizadas para realizar el proceso, describen el estado del
sistema en cualquier instante. Pueden estar relacionadas con otras variables. Las
variables de salida son las variables que intenta predecir el modelo, representan los
resultados de la simulacin.
Si hay datos del sistema actual, estos se pueden utilizar para compararlos con los
resultados del modelo. Es lo que se conoce como validacin de resultados. Los
103

resultados se deben revisar para verificar su coherencia y consistencia de acuerdo con


el funcionamiento esperado del sistema.
El anlisis de sensibilidad debe realizarse para detectar que factor tiene un efecto
mayor sobre los resultados del modelo para mejorar su representacin si fuera
necesario.
La validacin del modelo requiere sobre todo, la experiencia en el anlisis de
resultados y en mtodos estadsticos.
La verificacin.
La verificacin del modelo es un proceso para confirmar que ha sido implementado
correctamente con respecto al modelo conceptual. Durante la verificacin, el modelo
es probado para encontrar y corregir los errores dentro de la implementacin del
modelo. Varios procesos y tcnicas se utilizan para asegurar que el modelo cumpla con
las especificaciones y supuestos con respecto al modelo conceptual. EL objetivo de la
verificacin es asegurar una correcta implementacin del modelo.
Existen varias tcnicas para verificar el modelo, verificar por un experto, examinar la
lgica de los diagramas de flujo, examinar las salidas que estn dentro de rangos
razonables, prueba con varios conjuntos de datos de entrada, y todas las tcnicas que
propone la ingeniera de software son aplicables en el modelo de simulacin.
La verificacin proporciona la evidencia de que el modelo computacional es construido
de manera correcta y exacta.
El proceso de verificacin comnmente se divide en dos tipos: La verificacin del
cdigo, y la verificacin de la solucin. En la verificacin del cdigo se realizan
actividades para encontrar y eliminar errores en el cdigo fuente, en los algoritmos y el
mejoramiento del software aplicando prcticas de aseguramiento de la calidad. En la
verificacin de la solucin involucra actividades tendientes a asegurar la exactitud de
los datos de entrada, la estimacin del error en la solucin, y el aseguramiento que los
datos de salida sean precisos.
La validacin.
La validacin es un proceso para la determinacin del grado en que el modelo
representa al sistema real. La validacin proporciona la evidencia de que el modelo
matemtico est exactamente relacionado con las medidas experimentales.
La validacin asegura mediante una serie de pruebas que el modelo construido
representa al sistema real. Esta serie de pruebas objetivas y subjetivas determinan la
validez del modelo.

104

Las metas que persigue la validacin se visualizan como tcticas y estratgicas. Las
metas tcticas realizan una caracterizacin y minimizacin de la incertidumbre y los
errores dentro del modelo computacional; y las estratgicas buscan incrementar la
confianza en la capacidad cuantitativa predictiva.
Dificultades asociadas a los datos.
Los datos asociados que utiliza el modelo de simulacin dificultan el proceso de
validacin debido a varias razones, en las cuales se pueden enumerar en orden de
prioridad las siguientes:
1. Mediciones incompletas en los variables de entrada. Las condiciones iniciales y
de acotamiento del espacio de soluciones formulan una geometra imperfecta
de espacios no convexos que ocasiona indeterminaciones.
2. Mediciones limitadas en las variables de salida. Usualmente se miden las
variables globales que contienen cantidades de alto nivel.
3. Estimadores de incertidumbre limitados. Errores aleatorios, errores de sesgo,
variabilidades en las etapas de estados transitorios.
Caractersticas de una validacin.
La validacin debe ser diseada y conducida por personal experto en las ciencias
computacionales y experimentadores del rea de estudio, estableciendo un fuerte lazo
desde la concepcin del modelo, hasta la etapa de la documentacin, seguido de un
anlisis de fortalezas y debilidades.
La validacin debe estar diseada para captar los aspectos fsicos relevantes, las
condiciones iniciales, y las condiciones de acotamiento y los datos auxiliares tales
como supuestos y la medicin de los datos de entrada, y en lo posible la incorporacin
de las caractersticas de las imperfecciones.
La validacin debe usar la sinergia entre el experimento y el enfoque computacional
para analizar las fortalezas y debilidades desde el punto de vista computacional y
experimental, permitiendo la utilizacin de simulaciones con alto nivel de confianza
para calibrar y mejorar.
La independencia entre los resultados experimentales y computacionales debe ser
mantenida hasta donde sea posible. Una comparacin ciega en la alimentacin de
datos que no proporcionan datos de salida. La simulacin debe ser predictiva y no
calibrativa.
Realizar una jerarqua de las medidas experimentales que presentan un alto nivel de
dificultad computacional.

105

Procedimientos de anlisis de incertidumbre para estimar la aleatoriedad y errores de


sesgo correlacionados. El uso de mtodos modernos estadsticos para estimar la
aleatoriedad y errores de sesgo en las variables de entrada y de salida. Y en lo posible
conducir experimentos utilizando tcnicas de diagnstico.
Mtricas de validacin.
Una mtrica de validacin es una medida de acuerdo entre los resultados
computacionales y las medidas experimentales para las cantidades de inters de
respuesta del sistema.
Pasos requeridos para evaluar una mtrica de validacin.
1. Seleccin de una cantidad de respuesta del sistema.
2. Medir experimentalmente todas las cantidades de entrada necesarias para el
cdigo.
3. Medir experimentalmente las respuestas del sistema y su estimado de
incertidumbre.
4. Utilizar el cdigo y las cantidades de entrada del experimento, y calcular la
cantidad de respuesta del sistema.
5. La diferencia entre lo calculado y la medida experimental, usualmente se
estima la media estimada de la respuesta del sistema y los resultados
computacionales.
La formulacin de la mtrica de validacin hace uso de la estadstica destacando: la
inferencia Bayesiana, las pruebas de hiptesis, y los intervalos de confianza.
La inferencia bayesiana es un tipo de inferencia estadstica en la que las evidencias u
observaciones son empleadas para actualizar o inferir la probabilidad de que una
hiptesis pueda ser cierta.
Caractersticas de una mtrica de validacin.
La mtrica de validacin debe contar con las siguientes caractersticas:

Se debe incluir un estimado de error numrico.


Se debe incluir un estimado de errores aleatorios experimentales, y si es
posible errores de sesgo correlacionados.
Se debe incluir un asesoramiento preciso del modelo computacional el cual
incluya todos los supuestos.
Se debe excluir una medida de acuerdo entre los resultados computacionales y
los resultados experimentales.
Se debe depender de un nmero de rplicas de experimentos dada una
cantidad experimental.

106

Se debe depender de la incertidumbre debido a la falta de mediciones


experimentales de cantidades computacionales necesarias y la propia
incertidumbre de los parmetros experimentales.

Inferencias tpicas.
A continuacin se presentan tres casos que muestran las inferencias tpicas
relacionadas de los dominios de la aplicacin (el modelo de simulacin) y el dominio de
la validacin del modelo. En el eje de las abscisas se muestra el sistema y sus
parmetros que definen el entorno, y en el eje de las ordenadas representa la
complejidad geomtrica y fsica.
Caso I.- Inferencia tradicional ingenieril- Interpolacin

C
o
m
p
l
e
j
i
d
a
d

Dominio de
aplicacin

En la inferencia tradicional ingenieril se


superpone los dominios de la aplicacin y de
validacin. La prediccin se realiza
interpolando dentro de los puntos de la
validacin. Los errores en el modelo pueden
ser ignorados debido al incremento en el
factor de seguridad. El modelo es corregido
utilizando errores de sesgo determinados en
el experimento.

Dominio de validacin

Sistema

Caso II.- Inferencia bien fundamentada -Extrapolacin

C
o
m
p
l
e
j
i
d
a
d

Dominio de aplicacin

Dominio de validacin

Sistema

107

En la inferencia bien fundamentada se


superpone parcialmente los dominios de la
aplicacin y de validacin. La extrapolacin
ocurre en trminos de varios tipos de
direcciones de las coordenadas debido a: los
datos de entrada, parmetros del sistema y
condiciones de acotamiento.

Caso III.- Inferencia dbil Gran extrapolacin

C
o
m
p
l
e
j
i
d
a
d

Dominio de
aplicacin

En la inferencia dbil no se superponen los


dominios de aplicacin y validacin. Se realiza
una gran extrapolacin en trminos de
direcciones de las meta-coordenadas debido
a: Cambios recientes en la complejidad fsica,
introduccin de nuevos acoplamientos fsicos,
o la introduccin de acoplamientos entre
subsistemas o componentes del sistema.

Extrapolacin

Dominio de validacin

Sistema

Figura 4.19.- Inferencias tpicas (tradicional, bien fundamentada, dbil).

4.4.1.- PRUEBAS PARAMTRICAS (VALIDACIN DEL MODELO, PRUEBAS DE HIPTESIS


Y PRUEBAS DE ESTIMACIN.
Un parmetro es una caracterstica de la poblacin de inters, que deseamos estimar
ya sea real o desconocido. Para validar un modelo de simulacin existen los criterios
de Hermann entre los cuales se destacan variable-parmetro, y de hiptesis. Las
pruebas paramtricas son pruebas de hiptesis estadsticas que asumen cierto
comportamiento de:

Muestras obtenidas aleatoriamente.


Distribucin normal de las observaciones.
Existe un parmetro de inters que buscamos estimar.

Estas pruebas paramtricas se basan en la suposicin de una forma determinada de la


distribucin de valores, generalmente la distribucin normal, en la poblacin de la que
se obtiene la muestra experimental. Una hiptesis estadstica es una proposicin o
supuesto sobre los parmetros de una o ms poblaciones. Las hiptesis siempre son
proposiciones sobre la poblacin o distribucin bajo estudio, no proposiciones sobre la
muestra. Por lo general, el valor del parmetro de la poblacin especificado en la
hiptesis nula se determina en una de tres maneras diferentes:
1. Puede ser resultado de la experiencia o del conocimiento del proceso, entonces
el objetivo de la prueba de hiptesis usualmente es determinar su ha cambiado
el valor del parmetro.
2. Puede obtenerse a partir de alguna teora o modelo que se relaciona con el
proceso bajo estudio. En este caso, el objetivo de la prueba de hiptesis es
verificar la teora o modelo.
108

3. Cuando el valor del parmetro proviene de consideraciones externas, tales


como especificaciones de diseo o ingeniera. En esta situacin, el objetivo
usual de la prueba de hiptesis es probar el cumplimiento de las
especificaciones.
PRUEBAS DE HIPTESIS.
La hiptesis nula, representada por H0, es la afirmacin sobre una o ms caractersticas
de poblaciones que al inicio se supone cierta (es decir, la creencia a priori).
La hiptesis alternativa, representada por H1, es la afirmacin contradictoria a H0, y
sta es la hiptesis del investigador.
La prueba de hiptesis estadstica o tambin llamada contraste de hiptesis se utiliza
para estimar un parmetro o proponer hipotticamente un valor o valores para ese
parmetro, basado en la experiencia o en el supuesto terico de la investigacin. Esta
prueba sirve para decidir si se considera ese supuesto o se rechaza basado en las
muestras aleatorias obtenidas.
Si se conoce la distribucin de probabilidad se utilizan las pruebas estadsticas
especficas, de lo contrario se aplican las pruebas de hiptesis estadsticas
paramtricas.
Con los resultados de la validacin de la hiptesis se decide si rechazar o no el
supuesto. En condiciones de incertidumbre se emplea la probabilidad como una
medida para tomar una decisin equivocada.
A partir de una muestra aleatoria extrada de una poblacin se realiza un proceso de
prueba para decidir si se mantiene el supuesto o se rechaza; con cierta probabilidad de
error.
Para la poblacin se plantea un supuesto para el parmetro, de sta se extrae una
muestra aleatoria, los datos recolectados de ella se usan para generalizarlo en toda la
poblacin, mediante el proceso de la prueba de hiptesis.

109

Proceso de la prueba de hiptesis estadstica

Poblacin

Muestreo
Muestra aleatoria
Hiptesis: Supuesto para el
parmetro

(validar)
Inferencia estadstica

Figura 4.20.- Proceso de la prueba de hiptesis estadstica.

Una hiptesis estadstica es una conjetura que el investigador plantea para el


parmetro, que puede o no ser verdadera, relativa a una o ms poblaciones. Las
hiptesis estadsticas pueden ser simples o compuestas, tambin nulas o alternativas.
Una hiptesis simple es una hiptesis que especifica completamente la distribucin,
especificando la forma funcional y los valores de todos los parmetros. De lo contrario
se conoce como una hiptesis compuesta.
La hiptesis nula conocida como H0 es el supuesto que indica que el valor del
parmetro es constante y que no sufre cambios. Es planteada generalmente con la
intencin de rechazarla.
La hiptesis alternativa tambin conocida como H1, es el supuesto relacionado con la
teora a demostrar.
Para tomar la decisin de rechazar o no la hiptesis es necesario recopilar una muestra
de la poblacin, para luego realizar un clculo estadstico que sirve de base para la
toma de decisin. Este procedimiento divide los posibles valores estadsticos en dos
subconjuntos: La regin de no rechazo, y la regin de rechazo.
La hiptesis es unilateral si la hiptesis alternativa indica un cambio en una sola
direccin (menor que, mayor que) con respecto a la hiptesis nula, de lo contrario se
dice que la hiptesis es bilateral.

110

Errores de Tipo I y II.


Los errores que se pueden cometer al realizar una prueba de hiptesis son los
siguientes:
Decisin

Estado real
H0 es verdadera
Error de tipo I
OK

Rechazar Ho
No rechazar H0

H0 es falsa
OK
Error de tipo II

Tabla 4.35.-Errores al realizar la prueba de hiptesis.

Estos errores son contabilizados con las siguientes probabilidades condicionales:


L$ '%  | $# O$%$%
=
" %$ '%  | $# .(#
=

Una buena prueba estadstica es aquella prueba en que permite tomar una decisin
con un error mnimo de error. Es decir que los valores y tiene valores mnimos.
Mostrando la decisiones en trminos de esos errores tenemos que:
Decisin
Rechazar Ho
No rechazar H0

Estado real
H0 es verdadera

(1-)

H0 es falsa
(1-)

Tabla 4.36.- Valores y para medir los errores.

Al rechazar una hiptesis nula verdadera se incurre en el error de tipo I, mientras que
no rechazar la hiptesis nula cuando es falsa se incurre en el error de tipo II. El error de
tipo I () est bajo control del investigador y es establecido antes de realizar la prueba,
tambin se le conoce como el nivel de significancia, y el (1-) es conocido como el nivel
de confianza o la probabilidad de que el parmetro est dentro de este intervalo de
confianza.
El error de tipo II () vara con respecto a , debido a varias causas entre las cuales se
destaca el tamao de la muestra, la prueba estadstica, el diseo elegido y la magnitud
del efecto. A (1-) se le conoce tambin como la potencia, es decir la probabilidad de
no cometer el error de tipo II.
Nivel de significancia ().
La probabilidad es el nivel de significancia de la prueba, asumida voluntariamente
por el investigador para equivocarse al rechazar H0 cuando es verdadera. Usualmente
se utilizan los valores de 0.01 (1%), 0.05 (5%) y 0.10 (10%). Cuando es rechazada una
hiptesis nula se dice que tiene una significancia estadstica, pero cuando no se
rechaza significa que no se tienen los elementos suficientes para rechazarse.

111

Estadstico de prueba.
Para decidir si se rechaza o no la hiptesis nula se toma una muestra de la poblacin,
para luego calcular los estadsticos de prueba que indican el grado de discrepancia
entre la hiptesis nula y los datos muestrales. Cuando es grande esta diferencia se
rechaza la hiptesis nula en caso contrario no se rechaza.
Al conjunto de valores de la estadstica de prueba para los que la hiptesis nula se
rechaza se llama regin de rechazo o regin crtica. El establecimiento de la regin
de rechazo depende de la distribucin de probabilidad de la estadstica de prueba, el
punto de corte (punto o valor que divide a la regin crtica de la no crtica) se llama
tambin valor crtico o punto crtico, cuyo su valor depende de la distribucin de
probabilidad de la estadstica de prueba.
Regin de rechazo.
La regin de rechazo o regin crtica es aquella en que contiene valores del estadstico
de prueba en que la hiptesis nula es rechazada. Esta regin depende de la
distribucin de probabilidad del estadstico de prueba utilizado. El punto crtico es el
que divide la regin crtica de la no crtica, y depende su valor de la distribucin de
probabilidad utilizada.

Figura 4.21.- Regin de rechazo.

112

PROCEDIMIENTO PARA REALIZAR LAPRUEBA DE HIPTESIS.


Paso 1.- Plantear adecuadamente la hiptesis nula y la alternativa.
Paso 2.- Elegir el nivel de significancia ().
Paso 3.- Elegir el estadstico para la prueba.
Paso 4.- Definir la regin de rechazo, en base a la hiptesis alternativa.
Paso 5.- Calcular el estadstico seleccionado para realizar la prueba de hiptesis.
Paso 6.- Comparar el valor del estadstico de prueba y el valor crtico, para decidir si se
rechaza o no la hiptesis nula.
La prueba de hiptesis es paramtrica debido a que se aplica nicamente a las
muestras aleatorias que provienen de poblaciones que tienen una distribucin de
probabilidad conocida, la cual generalmente es la distribucin de probabilidad normal.
A continuacin se muestran diversas pruebas de hiptesis, las cuales muestran el
estadstico a utilizar, y la poltica de rechazo.

Prueba de hiptesis para de una poblacin normal cuando 2 es conocida.


Prueba de hiptesis
Ho:0
H1:>0
Ho:0
H1:<0
Ho:=0
H1:0

Estadstico utilizado
i 
K= n
,

Rechazar Ho si
Z > Z
Z > -Z
Z < -Z/2 Z > Z/2

Prueba de hiptesis para de una poblacin normal cuando 2 es desconocida.


Prueba de hiptesis
Ho:0
H1:>0
Ho:0
H1:<0
Ho:=0
H1:0

Estadstico utilizado
i 
= #
,

113

Rechazar Ho si
T > t,n-1
T < -t,n-1
T < -t/2,n-1 T > t/2,n-1

Prueba de hiptesis para 2 de una poblacin normal.


Prueba de hiptesis
2
2
Ho: 0
2
2
H 1: > 0
2
Ho: 20
H1: 2< 20
2
2
H o: = 0
2
2
H 1: 0

Rechazar Ho si

  > ,

Estadstico utilizado
 =

, 1
# 



  < ,


  <  ,



 > ,

Prueba de hiptesis para de una poblacin binomial.


Prueba de hiptesis
Ho: 0
H1: > 0
Ho: 0
H1: < 0
Ho: = 0
H1: 0

Rechazar Ho si
K > K

Estadstico utilizado
K=

) 

 1 

K < -K

K < -K/ K > K/

Prueba de hiptesis para 12 cuando f ff son conocidas.


Prueba de hiptesis
Ho: 12 0
H1: 12 > 0
Ho: 12 0
H1: 12 < 0
Ho: 12 = 0
H1: 12 0

Estadstico utilizado
K=

i i

I

n n
, + ,

Rechazar Ho si
K > K
K < -K

K < -K/ K > K/

Prueba de hiptesis para 12 cuando f ff son desconocidas e iguales.


Prueba de hiptesis
Ho: 12 0
H1: 12 > 0
Ho: 12 0
H1: 12 < 0
Ho: 12 = 0
H1: 12 0

Estadstico utilizado
=

Donde:
~ =

i i

1
1
~ , + ,



 
 

  

, = , + , 2

114

Rechazar Ho si
> ,
< -,

< -/, > /,

Prueba de hiptesis para 12 cuando f ff son desconocidas y diferentes.


Prueba de hiptesis
Ho: 12 0
H1: 12 > 0
Ho: 12 0
H1: 12 < 0
Ho: 12 = 0
H1: 12 0

Estadstico utilizado
=

Prueba de hiptesis para 12


Prueba de hiptesis
H o : d 0
H 1: d > 0
H o : d 0
H 1 : d < 0
H o : d = 0
H 1 : d 0

# #
+
, ,

# #
, + ,


Donde:
,=

i i





< -,

< -/. > /,

#
#
r t
r t
,
,
 + 
, 1 , 1

= d para muestras relacionadas.


Estadstico utilizado
=

Donde:

 ,

1
 = 
i 9

,


 = I

< -,

< -. > ,



i 9 

,1

Estadstico utilizado

Donde:

Rechazar Ho si
> ,



Prueba de hiptesis para cuando f ff son conocidas.


Prueba de hiptesis
Ho: n n
H1: n > n
Ho: n n
H1: n < n
Ho: n = n
H1: n n

Rechazar Ho si
> ,

=

#
#

 = , 1
? = , 1

115

Rechazar Ho si
 > ,,

 < 
,,

< ,,
 > yz,,

Prueba de hiptesis para   de poblaciones binomiales.


Prueba de hiptesis
Ho:   
H1:   > 
Ho:   
H1:   < 
Ho:   = 
H1  

Estadstico utilizado

K=

) )

1
1
p1 p
yn + n z



Donde:
P es la proporcin poblacional
estimada de xitos con respecto
a la muestra n=n1+n2

Rechazar Ho si
K > K
K < -K

K < -K/ K > K/

4.4.2.- PRUEBAS NO PARAMTRICAS.


Las pruebas no paramtricas son aquellas que no presuponen una distribucin de
probabilidad para los datos, por ello se conocen tambin como de distribucin libre.
En la mayor parte de ellas los resultados estadsticos se derivan nicamente a partir de
procedimientos de ordenacin y recuento, por lo que su base lgica es de fcil
comprensin.
PRUEBA DE MANN-WHITNEY PARA MUESTRAS INDEPENDIENTES.
Si tenemos dos series de valores de una variable continua obtenidas en dos muestras
independientes: X1, X2,..Xn, Y1, Y2, ., Ym, procedemos a ordenar conjuntamente todos
los valores en sentido creciente, asignndoles su rango, corrigiendo con el rango
medio los empates. Calculamos luego la suma de rangos para las observaciones de la
primera muestra SX, y la suma de rangos de la segunda muestra SY. Si los valores de la
poblacin de la que se extrajo la muestra aleatoria de X se localizan por debajo de loa
valores de Y, entonces la muestra de X tendr probablemente rangos ms bajos, lo que
se reflejar en un valor menor de Sx del tericamente probable.
PRUEBA DE WILCOXON DE LOS RANGOS CON SIGNO.
Esta prueba nos permite comparar nuestros datos con una mediana terica (por
ejemplo un valor publicado en un artculo). Para efectuar esta prueba se calculan las
diferencias en valor absoluto |Xi-M0| y se ordenan de menor a mayor, asignndoles su
rango (nmero de orden). Si hubiera dos o ms diferencias con igual valor (empates),
se les asigna el rango medio (es decir que si tenemos un empate en las posiciones 2 y 3
se les asigna el valor 2.5 a ambas).

116

5
Proyecto integrador

5.1.- ANLISIS, MODELADO Y SIMULACIN DE UN SISTEMA O SUBSISTEMA SE


SERVICIOS O PRODUCTIVOS DE UNA EMPRESA PARA DETECTAR LAS MEJORAS
POSIBLES A REALIZAR.
Al llevar a cabo un estudio de simulacin es necesario contar con una gua que define
las actividades a desarrollar. En el captulo 1 se sealaron las 8 etapas que el ingeniero
debe seguir para conseguir este propsito. Si se compara con las etapas del desarrollo
de un sistema computacional, es notorio que existen actividades que en el estudio de
simulacin se deben realizar una vez concluido el modelo computacional, es decir que
son actividades que un usuario realiza al momento de utilizarlo, tal como la
experimentacin y la interpretacin de los resultados.
Estudio de Simulacin
1.- Definir el sistema
2.- Formular el modelo
3.- Recopilar datos
4.- Implementar el modelo en la
computadora

Desarrollo de un Sistema computacional


Anlisis

Diseo
Codificacin
Pruebas
Implementacin
Mantenimiento

5.- Validar
6.- Experimentar
7.- Interpretar
8.- Documentar

Documentacin

Figura 4.22.- Comparativo entre estudio de simulacin y desarrollo tradicional de un sistema computacional.

A continuacin se presentan varios proyectos que fueron desarrollados en todas sus


etapas con el fin de mostrar al lector, las actividades desarrolladas en cada etapa, y las
estrategias utilizadas para la bsqueda de soluciones para realizar mejoras en el
sistema de estudio, por medio de la simulacin.

117

5.1.1.- SIMULACIN DE MANUFACTURA DE RELOJES ELECTRNICOS.


Una empresa manufacturera se encarga de manufacturar relojes electrnicos, sus
clientes realizan pedidos los cuales tiene que atender de acuerdo a su capacidad
instalada. Desea realizar un estudio de simulacin que le permite mejorar sus procesos
con el fin de poder atender la demanda.
5.1.1.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.

La primera etapa consiste en definir el sistema que se desea simular, para realizarlo es
necesario realizar un anlisis preliminar. Este anlisis exploratorio tradicionalmente se
lleva a cabo realizando un recorrido por toda la empresa. Este recorrido nos muestra
todos los procesos que se realizan, y las problemticas que se enfrentan diariamente
para realizar sus actividades operativas. La estructura organizacional es un buen inicio
para identificar al personal clave que cuenta con informacin valiosa para incluir en el
modelo de simulacin.

Organigrama de empresa manufacturera

Gerente

Mantenimiento

Produccin

Administracin

Figura 5.1.- Organigrama de empresa manufacturera.

Las entrevistas a este personal, es pieza fundamental para definir el sistema y sus
interacciones con otros sistemas, y los resultados que se esperan obtener del estudio
de simulacin.
Para la definicin del sistema, se puede seguir con una tcnica enfocada a identificar lo
siguiente:

118

Proceso

Entradas

Salidas

2
3

Figura 5.2.- Anlisis del sistema.

Identificar las salidas del sistema.


AL realizar un anlisis preliminar en la empresa manufacturera primero nos
enfocaremos a descubrir los resultados que se esperan obtener del estudio, es decir
determinar las salidas del sistema. Entrevistando a los gerentes de la planta cada uno
expone la problemtica desde su perspectiva, entre las cuales se destacan los
problemas siguientes:

Cantidad de rdenes pendientes de empacar.


Cantidad de relojes despachados.
Existen otras salidas que en este momento el gerente no considera
significativas, pero son dejadas como pendientes, para no elevar el grado de
complejidad del simulador.

Identificar las entradas del sistema.


Las entradas del sistema, estn en funcin de las salidas identificadas del sistema. Es
decir los datos requeridos que sern procesados para proporcionar las salidas del
sistema. Las entrevistas y los recorridos muestran que todo inicia cuando el cliente
realiza una orden. Las rdenes llegan durante el transcurso del da, las cuales pasan
directamente a manufactura, y luego se empacan y son enviadas al cliente.
Identificando como variables de entrada: las los tiempos entre llegadas de las rdenes,
tamao de la orden, los tiempos de manufactura, y los tiempos de empacado.
Identificar el proceso del sistema.
Al entrevistar al encargado de la produccin muestra el proceso que siguen las rdenes
de los clientes, las cuales son recibidas, manufacturadas, empacadas y enviadas a los
clientes.

119

almacn

Recibe
orden

Manufactura

Empaque

Entrega
orden

Figura 5.3.- Proceso del sistema .

5.1.1.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,
sus relaciones lgicas y los diagramas de flujo que describan en forma completa al modelo.

Tiempo entre
llegadas de las
rdenes
Almacn

Ordenes
pendientes de
empacar

Cantidad de
relojes por orden
Ordenes
entregadas
Empacado

Manufactura
Tiempo de
manufactura

Proceso de simulacin
Tiempo de
empacado

Figura 5.4.- Formulacin del modelo.

120

5.1.1.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.

Tiempo entre llegadas de las rdenes. Una estadstica realizada con datos histricos de
6 meses, muestra que tiene un promedio entre llegadas de 15 minutos con un
comportamiento exponencial.
Cantidad de relojes por orden.- El tamao de la orden tiene la siguiente distribucin de
frecuencias:
Frecuencia
Tamao de
la orden

0.10
6

0.25
12

0.30
18

0.15
24

0.12
30

0.05
36

0.03
48

Tiempo de manufactura.- El proceso de manufactura se realiza por lotes de 60 relojes


tardando un promedio de 45 5 minutos por lote.
Tiempo de empacado.- El proceso de empacado de una orden est en funcin de la
cantidad de relojes a empacar, teniendo un tiempo por cada orden de 15 minutos ms
10 segundos por cada reloj empacado.
Capacidad del almacn. Se cuenta con un almacn para almacenar los relojes
producidos en manufactura, el cual tiene una capacidad de 4000 relojes, y deber con
contar con un inventario mnimo de 1000 relojes al iniciar el funcionamiento de la
empresa.

121

5.1.1.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.

Se utiliza el lenguaje GPSS para construir el modelo de simulacin.


Para simplificar la implementacin del modelo, primero nos concentraremos en la
manufactura de relojes, y luego posteriormente se implementar el proceso de
atencin de las rdenes de los clientes.
IMPLEMENTACIN DE MANUFACTURA, CARGA INICIAL DE INVENTARIO Y DAS
TRANSCURRIDOS.
Los relojes que son manufacturados son enviados al almacn que tiene una capacidad
de 4000 relojes, y el proceso inicia con un inventario inicial en el almacn de 1000
relojes.
El modelo est compuesto por tres segmentos, el primero se encarga de simular la
produccin del departamento de manufactura que enva todo el producto a un
almacn con capacidad de 4000 relojes, el segundo se encarga de simular los das
transcurridos, y el tercero simula la carga de inventario inicial de 1000 relojes al
almacn.

122

Modelo.
GENERATE ,,,1,10
GENERATE 0.75,0.08334,1

ENTER ALMACEN,1000

ENTER ALMACEN,60

TERMINATE

TERMINATE

Simula carga de inv.


inicial

Simula manufactura y almacenaje

GENERATE 8

TERMINATE 1

Simula das
transcurridos

Figura 5.5.- Diagrama de bloques. (1 de 2)

Cdigo GPSS.
ALMACEN STORAGE 4000

;Capacidad mxima del almacen = 4000 relojes.

GENERATE 0.75,0.08334,1

;Genera un lote cada 40 5 minutos

ENTER ALMACEN,60

;Almacena el lote de 60 relojes

TERMINATE
;-------------------------------------------------------------------------------------------------------------------------------------------GENERATE ,,,1,10

;Genera una transaccin que realiza la carga de inventario inicial

ENTER ALMACEN,1000

;Almacena un lote inicial de 1000 relojes

TERMINATE
;-------------------------------------------------------------------------------------------------------------------------------------------------GENERATE 8

;Genera un da de 8 horas de trabajo

TERMINATE 1

; Finaliza el da

START 5

;Simula 5 dias de trabajo


Tabla 5.1.- Cdigo GPSS para el diagrama de bloques de la figura 5.5.

Reporte de resultados.
123

Figura 5.6.- Reporte de resultados.

El tiempo de la simulacin fue de 40 horas (8 horas x 5 dias). La capacidad del almacn


es de 4000 relojes, y al finalizar la simulacin est a su mxima capacidad. Se
almacenaron 50 lotes (50 lotes x 60 relojes = 3000 relojes), y quedaron 3 pendientes
debido a que el almacn ya estaba lleno. Se gener la carga inicial de 1000 relojes al
almacn.

IMPLEMENTACIN DE RDENES ATENDIDAS.


Una vez que se ha verificado el buen funcionamiento de estos tres segmentos, ahora
nos concentraremos en la simulacin de las rdenes atendidas.
Las rdenes tienen un tiempo entre llegadas que sigue una distribucin exponencial
con media de 15 minutos, y el tamao de la orden viene dada por una distribucin de
frecuencias:
Frecuencia
RELATIVA
Tamao de
la orden

0.10

0.25

0.30

0.15

0.12

0.05

0.03

12

18

24

30

36

48

124

Para crear una variable aleatoria TAMANO es necesario primero calcular la distribucin
de frecuencias acumulada obteniendo la siguiente tabla:
Frecuencia
ACUMULADA
Tamao de
la orden

0.10

0.35

0.65

0.80

0.92

0.97

1.0

12

18

24

30

36

48

Para realizar el empacado, los relojes se tienen que retirar del almacn, si no se
encuentran en existencia entonces la orden no es atendida. El tiempo de empacado es
calculado por la variable TIEMPO que est en funcin de la cantidad de relojes a
empacar. TIEMPO = 0.0034 + (P1*0.0028).

125

Modelo.
GENERATE (EXPONENTIAL(1,0,0.25))

ASSIGN 1,1,TAMANO

S$ALMACEN P1

LEAVE ALMACEN,P1

SEIZE EMPACADORA

Simula rdenes
atendidas

ADVANCE V$TIEMPO

RELEASE EMPACADORA

Figura 5.7.- Diagrama de bloques. (2 de 2)

TERMINATE

Cdigo GPSS (incluye todo el modelo).


TAMANO FUNCTION RN1,D7

.10,6/.35,12/.65,18/.80,24/.92,30/.97,36/1.0,48
TIEMPO VARIABLE 0.0028#P1+0.0334

;Tiempo de empacado= 0.0334 + P1*0.0028

ALMACEN STORAGE 4000

;Capacidad mxima del almacen = 4000 relojes.

GENERATE (EXPONENTIAL(1,0, 0.25)) ; Genera un pedido cada 15 minutos disribuidos exponencialmente


ASSIGN 1,1,TAMANO
TEST GE S$ALMACEN,P1,NOHAY

; Calcula el tamao de la orden y lo almacena en P1


; Si hay en el almacen lo surte, de lo contrario lo pierde

LEAVE ALMACEN,P1

;Retira los P1 relojes del almacen

QUEUE ESPERA

;Entra la cola de espera

SEIZE EMPACADORA

;Captura a la maquina empacadora

DEPART ESPERA

;Sale de la cola de espera

ADVANCE V$TIEMPO

;Realiza el empacado con tiempo= V$TIEMPO

RELEASE EMPACADORA

;Libera la maquina empacadora

TERMINATE

;Entrega la orden

126

NOHAY

TERMINATE

;La orden no es posible atenderse debido a que hay faltantes

GENERATE 0.75,0.08334,1

;Genera un lote cada 40 5 minutos

ENTER ALMACEN,60

;Almacena el lote de 60 relojes

TERMINATE
GENERATE 8

;Genera un da de 8 horas de trabajo

TERMINATE 1

; Finaliza el da

GENERATE ,,,1,10

;Carga inicial del inventario

ENTER ALMACEN,1000

;Inicia el inventario con 1000 relojes

TERMINATE
START 5

;Simula 5 dias de trabajo

Tabla 5.2.- Cdigo GPSS para el diagrama de bloques de la figura 5.5 y 5.7

Reporte de resultados.

127

Figura 5.8.- Reporte de resultados .

Interpretacin de los resultados para verificacin.


A.- El tiempo de la simulacin fue de 40 horas (8 horas x 5 dias).
B.- Llegaron 169 rdenes, de las cuales 168 fueron procesadas y enviadas a los clientes,
y 1 orden qued en el proceso de empacado.
C.- La mquina de empacado tuvo un 36.4% de utilizacin, con un tiempo promedio de
empacado de 0.086 horas (0.086 horas x 60 minutos=5.16 minutos), y al finalizar la
simulacin la mquina empacadora se encontraba ocupada (avail=1).
D.- La lnea de espera para el proceso de empacado, durante toda la simulacin tuvo
mximo 3 ordenes en espera, de las 169 ordenes que llegaron al proceso de empaque
103 ordenes no tuvieron que esperar, y las ordenes que esperaron tuvieron un tiempo
de espera promedio de 0.070 horas (0.070 horas x 60 minutos=4.2 minutos).
E.- La capacidad del almacn es de 4000 relojes, y al finalizar la simulacin tiene en
inventario de 898 relojes (CAP-REM =4000-3102=898). El inventario mximo alcanzado
en toda la simulacin fue de 1300 relojes, teniendo un porcentaje de utilizacin en el
inventario de 27.4%
F.- El proceso de manufactura en toda la simulacin produjo 52 lotes de 60 relojes
cada uno, y todos ellos fueron enviados al almacn.

128

5.1.1.5.- VALIDAR EL MODELO.


En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los datos alimentados al modelo, siendo las
formas ms 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.

Los modelos de simulacin son imitaciones aproximadas de sistemas del mundo real y
deben ser validados para asegurar la confiabilidad.
El gerente de produccin al revisar el modelo computacional detecta que la poltica
que sigue el departamento de empacado cuando no tiene existencia en el inventario,
est en base a criterios que no han sido especificados claramente, en ocasiones, se
suspende el empacado hasta que exista la cantidad de la orden, en otras ocasiones esa
orden la deja pendiente y se procede a empacar otras rdenes que tienen menor
cantidad, en raras ocasiones las ordenes no se surten, debido a faltantes. La
especificacin de esta poltica debe ser clara y precisa para lograr un modelado que se
asemeje a la realidad, y se pone en manifiesto al estudiar los casos especficos. La
simulacin efectuada no presenta esta caracterstica, debido a que ninguna orden es
enviada al bloque 11 (TERMINATE), pero independientemente del resultado debe ser
aclarada, esta falta de informacin.
Otras observaciones del ingeniero de manufactura, es la oportunidad de contar con un
simulador que le permita optimizar los niveles de inventario.
En lo relativo a la exactitud con que se predicen las variables aleatorias, como los
tiempos entre llegadas de las ordenes, los tiempos de produccin, y los tiempos de
empaque, las variables aleatorias utilizadas deben ser revisadas debido a ajustes en
las maquinarias y mejoras en los instructivos de trabajo que impactan
significativamente con respecto a los datos histricos con los cuales se contaba en ese
momento.
Los problemas existentes en la prctica estn encaminados al proceso de manufactura,
que en ltimas fechas se enfrentan a una gran rotacin de personal, y se han
incrementado los mantenimientos en las maquinarias
debido a falta de
entrenamiento.

129

El gerente general propone incluir en el modelo, variables aleatorias relacionadas a los


procesos de mantenimiento de maquinaria, actualizar las variables aleatorias
utilizadas, con los comportamientos actuales, y una poltica de control de inventarios.
Una vez incluidas estas mejoras en el modelo, se proceder a experimentar con el
mismo. Esto nos obliga a realizar otra iteracin regresando de nuevo a la definicin del
sistema, para incluir las necesidades que surgen en esta revisin. Es clsico que un
modelo no se realice a la primera, debido a que es un proceso iterativo que ir
afinando poco a poco el modelo, en la medida que vayan surgiendo variables
significativas.
5.1.1.6.- EXPERIMENTAR CON EL MODELO.
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.

La experimentacin es un proceso en el cual, se realizan corridas de simulacin que


reporta los resultados deseados. Una vez obtenidos se realiza un anlisis de
sensibilidad para ver la relacin entre las variables, y su impacto dentro del mismo.

5.1.1.7.- INTERPRETAR LOS RESULTADOS.


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.

El objetivo de la simulacin es contar con informacin para la buena toma de


decisiones. El reporte de resultados que arroja el modelo debe ser interpretado y
puesto en trminos que el tomador de decisiones pueda comprender, y en base a ellos
fundamentar sus decisiones. Las mejoras a cualquier sistema parten de un proceso
iterativo en que se incluyen nuevas variables con el fin de obtener informacin
desconocida que logre comprender el comportamiento del sistema y sus
repercusiones al momento de incluir o actualizar algn proceso.

5.1.1.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.

La documentacin es vital para asegurar que se pueda llevar a cabo el mantenimiento


y la operacin del sistema construido. La documentacin del usuario es aquella que le
permite al usuario conocer el simulador, y poder hacer uso de l. Por otro lado la
documentacin tcnica est relacionada con todos los aspectos tcnicos desde su

130

concepcin hasta su implementacin, que permiten asegurar un mantenimiento para


que el sistema computacional para incluir y modificaciones que surgen a travs del
tiempo.

131

5.1.2.- SIMULACIN DE UN SISTEMA DE CONTROL DE CALIDAD.


Una maquiladora manufactura un componente automotriz, la manufactura de estos
componentes es realiza por una secuencia de tres procesos principales. Al final de cada
proceso est instalada una estacin de inspeccin que asegura la calidad de los
componentes, rechazando aquellos que no cumplan con las normas mnimas
establecidas. Para algunos componentes rechazados tienen la oportunidad de ser retrabajados, algunos otros son considerados como desperdicio. La intencin del estudio
de simulacin es conocer el comportamiento del sistema de control de calidad, para
realizar mejoras en el sistema.
5.1.2.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.

La primera etapa consiste en definir el sistema que se desea simular, para realizarlo es
necesario realizar un anlisis preliminar. Este anlisis exploratorio tradicionalmente se
lleva a cabo realizando un recorrido por toda la empresa. Este recorrido nos muestra
todos los procesos que se realizan, y las problemticas que se enfrentan diariamente
para realizar sus actividades operativas. La estructura organizacional es un buen inicio
para identificar al personal clave que cuenta con informacin valiosa para incluir en el
modelo de simulacin.
Organigrama de la empresa

Gerente

Administracin

Produccin

Calidad

Figura 5.9.- Organigrama de la empresa.

Las entrevistas a este personal, es pieza fundamental para definir el sistema y sus
interacciones con otros sistemas, y los resultados que se esperan obtener del estudio
de simulacin.
Para la definicin del sistema, se puede seguir con una tcnica enfocada a identificar lo
siguiente:

132

Identificar las salidas del sistema.


AL realizar un anlisis preliminar primero nos enfocaremos a descubrir los resultados
que se esperan obtener del estudio, es decir determinar las salidas del sistema.
Entrevistando a los gerentes de la planta cada uno expone la problemtica desde su
perspectiva, entre las cuales se destacan los problemas siguientes:

Maximizar la produccin.
Minimizar productos defectuosos.
Minimizar el desperdicio.

Identificar las entradas del sistema.


Las entradas del sistema, estn en funcin de las salidas identificadas del sistema. Es
decir los datos requeridos que sern procesados para proporcionar las salidas del
sistema. Las entrevistas y los recorridos muestran el proceso de fabricacin, el cual
est sujeta a la llegada de las rdenes durante el transcurso del da, las cuales pasan
directamente a manufactura basada en tres procesos principales, al final de cada
proceso se realiza una inspeccin que asegura el retiro de la lnea los componentes no
conformes. Una proporcin de componentes no conforme tiene la oportunidad de ser
re trabajados en el mismo proceso que lo rechaz, pero la otra proporcin es enviada
directamente al desperdicio.
Identificando como variables de entrada: los tiempos entre llegadas de las rdenes,
los tiempos de manufactura, y las estadsticas de las inspecciones.
Identificar el proceso del sistema.
Al entrevistar al encargado de la produccin muestra el proceso que siguen las rdenes
de los clientes, las cuales son recibidas, manufacturadas, inspeccionadas y enviadas a
los clientes.

133

Recibe
orden

Proceso 1
V
F
Inspeccin ok

Retrabajo

F
Proceso 2
V
F

Scrap

F
Inspeccin ok

Retrabajo

V
Proceso 3
V
F
F
Inspeccin ok

Retrabajo

Envia orden

Figura 5.10.- Proceso del sistema.

134

5.1.2.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,
sus relaciones lgicas y los diagramas de flujo que describan en forma completa al modelo.

Tiempo entre
llegadas de las
rdenes

Produccin
Proceso 1

Inspeccin

Tiempo de
manufactura
Productos
defectuosos
Tiempo de
inspeccin

Proceso 2

Inspeccin

s
c
r
a
p

Desperdicios

Parmetros de
inspeccin
Proceso 3

Inspeccin

Producto
terminado

Proceso de simulacin

Figura 5.11.- Formulacin del modelo.

5.1.2.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.

Un componente es manufacturado realizando una secuencia de tres procesos. Al


terminar cada proceso se realiza una inspeccin rpida que tarda dos minutos. Los
resultados de estas inspecciones permiten detectar aquellos componentes que no
cumplen con la calidad deseada, y es necesario repetir el proceso.
Proceso
Uno
Dos
Tres

Componentes a retrabajar
20%
15%
5%

135

El 60% de los componentes enviados a retrabajar no es posible retrabajarlos dado sus


caractersticas, por lo tanto son reenviados directamente al desperdicio (scrap) y
nicamente el 40% restante es posible aplicarle el re-trabajo.
Las rdenes tienen un tiempo entre llegadas de 30 minutos y tiene un
comportamiento exponencial.
EL tiempo del primer proceso tiene la siguiente distribucin de frecuencias:
Frecuencia
Tiempo
Proceso

0.05
10

0.13
14

0.16
21

0.22
32

0.29
38

0.15
45

El tiempo del segundo proceso tarda 15 6 minutos.


El tiempo del tercer proceso sigue una distribucin normal con media de 24 minutos y
una desviacin estndar de 4 minutos.

136

5.1.2.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.

Se utiliza el lenguaje GPSS para construir el modelo de simulacin.

Simula manufactura e inspeccin

GENERATE
(EXPONENTIAL(1,0,30))

SEIZE PROCESO1

SEIZE PROCESO2

SEIZE PROCESO3

ADVANCE
FN$TIEMPO1

ADVANCE 15,6

ADVANCE
(NORMAL(1,24,4))

RELEASE PROCESO1

RELEASE PROCESO2

RELEASE PROCESO3

ADVANCE 2

ADVANCE 2

ADVANCE 2

conforme?

conforme?

0.2,,RET1

0.2,,RET1

40%

15%

%
Scrap?

0.2,,RET1

TERMINATE 1

5%
40%
Scrap?

0.2,,RET1

0.2,,RET1

60%
TERMINATE

conforme?
0.2,,RET1

40%

20%

Scrap?

95%

85%

80%

60%
TERMINATE

Figura 5.12.- Diagrama de bloques.

137

60%
TERMINATE

Cdigo GPSS.
TIEMPO1 FUNCTION RN1,D7
0,0/.05,10/.18,14/.34,21/.56,32/.85,38/1.0,45
GENERATE (EXPONENTIAL(1,0,30))
ETAPA1 SEIZE PROCESO1

;CAPTURA LA MAQUINA

ADVANCE FN$TIEMPO1

;REALIZA EL PROCESO NO. 1

RELEASE PROCESO1

;LIBERA LA MAQUINA

ADVANCE 2

;INPECCION RAPIDA (2MIN)

TRANSFER 0.20,ETAPA2,RETRB1

;EL 20% VA A RETRABAJO (RETRB1), EL RESTO PASA A LA ETAPA2

ETAPA2 SEIZE PROCESO2

;CAPTURA LA MAQUINA

ADVANCE 15,6

;REALIZA EL PROCESO NO. 2

RELEASE PROCESO2

;LIBERA LA MAQUINA

ADVANCE 2

;INSPECCION RAPIDA (2MIN)

TRANSFER 0.15,ETAPA3,RETRB2

;EL 15% VA A RETRABAJO (RETRB2), EL RESTO PASA A LA ETAPA3

ETAPA3 SEIZE PROCESO3

;CAPTURA LA MAQUINA

ADVANCE (NORMAL(1,24,4))

;REALIZA EL PROCESO NO. 2

RELEASE PROCESO3

;LIBERA LA MAQUINA

ADVANCE 2

;INSPECCION RAPIDA (2MIN)

TRANSFER 0.05,FINAL,RETRB3

;EL 5% VA A RETRABAJO (RETRB3), EL RESTO FINALIZA

RETRB1 TRANSFER 0.40,,ETAPA1


TERMINATE
RETRB2 TRANSFER 0.40,,ETAPA2
TERMINATE
RETRB3 TRANSFER 0.50,,ETAPA3

FINAL

;TIEMPO ENTRE LLEGADAS EXPONENCIAL 30 MINUTOS

;EL 40% ES ENVIADO A LA ETAPA1


;TERMINA COMO SCRAP
;EL 40% ES ENVIADO A LA ETAPA2
;TERMINA COMO SCRAP
;EL 40% ES ENVIADO A LA ETAPA3

TERMINATE

;TERMINA COMO SCRAP

TERMINATE 1

;TERMINA COMO PRODUCTO CONFORME

START 100

;SIMULA 100 PRODUCTOS CONFORMES (TERMINADOS)

Tabla 5.3.- Cdigo GPSS para el diagrama de bloques de la figura 5.12.

138

Reporte de resultados

Figura 5.13.- Reporte de resultados .

139

Interpretacin de los resultados para verificacin.


La simulacin de la produccin de un lote de 100 productos terminados, tard 4763.5 minutos
(79.39 horas).
Descripcin
Producto terminado
Scrap
En espera para realizar el proceso 1
Realizando el proceso 1
En espera para realizar el retrabajo en el proceso 1
Realizando el proceso 2
Total generados

Cantidad
100
38
26
1
2
1
168

Scrap generado
Descripcin
Scrap del proceso 1
Scrap del proceso 2
Scrap del proceso 3
Total generado

Cantidad
23
15
0
38

Estadstica de los procesos realizados.


Descripcin
% utilizacin
Tiempo prom (min)
Componentes

Proceso 1
96.7%
30.904
149

Proceso 2
36.9%
14.423
122

Proceso 3
52.1%
24.349
102

5.1.2.5.- VALIDAR EL MODELO.


En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los datos alimentados al modelo, siendo las
formas ms 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.

El gerente al revisar el modelo computacional se percata que los parmetros de


inspeccin seleccionados, son una medida inicial para cuantificar los productos
conformes y no conformes, y sugiere realizar experimentaciones con diferentes
parmetros para presentar escenarios que le permiten prepararse para una
eventualidad.
140

Una vez incluidas estos ajustes en el modelo, se proceder a experimentar con el


mismo, agregando el grado de complejidad del sistema incorporando un sistema de
inspeccin que le permita detectar variables significativas que repercuten en la calidad
de los productos. Esto nos obliga a realizar otra iteracin regresando de nuevo a la
definicin del sistema, para incluir las necesidades que surgen en esta revisin. Es
clsico que un modelo no se realice a la primera, debido a que es un proceso iterativo
que ir afinando poco a poco el modelo, en la medida que vayan surgiendo variables
significativas.
5.1.2.6.- EXPERIMENTAR CON EL MODELO.
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.

La experimentacin es un proceso en el cual, se realizan corridas de simulacin que


reporta los resultados deseados. Una vez obtenidos se realiza un anlisis de
sensibilidad para ver la relacin entre las variables, y su impacto dentro del mismo.
5.1.2.7.- INTERPRETAR LOS RESULTADOS.
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.

El objetivo de la simulacin es contar con informacin para la buena toma de


decisiones. El reporte de resultados que arroja el modelo debe ser interpretado y
puesto en trminos que el tomador de decisiones pueda comprender, y en base a ellos
fundamentar sus decisiones. Las mejoras a cualquier sistema parten de un proceso
iterativo en que se incluyen nuevas variables con el fin de obtener informacin
desconocida que logre comprender el comportamiento del sistema y sus
repercusiones al momento de incluir o actualizar algn proceso.
5.1.2.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.

La documentacin es vital para asegurar que se pueda llevar a cabo el mantenimiento


y la operacin del sistema construido. La documentacin del usuario es aquella que le
permite al usuario conocer el simulador, y poder hacer uso de l. Por otro lado la
documentacin tcnica est relacionada con todos los aspectos tcnicos desde su
concepcin hasta su implementacin, que permiten asegurar un mantenimiento para
que el sistema computacional para incluir y modificaciones que surgen a travs del
tiempo.

141

5.1.3.- SIMULACIN DE UN SUPERMERCADO.


Un supermercado con el fin de mejorar su servicio a sus clientes, se ha propuesto
mejorar en todos sus mbitos. En el ltimo semestre no han cumplido con sus metas
propuestas, y desean a travs de un estudio de simulacin conocer el comportamiento
de su sistema, para establecer polticas que brinden un servicio de calidad a sus
clientes.
5.1.3.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.

La primera etapa consiste en definir el sistema que se desea simular, para realizarlo es
necesario realizar un anlisis preliminar. Este anlisis exploratorio tradicionalmente se
lleva a cabo realizando un recorrido por toda la empresa. Este recorrido nos muestra
todos los procesos que se realizan, y las problemticas que se enfrentan diariamente
para realizar sus actividades operativas. La estructura organizacional es un buen inicio
para identificar al personal clave que cuenta con informacin valiosa para incluir en el
modelo de simulacin.

Organigrama de Supermercado

Gerente

Ventas

Operaciones

Administracin

Figura 5.14.- Organigrama de supermercado.

Las entrevistas a este personal, es pieza fundamental para definir el sistema y sus
interacciones con otros sistemas, y los resultados que se esperan obtener del estudio
de simulacin.
Para la definicin del sistema, se puede seguir con una tcnica enfocada a identificar lo
siguiente:

142

Identificar las salidas del sistema.


AL realizar un anlisis preliminar en el supermercado primero nos enfocaremos a
descubrir los resultados que se esperan obtener del estudio , es decir determinar las
salidas del sistema. Entrevistando a los gerentes de la planta cada uno expone la
problemtica desde su perspectiva, entre las cuales se destacan los problemas
siguientes:

Utilizacin de servicios: estacionamiento, carritos, cestas, cajas.


Tiempo promedio de compras.
Flujo de clientes en el supermercado.

Identificar las entradas del sistema.


Las entradas del sistema, estn en funcin de las salidas identificadas del sistema. Es
decir los datos requeridos que sern procesados para proporcionar las salidas del
sistema. Las entrevistas y los recorridos muestran el proceso que siguen los clientes
desde que llegan, compran y se retiran. Identificando como variables de entrada: los
tiempos entre llegadas de las clientes, los tiempos para entrar y salir del
supermercado, los tiempos de seleccin de artculos, la cantidad de artculos
seleccionados, los tiempos requeridos para el pago de los artculos, el tamao del
estacionamiento, la cantidad de carritos y cestas, y la cantidad de cajas disponibles
para realizar el pago respectivo.

143

Identificar el proceso del sistema.


Al entrevistar al gerente de operaciones muestra el proceso normal del supermercado.

Llega cliente

No
Se retira el
cliente

Hay donde
estacionarse
Si

Figura 5.15.- Proceso del sistema.

Se estaciona

Camina al super
No
Artculos>10

Selecciona
artculos

Selecciona
cesta

Paga en caja
rpida

Deja cesta

Si
Camina al auto
Selecciona carrito

Selecciona artculos

Paga en caja normal

Deja carrito

Camina al auto

Se retira el
cliente

El supermercado cuenta con un estacionamiento. Si llega un cliente y no encuentra


estacionamiento se retira del supermercado sin comprar. Los clientes que logran
estacionarse caminan desde el estacionamiento hasta la tienda. Dependiendo de la
cantidad de artculos los clientes, utilizan una cesta o un carrito. El tiempo de la
compra depende de la cantidad de artculos comprados. Los clientes seleccionan los
artculos y se forman en una de las lneas de espera para pagar en la caja elegida
(usualmente la que tiene menor fila). Los clientes que compran menos de 10 artculos
pueden seleccionar una caja rpida. El tiempo de pago est en funcin de los artculos
y de la forma de pago. El cliente despus de pagar camina hacia su auto estacionado,

144

carga sus artculos al auto y abandona el estacionamiento. Se cuenta con la poltica de


no permitir que salgan las cestas del supermercado.
5.1.3.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,
sus relaciones lgicas y los diagramas de flujo que describan en forma completa al modelo.

Tiempo entre
llegadas de los
clientes

Capacidad en
estacionamiento

Se estaciona

Entra al super
Tiempo de entrar
y salir del super

Sel carrito o
cesta

Utilizacin de
servicios

Tiempo prom de
compra

Sel artculos

Capacidad de
cestas y carritos

Paga en caja

Flujo de clientes

Sel de art y tiempo


transcurrido
Sale del super
Capacidad de
cajas y tiempo
Proceso de simulacin

Figura 5.16.- Formulacin del modelo.

5.1.3.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.

El supermercado cuenta con estadsticas resultado de estudios realizados


previamente, los cuales se muestran a continuacin:
Tiempo entre llegadas de los clientes. El tiempo entre llegadas de los clientes tiene un
comportamiento exponencialmente distribuido. La primera media hora (0-30 min)
tiene una tasa de 600 clientes x hora, la siguiente hora (30-90 min) arriban 900 clientes

145

, la siguiente hora (90-150) arriban 450 y despus (150-adelante) se mantiene una tasa
de 300 clientes x hora.
Definiendo la variable aleatoria utilizando los datos mencionados anteriormente, y
calculando con unidades de tiempo en dcimas de segundo (36000 decimas de
segundo= 1 hora).
Tiempo

0 -30 minutos
30-90 minutos
90-150 minutos
150 minutos-en adelante

Clculo

36000 /600=60
36000/900=40
36000/450=80
36000/300=120

Variable aleatoria

Exponencial(0,60)
Exponencial(0,40)
Exponencial(0,80)
Exponencial(0,120)

Estacionamiento. El estacionamiento tiene una capacidad de 650 lugares para


estacionarse. Aquellos clientes que no consiguen estacionarse, se retiran sin realizar
compra alguna.
Tiempos para entrar y salir del supermercado. El cliente una vez que se estaciona tarda
un promedio de 60 segundos para entrar al supermercado, y cuando sale del
supermercado tarda un tiempo de 60 segundos para llegar al auto. Aquellos clientes
que salen con carrito, lo dejan abandonado el carrito en el estacionamiento.
Cantidad de artculos a comprar. El cliente que entra al supermercado usualmente
compra entre 5 y 100 artculos distribuidos uniformemente.
Seleccin del carrito o cesta. El cliente al entrar al supermercado dependiendo de la
cantidad a comprar selecciona una cesta o un carrito. Si compran ms de 10 artculos
seleccionan un carrito, de lo contrario seleccionan una cesta. Se cuenta con una
capacidad de 650 carritos y 70 cestas.
Tiempo de seleccin de los artculos a comprar. El cliente tarda aproximadamente 10
segundos en la seleccin de un artculo.
Tiempo para el pago de los artculos (cajas). El cliente una vez que finaliza la seleccin
de los artculos a comprar se forma en la fila que contiene el menor nmero de
personas para realiza el pago en las cajas destinadas a ello. Se cuenta con una caja
rpida para aquellos que traen 10 o menos artculos, pero tambin existen 17 cajas
normales. El tiempo para realizar el pago est en funcin de la cantidad de artculos y
la forma de pago correspondiente. Se tarda dos segundos por cada artculo y
dependiendo de la forma de pago se tarda 25 segundos (efectivo), 30 (cheque), o 35
segundos para pago con tarjeta de crdito.

146

5.1.3.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.

Se utiliza el lenguaje GPSS para construir el modelo de simulacin.

GENERATE (EXPONENTIAL(1,0,60)),,,300
GENERATE
(EXPONENTIAL(1,0,40)),,18000,900

TRANSFER
BOTH,,BYE

TERMINATE

GENERATE
(EXPONENTIAL(1,0,80)),,54000,450

GENERATE
(EXPONENTIAL(1,0,120)),,90000

ENTER PARK
ARTS <= 10

QUEUE QCESTA

ADVANCE 600
F

ENTER CESTA

SAVEVALUE CLTES+,1
QUEUE QCARRITO

DEPART QCESTA

ASSIGN ARTS,V$QTY
ENTER CARRITO
ASSIGN FPAGO,V$FORMA

ASSIGN CARGA,
CESTA

DEPART QCARRITO
ASSIGN
CARGA,CARRITO

Figura 5.17.- Diagrama de bloques 1/2.

147

ASSIGN ARTS,V$QTY

ASSIGN ARTS,V$QTY

ADVANCE V$TSELE

ADVANCE V$TSELE

QUEUE QRAPIDA

SELECT MIN NORMAL,CINICIAL,CFINAL,,Q

SEIZE CRAPIDA

QUEUE P$CNORMAL

DEPART QRAPIDA

SEIZE P$CNORMAL

ASSIGN FPAGO,V$FORMA

DEPART P$CNORMAL

ADVANCE V$TPAGO
RELEASE CRAPIDA

ASSIGN FPAGO,V$FORMA
ADVANCE V$TPAGO

LEAVE P$CARGA

RELEASE P$CNORMAL

TABULATE HARTS

TABULATE HARTS

TABULATE HTIME

TABULATE HTIME

SAVEVALUE CLTES-,1

SAVEVALUE CLTES-,1

ADVANCE 600

ADVANCE 600

LEAVE PARK

LEAVE P$CARGA

TERMINATE

LEAVE PARK

GENERATE 600

TABULATE HCLTES

TERMINATE 1

Figura 5.18.- Diagrama de bloques 2/2.

TERMINATE

148

Cdigo GPSS.
PARK

STORAGE 650

;Estacionamiento con capacidad de 650 lugares

CESTA

STORAGE 70

;Capacidad de cestas=70

CARRITO STORAGE 650

;Capacidad de carritos=650

QTY

VARIABLE (RN1@96+5)

;Genera cantidad de artculos a comprar por el cliente

TSELE

VARIABLE P$ARTS #100

;Genera tiempo de seleccin = ARTS * 100

FORMA

VARIABLE (RN1@3+1) # 50+200

;Genera forma de pago

TPAGO

VARIABLE (P$ARTS)#20+P$FPAGO

;Genera tiempo de pago

HCLTES

TABLE X$CLTES,100,50,12

;Histograma de clientes

HARTS

TABLE P$ARTS,10,10,10

;Histograma de artculos comprados

HTIME

TABLE M1,10000,10000,7

;Histograma de tiempo transcurrido x clte

INITIAL

X$CLTES,0

CINICIAL EQU 1
CFINAL

EQU 17
GENERATE (EXPONENTIAL(1,0,60)),,,300
TRANSFER,INICIO
GENERATE (EXPONENTIAL(1,0,40)),,18000,900
TRANSFER,INICIO
GENERATE (EXPONENTIAL(1,0,80)),,54000,450
TRANSFER,INICIO
GENERATE (EXPONENTIAL(1,0,120)),,90000
TRANSFER,INICIO

INICIO

TRANSFER BOTH,,BYEF
ENTER PARK
SAVEVALUE CLTES+,1

;CLTES=CLTES + 1

ASSIGN ARTS,V$QTY

;ARTS=QTY()

TEST LE P$ARTS,10,MASD10
QUEUE QCESTA
ENTER CESTA

;Utiliza cesta

DEPART QCESTA
ASSIGN CARGA,CESTA

;CARGA=CESTA

ADVANCE V$TSELE

;Selecciona los artculos

149

QUEUE QRAPIDA
SEIZE CRAPIDA
DEPART QRAPIDA
ASSIGN FPAGO,V$FORMA

;FPAGO=FORMA()

ADVANCE V$TPAGO
RELEASE CRAPIDA
LEAVE P$CARGA
TABULATE HARTS
TABULATE HTIME
SAVEVALUE CLTES-,1
ADVANCE 600
LEAVE PARK
TRANSFER,BYER
MASD10 QUEUE QCARRITO
ENTER CARRITO

;Utiliza carrito

DEPART QCARRITO
ASSIGN CARGA,CARRITO

;CARGA=CARRITO

ASSIGN ARTS,V$QTY

;ARTS=QTY()

ADVANCE V$TSELE

;Selecciona los articulos

PNORMAL SELECT MIN CNORMAL,CINICIAL,CFINAL,,Q


QUEUE P$CNORMAL
SEIZE P$CNORMAL
DEPART P$CNORMAL
ASSIGN FPAGO,V$FORMA

;FPAGO=FORMA()

ADVANCE V$TPAGO
RELEASE P$CNORMAL
TABULATE HARTS
TABULATE HTIME
SAVEVALUE CLTES-,1
ADVANCE 600
LEAVE P$CARGA
LEAVE PARK
BYEN

TERMINATE

150

BYER

TERMINATE

BYEF

TERMINATE
GENERATE 600
TABULATE HCLTES
TERMINATE 1
START 180
Tabla 5.4.- Cdigo GPSS para el diagrama de bloques de la figura 5.17 y 5.18

Reporte de resultados.

151

152

Figura 5.19.- Reporte de resultados.

153

Interpretacin de los resultados para verificacin.


La simulacin del funcionamiento del supermercado se realiz para las primeras tres horas de
operacin. (108000 dcimas de segundo). Llegaron 1812 clientes (300+900+450+162) de los
cuales todos encontraron lugar para estacionar su vehculo. En esas tres horas, compraron
1400 clientes (1280 clientes 10 artculos, y 120 clientes < 10 artculos). En promedio se tuvo
356.8 clientes en el supermercado, seleccionando un promedio de 46.72 artculos y tardando
un promedio de compra de 35 minutos (21158.8 dcimas de segundo).
Al momento de finalizar la simulacin se encontraban 42 clientes (41+1) seleccionando
artculos y 346 clientes se encontraban haciendo filas en las cajas normales, y 18 clientes
pagando (17 clientes 10 artculos, y 1 clientes < 10 artculos). 7 clientes saliendo de la tienda
(6 clientes 10 artculos, y 1 cliente < 10 artculos).
El comportamiento de las cajas normales (de la 1 a la 17) muestran un promedio de 15
personas en cada fila, esperando para pagar, con un pico mximo de 25 personas, y slo el 1%
han logrado pagar sin hacer fila. La caja que tiene el mayor promedio de espera es de 30
minutos (18321 dcimas de segundo), y las dems tienen un comportamiento parecido.
El comportamiento en la caja rpida muestra un promedio de 0.5 personas esperando para
pagar, con un pico mximo de 5 personas, y ms del 39% han logrado pagar sin hacer fila. La
caja tiene un promedio de espera de menos de un minuto (475.55 dcimas de segundo).
Para utilizar las cestas y los carritos no tuvieron que hacer fila los clientes, el mximo nmero
de cestas utilizadas fue de 8 de las 70 disponibles. El mximo nmero de carritos utilizados fue
de 516 de los 650 disponibles. El porcentaje de utilizacin de las cestas fue de 2.7% y el
porcentaje de utilizacin de los carritos fue de 55.5%.
El estacionamiento que tiene capacidad para 650 vehculos, el mximo nmero de lugares
utilizados fue de 522, teniendo un porcentaje de utilizacin de 55.9%.
Es notorio que la problemtica se centra en el servicio de las cajas normales. Para analizar su
comportamiento, se realizaron corridas modificando la cantidad de cajas normales disponibles,
presentando los resultados siguientes:
# Cajas
disponibles

17
18
19
20
21
22
23
24
25

Max clientes
en la fila

Clientes
Prom en fila

25
16
18
17
14
11
9
8
7

15
13.1
10
9.2
7.1
5.2
3.9
3
2.4

En espera al final
de la simulacin

346
271
150
108
49
11
11
10
5

Tiempo aproximado en la caja

30 min (18321 dcimas de segundo)


26.67 min (16004 dcimas de segundo)
23.14 min (13885 dcimas de segundo)
20.75 min (12452 dcimas de segundo)
15.99 min (9599 dcimas de segundo)
13.08 min (7850 dcimas de segundo)
9.96 min (5981 dcimas de segundo)
8.49 min (5094 dcimas de segundo)
7.13 min (4282 dcimas de segundo)

154

5.1.3.5.- VALIDAR EL MODELO.


En esta etapa es posible detallar deficiencias en la formulacin del modelo o en los datos alimentados al modelo, siendo las
formas ms 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.

El gerente al validar el modelo computacional basado en su experiencia hace notar que


en la realidad se presentan problemas con la disponibilidad de los carritos, y el modelo
carece de una poltica de retorno para aquellos carritos que dejan en el
estacionamiento. Tambin hace hincapi en la poltica que siguen los clientes al llegar
a la tienda, en donde muchos de ellos abandonan al ver grandes filas en las cajas.
Propone actualizar el modelo incorporando estas polticas para que el modelo se
acerque ms a la realidad que se vive en el supermercado. Mejorar el servicio de cajas,
es una tarea que presenta conflictos debido a los costos asumidos, propone realizar un
estudio para minimizar estos costos y logrando la satisfaccin del cliente.
Una vez incluidas estos ajustes en el modelo, se proceder a experimentar con el
mismo, agregando el grado de complejidad del sistema incorporando una poltica de
retorno de carritos, una poltica de abandono por parte del cliente cuando existen
grandes filas en las cajas, y sobre todo buscar minimizar los costos en el rea de cajas.
El estudio de simulacin es un proceso iterativo que ir afinando poco a poco el
modelo, en la medida que vayan surgiendo variables significativas.
5.1.3.6.- EXPERIMENTAR CON EL MODELO.
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.

La experimentacin es un proceso en el cual, se realizan corridas de simulacin que


reporta los resultados deseados. Una vez obtenidos se realiza un anlisis de
sensibilidad para ver la relacin entre las variables, y su impacto dentro del mismo.
5.1.3.7.- INTERPRETAR LOS RESULTADOS.
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.

El objetivo de la simulacin es contar con informacin para la buena toma de


decisiones. El reporte de resultados que arroja el modelo debe ser interpretado y
155

puesto en trminos que el tomador de decisiones pueda comprender, y en base a ellos


fundamentar sus decisiones. Las mejoras a cualquier sistema parten de un proceso
iterativo en que se incluyen nuevas variables con el fin de obtener informacin
desconocida que logre comprender el comportamiento del sistema y sus
repercusiones al momento de incluir o actualizar algn proceso.
5.1.3.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.

La documentacin es vital para asegurar que se pueda llevar a cabo el mantenimiento


y la operacin del sistema construido. La documentacin del usuario es aquella que le
permite al usuario conocer el simulador, y poder hacer uso de l. Por otro lado la
documentacin tcnica est relacionada con todos los aspectos tcnicos desde su
concepcin hasta su implementacin, que permiten asegurar un mantenimiento para
que el sistema computacional para incluir y modificaciones que surgen a travs del
tiempo.

156

A
Apndice

Distribucin Normal (Z)


Z
0.0
0.1
0.2
0.3
0.4

.00
.0000
.0398
.0793
.1179
.1554

.01
.0040
.0438
.0832
.1217
.1591

.02
.0080
.0478
.0871
.1255
.1628

.03
.0120
.0517
.0910
.1293
.1664

.04
.0160
.0557
.0948
.1331
.1700

.05
.0199
.0596
.0987
.1368
.1736

.06
.0239
.0636
.1026
.1406
.1772

.07
.0279
.0675
.1064
.1443
.1808

.08
.0319
.0714
.1103
.1480
.1844

.09
.0359
.0753
.1141
.1517
.1879

0.5
0.6
0.7
0.8
0.9

.1915
.2257
.2580
.2881
.3159

.1950
.2291
.2611
.2910
.3186

.1985
.2324
.2642
.2939
.3212

.2019
.2357
.2673
.2967
.3238

.2054
.2389
.2703
.2995
.3264

.2088
.2422
.2734
.3023
.3289

.2123
.2454
.2764
.3051
.3315

.2157
.2486
.2794
.3078
.3340

.2190
.2517
.2833
.3106
.3365

.2224
.2549
.2852
.3133
.3389

1.0
1.1
1.2
1.3
1.4

.3413
.3643
.3849
.4032
.4192

.3438
.3665
.3869
.4049
.4207

.3461
.3686
.3888
.4066
.4222

.3485
.3708
.3907
.4082
.4236

.3508
.3729
.3925
.4099
.4251

.3531
.3749
.3944
.4115
.4265

.3554
.3770
.3962
.4131
.4279

.3577
.3790
.3980
.4147
.4292

.3599
.3810
.3997
.4162
.4306

.3621
.3830
.4015
.4177
.4319

1.5
1.6
1.7
1.8
1.9

.4332
.4452
.4554
.4641
.4713

.4345
.4463
.4564
.4649
.4719

.4357
.4474
.4573
.4656
.4726

.4370
.4484
.4582
.4664
.4732

.4382
.4495
.4591
.4671
.4738

.4394
.4505
.4599
.4678
.4744

.4406
.4515
.4608
.4686
.4750

.4418
.4525
.4616
.4693
.4756

.4429
.4535
.4625
.4699
.4751

.4441
.4545
.4633
.4706
.4767

2.0
2.1
2.2
2.3
2.4

.4772
.4821
.4861
.4893
.4918

.4778
.4826
.4864
.4896
.4920

.4783
.4830
.4868
.4898
.4922

.4788
.4834
.4871
.4901
.4925

.4793
.4838
.4875
.4904
.4927

.4798
.4842
.4878
.4906
.4929

.4803
.4846
.4881
.4909
.4931

.4808
.4850
.4884
.4911
.4932

.4812
.4854
.4887
.4913
.4934

.4817
.4857
.4890
.4916
.4936

2.5
2.6
2.7
2.8
2.9

.4938
.4953
.4965
.4974
.4981

.4940
.4955
.4966
.4975
.4982

.4941
.4956
.4967
.4976
.4982

.4943
.5957
.4968
.4977
.4983

.4945
.4959
.4969
.4977
.4984

.4946
.4960
.4970
.4978
.4984

.4948
.4961
.4971
.4979
.4985

.4949
.4962
.4972
.4979
.4985

.4951
.4963
.4973
.4980
.4986

.4952
.4964
.4974
.4981
.4986

3.0

.4987

.4987

.4987

.4988

.4988

.4989

.4989

.4989

.4989

.4990

157

Distribucin chi-cuadrada (df )


\
1
2
3
4
5

0.995
0.00
0.01
0.07
0.21
0.41

0.990
0.00
0.02
0.11
0.30
0.55

0.975
0.00
0.05
0.22
0.48
0.83

0.950
0.00
0.10
0.35
0.71
1.15

0.500
0.45
1.39
2.37
3.36
4.35

0.050
3.84
5.99
7.81
9.49
11.07

0.25
5.02
7.38
9.35
11.14
12.83

0.010
6.63
9.21
11.34
13.28
15.09

0.005
7.88
10.60
12.84
14.86
16.75

6
7
8
9
10

0.68
0.99
1.34
1.73
2.16

0.87
1.24
1.65
2.09
2.56

1.24
1.69
2.18
2.70
3.25

1.64
2.17
2.73
3.33
3.94

5.35
6.35
7.34
8.34
9.34

12.59
14.07
15.51
16.92
18.31

14.45
16.01
17.53
19.02
20.48

16.81
18.48
20.09
21.67
23.21

18.55
20.28
21.96
23.59
25.19

11
12
13
14
15

2.60
3.07
3.57
4.07
4.60

3.05
3.57
4.11
4.66
5.23

3.82
4.40
5.01
5.63
6.27

4.57
5.23
5.89
6.57
7.26

10.34
11.34
12.34
13.34
14.34

19.68
21.03
22.36
23.68
25.00

21.92
23.34
24.74
26.12
27.49

24.72
26.22
27.69
29.14
30.58

26.76
28.30
29.82
31.32
32.80

16
17
18
19
20

5.14
5.70
6.26
6.84
7.43

5.81
6.41
7.01
7.63
8.26

6.91
7.56
8.23
8.91
9.59

7.96
8.67
9.39
10.12
10.85

15.34
16.34
17.34
18.34
19.34

26.30
27.59
28.87
30.14
31.41

28.85
30.19
31.53
32.85
34.17

32.00
33.41
34.81
36.19
37.57

34.27
35.72
37.16
38.58
40.00

25
30
40
50
60

10.52
13.79
20.71
27.99
35.53

11.52
14.95
22.16
29.71
37.48

13.12
16.79
24.43
32.36
40.48

14.61
18.49
26.51
34.76
43.19

24.34
20.34
39.34
49.33
59.33

37.65
43.77
55.76
67.50
79.08

40.65
46.98
59.34
71.42
83.30

44.31
50.89
63.69
76.15
88.38

46.93
53.67
66.67
79.49
91.95

70
80
90
100

43.28
51.17
59.20
67.33

45.44
53.54
61.75
70.06

48.76
57.15
65.65
74.22

51.74
60.39
69.13
77.93

69.33
79.33
89.33
99.33

90.53
101.88
113.14
124.34

95.02
106.63
118.14
129.56

100.42
112.33
124.12
135.81

104.22
116.32
128.30
140.17

158

Tabla K-S (,

n\
1
2
3
4
5

10%
0.950
0.776
0.642
0.564
0.510

5%
0.975
0.842
0.708
0.624
0.563

1%
0.995
0.929
0.829
0.734
0.669

6
7
8
9
10

0.470
0.438
0.411
0.388
0.368

0.521
0.486
0.457
0.432
0.409

0.618
0.577
0.543
0.514
0.486

11
12
13
14
15

0.352
0.338
0.352
0.314
0.304

0.391
0.375
0.361
0.349
0.338

0.468
0.450
0.433
0.418
0.404

16
17
18
19
20

0.295
0.286
0.278
0.272
0.264

0.328
0.318
0.309
0.301
0.294

0.392
0.381
0.371
0.363
0.352

25
30
35
40

0.240
0.220
0.210

0.264
0.242
0.230
0.210

0.317
0.290
0.270
0.252

0.118
0.172
0.160
0.150
0.141
0.134

0.226
0.207
0.192
0.180

50
60
70
80
90
100
n > 100

1.22/,

1.36/,

159

1.22/,

B
Apndice
El lenguaje GPSS, consiste de un conjunto de instrucciones que se describen a detalle
en este apndice. Las instrucciones estn clasificadas como instrucciones de definicin
de variables, instrucciones para la lgica del programa, y las instrucciones para el
control de la simulacin. Por ltimo se muestra una descripcin de la estructura del
reporte de resultados de la simulacin, para su fcil comprensin.
B.1.- INSTRUCCIONES PARA LA DEFINICIN DE VARIABLES.
Instruccin
EQU
FUNCTION
FVARIABLE
INITIAL
MATRIX
STORAGE
TABLE
VARIABLE

Descripcin
Asignacin numrica de variables.
Definicin de funciones.
Definicin de operaciones.
Inicializacin de variables.
Definicin de matrices.
Definicin de nmero de servidores.
Definicin de histogramas.
Definicin de operaciones.

Instruccin EQU. Evalua una expresin y asigna el resultado a una variable.


Sintaxis.

NOMBRE EQU A
Etiqueta/Operandos:

Etiqueta/Operando
NOMBRE
A

Descripcin
Nombre de la variable. Se declara el nombre de la variable que almacena el valor de la expresin declarada
en el operando A. Es una etiqueta requerida.
Es una expresin. Es un operando requerido, que debe ser una expresin.

160

Instruccin FUNCTION. Define las reglas de bsqueda de datos en una tabla. Existen varios tipos de funciones. La tipo C es un
caso especial que busca el valor en la tabla, seguida de una interpolacin lineal. El uso de esta instruccin para definir
distribuciones de probabilidad ha sido reemplazada por una librera predefinida distribuciones de probabilidad.
Sintaxis.

NOMBRE FUNCTION A,B


Etiqueta/Operandos:

Etiqueta/Operando
NOMBRE
A
B

Descripcin
Es un nombre de la entidad a representar. Es una etiqueta que declara el nombre de la funcin. Es una
etiqueta requerida.
Es un argumento de la funcin. Este operando requerido y debe ser un nombre, un nmero entero, string,
expresin, o SN.
Funcin. Es un operando requerido el cual es declarada mediante el tipo de la funcin (una letra) , seguida
inmediatamente de pares de datos.

Tipos de funciones.
Letra
C
D
E
L
M

Descripcin
Describe una funcin continua.
Describe una funcin discreta.
Describe una funcin discreta basada en atributos.
Describe una funcin basada en una lista.
Describe una funcin basada en una lista de atributos.

Instruccin FVARIABLE. Utilizada para definir variables que almacenan nmeros reales (punto flotante), resultado de una
operacin aritmtica.
Sintaxis.

NOMBRE FVARIABLE A
Etiqueta/Operandos:

Etiqueta/Operando
NOMBRE
A

Descripcin
Es un nombre de la entidad a representar. Es requerido.
Es una expresin aritmtica. Es requerida.

Instruccin INITIAL. Inicializa entidades especiales (Matrix, Logicswith, Savevalue, un elemento de Matrix).
Sintaxis.

INITIAL A,B
Etiqueta/Operandos:

Etiqueta/Operando
A

Descripcin
Es un Logicswitch, Savevalue o un elemento de Matrix expresado como SNA, o el nombre de la entidad
Matrix. El operando A debe tener la forma de una clase LS, X, o MZ. o el nombre de una matriz. Es
requerido, y el operando debe ser un nombre, un LSPosInteger, LS$Name, XPosInteger, X$Name,
MXPosInteger(m,n) or MX$Name(m,n). Coordinates (m,n) debe ser un nombre o un numero entero
positivo..
Es el valor a ser asignado o puede ser omitido. Es un operando opcional con valor predeterminado de 1. El
operando debe ser nulo, nmero, string, nombre o no especificado.

161

Instruccin MATRIX. Define una entidad de tipo Matrix.


Sintaxis.

NOMBRE MATRIX A,B,C,D,E,F,G


Etiqueta/Operandos:

Etiqueta/Operando
NOMBRE
A
B
C
D
E
F
G

Descripcin
Nombre de la entidad. Es requerido. El operando debe ser un nombre.
Operando no utilizado. Asegura la compatibilidad con versiones anteriores.
Nmero elementos en la primera dimensin de la matriz (renglones). Es un operando requerido, y debe ser
un nmero entero positivo.
Nmero de elementos de la segunda dimensin de la matriz (columnas). Es un operando requerido, y debe
ser un nmero entero positivo.
Nmero de elementos en la tercera dimensin de la matriz. Es un operando opcional, y debe ser un nmero
entero positivo.
Nmero de elementos en la cuarta dimensin de la matriz. Es un operando opcional, y debe ser un nmero
entero positivo.
Nmero de elementos en la quinta dimensin de la matriz. Es un operando opcional, y debe ser un nmero
entero positivo.
Nmero de elementos en la sexta dimensin de la matriz. Es un operando opcional, y debe ser un nmero
entero positivo.

Instruccin STORAGE. Define la cantidad mxima de servidores.


Sintaxis.

NOMBRE STORAGE A
Etiqueta/Operandos:

Etiqueta/Operando
NOMBRE
A

Descripcin
Es el nombre de la entidad servidor. Es un operando requerido, y debe ser el nombre de la entidad de
servicio.
Capacidad mxima de servidores. Es un operando requerido, y debe ser un nmero entero positivo.

Instruccin TABLE. Inicializa una tabla de distribucin de frecuencias (histograma).


Sintaxis.

NOMBRE TABLE A,B,C,D


Etiqueta/Operandos:

Etiqueta/Operando
NOMBRE
A

B
C
D

Descripcin
Es el nombre de la entidad histograma. Es una etiqueta requerida, y debe ser el nombre. Este nombre est
limitado a 32 caracteres.
Es el argumento de la tabla. Es un operando opcional. Es el dato a ser tabulado en el histograma. Este
operando debe ser un nombre, nmero, string, expresin, o SNA. Es ignorado por ANOVA (anlisis de
varianza), pero debe ser especificado cuando se utiliza el bloque TABULATE.
Lmite superior del primer intervalo. Es el argumento mximo que causa que el primer intervalo sea
actualizado. Este operando es requerido, y debe ser un nmero o un string.
Tamao del intervalo. Es la diferencia entre el lmite superior y el lmite inferior del intervalo. Es un
operando requerido. Este operando debe ser un nmero o un string.
Nmero de intervalos. Es un operando requerido, y debe ser un nmero entero positivo.

162

Instruccin VARIABLE. Utilizada para definir variables, resultado de una operacin aritmtica.
Sintaxis.

NOMBRE VARIABLE A
Etiqueta/Operandos:

Etiqueta/Operando
NOMBRE
A

Descripcin
Es el nombre de la variable. Es una etiqueta requerida, y debe ser el nombre
Es una expresin. Es un operando requerido. Debe ser una expresin.

B.2.- Instrucciones para la lgica del programa.


Instruccin
ADVANCE
ASSEMBLE
ASSIGN
BUFFER
DEPART
ENTER
GATE
GATHER
GENERATE
INDEX
LEAVE
LINK
LOGIC
LOOP
MATCH
MSAVEVALUE
PREEMPT
PRIORITY
QUEUE
RELEASE
RETURN
SAVEVALUE
SEIZE
SELECT
SPLIT
TABULATE
TERMINATE
TEST
TRANSFER
UNLINK

Descripcin
Simula un tiempo de retardo en la transaccin.
Espera y destruye las transacciones relacionadas.
Asigna o actualiza un parmetro de la transaccin.
Coloca a la transaccin activa en una cadena de eventos actuales.
Simula la salida de un almacn.
Simula la captura de un servidor o servidores.
Altera el flujo de la transaccin en base un estado de la entidad.
Una transaccin espera a una transaccin relacionada.
Simulacin de entrada de transacciones al sistema.
Actualiza un parmetro de la transaccin activa.
Simula la desocupacin de un servidor o servidores.
Coloca la transaccin activa en un lugar dentro una cadena de usuario usando PEPS
(primera entrada, primeras salida) , o UEPS (ltima entrada, primera salida).
Actualiza el estado de una entidad tipo Logicswitch.
Modifica un parmetro y controla el destino de una transaccin activa, basado en el
resultado.
Simula la espera de una transaccin la llegada de otra transaccin.
Actualiza un elemento de una matriz.
Desplaza una transaccin a diferentes servidores.
Asigna una prioridad a la transaccin activa.
Simula la entrada de un almacn.
Libera un facilitador (servidor unitario).
Libera el facilitador que es propiedad de una transaccin.
Actualiza el valor de la entidad Savevalue.
Captura un facilitador (servidor unitario).
Selecciona una entidad y coloca un nmero de entidad dentro del parmetro de la
transaccin activa.
Reproduce transacciones, con las mismas caractersticas de la transaccin padre.
Tabula datos en un histograma.
Simula la salida de transacciones del sistema.
Compara valores y controla el destino de la transaccin activa.
Transfiere la transaccin activa a otra parte del programa.
Retira la transacciones de una cadena del usuario.

163

Instruccin ADVANCE. Simula un tiempo de retardo en la transaccin. instruccin GENERATE crea transacciones que entran al
proceso de simulacin. Se puede considerar a este bloque como una puerta a travs de la cual entran las transacciones al sistema.
No existe restriccin de la cantidad de bloques GENERATE que pueda contener un modelo de simulacin.
Sintaxis.

ADVANCE A,B
Operandos.

Operando
A
B

Descripcin
Tiempo promedio (media) de retardo.. Es un operando requerido. Este operando debe ser un nombre,
string, expresin, o nmero.
Desviacin con respecto a la media. Es un operando opcional. Este operando debe ser nombre, string,
expresin, nmero, SNA o nulo. El valor predeterminado es igual a 0.

Instruccin ASSEMBLE. Simula la espera y la destruccin de transacciones relacionadas.


Sintaxis.

ASSEMBLE A
Operandos.

Operando
A

Descripcin
Contador de transacciones. Es un operando requerido. Este operando debe ser un nombre, entero positivo,
expresin, o SNA.

Instruccin ASSIGN. Asigna o actualiza un parmetro de la transaccin.


Sintaxis.

ASSIGN A,B,C
Operandos.

Operando
A
B
C

Descripcin
Nmero de parmetro de la transaccin activa. Es un operando requerido. Este operando debe ser nombre,
entero positivo, expresin, SNA, o nulo.
Valor. Es un operando requerido. Este operando debe ser nombre, nmero, string, expresin o SNA.
Nmero de funcin. Es un operando opcional. Este operando debe ser nulo, nombre, entero positive,
expresin o SNA.

Instruccin BUFFER. Coloca a la transaccin activa en una cadena de eventos actuales.


Sintaxis.

BUFFER
Operandos.

Sin operandos.

164

Instruccin DEPART. Simula la salida de un almacn. Este bloque registra estadsticas que indican la salida del almacn (cola). Este
es el punto de finalizacin para la toma de estadsticas de las colas que se formaron. El bloque DEPART se utiliza como
complemento del bloque QUEUE (entrada al almacn).
Sintaxis.

DEPART A,B
Operandos.

Operando
A
B

Descripcin
El nombre del cola (almacn). Es un operando requerido. Este operando debe ser un nombre, un entero
positivo, expresin o SNA.
Nmero de unidades a salir de la cola (almacn). Es un operando opcional. De forma predeterminada tiene
asignado el valor de 1. Este operando debe ser nulo, nombre, entero positivo, string, expression, o SNA.

Instruccin ENTER. Simula la captura de un servidor o servidores. La transaccin deber esperar en este bloque hasta que un
servidor est disponible para que la transaccin sea atendida capturando la atencin del servidor. La instruccin LEAVE se utiliza
complemento para liberar el servidor ocupado. Estos servidores deben ser definidos utilizando la instruccin STORAGE.
Sintaxis.

ENTER A,B
Operandos.

Operando
A
B

Descripcin
Nombre del servidor. Es un operando requerido. Este operando debe ser un nombre, nmero entero
positivo, expresin, o un SNA.
Nmero de servidores a ocupar. El operando es opcional, con un valor predeterminado de 1. Este operando
debe ser nulo, nombre, numero entero positivo, expresin o un SNA.

Instruccin GATE. Altera el flujo de la transaccin en base un estado de la entidad.


Sintaxis.

GATE O A,B
Operandos.

Operando
O

A
B

Descripcin
Es un operador condicional. Es la condicin requerida de la entidad para ser probada como una prueba
exitosa. Es un operador requerido, y debe ser FNV, FV, I, LS, LR, M, NI, NM, NU, SE, SF, SNE, SNF, SNV, SV, o
U.
El nombre o nmero de la entidad a ser probada. El tipo de entidad es implicada por el operador
condicional. Este operando debe ser nombre, nmero entero positivo, expresin, o SNA.
Nmero de bloque destino cuando la prueba no es exitosa. El operando es opcional, y este operando debe
ser nulo, nombre, entero positivo, expresin o SNA.

Operadores condicionales.
Operador
FNV
FV
I
LS
LR
M
NI
NM
NU
SE

Descripcin
Servidor descrito en el operando A no se encuentra disponible. (Facility not available).
Servidor descrito en el operando A se encuentra disponible (Facility available).
El servidor descrito en el operando A debe ser interrumpido. (Interrupt).
El logicswitch descrito en el operando A es puesto en estado set. (Logic set).
El logicswitch descrito en el operando A es puesto en estado reset. (Logic reset).
El bloque match descrito en el operando A, tiene una transaccin en espera condicional. (Match).
Servidor descrito en el operando A no debe ser interrumpido. (Not interrupt).
EL bloque match descrito en el operando A, no tiene una transaccin en espera condicional. (Not match).
El servidor descrito en el operando A no debe ser utilizado para la prueba.
El almacenamiento descrito en el operando A debe estar vacio. (Storage empty).

165

SF
SNE
SNF
SNV
SV
U

El almacenamiento descrito en el operando A debe estar lleno. (Storage full).


El almacenamiento descrito en el operando A no debe estar vacio. (Storage not empty).
El almacenamiento descrito en el operando A no debe estar lleno. (Storage not full).
El almacenamiento descrito en el operando A no est disponible (Storage not available).
El almacenamiento descrito en el operando A est disponible (Storage available).
El servidor descrito en el operando A est en uso (Use).

Instruccin GATHER. Una transaccin espera a una transaccin relacionada. Se encarga de sincronizar las transacciones
pertenecientes al mismo conjunto de ensamble.
Sintaxis.

GATHER A
Operandos.

Operando
A

Descripcin
Contador de transacciones.- Operando requerido que debe ser nombre, nmero entero positivo, expresin
o SNA.

Instruccin GENERATE. La instruccin GENERATE crea transacciones que entran al proceso de simulacin. Se puede considerar a
este bloque como una puerta a travs de la cual entran las transacciones al sistema. No existe restriccin de la cantidad de
bloques GENERATE que pueda contener un modelo de simulacin. La instruccin GENERATE se utiliza con su complemento
TERMINATE.
Sintaxis.

GENERATE A,B,C,D,E
Operandos.

Operando
A
B
C
D
E

Descripcin
Tiempo promedio (media) entre llegadas. Es un operando opcional. Este operando debe ser un nombre,
string, expresin, nmero, SNA o nulo. El valor predeterminado es igual a 0.
Desviacin con respecto a la media. Es un operando opcional. Este operando debe ser nombre, string,
expresin, nmero, SNA o nulo. El valor predeterminado es igual a 0.
Tiempo en que se generar la primera transaccin. Es un operando opcional. Este operando debe ser
nombre, string, expresin, nmero, SNA o nulo. El valor predeterminado es igual al operando A.
Lmite de generacin de transacciones. Es un operando opcional. Este operando debe ser nombre, string,
expresin, nmero entero positivo, SNA o nulo. El valor predeterminado es igual a infinito.
Nivel de prioridad. Es un operando opcional. Este operando debe ser nombre, string, expresin, nmero
entero, SNA o nulo. El valor predeterminado es igual a 0.

Instruccin INDEX. Actualiza un parmetro de la transaccin activa.


Sintaxis.

INDEX A,B
Operandos.

Operando
A
B

Descripcin
Nmero del parmetro. Es un parmetro con un valor. Este operando es requerido, y debe ser nombre,
nmero entero positivo, expresin o SNA.
Valor numrico. Es un nmero que ser agregado al contenido del parmetro. Este operando debe ser
nombre, nmero, expresin o SNA.

166

Instruccin LEAVE. Simula la desocupacin de un servidor o servidores.


Sintaxis.

LEAVE A,B
Operandos.

Operando
A
B

Descripcin
Nombre del servidor. Es un operand requerido, y debe ser nombre, nmero entero positivo, expresin o
SNA.
Nmero de servidores a desocupar. Es un operando opcional, con un valor predeterminado de 1. Este
operando debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin LINK. Coloca la transaccin activa en un lugar dentro la cadena usando FIFO (primera entrada, primeras salida) , o LIFO
(ltima entrada, primera salida).
Sintaxis.

LINK A,B,C
Operandos.

Operando
A
B
C

Descripcin
Nmero de la cadena de usuario. Es la entidad cadena la cual recibe la transaccin entrante. Es un operando
requerido, y debe ser un nombre, nmero entero positivo, expresin, o SNA.
Orden de la cadena. Es la poltica para agregar transacciones a la cadena. Este operando es requerido y
debe ser LIFO (ltima entrada, primera salida), FIFO (Primera entrada, primera salida).
Localizacin del prximo bloque. Es la instruccin bloque destino para que las transacciones que sean
encontradas con el indicador Link de la cadena dentro del estado apagado (reset). Este operando es
opcional, y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin LOGIC. Actualiza el estado de una entidad tipo Logicswitch.


Sintaxis.

LOGIC O A
Operandos.

Operando
O
A

Descripcin
Operador lgico. Es un operador requerido, y debe ser S (Set), R (Reset), o I (Inverted).
Entidad logicswitch. Es un operando requerido que debe ser nombre, nmero entero positivo, expresin, o
SNA.

167

Instruccin LOOP. Modifica un parmetro y controla el destino de una transaccin activa, basado en el resultado.
Sintaxis.

LOOP A,B
Operandos.

Operando
A
B

Descripcin
Prametro que contiene el contador. Es un operando requerido, y debe ser nombre, nmero entero
positivo, expresin o SNA.
Etiqueta del bloque a transferir la transaccin. Decrementa en 1 al contador, si es diferente de cero ir al
bloque especificado en este operando; de lo contrario procede la transaccin al siguiente bloque. Este
operando es opcional, y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin MATCH. Simula la espera de una transaccin la llegada de otra transaccin. Un par de bloques MATCH provoca que las
transacciones del mismo conjunto de ensamble se esperen una a la otra.
Sintaxis.

MATCH A,B,C,D
Operandos.

Operando
A

Descripcin
Etiqueta de bloque a transferir la transaccin. Conjuga comparando con el conjunto de ensamble. Es un
operando requerido y debe ser nombre, nmero entero positive, expresin o SNA.

Instruccin MSAVEVALUE. Actualiza un elemento de una matriz.


Sintaxis.

MSAVEVALUE A,B,C,D
Operandos.

Operando
A
B
C
D

Descripcin
Nombre de la matriz seguido opcionalmente por un + (Incrementa), o (decrementa). Es un operando
rquerido que debe ser nombre, nmero entero positivo, expresin o SNA.
Nmero de rengln de la matriz. Es un operando requerido que debe ser nombre, nmero entero positivo,
expresin o SNA.
Nmero de columna de la matriz. Es un operando requerido que debe ser nombre, nmero entero positivo,
expresin o SNA.
Valor a actualizar. Es un operando requerido que debe ser nombre, nmero entero positivo, expresin o
SNA.

168

Instruccin PREEMPT. Desplaza una transaccin a diferentes servidores.


Sintaxis.

PREEMPT A,B,C,D,E
Operandos.

Operando
A
B
C
D

Descripcin
Nombre o nmero del servidor. Es un operando requerido que debe ser nombre, nmero entero positive,
expresin o SNA.
Modo de prioridad. Es un operando opcional. PR es utilizado para la modalidad de prioridad. Si no se
declara funciona com el modo de interrupcin.
Nombre o nmero de bloque. Es el nuevo destino de la transaccin que actualmente es duea del servidor.
Es un operando opcional, y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.
Nmero de parmetro. Es el parmetro de la transaccin removida para recibir el tiempo residual si la
transaccin es removida de FEC. Es un operando opcional, y debe ser nulo, nombre, nmero entero
positivo, expresin o SNA.
Modo de remover. Remueve la transaccin del contenedor del servidor. Es un operand opcional, y debe ser
RE o nulo. Si se especifica RE se debe especificar el destino en el operando C.

Instruccin PRIORITY. Asigna una prioridad a la transaccin activa.


Sintaxis.

PRIORITY A,B
Operandos.

Operando
A
B

Descripcin
Valor de la prioridad. Es un operando requerido, y debe ser nombre, entero, string, expresin o SNA.
Opcin de buffer. Es un operando opcional. Este operando debe ser BU.

Instruccin QUEUE. Simula la entrada de un almacn. Para cada bloque QUEUE, se requiere un bloque DEPART (simula la salida
del almacn). Este bloque se utiliza para obtener estadsticas en el reporte de resultados que permiten ilustrar el tiempo de espera
que realizan las transacciones para capturar la atencin de un servidor. Este bloque QUEUE se debe complementar con el bloque
DEPART. Se puede visualizar al bloque QUEUE como el punto de inicio de la lnea de espera (Cola) para la toma de datos
estadsticos.
Sintaxis.

QUEUE A,B
Operandos.

Operando
A
B

Descripcin
Nombre o nmero de la cola (almacn). Es un operando requerido, que debe ser nombre, nmero entero
positivo, expresin o SNA.
Nmero de unidades que entran a la cola (almacn). El valor predeterminado es 1. Es un operand opcional
que debe ser nulo, nombre, nmero entero positive, expresin, o SNA.

169

Instruccin RELEASE. Libera un facilitador (servidor unitario). Permite simular la liberacin del servidor, proceso o instalacin que
haba sido capturado anteriormente con el bloque SEIZE.
Sintaxis.

RELEASE A
Operandos.

Operando
A

Descripcin
Nombre o nmero del facilitador (Servidor unitario). Es un operando requerido. Este operando debe ser
nombre, nmero entero positivo, expresin o SNA.

Instruccin RETURN. Libera el facilitador que es propiedad de una transaccin.


Sintaxis.

RETURN A
Operandos.

Operando
A

Descripcin
Nombre o nmero del facilitador (Servidor unitario). Es un operando requerido. Este operando debe ser
nombre, nmero entero positivo, expresin o SNA.

Instruccin SAVEVALUE. Actualiza el valor de la entidad Savevalue.


Sintaxis.

SAVEVALUE A,B
Operandos.

Operando
A
B

Descripcin
Nombre del Savevalue opcionalmente Seguido de + (incrementar) o (decrementar). Es un operando
requerido, y debe ser nombre, nmero entero positivo, expresin o SNA.
Es el valor a almacenar, incrementar o decrementar. Es un operando requerido, y debe ser nombre,
nmero, string, expression o SNA.

Instruccin SEIZE. Captura un facilitador (servidor unitario). Simula la captura de un servidor, proceso o instalacin. Internamente
funciona con una variable interna lgica que determina si est ocupado o desocupado. Si una transaccin llega a este bloque y el
facilitador est desocupado, lo pone en estado ocupado, y hasta que la transaccin pase por el bloque RELEASE, pondr de nuevo
al facilitador como desocupado. El bloque SEIZE trabaja en conjunto con el bloque RELEASE.
Sintaxis.

SEIZE A
Operandos.

Operando
A

Descripcin
Nombre o nmero de la facilidad (servidor unitario). Es un operando requerido, que debe ser nombre,
nmero entero positivo, expresin o SNA.

170

Instruccin SELECT. Selecciona una alternativa (entidad) que satisface una condicin determinada, colocando esta alternativa
como parmetro de la transaccin activa.
Sintaxis.

SELECT O A,B,C,D,E,F
Operandos.

Operando
O
A
B
C
D
E

Descripcin
Operador condicional o lgico. Es un operador requerido, siendo permitidos los siguientes: FNV, FV, I, LS, LR,
NI, NU, SE, SF, SNE, SNF, SNV, SV, U, E, G, GE, L, LE, MIN, MAX, or NE.
Nombre o nmero de parmetro. Que recibe el nmero de la entidad seleccionada. Es un operando
requerido y debe ser nombre, nmero entero positive, expresin o SNA.
El lmite inferior de la alternativa (entidad). Es un operando requerido, y debe ser nombre, nmero entero
positivo, o SNA.
El lmite superior de la alternativa (entidad). Es un operando requerido y debe ser nombre, nmero entero
positivo, o SNA.
El valor de referencia para el operando E cuando se encuentra en modo condicional. Es un operand opcional
que debe ser nmero, entero positive o SNA. No debe ser utilizado con MAX o MIN.
Nombre de SNA por investigar. Especifica el atributo de la entidad en el modo condicional. El tipo de SNA
implica el tipo e entidad. No se debe especificar el operando E, ya que se realiza automticamente la
bsqueda en el rango . Es un operando opcional que debe ser nulo o SNA.
Ubicacin a la cual entrar la transaccin si se cumple la condicin. Es un operando opcional que debe ser
nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin SPLIT. Reproduce transacciones, con las mismas caractersticas de la transaccin padre.
Sintaxis.

SPLIT A,B,C
Operandos.

Operando
A
B
C

Descripcin
Nmero de transacciones adicionales a crear. Nmero de transacciones relacionadas a ser creadas. Es un
operando requerido y debe ser nombre, nmero entero positivo, expresin o SNA.
Bloque destino. Es el bloque destino de las transacciones a crear. Este operando es opcional y debe ser nulo,
nombre, nmero entero positivo, expresin o SNA.
Parmetro que recibe el nmero de serie. Es un parmetro que recibir el nmero de serie. Es un operando
opcional que debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin TABULATE. Tabula datos en un histograma . Este bloque se coloca para obtener una distribucin de frecuencia de los
datos interesados. Este bloque hace referencia a una tabla que est definida con la instruccin TABLE la cual contiene los datos,
rangos y la amplitud de la distribucin a generar. Todas las transacciones que pasan por este bloque son utilizadas para crear el
histograma cuyos datos estn definidos con una tabla.
Sintaxis.

TABULATE A,B
Operandos.

Operando
A
B

Descripcin
Nombe o nmero de una tabla. Es un operando requerido, y debe ser nombre, nmero entero positivo,
expresin o SNA.
Factor de peso. Es un operando opcional, y debe ser nulo, nombre, nmero, expresin o SNA.

171

Instruccin para el bloque TERMINATE. Se utiliza para remover las transacciones activas del proceso de simulacin. Se puede
considerar a este bloque como una puerta a travs de la cual salen las transacciones del sistema. Esta instruccin hace lo
contrario al bloque GENERATE. Opcionalmente tambin puede reducir el contador de finalizacin de la simulacin. No existe
restriccin de la cantidad de bloques TERMINATE que pueda contener un modelo de simulacin (El sistema puede tener varias
puertas de salida).
Sintaxis.

TERMINATE A
Operandos.

Operando
A

Descripcin
Cantidad decremental del contador de finalizacin. Es un operando opcional. Este operando debe ser un
nombre, expresin, nmero entero positivo, SNA o nulo. El valor predeterminado es igual a 0.

Instruccin TEST. Compara valores y controla el destino de la transaccin activa. El bloque TEST es utilizado para realizar
comparaciones con valores SNA, y controlar el destino de la transaccin basado en el resultado de la comparacin realizada. El
bloque TEST proporciona dos modos de operacin (condicional e incondicional). En el condicional la transaccin realiza una espera
hasta que una condicin se cumpla. Cumpliendo esta condicin la transaccin fluye al siguiente bloque. En el modo incondicional
enva la transaccin al bloque nombrado en el operando C si la condicin no se cumple, o de lo contrario enva la transaccin al
siguiente bloque.
Sintaxis.

TEST O A,B,C
Operandos.

Operando
O
A
B
C

Descripcin
Operador relacional. Es un operador requerido, siendo uno de la siguiente lista: E (igual), G (mayor), GE
(mayor o igual), L (menor), LE (menor o igual) , o NE (diferente).
Valor de prueba. Es un operando requerido, y debe ser un nombre, nmero, string, expresin o SNA.
Valor de referencia. Es un operando requerido, y debe ser nombre, nmero, string, expresin o SNA.
Bloque destino. Es operando opcional y debe ser nulo, nombre, nmero entero positivo, expresin o SNA.

Instruccin TRANSFER. Transfiere la transaccin activa a otra parte del programa. La instruccin TRANSFER cambia el flujo de la
transaccin activa a una ubicacin determinada dentro de la lgica del programa.
Sintaxis.

TRANSFER A,B,C,D
Operandos.

Operando
A
B
C
D

Descripcin
Modo de transferencia. Es un operand opcional y debe ser uno de la siguiente lista: BOTH, ALL, PICK, FN, P,
SBR, SIM, fraccin, nombre, nulo o SNA.
Nmero o ubicacin del bloque. Es un operando opcional, que cuando el modo es P debe ser nombre o
nmero. Este operando en los dems casos debe ser nombre, nulo o SNA.
Nmero o ubicacin del bloque. Debe ser el valor de increment cuando est en modo P o FN. Este operando
debe ser nulo, nombre o SNA.
Nmero del incremento del bloque cuando el modo es ALL. El valor predeterminado es 1. Este operando
debe ser nulo, nombre o nmero entero positivo, expresin, o SNA.

172

Instruccin UNLINK. Retira las transacciones de una cadena del usuario. Este bloque es utilizado en combinacin con bloque LINK.
Sintaxis.

UNLINK O A,B,C,D,E,F
Operandos.

Operando
O

A
B
C
D

E
F

Descripcin
Operador relacional. Es un operador opcional que relaciona al operando D y E para que ocurra el retiro. Este
operando debe ser nulo, E (igual), G (mayor), GE (mayor o igual), L (menor), LE (menor o igual) or NE
(diferente).
Nombre de la cadena de usuario de donde se retirarn las transacciones. Es un operando requerido y debe
ser un nombre, nmero entero positivo, expresin o SNA.
Bloque destino. Es un operando requerido en el cual se declara el bloque destino hacia donde se dirigirn
las transacciones retiradas. Este operando debe ser nombre, nmero entero positivo, expresin, o SNA.
Nmero mximo de transacciones a retirar. Es un operando opcional, que tiene como valor predeterminado
ALL (todas). Este operando debe ser ALL, nulo, nombre, nmero entero positivo, o SNA.
Valor de prueba. Este valor es un operando opcional utilizado para llevar a cabo la prueba, o si se utiliza
BACK retira iniciando desde el final de la cadena. Este operando debe ser nulo, nombre, nmero entero
positivo, expresin o SNA.
Valor de referencia. Es un valor que utiliza el operando D para la comparacin. Este operando es opcional y
debe ser nulo, nombre, nmero, string, expresin o SNA.
Bloque destino. Es el destino para la transaccin entrante si no existe ninguna transaccin que retirar de la
cadena de usuario. Este operando es opcional y debe ser nulo, nombre, nmero entero positivo, expresin
o SNA.

173

Referencias bibliogrficas
Azarang Mohamad A,Garca Dunna Eduardo, Simulacin y anlisis de modelos estocsticos, 1 Edicin, McGraw-Hill, Inc.,
Mxico, 1996.
Badri Masood A., A simulation model for multi-product inventory control management, SAGE Publications, 1999.
Banks, J. & Carson, J.S., Discrete event system simulation, Prentice-Hall, Englewood Cliffs, N.J., 1984.
Box George E., Hunter J. Stuart, Hunter William G., Estadstica para investigadores: diseo, innovacin y descubrimiento, 2
Edicin, Revert, Barcelona,2008.
Chitale R. H., Random process, 1 Edition, Technical Publications Pune, India ,2008.
Corder Gregory W., Foreman Dale I., Nonparametric statistics for Non-statisticians,Wiley & Sons,USA, 2009.
Corte Gonzlez A., Inferencia estadstica bayesiana,tesis de grado en matemticas, Espaa,2013.
Coss Bu,Ral, Simulacin un enfoque prctico,Limusa,Mxico,2003.
Miller Irwin, Freund John E., Probabilidad y estadstica para ingenieros, 1 Edicin, Revert, Mxico, 2004.
Hermann Charles F., Validation problems in games and simulations with special reference to models of international
politics,Behavioral Science volume 12,1967
Hillier F., Lieberman G., Introduccin a la investigacin de operaciones, 5 Edicin, McGraw-Hill, Inc.,Mxico, 1991.
Hillier F., Lieberman G., Introduccin a la investigacin de operaciones, 9 Edicin, McGraw-Hill Inc., Mxico, 2010.
Johnson L., Montgomery D., Operations research in production planning, scheduling and inventory control, Wiley, New
York,1974.
Kleijnen Jack P.C., Verification and validation of simulation models, European Journal of Operational Research, 1995.
Knuth Donald E., The art of computer programming Vol II, 2a Edition,Addison-Wesley, USA,1981.
Lujan Villarreal Gonzalo, Un entorno de aprendizaje y una propuesta de enseanza de simulacin de eventos discretos con
gpss, tesis de grado, Universidad Nacional de la Plata, Argentina,2013.
Mesa Pez L. F.,Rivera Lozano, Romero Dvila, Descripcin general de la inferencia bayesiana y sus aplicaciones en los
procesos de gestin,2 Edicin, Universidad del Rosario,Colombia,2011.
Minuteman Software, GPSS Reference Manual, Minuteman Software, 2010.
Minuteman Software, GPSS Tutorial Manual, Minuteman Software, 2010.
Montgomery Douglas C., Runger George C., Applied statistics and probability for engineers, 5 Edition, Wiley, USA, 2011.
Montgomery Douglas C., Kowalsky Scott M., Design and Analysis of experiments, 7 Edition, Wiley, USA, 2011.
Montgomery Douglas C., Statistical quality control, 7 Edition, Wiley, USA, 2012.
Naylor,Balintfy,Burdick y Kong Shu, Tcnicas de simulacin en computadoras, Limusa, Mxico, 1971.
Nolberto Sifuentes V. A., Ponce Aruneri M. E.,Estadstica inferencial aplicada, 1 Edicin, Universidad Nacional Mayor de
San Marcos, Per,2008.
Oberkampf William L., Verification and validation in computational simulation, 2004 Transport task force Meeting,Utah,
2004.
Posada Hernndez G. J., Buitrago Cardona M. V., Estadstica,1 Edicin, Fundacin Universitaria Luis Amig, Colombia,2008.
Raczynski,Stanislaw., Simulacin por computadora, 1 Edicin, Megabyte, Mxico, 1993.
Rice Stephen V,Markowitz,Marjanski,Bayley., The Simscript III programming languages for modular objected-orient
simulation, Proceedings of the 2005 winter simulation conference,2005.
Robinson Stewart, Simulation: The practice of model development and use,1 Edition, Willey, USA, 2004.
Ross, Sheldon M., Simulacin, 2 Edicin, Prentice Hall, Mxico, 1997.
Ross, Sheldon M., Simulation, 5 Edition, Academic-Press,USA, 2013.
Schriber Thomas G., Simulation using GPSS, Wiley,USA,1974.
Shannon,Robert, E., Simulacin de sistemas. Diseo, desarrollo e implantacin, Trillas,Mxico, 1988.
Shannon,Robert, E., Simulacin de sistemas, Diseo, desarrollo e implantacin, Trillas, Mxico, 1992.
Singh V.P.,System modeling and simulation, 1 edition, New-Age Intl,New Delhi, 2009.
Starr M., Miller D., Inventory control: theory and practice,Prentice-Hall,New Jersey,1962.
Taha Hamdy, A., Investigacin de operaciones, 2 Edicin, Alfaomega, Mxico,1991.
Walpole Ronald E., Myers, Myers, Probabilidad y estadstica para ingenieros, 6 Edicin, Prentice-Hall,1999.

174

También podría gustarte