CMA-ES/pycma
Python implementation of CMA-ES
解決的問題
pycma 是共變異矩陣適應進化策略(CMA-ES)的 Python 實作,專為解決困難的數值最佳化問題而設計。它特別針對非凸、病態、多峰、崎嶇或有雜訊的問題,這些情況下傳統的梯度基礎方法可能因無需導數而失敗。
如何運作
此套件實作了 CMA-ES 算法,一種透過自適應調整共變異矩陣來導航搜尋空間的隨機搜尋策略。支援多種複雜情境,包括:
- 邊界限制:透過特定選項或專用包裝器(
BoundDomainTransform)處理。 - 混合整數搜尋:支援連續搜尋空間中的整數變數。
- 限制條件:能處理線性與非線性限制。
- 雜訊處理:內建機制用於管理雜訊目標函數。
適用對象
適用於從事連續與混合整數數值最佳化之研究人員與工程師,特別是處理導數不可用或搜尋空間極度不規則的「黑箱」函數時。
主要特色
- 無需導數:無需梯度即可運作,適用於崎嶇或雜訊較大的情境。
- 彈性限制支援:支援邊界、線性與非線性限制。
- 混合整數支援:可同時最佳化連續與整數變數。
- CMA-ES 變體:包含相關工具如
purecma與CompactGA。
相關
- 專案
- 專案
- 專案
- 專案
- 專案