Valdecy/pyMetaheuristic

pymetaheuristic: A Python Library for Metaheuristic Optimization and Collaborative Search

何を解決するか

pymetaheuristic は、メタヒューリスティックアルゴリズムを使用して複雑な最適化問題を解決するための包括的なツールキットを提供します。非線形、制約付き、または混合型変数空間(連続、整数、バイナリ、カテゴリカル、順列)上で定義された目的関数に対して、最適または近似最適解を簡単に見つけるプロセスを簡素化します。

仕組み

このライブラリは、幅広い最適化戦略と支援インフラを実装しています:

  • アルゴリズムライブラリ: スwarmインテリジェンス、進化的、トラジェクトリ、物理由来のメソッドなど、さまざまなファミリーにまたがる400以上のアルゴリズムを含みます。
  • 実行エンジン: 単一のアルゴリズム用の高レベルな optimize エントリーポイントを提供し、cooperative_optimize および orchestrated_optimize を用いて、複数の最適化器が移行と適応的オーケストレーションポリシーを通じて協調して働くマルチアイランドシステムを実現します。
  • 制約処理: 「deb」などの特定のハンドラや、clipreflectwang などの修復戦略を用いて、不等式および等式制約をサポートし、解が実行可能であることを保証します。
  • 探索空間管理: タイプ付き変数空間(FloatVarIntegerVar など)と変換関数を使用して、連続的な位置を離散的またはバイナリ確率にマッピングします。
  • 診断と説明可能性: EvoMapXレイヤーによる内部プローブラベルと属性マトリクス、およびPlotlyベースの可視化(収束、多様性、アイランドダイナミクス)を提供します。
  • ベンチマーク: BenchmarkRunner を用いた迅速なスイープと、統計的検定とパフォーマンスプロファイルを用いた科学的分析のための BenchmarkStudy を提供します。

対象ユーザー

  • 研究者およびデータサイエンティスト:最適化アルゴリズムの科学的ベンチマークを実施する方。
  • エンジニア:制約付きの現実世界の最適化問題を解決するための堅牢なライブラリを探している方。
  • 深いコーディング経験のないユーザーpymetaheuristic Lab Webアプリケーションを使ってグラフィカルインターフェースを利用することができる方。

特徴

  • 膨大なアルゴリズムコレクション: 1つのパッケージで400以上の最適化アルゴリズムにアクセス可能。
  • 協調的探索: 設定可能なトポロジーと適応的オーケストレーションを備えたマルチアイランドシステムをサポート。
  • 深い可視性: 連携テレメトリ、ポピュレーションスナップショット、EvoMapX説明可能性により、アルゴリズムの収束過程を理解できます。
  • 柔軟な終了条件: ステップ数、評価回数、ウォールクロック時間、目標フィットネス、早期停止に基づく組み合わせ可能な停止基準。
  • 混合型変数対応: 浮動小数点、整数、バイナリ、カテゴリカル、順列変数をネイティブに扱います。

関連

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