Aplikasi Simulasi Annealing Untuk Menyelesaikan Traveling Salesman Problem
APLIKASI SIMULASI ANNEALING UNTUK MENYELESAIKAN
TRAVELING SALESMAN PROBLEM
SKRIPSI
TUTI LARASATI
060803034
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2011
(2)
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
MEDAN 2011
(3)
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
(4)
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
TUTI LARASATI 060803034
(5)
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.
7. Ukhti tersayang, Nurlinda Sari ButarButar dan Nurul Hidayati serta Widya Puspasari atas segala bantuan, semangat, cinta dan juga waktu yang diberikan kepada penulis untuk mendiskusikan segala hal terutama dalam hal penulisan ini. Kalian adalah orang yang spesial dalam hari-hari penulis.
(6)
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
(7)
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,
(8)
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.
(9)
DAFTAR ISI
Halaman
PERSETUJUAN i
PERNYATAAN ii
PENGHARGAAN iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR GAMBAR viii
DAFTAR TABEL ix
BAB
1. PENDAHULUAN 1
1.1. Latar Belakang Penelitian 1
1.2. Identifikasi Masalah 3
1.3. Batasan Masalah 4
1.4. Tinjauan Pustaka 4
1.5. Tujuan Penelitian 6
1.6. Manfaat Penelitian 7
1.7. Metode Penelitian 7
2. LANDASAN TEORI 8
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
(10)
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
(11)
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
(12)
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,
(13)
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.
(14)
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
greedy, simulasi annealing, algoritma genetik, algoritma semut, algoritma Branch and Bound dan lain sebagainya.
(15)
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 sebagai simulasi perubahan state sebelumnya sehingga dihasilkan state baru.
(16)
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
travelling salesman. Sehingga masalah dari penelitian ini adalah menentukan cara dan langkah-langkah dari proses simulasi annealing yang merupakan proses kontinu sehingga dapat menyelesaikan traveling salesman problem yang solusinya adalah diskrit serta memaparkan detail proses simulasi tersebut.
(17)
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 untuk masing-masing pasangan
ci,cj
kota yang berbeda dengan suatu jarak d
ci,cj
. Tujuannya adalah untuk menemukan keadaan dari kota-kota tersebut dengan meminimumkan jumlah
1
1
1
1 ,
,
c d c c
c d N N i i i
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.
Menurut Kirkpatrick et al (1982; 1983) dan Cerny (1985) penyelesaian dengan simulasi annealing dinilai ampuh dalam mencari solusi optimum yang bersifat
(18)
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 :
3.1 jika temperatur yang “seimbang” belum terpenuhi, maka: a. pilih neighbor acak S' sebagai solusi terbaru b. tentukan panjang
S' panjang
Sc. jika 0 (menurun) maka S S', jika panjang
S panjang
S* ; S* Sd. selain itu (meningkat) :
pilih bilangan r yang berdistribusi seragam secara acak dari
0,1 ,(19)
jika re/T ; S S'.
e. Akhiri simpul “keseimbangan belum terpenuhi.” 3.2 turunkan temperatur T
3.3 akhiri simpul “pendinginan belum terpenuhi.” 4) Kembali ke S*.
Menurut Jose Rizal (2007) ada lima komponen utama yang sangat 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
(20)
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 menggunakan metode simulasi annealing.
(21)
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 Thomas Penyngton yang berupa suatu permainan bernama Icosian Hamilton yang mengharuskan pemain untuk menyelesaikan perjalanan dari 20 titik dengan
(22)
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
(23)
Model dari permasalahan traveling salesman problem dapat digambarkan sebagai graph lengkap dengan n verteks. Bentuk traveling salesman problem dengan
graph didefinisikan sebagai berikut.
, di mana adalah lengkap yang sering
dinotasikan dengan .
adalah fungsi dari verteks
,
dan G memiliki rute perjalanan dengan biaya sebanyak k.
Definisi. 2.1.2 Suatu graph dikatakan lengkap apabila graph sederhana dengan n verteks dan setiap verteks pada G terhubung dengan verteks lainnya tepat
satu edge.. Dengan catatan bahwa memiliki tepat edge dan lintasan (Vasudev, 2006, hal : 20).
Contoh. 2.1 : Berikut diberikan gambaran traveling salesman problem dengan menggunakan graph lengkap dari lintasan hamilton. Andaikan adalah suatu graph lengkap dengan dan maka bentuk graph
tersebut adalah :
(24)
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
(25)
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
(26)
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.
(27)
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
1060
1490
1070
1280
1310
1090
1070
1310
890
1320
1290
1100
Bobot minimum 890
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 yang harus dikunjungi itu sangat banyak.
(28)
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
(29)
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
(30)
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.
`
(31)
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).
(32)
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 dasar dari permasalahan ini dinyatakan sebagai probabilitas menemukan sistem fisis
(33)
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 perbaharui
(34)
yang lain
dengan probabilitas perbaharui selain itu
tinggalkan S yang tidak berubah akhiri.
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 penyelesaian suatu permasalahan, yaitu :
(35)
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
(36)
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
(37)
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 berkaitan dengan objektif optimasi.
(38)
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 diperbaharui tersebut disebut sebagai jadwal pendinginan atau cooling
(39)
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
(40)
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 :
pilih secara acak.
Langkah 2 : Ambil titik dari tetangga pada
jika lebih baik daripada maka pilih
selain itu pilih dengan probabilitas ulangi langkah ini hingga kali.
Langkah 3 : tetapkan jika
maka ulangi langkah 2 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 dilaksanakan secara langsung. Pengaturan parameter untuk simulasi annealing adalah tidak bebas dan cara terbaik untuk mencapainya adalah dengan melalui trial dan
(41)
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).
N
Y
N
Y
N
Y
Gambar 2.9 Flowchart untuk Algoritma Simulasi Annealing
Parameter Awal
Evaluasi Solusi
Diterima?
Update state
terbaru
Ubah Temperatur
Bangkitkan Solusi Baru
Penelusuran dihentikan?
Turunkan Temperatur
Stop Output
(42)
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 ini tidak efektif.
(43)
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
(44)
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.
(45)
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
(46)
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
(47)
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
(48)
`
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 b. 0,806 c. 0,538 d. 0,382 e. 0,788
f. 0,144 g. 0,323 h. 0,432 i. 0,948 j. 0,064
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 :
(49)
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
(50)
Belakang baru = E
Jalur baru adalah A D B C E
Panjang jalur baru = 400 + 100 + 160 + 450 + 180 = 1290
Oleh karena maka lakukan uji kriteria dengan menggunakan algoritma Metropolis, yaitu :
p
p
p p = 0,9007
karena maka jalur baru diterima.
`
Gambar 3.3 Jalur terpilih iterasi ke-2
Lakukan annealing schedule
Temperatur baru yaitu 0,95 2014 = 1913,3
Iterasi 3
Pilih bilangan random dan , maka : Tengah = A B C
Belakang = D E
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
(51)
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. Oleh karena maka jalur baru diterima.
(52)
`
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. Oleh karena maka jalur baru diterima.
(53)
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
(54)
`
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
(55)
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
(56)
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 : Tengah = A B C
(57)
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.
(58)
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
2 A D B C E 1290
3 D A B C E 1490
4 D C B A E 1060
5 A C D B E 890
6 A B E D C 1090
7 A E D C B 1060
8 A B D C E 1250
9 A B D E C 1280
10 C B A DE 1490
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.
Enumerasi Lengkap
Algoritma
Greedy
Simulasi
Annealing
Jumlah Iterasi 24 4 10
Bobot Minimum 890 1060 890
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 ditambahkan dengan suatu operator sebagai mekanisme transisi atau
(59)
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 diselesaikan.
(60)
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 permasalahan tersebut kecuali ditelusuri satu persatu dan mencoba seluruh
(61)
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 efisien jika nantinya dilengkapi dengan program komputer juga.
(62)
Daftar Pustaka
Aarts, H. L. Emile, and Korst, H. M. Jan. 1989. Simulated Annealing and Boltzmann Machines. John Wiley and Sons.
Cerny, V. 1985. Thermodynamical Approach to the Traveling Salesman Problem an Efficient Simulation Algorithm. Journal of Optimization Theory and Application. 45, 41 – 51.
Chibante, Rui, Araujo, Armando and Carvalho, Adriano. 2010. Simulated Annealing Theory with Applications. Sciyo.
Johnson, S. David, and McGeoch, A. Lyle. 1995. The Traveling salesman problem : A Case Study in Local Optimization ; Simulated Annealing and Its Variants : hal. 47-70. Department of Mathematics and Computer Science, Amherst College, Amherst.
Kirkpatrick, S., Gellatt, C.D, Vecchi, M.P. 1982; 1983. Optimization by Simulated Annealing. Science, New Series, Vol. 220, JSTOR.
Kolahan, F. Abolbashari, M. Hosein, dan Mohitzadeh, S. 2007. Simulated Annealing Application for Structural Optimization. World Academy of Science, Engineering and Technology.
Michalewicz, Zbigniew dan Fogel, B. David. 2000. How to Solve It : Modern Heuristics. Springer.
Rizal, Jose. 2007. Optimasi pada Traveling salesman problem (TSP) dengan Pendekatan Simulasi Annealing. Universitas Bengkulu, Bengkulu. Vasudev, C. 2006. Graph Theory with Applications. New Age International
(1)
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.
(2)
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
2 A D B C E 1290
3 D A B C E 1490
4 D C B A E 1060
5 A C D B E 890
6 A B E D C 1090
7 A E D C B 1060
8 A B D C E 1250
9 A B D E C 1280
10 C B A DE 1490
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. Enumerasi Lengkap Algoritma Greedy Simulasi Annealing
Jumlah Iterasi 24 4 10
Bobot Minimum 890 1060 890
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 ditambahkan dengan suatu operator sebagai mekanisme transisi atau
(3)
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 diselesaikan.
(4)
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 permasalahan tersebut kecuali ditelusuri satu persatu dan mencoba seluruh
(5)
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 efisien jika nantinya dilengkapi dengan program komputer juga.
(6)
Daftar Pustaka
Aarts, H. L. Emile, and Korst, H. M. Jan. 1989. Simulated Annealing and Boltzmann Machines. John Wiley and Sons.
Cerny, V. 1985. Thermodynamical Approach to the Traveling Salesman Problem an Efficient Simulation Algorithm. Journal of Optimization Theory and Application. 45, 41 – 51.
Chibante, Rui, Araujo, Armando and Carvalho, Adriano. 2010. Simulated Annealing Theory with Applications. Sciyo.
Johnson, S. David, and McGeoch, A. Lyle. 1995. The Traveling salesman problem : A Case Study in Local Optimization ; Simulated Annealing and Its Variants : hal. 47-70. Department of Mathematics and Computer Science, Amherst College, Amherst.
Kirkpatrick, S., Gellatt, C.D, Vecchi, M.P. 1982; 1983. Optimization by Simulated Annealing. Science, New Series, Vol. 220, JSTOR.
Kolahan, F. Abolbashari, M. Hosein, dan Mohitzadeh, S. 2007. Simulated Annealing Application for Structural Optimization. World Academy of Science, Engineering and Technology.
Michalewicz, Zbigniew dan Fogel, B. David. 2000. How to Solve It : Modern Heuristics. Springer.
Rizal, Jose. 2007. Optimasi pada Traveling salesman problem (TSP) dengan Pendekatan Simulasi Annealing. Universitas Bengkulu, Bengkulu. Vasudev, C. 2006. Graph Theory with Applications. New Age International
Publisher : New Delhi.