Firefly Algorithm atau Algoritma Kunang-Kunang termasuk salah satu algoritma pada bidang
Artificial Intelligence atau kecerdasan buatan. Untuk memahami lebih lanjut mengenai metode dan juga formula yang terdapat pada
firefly algorithm, marilah simak penjelasan singkat dibawah ini.
Metode Firefly Algorithm (FA)
Pada bidang Artificial Intelligence atau kecerdasan buatan ada istilah swarm intelligence yang diartikan sebagai desain algoritma atau alat problem solving terdistribusi yang terinspirasi oleh perilaku sosial kolektif koloni serangga dan koloni binatang (Riza L.S, 2010). Firefly Algorithm merupakan salah satu dari swarm intelligence tersebut. Firefly Algorithm adalah sebuah algoritma metaheuristik yang terinspirasi dari perilaku berkedip kunang-kunang.
Algoritma ini dikembangkan oleh Dr Xin-She Yang di Universitas Cambridge pada tahun 2007. Formulasi umum dari algoritma ini disajikan bersama-sama dengan pemodelan matematika analisis untuk memecahkan masalah dengan tujuan ekuivalen fungsi. Hasilnya dibandingkan dengan yang diperoleh dengan teknik alternatif yang diusulkan oleh literatur untuk menunjukkan bahwa ia mampu menghasilkan solusi optimal baik dan benar (Yang X.S, 2010).
Secara khusus, meskipun algoritma kunang-kunang memiliki banyak kemiripan dengan algoritma lain yang didasarkan pada kecerdasan kawanan, seperti yang terkenal Particle Swarm Optimization (PSO), Artificial Bee Colony optimization (ABC), dan Algoritma Bacterial Foraging (BFA), memang jauh lebih sederhana baik dalam konsep dan implementasi. Selanjutnya, algoritma ini sangat efisien dan dapat mengungguli algoritma konvensional lainnya, seperti algoritma genetika, untuk memecahkan banyak masalah optimasi.
Dr Xin-She Yang merumuskan firefly algorithm sebagai berikut (Broersma, H, 2010) :
1. Semua kunang-kunang itu unisex, jadi suatu kunang-kunang akan tertarik pada kunang-kunang yang lain.
2. Daya tarik sebanding dengan tingkat kecerahan kunang-kunang, kunang-kunang dengan tingkat kecerahan lebih rendah akan tertarik dan bergerak ke kunang-kunang dengan tingkat kecerahan lebih tinggi, kecerahan dapat berkurang seiring dengan bertambahnya jarak dan adanya penyerapan cahaya akibat faktor udara.
3. Kecerahan atau intensitas cahaya kunang-kunang ditentukan oleh nilai fungsi tujuan dari masalah yang diberikan. Untuk masalah maksimisasi, intensitas cahaya sebanding dengan nilai fungsi tujuan.
Keatraktifan Firefly
Ada dua hal yang berkaitan dan sangat penting dalam firefly algorithm yaitu itensitas cahaya dan fungsi keatraktifan. Dalam hal ini banyak dari kita berasumsi bahwa keatraktifan dipengaruhi oleh tingkat itensitas cahaya. Untuk kasus yang paling sederhana contohnya masalah optimasi maksimum, tingkat itensitas cahaya pada sebuah kunang-kunang x dapat dilihat sebagai,
I (x) = f (x)
Dengan nilai I merupakan tingkat itensitas cahaya pada x kunang-kunang yang sebanding terhadap solusi fungsi tujuan permasalahan yang akan dicari f(x). Keatraktifan β yang bernilai relatif, karena itensitas cahaya yang harus dilihat dan dinilai oleh kunang-kunang lain. Dengan demikian, hasil penilaian akan berbeda tergantung dari jarak antara kunang-kunang yang satu dengan yang lainnya rij. Selain itu, itensitas cahaya akan menurun dilihat dari sumbernya dikarenakan terserap oleh media contohnya udara γ (Yang X.S, 2010).
Fungsi keatraktifan ialah sebagai berikut (Yang X.S, 2010) :
Jarak Antara Firefly
Jarak antara kunang-kunang i dan j pada lokasi x, xi dan xj dapat ditentukan ketika dilakukanya peletakan titik dimana firefly tersebut disebar secara random dalam diagram kartesius dengan rumus (Yang X.S, 2010).
Dimana selisih dari koordinat lokasi kunang-kunang i terhadap kunang-kunang j merupakan jarak diantara keduanya (rij).
Pergerakan Firefly
Pergerakan kunang-kunang i yang bergerak menuju tingkat itensitas cahaya yang terbaik dapat dilihat dari persamaan berikut (Yang X.S, 2010) :
Dimana variable awal xi menunjukan posisi awal kunang-kunang yang berada pada lokasi x, kemudian persamaan kedua yang terdiri dari variable β0 = 1.0 variabel ini merupakan nilai keaktratifan awal pada firefly, variabel (exp) bilangan eksponensial, variabel γ =1.0 merupakan nilai untuk tingkat penyerapan pada lingkungan sekitar firefly yaitu udara dan terakhir rij merupakan variabel selisih jarak awal antara firefly i dan j . Semua variabel pada persamaan kedua tersebut diberikan dari fungsi keatraktifan firefly yang mana menentukan tingkat kecerahan. Selanjutnya persamaan ketiga terdiri dari selisih nilai solusi pada firefly i terhadap firefly j. Kemudian fungsi persamaan pergerakan firefly secara random (rand) yang menunjukan adanya bilangan random yang kisarannya antara [0,1]. variabel α yang memiliki kisaran antara [0,1] biasa ditentukan dengan nilai 0,2. Semua variabel yang terbentuk pada persamaan pergerakan firefly menjamin cara kerja algoritma cepat menuju solusi yang optimal (Broersma H, 2010).
Flowchart Algoritma Firefly (Zulkifli, 2009)
Prosedur standar untuk menerapkan Firefly Algorithm adalah sebagai berikut :
1. Inisialisasi populasi firefly, jumlah iterasi dan parameter firefly algorithm.
2. Evaluasi fungsi fitness pada tiap firefly.
3. Inisialisasi fungsi fitness awal sebagai penentuan tingkat itensitas cahaya awal.
4. Update pergerakan tiap firefly menggunakan persamaan pergerakan (persamaan 2.26).
5. Bandingkan tiap calon firefly terbaik dari nilai fungsi fitness agar mendapatkan nilai firefly terbaik.
6. Lakukan sampai batas iterasi atau sampai mendapatkan firefly dengan fungsi fitness yang cukup baik.