Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Libro de siMuLaciOn
Libro de siMuLaciOn
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
13
16
17
22
25
31
32
33
33
37
37
45
51
51
52
52
54
54
55
58
67
67
84
102
108
116
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
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.
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
Definir el sistema
Formular el modelo
D
o
c
u
m
e
n
t
a
r
Recopilar datos
Validar el modelo
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.
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
Provisin externa
12
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:
= +
13
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
14
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
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
Donde:
PRUEBAS DE ALEATORIEDAD
De uniformidad
De aleatoriedad
De independencia
Chi-Cuadrada.
Autocorrelacin
Prueba de huecos
Kolmogorov-Smirnov.
Longitud de corridas.
Prueba de pquer
Prueba de Yule
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
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
=
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
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
=
=
FEi
20
20
20
20
20
20 20
+ 18 20
+ 21 20
+ 20 20
+ 21 20
6
=
= 0.3
20
20
19
20
Ejemplo:
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
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
0.06667
0.40000
0.73333
0.10000
0.43333
0.76667
0.13333
0.46667
0.80000
0.16667
0.50000
0.83333
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
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
L + FG
G
22
2, ,
+ 1
, + ,
2, ,
+ 1
, + ,
Ejemplo:
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
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
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
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
K =
K =
L + FG
G
24
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
L + FG
G
2, ,
+ 1
, + ,
2, ,
+ 1
, + ,
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
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
1
1
0
1
1
1
0
1
0
1
0
0
0
0
0
0
0
1
1
1
1
1
0
1
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
28
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
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.
=
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.
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 asociacin debe ser aplicado a una tabla de 2x2 usando la expresin:
g =
?
+ ?
A
a
c
b
d
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:
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
33
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
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
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
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
i
= )1 )
= =
Y varianza igual a:
m = n =
1 )
1 )
=
)
)
% = 1 )
k
i =
o,%
o,1 )
o,%
o,R
38
s+i1 u
.i
= r
t ) 1 )
k
i
s1 )
s1 )
=
)
)
39
)=
m
)
s=
= m
=
1 )
1
m
m
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.
Y varianza igual a:
,
. i
= y z ) k 1 )
k
i
= = ,)
40
m = n = ,)1 )
m
)=
m
i = 1 # % )E E
O% ?($ ($+
% ? ,
( i = i { B
i = 0 # % > )
41
|}~
|}~
k
k
|}
0 i ")
0 , i "1 )
Y la varianza igual a:
= = ,)
",
m = n = ,)1 )
r
t
"1
" )
" 1
42
. i
= $
k
i!
i
= $
Donde x 0
Una media igual a:
43
!
= =
Y la varianza igual a:
m = n =
Y el valor + = o,%
}
Tabla 3.5.- Pseudocdigo para variable aleatoria Poisson.
44
k
> %
1
. i
= T ? # i ? E
0 # > i > ?
1
i
+ =
# i ?
?
?
+?
2
?
12
i
=%
?
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.
. i
= $ k
i
= $ k + = 1 $ k
Con media igual a:
= = i$ k i =
Y varianza igual a:
46
1
1
m = n = i
$ k i = =
1
Igualando a r se obtiene:
$,+
, $# 1 i
= $ k
% = $ k
1
O% ?($ ($+
% $i)
,$, ( i = r t o, %
= o, %
47
u i u
$ k
s 1
!
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
=
}
n = n
Q $
nk 2
49
y
k
z
Donde: -<z<
$
Para convertir una distribucin normal a una estandarizada se utiliza el valor de z que
es igual a:
' =
i k
nk
Y varianza igual a:
= = k
m = n = nk
i = + n % 6
50
i = L
51
Donde i $# -, O% ?($ ($+ % R-$ #$ + $,$ $. , )%$O $,+$.
.i
= ) . i
,$ ) 0 9 ) = 1
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
% = i
=
Despejando x se obtiene que:
1 + i
2
i = 2% 1
0 % 12
1 i 0
% = i
= 1
Despejando x se obtiene que:
1 i
2
i = 1 21 %
53
1 i
2
1 % 1
2
0i1
2% 1,
1 21 %
,
0 % 12
E
1 % 1
2
~
. 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
55
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.
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
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:
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.
59
Descripcin
Simulacin de inicio de proceso y captura del servidor.
Descripcin
Control de la simulacin
60
Proceso 1
Tiempo de
servicio TS2
Proceso 2
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
GENERATE 15,5
ADVANCE 5,2
ADVANCE 6,3
TERMINATE 1
62
ADVANCE 5,2
ADVANCE 6,3
TERMINATE 1
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.
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
SECA STORAGE 6
GENERATE 15,5
ENTER LAVA,1
ADVANCE 5,2
ENTER SECA,1
LEAVE LAVA,1
ADVANCE 6,3
LEAVE SECA,1
TERMINATE 1
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
65
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
66
Cdigo GPSS.
LAVA STORAGE 2
SECA STORAGE 6
GENERATE 15,5
ENTER LAVA,1
ADVANCE 5,2
ENTER SECA,1
LEAVE LAVA,1
ADVANCE 6,3
LEAVE SECA,1
TERMINATE
GENERATE 480
TERMINATE 1
START 1
Una vez realizada la simulacin, arroja un reporte de resultados con estadsticas para
conocer el comportamiento del modelo.
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.
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
70
GENERATE 15,5
QUEUE ESTANCIA,1
QUEUE ELAVAR,1
Incluye
colas:
ESTANCIA y
ELAVAR
ENTER LAVA,1
DEPART ELAVAR,1
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
SECA STORAGE ,6
GENERATE 15,5
ENTER LAVA,1
DEPART ELAVAR,1
ADVANCE 5,2
ENTER SECA,1
71
LEAVE LAVA,1
ADVANCE 6,3
LEAVE SECA,1
DEPART ESTANCIA,1 ;Sale de la espera de lavado y secado (finaliza los dos procesos)
TERMINATE
GENERATE 480
TERMINATE 1
START 1
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
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.
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
74
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).
75
0.05
10
0.13
14
0.16
21
0.22
32
0.29
38
0.15
45
0.05
0.18
0.34
0.56
0.85
1.0
10
14
21
32
38
45
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
TRANSFER,SALIR
SALIR TERMINATE
77
TRANSFER 0.10,SALIR,REGRESAR
SALIR TERMINATE
78
OPCION2 ENTER LIMPIAM,2
SALIR TERMINATE
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.
.
FIN TERMINATE
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.
.
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
80
ASSIGN PAR1,43
TRANSFER P,PAR1,2 ;TRANSFIERE LA TRANSACCION HACIA EL NO. DE BLOQUE DADO POR : PAR1 +2
TRANSFER SBR,SUBR1,PARAM ; Transfiere las transacciones a la subrutina sbr1 y guarda este bloque en PARAM
81
TRANSFER SIM,NORET,RET
NORET ENTER SERV1,1
.
RET ENTER SERV2,1 ; I
;Captura al servidor 2
U (ocupada),
NU (desocupada).
82
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
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.
+
2
<
<
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
<
1
8) r t + r t 8 = 0
2
= I
2 < 8)
8
+ k
+
t + 8. r t
2
2
<
+ =
86
<
Q + 8. P Q
2<
2<
<
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.
Donde:
+ $)
$)
+
+( $( )$%
+ = + + +
+ = + $)
$ )%
-
)%
- ,, #+ (($p% ( k
+ + +
k
8
= 8- + 8
+ 8 r
t
2
+ + + = r t
<
88
<
y< z P y1 L zQ
8
= 8- + 8
+ 8
<
8
#+
+
+( )
% -, $ + $)
8
= r t 8
<
8
= 8- < + 8
r t + 8
<
P y1 L zQ
2
=0
8
<
8
<
+ r t r1 t = 0
2
L
= I
2 < 8
<
8 1 L
89
Donde:
+@ + +7
+ + +
k
t + 8. P
Q
8 ,
= 8- + 8
+ 8 r
2
2
+ = 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 <
+ + +
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 <
1
1
r +
+@ + +7
< L <
t
Q = 8.
8. P
2
2
8.
1
1
= P
Qr +
t
2
< L <
8
<
1
1
t r r1 t t r +
t +
2
L
< L <
8.
1
1
Qr +
t
2
< L <
<
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
=0
91
8
<
8
<
8
1
8.
1
+
r
t
r1
P
Q
P
Q
=0
<
<
2
L
2
2
1L
1L
2 8
<
8 + 8.
I
<
8.
8 1 L
8 +
8,
=0
8
8.
+
=0
<
<
1 L
1 L
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
92
2 8)
8
1
<
y z
93
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.
94
Demanda = DUNIFORME(1,40,63)
Tabla 4.25.-Cdigo GPSS que muestra la instruccin SAVEVALUE para el clculo de la demanda .
Tabla 4.26.-Cdigo GPSS que muestra la instruccin SAVEVALUE para disminuir el stock .
Tabla 4.27.-Cdigo GPSS que muestra la instruccin SAVEVALUE para incrementar el stock .
95
Tabla 4.28.-Cdigo GPSS que muestra la instruccin TEST para comparar el stock vs demanda.
96
GENERATE 1
GENERATE ,,,1
DEMANDA = DUNIFORM(1,40,63)
F
STOCK >=
DEMANDA
ADVANCE 5
v
STOCK = STOCK - DEMANDA
STOCK =
STOCK + EOQ
TERMINATE 1
TERMINATE
Simula pedidos
Cdigo GPSS.
INITIAL X$STOCK,700
INITIAL X$POINT,600
INITIAL X$EOQ,500
INITIAL X$DEMANDA,0
GENERATE ,,,1
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
97
TRANSFER ,OTRA
TERMINATE
GENERATE 1
;Inicia el da
;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
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
99
INITIAL X$POINT,600
INITIAL X$EOQ,500
INITIAL X$DEMANDA,0
GENERATE ,,,1
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
TRANSFER ,OTRA
TERMINATE
GENERATE 1
;Inicia el da
TEST GE X$STOCK,X$DEMANDA
;Si el STOCK > DEMANDA Entonces avanza, de lo contrario espera a que se cumpla
SAVEVALUE STOCK-,X$DEMANDA
TABULATE VENTAS
TERMINATE 1
;Finaliza el da
START 100
100
En el reporte de resultados aparece una seccin en la cual presenta las dos tablas
definidas: INVENTARIO y VENTAS con su datos respectivos.
101
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
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.
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 .
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
106
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
Dominio de validacin
Sistema
C
o
m
p
l
e
j
i
d
a
d
Dominio de aplicacin
Dominio de validacin
Sistema
107
C
o
m
p
l
e
j
i
d
a
d
Dominio de
aplicacin
Extrapolacin
Dominio de validacin
Sistema
109
Poblacin
Muestreo
Muestra aleatoria
Hiptesis: Supuesto para el
parmetro
(validar)
Inferencia estadstica
110
Estado real
H0 es verdadera
Error de tipo I
OK
Rechazar Ho
No rechazar H0
H0 es falsa
OK
Error de tipo II
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-)
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.
112
Estadstico utilizado
i
K= n
,
Rechazar Ho si
Z > Z
Z > -Z
Z < -Z/2 Z > Z/2
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
Rechazar Ho si
> ,
Estadstico utilizado
=
, 1
#
< ,
< ,
> ,
Rechazar Ho si
K > K
Estadstico utilizado
K=
)
1
K < -K
Estadstico utilizado
K=
i i
I
n n
, + ,
Rechazar Ho si
K > K
K < -K
Estadstico utilizado
=
Donde:
~ =
i i
1
1
~ , + ,
, = , + , 2
114
Rechazar Ho si
> ,
< -,
Estadstico utilizado
=
# #
+
, ,
# #
, + ,
Donde:
,=
i i
< -,
#
#
r t
r t
,
,
+
, 1 , 1
Donde:
,
1
=
i 9
,
= I
< -,
i 9
,1
Estadstico utilizado
Donde:
Rechazar Ho si
> ,
Rechazar Ho si
> ,
=
#
#
= , 1
? = , 1
115
Rechazar Ho si
> ,,
<
,,
< ,,
> yz,,
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
116
5
Proyecto integrador
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.
117
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.
Gerente
Mantenimiento
Produccin
Administracin
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
119
almacn
Recibe
orden
Manufactura
Empaque
Entrega
orden
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
120
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
121
122
Modelo.
GENERATE ,,,1,10
GENERATE 0.75,0.08334,1
ENTER ALMACEN,1000
ENTER ALMACEN,60
TERMINATE
TERMINATE
GENERATE 8
TERMINATE 1
Simula das
transcurridos
Cdigo GPSS.
ALMACEN STORAGE 4000
GENERATE 0.75,0.08334,1
ENTER ALMACEN,60
TERMINATE
;-------------------------------------------------------------------------------------------------------------------------------------------GENERATE ,,,1,10
ENTER ALMACEN,1000
TERMINATE
;-------------------------------------------------------------------------------------------------------------------------------------------------GENERATE 8
TERMINATE 1
; Finaliza el da
START 5
Reporte de resultados.
123
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
TERMINATE
.10,6/.35,12/.65,18/.80,24/.92,30/.97,36/1.0,48
TIEMPO VARIABLE 0.0028#P1+0.0334
LEAVE ALMACEN,P1
QUEUE ESPERA
SEIZE EMPACADORA
DEPART ESPERA
ADVANCE V$TIEMPO
RELEASE EMPACADORA
TERMINATE
;Entrega la orden
126
NOHAY
TERMINATE
GENERATE 0.75,0.08334,1
ENTER ALMACEN,60
TERMINATE
GENERATE 8
TERMINATE 1
; Finaliza el da
GENERATE ,,,1,10
ENTER ALMACEN,1000
TERMINATE
START 5
Tabla 5.2.- Cdigo GPSS para el diagrama de bloques de la figura 5.5 y 5.7
Reporte de resultados.
127
128
2.
3.
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
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.
130
131
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
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
Maximizar la produccin.
Minimizar productos defectuosos.
Minimizar el desperdicio.
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
134
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
Componentes a retrabajar
20%
15%
5%
135
0.05
10
0.13
14
0.16
21
0.22
32
0.29
38
0.15
45
136
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
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
RELEASE PROCESO1
;LIBERA LA MAQUINA
ADVANCE 2
TRANSFER 0.20,ETAPA2,RETRB1
;CAPTURA LA MAQUINA
ADVANCE 15,6
RELEASE PROCESO2
;LIBERA LA MAQUINA
ADVANCE 2
TRANSFER 0.15,ETAPA3,RETRB2
;CAPTURA LA MAQUINA
ADVANCE (NORMAL(1,24,4))
RELEASE PROCESO3
;LIBERA LA MAQUINA
ADVANCE 2
TRANSFER 0.05,FINAL,RETRB3
FINAL
TERMINATE
TERMINATE 1
START 100
138
Reporte de resultados
139
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
Proceso 1
96.7%
30.904
149
Proceso 2
36.9%
14.423
122
Proceso 3
52.1%
24.349
102
2.
3.
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.
141
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
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
143
Llega cliente
No
Se retira el
cliente
Hay donde
estacionarse
Si
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
Deja carrito
Camina al auto
Se retira el
cliente
144
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
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)
146
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
147
ASSIGN ARTS,V$QTY
ASSIGN ARTS,V$QTY
ADVANCE V$TSELE
ADVANCE V$TSELE
QUEUE QRAPIDA
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
TERMINATE
148
Cdigo GPSS.
PARK
STORAGE 650
CESTA
STORAGE 70
;Capacidad de cestas=70
;Capacidad de carritos=650
QTY
VARIABLE (RN1@96+5)
TSELE
FORMA
TPAGO
VARIABLE (P$ARTS)#20+P$FPAGO
HCLTES
TABLE X$CLTES,100,50,12
;Histograma de clientes
HARTS
TABLE P$ARTS,10,10,10
HTIME
TABLE M1,10000,10000,7
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
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
;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
153
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
154
2.
3.
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.
156
A
Apndice
.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
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.
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.
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
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.
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.
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.
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.
ASSEMBLE A
Operandos.
Operando
A
Descripcin
Contador de transacciones. Es un operando requerido. Este operando debe ser un nombre, entero positivo,
expresin, o SNA.
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.
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.
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
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.
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
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.
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.
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
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.
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.
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.
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