返回
大数据
分类

粒子群算法

日期: 2020-01-15 09:17 浏览次数 :

      想象这样一个场景:一群鸟进展觅食,而远方有一片玉蜀黍地,一切鸟都不懂得玉蜀黍地彻底在何处,只是它们懂得本人眼下的位置相距玉蜀黍地有多远。

      然后粒子们就追随眼下的最优粒子在解空中中搜索。

      在历次的迭代中,种群中的案例除去依据自身的经历(史位置)进展念书以外,还得以依据种群中最优粒子的"经历"来念书,从而规定下一次迭代时需求如何调整和变更飞行的方位和速。

      流水线图如次::self.w=0.8self.c1=2self.c2=2self.r1=0.6self.r2=0.3self.pN=pN粒子数self.dim=dim搜索维度self.max_iter=max_iter迭代次数self.X=np.zeros((self.pN,self.dim))一切粒子的地位和速self.V=np.zeros((self.pN,self.dim))self.pbest=np.zeros((self.pN,self.dim))个体阅历的最佳地位和大局最佳地位self.gbest=np.zeros((1,self.dim))self.p_fit=np.zeros(self.pN)每个个体的史最佳适应值self.fit=1e10大局最佳适应值目标因变量Sphere因变量deffunction(self,X):returnX4-2X+3初始化种群definit_Population(self):foriinrange(self.pN):forjinrange(self.dim):self.Xij=random.uniform(0,1)self.Vij=random.uniform(0,1)self.pbesti=self.Xitmp=self.function(self.Xi)self.p_fiti=tmpiftmp

      实则只要适当的选取,两种算法是一样的。

      因而依据上述的弊病,shi和Eberhart经过引入惯性权重改动了公式,从而提出了PSO的惯性权重模子:每一个向量的斤两示意如次

      内中w称为是PSO的惯性权重,它的取值介于【0,1】区间,普通使用中均采用自适应的取值法子,即一肇始令w=0.9,使PSO大局优化力量较强,随着迭代的深刻,参数w进展递减,从而使的PSO具有较强的局部优化力量,当迭代收束时,w=0.1。

      迭代停止环境依据具体情况普通选为最大迭代次数Gk或(和)微粒群至今为止搜索到的最优地位满脚预约最小适应阈值。

      整个粒子群优化算法的算法框架如次:step1种群初始化,得以进展随机初始化或依据被优化的情况设计一定的初始化法子,然后划算个体的适应值,从而选择出个体的局部最优位置向量和种群的大局最优位置向量。

      头个即粒子本身所找到的最优解pbest;另一个极值是整个种群眼前找到的最优解,及大局极值gbest。

      每个个体在某时日间的位置示意为,x(t),方位示意为v(t)

      p(t)为在t时间x个体的本人的最优解,g(t)为在t时间一切个体的最优解,v(t)为个体在t时间的方位,x(t)为个体在t时间的位置

      下一个位置为上图所示由x,p,g协同决议了

      种群中的粒子经过不止地向自身和种群的史信息进展念书,从而得以找到情况的最优解。

      06PSO和GA比6.1共性(1)都属仿生算法。

      因而,粒子群算法即把鸟作为一个个粒子,而且她们有地位和速这两个特性,然后依据自身曾经找到的离食品新近的解和参考整个共享于整个集群中找到的新近的解去变更本人的飞行方位,最后咱会发觉,整个集群大致向同一个地域聚集。

      一切粒子具有一下两个特性:地位v速xPSO初始化为一群随机粒子(随机解),然后经过迭代找到最优解。

      (2)PSO中的粒子仅仅通过眼下搜索到最长处进展共享信息,因而很大档次上这是一样单共享项信息机制。

      天然界中的鸟群和鱼儿的群体行止一味是学家的钻研兴味,底栖生物学家CraigReynolds在1987年提出了一个异常有反应的鸟群聚集模子,在他的仿真中,每一个个体遵循:(1)幸免与邻域个体相冲撞;(2)配合邻域个体的速;(3)飞向鸟群核心,且整个群体飞向目标。