"Popülasyon optimizasyon algoritmaları: Parçacık sürüsü optimizasyonu (Particle Swarm Optimization, PSO)" makalesi için tartışma

 

Yeni makale Popülasyon optimizasyon algoritmaları: Parçacık sürüsü optimizasyonu (Particle Swarm Optimization, PSO) yayınlandı:

Bu makalede, popüler parçacık sürüsü optimizasyonu (Particle Swarm Optimization, PSO) algoritmasını ele alacağız. Bir önceki makalede, optimizasyon algoritmalarının yakınsama, yakınsama oranı, kararlılık, ölçeklenebilirlik gibi önemli özelliklerini tartıştık, ayrıca bir test ortamı geliştirdik ve en basit RNG algoritmasını inceledik.

Serinin ilk makalesinde kullandığımız (ve kullanmaya devam edeceğimiz), Şekil 2'de açıklanan algoritma oluşturma yapısının aynısını kullandığımız için, algoritmayı test ortamına bağlamak bizim için zor olmayacaktır.

Test ortamını çalıştırırken, aşağıda gösterilenlere benzer animasyonlar göreceğiz. Bu durumda, bir parçacık sürüsünün nasıl davrandığını açıkça görebiliriz. Sürü gerçekten de doğadaki bir sürü gibi davranmaktadır. Fonksiyonun ısı haritasında yoğun bir bulut şeklinde hareket etmektedir.

Hatırlayacağınız gibi, siyah daire fonksiyonun global optimumunu (maksimum) gösterirken, siyah nokta arama algoritmasının mevcut yineleme sırasında elde ettiği en iyi ortalama koordinatları göstermektedir. Ortalama değerlerin nereden geldiğini açıklayayım. Isı haritası koordinat cinsinden iki boyutludur ve optimize edilen fonksiyon yüzlerce değişken (ölçüm) içerebilir. Bu nedenle, sonucun koordinatlara göre ortalaması alınır.

n1

n2

n3

 

Animasyondan görebileceğiniz gibi, testler PSO'nun düzgün ilk fonksiyonla oldukça iyi başa çıktığını gösterdi (ancak yalnızca iki değişkeni optimize ederken). Arama uzayının boyutunun artmasıyla, algoritmanın verimliliği keskin bir şekilde düşmektedir. Bu durum özellikle ikinci ve ayrık üçüncü fonksiyonlarda belirgindir. Sonuçlar, bir önceki makalede açıklanan rastgele algoritmadan açık bir şekilde daha kötüdür. Karşılaştırmalı bir sonuç tablosu oluştururken sonuçlara geri dönecek ve onları ayrıntılı olarak tartışacağız.

Yazar: Andrey Dik