Passenger Bird
On-going

Optuna for VEXIS(仮)

VEXIS-CAE専用の設計パラメータ自動最適化プラグイン

Python Optuna 最適化 Automation

Trigger

VEXISで解析自体は自動化されたが、目標の感触(荷重変位曲線)を実現する最適な設計値(材料定数や形状寸法)を見つけるには、依然として人の手による多くの試行錯誤が必要だった

Approach

ベイズ最適化ライブラリOptunaをVEXISに統合し、目標カーブと解析結果の誤差(RMSE)が最小になるパラメータを自動探索する仕組みを構築する

Goal

「こんな感触にしたい」という目標データ(CSV)を与えるだけで、それを実現するための最適な設計パラメータを自動で導き出すシステムの開発

Overview

Optuna for VEXIS(仮) は、VEXIS-CAEに高度な自動最適化機能を追加するプラグインプロジェクトです。
VEXIS単体では「形状を入力して結果を得る」という順方向のプロセスしか行えませんが、本プラグインを組み合わせることで「欲しい結果(目標の感触)から最適な入力パラメータを逆算する」という逆解析・最適化が可能になります。

Pythonの強力な最適化フレームワークであるOptunaを採用し、TPE(Tree-structured Parzen Estimator)やガウス過程回帰を用いたベイズ最適化により、少ない試行回数で効率的に最適解を探索します。
特に、超弾性材料(Ogdenモデル)の物性同定や、ラバードームの形状パラメータ最適化など、非線形性が強く直感的な設計が難しい領域で威力を発揮します。

ユーザーは設定ファイルに探索したいパラメータと目標データ(CSV)を指定して実行するだけ。あとはAIがVEXISを何十回、何百回と自動実行し、ベストな設計案を提示してくれます。

Architecture

graph TD User[User / Config] -->|Target Curve & Range| Optuna subgraph Optimization Loop Optuna[Optuna Optimizer] -->|Suggest Parameters| VEXIS_Wrapper[VEXIS Wrapper] VEXIS_Wrapper -->|Update Input Files| Solver[VEXIS-CAE Solver] Solver -->|Run Analysis| Result[Result CSV] Result -->|Calculate RMSE| Evaluator[Objective Function] Evaluator -->|Return Score| Optuna end Optuna -->|Best Parameters| Report[Optimization Report]

Timeline

Proto 1: Concept Proof

VEXISのCLI機能を活用し、外部Pythonスクリプトから制御する概念実証を開始。
まずは材料定数(Ogdenモデル)の同定をターゲットに、Optunaとの連携テストを実施。
解析失敗時(発散など)のハンドリングや、VEXISの非同期実行制御などの技術的課題を解決。

Proto 2: Algorithm Refinement

最適化アルゴリズムの選定とチューニングを実施。
初期探索にSobol列(準モンテカルロ法)、本番探索にガウス過程(GP)を用いるハイブリッドサンプリングを導入し、探索効率を大幅に向上。
また、中断した最適化プロセスを再開できるResume機能や、多目的最適化(パレート解探索)の基礎実装を行い、実用性を高めた。

Proto 3: Auto Sampler

サンプラー選定が難しいので、OptunaにあったAutosamplerを有効にしてみた。 性能未検証(2026/01/24)

Highlights

本プロジェクトの技術的なこだわりポイント:

1. ロバストな自動運転
CAE解析はしばしば計算不安定によりエラー終了しますが、これはVEXIS側の堅牢なメッシュ適応型境界条件再定義ロジックで防ぐことで、エラーで止まらずに探索を継続できる堅牢なシステムを構築しています。

2. マルチサンプラー戦略
探索空間の全体像を把握するための「初期探索」と、有望な領域を深掘りする「活用探索」で最適なアルゴリズムを使い分けることで、限られた計算リソース(時間)の中で最大限の成果を出せるよう工夫しています。

3. シームレスな統合
目標カーブ(CSV)をフォルダに入れるだけで自動的に認識し、結果の比較グラフも自動生成されるなど、VEXIS本体の「手軽さ」を損なわないUXを重視しています。 これによって、実機データとの合わせ込みだけでなく別CAEソフト(Abaqusなど商用ソルバーとの比較を想定)との合わせ込みもできるようになっています。

Future plans

1. 形状パラメータ(ジオメトリ)の直接最適化への対応。
いまは材料パラメータの合わせ込みでOptunaを使っていますが、将来的には形状パラメータの最適化も行えるようにします。

2. HPCでの並列計算への対応。
Optunaの並列計算機能を活用し、HPCでの並列計算に対応します。(できたら良いな)
ローカルでCAEまで含めて実行すると非常に重いため、本当はクラウド計算資源で実行すべきかなという気がしますが、仕事で使うことを考えると社内にローカルネットHPCを設置してその上でやるのが現実的な落とし所かなと思っています。