Alpha screen, le logiciel développé par CTIF, est un algorithme génétique couplé à Thermo-Calc qui permet de faire des calculs d’Alloy Design en optimisation multi objectifs. Cet article explique le principe de fonctionnement de l’algorithme, son mode d’utilisation et les applications potentielles pour le développement ou l’optimisation d’alliages en métallurgie.
Les algorithmes génétiques, branche de l’IA
Nous avons à plusieurs reprises, sur MetalBlog, illustré l’intérêt de l’Intelligence Artificielle (IA) appliquée à la métallurgie. Si le Deep Learning (réseau de neurones) est la technologie la plus connue de l’IA et est bien adapté pour le traitement en particulier des images (CNN), les algorithmes génétiques font également partie de l’IA et relèvent du domaine du Reinforcement Learning. Les algorithmes génétiques sont performants là où aucun modèle conventionnel ne peut être déterminé facilement et où une fonction score (encore appelée Fitness Function) peut être calculée dans un temps raisonnable et qui traduit la qualité de la réponse.
Le besoin d’utiliser Thermo-Calc de manière automatisée
Le CTIF utilise depuis plusieurs années Thermo-Calc, logiciel de calcul thermochimique qui permet de prédire les propriétés et les phases en présence d’un alliage à partir de sa composition chimique. Thermo-Calc permet de réaliser de l’Alloy Design (conception ou optimisation d’un alliage par l’approche numérique couplée à de l’expérimental).
Cet outil est utilisé par les experts métallurgistes de CTIF dans le cadre de prestations de service pour des industriels (fondeurs, donneurs d’ordre) ou dans le cadre de projet de R&D collectifs ou collaboratifs. L’exploration en automatique d’un très grand nombre de compositions chimiques était cependant encore très longue car elle utilisait une méthodologie de type plan d’expérience numérique, non optimale dans le cas de problèmes multi-objectifs ou avec un grand nombre d’éléments d’alliage ou de phases. Ce besoin de calcul automatisé a été le déclencheur du développement du logiciel alpha screen.
Principe des algorithmes génétiques
Les algorithmes génétiques s’inspirent des mécanismes de la sélection naturelle au sens Darwinien où les individus les mieux adaptés survivent et se reproduisent. Ces logiciels bio-inspirés font ainsi évoluer une population de solutions qui sont modifiées au fil des générations afin de s’adapter à la solution recherchée. Dans le cas présent, les gènes d’un alliage sont sa composition chimique (Fe, C, Cr, Ni, Mn, Al, …). Une première population d’alliages est tout d’abord générée aléatoirement dans l’espace de recherche déterminé par l’Expert (éléments d’alliages pertinents, fourchette min-max pour chaque élément d’alliage ou impureté sélectionnée).
Ces alliages sont ensuite évalués au travers d’une Fitness Function (par exemple la présence d’une ou plusieurs phases favorables aux propriétés fonctionnelles recherchées). Les moins bons alliages sont éliminés alors que ceux présentant les meilleures Fitness Function seront sélectionnés pour une opération dite de croisement ou « cross-over » (mélange des gènes, en l’occurrence les compositions chimiques) pour générer une nouvelle population « enfant ».
Cette population fera ensuite l’objet d’une opération de mutation aléatoire gaussienne de certains gènes (pour amener de la diversité et explorer tout l’espace compositionnel). Enfin, cette nouvelle population est à nouveau évaluée et le processus est itéré pendant un grand nombre de générations et permet de faire évoluer progressivement la population vers des maxima de la Fitness Function qui correspondent aux propriétés que l’on cherche à optimiser. Cette optimisation peut être, selon les besoins, mono-objectif ou multi-objectifs.
Alpha screen, outil CTIF
Le code alpha screen a été développé en langage Python en utilisant des librairies (TC-Python pour l’interfaçage avec Thermo-Calc, Numpy, Tkinter, Deap, …). Une interface graphique permet de poser le problème et de saisir les données d’entrée. L’utilisateur va d’abord sélectionner la base de données de Thermo-Calc à charger (base aluminium par exemple) puis les éléments d’alliage que l’on souhaite étudier (Si, Cu, Mg, Mn, Fe, Zr, …).
Ces éléments peuvent être soit fixes (pas de variation possible autorisée) ou bien variables (plage mini-maxi). Lorsqu’il s’agit d’impuretés, on positionnera souvent le minimum à zéro en indiquant uniquement la valeur maximale à investiguer. La première génération d’alliages utilisera tout l’espace compositionnel possible. Les générations suivantes convergeront progressivement sur la partie de l’espace permettant de maximiser tout ou partie des objectifs définis .
Les critères à optimiser
Selon le problème, le logiciel peut optimiser plusieurs critères (pour la plupart issus de Thermo-Calc) et qui concernent majoritairement les performances fonctionnelles, et dans une moindre mesure le process ou le prix de l’alliage. Les performances fonctionnelles sont appréhendées via les phases issues de Thermo-Calc (phase α, γ, σ, … , carbures, carbonitrures, phases intermétalliques, phases de Laves) à une certaine température (ambiante ou à 300°C par exemple) ou dans un intervalle de température donné (par exemple entre 250°C et 350°C) mais également via le carbone équivalent, le PREN (Pitting Corrosion Equivalent Number), …, ou la masse volumique (allègement).
Le process de transformation est moins au cœur du calcul mais peut néanmoins être appréhendé au travers de paramètres comme la température de Liquidus (facilité de fusion) ou l’intervalle de solidification. On sait en effet par exemple que les alliages à faible intervalle de solidification possèdent une tendance réduite aux défauts de type retassure ou crique et facilitent la transformation. Enfin, le prix de l’alliage provient d’une base de données CTIF des matériaux. Ensuite les critères à optimiser (phases, …) sont sélectionnés par l’utilisateur. L’optimisation peut consister à minimiser un critère, à le maximiser ou à atteindre une valeur cible. Chaque critère peut être affecté d’un poids (entre 0 et 1) qui traduit l’importance du critère pour l’utilisateur.
L’optimisation mono-objectif
Dans le cas de l’optimisation d’un seul objectif (par exemple la ferrite dans un acier), l’ensemble de la population des alliages va converger progressivement vers des alliages présentant des teneurs en ferrite importantes à la température spécifiée (150°C par exemple). On arrive dans le cas présent (figure ci-contre) à un taux de 97 % après une quinzaine de générations d’alliages. C’est le type de recherche le plus simple. En pratique, cependant, on recherche dans la plupart des cas à optimiser plusieurs objectifs (une ou plusieurs phases, une masse volumique, un carbone équivalent, …).
L’optimisation multi-objectifs
Pour l’optimisation multi-objectifs, le CTIF a utilisé des algorithmes d’optimisation non-agrégatif NSGA-III et SPEA-II qui permettent en particulier de garantir la sélection d’une population diversifiée au fil des générations et évitent d’obtenir des alliages « clonés ». Ces algorithmes d’optimisation s’appuient sur la notion de front de Pareto (dominé/non dominé).
L’optimisation multi-objectifs ne converge pas vers un seul alliage, mais vers une population optimisée. Cette stratégie a pour avantage, en fin de calcul, de pouvoir proposer un choix de solutions (et non pas une unique solution) qui seront évaluées par l’Expert métallurgiste en fonction du problème posé. La plupart du temps, il faudra trouver un compromis entre plusieurs solutions qui toutes optimisent un ou plusieurs critères, mais ne les optimisent pas tous à la fois (ou du moins très rarement).
Les résultats et leur analyse
Les résultats sont constitués de la population d’alliages de la dernière génération à laquelle est ajouté un « Hall of Fame » des meilleurs individus de chaque génération. Ces résultats seront transférés sous un format de fichier Excel avec plusieurs onglets : un premier rappelant les données du problème (éléments d’alliage, min-max de chaque alliage, critères à optimiser, taille de la population, …), un second avec l’ensemble des résultats (composition chimique et critères) et enfin un troisième onglet avec les individus du deuxième onglet filtrés.
Convergence de la population d’alliages
La première génération (pop0) d’alliages est générée aléatoirement dans l’espace des phases compositionnelles. Puis peu à peu, les alliages peu performants vont être éliminés et les générations suivantes vont progressivement converger vers des Fitness Function optimisées (phase, intervalle de solidification, prix, …).
La figure ci-contre illustre cette évolution entre la génération 1 et la génération 50 pour une population réduite (facile à visualiser) et 2 phases (M23C6 et FCC_A1) à maximiser pour deux éléments d’alliages évoluant entre 0 et 10 % pour le chrome et entre 0 et 5 % pour le nickel. Le taux de mutation des gènes est de 0.02 avec utilisation de l’algorithme d’optimisation multi-objectifs NSGA-III (Non-dominated Sorting Genetic Algorithm).
Alliage base nickel
Les alliages de la famille base nickel avec chrome (NiCr20) présentent une très bonne tenue à températures élevées (700-750°C). Cependant, ils utilisent des éléments d’alliage couteux. On se propose de tester des compositions à plus haute teneur en fer. L’alliage devra être composé majoritairement de phase γ avec une phase γ’ autour de 25 % et de phase M23C6. Il comprendra des teneurs fixes en chrome (20%) pour la tenue à chaud, de Si (0.4 %) pour la désoxydation et de B (0.005%) pour l’affinage de grains.
Les calculs ont été réalisés avec une population de 200 alliages et 80 générations (soit 16 000 compositions évalués) pour un temps de calcul de 6.5 heures. Parmi les meilleurs résultats, on retrouve un alliage très proche de l’Inconel 718 (Ni53/Fe19/Cr19/Nb/Mo/Ti), alliage bien connu pour sa tenue à chaud.
Alliage inoxydable type 304L
L’acier inoxydable 304 est protégé par une couche d’oxydes passive en surface Cr2O3 selon la réaction 4Cr + 3O2 –> 2 Cr2O3. Cette couche d’oxyde se reforme même en cas de rayure. Le PREN (Pitting Resistance Equivalent Number) est un indicateur qui permet de limiter le « pitting corrosion » ou corrosion par piqure. Or, la composition chimique du 304 ne tient pas compte du Mn et du W, utiles au PREN. Une composition optimisée serait intéressante qui permettrait de maximiser l’austénite et minimiser la ferrite, la phase sigma et les carbures.
Différents calculs ont été réalisés qui montrent qu’un compromis doit être recherché entre le PREN optimal et l’optimisation des phases (maximisation de l’austénite et minimisation de la ferrite, de la phase sigma et des carbures). Il a été mis en évidence également que le nombre de critères à optimiser ne doit pas être trop important, au risque de nécessiter des populations et nombre de générations trop grands (inflation du temps de calcul) et une interprétation des résultats délicate.
Alliage AlSiCu
L’utilisation d’un logiciel d’optimisation topologique pour le design d’une pièce permet souvent de générer de nouvelles géométries innovantes, qui si certaines ne sont pas viables, permet pour d’autres de s’affranchir des routines et des biais cognitifs techniques du concepteur et ainsi d’ouvrir les chakras. De la même façon, les algorithmes génétiques possèdent cette propriété d’exploration large sans idée préconçue qui favorise l’innovation.
Ainsi, lorsque l’on explore la famille des alliages AlSiCu (en jouant uniquement sur 3 éléments: Si, Cu et Fe) en cherchant à minimiser la phase β-Al9Fe2Si2 (fragilisante) et à maximiser la phase Θ Al2Cu (tenue à chaud), on génère des candidats potentiels à simultanément haute teneur en silicium et en cuivre qui ont été très peu explorés et des alliages de la famille AlCu avec pour tous de faibles teneurs en fer. L’expert métallurgiste saura facilement écarter les alliages à faible intérêt technique ou peu industrialisables mais pourra retenir des candidats potentiels intéressants qui devront faire l’objet de validation numériques et expérimentales plus poussées.
Alpha screen pour explorer de vastes espaces de compositions
a-screen permet d’explorer de larges espaces de composition chimique, inexplorable sans ce type d’outils. Il nécessite une expertise métallurgique avérée pour transformer le besoin initial en termes d’objectifs à maximiser ou minimiser et pour interpréter les résultats. Les Experts de CTIF apportent cette expertise et les études expérimentales (élaboration dans la fonderie expérimentale à Sèvres et caractérisation) nécessaires pour valider des solutions.
Utilisation d’alpha-screen
a-screen et Thermo-Calc sont utilisés au CTIF dans divers cadres. Ils servent tout d’abord lors d’expertises d’avaries, en complément des moyens de caractérisation (micrographie, MEB, …), pour valider une hypothèse (impact d’une variation d’un élément d’alliage sur l’apparition d’une phase fragilisante, …, augmentation de l’intervalle de solidification avec une composition non conforme qui peut générer l’apparition de micro-retassures). Ensuite, CTIF utilise alpha-screen pour ses travaux de R&D collaborative ou privée. On peut ainsi optimiser un alliage en testant l’impact de la modification du niveau d’impureté ou de la substitution d’un élément d’alliage par un autre. Ces codes de calcul sont utilisés par CTIF lors du développement de nouvelles nuances (Alloy Design) en permettant l’exploration numérique de très larges espaces compositionnelles (20 éléments ou davantage). On peut également alimenter grâce à ces outils, des codes de simulation de remplissage et solidification avec des données matériaux. Utilisée dans le cadre du développement d’alliages, l’approche numérique avec a-screen doit être validée par une approche expérimentale. Le plus souvent, on itère successivement les approches expérimentales et numériques pour s’approcher du candidat alliage idéal.
Remerciements
a-screen a été développé dans le cadre du projet de R&D d’intérêt collectif POCAI piloté par Michel Stucky (support de Patrick Hairy sur les algorithmes génétiques et de Jean-Valery Julien sur le langage Python). Remerciement à Chemsedine Bchir (« Master mathématiques et applications – Sorbonne Université ») pour la partie développement en Python.