7
OPTIMALISASI TRAVELLING SALESMAN WITH TIME WINDOWS (TSPTW) DENGAN ALGORITMA SEMUT Budi Prasetyo Wibowo, Purwanto, danSusy Kuspambudi Andaini Universitas Negeri Malang ABSTRAK: Travelling Salesman Problem with Time Windows adalah permasalahan yang bertujuan untuk mencari biaya tour minimum dari sekumpulan kota, dimana tiap kota hanya dikunjungi satu kali saja dalam batas time windows tertentu, dan tiap kota harus dikunjungi pada batas time windows mereka masing-masing. Untuk menyelesaikan masalah ini, algoritma yang digunakan adalah algoritma semut. Ada beberapa tahap algoritma dalam menyelesaikan masalah TSPTW dengan algoritma semut, yaitu aturan transisi status, tahap pembaruan pheromon, dan perhitungan rute akhir dengan time windows. Perhitungan manual menunjukkan bahwa algoritma semut mampu menyelesaikan masalah TSPTW lebih baik daripada algoritma genetika. Kata kunci : Graph, TSPTW, Algoritma semut. Permasalahan Travelling Salesman Problem With Time Windowssebagai permasalahan mencari biaya tour minimum dari sekumpulan kota, di mana tiap kota hanya dikunjungi satu kali saja. Agar feasible, maka tour tersebut harus berawal dan berakhir disuatu depot tertentu, dalam batas time windows tertentu, dan tiap kota harus dikunjungi pada batas time windowsmereka masing-masing (Desrosiers dkk, 1995:40. Penentuan ini sangat penting bagi salesman, mengingat dengan semakin kerasnya persaingan dalam bidang pelayanan jasa antar barang, salesman dituntut untuk dapat memberikan pelayanan yang baik kepada pelanggan dan ketepatan waktu menjadi penentu utama, sehingga produk yang diantarkan bisa diterima oleh pelanggan dengan cepat dan tepat waktu. Sudah ada beberapa algoritma yang digunakan untuk menyelesaikan permasalahan ini. Pada skripsi ini membahas penyelesaian permasalahan TSPTW dengan menggunakan algoritma semut.algoritma semut merupakan metode penyelesaian permasalahan optimasi yang terinspirasi tingkah kalu koloni semut. Menurut Dorigo dan Gambardella (1997) algoritma semut mampu mendapatkan hasil otur terlabik dibandingkan algoritma genetika, algoritma simulated annealing, dan annealing – genetic algorithm. Pada algoritma semut, semut akan ditempatkan di beberapa titik graph yang kemudian akan bergerak mengunjungi seluruh titik. Setiap semut akan membuat jalur masing-masing sampai kembali ketempat semula dimana mereka ditempatkan pertama kali. Solusi akhir adalah jalur terpendek dari seluruh jalur yang dihasilkan oleh pencarian semut tersebut. Rumusan masalah yang diajukan adalah (1) Bagaimana TSPTW dapat diselesaikan dengan bantuan algoritma semut? (2) Bagaimana implementasi algoritma semut dalam bahasa Delphi dapat menyelesaikan TSPTW? (3) Bagaimana perbandingan pencarian hasil algoritma semut dengan algoritma genetika?

Rute Semut

Embed Size (px)

DESCRIPTION

qw

Citation preview

Page 1: Rute Semut

OPTIMALISASI TRAVELLING SALESMAN WITH TIME WINDOWS

(TSPTW) DENGAN ALGORITMA SEMUT

Budi Prasetyo Wibowo, Purwanto, danSusy Kuspambudi Andaini

Universitas Negeri Malang

ABSTRAK: Travelling Salesman Problem with Time Windows adalah

permasalahan yang bertujuan untuk mencari biaya tour minimum dari

sekumpulan kota, dimana tiap kota hanya dikunjungi satu kali saja dalam

batas time windows tertentu, dan tiap kota harus dikunjungi pada batas

time windows mereka masing-masing. Untuk menyelesaikan masalah ini,

algoritma yang digunakan adalah algoritma semut. Ada beberapa tahap

algoritma dalam menyelesaikan masalah TSPTW dengan algoritma semut, yaitu aturan transisi status, tahap pembaruan pheromon, dan

perhitungan rute akhir dengan time windows. Perhitungan manual

menunjukkan bahwa algoritma semut mampu menyelesaikan masalah TSPTW lebih baik daripada algoritma genetika.

Kata kunci : Graph, TSPTW, Algoritma semut.

Permasalahan Travelling Salesman Problem With Time Windowssebagai

permasalahan mencari biaya tour minimum dari sekumpulan kota, di mana tiap

kota hanya dikunjungi satu kali saja. Agar feasible, maka tour tersebut harus

berawal dan berakhir disuatu depot tertentu, dalam batas time windows tertentu,

dan tiap kota harus dikunjungi pada batas time windowsmereka masing-masing

(Desrosiers dkk, 1995:40. Penentuan ini sangat penting bagi salesman, mengingat

dengan semakin kerasnya persaingan dalam bidang pelayanan jasa antar barang,

salesman dituntut untuk dapat memberikan pelayanan yang baik kepada

pelanggan dan ketepatan waktu menjadi penentu utama, sehingga produk yang

diantarkan bisa diterima oleh pelanggan dengan cepat dan tepat waktu.

Sudah ada beberapa algoritma yang digunakan untuk menyelesaikan

permasalahan ini. Pada skripsi ini membahas penyelesaian permasalahan TSPTW

dengan menggunakan algoritma semut.algoritma semut merupakan metode

penyelesaian permasalahan optimasi yang terinspirasi tingkah kalu koloni semut.

Menurut Dorigo dan Gambardella (1997) algoritma semut mampu mendapatkan

hasil otur terlabik dibandingkan algoritma genetika, algoritma simulated

annealing, dan annealing – genetic algorithm.

Pada algoritma semut, semut akan ditempatkan di beberapa titik graph

yang kemudian akan bergerak mengunjungi seluruh titik. Setiap semut akan

membuat jalur masing-masing sampai kembali ketempat semula dimana mereka

ditempatkan pertama kali. Solusi akhir adalah jalur terpendek dari seluruh jalur

yang dihasilkan oleh pencarian semut tersebut.

Rumusan masalah yang diajukan adalah (1) Bagaimana TSPTW dapat

diselesaikan dengan bantuan algoritma semut? (2) Bagaimana implementasi

algoritma semut dalam bahasa Delphi dapat menyelesaikan TSPTW? (3)

Bagaimana perbandingan pencarian hasil algoritma semut dengan algoritma

genetika?

Page 2: Rute Semut

PEMBAHASAN

Algoritma semutuntuk Travelling Salesman Problem With Time Windows

(TSPTW)

Penyelesaian permasalahan TSPTW dengan menggunakan Algoritma semut

melalui beberapa tahapan. Tahapan – tahapan itu didasarkan pada perilaku semut

dalam mencari sumber makanan. Semut akan meninggalkan jejak berupa

pheromon, sehingga semut lain tidak akan bepergian secara acak lagi.Tahapan-

tahapan yang dimaksud dapat dilihat melalui flowchart dari Algoritma semut

untuk TSPTW seperti pada gambar berikut.

Flowchart Algoritma semutuntuk TSPTW

Page 3: Rute Semut

1. AturanTransisi Status

Dengan menempatkan seekor semut pada titik t untuk menuju ke titik v,

kemudian diberikan bilangan acak q dimana 0 � � � 1, q0 adalah suatu parameter

yaitu probabilitas semut untuk melakukan eksplorasi pada setiap tahapan, dimana

(0 � �� � 1) dan pk (t,v) adalah probabilitas dimana semut k memilih untuk

bergerak ke titik v.

Jika � �qo maka pemilihan titik yang akan dituju menerapkan aturan yang

diunjukkan oleh persamaan temporary di bawah ini

Temporary (t,u) = ����, ��. ����, ��� , i = 1,2,3,…,n

v = max �����, ��. ����, ���� Dengan v = titik yang akan dituju

Sedangkan jika q > qo digunakan persamaan probabilitas

� � ����, �� �����, ��. ����, ���

∑ ����, ��. ����, ������

Dengan ���, � ��

�������, !�

dimana ��, � adalah nilai dari jejak pheromone pada titik (t,u), ���, � adalah

fungsi heuristic dimana dipilih sebagai invers jarak antara titik t dan u. "

merupakan suatu parameter yang mempertimbangkan kepentingan relatif dari

informasi heuristic, yaitu besarnya bobot yang diberikan terhadap parameter

informasi heuristic, sehingga solusi yang dihasilkan cenderung berdasarkan nilai

fungsi matematis. Nilai dari parameter " adalah # 0..

2. Pembaruan Pheromon Ketika melakukan tour untuk mencari solusi, semut mengunjungi titik-titikdan

mengubah tingkat pheromon pada titik-titik tersebut dengan menerapkan aturan

pembaruan pheromon yang ditunjukkan oleh persamaan di bawah ini:

���, �� % �1 ' (�. ���, �� ) (. ∆���, ��

∆���, �� �1

+��. ,

Dimana :

Lnn = panjang tour yang diperoleh

c = jumlah lokasi

( = parameter dengan nilai 0 sampai 1

∆� = perubahan pheromon

( adalah suatu parameter (koefisien evaporasi), yaitu besarnya koefisien

penguapan pheromon.

Faktor-faktor yang mempengaruhi pencarian rute dan waktu optimasi

dengan kendala time windows a. Banyaknya Kunjungan

Banyaknya pelanggan yang harus dikunjungi pada satu waktu tertentu

b. Waktu Tunggu

Ketika time windows belum terbuka maka akan mengakibatkan waktu

tunggu.

c. Waktu Pelayanan

Waktu yang dibutuhkan untuk melayani pelanggan

d. Waktu Perjalanan

Page 4: Rute Semut

Lama perjalanan yang dibutuhkan untuk mengunjungi masing-masing

kota.

Berikut ini akan ditunjukkan uji coba program yang dibuat penulis menggunakan

alat bantu Borland Delphi 7. Program ini berdasarkan urutan langkah algoritma

semut.

Uji coba program

Graph contoh uji coba program

Terdapat 5 kota yang harus dikunjungi permasalahan algoritma semut

untuk mencari rute terpendek dengan kendala time windows.

Keterangan : a. titik 0 merupakan depot di manastart dan finish.

b. satuan ukuran biaya perjalanan kelipatan 10 menit.

Tabel time windows uji coba

Dari table time windows terdapat waktu kunjungan masing-masing kota. Di mana

setiap kota harus hanya dikunjungi pada waktu yang sudah ditentukan.

Tabel Matrik Cost uji coba

Kota 0 1 2 3 4 5

0 0 9 4 3 2 8

1 9 0 7 7 4 4

2 4 7 0 5 8 1

3 3 7 5 0 6 4

4 2 4 8 6 0 5

Kota Time windows Lama Layanan

0 08.00 – 18.00 0

1 09.00 – 17.00 10

2 09.30 – 18.00 10

3 09.00 – 17.30 10

4 09.00 – 16.00 10

5 08.30 – 16.30 10

1

2

0 3

5

4

Page 5: Rute Semut

5 8 4 1 4 5 0

Hasil penyelesaian kasus TSPTW diatas dengan menggunakan program yang

sesuai dengan tahapan algoritma semut sebagai berikut :

Graph Hasil uji coba program

Dengan jumlah semut 6, dari hasil uji coba program di atas didapat hasil sebagai

berikut:

Rute semut 1 : 0 4 1 5 2 3 0

Rute semut 2 : 1 4 5 2 3 0 1

Rute Semut 3 :2 5 1 4 0 3 2

Rute semut 4 :3 5 2 1 4 0 3

Rute semut 5 : 4 0 3 5 2 1 4

Rute semut 6 : 5 2 3 4 0 1 5

Sehingga diperoleh pheromon baru :

0.0000 0.0035 0.0364 0.0163 0.0644 0.0202

0.0096 0.0000 0.0197 0.0015 0.0067 0.0067

0.0213 0.0015 0.0000 0.0010 0.0163 0.1087

0.0430 0.0170 0.0188 0.0000 0.0192 0.0250

0.0792 0.0270 0.0206 0.0074 0.0000 0.0104

Sehingga diperoleh rute akhir : 0 4 2 5 3 1 0

Dengan total cost adalah 290 menit.

KESIMPULAN DAN SARAN

Kesimpulan

1. Algoritma semutmampu menyelesaikan permasalahan TSPTW

menggunakan tahapan perhitungan yang ada.

2. Pembuatan program Delphi sebagai alat bantu perhitungan algoritma

semut bertujuan untuk membantu sales dalam menentukan rute perjalanan

yang lebih cepat. Urutan skema pengkodean dalam program ini yaitu

Page 6: Rute Semut

menentukan nilai pheromon awal, invers cost, pemilihan titik yang dituju,

pembaruan pheromon, dan menghitung total cost rute. Pengujian yang

telah dilakukan menunjukkan bahwa program ini dapat menyelesaikan

masalah TSPTW dengan cepat.

3. Berdasarkan analisa hasil, didapatkan bahwa algoritma semut lebih baik

dalam menyelesaikan masalah TSPTW yang dilakukan dengan

perhitungan manual. Pada contoh 1 dengan jumlah 6 titik, algoritma

genetika mendapatkan total cost 360 menit, sedangkan algoritma semut

mendapatkan total cost 300 menit. Begitu juga pada contoh 2, algoritma

genetika mendapatkan total cost 410 menit, sedangkan algoritma semut

350 menit

Saran

1. Tidak adanya variabel-variabel yang mempengaruhi pengiriman seperti

variabel kemacetan, penentuan hari kerja, dan waktu istirahat sales

Semakin banyak variabel, maka semakin baik solusinya.

2. Untuk program, masih banyak kekurangan misalnya dari segi tampilan

yang sederhana.

DAFTAR RUJUKAN

Andriani, Y. A.2005. Penggunaan Metode Nearest Neighbour dan Metode

Cheapest Link dalam Penyelesaian Travelling Salesman Problem.

Skripsi tidak diterbitkan. Malang: FMIPA Universitas Negeri Malang.

Blum, C. & Lopez-Ibanez, M. Beam-ACO Based on Stochastic Sampling: A Case

Study on the TSP with Time Windows. ALBCOM, Dept. Llenguatges

I Sistemes Informatics.

Dorigo, M. 1997. A Cooperative Learning approach to the Travelling Salesman

Problem. IEEE Transaction on Evolutionary Computation, 1 (1), 1-24

Dorigo, M. &Maniezzo, V. 1996. Ant system: optimization by a colony of

cooperating agents. IEEE Transactions on Systems, Man, and

Cybernetics--Part B , volume 26, numéro 1, pages 29-41, 1996.

Favaretto, D. Moretti, E. & Pallegrini, P. 2006. An Ant System Approach for

Variants of the Travelling Salesman Problem With Time

Windows.Journal of Information & Optimization Science, 27 (1), 35-

54.

Habibi, B. 2006. Penyelesaian Travelling Salesman dengan Menggunakan

Simulated Annealing. Skripsi tidak diterbitkan. Malang: FMIPA

Universitas Negeri Malang.

Herdhiyanto, F. 2005. Penyelesaian Travelling Salesman Problem Menggunakan

Algoritma Koloni Semut. Skripsi tidak diterbitkan. Malang: FMIPA

Universitas Negeri Malang.

Page 7: Rute Semut

Maharani, F. 2010. Penerapan Metode Pindah Silang Order Crossover (OX) dan

Partial Mapped Crossover (PMX) dalam Algoritma Genetika pada

Permasalahan Travelling Salesman Problem. Skripsi tidak

diterbitkan. Malang: FMIPA Universitas Negeri Malang.

Turangga, S. 2012. Penyelesaian Travelling Salesman With Time Windows

(TSPTW) dengan Algoritma Genetika. Skripsi tidak diterbitkan.

Malang: FMIPA Universitas Negeri Malang.

Wilson, R. J. & Watkins, J. J. (diterjemahkan Oleh Dra. Theresia MH Tirta

Seputro, M.Pd). Graph An Introductory Approach. Canada: Wiley &

Sons.