1

粒子群最適化を使用して、いくつかのパラメーターで関数を最適化したいと考えています。どうすればできますか?どこでもこの式 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 つしかないため、検索空間は 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 に答える