jijzepttools.blackbox_optimization.benchmark.solver.jztools_solver#
Classes#
JijZeptTools ベースの統合ブラックボックス最適化ソルバー |
Module Contents#
- class JZToolsSolver(name: str, bbo_methods: List[jijzepttools.blackbox_optimization.bbo_ommx.BBOMethod] | None, run_kwargs: dict, seed: int = 0)#
Bases:
jijzepttools.blackbox_optimization.benchmark.solver.interface.interface.SolverInterface
JijZeptTools ベースの統合ブラックボックス最適化ソルバー
このクラスは、JijZeptToolsのブラックボックス最適化機能を統一インターフェースで提供します。 複数の最適化手法(FMO, BOCS, TPE)を組み合わせて使用し、 バイナリ、整数、連続変数を含む混合整数最適化問題に対応しています。
主な特徴: - プリセット設定による簡単な初期化 - カスタム設定による柔軟な構成 - 複数の最適化手法の自動選択・組み合わせ - SCIP(数理最適化)とOpenJij(量子アニーリング)の両方に対応
- 使用例:
# プリセットを使用した簡単な初期化 solver = JZToolsSolver.from_preset(“fmscip”, seed=42)
# カスタム設定での初期化 solver = JZToolsSolver(
name=”Custom_Solver”, bbo_methods=[BBOMethod.FMO, BBOMethod.BOCS], run_kwargs={“solver”: custom_solver}, seed=42
)
注意事項: - bbo_methodsをNoneに設定すると、デフォルトで[FMO, BOCS, TPE]が使用されます - OpenJijを使用する場合は、enable_binary_conversion=Trueの設定が推奨されます - 連続変数を整数化する場合は、resolution_continuous_to_integerで解像度を調整できます
- PRESETS#
- bbo_methods#
- run_kwargs#
- classmethod from_preset(preset_name: str, seed: int = 0)#
プリセットからインスタンス化
- Parameters:
preset_name – プリセット名 (“fmscip”, “fmopenjijsa_for_continuous”)
seed – ランダムシード
- property name: str#
ソルバー名
- optimize(blackbox_function: jijzepttools.blackbox_optimization.benchmark.problem.interface.interface.BlackboxFunction, budget, x_init, y_init)#
最適化を実行
- Parameters:
blackbox_function – ブラックボックス関数
budget – 評価回数
x_init – 初期点(辞書のリスト)
y_init – 初期点の評価値
- Returns:
best-so-far履歴
- Return type:
list[float]