eggzec/pyswarm

Particle Swarm Optimization (PSO) for Python

何を解決するか

勾配情報(関数の傾き)が入手できない、または計算が非常に難しい場合に、関数の最小値を見つける方法を提供します。これは、従来の微積分に基づく手法が失敗するような複雑な最適化問題に有用です。

動作方法

このライブラリは、鳥の群れや魚の群れの社会的行動を模倣する進化的アルゴリズムである粒子群最適化(PSO)を実装しています。最適解を探索するために、検索空間を「粒子」のグループが移動させ、各粒子は自身の最良位置と群れ全体の最良位置に基づいて位置を調整します。

対象ユーザー

制約(下限と上限)をサポートする、軽量で勾配フリーの最適化ツールをPythonで必要とする開発者や研究者です。

特徴

  • 軽量で使いやすい。
  • 制約の組み込みサポート。
  • scipy.optimize.OptimizeResult と互換性のある形式で結果を返す。
  • Python 3.10+ と NumPy のみを必要とする。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト