一种基于实数编码的小世界优化算法的制作方法

文档序号:6597655阅读:134来源:国知局

专利名称::一种基于实数编码的小世界优化算法的制作方法
技术领域
:本发明涉及优化领域,尤其涉及一种基于实数编码的小世界优化算法。
背景技术
:现有的优化技术大抵可分成基于传统优化算法的传统优化技术以及基于人工智能和知识工程的智能优化技术。随着优化对象日趋复杂化,设备运行所需的要求越来越高,智能优化技术逐渐成为优化技术研究的发展方向。优化算法作为优化技术的关键内容,直接决定了优化技术能否成功实施。优化算法主要包括传统的优化算法和智能的优化算法两大类。传统的优化算法包括枚举法、导数法、直接法、随机法等。这些传统的寻优方法通常都是沿着目标函数的梯度方向搜索,普遍存在着对输入敏感,迭代收敛速度慢,容易陷入局部极小等缺点。因此需解决的关键问题是如何避免陷入局部最优以及收敛性和收敛速度的问题。近年来,优化算法已经由传统的基于梯度信息或直接搜索的传统局部算法发展到了具有全局搜索特性的智能优化算法,相继出现了许多全局优化技术或智能优化算法。智能优化算法包括以遗传算法(GA,GeneticAlgorithm)为代表的基于生物进化理论的进化算法、基于金属热处理过程的模拟退火算法(SA,SimulatedAnnealing)、基于生物行为活动的蚁群优化(AC0,AntColonyOptimization)算法、粒子群优化(PS0,ParticleSwarmOptimization)算法,以及基于混沌现象的混沌优化算法(C0A,Chaos-basedOptimizationAlgorithm)等。新型的全局优化算法的出现在一定程度上提高了优化技术适用的范围和优化结果的可靠性。然而,智能优化算法并非完美,该类算法存在收敛速度慢、易发生早熟现象和搜索精度不高等缺点,而现有的混沌优化算法对于搜索空间小时效果显著,但当搜索空间大时搜索时间较长,不能令人满意,而且还存在对初值的依赖性较强的问题。为了提高优化性能,探索寻找新的优化算法具有很重要的意义,小世界网络理论在优化领域的应用近几年刚刚兴起。近期很多领域对小世界理论的不断研究和探索,其研究成果已经在互联网控制、艾滋病传播预测和生物学蛋白质网络动力学等许多领域得到了成功的应用,而小世界优化也是小世界网络应用的一个领域。小世界网络优化问题可以描述为在搜索空间中从候选解向最优解的信息传递过程,如果可以把解空间视为一个小世界网络,而其中的每个解个体视为该小世界网络中的一个节点,利用小世界现象有效的信息传递即可实现最优解的搜索。基于这种描述,我们即可建立优化和小世界网络的一种关联。小世界网络是集群系数大的局部短连接和较长连接构成的网络,所以在寻优过程中,小世界现象的有效信息快速传递这一特点,使得小世界成为一种新型的全局优化技术,其具有逃离局部极小,收敛速度更快,实现全局优化等很多优点。现有的初步的研究成果已经凸显小世界在优化方面所具有巨大的潜能。但是由于科学界对小世界网络理论的研究刚刚起步不久,对其各个方面的研究都不是很成熟,尤其是对小世界网络在优化领域中的应用在国内外更是很少见报道。在国外对小世界网络在优化领域方面的研究几乎没有。而在国内主要是西安交通大学对小世界4在优化方面的研究做了一些初步的探索,一种是基于二进制编码的小世界优化算法[杜海峰,庄健,张进华.用于函数优化的小世界优化算法[J].西安交通大学学报,2005,39(9):1011-1015];—种是基于十进制编码的小世界优化算法[李小虎,杜海峰,庄健,王孙安.基于小世界原理的模型降阶优化研究[J].西安交通大学学报,2009,43(1)]。这两种算法由于用到了编码和解码,所以存在编码串长,解码和编码计算繁琐等很多问题,尤其对于多参数的优化问题,应用二进制编码法和十进制编码法会更加繁琐。这些都会导致优化算法运行时间加长等缺陷,而且会影响优化精度。所以有待于我们对其作进一步的探索和研究。
发明内容本发明的目的是针对
背景技术
中所描述的目前二进制及十进制小世界算法存在的解码和编码计算繁琐等问题,提出了一种基于实数编码的小世界优化算法。其特征在于,包括以下步骤步骤一构造优化问题的适应度函数,进行算法初始化;步骤二随机产生实数编码的初始节点,计算每一个节点的适应度值;步骤三构造算法优化空间的初始节点集,并确定其中的最优初始节点;步骤四对节点集进行循环寻优,如果达到寻优精度或搜索代数大于最大搜索代数时,输出最优值和最优节点,算法结束;否则,进入步骤五;步骤五对节点集中的节点i进行第j次小世界局部短连接搜索或随机长连接搜索;j=j+l;如果j不大于临时局部网络的大小,返回步骤五;否则,i=j+1;如果i不大于节点个数,返回步骤五,否则进入步骤六;步骤六将由上述步骤搜索得到的节点作为下一代节点集合,找出其中的最优节点,返回步骤四。所述步骤一中的算法初始化包括设置节点个数m、搜索代数k、最大搜索代数K^、临时局部网络所含节点个数Ni、短连接搜索概率&、节点邻域l,给出理论最优值f、精度大小e以及与随机产生初始节点的个数有关的M值。所述步骤二中的节点为维数与被优化参数个数相同的向量,该向量每一维的值为与其对应的被优化参数在其参数取值范围内的实数取值。所述步骤三中的优化空间的维数与被优化参数个数相同。所述步骤三中的初始节点集依据适应度值由随机产生的初始节点中较优的m个节点组成。对所述适应度值从小到大进行排序,如果所求被优化对象的最优值为适应度函数的最小值,则取适应度值较小的前m个节点组成初始节点集,取其中适应度值最小的节点作为最优初始节点;如果所求被优化对象的最优值为适应度函数的最大值,则取适应度值较大的后m个节点组成初始节点集,取其中适应度值最大的节点作为最优初始节点。所述步骤五中的搜索过程为产生一个随机数rand,如果rand小于短连接搜索概率,则进行局部短连接搜索;否则,进行随机长连接搜索。所述优化算法对每一个节点进行&次搜索,并利用搜索得到的&个结果构造每一个节点的临时局部网络,选取网络中的最优节点作为该节点的下一代节点。所述局部短连接搜索为从所构造的邻域节点集中选取其中一个节点作为当前节点的临时局部网络中的一个节点;所述随机长连接搜索为从所构造的非邻域节点集中选取其中一个节点作为当前节点的临时局部网络中的一个节点。所述邻域节点集的构造过程为以当前节点为n维球面中心点,其中n为优化空间的维数,以节点邻域1为n维球面半径,构造n维球面;然后在所构造的球面内部产生较为均匀的3n。个坐标点集,从中选取n。个属于优化空间的坐标点构成小世界网络的邻域节点集。所述非邻域节点集的构造过程为在上述球面外部区域产生较为均匀的3n。个坐标点集,从中选取n。个属于优化空间的坐标点构成小世界网络的非邻域节点集。本发明应用实数编码方式避免了解码和编码所存在的繁琐性,很大程度地节约了算法的运行时间。对多参数问题优化也能够很快地搜索到最优解,而且具有较高的寻优精度,克服了二进制及十进制小世界算法的繁琐和搜索时间慢等缺点。图1:二维小世界网络节点邻域空间和非邻域空间构建图;图2:实数编码的小世界网络节点邻域空间和非邻域空间的构建流程图;图3:实数编码小世界优化算法主程序流程图。具体实施例方式下面结合附图,对优选实施例作详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。实施例一本发明提到的优化算法采用实数编码的方式,S卩被优化参数变量直接采用实数来表示,而非采用二进制或者十进制编码串。每一个参数用其参数取值范围内的一个实数来表示。根据优化问题中被优化参数的个数确定优化空间(可行解空间)的维数。设被优化参数的个数为n,则优化空间(可行解空间)维数为n,优化空间(可行解空间)记为Qn。因此小世界网络中每一代候选节点集(被优化参数向量集)记为、eQ,并且Vn二{^,U2,...,U丄其中m为节点的总数目。节点~GVn为XiGQn的实数编码。u,中的第r维被优化参数为《=I,=x"工《r《n,其中、为第r维参数变量在其取值范围内的实数取值。小世界网络节点ui邻域和非邻域节点集合记为C=^,A,...,4j,其中G七A,2n。为邻域节点和非邻域节点总数,其中邻域节点为n。个,非邻域节点为n。个。当采用实数编码方式构造小世界网络时,应用到了n维球面的球面公式和球面坐标点的坐标表示公式的知识,节点间的距离d(小j,C》=||小j-Cill为邻域节点或者非邻域节点与当前节点Ui(即n维球面的中心点Ci)的距离,第k代中的第i个节点Ui(k)的l邻域(即为1!维球面方程,=^;"-C,y中的半径r)的节点集合记为,<formula>formulaseeoriginaldocumentpage6</formula>,非邻域的节点集合记为,~W)=^|/<k-C,.I,Aer'},其中&为当前节点ui;1值的大小取决于参数变量取值范围大小,但不论参数变量取值范围多大,1的设定值比较小,以保证搜索的精度;小j是指当前节点ui的邻域节点或者是非邻域节点。以二维网络为例,描述小世界网络节点邻域空间和非邻域空间构建过程。在二维网络中,被优化参数的个数为两个,记为Ui(k)=Xi=[Xl,x2]。假设当前节点ui(k)=,即Xl=0,x2=0,以此节点为圆心(即一维球面一平面上圆的圆心C》,以节点邻域1=0.5为半径,分别在圆域内和圆域外各随机产生较为均匀的3n。个坐标点。由于被优化对象的每一个参数具有一定的取值范围,如果Ui(k)的坐标位于优化空间边缘的时候,以此坐标作为n维球面的中心所产生的共6n。个坐标点中会有少数的坐标点不属于优化空间,因此需要从3n。个坐标点中选取n。个点。如图2所示,从所产生的圆域内的坐标点集中选取其中n。个属于优化空间的节点构成节点集作为节点Ui(k)的邻域空间C(Ui(k));从圆域外的坐标点集中选取其中n。个属于优化空间的节点构成节点集作为节点Ui(k)的非邻域空间^(u,.(")。如图1所示,当前节点Ui(k)=的邻域节点和非邻域节点分布较为均匀,有利于搜索到全局最优解,且能够保证较高的搜索精度。实施例二通过Matlab对七个典型的复杂二维函数和两个复杂四维函数的仿真寻优来测试小世界优化算法的性能。七个典型二维函数如下Rosenbrock函数:F丄:minf(x"x2)=100(x^x/)2+(l-x》2XlG[—5.12,5.12],x2G[—5.12,5.12]Camel函数F2:minf(x"x2)=(4-2.lxj+x/3)xJ+XiX,(-4+4x22)x22XlG[-5.12,5.12],x2G[-5.12,5.12]Rastrigrin:函数F3:minf(Xi,x》=20+x/-lOcos(2JiXl)+x22-lOcos(2Jix2)XlG[-5.12,5.12],x2G[-5.12,5.12]x一5)).,,,见sin2、/x,2+;sc,2—0.5Schaffer,sf6函数jf4:min/(^,x2)=0.5+-^~~~~;-(i+o.oooi(X2+x22)2)2XlG[-lO,lO],x2G[-10,10]Schwefel,函数jf5:min/(a,;^)=-;^sin(^^J)-jc2sin(^^^j)XlG[-500,500],x2G[-500,500]Shubert函数F6:minf(x"x2)=_(sin(2x,1)+2sin(3x丄+2)+3sin(4x丄+3)+4sin(5x丄+4)+5sin(6.(sin(2x2+l)+2sin(3x2+2)+3sin(4x2+3)+4sin(5x2+4)+5sin(6x2+5))XlG[-lO,lO],x2G[-10,10]Hansen函数F7:minf(x"x2)=(cos(1)+2cos(x!+2)+3cos(2x!+3)+4cos(3x!+4)+5cos(4x!+5))(cos(2x2+l)+2cos(3x2+2)+3cos(4x2+3)+4cos(5x2+4)+5cos(6x2+5))XlG[_10,10],x2G[-10,10]两个四维函数如下F8:minf(x"x2,x3,x4)=|x丄|+1x21+1x31+1x41+1x丄|X|x21X|x31X|x41XlG[-10,10],x2G[-10,10],x3G[-10,10],x4G[-10,10]F9:min/(jc,,;^,;^,:^)-^^"4一16jc!2+5:^+《—16《+5jc2+jc34-16;)c32+5x3+jc:_16jc:+5;c4)XlG[-10,10],x2G[-10,10],x3G[-10,10],x4G[-10,10]将上述典型测试函数作为适应度函数,为了验证所提出的实数编码的小世界优化算法的优越性,仿真实验中首先将改进的实数编码的小世界优化算法(R-SWA)与遗传算法(GA),二进制编码的小世界算法(B-SWA)进行比较,考查其运行时间,适应值精度(即仿真结果)以及收敛率三个方面的效果,仿真的结果如表l所示。表1三种算法的寻优性能比较<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>从上表中可以看出改进了的小世界优化算法一实数编码的小世界优化算法运行时间要远比二进制编码的小世界优化算法的运行时间小。主要是因为采用实数编码的小世界算法不需要进行编码和解码,这样就大大降低了程序的冗余度,从而达到了縮短运行时间的目的,为我们将此优化算法更好地用于控制参数的优化奠定了理论基础。另外,改进了的实数小世界算法远好于遗传算法,不仅仿真时间小于遗传算法的仿真时间,而且寻优精度也要高于遗传算法。然后分别将实数编码的小世界优化算法和二进制编码的小世界优化算法用于对两个四维函数的寻优,寻优结果如表2所示。表2两种算法的寻优性能比较<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>从上表仿真结果可以表明优化参数较多,实数小世界优化算法在搜索时间和搜索精度方面较二进制编码的小世界算法的优越性要高。由于
背景技术
中所提到的十进制编码算法在应用于函数的寻优仿真中时,与二进制编码小世界算法非常相近,在算法的实现过程中,都需要进行解码和编码,唯一不同的是编码方式不同,一种是采用二进制编码,一种是采用十进制编码。因此,在对几种算法的仿真比较中,本发明实施例只对实数编码和二进制编码小世界算法进行了仿真比较。综上所述可以得出改进的实数小世界优化算法的优化具有仿真结果稳定,寻优精度高,运行时间短,适用性强(对于大于两个优化参数的对象也能够很快的搜索到最优解)等优点,可以考虑用于实时控制系统的控制器参数的优化设计。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。权利要求一种基于实数编码的小世界优化算法,其特征在于,包括以下步骤步骤一构造优化问题的适应度函数,进行算法初始化;步骤二随机产生实数编码的初始节点,计算每一个节点的适应度值;步骤三构造算法优化空间的初始节点集,并确定其中的最优初始节点;步骤四对节点集进行循环寻优,如果达到寻优精度或搜索代数大于最大搜索代数时,输出最优值和最优节点,算法结束;否则,进入步骤五;步骤五对节点集中的节点i进行第j次小世界局部短连接搜索或随机长连接搜索;j=j+1;如果j不大于临时局部网络的大小,返回步骤五;否则,i=i+1;如果i不大于节点个数,返回步骤五,否则进入步骤六;步骤六将由上述步骤搜索得到的节点作为下一代节点集合,找出其中的最优节点,返回步骤四。2.根据权利要求1所述的一种基于实数编码的小世界优化算法,其特征在于,所述步骤一中的算法初始化包括设置节点个数m、搜索代数k、最大搜索代数K^、临时局部网络所含节点个数Ni、短连接搜索概率Ps、节点邻域l,给出理论最优值f、精度大小e以及与随机产生初始节点的个数有关的M值。3.根据权利要求1所述的一种基于实数编码的小世界优化算法,其特征在于,所述步骤二中的节点为维数与被优化参数个数相同的向量,该向量每一维的值为与其对应的被优化参数在其参数取值范围内的实数取值。4.根据权利要求1所述的一种基于实数编码的小世界优化算法,其特征在于,所述步骤三中的优化空间的维数与被优化参数个数相同。5.根据权利要求1所述的一种基于实数编码的小世界优化算法,其特征在于,所述步骤三中的初始节点集依据适应度值由随机产生的初始节点中较优的m个节点组成。6.根据权利要求5所述的一种基于实数编码的小世界优化算法,其特征在于,对所述适应度值从小到大进行排序,如果所求被优化对象的最优值为适应度函数的最小值,则取适应度值较小的前m个节点组成初始节点集,取其中适应度值最小的节点作为最优初始节点;如果所求被优化对象的最优值为适应度函数的最大值,则取适应度值较大的后m个节点组成初始节点集,取其中适应度值最大的节点作为最优初始节点。7.根据权利要求1所述的一种基于实数编码的小世界优化算法,其特征在于,所述步骤五中的搜索过程为产生一个随机数rand,如果rand小于短连接搜索概率,则进行局部短连接搜索;否则,进行随机长连接搜索。8.根据权利要求7所述的一种基于实数编码的小世界优化算法,其特征在于,所述优化算法对每一个节点进行Ni次搜索,并利用搜索得到的Ni个结果构造每一个节点的临时局部网络,选取网络中的最优节点作为该节点的下一代节点。9.根据权利要求8所述的一种基于实数编码的小世界优化算法,其特征在于,所述局部短连接搜索为从所构造的邻域节点集中选取其中一个节点作为当前节点的临时局部网络中的一个节点;所述随机长连接搜索为从所构造的非邻域节点集中选取其中一个节点作为当前节点的临时局部网络中的一个节点。10.根据权利要求9所述的一种基于实数编码的小世界优化算法,其特征在于,所述邻域节点集的构造过程为以当前节点为n维球面中心点,其中n为优化空间的维数,以节点邻域1为n维球面半径,构造n维球面;然后在所构造的球面内部产生较为均匀的3n。个坐标点集,从中选取n。个属于优化空间的坐标点构成小世界网络的邻域节点集;所述非邻域节点集的构造过程为在上述球面外部区域产生较为均匀的3n。个坐标点集,从中选取n。个属于优化空间的坐标点构成小世界网络的非邻域节点集。全文摘要本发明公开了属于优化领域的一种基于实数编码的小世界优化算法。该算法在现有二进制小世界算法的基础上,提出了一种基于实数编码的小世界算法,在算法中构造了一种新的基于实数编码的局部短连接和随机长连接搜索算子。本发明应用实数编码方式避免了解码和编码所存在的繁琐性,很大程度地节约了算法的运行时间。对多参数问题优化也能够很快地搜索到最优解,而且具有较高的寻优精度,克服了二进制及十进制小世界算法的繁琐和搜索时间慢等缺点。文档编号G06F7/00GK101794209SQ20101010125公开日2010年8月4日申请日期2010年1月26日优先权日2010年1月26日发明者刘海瑞,王爽心,董旸申请人:北京交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1