一种分层异质动态粒子群优化算法的制作方法

文档序号:13446985阅读:1214来源:国知局
一种分层异质动态粒子群优化算法的制作方法

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



背景技术:

优化问题是个古老的课题,无论是微观世界还是宏观世界,最优化问题是普遍存在的。优化问题也就是对于某个问题,如果有多种可供选择的解决方案,则需要确定具体的性能要求,并从多个方案中选择一种,使得所确定的性能要求指标最大或最小。

自从优化问题提出后,人们针对优化问题的求解提出了各种方法,对优化问题的求解研究亦从未间断,这些方法主要分为两类:第一类是利用解析的思想,该方法的一个特点是利用优化所具有的性质特点,建立起极值点所应该满足的方程或方程组,求解方程或方程组,最终得到问题的最优解;第二类是利用数值的思想,利用优化函数的性质,设计适当的基本迭代算式,在给定初值的情况下,通过基本迭代式的递归运算得到优化问题的解。

粒子群优化算法(particleswarmoptimization,pso)是由kennedy和eberhart于1995年提出的一种模拟鸟群觅食的群智能优化算法,群中每个粒子在搜索空间中,按照如下两个公式不断地调整自身的速度和位置进行寻优,直到满足收敛终止条件。

式中,分别为第t和t+1次迭代时第j维中粒子i的速度;分别为第t和t+1次迭代时粒子i的位置;ω为惯性权重;c1、c2为加速度系数或称为学习因子;为第t次迭代时粒子i的个体极值点的位置;为第t次迭代时整个粒子群的全局极值点的位置;为[0,1]区间独立的均匀分布的随机数;vmax是常数,根据具体的问题人为设定。

与其他优化算法相比,粒子群算法算式简洁,收敛速度快,易于编程实现,无需梯度信息,只需利用目标的取值信息,且具有群搜索性能与各粒子间的协同特性。粒子群算法在很多领域得到广泛的应用与迅速的发展完善但是仍存在着以下缺陷:

(1)初始粒子都是随机生成的,虽然保持了种群的多样性,但是部分粒子的质量偏低,在一定程度上影响了种群的质量和寻优效率。

(2)在算法运行的过程中,粒子要不断地向个体极值和全局极值靠近,造成了所有粒子偏向同一个方向飞行,导致粒子趋向同一化,多样性逐渐消失,降低了算法后期的收敛速度和收敛精度。

(3)对于高维多峰函数来说很容易聚集到一点而停滞不前,造成算法早熟,这些早熟的收敛点可能是局部极值。



技术实现要素:

本发明为克服现有技术的缺陷,提出了一种多层异构动态粒子群优化方法。该算法将粒子群拓扑结构设置为多层次结构,同时在粒子的速度更新过程当中,引入吸引粒子的概念,将粒子周围的吸引粒子对其自身的影响考虑在内,对粒子的速度更新公式进行改进。这种改进方式能够平衡算法本身的局部搜索能力和全局搜索能力,很好的解决了由于粒子之间信息共享机制简单导致的算法容易“早熟”,收敛速度慢等缺陷。

一种分层异构动态粒子群优化算法,具体包括如下步骤:

(1)初始化粒子群:随机初始化粒子的位置和速度;

(2)计算每个粒子的适应度值,构建种群分层结构:计算每个粒子的适应度值并进行排序,依据适应度值大小将粒子置于不同的层次,且每个层次中粒子数目相同;

(3)更新粒子的局部最优位置和全局最优位置:对于每个粒子,比较它的适应度值和它所经历过的最好位置的适应值,如果更小则更新对于每个粒子,比较它的适应度值和拓扑邻居中的群体经历过的最好位置的适应度值,如果更小则更新

(4)计算吸引粒子的吸引系数并更新粒子的速度和位置:

速度更新公式为:

位置更新公式为:

是第t次迭代时第j维中粒子i的吸引粒子a所在的位置,是粒子i的吸引粒子的总数,c3是恒定的加速度系数,是粒子i的吸引粒子a所对应的吸引系数,其他参数与标准粒子群算法中参数含义相同;

(5)如果达到迭代结束条件则迭代结束,否则转步骤(2)继续迭代。

其特征在于,所述的步骤(2)具体包括:

每个粒子通过目标函数计算适应度值,适应度值越小的粒子,所在的层次越高。

其特征在于,所述的步骤(3)具体包括:

所述的最好位置为通过目标函数计算适应度值得到最小适应度值的粒子的位置;所述的最好位置为粒子拓扑邻居中通过目标函数计算适应度值得到最小适应度值的粒子的位置。

其特征在于,所述的步骤(4)具体包括:

粒子的吸引系数分为以下两种情况进行计算:

式中分别代表的最小值和最大值;分别表示粒子i的所有吸引粒子到粒子i的最小距离和最大距离;表示粒子i的吸引粒子a到粒子i的距离;表示粒子i所有吸引粒子到粒子i的平均距离。

其特征在于,所述的步骤(4)中的吸引粒子具体包括:

粒子被其直接上层中的粒子所吸引,其直接上层中的粒子即为它的吸引粒子,其自身也为其下层的吸引粒子;最上层中的粒子,他们只能被同层的其他粒子所吸引;粒子在运动过程中除了向其个体最优位置及全局最优位置移动外,也向它们吸引粒子所在的位置移动。

所述的步骤(5)具体包括:

所述的迭代结束条件为粒子处于足够好的位置或达到最大的迭代次数。

本发明的有益效果是:相比于传统的粒子群优化算法收敛速度较快,增强了粒子之间的信息交互能力,提高了算法的局部开发能力和寻优效率。

附图说明

图1为粒子群种群结构图;

图2为算法流程图;

图3为ackley函数优化结果对比图;

图4为rastrigin函数优化结果对比图。

具体实施方式

下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

本发明提出了一种多层异构动态粒子群优化算法(mhpso),算法专注于建立多层之间的垂直相互作用。如图1所示,将粒子群分为6个层次,每个层中所含有粒子数目相同,其中每个粒子显示的数字代表其所处层次。在每次迭代时,粒子按照其当前适应度值进行排序,并依次分配到不同的层次中,粒子的适应值越小,其所在的层次越高。在算法中,粒子被其直接上层中的粒子所吸引,其直接上层中的粒子即为它的吸引粒子,其自身也为其下层的吸引粒子。最上层中的粒子,他们只能被同层的其他粒子所吸引,例如若粒子所在层次为第3层,第4层中的粒子为该粒子的吸引粒子,其本身也为第2层中粒子的吸引粒子。然而,最上层中的粒子是例外:它们的吸引粒子为同层中的其他粒子,这主要是因为,它们都具有群体中相对最优的适应值。粒子在运动过程中除了向其个体最优位置及全局最优位置移动外,也向它们吸引粒子所在的位置移动。

mhpso的流程图如图2所示,算法具体步骤为:

step1:初始化粒子群。随机初始化粒子的位置和速度。

step2:计算每个粒子的适应度值,构建种群分层结构。计算每个粒子的适应度值并进行排序,依据适应度值大小将粒子置于不同的层次,且每个层次中粒子数目相同,适应度值越小的粒子,所在的层次越高。每个粒子通过目标函数计算适应度值,适应度值越小代表所得的寻优结果越好。

step3:更新粒子的局部最优位置和全局最优位置。对于每个粒子,比较它的适应度值和它所经历过的最好位置的适应值,如果更小则更新对于每个粒子,比较它的适应度值和拓扑邻居中的群体经历过的最好位置的适应度值,如果更小则更新

step4:更新粒子的速度和位置。

新算法的设计中,速度更新公式中添加了一个来自于吸引粒子的一个附加项,如下所示:

位置更新公式为:

其中,是第t次迭代时第j维中粒子i的吸引粒子a所在的位置,是粒子i的吸引粒子的总数,c3是恒定的加速度系数,是粒子i的吸引粒子a所对应的吸引系数,其他参数与标准粒子群算法中参数含义相同。

为了保证粒子受其吸引粒子的影响是均衡的,不易发生偏离,提高算法的鲁棒性,粒子的吸引系数分为以下两种情况进行计算:

式中分别代表的最小值和最大值。分别表示粒子i的所有吸引粒子到粒子i的最小距离和最大距离。表示粒子i的吸引粒子a到粒子i的距离。表示粒子i所有吸引粒子到粒子i的平均距离。对于的吸引粒子,将对应于较大的吸引系数;对于的吸引粒子,将对应于较小的吸引系数。

step5:如果达到迭代结束条件(足够好的位置或最大的迭代次数),则结束,否则转step2继续迭代。

实现对比与总结:为了进行对比与分析,本发明选取标准pso、qpso(量子粒子群算法)与mhpso进行对比。在实验过程中将三种算法的种群粒子数均为50,搜索空间的维度设置为50,其中mhpso设置为5层结构,每层10个粒子。三个算法的迭代次数则均设置为1000次。如果最优值连续10次相同则说明已经收敛,停止迭代。每种情况单独测试20次。下表中给出了三个算法中参数的设置。

表1参数设置

为了算法的性能进行充分测试,实验选取rastrigin多峰函数和ackley单峰函数来检测三个算法的优化效果。

rastrigin函数为多峰函数,在其可行域中具有多个极小值,优化时极易陷入局部极值,一般用于测试优化算法。ackley函数是指数函数叠加上适度放大的余弦而得到的连续型实验函数,其特征是一个几乎平坦的区域由余弦波调制形成一个个孔或峰,从而使曲面起伏不平。这个函数的搜索十分复杂,因为一个严格的局部最优化算法在爬山过程中不可避免地要落入局部最优的陷阱;而扫描较大领域就能越过干扰的山谷,逐步达到较好的最优点。

实验结果如图3和图4所示。图3为ackley单峰函数优化结果曲线、图4为rastrigin多峰函数的优化曲线。从两个图中可以看出,从初始阶段开始,mhpso就体现出优良的搜索能力,在多峰函数测试中,在很短的时间内就达到要求的精度。在单峰函数测试中,mhpso所寻最优值总体呈现线性下降的趋势,探索能力极强。这说明,mhpso算法展示了比其他两个算法更好的搜索效率,对于基准函数的优化结果更加明显。mhpso算法中的粒子间信息交流更加有效,降低了种群陷入局部极值的可能,同时也提高了种群在可行域空间内的局部开发能力和算法的收敛速度。

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1