基于随机评价机制的量子粒子群优化算法及其参数控制

时间:2022-08-01 04:05:45

基于随机评价机制的量子粒子群优化算法及其参数控制

摘 要:为了改善量子行为粒子群优化(QPSO) 算法的收敛性能, 提出了一种基于随机评价策略的改进QPSO优化算法(REQPSO)。该算法通过使用随机因子对种群中粒子的创新性进行评价,提高了粒子摆脱局部极值的能力。提出了固定取值和线性递减两种控制策略分析REQPSO算法的唯一控制参数――收缩扩张系数,通过6个标准测试函数的仿真结果给出了具有实际指导意义的控制参数选择方法。

关键词:粒子群优化;量子粒子群优化;全局收敛

0 引言

粒子群优化 (Particle Swarm Optimization, PSO)算法是Kennedy 和Eberhart于1995年提出的一种进化计算方法[1],是群体智能(Swarm Intelligence,SI)优化算法最新的实现模式之一。

PSO算法的基本思想源于对鸟类行为的研究,通过模拟鸟群的捕食行为来达到优化问题的求解,其简明的概念、简便的操作方法、较少的参数、较强的收敛能力使之自问世以来受到了广泛的关注,并在函数优化问题、模式识别、机器人学习、数据挖掘、电力系统和无线传感器网络应用等诸多工程领域得到成功应用。

但是,和其他全局优化算法一样,粒子群优化算法也存在着一些亟须解决的问题。对测试函数的仿真实验证明 PSO算法在进化过程中存在早熟收敛和局部寻优能力差等缺点。虽然近年来国内外的许多研究者针对这些缺点做了大量的工作,并提出了多种改进PSO算法[2-4],但实际结果表明,许多方法对PSO算法的改进是有限的。

2004年,Sun等[5]通过对人类的学习过程与量子空间中粒子的对比发现人类的学习过程与粒子的量子行为极为相似,两者都具有很大的不确定性。他们根据群体智慧的聚集性建立量子势能场模型,将每个个体都用量子空间中的一个粒子来描述,并根据人类群体自组织性和协同性等特点,给出了具有量子行为的粒子群优化算法(Quantumbehaved Particle Swarm Optimization,QPSO)。由于简单有效,收敛速度快,易于实现,参数较少,QPSO在多个应用领域以及算法改进上得到了一定的关注[6-7]。尽管实践证明具有量子行为的粒子群优化相比标准PSO具有更好的全局搜索能力,但是和标准的 PSO 算法以及其他进化算法一样,QPSO也不可避免地存在早熟问题,也就是当群体进化时,不可避免地减少了群体的多样性。

本文在孙俊[8]研究成果的基础上,在粒子进化的过程中对QPSO的搜索迭代策略进行改进,采用一种随机的方法评价δ势阱的特征长度Li, j(t),提出了基于随机评价机制的量子行为粒子群优化算法(QPSO Algorithm based on Random Evaluation, REQPSO),并通过仿真实验以及实验结果分析得出REQPSO中理想的参数控制策略。

1 量子粒子群优化算法

van den Bergh等[9-10]通过引入Solis和Wets关于随机性算法的收敛准则已经证明了标准PSO算法不能收敛于全局最优解,甚至于局部最优解。为了使粒子能够更好地满足全局收敛,孙俊[8]在研究了其他学者关于粒子收敛行为的研究成果后,假设PSO 系统是一个量子系统,在量子空间中提出了一种新的基于量子δ势阱模型的PSO算法模型,称为量子行为粒子群优化(QPSO)算法。

2 基于随机判定机制的量子粒子群优化模型

在QPSO算法的基本迭代方程中,Li, j(t)被称为个体创造力或想象力,表征了粒子知识搜寻的范围,是算法中的重要参数。在算法每次迭代之前,参数Li, j(t)必须被评价。在算法进化初期, Li, j(t)值越大,粒子找到新知识的可能性就越大,创造性越强;算法进化末期,只有通过将Li, j(t)收敛到0,才能使粒子收敛到局部吸引子pi。所以在任何一种QPSO算法中,如何控制Li, j(t)是非常关键的[5]。

3 实验设计与结果分析

3.1 实验设计

智能算法的性能和效率往往会受到实验参数设置的影响,如何确定实验参数使算法性能最佳,这本身是一个极其复杂的优化问题[12]。在REQPSO算法中,α是除种群规模和迭代次数以外的唯一控制参数,在迭代过程中可以通过对其调节来控制算法的收敛性能,使得算法在全局搜索和局部搜索之间达到平衡。孙俊[8]通过理论分析和仿真实验证明,在标准QPSO算法中,单个粒子收敛的充分必要条件是收缩扩张系数α

本文为了尽可能得到合理的实验结果,使用Sphere函数、Rosenbrock函数、Rastrigin函数、Griewank函数、Ackley函数、以及Schaffer函数共6个标准测试函数对REQPSO算法性能进行比对。

3.1.1 标准测试函数

标准测试函数是进化类算法用来测试性能的主要工具,这些测试函数具有不同的特征[12]。由于许多实践工程中包括单峰和多峰的问题,因此,选择单峰函数和多峰函数作为此次实验的测试函数。下面给出测试函数的表达式、自变量的范围、测试函数维度为20时可接受的收敛精度、测试函数的最优解和最优值。

3.1.2 实验参数设置

实验中6个测试函数的问题维度分别采用10维和20维的情况,对应最大迭代步数设置为1000;种群的规模N分别设置为30和50,每个函数每种情况的测试独立运行30次,考察30次实验迭代结束时测试函数的平均值。REPSO算法参数α采用两种选值策略:第一种为固定选值,选取α=1.2,α=1.0,α=0.8,α=0.5,α=0.2分别求解;第二种采用α从1到0.5线性递减策略对测试函数求解。

3.2 实验结果

使用REPSO优化各函数所得到的适应值如表1和表2所示。

上一篇:基于重组的半分布式僵尸网络抗打击技术 下一篇:等级人的价值建构