買書捐殘盟

2011年7月25日 星期一

求解最佳化的問題-使用粒子群演算法,part1

研究所時,跟隨恩師學習各種控制技術,印象中最為深刻地莫過於探討最佳化的問題。

有關最佳化的研究,有許多相關文獻運用不同的技術或方法求解最佳化,而最終的目的無非是獲得最佳的結果。至於最佳化的目的,主要為克服人為的經驗誤差,因此求助於微電腦控制,找尋參數的最佳值。

在暴力搜尋法中,遺傳演算法(Genetic Algorithm) 是最經典的技術,另外,仿生物型態的,還包含有蟻行演算法(Ants Algorithm)、及粒子群演算法(Particle Swarm Optimization,仿鳥類生態)。

再談最佳化的問題前,我們先瞭解一個最簡單的問題:

已知一個一維變數的函數F(x)=X^2 (X平方)..............(1)

若X的範圍從-5到+5,我們如果用畫圖的方式,可得以下的圖形:

從圖可以看出,此函數為拋物線函數,且最小值為F(0)=0,即:當X=0時有最小值0

當然,如果用微分來計算,我們可知:

dF(x)/dx=2x....................(2)

令dF(x)/dx=0 可得極值,由(2)可知2x=0,所以x=0............(3)

把(3)的結果帶回(1),所以F(x)=0

沒有留言:

張貼留言