Suatu network diperlukan karena memberi gambaran visual dan bantuan konseptual yang
lebih jelas untuk memotret hubungan antar ,komponen dalam sistem yang sering dijumpai
dalam banyak kasus. Dalam konteks optimasi, perkembangan metodologi maupun aplikasi
networks termasuk yang cepat. Banyak temuan baru dalam hal algoritma yang berkenaan
dengan permasalahan network flow membawa pengaruh besar dalam struktur data dan
manipulasi data dalam bidang ilmu komputer. Dengan berkembangnya ilmu
komputer, memungkinkan penyelesaian problem network flow dengan
bantuan software terutama untuk masalah-masalah besar yang beberapa
tahun sebelumnya tidak terpecahkan. Banyak permsalahan network flow
yang sebenarnya berbentuk linear programming. Sebagai contoh,
masalah transportasi atau assignment yang kita bahas sebelumnya.
Dalam bab ini akan kita bahas beberapa aplikasi network flow.
Macam-macam aplikasi networkflow antara lain
1. Shortest-path problem,
2. Minimum spanning tree problem,
3. Maximum flow problem
4. Minimum cost flow problem
SHORTEST PATH
Seringkali kita mempunya problem yang berhubungan dengan pemeilihan suatu rute
perjalanan menuju suatu tujuan tertentu. Apa yang kita selesaikan dalam shortest path adalah
mencari jarak total terpendek dari suatu node asal O dan node tujuan T melewati beberapa
node yang lain. Pemelihan rute terpendek ini merupakan inti permasalahan yang kita coba
pecahkan dalam shortest path.
Algorithm untuk Shortest-Path Problem.
Input untuk iterasi ke n: n - 1 node terdekat ke asal (yang sudah terselesaikan pada iterasi
sebelumnya), termasuk lintasan terpendeknya dan jarak dari dari titik asal. (Node-node ini ,
ditambah denga node asal, akan disebut node yang sudah diselesaikan; node yang lain disebut
node yang belum terselesaikan)
Kandidat untuk node terdekat ke n: setiap node yang sudah terselesaikan yang terhubung
langsung ke satu atau lebih ke node yang belum terselesaikan memberikan satu kandidate-
node yang belum diselesaikan yang mempunyai sambungan terpendek.
Penghitungan node terdekat ke n: Untuk setiap node yang sudah terselesaikan dan
kandidatnya, tambahkan jarak antara mereka dan jarak lintasan terpendek dengan node sudah
terselesaikan. Kandidat dengan dengan jarak total terpendek tersebut adalah node ke n
terdekat.
1 O A 2 A 2 OA
2, O C 4 C 4 OC
3 A B 2+2=4 B 4 AB
4 A D 2 + 7= 9 E 7 BE
B E 4 + 3= 7
C E 4 + 4= 8
5 A D 2 +7 =9 D 8 BD
B D 4+ 4 =9 D 8 ED
E D 7+1=8
6 D T 8+5=13 T 13 DT
E T 7+7=14
Ada cara lain yang lebih efisien untuk permasalahan shortest path yang lebih besar. Yaitu,
dengan model optimasi. Dalam model optimasi ini kita gunakan formulasi programa linier.
Berikut ini cara memformulasikan dan menyelesaikan problem shortest path (lintasan
terpendek) dengan menggunakan Excel-solver dan LINDO. Sebelumnya bisa kita definisikan
aliran masuk dari satu node ke node yang lain dan fungsi tujuannya sebagai berikut
Minimasi 2XOA+5XOB+4XOC+2XAB+7XAD+XBC+XCB+4XBD+3XBE+4XCE+XED+XDE
+5XDT +7XET
subject to
XOA+XOB+XOC = 1 (node O)
-XOA+XAB+XAD = 0 (node A)
-XOB- XAB +XBD+ XBE + XBC-XCB= 0 (node B)
-XOC - XBC +XCE +XCB = 0 (node C)
-XBD-XAD -XED+XDE +XDT = 0 (node D)
-XCE-XBE+ XED +XET = 0 (node E)
- XET –XDT =-1 (node T)
dengan
Kolom C menunjukkan solusi optimal dari problem ini. Nilai 1 pada kolom ini menunjukkan
cabang (arc) tersebut masuk dalam rute terpendek yang terpilih. Sebaliknya, nilai 0
menunjukkan bahwa cabang yang bersangkutan tidak masuk dalam rute. Sedangkan fungsi
obyektif diperoleh dari perkalian nilai solusi optimal (kolom C) dengan koefisien jarak
(kolom D).
Sedangkan formulasi dalam LINDO untuk masalah ini dan solusinya adalah sebagai berikut
1) 13.00000
NO. ITERATIONS= 4
Contoh lain
Akan ditempuh kota T dari kota O. Diberikan jarak antar kota dalam network berikut.
Temukan lintasan terpendek dari O ke T. Pergunakan fomulasi LP.
A
4 7
1 D
5 6 Tujuan
Asal
6
O B 1 T
4 8
5 2 E
5
C
Minimasi :
4XOA+ 6XOB+ 5XOC+ XAB+ 7XAD+ 2XBC+ 5XBD+ 4XBE+ 2XCB+ 5XCE+ XDE+ 6XDT+ XED+ 8XET
Subject to
XOA + XOB + XOC = 1 (node O)
- XOA + XAB + XAD = 0 (node A)
- XOB –XAB – XCB + XBD + XBE = 0 (node B)
- XOC - XBC + XCE = 0 (node C)
- XAD - XBD - XED + XDT = 0 (node D)
- XCE – XBE + XED + XET = 0 (node E)
-XDT – XET = -1 (node T)
Dengan
Rute jarak
1 O-A-B-D-T 16
2 O-A-B-E-D-T 16
Node-1 Node Jarak Jarak Node Cabang
N
terdekat total minimal terakhir terakhir
1 O A 4 4 A OA
2 O C 5 5 C OC
A B 4+1 5 1 B AB
C B 5+2 7 2
3 A D 4+7 11 7 E
B E 5+4 9 4 BE
C E 5+5 10 5
4 B D 5+5 10 5 D BD
E D 9+1 10 1 D ED
5 D T 10+6 16 6 T DT
E T 10+8 18 8
Perhitungan dengan penggunaan program excel-solver
Masuk
Dari Ke rute Jarak Node Net-flow Supply/demand
O A 1 4 O 1 1
O B 0 6 A 0 0
O C 0 5 B 0 0
A B 1 1 C 0 0
A D 0 7 D 0 0
B C 0 2 E 0 0
B D 1 5 T -1 -1
B E 0 4
C B 0 2
C E 0 5
D E 0 1
D T 1 6
E D 0 1
E T 0 8
Nilai terpendek 16
A 3,5 D
4,6 3,4 3,4
3,6
Origin Destination
SE 4,7 B 3,2 E 3,6 LN
3,3
4,2
3,5 3,8
C 3,4 F
9.5
Shorthes-path problem
Minimasi :
4.6XSEA+ 4.7XSEB+ 4.2XSEC+3.5 XAD+ 3.4XAE+ 3.6XBD+ 3.2XBE+ 3.3XBF+ 3.5XCE+ 3.4XCF+
3.4XDLN+ 3.6XELN+3.8 XFLN
Subject to
XSEA+ XSEB+XSEC = 1 (node O)
- XSEA + XAD + XAE = 0 (node A)
- XSEB + XBD + XBE + XBF = 0 (node B)
- XSEC + XCE + XCF = 0 (node C)
- XAD - XBD + XDLN = 0 (node D)
- XAE – XBE - XCE + XELN = 0 (node E)
– XBF - XCF + XFLN = 0 (node E)
-XDLN – XELN –XFLN = -1 (node T)
Dengan
Node
Node- Lama Node Cabang
N terdek Jml waktu
1 penerbangan terakhir terakhir
at
1 SE A 4.6
SE B 4.7
SE C 4.2 4.2 C OC
2 A D 3.5+4.6 8.1 8.1 D AD
B D 3.6+4.7 8.3
3 A E 3.4+4.6 8 8
B E 3.2+4.7 7.9 7.9
C E 3.5+4.2 7.7 7.7 E CE
4 B F 3.3+4.7 8
C F 3.4+4.2 7.6 7.6 F CF
5 D LN 3.4+8.1 11.5
E LN 3.6+7.7 11.3 11.3 LN ELN
F LN 3.8+7.6 11.4
Rute jarak
SE - C - E - LN 11.3
A 3,5 D
4,6 3,4 3,4
3,3
4,2
3,5 3,8
C 3,4 F
Lama Supply/
Dar K Masuk Nod Net-
penerbanga deman
i e rute e flow
n d
SE A 0 4.6 SE 1 1
SE B 0 4.7 A 0 0
SE C 1 4.2 B 0 0
A D 0 3.5 C 0 0
A E 0 3.4 D 0 0
B D 0 3.6 E 0 0
B E 0 3.2 F 0 0
B F 0 3.3 LN -1 -1
C E 1 3.5
C F 0 3.4
L
D N 0 3.4
L
E N 1 3.6
L
F N 0 3.8
Nilai terpendek 11.30
M INIMUM SPANNING TREE
Minimum spanning tree problem dapat dijelaskan sebagai berikut
1. Kita mempunyai sekumpulan node dari suatu network tetapi belum terhubung. Yang
diberikan hanya sambungan potensial (yang sudah diperkirakan akan dipilih) dan panjang
antar node jika disambungkan. Jarak ini bisa juga digantikan dengan besaran lain seperti
waktu dan biaya.
2. Tujuannya adalah memenuhi syarat bahwa semua node tersambung dengan jarak totoal
minimum.
1. Pilih sembarang node sebagai node awal. Lalu sambungkan dengan node terdekat.
2. Tentukan satu node terdekat dengan node-node lain yang sudah terhubung. Lalu
hubungkan kedua node ini. Ulangi langkah ini hingga semua node tersambung.
3. Jika ada dua node mempunyai jarak sama dengan node lain yang sudah tersambung,
bisa dipilih secara sembarang. Dengan demikian, ada kemungkinan lebih dari satu
solusi optimal dengan jarak minimum total sama.
Pilih
node O sebagai node untuk mulai. Node yang belum tersambung yang paling dekat ke O
adalah A, hubungkan A ke O.
Node yang belum tersambung yang paling dekat ke O atau A, adalah node B. Node B lebih
dekat ke A, maka sambungkan B ke A.
Node yang belum tersambung yang paling dekat ke O, A atau B , adalah node C. Node C
lebih dekat ke B, maka sambungkan C ke B.
Node yang belum tersambung yang paling dekat ke O, A, B atau C , adalah node E. Node E
lebih dekat ke B, maka sambungkan E ke B.
Node yang belum tersambung yang paling dekat ke O, A, B, C atau E , adalah node D. Node
D lebih dekat ke E, maka sambungkan D dengan E.
Dari D dan E paling dekat ke node T adalah cabang DT. Maka sambungkan T ke D.
Jadi terbentuk minimum spanning tree .
Perbedaan utama minimum spanning tree dan shortest path adalah dalam minimum spanning
tree yang dipentingkan adalah menyambungkan semua node atau titik yang ada. Dalam
shortest path tujuan kita adalah mencapai node tujuan dari node awal dengan jarak total
minimum. Jadi dalam shortest path tidak perlu setiap titik tersambung dengan titik yang lain.
Secara matematis permasalahan minimum spanning tree bisa diformulasikan sebagai
berikut
xij= aliran barang melalui cabang i - j,
cij= biaya per unit aliran melewati cabang i- j,
n n
min c ij xij
i 1 j 1
n n
x
j 1
ij x ji 1 untuk setiap node i
j 1
n n
x
i 1 j 1
ij N 1
Xij=0 atau 1
Berikut ini contoh lain dari permsalahan minimum spanning tree. Ada 5 kota yang harus
terhubung yaitu A, B, C dan D. Jarak antar kota diberikan sebagai berikut
842 1616
1093
2396 E
702 2136
A B
1137
2180
324
454
SETS:
CITY / 1..5/: U; ! U( I) = level of city I;
! U( 1) = 0;
LINK( CITY, CITY):
DIST, ! The distance matrix;
X; ! X( I, J) = 1 if we use link I, J;
ENDSETS
! It must be entered;
@SUM( CITY( I)| I #NE# K: X( I, K)) = 1;
Contoh Applikasi
Berikut ini adalah contoh-contoh aplikasi maximum flow problem.
1. Maksimasi aliran dalam jaringan distribusi suatu perusahaan dari pabrik ke
pelanggan.
2. Maksimasi aliran dalam jaringan suplai suatu perusahaan dari vendor ke pabrik-
pabriknya.
3. Maksimasi aliran minyak dalam sistem perpipaan
4. Maksimasi aliran air dalam distribusi air PDAM.
5. Maksimasi aliran kendaraan dalam jaringan transportasi
6. Maksimasi pesan dalam suatu jaringan telekomunikasi
Meskipun maximum flow bisa diformulasikan sebagai linear programming, namun ada
algoritma yang cukup efisien untuk menyelesaikannya. Algoritma tersebut adalah
Augmenting Path. Suatu lintasan augmenting adalah lintasan berarah dari sumber ke tujuan
sehingga setiap cabang dalam lintasan ini mempunyai kapasitas sisa yang positif. Nilai
minimum dari kapasitas residual yang ada disebut dengan kapasitas sisa dari lintasan
augmenting. Karena ia mewakili jumlah aliran yang feasibel yang bisa ditambahkan untuk
keseluruhan lintasan.
Karena itu, setiap lintasan augmenting memberikan kemungkinan memperbesar aliran dalam
network.
Algoritma Augmenting Path untuk maximum flow
Contoh lain
Maximum Flow
2
4
5 4
6
1
4
1 3 7
F 3
F
3
1
6 9
4
4
Maximum Flow 9
Flow: 1 – 2 – 5 – 7 =4
1–3–6–7 =3
1–3–4–6–7 =1
1–4–6–7 =1
M INIMUM COST FLOW
Network bisa digunakan untuk mewakili persoalan minimum cost flow. Yaitu, persoalan
membawa sejumlah item/barang dari sumber ke tujuan dengan melalui beberapa
kemungkinan jalur. Dalam persoalan ini harus dipilih jalur yang memberikan biaya
pengangkutan total minimum. Persoalan Minimum cost flow dideskripsikan sebagai berikut.
Contoh
Misalkan kita mempunyai network sebagai berikut dengan kapasitas cabang, biaya per unit
aliran melewati node, dan kebutuhan di setiap node.
F OR M U L AS I M OD E L
Misalkan kita mempunyai network yang mempunyai arah dan terhubung dengan n nodes
termasuk satu untuk suplai dan satu untuk demand. Variabel keputusan dan parameter
yang lain adalah
xij= aliran barang melalui cabang i - j,
cij= biaya per unit aliran melewati cabang i- j,
uij = kapasitas untuk cabang i- j,
bi= aliran netto yang timbul di node i.
Nilai bi tergantung pada posisi node i, dimana
bi > 0 jika node i adalah node supply,
bi <0 jika node i adalah node demand,
bi = 0 jika node i node antara.
n n
min c ij xij
i 1 j 1
n n
x
j 1
ij x ji bi , untuk setiap node i
j 1
NO. ITERATIONS= 4
Minimize
425XP1W1+ 560XP1W2+ 510XP2W1+ 600XP2W2 + 470XW1RO1+ 505XW1RO2+ 490XW1RO3+
390XW2RO1+ 410XW2RO2 + 440XW2RO3
Subject to
XP1W1+ XP1W2= 200 !(node P1)
XP2W1+ XP2W2= 300 !(node P2)
XP1W1 + XP2W1 - XW1RO1- XW1RO2 - XW1RO3= 0 !(node W1)
XP1W2 + XP2W2 - XW2RO1- XW2RO2 - XW2RO3= 0 !(node W2)
- XW1RO1- XW2RO1 = -150 !(node RO1)
- XW1RO2 – XW2RO2 = -200 !(node RO2)
– XW1RO3 - XW2RO3= -150 !(node R03)
XP1W1 <= 125
XP1W2 <= 150
XP2W1 <= 175
XP2W2 <= 200
XW1RO1 <= 100
XW1RO2 <= 150
XW1RO3 <= 100
XW2RO1 <= 125
XW2RO2 <= 150
XW2RO3 <= 75
XP1W1 >= 0
XP1W2 >= 0
XP2W1 >= 0
XP2W2 >= 0
XW1RO1 >= 0
XW1RO2 >= 0
XW1RO3 >= 0
XW2RO1 >= 0
XW2RO2 >= 0
XW2RO3 >= 0
END
minimize
SUBJECT TO
U2-U3+5X23 <=4
U2-U4+5X24 <=4
U2-U5+5X25 <=4
U3-U2+5X32 <=4
U3-U4+5X34 <=4
U3-U5+5X35 <=4
U4-U2+5X42 <=4
U4-U3+5X43 <=4
U4-U5+5X45 <=4
U5-U2+5X52 <=4
U5-U3+5X53 <=4
U5-U4+5X54 <=4
END
INTE 25
1) 668.0000
L ATIHAN
1. Suatu perusahaan akan memproduksi suatu produk baru di dua pabrik yang berbeda.
Kedua produk kemudian akan diangkut ke dua gudang. Pabrik1 dapat mengirim
melalui rel kereta api jumlah yang tidak terbatas ke gudang 1 saja. Sementara pabrik 2
bisa mengirim melalui rel kereta api jumlah tak terbatas ke gudang 2 saja. Namun
juga tersedia truk yang bebas digunakan untuk mengangkut sampai 50 unit dari setiap
pabrik ke distribution center dimana dari jumlah itu bisa diangkut maksimum 50 unit
ke setiap gudang. Ongkos angkut per unit untuk setiap alternatif, jumlah output
produksi dan jumlah yang diperlukan untuk setiap gudang diperlihatkan dalam tabel
berikut