Software de Simulación

SOFTWARE DE SIMULACION: 5 ASPECTOS CLAVES PARA NO EQUIVOCARSE SELECCIONÁNDOLO.
Frecuentemente nuestros clientes nos preguntan qué software de simulación es el adecuado y cómo seleccionarlo teniendo en cuenta

sus beneficios y costo. Este artículo busca darle algunos consejos clave resultado de lo aprendido con los años trabajando en simulación.

Probablemente hubo un largo debate interno en su organización, o usted fue partícipe de un largo proceso de venta interno con las directivas y compañeros para llegar a la frase tan esperada: “Aprobado, proceda a seleccionar un software de simulación”. Para muchos una victoria, en realidad este es el punto donde empiezan las preocupaciones. En efecto, nadie quiere ser recordado años después como “el tipo/ la persona que seleccionó ese software de los años 70 que nadie sabe usar” o como “el que nos volvió conejillo de indias de ese nuevo software recién salido al mercado”.
Hace algunos años, cuando decidimos empezar a trabajar el tema de simulación en nuestra compañía de consultoría, los socios unánimemente decidimos (más bien decidieron) encargarme a mí y a otro consultor (hoy nuestro especialista en simulación) de estudiar en profundidad los software disponibles en el mercado y decidir cuál debía ser el enfoque en este sentido de la c

ompañía. Una difícil tarea teniendo en cuenta que los recursos eran limitados (y todos sabemos que un software de simulación puede llegar a ser bastante costoso) y que de esto dependía el futuro de nuestra empresa. Hoy, 6 años después y varios proyectos de simulación exitosos después, me alegra haber tomado una decisión correcta en este sentido. Espero que nuestros aprendizajes, aciertos y sobre todo errores le ayuden en esta difícil tarea.

Ante todo, debe aclararse que cada organización tiene necesidades y particularidades únicas por lo cual debe ante todo tenerlas muy claras, de manera tal que pueda analizar, ponderar y calificar los distintos parámetros y criterios que sugerimos en el artículo. Un software que es conveniente para una empresa, no tiene porqué serlo para otra. En el caso de nuestra organización, tuvimos en cuenta bastantes factores de los cuales enuncio los que considero de mayor utilidad general.
Sencillez (facilidad de uso):
El análisis de datos de entrada y de salida, estructuración del proyecto y enfoque del modelamiento pueden ser temas bastante complejos y que

consumen tiempo, ¿porqué querer además de esto sumarle un tiempo considerable (ver meses) en aprender a usar una herramienta de simulación? ¿Por qué tener un software lleno de tablas, y relaciones entre tablas difíciles de entender? ¿Softwares donde deben hacerse “trucos” para que el modelo se parezca a los que se busca simular? Cuando se tienen programas que no permiten simular la realidad de lo que se requiere, es usual ver modelos paralelos, trucos combinando elementos del programa, etc… Por ejemplo más de una vez he oído “este modelo que está al lado controla el tiempo, este otro modelo controla la llegada de material al sistema, este otro controla cuando se vuelve disponible x o y recurso”. ¡Esto no debe suceder! Opino que un programa de simulación debe ser tan sencillo de usar que incluso un adolescente con un corto entrenamiento pueda usar. La pericia y valor agregado de quien modela debe estar en la ingeniería del proyecto, en qué modelar, cómo modelarlo, en estudiar los datos, los resultados, las conclusiones y NO en durar horas leyendo una y otra vez un manual de usuario y rogando encontrar esta vez lo que no se ha encontrado en las 6 leídas anteriores!

En resumen, la herramienta de simulación debe ofrecer una experiencia de modelamiento sencilla, transparente y asistida. Pida un demo a todos los proveedores y compare en parámetros como:
  1. Transparencia (evite modelamiento poco claro o basados únicamente en tablas)
  2. Intuitividad (evite modelamientos poco intuitivos donde el oferente le dice: “esto que ve en el modelo realmente no existe pero es necesario para controlar x o y, por favor ignórelo”)
  3. Existencia de un nivel de usuario básico para quien lo requiere (que permita a quien no es ingeniero de sistemas poder modelar)
  4. Existencia de ayudas durante el proceso de simulación (ayuda en cada ventana, textos explicativos en cada opción)
Motor 3D:
El Motor 3D es un aspecto que a veces desde el punto de vista puramente ingenieril puede parecer no tan importante. Sin embargo, los tiempos en los que los modelos sólo los veían y entendían los matemáticos e ingenieros ya no existen. Hoy en día un modelo de simulación debe ser socializado con direcciones operativas, de planeación, financieras e incluso comerciales. Así mismo, debe ser llevado a nivel de campo con colegas y operarios. En un mundo donde incluso los celulares tienen gráficos avanzados, ahí es donde la interface y atractivo 3D de un simulador se vuelve muy valiosa. Las simulación en 3D se vuelve más poderosa cuando podemos importar planos de AutoCAD (u otros software afines), figuras de 3D (como máquinas u otros recursos personalizados), e incluso donde los cajas, productos u otras entidades de flujo pueden tener el logo o la imagen exacta de la realidad en 3D. Esto es una ayuda importante para socializar, explicar, validar y aprobar un modelo de simulación.
En nuestro análisis de simuladores encontramos algo clave en el momento de preguntarles a los oferentes si tenían 3D. Algunos simuladores simplemente no tienen nada en 3D, estos en nuestro caso los descartamos de plano. Sin embargo, algunos de los proveedores decían tener 3D pero entrando un poco más en detalle nos llevamos una gran sorporesa: muchos de estos no tenían 3D, sino más bien un “emulador 3D”. Es decir tenían un módulo del programa que hace una “falsa” simulación en 3D que a veces incluso no tiene ninguna conexión con el modelo real. Mucha atención en con este punto, hay que entender a fondo que es 3D para el proveedor y que la sorpresa no surja durante el curso de entrenamiento cuando ya el software se compró. ¡Hay que evitar a toda costa 10 o 15 personas volteando a mirarlo con mirada crítica cuando empiece la explicación del 3D durante la capacitación!
Para terminar con este punto, el 3D no es solamente una herramienta de venta sino en casos como el nuestro y posiblemente el de su organización es un elemento clave del modelamiento. Por ejemplo, en simulaciones de almacenes y de plantas con varios niveles existen desplazamientos en el eje z que deben tenerse en cuenta. En estos casos se requiere que el software de simulación pueda modelar en las TRES dimensiones. Una vez más, mucho cuidado con software en los cuales sólo la animación es en 3D, mientras que toda la lógica del modelamiento está en 2D. Cuando estábamos seleccionando el programa a usar, para nosotros nunca fue una buena respuesta: “aunque no está modelado en 3D ud puede calcular las distancias en el eje Z y ponerlas sobre el eje X o Y para replicar el comportamiento pero en 2D”.
En cuanto a motor 3D recomendamos tener en cuenta parámetros como:
  1. Modelo y animación en 3D integrados
  2. 3D personalizable con importación de planos tipo CAD, imágenes y figuras en 3D.
  3. Modelamiento posible en los 3 ejes
  4. Atractivo del 3D pensando en venta interna y externa de los proyectos
  5. Generación de videos a partir del modelo
Versatilidad (aplicabilidad, flexibilidad): 
Aunque en muchas organizaciones la decisión de adquirir un software de simulación se genera en un área específica, nada impide o debería impedir que el software tome fuerza en otras áreas. Es por esto que la versatilidad o aplicabilidad del software de simulación a otros problemas debe ser una prioridad. Incluso esta cualidad puede ayudar a conseguir aliados o socios de otras áreas. En muchas organizaciones es más fácil justificar la adquisición de licencias si la herramienta puede emplearse conjuntamente en varias áreas como logística, producción e incluso atención al cliente (ej: sucursales, call centers,…).
Como es de esperarse la respuesta de los fabricantes a si es posible simular distintos tipos de problemáticas, sectores y sistemas es siempre sí. Siendo estrictos, la respuesta es correcta pues con modelamientos artificiales, simplificaciones gruesas y “trucos” siempre es posible simular cualquier sistema usando cualquier programa. La pregunta adecuada en realidad es “¿A qué costo puedo simular sistemas no naturales para el programa?”. Un ejemplo que siempre recuerdo es cómo se modela la estantería de un centro de distribución en uno u otro software.
En efecto, todo se puede modelar, pero en algunos es necesario poner una lógica de cola por posición de estantería si se quisiera modelar a ese nivel de detalle. Resumiendo, para tener un modelo muy pequeño de 4 estanterías de 6×4 necesitaríamos 96 (4x6x4) colas! Imagínese cuantas colas se requerirían para un centro de distribución pequeño o mediano. Claro, es posible como nos decía el fabricante simplificar el modelo y que cada estantería fuera una sola cola, sin embargo se pierde totalmente precisión del modelo sobre lógicas de picking y putaway por orígenes, destinos, pesos, áreas de alta y baja rotación, etc… El no tener en cuenta estos detalles, puede en muchos casos generar importantes imprecisiones en los resultados de tiempos, utilizaciones de recursos y capacidades entre otros.
Por eso es importante revisar con un poco más de detalle cómo se pueden modelar problemas como los de su organización. En nuestro caso privilegiamos programas que tuvieran integradas objetos con la lógica de estantería, elevadores, montacargas, robots, puente grúas y multiprocesadores entre otros.
Algunos parámetros que recomendamos tener en cuenta incluyen:
  1. Diversidad de los tipos de sistemas que pueden modelarse
  2. Dificultad relativa de modelar sistemas de: Logística, Producción (dividiendo en discreto y fluidos), atención al cliente (sucursales, call centers), otros
  3. Incluye los siguientes objetos (según los necesite su organización, y no aproximaciones complejas o con pérdida de detalle): montacargas, estantería, elevadores, puente grúas, robots, multiprocesadores y otros recursos que usted requiera en su modelamiento diario

Poder (posibilidades avanzadas que ofrece):

Un software de simulación debe ser sencillo de usar como veíamos en los parámetros de Sencillez, sin embargo esto no debe confundirse con “ser simple”. En efecto, debe ofrecer capacidades adicionales a los usuarios para que se conviertan en usuarios avanzados del programa. Algunas herramientas de las que evaluamos, después de unos meses usándolas o incluso algunas sólo semanas, se llega al límite de sus capacidades. Es decir la curva de aprendizaje rápidamente se detiene y se llega a un punto en donde se dice “ya conozco todo del programa y sé que no puede hacer nada más”. Adicionalmente en ese momento es donde se sabe a ciencia cierta que debemos hacer trucos para poder modelar los sistemas más complejos de nuestra organización pues ahora se sabe con certeza que el software no fue diseñado pensando en ellos.
Es por eso que en el caso de nuestra organización buscamos un simulador que tuviera adicional al usuario básico, uno intermedio y uno avanzado. El objetivo de tener posibilidades de personalización y modelamiento adicionales busca tener campo de hacer modelos de simulación con conclusiones mucho más impactantes. En este sentido hay varios aspectos claves, que revisaremos a continuación.
 Lo primero a tener en cuenta es la lógica básica de programación del software. En efecto, programas construidos con base en códigos cerrados y con funciones específicas por definición tienden a ser cerrados también desde el punto de vista de uso del programa. Esto es lógico si lo miramos desde la perspectiva de ingeniería de sistemas puesto que el código al ser limitado no permite que con los años el simulador crezca y mejore en funciones y herramientas para el usuario entre otros. Nosotros privilegiamos en este sentido a simuladores construidos en lenguajes como C++ o Java y fuimos críticos en este sentido con programas de códigos cerrados.
Otra ventaja adicional de los programas construidos en lenguajes como C++ o Java es la lógica de objetos que vuelve más sencillo el modelamiento y personalización de los elementos del sistema a simular. Así mismo, en este punto fue de vital importancia la reusabilidad de los modelos anteriores. Es decir qué tan factible es reutilizar recursos (máquinas, transportadores, …) u otras lógicas desarrolladas en proyectos anteriores. Para nosotros no era una opción tener que arrancar siempre de 0, más aún si era el Centro de Distribución, o planta número 10 que se simulaba en el año! De ser así, se perdería mucho tiempo. Incluso, para nosotros fue muy grato encontrar programas donde el mismo usuario podía generar librerías personalizadas de objetos sin mayor dificultad. Estas librerías pueden tener objetos predefinidos por usted que se usan frecuentemente en su organización como cierto tipo de máquinas, montacargas y estanterías entre otros. Así mismo, softwares de simulación personalizables ofrecen por lo general posibilidades ilimitadas de generar interfaces de usuario (GUI) que pueden controlar objetos del modelo o todo el modelo. Esta herramienta es excepcional si se busca que puedan experimentar con el modelo personas externas (ej: directivas). Por ejemplo una interface donde puedan “jugar” con las velocidades de máquina para ver el impacto en el trabajo en proceso.
Adicionalmente, para nosotros fue muy interesante ver que algunos aplicativos ofrecen conectividad con otros programas tales como bases de datos sencillas (ejemplo: Excel) o más avanzadas (Oracle, SQL,…). Al igual que pueden integrarse con base de datos, pueden integrarse con cualquier tipo de sistema que corra bajo Windows. Esta fue una característica importante para nosotros puesto que nos dio la seguridad de que podríamos construir cada día más, sin que nunca la curva de aprendizaje llegar a un tope.
En resumen los factores que recomendamos tener en cuenta los siguientes factores en cuanto a Poder se refiere:
  1. Existencia de niveles de usuario intermedio (lenguaje de alto nivel para no programadores) y avanzado (acceso a lenguaje base del programa), no únicamente básico
  2. Construcción del simulador en lenguaje de programación estándar (ejemplo: C++, Java)
  3. Posibilidad de creación sencilla de objetos y librerías personalizadas
  4. Posibilidad de creación de Interfaces de usuarios (GUIs)
  5. Grado de reutilización de desarrollos anteriores
  6. Construcción del programa usando lógica de programación por objetos

Otras herramientas:

Aunque no el punto que más tuvimos en cuenta, las herramientas adicionales que ofrece el simulador para facilitar la experiencia de usuario, análisis de datos y correr escenarios deben ser tenidas en cuenta.
Entre los programas de simulación encontramos interesantes opciones de herramientas que permiten correr o incluso optimizar variados escenarios del modelo en cuestión. Por ejemplo, permiten evaluar distintos tipos de configuraciones de máquinas, diferentes layouts o comparan diferentes grupos de políticas operativas. Estos análisis comparativos son muy interesantes cuando se trata de comparar KPI (Key Performance Indicators) que pueden ser definidos por el usuario (utilidad, tiempos de ciclo, niveles de utilización, y todos los imaginables).
Otras herramientas que nos parecieron de gran interés son las que permiten hacer la edición de los modelos de manera más rápida: adicionar, editar, borrar o conectar varios objetos a la vez. Así mismo, nos pareció muy interesante la opción de algunos simuladores de incluir dentro del modelo gráficos dinámicos en 3D con información clave del modelo (en diagramas de barras, de torta, etc…), así como para insertar diapositivas de Powerpoint pudiendo hacer una presentación a medida que se navega el modelo.
Finalmente recomendamos tener en cuenta que la herramienta en consideración tenga posibilidad de generar reportes personalizados que ayuden a la validación y generación de recomendaciones. Así, algunos de los programas permiten generar reportes con estadísticas descriptivas sencillas o complejas, al igual que diagramas diversos como gráficas de Gantt, diagramas de barras, de torta, comparativos e incluso permiten análisis de variables financieras clave.
Recomendamos parámetros de otras herramientas como:
  1. Herramienta de análisis de datos de entrada que incluya: principales tests de bondad de ajuste, generación de distribuciones empíricas y fácil de usar.
  2. Existencia de herramienta para correr y comparar escenarios de manera automática
  3. Herramienta de optimización de escenarios integrada
  4. Permite generar reportes personalizados que incluyen: gráficas personalizables (diagramas comparativos entre recursos, barras, tortas, Gantt), evaluación de variables financieras y evaluación de estadísticas descriptivas.
Espero que este artículo sea de utilidad para la difícil tarea de seleccionar un software de simulación. Sin embargo quiero ser muy enfático en que usted debe evaluar las necesidades de su organización definiendo cuáles de los criterios recomendados aplican y que peso relativo es el adecuado. Recuerde que un simulador que es el mejor para una compañía no necesariamente es la mejor opción para la suya.
Si tiene necesidades en simulación que no están siendo satisfechas, por favor contacte a Vatic Consulting Group. Se puede sorprender de la relación beneficio-costo que puede obtener. 
 
Por favor llame al (+571) 3136888 o escriba a servicioalcliente@vaticgroup.com y pregunte por los servicios de simulación de Vatic Consulting Group.
Top

Perspectiva Logística ¡ Suscríbase!

Newsletter Especializado en Cadena de Suministro