[发明专利]一种基于n邻近Lipschitz支撑面的广义增强群体全局优化方法在审

专利信息
申请号: 201510607337.3 申请日: 2015-09-22
公开(公告)号: CN105160436A 公开(公告)日: 2015-12-16
发明(设计)人: 张贵军;周晓根;郝小虎;陈凯;徐东伟;李章维 申请(专利权)人: 浙江工业大学
主分类号: G06Q10/04 分类号: G06Q10/04
代理公司: 杭州斯可睿专利事务所有限公司 33241 代理人: 王利强
地址: 310014 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于n邻近Lipschitz支撑面的广义增强群体全局优化方法,在群体进化算法框架下,基于Lipschitz估计理论,首先,对新个体的n邻近个体建立Lipschitz下界支撑面,从而获取新个体的下界估计信息;然后,根据下界估计信息设计选择策略来指导种群更新,有效减少目标函数评价次数;其次,根据下界估计极值信息排除部分无效区域,提高算法的搜索效率和可靠性;最后,根据n邻近个体的下降方向和Lipschitz下界支撑面的下降方向设计广义增强方向,从而根据广义增强方向作局部增强,进一步加快算法的收敛速度。本发明计算代价和空间复杂度较低,且不需要进行模型选择和样本训练。
搜索关键词: 一种 基于 邻近 lipschitz 支撑 广义 增强 群体 全局 优化 方法
【主权项】:
一种基于n邻近Lipschitz支撑面的广义增强群体全局优化方法,其特征在于:所述全局优化方法包括以下步骤:1)初始化:设置常数C,种群规模NP,交叉概率CR,增益常数F,各变量的下界aj和上界bj,置无效区域IR为空,n邻近个体数目n;进化代数g=0,误差值ε,在各变量定义域范围内随机生成初始种群P={x1,g,x2,g,...,xNP,g},xi,g,i=1,2,…,Np表示第g代种群中的第i个个体;2)建立初始支撑矩阵:2.1)根据公式(1)对N+1维单位单纯形区域S的各顶点进行转换得到点<mrow><msup><mi>x</mi><mrow><mo>&prime;</mo><mn>1</mn></mrow></msup><mo>,</mo><msup><mi>x</mi><mrow><mo>&prime;</mo><mn>2</mn></mrow></msup><mo>,</mo><mo>...</mo><mo>,</mo><msup><mi>x</mi><mrow><mo>&prime;</mo><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>,</mo><mi>S</mi><mo>&equiv;</mo><mo>{</mo><mi>x</mi><mo>&Element;</mo><msup><mi>R</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>,</mo><msub><mi>x</mi><mi>j</mi></msub><mo>&GreaterEqual;</mo><mn>0</mn><mo>,</mo><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></munderover><msub><mi>x</mi><mi>j</mi></msub><mo>=</mo><mn>1</mn><mo>}</mo><mo>;</mo></mrow><mrow><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mo>&prime;</mo><mi>k</mi></mrow></msubsup><mo>&equiv;</mo><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>j</mi><mi>k</mi></msubsup><mo>-</mo><msub><mi>a</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow><mo>/</mo><msubsup><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><mrow><mo>(</mo><mrow><msub><mi>b</mi><mi>j</mi></msub><mo>-</mo><msub><mi>a</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><mrow><mo>&prime;</mo><mi>k</mi></mrow></msubsup><mo>&equiv;</mo><mn>1</mn><mo>-</mo><msubsup><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></msubsup><msubsup><mi>x</mi><mi>j</mi><mrow><mo>&prime;</mo><mi>k</mi></mrow></msubsup></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><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>其中aj的下界,bj的上界,其中为点在S中的坐标值,上标k表示单位单纯形的第k个顶点,N为问题维数;2.2)根据公式(2)计算x′1,x′2,...,x′N+1的支撑向量l1,l2,...,lN+1,式中f(xk)表示xk对应的目标函数值;<mrow><msup><mi>l</mi><mi>k</mi></msup><mo>=</mo><mrow><mo>(</mo><mfrac><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>k</mi></msup><mo>)</mo></mrow></mrow><mi>C</mi></mfrac><mo>-</mo><msubsup><mi>x</mi><mn>1</mn><mi>k</mi></msubsup><mo>,</mo><mfrac><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>k</mi></msup><mo>)</mo></mrow></mrow><mi>C</mi></mfrac><mo>-</mo><msubsup><mi>x</mi><mn>2</mn><mi>k</mi></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><mfrac><mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mi>k</mi></msup><mo>)</mo></mrow></mrow><mi>C</mi></mfrac><mo>-</mo><msubsup><mi>x</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><mi>k</mi></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>其中,C为足够大的常数,其中分别用代替;2.3)建立初始矩阵支撑矩阵L={l1,l2,...,lN+1}T,支撑矩阵L如公式(3);其中,k1,k2,…,kN+1为支撑矩阵的行标,1,2,…,N+1为支撑矩阵的列标,<mrow><msup><mi>l</mi><mi>i</mi></msup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>l</mi><mn>1</mn><msub><mi>k</mi><mi>i</mi></msub></msubsup><mo>,</mo><msubsup><mi>l</mi><mn>2</mn><msub><mi>k</mi><mi>i</mi></msub></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>l</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>k</mi><mi>i</mi></msub></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>i=1,2,…,N+1,i=1,2,…,N+1,j=1,2,…,N+1表示支持矩阵L的第ki行第j列的元素;3)判断是否满足终止条件:计算出当前群体中的最优个体xbest和最差个体xworst,如果满足终止条件|f(xbest)‑f(xworst)|≤ε,其中,ε为允许误差,则保存结果并退出,否则进入步骤4);4)建立n叉树保存各下界估计值:以支撑矩阵L={l1,l2,...,lN+1}为根建立树;5)对于种群中的每个目标个体xi,g,i=1,2,…,Np,执行交叉、变异操作产生新个体xtrial:5.1)从种群中任意选取三个个体{xa,g,xb,g,xc,g|a,b,c∈{1,2,...,Np},a≠b≠c,≠i},g表示进化代数,i为目标个体的索引;5.2)根据公式(4)对执行变异操作,生成变异个体vi,g;vi,g=xa,g+F·(xb,g‑xc,g)   (4)5.3)根据公式(5)执行交叉操作,生成新个体xtrial<mrow><msub><mi>x</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><msubsup><mi>v</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mi> </mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>b</mi><mrow><mo>(</mo><mrow><mn>0</mn><mo>,</mo><mn>1</mn></mrow><mo>)</mo></mrow><mo>&le;</mo><msub><mi>C</mi><mi>R</mi></msub><mi>o</mi><mi>r</mi><mi> </mi><mi>j</mi><mo>=</mo><mi>r</mi><mi>n</mi><mi>b</mi><mi>r</mi><mrow><mo>(</mo><mi>j</mi><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><msubsup><mi>x</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced><mo>,</mo><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>其中,xtrial,j表示新个体xtrial的第j维元素,表示第g代种群中第i个个体xi,g的第j维元素,表示第g代种群中第i个变异个体vi,g的第j维元素,randb(0,1)表示为产生0到1之间的随机小数,rnbr(j)表示随机产生1到N之间的整数;6)根据公式(6)从树中找出包含xtrial的树叶在节点TreeNode,并判断新个体xtrial是否在无效区域中;<mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><msub><mi>k</mi><mi>j</mi></msub></msubsup><mo>)</mo><mo>&lt;</mo><mo>(</mo><msub><mi>x</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi><mo>,</mo><mi>i</mi></mrow></msub><mo>-</mo><msubsup><mi>x</mi><mi>i</mi><msub><mi>k</mi><mi>j</mi></msub></msubsup><mo>)</mo><mo>,</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mo>{</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>}</mo><mo>,</mo><mi>i</mi><mo>&NotEqual;</mo><mi>j</mi><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>其中,分别表示所找的叶子节点矩阵中第kj行第j列和第i列对应的元素,若新个体xtrial包含在无效区域IR中,则抛弃此新个体xtrial,且直接进入下一次迭代;7)若新个体不在无效区域中,则选取新个体的n邻近个体,并建立支撑向量:7.1)根据公式(7)选取新个体xtrial的n邻近个体xk,k=1,2,…,n,即与xtrial距离最近的n个个体;<mrow><mi>d</mi><mi>i</mi><mi>s</mi><mo>=</mo><msqrt><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msub><mi>x</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>7.2)根据公式(2)计算xk的支撑向量lk,其中7.3)根据条件关系式(8)(9)更新树:<mrow><mo>&ForAll;</mo><mi>i</mi><mo>,</mo><mi>j</mi><mo>&Element;</mo><mo>{</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>}</mo><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>j</mi></msub></msubsup><mo>&gt;</mo><msubsup><mi>l</mi><mi>i</mi><msub><mi>k</mi><mi>i</mi></msub></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>8</mn><mo>)</mo></mrow></mrow><mrow><mo>&ForAll;</mo><mi>r</mi><mo>&NotElement;</mo><mo>{</mo><msub><mi>k</mi><mn>1</mn></msub><mo>,</mo><msub><mi>k</mi><mn>2</mn></msub><mo>,</mo><mo>...</mo><mo>,</mo><msub><mi>k</mi><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></msub><mo>}</mo><mo>,</mo><mo>&Exists;</mo><mi>i</mi><mo>&Element;</mo><mo>{</mo><mn>1</mn><mo>,</mo><mn>2</mn><mo>,</mo><mo>...</mo><mo>,</mo><mi>N</mi><mo>+</mo><mn>1</mn><mo>}</mo><mo>:</mo><msub><mi>L</mi><mrow><mi>i</mi><mi>i</mi></mrow></msub><mo>=</mo><msubsup><mi>l</mi><mi>i</mi><msub><mi>k</mi><mi>i</mi></msub></msubsup><mo>&GreaterEqual;</mo><msubsup><mi>l</mi><mi>i</mi><mi>r</mi></msubsup><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>其中,表示存在;7.4)根据公式(10)计算出xtrial所在节点TreeNode的下界估计值<mrow><msub><mover><mi>y</mi><mo>&OverBar;</mo></mover><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>=</mo><munder><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mrow><mi>k</mi><mo>&le;</mo><mi>n</mi></mrow></munder><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mrow><mi>j</mi><mo>=</mo><mn>1</mn><mo>,</mo><mo>...</mo><mi>N</mi><mo>+</mo><mn>1</mn></mrow></munder><mi>C</mi><mrow><mo>(</mo><msubsup><mi>l</mi><mi>j</mi><mi>k</mi></msubsup><mo>+</mo><msub><mi>x</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi><mo>,</mo><mi>j</mi></mrow></msub><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>10</mn><mo>)</mo></mrow></mrow>其中max表示求最大值,min表示求最小值;8)利用新个体的下界估计值根据公式(11)指导种群更新,<mrow><msup><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msup><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>,</mo></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><msub><mover><mi>y</mi><mo>&OverBar;</mo></mover><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>&GreaterEqual;</mo><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>)</mo></mrow><mi>o</mi><mi>r</mi><msub><mover><mi>y</mi><mo>&OverBar;</mo></mover><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>&GreaterEqual;</mo><mi>f</mi><mrow><mo>(</mo><msubsup><mi>x</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi></mrow><mi>g</mi></msubsup><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msub><mi>x</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>,</mo></mrow></mtd><mtd><mrow><mi>e</mi><mi>l</mi><mi>s</mi><mi>e</mi><mi>i</mi><mi>f</mi><mi> </mi><mi>f</mi><mrow><mo>(</mo><msub><mi>x</mi><mrow><mi>t</mi><mi>r</mi><mi>i</mi><mi>a</mi><mi>l</mi></mrow></msub><mo>)</mo></mrow><mo>&le;</mo><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>)</mo></mrow></mrow></mtd></mtr><mtr><mtd><mrow><msup><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>,</mo></mrow></mtd><mtd><mrow><mi>o</mi><mi>t</mi><mi>h</mi><mi>e</mi><mi>r</mi><mi>w</mi><mi>i</mi><mi>s</mi><mi>e</mi></mrow></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>11</mn><mo>)</mo></mrow></mrow>其中,表示第g代种群中最优个体的目标函数值;9)如果或者则根据下界估计区域的极值信息排除部分无效区域:9.1)根据公式(12)计算出节点TreeNode所对应的下界估计区域的极小值dmin<mrow><msub><mi>d</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow></msub><mo>=</mo><mi>d</mi><mrow><mo>(</mo><mi>L</mi><mo>)</mo></mrow><mo>=</mo><mfrac><mrow><mi>C</mi><mrow><mo>(</mo><mi>T</mi><mi>r</mi><mi>a</mi><mi>c</mi><mi>e</mi><mo>(</mo><mi>L</mi><mo>)</mo><mo>+</mo><mn>1</mn><mo>)</mo></mrow></mrow><mrow><mi>N</mi><mo>+</mo><mn>1</mn></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>12</mn><mo>)</mo></mrow></mrow>其中Trace(L)表示矩阵的迹,即正对角线元素之和,L为支撑矩阵;9.2)如果dmin大于当前最优值f(xbest),则将TreeNode所对应的区域视为无效区域,并将其对应的支撑矩阵加入到IR中;10)如果新个体优于目标个体,则根据n邻近个体的下降方向和Lipschitz下界支撑面的下降方向设计广义下降方向作局部增强;11)删除树并转到步骤3);12)设置g=g+1,并转到步骤3)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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