一种基于布谷鸟搜索算法的函数优化方法技术

技术编号:17442448 阅读:224 留言:0更新日期:2018-03-10 15:16
为了提高布谷鸟搜索算法求解函数优化问题时的收敛速度和寻优精度,提出一种基于改进的布谷鸟搜索算法进行函数优化的方法,包括:步骤1,在指定范围内随机生成n组函数自变量,并将函数自变量分成第一部分和第二部分;步骤2,对于第一部分,采用传统布谷鸟算法更新自变量取值;步骤3,对于第二部分,采用已发现的一组最优自变量值取代该部分全部自变量值,通过布谷鸟算法基于获取的当前最佳函数值来更新迭代,获取新的最优自变量值。本方法通过在传统布谷鸟搜索算法中引入一种子群体划分和出发点选择策略,在不显著增加算法计算复杂度的情况下有效提升了算法的收敛速度和寻优精度,从而能够优化函数处理方式。

【技术实现步骤摘要】
一种基于布谷鸟搜索算法的函数优化方法
本专利技术涉及通信
,更具体地,涉及一种基于布谷鸟搜索算法的函数优化方法。
技术介绍
布谷鸟搜索(CuckooSearchAlgorithm,CS)算法是由Yang和Deb于2009年提出的一种新兴生物启发算法,该算法模拟了布谷鸟寻窝产卵的行为,并引入了鸟类和果蝇的莱维飞行机制,使其能够快速有效地寻找到最优解。已有研究证明,布谷鸟搜索算法在收敛速度和寻优精度方面都超过了遗传算法、差分进化、粒子群算法和人工蜂群算法等智能算法。正是由于这种算法参数少、算法简单和易于实现的特点,目前已广泛地应用于电力系统、通信网络、系统辨识与参数估计、机器人控制、车间调度和交通运输等实际工程问题中。在机器学习领域,布谷鸟搜索算法可以用来优化神经网络、支持向量机、K-means、K最近邻(KNN)、贝叶斯网络、AdaBoost等机器学习算法的参数,将布谷鸟搜索算法和机器学习算法相结合,是提高机器学习算法性能的一个重要策略。现有的布谷鸟搜索算法的具体步骤包括:步骤1,进行初始化设置;步骤2,鸟窝位置搜索;步骤3,鸟窝位置选择;步骤4,精度或者迭代判断。其中,步骤1中,随机产生N个鸟窝的位置然后把这N个鸟窝的位置带到试验函数当中进行选择实验,经过测试就可选出最好鸟窝的位置,并将它保存留给到下一代使用。其中,步骤2中,通过下述位置更新公式(1),开始对下一代鸟窝的位置进行搜寻,以此获得一组新的鸟窝位置,再次带入到实验函数中进行测试实验,跟上一代得到的鸟窝位置进行比较之后选择最优的鸟窝位置进入下一步,其中,位置更新公式为:其中,步骤3中,将宿主发现外来蛋的概率pa=0.25与服从均匀分布的随机数r∈[0,1]相对比,如果r>pa,那么可以随机改变的值;否则固定不变。再用测试函数测试改变后的鸟窝位置,把测试完的鸟窝位置跟上一代的最优鸟窝位置进行对比,记录测试值最优的鸟窝位置最后选出测试值最优的鸟窝位置其中,步骤4中,计算是否达到目标精度或者达到迭代终止条件。如果符合要求,则就是全局最优解gb,如果不符合,则要保留到下一代,返回步骤(2)再进行循环迭代更新。与其他基于种群迭代的智能优化算法一样,布谷鸟搜索算法同样存在后期收敛速度慢、局部搜索能力弱和易早熟收敛等缺点。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的基于布谷鸟搜索算法的函数优化方法。根据本专利技术的一个方面,提供一种基于布谷鸟搜索算法进行函数优化的方法,包括:步骤1,在指定范围内随机生成n组函数自变量,并将函数自变量值分成第一部分和第二部分;步骤2,对于第一部分,采用传统布谷鸟算法更新自变量取值;步骤3,对于第二部分,采用已发现的一组最优自变量值取代该部分全部自变量值,通过布谷鸟算法基于获取的当前最佳函数值来更新迭代,获取新的最优自变量值。其中,步骤3中进一步包括:将固定数量的函数自变量值采用已发现的一组最优自变量值代替,进行下一次搜索。其中,步骤3进一步包括:第二部分函数自变量值包括固定的m个值组成的队列Xs=(x1,x2,x3…xm),采用已发现的一组函数自变量值XBest=(xbest1,xbest2,xbest3…xbestk)代替;其中,把第1到第m1个函数自变量值更换为xbest1,第m1+1到第m2个函数自变量值更换为xbest2,以此类推,最后第mk-1+1到第m个函数自变量值更换为xbestk。其中,步骤3进一步包括:基于所获取的最优函数取值,调整分离出的函数自变量值队列的大小m和最优函数自变量值k的取值,平衡算法全局搜索能力和局部搜索能力。其中,步骤1还包括:随机产生N个自变量值,把该N个自变量值带到试验函数当中进行选择实验,经过函数值测试,选出最好鸟窝的自变量值,用以下次迭代。其中,该方法还包括:计算函数最优解,根据函数最优解是否达到目标精度或者达到迭代终止条件,来确认迭代循环是否终止。根据本申请的另一方面,提供一种基于子群体间分工协作的改进布谷鸟搜索方法,包括:将布谷鸟群体分成两个部分,第一部分按照传统布谷鸟算法更新鸟巢位置,第二部分以已发现的一组最优鸟巢位置为出发点更新鸟巢位置,进行下一次搜索。本申请提出本专利技术提出了一种基于子群体间分工协作的改进布谷鸟搜索算法,用于处理函数优化问题,通过在传统布谷鸟搜索算法中引入一种子群体划分和出发点选择策略,在不显著增加算法计算复杂度的情况下有效提升了算法的收敛速度和寻优精度,从而能够优化函数处理方式。附图说明图1为根据本申请实施例的一种基于布谷鸟搜索算法的函数优化方法的流程图;图2为根据本申请实施例的一种基于布谷鸟搜索算法的函数优化方法的详细流程图;图3为根据本申请实施例的Rastrigrin函数的三维曲面图;图4为根据本申请实施例的函数的收敛曲线对比图;图5为根据本申请实施例的函数平均值收敛曲线对比图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。为了更充分的利用已找到的较好鸟窝,提高算法的收敛速度和寻优精度,本申请的一个实施例提出一种基于子群体间分工协作的改进布谷鸟搜索算法,在布谷鸟群体中分离出一个具有特殊作用的布谷鸟子群体Xs=(x1,x2,x3…xm),其余布谷鸟构成另一个子群体按照传统布谷鸟算法执行寻优操作。其中,如图1和图2所示,该方法包括:将布谷鸟群体分成两个部分,第一部分按照传统布谷鸟算法更新鸟巢位置,第二部分以已发现的一组最优鸟巢位置为出发点更新鸟巢位置。其中,在一个实施例中,第二部分布谷鸟群体由固定的m只布谷鸟组成队列Xs=(x1,x2,x3…xm),对于已找到的较好鸟窝位置集合XBest=(xbest1,xbest2,xbest3…xbestk),把第1到第m1个布谷鸟的位置为更换为xbest1,第m1+1到第m2个鸟巢更换为xbest2,以此类推,最后第mk-1+1到第m个鸟巢更换为xbestk。其中,在一个实施例中,按照下列方法把最好的一组鸟窝位置分配给该m只布谷鸟,把第1到第m1个布谷鸟的位置为更换为xbest1,第m1+1到第m2个鸟巢更换为xbest2,以此类推,最后第mk-1+1到第m个鸟巢更换为xbestk。x1~xm1=xbest1xm1+1~xm2=xbest2式中,m1,m2…mk-1表示布谷鸟的顺序编号,且1≤m1≤m2≤mk-1≤m,xbest1表示第一最好鸟窝位置,xbest2表示第二最好鸟窝位置,xbestk表示第k最好鸟窝位置。通过调整分离出的最优布谷鸟队列的大小m和最优鸟巢序列k的取值可以平衡算法全局搜索能力和局部搜索能力。在一个实施例中,本专利技术提出一种基于布谷鸟搜索算法来进行函数优化的方法,该方法通过子群体间分工协作来改进布谷鸟搜索算法,从而优化函数。其中,该方法包括:在指定范围内随机生成n组函数自变量,并将函数自变量值基于布谷鸟群体分成两部分,第一部分基于传统布谷鸟算法更新具体取值,第二部分采用已发现的一组优选具体自变量取值为出发点代入函数更新,进行多次迭代搜索,获取最优自变量值。其中,对于第二部分函数自变量值,该部分包括固定的m个取值组成的队列Xs=(x1,x2,x3…xm),对于已找到的优选函数自变量值X本文档来自技高网
...
一种基于布谷鸟搜索算法的函数优化方法

【技术保护点】
一种基于布谷鸟搜索算法进行函数优化的方法,其特征在于,包括:步骤1,在指定范围内随机生成n组函数自变量,并将函数自变量值分成第一部分和第二部分;步骤2,对于第一部分,采用传统布谷鸟算法更新自变量取值;步骤3,对于第二部分,采用已发现的一组最优自变量值取代该部分全部自变量值,通过布谷鸟算法基于获取的当前最佳函数值来更新迭代,获取新的最优自变量值。

【技术特征摘要】
1.一种基于布谷鸟搜索算法进行函数优化的方法,其特征在于,包括:步骤1,在指定范围内随机生成n组函数自变量,并将函数自变量值分成第一部分和第二部分;步骤2,对于第一部分,采用传统布谷鸟算法更新自变量取值;步骤3,对于第二部分,采用已发现的一组最优自变量值取代该部分全部自变量值,通过布谷鸟算法基于获取的当前最佳函数值来更新迭代,获取新的最优自变量值。2.根据权利要求1所述的方法,其特征在于,步骤3中进一步包括:将固定数量的函数自变量值采用已发现的一组最优自变量值代替,然后进行下一次搜索。3.根据权利要求2所述的方法,其特征在于,步骤3进一步包括:第二部分函数自变量值包括固定的m个值组成的队列Xs=(x1,x2,x3…xm),采用已发现的一组最优函数自变量值XBest=(xbest1,xbest2,xbest3…xbestk)代替;其中,把第1到第m1个函数自变量值更换为xbest1,第m1+1到第m2个函数自变量值更换为xbest2,以此类推,最后第mk-1+1到第m个函数自变量值更换为xbestk。4.根据权利要求3所述的方法,其特征在于,步骤3进一步包括:基于所获取的最优函数取值,调整分离出的函数自变量值队列的大小m和最优函数自变量值k的取值,平衡算法全局搜索能力和局部搜索能力。...

【专利技术属性】
技术研发人员:李书霞马慧生
申请(专利权)人:普天信息技术有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1