Berbeda topik dari tema blog, kali ini saya akan menulis sebuah artikel sederhana mengenai algoritma Cat Swarm Optimization (CSO). Kenapa saya memutuskan untuk menulis ini, pertama karena saya adalah alumni mahasiswa program studi Matematika dan kedua karena saya tahu betapa sulitnya mendapatkan refrensi dari Algoritma ini (pengalaman skripsi 😆).
Sebelumnya saya pernah menggunakan algoritma ini dalam kasus yang saya gunakan pada skripsi saya. Mencari refrensi algoritma Cat Swarm Optimization bagi saya sangatlah sulit karena CSO adalah algoritma baru, dan juga baru sedikit orang yang paham mengenai algoritma ini. Singkat cerita karena pembimbing saya juga kesulitan membantu saya memahami algoritma CSO, banyak tekanan dalam diri saya, akhirnya saya melakukan berbagai cara demi hanya bisa memahami dan menyelesaikan SKRIPSI ini.
Jalan keluarnya adalah saya menghubungi semua penulis yang menggunakan algoritma ini, mereka yang dari Indonesia dan juga mereka yang dari negara-negara lain.
Dan sampailah saya bertemu melalui email dengan seseorang yang sangat familiar dengan algoritma Cat Swarm Optimization ini, dia adalah Pei Wei Tsei salah satu penemunya. Berkatnya dan beberapa penulis dari Sumatera dan Maroko saya akhirnya bisa memahami algoritma CSO dan menyelesaikan Skripsi saya (ditambah bantuan teman sekelas saya dalam pembuatan program hehe).
Langsung saja secara sederhana dengan bahasa saya sendiri, akan coba saya jelaskan mengenai Algoritma Cat Swarm Optimization.
ALGORITMA CAT SWARM OPTIMIZATION
Cat Swarm Optimization adalah algoritma baru yang masuk ke dalam algoritma metaheuristik yang diusulkan oleh Shu-Chu Chu dan Pei-Wei Tsei dengan dasar pemikirannya perilaku kucing yaitu seeking (kucing beristirahat bergerak perlahan untuk mencari posisi baru) dan tracing (kucing bergerak mengejar/mengikuti jejak targetnya). CSO bisa diimplementasikan dalam kasus optimalisasi dalam kehidupan sehari-hari tujuannya pasti mengoptimalisasi suatu keadaan 😄
Gambar di atas adalah diagram proses algoritma Cat Swarm Optimization, dimulai bangkitkan N Kucing yang artinya di awal kita menentukan berapa banyak kucing yang digunakan. Kucing bisa diartikan bentuk solusi dari kasus yang dikerjakan, namun solusinya masih random (bisa baik bisa juga buruk). Kucing-kucing tersebut sudah diinisialisasi, sehingga sudah memiliki posisi, kecepatan, dan ruang (bentuk solusi sesuai kasus masing-masing). Baru kemudian menghitung nilai Fitness, tujuannya adalah mengetahui kucing terbaik dari kucing-kucing yang dibangkitkan di awal. Kucing terbaik tersebut akan disimpan, istilah dari saya seperti check pointya dari kasus yang dikerjakan jika nantinya tidak ditemukan solusi yang lebih baik.
Masuk ke Seeking dan Tracing, ini ditentukan oleh MR. Jadi sesuai prilaku kucing di dunia nyata, mereka cenderung memiliki prilaku dominan (saya lupa prilaku dominan ke seeking atau tracing). Mengikuti hal tersebut, nilai MR tidak boleh 0,5 harus condong lebih banyak masuk ke salah satu mode (sekali lagi mohon maaf saya lupa mode yang dimaksud).
Di masing-masing mode, kucing melakukan proses sesuai mode bersangkutan, jika selesai kembali dihitung nilai Fitnessnya. Jika terpenuhi selesai dan jika tidak kembali melakukan proses seeking dan tracing. Prosenya itu dipengaruhi oleh iterasi yang digunakan, jadi ketika sudah mencapai batas iterasi apapun hasil dari solusi (posisi terakhir kucing), maka program dihentikan.
Tujuan dari algoritma CSO ini adalah hanya perlu memperoleh 1 saja Kucing terbaik, tidak perlu menjadikan seluruh kucing baik.
Semoga tulisan ini bermanfaat, dan saya mohon maaf jika tulisan saya masih belum baik dan sulit dimengerti. Jika ada yang ingin di diskusikan bisa langsung komentar dan akan saya coba jawab sepengetahuan saya. Terima kasih 😊
No comments:
Post a Comment