PSO算法概述I

本文详细介绍了粒子群优化(PSO)算法的起源、发展和基本原理,包括速度和位置的更新公式。PSO算法源于模拟鸟群觅食行为,通过迭代寻找最佳解。文中还给出了一个Java实现的例子,用于最小化三维函数,并讨论了算法的优点和局限性。此外,提到了PSO算法的多种变体和应用领域。
摘要由CSDN通过智能技术生成

PSO算法概述I


来源于文献[1],对其进行整理

起源与背景

PSO算法最简单的模型是于1987年提出的名为Boid(Bird-oid)的模型,此模型被设计用于模拟鸟的行为,也是PSO算法的雏形。Boid(Bird-oid)模型的描述如下:

  1. 鸟类的每个个体都由笛卡尔坐标系中的一个点表示,该点随机分配了初始速度和位置。
  2. 根据“最接近的速度匹配规则”运行程序,以使一个个体的速度与其最接近的邻居的速度相同。
  3. 以相同的方式进行迭代,所有点将快速地具有相同的速度。

由于这个初代模型过于简单并偏离实际,引入了一个随机变量将其添加至速度项,使整个模拟接近实际情况。Heppner设计了一个“cornfield model”来模拟一群鸟类的觅食行为。假设平面上有一个“cornfield model”,即食物的位置,开始时鸟类随机散布在平面上。 为了找到食物的位置,它们按照以下规则移动。

  1. 假设食物(cornfield)的位置坐标为 ( x 0 , y 0 ) (x_0, y_0) (x0,y0),单个鸟类个体的位置坐标和速度坐标分别为 ( x , y ) (x,y) (x,y) ( v x , v y ) (v_x,v_y) (vx,vy);当前个体的位置与食物之间的距离用于衡量当前个体的性能(距食物的距离越近,性能越好,相反,性能更差。)。
  2. 假设每个个体都有记忆能力,并可以记住它曾经到达的最佳位置,记为 p b e s t p_{best} pbest a a a是速度调节常数。 r a n d rand rand表示 U [ 0 , 1 ] U[0,1] U[0,1]中的随机数,可以根据以下规则设置速度项的变化:
    如果 x > p b e s t x x> p_{best}^x x>pbestx,则 v x = v x − r a n d × a v_x = v_x-rand×a vx=vxrand×a,否则, v x = v x + r a n d × a v_x = v_x +rand×a vx=vx+rand×a
    如果 y > p b e s t y y> p_{best}^y y>pbesty,则 v y = v y − r a n d × a v_y = v_y − rand×a vy=vyrand×a,否则, v y = v y + r a n d × a v_y = v_y + rand×a vy=vy+rand×a
    p b e s t x p_{best}^x pbestx表示的是个体在 x x x维度上曾经到达的最佳位置。
  3. 然后假设鸟群模型可以以某种方式进行通信,并且每个个体都能够知道并记住迄今为止整个群体的最佳位置,记为 g b e s t g_{best} gbest b b b是速度调节常数,速度更新与上述类似:
    如果 x > g b e s t x x> g_{best}^x x>gbestx,则 v x = v x − r a n d × b v_x = v_x-rand×b vx=vxrand×b,否则, v x = v x + r a n d × b v_x = v_x +rand×b vx=vx+rand×b
    如果 y > g b e s t y y> g_{best}^y y>gbesty,则 v y = v y − r a n d × b v_y = v_y − rand×b vy=vyrand×b,否则, v y = v y + r a n d × b v_y = v_y + rand×b vy=vy+rand×
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值