PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP) DENGAN MENGGUNAKAN ALGORITMA SIMULATED
ANNEALING
(Studi Kasus : Mail Processing Center (MPC) Medan PT. Pos Indonesia)
SKRIPSI
PUTRI M. HUTABARAT 130803085
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
2017
SIMULATED ANNEALING
(Studi Kasus : Mail Processing Center (MPC) Medan PT.
Pos Indonesia)
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
PUTRI M. HUTABARAT 130803085
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
2017
i
PERSETUJUAN
Judul : Penyelesaian Travelling Salesman Problem (TSP) dengan Menggunakan Algoritma Simulated Annealing Studi Kasus : Mail Processing Center Medan PT.
Pos Indonesia
Kategori : Skripsi
Nama : Putri M. Hutabarat
Nomor Induk Mahasiswa : 130803085
Program Studi : Sarjana (S1) Matematika
Departemen : Matematika
Fakultas : Matematika dan Ilmu Pengetahuan Alam
Disetujui di,
Medan, Maret 2017 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dr. Elly Rosmaini, M.Si Dr. Esther Sorta M. Nababan, M.Sc NIP. 19600520 198503 2 002 NIP. 19610318 198711 2 001
Disetujui oleh :
Departemen Matematika FMIPA USU Ketua
Dr. Suyanto, M.Kom
NIP.19590813 198601 1 002
PENYELESAIAN TRAVELLING SALESMAN PROBLEM (TSP) DENGAN MENGGUNAKAN ALGORITMA SIMULATED ANNEALING
(Studi Kasus: Mail Processing Center Medan PT. Pos Indonesia)
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan,Maret 2017
PUTRI M. HUTABARAT
130803085
iii
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang atas limpahan karunia-Nya sehingga penulis dapat menyelesaikan penyusunan skripsi ini dengan judul “Algoritma Simulated Annealing untuk Menyelesaikan Travelling Salesman Problem (TSP)”.
Penulis juga mengucapkan terima kasih kepada pihak-pihak yang turut mendukung dalam penulisan skripsi ini:
1. Bapak Dr. Kerista Sebayang, MS sebagai Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara.
2. Bapak Dr. Suyanto, M.Kom sebagai ketua Departemen Matematika dan Bapak Drs. Rosman Siregar, M.Si sebagai Sekretaris Departemen Matematika FMIPA USU.
3. Ibu Dr. Esther Sorta M. Nababan, M.Sc selaku Dosen Pembimbing 1 dan Ibu Dr. Elly Rosmaini, M.Si selaku Dosen Pembimbing 2 yang telah meluangkan waktu untuk membimbing penulis serta memberikan nasihat dan pengarahan yang berharga kepada penulis selama proses pengerjaan skripsi ini.
4. Bapak Drs. Marihat Situmorang, M.Kom selaku Dosen Pembanding 1 dan Bapak Dr. Pasukat Sembiring, M.Si selaku Dosen Pembanding 2 yang memberikan kritik dan saran yang membangun dalam penyelesaian skripsi ini.
5. Seluruh dosen Departemen Matematika FMIPA USU yang
telah memberikan ilmu pengetahuan kepada penulis selama
masa studi.
Johannes Hutabarat, SH, Maria Hutabarat, S.Pd yang selama ini memberikan bantuan, doa, dan motivasi yang luar biasa kepada penulis selama menempuh pendidikan dan menjalani perkuliahan.
7. Teman-teman seperjuangan Angkatan 2013 Matematika FMIPA USU dan teman-teman lainnya yang memberikan motivasi serta doa.
8. Dan kepada semua pihak yang telah membantu yang tidak dapat penulis sebutkan satu per satu.
Penulis menyadari bahwa dalam penyusunan skripsi ini masing banyak kekurangan yang disebabkan keterbatasan pengetahuan serta pengalam penulis.
Oleh karena itu, penulis mengharapkan adanya kritik dan saran yang membangun dari semua pihak. Akhirnya penulis berharap semoga skripsi ini dapat bermanfaat bagi berbagai pihak.
Medan,
Maret 2017Penulis
Putri M. Hutabarat
130803085
v
ABSTRAK
Traveling salesman problem (TSP)merupakan salah satu permasalahan optimasikombinatorial yang penyelesaian akhirnya bertujuan untuk mendapatkan solusioptimal yakni menemukan rute perjalanan yang paling minimum.Untukmenyelesaikan dan menemukan solusi dari permasalahan tersebut salah satu algoritmayang bisa digunakan adalah simulatedannealing.
Simulatedannealing merupakananalogi dari proses pendinginan cairan logam yang disebut annealing.Penelitian ini membahas tentang penerapan TSP denganmenggunakan algoritma Simulated Annealing pada pencarian rute terpendek penjemputan barang di Mail Processing Center (MPC) Medan PT.
Pos Indonesia. Untuk perangkat informasi lokasi dan gambar peta menggunakanfasilitas Google Maps dan memperoleh jarak antar titik yang akan dikunjungi. Untuk proses optimisasi dilakukan dengan cara manual 10 iterasi dan dengan menggunakan bantuan software MATLAB
Kata Kunci : Rute Terpendek, Algoritma Metropolis, TSP, Simulated
Annealing, graf, Mailing Processing Center (MPC) Medan PT.Pos Indonesia.
(Case Study: Mail Processing Center (MPC) Medan PT.Pos Indonesia) Traveling salesman problem is one of combinatorial optimization problems that aimto obtain an optimal solution which determines the route that most minimum.And toresolve and find solutions to these problems one algorithm to be used is simulatedannealing. Simulated annealing is an analogy of a liquid metals cooling processcalled annealing. Annealing is the metallurgical process of heating up a solid andthen cooling slowly until it crystallizes.This study discusses the application of theTSP using simulated annealing algorithm to the search the shortest route when pick up the goods in the Mailing Processing Center Medan PT.POS Indonesia.For the device locationinformation and image map using Google Maps facility and acquire the distancebetween the point to be visited. For the optimization process is done by manual with 10 iterations and using MATLAB software assistance.
Key Word: Shortest route, Metropolis Algorithm, TSP, Simulated Annealing,
graph, Mailing Processing Center (MPC) Medan PT.Pos Indonesia.
vii
DAFTAR ISI
Halaman
PERSETUJUAN i
PERNYATAAN ii
PENGHARGAAN iii
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL viii
DAFTAR GAMBAR ix
BAB 1. PENDAHULUAN
1.1 Latar Belakang 1
1.2 Perumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 4
1.5 Tinjauan Pustaka 4
1.6 Manfaat Penelitian 6
1.7 Metodologi Penelitian 7
BAB 2. LANDASAN TEORI
2.1 Travelling Salesman Problem 8
2.2 Metode Metropolis 12
2.3 Simulated Annealing 14
2.5 Simulated Annealing pada Travelling Salesman Problem 21 BAB 3. METODOLLOGI PENELITIAN
3.1 Sumber Data 22
3.2 Lokasi Penelitian 22
3.3 Prosedur Penelitian 22
BAB 4. HASIL DAN PEMBAHASAN
4.1 Pembahasan Manual 25
4.2 Pembahasan menggunakan software MATLAB 33
BAB 5. KESIMPULAN DAN SARAN
5.1 Kesimpulan 39
5.2 Saran 40
DAFTAR PUSTAKA x
LAMPIRAN
Tabel
2.1 Analogi Proses Annealing 15
4.1 Data jarak cabang kantor pos 25
4.2 Hasil total jarak dari iterasi manual yang dilakukan 33
ix
DAFTAR GAMBAR
Nomor Judul Halaman
Gambar
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 Flowchart untuk Algoritma SimulatedAnnealing 20
4.1 Hasil Run Program di Matlab 37
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Seiring berkembangnya kemajuan teknologi sistem informasi membuat pelayanan jasa pengiriman barang yang dilakukan kantor pos kini lebih sistematis. Kantor pos tidak hanya mengantarkan surat tetapi juga mengantarkan barang paket dari pengirim yang ditujukan ke suatu alamat tertentu. Dalam hal ini petugas pos harus mengirimkan banyak barang ke alamat-alamat pelanggan dengan pertimbangan efisiensi waktu.
Sedangkan pada jaman sekarang, jumlah jalan raya yang sangat banyak terkadang menyulitkan petugas pos untuk dapat memilih jalur yang cepat ke alamat tujuan pelanggan. Biasanya jalur yang ditempuh hanyalah jalur yang dihafal dan sering dilalui serta dianggap terpendek, padahal belum tentu jalur tersebut lebih optimal. Untuk itu diperlukan sebuah sistem yang memanfaatkan teknologi informasi guna melakukan proses pencarian jalur optimum secara otomatis.
Travelling Salesman Problem (TSP) merupakan masalah seorang salesman yang ingin mengunjungi beberapa tempat dimana kembali lagi ke tempat asalnya tepat satu kali sehingga diperoleh jarak terpendek. Beberapa contoh penerapan TSP yang muncul dalam kehidupan sehari–hari, misalnya:
efesiensi pengiriman surat, pengiriman barang, dan masalah transportasi (Hillier
SF, Lieberman, 2008). Permasalahan dalam bidang transportasi darat merupakan
salah satu penerapan TSP dengan harapan biaya perjalanan yang dikeluarkan dan
jarak perjalanan seminimum mungkin. Masalah TSP dapat diselesaikan dengan
beberapa metode diantaranya Pemrograman Linear, Genetik Algoritma, Hill
Climbing, Simulated Annealing (SA), dan Tabu Search (Rizal. J, 2007).
Travelling Salesman Problem (TSP) juga merupakan masalah yang terkenal dalam teori graf. Graf terdiri dari berbagai jenis, diantaranya graf sederhana, graf tak sederhana, graf berarah dan graf tidak berarah. Graf merupakan struktur diskrit yang terdiri dari himpunan objek yang disebut simpul (vertex) dan himpunan sisi (edges) yang menghubungkan simpul–simpul tersebut.
Graf digunakan untuk mempresentasikan objek–objek diskrit dan menjelaskan hubungan–hubungan antar objek–objek tersebut. Objek–objek diskrit biasanya digambarkan sebagai simpul–simpul terpisah, sedangkan hubungan antar objek–
objek tersebut digambarkan dalam suatu sisi (Wijaya. A, 2009)
Travelling Salesman Problem (TSP) dapat dibedakan menjadi dua jenis yaitu Travelling Salesman Problem dan Travelling Salesman Problem asimetris.
Travelling Salesman Problem (TSP) asimetris merupakan TSP dengan biaya atau jarak perjalanan dari kota A menuju kota B tidak sama dengan biaya atau jarak perjalanan dari kota B menuju kota A. Sedangkan Travelling Salesman Problem (TSP) simetris merupakan TSP dengan biaya atau jarak perjalanan dari kota A menuju kota B sama dengan biaya atau jarak perjalanan dari kota B menuju kota A . (Muzid. S, 2008)
Terdapat banyak cara pendekatan dan algoritma yang dapat digunakan untuk menyelesaikan permasalahan ini diantaranya adalah algoritma brute force, algoritma greedy, Simulated Annealing, algoritma genetik, algoritma semut, algoritma Branch and Bound dan lain sebagainya. Permasalahan TSP pada penelitian ini diselesaikan dengan menggunakan Simulated Annealing (SA).
Simulated Annealing (SA) adalah suatu varian dari teknik Heuristic Search Hill Climbing dimana variasi ini merupakan kebalikan dari Steepest Hill Climbing. Variasi rute yang dipilih untuk diobservasi adalah rute yang terendah (terkecil nilai bobotnya). Heuristic Search adalah sebuah cara yang meningkatkan efisiensi dari sebuah pencarian (Hillier SF, Lieberman, 2008).
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
3
Universitas Sumatera Utara
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” (Kirkpatrick et al, 1982 ; 1983). Prinsip kerja dari annealing inilah yang dipakai dan di adaptasikan pada Travelling Salesman Problem dalam bentuk simulasi untuk menemukan solusi yang paling optimal.
Kirkpatrick et al (1982; 1983) menggunakan suatu algoritma untuk menyelesaikan permasalahan ini dalam skala besar (sekitar 6000 kota) tetapi tidak menyediakan informasi yang lengkap tentang kualitas dari solusi yang ditemukan, sehingga nilai dan Simulates Annealing pada Travelling Salesman Problem tidak pernah jelas secara numerik. Kemudian Jose Rizal (2007) juga telah menggunakan pendekatan simulasi untuk menyelesaikan Travelling 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 melakukan studi literatur mengenai proses Simulated Annealing serta menerapkannya untuk menyelesaikan Travelling Salesman Problem. Contoh kasus yang dibahas adalah rute perjalanan penjemputan barang pada Kantor Pos pusat kotamadya Medan.
1.2 Perumusan Masalah
Berdasarkan latar belakang di atas, maka permasalahan dari penelitian ini adalah bagaimana penyelesaian Travelling Salesman Problem dengan menggunakan algoritma Simulated Annealing.
1.3 Batasan Masalah
Batasan-batasan masalah dalam penelitian ini adalah sebagai berikut:
1. Penelitian dilakukan di Mail Processing Center Medan PT. Pos Indonesia yang disingkat MPC PT.Pos Indonesia
2. Data yang digunakan adalah data sekunder yaitu data dari administrasi perusahaan tersebut
3. Keluaran hasil penelitian jarak tempuh paling optimal dari satu kantor pos ke kantor pos lain yang terdapat pada wilayah Medan Barat.
4. Kecepatan rata-rata transportasi pengangkut barang 20-40 km/jam
5. Keadaan lalu lintas normal, tidak dikaji dari sisi kemacetan dan keramaian lalu-lintas.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah menerapkan Algoritma Simulated Annealing pada Travelling Salesman Problem di MPC Medan PT.Pos Indonesia untuk memperoleh jarak tersingkat pada rute penjemputan paket.
1.5 Tinjauan Pustaka
Penerapan TSP yang muncul dalam kehidupan sehari–hari misalnya permasalahan dalam bidang transportasi darat dengan harapan jarak yang ditempuh seminimum mungkin. Jumlah rute yang mungkin diperoleh pada TSP dengan menggunakan rumus permutasi seperti berikut (Muzid. S, 2008):
𝑛
𝑃
𝑘= 𝑛!
(𝑛 − 𝑘)!
Secara matematis Travelling Salesman Problem didefinisikan sebagai suatu himpunan {𝑐
1, 𝑐
2, 𝑐
3, … , 𝑐
𝑛} yang merupakan bagian dari kota dan untuk masing- masing pasangan (𝑐
𝑖, 𝑐
𝑗) kota yang berbeda dengan suatu jarak 𝑑(𝑐
𝑖, 𝑐
𝑗) .
Salah satu metode penyelesaian permasalahan TSP adalah simulated
annealing yang merupakan analogi dari proses fisika yaitu teknik pendinginan
cairan logam. Annealing adalah teknik metalurgi yang menggunakan ilmu
5
Universitas Sumatera Utara
penjadwalan proses pendinginan untuk menghasilkan efisiensi dalam menggunakan energi dan menghasilkan logam yang optimal.
Penyelesaian dengan Simulated Annealing dinilai ampuh dalam mencari solusi optimum yang bersifat 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 (Kirkpatrick et al 1982; 1983 , Cerny 1985).
Secara garis besar, dasar algoritma Simulated 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 (1989) memperkenalkan bentuk umum dari algoritma Simulated Annealing adalah sebagai berikut.
1. Membangkitkan kondisi awal simulasi S dan menginisialisasi solusi akhir 𝑆
∗= 𝑆
2. Menentukan temperatur T awal
3. Jika “pendinginan” belum terpenuhi, maka :
(i) jika temperatur yang “seimbang” belum terpenuhi, maka:
a. pilih neighbor acak S′ sebagai solusi terbaru b. tentukan ∆=panjang (S′)−panjang (S) c. jika ∆≤ 0 (menurun) maka, S= S′
jika panjang (S) < panjang(S′) ; 𝑆
∗= 𝑆
d.
selain itu (meningkat) :pilih bilangan r yang berdistribusi seragam secara acak dari [0,1],
jika 𝑟 < 𝑒
−∆ 𝑇⁄; S= S′
e. Akhiri simpul “keseimbangan belum terpenuhi.”
(ii) turunkan temperatur T
(iii) akhiri simpul “pendinginan belum terpenuhi.”
4. Kembali ke . * S
Menurut Jose Rizal (2007) ada lima komponen utama yang sangat penting dalam menyusun algoritma Simulated Annealing pada Travelling 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 𝑇𝑛= 𝑓(𝑇0, 𝑖, 𝑁) , analogi dengan menurunkan temperatur untuk setiap iterasinya1.6 Manfaat Penelitian
Manfaat dari penelitian ini adalah sebagai berikut:
1. Memperoleh gambaran mengenai aplikasi algoritma Simulated annealing dalam menyelesaikan Travelling Salesman Problem
2. Sebagai tambahan rujukan penelitian selanjutnya yang berhubungan
dengan Travelling Salesman Problem dan Algoritma Simulated Annealing.
7
Universitas Sumatera Utara
1.7 Metodologi Penelitian
Langkah-langkah yang akan dilakukan dalam menyelesaikan penelitian ini adalah:
1. Identifikasi masalah 2. Pengambilan data
3. Menjelaskan definisi Algoritma Simulated Annealing dan Travel Salesman Problem Simetris.
4. Menyelesaikan permasalahan Travellingl Salesman Problem. dengan penyelesaian awal menggunakan Algoritma Simulated Annealing
5. Menyimpulkan hasil dan informasi dari penyelesaian permasalahan yang
telah diselesaikan.
BAB 2
LANDASAN TEORI
2.1 Travelling Salesman Problem
Travelling 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 kudatersebut 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 menggunakan hanya jalur-jalur tertentu. Oleh karena itu travelling 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 travelling 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 Travelling 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.
9
Universitas Sumatera Utara
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 Travelling sallesman problem didefinisikan sebagai :
Minimum
∑ 𝑑𝑥
𝑖𝑥
𝑖−1𝑁
𝑖=2
Dengan kendala :
𝑥
𝑖≠ 𝑥
𝑗, 1 ≤ 𝑖 , 𝑗 ≤ 𝑁 , ∀
𝑖, ∀
𝑗(𝑖 ≠ 𝑗)
1 ≤ 𝑥
𝑖≤ 𝑁 1 ≤ 𝑖 ≤ 𝑁
Model dari permasalahan Travelling salesman problem dapat digambarkan sebagai graph lengkap dengan n verteks. Bentuk travelling salesman problem dengan graph didefinisikan sebagai berikut.
TSP = {〈𝐺, 𝑑, 𝑘〉}, dimana : 𝐺 = (𝑉, 𝐸) adalah graph lengkap yang sering dinotasikan dengan 𝐾
𝑛. d adalah fungsi dari verteks dari 𝑉×𝑉 → 𝑍 , 𝑘 ∈ 𝑍 dan G memiliki rute perjalanan dengan biaya sebanyak k.
Graph G adalah pasangan (V(G),E(G)) dengan (V(G)) adalah himpunan tidak
kosong dan berhingga dari objek-objek yang disebut titik, (E(G)) adalah
himpunan (mungkin kosong) pasangan tak berurutan dari titik- titik berbeda di
(V(G)) yang disebut sisi. Banyaknya unsur di V(G) disebut order dari G dan
dilambangkan dengan p(G), dan banyaknya unsur di E(G) disebut ukuran dari G
dan dilambangkan dengan q(G). Jika graph yang dibicarakan hanya graph G, maka order dan ukuran dari G masing-masing cukup ditulis p dan q. Graph dengan order p dan q disebut graph-(p,q) (Abdusakir, 2009)
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
𝑛(𝑛−1)2
edge dan (n–1)!
lintasan (Vasudev, 2006, hal : 20)
Contoh. 2.1 : Berikut diberikan gambaran travelling salesman problem dengan menggunakan graph lengkap dari lintasan hamilton. Andaikan G = (V,E) adalah suatu graph lengkap dengan V = {
𝑣1, 𝑣2, 𝑣3, 𝑣4, 𝑣5, 𝑣6} dan 𝐸 = {𝑒
1, 𝑒
2, 𝑒
3, 𝑒
4, 𝑒
5, 𝑒
6, 𝑒
7, 𝑒
8, 𝑒
9, 𝑒
10, 𝑒
11, 𝑒
12, 𝑒
13, 𝑒
14, 𝑒
15} maka bentuk graph tersebut adalah :
Gambar 2.1 Graph lengkap dengan 6 verteks dan 15 edge.
11
Universitas Sumatera Utara
Namun, travelling 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 verteks dan 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, travelling salesman problem direpresentasikan sebagai graph berbobot.
Graph berbobot adalah graph yang setiap sisinya diberi sebuah nilai atau bobot. Bobot pada setiap sisi graph dapat berbeda-beda bergantung pada masalah yang dimodelkan. Bobot dapat menyatakan jarak antara dua buah kota, biaya perjalanan antara dua buah kota, waktu tempuh antara dua buah kota, waktu tempuh pesan antara simpul komunikasi dengan simpul komunikasi lainya, ongkos produksi dan sebagainya. Graph berbobot juga sering dikaitkan dengan istilah graph berlabel (Munir, 2012).
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 𝐺 = (𝑉, 𝐸) adalah suatu graph dan 𝑤: 𝐸 →
ℕ adalah suatu graph berbobot dan terhubung dengan T adalah spanning tree
pada G maka :
𝑤(𝑇) = ∑ 𝑤(𝑐)
𝑐∈𝑇
Adalah jumlah bobot tiap edge pada T
Ada dua metode yang sering digunakan dalam menyelesaikan travelling salesman problem, yaitu :
a.
Metode Optimal
Metode ini menghasilkan nilai yang optimal dengan menemukan secara pasti nilai minimum dari Travelling 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.
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, Simulated Annealing, algoritma greedy, ant colony dan neural network.
2.2 Metode 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).
13
Universitas Sumatera Utara
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 didalam state dengan energi E yang sesuai dengan fungsi Gibs-Boltzmann yaitu 𝑒
−𝐸⁄𝑘𝑇dimana 𝑇 > 0 adalah temperature dan 𝑘 > 0 adalah konstanta Boltzman
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 temperature 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 energy 𝐸
𝑖, 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.
exp ( 𝐸
𝑖− 𝐸
𝑗𝑘
𝐵𝑇 )
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 𝐸(𝑆′) ≤ 𝐸(𝑆)
Perbaharui 𝑆 ← 𝑆′
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 Metropolis ke simulasi annealing maka pada simulasi annealing akan terlihat sebagai suatu iterasi untuk mengevaluasi seluruh perubahan fungsi objektif dan nilai penurunan suhu.
2.3 Simulated Annealing
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
15
Universitas Sumatera Utara
tersebut tidak selalu tetap dan selamanya akan terus berubahubah sesuai dengan permasalahan dan kendala yang muncul. Pada umumnya terdapat lima langkah utama yang diperlukan dalam menggunakan simulasi sebagai metode penyelesaian suatu permasalahan, yaitu :
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.
Simulated Annealing (SA) mensimulasikan proses annealing pada pembuatan materi yang terdiri dari butir Kristal (glassy) atau logam. Tujuan dari proses ini adalah menghasilkan struktur Kristal yang baik dengan menggunakan energy seminimal mungkin.
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 energy 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.1 Analogi proses annealing
Proses Annealing pada logam Permasalahan Optimisasi
State Solusi Layak
Energi Fungsi Evaluasi
Keadaan Stabil Solusi Optimal
Rapid Quenching Local Search
Suhu Parameter Kontrol
Pendinginan bertahap Simulated Annealing
Dari tabel diatas diperoleh gambaran analogi antara permasalahan optimasi kombinatorial dan Simulated Annealing yaitu sebagai berikut :
1. Solusi-solusi dari permasalahan optimasi kombinatorial (dalam hal ini adalah travelling salesman problem) ekuivalen terhadap state dari sistem annealing.
2. Total biaya atau bobot dari solusi-solusi tersebut ekuivalen terhadap energy state.
Simulated Annealing pada Travelling 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?
17
Universitas Sumatera Utara
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 Simulated 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.
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 Simulated 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.
ℙ{𝑎𝑐𝑐𝑒𝑝𝑡} = { 1 jika ∆𝑓 < 0 𝑒𝑥𝑝 (−
∆𝑓𝑐
) jika ∆𝑓 ≥ 0
di mana c adalah parameter kontrol yaitu 𝑘
𝑏𝑇 dengan 𝑘
𝑏adalah konstanta Boltzmann dan T 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.
Simulated annealing bekerja dengan menjalankan algoritma Metropolis yang secara perlahan menurunkan nilai hingga akhir proses penurunan. yang diperbaharui tersebut disebut sebagai jadwal pendinginan atau cooling schedule. Secara resmi, cooling schedule adalah suatu fungsi 𝑇
𝑛dari {1,2,3, … } 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 simulated 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.
19
Universitas Sumatera Utara
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 : 𝑇
𝑖+1= 𝑔×𝑇
𝑖di mana 𝑔 adalah rasio pendinginan untuk menurunkan temperatur dengan 𝑔 < 1 . Hasil yang bagus akan diperoleh jika 𝑔 berada pada range [0.8, 0.99] (Chibante, 2010)
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 temperature c. Nilai minimum fungsi objektif
d. Nilai minimum dari tingkat penerimaan.
Sebagian besar penerapan simulated 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 dari pada 𝑒𝑣𝑎𝑙 (𝑣
𝑐) 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, r adalah rasio pendinginan dan 𝑇
𝑚𝑖𝑛adalah temperatur setelah membeku.
Berikut ini adalah flowchart dari algoritma simulated annealing (Chibante, 2010).
N Y
Y
N
Y
Gambar 2.3 Flowchart untuk Algoritma Simulated Annealing
ParameterAwal
Evaluasi Solusi
Bangkitkan solusi baru
Penelusuran dihentikan ?
Output
Diterima ?
Ubah temperatur Update state terbaru
Turunkan temperatur
STOP N
21
Universitas Sumatera Utara
2.4 Simulated Annealing pada Travelling Salesman Problem.
Travelling salesman problem dikenal sebagai suatu permasalahan optimasi yang bersifat klasik dan non-deterministic polynomial-time complete yang berarti 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.
Dalam mengadopsi simulated annealing pada Travelling 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.
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 simulated annealing pada Travelling salesman
problem tidak pernah jelas secara numerik.
BAB III
METODOLOGI PENELITIAN
3.1. Sumber Data
Data yang digunakan dalam penelitian ini adalah data primer dan data sekunder.
Data primer berupa penghitungan langsung jarak dari satu kantor cabang ke kantor cabang lain . Pada penelitian ini terdapat 8 (delapan) titik penjemputan barang. Data sekunder berupa data yang diperoleh dari Mail Processing Center PT. Pos Indonesia Medan dan dilanjutkan pengambilan jarak dengan bantuan aplikasi Google Map.
3.2 Lokasi Penelitian
Penelitian dilakukan di Mail Processing Center PT. Pos Indonesia Medan yang disingkat MPC PT.Pos Indonesia Medan. MPC Medan merupakan tempat untuk memroses surat maupun paket secara lengkap. MPC berfungsi sebagai perencanaan, pengorganisasian, tempat keluar masuknya paket dan pengantaran kiriman secara efektif serta efisien di wilayah Medan yang dapat mengcover untuk wilayah Sumatera Utara.
3.3 Prosedur Penelitian
Dari uraian sebelumnya, algoritma simulated annealing akan dijalankan dengan
menggunakan algoritma Metropolis sehingga nantinya mampu menyelesaikan
Travelling salesman problem. Sebelumnya proses simulated annealing akan
dimodelkan terlebih dahulu agar mempermudah penyusunan algoritma dan
23
Universitas Sumatera Utara
proses simulasi nantinya. Karena kasusnya adalah travelling 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.
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 parameter atau rasio pengoptimalan yang nantinya akan digunakan untuk annealing schedule atau cooling schedule.
2. Tentukan parameter 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 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 sampai NC di mana NC adalah jumlah kota yang akan dikunjungi yaitu 𝑁
𝑎dan 𝑁
𝑏dengan 𝑁
𝑎< 𝑁
𝑏3. Pisahkan barisan menjadi tiga bagian : Depan = 𝐿(1) sampai 𝐿(𝑁
𝑎− 1) Tengah = 𝐿 (𝑁
𝑎) sampai 𝐿(𝑁
𝑏) Belakang = 𝐿(𝑁
𝑏+ 1) sampai 𝐿(𝑁𝐶) 4. Bangkitkan bilangan random 𝑟 ,
Jika < 0.5 , maka:
Depan Baru = “Depan”
Tengah Baru = “Tengah” dengan urutan yang dibalik.
Belakang Baru = “Belakang”
L Baru = [DepanBaruTengahBaruBelakangBaru]
Jika 𝑟 ≥ 0.5 maka lakukan :
Pilih jalur sementara = [Depan Belakang] , 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 = [DepanBaruTengahBaruBelakangBaru]
5. Hentikan iterasi sesuai dengan kriteria penghentian iterasi yang diinginkan. Jika kriteria penghentian iterasi adalah dengan cara membatasi jumlah iterasi maka jumlah iterasi yang diinginkan untuk menghentikan proses simulasi adalah lebih kecil atau sama dengan
(𝑛−1)!2
25
Universitas Sumatera Utara
BAB IV
HASIL DAN PEMBAHASAN
Berikut data jarak rute area Medan Barat pengambilan paket pengiriman di Mail Processing Center PT.Pos Indonesia Medan dalam satuan Km
JARAK Merdeka Walk
Paya Geli
Sunggal Sei Sikambing
Sei Agul
Helvetia Medan Baru
Polonia
Merdeka Walk 0 9 8 5 4 6 4 3
Paya Geli 11 0 6 5 10 7 9 12
Sunggal 8 5 0 4 8 6 6 8
Sei Sikambing 6 7 4 0 5 4 4 6
Sei Agul 4 10 9 5 0 3 5 4
Helvetia 7 8 6 5 4 0 6 8
Medan Baru 3 10 6 4 5 6 0 3
Polonia 2 11 8 6 6 9 2 0
Tabel 4.1 Data Jarak Kantor Pos Cabang
Daftar nama titik yang dilewati : 1 : Merdeka Walk (Kantor Pusat) 2 : Paya Geli
3 : Sunggal
4 : Sei Sikambing
5 : Sei Agul
6 : Helvetia
7 : Medan Baru
8 : Polonia
4.1 Pembahasan dengan Manual Inisialisasi Prameter Awal
Rasio Penurunan (𝑔) = 0,9
Jalur Awal = 1 2 3 4 5 6 7 8
Panjang Jalur (𝐸
𝑎𝑤𝑎𝑙) = 9 + 6 + 4 + 5 + 3 + 6 + 3 + 2 = 38 Parameter awal (T) = 2×𝐸
𝑎𝑤𝑎𝑙= 76 Jumlah Iterasi = 10
Iterasi 1 :
1. Bangkitkan bilangan random 𝑟 = 0,18 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 3 dan 𝑁
𝑏= 4 maka : Depan : 1 2
Tengah : 3 4 Belakang : 5 6 7 8
Karena 𝑟 < 0,5 maka Jalur Baru nya menjadi : 1 2 4 3 5 6 7 8 3. Panjang Jalur baru (𝐸
1) = 9 + 5 + 4 + 8 + 3 + 6 + 3 + 2 = 41 4. Karena 𝐸
1≥ 𝐸
𝑎𝑤𝑎𝑙maka gunakan uji kriteria dengan menggunakan
Algoritma Metropolis : 𝑝 = 𝑒
−∆𝐸⁄𝑇= 𝑒
−∆𝐸⁄𝑇= 0,9613
5. Oleh karena 𝑟 < 𝑝 maka jalur baru diterima yaitu 1 2 4 3 5 6 7 8
6. Parameter baru (𝑇
𝑖) = 0,9×41 = 36,9
27
Universitas Sumatera Utara
Iterasi 2 :
1. Bangkitkan bilangan random 𝑟 = 0,7 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 4 dan 𝑁
𝑏= 6 maka : Depan : 1 2 3
Tengah : 4 5 6 Belakang : 7 8 Karena 𝑟 > 0,5 maka
Pilih jalur sementara yaitu : 1 2 3 7 8 Bangkitkan bilangan random 𝑁 = 4 Maka di dapat
Depan Baru : 1 2 3 7 Tengah Baru : 4 5 6 Belakang Baru : 8
3. Panjang Jalur baru (𝐸
2) = 9 + 6 + 6 + 4 + 5 + 3 + 8 + 2 = 40 4. Karena 𝐸
2< 𝐸
1maka jalur baru diterima yaitu 1 2 3 7 4 5 6 8 5. Parameter baru (𝑇
𝑖) = 0,9×40 = 39
Iterasi 3
1. Bangkitkan bilangan random 𝑟 = 0,78 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 2 dan 𝑁
𝑏= 5 maka : Depan : 1
Tengah : 2 3 4 5 Belakang : 6 7 8 Karena 𝑟 > 0,5 maka
Pilih jalur sementara yaitu : 1 6 7 8 Bangkitkan bilangan random 𝑁 = 2 Maka di dapat
Depan Baru : 1 6
Tengah Baru : 2 3 4 5 Belakang Baru : 7 8 Jalur baru : 1 6 2 3 4 5 7 8
3. Panjang Jalur baru (𝐸
3) = 6 + 8 + 6 + 4 + 5 + 4 + 3 + 2 = 38 4. Karena 𝐸
3< 𝐸
2maka jalur baru diterima yaitu 1 6 2 3 4 5 7 8 5. Parameter baru (𝑇
𝑖) = 0,9×38 = 34,2
Iterasi 4
1. Bangkitkan bilangan random 𝑟 = 0,36 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 5 dan 𝑁
𝑏= 7 maka : Depan : 1 2 3 4
Tengah : 5 6 7 Belakang : 8
Karena 𝑟 < 0,5 maka Jalur Baru nya menjadi : 1 2 3 4 7 6 5 8 3. Panjang Jalur baru (𝐸
4) = 9 + 6 + 4 + 4 + 6 + 4 + 4 + 2 = 39
4. Karena 𝐸
4≥ 𝐸
3maka gunakan uji kriteria dengan menggunakan Algoritma Metropolis :
𝑝 = 𝑒
−∆𝐸⁄𝑇= 𝑒
−1⁄34,2= 0,97118
5. Oleh karena 𝑟 < 𝑝 maka jalur baru diterima yaitu 1 2 3 4 7 6 5 8 6. Parameter baru (𝑇
𝑖) = 0,9×39 = 35,1
Iterasi 5
1. Bangkitkan bilangan random 𝑟 = 0,58 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 3 dan 𝑁
𝑏= 6 maka :
Depan : 1 2
29
Universitas Sumatera Utara
Tengah : 3 4 5 6
Belakang : 7 8 Karena 𝑟 > 0,5 maka
Pilih jalur sementara yaitu : 1 2 7 8 Bangkitkan bilangan random 𝑁 = 3 Maka di dapat
Depan Baru : 1 2 7 Tengah Baru : 3 4 5 6 Belakang Baru : 8 Jalur baru : 1 2 7 3 4 5 6 8
3. Panjang Jalur baru (𝐸
5) = 9 + 9 + 6 + 4 + 5 + 3 + 8 + 2 = 46
4. Karena 𝐸
5≥ 𝐸
4maka gunakan uji kriteria dengan menggunakan Algoritma Metropolis :
𝑝 = 𝑒
−∆𝐸⁄𝑇= 𝑒
−7⁄35,1= 0,8191
5. Oleh karena 𝑟 < 𝑝 maka jalur baru diterima yaitu 1 2 7 3 4 5 6 8 6. Parameter baru (𝑇
𝑖) = 0,9×46 = 41,4
Iterasi 6
1. Bangkitkan bilangan random 𝑟 = 0,35 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 2 dan 𝑁
𝑏= 6 maka : Depan : 1
Tengah : 2 3 4 5 6 Belakang : 7 8
Karena 𝑟 < 0,5 maka Jalur Baru nya menjadi : 1 6 5 4 3 2 7 8
3. Panjang Jalur baru (𝐸
6) = 6 + 4 + 5 + 4 + 5 + 9 + 3 + 2 = 38
4. Karena 𝐸
6< 𝐸
5maka jalur baru diterima yaitu 1 6 5 4 3 2 7 8
5. Parameter baru (𝑇
𝑖) = 0,9×38 = 34,2
Iterasi 7
1. Bangkitkan bilangan random 𝑟 = 0,62 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 2 dan 𝑁
𝑏= 3 maka : Depan : 1
Tengah : 2 3 Belakang : 4 5 6 7 8 Karena 𝑟 > 0,5 maka
Pilih jalur sementara yaitu : 1 4 5 6 7 8 Bangkitkan bilangan random 𝑁 = 4 Maka di dapat
Depan Baru : 1 4 5 6 Tengah Baru : 2 3 Belakang Baru : 7 8 Jalur baru : 1 4 5 6 2 3 7 8
3. Panjang Jalur baru (𝐸
7) = 5 + 5 + 3 + 8 + 6 + 6 + 3 + 2 = 38
4. Karena 𝐸
7≥ 𝐸
6maka gunakan uji kriteria dengan menggunakan Algoritma Metropolis :
𝑝 = 𝑒
−∆𝐸⁄𝑇= 𝑒
−0⁄35,1= 1
5. Oleh karena 𝑟 < 𝑝 maka jalur baru diterima yaitu 1 4 5 6 2 3 7 8 6. Parameter baru (𝑇
𝑖) = 0,9×38 = 34,2
Iterasi 8
1. Bangkitkan bilangan random 𝑟 = 0,15 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 5 dan 𝑁
𝑏= 7 maka :
Depan : 1 2 3 4
31
Universitas Sumatera Utara
Tengah : 5 6 7
Belakang : 8
Karena 𝑟 < 0,5 maka Jalur Baru nya menjadi : 1 2 3 4 7 6 5 8 3. Panjang Jalur baru (𝐸
8) = 9 + 6 + 4 + 4 + 6 + 4 + 4 + 2 = 39
4. Karena 𝐸
8≥ 𝐸
7maka gunakan uji kriteria dengan menggunakan Algoritma Metropolis :
𝑝 = 𝑒
−∆𝐸⁄𝑇= 𝑒
−1⁄35,1= 0,9791
5. Oleh karena 𝑟 < 𝑝 maka jalur baru diterima yaitu 1 2 3 4 7 6 5 8 6. Parameter baru (𝑇
𝑖) = 0,9×39 = 35,1
Iterasi 9
1. Bangkitkan bilangan random 𝑟 = 0,97 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 3 dan 𝑁
𝑏= 7 maka : Depan : 1 2
Tengah : 3 4 5 6 7 Belakang : 8
Karena 𝑟 > 0,5 maka
Pilih jalur sementara yaitu : 1 2 8 Bangkitkan bilangan random 𝑁 = 3 Maka di dapat
Depan Baru : 1 2 8 Tengah Baru : 3 4 5 6 7 Belakang Baru : -
Jalur baru : 1 2 8 3 4 5 6 7
3. Panjang Jalur baru (𝐸
8) = 9 + 12 + 8 + 4 + 5 + 3 + 6 + 3 = 51
4. Karena 𝐸
8≥ 𝐸
7maka gunakan uji kriteria dengan menggunakan Algoritma
Metropolis :
𝑝 = 𝑒
−∆𝐸⁄𝑇= 𝑒
−12⁄35,1= 0,71
5. Oleh karena 𝑟 > 𝑝 maka jalur baru ditolak sehingga jalur yang digunakan untuk iterasi selanjutnya adalah jalur 1 2 3 4 7 6 5 8
6. 𝐸
9= 39
7. Parameter baru (𝑇
𝑖) = 0,9×39 = 35,1
Iterasi 10
1. Bangkitkan bilangan random 𝑟 = 0,45 2. Tentukan posisi jalur baru
Bangkitkan 2 bilangan random 𝑁
𝑎= 4 dan 𝑁
𝑏= 7 maka : Depan : 1 2 3
Tengah : 4 5 6 7 Belakang : 8
Karena 𝑟 < 0,5 maka Jalur Baru nya menjadi : 1 2 3 7 6 5 4 8 3. Panjang Jalur baru (𝐸
10) = 9 + 6 + 6 + 6 + 4 + 5 + 6 + 2 = 44 4. Karena 𝐸
10≥ 𝐸
9maka gunakan uji kriteria dengan menggunakan
Algoritma Metropolis : 𝑝 = 𝑒
−∆𝐸⁄𝑇= 𝑒
−5⁄35,1= 0,85
5. Oleh karena 𝑟 < 𝑝 maka jalur baru diterima yaitu 1 2 3 7 6 5 4 8 6. Parameter baru (𝑇
𝑖) = 0,9×44 = 39,6
Berikut ini adalah tabel hasil dari proses simulasi berupa iterasi yang telah
dilakukan :
33
Universitas Sumatera Utara
Iterasi Rute Total Jarak
1 1 2 4 3 5 6 7 8 41
2 1 2 3 7 4 5 6 8 40
3 1 6 2 3 4 5 7 8 38
4 1 2 3 4 7 6 5 8 39
5 1 2 7 3 4 5 6 8 46
6 1 6 5 4 3 2 7 8 38
7 1 4 5 6 2 3 7 8 38
8 1 2 3 4 7 6 5 8 39
9 1 2 3 4 7 6 5 8 39
10 1 2 3 7 6 5 4 8 44
Tabel 4.2 Hasil total jarak dari iterasi manual yang dilakukan
Dari hasil yang didapat total jarak terpendek dari rute adalah 38 km dengan beberapa rute yang memiliki total jarak yang sama, hasil tersebut belum cukup akurat oleh karena iterasi yang masih sangat sedikit, untuk itu dibutuhkan bantuan program untuk mencari jarak teroptimal
4.2 Pembahasan Menggunakan Software MATLAB
1. Input data matriks jarak
d = [0 9 8 5 4 6 4 3 ; 11 0 6 5 10 7 9 2 ; 8 5 0 4 8 6 6 8 ;
6 7 4 0 5 4 4 6 ; 4 10 9 5 0 3 5 4 ; 7 8 6 5 4 0 6 8 ; 3 10 6 4 5 6 0 3 ; 2 11 8 6 6 9 2 0 ];
2. Inisialisasi jarak dari satu titik ke titik lain
d_orig = d;
start_time = cputime;
dim1 = size(d,1);
dim12 = size(d);
for i=1:dim1
d(i,i)=10e+06;
end
3. Inisialisasi semua parameter
d1=d;
tour = zeros(dim12); cost = 0;
min_dist=[];
short_path=[];
Lmax = 400;
ATmax = 200 alfa = 0.9;
Rf = 0.0001;
Iter_max = 1000000;
start_time = cputime;
4. Membangkitkan solusi awal dan Rute terpendek
k = 1;
for i=1:dim1-1
min_dist(i) = min(d1(k,:));
short_path(i) = find((d1(k,:)==min_dist(i)),1);
cost = cost+min_dist(i);
k = short_path(i);
d1(k,1)=10e+06;
for visited_node = 1:length(short_path);
d1(k,short_path(visited_node))=10e+06;
end end
tour(1,short_path(1))=1;
for i=2:dim1-1
tour(short_path(i-1),short_path(i))=1;
end
last_indx = length(short_path)+1;
short_path(last_indx)=1;
tour(k,short_path(last_indx))=1;
cost = cost+d(k,1);
crnt_tour = short_path;
best_tour = short_path;
best_obj =cost;
crnt_tour_cost = cost;
obj_prev = crnt_tour_cost;
fprintf('\nInitial solution');
crnt_tour
fprintf('Initial tour cost = %d\t', crnt_tour_cost);