Particle swarm optimization

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Suatu gerombolan partikel mencari minimum global dari suatu fungsi

Dalam Ilmu komputasi, Particle Swarm Optimization (biasa disingkat: PSO)[1] adalah sebuah metode komputasi yang mengoptimasi suatu masalah dengan menggunakan metode iteratif untuk memperbaiki suatu kandidat solusi dengan ukuran kualitas tertentu. Cara PSO dalam menyelesaikan masalah tersebut adalah dengan menggunakan sebuah populasi yang berisi kandidat-kandidat solusi yang disebut sebagai partikel, dan kemudian menggerakkan partikel-partikel tersebut di dalam ruang pencarian berdasarkan rumus sederhana dalam penentuan posisi dan kecepatan (velocity) tiap partikel. Pergerakan setiap partikel dalam ruang pencarian ini tidak hanya dipengaruhi oleh posisi lokal terbaik yang saat ini diketahui oleh partikel tersebut (local best known position), tetapi pergerakannya juga dipandu menuju posisi terbaik dalam ruang pencarian secara keseluruhan, yang diperbarui seiring dengan ditemukannya posisi yang lebih baik oleh partikel lain. Hal ini diharapkan dapat menggerakkan kawanan atau gerombolan menuju solusi terbaik.

PSO awalnya dikaitkan dengan Kennedy, Eberhart, dan Shi[2][3] dan pertama kali dimaksudkam untuk simulasi perilaku sosial,[4] sebagai representasi non natural (stylized representation) dari pergerakan organisme kawanan burung atau gerombolan ikan. Algoritmanya disederhanakan dan diamati untuk melakukan optimasi. Buku karya Kennedy dan Eberhart[5] menjelaskan banyak aspek filosofis dari PSO dan kecerdasan gerombolan. Sebuah survei mendalam mengenai aplikasi PSO dibuat oleh Poli.[6][7] Baru-baru ini, sebuah kajian komprehensif mengenai karya-karya teoretis dan eksperimental mengenai PSO telah diterbitkan oleh Bonyadi dan Michalewicz.[1]

PSO adalah salah satu algoritma metaheuristik, yang artinya PSO hanya membuat sedikit atau bahkan tidak ada asumsi apapun mengenai masalah yang dioptimalkan dan mampu menelusuri ruang kandidat solusi yang sangat luas. Selain itu, PSO tidak menggunakan gradien dari masalah yang sedang dioptimalkan, yang berarti PSO tidak mengharuskan masalah pengoptimalan merupakan fungsi terdiferensialkan sebagaimana yang diharuskan dalam metode pengoptimalan klasik, seperti penurunan gradien dan metode quasi-newton. Meskipun begitu, PSO, sebagaimana algoritma metaheuristik lainnya, tidak dapat menjamin untuk menemukan solusi optimal global.

Algoritma[sunting | sunting sumber]

Varian dasar dari algoritma PSO bekerja dengan menggunakan sebuah populasi (disebut kawanan atau gerombolan) dari kandidat solusi (disebut partikel). Partikel-partikel tersebut bergerak di dalam ruang pencarian mengikut pada beberapa rumus sederhana.[8] Pergerakan partikel dipandu oleh posisi terbaik (local best known position) mereka sendiri dan posisi terbaik seluruh kawanan dalam ruang pencarian. Ketika posisi yang lebih baik ditemukan, posisi terseut akan memandu pergerakan kawanan. Proses ini akan terus diulang dan diharapkan, tetapi tidak menjamin; solusi yang memuaskan akan ditemukan di akhir iterasi.

Secara formal, misalkan f: ℝn → ℝ adalah fungsi biaya yang akan diminimalkan. Fungsi ini mengambil satu kandidat solusi sebagai parameter dalam bentuk vektor baris dari bilangan riil dan menghasilkan keluaran sebuah bilangan riil yang menunjukkan nilai fungsi objektif dari kandidat solusi yang diberikan. Nilai gradien dari f tidak diketahui. Tujuan dari permasalahan ini adalah menemukan sebuah solusi a yang mana f(a) ≤ f(b) untuk semua b di dalam ruang pencarian solusi, yang berarti a adalah minimal global.

Misalkan S adalah jumlah partikel dalam kawanan yang setiap partikel tersebut memiliki satu nilai posisi xi ∈ ℝn dalam ruang pencarian solusi dan satu nilai kecepatan vi ∈ ℝn. Misal, pi adalah posisi terbaik yang diketahui partikel i dan g adalah posisi terbaik yang diketahui seluruh kawanan. Maka, algoritma PSO dasar yang dapat meminimalkan fungsi biaya adalah, antara lain:[9]

for setiap partikel i = 1, ..., S do
    Inisialisasi posisi partikel dengan vektor acak berdasarkan distribusi seragam kontinu: xi ~ U(blobup)
    Inisialisasi posisi awal partikel menjadi posisi terbaik yang diketahui partikel: pi ← xi
    if f(pi) < f(g) then
        perbarui posisi terbaik seluruh kawanan: g ← pi
    Inisialisasi kecepatan (velocity) partikel: vi ~ U(-|bup-blo|, |bup-blo|)
while kriteria penghentian belum terpenuhi do:
    for setiap partikel i = 1, ..., S do
        for setiap dimensi d = 1, ..., n do
            Pilih angka acak: rp, rg ~ U(0,1)
            Perbarui kecepatan partikel: vi,d ← w vi,d + φp rp (pi,d-xi,d) + φg rg (gd-xi,d)
        Perbarui posisi partikel: xi ← xi + vi
        if f(xi) < f(pi) then
            Perbarui posisi terbaik yang diketahui partikel: pi ← xi
            if f(pi) < f(g) then
                Perbarui posisi terbaik seluruh kawanan: g ← pi

Nilai blo dan bup, masing-masing menunjukkan batas bawah dan batas atas dari ruang pencarian. Parameter w adalah bobot inersia. Sedangkan parameter φp dan φg seringkali disebut sebagai koefisien kognitif dan koefisien sosial.

Kriteria penghentian (termination criterion) dapat berupa maksimum jumlah iterasi yang dilakukan atau suatu solusi fungsi objektif yang memuaskan telah ditemukan.[10] Parameter w, φp, dan φg dipilih oleh praktisi yang ketiganya ini dapat mengontrol perilaku dan kemanjuran algoritma PSO (di bawah).

Seleksi parameter[sunting | sunting sumber]

Gambar performa yang menunjukkan bagaimana varian PSO sederhana bekerja bersama-sama pada beberapa masalah tolok ukur ketika dilakukan variasi pada dua parameter PSO.

Pemilihan parameter PSO dapat berdampak besar pada kinerja optimasi. Oleh karena itu, pemilihan parameter PSO yang memberikan performa yang baik menjadi subjek dari banyak penelitian.[11][12][13][14][15][16][17][18][19]

Untuk mencegah divergensi ("ledakan"), bobot inersia harus lebih kecil dari 1. Dua parameter lainnya dapat diturunkan melalui pendekatan pembatasan (constriction approach),[16] atau dapat dipilih secara bebas, tetapi para ahli menganalisis bahwa domain konvergensi dapat digunakan untuk membatasi parameter-parameter tersebut. Nilai-nilai yang umum digunakan adalah .

Parameter PSO juga dapat di-tuning dengan menggunakan pengoptimal lain, sebuah konsep yang dikenal sebagai optimasi-meta,[20][21][22][23] atau bahkan di-tuning selama pengoptimalan, misal, dengan menggunakan logika fuzzy.[24][25]

Parameter juga telah di-tuning untuk berbagai skenario pengoptimalan.[26][27]

Ketetanggaan dan topologi[sunting | sunting sumber]

Topologi dari kawanan mendefinisikan bagaimana subhimpunan partikel dapat digunakan oleh setiap partikel untuk bertukar informasi.[28] Versi dasar algoritma ini menggunakan topologi global sebagai struktur komunikasi pada kawanan.[10] Topologi ini memungkinkan semua partikel untuk berkomunikasi dengan semua partikel lainnya, sehingga seluruh kawanan berbagi posisi terbaik yang sama g' dari sebuah partikel. Namun, pendekatan ini dapat menyebabkan kawanan terjebak ke dalam minimum lokal,[29]. Oleh karena itu, topologi yang berbeda telah digunakan untuk mengontrol aliran informasi di antara partikel. Sebagai contoh, pada topologi lokal, partikel-partikel hanya berbagi informasi dengan sebagian kecil partikel.[10] Sebagian kecil ini dapat berupa sebuah geometri[30] - misalnya "partikel terdekat m" - atau, lebih sering, partikel sosial, yaitu sekumpulan partikel yang tidak bergantung pada jarak apa pun. Dalam kasus seperti itu, varian PSO dikatakan sebagai yang terbaik secara lokal (dibandingkan yang terbaik secara global untuk PSO dasar).

Topologi kawanan yang umum digunakan adalah ring atau cincin, yang masing-masing partikel hanya memiliki dua tetangga, tetapi terdapat topologi lainnya.[10] Topologi ini tidak harus statis. Faktanya, karena topologi terkait dengan diversitas komunikasi partikel,[31] beberapa upaya telah dilakukan untuk membuat topologi adaptif (SPSO,[32] APSO,[33] stochastic star,[34] TRIBES,[35] Cyber Swarm,[36] dan C-PSO[37])

Dengan menggunakan topologi cincin, PSO dapat mencapai paralelisme tingkat generasi, yang secara signifikan meningkatkan kecepatan evolusi.[38]

Proses kerja[sunting | sunting sumber]

Ada beberapa aliran pemikiran tentang mengapa dan bagaimana algoritma PSO dapat melakukan optimasi.

Keyakinan umum di antara para peneliti adalah bahwa perilaku kawanan bervariasi antara perilaku eksploratif, yaitu mencari wilayah yang lebih luas dari ruang pencarian, dan perilaku eksploitatif, yaitu pencarian yang berorientasi pada lokal sehingga lebih dekat ke optimal (mungkin lokal). Aliran pemikiran ini telah lazim sejak awal PSO.[3][4][12][16] Aliran pemikiran ini berpendapat bahwa algoritma PSO dan parameter-parameternya harus dipilih sedemikian rupa sehingga dapat menyeimbangkan dengan tepat antara eksplorasi dan eksploitasi untuk menghindari konvergensi dini ke suatu optimal lokal, tetapi tetap memastikan tingkat konvergen yang baik ke optimal. Keyakinan ini adalah pendahulu dari banyak varian PSO, lihat di bawah ini.

Aliran pemikiran lainnya adalah bahwa perilaku kawanan PSO tidak dipahami dengan baik dalam hal bagaimana hal tersebut memengaruhi kinerja optimasi yang sebenarnya, terutama untuk ruang pencarian berdimensi lebih tinggi dan masalah optimasi yang mungkin diskontinyu, bising, dan bervariasi terhadap waktu. Aliran pemikiran ini hanya mencoba untuk menemukan algoritma dan parameter PSO yang menghasilkan kinerja yang baik terlepas dari bagaimana perilaku swarm dapat ditafsirkan dalam kaitannya dengan eksplorasi dan eksploitasi. Penelitian-penelitian tersebut telah menghasilkan penyederhanaan algoritma PSO, lihat di bawah.

Konvergensi[sunting | sunting sumber]

Sehubungan dengan PSO, kata konvergensi biasanya mengacu pada dua definisi yang berbeda:

  • Konvergensi urutan solusi (alias, analisis stabilitas, konvergen) yang mana semua partikel telah konvergen ke suatu titik di ruang pencarian, yang mungkin atau mungkin bukan merupakan titik optimal,
  • Konvergensi ke optimum lokal yang mana semua personal terbaik p' atau, sebagai alternatif, posisi terbaik dari kawanan g', mendekati optimum lokal dari masalah, terlepas dari bagaimana perilaku kawanan tersebut.

Konvergensi dari barisan solusi telah diteliti untuk PSO.[15][16][17] Analisis-analisis ini telah menghasilkan panduan untuk memilih parameter PSO yang diyakini dapat menyebabkan konvergensi pada suatu titik dan mencegah divergensi partikel kawanan (partikel-partikel tidak bergerak tanpa batas dan akan berkumpul di suatu tempat). Namun, analisis tersebut dikritik oleh Pedersen[22] karena terlalu menyederhanakan dengan mengasumsikan bahwa kawanan tersebut hanya memiliki satu partikel, tidak menggunakan variabel stokastik, dan titik-titik tariknya, yaitu posisi terbaik partikel p' dan posisi terbaik kawanan g', tetap konstan selama proses pengoptimalan. Namun, hal itu ditunjukkan[39] bahwa penyederhanaan ini tidak memengaruhi batas-batas yang ditemukan oleh penelitian-penelitian ini untuk parameter yang kawanan tersebut konvergen. Upaya yang cukup besar telah dilakukan dalam beberapa tahun terakhir untuk melemahkan asumsi pemodelan yang digunakan selama analisis stabilitas PSO,[40] dengan hasil umum terbaru yang berlaku untuk berbagai varian PSO dan memanfaatkan asumsi pemodelan minimal yang diperlukan.[41]

Konvergensi ke optimum lokal telah dianalisis untuk PSO dalam [42] dan [43]. Telah terbukti bahwa PSO membutuhkan beberapa modifikasi untuk menjamin ditemukannya optimum lokal.

Ini berarti bahwa menentukan kemampuan konvergensi dari algoritma dan parameter PSO yang berbeda masih bergantung pada hasil empiris. Salah satu upaya untuk mengatasi masalah ini adalah pengembangan strategi "pemelajaran ortogonal" untuk meningkatkan penggunaan informasi yang sudah ada dalam hubungan antara p' dan g', untuk membentuk contoh konvergen utama dan efektif dengan topologi PSO apa pun. Tujuannya adalah untuk meningkatkan kinerja PSO secara keseluruhan, termasuk konvergensi global yang lebih cepat, kualitas solusi yang lebih tinggi, dan robustness yang lebih kuat.[44] Namun, penelitian tersebut tidak memberikan bukti teoritis untuk membuktikan klaim mereka.

Mekanisme adaptif[sunting | sunting sumber]

Tanpa memerlukan pertukaran antara konvergensi ('eksploitasi') dan divergensi ('eksplorasi'), sebuah mekanisme adaptif bisa diberlakukan. Adaptive particle swarm optimization (APSO) [45] memiliki efisiensi pencarian yang lebih baik daripada PSO standar. APSO dapat melakukan pencarian global di seluruh ruang pencarian dengan kecepatan konvergensi yang lebih tinggi. APSO memungkinkan kontrol otomatis terhadap bobot inersia, koefisien akselerasi, dan parameter algoritmik lainnya pada saat proses berjalan, sehingga meningkatkan efektivitas dan efisiensi pencarian secara bersamaan. Selain itu, APSO dapat mengambil tindakan terhadap partikel terbaik secara global untuk keluar dari kemungkinan optima lokal. Namun, APSO akan memperkenalkan parameter algoritma baru, tetapi tidak menambah kompleksitas desain atau implementasi.

Selain itu, melalui pemanfaatan mekanisme evaluasi kecocokan (fitness) skala-adaptif, PSO dapat secara efisien mengatasi masalah optimasi yang mahal secara komputasi.[46]

Varian[sunting | sunting sumber]

Banyak variasi dari algoritma PSO, bahkan yang paling dasar sekalipun. Sebagai contoh, ada berbagai cara untuk menginisialisasi partikel dan kecepatan (misalnya, mulai dengan kecepatan nol), cara meredam kecepatan, hanya memperbarui pi dan g setelah seluruh kawanan telah diperbarui, dll. Beberapa pilihan ini dan dampak performa yang mungkin telah dibahas dalam literatur.[14]

Sejumlah implementasi standar telah dibuat oleh peneliti terkemuka, "diciptakan untuk digunakan, baik sebagai dasar untuk pengujian performa perbaikan teknik PSO maupun untuk mewakili PSO kepada komunitas optimisasi yang lebih luas. Memiliki algoritma standar yang terkenal dan secara ketat didefinisikan memberikan titik perbandingan yang berharga yang dapat digunakan di seluruh bidang penelitian untuk menguji kemajuan baru dengan lebih baik."[10] Yang terbaru adalah Standard PSO 2011 (SPSO-2011).[47]

Hibridisasi[sunting | sunting sumber]

Varian PSO yang baru dan lebih canggih juga terus diperkenalkan dalam upaya untuk meningkatkan kinerja optimasi. Ada beberapa tren dalam penelitian tersebut; salah satunya adalah membuat metode optimasi hibrida menggunakan PSO yang dikombinasikan dengan pengoptimal lain,[48][49][50] mis, menggabungkan PSO dengan optimasi berbasis biogeografi,[51] dan penggabungan metode pemelajaran yang efektif.[44]

Mengatasi konvergensi prematur[sunting | sunting sumber]

Tren penelitian lain adalah mencoba dan mengatasi konvergensi prematur (yaitu, stagnasi optimasi), misalnya dengan membalikkan atau mengganggu pergerakan partikel PSO,[19][52][53][54] pendekatan lain untuk menangani konvergensi prematur adalah dengan menggunakan kawanan berganda[55] (multi-swarm optimization). Pendekatan multi-swarm juga dapat digunakan untuk mengimplementasikan optimasi multi-objektif.[56] Terakhir, ada perkembangan dalam mengadaptasi parameter perilaku PSO selama pengoptimalan.[45][24]

Penyederhanaan[sunting | sunting sumber]

Aliran pemikiran lainnya adalah bahwa PSO harus disederhanakan sebanyak mungkin tanpa mengganggu kinerjanya; konsep umum yang sering disebut sebagai pisau cukur Occam. Penyederhanaan PSO pada awalnya disarankan oleh Kennedy[4] dan telah diteliti secara lebih ekstensif,[18][21][22][57] yang terlihat bahwa kinerja optimasi meningkat, dan parameter lebih mudah disetel serta berkinerja lebih konsisten di berbagai masalah optimasi.

Argumen lain yang mendukung penyederhanaan PSO adalah bahwa metaheuristik hanya dapat dibuktikan kemanjurannya secara empiris dengan melakukan eksperimen komputasi dengan jumlah masalah optimasi yang terbatas. Ini berarti metaheuristik seperti PSO tidak dapat dibuktikan kebenarannya dan hal ini meningkatkan risiko terjadinya kesalahan dalam deskripsi dan implementasinya. Sebuah contoh yang baik dari hal ini [58] menyajikan varian yang menjanjikan dari algoritma genetika (metaheuristik populer lainnya), tetapi kemudian ditemukan cacat karena sangat bias dalam pencarian optimasi terhadap nilai yang sama untuk dimensi yang berbeda dalam ruang pencarian, yang kebetulan merupakan optimal dari masalah tolok ukur yang dipertimbangkan. Bias ini disebabkan oleh kesalahan pemrograman, dan sekarang telah diperbaiki.[59]

Inisialisasi kecepatan mungkin memerlukan input tambahan. Varian Bare Bones PSO[60] telah diusulkan pada tahun 2003 oleh James Kennedy, dan sama sekali tidak perlu menggunakan kecepatan.

Varian lain yang lebih sederhana adalah optimasi kawanan partikel yang diakselerasi (accelerated particle swarm optimization, APSO),[61] yang juga tidak perlu menggunakan velocity dan dapat mempercepat konvergensi di banyak aplikasi. Tersedia kode demo sederhana dari APSO.[62]

Optimasi multi-objektif[sunting | sunting sumber]

PSO juga telah diterapkan pada masalah multi-objektif,[63][64][65] yang mana perbandingan fungsi objektifnya mempertimbangkan dominansi Pareto ketika menggerakkan partikel PSO dan solusi yang tidak terdominasi disimpan untuk mendekati front pareto.

Biner, diskrit, dan kombinatorial[sunting | sunting sumber]

Karena persamaan PSO yang diberikan di atas bekerja pada bilangan riil, metode yang umum digunakan untuk menyelesaikan masalah diskrit adalah memetakan ruang pencarian diskrit ke domain kontinu, menerapkannya ke PSO klasik, dan kemudian memetakan hasilnya. Pemetaan seperti itu bisa sangat sederhana (misalnya dengan hanya menggunakan nilai pembulatan) atau lebih canggih.[66]

Namun, perlu dicatat bahwa persamaan pergerakan menggunakan operator yang mengerjakan empat tindakan:

  • menghitung selisih dua posisi. Hasilnya adalah kecepatan (lebih tepatnya perpindahan)
  • mengalikan kecepatan dengan koefisien numerik
  • menambahkan dua kecepatan
  • menerapkan kecepatan pada suatu posisi

Biasanya posisi dan kecepatan diwakili oleh n bilangan riil, dan operator-operator ini adalah -, *, +, dan lagi +. Namun, semua objek matematika tersebut dapat didefinisikan dengan cara yang sama sekali berbeda, untuk menyelesaikan masalah biner (atau lebih umum lagi masalah diskrit), atau bahkan masalah kombinatorial.[67] [68][69][70] Salah satu pendekatannya adalah dengan mendefinisikan ulang operator-operator yang didasarkan pada himpunan.[71]

Lihat juga[sunting | sunting sumber]

Referensi[sunting | sunting sumber]

  1. ^ a b Bonyadi, M. R.; Michalewicz, Z. (2017). "Particle swarm optimization for single objective continuous space problems: a review". Evolutionary Computation. 25 (1): 1–54. doi:10.1162/EVCO_r_00180. PMID 26953883. 
  2. ^ Kennedy, J.; Eberhart, R. (1995). "Particle Swarm Optimization". Proceedings of IEEE International Conference on Neural Networks. IV. hlm. 1942–1948. doi:10.1109/ICNN.1995.488968. 
  3. ^ a b Shi, Y.; Eberhart, R.C. (1998). "A modified particle swarm optimizer". Proceedings of IEEE International Conference on Evolutionary Computation. hlm. 69–73. doi:10.1109/ICEC.1998.699146. 
  4. ^ a b c Kennedy, J. (1997). "The particle swarm: social adaptation of knowledge". Proceedings of IEEE International Conference on Evolutionary Computation. hlm. 303–308. doi:10.1109/ICEC.1997.592326. 
  5. ^ Kennedy, J.; Eberhart, R.C. (2001). Swarm Intelligence. Morgan Kaufmann. ISBN 978-1-55860-595-4. 
  6. ^ Poli, R. (2007). "An analysis of publications on particle swarm optimisation applications" (PDF). Technical Report CSM-469. Diarsipkan dari versi asli (PDF) tanggal 2011-07-16. Diakses tanggal 2010-05-03. 
  7. ^ Poli, R. (2008). "Analysis of the publications on the applications of particle swarm optimisation" (PDF). Journal of Artificial Evolution and Applications. 2008: 1–10. doi:10.1155/2008/685175alt=Dapat diakses gratis. 
  8. ^ Zhang, Y. (2015). "A Comprehensive Survey on Particle Swarm Optimization Algorithm and Its Applications". Mathematical Problems in Engineering. 2015: 931256. 
  9. ^ Clerc, M. (2012). "Standard Particle Swarm Optimisation" (PDF). HAL Open Access Archive. 
  10. ^ a b c d e Bratton, Daniel; Kennedy, James (2007). "Defining a Standard for Particle Swarm Optimization". 2007 IEEE Swarm Intelligence Symposium (PDF). hlm. 120–127. doi:10.1109/SIS.2007.368035. ISBN 978-1-4244-0708-8. 
  11. ^ Taherkhani, M.; Safabakhsh, R. (2016). "A novel stability-based adaptive inertia weight for particle swarm optimization". Applied Soft Computing. 38: 281–295. doi:10.1016/j.asoc.2015.10.004. 
  12. ^ a b Shi, Y.; Eberhart, R.C. (1998). "Parameter selection in particle swarm optimization". Proceedings of Evolutionary Programming VII (EP98). hlm. 591–600. 
  13. ^ Eberhart, R.C.; Shi, Y. (2000). "Comparing inertia weights and constriction factors in particle swarm optimization". Proceedings of the Congress on Evolutionary Computation. 1. hlm. 84–88. 
  14. ^ a b Carlisle, A.; Dozier, G. (2001). "An Off-The-Shelf PSO" (PDF). Proceedings of the Particle Swarm Optimization Workshop. hlm. 1–6. Diarsipkan dari versi asli (PDF) tanggal 2003-05-03. 
  15. ^ a b van den Bergh, F. (2001). An Analysis of Particle Swarm Optimizers (PDF) (PhD thesis). University of Pretoria, Faculty of Natural and Agricultural Science. 
  16. ^ a b c d Clerc, M.; Kennedy, J. (2002). "The particle swarm - explosion, stability, and convergence in a multidimensional complex space". IEEE Transactions on Evolutionary Computation. 6 (1): 58–73. CiteSeerX 10.1.1.460.6608alt=Dapat diakses gratis. doi:10.1109/4235.985692. 
  17. ^ a b Trelea, I.C. (2003). "The Particle Swarm Optimization Algorithm: convergence analysis and parameter selection". Information Processing Letters. 85 (6): 317–325. doi:10.1016/S0020-0190(02)00447-7. 
  18. ^ a b Bratton, D.; Blackwell, T. (2008). "A Simplified Recombinant PSO" (PDF). Journal of Artificial Evolution and Applications. 2008: 1–10. doi:10.1155/2008/654184alt=Dapat diakses gratis. 
  19. ^ a b Evers, G. (2009). An Automatic Regrouping Mechanism to Deal with Stagnation in Particle Swarm Optimization. The University of Texas - Pan American, Department of Electrical Engineering. Diarsipkan dari versi asli (Master's thesis) tanggal 2011-05-18. Diakses tanggal 2010-05-05. 
  20. ^ Meissner, M.; Schmuker, M.; Schneider, G. (2006). "Optimized Particle Swarm Optimization (OPSO) and its application to artificial neural network training". BMC Bioinformatics. 7 (1): 125. doi:10.1186/1471-2105-7-125alt=Dapat diakses gratis. PMC 1464136alt=Dapat diakses gratis. PMID 16529661. 
  21. ^ a b Pedersen, M.E.H. (2010). Tuning & Simplifying Heuristical Optimization (PDF). University of Southampton, School of Engineering Sciences, Computational Engineering and Design Group. Diarsipkan dari versi asli (PhD thesis) tanggal 2020-02-13. 
  22. ^ a b c Pedersen, M.E.H.; Chipperfield, A.J. (2010). "Simplifying particle swarm optimization". Applied Soft Computing. 10 (2): 618–628. CiteSeerX 10.1.1.149.8300alt=Dapat diakses gratis. doi:10.1016/j.asoc.2009.08.029. 
  23. ^ Mason, Karl; Duggan, Jim; Howley, Enda (2018). "A Meta Optimisation Analysis of Particle Swarm Optimisation Velocity Update Equations for Watershed Management Learning". Applied Soft Computing. 62: 148–161. doi:10.1016/j.asoc.2017.10.018. 
  24. ^ a b Nobile, M.S; Cazzaniga, P.; Besozzi, D.; Colombo, R.; Mauri, G.; Pasi, G. (2018). "Fuzzy Self-Tuning PSO: a settings-free algorithm for global optimization". Swarm and Evolutionary Computation. 39: 70–85. doi:10.1016/j.swevo.2017.09.001. hdl:10446/106467alt=Dapat diakses gratis. 
  25. ^ Nobile, M.S; Pasi, G.; Cazzaniga, P.; Besozzi, D.; Colombo, R.; Mauri, G. (2015). "Proactive particles in swarm optimization: a self-tuning algorithm based on fuzzy logic". Proceedings of the 2015 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE 2015), Istanbul (Turkey). hlm. 1–8. doi:10.1109/FUZZ-IEEE.2015.7337957. 
  26. ^ Cazzaniga, P.; Nobile, M.S.; Besozzi, D. (2015). "The impact of particles initialization in PSO: parameter estimation as a case in point, (Canada)". Proceedings of IEEE Conference on Computational Intelligence in Bioinformatics and Computational Biology. doi:10.1109/CIBCB.2015.7300288. 
  27. ^ Pedersen, M.E.H. (2010). "Good parameters for particle swarm optimization". Technical Report HL1001. CiteSeerX 10.1.1.298.4359alt=Dapat diakses gratis. 
  28. ^ Kennedy, J.; Mendes, R. (2002). "Population structure and particle swarm performance". Proceedings of the 2002 Congress on Evolutionary Computation. CEC'02 (Cat. No.02TH8600). 2. hlm. 1671–1676 vol.2. CiteSeerX 10.1.1.114.7988alt=Dapat diakses gratis. doi:10.1109/CEC.2002.1004493. ISBN 978-0-7803-7282-5. 
  29. ^ Mendes, R. (2004). Population Topologies and Their Influence in Particle Swarm Performance (Tesis PhD). Universidade do Minho.
  30. ^ Suganthan, Ponnuthurai N. "Particle swarm optimiser with neighbourhood operator." Evolutionary Computation, 1999. CEC 99. Prosiding Kongres 1999 tentang. Vol. 3. IEEE, 1999.
  31. ^ Oliveira, M.; Pinheiro, D.; Andrade, B.; Bastos-Filho, C.; Menezes, R. (2016). "Communication Diversity in Particle Swarm Optimizers". Swarm Intelligence. Lecture Notes in Computer Science. 9882. hlm. 77–88. doi:10.1007/978-3-319-44427-7_7. ISBN 978-3-319-44426-0. 
  32. ^ SPSO Particle Swarm Central
  33. ^ Almasi, O. N. and Khooban, M. H. (2017). A parsimonious SVM model selection criterion for classification of real-world data sets via an adaptive population-based algorithm. Neural Computing and Applications, 1-9. https://doi.org/10.1007/s00521-017-2930-y
  34. ^ Miranda, V., Keko, H. and Duque, Á. J. (2008). Stochastic Star Communication Topology in Evolutionary Particle Swarms (EPSO). International Journal of Computational Intelligence Research (IJCIR), Volume 4, Number 2, pp. 105-116
  35. ^ Clerc, M. (2006). Particle Swarm Optimization. ISTE (International Scientific and Technical Encyclopedia), 2006
  36. ^ Yin, P., Glover, F., Laguna, M., & Zhu, J. (2011). A Complementary Cyber Swarm Algorithm. International Journal of Swarm Intelligence Research (IJSIR), 2(2), 22-41
  37. ^ Elshamy, W.; Rashad, H.; Bahgat, A. (2007). "Clubs-based Particle Swarm Optimization" (PDF). IEEE Swarm Intelligence Symposium 2007 (SIS2007). Honolulu, HI. hlm. 289–296. Diarsipkan dari versi asli (PDF) tanggal 2013-10-23. Diakses tanggal 2012-04-27. 
  38. ^ Jian-Yu, Li (2011). "Generation-Level Parallelism for Evolutionary Computation: A Pipeline-Based Parallel Particle Swarm Optimization". IEEE Transactions on Cybernetics. 51 (10): 4848-4859. doi:10.1109/TCYB.2020.3028070. 
  39. ^ Cleghorn, Christopher W (2014). "Particle Swarm Convergence: Standardized Analysis and Topological Influence". Swarm Intelligence. Lecture Notes in Computer Science. 8667. hlm. 134–145. doi:10.1007/978-3-319-09952-1_12. ISBN 978-3-319-09951-4. 
  40. ^ Liu, Q (2015). "Order-2 stability analysis of particle swarm optimization". Evolutionary Computation. 23 (2): 187–216. doi:10.1162/EVCO_a_00129. PMID 24738856. 
  41. ^ Cleghorn, Christopher W.; Engelbrecht, Andries. (2018). "Particle Swarm Stability: A Theoretical Extension using the Non-Stagnate Distribution Assumption". Swarm Intelligence. 12 (1): 1–22. doi:10.1007/s11721-017-0141-x. hdl:2263/62934alt=Dapat diakses gratis. 
  42. ^ Van den Bergh, F. "A convergence proof for the particle swarm optimizer" (PDF). Fundamenta Informaticae. 
  43. ^ Bonyadi, Mohammad reza.; Michalewicz, Z. (2014). "A locally convergent rotationally invariant particle swarm optimization algorithm" (PDF). Swarm Intelligence. 8 (3): 159–198. doi:10.1007/s11721-014-0095-1. 
  44. ^ a b Zhan, Z-H.; Zhang, J.; Li, Y; Shi, Y-H. (2011). "Orthogonal Learning Particle Swarm Optimization" (PDF). IEEE Transactions on Evolutionary Computation. 15 (6): 832–847. doi:10.1109/TEVC.2010.2052054. 
  45. ^ a b Zhan, Z-H.; Zhang, J.; Li, Y; Chung, H.S-H. (2009). "Adaptive Particle Swarm Optimization" (PDF). IEEE Transactions on Systems, Man, and Cybernetics. 39 (6): 1362–1381. doi:10.1109/TSMCB.2009.2015956. PMID 19362911. 
  46. ^ Wang, Ye‐Qun; Li, Jian‐Yu; Chen, Chun‐Hua; Zhang, Jun; Zhan, Zhi‐Hui (September 2023). "Scale adaptive fitness evaluation‐based particle swarm optimisation for hyperparameter and architecture optimisation in neural networks and deep learning". CAAI Transactions on Intelligence Technology. 8 (3): 849-862. doi:10.1049/cit2.12106alt=Dapat diakses gratis. 
  47. ^ Zambrano-Bigiarini, M.; Clerc, M.; Rojas, R. (2013). "Standard Particle Swarm Optimisation 2011 at CEC-2013: A baseline for future PSO improvements". 2013 IEEE Congress on Evolutionary Computation. Evolutionary Computation (CEC), 2013 IEEE Congress on. hlm. 2337–2344. doi:10.1109/CEC.2013.6557848. ISBN 978-1-4799-0454-9. 
  48. ^ Lovbjerg, M.; Krink, T. (2002). "The LifeCycle Model: combining particle swarm optimisation, genetic algorithms and hillclimbers" (PDF). Proceedings of Parallel Problem Solving from Nature VII (PPSN). hlm. 621–630. 
  49. ^ Niknam, T.; Amiri, B. (2010). "An efficient hybrid approach based on PSO, ACO and k-means for cluster analysis". Applied Soft Computing. 10 (1): 183–197. doi:10.1016/j.asoc.2009.07.001. 
  50. ^ Zhang, Wen-Jun; Xie, Xiao-Feng (2003). DEPSO: hybrid particle swarm with differential evolution operator. IEEE International Conference on Systems, Man, and Cybernetics (SMCC), Washington, DC, USA: 3816-3821.
  51. ^ Zhang, Y.; Wang, S. (2015). "Pathological Brain Detection in Magnetic Resonance Imaging Scanning by Wavelet Entropy and Hybridization of Biogeography-based Optimization and Particle Swarm Optimization". Progress in Electromagnetics Research. 152: 41–58. doi:10.2528/pier15040602alt=Dapat diakses gratis. 
  52. ^ Lovbjerg, M.; Krink, T. (2002). "Extending Particle Swarm Optimisers with Self-Organized Criticality" (PDF). Proceedings of the Fourth Congress on Evolutionary Computation (CEC). 2. hlm. 1588–1593. 
  53. ^ Xinchao, Z. (2010). "A perturbed particle swarm algorithm for numerical optimization". Applied Soft Computing. 10 (1): 119–124. doi:10.1016/j.asoc.2009.06.010. 
  54. ^ Xie, Xiao-Feng; Zhang, Wen-Jun; Yang, Zhi-Lian (2002). A dissipative particle swarm optimization. Congress on Evolutionary Computation (CEC), Honolulu, HI, USA: 1456-1461.
  55. ^ Cheung, N. J.; Ding, X. M.; Shen, H.-B. (2013). "OptiFel: A Convergent Heterogeneous Particle Sarm Optimization Algorithm for Takagi-Sugeno Fuzzy Modeling". IEEE Transactions on Fuzzy Systems. 22 (4): 919–933. doi:10.1109/TFUZZ.2013.2278972. 
  56. ^ Nobile, M.; Besozzi, D.; Cazzaniga, P.; Mauri, G.; Pescini, D. (2012). "A GPU-Based Multi-Swarm PSO Method for Parameter Estimation in Stochastic Biological Systems Exploiting Discrete-Time Target Series". Evolutionary Computation, Machine Learning and Data Mining in Bioinformatics. Lecture Notes in Computer Science. 7264. hlm. 74–85. doi:10.1007/978-3-642-29066-4_7. 
  57. ^ Yang, X.S. (2008). Nature-Inspired Metaheuristic Algorithms. Luniver Press. ISBN 978-1-905986-10-1. 
  58. ^ Tu, Z.; Lu, Y. (2004). "A robust stochastic genetic algorithm (StGA) for global numerical optimization". IEEE Transactions on Evolutionary Computation. 8 (5): 456–470. doi:10.1109/TEVC.2004.831258. 
  59. ^ Tu, Z.; Lu, Y. (2008). "Corrections to "A Robust Stochastic Genetic Algorithm (StGA) for Global Numerical Optimization". IEEE Transactions on Evolutionary Computation. 12 (6): 781. doi:10.1109/TEVC.2008.926734. 
  60. ^ Kennedy, James (2003). "Bare bones particle swarms". Prosiding Simposium Intelijen Swarm IEEE 2003. SIS'03 (Cat. No.03EX706). hlm. 80–87. doi:10.1109/SIS.2003.1202251. ISBN 0-7803-7914-4. 
  61. ^ X. S. Yang, S. Deb dan S. Fong, Accelerated particle swarm optimization and support vector machine for business optimization and applications, NDT 2011, Springer CCIS 136, pp. 53-66 (2011).
  62. ^ "Search Results: APSO - File Exchange - MATLAB Central". 
  63. ^ Parsopoulos, K.; Vrahatis, M. (2002). "Particle swarm optimization method in multiobjective problems". Proceedings of the ACM Symposium on Applied Computing (SAC). hlm. 603–607. doi:10.1145/508791.508907. 
  64. ^ Coello Coello, C.; Salazar Lechuga, M. (2002). "MOPSO: A Proposal for Multiple Objective Particle Swarm Optimization". Congress on Evolutionary Computation (CEC'2002). hlm. 1051–1056. 
  65. ^ Mason, Karl; Duggan, Jim; Howley, Enda (2017). "Multi-objective dynamic economic emission dispatch using particle swarm optimisation variants". Neurocomputing. 270: 188–197. doi:10.1016/j.neucom.2017.03.086. 
  66. ^ Roy, R., Dehuri, S., & Cho, S. B. (2012). A Novel Particle Swarm Optimization Algorithm for Multi-Objective Combinatorial Optimization Problem. 'International Journal of Applied Metaheuristic Computing (IJAMC)', 2(4), 41-57
  67. ^ Kennedy, J. & Eberhart, RC (1997). A discrete binary version of the particle swarm algorithm, Conference on Systems, Man, and Cybernetics, Piscataway, NJ: IEEE Service Center, pp. 4104-4109
  68. ^ Clerc, M. (2004). Discrete Particle Swarm Optimization, illustrated by the Traveling Salesman Problem, New Optimization Techniques in Engineering, Springer, pp. 219-239
  69. ^ Clerc, M. (2005). Binary Particle Swarm Optimisers: toolbox, derivations, and mathematical insights, Open Archive HAL
  70. ^ Jarboui, B.; Damak, N.; Siarry, P.; Rebai, A. (2008). "A combinatorial particle swarm optimization for solving multi-mode resource-constrained project scheduling problems". Applied Mathematics and Computation. 195: 299–308. doi:10.1016/j.amc.2007.04.096. 
  71. ^ Chen, Wei-neng; Zhang, Jun (2010). "A novel set-based particle swarm optimization method for discrete optimization problem". IEEE Transactions on Evolutionary Computation. 14 (2): 278–300. CiteSeerX 10.1.1.224.5378alt=Dapat diakses gratis. doi:10.1109/tevc.2009.2030331. 

Pranala eksternal[sunting | sunting sumber]