Beruflich Dokumente
Kultur Dokumente
1 Introducción
La Simulación está dirigida muchos tipos de problemas, aunque los más habituales son los llamados
problemas de colas o fenómenos de espera que en general tratan sobre el tiempo de espera de ciertos
objetos, mientras que esperan a ser procesados dentro del sistema.
La simulación está basada en la aleatoriedad de procesos reales. Estudiaremos por tanto la forma de
generar algunas de las distribuciones más usuales. Aunque también la técnica Monte-Carlo puede servir
para abordar problemas tradicionalmente deterministas, reduciendo en ocasiones el costo computacional.
En los últimos temas introduciremos a grandes rasgos los modelos de eventos discretos más comunes y
profundizaremos en los aspectos prácticos de la simulación como son la verificación y validación de los
modelos.
donde (multiplicador), (incremento) (valor inicial o semilla) son números naturales menores que m, se
dice en este caso que es congruente con . La fórmula indica que y dan el
mismo resto al dividir por el número natural m; i.e., que es un múltiplo de m. La sucesión
≥ proporciona, en consecuencia, números naturales entre 0 y m 1. Para la elección de los parámetros
hay que tener en cuenta que en primer lugar que m tiene que ser tan grande como sea posible para evitar
la aparición de ciclos tempranos, ya que el periodo es siempre menor o igual que m. Una opción razonable
es tomar m tan grande como permita el ordenador en el que se va a trabajar, de manera que si el
ordenador es binario con una palabra de 32 bits, este número será m = 232 = 42949 67296, o un valor
próximo a este.
Se demuestra que los métodos congruenciales son los que producen sucesiones de números aleatorios
que parecen estadísticamente aleatorios, siempre que y se elijan apropiadamente. No hay una regla
general para la elección de , m y . El método depende de varios factores incluido el hardware y el
software disponible. La mayoría de los lenguajes de programación y simulación proporcionan un generador
de números aletorios.
Método de la transformación inversa (v.a. Discreta) Sea U una variable aleatoria uniformemente distribuida
sobre el intervalo unidad, U (0, 1), y sea una variable aleatoria con función puntual de probabilidad
, = 1, 2, . . . ,. La variable aleatoria definida a partir de U, como
= si U ≤
= si + + <U≤ + +
Ejemplo Supongamos por ejemplo una variable aleatoria discreta , que toma los valores y probabilidades
asignados en la siguiente tabla
Intervalo
0 0.10 0.10 [0.00,0.10)
1 0.20 0.30 [0.10,0.30)
2 0.25 0.55 [0.30,0.55)
3 0.20 0.75 [0.55,0.75)
4 0.25 1.00 [0.75,1.00)
Ahora, considerando una secuencia de números aleatorios generada mediante la fórmula de congruencia
lineal ( ),
0 4 27 3 0.375
1 3 22 6 0.750
2 6 37 5 0.625
3 5 32 0 0.000
4 0 7 7 0.875
5 7 42 2 0.250
Los valores de la variables que se obtienen serían
y en la última columna tendríamos la simulación de una variable aleatoria con la misma distribución que .
Método de transformación Inversa (v.a. Continua) Sea U una variable aleatoria U (0, 1)
y una variable aleatoria absolutamente continua con función de densidad ( ) y función de distribución
( ), ∈ ⊆ . Supongamos que existe la función inversa (u) para 0 ≤u ≤1. Entonces la variable
aleatoria definida a partir de U como tiene la misma distribución de probabilidad que .
A diferencia del caso discreto, aquí este método no siempre puede utilizarse para generar una variable
aleatoria continua puesto que puede que no exista la función . Podemos sin embargo utilizar el siguiente
método alternativo:
Método de rechazo con entorno finito (a, b) Sean U1 y U2 variables aleatorias U (0, 1) independientes y
una variable aleatoria absolutamente continua con función de densidad ( ), ∈(a, b), -∞ < a < b < ∞. La
variable aleatoria definida a partir de U1 y U2, para cualquier constante c, con 0 < c ≤1/ ( ) como
+ − ≤ + −
=
> + −
tiene la misma distribución de probabilidad que
Por ejemplo la serie Σ g (x), se puede considerar una variable aleatoria discreta que tome valores en C,
con distribución de probabilidad ( ), ∈C y se transforma la serie en
= =
∈
Y de forma similar podríamos considerar para una integral:
! = ! =
En ambos casos, el cálculo de la integral o la serie se reduce al cálculo de una esperanza matemática. La
fundamentación teórica para esta aproximación la proporciona el Teorema de Khintchine, consecuencia de
la ley débil de los grandes números:
" → µ
"= →∞
Mientras que para determinar el tamaño que debe tener la muestra de la variable aleatoria , para acotar el
error cometido en la estimación, se puede utilizar el resultado que proporciona la desigualdad de
Tchebychev:
Desigualdad de Tchebychev Cualquier variable aleatoria con media µ y desviación típica σ < ∞, satisface
la siguiente desigualdad,
σ
( − µ > ε )≤
ε
para ε>0.
= − !
con una probabilidad de al menos 0.9 de tener una cifra decimal exacta. Para la resolución consideraremos
el estimador $ La cota del error escogida es ε<0.1 Como Var($)=σ / entonces:
( )
− <ε =δ ≥
σ
ε
por otro lado σ = ! < ! − ! = , así el tamaño muestral que se ha de utilizar ha de
ser:
σ
≥ = ≥
⋅ δε
por lo que =667 satisface esa condición.
El movimiento de entidades a través de los diferentes puntos de un modelo constituye la conducta dinámica
del modelo. La conducta dinámica dentro del modelo depende del movimiento de las entidades de diferente
tipo. Estas entidades entran en el entorno del sistema, posiblemente en puntos diferentes, y salen del
sistema, de nuevo en puntos diferentes. Esas llegadas al modelo son las que permiten al modelo funcionar.
Los sucesos son instantes en los que el estado del modelo cambia a través de los desplazamientos de las
entidades entre puntos a través del entorno del modelo. El estado del sistema permanece constante en
cualquier otro instante de tiempo. La dinámica del modelo, pues, estará determinada por la forma de
incorporarse las identidades. Normalmente esta llegada es una variable aleatoria con una determinada
distribución.
Los tipos de modelos más importantes de simulación de eventos discretos se pueden clasificar en:
• Manufactura
• Servicios
• Manipulación de materiales
• Redes
• Negocios
En este tipo de modelos el personal disponible juega un papel importante y se suelen planteas modelos
para ajustar plantillas o mejorar los procesos con vistas a reducir costes y satisfacer a los clientes. En este
sentido, algunos de los criterios que se suelen estudiar ene ste tipo de modelos son:
• Tiempo de atención: tiempo transcurrido entre la llegada de un cliente y su salida.
• Tiempo de espera: parte del tiempo de atención en que el cliente está esperando ser atendido por
el personal.
• Longitud de cola: longitud de la cola de espera.
• Tiempo de servicio: tiempo efectivo en que el cliente es servido.
• Tasa de utilización: tiempo en que el suministrador del servicio está ocupado frente al tiempo que
está disponible.
• Tasa de servicio: numero de clientes que son atendidos por unidad de tiempo.
• Porcentaje de clientes que se pierden por efecto de presentar colas largas.
• Porcentaje de clientes que desisten por exceso de tiempo de espera.
• Costo de los recursos empleados en el proceso.
5.5. Negocios.
Este tipo de modelos se concentra básicamente en el análisis de sistemas en base a la ingeniería de
procesos en base a la que se articula una actividad económica. Algunos de estos procesos pueden
representar el desarrollo de un nuevo producto, el flujo de producción, la adquisición del producto, política
de personal.
Debido a la falta de información por parte de las empresas y al escaso control de los procesos principales
de una empresa resulta difícil establecer criterios universales para evaluar este tipo de procesos siendo uno
de los objetivos de estos modelos justamente el proponer medidas objetivas de control que mejoren la
organización del negocio.
Definición: la validación es el proceso que sirve para determinar el grado de semejanza entre el modelo de
simulación y la realidad que pretende representar considerando la finalidad para la que se implementa.
Ejemplo: El modelo de una oficina bancaria puede ser fácilmente validado ya que se puede observar. Sin
embargo, un modelo sobre la efectividad de la fuerza naval en 2025 sería virtualmente imposible de validar
completamente ya que la localización de la batalla, caracterización del enemigo o determinación de las
armas disponibles sería desconocida. A pesar de ello a menudo es posible recoger datos sobre un sistema
existente que pueda ser usado para validar el modelo.
Ejemplo: Un organismo militar encarga a una consultaría un estudio de simulación. Una vez acabado el
trabajo el representante del organismo pregunta a la consultoría “¿Me puede decir en cinco minutos
cómo validar el modelo?”
Un modelo de simulación, sus datos y sus resultados son creíbles cuando los usuarios del mismo lo
aceptan como correcto. La credibilidad no implica necesariamente validez y viceversa. La credibilidad se
puede establecer según los siguientes criterios:
Un modelo de simulación que es a la vez válido y creíble es muy probable que sea usado en
condiciones prácticas.
• El modelo conceptual debe ser sometido a la revisión de algún analista o experto del tema.
• Los errors u omisiones encontrados en la revisión del modelo conceptual deben ser corregidos
antes de su programación informática.
• Si hay datos del sistema real, estos se pueden utilizar para compararlos con los resultados del
modelo. Es lo que se conoce como validación de resultados. Las características que interesan
representar de un sistema constituyen lo que se llama referente y es respecto al que interesa
validar el modelo, aún cuando el sistema representado no existe (pero sí el referente).
• Los resultados se deben revisar para verificar su coherencia y consistencia de acuerdo con el
funcionamiento esperado del sistema.
• El análisis de sensibilidad debe realizarse para detectar que factor tiene un efecto mayor sobre los
resultados del modelo para mejorar su representación si fuera necesario.
Aplicable en
Técnicas para desarrollar modelos válidos y creíbles
Etapa Nº.
Formulación precisa del modelo 1
Entrevistas con expertos 1, 2
Estar en contacto con el decisor 1, 2, 3, 4, 5, 6, 7
Utilizar métodos cuantitativos para validar partes del modelo 2
Documentar el modelo conceptual 2
Verificar el modelo conceptual 3
Llevar a cabo un análisis de sensibilidad 5
Validar los resultados del modelo completo 5
Utilizar gráficas y animaciones para mostrar los resultados del modelo 5, 6, 7
Utilizar métodos estadísticos en la medida de lo posible para validar el modelo 5
Ejemplo: Un analista desarrolló durante dos años un modelo para un cliente. Cuando se lo presentó, el
cliente le dijo: “Esto no es lo que yo quería”
La verificación planteada anteriormente asume que el desarrollo del modelo se produce todo de una vez,
sin embargo en paradigmas de desarrollo incremental mediante prototipos (p.e. en espiral) debe pensarse
también en verificaciones sucesivas para cada refinamiento introducido.
Para el estudio de más de un parámetro a la vez se leería utilizar el diseño estadístico de experimentos, no
serviría el análisis de sensibilidad individual de los dos parámetros a analizar.
Ejemplo: La validación directa se utilizó en la simulación del personal necesario para una industria. La
simulación se llevó a cabo con una plantilla de referencia y los resultados se mostraron a los gerentes de
la empresa y analistas que detectaron discrepancias entre los resultados y el comportamiento esperado
del modelo. Esta información se utilizó para refinar el modelo en etapas sucesivas hasta obtener un
modelo que representaba de forma precisa la política de personal de la empresa. Este proceso además de
mejorar la precisión del modelo aumentaba su credibilidad.
Un test de Turing puede también realizarse para comparar los datos del modelo con los del sistema. A un
conjunto de expertos se les ofrece un conjunto de datos sin que sepan si se trata de datos reales o
simulados. La validación es correcta cuando son incapaces de diferenciar la procedencia de los datos, en
caso contrario los criterios utilizados para descubrir los datos simulados pueden ser utilizados para refinar
el modelo.
Otra técnica disponible para validar un modelo es comparar nuestros resultados con los de otro modelo de
simulación aceptado.
Validación prospectiva
En lo referente a la validación nos hemos centrado en comparar datos reales con los datos generados por
el modelo. Muchos modelos de simulación se desarrollan para realizar predicciones sobre la evolución
futura de un sistema. En estos casos puede ser más importante el verificar la habilidad predictiva del
modelo y/ o su adaptabilidad a cambios temporales. Por ejemplo, puede que desarrollar un modelo nos
lleve mucho tiempo, que cumplamos con la metodología de desarrollo y la validación del modelo, pero
cuando lo vayamos a utilizar, podrían aparecer discrepancias. Si no existe confianza en el modelo puede
resultar muy delicado el intentar modificarlo para adaptarlo a unas nuevas circunstancias ya que se
podrían invalidar partes del modelo. Esto pone de manifiesto la importancia de documentar todo el
desarrollo del modelo.
Una animación es útil para mostrar la dinámica a corto plazo del comportamiento del sistema. Resulta útil
para comunicar y dar a entender de forma rápida la esencia del modelo. Otras ventajas es que también
son útiles para la depuración del código e incluso para practicar con el modelo.
Supongamos que R1, R2,…, Rk son observaciones del sistema real y que M1, M2,…, Ml son resultados del
modelo. Estos conjuntos de datos se pueden comparar si el modelo es suficientemente fiel de la realidad.
Varias metodologías se pueden llevar a cabo para efectuar dichas comparaciones.
Supervisión
Muchas veces, analistas principiantes hacen una comparación superficial entre los resultados del modelo y
el sistema real sin utilizar ningún método estadístico, únicamente mediante estadísticos sencillos como la
media o la varianza. Sargent [1996b] discute sobre el uso de gráficas con más detalle. La dificultad de esta
supervisión es que cada estadístico es en esencia una muestra de tamaño un que depende de la
población de origen y está a merced de la aleatoriedad de ésta.
Ejemplo. Un modelo que represente la vida útil de una máquina puede considerar la comparación de la
vida útil media calculada a partir de los resultados del modelo con el valor real observado en una empresa.
Intervalo de confianza
Este método es más fiable ya que permite obtener diferentes conjuntos independientes de datos a partir de
los cuales poder establecer un intervalo de confianza para un estadístico calculado.
Series temporales
Existen varias propuestas que basan la validación en algunos tipos de series temporales. Esta
aproximación requeriría solo un conjunto de datos de cada tipo (real y simulado) para poder estudiar y
comparar ambas estructuras de correlaciones. Estas comparaciones están basadas en análisis espectral,
series temporales paramétricas o series temporales normales, y todas ellas hacen hipótesis sobre los
datos que raramente se cumplen en la realidad. Por otro lado el nivel de sofisticación matemática es más
elevado y difícil de aplicar que los métodos anteriores.
Si existe un sistema real parecido al que se intenta representar, siempre se pueden aprovechar sus datos
para desarrollar nuestro modelo. Los datos pueden venir de registros históricos o de ensayos de campo.
Como los datos pueden venir de personas ajenas al estudio, entonces el analista debería:
• Asegurarse de la calidad de los datos que recibe.
• Conocer de dónde provienen los datos y cómo se han obtenido
Ejemplo: Si disponemos de una base de datos y detectamos algunos de ellos que nos parecen anómalos,
debemos de conocer como se han obtenido y de donde para tener más certeza de lo que representan.
Podrían ser errores de medida, errores de registro, o valores correctos poco habituales.
Ejemplo: Si disponemos de datos que representan el tiempo necesario para realizar una actividad están
redondeados al valor más próximo de 5 o 10 minutos, esto hace difícil el obtener una función de
distribución continua para esa variable.
• Puede estar sesgada o ser de interés muy particular
• Puede que emplee de forma inconsistente unidades de medida
La verificación y validación de los datos es importante porque entre otras cosas puede permitir detectar
otros errores de la simulación.
Si un analista ha de desarrollar un Nuevo modelo, debería aplicar las etapas de desarrollo definidas
anteriormente (Law and Kelton,1999, Capítulo 5).
7. Bibliografía
Balci, O., “Verification, Validation and Testing,” in The Handbook of Simulation, J. Banks, ed.,
Chapter 10, John Wiley, New York (1998).
Banks, J., J. S. Carson, and B. L. Nelson, Discrete-Event System Simulation, Second Edition,
Prentice-Hall, Upper Saddle River, NJ (1996).
Carson J. S., “Convincing Users of Model’s Validity Is Challenging Aspect of Modeler’s Job,” Ind.
Eng., 18: 74-85 (June 1986).
Fossett, F. A., D. Harrison, H. Weintrob, and S. I. Gass, “An Assessment Procedure for Simulation
Models: A Case Study,” Operations Res., 39: 710-723 (1991).
Gass, S. I., “Decision-Aiding Models: Validation, Assessment, and Related Issues in Policy Analysis,”
Operations Res., 31: 603-631 (1983).
Gass, S. I. and B. W. Thompson, “Guidelines for Model Evaluation: An Abridged Version of the U.S.
General Accounting Office Exposure Draft,” Operations Res., 28: 431-439 (1980).
Knepell, P. L. and D. C. Arangno, “Simulation Validation: A Confidence Assessment Methodology,”
IEEE Computer Society Press, Los Alamitos, CA (1993).
Law, A. M. and W. D. Kelton, Simulation Modeling and Analysis, Second Edition, McGraw-Hill, New
York (1991).
Law, A. M. and W. D. Kelton, Simulation Modeling and Analysis, Third Edition, McGraw-Hill, New
York (December 1999).
Montgomery, D. C., Design and Analysis of Experiments, 4th Edition, John Wiley, New York (1997).
Pace, D. K., “Verification, Validation, and Accreditation (VV&A),” in Applied Modeling and Simulation:
An Integrated Approach to Development and Operation, D. J. Cloud and L. B. Rainey,
eds., pp. 369-410, McGraw-Hill, New York (1998).
Rousseau, G. G. and K. W. Bauer, “Sensitivity Analysis of a Large Scale Transportation Simulation
Using Design of Experiments and Factor Analysis,” Proc. 1996 Winter Simulation
Conference, San Diego, pp. 1426-1432 (1996).
Sargent, R. G., “Verifying and Validating Simulation Models,” Proc. 1996 Winter Simulation
Conference, San Diego, pp. 55-64 (1996a).
Sargent, R. G., “Some Subjective Validation Methods Using Graphical Displays of Data,” Proc. 1996
Winter Simulation Conference, San Diego, pp. 345-351 (1996b).
Schruben, L. W., “Establishing the Credibility of Simulations,” Simulation, 34:101-105 (1980).
Shannon, R. E., Systems Simulation: The Art and Science, Prentice-Hall, Englewood Cliffs, NJ
(1975).
Turing, A. M., “Computing Machinery and Intelligence,” Mind, 59: 433-460, (1950).