TSP Kendala Waktu
TSP Kendala Waktu
ACHMAD KAMILLUDDIN
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014
PERNYATAAN MENGENAI SKRIPSI DAN
SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA
Achmad Kamilluddin
NIM G54100004
ABSTRAK
ACHMAD KAMILLUDDIN. Traveling Salesman Problem dengan Kendala Time
Windows. Dibimbing oleh PRAPTO TRI SUPRIYO dan ELIS KHATIZAH.
ABSTRACT
ACHMAD KAMILLUDDIN. Traveling Salesman Problem with Time Windows.
Supervised by PRAPTO TRI SUPRIYO and ELIS KHATIZAH.
ACHMAD KAMILLUDDIN
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Sains
pada
Departemen Matematika
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2014
Judul Skripsi : Traveling Salesman Problem dengan Kendala Time Windows
Nama : Achmad Kamilluddin
NIM : G54100004
Disetujui oleh
Diketahui oleh
Tanggal Lulus:
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala nikmat,
rahmat, karunia, dan pertolongan-Nya sehingga karya ilmiah ini berhasil
diselesaikan. Judul karya ilmiah ini ialah Traveling Salesman Problem dengan
Kendala Time Windows. Penyusunan karya ilmiah ini tidak lepas dari bantuan
beberapa pihak. Oleh karena itu, penulis mengucapkan terima kasih kepada:
1 Ibu dan Bapak tercinta yang selalu memberikan yang terbaik, doa serta
dukungan penuh ketulusan, Siti Nurajijah, Khairullah, Iin Sonjaya, dan Asri
Desy Yanti selaku kakak, Fikriatunnisa selaku adik, Faiz, Fikri, dan Haziqa
selaku keponakan yang memotivasi penulis untuk menyelesaikan karya
ilmiah ini,
2 Drs Prapto Tri Supriyo, MKom selaku dosen pembimbing I yang senantiasa
meluangkan waktunya memberikan bimbingan, arahan, dan motivasi kepada
penulis,
3 Elis Khatizah, SSi, MSi selaku dosen pembimbing II yang senantiasa
meluangkan waktunya memberikan bimbingan, arahan, dan motivasi kepada
penulis,
4 Dra Farida Hanum, MSi selaku dosen penguji yang telah memberikan ilmu,
saran, serta dukungan,
5 seluruh dosen Departemen Matematika IPB yang telah membimbing dan
memberikan ilmunya selama ini,
6 para staf Departemen Matematika IPB,
7 Syafi’ih, Irfan C, Adi, Dadan, Delis, Lilis, Rizky, Tri, Ika S, Imad, Hanif,
Leny, Ando, Ayun, Vina, Kiki, Fikri, Rendi, Eric, Risma, Nurul, Anis, Putri,
Zia, Fajar, dan seluruh sahabat Matematika 47,
8 kakak-kakak Matematika 46 dan 45,
9 Edo, Taufik, Wahyu, Hasan, Hariz, Asnan, Basit, dan semua sahabat FMIPA
yang selalu memberi dukungan,
10 adik-adik Matematika 48 dan 49.
Penulis menyadari bahwa dalam karya ilmiah ini masih terdapat banyak
kekurangan dan masih jauh dari kesempurnaan. Oleh karena itu, penulis
mengharapkan kritik dan saran yang membangun agar karya ilmiah ini dapat terus
menambah wawasan pembaca sekalian. Semoga karya ilmiah ini bermanfaat bagi
dunia ilmu pengetahuan, khususnya bidang Matematika.
Achmad Kamilluddin
DAFTAR ISI
DAFTAR TABEL x
DAFTAR GAMBAR x
PENDAHULUAN 1
Latar Belakang 1
Tujuan Penelitian 1
TINJAUAN PUSTAKA 1
PEMBAHASAN 2
Deskripsi Masalah 2
Formulasi Masalah 2
IMPLEMENTASI MODEL 5
SIMPULAN DAN SARAN 8
Simpulan 8
Saran 8
DAFTAR PUSTAKA 9
LAMPIRAN 10
RIWAYAT HIDUP 20
DAFTAR TABEL
1 Jarak antartempat 5
2 Lama pelayanan dan time windows di setiap tempat 6
3 Jadwal perjalanan dan pelayanan 8
DAFTAR GAMBAR
1 Perjalanan salesman yang berupa subtour 4
2 Perjalanan salesman yang berupa tour 4
3 Rute perjalanan salesman 7
1
PENDAHULUAN
Latar Belakang
Tujuan Penelitian
TINJAUAN PUSTAKA
aTSP jarak tempat i ke tempat j tidak sama dengan jarak tempat j ke tempat i
(Davendra 2010).
Masalah mTSP sering dikenal dengan istilah Vehicle Routing Problem
(VRP). Pada TSP, terdapat sejumlah tempat dan seorang salesman yang harus
menemukan jalur terpendek untuk mengunjungi setiap tempat tepat satu kali dan
selesai di tempat asal, sedangkan pada mTSP, terdapat beberapa salesman yang
akan mengunjungi sejumlah tempat tepat satu kali. Secara umum tempat-tempat
pada TSP merupakan pelanggan-pelanggan yang memiliki permintaan terhadap
barang dan jasa. Salesman pada mTSP dapat berupa kendaraan yang memiliki
kapasitas tertentu sehingga total permintaan dari semua pelanggan tidak boleh
melebihi kapasitas kendaraan dan setiap pelanggan hanya dikunjungi satu kali
(Benavent dan Antonio 2009).
TSP dengan time windows merupakan perkembangan dari TSP. Model TSP
dengan time windows adalah masalah untuk mencari biaya perjalanan minimal
dari sekumpulan tempat. Perjalanan tersebut harus berawal dan berakhir di suatu
depot tertentu dan tiap tempat harus dikunjungi pada batas time windows mereka
masing-masing. Biaya TSP dengan kendala time windows biasanya berhubungan
dengan total jarak perjalanan atau total waktu yang terdiri atas waktu perjalanan,
waktu tunggu, serta waktu pelayanan. Time windows [ menunjukkan batas
waktu pelayanan tempat i, dengan batas awal dan batas akhir Kedatangan
sebelum diperbolehkan tetapi mengakibatkan adanya waktu tunggu sampai
batas time windows, tetapi tidak diperbolehkan kedatangan sesudah (Pesant et
al. 1998).
Perjalanan dalam TSP harus membentuk sebuah tour dan tidak
diperbolehkan membentuk subtour. Tour adalah suatu perjalanan ke setiap simpul
(kota) bermula dari simpul awal (kota asal) dan berakhir di simpul awal (Foulds
1992), sedangkan subtour adalah suatu perjalanan yang hanya mengunjungi
beberapa tempat.
PEMBAHASAN
Deskripsi Masalah
Formulasi Masalah
Indeks
i, j= 1, 2,….., n merupakan indeks untuk tempat.
Parameter
= jarak dari tempat i ke tempat j
= waktu mulai pelayanan salesman di tempat i
= lamanya perjalanan dari tempat i ke tempat j
= lamanya pelayanan di tempat i
= kecepatan kendaraan yang digunakan salesman dari tempat i ke tempat j
= time windows yang menunjukkan batas awal pelayanan di tempat i
= time windows yang menunjukkan batas akhir pelayanan di tempat i
= konstanta positif yang nilainya relatif besar
Variabel Keputusan
i a a an r a anan ari a a
{
ainnya
Fungsi Objektif
min z = ∑ ∑ ,
Kendala
3 Tidak adanya subtour yang takfisibel dan terbentuknya tour yang fisibel.
(untuk i≠j ; i=2,3,…n; j=2,3,…,n) untuk semua
= 0 atau 1, untuk semua ≥ 0.
(Winston 2004)
Sebagai ilustrasi dari kendala 3, misalkan diberikan kota 1, 2, 3, 4, dan 5 yang akan
dikunjungi oleh salesman seperti graf di bawah ini :
1 3
2 5 4
5 3
2 4
IMPLEMENTASI MODEL
Tempat 1 2 3 4 5 6 7 8 9 10
1 0 5 2 6 3 7 8 10 1 2
2 5 0 1 3 4 2 3 1 5 6
3 2 1 0 7 3 2 1 4 8 9
4 6 3 7 0 1 2 4 7 8 7
5 3 4 3 1 0 3 1 2 5 4
6 7 2 2 2 3 0 8 9 10 1
7 8 3 1 4 1 8 0 3 2 1
8 10 1 4 7 2 9 3 0 10 9
9 1 5 8 8 5 10 2 10 0 7
10 2 6 9 7 4 1 1 9 7 0
6
Lama pelayanan
Tempat Time windows
(dalam jam)
1 1 05.00-24.00
2 1 06.00-12.00
3 2 06.00-20.00
4 1 12.00-20.00
5 1 10.00-15.00
6 2 15.00-21.00
7 2 10.00-21.00
8 1 06.00-21.00
9 2 12.00-18.00
10 1 08.00-21.00
Indeks
i,j = 1, 2,3,4,5,6,7,8,9,10 merupakan indeks untuk tempat.
Parameter
= jarak dari tempat i ke tempat j
= waktu mulai pelayanan salesman di tempat i
= lamanya perjalanan dari tempat i ke tempat j
= lamanya pelayanan di tempat i
= 40 km/jam
= time windows yang menunjukkan batas awal pelayanan di tempat i
= time windows yang menunjukkan batas akhir pelayanan di tempat i
= konstanta positif yang nilainya relatif besar = 100000
Variabel Keputusan
i a a an r a anan ari a a
{
ainnya
7
Kendala
3 Tidak adanya subtour yang takfisibel dan terbentuknya tour yang fisibel.
(untuk i≠j ; i=2,3,…10; j=2,3,…,10) n a
= 0 atau 1, untuk semua ≥ 0.
1
10 3
6 2
4 8
9 5
7
Lamanya
perjalanan
Lamanya Waktu
Waktu ke tempat
Time pelayanan mulai
berakhir berikutnya
windows ( pelayanan
pelayanan ( )
Tempat [ (dalam (
(dalam
jam)
menit)
Dari Tabel 4 terlihat bahwa rute perjalanan berawal dari tempat 1 atau
depot, dengan waktu mulai pelayanan di tempat 1 pukul 06.00, lamanya
pelayanan 1 jam, waktu berakhirnya pelayanan pukul 7.00, perjalanan dari tempat
1 ke tempat 3 selama 3 menit, dan time windows di tempat 1 terpenuhi.
Selanjutnya perjalanan dilanjutkan ke tempat 3, dengan waktu mulai pelayanan
pukul 7.03, lamanya pelayanan 2 jam, waktu berakhirnya pelayanan pukul 9.03,
perjalanan dari tempat 3 ke tempat 2 selama 1 menit 30 detik, dan time windows
di tempat 3 terpenuhi. Demikian selanjutnya untuk rute perjalanan berikutnya.
Simpulan
Saran
Pada karya ilmiah ini, data yang digunakan merupakan data hipotetik.
Penelitian ini dapat dikembangkan dengan memperhitungkan maksimum jumlah
9
tempat yang dapat dikunjungi oleh salesman dalam waktu satu hari dengan
mempertimbangkan jarak, kecepatan, dan time windows.
DAFTAR PUSTAKA
Foulds LR. 1992. Graph Theory Applications. New York (US): Springer-Verlag.
Pesant G, Gendreau M, Potvin J-Y, dan Rousseau J-M. 1998. An exact constraint
logic programming algorithm for the travelling salesman problem with time
windows. Transportation Science. 32(1):12-29.
Lampiran 1
Sintaks dan hasil komputasi program LINGO 11.0 dalam menyelesaikan
Traveling Salesman Problem dengan kendala time windows
MODEL:
SETS:
CITY/1..10/:U,S,A,B,L;
LINK(CITY,CITY):DIST,X,V,T;
!
S= WAKTU MULAI PELAYANAN
A= BATAS AWAL TIME WINDOWS
B= BATAS AKHIR TIME WINDOWS
L= LAMANYA PELAYANAN ;
ENDSETS
DATA:
!JARAK;
DIST= 0 5 2 6 3 7 8 10 1 2
5 0 1 3 4 2 3 1 5 6
2 1 0 7 3 2 1 4 8 9
6 3 7 0 1 2 4 7 8 7
3 4 3 1 0 3 1 2 5 4
7 2 2 2 3 0 8 9 10 1
8 3 1 4 1 8 0 3 2 1
10 1 4 7 2 9 3 0 10 9
1 5 8 8 5 10 2 10 0 7
2 6 9 7 4 1 1 9 7 0;
!BATAS AWAL TIME WINDOWS;
A= 5 6 6 12 10 15 10 6 12 8;
! BATAS AKHIR TIME WINDOWS;
B=24 12 20 20 15 21 21 21 18 21;
!LAMANYA PELAYANAN;
L= 1 1 2 1 1 2 2 1 2 1;
V=40;
ENDDATA
M=100000;
S(1)=6;
! JUMLAH KOTA;
N=@SIZE(CITY);
!FUNGSI OBJEKTIF, MEMINIMUMKAN TOTAL JARAK YANG DILAKUKAN
SALESMAN;
MIN=@SUM(LINK:DIST*X);
!MEMASTIKAN BAHWA SALESMAN TIBA SATU KALI DI SETIAP KOTA;
@FOR(CITY(K):@SUM(CITY(I):X(I,K))=1;);
!MEMASTIKAN SALESMAN MENINGGALKAN SETIAP KOTA 1 KALI;
@FOR(CITY(K):@SUM(CITY(J):X(K,J))=1;);
!MEMASTIKAN TIDAK ADANYA SUBTOUR YANG INFISIBEL DAN
TERBENTUKNYA TOUR YANG FISIBEL ;
@FOR(CITY(K):@FOR(CITY(J)|J#NE#1#AND#K#NE#1:U(J)-
U(K)+N*X(J,K)<N-1;));
!MENUNJUKKAN WAKTU MULAI PELAYANAN ;
@FOR(CITY(K):@FOR(CITY(J)|J#GT#1:(S(K)+(DIST(K,J)/40)+L(K)-
M*(1-X(K,J))- S(J))<= 0));
!hubungan lama perjalanan, jarak, dan kecepatan;
@FOR(CITY(K):@FOR(CITY(J) | J#NE#1 : T(K,J)=(DIST (K,J)/V)));
!MENUNJUKKAN BATAS AWAL TIME WINDOWS;
@FOR(CITY(K):S(K)>=A(K));
11
V( 8) 40.00000 0.000000
V( 9) 40.00000 0.000000
V( 10) 40.00000 0.000000
DIST( 1, 1) 0.000000 0.000000
DIST( 1, 2) 5.000000 0.000000
DIST( 1, 3) 2.000000 0.000000
DIST( 1, 4) 6.000000 0.000000
DIST( 1, 5) 3.000000 0.000000
DIST( 1, 6) 7.000000 0.000000
DIST( 1, 7) 8.000000 0.000000
DIST( 1, 8) 10.00000 0.000000
DIST( 1, 9) 1.000000 0.000000
DIST( 1, 10) 2.000000 0.000000
DIST( 2, 1) 5.000000 0.000000
DIST( 2, 2) 0.000000 0.000000
DIST( 2, 3) 1.000000 0.000000
DIST( 2, 4) 3.000000 0.000000
DIST( 2, 5) 4.000000 0.000000
DIST( 2, 6) 2.000000 0.000000
DIST( 2, 7) 3.000000 0.000000
DIST( 2, 8) 1.000000 0.000000
DIST( 2, 9) 5.000000 0.000000
DIST( 2, 10) 6.000000 0.000000
DIST( 3, 1) 2.000000 0.000000
DIST( 3, 2) 1.000000 0.000000
DIST( 3, 3) 0.000000 0.000000
DIST( 3, 4) 7.000000 0.000000
DIST( 3, 5) 3.000000 0.000000
DIST( 3, 6) 2.000000 0.000000
DIST( 3, 7) 1.000000 0.000000
DIST( 3, 8) 4.000000 0.000000
DIST( 3, 9) 8.000000 0.000000
DIST( 3, 10) 9.000000 0.000000
DIST( 4, 1) 6.000000 0.000000
DIST( 4, 2) 3.000000 0.000000
DIST( 4, 3) 7.000000 0.000000
DIST( 4, 4) 0.000000 0.000000
DIST( 4, 5) 1.000000 0.000000
DIST( 4, 6) 2.000000 0.000000
DIST( 4, 7) 4.000000 0.000000
DIST( 4, 8) 7.000000 0.000000
DIST( 4, 9) 8.000000 0.000000
DIST( 4, 10) 7.000000 0.000000
DIST( 5, 1) 3.000000 0.000000
DIST( 5, 2) 4.000000 0.000000
DIST( 5, 3) 3.000000 0.000000
DIST( 5, 4) 1.000000 0.000000
DIST( 5, 5) 0.000000 0.000000
14
X( 5, 2) 0.000000 4.000000
X( 5, 3) 0.000000 3.000000
X( 5, 4) 0.000000 1.000000
X( 5, 5) 0.000000 0.000000
X( 5, 6) 0.000000 3.000000
X( 5, 7) 1.000000 1.000000
X( 5, 8) 0.000000 2.000000
X( 5, 9) 0.000000 5.000000
X( 5, 10) 0.000000 4.000000
X( 6, 1) 0.000000 7.000000
X( 6, 2) 0.000000 2.000000
X( 6, 3) 0.000000 2.000000
X( 6, 4) 0.000000 2.000000
X( 6, 5) 0.000000 3.000000
X( 6, 6) 0.000000 0.000000
X( 6, 7) 0.000000 8.000000
X( 6, 8) 0.000000 9.000000
X( 6, 9) 0.000000 10.00000
X( 6, 10) 1.000000 1.000000
X( 7, 1) 0.000000 8.000000
X( 7, 2) 0.000000 3.000000
X( 7, 3) 0.000000 1.000000
X( 7, 4) 0.000000 4.000000
X( 7, 5) 0.000000 1.000000
X( 7, 6) 0.000000 8.000000
X( 7, 7) 0.000000 0.000000
X( 7, 8) 0.000000 3.000000
X( 7, 9) 1.000000 2.000000
X( 7, 10) 0.000000 1.000000
X( 8, 1) 0.000000 10.00000
X( 8, 2) 0.000000 1.000000
X( 8, 3) 0.000000 4.000000
X( 8, 4) 0.000000 7.000000
X( 8, 5) 1.000000 2.000000
X( 8, 6) 0.000000 9.000000
X( 8, 7) 0.000000 3.000000
X( 8, 8) 0.000000 0.000000
X( 8, 9) 0.000000 10.00000
X( 8, 10) 0.000000 9.000000
X( 9, 1) 0.000000 1.000000
X( 9, 2) 0.000000 5.000000
X( 9, 3) 0.000000 8.000000
X( 9, 4) 1.000000 8.000000
X( 9, 5) 0.000000 5.000000
X( 9, 6) 0.000000 10.00000
X( 9, 7) 0.000000 2.000000
X( 9, 8) 0.000000 10.00000
X( 9, 9) 0.000000 0.000000
17
T( 4, 8) 0.1750000 0.000000
T( 4, 9) 0.2000000 0.000000
T( 4, 10) 0.1750000 0.000000
T( 5, 1) 0.000000 0.000000
T( 5, 2) 0.1000000 0.000000
T( 5, 3) 0.7500000E-01 0.000000
T( 5, 4) 0.2500000E-01 0.000000
T( 5, 5) 0.000000 0.000000
T( 5, 6) 0.7500000E-01 0.000000
T( 5, 7) 0.2500000E-01 0.000000
T( 5, 8) 0.5000000E-01 0.000000
T( 5, 9) 0.1250000 0.000000
T( 5, 10) 0.1000000 0.000000
T( 6, 1) 0.000000 0.000000
T( 6, 2) 0.5000000E-01 0.000000
T( 6, 3) 0.5000000E-01 0.000000
T( 6, 4) 0.5000000E-01 0.000000
T( 6, 5) 0.7500000E-01 0.000000
T( 6, 6) 0.000000 0.000000
T( 6, 7) 0.2000000 0.000000
T( 6, 8) 0.2250000 0.000000
T( 6, 9) 0.2500000 0.000000
T( 6, 10) 0.2500000E-01 0.000000
T( 7, 1) 0.000000 0.000000
T( 7, 2) 0.7500000E-01 0.000000
T( 7, 3) 0.2500000E-01 0.000000
T( 7, 4) 0.1000000 0.000000
T( 7, 5) 0.2500000E-01 0.000000
T( 7, 6) 0.2000000 0.000000
T( 7, 7) 0.000000 0.000000
T( 7, 8) 0.7500000E-01 0.000000
T( 7, 9) 0.5000000E-01 0.000000
T( 7, 10) 0.2500000E-01 0.000000
T( 8, 1) 0.000000 0.000000
T( 8, 2) 0.2500000E-01 0.000000
T( 8, 3) 0.1000000 0.000000
T( 8, 4) 0.1750000 0.000000
T( 8, 5) 0.5000000E-01 0.000000
T( 8, 6) 0.2250000 0.000000
T( 8, 7) 0.7500000E-01 0.000000
T( 8, 8) 0.000000 0.000000
T( 8, 9) 0.2500000 0.000000
T( 8, 10) 0.2250000 0.000000
T( 9, 1) 0.000000 0.000000
T( 9, 2) 0.1250000 0.000000
T( 9, 3) 0.2000000 0.000000
T( 9, 4) 0.2000000 0.000000
T( 9, 5) 0.1250000 0.000000
19
T( 9, 6) 0.2500000 0.000000
T( 9, 7) 0.5000000E-01 0.000000
T( 9, 8) 0.2500000 0.000000
T( 9, 9) 0.000000 0.000000
T( 9, 10) 0.1750000 0.000000
T( 10, 1) 0.000000 0.000000
T( 10, 2) 0.1500000 0.000000
T( 10, 3) 0.2250000 0.000000
T( 10, 4) 0.1750000 0.000000
T( 10, 5) 0.1000000 0.000000
T( 10, 6) 0.2500000E-01 0.000000
T( 10, 7) 0.2500000E-01 0.000000
T( 10, 8) 0.2250000 0.000000
T( 10, 9) 0.1750000 0.000000
T( 10, 10) 0.000000 0.000000
20
RIWAYAT HIDUP