La simulación se ha aplicado tradicionalmente en proyectos de diseño de sistemas en los que el objetivo básico es evaluar alternativas y predecir y mejorar el rendimiento del sistema a largo plazo. En este papel, la simulación se ha convertido en una herramienta empresarial estándar con muchas historias de éxito documentadas. Más allá de estas aplicaciones tradicionales de diseño de sistemas, la simulación también puede desempeñar un papel importante en la programación al predecir y mejorar el rendimiento a corto plazo de un sistema. En el contexto de la fabricación, la nueva tendencia principal se dirige hacia las fábricas conectadas digitalmente, que introducen una serie de requisitos únicos que las herramientas de simulación tradicionales no abordan. Simio se ha diseñado desde cero centrándose tanto en las aplicaciones tradicionales como en la programación avanzada, con la idea básica de que un único modelo de Simio puede servir para ambos fines. En este artículo nos centraremos en la aplicación de la simulación de Simio en el entorno de la Industria 4.0.
Simio es un marco de modelado de simulación basado en objetos inteligentes. Los objetos inteligentes son construidos por los modeladores y luego pueden ser reutilizados en múltiples proyectos de modelado. Los objetos también pueden almacenarse en bibliotecas y compartirse fácilmente. Una persona nueva en el modelado puede preferir utilizar objetos preconstruidos de bibliotecas; sin embargo, el sistema está diseñado para que incluso los modeladores novatos puedan construir fácilmente sus propios objetos inteligentes. Un objeto Simio puede ser una máquina, un robot, un avión, un cliente, un médico, un tanque, un autobús, un barco o cualquier otra cosa que pueda encontrar en su sistema. Un modelo se construye combinando objetos que representan los componentes físicos del sistema. Un modelo Simio se parece al sistema real.
Los objetos se construyen utilizando los conceptos de la orientación a objetos. Sin embargo, a diferencia de otros sistemas de simulación orientados a objetos, el proceso de construcción de un objeto es muy sencillo y completamente gráfico. Gracias a la arquitectura de objetos patentada por Simio, no es necesario escribir código de programación para crear nuevos objetos. Para más información sobre Simio, véanse los libros de Kelton, Sturrock y Smith, o Joines y Roberts, o Pegden y Sturrock (Kelton, Smith y Sturrock 2018; Joines y Roberts 2015; Pegden y Sturrock 2013).
Simio está diseñado para admitir aplicaciones tanto en el diseño de sistemas como en la programación, con ventajas que lo hacen ideal para el entorno de fabricación cada vez más digital. Las características exclusivas necesarias para aplicar con éxito la simulación a la programación incluyen funciones de integración de datos para acceder a los datos de la empresa, registro detallado de transacciones, despliegue basado en la nube de los resultados detallados de la programación y análisis del riesgo de programación basado en la variabilidad y la incertidumbre (Planificación y Programación Basadas en el Riesgo o RPS). Simio se ha diseñado desde cero para incorporar esta funcionalidad en su arquitectura basada en objetos.
En las secciones siguientes, comenzaremos por ofrecer una visión general de los retos que plantea la Industria 4.0, analizaremos enfoques alternativos de la programación y, a continuación, nos centraremos en la solución de Simio para resolver los problemas específicos asociados a los entornos de la Industria 4.0.
La "Cuarta Revolución Industrial", o Industria 4.0, hace referencia a la implantación de la digitalización en la fabricación. Una tendencia natural, es el resultado de continuas mejoras técnicas que permiten automatizar e interconectar los recursos de los procesos. Gracias a la conexión de datos, son capaces de responder de forma inteligente a su entorno, midiendo y recopilando datos para tomar decisiones y, en consecuencia, emprender acciones.
Las tecnologías adoptadas por la Industria 4.0 incluyen el Internet de las Cosas (IoT), el análisis de macrodatos y la inteligencia artificial (IA). La computación en nube y la integración de sistemas permiten además que componentes como los robots autónomos y la fabricación aditiva converjan y cooperen en beneficio de la industria.
Las fábricas conectadas o "fábricas inteligentes", como se las denomina, aprovechan estas tecnologías de tercera plataforma, que requieren la convergencia de la tecnología de la información (TI) y la tecnología operativa (TO), la robótica, los datos y los procesos. Para más información sobre Industria 4.0, consulte el libro de Pegden, Deliver on Your Promise: How Simulation-Based Scheduling Will Change Your Business (Pegden 2017).
La planificación y la programación son términos que a veces se utilizan indistintamente; sin embargo, en un contexto de fabricación, la planificación es el proceso de definir el trabajo a realizar mientras que la programación es el proceso de secuenciar esas tareas, seleccionar las horas de inicio y finalización de cada tarea y asignar los recursos limitados para completar el trabajo planificado. El proceso de programación convierte un plan en una secuencia paso a paso de tareas que hay que realizar para cumplir unos objetivos concretos; por ejemplo, completar cada trabajo en una fecha determinada.
Un plan inicial se genera a menudo utilizando un enfoque de secuenciación hacia atrás basado en plazos simples para cada trabajo. Por ejemplo, si un trabajo debe completarse en una fecha determinada y tiene un plazo de entrega previsto de tres semanas, debe iniciarse al menos tres semanas antes de su vencimiento. Si este trabajo tiene trabajos predecesores, todos ellos deben planificarse (en función de sus plazos de entrega) para completarse antes de la fecha de inicio requerida para este trabajo. Esta secuenciación hacia atrás continúa hasta que se establece la hora de inicio requerida para todos los trabajos. A menudo, este proceso de planificación trabaja con un periodo de planificación fijo (por ejemplo, una semana) en el que cada hora de inicio de trabajo se asigna a la hora de inicio de un periodo de planificación. El proceso de planificación también puede realizar la planificación de materiales para garantizar que todos los materiales necesarios estén disponibles al comienzo de cada periodo de planificación. Esta es la función de un sistema ERP/MRP/APS típico.
Los plazos de entrega que se utilizan en este enfoque de planificación regresiva se componen tanto de un tiempo de procesamiento como de un tiempo de espera. El tiempo de espera estimado suele ser mucho mayor que el tiempo de procesamiento y pretende capturar el tiempo que el trabajo debe esperar por los recursos limitados del sistema. En realidad, el tiempo de espera se desconoce, es muy dinámico y depende del estado actual del sistema. Sin embargo, esta variable se ignora en la fase de planificación y se utiliza un único tiempo de cola estático para generar un plan maestro aproximado.
Tomar un plan y convertirlo en un programa de trabajo detallado que tenga plenamente en cuenta la capacidad limitada del sistema es un problema complejo sin solución exacta conocida, por lo que buscamos una buena solución en lugar de una solución óptima. En algunos casos, la fase de programación se realiza manualmente mediante una hoja de cálculo o una tabla de programación. Sin embargo, también existen herramientas de programación de capacidad finita diseñadas específicamente para este fin y basadas en un modelo matemático o de simulación del sistema.
En una fábrica inteligente, el proceso de fabricación descentralizado, con una cadena de suministro digital, tiene el potencial de autooptimización de sus sistemas y procesos, por lo que, aparte del aspecto vital de la ciberseguridad, la otra piedra angular de la Industria 4.0 es la programación.
En las operaciones de fabricación establecidas, por ejemplo utilizando ILOG o PP/DS en el sistema SAP, la programación se aborda utilizando un modelo matemático, en el que un conjunto de ecuaciones se "resuelven" utilizando programación lineal entera mixta, programación basada en restricciones (CBP) o heurísticas como algoritmos genéticos para encontrar las mejores soluciones posibles.
Aunque la PBC puede resolver modelos relativamente grandes y complejos, este enfoque tiene algunas limitaciones cuando se trata de generar calendarios detallados. Hay situaciones en las que las complejidades del proceso no pueden modelarse con precisión, o en las que los detalles deben mantenerse expresamente fuera del modelo para evitar sobrecargar al solucionador subyacente. Además, se requiere un alto nivel de experiencia y conocimientos para aplicar con éxito estos sistemas.
En una aplicación de Industria 4.0, se recopilan continuamente grandes volúmenes de datos de todos los aspectos del proceso. Esto significa que se puede aplicar un procesamiento avanzado en tiempo real para analizar, reevaluar y volver a optimizar la situación exacta. Dado que todos los recursos del proceso están conectados, estas decisiones pueden aplicarse directamente en la planta de fabricación, lo que permite una reacción casi inmediata para ajustar el flujo en consecuencia. Se necesita un método alternativo sencillo, rápido y flexible para generar estas programaciones instantáneas, en tiempo real, durante el funcionamiento del proceso.
Aquí es donde un modelo de simulación resulta mucho más beneficioso que un modelo matemático. En el modelo de simulación, describimos la lógica del sistema con el nivel de detalle que deseemos. Toda la compleja manipulación de materiales (vehículos de guiado automático, cintas transportadoras, robots u otros dispositivos) que tiene lugar dentro y entre los centros de trabajo en la Industria 4.0 puede modelarse en detalle. Dado que estamos simulando el modelo y no "resolviendo" el modelo, podemos incluir tanto detalle en el modelo como deseemos sin que tenga un impacto significativo en el tiempo de ejecución.
Cuando el modelo "se ejecuta", representa el comportamiento del sistema real simulando el movimiento real de los trabajos a través del sistema en una secuencia ordenada en el tiempo. A diferencia de un modelo matemático, el modelo de simulación también nos permite animar el comportamiento del sistema y ver cómo se ejecuta a lo largo del tiempo. Esto resulta útil no sólo para validar y verificar el sistema, sino también para convencer a los interesados de la validez de la programación. La figura 1 muestra una captura de pantalla de ejemplo de una animación en ejecución de una instalación de fabricación.
La calidad de la programación producida por un modelo de simulación viene determinada por la lógica de programación utilizada en el modelo. Hay dos decisiones críticas de programación que se toman repetidamente durante la ejecución de la simulación. La primera es la decisión de selección de recursos que se toma cuando un trabajo puede utilizar cualquiera de dos o más recursos alternativos. Obsérvese que puede tratarse de un recurso como una máquina, un quirófano, mano de obra o un dispositivo de entrega de material. En este caso, hay que decidir qué recurso se asigna al trabajo. En algunos casos, el trabajo (por ejemplo, que representa un lote de producción) puede dividirse y asignarse a varios recursos. La segunda decisión crítica es la decisión de selección de trabajo que se toma en la simulación cuando un recurso queda ocioso y hay más de un trabajo esperando a ser procesado por ese recurso. En este caso, la decisión que hay que tomar es qué trabajo procesar a continuación. Ambas decisiones críticas se toman mediante reglas de programación específicas del modelo.
Las reglas de selección de recursos y de selección de trabajos trabajan juntas, junto con la lógica del modelo de simulación, para producir la programación. Estas reglas pueden ir desde reglas muy sencillas, como minimizar las configuraciones dependientes de la secuencia, hasta reglas híbridas más complejas que combinan la teoría de las restricciones para la optimización del rendimiento con estrategias de fabricación bajo pedido orientadas a las fechas de entrega. La capacidad de incorporar fácilmente reglas personalizadas para situaciones de programación únicas es una ventaja importante de la programación basada en la simulación.
Tenga en cuenta que el objetivo tanto del modelo matemático como del modelo de simulación no es proporcionar una programación óptima (esto es imposible, ya que el problema de programación es NP-Hard), sino proporcionar una buena programación factible que respete las restricciones de capacidad del sistema. En el caso de un modelo matemático, desarrollamos un conjunto de ecuaciones y luego utilizamos una heurística para encontrar un "buen" horario factible. En el caso del modelo de simulación, generamos la programación utilizando reglas de decisión heurísticas que se incorporan al modelo para producir una "buena" programación. Simio ofrece múltiples posibilidades para que el programador realice ajustes en el sistema o en la planificación y compruebe cómo afectan al plan, lo que puede mejorar la recomendación inicial.
En la programación, siempre debemos utilizar tiempos de tarea deterministas, ignorando la posibilidad de que se produzcan eventos aleatorios no planificados; de lo contrario, es imposible generar una programación detallada. Los programadores experimentados son conscientes de que los planes optimistas que generan las herramientas de programación al principio de un periodo de planificación no suelen cumplirse al final del mismo. Las planificaciones que parecen factibles en un principio se vuelven inviables con el tiempo a medida que la variación degrada el rendimiento. A veces, las tareas duran más de lo previsto, los trabajadores interrumpen su trabajo, las materias primas llegan tarde, las máquinas se rompen, etc., todo lo cual degrada el programa original. El calendario original representa el "camino feliz", que rara vez se cumple en la práctica, lo que lleva a prometer más de lo previsto y a entregar menos de lo previsto. Los modeladores de simulación, sin embargo, están muy familiarizados con el importante papel que desempeña la variación en la determinación del rendimiento del sistema y no se nos ocurriría dejar la variación fuera de un modelo de diseño de simulación; sabemos que conduciría a proyecciones optimistas y poco realistas del rendimiento del sistema.
Aunque una planificación creada por simulación utiliza los valores esperados de todas las distribuciones suministradas, por lo que es determinista, Simio utiliza el conocimiento de la variación para llevar una planificación creada por simulación al siguiente nivel. Al ofrecer transparencia sobre la variación de las distribuciones del modelo, los usuarios pueden analizar cómo afectan al calendario los cambios en las reglas del modelo, los atributos de las entidades (por ejemplo, la prioridad), etc., y posiblemente mejorar las recomendaciones iniciales.
Simio aborda explícitamente la proyección optimista de una planificación determinista explotando la variación incorporada al modelo de simulación para acceder al riesgo asociado a una planificación determinista específica. Este enfoque patentado se denomina Planificación y Programación basadas en el Riesgo (RPS). RPS se utiliza para generar calendarios que minimicen los riesgos y reduzcan los costes en presencia de incertidumbre. RPS aumenta el programa determinista con medidas de riesgo que permiten al responsable de la toma de decisiones tener en cuenta adecuadamente la variación subyacente y la incertidumbre en el sistema.
RPS utiliza el modelo de simulación Simio para captar plenamente tanto las restricciones detalladas como las variaciones del sistema. El modelo de simulación puede incluir las complejas restricciones de procesamiento y manipulación de materiales que intervienen en una situación de Industria 4.0, como hornos, carretillas elevadoras, cintas transportadoras, operarios en movimiento, etc., así como equipos de trabajo complejos y robots autónomos.
A continuación, RPS utiliza este modelo de dos maneras. La primera es generar una programación detallada. En este caso, Simio ejecuta automáticamente el modelo en un modo puramente determinista: las máquinas no se rompen, los tiempos de proceso son siempre constantes, los materiales llegan a tiempo, etc. Tenga en cuenta que no es necesario eliminar la variación y los eventos no planificados de su modelo de diseño para utilizarlo en la programación, ya que Simio lo hace automáticamente por usted. Esta es la visión determinista (optimista) que adoptan todos los sistemas de programación. Una vez generada la programación, RPS replica este mismo modelo de simulación con la variación añadida automáticamente al sistema y realiza un análisis probabilístico para estimar los riesgos subyacentes asociados a la programación. Las medidas de riesgo generadas por RPS incluyen la probabilidad de alcanzar los objetivos definidos por el usuario, así como el rendimiento esperado, pesimista y optimista del calendario. La figura 2 muestra una tabla de ejemplo que incluye medidas de riesgo para las probabilidades de cumplimiento de plazos y presupuesto, codificadas por colores según los niveles de riesgo: gris para riesgo bajo, amarillo para riesgo medio y rojo para riesgo alto.
Al proporcionar una visibilidad anticipada del riesgo inherente asociado a un calendario específico, el RPS proporciona la información necesaria para tomar medidas tempranas en el plan operativo con el fin de mitigar los riesgos y reducir los costes. El RPS ofrece una visión realista del rendimiento previsto del calendario. Se pueden comparar alternativas concretas, como las horas extraordinarias o el envío de material o componentes externos por parte de los proveedores, en función de su impacto tanto en los riesgos de cumplir los objetivos del calendario como en los costes de mitigación de esos riesgos, lo que proporciona una estrategia operativa satisfactoria para el cliente a un coste mínimo.
Una vez construido el modelo RPS, puede desplegarse utilizando Simio Scheduling Edition. Esta versión de Simio cuenta con una interfaz personalizable diseñada específicamente para su uso en aplicaciones RPS cotidianas; toda la funcionalidad relacionada con la creación de modelos se elimina para centrar la interfaz en las actividades relacionadas con el uso del modelo para la planificación y programación operativas.
La velocidad y la flexibilidad con las que Simio utiliza los modelos para la planificación y programación operativas satisfacen los requisitos de las fábricas inteligentes para reevaluar continuamente las situaciones, predecir los resultados y adaptarse para obtener resultados óptimos. Otro punto fuerte del funcionamiento de Simio es la excelente presentación de los resultados, con una clara representación visual de los calendarios y modelos del estado de toda la fábrica en tiempo real, junto con información contextual de mayor valor, en forma de diagramas de Gantt y cuadros de mando personalizados. La figura 3 muestra un diagrama de Gantt con medidas de riesgo que se visualizan en la edición Scheduling de Simio. Esta es una de las muchas formas posibles de visualizar el calendario resultante.
Aunque en teoría cualquier lenguaje de simulación de propósito general puede utilizarse como base para un planificador de capacidad finita dentro de la Industria 4.0, hay una serie de características únicas de este dominio de aplicación que exigen una serie de características especiales de modelado que no se incluyen en una herramienta de simulación centrada en aplicaciones de diseño. Estas características se han incorporado a Simio desde cero e incluyen las siguientes:
Las funciones de programación de Simio pueden utilizarse en numerosos ámbitos de aplicación. Aunque la aplicación a la programación en la industria manufacturera es obvia, la programación de Simio también tiene importantes aplicaciones en áreas como el transporte/logística y la sanidad.
Un ejemplo de la aplicación de la programación de Simio en la fabricación es BAE Systems, que está avanzando hacia el modelo de Industria 4.0 con un cambio importante hacia la fabricación digital. Como contratistas de defensa, necesitan planificar y predecir de forma fiable los recursos de producción para satisfacer las necesidades militares a tiempo y dentro del presupuesto. Los gestores de contratos buscan métodos más eficaces para mitigar los riesgos de los recursos de producción. Exigen indicadores clave de riesgo (KRI) precisos y puntuales para materiales, mano de obra y equipos. BAE Systems (BAE) utilizó el software Simio Enterprise Edition que incluye la funcionalidad de planificación y programación basada en riesgos (RPS). Esta función integra las funciones tradicionales de planificación y programación con modelos estocásticos para el análisis de riesgos. El software de programación de Simio proporcionó a los planificadores y programadores una interfaz personalizada para generar programas, realizar análisis de riesgos y costes, investigar posibles mejoras y visualizar esos parámetros en animaciones 3D. Los diagramas de Gantt facilitaban la visualización de los plazos de los procesos y la exploración de cómo los cambios en los equipos o los empleados afectaban a dichos plazos.
Los usuarios de Simio, como BAE, pueden realizar simulaciones cada vez que cambian los tiempos de inactividad de los sistemas, la disponibilidad de los empleados u otros factores, lo que permite realizar ajustes rápidos y tomar decisiones con confianza. El software Simio Enterprise Edition con funciones de programación ayudó a BAE Systems a cumplir los plazos de producción. En la actualidad, BAE utiliza Simio para hacer frente a diversos retos de previsión y programación, como la reducción de las horas extraordinarias, el desarrollo de objetivos de formación, la preparación de propuestas y la evaluación de inversiones de capital.
Simio también se ha aplicado en entornos de fabricación que utilizan Wonderware MES de Schneider Electric. Wonderware MES proporciona un seguimiento en tiempo real del trabajo en curso y completado, proporcionando al operador visibilidad del estado actual y pasado del sistema, utilizado en aplicaciones de Industria 4.0. El software de programación de Simio proyecta el estado actual hacia adelante basándose en el trabajo planificado para la instalación. Al integrarse directamente con Wonderware, los operadores tienen visibilidad del estado pasado, presente y futuro, y pueden ver la programación prevista y las alternativas viables cuando el plan deja de ser viable debido a problemas inesperados. La solución Simio también proporciona información puntual a la dirección sobre la producción, los desechos y otros datos de estado para respaldar la adopción de medidas correctivas adecuadas y oportunas en la fábrica del futuro.
El auge de la Industria 4.0 ha acelerado la necesidad de simular la programación diaria de sistemas complejos con recursos caros y en competencia. Esto ha ampliado el valor de la simulación más allá de su función tradicional de mejorar el diseño de sistemas, hasta el ámbito de proporcionar una gestión de procesos más rápida y eficiente y un aumento de la productividad del rendimiento. Con Simio, el mismo modelo que se construyó para evaluar y generar el diseño del sistema puede llevarse adelante para convertirse en una importante herramienta empresarial a la hora de programar las operaciones cotidianas en el entorno de la Industria 4.0.
DEVDATTA DEO es ingeniero de aplicaciones de Simio LLC. Ofrece asistencia técnica, pruebas de productos y servicios de consultoría. Tiene un máster en Ingeniería Industrial y de Sistemas por el Rochester Institute of Technology. Devdatta ha trabajado en la industria de fabricación de componentes eléctricos y ha colaborado en proyectos de simulación en los sectores de fabricación de productos farmacéuticos, procesamiento de alimentos, transporte y refinerías/procesamiento de petróleo. Su correo electrónico esddeo@simio.com.
ALEX D. MOLNAR es ingeniero de aplicaciones de Simio LLC. Graduado por la Universidad de Ohio, que estudió ingeniería y educación, ha tenido la oportunidad de fortificar muchas habilidades técnicas e interpersonales. Gracias a sus habilidades únicas, Alex ofrece asistencia técnica y formación a los socios y clientes directos de Simio. Además, colabora en otras tareas relacionadas con los productos, como las pruebas, la voz del cliente y el desarrollo conceptual. Alex también contribuye a los proyectos internos y a la estrategia de la organización. La dirección de correo electrónico de Alex esamolnar@simio.com. Más información sobre la empresa enwww.simio.com.
Joines, J. A., S. D. Roberts. 2015. Simulation Modeling with Simio: A Workbook. 4th ed. Pittsburgh: Simio LLC
Kelton, W. D., J. S. Smith y D. T. Sturrock. 2018. Simio y simulación: Modelado, Análisis, Aplicaciones. 5th ed. Pittsburgh: Simio LLC
Pegden, C. D., D. T. Sturrock. 2013. Soluciones rápidas de modelado: Introducción a la simulación y Simio. Pittsburgh: Simio LLC
Pegden, C. D. 2017. Cumpla su promesa: Cómo la programación basada en la simulación cambiará su negocio. Pittsburgh: Simio LLC
Sturrock, D. T. 2011. Éxito en la simulación, Blog y debate en curso. Consultado el 15 de julio.https://www.simio.com/blog/about-this-blog/.