预览加载中,请您耐心等待几秒...
1/7
2/7
3/7
4/7
5/7
6/7
7/7

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

基于自适应排斥因子的改进粒子群算法摘要:基本粒子群算法在求解复杂的多峰问题时由于存在较多的局部最优解算法极易出现早熟现象。为克服这一缺陷采用蒙特卡洛(MonteCarlo)方法模拟了种群飞行轨迹得出种群极易陷入局部最优解的原因;在此基础上通过定义粒子间距离、粒子间最大距离和粒子间平均距离提出一种自适应控制粒子自身最优位置(pp)和种群最优位置(pg)间距离的排斥因子(AdaptiverejectionfactorARF)来提升种群跳出局部最优的能力。为测试提出策略的有效性在60次独立运行时基于ARF的改进PSO算法(ARFPSO)在RosenbrockAckley和Griewank函数上所获得的最好值分别为53.822.1203和5.32E-004都优于其他两种对比算法这表明ARFPSO能有效地跳出局部最优解;算法的复杂度分析表明引入的策略没有增加计算复杂度。关键词:粒子群算法;自适应排斥因子;蒙特卡洛模拟;多峰问题;局部最优解中图分类号:TP18文献标志码:A0引言粒子群算法(ParticleSwarmOptimizationPSO)[1]是群智能算法领域中应用较为广泛的一种算法其概念简单相比其他算法具有控制参数少、容易实现等优点已被社会科学、自然科学等各领域的学者广泛应用[2-5]。但基本粒子群算法在优化复杂多峰问题时由于种群多样性的丧失算法极易陷入局部最优解使得基本粒子群算法在实际应用中受到了限制。为更好地将PSO应用于实际问题的求解国内外许多学者针对基本PSO提出了一些改进策略。比较经典的改进算法如Clerc等[6]引入了收缩因子在基本PSO基础上提出带有收缩因子的PSO变形。Mendes等[7]提出完全信息粒子群算法充分利用了种群中粒子的各维信息以提升种群的潜在搜索空间。Zhan等[8]和Riget等[9]提出新的粒子学习策略来提升种群向全局最优解收敛的概率。迟玉红等[10]提出一种基于空间缩放和吸引子的粒子群优化它利用对搜索空间进行缩放的边界变异策略有效控制了粒子搜索范围保证了算法全局探测能力。申元霞等[11]提出相关性粒子群优化模型。该模型采用Copula函数刻画随机因子间的相关结构而不同的相关结构和相关性程度反映了粒子对自身经验信息和群体共享信息的利用策略的差异同时给出了基于GaussianCopula的相关性粒子群优化模型的实现方法。陈志敏等[12]提出自适应粒子群优化的新型粒子滤波来提升算法的性能及应用。最近Blackwell等[13]提出一种动态更新规则粒子群算法以提升算法的运行效率。Wan等[14]和聂新立等[15]提出混合算法来改善粒子群算法的性能。总之目前已有的各种改进算法都是从种群多样性、粒子学习样本改进、算法的混合等角度展开讨论取得了一定的效果但是在求解精度上仍有改进空间。因此为有效地提升算法跳出局部最优解的能力提升算法的求解精度本文提出一种自适应排斥因子粒子群算法。首先采用蒙特卡洛(MonteCarlo)方法模拟了种群飞行轨迹得出种群极易陷入局部最优解的原因;然后通过定义粒子间距离、粒子间最大距离和粒子间平均距离提出一种自适应控制粒子自身最优位置(pp)和种群最优位置(pg)间距离的排斥因子来提升种群跳出局部最优的能力;最后将所提出算法与其他几种算法进行算法收敛性及统计分析对比。3.3算法的计算复杂度分析由于本文提出的自适应排斥因子粒子群算法(ARFPSO)是在基本粒子群算法基础上引入了相应的策略因此需要从计算复杂度上分析引入的策略是否增加了算法的计算复杂度。用T表示最大迭代次数N表示粒子总数D表示决策变量的维数。自适应排斥因子的计算复杂度T1(N)=O(N×T)基本粒子群算法的计算复杂度T2(N)=O(N×D×T)这样ARFPSO算法的计算复杂度为T(N)=O(N×D×T)+O(N×T)≈O(N×D×T)=T2(N)。因此理论上ARFPSO与基本PSO算法的复杂度在同一数量级上。为进一步测试算法的计算复杂度将三种算法在检测函数上RosenbrockAckley和Griewank上采用仿真平台PentiumCoreDuo1.8GBRAMCPU2GBRAMMatlabR2008b每个检测函数独立运行30次每次迭代3×104次函数评价对每种算法运行时间取平均值。表2给出每种算法的独立运行时间可以看出ARFPSO与其他算法在运行时间在同一数量级引入的策略并没有增加计算复杂度。4结语针对基本粒子群算法在求解复杂的多峰问题时算法极易陷入局部最优解的缺陷本文提出一种自适应排斥因子粒子群算法。首先采用蒙特卡洛(