2012-04-15 7 views
0

パーティクルのローカライズでPSOを実装しています。ランダムな位置にパーティクルがあります。私はそれらの粒子を最適化する必要があります。私はPSOの目的関数と、これらの規則によって位置を見つける方法を理解できません。Particle Swarm Optimization - Particle Positionの更新

Vid (k) =wVid (k − 1) + c1r1id (k)(Xpbestid − Xid) + c2r2id (k)(Xgbestd − Xid) 
Xid (k) =Xid (k − 1) + Vid (k) 

I(x、y)は

+0

このコードはどこから入手しましたか?それはあまりにも少ない情報です。 'Vid'と' Xid'はどのように定義されていますか? –

+0

これらはベクトル方程式かもしれません、つまり、Xid = {x1、x2、x3、...、xn}です。 –

+0

完全なアルゴリズムはhttp://en.wikipedia.org/wiki/Particle_swarm_optimizationで見つけることができます – vishnu

答えて

0

まず座標を持っているとして、あなたはどこにも質問をしていないところ、これらの機能は、単一の値として、粒子の位置を与えているので - あなたは何をしたいですか本当に知っている?

は私が推測することはできますが、それは間違っているならば、私は私の時間を無駄にした...

はあなたが言うように、私たちは、その後、正しいことを示してどのような、機能のように、単一の値を使用することを提供しますポジション。つまり、単一の値は実際にはベクトルなので、3次元ではk = {kx、ky、kz}、n次元ではk = {k1、k2、...、kn}となります。 '1'はすべての次元が1である単位ベクトルです。

を理解してください。線形代数とベクトル解析で読み上げる必要がある関数です。