DR Rahma Fitriani, S.Si., M.Sc., Network Model Semester Genap 2011/2012 DR Rahma Fitriani, S.Si., M.Sc., Riset Operasi 2011
Definisi Dasar Graph atau Network ditentukan oleh 2 set simbol yaitu node dan arc Node : simpul dari graph atau network Arc : terdiri dari sepasang simpul yang berurutan dan merepresentasikan arah pergerakan yang mungkin yang dapat terjadi di antara simpul – simpul. Untuk arc (j,k), arah yang mungkin adalah node j ke node k. Node j disebut initial node dan node k disebut terminal node
Contoh : V = { 1,2,3,4} A = {(1,2), (2,3), (3,4), (4,1), (4,3)}
Chain : Barisan dari arc sedemikian hingga setiao arc memiliki tepat satu simpul yang sama dengan arc sebelumnya Path : Chain dimana terminal node setiap arc sama dengan initial node dari arc berikutnya
Shortest Path Problem Pengiriman dari titik ke titik Supply, transhipment (substation), dan demand nodes Shortest path problem Biaya proportional dengan jarak Masalah pemilihan jarak terpendek (biaya minimum)
Contoh: 2 4 3 2 4 Sumber 6 2 Tujuan 1 2 3 5 3 3
Algoritma Djikstra 1. Beri label node 1 dengan label permanen o. Kemudian beri label node – node yang berhubungan dengan node 1 dengan temporary label yang sama dengan panjang arc yang menghubungkan node 1 dengan node i. Node yang lain diberi label .Pilih node dengan temporary label terkecil dan jadikan permanen label
2. Misalkan node I adalah node ke (k+1) yang diberi permanen label 2. Misalkan node I adalah node ke (k+1) yang diberi permanen label. Untuk setiap node j yang sekarang mempunyai temporary label dan dihubungkan dengan node I, ganti temporary label j dengan min {temporary label node j yang sekarang , permanen label node I +panjang arc(I,j)} Ubah temporary label terkecil dengan permanen label. Lanjutkan sampai semua node mempunyai permanen label
3. Untuk menemukan path terpendek dari node node 1 ke node j, bekerjalah terbalik dari node j dengan menemukan selisih label yang sama dengan panjang arc yang menghubungkan node
2 4 3 2 4 6 1 2 2 5 3 3 3
Temporary ={1, 2, 3, 4, 5, 6} Permanent={ } ∞ ∞ 2 4 ∞ 3 2 4 6 1 2 ∞ ∞ 1 2 ∞ ∞ 2 5 3 3 3 Distance label
Temporary ={2, 3, 4, 5, 6} Permanent={1 } ∞ ∞ 2 4 ∞ 3 2 4 6 1 2 ∞ ∞ 2 1 2 ∞ ∞ 2 5 3 3 3 Distance label
Temporary ={2, 3, 4, 5, 6} Permanent={1 } ∞ ∞ 2 4 ∞ 3 2 4 6 1 2 ∞ ∞ 2 1 2 ∞ ∞ 2 5 3 3 3 Distance label
Temporary ={2, 3, 4, 5, 6} Permanent={1 } 4 ∞ 2 4 ∞ 3 2 4 6 1 2 3 ∞ 2 1 2 3 ∞ 2 5 3 3 3 Permanen Temporary Distance label
Temporary ={2, 4, 5, 6} Permanent={1, 3 } 4 ∞ 2 4 ∞ 3 2 4 6 1 2 3 ∞ 2 1 2 3 ∞ 2 5 3 3 3 Permanen Temporary Distance label
Temporary ={2, 4, 5, 6} Permanent={1, 3 } 4 ∞ 2 4 ∞ 3 2 4 6 1 2 3 ∞ 2 1 2 3 ∞ 2 5 3 3 3 Permanen Temporary Distance label
Temporary ={2, 4, 5, 6} Permanent={1, 3 } 4 ∞ 2 4 ∞ 3 2 4 6 1 2 3 6 2 1 2 3 6 2 5 3 3 3 Permanen Temporary Distance label
Temporary ={4, 5, 6} Permanent={1, 2,3 } 4 ∞ 2 4 ∞ 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Temporary Distance label
Temporary ={4, 5, 6} Permanent={1, 2,3 } 4 ∞ 2 4 ∞ 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Temporary Distance label
Temporary ={4, 5, 6} Permanent={1, 2,3 } 4 7 2 4 ∞ 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Temporary Distance label
Temporary ={4, 5, 6} Permanent={1, 2,3 } 4 7 2 4 ∞ 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Permanen Temporary Distance label
Temporary ={4, 6} Permanent={1, 2,3, 5 } 4 7 2 4 ∞ 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Permanen Temporary Distance label
Temporary ={4, 6} Permanent={1, 2,3, 5 } 4 7 2 4 8 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Permanen Temporary Distance label
Temporary ={4, 6} Permanent={1, 2,3, 5 } 4 7 2 4 8 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Permanen Temporary Distance label
Temporary ={6} Permanent={1, 2,3, 4, 5 } 4 7 2 4 8 3 2 4 6 1 2 3 6 2 5 1 2 3 6 2 5 3 3 3 Permanen Permanen Temporary Distance label
Temporary ={6} Permanent={1, 2,3, 4, 5 } 4 7 2 4 Min (9,8)=8 3 2 4 6 1 1 2 3 6 2 5 3 3 3 Permanen Permanen Temporary Distance label
Temporary ={ } Permanent={1, 2,3, 4, 5, 6 } 4 7 2 4 8 3 2 4 6 1 2 3 6 1 2 3 6 2 5 3 3 3 Permanen Permanen Temporary Distance label
Permanen Permanen Permanen 4 7 Permanen 2 4 8 3 2 4 6 1 2 3 6 2 5 3 3 3 Permanen Permanen Shortest path: 1 – 2 – 5 – 6 Temporary Distance label
Shortest Path sebagai Transhipment Problem Transhipment problem dengan setiap demand dan supply sama dengan 1 Jalur yang tidak terdefinisi dikenai biaya besar Biaya nol untuk jalur dari node i ke node i
2 4 3 2 4 6 2 1 2 5 3 3 3 Cost 2 3 4 5 6 Supply 1 10000 Demand
Model LP shortest path sbg transhipment problem
Solusi optimal Contoh: 2 4 4 Sumber 6 2 Tujuan 1 2 5 3 Total distance (cost) = 8
Max Flow Problem Model network di mana kapasitas jalur diperhitungkan Memaksimumkan jumlah pengiriman dari source ke destination dengan kendala kapasitas setiap jalur
Contoh: dengan kapasitas setiap jalur 3 1 4 1 3 2 D 2 2 S 3 a0 a0 jalur buatan untuk conservation flow, outflow = inflow
LP untuk max flow problem
Solusi optimal max flow 3 1(1) 4(1) 1 3(0) 2 D 2(2) 2(1) S 3(2) a0
The Ford – Fulkerson Method Metode ini digunakan untuk menyelesaikan masalah maximum flow Asumsi: feasible flow telah ditemukan (misal : flow pada setiap arc adalah nol) Yang menjadi pertanyaan ?? Apakah sudah merupakan optimal flow ?? Jika belum, bagaimana memodifikasi flow supaya didapatkan feasible flow baru yang mempunyai flow yang lebih besar
Jawaban untuk Pertanyaan Kedua Tentukan property mana yang dimiliki setiap arc dalam network P1. Flow melalui arc (I,j) dibawah kapasitas arc (I,j), sehingga flow yang melalui (I,j) bisa ditingkatkan. Memiliki property I atau increase P2. Flow di arc(I,j) positif, sehingga flow di arc (I,j) bisa dikurangi. Memiliki property R atau reduce
II. Labeling procedure Labeli So Labeli node dan arc dengan aturan Jika node x sudah dilabeli, node y belum dilabeli, arc(I,j) anggota I, maka labeli node y dan arc (x,y). Arc (x,y) disebut forward arc Jika node y belum dilabeli, node x sudah dilabeli, arc (y,x) anggota R, maka labeli node y dan arc(y,x). Arc (y,x) disebut bacward arc 3. Lanjutkan proses pelabelan sampai Si dilabeli atau sampai tidak ada node yang bisa dilabeli
Jika proses pelabelan sampai ke sink, maka akan terbentuk chain (C) dari arc yang telah dilabeli dari So ke Si. Chain harus terdiri dari salah satu kasus berikut : Case 1. C terdiri dari hanya forward arc Case 2. C terdiri dari forward arc dan backward arc
III. Penyesuaian feasible flow dan peningkatan flow dari So ke Si Dalam Case 1. Misalkan i(x,y) adalah jumlah dimana flow di arc (x,y) dapat ditingkatkan tanpa melanggar capacity constraint untuk arc (x,y) : 𝑘= min (𝑥,𝑦)∈𝐶 𝑖(𝑥,𝑦) Tingkatkan flow melalui setiap arc di C sebesar k
Dalam Case 2. Misalkan r(x,y) adalah jumlah dimana flow melalui arc (x,y) dapat dikurangi 𝑘 1 = min (𝑥,𝑦)∈𝐶 𝑟(𝑥,𝑦) dan 𝑘 2 = min (𝑥,𝑦)∈𝐶 𝑖(𝑥,𝑦) Turunkan flow di backward arc dalam C sebesar min 𝑘 1 , 𝑘 2 unit dan tingkatkan flow di forward arc dalam C sebesar min 𝑘 1 , 𝑘 2
Rangkuman The Ford – Fulkerson Method Temukan feasible flow Gunakan labeling procedure, coba untuk melabeli sink. Jika sink tak bisa dilabeli, feasible flow adalah maximum flow Sesuaikan feasible flow dan tingkatkan flow dari source ke sink. Kembali ke langkah 2