You are on page 1of 138

PREFACIO

El propósito fundamental de los autores de esta obra ha sido preparar un


texto dirigido a docentes y estudiantes del área de la ingenierı́a, especı́fi-
camente en el área de las Telecomunicaciones, en donde se presentan las
pautas que permitan realizar simulaciones de este tipo de sistemas de
una forma amena, clara y sencilla, que las haga atractiva para todos
y sobre todo que permita obtener el verdadero provecho de este tipo
de herramienta en cualquier campo de la ingenierı́a. Es de anotar que
en muchos campos de la ingenierı́a, un gran inconveniente que se ha
presentado es el cómo representar el comportamiento de un sistema en
particular y las variables que lo afectan, es por eso que este texto nos
brinda los mecanismos y bases conceptuales para poder realizar esta
actividad. Nuestro deseo es que los lectores puedan descubrir en estas
páginas las ventajas y aplicaciones que la simulación puede representar
en los respectivos campos de la ingenierı́a, aunque los ejemplos y activi-
dades de simulación aquı́ presentadas se inclinan más al campo de las
telecomunicaciones no quiere decir que no se pueda aplicar a otras ramas.

El libro se encuentra diseñado y escrito de una manera didáctica. Al ini-


cio de cada capı́tulo se contextualiza el concepto de una forma general y
se va llevando al lector a que lo comprenda y maneje en una forma pro-
gresiva, hasta que lo interprete mediante el análisis de algunos ejemplos
implementados; finalmente se propone el desarrollo de algunos ejercicios
por parte del lector para reforzar los conocimientos adquiridos.

i
ii
ÍNDICE

PREFACIO i

1. INTRODUCCIÓN 1
1.1. Simulaciones determinı́sticas y estocásticas . . . . . . . . 5
1.2. El papel de la simulación . . . . . . . . . . . . . . . . . . 6
1.3. Por qué simular? . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1. Naturaleza de los sistemas: variabilidad, relaciones
y complejidad. . . . . . . . . . . . . . . . . . . . . 7
1.3.2. Ventajas de la simulación . . . . . . . . . . . . . 11
1.3.3. Desventajas de la simulación . . . . . . . . . . . . 12
1.4. La necesidad de la simulación . . . . . . . . . . . . . . . 13
1.5. Cuándo simular . . . . . . . . . . . . . . . . . . . . . . . 13

2. MODELOS DE SIMULACIÓN 15
2.1. Clasificación de los modelos de simulación . . . . . . . . 15
2.1.1. Modelos determinı́sticos . . . . . . . . . . . . . . 15
2.1.2. Modelos estocásticos o probabilı́sticos . . . . . . . 15
2.1.3. Modelos dinámicos . . . . . . . . . . . . . . . . . 16
2.1.4. Modelos estáticos . . . . . . . . . . . . . . . . . . 16
2.1.5. Modelos continuos . . . . . . . . . . . . . . . . . 16

iii
iv ÍNDICE

2.1.6. Modelos discretos . . . . . . . . . . . . . . . . . . 16


2.2. Simulación . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3. Proceso de desarrollo de una simulación . . . . . . . . . . 18
2.4. Diagrama de relación Modelo-Sistema . . . . . . . . . . . 21
2.5. Selección del lenguaje de simulación . . . . . . . . . . . . 23
2.5.1. Ventajas y desventajas . . . . . . . . . . . . . . . 24
2.6. Caracterı́sticas de los lenguajes de simulación . . . . . . 26
2.7. Clasificación de los lenguajes de simulación . . . . . . . . 27
2.8. Codificación y simulación del sistema. . . . . . . . . . . . 28
2.8.1. Simulación mediante un lenguaje general . . . . . 28
2.8.2. Simulación mediante un lenguaje especı́fico . . . . 29
2.9. Distribuciones de probabilidad . . . . . . . . . . . . . . . 29
2.9.1. Distribuciones continuas . . . . . . . . . . . . . . 29
2.9.2. Distribuciones discretas . . . . . . . . . . . . . . . 35
2.10. Pruebas de bondad de ajuste . . . . . . . . . . . . . . . . 41
2.10.1. Prueba de bondad de ajuste χ2 . . . . . . . . . . 42
2.10.2. Prueba de bondad de ajuste de Kolmogorov-Smirnov 45
2.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . 52

3. GENERACIÓN DE NÚMEROS PSEUDOALEATO-


RIOS 57
3.1. Métodos de generación de números pseudoaleatorios uni-
formes en (0,1) . . . . . . . . . . . . . . . . . . . . . . . 58
3.1.1. Métodos congruenciales . . . . . . . . . . . . . . . 58
3.1.2. Método de cuadrados medios . . . . . . . . . . . 60
3.2. Pruebas Estadı́sticas . . . . . . . . . . . . . . . . . . . . 61
3.2.1. Prueba de medias . . . . . . . . . . . . . . . . . . 61
3.2.2. Prueba de varianza . . . . . . . . . . . . . . . . . 63
3.2.3. Prueba de forma . . . . . . . . . . . . . . . . . . 65
3.2.4. Pruebas de independencia . . . . . . . . . . . . . 66
3.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . 73

4. MÉTODOS DE GENERACIÓN DE VARIABLES


ALEATORIAS 77
ÍNDICE v

4.1. Método de la transformada inversa para distribuciones


continuas . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.1.1. Distribución exponencial . . . . . . . . . . . . . . 80
4.1.2. Distribución uniforme general (a, b) . . . . . . . . 80
4.2. Método de la transformada inversa para distribuciones
discretas . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.2.1. Metodologı́a . . . . . . . . . . . . . . . . . . . . . 82
4.2.2. Distribución de Bernoulli . . . . . . . . . . . . . . 82
4.3. Método de rechazo . . . . . . . . . . . . . . . . . . . . . 83
4.4. Otros métodos estadı́sticos . . . . . . . . . . . . . . . . . 92
4.5. Resumen para distribuciones continuas . . . . . . . . . . 92
4.5.1. Distribución uniforme general . . . . . . . . . . . 92
4.5.2. Distribución exponencial . . . . . . . . . . . . . . 93
4.5.3. Dsitribución Normal . . . . . . . . . . . . . . . . 93
4.5.4. Distribución Erlang . . . . . . . . . . . . . . . . . 94
4.5.5. Distribución Weibull . . . . . . . . . . . . . . . . 94
4.5.6. Distribución Gamma . . . . . . . . . . . . . . . . 94
4.5.7. Distribución χ2 . . . . . . . . . . . . . . . . . . . 95
4.6. Resumen para distribuciones discretas . . . . . . . . . . 95
4.6.1. Distribución bernoulli . . . . . . . . . . . . . . . 95
4.6.2. Distribución binomial . . . . . . . . . . . . . . . . 95
4.6.3. Distribución Poisson . . . . . . . . . . . . . . . . 96
4.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . 97

5. VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 101


5.1. Cálculo del número óptimo de simulaciones . . . . . . . . 101
5.2. Cálculo del número de réplicas . . . . . . . . . . . . . . . 104
5.3. Reducción de la varianza . . . . . . . . . . . . . . . . . . 105
5.3.1. Muestreo antitético . . . . . . . . . . . . . . . . . 107
5.3.2. Corridas comunes . . . . . . . . . . . . . . . . . . 107
5.3.3. Muestreo clasificado . . . . . . . . . . . . . . . . 107
5.3.4. Variaciones de control . . . . . . . . . . . . . . . 107
5.3.5. Muestreo estratificado . . . . . . . . . . . . . . . 108
5.3.6. Muestreo sesgado . . . . . . . . . . . . . . . . . . 108
5.3.7. Variables Antitéticas . . . . . . . . . . . . . . . . 108
vi ÍNDICE

5.3.8. Variables de Control . . . . . . . . . . . . . . . . 110


5.3.9. Muestreo por Importancia de Estados . . . . . . . 112
5.4. Validación de resultados . . . . . . . . . . . . . . . . . . 113
5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6. TENDENCIAS DE LA SIMULACIÓN 119


6.1. La modelización. . . . . . . . . . . . . . . . . . . . . . . 120
6.1.1. Selección del formalismo de modelización. . . . . 120
6.1.2. Manipulación del modelo. . . . . . . . . . . . . . 120
6.1.3. Construcción modular del modelo. . . . . . . . . . 121
6.2. Marcos experimentales. . . . . . . . . . . . . . . . . . . . 121
6.3. Programas de simulación. . . . . . . . . . . . . . . . . . 121
6.4. Optimización . . . . . . . . . . . . . . . . . . . . . . . . 124
6.5. Sensibilidad, Experimentación y Monitoreo . . . . . . . . 125

BIBLIOGRAFIA 127
CAPÍTULO 1
INTRODUCCIÓN

La simulación es una herramienta que proporciona soporte a la


planeación, dimensionamiento, diseño y evaluación de sistemas. La
importacia de la simulación crece conforme los sistemas actuales se
tornan cada dı́a mas complejos, más aún cuando su aplicación no
solamente se restringe a los sistemas de telecomunicaciones.

El objetivo de la simulación es permitir estudiar el comportamiento


de un sistema complejo basado en un modelo de simulación, dicho
modelo no es mas que la representación lógica o matemática del sistema
y la simulación es la implementación de dicho modelo mediante la
utilización de herramientas computacionales que permitan realizar una
recopilación de información referente al comportamiento del sistema y
posterior análisis estadı́stico de dichos resultados, con el fin de obtener
las conclusiones respectivas. Una simulación simplemente pronostica el
desempeño de la operación de un sistema de acuerdo a un conjunto
de entradas especı́ficas, por ejemplo, la simulación de un sistema
puede pronosticar cual es el tiempo promedio de espera de un usuario
telefónico en un centro de atención de llamadas cuando un número
particular de operadores son utilizados, la tarea de quien realiza la
simulación, es determinar el efecto que tiene en el comportamiento del

1
2

sistema (tiempo promedio de espera por cliente) al variar los parámetros


(cantidad de operadores), por consiguiente, la simulación tambien puede
verse como un sistema para la toma de decisiones dado que provee las
facilidades necesarias para conseguir el escenario óptimo de desempeño
del sistema, de acuerdo a lo anterior, la simulación puede redefinirse
como el proceso de experimentación a partir de un modelo simplificado
del comportamiento de un sistema y de su evolución a través del tiempo,
con el propósito de estudiar su comportamiento y/o de optimizarlo.

Un desarrollo apropiado de una simulación es similar a la implementación


de un sistema en el laboratorio, las mediciones pueden realizarse fácil-
mente en varios puntos del sistema estudiado, estudios paramétricos son
facilmente realizados a partir de valores dados, tales parámetros, como
anchos de banda de filtros y relaciones señal a ruido, son parámetros
que pueden ser variados para permitir el estudio del sistema de acuerdo
al cambio de los mismos.

Los conceptos introducidos por la teorı́a de sistemas lineales proporciona


las técnicas para determinar las relaciones existentes entre las entradas
y salidas de estos sistemas, todo ese conocimiento permite representar
los modelos de los sistemas tanto en el dominio del tiempo como
en el dominio de la frecuencia, la arquitectura de los sistemas, las
caracterı́sticas operacionales de los subsistemas en el sistema tales como
moduladores, ecualizadores, codificadores y detalles de los modelos de
canal, deben ser entendidos y simplificados previo al desarrollo de la
simulación, dado que la simulación puede ser utilizada para determinar
los valores apropiados de los parámetros del sistema, pero el rango
de valores práctico debe ser conocido previamente al desarrollo de la
simulación. Alguna visión adecuada del comportamiento del sistema es
necesaria para garantizar que la simulación arroje resultados apropiados
y razonables dentro de un rango de confianza.

Las herramientas para el procesamiento digital de señales (PDS) son


utilizadas para el desarrollo de algoritmos que constituyen el modelo de
simulación del sistema de comunicaciones, este modelo de simulación
INTRODUCCIÓN 3

frecuentemente consiste en aproximaciones de tiempo discreto de


las señales y componentes de tiempo continuo tales como filtros; un
conocimiento de las técnicas de PDS es necesaria para comprender este
tipo de aproximaciones, de hecho, cada bloque funcional en el modelo
de simulación es una operación PDS y por lo tanto las herramientas de
PDS proporcionan la técnica para la implementación de simulaciones.

Los conceptos de probabilidad y estadı́stica tambien son de fundamental


importancia en el estudio de sistemas a través de simulación. Las
medidas de desempeño de los sistemas de comunicaciones son frecuente-
mente expresadas en términos probabilı́sticos, como por ejemplo la
probabilidad de error de bit o de error de sı́mbolo en un sistema de
comunicaciones digital, en sistemas con sicronización es de especial
interés la probabilidad de error de fase de acuerdo a la necesidad que no
exceda un determinado nivel; la teorı́a básica de probabilidad aporta el
concepto de variables aleatorias y funciones de densidad de probabilidad,
las cuales no permiten ver que los resultados de múltiples corridas de
simulación (llamada simulación estocástica) no es mas que una variable
aleatoria, la cual es frecuentemente una medida de la utilidad y precisión
de la simulación.

Las señales y el ruido que se procesan a través de simulación, son en


muchos casos muestras de funciones de un proceso estocástico, luego,
el desarrollo de algoritmos que produzcan formas de onda que tengan
las propiedades estadı́sticas adecuadas, requiere conocimiento de los
procesos estocásticos que permiten modelar las señales y el ruido, esto es
de especial utilidad cuando se desea realizar la simulación de canales de
comunicaciones, de acuerdo a que la teorı́a de los procesos estocásticos
proporciona las herramientas que permiten describir estos procesos en
el dominio del tiempo (función de autocorrelación) y en el dominio de
la frecuencia (función de densidad espectral de potencia), igualmente
en el dimensionamiento de los sistemas de comunicaciones, los proce-
sos estocásticos permiten modelar el tráfico que cursa a través de una red.

Algunos de los conceptos básicos de la teorı́a de números proporcionan


4

las herramientas para la generación de números aleatorios, estos números


son la base fundamental de los genradores de señales y formas de onda
que representan señales digitales, secuencias, ruido e interferencia,
ası́ como en el caso del estudio de sistemas de tráfico, representan
tiempos de llegadas y de atenciones a usuarios del sistema.

La selección del lenguaje de simulación es importante en el desarrollo de


la misma, de acuerdo a que las facilidades de implementación de la simu-
lación y por ende el tiempo de desarrollo de la simulación se ven afectadas
por esta decisión, mas aún, determina los recursos computacionales
requeridos para el desarrollo de la simulación y la portabilidad del código.

Las herramientas y conceptos de la teorı́a de estimación permiten eva-


luar la efectividad de los resultados de simulación, donde cada corrida
de simulación que se realice, produce un valor correspondiente a una
variable aleatoria y esta variable constituye un estimador de una canti-
dad buscada, tı́picamente todos los valores producidos por las diferentes
réplicas de simulación, la idea es que el estimador producido sea inses-
gado y consistente, estimadores insesgados son aquellos para los cuales
el valor promedio de la estimación es estadı́sticamente igual al medido,
un estimador consistente es aquel para el cual la varianza del estimador
decrementa en la medida que el número de corridas de simulación se
incrementa, en otras palabras si se toman 100 medidas independientes
del peso de una persona y estas se promedian, el estimador producido se
aproxima de mejor manera al peso real de la persona que el valor obtenido
por ejemplo de una sola medida; la teorı́a de la estimación proporciona
la herramientas analı́ticas necesarias para evaluar la confiabilidad de los
resultados de simulación.
INTRODUCCIÓN 5

Figura 1.1: Áreas que involucra la simulación de los sistemas de comu-


nicaciones.

Teoría de
Telecomunicaciones
Procesamiento Digital Teoría de Probabilidad y
de Señales Procesos Estocásticos

Simulación de
Teoría de Tràfico Sistemas de Teoría de Números
Telecomunicaciones

Teoría General de
Análisis Numérico
sistemas
Teoría de Estimación

1.1. Simulaciones determinı́sticas y estocásticas


Existen básicamente dos tipos de simulación: la simulación determinı́sti-
ca y la simulación estocástica. La simulación determinı́stica es tal vez
la más familiar en el entorno de la simulaión de circuitos eléctricos y
electrónicos, como por ejemplo una simulación de un circuito eléctrico
RC y su respuesta a cierta entrada determinı́stica de nuestro interés en
un programa de simulación como el Pspice, en este caso, un programa
se desarrolla, el cual representa los componentes del circuito al igual
que la entrada, la simulaciòn genera la corriente que circula a través del
circuito y consecuentemente los voltajes presentes en cada elemento del
circuito, estos voltajes y corrientes tı́picamente son representadas por
formas de onda, el tiempo de duración de la forma de onda aplicada
a la entrada del sistema se especifica de manera previa al inicio de la
6 El papel de la simulación

simulación; por consiguiente, desde que el circuito no varı́e y la señal


de entrada sea determinı́stica e igual siempre que se ejecute una corrida
de simulación, los resultados obtenidos siempre serán los mismos, estos
resultados arrojados por la simulación pueden obtenerse utilizando
técnicas analı́ticas tradicionales; la simulación generalmente es utilizada
para la obtención de resultados en tiempos menores y evitar posibles
errores matemáticos que pueden resultar de un proceso de desarrollo de
largos y tediosos cálculos matemáticos.

Si ahora se presume que la entrada al circuito RC es una forma de onda


aleatoria (una función muestral de un proceso estocástico), y de igual ma-
nera si se presume que la resistencia del resistor es una variable aleatoria
definida por una función de densidad de probabilidad, los resultados de la
simulación no serán una forma de onda determinı́stica y las muestras de
esta forma de onda producirán un conjunto de variables aleatorias; este
tipo de simulaciones en las cuales se representan cantidades aleatorias
hacen referencia a simulaciones estocásticas.

1.2. El papel de la simulación


La simulación es utilizada de manera extensa en muchas de las fases de
diseño y desarrollo de procesos en sistemas de comunicaciones, mientras
que la simulación es utilizada de manera primaria para la evaluación
del desempeño y estudios de mercado, la simulación puede ser utilizada
para estabelecer procedimientos de prueba, optimización, rendimiento,
duración e investigaciones una vez un sistema ha sido implantado
en el campo. Tanto la metodologı́a de simulación como el modelo de
simulación utilizado para representar el sistema dependen de fases como
el diseño, implementación y ciclo de vida del sistema. La metodologı́a de
simulación tambien puede ser gobernada por el flujo de diseño utilizado.

El diseño de un sistema de comunicaciones complejo se realiza de arriba


hacia abajo (enfoque ”top-down”), mientras que en la implementación de
hardware frecuentemente se procede de manera inversa, de abajo hacia
arriba (enfoque ”down-top”), es por ello que en el caso de los sistemas de
INTRODUCCIÓN 7

comunicaciones se iniciará al nivel del sistema el cual es el mayor nivel


de abstracción, luego se procede hacia abajo en el nivel de subsistema y
finalmente a nivel de componentes. El desarrollo de la simulación sigue
un enfoque ”top-down.en el cual se inicia con la simulación a nivel de sis-
tema con un elevado nivel de abstracción, y posteriormente se procede a
realizar un modelo cada vez mas depurado llegando a modelos depurados
a nivel de subsistemas y componentes.

1.3. Por qué simular?


En orden a dar respuesta a esta pregunta, tres perspectivas son adop-
tadas. Primero, la necesidad de utilizar la simulación por la naturaleza
de los sistemas. Segundo, las ventajas de la simulación sobre las aproxi-
maciones para la comprensión y mejoramiento del sistema. Finalmente,
las desventajas que son intrı́nsecas a la simulación de sistemas, las cuales
deben ser aterrizadas para tomar la decisión de el cuando simular y cuan-
do no.

1.3.1. Naturaleza de los sistemas: variabilidad, rela-


ciones y complejidad.
Muchas de las operaciones de los sistemas son objeto de variaciones,
estas variaciones pueden ser predecibles e impredecibles, las variaciones
predecibles pueden por ejemplo hacer referencia a cambios en la cantidad
de entidades que proporcionan un servicio en el sistema de acuerdo al
volumen de servicio requerido por los clientes del mismo; ası́ mismo
las variaciones pueden ser impredecibles tales como los tiempos en-
tre llegadas de las solicitudes de servicio al sistema; los dos tipos de
variaciones se presentan en la mayorı́a de los sistemas de comunicaciones.

Igualmente, la mayorı́a de los sistemas son también interconectados, los


componentes de los sistemas no trabajan de manera aislada y se afectan
unos a otros, lo cual significa que un cambio en una parte del sistema
acarrea cambios en otra parte del sistema, por ejemplo si la máquina de
llenado en una embotelladora trabaja mas rápido que la máquina que
8 Por qué simular?

tapa las botellas, se producirá una cola en la máquina de tapado, que si


llega a superar el espacio disponible de espera, se generará un fallo del
sistema. Por ello es frecuentemente difı́cil predecir los efectos de las conex-
iones de un sistema, especialmente cuando la variabilidad está presente,
tomando el ejemplo ilustrado en la figura 1.2, en el cual los clientes son
servidos pasando a través de tres etapas interconectadas, si cada etapa
tarda exactamente 9 minutos, y si los clientes llegan exactamente cada
10 minutos cuál es el tiempo promedio que tarda un cliente en el sis-
tema?; la respuesta a esta pregunta es relativamente sencilla dado que se
presume no existe varibilidad en el sistema, luego se puede calcular que
un cliente tarda exactamente 27 minutos en el sistema. Pero si ahora se
presume que los tiempos dados son promedios y no valores exactos tanto
para las llegadas de los clientes como para las atenciones en cada etapa,
el reponder la pregunta con respecto al tiempo que tarda un cliente en
el sistema, ya no es un asunto tan simple ya que se presenta variabilidad
tanto del tiempo de llegadas de los clientes como del tiempo de servicio
de cada etapa del sistema, lo cual implica que se pueden presentar colas
tanto en la entrada al sistema como entre las etapas internas del sistema,
y la respuesta a la pregunta dependerá de la variabilidad de los prome-
dios y de las distribuciones probabilı́sticas de los tiempos además de las
interconexiones entre las etapas, lo cual hace que sea muy difı́cil predecir
el comportamiento del sistema global.

Figura 1.2: Ejemplo de un sistema relacionado sujeto a variaciones.

Llegadas de Clientes Servicio 1 Servicio 2 Servicio 3


10 Min.
9 Min. 9 Min. 9 Min.

Muchos sistemas son complejos, para los propósitos de este texto la


complejidad se comprenderá como complejidad combinatoria y comple-
jidad dinámica; la complejidad combinatoria hace referencia al número
de componentes de un sistema o al número de combinaciones posibles de
los componentes del sistema. El problema del viajero es de utilidad para
ilustrar este tipo de complejidad, en este un viajero hace visitas a clientes
potenciales durante un dı́a, el objetivo es encontrar la ruta mas corta
INTRODUCCIÓN 9

para visitar a los clientes; si hay ocho ciudades (clientes) para visitar,
luego el viajero se enfrenta a 2520 posibles combinaciones de rutas
(calculadas como (n − 1)!/2), si la cantidad de ciudades se incrementa
también lo hará la cantidad de posibles rutas, luego el problema es
objeto de complejidad combinatoria. La complejidad combinatoria se
encuentra presente en la operación de muchos tipos de sistemas, entre
ellos los sistemas de comunicaciones, por ejemplo una red en la cual los
paquetes son procesados a través de una serie de enrutadores, una vez un
paquete es procesado en un enrrutador es pasado a culaquier otro de los
enrutadores dependiendo del tipo de paquete, del destino hacia el cual
se dirige y del algoritmo de enruamiento utilizado, cuando el número
de enrutadores se incrementa también se incrementan las posibles
conexiones a una tasa mayor, la figura 1.3 muestra las posibilidades de
interconexión de los enrutadores en una red con dos, tres, cuatro y cinco
enrutadores, hay dos interconexions entre dos enrutadores cualquiera
y el número total de interconexiones puede calcularse como n(n − 1),
donde n es el número de enrutadores en la red.

De otro lado la complejidad dinámica no necesariamente se encuentra


relacionada con el tamaño, la complejidad dinámica surge de la inter-
acción de los componentes del sistema en el tiempo (Sterman 2000),
eso puede ocurrir en sistemas que son pequeños o grandes, tı́picamente
los sistemas que presentan altos niveles de interconexiones son sistemas
que presentan complejidad dinámica. Senge (1990) ilustra la complejidad
dinámica con el juego de ditribución de cerveza, este representa una sim-
ple cadena de distribución consistente de un minorista, un distribuidor y
la fábrica, el minorista ordena cajas de cerveza al distribuidor, el cual a
la vez ordena cerveza a la fábrica, existe un retardo entre la realización
de la orden y la entrega de las cajas de cerveza, el juego demuestra que
una pequeña perturbación en el número de cajas de cerveza vendidas
por el minorista pueden causar grandes diferencias en la cantidad de ca-
jas almacenadas por el distribuidor y producidas por la fábrica, luego el
sistema es objeto de complejidad dinámica.
10 Por qué simular?

Figura 1.3: Red de comunicaciones, interconexiones y complejidad


combinatoria.

2 interconexiones

6 interconexiones

12 interconexiones

20 interconexiones

Senge (1990) describe tres efectos de la complejidad dinámica.

Una acción presenta efectos diferentes en una corrida larga y corta.

Una acción presenta un conjunto diferente de consecuencias en una


parte del sistema que en otro
INTRODUCCIÓN 11

Una acción acarrea consecuencias no obvias.

Estos efectos hacen que sea muy difı́cil predecir el desempeño de un


sistema cuando se ejecutan acciones en el sistema o se realizan cambios.

1.3.2. Ventajas de la simulación


La simulación no es el único método para analizar y mejorar la operación
de un sistema; en particular es posible experimentar con el sistema real
o utilizar otra aproximación como los modelos análogos, luego, cuales
son las ventajas de la simulación sobre estas aproximaciones?

En lugar de desarollar y experimentar con un modelo de simulación,


experimenar con el sistema real puede acarrear consecuencias indeseadas
sobre el sistema real:

Costos: La experimentación con el sistema real puede ser costosa


mas aún cuando se debe interrumpir la operación normal del sis-
tema en el periodo de tiempo de la experimentación, a su vez este
tiempo de experimentación puede ser prolongado y puede tomar
desde unas semanas hasta algunos meses o años antes que el de-
sempeño deseado del sistema pueda ser obtenido

Tiempo: Dependiendo del tamaño del modelo de simulación y la


capacidad de procesamiento de la computadora en la cual se ejecu-
tará la simulación, esta puede ejecutarse muchas veces más rápido
que el sistema real, en consecuencia, los resultados respecto al de-
sempeño del sistema pueden obtenerse en minutos o tal vez horas.

Control de las condiciones de experimentación: Cuando se com-


paran alternativas de operación es de gran utilidad controlar las
condiciones bajo las cuales los experimentos se desarrollan y por
consiguiente permitir realizar comparaciones directas, lo cual es
difı́cil cuando se experimenta con el sistema real, por ejemplo no es
posible controlar las llegadas de solicitud de llamadas a una central
telefónica cuando se experimenta con el sistema real mientras que
12 Por qué simular?

si se simula el comportamiento del sistema es posible realizar tal


control, además existen eventos que en la realidad se presentan en
oportunidades extraordinarias, lo cual no da lugar a repetir el expe-
rimento, mientras que en la simulación puede conseguirse este tipo
de situaciones y repetir el experimento cuantas veces sea necesario.

Cuando el sistema real no existe la experimentación directa es imposible


y la única alternativa es el desarrollo de un modelo.

1.3.3. Desventajas de la simulación


Existen un número de problemas con el uso de la simulación, y estos no
pueden ignorarse cuando se toma la decisión de realizar una simulación:

Costos: El desarrollo de la simulación no es necesariamente barata


dados los costos de desarrollo del modelo los cuales pueden ser
considerables de acuerdo al equipo de modeladores requerido.

Tiempo: Es verdad que los tiempos de ejecución de la simulación


son generalmente menores que los tiempos de experimentación con
el sistema real, pero los tiempos de desarrollo de la misma son
bastante grandes y por lo tanto los beneficios no son inmediatos.

Volumen de información: La mayorı́a de los modelos de simulación


requieren de una gran cantidad de datos, estos no siempre se en-
cuentran disponibles de manera inmediata.

Requiere experiencia: El desarrollo de un modelo de simulación es


mucho mas que el desarrollo de un programa de computación o el
uso de un paquete software, este requiere conocimientos, habilida-
des, modelamiento conceptual, validación, estadı́stica y otro tipo
de conocimientos y habilidades de acuerdo al tipo de sistema que
se desea modelar

Falso sentido de confianza: Existe una gran tendencia a visualizar


todos los resultados arrojados por una computadora como correc-
tos, con la simulación no necesariamente es cierto de acuerdo a
INTRODUCCIÓN 13

las aproximaciones, presunciones y simplificaciones efectuadas en


el modelo de simulación, lo cual implica un nivel de error en los
resultados obtenidos.

1.4. La necesidad de la simulación


Muchas de las operaciones de los sistemas son operaciones alcanzadas
a través de interconexiones; estos sistemas son objeto de variabilidad y
complejidad, debido a esto es difı́cil predecir el desempeño de un sistema.

Los modelos de simulación sin embargo, son capaces de representar de


manera explı́cita las interconexiones y la complejidad de un sistema, por
consiguiente es posible a través de la simulación predecir el desempeño
del sistema para realizar comparaciones entre diferentes alternativas y
determinar los efectos de polı́ticas en el desempeño con miras a la opti-
mización del sistema.

1.5. Cuándo simular


En términos generales la simulación es utilizada cuando se requiere el
estudio del comportamiento o la optimización de sistemas complejos, en
los cuales al evaluar las ventajas y desventajas que ofrece la simulación,
simplemente prevalecen las ventajas.
14 Cuándo simular
CAPÍTULO 2
MODELOS DE SIMULACIÓN

2.1. Clasificación de los modelos de simulación


Un modelo es una representación de la realidad desarrollado con el
propósito de estudiarla. En la mayorı́a de los análisis no es necesario
considerar todos los detalles de la realidad, entonces, el modelo no sólo
es un sustituto de la realidad sino también una simplificación de ella. Los
modelos de simulación son aquéllos en los que se utiliza un conjunto de
sı́mbolos en lugar de una entidad fı́sica para representar a la realidad,
estos modelos de simulación se clasifican a su vez como:

2.1.1. Modelos determinı́sticos


En estos modelos, los valores de las variables no se ven afectados por
variaciones aleatorias y se conocen con exactitud. Un ejemplo es el modelo
de inventarios conocido como lote económico.

2.1.2. Modelos estocásticos o probabilı́sticos


Los valores de las variables dentro de un modelo estocástico sufren modi-
ficaciones aleatorias con respecto a un valor promedio; dichas variaciones

15
16 Clasificación de los modelos de simulación

pueden ser manejadas mediante distribuciones de probabilidad. Un buen


número de estos modelos se pueden encontrar en la teorı́a de lı́neas de
espera.

2.1.3. Modelos dinámicos


La caracterı́stica de estos modelos es el cambio que presentan las variables
en función del tiempo; son ejemplo de éstos los modelos de series de
tiempo, pronósticos y programación dinámica.

2.1.4. Modelos estáticos


En este tipo de modelos no se maneja la variable tiempo, esto es, repre-
sentan a un sistema en un punto particular del tiempo; son ejemplo los
modelos de programación lineal.

2.1.5. Modelos continuos


Son modelos en los que las variables pueden tomar valores reales y mane-
jarse mediante las técnicas de optimización clásica. Son ejemplos los mod-
elos para el estudio de fluidos, intercambio de calor, entre otros.

2.1.6. Modelos discretos


Las variables del sistema toman valores sólo en el rango de números
enteros. Por ejemplo, los modelos que representen la producción de
piezas en una empresa metal-mecánica.

Independientemente de la clasificación de un modelo, existe una ten-


dencia a seleccionarlos dependiendo de ciertas caracterı́sticas, las cuales
hacen más deseables algunos modelos sobre otros.

La siguiente lista muestra las caracterı́sticas principales que debe tener


todo modelo:

Confiabilidad.
MODELOS DE SIMULACIÓN 17

Sencillez.

Bajo costo de desarrollo y operación.

Manejabilidad.

De fácil entendimiento, tanto el modelo como los resultados.

La relación costo-beneficio debe ser positiva.

2.2. Simulación

Simulación es el desarrollo de un modelo lógico-matemático de un


sistema, de tal forma que se obtiene una imitación de la operación de
un proceso de la vida real o de un sistema a través del tiempo. Sea
realizado a mano o en una computadora, la simulación involucra la
generación de una historia artificial de un sistema; la observación de
esta historia mediante la manipulación experimental, nos ayuda a inferir
las caracterı́sticas operacionales de tal sistema. En la definición anterior
se citan dos pasos básicos de una simulación: a) desarrollo del modelo
y b) experimentación. El desarrollo del modelo incluye la construcción
de ecuaciones lógicas representativas del sistema y la preparación de
un programa computacional. Una vez que se ha validado el modelo del
sistema, la segunda fase de un estudio de simulación entra en escena,
experimentar con el modelo para determinar cómo responde el sistema
a cambios en los niveles de algunas variables de entrada.

Los términos ”sistema ”modelo”también son importantes en la defini-


2

ción descrita. Un sistema es una colección de variables que interactúan


entre sı́ dentro de ciertos lı́mites para lograr un objetivo. El modelo por
su parte es una representación de los objetos del sistema y refleja de
manera sencilla las actividades en las cuales esos objetos se encuentran
involucrados.
18 Proceso de desarrollo de una simulación

2.3. Proceso de desarrollo de una simulación


La metodologı́a para la creación y desarrollo se puede resumir en el di-
agrama de flujo mostrado en la figura 2.1, la cual incluye los siguientes
pasos:

Figura 2.1: Proceso de desarrollo de una simulación


Definición del Sistema

Análisis

Formulación del Modelo

Selección del Lenguaje

Codificación del Modelo

Validación

Experimentación

Animación

Implantación

Monitoreo y Control
MODELOS DE SIMULACIÓN 19

1. Definición del sistema. Cada estudio debe comenzar con una


descripción del problema o del sistema. Si la descripción es dada
por los tomadores de decisiones, el analista debe asegurarse que se
encuentre completa. Es decir, que exista una correcta identificación
del objetivo, de las variables de decisión, las restricciones, la medida
de efectividad y las variables no controlables y su comportamiento
estadı́stico.

2. Análisis del sistema. Deben describirse las interacciones lógicas


entre las variables de decisión, de tal suerte que se optimice la me-
dida de efectividad en función de las variables no controlables, sin
olvidar las restricciones del sistema. Con el fin de analizar un sis-
tema, es indispensable definir algunos términos. El estado de un sis-
tema es el conjunto de variables que definen al sistema en cualquier
instante. Un evento representa un acontecimiento instantáneo que
modifica el estado del sistema. Una actividad representa el tiem-
po requerido para llevar a cabo una operación. Una entidad es
cualquier objeto dentro del sistema, esta entidad puede ser estática
o dinámica, en este último caso se denota como una transacción
y su principal caracterı́stica es su movimiento a través de las en-
tidades estáticas del sistema. Las entidades contienen propiedades
llamadas atributos que permiten crear diferencias entre ellas. Por
ejemplo, si definimos al sistema como una celda flexible de manu-
factura, las transacciones son los pallets que se mueven a través del
sistema transportando el material dentro de la celda; los atributos
pueden ser el tipo de pieza en el pallet, el peso de los pallets, entre
otros; las actividades son las operaciones de procesamiento y trans-
porte; las entidades estáticas son las máquinas de control numérico
o los robots; los eventos son la llegada o salida de un pallet de ca-
da estación en la celda y, finalmente, las variables de estado son
el número de pallets esperando en cada estación o el número de
estaciones ocupadas.

3. Formulación del modelo. Consiste en generar un código lógico-


matemático que defina en forma exacta las interacciones entre las
variables; debe ser una definición sencilla pero completa del sistema.
20 Proceso de desarrollo de una simulación

Al generar las interacciones es importante tener en cuenta que se va


a llevar a cabo a través del tiempo y que el uso de listas o cadenas
de eventos darán la pauta en el manejo de las variables. Una lista es
un arreglo en el que se van ordenando las transacciones de acuerdo
con la secuenciación de eventos en el tiempo. Existen dos tipos de
listas, las llamadas de eventos futuros donde la secuencia depende
del tiempo de ocurrencia del evento, y las de eventos actuales cuya
secuenciación depende de la ocurrencia de otro evento. Por ejemplo,
el evento fin de proceso de la pieza i, depende de la duración del
proceso de esa pieza, por lo que debe acomodarse en la lista de
eventos futuros; el evento inicio de proceso de la pieza i, depende
del evento máquina disponible, por lo que debe acomodarse en la
lista de eventos actuales.

4. Selección del lenguaje. De la selección del lenguaje dependerá el


tiempo de desarrollo del modelo de simulación, es importante uti-
lizar el lenguaje que mejor se adecué a las necesidades de simulación
que se requieran. La selección puede ser desde usar un lenguaje ge-
neral como lo es BASIC, PASCAL o FORTRAN hasta hacer uso de
un paquete especı́ficamente desarrollado para simular sistemas de
manufactura como el SIMFACTORY o el STARCEL, pasando por
los ya consolidados GPSS, SLAM, SIMAN, SIMSCRIPT, GASP y
DYNAMO.

5. Codificación del modelo. Consiste en generar las instrucciones


o código computacional necesario para lograr que el modelo pueda
ser ejecutado en algún tipo de computadora. La duración de este
proceso está directamente relacionado con la selección del lenguaje,
por ejemplo, un modelo que pueda ser codificado en GPSS en 20
minutos, podrı́a llevar hasta 5 dı́as en FORTRAN o PASCAL.

6. Validación del modelo. Es el proceso que tiene como objetivo


determinar la habilidad que tiene un modelo para representar la
realidad. La validación se lleva a cabo mediante la comparación
estadı́stica entre los resultados del modelo y los resultados reales.
MODELOS DE SIMULACIÓN 21

7. Experimentación. En este paso se determinan las diversas alter-


nativas que pueden ser evaluadas, seleccionando las variables de
entrada y sus diferentes niveles con la finalidad de optimizar las
variables de respuesta del sistema real. El uso de técnicas como
diseño de experimentos, superficies de respuesta, Sim-plex EVOP,
permiten llevar a cabo este procedimiento en forma estructurada.
8. Implantación. Una vez seleccionada la mejor alternativa, es im-
portante llevarla a la práctica; en muchas ocasiones este último paso
es el más difı́cil ya que se tiene que convencer a la alta dirección y
al personal de las ventajas de esta puesta en marcha. Para esto se
recomienda llevar a cabo un proceso de animación que permita vi-
sualizar el comportamiento de la variables en el sistema. Existen en
el mercado paquetes computacionales que permiten hacerlo en poco
tiempo y van desde los más especı́ficos como es el STARCELL que
se aplica a celdas de manufactura, hasta los muy generales como el
PROOF Animation que permite animar sistemas sin importar la
fuente de donde provenga el código de simulador ya que maneja las
comunicaciones con base en archivos tipo texto. Al implantar hay
que tener cuidado con las diferencias que pueda haber con respecto
a los resultados simulados, ya que estos últimos se obtienen, si bien
de un modelo representativo, a partir de algunas suposiciones.
9. Monitoreo y control. No hay que olvidar que los sistemas son
dinámicos y con el transcurso del tiempo es necesario modificar el
modelo de simulación, ante los nuevos cambios del sistema real, con
el fin de llevar a cabo actualizaciones periódicas que permitan que
el modelo siga siendo una representación del sistema.

2.4. Diagrama de relación Modelo-Sistema


El desarrollo detallado de un modelo de simulación puede visualizarse me-
diante un diagrama de actividades conocido como diagrama de relación
modelo-sistema. El diagrama se muestra en la figura 2.2, donde se pueden
identificar seis actividades primordiales, algunas de las cuales ya fueron
mencionadas.
22 Diagrama de relación Modelo-Sistema

Figura 2.2: Diagrama de relación modelo-sistema

Implantación

Sistema Real
Optimización
Pruebas de ajuste Real

Datos Históricos

Información Real
Resultados Reales
Probabilistica

Métodos de
Transformación Modelo de Simulación Optimización
Simuada
Números Aleatorios
Uniformes (0,1)
Réplicas Diseño de Experimentos

Variables Aleatorias
Simuladas Resultados de Simulación

1. Información histórica. Es la búsqueda fı́sica de la información


y en el caso de variables estocásticas, la transformación a distribu-
ciones de probabilidad. Esta transformación se realiza mediante
pruebas de bondad de ajuste como la de Kolmogorov-Smirnov o la
de Ji-cuadrada.

2. Generación de variables aleatorias. Es el modelado


matemático de la información real que presenta variabilidad en su
comportamiento. Este modelado se realiza mediante la obtención
de números pseudoaleatorios, su validación estadı́stica y su posteri-
or transformación a otro tipo de variables mediante métodos como
la transformada inversa o composición.

3. Generación del modelo computacional. Consiste en la


creación de un modelo mediante el uso de relaciones matemáticas,
su representación en una tabla de eventos y su codificación en el
MODELOS DE SIMULACIÓN 23

lenguaje computacional más adecuado al sistema; en dicho modelo


se deben colocar las relaciones existentes entre las variables de en-
trada y las variables de salida. El tiempo de desarrollo del modelo
computacional dependerá de la magnitud del problema, del grado
de detalle que se desee obtener y del lenguaje seleccionado.

4. Ejecución del modelo. Consiste en el manejo del modelo con


el fin de que arroje resultados similares a la realidad, tomando en
cuenta las condiciones iniciales, el tiempo de estabilización de las
variables y la ejecución de varias réplicas.

5. Validación de resultados. Es la comparación estadı́stica entre


los resultados obtenidos en el sistema real y los del modelo. Esta
validación puede realizarse a nivel de medias, variancias, forma de
las distribuciones, correlación.

6. Diseño de experimentos. Una vez que el modelo ha sido vali-


dado, es necesario experimentar con el fin de optimizar el modelo
de simulación; esto se realiza haciendo cambios en las variables de
entrada del sistema y observando el comportamiento de la variable
de salida. En este punto son útiles las técnicas de diseño de ex-
perimentos, ingenierı́a de calidad, superficies de respuesta, simplex
EVOP.

2.5. Selección del lenguaje de simulación


En un principio los programas de simulación se elaboraban utilizando
algún lenguaje de propósito general como FORTRAN, ALGOL, LP/1,
entre otros. Esto requerı́a un gran trabajo de programación; con el paso
del tiempo se fueron identificando diferentes situaciones, hasta llegar
a estandarizar ciertas instrucciones de programación en rutinas bien
definidas. De este concepto nació el diseño de lenguajes especı́ficos para
programas de simulación, con los cuales se ha ido facilitando al usuario
la programación de sus modelos.
24 Selección del lenguaje de simulación

La selección del lenguaje es el primer paso para transformar todas las


interacciones del sistema real en ecuaciones matemáticas sencillas que
lo representen; de esta decisión depende la sencillez o dificultad de la
transformación de la realidad al modelo. Existen dos opciones a seguir y
la decisión depende principalmente de varios factores:

1. Debe tomarse en cuenta las necesidades especı́ficas que tratamos de


satisfacer y las caracterı́sticas de las opciones disponibles; es impor-
tante conocer la naturaleza del sistema a simular, sus componentes,
sus flujos y sus reglas de comportamiento.

2. Es necesario determinar el objetivo que se persigue, definiendo con


mucha precisión las respuestas que esperamos de la simulación.

3. Hay que cuestionarse sobre el método de simulación necesario para


elaborar el modelo requerido para que se puedan descartar todos
los simuladores no apropiados para la metodologı́a.

4. Verificar el equipo computacional con el que se cuenta, para estimar


el costo de adecuación del equipo y valorar tiempo y dinero que hay
que invertir para capacitarnos en su uso.

5. Estudiar la existencia de documentación y libros de consulta, la


rapidez de programación, la velocidad de respuesta, los formatos
de salida y la flexibilidad para hacer cambios.

6. En caso de que exista el lenguaje, es importante evaluar los benefi-


cios que aportarı́a invertir en dicho lenguaje y considerar que ese
análisis económico podrı́a incluso conducir al uso de un lenguaje
general.

2.5.1. Ventajas y desventajas


Ya sea que se seleccione un lenguaje de tipo general o especı́fico, es preciso
tener en cuenta las ventajas y desventajas de cada uno de ellos; a conti-
nuación se enumeran algunas:
MODELOS DE SIMULACIÓN 25

Lenguajes de tipo general


Ventajas

1. Integración en las computadoras. La mayorı́a de las computado-


ras que existen en el mercado traen integrado algún lenguaje de
tipo general, ası́, no es necesario realizar algún tipo de inversión
adicional.

2. No se requiere capacitación del programador porque la actividad es


traducir operaciones lógicas a un lenguaje que conoce y domina.

3. Permiten mayor flexibilidad de programación que ciertos lenguajes


de simulación.

4. Un eficiente programa escrito en lenguaje general puede tomar


menos tiempo de ejecución que uno escrito en un lenguaje de simu-
lación.

Desventajas

1. El tiempo de desarrollo y programación es mayor pues no posee


funciones de simulación integradas.

2. El análisis de sensibilidad se dificulta después de programar el sis-


tema original ya que se requiere un tiempo de desarrollo alto para
manejar diferentes escenarios.

3. Alta probabilidad de cometer errores en el momento de realizar la


programación principalmente a causa de la gran cantidad de ins-
trucciones que requiere el uso de este tipo de lenguajes, situación
que puede llegar a traducirse en mayor número de pruebas de vali-
dación.
26 Caracterı́sticas de los lenguajes de simulación

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; tienen alta flexibilidad para hacer cambios.

3. Integra funciones como generación de números aleatorios, análisis


estadı́stico y gráficas.

4. Tienen una alta fiabilidad que conduce a una validación de resul-


tados sencilla y rápida.

5. Permite definir y entender mejor 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 la adquisición del software.

2. Se requiere invertir tiempo y costo en la capacitación de los pro-


gramadores del nuevo lenguaje.

3. La computadora de la compañı́a y el software a adquirir deben ser


compatibles.

2.6. 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:
MODELOS DE SIMULACIÓN 27

1. El procedimiento utilizado para generar los números aleatorios uni-


formes y las variables no uniformes conocidas.
2. La forma de adelantar el reloj de simulación, que puede hacerse con
incrementos de tiempo fijo como en DYNAMO o con incrementos
al próximo evento como es GPSS.
3. Las estadı́sticas que se obtienen y el formato en que se presentan
los resultados.
4. El lenguaje en que está escrito, lo cual influye en la forma de de-
tectar y reportar los errores de lógica.
5. Su compatibilidad de comunicación con determinado tipo de com-
putadoras, con otro lenguaje o, simplemente, con el usuario.

2.7. Clasificación de los lenguajes de simulación


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

1. Lenguajes de propósito general. FORTRAN, ALGOL, ASEM-


BLER, PL/1, C, PASCAL, BASIC, JAVA, DELPHI,ETC.
2. Lenguajes de simulación discreta. Enfoque de flujo de transac-
ciones: GPSS, BOSS. Enfoque de eventos: GASPII, SIMSCRIPT,
SIMCOM, SIMPAC. Enfoque de procesos: SIMULA OPL, SOL,
SIMÚLATE. Enfoque de actividades: CSL, ESP, FORSIM-IV,
MILITRAN.
3. Lenguajes de simulación discreta y continua GASP-IV, C-
SIMSCRIPT, SLAM.
4. Lenguajes de simulación continua Ecuaciones discretas: DSL-190,
MIMIC, GHSI, DYHYSYS. Enfoque de bloques: MIDAS, DY-
NAMO, SCADS, MADBLOC, CO-BLOC. Simuladores de apli-
cación especı́fica. COMNET, NETWORK, PROMODEL, SIM-
FACTORY, WITNESS, XCELL, NS-2, LABVIEW,MATLAB, OP-
NET.
28 Codificación y simulación del sistema.

Además, existen actualmente en el mercado un gran número de simu-


ladores con animación incluida dentro de su sistema. Al adquirirlos hay
que tomar en cuenta que la animación es útil para comunicar, en es-
cena, el modelo de simulación con los administradores y otras personas
interesadas; esto incrementa la credibilidad hacia el modelo y facilita la
venta de ideas, sin embargo, la animación no es un sustituto de un cuida-
doso análisis estadı́stico de los datos resultantes, ni tampoco una çorrecta
animación.es garantı́a de la validez del modelo. Algunos de los lengua-
jes de animación son: PROOF, SIMAN/Cinema, MIC-SIM, EXTEND,
XCELL, MAST, WITTNESS, AUTOMATION MASTER, STARCELL,
RESQ, PROMODEL-PC, STELLA, MICRO SAINT, GENETIK, AU-
TOMOD y SMARTMODELS.

2.8. Codificación y simulación del sistema.

Tanto la codificación como la modelación del sistema dependen de la


selección del lenguaje y consisten en la creación de diagramas de flujo,
instrucciones y corridas de simulación que interrelacionen, en forma pre-
cisa, que las variables de entrada sean probabilı́sticas o determinı́sticas,
para obtener los resultados deseados. Debido a la naturaleza de la trans-
formación que se lleva a cabo, éste es el paso más difı́cil de todos. No
existe una fórmula única para llevar a cabo tal proceso y está en fun-
ción del proceso mental de cada persona y de la experiencia que en este
sentido haya logrado obtener.

2.8.1. Simulación mediante un lenguaje general


En este caso es necesario, antes de empezar la codificación del modelo,
crear la tabla de eventos, que consiste en simular manualmente la in-
terrelación entre las variables para lograr un resultado mediante la colo-
cación de los cálculos en forma tabular. Este método ayuda en gran me-
dida a entender el comportamiento del sistema y simplifica el proceso de
codificación.
MODELOS DE SIMULACIÓN 29

2.8.2. Simulación mediante un lenguaje especı́fico


En este caso es suficiente con iniciar la codificación del modelo, puesto que
el lenguaje proporciona todos los elementos necesarios para que sea desa-
rrollada la simulación del sistema mediante la modificación de parámetros
de comportamiento.

2.9. Distribuciones de probabilidad

Algunos elementos en el comportamiento de un sistema permanecen


sin cambio a través del tiempo y se conocen como ”parámetros”; los
segundos presentan cambios a través del tiempo y se conocen como
”variables”. Por ejemplo, el modelado de un sistema mediante simu-
lación es útil cuando la información del sistema tiene carácter dinámico
y probabilı́stico, debido principalmente a que la interacción de esa
información es, por lo general, difı́cil de analizar.

La variabilidad que presenta el segundo tipo de datos debe modelarse de


acuerdo con ciertas ecuaciones matemáticas que sean capaces de repro-
ducirla; en la mayorı́a de los casos dicha variablilidad puede clasificarse
dentro de alguna función de probabilidad. Ası́ pues, uno de los pasos más
importantes de todo el proceso de modelado estocástico es la búsqueda
de información y su análisis estadı́stico posterior, basado principalmente
en la clasificación de cada serie de datos dentro de alguna distribución
de probabilidad. Algunas de las distribuciones más comunes se analizan
a continuación.

2.9.1. Distribuciones continuas


Este tipo de distribuciones se utilizan para modelar la aleatoriedad en
aquellos eventos en los cuales los valores de las variables pueden estar
dentro de un rango de valores reales. A continuación se describen algunas
de las funciones continuas más utilizadas.
30 Distribuciones de probabilidad

Distribución uniforme
La gráfica de la función de densidad de la distribución de probabilidad
uniforme y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.3: Gráfica de función de densidad uniforme


f(x)

a b x

Uniforme U(a,b)
1
Función de Densidad f (x) = b−a si a ≤ x ≤ b
Distribución Acumulada F (x) = x−a
b−a
si a ≤ x ≤ b
Parámetros a y b son parámetros reales
Rango [a, b]
a+b
Media 2
(b−a)2
Varianza 12

Tabla 2.1: Caracterı́sticas distribución uniforme


MODELOS DE SIMULACIÓN 31

Distribución exponencial
La gráfica de la función de densidad de la distribución de probabilidad
exponencial y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.4: Gráfica de función de densidad exponencial


f(x)
1/λ

0 x

Exponencial Exp(λ)
x
Función de Densidad f (x) = λ1 e− λ si x ≥ 0
x
Distribución Acumulada F (x) = 1 − e− λ si si x ≥ 0
Parámetros parámetro de escala λ > 0
Rango [0, ∞]
Media λ
Varianza λ2

Tabla 2.2: Caracterı́sticas distribución exponencial


32 Distribuciones de probabilidad

Distribución Weibull
La gráfica de la función de densidad de la distribución de probabilidad
Weibull y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.5: Gráfica de función de densidad Weibull


f(x)
1.2

1.0
α=3,β=1

0.65

x
0 0.9 2.0

Weibull Weib(α, β)
α
Función de Densidad f (x) = αβ −α xα−1 e−(x/β) si x ≥ 0
α
Distribución Acumulada F (x) = 1 − e−(x/β) si x ≥ 0
Parámetros parámetros de escala y forma α >
0, β > 0
Rango [0, ∞]
β
Media Γ( 1 )
α nα
β2 2 1
 1 2 o
Varianza α
2Γ( α
) − α
Γ( α )

Tabla 2.3: Caracterı́sticas distribución Weibull


MODELOS DE SIMULACIÓN 33

Distribución triangular
La gráfica de la función de densidad de la distribución de probabilidad
triangular y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.6: Gráfica de función de densidad triangular


f(x)

0 a b c x

Triangular Trian(a, b, c)
( 2(x−a)
(c−a)(b−a)
si a ≤ x ≤ b
Función de Densidad f (x) = 2(c−x)
(c−a)(c−b)
si b ≤
x≤c
( (x−a)2

(c−a)(b−a)
si a ≤x≤b
Distribución Acumulada F (x) = (c−x)2
1 − (c−a)(c−b) si b≤x≤c
Parámetros parámetros de escala y localización σ, µ
Rango [a, c]
Media µ
Varianza σ2

Tabla 2.4: Caracterı́sticas distribución triangular


34 Distribuciones de probabilidad

Distribución normal
La gráfica de la función de densidad de la distribución de probabilidad
normal y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.7: Gráfica función de densidad normal


f(x)

0 μ-σ μ μ+σ x

Normal N(µ, σ)
1 x−µ 2
Función de Densidad f (x) = 2σ√1 2π e− 2 ( σ ) si − ∞ ≤
x≤∞
Distribución Acumulada No existe ecuación
Parámetros parámetros de localización y escala µ, σ
Rango (−∞, ∞)
Media µ
Varianza σ2

Tabla 2.5: Caracterı́sticas Distribución Normal


MODELOS DE SIMULACIÓN 35

Distribución lognormal
La gráfica de la función de densidad de la distribución de probabilidad
lognormal y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.8: Gráfica función de distribución lognormal


f(x)

0 x

Lognormal LogN(µ, σ)
1 ln x−µ 2
Función de Densidad f (x) = √1 e− 2 ( σ ) si x > 0
x 2πσ2
Distribución Acumulada No existe ecuación
Parámetros parámetros de escala y forma σ, µ
Rango [0, ∞]
Media e−µ+σ/2
2 2
Varianza e−2µ+σ (e−σ − 1)

Tabla 2.6: Caracterı́sticas distribución lognormal

2.9.2. Distribuciones discretas


Este tipo de distribuciones sirven para modelar la aleatoriedad de una
variable que sólo puede tomar valores enteros. Las siguientes distribu-
36 Distribuciones de probabilidad

ciones son algunas de las más utilizadas en el modelado de sistemas es-


tocásticos.

Distribución geométrica
La gráfica de la función de densidad de la distribución de probabilidad
geométrica y la tabla de caracterı́sticas se muestran a continuación

Figura 2.9: Gráfica distribución de probabilidad geométrica


p(x)

p=0.25

0 1 2 ………... 16 x

Geométrica Ge(p)
Distribución de Probabili- p(x) = p(1 − p)x
dad
Distribución Acumulada F (x) = 1 − (1 − p)|x|+1 si x ≥ 0
Rango {0, 1, ..., n}
1−p
Media p
1−p
Varianza p2

Tabla 2.7: Caracterı́sticas distribución geométrica


MODELOS DE SIMULACIÓN 37

Distribución Bernoulli
La gráfica de la función de densidad de la distribución de probabilidad
Bernoulli y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.10: Gráfica distribución de probabilidad de Bernoulli


p(x)

1-p

0 1 x

Bernoulli Be(t, p)

1 − p si x = 0
Distribución de Probabili- p(x) =
p si x = 1
dad

 0 si x < 0
Distribución Acumulada F (x) = 1−p si 0 ≤ x ≤ 1

1 si x ≥ 1
Rango {0, 1}
Media p
Varianza p(1 − p)

Tabla 2.8: Caracterı́sticas distribución Bernoulli


38 Distribuciones de probabilidad

Distribución Uniforme Discreta


La gráfica de la función de densidad de la distribución de probabilidad
uniforme discreta y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.11: Gráfica distribución de probabilidad uniforme discreta


p(x)

1-p

………….

0 i j x

Uniforme Discreta UD(i, j)


1
Distribución de Proba- p(x) = (j−i)+1
bilidad

 0 si x < i
(|x|−i)+1
Distribución Acumulada F (x) = (j−i)+1
si i ≤ x ≤ j

1 si x ≥ j
Rango {i, i + 1, i + 2, ..., j}
i+j
Media 2
[(j−i)+1]2 −1
Varianza 12

Tabla 2.9: Caracterı́sticas distribución uniforme discreta


MODELOS DE SIMULACIÓN 39

Distribución Binomial
La gráfica de la función de densidad de la distribución de probabilidad
binomial y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.12: Gráfica distribución de probabilidad binomial


p(x)

p=0.25, n=20

0 1 2 ………... 12 x

Binomial BI(n, p)
 
n
Distribución de p(x) = px (1 − p)n−x ∀ x ∈
x
Probabilidad
{0, 1, 2, ..., n}

 0 si x < 0

 x  
P n
Distribución F (x) = x pi (1 − p)i si 0 ≤ x < n

 i
Acumulada  i=0
1 si x ≥ n
Rango {0, 1, 2, ..., n}
Media np
Varianza np(1 − p)

Tabla 2.10: Caracterı́sticas distribución binomial


40 Distribuciones de probabilidad

Distribución Poisson
La gráfica de la función de densidad de la distribución de probabilidad
Poisson y la tabla de caracterı́sticas se muestran a continuación.

Figura 2.13: Gráfica distribución de probabilidad de Poisson


p(x)

λ=8

0 1 2 ………... 16 x

Poisson PS(λ)
e−λ λx
Distribución de Probabili- p(x) = x!
x ∈ {0, 1, 2, ...}
dad
P
|x|
λi
Distribución Acumulada F (x) = e−λ i!
si x ≥ 0
i=0
Rango λ > 0, x ∈ {0, 1, 2, ...}
Media λ
Varianza λ

Tabla 2.11: Caracterı́sticas distribución Poisson


MODELOS DE SIMULACIÓN 41

2.10. Pruebas de bondad de ajuste

Normalmente el paso de búsqueda y análisis de la información es el que


más tiempo consume dentro del desarrollo total del modelo; tomando
en consideración que no se cuenta con ningún tipo de información, es
posible afirmar que parte puede tomar del 60 al 70 % del tiempo total de
desarrollo del modelo. En la mayor parte de los sistemas, al analizar la
información, ésta se encuentra disponible en forma de series a través del
tiempo, como se muestra en la figura 2.14.

Figura 2.14: Información de un sistema como serie temporal

50

25

x
0 1 2 ………... 19

Esta información, tabulada en dicho formato no es de utilidad cuando


se trata de obtener un comportamiento basado en variabilidad con cier-
to comportamiento probabilı́stico. Ası́ pues, si el analista desea conocer
el comportamiento, es necesario modificar la forma de presentación de
datos y presentarla como tablas de frecuencia, con la finalidad de re-
alizar cualquiera de las siguientes pruebas:

Prueba de bondad de ajuste χ2 .

Prueba de Kolmogorov-Smirnov.
42 Pruebas de bondad de ajuste

2.10.1. Prueba de bondad de ajuste χ2


Como ya se mencionó, esta prueba se utiliza para encontrar la distribu-
ción de probabilidad de una serie de datos. La metodologı́a de la prueba
χ2 es 1a siguiente:

1. Se colocan los n datos históricos


√ en una tabla de frecuencia ob-
servada (F.O.) con m ≈ n intervalos. Se obtiene la frecuencia
observada en cada intervalo i (F Oi) como la cantidad de datos en
cada intervalode tamaño T

> dato− < dato


T = (2.1)
m

Se calcula la media y la variancia de los datos como:


n
1X
Media = xi (2.2)
n i=1
n
1 X
V arianza = (xi − Media)2 (2.3)
n − 1 i=1

2. Se propone una distribución de probabilidad de acuerdo con la


forma de la tabla de frecuencias obtenida en el paso 1, graficando
un histograma de frecuencia observada versus intervalos.

3. Con la distribución propuesta, se calcula la frecuencia esperada


para cada uno de los intervalos(F Ei ) como

h i
F Ei = n ∗ F (x) | LS (2.4)
LI

donde:
Zx
F (x) = f (y)dy (2.5)
0
MODELOS DE SIMULACIÓN 43

para distribuciones continuas


x
X
F (x) = p(y) (2.6)
0

para distribuciones discretas

4. Se calcula el estimador:

m 
X 
(F Ei − F Oi)2
C= (2.7)
i=1
F Ei

5. Si el estimador C es menor o igual al valor correspondiente de la


distribución χ2 con m − k − 1 grados de libertad (k - número de
parámetros estimados de la distribución) y a un nivel de confiabili-
dad de 1 −α, entonces se dice que la hipótesis propuesta se ajusta a
la distribución de probabilidad que sigue la información histórica.
En caso contrario debe retornarse al punto 2 y realizar nuevamente
el proceso.

Ejemplo. Mediante la prueba χ2 determine el tipo de distribución de


probabilidad que sigue la llegada de solicitudes de llamada a una central
telefónica a un nivel del 95 %, si a través del tiempo se ha registrado
el comportamiento consignado en la figura 2.15. Obtenga la tabla de
frecuencias de la figura 2.15 considerando 7 intervalos y cuantificando la
frecuencia para cada uno de ellos:

Intervalo FO
0-1 6
1-3 6
3-5 5
5-7 7
7-9 6
9-11 6
11-13 5
TOTAL 41
44 Pruebas de bondad de ajuste

Figura 2.15: Comportamiento de la demanda de circuitos telefónicos


Solicitudes de llamada
12

0 2 4 ………... 40 Minutos

La distribución de probabilidad esperada que se propone, observando los


datos de la columna FO, es una distribución uniforme entre a = 0 y
b = 13 llamadas por minuto, o sea:
1 1
f (x) = b−a
= 13

obteniendo la función de distribución acumulada se tiene:


R 1
LS
F (x) = 13 dx
LI

1
F (x) = 13
(LS − LI)
donde:
LI: Lı́mite inferior de cada intervalo
LS: Lı́mite superior de cada intervalo

Sustituyendo los valores de los lı́mites para obtener F (x) y multiplicándo-


los por el total de datos, se tiene F E para cada intervalo.
Intervalo FO F(x) F E = F(x) ∗ 41
0-1 6 0.1538 6.31
1-3 6 0.1538 6.31
3-5 5 0.1538 6.31
5-7 7 0.1538 6.31
7-9 6 0.1538 6.31
9-11 6 0.1538 6.31
11-13 5 0.1538 6.31
MODELOS DE SIMULACIÓN 45

Calculando el estadı́stico C con los datos de F Ei y F Oi se obtiene C


= 4.092. El valor C = 4.092, comparado con el valor de la tabla y de
la distribución χ2 con 6 grados de libertad y 5 % de rechazo el cual es
12.59, indica que la hipótesis propuesta se ajusta a la distribución de
probabilidad que sigue la información histórica, por lo tanto los datos
anteriores se comportan de acuerdo a una distribución uniforme entre 0
y 13 llamadas por minuto con un nivel de confianza del 95 %. Entonces,
llegadas de llamadas ≈ U(0, 13) llamadas/minuto.

2.10.2. Prueba de bondad de ajuste de


Kolmogorov-Smirnov
Si el objetivo es encontrar el tipo de distribución de probabilidad de
una serie de datos, es posible utilizar la prueba de bondad de ajuste de
Kolmogorov-Smirnov, la cual, comparándola con la de χ2 , es más eficiente
en varios aspectos ya que trabaja con la distribución de probabilidad
acumulada.
La metodologı́a es la siguiente:

1. Se colocan los n datos históricos


√ en una tabla de frecuencia ob-
servada (F.O.) con m ≈ n intervalos. Se obtiene la frecuencia
observada en cada intervalo i (F Oi) como la cantidad de datos en
cada intervalode tamaño T

> dato− < dato


T = (2.8)
m
Se calcula la media y la variancia de los datos como
n
1X
Media = xi (2.9)
n i=1
n
1 X
V arianza = (xi − Media)2 (2.10)
n − 1 i=1
46 Pruebas de bondad de ajuste

2. Se propone una distribución de probabilidad de acuerdo con la


forma de la tabla de frecuencias obtenida en el paso 1, graficando
un histograma de frecuencia observada versus intervalos.

3. Se calcula la frecuencia observada acumulada (FOA) para cada


intervalo como.

i
X
F OAi = F On (2.11)
n=1

4. Se calcula la probabilidad observada acumulada (POA) para cada


intervalo como.

F OAi
P OAi = (2.12)
n
5. Con la distribución propuesta se calcula la probabilidad esperada
(PE) para cada uno de los intervalos como

h i
P EAi = F (x) | LS (2.13)
0

donde:
Zx
F (x) = f (y)dy (2.14)
0

para distribuciones continuas


x
X
F (x) = p(y) (2.15)
0

para distribuciones discretas

6. Se calcula la el estimador de máxima diferencia DM como


MODELOS DE SIMULACIÓN 47

DM = M áx |P EAi − P OAi| (2.16)

7. Se obtiene el correspondiente valor de la distribución de


Kolmogorov-Smirnov (D) para n grados de libertad y a un niv-
el de confiabilidad de 1 − α de la tabla de dicha distribución.

8. El estimador DM se compara con el valor lı́mite Dn,1−α . Si el esti-


mador DM es menor o igual al valor lı́mite, entonces se dice que la
hipótesis propuesta se ajusta a la distribución de probabilidad que
sigue la información histórica. En caso contrario debe retornarse al
punto 2 y realizar nuevamente el proceso.

Ejemplo. Mediante la prueba de Kolmogorov-Smirnov determine el tipo


de distribución de probabilidad que siguen los datos del ejemplo anterior,
con un nivel de confianza del 95 %. Obtenga la tabla de frecuencias,
considerando 7 intervalos:

Intervalo FO FOA POA


0-1 6 6 0.146
1-3 6 12 0.293
3-5 5 17 0.414
5-7 7 24 0.585
7-9 6 30 0.738
9-11 6 36 0.878
11-13 5 41 1

La distribución de probabilidad esperada que se propone, según los datos


de columna F O, es una distribución uniforme entre 0 y 13 llamadas por
minuto:
1 1
f (x) = b−a
= 13

obteniendo la función de distribución acumulada se tiene:


R
LS
1 1
F (x) = 13
dx F (x) = 13
(LS)
0
48 Pruebas de bondad de ajuste

donde:
LS: Lı́mite superior de cada intervalo

Evaluando la ecuación anterior, se obtiene la tabla siguiente:

Intervalo FO FOA POA PEA


0-1 6 6 0.146 0.0769
1-3 6 12 0.293 0.2307
3-5 5 17 0.414 0.3846
5-7 7 24 0.585 0.5384
7-9 6 30 0.738 0.6923
9-11 6 36 0.878 0.8461
11-13 5 41 1 1

Al obtener la diferencia término a término entre PEA y POA, se tiene:

Intervalo FO FOA POA PEA |P EA − P OA|


0-1 6 6 0.146 0.0769 0.0694
1-3 6 12 0.293 0.2307 0.0619
3-5 5 17 0.414 0.3846 0.03
5-7 7 24 0.585 0.5384 0.0469
7-9 6 30 0.738 0.6923 0.0394
9-11 6 36 0.878 0.8461 0.0319
11-13 5 41 1 1 0

El valor DM es igual a la máxima diferencia, osea, 0.0694, que


comparándolo contra el valor D41,0,05 = 0,2123, indica que los datos
anteriores siguen una distribución uniforme entre 0 y 13 llamadas por
minuto, a un nivel de confianza del 95 %. Por lo tanto, llegadas de
llamadas ≈ U(0, 13) llamadas/minuto.

Ejemplo. Utilizando la prueba de Kolmogorov-Smirnov, definiremos la


distribución de probabilidad que siguen los datos de la siguiente tabla de
frecuencia observada, que muestra la cantidad de paquetes que llegan a
un enrutador a través del tiempo, medida en paquetes/minuto.
MODELOS DE SIMULACIÓN 49

Intervalo FO
0-3 20
3-6 12
6-9 7
9-12 4
12-15 2
15-18 1
> 18 5
De acuerdo con los datos de la columna de FO, se puede pensar que
siguen distribución de probabilidad exponencial con media λ = 6, luego
la hipótesis será:
x
f (x) = λ1 e− λ si x ≥ 0
calculando la media λ de la forma:
1
P
n
Media = n
xi = 6
i=1

obteniendo la frecuencia observada acumulada para cada intervalo y la


probabilidad observada acumulada para cada intervalo se tiene:
Intervalo FO FOA POA
0-3 20 20 0.3921
3-6 12 32 0.6274
6-9 7 39 0.7647
9-12 4 43 0.8431
12-15 2 45 0.8823
15-18 1 46 0.9019
> 18 5 51 1
Integrando la función desde el lı́mite inferior del primer intervalo hasta
el Imite superior de cada uno de los intervalos se tiene
R
LS
1 − x6
F (x) = 6
e dx
0

LS
F (x) = 1 − e− 6
50 Pruebas de bondad de ajuste

luego en cada intervalo:

Intervalo FO FOA POA PEA


0-3 20 20 0.3921 0.3934
3-6 12 32 0.6274 0.6321
6-9 7 39 0.7647 0.7768
9-12 4 43 0.8431 0.8446
12-15 2 45 0.8823 0.9179
15-18 1 46 0.9019 0.9502
> 18 5 51 1 1

Calculando las diferencias absolutas en cada intervalo:

Intervalo FO FOA POA PEA |P EA − P OA|


0-3 20 20 0.3921 0.3934 0.0013
3-6 12 32 0.6274 0.6321 0.0049
6-9 7 39 0.7647 0.7768 0.0121
9-12 4 43 0.8431 0.8446 0.0215
12-15 2 45 0.8823 0.9179 0.0356
15-18 1 46 0.9019 0.9502 0.0483
> 18 5 51 1 1 0

Luego el estimador DM = 0.0483 se compara con la D51,0,05 = 0,1904


indica que los datos anteriores siguen una distribución exponencial con
media 6 paquetes por minuto, a un nivel de confianza del 95 %. Por lo
tanto, llegadas de llamadas ≈ Exp(6) paquetes/minuto.

Ejemplo. Un proveedor de servicio de internet indica que siempre los


paquetes enviados a cualquier destino en el mundo llegan en 7ms o menos.
Sin embargo, la empresa X hizo un muestreo de retardos de paquetes a
diferentes destinos y obtuvo lo siguiente:
MODELOS DE SIMULACIÓN 51

Retardo en ms FO
0-1 0
2-3 1
4-5 8
6-7 12
8-9 20
10-11 10
12-13 3
14-15 1
16-17 0

Obviamente, no tarda 7ms o menos. ¿Qué se puede decir acerca de los


milisegundos que tarda en entregar un paquete?

Observando los datos se puede pensar que siguen una distribución normal
con media de 8 dı́as y una desviación estándar de 2 dı́as. La función
normal no es integrable, ası́ que se utilizará la tabla normal estándar.

Intervalo FO FOA POA PEA |P EA − P OA|


0-1 0 0 0.000 0.000025 0.000025
2-3 1 1 0.018 0.00621 0.01197
4-5 8 9 0.164 0.06681 0.0968
6-7 12 21 0.382 0.3021 0.0797
8-9 20 41 0.745 0.6979 0.0475
10-11 10 51 0.927 0.9332 0.00599
12-13 3 54 0.982 0.999975 0.000025
14-15 1 55 1 0.99999 0.000010
16-17 0 55 1 0.99999 0.000010

De la tabla con distribución normal estándar, se lee la probabilidad acu-


mulada desde −∞ hasta zi ; por ejemplo, para el tercer intervalo:

xi −µ
zi = σ

LS3 −µ 5−8
z3 = σ
= 2
= −1,5
52 Ejercicios

Con el valor de z3 = −1,5 se busca en la tabla normal estándar; el valor


correspondiente desde −∞ a −1,5 es 0,06681.
El procedimiento es similar para cada uno de los intervalos. La
DM = 0,0968 se compara con la D55,0,05 = 0,1833, y ya que DM es
menor, entonces no se puede rechazar la hipótesis de que el tiempo de
entrega de paquetes siguen una distribución normal con media de 8 ms
y desviación estándar de 2 ms (variancia = 4) con un nivel de confianza
de 95 %. Tiempo de entrega ≈ (8, 4) ms

Los procedimientos presentados, se encuentran ya en paquetes computa-


cionales en los que el usuario sólo tiene que introducir la serie de datos
a través del tiempo, y con un procedimiento de prueba y error realiza la
búsqueda de la distribución de probabilidad que más se adecué. Dentro
de los principales paquetes que realizan este análisis se pueden citar
SANDIE y STATGRAPP

Una de las ventajas de utilizar los paquetes es la rapidez con la que se


puede analizar la información, siempre y cuando ésta tenga un carácter
probabilı́stico común, como puede ser exponencial, normal, Erlang, entre
otras; en caso de que la información no presente ese comportamiento, es
necesario identificar otro tipo de distribuciones más complejas y analizar
en forma manual la información.

2.11. Ejercicios
1. Un multiplexor procesa tramas con un tiempo que sigue una dis-
tribución exponencial con media de 20 minutos/trama. Indique cuál
es la probabilidad de que una trama cualquiera sea procesada en
un tiempo mayor a 35 minutos.

2. Si el tamaño de los paquetes de información generados por una


fuente sigue una distribución normal (4.100, 0.500) octetos, indique
cual es la probabilidad de que un paquete tenga longitud:

a.) Menos de 3.800 octetos.


MODELOS DE SIMULACIÓN 53

b.) Entre 3.900 y 4.050 octetos,

c.) Más de 5.100 octetos.

3. Si el tiempo entre llegadas a un conmutador sigue una distribución


exponencial con media de 15 minutos, calcule la probabilidad de
que el tiempo entre llegadas sea menor a 15 minutos.

4. El tiempo entre fallas de una central telefónica es Weibull con


parámetros de forma y escala de 2 y 50 respectivamente. ¿Cuál
es la probabilidad de que una central falle antes de 45 horas de
trabajo?

5. Si el número de fallas en la conformación de tramas sigue una dis-


tribución geométrica con p = 0.5, calcule la probabilidad de:

a.) Obtener 3 fallas

b.) Tener entre 4 y 10 fallas

c.) No tener fallas

6. Si para el problema anterior la distribución de probabilidad es bi-


nomial con N = 10 y p = 0.4, ¿qué valores de probabilidad se
obtendrı́an?

7. Para el siguiente conjunto de números:

5, 8, 4, 7, 8, 2, 4, 4, 3, 5, 6, 7, 8, 4, 8, 7, 3, 4, 5, 6, 7, 2, 3, 4, 5 3, 5, 6, 1,
2, 3, 2, 5, 6, 7, 8, 7, 1, 5, 6, 7, 3, 4,2, 0, 1, 0, 0, 2, 3

realice la prueba de bondad de ajuste para determinar si siguen una


distribución uniforme entre 0 y 8, a un nivel de confianza del 95 %.

8. Realice la prueba de Kolmogorov-Smirnov a los números de la si-


guiente lista y demuestre a un nivel 1 - a = 95 % que son uniformes
(0, 1).
54 Ejercicios

0.778 0.897 0.951 0.234 0.395 0.234 0.783 0.405


0.899 0.277 0.341 0.456 0.482 0.789 0.456 0.479
0.895 0.907 0.002 0.345 0.404 0.982 0.123 0.345
0.678 0.845 0.963 0.298 0.622 0.045

9. Los codificadores de sı́mbolos de un sistema de radiocomunicaciones


detienen su producción de sı́mbolos de paridad al ocurrir fallo, hasta
que un ingeniero va a repararlo. El tiempo entre fallos ha arrojado
los siguientes resultados medidos en minutos:

1.88 3.53 1.42 0.39 0.80 0.54 0.53 1.28 0.34 5.50
1.90 1.80 0.82 0.01 4.91 0.15 0.79 2.16 0.10 0.35
0.02 0.21 0.05 1.10 0.36 2.81 0.80 0.04 0.24 0.90
1.50 0.26 1.49 0.26 1.03 0.53 0.63 0.66 0.45 1.73
2.62 0.36 2.03 0.17 0.38 2.67 2.03 1.00 4.29 0.48

Determine con un nivel de aceptación 1 - a = 90 % la distribución de


probabilidad del tiempo entre fallos.

10. Los datos en meses del tiempo entre fallos de un satélite son:

36.33 48.00 32.02 36.78 38.52 40.33 35.78 45.39 35.99 36.68
41.52 36.54 36.60 40.56 40.42 33.92 39.82 34.48 34.35 37.73
35.89 31.75 41.91 45.70 31.50 44.58 34.04 32.03 48.53 47.29
41.91 38.45 36.10 40.57 34.28 35.90 48.47 32.86 40.91 32.80
38.69 41.33 49.31 45.99 34.06 37.46 35.97 39.22 41.92 31.08

Construya un histograma y determine la distribución de probabilidad a


un nivel 1 - a = 95 % con la prueba de bondad de ajuste χ2

11. Datos históricos en minutos del tiempo de reparación de un nodo


de red son:

2.71 2.12 1.66 0.34 2.24 6.92 4.01 7.96 13.51 3.57
1.12 1.18 4.18 3.08 0.80 3.86 0.57 0.57 1.80 3.50
5.31 2.52 2.40 3.10 2.34 4.48 12.09 2.62 3.13 16.47
2.19 0.32 18.24 1.87 4.90 17.21 0.53 1.97 0.00 4.24
0.71 5.13 1.87 2.73 4.83 3.76 8.88 1.94 3.73 8.94
MODELOS DE SIMULACIÓN 55

Construya un histograma y determine la distribución de probabilidad a


un nivel 1 - a = 95 % con la prueba de bondad de ajusteχ2 .

12. El número de semanas de vida de un componente de red se com-


porta de acuerdo con los datos históricos siguientes:

151.3 155.1 150.1 158.7 148.8 148.7 147.9 153.1 151.6 150.9
149.2 160.3 157.7 146.9 150.6 146.8 144.5 160.9 147.7 150.0
157.1 136.6 146.7 142.8 150.0 144.5 156.2 145.6 150.2 151.7
158.8 149.6 144.8 145.2 158.8 150.1 149.6 142.1 150.6 151.6
145.5 154.6 158.4 164.2 152.6 144.5 147.5 142.3 149.3 148.5

Construya un histograma y determine la distribución de probabilidad de


los datos a un nivel 1 - a = 90 % utilizando la prueba de bondad de ajuste
de Kolmogorov-Smirnov.

13. El resultado de aceptación o rechazo de 50 secciones de guı́as de on-


da se codifica con 1 o 0, respectivamente. A partir de los resultados
siguientes,

1 0 0 0 0 0 1 0 0 1
0 0 0 1 0 1 1 1 1 0
0 0 1 0 1 0 1 1 0 1
0 0 0 0 1 0 0 1 0 0
1 0 0 0 0 0 0 0 1 0

Muestre que el evento .aceptar una sección de guı́a”sigue una distribución


Bernoulli con p - 0.35 con un nivel de confianza 1 - a de 95 %.

14. Se sospecha que el número de octetos errados en cierta red sigue


una distribución binomial con p = 7 y n = 5. A partir de la siguiente
muestra de 50 datos:

3 3 2 3 3 3 4 3 2 1
4 3 2 3 1 2 2 3 4 3
3 3 2 2 4 3 5 2 2 3
3 1 3 0 3 2 5 4 3 2
2 3 0 4 4 5 3 2 3 4
56 Ejercicios

Demuestre si las sospechas son ciertas mediante la prueba de bondad de


ajuste un nivel de confianza del 90 %. En caso negativo, ¿qué distribución
de probabilidad serı́a más adecuada para modelar el número de octetos
errados?
CAPÍTULO 3
GENERACIÓN DE NÚMEROS
PSEUDOALEATORIOS

Una vez obtenida toda la información, es decir, los datos de entrada del
sistema real, es necesario convertirlos en información o datos de entrada
del modelo de simulación. Es posible distinguir dos tipos de información:

1. Información determinı́stica. Esta información entra directamente al


modelo con su valor correspondiente en el sistema real.

2. Información probabilı́stica. Es necesario crear modelos de simu-


lación que imiten el comportamiento de esas variables. En el capı́tu-
lo anterior se mencionan algunos tipos de variabilidad que pueden
existir. De esta forma, al crear un modelo de simulación debemos
ser capaces de tomar ese comportamiento y modelarlo. Los números
aleatorios son la base en los modelos de simulación donde hay vari-
ables estocásticas, ya que dichos números son la herramienta para
generar eventos de tipo probabilı́stico. La metodologı́a consiste en
la creación matemática de expresiones sencillas partiendo de lo que
se conoce como generación de números aleatorios uniformes entre
0 y 1.

57
Métodos de generación de números pseudoaleatorios
58 uniformes en (0,1)

3.1. Métodos de generación de números


pseudoaleatorios uniformes en (0,1)
Existen un gran número de métodos para generar los números aleatorios
entre 0 y 1. El método a utilizar, en sı́ mismo, no tiene importancia;
la importancia radica en los números que genera, ya que estos números
deben cumplir ciertas caracterı́sticas para que sean válidos. Dichas car-
acterı́sticas son:

1. Uniformemente distribuidos.

2. Estadı́sticamente independientes.
1
3. Su media debe ser estadı́sticamente igual a 2

1
4. Su varianza debe ser estadı́sticamente igual a 12
.

5. Su periodo o ciclo de vida debe ser largo.

3.1.1. Métodos congruenciales


Estos métodos realizan la generación de números pseudoaleatorios a par-
tir de expresiones basadas en sumas y productos tales como:

xi+1 = (a + cxi )modm (3.1)

xi+1
Ui+1 = (3.2)
m−1
donde
x0 : Semilla del generador.
a, c, m : Constantes
Ui+1 : Números pseudoaleatorios generados

Ejemplo. Generar 5 números con el generador congruencial multiplica-


tivo siguiente con la semilla x0 = 47
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 59

xi+1 = (441 + 13xi ) textmod767

x1 = (441 + 13 ∗ 47) textmod767 = 285

x2 = (441 + 13 ∗ 285)mod767 = 311

x3 = (441 + 13 ∗ 311)mod767 = 649

x4 = (441 + 13 ∗ 649)mod767 = 441

x5 = (441 + 13 ∗ 441)mod767 = 38

Dividiendo por m − 1 = 766, se obtienen los números pseudoaleatorios

U1 = 0,372

U2 = 0,778

U3 = 0,8472

U4 = 0,5757

U5 = 0,0496

Existen reglas para la selección de las constantes, algunas de ellas son:

c debe ser un entero impar, no divisible ni por 3 ni por 5.

a usualmente puede ser cualquier constante. Sin embargo, para ase-


gurar buenos resultados, seleccione a de tal forma que (a)mod8 = 5
para una computadora binaria o (a)mod200 = 21 para una com-
putadora decimal.

m debe ser el número entero más grande que la computadora


acepte.
Métodos de generación de números pseudoaleatorios
60 uniformes en (0,1)

De acuerdo con Hull y Dobell, los mejores resultados para un generador


congruencial mixto en una computadora binaria son:

a=8∗c±3

c = cualquier entero

x0 = cualquier entero impar

m = 2b donde b > 2 y que m sea aceptado por la computadora.

3.1.2. Método de cuadrados medios


El procedimiento para la obtención de números pseudoaleatorios en (0,1)
con este tipo de generadores es el siguiente:

1. Plantear una semilla x0 y una cantidad k de dı́gitos que conforman


el número pseudoaleatorio.

2. Elevar la semilla al cuadrado

3. Tomar de la parte central un conjunto de k dı́gitos que conformarán


en número pseudoaleatorio, y anteponer a estos el número cero y
el punto decimal para conformar el número pseudoaleatorio.

4. Los k dı́gitos pasarán a ser la nueva semilla con el fin de repetir el


proceso tantas veces como números se desee generar.

Ejemplo. Generar 3 números de 4 digitos a partir de un generador de


cuadrados medios utilizando la semila 445.

(445)2 = 198025 = 1 9802 5 generando 0,9802

(9802)2 = 96079204 = 96 0792 04 generando 0,0792

(0792)2 = 627264 = 6 2726 4 generando 0,2726


GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 61

Existen generadores de números pseudoaleatorios uniformes entre 0 y 1


integrados a la mayorı́a de los sistemas, que pueden ser llamados como
funciones, algunos ejemplos son:

Excel

Ui = Rand()

Pascal

Ui = Random()

Basic

Ui = Rand()

3.2. Pruebas Estadı́sticas


Una vez que se ha creado o se puede usar un generador es importante veri-
ficar si los números generados poseen las caracterı́sticas mencionadas. La
comprobación de tales caracterı́sticas se realiza mediante ciertas pruebas
estadı́sticas, que son las siguientes:

3.2.1. Prueba de medias


Consiste en verificar que los números generados tengan una media es-
tadı́sticamente igual a 12 , de esta manera, se analiza la siguiente hipótesis:
1
H0 : µ = 2
1
Hi : µ 6= 2

luego, se trata de verificar cual de las hipótesis aceptar de acuerdo a un


determinado nivel de confianza, por consiguiente los pasos a seguir en el
desarrollo de la misma son:
62 Pruebas Estadı́sticas

1. Calcular la media de los n números generados a partir de la sigui-


ente expresión:

n
1X
x= ui (3.3)
n i=1

2. Calcular los lı́mites superior e inferior de aceptación para la media

 
1 1
LSx = + zα/2 √ (3.4)
2 12 n
 
1 1
LIx = − zα/2 √ (3.5)
2 12 n

3. Si el valor de x se encuentra entre LIx y LSx , se acepta que los


números tienen una media estadı́sticamente igual a 12 con un nivel
de aceptación 1 − α.

Ejemplo. Realice la prueba de medias a los primeros 30 números aleato-


rios entre 0 y 1 de un generador congruencial mixto, con un nivel de
confianza del 95 %.

Los números generados son los siguientes:

0.03991 0.10461 0.93716 0.16894 0.98953


0.73231 0.25593 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

con la ecuación 3.3 se calcula la media del conjunto de números


GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 63

1
P
30
x= 30
ui = 0,507
i=1

Ahora se calculan los lı́mites de aceptación de la media para n = 30


números
     
1 1 1 1 1 1
LSx = 2
+ zα/2 √
12 n
=+ z0,05/2
2
= √
12 30 2
+ z0,025 √
12 30
=
 
1
2
+ 1,96 12√1 30 = 0,5298
     
1 1 1 1 1 1
LIx = 2
− zα/2 √
12 n
=− z0,05/2
2
= − z0,025 √
12 30 2

12 30
=
 
1
2
− 1,96 12√1 30 = 0,4701

por consiguiente se verifica que:

LIx ≤ x ≤ LSx
0,4701 < 0,507 < 0,5298

por lo tanto, dado que el valor promedio se encuentra entre los lı́mites,
se acepta la hipótesis H0 , es decir, se puede afirmar que la media de los
números es estadı́sticamente igual a 12 .

3.2.2. Prueba de varianza


Consiste en verificar si los números aleatorios generados tienen una var-
1
ianza estadı́sticamente igual a 12 , del tal forma que la hipótesis queda
expresada como:
1
H0 : V (x) = 12
1
Hi : V (x) 6= 12

luego, se trata de verificar cual de las hipótesis aceptar de acuerdo a un


determinado nivel de confianza, por consiguiente los pasos a seguir en el
desarrollo de la misma son:
64 Pruebas Estadı́sticas

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

n
1 X
V (x) = (ui − x)2 (3.6)
n − 1 i=1

2. Calcular los lı́mites superior e inferior de aceptación de la varianza


para los n números

χ2α/2,n−1
LSv(x) = (3.7)
12(n − 1)
χ21−α/2,n−1
LIv(x) = (3.8)
12(n − 1)

3. Si V (x) se encuentra entre los valores de LIv(x) y LSv(x) , acepta-


mos la hipótesis nula y los números aleatorios tienen una variancia
1
estadı́sticamente igual a 12 .

Ejemplo. Realice la prueba de variancia a los siguientes 30 números


con nivel de confianza del 95 %.

0.03991 0.10461 0.93716 0.16894 0.98953


0.73231 0.25593 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

Aplicando la ecuación 3.6 se tiene que

1
P
n
1
P
30
V (x) = n−1
(ui − x)2 = 30−1
(ui − 0,507)2 = 0,104
i=1 i=1
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 65

Ahora se calculando los lı́mites de aceptación de la varianza para n = 30


números se obtiene
χ2α/2,n−1 χ20,05/2,30−1 χ20,025,29 45,7
LSv(x) = 12(n−1)
= 12(30−1)
= 12(29)
= 12(29) = 0,1313
χ21−α/2,n−1 χ21−0,05/2,30−1 2
χ0,975,29 16,04
LIv(x) = 12(n−1)
= 12(30−1)
= 12(29) = 12(29) = 0,046

por consiguiente se verifica que

LIv(x) ≤ V (x) ≤ LSv(x)


0,046 < 0,104 < 0,1313
por lo tanto, dado que el valor promedio se encuentra entre los lı́mites,
se acepta la hipótesis H0 , es decir, se puede afirmar que la varianza de
1
los números es estadı́sticamente igual a 12 .

3.2.3. Prueba de forma


Para realizar esta prueba se utiliza la prueba de bondad de ajuste χ2
descrita en el capı́tulo 2. Esta prueba se empleará en el caso especı́fico de
los números aleatorios uniformes entre 0 y 1, para probar que un conjunto
de datos siga esta distribución. De esta manera la hipótesis propuesta se
resume como sigue
H0 : ui = U [0, 1]
Hi : ui 6= U [0, 1]
Ejemplo.
Tomando el siguiente conjunto de números, determine con un nivel de
confianza del 95 % si pertenecen a una población uniforme.
0.03991 0.10461 0.93716 0.16894 0.98953
0.73231 0.25593 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
66 Pruebas Estadı́sticas

Dividiendo el rango de 0 a 1 en 10 intervalos y clasificando los 30 números


según su valor y se obtiene la siguiente tabla.

Intervalo FO FE
0.0-0.1 3 3
0.1-0.2 4 3
0.2-0.3 3 3
0.3-0.4 4 3
0.4-0.5 1 3
0.5-0.6 2 3
0.6-0.7 2 3
0.7-0.8 3 3
0.8-0.9 3 3
0.9-1.0 5 3

Se calcula el estimador C segun la siguiente ecuación


m 
X 
(F Ei − F Oi )2
C= (3.9)
i=1
F Ei
se obtiene un valor de C = 3.66. Se compara con el valor de tablas χ2
con 10 − 0 − 1 = 9 grados de libertad y un nivel de 5 %, que es igual
a 16.90, y la comparación indica que los números generados siguen una
distribución uniforme entre 0 y 1.

3.2.4. Pruebas de independencia


Las pruebas de independencia consisten en demostrar que los números
generados son estadı́sticamente independientes entre sı́, esto es, que no
dependen uno de otro. Para esto se propone la siguiente hipótesis:

H0 : ui ∼ independiente
Hi : ui ∼ dependiente

Para realizar esta prueba de hipótesis existen varios métodos, puede se-
leccionarse cualquiera de la siguiente lista:
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 67

Prueba de poker.
Prueba de corridas arriba y abajo.
Prueba de corridas arriba y abajo de la media.
Prueba de la longitud de las corridas.
Prueba de distancia.
Prueba de series.
Prueba de huecos.

Los procedimientos para demostrar la independencia utilizando 3 de ellas


son los siguientes:

Prueba de poker
La prueba de poker permite verificar la independencia de un conjunto de
números en el intervalo (0,1) a partir de la aplicación de la prueba χ2 para
la cual se definen intervalos de acuerdo a los eventos que se presentan en
el juego de poker, para ello se definen las siguientes hipótesis, verificadas
en los siguientes pasos establecidos por la prueba.

H0 : ui ∼ independiente
Hi : ui ∼ dependiente

1. Calcular las probabilidades esperadas para un juego de poker con


5 cartas numeradas del 0 al 9 con remplazo, se tienen 7 eventos o
intervalos, con las siguientes probabilidades:

P (P achuca) = 0,3024
P (Un par) = 0,5040
P (Dos pares) = 0,1080
P (Una tercia) = 0,0720
P (F ull) = 0,0090
P (P óker) = 0,0045
P (Quintilla) = 0,0001
68 Pruebas Estadı́sticas

2. Cada evento define un intervalo en una tabla de frecuencia obser-


vada de m=7 intervalos, para cada intervalo obtener la frecuencia
observada (F Oi) tomando cada dı́gito decimal del número gener-
ado como la representación de una carta en el juego, luego, para
cada número aleatorio generado verificar (imaginando que es una
mano de poker) si es pachuca, un par, dos pares, etcétera, toman-
do los primeros cinco dı́gitos a la derecha del punto decimal. Por
ejemplo, 0.03408 es un par, 0.44343 es un full, 0.00321 dos pares,
etcétera. Con esos resultados se generan una tabla de frecuencias de
estos eventos. La frecuencia observada de cada uno de los eventos
se conoce como (F Oi).

3. Calcular la frecuencia esperada de cada uno de los eventos (F Ei )


multiplicando la probabilidad de cada evento por el número de
números aleatorios generados, luego:

F Ei = n ∗ P (Eventoi ) (3.10)

4. Calcular el estadı́stico C a partir de la expresión

m 
X 
(F Ei − F Oi)2
C= (3.11)
i=1
F Ei

5. Si el valor de C es menor o igual al estadı́stico de la tabla χ2 con


6 grados de libertad y una probabilidad de rechazo α, 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 %

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
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 69

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

Agrupando los números de acuerdo con sus dı́gitos, como si fuera una
mano de poker se obtiene la siguiente tabla de frecuencias:

Intervalo FO PE FE = (n * PE)
Pachuca 14 0.3024 9.072
Un par 15 0.5040 15.120
Dos pares 1 0.1080 3.240
Una tercia 1 0.0720 2.160
Full 0 0.0090 0.270
Poker 0 0.0045 0.135
Quintilla 0 0.0001 0.003

El cálculo de C utilizando de nuevo la ecuación 3.11, es igual a 4.25 que


comparado contra el valor de la tabla de la distribución χ2 con 7-1 = 6
grados de libertad, y con un nivel de rechazo del 5 %, que es igual a 12.59,
indica que los números generados son estadı́sticamente independientes.

Prueba de corridas
La prueba de corridas al igual que la prueba de poker permite verificar
la independencia de un conjunto de números en el intervalo (0,1), para
ello se definen las siguientes hipótesis, verificadas en los siguientes pasos
establecidos por la prueba.

H0 : ui ∼ independiente
Hi : ui ∼ dependiente

1. Clasificar cada número aleatorio respecto al anterior de acuerdo


con:

Si ui ≤ ui−1 se asocia un signo negativo al número ui.


Si ui ≥ ui−1 se asocia un signo positivo al número ui.
70 Pruebas Estadı́sticas

2. Calcular el número de corridas observadas h. Donde una corrida se


conforma por un conjunto de números aleatorios consecutivos del
mismo signo.

3. Calcular la media E(h) y varianza V (h) de las corridas de acuerdo


con:

2n − 1
E(h) = (3.12)
3

16n − 29
V (h) = (3.13)
90
Donde n es el número de datos generados.

4. Calcular el estadı́stico

|h − E(h)|
z= p (3.14)
V (h)
si el estadı́stico z es menor que el valor crı́tico de Zα/2 se acepta la
hipótesis de independencia.

Ejemplo. Determinar si la siguiente secuencia de 20 números puede ser


aceptada como independiente con un nivel de confianza del 95 % utilizan-
do la prueba de corridas.

0.43 0.28 0.33 0.27 0.12


0.31 0.42 0.01 0.32 0.45
0.98 0.79 0.99 0.55 0.67
0.74 0.16 0.20 0.12 0.58

De donde la secuencia de corridas es:


GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 71

- + – + + - + + + - +
- + + - + - +

Luego, contando los grupos de signos iguales se tiene que h = 14 corridas.

Calculando la media y varianza de las corridas se tiene que:

2n−1 (2∗30)−1
E(h) = 3
= 3
= 13
16n−29 (16∗30)−29
V (h) = 90
= 90
= 3,23

Obteniendo el valor del estadı́stico z como

z = |h−E(h)|
√ = |14−13|
√ = 0,55
V (h) 3,23)

verificando en la tabla de la distribución normal acumulada el valor para


Z0,025 = 1,96, luego, la independencia de este conjunto de números no
puede ser rechazada.

Prueba de series
La prueba de series, al igual que las pruebas de corridas y poker, permite
verificar la independencia de un conjunto de números en el intervalo (0,1),
para ello se definen las siguientes hipótesis, verificadas en los siguientes
pasos establecidos por la prueba.

H0 : ui ∼ independiente
Hi : ui ∼ dependiente

1. Crear un histograma de dos dimensiones con m intervalos, clasi-


ficando cada pareja de números consecutivos (ui, ui+1 ) dentro de
las casillas de dicho histograma de frecuencias. El número total de
pares ordenados en cada casilla formará la frecuencia observada:
(F Oi).
72 Pruebas Estadı́sticas

2. Calcular la frecuencia esperada en cada casilla (F Ei ) de acuerdo


con

num
F Ei = (3.15)
m
donde núm es el número total de parejas ordenadas.

3. Calcular el error C, con la ecuación

m 
X 
(F Ei − F Oi)2
C= (3.16)
i=1
F Ei

4. Si el valor de C es menor o igual al estadı́stico de la tabla de la


distribución χ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 (0.72484, 0.48999) (0.48999,


0.50502) (0.50502, 0.39528) ...............(0.98953, 0.73231)

La clasificación se realiza en una tabla de frecuencias de dos dimensiones


de 4 x 4, queda:
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 73

ui+1 1 3 2 1 2
0.75 1 1 1 3
0.5 1 3 3 1
0.25 2 2 1 2
0 0.25 0.5 0.75 1
ui

Tomando en cuenta que se tienen 29 parejas ordenadas clasificadas uni-


formemente en 16 casillas, la frecuencia esperada F Ei en cada una es
1.8125 y al calcular el error con la ecuación 3.16, para cada una de las
16 celdas o intervalos de la tabla anterior, se tiene

m h
P i 16 h
P i
(F Ei −F Oi )2 (1,8125−F Oi )2
C= F Ei
= 1,8125
=
i=1 i=1
1
1,8125
[7(1,8125 − 1)2 + 5(1,8125 − 2)2 + 4(1,8125 − 3)2 ] = 5,75

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 C = 5.75 con este valor, se acepta
la independencia de la secuencia de números.

3.3. Ejercicios
1. Genere números aleatorios entre 0 y 1 con los siguientes generadores
congruenciales y determine el ciclo de vida de cada uno.

a. Xi+1 = (40Xi + 13)mod3348 Semilla X0 = 302

b. Xi+1 = (71Xi + 57)mod341 Semilla X0 = 7l

c. Xi+1 = (71Xi + 517)mod111 Semilla X0 = 171

d. Xi+1 = (71561Xi + 56822117)mod341157 Semilla X0 = 31767

e. Xi+1 = (723Xi + 531)mod314 Semilla X0 = 927


74 Ejercicios

f. Xi+1 = (452ˆ + 37452)mod1231 Semilla X0 = 4571

g. Xi+1 = (17Xi )mod37 Semilla X0 = 51

h. Xi+1 = (16ˆ + 4)mod14 Semilla X0 = 22

2. Genere 50 números entre 0 y 1 de 4 dı́gitos, mediante un generador


de cuadrados medios cuya semilla sea

a. 4567234902

b. 3567345

c. 234500012

3. En un listado de 200 números entre 0 y 1, los primeros 3 números


son: 0.23222, 0.34179 y 0.76778, y los últimos 3 son: 0.56711,
0.33333 y 0.03482. Determine mediante la prueba de poker si los
200 números son independientes con un nivel de confianza del 95 %.

4. Determine con un nivel de confianza del 95 % y usando la prueba de


corridas que la siguiente lista de números es una muestra aleatoria.

0.234 0.456 0.678 0.789 0.982


0.123 0.345 0.456 0.479 0.895
0.907 0.002 0.345 0.789 0.897
0.951 0.234 0.380 0.404 0.678
0.800 0.963 0.255 0.607 0.045
0.783 0.405 0.899 0.277 0.341

5. Determine si los siguientes números son aleatorios mediante las


pruebas de corridas y series utilizando un nivel de confianza del
95 %.

0.88 0.53 0.42 0.39 0.80 0.54


0.53 0.28 0.34 0.50 0.90 0.80
0.82 0.01 0.91 0.15 0.79 0.16
0.10 0.35 0.02 0.21 0.05 0.10
GENERACIÓN DE NÚMEROS PSEUDOALEATORIOS 75

0.36 0.81 0.80 0.04 0.24 0.90


0.50 0.26 0.49 0.53 0.26 0.03
0.53 0.63 0.66 0.45 0.73 0.62
0.36 0.03 0.17 0.38 0.67 0.03
0.01 0.29 0.48

6. Realice la prueba de poker con un nivel de confianza del 90 % para


la lista de los 36 números siguientes:

0.4534 0.2311 0.7867 0.0145 0.3478 0.6777


0.3823 0.9210 0.9978 0.1237 0.0183 0.2366
0.5421 0.7789 0.1112 0.5682 0.7712 0.7887
0.4328 0.8994 0.9043 0.0013 0.5688 0.0927
0.6744 0.6726 0.8132 0.9495 0.4329 0.7654
0.9816 0.9876 0.8767 0.1211 0.3262 0.1151

7. Para el siguiente conjunto de números:

5, 8, 4, 7, 8, 2, 4, 4, 3, 5, 6, 7, 8, 4, 8, 7, 3, 4, 5, 6, 7, 2, 3, 4, 5 3, 5, 6, 1,
2, 3, 2, 5, 6, 7, 8, 7, 1, 5, 6, 7, 3, 4, 2, 0, 1, 0, 0, 2, 3

realice la prueba de medias con un nivel de confianza del 95 %, suponiendo


que siguen una distribución uniforme entre 0 y 8.

8. Haga las pruebas de uniformidad, poker y series con un nivel de


confianza del 90 % para la siguiente lista de 30 números:

0.45342 0.23111 0.78673 0.01454 0.34785 0.67776


0.38237 0.92108 0.99789 0.12370 0.54211 0.77892
0.11123 0.56824 0.77125 0.78876 0.43287 0.89948
0.90439 0.00130 0.67441 0.67262 0.81323 0.94954
0.43295 0.76546 0.98167 0.98768 0.87679 0.12110
76 Ejercicios
CAPÍTULO 4
MÉTODOS DE GENERACIÓN DE
VARIABLES ALEATORIAS

La reproducción de las fuentes de aleatoriedad en la simulación del com-


portamiento de un sistema exige la capacidad de generar muestras de
números aleatorios que correspondan adecuadamente a la distribución de
probabilidad que gobierna la componente particular de conducta aleato-
ria que se está simulando. El mecanismo generador de tales muestras ha
de ser capaz de producir variables aleatorias de cualquier tipo, continu-
Xas o discretas. El término ((generar una variable aleatoria)) se refiere a
la actividad de obtener una observación, o realización, de una variable
aleatoria a partir de la distribución especificada.

Como vamos a ver a continuación, el ingrediente básico para todo proce-


dimiento de generación de variables aleatorias a partir de cualquier dis-
tribución o proceso aleatorio, es una fuente de producción de variables
aleatorias independientes, idénticamente distribuidas según una distribu-
ción uniforme en el intervalo (0,1). Esto es consecuencia de un importante
resultado de la teorı́a de probabilidades en función del cual las mues-
tras de diferentes variables de una gran variedad de distribuciones, tanto
teóricas como empı́ricas pueden generarse a partir de muestras de vari-

77
Método de la transformada inversa para distribuciones
78 continuas

ables aleatorias independientes uniformemente distribuidas en el intervalo


(0,1).

Una vez aceptadas las pruebas de media, variancia, forma e independen-


cia sobre los números aleatorios entre 0 y 1, se puede hacer uso de esos
números para generar variables aleatorias con otro tipo de distribución.

Existen varios métodos para generar variables aleatorias:

Método de la transformada inversa.

Método de convolución.

Método de aceptación y rechazo.

Método directo.

4.1. Método de la transformada inversa para dis-


tribuciones continuas
Este método se utiliza cuando se desea simular variables de tipo continuo
como exponencial, Weibull, uniforme general, entre otras. El método
utiliza la distribución acumulada F (x) de la distribución de probabilidad
que se va a simular mediante integración. Ya que el rango de F (x) se
encuentra en el intervalo 0 a 1, puede generarse un número aleatorio
xi para determinar el valor de la variable aleatoria cuya distribución
acumulada es igual, precisamente, a ui. La figura 4.1 muestra en forma
gráfica la metodologı́a para una función cualquiera f (x) continua.

La dificultad de este método radica en que algunas veces es complicado


encontrar la transformada inversa.Sea X una variable aleatoria continua
con una función de probabilidad f (x), y una distribución:
Zx
F (x) = f (θ)dθ (4.1)
−∞
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 79

Figura 4.1: Método gráfico de la transformación inversa para distribu-


ciones continuas
f(x) F(x)
1/λ
ui

0 x 0 xi x

Considerando la variable aleatoria


Zx
ui = F (x) = f (θ)dθ (4.2)
−∞

Luego, por la teorı́a de probabilidad se sabe que la función de probabili-


dad de ui es:

ui = |J| f (x) (4.3)


∂x
donde |J| = ∂u
es el jacobiano de la transformación, y :
Zx
ui = F (x) = f (θ)dθ, 0 ≤ ui ≤ 1 (4.4)
−∞

en este caso |J| = [f (x)]−1 , y en consecuencia:

f (ui ) = 1 si 0 ≤ ui ≤ 1 (4.5)
f (ui ) = 0 en caso contrario (4.6)

que es la función de probabilidad de una variable aleatoria uniformemente


distribuida en (0, 1), por lo tanto, si ui = F (xi ), y F (x) es tal que existe
F −1 (ui ), entonces:

xi = F −1 (ui) (4.7)
Método de la transformada inversa para distribuciones
80 continuas

en consecuencia si ui está uniformemente distribuida en (0, 1), susti-


tuyendo ui en F −1 (ui ), se obtiene x distribuida según F (x).

4.1.1. Distribución exponencial


Se desea simular una variable aleatoria con distribución exponencial; la
función de densidad es

f (x) = λe−λx si x ≥ 0 (4.8)


La distribución acumulada de esta función de 0 a un valor x es:

F (x) = 1 − e−λx (4.9)


Igualando la función acumulada F(x) al número aleatorio ui y encontran-
do la transformada inversa (despejando x) se obtiene:

1
xi = − ln(1 − ui ) (4.10)
λ
Por lo tanto cada vez que en esta expresión sustituimos ui por un valor
en el intervalo (0, 1) correspondiente a una observación de la variable
aleatoria U, uniformemente distribuida en dicho intervalo, obtenemos el
valor x de una observación de la variable aleatoria exponencial X de
parámetro λ.

4.1.2. Distribución uniforme general (a, b)


Se desea simular números aleatorios con distribución uniforme entre a y
b; la función de densidad es

1
f (x) = si a ≤ x ≤ b (4.11)
b−a
La distribución acumulada de esta función de 0 a un valor x es:
x
F (x) = si a ≤ x ≤ b (4.12)
b−a
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 81

Igualando la acumulada de la función F (x) al número aleatorio ui y


encontrando la transformada inversa (despejando x) se obtiene:

xi = a + (b − a)ui (4.13)

4.2. Método de la transformada inversa para dis-


tribuciones discretas
Se utiliza cuando se desea simular variables aleatorias de tipo discreto,
como la distribución Bernoulli, binomial, Poisson, discreta general, entre
otras. El procedimiento es similar al continuo pero el valor de F (x) se en-
cuentra acumulando las probabilidades de los eventos individúales p(x).
También en este caso, F (x) está definida en el intervalo 0 a 1; se genera
un número aleatorio ui y se determina el valor de la variable aleatoria
cuya distribución acumulada es igual a ui . La figura 4.2 muestra en for-
ma gráfica el procedimiento anterior para una función cualquiera p(x)
discreta.

Figura 4.2: Método gráfico de la transformación inversa para distribu-


ciones discretas
p(x) F(x)
1

ui

0 1 2 ………... 12 x xi x

La dificultad de este método radica en que no existe una expresión final


sencilla, como en el caso de la continua.
Método de la transformada inversa para distribuciones
82 discretas

4.2.1. Metodologı́a
Paso 1

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

Paso 2

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

Paso 3

Generar un valor ui . Verificar en F (x) a qué intervalo de x pertenece y


ese será el número aleatorio generado por la distribución propuesta.

4.2.2. Distribución de Bernoulli


La distribución de Bernoulli es la mas sencilla y está definida como:

p(x) = px (1 − p)1−x para x = {0, 1} (4.14)


donde:

x = 0 (no ocurre el evento)


x = 1 (ocurre el evento)

Calculando las probabilidades de los dos eventos se tiene:

p(0) = (1 − p) y p(1) = p

la función acumulada es:

F (0) = (1 − p) y F (1) = 1

luego, se generan números aleatorios ui y:

Si el número ui se encuentra entre 0 y 1 − p, el número aleatorio


generado con distribución Bernoulli es 0.
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 83

Si el número ui se encuentra entre 1 − p y 1, el número aleatorio


generado con distribución Bernoulli es 1.

La misma metodologı́a puede emplearse para generar valores de una va-


riable con distribución Poisson o binomial, con la diferencia de que en el
cálculo de las probabilidades p(x) del paso 1 hay que utilizar la distribu-
ción de probabilidad respectiva.

Las dificultades para calcular analı́ticamente la función inversa de la vari-


able aleatoria X cuya muestra se pretende generar han llevado a desa-
rrollar variantes de este método o incluso métodos especı́ficos según las
caracterı́sticas de la variable. En los textos ya referenciados de Law y
Kelton [27], Bratley et al. [28] o Kleijnen [29, 30, 31] puede encontrarse
una variada colección de procedimientos que cubren la mayor parte de
las distribuciones de probabilidad habitualmente utilizadas en los estu-
dios de simulación. Con objeto de completar esta descripción vamos a
incluir únicamente dos de los más utilizados, el de las aproximaciones a
la función inversa y el de rechazo.

4.3. Método de rechazo


Cuando la función de distribución F (x) tiene una inversa que o bien
es costosa de calcular, o no se puede calcular analı́ticamente, podemos
recurrir a tabular una secuencia de pares (F (xi ), xi ) tales que xi < xi + 1

El siguiente algoritmo invierte la aproximación poligonal a F (x) que in-


terpola estos pares:

1. Encontrar Xi tal que F (Xi) ≤ U ≤ F (Xi + 1)

2. Calcular:

[F (Xi+1 ) − U] Xi − [U − F (Xi )] Xi+1


X= (4.15)
F (Xi+1 ) − F (Xi )
84 Método de rechazo

Este procedimiento puede considerarse como el simétrico del propuesto


en el apartado anterior para tratar con distribuciones empı́ricas.

Ahrens y Kohrt [32], citados en [28], proponen un procedimiento de in-


terpolación más exacto, pero mas complicado, basado en la integración
numérica de la función de probabilidad para obtener F:

1. Integrar numéricamente la función de probabilidad f(x) para obte-


ner F.

2. Decidir como efectuar una partición de (0,1), el dominio de F-1, en


intervalos de longitud desigual basados en las caracterı́sticas de la
función F.

3. Determinar la forma y los coeficientes de la función de interpolación


para cada uno de los subintervalos.

A pesar del coste computacional los resultados numéricos indican que


este método es uno de los mejores.

El método de la transformada inversa requiere el conocimiento explı́cito


o aproximado de la función de distribución F (x), sin embargo en muchas
situaciones disponemos de la función de probabilidad f (x) pero no de
la función de distribución. Un ejemplo tı́pico es el caso de la ley normal
para el que no se conoce ninguna expresión analı́tica para la función de
distribución. El método de rechazo, propuesto por von Neumann [33]
puede utilizarse cuando solo conocemos la función de probabilidad f (x).
El método requiere que la función de probabilidad f (x) esté acotada y
no nula en un intervalo finito [a,b]. Definimos:

C = máx {f (x) : a ≤ x ≤ b} (4.16)


Entonces:

1. Generar X uniformemente distribuida en (a, b);

2. Generar Y uniformemente distribuida en (0, c);


MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 85

3. Si Y ≤ f (X), entonces aceptar X, en caso contrario rechazarla y


repetir

La Figura 4.3 ilustra geométricamente la operatividad del método de


rechazo. Los valores X e Y representan las coordenadas de un punto del
rectángulo de lados c y b-a. Si el punto queda por debajo de f(X), es
decir pertenece al área encerrada por la curva f(x) y el intervalo (a,b),
entonces se acepta el valor de X, en caso contrario se rechaza.

Figura 4.3: Generación de muestras de la variable aleatoria X, con


función de probabilidad f (x) por el método de rechazo simple

El método de rechazo es uno de los procedimientos básicos del conjun-


to de procedimientos conocidos como Métodos de Monte Carlo [24], que
combina propiedades de la integración de funciones con la generación de
muestras de variables aleatorias uniformemente distribuidas para calcu-
lar integrales numéricamente. Ası́, por ejemplo, dada una función f (x)
acotada, definida en el intervalo [a, b] geométricamente la integral de f (x)
en [a, b] es igual al área A1 encerrada por la función y el segmento [a, b]
tal como indica la Figura 4.4:

Zb
A1 = f (x)dx (4.17)
a
86 Método de rechazo

Si la función alcanza su máximo en el punto cÎ[a,b] los puntos en el


interior del rectángulo de lados [0, c] y [a, b] se pueden interpretar como
una distribución uniforme bivariante. Generar valores Xi uniformemente
distribuidos en [a, b] y Yi uniformemente distribuidos en [0, c] equivale a
generar muestras de tal distribución bivariante, de manera que cada par
(Xi , Yi ) representa las coordenadas de un punto perteneciente a dicho
rectángulo, la probabilidad de que uno de dichos puntos pertenezca al
área A1 , viene dada por:

A1
p= ⇒ A1 = Ap (4.18)
A
donde A es el área del rectángulo. En consecuencia todo procedimiento
de estimación de p se convierte en un procedimiento de estimación de A1
puesto que A es conocida.

Figura 4.4: Cálculo de una integral por el método de rechazo

Dado (Xi , Yi), si f (Xi ) ≥ Yi ⇒ (Xi , Yi ) ∈ A1 , en caso contrario, (Xi , Yi ) ∈


A2 . Si generamos una muestra con un total de n puntos, se puede estimar
p a partir del conteo del número de puntos m que pertenecen a A1 , la
estimación viene dada por:
m
pb = (4.19)
n
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 87

Haciendo un cambio de escala de manera que A1 + A = A = 1, la


estimación de A1 , y por tanto del valor de la integral, y su error estándar,
vienen dados por:
s
b b
Ab1 = pb; σ b = A1 (1 − A1 ) (4.20)
A1
n−1
Los métodos de Monte Carlo admiten gran cantidad de variantes y están
consolidados como procedimiento de integración numérica, especialmente
en casos de gran dificultad como los que se presentan en muchos proble-
mas de fı́sica e ingenierı́a, en particular cuando se trata de funciones reales
no integrables analı́ticamente y, sobre todo, para integrales múltiples, ya
que para las simples se dispone en estos momentos de procedimientos
numéricos muy poderosos. Los métodos de Monte Carlo pueden conside-
rarse como procedimientos que utilizan la generación de números aleato-
rios, especialmente los uniformemente distribuidos en el intervalo (0,1)
para resolver problemas estocásticos o deterministas de tipo estático. En
el caso de las integrales, además de los argumentos anteriores podemos
considerar que si:

Zb
A= f (x)dx (4.21)
a
es la integral de una función real f(x) no integrable analı́ticamente, su
cálculo, que es un problema determinista, puede aproximarse por medio
de los métodos de Monte Carlo de la manera siguiente:
Sea Y la variable aleatoria (b−a)f (X), donde X es una variable aleatoria
continua uniformemente distribuida en el intervalo [a, b]. El valor espe-
rado de Y es:

E(Y ) = E [(b − a)f (x)] = (b − a)E [f (x)] =


Rb
Zb f (x)dx
a
(b − a) f (x)θ(x)dx = (b − a) = A (4.22)
(b − a)
a
88 Método de rechazo

1
donde θ(x) = (b−a) es la función de probabilidad de X. Esto permite
reducir el problema de evaluación de la integral al de estimar el valor
esperado E(Y ), para lo cual podemos utilizar la media muestral:
n n
b 1X 1X
A = Y (n) = Yi = (b − a) f (Xi ) (4.23)
n i=1 n i=1

siendo X1 , X2 , ...., Xn variables aleatorias independientes idénticamente


distribuidas con una distribución uniforme en (a, b). Fijandose en que
esto es equivalente a estimar el área de un rectángulo de base (b − a) y
altura A/(b−a), que era la interpretación intuitiva que dada al principio.

Otra variante de integración basada en este caso es otra propiedad de


la integral definida, la del teorema de la media, variante conocida con el
nombre de ((Crude Monte Carlo))

El primer teorema de la media para el cálculo integral [35] establece que:

Zb
f (x)dx = (b − a)f (ξ), ξ ∈ [a, b] (4.24)
a

Geométricamente significa que A3 = A1 , es decir que el área del rectángu-


lo de lados f (ξ) y [a, b] es igual al área encerrada por la curva f (x) y el
intervalo [a, b] para algún punto interior ξ del intervalo, como ilustra la
Figura 4.5:
De nuevo un cambio de escala tal que A = 1 permite que toda estimación
de f (ξ) se convierta en una estimación de A3 . En este caso, si Xi es una
observación de la variable aleatoria X uniformemente distribuida en el
intervalo [a, b] a partir de una muestra de n valores de Xi una estimación
de f (ξ) es:
n
1X
fd
(ξ) = f (Xi ) (4.25)
n i=1

Con error estándar:


MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 89

Figura 4.5: Crude de Monte Carlo

v
uP
u n 2 b1 )2
u [f (Xi )] − n(A
t i=1
σAb1 = (4.26)
n(n − 1)
Para terminar con la generación de muestras de variables aleatorias con-
tinuas con la presentación de métodos ad-hoc para variables aleatorias
con funciones de probabilidad a las que no se puede aplicar alguno de
los métodos discutidos, como el de la transformada inversa, y los que se
pueden aplicar pueden tener un elevado coste computacional. El ejemplo
arquetı́pico es el de las variables aleatorias que siguen la ley normal:
1 1 2
f (x) = √ e− 2 x si −∞ <x< ∞ (4.27)

de media cero y varianza 1, denotada habitualmente como X˜N(0, 1),
cuya función de distribución no puede representarse analı́ticamente por lo
que habitualmente se representa en forma tabular que se calcula numéri-
camente.

Ilustraremos este caso con un procedimiento sencillo, basado en el teore-


ma del lı́mite central, que aunque actualmente ha caı́do en desuso pone
90 Método de rechazo

de manifiesto el tipo de razonamiento que sustenta estos métodos. Sea


X1 , X2 , ...., Xn , una secuencia de n variables aleatorias independientes e
idénticamente distribuidas de media µx , y varianza σx2 < ∞, si la media
muestral es:
n
1X
Xn = Xi (4.28)
n i=1
Entonces la variable:

x − µx
y= √ (4.29)
σx / n

tiene una distribución que converge a la distribución normal estándar. En


la práctica esto significa que cuando n es grande, la diferencia entre y y la
variable aleatoria normal estándar es despreciable. En consecuencia para
generar una muestra de una distribución normal estándar podemos uti-
lizar n números aleatorios ui independientes uniformemente distribuidos
en (0,1) y formar la variable aleatoria:
P
n
ui − n2
z = i=1
p (4.30)
n/12
Puesto que toda transformación lineal de una variable normalmente dis-
tribuida produce una variable que también está normalmente distribuida,
si se tiene que generar una variable normalmente distribuida de media µ
y varianza σ 2 , a partir de z se puede hacer:

x = σ2 z + µ (4.31)
Un método más exacto que el acabado de exponer, es de Box y Muller que
utiliza dos variables independientes u1 y u2 para producir dos variables
normales estándar independientes x1 y x2 :

p
x1 = cos(2πu2) −2 ln(u1 ) (4.32)
p
x2 = cos(2πu1) −2 ln(u2 ) (4.33)
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 91

Los métodos generales, como el de la transformada inversa, y otros,


pueden adaptarse a las distribuciones discretas. Ası́ por ejemplo, para
la variable aleatoria geométrica, cuya función de probabilidad es:

f (x) = p(1 − p)x−1 para


0 < p < 1, x = {1, 2, 3, ...} (4.34)

con función de distribución:

x
X
y = F (x) = p(1 − p)i−1 = 1 − (1 − p)x
i=1
para 0 < p < 1, x = {1, 2, 3, ...} (4.35)

de la relación y = 1 − (1 − p)x se deduce que

ln(1 − y)
ln(1 − y) = x ln(1 − p) ⇒ x = (4.36)
ln(1 − p)

y como x tiene que ser entero, se elige el entero k que satisface la relación:

ln(1 − y) ln(1 − y)
<k <1+ (4.37)
ln(1 − p) ln(1 − p)

en consecuencia, generando una secuencia de números aleatorios inde-


pendientes y uniformemente distribuidos en (0, 1), la relación anterior
permite generar una secuencia ki que estará distribuida geométricamente
con parámetro p. Una adaptación similar puede hacerse en el caso de la
ley de Poisson:

λx e−λ
f (x) = para λ ≥ 0, x = {0, 1, 2, 3, ...} (4.38)
x!
cuya función de distribución es:
92 Otros métodos estadı́sticos

x
X  
λi e−λ −λ λ2 λ3 λx
y = F (x) = =e 1+λ+ + + ... +
i=1
i! 2! 3! x!
para λ ≥ 0, x = {0, 1, 2, 3, ...} (4.39)

la adaptación del método de la transformada inversa implica en este caso


encontrar el menor entero x tal que:

λ2 λ3 λx
1+λ+ + + ... + ≥ yeλ (4.40)
2! 3! x!

4.4. Otros métodos estadı́sticos


En ocasiones no es posible aplicar el método de la transformada inversa
a distribuciones de probabilidad, debido principalmente a que algunas de
ellas no tienen forma de integrarse, como el caso de la distribución normal,
gamma, entre otras. En tal caso se requiere la aplicación de algunas
propiedades estadı́sticas como el teorema de lı́mite central o la propiedad
de convolución, que permiten generar una distribución mediante la suma
de distribuciones más sencillas, mediante la transformada z, entre otras.
Estos son procedimientos especiales para lograr expresiones matemáticas
que generen las variables aleatorias deseadas.

A continuación se presentan algunas de las expresiones más utilizadas en


la simulación de sistemas para generar variables aleatorias.

4.5. Resumen para distribuciones continuas


Se presentan ahora las expresiones finales para generar variables aleato-
rias con las distribuciones de probabilidad más usuales.

4.5.1. Distribución uniforme general


Obtenida a partir del método de la transformada inversa.
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 93

xi = a + (b − a)ui (4.41)
donde:
a = Lı́mite inferior de la distribución uniforme.
b = Lı́mite superior de la distribución uniforme.
xi = Número aleatorio con distribución uniforme entre a y b.
ui = Número aleatorio con distribución uniforme entre 0 y 1.

4.5.2. Distribución exponencial


Obtenida a partir del método de la transformada inversa.

1
xi = − ln(1 − ui ) (4.42)
λ
donde:
1
λ
=Media de la distribución exponencial.
xi = Número aleatorio con distribución exponencial.

4.5.3. Dsitribución Normal


Obtenida a partir del método de convolución
12
!
X
zi = ui − 6 σ + µ (4.43)
i=1

o bien mediante el método directo

h p i
zi = cos(2πui+1 ) −2 ln(1 − ui ) σ + µ (4.44)
h p i
zi = sen(2πui+1) −2 ln(1 − ui) σ + µ (4.45)

donde:
94 Resumen para distribuciones continuas

µ =Media de la distribución normal.


σ = Desviación estándar de la distribución normal.
zi = Número aleatorio con distribución normal.

4.5.4. Distribución Erlang


Obtenida a partir del método de convolución

1 k
xi = − ln( Π ui ) (4.46)
kλ i=1
donde:
1
λ
=Valor esperado.
k = Parámetro de forma.
xi = Número aleatorio con distribución erlang.

4.5.5. Distribución Weibull


Obtenida a partir del método de transformada inversa
p
α
xi = γ + β − ln(1 − ui ) (4.47)
donde:
α =Parámetro de forma.
β = Parámetro de escala.
γ = Parámetro de localización
xi = Número aleatorio con distribución weibull.

4.5.6. Distribución Gamma


Obtenida a partir del método de convolución

1 k
xi = − ln( Π ui ) (4.48)
kλ i=1
donde:
1
λ
=Valor esperado.
k = Parámetro de forma.
xi = Número aleatorio con distribución gamma.
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 95

4.5.7. Distribución χ2
Obtenida a partir del método de convolución
Xn
xi = zj2 (4.49)
j=1

donde:
zj =Números aleatorios con distribución normal estándar.
n = Grados de libertad.
xi = Número aleatorio con distribución χ2 .

4.6. Resumen para distribuciones discretas


Se presentan ahora las expresiones finales para generar variables aleato-
rias con las distribuciones de probabilidad más usuales.

4.6.1. Distribución bernoulli


Obtenida a partir del método de la transformada inversa.

si 0 ≤ ui ≤ 1 − p xi = 0 (4.50)
si 1 − p ≤ ui ≤ 1 xi = 1 (4.51)
donde:
p = Probabilidad de ocurrencia del evento x = 1.
1 − p = Probabilidad de ocurrencia del evento x = 0.
xi = Número aleatorio con distribución bernoulli.
ui = Número aleatorio con distribución uniforme entre 0 y 1.

4.6.2. Distribución binomial


Obtenida a partir del método de concolución.
n
X
xi = Bj (4.52)
j=1
96 Resumen para distribuciones discretas

donde:
p = Probabilidad de exito de la distribución binomial que se involucra al
generar los bernoulli.
N = Número del evento máximo de la distribución binomial.
xi = Número aleatorio con distribución binomial.
Bj = Número aleatorio con distribución bernoulli.

4.6.3. Distribución Poisson


Obtenida a partir de la propiedad que mantiene con la distribución
exponencial.

Paso 1

Hacer N=0, T= 1 y obtener el primer ui

Paso 2

Calcular T= T* ui

Paso 3

Si la T calculada es mayor que e−α calcular otro ui y regresar al paso 2,


incrementando N en 1.

Si la T calculada es menor que e−α entonces Pi = N. donde:


ui = media de la distribución Poisson.
Pi = número aleatorio con distribución Poisson
N = contador.
T = contador.

Ejemplo. A partir de un generador de números aleatorios uniformes


entre 0 y 1 se obtuvieron los valores 0.7814 y 0.5643. A partir de ellos
simular:

a) Una variable aleatoria con distribución uniforme entre 15 y 19.


MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 97

Ui = (19 − 15) ∗ ui + 15 = (4 ∗ 0,7814) + 15 = 18,1256


1
b) Una variable aleatoria con distribución exponencial con media λ
= 5.
xi = −5ln(l − ui) = −51n(1 − 0,7814) = 7,601

c) Una variable aleatoria con distribución Bernoulli con p = 0,25. Como


ui = 0,7814 se encuentra entre 0.25 y 1, entonces: xi = 0

d) Una variable aleatoria con distribución normal con media 10 y


variancia 4.

zi = [[−2 ln ui]1/2 sen(2πui+1 )] ∗ 2 + 10


zi = [[−2 ln 0,7814]1/2 sen(2π0,5643)] ∗ 2 + 10 = 9,4477

4.7. Ejercicios
1. Genere 100 números aleatorios uniformes entre 0 y 25 a partir de
la siguiente expresión:

xi+1 = (73 ∗ . + 851)mod17561 x0 = 329

a.) Calcule el valor esperado y la variancia de los números generados.

b.) Obtenga el histograma.

2. Genere números aleatorios exponenciales con media 10 min a partir


de los siguientes números aleatorios uniformes entre 0 y 1:

0.45721, 0.67213 y 0.96918.

3. Genere 100 números aleatorios con la siguiente distribución:

f (x) = 41 (x + 1)3 si −1≤x≤1

calcular media, varianza e histograma.


98 Ejercicios

4. El tiempo de proceso de un paquete de información sigue la función


de probabilidad
 x
100
si 0 ≤ x ≤ 10
f (x) = 20−x
100
si 10 ≤ x ≤ 20

Simule el tiempo de proceso de 100 paquete y calcule media, variancia e


histograma.

5. Genere 100 números aleatorios utilizando el generador RAND( )


del EXCEL para las siguientes distribuciones de probabilidad:

a.) Normal(µ, = 10, σ = 4)

b.) Weibull(γ = 100, β = 20, α = 2)

c.) Exponencial (λ = 15)

d.) Triangular (a = 10, b = 15, c = 18)

e.) Erlang(λ = 10, k = 3)

Calcule en cada caso, la media, la variancia y el histograma y deter-


mine con un nivel de aceptación del 95 % si los números generados son
adecuados.

6. Genere 100 números con la siguiente distribución:

f (x) = 51 ( 45 )x−1 si x = {1, 2, 3, ...}

Calcule el valor esperado, la variancia y el histograma.

7. El número de paquetes erroneos dentro de tramas de tamaño 1000


que envı́a cierto usuario de una red sigue una distribución de prob-
abilidad cuya función de densidad está dada por:
1 1 x−1
( )
f (x) = 2 2
1−( 12 )20
si x = {1, 2, 3, ..., 20}
MÉTODOS DE GENERACIÓN DE VARIABLES
ALEATORIAS 99

Simule los valores de la variable para 50 paquetes consecutivos.

8. ¿Cuál serı́a la expresión final para generar números aleatorios uni-


formes entre 7 y 16 a partir de un generador de números aleatorios
exponenciales con media igual a 11?
100 Ejercicios
CAPÍTULO 5
VERIFICACIÓN Y VALIDACIÓN
DE RESULTDOS

5.1. 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 esos 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 periodo 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 periodo 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

101
102 Cálculo del número óptimo de simulaciones

si la duración del periodo 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 periodo 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 graneando 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 está utilizando y de
las condiciones iniciales con que inició la simulación del sistema.

En forma general, para calcular el número de simulaciones óptimo se


tiene la expresión:

σ 2 (zα/2 )2
n= (5.1)
k2
donde:
z = estadı́stico normal estándar para cierta a.
k = desviación absoluta máxima permitida sobre la media de la distribu-
ción a simular.
σ 2 = variancia de la distribución a simular.

Cuando la media y la variancia de la distribución a simular se obtuvieron


de una población n1 de 30 o menos elementos, entonces, el cálculo óptimo
de las simulaciones se modifica de acuerdo con la siguiente ecuación:

s2 (tn1 −1,α/2 )2
n= (5.2)
k2
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 103

donde:
t = estadı́stico de la distribución t student.
k = desviación absoluta máxima permitida sobre la media de la distribu-
ción a simular.
s2 = 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 n1 . A esta corrida pequeña
se le conoce como prueba piloto, y su función es calcular n en función de
la distribución general y del generador utilizado en la prueba piloto.

Pueden usarse ambas fórmulas siempre y cuando la información de donde


se obtienen los estimadores sigan, estadı́sticamente, una distribución nor-
mal. En caso de que los datos analizados sigan otra distribución se debe
usar uso del teorema de Tchebycheff de tal suerte que el cálculo se ve
reducido a:

m2
n= (5.3)
α
donde:
α = Probabilidad de error permitida.
1
m
= 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, en modelos 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 una fuente de información, de tal forma que el promedio
diario simulado de paquetes no difiera más de ±0,166σ de su valor real,
con una confiabilidad del 95 %.

Si se supone o se sabe que el número de paquetes erroneo sigue una


distribución normal, entonces el número de simulaciones óptimo es:
104 Cálculo del número de réplicas

σ2 (zα/2 )2
n= k2

donde:
z = 1.96 para una confiabilidad del 95 %.
k = 0,166σ

Sustituyendo la información se tiene:

n = 138,29.

Ahora bien, si no se tiene idea de la distribución de probabilidad de los


paquetes generados o de que siga otro tipo de distribución, se utiliza la
expresión:
m2 62
n= α
= 0,05
= 720

Este cálculo del número de simulaciones óptimo, es un cálculo a priori,


sin embargo, no 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.

5.2. 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 (auto-
correlacionadas). Para obtener resultados independientes hay que repetir
V 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 in-
tervalo de confianza de acuerdo con el siguiente procedimiento.
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 105

Calcular la media y variancia de las observaciones para cada réplica in-


dividual con las fórmulas:
n
1X
xj = xij (5.4)
n i=1
n
1 X
s2j = (xij − xj )2 (5.5)
n − 1 i=1
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
1X
x= xj (5.6)
r j=1
n
1 X
s2 = (xj − x)2 (5.7)
r − 1 i=1
Debido a la naturaleza probabilistica de los resultados, es indispensable
que para cada variable de respuesta se calcule el intervalo de confianza
de acuerdo con:
 
s
Icx = x ± √ tr−1,α/2 (5.8)
r

5.3. Reducción de la 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
106 Reducción de la varianza

la varianza, fijando condiciones a partir de los datos históricos. Para que


el resultado de una simulación sea estadı́sticamente precisa y libre de
tendencias, se debe especificar perfectamente la longitud de cada corrida,
el número de réplicas y el periodo de estabilización.

Ejemplo. Una pequeña red consta de un centro de enrutamiento y con-


mutadores de inspección de tramas. Las tramas por procesar arriban al
router a un ritmo de 1 por minuto. Los tiempos de procesamiento en
el router e inspecciones subsecuentes son aleatorios con medias respec-
tivas de 0.675 y 0.775 minutos; 90 % de las tramas inspeccionadas son
”buenas se envı́an al usuario de destino; el resto son ”malas se envian
2 2

a centros de procesamiento y control de errores. El router está sujeto a


descomposturas de ocurrencia aleatoria y la red está inicial-mente vacı́a y
desocupada. La tabla siguiente muestra los estimados de las medidas 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 red.

Corrida Salidas Tiempo de tránsito Prom. de


tramas
en inspección
1 797 7.41 11
2 734 3.12 11
3 741 4.24 17
4 772 5.85 14
5 769 7.75 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 reduc-


ció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
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 107

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.

5.3.1. 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 ui para obtener un estimador Y1 del parámetro
estudiado y después, con números 1 − ui, obteniendo un estimador Y2 del
parámetro estudiado

5.3.2. Corridas comunes


Una práctica útil cuando se desarrolla un proceso de simulación, es em-
plear datos históricos, los cuales pueden ser archivados y utilizados pos-
teriormente para definir, por ejemplo, los programas de producción de
años anteriores. El objetivo principal es iniciar nuevas corridas de sim-
ulació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.

5.3.3. Muestreo clasificado


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

5.3.4. 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
108 Reducción de la varianza

colas donde interese conocer la longitud promedio de la fila, cuyo valor


puede estimarse analı́ticamente.

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

5.3.6. 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 resul-
tados obtenidos presentarán también una distorsión que debe corregirse
mediante factores probabilı́sticos de ajuste.

A contimuación se describen algunos de ellos:

5.3.7. Variables Antitéticas


De forma general, la técnica de variables antitéticas se basa en encon-
trar dos estimadores insesgados del parámetro desconocido, en este caso
el valor de la función de prueba, F , que posean una fuerte correlación
negativa.

Si F1 y F2 son dos valores de la función de prueba para dos muestras


aleatorias, entonces un estimador insesgado de F está definido por G,
correspondiente a la media aritmética entre F1 y F2 , como se muestra en
la Ecuación 5.9.

F1 + F2
G= (5.9)
2
Además, la varianza del nuevo estimador está dada por la Ecuación 5.10.
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 109

1 1 1
σ 2 (G) = σ 2 (F1 ) + σ 2 (F2 ) + Cov(F1 , F2 ) (5.10)
4 4 2

De esta forma, si F1 y F2 son dos variables independientes e idénticamente


distribuidas (IID), entonces se cumple que la varianza de G es la mitad
de la varianza de F , como indica la Ecuación 5.11.

1
σ 2 (G) = σ 2 (F ) (5.11)
2
Hasta este punto, no se ha logrado una mayor reducción de varianza, ya
que para el estimador G, si bien tiene una varianza igual a la mitad de
la varianza de F , su cálculo implica considerar el doble de muestras. Sin
embargo, es posible reducir el valor de la varianza de G si se logra una
covarianza negativa entre los estimadores F1 y F2 , es decir, el término
Cov(F1 , F2 ) en la Ecuación 5.10 debe ser menor que cero.

En particular, en el caso que F sea una función de números aleatorios


uniformemente distribuidos entre cero y uno e IID, tal que F = f (U)
donde U = (U1 , . . . , Um ) y los números Ui son IID, también uniforme-
mente entre cero y uno, el algoritmo tı́pico de Monte Carlo, suponiendo
una muestra de tamaño 2n, involucra los siguientes pasos:

Generar los valores Ui y calcular Fi = f (Ui )

Calcular el valor del estimador G2n = F2n , donde F2n es el prome-


dio de los valores Fi (Ecuación 5.12).

2n
1X
F2n = Fi (5.12)
2n i=1

Calcular la varianza del estimador G2n , definida por la Ecuación


2.16.
110 Reducción de la varianza

X 2n
2 1
σ (G2n ) = (Fi − F2n )2 (5.13)
(2n − 1) i=1
Sin embargo, en el algoritmo anterior, es posible utilizar los valores de
(1 − Ui ) para generar las muestras de F , debido a que si la variable
aleatoria Ui se distribuye uniformemente entre cero y uno, entonces la
variable aleatoria (1 − Ui ) también lo hace. Esta propiedad puede usarse
para definir otro estimador de F , como se explica en el párrafo siguientes.

De la misma forma que en el algoritmo anterior, se define Fi = f (Ui ), sin


embargo, también se define F̃i = f (1 − Ui ).Cabe hacer notar que tanto
E(Fi ) como E(F̃i ) son estimadores insesgados de F . En particular, si
se define el estimador G tal que cumpla con la Ecuación 5.14, entonces
E(G) también es un estimador insesgado de F .

Fi + F̃i
G= (5.14)
2
A las variables Ui y (1−Ui ) se les da el nombre de “variables antitéticas”.

5.3.8. Variables de Control


La idea fundamental detrás del método de variables de control, también
denominado como “regresión generalizada”, es la de encontrar una fun-
ción G que reemplace a la función de prueba, F , tal que su esperanza sea
igual, pero que su varianza sea menor.

Para esto, se construye la función G utilizando, además de F , una variable


aleatoria, Z, resultante de la misma simulación de Monte Carlo, pero cuyo
valor esperado se supone conocido. La formulación de G se presenta en
la Ecuación 5.15.

G = F + c(Z − E(Z)) (5.15)


En donde c es una constante real cualquiera, que se debe determinar de
forma de minimizar el valor de la varianza de G. De la Ecuación 5.15 se
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 111

deduce que E(G) = E(F ), ya que, por propiedades del valor esperado,
se cumple que:

E(G) = E(F ) + E(c(Z − E(Z))) (5.16)


E(G) = E(F ) + E(cZ) − E(E(Z)) (5.17)
E(G) = E(F ) + E(cZ) − E(Z) (5.18)
En cuanto a la varianza de G, ésta queda expresada por la Ecuación 5.19.

σ 2 (G) = σ 2 (F ) + c2 σ 2 (Z) + 2cCov(F, Z) (5.19)


De modo de minimizar la varianza de G, se puede escoger el valor de la
constante c tal como indica la Ecuación 2.21.

Cov(F, Z)
c∗ = (5.20)
σ 2 (Z)
Sustituyendo c en la Ecuación 5.19 por el valor de c∗ , se tiene que la
varianza de G queda definida como:

Cov(F, Z)2
σ 2 (G) = σ 2 (F ) − (5.21)
σ 2 (Z)
De la Ecuación 5.21 se infiere que para que la varianza de G sea menor
que la varianza de F , se necesita definir la variable aleatoria Z tal que la
covarianza entre F y Z sea distinta de cero.
Cabe señalar que, en caso de que la varianza de Z o la covarianza entre
F y Z sean valores desconocidos a priori, se pueden utilizar estimaciones
de estos obtenidas a partir de un número p de corridas piloto de la simu-
lación, como se presenta en las ecuaciones 5.22 y 5.23.
P
p
(Zi − E(Z))2
σd
2 (G) = i=1
(5.22)
p−1
P
p
(Fi − Fp )(Zi − E(Z))
i=1
Cov(F̂ , Z) = (5.23)
p−1
112 Reducción de la varianza

5.3.9. Muestreo por Importancia de Estados


La idea que subyace a esta metodologı́a es la de modificar la función de
probabilidades de x y, por lo tanto, la de F (x), con el objeto de mantener
su valor esperado, pero disminuyendo su varianza.

En otras palabras, considerando la definición de valor esperado de la


Ecuación 5.24, debe encontrarse una distribución de probabilidades P ∗ (x)
y, por lo tanto, una nueva función de prueba F ∗ (x).
X
E(F ) = F (x)P (x) (5.24)
x∈X

La nueva función de prueba, F ∗ (x), puede definirse en términos de la


nueva función de probabilidades P ∗ (x), como se muestra en la Ecuación
5.25.

F (x)P (x)
F ∗ (x) = (5.25)
P ∗ (x)
Evidentemente, ası́ definida la nueva función de prueba, el valor esperado
de ésta es igual al valor esperado de la función de prueba original, ya que
se cumple:

X
E(F ∗ ) = F ∗ (x)P ∗ (x) (5.26)
x∈X
X F ∗ (x)P (x)
E(F ∗ ) = P ∗ (x) (5.27)
x∈X
P ∗(x)
X
E(F ∗ ) = F (x)P (x) = E(F ) (5.28)
x∈X

A su vez, la varianza de la nueva función de prueba queda determinada


por la Ecuación 5.29.
X
σ 2 (F ∗ ) = P ∗ (x)(F ∗ (x) − E(F ∗ ))2 (5.29)
x∈X
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 113

Considerando, además, que los valores esperados de ambas funciones de


prueba son iguales, la Ecuación 5.29 puede reformularse como:
X
σ 2 (F ∗ ) = P ∗ (x)(F ∗ (x) − E(F ))2 (5.30)
x∈X

Por lo tanto, el problema queda acotado a definir la nueva función de


prueba, lo que es equivalente a definir la nueva función de probabili-
dades. Esta función de probabilidades, para cumplir con las condiciones
de valores esperados y varianza, debe cumplir con la Ecuación 5.31.

F (x)P (x)
P ∗ (x) = (5.31)
E(F )
De esta forma, según expresa la Ecuación 5.31, la nueva función de pro-
babilidades considera la participación relativa de F (x) sobre E(F ) y, por
lo tanto, el muestreo favorece el sorteo de los estados más importantes.

5.4. 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 inferencias 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.
114 Validación de resultados

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 cor-
rectas 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, gen-
eralmente, a través de un proceso comparativo entre ambas partes
y usa las diferencias para lograr el objetivo.

En el proceso de validación usualmente se emplean las pruebas estadı́sti-


cas siguientes:

a.) Prueba de estimaciones de los parámetros de la población asum-


iendo 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 red FATSA en cuanto a la producción


de paquetes por minuto, de acuerdo con los datos de los últimos 8 minutos
es la siguiente: 115, 105, 97, 96, 108, 104, 99 y 107. El modelo creado para
la simulación de la red arroja los siguientes 10 resultados de producción
de paquetes por minuto: 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:

H0 : V (modelo) = V (real)
H1 : V (modelo) 6= V (real)
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 115

V (real) = 40,57
V (modelo) = 36,96

F c de tablas con 8 y 10 grados de libertad y con un nivel de rechazo


de un 5 % es 3.07. Ya que F0 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


H0 : µ(modelo) = µ(real)
H1 : µ(modelo) 6= µ(real)
E(modelo) = 104,90
E(real) = 103,87

El estadı́stico a utilizar es el correspondiente a variancias iguales y pobla-


cionalmente desconocidas y con media poblacional desconocida, puesto
que solamente se tienen los datos de dos muestras.

x1 − x2
t = q q (5.32)
n1 σ12 +n2 σ22 1 1
n1 +n2 n1
+ n2
104,9 − 103,87
t = q q (5.33)
8(40,57)+10(36,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.746.
Ya que t es menor que tc, se acepta que los resultados en cuanto a la
producción de paquetes por minuto 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 afir-
mar nada ya que la cantidad pequeña de datos que se está manejando
imposibilita la formación de histogramas para realizarla.
116 Ejercicios

5.5. Ejercicios
1. Después de ejecutar una réplica de simulación con 325 corridas,
los resultados de la variable de salida son: E(t)= 9560 y V(t)=
54. Tomando en cuenta un error de un 5 %, ¿cuál es la exactitud
lograda en esta réplica ?

2. Calcule el número de simulaciones óptimo para que el estimado no


difiera más de ±(α/9) de la media con un nivel de confianza del
78 %.

3. ¿Cuál es el número de simulaciones óptimo para que a un nivel de


confianza del 95 %, el valor simulado no difiera del valor real en
más de ±(α/3)?

4. Sin utilizar el teorema de Tchebycheff, encuentre el número de cor-


ridas óptimo si se desea que la media a estimar no difiera de la
verdadera en más de ±(α/8) con un nivel de confianza del 95 %.

5. Determine un intervalo de confianza al 90 % de los errores en pa-


quetes. Se realizaron 6 réplicas de la simulación de la resistencia y
se obtuvieron las siguientes valores: 263, 274, 256, 233, 248 y 235.

6. Determine un intervalo de confianza del 80 % al simular la cantidad


de fallos en el core de una red. Se realizaron 10 réplicas de dicho
sistema obteniéndose los siguientes resultados de la cantidad de
fallos: 4.28, 4.37, 3.45, 4.33, 4.25, 4.65, 4.45, 4.18, 4.29 y 4.00.

7. Determine un intervalo de confianza al 95 % del tiempo de espera


en un sistema. Se realizaron 3 réplicas de la simulación de la fila y
se obtuvieron los siguientes tiempos: 9.78, 8.67 y 9.83.

8. Determine un intervalo de confianza al 90 % de las llamadas perdi-


das promedio/dı́a de un sistema de telefonı́a celular. Se realizaron
5 réplicas de la simulación de las llamadas y se obtuvieron los sigu-
ientes resultados: 9783, 8674, 7456, 9833 y 8005.
VERIFICACIÓN Y VALIDACIÓN DE RESULTDOS 117

9. Si los datos experimentales del funcionamiento de cierto router du-


rante 40 dı́as arroja una media de 16 goets/dı́a, con una desviación
estándar de 2 goets/dı́a, y nuestro modelo de simulación con 50
corridas indica una media de 14 goets/dı́a con una desviación de
1.8 goets/dı́a. Determine si hay una diferencia significante entre
ambas medias, con un nivel de confianza del 95 %.

10. Los datos reales congestión de una central durante una semana son
15, 17, 9, 12, 11, 14, 13. La realización de un modelo de simulación
arroja los siguientes resultados de dicha congestión: 13, 14, 17, 8,
10, 9, 12, 12, 14, 12, 9, 11. ¿Son los resultados de la simulación
similares a los reales con un nivel de confiabilidad del 95 %?

11. La empresa FATSA ha observado el comportamiento de las fallos de


su red durante 8 dı́as y los datos que obtuvo fueron los siguientes:
115, 105, 97, 96, 108, 104, 99 y 107. Corriendo el modelo de simu-
lación de fallos, durante 10 dı́as, encontró que estos se comportaban
normalmente con media 108 y varianza 8.1. ¿Son los resultados de
ambas muestras estadı́sticamente iguales con un nivel de confianza
del 90 %?
12. Los usuarios de una red detienen su producción de información
automáticamente al ocurrir un fallo, hasta que un operario tiene
que ir a reparar. Una simulación del sistema del tiempo de paro de
los router ha arrojado los siguientes resultados (en minutos):

1.88 3.53 1.42 0.39 0.80 0.54 0.53 1.28 0.34 5.50 1.90 1.80
0.82 0.01 4.91 0.15 0.79 2.16 0.10 0.35 0.02 0.21 0.05 1.10
0.36 2.81 0.80 0.04 0.24 0.90 1.50 0.26 1.49 0.26 1.03 0.53
0.63 0.66 0.45 1.73 2.62 0.36 2.03 0.17 0.38 2.67 2.03 1.00
4.29 0.48

El supervisor del departamento de redes, de acuerdo con su experiencia,


indica que en la realidad el tiempo de paro de los router es aproximada-
mente exponencial con media de 1.4 minutos. Determine si el modelo
de simulación arroja resultados estadı́sticamente iguales a la opinión del
supervisor con un nivel de confianza de 5 %.
118 Ejercicios

13. Los datos reales, durante 7 dı́as, del porcentaje de errores en una red
son: 5, 15, 25, 7, 9, 13, 10. Un modelo de simulación del porcentaje
de errores durante 10 corridas arrojó los siguientes resultados: 6, 9,
7, 2, 11, 5, 6, 7, 11, 4. Valide los resultados del modelo de simulación
con la realidad con un nivel de aceptación del 95 %.

14. Simule el número de tramas erroneas de 100 mensajes consecutivos,


sabiendo que esa variable aleatoria sigue una distribución geométri-
ca (p = 0.5, k = 1,2,3, . . .). Si se tiene un costo de $500 por cada
trama defectuosa, calcule el costo promedio por mensaje.

15. Si se define t como el tiempo que transcurre antes de que falle


un dispositivo en la red y dicho tiempo sigue la distribución de
probabilidad dada por:

F (t) = 1 − e−(t/2) para t ≥ 0

Simule el comportamiento del tiempo de funcionamiento de la máquina.


CAPÍTULO 6
TENDENCIAS DE LA
SIMULACIÓN

Generadores de simuladores, entornos de simulación y animación gráfi-


ca La metodologı́a de la simulación que hemos descrito en los capı́tulos
anteriores, a pesar de sus éxitos y de su implantación mediante los lengua-
jes de simulación que la incorporan, puso de manifiesto hace ya tiempo
una serie de limitaciones en lo que se refiere a la comunicación con el
usuario (interfaces hombre-máquina), al marco conceptual del proceso
modelizador y a las herramientas software y estructuras de datos nece-
sarias para construir el modelo en el computador y organizar eficiente-
mente los datos requeridos. Una posibilidad de superar tales limitaciones
fue planteada ya en 1979 por Oren y Zeigler [54], en su formulación de
un marco metodológico para el desarrollo de software avanzado de sim-
ulación, dentro del cual se han realizado la mayor parte de los progresos
que comentaremos en este apartado. Proponı́an Oren y Zeigler diseñar
nuevos lenguajes de simulación, o rediseñar algunos de los existentes si
fuese posible, incorporando al diseño de manera directa los conceptos
fundamentales de la teorı́a de sistemas, de manera que:

Permitiesen al modelizador plantearse su problema dentro del mar-

119
120 La modelización.

co de la teorı́a de sistemas, expresando sus concepciones directa-


mente de forma inteligible para el computador, lo que equivale a
realizar en un solo paso el proceso de construcción del modelo y su
programación para computador, haciendo posible.
Especificar directamente los modelos en términos de inputs, estados
y outputs.
Tuviesen capacidad para combinar, descomponer y recombinar
modelos, es decir considerar los modelos como posibles compo-
nentes de macromodelos, de acuerdo con las recomendaciones para
los procedimientos de validación de modelos de sistemas complejos.
Proporcionasen los fundamentos operacionales para proponer
metodologı́as avanzadas de simulación
En consecuencia una metodologı́a avanzada para la simulación, y el con-
texto computacional que la soporta, debe incluir elementos para:

6.1. La modelización.

6.1.1. Selección del formalismo de modelización.


El modelizador deberı́a tener la posibilidad de elegir diversos formalis-
mos de modelización según las caracterı́sticas del sistema que pretende
modelizar, continuo, discreto, etc. Por lo tanto deberı́a tener acceso a
formalizaciones en términos de ecuaciones diferenciales y/o en diferen-
cias, sucesos discretos/tiempo discretos, procesos markovianos, sistemas
de colas, etc. Llegando al extremo de poder concebir modelos de sistemas
cuya estructura varı́e con el tiempo, es decir la posibilidad de especificar
cambios controlados por el modelo en su estructura estática y dinámica.

6.1.2. Manipulación del modelo.


Descomposición del modelo en submodelos, simplificación del mode-
lo, agregación de modelos en macromodelos refinamientos del modelo,
adaptación a diferentes marcos experimentales, etc.
TENDENCIAS DE LA SIMULACIÓN 121

6.1.3. Construcción modular del modelo.


Que haga posible, de acuerdo con las técnicas que hemos propuesto para
la validación y verificación de modelos, construir macromodelos acoplan-
do e integrando modelos de subsistemas componentes que se han mod-
elizado por separado, o se toman de bases de modelos preexistentes, cuan-
do se integran en sistemas informáticos de ayuda a la toma de decisiones.

6.2. Marcos experimentales.


Posibilidad de su manipulación interactiva.

6.3. Programas de simulación.


Especificación algorı́tmica de los programas de simulación que permita un
tratamiento automático de los pares modelo-marco experimental, lo que
supone una especificación del lenguaje de simulación que haga posible:

Una expresión modular de los modelos y sus acoplamientos e inter-


acciones de acuerdo con los diferentes formalismos de modelización.

Una especificación modular de los marcos experimentales.

La consecuencia de todos los requisitos y especificaciones mencionados


es una metodologı́a de simulación, y un lenguaje que la materialice, que
hagan posible un proceso de modelización asistida por computador.

Los primeros intentos de desarrollar una plataforma software que incor-


porase sino todos los ingredientes propuestos al menos los más significa-
tivos, fueron los generadores interactivos de programas de simulación, el
DRAFT de Mathewson [24], y el MISDEM de Davies [55].

Cuyo punto de partida está en el hecho que hemos puesto de mani-


fiesto de que ciertas caracterı́sticas de los programas de simulación son
especı́ficas del modelo particular que se está implantando, mientras que
otras son comunes a todos los modelos, especialmente los mecanismos de
122 Programas de simulación.

avance del tiempo. En el caso de la simulación de sistemas discretos el


problema central es el de la ejecución en una secuencia cronológicamente
correcta (((scheduling))) de las secciones del programa que representan
la ocurrencia de los sucesos aleatorios. Cada lenguaje particular de sim-
ulación (Simulation Programming Language, SPL) proporciona, según
hemos visto en el Capı́tulo 3, el esqueleto de un programa y un mecanis-
mo de avance del tiempo, con una serie de rutinas y estructuras de datos
que se pueden utilizar para añadirle la ((carne)) al esqueleto, que describa
las caracterı́sticas peculiares del modelo que nos ocupa. En otras pal-
abras, el SPL nos proporciona los conceptos de alto nivel que nos ayudan
a particular las caracterı́sticas peculiares de nuestro modelo, y esta es su
ventaja, pero al mismo tiempo, y esta es la posible desventaja, impone
una estructura rı́gida dentro de la cual hay que definir el comportamiento
dinámico de las componentes del modelo. Las caracterı́sticas peculiares
esenciales de un modelo pueden resumirse en:

1. Identificación de los recursos requeridos por cada actividad o suce-


so.

2. Identificación de donde se encuentran los recursos.

3. Cantidad de tiempo durante la cual los recursos interaccionan entre


sı́ o están siendo utilizados para la realización de una actividad.

4. Qué les ocurre a los recursos cuando termina un perı́odo de activi-


dad cooperativa.

Teniendo en cuenta estas caracterı́sticas, desde la óptica de diseñar una


metodologı́a de modelización asistida por ordenador, una de las lı́neas de
enfoque es el diseño de cuestionarios interactivos para solicitar de una
manera sistemática esta información esencial sobre las peculiaridades de
un modelo particular, para utilizarla en la generación automática de un
programa de simulación, sintácticamente correcto en el SPL elegido para
la programación de la simulación.

Tanto el DRAFT como el MISDEM responden a este planteamien-


to, ambos tienen una estructura modular, y se trata de programas
TENDENCIAS DE LA SIMULACIÓN 123

interactivos generadores de programas de simulación que cubren las


terminologı́as y estructural del esqueleto de la mayorı́a de los SPL. Un
aspecto importante que hay que resaltar es que al estar basados en la
metodologı́a general de la modelización estos sistemas generadores han
sido diseñados de manera que son independientes del lenguaje de sim-
ulación satisfaciendo de esta manera el requisito de ser independientes
de los lenguajes, tal como habı́amos planteado en las especificaciones
generales de las metodologı́as avanzadas. La base de algunos de los
sistemas de simulación interactivos la forman los GENERADORES DE
PROGRAMAS:

Un generador de programas es una herramienta de software interactivo


que traduce la lógica de un modelo de simulación, descrita mediante un
simbolismo relativamente general, al código de un lenguaje de simulación
y de esta manera permite al computador imitar el comportamiento del
modelo.

La familia DRAFT de generadores de programas es un conjunto de


unidades modulares encadenadas de la forma que indica la figura 6.1.
Permiten al usuario introducir la estructura del modelo en términos de
ciclos de actividades de las entidades, y ejecutar interactivamente la
simulación mediante un diálogo de preguntas y respuestas. El módulo
INPUT/EDITOR acepta la descripción del modelo, identifica los errores
semánticos, como por ejemplo el uso de nombre de variables reservados, y
permite al usuario corregirlos interactivamente. El módulo de ANÁLISIS
verifica que el input no tienen errores, permite corregir interactivamente
algunas de las inconsistencias de tipo lógico que sean detectables, y
prepara el fichero codificado de las interacciones entre las entidades del
modelo.

Este fichero forma un input, de carácter general, para el escritor de pro-


gramas elegido por el usuario. Es después de esta etapa cuando la descrip-
ción del modelo es configurada según la estructura particular, o visión del
mundo, en términos de SUCESO, ACTIVIDAD, PROCESO, asociada al
lenguaje objetivo (target language) en que se va a programar el modelo,
124 Optimización

y entonces se produce la traducción que genera el código ejecutable, y si


la traducción es satisfactoria se compila y, con los datos requeridos, se
ejecuta.

Figura 6.1: Estructura conceptual de un generador de programas

6.4. 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 es-
tadı́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
TENDENCIAS DE LA SIMULACIÓN 125

indispensable usar de técnicas que permitan analizar sistemáticamente


las posibilidades seleccionadas, de tal modo que eventualmente se po-
drá escoger una combinación cercana al óptimo. Estas técnicas se basan
principalmente en el diseño de experimentos y las más utilizadas son:

Simplex.

Simplex EVOP.

Superficies de respuesta.

6.5. Sensibilidad, Experimentación y Monitoreo


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. Con-
siste enjugar o experimentar con el modelo ante situaciones nuevas o
imprevistas, que tengan cierta probabilidad de ocurrencia, con el obje-
to 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áli-
sis de sensibilidad se enfoca principalmente a estudiar las variables no
controlables por el tomador de decisiones dentro del proceso real.
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.
126 Sensibilidad, Experimentación y Monitoreo
BIBLIOGRAFIA

[1] Barceló, J. y J. Casanovas , Simulación y Modelización de Sistemas,


en: Panorama Informático, Editado por FESI, 1996.

[2] Isdefe, Presentación de las Monografı́as de Ingenierı́a de Sistemas,


Madrid, 1995.

[3] Gordon, G., System Simulation, Prentice-Hall, 1978.

[4] Garcı́a, M. R., Discrete Event Simulation Methodologies and For-


malisms, Proceedings of the Winter Simulation Conference, 1990.

[5] Ackoff, R. L., The Scientific Method, John Wiley and Sons, 1963.

[6] Volterra, V., Variazioni e Fluttuacioni del Numero d’Individui in


Specie Animali Conviventi, Mem. Accad. Naz. Lincei, 2, 31-33, 1926.

[7] Lotka, A. J., Undamped Oscillations Derived from the Law of Mass
Action, J. Amer. Chem. Soc., 42, 1595-9, 1920.

[8] Michalopoulos, P. G., J. K. Lin y D. E. Beskos, Integrated Modelling


and Numerical Treatement of Freeway Flow, Appl. Mathem. Model.
Vol. 11, No. 401, pp. 447- 458, 1987.

127
128 BIBLIOGRAFIA

[9] Drazin, P. G., Nonlinear Systems, Cambridge University Press,


Cambridge Texts in Applied Mathematics, 1993.
[10] Stewart, J., Does God Play Dice - The New Mathematics: Putting
Theory into Practice, Prentice-Hall, 1986 of Chaos, Penguin 1990.
[11] Kleinrock, L., Queueing Systems, Volume I: Theory, Volume II:
Computer Applications, John Wiley, 1975.
[12] Kobayashi, H., Modeling and Analysis: An Introduction to System
Performance Evaluation Methodology, Addison-Wesley, 1978.
[13] Barceló, J., J. L. Ferrer y R. Grau , Simuladores de Tráfico: Her-
ramientas para Ayudar al Diseño de Proyectos y Evaluación de Es-
trategias, Revista Carreteras, Asociación Española de la Carretera,
No 74, Noviembre-Diciembre 1994.
[14] Kühne, R. D. y P. G. Michalopoulos, Continuous Flow Models,
Capı́tulo 5 del libro pendiente de publicación por el Transportation
Research Board sobre Traffic Flow Theory, 1994.
[15] Papageorgiou, M., Freeway Traffic Modelling, in M. Papageorgiou,
Ed. Concise Encyclopedia of Traffic and Transportation Systems,
Pergamon Press, 1991.
[16] Lighthill, M. H. y G. B. Whitham, On Kinematic Waves-II: A The-
ory of Traffic Flow on Long Crowded Roads, Proceedings, Royal
Society, London, A229, No.1178, pp.317-345, 1955.
[17] Michalopoulos, P. G., Analysis of Traffic Flows at Complex Con-
gested Arterials, Transp. Res. Rec. #1194, pp. 77-86, 1988. [18]
Michalopoulos, P. G., E. Kwon and I.G. Khang, Enhancements
and Field Testing of a Dynamic Simulation Program, Transp. Res.
Rec.#1320, pp. 203-215, 1991.
[18] KRONOS6, An Interactive Freeway Simulation Program for Per-
sonal Computers, User’s Manual, Prepared by C.F.Lee, R.Plum and
P.Michalopoulos, Center for Transportation Studies, Department of
Civil and Mineral Engineering, University of Minnesota, 1990.
BIBLIOGRAFIA 129

[19] Chronopoulos, A., P. Michalopoulos y J. Donohoe, Traffic Flow Sim-


ulation Through Parallel Processing, AHPCRC Preprint 91-90, Uni-
versity of Minnesota, Dept. of Civil and Mineral Engineering, 1991.

[20] MATLAB and SIMULINK, The Mathworks Inc., 2007.

[21] Pidd, M., Computer Simulation in Management Science, John Wi-


ley, 1992.

[22] Henriksen, J. O., The Integrated Simulation Environment (Simula-


tion Software of the 1990’s), Operations Research, 31,6, pp. 1053-
1073, 1983.

[23] Mathewson, S. C., The Application of Program Generator Soft-


ware and Its Extensions to Discrete Event Simulation Modeling,
IIE Transactions, 16, 1, pp. 3-17, 1984.

[24] SIMFACTORY, CACI Inc.

[25] WITNESS, ATT&ISTEL.

[26] Law, A. M. y W. D. Kelton, Simulation Modeling and Analysis,


McGraw Hill, 1991.

[27] Bratley, P., B. L. Fox y L. E. Schrage, A Guide to Simulation,


Springer-Verlag, 1987.

[28] Kleijnen, J. P. C., Statistical Techniques in Simulation, Marcel


Dekker, 1975.

[29] Kleijnen, J. P. C., Statistical Tools for Simulation Practitioners,


Marcel Dekker, 1987.

[30] Kleijnen, J. P. C., Simulation: A Statistical Perspective, John Wiley,


1992.

[31] Ahrens, J. H. y K. D. Kohrt, Computer Methods for Efficient Sam-


pling from Largely Arbitrary Statistical Distributions, Computing,
26, 19-31, 1981.
130 BIBLIOGRAFIA

[32] Von Neumann, J., Various Techniques Used in Connection with Ran-
dom Digits, National Bureau of Standards Applied Mathematics,
Series 12, pp. 36-38, 1951.
[33] Hammersley, J. M. y D. C. Handscomb, Monte Carlo Methods, John
Wiley, 1964.
[34] Knuth, D. E., The Art of Computer Programming, Vol. 2,Seminu-
merical Algorithms, Addison-Wesley, 1981.
[35] Tocher, K. D., The Art of Simulation, English University Press,
1960.
[36] Lehmer, D. H., Mathematical Models in Large-Scale Computing
Units, Ann. Comput. Lab. Hardward University, 26, 141- 146, 1951.
[37] Shannon, R. E., Systems Simulation: The Art and the Science,
Prentice-Hall, 1975.
[38] Fishman, G. S., Principles of Discrete Event Simulation, John Wiley,
1978.
[39] Kiviat, P. J., Simulation Languages, in: Computer Simulation Ex-
periments with Models of Economic Systems, John Wiley, 1971.
[40] Emshoff, J. R. y Sisson, R. L., Design and Use of Computer Simu-
lation Models, MacMillan, 1970.
[41] Gordon, G. y R. Efron, A General Purpose Digital Simulator and
Examples of its Application: Part I - Description of the Simulator,
IBM Systems Journal, IV, No. 3, pp 174-183, 1964.
[42] Schriber, J., An Introduction to Simulation Using GPSS/H, John
Wiley, 1990.
[43] Hooper, J. W., Strategy-related Characteristics of Discrete-Event
Languages and Models, Simulation 46, No.4, pp. 86-106, 1986.
[44] Box, G. E. P., W. G. Hunter y J. S. Hunter, Statistics for Experi-
menters, John Wiley, 1978.
BIBLIOGRAFIA 131

[45] Box, G. E. P. y N. R. Draper, Empirical Model Building and Re-


sponse Surfaces, John Wiley, 1987.

[46] Iglehart, D. L., The Regenerative Method for Simulation Analysis,


In: Current Trends in Programming Methodology-Software Model-
ing, Ed. K.M. Chandy and R.T.Yeh, Prentice-Hall 1978.

[47] Sargent, R. G, Simulation Model Verification and Validation, Pro-


ceedings of the 1991 Winter Simulation Conference, 1991.

[48] Balci, O., Credibility and Assessment of Simulation Results: The


State of the Art, Proceedings of the Conference on Methodology
and Validation, Orlando, 1987.

[49] Bryan, O. F. y M. C. Natrella, Testing Large Scale Simulations, Byte


10, pp. 183-194, 1985.

[50] Barceló, J., Ferrer, J. L. y Martin, R., Simulation Assisted Design


and Assessment of Vehicle Guidance Systems, Report de Recerca DR
95/05, Departament d’Estadı́stica i Investigació Operativa, Univer-
sitat Politécnica de Catalunya, 1995.

[51] Naylor, T. H. y J. M. Finger, Verification of Computer Simulation


Models, Management Science 14, pp. 92-101, 1967.

[52] Oren, T. I. y B. P. Zeigler, Concepts for Advanced Simulation


Methodologies, Simulation Vol 32, No. 3, pp.69-82, 1979.

[53] Davies, N. R., Interactive Simulation Program Generation In:


Methodology in Systems Modeling and Simulation, Eds. B.P. Zei-
gler, M.S. Elzas, G.J.Klir, and T.I. Oren, North Holland, 1979.

[54] Subrahmanian, E. y R. L. Cannon, A Generator Program for Models


of Discrete-Event Systems, Simulation, Vol. 35, No. 3, pp. 93-101,
1981.

[55] Pidd, M., Computer Modeling for Discrete Simulation, John Wiley,
1989.
132 BIBLIOGRAFIA

[56] Hurrion, R. D., Engineering Journal of Operations Research, Vol.23,


1986.

[57] Paul, R. J., Artificial Intelligence and Simulation Modeling, in: Com-
puter Modeling for Discrete Simulation, Ed. by M. Pidd, John Wiley,
1989.

[58] Haddock, J., An Expert System Framework Based on a Simulator


Generator, Simulation, Vol 42, No. 2, 1987.

[59] Kuipers, B. J., Qualitative Simulation, Artificial Intelligence 29, pp.


289-238, 1986.

[60] Shannon, R. E., R. Mayer y H. H. Adelberger, Expert Systems and


Simulation, Simulation, Vol.44, No. 6, pp. 275-284, 1985.

[61] Moser, J. G., Integration of Artificial Intelligence and Simulation in


a Comprehensive Decision-Support System, Simulation, Vol 47, No.
6, pp. 223-229, 1986.

[62] O’Keefe, R. M., Simulation and Expert Systems - Taxonomy and


Some Examples, Simulation Vol. 46, No. 1, pp. 10-16, 1986.

[63] O’Keefe, R. M. y J. W. Roach, Artificial Intelligence Approaches to


Simulation, Journal of the Operational Research Society, Vol 38, pp.
713-722, 1987.

[64] Doukidis, G. I., An Anthology on the Homology of Simulation with


Artificial Intelligence, Journal of the Operational Research Society,
Vol. 38, pp. 701-712, 1987.

[65] Vaucher, J. G., Views of Modeling: Comparing the Simulation and


AI Approaches, in: AI, Graphics and Simulation, ed. G. Birtwhistle,
Society for Computer Simulation, San Diego, USA, 1985.

You might also like