一种新型的蒲公英算法的制作方法

文档序号:11432848阅读:1339来源:国知局
一种新型的蒲公英算法的制造方法与工艺

技术领域:

本发明涉及一种新型的蒲公英算法。



背景技术:
:

大自然经过亿万年继承创造的演化,展现出完美的高效性和神奇性,复杂多样的生物界在长期物竞天择、优胜劣汰的进化过程中不断适应复杂环境的变化得到了生存和发展。人们从自然系统的研究中学到很多,并利用它们开发新的算法和模型来解决复杂的问题。因此,模仿生物智力行为,利用其智能机制,解决复杂问题的许多新途径不断涌现。通过自然智能建模,已经提出了许多智能算法,包括遗传算法,蚁群算法,粒子群算法,中心重力搜索算法和量子计算等。每个智能算法对应于一个实际的灵感来源。例如,dna计算是基于获得诺贝尔生理学或医学奖的沃森和克里克提出的双螺旋结构,以及由诺贝尔奖获得者mullis提出的聚合酶链接器反应。人造蜂群算法是基于蜜蜂舞蹈行为。基于免疫网络理论提出的人工免疫算法。蝙蝠算法是通过模拟蝙蝠回波定位行为来呈现的。通过观察烟花爆竹的启发,提出了全面优化复杂功能的强化烟花算法。近年来,许多智能算法已经成功应用于工程问题,这不仅减少了耗时,而且保证了比手动调整更好的性能。

上述智能算法都是并行搜索最优解。然而,他们中的个体在搜索过程中使用相同的机制。



技术实现要素:

在蒲公英播种的行为灵感的基础上,提出了一种称为蒲公英算法(da)的新型群体智能算法,用于功能优化,提出的蒲公英算法具有简单的计算过程和易于理解等优点。在da中,蒲公英种群分为两个子群体:适合播种,不适合播种,然后对不同子播种方式进行不同播种。同时,对适合播种的群体提出另一种播种方式,以避免落入局部最优解。

在da中,我们假设将土地分为两种:适合蒲公英播种,不适合蒲公英播种,蒲公英生活在合适的环境中称为核心蒲公英(cd),相反,除核心蒲公英外的蒲公英被称为助理蒲公英(ad)。

当蒲公英播种时,蒲公英的种子将分散在蒲公英的周围。在我们看来,蒲公英播种的过程可以看出在一个点附近的特定空间中搜索最优。例如,现在我们需要找到一个点x来满足y=f(x),然后使用蒲公英播种潜在的空间中的种子,直到找到点无限接近点x。

在da中,当每一代播种时,首先我们需要选择n个蒲公英,也就是说,这里有n个蒲公英播种。播种后,获取并评估种子的位置。直到找到最佳位置,该算法将停止。否则,该算法需要从所有种子和蒲公英中选择其他n个蒲公英,用于下一代播种。

在da中,我们假设只有两种蒲公英:核心蒲公英(cd)和辅助蒲公英(ad),不同类型的蒲公英的播种方式不同。同时,另一种播种方式,称为突变播种,旨在避免落入局部最佳状态。最后,选择策略是为了选择蒲公英进入下一代。总而言之,蒲公英算法由正常播种,突变播种和选择策略组成。具体的步骤如下:

步骤1:随机初始种群的个数,变异的蒲公英个数。

步骤2:在da中,我们规定核心的蒲公英可以生产更多的种子,而辅助蒲公英的种子少,因为具有核心蒲公英的土地适合种子种植。播种时产生的种子数量是根据其在蒲公英种群中的相对蒲公英适宜度值计算的。假设最大种子数为max,最小种子数为min,则每个蒲公英xi的种子数mi用如下公式计算:

其中fmax=max(f(xi)),fmin=min(f(xi)),ε是避免分母等于0。

步骤3:辅助蒲公英的播种半径(cd除外)通过以下式子计算得到:

其中ub是函数的上限,lb是函数的下限,无限范数是所有维的最大值。w是权重因子,用于动态调整上一代播种半径对当前播种半径的影响。权重因子w设计如下。

其中t是当前的函数评估,tmax是函数评估的最大数量。可以看出,w的值从大变化到小,这意味着上一代的播种半径对当前播种半径的影响越来越小。

步骤4:对于cd,它有另一种计算播种半径的方法,根据最后一代的cd进行调整,其设计如下:

其中rcd(t)是第t代cd的播种半径。算法的开始,cd的播种半径也设置为搜索空间的直径。r和e分别是枯萎因子和生长因子,a反映了增长趋势,a由下式计算得到:

步骤5:为了避免陷入局部最优,保持种群的多样性,为cd提出了另一种播种方式,称为突变播种。定义如下:

xcd'=xcd×(1+levy())

其中,levy()是用参数β=1.5的levy分布生成的随机数。

步骤6:在da中,它要求当前最佳位置始终保持下一次迭代,为了保持多样性,基于分裂选择算子选择剩余的位置,对于位置xi,利用下式计算选择概率pi;

fi=|fi-favg|

其中fi是目标函数的适应度值,favg是第t代群体的所有适应度值的平均值,sn是所有蒲公英(蒲公英,正常种子和突变种子)的集合;

步骤7:若满足停止条件(一般是达到一定精度或者是达到一定的迭代次数),则搜索停止,输出结果,否则,转到步骤2;

本发明的有益效果:

受蒲公英播种行为的启发,本文提出了一种新颖的群体智能算法,即蒲公英算法(da),用于复杂函数的全局优化;在da中,蒲公英种群将分为两个子种群,不同的子种群将经历不同的播种行为。

本发明主要有以下几点优点:

(1)提出了一种全新的智能优化算法

(2)该算法在计算精度上相比较其他的算法有一定的优势

(3)该算法在收敛速度上也有明显的优势

附图说明

图1为da,ba,efwa和pso在十二个基准函数上的收敛曲线;(a)sphere函数;(b)schwefel函数;(c)rosenbrock函数;(d)ackley函数;(e)griewank函数;(f)rastrigin函数;(g)penalized函数;(h)six-humpcamel-back函数;(i)goldstein-price函数;(j)schaffer函数;(k)axisparallelhyperellipsoid函数;(l)rotatedhyperellipsoid函数。

具体实施方式:

为了验证da的有效性,我们将提出的算法与其他现有算法进行比较,包括蝙蝠算法(ba),粒子群优化算法(pso)和增强烟花算法(efwa)。仿真表明,所提出的算法在计算精度和收敛速度上比其他三种算法要好。

四种算法的参数设置如表1所示。

表1参数设置

在表1中,n是群体大小,a是响度,r是脉冲发射速率,m是火花的总数,a和b是限制种群大小范围的固定常数参数。amax是最大爆炸振幅,nm是突变蒲公英的数量。

本实验采用的12个典型的基准测试函数均来自全局优化测试函数库。其函数的基本特征如表2所示:

表2基准测试函数基本特征

表3da,ba,efwa和pso实现的平均值和标准偏差(精确到10-6)

表3显示了四个算法在十二个基准函数上的优化精度,平均为51次独立运行。可以看出,提出的da在大多数功能上明显优于ba,efwa和pso。在six-humpcamel-back函数中,四种算法几乎达到相同的精度。

除了优化精度之外,收敛速度对于优化是非常重要的。为了验证da的收敛速度,我们进行了更全面的实验。图1显示了da,ba,efwa和pso对十二个基准函数运行51次平均值的收敛曲线。从这些结果可以看出,在six-humpcamel-back函数中,四种算法具有相同的收敛速度。除此之外,我们可以得出结论,所提出的da具有比ba,efwa和pso快得多的速度。

从以上可以得出:本发明提出一种新型的蒲公英算法,从测试结果可以看出,da可以正确地找到最优解,并且在优化精度和收敛速度方面,明显优于ba,efwa和pso。

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