【技术实现步骤摘要】
一种分布式粒子群优化算法
[0001]本专利技术涉及分布式粒子群优化算法
,尤其涉及一种分布式粒子群优化算法。
技术介绍
[0002]粒子群优化算法(ParticleSwarmOptimization,PSO)是一类典型的启发式优化算法,且常被用于解决一些NP
‑
Hard问题。PSO算法的优点包括结构简单和控制过程涉及的参数较少。但是,由于PSO算法的经验特性,该算法在寻优时容易过早地收敛到局部极优值。此外,在每一次迭代中,每个粒子都需要将其所有信息交换给所有其它的粒子,这会导致粒子间庞大的信息传递量。尤其在当种群规模极大时,这个缺点严重地限制了PSO算法在分布式系统中的应用。因此,提出一种可以避免陷入局部极优值且适合于控制大规模分布式系统的新型PSO算法是很有必要的。
[0003]PSO算法优化的过程是基于群体的协作来搜索的,在搜索问题最优解的过程中,所有的粒子个体都会向种群中最好的经验学习,使得所有的粒子都向着当前最好的位置的周围区域移动和靠近,假若种群当前所发现的全局最优解并非真正的全局最优解,而仅仅是一个局部极优值的话,整个粒子群很可能都靠近这个局部的极优值,即整个粒子种群陷入到局部极优的状态。一般产生这种现象的原因可以归结为两大类:一类是优化对象和优化问题的特点,比如待优化的问题是一个很复杂的多峰函数、病态函数或者动态突变的函数等;另外一类就是优化算法本身的缺陷导致的早熟,比如算法的参数调节不当,种群的规模太小或者是所采用控制策略不够有效等。一般情况下,人们无法决定和改变被优 ...
【技术保护点】
【技术特征摘要】
1.一种分布式粒子群优化算法,其特征在于,包括以下步骤:S1:粒子代表选取:通过算法进行粒子代表选取;S2:确定粒子行为模式:由专业人员通过编写的算法计算粒子的行为模式;S3:切换策略:通过算法进行粒子行为的切换策略。2.根据权利要求1所述的一种分布式粒子群优化算法,其特征在于,所述S1中,通过算法进行粒子代表选取,其中所述算法采用PRSPBS
‑
DPSO算法,且进行粒子代表选取时由专业人员通过PRSPBS
‑
DPSO算法先从粒子种群中选取一定的粒子作为粒子的代表,粒子代表选取完成后自动对粒子进行命名,其中进行命名时将被选择成为代表的粒子命名为粒子代表,剩余未被选择成为粒子代表的粒子则命名为普通粒子,所述粒子种群中所有的粒子都是独立地更新自己的位置以及速度,且粒子之间的协作是以信息交流为基础的,选择出来的粒子代表之间通过互相传递最优的经验信息促进和指导整个粒子群的搜索,为了更合理高效地选取粒子代表,所述PRS算法中粒子代表的选取基于两个因素,其中第一个因素是粒子所对应的目标函数的取值,第二个因素是粒子的所有相邻粒子的数目,对于第i个粒子来讲,它的相邻粒子的索引集合定义公式为公式(1)ind
t
(i)={j∈P|d
t
(X
i
,X
j
)≤θ1},其中P是指种群中所有粒子的集合,θ1是一个给定的阈值且它取值的大小取决于种群中的粒子的总数目,且所述公式中第j个粒子为第i个粒子的相邻粒子,在t时刻第i个粒子的相邻粒子的总数被记作||ind
t
(i)||,其中进行粒子代表选取时记作条件一为则第i个粒子在t时刻被选择成为粒子代表的可能性定义公式为公式(2)其中是第i个粒子在t时刻所对应的目标函数的取值,是第i个粒子在t时刻能够被选择成为粒子代表的可能性取值,ω1和ω2均为权重系数,且ω1的取值往往设置的比ω2的取值大,所述权重系数用于反映粒子的目标函数的取值和粒子的相邻粒子的数量对该粒子能够被选择成为粒子代表的可能性取值的影响程度,其中粒子被选择成为粒子代表的可能性取值越大,粒子就越容易被选择成为粒子代表,通过定义一个指示函数来表示第i个粒子在t时刻是否被选择成为粒子代表,其中所述指示函数公式为公式(3)其中Pr(t)指的是被选择成为粒子代表的所有粒子的集合,P
i
代表第i个粒子。3.根据权利要求2所述的一种分布式粒子群优化算法,其特征在于,通过计算指示函数确定粒子是否有可能会被选择成为t+1时刻的粒子代表,其中进行计算时对于第i个粒子采用的指示函数包括公式(4)和公式(5)其中θ2是一个给定的阈值,且θ2的取值取决于种群中粒子的总数,粒子在未来有可能被选择
为粒子代表则对应的指示函数取值为1,粒子在未来不可能被选择为粒子代表则对应的指示函数取值为0,同时由专业人员通过将H
t
设置为||Pr(t)||取值的下界获得足够的数量的粒子代表所述||Pr(t)||为t时刻被选择成为粒子代表的总数量,所述H
t
由专业人员进行预先设计,并通过预先设计将H
t
设计为动态的,且所述H
t
表示公式为公式(6)其中H
tmin
和H
tmax
分别是H
t
取值的最小值以及最大值,t代表当前的迭代次数,maxiter代表迭代次数的最大取值进行设计时由专业人人员将H
tmax
的取值设为粒子总数量的五分之四,而将H
tmin
的取值设为粒子总数量的五分之一。4.根据权利要求3所述的一种分布式粒子群优化算法,其特征在于,在PRS算法的第一次迭代中从满足条件一的所有粒子中选择新的粒子代表,其中所述粒子代表是基于公式(2)从所有粒子中进行选取,并选择在公式(2)中可能性取值最大的粒子作为粒子代表,粒子代表选取完成后先假定选取的粒子代表被暂时删除,并将所述过程记作为第一次选择行为完成,第一次选择行为完成后利用与第一次选择行为相同的选择方法从剩下的其余粒子中重复地选择新的粒子代表,其中粒子代表的数量足够多时则宣布粒子代表的选择过程结束,粒子代表的数量不足并且在连续ε次的选择中毫不增加则从不满足条件一的所有粒子中选择新的粒子代表,其中所述过程仍选择在公式(2)中拥有最大的可能性取值的粒子作为粒子代表,在PRS算法后期的迭代中存在粒子代表的数量不足则使用公式(4)来确定粒子是否有可能被选择成为粒子代表来增加粒子代表的数量,并改善粒子群体的多样性。5.根据权利要求4所述的一种分布式粒子群优化算法,其特征在于,由专业人员编写PRS算法的伪代码,并通过编写的PRS算法的伪代码表示在第一次迭代中粒子代表的选择策略以及第一次迭代之后的所有迭代中粒子代表的选择策略,其中进行代码编写时r是介于0和1之间的随机数,条件二是指粒子代表的总数量在连续ε次的选择中毫无增加,且所述ε的值设置为30,P代表种群中的所有粒子的集合,其中在t时刻,粒子代表应该从集合Pr
c
(t)中选取。6.根据权利要求5所述的一种分布式粒子群优化算法,其特征在于,所述第一次迭代中粒子代表的选择策略的PRS算法的伪代码为输入:种群规模(N),优化问题的维度(D),最大的迭代次数(maxiter),θ1,θ2,H
tmin
和H
tmax
输出:Pr(t)1:初始化t=02:fori=1:N3:forj=1:D4:初始化5:初始化6:end for7:end for8:for t=19:for i=1:N10:if条件一满足
11:计算||ind
t
(i)||和12:if13:14:15:else16:17:18:end if19:end if20:end for21:暂时地删除所有已经选择的粒子代表22:对所有剩余的普通粒子执行第10
‑
19行基于公式(2)23:if||Pr(t)||≥H
t
24:跳到最后一行25:else if条件二满足26:for i=1:N27:if条件一不满足28:执行第12
‑
18行基于公式(2)29:end if30:end for31:if||Pr(t)||<H
t
32:暂时地删除所有已经选择的粒子代表33:对所有剩余的普通粒子执行第26
‑
30行基于公式(2)34:end if35:else回到第21行36:end if37:end for38:Return Pr(t),其中fit代表目标函数,代码中第1
‑
7行是初始化,所述初始化包括了初始化粒子的位置与速度,第12行是计算粒子在t时刻能够被选择成为粒子代表的可能性,第10
‑
19行指从满足条件一的粒子中选择粒子代表,第26
‑
30行指从不满足条件一的粒子中选择粒子代表,所述第一次迭代之后的所有迭代中粒子代表的选择策略的PRS算法的伪代码为输入:种群规模(N),最大的迭代次数(maxiter),θ1,θ2,H
tmin
和H
tmax
输出:Pr(t)1:for t=2:maxiter2:for i=1:N3:ifP
i
∈Pr(t
‑
1)4:if条件一满足
5:if6:7:8:else9:10:11:end if12:end if13:end if14:end for15:暂时地删除所有已经选择的粒子代表16:对所有的剩余的普通粒子执行2
‑
14行基于公式(2)17:if18:...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。