Algoritma Metaheuristik Algoritma Tabu Search Algoritma Umum Tabu Search Komponen Tabu Search Tracing Algoritma Tabu Search pada Travelling Salesman Problem TSP

15 Dinamika Teknologi έψιφ φχσι νυψωφωοσ μιψ νυιιήι Γ Β bagian ini menjelaskan mengenai Metaheuristic. Metaheuristic yang dipakai dalam penelitian ini yaitu Algoritma Tabu Search. Lalu yang kedua, dibahas pula mengenai Struktur Memori. Yang ketiga dibahas mengenai Fungsi Evaluasi. Yang terakhir, dalam bagian ini dibahas pula mengenai Google Maps API. Google Maps API yang dibahas terdiri atas Directions Service dan Distance Matrix.

2.1 Algoritma Metaheuristik

Pada Computer Science dan Mathematical optimization, metaheuristik merupakan heuristic yang dirancang untuk menemukan, menghasilkan, atau memilih heuristic yang menghasilkan solusi yang lebih baik untuk melakukan optimisasi dari suatu masalah. Dibandingkan dengan algoritma optimisasi dan metode iterative, metaheuristik tidak menjamin solusi global yang optimal ditemukan untuk tiap masalah. Kebanyakan metaheuristik memakai metode stochastic optmitization dimana solusi yang dihasilkan bergantung pada variable yang dihasilkan secara random pada inisialisasi awal.

2.2 Algoritma Tabu Search

Tabu Search merupakan single-solution based metaheuristik yang diperkenalkan oleh Fred Glover pada tahun 1986. Tabu search sangat popular di tahun 90an, dan sampai sekarang masih menjadi salah satu single-solution based metaheuristik yang banyak dipakai untuk menyelesaikan permasalahan optimisasi. Tabu search merupakan metode metaheuristik yang dilandaskan pada pencarian local local search. Untuk menghindari proses pencarian kembali ke kandidat solusi yang pernah dikunjungi, Tabu Search mengingat jalur pencarian yang telah dilewati. Kandidat solusi yang sudah dilewati disimpan dalam memori, yang disebut Tabu list, dan tidak dilewati lagi karena itu disebut Tabu.

2.3.1 Struktur Memori

Penggunaan struktur memori memiliki basis atribut-atribut fleksibel maupun atribut-atribut kaku yang dirancang untuk membolehkan sebuah kriteria evaluasi dan hasil pencarian di masa lalu dieksploitasi lebih mendalam. Kategori struktur memori ini dapat dibagi menjadi tiga: 1. Short Term: memory ini berisi kumpulan solusi yang baru saja dipertimbangkan. Jika sebuah potensi solusi baru muncul, maka solusi ini tidak dapat dikunjungi lagi hingga expiration point tercapai. 2. Intermediate Term: aturan memory ini dimaksudkan agar pencarian lebih terfokus terhadap daerah yang menjanjikan dari ruang pencarian. 3. Long Term: memory ini menggunakan diversifikasi yang bertujuan untuk mendorong pencarian ke daerah yang baru misalnya melakukan reset jika pencarian stuck atau kriteria tertinggi masih belum juga terpenuhi.

2.3.2 Fungsi Evaluasi

Fungsi evaluasi, biasa disebut heuristic evaluation function atau static evaluation function adalah fungsi yang digunakan oleh suatu program atau algoritma untuk memperkirakan value atau nilai kebaikan dari solusi tertentu. Fungsi evaluasi ini biasanya didesain untuk lebih mementingkan kecepatan proses daripada akurasi, fungsi ini hanya melihat pada satu posisi tertentu dan tidak melihat atau mencari langkah lain yang memungkinkan static. Tujuan utama dari penggunaan fungsi evaluasi ini adalah untuk mengurangi waktu komputasi yang dibutuhkan untuk menyelesaikan suatu masalah.

2.3 Google Maps API

Pada bagian ini dijelaskan beberapa hal mengenai Google Maps API. Google Maps API adalah fitur yang disediakan oleh Google yang memungkinkan para penggunanya untuk menampilkan Google Maps pada halaman web atau mengambil data tertentu dari Google Maps.

2.3.1 Directions Service

Fitur directions service ini termasuk dalam Web Service API yang disediakan oleh Google. Directions service ini dapat digunakan untuk menghitung arah sesuai dengan metode transportasi yang digunakan driving, transit, dan lain lain dengan menggunakan objek DirectionService. Objek ini berkomunikasi dengan Google Maps API Directions Service yang menerima request arah dan mengeluarkan hasil perhitungan.

2.3.2 Distance Matrix

Fitur Distance Matrix ini digunakan untuk menghitung jarak dan durasi dari perjalanan antar berbagai asal dan tujuan dengan menggunakan mode travel tertentu. Service ini tidak 16 Dinamika Teknologi έψιφ φχσι νυψωφωοσ μιψ νυιιήι Γ Β mengembalikan hasil berupa informasi rute secara detail tetapi hanya mengembalikan nilai jarak dan durasi dari perjalanan. ALGORITMA TABU SEARCH Pada bagian ini akan dijelaskan mengenai algoritma utama yang mendasari pembuatan penelitian ini, yaitu algoritma Tabu Search, penerapan algoritma Tabu Search pada permasalahan Travelling Salesman Problem, dan penelitian terkait tentang penerapan algoritma Tabu Search pada penjadwalan wisata.

3.1 Algoritma Umum Tabu Search

Metode pencarian tabu berprinsip pada penggunaan memori sebagai elemen esensial dalam pencariannya, karena pencarian Tabu tidak hanya menyimpan nilai sebuah solusi terbaik seperti kebanyakan metode pencarian, namun juga menyimpan informasi selama pencarian melalui solusi terakhir yang dikunjungi. Sebuah informasi akan digunakan sebagai petunjuk untuk bergerak dari i ke solusi selanjutnya dalam Ni. Penggunaan memori sebagai pembatas dalam pemilihan beberapa subset dari Ni dengan membatasi pergerakan ke beberapa solusi tetangga.

3.2 Komponen Tabu Search

Pada bagian ini dijelaskan mengenai beberapa komponen dari algoritma Tabu Search. Sebelum mempelajari cara kerja algoritma Tabu Search untuk permasalahan lebih lanjut, ada beberapa elemen utama yang sering digunakan dalam algoritma Tabu Search yang terdiri dari: 1. Representasi solusi 2. Fungsi cost 3. Neighborhood tetangga 4. Tabu List memori jangka pendek 5. Aspiration criteria 6. Long term memory memori jangka panjang

3.3 Tracing Algoritma Tabu Search pada Travelling Salesman Problem TSP

Travelling Salesman Problem merupakan salah satu permasalahan optimasi kombinatorial yang biasa terjadi. Permasalahan Travelling Salesman Problem mengenai seseorang yang harus mengunjungi semua kota tepat satu kali dan kembali ke kota asal. Beberapa contoh penerapan Travelling Salesman Problem yang muncul dalam kehidupan sehari-hari, misalnya efisiensi penjadwalan pengiriman koran, produksi barang, pemasangan jaringan komunikasi, dan masalah transportasi. Contoh kasus TSP: Seorang Salesman PT. XX bertugas untuk mengecek ketersediaan suku cadang pada masingmasing pos PT. XX. Salesman yang bepergian mulai dari PT. XX 0 ke Pos Sei. Raya 1, Pos Adisucipto 2, Pos Siantan 3, Pos Gajah Mada 4 dan pos Kota Baru 5, kemudian Salesman harus kembali lagi ke PT. XX. Pos-pos tersebut harus dikunjungi tepat satu kali dengan tujuan perjalanan meminimumkan jarak dan waktu tempuh. Gambar 1. Ilustrasi Perjalanan Salesman PT. XX Gambar 1 merupakan hubungan antar pos pada kasus PT. XX dan tabel 1 merupakan nilai jarak dan waktu secara keseluruhan. Tabel 1. Jarak dan Waktu Secara Keseluruhan Langkah yang dilakukan adalah mengoptimalkan jarak tempuh dan waktu perjalanan salesman PT. XX tersebut. Langkah pertama yang dilakukan adalah menentukan rute awal dan menetapkannya sebagai solusi terbaik untuk tahap awal. Tabel 2. Pencarian Jalur Alternatif Iterasi 1 Pertukaran Rute Perjalanan Jarak Tempuh km Waktu Perjalanan menit Tukar 4,1 0-1-4-2-5-3-0 52 78.1 Tukar 4,2 0-2-1-4-5-3-0 41.1 61.8 Tukar 4,5 0-5-1-2-4-3-0 44.6 67.1 Tukar 4,3 0-3-1-2-5-4-0 41.3 62.1 Tukar 1,2 0-4-2-1-5-3-0 46.3 69.6 Tukar 1,5 0-4-5-2-1-3-0 41.3 62.1 Tukar 1,3 0-4-3-2-5-1-0 48.3 72.6 Tukar 2,5 0-4-1-5-2-3-0 49.8 74.9 Tukar 2,3 0-4-1-3-5-2-0 49.2 73.9 Tukar 5,3 0-4-1-2-3-5-0 41.3 62.2 17 Dinamika Teknologi έψιφ φχσι νυψωφωοσ μιψ νυιιήι Γ Β Pada iterasi ke-1 ini diperoleh nilai terbaik adalah km untuk jarak tempuh dan menit untuk waktu perjalanan yakni pada Jalur ke-2. Selanjutnya lakukan iterasi ke 2, untuk perhitungan iterasi ke 2 sampai iterasi ke 60 juga menggunakan perhitungan yang sama seperti iterasi 1 sesuai dengan rute yang dilalui Salesman tersebut. Setelah dilakukan perhitungan sebanyak 60 iterasi, maka diperoleh jarak tempuh dan waktu perjalanan minimum pada setiap iterasi tersebut

3.4 Penerapan Algoritma Tabu Search pada Penjadwalan Wisata