• Tidak ada hasil yang ditemukan

Perbedaan Modifikasi PSO dengan Implementasinya

MODIFIKASI PSO TINGKAT LANJUT UNTUK PENCARIAN SATU SUMBER

4.7 Evaluasi Performa dari Algoritma Modifikasi dan Kombi- Kombi-nasinyaKombi-nasinya

4.7.1 Perbedaan Modifikasi PSO dengan Implementasinya

Teknik-teknik modifikasi yang sudah dijelaskan sebelumnya tidak dapat diimplemen-tasikan begitu saja. Ada beberapa teknik modifikasi yang butuh untuk dikonfigurasi. Ada juga teknik yang dapat disederhanakan karena PSO tidak membutuhkan perhi-tungan dengan tingkat akurasi yang terlalu tinggi. Tentu saja perubahan-perubahan tersebut memberikan efek tertentu, baik terhadap teknik modifikasinya saja maupun kinerja partikel secara keseluruhan. Hal-hal seperti inilah yang akan dibahas dalam bab ini untuk membantu Anda mengerti prilaku agen PSO secara menyeluruh.

4.7.1.1 Implementasi PSO Bermuatan

Pada bab 3 (halaman 45) sudah disampaikan bahwa setiap robot yang digunakan dalam penelitian ini merupakan robot yang identik baik dalam bentuk fisik, sensor, motor, maupun kemampuan kognitifnya. Hal ini berarti bahwa setiap robot bermuatan memi-liki kemampuan yang sama dengan robot bermuatan lainnya, termasuk mengenai be-sarnya muatan pada robot. Kondisi identik ini mengakibatkan persamaan

∀i = {1, 2, 3, . . . , max(i)} :: Q1= Q2= Q3= . . . = Qmax(i)

berlaku, yang kemudian membuat Persamaan 4.6 dapat disederhanakan menjadi

anil =                      Q2.(xni − xn l) r2inti.|xni − xn l| jika |x n i − xn l| < rinti Q2.(xni − xn l) |xn i − xn

l|3 jika rinti< |xni − xln| < rluar 0 jika rluar< |xni − xn

l|

(4.19)

Penentuan besarnya muatan (Q), radius inti, dan radius luar tidak boleh sem-barangan. Apabila nilai ketiganya terlalu kecil, maka partikel bermuatan tidak dapat bekerja secara efektif. Nilai Q berguna untuk memunculkan sifat divergen, artinya ni-lai ini harus cukup besar untuk membuat robot berbalik saat robot berada terlalu dekat dengan robot bermuatan lainnya. Paling tidak nilai Q ini harus cukup besar sehingga pada saat jarak antara dua robot bermuatan begitu dekat dan robot bergerak dalam ke-cepatan maksimum, nilai Q cukup besar untuk membuat kedua robot saling menjauhi robot lainnya. Pada kondisi paling ekstrem, dimana nilai jarak antara kedua robot lebih pendek dari radius inti namun masih lebih besar dari jarak awas, persamaan berikut harus terpenuhi Q2.(xni − xn l) rinti2 .|xni − xn l|> V n+1 i (4.20)

Pada awal implementasi PSO, ada kebutuhan untuk menentukan jarak awas robot, yaitu jarak dimana robot harus bersiap-siap untuk menghindari terjadinya tumbukan. Apabila robot mendeteksi adanya objek lain didepan robot yang masuk area jarak awas-nya, maka robot akan berusaha menghindari objek tersebut. Teknik penghindaran tum-bukan ini jika tidak diperhatikan dapat mengganggu kinerja algoritma PSO Bermuatan. Oleh karena itu, panjang jarak awas harus selalu lebih pendek dari panjang radius inti. Apabila jarak awas melebihi radius inti atau bahkan radius luar, maka bisa jadi tidak akan pernah terjadi penghitungan gaya tolak menolak antar partikel bermuatan.

4.7.1.2 Implementasi Utilisasi Angin

Agar robot dapat memanfaatkan teknik WU, maka robot harus dilengkapi dengan sen-sor angin. Sensen-sor angin ini akan memberikan informasi mengenai kecepatan angin dan arah angin yang robot butuhkan. Namun pada implementasinya, konsep WU menga-lami dua perubahan yang cukup signifikan. Perubahan ini meliputi perubahan untuk penggunaan WU secara umum dan penghitungan WU dengan menggunakan parameter pengontrol. Mari kita bahas mengenai yang kedua terlebih dahulu.

Gambar 4.28: Besar χ0Berdasarkan Sudut

Anda tentu masih ingat mengenai teknik utilisasi dengan menggunakan parame-ter pengontrol, jika tidak silahkan baca kembali subsubbab 4.6.2 pada halaman 125. Pada teknik ini nilai parameter pengontrol dapat dihitung dengan menggunakan Per-samaan 4.18. Namun karena adanya pembatasan kecepatan robot dan rendahnya akurasi untuk menentukan kecepatan perputaran motor, tingkat akurasi yang tinggi pada para-meter pengontrol tidaklah diperlukan. Hal ini berarti fungsi parapara-meter pengontrol yang terlihat pada Gambar 4.26 dapat disederhanakan menjadi seperti yang terlihat pada Gambar 4.28. Pada fungsi yang baru ini, nilai parameter berubah setiap 45o relatif terhadap arah angin. Penyederhanaan membuat Persamaan 4.18 berubah menjadi Per-samaan 4.21. θ0=                1 jika 135o≤ θn+1i ≤ 225o 0.75 jika 90o≤ θn+1i < 135oor 225o< θn+1i ≤ 270o 0.5 jika 45o≤ θn+1i < 90oor 270o< θn+1i ≤ 315o 0.25 jika 0o≤ θn+1i < 45oor 315o< θn+1i ≤ 360o (4.21)

Satu hal lagi dari WU yang mengalami perubahan adalah mengenai kondisi dimana WU boleh dan tidak boleh digunakan pada saat robot melakukan pencarian. Pada be-berapa percobaan awal yang kami lakukan dengan WU, terlihat dalam bebe-berapa ka-sus WU justru memperlambat pergerakan robot mendekati sumber asap. Permasalahan ini kurang lebih serupa dengan permasalahan yang tergambarkan pada Gambar 4.25c yang disebabkan oleh ketidakcocokan antara asumsi WU dan kondisi partikel pada la-pangan. WU selalu berasumsi bahwa posisi sumber asap selalu berada pada arah yang berlawanan dengan arah angin, namun sebenarnya pada saat pencarian robot justru lebih sering berada jauh dan tidak sejajar dengan sumber asap. Asumsi yang tidak sesuai de-ngan kondisi robot dilapade-ngan ini justru membuat perhitude-ngan WU menghambat kinerja seluruh robot.

Gambar 4.29: Area Pemberlakuan Utilisasi Angin

Sangatlah tidak beralasan untuk tidak menggunakan teknik WU karena asumsi yang tidak sesuai pada saat penggunaannya. Agar WU dapat produktif dan tepat guna, robot memerlukan suatu kondisi yang dapat digunakan penanda bahwa asumsi-asumsi pada WU sudah terpenuhi. Kondisi yang paling cocok adalah saat robot berada ditengah-tengah kepulan asap yang bergerak. Pada saat itu arah angin dapat membantu robot mendekati sumber karena asap selalu bergerak searah dengan arah angin. Sebagai penanda kondisi aman sudah tercapai, robot dapat menggunakan terdeteksinya asap. Gambar 4.29 memperlihatkan area dimana robot boleh menggunakan teknik WU.

4.7.2 Hal Umum Mengenai Implementasi PSO dan Modifikasinya

Terdapat tiga hal yang harus diperhatikan dalam implementasi teknik modifikasi PSO, yaitu kecenderungan PSO untuk menggunakan vektor, posisi absolut dalam

perhitung-annya, dan posisi robot diawal pencarian. Sebagai contoh, kecepatan partikel untuk iterasi berikutnya (Vi(n+1)∗) dalam persamaan PSO standar (Persamaan 4.1) bukanlah sebuah besaran skalar, namun besaran vektor yang terdiri atas kecepatan partikel pada sumbu x (Vx), kecepatan partikel pada sumbu y (Vy), dan arah gerak partikel dalam ru-ang pencarian. Begitu juga dengan local best (pni), global best (png), dan posisi partikel (xni) dalam persamaan tersebut. Sifat perhitungan PSO yang cenderung menggunakan posisi absolut membuat kecepatan partikel untuk iterasi berikutnya cukup direpresen-tasikan dengan target titik yang dituju pada sumbu x dan sumbu y saja. Arah gerak partikel dapat diturunkan berdasarkan posisi partikel saat ini dan titik yang dituju.

Gambar 4.30: Susunan Awal, Arah Sumbu X, dan Arah Sumbu Y

Titik awal (0, 0) pada lapangan pencarian terletak pada sadut yang dikelilingi oleh piramida kecil, coba lihat Gambar 4.30. Pada gambar tersebut, piramida-piramida kecil terletak pada bagian kanan bawah area pencarian. Berawal dari titik (0, 0) inilah sumbu x dan sumbu y dimulai. Sumbu x memanjang ke arah timur dan ke barat sementara nilai sumbu y memanjang ke arah selatan dan utara. Semakin ke timur, maka nilai sumbu x akan semakin bertambah. Apabila semakin ke utara, maka nilai pada sumbu y akan semakin bertambah. Nilai pada sumbu x dan sumbu y inilah yang menjadi representasi posisi absolut dari partikel dan objek-objek dalam ruang pencarian.

Hal terakhir yang perlu diperhatikan adalah susunan robot-robot pada awal penca-rian. Pada awal pencarian, robot-robot harus diletakan pada jarak yang cukup dengan robot lainnya. Jika pada awal robot sudah tersusun terlalu dekat, maka ada kemung-kinan robot tidak dapat bergerak sama sekali karena pengaruh jarak awas atau gaya tolak menolak. Tentu saja Anda bebas menggunakan teknik penempatan awal sesuai dengan yang Anda inginkan. Namun pada evaluasi performa yang kami lakukan ini,

robot-robot selalu ditempatkan pada bagian sebelah timur lapangan dan menggunakan Persamaan 4.22 untuk menentukan posisi robot.

Srobot= plapangan

nrobot∗ 2 (4.22)

dimana:

Srobot= jarak antar robot persatu sisi

plapangan= panjang lapangan area pencarian

nmaxRobot= jumlah jrnis robot terbanyak yang diturunkan

Algoritma 4.1: Periksa Kemungkinan Penempatan Robot

  1 / ∗ ∗ 2 P e r i k s a a p a k a h mungkin u n t u k m e l e t a k a n s e l u r u h r o b o t p a d a r u a n g p e n c a r i a n . 3 @ r e t u r n t r u e j i k a h a l t e r s e b u t memungkinkan 4 f a l s e j i k a s e b a l i k n y a 5 ∗ / 6 b o o l e a n f u n c t i o n a r e a M e m u n g k i n k a n ( ) 7 / / mungkin u n t u k m e l e t a k a n r o b o t s e c a r a v e r t i k a l ( d i l i h a t d a r i j u m l a h b a r i s ) 8 b o o l e a n b a r i s F l a g = f a l s e; 9 / / mungkin u n t u k m e l e t a k a n r o b o t s e c a r a h o r i s o n t a l ( d i l i h a t d a r i j u m l a h kolom ) 10 b o o l e a n k o l o m F l a g = f a l s e; 11 / / j u m l a h r o b o t t e r b a n y a k 12 i n t j u m l a h T e r b a n y a k = max ( j u m l a h R o b o t N e t r a l , j u m l a h R o b o t B e r m u a t a n ) 13 / / a r e a m i n i m a l u n t u k s a t u r o b o t 14 i n t a r e a M i n i m a l R o b o t = max ( j a r a k A w a s , r a d i u s L u a r ) + k e c e p a t a n M a k s i m u m ; 15 16 / / p e r i k s a a p a k a h s i s i v e r t i k a l memungkinkan 17 i f j u m l a h J e n i s R o b o t ∗ a r e a M i n i m a l R o b o t < p a n j a n g L a p a n g a n t h e n 18 b a r i s F l a g = t r u e; 19 end i f; 20 / / p e r i k s a a p a k a h s i s i h o r i s o n t a l memungkinkan 21 i f j u m l a h T e r b a n y a k ∗ a r e a M i n i m a l R o b o t < p a n j a n g L a p a n g a n t h e n 22 k o l o m F l a g = t r u e; 23 end i f; 24 25 / / k e m b a l i k a n h a s i l p e n g e c e k a n k e p a d a f u n g s i p e m a n g g i l 26 r e t u r n b a r i s F l a g && k o l o m F l a g ; 27 end f u n c t i o n;

Pada percobaan untuk melihat kinerja setiap modifikasi ini, susunan robot pada Gambar 4.30 merupakan susunan robot-robot pada awal pencarian. Pada gambar terbut jelas terlihat bahwa jarak antara satu robot dengan robot lainnya sudah diatur se-hingga robot dapat bergerak tanpa gangguan dari robot disebelahnya. Agar hal ini bisa tercapai, perangkat lunak menjalankan Algoritma 4.1 pada awal percobaan. Al-goritma ini memeriksa apakah panjang lapangan sebanding dengan banyaknya robot yang digunakan dan jarak minimum yang robot butuhkan. Anda dapat menghitung jarak minimum robot dengan menambahkan perpindahan maksimal robot dalam satu detik (kecepatan maksimal) dengan nilai terbesar antara jarak awas dan radius luar.

Pada perangkat simulasi yang kami gunakan, satu iterasi PSO diasumsikan sebagai satu detik pada dunia nyata. Apabila berdasarkan fungsi tersebut memang memungkinkan untuk menggunakan robot sesuai dengan skenario yang dibuat, maka penempatan posisi awal robot dapat dihitung dengan Persamaan 4.22.