PENYELESAIAN ASYMMETRIC TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA HUNGARIAN DAN ALGORITMA CHEAPEST INSERTION HEURISTIC Caturiyati Staf Pengaar Jurusan Pendidikan Matematika FMIPA UNY E-mail: wcaturiyati@yahoo.com ABSTRAK: Masalah Asymmetric Travelling Salesman Problem (ATSP) merupakan masalah mengoptimumkan rute peralanan seorang pedagang yang membentuk sebuah sirkuit, dimana semua kota hanya disinggahi sekali saa, dan alur pulang dan alur pergi diantara dua kota belum tentu sama. Masalah ATSP dapat diselesaikan dengan menggunakan algoritma Hungarian, dimana masalah ATSP dipandang sebagai masalah Penugasan (Assignment Problem) dengan n pekera diisi oleh satu orang pekera saa, dan n pekeraan diasumsikan sebagai n kota tuuan. ATSP uga dapat diselesaikan dengan Algoritma Cheapest Insertion Heuristic (CIH) dengan penelusuran siklus peralanan dimulai dengan menghubungkan kota pertama dan kota terakhir, yang selanutnya kota-kota persinggahan di insersi (disisipkan) dengan mencari rute terpendeknya. Kata kunci: ATSP, masalah penugasan, Hungarian, CIH.. Pendahuluan Travelling Salesman Problem (TSP) merupakan aplikasi Teori Graf dan menadi bagian dari Riset Operasi. TSP dianggap sebagai kasus khusus dari masalah transportasi, dengan supply (persediaan), b i, dan demand (permintaan), a, nya adalah satu untuk setiap i dan setiap. TSP uga dapat dianggap sebagai kasus khusus dari masalah penugasan dengan n pekera hanya akan diisi oleh satu pekera saa dan n pekeraan diasumsikan sebagai n kota tuuan, dan hasil optimum masalah penugasannya harus membentuk sirkuit, dalam arti pekera ini harus mengunungi n- kota dan kembali lagi ke kota asal. TSP terdiri dari Symmetric TSP (STSP) dan Asymmetric TSP (ATSP). STSP adalah TSP dimana alur pergi dan alur pulang antara dua kota selalu sama. Sedangkan ATSP adalah TSP dimana alur pergi dan alur pulang tidak selalu sama. Yang selalu menadi kendala pada STSP maupun ATSP adalah bagaimana mencapai solusi optimum yang langsung menghasilkan sirkuit? Di dalam perkembangannya telah banyak algoritma dikembangkan untuk membantu menyelesaikan STSP maupun ATSP, terutama algoritma yang dikembangkan menadi software komputer. Dorigo and Gambardella (997) membahas Ant Colony System sebagai salah satu algoritma yang dapat digunakan untuk menyelesaikan TSP. Freisleben and Merz (996), membahas TSP dengan Algoritma Genetik. Sierksma (994) membahas TSP dengan sirkuit Hamilton. Kusrini dan Istiyanto (07) membahas algoritma Cheapest Insertion Heuristic untuk STSP. Dalam makalah ini akan dibahas penyelesaian ATSP dengan Algoritma Hungarian dan Algoritma Cheapest Isertion, yang dapat membantu penyampaian materi perkuliahan riset operasi, namun uga dapat dikembangkan menadi software komputer.
. ATSP Sebagai Masalah Penugasan Masalah penugasan merupakan bentuk khusus masalah transportasi. Seperti masalah transportasi, masalah penugasan adalah suatu masalah optimasi meminimumkan, walaupun tidak menutup kemungkinan adanya masalah optimasi memaksimumkan. Kekhususan masalah penugasan adalah antara origin (sumber) dengan destinasi (tuuan) hanya akan dipenuhi oleh satu variabel basis saa yang nilainya satu, karena supply dan demand pada masalah penugasan bernilai untuk setiap origin dan untuk setiap destinasi. Tabel berikut merupakan tabel transportasi untuk masalah penugasan: D D D n b i O c c c n O c c c n O n c n c n c nn a Keterangan tabel: O i : pelamar kera ke-i, D : lowongan kera ke-, c i : gai O i bila diterima di D. Model masalah penugasan pola minimum setimbang: Mencari 0 n x i b i n n x i yang meminimalkan f = i, i dan n i x i a,, dan x i bernilai 0 atau. c x i i, dengan kendala: Sedangkan pada ATSP diasumsikan: ) terdapat seumlah n lokasi, ) tersedia alur dari satu lokasi ke n lokasi lainnya, 3) tersedia ongkos c i dari lokasi ke-i ke lokasi ke- pada alur i, 4) c i tidak selalu sama dengan c i, 5) seseorang harus berangkat dari suatu lokasi dan mengunungi n lokasi lainya (masingmasing sekali) dan akhirnya kembali ke lokasi semula (sirkuit), 6) tuuan ATSP adalah menentukan sirkuit peralanan yang meminimalkan ongkos total. ATSP dapat dipandang sebagai masalah penugasan sebagai berikut: ) Lokasi yang dikunungi diberi label,, 3,, n, ) Pada ATSP n pekera diisi orang, sedangkan n pekeraan merupakan n lokasi tuuan. Sehingga tabel ATSP nya n b i c c c n c c c n n c n c n c nn a
3. Penyelesaian ATSP dengan Algoritma Hungarian. Diusahakan supaya dalam setiap baris dan kolom ada cost nolnya; dengan cara mengurangi setiap baris (kolom) dengan min{c i } dalam setiap baris (kolom).. Diui apakah ada n kotak dengan cost nol yang mewakili tiap-tiap baris dan kolom? Jika ada, berarti tabel sudah optimal (karena merupakan kombinasi nol yang paling murah) dan itulah penyelesaian optimal soal asli. Bila belum ada, diadakan lagi pengurangan cost (langkah ). a. Penguian dapat dilakukan dengan penutupan baris dan kolom yang memuat cost nol, sehingga banyaknya baris penutup sama dengan banyaknya baris atau kolom, ika demikian maka masalah sudah optimal. b. Jika belum, maka pada cost yang tidak tertutup garis, lakukan pengurangan dengan cost termurah yang tidak tertutup tadi (r), pada cost yang merupakan titik potong garis penutup baris dan kolom ditambahkan dengan cost termurah tadi. Lakukan ui optimum lagi. Pengurangan baris dengan suatu cost, tidak mengubah solusi optimal sebab untuk p konstan: (i) n n f = c x i i i (ii) f = p = = c x + ( c ) x + c x c x + c x c x + + c x. n n + + c n x n + + c x n n p x = f p. Dengan kata lain, meminimalkan f meminimalkan f. Secara umum, ika baris ke i 0 dikurangi p i, maka: f = i = i ( c i pi ) x 0 i = c x i i i x i 0 0 c x p = f p i. 0 + + ( c i pi ) x 0 0 i + + c x 0 n n Sehingga setiap solusi yang mungkin untuk ATSP uga merupakan solusi masalah penugasan yang bersangkutan. Namun demikian masalah penugasan yang bersangkutan mungkin mempunyai solusi yang tidak membentuk sirkuit, yaitu yang tidak fisibel untuk solusi ATSP. Oleh karenanya ATSP diselesaikan dengan cara sebagai berikut:. Ubahlah ATSP menadi masalah penugasan seperti pada tabel di atas, dengan c ii = bilangan bulat positif yang nilainya besar, sebut M.. Selesaikan masalah penugasan tersebut dengan algoritma Hungarian. 3. Jika solusi masalah penugasan tersebut membentuk sirkuit, maka solusi ini merupakan solusi optimal ATSP.
4. Jika solusi masalah penugasan tersebut belum membentuk sirkuit, misalnya diperoleh hasil optimal 3 3 3 4 4 4 maka dilakukan sebagai berikut: pada tabel awal c 3 atau c 3 atau c 4 atau c 4 diganti dengan M, kemudian diselesaikan lagi dengan algoritma Hungarian, cara ini disebut Branch and Bound method atau B n B. 4. Contoh : Diberikan diagram berikut ini : 8 3 3 8 3 5 4 Masalah pada diagram adalah masalah ATSP, dengan 4 kota tuuan. Pemodelan masalah ATSP tersebut adalah meminimalkan f ( x i ) = 8x 8x+ 8x3 3x3+ x4 x4+ 5x3 5x3+ 4x4 4x4+ x34 3x43 Terhadap kendala x x x x x x x x 3 4 x x3 x4 3 x3 x33 x34 4 x4 x43 x44 3 4 x x3 x4 3 x3 x33 x43 4 x4 x34 x44 x x x x x x x i 0, i,,3,4,,,3,4. Tabel ATSP tersebut adalah 3 4 b i 8 8 8 5 4 3 3 5 4 4 3 a 4 4
c c c33 c44 diisi dengan M. Sehingga tabel cost ATSP nya adalah M 8 8-8 8 M 5 4-8 3 5 M - 4 3 M - Pada iterasi pertama ini, baris I, II, III, IV berturut-turut dikurangi dengan 8, 8,,. Diperoleh tabel berikut M-8 0 0 4 0 M-8 7 6 3 5 M- 0 0 M- Pada tabel cost, terlihat untuk setiap baris dan setiap kolomnya, sudah terdapat nol yang mewakili, sehingga dilakukan ui optimum dengan penutupan garis. Diperoleh banyaknya garis penutup ada 3 < n (banyaknya baris), tabel belum optimum. Pada cost tak tertutup garis, r =. Sehingga diperoleh tabel berikut: M-7 0 0 5 0 M-9 6 6 3 4 M- 0 0 0 M- Pada tabel terlihat ui optimum dengan penutupan garis, menghasilkan banyaknya garis penutup sebanyak 4 = n, sehingga tabel optimum. Dengan pemilihan cost nol pada tabel berikut: M-7 0 0 5 0 M-9 6 6 3 4 M- 0 0 0 M- Pemilihan cost nol pada tabel optimum, sama maknanya dengan memilih variabel basis yang akan mewakili masalah ATSP nya, dengan urutan pemilihan x x x, seperti terlihat pada tabel ATSP berikut 34 43 x 3 4 b i M 8 8 8 M 5 4 3 3 5 M 4 4 3 M a 4
Namun hasil optimum tersebut belum membentuk sirkuit. Yaitu dan 3 4 3. Sehingga perlu dilakukan B n B pada catau c atau c 34 atau c 43. Pada makalah ini akan dilakukan B n B pada c. Sehingga tabel cost awal ATSP nya menadi M M 8-8 8 M 5 4-8 3 5 M - 4 3 M - Karena kolom II belum memuat cost nol, maka kolom II dikurangi dengan min{ c i } i =,,3,4. M-8 M-8 0 4 0 M-8 7 6 3 5 M- 0 0 M- - M-8 M- 0 4 0 M- 7 6 3 3 M- 0 0 0 M- Dengan ui optimum penutupan garis, diperoleh tabel cost sudah optimum. Pemilihan cost nol nya adalah M-8 M- 0 4 0 M- 7 6 3 3 M- 0 0 0 M- Menghasilkan variabel basis terpilih x34 x3 x x4. Sirkuit yang terbentuk adalah 8 3 4
Tabel lengkap ATSP nya 3 4 b i M 8 8 8 M 5 4 3 3 5 M 4 4 3 M a 4 dengan f 8 4 8 80. min 5. Penyelesaian ATSP dengan Algoritma Cheapest Insertion Heuristic (CIH). Penelusuran dimulai dari sebuah kota pertama yang dihubungkan dengan sebuah kota terakhir.. Dibuat sebuah hubungan subtour antara kota tersebut. Yaitu suatu peralanan dari kota pertama dan berakhir di kota pertama, misal (,3) (3,) (,). 3. Ganti salah satu arah hubungan (arc) antara dua kota dengan kombinasi dua arc, yaitu arc(i,) dengan arc(i,k) dan arc(k,), dengan k diambil dari kota yang belum masuk subtour dan dengan tambahan arak terkecil, yang diperoleh dari perhitungan cost dengan rumus d c c c. 4. Ulangi langkah 3 sampai seluruh kota masuk dalam subtour. k 6. Contoh : Diberikan diagram ATSP pada Contoh. ATSP tersebut akan diselesaikan dengan Algoritma CIH sebagai berikut: Tabel arak antar kota pada Contoh adalah Kota Asal Kota Tuuan Jarak 8 3 8 4 3 5 4 4 3 3 3 4 4 3 3 Untuk mencari arak terpendek yang melalui 4 kota tersebut diambil langkahlangkah sebagai berikut:. Ambil peralanan dari kota ke kota 4.. Buat subtour (,4) (4,). 3. Buat tabel yang menyimpan kota yang bisa di insersi (disisipkan) dalam subtour beserta tambahan araknya, seperti pada tabel berikut ik k i
Arc yang akan diganti Arc yang akan ditambahkan Tambahan arak (,4) (,) (,4) c c4 c4 (,4) (,3) (3,4) c 3 c34 c4 6 (4,) (4,) (,) c 4 c c4 (4,) (4,3) (3,) c 43 c3 c4 4 Pada tabel terlihat, tambahan arak terkecil diperoleh apabila: Arc(,4) diganti dengan arc (,3) dan arc(3,4). Maka diperoleh subtour baru yaitu (,3) (3,4) (4,). 4. Buat tabel yang menyimpan kota yang bisa di insersi (disisipkan) dalam subtour beserta tambahan araknya, seperti pada tabel berikut Arc yang akan diganti Arc yang akan Tambahan arak ditambahkan (,3) (,) (,3) c c3 c3 5 (3,4) (3,) (,4) c 3 c4 c34 9 (4,) (4,) (,) c 4 c c4 Pada tabel terlihat, tambahan arak terkecil diperoleh apabila: Arc(4,) diganti dengan arc (4,) dan arc(,). Maka diperoleh subtour baru yaitu (,3) (3,4) (4,) (,). Karena semua kota sudah termasuk dalam subtour terakhir maka diperoleh sirkuit ATSP dengan arak tempuhnya c 3 c34 c4 c 80. Dengan sirkuitnya adalah 8 3 4 7. Kesimpulan Algoritma Hungarian dan Algoritma CIH dapat digunakan untuk menyelesaikan ATSP. Penyelesaian ATSP dengan kedua algoritma apabila dikerakan secara manual dengan umlah kota kurang dari 0 masih mungkin untuk dilakukan, dan masing-masing algoritma mempunyai kelebihan serta kekurangan. Algoritma Hungarian memperlihatkan perhitungan yang lebih sederhana, karena menggunakan matriks cost, dan kesalahan perhitungan dapat diminimalkan.
Daftar Pustaka Dorigo, M and Gambardella, L.M., 997, Ant Colony System: A Cooperative Learning Approach to the Travelling Salesman Problem, Accepted for publication in the IEEE Transactions on Evolutionary Computation, Vol., No., 997. In press. http:// diakses pada tanggal 0 Nopember 08 Freisleben, B and Merz, P., 996, New Genetic Local Search Operators for the Travelling Salesman Problem. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=0...3.9500 diakses pada tanggal 0 Nopember 08 Kusrini dan Istiyanto, J.E., 07, Penyelesaian Travelling Salesman Problem dengan Algoritma Cheapest Insertion Heuristic dan Basis Data, JURNAL INFORMATIKA, Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Kristen Petra, Vol. 8, No., Nopember 07, 09-4. http://puslit.petra.ac.id/eournal/index.php/inf/article/shop/6775/6755 diakses pada tanggal 0 Nopember 08 Sierksma, G., 994, Hamiltonicity and the 3-Opt Procedure for the Travelling Salesman Problem, Jurnal Applicationes Mathematicae,.3 (994), pp. 35 358. http:// diakses pada tanggal 0 Nopember 08