Algoritme Smallarcs Penyelesaian Stacker Crane Problem dengan Algoritme Largearcs dan Smallarcs

3.3 Algoritme Smallarcs

Misalkan diberikan graf campuran = , ∪ , dengan = himpunan sisi berarah yang harus dilewati minimal satu kali dan bobot setiap sisi , atau sisi berarah , adalah . Langkah-langkah algoritme Smallarcs adalah sebagai berikut: Langkah 1. Dibentuk subgraf = , dari graf dengan menghilangkan E. Langkah 2. Graf diubah menjadi graf tidak berarah = ′ , ′ dengan ′ ialah himpunan verteks yang mewakili sisi berarah , ℎ pada subgraf . Untuk setiap verteks dan , ′ , ditentukan sebagai minimum dari , , , ℎ , ℎ , , dan ℎ , ℎ . Jarak antarverteks , dari ditentukan dengan ′ , . Antara verteks dan dihubungkan dengan sisi yang bobotnya ialah jarak terpendek ′ , . Langkah 3. Minimum spanning tree ditentukan dari graf dengan algoritme Prim. Langkah 4. Diidentifikasi verteks berderajat ganjil pada spanning tree dari graf . Selanjutnya dibentuk graf lengkap dari verteks berderajat ganjil tersebut dengan jarak antarverteks-nya merupakan jarak terpendek yang diperoleh dari Langkah 1. Langkah 5. Matching yang perfect dan berbobot minimum, yaitu , ditentukan dari graf . Langkah 6. Setiap verteks dan diubah kembali menjadi sisi berarah seperti pada , sisi spanning tree graf dan matching yang perfect berbobot minimum graf diganti dengan path terpendek yang diperoleh dari Langkah 1, sehingga menghasilkan graf = , ∪ dengan = ∪ . Langkah 7. Jika dan ℎ pada berderajat ganjil, maka ditambahkan sisi , ℎ dan diarahkan dari ℎ ke . Graf yang dihasilkan diberi nama = , ∪ ∪ dengan himpunan sisi berarah , ℎ yang diperoleh dari penambahan sisi dari verteks berderajat ganjil pada dan diarahkan dari ℎ ke . Langkah 8. Sirkuit Euler ditentukan pada dengan mengabaikan arah dari sisi berarah pada verteks berderajat genap. Arah sirkuit Euler dibalikkan jika terdapat sisi berarah pada verteks berderajat genap yang dilintasi dengan arah yang salah yang bobotnya melebihi dari setengah total bobot sisi berarah pada verteks berderajat genap dari graf . Langkah 9. Dibentuk graf = , ∪ ∗ ∪ ∪ ∗ dengan ∗ adalah himpunan sisi spanning tree graf dan matching yang perfect berbobot minimum graf yang telah ditetapkan arahnya dari sirkuit Euler dan ∗ ialah himpunan sisi berarah yang diperoleh dengan menambahkan dua sisi berarah , ℎ pada sisi berarah dari verteks berderajat genap , ℎ yang dilintasi dengan arah sirkuit Euler yang salah. Langkah 10. Sirkuit Euler ditentukan pada dan dijadikan sebagai solusi dari SCP. Eiselt et al. 1995b Pada Gambar 42 diberikan skema tahapan penyelesaian SCP dengan algoritme Smallarcs dan pada Gambar 43 diberikan skema keseluruhan penyelesaian SCP. Gambar 42 Skema penyelesaian SCP dengan algoritme Smallarcs. Graf campuran berbobot = , ∪ Dibentuk subgraf = , Dibentuk Graf = ′ , ′ Algoritme Prim Ditentukan minimum spanning tree graf Penentuan verteks berderajat ganjil pada spanning tree graf Konstruksi graf lengkap dari verteks berderajat ganjil di Algoritme Dijkstra Penentuan bobot sisi-sisi dan matching yang perfect berbobot minimum pada graf Dibentuk Graf = , ∪ Dibentuk graf baru = , ∪ ∪ Algoritme Fleury Penentuan sebuah sirkuit Euler sehingga menghasilkan graf Penambahan sisi berarah Membentuk Graf = , ∪ ∗ ∪ ∪ ∗ Diperoleh sirkuit Euler Algoritme Dijkstra Algoritme van Aardenne- Ehrenfest - de Bruijn Gambar 43 Skema penyelesaian SCP. A L G O R I T M E C R A N E Ya Algoritme Smallarcs Tidak Algoritme Largearcs Graf campuran berbobot = , ∪ Memenuhi syarat 1 dan 2 Frederickson et al. 1978 Algoritme Preprocess Diperoleh sirkuit Euler Graf campuran ′ = ′ , ′ ∪ Diperoleh sirkuit Euler Rute terpendek Dipilih sirkuit Euler terpendek IV APLIKASI MASALAH Katering adalah salah satu jasapelayanan untuk memenuhi pesanan makanan dari pihak yang membutuhkan makanan dalam jumlah besar untuk acara yang diadakannya. Terdapat banyak katering yang tersebar di Jakarta, misalnya Katering Eco Raos yang berlokasi di Jakarta Pusat. Katering Eco Raos adalah perusahaan katering dengan empat dapur yang masing-masing bertugas untuk menyiapkan makanan untuk satu pelanggan yang menggunakan jasanya Gambar 44, namun hanya memiliki satu kendaraan untuk mengantarkan makanan dari dapur Katering Eco Raos ke pelanggan. Kendaraan tersebut berada di Dapur 1 yang diasumsikan memiliki tempat penyimpanan kendaraan. Agar proses pengantaran makanan berjalan lancar dan optimal, maka pihak Katering Eco Raos harus menentukan rute atau jalan terbaik untuk proses pengantaran makanan. Pada karya ilmiah ini akan dibahas penentuan rute pengantaran makanan dari dapur-dapur Katering Eco Raos ke pelanggan yang menggunakan katering tersebut. Lokasi dapur Katering Eco Raos dan pelanggan yang menggunakan katering serta jarak tempuhnya dinyatakan dengan graf pada Gambar 45. Verteks 1, 4, 5, dan 8 menyatakan dapur Katering Eco Raos, dan lokasi pelanggan katering ialah verteks lainnya. Gambar 44 Peta Katering Eco Raos di Jakarta Pusat. www.googlemaps.co.id. Keterangan : : Lokasi dapur Katering Eco Raos di Jakarta Pusat : Lokasi pelanggan katering Asumsi yang digunakan dalam penentuan rute tersebut adalah sebagai berikut: 1. Semua jalur pendistribusian makanan harus dilewati tanpa kecuali. 2. Jalur pilihan boleh dilewati atau tidak. 3. Pendistribusian makanan dimulai pada Dapur 1 di pertigaan jalan Sutan Syahrir dan berakhir di tempat yang sama. 4. Mobil mengambil makanan dari dapur Katering Eco Raos untuk diantarkan ke pelanggan. 5. Waktu pengiriman makanan tidak diperhitungkan. Pada Gambar 45, bobot pada setiap sisi { , } atau sisi berarah , merupakan jarak dari verteks ke verteks . Jarak diperoleh dari perkiraan dengan satuan kilometer. Model di atas dapat dibuat menjadi graf sebagai berikut: 2 6 7 3 8 1 5 4 � : 7 6 7 6 8 9 4 7 9 3 6 7 5 10 4 5 1 3 4 8 7 6 2 Gambar 45 Graf kasus Katering Eco Raos di Jakarta Pusat dengan arah pendistribusian katering. Ket : Arah distribusi katering yang harus dilewati Jalur pilihan Tabel 3 Penjelasan setiap verteks pada graf kasus katering di Jakarta Pusat Verteks Keterangan 1 Tempat awal dan akhir mobil pengantar makanan dari dapur Katering Eco Raos. 2 Pertigaan jalan Sutan Syahrir, jalan Teuku Umar, dan jalan RP Soeroso. 3 Perempatan jalan Teuku Umar, jalan HOS Cokroaminoto, jalan Cut Mutia dan jalan Cut Nyakdien. 4 Dapur Katering Eco Raos di perlimaan jalan Wahid Hasyim, jalan Kebon Kacang, jalan Jaksa, jalan Cut Nyak Dien, dan jalan Lombok. 5 Dapur Katering Eco Raos di pertigaan jalan Kebon Kacang, jalan Kampung Bali, dan jalan Jaksa. 6 Pertigaan jalan Kampung Bali, jalan Jaksa dan jalan Kebon Sirih. 7 Perempatan jalan Wahid Hasyim, jalan Kebon Sirih, jalan Jaksa, dan jalan Cikini Raya. 8 Dapur Katering Eco Raos di pertigaan jalan Cikini Raya, jalan Cut Mutia, dan jalan RP Soeroso. Dalam bahasan berikut, graf campuran � = , ∪ memenuhi syarat 1 dan 2, sehingga algoritme Preprocess tidak digunakan. Ada dua metode heuristik yang digunakan, yaitu Largearcs dan Smallarcs. 4.1 Penyelesaian SCP dengan Algoritme Largearcs Langkah 1. Subgraf = , dari graf � adalah sebagai berikut: ∶ 9 10 9 7 5 1 3 4 8 7 6 2 Gambar 46 Subgraf . Langkah 2. Selanjutnya graf bipartite = 1 ∪ 2 , ′ dibuat dengan himpunan 1 , yaitu {1,8,4,5}, himpunan 2 , yaitu {2,3,7,6} dan himpunan ′ = {{1,3}, {1,7}, {1,6}, {8,2}, {8,7}, {8,6}, {4,2}, {4,3},{4,6}, {5,2}, {5,3}, {5,7}}. Dengan algoritme Dijkstra didapat path tependek graf dari graf � detail penghitungan dapat dilihat di Lampiran 5. ∶ 6 10 12 8 16 6 7 4 7 7 13 13 1 2 3 4 5 6 7 8 V 2 V 1 Gambar 47 Graf bipartite . Langkah 3. Dengan metode Hungaria didapat solusi matching berbobot minimum pada , yaitu = 1,3 , 8,2 , 4,6 , 5,7 Lampiran 6. Selanjutnya graf = , ∪ dibentuk dari graf dengan menambahkan sisi dari matching dan arahnya dari 2 ke 1 . : 4 5 6 7 8 7 6 9 1 2 3 8 9 7 7 10 Gambar 48 Graf . Langkah 4. Pada terdapat 2 komponen yaitu 1 dan 2 . 1 ∶ 1 2 3 8 9 7 7 10 2 ∶ 4 5 6 7 8 7 6 9 Gambar 49 Komponen 1 dan 2 . Karena pada terdapat 2 komponen, maka dibentuklah graf lengkap = , dengan banyaknya verteks sesuai dengan banyaknya komponen pada , yaitu 2. Bobot setiap verteks dapat dicari dengan cara mencari path terpendek yang menghubungkan komponen 1 dan 2 dari tiap-tiap verteksnya. Dengan menggunakan algoritme Dijkstra Lampiran 7, didapat panjang path terpendek antarkomponen adalah: ∶ K 1 K 2 4 Gambar 50 Graf . Jarak terpendek antara 1 dan 2 diperoleh dari panjang path terpendek, yaitu path 8,7. Langkah 5. Graf merupakan minimum spanning tree, agar terhubung maka ditentukan , yaitu himpunan sisi tidak berarah pada yang berpadanan dengan yang menghubungkan 1 dan 2 . Pada kasus ini dipilih path 8,7, karena path tersebut pada berpadanan dengan minimum spanning tree sehingga graf = , ∪ ∪ dengan = 8,7 menjadi ∶ 1 2 3 8 9 7 7 10 4 5 6 7 8 7 6 9 4 Gambar 51 Graf . Langkah 6. Graf = , ∪ ∪ ∗ dibentuk dan dua sisi ditambahkan dengan arah yang berlawanan untuk setiap sisi dari minimum spanning tree , sehingga sisi = 8,7 menjadi sisi berarah = 8,7 , 7,8 . ∶ 1 2 3 8 9 7 7 10 4 5 6 7 8 7 6 9 4 4 Gambar 52 Graf . Langkah 7. Penentuan sirkuit Euler pada Gambar 52 dilakukan dengan algoritme van Aardenne-Ehrenfest - de Bruijn. Spanning arborescence dari graf berawal dari verteks 5 adalah sebagai berikut: 9 7 8 9 10 7 4 4 5 6 7 1 2 3 8 Gambar 53 Spanning arborescence digraf . Hasil dari pelabelan dengan algoritme van Aardenne-Ehrenfest - de Bruijn untuk graf dapat dilihat pada Gambar 54. ∶ L 1 L 1 L 1 L 1 L 1 L 1 L 1 L 1 L 2 L 2 4 5 6 7 1 2 3 8 Gambar 54 Graf yang sudah dilabeli. Dari Gambar 54 dapat diperoleh sirkuit Euler yang dimulai dari verteks 1, yaitu 1 − 2 − 8 − 7 − 5 − 6 − 4 − 7 − 8 − 3 − 1 dengan total jarak 71. Aplikasi algoritme Largearcs pada kasus Katering Eco Raos di Jakarta Pusat sebagai berikut: ∶ 4 7 6 7 6 8 9 4 7 9 3 6 7 5 10 4 5 1 3 4 8 7 6 2 Gambar 55 Graf kasus Katering Eco Raos di Jakarta Pusat dengan algoritme Largearcs. Ket : Arah distribusi katering yang harus dilewati Jalur pilihan Jalur distribusi katering

4.2 Penyelesaian SCP dengan Algoritme Smallarcs