jijzepttools.blackbox_optimization.benchmark.solver.jztools_solver#

Classes#

JZToolsSolver

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]