Artikel Halaman1
PENERAPAN ALGORITMA
COST SCALING PADA PERMASALAHAN
MINIMUM COST FLOW DAN IMPLEMENTASINYA PADA PROGRAM
Fajar Prabowo
Universitas Negeri Malang
E-mail: fajar_sinyoo@yahoo.com
Pembimbing: (I) Dra. Sapti Wahyuningsih, M.si,
(II) Dra. Mimiep S. Madja, M. Kom
Abstrak: Tujuan penulisanartikel ini adalah mengkaji penerapan algoritma cost scaling dalam permasalahan minimum cost flow dan mengaplikasikannya dalam program. Penelitian dilakukan dengan mengkaji penerapan algoritma cost scaling dalam penyelesaian masalah minimum cost flow, dan membandingkan hasil penyelesaian tersebut dengan menggunakan algoritma lintasan terpendek berulang.Kemudian dibuat sebuah program dengan bantuan Delphi 7. Hasil yang diperoleh adalah penyelesaian masalah minimum cost flow dengan menggunakan algoritma cost scaling sama dengan penyelesaian menggunakan algoritma lintasan terpendek berulang. Sedangkan hasil penyelesaian masalah minimum cost flow menggunakan bantuan program cost scaling, adalah sama dengan hasil yang diperoleh menggunakan program Giden.
Kata Kunci : minimum cost flow, algoritma cost scaling, program
Abstract: The purpose of this article is to examine the implementation of the cost scaling algorithm in the minimum cost flow problem, and apply it in the program. The study was conducted by reviewing the implementation of the cost scaling algorithm in solving the minimum cost flow problem, and compare the results of the settlement by using the sucsecive shortest path algorithm. Then created a program with the help of Delphi 7. The result is a minimum cost flow problem solving using cost scaling algorithm with completion using the shortest path algorithm repeatedly. While the results of the completion of the minimum cost flow problem using the help of the program cost scaling, is the same as the results obtained using the program Giden.
Keywords:minimum cost flow, cost scaling algorithm, program
Permasalahanpencarian
biaya
minimum
yang
digunakan
untuk
mendistribusikan barang dari produsen menuju konsumen, di dalam teori graph
dapat dimodelkan dengan
minimum costflow
.Salah satu algorima yang bisa
digunakan untuk menyelesaikan permasalahan pada
minimum cost flow
adalah
algoritma
cost scaling
. Algoritma
cost scaling
mengikuti kajian yang diadaptasi
dari buku
Network Flow
yang ditulis oleh Ravindra K. Ahujja (1993). Salah satu
keunggulan algoritma ini adalah mudah untuk diterapkan pada permasalahan
minimum cost flow
karena iterasinya mudah dipahami dan tidak terlalu banyak.
Agar penyelesaian permasalahan
minimum cost flow
dengan menggunakan
algoritma
cost salling
secara lebih efisien, akan dibuat program dengan bantuan
program Delphi.
Penulisan artikel ini secara khusus ditujukan untuk mengetahui langkah–
langkah pencarian
minimum cost flow
dengan menggunakan algoritma
cost
scalling
kemudianmenerapkannyauntuk menyelesaikan permasalahan
minimum
cost flow
. Selain itu juga untuk mengetahui perbedaan hasil penyelesaian
minimum cost flow
antara algoritma
cost scalling
dengan algoritma lintasan
terpendek berulang serta menyusun program untuk menyelesaikan
minimum cost
flow
dengan algoritma
cost scalling.
Artikel Halaman2
Untuk menunjang penulisan dibutuhkan beberapa kajian teori antara lain
digraph berbobot, jaringan,
minimum cost flow
, dan algoritma
cost scaling
.Wilson
(1989: 132) mendefinisikan, Suatu digraph
,
disebut sebuah digraph
berbobot (
weight graph
), apabila terdapat sebuah fungsi bobot bernilai real
pada himpunan ,
W: A
R
disebut bobot-bobot sisi , untuk semua anggota
. Digraph
berbobot tersebut dapat dinyatakan sebagai
, ,
.
Digrap berbobot (weight digraph).
Jaringan (dilambangkan
N
) adalah digraph sederhana, berbobot, jika
memenuhi:
•
Satu titik yang merupakan titik sumber, tidak memiliki sisi masuk
•
Satu titik yang merupakan titik tujuan, tidak memiliki sisi keluar
Muatan sisi
i,j
disebut kapasitas sisi
i,j
, dilambangkan
c
ij denganc
ijadalah bilangan bulat non negatif.
Minimum cost flow
adalah suatu graph
G V,E
yang merupakan jaringan
terhubung dengan himpunan titik
V
dan himpunan sisi berarah E yang
masing-masing sisi
(i,j)
∈
E
mempunyai
costc
ijdan kapasitas muatan
u
ij≥
0
.
Misal
n
=
V
dan
m
=
E
(Rosen : 630).
Algoritma
cost scaling
memperlakukan ε sebagai parameter dan secara
iterasi diproses untuk memperoleh ε-optimal flow untuk nilai yang lebih kecil
dari ε. Awalnya, ε = C dan setiap aliran feasibel adalah ε-optimal. Algoritma
kemudian
melakukan
fase
cost
scaling
secara
berulang
kali
dengan
menerapkanprosedur
improve-approximation
yang mengubah aliran ε-optimal
menjadi
-optimal flow. Setelah melakukan 1 + log (nC) tahap l
cost scaling
,
dan kemudian algoritmaberakhir dengan aliran yang optimal (Ahuja : 364).
Hasil yang Diharapkan
Pada tahap ini dapat mengkaji beberapa prosedur inti yang digunakan untuk
menyelesaikan
minimum costflow
diantaranya adalah prosedur
improve-approximation
dan prosedur
push/relabel
sehingga dapat diterapkan dalam contoh
permasalahan
minimum costflow.
Selanjutnya dapat mengkaji perbedaan
penyelesaian
minimum costflow
dengan menggunakan algoritma
cost scaling
dan
menggunakan algritma lintasan terpendek berulang. Untuk mempermudah
menyelesaikan permasalahan
minimum cost fow
dengan menggunakan algoritma
cost scaling,
selanjutnya cukup disebut program
cost scaling,
dibuat program
dengan bantuan program Borland Delphi 7. Pada tahap ini disusun
syntax
program
dan penyusunan
flowchart
.
Artikel Halaman3
Pembahasan
Untuk menyelesaikan permasalahan minimum cost flow dengan algoritma
cost scaling
diperlukan langkah-langkah berikut.
Inisialisasi yaitu langkah yang menggambarkan keadaan awal dalam bentuk
jaringan
berarah.
Penggambaran
keadaan
awal
dimulai
dengan
menggambarkan banyaknya titik yang terdapat di dalam permasalahan.
Masing-masing sisi dihubungkan dengan sisi berarah
,
yang
menunjukkan adanya jalan untuk aliran dari titik i ke titik j. Setiap sisi
,
mempunyai dua bobot yang disimbolkan
yang merupakan biaya yang
diperlukan untuk mengalirkan suplai dari titik i ke titik j dan
!
adalah batas
maksimum suplai yang dapat dialirkan dari titik i ke titik j. 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.
Menentukan
node imbalance
/titik kesetimbangan dari masing-masing titik
yang
disimbolkan
dengan
dengan
ketentuan
"
# ∑
& : , ' (,() *%
+ ∑
& : , ' (,() *%
,
"
adalahsuplai dari titik
i.Pada algoritma
cost scaling
nilai awal
%) , 0
, maka
"
dan
.
!
, / ,
'
.
Menentukan biaya tereduksi (
0+ 1
# 1
) pada masing-masing
sisi pada digraph G. Karena pada algoritma
cost scaling
nilai awal
1
0,
/ '
, sehingga
0,
/ ,
'
. Kemudian menuliskan
0, .
pada
setiap sisi di G.
Pilih titik aktif yang terdapat pada jaringan sisa. Titik i dikatakan titik aktif
apabila e(i) > 0.
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
+
23
00, / ,
' .
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
1
56781
96:6#
2.
Lakukan pelabelan biaya tereduksi pada sisi yang berpangkal pada titik aktif
yang telah dipilih.
Lakukan langkah 6 apabila sisi admisibel masih belum diperoleh.
Setelah sisi admisibel yang berpangkal pada titik aktif diperoleh, tentukan
nilai δ dengan cara δ = Min{e(i), r
ij}.
Lakukan proses pengiriman suplai sebanyak δ unit pada sisi admisibel,
misalkan sisi admisibel yang dipilih adalah sisi (i,j), yaitu dengan cara e(i)
baru= e(i)
lama– δ, e(j)
baru= e(j)
lama+ δ. Mengganti sisi (i,j) dengan dua sisi (i,j) dan
Artikel Halaman4
memiliki bobot
0 0dan r
ij= r
ij– δ, sedangkan sisi (j,i) memiliki bobot
0
+
0dan r
ji= δ
Hapus sisi yang memiliki kapasitas sisa sama dengan nol (r
ij=0).
Lakukan pengulangan pada langkah 10 sampai diperoleh e(i) = 0,
/ '
.
Menggambarkan digraph solusi optimum dengan aliran
dan
%
.
, serta
mencari
;
∑
%
.
Perbedaan langkah-langkah algoritma
cost scaling
dengan algoritma
lintasan terpendek berulang terdapat pada penentuan nilai titik potensial dan
penentuan suplai yang akan dialirkan dalam jaringan. Nilai titik potensial (
π
) pada
algoritma
cost scaling
ditentukan dengan cara
1
1
#
2sedangkan suplai
(
δ
) yang akan dialirkan dalam jaringan ditentukan dengan cara
<
= >&
, .
.
Nilai titik potensial (
π
) pada algoritma lintasan terpendek berulangditentukan
dengan cara
1
1
+ ?
# ? @
sedangkan suplai (
δ
) yang akan dialirkan
dalam jaringan ditentukan dengan cara
<
min& C , + @ , minD.
, ,
' EF*
.
Implementasi program penyelesaian permasalahan
minimum cost flow
dengan menggunakan algoritma
cost scaling
dibuat dengan bantuan program
Delphi 7 dan mengikuti
syntax
algoritma sebagai berikut:
algorithm
cost scaling;
begin
π : = 0 andε : = C;
let
x
be any feasible flow;
while
G
do
begin
improve
-approximation(ε, x
, π);
2
;
end;
x
is an optimal flow for the minimum cost flow problem;
end;
procedure
improve-approximation(ε, x
, π);
begin
for
every
arc (i, j)
∊
A do
if
0 K 0then
%
: = 0
else if
0 0then
%
, !
;
compute node imbalances;
while the network contains an active node do
begin
select an active node
i;
push/rel
abel (i );
end;
end;
procedure
push/relabel(i);
begin
Artikel Halaman5
push δ : =
min{e(i),
.
}
units of flow from node
i
to node
j;
else π(i) : =
π(i)
+
2;
end;
(Williamson, 2007: 14)
Tampilan dari program
cost scaling
yang dihasilkan adalah seperti berikut :
Simulasi penyelesaian masalah
minimum cost flow
dikerjakan dengan
menggunakan program
cost scaling
dan program Giden. Dalam simulasi tersebut
diperoleh hasil yang sama.
Penutup
Berdasarkan pembahasan sebelumnya, beberapa kesimpulan yang diperoleh
diantaranya adalah proses penyelesaian masalah
minimum cost flow
dengan
algoritma
cost scalling
dilakukan melalui beberapa prosedur inti yaitu prosedur
improve-approximation
dan prosedur
push/relabel.
Nilai titik potensial (
π
) pada
algoritma
cost scaling
ditentukan dengan cara
1
1
#
2sedangkan suplai
(
δ
) yang akan dialirkan dalam jaringan ditentukan dengan cara
<
= >&
, .
.
Nilai titik potensial (
π
) pada algoritma lintasan terpendek berulangditentukan
dengan cara
1
1
+ ?
# ? @
sedangkan suplai (
δ
) yang akan dialirkan
dalam jaringan ditentukan dengan cara
<
min& C , + @ , minD.
, ,
'
E*
.Simulasi penyelesaian masalah
minimum cost flow
dikerjakan dengan
menggunakan program
cost scaling
dan program Giden. Dalam simulasi tersebut
diperoleh hasil yang sama.
Dari pembahasandi atas, pembaca diharapkanmenganalisis penerapan
algoritma
cost scalling
pada permasalahan
minimum cot flow
apabila terdapat lebih
dari satu sisi admisibel dan bangun suatu teorema. Kemudian untuk penulisan
berikutnya adanya pembuktian beberapa teorema yang mendukung keeksistensian
algoritma
cost scalling
pada permasalahan
minimum cost flow
.
Artikel Halaman6