CMA-ES/pycma
Python implementation of CMA-ES
何を解決するか
pycma は、共分散行列適応進化戦略(CMA-ES)の Python 実装であり、ランダムで勾配を必要としない数値最適化アルゴリズムです。非凸、悪条件、多峰性、粗い、またはノイズのある最適化問題を、連続的および混合整数探索空間の両方で解決することを目的としています。
動作方法
このライブラリは、勾配情報を必要とせずに、与えられた目的関数の最適解を見つけるためのツールを提供します。複数の複雑な現実世界の制約を処理できます:
- 境界制約:
boundsオプションまたは専用のBoundDomainTransformラッパーで管理。 - 線形および非線形制約:
fmin2またはfmin_con2関数の特定の引数で処理。 - ノイズ:
noise_handlerを使ってノイズ環境での安定性を維持。 - 混合整数問題:
integer_variablesインデックスリストを通じて整数変数をサポート。
対象ユーザー
伝統的な勾配ベースの手法が失敗する、または目的関数が「ブラックボックス」であるような複雑な数学関数の最適化が必要な研究者やエンジニア向けです。
特徴
- 勾配不要:勾配を必要としないため、粗いまたはノイズのある地形に適しています。
- 混合整数対応:連続変数と整数変数を同時に最適化できます。
- 制約処理:境界、線形、非線形制約の組み込みサポート。
- 柔軟なインターフェース:高レベルの
fminインターフェースと、カスタム制御に適した低レベルのask-and-tellインターフェースの両方を提供。 - 並列化:
OOOptimizerのn_jobsパラメータにより並列実行をサポート。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト