粒子群算法

粒子群算法

现代算法分为硬计算和软计算,这个概念是由美国加州大学的一名教授提出的。硬计算需要建立数学模型,软计算是一种动态的自适应求解方式,不需要建立深入的数学模型。智能算法都属于软计算。

自然界中的一些生物行为特征呈现群体特征,可以用简单的几条规格将这些群体的行为在计算机中建模,实际上就是在计算机中用简单的几条规则建立个体的运动模型。例如使用下面三条简单的规则来约束一个群体:

  • 避免冲突:群体在一定的空间中移动,自己可以随意移动,但要保证不会影响到其他个体,避免碰撞和争执
  • 速度匹配:个体必须配合中心移动速度,不管在方向、距离与速率上都必须相互配合
  • 群体中心:个体将会向群体中心移动,配合群体中心向目标前进

在这个群体中,每个个体都遵循这三条原则,通过这个模型来模拟整个群体的运动。粒子群算法就是依托群鸟觅食的模型来寻找最优值。

粒子群算法基本理论

首先我们介绍群鸟觅食模型的理论与作用。

群鸟觅食实际上是一个最佳决策的过程,与人类决策的过程相似。通常人类在决策的时候会综合两个重要信息:第一种是自己以往的经验;第二种是其他人的经验,即从周围人的行为中获取知识。

群鸟在觅食的时候,每只鸟的初始状态处于随机位置,且飞行方向也是随机的。每只鸟都不知道食物在哪里,但是随着时间的推移,这些鸟类群体通过不断的探索和信息共享会朝着目标(食物)前进。每只鸟能通过一定的经验和信息估计目前所处的位置对于能寻找到食物有多大的价值,即多大的适应度。每只鸟能记住所找到的最好位置,称之为局部最优;群鸟中所有个体所能找到的最好位置,称之为全局最优。整个鸟群的觅食都是在不断地趋向于全局最优,在生物学中称为“同步效应”。通过觅食位置的不断移动,可以使鸟群向食物步步逼近。

粒子群模型

在群鸟觅食的模型中,每个个体可以被看做一个粒子,则鸟群可以被看成一个粒子群。假设一个n维的目标搜索空间里,有m个粒子组成一个群体,其中第i个粒子(i=1,2,…,m)位置表示为Xi=(xi1,xi2,xi3, … ,xin),即第i个粒子在n维搜索空间中的位置是Xi。换言之,每个粒子的位置就是一个潜在解,将Xi带入目标函数就可以计算出其适应值,根据适应值的大小来衡量优劣。设粒子经历过的最好的位置记作Pi=(pi1.pi2, … ,pin),整个种群所有粒子经历过的最好位置记为Pg = (pg1,pg2, … ,pgn),粒子i的速度记为

粒子群算法采用下面的公式对粒子的位置进行不断更新

其中,i=1,2,…,m;d=1,2,…,n;ω是非负数,称为惯性因子;加速常数C1和C2是非负常数;r1和r2是[0,1]f范围内的随机数;α称为约束因子,控制速度的权重。同时我们应该设置最大速度对其个体速度进行约束,可以具体问题具体分析。

迭代的终止条件应该根据具体问题进行设定,一般达到预订的最大迭代次数或粒子 群目前搜索到的最优位置满足目标函数最小容许差误差。

粒子群算法优点
  1. 不依赖于问题信息,采用实数进行求解,算法具有较强的通用性
  2. 原理简单,易于实现,需要调整的参数少
  3. 收敛速度快,对计算机的内存要求不大
  4. 粒子群算法所具有的飞跃性使得其更容易找到全局最优值,而不会被困在局部最优

欢迎关注公众号 : 数学算法实验室

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值