03 Jun

Material de la conferencia AnyLogic 2019 disponible

Ya está disponible el material de la conferencia AnyLogic 2019, incluyendo fotos, presentaciones en PDF y videos. Esta conferencia es la cita anual de las empresas más representativas y usuarios en general de este software, quienes se reunen para presentar sus avances y conocer las nuevas tendencias en simulación. Este año tuvo lugar en Austin (Texas).

Hubo muchas presentaciones interesantes, en sectores tan diversos como Retail, Petróleos, Farmacéutica, Minería, etc. Este año hubo mucho interés en la integración de la inteligencia artificial en la simulación. Se presentó además la nuva versión Cloud privada de AnyLogic, la cuál permite ademá de hacer hosting individual, la posibilidad de personalizar la interfaz e integrarla con herramientas de visualización separadas tipo Tableau.

Todos el material se encuentra disponible en el siguiente link

Los invito además a ver el video de mi conferencia titulada: Combinando simulación y diseño LEAN en el aeropuerto internacional de Montreal para implementar un EBS (Combining Simulation and Lean Design at the Montreal International Airport to Implement an Early Bag Storage (EBS))

17 Dec

Curso para aprender la libraría de fluídos de AnyLogic en Udemy

Para aquellos interesados en aprender a utilizar la libraría de fluídos de AnyLogic, el existe un curso muy interesante en la plataforma virtual Udemy dictado por el consultor Felipe Haro (Noorjax Consulting). El curso es bastante completo, cubre desde los principios básicos de fluídos y los elementos de la librería, hasta el desarrollo de modelos complejos. Para aquellos interesados en desarrollar modelos de producción que impliquen fluídos y/o baches, o para transporte y almacenamiento de líquidos, para aquellos interesados en el sector energético, o incluso para los curiosos en la libería de fluídos, vale la pena tomarlo.

El curso está disponible en el siguiente link https://www.udemy.com/anylogic-fluid-library/

Para los lectores de este blog, Felipe ha obsequiado varios cursos, ingresando el código ALVAROGIL al momento de inscribirse al curso (Have a coupon?).

 

30 Oct

Ejecutar el modelo de AnyLogic en Google Chrome

Esta semana leí un comentario en LinkedIn de un usuario que sugería utilizar Google Chrome para ejecutar las simulaciones en AnyLogic 8.X en vez de el browser por defecto Chromium.

Para hacerlo es necesario agregar dos lineas al archivo com.anylogic.preferences.prefs, el cuál se encuentra normalmente en la siguiente ruta:

C:\Users\Username\.AnyLogicProfessional\Workspace8.3\.metadata\.plugins\org.eclipse.core.runtime\.settings\com.anylogic.preferences.prefs

Y agregar las lineas:

AnyLogic.StandaloneBrowserPath=C\:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe 

AnyLogic.StandaloneBrowserCommandArguments=$1

Lo intenté y funciona muy bien.

La razón para el cambio es sencilla, Chromium es un navegador Open Source muy potente y cuyo código de base es escencialmente el mismo Google Chrome. Este último sin embargo es mantenido por Google y por ende tiene algunas funcionalidades  adicionales como la compatibilidad con Flash y varios codecs adicionales para renders que permite obtener mejor resolución y en algunos casos rapidéz al correr animaciones. Este argumento es el que me permite decidirme por Chrome en vez de Chromium.

Al hacer una búsqueda en la red encontramos varios sitios que aseguran haber hecho tests comparativos para encontrar el mejor browser. Un ejemplo lo encontramos en kaputniks.org, donde analizan 6 diferentes navegadores encontrando que Google tiene merjor rendimiento frente a los otros 5.

Los invito a ensayar esta opción.

06 Jan

Nueva librearía de AnyLogic: Manipulación de materiales

La próxima versión de AnyLogic programada para abril de 2018 incluirá como adición principal la nueva librería de manipulación de materiales (material handling), la cuál permitirá incluir objetos prediseñados como bandas y rodillos transportadores (conveyors), platos giratorios (turn plate), mesas de transferencia (transfer table), sistemas de almacenamiento, robots, gruas y vehículos autogiados (AGV).

A continuación algunos slides de la presentación de esta librería realizada por Andrei Borshchev y Nikolay Churkov durante la última Winter Simulation Conference en diciembre de 2017.

Puede descargar la presentación completa en el siguiente link Material Handling Modeling in AnyLogic WSC

24 Jul

Conferencia AnyLogic abril 2018

Recientemente se anunció la fecha de la próxima conferencia de simulación del fabricante AnyLogic que tendrá lugar el 18 y 19 de abril de 2018 en la ciudad de Baltimore (Maryland, USA), ver link.

A pesar que en años anteriores la conferencia se realizaba entre los meses de noviembre y diciembre de manera que coincida con el WinterSim (inicialmente) y posteriormente a la conferencia anual de INFORMS, esta vez la empresa ha decidido hacer un viraje y unirla a la conferenca especializada en inteligencia de negocios e investigación de operaciones organizada por el mismo INFORMS, la cuál tendrá lugar en Baltimore entre el 15 y el 17 de abril de 2018 (ver link). Según lo conversado con Derek Magilton, director de desarrollo de negocios de AnyLogic para norteamérica, este cambio obedece a la búsqueda de un público especializado en soluciones empresariales más que el público de índole académico el cuál es predominante en la conferencia general de INFORMS.

El cambio de fecha puede tener resultados positivos ya que en años anteriores se ha observado que el número de asistentes y de presentaciones se ha estancado lo cuál limita la popularicación de la simulación como técnica así como del software. Sin embargo, este cambio podría retrasar la rapidez en el desarrollo de ciertas funcionalidades del software que se lanzan al público generalmente en el mes de la conferencia anual. Particularmente el siguente gran desarrollo corresponde a la nueva librería de manipulación de materiales (Material Handling) la cuál es muy esperada por muchos usuarios en sectores de logística y manufactura. Por cuenta de este cambio y según confirma Gregory Monakhov del grupo de soporte técnico de AnyLogic, se espera liberar esta funcionalidad en el primer semestre de 2018, justamente para la conferencia anual.

Buena jugada? lo sabremos en abril. Nos vemos en Baltimore.

01 Apr

Nueva versión de AnyLogic 8 (cloud)

AnyLogic lanza oficialmente su versión 8 la cuál cuenta como atractivo principal que permite exportar los modelos a la nube para compartirlos pública o privadamente a usuarios seleccionados como en el caso de clientes (ver lista completa de adiciones a esta versión).

AnyLogic cloud es de acceso público, disponible en https://cloud.anylogic.com

Una vez dentro, el usuario podrá acceder a la galería de modelos públicos así como a los que el usuario tenga en su cuenta bien sea por haberlos cargado desde AnyLogic o por haber clonado modelos existentes (ver imagen)

Al elegir un modelo, el usuario puede ejecutarlo en modo virtual que es bastante rápido, o utilizando un vector que es una adaptación menos sofisticada del modelo original que permite visualizar los controles, estadísticas y en algunos casos la animación 2D. La animación 3D y objetos personalizados no están disponibles aún en esta versión.

Una ventaja importante de este mecanismo es que permite ejecutar y guardar varias configuraciones del mismo modelo (incluyendo los gráficos y estadísticas finales), de manera que los resultados se pueden comparar e incluso exportar a Excel. Además, los ficheros fuentes no están basados en Applets de Java lo que definitivamente era un inconveniente en la metodología anterior, cuando los modelos eran exportados a runthemodel y eran bloqueados por motivos de seguridad, lo que limitaba el acceso y divulgación. Finalmente, los modelos pueden ser ejecutados desde un navegador utilizando cualquier dispositivo (laptop, tableta, smartphone, etc.).

Muy interesante y necesario este salto pues esta es precisamente la tendencia de los demás simuladores y herramientas de toma de decisión, permitiendo no solo la colaboración con desarrolladores y clientes sino también la ejecución rápida de experimentos en un ambiente multi plataforma.

El siguiente video muestra varias funcionalidades de AL Cloud.

Los invito a descargar esta nueva versión en el siguiente link y a experimentar con esta nueva funcionalidad.

02 Sep

Flow Shop Scheduling

Flow Shop Scheduling

Recientemente trabajé en un proyecto con estudiantes de la universidad de Seúl (Korea) para desarrollar un simulador que pudiese implementar diferentes algoritmos de organización de la producción en un taller tipo Flow-Shop.

El modelo fue desarrollado en AnyLogic utilizando simulación a base de agentes. Los trabajos y las máquinas se representan por agentes y deben organizar la producción (secuencia de trabajos) según la metodología previamente definida. Estas metodologías pueden ser:

  • Alocación aleatoria
  • Organizado en forma ascendente por tiempo total de ciclo
  • Organizado en forma descendente por tiempo total de ciclo
  • NEH: Llamado así por sus autores Nawaz, Enscore y Ham, es tal vez el algoritmo mas eficiente par organizar talleres tipo flow shop. Parte de la organización iterativa de los trabajos comenzando por los tiempos de ciclo mayor, evaluando a cada iteración el makespan esperado y eligiendo el menor. Puede encontrar una explicación con ejemplos en el siguiente link
  • Secuenciación multi-etapa: Algoritmo propuesto por Modrák y Pandian (ver link) el cuál es una adaptación del famoso algoritmo de Johnson (1954) considerado como el mejor método de organización de 2 máquinas y n trabajos. Este algoritmo agrupa las m máquinas en dos grupos transformando el tiempo de trabajo de cada  unidad y a continuación aplica el método Johnson tradicional.

El modelo permite agregar variabilidad al tiempo de trabajo, lo que repercute en la organización original requiriendo que periódicamente los algoritmos deban ser re-ejecutados para evaluar el plan de trabajo.

Una etapa futura de este proyecto consiste en agregar múltiples máquinas por estación, almacenamientos temporales (buffers) y estratégias de re-organización que combinen las heurísticas descritas arriba con mecanismos de negociación entre los agentes de manera que las estaciones resuelvan horizontes relativamente cortos de planificación de manera autónoma.

Un video de este modelo se presenta a continuación.

16 Aug

Cuándo usar Java Class y cuándo Agentes en AnyLogic

class vs agent

Para aquellos familizarizados con la programación, es común la utilización de clases en la manipulación de objetos. Una clase en términos generales es una plantilla de código donde se crean los objetos del programa. Los objetos son entidades personalizadas con atributos y operaciones específicas (para entender con mayor detalle el concepto de clases y objetos sugiero leer los siguientes artículos: conceptos y ejemplo sencillo ).

Un concepto similar a una clase es un agente. Los agentes son plantillas genéricas que permiten capturar atributos (parámetros, variables, colecciones, etc.), realizar calculos, gráficos, animaciones e incluso incrustar grupos de agentes adicionales. Todas estas funcionalidades son igualmente posibles en una clase Java, así que porqué utilizar una u otra figura?

Desde el punto de vista de complejidad y curva de aprendizaje, el agente es mejor opción ya que todas sus propiedades son creadas con solo arrastrar el ícono del elemento requerido. Por ejemplo, si se quiere agregar una variable, se arrastra el ícono correspondiente, se cambia el tipo de valor (doble, string, etc.) y se re-nombra. Igual con colecciones, poblaciones, estadísticas, etc. (ver animación).

agent ex

La misma operación en una clase requiere de cierto conocimiento de programación para poder definir correctamente las variables, tipo de acceso, funciones, etc. En otras palabras, todo debe hacerse mediante código (ver animación).

class ex

Una clase puede volverse confusa para un usuario si desde su diseño no ha sido bien estructurada. Una práctica recomendada por muchos usuarios es utilizar agentes de manera general, incluso convertir las clases Java en agentes (AnyLogic ofrece esa posibilidad como se observa en la imagen siguiente)

convert_class

Otro beneficio relacionado con el uso de agentes es las poblaciones. Grupos de agentes pueden ser almacenados y manipulados en poblaciones, las cuales tienen incluso funciones pre-definidas que permiten organizar, filtrar, etc. Las clases Java no pueden almacenarse igual y deben ser (si se requiere) añadidas a colecciones.

Cuando usar clases?

A pesar de ser recomendados los agentes, dado que se pueden realizar las mismas actividades existen casos en los que es mejor utilizar clases, a continuación algunos ejemplos:

  1. Almacenamiento de información: En muchos modelos se requiere almacenar información (local o global) que no requiere ser manipulada, solo creada y consultada. Un ejemplo muy común es la creación de órdenes o pedidos, o la lista de pasajeros de un vuelo, o los registros de mediciones de un evento. La clase Java Pedido puede ser la lista de ítems requeridos con cantidad. Se crea periódicamente y se envía a una gente para que aliste los productos en una bodega cuyo contenido es una lista con objetos (agentes o simplemente números).
  2. Cálculos o Elementos que requieren ser transportados entre diferentes softwares: Cuando se trabaja en equipos de desarrollo, es común que partes del mismo programa sean desarrollados por diferentes personas o equipos. Los cálculos  son generalmente desarrollados por especialistas en el mismo o diferente software y luego enviados a los modeladores para ser incorporados. Las clases son ideales para esto pues son transportables y pueden ser validadas en otros ambientes (tests funcionales y control de cambios).
  3. Limitación de agentes: Ciertas versiones de AnyLogic como la PLE tienen limitaciones en cuanto al número de agentes a utilizar y por ende si el modelo es complejo se requiere combinar clases con agentes (ver comparación de ediciones, sección tamaño del modelo).

 

Editions