Les simulations de Monte-Carlo ont beaucoup évolué depuis leur première application dans les années 1940 lorsque des scientifiques qui travaillaient sur la bombe atomique ont calculé les probabilités qu'un atome d'uranium en fission provoque une réaction de fission sur un autre. Dans cet article, nous allons découvrir comment créer une simulation de Monte-Carlo à l'aide d'une formule technique connue et d'une équation de plan d'expériences dans Minitab.
Depuis cette époque où l'uranium était rare et où il n'était pas possible de procéder par tâtonnement, les simulations de Monte-Carlo servent à calculer des probabilités fiables à partir de données simulées. Aujourd'hui, les données simulées sont régulièrement utilisées dans un grand nombre de scénarios, de l'ingénierie des matériaux à la fermeture étanche d'emballages de dispositifs médicaux, en passant par la production d'acier. Elles peuvent être utilisées dans des cas où les ressources sont limitées, ou bien dans des situations où recueillir des données réelles serait trop onéreux ou trop difficile. Grâce à l'outil de simulation de Monte-Carlo disponible dans Engage et dans Workspace, vous pouvez effectuer les opérations suivantes :
Selon le nombre de facteurs impliqués, les simulations peuvent s'avérer très complexes. Cependant, à la base, toutes les simulations de Monte-Carlo comportent quatre étapes simples :
Pour créer une simulation de Monte-Carlo, vous avez besoin d'un modèle quantitatif de l'activité, du projet ou du procédé de l'entreprise que vous souhaitez étudier. L'expression mathématique de votre procédé s'appelle l'équation de transfert. Il peut s'agir d'une formule technique ou commerciale connue. Elle peut également être basée sur un modèle créé à partir d'un plan d'expériences ou d'une analyse de régression. Des logiciels tels que Minitab Engage et Minitab Workspace vous permettent de créer des équations complexes, y compris des équations produisant plusieurs réponses qui peuvent dépendre les unes des autres.
Pour chaque facteur de votre équation de transfert, déterminez la loi de distribution de ses données. Certaines données entrées peuvent suivre la loi normale, tandis que d'autres suivent une loi uniforme ou triangulaire. Vous devez ensuite déterminer les paramètres de distribution pour chaque entrée. Par exemple, vous devez spécifier la moyenne et l'écart type des entrées suivant une loi normale. Si vous ne savez pas quelle loi suivent vos données, Engage et Workspace disposent d'un outil pour vous aider à prendre une décision.
Pour qu'une simulation soit valide, vous devez créer un très grand ensemble de données aléatoires pour chaque entrée, de l'ordre de 100 000 instances. Ces points de données aléatoires simulent les valeurs qui auraient été observées sur une longue période pour chaque entrée. Cette charge de travail semble conséquente, mais c'est là qu'Engage et Workspace entrent en jeu. Une fois que les entrées et le modèle sont soumis, ces logiciels s'occupent de tout.
Une fois les données simulées en place, vous pouvez utiliser votre équation de transfert pour calculer les résultats simulés. Analyser une quantité assez importante de données d'entrée simulées via votre modèle vous donnera une indication fiable des résultats du procédé dans le temps, avec la variation anticipée des entrées.
Une entreprise de fabrication a besoin d'évaluer la conception d'un produit donné : une petite pompe à piston qui doit être capable de pomper 12 ml de liquide par minute. Elle souhaite estimer les performances probables de milliers de pompes, en tenant compte de la variation naturelle du diamètre du piston (D), de la longueur de course (L) et du nombre de courses par minute (tr/min). Idéalement, le débit des milliers de pompes présentera un écart type inférieur ou égal à 0,2 ml.
La première étape de la simulation de Monte-Carlo consiste à déterminer l'équation de transfert. Dans ce cas, vous pouvez simplement utiliser une formule technique établie qui mesure le débit de la pompe :
Débit (en ml) = π(D/2)^2 ∗ L ∗ tr/min
Vous devez maintenant définir la loi de distribution et les paramètres de chaque entrée utilisée dans l'équation de transfert. La longueur de course et le diamètre du piston de la pompe sont connus, mais vous devez calculer le nombre de courses par minute (tr/min) nécessaires pour obtenir le débit souhaité de 12 ml/minute. Le volume pompé par course est obtenu par l'équation suivante :
π(D/2)^2 *L
Étant donné que D = 0,8 et L = 2,5, chaque course déplace 1,256 ml. Ainsi, pour obtenir un débit de 12 ml/minute, le nombre de tr/min est de 9,549.
Sur la base des performances des autres pompes fabriquées par votre entreprise, vous pouvez affirmer que le diamètre du piston est normalement distribué avec une moyenne de 0,8 cm et un écart type de 0,003 cm. La longueur de course est normalement distribuée avec une moyenne de 2,5 cm et un écart type de 0,15 cm. Enfin, le nombre de courses par minute est normalement distribué avec une moyenne de 9,549 tr/min et un écart type de 0,17 tr/min.
Cliquez sur l'onglet Insérer dans le ruban supérieur, puis choisissez Simulation de Monte-Carlo.
C'est très simple. Il suffit de nommer chaque variable, de sélectionner une loi dans le menu déroulant et de saisir les paramètres. Nous allons utiliser les données indiquées ci-dessus. Si vous ne savez pas quelle loi choisir, vous pouvez sélectionner Utiliser les données pour prendre une décision. Vous serez alors invité à importer un fichier .csv de vos données et à sélectionner quelques options :
L'étape suivante est l'équation. Il suffit de nommer votre résultat (pour le nôtre, ce sera Flow (Débit)) et de saisir l'équation de transfert correcte que nous avons identifiée ci-dessus. Vous pouvez également ajouter des limites de spécification supérieure et inférieure que votre simulation ne devra pas dépasser.
Ensuite, dans le ruban, choisissez le nombre de simulations que vous voulez exécuter (100 000 est un bon point de départ) et cliquez sur le bouton pour exécuter la simulation.
Pour les données aléatoires générées pour écrire cet article, le débit moyen sur la base de 100 000 échantillons est de 11,996. En moyenne, le résultat correspond à notre objectif, mais la plus petite valeur était de 8,7817 et la plus grande, de 15,7057. Il s'agit d'une plage de valeurs assez vaste. La variation transmise (de tous les composants) donne un écart type de 0,756 ml, ce qui dépasse largement l'objectif de 0,2 ml.
Il semble que la conception de cette pompe présente une trop grande variation et doive être perfectionnée avant de partir en production. C'est à cette étape que l'on commence à voir les avantages de la simulation. Si la pompe était partie directement en production, nous aurions probablement produit un grand nombre de pompes qui auraient finalement été rejetées. Grâce à la simulation de Monte-Carlo, nous pouvons parvenir à cette conclusion sans engager de dépenses en production, sans avoir à tester des milliers de prototypes et sans lancer la production prématurément.
Si vous doutez de la pertinence de ces résultats simulés, jugez-en par vous-même ! Le fait d'exécuter différentes simulations donnera lieu à des différences mineures, mais le résultat final (une variation inacceptable du débit) sera chaque fois le même. C'est la puissance de la méthode de Monte-Carlo.
Le fait de savoir que l'écart type est trop élevé est extrêmement utile, mais Engage et Workspace se distinguent surtout par leur capacité à contribuer à la résolution des problèmes. C'est là que l'optimisation des paramètres entre en jeu.
Prenons la première valeur saisie, le diamètre du piston. Avec une moyenne de 0,8, la plupart de nos données s'approcheront cette valeur ou s'en écarteront de moins d'un ou deux écarts types. Mais quand serait-il s'il fallait réduire le diamètre du piston pour optimiser le débit ? L'optimisation des paramètres nous aide à répondre à cette question.
Pour effectuer une optimisation des paramètres, nous devons spécifier une plage de recherche pour chaque entrée. Dans cet exemple, par souci de simplicité, j'ai indiqué une plage de +/- 3 écarts types dans laquelle l'algorithme effectuera sa recherche. Ensuite, Engage ou Workspace nous aidera à déterminer les paramètres optimaux pour chaque entrée afin d'atteindre notre but, à savoir, dans ce cas, réduire l'écart type. Il est important de sélectionner la plage appropriée. Veillez à ce que l'intégralité de la plage que vous saisissez puisse être utilisée en production. Il ne sert à rien de trouver une solution optimale si celle-ci ne peut être répliquée en production.
Si vous avez utilisé l'optimisation des réponses dans Minitab Statistical Software, le principe est le même. Voici les résultats que nous obtenons :
Selon ces données, si nous voulons réduire l'écart type, nous devons réduire la longueur de course et le nombre de courses par minute. Il n'est pas nécessaire de réduire le diamètre de notre piston. Une simulation de Monte-Carlo nous permet de parvenir à ces conclusions sans créer de nouveau prototype et sans mener d'expérience, et c'est incontestablement son point fort.
Et si vous ne savez pas quelle équation utiliser, ou que vous essayez de simuler les résultats d'un procédé unique ? Vous pouvez alors combiner la capacité de Minitab Statistical Software à produire des plans d'expériences et la capacité d'Engage ou de Workspace à produire des simulations.
Un fabricant en électronique vous a demandé d'améliorer ses opérations de nettoyage électronique, qui permettent de préparer les pièces métalliques à la galvanoplastie. La galvanoplastie permet aux fabricants de recouvrir les matières premières d'une couche d'un autre métal pour obtenir les caractéristiques souhaitées. Le placage n'adhérant pas à une surface sale, la société dispose d'un système de nettoyage électronique à flux continu relié à une machine de galvanoplastie automatique. Un tapis plonge chaque pièce dans un bain qui envoie une tension dans la pièce, la nettoyant. Un nettoyage inadéquat produit une valeur moyenne quadratique de la rugosité moyenne (Rq) élevée et une finition de surface faible. Les pièces correctement nettoyées présentent une surface lisse et une valeur Rq faible.
Pour optimiser le procédé, vous pouvez ajuster deux entrées importantes : la tension (Vcc) et la densité de courant (ASF). Pour votre méthode de nettoyage électronique, les limites techniques types pour la tension Vcc sont les suivantes : de 3 à 12 volts. Les limites pour la densité de courant sont les suivantes : de 10 à 150 ASF (Amps per Square Foot).
Vous ne pouvez pas utiliser une formule établie pour ce procédé, mais vous pouvez configurer un DOE de surface de réponse dans Minitab pour déterminer l'équation de transfert. Les DOE de surface de réponse sont souvent utilisés pour optimiser la réponse en recherchant les meilleurs paramètres pour des facteurs contrôlables "rares vitaux" ("vital few").
Dans ce cas, la réponse sera la qualité de la surface des pièces après nettoyage de ces dernières.
Pour créer un DOE de surface de réponse dans Minitab, sélectionnez Stat > DOE (plan d'expériences) > Surface de réponse > Créer un plan de surface de réponse. Comme nous disposons de deux facteurs, à savoir la tension (Vcc) et la densité de courant (ASF), nous allons sélectionner un plan composite centré à 2 facteurs, qui dispose de 13 essais.
Une fois que Minitab a créé votre plan d'expériences, vous devez exécuter vos 13 essais expérimentaux, collecter les données et enregistrer la rugosité de la surface des 13 pièces finies. Minitab facilite l'analyse des résultats du DOE, la réduction du modèle et la vérification des hypothèses à l'aide des graphiques des valeurs résiduelles. A l'aide du modèle final et de l'optimisation des réponses de Minitab, vous pouvez trouver les paramètres optimaux pour vos variables. Dans ce cas, vous pouvez définir la tension sur 7,74 volts et la densité de courant sur 77,8 ASF pour obtenir une valeur de rugosité de 39,4.
Le DOE de surface de réponse produit l'équation de transfert suivante pour la simulation de Monte-Carlo :
Rugosité = 957,8 − 189,4 (Vcc) − 4,81 (ASF) + 12,26 (Vcc_2) + 0,0309 (ASF2)
Vous pouvez maintenant déterminer les définitions paramétriques pour les entrées de votre simulation de Monte-Carlo, et les envoyer vers Engage ou Workspace.
Remarque : les écarts types doivent être connus ou estimés en fonction des connaissances existantes sur le procédé. Cela concerne toutes les entrées de la simulation de Monte-Carlo. Les volts sont distribués normalement avec une moyenne de 7,74 Vcc et un écart type de 0,14 Vcc. Les ASF (Amps per Square Foot) suivent la loi normale, avec une moyenne de 77,8 ASF et un écart type de 3 ASF.
Cette étape est exactement la même que l'étape 3. Dans le ruban, cliquez sur Insérer > Simulation de Monte-Carlo, ajoutez vos entrées et définissez leurs paramètres, puis déterminez votre modèle. Si vous disposez de la dernière version de Minitab, vous pouvez alors cliquer avec le bouton droit de votre souris et sélectionner Envoyer vers Engage ou Envoyer vers Minitab Workspace. Sinon, vous pouvez copier le modèle dans les résultats de Minitab et le coller dans le champ de modèle d'Engage ou de Workspace.
Le récapitulatif indique que même si les entrées sous-jacentes étaient normalement distribuées, la distribution de la rugosité Rq est non normale. Le récapitulatif indique également que la variation transmise de tous les composants produit un écart type de 0,521 et les connaissances sur le procédé indiquent que ce résultat désigne un bon procédé. Sur la base d'un plan d'expériences avec seulement 13 essais, nous pouvons déterminer la réalité de ce qui apparaîtra dans le procédé. Etant donné que ces résultats se fondent sur des données simulées, les réponses que vous obtiendrez seront légèrement différentes, mais devraient être correctes dans l'ensemble. Si nécessaire, nous pouvons optimiser les paramètres différemment pour adapter nos réponses et trouver une solution optimale.
Cet article est inspiré d'une présentation de Paul Sheehy, spécialiste de la formation technique chez Minitab, lors de la conférence ASQ Lean Six Sigma Conference de février 2012.