El siguiente es un recorrido por diferentes software de simulación.
Arena
Arena de propiedad de la empresa estadounidense Rockwell Automation, es uno de los software de simulación más tradicionales junto a Promodel y Simul8 con una amplia popularidad a nivel académico y empresarial luego de más de 30 años en el mercado. Utiliza como lenguaje de base SIMAN (ver link) y su interfaz gráfica es basada en bloques lógicos conectados como en la mayoría de software de simulación, probablemente Arena fue el primero en innovar con esta metodología y luego todos replicaron el mismo estilo.
Dentro de sus aplicaciones se encuentran: manufactura, logística, transporte y salud. Arena puede ser conectado con Excel y Access para cargar y exportar datos. También cuenta con una librería Visual Basic que permite ejecutar las simulaciones desde aplicaciones externas como Excel con VBA.
A partir de la versión 14 lanzada en 2014 Arena ha mejorado considerablemente su presentación gráfica y animaciones, lo que hasta entonces era una de sus debilidades.
El siguiente video es una presentación de la versión 14 profesional.
Libros recomendados
Si usted esta interesado en aprender este software, le recomiendo alguno de estos dos libros:
AnyLogic
AnyLogic es un software de simulación de origen Ruso fabricado por la compañía XJL Technologies, creado a comienzos de los años 90's por Andrey Borshchev actual CEO de la empresa. Esta plataforma de simulación integra diferentes paradigmas como la simulación de eventos discretos, los sistemas dinámicos y la simulación a base de agentes.
Si bien existen diferentes software de simulación, AnyLogic es uno de mis preferidos por su flexibilidad dado que está construído sobre un ambiente Eclipse en Java, lo que le permite incorporar no solo las funciones propias del software, sino muchas librerías externas y por ende ampliar aun más la gama de aplicaciones.
AnyLogic es el único softwre de simulación que integra todos los paradigmas de simulación en un único ambiente, lo que permite controlar el modelo por eventos, actividades, estados, ubicaciones, etc. Esto aunque suene irrelevante es en realidad una gran ventaja en términos de aplicaciones pues permite al modelador construir todo tipo de modelos e integrarlos en una misma plataforma si es necesario.
Los siguientes videos son solo algunos de los ejemplos del tipo de aplicaciones que se pueden construir:
- Hub de transporte
- Planta de manufactura
- Modelo de recogida de siembra (Agricultura)
- Modelo de defensa tierra-aire
- Sala de emergencias de un hospital
- Publicidad en el Times Square de Nueva York
- Demostración de la integración GIS en AnyLogic
También es posible acceder a estos y muchos más modelos de forma interactiva en el portal runthemodel.com, el cuál contiene una compilación extensa de modelos realizados en AnyLogic por usuarios de todo el mundo. Es importante que el usuario tenga la última versión del plug-in Java en su computador para poder ejecutar los modelos (ver ayuda).
Versiones de AnyLogic
Desde Noviembre de 2014 AnyLogic dio el salto hacia su version 7.x, en la cuál se unifican los conceptos de entidades, peatones, recursos, etc, para ser tratados como agentes y darle finalmente un enfoque unificado a los objetos.
Nuevas funcionalidades se incluyeron, entre otras, la integración con sistemas geográficos (GIS por sus siglas en inglés), lo que permite integrar mapas extraídos directamente de servicios de referencia como google maps en los modelos y extraer rutas, regiones y locaciones como referencias en la simulación (ver nueva versión AL).
En cuanto al tipo de edición a obtener, muchas ediciones existen donde varía su funcionalidad (como librerias accesibles, número de agentes a crear, exportación del modelo, etc) y su precio (desde versiones gratuitas hasta licencias de 15mil dólares). Para conocer los alcances detallados es aconsejable leer la comparación de versiones,
Para efectos de aprendizaje del software, es aconsejable comenzar con la versión PLE que es una gratuita con todas las funcionalidades de la licencia personal pero con limitaciones en cuanto al número de agentes a utilizar y la exportación de modelos (ver PLE).
Flexsim
Flexsim es un simulador de eventos discretos desarrollado en C++ usando tecnología Open GL para la redenderización. Es particularmente útil para desarrollar simulaciones con animaciones muy detalladas y baja/mediana complejidad.
Desarrollado por FlexSim Software Products, Inc. cuenta con una versión de base y varias versiones especializadas en aplicaciones como salud (ver Flexsim HC). Flexsim fue fundada en 1993 por Bill Nordgren (c0-fundador de Promodel), Roger Hullinger y Cliff King, originalmente bajo el nombre F&H Simulations Inc. (inicialmente se especializaban en otro software de simulación llamado Taylor II). A partir del año 2000 la empresa inició el desarrollo de su propio software y en 2003 fue lanzada la primera versión de Flexsim (ver wiki).
El software se encuentra actualmente en su versión 7.7. El siguiente video es una presentación de algunas funcionalidades de esta versión.
Existen compañías de consultoría especializadas como TALUMIS que diseñan soluciones de optimización basadas en simulación utilizando Flexsim.
NetLogo
Otro software muy utilizado para la simulación a base de agentes es NetLogo.
NetLogo fue diseñado en 1999 por Uri Wilensky en el centro para aprendizaje conectado y modelación basada en ordenadores CCL (Center for Connected Learning and Computer-Based Modeling) de la universidad Northwestern en Chicago (aunque inicialmente estuvo asociado a la universidad de Tufts en Boston MA). En sus orígenes fue diseñado basando su estructura en su programa antecesor StarLogo, sin embargo en el año 2000 el CCL fue trasladado a Chicago donde se re-estructuró y se diseñaron nuevas versiones basadas en Scala y Java que comenzaron a circular por internet a partir del año 2002. Actualmente se encuentra en su versión 5.2 (2015).
El énfasis de NetLogo es la simulación a base de agentes. Cuenta con una enorme comunidad de usuarios alrededor del mundo con aplicaciones en diversos sectores como la ecología, la economía, la física, la ingeniería, el tráfico y las dinámicas sociales entre otros.
Este programa es uno de los más utilizados en la simulación a base de agentes no solo por su facilidad y versatilidad, sino también por tratarse de un software gratuito que se desarrolla gracias a la contribución de la comunidad académica en todo el mundo
Las siguientes son algunas presentaciones que he realizado sobre este software y sus aplicaciones. La primera es una introducción general al sistema, la segunda es una presentación más avanzada sobre aplicaciones en redes.
Mercado Artificial de Valores en NetLogo
Finalmente la siguiente es la presentación de mi tesis como Magister en Economía en la cuál diseñé un mercado artificial de valores utilizando simulación multiagente desarrollado en NetLogo. El link al modelo se encuentra al final, desafortunadamente no es posible aún transferirlo a NetLogo Web ya que utiliza librerías externas.
Nota final
A partir del año 2013 el CCL inició un proyecto para integrar NetLogo a la web de manera que los usuarios puedan publicar y popularizar las aplicaciones del software. Esto debido a que las versiones originales permiten la exportacion a Java Applets que pueden ser ejecutados por exploradores web, sin embargo estos Applets han tenido serios cuestionamientos de seguridad y en consecuencia estan siendo lentamente excluidos del mercado (ver link).
Promodel
Este es tal vez uno de los mas tradicionales software de simulacion en el mercado. Nacio en 1988, creado por Charley Harrell y Bill Nordgren (quien luego fundara Flexsim en 1993). Este software orientado a eventos y escrito originalmente en Turbo Pascal fue el primero en utilizar una interfaz grafica para la construccion de simulaciones, razon por la cual es un referente para todos aquellos interesados en la simulacion (Lea el post de Charley Harrel luego de 25 años en Promodel).
Si bien es cierto Promodel cuenta con ciertas limitaciones como la falta de integracion con otros paradigmas, la falta de arquitecturas individuales y la baja calidad grafica, es tal vez el sistema mas simple y rapido de aprender, y tiene gran cantidad de especialidades, tales como Process Simulator que se integra con Visio y permite construir simulaciones basadas en flujos de procesos, EPS que es un simulador de portafolios para aplicaciones financieras y MedModel que es similar a Promodel pero con librerias adaptadas a procesos hospitalarios para la simulacion en salud.
Libros en español
Si usted esta interesado en aprender este sistema, le recomiendo alguno de estos dos libros:
Simio
Simio es un software de simulación basado en objetos inteligentes, combinando el enfoque en procesos (Arena) y el enfoque en Eventos (Promodel), que permite también la incorporación de sistemas continuos. Este software es fabricado por Simio LLC, compañía fundada por uno de los creadores de otro popular sofware de simulación Dennis Pegden (Arena).
Si usted está interesado en aprender este versátil software, usted puede descargar varios recursos gratuitos de la página de Simio, o comprar el libro versión PDF que contiene tutoriales paso a paso.
También puede visitar el blog se simulación de Simio en español (aunque parece que la última entrada data de febrero de 2013).
SIMUL8
Simul8 es un software de origen Británico creado por Mark Elder en 1994 (originalmente bajo la empresa Simul8 Corporation hoy Visual Thinking International), y que ha basado su popularidad y difusión en la integración con la academia. De hecho hasta hace unos cinco años era posible aplicar para becas de maestría y doctorado en universidades europeas a través de un programa de cooperación que requería que la tesis fuese desarrollada utilizando Simul8.
En cuanto a la parte técnica, Simul8 es un software de simulación de eventos discretos bastante intuitiva similar a Promodel, que puede ser integrado a Excel y Access y que cuenta con un lenguaje propio llamado Visual Logic que permite a los usuarios implementar rutinas complejas sin conocimiento previo de un lenguaje de programación. Adicionalmente tiene una extensión que puede ser integrada desde Visual Basic para usuarios más confortables con la programación.
Witness
Witness es un software de la empresa Lanner de origen Británico. Si bien no es muy fuerte en la parte gráfica es bastante robusto en el procesamiento de grandes datos. Adicionalmente la empresa Lanner tiene una gran trayectoria en consultoría lo que le permite desarrollar soluciones a la medida de los clientes utilizando Witness.
El siguiente es un video presentando la versión 14 del Software
Comentario final
Cada software de simulación tiene sus fortalezas y debilidades, yo particularmente trabajé durante seis años con Promodel y Arena, sin embargo estos paquetes carecían del enfoque multiagente, de manera que con el tiempo fui desarrollando modelos adicionales en Netlogo (simulación basada en agentes) y ciertas librerías especializadas (como Repast y simpy). Poco tiempo después comencé a trabajar con Flexsim y Simio por ser la evolución de los paquetes que ya conocía y finalmente conocí AnyLogic que es el software que hoy en día utilizo en la gran mayoría de mis aplicaciones.
Simio y Flexsim tienen como ventaja principal la facilidad en la construcción de modelos para usuarios con poca experiencia en simulación, sin embargo tienen algunas limitaciones al momento de implementar rutinas más complejas. En algunos blogs especializados he encontrado buenas referencias sobre Enterprise Dynamics, sin embargo no tengo experiencia aún en ese software.
La revista OR/MS Magazine publicada por la organización INFORMS publca anualmente una lista de los diferentes fabricantes y paquetes existentes, agrupados por características. La última edición data del año 2013.