一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种多样搜索策略离散粒子群算法

2022-07-16 13:40:00 来源:中国专利 TAG:


1.本发明涉及到通信、雷达、系统智能优化、资源规划调度、稀疏天线布阵等对优化算法有需求的领域,具体涉及到利用多样搜索策略的改进粒子群算法求解单目标或多目标的约束优化问题。


背景技术:

2.智能优化算法已经在许多领域得到了非常广泛的应用,相关学者对此展开了广泛的研究,经历了从早期的进化算法如遗传算法(genetic algorithm,ga)到群智能算法、仿生算法再到如今的元启式发算法的发展过程。在群智能算法中,粒子群优化算法(particle swarm optimization,pso)由于其具有结构简单、易于实现、无需梯度信息、参数少等特点在连续和离散函数优化问题中都表现出良好的效果。它模仿鸟群和鱼群的群体觅食行为,每个粒子的位置代表优化问题的一个解,每个粒子根据自身的运动经验和群体中其他成员的运动经验来调整自己的运动速度和方向,以向更好的位置移动,即搜索到更好的解。传统方法中每一个粒子同时向自身历史最优解pbest和群体历史最优解gbest学习,如果当前群体最优解在较长迭代次数内没有改进,粒子很快就会陷入局部最优,并且无法跳出,从而导致算法搜索停滞,效果不佳。现有方法为了避免粒子在解空间分布性的过快损失,对粒子群体分布的多样性评价方法给出了多种不同评价策略,例如将部分粒子在解空间重新初始化,或者引入“吸引力”和“排斥力”的概念来保持种群多样性。但是这些方法往往只侧重于对算法效率的提升或是对全局搜索能力的改善,而对算法在全局搜索和局部搜索过程之间的平衡未做太多深入的研究,因此在不同搜索阶段不具备动态调整搜索侧重点的能力,综合效果受到一定影响。
3.针对上述不足,本发明在标准的离散粒子群算法(discrete particle swarm optimization,dpso)的基础上,参考环形拓扑小生境算法原理,提出了一种基于分散解集合的全局粒子学习策略,实现了出色的全局搜索能力和鲁棒性;同时在算法后期启动基于模式搜索思想的局部搜索策略,通过控制搜索变异概率γ让粒子在相邻解空间中充分搜索,增强局部搜索能力;最后根据粒子的运行状态调整粒子的搜索行为,通过变异策略在适当时机直接跳出局部最优解。针对不同搜索阶段给出不同的调整策略,可以兼顾算法的种群多样性和局部搜索能力。


技术实现要素:

4.本发明要解决的问题是:如何在粒子群算法的不同搜索阶段动态平衡算法的全局搜索能力与局部收敛性。解决该技术问题的方法是一种多样搜索策略离散粒子群优化算法,其实现步骤是:
5.(1)算法参数定义:种群数量为np个;粒子维数为d;算法最大迭代次数为t;学习因子为c1;惯性权重为w;粒子速度为vi(i=1,2,

,np)是一个d维向量,vi=(v
i1
,v
i2
,

,v
id
),速度取值范围为[v
min
,v
max
];粒子位置为xi(i=1,2,

,np),也是一个d维向量,xi=(x
i1
,
x
i2
,

,x
id
),其取值和变化只限于0和1两个值;
[0006]
建立优化模型,设置优化目标为使适应度函数fit(xi)最小,不同具体应用的适应度函数fit(xi)具有不同表示;由粒子的适应度函数fit(xi)确定该粒子的个体位置最优解为pbesti,其对应的个体最优适应度函数值为fitpi;整个群体的位置最优解为gbest,其对应的群体最优适应度函数值为fitg;tpbi表示粒子i的个体最优解已经连续没有更新的迭代次数;txbi表示粒子i的位置xi连续移动距离都小于设定值ε的迭代次数;pb为所有粒子个体最优解集合,pu为一个包含搜索空间内部分优秀解的集合,pu与pb组成解集合pg;
[0007]
(2)算法初始化:参数tpbi=0,txbi=0;迭代次数t=1;产生初始种群,种群中各粒子分散分布于整个搜索空间;初始化粒子个体最优解pbesti、个体最优适应度值fitpi和群体最优解gbest、群体最优适应度值fitg
[0008]
pbesti(1)=xi(1)i=1,2,

,np
[0009]
fitpi(1)=fit[pbesti(1)]i=1,2,

,np
[0010]
fitg(1)=fitpa(1)=min{fitp1(1),fitp2(1),

,fitp
np
(1)}
[0011]
gbest(1)=xa(1)
[0012]
初始化优秀解集合pu,令pu=pb;
[0013]
(3)运行第t次迭代:计算各粒子适应度函数值,更新个体粒子最优解pbesti[0014][0015]
若pbesti被更新,则将参数tpbi的值清零,将被淘汰的pbesti与优秀解集合pu的最差解pworst进行比较并更新pworst
[0016][0017]
若未更新,则令参数tpbi=tpbi 1;
[0018]
更新群体最优解gbest
[0019]
fitpi(t 1)=fit[pbesti(t 1)]i=1,2,

,np
[0020]
fitg(t 1)=min{fitp1(t 1),fitp2(t 1),

,fitp
np
(t 1)}=fit[xa(t 1)]
[0021]
gbest(t 1)=xa(t 1)
[0022]
(4)粒子速度和位置更新:从d维中随机选择m个维度组成集合c,对c中的任意维度d,从pg中随机选择n个候选解与粒子i的相邻粒子最优解pbest
i-1
、pbest
i 1
组合,粒子i在维度d上向组合中的最优解pgood学习;粒子i的速度更新公式为
[0023][0024]
对各粒子的位置进行更新,粒子i的维度j的位置更新公式为
[0025]
[0026][0027]
式中,s(v
ij
)是一个映射函数,将粒子的速度信息转换成粒子位置取值的概率信息;r是[0,1]范围内的均匀随机数,通过比较r与s(v
ij
)的大小更新x
ij
的状态;判断迭代次数t是否大于局部变异启动门限t
l
,若是,则进入步骤(5),否则直接进入步骤(6);
[0028]
(5)启动局部变异搜索策略:用一个相对较小的变异概率γ对群体中每一个粒子位置xi的所有维度进行连续多次变异,使粒子从原位置向其他位置移动;如果变异位置x
′i相比于xi具有更低的适应度函数值,那么就用x
′i取代xi,并放大变异概率γ,增加粒子的移动距离;如果变异点x
′i相比于xi并不具有更低的适应度函数值,那么保持xi不变,并缩小变异概率γ;可以得到变异概率γ的更新公式
[0029][0030]
式中,k为变异次数;ρ为扩张参数,ρ》1;μ为收缩参数,0《μ《1;当变异概率γ的大小已经小于事先设定的收敛概率γe时,可以认为粒子i在相邻解空间内已经没有更优解的存在了,此时停止变异;
[0031]
(6)启动个体变异策略:判断tpbi》u和txbi》h是否同时成立,其中u和h为设定的个体变异门限参数;若不是,直接进入步骤(7);若是,认定粒子i已经陷入局部最优,此时用个体变异概率γa对粒子位置xi的所有维度进行变异,γa的取值可以稍大以使粒子i足够跳出局部最优解及其附近区域;有
[0032][0033]
式中,rd为[0,1]范围内的均匀随机数;
[0034]
(7)粒子位置约束:计算粒子位置xi(t 1)和xi(t)之间的移动距离,比较xi移动距离与设定值ε的大小关系,更新参数txbi;
[0035]
(8)粒子速度边界条件处理:对粒子i的第d个维度,其速度修正公式可以表示为
[0036][0037]
(9)输出群体最优解gbest:判断迭代次数t是否达到最大迭代次数t,若是,则结束算法;若不是则令迭代次数t=t 1,返回步骤(3)。
[0038]
本发明的有益效果是,针对不同搜索阶段给出了自适应调整策略,可以兼顾算法的种群多样性和局部搜索能力,搜索性能和稳定性强于现有方法。本发明可以运用到任何通信、雷达、计算机、资源调度、系统优化、稀疏布阵等对求解单目标或多目标约束优化问题有需求的领域。
附图说明
[0039]
图1是一种多样搜索策略离散粒子群优化算法总体步骤框图;
[0040]
图2是全局粒子学习策略示意图;
[0041]
图3是局部变异搜索策略流程框图;
具体实施方式
[0042]
运用多样搜索策略离散粒子群优化算法对模型进行优化,总体步骤如图1所示。具体实现步骤为:
[0043]
(1)算法参数定义:种群数量为np个;粒子维数为d;算法最大迭代次数为t;学习因子为c1;惯性权重为w;粒子速度为vi(i=1,2,

,np)是一个d维向量,vi=(v
i1
,v
i2
,

,v
id
),速度取值范围为[v
min
,v
max
];粒子位置为xi(i=1,2,

,np),也是一个d维向量,xi=(x
i1
,x
i2
,

,x
id
),其取值和变化只限于0和1两个值;
[0044]
建立优化模型,设置优化目标为使适应度函数fit(xi)最小,不同具体应用的适应度函数fit(xi)具有不同表示;由粒子的适应度函数fit(xi)确定该粒子的个体位置最优解为pbesti,其对应的个体最优适应度函数值为fitpi;整个群体的位置最优解为gbest,其对应的群体最优适应度函数值为fitg;tpbi表示粒子i的个体最优解已经连续没有更新的迭代次数;txbi表示粒子i的位置xi连续移动距离都小于设定值ε的迭代次数;pb为所有粒子个体最优解集合,pu为一个包含搜索空间内部分优秀解的集合,pu与pb组成解集合pg;
[0045]
(2)算法初始化:参数tpbi=0,txbi=0;迭代次数t=1;产生初始种群,种群中各粒子分散分布于整个搜索空间;初始化粒子个体最优解pbesti、个体最优适应度值fitpi和群体最优解gbest、群体最优适应度值fitg
[0046]
pbesti(1)=xi(1)i=1,2,

,np
[0047]
fitpi(1)=fit[pbesti(1)]i=1,2,

,np
[0048]
fitg(1)=fitpa(1)=min{fitp1(1),fitp2(1),

,fitp
np
(1)}
[0049]
gbest(1)=xa(1)
[0050]
初始化优秀解集合pu,令pu=pb;
[0051]
(3)运行第t次迭代:计算各粒子适应度函数值,更新个体粒子最优解pbesti[0052][0053]
若pbesti被更新,则将参数tpbi的值清零,将被淘汰的pbesti与优秀解集合pu的最差解pworst进行比较并更新pworst
[0054][0055]
若未更新,则令参数tpbi=tpbi 1;
[0056]
更新群体最优解gbest
[0057]
fitpi(t 1)=fit[pbesti(t 1)]i=1,2,

,np
[0058]
fitg(t 1)=min{fitp1(t 1),fitp2(t 1),

,fitp
np
(t 1)}=fit[xa(t 1)]
[0059]
gbest(t 1)=xa(t 1)
[0060]
(4)粒子速度和位置更新:从d维中随机选择m个维度组成集合c,对c中的任意维度d,从pg中随机选择n个候选解与粒子i的相邻粒子最优解pbest
i-1
、pbest
i 1
组合,粒子i在维
度d上向组合中的最优解pgood学习,粒子学习策略如图2所示;粒子i的速度更新公式为
[0061][0062]
对各粒子的位置进行更新,粒子i的维度j的位置更新公式为
[0063][0064][0065]
式中,s(v
ij
)是一个映射函数,将粒子的速度信息转换成粒子位置取值的概率信息;r是[0,1]范围内的均匀随机数,通过比较r与s(v
ij
)的大小更新x
ij
的状态;判断迭代次数t是否大于局部变异启动门限t
l
,若是,则进入步骤(5),否则直接进入步骤(6);
[0066]
(5)启动局部变异搜索策略:用一个相对较小的变异概率γ对群体中每一个粒子位置xi的所有维度进行连续多次变异,使粒子从原位置向其他位置移动;如果变异位置x
′i相比于xi具有更低的适应度函数值,那么就用x
′i取代xi,并放大变异概率γ,增加粒子的移动距离;如果变异点x
′i相比于xi并不具有更低的适应度函数值,那么保持xi不变,并缩小变异概率γ,局部变异策略示意图如图3所示;可以得到变异概率γ的更新公式
[0067][0068]
式中,k为变异次数;ρ为扩张参数,ρ》1;μ为收缩参数,0《μ《1;当变异概率γ的大小已经小于事先设定的收敛概率γe时,可以认为粒子i在相邻解空间内已经没有更优解的存在了,此时停止变异;
[0069]
(6)启动个体变异策略:判断tpbi》u和txbi》h是否同时成立,其中u和h为设定的个体变异门限参数;若不是,直接进入步骤(7);若是,认定粒子i已经陷入局部最优,此时用个体变异概率γa对粒子位置xi的所有维度进行变异,γa的取值可以稍大以使粒子i足够跳出局部最优解及其附近区域;有
[0070][0071]
式中,rd为[0,1]范围内的均匀随机数;
[0072]
(7)粒子位置约束:计算粒子位置xi(t 1)和xi(t)之间的移动距离,比较xi移动距离与设定值ε的大小关系,更新参数txbi;
[0073]
(8)粒子速度边界条件处理:对粒子i的第d个维度,其速度修正公式可以表示为
[0074][0075]
(9)输出群体最优解gbest:判断迭代次数t是否达到最大迭代次数t,若是,则结束算法;若不是则令迭代次数t=t 1,返回步骤(3)。
[0076]
本发明能够针对不同搜索阶段给出自适应调整策略,兼顾算法的种群多样性和局部搜索能力,提高算法的搜索性能和稳定性。本发明可以运用到任何通信、雷达、计算机、资源调度、系统优化、稀疏布阵等对求解单目标或多目标约束优化问题有需求的领域。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献