Skip to content

Simio: optimización y experimentación mediante gemelos digitales con procesos adaptativos inteligentes

  • AUTHOR
  • Simio Staff

1. Introducción

Los Gemelos Digitales se utilizan para optimizar tanto el diseño como el funcionamiento de sistemas complejos. Para optimizar el diseño del sistema, se puede utilizar un Gemelo Digital para seleccionar el mejor entre dos o más diseños competidores, clasificar esos diseños del mejor al peor, u optimizar los ajustes de los parámetros para maximizar el rendimiento del sistema del diseño. Una vez finalizado el diseño del sistema y optimizados los parámetros de diseño, el Gemelo Digital puede utilizarse para tomar decisiones inteligentes basadas en el estado para optimizar el funcionamiento diario del sistema. En la optimización del diseño, el sistema se configura para su funcionamiento mediante la selección de equipos, procesos, normas de funcionamiento, dotación de personal, etcétera. En la optimización de las operaciones, se seleccionan las tareas específicas en las que se va a trabajar, los recursos que se van a utilizar y los materiales que se van a trasladar.

Durante la fase de diseño, es importante que el Gemelo Digital capte la variabilidad dentro del sistema, como los tiempos de procesamiento variables o las averías aleatorias. La variabilidad tiene un enorme impacto en el rendimiento del sistema, y si se ignora, los resultados serán erróneos. Por lo tanto, toda experimentación y optimización durante la fase de diseño debe incluir la variabilidad en el sistema.

Cuando se utiliza un Gemelo Digital en un modo operativo para generar un plan a corto plazo (por ejemplo, un programa de producción), la variabilidad debe desactivarse y generarse un plan determinista, que luego puede regenerarse cuando se produce un evento no planificado, o cuando el tiempo de una tarea difiere sustancialmente de su tiempo previsto. El plan determinista suele ser optimista, y cada vez que se reprograma el sistema como consecuencia de imprevistos, el rendimiento respecto al plan suele degradarse. Sin embargo, podemos evaluar el riesgo de cada plan realizando un análisis de riesgo que genere repetidamente el plan con la variabilidad habilitada para proporcionar medidas de riesgo como la probabilidad de que pedidos específicos lleguen a tiempo.

En Simio, utilizamos el término ejecución de simulación para referirnos a una ejecución del modelo con la variabilidad activada, por lo que, durante la optimización del diseño, se realizan réplicas de una ejecución de simulación para captar el impacto de la variabilidad en el rendimiento del sistema. El término ejecución del plan se utiliza para designar una única ejecución con la variabilidad y los imprevistos desactivados. Dado que la variabilidad está desactivada, no es necesario replicar las ejecuciones del plan al generar los programas. Sin embargo, en la optimización del funcionamiento, utilizamos las ejecuciones de simulación y las réplicas para analizar el riesgo asociado al programa debido a la variación aleatoria y a los imprevistos.

Como se explica en las secciones siguientes, Simio incorpora numerosas funciones para optimizar el diseño y el funcionamiento de sistemas complejos. En el caso del diseño de sistemas, es habitual seleccionar el mejor entre un conjunto de diseños candidatos o realizar una búsqueda sobre un conjunto de parámetros para optimizar el rendimiento de un diseño seleccionado. En el caso del funcionamiento del sistema, es habitual optimizar el funcionamiento del sistema para un diseño seleccionado. En las siguientes secciones, describiremos las funciones de Simio para realizar estas optimizaciones.

2. Ejecución de experimentos de simulación

En general, el objetivo de crear un modelo de simulación y, posteriormente, un experimento para el modelo es evaluar múltiples escenarios para el sistema. En muchas aplicaciones de diseño, se ha definido un conjunto de opciones de diseño, como el número de AMR a desplegar, el número de trabajadores a contratar para cada conjunto de habilidades, el número de racks de almacenamiento o el espacio de búfer entre máquinas. Estas opciones se denominan propiedades del modelo. Cada asignación de valores a estas propiedades representa un escenario de evaluación.

Los experimentos se utilizan para definir un conjunto de escenarios que se ejecutarán utilizando el modelo. Se ejecutan por lotes con las variaciones aleatorias activadas. Esto se suele hacer (una vez validado el modelo) para realizar ejecuciones de simulación que comparen uno o varios diseños candidatos para el sistema. Cada escenario tiene un conjunto de propiedades, como el tamaño de cada búfer de entrada, así como KPI especificados como respuestas de salida, como el rendimiento del sistema o los tiempos de espera de los búferes. Las variables de control son los valores asignados a las propiedades del modelo asociado. Dado que la mayoría de los modelos contienen componentes aleatorios, como distribuciones de tiempo de servicio o fallos aleatorios, se necesitan réplicas de un escenario determinado para poder calcular intervalos de confianza sobre los resultados de la respuesta. La figura 1 muestra un ejemplo de experimento con seis escenarios, cada uno con dos propiedades y dos respuestas.

Figure 1- Typical Experimentation Results

Figura 1: Resultados típicos de un experimento

Al realizar un experimento, cada escenario se replica un número determinado de veces. El número de réplicas a realizar es una consideración importante, ya que cada réplica produce resultados diferentes basados en la variación aleatoria. Como resultado, los escenarios deben compararse utilizando métodos estadísticos. Una estadística común es un intervalo de confianza que afirma que un KPI dado caerá entre un valor superior e inferior con una confianza especificada (por ejemplo, .95), .95). A medida que aumenta el número de réplicas de cada escenario, se reduce el tamaño de los intervalos de confianza y, por tanto, pueden hacerse afirmaciones más sólidas sobre los resultados.

Simio dispone de varias herramientas integradas que ayudan a analizar los sistemas durante la fase de diseño. Una de las más importantes es el gráfico SMORE, basado en el trabajo del profesor Barry L. Nelson de la Northwestern University, que representa gráficamente la media, el intervalo de confianza para la media, los valores de los percentiles superior e inferior y el rango de cada variable de respuesta. La figura 2 muestra un ejemplo de un gráfico SMORE en Simio.

Figure 2- SMORE Plots Comparing Experiment Runs

Figura 2: Gráficos SMORE que comparan ejecuciones de experimentos

El gráfico SMORE permite la comparación visual de los KPI de múltiples escenarios incorporando los intervalos de confianza asociados, lo que resulta muy útil para determinar el número de réplicas a realizar y hacer un primer corte en la selección de escenarios potencialmente buenos. Sin embargo, para seleccionar el mejor escenario, necesitamos una herramienta que utilice una forma estadísticamente válida de seleccionar el mejor.

2.1 Selección del mejor diseño del sistema

En muchas aplicaciones, existe un conjunto de escenarios que representan los diseños candidatos, y el objetivo es seleccionar el mejor para implementarlo en el futuro en función de uno o varios KPI. Por lo tanto, es extremadamente importante elegir con precisión la(s) mejor(es) alternativa(s) para el sistema que se está estudiando.

Una técnica de comparación sencilla consiste en registrar y clasificar los escenarios en función del KPI medio registrado y, a continuación, seleccionar simplemente el KPI más alto/más bajo. Sin embargo, este método intuitivo pero inexacto, sin tener en cuenta la variabilidad del sistema, puede no producir la elección óptima, ya que algunos escenarios pueden parecer mejores o peores en función de variaciones aleatorias dentro del conjunto de réplicas del escenario. Este error se habría revelado mediante réplicas adicionales de cada escenario y un análisis más detallado.

En las últimas décadas se han realizado considerables esfuerzos de investigación para desarrollar y automatizar procedimientos de clasificación y selección estadísticamente válidos, de los que Barry L. Nelson, de la Universidad Northwestern, ha sido uno de los principales artífices. El Dr. Nelson desarrolló una serie de algoritmos que agrupan los valores de respuesta de los KPI en los subgrupos "Posiblemente mejores" y "Rechazados" dentro de cada respuesta. El grupo de "Posibles mejores" estará formado por escenarios que no se puede demostrar que sean estadísticamente diferentes entre sí, pero que sí se puede demostrar que son estadísticamente mejores que todos los escenarios del grupo de "Rechazados". Este proceso se denomina Selección de subconjuntos y se suele realizar como fase inicial del análisis para crear un conjunto de diseños de sistemas "interesantes" que se puedan seguir considerando.

Simio incorpora el algoritmo de Selección de subconjuntos de Nelson para automatizar este proceso de agrupación de diseños en "Posibles mejores" y "Rechazados". Para indicar qué constituye "Mejor", el usuario define el KPI que se utilizará como Objetivo en la ventana Propiedades de la respuesta, ya sea Maximizar o Minimizar. El Objetivo Maximizar agrupará los valores que sean estadísticamente mayores que el grupo de rechazos y, a la inversa, el Objetivo Minimizar agrupará los valores de respuesta más pequeños.

Al ejecutar el algoritmo de Selección de subconjuntos desde la ventana Experimento de Simio, las celdas de una columna Respuesta se resaltarán en amarillo si son "Rechazadas", dejando los escenarios "Posiblemente mejores" en marrón. Un escenario puede tener una celda en una columna considerada "Posiblemente mejor" y al mismo tiempo "Rechazada" para otra respuesta. La figura 3 muestra un ejemplo de la opción Selección de subconjuntos.

Figure 3- Subset Selection Analysis

Figura 3: Análisis de selección de subconjuntos

Simio también ofrece un algoritmo de Selección del mejor que ejecuta automáticamente las réplicas de simulación adicionales que sean necesarias para seleccionar el mejor entre un subconjunto de candidatos "interesantes". Este algoritmo suele ejecutarse como segunda fase una vez que el conjunto de escenarios se ha reducido a un conjunto de candidatos mediante la Selección de subconjuntos y quizás otros factores externos como el coste o el tiempo de construcción. Simio aplica el procedimiento desarrollado por Seong-Hee Kim y Barry L. Nelson para seleccionar el mejor escenario. El algoritmo decide qué escenarios ejecutar y cuántas réplicas de cada escenario son necesarias para seleccionar el mejor. Toma un conjunto inicial de escenarios y ejecuta réplicas adicionales hasta que está seguro de que un escenario en particular es el "mejor", o dentro de un rango especificado del mejor (llamado zona de indiferencia). Desmarcará todos los escenarios excepto el mejor. Mientras se ejecuta, "expulsará" los escenarios que no sean candidatos al mejor, y no se realizarán más réplicas en esos escenarios. Este algoritmo se denomina Seleccionar el mejor escenario utilizando KN dentro de la experimentación de Simio.

Simio también ofrece una segunda versión del algoritmo Kim-Nelson, creada por Sijia Ma en el marco de su tesis doctoral con el profesor Shane G. Henderson en la Universidad de Cornell. Esta versión puede mejorar el rendimiento cuando se realizan modelos a gran escala que requieren la evaluación de muchos escenarios en un entorno de procesamiento paralelo. Este algoritmo se denomina Select Best Scenario Using GSP dentro de la experimentación de Simio, donde GSP significa Good Selection Procedure (Procedimiento de buena selección), como se muestra en la Figura 4 a continuación.

Figure 4- Select Best Scenario Options

Figura 4: Opciones de selección del mejor escenario

2.2 Optimización de los parámetros del sistema mediante OptQuest

Los modelos de simulación suelen utilizarse en el contexto de un proceso de toma de decisiones, evaluando distintas posibilidades para los controles del modelo y cómo afectan estas posibilidades al sistema. Los usuarios pueden crear experimentos manualmente, introducir valores de entrada y ejecutar múltiples réplicas para obtener los valores estimados de los KPI y sus correspondientes intervalos de confianza. Esto puede hacerse variando varias combinaciones diferentes de valores de entrada que conduzcan finalmente a una solución óptima. Este método funciona bien para modelos sencillos, pero es fácil ver que podría resultar bastante tedioso a medida que aumenta la complejidad.

OptQuest ayuda a eliminar parte del tedio buscando automáticamente la solución óptima. Se definen las propiedades de control del modelo de simulación y las respuestas KPI, junto con los parámetros de OptQuest, y OptQuest busca los valores de control factibles para maximizar o minimizar el objetivo, como maximizar el beneficio o minimizar el coste. OptQuest establece automáticamente los valores de las propiedades, inicia las réplicas y resalta los resultados.

OptQuest utiliza métodos de búsqueda inteligentes e incorpora algoritmos de optimización personalizados junto con la potencia de modelado de Simio. En lugar de utilizar algoritmos para optimizar un conjunto de ecuaciones matemáticas, los utiliza para optimizar un conjunto de interacciones de procesos estocásticos.

Una vez descrito el problema mediante la definición de las propiedades de control, el objetivo y las restricciones, OptQuest puede empezar a ejecutar escenarios. Tras el primer escenario, OptQuest evalúa las respuestas del escenario, las analiza y determina los valores que se tendrán en cuenta en el siguiente escenario. Tras la ejecución del segundo escenario, vuelve a analizar la respuesta que le da Simio, la compara con la respuesta del escenario anterior y vuelve a determinar los nuevos valores que debe evaluar Simio. Este proceso de obtención de resultados y comparación con los valores objetivo anteriores se repite hasta que OptQuest cumple uno de sus criterios de terminación, ya sea después de alcanzar el número máximo de iteraciones o después de que OptQuest haya determinado que el valor objetivo ha dejado de mejorar.

OptQuest también permite la optimización basada en más de una respuesta utilizando una técnica denominada Optimización Multiobjetivo Ponderada. OptQuest multiplica cada objetivo por un peso especificado, lo niega si es un objeto Minimizar, los suma y maximiza el resultado. En la Figura 5 se muestra un ejemplo de pantalla para seleccionar y actualizar los parámetros de OptQuest, incluyendo un ejemplo de resultado.

Figure 5- OptQuest Multi-Objective Weighted Optimization

Figura 5: Optimización ponderada multiobjetivo de OptQuest

OptQuest también puede encontrar un conjunto óptimo de soluciones basadas en múltiples objetivos utilizando un enfoque de frontera de patrones, que busca soluciones que estén en la "frontera" del espacio de optimización. Por ejemplo, a continuación se muestra un gráfico de los resultados de la optimización Pattern Frontier con dos respuestas, coste y plazo de entrega. Los escenarios que se sitúan en la frontera óptima del espacio de soluciones se muestran en verde en el gráfico Frontera de patrones y representan un escenario óptimo que logra un equilibrio diferente entre los objetivos en conflicto.

Figure 6- Pattern Frontier Graph Example

Figura 6: Ejemplo de gráfico de frontera de patrones

3. Optimización del funcionamiento del sistema

Una de las principales ventajas de un proceso Digital Twin es que el mismo modelo que se utiliza para optimizar el diseño también puede optimizar las operaciones diarias del sistema mediante la creación de planes deterministas inteligentes que se ejecutan en el sistema real. Simio emplea un enfoque de optimización basado en el estado para crear dinámicamente un plan optimizado que respeta plenamente las restricciones de recursos, materiales y lógicas del sistema a medida que evolucionan en el tiempo y son capturadas por el Gemelo Digital. Dado que el Gemelo Digital captura estas verdaderas restricciones del sistema, el plan optimizado es totalmente procesable en el sistema real. Cada decisión del sistema se optimiza en función del estado actual del sistema. Por el contrario, los sistemas tradicionales no tienen en cuenta las restricciones detalladas y utilizan una medida aproximada de la capacidad dentro de intervalos de tiempo fijos, por ejemplo, semanales. A continuación, emplean un solucionador heurístico para buscar una buena solución factible para esta representación simplificada del sistema. Aunque los sistemas tradicionales presentan su solución como óptima, su aproximación aproximada tanto de la capacidad como del tiempo produce resultados que no son procesables en el sistema real y, en consecuencia, están desalineados con el programa de producción real. Por el contrario, el enfoque de optimización basado en el estado del sistema de Simio captura todas las restricciones críticas a lo largo de un horizonte temporal real y produce un plan totalmente procesable sin intervención humana.

La clave del plan generado por el enfoque de optimización basado en el estado es la calidad de la lógica de decisión integrada en Simio Digital Twin para tomar decisiones como, por ejemplo, en qué trabajo se va a trabajar a continuación y qué recursos se van a asignar a cada trabajo. En las fábricas habituales, estas decisiones suelen tomarse mediante reglas de envío, como el tiempo de procesamiento más corto, la fecha de entrega más temprana, el cambio más pequeño o la relación crítica. La regla de la relación crítica, que es la relación entre el tiempo restante hasta la fecha de entrega dividido por el tiempo de procesamiento restante previsto para terminar el trabajo, ha demostrado ser especialmente eficaz para optimizar la entrega a tiempo. En algunos casos, se emplean reglas compuestas que combinan dos o más reglas para reducir simultáneamente los cambios y minimizar la tardanza. Muchas herramientas de programación de capacidad finita emplean varias reglas de envío para crear un programa detallado para la fábrica.

Aunque estas reglas de planificación pueden generar programas eficaces, una estrategia más avanzada consiste en utilizar las funciones de red neuronal de Simio para aprovechar el modelo de estado detallado del Gemelo Digital. Estas funciones permiten entrenar y suministrar entradas a las redes neuronales, mejorando la toma de decisiones inteligente. Con Simio, las reglas de envío estándar y la compleja lógica de decisión del modelo pueden sustituirse por redes neuronales autoentrenadas. Las redes neuronales proporcionan una lógica de decisión compleja en el modelo y, a cambio, éste genera los datos sintéticos necesarios para entrenar las redes neuronales. Esto permite simplificar la lógica de decisión del modelo, lo que facilita su construcción, comprensión, depuración y mantenimiento. Simio también proporciona algoritmos de entrenamiento integrados para entrenar redes neuronales utilizando datos sintéticos generados por un modelo. Por lo tanto, Simio ofrece una solución completa para integrar redes neuronales en modelos Process Digital Twin.

Las funciones de inteligencia artificial de Simio resultan especialmente útiles en las aplicaciones Digital Twin de planificación de la producción, en las que la red neuronal puede entrenarse para predecir KPI críticos, como el tiempo de entrega de la producción que cambia dinámicamente para una fábrica o una línea de producción dentro de una fábrica. La red neuronal aprende el impacto de los cambios, los recursos secundarios, las reglas empresariales y otras complejidades de la producción que afectan a la predicción de los KPI. El Digital Twin inteligente puede capturar relaciones complejas que, de otro modo, sería imposible incluir en un modelo. Las predicciones de KPI de la red neuronal se pueden utilizar para optimizar mejor las decisiones, tanto dentro de la fábrica como en toda la cadena de suministro. Dentro de la cadena de suministro, la red neuronal se puede utilizar para la decisión crítica de abastecimiento de proveedores mediante la predicción del plazo de producción de cada proveedor candidato y la selección del productor de menor coste que pueda completar el pedido a tiempo. El abastecimiento de fábrica basado en IA dentro de la cadena de suministro Digital Twin elimina la necesidad de un software de programación maestra de la producción.

Las funciones de Inteligencia Artificial integradas en Simio permiten definir, entrenar y utilizar la red neuronal de regresión directa clásica. Sin embargo, en Simio se puede importar y utilizar cualquier modelo de regresión de aprendizaje automático de más de 50 terceros, incluidos Google y Microsoft, que admitan el formato de intercambio de modelos ONNX. Los modelos pueden crearse y entrenarse con estas herramientas de terceros e importarse a Simio para crear potentes soluciones de optimización basadas en IA.

3.1 Optimización de planes con experimentación

El plan determinista generado por Simio Digital Twin también puede refinarse experimentando con decisiones alternativas dentro del plan. Esta experimentación puede realizarse secuencialmente analizando los KPI de un plan específico, o en paralelo para explotar múltiples núcleos y explorar muchos planes alternativos al mismo tiempo.

El perfeccionamiento secuencial de un plan puede llevarse a cabo utilizando la función multipase de Simio, que permite regenerar un plan varias veces en una sola ejecución, ajustando los parámetros de entrada de cada plan en función de los resultados del plan anterior. Por ejemplo, si un trabajo concreto se retrasa, la siguiente iteración del plan puede cambiar la prioridad del trabajo o enviarlo a una instalación de producción alternativa. Este proceso puede repetirse tantas veces como sea necesario para perfeccionar el plan generado por el Gemelo Digital. La experimentación secuencial o paralela de los planes también puede llevarse a cabo ejecutando Simio en modo "headless", en el que es llamado por un lenguaje de scripting como Python para generar planes específicos. Este enfoque es especialmente útil para explorar automáticamente diferentes planes en paralelo utilizando plataformas multinúcleo en la nube.

4. Resumen

Simio Intelligent Process Digital Twins puede utilizarse para optimizar tanto el diseño como el funcionamiento de sistemas complejos. En el caso de las aplicaciones de diseño, Simio proporciona métodos estadísticos avanzados para analizar la variación con el fin de optimizar el diseño del sistema. A continuación, el mismo Digital Twin puede utilizarse para optimizar el funcionamiento diario del sistema mediante un enfoque de optimización basado en estados que aprovecha las reglas de despacho, las redes neuronales y la experimentación de planes para optimizar el rendimiento del sistema.