CMA-ES/pycma

Python implementation of CMA-ES

解決的問題

pycma 是共變異矩陣適應進化策略(CMA-ES)的 Python 實作,專為解決困難的數值最佳化問題而設計。它特別針對非凸、病態、多峰、崎嶇或有雜訊的問題,這些情況下傳統的梯度基礎方法可能因無需導數而失敗。

如何運作

此套件實作了 CMA-ES 算法,一種透過自適應調整共變異矩陣來導航搜尋空間的隨機搜尋策略。支援多種複雜情境,包括:

  • 邊界限制:透過特定選項或專用包裝器(BoundDomainTransform)處理。
  • 混合整數搜尋:支援連續搜尋空間中的整數變數。
  • 限制條件:能處理線性與非線性限制。
  • 雜訊處理:內建機制用於管理雜訊目標函數。

適用對象

適用於從事連續與混合整數數值最佳化之研究人員與工程師,特別是處理導數不可用或搜尋空間極度不規則的「黑箱」函數時。

主要特色

  • 無需導數:無需梯度即可運作,適用於崎嶇或雜訊較大的情境。
  • 彈性限制支援:支援邊界、線性與非線性限制。
  • 混合整數支援:可同時最佳化連續與整數變數。
  • CMA-ES 變體:包含相關工具如 purecmaCompactGA

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案