Minimal Cost Flow Metode of Kilter Menentukan Minimal Cost Pada Persoalan Network

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