• Tidak ada hasil yang ditemukan

Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network

N/A
N/A
Protected

Academic year: 2016

Membagikan "Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network"

Copied!
43
0
0

Teks penuh

(1)

SKRIPSI

AFNI DEVINA SARI SIREGAR

060823010

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(2)

METODE OUT OF KILTER MENENTUKAN MINIMAL

COST PADA PERSOALAN NETWORK

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai Sarjana Sains

AFNI DEVINA SARI SIREGAR

060823010

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

MEDAN

(3)

PERSETUJUAN

Judul : METODE OUT OF KILTER MENENTUKAN

MINIMAL COST PADA PERSOALAN NETWORK

Kategori : SKRIPSI

Nama : AFNI DEVINA SARI SIREGAR

Nomor Induk Mahasiswa : 060823010

Program Studi : SARJANA (S1) MATEMATIKA

Departemen : MATEMATIKA

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Medan, Maret 2009

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Sawaluddin, M.IT Drs. Marwan Harahap M.Eng

NIP. 132206398 NIP. 130422443

Diketahui/Disetujui Oleh

Departemen Matematika FMIPA USU Ketua,

(4)

PERNYATAAN

METODE OUT OF KILTER MENENTUKAN MINIMAL COST COST PADA PERSOALAN NETWORK

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Maret 2009

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kehadirat Allah SWT yang Maha Pemurah dan Maha Penyayang dengan limpahan karunia-Nya skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

(6)

ABSTRAK

Kajian ini memperkenalkan algoritma out of kilter untuk menemukan suatu aliran biaya minimum pada kapasitas network. Algoritma ini di mulai dengan tahap permulaan dengan memberikan nilai setiap xij = 0 , dan variabel dual dikatakan wi =0. Kemudiaan

masuk tahap promal dengan menentukan status arc dan mencari sirkuit (cycle) pada network. Tahap ini arc yang statusnya out of kilter akan di tingkatkan atau diturunkan agar status arc menjadi in-kilter. Jika tidak ditemukan cycle dalam network, maka akan masuk tahap ke tahap dual. Tahap ini akan menghitung nilai zij - cij.. Jika semua arc

(7)

THE OUT OF KILTER FORMULATION OF A MINIMAL COST

NETWORK FLOW PROBLEM

ABSTRACT

This paper is introduces out of kilter algorithm to find a minimal cost flow in capacited. This algorithm started with start phase by giving value every xij = 0., and dual variable,

say each wi =0. Then phase admission primal by determining atatus arc and looks for

circuit (cycle) at network. This phase arc which out of kilter will be increasing or decreasing arc to become in-kilter. Otherwise is found cycle in network, hence will step into dual phase. This phase will calculate value zij-cij. If all arc its status in-kilter had,

(8)
(9)

3.1.6. Tahap Dual : Merubah Variabel Dual 18

3.1.7. Prosedur Label pada Algoritma Out of Kilter 19

3.1.8. Tahap Inisialisas i 19

3.1.9. Tahap Utama 19

3.2. Contoh Algoritma Out Of Kilter 22

3.4. Contoh Transhippment Pada Algoritma Out Of Kilter 25

3.5. Bahasa C++ BAB IV KESIMPULAN DAN SARAN 4.1. Kesimpulan 4.2. Saran DAFTAR PUSTAKA LAMPIRAN A. LISTING PROGRAM DAFTAR TABEL Halaman Tabel 3.1 Status Kilter pada Arc ... 15

Tabel 3.2 Bilangan Kilter Kij ... .. 16

(10)

DAFTAR GAMBAR

Gambar 2.1 Graph dengan Lima Verteks dan Enam Edge ... 5

Gambar 2.2 Graph Berarah ... 6

Gambar 2.3 Graph Matriks Insiden ... 7

Gambar 2.4 Graph dengan 6 Verteks dan 10 Edge ... 8

Gambar 2.5 Flow dalam Negatif ... 9

Gambar 3.2 Status Kilter pada Arc ... 17

Gambar 3.3 Flowchart Out of Kilter ... 20

Gambar 3.4 Contoh Network ... 21

Gamabr 3.4a Breakthourgh dan Tahap Primal Pertama ... 21

Gambar 3.4b Nonbreakthrough dan Tahap Dual ke Dua ... 22

Gambar 3.4c Nonbreakthrogh dan Tahap Dual ke Dua ... 22

Gambar 3.4d Solusi Optimal ... 23

Gambar 3.6 Problem Kapasitas Pengiriman ... 25

Gambar 3.7 Kendala Masalah Transshipment : Basic Solusi Layak ... 26

Gambar 3.8 Bentuk Cycle x56 dan Arus Basic Variable ... 27

(11)

BAB I

PENDAHULUAN

1.1 Latar Belakang

Suatu aliran adalah suatu perjalanan objek dari satu tempat ke tempat lain dalam

jaringan kerja ( network ). Ada dua masalah yang perlu diperhatikan pada aliran dalam

network. Sebagai contoh, bagaimana memaksimalkan jumlah materi yang dikirim dari

satu tempat ke tempat lain, menentukan cost yang minimal untuk mengirimkan

sejumlah objek dari sumber s ke tujuan t .

Jaringan kerja (network) dapat digunakan untuk menjelaskan sebuah sistem

seperti transportasi, aliran listrik, sambungan telepon, komunikasi, distribusi dan lain -

lain. Hal ini tentu saja bermanfaat pada hampir setiap kegiatan di berbagai bidang Ilmu

(12)

Persoalan minimal cost flow merupakan permasalahan yang utama dalam

network flow. Bentuk persoalan ini adalah menentukan cost pengiriman yang minimal

pada sebuah komoditas melalui jaringan yang harus memenuhi node permintaan dan

node persediaan. Secara umum suatu network dapat dinotasikan dengan himpunan G

=(N,A), dimana N adalah node dan A adalah arc. Diberikan G = (N,A) sebagai network,

misalkan jumlah bi adalah jumlah ketersediaan barang maka bi > 0 dan permintaan

barang bi < 0. Node dengan bi >0 sering disebut sumber ( sources), dan node dengan bi

< 0 sering disebut tujuan ( destination). Dimana bi adalah jumlah yang diminta untuk

didatangkan (jumlah permintaan) node sumber i. Sedang i adalah indeks, jika bi = 0,

maka tidak ada barang yang tersedia pada node i dan tidak diperlukan. Pada

permasalahan ini node i sering disebut perantara ( intermediate ) node. Untuk setiap arc

( i,j ) pada vij adalah jumlah aliran pada edge (asumsikan 0 ≤ vij) dan cij adalah biaya

pengiriman sepanjang arc. Dalam hal ini, penulis akan meninjau Algoritma Out of

kilter serta beberapa penugasan, persoalan ongkos minimum/aliran maksimum, dan

persoalan pengiriman barang (transshipment).

1.2 PERUMUSAN MASALAH

Permasalahan dalam tulisan ini adalah bagaimana algoritma out of kilter dapat

menyelesaikan permasalahan distribusi aliran dalam network khususnya dalam mencari

minimal – cost.

1.3 TINJAUAN PUSTAKA

Untuk mewujudkan maksud dan tujuan dari penelitian ini, penulis memanfaatkan buku-

buku yang dipergunakan sebagai referensi salah satunya :

Aliran maksimal adalah suatu persoalan analisis jaringan kerja. Model aliran

maksimal digunakan untuk menggambarkan nilai maksimal seluruh aliran didalam

suatu jaringan kerja. [6]

Bazaara, Mokhtar S. Dan John J.Jarvis [3,bab 10] dalam bukunya “ Linear

Programming and Network Flows “, memuat tentang, penyelesaian program integer

(13)

Minimumkan

∑∑

cij : merupakan cost dari node asal i ke node tujuan j

xij : merupakan aliran (flow) dari node asal i ke node tujuan t

lij : merupakan batas bawah

uij : merupakan batas atas

Kekekalan aliran yang memenuhi pada batasan tetap lijxij uij adalah

feasible flow ( aliran yang layak). Asumsikan cij ,lij dan uij dan integer dan 0 ≤ lijuij

.

Karena semua nilai di sisi kanan pada persamaan kekekalan aliran adalah

nol., dapat disimpulkan bahwa aliran dalam network tidak mempunyai node awal atau

node akhir. Dengan demikian kekekalan aliran dalam network akan membentuk

lingkaran berarah (directed cycles)

(Jean Marie PLA. 1971, hal.279) menyatakan karakteristik pemecahan

masalah optimal dalam network flow yang paling sederhana adalah memperkenalkan

masalah dual dan kondisi complementary slackness.

Dalam menyelesaikan persoalan network dengan algoritma out-of-kilter

digunakan asumsi bahwa setiap arc dalam network jaringan mempunyai kapasitas

(14)

Algoritma out-of-kilter dapat dipergunakan untuk menyelesaikan beberapa

persoalan jaringan berkapasitas, yaitu persoalan transportasi, persoalan penugasan,

persoalan ongkos minimum/aliran maksimum, persoalan lintasan terpendek, dan

persoalan transshipment.

1.4. TUJUAN PENELITIAN

Untuk menganalisa permasalahan distribusi aliran barang (commodity) sampai mencari

minimal cost dengan menggunakan Algoritma out of kilter dan mengimplementasikan

dengan suatu program.

1.5. KONTRIBUSI PENELITIAN

Metode out of kilter dengan menentukan minimal cost pada persoalan network

bermanfaat untuk jaringan transportasi, jaringan pipa (Aliran PAM),dan lalu lintas atau

perniagaan.

1.6. METODE PENELITIAN

1. Menguraikan pendekatan pada Graph

2. Menentukan lintasan (path) dari sumber (source) ke tujuan ( destination)

3. Menguraikan tentang masalah aliran minimal cost dan hal – hal yang

menyangkut konsep algoritma out of kilter.

4 Menjelaskan penggunaan algoritma Out of Kilter dalam mencari minimal cost.

(15)

BAB II

LANDASAN TEORI

2.1. Konsep Dasar Graph

Definisi 2.1. Sebuah graph G= (N,A), di mana himpunan N adalah himpunan yang

anggotanya disebut node dan A dari pasangan node yang disebut arc.

Secara umum graph dapat digambarkan dengan suatu diagram di mana verteks

(16)

digambarkan dengan sebuah garis lurus atau garis lengkung yang menghubungkan dua

verteks (ni, nj) dan dinotasikan dengan ak . Sebagai ilustrasi dapat dilihat Gambar 2.1.

yaitu suatu graph yang mempunyai lima node dan enam arc.

Gambar 2.1. Graph dengan lima node dan enam arc

2.2. Graph Berarah ( Directed Graph)

Graph berarah G terdiri dari suatu himpunan N dari node – node dan suatu himpunan A

dari arc - arc sedemikian rupa sehingga setiap arc a ∈ A menghubungkan pasangan

node terurut. Jika terdapat sebuah arc a yang menghubungkan pasangan terurut (v,w)

dari node, dapat ditulis dengan a =(v,w) yang menyatakan sebuah arc dari v ke w.

(17)

Graph berarah pada gambar 2.2 adalah graph berarah dengan himpunan node

N(G) ={n1,n2,n3,n4,n5} dan himpunan sisi A(G) ={a1,a2,a3,a4,a5,a6} yaitu pasangan

terurut dari { (n1,n2), (n2,n3), (n3,n4),(n4,n5),(n5,n1),(n2,n5).

Pada suatu graph dua buah node n1 dan n2 dikatakan adjacent jika kedua node

tersebut dihubungkan oleh suatu arc. Pada gambar 2.2 node n1 adjacent ( bertetangga)

dengan node n2. Sementara itu a1 dikatakan incident ( bersisian) dengan node n1 dan

node n2.

2.3. Representasi Graph dalam Matriks

1. Matriks Insiden

Matriks insidency atau matriks bersisian adalah matriks yang mereprensentasikan

hubungan antara node dan arc. Misalkan B adalah matriks dengan m baris untuk setiap

node dan n kolom untuk setiap arc. Jika node terhubung dengan arc, maka elemen

matriks bernilai 1. Sebaliknya, Jika node tidak terhubung dengan arc maka elemen

matriks bernilai 0. Sebuah loop adalah node dengan titik awal sama dengan titik

akhirnya, yaitu sebuah node yang mulai dan berakhirnya pada titik yang sama.

(18)

B = v2 1 0 0 1 0 0

v3 0 1 0 1 1 0

v4 0 0 1 0 1 0

1 jika node ni adalah insiden pada arc aj

0 Jika tidak ada node ni yang insiden pada arc aj

2 Matriks Adjacency

Misalkan G adalah graph berarah yang terdiri dari n node tanpa arc pararel.

Matriks Adjacency pada graph G adalah matriks bujur sangkar n x n, A( aij) dengan

1 jika ada arc (ni,nj) di G

0 Jika tidak ada arc (ni,nj) di G

Matriks adjacency dapat dilihat dari graph gambar 2.3 adalah :

v1 v2 v3 v4

v1 0 1 1 1

A = v2 1 0 1 0

v3 1 1 0 1

v4 1 0 1 0

2.4. Path Minimum

Salah satu aplikasi graph berarah yang sering dipakai adalah mencari lintasan (path)

terpendek diantara 2 pasang node (s ke t ). Jika masalahnya adalah mencari jalur

aij =

(19)

tercepat, maka path terpendek tetap dapat digunakan dengan cara menggantikan nilai

edge.

Definisi 2.2. Lintasan (Path) adalah suatu barisan edge (ei1,ei2 , ..,eik) sedemikian rupa

sehingga verteks terminal eij berimpit dengan verteks awal ei(j+1) untuk 1≤ j ≤ k – 1.

Contoh 2.1.

Gambar 2.4. Graph dengan 6 verteks dan 10 edge

Pada Gambar 2.4 di atas terdapat:

a. Semua edge berbeda (e1, e3, e4, dan e5 masing-masing muncul sekali). Ada verteks

yang berulang (v3 muncul 2 kali). Verteks awal dan verteks akhir tidak sama

(verteks awal = v1 dan verteks akhir = v4). Barisan ini merupakan path dari v1 ke v4

dengan panjang 4.

b. Ada edge yang muncul lebih dari sekali, yaitu e5 (muncul 2 kali) berarti barisan

tersebut merupakan walk dari v1 ke v5 dengan panjang 5.

2.5. Flow

Flow bisa saja dianggap sebagai bentuk kesatuan material yang meninggalkan suatu

node menuju suatu node. Jika suatu arc aj insident ke dua node vi dan vj, maka suatu

flow fj pada arc aj dapat ditunjukkan dengan sistematis.

Defenisi 2.3. Suatu flow pada suatu network G=(X,A) adalah suatu aliran pada suatu

graph berarah dan berkapasitas, dimana setiap arc (x,y) A memiliki kapasitas non

(20)

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

(21)

non-negatif cost u(x,y) yang mengalirkan unit flow pada setiap arc dan juga memiliki

kapasitas c(x,y). Jumlah cost suatu flow dari sumber s ke tujuan t, secara berurut adalah

:

( )

( )

( ) f x y u

( )

x y

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

(22)

Minimumkan

∑∑

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 wi dengan setiap node pada Persamaan 3.1, variabel dual hij

dengan batasan xij uij (yang mana ditetapkan - xij - uij untuk mencari dual), dan

variabel dual vij dengan batasan xij lij, dual dari out-of-kilter pada permasalahan aliran

(23)

wi tak terbatas (unrestricted) i = 1,…, m

Keterangan :

vij : nilai constraint atau nilai pembatas xij≥ uij

hij : nilai contraint atau nilai pembatas xij≤ uij

wi : nilai bobot dari node asal i

wj : nilai bobot dari node tujuan j

zij : merupakan nilai optimal dari node asal i ke node tujuan j

Jika wi (asumsikan semua wi integer), maka dual constraint untuk arc (i, j)

menjadi

vij – hij = cij – wi + wj, hij≥ 0, vij≥ 0

dan dapat dipenuhi oleh

vij = Maksimum {0, cij - wi + wj }

hij = Maksimum {0, - (cij - wi + wj }

3.1.2. Kondisi-kondisi Complementary Slackness

Kondisi-kondisi complementary slackness untuk mendapatkan nilai yang optimal dari

perumusan out-of-kilter adalah sebagai berikut:

(xij – lij)vij = 0 i,j = 1, 2,…, m (3.2)

(uij – xij)vij = 0 i,j = 1, 2,…, m (3.3)

zij – cij wi – wj - cij . Kemudian dari definisi vij dan hij didapat

vij = Maksimum {0, -(zij – cij)} (3.4)

hij = Maksimum {0, zij – cij} (3.5)

Catatan bahwa zij – cij akan dikenal sebagai koefisien xij dalam barisan fungsi objektif

pada tabel simpleks batas atas-batas bawah yang mempunyai solusi dasar pada masalah

(24)

Bila diberikan nilai pada wi, maka dapat dihitung zij – cij = wi – wj - cij. Jika

melihat persamaan pada (3.4) dan (3.5), maka kondisi complementary slackness (3.2)

dan (3.3) diperoleh

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 xij = 0, dan solusi yang layak untuk dual, masing-masing wi = 0,

dengan hij, vij 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 xij = 0, dan inisial dual variabel,

katakan wi = 0. Hitung zij – cij = wi – wj - cij.

(25)

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 arc(i, 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 arc(j, 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 = xij + jika (i, j) adalah anggota dari sirkuit G’; misalkan x’ij

= xij - jika (j, i) adalah anggota dari sirkuit G’; misalkan x’ij = xij 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

(26)

zij – cij < 0 zij – cij = 0 zij – cij > 0

xij > uij Out-of-kilter Out-of-kilter Out-of-kilter

xij = uij Out-of-kilter In-kilter In-kilter

lij < xij< uij Out-of-kilter In-kilter Out-of-kilter

xij = lij In-kilter In-kilter Out-of-kilter

xij < lij 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 zij – cij < 0 dan xij > uij maka statusnya out of kilter

Jika zij – cij < 0 dan xij = uij maka statusnya out of kilter

Jika zij – cij < 0 dan lij < xij < uij maka statusnya out of kilter

Jika zij – cij < 0 dan xij < lij maka statusnya out of kilter

Jika zij – cij = 0 dan xij > uij maka statusnya out of kilter

Jika zij – cij = 0 dan xij < lij maka statusnya out of kilter

Jika zij – cij > 0 dan xij > ui j maka statusnya out of kilter

Jika zij – cij > 0 dan lij < xij < uij maka statusnya out of kilter

Jika zij – cij > 0 dan xij = lij maka statusnya out of kilter

Jika zij – cij > 0 dan xij < lij maka statusnya out of kilter

(27)

Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009.

Tabel 3.3 Jumlah dan arah perubahan aliran yang memenuhi

(28)

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) Kij pada arc (i, j). Bilangan kilter didefenisikan bilangan yang

(29)

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 zij – cij

< 0, maka arc (i, j) adalah in-kilter jika dan hanya jika aliran adalah sama dengan lij dan

oleh sebab itu bilangan kilter |xij - lij| menandai seberapa jauh arus aliran xij adalah dari

kasus ideal lij. Dengan cara yang sama, jika zij – cij > 0, maka bilangan kilter |xij - uij|

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’.

(30)

Afni Devina Sari Siregar : Metode Out Of Kilter Menentukan Minimal Cost Pada Persoalan Network, 2009.

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

(31)

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 xij = 0, dan nilai dari variabel dual,

misalkan setiap wi = 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 L(s) = (+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 L(s) = (-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 L(j) = (+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 L(j) = (-i, j) di mana j = minimum{ i, ji }. Ulangi langkah 2

(32)

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 L(t) adalah + k, maka

tambahkan ke xkt. Sebaliknya, jika masukan pertama L(t) adalah – k, maka

kurangi dari xtk. Mundur ke node k dan ulangi proses sampai node t

dicapai lagi dalam proses mundur(backtrack process).

3.3 Transportasi dan Transshipment Problem

Model transportasi merupakan salah satu bentuk khusus atau variasi dari program linear

yang dikembangkan khusus untuk memecahkan masalah yang berhubungan dengan

transportasi (pengangkutan) dan distribusi produk atau sumber daya dari berbagai

sumber ( pusat pengadaan, atau titik suplai) ke berbagai tujuan ( node permintaan).

3.2.1 Masalah Kapasitas Transshipment Menggunakan Algoritma Out Of

Kilter

Masalah transportasi untuk menemukan total minimum cost pengiriman dari sumber

(sources) s, dengan masing – masing persediaan yang berbeda, ke n tujuan

(destination), dengan masing – masing permintaan ( demand) tertentu.

Masalah transshipment merupakan suatu bentuk umum model transportasi

sedangkan model transportasi adalah bentuk khususnya di mana terdapat pusat- pusat

asal atau sumber asli, pusat tujuan yang asli, dan titik – titik transshipmentnya.

Titik-titik transshipment bisa terdapat pada pusat asal maupun pusat tujuan. Dalam model ini

setiap pusat dapat mengirim dan menerima arus barang angkutan. Hal ini berarti

terdapat keleluasaan dalam penetapan rute arus barang dari node i ke node j, selain

(33)

Ada beberapa cara untuk merumuskan masalah transshipment secara matematis.

Setiap node atau lokasi yang ada harus dapat memenuhi suatu rumusan

keseimbangan yaitu antara arus barang yang keluar (diangkut) dikurangi arus barang

yang masuk (diterima) harus sama dengan kebutuhan bersih/ selisihnya.

3.3 Contoh Transshipment Pada Algoritma Out Of Kilter

S1 = 10 $ 20 D5 = 12

Kita temukan solusi layak dengan percobaan (trial) dan kesalahan (error) :

(34)

2 4 6

X35 6

X46 13

Solusi yang paling pokok pada basic variable pohon (tree) pada gambar dibawah ini,

ditunjukkan aliran cyclenya dibawah arcnya.

Gambar 3.7 Kendala Masalah Transshipment: Basic Solusi Layaknya

(35)

4 6

X56 C56 – U5 + U6 = 11 – (-17) + (-37) = -19 Ya

X65 C65 – U6 + U5 = 7 – (-37) + (-17) = 27 Tidak

Variable Batas Atas

Variable Hitung Cij - Zij Out of Kilter ?

X15 C15 – U1 +U5 = 20 – 0 + (-17) = 3 Ya

X24 C24 – U2 + U4 = 15 – 6 + (-22) = -1 Tidak

Langkah 4 : Tentukan perubahan variable basicnya

Pada gambar 3.8 ditunjukkan X56 berbentuk cycle dengan variable basic X35 , X34,

dan X46. Dan X56 berada dibatas bawah (0), maka variable basicnya meningkat. Dari

gambar 3.9 menunjukkan , ketika X56 meningkat, X35 harus meningkat dan X46

menurun. Maka X34 juga harus meningkat

D=5

$7 7 $11

8

8 $12

$15 D6=13

17

Gambar 3.8 Bentuk Cycle X56 dan arus basic variable

Jumlah maksimum akan dihitung dari perubahan di 4 variable sebelum sampai

batasannya yang ditunjukkan digambar, sebagai berikut :

Variable Nilai awal Batas Atas Maksimum meningkat

3

5

(36)

2 4 6

Variable Menurun Nilai awal Batas Bawah Maksimum menurun

X34 3 0 3 – 0 = 3

X46 13 0 13 – 0 = 13

Minimum dari maksimum di ubah menjadi 2, ditentukan X35 meningkat melalui

variable batas atas. Lalu kita jumlah kan 2 melalui aliran di arc X56 dan X35 dan

kurang 2 dari aliran selama X34 dan X46 digambarkan pada diagram network flow.

$20

Gambar 3.9 Augmenting Flow ke X56,X35,X34, dan X45 dilanjutkan

(37)

Variable basic Flow Batas bawah Flow Batas atas Flow

Tidak semua arc – arc adalah out of kilter, Kita akan menemukan Solusi optimalnya :

(38)

Node 1 Node 3 9 $10 $ 90

Dilangkah ke-3 dari algoritma, dua atau variable basic lainnya boleh berakhir di 0 atau

dibatas atas pada waktu bersamaan. Jika menurun. Kita pilih salah satu variable yang

dimulai dari nonbasic untuk dilanjutkan ke iterasi selanjutnya, basic lainnya harus sama

nilainya 0 atau berada dibatas atas.

3.4. BAHASA C++

Bahasa C++ merupakan program yang terbentuk fungsi – fungsi. Seperti main ()

merupakan nama dari suatu fungsi yang harus ada diprogram C++ dan diletakkan

dibagian tertentu yang menunjukkan kepada compiler dimana awal dari suatu program.

Selain itu main () ini hanya dapat dikatakan bahwa setiap program C harus

mengandung fungsi main() agar dapat diproses.

Tanda brance pembuka ”{” yang diletakkan dibawah nama fungsi main()

menunjukkan tanda awal dari perintah – perintah yang akan ditulis atau tanda ”{”

merupakan awal dari function body atau fungsi blok. Tanda brance penutup ”}”

menunjukkan akhir dari suatu fungsi blok. Suatu program C++ dapat terdiri dari

lebih dari satu tubuh fungsi. Suatu tubuh fungsi dapat berisi beberapa fungsi,

sedangkan suatu fungsi dapat dibuat dari satu atau lebih statement atau library

(39)

BAB 4

KESIMPULAN DAN SARAN

4.1. Kesimpulan

Berdasarkan uraian-uraian dalam tulisan ini, penulis melihat bahwa algoritma

out-of-kilter berperan penting dalam menghasilkan minimal cost dalam network flow.

Kesimpulan yang diperoleh pada kajian ini adalah sebagai berikut:

1. Algoritma minimal cost memelihara kelayakan promal dengan memenuhi

(40)

aliran (conserving flow) pada masing – masing node dengan memakai

prosedur – prosedur berdasarkan pada penambahan aliran, penyesuaian

biaya, dan menaikkan fungsi dual.

2. Di dalam algoritma out-of-kilter perlu diperhatikan nilai . Ada dua

kemungkinan nilai .

Jika 0 < < ∞ , maka wi’ = wi + i X dan wi’ = wi i X .

Jika = ∞, maka tidak ada solusi yang layak.

Keterangan ;

wi’ adalah variabel dual yang diubah

wi adalah variabel dual

3. Aliran distribusi yang dihasilkan dapat menjadi output yang dapat

dipertanggung jawabkan secara ilmiah, karena data tersebut memiliki

dengan data pendukungnya, baik kendala maupun fungsi tujuan, sehingga

menghasilkan nilai yang optimal untuk implementasinya

4.2. Saran

Dalam mengimplementasikan Out of kilter pada network flow dapat diterapkan untuk

semua masalah distribusi contohnya distribusi pipa minyak dari tempat tambang

minyak menuju ke pabrik penyulingan. Bukan itu saja, bisa juga di implementasikan

pada distribusi saluran pembuangan air di perumahan dan distribusi lainnya, dan dapat

meminimalkan aliran dengan meminimalisasi biaya sehingga menghasilkan nilai yang

(41)

DAFTAR PUSTAKA

Ahuja, Ravindra, K. “ Graph and Network Optimization “. USA: University of

Florida, 1998.

Bazaraa, Mokhtar S. dan John J. Jarvis, “ Linear Programing and Network Flows “.

Canada: John Wiley and Sons Inc 1997.

Elmaghraby, S., “ An Algebra for the Analysis of Generalized Actifity

Networks “, Manage. Sci. , 10 (3), pp 494 – 514. 1964.

Eisner, H., ” A Generalized Network Approach to the Planning and Scheduling

(42)

Evans, James R. “ Optimization Algorithms for Networks and Graphs“. New

York: Marcel Dekker,Inc, 1992.

Ford, L.R, Jr. And Fulkerson, D. R. “ Flows in Network “. Princeton, New Jersey:

Priceton University Press, 1962.

Ghare P. M, Moore, James M, Tihe, “ Applications of Graph Theory Algorithms”

Elsever North Holland, Inc, 1979.

Liu, Jipping. “Algorithms for Minimum - cost Flow “. Computer Science

Departement, The University of Western Ontario, 2003.

Sedgemick Robert. “ Algorithm in C- Part 5 Graph Algorithm “. Third Edition.

Canada: Addison Wesley, Inc, 1990.

(43)

Gambar

Tabel  3.1 Status Kilter pada Arc ................................................................................
Gambar 2.3 Graph Matriks Insiden
Gambar 2.4.  Graph dengan 6 verteks dan 10 edge
Gambar 2.5.  Flow dalam network
+7

Referensi

Dokumen terkait