10 Apr

Sim Talk, un podcast dedicado a la simulación

Sim Talk es una interesante y divertida iniciativa de Jacob Ingalls (twitter), dedicando este podcast a la simulación, con entrevistas periódicas a especialistas (empresarios, académicos y usuarios en general) de la simulación. Este primer episodio es con una entrevista al Dr. Jeremy Tejada de la empresa SIMCON.

Los invito a seguir este podcast en el siguiente link.

07 Jan

Microsoft y la apuesta por la computación cuántica

Recientemente Microsoft anunció el lanzamiento de su kit de desarrollo para computación cuántica, el cuál se basa en el nuevo lenguaje Q# (pronunciado Q-Sharp). El kit es una adición a Visual Studio que permite codificar en Q# para ejecutarse en el mismo ordenador a través de un simulador cuántico (para pequeñas aplicaciones, menos de 30 qubits lógicos), o en la nube a través de Microsoft Azure para aplicaciones de mediana complejidad (hasta 40 qubits lógicos).

Una característica de este kit es que los scripts desarrollados podrán ser interpretados por el hardware cuántico una vez disponible en el mercado, es decir que ayuda a la divulgación y popularización de esta nueva y revolucionaria tecnología.

El siguiente video es una presentación de esta tecnología y la apuesta de Microsoft

En escencia la computación cuántica es un nuevo paradigma que basa su arquitectura en cubits los cuáles a diferencia de los bits pueden tomar múltiples valores al tiempo, lo que permite multiplicar la cantidad de combinaciones posibles y por ende expandir la velocidad de información transmitida, que traducido a términos prácticos puede significar un incremento de hasta 100 millones de veces sobre la velocidad de un computador convencional (aunque en el momento las versiones estables han llegado a computadores de 4000 veces más rápido, ver link1 y link2).

En vista de los revolucionaros resultados que se pueden obtener con esta tecnología, varias empresas están enfocando esfuerzos en tomar ventaja de ella y desarrollar aplicaciones en campos donde la complejidad computacional es elevada. Entre las posibles aplicaciones se encuentra la inteligencia artificial en el análisis de imágenes y la implementación de algoritmos de aprendizaje de máquina, la medicina para el análisis en tiempo real de imágenes y patrones que permitan soportar el diagnóstico y la detección temprana de enfermedades como el cancer. También se explora la utilización en modelos climáticos para mejorar la modelación y predicción. Las finanzas también se pueden ver beneficiadas gracias a la mejora de los algoritmos transaccionales y de modelación económica. La logística y las cadenas de suministro podrán utilizar esta tecnología para mejorar el cálculo de rutas óptimas (ver optimización). Para ver una lista más detallada los invito a consultar el siguiente artículo: Five ways quantum computing will change the way we think about computing

El siguiente video es una presentación y tutorial para desarrollar un ejemplo en Visual Studio en lenguaje Q#

Muy interesante esta apuesta de Microsoft, ya hemos hablado en este blog del viraje de esta empresa hacia un enfoque de innovación basado en Analytics (ver post).

07 Jan

Película AlphaGo disponible en Netflix

Para aquellos apasionados o curiosos con el tema de la inteligencia artificial les recomiendo la película (o tal vez documental) de nombre AlphaGo (disponible en Netflix desde enero de 2018), la cuál es basada en la creación del producto del mismo nombre desarrollado por la empresa Deep Mind, la cuál fue fundada en el Reino Unido en 2010 por Demis HassabisShane Legg and Mustafa Suleyman y que posteriormente fue adquirida en 2014 por Google. AlphaGo es un programa entrenado para jugar Go, el cuál es considerado como el juego de mesa de estrategia más complejo del mundo y que hoy en día cuenta con millones de practicantes en el mundo, principalmente en China, Japón y Korea. Los practicantes profesionales de este juego son clasificados en danes, donde el Dan 9 es para el nivel más alto. La película narra cómo AlphaGo aprendió e innovó su técnica para enfrentar al campeón mundial Lee Sedol (dan 9).

Deep Mind basa sus algoritmos de inteligencia artificial (AI) en la utilización del aprendizaje profundo o Deep Learning, técnica desarrollada por Geoffrey Hinton en la década de los 90s (y principios del 2000) la cuál es el fundamento de la AI tal y como se conoce hoy en día (ver artículo del MIT).

Los invito a ver la película. El siguiente trailer es un abreboca de esta interesante realizació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

06 Jan

Pyomo y JuMP: Nuevas plataformas de modelación matemática

Leí recientemente el material de una presentación realizada en la universidad Carnegie Mellon en marzo de 2017 cuyo objetivo es comparar diferentes plataformas de modelación matemática, unas tradicionales como GAMS y AMPL, otras comerciales de gran reconocimiento como AIMMS, y finalmente nuevas librerias especializadas como Pyomo (Python) y JuMP (Julia).

La presentación en general es muy interesante. A pesar que los autores tienen cierta afinidad con Pyomo y JuMP, hacen un recorrido general por las demás herramientas con una comparación objetiva exibiendo pros y contras de cada una.

La tabla siguiente presenta una cpmparación general de ciertos atributos de cada uno de estas plataformas.

Mi única objeción es que no se consideró el cuál cuenta con una serie de librerías dedicadas a la modelización y optimización (ver link en CRAN).

Un detalle interesante de la presentación es el énfasis que se hace en Python y Julia, los cuáles al igual que R son considerados los lenguajes de programación predilectos por los scientificos de datos (Data Scientist). La popularidad que estas librerías están adquiriendo permitirán a lo usuarios en cualquier nivel hacer la obtención, transformación, análisis, optimización y reporte de todas las fuente de datos al interior de un mismo lenguaje de programación, evitando la transferencia y utilización de archivos auxiliares (como bases de datos, CSV, etc.) para migrar información entre sistemas.

Recomiendo leer la presentación, puede ser descargada en el siguiente link  http://egon.cheme.cmu.edu/ewo/docs/EWO_Seminar_03_10_2017.pdf

05 Jan

Feliz año 2018!

Feliz año 2018 a todos los lectores de este blog!

Este año que comienza vamos a continuar con nuestro enfoque fundamental (analytics y simulación), así como el desarrollo de nuevas temáticas, entre ellas se incluye:

  • Nuevos modelos y tutoriales en AnyLogic
  • Análisis, transformación y presentación de resultados utilizando R y Python
  • Aplicaciones utilizando Markdown y Shiny
  • Utilización de openCV y TensorFlow para el tratamiento y análisis de imágenes
  • Aprendizaje de máquina e Inteligencia artificial
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.

15 Jun

Fighters!

El problema original fue publicado por la revista InfORMS en Octubre de 2014. A continuación su versión en español.

Cuatro combatientes debaten entre quién de ellos es el más fuerte. La figura 1 muestra a los cuatro combatientes: Allan, Barry, Charles y Dan.
Cada luchador tiene diferentes habilidades de ataque y resistencia. Al inicio de la batalla tienen diferentes puntos de resistencia: Allan tiene 10, Barry tiene 12, Charles tiene 16 y Dan tiene 18. Además, cada luchador tiene diferentes puntos de ataque: Allan tiene 4, Barry tiene 3, Charles tiene 2 y Dan tiene 1.
La batalla tiene lugar en varias rondas, cada una consistente en un solo ataque. En cada ronda, una atacante aleatorio y un defensor aleatorio son elegidos.
Cuando el atacante ataca a un defensor, el defensor pierde puntos de resistencia en la cantidad equivalente a los puntos de ataque del contrincante. Por ejemplo, si Allan es el atacante y Barry es el defensor, Barry perdería cuatro puntos de resistencia.
Los combatientes continúan atacando y defendiendo aleatoriamente en las rondas siguientes hasta que sólo queda un luchador, quien entonces es declarado ganador. Se elimina un luchador de la batalla cuando sus puntos de vida se convierten en cero (o menos).
Pregunta: ¿Qué peleador es más probable que gane la batalla?

 

Un simple ejercicio de simulación, la respuesta se publicará en una semana.

 

Respuesta

En el link de final de página se encuentra una macro sencilla que permite simular múltiples repeticiones de un combate entre los cuatro jugadores. El código que realiza la simulación se explica a continuación: En síntesis, una vez borrado el resultado de la ronda anterior, se elige un atacante y un defensor de manera aleatoria y se hace un ataque por un valor entre 1 y el mínimo entre el número de puntos de defensa y el número de puntos de ataque. Este valor se resta al jugador de defensa y se repite el proceso hasta que solo quede un jugador con puntos. Esto se contabiliza dentro del tablero de mando al inicio del archivo. Al final, luego de al menos 1000 repeticiones, se establece el jugador que más partidas ha ganado, que bajo las configuraciones descritas arriba es Charles con una probabilidad del 32.5%.

Descarga del archivo de Excel.

18 May

Macro para transferir archivos a un sitio FTP

Recientemente tuve un caso donde luego de realizar unos cálulos automatizados en Excel, el resultado debía transferirse a un sitio FTP.  El desafío entonces es si es posible crear una manera automatizada de transferir estos archivos al sitio remoto.

Encontré varios recursos en línea y gracias a ellos desarrollé la siguiente solución

En síntesis es una macro que crea un archivo de texto con las instrucciones en sintaxis FTP, luego crea un archivo Batch que transfiere instrucciones MS-DOS siguiendo cada una de las  líneas del archivo de texto. Al finalizar, crea un archivo con extensión .out donde se confirma la transferencia.

Nótese que es necesario cambiar el código para agregar el usuario y password correcto. En ocasiones el sitio FTP no requiere password pues la conexión es anónima. Si este es el caso, simplemente remueva esas dos líneas del código.

El siguiente video muestra el programa en ejecución.

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.

%d bloggers like this: