CN104200073A - 一种基于局部Lipschitz估计的自适应群体全局优化方法 - Google Patents

一种基于局部Lipschitz估计的自适应群体全局优化方法 Download PDF

Info

Publication number
CN104200073A
CN104200073A CN201410407379.8A CN201410407379A CN104200073A CN 104200073 A CN104200073 A CN 104200073A CN 201410407379 A CN201410407379 A CN 201410407379A CN 104200073 A CN104200073 A CN 104200073A
Authority
CN
China
Prior art keywords
individual
formula
centerdot
lower bound
new
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410407379.8A
Other languages
English (en)
Inventor
张贵军
周晓根
郝小虎
秦传庆
梅珊
李章维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University of Technology ZJUT
Original Assignee
Zhejiang University of Technology ZJUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201410407379.8A priority Critical patent/CN104200073A/zh
Publication of CN104200073A publication Critical patent/CN104200073A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种基于局部Lipschitz估计的自适应群体全局优化方法,在群体进化算法框架下,结合Lipschitz估计理论,首先,设计参数自适应机制来动态调整各变异策略的参数,同时通过提取新个体的邻域信息建立下界支撑面,进而利用下界支撑面估计目标函数值来竞争选择各策略生成的新个体,并指导种群更新;其次,利用下界估计区域极值点快速枚举算法有效的识别出部分无效区域,并借助下界支撑面的下降方向作局部增强。

Description

一种基于局部Lipschitz估计的自适应群体全局优化方法
技术领域
本发明涉及一种智能优化、计算机应用领域,尤其涉及的是,一种基于局部Lipschitz估计的自适应群体全局优化方法。
背景技术
进化算法是模拟生物界的进化过程而产生的一种现代化优化方法,作为一种随机搜索方法,在各种实际优化问题的应用中展现了其独特的优越性。典型的进化算法包括差分进化算法(DE)、遗传算法(GA)、粒子群算法(PSO)、进化规划(EP)及进化策略(ES)。这些算法不仅不需要导数信息,对函数的性态没有要求,而且适用范围广、鲁棒性强。DE算法是由Storn和Price提出的,已被证明是进化算法中简单而最高效的随机性全局优化算法。DE算法通过群体内个体间的合作与竞争产生的群体智能指导优化搜索,具有算法通用,不依赖于问题信息,原理简单,易于实现,记忆个体最优解和种群内信息共享以及较强的全局收敛能力等特点,在电力系统、机械工程、通信、化工、光学及生物信息学等领域得到了广泛应用。
现有文献研究表明,DE算法的性能高度依赖于新个体生成策略(如变异、交叉操作)及其对应的控制参数(如种群规模NP、增益常数F和交叉概率CR)。由于不同的优化问题的数学特性不同,因此需要设置不同的策略及参数,不恰当的策略及参数设置不仅会导致算法计算代价较大(如函数评价次数)、收敛速度较慢,而且极易趋于早熟收敛而陷于局部最优解。此外,在进化过程中的不同阶段设置不同的进化策略及参数对提高算法的性能也至关重要。
针对上述问题,国内外学者相继提出了一些策略和参数自适应机制。参照文献1:Qin A K,Huang V L,Suganthan P N.Differential evolution algorithm withstrategy adaptation for global numerical optimization[J].IEEE Transactions onEvolutionary Computation,2009,13(2):398-417,即Qin A K,Huang V L,SuganthanP N.用于全局数值优化的策略自适应差分进化算法[J].IEEE进化计算,2009,13(2):398-417,Qin等人利用均匀分布对变异率和交叉率进行了调整,提出一种自适应差分进化算法(SaDE),通过一种学习过程来自适应调整变异策略及参数,从而使得进化过程的不同阶段自适应的调整新个体生成策略及参数,并引入拟牛顿局部搜索,增强算法的全局搜索能力。参照文献2:Zhang J Q,Sanderson A C.JADE:adaptive differential evolution with optional external archive[J].IEEETransactions on Evolutionary Computation,2009,13(5):945-958.即Zhang J Q,Sanderson A C.JADE:外部最优存档自适应差分进化算法[J].IEEE进化计算,2009,13(5):945-958;Zhang等人提出一种带有外部最优存档的自适应差分进化算法(JADE),对搜索过程中最优解进行存档,并自适应地调整了变异率和交叉率。参照文献3:Wang Y,Cai Z,Zhang Q.Differential evolution with composite trial vectorgeneration strategies and control parameters[J].IEEE Transactions on EvolutionaryComputation,2011,15(1):55-66.即Wang Y,Cai Z,Zhang Q.具有复合新个体生成策略和控制参数的差分进化算法[J].IEEE进化计算,2011,15(1):55-66,Wang等人提出一种具有复合新个体生成策略和控制参数的差分进化算法(CoDE),通过不同的生成策略与不同的控制参数随机组合来竞争产生新个体。参照文献4:MallipeddiR,Suganthan P N,Pan Q K,et al.Differential evolution algorithm with ensemble ofparameters and mutation strategies[J].Applied Soft Computing,2011,11(2):1679-1696.即Mallipeddi R,Suganthan P N,Pan Q K,et al.具有系综变异策略和参数的差分进化算法[J].应用软计算,2011,11(2):1679-1696,Mallipeddi等人[4]提出一种具有系综变异策略和参数的差分进化算法(EPSDE),对初始种群中的每个个体,从各自的策略和参数池中随机选择策略和参数,同时保留能够产生更好后代的策略和参数,否则重新初始化。这些算法取得了一定的效果,但是对于一些中等或大规模的高维优化问题,计算代价、收敛速度及可靠性仍然存在问题。
因此,现有自适应群体全局优化方法在计算代价、收敛速度及可靠性方面存在着缺陷,需要改进。
发明内容
为了克服现有的全局优化方法由参数设置敏感引起的计算代价、收敛速度及可靠性方面的不足,本发明提出一种计算代价较低,收敛速度较快,且可靠性较高的基于局部Lipschitz估计的自适应群体全局优化方法。
本发明解决其技术问题所采用的技术方案是:
一种基于局部Lipschitz估计的自适应群体全局优化方法,所述方法包括以下步骤:
1)初始化:设置常数C,种群规模NP,学习代数LG和各变量的下界ai和上界bi,置无效区域IR为空,代数G=0,均值CRm t=0.5,成功进入下一代的新个体的个数NS t=0,在各变量定义域范围内随机生成初始种群
2)建立n叉树保存各下界估计值:
2.1)根据公式(1)对单位单纯形区域的各顶点进行转换得到点x1,x2,...xN+1
x i = x i ′ Σ i = 1 N ( b i - a i ) + a i , i = 1,2 , . . . , N - - - ( 1 )
其中ai为xi的下界,bi为xi的上界,其中xi′为各顶点在S中的坐标值;
2.2)根据公式(2)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;
l k = ( f ( x k ) C - x 1 k , f ( x k ) C - x 2 k , . . . , f ( x k ) C - x N + 1 k ) - - - ( 2 )
其中,C为足够大的常数;
2.3)以支撑矩阵L={l1,l2,...,lN+1}为根建立树,支撑矩阵L如公式(4);
L = l 1 k 1 l 2 k 1 . . . l N + 1 k 1 l 1 k 2 l 2 k 2 . . . l N + 1 k 2 . . . . . . . . . . . . l 1 k N + 1 l 2 k N + 1 . . . l N + 1 k N + 1 - - - ( 3 )
3)判断是否满足终止条件:计算出当前群体中的最优个体xbest和最差个体xworst,如果满足终止条件(如|f(xbest)-f(xworst)|≤ε,其中,ε为允许误差),则保存结果并退出,否则进入步骤4);
4)利用参数自适应机制交叉、变异产生新个体:
4.1)任意选取四个个体{xa,xb,xc,xd|a,b,c,d∈{1,2,...,popSize},a≠b≠c≠d≠k};
4.2)分别根据公式(4)和(5)的变异策略对{xa,xb,xc,xd}执行变异操作,生成变异个体
x ^ k = x a + F k · ( x b - x c ) - - - ( 4 )
x ^ k = x pbest ψ + F k ( x a - x b ) + F k ( x c - x b ) - - - ( 5 )
其中,Fk=normrnd(0.5,0.3)表示第k个目标个体的增益常数,normrnd(0.5,0.3)表示产生均值为0.5,标准偏差为0.3的正态分布随机数,ψ表示[1,0.5NP]之间的随机整数,表示ψ个个体中的最优个体;
4.3)根据公式(6)分别对公式(4)和公式(5)产生的变异个体执行交叉操作,生成新个体
x trial t [ i ] = x ^ i k if ( randb ( 0,1 ) ≤ C Rk t or i = rnbr ( i ) x i k if ( randb ( 0,1 ) > C Rk t or i ≠ rnbr ( i ) i = 1,2 . . . , N - - - ( 6 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数,表示第t个变异策略生成的新个体,表示第k个目标个体对应的第t个变异策略的交叉概率,可根据公式(7)和(8)求得;
C Rk t = normrnd ( C Rm t , 0.1 ) - - - ( 7 )
C Rm t = Σ g = G - L G G - 1 Σ i = 1 N Sg t C RMi , g t Σ g = G - L G G - 1 N Sg t , ( t = 1 , . . . , T ; G > L G ) - - - ( 8 )
其中,normrnd(CRm t,0.1)表示生成均值为CRm t,标准偏差为0.1的正态分布随机数,表示第g代中第t个变异策略生成的新个体成功进入下一代的数目,表示第g代中第t个策略生成的新个体成功进入下一代的交叉概率值,T表示总共有T个变异策略;
5)找出离新个体最近的两个个体,并对其构建支撑向量:
5.1)根据公式(9)将xk转换到单位单纯形空间中得到xk′
x i ′ ≡ ( x i - a i ) / Σ i = 1 N ( b i - a i ) x N + 1 ′ ≡ 1 - Σ i = 1 N x i ′ , i = 1,2 , . . . , N - - - ( 9 )
5.2)根据公式(2)计算xk′的支撑向量lk
5.3)根据条件关系式(10)(11)更新树:
∀ i , j ∈ I , i ≠ j : l i k j > l i k i - - - ( 10 )
∀ r ∉ { k 1 , k 2 , . . . , k N + 1 } , ∃ i ∈ I : L ii = l i k i ≥ l i r - - - ( 11 )
其中,表示存在;
5.3.1)找出针对步骤5.2)构建的支撑向量lk不满足条件(11)的叶子节点;
5.3.2)用lk替换步骤5.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
5.3.3)判断步骤5.3.2)中产生的新的叶子节点是否满足条件关系式(10),如果满足,则保留,否则删除;
6)根据下界估计值竞争选择新个体:对个体进行如下操作:
6.1)根据公式(9)对个体作变换得到
6.2)根据公式(12)从树中找出包含个体的树叶在节点TreeNode,其中x*代替;
( x j * - x j k j ) < ( x i * - x i k j ) , i , j &Element; I , i &NotEqual; j - - - ( 12 )
其中为所找的叶子节点矩阵中的元素;
6.3)根据公式(13)计算出所在节点TreeNode的下界估计值其中xi代替;
H K ( x ) = max k &le; K min i = 1 , . . . N + 1 C ( l i k + x i ) - - - ( 13 )
其中max表示求最大值,min表示求最小值,xi为单位单纯形空间中的向量;
6.4)比较下界估计值的值,选择最小的新个体作为当前目标个体对应的新个体xtrial
7)选择:通过如下操作决定新个体xtrial是否可以替换其对应的目标个体xk
7.1)如果xtrial被包含在无效区域IR中,则保留xk不变,并转到步骤7.7),否则继续步骤7.2);
7.2)如果xtrial的下界估计值ytrial大于目标个体的函数值f(xk),则目标个体不变,并转到7.3),否则转到步骤7.7);
7.3)继续根据公式(14)计算出节点TreeNode所对应的下界估计区域的极小值dmin
d ( L ) = H K ( x min &prime; ) = C ( Trace ( L ) + 1 ) N + 1 - - - ( 14 )
其中Trace(L)表示矩阵的迹,即正对角线元素之和,其中L为支撑矩阵;
7.4)如果dmin大于当前最优值f(xbest),则将TreeNode所对应的区域视为无效区域,并加入IR中;
7.5)如果xtrial个体的目标函数值f(xtrial)小于f(xi),则xtrial个体取代目标个体xk,并继续步骤7.6),否则转到步骤7.7);
7.6)继续做局部增强,进行如下操作:
7.6.1)继续根据公式(15)计算出TreeNode对应区域的下界支撑函数的极小值点x′min,式中L用TreeNode对应的支撑矩阵代替;
x min &prime; ( L ) = d C - l i k - - - ( 15 )
7.6.2)根据公式(1)对x′min转换得到xmin
7.6.3)计算xmin对应的目标函数值f(xmin);
7.6.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
7.7)删除树并转到步骤3);
8)设置G=G+1,并转到步骤3)。
本发明的技术构思为:首先,设计参数自适应机制来动态调整各变异策略的参数,同时结合Lipschitz估计理论,通过提取新个体的邻域信息建立下界支撑面,进而利用下界支撑面估计目标函数值来竞争选择各策略生成的新个体,并指导种群更新;其次,利用下界估计区域极值点快速枚举算法有效的识别出部分无效区域,并借助下界支撑面的下降方向作局部增强。
本发明的有益效果表现在:一方面,根据进化过程中的反馈信息自适应的调整参数,同时利用下界支撑面估计目标函数值来竞争选择不同策略生成的新个体,并指导种群进化,有效的减少了函数评价次数;另一方面,利用下界估计区域极值点快速枚举算法有效的识别出部分无效区域,并借助下界支撑面的下降方向作局部增强,不仅提高了算法的可靠性,而且加快了算法的收敛速度。
附图说明
图1是根据下界估计值竞争选择各变异策略生成的新个体示意图。如图1所示,假设A和B分别为两种策略生成的新个体,对个体A的邻近个体C和D及个体B的邻近个体E和F构建下界支撑面,从而可以利用下界支撑面估计个体A的下界估计值及个体B的下界估计值因为小于则选择个体B为当前目标个体对应的新个体。
图2是利用下界信息指导种群更新示意图。如图2所示,假设G为目标个体,A为通过策略自适应机制选择出的新个体,因为其下界估计值大于G个体的目标函数值,则无需对新个体A作目标函数评价,且保留目标个体G;继续计算出A个体所在估计区域的极小值du,如果du大于当前种群的最优值,则将A个体所在的区域(即C与D之间的区域,不包括C和D)看作无效区域,并记录下来,且删除C和D个体的下界支撑面.再假设B为通过策略自适应机制选择出的新个体,且不在无效区域中,因为B个体的下界估计值小于目标个体G的目标函数值,则对新个体B作目标函数评价,由于B的目标函数值小于G的目标函数值,则新个体B取代目标个体G。为了进一步加快算法的收敛速度,继续计算出B个体所在下界估计区域的极值点Q(xu,d(xu)),及其在目标函数曲面上对应的点Q′(xu,f(xu))因为Q′对应的目标函数值小于B个体的函数值,则Q′取代B个体,同时删除E和F个体的下界支撑面。
图3是30维Griewank函数收敛曲线图。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图3,一种基于局部Lipschitz估计的自适应群体全局优化方法,包括以下步骤:
1)初始化:设置常数C,种群规模NP,学习代数LG和各变量的下界ai和上界bi,置无效区域IR为空,代数G=0,均值CRm t=0.5,成功进入下一代的新个体的个数NS t=0,在各变量定义域范围内随机生成初始种群
2)建立n叉树保存各下界估计值:
2.1)根据公式(1)对单位单纯形区域的各顶点进行转换得到点x1,x2,...,xN+1
x i = x i &prime; &Sigma; i = 1 N ( b i - a i ) + a i , i = 1,2 , . . . , N - - - ( 16 )
其中ai为xi的下界,bi为xi的上界,其中xi′为各顶点在S中的坐标值;
2.2)根据公式(2)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;
l k = ( f ( x k ) C - x 1 k , f ( x k ) C - x 2 k , . . . , f ( x k ) C - x N + 1 k ) - - - ( 17 )
其中,C为足够大的常数;
2.3)以支撑矩阵L={l1,l2,...,lN+1}为根建立树,支撑矩阵L如公式(4);
3)判断是否满足终止条件:计算出当前群体中的最优个体xbest和最差个体xworst,如果满足终止条件(如|f(xbest)-f(xworst)|≤ε,其中,ε为允许误差),则保存结果并退出,否则进入步骤4);
4)利用参数自适应机制交叉、变异产生新个体:
4.1)任意选取四个个体{xa,xb,xc,xd|a,b,c,d∈{1,2,...,popSize},a≠b≠c≠d≠k};
4.2)分别根据公式(4)和(5)的变异策略对{xa,xb,xc,xd}执行变异操作,生成变异个体
x ^ k = x a + F k &CenterDot; ( x b - x c ) - - - ( 19 )
x ^ k = x pbest &psi; + F k ( x a - x b ) + F k ( x c - x d ) - - - ( 20 )
其中,Fk=normrnd(0.5,0.3)表示第k个目标个体的增益常数,normrnd(0.5,0.3)表示产生均值为0.5,标准偏差为0.3的正态分布随机数,ψ表示[1,0.5NP]之间的随机整数,表示ψ个个体中的最优个体;
4.3)根据公式(6)分别对公式(4)和公式(5)产生的变异个体执行交叉操作,生成新个体
x trial t [ i ] = x ^ i k if ( randb ( 0,1 ) &le; C Rk t or i = rnbr ( i ) x i k if ( rnadb ( 0,1 ) > C Rk t or i &NotEqual; rnbr ( i ) i = 1,2 , . . . , N - - - ( 21 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数,表示第t个变异策略生成的新个体,表示第k个目标个体对应的第t个变异策略的交叉概率,可根据公式(7)和(8)求得;
C Rk t = normrnd ( C Rm t , 0.1 ) - - - ( 22 )
C Rm t = &Sigma; g = G - L G G - 1 &Sigma; i = 1 N Sg t C RMi , g t &Sigma; g = G - L G G - 1 N Sg t , ( t = 1 , . . . , T ; G > L G ) - - - ( 23 )
其中,normrnd(CRm t,0.1)表示生成均值为CRm t,标准偏差为0.1的正态分布随机数,表示第g代中第t个变异策略生成的新个体成功进入下一代的数目,表示第g代中第t个策略生成的新个体成功进入下一代的交叉概率值,T表示总共有T个变异策略;
5)找出离新个体最近的两个个体,并对其构建支撑向量:
5.1)根据公式(9)将xk转换到单位单纯形空间中得到xk′
x i &prime; &equiv; ( x i - a i ) / &Sigma; i = 1 N ( b i - a i ) x N + 1 &prime; &equiv; 1 - &Sigma; i = 1 N x i &prime; , i = 1,2 , . . . , N - - - ( 24 )
5.2)根据公式(2)计算xk′的支撑向量lk
5.3)根据条件关系式(10)(11)更新树:
&ForAll; i , j &Element; I , i &NotEqual; j : l i k j > l i k i - - - ( 25 )
其中,表示存在;
5.3.1)找出针对步骤5.2)构建的支撑向量lk不满足条件(11)的叶子节点;
5.3.2)用lk替换步骤5.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
5.3.3)判断步骤5.3.2)中产生的新的叶子节点是否满足条件关系式(10),如果满足,则保留,否则删除;
6)根据下界估计值竞争选择新个体:对个体进行如下操作:
6.1)根据公式(9)对个体作变换得到
6.2)根据公式(12)从树中找出包含个体的树叶在节点TreeNode,其中x*代替;
( x j * - x j k j ) < ( x i * - x i k j ) , i , j &Element; I , i &NotEqual; j - - - ( 27 )
其中为所找的叶子节点矩阵中的元素;
6.3)根据公式(13)计算出所在节点TreeNode的下界估计值其中xi代替;
H K ( x ) = max k &le; K min i = 1 , . . . N + 1 C ( l i k + x i ) - - - ( 28 )
其中max表示求最大值,min表示求最小值,xi为单位单纯形空间中的向量;
6.4)比较下界估计值的值,选择最小的新个体作为当前目标个体对应的新个体xtrial
7)选择:通过如下操作决定新个体xtrial是否可以替换其对应的目标个体xk
7.1)如果xtrial被包含在无效区域IR中,则保留xk不变,并转到步骤7.7),否则继续步骤7.2);
7.2)如果xtrial的下界估计值ytrial大于目标个体的函数值f(xk),则目标个体不变,并转到7.3),否则转到步骤7.7);
7.3)继续根据公式(14)计算出节点TreeNode所对应的下界估计区域的极小值dmin
d ( L ) = H k ( x min &prime; ) = C ( Trace ( L ) + 1 ) N + 1 - - - ( 29 )
其中Trace(L)表示矩阵的迹,即正对角线元素之和,其中L为支撑矩阵;
7.4)如果dmin大于当前最优值f(xbest),则将TreeNode所对应的区域视为无效区域,并加入IR中;
7.5)如果xtrial个体的目标函数值f(xtrial)小于f(xi),则xtrial个体取代目标个体xk,并继续步骤7.6),否则转到步骤7.7);
7.6)继续做局部增强,进行如下操作:
7.6.1)继续根据公式(15)计算出TreeNode对应区域的下界支撑函数的极小值点x′min,式中L用TreeNode对应的支撑矩阵代替;
x min &prime; ( L ) = d C - l i k - - - ( 30 )
7.6.2)根据公式(1)对x′min转换得到xmin
7.6.3)计算xmin对应的目标函数值f(xmin);
7.6.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
7.7)删除树并转到步骤3);
8)设置G=G+1,并转到步骤3)。
本实施例以经典的30维Griewank函数为实施例,一种基于局部Lipschitz估计的自适应群体全局优化方法,其中包含以下步骤:
1)初始化:设置常数C=322320,种群规模NP=30,学习代数LG=20和各变量的下界ai=-600和上界bi=600,置无效区域IR为空,代数G=0,均值CRm t=0.5,成功进入下一代的新个体的个数NS t=0,在各变量定义域范围内随机生成初始种群 P = { x 1 , x 2 , . . . , x N p } ;
2)建立n叉树保存各下界估计值:
2.1)根据公式(1)对单位单纯形区域的各顶点进行转换得到点x1,x2,...,xN+1
x i = x i &prime; &Sigma; i = 1 N ( b i - a i ) + a i , i = 1,2 , . . . , N - - - ( 31 )
其中ai为xi的下界,bi为xi的上界,其中xi′为各顶点在S中的坐标值;
2.2)根据公式(2)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;
l k = ( f ( x k ) C - x 1 k , f ( x k ) C - x 2 k , . . . , f ( x k ) C - x N + 1 k ) - - - ( 32 )
其中,C为足够大的常数;
2.3)以支撑矩阵L={l1,l2,...,lN+1}为根建立树,支撑矩阵L如公式(4);
L = l 1 k 1 l 2 k 1 . . . l N + 1 k 1 l 1 k 2 l 2 k 2 . . . l N + 1 k 2 . . . . . . . . . . . . l 1 k N + 1 l 2 k N + 1 . . . l N + 1 k N + 1 - - - ( 33 )
3)判断是否满足终止条件:计算出当前群体中的最优个体xbest和最差个体xworst,如果满足终止条件(如|f(xbest)-f(xworst)|≤ε,其中,ε为允许误差),则保存结果并退出,否则进入步骤4);
4)利用参数自适应机制交叉、变异产生新个体:
4.1)任意选取四个个体{xa,xb,xc,xd|a,b,c,d∈{1,2,...,popSize},a≠b≠c≠d≠k};
4.2)分别根据公式(4)和(5)的变异策略对{xa,xb,xc,xd}执行变异操作,生成变异个体
x ^ k = x a + F k &CenterDot; ( x b - x c ) - - - ( 34 )
x ^ k = x pbest &psi; + F k ( x a - x b ) + F k ( x c - x d ) - - - ( 35 )
其中,Fk=normrnd(0.5,0.3)表示第k个目标个体的增益常数,normrnd(0.5,0.3)表示产生均值为0.5,标准偏差为0.3的正态分布随机数,ψ表示[1,0.5NP]之间的随机整数,表示ψ个个体中的最优个体;
4.3)根据公式(6)分别对公式(4)和公式(5)产生的变异个体执行交叉操作,生成新个体
x trial t [ i ] = x ^ i k if ( randb ( 0,1 ) &le; C Rk t or i = rnbr ( i ) x i k if ( randb ( 0,1 ) > C Rk t or i &NotEqual; rnbr ( i ) i = 1,2 , . . . , N - - - ( 36 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数,表示第t个变异策略生成的新个体,表示第k个目标个体对应的第t个变异策略的交叉概率,可根据公式(7)和(8)求得;
C Rk t = normrnd ( C Rm t , 0.1 ) - - - ( 37 )
C Rm t = &Sigma; g = G - L G G - 1 &Sigma; i = 1 N S g t C RMi , g t &Sigma; g = G - L G G - 1 N S g t , ( t = 1 , . . . , T ; G > L G ) - - - ( 38 )
其中,normrnd(CRm t,0.1)表示生成均值为CRm t,标准偏差为0.1的正态分布随机数,表示第g代中第t个变异策略生成的新个体成功进入下一代的数目,表示第g代中第t个策略生成的新个体成功进入下一代的交叉概率值,T表示总共有T个变异策略;
5)找出离新个体最近的两个个体,并对其构建支撑向量:
5.1)根据公式(9)将xk转换到单位单纯形空间中得到xk′
x i &prime; &equiv; ( x i - a i ) / &Sigma; i = 1 N ( b i - a i ) x N + 1 &prime; &equiv; 1 - &Sigma; i = 1 N x i &prime; , i = 1,2 , . . . , N - - - ( 39 )
5.2)根据公式(2)计算xk′的支撑向量lk
5.3)根据条件关系式(10)(11)更新树:
&ForAll; i , j &Element; I , i &NotEqual; j : l i k j > l i k i - - - ( 40 )
&ForAll; r &NotElement; { k 1 , k 2 , . . . , k N + 1 } , &Exists; i &Element; I : L ii = l i k i &GreaterEqual; l i r - - - ( 41 )
其中,表示存在;
5.3.1)找出针对步骤5.2)构建的支撑向量lk不满足条件(11)的叶子节点;
5.3.2)用lk替换步骤5.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
5.3.3)判断步骤5.3.2)中产生的新的叶子节点是否满足条件关系式(10),如果满足,则保留,否则删除;
6)根据下界估计值竞争选择新个体:对个体进行如下操作:
6.1)根据公式(9)对个体作变换得到
6.2)根据公式(12)从树中找出包含个体的树叶在节点TreeNode,其中x*代替;
( x j * - x j k j ) < ( x i * - x i k j ) , i , j &Element; I , i &NotEqual; j - - - ( 42 )
其中为所找的叶子节点矩阵中的元素;
6.3)根据公式(13)计算出所在节点TreeNode的下界估计值其中xi代替;
H K ( x ) = max k &le; K min i = 1 , . . . N + 1 C ( l i k + x i ) - - - ( 43 )
其中max表示求最大值,min表示求最小值,xi为单位单纯形空间中的向量;
6.4)比较下界估计值的值,选择最小的新个体作为当前目标个体对应的新个体xtrial
7)选择:通过如下操作决定新个体xtrial是否可以替换其对应的目标个体xk
7.1)如果xtrial被包含在无效区域IR中,则保留xk不变,并转到步骤7.7),否则继续步骤7.2);
7.2)如果xtrial的下界估计值ytrial大于目标个体的函数值f(xk),则目标个体不变,并转到7.3),否则转到步骤7.7);
7.3)继续根据公式(14)计算出节点TreeNode所对应的下界估计区域的极小值dmin
d ( L ) = H K ( x min &prime; ) = C ( Trace ( L ) + 1 ) N + 1 - - - ( 44 )
其中Trace(L)表示矩阵的迹,即正对角线元素之和,其中L为支撑矩阵;
7.4)如果dmin大于当前最优值f(xbest),则将TreeNode所对应的区域视为无效区域,并加入IR中;
7.5)如果xtrial个体的目标函数值f(xtrial)小于f(xi),则xtrial个体取代目标个体xk,并继续步骤7.6),否则转到步骤7.7);
7.6)继续做局部增强,进行如下操作:
7.6.1)继续根据公式(15)计算出TreeNode对应区域的下界支撑函数的极小值点x′min,式中L用TreeNode对应的支撑矩阵代替;
x min &prime; ( L ) = d C - l i k - - - ( 45 )
7.6.2)根据公式(1)对x′min转换得到xmin
7.6.3)计算xmin对应的目标函数值f(xmin);
7.6.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
7.7)删除树并转到步骤3);
8)设置G=G+1,并转到步骤3)。
以30维Griewank函数为实施例,运行100次平均成功率为1.00,平均函数评价次数为8402,全局最小值为7.63507-006,收敛曲线图如图3所示。
以上阐述的是本发明给出的一个实施例表现出来的优良优化效果,显然本发明不仅适合上述实施例,而且可以应用到实际工程中的各个领域(如蛋白质结构预测,电力系统,路径规划等优化问题),同时在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。

Claims (1)

1.一种基于局部Lipschitz估计的自适应群体全局优化方法,其特征在于:所述全局优化方法包括以下步骤:
1)初始化:设置常数C,种群规模NP,学习代数LG和各变量的下界ai和上界bi,置无效区域IR为空,代数G=0,均值CRm t=0.5,成功进入下一代的新个体的个数Ns t=0,在各变量定义域范围内随机生成初始种群
2)建立n叉树保存各下界估计值:
2.1)根据公式(1)对单位单纯形区域的各顶点进行转换得到点x1,x2,...,xN+1
x i = x i &prime; &Sigma; i = 1 N ( b i - a i ) + a i , i = 1,2 , . . . , N - - - ( 1 )
其中ai为xi的下界,bi为xi的上界,其中x′i为各顶点在S中的坐标值;
2.2)根据公式(2)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;
l k = ( f ( x k ) C - x 1 k , f ( x k ) C - x 2 k , . . . , f ( x k ) C - x N + 1 k ) - - - ( 2 )
其中,C为足够大的常数;
2.3)以支撑矩阵L={l1,l2,...,lN+1}为根建立树,支撑矩阵L如公式(4);
L = l 1 k 1 l 2 k 1 &CenterDot; &CenterDot; &CenterDot; l N + 1 k 1 l 1 k 2 l 2 k 2 &CenterDot; &CenterDot; &CenterDot; l N + 1 k 2 &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; &CenterDot; l 1 k N + 1 l 2 k N + 1 &CenterDot; &CenterDot; &CenterDot; l N + 1 k N + 1 - - - ( 3 )
3)判断是否满足终止条件:计算出当前群体中的最优个体xbest和最差个体xworst,如果满足终止条件(如|f(xbest)-f(xworst)|≤ε,其中,ε为允许误差),则保存结果并退出,否则进入步骤4);
4)利用参数自适应机制交叉、变异产生新个体:
4.1)任意选取四个个体{xa,xb,xc,xd|a,b,c,d∈{1,2,...,popSize},a≠b≠c≠d≠k);
4.2)分别根据公式(4)和(5)的变异策略对{xa,xb,xc,xd}执行变异操作,生成变异个体
x ^ k = x a + F k &CenterDot; ( x b - x c ) - - - ( 4 )
x ^ k = x pbest &psi; + F k ( x a - x b ) + F k ( x c - x d ) - - - ( 5 )
其中,Fk=normrnd(0.5,0.3)表示第k个目标个体的增益常数,normrnd(0.5,0.3)表示产生均值为0.5,标准偏差为0.3的正态分布随机数,ψ表示[1,0.5NP]之间的随机整数,表示ψ个个体中的最优个体;
4.3)根据公式(6)分别对公式(4)和公式(5)产生的变异个体执行交叉操作,生成新个体
x trial t [ i ] = x ^ i k if ( randb ( 0,1 ) &le; C Rk t ) or i = rnbr ( i ) x i k if ( randb ( 0,1 ) > C Rk t ) or i &NotEqual; rnbr ( i ) i = 1,2 , . . . , N - - - ( 6 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数,表示第t个变异策略生成的新个体,表示第k个目标个体对应的第t个变异策略的交叉概率,可根据公式(7)和(8)求得;
C Rk t = normrnd ( C Rm t , 0.1 ) - - - ( 7 )
C Rm t = &Sigma; g = G - L G G - 1 &Sigma; i = 1 N Sg t C RMi , g t &Sigma; g = G - L G G - 1 N Sg t , ( t = 1 , . . . , T ; G > L G ) - - - ( 8 )
其中,normrnd(CRm t,0.1)表示生成均值为CRm t,标准偏差为0.1的正态分布随机数,表示第g代中第t个变异策略生成的新个体成功进入下一代的数目,表示第g代中第t个策略生成的新个体成功进入下一代的交叉概率值,T表示总共有T个变异策略;
5)找出离新个体最近的两个个体,并对其构建支撑向量:
5.1)根据公式(9)将xk转换到单位单纯形空间中得到xk′
x i &prime; &equiv; ( x i - a i ) / &Sigma; i = 1 N ( b i - a i ) x N + 1 &prime; &equiv; 1 - &Sigma; i = 1 N x i &prime; , i = 1,2 , . . . , N - - - ( 9 )
5.2)根据公式(2)计算xk′的支撑向量lk
5.3)根据条件关系式(10)(11)更新树:
&ForAll; i , j &Element; I , i &NotEqual; j : l i k j > l i k i - - - ( 10 )
&ForAll; r &NotElement; { k 1 , k 2 , . . . , k N + 1 } , &Exists; i &Element; I : L ii = l i k i &GreaterEqual; l i r - - - ( 11 )
其中,表示存在;
5.3.1)找出针对步骤5.2)构建的支撑向量lk不满足条件(11)的叶子节点;
5.3.2)用lk替换步骤5.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
5.3.3)判断步骤5.3.2)中产生的新的叶子节点是否满足条件关系式(10),如果满足,则保留,否则删除;
6)根据下界估计值竞争选择新个体:对个体进行如下操作:
6.1)根据公式(9)对个体作变换得到
6.2)根据公式(12)从树中找出包含个体的树叶在节点TreeNode,其中x*代替;
( x j * - x j k j ) < ( x i * - x i k j ) , i , j &Element; I , i &NotEqual; j - - - ( 12 )
其中为所找的叶子节点矩阵中的元素;
6.3)根据公式(13)计算出所在节点TreeNode的下界估计值其中xi代替;
H k ( x ) = max k &le; K min i = 1 , . . . N + 1 C ( l i k + x i ) - - - ( 13 )
其中max表示求最大值,min表示求最小值,xi为单位单纯形空间中的向量;
6.4)比较下界估计值的值,选择最小的新个体作为当前目标个体对应的新个体xtrial
7)选择:通过如下操作决定新个体xtrial是否可以替换其对应的目标个体xk
7.1)如果xtrial被包含在无效区域IR中,则保留xk不变,并转到步骤7.7),否则继续步骤7.2);
7.2)如果xtrial的下界估计值ytrial大于目标个体的函数值f(xk),则目标个体不变,并转到7.3),否则转到步骤7.7);
7.3)继续根据公式(14)计算出节点TreeNode所对应的下界估计区域的极小值dmin
d ( L ) = H K ( x min &prime; ) = C ( Trace ( L ) + 1 ) N + 1 - - - ( 14 )
其中Trace(L)表示矩阵的迹,即正对角线元素之和,其中L为支撑矩阵;
7.4)如果dmin大于当前最优值f(xbest),则将TreeNode所对应的区域视为无效区域,并加入LR中;
7.5)如果xtrial个体的目标函数值f(xtrial)小于f(xi),则xtrial个体取代目标个体xk,并继续步骤7.6),否则转到步骤7.7);
7.6)继续做局部增强,进行如下操作:
7.6.1)继续根据公式(15)计算出TreeNode对应区域的下界支撑函数的极小值点x′min,式中L用TreeNode对应的支撑矩阵代替;
x min &prime; ( L ) = d C - l i k - - - ( 15 )
7.6.2)根据公式(1)对x′min转换得到xmin
7.6.3)计算xmin对应的目标函数值f(xmin);
7.6.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
7.7)删除树并转到步骤3);
8)设置G=G+1,并转到步骤3)。
CN201410407379.8A 2014-08-19 2014-08-19 一种基于局部Lipschitz估计的自适应群体全局优化方法 Pending CN104200073A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410407379.8A CN104200073A (zh) 2014-08-19 2014-08-19 一种基于局部Lipschitz估计的自适应群体全局优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410407379.8A CN104200073A (zh) 2014-08-19 2014-08-19 一种基于局部Lipschitz估计的自适应群体全局优化方法

Publications (1)

Publication Number Publication Date
CN104200073A true CN104200073A (zh) 2014-12-10

Family

ID=52085366

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410407379.8A Pending CN104200073A (zh) 2014-08-19 2014-08-19 一种基于局部Lipschitz估计的自适应群体全局优化方法

Country Status (1)

Country Link
CN (1) CN104200073A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260772A (zh) * 2015-11-18 2016-01-20 浙江工业大学 一种基于多策略的阶段性群体全局优化方法
CN105912885A (zh) * 2016-04-08 2016-08-31 浙江工业大学 一种基于群体Lipschitz下界估计的蛋白质结构预测方法
CN109154798A (zh) * 2016-05-09 2019-01-04 1Qb信息技术公司 用于改进随机控制问题的策略的方法和系统
CN109977509A (zh) * 2019-03-15 2019-07-05 北京航空航天大学 一种基于交替Lipschitz搜索策略的确定结构响应区间的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260772A (zh) * 2015-11-18 2016-01-20 浙江工业大学 一种基于多策略的阶段性群体全局优化方法
CN105912885A (zh) * 2016-04-08 2016-08-31 浙江工业大学 一种基于群体Lipschitz下界估计的蛋白质结构预测方法
CN105912885B (zh) * 2016-04-08 2018-04-20 浙江工业大学 一种基于群体Lipschitz下界估计的蛋白质结构预测方法
CN109154798A (zh) * 2016-05-09 2019-01-04 1Qb信息技术公司 用于改进随机控制问题的策略的方法和系统
CN109977509A (zh) * 2019-03-15 2019-07-05 北京航空航天大学 一种基于交替Lipschitz搜索策略的确定结构响应区间的方法
CN109977509B (zh) * 2019-03-15 2020-07-31 北京航空航天大学 一种基于交替Lipschitz搜索策略的确定结构响应区间的方法

Similar Documents

Publication Publication Date Title
CN103164742B (zh) 一种基于粒子群优化神经网络的服务器性能预测方法
Chen et al. A hybrid immune multiobjective optimization algorithm
CN104134221A (zh) 一种基于自适应遗传算法和otsu算法的图像分割方法
CN104200073A (zh) 一种基于局部Lipschitz估计的自适应群体全局优化方法
CN105160196A (zh) 一种基于动态变异策略的群体全局优化方法
CN105974799A (zh) 一种基于差分进化-局部单峰采样算法的模糊控制系统优化方法
CN105224987A (zh) 一种基于动态Lipschitz下界估计的变策略群体全局优化方法
CN110276437A (zh) 基于Fuch映射的混合改进灰狼优化算法
CN108460548A (zh) 一种基于改进灰狼算法的多金属露天矿生产作业计划编制方法
Jinhu et al. Applying principal component analysis and weighted support vector machine in building cooling load forecasting
CN109858798B (zh) 关联改造措施与电压指标的电网投资决策建模方法及装置
CN104050505A (zh) 一种基于带学习因子蜂群算法的多层感知器训练方法
CN105807609A (zh) 一种基于多参数的矿井喷淋换热效率计算方法的喷淋系统
CN104715124A (zh) 一种基于云模型差分演化算法的桁架尺寸优化设计方法
Xiong et al. Recursive learning for sparse Markov models
CN103970985A (zh) 一种基于局部抽象凸估计的群体全局优化方法
CN104732067A (zh) 一种面向流程对象的工业过程建模预测方法
Hakimi-Asiabar et al. Multi-objective genetic local search algorithm using Kohonen’s neural map
CN103279796A (zh) 一种优化遗传算法进化质量的方法
Dai et al. Feature selection of high-dimensional biomedical data using improved SFLA for disease diagnosis
CN110516785A (zh) 一种基于粒子群和鲸鱼群的求解双层线性规划混合算法
Bi et al. Self-adaptive Teaching-learning-based Optimizer with Improved RBF and Sparse Autoencoder for Complex Optimization Problems
CN105511270B (zh) 一种基于协同进化的pid控制器参数优化方法和系统
CN104598741B (zh) 一种车道饱和度预测模型的构建方法
CN103793602A (zh) 一种基于群体抽象凸下界支撑面的全局优化方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20141210

RJ01 Rejection of invention patent application after publication