APLIKASI SIMULASI ANNEALING UNTUK MENYELESAIKAN
TRAVELING SALESMAN PROBLEM
SKRIPSI
TUTI LARASATI
060803034
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
APLIKASI SIMULASI ANNEALING UNTUK MENYELESAIKAN TRAVELING SALESMAN PROBLEM
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
TUTI LARASATI 060803034
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
PERSETUJUAN
Judul : APLIKASI SIMULASI ANNEALING UNTUK
MENYELESAIKAN TRAVELING SALESMAN PROBLEM
Kategori : SKRIPSI
Nama : TUTI LARASATI
Nomor Induk Mahasiswa : 060803034
Program Studi : SARJANA (S1) MATEMATIKA
Departemen : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 2011
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Drs. Parapat Gultom. M.S.I.E Dra. Esther Nababan, M.Sc. NIP. 196101030198503 1 002 NIP. 19610318198711 2 001
Diketahui oleh
Departemen Matematika FMIPA USU Ketua,
Dr. Tulus, M.Si
PERNYATAAN
APLIKASI SIMULASI ANNEALING UNTUK MENYELESAIKAN TRAVELING SALESMAN PROBLEM
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, November 2011
PENGHARGAAN
Segala puji dan syukur bagi ALLAH Subhanna Wa Ta’ala yang telah melimpahkan nikmat dan karuniaNya, sehingga penulis mampu menyelesaikan skripsi yang
berjudul, “APLIKASI SIMULASI ANNEALING UNTUK MENYELESAIKAN
TRAVELING SALESMAN PROBLEM” ini dengan lancar. Dan tak lupa pula shalawat dan salam senantiasa tercurah kepada RASULULLAH, Muhammad Shalallahu
‘Alaihi Wassalam yang diutus sebagai rahmat untuk sekalian alam serta keluarga dan
sahabat beliau serta orang-orang yang berpegang teguh dengan petunjuk Sunnah beliau hingga hari kiamat.
Dalam kesempatan ini, penulis ingin mengucapkan jazakumullahu khairan katsiran kepada semua pihak yang telah membantu dan membimbing penulis dalam penyusunan skripsi ini yang berupa dukungan semangat, doa, masukan, evaluasi serta saran yang sangat berarti bagi penulis. Ucapan terima kasih yang sebesar-besarnya penulis sampaikan kepada :
1. Bapak Prof. Dr. Sutarman, M.Sc, selaku Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara.
2. Bapak Prof. Dr. Tulus, M.Si. dan Ibu Mardiningsih, M.Si. selaku Ketua dan Sekretaris Departemen Matematika di FMIPA USU Medan.
3. Ibu Dra. Esther Nababan, M.Sc, sebagai dosen pembimbing I dan Bapak Dr. Drs. Parapat Gultom. M.S.I.E sebagai dosen pembimbing II yang telah memberi dukungan moral, motivasi, evaluasi dan ilmu pengetahuan bagi penulis dalam menyelesaikan penelitian ini.
4. Bapak Prof. Dr. Drs. Iryanto, M.Si. dan Bapak Drs. Rosman Siregar sebagai dosen pembanding yang telah memberikan banyak masukan dan evaluasi yang sangat berguna bagi penulis.
5. Seluruh Staf Pengajar Departemen Matematika, Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sumatera Utara.
6. Mamakku dan Bapakku tercinta, Samida dan Sarjono serta adinda-adindaku tersayang, Dedi Prayitno, Tri Hardi dan Efrina yang selalu dan tak pernah bosan dalam memberikan motivasi, doa, cinta dan semangat kepada penulis. Tak akan pernah terbalas segala hal yang telah kalian berikan sepanjang hidup penulis.
8. Para Rangers, Kak Setia Wati, Rika Anggraini, Fadila Puti, Rangga dan Jundi Syukri, serta Martin dan Adham, orang-orang yang tangguh dan selalu mengingatkan, memotivasi dan memberi dukungan berupa doa dan kata-kata
“mutiara” penyemangat kepada penulis agar selalu optimis. Sungguh
beruntung kita terikat oleh benang merah yang sama.
Tak lupa penulis juga mengucapkan terima kasih kepada Gilang atas semangat pantang menyerahnya. Sungguh itu sangat menginspirasi penulis untuk segera menyelesaikan skripsi ini. Untuk Putri dan Mizwar atas bantuan buku-buku dan modulnya. Kepada teman sekamar penulis di Asrama Putri USU, Rahmi dan Popy yang telah menemani dan membantu penulis selama proses penyelesaian skripsi ini. Juga kepada para senior dan junior yang telah turut membantu penulis. Dan terakhir, kepada teman seperjuangan di Operasi Riset 2006 serta seluruh rekan stambuk 2006 khususnya Bayu, Laila dan Monika serta sahabat lainnya yang tak bisa penulis sebutkan satu persatu namanya. Semoga segala bentuk bantuan yang telah diberikan kepada penulis mendapatkan balasan yang lebih baik dari Allah Subhanna Wa ta’ala.
Penulis menyadari bahwa masih banyak kekurangan dalam penelitian dan penulisan ini, untuk itu penulis mengharapkan saran dan kritik yang membangun dari pembaca sekalian. Semoga tulisan ini bermanfaat untuk para pembaca.
Medan, November 2011 Penulis
ABSTRAK
Traveling salesman problem merupakan salah satu permasalahan optimasi kombinatorial yang penyelesaian akhirnya bertujuan untuk mendapatkan solusi optimal yakni menemukan rute perjalanan yang paling minimum. Untuk menyelesaikan dan menemukan solusi dari permasalahan tersebut salah satu algoritma yang bisa digunakan adalah simulasi annealing. Simulasi annealing merupakan analogi dari proses pendinginan cairan logam yang disebut annealing. Pada tugas akhir ini akan dilakukan analogi dan pengembangan algoritma simulasi annealing
sehingga mampu digunakan untuk menyelesaikan traveling salesman problem.
Kata Kunci : simulasi annealing, traveling salesman problem, algoritma Metropolis,
APPLICATION OF SIMULATED ANNEALING TO SOLVE THE TRAVELING SALESMAN PROBLEM
ABSTRACT
Traveling salesman problem is one of combinatorial optimization problems that aim to obtain an optimal solution which determines the route that most minimum. And to resolve and find solutions to these problems one algorithm to be used is simulated annealing. Simulated annealing is an analogy of a liquid metals cooling process called annealing. Annealing is the metallurgical process of heating up a solid and then cooling slowly until it crystallizes. At this final task will shown an analogy and development of simulated annealing algorithm is used to solve traveling salesman problem.
Keywords : simulated annealing, traveling salesman problem, Metropolis algorithm,
graph.
DAFTAR ISI
1.1. Latar Belakang Penelitian 1
1.2. Identifikasi Masalah 3
2.1. Traveling salesman problem 8
2.2. Algoritma Metropolis 19
2.3. Simulasi Annealing 21
2.4. Simulasi Annealing dan Traveling salesman problem 29
3. APLIKASI SIMULASI ANNEALING PADA
TRAVELING SALESMAN PROBLEM 31
4. KESIMPULAN DAN SARAN 47
4.1. Kesimpulan 47
4.2. Saran 48
DAFTAR GAMBAR
Gambar Halaman
2.1 Graph lengkap dengan 6 verteks dan 15 edge 10 2.2 Graph tidak lengkap dengan 5 verteks dan 8 edge 11 2.3 Graph lengkap dengan 5 verteks 12 2.4 Graph dengan edge yang terpilih setelah iterasi pertama 17 2.5 Graph dengan edge yang terpilih setelah iterasi kedua 17 2.6 Graph dengan edge yang terpilih setelah iterasi ketiga 18 2.7 Graph dengan edge yang terpilih setelah iterasi keempat 18
2.8 Solusi optimal 19
2.9 Flowchart untuk Algoritma Simulasi Annealing 28
3.1 Jalur awal yang dipilih secara acak 35
3.2 Jalur terpilih iterasi ke-1 36
3.3 Jalur terpilih iterasi ke-2 37
3.4 Jalur terpilih iterasi ke-3 38
3.5 Jalur terpilih iterasi ke-4 39
3.6 Jalur terpilih iterasi ke-5 40
3.7 Jalur terpilih iterasi ke-6 41
3.8 Jalur terpilih iterasi ke-7 41
3.9 Jalur terpilih iterasi ke-8 42
3.10 Jalur terpilih iterasi ke-9 43
DAFTAR TABEL
Tabel Halaman
2.1 Jarak antar kota 12
2.2 Lintasan dari sirkuit hamilton 14
2.3 Analogi proses annealing 23
3.1 Hasil iterasi dalam proses simulasi 45
ABSTRAK
Traveling salesman problem merupakan salah satu permasalahan optimasi kombinatorial yang penyelesaian akhirnya bertujuan untuk mendapatkan solusi optimal yakni menemukan rute perjalanan yang paling minimum. Untuk menyelesaikan dan menemukan solusi dari permasalahan tersebut salah satu algoritma yang bisa digunakan adalah simulasi annealing. Simulasi annealing merupakan analogi dari proses pendinginan cairan logam yang disebut annealing. Pada tugas akhir ini akan dilakukan analogi dan pengembangan algoritma simulasi annealing
sehingga mampu digunakan untuk menyelesaikan traveling salesman problem.
Kata Kunci : simulasi annealing, traveling salesman problem, algoritma Metropolis,
APPLICATION OF SIMULATED ANNEALING TO SOLVE THE TRAVELING SALESMAN PROBLEM
ABSTRACT
Traveling salesman problem is one of combinatorial optimization problems that aim to obtain an optimal solution which determines the route that most minimum. And to resolve and find solutions to these problems one algorithm to be used is simulated annealing. Simulated annealing is an analogy of a liquid metals cooling process called annealing. Annealing is the metallurgical process of heating up a solid and then cooling slowly until it crystallizes. At this final task will shown an analogy and development of simulated annealing algorithm is used to solve traveling salesman problem.
Keywords : simulated annealing, traveling salesman problem, Metropolis algorithm,
graph.
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Salah satu permasalahan optimasi kombinatorial yang terkenal dan sering dibahas
adalah traveling salesman problem. Sejak diperkenalkan oleh William Rowan Hamilton pada tahun 1800, traveling salesman problem menjadi objek permasalahan yang sangat menarik untuk diteliti dan hingga sekarang merupakan permasalahan
yang sangat klasik. Traveling salesman problem juga tergolong kedalam permasalahan optimasi yang ruang kemungkinan solusinya kontinu namun dapat
dibentuk secara diskrit.
Traveling salesman problem yang sangat erat kaitannya dengan bidang
transportasi adalah suatu permasalahan yang mana seorang salesman harus melalui beberapa kota yang menjadi tujuannya dengan rute tertentu dan kembali lagi ke kota
asalnya tepat satu kali. Permasalahan yang sering terjadi adalah cara untuk
menentukan rute perjalanan yang paling optimal sehingga diperoleh biaya perjalanan,
jarak dan waktu tempuh yang paling minimum. Selain bidang transportasi, traveling salesman problem juga diterapkan dalam bidang komunikasi dan teknologi informasi.
Ada berbagai cara pendekatan dan algoritma yang bisa digunakan untuk
menyelesaikan permasalahan ini diantaranya adalah algoritma brute force, algoritma
Dalam penelitian ini, penulis memilih salah satu metode di atas untuk
menyelesaikan masalah traveling salesman problem yaitu dengan menggunakan metode simulasi annealing.
Metode simulasi annealing dikembangkan dari analogi pada proses fisika yaiut tentang proses pendinginan cairan logam hingga akhirnya membentuk kristal
atau molekul padat yang stabil yaitu annealing (Kirkpatrick et al, 1982 ; 1983).
Annealing merupakan teknik metalurgi yang menggunakan ilmu penjadwalan proses pendinginan untuk menghasilkan efisiensi dalam penggunaan energi yang optimal
sehingga menghasilkan logam (tembaga, besi, baja dan lain-lain) dan juga kaca yang
bagus.
Prinsip kerjanya yaitu pada temperatur (suhu) yang tinggi molekul-molekul
cairan logam tersebut mempunyai tingkat energi yang tinggi juga sehingga relatif
mudah bergerak terhadap molekul lainnya (karena berada dalam kondisi cair). Bila
temperatur diturunkan, molekul-molekul tersebut mampu mengatur dirinya untuk
mencari konfigurasi atau susunan dengan tingkat energi yang lebih rendah. Dengan
menurunkan temperatur secara perlahan, molekul-molekul tersebut mempunyai
kesempatan untuk mengatur diri sendiri sehingga diperoleh suatu keadaan stasioner
atau stabil dengan tingkat energi yang minimum pula. Jeda atau penurunan temperatur
secara perlahan tersebut yang merupakan inti dari proses “annealing”. Prinsip kerja dari annealing inilah yang dipakai dan di adaptasikan pada traveling salesman problem dalam bentuk simulasi untuk menemukan solusi yang paling optimal.
Dalam aplikasi simulasi annealing pada kasus traveling salesman problem, terdapat proses pertukaran state yang ekuivalen dengan rute-rute perjalanan guna mendapatkan rute perjalanan yang menghasilkan total jarak perjalanan keseluruhan
yang minimum. Mekanisme pertukaran adalah proses iterasi pada simulasi annealing
yang akan menyebabkan perubahan harga fungsi objektif. Mekanisme pertukaran
merupakan analogi dari interaksi antar molekul pada proses pendinginan logam.
Dalam proses pertukaran rute-rute tersebut akan digunakan algoritma Metropolis
Jadi, simulasi annealing pada traveling salesman problem digunakan untuk menelusuri dan menemukan setiap rute yang memungkinkan, sehingga akhirnya
mendapatkan rute yang optimal yakni rute yang memiliki bobot jarak tempuh yang
lebih minimum.
Kirkpatrick et al (1982; 1983) menggunakan suatu algoritma untuk menyelesaikan permasalahan ini dalam skala besar (sekitar 6000 kota) tetapi mereka
tidak menyediakan informasi yang lengkap tentang kualitas dari solusi yang
ditemukan, sehingga nilai dan simulasi annealing pada traveling salesman problem
tidak pernah jelas secara numerik. Kemudian Jose Rizal (2007) juga telah
menggunakan pendekatan simulasi untuk menyelesaikan traveling salesman problem
dengan menyusun suatu algoritma dan dihitung secara komputasi namun secara
numerik tidak dirincikan secara detail nilai optimal beserta proses eksekusinya.
Berdasarkan hal tersebut, penulis akan memaparkan dan menguraikan proses
simulasi annealing serta menerapkannya untuk menyelesaikan traveling salesman problem.
1.2 Identifikasi Masalah
Traveling salesman problem adalah permasalahan untuk memperoleh rute terpendek dari suatu perjalanan yang dimulai dan kembali lagi kekota asal yang merupakan
solusi optimal. Dalam hal ini simulasi annealing akan diterapkanuntuk mencari solusi dari permasalahan tersebut. Annealing merupakan proses pendinginan secara bertahap pada logam yang dianalogikan sebagai tiap iterasi pada penyelesaian permasalahan
1.3 Batasan Masalah
Dari latar belakang dan perumusan masalah, maka penelitian ini akan dibatasi hanya
pada penerapan algoritma dan proses simulasi annealing untuk menyelesaikan
traveling salesman problem.
1.4 Tinjauan Pustaka
Secara sederhana, traveling salesman problem merupakan permasalahan seorang
salesman yang harus melakukan kunjungan tepat satu kali pada semua kota dalam sebuah lintasan sebelum dia kembali ke titik awal keberangkatannya.
Secara matematis traveling salesman problem didefinisikan sebagai suatu
himpunan
c1 ,c2 , . . . ,cN
yang merupakan bagian dari kota dan untukmasing-masing pasangan
ci,cj
kota yang berbeda dengan suatu jarak d
ci,cj
. Tujuannyaadalah untuk menemukan keadaan dari kota-kota tersebut dengan meminimumkan
jumlah
dan jumlah ini dianggap sebagai total jarak tempuh perjalanan (David S. Johnson dan
Lyle A. McGeoch, 1995).
Salah satu metode penyelesaian permasalahan travelling salesman adalah simulasi annealing yang merupakan analogi dari proses fisika yaitu teknik pendinginan cairan logam. Annealing adalah teknik metalurgi yang menggunakan ilmu penjadwalan proses pendinginan untuk menghasilkan efisiensi dalam
menggunakan energi dan menghasilkan logam yang optimal.
numerik karena mampu menghindari kondisi jebakan optimum lokal. Optimum lokal
adalah suatu keadaan dimana semua tetangga yang berdekatan dengannya lebih buruk
atau sama dengan keadaan dirinya yang mengakibatkan solusi yang dihasilkan tidak
diterima.
Secara garis besar, dasar algoritma simulasi annealing (Kirkpatrick et al, 1982; 1983) adalah sebagai berikut.
1. Inisialisasi solusi trial awal yaitu membangkitkan solusi awal secara acak.
2. Iterasi, dengan cara menukarkan dan mengubah solusi trial terdekat yang digunakan.
Jika solusi yang terbaru adalah yang terbaik, maka solusi tersebut akan
menggantikan solusi yang digunakan sebelumnya.
3. Memeriksa temperature schedule.
4. Menghentikan aturan perpindahan iterasi.
Sedangkan David S. Johnson dan Lyle A. McGeoch (1995) memperkenalkan
bentuk umum dari algoritma simulasi annealing adalah sebagai berikut.
1) Membangkitkan kondisi awal simulasi S dan menginisialisasi solusi
akhir S* S
2) Menentukan temperatur T awal
3) Jika “pendinginan” belum terpenuhi, maka :
jika re/T ; S S'.
penting dalam menyusun algoritma simulasi annealing pada traveling salesman problem, yaitu :
1. Konfigurasi sistem atau image awal proses.
2. Fungsi objektif di mana fungsi ini didefinisikan sebagai fungsi sasaran
yang diminimumkan yang analogi dengan energi (total jarak yang
ditempuh salesman)
3. Parameter kontrol yang analogi dengan temperatur sistem dan
merupakan parameter bebas.
4. Mekanisme untuk mengubah konfigurasi interaksi antar titik
pengamatan yang analogi dengan pertukaran rute-rute perjalanan antar
titik.
5. Annealing schedule yang dinotasikan dengan fungsi Tn f
T0,i,N
,analogi dengan menurunkan temperatur untuk setiap iterasinya.
Kolahan et al (2007) juga mengembangkan algoritma simulasi annealing untuk masalah optimasi struktural yaitu dengan cara mengoptimalkan desain struktur
masalah menggunakan metode pencarian acak dan menerima non memperbaiki solusi.
1.5 Tujuan Penelitian
Tujuan dari penelitian ini adalah mengaplikasikan dan menganalisa metode simulasi
solusi yang optimal dan melihat sejauh mana efektifitas simulasi annealing dapat diterapkan untuk menyelesaikan traveling salesman problem.
1.6 Manfaat Penelitian
Penelitian ini bermanfaat untuk menambah literatur dan pengetahuan pembaca
khususnya mengenai penerapan simulasi annealing untuk menyelesaikan traveling salesman problem.
1.7 Metode Penelitian
Metode penelitian yang akan digunakan adalah penelitian literatur atau
kepustakaan dengan langkah-langkah sebagai berikut :
1. Menguraikan teori dasar tentang traveling salesman problem dan simulasi
annealing.
2. Menentukan fungsi tujuan dan fungsi kendalanya.
3. Merepresentasikan permasalahan dan ruang solusi yang ada.
4. Mengembangkan analogi algoritma simulasi annealing yang cocok untuk menyelesaikan traveling salesman problem.
5. Menganalisis permasalahan yang muncul dari traveling salesman problem
dengan cara mengambil contoh permasalahan yang telah diselesaikan
dengan salah satu metode lain yang ada kemudian diselesaikan dengan
BAB 2
LANDASAN TEORI
Pada bab ini akan dibahas beberapa konsep dasar dan beberapa definisi yang akan
digunakan sebagai landasan berpikir dalam melakukan penelitian ini sehingga
mempermudah penulis untuk menyampaikan pembahasan yang akan dijelaskan pada
bab selanjutnya. Konsep dasar ini berkaitan dengan permasalahan yang akan dibahas
dalam penelitian ini, yaitu traveling salesman problem, graph, metode simulasi, algoritma Metropolis, simulasi annealing dan hubungan antara traveling salesman problem dengan simulasi annealing yang nantinya akan digunakan dalam bab
pembahasan.
2.1 Traveling salesman problem
Traveling salesman problem memiliki sejarah panjang. Dicetuskan pertama kali oleh Euler pada awal tahun 1759, walaupun dengan nama yang berbeda, yang tertarik
untuk menyelesaikan permasalahan “knight’s tour”. Solusi yang tepat akhirnya
diperoleh ketika pion kuda melewati tiap-tiap rute yang memungkinkan dari 64 kotak
pada papan catur tepat satu kali dalam perjalanannya. Yang artinya setelah pion kuda
tersebut melewati seluruh kemungkinan rute akhirnya dia menemukan solusi yang
tepat.
Kemudian sekitar tahun 1800 diperkenalkan kembali oleh matematikawan
Irlandia bernama William Rowan Hamilton dan matematikawan Inggris bernama
menggunakan hanya jalur-jalur tertentu. Oleh karena itu traveling salesman problem
sangat erat hubungannya dengan cycle hamilton di mana dideskripsikan sebagai lintasan seorang salesman yang harus mengunjungi sebanyak n kota.
Misalkan adalah jarak perjalanan dari kota i ke kota j dan salesman
ingin melakukan perjalanan dengan biaya total yang minimum, yang mana biaya total
adalah jumlah masing-masing biaya tiap edge atau jalur perjalanannya (Vasudev,
2006, hal : 88). Sehingga traveling salesman problem didefinisikan sebagai suatu permasalahan optimasi yang bertujuan untuk mendapatkan rute terpendek (minimum)
dari beberapa tempat atau kota yang harus dilalui seorang salesman tepat satu kali ia hingga kembali ke tempat awal keberangkatannya.
Jadi, secara sederhana traveling salesman problem merupakan permasalahan seorang salesman yang harus melakukan kunjungan tepat satu kali pada semua kota dalam sebuah lintasan sebelum dia kembali ke titik awal keberangkatannya.
Definisi 2.1.1 Andaikan dinotasikan sebagai kota-kota yang telah dikunjungi, khususnya jika , maka kota adalah kota ke i yang telah dikunjungi selama
perjalanan dan merupakan matriks jarak yang mana anggota-anggota
dinotasikan sebagai jarak antara kota i dan kota j. Permasalahannya adalah menemukan rute terpendek untuk melewati seluruh kota tepat satu kali. Sehingga
secara matematis traveling salesman problem didefinisikan sebagai :
Minimum
dengan kendala
Model dari permasalahan traveling salesman problem dapat digambarkan sebagai graph lengkap dengan n verteks. Bentuk traveling salesman problem dengan
graph didefinisikan sebagai berikut.
lintasan (Vasudev, 2006, hal : 20).
Contoh. 2.1 : Berikut diberikan gambaran traveling salesman problem dengan
Namun, traveling salesman problem juga dapat dideskripsikan kedalam bentuk graph
tidak lengkap seperti contoh berikut.
Contoh 2.2 : Diberikan suatu dengan 5 verteks dan 8 edge
Gambar 2.2 Graph tidak lengkap dengan 5 verteksdan 8 edge
Tiap verteks pada suatu graph merupakan representasi dari kota-kota yang harus dikunjungi oleh seorang salesman, sedangkan edge yang menghubungkan antar verteks merupakan representasi dari nilai jarak antar kedua kota. Dalam graph,
traveling salesman problem direpresentasikan sebagai graph berbobot.
Definisi. 2.1.3 Andaikan adalah suatu graph dan adalah suatu fungsi berbobot maka bersama dengan fungsi disebut graph
berbobot.
Definisi. 2.1.4 Andaikan dengan adalah suatu graph
berbobot dan terhubung dengan T adalah spanning tree pada maka
Ada dua metode yang sering digunakan dalam menyelesaikan traveling salesman problem, yaitu :
a. Metode Optimal
Metode ini menghasilkan nilai yang optimal dengan menemukan secara pasti nilai
minimum dari traveling salesman problem. Biasanya metode optimal ini digunakan untuk menyelesaikan permasalahan yang ruang lingkupnya masih
kecil. Namun, dibutuhkan waktu yang cukup lama jika lingkup permasalahan
sudah memasuki skala besar yaitu jumlah kota yang harus dilalui sangat banyak.
Metode optimal itu meliputi complete enumeration, branch and bound, cutting plane dan dynamic programming.
Contoh. 2.2 : Diberikan suatu graph dari perjalanan seorang salesman. `
Gambar 2.3 Graph lengkap dengan 5 verteks.
Andaikan seorang salesman ingin mengunjungi 5 kota, misalkan kota A, B, C, D dan E.
Tabel 2.1 Jarak antar Kota
Kota A B C D E
A 0 100 250 400 180
B 100 0 160 100 120
C 250 160 0 240 450
D 400 100 240 0 380
Dengan menggunakan enumerasi lengkap tentukan rute yang harus ia lewati
berdasarkan graph tersebut diatas dengan asumsi bahwa seluruh edge memiliki hambatan yang sama dan memulai perjalanan dari titik mana saja sehingga ia
mampu menyelesaikan seluruh perjalanan dengan bobot tempuh yang minimum!
Penyelesaian :
Permasalahan diatas akan diselesaikan dengan metode enumerasi lengkap
yang akan menjabarkan seluruh kemungkinan yang terdapat dalam graph, setelah itu akan dibandingkan lintasan mana yang paling minimum.
Untuk menyelesaikan permasalahan ini, kita misalkan dia memulai
keberangkatan dari titik A. Secara manual dapat diselesaikan dengan memeriksa
semua jalur yang memungkinkan untuk ia melewati empat kota lainnya dan
akhirnya kembali ke kota awal yaitu A.
Sesuai dengan definisi sebelumnya bahwa permasalahan tersebut memiliki
sebanyak lintasan yang termasuk dalam ruang solusi. Ini berarti ada 24
lintasan yang dianggap sebagai rute alternatif. Namun, oleh karena terdapat rute
yang dilalui memiliki bobot yang sama ketika rute tersebut dilewati secara
berlawanan arah, maka ada lintasan sehingga ada 12 lintasan yang menjadi
kemungkinan solusi permasalahan tersebut. Bobot total dihitung dengan cara
menjumlahkan bobot tiap edge pada masing-masing lintasan.
Dari tabel jarak tersebut diperoleh bobot dari masing-masing edge adalah sebagai berikut.
Berikut ini adalah tabel rute-rute dari lintasan hamilton yang mungkin dari
graph lengkap diatas dan total bobot yang akan ditempuh untuk masing-masing lintasan.
Tabel 2.2 Lintasan dari sirkuit hamilton.
Rute alternatif Bobot total
Dari perhitungan diatas diperoleh rute yang harus dilalui olehnya agar bobot
tempuh minimum adalah dengan total bobot yaitu
890. Cara ini memang sangat ampuh karena didapat hasil yang benar-benar
optimal yaitu diperolehnya rute dengan bobot tempuh yang paling minimum.
Namun, hal itu hanya berlaku jika jumlah kota masih sedikit. Ketika
permasalahan diperbesar maka akan menjadi sangat merepotkan dan
menghabiskan waktu yang sangat banyak jika kendala yang berupa jumlah kota
b. Metode Aproksimasi
Metode aproksimasi atau sering disebut juga dengan metode heuristik
menghasilkan penyelesaian yang hanya mendekati nilai yang optimal. Metode
aproksimasi ini meliputi tabu search, local search, algoritma acak, simulasi annealing, algoritma greedy, ant colony dan neural network.
Contoh. 2.3 : Diberikan suatu graph dengan bobot yang sama dari contoh sebelumnya (Gambar 2.3). Dengan menggunakan algoritma greedy tentukan rute yang harus ia lewati berdasarkan graph tersebut (dengan asumsi yang sama seperti pada contoh kasus sebelumnya) sehingga ia mampu menyelesaikan
seluruh perjalanan dengan bobot tempuh yang minimum!
Penyelesaian :
Diketahui suatu dengan dan
dengan bobot masing-masing edge
yaitu :
Sebelumnya akan dijelaskan mengenai algoritma greedy. Secara sederhana algoritma greedy merupakan algoritma untuk mencari solusi optimal dengan cara memulai lintasan dengan titik-titik yang memiliki edge yang paling minimum. Dan untuk menentukan titik yang akan dipilih selanjutnya adalah dengan memilih
titik yang belum dilewati dan memiliki jarak yang paling minimum pula.
Andaikan adalah graph berbobot dan n adalah jumlah verteks dengan adalah edge dari verteks ke verteks maka adalah bobot dari
Sehingga permasalahan menjadi
Langkah-langkah penyelesaian dengan algoritma greedy :
Langkah 1. Pilih titik awal
Pilih titik awal keberangkatan yang memiliki bobot paling minimum.
Bobot antar edge setelah diurutkan dari yang paling kecil hingga yang ke besar adalah
Berarti kita bisa memulai perjalanan dari titik A, B, atau D. Misalkan kita mulai dari titik B.
Langkah 2. Misalkan maka
pilih
begitu seterusnya hingga seluruh kota terlewati.
Titik selanjutnya dipilih dengan cara memilih kota yang belum pernah
dilewati dengan bobot yang paling minimum.
Berikut akan ditunjukkan juga ilustrasi berupa graph dengan lintasan yang terpilih dari permasalahan sehingga mempermudah untuk melihat tiap iterasi dari
pemilihan tiap urutan verteks yang akan ditetapkan menjadi rute atau lintasan
yang paling minimum.
Iterasi Pertama
Oleh karena , maka titik selanjutnya adalah
Pilih
Ada dua titik yang bernilai minimum yaitu BA dan BD, maka pilih salah satu titik. Misalkan A menjadi titik yang terpilih untuk dipakai berikutnya maka ulangi langkah sama seperti langkah sebelumnya. Gambar berikut menunjukkan titik
yang terpilih dengan garis yang dipertebal adalah rute yang dilalui.
`
Gambar 2.4 Graph dengan edge yang terpilih setelah iterasi pertama
Iterasi Kedua
Oleh karena , maka titik selanjutnya adalah
sehingga
Pilih
Karena titik AE bernilai minimum, maka titik E terpilih menjadi titik solusi untuk mendapatkan titik berikutnya.
`
Iterasi Ketiga
Oleh karena , maka titik selanjutnya adalah
sehingga
Pilih
Karena titik ED bernilai minimum, maka titik D terpilih menjadi titik solusi untuk mendapatkan titik berikutnya.
`
Gambar 2.6 Graph dengan edge yang terpilih setelah iterasi ketiga
Iterasi Keempat
Oleh karena , maka titik selanjutnya adalah
sehingga .
Dan karena hanya tinggal titik C yang belum dilalui maka titik C menjadi titik yang terpilih untuk kemudian kembali ke titik B (titik awal keberangkatan).
Maka iterasi dihentikan karena telah melewati seluruh titik dengan urutan
dengan total bobot dan
bentuk lintasan sebagai berikut.
`
Gambar 2.8 Solusi optimal
Terdapat perbedaan hasil yang cukup besar antara penyelesaian dengan metode
enumerasi lengkap dan algoritma greedy meskipun permasalahannya sama dan masih dalam lingkup yang kecil yakni jumlah verteks dan edge yang tidak terlalu banyak. Hal itu dapat dilihat dari hasil yang diperoleh dengan cara enumerasi
lengkap yaitu sebesar 890 sedangkan dengan menggunakan algoritma greedy
diperoleh bobot sebesar 1060.
2.2 Algoritma Metropolis
Pada tahun 1953 Metropolis, Rosenbluth dan Teller memperkenalkan suatu metode
dan algoritma yang sederhana untuk menyimulasikan perubahan benda dari yang
bertemperatur sangat tinggi ke dalam “thermal equilibrium” dengan menampilkan
langkah per langkah dari simulasi tersebut pada temperatur T (Aarts et al, 1989, hal : 14).
Mereka menyatakan permasalahan dengan menyimulasikan reaksi partikel
dari suatu sistem fisis berdasarkan mekanika statistika. Mekanika statistika adalah
aplikasi dari teori probabilitas yang menerapkan fungsi matematika untuk menangani
permasalahan dalam jumlah populasi yang besar kedalam bentuk matematika. Metode
didalam state dengan energi E yang sesuai dengan fungsi Gibs-Boltzmann yaitu
dimana adalah temperatur dan adalah konstanta Boltzmann.
Untuk setiap temperatur fungsi tersebut menurun secara monoton pada
energi E, sehingga state yang berada pada sistem fisis tampak lebih seperti menurunkan energi state dari tingginya energi state sebelumnya. Efek dari temperatur adalah ketika nilai kecil probabilitas untuk energi state yang rendah adalah lebih
besar daripada energi state yang tinggi. Dengan kata lain, jika nilai temperatur besar, maka perbedaan antara dua probabilitas itu sangat kecil dan sistem menjadi lebih sama
persis dalam kondisi state apapun.
Definisi 2.2.1 Diberikan state awal i dengan energi , maka state selanjutnya j
dihasilkan dengan mengaplikasikan suatu mekanisme acak yang mana mengubah state
awal menjadi state selanjutnya dengan tindakan yang kecil, sebagai contoh adalah pertukaran partikel-partikelnya. Energi dari state selanjutnya adalah . Jika
perubahan energi yaitu , lebih kecil dari 0, maka state j diterima sebagai state
yang akan dipakai selanjutnya. Dan jika perubahan energi tersebut lebih besar atau
sama dengani 0 maka state j diterima sebagai state berikutnya jika memenuhi syarat probabilitas berikut.
di mana T dinotasikan sebagai temperatur pada ruang panas dan adalah konstanta
Boltzmann. Aturan penerimaan diatas disebut dengan kriteria Metropolis dan
algoritmanya disebut dengan algoritma Metropolis.
Berikut adalah algoritma Metropolis untuk permasalahan minimasi.
Mulai
Ambil S sebagai solusi current.
Ambil sebagai solusi terpilih dengan distribusi seragam secara acak
dari tetangga S
Jika maka
yang lain
Kriteria Metropolis diaplikasikan ke simulasi annealing untuk membangkitkan atau mendapatkan suatu barisan solusi dari permasalahan optimasi
kombinatorial. Dengan menerapkan algoritma Metropoliske simulasi annealing maka pada simulasi annealing akan terlihat sebagai suatu iterasi untuk mengevaluasi seluruh perubahan fungsi objektif dan nilai penurunan suhu.
2.3 Simulasi Annealing
Sebelum membahas tentang simulasi annealing, akan dijelaskan terlebih dahulu konsep dasar mengenai teori simulasi. Pengertian umum simulasi adalah suatu
metodologi untuk melaksanakan percobaan dengan menggunakan model atau
algoritma dari suatu sistem nyata. Konsep dasarnya adalah menggunakan beberapa
perangkat untuk meniru sistem nyata guna mempelajari dan memahami sifat-sifat,
perangai atau tingkah laku dan karakteristik operasinya. Simulasi juga merupakan alat
percobaan untuk mengetahui data sampel serta taksiran statistik dari suatu model atau
algoritma. Oleh karena itu, simulasi sangat berkaitan dengan percobaan untuk
menaksir karakteristik dari sistem nyata tersebut dengan tujuan untuk merancang,
menyusun dan mengembangkan sistem atau mengubahnya.
Simulasi yang baik membutuhkan perencanaan dan organisir yang bagus,
namun bentuk simulasi tersebut tidak selalu tetap dan selamanya akan terus
berubah-ubah sesuai dengan permasalahan dan kendala yang muncul. Pada umumnya terdapat
lima langkah utama yang diperlukan dalam menggunakan simulasi sebagai metode
1. Tentukan sistem atau persoalan yang ingin disimulasikan.
2. Kembangkan model atau algoritma simulasi yang ingin digunakan.
3. Menguji model atau algoritma tersebut dan bandingkan karakteristiknya
dengan karakteristik sistem nyata yang diadopsi, kemudian berlakukan model
simulasinya.
4. Rancang percobaan-percobaan simulasi.
5. Jalankan simulasi dan analisis outputnya.
Pada awal tahun 1980 Kirkpatrick, Gellat dan Vecchi (1982; 1983) dan
secara terpisah Cerny (1985) memperkenalkan konsep simulasi annealing untuk menyelesaikan permasalahan optimasi kombinatorial.
Definisi 2.3.1 Permasalahan optimasi kombinatorial adalah permasalahan minimum dan maksimum yang dirincikan dengan himpunan beserta beberapa kendala
didalamnya.
Penyelesaian suatu permasalahan optimasi kombinatorial bertujuan untuk menemukan
solusi terbaik atau solusi optimal serta dapat dihitung yang nilainya terbatas ataupun
tidak dari solusi-solusi alternatif yang ada.
Definisi 2.3.2. Suatu contoh permasalahan optimasi kombinatorial dapat diformulasikan sebagai pasangan , di mana ruang solusi S sebagai himpunan terbatas dari seluruh kemungkinan solusi dan fungsi biaya f merupakan pemetaan yang didefinisikan sebagai berikut.
Dalam kasus minimum, permasalahannya adalah menemukan solusi yang
harus memenuhi
untuk semua
untuk semua
yang mana adalah global optimal solusi, baik itu minimum maupun maksimum,
= merupakan nilai optimal dan adalah himpunan dari seluruh solusi
optimal.
Penyelesaian suatu permasalahan optimasi dengan menggunakan simulasi
annealing terinspirasi dari proses fisika yakni pendinginan bahan logam yang disebut dengan annealing. Dalam proses pendinginan suatu benda, annealing diketahui sebagai proses penurunan suhu secara bertahap untuk mendapatkan tingkat energi
yang rendah pada benda (dalam hal ini adalah logam) pada suhu ruang tertentu. Proses
tersebut terdiri atas dua langkah (Kirkpatrick et al, 1982; 1983) sebagai berikut.
1. Menaikkan temperature ruang panas hingga mencapai nilai maksimum pada
tiap-tiap lelehan benda tersebut.
2. Menurunkan temperatur secara perlahan hingga partikel-partikel benda
tersebut menyusun diri mereka sendiri dalam bentuk yang stabil hingga
akhirnya menjadi benda padat, yang dalam bentuk cair partikel-partikel benda
tersebut mampu menyusun diri mereka sendiri secara acak.
Berikut adalah tabel dari analogi antara annealing dalam permasalahan proses pendinginan logam dan annealing dalam permasalahan optimasi.
Tabel 2.3 Analogi proses annealing
Proses Annealing pada Logam Permasalahan Optimasi
State Solusi layak
Energi Fungsi evaluasi
Keadaan stabil Solusi optimal
Rapid quenching Local search
Suhu Parameter kontrol T
Dari tabel diatas diperoleh gambaran analogi antara permasalahan optimasi
kombinatorial dan simulasi annealing yaitu sebagai berikut :
1. Solusi-solusi dari permasalahan optimasi kombinatorial (dalam hal ini adalah
traveling salesman problem) ekuivalen terhadap state dari sistem annealing.
2. Total biaya atau bobot dari solusi-solusi tersebut ekuivalen terhadap energi
state.
Simulasi annealing pada traveling salesman problem memiliki beberapa pertanyaan dasar yang harus diselesaikan dalam bentuk algoritma yaitu :
1. Apa solusinya?
2. Apa titik tetangga dari solusinya?
3. Berapa total biaya dari solusi tersebut?
4. Bagaimana cara menentukan solusi awalnya?
Berdasarkan analogi antara annealing dalam permasalahan proses pendinginan logam
dan annealing dalam permasalahan optimasi ada beberapa pertanyaan tambahan untuk menentukan algoritma yang cocok dalam permasalahan yaitu sebagai berikut.
1. Bagaimana menentukan temperatur awal T?
2. Bagaimana menentukan rasio penurunan pendinginan pada cooling scheduling?
3. Bagaimana menentukan keadaan akhirnya?
4. Bagaimana menentukan kriteria penghentian iterasinya?
Dari beberapa pertanyaan tersebut, aplikasi dari analogi algoritma simulasi annealing
harus memenuhi tiga rincian berikut.
1. Representasi dari permasalahan
Representasi dari permasalahan mengandung representasi ruang solusi dan
fungsi nilai. Fungsi nilai harus ditetapkan sebagai nilai efektif dari solusi yang
2. Mekanisme transisi
Membangkitkan trail untuk mengubah solusi awal menjadi solusi berikutnya memiliki tiga langkah. Pertama, solusi awal yang baru dibangkitkan dari salah
satu solusi current dengan menerapkan mekanisme pembangkitan. Kedua, perubahan nilai diantara dua solusi dihitung dan yang ketiga, tentukan
keputusan diterima atau tidaknya solusi yang baru dan mengganti solusi
current dengan solusi terbaru jika solusi yang baru tersebut diterima.
Evaluasi trail merupakan bagian yang menghabiskan waktu yang cukup banyak dalam algoritma simulasi annealing dan harus dilakukan dengan waktu yang seefisien mungkin. Mekanisme pembangkitan biasanya memilih solusi
baru yang terkandung dalam salah satu solusi current dengan penyusunan ulang sederhana.
Keputusan untuk menerima solusi baru tersebut berdasarkan atas kriteria
penerimaan yaitu kriteria Metropolis berikut.
di mana c adalah parameter kontrol yaitu dengan adalah konstanta
Boltzmann dan adalah temperatur serta adalah perubahan biaya antara solusi baru dan solusi current dalam kasus permasalahan minimasi.
Dalam mekanisme transisi terdapat proses modifikasi, langkah acak atau
perubahan apa yang harus dilakukan terhadap elemen-elemen konfigurasi
untuk menghasilkan konfigurasi berikutnya serta fungsi evaluasi atau fungsi
objektif yang dapat menyatakan baik-buruknya suatu solusi terhadap
permasalahan.
3. Jadwal pendinginan atau cooling schedule.
Simulasi annealing bekerja dengan menjalankan algoritma Metropolis yang secara perlahan menurunkan nilai hingga akhir proses penurunan. yang
schedule. Secara resmi, cooling schedule adalah suatu fungsi dari
yang merupakan bilangan real positif dalam iterasi dari algoritma
Metropolis dan digunakan temperatur sebagai definisi dari
probabilitas.
Dari rincian diatas diperoleh hal-hal penting yang harus diperhatikan dalam
pelaksanaan proses simulasi annealing yaitu sebagai berikut.
1. Inisialisasi solusi awal yang dipilih secara acak.
Memilih solusi awal secara acak sebagai posisi awal iterasi dalam
proses simulasi.
2. Temperatur awal
Temperatur awal harus memiliki nilai yang cukup besar agar mampu
terhindar dari bad local optima. Biasanya nilai temperatur awal ini ditetapkan sebesar dua kali panjang suatu jalur yang telah dipilih secara
acak.
3. Mekanisme pertukaran.
Tentukan operator yang dibutuhkan untuk menentukan pertukaran
solusi yang dianggap sebagai iterasi.
4. Fungsi objektif permasalahan
Mengevaluasi setiap fungsi energi yang berubah karena proses iterasi
dari mekanisme pertukaran.
5. Cooling schedule
Fungsi cooling schedule yang umum digunakan adalah
di mana adalah rasio pendinginan untuk menurunkan temperatur
dengan . Hasil yang bagus akan diperoleh jika berada pada
6. Kriteria penghentian proses simulasi. Ada beberapa metode yang biasa
digunakan untuk mengontrol penghentian algoritma (Chibante, 2010),
yaitu dilihat dari :
a. Maksimum jumlah iterasi
b. Nilai minimum temperatur
c. Nilai minimum fungsi objektif
d. Nilai minimum dari tingkat penerimaan.
Sebagian besar penerapan simulasi annealing mengikuti algoritma dari barisan sederhana berikut (Michalewicz et al, 2000, hal : 122).
Langkah 1 :
selain itu pergi ke langkah 1
dimana adalah temperatur awal, adalah jumlah iterasi, adalah rasio
pendinginan dan adalah temperatur setelah membeku.
Walaupun algoritma simulasi annealing secara konsep terlihat sederhana yaitu membangkitkan parameter optimal seperti temperatur awal, annealing schedule, parameter fungsi penerimaan dan hal lainnya yang diperlukan bukan berarti ia mudah
error. Selain itu banyak penelitian telah menunjukkan bahwa menentukan algoritma simulasi annealing sangat sensitif terhadap parameter dan pelaksanaannya sangat tergantung pada penyusunan parameternya (Chibante et al, 2010, hal : 218).
Berikut ini adalah flowchart dari algoritma simulasi annealing (Chibante, 2010).
Gambar 2.9 Flowchart untuk Algoritma Simulasi Annealing
2.4 Simulasi Annealing dan Traveling salesman problem.
Traveling salesman problem dikenal sebagai suatu permasalahan optimasi yang bersifat klasik dan non-deterministic polynomial-time complete yangberarti tidak ada penyelesaian yang paling optimal selain harus mencoba seluruh kemungkinan
penyelesaian yang ada. Permasalahan ini melibatkan seorang salesman yang harus melakukan kunjungan sekali pada semua kota dalam sebuah lintasan sebelum dia
kembali ke titik awal keberangkatannya.
Berawal dari sinilah dikembangkan metode-metode pemecahan permasalahan
traveling salesman yang diharapkan dapat memberikan pemecahan yang optimal, salah satunya adalah metode simulasi annealing. Simulasi annealing adalah suatu metode derivative free optimization yang digunakan pada permasalahan optimasi dalam bentuk kontinu maupun diskrit (kombinatorial). Keunggulan dari metode
simulasi annealing adalah kemampuan untuk menghindari bad local optima
berdasarkan aturan penerimaan terhadap calon solusi berikutnya.
Annealing adalah proses metalurgi yaitu memanaskan suatu benda padat (biasanya logam) hingga cair kemudian mendinginkannya secara perlahan hingga ia
kembali padat. Atom-atom penyusun benda tersebut memiliki energi dengan
temperatur yang sangat tinggi. Hal ini mengakibatkan atom-atom benda tersebut
memiliki kebebasan untuk menyusun diri mereka sendiri. Pada saat temperatur
berkurang maka energi atom-atom tersebut juga menurun hingga akhirnya kondisi
energi minimum tercapai. Dalam permasalahan optimasi, simulasi annealing
dianalogikan sebagai proses annealing tersebut.
Dalam mengadopsi simulasi annealing pada traveling salesman problem, Kirkpatrick (1982; 1983) dan Cerny (1985) menyarankan untuk menggunakan aturan
perpindahan 2-opt ketika memilih titik yang bertetanggaan dengannya. Cerny (1985)
juga menjelaskan langkah sederhana dalam perubahan posisi antar kota tetapi bagian
dalam diantara kota tersebut tidak berubah. Namun dalam bukti nyatanya pendekatan
Kirkpatrick, dkk (1982; 1983) menggunakan suatu algoritma untuk
menyelesaikan permasalahan dalam skala besar (sekitar 6000 kota) tetapi mereka
tidak menyediakan informasi yang lengkap tentang kualitas dari solusi yang
ditemukan, sehingga nilai dan simulasi annealing pada 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.
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
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”
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
membatasi jumlah iterasi maka jumlah iterasi yang diinginkan untuk
menghentikan proses simulasi adalah lebih kecil atau sama dengan
.
3.2. Hasil Percobaan dan Analisis.
Contoh 3.2.1. Perhatikan kembali graph lengkap pada gambar 2.3. Andaikan seorang salesman harus melewati seluruh kota dan kembali kekota awal keberangkatannya, misalkan kota A, B, C, D dan E. Dan diketahui bobot dari
masing-masing edge adalah sebagai berikut.
Tentukan solusi optimalnya dengan menggunakan algoritma simulasi annealing
yang telah dikembangkan dengan asumsi sama seperti pada contoh-contoh kasus
sebelumnya!
Hasil penyelesaian dan Analisis :
Dengan menerapkan langkah-langkah dari proses simulasi yang telah
dikembangkan dan disusun sebelumnya, maka diperoleh :
1. Inisialisasi parameter awal yang dibutuhkan, yaitu
Rasio penurunan
Jalur awal A B C D E
`
Gambar 3.1 Jalur awal yang dipilih secara acak
Panjang jalur = 100 +160 + 240 + 380 + 180
= 1060
Temperatur awal = 2 panjang jalur solusi awal
= 2 1060
= 2120
Kriteria penghentian iterasi = 10 iterasi.
Bilangan random yang dibangkitkan, yaitu :
a. 0,252
2. Jalankan iterasi sesuai dengan kriteria dan operator yang telah ditentukan.
Iterasi 1
Pilih bilangan random dan , maka :
Depan = A
Tengah = B C D
Belakang = E
Bilangan random yang dibangkitkan adalah r = 0,252. Oleh karena 0,5 maka :
Panjang jalur baru = 400 + 240 + 160 + 120 + 180 = 1100
Oleh karena maka lakukan uji kriteria dengan menggunakan
algoritma Metropolis, yaitu :
p
p
p p = 0,98
karena maka jalur baru diterima.
Gambar 3.2 Jalur terpilih iterasi ke-1
Lakukan annealing schedule
Temperatur baru yaitu 0,95 2120 = 2014
Iterasi 2
Pilih bilangan random dan , maka :
Depan = A
Tengah = B C
Belakang = D E
Bilangan random yang dibangkitkan adalah r = 0,806. Oleh karena 0,5 maka pilih:
Jalur sementara yaitu A D E dan pilih bilangan random lainnya N = 2 sehingga :
Depan baru = A D
Belakang baru = E
Gambar 3.3 Jalur terpilih iterasi ke-2
Lakukan annealing schedule
Bilangan random yang dibangkitkan adalah r = 0,538. Oleh karena 0,5 maka pilih:
Jalur sementara yaitu D E dan pilih bilangan random lainnya N = 1 sehingga: Depan baru = D
Tengah baru = A B C
Jalur baru adalah D A B C E
Panjang jalur baru = 400 + 100 + 160 + 450 + 380 = 1490
Oleh karena maka lakukan uji kriteria dengan menggunakan
algoritma Metropolis, yaitu :
p
p
p
p =0,9
karena maka jalur baru diterima.
`
Gambar 3.4 Jalur terpilih iterasi ke-3
Lakukan annealing schedule
Temperatur baru yaitu 0,95 1913,3 = 1817,64
Iterasi 4
Pilih bilangan random dan , maka :
Tengah = A B C D
Belakang = E
Bilangan random yang dibangkitkan adalah r = 0,382. Oleh karena 0,5 maka :
Jalur baru adalah D C B A E
Panjang jalur baru = 240 + 160 + 100 + 180 + 380 = 1060.
`
Gambar 3.5 Jalur terpilih iterasi ke-4
Lakukan annealing schedule
Temperatur baru yaitu 0,95 1817,64 = 1726,758
Iterasi 5
Pilih bilangan random dan , maka :
Depan = A B
Tengah = C D
Belakang = E
Bilangan random yang dibangkitkan adalah r = 0,788. Oleh karena 0, maka pilih:
Jalur sementara yaitu A B E dan pilih bilangan random lainnya N = 1 sehingga:
Depan baru = A
Tengah baru = C D
Belakang baru = B E
Jalur baru adalah A C D B E
Panjang jalur baru = 250 + 240 + 100 + 120 + 180 = 890.
Gambar 3.6 Jalur terpilih iterasi ke-5
Lakukan annealing schedule
Temperatur baru yaitu 0,95 1726,758= 1640,4201
Iterasi 6
Pilih bilangan random dan , maka :
Depan = A B
Tengah = C D E
Bilangan random yang dibangkitkan adalah r = 0,144.
Oleh karena 0,5 maka :
Jalur baru adalah A B E D C
Panjang jalur baru = 100 + 120 + 380 + 240 + 250 = 1090.
Oleh karena maka lakukan uji kriteria dengan menggunakan
algoritma Metropolis, yaitu :
p
p
p p = 0,8852
`
Gambar 3.7 Jalur terpilih iterasi ke-6
Lakukan annealing schedule
Temperatur baru yaitu 0,95 1640,4201= 1558,4
Iterasi 7
Pilih bilangan random dan , maka :
Depan = A
Tengah = B C DE
Bilangan random yang dibangkitkan adalah r = 0,323.
Oleh karena 0, maka
Jalur baru adalah A E D C B
Panjang jalur baru = 180 + 380 + 240 + 160 + 100 = 1060.
Oleh karena maka jalur baru diterima.
Gambar 3.8 Jalur terpilih iterasi ke-7
Lakukan annealing schedule
Iterasi 8
Pilih bilangan random dan , maka :
Depan = A B
Tengah = C D
Belakang = E
Bilangan random yang dibangkitkan adalah r = 0,432. Oleh karena 0,5 maka :
Jalur baru adalah A B D C E
Panjang jalur baru = 100 + 100 + 240 + 450+ 180 = 1250
Oleh karena maka lakukan uji kriteria dengan menggunakan
algoritma Metropolis, yaitu :
p
p p = 0,879
karena maka jalur baru diterima.
`
Gambar 3.9 Jalur terpilih iterasi ke-8
Lakukan annealing schedule
Temperatur baru yaitu 0,95 1480,48 = 1406,456.
Iterasi 9
Pilih bilangan random dan , maka :
Depan = A B C
Bilangan random yang dibangkitkan adalah r = 0,984. Oleh karena 0,5 maka pilih:
Jalur sementara yaitu A B C dan pilih bilangan random lainnya N = 2 sehingga:
Depan baru = A B
Tengah baru = D E
Belakang baru = C
Jalur baru adalah A BD EC
Panjang jalur baru = 100 + 100 + 380 + 450 + 250 = 1280
Oleh karena maka lakukan uji kriteria dengan menggunakan
algoritma Metropolis, yaitu :
p
p
p p =0,978
karena maka jalur baru diterima.
`
Gambar 3.10 Jalur terpilih iterasi ke-9
Lakukan annealing schedule
Temperatur baru yaitu 0,95 1406,456 = 1336,1332.
Iterasi 10
Pilih bilangan random dan , maka :
Belakang = D E
Bilangan random yang dibangkitkan adalah r = 0,064. Oleh karena 0,5 maka :
Jalur baru adalah C B A D E
Panjang jalur baru = 160 + 100 + 400 + 380+ 450 = 1490.
Oleh karena maka lakukan uji kriteria dengan menggunakan
algoritma Metropolis, yaitu :
p
p
p
p = 0,85.
karena maka jalur baru diterima.
`
Gambar 3.11 Jalur terpilih iterasi ke-10
Lakukan annealing schedule
Temperatur baru yaitu 0,95 1336,1332= 1269,3265.
Setelah mencapai iterasi yang ke-10 maka jalannya proses iterasi dihentikan
karena telah memenuhi kriteria penghentian., sehingga hasil akhirnya adalah
sebagai berikut.
Jalur terpendek adalah A C D B E
Panjang jalur adalah 890.
Berikut ini adalah tabel hasil dari proses simulasi berupa iterasi yang telah
dilakukan.
Tabel 3.1 Hasil Iterasi dalam Proses Simulasi
Iterasi ke Jalur yang Terpilih Total Jarak
1 A D C B E 1100
Dan berikut adalah tabel perbandingan antara hasil yang diperoleh dari
penyelesaian permasalahan dengan masing-masing menggunakan metode
enumerasi lengkap, algoritma greedy dan simulasi annealing.
Tabel 3.2 Perbandingan bobot minimum.
Jalur Terpilih ACDBE BAEDC ACDBE
Dari tabel perbandingan diatas terlihat bahwa terdapat hasil yang berbeda
untuk masing-masing metode penyelesaian meskipun contoh kasus yang
diselesaikan itu sama. Algoritma yang diterapkan didalam proses simulasi
annealing untuk menyelesaikan permasalahan traveling salesman pada contoh kasus yang telah diselesaikan sebelumnya adalah algoritma yang telah
pertukaran agar proses simulasi terlihat sebagai suatu iterasi yang dijalankan
bersamaan dengan algoritma Metropolis. Operator yang ditambahkan
didalam algoritma tersebut bersesuaian dengan jenis permasalahan yang akan
BAB 4
KESIMPULAN DAN SARAN
Pada bab ini akan diberikan kesimpulan dari hasil penelitian pada bab sebelumnya dan
selanjutnya akan diberikan saran untuk riset lanjutan.
1.1 Kesimpulan
Dari proses iterasi dalam simulasi yang telah dilakukan tampak bahwa
annealing yang prosesnya kontinu mampu diadaptasikan ke permasalahan
traveling salesman yang solusinya adalah diskrit. Dilihat dari hasil contoh sebelumnya, yaitu penyelesaian permasalahan yang menggunakan metode
optimal (dengan menggunakan metode enumerasi lengkap) dan metode
aproksimasi (dengan menggunakan algoritma greedy) diketahui bahwa hasil penyelesaian dengan menggunakan algoritma simulasi annealing mampu menemukan jalur yang lebih optimal dibandingkan dengan algoritma greedy
dan memperoleh nilai minimum yang sama dengan metode enumerasi lengkap
tanpa perlu mencoba seluruh kemungkinan solusi yang ada.
Namun, simulasi annealing bukanlah merupakan metode penyelesaian yang paling optimal. Sama seperti metode heuristik lainnya, simulasi annealing
hanya mencoba menelusuri setiap kemungkinan solusi yang ada melalui cara
pendekatan. Dalam kasus traveling salesman problem yang hingga kini merupakan permasalahan yang sangat klasik dan tergolong dalam
permasalahan NP-Hard, yakni permasalahan yang hingga sekarang belum ditemukan metode penyelesaian yang paling optimal untuk menyelesaikan
kemungkinan solusi yang ada, metode simulasi annealing hanyalah salah satu dari sekian metode heuristik yang ada yang solusinya tidak bisa ditentukan
secara pasti bahwa itu adalah yang paling optimal
1.2 Saran
Penelitian ini hanya mengembangkan algoritma simulasi annealing yang sudah ada. Diperlukan analisis dan penelitian lebih lanjut untuk menentukan
algoritma simulasi annealing yang lebih tepat untuk menyelesaikan traveling salesman problem sehingga proses pengerjaan simulasi mampu berlangsung lebih efisien.
Secara perhitungan manual, proses iterasi berlangsung sangat lama terutama
jika iterasi yang diinginkan berjumlah sangat banyak. Untuk itu akan sangat