Artificial Bee Colony LANDASAN TEORI

14 seberapa baik kualitasnya. Employed Bee memiliki memory, jadi mereka tahu dimana tempat yang telah mereka kunjungi sebelumnya dan seberapa baik kualitas sumber makanan disana [6][7].Setelah mendapatkan nektar mereka kembali ke sarang dan menyerahkan nektar yang didapat sekaligus memberikan informasi tentang sumber makanan kepada Onlooker Bee. Kemudian tugas Onlooker Beeadalah mengumpulkan dan mengevaluasi semua informasi tentang sumber makanan yang didapat dari penjelajahanEmployed Bee. Setelah itu Onlooker Bee akan memilih mana sumber makanan yang memiliki kemungkinan terbesar menghasilkan nektar terbaik, artinya apakah sebanding nektar yang didapat dengan usaha lebah mencapai sumber makanan tersebut. Kemudian Onlooker Bee akan melakukan sebuah isyarat yaitu sebuah tarian untuk memberi tahu lebah lain agar memilih sumber makanan yang memiliki kemungkinan terbaik dalam menghasilkan nektar. Lebah lain akan melihat seberapa lama Onlooker Bee menari, semakin lama lebah itu menari maka semakin besar juga keuntungan yang akan didapat jika memilih sumber makanan tersebut [14]. Onlooker Bee mencari sumber makanan secara global dari informasi yang telah didapat dari Employed Bee untuk mendapatkan nilai optimal global. Kemudian tugas dari Scout Bee adalah berkelana ke segala arah secara random mencari sumber makanan baru yang belum pernah dikunjungi oleh Employed Bee. Hal ini dilakukan agar lebah tidak terjebak pada satu sumber makanan saja. Jika sumber makanan yang baru ditemukan menghasilkan nektar tebaik dari sebelumnya, maka sumber makanan yang lama akan ditinggalkan dan digantikan dengan yang baru. Lebah akan melupakan 15 sumber makanan yang lama dan akan mengingat sumber makanan yang baru. Jika sumber makanan yang dimanfaatkan Employed Bee telah habis maka Employed Bee akan meninggalkan sumber makanan tersebut dan bertindak sebagai Scout Bee mencari makanan secara random ke segala arah. Dalam algoritma ABC sumber makanan menggambarkan kandidat solusi pada permasalahan optimasi dinotasikan sebagai NF, kemudian banyaknya nektar pada sumber makanan menggambarkan seberapa baik nilai fitness pada solusi tersebut. Penetapan nilai fitness ditentukan sesuai solusi yang diinginkan. Jumlah Employed Bee atau Onlooker Bee sama dengan jumlah sumber makanan.Berikut ini adalah langkah-langkah algoritma ABC menurut [5] dalam menyelesaikan permasalahan optimasi: Langkah 1. Inisialisasi : Menentukan solusi awal dengan me- randomsembarang nilai sebanyak populasi yang telah ditentukan dan hitung nilai fitness dari setiap solusi yang terbentuk. Setiap populasi menggambarkan sebagai posisi dari sumber makanan dan dinotasikan sebagai � , dimana i adalah banyaknya solusi yang telah ditentukan = 1,2, … , � dan setiap solusi memiliki D vektor dimensi, jadi j menunjukkan dimensi dari solusi = 1,2, … , . Langkah 2. Employed Bee: Setelah inisialisasi solusi awal Employed Bee akan melakukan pencarian sumber makanan baru di sekitar sumber makan lama dengan menggunakan persamaan 7, kemudian hitung nilai fitness pada sumber makanan baru, jika nilai fitness sumber makanan baru lebih besar daripada sumber makanan lama, maka sumber makanan lama akan digantikan 16 dengan yang baru seperti metode Greedy. Pencarian sumber makanan baru oleh Employed Bee akan berakhir sampai memenuhi iterasi yang telah ditentukan. Langkah 3. Onlooker Bee : Hitung probabilitas dari setiap sumber makanan yang terpilih menggunakan persamaan 8. Setelah itu pilih sumber makanan menggunakan metode rhoulette wheel untuk setiap Onlooker Bee. Kemudian sumber makanan yang terpilih akan digunakan sebagai patokan untuk mencari sumber makan baru disekitarnya menggunakan persamaan 7. Setelah itu hitung nilai fitnessnya dan lakukan pemilihan sumber makanan baru dengan metode Greedy. Langkah 4. Scout Bee : Jika sumber makanan tidak mengalami perbaikan sampai batas yang telah ditentukan, maka sumber makanan tersebut akan ditinggalkan dan Employed Bee akan menjadi Scout Beemencari sumber makanan baru secara random menggunakan persamaan 9. Langkah 5. Best Food : Simpan nilai fitness terbesar dan sumber makanan terbaik selama pencarian oleh para lebah. Langkah 6. Selesai : Periksa apakah program berhenti telah sesuai dengan iterasi, kemudian periksa juga apakah hasil yang diperoleh telah memuaskan, jika tidak kembali ke langkah 2. � + 1 = � + ∅ � − � 7 dimana � dinotasikan sebagai posisi lebah ke i, kemudian j adalah dimensi dari solusi atau sumber makanan, t adalah angka iterasi, � adalah 17 posisi lebah ke k yang dipilih secara acak, dan ∅ adalah suatu bilangan riil yang dipilih secara acak pada range [-1,1]. = � � � =1 8 dimana adalah probabilitas ke i, kemudian � adalah posisi lebah ke i , S menunjukkan jumlah Employed Bee. � = � + . � �� − � 9 dimana r adalah bilangan riil yang dipilih secara acak pada range [0,1].

2.4 Neighbourhood Operator

Neighbourhood Operator adalah salah satu metode yang termasuk kedalam Local Searchyaitu metode heuristik sederhana untuk menyelesaiakan permasalahan optimasi [4]. Karena neighbourhood operator adalah metode heuristik maka tidak ada jaminan solusi yang dihasilkan adalah optimal. Solusi dari metode heuristik didapat selain dengan cara trial and error juga dengan pendekatan secara intuitif [9]. Pada penelitian ini peneliti menggunakan dua neighbourhood operator sebagai pengembangan algoritma ABC untuk menyelesaikan permasalahan CVRP yaitu Random Swaps dan Random Insertions. - Random Swaps Operator ini akan memilih posisi dalam matriks i dan j dengan ≠ dan menukar pelanggan yang terletak pada posisi indeks i dan j[3].Pada metode ini, dua tempat dapat saling dipertukarkan urutan kunjungannya. 18 Metode random swaps dapat diterapkan baik pada satu rute maupun dua rute kendaraan [10]. Selama perubahan yang terjadi tidak melanggar kendala yang ada dan dapat mengurangi biaya yang dikeluarkan. Untuk lebih jelasnya dapat dilihat seperti gambar 1 dibawah ini. Misalkan i = 3 dan j = 7. Gambar 1. Random Swaps [3] - Random Insertions Operator ini akan memilih nilai i dan j secara random dimana ≠ dan merelokasi pelanggandi posisi i pindah ke posisi j[3]. Dalam metode ini, sebuah tempat dalam satu rute dapat dipindahkan urutan kunjungannya. Dengan syarat biaya rute berkurang dan tidak melanggar kendala yang ada maka hal tersebut dapat dilakukan. Metode random insertionsini dapat memindahkan sebuah kunjungan pada rute yang sama ke posisi yang berbeda. Untuk lebih jelasnya dapat dilihat seperti gambar di bawah ini, misalkan i = 7 dan j = 3. Gambar 2. Random Insertions