PSOアルゴリズム

1.はじめに
粒子群最適化(PSO)は、コンピューティング技術(進化的計算)の進化で、獲物の鳥の行動の研究から、博士エバーハート博士ケネディによって1995年に提案しました。このアルゴリズムは、もともと規則性鳥クラスター活動に触発され、その後、群知能の確立の簡略化されたモデルを使用しました。疾患からの農産物の進化にグループ全体の動きに関する共有情報への個々のグループの使用に基づいて動物の行動の観察における粒子群のクラスター活動順序に問題に最適解を得るために、空間を解きます。

2.の基本的な考え方
粒子群最適化は、最適化アルゴリズムを構築群知能をシミュレートされ、粒子群れアルゴリズムは空間に例えば採餌ランダム鳥することができ、すべての鳥はどこ食品、特に知っているが、彼らはありません私が最も簡単で効果的な方法は、最寄りの鳥から現在の食品の周りの領域を探索することであるどれだけ離れて知っています。最適化アルゴリズムPSOの動作の簡単な説明は次の通り:各粒子は現在の最適化タスクに可能な解決策を表します。各反復では、各粒子が加速して、独自の最適なソリューションの方向に移動され、これまでに発見された粒子の最適な位置にある世界の人口の方向に加速していきます。粒子がよりよい解決策を見つけた場合は、この手段は、プロセス内のそれに近い他のすべての粒子は、最適なソリューションを探し続けていること。衝突を回避するために、(1)最近出発個体;(2)標的と;(3)中心グループに飛ぶ:PSOアルゴリズムは、3つの簡単なルールにまとめることができます。

これは、特に西=(XI1、XI2、...、XIS)のように、粒子集団からなるm個の粒子による探索空間Sの寸法、Sが発現寸法と前記i番目のベクター粒子が存在すると仮定し 

粒子溶液の位置に対応する行の値の大きさに適合するように、適合値を計算することができる目的関数に代入すると、良いか悪いかです。さらに、Viとによって示さ速度S次元ベクトルを移動i番目の粒子、=(VI1、VI2、... 、VIS)
I粒子最適位置型PI =(PI1、PI2、...検索し 、PISを)全体の粒子群最適位置Pgのを検索する=(PG1、PG2、... 、PGS)

3.アルゴリズムは、プロセス
の標準PSOアルゴリズムプロセスを:

ステップ1:ランダムな位置及び速度を含む、粒子(スケール集団M)のグループを初期化します。

ステップ2:各粒子の適応度の評価。

ステップ3:各粒子は、その値と位置Piを介して、好ましくは、その適応のため
に好ましい場合、粒子の位置が存在することが好ましいように、比較のため、それは、PIであります

ステップ4:各粒子について、その最高のグローバルな適応値位置Pgの


比較のために、良い場合は、現在の世界最高の位置pgのようになります

STEP5:(2)によれば、(3)粒子速度と位置の調整。

STEP6:ステップ2に進み、その後条件に達していません。

特定の問題の繰り返し終了条件によれば、これまでに所定の最小しきい値適応を満たすために最適な位置を検索し、一般的に、好ましくはKKK又は最大反復回数(と)粒子群れます。 

4.フローチャート

コードの実装


%%空の環境
CLC
クリア

%%パラメータ初期
三つのパラメータ粒子群の%
C1 = 1.49445;%加速係数
C2 = 1.49445。

MAXGEN = 1000;%回Sの数の進化
sizepop = 200であり、%母集団サイズ
重量慣性%


のVmax = 1;制限速度周り%
値Vmin = -1;
popmax = 5;%可変範囲
popmin = -5;
= 10薄暗いです。 %フィットネス寸法機能

FUNC = 1、最適化すべき%セレクト機能、1 Rastrigin、2シェーファーに、図3は、Griewankある
Drawfunc(FUNC);%ドロー機能を最適化するために、唯一の2次元の場合のように視覚的な出力を示します

初期粒子速度を%%発生
Iためする= 1:sizepop
%がランダムの集団を生成
ポップ(iは、:) = popmax *ランズ(1、薄暗い);% 初期集団の
V(I、:) = Vmaxと *ランズ(1、 短縮);初期化%率
%計算フィットネス
フィットネス(I)=楽しさ(ポップ FUNC、:)、(i)を、 粒子のフィットネス%
終了

%%グループと個々の極端な極値
[bestfitness bestindex] =分(フィットネス);
gbestの= POP(bestindex、:);%グローバル最適
pbestの=ポップ;%自己ベスト
fitnesspbest =フィットネス;%個人的な最高のフィットネス値
fitnessgbest = bestfitness;%グローバル最適適合値

%%反復最適化
私は= 1:MAXGENの。
%のW = 0.9から0.5 *(I / MAXGEN)*(I / MAXGEN);
(、I 'は%d、の代わりに')fprintfの;
fprintfの(「最高のフィットネスF%\ N-」、fitnessgbest);
= J. 1:sizepop
W = 0.9から0.5 *(I / MAXGEN)*(I / MAXGEN);
%更新速度
V(J、:) = W * V(J、: )+ C1 *ランド*(pbestの %;)):ポップ(J、 - (J、:) -ポップ(J、:))+ C2 *ランド*(gbestの個々の最適pbestの最適gbestのに応じて、以下の基によって算出時間の速度
V(J、(V(見つける J、:)>のVmax))= Vmaxに;%の限界速度が大きくなりすぎることができない
V(J、(V(J、:) <Vminと))= Vminを探す;

%人口の更新
ポップ(J、:) =ポップ (J、:) + 0.5 * V(J、:);% 位置更新
ポップ(J、((見つけるポップ 、jは:)> popmax))= popmax;%の座標が範囲外にすることはできません
POP(J、(POP(J、:)検索<popmin))= popmin;

IF RAND>シード0.98%の変動、ローカルからの脱出のための最適値
POP(J、:) =ランズ(1、薄暗い);
終了

%更新j番目の粒子のフィットネス値
フィットネス(J)=楽しさ(POP(J、:)、FUNC);

エンド

Jは= 1:sizepop。

と最も更新個々
IFフィットネス(J)<fitnesspbest(J)
(J、:) = POP(J、:) pbestの;
fitnesspbest(J)=フィットネス(J);
エンド

%とほとんどのグループを更新
フィットネス(J)<fitnessgbest IF
gbestの= POP(J、:);
fitnessgbestフィットネス=(J);
エンド
エンド
YY(I)= fitnessgbest;

エンド
%%結果解析
図;
プロット(YY)
タイトル(「最高の個々フィットネス、 'フォントサイズ'、12) ;
は、xlabel( '進化世代'、 'フォントサイズ'、12) ; ylabelの( ' トレーニング'、 'フォントサイズ'、12) 。

6.実験結果のパラメータの影響

   6.1慣性重量のw

        グローバルな最適化が小さすぎる弱い、強い局所的な探索能力、強力なグローバルな最適化能力、弱い局所的な最適化のw過大な慣性重量以来。したがって、動的検索中固体Wより良い結果を得ることができるwは直線的に変化します。  

        = 0.9ワットここで、設定された機能 - 0.5 *(I / MAXGEN)*(I / MAXGEN)(MAXGENは反復の数です)

           業績

         

 

         これは、約600の図の反復が収束から見て、最も適応度は1.989918です

     6.2学習係数C1、C2

       だから、C1 = C2 = 0.89886、業績

         

         およそ680倍の人口のフィットネスへの反復は、あなたが最適な解決策を見つけることができない、0である図に示します

         だから、C1 C2 = 2.55987 =業績

          

 

 

    図に示す反復GET約50倍、最適なソリューション5.969754

         6.3は、人口規模のsizepop結果に影響を与えます

              だから、= 20の営業成績をsizepop

            

 

 

     最適解に収束する反復160回程度フィギュアショー

    だから、= 1000の営業成績をsizepop

             

 

              図は、およそ970倍遅く収束に反復解法を示し

  6.4次元dim結果の適応度関数に影響を与えます

        だから、= 3つの営業成績を暗く

    

      最適解を得ることができない早期収束が図から分かります。

             だから、100の営業成績を暗く=

             

 

      図に示す左右の第五百五十反復収束

     6.5実験結果の最大速度VMAX影響

              だから、VMAX = 0.1の業績

    

 

      図に示す途中で反復収束最適解50回

               だから、VMAX = 20営業成績

    

       この図は、約700の反復収束を示し

    多くの実験後= 0.78812、C1 = C2 = 1.49618基が良好な構図であるwが6.6となるよう

                 業績

     

6.7概要

 ①慣性重量W:W、粒子の飛翔速度が大きいほど、粒子はより長いグローバル検索ステップサイズである; wは小さく、細かいステップサイズが小さく、高度なローカル検索になる傾向があるので、動的な変化Wの値は、最初の検索にwを0.9に設定し、反復数の増加とともに、Wの値が減少し、それによってグローバル最適。

②学习因子c1,c2:c1,c2具有自我总结和向优秀个体学习的能力,从而使微粒向群体内最优点靠近。c1,c2分别调节微粒向个体最优或者群体最优方向飞行的最大步长,决定微粒个体经验和群体经验对微粒自身运行轨迹的影响。学习因子较小时,可能使微粒不在最优区域移动,无法得到最优解;学习因子较大时,可使微粒迅速向最优区域移动,过早收敛。

③种群规模sizepop:种群规规模过小,算法收敛速度快,但是容易陷入局部最优;种群规模过大,算法收敛速度较慢;导致计算时间增加,而且群体数目增加到一定数目时,再增加微粒数目不再有显著的效果。

④适应度函数维数dim:维度过小,算法早熟,陷入局部最优;维度过大,求解精度提高,但算法速度慢,比较耗时。

⑤最大速度vmax:vmax过大,粒子运动速度快,微粒探索能力强,但容易越过最优的搜索空间,错过最优解;Vmax较小,容易进入局部最优,可能会使微粒无法运动足够远的距离以跳出局部最优,从而也可能找不到最优解

7.PSO算法优缺点

  优点:没有交叉和变异运算,靠粒子速度完成搜索,并在迭代中只有传递最优信息,搜索速度快,需要调整的参数不多,易于实现  

  缺点:缺乏速度的动态调节,容易陷入局部最优,导致收敛精度低和不易收敛;不能有效解决离散及组合优化问题;对于不同问题,参数不好选择,不能高效取得最优解。

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/lhx0814/p/11979330.html