KAJIAN KARAKTERISTIK SOLUSI VARIAN TRAVELING
SALESMAN PROBLEM (TSP) DAN APLIKASINYA
Sapti Wahyuningsih1, Darmawan Satyananda2, Dahliatul Hasanah3 1 Jurusan Matematika FMIPA UM Malang, [email protected] 2 Jurusan Matematika FMIPA UM Malang , [email protected]
3 Jurusan Matematika FMIPA UM Malang , dahliatul. [email protected]
Abstrak. Pada kajian teori graph, permasalahan TSP merupakan masalah menentukan sikel Hamilton dengan
jumlah bobot sisi yang minimal. Pada perkembangannya terdapat bermacam-macam varian dari TSP. Varian TSP ini dapat diaplikasikan pada permasalahan distribusi.
Telah banyak riset tentang bermacam-macam varian TSP yaitu Traveling Salesman Problem with Time
Windows (TSPTW), Clustered Traveling Salesman Problem (CTSP), Multiple Traveling Salesman Problem (MTSP), Dynamic Traveling Salesman Problem (DTSP), dan Travelling Salesman Problem with Precedence Constraints
(TSPPC). Varian-varian ini dikembangkan antara lain bertujuan untuk memodelkan aplikasi dalam dunia nyata dengan lebih baik sesuai dengan kebutuhan yang diperlukan.
Pada artikel ini diidentifikasi formulasinya dalam teori graph serta dikaji syarat cukup graph dari varian TSP. Pada aplikasinya model graph atau digraph yang diperlukan, akan menentukan pemilihan varian TSP. Oleh karena itu pada artikel ini dikaji karakteristik solusi DTSP dan TSPPC yang merupakan contoh model untuk graph dan digraph. Algoritma nearest neighbor heuristic dan algoritma nearest insertion heuristic digunakan untuk menentukan solusi optimal DTSP dikaji langkah iterasi dan kelebihan/kekurangannya.
Diberikan contoh aplikasinya pada masalah optimalisasi distribusi dengan implementasi program yang disusun dalam bahasa Delphi.
Kata kunci: varian TSP, TSPTW, CTSP, MTSP, DTSP, TSPPC, optimalisasi distribusi.
Pendahuluan
Salah satu model graph yang dapat diaplikasikan untuk menyelesaikan masalah pendistribusian barang adalah Traveling Salesman Problem (TSP), model graph ini bisa
digunakan untuk menentukan rute dengan jarak tempuh minimal yang berawal pada suatu depot, melayani semua customer yang dikunjungi sekali dan kembali ke depot asal. Pada
perkembangannya banyak persoalan dengan kendala tambahan misalnya penambahan atau pengurangan customer di tengah perjalanan, depot yang lebih dari satu, waktu pengiriman, dan adanya persyaratan urutan pengantaran. Hal ini menyebabkan munculnya varian-varian baru dari TSP yang merupakan pengembangan dari TSP dasar yang ada. Varian-varian ini dikembangkan untuk memodelkan aplikasi TSP dalam dunia nyata dengan lebih baik lagi sesuai dengan
kebutuhan yang diperlukan dan karakteristik solusi yang sesuai.
Varian TSP yang telah dikembangkan dan terus dikaji solusinya antara lain Traveling
Salesman Problem with Time Windows (TSPTW) yaitu TSP dengan tambahan kendala setiap titik
yang dikunjungi ada tambahan time window [1],[2], Clustered Travelling Salesman Problem (CTSP), adalah varian TSP dengan menambahkan cluster pada himpunan titik-titiknya [3],
Multiple Traveling Salesman Problem (MTSP) yaitu varian TSP dengan tambahan titik awal dan
Constraints (TSPPC) yatu varian TSP dengan tambahan kendala yaitu adanya urutan titik yang
harus dikunjungi terlebih dahulu [8].
Bagaimana formulasi dalam teori graph serta syarat cukup graph dari varian TSP tersebut perlu dikaji. Baik graph atau digraph diperlukan untuk dikaji, disini DTSP mewakili
permasalahan dalam graph dan TSPPC mewakili permasalahan dalam digraph. Keduanya perlu dikaji karakteristik solusi serta algoritmanya.
Bagaimana contoh aplikasi varian TSP pada masalah optimalisasi distribusi akan dibahas pada artikel ini, dibantu dengan implementasi program komputer yang disusun dalam Delphi.
Diskusi dan Pembahasan
Sebelum mengidentifikasi formulasi varian TSP, diberikan terlebih dulu formulasi TSP. Permasalahan TSP dideskripsikan sebagai perjalanan seorang salesman dari kota asalnya untuk mengunjungi sejumlah kota tepat satu kali lalu kembali ke kota asalnya. Salesman tersebut menginginkan rute yang efisien dengan biaya atau jarak tempuh minimal.
Secara matematika, formulasi TSP dapat dinyatakan sebagai suatu graph G=(V,A) dengan 𝑉 = {1,2,3, . . . , 𝑛} menyatakan himpunan titik graph yang menunjukkan lokasi kota dan 𝐴 = {(𝑖, 𝑗)|𝑖, 𝑗 ∈ 𝑉, 𝑖 ≠ 𝑗} himpunan sisi yang menyatakan jalan penghubung antar kota. Titik 1 menyatakan kota asal atau depot. Misalkan 𝑥𝑖,𝑗 adalah jarak tempuh dari kota i ke kota j dan
didefinisikan peubah:
𝑥𝑖,𝑗= {
1, jika sisi (i, j) ∈ A dilalui oleh rute 0, jika sisi (i, j) ∈ A tidak dilalui rute Maka formulasi matematis dari TSP adalah sebagai berikut:
Minimumkan 𝑧 = ∑𝑛𝑖=1∑𝑛𝑗=1𝑥𝑖,𝑗
Persamaan ini merupakan fungsi yang bertujuan meminimumkan total jarak tempuh. Dengan kendala sebagai berikut:
∑ 𝑥𝑖,𝑗 = 1, 𝑖 = 1,2, … , 𝑛 𝑛 𝑖=1 ∑ 𝑥𝑖,𝑗= 1, 𝑗 = 1,2, … , 𝑛 𝑛 𝑗=1
Kendala di atas bertujuan menunjukkan bahwa salesman mendatangi dan meninggalkan setiap kota tepat satu kali. Sedangkan
∑ ∑ 𝑥𝑖,𝑗
𝑗∈𝑄
≥ 1,
𝑖∈𝑄
∀ 𝑄 ⊂ 𝑉, 𝑄 ≠ ∅
adalah kendala untuk memastikan bahwa tidak terdapat subrute, di mana 𝑄 = {1,2,3, … , 𝑛}. Dan kendala terakhir berikut ini digunakan untuk menjamin bahwa 𝑥𝑖,𝑗 merupakan peubah biner yaitu 𝑥𝑖,𝑗 ∈ {0,1}, dimana 𝑖, 𝑗 = 1, … , 𝑛
2.1. Formulasi Varian TSP
Varian TSP dengan tambahan kendala setiap titik yang dikunjungi ada tambahan
time window disebut TSPTW. Formulasi TSPTW dapat didefinisikan sebagai graph G = (V, A) dengan V himpunan titik dan A himpunan sisi. Himpunan V mempunyai N titik
termasuk sebuah depot yang dinotasikan dengan 0 dan himpunan sejumlah customer yang dinyatakan dengan V\{0}. Himpunan sisi terdiri dari pasangan titik yaitu A = {(i, j): i,
tambahan time window. Syarat cukup graph untuk TSPTW adalah graph terhubung, tak berarah dan graph komplit.
Clustered Travelling Salesman Problem (CTSP), adalah varian TSP dengan
menambahkan cluster pada himpunan titik-titiknya. Formulasi CTSP dapat didefinisikan sebagai graph 𝐺 = (𝑉, 𝐸) dengan V = {V1, V2, V3,…., Vn } dan E himpunan sisi. Sebagai titik awal atau
sebagai depot adalah V1. Selain V1, titik-titik pada himpunan V dipartisi menjadi cluster-cluster
dengan ukuran masing-masing 𝑛1, 𝑛2, . . . , 𝑛m. Matriks beban
𝐶 = [𝑐𝑖𝑗] dapat menyatakan ongkos, jarak atau waktu perjalanan. Dimulai dari depot V1 tujuan
dari CTSP adalah menentukan sikel Hamilton pada graph G dengan total biaya minimum. Syarat cukup graph untuk CTSP adalah graph tak berarah, terhubung dan komplit. Beberapa varian dari CTSP adalah jika banyak cluster adalah dua maka permasalahan menjadi CTSPB (CTSP with
Backhauls), dan jika urutan cluster diperhatikan maka masalahnya menjadi OCTSP (Ordered Cluster TSP). Keduanya dapat dilihat pada [3].
Varian TSP dengan tambahan titik awal dan titik tujuan bisa lebih dari satu (depot) sehingga setiap titik (customer) dikunjungi tepat satu kali dengan total biaya minimal disebut Multiple TSP (MTSP). Formulasi MTSP dapat didefinisikan sebagai graph G = (V, A) dengan V himpunan titik dan A himpunan sisi. Himpunan V mempunyai
N titik dengan titik awal (depot) bisa lebih dari satu depot. Himpunan sisi terdiri dari
pasangan titik yaitu A = {(i, j): i, j ∈ V, i ≠ j}. Setiap sisi (i, j) diberi nilai travel cost cij antara titik i dan j. Fungsi tujuan dari MTSP adalah menemukan sikel Hamilton dengan biaya minimum jika ada tambahan titik awal dan titik tujuan bisa lebih dari satu. Syarat cukup graph untuk MTSP adalah graph terhubung, tak berarah dan graph komplit. Artikel pada [5] mengkaji solusi optimal dari MTSP jika diberi tambahan kapasitas jalan.
Varian TSP dengan tambahan titik tujuan tidak tetap sehingga terjadi penambahan ataupun pengurangan titik tujuan disebut Dynamic TSP (DTSP). Formulasi DTSP dapat
didefinisikan sebagai graph G = (V, A) dengan V himpunan titik dan A himpunan sisi. Himpunan sisi terdiri dari pasangan titik yaitu A = {(i, j): i, j ∈ V, i ≠ j}. Setiap sisi (i, j) diberi nilai travel cost cij antara titik i dan j, dan dapat dilakukan penambahan atau pengurangan titik tujuan. Fungsi tujuan dari DTSP adalah menemukan sikel Hamilton dengan biaya minimum jika ada tambahan titik tujuan tidak tetap. Syarat cukup graph untuk DTSP adalah graph terhubung, tak berarah dan graph komplit.
Varian TSP dengan tambahan kendala yaitu adanya urutan titik yang harus dikunjungi terlebih dahulu disebut TSP with Precedence Constraints (TSPPC). Permasalahan TSPPC merupakan permasalahan untuk menemukan sikel Hamilton dengan biaya minimum jika ada tambahan urutan titik tujuan. Syarat cukup graph TSPPC adalah graph terhubung, berarah dan graph komplit.Pada penyelesaian
masalah real dapat dimodelkan dalam bentuk graph network, dengan titik sebagai kota dan sisi berarah sebagai precedence relation.
Pada artikel ini dikaji karakteristik solusi DTSP dan TSPPC yang dipilih untuk mewakili syarat cukup modelnya yaitu graph dan digraph;
2.2. Karakteristik Solusi DTSP
Riset untuk metode mencari solusi DTSP, misalkan dilakukan oleh [6] dan [7].
Permasalahan DTSP dapat diilustrasikan sebagai berikut. Misalkan diberikan sebanyak n kota / lokasi / pelanggan yang akan dikunjungi dengan cij merupakan jarak antara kota i dan kota j,
penambahan atau pengurangan kota yang dikunjungi. Persoalan ini adalah persoalan menentukan sikel Hamilton dengan jumlah bobot sisi minimum pada suatu graph terhubung.
Berikut ini adalah bentuk modelnya
𝑚𝑒𝑚𝑖𝑛𝑖𝑚𝑎𝑙𝑘𝑎𝑛 𝑍 = ∑ 𝑐𝑖𝑗𝑥𝑖𝑗 (𝑖,𝑗)∈𝐴 Dengan batasan: ∑ 𝑐𝑖𝑗 = 1 𝑛 𝑖=0 𝑖 ≠𝑗 , 𝑗 = 0, … ∅, 𝑛, … ∅ ∑ 𝑥𝑖𝑗 = 1 𝑛 𝑗=0 𝑖 ≠𝑗 , 𝑗 = 0, … ∅, 𝑛, … ∅ Parameter :
n = jumlah kota / lokasi / pelanggan yang akan dikunjungi (n tidak termasuk tempat asal yang
diindekkan dengan i = 0).
cij = biaya / jarak perjalanan dari kota i ke kota j
A = Himpunan sisi-sisi dari graph.
Suatu DTSP merupakan suatu permasalahan dalam bidang optimasi kombinatorial. Sebagai permasalahan kombinatorial, persoalan ini tergolong memiliki kemungkinan jawaban yang sangat banyak karena ditentukan oleh banyaknya titik yang dapat berubah-ubah (dihapus atau ditambah) dalam proses iterasi. Kota dapat dinyatakan sebagai sebuah titik graph,
sedangkan sisi menyatakan jalan yang menghubungkan dua kota. Untuk menentukan solusi DTSP dapat digunakan algoritma nearest neighbor heuristic dan algoritma nearest insertion
heuristic. Berikut ini langkah-langkah kedua algoritma tersebut.
Langkah algoritma nearest neighbor heuristic adalah sebagai berikut. 1. Pilih sebarang titik sebagai titik awal dari lintasan.
2. Pilih titik dengan sisi yang terkait memiliki bobot minimum.
3. Dari titik yang baru, pilih titik yang belum terpilih pada lintasan dengan bobot sisi minimal. 4. Saat penghapusan atau penghapusan titik pastikan titik tersebut belum dilewati, sehingga
perlu ditambahkan waktu lebih dalam penambahan titik begitupula dengan penghapusan titik sehingga perlu pengurangan titik.
5. Kembali lakukan langkah 3 sampai semua titik telah termuat dalam lintasan. Selanjutnya hubungkan titik awal dengan titik akhir sehingga terbentuk sikel.
Pada algoritma nearest insertion heuristic, metode diawali dari penentuan titik awal lalu mencari titik baru dimana sisi yang terkait memiliki bobot minimum terlebih dahulu kemudian mengambil sebarang titik yang tidak pada sikel untuk disisipkan pada sisi dalam sikel yang memiliki nilai penyisipan yang minimum. Langkah –langkahnya adalah sebagai berikut:
1. Pilih sebarang titik i0 sebagai titik awal
2. Cari titik k dalam graf sehingga Ci0,k adalah minimum dan membentuk subtour i0 – k – i0
3. Langkah seleksi, secara sebarang pilih titik k tidak dalam subtour lalu masukkan pada subtour
4. Langkah penyisipan, cari sisi (i,j) dalam subtour dengan Cik + Ckj - Cij yang mempunyai
nilai minimum. Sisipkan k diantara i dan j
6. Jika titik yang akan dihapus dipastikan belum terlewati. Kemudian ulangi langkah 2 hingga 4 hingga menemukan hasil akhir.
Kajian solusi dari permasalahan DTSP dengan menggunakan algoritma Nearest Neighbor
Heuritic adalah dengan memilih titik yang terhubung langsung dengan jumlah graph bobot
minimum. Pada proses iterasi jika terjadi penghapusan titik, maka dipastikan titik tersebut belum terlewati kemudian jika terdapat penambahan titik, dipilih titik yang terhubung langsung dengan jumlah graph bobot minimum. Keunggulan algoritma Nearest Neighbor Heuristic jika
dibandingkan penyelesaian menggunakan algoritma Nearest Insertion Heuristic adalah solusinya lebih optimal. Hal ini karena proses pemilihan titiknya yang terhubung dengan sebelumnya dengan bobot minimum. Sedangkan kelemahannya banwa algoritma Nearest Neighbor Heuristic membutuhkan waktu yang lama karena terjadi perulangan iterasi karena ada penambahan dan pengurangan titik.
2.3. Karakteristik Solusi TSPPC
Permasalahan yang diselesaikan dengan TSP dasar adalah satu variabel yaitu total jarak, waktu atau biaya, padahal pada kenyataanya permasalahan distribusi juga ada yang
mengharuskan memperhatikan urutan titik yang harus dikunjungi terlebih dahulu sebelum titik yang lain. Untuk memecahkan masalah tersebut TSP dikembangkan menjadi TSPPC.
Salah satu metode yang digunakan untuk menemukan solusi TSPPC adalah dengan menggunakan algoritma genetika [8]. Algoritma genetika adalah algoritma pencarian heuristik yang didasarkan atas mekanisme evolusi biologis. Tahapan penyelesaian TSPPC dengan
algoritma genetika yaitu: tahap inisialisasi (pembentukan populasi awal), tahap perhitungan nilai fitnes, tahap pemilihan (seleksi) dengan Roullete Wheel, tahap pindah silang dengan moon
crossover, dan tahap mutasi (swapping mutation). Untuk mengatasi precedence constraints,
algoritma genetika digabungkan dengan konsep topological sort dalam menentukan lintasan yang fisibel. Topological sort adalah teknik mengurutkan titik-titik pada graph berarah, sedemikian sehingga jika terdapat lintasan dari vi ke vj maka vj dilalui setelah vi .
Penyelesaian TSPPC dengan algoritma genetika yang digabungkan dengan konsep
topological sort yaitu: yang pertama adalah tahap inisialisasi atau pembentukan populasi awal
dengan membentuk string bilangan bulat dari 1 sampai banyaknya titik secara acak sebanyak ukuran populasi, kemudian kromosom yang diperoleh ditentukan lintasan fisibel dengan
topological sort, tahap kedua adalah perhitungan nilai fitnes dengan menghitung total waktu
perjalanan dari masing-masing lintasan yang diperoleh, tahap ketiga adalah pemilihan dengan
Roullete Wheel yaitu dengan menghitung fitnes relatif dan fitnes kumulatif dari masing-masing
kromosom dan membangkitkan bilangan random sebanyak ukuran populasi kemudian memilih kromosom yang akan diikutkan ke proses selanjutnya, tahap keempat adalah crossover dengan
moon crossover, tahap kelima adalah mutasi dengan swapping mutation yaitu dengan
membangkitkan bilangan acak sebanyak ukuran populasi dikalikan dengan jumlah gen kemudian gen dengan bilangan random kurang dari probabilitas mutasi ditukar dengan gen setelahnya.
Dari hasil analisis didapat bahwa algoritma genetika yang digabungkan dengan konsep
topological sort mampu menghasilkan lebih dari satu alternatif solusi untuk TSPPC.
Aplikasi
MTSP dan TSPTW adalah metode Insertion Heuristic. Metode yang digunakan untuk TSP adalah kombinasi dari Nearest Neighbor, Nearest Insertion Heuristic, dan Cheapest Link (Greedy).
Input aplikasi adalah: - Titik pembentuk graf
- Bobot antar sisi (bobot bisa dianggap sebagai jarak antar titik)
- Parameter lain yang diperlukan: untuk TSPTW adalah data time window masing-masing titik (waktu buka, waktu tutup, dan lama pelayanan), sedangkan untuk MTSP adalah banyaknya salesman dan titik awal rute.
Selain dengan input secara manual, aplikasi juga bisa menerima input berupa file data yang dihasilkan oleh aplikasi ini juga, serta file data standar dari TSPLIB.
Berikut ini contoh tampilan dari permasalahan untuk TSPTW dengan 6 titik dan selesaiannya (1 titik sebagai depot, sisanya sebagai customer). Rute diawali dari titik 0.
(a) (b)
(e)
Gambar 1. Permasalahan TSPTW. (a) Graf awal, (b) Tabel jarak, (c) Time window, (d) Rute yang dihasilkan, (e) Tahapan penyelesaian dan hasil akhir
Untuk permasalahan MTSP, berikut contoh tampilan permasalahan dan selesaiannya. Terdapat 9 titik, 2 salesman, dan rute diawali dari titik 0.
(a) (b)
(d)
Gambar 2. Permasalahan MTSP. (a) Graf awal, (b) Tabel jarak, (c) Tahapan penyelesaian dan hasil akhir, (d) Rute yang dihasilkan
Pada MTSP, pengelompokan titik ke dalam salesman dilakukan secara acak.
Kesimpulan
Telah dikaji varian TSP yaitu TSPTW, CTSP, MTSP, DTSP, dan TSPPC masing-masing diidentifikasi formulasinya dalam teori graph. Juga diidentifikasi syarat cukup graph/digraph dari masing-masing varian TSP, hal ini diperlukan untuk memodelkan suatu permasalahan nyata. Pada perkembangannya varian TSP tersebut dapat dikombinasikan untuk mengatasi berbagai variasi permasalahan misalnya MTSPTW (Multiple TSPTW), CTSPTW (Cluster TSPTW), dan DTSPPC (dynamic TSPPC).
Kajian solusi dari permasalahan DTSP menggunakan algoritma Nearest Neighbor
Heuritic dan Nearest Insertion Heuristic. Diidentifikasi langkah-langkah iterasi, kelebihan dan
kekurangannya. Sedangkan kajian solusi permasalahan TSPPC dengan algoritma genetika yang digabungtkan dengan konsep topological sort. Solusi alternatif merupakan salah satu kelebihan algoritma genetika.
Dalam mengaplikasikan varian TSP untuk permasalahan distribusi diberikan contoh permasalahan nyata dengan menggunakan aplikasi yang disusun dengan bahasa Delphi.
Daftar Pustaka
[1]. WU, Kun-Chih, TING, Ching-Jung, LAN Wei-Chun. A Beam Search Heuristic for the
Traveling Salesman Problem with Time Windows. Journal of the Eastern Asia
Society for Transportation Studies, Vol.9, 2011
[2 ]. Manuel, Christian Blum, Ohlmann, and Barrett W. Thomas The Travelling Salesman
Problem with Time Windows: Adapting Algorithms from Travel-time to Makespan Optimization. Technical report number TR/IRIDIA. ISSN 1781-3794 2013
[3] Ahmed, Zakir Hussain, The Ordered Clustered Travelling Salesman Problem:A Hybrid
[4 ]. Swain, Bhagwan, Ghosh, Rajdeep Quantum inspired evolutionary algorithm for
solving multiple travelling salesman problem. IJRET: International Journal of
Research in Engineering and Technology. Volume: 02 Special Issue: 02 | Dec-2013. [5 ] Ponraj, Ranjana and Amalanathan, George. Optimizing multiple traveling salesman problem
considering the road capacity. Journal of Computer Science (JCS). 10 (4): 680-688, 2014
[6]. Gharehchopogh, F S. Isa Maleki, Seyyed Reza Khaze. A New Optimization Method
for Dynamic Travelling Salesman Problem with Hybrid Ant Colony Optimization Algorithm and Particle Swarm Optimization International Journal of Advanced
Research in Computer Engineering & Technology (IJARCET) Volume 2, Issue 2, February 2013.
[7]. Jindal, P, Kumar. Dynamic version of Traveling Salesman Problem. International Journal of Computer Applications. Volume 19– No.1, April 2011.
[8]. Razali, NM, Geraghty, J Genetic Algorithm to Solve Process Sequencing Modelled
as the Traveling Salesman Problem with Precedence Constraints. Proceedings of