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