⚙️ Optimiseur de procédé de fabrication — Algorithme génétique en direct
Observez un véritable algorithme génétique faire évoluer une population de réglages de paramètres de procédé (température, pression, vitesse) par sélection, croisement et mutation, convergeant en direct vers un réglage qui maximise le rendement simulé.
À propos de cette simulation
Cette simulation exécute un véritable algorithme génétique face à un paysage synthétique de rendement de fabrication défini sur trois véritables paramètres de procédé : température, pression et vitesse. Chaque recette candidate est notée par une fonction de fitness construite à partir de plusieurs « régimes de procédé » gaussiens qui se chevauchent — l'un est le véritable optimum global, les autres sont des optima locaux plus bas — de sorte que la population a de véritables collines à gravir et des pièges à éviter. Génération après génération, une véritable sélection par tournoi, un véritable croisement par mélange et une véritable mutation gaussienne remodèlent la population, et vous pouvez observer sa convergence en direct dans l'espace des paramètres 3D.
🔬 Ce que ça montre
Une population de réglages de procédé candidats tracés sous forme de points dans un cube 3D température × pression × vitesse, colorés selon le rendement simulé. Un léger nuage de points en arrière-plan échantillonne le paysage de fitness sous-jacent afin que vous puissiez voir les régimes que la population explore. La sphère dorée marque le meilleur réglage jamais trouvé ; le graphique du panneau latéral trace la véritable meilleure fitness par génération, de sorte que l'amélioration (ou la stagnation) est directement vérifiable.
🎮 Comment l'utiliser
Ajustez la taille de population, le taux de croisement, le taux de mutation et l'amplitude de mutation (σ), puis avancez d'une génération, accélérez de dix, ou activez l'exécution automatique pour observer une évolution continue. Réinitialiser / ressemer tire une toute nouvelle population aléatoire. Faites glisser pour faire pivoter la vue 3D et défilez pour zoomer ; le panneau de statistiques en direct rapporte le nombre de générations, la meilleure fitness, la diversité de la population et les meilleures valeurs de paramètres en unités réelles trouvées.
💡 Le saviez-vous ?
Comme les algorithmes génétiques n'ont besoin d'évaluer que la fitness — jamais une dérivée — ils fonctionnent bien sur des paysages accidentés à plusieurs pics comme les véritables surfaces de rendement de fabrication, où les optimiseurs classiques basés sur le gradient peuvent rester bloqués dans le premier optimum local rencontré. L'élitisme (toujours conserver le seul meilleur individu) est une petite astuce qui garantit que la courbe de la meilleure fitness jamais atteinte ne recule jamais.
Questions fréquentes
Qu'est-ce qu'un algorithme génétique ?
Un algorithme génétique (GA) est une technique de recherche et d'optimisation inspirée de la sélection naturelle. Il maintient une population de solutions candidates (chromosomes), note chacune avec une fonction de fitness, et produit à répétition une nouvelle génération en sélectionnant des parents plus aptes, en recombinant leurs gènes par croisement, et en appliquant une mutation aléatoire. Sur de nombreuses générations, la population tend à dériver vers des régions de fitness plus élevée de l'espace de recherche, sans jamais avoir besoin d'un gradient ou d'une formule explicite de l'optimum.
Comment cette simulation représente-t-elle un procédé de fabrication ?
Chaque chromosome est une recette de procédé à 3 paramètres : température (150–250 °C), pression (1–10 bar) et vitesse (10–100 tr/min), stockés en interne sous forme de valeurs normalisées dans [0,1]. Une fonction de fitness synthétique construite à partir de plusieurs « régimes de procédé » gaussiens qui se chevauchent plus un petit terme d'ondulation représente le rendement simulé : un régime est le véritable optimum global, les autres sont des optima locaux plus bas dans lesquels un grimpeur de colline naïf pourrait rester bloqué.
Que font réellement la sélection, le croisement et la mutation ici ?
La sélection utilise un tournoi de 3 individus tirés au hasard, en conservant le plus apte comme parent. Le croisement mélange les gènes à valeur réelle de deux parents à l'aide du croisement par mélange BLX-alpha, en échantillonnant chaque gène de l'enfant dans un intervalle étendu autour des deux valeurs parentes. La mutation ajoute un bruit gaussien (taux et amplitude configurables, σ) aux gènes d'un enfant, permettant à la population d'explorer de nouveaux réglages et d'échapper aux optima locaux. Le seul individu le plus apte est préservé inchangé à chaque génération (élitisme).
Que mesure la métrique de diversité de la population ?
La diversité est la distance quadratique moyenne du vecteur de gènes de chaque individu par rapport au centroïde de la population, exprimée en pourcentage de la dispersion maximale possible à l'intérieur du cube unitaire. Une diversité élevée signifie que la population explore encore largement ; à mesure que le GA converge vers le meilleur régime, la métrique se réduit vers zéro.
L'algorithme génétique est-il réel, ou juste une animation ?
C'est un véritable GA fonctionnel : chaque génération évalue réellement la fonction de fitness pour chaque individu, effectue une véritable sélection par tournoi et un véritable croisement par mélange sur les vrais vecteurs de paramètres, et applique une véritable mutation gaussienne avec le taux et l'amplitude des curseurs. La courbe de meilleure fitness par génération est calculée à partir du véritable historique de la population, pas scriptée, vous pouvez donc vérifier vous-même la convergence en réinitialisant et en relançant.
Un véritable algorithme génétique fait évoluer les réglages de procédé de température, pression et vitesse au fil des générations à l'aide de la sélection par tournoi, du croisement par mélange BLX-alpha et de la mutation gaussienne, convergeant en direct vers le réglage qui maximise un paysage de rendement simulé à plusieurs pics.
3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install