[发明专利]一种基于PSO算法的物种生灭优化方法在审
申请号: | 202011074027.7 | 申请日: | 2020-10-09 |
公开(公告)号: | CN112163665A | 公开(公告)日: | 2021-01-01 |
发明(设计)人: | 杨永建;邓有为;甘轶;南建国;肖冰松;黄柏儒 | 申请(专利权)人: | 中国人民解放军空军工程大学 |
主分类号: | G06N3/00 | 分类号: | G06N3/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710051 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 pso 算法 物种 优化 方法 | ||
1.一种基于PSO算法的物种生灭优化方法,其特征在于,具体步骤如下:
第一步:设置物种生灭方法的参数,包括:幸存物种的数量S,物种的衍生能力A,A∈[Amin,Amax],Amax表示最大的物种衍生能力,Amin≥0表示最小的物种衍生能力;物种的生代数G,物种的爆发倍数M,收缩系数α,算法的迭代次数Iter;
第二步:设置PSO算法的参数,包括:种群大小P,学习因子c1和c2,惯性权重因子ω,粒子的最大移动速动vmax和v-max,算法的迭代次数iter;
第三步:根据优化问题建立适应度函数;对7个D维的基本测试函数的最小值进行求解,建立的适应度函数如表1所示,表中,D表示优化问题的维数,[Lmin,Lmax]表示优化区域,Lmin和Lmax分别为优化区域的下界和上界,[Lmin,Lmax]D表示每一维的优化区域都为[Lmin,Lmax];
表1优化函数用例
表中,xd为第d维的变量值,e为自然常数;
第四步:根据目标函数及优化区域的范围,采用随机化的方式,初始化物种生灭方法,并计算每个物种的适应度值;每一个物种的每一维初始化公式为:
Sp(s,d,k)=Lmax+(Lmin-Lmax)×rand (1)
A(s,d,k)=(Amax-Amin)/G (2)
其中,Sp(s,d,k)表示第s个物种、第d维在第k次优化时的值,A(s,d,k)表示第s个物种、第d维在第k次优化时的衍生能力,s=1,2,...,S表示第s个幸存物种;d=1,2,...,D表示优化问题的第d维;k=1,2,...,Iter表示物种生灭方法的第k次迭代;rand代表(0,1)之间的随机数;
第五步:对每一个幸存物种进行一次爆发;每一次大爆发时,物种每一维的更新公式为:
Spe(s,d,k,j)=Sp(s,d,k)+rand×A(s,d,k) (3)
Ae(s,d,k,j)=(Amax-Amin)/(G+1) (4)
其中,Spe(s,d,k,j)表示第s个物种、第d维,在第k次优化的第j次爆发时的值,Ae(s,d,k,j)表示第s个物种、第d维,在第k次优化的第j次爆发时的衍生能力,j=1,2,...,M表示第j次爆发;
第六步:对每一次爆发产生的新物种进行越界判断和处理;爆发所产生物种的每一维,其数值应在[Lmin,Lmax]区间之内,若不在此区间内,则该维越界;对越界物种的该维数值,用随机函数产生[Lmin,Lmax]区间内的随机数进行代替;若未越界,则不用处理;
第七步:采用PSO算法对每次爆发产生的新物种进行深度迭代;
①在爆发产生的新物种基础上,生成P个粒子,每个粒子每一维的生成公式为:
pp(p,d,i)=rand×Spe(s,d,k,j) (5)
v(p,d,i)=(Lmax-Lmin)×(rand-0.5) (6)
其中,pp(p,d,i)表示第i次迭代时的第p个粒子的第d维的值,v(p,d,i)表示第i次迭代时的第p个粒子的第d维的速度值,p=1,2,...,P表示第p个粒子;i=1,2,...,iter表示采用PSO算法的第i次迭代,初始化时i=1;
②对每个粒子进行越界判断和处理;每个粒子的每一维,其数值应在[Lmin,Lmax]区间之内,若不在此区间内,则该维越界;对越界粒子的该维数值,用随机函数产生[Lmin,Lmax]区间内的随机数进行代替;若未越界,则不用处理;
③根据所建立的适应度函数,如表1所示,计算P个粒子的适应度值,选取的标准是什么选出全局最优解pg(i),并令自身粒子最优解为粒子当前的位置;
全局最优解的选择规则为:适应度值最小的粒子位置为全局最优解;
④对每个粒子的每一维按照下式进行更新;
v(p,d,i+1)=ω×v(p,d,i)+c1×rand×[pl(p,d,i)-pp(p,d,i)]+c2×rand×(pg(i,d)-pp(p,d,i))(7)
其中,ω为惯性权重;pl(p,d,i)为第p个粒子第i次迭代时第d维的自身历史的最优位置,pg(i,d)为种群在第i次迭代时第d维的最优位置;c1和c2为加速因子;
判断速度是否在[-(Lmax-Lmin),(Lmax-Lmin)]区间内,若不在此区间内,用随机函数产生[-(Lmax-Lmin),(Lmax-Lmin)]区间内的随机数进行代替,若在此区间内,则不用处理;
pp(p,d,i+1)=pp(p,d,i)+v(p,d,i+1) (8)
判断更新后的每个粒子的每一维是否在[Lmin,Lmax]区间之内,若不在此区间内,用随机函数产生[Lmin,Lmax]区间内的随机数进行代替;若在此区间内,则不用处理;
⑤每次更新完粒子速度和位置后,计算更新后粒子的适应度函数值,若小于该粒子历史最优解的适应度函数值,则该粒子的历史最优解替换为更新后粒子的位置,否则该粒子的历史最优解不变;
当所有粒子完成该次迭代的位置更新后,选择所有更新后粒子的适应度函数值最小的粒子,将该粒子的适应度值与全局最优解的适应度值进行比较,若该粒子的适应度值更小,则将全局最优解替换为该粒子的位置;否则,全局最优解保持不变;
⑥令i=i+1并重复③-⑤步骤,直至完成iter次迭代;
⑦用完成迭代后的全局最优解pg替换当前爆发操作所产生的新物种的值,即:Spe(s,d,k,j)=pg(iter,d);
第八步:计算爆发后和爆发前该物种的适应度函数值并进行比较,若新物种的适应度值更小,则将新物种标记为主支物种,否则旧物种为主支物种;只有主支物种才能进行大爆发操作;若发生主支转移,则该物种的生代数G加1,且主支物种的衍生能力更新为该新物种的衍生能力,即:A(s,d,k)=Ae(s,d,k,j);
第九步:重复第五至第八步骤,直至完成M次爆发;
第十步:将M次爆发产生的所有新物种及爆发前已有物种的适应度函数值进行排序,选择适应度值较小的S个物种,作为下一次大爆发及大灭绝的元生代物种,并对幸存物种的衍生能力进行按式(9)进行收缩,其他物种全部淘汰;幸存物种衍生能力收缩公式为:
其中,α<1,为收缩系数;
第十一步:重复第五至十步骤,直至完成Iter次迭代。
2.如权利要求1所述的物种生灭优化方法,其特征在于,D=30。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军空军工程大学,未经中国人民解放军空军工程大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011074027.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:充电控制电路、控制盒及充电线
- 下一篇:一种快速制备水下超疏油防腐涂层的方法