[发明专利]一种基于DFP算法和差分进化的分层全局优化方法在审

专利信息
申请号: 201610139473.9 申请日: 2016-03-11
公开(公告)号: CN105760929A 公开(公告)日: 2016-07-13
发明(设计)人: 张贵军;王柳静;周晓根;郝小虎;俞旭锋;徐东伟;李章维 申请(专利权)人: 浙江工业大学
主分类号: G06N3/00 分类号: G06N3/00
代理公司: 杭州斯可睿专利事务所有限公司 33241 代理人: 王利强
地址: 310014 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于DFP算法和差分进化的分层全局优化方法,DE算法的全局探测能力强,但后期收敛速度很慢,而DFP算法具有较高的局部搜索效率,鉴于此,将DFP算法与DE算法相结合,当种群适应度不再下降时,利用当前种群的梯度信息,可加速种群向全局最优点的收敛,从而解决算法在全局探测能力与快速收敛能力之间的平衡问题。本发明的方法前期采用DE算法用以全局探测;算法进行到后期,对当前种群所有个体进行一次上层为DE算法而下层为DFP算法的两层优化,加快算法局部收敛速度,达到提高算法搜索效率这一目的。
搜索关键词: 一种 基于 dfp 算法 进化 分层 全局 优化 方法
【主权项】:
一种基于DFP算法和差分进化的分层全局优化方法,所述优化方法包括以下步骤:1)初始化:设置种群规模NP,交叉概率CR,缩放因子F;2)随机生成初始种群P={x1,g,x2,g,...,xNp,g},并计算出各个体的目标函数值,其中,g为进化代数,xi,g,i=1,2,…,Np表示第g代种群中的第i个个体,若g=0,则表示初始种群;3)算法初期,采用经典DE算法进行迭代,对种群中的每一个个体进行变异、交叉、选择这三个操作,过程如下:3.1)变异操作:DE通过差分运算完成个体变异,随机选定种群内的个体作为基向量,与经缩放的其他互异个体差分向量进行向量合成,采用Storn和Price提出的经典DE算法,即变异策略采用DE/rand/1策略:<mrow><msubsup><mi>v</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>=</mo><msubsup><mi>v</mi><mi>j</mi><mrow><msub><mi>r</mi><mn>1</mn></msub><mo>,</mo><mi>g</mi></mrow></msubsup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>v</mi><mi>j</mi><mrow><msub><mi>r</mi><mn>2</mn></msub><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>v</mi><mi>j</mi><mrow><msub><mi>r</mi><mn>3</mn></msub><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>其中j=1,2,…,N,N为问题维数,g为进化代数,r1,r2,r3∈{1,2,...,Np},r1≠r2≠r3≠i,i为当前目标个体的索引,为第g代种群中第i个目标个体的变异个体的第j维元素,分别为第g代种群中第r1、r2、r3个个体的第j维元素,F是缩放因子;3.2)交叉操作:采用二项式交叉以实现交叉组合,生成试验个体,操作如下:<mrow><msubsup><mi>trial</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><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><mrow><mo>(</mo><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>b</mi><mo>(</mo><mn>0</mn><mo>,</mo><mn>1</mn><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><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>其中,j=1,2,…,N,表示第g代种群中第i个目标个体对应的试验个体的第j维元素,randb(0,1)表示随机产生0到1之间的小数,rnbr(j)表示随机产生1到N之间的整数,CR表示交叉概率;3.3)选择操作:采用贪婪法则完成选择操作,使下一代种群中的所有个体至少不会更差于当前种群的对应个体,根据公式(3)完成种群更新:<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>trial</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>,</mo></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mi> </mi><mi>f</mi><mrow><mo>(</mo><msup><mi>trial</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><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>3</mn><mo>)</mo></mrow></mrow>其中,<mrow><msup><mi>trial</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>trial</mi><mn>1</mn><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>,</mo><msubsup><mi>trial</mi><mn>2</mn><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>trial</mi><mi>N</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>,</mo><msup><mi>x</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi><mo>+</mo><mn>1</mn></mrow></msup><mo>=</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mn>1</mn><mrow><mi>i</mi><mo>,</mo><mi>g</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>,</mo><msubsup><mi>x</mi><mn>2</mn><mrow><mi>i</mi><mo>,</mo><mi>g</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>,</mo><mo>...</mo><mo>,</mo><msubsup><mi>x</mi><mi>N</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi><mo>+</mo><mn>1</mn></mrow></msubsup><mo>)</mo></mrow><mo>,</mo></mrow>公式(3)表明,如果试验个体优于目标个体,则试验个体替换目标个体,否则保持目标个体不变;4)算法迭代m代后,基于DFP算法,采用分层优化,即上层为DE算法,而下层为DFP算法的两层优化,过程如下:4.1)首先进入上层算法:按照步骤3),执行DE算法;4.2)然后进入下层算法,过程如下:a)经上层DE算法优化过的种群为现给定初始点x(1),置x(1)=xi,m+1,i=1,…,NP,计算此点的梯度置H1=In,其中H1是满足拟牛顿条件的矩阵,In是单位矩阵,则x(1)处的搜索方向为d(1)=‑H1g1;b)在点x(1)处,沿着方向d(1)作一维搜索,其步长λ1满足公式(4)<mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>+</mo><msub><mi>&lambda;</mi><mn>1</mn></msub><msup><mi>d</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mrow><mi>&lambda;</mi><mo>&GreaterEqual;</mo><mn>0</mn></mrow></munder><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>+</mo><msup><mi>&lambda;d</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>4</mn><mo>)</mo></mrow></mrow>则x(2)=x(1)1d(1)c)在点x(2)处,计算梯度<mrow><msub><mi>g</mi><mn>2</mn></msub><mo>=</mo><mo>&dtri;</mo><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>,</mo></mrow>置p=x(2)‑x(1)<mrow><mi>q</mi><mo>=</mo><mo>&dtri;</mo><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><mo>&dtri;</mo><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>,</mo></mrow>其中分别是点x(2)、x(1)处的梯度,通过公式(5)修正H1求出x(2)点处满足拟牛顿条件的矩阵H2<mrow><msub><mi>H</mi><mn>2</mn></msub><mo>=</mo><msub><mi>H</mi><mn>1</mn></msub><mo>+</mo><mfrac><mrow><msup><mi>pp</mi><mi>T</mi></msup></mrow><mrow><msup><mi>p</mi><mi>T</mi></msup><mi>q</mi></mrow></mfrac><mo>-</mo><mfrac><mrow><msub><mi>H</mi><mn>1</mn></msub><msup><mi>qq</mi><mi>T</mi></msup><msub><mi>H</mi><mn>1</mn></msub></mrow><mrow><msup><mi>q</mi><mi>T</mi></msup><msub><mi>H</mi><mn>1</mn></msub><mi>q</mi></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>5</mn><mo>)</mo></mrow></mrow>则点x(2)处的搜索方向为d(2)=‑H2g2;d)在点x(2)处,沿着方向d(2)作一维搜索,其步长λ2满足公式(6)<mrow><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>+</mo><msub><mi>&lambda;</mi><mn>2</mn></msub><msup><mi>d</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>=</mo><munder><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mrow><mi>&lambda;</mi><mo>&GreaterEqual;</mo><mn>0</mn></mrow></munder><mi>f</mi><mrow><mo>(</mo><msup><mi>x</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>+</mo><msup><mi>&lambda;d</mi><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></msup><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>则x(3)=x(2)2d(2),此时已对种群完成了上层为DE算法而下层为DFP算法的两层优化;5)判断是否满足终止条件,如果满足则终止,并输出全局最优解。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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