[发明专利]一种基于局部抽象凸估计的群体全局优化方法无效

专利信息
申请号: 201410138893.6 申请日: 2014-04-08
公开(公告)号: CN103970985A 公开(公告)日: 2014-08-06
发明(设计)人: 张贵军;周晓根;郝小虎;梅珊;陈铭;秦传庆;李章维 申请(专利权)人: 浙江工业大学
主分类号: G06F19/00 分类号: G06F19/00
代理公司: 杭州斯可睿专利事务所有限公司 33241 代理人: 王利强
地址: 310014 浙江省*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于局部抽象凸估计的群体全局优化方法,在群体进化算法框架下,结合抽象凸理论,提出一种基于局部抽象凸估计的群体全局优化方法。通过对新生成个体的邻域信息构建松弛优化模型,基于分段线性凸包络的几何特征设计松弛模型的高效极值点枚举算法;进而在更新环节,利用下界信息安全排除无效区域,从而减少了函数的评价次数,提高了算法的可靠性;同时利用支撑面的下降方向作局部增强,进一步加快了算法的收敛速度;提出的方法只对新生成个体的领近个体构建支撑面,降低了算法的计算复杂度和空间复杂度。
搜索关键词: 一种 基于 局部 抽象 估计 群体 全局 优化 方法
【主权项】:
一种基于局部抽象凸估计的群体全局优化方法,其特征在于:所述全局优化方法包括以下步骤:1)参数初始化:设置常数M,增益常数F,交叉概率CR,群体规模PopSize,各变量的下界ai,上界bi;2)建立n叉树保存各下界估计值:2.1)根据公式(1)对单位单纯形区域S的各顶点进行转换得到点x1,x2,...,xN+1<mrow><msub><mi>x</mi><mi>i</mi></msub><mo>=</mo><msubsup><mi>x</mi><mi>i</mi><mo>'</mo></msubsup><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><mrow><mo>(</mo><msub><mi>b</mi><mi>i</mi></msub><mo>-</mo><msub><mi>a</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>+</mo><msub><mi>a</mi><mi>i</mi></msub><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>其中ai为xi的下界,bi为xi的上界,xi′为各顶点在S中的坐标值;2.2)根据公式(2)计算各点的支撑向量式中f(xk)表示xk对应的目标函数值;<mrow><msup><mi>l</mi><mi>k</mi></msup><mo>=</mo><mrow><mo>(</mo><mfrac><msubsup><mi>x</mi><mn>1</mn><mi>k</mi></msubsup><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>k</mi></msup><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><mfrac><msubsup><mi>x</mi><mn>2</mn><mi>k</mi></msubsup><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>k</mi></msup><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mfrac><msubsup><mi>x</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><mi>k</mi></msubsup><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>k</mi></msup><mo>)</mo></mrow></mrow></mfrac><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>由于目标函数f(x)必须为满足公式(3)的函数<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>i</mi><mo>)</mo><mo>&ForAll;</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>&Element;</mo><msubsup><mi>R</mi><mo>+</mo><mi>N</mi></msubsup><mo>,</mo><mi>x</mi><mo>></mo><mi>y</mi><mo>&DoubleRightArrow;</mo><mi>f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>&GreaterEqual;</mo><mi>f</mi><mrow><mo>(</mo><mi>y</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><mi>ii</mi><mo>)</mo><mo>&ForAll;</mo><mi>x</mi><mo>&Element;</mo><msubsup><mi>R</mi><mo>+</mo><mi>N</mi></msubsup><mo>,</mo><mo>&ForAll;</mo><mi>&lambda;</mi><mo>&Element;</mo><msub><mi>R</mi><mrow><mo>+</mo><mo>+</mo></mrow></msub><mo>:</mo><mi>f</mi><mrow><mo>(</mo><mi>&lambda;x</mi><mo>)</mo></mrow><mo>=</mo><mi>&lambda;f</mi><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>其中,表示任意,<mrow><msubsup><mi>R</mi><mo>+</mo><mi>N</mi></msubsup><mo>=</mo><mo>{</mo><mi>x</mi><mo>&Element;</mo><msup><mi>R</mi><mi>N</mi></msup><mo>:</mo><msub><mi>x</mi><mi>i</mi></msub><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>}</mo><mo>,</mo><msubsup><mi>R</mi><mrow><mo>+</mo><mo>+</mo></mrow><mi>N</mi></msubsup><mo>=</mo><mo>{</mo><mi>x</mi><mo>&Element;</mo><msup><mi>R</mi><mi>N</mi></msup><mo>:</mo><msub><mi>x</mi><mi>i</mi></msub><mo>></mo><mn>0</mn><mo>,</mo></mrow>在计算支撑向量时,应对公式(2)中的f(xk)加上一个足够大的常数M,使其满足式(3);2.3)以支撑矩阵为根建立树,支撑矩阵L如公式(4);<mrow><mi>L</mi><mo>=</mo><mfenced open='(' close=')'><mtable><mtr><mtd><msubsup><mi>l</mi><mn>1</mn><msub><mi>k</mi><mn>1</mn></msub></msubsup></mtd><mtd><msubsup><mi>l</mi><mn>2</mn><msub><mi>k</mi><mn>1</mn></msub></msubsup></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><msubsup><mi>l</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>k</mi><mn>1</mn></msub></msubsup></mtd></mtr><mtr><mtd><msubsup><mi>l</mi><mn>1</mn><msub><mi>k</mi><mn>2</mn></msub></msubsup></mtd><mtd><msubsup><mi>l</mi><mn>2</mn><msub><mi>k</mi><mn>2</mn></msub></msubsup></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><msubsup><mi>l</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>k</mi><mn>2</mn></msub></msubsup></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo></mo></mtd><mtd><mo></mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo></mo></mtd><mtd><mo>.</mo></mtd><mtd><mo></mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo></mo></mtd><mtd><mo></mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd></mtr><mtr><mtd><msubsup><mi>l</mi><mn>1</mn><msub><mi>k</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msub></msubsup></mtd><mtd><msubsup><mi>l</mi><mn>2</mn><msub><mi>k</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msub></msubsup></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><mo>.</mo></mtd><mtd><msubsup><mi>l</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>k</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msub></msubsup></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>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}执行变异操作,生成变异个体<mrow><msup><mover><mi>x</mi><mo>^</mo></mover><mi>k</mi></msup><mo>=</mo><msup><mi>x</mi><mi>a</mi></msup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msup><mi>x</mi><mi>b</mi></msup><mo>-</mo><msup><mi>x</mi><mi>c</mi></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>5.3)根据公式(6)对目标个体xk和变异个体执行交叉操作,生成测试个体trial:<mrow><mi>troal</mi><mo>[</mo><mi>i</mi><mo>]</mo><mo>=</mo><mfenced open='{' close='' separators=',,,,,,,,'><mtable><mtr><mtd><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi><mi>k</mi></msubsup></mtd><mtd><mi>if</mi><mrow><mo>(</mo><mi>randb</mi><mrow><mo>(</mo><mn>0,1</mn><mo>)</mo></mrow><mo>&le;</mo><mi>CR</mi></mrow></mtd><mtd><mi>or</mi></mtd><mtd><mi>i</mi><mo>=</mo><mi>rnbr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr><mtr><mtd><msubsup><mi>x</mi><mi>i</mi><mi>k</mi></msubsup></mtd><mtd><mi>if</mi><mrow><mo>(</mo><mi>randb</mi><mrow><mo>(</mo><mn>0,1</mn><mo>)</mo></mrow></mrow><mo>></mo><mi>CR</mi></mtd><mtd><mi>ir</mi></mtd><mtd><mi>i</mi><mo>&NotEqual;</mo><mi>rnbr</mi><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mtd></mtr></mtable></mfenced><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>其中,randb(0,1)表示为产生0到1之间的随机小数,rnbr(i)表示随机产生1到N之间的整数;6)找出离新个体trial最近的两个个体,并对其构建支撑向量:6.1)根据公式(7)将xk转换到单位单纯形空间中得到xk′;<mrow><mfenced open='{' close=''><mtable><mtr><mtd><msubsup><mi>x</mi><mi>i</mi><mo>'</mo></msubsup><mrow><mo>&equiv;</mo><mrow><mo>(</mo><msub><mi>x</mi><mi>i</mi></msub><mo>-</mo><msub><mi>a</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>/</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><mrow><mo>(</mo><msub><mi>b</mi><mi>i</mi></msub><mo>-</mo><msub><mi>a</mi><mi>i</mi></msub><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msup><mrow><msubsup><mi>x</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><mo>'</mo></msubsup><mo>&equiv;</mo><mn>1</mn><mo>-</mo><msubsup><mi>&Sigma;</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><msubsup><mi>x</mi><mi>i</mi><mo>'</mo></msubsup></mrow></msup></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>i</mi><mo>=</mo><mn>1,2</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mo>,</mo><mi>N</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>6.2)根据公式(2)计算xk′的支撑向量lk;6.3)根据条件关系式(8)(9)更新树:<mrow><mo>&ForAll;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>I</mi><mo>,</mo><mi>i</mi><mo>&NotEqual;</mo><mi>j</mi><mo>:</mo><msubsup><mi>l</mi><mi>i</mi><msub><mi>k</mi><mi>i</mi></msub></msubsup><mo>></mo><msubsup><mi>l</mi><mi>i</mi><msub><mi>k</mi><mi>j</mi></msub></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow><mrow><mo>&ForAll;</mo><mi>v</mi><mo>&Element;</mo><msup><mi>&Lambda;</mi><mi>k</mi></msup><mo>\</mo><mi>L</mi><mo>,</mo><mo>&Exists;</mo><mi>i</mi><mo>&Element;</mo><mi>I</mi><mo>:</mo><msubsup><mi>l</mi><mi>i</mi><msub><mi>k</mi><mi>i</mi></msub></msubsup><mo>&le;</mo><msub><mi>v</mi><mi>i</mi></msub><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>其中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′代替;<mrow><msubsup><mi>x</mi><mi>j</mi><msub><mi>k</mi><mi>j</mi></msub></msubsup><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>i</mi><mi>r</mi></msubsup><mo>></mo><msubsup><mi>x</mi><mi>i</mi><msub><mi>k</mi><mi>j</mi></msub></msubsup><msubsup><mover><mi>x</mi><mo>^</mo></mover><mi>j</mi><mi>r</mi></msubsup><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mi>I</mi><mo>,</mo><mi>i</mi><mo>&NotEqual;</mo><mi>j</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>其中为所找的叶子节点矩阵中的元素;7.3)根据公式(11)计算出trial′所在节点TreeNode的下界估计值ytrial,其中xi用trial′代替;<mrow><msup><mi>H</mi><mi>K</mi></msup><mrow><mo>(</mo><mi>x</mi><mo>)</mo></mrow><mo>=</mo><munder><mi>max</mi><mrow><mi>k</mi><mo>&le;</mo><mi>K</mi></mrow></munder><munder><mi>min</mi><mrow><mi>i</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>.</mo><mo>.</mo><mo>.</mo><mi>N</mi><mo>+</mo><mn>1</mn></mrow></munder><mfrac><msub><mi>x</mi><mi>i</mi></msub><msubsup><mi>l</mi><mi>i</mi><mi>k</mi></msubsup></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>其中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对应的支撑矩阵代替;<mrow><msubsup><mi>x</mi><mi>min</mi><mo>'</mo></msubsup><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>=</mo><mi>diag</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>/</mo><mi>Trace</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>其中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)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410138893.6/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top