Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
Gambar 2.5. Flow dalam network
Gambar 2.5 memperlihatkan bahwa setiap arc terletak pada tiap-tiap node dari sumber
s ke tujuan t. Arc menggambarkan saluran dengan kapasitas tertentu. Kapasitas merupakan batas maksimal di mana setiap material misalnya air, gas, listrik dapat
dialirkan melalui saluran. Sedangkan node menggambarkan persimpangan saluran. Material mengalir melalui node tanpa mengumpulkan material tersebut pada node yang
dilalui kecuali pada node sumber dan node tujuan.
2.6. Minimal Cost Flow
Definisi 2.4 Suatu network yang mempunyai arc cost. Cost flow adalah perkalian cost
dan flow sehingga cost flow adalah suatu bilangan..
Suatu flow f adalah suatu minimal cost flow jika f mempunyai minimal cost diantara semua flow yang ada dengan nilai flow, maka yang akan dicari dalam masalah
minimal cost flow adalah suatu minial cost dengan nilai flow yang maksimal.
Definisi 2.5 Anggap G=X,Y adalah suatu network yang berarah menggambarkan
suatu himpunan node X dan suatu arc A yang berarah. Setiap arc x,y ∈ A mempunyai
s t
X2 X1
X4 X3
8
6 6
6 6
8 5
4 a
2
a
1
a
3
a
6
a
5
a
4
a
7
a
9
a
8
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
non-negatif cost ux,y yang mengalirkan unit flow pada setiap arc dan juga memiliki kapasitas cx,y. Jumlah cost suatu flow dari sumber s ke tujuan t, secara berurut adalah
:
y x
u y
x f
f t
A y
x
, ,
cos
,
∑
∈
= Dimana ;
f : merupakan aliran flow
x,y : merupakan arc
u : merupakan batas atas
BAB III
PEMBAHASAN
3.1. Metode of Kilter Menentukan Minimal Cost Pada Persoalan Network
Bentuk umum dari masalah aliran minimal cost dapat dituliskan sebagai berikut.
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
Minimumkan
∑∑
= =
m i
m j
ij ij
x c
1 1
Kendala
1 1
∑ ∑
= =
= −
m j
m k
ki ij
x x
i = 1, 2, ...,m 3.1
x
ij
≥ l
ij
i,j = 1, 2, …,m x
ij
≤ u
ij
i,j = 1, 2, …,m
keterangan :
m : merupakan banyak node
c
ij
: cost dari node asal i ke node tujuan j x
ij
: aliran flow dari node asal i ke node tujuan j l
ij :
batas bawah u
ij
: batas atas Kekekalan aliran yang memenuhi pada batasan tetap l
ij
≤ x
ij
≤ u
ij
adalah feasible flowAliran yang layak. Asumsikan c
ij
, l
ij
, dan u
ij
integer dan 0 ≤ l
ij
≤ u
ij
.
Karena semua nilai di sisi kanan pada persamaan kekekalan aliran adalah nol, maka dapat disimpulkan bahwa aliran dalam network tidak akan terlihat di titik awal
atau titik akhir, tapi akan beredar terus-menerus sepanjang aliran di network tersebut. Dengan demikian kekekalan aliran dalam network akan membentuk lingkaran berarah
directed cycles.
3.1.1. Dual pada Aliran Network
Sesuaikan variabel dual w
i
dengan setiap node pada Persamaan 3.1, variabel dual h
ij
dengan batasan x
ij
≤ u
ij
yang mana ditetapkan - x
ij
≥ - u
ij
untuk mencari dual, dan variabel dual v
ij
dengan batasan x
ij
≥ l
ij
, dual dari out-of-kilter pada permasalahan aliran network minimal cost dituliskan sebagai berikut.
Maksimalkan
∑∑
= =
m i
m j
ij ij
v l
1 1
-
∑∑
= =
m i
m j
ij ij
h u
1 1
Kendala w
i
– w
j
+ v
ij
– h
ij
= c
ij
i, j = 1,…, m h
ij
,v
ij
≥ 0 i, j = 1,…, m
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
w
i
tak terbatas unrestricted i = 1,…, m Keterangan :
v
ij
: nilai constraint atau nilai pembatas x
ij
≥ u
ij
h
ij
: nilai contraint atau nilai pembatas x
ij
≤ u
ij
w
i :
nilai bobot dari node asal i w
j
: nilai bobot dari node tujuan j z
ij
: merupakan nilai optimal dari node asal i ke node tujuan j
Jika w
i
asumsikan semua w
i
integer, maka dual constraint untuk arc i, j menjadi
v
ij
– h
ij
= c
ij
– w
i
+ w
j
, h
ij
≥ 0, v
ij
≥ 0 dan dapat dipenuhi oleh
v
ij
= Maksimum {0, c
ij
- w
i
+ w
j
} h
ij
= Maksimum {0, - c
ij
- w
i
+ w
j
}
3.1.2. Kondisi-kondisi Complementary Slackness
Kondisi-kondisi complementary slackness untuk mendapatkan nilai yang optimal dari perumusan out-of-kilter adalah sebagai berikut:
x
ij
– l
ij
v
ij
= 0 i,j = 1, 2,…, m
3.2 u
ij
– x
ij
v
ij
= 0 i,j = 1, 2,…, m
3.3 z
ij
– c
ij
w
i
– w
j
- c
ij
. Kemudian dari definisi v
ij
dan h
ij
didapat v
ij
= Maksimum {0, -zij – c
ij
} 3.4
h
ij
= Maksimum {0, zij – c
ij
} 3.5
Catatan bahwa z
ij
– c
ij
akan dikenal sebagai koefisien x
ij
dalam barisan fungsi objektif pada tabel simpleks batas atas-batas bawah yang mempunyai solusi dasar pada masalah
primal.
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
Bila diberikan nilai pada w
i
, maka dapat dihitung z
ij
– c
ij
= w
i
– w
j
- c
ij.
Jika melihat persamaan pada 3.4 dan 3.5, maka kondisi complementary slackness 3.2
dan 3.3 diperoleh z
ij
– c
ij
0 v
ij
0 x
ij
= l
ij
i, j = 1, 2,..., m 3.6
z
ij
– c
ij
0 h
ij
0 x
ij
= u
ij
i, j = 1, 2,..., m 3.7
Memasukkan kondisi tambahan z
ij
– c
ij =
0 l
ij
≤ x
ij
≤ u
ij
i, j = 1, 2,..., m 3.8
3.1.3 Strategi Out-Of-Kilter
Langkah umum algoritma out-of-kilter diuraikan pada gambar 3.3 adalah sebagai
berikut : 1
Mulai dari kekekalan aliran node masuk sama dengan node yang keluar, masing-masing x
ij
= 0, dan solusi yang layak untuk dual, masing-masing w
i
= 0, dengan h
ij
, v
ij
seperti yang dijelaskan pada Persamaan 3.4 dan 3.5. Identifikasi keadaan kilter dan hitung bilangan kilter.
2 Jika pada network memiliki arc out-of-kilter, maka lakukan tahap primal
algoritma. Selama tahap ini arc out-of-kilter terpilih dan mencoba membuat bentuk kekekalan aliran baru sedemikian bilangan kilter tidak ada arc
memburuk dan arc yang terpilih ditingkatkan. 3
Ketika ditentukan bahwa tidak ada aliran yang meningkat terbangun selama tahap primal, algoritma membuat solusi dual yang baru sedemikian tidak ada
bilangan kilter yang memburuk worsened dan ulangi tahap 2. 4
Iterasi antara tahap 2 dan tahap 3, algoritma secepatnya membangun solusi optimal atau menentukan tidak ada solusi yang layak.
Algoritma out-of-kilter yang lengkap terdiri dari 3 tiga tahap: tahap permulaan initiation phase, tahap primal primal phase, tahap dual dual phase.
3.1.4 Tahap Permulaan Initiation Phase
Dimulai dengan sebuah aliran, katakan untuk setiap x
ij
= 0, dan inisial dual variabel, katakan w
i
= 0. Hitung z
ij
– c
ij
= w
i
– w
j
- c
ij.
3.1.5 Tahap Primal: Merubah Aliran
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
Tentukan status kilter dan bilangan kilter untuk setiap arc. Kemudian cari dalam network yang membentuk sirkuit cycle. Jika semua arc in-kilter, maka stop. Dengan
diperoleh solusi optimal. Jika tidak, maka pilih atau lanjutkan dengan arc out-of-kilter p,q yang sebelumnya terpilih. Dari network G membentuk network G’ menurut Tabel
3.3. Untuk setiap arc i,j pada G adalah salah satu dari status kilter yang membolehkan aliran meningkat, tempatkan arci, j di dalam G’ dengan arus yang dibolehkan
meningkatkan. Untuk setiap arc i,j pada G adalah salah satu dari status kilter yang membolehkan aliran berkurang, selanjutnya tempatkan arcj, i di dalam G’ dengan arus
yang dibolehkan. Untuk arc-arc di dalam G yang bagian dari status yang dibolehkan itu tidak ada aliran berubah, kemudian tempatkan tidak ada arc di dalam G’. Penentuan
sirkuit seperti itu disebut breakthrough. Jika sirkuit seperti itu didapatkan, maka tentukan perubahan aliran
sama dengan minimum dari aliran yang berubah pada arc
dalam sirkuit. Ubah aliran pada setiap arc dari siklus berhubungan dalam G dengan jumlah
menggunakan orientasi yang ditetapkan oleh sirkuit sebagai arah peningkatan.
Khususnya, misalkan x’
ij
= x
ij
+
jika i, j adalah anggota dari sirkuit G’; misalkan x’
ij
= x
ij
-
jika j, i adalah anggota dari sirkuit G’; misalkan x’
ij
= x
ij
sebaliknya. Ulangi tahap primal. Jika tidak ada sirkuit berisi arc p, q ada tersedia di dalam G’, maka
lakukan tahap dual. Penentuan tidak ada sirkuit seperti itu disebut nonbreakthrough
Tabel 3.1. Status kilter pada arc
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
z
ij
– c
ij
z
ij
– c
ij
= 0 z
ij
– c
ij
x
ij
u
ij
Out-of-kilter Out-of-kilter
Out-of-kilter
x
ij
= u
ij
Out-of-kilter In-kilter
In-kilter
l
ij
x
ij
u
ij
Out-of-kilter In-kilter
Out-of-kilter
x
ij
= l
ij
In-kilter In-kilter
Out-of-kilter
x
ij
l
ij
Out-of-kilter Out-of-kilter
Out-of-kilter
Keadaan in-kilter dan out of kilter pada tiap – tiap arc dalam network dapat dijelaskan pada tabel 3.1.
Jika z
ij
– c
ij
0 dan x
ij
u
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan x
ij
= u
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan l
ij
x
ij
u
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan x
ij
l
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
= 0 dan x
ij
u
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
= 0 dan x
ij
l
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan x
ij
u
i j
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan l
ij
x
ij
u
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan x
ij
= l
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan x
ij
l
ij
maka statusnya out of kilter
Jika z
ij
– c
ij
0 dan x
ij
l
ij
maka statusnya In-kilter
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
Jika z
ij
– c
ij
= 0 dan x
ij
= u
ij
maka statusnya In-kilter
Jika z
ij
– c
ij
= 0 dan l
ij
x
ij
u
ij
maka statusnya In- kilter
Jika z
ij
– c
ij
= 0 dan x
ij
= l
ij
maka statusnya In-kilter
Jika z
ij
– c
ij
0 dan x
ij
= u
ij
maka statusnya In-kilter
Tabel 3.2 Bilangan kilter K
ij
z
ij
– c
ij
z
ij
– c
ij
= 0 z
ij
– c
ij
x
ij
u
ij
| x
ij
- l
ij
| | x
ij
- u
ij
| | x
ij
- u
ij
|
x
ij
= u
ij
| x
ij
- l
ij
|
l
ij
x
ij
u
ij
| x
ij
- l
ij
| | x
ij
- u
ij
|
x
ij
= l
ij
| x
ij
- u
ij
|
x
ij
l
ij
| x
ij
- l
ij
| | x
ij
- l
ij
| | x
ij
- u
ij
|
Tabel 3.3 Jumlah dan arah perubahan aliran yang memenuhi
z
ij
– c
ij
z
ij
– c
ij
= 0 z
ij
– c
ij
x
ij
u
ij
x
ij
= u
ij
l
ij
x
ij
u
ij
|x –
l |
|x –
l |
|x –
u |
|x –
u |
|x –
u |
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
Gambar 3.2. Status kilter pada arc
Ada banyak perbedaan ukuran jarak measure distance untuk masalah out-of- kilter. Pada Tabel 3.2 dijelaskan satu ukuran jarak yang disebut dengan bilangan
kilter Kilter number K
ij
pada arc i, j. Bilangan kilter didefenisikan bilangan yang
x
ij
= l
ij
x
ij
l
ij
|x –
l |
In-kilter
In-kilter In
-ki lte
r
Out-of-kilter Out-of-kilter
Out-of-kilter
l
ij
u
ij
z
ij
- c
ij
x
ij
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
mengubah aliran di arc menjadi minimal sehingga dapat menentukan lintasan kilternya. Perlu diingat bahwa karena syarat melibatkan nilai absolut, maka bilangan
kilter pada arc harus non negatif. Jika arc yang in-kilter, maka bilangan kilter adalah nol 0 dan jika arc out-of-kilter, maka bilangan kilter adalah harus positif. Jika z
ij
– c
ij
0, maka arc i, j adalah in-kilter jika dan hanya jika aliran adalah sama dengan l
ij
dan oleh sebab itu bilangan kilter |x
ij
- l
ij
| menandai seberapa jauh arus aliran x
ij
adalah dari kasus ideal l
ij
. Dengan cara yang sama, jika z
ij
– c
ij
0, maka bilangan kilter |x
ij
- u
ij
| memberi jarak dari aliran ideal u
ij
. Terakhir, jika z
ij
– c
ij
= 0, maka arc adalah in-kilter bila l
ij
≤ x
ij
≤ u
ij
. Khususnya, jika x
ij
u
ij
, maka arc dibawa ke in-kilter dan pengurangan aliran oleh |x
ij
- u
ij
|, dan jika x
ij
l
ij
, maka arc dibawa ke in-kilter dan peningkatan aliran oleh |x
ij
- l
ij
|, dan karenanya masuk kedalam kolom z
ij
– c
ij
= 0 pada Tabel 3.2
Tahap Dual : Merubah Variabel Dual
Tahap dual adalah tahap dimana dilakukan proses perubahan nilai variabel dual yang fungsinya adalah mengurangi bilangan kilter untuk mendapatkan nilai pada arc menjadi
in – kilter. Adapun prosesnya sebagai berikut : Menentukan satuan dari node X yang dapat dicapai dari node q sepanjang path pada G’.
Misalkan X = N – X. Dalam G, dapat digambarkan S
1
dan S
2
oleh
S
1
= {i, j: i X, j X, z
ij
- c
ij
0, x
ij
≤ u
ij
}
S
2
= {i, j: i X, j X, z
ij
- c
ij
0, x
ij
≥ l
ij
}
= Minimum {| z
ij
- c
ij
|, ∞ }
Jika = ∞, maka berhenti; tidak ada solusi yang layak. Sebaliknya, ubah w
i
dan z
ij
- c
ij
menurut
w
i
+ jika i
∈ X w
i
= w
i
jika i
∈ X
z
ij
- c
ij
jika i, j X, X
U X, X
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
Mulai Misalkan x
ij
= 0 dan w
i
= 0
Hitung z
ij
– c
ij
= w
i
– w
j
- c
ij
Periksa status kilter.Semua arc
inkilter?
Tentukan arc yang out-of-kilter p, q
Temuka n sirkuit direct cycle pada
network G’
Hitung S
1
dan S
2
Hitung ;
Jika = ∞
Tidak ada solusi yang
layak Tidak
Tidak Ya
Berhenti Hitung
∑∑
= =
m i
m j
ij ij
x c
1 1
Ya Ya
z
ij
- c
ij
’ = z
ij
- c
ij
+ jika i, j X, X
z
ij
- c
ij
- jika i, j X, X
dan lakukan tahap primal.
3.1.7 Prosedur Label pada Algoritma Out-Of-Kilter
Misalkan untuk setiap node j label L j = + i,
j
. Label i,
j
menunjukkan bahwa aliran pada arc i, j dapat ditingkatkan dengan jumlah
j
tanpa memperburuk bilangan kilter pada arc manapun
j
tanpa memperburuk bilangan kilter pada arc manapun. Sebagai catatan bahwa
j
mewakili perkiraan aliran dari nilai aliran yang diubah yang dapat berlangsung sepanjang siklus yang berisi arc out-of-kilter dan arc i, j atau j, i
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
dengan demikian bahwa bilangan kilter dari arc yang tidak ada ditingkatkan. Algoritma label terdiri dari 2 dua tahap, yaitu tahap inisialisasi dan tahap utama.
3.1.8 Tahap Inisialisasi
Tentukan sebuah aliran, sebagai contoh, setiap x
ij
= 0, dan nilai dari variabel dual, misalkan setiap w
i
= 0.
3.1.9 Tahap Utama
1. Jika semua arc adalah in-kilter sesuai Tabel 3.2, maka stop; dengan demikian nilai optimal diperoleh. Jika tidak, maka pilih atau lanjutkan dengan pilihan
selanjutnya arc out-of-kilter, misal p, q. Hapus semua label-label. Jika p, q adalah salah satu status di mana aliran meningkat.,
pq
, sesuai Tabel 3.3, maka tetapkan s = q, t = p, dan Ls = +t,
pq
. Sebaliknya, jika p, q adalah salah satu status di mana aliran berkurang,
pq
, sesuai Tabel 3.3, maka tetapkan s = p, t = q, dan Ls = -t,
pq
. 2. Jika node i memiliki label, node j tidak memiliki label, dan aliran akan
ditingkatkan dengan jumlah
ij
sepanjang arc i, j sesuai dengan Tabel 3.3, maka menetapkan node j label Lj = +i,
j
di mana
j
= minimum{
i, ij
}. Jika node i memiliki label, node j tidak memiliki label, dan aliran dikurangi
dengan jumlah
ji
sepanjang arc j, i sesuai dengan Tabel 3.3, maka berikan node j label Lj = -i,
j
di mana
j
= minimum{
i, ji
}. Ulangi langkah 2 sampai setiap node t diberi label atau sampai tidak ada lagi node-node yang
Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009. USU Repository © 2009
diberi label. Jika node t diberi label, maka lanjut ke langkah ke 3 breakthrough telah terjadi; jika tidak, maka lanjut ke langkah ke 4 nonbreakthrough telah
terjadi. 4.
Misalkan =
t
. Ubah aliran sepanjang siklus yang dikenali sebagai berikut. Mulai dari node t. Jika masukan pertama di Lt adalah + k, maka
tambahkan ke x
kt
. Sebaliknya, jika masukan pertama Lt adalah – k, maka kurangi dari x
tk
. Mundur ke node k dan ulangi proses sampai node t dicapai lagi dalam proses mundurbacktrack process.
3.3 Transportasi dan Transshipment Problem