P. 1
2032448-SIMULACION

2032448-SIMULACION

|Views: 12.099|Likes:
Publicado porElizabeth Trelive

More info:

Published by: Elizabeth Trelive on May 27, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

08/10/2013

pdf

text

original

Sections

  • El Proceso De La Simulación
  • Actividades De Presimulación
  • Actividades De Desarrollo
  • Actividades De Operación
  • Consideraciones Relativas A La Simulación
  • Variables Exógenas
  • Variables De Estado
  • Variables Endógenas
  • Parámetros
  • Características De Operación
  • Identidades
  • Métodos Analíticos, Numéricos Y De Simulación
  • Simulación De Un Sistema De Inventarios
  • Método De Congruencias:
  • 2. Método Multiplicativo
  • Método Multiplicativo
  • Computadoras Binarias
  • Pruebas Estadísticas
  • Prueba De Medias
  • Prueba De Varianza
  • Prueba De Poker
  • Prueba De Series
  • Definiciones
  • Teoremas
  • Método De La Transformación Inversa
  • Método De Rechazo
  • Método De Composición
  • La Distribución De Poisson
  • Distribución Erlang
  • Distribución Binomial
  • Método De Transformación Inversa Para Distribuciones Discretas
  • Estructura Del Lenguaje:
  • Lenguajes Específicos De Simulación
  • Características De Los Lenguajes De Simulación
  • Clasificación De Los Lenguajes De Simulación
  • Introducción A Los Bloques GPPS
  • Lenguaje GPSS
  • TIPOS DE BLOQUES DE GPSS
  • SÍMBOLOS DE LOS DIAGRAMAS DE BLOQUES DEL GPSS
  • Simulación De Sistemas Discretos
  • Cálculo Del Número Óptimo De Simulaciones
  • Cálculo Del Número De Réplicas
  • Reducción De Varianza
  • Validación De Resultados
  • Optimización
  • Sensibilidad Y Experimentación
  • Monitoreo
  • Bibliografía

Instituto Tecnológico de Acapulco Catedrático: Ing.

Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
1
Instituto Tecnológico de Acapulco


Ingeniería en Sistemas
Computacionales


Apuntes de Apuntes de Apuntes de Apuntes de
Simulación Simulación Simulación Simulación


Catedrático
Ing. Vales Ortiz Gilberto


Alumno



Horario

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
2
Índice

Unidad I. Introducción a la simulación Unidad I. Introducción a la simulación Unidad I. Introducción a la simulación 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

Unidad II. Generación de Números Pseudoaleatorios Unidad II. Generación de Números Pseudoaleatorios Unidad II. Generación de Números Pseudoaleatorios Unidad II. Generación de Números Pseudoaleatorios

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

Unidad III. Generación de valores de variables aleatorias Unidad III. Generación de valores de variables aleatorias Unidad III. Generación de valores de variables aleatorias Unidad III. Generación de valores de variables aleatorias

Método de transformación inversa .............................................................................. 44
Método de rechazo ...................................................................................................... 47
Método de composición .............................................................................................. 50
Distribución de POISSON........................................................................................... 51
Distribución ERLANG................................................................................................ 53
Distribución binomial.................................................................................................. 53
Método de transformación inversa para distribuciones discretas................................ 54

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
3
Unidad IV. Lenguaje de Simulación Unidad IV. Lenguaje de Simulación Unidad IV. Lenguaje de Simulación Unidad IV. Lenguaje de Simulación

Estructura del lenguaje ................................................................................................ 58
Lenguajes específicos de simulación........................................................................... 60
Características de los lenguajes de simulación............................................................ 60
Clasificación de los lenguajes de simulación.............................................................. 61
Introducción a los bloques GPSS ................................................................................ 62
Lenguaje GPSS............................................................................................................ 64
Tipos de bloques de GPSS .......................................................................................... 70
Símbolos de los diagramas de bloques de GPSS ........................................................ 71
Simulación de los sistemas discretos........................................................................... 83

Unidad V. Unidad V. Unidad V. Unidad V. Validación Validación Validación Validación

Cálculo del número óptimo de simulación.................................................................. 90
Cálculo de número de réplicas .................................................................................... 92
Reducción de varianza................................................................................................. 93
Validación de resultados.............................................................................................. 95
Optimización ............................................................................................................... 97
Sensibilidad y experimentación................................................................................... 98
Monitoreo .................................................................................................................... 98
Bibliografía.................................................................................................................. 99


















Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
4
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.

Simulación: “Es una técnica numérica para conducir experimentos en un computador
digital, la cual incluye ciertos tipos de relaciones lógicas y matemáticas necesarias para describir
la estructura y comportamiento de un sistema complejo del mundo real sobre un periodo de
tiempo”.

También se considera a la simulación como un proceso para describir la esencia de la
realidad, el cual incluye la construcción, experimentación y manipulación de un modelo
complejo en un computador.

El uso de la metodología de simulación ofrece ventajas y desventajas, entre las cuales
podemos mencionar las siguientes:

Ventajas:

1. La simulación hace posible estudiar y experimentar con las interacciones complejas de un
sistema dado (sin importar cuál).
2. A través de la simulación podemos estudiar el efecto de cambios ambientales,
organizacionales de cierta información, en la operación del sistema.
3. La observación detallada del sistema simulado nos permite tener una mejor comprensión
del mismo.
4. La experiencia al diseñar un modelo de simulación para computadora es más valiosa que
la simulación en sí.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
5
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.

Filosofía, Desarrollo E Implementación De Un Modelo De Simulación

La simulación es una de las herramientas más fáciles de usar en la ciencia administrativa,
pero posiblemente una de las más difíciles de aplicar apropiadamente.

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.

El proceso comprende tres tipos de actividades:

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.

Estos objetivos se pueden categorizar en:

Caracterización del sistema a ejecutar esto nos lleva a:

1. Selección de los parámetros de operación del sistema ya existente.
2. Selección de los parámetros de operación de un sistema propuesto.
3. Exploración del comportamiento del sistema.



Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
6
Modificación De Un Sistema Existente

Diseño de un nuevo sistema.

En esta etapa del proceso el usuario debe evaluar las diferentes herramientas disponibles
relacionadas con su objetivo.
























Ejemplos:

• EOQ: Modelo Tamaño de lote (control de inventarios) método de solución
deductivo.
• SIMPLEX: Es una solución algorítmica.

La simulación es una técnica apropiada donde no es factible experimentar con el sistema
mismo o donde las técnicas analíticas directas no son disponibles.






ACTIVIDADES DE PRESIMULACIÓN
RECONOCIMIENTO
DEL PROBLEMA
ANÁLISIS DEL
SISTEMA
ESTABLECIMIENTO
DEL OBJETIVO
DEDUCTIVO SIMULACIÓN ALGORITMO
SELECCIÓN
APROXIMADA
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
7
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”.

En el estudio del diseño de sistemas, el propósito es producir un sistema que satisfaga
algunas especificaciones. El diseñador puede elegir o planear determinados sistemas de
componentes y conceptualmente elige una combinación determinada de componentes para
construir un sistema.

El sistema propuesto se modela y se predice su comportamiento. Un modelo validado es
aquel que ha probado comportarse tal como el diseñador lo intento. Fishman y Kiviat sugieren
técnicas para verificación incluyendo métodos estadísticos que nos llevan más allá de las
prácticas usuales de simples análisis comparativos.

La validación y verificación de un modelo parecieran ser lo mismo, pero difieren
conceptualmente de manera sutil.

Un modelo validado, es aquel que ha probado ser una “abstracción” razonable del sistema
del mundo real que intenta representar.

La aproximación usual de “validación” es la corrida del modelo con datos históricos y
comparar los resultados del modelo con los resultados del sistema para los mismos datos. Tal
comparación usualmente no es válida debido a que el modelo puede ser de naturaleza
experimental o predictivo.

El diseño estratégico se refiere a la actividad de planeación y diseño de la
experimentación, incluye la especificación de la información que va a ser determinada y la
exactitud de esta información. Existen técnicas apropiadas de diseño experimental, tales como
factorial completo, fracción factorial, etc.

La experimentación al establecer un objetivo sirve para:

1. Exploración del comportamiento del sistema
2. Optimización de los parámetros del sistema

La exploración del comportamiento del sistema intenta explicar la relación entre los
resultados de la Simulación y los parámetros controlables.

La optimización es ejecutada para encontrar la combinación de los niveles de los
parámetros los cuales minimizan o maximizan los resultados de la simulación.




Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
8



















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.

También incluye el establecimiento de las condiciones iniciales de las variables del
modelo, la estimación de los parámetros que alcanzan el estado de equilibrio del sistema. El
usuario debe determinar como debe reconocer el equilibrio.

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.

Si el objetivo ha sido alcanzado, el estudio de simulación ha sido completado. No
obstante, debido a que la simulación es un proceso de prueba-error, con frecuencia el objetivo no
se puede alcanzar, entonces optamos por las dos alternativas generales disponibles.

• La primera es la de modificar el modelo.
• La segunda es la de utilizar el mismo modelo alternando el diseño del
experimento, usando nuevas técnicas.




ACTIVIDADES DE DISEÑO
DISEÑO DEL
MODELO
DISEÑO
ESTRATÉGICO DEL
EXPERIMENTAL
VERIFICACIÓN DEL
MODELO
VALIDACIÓN DEL
MODELO
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
9
ACTIVIDADES DE OPERACIÓN
DISEÑO TÁCTICO DE
EXPERIMENTACIÓN
OPERACIÓN DEL
MODELO
¿EXPERIMENT
O COMPLETO?
CAMBIOS EN LOS
PARAMETROS
NO
SI
ANÁLISIS DE DATOS
SIMULADOS
SE CUMPLEN
LOS OBJETIVOS?
NO
SI
MODIFICAR
EXPERIMENTO MODELO
ALTO

































Consideraciones Relativas A La Simulación

Los siguientes tópicos generalmente son cubiertos en textos de simulación:

• 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

El objeto del modelo científico es permitir al analista la determinación de uno o más
cambios en los aspectos del sistema modelado que afectan otros aspectos del sistema e incluso la
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
10
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.

Los modelos matemáticos de sistemas económicos constan de 4 elementos bien definidos:
los componentes, las variables, los parámetros y las relaciones funcionales.

Las variables se usan para relacionar un componente con otro y se clasifican en:

a) Variables Exógenas (Independientes o de entrada del modelo)
b) Variables de Estado (Controlables o no controlables)
c) Variables Endógenas (Dependientes o de salida del sistema)

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.

Es posible clasificar las variables exógenas en controlables y no controlables. Las
controlables son aquellas variables o parámetros susceptibles de manipulación o control por
quienes toman decisiones. Las no controlables las genera el medio ambiente en el cual el sistema
modelado existe y no el sistema en si o los encargados de tomar decisiones.

Las variables de estado describen el estado de un sistema o uno de sus componentes, ya
sea al comienzo, al final o durante un período de tiempo.

El valor de una variable de estado, durante un período particular de tiempo, puede
depender no solamente de los valores de una o más variables exógenas en algún período
precedente, sino también del valor de ciertas variables de salida en períodos anteriores.

Las variables de estado de una empresa podrían incluir el efectivo, el inventario y el
pasivo de un período particular (de tiempo), así como también las ventas en algún período
precedente y los gastos de propagandas para algún período futuro.

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.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
11
Las variables exógenas se emplean en dos formas diferentes en experimentos de
simulación: es posible tratarlas como los parámetros dados, las cuales tienen, por supuesto, que
estimarse con anterioridad y almacenarse dentro de la computadora como datos de entrada; si
son variables estocásticas, existe la posibilidad de generarlas internamente en la computadora.

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.

Las identidades tomaran la forma de definiciones o declaraciones tautológicas, relativas a
los componentes del modelo. Una característica de operación es una hipótesis, generalmente
una ecuación matemática, que relacionan las variables endógenas y de estado del sistema, con sus
variables exógenas.

Para ilustrar el sistema de clasificación de elementos de los modelos matemáticos
considérese el siguiente ejemplo:

Se considera un modelo simple de un fenómeno de espera, de un solo canal y con
estaciones múltiples para una empresa. Los componentes de este modelo se ilustran en la figura
1. Y consiste de ordenes que llegan a la empresa y procesos, a través de los cuales, una orden
pasara antes de completarse.








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.

El modelo contiene las siguientes variables, parámetros, características de operación e
identidades.

Variables Exógenas.

AT
i
= El intervalo de tiempo entre la llegada de la i-ésima orden y la (i-1)-ésima orden, en
donde i=1,2,...,m.

ST
ij
= El tiempo de procesamiento para la i-ésima orden en el j-ésimo proceso en donde
i=1,...,m y j=1,2,...,n.



PEDIDOS DE
FÁBRICA
PROCESO
1
PROCESO
2
PROCESO
n

Fig1. Diagrama de flujo de una empresa con procesos múltiples.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
12
AT
1
= 0
WT
11
= 0, WT
12
= 0,..., WT
1n
= 0
n-1

IDT
11
= 0, IDT
12
= ST
11
,..., IDT
1n
= ∑ST
1j

j=1

T
11
= ST
11
, T
12
= ST
12
,..., T
1n
= ST
1n

Variables De Estado.

WT
ij
= el tiempo que la i-ésima orden espera para entrar al j-ésimo proceso, en donde
i=1,...,m y j=1,...,n.

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

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

T
i
= 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 (ST
ij
) = El tiempo esperado para el j-ésimo proceso donde j=1,2,...n.
Var (ST
ij
) = La varianza del tiempo para el j-ésimo proceso donde j=1,2,...n.

Características De Operación

f (AT
i
) = La función de densidad de probabilidad para el intervalo de tiempo entre las
órdenes.
f (ST
ij
) = 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:










Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
13
Para órdenes subsiguientes, esto es, cuando i = 2,3,...,m, estas ecuaciones se modifican
adecuadamente; las ecuaciones de tiempo se convierten en:








Que el tiempo de espera o el tiempo de ocio, ocurra en un momento particular, depende
del signo de las diferencias siguientes, donde i = 2,. . .,m :







Si DIF
j
es positiva para el j-ésimo proceso, entonces el tiempo de ocio será nulo y el
tiempo de espera puede calcularse con:




Si DIF
j
es negativo

para un proceso en particular, entonces el tiempo de espera será nulo y
el tiempo de ocio será igual a:




Si DIF
j
es igual a cero para un proceso en particular, entonces el tiempo de espera y el
tiempo de ocio, serán nulos para ese proceso.

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.






T
i1
= WT
i1
+ ST
i1
i=2,...,m
T
i2
= WT
i2
+ ST
i2
i=2,...,m
. . . . . . . . . . . . . . .

T
in
= WT
in
+ ST
in
i=2,...,m

DIF
1
= T
i-1
,
1
- AT
i

DIF
2
= (T
i-1
,
1
+ T
i-1
,
2
) – (AT
i
+ WT
i1
+ ST
i1
)
...................................................................................
DIF
n
= (T
i-1
,
1
+ T
i-1
,
2
+ ... + T
i-1
,
n
) – (AT
i
+ WT
i1
+ ST
i1
+ ... + WT
i
,
n-1
+ ST
i
,
n-1
)
WT
ij
= DIF
j
i = 2,...,m j = 1,...,n
IDT
ij
= - DIF
j
i = 2,...,m j = 1,...,n
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
14
Métodos Analíticos, Numéricos Y De Simulación

Consideremos un ejemplo simplificado de un ordenador, compuesto por un sistema de
entrada/salida (E/S) y una unidad de proceso (CPU). El ordenador falla cuando lo hace alguno de
los componentes. Expresado matemáticamente, si X
1
designa el fallo de E/S, X
2
el tiempo hasta
el fallo de la CPU, y T el tiempo hasta el fallo del ordenador, tenemos T= min(X
1
, X
2
).
Habitualmente, habrá incertidumbre sobre los tiempos anteriores, por lo que consideramos que
X
1
, X
2
y T son variables aleatorias. Supongamos que estamos interesados en calcular el tiempo
esperado E(T) hasta el fallo, tal vez como parte de un estudio destinado a mejorar la fiabilidad del
ordenador. Para simplificar la exposición, supongamos que X
i
es exponencial de parámetro
2 , 1 , = i
i
µ , y ambas variables aleatorias son independientes. En este caso, tenemos que

∫ ∫
∞ ∞
− −
=
0 0
2 1 2 1 2 1
2 2 1 1
) , min( ) ( dx dx e e x x T E
x x µ µ
µ µ

Aproximación Analítica

Apelamos a resultados del Cálculo de Probabilidades, teniendo en cuenta la independencia y el
tipo de distribuciones. Resulta

( ) ( ) ( )
( )t t t
e e e t X P t X t X P t T P
2 1 2 1
1 2 1
,
µ µ µ µ + − − −
= = > = > > = >
Por lo tanto, T tiene distribución exponencial de parámetro
2 1
µ µ + , con lo cual
2 1
1
) (
µ µ +
= T E .
Por ejemplo, si 1
1
= µ , 2
2
= µ ,
3
1
) ( = T E .

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.

Una posibilidad, en tal caso, es apelar a algún procedimiento de integración numérica.
Típicamente, un paso inicial será reparametrizar el problema, de manera que la región de
integración sea acotada. Por ejemplo, tenemos que, haciendo el cambio de variable
( )
i
i
i
u
X
µ

− =
1 ln


( )
( ) ( )
2 1
1
0
1
0
2
2
1
1
1 ln
,
1 ln
min du du
u u
T E
∫ ∫ |
|
¹
|

\
| − −
− =
µ µ


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
15
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.

Aproximación Basada en Simulación.

La aproximación basada en simulación consistirá en construir un programa que describa el
comportamiento del sistema y realizar experimentos con él. En este caso, podríamos utilizar

tiempofallo=0
desde i=1 hasta n
desde j=1 hasta 2
generar Uj uniforme en (0,1)
hacer
j j j
u X µ )) 1 (ln( − − =
tiempofallo=tiempofallo + min(X
1
, X
2
)
esp(tiempofallo)=tiempofallo/n

Esencialmente, el programa simula tiempos de fallo X
1
, X
2
y calcula el mínimo de ellos,
repitiéndose el proceso n veces, esto es, simulando n caídas del sistema.

El proceso de generar U
1
y luego transformarla mediante
i i i
u X µ )) 1 (ln( − − = , nos permite
simular tiempos hasta rotura del componente i-ésimo. Para la aplicación particular, supongamos
que tenemos acceso a la tabla 1.1 de números aleatorios. Por ejemplo, si decidimos que n=20,
podemos escoger los 20 primeros números para generar los U
1

16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92

Y los últimos para generar U
2
.

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
U
1
=.16, U
2
=.38, X
1
=.17, X
2
=.24 y min(X
1
, X
2
)=.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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
16
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

Tabla 1.1 Números Aleatorios

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.




















Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
17
Simulación De Un Sistema De Inventarios

La simulación es usada para comparar alternativas ordenando políticas para un sistema de
inventarios. Muchos de los elementos de modelos representativos son encontrados en sistemas
de inventarios actuales.

Planteamiento del problema

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







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

donde I es el nivel del inventario al inicio del mes.

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
1 w.p 1/6
2 w.p 1/3
3 w.p 1/3
4 w.p 1/6
D = donde w.p. se lee ”con probabilidad”.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
18
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.

I^+(t)=max {I(t),0}: Es el número de artículos físicamente disponibles en el tiempo t del
inventario.

El tiempo de los puntos al cual I(t) decrece son los únicos puntos donde ocurre la demanda.






















Para nuestro modelo, debemos asumir que la compañía incurre en un costo de
mantenimiento de h=1 por artículo por mes mantenido en el inventario. El costo de
mantenimiento incluye tales costos como la renta del almacén, seguros, impuestos, y
mantenimiento también como el costo de oportunidad de tener el capital en el inventario que
invertir en otra parte.

Hemos ignorado en nuestra formulación el hecho de que algunos costos de mantenimiento
ya incurrieron cuando I
+
(t)=0. Sin embargo, dado que nuestro objetivo es comparar políticas de
ordenar, ignorando este factor, que después de todo es independiente de la política usada, no
afectará en nuestra evaluación de qué política es la mejor. Ahora dado que I
+
(t) es el número de
Punto de Orden Orden de arribo Punto de Orden
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
19
artículos mantenidos en el inventario en el tiempo t, el tiempo promedio (por mes) número de
artículos mantenidos en el inventario por un periodo de n meses es




Que es semejante a la definición del número de tiempo promedio de clientes en la cola.
Así el tiempo promedio del costo de mantenimiento por mes es hI
+


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


Así que el costo promedio de atrasos por mes es ∏I
-
.

Asuma que el nivel de inventario inicial es I(0)=60 y que no ordenar no es importante.
Simulemos el sistema de inventario para n = 120 meses y use el costo total promedio por mes
(que es la suma del costo de ordenar promedio por mes, el costo de mantenimiento promedio por
mes y el costo de déficit promedio por mes) para comparar las siguientes nueve políticas de
inventario.

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)]









Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
20
ORGANIZACIÓN Y LÓGICA DEL PROGRAMA

El modelo de sistema de inventario usa los siguientes tipos de eventos.

Descripción del evento Tipo del evento
Llegada de una orden a la compañía del proveedor 1
Demanda para el producto de un cliente 2
Termino de la simulación después de n-meses 3
Evaluación del inventario (al inicio de mes) 4

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.

La grafica de un evento aparece en la figura 1.42













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

El tamaño de demanda de la variable aleatoria D deberá ser discreta, como se describió
anteriormente, y puede ser generada como sigue. Primero se divide el intervalo unitario en
subintervalos contiguos C
1
[0, 1/6), C
2
=[1/6, 1/2), C
3
=[1/2, 5/6), y C
4
=[5/6,1], y se obtiene una
variable aleatoria uniformemente distribuida en el intervalo U(0,1), si U cae en C
1
, regresa D=1;
si U cae en C
2
, regresa D=2 ; y así sucesivamente.



Orden de
llegada
Demanda Evaluación
Termino de
la simulación
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
21
Evento de
orden de llegada
Incremento del nivel de
inventario por la cantidad
previamente ordenada
Eliminar evento de orden de
llegada de consideración
Regreso
Por tanto el ancho de C
1
es 1/6–0=1/6 , y por tanto U (generador de Nº aleatorios) es
uniformemente distribuido sobre [0,1] , la probabilidad que U caiga en C
1
, (y así que regresamos
D=1) es 1/6; esto concuerda con la probabilidad deseada que D=1, similarmente regresamos a
D=2, si U cae en C
2
teniendo una probabilidad igual al ancho de C
2
, ½ - 1/6= 1/3, como se
deseó y así para los siguientes intervalos.

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

De los cuatro eventos solamente 3 involucran verdaderamente el cambio de estado (el
termino de eventos de simulación es la excepción) por lo tanto su lógica, es un lenguaje
independiente.

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





















Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
22
Evento evaluación
del inventario
Si
I(t)<s?
Determine la cuenta de
orden [S – I(t)]
Costo de orden incurrido y
recoger estadísticas
Programar el evento orden
de llegada para esta orden
Programar el próximo
evento evaluación del
inventario
Return
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

Si el nivel del inventario I(t) en el tiempo de evaluación es al menos s, entonces ninguna
orden se coloca, y no se hace nada excepto la programación de la siguiente evaluación en la lista
de eventos. En cambio, si I(t)<s, colocamos una orden para S – I(t) artículos. Esto es hecho para
almacenar la cantidad de ordenar [S – I(t)]hasta la llegada de la orden, y programar su tiempo de
llegada. En este caso también, queremos programar el próximo evento evaluación del inventario.

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.





























Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
23
El principal punto es si necesitamos actualizar el área debajo de I
-
(t) o I
+
(t) (o ninguno).
Si el nivel de inventario ha sido negativo desde el ultimo evento, entonces tenemos un atraso, en
el área debajo de I
-
(t) solo estaríamos actualizando. En cambio si el nivel del inventario ha sido
positivo necesitamos actualizar en el área I
+
(t). Si el nivel de inventario ha sido cero no se
necesita actualizar. El código en ambos lenguajes para esta rutina también trae la variable de
tiempo del último evento al tiempo presente. Esta rutina será invocada desde el programa
principal justo después de regresar de la rutina coordinada. Ignorando el tipo de evento o si le
nivel del inventario esta actualizado en los cambios en estos puntos. Esto proporciona una simple
manera de actualizar integrales para estadísticas de tiempos continuos.





































Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
24
0 x<0
x 0<x<1
1 x>1
F(X) =
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:




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.

Se tienen cuatro métodos alternativos para generar o proveer sucesiones de números
aleatorios:

1. Métodos manuales {lanzamiento de monedas, dados, cartas, ruleta, etc.}
2. Tablas {corporación rand}
3. Métodos analógicos de computación
4. Métodos de computación digitales

Los métodos analógicos comprenden el uso de procesos físicos aleatorios
(comportamiento de corriente eléctrica), se considera que producen verdaderos números
aleatorios.

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.

La segunda alternativa utiliza un aditamento de la computadora que puede registrar los
resultados de algún proceso aleatorio y que los traduzca a sucesiones de dígitos, tales procesos
pueden ser el decaimiento radiactivo, el ruido térmico, entre otros.

El defecto de estos procedimientos analógicos es el de que las sucesiones así generadas no
pueden reproducirse.

La generación interna por medio de una relación de recurrencia, comprende la
generación por medio de una “transformación indefinidamente continuada” aplicada a un grupo
de números elegidos en forma arbitraria.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
25
n
i+1
≡ a n
i
+ c (mod m) → 1

donde:
n
i
, a, c y m : son enteros no negativos
para i= 0,1,2,... al desarrollar la ecuación

n
1
= a n
0
+ c (mod m)
n
2
= a n
1
c= a(an
0
+ c) + c ≡ a
2
n
0
+ (a +1)c (mod m)
n
3
= a
3
n
0
(a
2
-a+1)c = a
3
n
0
+ c (a
2
-1) (mod m)
. (a-1)
.
.
n
i
= a
i
n
o
+ c(a
i
-1) (mod m) → 2
(a-1)

n
0
= constante inicial
c = constante aditiva
a = constante multiplicativa
El primer método conocido para generar números aleatorios de manera recurrente se
considera que es de los “cuadrados centrales”, en el que cada número de la sucesión se obtiene
tomando los dígitos centrales del cuadrado del número precedente.

En la actualidad se prefiere el uso del método de “congruencias” para generar números
aleatorios satisfactorios.

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:




















Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
26
Los términos de la sucesión {n
i
} forman una sucesión de residuos modulo m, es decir, n
i
<
m ∀ n
i
; a partir de los números enteros de la sucesión {n
i
} se pueden obtener números racionales
en el intervalo (0,1) con solo formar la sucesión:

{r
i
} = {n
i
/ m}

Respecto a la pregunta de que si existe un mínimo valor positivo para i, i=h tal que n
h
= n
0

donde h es el período de la sucesión {n
i
}; si h existe, cabe preguntarse que condiciones se pueden
imponer sobre n
0
, a, c y m de manera que el periodo de {n
i
} sea lo más largo posible.

Se tienen 3 versiones del método de congruencias para generar números
pseudoaleatorios:

1. Método Aditivo

N
i+1
= n
i
+ n
i-k
(mod m)
Si k = 1 se tiene la sucesión de Fibonacci

2. Método Multiplicativo

Produce una sucesión {n
i
} donde cada número es menor que m.
N
i+1
≡ an
i
(mod m)
Este método tiene buenos resultados estadísticos en relación con las
pruebas de aleatoriedad e independencia.

3. Método Mixto

N
i+1
≡ an
i
+ c (mod m)

Método Multiplicativo

El modulo que emplea este método es m = p
e
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.

La ecuación recursiva para generar residuos potenciales es:

n
i+1
≡ an
i
(mod p
e
)


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
27
Computadoras Binarias

m = 2
b

b = número de bits de palabra b >2
h = 2
b-2
máximo período que se puede obtener

El problema se reduce a encontrar multiplicadores que tengan orden h=2
b-2
; a tiene que
ser primo relativo de m=2
b
y por lo tanto tiene que ser impar.

Los valores de a se encuentran en una clase residual que se representa por:

a ≡ ± 3 (mod 8) ó a = 8t ± 3

t = 0, 1, 2, 3,..... entero positivo

Los valores de a próximos a 2
b/2
minimizan la correlación en serie de primer orden. Con
respecto al valor inicial n
o
, este debe ser primo relativo de m = 2
b
, entonces n
0
puede ser
cualquier número entero impar.

Procedimiento:

1. Se escoge cualquier número impar como valor inicial n
0

2. Se elige un entero a = 8t ± 3
3. Se calcula an
0
usando aritmética entera de punto fijo. Este producto consta de 2b
bits, de los cuales se descartan los bits de orden superior, dejando para n
1
los bits
restantes.
4. Se calcula r
1
= n
1
/ 2
b
= n1 / 2
b

5. Cada número aleatorio sucesivo n
i+1
se obtiene a partir de los bits de menor
orden en el producto an
i


Ejemplo:

Sea b = 4, m = 2
4
= 16 y h = 2
4-2
= 4

1.- n
0
= 7 n
0
= 0111

2.- a cerca de 2
b/2
= 4 si t = 1, a puede ser 5 ó 3
si a = 5 a = 0101

3.- an
o
= (0101)(0111) = 00100011
n
1
= 0011 r
1
= 3/16 = 0.1875

4.- an
1
= (0101)(0011) = 00001111
n
2
= 1111 r
2
= 15/16 = 0.9375


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
28
5.- an
2
= (0101)(1111) = 01001011
n
3
= 1011 r
3
= 11/16 = 0.6875

6.- an
3
= (0101)(1011) = 00110111
n
4
= 0111 r
4
= 7/16 = 0.4375

y así sucesivamente...

Computadoras Decimales

m = 10
d
= 2
d
5
d

d = número de dígitos decimales de la palabra. d>3
a = debe ser número primo relativo de 10
d


El orden h de a (mod 10
d
) es: h = m.c.m. [2
d-2
,4 * 5
d-1
] = 5 * 10
d-2


Los multiplicadores constantes con período 5 * 10
d-2
se pueden ubicar en 32 clases
residuales distintas mod 200, dado por:

a = ± (3, 11, 13, 19, 21, 27, 29, 37, 53, 59, 61, 67,69, 77, 83, 91) (mod 200)

ó también se puede expresar como:

a = 200t ± p t = 0, 1, 2, 3, ...
p = uno de los 32 números dados anteriormente.

De igual modo n
0
debe ser primo relativo de m = 10
d
, lo cual implica que tiene que ser
impar, no divisible entre 5 para seleccionarse como valor inicial.

a ≈ 10
d/2


El procedimiento es semejante al caso binario:

1. Selecciónese n
0
, un número impar no divisible entre 5.
2. Selecciónese a = 200t ± p
a ≈ 10
d/2
3. Calcular an
0
utilizando aritmética entera de punto fijo.
4. Calcular r
1
= n
1
/10
d

5. Cada número aleatorio subsecuente n
i+1
se obtiene a partir de los dígitos de
menor orden del producto an
i
.





Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
29
Ejemplo:

Sea d = 4, m = 10
4
= 10,000, h = 5*10
4-2
= 500

1.- n
0
= 5379
2.- a ≈ 10
2
= 100
a = 200(0)+91 ó a = 200(1)-91
a = 91 ó a =109
3.- an
0
= (0091)(5379) =00489489
n
1
= 9489 r
1
= 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.

La prueba de la frecuencia se usa para comprobar la uniformidad de una sucesión de N
números pseudoaleatorios. Para cada conjunto de N números pseudoaleatorios r
1
, r
2
,...r
n
, se
divide el intervalo unitario (0,1) en x subintervalos iguales; el número esperado de números
pseudoaleatorios que se encontrarán en cada subintervalo es N/x. Si fj (j=1, 2...x) denota el
número que realmente se tiene de números pseudoaleatorios r
i
(i=1,2,...N) en el subintervalo (j-
1)/ x ≤ r
i
< j/x entonces el estadístico:

=
N
x
2
1
χ
2
1

=


x
j
j
x
N
f

tiene aproximadamente una distribución x
2
con x-1 g.l…

La hipótesis de que los números pseudoaleatorios en el de conjunto de N números
pseudoaleatorios, son verdaderos números pseudoaleatorios, debe rechazarse si x
1
2
con x-1 g.l.
excede su valor critico fijado por el nivel de significancia deseado.











Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
30
Ejercicio:

Verificar que el conjunto de 100 números aleatorios se distribuye uniformemente, con
α = 5%.

0.001213 0.898980 0.578800 0.676216 0.050106
0.499629 0.282693 0.730594 0.701195 0.182840
0.108501 0.386183 0.769105 0.683348 0.551702
0.557434 0.799824 0.456790 0.216310 0.876167
0.092645 0.589628 0.332164 0.031858 0.611683
0.762627 0.696237 0.170288 0.054759 0.915126
0.032722 0.299315 0.308614 0.833586 0.517813
0.352862 0.574100 0.265936 0.859031 0.433081
0.941875 0.240002 0.655595 0.385079 0.908297
0.199044 0.936553 0.888098 0.817720 0.369820
0.339548 0.543258 0.624006 0.091330 0.416789
0.155062 0.582447 0.858532 0.887525 0.337294
0.751033 0.239493 0.535597 0.333813 0.493837
0.634536 0.199621 0.650020 0.745759 0.791130
0.227241 0.191479 0.406443 0.081288 0.734352
0.721023 0.222878 0.072814 0.641837 0.442675
0.789616 0.052303 0.106994 0.558774 0.141519
0.760869 0.120791 0.277380 0.657266 0.792691
0.805180 0.826543 0.294530 0.208524 0.429894
0.585186 0.986111 0.344882 0.343580 0.115375





Fo 10 11 11 11 8 11 10 13 10 5


Para resolverlo se utiliza la siguiente ecuación:


( )


=
E F
E F O F
.
. .
2
2
1
χ

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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
31
Donde:

F.E. = Total de números aleatorios = 100 = 10
Números de subintervalos 10

F.O. = Total de números observados en cada subintervalo.


( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
2 . 4
10
10 5
10
10 10
10
10 13
10
10 10
10
10 11
10
10 8
10
10 11
10
10 11
10
10 11
10
10 10
2
1
2 2 2 2 2 2 2 2 2 2
2
1
=

+

+

+

+

+

+

+

+

+

=
χ
χ

Nosotros especificamos arbitrariamente un valor de α = 0.05 (esto significa un error del tipo
I del 5%) el valor obtenido de χ
1
2
= 4.2 así pues podemos compararlo con el valor crítico de:

X
2
0.05
(9) = 16.919

Puesto que X
2
0.05
(9) = 16.919 > χ
1
2
= 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:

Ho = hipótesis nula: µ µµ µ = ½
H
1
= hipótesis alternativa: µ µµ µ ≠ ≠≠ ≠ ½

Paso 1 Calcular la media de los n números generados
∑ ∑
= =
=
n n
i l
r
n
r
n
X 1
1 1
1

Paso 2 Calcular los límites superior e inferior de aceptación

+
=
n
Z
ls
x
12
1
2
2 / 1 α


=
n
Z
li
x
12
1
2
2 / 1 α


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

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
32
Ejemplo:

Realice la prueba de medias a los primeros 30 números aleatorios producidos con un
generador congruencial mixto, con un nivel de confianza del 95%.

Los números generados son:

0.03991 0.10461 0.93716 0.16894 0.98953 0.73231
0.25543 0.34565 0.02345 0.67347 0.10987 0.25678
0.71890 0.61234 0.86322 0.94134 0.99872 0.27657
0.82345 0.12387 0.05389 0.82474 0.59289 0.36782
0.72484 0.48999 0.50502 0.39528 0.36782 0.90234
2.56253 1.67646 2.38274 3.00377 3.05883 2.53582

Σ = 15.22015


X = 15.22015/30 = 0.507338
X ≈ 0.5000

− =

+ =
30 12
1
5 . 0
30 2
1
5 . 0
025 . 0
025 . 0
Z li
Z ls
x
x

Para buscar el valor de Z
0.025
se resta 1 - 0.025 = 0.975 y se busca en la tabla

|Z
0.025
| = 1.96
ls
x
= 0.5298 li
x
≤ X ≤ ls
x
li
x
= 0.4701


Ho se acepta












Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
33
2
α
x
i
l
x
s
l
2
α
2
1
= µ
n
Z
x
i
12
2
2
1
α
+ = l
n
Z
x
s
12
2
2
1
α
+ = l
2
1
1
2
1
0
≠ =
= =
µ
µ
H
H
Ejemplo: Generar números aleatorios dados por la siguiente función

( ) 100 mod 3
1 n n
X X =
+


( ) ( ) ( ) ( ) [ ]
( ) ( ) ( ) [ ]
( ) ( )
( ) ( )
( ) [ ]
( )
43
20 100
20
20 , 2 . . 100
20 5 4 5 1 5 25
2 2 1 2 1 2 4
5 , 2 . 100
, , , . .
2
5 2 5 5 2 2 25 2 2 50 2 100
0
1 2
1 2
2 2
2 1
2 2
2 1
=
= =
=
=
= ⋅ = − =
= ⋅ = − =
=
=
=
= ⋅ ⋅ ⋅ = ⋅ ⋅ = ⋅ =


X
h
m c m
cm m
P P P m c m m
d
s
e
s
e e
λ
λ
λ
λ
λ
λ λ λ
λ λ λ λ K


Pruebas de frecuencias


( ) ( ) ( ) ( ) ( )
49 . 9
4 4 4 4 4 4 4 4 4 4
0
4
5

4 , 05 . 0
2
2 2 2 2 2 2
1
2
1
5
20
2
1
2
1
=
− + − + − + − + − =
=
= =
=
|
¹
|

\
|

|
¹
|

\
|
=

=
χ
λ
χ
χ
x
N
x
j
j
x
x
N
f
N
x


Pruebas de medias







n X
n
r
n
1 29 0.29
2 87 0.87
3 61 0.61
4 83 0.83
5 49 0.49
6 47 0.47
7 41 0.41
8 23 0.23
9 69 0.69
10 7 0.07
n X
n
r
n
11 21 0.21
12 63 0.63
13 89 0.89
14 67 0.67
15 1 0.01
16 3 0.03
17 9 0.09
18 27 0.27
19 81 0.81
20 43 0.43
21 29 0.29
Sub int F
j
0 - 0.2 4
0.2 - 0.4 4
0.4 - 0.6 4
0.6 - 0.8 4
0.8 - 1 4
α = nivel de confianza de la prueba
α = 1% o 5%
n
x
X

=
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
34
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:

H
o
: V(x) = 1/12
H
i
: V(x) ≠ ≠≠ ≠ 1/12

Paso 1. Calcular la variancia de los n números generados V(x).
( )
( )
1
1
2


=

=
n
x r
x V
n
i
i


Paso 2. Calcular los límites superior e inferior de aceptación.

( )
( ) 1 12
1 , 2
2

=

n
ls
n
x V
α χ


( )
( ) 1 12
1 , 2 1
2

=
− −
n
li
n
x V
α χ


Paso 3. Si V(x) se encuentra entre los valores de li
v(x)
y ls
v(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%.
.72484 .48999 .50502 .39528 .36728 .90234
.71890 .61234 .86322 .94134 .99872 .27657
.34565 .02345 .67347 .10987 .25678 .25593
.82345 .12387 .05389 .82474 .59289 .36782
.03991 .10461 .93716 .16894 .98953 .73231

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,

( )
( ) ( )
1313 . 0
29 12
7 . 45
1 12
1 , 2
2
= =

=

n
ls
n
x V
α χ


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
35
( )
( ) ( )
046 . 0
29 12
00 . 16
1 12
1 , 2 1
2
= =

=
− −
n
li
n
x V
α χ


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.

Hay varios métodos, entre los cuales están:

• 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

La prueba de poker plantea la siguiente hipótesis:

Ho : ri ∼ independiente
H
1
: r
i
∼ 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 2. Calcular la frecuencia esperada de cada uno de los eventos multiplicando la
probabilidad de cada evento por la cantidad de números aleatorios generados.

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.



Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
36
Paso 4. Calcular la estadística:

( )

=

=
m
i
FE
Foi FEi
1
2
2
1
χ

Paso 5. Si el valor de C
2
no excede al estadístico de tablas χ
i
2
con 6 g.l. y una
probabilidad de rechazo alfa =α, entonces se acepta que los datos son estadísticamente
independientes entre sí.

Ejemplo:

Realice la prueba de Poker a los siguientes 30 números con un nivel de confianza del
95%. (∞ = 5%)


0.72484 0.48999 0.50502 0.39528 0.36782 0.90234
0.71890 0.61234 0.86322 0.94134 0.99872 0.27657
0.34565 0.02345 0.67347 0.10987 0.25678 0.25593
0.82345 0.12387 0.05389 0.82474 0.59289 0.36782
0.03991 0.10461 0.93716 0.16894 0.98953 0.73231












( ) ( ) ( ) ( )
336 . 5
003 . 0 135 . 0 27 . 0 548 . 1 622 . 0 082 . 0 676 . 2
003 . 0 135 . 0 27 . 0
24 . 3
1 24 . 3
16 . 2
1 16 . 2
12 . 15
14 12 . 15
072 . 9
14 072 . 9
2
1
2
1
2 2 2 2
2
1
=
+ + + + + + =
+ + +

+

+

+

=
χ
χ
χ


χ
2
0.05, 6
= 12.6

6 , 05 . 0
2
2
1
χ χ ≤
∴ H
0
se acepta




FO PE FE
Pachuca 14 0.3024 9.072
Un Par 14 0.5040 15.12
Tercia 1 0.0720 2.16
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
FE = PE.n
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
37
Prueba De Series
Ho : r
i
∼ independiente
H
1
: r
i
∼ dependiente

Paso 1 Crear un histograma de dos dimensiones con m intervalos, clasificando cada
pareja de números consecutivos (r
i
, r
i + 1
) dentro de las casillas de dicho histograma de
frecuencias. El número total de pares ordenados en cada casilla formará la frecuencia
observada: Fo
i
.

Paso 2 Calcular la frecuencia esperada en cada casilla FE de acuerdo con FE=núm/m
donde núm. es el número total de parejas ordenadas.

Paso 3 Calcular el error χ
1
2
, con la ecuación:
( )

=

=
m
i i
i i
FE
FO FE
1
2
2
1
χ
Paso 4 Si el valor de χ
1
2
es menor o igual al estadístico de tablas χ
1
2
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%

0.72484 0.48999 0.50502 0.39528 0.36782 0.90234
0.71890 0.61234 0.86322 0.94134 0.99872 0.27657
0.34565 0.02345 0.67347 0.10987 0.25678 0.25593
0.82345 0.12387 0.05389 0.82474 0.59289 0.36782
0.03991 0.10461 0.93716 0.16894 0.98953 0.73231

Al formar parejas ordenadas se obtiene:

(.72484, .48999) (.48999, .50502) (.50502, .39528) ... (.98953, .73231)

La clasificación en una tabla de frecuencias de dos dimensiones de 4 x 4, (m=16), queda

r
i+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

Tomando en cuenta que se tienen 29 parejas ordenadas clasificadas uniformemente en 16
casillas, la frecuencia esperada FE en cada una es 1.8125 y al calcular el error con la ecuación del
paso 3, para cada una de las 16 celdas o intervalos de la tabla anterior se tiene:
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
38
( ) ( )
∑ ∑
= =

=

=
16
1
2
1
2
2
1
8125 . 1
8125 . 1
i
i
m
i i
i i
FO
FE
FO FE
χ
( ) ( ) ( ) [ ] 75 . 5 3 8125 . 1 4 2 8125 . 1 5 1 8125 . 1 7
8125 . 1
1
2 2 2 2
1
= − + − + − = χ

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 χ
1
2
=5.75 con este valor, se acepta la independencia de la secuencia de
números.
15 , 05 . 0
2 2
1
χ χ ≤
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










( ) ( ) ( ) ( )
003 . 0 135 . 0 27 . 0
24 . 3
24 . 3 3
16 . 2
16 . 2 5
12 . 15
12 . 15 15
072 . 9
072 . 9 7
2 2 2 2
2
1
+ + +

+

+

+

= χ
11 . 2
2
1
= χ

6 . 12
2
6 , 05 . 0
= χ
2
6 , 05 . 0
2
1
χ χ <

0.03991 0.24122 0.10461 0.66591 0.93716 0.27699
0.38555 0.61196 0.95554 0.30231 0.32886 0.92962
0.17546 0.30532 0.73704 0.21704 0.92052 0.10274
0.32643 0.03788 0.52861 0.97599 0.95189 0.75867
0.69572 0.48228 0.68777 0.63379 0.39510 0.85783
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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
39
3
1
3
2
1
3
1
3
2
1
Prueba de series




IIIIII
6
II
2
III
3


III
3

0
IIII
4


III
3
IIIII
5
III
3




22 . 3
9
29
= = FE

( ) ( ) ( ) ( ) ( ) ( ) [ ]
2 2 2 2 2 2 2
1
22 . 3 6 22 . 3 5 22 . 3 4 22 . 3 3 4 22 . 3 2 22 . 3 0
22 . 3
1
− + − + − + − + − + − = χ
31 . 7
2
1
= χ

51 . 15
2
8 , 05 . 0
= χ
2
8 , 05 . 0
2
1
χ χ <


















Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
40

Apéndice A

Elementos de la teoría de números

A fin de comprender totalmente y apreciar los métodos para generar números
pseudoaleatorios que se consideran, es requisito previo tener un conocimiento básico de los
elementos de la teoría de los números. El apéndice A contiene un conjunto básico de definiciones,
ejemplos y teoremas de la teoría de números que resultan pertinentes para la comprensión de los
fundamentos racionales sobre los que se basan los métodos.

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 2. Un entero a es divisible entre un entero b si existe un entero t tal que bt a =

Definición 3. Un entero p es un número primo si no es 0 ni ± 1 y si sus únicos divisores son ±1 y
± p. Por ejemplo, los primeros primos positivos son 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37.

Definición 4. Un entero g es el máximo común divisor (m.c.d.) de dos enteros a, b, si g es un
divisor común de a y b, además es un múltiplo de cualquier otro divisor común de a y b.
Notación: m.c.d. (a,b) = g, o similar a (a b) = g.

Definición 5. Un entero d es el mínimo común múltiplo (m.c.m.) de dos enteros a y b si d es un
divisor de cada múltiplo común de a y de b, y es a su vez un múltiplo común. Notación: m.c.m.
[a, b] = d o [a, b] = d.

Definición 6. Se dice que los enteros a y b son primos relativos si (a, b) = 1.

Definición 7. Dos enteros a y b son congruentes módulo m si su diferencia es un múltiplo entero
de m. La relación de congruencia se expresa por la notación a ≡ b (mod m), que se lee “a es
congruente con b módulo m”, esto también significa que:

1) (a-b) es divisible entre m, y
2) a y b dan el mismo residuo al ser divididos entre m.
Ejemplo: 5590 ≡ ≡≡ ≡ 6 (mod 8) y 2327 ≡ ≡≡ ≡ 27 (mod 10
2
).

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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
41
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 12. El número de enteros positivos menores que m y primos relativos de m, se
conoce como la función Fi de Euler y se denota por ϕ (m). Un sistema residual reducido
contiene ϕ (m) enteros. Si m = p, es un número primo, entonces ϕ (p) = p – 1.

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 n
i
, entonces todos
los residuos potenciales satisfacen la relación de congruencia n
i
≡ a
i
(mod m) (i = 1, 2, 3, . .)

Definición 14. Si (a, m) = 1, el mínimo exponente positivo i = h, tal que a
i
≡ 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 {n
i
};

i = 1, 2, . . ., h (mod m).

Definición 15. Un entero a de orden h = ϕ (m) (mod m) es la raíz primitiva de m. Ejemplo: h =
3 ≠ ϕ (31) para a = 5 en el ejemplo (1) de la definición 13, pero h = 30 = ϕ (31) para a = 3 en el
ejemplo (2); consecuentemente 3 es la raíz primitiva de 31.

Ejemplos de residuos potenciales son:

(1) a = 5, m = 31, ϕ (m) = 30
i a
i
n
i
≡ a
i
(mod m)
1 5 5
2 25 25
3 125 1*
4 625 5
. . . . . . .







Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
42
(2) a = 3, m = 31, ϕ (m) = 30
i a
i
n
i
i n
i
i n
i

1 3 3 11 13 21 15
2 9 9 12 8 22 14
3 27 27 13 24 23 11
4 81 19 14 10 24 2
5 243 26 15 30 25 6
6 729 16 16 28 26 18
7 2187 17 17 22 27 23
8 6561 20 18 4 28 7
9 19683 29 19 12 29 21
10 59049 25 20 5 30 1*

• La sucesión de los residuos potenciales se repite para potencias de orden superior.

Teoremas

Teorema 1. Si a ≡ b(mod m) y x ≡ y(mod m), entonces a ± x ≡ b ± y(mod m), y ax ≡ by(mod m).

Teorema 2. Si (d, m) ≡ g, entonces dx ≡ dy (mod m) implica que x ≡ y (mod m/g).

Teorema 3. Si a ≡ b (mod m) y d es un divisor de m, entonces a ≡ b (mod d). Las
demostraciones de los teoremas 1, 2 y 3, resultan de la definición [2 p.24].

Teorema 4. Cualquier entero m (distinto de 0 ó ± 1) se puede factorizar de forma única en
números primos, esto es, m = π pi
ei
, (i = 1, 2, 3, . . .), donde e
i
es una constante y π denota al
producto p1
ei
x p
2
e2
x p
3
e3
. . . La prueba de esto se debe a Euclides [2, p.21].

Teorema 5. Si (a, m) = 1, entonces a
ϕ(m)
≡ 1 (mod m), de lo cual se sigue que:

1. El mayor orden posible de a es h = ϕ(m) cuando a es una raíz primitiva de m.
2. Para n < m tales que (m, n) = 1, na
h
≡ n (mod m), donde h = ϕ(m). La prueba de
esto se atribuye a Euler y se obtiene de los teoremas 2 y 3.

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, p
e
) = 1 y a
ϕ(pe)
≡ 1 (mod p
e
) donde h ≡ ϕ (p
e
).

Teorema 7. Si m = πp
i
ei
, entonces ϕ (m) = π(p
i
- 1)p
i
ei-1
. La demostración se debe a Euler.

Teorema 8. Si m = πp
e
y p es un primo impar entonces h = λ(m) = (p-1) p
e-1
= ϕ (m) para valores
de a que son raíces primitivas de m.

Corolario: Si p = 2, i.e., h = λ(m) = 2
e-2
para e > 2, entonces λ(m) ≠ ϕ (m). La prueba se
debe a Euler.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
43
Teorema 9. Si m = πp
i
ei
para i = 1, 2, 3, . . ., s, entonces:

1. λ(m) = m.c.m.[ λ(p
1
e1
), λ(p2
e2
), . . ., λ(ps
es
)].
2. Existe valores de a cuyo orden es igual a (esto es, pertenece conjuntamente a) cada
λ(p
i
ei
). La demostración está en [21, p.293] y se sigue del teorema chino del
residuo debido a Sun-Tse [21, p.246].

Corolario: Si p
1
= 2, entonces λ(m) = m.c.m. [λ(2
e1
), ϕ(p
2
e2
), ϕ(p
3
e3
), . . .].

Teorema 10. El menor entero positivo a tal que (a
h
- 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.


































Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
44
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.
Al querer reproducir algún proceso estocástico particular, se recurre al empleo de las
distribuciones teóricas convencionales y en su defecto a una distribución empírica.

Al considerar procesos estadísticos que involucran variables aleatorias continuas o
discretas, se tiene que definir F(x), ó función de densidad acumulada (f
n
D
n
).

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.

Si F(x) es continua en el dominio de x, entonces F(x) se podrá diferenciar, para lo cual se
define ( )
( )
dx
x dF
x f = {Función de densidad de probabilidad}
Luego entonces:
( ) ( ) ( )
( ) 1 0 ≤ ≤
= ≤ =

∞ −
x F
dt t f x x P x F
x


f(t) representa el valor de la función de densidad de probabilidad de la variable aleatoria
cuando x = t.

También tenemos que: 0 ≤ r ≤ 1 y F(x) = r.

Existen tres métodos para generar los valores de variables aleatorias a partir de
distribuciones de probabilidad:

1. Método de la transformación inversa
2. Método de rechazo
3. Método de composición (convolución)

Método De La Transformación Inversa

Se quiere generar valores de xi a partir de F(x). En primer lugar hay que obtener F(x).

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.

De manera unívoca cada valor de r
i
define un valor de F(x).
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
45
( )
( )
2
1
4
3
2
1
4
3
4
3
4
3
4
1
4
3
4
1
1
− =
− =

− + =
+ =

x r
x x x F
dt x F
x










Al considerarla función inversa de F ó F
-1
(x) en caso de ser conocida, podemos hacer:
x
0
= F
-1
(r
0
).

Podemos de manera general establecer que: ( ) ( )

∞ −
= =
x
dt t f x F r

Entonces ( ) ( ) ( ) [ ] ( ) [ ] x x F p x F r p x F x x p ≤ = ≤ = = ≤
−1


Ejemplo:

Genérese los valores x de variables aleatorias con una función de densidad f(x) = 2x
0 ≤ x ≤ 1
( )

=
x
tdt x F
0
2
( )
2
x x F r = = ó r x = 1 0 ≤ ≤ r
Ejemplo:

Genérese los valores x de variables aleatorias con función de densidad

4
1
1 0 ≤ ≤ x
( ) = x f
4
3
2 1 ≤ ≤ x

1° parte 2° parte
( )
( )
4
4
4
1
0
x
r
x
x F
dt x F
x
=
=
=


F(x)
1
F(x
i
) = r
i
0 xi X
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
46
Al tomar la transformación inversa y resolviendo:

r x 4 = si
4
1
0 ≤ ≤ r
3
2
3
4
+ = r x si 1
4
1
≤ ≤ r

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.

Si r > ¼ entonces x =
4
/
3
r +
2
/
3


Ejemplo:

Se desea simular una variable aleatoria con d
n
exponencial ( )
x
e x f
λ
λ

= 0 ≥ x

( ) ( )
( ) [ ] [ ] [ ]
( )
( ) ( ) r x r x x r
e r r e x F
e e e e x F
dt e dt e x F
t t
t t
x
t
t
x x
t
ln 1 ln 1 ln
1 1
1
1 1
0
0
0 0
λ λ
λ λ
λ λ λ
λ λ
λ
λ λ λ
− = ∴ − − = ∴ − = −
= − ∴ = − =
− − = − − = − =
− = =
− −
− − − −
− −
∫ ∫


Ejemplo:

Se desea simular n números aleatorios con d
n
uniforme entre (a,b):
( ) b x a
a b
x f ≤ ≤

=
1


( )
( ) [ ]
( )
( )
( ) a b r a x
a b
a x
r
a b
a x
x F
a b
a x
t
a b
x F
dt
a b
dt
a b
x F
x
a
x
a
x
a
− + =


=


=


=

=


=

=
∫ ∫
1 1
1 1






( ) a b r a x
b x a
− = − ∴
≤ ≤
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
47
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.

Los pasos requeridos son:

1. Generar 2 números aleatorios r
1
y r
2

2. Determinar el valor de la variable aleatoria X de acuerdo a la relación lineal de r
1
:
X = a + (b-a)r
1

3. Evaluar la función de probabilidad en x = a + (b-a)r
1
: ƒ[x = a+(b-a)r
1
]
4. Determinar si se cumple:
r
2
≤ ƒ[a+(b-a)r
1
]/M
M = es cota superior.


f(x)



M





a b X


Si r
2
> f(x)/M entonces r
1
y r
2
se descartan y se seleccionan otros valores de r
1
y r
2


Ejemplo: Se desea generar números aleatorios con la distribución.

2x 0 ≤ x ≤ 1
f(x)
0 en otra parte

En este caso:
a = 0 b = 1 M = 2

1. Generar R
1
y R
2

2. Calcular x = r
1

3. f(x) = 2r
1

4. r
2
≤ 2r
1
= 2r
1
r
2
≤ r
1
→ x = r
1

M 2



Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
48
f(x) =
Ejemplo: Se desea generar variables aleatorias X para la siguiente densidad de probabilidad.


( )( )
( ) a x
a b a c

− −
2
si a ≤ x ≤ b



( )( )
( ) c x
b c a c

− −
− 2
si b ≤ x ≤ c

M=
) (
2
a c −


Como la función se compone de 2 partes:

f(x)


M




a b c X

Los pasos para simular esta distribución son:

1. Generar r
1
y r
2

2. Calcular x = a + (c – a)r
1

3. Es x < b si la respuesta es afirmativa

( )
( )( )
( ) [ ] ( )
( ) a b
r
a r a c a
a b a c
x f

= − − +
− −
=
1
1
2 2


si la respuesta es negativa, entonces f(x) es :

( )
( )( )
( ) ( )
( ) ( )
b c
r
b c
r
c r a c a
b c a c
x f


=


= − − +
− −

=
1 1
1
1 2 1 2 2


4. Es
( )( )
2
2
α −

c x f
r

Si la respuesta es afirmativa, entonces se considera como valor x = a + (c – a)r
1
Simulada, en
caso contrario regresemos al paso 1.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
49
( )
( ) [ ]
( )
4
3
3
4
4
3
4
3
0 4
3
0
4
3
0 ≤ ≤ =
=
=
=
=

r r x
r
x F
t x F
dt x F
x
x
x
x
( )
( )
( )
8
15
8
9
4
3
8
9
8
9
8
9
8
9
4
3
3
2
4
3
4
3
3
5
4
3
4
3
1
2 1
2 1
1
1
1
1
0
+ − =
+ + − =
+ − = −


= −



= −



= −
+ =
x y
x y
x y
x y
x y
x x
x x
y y
y y
b mx y
( ) ( )( )
( )
1
9
1 12 15
1
2
4
2
4
4
3
8
9
2
3
8
15
8
9
4
9
4
9
8
15
8
9
16
36
256
324
64
255
8
15
8
9
16
36
256
324
64
255
8
15
16
9
16
9
16
9
2
8
15
8
15
2
≤ ≤
− ±
=

± =
− ±
=
− − ±
=
− − ±
=
+ − − ±
=
− ± −
=
r
r
x
r
x
r
x
r
x
r
x
r
x
a
ac b b
x
( ) = x f
8
15
8
9
+ − x
1 0 ≤ ≤ x
3
5
1 ≤ ≤ x
Ejemplo.













Calculando la segunda parte de la función 1° parte

















2° parte
( ) ( )
( ) [ ]
( ) ( ) [ ]
( )
( )
0
16
9
8
15
2
16
9
16
9
8
15
2
16
9
16
9
8
15
2
16
9
8
15
16
9
8
15
2
16
9
4
3
8
15
16
9
8
15
2
16
9
4
3
1 8
15
16
9
4
3
1
8
15
8
9
4
3
2
= + + −
− + − =
− + − =
− + + − =
+ − − + − + =
+ − + =
+ − + =

r x x
x x r
x x x F
x x x F
x x x F
t x F
dt t x F
x
t
x



Resolviendo la ecuación de segundo grado
mediante la fórmula general

4
3
4
3
3
5
( )
2 2
, y x
( )
1 1
, y x
1
x
( ) x f
0
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
50
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.

Este procedimiento está basado en la definición de probabilidad condicional o la ley de
probabilidades compuestas.

Matemáticamente sea g(x|y) una familia de funciones de densidad de un parámetro donde
y es el parámetro que identifica de manera única a g(x). Si un valor de y es ahora descrito de una
función de distribución acumulada H(y) y entonces si x es una muestra de g(x), para seleccionar
y, la función de densidad para x será:

( ) ( ) ( ) y dH y x g x f f


∞ −
= =

Usando este principio, distribuciones más complicadas pueden ser generadas de
distribuciones más simples las cuales son en sí mismas fácilmente generadas, por la técnica de la
transformación inversa o la técnica de rechazo.

Ejemplo: Generar una varianza aleatoria de ( )


∞ −
− −
= dy e y n x f
xy n
cuando (sea) ( )
1 +
=
n
y
dy
n y dH
1 , 1 ≥ ∞ < < n y y ( )
yx
ye x g

=

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:





Entonces x es la varianza deseada de:
( )


− −
=
1
dy e y n x f
yx n


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(xy) la cuál se necesita para
producir una f(x) dada dentro de la relación.
2
1
1 1
log
1
1
R X
R s
s
n
=
=

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
51
( ) ( ) ( ) y dH y x g x f


∞ −
=

Afortunadamente, las estadísticas matemáticas nos han provisto de varias relaciones
funcionales llamadas “convoluciones” que pueden ser usadas en la generación de ciertas
desviaciones aleatorias. Los siguientes ejemplos sirven para ilustrar el procedimiento.

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.

La función de densidad de probabilidad para la distribución de Poisson esta dada por:

( )
! X
e
x f
x λ
λ

= ∞ = , , 2 , 1 , 0 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.

Una desviación x de Poisson puede ser definida de la siguiente manera:

∑ ∑
+
= =
≤ ≤
1
1 1
1
x
i
i
x
i
i
y y

donde y
1
, y
2
,....,y
x+1
son desviaciones aleatorias de una distribución exponencial teniendo
como media 1/λ y son generadas por (la técnica de transformada inversa)

i i
R y ln
1
λ
− =

donde R
i
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.



Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
52
Otra forma de este mismo procedimiento es definir la desviación x de Poisson cuando:
∑ ∑
+
= =
≤ ≤
1
1 1
x
i
i
x
i
i
y y λ

donde y
i
es otra vez las desviaciones de la distribución exponencial pero con media 1/λ,
esto es:
λ
i
i
R
y
ln
− =
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 y
i
’s tiene una media de
λ
1
.


Ejemplo.

Sabemos que por la teoría de la probabilidad que si el número de eventos se puede
describir a través del flujo de Poisson, el tiempo entre la ocurrencia de eventos debe ser
exponencial. En la distribución de Poisson el resultado se expresa como el número de eventos n
que ocurren en un determinado tiempo t. Por lo tanto para muestrear la distribución exponencial
con media
λ
1
tantas veces como sea necesario hasta que la suma de las variables aleatorias
generadas exceda a t por vez primera. En este caso, el valor de Poisson muestreado n se toma
igual al número de veces que se muestreo la distribución exponencial -1.

Supóngase que se desea muestrear una distribución de Poisson 3 = λ durante un periodo
de 1.4 hrs.

( )
i i
x
r t
x
e
x f
ln
1
!
λ
λ
λ
− =
=


n 1 2 3 4 5
r
n
0.058962 0.673284 0.479909 0.948578 0.61396
t
n
0.9436 0.1318 0.2447 0.1075 0.1624

=
n
i
i
t
1

0.9436 1.0754 1.3201 1.3376 1.5002

t = 1.4


∑ ∑
=
+
=
≤ ≤
n
i
n
i
i i
t t t
1
1
1





X = 0, 1, 2,…, α
λ= 3 eventos por hora.
X = Variable aleatoria de Poisson
X = 4 número de eventos que llegan en 1.4 hrs.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
53
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
i
k
i
i i
R y X
1 1
1
ln


donde y
i
es una desviación exponencial generada por la técnica de la transformada inversa
R
i
es un número aleatorio de la distribución uniforme.

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:

( )
x n x
q p
x
n
x f

|
|
¹
|

\
|
=
n x , , 1 , 0 L =
donde

p = probabilidad de éxito por tirada
q = 1-p
n = número de tiradas
x = número de éxitos, en entero

Para generar una desviación binomial con parámetros p y n el procedimiento es el
siguiente:

1. Generar n desviaciones aleatorias uniformes
2. Contar el número de varianzas uniformes menor o igual a p
3. El número encontrado en el paso 2 es igual al valor de la varianza binomial

Este procedimiento puede entonces ser repetido tantas veces como sea necesario para
generar otras desviaciones binomiales.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
54
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.

Método De Transformación Inversa Para Distribuciones Discretas

Se utiliza cuando se desea simular variables aleatorias de tipo discreto, como la
distribución de Bernoulli, binomial, Poisson, discreta general, etc., El procedimiento es similar al
continuo pero el valor de F(x) se encuentra acumulando las probabilidades de los eventos
individuales p(x). También en este caso, F(x) está definida en el intervalo 0 a 1; se genera un
número aleatorio r
i
y se determina el valor de la variable aleatoria cuya distribución acumulada es
igual a r
i
.

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.














Metodología

Paso 1 Calcular todos los valores de p(x) para la distribución propuesta.

Paso 2 Calcular la probabilidad acumulada F(x) para cada valor de x.

Paso 3 Generar un valor r
i
. Verificar en F(x) a qué intervalo de x pertenece y ese será el
número aleatorio generado por la distribución propuesta.




f(x)
0
x
F(x)
0
X
i
= F
-1
(R
i
)
x
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
55
Ejemplo.

( )
( )( )
( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( ) ( ) ( ) 00032 . 0 80 . 0 0.20
5
5
5
0064 . 0 80 . 0 0.20
4
5
4
0512 . 0 80 . 0 0.20
3
5
3
2048 . 0 80 . 0 0.20
2
5
2
4096 . 0 80 . 0 0.20
1
5
1
32768 . 0 80 . 0 0.20
0
5
0
! !
!
! !
1 2 1 - n n

20 . 0
80 . 0 5

0 5
1 4
2 3
3 2
4 1
5 0
=
|
|
¹
|

\
|
=
=
|
|
¹
|

\
|
=
=
|
|
¹
|

\
|
=
=
|
|
¹
|

\
|
=
=
|
|
¹
|

\
|
=
=
|
|
¹
|

\
|
=

=


=
|
|
¹
|

\
|
=
= =
|
|
¹
|

\
|
=

P
P
P
P
P
P
x n x
n
x n x
n
x
n
p
q n
q p
x
n
x P
x n x
K


















0.4
0.3
0.2
0.05
( ) x f
x
0 1 2 3 4 5
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
56





















Números aleatorios

43999 . 0
03991 . 0
82745 . 0
34565 . 0
71997 . 0
72484 . 0
6
5
4
3
2
1
=
=
=
=
=
=
r
r
r
r
r
r

1
0
2
1
1
1
6
5
4
3
2
1
=
=
=
=
=
=
x
x
x
x
x
x











0.25
0.50
0.75
0.90
1
0 1 2 3 4 5


( ) x F
x
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
57
UNIDAD IV

Lenguajes De Simulación

Introducción

El GPSS/TM' y el GPSS/H ' son aplicaciones nuevas e interactivas dentro del
ambiente IBM del GPSS, General Purpose Simulating System (en español, Simulación de
Sistemas de propósito General) desarrollado a principios de la década de los 60 por Geoffrey
Gordon. El objetivo principal del GPSS es la modelación de sistemas discretos.

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.

En un principio los lenguajes de simulación se elaboran utilizando algún lenguaje de
propósito general como FORTRAN, ALGOL, PL/1, etc. Esto requería un gran trabajo de
programación; con el paso del tiempo se fueron identificando diferentes situaciones, hasta llegar
a estandarizarse ciertas instrucciones de programación en rutinas bien definidas.

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.









Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
58
Definición de funciones FUNCTION
Definición de números de máquinas STORAGE
Definición de matrices MATRIX
Asignación numérica a variables EQU
Inicialización de variables INITIAL
Definición de histogramas TABLE
Definición de operaciones VARIABLE Y FVARIABLE
Estructura Del Lenguaje:

Para usar el GPSS se requiere tener conocimientos de los comandos más comunes del
sistema DOS. Dentro de un programa de GPSS se pueden distinguir cuatro tipos de
instrucciones, cada una de las cuales se detalla a continuación:


a) Instrucciones de acceso al sistema GPSS. Estas instrucciones permiten al usuario el acceso
al compilador del GPSS y dependen de cada tipo de versión utilizada; en este punto se
recomienda hacer referencia al manual respectivo.

b) Instrucciones de definición de variables. Son un tipo de instrucciones especiales de carácter
opcional; su inclusión depende del sistema a modelar. Estas instrucciones siempre se
encuentran relacionadas con las instrucciones de lógica del programa. Dentro de las
instrucciones se encuentran las siguientes: definición de las funciones a utilizar, definición de
capacidad de los almacenes, definición del número de operarios o maquinas por estación,
inicialización de variables, definición de las operaciones matemáticas por utilizar, etcétera. A
continuación se muestra una lista de las definiciones más comunes utilizadas en GPSS:





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:

Simulación de inicio de proceso y captura de máquina SEIZE
ENTER
PREEMPT
Simulación de fin de proceso y liberación de máquina RELEASE
LEAVE
RETURN
Simulación de entrada de transacciones a un almacén QUEUE
ENTER
LINK
Simulación de salida de transacciones de un almacén DEPART
ENTER
UNLINK
Simulación de entrada transacciones al sistema GENERATE
SPLIT
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
59
Simulación de la salida de transacciones del sistema TERMINATE
Simulación de diversos tipos de proceso ADVANCE
ASSEMBLE
MATCH
GATHER
Simulación del control de flujo de transacciones TRANSFER
TEST
GATE
LOGIC
SELECT
LOOP
BUFFER
Bloques de operaciones aritméticas SAVEVALUE
MSAVEVALUE
ASSIGN
INDEX
PRIORITY
Bloque de creación de estadísticas TABULATE
Las instrucciones de tipo b) y c) se codifican siguiendo un formato general, dentro del
cual se pueden distinguir los siguientes elementos:

2 8 19 31
Loc Bloque Operandos Comentarios
Donde:

• Loc: Representa el nombre de una etiqueta o una dirección. La etiqueta es un campo
opcional y su existencia depende de la lógica del programa. Está localizado en la
“columna 2”. Su función es similar a las etiquetas en Fortran.

• Bloque: Es la instrucción específica por ejecutar. Representa la acción que va a llevar a
cabo cada una de las transacciones que cruza por allí. Se coloca en la “columna 8”.

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

• Comentarios: Es el espacio donde el usuario puede colocar cualquier indicación o
identificación de la instrucción.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
60
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.

d) Instrucciones de control de la simulación. Estas instrucciones son las que controlan la
ejecución, edición y manejo de archivos en GPSS/PC'. Las principales son: END, START,
SIMULATE.

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.

Lenguajes Específicos De Simulación

Ventajas:

1. El tiempo de desarrollo de la programación es muy corto porque se trata de
lenguajes sintéticos basados en programación por bloques o subrutinas, e incluso
algunos de ellos están encaminados al usuario de tal forma que ya no es
indispensable programar.
2. Permite realizar análisis de sensibilidad fácilmente y en un corto tiempo. Tiene
alta flexibilidad para hacer cambios.
3. Integra funciones como generación de números aleatorios, análisis estadístico y
gráficas.
4. Tiene una alta fiabilidad que conduce a una validación de resultados sencilla y
rápida.
5. Permite definir y entender el sistema a simular gracias a que se tiene una
visibilidad superior de la estructura general del modelo y se aprecian más
fácilmente las interrelaciones.

Desventajas

1. Es necesario invertir en adquisición del software.
2. Se requiere invertir tiempo y costo en la capacitación de los programadores del
nuevo lenguaje.
3. La computadora de la compañía y el software a adquirir deben ser compatibles.

Características De Los Lenguajes De Simulación

En la actualidad los lenguajes que existen en el mercado tienen una serie de características
propias que los distinguen de otros, entre esas características están las siguientes:

1. El procedimiento utilizado para generar los números aleatorios uniformes y las
variables no uniformes conocidas.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
61
2. La forma de adelantar el reloj de simulación, que puede hacerse con incrementos
de tiempo fijo como DYNAMO o con incrementos al próximo evento como
GPSS.
3. Las estadísticas que se obtienen y el formato en que se representan los resultados.
4. El lenguaje en que esta escrito, lo cual influye en la forma de detectar y reportar
los errores de lógica.
5. Su compatibilidad de comunicación con determinado tipo de computadoras, con
otro lenguaje o simplemente con el usuario.

Clasificación De Los Lenguajes De Simulación

Los lenguajes de simulación se pueden clasificar de la siguiente forma:

• Lenguajes de propósito general
o FORTRAN, ALGOL, ASEMBLER, PL/1, C, PASCAL, BASIC.

• Lenguajes de simulación discreta
o Enfoque de flujo de transacciones: GPSS, BOSS
o Enfoque de eventos: GASPII, SIMSCRIPT, SIMCOM, SIMPAC
o Enfoque de procesos: SIMULA, OPL, SOL, SIMULATE
o Enfoque de actividades: CSL, ESP, FORSIM-IV, MILITRAN

• Lenguajes de simulación discreta y continua
o GASP-IV, C-SIMSCRIPT, SLAM

• Lenguajes de simulación continua
o Ecuaciones discretas: DSL-190, MIMIC, GHSI, DYHYSYS
o Enfoque de bloques: MIDAS, DYNAMO, SCADS, MADBLOC,
COBLOC

• Simuladores de aplicación especifica
o COMNET, NETWORK, PROMODEL. SIMFACTORY, WITNESS,
XCELL

A continuación se presentan las características principales de los lenguajes de simulación
más usados:

GPSS (General Purpose Simulation System)

Persona que lo desarrollo: Geoffrey Gordon.
Versiones más conocidas: GPSS I, GPSS II, GPSS III, GPSS/360, GPSS V.
Lenguaje del paquete: Asembler.
Reloj de la simulación: Incremento al próximo evento.
Computadoras compatibles: Generalmente se adapta a cualquier tipo de computadora.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
62
SIMSCRIPT (No tiene ningún significado)

Personas que lo desarrollaron: H. M. Markowitz, H. W. Karr y B. Hausner.
Versiones más conocidas: Simscript I, Simscript I.5, Simscript II, Simscript II.5, C-
Simscript.
Lenguajes del paquete: Fortran (las primeras versiones), Asembler (las últimas).
Reloj de la simulación: Incrementos al próximo evento para el caso discreto, e
incrementos a tiempo fijo para el caso continuo (C-Simscript).
Computadoras Compatibles: CDC 6000/7000, UNIVAC 1100, IBM 360/370,
HONEYWELL.

GASP (General Activity Simulation Program)

Personas que lo desarrollaron: P.J. Kiviat y A. Colher.
Versiones más conocidas: GASP II, GASP IV, GASP-PLUS.
Lenguaje del paquete: Fortran, PL/1.
Reloj de la simulación: Incrementos al próximo evento para el caso discreto, e
incrementos a tiempo fijo para el caso continuo (GASP IV y PLUS).
Computadoras compatibles: Cualquier computadora con compilador de Fortran o PL/1.

SLAM (Simulation Languaje for Alternative Modeling)

Personas que los desarrollaron: A. Alam, B. Pritsker y Asociados.
Versiones más conocidas: SLAM fue el resultado de la fusión de varios lenguajes como
GASP IV y QGERT.
Lenguaje del paquete: Fortran IV.
Reloj de la simulación: Incrementos al próximo evento para el caso discreto, e
incrementos a tiempo fijo para el caso continuo.
Computadoras compatibles: Cualquier computadora con compilador de Fortran.

Introducción A Los Bloques GPPS

Aquí se analizarán los bloques básicos del GPSS. Estos bloques forman lo que se podría
llamar un elemento básico de producción, el cual puede ser representado como una serie de
actividades a través del tiempo. Por lo general, este elemento básico de producción se repite
varias veces dentro de los sistemas complejos de manufactura o servicios. El elemento básico
puede representarse de acuerdo con la figura 4.1 en la cual se observan seis eventos y una
actividad.








Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
63
















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.

Inicio de un retraso. Esta actividad no planeada se lleva a cabo, al llegar al elemento
básico, una transacción no puede iniciar con la actividad por la cual ha entrado a este elemento
básico. Para empezar a medir este retraso, se utiliza el bloque QUEUE.

Inicio de la actividad. Es el evento en el cual una transacción pasa de un estado de espera
a uno de actividad. Esta acción se llevará a cabo sólo si el recurso con el que se lleva a cabo la
actividad está desocupado o disponible. Los bloques elementales para representar este evento son
el SEIZE y el ENTER.

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.

Fin de la actividad. El evento ocurre después de haber transcurrido el tiempo de proceso
o transporte y su función principal es dejar libre el recurso que se utilizó para realizar la
actividad; este recurso puede ser una máquina, un operario o una herramienta. Los bloques más
simples para modelar este evento son el RELEASE y el LEAVE.
Llegada al
elemento básico
Inicio de la
actividad
Salida del
elemento básico
Inicio del
retraso
Fin del
retraso
Fin de la
actividad
Retraso Actividad
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
64
GENERATE A, B, C, D, E
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.

Objetivo. Es la descripción de la función general de la instrucción. Dentro de cada
descripción se incluye un diagrama que representa la forma de la instrucción en un diagrama de
flujo.

Codificación y diagrama. Es el formato bajo el cual se debe teclear la instrucción. Las
reglas que se dan en cada instrucción son generales para cualquiera de las versiones del GPSS,
sin embargo, algunas versiones dan la facilidad de romper esas reglas sin que ocurra un error.

Operandos y su significado. Es la información que debe llevar cada instrucción, cada
operando(identificando con letras A, B, C, D, X) se acompaña de una breve información sobre su
significado y los valores que toman por default al no definir los operandos.

Atributos numéricos estándares (SNA). Durante una corrida de simulación el procesador
de GPSS automáticamente guarda y actualiza cierta información acerca de varias entidades
utilizadas en el modelo. Esta información puede imprimirse al final de la corrida de simulación.
Muchas de estas propiedades también pueden estar disponibles durante una corrida para verificar
un valor deseado o para realizar algún cálculo en particular. La información disponible durante la
corrida acerca de instalaciones, colas almacenamientos, etcétera, se llama atributos estándares
(SNA).

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.





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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
65
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.

En esta sección sólo se considera la generación de acuerdo con la distribución uniforme.

Para la distribución uniforme, el operando A del bloque GENERATE representa el tiempo
medio entre llegadas, es decir, el tiempo promedio entre llegadas consecutivas de transacciones.
El operando B representa la mitad del ancho del tiempo entre llegadas. El valor del operando B
deberá ser menor que el valor del operando A en todos los casos, de lo contrario ocurriría un error
al intentar generar una transacción en el tiempo negativo.

Por ejemplo, GENERATE 6, 4 significa que el tiempo entre llegadas se distribuye
uniformemente en el rango de 6 ± 4; GENERATE 8 significa que el tiempo entre llegadas se
distribuye uniformemente en el rango de 8 ± 0. Es decir, las llegadas ocurrirán exactamente cada
8 unidades de tiempo. En este caso, los tiempos entre llegadas son determinísticos, no aleatorios.

El operando C se utiliza cuando sólo se requiere fijar el tiempo de generación de la
primera transacción. Las transacciones subsecuentes se generarán de acuerdo con los operandos
A y B. GENERATE 6, 4, 10 significa que la primera transacción será generada al tiempo 10 y las
transacciones subsecuentes cada 6 ± 4 a partir del tiempo 10.

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.

GENERATE 6,4,,100 significa que se generaría un máximo de 100 transacciones que se
distribuyen uniformemente con el tiempo entre llegadas de 6 ± 4; GENERATE , , , 100 significa
que se generarían las 100 transacciones juntas (sin ningún tiempo entre ellas) al inicio de la
simulación (tiempo 0).

El operando E del bloque GENERATE permite dar prioridad a las transacciones
generadas. Entre mayor sea el valor del operando E, mayor es la prioridad. GENERATE 20,5,,,10
significaría que se generarían transacciones cada 20 ± 5, uniformemente distribuidas y todas con
una prioridad de 10.

Es importante considerar los siguientes puntos:

1. Se requiere por lo menos un bloque GENERATE en un modelo de simulación.
2. El tiempo mínimo para la creación de las transacciones es 1, a excepción de usar el
operando D en ausencia de los operandos A y B en cuyo caso las transacciones
serán generadas en el tiempo 0.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
66
SNA

No tiene SNA relacionados con él.

SEIZE

El objetivo del bloque SEIZE es simular la captura de un servidor, proceso o instalación.
Este bloque actúa como controlador del flujo de las transacciones y trabaja en conjunto con el
bloque RELEASE. Su funcionamiento general consiste en el manejo de una variable interna
llamada F, la que puede tomar los valores de 0 y 1; cuando una transacción llega a este bloque y
trata de entrar, lo podrá hacer si el atributo numérico estándar (SNA) F tiene un valor de 0
(ocioso) e inmediatamente cambiará al estado del atributo F a 1 (ocupado). Así una transacción
será enviada a la cadena de eventos actuales en espera de que el valor de F cambie de 1 a 0.



A: Identificador del servidor. Puede ser nombre, número, o SNA (requerido)

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

F: Estatus de la instalación (1=ocupado, 0=ocioso).
FC: Número de veces que la instalación fue capturada.
FL: Regresa el valor de 1 si la instalación ha sido prevaciada o en estado disponible, de
otra manera regresa a 0.
FT: Tiempo promedio de utilización de la instalación.
FR: Utilización fraccional de la instalación.

RELEASE

El bloque RELEASE es la contraparte del bloque SEIZE, y permite simular la liberación
del servidor, proceso o instalación que había sido capturada. La función de este bloque es
cambiar el valor del atributo numérico estándar F de 1 (ocupado) a 0 (ocioso).





Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
67
A: Identificación del servidor. Puede ser nombre, número, o SNA (requerido).

Cada SEIZE requiere acompañarse por un RELEASE, donde el operando A en ambos
casos es idéntico. Una transacción por medio de SEIZE captura una instalación y por medio de
RELEASE suelta la misma instalación al terminar el servicio deseado.

Al utilizar los bloques de SEIZE y RELEASE, saldrá un reporte con información
relevante acerca de la instalación. Este reporte incluye información tal como la utilización
promedio del servidor, el tiempo promedio de servicio por transacción y el número total de
entradas al bloque SEIZE.

SNA

Son los mismos que para el bloque SEIZE.
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”.



A: Identificador del servidor. Puede ser nombre, número, o SNA (requerido).
B: Número de unidades en que se incrementa el contenido de la entidad de cola.
Default = 1. El operando debe ser nombre, entero positivo o SNA (opcional).

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

Q: Tamaño de la cola (contenido actual).
QA: Contenido promedio de la cola.
QC: Número total de entradas a la cola.
QT: Tiempo promedio por transacción en la cola (a base de QC).
QM: Contenido máximo de la cola.
QX: Tiempo promedio por transacción en la cola (a base de QZ).
QZ: Total de entradas con cero tiempo de espera en la cola.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
68
DEPART

El bloque DEPART registra estadísticas que indican una reducción en el contenido de la
entidad de cola. El bloque DEPART puede visualizarse como “punto de terminación para la toma
de datos estadísticos de las colas que se formaron”.




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:

1. Número de entradas en la línea de espera (potencial).
2. Contenido actual de la cola (número de transacciones esperando.
3. Número de transacciones que no tuvieron que esperar en cola (con tiempo cero en
fila).
4. Contenido promedio de transacciones en cola.
5. Tiempo promedio de espera por transacción.
SNA

Son los mismos que para el bloque QUEUE.
ADVANCE

El objetivo es simular retrasos en el flujo de las transacciones, de manera que puede
visualizarse como el tiempo de proceso, transporte o servicio. Desde un punto de vista de análisis
de bloques, el ADVANCE permite la entrada a toda transacción que llegue. En este bloque
pueden existir en un mismo tiempo una o más transacciones.

El funcionamiento de este bloque se lleva a cabo de la siguiente forma: cuando una
transacción cruza por el ADVANCE en el tiempo t
1
, se genera en un tiempo de proceso (TP)
dado por las condiciones presentadas en los operandos A,B, y se envía la transacción a la cadena
de eventos futuros en espera de que el reloj de simulación avance hasta el tiempo t
2
= t
1
+ TP,
tiempo en el cual la transacción abandona la cadena de eventos futuros y continua su camino al
siguiente bloque secuencial.

DEPART A, B
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
69
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).

Para la distribución uniforme, el operando A del bloque ADVANCE representa el tiempo
medio de servicio. El operando B representa la mitad del ancho del tiempo de servicio. En todos
los casos, el valor del operando B deberá ser menor que el valor del operando A, de lo contrario
ocurriría un error al intentar generar una transacción en un tiempo negativo.

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

TG1: Contador de terminación

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.



Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
70
TIPOS DE BLOQUES DE GPSS


Operación A B C D
E F

ADVANCE Media Modificador
ASSIGN Param Núm. (±) Fuente
DEPART Cola Núm. (Unidades)
ENTER Almacenaje Núm. (Unidades)
GATE Artículo Núm. (Sigue bloque B)
GENERATE Media Modificador (Desplazamiento)
(Cuenta) (Prioridad) (Params)
LEAVE Almacenaje Núm. (Unidades)
LINK Cadena Núm. Orden (Siguiente bloque B)
R
LOGIC S Switch
I
MARK (Param. Núf.)
PRIORITY Prioridad
QUEUE Cola Núm. (Unidades)
RELEASE Facilidad Núm.
SAVEVALUE Reservar valor Núm. (±) SNA
SEIZE Núm. Facilidad
TABULATE Núm. Tabla (Unidades)
TERMINATE (Unidades)
TEST Arg. 1 Arg. 2 (Siguiente bloque B)
TRANSFER Factor selec. Siguiente bloque A Siguiente bloque B
UNLINK Núm. cadena Siguiente bloque A Cuenta
(Núm. Param.) (Arg.) (Siguiente bloque B
















Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
71
SÍMBOLOS DE LOS DIAGRAMAS DE BLOQUES DEL GPSS

















AVANZA ENLAZA AGARRA
SALE MARCA TERMINA
ASIGNA LOGICA TABULA
ENTRA PRIORIDAD PRUEBA
COMPUERTA COLA TRANSFIERE
GENERA LIBERA
DESENLAZA
ABANDONA RESERVA VALOR
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
72
Ejemplo:

Considere un torno manual que procesa piezas en 5 ± 2 minutos con distribución
uniforme. El tiempo entre llegadas de las piezas al torno sigue una distribución uniforme con
parámetro 7 ± 3 minutos. Realice un modelo en GPSS que simule el torneado de 500 piezas.

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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
73
El único cambio es la introducción de un nuevo elemento básico de producción que
simula el rectificado entre el torneado y la salida del sistema. En este caso, cada elemento básico
tiene su propia máquina (TORNO y TORNO2) y estadísticas de espera separadas o dos
almacenes separados (ALMACEN y WIP). El funcionamiento del TERMINATE y el START
es similar al ejemplo anterior.

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.

a) Simule el sistema portuario hasta que se hayan descargado 90 barcos.

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,
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
74
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.

b) Simule el sistema y finalice la simulación en el momento en que hayan sido
descargados 40 barcos del tipo 2.

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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
75
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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
76
SF: Regresa el valor 1si el storage está lleno, y 0 de otra manera
SR: Utilización de la capacidad del almacenaje
SV: Regresa 1 si el storage está en estado disponible, 0 de otra manera

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.

En la figura se muestra un diagrama de bloques que representa al sistema. La convención
usual que se utiliza en los diagramas de bloques es colocar la localización del bloque (en los
casos necesarios) en la parte superior del bloque; el tiempo de acción se indica en el centro en la
forma T= a,b en que a es la media y b el modificador; y el factor de selección se coloca en la
parte inferior de cada bloque.

Se utiliza un bloque GENERATE para representar la salida de la máquina creando un
transacción cada cinco minutos de tiempo. Se utiliza un bloque ADVANCE con una media de 4
y modificador de 3 para representar la inspección. En consecuencia, el tiempo que transcurre en
la inspección será cualquiera de los valores 1,2,3,4,5,6 ó 7, dando igual probabilidad a cada
valor.

Al completar la inspección, las transacciones van a un bloque TRANSFER con un factor
de selección de 0.1 de manera que 90% de las piezas van a la siguiente localización (salida 1)
llamada ACC para representar las piezas aceptadas y 10% van a otra localización (salida 2)
llamada REJ para representar los rechazos. Ya que no se tiene interés adicional en seguir la
historia de las piezas en esta simulación, ambas localizaciones a las que se llega desde el bloque
de TRANSFER son bloques de TERMINATE.
















Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
77

























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:

Tipo de Sistema Transacción Facilidad Almacenaje

Comunicaciones Mensaje Conmutador Troncal
Transportación Automóvil Caseta de peaje Carretera

GENERATE
ADVANCE
TRANSFER
TERMINATE
ACC REJ
1 1
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
78
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.




























Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
79




































Ilustraremos el uso de modos de transferencia tanto condicional como incondicional del
bloque TRANSFER. De nuevo considere el caso de tres inspectores, pero suponga que las
piezas fabricadas se colocan en una banda transportadora, la que lleva las piezas frente a los
inspectores colocados a intervalos a lo largo de la misma banda. Una pieza tarda dos minutos en
llegar al primer inspector, si está libre cuando llega esa pieza, la toma para inspeccionarla, si está
ocupado, la pieza necesita dos minutos adicionales para llegar al segundo inspector, que la toma
si está desocupado. Las piezas que pasan al segundo inspector puede tomarlas el tercero que está
a dos minutos adicionales sobre la banda transportadora; en caso contrario se pierden. Para
mantener pequeño el modelo, se registrará todo el tiempo de tránsito de las piezas y se ignorará
la posibilidad de que los inspectores rechacen las mismas.
GENERATE
SEIZE
ADVANCE
RELEASE
TRANSFER

TERMINATE
ACC REJ
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
80
GENERATE
QUEUE
ENTER
DEPART
MARK
ADVANCE
LEAVE
TABULATE
TRANSFER


TERMINATE
ACC REJ
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
81
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

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
82
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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
83
Simulación De Sistemas Discretos

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.

Representación del tiempo

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.


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
84
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.

Generación de patrones de llegadas

Un aspecto importante de la simulación de sistemas discretos es la generación de llegadas
exógenas. Es posible que se haya especificado una sucesión exacta de llegadas para la
simulación. Por ejemplo la sucesión puede ser el resultado de ciertas observaciones en el sistema.
Más aún, cuando no hay interacción en las llegadas exógenas y los eventos endógenos del
sistema, es permisible crear una sucesión de llegadas como preparación para la simulación. Sin
embargo, por lo general la simulación se desarrolla creando nuevas llegadas conforme se
necesitan.

La llegada exógena de una entidad se define como evento y la hora de llegada de la
siguiente entidad se registra como uno de los tiempos del evento. Cuando el tiempo de reloj llega
a este tiempo de evento, se ejecuta el evento de entrar la entidad al sistema y de inmediato se
calcula el tiempo de llegada de la siguiente entidad a partir de la distribución de tiempos entre
llegadas, con frecuencia se utiliza el término boot-strapping (cordón de bota) para describir este
proceso que hace que una entidad cree su sucesora. El método requiere sólo llevar cuenta de la
hora de llegada de la siguiente entidad; en consecuencia, es el método preferido de generar
llegadas para los programas de simulación de computador.

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.

Simulación de un sistema telefónico

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
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
85
FIG. 2 SISTEMA, ESTADO 1.
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 propósito de la simulación será procesar un número dado de llamadas y determinar la
proporción de las que se completan exitosamente, se bloquean o son llamadas ocupadas.

1
2
3
4
5
6
7
8

FIG 1 SISTEMA TELEFÓNICO SIMPLE

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.

0
1
0
1
1
0
1
0
1
2
3
4
5
6
7
8
LÍNEAS
NUM.
MAX.
EN USO
ENLACES
RELOJ
1027
SIGUIENTE
LLAMADA
DE A LONG
3 7 120
HORA DE LLEGADA
1057
3
2
LLAMADAS EN PROCESO
4
7
1075
2 5 1053
DE A FIN
CONTADORESDE LLAMAS
131 98 5 28
PROCESADASCOMPLETADASBLOQUEADASOCUPADAS

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
86
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.

La simulación se desarrolla ejecutando un ciclo de pasos para simular cada evento. El
primer paso es escudriñar los eventos para determinar cual es el siguiente evento potencial. En
este caso el siguiente evento potencial esta en 1053. Se actualiza el reloj y el segundo paso es
seleccionar la actividad que debe provocar el evento. En este caso la actividad es desconectar una
llamada. No hay condiciones que deban de satisfacerse cuando se desconecta una llamada, de
manera que el evento se ejecuta; pero en general el tercer paso es probar si se puede ejecutar el
evento potencial. El cuarto paso es cambiar los registros que se reflejen los efectos del evento. Se
muestra que la llamada se a desconectado haciendo igual a cero los números en la tabla de líneas
para las líneas 2 y 5, reduciendo el número de enlaces utilizados en 1 y quitando la llamada
terminada de la tabla de llamadas en desarrollo. Como quinto paso puede ser necesario reunir
ciertas estadísticas para la salida de la simulación. Se reservan contadores para registrar el
número de llamadas procesadas y completadas. Entonces el estado del sistema aparece como se
muestra en la figura 3.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
87
FIG. 4 ESTADO 3 DEL SISTEMA

0
0
0
1
0
0
1
0
1
2
3
4
5
6
7
8
LÍNEAS
NUM.
MAX.
EN USO
ENLACES
RELOJ
1053
SIGUIENTE
LLAMADA
DE A LONG
3 7 120
HORA DE LLEGADA
1057
3
LLAMADASEN PROCESO
4
7
1075
DE A FIN
CONTADORESDE LLAMAS
132 99 5 28
PROCESADASCOMPLETADASBLOQUEADASOCUPADAS
1


FIG. 3 SISTEMA, ESTADO 2.

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.
0
0
0
1
0
0
1
0
1
2
3
4
5
6
7
8
LÍNEAS
NUM.
MAX.
EN USO
ENLACES
RELOJ
1057
SIGUIENTE
LLAMADA
DE A LONG
3 6 98
HORA DE LLEGADA
1063
3
LLAMADASEN PROCESO
4
7
1075
DE A FIN
CONTADORESDE LLAMAS
133 99 5 29
PROCESADASCOMPLETADASBLOQUEADASOCUPADAS
1


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
88
FIG 5 ESTADO 4 DEL SISTEMA
FIG. 6 TAREAS DE PROGRAMACIÓN DE
SIMULACION
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.

0
0
1
1
0
1
1
0
1
2
3
4
5
6
7
8
LÍNEAS
NUM.
MAX.
EN USO
ENLACES
RELOJ
1063
SIGUIENTE
LLAMADA
DE A LONG
1 5 132
HORA DE LLEGADA
1082
3
LLAMADASEN PROCESO
4
7
1075
DE A FIN
CONTADORESDE LLAMAS
133 99 5 29
PROCESADASCOMPLETADASBLOQUEADASOCUPADAS
2
3 6 1161




Tareas de programación de simulación

ATRIBUTOS DE
LASENTIDADES
ACTIVIDADES
IMAGEN DEL
SISTEMA
RUTINAS
ALGORITMO DESIMULACION
GENERADORDEINFORMES
GENERA
MDELO
SIMULACION
INFORME





Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
89
FIG 7. EJECUCION DE UN ALGORITMO DE SIMULACION
Imagen del sistema: De la descripción del sistema es necesario crear un conjunto de
números para representar el estado del mismo. A este conjunto de número se le conoce como
imagen del sistema ya que su propósito es reflejar el estado del mismo en todo momento. Se debe
representar las actividades del sistema como rutinas que deben realizar los cambios a la imagen
del sistema.

Algoritmo de simulación: Es programar el procedimiento que ejecuta el ciclo de acciones
que participan en la realización de la simulación.

Generador de informes: Generalmente especifica las estadísticas reunidas durante la
simulación.

Un diagrama de flujo de programa de simulación

CREAR MODELO
ENCONTRAR
SIGUIENTE
EVENTO
POTENCIAL
ELEGIR
ACTIVIDAD
DETERMINAR SI
PUEDE HACERSE
CAMBIAR
IMAGEN
RECABAR
ESTADISTICAS
MAS
GENERAR
INFORME
GENERAR
SIMULAR
INFORME
1
2
3
4
5
N
Y
Y
N

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
90
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.

Existen, en general, varias formas para lograr la estabilización de un modelo de
simulación, la primera consiste en utilizar corridas lo suficientemente largas para que los datos
del período de transición resulten insignificantes, este planteamiento puede ser adecuado si la
ejecución del modelo es rápida. Esta situación no es tan atractiva si la duración del período
transitorio es prolongado, en este caso, se pueden seleccionar condiciones iniciales de arranque
que sean más representativas de la condición de estado estable y que por tanto reduzca el período
transitorio. El principal problema en este caso es no tener una idea adecuada de las condiciones
iniciales, lo que podría llevar a una polarización de los resultados y en consecuencia aumentar la
varianza, ocasionando tamaños de corrida más grandes. Una tercera opción es determinar en qué
momento se ha llegado al estado estable en función de los resultados obtenidos, una de las
formas más comunes de determinar este momento se consigue graficando el valor promedio de
la variable de interés contra el tiempo de simulación, y cuando se observe que ese promedio ya
no cambia a través del tiempo, detener la corrida de simulación.

EL tamaño de una corrida de simulación depende principalmente del tipo de distribución
que se intenta simular y, por decirlo de alguna forma, de la bondad del generador de números
U(0,1) que se esta utilizando y de las condiciones iniciales con que inició la simulación del
sistema.

En forma general. Para calcular el número de simulaciones se tiene la expresión:

( )
2
2
2
2
K
Z
n
α
σ
=


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.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
91
Cuando la media y la variancia de la distribución a simular se obtuvieron de una
población n
1
de 30 o menos elementos, entonces, el cálculo óptimo de las simulaciones se
modifica de acuerdo con la siguiente ecuación:

( )
2
2
2 , 1 1
2
K
t s
n
n α −
=
Donde:

t = Estadístico de la distribución t student.
K = Desviación absoluta máxima permitida sobre la media de la distribución a simular.
S
2
= Estimador de la variancia de la distribución a simular.

Esta segunda fórmula se emplea para calcular n óptima basándose en una corrida
simulada del sistema de tamaño n
1
. 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:
α
2
m
n =
Donde:
α αα α = Probabilidad de error permitida.
m
2
= 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:

Se desea encontrar el número de simulaciones que debe realizar un simulador de
desperdicios de una planta de poliéster, de tal forma que el promedio diario simulado de
desperdicio no difiera más de ±0.166σ de su valor real, con una confiabilidad del 95%.

Si se supone o se sabe que el desperdicio diario en toneladas sigue una distribución
normal, entonces, el número de simulaciones óptimo es:

( )
2
2
2
2
K
Z
n
α
σ
=


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
92
Donde:
Z = 1.96 para una confiabilidad del 95%
K = 0.166s = 0.166 σ


Sustituyendo la información:

n = 139.4

Ahora bien, si no se tiene idea de la distribución de probabilidad del desperdicio de la
planta o de que siga otro tipo de distribución, se utiliza la expresión:

00 . 720
05 . 0
36
2
= = =
α
m
n

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.

Una forma más segura de determinar el momento en que el sistema se estabiliza se
consigue al graficar, a través del tiempo, cada uno de los valores promedio de aquellas variables
o resultados que se deseen analizar y al observar el comportamiento de las variables deteniendo la
simulación cuando todas esas variables se encuentren en estado estable.

Cálculo Del Número De Réplicas

Una vez que se ha corrido un sistema de simulación hasta llegar a la estabilización, existe
el problema de que las observaciones obtenidas en el experimento de simulación, generalmente,
no son independientes (autocorrelacionadas). Para obtener resultados independientes hay que
repetir “r” veces la simulación de tamaño “n” con diferentes números aleatorios.

Se aconseja que el número de réplicas o repeticiones sea de 3 a 10.

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
i
ij n j
x x
1
1


( )

=

− =
n
i
j ij n j
x x s
1
2
1
1
2

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
93
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
j
j r
x x
1
1


( )

=

− =
n
i
j r
x x s
1
2
1
1
2



Debido a la naturaleza probabilística de los resultados, es indispensable que para cada
variable de respuesta se calcule el intervalo de confianza de acuerdo con:

( )
x
r
t
r
s
x Ic
2 , 1 α −
± =
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.

Existen algunos métodos, conocidos como técnicas de reducción de varianza, que
permiten reducir los valores estimados para la varianza, fijando condiciones a partir de los datos
históricos. Para que el resultado de una simulación sea estadísticamente preciso y libre de
tendencias, se debe especificar perfectamente la longitud de cada corrida, el número de réplicas y
el período de estabilización.

Ejemplo:

Una pequeña fábrica consta de un centro de maquinado y estaciones de inspección en
serie. Las partes por procesar arriban a la planta a un ritmo de 1 por minuto. Los tiempos de
procesamiento en las máquinas e inspecciones subsecuentes son aleatorios con medias
respectivas de 0.675 y 0.775 minutos; 90% de las partes inspeccionadas son “buenas” y se envían
al área de embarque; el resto son “malas” y se llevan a máquinas de reproceso. El centro de
maquinado está sujeto a descomposturas de ocurrencia aleatoria y la fábrica esta inicialmente
vacía y desocupada. La tabla siguiente muestra los estimados de las medias de desempeño
analizadas para 5 réplicas independientes, de longitud igual a 16 horas (se usan diferentes
números aleatorios en cada réplica) para una simulación de la planta.



Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
94
Corrida Salidas
Tiempo de
tránsito
Prom. De piezas
en inspección
1
2
3
4
5
797
734
741
772
769
7.41
3.12
4.24
5.85
6.75
11
11
17
14
24

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.

Las diferentes técnicas de reducción de varianza, ocasionan una reducción en el tiempo de
simulación mediante la disminución del tamaño de la corrida y son valiosas cuando, por el
tamaño de los modelos, la memoria computacional no es capaz de soportar altos tiempos de
simulación. Estas técnicas básicamente pretenden distorsionar o cambiar el modelo original para
obtener estimaciones a bajo costo. A continuación se da una breve explicación de cada una de
ellas.

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 r
i
para obtener u estimador Y
1
del parámetro estudiado
y después, con números 1-r
i
, obteniendo un estimador Y
2
del parámetro estudiado.

Corridas comunes

Una práctica útil cuando se desarrolla un proceso de simulación, es emplear datos
históricos, los cuales pueden ser archivados y utilizados posteriormente para definir, por ejemplo,
los programas de producción de años anteriores.

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

Esta técnica se apoya en un resultado parcial de una corrida, clasificándolo como
interesante o no interesante, en caso de ser interesante se continúa con la corrida en caso contrario
se detiene la corrida.




Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
95
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

En esta técnica la función de distribución se divide en varias partes, lo más homogéneas
posibles que se resuelven o ejecutan por separado; los resultados obtenidos se combinan para
lograr una sola estimación del parámetro a analizar.

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.


1. Verificación se refiere a la comparación del modelo conceptual con el código
computacional que se generó, para lo cual es necesario contestar preguntas como:
¿está correcta la codificación?, ¿son correcta la entrada de datos y la estructura
lógica del programa?

2. Validación es la demostración de que el modelo es realmente una representación
fiel de la realidad. La validación se lleva a cabo, generalmente, a través de un
proceso comparativo entre ambas partes y usa las diferencias para lograr el
objetivo.

Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
96
En el proceso de validación usualmente se emplean las pruebas estadísticas siguientes:

a) Prueba de estimaciones de los parámetros de la población asumiendo una
distribución de probabilidad (pruebas F, t y z).
b) Pruebas de las estimaciones de los parámetros de la población que no son
dependientes de la suposición de una distribución de población implícita (prueba
de medias Mann-Whitney).
c) Pruebas para determinar la distribución de probabilidad de la cual proviene la
muestra (pruebas de bondad de ajuste de Kolmogorov-Smirnov o χ
2
).

Ejemplo

La situación real de la empresa FATSA en cuanto a la producción de carburadores por
día, de acuerdo con los datos de los últimos 8 días es la siguiente: 115, 105, 97, 96, 108, 104, 99
y 107. El modelo creado para la simulación de la planta arroja los siguientes 10 resultados de
producción de carburadores por día: 110, 97, 100, 105, 108, 99, 118, 104, 105 y 103. ¿Son los
resultados del modelo estadísticamente iguales a los reales?

a) Hipótesis sobre la varianza

H
0
: V(modelo) = V(real)
H
1
: V(modelo) ≠ V(real)
V(real) = 40.57
V(modelo) = 36.96
96 . 36
57 . 40
2
2
1
= =
S
S
F

F
c
de tablas con 8 y 10 grados de libertad y con un nivel de rechazo de un 5% s 3.07. Ya
que F
0
es menor que F
c
, se acepta que el modelo de simulación está arrojando resultados con la
misma variancia que el sistema real.

b) Hipótesis sobre la media

H
0
: µ(modelo) = µ(real)
H
1
: µ(modelo) ≠ µ(real)
E(modelo) = 104.90
E(real) = 103.87

El estadístico a utilizar es el correspondiente a variancias iguales y poblacionalmente
desconocidas y con media poblacional desconocida, puesto que solamente se tienen los datos de
dos muestras.
Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
97
2 1
2
2
2 2
2
1 1
1
1 1
2 1
n n
x
n n
n n
x
t
+

+
+
=
σ σ



( ) ( )
3496 . 0
10
1
8
1
87 . 103
10 8
96 . 36 10 57 . 40 8
9 . 104
=
+

+
+
= t


El estadístico t
c
con 8 + 10 – 2 = 16 grados de libertad y con un nivel de rechazo del 5% es
1.746.

Ya que t es menor que t
c
, 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.

Una vez que se tiene un modelo de simulación computacional válido y que se ha
verificado estadísticamente, entonces, para lograr la optimización se necesita empezar a jugar con
las variables de decisión: se busca el mejor valor de la medida de efectividad. Este proceso de
optimización tiene que realizarse mediante el proceso de prueba y error, sin embargo, el número
de combinaciones de las variables de decisión que pueden ser probadas es infinito, por eso es
indispensable usar técnicas que permitan analizar sistemáticamente las posibilidades
seleccionadas, de tal modo que eventualmente se podrá escoger una combinación cercana del
óptimo.

Estas técnicas se basan principalmente en el diseño de experimentos y las más utilizadas
son:

• Simplex
• Simplex EVOP
• Superficies de repuestas


Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
98
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.




































Instituto Tecnológico de Acapulco Catedrático: Ing. Vales Ortiz Gilberto
Ingeniería en Sistemas Computacionales Simulación
99


Bibliografía




Técnicas de Simulación por Computadora
Naylor, Burdick
Editorial Limusa


Simulación de Sistemas
Geofrey Gordon
Editorial Diana


Simulación Enfoque práctico
R. Coss Bu
Editorial Limusa


Operations Research: Principles and Practice
John Wiley
Philips


Simulación y análisis de Modelos Estocásticos
Mohamad R, Azarang y Eduardo García Dunna
Editorial Mc Graw-Hill


Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales

Catedrático: Ing. Vales Ortiz Gilberto 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

Unidad II. Generación de Números Pseudoaleatorios
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

Unidad III. Generación de valores de variables aleatorias
Método de transformación inversa .............................................................................. 44 Método de rechazo ...................................................................................................... 47 Método de composición .............................................................................................. 50 Distribución de POISSON........................................................................................... 51 Distribución ERLANG................................................................................................ 53 Distribución binomial.................................................................................................. 53 Método de transformación inversa para distribuciones discretas................................ 54

2

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales

Catedrático: Ing. Vales Ortiz Gilberto Simulación

Unidad IV. Lenguaje de Simulación
Estructura del lenguaje ................................................................................................ 58 Lenguajes específicos de simulación........................................................................... 60 Características de los lenguajes de simulación............................................................ 60 Clasificación de los lenguajes de simulación .............................................................. 61 Introducción a los bloques GPSS ................................................................................ 62 Lenguaje GPSS............................................................................................................ 64 Tipos de bloques de GPSS .......................................................................................... 70 Símbolos de los diagramas de bloques de GPSS ........................................................ 71 Simulación de los sistemas discretos........................................................................... 83

Unidad V. Validación
Cálculo del número óptimo de simulación.................................................................. 90 Cálculo de número de réplicas .................................................................................... 92 Reducción de varianza................................................................................................. 93 Validación de resultados.............................................................................................. 95 Optimización ............................................................................................................... 97 Sensibilidad y experimentación................................................................................... 98 Monitoreo .................................................................................................................... 98 Bibliografía.................................................................................................................. 99

3

como los simuladores de vuelo. entre las cuales podemos mencionar las siguientes: Ventajas: 1. el cual incluye la construcción. La observación detallada del sistema simulado nos permite tener una mejor comprensión del mismo. 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. organizacionales de cierta información. y los métodos que Von Neumann y Ulam introdujeron para resolver ecuaciones integrales. experimentación y manipulación de un modelo complejo en un computador. La experiencia al diseñar un modelo de simulación para computadora es más valiosa que la simulación en sí. 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. Típicamente. 4. la siguiente definición es considerada como una de las más completas. así como en diseñar y realizar experimentos con el modelo y extraer conclusiones de sus resultados para apoyar la toma de decisiones. Existen diversas maneras para definir el término simulación. en la operación del sistema. A través de la simulación podemos estudiar el efecto de cambios ambientales. El uso de la metodología de simulación ofrece ventajas y desventajas. o la predicción bursátil o meteorológica. Simulación: “Es una técnica numérica para conducir experimentos en un computador digital. y con enormes aplicaciones industriales y comerciales. inherentes a la Investigación de Operaciones. 3. la cual incluye ciertos tipos de relaciones lógicas y matemáticas necesarias para describir la estructura y comportamiento de un sistema complejo del mundo real sobre un periodo de tiempo”. 2. la Informática o la Física. Desde entonces. La simulación hace posible estudiar y experimentar con las interacciones complejas de un sistema dado (sin importar cuál). También se considera a la simulación como un proceso para describir la esencia de la realidad. Sus orígenes están en los trabajos de Student para aproximar la distribución que lleva su nombre. 4 . Vales Ortiz Gilberto 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. la Simulación ha crecido como una metodología de experimentación fundamental en campos tan diversos como la Economía. la estadística. los juegos de simulación.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales

Catedrático: Ing. Vales Ortiz Gilberto 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.

Filosofía, Desarrollo E Implementación De Un Modelo De Simulación
La simulación es una de las herramientas más fáciles de usar en la ciencia administrativa, pero posiblemente una de las más difíciles de aplicar apropiadamente.

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. El proceso comprende tres tipos de actividades: 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. Estos objetivos se pueden categorizar en: Caracterización del sistema a ejecutar esto nos lleva a: 1. Selección de los parámetros de operación del sistema ya existente. 2. Selección de los parámetros de operación de un sistema propuesto. 3. Exploración del comportamiento del sistema.

5

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales

Catedrático: Ing. Vales Ortiz Gilberto Simulación

Modificación De Un Sistema Existente
Diseño de un nuevo sistema. 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

DEDUCTIVO

SIMULACIÓN

ALGORITMO

Ejemplos: • • EOQ: Modelo Tamaño de lote (control de inventarios) método de solución deductivo. SIMPLEX: Es una solución algorítmica.

La simulación es una técnica apropiada donde no es factible experimentar con el sistema mismo o donde las técnicas analíticas directas no son disponibles.

6

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales

Catedrático: Ing. Vales Ortiz Gilberto 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”. En el estudio del diseño de sistemas, el propósito es producir un sistema que satisfaga algunas especificaciones. El diseñador puede elegir o planear determinados sistemas de componentes y conceptualmente elige una combinación determinada de componentes para construir un sistema. El sistema propuesto se modela y se predice su comportamiento. Un modelo validado es aquel que ha probado comportarse tal como el diseñador lo intento. Fishman y Kiviat sugieren técnicas para verificación incluyendo métodos estadísticos que nos llevan más allá de las prácticas usuales de simples análisis comparativos. La validación y verificación de un modelo parecieran ser lo mismo, pero difieren conceptualmente de manera sutil. Un modelo validado, es aquel que ha probado ser una “abstracción” razonable del sistema del mundo real que intenta representar. La aproximación usual de “validación” es la corrida del modelo con datos históricos y comparar los resultados del modelo con los resultados del sistema para los mismos datos. Tal comparación usualmente no es válida debido a que el modelo puede ser de naturaleza experimental o predictivo. El diseño estratégico se refiere a la actividad de planeación y diseño de la experimentación, incluye la especificación de la información que va a ser determinada y la exactitud de esta información. Existen técnicas apropiadas de diseño experimental, tales como factorial completo, fracción factorial, etc. La experimentación al establecer un objetivo sirve para: 1. Exploración del comportamiento del sistema 2. Optimización de los parámetros del sistema La exploración del comportamiento del sistema intenta explicar la relación entre los resultados de la Simulación y los parámetros controlables. La optimización es ejecutada para encontrar la combinación de los niveles de los parámetros los cuales minimizan o maximizan los resultados de la simulación.

7

Estas actividades son: la determinación de número de corrida. También incluye el establecimiento de las condiciones iniciales de las variables del modelo. Otras consideraciones son: el tamaño de la muestra requerido para los datos. Las actividades posteriores son las de llevar a cabo la experimentación.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales ACTIVIDADES DE DISEÑO DISEÑO DEL MODELO Catedrático: Ing. • • La primera es la de modificar el modelo. la estimación de los parámetros que alcanzan el estado de equilibrio del sistema. con frecuencia el objetivo no se puede alcanzar. Vales Ortiz Gilberto Simulación 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. sí éste es el objeto de estudio. usando nuevas técnicas. El usuario debe determinar como debe reconocer el equilibrio. No obstante. Esta debe iniciar con el diseño táctico de los experimentos que van a ser ejecutados. 8 . las técnicas a utilizar en la comparación del sistema alternativo. debido a que la simulación es un proceso de prueba-error. y la cantidad de datos a utilizar en cada corrida. implementado y ha sido planeado. el estudio de simulación ha sido completado. La segunda es la de utilizar el mismo modelo alternando el diseño del experimento. el modelo ha sido diseñado. entonces optamos por las dos alternativas generales disponibles. Si el objetivo ha sido alcanzado.

V. Vales Ortiz Gilberto Simulación DISEÑO TÁCTICO DE EXPERIMENTACIÓN OPERACIÓN DEL MODELO CAMBIOS EN LOS PARAMETROS ¿EXPERIMENT O COMPLETO? NO SI ANÁLISIS DE DATOS SIMULADOS MODELO EXPERIMENTO SE CUMPLEN LOS OBJETIVOS? NO MODIFICAR SI ALTO Consideraciones Relativas A La Simulación Los siguientes tópicos generalmente son cubiertos en textos de simulación: • • • • • Control de tiempo Generación de números aleatorios Generación de V.A.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales ACTIVIDADES DE OPERACIÓN Catedrático: Ing.A. Técnicas de reducción de varianzas Lenguajes de simulación El objeto del modelo científico es permitir al analista la determinación de uno o más cambios en los aspectos del sistema modelado que afectan otros aspectos del sistema e incluso la 9 .

Vales Ortiz Gilberto Simulación totalidad del mismo.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. de acuerdo con las características de operación del último. de estado o endógena. Las variables se usan para relacionar un componente con otro y se clasifican en: a) Variables Exógenas (Independientes o de entrada del modelo) b) Variables de Estado (Controlables o no controlables) c) Variables Endógenas (Dependientes o de salida del sistema) Las variables que aparecen en los modelos económicos se emplean para relacionar un componente con otro y se clasifican. las variables. por otro lado. los parámetros y las relaciones funcionales. Las variables de estado de una empresa podrían incluir el efectivo. 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. como variables exógenas. depende del propósito de la investigación. Un modelo útil debe necesariamente incorporar elementos de dos atributos en discrepancia: realismo y simplicidad. el inventario y el pasivo de un período particular (de tiempo). El hecho que una variable en particular este clasificado como exógena. convenientemente. así como también las ventas en algún período precedente y los gastos de propagandas para algún período futuro. puede depender no solamente de los valores de una o más variables exógenas en algún período precedente. Las controlables son aquellas variables o parámetros susceptibles de manipulación o control por quienes toman decisiones. durante un período particular de tiempo. ya sea al comienzo. Los modelos matemáticos de sistemas económicos constan de 4 elementos bien definidos: los componentes. variables de estado y variables endógenas. 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. 10 . sino también del valor de ciertas variables de salida en períodos anteriores. Las no controlables las genera el medio ambiente en el cual el sistema modelado existe y no el sistema en si o los encargados de tomar decisiones. no es conveniente que un modelo resulte tan complejo que se vuelva imposible entenderlo. al final o durante un período de tiempo. El valor de una variable de estado. 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. Las variables de estado describen el estado de un sistema o uno de sus componentes. Es posible clasificar las variables exógenas en controlables y no controlables.

.. 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. que relacionan las variables endógenas y de estado del sistema. STij = El tiempo de procesamiento para la i-ésima orden en el j-ésimo proceso en donde i=1.. Los componentes de este modelo se ilustran en la figura 1.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.2. ATi = El intervalo de tiempo entre la llegada de la i-ésima orden y la (i-1)-ésima orden.. por supuesto.2. PEDIDOS DE FÁBRICA PROCESO 1 PROCESO 2 … PROCESO n Fig1. a través de los cuales... Para ilustrar el sistema de clasificación de elementos de los modelos matemáticos considérese el siguiente ejemplo: Se considera un modelo simple de un fenómeno de espera. una orden pasara antes de completarse..m y j=1. Las identidades tomaran la forma de definiciones o declaraciones tautológicas... generalmente una ecuación matemática. las cuales tienen. relativas a los componentes del modelo. Vales Ortiz Gilberto Simulación Las variables exógenas se emplean en dos formas diferentes en experimentos de simulación: es posible tratarlas como los parámetros dados. si son variables estocásticas. Diagrama de flujo de una empresa con procesos múltiples. El propósito del modelo es relacionar el tiempo total que requiere una orden para pasar a través de n procesos.. de un solo canal y con estaciones múltiples para una empresa. características de operación e identidades. existe la posibilidad de generarlas internamente en la computadora.. con la forma en que llegan las órdenes y el tiempo que consume cada uno de tales procesos.m. que estimarse con anterioridad y almacenarse dentro de la computadora como datos de entrada. parámetros. Variables Exógenas. 11 . en donde i=1. con sus variables exógenas. Una característica de operación es una hipótesis. Y consiste de ordenes que llegan a la empresa y procesos.. El modelo contiene las siguientes variables.n.

.........m y j=1....Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. en donde i=1.... es decir...m y j=1.2. Parámetros E (AT) = El intervalo de tiempo esperado entre las órdenes... IDTij = el tiempo que el proceso j-ésimo permanece ocioso mientras que espera la llegada de la i-ésima orden.m y j=1. el tiempo requerido para pasar a través de los n procesos... donde i=1. T1n = ST1n 12 . WT1n = 0 n-1 IDT11 = 0. en donde i=1. Características De Operación f (ATi) = La función de densidad de probabilidad para el intervalo de tiempo entre las órdenes. Var (AT) = La varianza del intervalo del tiempo entre las órdenes....n..n.... es decir. Vales Ortiz Gilberto Simulación Variables De Estado. T12 = ST12........ Ti = el tiempo total que la i-ésima orden esta en el sistema.. Var (STij) = La varianza del tiempo para el j-ésimo proceso donde j=1.. WTij = el tiempo que la i-ésima orden espera para entrar al j-ésimo proceso. se supone que las siguientes ecuaciones describen el sistema de procesos múltiples: AT1 = 0 WT11 = 0...n. IDT12 = ST11. f (STij) = La función de densidad de probabilidad para el tiempo de procesamiento del j-ésimo proceso donde j=1. Tij = el tiempo total que la i-ésima orden esta en el j-ésimo proceso. Identidades Cuando la primera orden llega a la empresa.. E (STij) = El tiempo esperado para el j-ésimo proceso donde j=1..n. Variables Endógenas. WT12 = 0.. cuando i=1.2. IDT1n = ∑ST1j j=1 T11 = ST11..n.n...

que es posible procesar completamente durante un período particular de planeación... por ejemplo.... estas ecuaciones se modifican adecuadamente.........3..m Ti2 = WTi2 + STi2 i=2...... .. Tin = WTin + STin i=2. + Ti-1... + WTi.. 1 . n-1) Si DIFj es positiva para el j-ésimo proceso.DIFj i = 2..... DIFn = (Ti-1. .. ..n Si DIFj es igual a cero para un proceso en particular... entonces el tiempo de ocio será nulo y el tiempo de espera puede calcularse con: WTij = DIFj i = 2. .... supóngase que al comprar un equipo nuevo.... Vales Ortiz Gilberto Simulación Para órdenes subsiguientes.. n) – (ATi + WTi1 + STi1 + ..Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. la empresa reducirá.. .m Que el tiempo de espera o el tiempo de ocio... .... ........... entonces el tiempo de espera y el tiempo de ocio.......m. 1 + Ti-1.... ... tiene varias aplicaciones posibles.. para un proceso en particular. para determinar sí la empresa esta justificada en la compra del nuevo equipo..... .. 13 ... esto es..... ... Este modelo de una empresa con procesos múltiples. El modelo servirá entonces para estimar el aumento esperado en el número total de órdenes. las ecuaciones de tiempo se convierten en: Ti1 = WTi1 + STi1 i=2. un 50% el tiempo esperado de procesamiento.. 2) – (ATi + WTi1 + STi1) . 2 + .... n-1 + STi... .... entonces el tiempo de espera será nulo y el tiempo de ocio será igual a: IDTij = .. ocurra en un momento particular... donde i = 2.. serán nulos para ese proceso.. .n Si DIFj es negativo para un proceso en particular... .. .m : DIF1 = Ti-1...ATi DIF2 = (Ti-1.. .. cuando i = 2........m ... depende del signo de las diferencias siguientes.... 1 + Ti-1..m j = 1.....m j = 1. ...

X2). x 2 ) µ 1 e − µ 1 x1 µ 2 e − µ 2 x 2 dx 1 dx 2 Apelamos a resultados del Cálculo de Probabilidades. y ambas variables aleatorias son independientes. en tal caso. si X1 designa el fallo de E/S. habrá incertidumbre sobre los tiempos anteriores. de manera que la región de integración sea acotada. es apelar a algún procedimiento de integración numérica. Por ejemplo. el cálculo exacto puede resultar mucho más complicado e. de manera que el razonamiento empleado es poco robusto. El ordenador falla cuando lo hace alguno de los componentes. Resulta P(T > t ) = P( X 1 > t . si cambiamos alguna de esas dos hipótesis. µ 2 = 2 . En este caso. X2 y T son variables aleatorias. T tiene distribución exponencial de parámetro µ 1 + µ 2 . tenemos que ∞ ∞ E (T ) = Aproximación Analítica ∫ ∫ min( 0 0 x 1 . tenemos T= min(X1. y T el tiempo hasta el fallo del ordenador. X2 el tiempo hasta el fallo de la CPU. Una posibilidad. un paso inicial será reparametrizar el problema. Típicamente.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. µ1 µ2   14 . compuesto por un sistema de entrada/salida (E/S) y una unidad de proceso (CPU). Supongamos que estamos interesados en calcular el tiempo esperado E(T) hasta el fallo. 1 3 1 µ1 + µ 2 . Observemos que para esta aproximación resulta esencial emplear hipótesis de independencia y exponencialidad. Habitualmente. incluso. por lo que consideramos que X1. Para simplificar la exposición. Numéricos Y De Simulación Consideremos un ejemplo simplificado de un ordenador. supongamos que Xi es exponencial de parámetro µ i . haciendo el cambio de variable Xi = − ln(1 − u i ) µi E (T ) =  ∫ ∫ min −  0 0 1 1  ln (1 − u1 ) ln (1 − u 2 )  du1 du 2 . con lo cual E (T ) = Por ejemplo.2 . Aproximación Numérica. tenemos que. Expresado matemáticamente. tal vez como parte de un estudio destinado a mejorar la fiabilidad del ordenador. imposible de obtener mediante un método analítico. si µ 1 = 1 . teniendo en cuenta la independencia y el tipo de distribuciones. E (T ) = . X 2 > t ) = P( X 1 > t ) = e − µ1t e − µ2t = e − (µ1 + µ 2 )t Por lo tanto. Vales Ortiz Gilberto Simulación Métodos Analíticos. i = 1.

16.38. Vales Ortiz Gilberto Simulación y podemos aplicar. si decidimos que n=20. como antes.308. en el sentido de que si sustituimos alguna de las dos hipótesis.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. podemos escoger los 20 primeros números para generar los U1 16 82 39 86 86 73 07 32 72 35 12 82 87 21 30 30 60 53 89 92 Y los últimos para generar U2. Para la aplicación particular. 38 63 63 30 36 25 66 30 53 98 49 78 40 92 80 97 67 46 38 34 Para ello. podríamos utilizar tiempofallo=0 desde i=1 hasta n desde j=1 hasta 2 generar Uj uniforme en (0. El proceso de generar U1 y luego transformarla mediante X i = − (ln(1 − u i )) µ i . Obsérvese que la estrategia numérica adoptada es más robusta. Aproximación Basada en Simulación. el programa simula tiempos de fallo X1. esto es. con 15 nodos y. U2=.1 de números aleatorios. µ 1 = 1 . En nuestro caso. X2 y calcula el mínimo de ellos. X1=. µ 2 = 2 . X2=. La aproximación basada en simulación consistirá en construir un programa que describa el comportamiento del sistema y realizar experimentos con él. la aproximación resultará cada vez más ineficaz. resulta la estimación . con lo cual U1=. por ejemplo. nos permite simular tiempos hasta rotura del componente i-ésimo. asociamos al número correspondiente el cociente resultante son 16 y 38. X2) esp(tiempofallo)=tiempofallo/n Esencialmente. El inconveniente estará en que al aumentar la dimensión de la región de integración.317 como aproximación del tiempo esperado hasta el fallo. repitiéndose el proceso n veces.17. simulando n caídas del sistema. la regla del trapecio. Por ejemplo. X2)=. 16 99 01 08 09 64 82 77 48 34 22 18 39 85 69 04 76 83 86 43 32 83 47 13 86 72 37 42 23 90 73 34 05 92 99 95 07 52 99 64 48 64 32 99 27 49 66 21 72 30 23 51 26 97 35 86 55 23 73 09 12 81 88 44 95 86 82 40 47 62 53 59 87 18 38 75 37 99 21 61 48 43 47 70 30 20 53 09 00 20 30 16 79 22 43 73 60 92 41 55 66 35 53 39 08 51 80 11 89 34 73 38 44 81 92 44 95 18 18 57 15 . supongamos que tenemos acceso a la tabla 1.1) hacer X j = − (ln(1 − u j )) µ j tiempofallo=tiempofallo + min(X1. somos aún capaces de utilizarla. Repitiendo el proceso.17. En este caso.24 y min(X1. obtenemos el valor .

obtendremos una estimación diferente. si escogemos otra muestra de la tabla. Vales Ortiz Gilberto Simulación 91 45 19 89 89 35 07 03 58 71 08 28 10 16 82 58 88 75 92 28 30 48 21 40 63 00 29 24 55 42 31 68 32 11 86 03 83 80 74 23 32 17 77 84 55 08 64 99 15 35 73 08 95 49 43 38 97 47 40 72 26 31 34 70 73 91 29 85 20 03 88 65 25 07 40 67 00 85 94 92 98 68 65 11 53 18 08 07 31 27 27 60 53 02 46 53 76 66 26 71 97 24 33 24 02 35 85 45 01 50 69 96 06 38 95 63 11 63 15 10 19 79 92 56 30 96 23 94 08 17 02 47 34 Tabla 1. 16 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales 77 73 72 58 41 16 92 26 17 91 52 10 70 96 20 30 94 50 38 67 01 67 96 69 45 09 92 33 41 00 07 70 50 89 99 53 61 63 94 20 37 79 24 84 48 58 86 97 40 82 14 32 41 84 29 25 63 40 47 77 92 18 78 47 75 83 06 81 40 24 72 95 95 42 57 30 00 86 52 08 81 49 40 64 91 57 14 99 43 89 46 47 38 55 36 12 40 79 88 29 17 81 61 26 45 06 00 71 62 28 72 74 50 25 26 71 93 46 14 84 30 49 51 39 94 91 60 28 45 38 90 92 66 45 03 67 62 06 92 44 58 12 16 03 31 86 76 92 22 06 14 30 77 13 57 58 67 51 03 68 57 64 71 44 17 60 21 55 18 39 53 54 36 78 96 15 12 98 45 73 92 39 73 85 00 97 44 71 77 98 21 98 77 75 23 08 19 09 21 66 09 51 61 52 51 50 99 29 49 51 50 07 18 70 78 38 32 12 18 33 42 05 94 15 61 27 17 78 91 48 58 57 27 30 33 76 09 78 74 08 65 67 02 71 84 73 40 Catedrático: Ing.1 Números Aleatorios Por supuesto. lo que correspondería a una nueva replicación del experimento.

S–I Z= 0 si I ≥ s si I < s donde I es el nivel del inventario al inicio del mes. donde K = $32 que es el costo de preparación e i = $3 que es el costo incremental por artículo ordenado. el exceso sobre el suministro es acumulado y satisfecho por futuras entregas. Si la demanda excede el nivel del inventario.S) para decidir cuanto ordenar. se lee ”con probabilidad”. primero es usada para eliminar cuando mucho tanto como sea posible las demandas pendientes. Hasta ahora.p 1/6 D= donde w. incurre en un costo de K+iZ. en la mayoría de los sistemas reales también hay dos tipos de costos adicionales.p 1/3 w. Cuando una orden es colocada. el costo de ordenar.5 y 1 mes. este costo no ocurre). con una media de 0. esta es satisfecha inmediatamente si el nivel del inventario es al menos tan grande como la demanda.p 1/6 w. el resto de la orden es agregada al inventario. Cuando una orden llega. Vales Ortiz Gilberto Simulación Simulación De Un Sistema De Inventarios La simulación es usada para comparar alternativas ordenando políticas para un sistema de inventarios. Planteamiento del problema Una compañía vende un producto en particular. hemos discutido solamente un tipo de costo incurrido por el sistema de inventario. (En este caso. resultando en un nivel del inventario negativo). Cuando una demanda ocurre.p 1/3 w. i. con 1 2 3 4 w.e.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.1 mes. Desea saber cuantos de estos productos se tendría en el inventario para cada uno de los próximos “n” meses. Si la compañía ordena Z artículos. Muchos de los elementos de modelos representativos son encontrados en sistemas de inventarios actuales. son variables aleatorias IID. (si Z = 0. Al inicio de cada mes la compañía revisa el nivel del inventario y decide cuantos artículos ordenar de su proveedor. el nuevo nivel del inventario es igual al nivel del inventario anterior menos el tamaño de la demanda. costo de mantenimiento y de escasez o déficit. La compañía usa una política (s. el tiempo requerido para que esta llegue (llamado periodo de entrega o Leadtime) es una variable aleatoria que esta distribuida uniformemente entre 0. los cuales 17 . Sin embargo. Los tiempos entre las demandas son variables aleatorias IID. Los tamaños de las demandas D.p.

que después de todo es independiente de la política usada. no afectará en nuestra evaluación de qué política es la mejor. El costo de mantenimiento incluye tales costos como la renta del almacén. Hemos ignorado en nuestra formulación el hecho de que algunos costos de mantenimiento ya incurrieron cuando I+(t)=0.0] los pendientes en el tiempo t[I-(t)≥0 también]. negativo o cero]. Una posible realización de I(t).0] el número de artículos físicamente disponibles en el inventario en el tiempo t[note que I+(t)≥0]. Vales Ortiz Gilberto Simulación discutiremos después de introducir algunas anotaciones adicionales. seguros. Ahora dado que I+(t) es el número de 18 . I-(t) se muestra en la figura 1. El tiempo de los puntos al cual I(t) decrece son los únicos puntos donde ocurre la demanda.41. I+(t). impuestos. I^+(t)=max {I(t). y mantenimiento también como el costo de oportunidad de tener el capital en el inventario que invertir en otra parte. debemos asumir que la compañía incurre en un costo de mantenimiento de h=1 por artículo por mes mantenido en el inventario. Sin embargo. siendo el valor de t positivo. Punto de Orden Orden de arribo Punto de Orden Para nuestro modelo.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. negativo o cero. dado que nuestro objetivo es comparar políticas de ordenar. Los puntos en el tiempo que I(t) decrece son los únicos en los cuales la demanda ocurre. y I-(t)= max [-I(t). sea I+(t)= max [I(t). I(t): Nivel del inventario en el tiempo t.0}: Es el número de artículos físicamente disponibles en el tiempo t del inventario. ignorando este factor. Sea I(t) el nivel del inventario en el tiempo t[ note que I(t) podría ser positivo.

Note que las variables de estado para un modelo de simulación de este sistema de inventario son el nivel de inventario I(t). Así el tiempo promedio del costo de mantenimiento por mes es hI+ Similarmente. suponga que la compañía incurre un costo de déficit de ∏=$5 por artículo por mes en déficit. el tiempo promedio (por mes) número de artículos mantenidos en el inventario por un periodo de n meses es Que es semejante a la definición del número de tiempo promedio de clientes en la cola. Asuma que el nivel de inventario inicial es I(0)=60 y que no ordenar no es importante. técnicas estadísticas para hacer tal consideración serán discutidas más adelante. s S 20 40 20 60 20 80 20 100 40 60 40 80 40 100 60 80 60 100 No discutiremos aquí el resultado de cómo estas políticas particulares fueron elegidas para su consideración. El número de promedio de veces de artículos en déficit esta dado por es Así que el costo promedio de atrasos por mes es ∏I-. Vales Ortiz Gilberto Simulación artículos mantenidos en el inventario en el tiempo t. también la perdida de buenos clientes. Simulemos el sistema de inventario para n = 120 meses y use el costo total promedio por mes (que es la suma del costo de ordenar promedio por mes.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. esto cuenta para el registro de los costos extraguardado cuando existe un déficit. la cantidad de una orden prominente de la compañía al proveedor.[el cual es necesaria para calcular las áreas bajo las funciones I+(t) e I-(t)] 19 . el costo de mantenimiento promedio por mes y el costo de déficit promedio por mes) para comparar las siguientes nueve políticas de inventario. y el tiempo del ultimo evento.

no hay sentido en la evaluación del inventario y un posible ordenamiento.4 pueden ser usados aquí. regresa D=2 . C2=[1/6. (Puesto que la simulación se hace después del tiempo 120. y se obtiene una variable aleatoria uniformemente distribuida en el intervalo U(0. Vales Ortiz Gilberto Simulación ORGANIZACIÓN Y LÓGICA DEL PROGRAMA El modelo de sistema de inventario usa los siguientes tipos de eventos. 1/2). si U cae en C2. 1/6). En general un modelo de simulación sería designado a procesar eventos en un orden apropiado cuando un ciclo de tiempo ocurra. C3=[1/2.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. La grafica de un evento aparece en la figura 1.1). y puede ser generada como sigue. si U cae en C1. El tamaño de demanda de la variable aleatoria D deberá ser discreta. como un evento de tipo 3 en lugar del tipo 4. regresa D=1. y así sucesivamente. así que el mismo algoritmo (y código) como se desarrollo en la sección 1.1]. Los tiempos indeterminados son distribuidos exponencialmente. 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. 20 . 5/6). si dos o mas eventos son programados para ocurrir al mismo tiempo.42 Orden de llegada Demanda Evaluación Termino de la simulación Hay tres tipos de variables aleatorias que se necesitan para simular este sistema. 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. y C4=[5/6. incurriendo en un costo de ordenar por una orden que nunca llegará). como se describió anteriormente. Descripción del evento Llegada de una orden a la compañía del proveedor Demanda para el producto de un cliente Termino de la simulación después de n-meses Evaluación del inventario (al inicio de mes) Tipo del evento 1 2 3 4 Hemos tenido que hacer el fin de la simulación. Primero se divide el intervalo unitario en subintervalos contiguos C1 [0.

1] .b] generando un numero aleatorio U(0.43 y debemos hacer los cambios necesarios cuando una orden llegue del proveedor. Vales Ortiz Gilberto Simulación Por tanto el ancho de C1 es 1/6–0=1/6 . (y así que regresamos D=1) es 1/6. En general podemos generar una variable aleatoria uniformemente distribuida sobre cualquier intervalo [a. De los cuatro eventos solamente 3 involucran verdaderamente el cambio de estado (el termino de eventos de simulación es la excepción) por lo tanto su lógica. si U cae en C2 teniendo una probabilidad igual al ancho de C2.1/6= 1/3. En el evento llegada – orden. ½ . y por tanto U (generador de Nº aleatorios) es uniformemente distribuido sobre [0. 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. Evento de Orden de Llegada Evento de orden de llegada Incremento del nivel de inventario por la cantidad previamente ordenada Eliminar evento de orden de llegada de consideración Regreso 21 .1]. similarmente regresamos a D=2. la probabilidad que U caiga en C1. es un lenguaje independiente. Los atrasos en las entregas son uniformemente distribuidos pero no sobre el intervalo unitario [0. se muestra en la figura 1.1) y después regresar a a+U(b – a). como se deseó y así para los siguientes intervalos. esto concuerda con la probabilidad deseada que D=1.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. El nivel del inventario es incrementado y desde su consideración del evento llegada de una orden debe ser eliminada.

Para este modelo. Evento evaluación del inventario Si I(t)<s? Determine la cuenta de orden [S – I(t)] Costo de orden incurrido y recoger estadísticas Programar el evento orden de llegada para esta orden Programar el próximo evento evaluación del inventario Return 22 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. 1. haciendo esto ligeramente mas complicado.45 Si el nivel del inventario I(t) en el tiempo de evaluación es al menos s. colocamos una orden para S – I(t) artículos. Note que esto ocurre donde el nivel del inventario pueda ser negativo. el tamaño de la demanda es generada.44 y procesa los cambios necesarios para representar un caso de demanda. En cambio. sin embargo. si I(t)<s. Esto es hecho para almacenar la cantidad de ordenar [S – I(t)]hasta la llegada de la orden. Fig. y programar su tiempo de llegada. Como en el modelo de colas de un solo servidor. entonces ninguna orden se coloca. El evento evaluación del inventario tiene lugar en el comienzo de cada mes. En este caso también. daremos al diagrama de flujo. su diagrama de flujo es el siguiente. Primero. es conveniente escribir una rutina para actualizar los acumuladores de la estadística de tiempo continuo. Vales Ortiz Gilberto Simulación El evento de la demanda está dado en la figura 1. y el inventario es decrementado por esta cantidad. Finalmente el tiempo de la próxima demanda es programada en la lista de eventos. y no se hace nada excepto la programación de la siguiente evaluación en la lista de eventos. queremos programar el próximo evento evaluación del inventario.

En cambio si el nivel del inventario ha sido positivo necesitamos actualizar en el área I+(t). entonces tenemos un atraso. Ignorando el tipo de evento o si le nivel del inventario esta actualizado en los cambios en estos puntos. El código en ambos lenguajes para esta rutina también trae la variable de tiempo del último evento al tiempo presente. Si el nivel de inventario ha sido cero no se necesita actualizar. 23 . Si el nivel de inventario ha sido negativo desde el ultimo evento. Vales Ortiz Gilberto Simulación El principal punto es si necesitamos actualizar el área debajo de I-(t) o I+(t) (o ninguno). en el área debajo de I-(t) solo estaríamos actualizando. Esto proporciona una simple manera de actualizar integrales para estadísticas de tiempos continuos. Esta rutina será invocada desde el programa principal justo después de regresar de la rutina coordinada.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.

24 . ruleta. se requieren sucesiones de números aleatorios para la generación de los datos de entrada para el proceso de simulación. 2.} Tablas {corporación rand} Métodos analógicos de computación Métodos de computación digitales Los métodos analógicos comprenden el uso de procesos físicos aleatorios (comportamiento de corriente eléctrica). comprende la generación por medio de una “transformación indefinidamente continuada” aplicada a un grupo de números elegidos en forma arbitraria. Se tienen cuatro métodos alternativos para generar o proveer sucesiones de números aleatorios: 1. generación interna por medio de una relación de recurrencia.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. En el caso de los métodos digitales hay 3 formas para proveerse de números aleatorios: provisión externa. 4. Vales Ortiz Gilberto 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: F(X) = 0 x 1 x<0 0<x<1 x>1 En la práctica. etc. 3. tales procesos pueden ser el decaimiento radiactivo. El defecto de estos procedimientos analógicos es el de que las sucesiones así generadas no pueden reproducirse. lo que se hace es. grabar las tablas de números aleatorios en una cinta del sistema de la computadora digital. el ruido térmico. En el caso de provisión externa. cartas. Métodos manuales {lanzamiento de monedas. La segunda alternativa utiliza un aditamento de la computadora que puede registrar los resultados de algún proceso aleatorio y que los traduzca a sucesiones de dígitos. entre otros. La generación interna por medio de una relación de recurrencia. se considera que producen verdaderos números aleatorios. generación interna por medio de un proceso físico al azar. dados.

. 2. (a-1) .2. 4. c y m : son enteros no negativos para i= 0.. . en el que cada número de la sucesión se obtiene tomando los dígitos centrales del cuadrado del número precedente. Vales Ortiz Gilberto Simulación El primer método conocido para generar números aleatorios de manera recurrente se considera que es de los “cuadrados centrales”. Uniformemente distribuidos Estadísticamente independientes Reproducibles Sin repetición dentro de una longitud determinada de la sucesión Generación a grandes velocidades 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. ni= aino + c(ai-1) (mod m) → 2 (a-1) n0 = constante inicial c = constante aditiva a = constante multiplicativa 25 .. a. 6.1. 5. Cualquiera que sea el método para generar números aleatorios debe satisfacer las siguientes condiciones: Deben ser: 1.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. En la actualidad se prefiere el uso del método de “congruencias” para generar números aleatorios satisfactorios. 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) . 3.

ni < m ∀ ni. en computadoras decimales p=10. a. Vales Ortiz Gilberto Simulación Los términos de la sucesión {ni} forman una sucesión de residuos modulo m. Ni+1 ≡ ani (mod m) Este método tiene buenos resultados estadísticos en relación con las pruebas de aleatoriedad e independencia. Se tienen 3 versiones del método de congruencias para generar números pseudoaleatorios: 1. i=h tal que nh = n0 donde h es el período de la sucesión {ni}. c y m de manera que el periodo de {ni} sea lo más largo posible. cabe preguntarse que condiciones se pueden imponer sobre n0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Método Aditivo Ni+1 = ni + ni-k (mod m) Si k = 1 se tiene la sucesión de Fibonacci 2. si h existe. Método Mixto Ni+1 ≡ ani + c (mod m) 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. 3.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. Método Multiplicativo Produce una sucesión {ni} donde cada número es menor que m. La ecuación recursiva para generar residuos potenciales es: ni+1 ≡ ani (mod pe) 26 . a partir de los números enteros de la sucesión {ni} se pueden obtener números racionales en el intervalo (0. es decir. En computadoras binarias p=2.

Se calcula an0 usando aritmética entera de punto fijo. Se calcula r1 = n1 / 2b = n1 / 2b 5. Procedimiento: 1. a puede ser 5 ó 3 si a = 5 a = 0101 ano = (0101)(0111) = 00100011 n1 = 0011 r1 = 3/16 = 3. Con respecto al valor inicial no. 1..9375 27 . 4. 3. de los cuales se descartan los bits de orden superior.1875 4..n0 = 7 m = 24 = 16 y h = 24-2 = 4 n0 = 0111 a cerca de 2b/2 = 4 si t = 1.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Este producto consta de 2b bits. Vales Ortiz Gilberto 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.. Cada número aleatorio sucesivo ni+1 se obtiene a partir de los bits de menor orden en el producto ani Ejemplo: Sea b = 4. 1. Se escoge cualquier número impar como valor inicial n0 2. Los valores de a se encuentran en una clase residual que se representa por: a ≡ ± 3 (mod 8) t = 0. entonces n0 puede ser cualquier número entero impar. dejando para n1 los bits restantes. ó a = 8t ± 3 entero positivo Los valores de a próximos a 2b/2 minimizan la correlación en serie de primer orden. 2. este debe ser primo relativo de m = 2b.2..- 0..- an1 = (0101)(0011) = 00001111 n2 = 1111 r2 = 15/16 = 0. Se elige un entero a = 8t ± 3 3. a tiene que ser primo relativo de m=2b y por lo tanto tiene que ser impar.

3.. 4. 77.4 * 5d-1] = 5 * 10d-2 Los multiplicadores constantes con período 5 * 10d-2 se pueden ubicar en 32 clases residuales distintas mod 200. 83. 27. Computadoras Decimales m = 10d = 2d 5d d = número de dígitos decimales de la palabra. un número impar no divisible entre 5. 11.. De igual modo n0 debe ser primo relativo de m = 10d. 67. 29.4375 Catedrático: Ing.- y así sucesivamente. 91) ó también se puede expresar como: a = 200t ± p t = 0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales 5. 2. Cada número aleatorio subsecuente ni+1 se obtiene a partir de los dígitos de menor orden del producto ani.c. 13. Vales Ortiz Gilberto Simulación 6. (mod 200) 28 . a ≈ 10d/2 El procedimiento es semejante al caso binario: 1. 1. 59. p = uno de los 32 números dados anteriormente. 37. [2d-2. dado por: a = ± (3. Selecciónese a = 200t ± p a ≈ 10d/2 3.6875 an3 = (0101)(1011) = 00110111 n4 = 0111 r4 = 7/16 = 0.. 2.. lo cual implica que tiene que ser impar. a = debe ser número primo relativo de 10d d>3 El orden h de a (mod 10d) es: h = m. Calcular r1 = n1/10d 5. 19. no divisible entre 5 para seleccionarse como valor inicial. 21. Calcular an0 utilizando aritmética entera de punto fijo.69.m. 61. Selecciónese n0.an2 = (0101)(1111) = 01001011 n3 = 1011 r3 = 11/16 = 0. 53. .

r2.an0 = (0091)(5379) =00489489 n1 = 9489 r1 = 9489 = 0..l… La hipótesis de que los números pseudoaleatorios en el de conjunto de N números pseudoaleatorios... excede su valor critico fijado por el nivel de significancia deseado.. Para cada conjunto de N números pseudoaleatorios r1. 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.. debe rechazarse si x12 con x-1 g. se divide el intervalo unitario (0..l. m = 104 = 10..n0 = 5379 2.N) en el subintervalo (j1)/ x ≤ ri < j/x entonces el estadístico: χ1 2 x =  N  N  ∑ f j − x   j =1  x 2 tiene aproximadamente una distribución x2 con x-1 g.a ≈ 102 = 100 a = 200(0)+91 ó a = 200(1)-91 a = 91 ó a =109 3. son verdaderos números pseudoaleatorios.. Si fj (j=1. 29 .rn.000..9484 10000 y así sucesivamente.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Ejemplo: Sea d = 4. La prueba de la frecuencia se usa para comprobar la uniformidad de una sucesión de N números pseudoaleatorios. Vales Ortiz Gilberto Simulación 1.1) en x subintervalos iguales. 2.. el número esperado de números pseudoaleatorios que se encontrarán en cada subintervalo es N/x. h = 5*104-2 = 500 Catedrático: Ing..x) denota el número que realmente se tiene de números pseudoaleatorios ri (i=1.

0 0.294530 0.054759 0.239493 0.887525 0.792691 0.908297 0.769105 0.191479 0.8 – 0.115375 0 .141519 0.282693 0.344882 0.5 – 0.760869 0.343580 0.858532 0.805480 0.001213 0.730594 0.092645 0.4 – 0.2 – 0.032722 0.833586 0.888098 0.091330 0.4 0.337294 0.986111 0.227241 0.5 0.557434 0.442675 0.624006 0.585186 0.277380 0.817720 0.081288 0.762627 0.657266 0.429894 0.054759 0.299315 0.352862 0.936553 0.433081 0.493837 0.222878 0.092645 0.456790 0.499629 0.888098 0.578800 0.182840 0.072814 0.0.701195 0.799824 0.0.641837 0.227241 0.333813 0.416789 0.199621 0.1 0.208524 0.240002 0. Vales Ortiz Gilberto Simulación Verificar que el conjunto de 100 números aleatorios se distribuye uniformemente.517813 0.791130 0.789616 0.308614 0.611683 0.1 – 0.701195 0.696237 0.032722 0.442675 0.339548 0.031858 0.582447 0.429894 0.551702 0.199621 0.799824 0.155062 0.E 30 .3 0.208524 0.337294 0.343580 0.339548 0.745759 0.282693 0.106944 0.001213 0.406443 0.551502 0.859031 0.751033 0.558774 0.676216 0.6 – 0.734352 0.106994 0.386183 0.833586 0.239493 0.091330 0.574100 0.585186 0.574100 0.8 0.333813 0.676216 0.352862 0.817720 0.791130 0.876167 0.493837 0.199044 0.535597 0.789616 0.641837 0.578800 0.170288 0.589628 0.308614 0.543258 0. 0.265936 0.406443 0.050106 0.344882 0.332164 0.650020 0.191479 0.369820 0.557434 0.155062 0.108501 0.624006 0.170288 0.182840 0.826543 0.898980 0.779105 0.7 0.655595 0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Ejercicio: Catedrático: Ing.734352 0.072814 0.826543 0.332164 0.416789 0.915126 0.052303 0.650020 0.456790 0.915126 0.216310 0.941875 0.120791 0.721023 0.2 0. con α = 5%.683348 0.876167 0.683348 0.265936 0.730594 0.936553 0.986111 0.081128 0.745795 0.696237 0.611683 0.299315 0.589628 0.E )2 F .433081 0.792691 0.499629 0.634536 0.543258 0.517813 0.386183 0.052303 0.535597 0.634536 0.9 0.385079 0.558774 0.115375 0.859031 0.O − F .805180 0.898980 0.108501 0.655595 0.141519 0.908297 Fo 10 11 11 11 8 11 10 13 10 5 Para resolverlo se utiliza la siguiente ecuación: χ12 = ∑ (F .7 – 0.762627 0.941875 0.222878 0.210002 0.9 – 1.369820 0.385079 0.050106 0.3 .657266 0.582447 0.277380 0.031858 0.294530 0.858532 0.216310 0.120791 0.760869 0.6 0.721023 0.751033 0.199044 0.887525 0.

E. Prueba De Medias Consiste en verificar que los números generados tengan una media estadísticamente igual a 1/2.919 > χ12 = 4. entonces podemos decir que la tabla de números aleatorios se distribuye uniformemente.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.O.05(9) = 16. aceptamos que los números tienen una media estadísticamente igual a ½ con un nivel de aceptación 1-α. χ12 = 2 1 (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. de este modo la hipótesis planteada es: Ho = hipótesis nula: H1 = hipótesis alternativa: Paso 1 µ=½ µ≠½ Calcular la media de los n números generados X = 1 n ∑ l =i n r1 = 1 n ∑ r1 n Paso 2 Calcular los límites superior e inferior de aceptación ls x = 1 + Zα / 2  1    2 12 n  1 − Zα / 2  1    2 12 n  li x = Paso 3 Si el valor X se encuentra entre li y ls. = Total de números observados en cada subintervalo. 31 .2 Nosotros especificamos arbitrariamente un valor de α = 0.2. = Total de números aleatorios = 100 Números de subintervalos 10 Catedrático: Ing.919 Puesto que X20.05(9) = 16. Vales Ortiz Gilberto Simulación = 10 F.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Donde: F.

Los números generados son: 0.0. 5 − Z 0 .5298 lix = 0.4701 lix ≤ X ≤ lsx ⇓ Ho se acepta 32 .86322 0.025    12 30  Para buscar el valor de Z0.05883 0.67646 0.507338 X ≈ 0.56253 Σ = 15.72484 2.25543 0.02345 0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Ejemplo: Catedrático: Ing.12387 0.90234 2.00377 0.67347 0.53582 X = 15.99872 0.05389 0.025| = 1.93716 0.82345 0.22015/30 = 0. 5 + Z 0 .025 = 0.10987 0.73231 0.36782 0.975 y se busca en la tabla |Z0.59289 0.34565 0.025    2 30   1  li x = 0 .38274 0.22015 0.96 lsx = 0.98953 0.025 se resta 1 .94134 0.25678 0.36782 3.48999 1.5000  1  ls x = 0 . con un nivel de confianza del 95%.39528 3.03991 0.50502 2.27657 0. Vales Ortiz Gilberto Simulación Realice la prueba de medias a los primeros 30 números aleatorios producidos con un generador congruencial mixto.71890 0.10461 0.82474 0.16894 0.61234 0.

6 .2 . λ (5 2 )] λ (4) = (2 − 1)2 2 −1 = 1 ⋅ 2 = 2 λ (25) = (5 − 1)5 2 −1 = 4 ⋅ 5 = 20 λ (100) = m.c.41 0. K .c. Vales Ortiz Gilberto Simulación Ejemplo: Generar números aleatorios dados por la siguiente funció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.6 0.63 0. λ P2 e .0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.m λ P1 e .4 .2 0.1 Fj 4 4 4 4 4 l ix α 2 l sx α l sx = 1 + 2 2 Zα 2 12 n l ix = 1 + 2 Zα 2 12 n 1 2 1 2 µ=1 2 X= ∑x n α = nivel de confianza de la prueba α = 1% o 5% H0 = µ = H1 = µ ≠ 33 .23 0.05.07 n 11 12 13 14 15 16 17 18 19 20 21 Xn 21 63 89 67 1 3 9 27 81 43 29 rn 0.49 0.cm[λ (2 2 ).0.27 0.m[2.0.4 0.03 0. 4 = 9.89 0.29 Pruebas de frecuencias x χ1 =   N 2 N  ∑ f j − x   j =1  x 2 x=5 N x = 20 = 4 5 χ12 = 0 λ12 = (4 − 4)2 + (4 − 4)2 + (4 − 4)2 + (4 − 4)2 + (4 − 4)2 χ 2 0.8 .87 0.09 0.69 0.81 0.20] λ = 20 h = λ (100 ) = 20 X 0 = 43 [( ) ( ) ( )] s n 1 2 3 4 5 6 7 8 9 10 Xn 29 87 61 83 49 47 41 23 69 7 rn 0.83 0.21 0.0.8 0.47 0.49 Pruebas de medias Sub int 0 .43 0.67 0.61 0.01 0. λ Ps e 1 2 λ (100) = m.29 0.

72484 .50502 .59289 . V (x ) = ∑ (r − x) i i =1 n 2 n −1 Paso 2.48999 . de tal forma que la hipótesis queda expresada como: Ho: V(x) = 1/12 Hi: V(x) ≠ 1/12 Paso 1.82345 .25593 .34565 .104.82474 .71890 . Al calcular los límites de aceptación para muestras de tamaño 30.36782 . Calcular la variancia de los n números generados V(x). ls V ( x ) = 12 (n − 1 ) χ 2α 2 . Si V(x) se encuentra entre los valores de liv(x) y lsv(x).12387 .n−1 = 45.7 = 0. Ejemplo: Realice la prueba de variancia a los siguientes 30 números con un nivel de confianza del 95%.36728 . .507337 Aplicando la ecuación del paso 1 se tiene V(x)= 0.99872 .10987 .90234 .10461 .27657 .03991 x = 0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.67347 .94134 . Calcular los límites superior e inferior de aceptación.05389 . n −1 li V ( x ) = χ 2 1− α 12 (n − 1 ) 2 . Vales Ortiz Gilberto Simulación Prueba De Varianza Consiste en verificar si los números aleatorios generados tienen una variancia de 0.86322 .1313 12(29) 34 .02345 .73231 lsV ( x ) = 12(n − 1) χ 2α 2. .93716 .98953 .083.16894 . aceptamos la hipótesis nula y los números aleatorios tiene una variancia estadísticamente igual a 1/12.25678 .61234 . n −1 Paso 3.39528 .

2 pares. etc. 35 .5040 = 0. Con estos resultados se genera una tabla de frecuencias observadas de cada uno de los eventos. Hay varios métodos. Calcular la frecuencia esperada de cada uno de los eventos multiplicando la probabilidad de cada evento por la cantidad de números aleatorios generados. esto es. Para cada número aleatorio generado verificar si es Pachuca. que no depende uno de otro.0001 Paso 2.3024 = 0. tomando los primeros 5 dígitos a la derecha del punto decimal.0720 = 0. Paso 3.0090 = 0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Prueba De Poker Las pruebas de independencia consisten en demostrar que los números generados son estadísticamente independientes entre sí.1080 = 0.046 12(29) 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.0045 = 0. Vales Ortiz Gilberto Simulación liV ( x ) = χ 21−α 2.n−1 12(n − 1) = 16.00 = 0. Se tienen 7 eventos con las siguientes probabilidades: P (Pachuca) P (par) P (2 pares) P (1 tercia) P (Full) P (Poker) P (Quintilla) = 0.. Calcular las probabilidades esperadas para un juego de poker con 5 cartas numeradas del 0 al 9 con reemplazos. entre los cuales están: • • • • • 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 La prueba de poker plantea la siguiente hipótesis: Ho : ri ∼ independiente H1 : ri ∼ dependiente Paso 1. 1 par.

10461 0.73231 Pachuca Un Par Tercia Dos Pares Full Poker Quintilla FO 14 14 1 1 0 0 0 PE 0.27 + 0. Calcular la estadística: Catedrático: Ing.72484 0. 6 = 12.12387 0.003 (9.10987 0.82345 0.27 0.135 + 0.94134 0.12 2.16 3. Ejemplo: Realice la prueba de Poker a los siguientes 30 números con un nivel de confianza 95%.05.072 − 14)2 + (15.072 15.05389 0.99872 0.16 − 1)2 + (3.082 + 0.82474 0.1080 0.0001 FE 9.71890 0.072 15.59289 0.24 = 2.48999 0.36782 0.5040 0.25678 0.98953 0.02345 0.39528 0.003 χ 1 2 = 5. (∞ = 5%) del 0.0090 0.03991 0.135 0.86322 0.0720 0.622 + 1.34565 0.24 − 1)2 + 0.05.n χ12 = χ12 9.12 2.93716 0. Vales Ortiz Gilberto Simulación χ12 = ∑ i =1 m (FEi − Foi )2 FE Paso 5.0045 0.6 ∴ H0 se acepta 36 .l. y una probabilidad de rechazo alfa =α.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Paso 4.336 χ20.12 − 14)2 + (2.16 3.16894 0. Si el valor de C2 no excede al estadístico de tablas χi2 con 6 g.548 + 0. entonces se acepta que los datos son estadísticamente independientes entre sí.135 + 0.50502 0.36782 0.61234 0.90234 0.25593 0.27 + 0.67347 0.24 0.27657 0.676 + 0.3024 0.003 FE = PE.6 χ 1 2 ≤ χ 2 0.

12387 0.48999) (.03991 0.25593 0.73231) La clasificación en una tabla de frecuencias de dos dimensiones de 4 x 4.36782 0.10461 0.8125 y al calcular el error con la ecuación del paso 3. con la ecuación: χ12 = ∑ i =1 m (FE i − FOi )2 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 α.02345 0.50 0. El número total de pares ordenados en cada casilla formará la frecuencia observada: Foi. (.50502 0. .93716 0.98953.48999.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Paso 3 Calcular el error χ12. Vales Ortiz Gilberto Simulación Prueba De Series Ho : ri ∼ independiente H1 : ri ∼ dependiente Paso 1 Crear un histograma de dos dimensiones con m intervalos. clasificando cada pareja de números consecutivos (ri..72484.39528 0.48999 0.61234 0.59289 0.10987 0.25 2 1 3 2 0.27657 0. entonces aceptamos que estadísticamente los números son independientes.25678 0. es el número total de parejas ordenadas.94134 0. la frecuencia esperada FE en cada una es 1. queda ri+1 1 0. ri + 1) dentro de las casillas de dicho histograma de frecuencias. para cada una de las 16 celdas o intervalos de la tabla anterior se tiene: 37 .50 1 1 3 1 0. .75 2 3 1 2 1 ri Tomando en cuenta que se tienen 29 parejas ordenadas clasificadas uniformemente en 16 casillas.90234 0.39528) .82345 0.82474 0.36782 0. .73231 Al formar parejas ordenadas se obtiene: (.25 0 3 1 1 2 0. (m=16). Paso 2 Calcular la frecuencia esperada en cada casilla FE de acuerdo con FE=núm/m donde núm.05389 0.50502.98953 0.67347 0.50502) (. Ejemplo: Realice la prueba de series a los siguientes 30 números con un nivel de confianza del 95% 0.75 0.72484 0.. .16894 0.99872 0.71890 0.86322 0.34565 0.

12)2 + (5 − 2.27699 0.17546 0.1080 0.0720 0.0090 0.03991 0.24122 0.8125 − 1) + 5(1.73704 0.0001 FO 7 15 5 3 0 0 0 FE 9.05.68777 0.24)2 15.135 0.10274 0. Vales Ortiz Gilberto Simulación =∑ i =1 16 χ12 = ∑ i =1 m (FE i − FOi )2 FE i (1. se acepta la independencia de la secuencia de números.8125 − 2) + 4(1.135 + 0.21704 0.3024 0. Si se compara χ12 =5.16 3.8125 − FOi )2 1. χ 1 2 ≤ χ 2 0.75867 0.63379 0.6 = 12.003 0.30231 0.6 χ 1 2 < χ 02.24 0.61196 0.16)2 + (3 − 3.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.75 1.0045 0.32886 0.16 3.003 χ 02.48228 0.32643 0.92052 0.11 (7 − 9.95554 0.6 38 .072)2 + (15 − 15.95189 0.8125 − 3) = 5.93716 0.52861 0.8125 χ12 = 1 2 2 2 7(1.072 15.072 = 2.27 0.69572 Prueba de poker Evento Pachuca Par Tercia 2 Pares Full Poker Quintilla PE 0.12 2.97599 0.39510 0.27 + 0.15 Por consiguiente Ho se acepta.75 con este valor.30532 0.92962 0.03788 0.8125 [ ] El valor de la tabla χ2 con un nivel de confianza del 95% y con 15 grados de libertad es igual a 25.10461 0. Ejemplo: Realice la prueba de Poker y la prueba de series a los siguientes 30 números con un nivel de confianza de 95% 0.05.5040 0.66591 0.12 2.05.85783 χ12 = χ1 2 9.38555 0.24 + 0.

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Prueba de series
1
IIIIII II III

Catedrático: Ing. Vales Ortiz Gilberto Simulación

6
2 3

2
IIII

3 4
III

III

3
1 3

0
IIIII

III

3
1 3

5
2 3

3
1

FE =

29 = 3.22 9

χ12 =
χ1 2

1 (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 3.22 = 7.31

[

]

χ 02.05,8 = 15.51 χ 1 2 < χ 02.05,8

39

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales

Catedrático: Ing. Vales Ortiz Gilberto Simulación

Apéndice A
Elementos de la teoría de números A fin de comprender totalmente y apreciar los métodos para generar números pseudoaleatorios que se consideran, es requisito previo tener un conocimiento básico de los elementos de la teoría de los números. El apéndice A contiene un conjunto básico de definiciones, ejemplos y teoremas de la teoría de números que resultan pertinentes para la comprensión de los fundamentos racionales sobre los que se basan los métodos.

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 2. Un entero a es divisible entre un entero b si existe un entero t tal que a = bt Definición 3. Un entero p es un número primo si no es 0 ni ± 1 y si sus únicos divisores son ±1 y ± p. Por ejemplo, los primeros primos positivos son 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37. Definición 4. Un entero g es el máximo común divisor (m.c.d.) de dos enteros a, b, si g es un divisor común de a y b, además es un múltiplo de cualquier otro divisor común de a y b. Notación: m.c.d. (a,b) = g, o similar a (a b) = g. Definición 5. Un entero d es el mínimo común múltiplo (m.c.m.) de dos enteros a y b si d es un divisor de cada múltiplo común de a y de b, y es a su vez un múltiplo común. Notación: m.c.m. [a, b] = d o [a, b] = d. Definición 6. Se dice que los enteros a y b son primos relativos si (a, b) = 1. Definición 7. Dos enteros a y b son congruentes módulo m si su diferencia es un múltiplo entero de m. La relación de congruencia se expresa por la notación a ≡ b (mod m), que se lee “a es congruente con b módulo m”, esto también significa que: 1) (a-b) es divisible entre m, y 2) a y b dan el mismo residuo al ser divididos entre m.
Ejemplo: 5590 ≡ 6 (mod 8) y 2327 ≡ 27 (mod 102).

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 Ingeniería en Sistemas Computacionales

Catedrático: Ing. Vales Ortiz Gilberto 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 12. El número de enteros positivos menores que m y primos relativos de m, se conoce como la función Fi de Euler y se denota por ϕ (m). Un sistema residual reducido contiene ϕ (m) enteros. Si m = p, es un número primo, entonces ϕ (p) = p – 1. 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). Definición 15. Un entero a de orden h = ϕ (m) (mod m) es la raíz primitiva de m. Ejemplo: h = 3 ≠ ϕ (31) para a = 5 en el ejemplo (1) de la definición 13, pero h = 30 = ϕ (31) para a = 3 en el ejemplo (2); consecuentemente 3 es la raíz primitiva de 31. Ejemplos de residuos potenciales son: (1) a = 5, m = 31, ϕ (m) = 30 i ai ni ≡ ai (mod m) 1 5 5 2 25 25 3 125 1* 4 625 5 . . . . . . .

41

La prueba se debe a Euler. entonces a ± x ≡ b ± y(mod m).21]. entonces λ(m) ≠ ϕ (m).. 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. Para n < m tales que (m. m = π piei. Si (d. Teoremas Teorema 1. Teorema 6. Si (a. Si m = πpiei. 2 y 3. pe) = 1 y aϕ(pe) ≡ 1 (mod pe) donde h ≡ ϕ (pe). n) = 1. Teorema 4. Las demostraciones de los teoremas 1. i.e. donde h = ϕ(m). nah ≡ n (mod m). La prueba de esto se debe a Euclides [2. . Si a ≡ b (mod m) y d es un divisor de m. 2.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales (2) a = 3. Teorema 3. Corolario: Si p = 2.1)piei-1. h = λ(m) = 2e-2 para e > 2. resultan de la definición [2 p. m) = 1. Teorema 2. Teorema 7. entonces aϕ(m) ≡ 1 (mod m). 2. Vales Ortiz Gilberto Simulación i 21 22 23 24 25 26 27 28 29 30 ni 15 14 11 2 6 18 23 7 21 1* • La sucesión de los residuos potenciales se repite para potencias de orden superior. donde ei es una constante y π denota al producto p1ei x p2e2 x p3e3. i. entonces a ≡ b (mod d). Si a ≡ b(mod m) y x ≡ y(mod m). entonces dx ≡ dy (mod m) implica que x ≡ y (mod m/g). entonces ϕ (m) = π(pi . y ax ≡ by(mod m). . ϕ (m) = 30 i ai ni i ni 1 3 3 11 13 2 9 9 12 8 3 27 27 13 24 4 81 19 14 10 5 243 26 15 30 6 729 16 16 28 7 2187 17 17 22 8 6561 20 18 4 9 19683 29 19 12 10 59049 25 20 5 Catedrático: Ing. Teorema 8.24]. existe un número tal que (a.e. de lo cual se sigue que: 1. . m) ≡ g. Cualquier entero m (distinto de 0 ó ± 1) se puede factorizar de forma única en números primos. La prueba de esto se atribuye a Euler y se obtiene de los teoremas 2 y 3. Teorema 5. 3. Para todas las potencias de un número primo p > 2 existen las raíces primitivas. La demostración se debe a Euler. 42 . . (i = 1. p. esto es. .). m = 31. El mayor orden posible de a es h = ϕ(m) cuando a es una raíz primitiva de m.

La prueba se debe a Hull y Dobell. ϕ(p3e3). s. λ(m) = 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. El menor entero positivo a tal que (ah . 3.246]. 2. λ(p2e2).Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Teorema 9.. pertenece conjuntamente a) cada λ(piei).1) ≡ 0 (mod m) es h = m. Existe valores de a cuyo orden es igual a (esto es. Si m = πpiei para i = 1. . Vales Ortiz Gilberto Simulación 1. entonces λ(m) = m. p.[ λ(p1e1).m. . entonces: Catedrático: Ing.c.. . . Corolario: Si p1 = 2.m. . Teorema 10. [λ(2e1). . La demostración está en [21.293] y se sigue del teorema chino del residuo debido a Sun-Tse [21. ϕ(p2e2). . 43 .c. .]. . λ(pses)].1)/ (a . p. 2.

Método de rechazo 3. Si la variable aleatoria es continua. se recurre al empleo de las distribuciones teóricas convencionales y en su defecto a una distribución empírica. En primer lugar hay que obtener F(x). x tomará valores en un rango especificado. es de naturaleza numérica y debe configurarse mediante la aportación de números pseudoaleatorios. Existen tres métodos para generar los valores de variables aleatorias a partir de distribuciones de probabilidad: 1. 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. Método de composición (convolución) Método De La Transformación Inversa Se quiere generar valores de xi a partir de F(x). 44 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. x tomará valores específicos y F(x) será una función escalonada. También tenemos que: 0 ≤ r ≤ 1 y F(x) = r. Vales Ortiz Gilberto 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. Al querer reproducir algún proceso estocástico particular. Al considerar procesos estadísticos que involucran variables aleatorias continuas o discretas. se tiene que definir F(x). Si F(x) es continua en el dominio de x. para lo cual se dF ( x ) {Función de densidad de probabilidad} define f ( x ) = dx Luego entonces: F (x ) = P (x ≤ x ) = 0 ≤ F (x ) ≤ 1 −∞ ∫ f (t )dt x f(t) representa el valor de la función de densidad de probabilidad de la variable aleatoria cuando x = t. Método de la transformación inversa 2. De manera unívoca cada valor de ri define un valor de F(x). Si la variable aleatoria es discreta. ó función de densidad acumulada (fnDn). entonces F(x) se podrá diferenciar.

podemos hacer: x0 = F (r0). -1 Podemos de manera general establecer que: r = F ( x ) = Entonces p( x ≤ x ) = F ( x ) = p[r ≤ F ( x )] = p F −1 ( x ) ≤ x Ejemplo: −∞ ∫ f (t )dt x [ ] Genérese los valores x de variables aleatorias con una función de densidad f(x) = 2x 0≤x≤1 F ( x ) = ∫ 2tdt x 0 r = F (x ) = x 2 ó x = r Ejemplo: 0 ≤ r ≤1 Genérese los valores x de variables aleatorias con función de densidad f (x ) = 1 0 ≤ x ≤1 4 3 4 1≤ x ≤ 2 1° parte 1 F ( x ) = ∫ dt 4 0 F (x ) = r= x 4 x 4 x 2° parte F (x ) = F (x ) = 1 3 + ∫ dt 4 14 x 1 3 3 3 1 + x−  = x− 4 4 4 4 2 3 1 r = x− 4 2 45 . Vales Ortiz Gilberto Simulación 1 F(xi) = ri 0 xi X Al considerarla función inversa de F ó F-1(x) en caso de ser conocida.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales F(x) Catedrático: Ing.

b): 1 [t ]ax = 1(x − a ) b−a b−a x−a a≤ x≤b F (x ) = b−a x−a ∴ x − a = r (b − a ) r= b−a x = a + r (b − a ) 1  1  dt =  ∫ dt b−a b − a  a  a x 46 . Vales Ortiz Gilberto Simulación Al tomar la transformación inversa y resolviendo: x = 4r si 0 ≤ r ≤ 1 4 x= 4r+ 3 2 3 si 1 4 ≤ r ≤1 Para generar un valor de x se debe en primer lugar generar un valor de r. Si r > ¼ entonces x = 4/3 r + 2/3 Ejemplo: Se desea simular una variable aleatoria con dn exponencial f ( x ) = λe − λx x ≥ 0 F ( x ) = ∫ λe dt = ∫ λe −λt (− λdt ) − λt 0 x x F (x ) = − e 1 1 ln (1 − r ) = −λx ∴ x = − λ ln (1 − r ) ∴ x = − λ ln r F ( x ) = 1 − e −λ t = r ∴ 1 − r = e − λt [ ] − λt x 0 = − e − λ t − e −0 = − e − λt − 1 [ 0 ] [ ] Ejemplo: Se desea simular 1 f (x ) = a≤ x≤b b−a F (x ) = ∫ F (x ) = x n números aleatorios con dn uniforme entre (a. cuando r < ¼ el valor de x estará determinado por x = 4r.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.

f(x) M a b X Si r2 > f(x)/M entonces r1 y r2 se descartan y se seleccionan otros valores de r1 y r2 Ejemplo: Se desea generar números aleatorios con la distribución. 2. 2x f(x) 0 En este caso: a=0 1. Vales Ortiz Gilberto 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. Determinar si se cumple: r2 ≤ ƒ[a+(b-a)r1]/M M = es cota superior. Determinar el valor de la variable aleatoria X de acuerdo a la relación lineal de r1: X = a + (b-a)r1 3.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Evaluar la función de probabilidad en x = a + (b-a)r1: ƒ[x = a+(b-a)r1] 4. Generar 2 números aleatorios r1 y r2 2. 4. Generar R1 y R2 Calcular x = r1 f(x) = 2r1 r2 ≤ 2r1 = 2r1 M 2 0≤x≤1 en otra parte b=1 M=2 r2 ≤ r1 → x = r1 47 . Los pasos requeridos son: 1. 3.

48 . (c − a )(b − a ) f(x) = 2 (x − a ) si a≤x≤b −2 (x − c ) (c − a )(c − b ) M= si b≤x≤c 2 (c − a ) Como la función se compone de 2 partes: f(x) M a b c X Los pasos para simular esta distribución son: 1. en Si la respuesta es afirmativa. Vales Ortiz Gilberto Simulación Ejemplo: Se desea generar variables aleatorias X para la siguiente densidad de probabilidad. Es x < b si la respuesta es afirmativa f (x ) = (c − a )(b − a ) 2 ([a + (c − a )r1 ] − a ) = 2r1 (b − a ) si la respuesta es negativa. Calcular x = a + (c – a)r1 3. Generar r1 y r2 2. Es r2 ≤ f (x )(c − α ) 2 x = a + (c – a)r1 Simulada.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. entonces se considera como valor caso contrario regresemos al paso 1. 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 4.

y1 ) ( x2 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Ejemplo. f (x) 3 4 Catedrático: Ing. y 2 ) 0 3 4 0 ≤ x ≤1 f (x ) = 9 15 − x+ 8 8 1≤ x ≤ 5 3 1 5 3 x 1° parte Calculando la segunda parte de la función y = mx + b y − y1 = y− 3 = 4 y− 3 = 4 3 4 y1 − y 2 (x − x1 ) x1 − x2 F (x ) = ∫ 3 dt 4 F (x ) = [ 3 t ]0 4 F (x ) = 34x r = 34x x= 4r 3 0≤r ≤ 3 4 0 x x −0 (x − 1) 1− 5 3 −2 3 3 4 (x − 1) 9 y− 3 =−9 x+ 8 4 8 y =−9 x+ 9 + 3 8 8 4 9 y = − 8 x + 15 8 2° parte F ( x ) = + ∫ (− 9 t + 15 )dt 8 8 3 4 t F ( x ) = 3 + − 916 + 15 t 1 4 8 2 x x= x= − b ± b 2 − 4ac 2a 15 8 F (x ) = 9 9 F ( x ) = 3 − 16 x 2 + 15 x + 16 − 15 4 8 8 9 9 F ( x ) = − 16 x 2 + 15 x − 16 8 9 9 r = − 16 x 2 + 15 x − 16 8 9 16 9 x 2 − 15 x + 16 + r = 0 8 3 4 [ + [− 1 9 16 9 x 2 + 15 x − (− 16 + 15 ) 8 8 ] ± ± ± ± 3 2 x ] 9 9 (− 15 )2 − 4(16 )(16 + r ) 8 9 2(16 ) 255 64 36 − 324 − 16 r 256 9 8 x= x= x= 15 8 15 8 255 64 36 − 324 − 16 r 256 9 8 15 8 9 4 9 8 −9r 4 1− r 9 8 3 4 Resolviendo la ecuación de segundo grado mediante la fórmula general x = 15 ± 8 x= 15 ± 12 1 − r 9 ≤ r ≤1 49 . Vales Ortiz Gilberto Simulación (x1 .

para seleccionar y. Si un valor de y es ahora descrito de una función de distribución acumulada H(y) y entonces si x es una muestra de g(x). Este procedimiento está basado en la definición de probabilidad condicional o la ley de probabilidades compuestas. la función de densidad para x será: f = f (x ) = ∞ −∞ ∫ g (x y )dH ( y ) Usando este principio. y cuando: s1 = R1 X = Entonces x es la varianza deseada de: 1 s1 −1 n log R 2 f ( x ) = n ∫ y − n e − yx dy 1 ∞ 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(xy) la cuál se necesita para producir una f(x) dada dentro de la relación. genera dos varianzas uniformes R1 y R2. por la técnica de la transformación inversa o la técnica de rechazo. distribuciones más complicadas pueden ser generadas de distribuciones más simples las cuales son en sí mismas fácilmente generadas.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Para continuar con las siguientes instrucciones. esta expresada como una mezcla de probabilidad de funciones de densidad propiamente seleccionadas. Matemáticamente sea g(x|y) una familia de funciones de densidad de un parámetro donde y es el parámetro que identifica de manera única a g(x). Ejemplo: Generar una varianza aleatoria de f ( x ) = n ∫ y −n e − xy dy cuando (sea) dH ( y ) = n ydy+1 n ∞ 1 < y < ∞. Vales Ortiz Gilberto Simulación Método De Composición En esta técnica f(x). esta determina una particular g(x) = ye-yx. 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). la función de densidad probabilidad de la distribución que se va simular. Una vez que y es seleccionada. La varianza deseada de f(x) es entonces una varianza simplemente generada de g(x) = ye-yx. 50 .

. flujo de tráfico y muchas otras áreas ciencias administrativas.2. Vales Ortiz Gilberto Simulación ∞ f (x ) = −∞ ∫ g (x y )dH ( y ) Afortunadamente. En conclusión. x es la desviación aleatoria de Poisson deseada... 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. La función de densidad de probabilidad para la distribución de Poisson esta dada por: f (x ) = λx e −λ X! x = 0. y2. las estadísticas matemáticas nos han provisto de varias relaciones funcionales llamadas “convoluciones” que pueden ser usadas en la generación de ciertas desviaciones aleatorias. K. control de calidad.. Los siguientes ejemplos sirven para ilustrar el procedimiento. La Distribución De Poisson Si los intervalos de eventos similares están distribuidos exponencialmente. las sumas acumulativas son generadas hasta que se obtiene la desigualdad. Cuando esto ocurre.. Una desviación x de Poisson puede ser definida de la siguiente manera: ∑ yi ≤ 1 ≤ ∑ yi i =1 i =1 x x +1 donde y1.1.yx+1 son desviaciones aleatorias de una distribución exponencial teniendo como media 1/λ y son generadas por (la técnica de transformada inversa) 1 y i = − λ ln Ri donde Ri está dada por la distribución uniforme. Esto implica que el 1 tiempo entre eventos esta distribuido exponencialmente con media de λ Podemos utilizar esta relación entre la distribución Poisson y la exponencial para generar desviaciones de la distribución de Poisson.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. teoría de colas. 51 . ∞ donde λ es el número esperado de sucesos por unidad de tiempo.

4 hrs. 52 .9436 1. Por lo tanto para muestrear la distribución exponencial con media 1λ tantas veces como sea necesario hasta que la suma de las variables aleatorias generadas exceda a t por vez primera. Supóngase que se desea muestrear una distribución de Poisson λ = 3 durante un periodo de 1.2447 4 0.3201 1.673284 0. el valor de Poisson muestreado n se toma igual al número de veces que se muestreo la distribución exponencial -1. 1.058962 0.479909 0.61396 0. 2.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. En este caso. f (x ) = ti = − 1 λ xe −λ x! ln ri X = 0.5002 t = 1.1624 ∑t i =1 n 0.….1318 3 0. n rn tn 1 0.948578 0. pero la primera parece ser más apropiada 1 con la definición de la distribución exponencial donde las yi’s tiene una media de λ . En la distribución de Poisson el resultado se expresa como el número de eventos n que ocurren en un determinado tiempo t.9436 i λ 2 0.3376 1. esto es: ln Ri yi = − λ Las 2 técnicas son esencialmente las mismas.0754 1. Ejemplo.4 hrs. α λ= 3 eventos por hora. el tiempo entre la ocurrencia de eventos debe ser exponencial.4 ∑ n ti ≤ t ≤ i =1 ∑ n +1 ti i =1 X = Variable aleatoria de Poisson X = 4 número de eventos que llegan en 1.1075 5 0. Vales Ortiz Gilberto Simulación Otra forma de este mismo procedimiento es definir la desviación x de Poisson cuando: ∑ yi ≤ λ ≤ ∑ yi i =1 i =1 x x +1 donde yi es otra vez las desviaciones de la distribución exponencial pero con media 1/λ. Sabemos que por la teoría de la probabilidad que si el número de eventos se puede describir a través del flujo de Poisson.

53 . Vales Ortiz Gilberto Simulación Distribución Erlang La distribución Erlang es una forma de la distribución gamma con K igual a un entero positivo. cada una con el valor esperado 1/k.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Estadísticos Matemáticos han probado que esta distribución es solo la suma de las variables exponenciales de K. cada una con probabilidad de éxito p. n  x   donde p = probabilidad de éxito por tirada q = 1-p n = número de tiradas x = número de éxitos. Para generar una desviación Erlang. nosotros solo necesitamos la suma de las desviaciones exponenciales K. De esta manera la varianza x de Erlang es esperada como: 1 X = ∑ y i = − ∞ ∑ ln Ri i =1 i =1 k k donde yi es una desviación exponencial generada por la técnica de la transformada inversa Ri es un número aleatorio de la distribución uniforme. es conocida como una variable aleatoria binomial. La función de densidad de probabilidad binomial está dada por:  n f (x) =   pxqn−x x = 0. 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. 1. Generar n desviaciones aleatorias uniformes 2. cada una con un valor esperado 1/k. L. Contar el número de varianzas uniformes menor o igual a p 3. en entero Para generar una desviación binomial con parámetros p y n el procedimiento es el siguiente: 1. El número encontrado en el paso 2 es igual al valor de la varianza binomial Este procedimiento puede entonces ser repetido tantas veces como sea necesario para generar otras desviaciones binomiales. 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.

Vales Ortiz Gilberto 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. Método De Transformación Inversa Para Distribuciones Discretas Se utiliza cuando se desea simular variables aleatorias de tipo discreto. Paso 3 Generar un valor ri. Poisson. Este método es más rápido pero es solo una aproximación. etc. se genera un número aleatorio ri y se determina el valor de la variable aleatoria cuya distribución acumulada es igual a ri. como en el caso de la continua. F(x) está definida en el intervalo 0 a 1. El procedimiento es similar al continuo pero el valor de F(x) se encuentra acumulando las probabilidades de los eventos individuales p(x). f(x) F(x) 0 Metodología x 0 Xi= F -1 (Ri) x Paso 1 Calcular todos los valores de p(x) para la distribución propuesta. discreta general. También en este caso. binomial. La dificultad de este método radica en que no existe una expresión final sencilla. como la distribución de Bernoulli.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. La figura nos muestra en forma gráfica el procedimiento anterior para una función cualquiera p(x) discreta. Verificar en F(x) a qué intervalo de x pertenece y ese será el número aleatorio generado por la distribución propuesta. la varianza normal usada como una aproximación debe ser redondeada al valor entero más cercano. Paso 2 Calcular la probabilidad acumulada F(x) para cada valor de x.. 54 .

2 0.32768 (0.0064 (0.4096 (0.3 0.80)2 = 0.80)3 = 0.80)1 = 0.20)2 (0.20  n  n (n .80)5 = 0.20)0 (0.0512 (0.00032 f (x ) 0.20)3 (0.4 0.1)(n − 2 )K1 n!   = =  x x!(n − x )! x!(n − x )!    5 P(0 ) =    0    5 P(1) =   1   5 P(2 ) =    2    5 P(3) =    3   5 P(4 ) =    4    5 P(5) =    5   Catedrático: Ing.20)4 (0.80)4 = 0.20)1 (0.80 p = 0. Vales Ortiz Gilberto Simulación (0.80)0 = 0.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Ejemplo. n P(x ) =   p x q n− x  x   n=5 q = 0.05 x 0 1 2 3 4 5 55 .20)5 (0.2048 (0.

75 0.50 0. 34565 r 4 = 0 . Vales Ortiz Gilberto Simulación F (x ) 1 0. 82745 r5 = 0 .90 0. 43999 x1 = 1 x2 = 1 x3 = 1 x4 = 2 x5 = 0 x6 = 1 56 .25 x 0 1 2 3 4 5 Números aleatorios r1 = 0 . 03991 r6 = 0 . 71997 r3 = 0 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. 72484 r 2 = 0 .

operarios. PL/1. al movimiento de piezas. Vales Ortiz Gilberto Simulación UNIDAD IV Lenguajes De Simulación Introducción El GPSS/TM y el GPSS/H  son aplicaciones nuevas e interactivas dentro del ambiente IBM del GPSS. hasta llegar a estandarizarse ciertas instrucciones de programación en rutinas bien definidas. ALGOL. y que puede ser: información. 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. En un principio los lenguajes de simulación se elaboran utilizando algún lenguaje de propósito general como FORTRAN. Cualquier sistema por simular en este lenguaje se debe describir mediante un diagrama de bloques que representan las actividades. fin de proceso. ensamble. órdenes de producción.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. piezas. Simulación de Sistemas de propósito General) desarrollado a principios de la década de los 60 por Geoffrey Gordon. desensamble. General Purpose Simulating System (en español. un sistema de producción. inicio de proceso. con el paso del tiempo se fueron identificando diferentes situaciones. etc. salida del sistema. El objetivo principal del GPSS es la modelación de sistemas discretos. Esto requería un gran trabajo de programación. Una transacción es aquello que fluye a través del sistema de manufactura. La simulación mediante GPSS se realiza con dos elementos básicos conocidos como transacciones y bloques. etcétera. entrada a un almacén. mientras que un bloque se define como cualquier operación que realiza una transacción dentro de un sistema. 57 . un sistema de transporte se refiere al vehículos motorizados. etcétera. salida de un almacén. mecánicos. unidos mediante líneas que representan la secuencia que seguirán un grupo de transacciones. algunas operaciones pueden ser las siguientes: procesamiento. 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. fallas.

Son un tipo de instrucciones especiales de carácter opcional.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. definición de las operaciones matemáticas por utilizar. etcétera. su inclusión depende del sistema a modelar. Dentro de las instrucciones se encuentran las siguientes: definición de las funciones a utilizar. Dentro de un programa de GPSS se pueden distinguir cuatro tipos de instrucciones. Estas instrucciones permiten al usuario el acceso al compilador del GPSS y dependen de cada tipo de versión utilizada. Estas instrucciones siempre se encuentran relacionadas con las instrucciones de lógica del programa. A continuación se muestra una lista de las definiciones más comunes utilizadas en GPSS: Definición de funciones Definición de números de máquinas Definición de matrices Asignación numérica a variables Inicialización de variables Definición de histogramas Definición de operaciones FUNCTION STORAGE MATRIX EQU INITIAL TABLE VARIABLE Y FVARIABLE c) Instrucciones de Lógica del programa. definición de capacidad de los almacenes. cada una de las cuales se detalla a continuación: a) Instrucciones de acceso al sistema GPSS. son las que se ejecutarán durante la simulación. b) Instrucciones de definición de variables. Teniendo en cuenta la función que realizan. inicialización de variables. una clasificación de los bloques o instrucciones de lógica es la siguiente: Simulación de inicio de proceso y captura de máquina Simulación de fin de proceso y liberación de máquina Simulación de entrada de transacciones a un almacén Simulación de salida de transacciones de un almacén Simulación de entrada transacciones al sistema SEIZE ENTER PREEMPT RELEASE LEAVE RETURN QUEUE ENTER LINK DEPART ENTER UNLINK GENERATE SPLIT 58 . definición del número de operarios o maquinas por estación. Vales Ortiz Gilberto Simulación Estructura Del Lenguaje: Para usar el GPSS se requiere tener conocimientos de los comandos más comunes del sistema DOS. la lógica dependerá de cada sistema que se desee simular. en este punto se recomienda hacer referencia al manual respectivo. Este tipo de instrucciones son las conocidas como bloques.

dentro del cual se pueden distinguir los siguientes elementos: 2 Loc Donde: 8 Bloque 19 Operandos 31 Comentarios • Loc: Representa el nombre de una etiqueta o una dirección. Se coloca en la “columna 8”. Representa la acción que va a llevar a cabo cada una de las transacciones que cruza por allí. Su función es similar a las etiquetas en Fortran. La etiqueta es un campo opcional y su existencia depende de la lógica del programa. Operandos: Cada bloque representa la acción por ejecutar. Se colocan en la “columna 19”. Comentarios: Es el espacio donde el usuario puede colocar cualquier indicación o identificación de la instrucción. Bloque: Es la instrucción específica por ejecutar. sin embargo. Está localizado en la “columna 2”.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. y dependerán de la lógica del sistema. • • • 59 . como puede ser la duración o el lugar de dicha acción. es necesario incluir un complemento. Vales Ortiz Gilberto Simulación Simulación de la salida de transacciones del sistema Simulación de diversos tipos de proceso Simulación del control de flujo de transacciones Bloques de operaciones aritméticas Bloque de creación de estadísticas TERMINATE ADVANCE ASSEMBLE MATCH GATHER TRANSFER TEST GATE LOGIC SELECT LOOP BUFFER SAVEVALUE MSAVEVALUE ASSIGN INDEX PRIORITY TABULATE Las instrucciones de tipo b) y c) se codifican siguiendo un formato general. Los operandos son las características individuales de cada bloque.

Tiene una alta fiabilidad que conduce a una validación de resultados sencilla y rápida. El tiempo de desarrollo de la programación es muy corto porque se trata de lenguajes sintéticos basados en programación por bloques o subrutinas. una vez dados los lineamientos generales. d) Instrucciones de control de la simulación. Permite definir y entender el sistema a simular gracias a que se tiene una visibilidad superior de la estructura general del modelo y se aprecian más fácilmente las interrelaciones. Así. Las principales son: END. Lenguajes Específicos De Simulación Ventajas: 1. START. como en la de GPSS/PC. Estas instrucciones son las que controlan la ejecución. 60 . 3. 2. Características De Los Lenguajes De Simulación En la actualidad los lenguajes que existen en el mercado tienen una serie de características propias que los distinguen de otros. e incluso algunos de ellos están encaminados al usuario de tal forma que ya no es indispensable programar. 3. Es necesario invertir en adquisición del software. Permite realizar análisis de sensibilidad fácilmente y en un corto tiempo. a continuación se explican de manera más detallada los principales bloques del GPSS.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. La computadora de la compañía y el software a adquirir deben ser compatibles. 4. 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. incluyendo algunos ejemplos ilustrativos. El procedimiento utilizado para generar los números aleatorios uniformes y las variables no uniformes conocidas. Vales Ortiz Gilberto Simulación En algunas versiones del GPSS. 5. Desventajas 1. Tiene alta flexibilidad para hacer cambios. edición y manejo de archivos en GPSS/PC. entre esas características están las siguientes: 1. Integra funciones como generación de números aleatorios. SIMULATE. análisis estadístico y gráficas. Se requiere invertir tiempo y costo en la capacitación de los programadores del nuevo lenguaje. 2. elementos y estructura del GPSS.

Clasificación De Los Lenguajes De Simulación Los lenguajes de simulación se pueden clasificar de la siguiente forma: • • Lenguajes de propósito general o FORTRAN. PROMODEL. con otro lenguaje o simplemente con el usuario. Computadoras compatibles: Generalmente se adapta a cualquier tipo de computadora. ASEMBLER. Versiones más conocidas: GPSS I. GPSS V. Lenguaje del paquete: Asembler. GPSS II. SIMSCRIPT. Las estadísticas que se obtienen y el formato en que se representan los resultados. DYHYSYS o Enfoque de bloques: MIDAS. El lenguaje en que esta escrito. GPSS/360. BASIC.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. BOSS o Enfoque de eventos: GASPII. ALGOL. XCELL • • • A continuación se presentan las características principales de los lenguajes de simulación más usados: GPSS (General Purpose Simulation System) Persona que lo desarrollo: Geoffrey Gordon. MIMIC. WITNESS. Reloj de la simulación: Incremento al próximo evento. Lenguajes de simulación discreta o Enfoque de flujo de transacciones: GPSS. 61 . SIMCOM. 3. SOL. ESP. COBLOC Simuladores de aplicación especifica o COMNET. GPSS III. lo cual influye en la forma de detectar y reportar los errores de lógica. Su compatibilidad de comunicación con determinado tipo de computadoras. SIMPAC o Enfoque de procesos: SIMULA. La forma de adelantar el reloj de simulación. FORSIM-IV. OPL. PASCAL. Vales Ortiz Gilberto Simulación 2. SIMFACTORY. MADBLOC. que puede hacerse con incrementos de tiempo fijo como DYNAMO o con incrementos al próximo evento como GPSS. SCADS. MILITRAN Lenguajes de simulación discreta y continua o GASP-IV. SIMULATE o Enfoque de actividades: CSL. PL/1. C-SIMSCRIPT. NETWORK. SLAM Lenguajes de simulación continua o Ecuaciones discretas: DSL-190. GHSI. C. 4. DYNAMO. 5.

1 en la cual se observan seis eventos y una actividad.5. este elemento básico de producción se repite varias veces dentro de los sistemas complejos de manufactura o servicios. GASP-PLUS. Asembler (las últimas). Alam. B. UNIVAC 1100. PL/1. Karr y B.5. GASP (General Activity Simulation Program) Personas que lo desarrollaron: P. Simscript II. Colher. GASP IV. Hausner. e incrementos a tiempo fijo para el caso continuo. M. Computadoras Compatibles: CDC 6000/7000. Lenguajes del paquete: Fortran (las primeras versiones). Reloj de la simulación: Incrementos al próximo evento para el caso discreto. e incrementos a tiempo fijo para el caso continuo (C-Simscript). H. Por lo general. e incrementos a tiempo fijo para el caso continuo (GASP IV y PLUS). 62 . Lenguaje del paquete: Fortran. Estos bloques forman lo que se podría llamar un elemento básico de producción. Lenguaje del paquete: Fortran IV. Introducción A Los Bloques GPPS Aquí se analizarán los bloques básicos del GPSS. IBM 360/370. Computadoras compatibles: Cualquier computadora con compilador de Fortran o PL/1. El elemento básico puede representarse de acuerdo con la figura 4. SLAM (Simulation Languaje for Alternative Modeling) Personas que los desarrollaron: A. CSimscript. Reloj de la simulación: Incrementos al próximo evento para el caso discreto. el cual puede ser representado como una serie de actividades a través del tiempo.J. Kiviat y A. Versiones más conocidas: GASP II. Computadoras compatibles: Cualquier computadora con compilador de Fortran. HONEYWELL. W.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales SIMSCRIPT (No tiene ningún significado) Catedrático: Ing. Versiones más conocidas: SLAM fue el resultado de la fusión de varios lenguajes como GASP IV y QGERT. Versiones más conocidas: Simscript I. Reloj de la simulación: Incrementos al próximo evento para el caso discreto. Simscript II. Vales Ortiz Gilberto Simulación Personas que lo desarrollaron: H. Simscript I. Markowitz. Pritsker y Asociados.

el último bloque del elemento básico i será el bloque que simule la llegada al elemento básico i+1. se hace uso del bloque DEPART. la entrada de dichas transacciones debe realizarse mediante el bloque GENERATE. y representa el punto en el que una transacción termina su espera al haberse iniciado una actividad. El bloque ADVANCE se utiliza para este fin. Este evento ocurre en el momento en que una transacción hace su entrada al sistema. Los bloques elementales para representar este evento son el SEIZE y el ENTER. Esta actividad se mide en unidades de tiempo. Actividad. Es el evento en el cual una transacción pasa de un estado de espera a uno de actividad. este recurso puede ser una máquina. se utiliza el bloque QUEUE. Los bloques más simples para modelar este evento son el RELEASE y el LEAVE. y es el bloque que sirve para modelar tiempos de proceso o transporte. Fin del retraso. por tanto. 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. 63 . El evento ocurre después de haber transcurrido el tiempo de proceso o transporte y su función principal es dejar libre el recurso que se utilizó para realizar la actividad. Inicio de un retraso. Vales Ortiz Gilberto Simulación Llegada al elemento básico Inicio de la actividad Salida del elemento básico Retraso Actividad Inicio del retraso Fin del retraso Fin de la actividad Llegada al elemento. una transacción no puede iniciar con la actividad por la cual ha entrado a este elemento básico. Para dar por terminado el retraso. en este caso. Ocurre en el mismo tiempo que el evento anterior. Representa la acción primordial por la que una transacción entró al elemento básico de producción. al llegar al elemento básico. Esta acción se llevará a cabo sólo si el recurso con el que se lleva a cabo la actividad está desocupado o disponible. un operario o una herramienta. Fin de la actividad. Para empezar a medir este retraso.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Inicio de la actividad. La segunda ocurre cuando la transacción proviene de otro elemento básico de producción. Esta actividad no planeada se lleva a cabo.

Dentro de cada descripción se incluye un diagrama que representa la forma de la instrucción en un diagrama de flujo. B: Desviación con respecto a la media (en caso de la distribución uniforme). Lenguaje GPSS Generate Se puede pensar en un bloque GENERATE como una puerta a través de la cual entran las transacciones. D: Límite total de transacciones 64 . Default = 0 (opcional). E A: Tiempo medio entre llegadas. No existe ningún límite en cuanto a la cantidad de bloques GENERATE que puede contener un modelo. El operando tiene que ser nombre. 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. La información disponible durante la corrida acerca de instalaciones. SNA o nulo. D. Así como existen dos formas para entrar al elemento básico de producción. SNA o nulo. X) se acompaña de una breve información sobre su significado y los valores que toman por default al no definir los operandos. Codificación y diagrama. Atributos numéricos estándares (SNA). B. Default = 0 (opcional). Es la información que debe llevar cada instrucción. algunas versiones dan la facilidad de romper esas reglas sin que ocurra un error. Esta información puede imprimirse al final de la corrida de simulación. Vales Ortiz Gilberto Simulación Salida del elemento. número. Objetivo. Es la descripción de la función general de la instrucción. Operandos y su significado. número. se llama atributos estándares (SNA). No se pueden utilizar parámetros. Muchas de estas propiedades también pueden estar disponibles durante una corrida para verificar un valor deseado o para realizar algún cálculo en particular. C: Tiempo en que se generará la primera transacción. colas almacenamientos. D. sin embargo. C. Durante una corrida de simulación el procesador de GPSS automáticamente guarda y actualiza cierta información acerca de varias entidades utilizadas en el modelo. SNA o nulo. No se pueden utilizar parámetros. la segunda ocurre cuando existen dos elementos básicos interconectados. No se pueden utilizar parámetros. Las reglas que se dan en cada instrucción son generales para cualquiera de las versiones del GPSS. etcétera. B. El operando tiene que ser nombre. 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. GENERATE A. Es el formato bajo el cual se debe teclear la instrucción. C.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. El operando tiene que ser Nombre. número. cada operando(identificando con letras A.

a excepción de usar el operando D en ausencia de los operandos A y B en cuyo caso las transacciones serán generadas en el tiempo 0. SNA o nulo. El operando C se utiliza cuando sólo se requiere fijar el tiempo de generación de la primera transacción. El valor del operando B deberá ser menor que el valor del operando A en todos los casos. mayor es la prioridad. No se pueden utilizar parámetros. En GPSS. Vales Ortiz Gilberto Simulación E: Nivel de prioridad. Por ejemplo. el operando A del bloque GENERATE representa el tiempo medio entre llegadas. 2. 10 significa que la primera transacción será generada al tiempo 10 y las transacciones subsecuentes cada 6 ± 4 a partir del tiempo 10. Al generar el número de transacciones indicadas en el operando D. Las transacciones subsecuentes se generarán de acuerdo con los operandos A y B. El operando tiene que ser nombre. Distribución Uniforme. 4 significa que el tiempo entre llegadas se distribuye uniformemente en el rango de 6 ± 4.5. el tiempo promedio entre llegadas consecutivas de transacciones. En esta sección sólo se considera la generación de acuerdo con la distribución uniforme. 4. GENERATE 6. no aleatorios. Se requiere por lo menos un bloque GENERATE en un modelo de simulación. Es importante considerar los siguientes puntos: 1. Entre mayor sea el valor del operando E. GENERATE 8 significa que el tiempo entre llegadas se distribuye uniformemente en el rango de 8 ± 0. 100 significa que se generarían las 100 transacciones juntas (sin ningún tiempo entre ellas) al inicio de la simulación (tiempo 0). GENERATE 20. uniformemente distribuidas y todas con una prioridad de 10. las llegadas ocurrirán exactamente cada 8 unidades de tiempo. de lo contrario ocurriría un error al intentar generar una transacción en el tiempo negativo. GENERATE . el bloque GENERATE se vuelve inactivo. Todas las otras distribuciones.. número.10 significaría que se generarían transacciones cada 20 ± 5. Es decir. . 2.. El tiempo mínimo para la creación de las transacciones es 1. En este caso. El operando B representa la mitad del ancho del tiempo entre llegadas. El operando E del bloque GENERATE permite dar prioridad a las transacciones generadas.4. las distribuciones de tiempos entre llegadas están divididas en dos categorías: 1. ..Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Para la distribución uniforme. los tiempos entre llegadas son determinísticos. GENERATE 6. GENERATE 6. es decir. 65 . El operando D pone un límite al total de las transacciones que pueden entrar al modelo a través del bloque GENERATE. Default = 0 (opcional).100 significa que se generaría un máximo de 100 transacciones que se distribuyen uniformemente con el tiempo entre llegadas de 6 ± 4.

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales SNA Catedrático: Ing. 66 . Vales Ortiz Gilberto Simulación No tiene SNA relacionados con él. SEIZE CAJA significa que la transacción entrante capturará la instalación con el nombre de CAJA. Así una transacción será enviada a la cadena de eventos actuales en espera de que el valor de F cambie de 1 a 0. FT: Tiempo promedio de utilización de la instalación. SNA F: Estatus de la instalación (1=ocupado. 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. 0=ocioso). proceso o instalación. FC: Número de veces que la instalación fue capturada. Puede ser nombre. SEIZE El objetivo del bloque SEIZE es simular la captura de un servidor. la que puede tomar los valores de 0 y 1. proceso o instalación que había sido capturada. FR: Utilización fraccional de la instalación. cuando una transacción llega a este bloque y trata de entrar. RELEASE El bloque RELEASE es la contraparte del bloque SEIZE. A: Identificador del servidor. Este bloque actúa como controlador del flujo de las transacciones y trabaja en conjunto con el bloque RELEASE. Su funcionamiento general consiste en el manejo de una variable interna llamada F. o SNA (requerido) Una instalación puede ser capturada por una sola transacción en un momento dado. lo podrá hacer si el atributo numérico estándar (SNA) F tiene un valor de 0 (ocioso) e inmediatamente cambiará al estado del atributo F a 1 (ocupado). de otra manera regresa a 0. FL: Regresa el valor de 1 si la instalación ha sido prevaciada o en estado disponible. La función de este bloque es cambiar el valor del atributo numérico estándar F de 1 (ocupado) a 0 (ocioso). número. Por ejemplo. y permite simular la liberación del servidor.

QUEUE COLA. Una transacción por medio de SEIZE captura una instalación y por medio de RELEASE suelta la misma instalación al terminar el servicio deseado. A: Identificador del servidor. Puede ser nombre. entero positivo o SNA (opcional). QZ: Total de entradas con cero tiempo de espera en la cola. QX: Tiempo promedio por transacción en la cola (a base de QZ). QM: Contenido máximo de la cola. QT: Tiempo promedio por transacción en la cola (a base de QC). Puede ser nombre. Vales Ortiz Gilberto Simulación A: Identificación del servidor. Por ejemplo. Al utilizar los bloques de SEIZE y RELEASE. número. en cuyo caso se puede usar el operando B para representar número de partes que realmente existe en la cola. QC: Número total de entradas a la cola. el tiempo promedio de servicio por transacción y el número total de entradas al bloque SEIZE. o SNA (requerido). o SNA (requerido). Este reporte incluye información tal como la utilización promedio del 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”. SNA Son los mismos que para el bloque SEIZE.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. número. SNA Q: Tamaño de la cola (contenido actual). 67 . una transacción puede representar una caja o pallet. donde el operando A en ambos casos es idéntico. saldrá un reporte con información relevante acerca de la instalación. El operando debe ser nombre. Default = 1. QUEUE El bloque QUEUE permite obtener estadísticas de colas que se forman al momento que las transacciones esperan usar un servidor. B: Número de unidades en que se incrementa el contenido de la entidad de cola. 10 indica que cada transacción (caja) contiene 10 piezas esperando en COLA. En algunos problemas. Cada SEIZE requiere acompañarse por un RELEASE. QA: Contenido promedio de la cola.

El funcionamiento de este bloque se lleva a cabo de la siguiente forma: cuando una transacción cruza por el ADVANCE en el tiempo t1. entero positivo SNA (requerido). Vales Ortiz Gilberto Simulación El bloque DEPART registra estadísticas que indican una reducción en el contenido de la entidad de cola. Contenido actual de la cola (número de transacciones esperando. El bloque DEPART puede visualizarse como “punto de terminación para la toma de datos estadísticos de las colas que se formaron”. SNA Son los mismos que para el bloque QUEUE. el ADVANCE permite la entrada a toda transacción que llegue. 3. Tiempo promedio de espera por transacción. de manera que puede visualizarse como el tiempo de proceso. Número de entradas en la línea de espera (potencial). 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: 1. transporte o servicio. Default = 1 (opcional). entero positivo o SNA. 68 .B. Contenido promedio de transacciones en cola. El operando debe ser nombre. tiempo en el cual la transacción abandona la cadena de eventos futuros y continua su camino al siguiente bloque secuencial. y se envía la transacción a la cadena de eventos futuros en espera de que el reloj de simulación avance hasta el tiempo t2 = t1 + TP. El operando debe ser nombre. DEPART A. 2. Desde un punto de vista de análisis de bloques. Número de transacciones que no tuvieron que esperar en cola (con tiempo cero en fila). ADVANCE El objetivo es simular retrasos en el flujo de las transacciones. En este bloque pueden existir en un mismo tiempo una o más transacciones.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales DEPART Catedrático: Ing. B A: Nombre o número de cola. 5. se genera en un tiempo de proceso (TP) dado por las condiciones presentadas en los operandos A. B: Número de unidades en que se decrementa el contenido de la entidad de cola. 4.

Para la distribución uniforme. pero no controla el tiempo de corrida de simulación. En todos los casos. es destruida y sale del sistema. de tal manera que cuando 50 transacciones crucen por el TERMINATE. TERMINATE Solo remueve las transacciones activas que pasen por él. entero positivo o SNA (requerido).B A: Es el tiempo medio de retardo de la actividad (servicio). Para esto se presentan a continuación algunos ejemplos de sistemas que se desean modelar mediante GPSS.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. TERMINATE START 1 100 En el momento en que una transacción cruza por el TERMINATE. es interesante manejarlos de una forma integral. pero decrementa el valor START en 2 unidades. TERMINATE START 2 100 Cuando una transacción cruza por el TERMINATE. El operando debe de ser nombre. es destruida y sale del sistema. El operando B representa la mitad del ancho del tiempo de servicio. entero positivo o SNA (opcional). de esta manera. 69 . el operando A del bloque ADVANCE representa el tiempo medio de servicio. B: Desviación con respecto a la media para la distribución uniforme. de lo contrario ocurriría un error al intentar generar una transacción en un tiempo negativo. el valor del operando B deberá ser menor que el valor del operando A. Vales Ortiz Gilberto Simulación ADVANCE A. cuando 100 transacciones crucen por el TERMINATE. SNA TG1: Contador de terminación Tomando en cuenta los bloques vistos hasta el momento. el valor del START llegará a 0 y el proceso de simulación se detendrá. pero decrementa el valor START en una unidad. El operando debe ser nombre. el valor del START llegará a 0 y el proceso de simulación se detendrá.

Reservar valor Núm. Núm. 2 (Siguiente bloque B) Siguiente bloque A Siguiente bloque B Siguiente bloque A Cuenta (Siguiente bloque B 70 . cadena (Núm. Vales Ortiz Gilberto Simulación TIPOS DE BLOQUES DE GPSS Operación E ADVANCE ASSIGN DEPART ENTER GATE GENERATE LEAVE LINK LOGIC R S I A F B C D Media Param Núm. Cadena Núm. Almacenaje Núm. Param. Facilidad Núm. Tabla (Unidades) Arg. Facilidad Núm.) (Arg. 1 Factor selec.) Prioridad Cola Núm.) Modificador Fuente (Unidades) (Unidades) (Sigue bloque B) Modificador (Params) (Unidades) Orden (Desplazamiento) (Siguiente bloque B) MARK PRIORITY QUEUE RELEASE SAVEVALUE SEIZE TABULATE TERMINATE TEST TRANSFER UNLINK (Unidades) SNA (Unidades) Arg. Núf. Switch (Param. Artículo Núm. (±) Núm.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. (±) Cola Núm. Media (Cuenta) (Prioridad) Almacenaje Núm.

Vales Ortiz Gilberto Simulación SÍMBOLOS DE LOS DIAGRAMAS DE BLOQUES DEL GPSS AVANZA ENLAZA AGARRA ASIGNA LOGICA TABULA SALE MARCA TERMINA ENTRA PRIORIDAD PRUEBA COMPUERTA COLA TRANSFIERE GENERA LIBERA DESENLAZA ABANDONA RESERVA VALOR 71 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.

2 TORNO 1 500 En este ejemplo se tiene la unidad elemental de producción en la que entran las piezas al modelo por el bloque GENERATE.1 RELEASE TORNO2 TERMINATE 1 * START 500 END 72 . El tiempo entre llegadas de las piezas al torno sigue una distribución uniforme con parámetro 7 ± 3 minutos. cruzando el sistema y abandonándolo en el bloque TERMINATE. Vales Ortiz Gilberto Simulación Considere un torno manual que procesa piezas en 5 ± 2 minutos con distribución uniforme.2 RELEASE TORNO QUEUE WIP SEIZE TORNO2 DEPART WIP ADVANCE 6. 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.3 QUEUE ALMACEN SEIZE TORNO DEPART ALMACEN ADVANCE 5. GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE * START END 7. Realice un modelo en GPSS que simule el torneado de 500 piezas.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Ejemplo: Catedrático: Ing. SIMULATE * GENERATE 7.3 ALMACEN TORNO ALMACEN 5.

de manera que se pueda pensar que se “mezcla los barcos internamente”.2 y son destruidos en TERMINATE 1 de su propio elemento. es necesario crear dos elementos básicos para cada uno de ellos.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. cada elemento básico tiene su propia máquina (TORNO y TORNO2) y estadísticas de espera separadas o dos almacenes separados (ALMACEN y WIP).2 MUELLE GRUA MUELLE 10. 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. GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE * GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE * START END 15. respectivamente. Los barcos nunca se cruzan dentro de los segmentos sin embargo. con lo que se evita que entren al segundo elemento.5 y después de cruzar por el segundo elemento es destruido en su respectivo TERMINATE. Ejemplo: En un puerto se cuenta con una grúa destinada a la descarga de barcos. Gracias a las cadenas de eventos. Los barcos tipo 1 se introducen al modelo en el GENERATE 15. En este caso. respectivamente. el GPSS logra unir internamente los dos elementos y manejarlos en forma simultánea o paralela.2 GRUA 1 24. 73 . El otro tipo de barco entra al sistema en el GENERATE 24. Existe dos tipos de barcos que entran al puerto a descargar. comparten el recurso GRUA y las estadísticas de la espera también se encuentran compartidas en el mismo MUELLE. El funcionamiento del TERMINATE y el START es similar al ejemplo anterior. a) Simule el sistema portuario hasta que se hayan descargado 90 barcos.5 GRUA 1 90 Al existir dos tipos de barcos o dos tipos de transacciones con diferentes condiciones de proceso. Como se desea simular 90 barcos sin importar de que tipo son. Vales Ortiz Gilberto Simulación El único cambio es la introducción de un nuevo elemento básico de producción que simula el rectificado entre el torneado y la salida del sistema. 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.5 MUELLE GRUA MUELLE 17.

5 MUELLE GRUA MUELLE 17.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE GENERATE 15. c) Simule el puerto durante una semana.2 GRUA 24. por eso. GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE GENERATE QUEUE SEIZE DEPART ADVANCE RELEASE TERMINATE START END 15.5 GRUA 168 74 . Vales Ortiz Gilberto Simulación el control de la simulación debe ser llevado a cabo por los dos elementos. lo único que se desea es detener la simulación mediante el conteo de uno de los tipos de barcos. b) Simule el sistema y finalice la simulación en el momento en que hayan sido descargados 40 barcos del tipo 2. en este caso.5 GRUA 1 40 En este inciso. dándole mayor prioridad en la descarga de los barcos tipo 1.. al controlarlo con barcos tipo 2. ambos TERMINATE se codifican con el valor 1 para el operando A.5 MUELLE GRUA MUELLE 10.2.2 MUELLE GRUA MUELLE 10. 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.5 MUELLE GRUA MUELLE 17..2 GRUA 24.

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. Default = 1. dará por terminada la simulación. ENTER A. que genera transacciones cada 168. El operando debe ser nombre. que al llegar a 0. cruzará el TERMINATE y restará 1 del valor del START. La transacción que entra al bloque ENTER capturará cualquier servidor que esté disponible en ese momento.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales TERMINATE START END 1 1 Catedrático: Ing. Vales Ortiz Gilberto Simulación 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. El operando debe ser nombre. y 0 de otra manera 75 . 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. el inicio de estadísticas y la ocupación de un espacio dentro de una fila de capacidad finita. 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. ENTER El bloque ENTER tiene dos funciones. en la segunda se utiliza para simular la entrada. En caso de no encontrar ningún servidor disponible (según la capacidad definida en STORAGE). entero positivo o SNA (requerido) B: Número de unidades por los que se decrementa la capacidad disponible de almacenaje (storage). en la primera se utiliza para simular la selección y captura de uno o más servidores en paralelo.B A: Nombre o número de almacenaje (storage) por utilizar. Para definir el número (capacidad) de servidores existentes en paralelo se requiere utilizar la instrucción STORAGE. la transacción en espera será puesta a Delay Chain (cadena de espera).

ambas localizaciones a las que se llega desde el bloque de TRANSFER son bloques de TERMINATE. y el factor de selección se coloca en la parte inferior de cada bloque. Se utiliza un bloque ADVANCE con una media de 4 y modificador de 3 para representar la inspección. Se utiliza un bloque GENERATE para representar la salida de la máquina creando un transacción cada cinco minutos de tiempo.4. La convención usual que se utiliza en los diagramas de bloques es colocar la localización del bloque (en los casos necesarios) en la parte superior del bloque. En consecuencia. Vales Ortiz Gilberto Simulación SF: Regresa el valor 1si el storage está lleno.3. las transacciones van a un bloque TRANSFER con un factor de selección de 0. En la figura se muestra un diagrama de bloques que representa al sistema. 76 . 0 de otra manera Ejemplo: Una máquina herramienta de un taller de fabricación produce piezas a razón de una por cada 5 minutos. el tiempo que transcurre en la inspección será cualquiera de los valores 1. Ya que no se tiene interés adicional en seguir la historia de las piezas en esta simulación.b en que a es la media y b el modificador. Al completar la inspección. dando igual probabilidad a cada valor. Cada pieza queda representada por una operación y la unidad de tiempo elegida para el problema será de 1 minuto.2. Conforme se terminan.5.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. el tiempo de acción se indica en el centro en la forma T= a. y 0 de otra manera SR: Utilización de la capacidad del almacenaje SV: Regresa 1 si el storage está en estado disponible.6 ó 7.1 de manera que 90% de las piezas van a la siguiente localización (salida 1) llamada ACC para representar las piezas aceptadas y 10% van a otra localización (salida 2) llamada REJ para representar los rechazos. las piezas van a un inspector que necesita 4+3 minutos para examinar cada una y rechaza aproximadamente 10% de las piezas.

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. se utiliza una secuencia numeral distinta para cada tipo. 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. Puede haber muchas instancias de cada tipo de entidad hasta un límite impuesto por el programa (generalmente 300).Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. El número 0 es ilegal para éstas y las otras entidades del GPSS. Vales Ortiz Gilberto 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. Las entidades individuales se identifican mediante número. Algunos ejemplos de cómo podrían interpretarse las entidades del sistema en distintos sistemas son: Tipo de Sistema Comunicaciones Transportación Transacción Mensaje Automóvil Facilidad Conmutador Caseta de peaje Almacenaje Troncal Carretera 77 . hasta cierto límite predeterminado.

el contenido del almacenaje se cambia en 1. se cambia el contenido en ese valor. 78 . Si está en blanco los campos B de los bloques ENTER y LEAVE. ENTER Y LEAVE. RELEASE. Se aplican arreglos semejantes para la utilización de los almacenajes. El bloque RELEASE permite que la transacción libere la facilidad. por lo que se representa como una facilidad. 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. Si hay un número (mayor o igual que 1). que se refieren a la utilización de facilidades y almacenajes. 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. La figura muestra cuatro tipos de bloques SEIZE. 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. En este caso se supone que un interruptor sólo pasa un mensaje a la vez. Vales Ortiz Gilberto 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. El campo A de cada caso indica la facilidad o almacenaje de referencia y.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.

De nuevo considere el caso de tres inspectores. Para mantener pequeño el modelo. si está ocupado. Vales Ortiz Gilberto Simulación GENERATE SEIZE ADVANCE RELEASE TRANSFER ACC REJ TERMINATE Ilustraremos el uso de modos de transferencia tanto condicional como incondicional del bloque TRANSFER. 79 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. se registrará todo el tiempo de tránsito de las piezas y se ignorará la posibilidad de que los inspectores rechacen las mismas. si está libre cuando llega esa pieza. en caso contrario se pierden. la que lleva las piezas frente a los inspectores colocados a intervalos a lo largo de la misma banda. pero suponga que las piezas fabricadas se colocan en una banda transportadora. la toma para inspeccionarla. que la toma si está desocupado. Una pieza tarda dos minutos en llegar al primer inspector. Las piezas que pasan al segundo inspector puede tomarlas el tercero que está a dos minutos adicionales sobre la banda transportadora. la pieza necesita dos minutos adicionales para llegar al segundo inspector.

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto Simulación GENERATE QUEUE ENTER DEPART MARK ADVANCE LEAVE TABULATE TRANSFER ACC REJ TERMINATE 80 .

Vales Ortiz Gilberto Simulación Ejemplo: Los usuarios llegan a razón de uno cada 10±15 minutos para utilizar un solo teléfono. Suponiendo que una llamada toma 6±3 minutos.500.TEL. Código GPSS INI TEL GENERATE 10.0 TRANSFER . cuente cuántas personas habrán abandonado el intento para cuando se hayan terminado 1000 llamadas.INI TERMINATE 1 TERMINATE 1 OCU ESP5 BYE 81 . Si el teléfono está ocupado.3 RELEASE TELEF TERMINATE TRANSFER 0. 50% de las personas regresan 5 minutos después y lo intentan de nuevo y el resto lo abandona del todo.BYE ADVANCE 5.5 TRANSFER BOTH.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.ESP5.OCU SEIZE TELEF ADVANCE 6.

5 RELEASE cola TERMINATE 1 descartar TERMINATE 1 Start 1 82 .0. se va a otro doctor. Si llega un paciente y no encuentra ninguna silla disponible.descartar ENTER paciente SEIZE cola LEAVE paciente ADVANCE 25.3 TEST E SF$paciente. El tiempo de consulta está uniformemente distribuido entre 20 y 30 minutos por paciente. Vales Ortiz Gilberto Simulación Ejemplo: La sala de espera del consultorio de un doctor cuenta con 4 sillas.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Código GPSS paciente STORAGE 4 GENERATE 15. Los pacientes al llegar al consultorio. La llegada de los pacientes al consultorio es uniforme entre 15±3 minutos. se sientan mientras el doctor está ocupado.

El factor de control en la determinación del tiempo de cómputo es el número de eventos que ocurren. 83 . que se refiere como orientado al evento o basado en la máquina. Es necesario llevar registros de todas las actividades que desarrollan y de las entidades involucradas.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Al primer método se le conoce como orientado al evento y del segundo se dice que está orientado a intervalos. En el otro punto de vista. En uno de los puntos de vista. fácilmente tomaría varios miles de veces mas tiempo que la operación real del sistema. Dependiendo de la naturaleza del sistema que se simula. la atención se centra en las actividades y la simulación sigue la historia de las actividades conforme se aplican a distintas entidades. o basado en el material. y el detalle con que se modela. Representación del tiempo El paso del tiempo se registra mediante un número al que se conoce como tiempo del reloj. 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. 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. 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. En ese caso se considera a los tiempos en que ocurren los cambios al sistema como atributos a las entidades. Por regla general no hay conexión directa entre el tiempo simulado y el necesario para realizar los cómputos. 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. A menos que específicamente se expresa de manera contraria. aunque la simulación se realizara en un computador digital de alta velocidad. Existen dos métodos básicos de actualizar el tiempo del reloj. al que se refiere como orientado a la partícula. 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. puede variar considerablemente la relación del tiempo simulado al tiempo real. La ejecución de una simulación se mantiene igual sin importar el punto de vista que se tome. 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. En ese caso se considera a los tiempos en que ocurren los cambios al sistema como característicos de las actividades. Uno consiste en avanzar el reloj a la hora a que debe ocurrir el siguiente evento. y se deben de cambiar periódicamente para reflejar la secuencia de eventos en el sistema. Vales Ortiz Gilberto Simulación Simulación De Sistemas Discretos Eventos discretos Se pueden considerar dos puntos generales de vista acerca de cómo se identifiquen los eventos discretos. 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.

No hay interacción entre la distribución de la longitud de la llamada y el estado del sistema. La entidad que llega generalmente requiere que se generen ciertos valores de atributos. La llegada exógena de una entidad se define como evento y la hora de llegada de la siguiente entidad se registra como uno de los tiempos del evento. Sin embargo. 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. Por ejemplo una simulación en que se generan llamadas telefónicas. cuando no hay interacción en las llegadas exógenas y los eventos endógenos del sistema. El conmutador tiene una cantidad de enlace que se pueden utilizar para conectar cualesquiera dos líneas. Simulación de un sistema telefónico El sistema tiene una cantidad de teléfonos (sólo se muestran los ocho primeros) conectados a un conmutador mediante líneas. Sin embargo. con frecuencia se utiliza el término boot-strapping (cordón de bota) para describir este proceso que hace que una entidad cree su sucesora. Es posible que se haya especificado una sucesión exacta de llegadas para la simulación. Más aún. Sin embargo. una llamada no puede provenir de alguna línea que ya esté ocupada. Por ejemplo la sucesión puede ser el resultado de ciertas observaciones en el sistema. en tanto que se puede hacer que un programa orientado a eventos siga cambios continuos introduciendo artificialmente eventos que ocurren a intervalos regulares. la generación puede hacerse en cualquier momento. Generación de patrones de llegadas Un aspecto importante de la simulación de sistemas discretos es la generación de llegadas exógenas. la llegada real todavía es un evento en el futuro. se ejecuta el evento de entrar la entidad al sistema y de inmediato se calcula el tiempo de llegada de la siguiente entidad a partir de la distribución de tiempos entre llegadas. Se pueden generar cuando se calcula el tiempo de llegada o pueden generarse cuando la entidad llega físicamente. es permisible crear una sucesión de llegadas como preparación para la simulación. de manera que la selección del origen debe de posponerse hasta que llegue la llamada. es el método preferido de generar llegadas para los programas de simulación de computador. Si no hay interacción entre los atributos y los eventos que ocurren dentro del sistema. El método requiere sólo llevar cuenta de la hora de llegada de la siguiente entidad. Cuando el tiempo de reloj llega a este tiempo de evento. si los valores de los atributos dependen del sistema. Entonces es necesario posponer la generación de los valores de atributo hasta que se ejecute el evento de la llegada. 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. en consecuencia. por lo general la simulación se desarrolla creando nuevas llegadas conforme se necesitan. Es necesario generar la longitud de la llamada y su origen.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. se debe acordar que al tiempo de generar el tiempo de la llegada. Vales Ortiz Gilberto Simulación Sin embargo. Un programa orientado a los intervalos detecta cambios discretos y por tanto puede simular sistemas discretos. en cuyo caso debe ponerse atención a la hora en que se generan los valores. sujeto solo a la condición de que se puede 84 . 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.

Una llamada se puede perder debido a que el llamado puede estar ocupado. 85 . DE S IGU NT IE E LL AMADA LÍNE AS 3 A 7 L ONG 120 H ORA DE L E L GADA 1057 1 2 3 4 5 6 7 8 0 1 0 1 1 0 1 0 ENL AC E S NU M. Vales Ortiz Gilberto Simulación hacer únicamente una conexión a la vez a cada línea. E U O N S 3 2 R L J EO 4 1027 2 7 5 1075 1053 LL AMADAS E PR N OC E O S DE A FIN CONT ADOR S DE L E LAMAS P ROCE ADAS COMP E ADAS BL S L T OQU ADA OCUP E S ADAS 131 98 5 28 FIG. 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. 1 2 3 4 5 6 7 8 FIG 1 SISTEMA TELEFÓNICO SIMPLE El estado actual del sistema. El propósito de la simulación será procesar un número dado de llamadas y determinar la proporción de las que se completan exitosamente. Un cero en la tabla significa que la línea está libre. en tanto que uno significa que está ocupada. En la figura 2 aparece una manera de representar el estado del sistema. se bloquean o son llamadas ocupadas. 2 SISTEMA. en cuyo caso se dice que es una llamada bloqueada. o sea que se abandona de inmediato toda llamada que no se pueda conectar cuando llega. o también se puede perder debido a que no se disponga de un enlace. en cuyo caso se dice que la llamada está ocupada. MAX .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. ESTADO 1. 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. Se supondrá que el sistema es de llamadas perdidas.

De momento se indica que el tiempo de reloj es 1027. No hay condiciones que deban de satisfacerse cuando se desconecta una llamada. El cuarto paso es cambiar los registros que se reflejen los efectos del evento. pueden llegar nuevas llamadas y pueden terminar las llamadas existentes. Se actualiza el reloj y el segundo paso es seleccionar la actividad que debe provocar el evento. Se reservan contadores para registrar el número de llamadas procesadas y completadas. dos números representan los enlaces. sin importar que la línea está ocupada o no. Para llevar control de los eventos se concluye un número que representa el tiempo de reloj. Se supondrá que la llamada tiene igual probabilidad de provenir de cualquier línea que no esté ocupada. En consecuencia. reduciendo el número de enlaces utilizados en 1 y quitando la llamada terminada de la tabla de llamadas en desarrollo. Vales Ortiz Gilberto Simulación No es necesario llevar una historia detallada de cada enlace individual. Como quinto paso puede ser necesario reunir ciertas estadísticas para la salida de la simulación. Para generar la llega de llamadas se utiliza el método de cordón de bota. 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. Hay dos actividades que provocan eventos. de manera que el evento se ejecuta. Bajo estas circunstancias. Cada llamada es una entidad separada que tiene como atributos a su origen. En este caso el siguiente evento potencial esta en 1053. en que se considera que la unidad de tiempo es 1 segundo. de manera que será necesario generar el tiempo en que termina la llamada. 86 . destino y longitud. pero en general el tercer paso es probar si se puede ejecutar el evento potencial. 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). y que puede dirigirse a cualquier línea excepto a si misma. Existe una lista de llamadas en proceso que muestra cuáles líneas conecta cada llamada y la hora que termina la llamada. de manera que se lleva un registro de la hora en que debe llegar la siguiente llegada. El primer paso es escudriñar los eventos para determinar cual es el siguiente evento potencial. 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. La simulación se desarrolla ejecutando un ciclo de pasos para simular cada evento. ya que cada uno puede dar servicio a cualquier línea.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. 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. El conjunto de números dentro del bloque principal de la figura 2 recuerda el estado del sistema al tiempo 1027. Se muestra que la llamada se a desconectado haciendo igual a cero los números en la tabla de líneas para las líneas 2 y 5. como un atributo adicional de la misma. El reloj se actualiza en la forma orientada a los eventos según se desarrolla la simulación. La simulación se realizará utilizando el concepto orientado a las partículas de los eventos. En este caso la actividad es desconectar una llamada. Entonces el estado del sistema aparece como se muestra en la figura 3.

MAX . primero para determinar si hay un enlace disponible. 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 S IGU NT IE E LL AMADA L ÍNE AS 3 A 6 L ONG 98 HORA DE LL GADA E 1063 1 2 3 4 5 6 7 8 0 0 0 1 0 0 1 0 E ACE NL S NU M. MAX . es necesario realizar pruebas. y luego para determinar si está ocupado el que recibirá la llamada. 4 ESTADO 3 DEL SISTEMA 87 . Ya que la actividad elegida es conectar una llamada. Vales Ortiz Gilberto Simulación DE S IGU NT IE E LL AMADA 3 A 7 L ONG 120 L ÍNEAS HORA DE LL EGADA 1057 1 2 3 4 5 6 7 8 0 0 0 1 0 0 1 0 ENL ACE S NU M. Se puede ver que el siguiente evento es la llegada de una llamada el tiempo 1057. EN U SO 3 1 RE O J L 1053 4 7 1075 L LAMADAS E PR N OCE O S DE A FIN CONT ADOR DE L ES LAMAS P ROCE ADAS COMP T S LE ADAS BL OQUE ADAS OCUP ADAS 132 99 5 28 FIG. 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.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. EN U O S 3 1 RL J EO 1057 4 7 1075 L LAMADAS E P OCE O N R S DE A FIN CONT ADOR S DE L E LAMAS P ROCE ADAS COMP E ADAS BL S L T OQU ADAS OCUP E ADAS 133 99 5 29 FIG. ESTADO 2. Se actualiza el reloj al tiempo de llegada y se generan los atributos de la nueva llegada. 3 SISTEMA.

Vales Ortiz Gilberto Simulación Nuevamente el siguiente evento potencial es una llamada. MAX . DE S IGU NT IE E LL AMADA L ÍNE AS 1 A 5 L ONG 132 HORA DE LL GADA E 1082 1 2 3 4 5 6 7 8 0 0 1 1 0 1 1 0 E ACE NL S NU M. 6 TAREAS DE PROGRAMACIÓN DE SIMULACION 88 . pero esta vez puede conectar la llamada llegada de manera que el estado del sistema cambia al que se muestran en la figura 5.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. EN U O S 3 2 R L J EO 1063 3 4 6 7 1161 1075 L LAMADAS E P OCE O N R S DE A FIN CONT ADOR S DE L E LAMAS P OCE ADAS COMP E ADAS BL R S L T OQU ADAS OCUP E ADAS 133 99 5 29 FIG 5 ESTADO 4 DEL SISTEMA Tareas de programación de simulación AT RIBUT DE OS LASENT IDADES ACTIVIDADES GENER A MDELO IMAGEN DEL SISTEMA RUTINAS SIMULACION ALGORIT DE S MO IMULACION INFORME GE NERADOR DE INFORMES FIG.

EJECUCION DE UN ALGORITMO DE SIMULACION 89 . Generador de informes: Generalmente especifica las estadísticas reunidas durante la simulación. Se debe representar las actividades del sistema como rutinas que deben realizar los cambios a la imagen del sistema. A este conjunto de número se le conoce como imagen del sistema ya que su propósito es reflejar el estado del mismo en todo momento. Vales Ortiz Gilberto Simulación Imagen del sistema: De la descripción del sistema es necesario crear un conjunto de números para representar el estado del mismo. Un diagrama de flujo de programa de simulación GENERAR CREAR MODELO 1 ENCONTRAR SIGUIENTE EVENTO POTENCIAL 2 ELEGIR ACTIVIDAD 3 N DETERMINAR SI PUEDE HACERSE Y SIMULAR 4 CAMBIAR IMAGEN 5 RECABAR ESTADISTICAS Y MAS N GENERAR INFORME INFORME FIG 7.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Algoritmo de simulación: Es programar el procedimiento que ejecuta el ciclo de acciones que participan en la realización de la simulación.

en este caso. lo que podría llevar a una polarización de los resultados y en consecuencia aumentar la varianza. y cuando se observe que ese promedio ya no cambia a través del tiempo. Una tercera opción es determinar en qué momento se ha llegado al estado estable en función de los resultados obtenidos. Para calcular el número de simulaciones se tiene la expresión: n= σ 2 (Zα 2 )2 K2 Donde: Z = Estadístico normal estándar para cierta α. Vales Ortiz Gilberto 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. Existen. ocasionando tamaños de corrida más grandes. EL tamaño de una corrida de simulación depende principalmente del tipo de distribución que se intenta simular y. este planteamiento puede ser adecuado si la ejecución del modelo es rápida. se pueden seleccionar condiciones iniciales de arranque que sean más representativas de la condición de estado estable y que por tanto reduzca el período transitorio. varias formas para lograr la estabilización de un modelo de simulación. detener la corrida de simulación. Esta situación no es tan atractiva si la duración del período transitorio es prolongado. esas variables tienden a un estado estable y es entonces cuando los valores de las variables de respuesta son confiables. la primera consiste en utilizar corridas lo suficientemente largas para que los datos del período de transición resulten insignificantes. En forma general.1) que se esta utilizando y de las condiciones iniciales con que inició la simulación del sistema. 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. K = Desviación absoluta máxima permitida sobre la media de la distribución a simular. de la bondad del generador de números U(0. en general. se hace imprescindible crear modelos cuyos resultados sean estadísticamente iguales a los sistemas reales. conforme transcurre el tiempo. por decirlo de alguna forma. σ2 = Variancia de la distribución a simular. El principal problema en este caso es no tener una idea adecuada de las condiciones iniciales. una de las formas más comunes de determinar este momento se consigue graficando el valor promedio de la variable de interés contra el tiempo de simulación. Al realizar una corrida de simulación el resultado promedio de las variables del sistema tienen un período de inestabilidad y.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. 90 .

del modelo de simulación en donde se tengan varias variables probabilísticas. Esta segunda fórmula se emplea para calcular n óptima basándose en una corrida simulada del sistema de tamaño n1. 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. K = Desviación absoluta máxima permitida sobre la media de la distribución a simular. estadísticamente. A esta corrida pequeña se le conoce como prueba piloto. entonces.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. y su función es calcular n en función de la distribución general y del generador utilizado en la prueba piloto. Vales Ortiz Gilberto Simulación Cuando la media y la variancia de la distribución a simular se obtuvieron de una población n1 de 30 o menos elementos.166σ de su valor real. el número de simulaciones óptimo es: n= σ 2 (Zα 2 )2 K2 91 . se realiza ejecutando el cálculo para cada una de ellas y se selecciona la mayor de todas las n. Si se supone o se sabe que el desperdicio diario en toneladas sigue una distribución normal. de tal forma que el promedio diario simulado de desperdicio no difiera más de ±0. 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. Pueden usarse ambas fórmulas siempre y cuando la información de donde se obtienen los estimadores sigan. con una confiabilidad del 95%. Ejemplo: Se desea encontrar el número de simulaciones que debe realizar un simulador de desperdicios de una planta de poliéster. S2 = Estimador de la variancia de la distribución a simular.α 2 ) K2 2 Donde: t = Estadístico de la distribución t student. éste será el número de simulaciones del modelo computacional. el cálculo óptimo de las simulaciones se modifica de acuerdo con la siguiente ecuación: n= s 2 (tn1−1. entonces. una distribución normal.

cada uno de los valores promedio de aquellas variables o resultados que se deseen analizar y al observar el comportamiento de las variables deteniendo la simulación cuando todas esas variables se encuentren en estado estable.96 para una confiabilidad del 95% K = 0.00 0. Una forma más segura de determinar el momento en que el sistema se estabiliza se consigue al graficar. es necesario tomar estos resultados para calcular los estimadores de media. se utiliza la expresión: n= m2 = 36 = 720. es un cálculo a priori. Se aconseja que el número de réplicas o repeticiones sea de 3 a 10. no son independientes (autocorrelacionadas). variancia e intervalo de confianza de acuerdo con el siguiente procedimiento. Vales Ortiz Gilberto Simulación Sustituyendo la información: n = 139. a través del tiempo. generalmente. no se asegura del todo que se cumpla con las condiciones de estabilidad. Cálculo Del Número De Réplicas Una vez que se ha corrido un sistema de simulación hasta llegar a la estabilización. sin embargo. Para obtener resultados independientes hay que repetir “r” veces la simulación de tamaño “n” con diferentes números aleatorios. existe el problema de que las observaciones obtenidas en el experimento de simulación.166s = 0.4 Ahora bien.05 α Este cálculo del número de simulaciones óptimo. Calcular la media y variancia de las observaciones para cada réplica individual con las fórmulas: xj = 1 n ∑x i =1 n ij sj = 2 1 n −1 ∑ (x n i =1 ij − xj ) 2 92 .166 σ Catedrático: Ing. si no se tiene idea de la distribución de probabilidad del desperdicio de la planta o de que siga otro tipo de distribución.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Donde: Z = 1. Teniendo los resultados de cada una de las réplicas.

675 y 0.775 minutos. Partiendo de que la información de entrada es una variable aleatoria.α 2 Reducción De Varianza En muchos estudios de simulación. Vales Ortiz Gilberto Simulación Con la media y la variancia de cada una de las réplicas. fijando condiciones a partir de los datos históricos. Los tiempos de procesamiento en las máquinas e inspecciones subsecuentes son aleatorios con medias respectivas de 0. encuentre la media y variancia entre réplicas con las fórmulas siguientes: x= 1 r ∑x j =1 j r j s2 = 1 r −1 ∑ (x n i =1 − x) 2 Debido a la naturaleza probabilística de los resultados. Existen algunos métodos. de longitud igual a 16 horas (se usan diferentes números aleatorios en cada réplica) para una simulación de la planta. 90% de las partes inspeccionadas son “buenas” y se envían al área de embarque. 93 . se debe especificar perfectamente la longitud de cada corrida. Para que el resultado de una simulación sea estadísticamente preciso y libre de tendencias. la información de salida es también aleatoria. Ejemplo: Una pequeña fábrica consta de un centro de maquinado y estaciones de inspección en serie. 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. el resto son “malas” y se llevan a máquinas de reproceso. conocidos como técnicas de reducción de varianza. es indispensable que para cada variable de respuesta se calcule el intervalo de confianza de acuerdo con: Ic = x ± x (s )t rr −1. Por lo tanto. el número de réplicas y el período de estabilización. una gran parte del tiempo se emplea en el desarrollo del modelo y en la programación del mismo. La tabla siguiente muestra los estimados de las medias de desempeño analizadas para 5 réplicas independientes. Las partes por procesar arriban a la planta a un ritmo de 1 por minuto.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. un modelo de simulación sólo puede producir un estadístico estimado de la medida de desempeño. que permiten reducir los valores estimados para la varianza. El centro de maquinado está sujeto a descomposturas de ocurrencia aleatoria y la fábrica esta inicialmente vacía y desocupada.

24 17 5. obteniendo un estimador Y2 del parámetro estudiado. 94 .75 24 Observe que los resultados para varias corridas pueden ser completamente diferentes. los cuales pueden ser archivados y utilizados posteriormente para definir. Así.41 11 3.12 11 4. Las diferentes técnicas de reducción de varianza. Se debe aplicar cuando el problema consiste en la comparación de dos o más alternativas. el uso de las corridas comunes afecta a todas las alternativas de igual forma. primero. la memoria computacional no es capaz de soportar altos tiempos de simulación. por el tamaño de los modelos. es emplear datos históricos. De piezas tránsito en inspección 7. los programas de producción de años anteriores. Se presentan aquí algunas técnicas que ayudarán al analista a encontrar de forma más rápida un estimador del resultado. Estas técnicas básicamente pretenden distorsionar o cambiar el modelo original para obtener estimaciones a bajo costo. de esta forma.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. en caso de ser interesante se continúa con la corrida en caso contrario se detiene la corrida. por ejemplo. Una forma de generar correlaciones negativas consiste en correr el modelo. Vales Ortiz Gilberto Simulación Corrida 1 2 3 4 5 Salidas 797 734 741 772 769 Tiempo de Prom.85 14 6. una sola corrida no produce las respuestas. Muestreo clasificado Esta técnica se apoya en un resultado parcial de una corrida. El objetivo principal es iniciar nuevas corridas de simulación utilizando siempre los datos almacenados. con números 1-ri. A continuación se da una breve explicación de cada una de ellas. clasificándolo como interesante o no interesante. 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. ocasionan una reducción en el tiempo de simulación mediante la disminución del tamaño de la corrida y son valiosas cuando. con números aleatorios ri para obtener u estimador Y1 del parámetro estudiado y después. Corridas comunes Una práctica útil cuando se desarrolla un proceso de simulación.

de tal forma que los eventos de interés ocurran más frecuentemente. Validación De Resultados Al usar la simulación para estudiar un sistema complejo. 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. ¿son correcta la entrada de datos y la estructura lógica del programa? 2. Muestreo sesgado Consiste en distorsionar las probabilidades físicas del sistema real. La validación se lleva a cabo. errores en el uso del modelo. 95 .Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Variaciones de control Catedrático: Ing. 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. cuyo valor puede estimarse analíticamente. generalmente. Muestreo estratificado En esta técnica la función de distribución se divide en varias partes. 1. Vales Ortiz Gilberto Simulación Este método utiliza aproximaciones de modelos analíticos para reducir la varianza. Por ejemplo. encontramos varios tipos de error como: a) b) c) d) e) errores de diseño. los resultados obtenidos se combinan para lograr una sola estimación del parámetro a analizar. una simulación puede ser un modelo complejo de colas donde interese conocer la longitud promedio de la fila. Verificación se refiere a la comparación del modelo conceptual con el código computacional que se generó. Los resultados obtenidos presentarán también una distorsión que debe corregirse mediante factores probabilísticos de ajuste. lo más homogéneas posibles que se resuelven o ejecutan por separado. errores en los datos utilizados. Validación es la demostración de que el modelo es realmente una representación fiel de la realidad. a través de un proceso comparativo entre ambas partes y usa las diferencias para lograr el objetivo. para lo cual es necesario contestar preguntas como: ¿está correcta la codificación?. errores en la programación.

118. 108. 97.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.96 2 Fc de tablas con 8 y 10 grados de libertad y con un nivel de rechazo de un 5% s 3. 96 .57 = S 2 36.87 El estadístico a utilizar es el correspondiente a variancias iguales y poblacionalmente desconocidas y con media poblacional desconocida. se acepta que el modelo de simulación está arrojando resultados con la misma variancia que el sistema real. 105. Ya que F0 es menor que Fc. 104.57 V(modelo) = 36.90 E(real) = 103. 96. 105 y 103. 108. 99 y 107. c) Pruebas para determinar la distribución de probabilidad de la cual proviene la muestra (pruebas de bondad de ajuste de Kolmogorov-Smirnov o χ2). 97. b) Hipótesis sobre la media H0 : µ(modelo) = µ(real) H1 : µ(modelo) ≠ µ(real) E(modelo) = 104. puesto que solamente se tienen los datos de dos muestras. 104. 100. b) Pruebas de las estimaciones de los parámetros de la población que no son dependientes de la suposición de una distribución de población implícita (prueba de medias Mann-Whitney). 99. de acuerdo con los datos de los últimos 8 días es la siguiente: 115. 105. El modelo creado para la simulación de la planta arroja los siguientes 10 resultados de producción de carburadores por día: 110. Vales Ortiz Gilberto Simulación En el proceso de validación usualmente se emplean las pruebas estadísticas siguientes: a) Prueba de estimaciones de los parámetros de la población asumiendo una distribución de probabilidad (pruebas F.96 F= S1 40. Ejemplo La situación real de la empresa FATSA en cuanto a la producción de carburadores por día.07. ¿Son los resultados del modelo estadísticamente iguales a los reales? a) Hipótesis sobre la varianza H0 : V(modelo) = V(real) H1 : V(modelo) ≠ V(real) V(real) = 40. t y z).

entonces. describiendo normas para las variables de decisión a la vista de variables no controlables. en cuanto a la media.57 ) + 10(36. Una vez que se tiene un modelo de simulación computacional válido y que se ha verificado estadísticamente.746.9 103.87 − = 0. 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. Estas técnicas se basan principalmente en el diseño de experimentos y las más utilizadas son: • Simplex • Simplex EVOP • Superficies de repuestas 97 . a los de la producción real. por eso es indispensable usar técnicas que permitan analizar sistemáticamente las posibilidades seleccionadas. el número de combinaciones de las variables de decisión que pueden ser probadas es infinito.3496 8(40. de tal modo que eventualmente se podrá escoger una combinación cercana del óptimo. sin embargo. Ya que t es menor que tc. para lograr la optimización se necesita empezar a jugar con las variables de decisión: se busca el mejor valor de la medida de efectividad. Optimización La finalidad de cualquier análisis de sistemas es optimizar la medida de efectividad. se acepta que los resultados en cuanto a la producción de carburadores por día del simulador son estadísticamente iguales. Vales Ortiz Gilberto Simulación − x2 1 1 + n1 n 2 t= 104. Este proceso de optimización tiene que realizarse mediante el proceso de prueba y error.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales t= x1 n1σ 1 + n2σ 2 n1 + n 2 2 2 Catedrático: Ing.96 ) 1 1 + 8 + 10 8 10 El estadístico tc con 8 + 10 – 2 = 16 grados de libertad y con un nivel de rechazo del 5% es 1. el tomador de decisiones desea encontrar ese conjunto de variables de decisión. Así pues.

Consiste en jugar o experimentar con el modelo ante situaciones nuevas o imprevistas. 98 . Monitoreo Como se acaba de mencionar. con el objeto de encontrar una solución óptima ante ese posible escenario.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. 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. El análisis de sensibilidad se enfoca principalmente a estudiar las variables no controlables por el tomador de decisiones dentro del proceso real. Vales Ortiz Gilberto 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. que tengan cierta probabilidad de ocurrencia. 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. los sistemas reales son dinámicos.

Burdick Editorial Limusa Simulación de Sistemas Geofrey Gordon Editorial Diana Simulación Enfoque práctico R. Vales Ortiz Gilberto Simulación Bibliografía Técnicas de Simulación por Computadora Naylor. Azarang y Eduardo García Dunna Editorial Mc Graw-Hill 99 . Coss Bu Editorial Limusa Operations Research: Principles and Practice John Wiley Philips Simulación y análisis de Modelos Estocásticos Mohamad R.Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->