• Tidak ada hasil yang ditemukan

Aplikasi Simulasi Annealing Untuk Menyelesaikan Traveling Salesman Problem

N/A
N/A
Protected

Academic year: 2016

Membagikan "Aplikasi Simulasi Annealing Untuk Menyelesaikan Traveling Salesman Problem"

Copied!
62
0
0

Teks penuh

(1)

APLIKASI SIMULASI ANNEALING UNTUK MENYELESAIKAN

TRAVELING SALESMAN PROBLEM

SKRIPSI

TUTI LARASATI

060803034

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(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

(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

(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.

(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

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

(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

(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

(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

(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

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.

(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 :

(19)

jika re/T ; SS'.

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 Tnf

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

(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

(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.

lintasan (Vasudev, 2006, hal : 20).

Contoh. 2.1 : Berikut diberikan gambaran traveling salesman problem dengan

(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

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

(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

(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

(34)

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

(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

(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

(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 :

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

(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).

Gambar 2.9 Flowchart untuk Algoritma Simulasi Annealing

(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

(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

(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”

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

(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

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

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

(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.

(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.

(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 :

(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

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

(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

(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

(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

Gambar

Gambar 2.1 Graph lengkap dengan 6 verteks dan 15 edge
Gambar 2.2 Graph tidak lengkap dengan 5 verteks dan 8 edge
Gambar 2.3 Graph lengkap dengan 5 verteks.
Tabel  2.2 Lintasan dari sirkuit hamilton.
+7

Referensi

Dokumen terkait

Tujuan karya ilmiah ini yaitu menentukan solusi laso dari traveling salesman problem with pick-up and delivery dengan metode heuristik dan mengimplementasikan

Kata Kunci: Android, Cordova, Google Maps, Simulated Annealing , Sistem Informasi Geografis, Travelling Salesman Problem.. COMPLETION OF THE TRAVELING SALESMAN PROBLEM BY

GENERATE AND TEST DENGAN HILL CLIMBING PADA PENYELESAIAN TRAVELING SALESMAN PROBLEM UNTUK KUNJUNGAN WISATA DI KABUPATEN TAPANULI TENGAH.. Kategori

Tujuan karya ilmiah ini yaitu menentukan solusi laso dari traveling salesman problem with pick-up and delivery dengan metode heuristik dan mengimplementasikan

Analisa data pada penelitian ini menggunakan metode Traveling Salesman Problem (TSP) yaitu sebuah metode yang digunakan untuk meminimasi biaya distribusi dengan

Anisatul Fuaidah, 2012, Hybrid Algoritma Particle Swarm Optimization (PSO) dengan Simulated Annealing (SA) pada Traveling Salesman Problem (TSP),.. Skripsi ini

Traveling Salesman Problem sendiri mempunyai banyak cara yang bisa digunakan untuk menyelesaikan problem- problem dalam Traveling Salesman Problem , secara garis

Pada bagian ini akan dijelaskan mengenai sistematika penulisan dalam penelitian mengenai penerapan Harmony Search Algorithm untuk menyelesaikan kasus Asymmetric Traveling