21
gelombang suara awal dapat nol, atau nilai
[ jika menggunakan persamaan 3.6. Tingkat kenyaringan dan tingkat gelombang suara mereka akan
diperbarui hanya jika solusi baru ditingkatkan, yang berarti bahwa kelelawar ini bergerak menuju solusi optimal.
3.7 Benchmark Functions
Berdasarkan flowchart Bat Algorithm dapat diaplikasikan kedalam bahasa pemprograman. Ada beberapa fungsi test standar untuk memvalidasi suatu algoritma
yang disebut dengan Benchmark Functions, diantaranya fungsi Rosenbrocks dan fungsi Price 1 [9]. Untuk mempermudah, penerapkan fungsi test Rosenbrocks dan
Price 1 menggunakan software Matlab.
Tabel 3.1 Perbandingan Hasil Uji dan Nilai Eksak Fungsi Rosenbrock’s
Hasil Uji Test Nilai eksak
1 1
1 1
2.9672E-10
Tabel 3.1 merupakan hasil simulasi perhitungan algoritma bat, dengan fungsi Rosenbrock pada Matlab.
∑
22 Menggunkan parameter loudness
dan pulse , dengan domain dan frekuensi
untuk setiap . Fungsi Rosenbrock diatas menggunakan
200 bat virual dan perulangan sebanyak 1000 kali. Dari 200 virtual bat yang
bergerak secara random dengan batasan yang telah ditentukan, dapat dilihat bahwa virtual bat tersebut bertemu pada titik optimum global nilai best = 1,1 dan mendapatkan hasil
pada d=2.
function z=Funu
Rosenbrock function with fmin=0 at 1,1,...,1 d=lengthu;
sum=0; for
j=1:d-1; new=100uj+1-uj22+uj-12;
sum=sum+new; end
z=sum;
Tabel 3.2 Perbandingan Hasil Uji dan Nilai Eksak Fungsi Price 1 Hasil Uji Test
Nilai eksak
5 atau -5 5 atau -5
5 atau -5 5 atau -5
1.1943E-11
Tabel 3.2 merupakan hasil simulasi perhitungan algoritma bat, dengan fungsi Price 1 pada Matlab.
23 |
| |
| 3.9
Menggunkan parameter loudness dan pulse , dengan domain
dan frekuensi untuk setiap
. Fungsi Price 1 diatas menggunakan 200 bat virual
dan perulangan sebanyak 1000 kali, untuk d=2. Dari banyaknya virtual bat yang bergerak secara random dengan batasan yang telah ditentukan, dapat dilihat
bahwa virtual bat tersebut bertemu pada titik optimum global nilai best = 5,-5, -5,5 dan dan
yang mendekati 0.
function z=Funxx
Price 1 function with fmin=0 at x={-5.-5},{-5.5},{5.-5},{5.5} x1=xx1;
x2=xx2; sum=absxx1-52+absxx2-52;
z=sum;
Dengan demikian berdasarkan hasil test fungsi Rosenbrocks dan Price 1, terlihat bahwa nilai eksak memiliki nilai yang hampir sama dengan hasil uji coba dengan Bat
Algorithm. Oleh karena itu dapat disimpulkan bahwa Bat Algorithm memiliki kinerja yang baik dan dapat digunakan dalam mencari solusi optimal.
24
BAB IV APLIKASI BAT ALGORITHM PADA SISTEM PERSAMAAN NONLINIER
Pada bab ini akan dibahas mengenai penerapan Bat Algorithm yang dimodifikasikan dengan metode Steepest Descent untuk menyelesaikan contoh kasus
sistem persamaan nonlinier. Langkah awal adalah merubah sistem persamaan nonlinier menjadi permasalahan optimisasi.
4.1 Sistem Persamaan Nonlinier
Sistem persamaan nonlinier dapat didefinisikan sebagai :
[ ]
4.1
dimana setiap fungsi dapat memetakan vektor
dari ruang dimensional
ke . Permasalahan mencari akar-akar dari suatu sistem persamaan
nonlinier dapat diubah ke dalam permasalahan optimasi. Agar dapat menggunakan metode optimasi, persamaan 4.1 dapat diubah menjadi fungsi kuadratik dan untuk
menyelesaikan sistem persamaan nonlinier sama dengan meminimalkan fungsi. Maka dapat didefinisikan sebagai :
∑ [
25
Untuk menyelesaikan persamaan diatas 4.2 digunakan Bat Algorithm BA dengan parameter :
, , dan .
4.2 Contoh Kasus 1
Misal sistem persamaan nonlinier : [
] dengan
dan . Dari sistem persamaan 4.3 akan dicari solusi dari sistem persamaan tersebut yaitu titik potong antara kedua kurva yang dihasilkan.
Hasil plot dari persamaan 4.3 dapat dilihat pada gambar 4.1. Berdasarkan gambar tersebut terlihat bahwa terdapat 4 titik perpotongan yang merupakan nilai akar-akar
persamaan 4.3. Untuk mencari nilai akar-akar dari kasus ini menggunakan 4.2.
Gambar 4.1 Plot Sistem Persamaan Nonlinier 4.3.