PSO算法

PSO算法介绍
PSO算法通过个体之间的协作和竞争,个体遵循一定的规则运动实现复杂空间中最优解的搜索。PSO算法首先是在可解空间中初始化一群粒子,每个粒子都代表极值优化问题的一个潜在最优解,每个粒子由位置、速度、适应度值三个指标来表示该粒子,其中适应度值是由适应度函数确定的,是表征粒子位置好坏的量。粒子在解空间中运动,通过跟踪个体最优解Pbest和群体最优解Gbest 来更新个体位置,每更新一次位置,就计算一次粒子的适应度值,并且通过比较新粒子的适应度值和个体极值、群体极值的适应度值来更新个体极值和群体极值位置。
粒子群算法的主要步骤如下:

  第一步:对粒子群的随机位置和速度进行初始设定,同时设定迭代次数。第二步:计算每个粒子的适应度值。

  第三步:对每个粒子,将其适应度值与所经历的最好位置Pbest;的适应度值进行比较,若较好,则将其作为当前的个体最优位置。

  第四步:对每个粒子,将其适应度值与全局所经历的最好位置Gbestg的适应度值进行比较,若较好,则将其作为当前的全局最优位置。

  第五步:根据公式(1), (2)对粒子的速度和位置进行优化,从而产生新的粒子。

  第六步:如未达到结束条件(通常为最大循环数或最小误差要求),则返回第二步。

  本案例群体的粒子数为20,每个粒子的维数为2,算法迭代进化次数为100。

加速度因子c1= 1.4,c2= 1.5。
w叫做惯性因子,其值为非负。

  其值较大,全局寻优能力强,局部寻优能力弱;其值较小,全局寻优能力弱,局部寻优能力强。

  动态w能获得比固定值更好的寻优结果。动态w可在PS0搜索过程中线性变化,也可以根据PS0性能的某个测度函数动态改变

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值