Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lectura fundamental
Inicios de la simulación
Contenido
1 Sistema y modelo
3 Herramientas de simulación
El modelo que se diseña para estudiar el sistema no es más que un conjunto de supuestos acerca
del funcionamiento real del mismo. Estos supuestos pueden expresarse como relaciones lógicas,
matemáticas o simbólicas entre los diferentes elementos del sistema y son los que después de ser
validados adecuadamente, permitirán emular el comportamiento del sistema, así como evaluar los
resultados que cambios potenciales en la configuración de este pueden tener en las medidas de
desempeño.
Un sistema se puede analizar de diferentes formas, por ejemplo, se puede hacer mediciones y
cambios directamente sobre el sistema real, pero esto implica riesgos y costos, por lo tanto, se debe
construir un modelo. Este puede ser una representación física, como un prototipo o una maqueta, o
una representación abstracta o matemática del sistema, en cuyo caso la solución se puede hallar por
métodos analíticos o utilizando simulación.
POLITÉCNICO GRANCOLOMBIANO 2
Sistema
Experimentar Construir un
con el sistema modelo del
real sistema
Modelo Modelo
físico matemático
Solución
Simulación
analítica
Las ventajas de utilizar un modelo se simulación para el análisis de un sistema son variadas, entre ellas
se destacan (Law, 2013):
POLITÉCNICO GRANCOLOMBIANO 3
• El costo excede el ahorro.
A pesar de lo anterior, son muchos los casos en los cuales la simulación ha sido la herramienta utilizada
para solucionar problemas complejos y las áreas de aplicación aumentan cada año, entre las más
comunes están:
1. Sistema y modelo
Como ya se ha mencionado en la sección anterior, para el análisis de un sistema real es conveniente
construir un modelo de dicho sistema, pero ese modelo puede ser de una naturaleza variada, aun cuando
se trate de la categoría de modelos matemáticos. Una primera clasificación se puede hacer con base en los
instantes de tiempo que el sistema cambia. Estos cambios pueden presentarse en momentos específicos
del tiempo o estar constantemente presentes, por lo tanto, los sistemas pueden ser:
• Continuos: cuando los eventos que definen cambios en el sistema ocurren instante a instante,
por ejemplo, modelos cinemáticos, modelaje de un cohete en movimiento, etc.
• Discretos: cuando los eventos que definen cambios en el sistema solo ocurren en ciertos
instantes, por ejemplo, colas de bancos, llamadas en un centro de atención telefónica, etc.
POLITÉCNICO GRANCOLOMBIANO 4
El sistema en sí puede verse afectado por cambios que ocurren al exterior de este, por eso una de las
tareas más importantes para el analista de simulación es definir claramente la frontera del sistema,
para así establecer qué elementos hacen parte del sistema y cuáles serán tratados como agentes
externos en el modelo.
Con base en el tipo se sistema a analizar y las herramientas de solución a utilizar, una clasificación más
detallada de los modelos matemáticos se puede observar en la siguiente gráfica:
Físico Matemático
Determinístico Estocástico
Dentro de los modelos matemáticos, la simulación de eventos discretos sobresale por su versatilidad
y flexibilidad, y junto a la simulación de Montecarlo forman parte de las herramientas que el ingeniero
industrial utiliza en su día a día. Sin embargo, para poder trabajar adecuadamente en este campo, se
deben tener claras algunas definiciones básicas:
• Sistema: grupo de objetos, personas o maquinas que interactúan o dependen entre sí.
• Entidades (dinámicas): objeto de interés dentro del sistema que se mueve por el mismo.
• Actividades: todo lo que se realiza en el sistema que se conoce cuándo comienza y cuándo
termina (esperas incondicionales). Su duración se conoce cuando comienza.
• Demoras: tiempo indefinido de espera de las entidades (esperas condicionales). Su duración solo
se conoce cuando termina.
POLITÉCNICO GRANCOLOMBIANO 5
• Evento: algo que ocurre en un instante dado y puede cambiar el estado del sistema.
• Recursos: una entidad que proporciona servicio a otras entidades. El recurso puede servir una o
más entidades al mismo tiempo.
Para ilustrar estos conceptos, la siguiente tabla muestra cuáles serían los elementos correspondientes
al sistema de una sucursal bancaria:
¿Sabía que...?
Los modelos físicos (prototipos) pueden utilizarse junto a
los modelos de simulación, por ejemplo, se puede usar un
modelo de simulación para trabajar en el diseño y luego
validar dicho diseño con el prototipo.
POLITÉCNICO GRANCOLOMBIANO 6
2. Metodología para hacer un estudio de simulación
En un proyecto de simulación, como en cualquier proyecto que involucre el manejo de recursos
significativos, es conveniente seguir una metodología estructurada. Siguiendo las recomendaciones de
Banks, los pasos a seguir en el desarrollo de un proyecto de simulación son los siguientes (Banks, 2010):
Definición de
objetivos y del
plan de trabajo Si
Diseño
experimental
Conceptualización Recolección de
del modelo datos
Corridas del
modelo y análisis Si
Construcción del Si
modelo
Más corridas
No
Verificación
No
Documentación
Si
e informes
No No
Validación
Implementación
del modelo
Si
Es el inicio de cualquier proyecto, en particular aquí se requiere una clara comprensión del problema por
parte del analista y de quien contrata el trabajo; no es una tarea sencilla y en ocasiones es necesaria la
reformulación del problema hasta que se tenga una idea clara de lo que se pretende alcanzar con el estudio
de simulación.
POLITÉCNICO GRANCOLOMBIANO 7
La primera actividad por realizar, generalmente, consiste en una reunión entre el contratante y el analista, en
donde el primero explica la situación problemática a analizar; el analista recoge los principales elementos del
problema e identifica el propósito del estudio. De igual forma, se deben identificar las posibles fuentes de
variabilidad, porque son estas las que definen si la simulación es la herramienta adecuada.
Después de que el analista ha recogido suficientes elementos, se formula de forma precisa el problema,
describiendo los factores a tener en cuenta y estableciendo de forma concisa el propósito del estudio,
delimitando el alcance del análisis y proponiendo la duración estimada para la ejecución del proyecto.
En este paso se debe definir cuáles preguntas serán respondidas con los resultados del estudio de
simulación, así como el tiempo y los recursos requeridos para llevarlo a cabo.
En esta fase se debe definir claramente el nivel de detalle del modelo. Es importante la participación del
usuario final en la conceptualización, para que así el analista esté alineado con lo que espera el usuario.
POLITÉCNICO GRANCOLOMBIANO 8
• Establecimiento de los requerimientos de datos.
Es uno de los pasos que mayor complejidad representa en el proyecto, por lo tanto, generalmente es
aquel en donde se gasta la mayor parte del tiempo del cronograma. Contar con información precisa
sobre el funcionamiento del sistema es fundamental para el éxito del proyecto, si no se dispone de la
información en una base de datos o sistema de recolección de información, se debe realizar la toma
de datos dentro de la ejecución del proyecto de simulación, lo cual representa un gran obstáculo, por
eso se debe contar con las herramientas y el personal idóneo para dicha labor.
Esta instancia implica utilizar un programa de sistemas, ya sea de propósito general como Java, C++ o
Phyton, o de propósito especial como Arena, Flexsim o Simio.
Casi todos los proyectos de simulación requieren del almacenamiento y gestión de una gran cantidad
de información, lo que hace inviable su realización de forma manual, por ello, en el mercado existe
una gran variedad de software que permite modelar de forma sencilla las complejas interacciones del
sistema del mundo real. De esta forma, la responsabilidad del analista recae en garantizar que todos
los elementos del modelo conceptual construido en el paso anterior se lleven fidedignamente al
programa de computador.
POLITÉCNICO GRANCOLOMBIANO 9
2.6. Verificación y validación del modelo
Estos dos pasos son fundamentales en el éxito del proyecto, sin embargo, es común que se
confundan o se realice uno solo de los dos. Por eso es importante que el analista conozca el objetivo
de cada uno de ellos y los realice adecuadamente durante la ejecución del proyecto. En palabras
sencillas, se pueden definir como:
• Identifique claramente el tipo análisis de los datos resultantes: estado estable (steady-state) vs.
simulación con terminación (terminating simulation analysis).
• Número de corridas.
• Condiciones de inicialización.
Una vez determinadas las condiciones de ejecución, se deben realizar las corridas del modelo y
analizar los resultados obtenidos. Este análisis incluye:
POLITÉCNICO GRANCOLOMBIANO 10
• Estimación de intervalos de confianza para las medidas de desempeño.
• Interpretación de resultados.
Finalmente, una vez concluido el análisis de los resultados, el analista debe entregar un informe
completo pero conciso de los principales hallazgos y sus conclusiones y recomendaciones. Es normal
que también se incluya una copia del modelo se simulación utilizado para obtener dichas conclusiones,
pero este modelo debe estar debidamente documentado y parametrizado para que, en caso de
requerirlo, el usuario final pueda replicar los resultados. Así mismo, es común que a lo largo del
proyecto se hagan entregas parciales, las cuales deben seguir los mismos parámetros del informe final,
pero aclarando su alcance y estado de avance.
3. Herramientas de simulación
Finalmente, para cerrar esta introducción, es importante realizar un pequeño ejercicio de simulación para
resaltar los diferentes sistemas que intervienen en la ejecución de un modelo.
Aunque generalmente el software especializado se encarga de realizar todas las subrutinas necesarias para
llevar a término la simulación, es necesario que el analista conozca de primera mano cada una de ellas.
Estas rutinas deben estar acompañadas de herramientas de generación de números aleatorios y análisis
estadístico, sin embargo, en este momento el aspecto que se quiere resaltar es el funcionamiento general
del proceso de simulación.
POLITÉCNICO GRANCOLOMBIANO 11
Inicio
Programa
principal
Rutina de inicialización Rutina de temporización
0. Invocar la rutina de inicialización
1. Determina el siguiente tipo de
1. Pone reloj de simulación= 0 1. Invoca rutina de temporización 1 evento: i
i 2. Avanza el reloj de simulación
2. Inicializa estado del sistema 2. Invoca rutina de evento i
y contadores estadísticos Rutina del evento
3. Inicializa lista de eventos 1. Actualice e estado del sistema Librerías
2. Actualice contadores estadísticos Genera variables
Aleatorias
3. Genere futuros y súmelos a la lista de eventos
no
Termina la simulación
si
1. Calcular estimados de interés Pare
2. Escribir reporte
Finalmente, es importante resaltar que, aunque la secuencia anterior es la mejor forma de programar y
realizar una simulación de eventos discretos, para sistemas sencillos, como por ejemplo un sistema de líneas
de espera con un único servidor, es posible utilizar un enfoque diferente: en lugar de hacer un seguimiento
cronológico de los eventos, se puede hacer un análisis siguiendo a cada entidad, el cual se puede realizar sin
problema en una hoja de cálculo.
Para ejemplarizar dicho enfoque a continuación, se presenta un sistema de un único servidor y la simulación
de la atención de 5 clientes. Para la simulación se necesita generar los tiempos entre arribos de los clientes y
los tiempos de servicio del servidor. Estos son los siguientes tiempos para considerar:
POLITÉCNICO GRANCOLOMBIANO 12
Tabla 2. Datos de entrada para el modelo de simulación
Para realizar la simulación, se debe determinar para cada cliente la hora a la que llega al sistema (hora
de arribo), la hora a la que comienza a ser atendido (hora de inicio del servicio) y la hora a la que sale
del sistema (hora de fin del servicio). Además, se puede calcular el tiempo que tardó cada cliente en
espera (tiempo en la fila) y el tiempo total que gastó un cliente en el sistema (tiempo en el sistema).
Para ello, se completa la siguiente tabla:
POLITÉCNICO GRANCOLOMBIANO 13
Note que la hora de arribo de cada cliente se haya al sumarle a la hora de arribo del cliente anterior el
tiempo entre arribos del nuevo cliente, por ejemplo, para el cliente 2 se tiene:
0 +14 = 14
Para el cliente 3:
14 + 25 = 39
Para el cliente 4:
39 + 12 = 51
Y para el cliente 5:
51 + 20 = 71.
La hora de inicio del servicio es una relación entre la Hora de arribo de un cliente y la hora de fin del
servicio del cliente anterior, de los cuales se escoge el mayor, por ejemplo, para el cliente 2 se tiene:
máx (14, 20) = 20
Para el cliente 3:
máx (39, 35) = 39
Para el cliente 4:
máx (51, 56) = 56
Y para el cliente 5:
máx (71, 72) = 72
Finalmente, para la hora de fin del servicio se suma la hora de inicio del servicio y el tiempo de
servicio, por ejemplo, para el cliente 2:
20 + 15 = 35
Para el cliente 3:
39 + 17 = 56
Para el cliente 4:
56 + 16 = 72
Y para el cliente 5:
72 + 12 = 84
POLITÉCNICO GRANCOLOMBIANO 14
Los tiempos de espera y en el sistema corresponden a la diferencia entre dos horas; para el tiempo en
la fila se calcula la diferencia entre la hora de inicio del servicio y la hora de arribo, por ejemplo, para el
cliente 2:
20 - 14 = 6
Para el cliente 3:
39 - 39 = 0
Para el cliente 4:
56 - 51 = 5
Y para el cliente 5:
72 - 71 = 1
Para el tiempo en el sistema se calcula la diferencia entre la hora de fin del servicio y la hora de arribo,
por ejemplo, para el cliente 2:
35 - 14 = 21
Para el cliente 3:
56 - 39 = 17
Para el cliente 4:
72 - 51 = 21
Y para el cliente 5:
84 - 71 = 13
Con los resultados del modelo, se pueden calcular las medidas básicas de desempeño, por ejemplo:
• Tiempo promedio de espera de un cliente ( ): se suman los tiempos en la fila de todos los
clientes y se divide el resultado entre el número total de clientes atendidos.
POLITÉCNICO GRANCOLOMBIANO 15
• Tiempo promedio de un cliente en el sistema ( ): se suman los tiempos en el sistema de
todos los clientes y se divide el resultado entre el número total de clientes atendidos.
• Tiempo promedio de un cliente en servicio ( ): se suman los tiempos en servicio de todos los
clientes y se divide el resultado entre el número total de clientes atendidos.
• Número promedio de clientes en espera ( ): se suman los tiempos en la fila de todos los
clientes y se divide el resultado entre el tiempo total de la simulación.
• Número promedio de clientes en servicio ( ): se suman los tiempos en servicio de todos los
clientes y se divide el resultado entre el tiempo total de la simulación.
• Tasa promedio de arribos ( ): se divide el número total de clientes que llegan al sistema entre
el tiempo total de la simulación.
POLITÉCNICO GRANCOLOMBIANO 16
Este mismo método se puede utilizar con sistemas sencillos de líneas de espera.
En síntesis...
Las principales medidas de desempeño de un sistema de líneas de espera, en estado
estable, incluyen tres tiempos promedio y tres números promedio de entidades:
POLITÉCNICO GRANCOLOMBIANO 17
Referencias
Banks, J. (2010). Discrete-event System Simulation. New Jersey, EE. UU.: Prentice Hall.
Shannon, R., & Johannes, J. D. (1976). Systems Simulation: The Art and Science. IEEE Transactions
on Systems, Man, and Cybernetics, 6(10), 723–724. Recuperado de: https://doi.org/10.1109/
TSMC.1976.4309432
POLITÉCNICO GRANCOLOMBIANO 18
INFORMACIÓN TÉCNICA
Módulo: Simulación
Unidad 1: Introducción a la simulación de eventos discretos
Escenario 1: Introducción a la simulación
POLITÉCNICO GRANCOLOMBIANO 19