程序由 HTML,CSS,JavaScript 写成,可跨平台使用,具备可视化界面。程序入口地址为 index.html 请用浏览器打开(推荐使用最新版 chrome 与 Firefox)。
默认例子为使用PSO算法求解peaks函数的极大值
粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation)。
源于对鸟群捕食的行为研究。粒子群优化算法的基本思想:是通过群体中个体之间的协作和信息共享来寻找最优解。
程序求解流程如下:
-
初始化所有的个体(粒子),初始化它们的速度和位置,并且将个体的历史最优pBest(pi(k))设为当前位置,而群体中最优的个体作为当前的 gBest(Pg(k))。
-
在当代的进化中,计算各个粒子的适应度函数值。
-
如果该粒子当前的适应度函数值比其历史最优值要 好,那么历史最优将会被当前位置所替代。
-
如果该粒子的历史最优比全局最优要好,那么全局最 优将会被该粒子的历史最优所替代。
-
对每个粒子按照速度更新公式和位置更新公式对速度和位置进行更新。
-
进化代数增加1,如果还没有到达结束条件,转到步骤(2),否则输出最优值pBest 并结束。
程序界面截图01.jpg
程序界面截图02.jpg