CN103970985A - 一种基于局部抽象凸估计的群体全局优化方法 - Google Patents

一种基于局部抽象凸估计的群体全局优化方法 Download PDF

Info

Publication number
CN103970985A
CN103970985A CN201410138893.6A CN201410138893A CN103970985A CN 103970985 A CN103970985 A CN 103970985A CN 201410138893 A CN201410138893 A CN 201410138893A CN 103970985 A CN103970985 A CN 103970985A
Authority
CN
China
Prior art keywords
formula
trial
individual
individuality
lower bound
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
CN201410138893.6A
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 CN201410138893.6A priority Critical patent/CN103970985A/zh
Publication of CN103970985A publication Critical patent/CN103970985A/zh
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

一种基于局部抽象凸估计的群体全局优化方法,在群体进化算法框架下,结合抽象凸理论,提出一种基于局部抽象凸估计的群体全局优化方法。通过对新生成个体的邻域信息构建松弛优化模型,基于分段线性凸包络的几何特征设计松弛模型的高效极值点枚举算法;进而在更新环节,利用下界信息安全排除无效区域,从而减少了函数的评价次数,提高了算法的可靠性;同时利用支撑面的下降方向作局部增强,进一步加快了算法的收敛速度;提出的方法只对新生成个体的领近个体构建支撑面,降低了算法的计算复杂度和空间复杂度。

Description

一种基于局部抽象凸估计的群体全局优化方法
技术领域
本发明涉及一种智能优化、计算机应用领域,尤其涉及的是,一种基于局部抽象凸估计的群体全局优化方法。
背景技术
在实际工程应用中,许多优化问题往往需要得到一个全局最优解。基于梯度的拟牛顿法、共轭梯度法等传统方法,以及Nelder-Mead、Hooke-Jeeves等直接搜索方法本质上都属于一类局部搜索方法,解的质量直接取决于起始点的选择,对于一些复杂的优化问题,这些方法基本上不可能得到问题的全局最优解。
Floudas等提出的αBB通过构建不断收紧的下界凸包络来逼近目标函数,从而求得问题的局最优解,然而,α的求解是一个极其富有挑战性的工作,且没有一个有效的方法可以廉价的确定的值。相对而言,Rubinov等提出的抽象凸理论通过构建目标函数的下界支撑面将目标问题转化为组合优化问题,并通过高效的枚举方法快速的得到目标函数的下界估计值,但是为了获得理想的精度,抽象凸算法需要构建大量的支撑向量,并需要极大的空间来保存各下界估计值,结果导致极高的计算复杂度和空间复杂度,对于一些复杂的高维的问题难以求得全局最优解。
Storn等提出的差分进化算法(DE)通过种群内个体间的合作与竞争实现对优化问题的求解,具有能够记忆个体最优解,种群内信息共享及易与其他算法结合的特点;虽然在电力系统、化学工程以及生物信息学等领域的广泛应用中,展现出了其独特的优势,但在理论和应用中也暴露出诸多不足和缺陷,如计算代价(如函数的评价次数)较高,后期收敛速度慢,极容易趋于早熟收敛而陷于局部最优解,可靠性较低。
为了提高DE算法的性能,国内外学者相继提出了一些改进差分进化算法。Ali和Kaelo提出了基于锦标赛机制,同时采用反射与收缩算子的改进算法DERL和DERB,Qin和Suganthan提出了一种自适应差分进化算法(SaDE),利用均匀分布对变异率和交叉率进行了调整,并引入拟牛顿局部搜索,增强算法的全局搜索能力;Rahnamayan等提出了反向差分进化算法(ODE),引入了一种反向学习技术, 一定程度上能够防止算法陷入局部最优解;Zhang和Sanderson提出了一种带有外部最优存档的自适应差分进化算法(JADE),对搜索过程中最优解进行存档,并自适应地调整了变异率和交叉率。这些算法对于一些低维问题取得了较好的效果,但是对于一些中等或大规模的高维优化问题,收敛速仍然是算法的瓶颈所在,而且也极容易陷于局部最优解,出现早熟现象。
因此,现有的差分进化算法在可靠性及复杂度方面存在着缺陷,需要改进。
发明内容
为了克服现有的全局优化方法的计算复杂度高、可靠性较低的不足,本发明提出一种可靠性较高,复杂度较低,且收敛速度较快的基于局部抽象凸估计的群体全局优化方法。
本发明解决其技术问题所采用的技术方案是:
一种基于局部抽象凸估计的群体全局优化方法,所述方法包括以下步骤:
1)参数初始化:设置常数M,增益常数F,交叉概率CR,群体规模PopSize,各变量的下界ai和上界bi
2)建立n叉树保存各下界估计值:2.1)根据公式(1)对单位单纯形区域S的各顶点进行转换得到点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 = ( x 1 k f ( x k ) , x 2 k f ( x k ) , . . . , x N + 1 k f ( x k ) ) - - - ( 2 )
由于目标函数f(x)必须为满足公式(3)的函数
i ) ∀ x , y ∈ R + N , x > y ⇒ f ( x ) ≥ f ( y ) ii ) ∀ x ∈ R + N , ∀ λ ∈ R + + : f ( λx ) = λf ( x ) - - - ( 3 )
其中,表示任意, R + N = { x ∈ R N : x i ≥ 0 , i = 1,2 , . . . , N } , R + + N = { x ∈ R N : x i > 0 , 在计算支撑向量时,应对公式(2)中的f(xk)加上一个足够大 的常数M,使其满足式(3);
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 - - - ( 4 )
3)在各变量定义域范围[ai,bi]内随机生成PopSize个个体作为初始群体;
4)计算出当前群体中的最优个体xbest,如果满足终止条件(如|f(xbest)-Optimum|≤ε,其中Optimum为目标函数的全局最优值,ε为允许误差),则保存结果并退出,否则进入步骤5);
5)交叉、变异产生新个体trial:
5.1)任意选取三个个体{xa,xb,xc|a,b,c∈{1,2,...,popSize},a≠b≠c≠k};
5.2)根据公式(5)对{xa,xb,xc}执行变异操作,生成变异个体
x ^ k = x a + F · ( x b - x c ) - - - ( 5 )
5.3)根据公式(6)对目标个体xk和变异个体执行交叉操作,生成测试个体trial:
troal [ i ] = x ^ i k if ( randb ( 0,1 ) ≤ CR or i = rnbr ( i ) x i k if ( randb ( 0,1 ) > CR ir i ≠ rnbr ( i ) i = 1,2 , . . . , N - - - ( 6 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数;
6)找出离新个体trial最近的两个个体,并对其构建支撑向量:
6.1)根据公式(7)将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 - - - ( 7 )
6.2)根据公式(2)计算xk′的支撑向量lk
6.3)根据条件关系式(8)(9)更新树:
∀ i , j ∈ I , i ≠ j : l i k i > l i k j - - - ( 8 )
∀ v ∈ Λ k \ L , ∃ i ∈ I : l i k i ≤ v i - - - ( 9 )
其中v∈Λk\L表示v属于Λk但不属于L, 表示存在;
6.3.1)找出针对步骤6.2)构建的支撑向量lk不满足条件(9)的叶子节点,式中vi=lk
6.3.2)用lk替换步骤6.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
6.3.3)判断步骤6.3.2)中产生的新的叶子节点是否满足条件关系式(8),如果满足,则保留,否则删除;
7)对trail个体进行如下操作:
7.1)根据公式(7)对trial个体作变换得到trial′;
7.2)根据公式(10)从树中找出包含trial′个体的树叶在节点TreeNode,其中用trial′代替;
x j k j x ^ i r > x i k j x ^ j r , i , j ∈ I , i ≠ j - - - ( 10 )
其中为所找的叶子节点矩阵中的元素;
7.3)根据公式(11)计算出trial′所在节点TreeNode的下界估计值ytrial,其中xi用trial′代替;
H K ( x ) = max k ≤ K min i = 1 , . . . N + 1 x i l i k - - - ( 11 )
其中max表示最大,min表示最小,xi为单位单纯形空间中的向量;
7.4)如果ytrial大于目标个体的函数值f(xk),则目标个体不变;
7.5)如果ytrial小于目标个体的函数值f(xk),且trial个体的目标函数值f(trial)小于f(xk),则trial个体取代目标个体xk,并继续步骤8),否则删除树 并转到步骤4);
8)继续做局部增强,进行如下操作:
8.1)继续根据公式(12)计算出TreeNode对应区域的下界支撑函数的极小值点 式中L用TreeNode对应的支撑矩阵代替;
x min ' ( L ) = diag ( L ) / Trace ( L ) - - - ( 12 )
其中diag表示正对角线上的元素,Trace表示矩阵的迹,即正对角线元素之和,其中L为支撑矩阵;
8.2)根据公式(1)对转换得到xmin
8.3)计算xmin对应的目标函数值f(xmin);
8.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
9)设置count=count+1,删除树并转到步骤4)。
本发明的技术构思为:在群体进化算法框架下,利用抽象凸理论,先对新生成个体的邻域信息建立松弛优化模型,通过分析分段线性凸包络的几何特征设计松弛模型的高效极值点枚举算法;再利用下界信息指导种群更新,设计实现了抽象凸理论与进化算法的协同优化框架。
本发明的有益效果表现在:一方面,利用抽象凸下界信息指导群体进化,进而安全排除局部极小值区域,提高了解的可信性和算法的可靠性;同时借助下界支撑面的下降方向作局部增强,加快了算法的收敛速度;另一方面,只对新个体的邻域信息构建支撑面,降低了算法的计算复杂度和空间复杂度。
附图说明
图1是原定义域转换为单位单纯形空间示意图,其中,(A)为原定义域,(B)为单位单纯形空间。
图2是局部抽象凸估计群体全局优化方法中trial个体更新过程示意图。如图2所示,假设A为目标个体,B为新生成个体trial,找出离B个体最近的两个个体C和D,并构建下界支撑面,计算出B个体的下界估计值yuB,因为yuB大于A个体的目标值,则不作更新,且删除C和D个体的下界支撑面;再假设E为目标个体,F为新生成个体trial,针对离其最近的两个个体G和H构建下界支撑面, 并计算出F个体的下界估计值yuF,因为yuF小于E个体的目标值,且F的目标函数值小于E的目标值,则F个体取代E个体。为了加快算法的收敛速度,继续计算出F个体所在区域的下界支撑函数的极值点Q(xu,d(xu)),及其在目标函数上对应的点Q′(xu,f(xu)),因为Q′的对应目标函数值小于F个体的函数值,则Q′取代F个体,同时删除G和H个体的下界支撑面,这样完成种群的更新过程。
具体实施方式
下面结合附图对本发明作进一步描述。
参照图1~图2,一种基于局部抽象凸估计的群体全局优化方法,包括以下步骤:
1)参数初始化:设置常数M,增益常数F,交叉概率CR,群体规模PopSize,各变量的下界ai,上界bi
2)建立n叉树保存各下界估计值:
2.1)根据公式(1)对单位单纯形区域S的各顶点进行转换得到点x1,x2,...,xN+1
x i = x i ' Σ i = 1 N ( b i - a i ) + a i , i = 1,2 , . . . , N - - - ( 13 )
其中ai为xi的下界,bi为xi的上界,其中xi′为各顶点在S中的坐标值;
2.2)根据公式(2)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;
l k = ( x 1 k f ( x k ) , x 2 k f ( x k ) , . . . , x N + 1 k f ( x k ) ) - - - ( 14 )
由于目标函数f(x)必须为满足公式(3)的函数
i ) ∀ x , y ∈ R + N , x > y ⇒ f ( x ) ≥ f ( y ) ii ) ∀ x ∈ R + N , ∀ λ ∈ R + + : f ( λx ) = λf ( x ) - - - ( 15 )
其中,表示任意, R + N = { x ∈ R N : x i ≥ 0 , i = 1,2 , . . . , N } , R + + N = { x ∈ R N : x i > 0 , 在计算支撑向量时,应对公式(2)中的f(xk)加上一个足够大的常数M,使其满足式(3);
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 - - - ( 16 )
3)在各变量定义域范围[ai,bi]内随机生成PopSize个个体作为初始群体;
4)计算出当前群体中的最优个体xbest,如果满足终止条件(如|f(xbest)-Optimum|≤ε,其中Optimum为目标函数的全局最优值,ε为允许误差),则保存结果并退出,否则进入步骤5);
5)交叉、变异产生新个体trial:
5.1)任意选取三个个体{xa,xb,xc|a,b,c∈{1,2,...,popSize},a≠b≠c≠k};
5.2)根据公式(5)对{xa,xb,xc}执行变异操作,生成变异个体
x ^ k = x a + F · ( x b - x c ) - - - ( 17 )
5.3)根据公式(6)对目标个体xk和变异个体执行交叉操作,生成测试个体trial:
troal [ i ] = x ^ i k if ( randb ( 0,1 ) ≤ CR or i = rnbr ( i ) x i k if ( randb ( 0,1 ) > CR ir i ≠ rnbr ( i ) i = 1,2 , . . . , N - - - ( 18 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数;
6)找出离新个体trial最近的两个个体,并对其构建支撑向量:
6.1)根据公式(7)将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 - - - ( 19 )
6.2)根据公式(2)计算xk′的支撑向量lk
6.3)根据条件关系式(8)(9)更新树:
∀ i , j ∈ I , i ≠ j : l i k i > l i k j - - - ( 20 )
∀ v ∈ Λ k \ L , ∃ i ∈ I : l i k i ≤ v i - - - ( 21 )
其中v∈Λk\L表示v属于Λk但不属于L, 表示存在;
6.3.1)找出针对步骤6.2)构建的支撑向量lk不满足条件(9)的叶子节点,式中vi=lk
6.3.2)用lk替换步骤6.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
6.3.2)判断步骤6.3.2)中产生的新的叶子节点是否满足条件关系式(8),如果满足,则保留,否则删除;
7)对trail个体进行如下操作:
7.1)根据公式(7)对trial个体作变换得到trial′;
7.2)根据公式(10)从树中找出包含trial′个体的树叶在节点TreeNode,其中用trial′代替;
x j k j x ^ i r > x i k j x ^ j r , i , j ∈ I , i ≠ j - - - ( 22 )
其中为所找的叶子节点矩阵中的元素;
7.3)根据公式(11)计算出trial′所在节点TreeNode的下界估计值ytrial,其中xi用trial′代替;
H K ( x ) = max k ≤ K min i = 1 , . . . N + 1 x i l i k - - - ( 23 )
其中max表示最大,min表示最小,xi为单位单纯形空间中的向量;
7.4)如果ytrial大于目标个体的函数值f(xk),则目标个体不变;
7.5)如果ytrial小于目标个体的函数值f(xk),且trial个体的目标函数值f(trial)
小于f(xk),则trial个体取代目标个体xk,并继续步骤8),否则删除树并转到步骤4);
8)继续做局部增强,进行如下操作:
8.1)继续根据公式(12)计算出TreeNode对应区域的下界支撑函数的极小值点 式中L用TreeNode对应的支撑矩阵代替;
x min ' ( L ) = diag ( L ) / Trace ( L ) - - - ( 24 )
其中diag表示正对角线上的元素,Trace表示矩阵的迹,即正对角线元素之和,其中L为支撑矩阵;
8.2)根据公式(1)对转换得到xmin
8.3)计算xmin对应的目标函数值f(xmin);
8.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
9)设置count=count+1,删除树并转到步骤4)。
本实施例以经典的30维Griewank函数为实施例,一种基于局部抽象凸估计的群体全局优化方法,其中包含以下步骤:
1)参数初始化:设置常数M=35090,增益常数F=0.5,交叉概率CR=0.5,群体规模PopSize=30,变量xi的下界ai=-600,上界bi=600(i=1,2);
2)建立n叉树保存各下界估计值:
2.1)根据公式(1)对单位单纯形区域S的各顶点进行转换得到点x1,x2,...,xN+1
x i = x i ' Σ i = 1 N ( b i - a i ) + a i , i = 1,2 , . . . , N - - - ( 25 )
其中ai为xi的下界,bi为xi的上界,其中xi′为各顶点在S中的坐标值;
2.2)根据公式(2)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;
l k = ( x 1 k f ( x k ) , x 2 k f ( x k ) , . . . , x N + 1 k f ( x k ) ) - - - ( 26 )
由于目标函数f(x)必须为满足公式(3)的函数
i ) ∀ x , y ∈ R + N , x > y ⇒ f ( x ) ≥ f ( y ) ii ) ∀ x ∈ R + N , ∀ λ ∈ R + + : f ( λx ) = λf ( x ) - - - ( 27 )
其中,表示任意, R + N = { x ∈ R N : x i ≥ 0 , i = 1,2 , . . . , N } , R + + N = { x ∈ R N : x i > 0 , 在计算支撑向量时,应对公式(2)中的f(xk)加上一个足够大 的常数M,使其满足式(3);
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 - - - ( 28 )
3)在各变量定义域范围[ai,bi]内随机生成PopSize个个体作为初始群体;
4)计算出当前群体中的最优个体xbest,如果满足终止条件(如|f(xbest)-Optimum|≤ε,其中Optimum为目标函数的全局最优值,ε为允许误差),则保存结果并退出,否则进入步骤5);
5)交叉、变异产生新个体trial:
5.1)任意选取三个个体{xa,xb,xc|a,b,c∈{1,2,...,popSize},a≠b≠c≠k};
5.2)根据公式(5)对{xa,xb,xc}执行变异操作,生成变异个体
x ^ k = x a + F · ( x b - x c ) - - - ( 29 )
5.3)根据公式(6)对目标个体xk和变异个体执行交叉操作,生成测试个体trial:
troal [ i ] = x ^ i k if ( randb ( 0,1 ) ≤ CR or i = rnbr ( i ) x i k if ( randb ( 0,1 ) > CR ir i ≠ rnbr ( i ) i = 1,2 , . . . , N - - - ( 30 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数;
6)找出离新个体trial最近的两个个体,并对其构建支撑向量:
6.1)根据公式(7)将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 - - - ( 31 )
6.2)根据公式(2)计算xk′的支撑向量lk
6.3)根据条件关系式(8)(9)更新树:
∀ i , j ∈ I , i ≠ j : l i k i > l i k j - - - ( 32 )
∀ v ∈ Λ k \ L , ∃ i ∈ I : l i k i ≤ v i - - - ( 33 )
其中v∈Λk\L表示v属于Λk但不属于L, 表示存在;
6.3.1)找出针对步骤6.2)构建的支撑向量lk不满足条件(9)的叶子节点,式中vi=lk
6.3.2)用lk替换步骤6.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
6.3.3)判断步骤6.3.2)中产生的新的叶子节点是否满足条件关系式(8),如果满足,则保留,否则删除;
7)对trail个体进行如下操作:
7.1)根据公式(7)对trial个体作变换得到trial′;
7.2)根据公式(10)从树中找出包含trial′个体的树叶在节点TreeNode,其中用trial′代替;
x j k j x ^ i r > x i k j x ^ j r , i , j ∈ I , i ≠ j - - - ( 34 )
其中为所找的叶子节点矩阵中的元素;
7.3)根据公式(11)计算出trial′所在节点TreeNode的下界估计值ytrial,其中xi用trial′代替;
H K ( x ) = max k ≤ K min i = 1 , . . . N + 1 x i l i k - - - ( 35 )
其中max表示最大,min表示最小,xi为单位单纯形空间中的向量;
7.4)如果ytrial大于目标个体的函数值f(xk),则目标个体不变;
7.5)如果ytrial小于目标个体的函数值f(xk),且trial个体的目标函数值f(trial)小于f(xk),则trial个体取代目标个体xk,并继续步骤8),否则删除树并转
到步骤4);
8)继续做局部增强,进行如下操作:
8.1)继续根据公式(12)计算出TreeNode对应区域的下界支撑函数的极小值点 式中L用TreeNode对应的支撑矩阵代替;
x min ' ( L ) = diag ( L ) / Trace ( L ) - - - ( 36 )
其中diag表示正对角线上的元素,Trace表示矩阵的迹,即正对角线元素
之和,其中L为支撑矩阵;
8.2)根据公式(1)对转换得到xmin
8.3)计算xmin对应的目标函数值f(xmin);
8.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
9)设置count=count+1,删除树并转到步骤4)。
以30维Griewank函数为实施例,运行100次平均成功率为1.00,平均函数评价次数为20489,全局最小值为8.823666e-006;
以上阐述的是本发明给出的一个实施例表现出来的优良优化效果,显然本发明不仅适合上述实施例,而且可以应用到实际工程中的各个领域(如蛋白质结构预测,电力系统,路径规划等优化问题),同时在不偏离本发明基本精神及不超出本发明实质内容所涉及内容的前提下可对其做种种变化加以实施。

Claims (1)

1.一种基于局部抽象凸估计的群体全局优化方法,其特征在于:所述全局优化方法包括以下步骤:
1)参数初始化:设置常数M,增益常数F,交叉概率CR,群体规模PopSize,各变量的下界ai,上界bi
2)建立n叉树保存各下界估计值:
2.1)根据公式(1)对单位单纯形区域S的各顶点进行转换得到点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)计算各点的支撑向量式中f(xk)表示xk对应的目标函数值;
l k = ( x 1 k f ( x k ) , x 2 k f ( x k ) , . . . , x N + 1 k f ( x k ) ) - - - ( 2 )
由于目标函数f(x)必须为满足公式(3)的函数
i ) ∀ x , y ∈ R + N , x > y ⇒ f ( x ) ≥ f ( y ) ii ) ∀ x ∈ R + N , ∀ λ ∈ R + + : f ( λx ) = λf ( x ) - - - ( 3 )
其中,表示任意, R + N = { x ∈ R N : x i ≥ 0 , i = 1,2 , . . . , N } , R + + N = { x ∈ R N : x i > 0 , 在计算支撑向量时,应对公式(2)中的f(xk)加上一个足够大的常数M,使其满足式(3);
2.3)以支撑矩阵为根建立树,支撑矩阵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 - - - ( 4 )
3)在各变量定义域范围[ai,bi]内随机生成PopSize个个体作为初始群体;
4)计算出当前群体中的最优个体xbest,如果满足终止条件:|f(xbest)-Optimum|≤ε,其中Optimum为目标函数的全局最优值,ε为允许误差,则保存结果并退出,否则进入步骤5);
5)交叉、变异产生新个体trial:
5.1)任意选取三个个体{xa,xb,xc|a,b,c∈{1,2,...,popSize},a≠b≠c≠k};
5.2)根据公式(5)对{xa,xb,xc}执行变异操作,生成变异个体
x ^ k = x a + F · ( x b - x c ) - - - ( 5 )
5.3)根据公式(6)对目标个体xk和变异个体执行交叉操作,生成测试个体trial:
troal [ i ] = x ^ i k if ( randb ( 0,1 ) ≤ CR or i = rnbr ( i ) x i k if ( randb ( 0,1 ) > CR ir i ≠ rnbr ( i ) i = 1,2 , . . . , N - - - ( 6 )
其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数;
6)找出离新个体trial最近的两个个体,并对其构建支撑向量:
6.1)根据公式(7)将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 - - - ( 7 )
6.2)根据公式(2)计算xk′的支撑向量lk
6.3)根据条件关系式(8)(9)更新树:
∀ i , j ∈ I , i ≠ j : l i k i > l i k j - - - ( 8 )
∀ v ∈ Λ k \ L , ∃ i ∈ I : l i k i ≤ v i - - - ( 9 )
其中v∈Λk\L表示v属于Λk但不属于L,表示存在;
6.3.1)找出针对步骤6.2)构建的支撑向量lk不满足条件(9)的叶子节点,式中vi=lk
6.3.2)用lk替换步骤6.3.1)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;
6.3.3)判断步骤6.3.2)中产生的新的叶子节点是否满足条件关系式(8),如果满足,则保留,否则删除;
7)对trail个体进行如下操作:
7.1)根据公式(7)对trial个体作变换得到trial′;
7.2)根据公式(10)从树中找出包含trial′个体的树叶在节点TreeNode,其中用trial′代替;
x j k j x ^ i r > x i k j x ^ j r , i , j ∈ I , i ≠ j - - - ( 10 )
其中为所找的叶子节点矩阵中的元素;
7.3)根据公式(11)计算出trial′所在节点TreeNode的下界估计值ytrial,其中xi用trial′代替;
H K ( x ) = max k ≤ K min i = 1 , . . . N + 1 x i l i k - - - ( 11 )
其中max表示最大,min表示最小,xi为单位单纯形空间中的向量;
7.4)如果ytrial大于目标个体的函数值f(xk),则目标个体不变;
7.5)如果ytrial小于目标个体的函数值f(xk),且trial个体的目标函数值f(trial)小于f(xk),则trial个体取代目标个体xk,并继续步骤8),否则删除树并转到步骤4);
8)继续做局部增强,进行如下操作:
8.1)继续根据公式(12)计算出TreeNode对应区域的下界支撑函数的极小值点式中L用TreeNode对应的支撑矩阵代替;
x min ' ( L ) = diag ( L ) / Trace ( L ) - - - ( 12 )
其中diag表示正对角线上的元素,Trace表示矩阵的迹,即正对角线元素之和,其中L为支撑矩阵;
8.2)根据公式(1)对转换得到xmin
8.3)计算xmin对应的目标函数值f(xmin);
8.4)如果f(xmin)小于目标个体的函数值f(xk),则xmin取代目标个体xk
9)设置count=count+1,删除树并转到步骤4)。
CN201410138893.6A 2014-04-08 2014-04-08 一种基于局部抽象凸估计的群体全局优化方法 Pending CN103970985A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410138893.6A CN103970985A (zh) 2014-04-08 2014-04-08 一种基于局部抽象凸估计的群体全局优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410138893.6A CN103970985A (zh) 2014-04-08 2014-04-08 一种基于局部抽象凸估计的群体全局优化方法

Publications (1)

Publication Number Publication Date
CN103970985A true CN103970985A (zh) 2014-08-06

Family

ID=51240472

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410138893.6A Pending CN103970985A (zh) 2014-04-08 2014-04-08 一种基于局部抽象凸估计的群体全局优化方法

Country Status (1)

Country Link
CN (1) CN103970985A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182653A (zh) * 2014-08-25 2014-12-03 浙江工业大学 一种基于局部抽象凸低估支撑面的群体构象空间优化方法
CN104951670A (zh) * 2015-06-08 2015-09-30 浙江工业大学 一种基于距离谱的群体构象空间优化方法
CN106650305A (zh) * 2016-10-10 2017-05-10 浙江工业大学 一种基于局部抽象凸支撑面的多策略群体蛋白质结构预测方法
CN109300503A (zh) * 2018-08-29 2019-02-01 浙江工业大学 一种全局和局部下界估计协同的群体蛋白质结构预测方法
CN110298495A (zh) * 2019-06-11 2019-10-01 天津大学 基于改进型差分进化算法的波浪发电装置的阵列优化方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182653A (zh) * 2014-08-25 2014-12-03 浙江工业大学 一种基于局部抽象凸低估支撑面的群体构象空间优化方法
CN104951670A (zh) * 2015-06-08 2015-09-30 浙江工业大学 一种基于距离谱的群体构象空间优化方法
CN104951670B (zh) * 2015-06-08 2018-03-16 浙江工业大学 一种基于距离谱的群体构象空间优化方法
CN106650305A (zh) * 2016-10-10 2017-05-10 浙江工业大学 一种基于局部抽象凸支撑面的多策略群体蛋白质结构预测方法
CN106650305B (zh) * 2016-10-10 2019-01-22 浙江工业大学 一种基于局部抽象凸支撑面的多策略群体蛋白质结构预测方法
CN109300503A (zh) * 2018-08-29 2019-02-01 浙江工业大学 一种全局和局部下界估计协同的群体蛋白质结构预测方法
CN109300503B (zh) * 2018-08-29 2021-08-03 浙江工业大学 一种全局和局部下界估计协同的群体蛋白质结构预测方法
CN110298495A (zh) * 2019-06-11 2019-10-01 天津大学 基于改进型差分进化算法的波浪发电装置的阵列优化方法

Similar Documents

Publication Publication Date Title
CN103970985A (zh) 一种基于局部抽象凸估计的群体全局优化方法
Jiao et al. A co-evolutionary multi-objective optimization algorithm based on direction vectors
CN104298873A (zh) 一种基于遗传算法和粗糙集的属性约简方法及精神状态评估方法
CN102263790A (zh) 一种基于集成学习的入侵检测方法
CN105160196A (zh) 一种基于动态变异策略的群体全局优化方法
CN102722750A (zh) 动态网络社区结构的更新方法及装置
CN104268077A (zh) 基于混沌遗传算法的测试用例集约简算法
Xiong et al. Recursive learning for sparse Markov models
Chang et al. A hybrid immune-estimation distribution of algorithm for mining thyroid gland data
Uguz et al. A new algorithm based on artificial bee colony algorithm for energy demand forecasting in Turkey
CN103793747A (zh) 网络内容安全管理中一种敏感信息模板构建方法
CN103793438A (zh) 一种基于MapReduce的并行聚类方法
CN104200073A (zh) 一种基于局部Lipschitz估计的自适应群体全局优化方法
CN103279796A (zh) 一种优化遗传算法进化质量的方法
CN103793602A (zh) 一种基于群体抽象凸下界支撑面的全局优化方法
CN116628524A (zh) 一种基于自适应图注意力编码器的社区发现方法
Nguyen et al. Context tree maximizing
Shi et al. Incremental learning Bayesian network structures efficiently
CN104867164A (zh) 一种基于遗传算法的矢量量化码书设计方法
Tan et al. A fast and stable forecasting model to forecast power load
CN109635008A (zh) 一种基于机器学习的设备故障检测方法
CN104200084A (zh) 一种基于局部Lipschitz估计的区域动态剖分群体全局优化方法
Li et al. GA-SVR traffic flow prediction based on phase space reconstruction with improved KNN method
CN105260774A (zh) 一种基于构象空间退火的两阶段差分进化多模态优化方法
Aghili Ashtiani et al. Construction and applications of a modified fuzzy relational model

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: 20140806

RJ01 Rejection of invention patent application after publication