Welcome

首页 / 软件开发 / 数据结构与算法 / 粒子群算法(5)-----标准粒子群算法的实现

粒子群算法(5)-----标准粒子群算法的实现2011-09-01 csdn博客 niuyongjie标准粒子群算法的实现思想基本按照粒子群算法(2)----标准的粒子群算法的讲述实现。主要分为3个函数。第一个函数为粒子群初始化函数

InitSwarm(SwarmSize......AdaptFunc)其主要作用是初始化粒子群的粒子,并设定粒子的速度、位置在一定的范围内。本函数所采用的数据结构如下所示:

表ParSwarm记录的是粒子的位置、速度与当前的适应度值,我们用W来表示位置,用V来代表速度,用F来代表当前的适应度值。在这里我们假设粒子个数为N,每个粒子的维数为D。

W1,1W1,2...W1,DV1,1V1,2...V1,D-1V1,DF1第1个粒子
W2,1W2,2...W2,DV2,1V2,2...V2,D-1V2,DF2第2个粒子
.....................................
WN-1,1WN-1,2...WN-1,D-1VN-1,1VN-1,2...VN-1,D-1VN-1,DFN-1第N-1个粒子
WN,1WN,2...WN,DVN,1VN,2...VN,D-1VN,DFN第N个粒子
表OptSwarm记录每个粒子的历史最优解(粒子历史最好的适应度)以及全部粒子搜索到的全局最优解。用Wg代表全局最优解,W.,1代表每个粒子的历史最优解。粒子群初始化阶段表OptSwarm的前N行与表ParSwarm中的相同,而Wg的值为表ParSwarm中适应度值的最大值对应的行。

Wj,1Wj,2...Wj,D-1Wj,D第1个粒子的历史最优解
Wk,1Wk,2...Wk,D-1Wk,D第2个粒子的历史最优解
..................
Wl,1Wl,2...Wl,D-1Wl,D第N-1个粒子的历史最优解
Wm,1Wm,2...Wm,D-1Wm,D第N个粒子的历史最优解
Wg,1Wg,2...Wg,D-1Wg,D全局粒子的历史最优解