メインコンテンツへスキップ

最適化

Ionworks Studio の最適化機能を使用すると、バッテリーモデルに最適なパラメータ値を自動的に見つけることができます。異なるパラメータの組み合わせで多数のシミュレーションを手動で実行する代わりに、最適化エンジンがパラメータ空間をインテリジェントに探索し、制約条件を満たしながら目的関数を最大化または最小化する値を見つけます。

最適化を使用すべき場面

最適化は以下のような場面に最適です:
  • 充電プロトコル設計 - リチウム析出を回避しながら充電時間を最小化する最適な充電電流と電圧プロファイルを見つける
  • セル設計 - エネルギー密度や出力特性を最大化するために、電極の厚さ、空隙率、その他の幾何学的パラメータを最適化する
  • 多目的トレードオフ - 容量と充電時間、またはエネルギーと出力など、競合する目標のバランスを取る

最適化の仕組み

最適化プロセスは以下の手順で進みます:
  1. 最適化に名前を付ける(オプション) - 実行に説明的な名前を付けるか、空白のままにして自動生成させます
  2. セルとモデルを選択する - 最適化対象のセル仕様とパラメータ化されたモデルを選択します
  3. 目的関数を定義する - 最大化または最小化したい対象を指定し、遵守すべき制約条件を追加します
  4. パラメータを定義する - 最適化するモデルパラメータを選択し、その範囲(最小値と最大値)を設定します
  5. アルゴリズムを設定する - マルチスタート数と最大反復回数を設定します
  6. 最適化を実行する - アルゴリズムがパラメータ空間を探索し、指定された目的関数と制約条件に対する最適値を見つけます
  7. 結果を確認する - 最適化された結果をベースラインと比較し、反復履歴を確認します

マルチスタート最適化

最適化問題には複数の局所最適解が存在する場合があります。大域的最適解を見つける可能性を高めるため、Ionworks はマルチスタート最適化を使用します:
  • 異なる初期点から複数の最適化を開始します
  • 各実行はそれぞれの局所最適解に収束します
  • すべての実行の中から最良の結果が最終的な解として選択されます
デフォルトのマルチスタート数は選択したオプティマイザによって異なります。Differential Evolution のようなグローバルオプティマイザは、探索空間を広範囲に自律探索するため、デフォルトは 1 マルチスタートです。XNES や CMA-ES のようなローカルオプティマイザはデフォルトで 4 です。網羅性と計算時間のバランスを調整するために、この値はいつでも変更できます。マルチスタート実行間での CPU の割り当て方法については、並列化を参照してください。

最適化テンプレート

Ionworks は、すぐに始められるように事前設定された最適化テンプレートを提供しています。テンプレートは個々のプロジェクトにスコープされているため、各プロジェクトが特定のニーズに合わせた独自のテンプレートセットを持つことができます。組み込みのシステムテンプレート(Design と Charge)は、すべてのプロジェクトで読み取り専用の出発点として利用可能です。

設計最適化

電極の厚さや材料特性などのセル設計パラメータを最適化し、目標とする性能特性を達成します。 一般的なユースケース:
  • 所定のフォームファクタに対してセル容量を最大化する
  • 急速充電のための電極厚み比を最適化する
  • エネルギー密度と出力特性のバランスを取る

充電最適化

安全性の制約条件を遵守しながら、充電時間を最小化するための充電プロトコルパラメータを最適化します。 一般的なユースケース:
  • 多段定電流充電
  • 0-80% 充電時間の最小化
  • リチウム析出の回避(アノード電位を正に維持)
プロジェクト間で設定を再利用するために、テンプレートをプロジェクト間でコピーすることもできます。

主要な概念

パラメータ

パラメータは最適化したい値です。各パラメータには以下があります:
  • 名前 - 変動させるモデルパラメータ(例: “Positive electrode thickness [m]”)
  • 範囲 - 許容される最小値と最大値
  • 初期値 - 最適化の開始点(デフォルトではモデルの値)

目的関数

目的関数は達成したい目標を定義します。各目的関数には以下が含まれます:
  • 実験 - 実行するシミュレーションプロトコル(UCP 形式)
  • ゴール - 最大化または最小化する対象
  • 制約条件 - 遵守すべき制限

メトリクス

メトリクスはシミュレーション結果から値を抽出し、ゴールや制約条件に使用します:
メトリクスタイプ説明使用例
Maximumシミュレーション中の最大値ピーク温度
Minimumシミュレーション中の最小値最小アノード電位
Mean時間平均値平均出力
Sum累積合計値エネルギースループット
Time特定の時間点での値最終容量
SOC特定の充電状態での値SOC 80% での電圧
Voltage特定の電圧での値4.2V に達するまでの時間
PointBased単一ポイントの値(時系列なし)セルコスト

制約条件

制約条件は遵守すべき制限を定義します。制約条件に違反した場合、コスト関数にペナルティが追加されます。各制約条件には以下があります:
  • Action - “GreaterThan” または “LessThan”
  • Value - しきい値
  • Penalty - 違反に対するペナルティの重み(デフォルト: 1e6)

アルゴリズム設定

オプティマイザの選択

Ionworks は複数の最適化アルゴリズムをサポートしています。デフォルトは Differential Evolution で、手動チューニングなしに幅広い問題に対して効果的に機能するグローバルオプティマイザです。
オプティマイザタイプ最適な用途デフォルトマルチスタート数
Differential Evolution(デフォルト)集団ベース、グローバル汎用最適化; ノイズの多いまたは多峰性のランドスケープ1
XNES集団ベース汎用; 滑らかなランドスケープ4
CMA-ES集団ベース困難な非分離問題4
PSO集団ベース、グローバル群知能による広範な探索1
Nelder-Mead単一点、勾配フリー単純な問題での高速収束; 局所最適解に陥る可能性あり4
Differential Evolution や PSO のようなグローバルオプティマイザは探索空間を広範囲に自律探索するため、通常 1 マルチスタートで十分です。ローカルオプティマイザは局所最適解に陥ることを避けるために、複数のマルチスタートが有効です。

アルゴリズムパラメータ

最適化アルゴリズムを調整できます:
  • Multistarts - 並列最適化実行の数(1-50)。デフォルトはオプティマイザによって異なります。グローバルオプティマイザのデフォルトは 1、ローカルオプティマイザのデフォルトは 4 です。
  • Max Iterations - 各実行の最大反復回数(10-1000、デフォルト: 100)
マルチスタート数を増やすと信頼性が向上しますが、時間がかかります。反復回数を増やすとより精密な収束が可能になりますが、単純な問題では不要な場合があります。

次のステップ