Professional Documents
Culture Documents
Ingeniería en Sistemas
Computacionales
Apuntes de
Simulación
Catedrático
Ing. Vales Ortiz Gilberto
Alumno
Horario
1
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Índice
Unidad I. Introducción a la simulación
Introducción................................................................................................................... 4
Proceso de la simulación ............................................................................................... 5
Actividades de presimulación........................................................................................ 5
Actividades de desarrollo .............................................................................................. 7
Actividades de operación .............................................................................................. 8
Consideraciones relativas a la simulación..................................................................... 9
Variables exógenas...................................................................................................... 11
Variables de estado...................................................................................................... 12
Variables endógenas.................................................................................................... 12
Parámetros ................................................................................................................... 12
Características de operación ........................................................................................ 12
Identidades................................................................................................................... 12
Métodos analíticos, numéricos y de simulación.......................................................... 14
Simulación de un sistema de inventarios..................................................................... 17
Método de congruencias.............................................................................................. 25
Método multiplicativo ................................................................................................. 26
Computadoras binarias ................................................................................................ 27
Computadoras decimales............................................................................................. 28
Pruebas estadísticas ..................................................................................................... 29
Prueba de medias......................................................................................................... 31
Prueba de varianzas ..................................................................................................... 34
Prueba de poker ........................................................................................................... 35
Prueba de series ........................................................................................................... 37
Apéndice...................................................................................................................... 40
Definiciones................................................................................................................. 40
Teoremas ..................................................................................................................... 42
2
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Unidad V. Validación
3
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
UNIDAD I
Introducción A La Simulación
La simulación consiste básicamente en construir modelos informáticos que describen la
parte esencial del comportamiento de un sistema de interés, así como en diseñar y realizar
experimentos con el modelo y extraer conclusiones de sus resultados para apoyar la toma de
decisiones. Típicamente, se utiliza en el análisis de sistemas tan complejos que no es posible su
tratamiento analítico o mediante métodos de análisis numéricos. Sus orígenes están en los
trabajos de Student para aproximar la distribución que lleva su nombre, y los métodos que Von
Neumann y Ulam introdujeron para resolver ecuaciones integrales. Desde entonces, la
Simulación ha crecido como una metodología de experimentación fundamental en campos tan
diversos como la Economía, la estadística, la Informática o la Física, y con enormes aplicaciones
industriales y comerciales, como los simuladores de vuelo, los juegos de simulación, o la
predicción bursátil o meteorológica.
Existen diversas maneras para definir el término simulación. Sin embargo debido a que se
considera a la simulación como una extensión lógica y natural de los modelos analíticos y
matemáticos, inherentes a la Investigación de Operaciones, la siguiente definición es considerada
como una de las más completas.
Ventajas:
4
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
5. La simulación nos permite experimentar con situaciones nuevas, para los cuales no se
tiene o hay poca información.
Desventajas:
1. Los modelos de simulación para computadora son costosos y requiere tiempo para
desarrollarse y validarse.
2. Se requiere gran cantidad de corridas para encontrar “soluciones óptimas”.
3. Es difícil aceptar los modelos de simulación.
4. Los modelos de simulación no son de optimización directa (son modelos de análisis).
5. Se pueden tener restricciones o limitaciones en la disponibilidad del software requerido.
El Proceso De La Simulación.
Es apropiado examinar el proceso completo para el cuál el análisis de simulación es
planeado y ejecutado. El diseño del modelo de simulación es en sí mismo una parte crítica de
cualquier estudio.
1. Actividades de presimulación.
2. Actividades de desarrollo.
3. Actividades de operación.
Actividades De Presimulación
La primera actividad es el reconocimiento del problema, este nos lleva al estudio y
análisis del sistema y culmina en el establecimiento de un objetivo dirigido a la solución del
problema.
5
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
En esta etapa del proceso el usuario debe evaluar las diferentes herramientas disponibles
relacionadas con su objetivo.
ACTIVIDADES DE PRESIMULACIÓN
RECONOCIMIENTO
DEL PROBLEMA
ANÁLISIS DEL
SISTEMA
ESTABLECIMIENTO
DEL OBJETIVO
SELECCIÓN
APROXIMADA
Ejemplos:
6
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Actividades De Desarrollo
Las primeras actividades de desarrollo son el diseño y la implementación del modelo de
simulación. Después que estas tareas son completadas la siguiente actividad es la “verificación
del modelo”.
Un modelo validado, es aquel que ha probado ser una “abstracción” razonable del sistema
del mundo real que intenta representar.
La exploración del comportamiento del sistema intenta explicar la relación entre los
resultados de la Simulación y los parámetros controlables.
7
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
ACTIVIDADES DE DISEÑO
DISEÑO DEL
MODELO
VERIFICACIÓN DEL
MODELO
VALIDACIÓN DEL
MODELO
DISEÑO
ESTRATÉGICO DEL
EXPERIMENTAL
Actividades De Operación
En esta etapa el proceso de simulación, el modelo ha sido diseñado, implementado y ha
sido planeado.
Las actividades posteriores son las de llevar a cabo la experimentación. Esta debe iniciar
con el diseño táctico de los experimentos que van a ser ejecutados. Estas actividades son: la
determinación de número de corrida, y la cantidad de datos a utilizar en cada corrida.
Otras consideraciones son: el tamaño de la muestra requerido para los datos, las técnicas a
utilizar en la comparación del sistema alternativo, sí éste es el objeto de estudio.
8
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
ACTIVIDADES DE OPERACIÓN
DISEÑO TÁCTICO DE
EXPERIMENTACIÓN
¿EXPERIMENT NO
O COMPLETO?
SI
ANÁLISIS DE DATOS
SIMULADOS MODELO EXPERIMENTO
SE CUMPLEN NO
MODIFICAR
LOS OBJETIVOS?
SI ALTO
• Control de tiempo
• Generación de números aleatorios
• Generación de V.V.A.A.
• Técnicas de reducción de varianzas
• Lenguajes de simulación
9
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
totalidad del mismo. Un modelo útil debe necesariamente incorporar elementos de dos atributos
en discrepancia: realismo y simplicidad.
Por un lado el modelo ha de ser una aproximación razonable del sistema real y por tanto
incorporar la mayor parte de los aspectos importantes de este; por otro lado, no es conveniente
que un modelo resulte tan complejo que se vuelva imposible entenderlo.
Las variables se usan para relacionar un componente con otro y se clasifican en:
Las variables que aparecen en los modelos económicos se emplean para relacionar un
componente con otro y se clasifican, convenientemente, como variables exógenas, variables de
estado y variables endógenas.
Las variables exógenas son las independientes o de entrada del modelo y se supone que
han sido predeterminadas y proporcionadas independientemente del sistema que se modela.
Las variables endógenas son las dependientes o de salida del sistema y son generadas por
la interacción de las variables exógenas con las de estado, de acuerdo con las características de
operación del último.
El hecho que una variable en particular este clasificado como exógena, de estado o
endógena, depende del propósito de la investigación.
10
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Hay dos relaciones funcionales que describen la interacción de las variables y los
componentes de un modelo económico: las identidades y las características de operación.
El propósito del modelo es relacionar el tiempo total que requiere una orden para pasar a
través de n procesos, con la forma en que llegan las órdenes y el tiempo que consume cada uno
de tales procesos.
Variables Exógenas.
ATi = El intervalo de tiempo entre la llegada de la i-ésima orden y la (i-1)-ésima orden, en
donde i=1,2,...,m.
11
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Variables De Estado.
WTij = el tiempo que la i-ésima orden espera para entrar al j-ésimo proceso, en donde
i=1,...,m y j=1,...,n.
IDTij = el tiempo que el proceso j-ésimo permanece ocioso mientras que espera la llegada
de la i-ésima orden, en donde i=1,...,m y j=1,...n.
Tij = el tiempo total que la i-ésima orden esta en el j-ésimo proceso, donde i=1,...,m y
j=1,...,n.
Variables Endógenas.
Ti = el tiempo total que la i-ésima orden esta en el sistema, es decir, el tiempo requerido
para pasar a través de los n procesos.
Parámetros
E (AT) = El intervalo de tiempo esperado entre las órdenes.
Var (AT) = La varianza del intervalo del tiempo entre las órdenes.
E (STij) = El tiempo esperado para el j-ésimo proceso donde j=1,2,...n.
Var (STij) = La varianza del tiempo para el j-ésimo proceso donde j=1,2,...n.
Características De Operación
f (ATi) = La función de densidad de probabilidad para el intervalo de tiempo entre las
órdenes.
f (STij) = La función de densidad de probabilidad para el tiempo de procesamiento del
j-ésimo proceso donde j=1,...,n.
Identidades
Cuando la primera orden llega a la empresa, es decir, cuando i=1, se supone que las
siguientes ecuaciones describen el sistema de procesos múltiples:
AT1 = 0
WT11 = 0, WT12 = 0,..., WT1n = 0 n-1
IDT11 = 0, IDT12 = ST11,..., IDT1n = ∑ST1j
j=1
12
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Para órdenes subsiguientes, esto es, cuando i = 2,3,...,m, estas ecuaciones se modifican
adecuadamente; las ecuaciones de tiempo se convierten en:
Si DIFj es positiva para el j-ésimo proceso, entonces el tiempo de ocio será nulo y el
tiempo de espera puede calcularse con:
Si DIFj es negativo para un proceso en particular, entonces el tiempo de espera será nulo y
el tiempo de ocio será igual a:
Este modelo de una empresa con procesos múltiples, tiene varias aplicaciones posibles,
por ejemplo, supóngase que al comprar un equipo nuevo, la empresa reducirá, un 50% el tiempo
esperado de procesamiento, para un proceso en particular. El modelo servirá entonces para
estimar el aumento esperado en el número total de órdenes, que es posible procesar
completamente durante un período particular de planeación, para determinar sí la empresa esta
justificada en la compra del nuevo equipo.
13
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
∞ ∞
E (T ) = ∫ ∫ min( x 1 , x 2 ) µ 1 e − µ 1 x1 µ 2 e − µ 2 x 2 dx 1 dx 2
0 0
Aproximación Analítica
Observemos que para esta aproximación resulta esencial emplear hipótesis de independencia y
exponencialidad, de manera que el razonamiento empleado es poco robusto; si cambiamos alguna
de esas dos hipótesis, el cálculo exacto puede resultar mucho más complicado e, incluso,
imposible de obtener mediante un método analítico.
Aproximación Numérica.
ln (1 − u1 ) ln (1 − u 2 )
1 1
E (T ) = ∫ ∫ min − , du1 du 2
µ1 µ 2
0 0
14
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
y podemos aplicar, por ejemplo, la regla del trapecio. En nuestro caso, con 15 nodos y, como
antes, µ 1 = 1 , µ 2 = 2 , obtenemos el valor .317 como aproximación del tiempo esperado hasta el
fallo.
Obsérvese que la estrategia numérica adoptada es más robusta, en el sentido de que si sustituimos
alguna de las dos hipótesis, somos aún capaces de utilizarla. El inconveniente estará en que al
aumentar la dimensión de la región de integración, la aproximación resultará cada vez más
ineficaz.
tiempofallo=0
desde i=1 hasta n
desde j=1 hasta 2
generar Uj uniforme en (0,1)
hacer X j = − (ln(1 − u j )) µ j
tiempofallo=tiempofallo + min(X1, X2)
esp(tiempofallo)=tiempofallo/n
16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92
38 63 63 30 36 25 66 30 53 98 49 78 40 92 80 97 67 46 38 34
Para ello, asociamos al número correspondiente el cociente resultante son 16 y 38, con lo cual
U1=.16, U2=.38, X1=.17, X2=.24 y min(X1, X2)=.17. Repitiendo el proceso, resulta la estimación
.308.
16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92
99 77 85 43 72 34 52 99 30 86 81 40 18 61 20 16 92 39 34 44
01 48 69 32 37 05 99 27 23 55 88 47 38 48 53 79 41 08 73 95
08 34 04 83 42 92 64 49 51 23 44 62 75 43 09 22 55 51 38 18
09 22 76 47 23 99 48 66 26 73 95 53 37 47 00 43 66 80 44 18
64 18 83 13 90 95 64 21 97 09 86 59 99 70 20 73 35 11 81 57
15
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
77 67 94 40 00 12 26 45 77 54 21 51 91 91 28 74 47 00 53 95
73 01 20 47 86 40 71 03 13 36 98 50 48 45 30 23 40 85 76 63
72 67 37 77 52 79 93 67 57 78 77 07 58 19 48 32 72 94 66 11
58 96 79 92 08 88 46 62 58 96 75 18 57 89 21 17 26 92 26 63
41 69 24 18 81 29 14 06 67 15 23 70 27 89 40 77 31 98 71 15
16 45 84 78 49 17 84 92 51 12 08 78 30 35 63 84 34 68 97 10
92 09 48 47 40 81 30 44 03 98 19 38 33 07 00 55 70 65 24 19
26 92 58 75 64 61 49 58 68 45 09 32 76 03 29 08 73 11 33 79
17 33 86 83 91 26 51 12 57 73 21 12 09 58 24 64 91 53 24 92
91 41 97 06 57 45 39 16 64 92 66 18 78 71 55 99 29 18 02 56
52 00 40 81 14 06 94 03 71 39 09 33 74 08 42 15 85 08 35 30
10 07 82 40 99 00 91 31 44 73 51 42 08 28 31 35 20 07 85 96
70 70 14 24 43 71 60 86 17 85 61 05 65 10 68 73 03 31 45 23
96 50 32 72 89 62 28 76 60 00 52 94 67 16 32 08 88 27 01 94
20 89 41 95 46 28 45 92 21 97 51 15 02 82 11 95 65 27 50 08
30 99 84 95 47 72 38 22 55 44 50 61 71 58 86 49 25 60 69 17
94 53 29 42 38 74 90 06 18 71 99 27 84 88 03 43 07 53 96 02
50 61 25 57 55 50 92 14 39 77 29 17 73 75 83 38 40 02 06 47
38 63 63 30 36 25 66 30 53 98 49 78 40 92 80 97 67 46 38 34
Por supuesto, si escogemos otra muestra de la tabla, lo que correspondería a una nueva
replicación del experimento, obtendremos una estimación diferente.
16
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Una compañía vende un producto en particular. Desea saber cuantos de estos productos se
tendría en el inventario para cada uno de los próximos “n” meses.
Los tiempos entre las demandas son variables aleatorias IID, con una media de 0.1 mes.
Los tamaños de las demandas D, son variables aleatorias IID, con
1 w.p 1/6
D= 2 w.p 1/3 donde w.p. se lee ”con probabilidad”.
3 w.p 1/3
4 w.p 1/6
Al inicio de cada mes la compañía revisa el nivel del inventario y decide cuantos artículos
ordenar de su proveedor. Si la compañía ordena Z artículos, incurre en un costo de K+iZ, donde
K = $32 que es el costo de preparación e i = $3 que es el costo incremental por artículo ordenado.
(si Z = 0, este costo no ocurre). Cuando una orden es colocada, el tiempo requerido para que esta
llegue (llamado periodo de entrega o Leadtime) es una variable aleatoria que esta distribuida
uniformemente entre 0.5 y 1 mes.
La compañía usa una política (s,S) para decidir cuanto ordenar, i.e.
S–I si I < s
Z=
0 si I ≥ s
Cuando una demanda ocurre, esta es satisfecha inmediatamente si el nivel del inventario
es al menos tan grande como la demanda. Si la demanda excede el nivel del inventario, el exceso
sobre el suministro es acumulado y satisfecho por futuras entregas. (En este caso, el nuevo nivel
del inventario es igual al nivel del inventario anterior menos el tamaño de la demanda, resultando
en un nivel del inventario negativo). Cuando una orden llega, primero es usada para eliminar
cuando mucho tanto como sea posible las demandas pendientes; el resto de la orden es agregada
al inventario.
Hasta ahora, hemos discutido solamente un tipo de costo incurrido por el sistema de
inventario, el costo de ordenar. Sin embargo, en la mayoría de los sistemas reales también hay
dos tipos de costos adicionales, costo de mantenimiento y de escasez o déficit, los cuales
17
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
discutiremos después de introducir algunas anotaciones adicionales. Sea I(t) el nivel del
inventario en el tiempo t[ note que I(t) podría ser positivo, negativo o cero]; sea I+(t)= max
[I(t),0] el número de artículos físicamente disponibles en el inventario en el tiempo t[note que
I+(t)≥0]; y I-(t)= max [-I(t),0] los pendientes en el tiempo t[I-(t)≥0 también]. Una posible
realización de I(t), I+(t), I-(t) se muestra en la figura 1.41. Los puntos en el tiempo que I(t)
decrece son los únicos en los cuales la demanda ocurre.
I(t): Nivel del inventario en el tiempo t, siendo el valor de t positivo, negativo o cero.
El tiempo de los puntos al cual I(t) decrece son los únicos puntos donde ocurre la demanda.
18
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Similarmente, suponga que la compañía incurre un costo de déficit de ∏=$5 por artículo
por mes en déficit; esto cuenta para el registro de los costos extraguardado cuando existe un
déficit, también la perdida de buenos clientes. El número de promedio de veces de artículos en
déficit esta dado por es
s 20 20 20 20 40 40 40 60 60
S 40 60 80 100 60 80 100 80 100
No discutiremos aquí el resultado de cómo estas políticas particulares fueron elegidas para
su consideración, técnicas estadísticas para hacer tal consideración serán discutidas más adelante.
Note que las variables de estado para un modelo de simulación de este sistema de
inventario son el nivel de inventario I(t), la cantidad de una orden prominente de la compañía al
proveedor, y el tiempo del ultimo evento.[el cual es necesaria para calcular las áreas bajo las
funciones I+(t) e I-(t)]
19
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Hemos tenido que hacer el fin de la simulación, como un evento de tipo 3 en lugar del
tipo 4, ambos eventos “fin-simulación” y “evaluación-inventario” desde el tiempo 120 que serán
eventualmente programar y querer ejecutar el primer evento anterior en este tiempo. (Puesto que
la simulación se hace después del tiempo 120, no hay sentido en la evaluación del inventario y un
posible ordenamiento, incurriendo en un costo de ordenar por una orden que nunca llegará). La
ejecución del evento tipo 3 antes del evento tipo 4 es garantizado por que la rutina del tiempo da
preferencia al mas bajo evento numerado, si dos o mas eventos son programados para ocurrir al
mismo tiempo. En general un modelo de simulación sería designado a procesar eventos en un
orden apropiado cuando un ciclo de tiempo ocurra.
Orden de
Demanda Evaluación
llegada
Termino de
la simulación
Hay tres tipos de variables aleatorias que se necesitan para simular este sistema. Los
tiempos indeterminados son distribuidos exponencialmente, así que el mismo algoritmo (y
código) como se desarrollo en la sección 1.4 pueden ser usados aquí.
20
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Los subprogramas para generar los tamaños de demandas todos usan estos principios y
toman como entrada el interruptor de puntos definiendo los subintervalos de llegada anterior los
cuales son las probabilidades acumuladas de la distribución de D.
Los atrasos en las entregas son uniformemente distribuidos pero no sobre el intervalo
unitario [0,1]. En general podemos generar una variable aleatoria uniformemente distribuida
sobre cualquier intervalo [a,b] generando un numero aleatorio U(0,1) y después regresar a
a+U(b – a).
En el evento llegada – orden, se muestra en la figura 1.43 y debemos hacer los cambios
necesarios cuando una orden llegue del proveedor. El nivel del inventario es incrementado y
desde su consideración del evento llegada de una orden debe ser eliminada.
Evento de
orden de llegada
Regreso
21
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
El evento de la demanda está dado en la figura 1.44 y procesa los cambios necesarios para
representar un caso de demanda. Primero, el tamaño de la demanda es generada, y el inventario
es decrementado por esta cantidad. Finalmente el tiempo de la próxima demanda es programada
en la lista de eventos. Note que esto ocurre donde el nivel del inventario pueda ser negativo.
El evento evaluación del inventario tiene lugar en el comienzo de cada mes, su diagrama
de flujo es el siguiente. Fig. 1.45
Como en el modelo de colas de un solo servidor, es conveniente escribir una rutina para
actualizar los acumuladores de la estadística de tiempo continuo. Para este modelo, sin embargo,
haciendo esto ligeramente mas complicado, daremos al diagrama de flujo.
Evento evaluación
del inventario
Si
I(t)<s?
Determine la cuenta de
orden [S – I(t)]
Programar el próximo
evento evaluación del
inventario
Return
22
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
23
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
UNIDAD II
Generación De Números Pseudoaleatorios
En principio definiremos la función de distribución acumulada para la distribución
uniforme estandarizada como:
0 x<0
F(X) = x 0<x<1
1 x>1
En la práctica, se requieren sucesiones de números aleatorios para la generación de los
datos de entrada para el proceso de simulación.
En el caso de los métodos digitales hay 3 formas para proveerse de números aleatorios:
provisión externa, generación interna por medio de un proceso físico al azar, generación interna
por medio de una relación de recurrencia.
En el caso de provisión externa, lo que se hace es, grabar las tablas de números aleatorios
en una cinta del sistema de la computadora digital.
24
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Cualquiera que sea el método para generar números aleatorios debe satisfacer las
siguientes condiciones:
Deben ser:
1. Uniformemente distribuidos
2. Estadísticamente independientes
3. Reproducibles
4. Sin repetición dentro de una longitud determinada de la sucesión
5. Generación a grandes velocidades
6. Requerir el mínimo de capacidad de almacenamiento
Método De Congruencias:
Estos métodos se basan en una relación fundamental de congruencias que se expresa
como:
ni+1 ≡ a ni + c (mod m) → 1
donde:
ni, a, c y m : son enteros no negativos
para i= 0,1,2,... al desarrollar la ecuación
n1= a n0 + c (mod m)
n2= a n1 c= a(an0 + c) + c ≡ a2 n0 + (a +1)c (mod m)
n3= a3n0 (a2-a+1)c = a3n0 + c (a2-1) (mod m)
. (a-1)
.
.
ni= aino + c(ai-1) (mod m) → 2
(a-1)
n0 = constante inicial
c = constante aditiva
a = constante multiplicativa
25
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Los términos de la sucesión {ni} forman una sucesión de residuos modulo m, es decir, ni <
m ∀ ni; a partir de los números enteros de la sucesión {ni} se pueden obtener números racionales
en el intervalo (0,1) con solo formar la sucesión:
{ri} = {ni / m}
Respecto a la pregunta de que si existe un mínimo valor positivo para i, i=h tal que nh = n0
donde h es el período de la sucesión {ni}; si h existe, cabe preguntarse que condiciones se pueden
imponer sobre n0, a, c y m de manera que el periodo de {ni} sea lo más largo posible.
1. Método Aditivo
2. Método Multiplicativo
3. Método Mixto
Método Multiplicativo
El modulo que emplea este método es m = pe donde “p” representa el número de
guarismos del sistema numérico que usa la computadora y “e” denota el número de dígitos en
una palabra. En computadoras binarias p=2; en computadoras decimales p=10.
26
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Computadoras Binarias
m = 2b
b = número de bits de palabra b >2
h = 2b-2 máximo período que se puede obtener
El problema se reduce a encontrar multiplicadores que tengan orden h=2b-2; a tiene que
ser primo relativo de m=2b y por lo tanto tiene que ser impar.
a ≡ ± 3 (mod 8) ó a = 8t ± 3
Los valores de a próximos a 2b/2 minimizan la correlación en serie de primer orden. Con
respecto al valor inicial no, este debe ser primo relativo de m = 2b, entonces n0 puede ser
cualquier número entero impar.
Procedimiento:
Ejemplo:
Sea b = 4, m = 24 = 16 y h = 24-2 = 4
1.- n0 = 7 n0 = 0111
27
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
y así sucesivamente...
Computadoras Decimales
m = 10d = 2d 5d
d = número de dígitos decimales de la palabra. d>3
a = debe ser número primo relativo de 10d
a = ± (3, 11, 13, 19, 21, 27, 29, 37, 53, 59, 61, 67,69, 77, 83, 91) (mod 200)
a = 200t ± p t = 0, 1, 2, 3, ...
p = uno de los 32 números dados anteriormente.
De igual modo n0 debe ser primo relativo de m = 10d, lo cual implica que tiene que ser
impar, no divisible entre 5 para seleccionarse como valor inicial.
a ≈ 10d/2
28
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo:
1.- n0 = 5379
2.- a ≈ 102 = 100
a = 200(0)+91 ó a = 200(1)-91
a = 91 ó a =109
3.- an0 = (0091)(5379) =00489489
n1 = 9489 r1 = 9489 = 0.9484
10000
y así sucesivamente...
Pruebas Estadísticas
Las propiedades estadísticas que deben poseer los números pseudoaleatorios generados
por los métodos congruenciales tiene que ver con independencia y aleatoriedad estadísticas.
2
x x
N
χ1 2
=
N
∑
j =1
f j − x
29
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejercicio:
0 - 0.1 0.1 – 0.2 0.2 – 0.3 0.3 - 0.4 0.4 – 0.5 0.5 – 0.6 0.6 – 0.7 0.7 – 0.8 0.8 – 0.9 0.9 – 1.0
0.001213 0.108501 0.227241 0.352862 0.499629 0.557434 0.634536 0.762627 0.805480 0.941875
0.092645 0.199044 0.282693 0.339548 0.456790 0.585186 0.696237 0.751033 0.898980 0.936553
0.032722 0.155062 0.299315 0.386183 0.406443 0.589628 0.655595 0.721023 0.826543 0.986111
0.052303 0.199621 0.210002 0.332164 0.433081 0.574100 0.624006 0.789616 0.888098 0.915126
0.072814 0.191479 0.239493 0.308614 0.416789 0.543258 0.650020 0.760869 0.858532 0.908297
0.031858 0.120791 0.222878 0.344882 0.493837 0.582447 0.676216 0.799824 0.833586
0.054759 0.170288 0.265936 0.385079 0.442675 0.578800 0.683348 0.730594 0.859031
0.091330 0.106944 0.277380 0.333813 0.429894 0.535597 0.641837 0.779105 0.817720
0.081128 0.182840 0.294530 0.343580 0.558774 0.657266 0.701195 0.887525
0.050106 0.141519 0.216310 0.369820 0.551502 0.611683 0.745795 0.876167
0.115375 0.208524 0.337294 0.517813 0.791130
0.734352
0.792691
Fo 10 11 11 11 8 11 10 13 10 5
χ12 = ∑
(F .O − F .E )2
F .E
30
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Donde:
χ12 =
(10−10)2 + (11−10)2 + (11−10)2 + (11−10)2 + (8 −10)2 + (11−10)2 + (10−10)2 + (13−10)2 + (10−10)2 + (5 −10)2
10 10 10 10 10 10 10 10 10 10
χ = 4.2
1
2
Nosotros especificamos arbitrariamente un valor de α = 0.05 (esto significa un error del tipo
I del 5%) el valor obtenido de χ12 = 4.2 así pues podemos compararlo con el valor crítico de:
X20.05(9) = 16.919
Puesto que X20.05(9) = 16.919 > χ12 = 4.2, entonces podemos decir que la tabla de números
aleatorios se distribuye uniformemente.
Prueba De Medias
Consiste en verificar que los números generados tengan una media estadísticamente igual
a 1/2, de este modo la hipótesis planteada es:
1 + Zα / 2 1
ls x =
2 12 n
1 − Zα / 2 1
li x =
2 12 n
Paso 3 Si el valor X se encuentra entre li y ls, aceptamos que los números tienen una
media estadísticamente igual a ½ con un nivel de aceptación 1-α.
31
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo:
Σ = 15.22015
X = 15.22015/30 = 0.507338
X ≈ 0.5000
1
ls x = 0 . 5 + Z 0 .025
2 30
1
li x = 0 . 5 − Z 0 .025
12 30
Para buscar el valor de Z0.025 se resta 1 - 0.025 = 0.975 y se busca en la tabla
|Z0.025| = 1.96
lsx = 0.5298 lix ≤ X ≤ lsx
lix = 0.4701 ⇓
Ho se acepta
32
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
X n +1 = 3 X n (mod 100)
100 = 2 ⋅ 50 = 2 ⋅ 2 ⋅ 25 = 2 ⋅ 2 ⋅ 5 ⋅ 5 = 2 2 5 2
d =2
[( ) ( )
λ (m ) = m.c.m λ P1 e , λ P2 e , K , λ Ps e
1 2
( )]
s
n Xn rn
λ (100) = m.cm[λ (2 2 ), λ (5 2 )] n Xn rn 11 21 0.21
1 29 0.29
λ (4) = (2 − 1)2 2 −1 = 1 ⋅ 2 = 2
12 63 0.63
2 87 0.87 13 89 0.89
λ (25) = (5 − 1)5 2 −1 = 4 ⋅ 5 = 20
3 61 0.61 14 67 0.67
4 83 0.83
λ (100) = m.c.m[2,20]
15 1 0.01
5 49 0.49 16 3 0.03
λ = 20 6 47 0.47 17 9 0.09
7 41 0.41 18 27 0.27
8 23 0.23 19 81 0.81
h = λ (100 ) = 20 9 69 0.69 20 43 0.43
10 7 0.07
X 0 = 43 21 29 0.29
Pruebas de frecuencias
2
x x
N
χ1 =
2
N
∑ fj −
j =1 x
Sub int Fj
x=5 0 - 0.2 4
0.2 - 0.4 4
N
x = 205 = 4 0.4 - 0.6 4
0.6 - 0.8 4
0.8 - 1 4
χ12 = 0
λ12 = (4 − 4)2 + (4 − 4)2 + (4 − 4)2 + (4 − 4)2 + (4 − 4)2
χ 2 0.05, 4 = 9.49
Pruebas de medias
l ix l sx
Zα 2 Zα 2
l s x = 12 + l ix = 12 +
α α 12 n 12 n
2 2
µ = 12
H0 = µ = 1
X=
∑x α = nivel de confianza de la prueba
H1 = µ ≠
2
1
n α = 1% o 5% 2
33
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Prueba De Varianza
Consiste en verificar si los números aleatorios generados tienen una variancia de 0.083, de
tal forma que la hipótesis queda expresada como:
∑ (r − x)
i
2
V (x ) = i =1
n −1
χ 2α 2 , n −1
ls V ( x ) =
12 (n − 1 )
χ 2 1− α 2 , n −1
li V ( x ) =
12 (n − 1 )
Paso 3. Si V(x) se encuentra entre los valores de liv(x) y lsv(x), aceptamos la hipótesis nula
y los números aleatorios tiene una variancia estadísticamente igual a 1/12.
Ejemplo:
Realice la prueba de variancia a los siguientes 30 números con un nivel de confianza del
95%.
x = 0.507337
Aplicando la ecuación del paso 1 se tiene V(x)= 0.104. Al calcular los límites de
aceptación para muestras de tamaño 30,
χ 2α 2,n−1 45.7
lsV ( x ) = = = 0.1313
12(n − 1) 12(29)
34
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
El valor se encuentra dentro de límites de aceptación por lo que se acepta que la variancia
de la muestra es estadísticamente igual a 1/12.
Prueba De Poker
Las pruebas de independencia consisten en demostrar que los números generados son
estadísticamente independientes entre sí, esto es, que no depende uno de otro.
• La prueba de Poker
• La prueba de corridas arriba y abajo
• La prueba de corridas arriba debajo de la media
• La prueba de la longitud de las corridas
• La prueba de series
Ho : ri ∼ independiente
H1 : ri ∼ dependiente
Paso 1. Calcular las probabilidades esperadas para un juego de poker con 5 cartas
numeradas del 0 al 9 con reemplazos. Se tienen 7 eventos con las siguientes
probabilidades:
P (Pachuca) = 0.3024
P (par) = 0.5040
P (2 pares) = 0.1080
P (1 tercia) = 0.0720
P (Full) = 0.0090
P (Poker) = 0.0045
P (Quintilla) = 0.0001
Paso 3. Para cada número aleatorio generado verificar si es Pachuca, 1 par, 2 pares,
etc., tomando los primeros 5 dígitos a la derecha del punto decimal. Con estos resultados
se genera una tabla de frecuencias observadas de cada uno de los eventos.
35
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
m
χ12 = ∑
(FEi − Foi )2
i =1 FE
Ejemplo:
Realice la prueba de Poker a los siguientes 30 números con un nivel de confianza del
95%. (∞ = 5%)
FO PE FE
Pachuca 14 0.3024 9.072
Un Par 14 0.5040 15.12
Tercia 1 0.0720 2.16 FE = PE.n
Dos Pares 1 0.1080 3.24
Full 0 0.0090 0.27
Poker 0 0.0045 0.135
Quintilla 0 0.0001 0.003
χ12 =
(9.072 − 14)2 + (15.12 − 14)2 +
(2.16 − 1)2 +
(3.24 − 1)2 + 0.27 + 0.135 + 0.003
9.072 15.12 2.16 3.24
χ12 = 2.676 + 0.082 + 0.622 + 1.548 + 0.27 + 0.135 + 0.003
χ 1 2 = 5.336
χ20.05, 6 = 12.6
χ 1 2 ≤ χ 2 0.05,6 ∴ H0 se acepta
36
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Prueba De Series
Ho : ri ∼ independiente
H1 : ri ∼ dependiente
m
(FE i − FOi )2
χ12 = ∑
i =1 FE i
Paso 4 Si el valor de χ12 es menor o igual al estadístico de tablas χ12 con m-1 grados de
libertad y una probabilidad de rechazo α, entonces aceptamos que estadísticamente los
números son independientes.
Ejemplo:
Realice la prueba de series a los siguientes 30 números con un nivel de confianza del 95%
ri+1 1 3 2 1 2
0.75 1 1 1 3
0.50 1 3 3 1
0.25 2 2 1 2
0 0.25 0.50 0.75 1 ri
37
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
m
(FE i − FOi )2 16
(1.8125 − FOi )2
χ12 = ∑ =∑
i =1 FE i i =1 1.8125
χ12 =
1
1.8125
[
7(1.8125 − 1) + 5(1.8125 − 2) + 4(1.8125 − 3) = 5.75
2 2 2
]
El valor de la tabla χ2 con un nivel de confianza del 95% y con 15 grados de libertad es
igual a 25. Si se compara χ12 =5.75 con este valor, se acepta la independencia de la secuencia de
números.
χ 1 2 ≤ χ 2 0.05,15
Por consiguiente Ho se acepta.
Ejemplo:
Realice la prueba de Poker y la prueba de series a los siguientes 30 números con un nivel
de confianza de 95%
Prueba de poker
Evento PE FO FE
Pachuca 0.3024 7 9.072
Par 0.5040 15 15.12
Tercia 0.0720 5 2.16
2 Pares 0.1080 3 3.24
Full 0.0090 0 0.27
Poker 0.0045 0 0.135
Quintilla 0.0001 0 0.003
χ12 =
(7 − 9.072)2 + (15 − 15.12)2 + (5 − 2.16)2 + (3 − 3.24)2 + 0.27 + 0.135 + 0.003
9.072 15.12 2.16 3.24
χ1 2 = 2.11
χ 02.05,6 = 12.6
χ 1 2 < χ 02.05,6
38
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Prueba de series
1
IIIIII II III
6 2 3
2
3
III IIII
3 0 4
1
3
III IIIII III
3 5 3
1
3
2
3
1
29
FE = = 3.22
9
χ12 =
1
3.22
[
(0 − 3.22)2 + (2 − 3.22)2 + 4(3 − 3.22)2 + (4 − 3.22)2 + (5 − 3.22)2 + (6 − 3.22)2 ]
χ1 2 = 7.31
χ 02.05,8 = 15.51
χ 1 2 < χ 02.05,8
39
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Apéndice A
Definiciones
Definición 1. Para dos enteros a y b, con b ≠ 0, existe un único par de enteros t y n, tal que a = bt
+ n 0 ≤ n < b, en donde t es el cociente n es el residuo.
Definición 8. Para una a dada, el menor entero positivo n tal que a ≡ n (mod m) recibe el nombre
de residuo módulo m. Existe m residuos distintos (mod m); 0, 1, 2, . . .,m – 1.
Definición 9. Una clase de enteros mutuamente congruentes para un módulo dado, forman una
clase residual. Existen m distintas clases residuales (mod m). Ejemplo: si m=2, las dos clases
40
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
residuales distintas son: la colección de todos los números impares y la de los números pares,
respectivamente.
Definición 10. Para un módulo dado m, el conjunto de los m enteros congruentes en algún orden
con los residuos 0, 1, 2, . . ., m – 1, forman un sistema residual completo.
Definición 11. Un subconjunto de un sistema residual completo que contenga todos los enteros
que sean primos relativos de m, recibe el nombre de un sistema residual reducido.
Definición 13. Los residuos potenciales son los residuos de las potencias sucesivas de un entero
a módulo m. Si el residuo de la i-ésima potencia de a (mod m) se denota por ni, entonces todos
los residuos potenciales satisfacen la relación de congruencia ni ≡ ai (mod m) (i = 1, 2, 3, . .)
Definición 14. Si (a, m) = 1, el mínimo exponente positivo i = h, tal que ai ≡ 1 (mod m), se dice
que es el orden de a (mod m). El mínimo exponente positivo h también recibe el nombre de
multiplicador de m cuando a se dice que pertenece a m. En este caso, h se denota por h = λ (m).
El orden h de a (mod m) es igual al número total de números distintos, esto es, la longitud de una
sucesión que no se repite de residuos potenciales de a, llamada el período de la sucesión {ni};
i = 1, 2, . . ., h (mod m).
41
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Teoremas
Teorema 6. Para todas las potencias de un número primo p > 2 existen las raíces primitivas, i.e.
existe un número tal que (a, pe) = 1 y aϕ(pe) ≡ 1 (mod pe) donde h ≡ ϕ (pe).
Teorema 8. Si m = πpe y p es un primo impar entonces h = λ(m) = (p-1) pe-1 = ϕ (m) para valores
de a que son raíces primitivas de m.
Corolario: Si p = 2, i.e., h = λ(m) = 2e-2 para e > 2, entonces λ(m) ≠ ϕ (m). La prueba se
debe a Euler.
42
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Teorema 10. El menor entero positivo a tal que (ah - 1)/ (a - 1) ≡ 0 (mod m) es h = m, si (1) a ≡ 1
(mod p) si p es un factor primo de m y (2) a ≡ 1 (mod 4) si 4 es un factor de m. La prueba se
debe a Hull y Dobell.
43
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
UNIDAD III
Generación De Valores De Variables Aleatorias
La generación de estadísticas simuladas o sea de valores de las variables aleatorias, es de
naturaleza numérica y debe configurarse mediante la aportación de números pseudoaleatorios.
Si la variable aleatoria es discreta, x tomará valores específicos y F(x) será una función
escalonada. Si la variable aleatoria es continua, x tomará valores en un rango especificado.
0 ≤ F (x ) ≤ 1
Existen tres métodos para generar los valores de variables aleatorias a partir de
distribuciones de probabilidad:
Puesto que F(x) se define en el rango de 0 a 1 se pueden generar números aleatorios para
sustituir a F(x)=r.
44
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
F(x)
F(xi) = ri
0 xi X
x
Podemos de manera general establecer que: r = F ( x ) = ∫ f (t )dt
−∞
[
Entonces p( x ≤ x ) = F ( x ) = p[r ≤ F ( x )] = p F −1 ( x ) ≤ x ]
Ejemplo:
Genérese los valores x de variables aleatorias con una función de densidad f(x) = 2x
0≤x≤1
x
F ( x ) = ∫ 2tdt
0
r = F (x ) = x 2 ó x = r 0 ≤ r ≤1
Ejemplo:
1
0 ≤ x ≤1
4
f (x ) =
3
1≤ x ≤ 2
4
1° parte 2° parte
x
1
F ( x ) = ∫ dt
x
F (x ) =
1 3
+ ∫ dt
0
4 4 14
F (x ) =
x 1 3 3 3
F (x ) =
1
4 + x− = x−
4 4 4 4 2
x
r= 3
r = x−
1
4 4 2
45
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
x = 4r si 0 ≤ r ≤ 1
4
x = 43 r + 2
3 si 1
4 ≤ r ≤1
Para generar un valor de x se debe en primer lugar generar un valor de r; cuando r < ¼
el valor de x estará determinado por x = 4r.
Ejemplo:
x x
F ( x ) = ∫ λe dt = ∫ λe −λt (− λdt )
− λt
0 0
F (x ) = − e [ ] − λt x
0 [ ] [ ]
= − e − λ t − e −0 = − e − λt − 1
F ( x ) = 1 − e −λ t = r ∴ 1 − r = e − λt
ln (1 − r ) = −λx ∴ x = − λ1 ln (1 − r ) ∴ x = − λ1 ln r
Ejemplo:
x x
1 1
F (x ) = ∫ dt = ∫ dt
a
b − a b − a a
F (x ) =
1
[t ]ax = 1(x − a )
b−a b−a
x−a a≤ x≤b
F (x ) =
b−a
x−a
r= ∴ x − a = r (b − a )
b−a
x = a + r (b − a )
46
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Método De Rechazo
Este método requiere que f(x) sea una distribución de probabilidad acotada y con rango
finito ó a a ≤ x ≤ b.
f(x)
a b X
2x 0≤x≤1
f(x)
0 en otra parte
En este caso:
a=0 b=1 M=2
1. Generar R1 y R2
2. Calcular x = r1
3. f(x) = 2r1
4. r2 ≤ 2r1 = 2r1 r2 ≤ r1 → x = r1
M 2
47
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
2
(x − a ) si a≤x≤b
(c − a )(b − a )
f(x) =
−2
(x − c ) si b≤x≤c
(c − a )(c − b )
2
M=
(c − a )
f(x)
a b c X
1. Generar r1 y r2
2. Calcular x = a + (c – a)r1
3. Es x < b si la respuesta es afirmativa
f (x ) =
2
([a + (c − a )r1 ] − a ) = 2r1
(c − a )(b − a ) (b − a )
si la respuesta es negativa, entonces f(x) es :
f (x ) =
−2
(a + (c − a )r1 − c ) = 2(1 − r1 ) = 2(1 − r1 )
(c − a )(c − b ) c −b c−b
f (x )(c − α )
4. Es r2 ≤
2
48
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo.
3
f (x)
0 ≤ x ≤1
4
3
(x1 , y1 ) f (x ) =
4
9 15
− x+ 1≤ x ≤ 5
3
8 8
( x2 , y 2 )
0 5 x
1 3
y = mx + b x
F (x ) = ∫ 34 dt
y1 − y 2
y − y1 = (x − x1 ) 0
x1 − x2 F (x ) = [ 34 t ]0
x
−0
F (x ) = 34x
3
y − 34 = 4
(x − 1)
1 − 53
3
r = 34x
y − 34 = 4
(x − 1) x = 43 r 0≤r ≤ 3
− 23 4
y − 34 = − 98 x + 89
y = − 98 x + 98 + 34
y = − 98 x + 158
2° parte − b ± b 2 − 4ac
x
x=
2a
F ( x ) = + ∫ (− 98 t + 158 )dt
3
4
15
± (− 158 )2 − 4(169 )(169 + r )
x=
1 8
[
F ( x ) = 34 + − 916t + 158 t 1
2
]
x
2(169 )
49
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Método De Composición
En esta técnica f(x), la función de densidad probabilidad de la distribución que se va
simular, esta expresada como una mezcla de probabilidad de funciones de densidad propiamente
seleccionadas.
∞
f = f (x ) = ∫ g (x y )dH ( y )
−∞
∞
Ejemplo: Generar una varianza aleatoria de f ( x ) = n ∫ y −n e − xy dy cuando (sea) dH ( y ) = n ydyn +1
−∞
1 < y < ∞, n ≥ 1 y g ( x ) = ye − yx
Una varianza es ahora obtenida desde una función de densidad cuya su función de
distribución acumulativa es H(y). Una vez que y es seleccionada, esta determina una particular
g(x) = ye-yx. La varianza deseada de f(x) es entonces una varianza simplemente generada de
g(x) = ye-yx. Para continuar con las siguientes instrucciones, genera dos varianzas uniformes R1
y R2, y cuando:
− 1n
s1 = R1
X = 1
s1 log R 2
Esta técnica es apropiada cuando se desea generar distribuciones de tipo mas alto usando
distribuciones La dificultad recae en identificar la H(y) y g(xy) la cuál se necesita para
producir una f(x) dada dentro de la relación.
50
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
∞
f (x ) = ∫ g (x y )dH ( y )
−∞
La Distribución De Poisson
Si los intervalos de eventos similares están distribuidos exponencialmente, el número de
eventos ocurridos en un intervalo unitario de tiempo, tiene la distribución de Poisson.
Las aplicaciones de las variables aleatorias de Poisson incluyen tantas áreas tales como
control de los inventario, teoría de colas, control de calidad, flujo de tráfico y muchas otras áreas
ciencias administrativas.
λx e −λ
f (x ) = x = 0,1,2, K, ∞
X!
donde λ es el número esperado de sucesos por unidad de tiempo. Esto implica que el
tiempo entre eventos esta distribuido exponencialmente con media de λ1
Podemos utilizar esta relación entre la distribución Poisson y la exponencial para generar
desviaciones de la distribución de Poisson.
x x +1
∑ yi ≤ 1 ≤ ∑ yi
i =1 i =1
donde y1, y2,....,yx+1 son desviaciones aleatorias de una distribución exponencial teniendo
como media 1/λ y son generadas por (la técnica de transformada inversa)
y i = − λ1 ln Ri
donde Ri está dada por la distribución uniforme. En conclusión, las sumas acumulativas
son generadas hasta que se obtiene la desigualdad. Cuando esto ocurre, x es la desviación
aleatoria de Poisson deseada.
51
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
∑ yi ≤ λ ≤ ∑ yi
i =1 i =1
donde yi es otra vez las desviaciones de la distribución exponencial pero con media 1/λ,
esto es:
ln Ri
yi = −
λ
Las 2 técnicas son esencialmente las mismas, pero la primera parece ser más apropiada
con la definición de la distribución exponencial donde las yi’s tiene una media de λ1 .
Ejemplo.
λ xe −λ
f (x ) = X = 0, 1, 2,…, α
x!
1 λ= 3 eventos por hora.
ti = − ln ri
λ
n 1 2 3 4 5
rn 0.058962 0.673284 0.479909 0.948578 0.61396
tn 0.9436 0.1318 0.2447 0.1075 0.1624
n
∑t
i =1
i 0.9436 1.0754 1.3201 1.3376 1.5002
t = 1.4
n n +1
X = Variable aleatoria de Poisson
∑i =1
ti ≤ t ≤ ∑i =1
ti
X = 4 número de eventos que llegan en 1.4 hrs.
52
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Distribución Erlang
La distribución Erlang es una forma de la distribución gamma con K igual a un entero
positivo. Estadísticos Matemáticos han probado que esta distribución es solo la suma de las
variables exponenciales de K, cada una con un valor esperado 1/k.
Para generar una desviación Erlang, nosotros solo necesitamos la suma de las
desviaciones exponenciales K, cada una con el valor esperado 1/k. De esta manera la varianza x
de Erlang es esperada como:
k k
X = ∑ y i = − ∞1 ∑ ln Ri
i =1 i =1
Distribución Binomial
Una variable aleatoria x definida como el número de eventos exitosos en una secuencia de
n tiradas o intentos independientes de Bernoulli, cada una con probabilidad de éxito p, es
conocida como una variable aleatoria binomial. La distribución binomial es una de las más
importantes en las distribuciones estadísticas usadas en un área de ejemplificación y control de
calidad. La función de densidad de probabilidad binomial está dada por:
n
f (x) = pxqn−x x = 0, 1, L, n
x
donde
Este procedimiento puede entonces ser repetido tantas veces como sea necesario para
generar otras desviaciones binomiales.
53
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Otro procedimiento involucrado que usa la distribución normal como una aproximación a
la binomial para casos donde n ≥ 20 y np ≤ 10. Desde que la varianza binomial es un entero, la
varianza normal usada como una aproximación debe ser redondeada al valor entero más cercano.
Este método es más rápido pero es solo una aproximación.
La figura nos muestra en forma gráfica el procedimiento anterior para una función
cualquiera p(x) discreta.
La dificultad de este método radica en que no existe una expresión final sencilla, como en
el caso de la continua.
f(x) F(x)
0 x 0 Xi= F -1 (Ri) x
Metodología
Paso 3 Generar un valor ri. Verificar en F(x) a qué intervalo de x pertenece y ese será el
número aleatorio generado por la distribución propuesta.
54
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo.
n
P( x ) = p x q n− x
x
n=5 q = 0.80
p = 0.20
n n (n - 1)(n − 2 )K1 n!
= =
x x!(n − x )! x!(n − x )!
5
P(0 ) = (0.20)0 (0.80)5 = 0.32768
0
5
P(1) = (0.20)1 (0.80)4 = 0.4096
1
5
P(2 ) = (0.20)2 (0.80)3 = 0.2048
2
5
P(3) = (0.20)3 (0.80)2 = 0.0512
3
5
P(4 ) = (0.20)4 (0.80)1 = 0.0064
4
5
P(5) = (0.20)5 (0.80)0 = 0.00032
5
f (x )
0.4
0.3
0.2
0.05
x
0 1 2 3 4 5
55
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
F (x )
1
0.90
0.75
0.50
0.25
x
0 1 2 3 4 5
Números aleatorios
r1 = 0 . 72484 x1 = 1
r 2 = 0 . 71997 x2 = 1
r3 = 0 . 34565 x3 = 1
r 4 = 0 . 82745 x4 = 2
r5 = 0 . 03991 x5 = 0
r6 = 0 . 43999 x6 = 1
56
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
UNIDAD IV
Lenguajes De Simulación
Introducción
Cualquier sistema por simular en este lenguaje se debe describir mediante un diagrama de
bloques que representan las actividades, unidos mediante líneas que representan la secuencia que
seguirán un grupo de transacciones, que a su vez se mueven a través de los bloques. Las
transacciones dependen de la naturaleza del sistema, por ejemplo un sistema de comunicaciones
se refiere al movimiento de mensajes; un sistema de transporte se refiere al vehículos
motorizados; un sistema de producción, al movimiento de piezas.
La simulación mediante GPSS se realiza con dos elementos básicos conocidos como
transacciones y bloques. Una transacción es aquello que fluye a través del sistema de
manufactura, y que puede ser: información, piezas, órdenes de producción, fallas, operarios,
mecánicos, etcétera, mientras que un bloque se define como cualquier operación que realiza una
transacción dentro de un sistema; algunas operaciones pueden ser las siguientes: procesamiento,
entrada a un almacén, salida de un almacén, inicio de proceso, fin de proceso, salida del sistema,
ensamble, desensamble, etcétera.
De este concepto nació el diseño de lenguaje específico para programas de simulación con
los cuales se ha ido facilitando al usuario la programación de sus modelos.
57
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
c) Instrucciones de Lógica del programa. Este tipo de instrucciones son las conocidas como
bloques; son las que se ejecutarán durante la simulación; la lógica dependerá de cada sistema
que se desee simular. Teniendo en cuenta la función que realizan, una clasificación de los
bloques o instrucciones de lógica es la siguiente:
58
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
2 8 19 31
• Operandos: Cada bloque representa la acción por ejecutar, sin embargo, es necesario
incluir un complemento, como puede ser la duración o el lugar de dicha acción. Los
operandos son las características individuales de cada bloque, y dependerán de la lógica
del sistema. Se colocan en la “columna 19”.
59
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
En algunas versiones del GPSS, como en la de GPSS/PC, cada instrucción debe ir precedida de
un número de instrucción en forma ascendente de acuerdo con la lógica, pero se utiliza sólo como
referencia para la edición del programa.
Así, una vez dados los lineamientos generales, elementos y estructura del GPSS, a
continuación se explican de manera más detallada los principales bloques del GPSS, incluyendo
algunos ejemplos ilustrativos.
Desventajas
60
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
61
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
62
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Retraso Actividad
Llegada al elemento. Este evento ocurre en el momento en que una transacción hace su
entrada al sistema. Esta entrada puede realizarse en dos formas: la primera tiene lugar cuando las
transacciones provienen de un sistema que no se desea incluir dentro del modelo a simular; por
tanto, la entrada de dichas transacciones debe realizarse mediante el bloque GENERATE. La
segunda ocurre cuando la transacción proviene de otro elemento básico de producción; en este
caso, el último bloque del elemento básico i será el bloque que simule la llegada al elemento
básico i+1.
Fin del retraso. Ocurre en el mismo tiempo que el evento anterior, y representa el punto
en el que una transacción termina su espera al haberse iniciado una actividad. Para dar por
terminado el retraso, se hace uso del bloque DEPART.
Actividad. Representa la acción primordial por la que una transacción entró al elemento
básico de producción. Esta actividad se mide en unidades de tiempo, y es el bloque que sirve para
modelar tiempos de proceso o transporte. El bloque ADVANCE se utiliza para este fin.
63
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Salida del elemento. Así como existen dos formas para entrar al elemento básico de
producción, para salir también es posible hacerlo de dos maneras: la primera representa un
abandono total del sistema por parte de la transacción y se realiza mediante el bloque
TERMINATE; la segunda ocurre cuando existen dos elementos básicos interconectados. En este
último caso no hay bloque de salida sino una conexión lógica como la mencionada en el párrafo
correspondiente a llegada al elemento.
Lenguaje GPSS
Generate Se puede pensar en un bloque GENERATE como una puerta a través de la cual
entran las transacciones. No existe ningún límite en cuanto a la cantidad de bloques GENERATE
que puede contener un modelo.
GENERATE A, B, C, D, E
A: Tiempo medio entre llegadas. El operando tiene que ser nombre, número, SNA o nulo.
No se pueden utilizar parámetros. Default = 0 (opcional).
B: Desviación con respecto a la media (en caso de la distribución uniforme). El operando
tiene que ser nombre, número, SNA o nulo. No se pueden utilizar parámetros. Default = 0
(opcional).
C: Tiempo en que se generará la primera transacción. El operando tiene que ser Nombre,
número, SNA o nulo. No se pueden utilizar parámetros.
D: Límite total de transacciones
64
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
E: Nivel de prioridad. El operando tiene que ser nombre, número, SNA o nulo. No se
pueden utilizar parámetros. Default = 0 (opcional).
En GPSS, las distribuciones de tiempos entre llegadas están divididas en dos categorías:
1. Distribución Uniforme.
2. Todas las otras distribuciones.
El operando D pone un límite al total de las transacciones que pueden entrar al modelo a
través del bloque GENERATE. Al generar el número de transacciones indicadas en el operando
D, el bloque GENERATE se vuelve inactivo.
65
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
SNA
SEIZE
Una instalación puede ser capturada por una sola transacción en un momento dado. Las
transacciones restantes esperarían de acuerdo con la disciplina de primeras entradas primeras
salidas para capturar la instalación que con otras instrucciones o bloques cambie la disciplina de
captura. Por ejemplo, SEIZE CAJA significa que la transacción entrante capturará la instalación
con el nombre de CAJA.
SNA
RELEASE
66
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
SNA
QUEUE
El bloque QUEUE permite obtener estadísticas de colas que se forman al momento que
las transacciones esperan usar un servidor. El bloque QUEUE debe complementarse con el
bloque DEPART. El bloque QUEUE se puede visualizar como “punto de inicio para la toma de
datos estadísticos de las colas que se pueden formar”.
En algunos problemas, una transacción puede representar una caja o pallet, en cuyo caso
se puede usar el operando B para representar número de partes que realmente existe en la cola.
Por ejemplo, QUEUE COLA, 10 indica que cada transacción (caja) contiene 10 piezas esperando
en COLA.
SNA
67
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
DEPART
DEPART A, B
A: Nombre o número de cola. El operando debe ser nombre, entero positivo SNA
(requerido).
B: Número de unidades en que se decrementa el contenido de la entidad de cola.
Default = 1 (opcional). El operando debe ser nombre, entero positivo o SNA.
Al utilizar los bloques QUEUE y DEPART en el reporte aparece una serie de datos
estadísticos en el reporte que contienen la siguiente información:
SNA
ADVANCE
68
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
ADVANCE A,B
A: Es el tiempo medio de retardo de la actividad (servicio). El operando debe de ser
nombre, entero positivo o SNA (requerido).
B: Desviación con respecto a la media para la distribución uniforme. El operando debe ser
nombre, entero positivo o SNA (opcional).
TERMINATE
Solo remueve las transacciones activas que pasen por él, pero no controla el tiempo de
corrida de simulación.
TERMINATE 1
START 100
En el momento en que una transacción cruza por el TERMINATE, es destruida y sale del
sistema, pero decrementa el valor START en una unidad; de esta manera, cuando 100
transacciones crucen por el TERMINATE, el valor del START llegará a 0 y el proceso de
simulación se detendrá.
TERMINATE 2
START 100
Cuando una transacción cruza por el TERMINATE, es destruida y sale del sistema, pero
decrementa el valor START en 2 unidades; de tal manera que cuando 50 transacciones crucen por
el TERMINATE, el valor del START llegará a 0 y el proceso de simulación se detendrá.
SNA
Tomando en cuenta los bloques vistos hasta el momento, es interesante manejarlos de una
forma integral. Para esto se presentan a continuación algunos ejemplos de sistemas que se desean
modelar mediante GPSS.
69
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Operación A B C D
E F
70
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
GENERA LIBERA
DESENLAZA
71
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo:
GENERATE 7,3
QUEUE ALMACEN
SEIZE TORNO
DEPART ALMACEN
ADVANCE 5,2
RELEASE TORNO
TERMINATE 1
*
START 500
END
En este ejemplo se tiene la unidad elemental de producción en la que entran las piezas al
modelo por el bloque GENERATE, cruzando el sistema y abandonándolo en el bloque
TERMINATE. Cada vez que una pieza abandona el modelo resta 1 del valor del START que
detendrá la simulación cuando llegue a 0
Ejemplo:
Modifique el modelo anterior si desea simular además un rectificado de las piezas después
del torneado en otro torno en el que el tiempo de operación es de 6 ± 1 minuto con distribución
uniforme.
SIMULATE
*
GENERATE 7.3
QUEUE ALMACEN
SEIZE TORNO
DEPART ALMACEN
ADVANCE 5,2
RELEASE TORNO
QUEUE WIP
SEIZE TORNO2
DEPART WIP
ADVANCE 6,1
RELEASE TORNO2
TERMINATE 1
*
START 500
END
72
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo:
En un puerto se cuenta con una grúa destinada a la descarga de barcos. Existe dos tipos
de barcos que entran al puerto a descargar; los tiempos de descarga siguen una distribución
uniforme con parámetros de 10 ± 2 y 17 ± 5 horas para los barcos de tipo 1 y tipo 2,
respectivamente. El tiempo entre llegadas entre los barcos sigue una distribución uniforme con
parámetros de 15 ± 2 y 24 ± 5 horas para los de tipo 1 y tipo 2, respectivamente.
GENERATE 15,2
QUEUE MUELLE
SEIZE GRUA
DEPART MUELLE
ADVANCE 10,2
RELEASE GRUA
TERMINATE 1
*
GENERATE 24,5
QUEUE MUELLE
SEIZE GRUA
DEPART MUELLE
ADVANCE 17,5
RELEASE GRUA
TERMINATE 1
*
START 90
END
Al existir dos tipos de barcos o dos tipos de transacciones con diferentes condiciones de
proceso, es necesario crear dos elementos básicos para cada uno de ellos. Los barcos tipo 1 se
introducen al modelo en el GENERATE 15,2 y son destruidos en TERMINATE 1 de su propio
elemento, con lo que se evita que entren al segundo elemento. El otro tipo de barco entra al
sistema en el GENERATE 24,5 y después de cruzar por el segundo elemento es destruido en su
respectivo TERMINATE. Los barcos nunca se cruzan dentro de los segmentos sin embargo,
comparten el recurso GRUA y las estadísticas de la espera también se encuentran compartidas en
el mismo MUELLE. Gracias a las cadenas de eventos, el GPSS logra unir internamente los dos
elementos y manejarlos en forma simultánea o paralela, de manera que se pueda pensar que se
“mezcla los barcos internamente”. Como se desea simular 90 barcos sin importar de que tipo son,
73
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
el control de la simulación debe ser llevado a cabo por los dos elementos; por eso, ambos
TERMINATE se codifican con el valor 1 para el operando A.
GENERATE 15,2
QUEUE MUELLE
SEIZE GRUA
DEPART MUELLE
ADVANCE 10,2
RELEASE GRUA
TERMINATE
GENERATE 24,5
QUEUE MUELLE
SEIZE GRUA
DEPART MUELLE
ADVANCE 17,5
RELEASE GRUA
TERMINATE 1
START 40
END
En este inciso, lo único que se desea es detener la simulación mediante el conteo de uno de
los tipos de barcos; en este caso, al controlarlo con barcos tipo 2, se debe eliminar el valor del
operando A del TERMINATE de los barcos tipo 1 y mantener el valor en el TERMINATE de los
barcos tipo 2.
c) Simule el puerto durante una semana, dándole mayor prioridad en la descarga de los
barcos tipo 1.
GENERATE 15,2,,,5
QUEUE MUELLE
SEIZE GRUA
DEPART MUELLE
ADVANCE 10,2
RELEASE GRUA
TERMINATE
GENERATE 24,5
QUEUE MUELLE
SEIZE GRUA
DEPART MUELLE
ADVANCE 17,5
RELEASE GRUA
TERMINATE
GENERATE 168
74
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
TERMINATE 1
START 1
END
Los cambios que deben hacerse para el modelado de la nueva situación son: 1) dar mayor
prioridad a los barcos tipo 1 generados en el primer segmento utilizando el cuarto operando en
donde se coloca una prioridad mayor que los barcos tipo 2 del segundo segmento, 2) se elimina
el control de la simulación mediante barcos al colocar el TERMINATE con el valor por omisión
(default) del operando A y 3) se agrega un nuevo segmento, que genera transacciones cada 168,
cruzará el TERMINATE y restará 1 del valor del START, que al llegar a 0, dará por terminada la
simulación.
ENTER
El bloque ENTER tiene dos funciones; en la primera se utiliza para simular la selección y
captura de uno o más servidores en paralelo; en la segunda se utiliza para simular la entrada, el
inicio de estadísticas y la ocupación de un espacio dentro de una fila de capacidad finita.
ENTER A,B
A: Nombre o número de almacenaje (storage) por utilizar. El operando debe ser nombre,
entero positivo o SNA (requerido)
B: Número de unidades por los que se decrementa la capacidad disponible de almacenaje
(storage). Default = 1. El operando debe ser nombre, entero positivo o SNA (opcional)
El operando B se puede definir también como el número de servidores que captura por
cada transacción que entra al bloque ENTER. Para definir el número (capacidad) de servidores
existentes en paralelo se requiere utilizar la instrucción STORAGE.
La transacción que entra al bloque ENTER capturará cualquier servidor que esté
disponible en ese momento. En caso de no encontrar ningún servidor disponible (según la
capacidad definida en STORAGE), la transacción en espera será puesta a Delay Chain (cadena de
espera).
SNA
R: Capacidad disponible del storage
S: Cantidad del storage que está en uso
SA: Número promedio de transacciones que están siendo atendidas (número de servidores
ocupados)
SC: Número de transacciones que han entrado al almacenaje
SE: Regresa al valor 1 si el storage está vacío, y 0 de otra manera
75
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo:
Una máquina herramienta de un taller de fabricación produce piezas a razón de una por
cada 5 minutos. Conforme se terminan, las piezas van a un inspector que necesita
4+3 minutos para examinar cada una y rechaza aproximadamente 10% de las piezas. Cada
pieza queda representada por una operación y la unidad de tiempo elegida para el problema será
de 1 minuto.
76
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
GENERATE
ADVANCE
TRANSFER
ACC REJ
TERMINATE 1 1
Asociadas con el sistema que se simula hay muchas entidades permanentes tales como
artículos de equipo, que operan sobre las transacciones. En GPSS se definen dos tipos de
entidades permanentes para representar el equipo del sistema.
Se defina una facilidad como una entidad que puede utilizar una sola transacción a la vez.
Se define un almacenaje como una entidad que pueden ocupar muchas transacciones a la vez,
hasta cierto límite predeterminado. Puede haber muchas instancias de cada tipo de entidad hasta
un límite impuesto por el programa (generalmente 300). Las entidades individuales se identifican
mediante número; se utiliza una secuencia numeral distinta para cada tipo. El número 0 es ilegal
para éstas y las otras entidades del GPSS. El usuario puede asignar los números en cualquier
orden o puede utilizar nombres simbólicos y dejar que el programa ensamblador asigne los
números.
Algunos ejemplos de cómo podrían interpretarse las entidades del sistema en distintos
sistemas son:
77
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Una troncal significa un cable que consiste en muchos alambres cada uno de los cuales
puede transportar varios mensajes simultáneamente y por tanto se representa como un
almacenaje. En este caso se supone que un interruptor sólo pasa un mensaje a la vez, por lo que
se representa como una facilidad.
La figura muestra cuatro tipos de bloques SEIZE, RELEASE, ENTER Y LEAVE, que
se refieren a la utilización de facilidades y almacenajes. El campo A de cada caso indica la
facilidad o almacenaje de referencia y, generalmente la selección se marca en la bandera que se
anexa a los símbolos de los bloques. El bloque SEIZE permite que una transacción utilice una
facilidad si está disponible. El bloque RELEASE permite que la transacción libere la facilidad.
En forma análoga un bloque ENTER permite que una transacción ocupe espacio en un
almacenaje, de estar disponible el bloque LEAVE permite que ceda el espacio. Si está en blanco
los campos B de los bloques ENTER y LEAVE, el contenido del almacenaje se cambia en 1. Si
hay un número (mayor o igual que 1), se cambia el contenido en ese valor.
Se puede colocar cualquier cantidad de bloques entre los puntos en que se toma y libera
una facilidad para simular las acciones que se seguirán mientras una transacción tiene el control
de una facilidad. Se aplican arreglos semejantes para la utilización de los almacenajes.
78
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
GENERATE
SEIZE
ADVANCE
RELEASE
TRANSFER
ACC REJ
TERMINATE
79
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
GENERATE
QUEUE
ENTER
DEPART
MARK
ADVANCE
LEAVE
TABULATE
TRANSFER
ACC REJ
TERMINATE
80
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo: Los usuarios llegan a razón de uno cada 10±15 minutos para utilizar un solo teléfono.
Si el teléfono está ocupado, 50% de las personas regresan 5 minutos después y lo intentan de
nuevo y el resto lo abandona del todo. Suponiendo que una llamada toma 6±3 minutos, cuente
cuántas personas habrán abandonado el intento para cuando se hayan terminado 1000 llamadas.
Código GPSS
GENERATE 10,5
INI TRANSFER BOTH,TEL,OCU
TEL SEIZE TELEF
ADVANCE 6,3
RELEASE TELEF
TERMINATE
OCU TRANSFER 0.500,ESP5,BYE
ESP5 ADVANCE 5,0
TRANSFER ,INI
TERMINATE 1
BYE TERMINATE 1
81
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo: La sala de espera del consultorio de un doctor cuenta con 4 sillas. Los pacientes al
llegar al consultorio, se sientan mientras el doctor está ocupado. Si llega un paciente y no
encuentra ninguna silla disponible, se va a otro doctor. El tiempo de consulta está uniformemente
distribuido entre 20 y 30 minutos por paciente. La llegada de los pacientes al consultorio es
uniforme entre 15±3 minutos.
Código GPSS
paciente STORAGE 4
GENERATE 15,3
TEST E
SF$paciente,0,descartar
ENTER paciente
SEIZE cola
LEAVE paciente
ADVANCE 25,5
RELEASE cola
TERMINATE 1
descartar TERMINATE 1
Start 1
82
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Eventos discretos
Se pueden considerar dos puntos generales de vista acerca de cómo se identifiquen los
eventos discretos. En uno de los puntos de vista, al que se refiere como orientado a la partícula,
o basado en el material, la atención se centra en las entidades del sistema y se considera a la
simulación como la tarea de seguir los cambios que ocurren conforme a las actividades. En ese
caso se considera a los tiempos en que ocurren los cambios al sistema como atributos a las
entidades. En el otro punto de vista, que se refiere como orientado al evento o basado en la
máquina, la atención se centra en las actividades y la simulación sigue la historia de las
actividades conforme se aplican a distintas entidades. En ese caso se considera a los tiempos en
que ocurren los cambios al sistema como característicos de las actividades.
La ejecución de una simulación se mantiene igual sin importar el punto de vista que se
tome. Es necesario llevar registros de todas las actividades que desarrollan y de las entidades
involucradas, y se deben de cambiar periódicamente para reflejar la secuencia de eventos en el
sistema. Para hacerlo es necesario llevar registros de los tiempos de eventos y los cálculos deben
computar los tiempos de eventos futuros conforme se desarrolla la simulación.
El paso del tiempo se registra mediante un número al que se conoce como tiempo del
reloj. Generalmente se hace igual a cero al principio de una simulación y posteriormente indica
cuántas unidades de tiempo simulado han transcurrido desde el inicio de la simulación. A menos
que específicamente se expresa de manera contraria, el término tiempo de simulación significa el
tiempo de reloj indicado y no el tiempo que ha necesitado un computador para realizar la
simulación. Por regla general no hay conexión directa entre el tiempo simulado y el necesario
para realizar los cómputos. El factor de control en la determinación del tiempo de cómputo es el
número de eventos que ocurren. Dependiendo de la naturaleza del sistema que se simula, y el
detalle con que se modela, puede variar considerablemente la relación del tiempo simulado al
tiempo real. Si una simulación estudiara el funcionamiento detallado de un sistema de
computador en que los eventos reales ocurren en intervalos medidos en fracciones de
microsegundos, aunque la simulación se realizara en un computador digital de alta velocidad,
fácilmente tomaría varios miles de veces mas tiempo que la operación real del sistema.
Existen dos métodos básicos de actualizar el tiempo del reloj. Uno consiste en avanzar el
reloj a la hora a que debe ocurrir el siguiente evento. El otro método es avanzar el reloj en
intervalos pequeños (generalmente uniformes) y determinar en cada intervalo si debe de ocurrir
un evento en ese momento. Al primer método se le conoce como orientado al evento y del
segundo se dice que está orientado a intervalos. Por lo general la simulación de sistemas
discretos se realiza utilizando el método orientado a los eventos en tanto que la simulación de
sistemas continuos utiliza normalmente el método orientado a los intervalos.
83
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Sin embargo, se debe de señalar que no se puede expresar una regla definitiva con
respecto a la manera en que se representa el tiempo en las simulaciones para sistemas discretos y
continuos. Un programa orientado a los intervalos detecta cambios discretos y por tanto puede
simular sistemas discretos, en tanto que se puede hacer que un programa orientado a eventos siga
cambios continuos introduciendo artificialmente eventos que ocurren a intervalos regulares.
La entidad que llega generalmente requiere que se generen ciertos valores de atributos, en
cuyo caso debe ponerse atención a la hora en que se generan los valores. Se pueden generar
cuando se calcula el tiempo de llegada o pueden generarse cuando la entidad llega físicamente. Si
no hay interacción entre los atributos y los eventos que ocurren dentro del sistema, la generación
puede hacerse en cualquier momento. Sin embargo, si los valores de los atributos dependen del
sistema, se debe acordar que al tiempo de generar el tiempo de la llegada, la llegada real todavía
es un evento en el futuro. Entonces es necesario posponer la generación de los valores de atributo
hasta que se ejecute el evento de la llegada. Por ejemplo una simulación en que se generan
llamadas telefónicas. Es necesario generar la longitud de la llamada y su origen. No hay
interacción entre la distribución de la longitud de la llamada y el estado del sistema, de manera
que se puede generar la longitud de la llamada al tiempo que se decide la hora de llegada o
cuando llega la llamada. Sin embargo, una llamada no puede provenir de alguna línea que ya esté
ocupada, de manera que la selección del origen debe de posponerse hasta que llegue la llamada.
Elegir el origen cuando se decide la hora de llegada implica el riesgo de que otra llamada haya
ocupado el origen propuesto antes de que llegue la llamada en cuestión.
El sistema tiene una cantidad de teléfonos (sólo se muestran los ocho primeros)
conectados a un conmutador mediante líneas. El conmutador tiene una cantidad de enlace que se
pueden utilizar para conectar cualesquiera dos líneas, sujeto solo a la condición de que se puede
84
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
hacer únicamente una conexión a la vez a cada línea. Se supondrá que el sistema es de llamadas
perdidas, o sea que se abandona de inmediato toda llamada que no se pueda conectar cuando
llega. Una llamada se puede perder debido a que el llamado puede estar ocupado, en cuyo caso se
dice que la llamada está ocupada; o también se puede perder debido a que no se disponga de un
enlace, en cuyo caso se dice que es una llamada bloqueada.
El estado actual del sistema, que se muestra en la figura es que la línea 2 está conectada
ala 5 y que la línea 4 está conectada a la 7. En la figura 2 aparece una manera de representar el
estado del sistema. Se considera a cada línea como una entidad que tiene como atributo a su
disponibilidad. Se establece una tabla de números para mostrar el estado actual de cada línea. Un
cero en la tabla significa que la línea está libre, en tanto que uno significa que está ocupada.
DE A LONG
3 7 120
SIGUIENTE
LLAMADA HORA DE LLEGADA
LÍNEAS
1057
1 0
ENLAC ES
2 1 LLAMADAS EN PROC ESO
NUM. 3
3 0 MAX.
2 DE A FIN
4 1 EN USO
RELO J
5 1 4 7 1075
1027 2 5 1053
6 0
7 1
8 0
CONTADORES DE LLAMAS
PROCESADAS COMPLETADAS BLOQUEADAS OCUPADAS
131 98 5 28
85
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
No es necesario llevar una historia detallada de cada enlace individual, ya que cada uno
puede dar servicio a cualquier línea. Basta con incorporar en el modelo la restricción impuesta
por el hecho de que hay un número fijo de enlaces (en este caso tres). Bajo estas circunstancias,
el grupo de enlaces se representa como una sola entidad en que loa atributos son el número
máximo de enlaces y los que actualmente están en uso. En consecuencia, dos números
representan los enlaces.
Para llevar control de los eventos se concluye un número que representa el tiempo de
reloj. De momento se indica que el tiempo de reloj es 1027, en que se considera que la unidad de
tiempo es 1 segundo. El reloj se actualiza en la forma orientada a los eventos según se desarrolla
la simulación. Cada llamada es una entidad separada que tiene como atributos a su origen, destino
y longitud. La simulación se realizará utilizando el concepto orientado a las partículas de los
eventos, de manera que será necesario generar el tiempo en que termina la llamada, como un
atributo adicional de la misma. Existe una lista de llamadas en proceso que muestra cuáles líneas
conecta cada llamada y la hora que termina la llamada. Para generar la llega de llamadas se
utiliza el método de cordón de bota, de manera que se lleva un registro de la hora en que debe
llegar la siguiente llegada. Se supondrá que la llamada tiene igual probabilidad de provenir de
cualquier línea que no esté ocupada, y que puede dirigirse a cualquier línea excepto a si misma,
sin importar que la línea está ocupada o no. La selección del origen debe de posponerse hasta que
llegue la llamada. Por conveniencia se generarán en ese momento tanto el origen como el destino
y longitud de la llamada. La generación de la longitud de la llamada se puede posponer no sólo
hasta que haya llegado la llamada sino hasta determinar si se puede conectar.
El conjunto de números dentro del bloque principal de la figura 2 recuerda el estado del
sistema al tiempo 1027. Hay dos actividades que provocan eventos; pueden llegar nuevas
llamadas y pueden terminar las llamadas existentes.
86
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
DE A LONG
3 7 120
SIGUIENTE
LLAMADA
HORA DE LLEGADA
LÍNEAS
1057
1 0
ENLACES
2 0 LLAMADAS EN PROCESO
NUM. 3
3 0 MAX. 1 DE A FIN
4 1 EN USO
RELO J
5 0
1053 4 1075
6 0 7
7 1
8 0
CONTADORES DE LLAMAS
PROCESADAS COMPLETADAS BLOQUEADAS OCUPADAS
132 99 5 28
Se puede ver que el siguiente evento es la llegada de una llamada el tiempo 1057. Se
actualiza el reloj al tiempo de llegada y se generan los atributos de la nueva llegada. Ya que la
actividad elegida es conectar una llamada, es necesario realizar pruebas; primero para determinar
si hay un enlace disponible, y luego para determinar si está ocupado el que recibirá la llamada. En
este caso el que recibe la llamada está ocupado de manera que se pierde la llamada. Se
incrementan en 1 los contadores de llamadas procesadas y de llamadas ocupadas. Se genera una
nueva llegada y entonces el estado del sistema al tiempo de que se perdió la llamada aparece
como se muestra en la figura 4.
DE A LONG
3 6 98
SIGUIENTE
LLAMADA HORA DE LLEGADA
LÍNEAS
1063
1 0
ENLACES
2 0 LLAMADAS EN PROCESO
NUM. 3
3 0 MAX. 1 DE A FIN
4 1 EN USO
RELO J
5 0
1057 4 1075
6 0 7
7 1
8 0
CONTADORES DE LLAMAS
PROCESADAS COMPLETADAS BLOQUEADAS OCUPADAS
133 99 5 29
87
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Nuevamente el siguiente evento potencial es una llamada, pero esta vez puede conectar la
llamada llegada de manera que el estado del sistema cambia al que se muestran en la figura 5.
DE A LONG
1 5 132
SIGUIENTE
LLAMADA
HORA DE LLEGADA
LÍNEAS
1082
1 0
ENLACES
2 0 LLAMADAS EN PROCESO
NUM. 3
3 1 MAX. 2 DE A FIN
4 1 EN USO
RELO J
5 0 3 6 1161
1063 4 1075
6 1 7
7 1
8 0
CONTADORES DE LLAMAS
PROCESADAS COMPLETADAS BLOQUEADAS OCUPADAS
133 99 5 29
ATRIBUTOS DE ACTIVIDADES
LASENTIDADES
IMAGEN DEL
GENERA SISTEMA RUTINAS
MDELO
88
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
GENERAR
CREAR MODELO
ENCONTRAR
1 SIGUIENTE
EVENTO
POTENCIAL
2 ELEGIR
ACTIVIDAD
3 DETERMINAR SI SIMULAR
PUEDE HACERSE
N
Y
CAMBIAR
4 IMAGEN
5 RECABAR
ESTADISTICAS
Y
MAS
GENERAR INFORME
INFORME
89
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
UNIDAD V
Validación
Cálculo Del Número Óptimo De Simulaciones
Debido a la naturaleza probabilística de los sistemas donde se utiliza la simulación, se
hace imprescindible crear modelos cuyos resultados sean estadísticamente iguales a los sistemas
reales. Uno de los factores que afectan en forma directa estos resultados es el tamaño de la
corrida de simulación o bien el número de corridas de simulación realizadas para encontrar
resultados confiables. Al realizar una corrida de simulación el resultado promedio de las variables
del sistema tienen un período de inestabilidad y, conforme transcurre el tiempo, esas variables
tienden a un estado estable y es entonces cuando los valores de las variables de respuesta son
confiables.
σ 2 (Zα 2 )2
n=
K2
Donde:
Z = Estadístico normal estándar para cierta α.
K = Desviación absoluta máxima permitida sobre la media de la distribución a simular.
σ2 = Variancia de la distribución a simular.
90
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
s 2 (tn1−1,α 2 )
2
n=
K2
Donde:
Esta segunda fórmula se emplea para calcular n óptima basándose en una corrida
simulada del sistema de tamaño n1. A esta corrida pequeña se le conoce como prueba piloto, y su
función es calcular n en función de la distribución general y del generador utilizado en la prueba
piloto.
Pueden usarse ambas fórmulas siempre y cuando la información de donde se obtienen los
estimadores sigan, estadísticamente, una distribución normal. En caso de que los datos analizados
sigan otra distribución se debe hacer uso del teorema de Tchebycheff de tal suerte que el cálculo
se ve reducido a:
m2
n=
α
Donde:
α = Probabilidad de error permitida.
m2 = Número de desviaciones estándar máximo permitido sobre la media de la
distribución a simular.
El cálculo del número de corridas óptimo, del modelo de simulación en donde se tengan
varias variables probabilísticas, se realiza ejecutando el cálculo para cada una de ellas y se
selecciona la mayor de todas las n; éste será el número de simulaciones del modelo
computacional.
Ejemplo:
σ 2 (Zα 2 )2
n=
K2
91
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Donde:
Z = 1.96 para una confiabilidad del 95%
K = 0.166s = 0.166 σ
Sustituyendo la información:
n = 139.4
m2 36
n= = = 720.00
α 0.05
Este cálculo del número de simulaciones óptimo, es un cálculo a priori, sin embargo, no
se asegura del todo que se cumpla con las condiciones de estabilidad.
Teniendo los resultados de cada una de las réplicas, es necesario tomar estos resultados
para calcular los estimadores de media, variancia e intervalo de confianza de acuerdo con el
siguiente procedimiento.
Calcular la media y variancia de las observaciones para cada réplica individual con las
fórmulas:
n
xj = 1
n ∑x
i =1
ij
∑ (x − xj )
n
sj =
2 1 2
n −1 ij
i =1
92
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Con la media y la variancia de cada una de las réplicas, encuentre la media y variancia
entre réplicas con las fórmulas siguientes:
r
x= 1
r ∑xj =1
j
∑ (x − x)
n
s2 = 1 2
r −1 j
i =1
Ic = x ±
(s )t
x rr −1,α 2
Reducción De Varianza
En muchos estudios de simulación, una gran parte del tiempo se emplea en el desarrollo
del modelo y en la programación del mismo; pero sólo un pequeño esfuerzo se utiliza para
desarrollar un diseño apropiado de las corridas o para analizar correctamente los resultados que
genera la simulación. Partiendo de que la información de entrada es una variable aleatoria, la
información de salida es también aleatoria. Por lo tanto, un modelo de simulación sólo puede
producir un estadístico estimado de la medida de desempeño.
Ejemplo:
93
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Observe que los resultados para varias corridas pueden ser completamente diferentes. Así,
una sola corrida no produce las respuestas. Se presentan aquí algunas técnicas que ayudarán al
analista a encontrar de forma más rápida un estimador del resultado.
Muestreo antitético
El objetivo de esta técnica es inducir una correlación negativa entre los elementos
correspondientes en las series de números aleatorios utilizados para generar variaciones de
entrada en réplicas diferentes. Una forma de generar correlaciones negativas consiste en correr el
modelo, primero, con números aleatorios ri para obtener u estimador Y1 del parámetro estudiado
y después, con números 1-ri, obteniendo un estimador Y2 del parámetro estudiado.
Corridas comunes
El objetivo principal es iniciar nuevas corridas de simulación utilizando siempre los datos
almacenados; de esta forma, el uso de las corridas comunes afecta a todas las alternativas de igual
forma. Se debe aplicar cuando el problema consiste en la comparación de dos o más alternativas.
Muestreo clasificado
94
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Variaciones de control
Este método utiliza aproximaciones de modelos analíticos para reducir la varianza. Por
ejemplo, una simulación puede ser un modelo complejo de colas donde interese conocer la
longitud promedio de la fila, cuyo valor puede estimarse analíticamente.
Muestreo estratificado
Muestreo sesgado
Consiste en distorsionar las probabilidades físicas del sistema real, de tal forma que los
eventos de interés ocurran más frecuentemente. Los resultados obtenidos presentarán también
una distorsión que debe corregirse mediante factores probabilísticos de ajuste.
Validación De Resultados
Al usar la simulación para estudiar un sistema complejo, encontramos varios tipos de
error como:
a) errores de diseño,
b) errores en la programación,
c) errores en los datos utilizados,
d) errores en el uso del modelo,
e) errores en la interpretación de los resultados.
Evaluar un modelo significa desarrollar un nivel aceptable de confianza de modo que las
interferencias obtenidas del comportamiento del modelo sean correctas y aplicables al sistema del
mundo real. La validación y verificación es una de las tareas más importantes y difíciles que
enfrenta la persona que desarrolla un modelo de simulación.
95
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Ejemplo
H0 : V(modelo) = V(real)
H1 : V(modelo) ≠ V(real)
V(real) = 40.57
V(modelo) = 36.96
2
S1 40.57
F= =
S 2 36.96
H0 : µ(modelo) = µ(real)
H1 : µ(modelo) ≠ µ(real)
E(modelo) = 104.90
E(real) = 103.87
96
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
x1 x2
t= −
n1σ 1 + n2σ 2
2 2
1 1
+
n1 + n 2 n1 n 2
104.9 103.87
t= − = 0.3496
8(40.57 ) + 10(36.96 ) 1 1
+
8 + 10 8 10
Ya que t es menor que tc, se acepta que los resultados en cuanto a la producción de
carburadores por día del simulador son estadísticamente iguales, en cuanto a la media, a los de la
producción real.
En cuanto a la prueba de forma entre ambas muestras no se puede afirmar nada ya que la
cantidad pequeña de datos que se está manejando imposibilita la formación de histogramas para
realizarla.
Optimización
La finalidad de cualquier análisis de sistemas es optimizar la medida de efectividad,
describiendo normas para las variables de decisión a la vista de variables no controlables. Así
pues, el tomador de decisiones desea encontrar ese conjunto de variables de decisión.
• Simplex
• Simplex EVOP
• Superficies de repuestas
97
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Sensibilidad Y Experimentación
Es el último paso dentro del proceso de simulación y puede efectuarse antes o durante la
implantación de las soluciones en el proceso real. Consiste en jugar o experimentar con el
modelo ante situaciones nuevas o imprevistas, que tengan cierta probabilidad de ocurrencia, con
el objeto de encontrar una solución óptima ante ese posible escenario. Esto es útil pues los
sistemas reales son dinámicos y de esta manera podemos adelantarnos y ser capaces de hacerles
frente con anticipación. El análisis de sensibilidad se enfoca principalmente a estudiar las
variables no controlables por el tomador de decisiones dentro del proceso real.
Monitoreo
Como se acaba de mencionar, los sistemas reales son dinámicos, esto significa que se
debe llevar un estricto control de los cambios ocurridos en ellos para inmediatamente
implantarlos en el modelo y para que pueda seguir siendo un fiel reflejo de la realidad.
98
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
Bibliografía
Simulación de Sistemas
Geofrey Gordon
Editorial Diana
99