一种基于动态Lipschitz下界估计的变策略群体全局优化方法技术

技术编号:12674515 阅读:76 留言:0更新日期:2016-01-07 18:52
一种基动态Lipschitz下界估计的变策略群体全局优化方法,在基本差分进化算法框架下,首先,对初始种群中的个体建立Lipschitz估计下界支撑面从而形成目标函数的初始下界估计;其次,根据种群个体的拥挤度,即各个体之间的平均距离将整个算法过程分为三个阶段,对各阶段设置不同的变异策略;然后,在第一和第二阶段,利用下界估计信息指导种群更新,在第三阶段,则根据下界估计信息有选择性的对个体进行评价并更新;最后,根据各阶段的更新结果,选取不同的个体建立Lipschitz下界支撑面来动态更新目标函数的下界估计信息。本发明专利技术计算代价较低、收敛速度快、不需要进行样本训练、不需要进行模型选择,且解的质量较高。

【技术实现步骤摘要】

本专利技术设及一种智能优化、计算机应用领域,尤其设及的是,一种基于k-近邻 Lipschitz下界估计的群体全局优化方法。
技术介绍
进化算法是基于自然选择和自然遗传等生物进化机制的一种随机性捜索算法,近 年来在经济、科学和工程等领域得到了广泛应用。典型的进化算法包括遗传算法(GA)、差分 进化算法值巧、粒子群算法(PS0)、进化策略巧巧和进化规划巧巧,尽管运些算法都源于不 同的思想,但是他们都有共同的特点:求解时不需要目标函数的导数信息,对函数的形态没 有要求,结构简单,易于实现,适用范围广,而且鲁棒性强。然而,由于算法需要大量的函数 评价次数,导致计算代价较高,尤其对于一些目标函数评价复杂的实际应用问题。例如,在 气化炉问题中,函数评价所花时间占整个算法运行时间的99 %。 针对上述问题,不少学者通过在进化算法中引入元模型或者代理模型来降低算法 的计算代价。进化算法中常用的函数近似模型有二次模型、克里格模型、神经网络模型和径 向基函数网络模型。在运些近似策略中,通过近似模型来估计原目标函数值,从而利用近似 值来求解原目标函数。然而,算法的性能高度依赖于近似模型的精确性,为了获得一个高精 度的近似模型,算法通常需要花费很长的时间来进行学习。另外,由于没有一个代理模型可 W适用于所有问题,模型的选择也是一项极具挑战性的工作,模型的选择直接影响着解的 质量。 近年来,基于元模型的函数逼近方法被引入到差分进化中来减少目标函数评价次 数,例如基于k-近邻预测的差分进化算法值E-kNN)和基于加速k-近邻预测的差分进化算 法值E-EkNN)。WN算法通过动态学习机制来建立目标函数的k-近邻估计模型,在算法进 化前期,对种群中的所有个体进行目标函数评价,并作为训练样本进行保存,当训练样本达 到一定数量后,不再对所有个体进行评价,而是通过新个体的近邻个体来预测目标函数值, 并通过对部分预测值较优的个体进行评价来更新样本,从而减少不必要的目标函数评价次 数。kr^N算法原理简单,但是为了获得更加精确的预测值,算法需要不断增加样本的数量,从 而导致极高的空间复杂度,因此不适合于高维问题的求解。 因此,现有基于估计的全局优化方法存在着缺陷,需要改进。
技术实现思路
为了克服现有的基于估计的全局优化方法模型选择困难、对模型的精确度高度依 赖、需要大量的内存保存样本个体等不足,本专利技术W基本差分进化算法为框架,基于k-近 邻预测中样本更新思想,结合Lipschitz下界估计理论,WLipschitz估计代替k-近邻算 法的样本训练,提出一种计算代价较低、收敛速度快、不需要进行样本训练、不需要进行模 型选择,且解的质量较高的基于动态Lipschitz下界估计的变策略群体全局优化方法。本专利技术解决其技术问题所采用的技术方案是: -种基于动态Lipschitz下界估计的变策略群体全局优化方法,假设问题维数为 N,所述方法包括W下步骤:[000引1)初始化:设置Lipschitz常数C,种群规模Np,交叉概率旬,增益常数F,进化代 数g= 0,连续代数T,个体重新评价数量n和n%各变量的下界曰,和上界b,,误差值e, 在各变量定义域范围内随机生成初始种群f= {xi''e,x2's,...,x-Yw}.,xi'B,i= 1,2,…,Np表示 第g代种群中的第i个个体; 。根据公式(1)计算出初始种群中各个体之间的平均距离;材) 其中,4表示第i个个体的第j维元素,4表示第ii个个体的第j维元素,N为问 题维数,Np为种群规模; 3)建立初始支撑矩阵: 3.1)根据公式似对N+1维单位单纯形区域S的各顶点进行转换得到点 X' 1,X' 2,...,x' N",没S知片货脚A占'0[001 引[001引其中,aj为崎的下界,b为4的上界,其中=(吟,片,...,输)为点 ^ =(―<,如…,切在S中的坐标值,上标k表示单位单纯形区域S的第k个顶点,N为问题 维数; 3.。根据公式(3)计算各点的支撑向量11,12,...,1^",式中^义勺表示义''对应的 目标函数值;[001 引口)[001引其中,C为Lipschitz常数,辞,為,…,媒1分别用皆,蛛,…,.斯代替; 3.扣建立初始矩阵支撑矩阵L= {11,I2,...,严}T,支撑矩阵L如公式(4);辨[00过其中,ki,k2,…,kNw为支撑矩阵的行标,1,2,…,N+1为支撑矩阵的列标, f=静,珍,…,獻I),i= 1,2,…,N+1,珍,i= 1,2,…,N+1,j= 1,2,…,N+1表示支持矩阵L的第ki行第j列的元素; 4)建立n叉树保存各下界估计值拟支撑矩阵L={11,I2,...,严}为根建立树;5)对初始种群P中每个个体xk'B,k= 1,2,…,Np建立Lipschitz支撑向量:[002引 5. 1)根据公式做计算xk'B的支撑向量1k,其中[002引 5.。根据条件关系式(5) (6)更新树: 其中,3表示存在;6)判断是否满足终止条件:计算出当前群体中的最优个体每。,和最差个体喊,如 果满足终止条件含S.,其中,e为允许误差,则保存结果并退出,否则进入 步骤7); 7)根据公式(1)计算出当前种群中各个体之间的平均距离巧,e; 8)对于种群中的每个目标个体xk'B,k= 1,2,…,化,执行交叉、变异操作产生新个 体瑞: 8. 1)根据公式(6)对执行变异操作,生成变异个体vk'B;[003引其中,j=1,2,…,N,N为问题维数,g为进化代数,a,b,cG{l,2,...,Np},a声b声c声K,K为当前目标个体的索引,vf为第g代种群中第i个目标个体的变异个体 的第j维元素,y';'e、吟9, 分别为第g代种群中第a、b、C个个体的第j维元素,xf为 当前第g代种群中的最优个体xbEst'B的第j维元素,F表示增益常数; 8. 2)根据公式(8)对变异个体执行交叉操作,生成新个体<三;[003引其中,近J表示第g代种群中第k个新个体的第j维元素,ran化(0, 1)表示为 产生0到1之间的随机小数,rnbr(j)表示随机产生1到N之间的整数; 9)计算每个新个体的下界估计值豬I;9. 1)根据公式(9)从树中找出包含XtfW的树叶在节点TreeNode;(9) 其中和皆分别表示所找的叶子节点矩阵中第k,行第j列 和第i列对应的元素; 9. 2)根据公式(10)计算出X結所在节点TreeNode的下界估计值说;:;[004引其中max表示求最大值,min表示求最小值,《为第k个支撑向量ik的第j维元 素; 10)更新种群和下界估计信息: 10. 1)如果半;,三^4。曲,.,则执行如下操作:[004引10. 1. 1)根据公式(11)更新种群:U!) 其中,/城,,)表示第g代种群中最优个体礁前目标函数值; 10. 1.。如果批'〇,则根据步骤55)建立X兹的Lipschitz下界支撑面, 并更新树;[005引10.。如果媒:< ,则执行如下操作: 10. 2. 1)根据当前种群中新个体的下界估计值记。1从小到大排序; 10. 2. 2)对前n个个体进行目标函数评价,其余个体的目标函数值则用下界估计 值代替;本文档来自技高网
...

【技术保护点】
一种基动态Lipschitz下界估计的变策略群体全局优化方法,其特征在于:所述全局优化方法包括以下步骤:1)初始化:设置Lipschitz常数C,种群规模NP,交叉概率CR,增益常数F,进化代数g=0,连续代数T,个体重新评价数量η和η*,各变量的下界aj和上界bj,误差值ε,在各变量定义域范围内随机生成初始种群xi,g,i=1,2,…,NP表示第g代种群中的第i个个体;2)根据公式(1)计算出初始种群中各个体之间的平均距离dinitial;dinitial=(Σi=1NPΣk=i+1NPΣj=1N(xji-xjk)2)/(NP(NP)/2)---(1)]]>其中,表示第i个个体的第j维元素,表示第k个个体的第j维元素,N为问题维数,NP为种群规模;3)建立初始支撑矩阵L:3.1)根据公式(2)对N+1维单位单纯形区域S的各顶点进行转换得到点x′1,x′2,...,x′N+1,S≡{x∈RN+1,xj≥0,Σj=1N+1xj=1};]]>xj&prime;k≡(xjk-aj)/Σj=1N(bj-aj)xN+1′k≡1-Σj=1Nxj′k,j=1,2,...,N---(2)]]>其中,aj为的下界,bj为的上界,其中为点在S中的坐标值,上标k表示单位单纯形区域S的第k个顶点,N为问题维数;3.2)根据公式(3)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;lk=(f(xk)C-x1k,f(xk)C-x2k,...,f(xk)C-xN+1k)---(3)]]>其中,C为Lipschitz常数,分别用代替;3.3)建立初始矩阵支撑矩阵L={l1,l2,...,lN+1}T,支撑矩阵L如公式(4);其中,k1,k2,…,kN+1为支撑矩阵的行标,1,2,…,N+1为支撑矩阵的列标,li=(l1ki,l2ki,...,lN+1ki),i=1,2,...,N+1,ljki,i=1,2,...,N+1,j=1,2,...,N+1]]>表示支持矩阵L的第ki行第j列的元素;4)建立n叉树保存各下界估计值:以支撑矩阵L={l1,l2,...,lN+1}为根建立树;5)对初始种群P中每个个体xk,g,k=1,2,…,NP建立Lipschitz支撑向量:5.1)根据公式(3)计算xk,g的支撑向量lk,其中5.2)根据条件关系式(5)(6)更新树:∀i,j∈{1,2,...,N+1},i≠j:likj>liki---(5)]]>∀r∉{k1,k2,...,kN+1},∃i∈{1,2,...,N+1}:Lii=lih≥lir---(6)]]>其中,表示存在;6)判断是否满足终止条件:计算出当前群体中的最优个体和最差个体如果满足终止条件其中,ε为允许误差,则保存结果并退出,否则进入步骤7);7)根据公式(1)计算出当前种群中各个体之间的平均距离8)对于种群中的每个目标个体xk,g,k=1,2,…,NP,执行交叉、变异操作产生新个体8.1)根据公式(6)对执行变异操作,生成变异个体vk,g;vjk,g=xja,g+F·(xjb,g-xjc,g),if daveg≥23dinitialxja,g+F·(xjbest,g-xja,g)+F·(xjb,g-xjc,g),if13dinitial≤daveg<23dinitialxjbest,g+F·(xja,g-xjb,g),otherwise---(7)]]>其中,j=1,2,…,N,N为问题维数,g为进化代数,a,b,c∈{1,2,...,Np},a≠b≠c≠K,K为当前目标个体的索引,为第g代种群中第i个目标个体的变异个体的第j维元素,分别为第g代种群中第a、b、c个个体的第j维元素,为当前第g代种群中的最优个体xbest,g的第j维元素,F表示增益常数;8.2)根据公式(8)对变异个体执行交叉操作,生成新个体xhial,jk,g={vjk,gif randb(0,1)≤CR or j=rnbr(j)xjk,gotherwise,j=1,2,...,N---(8)]]>其中,表示第g代种群中第k个新个体的第j维元素,randb(0,1)表示为产生0到1之间的随机小数,rnbr(j)表示随机产生...

【技术特征摘要】

【专利技术属性】
技术研发人员:张贵军周晓根郝小虎夏华栋徐东伟李章维
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

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

1