TSP merupakan salah satu permasalahan penting dalam dunia matematika dan informatika. TSP dapat diilustrasikan sebagai perjalanan seorang salesman yang harus
memulai perjalanannya dari satu kota, melalui setiap kota lainnya hanya sekali dan kembali lagi ke kota asal keberangkatan. Solusi dari TSP ialah lintasan yang dilalui
oleh salesman tersebut. Tentunya solusi terbaik atau optimal dari permasalahan ini ialah lintasan dengan jarak terpendek atau dapat disebut juga dengan tour perjalanan
minimum. Model TSP dinyatakan dalam bentuk graph, dengan kata lain TSP termasuk ke dalam problem menemukan lintasan atau siklus Hamilton.
Dalam tulisan ini TSP yang dibahas adalah TSP asimetris, dimana TSP asimetris adalah jarak dari kota A ke kota B adalah tidak sama dengan jarak dari kota
B ke kota A asimetris terjadi karena jalan satu arahAdhi,2008. Graph yang direpresentasikan sebagai permasalahannya merupakan graph yang terhubung secara
penuh artinya pada setiap vertex yang ada pasti terhubung dengan vertex yang lain.
2.5.1 Sejarah Singkat Traveling Salesman Problem
Permasalahan TSP dalam ilmu matematika dilakukan pada tahun 1800 oleh ahli matematika Irlandia William Rowan Hamilton dan ahli matematika Inggris Thomas
Penyngton Kirkman, dengan membuat permainan untuk menyelesaikan perjalanan melalui 20 titik dengan menggunakan koneksi yang sudah ditetapkan. Permainan yang
disebut game Icosian tersebut tak lain adalah menemukan siklus Hamilton di atas suatu bidang dengan mengunjungi tiap-tiap edge-nya sekali dan akhirnya kembali ke
edge awal, suatu permainan yang jelas seperti rumus TSP.
TSP kemudian dipelajari oleh ahli matematika Karl Menger di Vienna, Harvard serta
Hassler Whitney and
Merrill Flood di Princeton pada tahun 1930 dan
menuliskan bentuk umumnya. Karena pertumbuhan algoritma yang semakin meningkat dari tahun ke tahun, mulai tahun 1950 penyelesaian TSP dipecahkan
dengan komputer. Tahun 1954 pertumbuhan penting dari TSP diteliti oleh para peneliti yaitu: Dantzig, Fulkerson dan Jhonson yang terus mengembangkan metode
baru untuk menyelesaikan permasalahan TSP. Berikut tabel daftar history dari TSP TSPLIB95, 1995
Widya Maulina : Aplikasi Pendekatan Dynamic Programming Pada Traveling Salesman Problem, 2009 USU Repository © 2008
Tabel 2.1 Daftar History dari TSP Tahun Tim
Periset Ukuran
1954 G. Dantzig, R. Fulkerson, dan S. Johnson
49 kota 1971
M. Held dan R.M. Karp 64 kota
1975 P.M. Camerini, L. Fratta, dan F. Maffioli
67 kota 1977
M. Grötschel 120 kota
1980 H. Crowder dan M.W. Padberg
318 kota 1987
M. Padberg dan G. Rinaldi 532 kota
1987 M. Grötschel dan O. Holldan
666 kota 1987
M. Padberg dan G. Rinaldi 2.392 kota
1994 D. Applegate, R. Bixby, V. Chvátal, dan
W. Cook 7.397 kota
1998 D. Applegate, R. Bixby, V. Chvátal, dan
W. Cook 13.509 kota
2001 D. Applegate, R. Bixby, V. Chvátal, dan
W. Cook 15.112 kota
2004 D. Applegate, R. Bixby, V. Chvátal, W.
Cook, dan K. Helsgaun 24.978 kota
2.6 Dynamic Programming
Dynamic programming adalah teknik manajemen sains yang diaplikasikan kepada persoalan yang melibatkan keputusan yang saling berkaitan. Program ini
dikembangkan oleh Richard Bellman dan G. B Dantzig pada tahun 1940 – 1950. Sebagai sebuah konsep, dynamic programming lebih luwes dibanding program-
program optimasi lainnya. Aplikasi dynamic programming telah terbukti baik pada pengelolaam persediaan, jaringan, penjadwalan kerja untuk karyawan, pengendalian
produksi, perencanaan penjualan dan bidang lainnya.
Dynamic programming adalah metode pemecahan masalah dengan cara menguraikan solusi menjadi sekumpulan langkah step atau tahapan stage
sedemikian sehingga solusi dari persoalan dapat dipandang dari serangkaian keputusan yang saling berkaitan.
Widya Maulina : Aplikasi Pendekatan Dynamic Programming Pada Traveling Salesman Problem, 2009 USU Repository © 2008
Pada penyelesaian persoalan dengan metode dynamic programming ini terdapat sejumlah berhingga pilihan yang mungkin, solusi pada setiap tahap dibangun
dari hasil solusi tahap sebelumnya, kita menggunakan persyaratan optimasi kendala untuk membatasi sejumlah pilihan yang harus dipertimbangkan pada suatu tahap.
Pada dynamic programming, rangkaian keputusan yang optimal dibuat dengan menggunakan Prinsip Optimalitas. Prinsip Optimalitas: jika solusi optimal, maka
bagian solusi pada tahap ke-k juga optimal. Prinsip optimalitas berarti bahwa jika kita bekerja dari tahap k ke tahap k+1, kita dapat menggunakan hasil optimal dari tahap k
tanpa harus kembali ke tahap awal. Ongkos pada tahap k+1 = ongkos yang dihasilkam pada tahap k + ongkos dari tahap k ke tahap k+1. Dengan prinsip
optimalitas ini dijamin bahwa pengambilan keputusan yang benar untuk tahap-tahap selanjutnya.
2.6.1 Model Dynamic Programming