BAB 3
APLIKASI SIMULASI ANNEALING PADA TRAVELING SALESMAN
PROBLEM
Pada bab ini akan diperlihatkan hasil utama dari penelitian ini. Adapun hasil utama dari tulisan ini yaitu algoritma yang dikembangkan dan penerapan dari algoritma
tersebut untuk menyelesaikan traveling salesman problem.
3.1. Algoritma Simulasi Annealing untuk traveling salesman problem.
Dari uraian sebelumnya, algoritma simulasi annealing akan dijalankan dengan menggunakan algoritma Metropolis sehingga nantinya mampu menyelesaikan
traveling salesman problem. Sebelumnya proses simulasi annealing akan dimodelkan terlebih dahulu agar mempermudah penyusunan algoritma dan
proses simulasi nantinya.
Karena kasusnya adalah traveling salesman problem maka model simulasinya adalah model state yang dibangun untuk menyatakan rute-rute yang mungkin
menjadi anggota dalam ruang solusi dan energi yang dinyatakan sebagai total jarak yang ditempuh salesman tersebut. Hal-hal dan parameter yang diperlukan
untuk menyusun algoritma simulasi yang cocok dalam menyelesaikan permasalahan salesman problem berdasarkan prinsip dasar algoritma simulasi
annealing menurut Kirkpatrik et al adalah sebagai berikut.
1. Menyusun dan membangkitkan sistem awal proses sebagai posisi awal
iterasi. 2.
Menyusun fungsi objektif yang merupakan fungsi tujuan.
Universitas Sumatera Utara
3. Menentukan parameter kontrol.
4. Menyusun mekanisme untuk mengubah state.
5. Memeriksa dan melakukan cooling schedule.
6. Menghentikan aturan iterasi.
Sehingga langkah-langkah dari proses simulasi yang akan dijalankan dalam penelitian ini adalah sebagai berikut.
1. Inisialisasi parameter yang dibutuhkan yaitu :
a. Membangkitkan solusi awal dengan cara memilih rute awal yang
dilalui salesman tersebut secara acak dan mengevaluasi solusi awal tersebut.
b. Tentukan rasio penurunan suhu atau rasio pendinginan yang
nantinya akan digunakan untuk annealing schedule atau cooling schedule.
2. Tentukan temperatur awal yaitu dua kali panjang suatu jalur yang telah
dipilih secara acak.
3. Jalankan iterasi dengan menukarkan neighbourhood tetangga
berikutnya dari solusi yang dipakai sekarang untuk mendapatkan solusi terbaru dengan syarat :
a. Jika solusi terbaru lebih baik dari solusi sebelumnya maka ia
dijadikan solusi yang akan dipakai selanjutnya. b.
Jika solusi baru tidak lebih baik dari solusi yang sedang dipakai, gunakan algoritma Metropolis untuk memperbaharui atau update
state yaitu :
Jika maka perubahan jalur atau state diterima.
Sebelumnya tentukan operator yang diperlukan dan sesuai dengan permasalahan untuk menjalankan mekanisme transisi. Operator ini
digunakan hanya sebagai mekanisme pertukaran titik pada state yang
Universitas Sumatera Utara
dihasilkan dalam proses iterasi. Dan berikut adalah salah satu contoh operator yang bisa digunakan.
1. Kota-kota disimpan pada baris L sebagai jalur.
2. Bangkitkan dua bilangan random yang berbeda pada masing-
masing iterasi antara 1 – NC di mana NC adalah jumlah kota
yang akan dikunjungi yaitu dan
dengan 3.
Pisahkan barisan menjadi tiga bagian : Depan
sampai Tengah
sampai Belakang
sampai 4.
Bangkitkan bilangan random , apabila , maka: Depan Baru
“Depan” Tengah Baru
“Tengah” dengan urutan yang dibalik. Belakang Baru
“Belakang” L Baru =
Jika , maka lakukan :
Pilih jalur sementara = , misalkan memiliki M
elemen. Bangkitkan bilangan random N dari 1 sampai M sehingga
diperoleh Depan Baru
Jalur sementara 1 sampai N Tengah Baru
Tengah Belakang Baru
Sementara N +1 sampai M L Baru =
4. Perbaiki temperatur yang sesuai dengan annealing schedule yaitu
di mana adalah rasio pendinginan dan
adalah temperatur iterasi ke-i.
5. Hentikan iterasi sesuai dengan kriteria penghentian iterasi yang
diinginkan. Jika kriteria penghentian iterasi adalah dengan cara
Universitas Sumatera Utara
membatasi jumlah iterasi maka jumlah iterasi yang diinginkan untuk menghentikan proses simulasi adalah lebih kecil atau sama dengan
.
3.2. Hasil Percobaan dan Analisis.