工程上,實用價值最高的智能優化演算法有哪些?
常遇到一般性的非線性規劃問題:
s.t.具體工作(逗比小電工)中,一般有
而約束條件經常只是
但是目標函數較為複雜,
類似這樣的問題,有什麼比(yue)較(ding)好(su)的(cheng)演算法嗎?考慮因素有
1. 希望在各種隨(bu)機(fu)選(ze)取(ren)的初值下都能找到優化點,
2. 開發的速度,中間可能會調用多個商業軟體,所以越簡單越好,
3. 演算法的速度,越快越好,但這不是決定性的。看到有人推薦用Differential Evolution,但這貨不保證能得到全局優化解。Excel帶了個solver包,用了簡單粗暴的Generalized Reduced Gradient和另一個類似GA(?)的演算法,試過效果很一般,似乎LS問題都處理不好。還有Down Hill Simplex似乎能保證找得到全局最優,但為什麼有這樣的演算法存在,人們還不斷另闢蹊徑呢?
其他高大上的就沒見過了。豹紙喵也是這個領域的新人,只從書上看到過Simulated Anealing,Genetic Algorithm和Artificial Neural Network,卻從來沒見過什麼地方實用過的。曾被高人提示過把SA加到Down Hill Simplex裡面,寫出來的程序運行起來一塌糊塗……
演算法是創造智能應用/智能產品的基石
基於仿生/模擬演算法:
人工神經網路
深度學習
遺傳演算法
人工免疫演算法
蟻群演算法
粒子群演算法
人工魚群演算法
文化演算法
禁忌搜索演算法
模擬退火演算法
基於數學理論演算法:
線性規劃
回歸分析
梯度下降
K近鄰演算法
SVM支持向量機
樸素貝葉斯
決策樹
圖論演算法
並行演算法
模糊數學
混沌演算法
馬爾可夫鏈
智能優化演算法都沒法保證全局最優吧,代碼簡單算得快可以用PSO。這些演算法實現上都不難啊,關鍵得具體問題具體分析,多試試就知道哪個最適合解決你的問題咯
如果你問工程上實用價值最高,那就必須考慮演算法計算量和複雜度。 粒子群這種意味著有很多例子很多採樣,而實際系統這樣可以實現嗎?畢竟是現有系統硬體再有演算法應用。 總不能為了演算法去大改硬體。 如果這樣考慮,建議試試天牛須搜索演算法,也是類似粒子群優化,但是本質區別是1.只需要一隻天牛,而非一群。2. 收斂很快,精度很高。3最關鍵的是核心代碼只有4行,其他演算法可能只能電腦上跑,別想去單篇機實現,而天牛須只有4行核心代碼,不需要調用任何庫函數,所以,你可以輕鬆的在單片機實現。作為工程應用,或許這很重要。 天牛須搜索演算法(BAS) 核心代碼只有4行
推薦閱讀: