Valdecy/pyMetaheuristic
pymetaheuristic: A Python Library for Metaheuristic Optimization and Collaborative Search
解決的問題
pymetaheuristic 提供一個全面的工具包,用於使用元啟發式演算法解決複雜的優化問題。它簡化了在目標函數可能為非線性、有約束,或定義在混合類型變數空間(連續、整數、二進制、分類、排列)上的優化問題中,尋找最佳或近似最佳解的過程。
工作原理
該庫實現了廣泛的優化策略和支援基礎設施:
- 演算法庫: 包含超過400種演算法,涵蓋多種類型,如群體智慧、進化、軌跡和物理啟發式方法。
- 執行引擎: 提供高階
optimize入口點用於單一演算法,以及cooperative_optimize和orchestrated_optimize用於多島系統,其中多個優化器透過遷移和自適應編排策略協同工作。 - 約束處理: 使用特定的處理器(如 "deb")和修復策略(如
clip、reflect、wang)支援不等式和等式約束,確保解保持可行性。 - 搜尋空間管理: 使用類型化變數空間(
FloatVar、IntegerVar等)和轉換函數,將連續位置映射到離散或二進制機率。 - 診斷與可解釋性: 提供 EvoMapX 層用於內部探針標籤和屬性矩陣,以及基於 Plotly 的視覺化工具,用於收斂性、多樣性及島動態分析。
- 基準測試: 提供
BenchmarkRunner用於快速掃描,以及BenchmarkStudy用於科學分析,支援統計檢定和性能輪廓。
適用對象
- 研究人員和資料科學家:進行優化演算法的科學基準測試。
- 工程師:尋找一個穩健的庫來解決現實世界中的約束優化問題。
- 無深度編碼經驗的使用者:可透過
pymetaheuristic LabWeb 應用程式使用圖形介面。
主要亮點
- 龐大的演算法集合: 一個套件內即可存取 400+ 個優化演算法。
- 協同搜尋: 支援可設定拓撲和自適應編排的多島系統。
- 深度可觀測性: 集成遙測、族群快照和 EvoMapX 可解釋性,幫助理解演算法收斂過程。
- 靈活的終止條件: 基於步數、評估次數、牆鐘時間、目標適應度或早停的可組合停止條件。
- 混合類型支援: 原生支援浮點、整數、二進制、分類和排列變數。
相關
- 專案
- 專案
- 專案
- 專案
- 專案