一個很好的學(xué)習(xí)粒子群算法的例子。(劉康C++版本)
程序介紹: 模擬一群鳥捕食的情景,從而達(dá)到優(yōu)化目標(biāo)函數(shù)的目的,這就是粒子群算法!起初在可行的空間中隨機(jī)的產(chǎn)生一群粒子,然后讓每個粒子開始在虛擬的空間中向四面八方飛翔,并且每個粒子都記下他們飛過的適應(yīng)值(也就是目標(biāo)優(yōu)化函數(shù))最高的點(diǎn),而且整個粒子群有一個最高適應(yīng)值個體,這樣,粒子在飛翔的時候盡量朝向自己曾飛過的最好的點(diǎn)和集體的最好的點(diǎn)。最后達(dá)到收斂到近似最優(yōu)點(diǎn)的目的。
備注:目標(biāo)優(yōu)化函數(shù)程序中已經(jīng)內(nèi)定了,f6 ={0.5-[sin(sqrt(x2+y2)2-0.5]}/(1+0.001*(x2+y2))2 用戶可以通過編輯pso.cpp文件自定義優(yōu)化函數(shù)。另外屏幕輸出的是最后所求得的最優(yōu)值和相應(yīng)的最優(yōu)點(diǎn)。
標(biāo)簽:
粒子群算法
版本
模擬
程序
上傳時間:
2014-11-21
上傳用戶:天涯