粒子群算法(PSO)的Matlab实现

1、粒子群算法的概念

粒子群优化算法(PSO:Particle swarm optimization) 源于对鸟群捕食的行为研究。粒子群优化算法的基本思想:是通过群体中个体之间的协作和信息共享来寻找最优解,每个个体对比最佳位置,得出群体最佳位置。

2、算法分析

粒子群算法通过无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度v=(v1,v2,....vn)和位置x(x1,x2,....xn),速度代表移动的快慢。每个粒子在搜索空间中单独的搜寻最优解,并将其标记为当前个体极值,并将个体极值与整个粒子群里的其他粒子共享,在所有粒子中找到最优的那个个体极值作为整个粒子群的当前全局最优解,并返回拥有全局最优解的粒子位置,粒子群中的所有粒子根据自己找到的当前个体极值的位置和整个粒子群共享的当前全局最优解位置来调整自己的移动方向,在迭代中根据方向和速度调整位置。

3、更新规则

PSO初始化为一群随机粒子的位置(随机解)。然后通过迭代目标函数找到最优解的位置。在每一次的迭代中,粒子通过跟踪两个“极值”(个体极值pbest,全局极值gbest)来更新自己。在找到这两个最优值后,粒子通过下面的公式来更新自己的速度和位置。

公式(1)的第一部分称为【惯性项】,表示上次速度大小和方向的影响;第二部分称为【自身认知项】,是从当前点指向粒子自身最好点的一个矢量,表示粒子的动作来源于寻找自身的最优值;公式(1)的第三部分称为【群体认知项】,是一个从当前点指向种群最好点的矢量,反映

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值