optimize_mup

固定パラメータ数・物理モデル主導の最適化プログラム

1. optimize_mup とは

optimize_mup は、パラメータ数が事前に決まっている物理モデル を対象とした最適化プログラムです。

代表的な用途として、

が挙げられます。

モデル構造は解析者が明示的に与え、 「モデルは正しい」という前提でパラメータを推定 する点が大きな特徴です。

2. 対象とする最適化問題

optimize_mup が対象とする問題は、次のような性質を持ちます。

このような問題では、 「ブラックボックス探索」よりも物理的妥当性 が重要になります。

3. 内部構造と使用ライブラリ

optimize_mup は、optimize_flex フレームワーク上に 以下の構成で実装されています。

物理モデルの詳細は model 側に閉じており、 最適化コードはモデルの数式を知りません。

4. 実行モード(mode)の考え方

optimize_mup では、解析を段階的に進めるため、 複数の mode が用意されています。

4.1 plot / sim

この段階で物理的に不自然な場合、先に進みません。

4.2 lfit(線形最小二乗)

線形に分離可能なパラメータを、

することで、最適化の安定性を大きく向上させます。

4.3 fit(非線形最適化)

SIMPLEX や Nelder–Mead、GA などを用いて 非線形パラメータを最適化します。

4.4 scan(尤度スキャン)

パラメータを 1 つずつ固定して再最適化を行い、 誤差分布を直接可視化します。

5. 最適化アルゴリズムの使い分け

optimize_mup では、問題の性質に応じて 最適化アルゴリズムを切り替えます。

勾配法は原則として推奨されません。

6. 誤差評価の考え方

optimize_mup では、共分散行列を直接計算しません。

その代わり、評価関数を

f(x) ≈ −2 log L(x)

と解釈し、

尤度スキャンによって評価します。

7. optimize_peakfit / optimize_ATLAS との違い

項目optimize_mupoptimize_peakfitoptimize_ATLAS
パラメータ数固定可変固定
評価関数Python 内部Python 内部外部エンジン
主用途物理モデル同定データ分解TCAD 同定

8. まとめ

optimize_mup は、

という研究に最適なプログラムです。

次のページでは、 可変パラメータ数問題を扱う optimize_peakfit について解説します。