記事「母集団最適化アルゴリズム:粒子群(PSO)」についてのディスカッション

 

新しい記事「母集団最適化アルゴリズム:粒子群(PSO)」はパブリッシュされました:

この記事では、一般的な粒子群最適化(PSO)アルゴリズムについて検討します。以前は、収束、収束率、安定性、スケーラビリティなどの最適化アルゴリズムの重要な特性について説明し、テストスタンドを開発し、最も単純なRNGアルゴリズムを検討しました。

図2で説明した、連載の最初の記事と同じ構造をアルゴリズムの構築に使用しているため(今後もこれを継続します)、アルゴリズムをテストスタンドに接続することは難しくありません。.

スタンドを実行すると、以下に示すようなアニメーションが表示されます。この場合、粒子の群れがどのように振る舞うかをはっきりと見ることができます。群れは本質的に群れのように振る舞います。関数のヒートマップ上では、密な雲の形で移動します。

覚えていらっしゃるかもしれませんが、黒い円は関数の大域的最適値(最大値)を表し、黒い点は現在の反復時に取得された検索アルゴリズムの最適な平均座標を表します。平均値がどこから来るのか説明しましょう。ヒートマップは2次元の座標であり、最適化される関数には数百の変数(測定値)が含まれる場合があります。したがって、結果は座標によって平均化されます。

n1

  Skinテスト関数のPSO

n2

  Forestテスト関数のPSO

n3

  Megacityテスト関数のPSO

アニメーションでわかるように、テストでは、PSOがスムーズな最初の関数に非常にうまく対処できることが示されましたが、それは2つの変数を最適化する場合のみです。検索空間の次元が増加すると、アルゴリズムの効率は急激に低下します。これは、2番目と離散的な3番目の関数で特に顕著です。結果は、前回の記事で説明したランダムアルゴリズムよりも著しく悪いものです。結果に戻り、結果の比較表を作成する際に詳しく説明します。

作者: Andrey Dik