Kelompok 3 - Laporan Survey Metode Minimum Cost Flow - TE2
Kelompok 3 - Laporan Survey Metode Minimum Cost Flow - TE2
OLEH
BELLA SEPTIANDARI PUTRI (190312617721)
HERNOWO WIDHI WICAKSONO (190312617704)
1
LEMBAR PENGESAHAN
Disetujui oleh:
Pembimbing,
Ditetapkan di : ………………
Tanggal : ………………
i
ABSTRAK
ii
KATA PENGANTAR
Puji syukur kami panjatkan kepada Tuhan Yang Maha Esa, karena atas berkat dan
rahmat-Nya, kami dapat menyelesaikan tugas ini. Tugas ini dilakukan dalam rangka
untuk memenuhi tugas Penerapan Teori Graf. Kami menyadari, tanpa bantuan dan
bimbingan dari berbagai pihak, sangatlah sulit bagi kami untuk menyelesaikan tugas
ini. Oleh karena itu, kami mengucapkan terima kasih kepada:
1) selaku dosen pembimbing yang telah menyediakan waktu, tenaga, dan pikiran
untuk mengarahkan kami dalam menyelesaikan tugas ini;
2) pihak PT. Tri Surya Plastik yang telah banyak membantu dalam usaha
memperoleh data yang kami perlukan.
Akhir kata, kami berharap Tuhan Yang Maha Esa berkenan membalas segala kebaikan
semua pihak yang telah membantu. Semoga tugas ini membawa manfaat bagi
perkembangan ilmu dan teknologi.
iii
DAFTAR ISI
ABSTRAK ................................................................................................................ ii
BAB I ......................................................................................................................... 1
PENDAHULUAN ..................................................................................................... 1
BAB II ....................................................................................................................... 4
iv
2.13 Penelitian Terdahulu .................................................................................... 16
METODOLOGI ..................................................................................................... 20
BAB IV .................................................................................................................... 26
BAB V ..................................................................................................................... 89
DAFTAR PUSTAKA.............................................................................................. 92
LAMPIRAN ............................................................................................................ 94
v
vi
BAB I
PENDAHULUAN
Pokok bahasan mengenai teori graph merupakan teori yang banyak sekali
penerapannya. Graph merupakan teori yang merepresentasikan objek-objek
diskrit serta hubungan diantaranya. Graph banyak berhubungan dengan
kehidupan nyata. Selain untuk merepresentasikan masalah jembatan
Konigsberg, graph juga dimanfaatkan untuk merepresentasikan suatu model
jaringan. Suatu model jaringan tersebut dapat direpresentasikan dalam
permasalahan pendistribusian. Distribusi itu sendiri merupakan suatu
penyelenggaraan kegiatan usaha yang tercakup dalam pengangkutan
barang/produk dari tempat pengolahan ke tempat penjualan (Dewil et al., 2015).
Dalam hal ini, suatu dsitribusi menjadi sangat penting karena merupakan jalan
untuk mencapai keberhasilan penjualan, dan kepuasan pelanggan (Chassein and
Kinscherff, 2019). Kepuasan pelanggan dapat disebabkan karena harganya yang
terjangkau sesuai kualitas produk, pemaketan yang aman, tepat waktu, serta
cepat sampainya ke pelanggan.
Masalah distribusi dapat digambarkan sebagai suatu digraph yang
memuat beberapa sisi berarah dan titik. Lokasi perusahaan serta lokasi industri
tujuan sebagai titik, sedangkan setiap jalan yang menghubungkan setiap tempat
dan memiliki arah atau arus tertentu sebagai sisi berarah. Sehingga bisa
digambarkan dalam diagram alir untuk menyelesaikan permasalahan suatu
distribusi perusahaan.
Sekarang ini banyak barang/produk yang didistribusikan untuk
kebutuhan. Suatu perusahaan dapat mendistribusikan produknya ke beberapa
tempat industri atau ke pelanggannya. Perusahaan olahan limbah plastik
contohnya, perusahaan tersebut mengirimkan olahan limbah plastik dan
beberapa kertas karton kebeberapa tempat industri serta kebeberapa pengecer
grosir lainnya. Perusahaan tersebut memberikan harga produk yang cukup baik,
sehingga dapat dikatakan dalam penjualannya memiliki keberhasilan. Terbukti
1
memiliki beberapa langganan. Namun dalam pengirimannya membutuhkan
biaya yang terbilang cukup besar ke masing-masing pelanggannya. Sehingga
distributor plastik mengalami sedikit masalah dalam pengirimannya. Oleh
karena itu untuk menekan biaya dalam pendistribusian produk, dapat
menggunakan penerapan teori graph yaitu dengan metode Minimum Cost Flow.
Minimum Cost Flow merupakan model permasalahan pencarian biaya
yang digunakan dalam pendistribusian suatu barang atau produk dari produsen
ke konsumen dalam suatu aliran jaringan (Zhang et al., 2022). Penyelesaian
masalah dengan metode Minimum Cost Flow, dapat menentukan arus distribusi
dengan biaya minimum. Minimum Cost Flow berkorespondensi dengan masalah
distribusi produk yang bertujuan untuk meminimumkan biaya distribusi produk,
dalam kasus ini yaitu produk olahan limbah plastik.
Terdapat beberapa algoritma dalam menyelesaikan permasalahan
Minimum Cost Flow . Antara lain, Algoritma Successive Shortest Path
Algoritma Capacity Scaling, dan Algoritma Jaringan Simpleks. Dengan metode
ini, diharapkan dapat membantu meminimalkan biaya pendistribusian di
perusahaan olahan limbah plastik tersebut.
2
1.3 Tujuan
3
BAB II
TINJAUAN PUSTAKA
Graph merupakan himpunan dari benda benda yang disebut simpul (vertex atau
node) yang terhubung oleh sisi ( edge) atau busur (arc). Biasanya graph
digambarkan sebagai kumpulan titik-titik (melambangkan simpul) yang
dihubungkan oleh garis-garis (melambangkan sisi) atau garis berpanah
(melambangkan busur) (Arga, 2021). Berdasarkan Buku “Discrete And
Combinatorial Mathematics” oleh (Rosen and Michaels, 2000), suatu graph G
didefinisikan sebagai pasangan himpunan (V,E), dimana V = himpunan yang
berisikan simpul pada graph tersebut {𝑣1 , 𝑣2 , … 𝑣𝑛 } dan E adalah himpunan sisi
yang menghubungkan simpul-simpul {𝑒1 , 𝑒2 , … 𝑒𝑛 }. Secara mudahnya dapat ditulis
dengan notasi G = (V,E).
Pada suatu graph, dua atau lebih sisi yang menghubungkan pasangan titik yang
sama adalah multiple edges. Sebuah sisi yang menghubungkan sebuah titik dengan
dirinya sendiri disebut loop. Suatu graph yang tidak memuat multiple edges (sisi
rangkap) atau loop disebut graph sederhana.
Berdasarkan arah sisinya, graph terbagi menjadi dua jenis , antara lain : (Karp,
1990)
1. Graph Tak Berarah
Graph Tak Berarah (Undirected Graph) merupakan graph yang memiliki
setiap sisi tidak berarah.
4
Pada gambar 2.1 menunjukkan bahwa graph tidak berarah denagn himpunan
simpul V(G) = {𝑣1 , 𝑣2 , 𝑣3 , 𝑣4 , 𝑣5 }, dan himpunan sisinya E(G) =
{𝑒1 , 𝑒2 , 𝑒3 , 𝑒4 , 𝑒5 , 𝑒6 }. Sehingga didapatkan pasangan terurut dari {(𝑣1 , 𝑣2 ),
(𝑣2 , 𝑣3 ), (𝑣3 , 𝑣4 ), (𝑣4 , 𝑣5 ), (𝑣5 , 𝑣1 ), (𝑣5 , 𝑣2 )}.
2. Graph Berarah (Digraph)
Buku “Graphs And Applications : An Introductory Approach” oleh Joan M.
Aldous dan Robin J. Ribson, pada Digraph , dua atau lebih sisi berarah
terhubung dengan pasangan titik yang sama pada arah yang sama yang
merupakan multiple arcs. Loop pada graph adalah sisi berarah yang simpul
awal dan simpul akhir yang sama. Graph Berarah (Directed Graph)
merupakan graph yang memiliki setiap sisi berarah denga titik awal suatu sisi
disebut simpul awal (initial vertex) sedangkan titik akhir dari suatu sisi
disebut simpul akhir (terminal vertex).
5
tempuh pesan (message) dari sebuah simpul komunikasi ke simpul komunikasi
lain, ongkos produksi, dan sebagainya. (Király and Kovács, 2012)
Lebih jelasya dapat dilihat pada gambar 2.3 berikut.
Minimum
Dimana ,
7
∑{𝑗:(𝑖,𝑗)∈𝐴} 𝑥𝑖𝑗 − ∑{𝑗:(𝑗,𝑖)∈𝐴} 𝑥𝑖𝑗 = 𝑏(𝑖 ), ∀𝑖 ∈ 𝐴 (1b)
Kendala kapasitas
2.5 Jaringan
8
Algoritma Lintasan Terpendek Berulang merupakan salah satu
metode lain dalam menyelesaikan masalah optimasi model jaringan.
Algoritma Lintasan Terpendek Berulang didasarkan dari kondisi optimal
jaringan sisaan, dimulai dengan digraph awal yang telah disederhanakan
dan berturut-turut mencari lintasan terpendek sampai muatan pada titiknya
bernilai nol.
Berikut ini adalah Algoritma Lintasan Terpendek Berulang :
1. Cari lintasan dari s ke t pada jaringan kerja.
2. Cari sebarang lintasan terpendek dari s ke t sebut P
3. Cari δ=min{b(s),-b(t), min{𝑟𝑖𝑗 I (i,j) є P}}
4. Kurangi 𝑢𝑖𝑗 pada lintasan terpendek P dengan δ
5. Ulangi langkah 2 sampai b(s) dan b(t) sama dengan nol.
9
Langkah- Langkah penyelesaian algoritma Capasity Scaling : (Saputri et
al., n.d.)
1. Menentukan jaringan sisa, dengan mengalirkan aliran setiap sisinya
𝑥𝑖𝑗 = 0 dan potensial setiap titiknya adalah 𝜋 (𝑖 ) = 0. Sehingga dari
jaringan sisa tersebut akan didapatkan ketakseimbangan titik 𝑒(𝑖 ), biaya
sisa 𝑢𝑖𝑗 𝜋 , dan kapasitas sisa 𝑟𝑖𝑗
2. Tentukan nilai ∆= 2|2log 𝑈 . ∆ nantinya akan menjadi banyaknya unit
yang dilirkan pada setiap lintasan yang terpilih. Jika ∆ ≥ 1 maka lanjut
ke langkah 3, jika ∆< 1 maka algoritma berhenti.
3. Apabila kapasitas sisa lebih dari atau sama dengan ∆ (𝑟𝑖𝑗 ≥ ∆ dan biaya
sisa kurang dari 0 (𝑐𝑖𝑗 𝜋 < 0) maka alirkan sebanyak 𝑟𝑖𝑗 dan update
ketakseimbangan titik 𝑒(𝑖 ), aliran 𝑥𝑖𝑗 dan kapasitas sisa 𝑥𝑖𝑗 dan lanjut ke
langkah 4. Apabila tidak terjadi kasus tersebut, maka langsung ke
langkah 4.
4. Tentukan S(∆) dan T(∆) dengan:
S(∆) merupakan himpunan titik yang mempunyai ketakseimbangan titik
sebanyak lebih dari atau sama dengan ∆ atau merupakan himpunan titik
pengirim. Sedangkan T(∆) merupakan himpunan titik yang memiliki
ketakseimbangan titik sebanyak kurang dari atau sama dengan −∆ atau
merupakan himpunan titik penerima.
S(∆) = {i∈ N: e(i) ≥ ∆}
T(∆) = {i ∈ N: e(i) ≤ −∆}
Apabila S(∆) ≠ ∅ dan T(∆) ≠ ∅ maka lanjut ke langkah 5. Apabila S(∆)
= ∅ dan T(∆) = ∅ maka langsung ke langkah 7.
5. Ketika S(∆) ≠ ∅ dan T(∆) ≠ ∅ maka lakukan langkah berikut:
Pilih k ∈ S(∆) dan l ∈ T(∆).
Update biaya sisa 𝑐𝑖𝑗𝜋 = 𝑐𝑖𝑗 -𝜋(𝑖 ) + 𝜋 (𝑗)
Update jarak 𝑑 (𝑗) = 𝑑 (𝑖 ) + 𝑐𝑖𝑗𝜋
10
Pilih P yang merupakan lintasan terpendek dari titik k ke titik
l pada jaringan sisa-∆. Pemilihan lintasan dilakukan dengan
cara melihat 𝑑 (𝑙 ), yaitu dengan mencari lintasan dengan
biaya sisa minimum yang sama dengan 𝑑 (𝑙 ).
Update potensial titik 𝜋(𝑖 ) = 𝜋 (𝑖 ) − 𝑑(𝑖)
Alirkan sebanyak ∆ pada lintasan terpilih P.
Update ketakseimbangan titik 𝑒(𝑖 ) = 𝑏(𝑖 ) + ∑ 𝑥𝑗𝑖 − ∑ 𝑥𝑖𝑗
Update kapasitas sisa 𝑟𝑖𝑗 = 𝑟𝑖𝑗 − ∆. Apabila pada lintasan ada
sisi (j,i), maka 𝑟𝑖𝑗 = 𝑟𝑖𝑗 + ∆.
Update kapasitas sisa 𝑥𝑖𝑗 = 𝑥𝑖𝑗 + ∆. Apabila pada lintasan ada
sisi (j,i), maka 𝑥𝑖𝑗 = 𝑥𝑖𝑗 - ∆.
6. Lakukan langkah 5 sampai T(∆) terpilih semua.
7. Apabila T(∆) sudah terpilih semua, update ∆ dengan ∆= ∆/2.
8. Kembali ke langkah 3
9. Output: jumlah dari aliran 𝑥𝑖𝑗 yang masing-masing dikalikan dengan
biaya sisinya 𝑐𝑖𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴
11
Menuliskan bobot/suplai masing-masing titik yang disimbolkan dengan
b(i) dengan ketentuan apabila b(i) > 0 maka titik i adalah titik pengirim,
apabila b(i) = 0 maka titik i adalah titik perantara, dan apabila b(i) < 0
maka titik i adalah titik penerima. Setelah proses inisialisasi selesai,
tentukan nilai ε yang diperoleh dari biaya terbesar yang terdapat pada
permasalahan awal
2. Menentukannode imbalance/titik kesetimbangan dari masing-masing
titik yang disimbolkan dengan Menentukannode imbalance/titik
kesetimbangan dari masing-masing titik yang disimbolkan dengan 𝑒(𝑖)
dengan ketentuan 𝑒(𝑖 ) = 𝑏(𝑖 ) + ∑{𝑗:(𝑗,𝑖)∈(𝑆,𝑆)} 𝑥𝑗𝑖 −
∑{𝑗:(𝑗,𝑖)∈(𝑆,𝑆)} 𝑥𝑖𝑗 , 𝑏 (𝑖 ) adalah suplai dari titik i. pada algoritma Cost
Scaling nilai awal 𝑥̅ ≔ 0, maka 𝑒(𝑖 ) = 𝑏(𝑖) dan 𝑟𝑖𝑗 = 𝑢𝑖𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴
3. Menentukan biaya tereduksi (𝑐𝑖𝑗𝜋 = 𝑐𝑖𝑗 − 𝜋(𝑖 ) + 𝜋(𝑗)) pada masing-
masing sisi pada digraph G. Karena pada algoritma cost scaling nilai
awal 𝜋(𝑖 ) = 0, ∀𝑖 ∈ 𝑁 sehingga 𝑐𝑖𝑗𝜋 = 𝑐𝑖𝑗 , ∀ (𝑖, 𝑗) ∈ 𝐴 Kemudian
menuliskan 𝑐𝑖𝑗𝜋 , 𝑟𝑖𝑗 pada setiap sisi di G.
4. Pilih titik aktif yang terdapat pada jaringan sisa. Titik i dikatakan titik
aktif apabila e(i) > 0.
5. Menentukan sisi admisibel yang berpangkal pada titik aktif yang telah
dipilih. Sisi admisibel ditentukan dengan mengecek setiap sisi pada
jaringan sisa yang berpangkal pada titik aktif yang telah dipilih, yaitu
𝜀
sisi yang memiliki biaya tereduksi dan memenuhi kondisi − ≤ 𝑐𝑖𝑗𝜋 <
2
0, ∀ (𝑖, 𝑗) ∈ 𝐴
6. Apabila pada jaringan sisa tidak terdapat sisi admisibel yang berpangkal
pada titik aktif yang telah dipilih, lakukan pelabelan nilai potensial titik
𝜀
pada titik aktif tersebut dengan ketentuan 𝜋 (𝑖 )𝑏𝑎𝑟𝑢 = 𝜋(𝑖 )𝑙𝑎𝑚𝑎 +
2
7. Lakukan pelabelan biaya tereduksi pada sisi yang berpangkal pada titik
aktif yang telah dipilih.
8. Lakukan langkah 6 apabila sisi admisibel masih belum diperoleh.
12
9. Setelah sisi admisibel yang berpangkal pada titik aktif diperoleh,
tentukan nilai δ dengan cara 𝛿 = 𝑀𝑖𝑛 {𝑒(𝑖 ), 𝑟𝑖𝑗 }
10. Lakukan proses pengiriman suplai sebanyak δ unit pada sisi admisibel,
misalkan sisi admisibel yang dipilih adalah sisi (i,j), yaitu dengan cara
𝑒(𝑖 )𝑏𝑎𝑟𝑢 = 𝑒(𝑖 )𝑙𝑎𝑚𝑎 − 𝛿 , cara 𝑒(𝑗)𝑏𝑎𝑟𝑢 = 𝑒(𝑗)𝑙𝑎𝑚𝑎 − 𝛿. Mengganti
sisi (i,j) dengan dua sisi (i,j) dan sisi (j,i) dengan bobot masing-masing
sisi adalah sebagai berikut : sisi (i,j) memiliki bobot 𝑐𝑖𝑗𝜋 = 𝑐𝑖𝑗𝜋 dan 𝑟𝑖𝑗 =
𝑟𝑖𝑗 − 𝛿, sedangkan sisi (j,i) memiliki bobot 𝑐𝑗𝑖𝜋 = −𝑐𝑖𝑗𝜋 dan 𝑟𝑗𝑖 = 𝛿
11. Hapus sisi yang memiliki kapasitas sisa sama dengan nol (𝑟𝑖𝑗 = 0)
12. Lakukan pengulangan pada langkah 10 sampai diperoleh e(i) = 0, ∀𝑖 ∈
𝑁
13. Menggambarkan digraph solusi optimum dengan aliran 𝑐𝑖𝑗 dan 𝑥𝑖𝑗 =
𝑟𝑗𝑖 . , serta mencari 𝑧 = ∑ 𝑐𝑖𝑗 𝑥𝑖𝑗
13
titik 𝑖 adalah titik supply, jika 𝑏 (𝑖 ) < 0 , maka titik adalah titik
demand. Cost /biaya adalah bilangan non negatif yang menyatakan
besarnya biaya untuk memindahkan muatan dari satu titik ke titik
yang lain. Capacity /kapasitas dari suatu sisi adalah jumlah
maksimum muatan yang dapat dikirim pada sisi-sisi
Suatu aliran fisibel adalah suatu fungsi 𝑥 = 𝑥𝑖𝑗 didefinisikan pada
sisi berarah (𝑖, 𝑗) ∈ 𝐴 yang memenuhi batas keseimbangan umum
yaitu ∑{𝑗|(𝑖,𝑗)∈𝐴} 𝑥𝑖𝑗 − ∑{𝑗|(𝑗, 𝑖 ) ∈ 𝐴} 𝑥𝑗𝑖 = 𝑏(𝑖) untuk semua 𝑖 ∈ 𝑁
14
yang diberikan, reduced cost dari suatu sisi (𝑖, 𝑗) pada jaringan sisaan
𝐺(𝑥) adalah 𝑐𝑖𝑗𝜋 = 𝑐𝑖𝑗 − 𝜋(𝑖 ) + 𝜋(𝑗).
15
algoritma ini menggunakan algoritma dijkstra. Selain itu, keunggulan
algoritma ini dapat menghitung biaya minimum dari maksimum flow dari
s ke t.
2.13 Penelitian Terdahulu
16
Mas – RM. Duta, Candi Mas – Toko Barokah , Toko Barokah – RM.
Tlaga Indah.
17
Algoritma Capacity Scaling dan Algoritma Lintasan Terpendek Berulang,
penambahan aliran dilakukan sepanjang lintasan yang terpilih. Pada
Algoritma Penghapusan Sikel adalah dengan menghapus sikel yang
berharga negatif sehingga jaringan akan optimum jika sudah tidak memuat
sikel negatif. Dalam menentukan lintasan terpendek pada Algoritma
Capacity Scaling dan Algoritma Lintasan Terpendek Berulang ditentukan
dengan menggunakan Algoritma Dijkstra. Namun perbedaan mendasar
pada Algoritma Capacity Scaling dan Algoritma Lintasan Terpendek
Berulang terletak pada penskalaan kapasitas sisinya, sehingga Algoritma
Capacity Scaling dapat digunakan pada jaringan yang memuat kapasitas sisi
cukup besar. Sehingga kesimpulannya, Algoritma Capacity Scaling
tersebut dapat dijadikan alternatif dalam menyelesaikan permasalahan
Minimum Cost Flow.
Supiatun (2013) telah melakukan penelitian terhadap permasalahan
Minimum Cost Flow menggunakan Algoritma Relaksasi dengan judul
“Penerapan Algoritma Relaksasi Permasalahan Minimum Cost Flow”.
Pada penelitian tersebut, dalam mencari solusi Minimum Cost Flow dengan
Algoritma Relaksasi pemilihan sisi dilakukan dengan cara memilih sisi
yang mempunyai reduced cost yang sama dengan nol. Jika jumlah supply
lebih dari jumlah kapasitas sisa, maka dilakukan penambahan node
potential, sehingga menambah sisi yan mempunyai reduced cost yang sama
dengan nol dan jumlah jaringan sisi pada langkah selanjutnya menjadi
bertambah. Pada skripsi tersebut juga membahas perbedaan penerapan
Algoritma Relaksasi dengan Algoritma Lintasan Terpendek Berulang dan
Jaringan Simpleks mengenai perbedaan penetuan node potential yang
mempengaruhi nilai reduced cost, perbedaan dalam pemilihan sisi yang
akan dikirim. Penerapan Algoritma Relaksasi pada permasalahan Minimum
Cost Flow dapat memperoleh solusi yang optimum. Hal ini dikarenakan
pemilihan sisi pada Algoritma Relaksasi ditentukan dengan memilih sisi
18
yang mempunyai reduced cost yang sama dengan nol dan nilai reduced cost
dipengaruhi nilai cost.
Berdasarkan penelitian-penelitian terdahulu mengenai algoritma-
algoritma pada Minimum Cost Flow beserta praktek kerjanya, hal tersebut
dapat menyelesaikan permasalahan optimalisasi terkait suatu biaya.
Dengan begitu, dalam pengoptimalan suatu biaya dapat digunakan pada
pendistribusian barang/produk. Sehinggga algoritma-algoritma pada
Minimum Cost Flow dapat digunakan untuk mencari biaya minimum dalam
permasalahan pendistribusian.
19
BAB III
METODOLOGI
3.1 Pemodelan
a. Lokasi PT Tri Surya Plastik mewakili sebagai titik asal (titik suplai) pada
suatu graph
b. Daftar alamat indutri tujuan sebagai titik tujuan (titik demand) pada suatu
graph
c. Setiap jalan yang menghubungkan setiap tempat disebut sebagai sisi graph
d. Setiap jalan yang memiliki arah arau arus tertentu disebut sisi berarah pada
digraph
e. Biaya distribusi serta kapasitas yang dilalui di setiap jalan disebut bobot
pada sisi graph
20
3.2.2 Algoritma Lintasan Terpendek Berulang
21
jika 𝑢𝑖𝑗 = 13, maka 𝑢𝑖𝑗 (16) = 0; 𝑢𝑖𝑗 (8) = 8 ; 𝑢𝑖𝑗 (4) = 12; 𝑢𝑖𝑗 (2) =
12; 𝑑𝑎𝑛 𝑢𝑖𝑗 (1) = 13 = 𝑢𝑖𝑗 .
Langkah- Langkah penyelesaian algoritma Capasity Scaling : (Saputri et
al., n.d.)
1. Menentukan jaringan sisa, dengan mengalirkan aliran setiap sisinya
𝑥𝑖𝑗 = 0 dan potensial setiap titiknya adalah 𝜋 (𝑖 ) = 0. Sehingga dari
jaringan sisa tersebut akan didapatkan ketakseimbangan titik 𝑒(𝑖 ), biaya
sisa 𝑢𝑖𝑗 𝜋 , dan kapasitas sisa 𝑟𝑖𝑗
2. Tentukan nilai ∆= 2|2log 𝑈 . ∆ nantinya akan menjadi banyaknya unit
yang dilirkan pada setiap lintasan yang terpilih. Jika ∆ ≥ 1 maka lanjut
ke langkah 3, jika ∆< 1 maka algoritma berhenti.
3. Apabila kapasitas sisa lebih dari atau sama dengan ∆ (𝑟𝑖𝑗 ≥ ∆ dan biaya
sisa kurang dari 0 (𝑐𝑖𝑗 𝜋 < 0) maka alirkan sebanyak 𝑟𝑖𝑗 dan update
ketakseimbangan titik 𝑒(𝑖 ), aliran 𝑥𝑖𝑗 dan kapasitas sisa 𝑥𝑖𝑗 dan lanjut ke
langkah 4. Apabila tidak terjadi kasus tersebut, maka langsung ke
langkah 4.
4. Tentukan S(∆) dan T(∆) dengan:
S(∆) merupakan himpunan titik yang mempunyai ketakseimbangan titik
sebanyak lebih dari atau sama dengan ∆ atau merupakan himpunan titik
pengirim. Sedangkan T(∆) merupakan himpunan titik yang memiliki
ketakseimbangan titik sebanyak kurang dari atau sama dengan −∆ atau
merupakan himpunan titik penerima.
S(∆) = {i∈ N: e(i) ≥ ∆}
T(∆) = {i ∈ N: e(i) ≤ −∆}
Apabila S(∆) ≠ ∅ dan T(∆) ≠ ∅ maka lanjut ke langkah 5. Apabila S(∆)
= ∅ dan T(∆) = ∅ maka langsung ke langkah 7.
5. Ketika S(∆) ≠ ∅ dan T(∆) ≠ ∅ maka lakukan langkah berikut:
Pilih k ∈ S(∆) dan l ∈ T(∆).
Update biaya sisa 𝑐𝑖𝑗𝜋 = 𝑐𝑖𝑗 -𝜋(𝑖 ) + 𝜋 (𝑗)
22
Update jarak 𝑑 (𝑗) = 𝑑 (𝑖 ) + 𝑐𝑖𝑗𝜋
Pilih P yang merupakan lintasan terpendek dari titik k ke titik
l pada jaringan sisa-∆. Pemilihan lintasan dilakukan dengan
cara melihat 𝑑 (𝑙 ), yaitu dengan mencari lintasan dengan
biaya sisa minimum yang sama dengan 𝑑 (𝑙 ).
Update potensial titik 𝜋(𝑖 ) = 𝜋 (𝑖 ) − 𝑑(𝑖)
Alirkan sebanyak ∆ pada lintasan terpilih P.
Update ketakseimbangan titik 𝑒(𝑖 ) = 𝑏(𝑖 ) + ∑ 𝑥𝑗𝑖 − ∑ 𝑥𝑖𝑗
Update kapasitas sisa 𝑟𝑖𝑗 = 𝑟𝑖𝑗 − ∆. Apabila pada lintasan ada
sisi (j,i), maka 𝑟𝑖𝑗 = 𝑟𝑖𝑗 + ∆.
Update kapasitas sisa 𝑥𝑖𝑗 = 𝑥𝑖𝑗 + ∆. Apabila pada lintasan ada
sisi (j,i), maka 𝑥𝑖𝑗 = 𝑥𝑖𝑗 - ∆.
6. Lakukan langkah 5 sampai T(∆) terpilih semua.
7. Apabila T(∆) sudah terpilih semua, update ∆ dengan ∆= ∆/2.
8. Kembali ke langkah 3
9. Output: jumlah dari aliran 𝑥𝑖𝑗 yang masing-masing dikalikan dengan
biaya sisinya 𝑐𝑖𝑗 , ∀(𝑖, 𝑗) ∈ 𝐴
23
2. Memulai dengan membuat titik graph, dengan pilih New Node,
selanjutnya edit pada tempat yang tersedia.
24
5. Selanjutnya pilih menu Solvers → Minimum Cost Flow , lalu pilih
algoritma yang akan digunakan.
25
BAB IV
PT. Tri Surya Plastik merupakan salah satu perusahaan dari Jawa
Timur yang bekerja di bidang pendistribusian industri grosir. PT Tri Surya
Plastik berlokasi di Jl. Sumber Suko No. 842, Kec. Lawang, Kab. Malang
dibawah pimpinan sekaligus pemilik Bapak Siswanto Perusahaan tersebut
memproses serta mengolah plastik-plastik buangan (limbah plastik)
menjadi biji plastik maupun plastik biasa. Plastik hasil olahan tersebut
dibagi menjadi beberapa kategori yakni Plastik PE, Gilingan HD, Gilingan
PP Hitam, Plastik Campur, dan Tali Plastik. Tak hanya plastik yang
didistribusikan, Karton C48/Jumbo, Paper Core, dan Kertas juga di
distribusikan. Kemudian produk yang dihasilkan tersebut dikirimkan atau
didistribsikan ke beberapa tempat industri serta ke beberapa pengecer grosir
lainnya. Penditribusian dilakukan ke beberapa daerah yang ada di Jawa
Timur serta satu ada di Jawa Tengah, yakni Pasuruan, Porong, Bangil,
Malang, Singosari, Mojokerto Probolinggo, Surabaya, serta Kudus. Pada
daerah Malang terdapat dua tempat industri tujuan, sedangkan untuk daerah
lainnya hanya ada satu tempat industri tujuan.
4.2 Narasi
26
menyelesaikan permasalahan PT Tri Surya Plastik terkait biaya minimum
pendistribusian, dapat menggunakan Penerapan Teori Graph dari
permasalahan Minimum Cost Flow. Dimana PT Tri Surya Plastik sebagai
titik asal (suplai), daftar alamat tempat industri tujuan sebagai titik tujuan
(demand), serta biaya dan kapasitas sebagai bobot pada sisi. Kemudian
permasalahan tersebut digambarkan dalam suatu graph. Dalam
menyelesaikan permasalahan Minimum Cost Flow menggunakan
Algoritma Successive Shoertest Path, Algoritma Capacity Scaling, dan
Algoritma Jaringan Simpleks. Penggunaan algoritma – algoritma tersebut
dikarenakan pada penelitian sebelumnya didapatkan solusi yang optimal
untuk permasalahan Minimum Cost Flow. Serta merupakan beberapa
alternatif dalam menentukan solusi optimal mendapat biaya minimum.
27
Biaya pengiriman produk dan kapasitas kendaraan pengirim produk sebagai
berikut :
28
Dari Pasuruan ke Porong : 2000
Dari Porong ke Bangil : 4000
Dari Bangil ke Probolinggo : 2000
Dari Singosari ke Malang : 6000
Dari Surabaya ke Mojokerto : 4000
Dari Surabaya ke Kudus : 10.000
Model Graph :
4.3.1 Penyelesaian masalah data aktual dengan alat bantu aplikasi Giden :
Terdapat 10 data ( Titik suplai dan Titik Demand)
a. Algoritma Jaringan Simpleks
Model graph :
29
Menentukan spanning tree :
Iterasi 1 :
30
Pada sisi berwarna merah (non tree / yang tidak termasuk dalam
spanning tree / sisi (2,3)) telah benilai < 0 , sehingga jaringan belum
optimal. Oleh karena itu, masukkan sisi (2,3) ke dalam tree.
31
Jaringan sudah optimum dari iterasi 1 berdasarkkan alat bantu,
sehingga dihasilkan solusi optimum untuk permasalahan minimum cost
flow menggunakan Algoritma Jaringan Simpleks, didapatkan sebagai
berikut :
32
∴ Solusi optimum pada permasalah minimum cost flow pada PT. Tri Surya
Plastik diperoleh biaya minimum pendistribusian menggunakan Algoritma
Jaringan Simpleks yakni sebesar 2.848.778
Model Graph :
Iterasi 1 :
33
Iterasi 2 :
Iterasi 3 :
34
Iterasi 4 :
Iterasi 5:
35
Iterasi 6 :
Iterasi 7 :
36
Iterasi 8 :
Iterasi 9 :
Iterasi 10 :
37
∴ Solusi optimum pada permasalah minimum cost flow pada PT. Tri Surya
Plastik diperoleh biaya minimum menggunakan Algoritma Successive
Shortest Path yakni sebesar 2.848.778
38
𝚫 = 𝟖𝟏𝟗𝟐
Iterasi 1
𝚫 = 𝟏𝟎𝟐𝟒
Iterasi 2 Iterasi 3
Iterasi 4 Iterasi 5
39
𝚫 = 𝟓𝟏𝟐
Iterasi 6 Iterasi 8
Iterasi 7 Iterasi 9
Iterasi 10
40
𝚫 = 𝟐𝟓𝟔
Iterasi 11 Iterasi 13
Iterasi 12 Iterasi 14
𝚫 = 𝟏𝟐𝟖
Iterasi 15 Iterasi 16
41
Iterasi 17
𝚫 = 𝟔𝟒
Iterasi 18 Iterasi 19
𝚫 = 𝟑𝟐
Iterasi 20 Iterasi 21
42
Iterasi 22 Iterasi 23
𝚫 = 𝟏𝟔
Iterasi 24 Iterasi 26
Iterasi 25 Iterasi 27
43
Iterasi 28
𝚫=𝟖
Iterasi 29 Iterasi 31
Iterasi 30 Iterasi 32
Iterasi 33
44
𝚫=𝟒
Iterasi 34 Iterasi 36
Iterasi 35
𝚫=𝟐
Iterasi 37 Iterasi 38
45
𝚫=𝟏
Iterasi 39 Iterasi 41
Iterasi 40
Iterasi 42
(Iterasi 43)
∴ Solusi optimum pada permasalah minimum cost flow pada PT. Tri Surya
Plastik diperoleh biaya minimum pendistribusian menggunakan Algoritma
Capacity Scaling yakni sebesar 2.848.778
46
ANALISA HASIL
47
Singosari, Pusat → Kudus,
Pusat → Mojokerto, Pusat →
Probolinggo, Pusat →
Surabaya
Algoritma Pusat → Pasuruan, Pasuruan
Successive Shortest → Porong, Pusat → Bangil,
Path Pusat → Malang, Pusat →
2.848.778 Singosari, Pusat → Kudus,
Pusat → Mojokerto, Pusat →
Probolinggo, Pusat →
Surabaya
Algoritma Capacity Pusat → Pasuruan, Pasuruan
Scaling → Porong, Pusat → Bangil,
Pusat → Malang, Pusat →
2.848.778 Singosari, Pusat → Kudus,
Pusat → Mojokerto, Pusat →
Probolinggo, Pusat →
Surabaya
48
Biaya dan kapasitas :
Kapasaitas
Rute Biaya ($)
Kendaraan
Model Graph :
49
1. Menentukan spanning tree
Iterasi 1
Menentukan nilai 𝑥𝑖𝑗 , 𝜋(𝑖 ), 𝑑𝑎𝑛 𝐶𝑖𝑗𝜋
- Nilai 𝒙𝒊𝒋 (permintaan)
𝑥12 = 200
𝑥13 = 80
𝑥14 = 200
𝑥15 = 100
50
𝑥23 = 0
𝑥34 = 0
𝑥45 = 0
- Nilai 𝝅(𝒊) (cost)
𝜋(1) = 0
𝜋(2) = 0 – 25 = -25
𝜋(3) = 0 – 50 = -50
𝜋(4) = 0 – 50 = -50
𝜋(5) = 0 – 75 = -75
- Nilai 𝑪𝝅𝒊𝒋
𝐶𝑖𝑗𝜋 = 𝐶𝑖𝑗 − 𝜋(𝑖 ) + 𝜋(𝑗)
𝜋
𝐶12 = 25 − 0 + (−25) = 0
𝜋
𝐶13 = 50 − 0 + (−50) = 0
𝜋
𝐶14 = 50 − 0 + (−50) = 0
𝜋
𝐶15 = 75 − 0 + (−75) = 0
𝜋
𝐶23 = 24 + 25 + (−50) = −1 < 0
𝜋
𝐶34 = 15 − (−50) + (−50) = 15
𝜋
𝐶45 = 47 − (−50) + (−75) = 22
Ada sisi yang non tree (tidak termasuk dalam spanning tree)
melanggar definisi (nilainya < 0) yaitu sisi (2,3), sehingga jaringan
belum optimal. Lalu, masukkan sisi (2,3) ke pohon sehingga
menghasilkan sikel [1231], kemudian misal keluarkan sisi (1,2).
Tambahkan nilai 𝑥12 = 200 pada 𝑥𝑖𝑗 yang searah dan kurangkan
pada 𝑥𝑖𝑗 yang berlawanan arah, sehingga diperoleh
𝑥12 = 200 − 200 = 0
𝑥13 = 80 + 200 = 280
𝑥23 = 0 − 200 = −200
𝜋(2) = −50 + 24 = −26
Sehingga diperoleh gambar :
51
Iterasi 2
Menentukan nilai 𝑥𝑖𝑗 , 𝜋(𝑖 ), 𝑑𝑎𝑛 𝐶𝑖𝑗𝜋
- Nilai 𝒙𝒊𝒋 (permintaan)
𝑥12 = 0
𝑥13 = 280
𝑥14 = 200
𝑥15 = 100
𝑥23 = −200
𝑥34 = 0
𝑥45 = 0
- Nilai 𝝅(𝒊) (cost)
𝜋(1) = 0
𝜋(2) = -26
𝜋(3) = -50
𝜋(4) = -50
𝜋(5) = -75
- Nilai 𝑪𝝅𝒊𝒋
𝐶𝑖𝑗𝜋 = 𝐶𝑖𝑗 − 𝜋(𝑖 ) + 𝜋(𝑗)
𝜋
𝐶12 = 25 − 0 + (−26) = −1 < 0
52
𝜋
𝐶13 = 50 − 0 + (−50) = 0
𝜋
𝐶14 = 50 − 0 + (−50) = 0
𝜋
𝐶15 = 75 − 0 + (−75) = 0
𝜋
𝐶23 = 24 − (−26) + (−50) = 0
𝜋
𝐶34 = 15 − (−50) + (−50) = 15
𝜋
𝐶45 = 47 − (−50) + (−75) = 22
Ada sisi yang non tree (tidak termasuk dalam spanning tree)
melanggar definisi (nilainya < 0) yaitu sisi (1,2), sehingga jaringan
belum optimal. Lalu, masukkan sisi (1,2) ke pohon sehingga
menghasilkan sikel [1231], kemudian misal keluarkan sisi (1,3).
Tambahkan nilai 𝑥13 = 280 pada 𝑥𝑖𝑗 yang searah dan kurangkan
pada 𝑥𝑖𝑗 yang berlawanan arah, sehingga diperoleh
𝑥12 = 0 + 280 = 280
𝑥13 = 280 − 280 = 0
𝑥23 = −200 + 280 = 80
𝜋(2) = −25
𝜋(3) = −25 − 24 = −49
Sehingga diperoleh gambar :
Iterasi 3
53
Menentukan nilai 𝑥𝑖𝑗 , 𝜋(𝑖 ), 𝑑𝑎𝑛 𝐶𝑖𝑗𝜋
- Nilai 𝒙𝒊𝒋 (permintaan)
𝑥12 = 280
𝑥13 = 0
𝑥14 = 200
𝑥15 = 100
𝑥23 = 80
𝑥34 = 0
𝑥45 = 0
- Nilai 𝝅(𝒊) (cost)
𝜋(1) = 0
𝜋(2) = -25
𝜋(3) = -49
𝜋(4) = -50
𝜋(5) = -75
- Nilai 𝑪𝝅𝒊𝒋
𝐶𝑖𝑗𝜋 = 𝐶𝑖𝑗 − 𝜋(𝑖 ) + 𝜋(𝑗)
𝜋
𝐶12 = 25 − 0 + (−25) = 0
𝜋
𝐶13 = 50 − 0 + (−49) = 1
𝜋
𝐶14 = 50 − 0 + (−50) = 0
𝜋
𝐶15 = 75 − 0 + (−75) = 0
𝜋
𝐶23 = 24 − (−25) + (−49) = 0
𝜋
𝐶34 = 15 − (−49) + (−50) = 14
𝜋
𝐶45 = 47 − (−50) + (−75) = 22
Karena semua sisi nilai 𝐶𝑖𝑗𝜋 terpenuhi ,tidak ada yang negatif (≮ 0), maka
jaringan sudah optimal.
54
Nilai fungsi tujuan minimum cost flow dari distribusi ini adalah
𝑧 = ∑ 𝐶𝑖𝑗 𝑥𝑖𝑗
𝑧 = 𝐶12 𝑥12 + 𝐶23 𝑥23 + 𝐶14 𝑥14 + 𝐶15 𝑥15
𝑧 = (25 𝑥 280) + (24 𝑥 80) + (50 𝑥 200) + (75 𝑥 100)
𝑧 = 26420
55
Berdasarkan hasil ari aplikasi Giden, sudah diperoleh hasil optimal ,
sehingga didapatkan solusi graph sebagai berikut :
56
1. Menentukan lintasan terpendek
a. Cari sebarang lintasan terpendek dari titik 𝑠 ke 𝑡 sebut P.
Misal lintasan terpendek dari titik 𝑠 ke 𝑡 adalah [1,2]
Kemudian cari nilai 𝛿
𝛿 = min{𝑏 (𝑡), −𝑏(𝑠), min{𝑟𝑖𝑗 }}
𝛿 = min{580, 200, 300} = 200
Diperoleh jaringan sisaan yang terbentuk dari lintasan terpendek [1,2]
57
𝛿 = min{𝑏 (𝑡), −𝑏(𝑠), min{𝑟𝑖𝑗 }}
𝛿 = min{380, 80, 300} = 80
Diperoleh jaringan sisaan yang terbentuk dari lintasan terpendek [1,3]
58
d. Cari sebarang lintasan terpendek dari titik 𝑠 ke 𝑡 sebut P.
Misal pilih titik 𝑠 dan 𝑡 adalah 1 dan 5.
Lintasan terpendek dari titik 𝑠 ke 𝑡 adalah [1,5]
Kemudian cari nilai 𝛿
𝛿 = min{𝑏 (𝑡), −𝑏(𝑠), min{𝑟𝑖𝑗 }}
𝛿 = min{100, 100, 300} = 100
Diperoleh jaringan sisaan yang terbentuk dari lintasan terpendek [1,5]
Dikarenkana nilai 𝑏(𝑠) dan 𝑏(𝑡) sudah bernilai nol semua, maka solusi
sudah optimal.
2. Menentukan nilai optimum.
Nilai fungsi tujuan minimum cost flow dari distribusi ini adalah
59
𝑧 = ∑ 𝐶𝑖𝑗 𝑥𝑖𝑗
𝑧 = 𝐶12 𝑥12 + 𝐶23 𝑥23 + 𝐶14 𝑥14 + 𝐶15 𝑥15
𝑧 = (25 𝑥 280) + (24 𝑥 80) + (50 𝑥 200) + (75 𝑥 100)
𝑧 = 26420
Iterasi 1
Iterasi 2
60
Iterasi 3
Iterasi 4
61
Didapatkan solusi optimum :
62
2. Kemudian tentukan aliran sebanyak Δ dengan kapasitas maksimum
jaringan 𝑈 = 300, sehingga diperoleh aliran sebanyak :
2 log 𝑈] 2 log 300]
Δ = 2[ = 2[ = 2[8,22881869] = 256
Perhatikan bahwa untuk tidak ada titik yang dapat menerima aliran
sebanyak 256 atau dengan kata lain T(256)= ∅. Maka ∆ direduksi
256
menjadi ∆ = = 128.
2
3. Karena pada jaringan tidak memenuhi kapasitas sisa lebih dari atau
sama dengan Δ(rij ≥ 128) dan biaya sisa kurang dari o (𝑐𝑖𝑗𝜋 < 0), maka
lanjut ke langkah 4
63
Update potensial 𝝅(𝒊) [cost] dan ketakseimbangan titik 𝒆(𝒊)
[permintaan].
𝝅(𝒊) = 𝝅(𝒊) − 𝒅(𝒊)
64
S(128) = {1}
T(128) = {4}
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙. Pilih 𝑘 = 1, 𝑘 ∈
𝑆(128) dan 𝑙 = 4, 𝑙 ∈ 𝑇(128).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−24) + (−50) = −11
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
𝑑 (4) = 0
𝑑 (5) = 0
Tentukan lintasan P dari titik 𝑘 = 1 ke titik 𝑙 = 4. Pilih lintasan P =
1→4.
Update potensial 𝝅(𝒊) [cost] dan ketakseimbangan 𝒆(𝒊)
[permintaan].
𝜇(1) = 0 𝑒(2) = −72 + 0 − 0 = −72
𝜇(2) = −25 𝑒(3) = −80
𝜇(3) = −49 𝑒(4) = −200 + 128 − 0 =
𝜇(4) = −50 −72
𝜇(5) = −75 𝑒(5) = −100
𝑒(1) = 452 + 0 − 128 = 324
Update 𝒓𝒊𝒋 dan 𝒙𝒊𝒋 pada P = 1 →4
65
𝑟12 = 172 𝑥12 = 128
𝑟13 = 300 𝑥13 = 0
𝑟14 = 300 − 128 = 172 𝑥14 = 0 + 128 = 128
𝑟15 = 300 𝑥15 = 0
𝑟23 = 300 𝑥23 = 0
𝑟34 = 300 𝑥34 = 0
𝑟45 = 300 𝑥45 = 0
4. Tentukan S(128) dan T(128), yaitu S(128) = {1} dan T(128) = ∅. Maka
lakukan langkah 7.
128
7. Karena T(128) = ∅, Maka ∆ direduksi menjadi ∆= = 64. Dan
2
Iterasi untuk ∆= 𝟔𝟒
4. Tentukan S(64) dan T(64), yaitu S(64) = {1} , dan T(64) = {2,3,4,5}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(64) dan 𝑙 = 2, 𝑙 ∈ 𝑇(64).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
66
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−49) + (−50) = 14
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
𝑑 (4) = 0
𝑑 (5) = 0
67
𝑟45 = 300 𝑥15 = 0
𝑥12 = 128 + 64 = 192 𝑥23 = 0
𝑥13 = 0 𝑥34 = 0
𝑥14 = 128 𝑥45 = 0
4. Tentukan S(64) dan T(64), yaitu S(64) = {1} ,dan T(64) = {3,4,5}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(64) dan 𝑙 = 3, 𝑙 ∈ 𝑇(64).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−49) + (−50) = 14
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
68
𝑑 (4) = 0
𝑑 (5) = 0
69
4. Tentukan S(64) dan T(64), yaitu S(64) = {1} ,dan T(64) = {4,5}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(64) dan 𝑙 = 4, 𝑙 ∈ 𝑇(64).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−49) + (−50) = 14
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
𝑑 (4) = 0
𝑑 (5) = 0
70
Tentukan lintasan P dari titik 𝑘 = 1 ke titik 𝑙 = 4. Perhatikan bahwa
𝑑 (4) = 0, pilih lintasan P = 1→ 4
Update potensial titik 𝝅(𝒊) dan ketakseimbangan titik 𝒆(𝒊)
𝜇(1) = 0 𝑒(1) = 196 + 0 − 64 =
𝜇(2) = −25 132
𝜇(3) = −49 𝑒(2) = −8
𝜇(4) = −50 𝑒(3) = −16
𝜇(5) = −75 𝑒(4) = −72 + 64 − 0 = −8
𝑒(5) = −100
Update 𝒓𝒊𝒋 dan 𝒙𝒊𝒋 pada P = 1 → 4
𝑟12 = 44 𝑥12 = 192 + 64 = 256
𝑟13 = 300 𝑥13 = 0
𝑟14 = 172 − 64 = 108 𝑥14 = 128 + 64 = 192
𝑟15 = 300 𝑥15 = 0
𝑟23 = 236 𝑥23 = 0 + 64 = 64
𝑟34 = 300 𝑥34 = 0
𝑟45 = 300 𝑥45 = 0
4. Tentukan S(64) dan T(64), yaitu S(64) = {1} ,dan T(64) = {5}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
71
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(64) dan 𝑙 = 5, 𝑙 ∈ 𝑇(64).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−49) + (−50) = 14
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
𝑑 (4) = 0
𝑑 (5) = 0
72
𝑥13 = 0 𝑥23 = 64
𝑥14 = 192 𝑥34 = 0
𝑥15 = 0 + 64 = 64 𝑥45 = 0
4. Tentukan S(64) dan T(64), yaitu S(64) = {1} dan T(64) = ∅. Maka
lakukan langkah 7.
64
7. Karena T(64) = ∅, Maka ∆ direduksi menjadi ∆= = 32. Dan kembali
2
Iterasi untuk ∆= 𝟑𝟐
4. Tentukan S(32) dan T(32), yaitu S(32) = {1} , dan T(32) = {5}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(32) dan 𝑙 = 5, 𝑙 ∈ 𝑇(32).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
73
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−49) + (−50) = 14
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
𝑑 (4) = 0
𝑑 (5) = 0
74
4. Tentukan S(32) dan T(32), yaitu S(32) = {1} dan T(32) = ∅. Maka
lakukan langkah 7.
32
7. Karena T(32) = ∅, Maka ∆ direduksi menjadi ∆= = 16. Dan kembali
2
Iterasi untuk ∆ = 𝟏𝟔
4. Tentukan S(16) dan T(16), yaitu S(16) = {1} , dan T(16) = {2}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(16) dan 𝑙 = 2, 𝑙 ∈ 𝑇(16).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−49) + (−50) = 14
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
75
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
𝑑 (4) = 0
𝑑 (5) = 0
76
4. Tentukan S(16) dan T(16), yaitu S(16) = {1} dan T(16) = ∅. Maka
lakukan langkah 7.
16
7. Karena T(16) = ∅, Maka ∆ direduksi menjadi ∆= = 8. Dan kembali
2
Iterasi untuk ∆ = 𝟖
4. Tentukan S(8) dan T(8), yaitu S(8) = {1} , dan T(8) = {4}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(8) dan 𝑙 = 4, 𝑙 ∈ 𝑇(8).
Update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊)
𝒄𝝅𝒊𝒋 = 𝒄𝒊𝒋 − 𝝅(𝒊) + 𝝅(𝒋)
𝜋
𝑐12 = 25 − 0 + (−25) = 0
𝜋
𝑐13 = 49 − 0 + (−49) = 0
𝜋
𝑐14 = 50 − 0 + (−50) = 0
𝜋
𝑐15 = 75 − 0 + (−75) = 0
𝜋
𝑐23 = 24 − (−25) + (−49) = 0
𝜋
𝑐34 = 15 − (−49) + (−50) = 14
𝜋
𝑐45 = 47 − (−50) + (−75) = 22
77
𝑑 (1) = 0
𝑑 (2) = 0
𝑑 (3) = 0
𝑑 (4) = 0
𝑑 (5) = 0
78
4. Tentukan S(8) dan T(8), yaitu S(8) = {1} dan T(8) = ∅. Maka lakukan
langkah 7.
8
7. Karena T(8) = ∅, Maka ∆ direduksi menjadi ∆= = 4. Dan kembali ke
2
Iterasi untuk ∆ = 𝟒
4. Tentukan S(4) dan T(4), yaitu S(4) = {1} , dan T(4) = {2,5}.
5. Pilih P yang merupakan lintasan terpendek dari 𝑘 ke 𝑙.
Pilih 𝑘 = 1, 𝑘 ∈ 𝑆(4) dan 𝑙 = 2, 𝑙 ∈ 𝑇(4).
Mencari update 𝒄𝝅𝒊𝒋 dan 𝒅(𝒊).
Tentukan lintasan P dari titik 𝑘 = 1 ke titik 𝑙 = 2. Perhatikan bahwa
𝑑 (2) = 0, pilih lintasan P = 1→ 2
Mencari update potensial titik 𝝅(𝒊) dan ketakseimbangan titik 𝒆(𝒊)
Kemudian , Update 𝒓𝒊𝒋 dan 𝒙𝒊𝒋 pada P = 1 → 2
79
Tentukan lintasan P dari titik 𝑘 = 1 ke titik 𝑙 = 2. Perhatikan bahwa
𝑑 (5) = 0, pilih lintasan P = 1→ 5
Mencari update potensial titik 𝝅(𝒊) dan ketakseimbangan titik 𝒆(𝒊)
Kemudian , Update 𝒓𝒊𝒋 dan 𝒙𝒊𝒋 pada P = 1 → 5.
Nilai fungsi tujuan minimum cost flow dari distribusi ini adalah
𝑧 = ∑ 𝐶𝑖𝑗 𝑥𝑖𝑗
80
𝑧 = 𝐶12 𝑥12 + 𝐶23 𝑥23 + 𝐶14 𝑥14 + 𝐶15 𝑥15
𝑧 = (25 𝑥 280) + (24 𝑥 80) + (50 𝑥 200) + (75 𝑥 100)
𝑧 = 26420
Iterasi 1
81
Iterasi 2
Iterasi 3
82
Iterasi 4
Iterasi 5
83
Iterasi 6
Iterasi 7
84
Iterasi 8
Iterasi 9
85
Iterasi 10
86
ANALISA HASIL
Dari ketiga Algoritma untuk Minimum Cost Flow yang digunakan untuk
menyelesaikan percobaan 5 titik secara manual dan aplikasi, diperoleh nilai biaya
minimum sebesar $26.240. Dengan rincian sebagai berikut :
Algoritma yang
Biaya Minimum Rute yang ditempuh
digunakan
Algoritma Jaringan Titik 1 → Titik 2, Titik 2 →
Simpleks $26.240 Titik 3, Titik 1 → Titik 4,
Titik 1 → Titik 5
Algoritma Titik 1 → Titik 2, Titik 2 →
Successive Shortest $26.240 Titik 3, Titik 1 → Titik 4,
Path Titik 1 → Titik 5
Algoritma Capacity Titik 1 → Titik 2, Titik 2 →
Scaling $26.240 Titik 3, Titik 1 → Titik 4,
Titik 1 → Titik 5
87
4.4 Faktor Penunjang dan Faktor Penghambat Survey Lapangan
88
BAB V
5.1 Kesimpulan
Dengan menggunakan alat bantu Giden diperoleh hasil untuk data aktuan
PT. Tri Surya Plastik sebagai berikut :
89
Pusat → Mojokerto, Pusat →
Probolinggo, Pusat →
Surabaya
Sedangkan untuk masalah percobaan 5 titik diperoleh hasil dengan alat bantu
Giden sebagai berikut :
90
Algoritma yang
Biaya Minimum Rute yang ditempuh
digunakan
Algoritma Jaringan Titik 1 → Titik 2, Titik 2 →
Simpleks $26.240 Titik 3, Titik 1 → Titik 4,
Titik 1 → Titik 5
Algoritma Titik 1 → Titik 2, Titik 2 →
Successive Shortest $26.240 Titik 3, Titik 1 → Titik 4,
Path Titik 1 → Titik 5
Algoritma Capacity Titik 1 → Titik 2, Titik 2 →
Scaling $26.240 Titik 3, Titik 1 → Titik 4,
Titik 1 → Titik 5
5.2 Saran
91
DAFTAR PUSTAKA
Ahuja, R.K., Orlin, J.B., 1995. A capacity scaling algorithm for the constrained
maximum flow problem. Networks 25, 89–98.
https://doi.org/10.1002/net.3230250207
Arga, E.S., 2021. PENERAPAN ALGORITMA DJIKSTRA PADA
PENCARIAN JALUR TERPENDEK 1, 9.
Battarra, M., Monaci, M., Vigo, D., 2009. An adaptive guidance approach for the
heuristic solution of a minimum multiple trip vehicle routing problem.
Computers & Operations Research 36, 3041–3050.
https://doi.org/10.1016/j.cor.2009.02.008
Chassein, A., Kinscherff, A., 2019. Complexity of strict robust integer minimum
cost flow problems: An overview and further results. Computers &
Operations Research 104, 228–238.
https://doi.org/10.1016/j.cor.2018.12.021
Dewil, R., Vansteenwegen, P., Cattrysse, D., Van Oudheusden, D., 2015. A
minimum cost network flow model for the maximum covering and patrol
routing problem. European Journal of Operational Research 247, 27–36.
https://doi.org/10.1016/j.ejor.2015.05.067
Karp, R.M., 1990. The transitive closure of a random digraph. Random Struct.
Alg. 1, 73–93. https://doi.org/10.1002/rsa.3240010106
Király, Z., Kovács, P., 2012. Efficient implementations of minimum-cost flow
algorithms. arXiv:1207.6381 [cs].
Rosen, K.H., Michaels, J.G. (Eds.), 2000. Handbook of discrete and
combinatorial mathematics. CRC Press, Boca Raton.
Saputri, R.D., Wahyuningsih, S., Satyananda, D., n.d. ALGORITMA
CAPACITY SCALING DALAM MENYELESAIKAN MINIMUM
COST FLOW PROBLEM DAN IMPLEMENTASI PROGRAMNYA 9.
Zhang, J., Meerman, H., Benders, R., Faaij, A., 2022. Potential role of natural
gas infrastructure in China to supply low-carbon gases during 2020–2050.
92
Applied Energy 306, 117989.
https://doi.org/10.1016/j.apenergy.2021.117989
93
LAMPIRAN
94