[发明专利]一种基于策略适应性差分进化的全局优化方法在审

专利信息
申请号: 201511010201.0 申请日: 2015-12-29
公开(公告)号: CN105678401A 公开(公告)日: 2016-06-15
发明(设计)人: 张贵军;周晓根;俞旭锋;郝小虎;徐东伟;李章维 申请(专利权)人: 浙江工业大学
主分类号: G06Q10/04 分类号: G06Q10/04;G06N3/12
代理公司: 杭州斯可睿专利事务所有限公司 33241 代理人: 王利强
地址: 310014 浙江省杭州市*** 国省代码: 浙江;33
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种基于策略适应性差分进化的全局优化方法,首先,计算出种群中各个体与当前种群中最优个体之间的距离,并分别根据距离和目标函数值对整个种群进行排名;然后,根据距离排名和目标函数值排名的平均误差值判断当前种群中个体的分布情况,进而判断算法搜索所处的状态,即全局探测和局部搜索,同时对每种搜索状态设置多个不同的变异策略;最后,对于种群中的每个个体从其对应的状态策略池中随机选择一个变异策略来产生新个体,从而达到平衡算法全局探测能力和局部增强能力的效果。本发明有效避免策略选择不当而影响算法的性能、提升优化性能。
搜索关键词: 一种 基于 策略 适应性 进化 全局 优化 方法
【主权项】:
一种基于策略适应性差分进化的全局优化方法,其特征在于:所述优化方法包括以下步骤:1)初始化:设置种群规模NP,初始交叉概率CR,初始增益常数F;2)随机生成初始种群P={x1,g,x2,g,...,xNp,g},并计算出各个体的目标函数值,其中,g为进化代数,xi,g,i=1,2,…,Np表示第g代种群中的第i个个体,若g=0,则表示初始种群;3)根据各个体xi,g的目标函数值f(xi,g)对各个体进行降序排列,并记下各个体的排名Fi,g,并找出当前种群中的最优个体xbest,g,其中,Fi,g表示第g代种群中第i个个体的目标函数值排名;4)根据公式(1)计算出初始种群中各个体与最优个体xbest,g之间的距离di,g<mrow><msup><mi>d</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>=</mo><mrow><mo>(</mo><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>p</mi></msub></munderover><munderover><mo>&Sigma;</mo><mrow><mi>k</mi><mo>=</mo><mi>i</mi><mo>+</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>P</mi></msub></munderover><msqrt><mrow><munderover><mo>&Sigma;</mo><mrow><mi>j</mi><mo>=</mo><mn>1</mn></mrow><mi>N</mi></munderover><msup><mrow><mo>(</mo><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>g</mi></mrow></msubsup></mrow><mo>)</mo></mrow><mn>2</mn></msup></mrow></msqrt><mo>)</mo></mrow><mo>/</mo><mrow><mo>(</mo><msub><mi>N</mi><mi>p</mi></msub><mo>(</mo><mrow><msub><mi>N</mi><mi>p</mi></msub><mo>-</mo><mn>1</mn></mrow><mo>)</mo><mo>/</mo><mn>2</mn><mo>)</mo></mrow><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>1</mn><mo>)</mo></mrow></mrow>其中,di,g表示第g代种群中第i个个体与最优个体xbest,g之间的距离,表示第g代种群中第i个个体xi,g的第j维元素,表示第g代种群中第最优个体xbest,g的第j维元素,N为问题维数,NP为种群规模;5)根据各个体与最优个体之间的距离di,g进行降序排列,并记下各个体的排名Di,g,Di,g表示第g代种群中第i个个体的距离排名;6)根据式(2)计算每一代中目标值排名和距离排名的平均误差值Eg<mrow><msup><mi>E</mi><mi>g</mi></msup><mo>=</mo><mfrac><mn>1</mn><msub><mi>N</mi><mi>p</mi></msub></mfrac><munderover><mo>&Sigma;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><msub><mi>N</mi><mi>p</mi></msub></munderover><mo>|</mo><mrow><msup><mi>F</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup><mo>-</mo><msup><mi>D</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msup></mrow><mo>|</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>2</mn><mo>)</mo></mrow></mrow>其中Eg表示第g代种群的平均误差值;7)根据公式(3)将平均误差值Eg进行归一化处理:<mrow><msup><mover><mi>E</mi><mo>&OverBar;</mo></mover><mi>g</mi></msup><mo>=</mo><mfrac><mrow><msup><mi>E</mi><mi>g</mi></msup><mo>-</mo><msubsup><mi>E</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mi>g</mi></msubsup></mrow><mrow><msubsup><mi>E</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mi>g</mi></msubsup><mo>-</mo><msubsup><mi>E</mi><mrow><mi>m</mi><mi>i</mi><mi>n</mi></mrow><mi>g</mi></msubsup></mrow></mfrac><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>3</mn><mo>)</mo></mrow></mrow>其中,表示平均误差值Eg的归一化值,平均误差值表示Eg的最小值,取值始终为0,为Eg的最大值,当种群规模Np为偶数时,当种群规模Np为奇数时,<mrow><msubsup><mi>E</mi><mrow><mi>m</mi><mi>a</mi><mi>x</mi></mrow><mi>g</mi></msubsup><mo>=</mo><mrow><mo>(</mo><msup><msub><mi>N</mi><mi>p</mi></msub><mn>2</mn></msup><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>/</mo><mn>2</mn><msub><mi>N</mi><mi>p</mi></msub><mo>;</mo></mrow>8)判断进化过程所处的状态,对种群中的每个个体随机选择变异策略进行变异:8.1)如果则算法处于全局探测阶段,根据式(4)进行变异:<mrow><msubsup><mi>v</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mi>p</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mi> </mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>p</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>c</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mi> </mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mn>2</mn></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>p</mi><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><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>4</mn><mo>)</mo></mrow></mrow>8.2)如果则算法处在局部搜索阶段,则根据式(5)进行变异:<mrow><msubsup><mi>v</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>=</mo><mfenced open = "{" close = ""><mtable><mtr><mtd><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mi> </mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mn>1</mn></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>c</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>,</mo></mrow></mtd><mtd><mrow><mi>i</mi><mi>f</mi><mi> </mi><mi>r</mi><mi>a</mi><mi>n</mi><mi>d</mi><mi>n</mi><mrow><mo>(</mo><mn>1</mn><mo>,</mo><mn>3</mn><mo>)</mo></mrow><mo>=</mo><mn>2</mn></mrow></mtd></mtr><mtr><mtd><mrow><msubsup><mi>x</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mi>e</mi><mi>s</mi><mi>t</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>i</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><mo>+</mo><mi>F</mi><mo>&CenterDot;</mo><mrow><mo>(</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>a</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>-</mo><msubsup><mi>x</mi><mi>j</mi><mrow><mi>b</mi><mo>,</mo><mi>g</mi></mrow></msubsup><mo>)</mo></mrow><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>5</mn><mo>)</mo></mrow></mrow>在8.1)和8.2)中,rand(0,1)表示在区间[0,1]之间随机生成一个小数,j=1,2,…,N,N为问题维数,g为进化代数,randn(1,3)表示在区间[1,3]之间随机生成一个整数,a,b,c∈{1,2,...,Np},a≠b≠c≠i,i为当前目标个体的索引,为第g代种群中第i个目标个体的变异个体的第j维元素,分别为第g代种群中第a、b、c个个体的第j维元素,为从0.5Nprandb(0,1)个个体中随机选取的最优个体的第j维元素,randb(0,1)表示随机产生0到1之间的小数,为当前第g代种群中的最优个体的第j维元素,F表示增益常数;9)根据公式(6)对每个变异个体进行交叉生成新个体triali,g<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><mtable><mtr><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></mrow></mtd><mtd><mrow><mi>o</mi><mi>r</mi></mrow></mtd><mtd><mrow><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></mtable></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>6</mn><mo>)</mo></mrow></mrow>其中,j=1,2,…,N,表示第g代种群中第i个目标个体对应的新个体triali,g的第j维元素,randb(0,1)表示为随机产生0到1之间的小数,rnbr(j)表示随机产生1到N之间的整数,CR表示交叉概率;10)根据公式(7)对每个新个体进行种群更新:<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>7</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></mrow><mrow><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>公式(7)表明,如果新个体优于目标个体,则新个体替换目标个体,否则保持目标个体不变;11)判断是否满足终止条件,如果满足,则保存结果并退出,否则返回步骤3)。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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