定義域 $[-5,5]^2$、最小値 $f(0,0)=0$
Rastrigin・Ackley等の難関ベンチマーク関数に対しGAを実行。個体群が適応度地形を探索しながら最適解に収束する様子をリアルタイム可視化。
定義域 $[-5,5]^2$、最小値 $f(0,0)=0$
構造トポロジー最適化: 材料をどこに配置すべきかを決める設計で、SIMP法などの感度情報に基づく手法の初期設計や、離散的な設計変数(穴を開ける/開けない)の探索に遺伝的アルゴリズムが用いられます。軽量化しながら強度を確保する自動車部品や航空機部材の設計に応用されています。
エンジン燃焼最適化: 燃焼室形状、噴射タイミング、バルブタイミングなど多数のパラメータが燃費と排ガス性能に複雑に影響します。CAEシミュレーション(CFD)と遺伝的アルゴリズムを組み合わせ、大域的な最適パラメータセットを探索します。
アンテナ・電磁界デバイス設計: アンテナの形状やフィルタの構造をパラメータ化し、所望の周波数特性を得るために遺伝的アルゴリズムで探索します。電磁界シミュレーション1回の計算コストが高いため、効率的な探索が求められる分野です。
航空機の翼型設計: 揚力と抗力の比(揚抗比)を最大化する翼の形状を探す問題です。複数の設計条件(離着陸時、巡航時)を同時に満たす多目的最適化として遺伝的アルゴリズムが適用されるケースもあります。
このシミュレーターで遺伝的アルゴリズム(GA)に慣れると、「万能の最適化ツール」と誤解しがちだ。まず、GAは必ずしも「最適解」を見つける保証はない。あくまで「非常に良い解」を高い確率で見つける手法だ。特に実務では、計算コストが莫大になる。例えば、車体の衝突安全性を最適化する場合、1回のCAE解析に数時間かかる。個体数100、世代数50なら、単純計算で5000回の解析が必要で、現実的ではない。実務では、初期設計を決定するための大まかな探索や、他の手法では手がかりがつかめない問題の初期解生成に使われることが多い。
次に、パラメータ設定の魔術に頼らないこと。「突然変異率は0.01が黄金律」といった迷信は捨てよう。最適なパラメータは問題によって大きく変わる。このツールで試してほしいのは、突然変異率を極端に高く(例:0.5)すると個体群がランダムウォークして収束しなくなる一方、低くしすぎ(例:0.001)すると初期の多様性が失われ、最初に捕まった局所解から抜け出せなくなる様子だ。実務では、最初はデフォルト値で走らせ、解の多様性が早く失われるなら突然変異率を上げ、逆に収束が遅すぎるなら選択圧を強めるといった調整が必要になる。
Rastrigin関数(f(x,y) = 20 + x² + y² - 10(cos(2πx) + cos(2πy)))の最小化: 集団数200、交叉率0.8、突然変異率0.1、1000世代実行時、第1世代の最良適応度が約45.2に対し、第500世代で5.3へ収束、最終第1000世代で最良値2.1(理論最小値0に近接)を達成。多様性は第300世代で0.8から0.2へ低下し、早期収束を示唆します。