Skip to content
/ PSO Public

Particle Swarm Optimization (PSO) in C++,较为通用的粒子群优化算法(变量维度可变)

License

Notifications You must be signed in to change notification settings

hgpvision/PSO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PSO

较为通用的粒子群优化算法(变量维度可变)

使用

编写适应度函数及主函数即可,无任何依赖项

示例

求解f(x) = sin(sqrt(x^2+y^2))/sqrt(x^2+y^2) + exp((cos(2*pi*x)+cos(2*pi*y))/2) - 2.71289的极大值。该函数有很多局部极大值点,而极限位置为(0,0),在(0,0)附近取得极大值。

编写适应度函数如FitnessFunction.h,编写主函数如main_test.cpp,运行过程会打印出每次迭代的结果,最终得到的结果接近(0,0),适应度值为1.00539。

示例是一个非常简单的例子,其中变量维度为2(坐标为二维),本程序可以适用于不同变量维度,更改对应参数即可。

About

Particle Swarm Optimization (PSO) in C++,较为通用的粒子群优化算法(变量维度可变)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published