首页 / 一种分层异质动态粒子群优化算法

一种分层异质动态粒子群优化算法无效专利 发明

技术领域

[0001] 本发明涉及计算机应用技术领域,具体涉及一种分层异质动态粒子群优化算法。

相关背景技术

[0002] 优化问题是个古老的课题,无论是微观世界还是宏观世界,最优化问题是普遍存在的。优化问题也就是对于某个问题,如果有多种可供选择的解决方案,则需要确定具体的性能要求,并从多个方案中选择一种,使得所确定的性能要求指标最大或最小。
[0003] 自从优化问题提出后,人们针对优化问题的求解提出了各种方法,对优化问题的求解研究亦从未间断,这些方法主要分为两类:第一类是利用解析的思想,该方法的一个特点是利用优化所具有的性质特点,建立起极值点所应该满足的方程或方程组,求解方程或方程组,最终得到问题的最优解;第二类是利用数值的思想,利用优化函数的性质,设计适当的基本迭代算式,在给定初值的情况下,通过基本迭代式的递归运算得到优化问题的解。
[0004] 粒子群优化算法(particle swarm optimization,PSO)是由Kennedy和Eberhart于1995年提出的一种模拟鸟群觅食的群智能优化算法,群中每个粒子在搜索空间中,按照如下两个公式不断地调整自身的速度和位置进行寻优,直到满足收敛终止条件。
[0005]
[0006]
[0007] 式中, 和 分别为第t和t+1次迭代时第j维中粒子i的速度; 分别为第t和t+1次迭代时粒子i的位置;ω为惯性权重;c1、c2为加速度系数或称为学习因子;为第t次迭代时粒子i的个体极值点的位置; 为第t次迭代时整个粒子群的全局极值点的位置; 为[0,1]区间独立的均匀分布的随机数; Vmax是常数,
根据具体的问题人为设定。
[0008] 与其他优化算法相比,粒子群算法算式简洁,收敛速度快,易于编程实现,无需梯度信息,只需利用目标的取值信息,且具有群搜索性能与各粒子间的协同特性。粒子群算法在很多领域得到广泛的应用与迅速的发展完善但是仍存在着以下缺陷:
[0009] (1)初始粒子都是随机生成的,虽然保持了种群的多样性,但是部分粒子的质量偏低,在一定程度上影响了种群的质量和寻优效率。
[0010] (2)在算法运行的过程中,粒子要不断地向个体极值和全局极值靠近,造成了所有粒子偏向同一个方向飞行,导致粒子趋向同一化,多样性逐渐消失,降低了算法后期的收敛速度和收敛精度。
[0011] (3)对于高维多峰函数来说很容易聚集到一点而停滞不前,造成算法早熟,这些早熟的收敛点可能是局部极值。

具体实施方式

[0041] 下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
[0042] 本发明提出了一种多层异构动态粒子群优化算法(MHPSO),算法专注于建立多层之间的垂直相互作用。如图1所示,将粒子群分为6个层次,每个层中所含有粒子数目相同,其中每个粒子显示的数字代表其所处层次。在每次迭代时,粒子按照其当前适应度值进行排序,并依次分配到不同的层次中,粒子的适应值越小,其所在的层次越高。在算法中,粒子被其直接上层中的粒子所吸引,其直接上层中的粒子即为它的吸引粒子,其自身也为其下层的吸引粒子。最上层中的粒子,他们只能被同层的其他粒子所吸引,例如若粒子所在层次为第3层,第4层中的粒子为该粒子的吸引粒子,其本身也为第2层中粒子的吸引粒子。然而,最上层中的粒子是例外:它们的吸引粒子为同层中的其他粒子,这主要是因为,它们都具有群体中相对最优的适应值。粒子在运动过程中除了向其个体最优位置及全局最优位置移动外,也向它们吸引粒子所在的位置移动。
[0043] MHPSO的流程图如图2所示,算法具体步骤为:
[0044] Step1:初始化粒子群。随机初始化粒子的位置和速度。
[0045] Step2:计算每个粒子的适应度值,构建种群分层结构。计算每个粒子的适应度值并进行排序,依据适应度值大小将粒子置于不同的层次,且每个层次中粒子数目相同,适应度值越小的粒子,所在的层次越高。每个粒子通过目标函数计算适应度值,适应度值越小代表所得的寻优结果越好。
[0046] Step3:更新粒子的局部最优位置和全局最优位置。对于每个粒子,比较它的适应度值和它所经历过的最好位置 的适应值,如果更小则更新 对于每个粒子,比较它的适应度值和拓扑邻居中的群体经历过的最好位置 的适应度值,如果更小则更新[0047] Step4:更新粒子的速度和位置。
[0048] 新算法的设计中,速度更新公式中添加了一个来自于吸引粒子的一个附加项,如下所示:
[0049]
[0050] 位置更新公式为:
[0051]
[0052] 其中, 是第t次迭代时第j维中粒子i的吸引粒子a所在的位置, 是粒子i的吸引粒子的总数,c3是恒定的加速度系数, 是粒子i的吸引粒子a所对应的吸引系数,其他参数与标准粒子群算法中参数含义相同。
[0053] 为了保证粒子受其吸引粒子的影响是均衡的,不易发生偏离,提高算法的鲁棒性,粒子的吸引系数 分为以下两种情况进行计算:
[0054]
[0055] 式中 和 分别代表 的最小值和最大值。 和 分别表示粒子i的所有吸引粒子到粒子i的最小距离和最大距离。 表示粒子i的吸引粒子a到粒子i的距离。 表示粒子i所有吸引粒子到粒子i的平均距离。对于 的吸引粒子,将对应于较大的吸引系数;对于 的吸引粒子,将对应于较小的吸引系数。
[0056] Step5:如果达到迭代结束条件(足够好的位置或最大的迭代次数),则结束,否则转Step2继续迭代。
[0057] 实现对比与总结:为了进行对比与分析,本发明选取标准PSO、QPSO(量子粒子群算法)与MHPSO进行对比。在实验过程中将三种算法的种群粒子数均为50,搜索空间的维度设置为50,其中MHPSO设置为5层结构,每层10个粒子。三个算法的迭代次数则均设置为1000次。如果最优值连续10次相同则说明已经收敛,停止迭代。每种情况单独测试20次。下表中给出了三个算法中参数的设置。
[0058] 表1参数设置
[0059]
[0060] 为了算法的性能进行充分测试,实验选取Rastrigin多峰函数和Ackley单峰函数来检测三个算法的优化效果。
[0061] Rastrigin函数为多峰函数,在其可行域中具有多个极小值,优化时极易陷入局部极值,一般用于测试优化算法。Ackley函数是指数函数叠加上适度放大的余弦而得到的连续型实验函数,其特征是一个几乎平坦的区域由余弦波调制形成一个个孔或峰,从而使曲面起伏不平。这个函数的搜索十分复杂,因为一个严格的局部最优化算法在爬山过程中不可避免地要落入局部最优的陷阱;而扫描较大领域就能越过干扰的山谷,逐步达到较好的最优点。
[0062] 实验结果如图3和图4所示。图3为Ackley单峰函数优化结果曲线、图4为Rastrigin多峰函数的优化曲线。从两个图中可以看出,从初始阶段开始,MHPSO就体现出优良的搜索能力,在多峰函数测试中,在很短的时间内就达到要求的精度。在单峰函数测试中,MHPSO所寻最优值总体呈现线性下降的趋势,探索能力极强。这说明,MHPSO算法展示了比其他两个算法更好的搜索效率,对于基准函数的优化结果更加明显。MHPSO算法中的粒子间信息交流更加有效,降低了种群陷入局部极值的可能,同时也提高了种群在可行域空间内的局部开发能力和算法的收敛速度。
[0063] 最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页 第1页 第2页 第3页
相关技术
分层异质相关技术
动态粒子相关技术
徐东发明人的其他相关专利技术