一种混合的IWOPSO改进入侵性杂草优化算法
2015-11-05
作者:陶 玲1,高晓智2
来源:2014年微型机与应用第24期
摘 要: 为了提高入侵性杂草优化算法(IWO)在搜索深度上的不足,使算法在处理连续性问题时具有更好的全局收敛性,根据杂草算法在搜索上的广度和粒子群算法(PSO)在搜索上的深度,提出了一种改进的IWOPSO混合算法。该算法在子代扩散中以PSO算法中的位置、速度公式代替了杂草算法中的正态分布方式,引入一个随机数对新的子代个体进一步正态分布,提高了算法后期的局部搜索能力,使算法收敛到更好的全局最优解。利用5个benchmark函数测试算法的寻优能力,仿真结果表明,无论对于多峰还是单峰函数,低维还是高维函数,IWOPSO算法的收敛速度和最优解都要优于标准IWO和PSO算法。
关键词: 入侵性杂草优化;混合;正态分布;全局优化
0 引言
入侵杂草优化算法[1]是伊朗德黑兰大学的MEHRABIAN A R和LUCAS C在2006年首次提出的。该算法自适应性强、鲁棒性强,算法参数相对较少,比较容易实现。近年来,它已成功应用在求解TSP问题[2]、0/1背包问题[3]等众多领域之中。
针对基本的IWO算法存在易陷入局部极小点的不足,2009年HAJIMIRSADEGHI H等人将IWO和PSO两算法混合[4],对杂草的种子进行速度和位移的更新,再进行正态分布,加快了算法收敛速度,并改善了算法的全局优化能力;2012年贾盼龙等人提出一种NIWO算法[5],对种群个体分类,利用自适应小生境策略,改善了种群的多样性,提高了算法的全局优化性能;2013年刘彩霞等人提出了双种群杂草算法[6],采用双变异算子策略,将种群划分为两个独立进化的子群,采用柯西变异和高斯变异两种方式产生子代个体,这种变异机制使得算法更易避开函数的局部最优点,最终提高了算法的性能。
本文提出一种混合的IWOPSO算法,对父代杂草产生的种子个体引入粒子群算法中的位置、速度公式,对种子个体进行位置和速度更新,得到新的种子个体,然后引入一个随机数,对新的种子个体进行IWO中的正态分布扩散,以改善种子个体质量,提高算法迭代后期的局部寻优能力。利用5个不同维数的benchmark函数测试,结果表明本文算法有效,收敛精度和速度有较大提高。
1 IWO算法
基本IWO算法具体实现步骤[7]如下:
(1)初始化种群,根据实际问题初始化算法的各个参数。
(2)根据初始种群大小、初始搜索空间和问题的求解维数随机产生初始解。
(3)进化代数的更新及子代个体正态分布标准差的计算。其计算公式为:
其中,iter为当前迭代次数。
(4)子代的生长繁殖。父代个体允许繁殖种子个数与其适应度值服从向下取整的线性关系,如图1所示。
(5)判断是否达到最大种群数量,当超过最大种群数量时,竞争排除;反之,重复步骤(4)。
(6)判断是否达到最大迭代次数,当达到时输出最优解,反之重复步骤(4)~(5)。图2为基本IWO算法流程图。
2 IWOPSO算法
在IWOPSO算法中,对种子个体引入PSO[8]中的速度公式(3)和位置公式(4)对种子个体的速度和位置进行更新,得到新的种子个体,然后,利用式(5)对种子个体进行正态分布,提高种子个体的质量,以获得更高的寻优精度。惯性权重更新公式为:
w(iter)=wmax-(wmax-wmin)*iter/itermax(2)
其中,iter为当前迭代次数,itermax为最大迭代次数,wmax为最大惯性权重,wmin为最小惯性权重。
vi(t+1)=wi(t)+c1*r1*(pi(t)-xi(t))+c2*r2*(pg(t)-xi(t))(3)
其中,w为惯性权重,c1、c2为学习因子,r1、r2为随机数,pi(t)为个体极值,pg(t)为群体极值。
xi(t+1)=xi(t)+vi(t+1)(4)
xnew=rand()*normrnd(xl(i,:),delta_iter)(5)
其中,xnew为正态分布后的种子个体,xl(i,:)为经过位置和速度更新后的种子个体,delta_iter为正态分布标准差。
3 仿真结果与分析
3.1 测试函数
各种测试函数如表1所示。其中:f1、f2、f3是单峰函数,f4、f5是多峰函数。
3.2 参数设定
IWOPSO算法中参数取值如表2所示。
3.3 仿真结果
对于每个benchmark函数,每次最大迭代次数为600,独立运行50次,两种算法测试结果如表3所示。图3、图4分别是f4、f5函数的收敛曲线。
3.4 仿真结果分析
从表3可以看出,对于5个benchmark函数,无论函数是单峰的还是多峰的,IWOPSO算法的平均最优解几乎均小于标准的IWO算法,而且其标准差也显著减小,这表明,将IWO和PSO算法混合后较大提高了IWO的全局收敛性,说明改进后的算法IWOPSO可行有效。
从图3、图4可以看出,在迭代过程中,IWOPSO算法相对于IWO和PSO算法收敛速度有明显的提高。
4 结论
本文针对入侵性杂草优化算法(IWO)在搜索深度上的不足,将粒子群算法(PSO)的思想引入到IWO算法中,在子代扩散中以PSO算法中的位置、速度公式代替了杂草算法中的正态分布扩散,而杂草算法中的正态分布扩散用于对子代个体进一步正态分布,提高算法后期的局部寻优能力,加强了算法的全局收敛性能,使算法在处理连续性问题时具有更高的求解精度和稳定性,提高了算法的有效性。
参考文献
[1] MEHRABIAN A R, LUCAS C. A novel numerical optimization algorithm inspired from weed colonization[J]. Ecological Informatics, 2006,1(4):355-366.
[2] 彭斌,胡常安,邵兵,等.求解TSP问题的混合杂草优化算法[J].振动、测试与诊断,2013,33(1):52-55.
[3] 宋晓萍,胡常安.离散杂草优化算法在0/1背包问题中的应用[J].计算机工程与应用,2012,48(30):239-242.
[4] HAJIMIRSADEGHI H, LUCAS C. A hybrid IWO/PSO algorithm for fast and global optimization[C]. IEEE Congress on Evolutionary Computation, Stpetersburg: IEEE,2009:1964-1971.
[5] 贾盼龙,田学民.基于自适应小生境的改进入侵性杂草优化算法[J].上海电机学院学报,2012,15(4):225-230.
[6] 刘彩霞,周晖,周伏秋.基于双种群入侵性杂草算法的服务型城市综合资源规划[J].电力系统保护与控制,2013,41(19):67-74.
[7] 张帅,王营冠,夏凌楠.离散二进制入侵杂草算法[J].华中科技大学学报(自然科学版),2011,39(10):55-60.
[8] 刘晓峰,陈通.PSO算法的收敛性及参数选择研究[J].计算机工程与应用,2007,43(9):14-17.