Particle
Swarm Optimization (PSO) merupakan salah satu algoritma
optimasi berbasis populasi (populational-based optimization) yang
dikembangkan oleh Kennedy dan Eberhart pada tahun 1995. Algoritma ini
terinspirasi dari perilaku sosial kawanan burung dan gerombolan ikan dalam
mencari makanan, di mana setiap individu (disebut partikel) bergerak dalam
ruang pencarian dan saling berbagi informasi untuk mencapai posisi terbaik
secara kolektif.
PSO
digunakan secara luas dalam berbagai bidang karena kemampuannya untuk mencari
solusi optimal secara efisien, terutama dalam masalah yang kompleks, non linier,
dan berdimensi tinggi. Prinsip dasar PSO adalah dalam PSO, setiap partikel
merepresentasikan solusi kandidat dari suatu masalah optimasi. Partikel
memiliki posisi (x) dan kecepatan (v) dalam ruang pencarian. Gerakan setiap
partikel dipandu oleh dua hal utama:
1.
Personal Best (pbest)
– posisi terbaik yang pernah dicapai oleh partikel itu sendiri.
2.
Global Best (gbest) –
posisi terbaik yang pernah dicapai oleh seluruh partikel dalam populasi.
Pergerakan partikel
diatur oleh dua persamaan berikut:
1.
Update
kecepatan dapat dilihat pada Persamaan 1
vi
(t+1) = w ⋅ vi
(t) + c1⋅r1
⋅ (pbesti
− xi(t)) + c2 ⋅ r2 ⋅ (gbest − xi(t))
(1)
2.
Update posisi
dapat dilihat pada Persamaan 2
xi
(t+1) = xi (t) + vi (t+1) (2)
keterangan :
- Xi
= posisi partikel ke-i,
- Vi
= kecepatan partikel ke-i,
- w
= bobot inersia (mengontrol eksplorasi global dan eksploitasi lokal),
- c1,
c2 = konstanta pembelajaran (biasanya bernilai 1.5 – 2.0),
- r1,
r2= bilangan acak antara 0 dan 1.
Parameter dalam PSO
antara lain :
- Inertia
weight (w) : mengatur keseimbangan
eksplorasi dan eksploitasi. Nilai w yang besar mendorong eksplorasi
global, sedangkan nilai kecil mendorong eksploitasi lokal.
- Cognitive
factor (c1) : tingkat
kepercayaan partikel terhadap pengalaman dirinya sendiri.
- Social
factor (c2): tingkat
kepercayaan partikel terhadap pengalaman populasi.
Keunggulan PSO antara
lain :
- Sederhana
dalam implementasi dan membutuhkan sedikit parameter untuk disetel.
- Cepat
dalam konvergensi, terutama pada fase awal iterasi.
- Cocok
untuk optimasi non linear, multidimensi, dan fungsi yang tidak terdiferensialkah.
- Tidak
memerlukan informasi gradien.
Keterbatasan PSO antara
lain :
- Mudah
mengalami konvergensi prematur ke solusi lokal jika tidak dikendalikan.
- Sensitif
terhadap pemilihan parameter.
- Tidak
selalu menjamin solusi global jika ruang pencarian sangat kompleks.