Está en la página 1de 19

Unidad 1 / Escenario 1

Lectura fundamental

Inicios de la simulación

Contenido

1 Sistema y modelo

2 Metodología para hacer un estudio de simulación

3 Herramientas de simulación

Palabras clave: simulación de eventos discretos, Procesos estocásticos, Simulación de procesos.


Introducción
La simulación es una de las herramientas más poderosas para el modelado y análisis de sistemas
complejos; básicamente se trata de construir una historia artificial para la evolución temporal de
un sistema y con base en esta historia sacar conclusiones sobre las principales características del
funcionamiento real del sistema.

Como lo definen Shannon y Johannes, “la simulación es el proceso de diseñar un modelo de un


sistema real y llevar a término experiencias con él, con la finalidad de comprender el comportamiento
del sistema o evaluar nuevas estrategias, dentro de los límites impuestos por un cierto criterio o un
conjunto de ellos, para el funcionamiento del sistema” (Shannon y Johannes, 1976).

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.

En la siguiente gráfica se resumen los métodos de análisis de un sistema:

Señor diseñador, por favor construir un gráfico similar al siguiente:

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

Figura 1. Métodos para estudiar un sistema


Fuente: elaboración propia

Las ventajas de utilizar un modelo se simulación para el análisis de un sistema son variadas, entre ellas
se destacan (Law, 2013):

• Permite obtener una visión general de la operación de un sistema y verificar el impacto de


posibles cambios en su desempeño.

• Mejora y facilita la comprensión del sistema y sus elementos.

• Facilita la experimentación de políticas y nuevas configuraciones, en la búsqueda del


mejoramiento del sistema.

• Genera ahorros potenciales al reducir los costos de implantaciones erróneas.

Sin embargo, la simulación no siempre es la herramienta adecuada, en algunos casos no es


recomendable su uso, por ejemplo (Banks, 2010):

• El problema se puede resolver por sentido común.

• Es viable resolver de manera analítica.

• Es viable o más económico hacer el experimento sobre el sistema.

POLITÉCNICO GRANCOLOMBIANO 3
• El costo excede el ahorro.

• No hay tiempo o recursos disponibles.

• No hay datos disponibles.

• No hay suficiente tiempo o personal para validar el modelo.

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:

• Estimación de medidas de desempeño en un sistema de producción, sistemas de inventario,


procesos de fabricación, dirección de materiales y operaciones de logística.

• Diseño y planeación de la capacidad de sistemas informáticos, por ejemplo, un centro de


atención telefónica.

• Evaluación y mejora de operaciones portuarias, tales como puertos o terminales marítimos.

• Mejoramiento de operaciones del cuidado médico, transacciones financieras y bancarias,


sistemas del transporte y aeropuertos, entre muchos otros.

• Diseño de estrategias de abastecimiento y localización de recursos en operaciones militares.

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:

Señor diseñador, por favor construir un gráfico similar al siguiente:

Modelo del sistema

Físico Matemático

Determinístico Estocástico

Estático Dinámico Estático Dinámico

Discreto Continuo Discreto Continuo

Figura 2. Clasificación de los modelos matemáticos


Fuente: elaboración propia

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.

• Atributos: propiedad o características de las entidades.

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

• Variables de estado: colección de variables que describen 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:

Tabla 1. Elementos del sistema de una sucursal bancaria

Sistema Sucursal bancaria


Entidades Los clientes del banco.
Atributos Hora de llegada de un cliente, la operación a realizar.
Operaciones bancarias, la rotación de cajeros, la intervención
Actividades
de la gerencia, etc.
Demoras Tiempo en cola, etc. (demora en LIFO).
Número de cajeros en operación, número de clientes en atención,
Variables de estado
número de clientes por colas, etc.
Llegada de un cliente, la llegada/retiro de un cajero, la atención de un
Eventos
cliente, el abandono de la fila, el cambio de fila, la caída del sistema, etc.
Recursos Cajeros, computadores, etc.

Fuente: elaboración propia

¿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):

Señor diseñador, por favor construir un gráfico similar al siguiente:


Formulación
del problema

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

Figura 3. Metodología para hacer un estudio de simulación


Fuente: elaboración propia

A continuación, se describen cada uno de esos pasos con más detalle:

2.1. Formulación del problema

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.

2.2. Objetivos y definición del plan

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.

Las principales actividades que se desarrollan en este paso son:

• Determinar la pertinencia de la aplicación de simulación.

• Identificar posibles escenarios a estudiar.

• Identificar criterios de decisión.

• Identificar claramente el usuario final.

• Determinar requerimientos de datos.

• Determinar requerimientos de hardware, software y personal.

• Determinar el horizonte de tiempo y cronograma de trabajo.

• Establecer el plan de costos.

2.3. Conceptualización del modelo

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.

Las principales actividades por desarrollar en este paso son:

• Abstracción de las características principales, ese decir, eventos, actividades, entidades,


recursos, variables, atributos y las relaciones entre ellas.

POLITÉCNICO GRANCOLOMBIANO 8
• Establecimiento de los requerimientos de datos.

• Definición de las medidas de desempeño.

2.4. Recolección 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.

En general, como resultado de este paso se debe garantizar que:

• Se cuenta con suficiente información para realizar el análisis de entrada y la validación.

• Se realiza un análisis estadístico robusto de los datos.

• Se identifican las variables aleatorias relevantes del sistema.

• Se hace el ajuste de distribuciones de probabilidad para dichas variables.

2.5. Construcción del modelo

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:

• Verificación: proceso en el que se determina si la operación lógica es correcta, es decir, se


realiza la depuración del software de simulación.

• Validación: proceso en el que se determina si el modelo representa adecuadamente el sistema.


Aquí se hace una comparación de los resultados del modelo con los datos recolectados a partir
del sistema real.

2.7. Diseño de experimentos

Una vez se tiene programado el modelo de simulación en el software, es necesario establecer


los parámetros de ejecución de tal forma que garanticen que los resultados del modelo tienen la
suficiente significancia estadística y práctica para soportar el proceso de toma de decisiones. Es decir,
es necesario que el analista:

• Determine si deben o no simularse diferentes escenarios.

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

• Longitud de cada corrida.

• Condiciones de inicialización.

2.8. Corridas del modelo y análisis

Una vez determinadas las condiciones de ejecución, se deben realizar las corridas del modelo y
analizar los resultados obtenidos. Este análisis incluye:

• Pruebas estadísticas para determinar la significancia estadística de los resultados.

• Estimación puntual de las medidas de desempeño.

POLITÉCNICO GRANCOLOMBIANO 10
• Estimación de intervalos de confianza para las medidas de desempeño.

• Interpretación de resultados.

• Si no se alcanza el nivel de precisión deseado, se debe considerar la realización de más corridas.

2.9. Documentación e informes

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.

A continuación, se presenta un diagrama de flujo para el control de un programa de simulación, en el cual se


sigue el enfoque de un evento. Allí se resaltan las tres principales subrutinas que debe tener todo simulador.

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

Figura 4. Metodología para hacer un estudio de simulación


Fuente: elaboración propia

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

Tiempo entre arribos Tiempo de servicio


Cliente
(minutos) (minutos)
1 0 20
2 14 15
3 25 18
4 12 16
5 20 12

Fuente: elaboración propia

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:

Tabla 3. Modelo de simulación con un servidor

Tiempo de Tiempo en la Tiempo en el


Tiempo de Hora de inicio Hora de fin
Cliente arribo fila sistema
servicio (minutos) del servicio del servicio
(horas) (minutos) (minutos)
1 20 0 0 0 20 20
2 15 14 20 6 35 21
3 17 39 39 0 56 17
4 16 51 56 5 72 21
5 12 71 72 1 84 13

Fuente: elaboración propia

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 el sistema ( ): se suman los tiempos en el sistema 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:

W: Tiempo promedio de un cliente en el sistema

Wq: Tiempo promedio de espera de un cliente

Ws: Tiempo promedio de un cliente en servicio

L: Número promedio de clientes en el sistema

Lq: Número promedio de clientes en espera

Ls: Número promedio de clientes en servicio

POLITÉCNICO GRANCOLOMBIANO 17
Referencias
Banks, J. (2010). Discrete-event System Simulation. New Jersey, EE. UU.: Prentice Hall.

Law, A. M. y Kelton, W. (2013). Simulation Modeling and Analysis. McGraw-Hill.

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

Autor: Juan Carlos Gutiérrez

Asesor Pedagógico: Carlos Andrés Marín Rodríguez


Diseñador Gráfico: Kelly Yohana Valencia Forero
Asistente: Laura Andrea Delgado Forero

Este material pertenece al Politécnico Grancolombiano.


Prohibida su reproducción total o parcial.

POLITÉCNICO GRANCOLOMBIANO 19

También podría gustarte