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

最適化テンプレート

最適化テンプレートは、一般的な最適化シナリオに対して事前設定された出発点を提供します。各テンプレートは、特定のニーズに合わせてカスタマイズ可能なデフォルトのパラメータ、目的関数、実験、制約条件を定義しています。

テンプレートタイプ

Ionworks Studio には 2 種類の最適化テンプレートがあります:
  • システムテンプレート — Ionworks が提供する組み込みテンプレート(Design、Charge)。読み取り専用で、すべてのプロジェクトで利用可能です。
  • プロジェクトテンプレート — 特定のプロジェクト内で作成するテンプレート。そのプロジェクトのメンバーのみに表示され、完全に編集・削除できます。
プロジェクトの最適化テンプレートページを開くと、システムテンプレートとプロジェクト固有のテンプレートの両方が表示されます。Type 列でテンプレートが “System” か “Project” かを確認できます。

利用可能なシステムテンプレート

Design テンプレート

Design テンプレートは、バッテリーセルの最適な幾何学的パラメータや材料パラメータを見つけるセル設計最適化に最適化されています。 デフォルト設定:
  • 目的関数: 容量またはエネルギー密度の最大化
  • パラメータ: 電極の厚さ、空隙率、粒子サイズ
  • 制約条件: 製造上の制限、安全性要件
一般的なユースケース:
  • ターゲットアプリケーションに対する電極厚み比の最適化
  • エネルギー密度と出力特性のバランス調整
  • レート特性のための最適な粒子サイズの探索

Charge テンプレート

Charge テンプレートは、安全性の制約条件を遵守しながら充電時間を最小化する最適な電流プロファイルを見つける充電プロトコル最適化向けに設計されています。 デフォルト設定:
  • 目的関数: 充電時間の最小化(0-100% または 0-80%)
  • パラメータ: 各ステップの充電電流
  • 制約条件: アノード電位 > 0V(リチウム析出を回避するため)
一般的なユースケース:
  • 多段定電流(MSCC)充電の最適化
  • 急速充電プロトコルの設計
  • 充電速度とバッテリー寿命のバランス調整

テンプレートの構造

各最適化テンプレートは以下で構成されています:

パラメータセクション

最適化するモデルパラメータを定義します:
  • bounds: パラメータの [最小値, 最大値] 範囲
  • initial_value: 最適化の開始点
充電電流について、PyBaMM では充電に負の値を使用します(正の値 = 放電)。したがって、充電電流 -2.0 A は 2.0 A で充電することを意味します。

目的関数セクション

実行する実験と最適化対象を定義します:

実験の定義

実験は UCP 形式で定義されます。テンプレートでは Input["parameter_name"] 構文を使用して最適化可能なパラメータを参照します:

カスタム変数

テンプレートではカスタム変数を定義できます。これは、PyBaMM の式を使用してシミュレーション出力から計算される派生量です。モデル出力として直接利用できない量に基づいて最適化したい場合に便利です。

カスタム変数の作成

カスタム変数は目的関数ごとに以下の内容で定義されます:
  • 名前: 変数の説明的な名前
  • : PyBaMM の式文字列
式の例:
カスタム変数は、“Voltage [V]” や “Current [A]” などのモデル変数と 並んで、ゴールや制約条件の変数ドロップダウンで利用可能になります。

メトリクスタイプ

テンプレートでは、シミュレーション結果から値を抽出するためにさまざまなメトリクスタイプを使用します:

集約メトリクス

時系列から単一の値を計算します:

交差メトリクス

特定のポイントで変数を評価します: 例: SOC 80% に達するまでの時間
例: 複数の時間で電圧をサンプリング Time メトリクスに時間のリストを渡すと、1回の評価で各時点の変数値を読み取れます。メトリクスは時間ごとに1つの値を順番に返します。
Time メトリクスのベクトル形式は、サイクル単位やステップ単位のサブソリューションを スライスする必要がない、連続的で実験を伴わないソルブを対象としています。 DesignObjective 内では未サポートです。スカラーの value を使用するか、メトリクスを StepwiseMetric / CyclewiseMetric でラップして対象セグメントを指定してください。

テンプレートのカスタマイズ

テンプレートを選択すると、すべての値が事前入力されますが、完全に編集可能です:
  1. パラメータの変更 - パラメータの追加/削除、範囲の調整
  2. 目的関数の編集 - 実験プロトコルの変更、ゴールの追加/削除
  3. 制約条件の調整 - 制約のしきい値とペナルティの変更
  4. カスタム変数の追加 - 特定のニーズに合わせた派生量の作成
  5. アルゴリズムの設定 - マルチスタート数と最大反復回数の設定
テンプレートは出発点を提供するものです。特定のセル化学、フォームファクタ、 最適化目標に合わせてカスタマイズすることをお勧めします。

最適化をテンプレートとして保存

最適化のパラメータ、目的関数、制約条件を再利用したい構成に調整し終えたら、最適化リストから直接、新しいプロジェクトテンプレートとして保存できます。フォームを手動で作り直す必要はありません。 最適化をテンプレートとして保存するには:
  1. プロジェクトの最適化リストを開きます。
  2. 再利用したい最適化の行の三点メニューをクリックします。
  3. テンプレートとして保存を選択します。
  4. ダイアログでテンプレート名(必須)と、任意で説明を入力します。
  5. テンプレートを保存をクリックします。
Studio は新しいプロジェクトレベルのテンプレートを作成し、最適化の保存済み構成をそのままコピーして、テンプレートの詳細ページに遷移します。そこから名前変更や編集、テンプレートを使った新しい最適化の起動が行えます。
最適化の保存済み構成とテンプレートの initial_form_data は同じスキーマを共有 しているため、validate_against_experiment_steps のような設定、反復メトリクス ラッパー、カスタム変数は完全に保持されます。テンプレートはフォーム表示から 再導出されたものではなく、最適化が実際に実行した内容と一致したままになります。
テンプレート名はプロジェクト内で一意である必要があります。同じ名前のテンプレートが 既に存在する場合、保存は失敗します。別の名前を選んで再試行してください。
テンプレートとして保存できるのは、ソースの最適化に有効な保存済み構成がある場合のみです。完全な構成がない状態で作成された最適化(例:部分的にインポートされたドラフト)はテンプレートに変換できません。先に有効な構成で最適化を再実行してください。

プロジェクト間でのテンプレートのコピー

システムテンプレートを含む任意のテンプレートを、組織内の別のプロジェクトにコピーできます。これは、複数のプロジェクト間でテンプレート設定を再利用したい場合や、カスタマイズ可能なシステムテンプレートのプロジェクト固有バージョンを作成したい場合に便利です。 テンプレートをコピーするには:
  1. プロジェクトの最適化テンプレートリストを開きます
  2. コピーしたいテンプレートの三点メニューをクリックします
  3. Copy to project を選択します
  4. ダイアログからターゲットプロジェクトを選択します
  5. Copy をクリックします
コピーされたテンプレートは、独立して編集可能な新しいプロジェクトテンプレートとしてターゲットプロジェクトに表示されます。
テンプレート名はプロジェクト内でユニークである必要があります。ターゲットプロジェクトに 同じ名前のテンプレートが既に存在する場合、コピーは失敗します。まずターゲット プロジェクト内の競合するテンプレートの名前を変更して名前を空けてから、 コピーを再試行してください。

テンプレートの権限

テンプレートの権限はプロジェクトレベルで管理されます:
システムテンプレートはすべてのユーザーに対して読み取り専用です。 システムテンプレートを変更するには、まずプロジェクトにコピーしてください。 コピーは完全に編集可能なプロジェクトテンプレートになります。

次のステップ