2.2 Algoritme Prim
Ada beberapa algoritme yang dapat digunakan
untuk menentukan
minimum spanning tree pada graf berbobot yang
terhubung. Salah satu algoritme tersebut adalah algoritme Prim yang akan digunakan
dalam karya ilmiah ini. Algoritme Prim digunakan pada graf berbobot
yang taktrivial dengan p menyatakan order dari
graf G dan q menyatakan size dari graf G. Metode dari algoritme Prim adalah
mengganti tree T dalam graf berbobot G yang terhubungkan dengan tree baru. Tree baru
dibentuk dengan menambahkan sebuah sisi yang
memiliki bobot
minimum yang
menghubungkan verteks dari T ke verteks yang tidak di T. Langkah-langkah algoritme
Prim adalah sebagai berikut : 1.
[Inisialisasi tree T] Misalkan u sembarang simpul di G dan
. 2.
[Update tree T] Jika v adalah simpul dengan jarak
minimum ke u, maka 3.
[Memeriksa apakah sebuah minimum spanning tree sudah terbentuk]
Jika dengan p adalah size
dari graf T, maka keluarannya adalah Jika tidak, maka kembali ke
Langkah 2. Chartrand Oellermann 1993
Contoh pemakaian algoritme Prim Diberikan G adalah graf berbobot seperti
pada Gambar 12. a
b c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 12 Graf berbobot G. Jika dipilih d sebagai simpul awal, maka
dengan algoritme Prim didapat minimum spanning tree dengan proses sebagai berikut :
1. a adalah simpul yang terhubung ke d
dengan bobot terkecil sehingga dipilih sisi da lihat Gambar 13.
a b
c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 13 Sisi da hasil dari algoritme Prim tahap ke-1.
2. Simpul berikutnya yang dipilih adalah
simpul dengan bobot terkecil terhadap d atau a. Sisi ab memiliki bobot 7, db
berbobot 9, de berbobot 15, dan df berbobot 6, sehingga sisi df dipilih sebagai
sisi yang memiliki bobot terkecil lihat Gambar 14.
a b
c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 14 Sisi df hasil dari algoritme Prim tahap ke-2.
3. Algoritme dilanjutkan seperti tahap
sebelumnya. Sisi ab dipilih sebagai sisi yang memiliki bobot terkecil terhadap sisi-
sisi yang incident dengan simpul a dan d lihat Gambar 15.
a b
c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 15 Sisi ab hasil dari algoritme Prim tahap ke-3.
4. Sisi be dipilih sebagai sisi yang memiliki
bobot terkecil lihat Gambar 16.
a b
c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 16 Sisi be hasil dari algoritme Prim tahap ke-4.
5. Sisi ec dipilih sebagai sisi yang memiliki
bobot terkecil lihat Gambar 17. a
b c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 17 Sisi ec hasil dari algoritme Prim tahap ke-5.
6. Sisi eg dipilih sebagai sisi yang memiliki
bobot terkecil lihat Gambar 18. Jadi, dihasilkan suatu minimum spanning tree
dari graf G seperti pada Gambar 18. a
b c
d e
f g
5
6 7
7 5
9
Gambar 18 Solusi minimum spanning tree dengan bobot 39.
III PEMBAHASAN
Di dalam
karya ilmiah
ini akan
diperkenalkan sebuah masalah manajemen distribusi, yang disebut open vehicle routing
problem OVRP.
Masalah manajemen
distribusi OVRP berbeda dengan vehicle routing
problem VRP.
Ciri utama
permasalahan yang membedakan OVRP dengan
VRP adalah
kendaraan tidak
diharuskan kembali ke depot, namun jika kendaraan diperbolehkan kembali ke depot
maka kendaraan akan mengunjungi kembali konsumen melalui rute sebelumnya secara
terbalik.
OVRP bisa dijelaskan sebagai berikut. Misalkan terdapat sebuah depot dan himpunan
konsumen yang memiliki permintaan terhadap barang.
Pada depot
terdapat sejumlah
kendaraan transportasi. Setiap kendaraan memiliki kapasitas maksimum barang yang
bisa dibawa dan tiap kendaraan juga memiliki biaya operasional. Biaya perjalanan antara
depot dan semua konsumen, seperti juga dari konsumen ke konsumen, diketahui.
Permasalahannya adalah menentukan total biaya
perjalanan yang
minimum dan
memenuhi tiga kriteria berikut: i.
setiap rute berawal dari depot dan berakhir pada konsumen,
ii. setiap konsumen hanya dikunjungi oleh
tepat satu kendaraan dan permintaannya terpenuhi,
iii. total
permintaan konsumen
yang dikunjungi di setiap rute kurang dari atau
sama dengan kapasitas kendaraan yang bertugas di rute tersebut.
Tujuannya adalah menentukan rute perjalanan yang meminimumkan total biaya perjalanan
dan biaya pemakaian kendaraan. Di dalam OVRP terdapat beberapa kondisi
yang mungkin muncul ketika kendaraan melakukan pendistribusian barang dari depot
ke konsumen, di antaranya: i.
kendaraan berangkat dari depot dan berhenti di konsumen akhir,
ii. kendaraan berangkat dari depot dan
berhenti di konsumen akhir, lalu kembali lagi ke depot dengan melalui rute yang
telah dilewati sebelumnya secara terbalik.
a b
c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 16 Sisi be hasil dari algoritme Prim tahap ke-4.
5. Sisi ec dipilih sebagai sisi yang memiliki
bobot terkecil lihat Gambar 17. a
b c
d e
f g
5
6 7
9 8
7
15 5
8 9
11
Gambar 17 Sisi ec hasil dari algoritme Prim tahap ke-5.
6. Sisi eg dipilih sebagai sisi yang memiliki
bobot terkecil lihat Gambar 18. Jadi, dihasilkan suatu minimum spanning tree
dari graf G seperti pada Gambar 18. a
b c
d e
f g
5
6 7
7 5
9
Gambar 18 Solusi minimum spanning tree dengan bobot 39.
III PEMBAHASAN
Di dalam
karya ilmiah
ini akan
diperkenalkan sebuah masalah manajemen distribusi, yang disebut open vehicle routing
problem OVRP.
Masalah manajemen
distribusi OVRP berbeda dengan vehicle routing
problem VRP.
Ciri utama
permasalahan yang membedakan OVRP dengan
VRP adalah
kendaraan tidak
diharuskan kembali ke depot, namun jika kendaraan diperbolehkan kembali ke depot
maka kendaraan akan mengunjungi kembali konsumen melalui rute sebelumnya secara
terbalik.
OVRP bisa dijelaskan sebagai berikut. Misalkan terdapat sebuah depot dan himpunan
konsumen yang memiliki permintaan terhadap barang.
Pada depot
terdapat sejumlah
kendaraan transportasi. Setiap kendaraan memiliki kapasitas maksimum barang yang
bisa dibawa dan tiap kendaraan juga memiliki biaya operasional. Biaya perjalanan antara
depot dan semua konsumen, seperti juga dari konsumen ke konsumen, diketahui.
Permasalahannya adalah menentukan total biaya
perjalanan yang
minimum dan
memenuhi tiga kriteria berikut: i.
setiap rute berawal dari depot dan berakhir pada konsumen,
ii. setiap konsumen hanya dikunjungi oleh
tepat satu kendaraan dan permintaannya terpenuhi,
iii. total
permintaan konsumen
yang dikunjungi di setiap rute kurang dari atau
sama dengan kapasitas kendaraan yang bertugas di rute tersebut.
Tujuannya adalah menentukan rute perjalanan yang meminimumkan total biaya perjalanan
dan biaya pemakaian kendaraan. Di dalam OVRP terdapat beberapa kondisi
yang mungkin muncul ketika kendaraan melakukan pendistribusian barang dari depot
ke konsumen, di antaranya: i.
kendaraan berangkat dari depot dan berhenti di konsumen akhir,
ii. kendaraan berangkat dari depot dan
berhenti di konsumen akhir, lalu kembali lagi ke depot dengan melalui rute yang
telah dilewati sebelumnya secara terbalik.
Permasalahan pada
kendaraan yang
berhenti di konsumen akhir namun tidak kembali ke depot dapat terjadi pada
perusahaan yang tidak memiliki kendaraan sendiri, atau kendaraan yang dimiliki tidak
mencukupi untuk mendistribusikan barang ke konsumen, sehingga perusahaan diharuskan
menyewa kendaraan lain. Kendaraan sewa akan mengunjungi konsumen dan tidak
kembali lagi ke depot.
Permasalahan pada
kendaraan yang
kembali ke depot dengan rute terbalik dapat ditemui
dalam proses
pengiriman dan
pengumpulan tabung gas elpiji. Kendaraan mengunjungi
setiap konsumen
dan mengirimkan tabung gas elpiji yang telah
dipesan. Ketika
kendaraan mencapai
konsumen akhir dan barang pesanan yang ada di dalam kendaraan telah kosong, maka
kendaraan kembali
ke depot
sambil mengumpulkan tabung gas elpiji yang kosong
dari konsumen dengan melalui rute yang sama namun dengan rute terbalik secara berurutan.
Misalkan terdapat dua konsumen, dan diasumsikan bahwa jarak dari konsumen
pertama ke konsumen kedua sama dengan jarak dari konsumen kedua ke konsumen
pertama. Rute pengumpulan barang akan melalui rute
yang sama dengan rute
pengiriman, namun konsumen akhir pada rute pengiriman dikunjungi terlebih dahulu dan
kendaraan berakhir
di depot.
Untuk selanjutnya hanya kondisi ii yang akan
dibahas dalam karya ilmiah ini. Untuk menentukan rute kendaraan yang
meminimumkan total biaya perjalanan dan meminimumkan biaya pemakaian kendaraan,
akan digunakan suatu metode heuristik.
3.1 Metode Heuristik