最基本PSO演算法的C 實現

2022-09-04 12:51:12 字數 608 閱讀 3056

按照james kennedy & russell eberhart (1995)的版本,演算法過程如下:

[x*] =pso()

p =particle_initialization();

for i=1

to it_max

for each particle p

in p do

fp =f(p);

if fp

isbetter than f(pbest)

pbest =p;

endend

gbest = best p in

p;  for each particle p

in p do

v = v + c1*rand*(pbest – p) + c2*rand*(gbest – p);

p = p +

v;  end

end

【note】

pbest是個體在移動過程中的歷史最佳位置;

gbest是全域性最佳位置;

c1表示自我認知係數,c2為社會認知係數,rand是[0,1]之間的隨機數。

c++實現**:

最基本的演算法(1) 交換

交換演算法在c c 中有以下幾種實現方式 1.實現交換演算法 include using namespace std intmain 2.做成通用的函式 值傳遞 include using namespace std void swap int a,int b int main void swap ...

1 最基本的演算法 交換

c c 中交換演算法的幾種方式 1 include2 include3 4 using namespace std 5 第二種方法,定義乙個函式 6void swap int x,int y 7 第三種方法,8void swap1 int px,int py 9 第四種方法,巨集定義 10 defi...

最基本的Web伺服器(C 實現)

要實現web伺服器,就必須先了解http協議。了解瀏覽器是如何通過http協議與伺服器進行通訊的,把這些問題搞懂後,那web伺服器的框架就有了。我們所實現的是乙個最基礎的。不管使用者傳送何種請求,都返回乙個頁面,至少演示一下http工作的流程。http協議預設是80埠。所以一般瀏覽器發起請求時都沒有...