1. Introduction
Les jumeaux numériques sont utilisés pour optimiser la conception et le fonctionnement de systèmes complexes. Pour optimiser la conception d'un système, un jumeau numérique peut être utilisé pour sélectionner la meilleure conception parmi deux ou plusieurs conceptions concurrentes, classer ces conceptions de la meilleure à la pire, ou optimiser le réglage des paramètres afin de maximiser les performances du système. Une fois la conception du système finalisée et les paramètres de conception optimisés, le jumeau numérique peut être utilisé pour prendre des décisions intelligentes basées sur l'état afin d'optimiser le fonctionnement quotidien du système. Lors de l'optimisation de la conception, le système est configuré pour fonctionner en sélectionnant l'équipement, les processus, les règles de fonctionnement, les niveaux de personnel, etc. L'optimisation des opérations consiste à sélectionner les tâches spécifiques à effectuer, les ressources à utiliser et les matériaux à déplacer.
Au cours de la phase de conception, il est important que le jumeau numérique capture la variabilité au sein du système, comme les temps de traitement variables ou les pannes aléatoires. La variabilité a un impact considérable sur les performances du système, et si elle est ignorée, les résultats seront erronés. Par conséquent, toutes les expériences et optimisations effectuées pendant la phase de conception doivent inclure la variabilité du système.
Lorsqu'on utilise un jumeau numérique en mode opérationnel pour générer un plan à court terme (par exemple, un calendrier de production), la variabilité doit être désactivée et un plan déterministe doit être généré, qui peut ensuite être régénéré lorsqu'un événement non planifié se produit ou que le temps d'exécution d'une tâche diffère considérablement du temps prévu. Le plan déterministe sera généralement optimiste, et chaque fois que le système est reprogrammé à la suite d'événements imprévus, la performance par rapport au plan se dégrade généralement. Nous pouvons cependant évaluer le risque de chaque plan en effectuant une analyse de risque qui génère de manière répétée le plan avec une variabilité permettant de fournir des mesures de risque telles que la probabilité que des commandes spécifiques soient livrées à temps.
Dans Simio, nous utilisons le terme " simulation " pour désigner une exécution du modèle avec la variabilité activée. Ainsi, lors de l'optimisation de la conception, des réplications d'une simulation sont effectuées pour capturer l'impact de la variabilité sur les performances du système. Le terme " exécution du plan" est utilisé pour désigner une exécution unique où la variabilité et les événements imprévus sont désactivés. La variabilité étant désactivée, il n'est pas nécessaire de reproduire les exécutions du plan lors de la génération des programmes. Toutefois, lors de l'optimisation de l'exploitation, nous utilisons les exécutions de simulation et les reproductions pour analyser le risque associé au programme en raison de la variation aléatoire et des événements imprévus.
Comme nous le verrons dans les sections suivantes, Simio possède de nombreuses fonctionnalités intégrées pour optimiser la conception et l'exploitation de systèmes complexes. Dans le cas de la conception d'un système, il est typique de sélectionner le meilleur parmi un ensemble de conceptions candidates ou de faire une recherche sur un ensemble de paramètres pour optimiser les performances d'une conception sélectionnée. Dans le cas de l'exploitation d'un système, il est typique d'optimiser l'exploitation du système pour une conception sélectionnée. Dans les sections suivantes, nous décrirons les fonctionnalités de Simio pour effectuer ces optimisations.
2. Exécution d'expériences de simulation
En général, l'objectif de la création d'un modèle de simulation et, par la suite, d'une expérience pour le modèle est d'évaluer plusieurs scénarios pour le système. Dans de nombreuses applications de conception, un ensemble d'options de conception a été défini, comme le nombre d'AMR à déployer, le nombre de travailleurs à employer pour chaque ensemble de compétences, le nombre de baies de stockage ou l'espace tampon entre les machines. Ces options sont appelées propriétés du modèle. Chaque attribution de valeurs à ces propriétés représente un scénario d'évaluation.
Les expériences sont utilisées pour définir un ensemble de scénarios à exécuter à l'aide du modèle. Elles sont exécutées en mode batch avec des variations aléatoires activées. Cette méthode est généralement utilisée (une fois qu'un modèle a été validé) pour effectuer des simulations qui comparent une ou plusieurs conceptions candidates pour le système. Chaque scénario possède un ensemble de propriétés, telles que la taille de chaque tampon d'entrée, ainsi que des indicateurs clés de performance spécifiés comme réponses de sortie, tels que le débit du système ou les temps d'attente des tampons. Les variables de contrôle sont les valeurs attribuées aux propriétés du modèle associé. Étant donné que la plupart des modèles contiennent des composantes aléatoires, telles que des distributions de temps de service ou des défaillances aléatoires, des réplications d'un scénario donné sont nécessaires pour permettre le calcul d'intervalles de confiance sur les résultats de la réponse. La figure 1 ci-dessous montre un exemple d'expérience avec six scénarios, chacun avec deux propriétés et deux réponses.

Figure 1: Résultats d'une expérience typique
Lors de l'exécution d'une expérience, chaque scénario est reproduit un nombre déterminé de fois. Le nombre de reproductions à effectuer est une considération importante, car chaque reproduction produit des résultats différents basés sur une variation aléatoire. Par conséquent, les scénarios doivent être comparés à l'aide de méthodes statistiques. Une statistique courante est un intervalle de confiance qui affirme qu'un ICP donné se situera entre une valeur supérieure et une valeur inférieure avec un niveau de confiance spécifié (par exemple, 0,95), Au fur et à mesure que le nombre de réplications de chaque scénario augmente, la taille des intervalles de confiance diminue et il est donc possible de faire des affirmations plus fortes sur les résultats.
Simio dispose de plusieurs outils intégrés pour faciliter l'analyse des systèmes pendant la phase de conception. L'une des fonctions les plus importantes est le diagramme SMORE, basé sur les travaux du professeur Barry L. Nelson de l'université Northwestern, qui représente graphiquement la moyenne, l'intervalle de confiance pour la moyenne, les valeurs des percentiles supérieurs et inférieurs et l'étendue de chaque variable de réponse. La figure 2 ci-dessous montre un exemple de diagramme SMORE dans Simio.

Figure 2: Diagramme SMORE comparant des séries d'expériences
Le diagramme SMORE permet de comparer visuellement les indicateurs clés de performance pour plusieurs scénarios en incorporant les intervalles de confiance associés, ce qui est très utile pour déterminer le nombre de réplications à effectuer et pour faire une première sélection de scénarios potentiellement bons. Cependant, pour sélectionner le meilleur scénario, nous avons besoin d'un outil qui utilise une méthode statistiquement valide pour sélectionner le meilleur.
2.1 Sélection de la meilleure conception de système
Dans de nombreuses applications, il existe un ensemble de scénarios qui représentent les conceptions candidates, et l'objectif est de sélectionner le meilleur à mettre en œuvre à l'avenir sur la base d'un ou de plusieurs ICP. Il est donc extrêmement important de choisir avec précision la ou les meilleures alternatives pour le système étudié.
Une technique de comparaison simple consiste à enregistrer et à trier les scénarios sur la base de l'ICP moyen enregistré, puis à sélectionner simplement l'ICP le plus élevé/le plus bas. Toutefois, cette méthode intuitive mais inexacte, qui ne tient pas compte de la variabilité du système, peut ne pas aboutir au choix optimal, car certains scénarios peuvent sembler meilleurs ou moins bons en raison de variations aléatoires au sein de l'ensemble des réplications du scénario. Cette erreur aurait été révélée par des réplications supplémentaires de chaque scénario et par une analyse plus détaillée.
Au cours des dernières décennies, des efforts considérables ont été déployés dans le domaine de la recherche pour développer et automatiser des procédures de classement et de sélection statistiquement valables, notamment par Barry L. Nelson de l'Université Northwestern. Nelson a mis au point une série d'algorithmes qui regroupent les valeurs des réponses aux ICP dans les sous-groupes "Meilleures réponses possibles" et "Rejets" de chaque réponse. Le groupe "Meilleur possible" se compose de scénarios dont on ne peut pas prouver qu'ils sont statistiquement différents les uns des autres, mais dont on peut prouver qu'ils sont statistiquement meilleurs que tous les scénarios du groupe "Rejetés". Ce processus est appelé " Sélection de sous-ensembles " et est souvent utilisé comme phase initiale de l'analyse pour créer un ensemble de conceptions de systèmes "intéressantes" à examiner plus en détail.
Simio intègre l'algorithme de sélection de sous-ensembles de Nelson pour automatiser ce processus de regroupement des conceptions en "Meilleures possibles" et "Rejetées". Pour indiquer ce qui constitue la "Meilleure", l'utilisateur définit l'ICP à utiliser comme objectif dans la fenêtre Propriétés de la réponse, soit en le maximisant, soit en le minimisant. L'objectif Maximiser regroupera les valeurs qui sont statistiquement supérieures au groupe de rejets et, inversement, l'objectif Minimiser regroupera les valeurs de réponse les plus faibles.
Lors de l'exécution de l'algorithme de sélection de sous-ensembles à partir de la fenêtre Expérience de Simio, les cellules d'une colonne Réponse sont surlignées en jaune s'il s'agit de "Rejets", tandis que les scénarios "Meilleurs possibles" sont surlignés en marron. Un scénario peut avoir une cellule dans une colonne considérée comme "Meilleure possible" et en même temps "Rejetée" pour une autre réponse. La figure 3 ci-dessous présente un exemple de l'option de sélection de sous-ensembles.

Figure 3: Analyse de la sélection de sous-ensembles
Simio propose également un algorithme de sélection du meilleur qui exécute automatiquement des simulations supplémentaires si nécessaire pour sélectionner le meilleur parmi un sous-ensemble de candidats "intéressants". Cet algorithme est généralement exécuté dans une seconde phase après que l'ensemble des scénarios a été réduit à un ensemble de candidats à l'aide de la sélection de sous-ensembles et éventuellement d'autres facteurs externes tels que le coût ou le temps de construction. Simio met en œuvre la procédure développée par Seong-Hee Kim et Barry L. Nelson pour sélectionner le meilleur scénario. L'algorithme décide des scénarios à exécuter et du nombre de répétitions de chaque scénario nécessaires pour sélectionner le meilleur. Il prend un ensemble initial de scénarios et exécute des répétitions supplémentaires jusqu'à ce qu'il soit certain qu'un scénario particulier est le "meilleur", ou qu'il se situe dans une fourchette spécifiée du meilleur (appelée zone d'indifférence). Il décoche tous les scénarios à l'exception du meilleur. Au cours de l'exécution, il "éliminera" les scénarios qui ne sont pas candidats au titre de meilleur scénario, et aucune autre réplication ne sera effectuée sur ces scénarios. Cet algorithme est appelé Select Best Scenario Using KN dans le cadre de l'expérimentation Simio.
Simio propose également une seconde version de l'algorithme de Kim-Nelson, créée par Sijia Ma dans le cadre de son doctorat sous la direction du professeur Shane G. Henderson à l'université de Cornell. Cette version peut améliorer les performances lors de la réalisation de modèles à grande échelle nécessitant l'évaluation de nombreux scénarios dans un environnement de traitement parallèle. Cet algorithme est appelé Select Best Scenario Using GSP dans le cadre de l'expérimentation Simio, où GSP signifie Good Selection Procedure (procédure de sélection), comme le montre la figure 4 ci-dessous.

Figure 4: Options de sélection du meilleur scénario
2.2 Optimisation des paramètres du système à l'aide d'OptQuest
Les modèles de simulation sont généralement utilisés dans le cadre d'un processus de prise de décision, pour évaluer les différentes possibilités de contrôle du modèle et la manière dont ces possibilités affectent le système. Les utilisateurs peuvent créer manuellement des expériences, saisir des valeurs d'entrée et exécuter plusieurs réplications pour obtenir les valeurs estimées des ICP et leurs intervalles de confiance correspondants. Cela peut se faire en faisant varier plusieurs combinaisons de valeurs d'entrée différentes, ce qui aboutit finalement à une solution optimale. Cette méthode fonctionne bien pour les modèles simples, mais il est facile de voir qu'elle peut devenir assez fastidieuse à mesure que la complexité augmente.
OptQuest permet d'éliminer une partie de ce travail fastidieux en recherchant automatiquement la solution optimale. Les propriétés de contrôle du modèle de simulation et les réponses des ICP sont définies, ainsi que les paramètres d'OptQuest. OptQuest recherche alors les valeurs de contrôle réalisables pour maximiser ou minimiser l'objectif, par exemple maximiser le profit ou minimiser le coût. OptQuest définit automatiquement les valeurs des propriétés, lance les réplications et met en évidence les résultats.
OptQuest utilise des méthodes de recherche intelligentes et incorpore des algorithmes d'optimisation personnalisés à la puissance de modélisation de Simio. Au lieu d'utiliser des algorithmes pour optimiser un ensemble d'équations mathématiques, il les utilise pour optimiser un ensemble d'interactions de processus stochastiques.
Une fois le problème décrit en définissant les propriétés de contrôle, l'objectif et les contraintes, OptQuest peut commencer à exécuter des scénarios. Après le premier scénario, OptQuest évalue les réponses du scénario, analyse et détermine les valeurs à prendre en compte dans le scénario suivant. Après l'exécution du deuxième scénario, il analyse à nouveau la réponse donnée par Simio, la compare à la réponse du scénario précédent et détermine à nouveau de nouvelles valeurs à évaluer par Simio. Ce processus d'obtention de résultats et de comparaison avec les valeurs objectives précédentes se répète jusqu'à ce qu'OptQuest remplisse l'un de ses critères de terminaison - soit après avoir atteint le nombre maximum d'itérations, soit après qu'OptQuest ait déterminé que la valeur objective a cessé de s'améliorer.
OptQuest prend également en charge l'optimisation basée sur plus d'une réponse en utilisant une technique appelée optimisation pondérée multi-objectifs. OptQuest multiplie chaque objectif par un poids spécifié, l'annule s'il s'agit d'un objet Minimiser, les additionne et maximise le résultat. La figure 5 ci-dessous montre un exemple d'écran où l'on peut sélectionner et mettre à jour les paramètres d'OptQuest, y compris un exemple d'ensemble de résultats.

Figure 5: Optimisation pondérée multi-objectifs d'OptQuest
OptQuest peut également trouver un ensemble optimal de solutions basées sur des objectifs multiples en utilisant une approche Pattern Frontier, qui s'efforce de trouver des solutions qui se trouvent à la "frontière" de l'espace d'optimisation. Par exemple, voici un graphique des résultats de l'optimisation Pattern Frontier avec deux réponses, le coût et le délai. Les scénarios qui se situent le long de la frontière optimale de l'espace de solution sont représentés en vert dans le graphique Pattern Frontier et représentent un scénario optimal établissant un équilibre différent entre les objectifs concurrents.

Figure 6: Exemple de graphique de frontière type
3. Optimisation du fonctionnement du système
L'un des principaux avantages d'un processus Digital Twin est que le même modèle utilisé pour optimiser la conception peut également optimiser les opérations quotidiennes du système en créant des plans déterministes intelligents à exécuter dans le système réel. Simio utilise une approche d'optimisation basée sur l'état pour créer dynamiquement un plan optimisé qui respecte pleinement les contraintes de ressources, de matériel et de logique du système au fur et à mesure qu'elles évoluent dans le temps et qu'elles sont capturées par le jumeau numérique. Chaque décision dans le système est optimisée sur la base de l'état actuel du système. En revanche, les systèmes traditionnels ne capturent pas les contraintes détaillées et utilisent une mesure approximative de la capacité dans des intervalles de temps fixes, par exemple hebdomadaires. Ils utilisent ensuite un solveur heuristique pour rechercher une bonne solution réalisable dans cette représentation simplifiée du système. Bien que les systèmes traditionnels présentent leur solution comme étant optimale, leur approximation grossière de la capacité et du temps donne des résultats qui ne sont pas exploitables dans le système réel et, par conséquent, ne sont pas alignés sur le calendrier de production réel. En revanche, l'approche d'optimisation basée sur l'état du système de Simio capture toutes les contraintes critiques le long d'un véritable horizon temporel et produit un plan qui est entièrement exploitable sans intervention humaine.
La clé du plan produit par l'approche d'optimisation basée sur l'état est la qualité de la logique de décision qui est intégrée dans le jumeau numérique de Simio pour prendre des décisions telles que le travail à effectuer ensuite et les ressources à affecter à chaque travail. Dans les usines classiques, ces décisions sont souvent prises à l'aide de règles de répartition, telles que le temps de traitement le plus court, la date d'échéance la plus proche, le changement le plus court ou le ratio critique. La règle du ratio critique, qui est le ratio du temps restant jusqu'à la date d'échéance divisé par le temps de traitement restant prévu pour terminer le travail, s'est avérée particulièrement efficace pour optimiser le respect des délais de livraison. Dans certains cas, des règles composites sont employées, combinant deux règles ou plus pour réduire simultanément les changements tout en minimisant les retards. De nombreux outils d'ordonnancement à capacité finie utilisent diverses règles de répartition pour créer un programme détaillé pour l'usine.
Bien que ces règles de répartition puissent générer des plannings efficaces, une stratégie plus avancée consiste à utiliser les capacités du réseau neuronal de Simio pour exploiter le modèle d'état détaillé du jumeau numérique. Ces fonctionnalités permettent d'entraîner et de fournir des entrées aux réseaux neuronaux, améliorant ainsi la prise de décision intelligente. Avec Simio, les règles de répartition standard et la logique de décision du modèle complexe peuvent être remplacées par des réseaux neuronaux auto-entraînés. Les réseaux neuronaux fournissent une logique de décision complexe dans le modèle, et en retour, le modèle génère les données synthétiques nécessaires pour entraîner les réseaux neuronaux. Cela permet de simplifier la logique de décision du modèle, ce qui rend les modèles plus faciles à construire, à comprendre, à déboguer et à maintenir. Simio fournit également des algorithmes d'entraînement intégrés pour entraîner les réseaux neuronaux à l'aide des données synthétiques générées par un modèle. Simio offre donc une solution complète pour l'intégration de réseaux neuronaux dans les modèles de jumeaux numériques de processus.
Les fonctions d'IA de Simio sont particulièrement utiles dans les applications de jumeaux numériques de planification de la production, où le réseau neuronal peut être entraîné à prédire des indicateurs clés de performance critiques, tels que le délai de production à évolution dynamique pour une usine ou une ligne de production au sein d'une usine. Le réseau neuronal apprend l'impact des changements, des ressources secondaires, des règles commerciales et d'autres complexités de production qui ont une incidence sur la prédiction des indicateurs clés de performance. Le jumeau numérique intelligent peut capturer des relations complexes qui seraient autrement impossibles à inclure dans un modèle. Les prédictions d'ICP du réseau neuronal peuvent ensuite être utilisées pour mieux optimiser les décisions, à la fois dans l'usine et dans la chaîne d'approvisionnement. Dans la chaîne d'approvisionnement, le réseau neuronal peut être utilisé pour la décision critique de recherche de fournisseurs en prédisant le délai de production pour chaque fournisseur candidat et en sélectionnant le producteur le moins cher qui peut exécuter la commande à temps. La recherche d'usines basée sur l'IA dans la chaîne d'approvisionnement Le jumeau numérique élimine le besoin d'un logiciel de planification de la production principale.
Les fonctions d'IA intégrées de Simio permettent de définir, d'entraîner et d'utiliser le réseau neuronal de régression feed forward classique. Cependant, tout modèle de régression d'apprentissage automatique provenant de plus de 50 tiers, dont Google et Microsoft, qui prennent en charge le format d'échange de modèles ONNX, peut être importé et utilisé dans Simio. Les modèles peuvent être construits et entraînés dans ces outils tiers, puis importés dans Simio pour créer de puissantes solutions d'optimisation pilotées par l'IA.
3.1 Optimiser les plans grâce à l'expérimentation
Le plan déterministe généré par le jumeau numérique de Simio peut également être affiné en expérimentant des décisions alternatives au sein du plan. Cette expérimentation peut être réalisée soit de manière séquentielle en analysant les KPIs pour un plan spécifique, soit en parallèle en exploitant plusieurs cœurs pour explorer de nombreux plans alternatifs en même temps.
L'affinage séquentiel d'un plan peut être mis en œuvre en utilisant la fonction multi-pass de Simio qui permet de régénérer un plan plusieurs fois au cours d'une même exécution, tout en ajustant les paramètres d'entrée pour chaque plan en fonction des résultats du plan précédent. Par exemple, si un travail particulier est en retard, l'itération suivante du plan peut modifier la priorité du travail ou envoyer le travail à une autre installation de production. Ce processus peut être répété autant que nécessaire pour affiner le plan généré par le jumeau numérique. L'expérimentation séquentielle ou parallèle des plans peut également être mise en œuvre en exécutant Simio en mode "headless", où il est appelé par un langage de script tel que Python pour générer des plans spécifiques. Cette approche est particulièrement utile pour explorer automatiquement différents plans en parallèle en utilisant des plates-formes cloud multicœurs.
4. Résumé
Les jumeaux numériques de Simio Intelligent Process peuvent être utilisés pour optimiser à la fois la conception et l'exploitation de systèmes complexes. Pour les applications de conception, Simio fournit des méthodes statistiques avancées pour analyser les variations afin d'optimiser la conception du système. Le même jumeau numérique peut ensuite être utilisé pour optimiser les opérations quotidiennes du système en utilisant une approche d'optimisation basée sur l'état qui tire parti des règles de répartition, des réseaux neuronaux et de l'expérimentation des plans pour optimiser les performances du système.

