SciML/BlackBoxOptim.jl
Black-box optimization for Julia
解決的問題
BlackBoxOptim.jl 提供了一種在不需要了解函數的微分(梯度)的情況下,找到函數全域最小值或最大值的方法。這對於函數過於複雜、不可微或未知的「黑箱」問題至關重要,傳統基於梯度的優化方法無法適用。
工作原理
該套件實作了多種(元)啟發式與隨機演算法,透過探索搜尋空間來尋找最佳解。它同時支援單目標優化(尋找一個最佳值)與多目標優化(尋找一組最佳權衡,即帕累托前緣)。
包含的關鍵演算法族包括:
- 差分進化(DE): 可擴展至高維空間的穩健優化器。
- 自然進化策略(NES): 隨機搜尋方法。
- 直接搜尋: 包含座標搜尋與機率下降法。
- BorgMOEA: 專為多目標問題設計的演算法。
適用對象
專為使用 Julia 的研究人員與開發者設計,適用於需要優化複雜、不可微函數,或傳統決定性演算法失效的情況。
主要亮點
- 無需梯度: 可在任何可評估的函數上運行。
- 支援多目標: 可使用 BorgMOEA 演算法同時優化多個相互競爭的目標。
- 支援平行評估: 支援多執行緒與平行執行,加速計算成本高的函數的優化。
- 靈活配置: 允許使用者指定搜尋範圍、初始候選點以及時間或評估預算。
相關
- 專案
- 專案
- 專案
- 專案
- 專案