Algoritma Simulasi Annealing untuk traveling salesman problem.

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.