基于历史经验和实时调整相结合的粒子群优化算法

文档序号:9866239阅读:597来源:国知局
基于历史经验和实时调整相结合的粒子群优化算法
【技术领域】
[0001] 本发明属于智能算法领域,提出了在速度更新过程中考虑曾经的不好经验,并充 分利用每个粒子的个体最优信息,同时采用每个粒子的适应度值自适应地实时调整每个粒 子的惯性权重,W致能够有效加快全局收敛速度和提高全局优化精度。
【背景技术】
[0002] Eberhart和Kennedy通过研究鸟群和鱼群的捕食行为而提出了一种基于随机群 体的新型智能优化方法一粒子群优化算法(Particle Swarm化timization, PS0)。该算法 根据群体中粒子的个体性和社会性有机结合所产生的群智能性来指导优化捜索。PS0算法 具有建模简单、容易描述和实现、收敛速度快、全局捜索能力较强、待调整参数少等优点, 因而在许多领域得到广泛应用。但是作为一种新型的智能优化算法,PS0算法在优化一些 高维复杂问题时容易陷入局部最优的困境,难W寻找到最优位置。
[0003] 针对PS0算法的缺点,目前已有很多研究者对其进行了各种改进。文献《基于自适 应策略的改进粒子群算法》改进粒子群算法在每次种群进行迭代时,根据每个粒子的适应 度值自适应地改变每个粒子的速度权重,动态调整每个种群粒子的活性,提高了算法的全 局寻优能力和收敛能力,但只对惯性权重进行改进,效果很有限。文献《筛选和记忆相结合 的粒子群算法》在速度更新过程中引入最差粒子,避免粒子重复捜索曾经找到的最差位置, W提高算法的捜索效率,但没有更充分的利用粒子好的经验。文献《基于改进型粒子群算法 的有源噪声控制》充分利用粒子个体最优信息,并动态改变其惯性权重,从而增强了种群的 多样性,提高了算法的收敛速度和全局优化能力,但是权重改进自适应性不强,也没有充分 利用好粒子的有效信息。
[0004] 为了更好的提高PS0算法的收敛速度和寻优精度,本发明在速度更新过程中汲取 曾经的不好经验,避免粒子重复捜索曾经找到的最差位置,提高粒子全局捜索效率,同时采 用所有粒子个体最优值的平均值替代速度更新公式中某个粒子的个体最优值,增加粒子多 样性,加强粒子间的信息交流和合作,有利于算法迭代中后期跳出局部最优。根据每个粒子 的适应度值自适应地动态改变每个粒子的惯性权重,在大小平均适应度之间二次递减的改 变惯性权重,运样可W更好的基于每个粒子自身的实际情况选择惯性权重大小,使粒子在 优化的过程中更好的平衡好全局和局部捜索能力。本文对各关键方面同时进行最优改进, W达到加快全局收敛速度和提高全局优化精度的目的。

【发明内容】
阳0化]针对标准粒子群优化算法(PS0)优化高维复杂函数时易出现局部最优的缺陷,提 出了基于历史经验和实时调整相结合的粒子群优化算法。在速度更新过程中考虑曾经的不 好经验,避免粒子重复捜索曾经找到的最差位置,并充分利用每个粒子的个体最优信息,W 提高算法的捜索能力。利用每个粒子的适应度值自适应地改变每个粒子的惯性权重,实时 有效的调整全局和局部的捜索能力。用本算法优化4个标准测试函数,与其他3种算法相 比,w验证本算法更优的优化效果。
【具体实施方式】
[0006] 本发明包括W下步骤:
[0007] 1、基本的粒子群优化算法。
[0008] 粒子群优化算法在可行解空间初始化时产生一组随机解,并通过迭代捜寻最优 值。分别用一个矢量来描述粒子在解空间的位置和速度,假设D维捜索空间中第i个粒子 的速度和位置分别表示为Vi= (V ii, Vi2,...,ViD)和Xi= (X ii, Xi2,...,XiD)。每个粒子都有 一个由适应度函数决定的适应度值,将该粒子到目前为止找到的最优位置称为个体最优位 置,表示为Pi= (P 11,Pi2, . . .,PiD),并将整个群体到目前为止找到的最优位置称为全局最优 位置,表示为Pg= (Pgl,Pg2,...,PgD)。在每一次迭代中,粒子通过学习借鉴两个最佳位置来 更新自己的位置,直至达到迭代次数上限或满足精度要求。
[0009] 在基本的粒子群优化算法中,粒子根据W下公式更新自己的速度和位置:
[0012] 式中,i = 1,2, . . .,N,N为粒子的个数,j = 1,2, . . .,D,t表示当前迭代次数,ω 为惯性权重,Cl和C 2为学习因子,r 1和r 2为0到1之间均匀分布的随机数,Ρ 1,表示当前第 i个粒子取个体最优值时在第j维上的位置,而Pg,则表示当前取全局最优值时在第j维上 的位置。
[0013] 2、粒子群算法的改进。
[0014] 2. 1、速度更新方法
[0015] 为了实现信息的充分分享,增强引导信息的有效性,本发明对速度更新公式进行 两方面的改进。一方面改进是在基本速度更新公式中增加粒子对自己不好历史经验认知的 项。运样可W指导和鼓励粒子更有效全面的研究学习历史经验,不仅可W使粒子记住自己 和群体过去好的学习经验,还可W研究学习自身不好的学习经验,在学习过程中加强自身 信息的利用,增强引导信息的效能,减少或避免对历史较差解空间的重复捜索,增加粒子运 动过程中寻找到比当前信息更优解的概率。另一方面改进是用所有粒子个体最优值的平均 值替代速度更新公式中个体最优值最差粒子的个体最优值。运样可W增加粒子种群的多样 性,加强其他粒子好的信息对捜索状态较差粒子的引导,增大捜索到全局最优值的概率,运 样同样也是对所有粒子好的学习经验的应用,能增强粒子的活性,保证了算法的全局探索 能力。因此,本发明提出新的速度更新公式:
[0016]
(2-1)
[0017] 式中,Cl、C 2和C 3为加速度系数。Cl体现粒子个体经验对粒子运行轨迹的影响 力,C2体现粒子群体经验对粒子运行轨迹的影响力,C 3体现粒子不好的学习经验对粒子运 行轨迹的影响力;ri、r 2和r 3为(0, 1)内均匀分布的随机数;托。。<。表示粒子i在t次迭 代过程中自我比较适应度值最差时的位置;
即所有粒子取得个体最优值时,将其 相同维数上的位置取平均值后得到的个体平均最优位置。
[0018] 2. 2权重更新方法
[0019] 惯性权重ω反映了粒子的历史速度对当前速度的影响,较大的ω有利于探索能 力,较小的ω有利于开发能力,合适的惯性权重可W平衡全局寻优能力和局部寻优能力。 粒子群算法的捜索过程是非线性和高度复杂的,线性和非线性递减的惯性权重没有取自当 前最佳捜索状态的信息,不能真正反映实际的捜索过程。运原因是如果当前最佳捜索状态 的粒子适应性没有显著提高,惯性权重就应下降缓慢,因为粒子仍然需要进行全局捜索。如 果当前最佳捜索状态的粒子适应性有显著提高,惯性权重就应快速下降来促进粒子局部捜 索,因为算法达到了全局最优状态的附近,此时主要的目标是实现更好的准确性。
[0020] 因此发明对惯性权重ω进行基于每个粒子的适应度值自适应地实时调整每个粒 子的惯性权重。运样对惯性权重的改进是在充分有效利用所有粒子适应度信息基础之上进 行的,权重每次都是综合考虑了全局和自我实际情况后而调整的,符合人类的哲学思想,正 好体现了粒子群算法的智能性。具体步骤如下:
[0021] (1)求每个粒子的适应度值,并求出所有粒子适应度值的平均值。 阳0巧 似取出适应度值大于平均适应度值的粒子,计算出它们的平均适应度值fwi,让 适应度值大于fwl的粒子取最大的惯性权重值。
[002引 做取出适应度值小于平均适应度值的粒子,计算
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1