サロゲートモデル(代理モデル)によるCAE最適化
サロゲートモデルとは
先生、サロゲートモデルって何ですか? 名前だけは最適化の文脈で聞くんですけど、具体的にイメージが湧かなくて…
ざっくり言うと、高コストなFEM/CFDシミュレーションの入出力関係を近似する軽量モデルのことだ。「代理モデル」とも呼ぶ。
例えば、自動車のバンパー設計を考えよう。板厚やリブ形状を変えるたびにLS-DYNAで衝突解析を回すと、1ケース2〜3時間かかる。設計変数が20個あったら、全組み合わせの探索なんて不可能だよね。
確かに、20変数の最適化をFEMで直接やったら何千ケースも計算する必要がありますよね。
そこでサロゲートモデルの出番だ。まずDOE(実験計画法)で100〜200点の代表的な設計点を選び、各点でFEMを実行する。その入出力データからサロゲートモデルを構築すれば、あとは10万点でも100万点でもミリ秒単位で予測できる。最適化アルゴリズムはFEMの代わりにサロゲートを評価するから、探索が劇的に高速化するわけだ。
代表的な手法の比較
サロゲートモデルにも色々な種類があるんですよね? どれを使えばいいんですか?
代表的な4つの手法を比較しよう:
| 手法 | 特徴 | 長所 | 短所 |
|---|---|---|---|
| Kriging(ガウス過程回帰) | 空間相関を考慮した統計的補間 | 不確かさの定量化ができる。EGO(Efficient Global Optimization)と相性抜群 | サンプル数1,000超で計算コスト急増 |
| RBF(放射基底関数) | 基底関数の線形結合で近似 | 実装が簡単。補間精度が高い | 外挿に弱い。不確かさの評価が困難 |
| 応答曲面法(RSM) | 2次多項式で近似 | 少数変数で安定。物理的解釈が容易 | 高度な非線形性を捉えられない |
| DNN(ディープNN) | 多層ニューラルネットワーク | 大量データ・高次元に強い | 学習データが少ないとオーバーフィット |
Krigingの「不確かさの定量化」って何がうれしいんですか?
Krigingは予測値だけでなく、「この予測がどれくらい信頼できるか」の信頼区間も出せるんだ。これがEGO(Efficient Global Optimization)で超重要になる。サロゲートの予測が不確かな領域に優先的にFEMサンプルを追加する「Infill戦略」が取れるから、少ない追加計算で効率的にサロゲートの精度を上げられる。実務では設計変数10個以下ならKrigingが第一選択だね。
じゃあDNNはどんなときに使うんですか?
設計変数が50個以上あったり、入力が画像データ(形状のメッシュ画像)だったりする場合だ。例えばボディ骨格の形状最適化で、断面形状をCNNで特徴抽出して応答予測する研究がある。ただし、学習データとして数千〜数万ケースのFEM結果が必要だから、計算予算との相談になる。
DOEからサロゲート構築までのワークフロー
実際にサロゲートモデルを作るときの手順を教えてください。
典型的なワークフローはこうだ:
Step 1: 設計変数と応答の定義
入力:板厚、材料定数、形状パラメータなど
出力:最大応力、変位、固有振動数、加速度ピーク値など
Step 2: DOE(実験計画法)でサンプル点を決定
Latin Hypercube Sampling(LHS)が標準的。設計変数の数 $d$ に対して、最低 $10d$ 〜 $20d$ 点が目安。20変数なら200〜400点。
Step 3: 各サンプル点でFEM/CFDを実行
HPC(高性能計算機)で並列実行するのが一般的。1ケース2時間 × 200ケースでも、100並列なら4時間で完了。
Step 4: サロゲートモデルの構築・検証
LOO-CV(Leave-One-Out交差検証)やNRMSE(正規化RMSE)でモデル精度を評価。NRMSE < 5%が実用上の目安。
Step 5: サロゲート上で最適化
遺伝的アルゴリズムやMOEA(多目的進化的アルゴリズム)でパレートフロントを探索。有望な解はFEMで検証。
実務での活用事例
実際のCAE業務で、サロゲートモデルってどこで使われてるんですか?
一番実績があるのは自動車OEMの衝突-NVH多目的最適化だね。衝突安全性能(G値ピーク、侵入量)とNVH性能(固有振動数、音圧レベル)はトレードオフの関係にあるから、パレート最適解を探す必要がある。
具体的には、ボディ骨格の板厚30変数をLHS-200点でサンプリングし、LS-DYNAとNastranで衝突・NVHをそれぞれ計算。Krigingサロゲートを構築して、NSGA-IIで50万点の設計空間を探索 ── という流れだ。トヨタ、ホンダ、BMWなどが論文で発表している。
200回のFEM計算でサロゲートを作って、50万点を探索できるのはすごいですね。直接FEMで最適化するのとどれくらい違うんですか?
直接FEMで遺伝的アルゴリズムを回すと、世代数100×個体数200で2万ケースが必要。1ケース2時間として4万時間 ── 事実上不可能だ。サロゲートなら200ケースのFEM(400時間)+サロゲート上の50万回評価(数分)で済む。計算コストは約1/100だね。
他にも、タイヤの転がり抵抗最適化(ブリヂストン)、航空エンジンのタービンブレード冷却設計(Rolls-Royce)、金型の充填解析最適化(射出成形)など、幅広い分野で実用化されている。
精度と落とし穴
サロゲートモデルって便利そうですけど、気をつけるべきことはありますか?
実務で陥りがちな落とし穴を3つ挙げよう:
1. 外挿領域での予測崩壊
サロゲートはDOEのサンプル範囲内での補間は得意だが、範囲外(外挿)では精度が急激に劣化する。最適化の過程でサロゲートが「DOEの外側に良い解がある」と誤判定するケースがあるから、必ず最適解をFEMで検証すること。
2. 不連続応答への対応
衝突解析で座屈モードが切り替わるような不連続な応答は、滑らかな近似を前提とするKrigingやRSMでは捉えにくい。こういう場合はサンプル数を増やすか、応答領域を分割してそれぞれにサロゲートを構築する「Region-of-Interest」アプローチが有効。
3. 次元の呪い
設計変数が増えるほど、設計空間の体積は指数関数的に拡大する。変数50個をLHSでカバーするには最低500〜1000サンプルが必要で、FEM計算の予算がそれだけ膨らむ。感度分析で重要な変数をスクリーニングしてから構築するのが鉄則だ。
まとめ
整理すると、サロゲートモデルはFEM/CFDの入出力を近似する軽量モデルで、DOE 100〜200点からKrigingやDNNで構築して、10万点規模の最適化探索を可能にする。自動車の衝突-NVH最適化で実績がある ── ということですね。
完璧だ。まずはmodeFRONTIERやOptiSLang、あるいはPythonのSMT(Surrogate Modeling Toolbox)ライブラリで小規模な問題から試してみるといい。2〜3変数の梁のたわみ最適化をKrigingで解くところから始めると、全体の流れが体感できるよ。
CAE技術は日々進化しています。 — Project NovaSolverは最新の研究成果を実務に橋渡しすることを目指しています。
CAEの未来を、実務者と共に考える
Project NovaSolverは、サロゲートモデルにおける実務課題の本質に向き合い、エンジニアリングの現場を支える道具づくりを目指す研究開発プロジェクトです。
プロジェクトの最新情報を見る →関連トピック
なった
詳しく
報告