logo资料库

论文研究-基于细菌觅食趋化算子的PSO算法.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
第 28 卷第 10 期 2011 年 10 月  计 算 机 应 用 研 究 Application Research of Computers Vol畅28 No畅10 Oct畅2011 倡 基 于 细 菌 觅 食 趋 化 算 子 的 PSO 算 法 杨 萍a, 孙延明a, 刘小龙a, 车兰秀b ( 华南理工大学 a.工商管理学院; b.科技开发公司, 广州 510640) 摘 要: PSO 算法是模拟鸟群觅食的一种解决优化问题的仿生算法,为了避免其在优化过程中过快陷入局部极 值的缺陷,提出一种新的基于细菌觅食趋化算子 PSO 算法。 结合细菌觅食算法的局部搜索优势,将其趋化思想 引入到 PSO 算法中。 通过典型函数优化测试表明,该算法可以有效弥补 PSO 算法精度不高、容易陷入局部最优 的缺陷。 新算法是一种全局优化算法,适用于解决复杂特别是多峰不规则的函数优化。 关键词: 粒子群优化算法; 细菌觅食; 趋化; 全局优化 中图分类号: TP301.6   文献标志码: A   文章编号: 1001唱3695(2011)10唱3640唱03 doi:10.3969/j.issn.1001唱3695.2011.10.008 Particle swarm optimization based on chemotaxis operation of bacterial foraging algorithm YANG Pinga, SUN Yan唱minga, LIU Xiao唱longa, CHE Lan唱xiub (a.School of Business Administration, b.Technology Development Company, South China University of Technology, Guangzhou 510640, China) Abstract: PSO is a algorithm for solving optimization problems.To avoid fall into the local minimum in the standard PSO al唱 gorithm, this paper proposed a new algorithm based on the operator of chemotaxis in the bacterial foraging algorithm.The algo唱 rithm made use of the advantage that the bacterial foraging algorithm was easy to search for the optimal value in region.Tests show that the new algorithm can compensate for the defects of low precision and falling into local minimum.The new algorithm is a global optimization algorithm for solving the optimization of complex functions. Key words: PSO; bacterial foraging; chemotaxis; global optimization 杆菌在人体肠道内吞噬食物的觅食行为而提出的一种新型仿 式上引入周围极值,在演化过程中粒子以一种递增方式进行扩 散操作,使得种群信息得到更加充分的利用,同时通过非线性 调整惯性权重、扩散操作引导极值变化来增强群体对信息的利 用能力。 1 基于细菌觅食趋化算子的 PSO 算法 1畅1 细菌觅食算法   20 世纪40 年代以来,人们一直在利用生物系统的灵感来 解决高维度、多峰值、非线性且不可微分的工程实际问题,进而 构造和设计出了许多仿生优化算法。 Kennedy 和 Eberhart 于 1995 年提出的粒子群优化算法(PSO) 就是其中一种基于迭代 的模拟鸟群觅食行为的优化算法,它通过粒子的自我认知和群 体认知能力,经过多次的迭代更新从而找到全局最优解。 该算 法不需要梯度信息,可调参数少,容易实现且运行效率高。 现 在,粒子群算法已经在函数优化、工程系统控制和车间调度等 细菌觅食算法(BFA)是 Passina 于2002 年基于 Ecoli 大肠 领域中成功应用。 但随着函数维度的增加,算法很容易陷入局 部最优解。 为了克服算法的这一缺陷,众多研究者对该算法进 生类优化算法。 在 BFA 模型中,优化问题的解对应搜索空间 行了探讨和改进。 中细菌的状态。 算法包括趋化、复制和驱散三个步骤。 趋化操 将寿命的思想融入到 PSO 中,即给全局最优 [1] Zhang 等人 作包括翻转和游动;复制则根据“ 优胜劣汰,适者生存” 的原 粒子设置了一个生命周期,当生命周期结束时重新选择全局最 则,在细菌生命周期结束时,以趋化过程中各细菌适应度值累 优粒子,此方法能较好地解决 PSO 算法容易落入局部最优的 加和为标准,较差半数细菌死亡,较好的一半分裂成两个,从而 缺点。 高鹰等人 取代另一半;为了减小陷入局部极小值的机会,BFA 引入驱散 异的 PSO 算法中,有效避免了算法陷入局部最优。 李鹏等 操作。 在细菌完成一定次数的复制后,以一定概率将其随机驱 [3] 散到搜索空间。 算法,此算法改变了粒子的更新方式,减少了粒子对初值的信 在 BFA 算法中,趋化步骤是细菌实现最优觅食最重要的 赖,增强了算法跳出局部最优的能力。 许小丽 一个步骤。 它首先定义细菌向任意方向移动的单位步长为翻 带交叉因子的改进粒子群优化算法,新算法提高了全局搜索能 转,当细菌完成一次翻转后,若适应度值得到改善,将沿同一方 力,但同时也增加了搜索时间。 任小波等人 [5]   收稿日期: 2011唱01唱27; 修回日期: 2011唱03唱14  基金项目: 高等院校博士学科点专项科研基金资助项目(20060561002);国家自然科学 基金资助项目(50675069) 作者简介: 杨萍(1986唱),女,广东揭阳人,硕士研究生,主要研究方向为工业工程和过程控制(474419469@qq.com);孙延明(1968唱) 男,教授, 博导,主要研究方向为现代制造信息系统、复杂系统;刘小龙(1977唱),男,博 士 研 究 生,主 要 研 究 方 向 为 复 杂 系 统、智 能 算 法 与 管 理 决 策;车 兰 秀 (1968唱) 女,工程师,主要研究方向为大气污染控制及科研开发管理. 把粒子群算法和郭涛算法结合起来提出的一种新的混合 把模拟退火思想引入到具有杂交和高斯变 [2] [4] 提出了一种 在粒子更新方 人
杨 萍,等:基于细菌觅食趋化算子的 PSO 算法 2 所示。 ·1463·     ΔT(i)Δ(i) φ(i) = Δ(i) 优化的趋化步骤实质就是细菌在解空间中对可行解的邻域进 P(i,j +1,k,l) =P(i, j, k, l) +C(i)φ(i) 第 10 期 向继续移动若干步,直至适应度值不再改善或达到预定的移动 步数,此过程定义为游动。 细菌觅食算法中的趋化行为可具体 描述如下: 设细菌每个个体代表解空间的一个解,P(i, j, k, l) 表示 细菌 i 的空间位置向量。 其中:j 表示第 j 代趋化循环,k 表示 第 k 代繁殖循环,l 表示第 l 代迁移循环,用式(2)调整方向。 (1) (2) 其中:C(i)表示按选定的方向游动的单位步长,Δ(i)是生成的 随机向量,φ(i) 表示进行方向调整后选定的方向。 细菌觅食 行搜索,并通过适应度函数判定是继续在该方向游动还是重新 对方向进行调整。 趋化算子保证了细菌单体总可以找到其所 在邻域内的最优值。 1畅2 粒子群优化算法 1995 年提出了 PSO 算法;1998 年,Shi 等人对经典 PSO 算 法进行了修改,提出了目前广泛使用的标准 PSO 算法:设在一 个 D 维的目标搜索空间中, 由 N 个粒子组成一个群体,其中第 i 个粒子的位置表示为一个 D 维向量 Xi =(xi1,xi2,…,xiD), i =1,2,…,N,即每个粒子的位置就是一个潜在的解。 第 i 个 粒子的飞行速度也是 D 维向量,记为 Vi =(vi1,vi2,…,viD)。 PSO 初始化一群随机粒子,然后通过迭代找到最优解。 在每一 次迭代中,粒子通过跟踪两个极值来更新自己的位置。 第一个 就是粒子目前自身所找到的最优解,这个解叫做个体极值 Pb; 另一个极值是整个种群目前找到的最优解,这个极值是全局极 值 Pg。 则可用下式对粒子的速度和位置进行更新: vid(t +1) =wvid(t) +c1 r1(pid(t) -xid(t)) + xid(t +1) =xid(t) +vid(t +1) 文结合了细菌觅食算法中细菌单体总可以找到其所在邻域内 (3) (4) 其中:i =1,2,…,N;d =1,2,…,D;w 为惯性权重;学习因子 c1 和 c2 是非负常数;r1 和 r2 是两个相互独立的在区间[0,1] 上 均匀分布的伪随机数;速度上限|vid|≤vmaxid。 1畅3 基于细菌觅食趋化算子的 PSO 算法 由 PSO 算法原理可以看出,惯性权重 w 虽然可以使粒子 在算法初期有较大的探索能力,而在后期有较大的开发能力。 但由于粒子速度过大,在探索过程中,粒子很容易飞过最优解 所在的局部区域而没有发现最优值,从而陷入局部最优。 为了避免粒子在探索过程中错过了更优解所在的区域,本 最优值的优势,在适当的时机使用趋化算子调整 PSO 算法中 粒子的位置,使得粒子在到达新的区域后能找到所在区域中的 最优解,从而避免粒子在探索过程中错过更优解。 而适当的时 机是指在迭代过程中需要更新全局最优解时,因为这个时候粒 子所在的邻域出现更优解的可能性很大。 另外在局部搜索过程中,应当重视细菌趋化算子的步长。 步长过长,粒子同样容易错过最优值;步长过短,虽能精确找到 局部最优解但会倍数级地增加计算量。 因此对于不同的测试 函数需要采用不同的步长值,后面进行测试的函数会采用不同 步长进行,这些步长都是经过测试而选定的。 改进后的 PSO 算法,不仅保留了 PSO 原有算法的优点,并 且更适合于优化多峰测试函数。 实验结果表明了该算法的优 越性能,整个算法的流程描述如图1 所示,局部搜索流程如图 c2 r2(pgd(t) -xid(t)) 2 实验仿真与结果分析 2畅1 检验函数 实验函数采用 Rosenbrock、Rastrigin、Griewank 和 Ackley 四 个标准测试函数。 a)Rosenbrock 函数 f1。 f1(x) =∑n -1 i =1[100(xi +1 -x2 该单峰函数全局最优为 0,最优解为 X(1, 1,…, 1)。 该 函数在靠近最优点的区域为香蕉状,并且变量之间具有很强的 相关性,且梯度信息经常误导算法的搜索方向。 i )2 +(xi -1)2] xi∈[ -5,10] i -10 cos(2πxi) +10] xi∈[ -5畅12,5畅12] b)Rastrigin 函数 f2。 f2(x) =∑n 该多峰函数全局最优为0,最优解为 X(0, …, 0)。 该多 峰函数具有大量按正弦拐点排列的、很深的局部最优点,优化 算法很容易在通往全局最优点的路径上陷入一个局部最优点。 c)Griewank 函数 f3。 f3(x) = 1 4000 ∑n i -∏n i =1x2 该多峰函数全局最优为0,最优解为 X(0, …, 0)。 该函 数是一个复杂的多峰函数,存在大量的局部最小点和高大障碍 物,由于各变量点显著相关,优化算法很容易陷入局部最优。 +1 xi∈[ -600,600] i =1[x2 i =1cos xi i d)Ackley 函数 f4。 1 i =1x2 f4(x) =20 +e -20e i - n ∑n -1 i =1cos(2πxi) xi∈[ -15,30] n ∑n e -15 该多峰函数全局最优为0,最优解为 X(0, …, 0)。 该函数 是一个具有大量局部最优点的多峰函数,优化非常困难,算法很 容易陷入通向全局最优点的局部最优上。 以上四个测试函数,即使采用传统的优化方法也很难优 化,且优化的难度会随着测试函数的维数增加而急剧上升。 对于低维单峰函数,粒子群优化算法可得到满意的优化结 果;但对于高维的多峰函数问题,粒子群优化算法的优化效 果难以令人满意。 基于此,四个测试函数的维度设置为30 维 和50 维。 为了测试新算法的性能,本文同时对细菌觅食算法 BFA、 粒子群算法 PSO、本文提出的基于细菌觅食趋化算子的粒子群 算法 BFA唱PSO 在上述四个高维多峰函数中进行了测试。
计 算 机 应 用 研 究   第 28 卷 适应度值呈直线形式下降,说明趋化算子找到的局部最优值给 全局寻优提供了很大的帮助,大大减少了陷入局部最优的机 会,同时加快了收敛速度。 ·2463· 2畅2 对比实验参数设置 对于标准粒子群算法,粒子个数 N =40,w =wmax -((wmax - wmin) /M)t,其中 wmax =0畅9,wmin =0畅4,学习因子 c1 =c2 =2。 迭代次数为1 000 次;对于单纯的细菌觅食算法,主要参数有细 菌数 s =50,迁移次数 Ned =2,繁殖次数 Nre =4,趋化次数 Nc = 40,游动次数 Ns =3,迁移概率 Ped =0畅25,游动步长 C =0畅001R (R 为优化区间的宽度)。 对于混合算法中的参数,粒子数 N = 40,wmax =0畅9,wmin =0畅4,学习因子 c1 =c2 =2,而细菌趋化算子 中的最大趋化次数为50,迭代次数为1 000, 步长参数 C 随测 试函数的不同而不同。 经测试函数 f1 的步长为 0畅01,函数 f2 的步长为0畅075,函数 f3 的步长为1,函数 f4 的步长为0畅5。 当 然,如果想得到更精确的值可以把步长再设小点,本文是综合 考虑了精确度和计算时间而选择的步长。 2畅3 实验结果与分析 将三种算法在以上四个函数上测试50 次,测试结果如表 1 所示。 其中,优化均值是指所有优化结果中的平均值;标准 差是成功搜索50 次的最优值标准差;最优值是指50 次测试中 得到的最好值。 表 1 测试结果 f2 f3 f4 f1 30 50 30 50 30 函数 维度 测试项目 最优值 优化均值 ( 标准差) 最优值 优化均值 ( 标准差) 最优值 优化均值 ( 标准差) 最优值 优化均值 ( 标准差) 最优值 优化均值 ( 标准差) 优化均值 ( 标准差) BFA .104e +02 2 (38.77) 1.3190e +02 .7518e +02 2 (20.4509) 2.3374e +02 1 .0218e +02 (5.7183) 9.0480e +01 .0275e +02 2 (9.6544) 1.7229e +02 7 .52e +01 (13.0243) 5.9587e +01 2 .63e +02 (34.4739) 1.8054e +02 .88e +01 1 (0.2637) 1.81e +01 .9264e +01 (0.1375) 1.89e +01 PSO .222e +02 3 (142.7) 6.7582e +01 .2204e +02 32 (99.7030) 9.5328e +01 1 .0666e +02 (17.3656) 7.0436e +01 2 .4382e +02 (35.1271) 1.9840e +02 1 .0397e +01 (3.3047) 4.5707 4 .2353e +01 (11.8556) 2.2705e +01 .1172e +01 1 (1.6643) 8.0070 1 .35e +01 (9.68e -01) 1.11e +01 BFA唱PSO 9 .6941e -04 (5.3747e -04) 2.7284e -04 6 .1014e -03 (1.5746e -03) 2.4395e -03 .1610e +01 1 (2.9772) 2.9867 .9337e +01 4 (8.8406) 2.9982e +01 1 .64e -03 (1.9408e -03) 2.83e -04 4 .58e -03 (3.4372e -03) 1.3601e -03 .6766e -02 3 (9.9503e -03) 3.6766e -02 .1128 0 (0.0111) 1.00e -01   由表1 结果可以看出,改进的 PSO 算法在四个测试函数 的优化结果均比标准的 PSO 算法和 BFA 算法好,不管是优化 均值还是最优值。 算法的稳定性也很显著,即标准差普遍较 小。 新算法在 f1、f3 和 f4 的优化效果很明显,基本上达到精度 的要求。 由于 f2 函数的局部最优值密度大而且很深,优化难 度很大,在新算法中适当加大粒子数能达到更好的结果,但效 果有限。 总之,不管对于单峰函数 f1 还是多峰函数 f2、f3 和 f4, 新算法在收敛速度、计算精度和算法的稳定性上都有显著 提高。 由图3 和4 的收敛效果可知,标准粒子群算法进化到一定 代数后,会出现停滞状态或以很慢的速度迭代,新算法提出用 细菌趋化思想来进行局部搜索,收敛速度非常快,有些地方的 最优值 优化均值 ( 标准差) 最优值 优化均值 ( 标准差) 最优值 50 30 50 1 可以在一定程度防止粒子由于速度过快而飞过最优值存在的 3 结束语 本文通过将细菌觅食算法中的趋化算子嵌入粒子群算法, 在粒子群算法的全局最优改变时,对粒子位置进行局部搜索, 从而找出粒子所在区域的最优值,以确保粒子不会错过已搜索 的区域的最优值,在局部区域做到了精细搜索。 这种改进方法 区域。 实验数据表明,改进后的粒子群算法,无论在搜索精度 还是算法稳定性上,均显著优于单一的粒子群算法和细菌觅食 算法,从而也证实了改进算法的有效性。 后续研究的方向是对 该 BFA 与 PSO 结合的参数设置进行更深入的讨论,以及探讨 将该方法应用于工程实例。 参考文献: [1] ZHANG Jun,LIN Ying.A particle swarm optimizer with lifespan for global optimization on multimodal functions[C] //Proc of IEEE Con唱 gress on Evolutionary Computation.2008:2439唱2445. [2] 高鹰,谢胜利.基于模拟退火的粒子群优化算法[J].计算机工程 与应用,2004,40(1):47唱50. [3] 李鹏,全惠云.改 进 的 混 合 粒 子 群 算 法[J].计 算 机 工 程 与 应 用, 2010,46(11):29唱31. [4] 许小丽.一种新的交叉粒子群算法[J].四川理工学院学报:自然 科学版,2010,23(1):19唱22. [5] 任小波,于东,杨忠秀,等.一种信息充分交流的扩散粒子群算法 [J].大连海事大学学报,2010,36(1):159唱161.
分享到:
收藏