基于自适应变步长混沌狼群寻优算法的非线性函数求解方法与流程

文档序号:12123832阅读:578来源:国知局
基于自适应变步长混沌狼群寻优算法的非线性函数求解方法与流程

本发明涉及复杂非线性函数求解领域,尤其涉及一种基于自适应变步长混沌狼群寻优算法的非线性函数求解方法。



背景技术:

经过漫长的自然选择与生物进化,造就了自然界许多奇妙的群体智能现象,令人叹为观止的同时也给我们带来了无尽的科学启示。为了求解复杂非线性函数问题,人们提出了许多仿生群体智能寻优算法,如遗传算法(genetic algorithm,GA)、粒子群算法(particle swarm optimization,PSO)、人工蜂群算法(artificial bee colony,ABC)等。与传统寻优方法相比,群体智能算法实现简单、可以不受搜索空间和目标函数形态的制约,这为大量复杂非线性函数的求解提供了诸多选择。然而,随着研究的深入,研究者们逐渐发现这些群体智能寻优算法不同程度地都存在着一些不足,如算法计算精度不高、后期收敛速度较慢或易陷入局部最优等。这些存在的问题也激发着研究者们逐步探索新的群体智能方法,为人类解决复杂非线性函数求解问题提供了许多新的思路。

Yang等人于2007年仿生狼群捕食行为在文献(Yang Chenguang,Tu Xuyan,Chen Jie.Algorithm of marriage in honey bees optimization based on the wolf pack search[C]//Proceedings of IEEE Computer Society International Conference on Intelligent Pervasive Computing,Jeju Island,2007:462-467.)中提出一种群体智能优化算法—狼群搜索算法(wolf pack search algorithm,WPS),并将其成功地与ABC算法融合,应用于机器人路径规划优化中。随后WPS算法在工作流程优化(Ye Y,Yin J,Feng Z,et al.Wolf-pack algorithm for business process model syntactic and semantic structure verification in the workflow management environment[C]//IEEE Asia-Pacific Services Computing Conference.IEEE Computer Society,2010:694-699.)、电池充电增强管理系统优化(Hung T C,Huang S J,Pai F S,et al.Design of lithium-ion battery charging system enhanced with wolf pack algorithm[C]//International Conference on Innovations in Bio-Inspired Computing&Applications.IEEE,2012:195-200.)、PID参数优化(Wu H S,Zhang F M.A uncultivated wolf pack algorithm for high-dimensional functions and its application in parameters optimization of PID controller[C]//IEEE Congress on Evolutionary Computation,2014:1477-1482.)等方面得到了应用研究。虽然WPS算法有着良好的收敛速度,但是其存在求解精度不高、易陷入局部最优以及搜索越界降低收敛速度的不足。为弥补这个缺陷,周强等人于2013年以WPS算法为基础,引入领导者策略,在《计算机应用研究》2013年第30卷第9期2629-2632页刊载的“一种基于领导者策略的狼群搜索算法”文献中提出一种基于领导者策略的狼群搜索算法(leader wolf pack search algorithm,简称为LWPS算法),并通过数值实验研究表明,LWPS算法在收敛速度和求解精度方面比WPS算法、ABC算法、PSO算法及GA算法均有较大的提高。

但是,在深入研究中发现LWPS算法尚存在以下不足:(1)在竞争领导者狼时,各竞选狼随着搜索次数的不断增加,当前最优解也越趋近于局部最优解,此时竞选狼的搜索步长也应该越精细,以保证算法局部最优解的搜索精度,而LWPS算法中的搜索步长是一个常值,其不具备自适应调节能力,易影响局部最优解的搜索精度;(2)围攻行为要求人工狼具有较强的局部寻优能力,这就要求围攻步长能够随着迭代次数的增加自适应地调整,而LWPS算法中的围攻步长在算法迭代后期趋近于0,导致寻优无变化,易出现早熟收敛的现象。因此,LWPS算法的性能还有待于进一步改进。



技术实现要素:

针对上述存在问题,本发明对LWPS算法进行改进,并将其用于解决复杂非线性函数求解问题,提出一种基于自适应变步长混沌狼群寻优算法(chaos wolf optimization algorithm with adaptive variable step,CWOA)的非线性函数求解方法,旨在弥补LWPS算法的不足,丰富非线性函数求解的理论方法。

为了解决上述存在的技术问题,本发明是通过下述技术方案来实现的:

一种基于自适应变步长混沌狼群寻优算法(CWOA)的非线性函数求解方法,其具体实施步骤包括如下内容:

步骤一:初始化狼群

初始化狼群中人工狼的数目N,搜索空间维数D,搜索空间取值范围[wdmax,wdmin],最大迭代次数nmax,竞选首领狼的数目q,最大搜索次数Hmax,搜索方向h,搜索步长初始值stepa0,移动步长stepb,围攻阈值r0,围攻步长初始值stepc0,淘汰狼的个数m;利用Logistic混沌映射表达式(1)产生N个混沌变量,并按表达式(2)把混沌变量投影到寻优变量的取值区间,作为狼群的初始化位置;

Chaosn+1=μ×Chaosn(1-Chaosn)μ=4,Chaosn∈[0,1] (1)

式中,Chaos(0,1)为在区间[0,1]内均匀分布的混沌变量;

步骤二:竞争领导者狼

选取q匹适应度值较好的人工狼作为竞选者,让其在自己周围的h个方向按表达式(3)不断进行自适应变步长搜索,如果竞选狼搜索到的位置pkjd优于当前位置wjd,则进行位置移动,否则不移动;当竞选狼搜索次数H达到最大搜索次数Hmax,则结束搜索行为,选取位置最优的竞选狼作为领导者狼;

第j(j=1,2…,q)匹竞选狼在其周围第k(k=1,2…,h)个方向产生的搜索位置pkjd为:

pkjd=wjd+Chaos(-1,1)×α×stepa0 (3)

Chaos(-1,1)=-1+2×Chaos(0,1) (4)

式中,wjd是第j匹竞选狼在第d维的当前位置,Chaos(-1,1)为在区间[-1,1]内均匀分布的混沌变量,stepa0为搜索步长初始值,α为搜索步长自适应调节因子,0<α<1,α采用表达式(5)进行自适应确定:

步骤三:领导者狼召唤奔袭

其它人工狼向着领导者狼的位置奔袭移动,而且在奔袭的过程中继续搜索猎物并按表达式(6)进行位置更新;若人工狼更新后的位置gid优于当前位置wid,则进行位置移动,否则不移动;

第i匹人工狼更新后的位置gid为:

gid=wid+Chaos(-1,1)×stepb×(wld-wid) (6)

式中,wid是第i匹狼在第d维的当前位置,stepb是移动步长,wld为领导者狼在第d维的位置;

步骤四:包围猎物

领导者狼搜寻到猎物,通过嚎叫召唤同伴包围猎物,其他人工狼以领导者狼为中心展开包围,当满足预设的围攻阈值r0条件时,执行围攻行为,通过表达式(7)进行位置更新;人工狼对猎物进行围攻后,只有当更新后的位置优于原来位置时才进行位置移动,否则保持位置不变;最后,依照表达式(9)对更新后的位置进行越界处理;

式中,为第n代第i匹狼在第d维的当前位置,为第n+1代第i匹狼在第d维的当前位置,rand(0,1)为在区间[0,1]内产生的随机数,r0为预设的围攻阈值,stepc为围攻步长,其值随着迭代次数的增加而自适应地减小,表达式为式(8):

式中,stepc0为围攻步长初始值;n为当前迭代次数;

狼群围攻猎物后位置会发生变化,若不在搜索空间内,需要依照表达式(9)对更新后的位置进行越界处理:

步骤五:分配食物更新狼群

根据“优胜劣汰”的原则进行群体更新,去除狼群中最差的m匹人工狼,同时通过Logistic混沌映射表达式(1)产生m个混沌变量,并按表达式(2)把混沌变量投影到寻优变量的取值区间,替代最差的m匹人工狼,以保持种群的多样性;

步骤六:终止条件判断

判断是否达到最大迭代次数,若满足条件则退出循环,输出最优解;否则,转至步骤二。

由于采用上述技术方案,本发明提供的一种基于自适应变步长混沌狼群寻优算法(CWOA)的非线性函数求解方法具有这样的有益效果:

(1)为了提高人工狼的搜索精度,本发明对搜索步长进行了改进;改进公式中加入了自适应调节因子α,使算法在优良解域附近具有开辟新的解空间的能力,提高了算法的精细搜索能力;

(2)为了更好地适应人工狼的局部寻优要求,本发明对围攻步长公式进行了改进;改进公式中加入了随机调节因子rand(0,1),避免了围攻步长在迭代后期由于趋近于0而易出现早熟收敛的现象,使围攻行为具备全程自适应调节的能力;

(3)本发明利用混沌变量进行优化搜索,相对于随机搜索而言提高了寻优效率。

附图说明

图1是本发明方法的流程图;

图2是本发明实施例的收敛曲线对比图;其中a)是Matyas的收敛曲线,b)是Easom的收敛曲线,c)是Sumsquares的收敛曲线,d)是Sphere的收敛曲线,e)是Eggcrate的收敛曲线,f)是Six Hump Camel Back的收敛曲线,g)是Bohachevsky3的收敛曲线,h)是Bridge的收敛曲线,i)是Booth的收敛曲线,j)是Bohachevsky1的收敛曲线,k)是Ackley的收敛曲线,l)是Quadric的收敛曲线。

具体实施方式

下面结合附图及实施例对本发明进行进一步详细说明。

参见图1,是本发明方法的流程图,一种基于自适应变步长混沌狼群寻优算法(CWOA)的非线性函数求解方法,其具体实施步骤包括如下内容:

步骤一:初始化狼群

初始化狼群中人工狼的数目N,搜索空间维数D,搜索空间取值范围[wdmax,wdmin],最大迭代次数nmax,竞选首领狼的数目q,最大搜索次数Hmax,搜索方向h,搜索步长初始值stepa0,移动步长stepb,围攻阈值r0,围攻步长初始值stepc0,淘汰狼的个数m;利用Logistic混沌映射表达式(1)产生N个混沌变量,并按表达式(2)把混沌变量投影到寻优变量的取值区间,作为狼群的初始化位置;

Chaosn+1=μ×Chaosn(1-Chaosn)μ=4,Chaosn∈[0,1] (1)

式中,Chaos(0,1)为在区间[0,1]内均匀分布的混沌变量;

步骤二:竞争领导者狼

选取q匹适应度值较好的人工狼作为竞选者,让其在自己周围的h个方向按表达式(3)不断进行自适应变步长搜索,如果竞选狼搜索到的位置pkjd优于当前位置wjd,则进行位置移动,否则不移动;当竞选狼搜索次数H达到最大搜索次数Hmax,则结束搜索行为,选取位置最优的竞选狼作为领导者狼;

第j(j=1,2…,q)匹竞选狼在其周围第k(k=1,2…,h)个方向产生的搜索位置pkjd为:

pkjd=wjd+Chaos(-1,1)×α×stepa0 (3)

Chaos(-1,1)=-1+2×Chaos(0,1) (4)

式中,wjd是第j匹竞选狼在第d维的当前位置,Chaos(-1,1)为在区间[-1,1]内均匀分布的混沌变量,stepa0为搜索步长初始值,α为搜索步长自适应调节因子,0<α<1,α采用表达式(5)进行自适应确定:

步骤三:领导者狼召唤奔袭

其它人工狼向着领导者狼的位置奔袭移动,而且在奔袭的过程中继续搜索猎物并按表达式(6)进行位置更新;若人工狼更新后的位置gid优于当前位置wid,则进行位置移动,否则不移动;

第i匹人工狼更新后的位置gid为:

gid=wid+Chaos(-1,1)×stepb×(wld-wid) (6)

式中,wid是第i匹狼在第d维的当前位置,stepb是移动步长,wld为领导者狼在第d维的位置;

步骤四:包围猎物

领导者狼搜寻到猎物,通过嚎叫召唤同伴包围猎物,其他人工狼以领导者狼为中心展开包围,当满足预设的围攻阈值r0条件时,执行围攻行为,通过表达式(7)进行位置更新;人工狼对猎物进行围攻后,只有当更新后的位置优于原来位置时才进行位置移动,否则保持位置不变;最后,依照表达式(9)对更新后的位置进行越界处理;

式中,为第n代第i匹狼在第d维的当前位置,为第n+1代第i匹狼在第d维的当前位置,rand(0,1)为在区间[0,1]内产生的随机数,r0为预设的围攻阈值,stepc为围攻步长,其值随着迭代次数的增加而自适应地减小,表达式如式(8)所示:

式中,stepc0为围攻步长初始值;n为当前迭代次数;

狼群围攻猎物后位置会发生变化,若不在搜索空间内,需要依照表达式(9)对更新后的位置进行越界处理:

步骤五:分配食物更新狼群

根据“优胜劣汰”的原则进行群体更新,去除狼群中最差的m匹人工狼,同时通过Logistic混沌映射表达式(1)产生m个混沌变量,并按表达式(2)把混沌变量投影到寻优变量的取值区间,替代最差的m匹人工狼,以保持种群的多样性;

步骤六:终止条件判断

判断是否达到最大迭代次数,若满足条件则退出循环,输出最优解;否则,转至步骤二。

为了验证本发明方法的有效性,选取国际上常用的12个标准非线性测试函数进行测试,并将求解效果与基于领导者策略的狼群搜索算法(LWPS)以及经典的遗传算法(GA)、粒子群算法(PSO)进行比较。标准测试函数如表1所示。

表1标准测试函数

表1中所选函数涉及单峰、多峰、可分、不可分等多种特征的复杂非线性函数。单峰函数在定义域内只有全局最优值,没有局部极值;而多峰函数在定义域内有多个局部极值,相对单峰函数而言更加复杂。一般寻优算法在对多峰函数进行寻优时很容易陷入局部最优,较难找到多峰函数的全局最优值,所以多峰函数常被用来检验寻优算法的全局搜索性能和避免早熟收敛的能力。另外,若一个复合函数可用单变量函数之和表示则此函数为可分的,反之为不可分函数。由于不可分函数变量间关系复杂,因此对此类函数寻优相对更加困难。此外,搜索空间的维数也是个重要因素,很多对于低维函数效果很好的算法对于高维复杂函数的寻优效果却较差。表1中函数的变量维数从2维至30维,都是难度较大的复杂非线性函数寻优问题,具有很好的测试性,可较为全面的反应寻优算法的性能。

本发明方法基于Matlab R2013b用M语言编程实现,GA算法采用英国谢菲尔德大学(University of Sheffield)开发的算法工具箱,PSO算法采用美国北卡罗莱纳州大学(North Carolina A&T State University)的Brian教授开发的工具箱,LWPS算法根据周强等在《计算机应用研究》2013年第30卷第9期2629-2632页刊载的“一种基于领导者策略的狼群搜索算法”文献中提供的编程思路实现。各寻优算法的初始化规模皆设置为N=50,最大迭代次数设置为nmax=600,其它参数分别遵循Sriniva M等在《Computer》1994年第27卷第6期第17-26页刊载的“Genetic algorithms:a survey”文献、Kennedy J等在《IEEE International Conference on Neural Networks》1995年第4卷第1942-1948页刊载的“Particle swarm optimization”文献和周强等在《计算机应用研究》2013年第30卷第9期2629-2632页刊载的“一种基于领导者策略的狼群搜索算法”文献的基本原则,设置如表2所示。

表2算法参数表

为了直观地比较各优化算法的寻优精度和收敛速度,分别对每个测试函数随机进行寻优计算,分别得到其收敛曲线,如图2所示,其中a)是Matyas的收敛曲线,b)是Easom的收敛曲线,c)是Sumsquares的收敛曲线,d)是Sphere的收敛曲线,e)是Eggcrate的收敛曲线,f)是Six Hump Camel Back的收敛曲线,g)是Bohachevsky3的收敛曲线,h)是Bridge的收敛曲线,i)是Booth的收敛曲线,j)是Bohachevsky1的收敛曲线,k)是Ackley的收敛曲线,l)是Quadric的收敛曲线。由图2可以看出,与GA、PSO和LWPS算法相比,本发明提出的CWOA算法具有相对更高的寻优精度;而且能够更快的收敛到目标函数值,具有较快的收敛速度,在寻优精度和收敛速度方面表现出了较好的优越性,具有较好的寻优能力,能够更准、更快地寻找到复杂非线性函数的最优解。

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