一种基于局部Lipschitz估计的区域动态剖分群体全局优化方法,在群体进化算法框架下,结合Lipschitz估计理论,首先,通过提取新个体的邻域信息构建Lipschitz估计下界支撑面实现搜索区域的动态剖分;其次,利用下界估计信息有效的识别出部分无效区域,并指导种群更新;同时,借助线性拟凸包络的广义下降方向作局部增强,并根据进化信息对搜索区域进行二次剖分;最后,根据下界估计选择信息重新初始化种群中的部分较差个体。本发明专利技术计算代价较低,收敛速度较快,且可靠性较高。
【技术实现步骤摘要】
【专利摘要】,在群体进化算法框架下,结合Lipschitz估计理论,首先,通过提取新个体的邻域信息构建Lipschitz估计下界支撑面实现搜索区域的动态剖分;其次,利用下界估计信息有效的识别出部分无效区域,并指导种群更新;同时,借助线性拟凸包络的广义下降方向作局部增强,并根据进化信息对搜索区域进行二次剖分;最后,根据下界估计选择信息重新初始化种群中的部分较差个体。本专利技术计算代价较低,收敛速度较快,且可靠性较高。【专利说明】—种基于局部Lipschitz估计的区域动态剖分群体全局优化方法
本专利技术涉及一种智能优化、计算机应用领域,尤其涉及的是,。
技术介绍
在实际工程应用中,许多优化问题往往需要快速地得到问题的某一个全局最优解。基于梯度的拟牛顿法、共轭梯度法等传统方法,以及Nelder-Mead、Hooke-Jeeves等直接搜索方法本质上都属于一类局部搜索方法,解的质量直接取决于起始点的选择,对于一些复杂的优化问题,这些方法基本上不可能得到问题的全局最优解。 确定性算法通过构建不断收紧的下界凸包络来逼近目标函数,从而求得原问题的全局最优解。α分支定界算法(αΒΒ)及割角法(CAM)等典型确定性算法在现有文献中被广泛研究,然而,就αΒΒ而言,到目前为止没有一种方法可以有效的确定α的值,α的求解是一个极其富有挑战性的工作JtCAM而言,为了获得理想的精度,算法需要构建大量的支撑向量来逼近目标函数,并需要极大的空间来保存各下界估计值,随着问题规模的增大,急剧增长的计算复杂度和空间复杂度限制了其在大规模问题中的应用。 近年来,进化算法等一类随机性算法以其简单而高效的优势被广泛应用于电力系统、化学工程以及生物信息学等领域。Storn等提出的差分进化算法(DE)通过种群内个体间的合作与竞争实现对优化问题的求解,具有能够记忆个体最优解,种群内信息共享及易与其它算法结合的特点,在各种问题的应用求解中展现出了其独特的优势,但在理论和应用中也暴露出诸多不足和缺陷,如计算代价(如函数评价次数)较高,后期收敛速度慢,极容易趋于早熟收敛而陷于局部最优解,可靠性较低。 因此,现有全局优化方法在计算代价、收敛速度及可靠性方面存在着缺陷,需要改进。
技术实现思路
为了克服现有的全局优化方法计算代价、收敛速度及可靠性方面的不足,本专利技术权衡确定性算法和进化算法的缺陷,并综合利用两者的优势,结合Lipschitz估计理论,提出一种计算代价较低,收敛速度较快,且可靠性较高的基于局部Lipschitz估计区域动态剖分的群体全局优化方法。 本专利技术解决其技术问题所采用的技术方案是: ,假设问题维数为N,所述方法包括以下步骤: I)初始化:设置常数C,种群规模ΝΡ,各变量的下界%和上界bi;置无效区域IR为空,代g = O,较差个体数目为Nj = O,较差个体重新初始化数目t = O,在各变量定义域范围内随机生成初始种群P — {Χι^Χ2^...^ΧΝρ} ' 2)支撑矩阵初始化: 2.1)根据公式⑴对单位单纯形区域S=U)的各顶点进 M 行转换得到点X1,X2, , XN+1 ; Xi =-u,、+ u, J ?…,N(I) 其中ai为Xi的下界,bi为Xi的上界,其中Xi'为各顶点在S中的坐标值,N为问题维数; 2.2)根据公式(2)计算各点的支撑向量I1,I2,...,1N+1,式中f (Xk)表示Xk对应的目标函数值; Ik—(2) 其中,C为足够大的常数; 2.3)建立初始矩阵支撑矩阵L = {I1, I2,…,Γ1},支撑矩阵L如公式(3); (产I 产1./iI ) hiI /々2Jk2}k2,1 ,2IN+I L=(3) IIkN+] VH...J 3)判断是否满足终止条件:计算出当前群体中的最优个体Xbest和最差个体xWOTSt,如果满足终止条件If (Xbest) _f Owst) I < ε,其中,ε为允许误差,则保存结果并退出,否则进入步骤4); 4)建立η叉树保存各下界估计值:以支撑矩阵L = {I1, I2,…,1Ν+1}为根建立树; 5)交叉、变异产生新个体Xfeial: 5.1)任意选取三个个体{xa, xb, xc I a, b, c e {I, 2,..., popSize}, a ^ b ^ c ^ k}; 5.2)根据公式(4)对{xa,xb, xc}执行变异操作,生成变异个体I, xk =Xa +F-[Xh -xc)(4) 5.3)根据公式(5)对目标个体Xk和变异个体浐执行交叉操作,生成新个体xtHal: Xjn = I气°r ? = Π1^\ iU (5) [x.1f (ranab(0A) > CR or i ^ rnbr{i) 其中,randb(0,I)表示为产生0到I之间的随机小数,rnbr⑴表示随机产生I到N之间的整数; 6)提取新个体的邻近信息构建支撑向量对可行域进行剖分:找出离新个体Xtaial最近的两个个体,并对其构建支撑向量: 6.1)根据公式(6)将Xk转换到单位单纯形空间中得到Xk,; ?X- Ξ (χ; - <3; ) / Σ:' I (k - Qi) =(6)L4+1 = 1U 6.2)根据公式(2)计算xk,的支撑向量Ik ; 6.3)根据条件关系式(7) (8)更新树: yijel,i^ j:l"J >/f(7) Vr ? {k',U、_' U e /: Z.,, =/f' >1;(8) 其中,3表示存在; a)找出针对步骤6.2)构建的支撑向量Ik不满足条件(8)的叶子节点; b)用Ik替换步骤a)中找到的叶子节点矩阵中的第i个支撑向量/\从而形成新的叶子节点; c)判断步骤b)中产生的新的叶子节点是否满足条件关系式(7),如果满足,则保留,否则删除; 7)计算新个体Xtrial的下界估计值: 7.1)根据公式(6)对xtHal个体作变换得到X' trial ; 7.2)根据公式(9)从树中找出包含V trial个体的树叶在节点TreeNode,其中x* 用V trial代替; i,j ^ I, i*j(9) 其中//,々为所找的叶子节点矩阵中的元素; 7.3)根据公式(10)计算出X' trial所在节点TreeNode的下界估计值ytriai,其中X1 用 X' triai 代替; //Λ (.V) = max min C{I丨;+ \ )(10) k^K. 其中max表示求最大值,min表示求最小值,X1为单位单纯形空间中的向量; 8)选择:通过如下操作决定新个体Xtaial是否可以替换其对应的目标个体Xk: 8.1)如果xtHal被包含在无效区域IR中,则保留Xk不变,并转到步骤8.10),否则继续步骤8.2); 8.2)利用新个体的下界估计值指导种群更新:如果Xtaial的下界估计值ytaial大于目标个体的函数值f (Xk),则目标个体不变,并转到8.3),否则转到步骤8.6); 8.3)根据下界估计值建立较差个体评定线(面),并找出较差个体:将ytaial所在的水平线(面)本文档来自技高网...
【技术保护点】
一种基于局部Lipschitz估计的区域动态剖分群体全局优化方法,其特征在于:所述全局优化方法包括以下步骤:1)初始化:设置常数C,种群规模NP,各变量的下界ai和上界bi,置无效区域IR为空,代g=0,较差个体数目为Nj=0,较差个体重新初始化数目t=0,在各变量定义域范围内随机生成初始种群2)支撑矩阵初始化:2.1)根据公式(1)对单位单纯形区域S的各顶点进行转换得到点x1,x2,...,xN+1;xi=xi′Σi=1N(bi-ai)+ai,i=1,2,...,N---(1)]]>其中ai为xi的下界,bi为xi的上界,其中xi′为各顶点在S中的坐标值,N为问题维数;2.2)根据公式(2)计算各点的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;lk=(f(xk)C-x1k,f(xk)C-x2k,...,f(xk)C-xN+1k)---(2)]]>其中,C为足够大的常数;2.3)建立初始矩阵支撑矩阵支撑矩阵L如公式(3);L=l1k1l2k1···lN+1k1l1k2l2k2···lN+1k2············l1kN+1l2kN+1···lN+1kN+1---(3)]]>3)判断是否满足终止条件:计算出当前群体中的最优个体xbest和最差个体xworst,如果满足终止条件|f(xbest)‑f(xworst)|≤ε,其中,ε为允许误差,则保存结果并退出,否则进入步骤4);4)建立n叉树保存各下界估计值:以支撑矩阵L={l1,l2,...,lN+1}为根建立树;5)交叉、变异产生新个体xtrial:5.1)任意选取三个个体{xa,xb,xc|a,b,c∈{1,2,...,popSize},a≠b≠c≠k};5.2)根据公式(4)对{xa,xb,xc}执行变异操作,生成变异个体x^k=xa+F·(xb-xc)---(4)]]>5.3)根据公式(5)对目标个体xk和变异个体执行交叉操作,生成新个体xtrial:xtrial[i]=x^ikif(randb(0,1)≤CR)ori=rnbr(i)xikif(randb(0,1>CR)ori≠rnbr(i)i=1,2,...,N---(5)]]>其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数;6)提取新个体的邻近信息构建支撑向量对可行域进行剖分:找出离新个体xtrial最近的两个个体,并对其构建支撑向量:6.1)根据公式(6)将xk转换到单位单纯形空间中得到xk′;xi′≡(xi-ai)/Σi=1N(bi-ai)xN+1′≡1-Σi=1Nxi′,i=1,2,...,N---(6)]]>6.2)根据公式(2)计算xk′的支撑向量lk;6.3)根据条件关系式(7)(8)更新树:∀i,j∈I,i≠j:likj>liki---(7)]]>∀r∉{k1,k2,...,kN+1},∃i∈I:Lii=liki≥lir---(8)]]>其中,表示存在;a)找出针对步骤6.2)构建的支撑向量lk不满足条件(8)的叶子节点;b)用lk替换步骤a)中找到的叶子节点矩阵中的第i个支撑向量从而形成新的叶子节点;c)判断步骤b)中产生的新的叶子节点是否满足条件关系式(7),如果满足,则保留,否则删除;7)计算新个体xtrial的下界估计值:7.1)根据公式(6)对xtrial个体作变换得到xt′rial;7.2)根据公式(9)从树中找出包含x′trial个体的树叶在节点TreeNode,其中x*用x′trial代替;(xj*-xjkj)<(xi*-xikj),i,j∈I,i≠j---(9)]]>其中为所找的叶子节点矩阵中的元素;7.3)根据公式(10)计算出x′trial所在节点TreeNode的下界估计值ytrial,其中xi用x′trial代替;HK(x)=maxk≤Kmi...
【技术特征摘要】
【专利技术属性】
技术研发人员:张贵军,周晓根,郝小虎,梅珊,李章维,
申请(专利权)人:浙江工业大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。