Está en la página 1de 99
Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales ApuntesApuntesApuntesApuntes dededede
Instituto Tecnológico de Acapulco
Ingeniería en Sistemas
Computacionales
ApuntesApuntesApuntesApuntes dededede
SimulaciónSimulaciónSimulaciónSimulación
Catedrático
Ing. Vales Ortiz Gilberto
Alumno
Horario
Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

Índice

UnidadUnidadUnidadUnidad I.I.I.I. IntroducciónIntroducciónIntroducciónIntroducción aaaa lalalala simulaciónsimulaciónsimulaciónsimulació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

UnidadUnidadUnidadUnidad II.II.II.II. GeneraciónGeneraciónGeneraciónGeneración dededede NúmerosNúmerosNúmerosNúmeros PseudoaleatoriosPseudoaleatoriosPseudoaleatoriosPseudoaleatorios

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

UnidadUnidadUnidadUnidad III.III.III.III. GeneraciónGeneraciónGeneraciónGeneración dededede valoresvaloresvaloresvalores dededede variablesvariablesvariablesvariables aleaaleaaleaaleatoriastoriastoriastorias

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

UnidadUnidadUnidadUnidad IV.IV.IV.IV. LenguajeLenguajeLenguajeLenguaje dededede SimulaciónSimulaciónSimulaciónSimulació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

UnidadUnidadUnidadUnidad V.V.V.V. ValidaciónValidaciónValidaciónValidació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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

Catedrático: Ing. 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, 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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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.

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

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

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

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.

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

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

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

ACTIVIDADES DE DISEÑO

DISEÑO DEL

MODELO

VERIFICACIÓN DEL MODELO

VALIDACIÓN DEL MODELO

DISEÑO ESTRATÉGICO DEL EXPERIMENTAL
DISEÑO
ESTRATÉGICO DEL
EXPERIMENTAL

Actividades De Operación

En esta etapa el proceso de simulación, el modelo ha sido diseñado, implementado y ha sido planeado.

Las actividades posteriores son las de llevar a cabo la experimentación. Esta debe iniciar con el diseño táctico de los experimentos que van a ser ejecutados. Estas actividades son: la determinación de número de corrida, y la cantidad de datos a utilizar en cada corrida.

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.

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

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

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

ACTIVIDADES DE OPERACIÓN

DISEÑO TÁCTICO DE EXPERIMENTACIÓN
DISEÑO TÁCTICO DE
EXPERIMENTACIÓN

OPERACIÓN DEL

MODELO

¿EXPERIMENT O COMPLETO? SI
¿EXPERIMENT
O COMPLETO?
SI

ANÁLISIS DE DATOS SIMULADOS

CAMBIOS EN LOS PARAMETROS
CAMBIOS EN LOS
PARAMETROS
SI ANÁLISIS DE DATOS SIMULADOS CAMBIOS EN LOS PARAMETROS NO MODELO EXPERIMENTO SE CUMPLEN NO MODIFICAR
NO
NO

MODELO

EXPERIMENTO

SE CUMPLEN NO MODIFICAR LOS OBJETIVOS? SI ALTO
SE CUMPLEN
NO
MODIFICAR
LOS OBJETIVOS?
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.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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

totalidad del mismo. Un modelo útil debe necesariamente incorporar elementos de dos atributos en discrepancia: realismo y simplicidad.

Por un lado el modelo ha de ser una aproximación razonable del sistema real y por tanto incorporar la mayor parte de los aspectos importantes de este; por otro lado, no es conveniente que un modelo resulte tan complejo que se vuelva imposible entenderlo.

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

b) Variables de Estado

c) Variables Endógenas (Dependientes o de salida del sistema)

(Independientes o de entrada del modelo)

(Controlables o no controlables)

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 que aparecen en los modelos económicos

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

Catedrático: Ing. 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, 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.

PEDIDOS DE

FÁBRICA

PROCESO PROCESO 1 2
PROCESO
PROCESO
1
2

PROCESO n
PROCESO
n

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

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

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

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

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,

j=1,

,n.

,m

y

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,

Var (ST ij ) = La varianza del tiempo para el j-ésimo proceso donde j=1,2,

n.

Características De Operación

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,

Identidades

,n.

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:

AT 1 = 0

WT 11 = 0, IDT 11 = 0,

WT 12 = 0,

, IDT 12 = ST 11 ,

T 11 = ST 11 ,

T 12 = ST 12 ,

,

WT 1n = 0 IDT 1n = ST 1j

,

n-1

j=1

T 1n = ST 1n

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

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

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

Para órdenes subsiguientes, esto es, cuando i = 2,3, adecuadamente; las ecuaciones de tiempo se convierten en:

,m,

estas ecuaciones se modifican

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

Que el tiempo de espera o el tiempo de ocio, ocurra en un momento particular, depende

del signo de las diferencias siguientes, donde i =

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

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:

WT ij = DIF j

i = 2,

,m

j = 1,

,n

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:

IDT ij = - DIF j

i = 2,

,m

j = 1,

,n

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.

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

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

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

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

µ

i

,i =1,2

, y ambas variables aleatorias son independientes. En este caso, tenemos que

E (T )

=

∫∫

0

0

min(

Aproximación Analítica

x

1

, x

2

)

µ

1

e

µ

1

x

1

µ

2

e

µ

2

x

2

dx dx

1

2

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

(

P T

>

t

)

=

(

P X

1

>

t

,

X

2

>

t

)

=

(

P X

1

>

t

)

=

e

µ

1

Por lo tanto, T tiene distribución exponencial de parámetro

Por ejemplo, si

µ

1

=

1

,

µ

2

=

2

,

E(T) =

1

3

.

t

e

µ

µ

2

t

=

1

+ µ

e

2

(

µ +µ

1

2

)t

, con lo cual

E ( T

)

=

1

µ

1

+ µ

2

.

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

X

i

=

ln 1 u

i

(

)

µ

i

(

E T

)

1

1

= ∫∫

0

0

min

(

ln 1

u

1

)

µ

1

,

(

ln 1

u

2

)

µ

2

du du

1

2

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

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

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

y podemos aplicar, por ejemplo, la regla del trapecio. En nuestro caso, con 15 nodos y, como

antes,

fallo.

, obtenemos el valor .317 como aproximación del tiempo esperado hasta el

µ

1

=

1

,

µ

2

=

2

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

X

j

= − (ln(1u

j

))

Uj uniforme en (0,1) hacer X j = − (ln(1 − u j )) µ j

µ

j

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

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

X i = − (ln(1u )) µ , nos permite

los U 1 X i = − (ln(1 − u )) µ , nos permite i

i

i

 

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

77

67

94

40

00

12

26

45

77

54

21

51

91

91

28

74

47

00

53

95

73

01

20

47

86

40

71

03

13

36

98

50

48

45

30

23

40

85

76

63

72

67

37

77

52

79

93

67

57

78

77

07

58

19

48

32

72

94

66

11

58

96

79

92

08

88

46

62

58

96

75

18

57

89

21

17

26

92

26

63

41

69

24

18

81

29

14

06

67

15

23

70

27

89

40

77

31

98

71

15

16

45

84

78

49

17

84

92

51

12

08

78

30

35

63

84

34

68

97

10

92

09

48

47

40

81

30

44

03

98

19

38

33

07

00

55

70

65

24

19

26

92

58

75

64

61

49

58

68

45

09

32

76

03

29

08

73

11

33

79

17

33

86

83

91

26

51

12

57

73

21

12

09

58

24

64

91

53

24

92

91

41

97

06

57

45

39

16

64

92

66

18

78

71

55

99

29

18

02

56

52

00

40

81

14

06

94

03

71

39

09

33

74

08

42

15

85

08

35

30

10

07

82

40

99

00

91

31

44

73

51

42

08

28

31

35

20

07

85

96

70

70

14

24

43

71

60

86

17

85

61

05

65

10

68

73

03

31

45

23

96

50

32

72

89

62

28

76

60

00

52

94

67

16

32

08

88

27

01

94

20

89

41

95

46

28

45

92

21

97

51

15

02

82

11

95

65

27

50

08

30

99

84

95

47

72

38

22

55

44

50

61

71

58

86

49

25

60

69

17

94

53

29

42

38

74

90

06

18

71

99

27

84

88

03

43

07

53

96

02

50

61

25

57

55

50

92

14

39

77

29

17

73

75

83

38

40

02

06

47

38

63

63

30

36

25

66

30

53

98

49

78

40

92

80

97

67

46

38

34

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

D =

1 w.p 1/6

2 w.p 1/3

3 w.p 1/3

4 w.p 1/6

donde w.p. se lee ”con probabilidad”.

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

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

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

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

discutiremos después de introducir algunas anotaciones adicionales. Sea I(t) el nivel del inventario en el tiempo t[ note que I(t) podría ser positivo, negativo o cero]; sea I + (t)= max [I(t),0] el número de artículos físicamente disponibles en el inventario en el tiempo t[note que I + (t)0]; y I - (t)= max [-I(t),0] los pendientes en el tiempo t[I - (t)0 también]. Una posible realización de I(t), I + (t), I - (t) se muestra en la figura 1.41. Los puntos en el tiempo que I(t) decrece son los únicos en los cuales la demanda ocurre.

I(t): Nivel del inventario en el tiempo t, siendo el valor de t positivo, negativo o cero.

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.

Punto de Orden Orden de arribo Punto de Orden
Punto de Orden
Orden de arribo
Punto de Orden

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

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

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

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

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

mantenidos en el inventario por un periodo de n meses es Que es semejante a la

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

promedio de veces de artículos en déficit esta dado por es Así que el costo promedio

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
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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

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 Orden de Demanda Evaluación llegada
La grafica de un evento aparece en la figura 1.42
Orden de
Demanda
Evaluación
llegada
Termino de
la simulación

Hay tres tipos de variables aleatorias que se necesitan para simular este sistema. Los tiempos indeterminados son distribuidos exponencialmente, así que el mismo algoritmo (y código) como se desarrollo en la sección 1.4 pueden ser usados aquí.

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.

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

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

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

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

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

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

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

El evento de la demanda está dado en la figura 1.44 y procesa los cambios necesarios para representar un caso de demanda. Primero, el tamaño de la demanda es generada, y el inventario es decrementado por esta cantidad. Finalmente el tiempo de la próxima demanda es programada en la lista de eventos. Note que esto ocurre donde el nivel del inventario pueda ser negativo.

El evento evaluación del inventario tiene lugar en el comienzo de cada mes, su diagrama de flujo es el siguiente. Fig. 1.45

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.

Evento evaluación del inventario Si I(t)<s? Determine la cuenta de orden [S – I(t)] Costo
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
Return
Instituto Tecnológico de Acapulco Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

Catedrático: Ing. 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
0
x
1

x<0

0<x<1

x>1

En la práctica, se requieren sucesiones de números aleatorios para la generación de los datos de entrada para el proceso de simulación.

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

Catedrático: Ing. 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”, 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:

n

i+1 a n i + c

(mod m)

1

donde:

n i , a, c y m :

para i= 0,1,2,

son enteros no negativos 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

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

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

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

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

pseudoaleatorios:

tienen

3

versiones

1. Método Aditivo

N i+1 = n i + n i-k

del

método

(mod m)

de

congruencias

Si k = 1 se tiene la sucesión de Fibonacci

2. Método Multiplicativo

para

generar

números

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

Computadoras Binarias

m = 2 b b = número de bits de palabra

h = 2 b-2 máximo período que se puede obtener

b >2

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)

t = 0, 1, 2, 3,

ó

a = 8t ± 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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

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.

a = debe ser número primo relativo de 10 d

d>3

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)

ó también se puede expresar como:

a = 200t ± p

t =

0, 1, 2, 3,

(mod 200)

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

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

y así sucesivamente

r 1 = 9489 = 0.9484

10000

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 ,

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

en el subintervalo (j-

denota el

número que realmente se tiene de números pseudoaleatorios r i (i=1,2, 1)/ x r i < j/x entonces el estadístico:

se

r

x)

N)

χ

1

2

=

x

N

x

j = 1

f

j

N

x

2

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 Ingeniería en Sistemas Computacionales Catedrático: Ing. Vales Ortiz Gilberto

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

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

Ejercicio:

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

con

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

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