1

我想使用粒子群优化来优化具有多个参数的函数。我该怎么做?我到处都找到了这个公式 1,但是我怎么能理解这个公式,我可以优化一个只有一个变量的函数。例如,我有一个有 2 个参数的函数,我想最大化它。我怎样才能用 PSO 做到这一点?

vi,d ← ω vi,d + φp rp (pi,d-xi,d) + φg rg (gd-xi,d)

function (x, y)
{
    return x + y
}
4

1 回答 1

2

由于您只有 2 个变量需要优化,因此您的搜索空间将是二维的。假设您要优化参数 x1 和 x2。此外,x1 在 [a1,b1] 的范围内,x2 在 [a2,b2] 的范围内。首先,您需要将随机粒子群(例如 30 个粒子)初始化到搜索空间边界,并将随机值分配给速度向量 (V)。之后,您需要评估所有粒子的适应度并确定最佳粒子(全局最佳)。然后你应该执行 PSO 的主要更新机制。这个链接会很有帮助:http: //yarpiz.com/50/ypea102-particle-swarm-optimization

于 2017-06-07T13:06:37.213 回答