題目連線:
大意是在乙個平面內有很多點,我們要在平面內找到乙個點,使得這個點與其他點之間的最短距離最大。
看到別人都是用的模擬退火或者是爬山法,感覺模擬退火與粒子群優化演算法相比更容易陷入區域性最優,所以還是用pso演算法比較心安。
利用粒子群優化演算法,設定了20個粒子和100代即可ac。**如下:
#include #include #include #include using namespace std;
#define num_parcle 20
double w = 0.8;
int n;
int gen = 100;
struct parcle
;struct point
;template double distance(x& p,y& q)
point point_list[1000];
parcle now[num_parcle+1];
parcle last[num_parcle+1];
parcle history[num_parcle+1];
int max_x,max_y;
double valuate(parcle& cv)
double dis = distance(cv,point_list[0]);
double temp;
for(int i(1);inow[0].dis)
now[0]=now[i]; }}
void update()
if(temp>now[0].dis)
now[i].vx = w*now[i].vx + 2*rand()%1000/1000.0*(now[0].x-now[i].x)+2*rand()%1000/1000.0*(history[i].x-now[i].x);
now[i].vy = w*now[i].vy + 2*rand()%1000/1000.0*(now[0].y-now[i].y)+2*rand()%1000/1000.0*(history[i].y-now[i].y);
} }int main()
initi();
w = 0.8;
for(int j(0);j
粒子群演算法 1 粒子群演算法簡介
粒子群演算法簡介 一 粒子群演算法的歷史 粒子群演算法源於複雜適應系統 complex adaptive system,cas cas理論於1994年正式提出,cas中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的過程 ...
粒子群演算法 1 粒子群演算法簡介
原文 粒子群演算法簡介 一 粒子群演算法的歷史 粒子群演算法源於複雜適應系統 complex adaptive system,cas cas理論於1994年正式提出,cas中的成員稱為主體。比如研究鳥群系統,每個鳥在這個系統中就稱為主體。主體有適應性,它能夠與環境及其他的主體進行交流,並且根據交流的...
優化演算法 四 粒子群優化演算法 PSO
粒子群演算法 particle swarm optimization,pso 是一種模仿鳥群 魚群覓食行為發展起來的一種進化演算法。其概念簡單易於程式設計實現且執行效率高 引數相對較少,應用非常廣泛。粒子群演算法於1995年提出。粒子群演算法是優化演算法中最簡單,最沒有心機的演算法了,也是入門優化演...