粒子群算法概述

概述

在计算科学 ,粒子群优化 (粒子群优化 )是一种计算方法优化一个问题迭代地试图改善候选解决方案就某一特定的质量标准而言。这里称之为人口问题的解决方案粒子,并在搜索空间简单地说数学公式在粒子上位置和速度. 每个粒子的运动都受其局部最佳已知位置的影响,但也会被引导到搜索空间中的最佳已知位置,当其他粒子找到更好的位置时,这些位置会更新。这有望使蜂群朝着最佳解决方案前进。
PSO最初被认为是肯尼迪 ,埃伯哈特还有史最初是为了模拟社会行为 , 作为鸟类有机体运动的程式化表现一大群或鱼群. 对算法进行了简化,并观察到它正在进行优化。肯尼迪和埃伯哈特的书描述了粒子群优化的许多哲学方面群体智能. PSO应用的广泛调查由有礼貌的。最近,Bonyadi和Michalewicz发表了一篇关于PSO理论和实验研究的综述。
PSO是一个 元启发式因为它对被优化的问题几乎不作任何假设,并且可以搜索非常大的候选解空间。另外,PSO不使用梯度这意味着粒子群算法不要求优化问题是可微正如经典优化方法所要求的那样梯度下降和拟牛顿法. 然而,像PSO这样的元启发式算法并不能保证找到最优解。

1.算法

粒子群优化算法的一个基本变体是通过拥有候选解决方案(称为粒子)。这些粒子根据一些简单的公式在搜索空间中移动。 [9]粒子的运动由它们在搜索空间中的最知名位置以及整个群体的最知名位置来引导。当改进的位置被发现时,它们将引导蜂群的运动。这个过程是重复的,通过这样做,人们希望(但不保证)最终会找到一个令人满意的解决办法。

正式地,让f: ℝn→ ℝ 是必须最小化的成本函数。函数将候选解作为参数,形式为矢量属于实数并产生一个实数作为输出,表示给定候选解的目标函数值。这个梯度属于f不知道。目标是找到解决办法a为了f(a) ≤f(b)对所有b在搜索空间,这意味着一是全局最小值

让S是群中粒子的数量,每个粒子都有一个位置xi∈ ℝn在搜索空间和速度上vi∈ ℝn. 让p是粒子最关键的位置让g成为整个群体中最关键的位置。基本的粒子群优化算法是:

for each particle i = 1, ..., S do
    Initialize the particle's position with a uniformly distributed random vector: xi ~ U(blo, bup)
    Initialize the particle's best known position to its initial position: pi ← xi
    if f(pi) < f(g) then
        update the swarm's best known position: g ← pi
    Initialize the particle's velocity: vi ~ U(-|bup-blo|, |bup-blo|)
while a termination criterion is not met do:
    for each particle i = 1, ..., S do
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值