I.はじめに
PSOアルゴリズムはまた、粒子群最適化(PSO)として知られています。PSOアルゴリズムは、獲物の鳥の行動の研究から派生し、シミュレーションと確率的検索アルゴリズムを通じて行動を採餌鳥の群れは、グループの連携に基づいて開発します。
第二に、粒子群のアルゴリズム分析
1、基本的な考え方
代表的な動きの位置を移動させ、速度と位置、速度速度代表方向:粒子群は、粒子が2つだけの属性を持つ、群れに鳥の個々の粒子を設計することによってシミュレートしました。グループ全体で他の粒子との現在の最良の個人、および共有個々極端な粒子に入金され、粒子全体として最適な個々の極端を見つけるために最適なソリューションのための探索空間別検索における各粒子最適解の現在の世界の人口、絶えず反復、現在の世界的な現在の自己ベストをもとにその速度と最適な位置を調整すると、全体PSOの独自のシェアを見つけるために、PSO溶液中の全ての粒子の速度と位置。最後に、最適解の終了条件が満たされます。主に個人のグループ間の連携や情報共有化による最適なソリューションを見つけることができます。
2、初期化
すべてのパラメータを初期化し、もちろん、後者の缶も変化します。最大反復回数、加速係数C1、C2と、慣性重量W、集団サイズsizepop、速度制限、可変範囲、適応度関数薄暗い寸法、機能の数引数、選択を最適化すべき目的関数、位置の周りを設定します全体の探索空間、初期集団、初期化の速度のための情報。
個々の極端な大域的最適解と3、
個々の極端な粒子のための適応度関数の定義が最適なソリューションのグローバル最適を見つけ、最適解を見つける、これはグローバルな最適なソリューションと呼ばれています。最高のグローバルな歴史、もっと便利なソリューションを更新します。
4、式の速度と位置
スピードのアップデート:
ここでは、慣性重量wは、その値が負にすることはできません。加速因子のC1、C2は、の値は負にすることはできません。ランドは、[0,1]の間でランダムに生成された乱数です。pbestの(J、:)粒子最適位置、ポップ(J、:)粒子現在位置、V(J、:)粒子現在の速度。
場所の更新:
注:PSOアルゴリズムは、ランダムな粒子群で初期化されます。そして、一定の反復によって最適解を見つけるために。各繰り返し、自分自身を更新するために、2つの「極端」(pbestの、gbestの)を追跡することによって粒子に。上記式で、それらの速度および位置を更新するために、これらの2個の粒子の最適値を見つけた後。
5、アルゴリズムの流れ
三、MATLABテスト結果と分析
各参数初始值如下表:
加速因子c1 | 加速因子c2 | 惯性权重w | 最大迭代次数 | 种群规模 | 速度范围 | 变量取值范围 | 适应度函数维数 |
1.49445 | 1.49445 | 0.8 | 1000 | 200 | [-1,1] | [-5,5] | 10 |
1.1当加速因子c1、c2和惯性权重w组合变化时(其他参数不变), 待优化的函数:Rastrigin函数,MATLAB实现如下:
c1 | c2 | w |
1.49445 | 1.49445 | 0.8 |
测试结果如下表:
部分可视化图如下:
1.2当加速因子c1、c2和惯性权重w组合变化时(其他参数不变), 待优化的函数:Rastrigin函数,MATLAB实现如下:
c1 | c2 | w |
1.49445 | 1.49445 | 0.5 |
测试结果如下表:
部分可视化图如下:
1.3当加速因子c1、c2和惯性权重w组合变化时(其他参数不变), 待优化的函数:Rastrigin函数,MATLAB实现如下:
c1 | c2 | w |
1.49445 | 1.49445 | 0.3 |
测试结果如下表:
部分可视化图如下:
1.4 当加速因子c1、c2和惯性权重w组合变化时(其他参数不变), 待优化的函数:Rastrigin函数,MATLAB实现如下:
c1 | c2 | w |
1.49445 | 1.49445 | 0.1 |
测试结果如下表:
部分可视化图如下:
分析:综上可得,当其他参数的值不变时,惯性权重w的值与全局寻优能力呈线性正相关的关系。惯性权重w的值越大,全局寻优能力越强,局部寻优能力越弱;其值越小,全局寻优能力越弱,局部寻优能力越强。另外,动态w 能获得比固定值更好的寻优结果。动态w可以在PSO搜索过程中进行线性变化。
2.1当加速因子c1、c2和惯性权重w组合变化时(其他参数不变), 待优化的函数:Rastrigin函数,MATLAB实现如下:
c1 | c2 | w |
0.5 | 0.5 | 0.8 |
测试结果如下表:
部分可视化图如下:
2.2当加速因子c1、c2和惯性权重w组合变化时(其他参数不变), 待优化的函数:Rastrigin函数,MATLAB实现如下:
c1 | c2 | w |
1 | 1 | 0.8 |
测试结果如下表:
部分可视化图如下:
2.3当加速因子c1、c2和惯性权重w组合变化时(其他参数不变), 待优化的函数:Rastrigin函数,MATLAB实现如下:
c1 | c2 | w |
1.5 | 1.5 | 0.8 |
测试结果如下表:
部分可视化图如下:
分析:当惯性权重w不变时,通过测试以上3组不同的加速因子的值,并且对每一个加速因子分别随机测试10组数据,分别记录最优适应度和达到最优适应度时的最多迭代次数,便算出最优适应度的平均值,对比其平均值可得:加速因子c1、c2的值越大,最优适应度平均值也越大,因此全局寻优能力也逐渐增强强。当调整幅度过大时,荣誉陷入局部最优中。
3.1当种群规模数(sizepop)和适应度函数维数(dim)组合变化时(其他参数不变),待优化的函数:Rastrigin函数,MATLAB实现如下:
种群规模数(sizepop) | 适应度函数维数(dim) |
200 | 5 |
测试结果如下表:
部分可视化图如下:
3.2当种群规模数(sizepop)和适应度函数维数(dim)组合变化时(其他参数不变),待优化的函数:Rastrigin函数,MATLAB实现如下:
种群规模数(sizepop) | 适应度函数维数(dim) |
200 | 15 |
测试结果如下表:
部分可视化图如下:
3.3当种群规模数(sizepop)和适应度函数维数(dim)组合变化时(其他参数不变),待优化的函数:Rastrigin函数,MATLAB实现如下:
种群规模数(sizepop) | 适应度函数维数(dim) |
200 | 25 |
测试结果如下表:
部分可视化图如下:
分析:当其他参数不变时,通过测试以上3组不同的适应度函数维数为5、15和25,并且对每一个适应度函数维数分别随机测试10组数据,分别记录最优适应度和达到最优适应度时的最多迭代次数,便算出最优适应度的平均值,对比其平均值可得:适应度函数维数(dim)越大,寻优能力越强。