BAB 10 NETWORK FLOW Netw Networ orks ks bany banyak ak dipa dipak kai dala dalam m bany banyak ak hal hal untu untuk k kegun egunaa aan n yang yang berb berbed edaa-be beda da..
Jari Jaring ngan an
tran transp spor orta tasi si,,
jari jaring ngan an
list listri rik k
dan dan
jari jaring ngan an
telekomunikasi adalah contoh-contoh dimana network ditemukan dalam kehidupan sehari-hari. Representasi Representasi Network juga dipakai dalam produksi, distribusi distribusi,, project project planning, planning, penempata penempatan n fasilitas, fasilitas, manajemen manajemen
resour resource ce
dan nancial planning. 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 dengan permasal permasalahan ahan network network flow flow membawa membawa pengaruh pengaruh besar besar dalam dalam struktur struktur data dan manip anipul ulas asii data data dala dalam m bida bidang ng ilmu ilmu komp komput uter er.. Dengan Dengan berk berkembang embangnya nya ilmu ilmu
kompu komputer, ter, memungki memungkinka nkan n penyelesai penyelesaian an problem problem network network ow dengan dengan bantuan software terutama untuk masalah-masalah besar yang beberapa tahun sebelumnya tidak terpecahkan. !anyak permsalahan network ow yang
sebenarnya
berbentuk
lin linear ear
pro program gramm ming ing.
"ebaga "ebagaii
contoh contoh,,
masal masalah ah trans transpo porta rtasi si atau atau assign assignme ment nt yang yang kita kita bahas bahas sebelu sebelumn mnya. ya. Dalam bab ini akan kita bahas beberapa aplikasi network ow. #acam-macam aplikasi networkow antara lain 1. Shortest-path problem, 2. Minimum spanning tree problem, 3. Maximum flow problem 4. Minimum cost flow problem
SHORTEST PATH
Seri Seringk ngkal alii kita kita memp mempuny unyaa proble problem m yang yang berhub berhubung ungan an dengan dengan peme pemeili iliha han n suatu suatu rute rute perjalanan menuju suatu su atu tujuan tertentu. Apa yang kita selesaikan selesaik an dalam shortest path adalah mencari jarak total terpendek dari suatu node asal O dan node tujuan melewati beberapa node yang lain. !emelihan !emelihan rute terpendek terpendek ini merupakan inti permasalah permasalahan an yang kita coba pecahkan dalam shortest shor test path.
Algorithm untuk Shortest-Path Shortest-Path Problem.
Tujuan ari iterasi !e n"
emukan emukan node terdekat terdekat ke n terhadap terhadap node asal "ulangi "ulangi untuk untuk n # #, $, . . . sampai node terdekat ke n adalah node tujuan akhir $.
%nput untu! iterasi !e n" n - # node terdekat ke asal "yang sudah terselesaikan pada iterasi
sebelumnya%, termasuk lintasan terpendeknya dan jarak dari dari titik asal. "&ode'node ini , ditambah denga node asal, akan disebut node yang sudah diselesaikan( node yang lain disebut node yang belum terselesaikan%
&aniat untu! noe tere!at !e n" setiap node yang sudah terselesaikan yang terhubung
langsung ke satu atau atau lebih ke node yang belum terselesa terselesaikan ikan memberikan memberikan satu ! andidate' andidate' node yang belum diselesaikan yang mempunyai sambungan terpendek.
'enghitungan noe tere!at !e
n" )ntuk )ntuk setia setiap p nod nodee yang yang sud sudah ah terse terseles lesai aikan kan dan
kandidatnya, kandidatnya, tambahkan jarak antara mereka dan jarak lintasan terpendek dengan node sudah tersele terselesaik saikan. an. *andidat *andidat dengan dengan dengan jarak jarak total total terpende terpendek k tersebut tersebut adalah node ke n terdekat.
+ontoh aplikasi shortest path 1. Menemukan lintasan dengan jarak total m inimum dalam suatu network 2. inimasi biaya total dari urutan sejumlah aktivitas-pekerjaan dalam suatu network 3. inimasi waktu total dari urutan sejumlah aktivitas-pekerjaan dalam suatu network 4. Dalam Dalam suatu suatu net networ work k G den denga gan n arc arc relia reliabili bilitie tiess sebesa sebesarr r ij, temukan lintasan P dengan maximum reliability gi!en by
Pi,j"ÎP rij".
Per#atikan conto# berikut. $ita berangkat dari kota % ke tujuan &.
Algorithm untuk Shortest-Path Shortest-Path Problem.
Tujuan ari iterasi !e n"
emukan emukan node terdekat terdekat ke n terhadap terhadap node asal "ulangi "ulangi untuk untuk n # #, $, . . . sampai node terdekat ke n adalah node tujuan akhir $.
%nput untu! iterasi !e n" n - # node terdekat ke asal "yang sudah terselesaikan pada iterasi
sebelumnya%, termasuk lintasan terpendeknya dan jarak dari dari titik asal. "&ode'node ini , ditambah denga node asal, akan disebut node yang sudah diselesaikan( node yang lain disebut node yang belum terselesaikan%
&aniat untu! noe tere!at !e n" setiap node yang sudah terselesaikan yang terhubung
langsung ke satu atau atau lebih ke node yang belum terselesa terselesaikan ikan memberikan memberikan satu ! andidate' andidate' node yang belum diselesaikan yang mempunyai sambungan terpendek.
'enghitungan noe tere!at !e
n" )ntuk )ntuk setia setiap p nod nodee yang yang sud sudah ah terse terseles lesai aikan kan dan
kandidatnya, kandidatnya, tambahkan jarak antara mereka dan jarak lintasan terpendek dengan node sudah tersele terselesaik saikan. an. *andidat *andidat dengan dengan dengan jarak jarak total total terpende terpendek k tersebut tersebut adalah node ke n terdekat.
+ontoh aplikasi shortest path 1. Menemukan lintasan dengan jarak total m inimum dalam suatu network 2. inimasi biaya total dari urutan sejumlah aktivitas-pekerjaan dalam suatu network 3. inimasi waktu total dari urutan sejumlah aktivitas-pekerjaan dalam suatu network 4. Dalam Dalam suatu suatu net networ work k G den denga gan n arc arc relia reliabili bilitie tiess sebesa sebesarr r ij, temukan lintasan P dengan maximum reliability gi!en by
Pi,j"ÎP rij".
Per#atikan conto# berikut. $ita berangkat dari kota % ke tujuan &.
n
Selesaikan node yang &ode tersambung langsung terdekat dengan node yang belum terselesaikan
arak otal noe (ang secara langsung tersambung
&ode terdekat ke' n
arak minimum
+abang terakhir
#
O
A
$
A
2
OA
$, /
O A
+ B
0 $1$20
+ B
4 4
O+ AB
0
A B +
D 3 3
$ 1 42 5 0 1 /2 4 0 1 02 6
3
7
B3
7
A B 3
D D D
$ 14 25 01 0 25 41#26
D D
6 6
BD 3D
8
D 3
6172#/ 4142#0
#/
D
Ada cara lain yang lebih efisien untuk permasalahan shortest path yang lebih besar. 9aitu, dengan model optimasi. optimasi. Dalam model optimasi optimasi ini kita gunakan formulasi programa programa linier. linier. Beri Berikut kut ini ini cara cara memf memform ormul ulasi asikan kan dan menye menyeles lesaik aikan an proble problem m shortest path "lintasan terpendek% dengan menggunakan 3:cel'solver dan ;<&DO. Sebelumnya bisa kita definisikan aliran masuk dari satu node ke node yang lain dan fungsi tujuannya sebagai berikut inimasi 2) *+ 2) +0) +) / ) ) / 4) / ) ) *+) * *4) */ */ 2) /4) 3) 4) / ) ) T 0) 0) T
subject to ) *+ *+) * *) */ */ # 1 "node O% -) *+ *+) +) + # "node A%
-) *- ) + ) ) ) / -) /# "node B% -) */ - ) / ) / ) / # "node +% -) -) + -) ) ) T # "node D% -) / -) ) ) T # "node 3% - ) T ) T #-1 "node %
dengan
#, jika link i ' j termasuk dalam rute ) ij =, jika link i ' j tidak termasuk dalam rute
Sel target >#62 S)!?OD)+"+0@+#4(D0@D#4% Sedangkan kolom 0@#= berisi formula berikut node
net-fow
O
=C4+C5+C6
A
=-C4+C7+C8
B
=-C5-C7+C9+C10+C11-C12
C
=-C6-C9+C13+C12
D
=-C8-C10+C14+C15-C16
E
=-C14-C13+C16+C17 =-C15-C17
T
*olom + menunjukkan solusi optimal dari problem ini. &ilai # pada kolom ini menunjukkan cabang "arc% tersebut masuk dalam rute terpendek yang terpilih. Sebaliknya, nilai = menunjukkan bahwa cabang yang bersangkutan tidak masuk dalam rute. Sedangkan fungsi obyektif diperoleh dari perkalian nilai solusi optimal "kolom +% dengan koefisien jarak "kolom D%.
Sedangkan formulasi dalam ;<&DO untuk masalah ini dan solusinya adalah sebagai berikut Min 2XOA + 5XOB + 4XOC+2XAB + 7XAD + XBC + XCB + 4XBD + 3XBE + 4XCE + XED + XDE + 5XDT +7XET subject to XOA+XOB+XOC
= 1
XOA+XAB+XAD ="
!(node O !(node A
XOB XAB +XBD+ XBE + XBCXCB= " !(node B XOC XBC +XCE +XCB = "
!(node C
XBDXAD XED+XDE +XDT = "
!(node D
XCEXBE+ XED +XET ="
!(node E
XET XDT =1
!(node T
end
Sedangkan solusinya adalah sebagai berikut
#$ O$T%M&M 'O&D AT )TE$
4
OB*ECT%E '&CT%O A#&E 1
13,"""""
A-%AB#E XOA XOB XOC XAB XAD XBC XCB XBD XBE XCE XED XDE XDT XET
-O/ 2 3 4 5 7
A#&E 1,"""""" ","""""" ","""""" 1,"""""" ","""""" ","""""" ","""""" 1,"""""" ","""""" ","""""" ","""""" ","""""" 1,"""""" ",""""""
)#AC0 O- )&-$#&) ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ",""""""
O, %TE-AT%O)=
-ED&CED CO)T ","""""" 1,"""""" 1,"""""" ","""""" 1,"""""" 2,"""""" ","""""" ","""""" ","""""" ","""""" ","""""" .,"""""" ","""""" 1,""""""
D&A# $-%CE) ","""""" 2,"""""" 4,"""""" 3,"""""" ,"""""" 7,"""""" 13,""""""
4
Contoh lain +!an itempuh !ota T ari !ota *. iberi!an jara! antar !ota alam networ! beri!ut. Temu!an lintasan terpene! ari * !e T. 'erguna!an fomulasi 5'.
A 7
4 1
D
Asal 6
O
5
6
B
1
2
T 8
4 5
Tujuan
E 5
C
Minimasi : 0OA1 8OB1 7O+1 AB1 4AD1 $B+1 7BD1 0B31 $+B1 7+31 D31 8D1 3D1 63 Subject to OA 1 OB 1 O+ 2 # "node O% ' OA 1 AB 1 AD 2 = "node A% ' OB CAB C +B 1 BD 1 B3 2 = "node B% ' O+ ' B+ 1 +3 2 = "node +% ' AD ' BD ' 3D 1 D 2 = "node D% ' +3 C B3 1 3D 1 3 2 = "node 3% 'D C 3 2 '# "node % Dengan
#, ji!a lin! i j masu! alam rute xij =, ji!a tia! aa 1 2 N
1 2
3
4 5
Node-1
O O A C A B C B E D E
Rute jarak O-A-B-D-T 16 O-A-B-E-D-T 16 Node Jarak Jarak terdekat total minimal A 4 4 C 5 5 B 4+1 5 1 B 5+2 7 2 D 4+7 11 7 E 5+4 9 4 E 5+5 10 5 D 5+5 10 5 D 9+1 10 1 T 10+6 16 6 T 10+ 1
Node terakhir
Cabang terakhir
A C B
OA OC AB
E
BE D D T
BD ED DT
!erhitungan dengan penggunaan program e:cel'solver #a$uk Dar! "e rute %arak &ode O O A 1 4 O B 0 6 A O C 0 5 B C A B 1 1 A D 0 7 D B C 0 2 E T B D 1 5 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 Nilai terpende
'u(()*de,and 1 0 0 0 0 0 -1
16
3,5
A 4,6
Origin 4,7 SE
&et-fow 1 0 0 0 0 0 -1
D
3,4
3,4
3,6 3,2
B
E
Desinai!n 3,6 LN
3,3 4,2 3,8
3,5 C
3,4
F
9.5 Shorthes-path problem
Minimasi : 0.8S3A1 0.4S3B1 0.$S3+1/.7 AD1 /.0A31 /.8BD1 /.$B31 /./B>1 /.7+31 /.0+>1 /.0D;&1 /.83;&1/.6 >;& Subject to S3A1 S3B1S3+ 2 # "node O% ' S3A 1 AD 1 A3 2 = "node A% ' S3B 1 BD 1 B3 1 B> 2 = "node B% ' S3+ 1 +3 1 +> 2 = "node +%
' AD ' BD 1 D;& 2 = "node D% ' A3 C B3 ' +3 1 3;& 2 = "node 3% C B> ' +> 1 >;& 2 = "node 3% 'D;& C 3;& C>;& 2 '# "node % Dengan
& 1
2 3 4 5
&ode1 'E 'E !E A B A B C B C D E
&ode terdek at A B C D D E E E # & $N &
%,) waktu
a,a (ener.an/an
&ode terak!r
Ca.an/ terak!r
4"2 8"1
C D
OC AD
7 7"7
E
CE
7"6
#
C#
11"3
$N
E$N
46 47 4"2 8"1 3 7 7"7 7"6 115 11"3 114
3"5+4"6 36+47 34+46 32+47 3"5+4"2 33+47 3"4+4"2 34+1 3"6+7"7 3+76
Rute 'E - C - E - &
3,5
A
SE
4,6
3,4
Origin
3,6
4,7
jarak 113
3,4 Desinai!n 3,2
B
D
E
3,6
LN
3,3 4,2 3,8
3,5 C
3,4
F
Dar !
" e
#a$uk rute
'E 'E !E A A B B B C C
A B C D E D E E & $ N &
0 0 1 0 0 0 0 0 1 0
a,a (ener.an/a n 46 47 4"2 35 34 36 32 33 3"5 34
0
34
1
3"6
D
E
0 3 &!)a! ter(endek
&od e
&etfow
'E A B C D E &
1 0 0 0 0 0 0 -1
'u(()* de,an d 1 0 0 0 0 0 0 -1
1130
M I N I M U M SPANNING T R E E
#inimum spanning tree problem dapat dijelaskan sebagai berikut 1. $ita mem'unyai sekum'ulan noe ari suatu network tetapi belum terhubung. 9ang
diberikan hanya sambungan potensial "yang sudah diperkirakan akan dipilih% dan panjang antar node jika disambungkan. arak ini bisa juga digantikan dengan besaran lain seperti waktu dan biaya. 2. &ujuannya adala# memenu#i syarat ba#wa semua node tersambung dengan jarak totoal
minimum. +ontoh aplikasi minimum spanning tree
embangun rel kereta api yang bisa menghubungkan beberapa kota
endesain local access network untuk beberapa komputer
embuat sambungan kabel elektrik pada sebuah control panel
embuat sambungan pipa yang menghubungkan tempat pengeboran di tepi pantai, dengan tempat penyulingan dan tempat penyimpanan minyak di dekat konsumen
endesain jaringan telekomunikasi "fiber'optic networks, computer networks,leased' line telephone networks, cable television networks, etc.%
endesain jaringan pipa untuk menghubungkan sejumlah lokasi (lgorit#m untuk Minimum )'anning &ree Problem.
1. !ilih sembarang node sebagai node awal. ;alu sambungkan dengan node terdekat. 2. entukan satu node terdekat dengan node'node lain yang sudah terhubung. ;alu
hubungkan kedua node ini. )langi langkah ini hingga semua node tersambung. 3. ika 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.
!ilih
node O sebagai node untuk mulai. &ode yang belum tersambung yang paling dekat ke O adalah A, hubungkan A ke O.
&ode yang belum tersambung yang paling dekat ke O atau A, adalah node B. &ode B lebih dekat ke A, maka sambungkan B ke A.
&ode yang belum tersambung yang paling dekat ke O, A atau B , adalah node +. &ode + lebih dekat ke B, maka sambungkan + ke B.
&ode yang belum tersambung yang paling dekat ke O, A, B atau + , adalah node 3. &ode 3 lebih dekat ke B, maka sambungkan 3 ke B.
&ode yang belum tersambung yang paling dekat ke O, A, B, + atau 3 , adalah node D. &ode D lebih dekat ke 3, maka sambungkan D dengan 3.
Dari D dan 3 paling dekat ke node adalah cabang D. aka sambungkan ke D. adi terbentuk minimum spanning tree .
!erbedaan 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. adi 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
min i #
n
cij xij j #
n
n
j #
j #
xij x ji # untuk setiap node i
n
n
xij i #
6 #
j #
ij2= atau #
Berikut ini contoh lain dari permsalahan minimum spanning tree. Ada 7 kota yang harus terhubung yaitu A, B, + dan D. arak antar kota diberikan sebagai berikut
= 4=$ 070 60$ $/58 4=$ = /$0 #=5/ $#/8 070 /$0 = ##/4 $#6= 60$ #=5/ ##/4 = #8#8 $/58 $#/8 $#6= #8#8 = ika kita mengirimkan data dari satu kota maka data harus bisa terkirim ke 0 kta lain. *ita harus menghubungkan setiap kota dengan ongkos minimum( D 842
1616 1"#3 E
23#6 A
7"2
2136 B
1137 218"
454
324
C
M%
7"2 X12 + 454 X13 + 42 X14 + 23. X 15 + 7"2 X21 + 324 X23 + 1".3 X24 + 213 X25 + 454 X31 + 324 X32 + 1137 X34 + 21" X35 + 42 X41 + 1".3 X42 + 1137 X43 + 11 X45 + 23. X51 + 213 X52 + 21" X53 + 11 X54 )&B*ECT TO 3 X12 + X 32 + X42 + X52 = 1 4 4 X23 2 X32 & 2 + &3 = 3 5 4 X24 2 X42 & 2 + &4 = 3 4 X25 2 X52 & 2 + &5 = 3 7 X13 + X23 + X43 + X53 = 1 2 X23 4 X32 + &2 &3 = 3 . 4 X34 2 X43 &3 + &4 = 3 1" 4 X35 2 X53 &3 + &5 = 3
11 X 14 + X 24 + X34 + X54 = 1 12 2 X24 4 X42 + &2 &4 = 13 2 X34 4 X43 + &3 &4 = 14 4 X45 2 X54 &4 + &5 = 15 X15 + X25 + X35 + X45 = 1 1 2 X25 4 X52 + &2 &5 = 17 2 X35 4 X53 + &3 &5 = 1 2 X45 4 X54 + &4 &5 = 1. X12 + X13 + X14 + X15 = 1 2" 3 X12 + & 2 = 4 21 3 X13 + & 3 = 4 22 3 X14 + & 4 = 4 23 3 X15 + & 5 = 4 ED %TE X11 %TE X12 %TE X13 %TE X14 %TE X15 %TE X21 %TE X22 %TE X23 %TE X24 %TE X25 %TE X31 %TE X32 %TE X33 %TE X34 %TE X35 %TE X41 %TE X42 %TE X43 %TE X44 %TE X45 %TE X51 %TE X52 %TE X53 %TE X54 %TE X( 5 5 )#B &( 2 1,""" )&B &( 2 ......,""" )#B &( 3 1,""" )&B &( 3 ......,""" )#B &( 4 1,""" )&B &( 4 ......,""" )#B &( 5 1,""" )&B &( 5 ......,"""
3 3 3 3 3 3
)ET)6 C%T 8 1,,586 &9 ! &( % = :e;e: o< cit %9 ! &( 1 = "9 #%0( C%T> C%T6 D%)T> ! T?e dist@nce @ti9 X9 ! X( %> * = 1 i< e use :in %> *9 ED)ET) DATA6
! Dist@nce @ti need not be setic9 ! Foe;e> cit 1 is b@se o< t?e tee9 !to6 At: C?i Cin Fou #A Mon 9 D%)T = " 7"2 454 42 23. !<o At:9
7"2 " 324 1".3 213 454 324 " 1137 21" 42 1".3 1137 " 11 23. 213 21" 11 " 9 !<o Mon9 EDDATA
!<o !<o !<o !<o
C?i9 Cin9 Fou9 #A9
! T?e ode: siGe6 /@ninH> @ be s:o
eceLt t?e b@se> ,,, 9 I'O-( C%T( 0 0 NTN 16 ! %t ust be enteed9 I)&M( C%T( % % NEN 06 X( %> 0 = 19 ! %< t?ee @e 2 disjoint tous <o 1 cit to @not?e> e c@n eo;e @ :in it?out be@inH connections, ote6 T?ese @e not ;e Loe * ( 2 K ( 1 X( 0> * + ( 3 K X( *> 09 9 9 ! T?ee ust be @n @c out o< cit 19 I)&M( C%T( * * NTN 16 X( 1> * = 19 ! M@e t?e XPs "819 I'O-( #%06 IB%( X9 9 ! T?e :e;e: o< @ cit eceLt t?e b@se is @t :e@st 1 but no oe t?@n 1> @nd is 1 i< it :ins to t?e b@se9 I'O-( C%T( 0 0 NTN 16 IBD( 1> &( 0> ......9 &( 0 = 1 ( 2 K X( 1> 09 9 ED :ob@: oLti@: so:ution
@i@b:e &( 1 &( 2 &( 3 &( 4 &( 5 D%)T( 1> 1 D%)T( 1> 2 D%)T( 1> 3 D%)T( 1> 4 D%)T( 1> 5 D%)T( 2> 1 D%)T( 2> 2 D%)T( 2> 3
@:ue 5,"""""" ","""""" 2,"""""" 1,"""""" 1,"""""" 2,"""""" ","""""" 7"2,"""" 454,"""" 42,"""" 23.,""" 7"2,"""" ","""""" 324,""""
-educed Cost ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ",""""""
D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( D%)T( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X( X(
2> 2> 3> 3> 3> 3> 3> 4> 4> 4> 4> 4> 5> 5> 5> 5> 5> 1> 1> 1> 1> 1> 2> 2> 2> 2> 2> 3> 3> 3> 3> 3> 4> 4> 4> 4> 4> 5> 5> 5> 5> 5>
4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 -o 1 2 3 4 5 7 . 1" 11 12 13 14 15 1 17
1".3,""" 213,""" 454,"""" 324,"""" ","""""" 1137,""" 21",""" 42,"""" 1".3,""" 1137,""" ","""""" 11,""" 23.,""" 213,""" 21",""" 11,""" ","""""" ","""""" ","""""" 1,"""""" 1,"""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" 1,"""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" 1,"""""" ","""""" ","""""" ","""""" ","""""" ","""""" ):@c o )uL:us ","""""" 323,""" ","""""" ","""""" 2,"""""" 3,"""""" ","""""" ","""""" 3,"""""" 4,"""""" ","""""" 4,"""""" 3,"""""" ","""""" ","""""" 3,"""""" 2,""""""
","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" 7"2,"""" 454,"""" 42,"""" 23.,""" 7"2,"""" ","""""" 324,"""" 1".3,""" 213,""" 454,"""" 324,"""" ","""""" 1137,""" 21",""" 42,"""" 1".3,""" 1137,""" ","""""" 11,""" 23.,""" 213,""" 21",""" 11,""" ","""""" Du@: $ice ","""""" 1,"""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ","""""" ",""""""
1 1. 2" 21 22 23
","""""" 1,"""""" 2,"""""" ","""""" ","""""" 2,""""""
","""""" ","""""" ","""""" ","""""" ","""""" ",""""""
M A X I M U M F LO W P ROBLEM
Secara umum ma:imum flow bisa dijelaskan sebagai berikut 1. Semua aliran barang melalui suatu network yang berarah dan tersambung dari node
awal ke node akhir. &ode awal disebut sumber dan node akhir disebut tujuan. 2. &ode sisa yang lain dinamakan node antara. 3. Aliran dalam satu cabang hanya diperbolehkan ke arah yang ditunjukkan oleh anak
panah dimana jumlah maksimum diberikan sebagai kapasitas cabang tersebut. !ada node sumber, semua cabang mengarah meninggalkan node. !ada node tujuan semua cabang mengarah masuk ke node. 4. ujuannya adalah memaksimumkan jumlah total yang bisa diangkut dari sumber ke
tujuan. umlah yang diangkut ini bisa dikatakan jumlah yang meninggalkan sumber atau jumlah yang sampai pada tujuan. *onto# (''likasi
Berikut ini adalah contoh'contoh aplikasi ma:imum flow problem. 1. aksimasi aliran dalam jaringan distribusi suatu perusahaan dari pabrik ke
pelanggan. 2. aksimasi aliran dalam jaringan suplai suatu perusahaan dari vendor ke pabrik'
pabriknya. 3. aksimasi aliran minyak dalam sistem perpipaan 4. aksimasi aliran air dalam distribusi air !DA. 5. aksimasi aliran kendaraan dalam jaringan transportasi 6. aksimasi pesan dalam suatu jaringan telekomunikasi
eskipun ma:imum flow bisa diformulasikan sebagai linear programming, namun ada algoritma yang cukup efisien untuk menyelesaikannya. Algoritma tersebut adalah +ugmenting 'ath . Suatu lintasan augmenting adalah lintasan berarah dari sumber ke tujuan
sehingga setiap cabang dalam lintasan ini mempunyai kapasitas sisa yang positif. &ilai
minimum dari kapasitas residual yang ada disebut dengan kapasitas sisa dari lintasan augmenting. &arena ia mewa!ili jumlah aliran (ang feasibel (ang bisa itambah!an untu! !eseluruhan lintasan.
*arena itu, setiap lintasan augmenting memberikan kemungkinan memperbesar aliran dalam network.
Algoritma Augmenting Path untuk maximum fow 1.
tujuan dari jaringan yang tersisa sedemikian rupa sehingga setiap sambungan dalam lintasan ini mempunyai kapasitas residual positif. "jika tidak ada lagi lintasan augmenting, aliran net sudah menunjukkan aliran yang optimal% 2.
kapasitas residual minimum ari cabang-cabang (ang aa paa lintasan ini. Tambah!an aliran paa lintasan ini sebesar c . 3. &urangi sejumlah c kapasitas sisa setiap cabang dalam lintasan. Tambah!an
sejumlah c kapasitas sisa setiap cabang dalam lintasan dalam arah yang berlawanan,
kembali ke langkah #.
+i#at *onto# berikut
Iteration 1:Dalam gambar tampak bahwa , salah satu lintasan potensial adalah O - B- E- T , yang mempunyai kapasitas sisa min{7, 5, 6} $ %. Dengan mengalirkan % ke dalam lintasan ini, didapatkan network residual
Iteration 2: &lirkan lagi sebanyak ' ke lintasan potensial O - A- D - T . didapatkan network residual
Iteration 3: alirkan ( ke lintasan potensial O- A-B-D-T . Iteration : alirkan ) ke lintasan O-B-D-T . Nework yang dihasilkan
Iteration 5: : alirkan ( ke lintasan potensial O-!-E-D-T . Iteration 6: : alirkan ( ke lintasan potensial O-!-E-T . *asilnya adalah
Iteration 7: : alirkan ( ke lintasan potensial O-!-E-B-D-T . Network yang dihasilkan adalah
Suatu cut dapat di definisikan sebagai potongan dari sembarang set ari irecte arcs (ang menganung paling tia! satu arc ari setiap lintasan (ang mengarah ari sumber7source$ !e tujuan 7sin!$. &ormalnya banyak cara untuk melakukan pemotongan "cutting% dalam
suatu network untuk membentuk suatu cut. )ntuk suatu cut tertentu, nilai cut adalah jumlah kapasitas dari semua lintasan yang ada pada cut tersebut. Teorema max-flow min-cut menyatakan untuk sembarang network dengan satu sumber dan
satu tujuan, aliran ma!simum (ang feasible dari sumber ke tujuan sama dengan nilai minimum cut untuk semua cuts dari network tersebut.
adi jika 8 menana!an jumlah aliran ari sumber !e tujuan untu! sembarang pola aliran (ang feasible, nilai dari suatu cut memberikan upper bound to 8 , dan nilai terendah dari
nilai cut sama dengan nilai maksimum 8 . Dari contoh ini banyak kemungkinan cut yang bisa didapat. +ut yang digambarkan di atas adalah cut dengan aliran minimum. 9aitu / 1 01 # 1 82 #0, dimana nilainya sama dengan aliran maksimum yang kita peroleh. *ita tidak perlu lagi mencari kemungkinan untuk mengalirkan lagi.
+ontoh lain a:imum >low
2
4
5
6 1
4
1
F
4
3
7
3
F
3 1
6
4
Dari 1 1 1 2 3 3 3 4 5 6
%e
#l&' 2 3 4 5 4 5 6 6 7 7
4 4 1 4 1 0 3 2 4 5
.a/i* #l&'
4
%apa(ita( 6 4 1 4 3 1 3 4 4 9
>low@ # C $ C 7 C 4
20
#C/C8C4
2/
#C/C0C8C4
2#
#C0C8C4
2#
#
N&de 1 2 3 4 5 6 7
Net-)&' 0 0 0 0 0 -
!*ppl,deand 0 0 0 0 0
M I N I M U M COST FLOW
&etwork bisa digunakan untuk mewakili persoalan minimum cost flow. 9aitu, 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. !ersoalan inimum cost flow dideskripsikan sebagai berikut. 1. etworknya mempunyai arah dan terhubung "irecte and connecte network%.
$. !aling tidak salah satu node aalah suppl( noe. /. !aling tidak salah satu node adalah eman noe. 4. Semua node sisanya adalah nodes perantara " transhipment noes$. -. (liran melalui suatu arc hanya diperbolehkan hanya dalam arah sesuai arah yang
ditunjukkan oleh arah panah dimana jumlah maksimum aliran diberikan oleh kapasitas dari cabang "arc% tersebut . "ika aliran bisa terjadi dalam dua arah maka akan diwakili oleh arah panah yang berlawanan. % . &etwork mempunyai cukup cabang dengan kapasitas yang memungkinkan aliran yang
dibangkitkan pada node supply untuk memenuhi semua node demand. /. 0iaya aliran melalui setia' cabang proporsional terhadap jumlah aliran dan biaya per
unit aliran . . ujuannya adalah meminimasi ongkos total pengiriman suplai yang tersedia melalui
network untuk memenuhi demand yang diminta.
"An alternative objective is to maksimasi the total profit from doing this.%
+ontoh aplikasi minimum cost flow problems Kin o! Su""l$ %oes &ransshi"men A""li#ation t %oes Operasi jaringan Sumber barang' fasilitas distribusi barang penyimpanan sementara Solid waste Sources of solid !rocessing management waste facilities
'eman %oes +ustomers
;andfill locations
Operation of a supply network
Eendors
!rocessing facilities
+oordinating product mi:es at !lants
plants
!roduction of a specific product
arket untuk a specific product
+ash flow management
Sources of cash at a Short'term specific time investment options
&eeds untuk cash at a specific time
+ontoh isalkan kita mempunyai network sebagai berikut dengan kapasitas cabang, biaya per unit aliran melewati node, dan kebutuhan di setiap node.
FORMULASI MODEL
isalkan kita mempunyai network yang mempunyai arah dan terhubung dengan n nodes termasuk satu untuk suplai dan satu untuk demand. Eariabel 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. &ilai bi tergantung paa posisi node i, dimana bi 9 = jika node i adalah node supply, bi := jika node i adalah node demand, bi # = jika node i node antara. n
min i # n
n
cij xij j # n
xij x ji j #
bi , untuk setiap node i
j #
= £ :ij £ uij untuk setiap cabang"i, j%
node
net fow
A
C3+C4+C5
B
-C3+C6
C
-C4-C6+C7
D
-C5+C-C
E
-C7-C+C
Sel target F#=2 S)!?OD)+"+/@+5(>/@>5%
ormulasi 'rograma liniernya adala#
Minimasi 2) +4) +/ ;) + 3) / ) / 2) 3) subject to ) +) +/ ) + # 7noe +$ - ) + ) / #4 7noe $ -) +/ -) / ) / # 7noe /$ -) + -) ) #-3 7noe $ -) / ) -) #-< 7noe $
Dalam formulasi ;<&DO Mini@si 2XAB+4XAC +.XAD +3XBC+ XCE +2XED+3XDE subject to XAB+XAC+XAD = 5"
!(node A
XAB +XBC = 4"
!(node B
XAC XBC+XCE = "
!(node C
XAD XED+XDE = 3" !(node D XCE+ XED XDE =" !(node E XAB =1"
!(node A
XCE ="
!(node C
End #$ O$T%M&M 'O&D AT )TE$
4
OB*ECT%E '&CT%O A#&E
1
4.",""""
A-%AB#E
A#&E
-ED&CED CO)T
XAB
",""""""
1,""""""
XAC
4",""""""
",""""""
XAD
1",""""""
",""""""
XBC
4",""""""
",""""""
XCE
",""""""
",""""""
XED
2",""""""
",""""""
XDE
",""""""
5,""""""
-O/
)#AC0 O- )&-$#&)
D&A# $-%CE)
2
",""""""
.,""""""
3
",""""""
,""""""
4
",""""""
5,""""""
5
",""""""
",""""""
",""""""
2,""""""
7
1",""""""
",""""""
",""""""
2,""""""
O, %TE-AT%O)=
4
*onto# Minimal *ost low
akonsel +ompany adalah perusahaan yang membuat barang dan menjualnya kepada outlet retail. ruk digunakan untuk mengangkut barang dari kedua pabriknya ke gudang. ;alu dari gudang ke / outlet retailnya. enggunakan satuan truk yang penuh muatan, berikut ini adalah table yang menunjukkan output bulanan dari pabrik, ongkos angkut per truk yang dikirim ke gudang, dan jumlah maksimum yang bisa diangkut ke setiap gudang per bulan.
ke dari !lant # !lant $
Ongkos angkut per unit Fudang # Fudang $ G0$7 G78= G7#= G8==
*apasitas angkut Fudang # Fudang $ #$7 #7= #47 $==
Output $== /==
)ntuk Outlet retail "?O%,berikut ini adalah demand bulanan, ongkos angkut per truk dari setiap gudang, dan jumlah maksimum yang bisa dikirim per bulan dari setiap gudang . o Ongkos angkut per unit *apasitas angkut Dari ?O# ?O$ ?O/ ?O# ?O$ ?O/ Fudang # G04= G7=7 G05= #== #7= #== Fudang $ G/5= G0#= G00= #$7 #7= 47 Demand G #7= G $== G #7= #7= $== #7= !ermasalahan ini bisa diselesaikan dengan e:cel. Berikut adalah solusi dengan menggunakan e:cel.
Dar!
"e
B!a*a (erun!t
&ode
)an1
1
125
125
425
)an1
200
200
)an1
2
75
150
560
)an2
300
300
)an2
1
125
175
510
1
0
0
)an2
2
175
200
600
2
0
0
1
Ro1
25
100
470
Ro1
-150
-150
1
Ro2
150
150
505
Ro2
-200
-200
1
Ro3
75
100
40
Ro3
-150
-150
2
Ro1
125
125
30
2
Ro2
50
150
410
2
Ro3
75
75
440
TOTA CO'T
)ow
"a(a$!ta$
457375"001
&et-fow
'u(()*de,and
!roblem ini bisa diselesikan melalaui formulasi ;inear programming sebagai berikut Minimize
0$7!#H#1 78=!#H$1 7#=!$H#1 8==!$H$ 1 04=H#?O#1 7=7H#?O$1 05=H#?O/1 /5=H$?O#1 0#=H$?O$ 1 00=H$?O/ Subject to
!#H#1 !#H$2 $== I"node !#% !$H#1 !$H$2 /== I"node !$% !#H# 1 !$H# ' H#?O#' H#?O$ ' H#?O/2 = I"node H#% !#H$ 1 !$H$ ' H$?O#' H$?O$ ' H$?O/2 = I"node H$% ' H#?O#' H$?O# 2 '#7= I"node ?O#% ' H#?O$ C H$?O$ 2 '$== I"node ?O$% C H#?O/ ' H$?O/2 '#7= I"node ?=/% !#H# J2 #$7 !#H$ J2 #7= !$H# J2 #47 !$H$ J2 $== H#?O# J2 #== H#?O$ J2 #7= H#?O/ J2 #== H$?O# J2 #$7 H$?O$ J2 #7= H$?O/ J2 47 !#H# !#H$ !$H# !$H$ H#?O#
K2
K2 K2 K2 K2 =
= = = =
H#?O$ H#?O/ H$?O# H$?O$ H$?O/ 3&D
K2 K2 K2 K2 K2
= = = = =
Penyelesaian dengan sotware +indo
node
net fow
O
C3+C4+C5
A
-C3+C6+C7
B
-C4-C6+C+C+C10
C
-C5-C+C11
D
-C7-C+C12-C13
E
-C10-C11+C13+C14
T
-C12-C14
Tar/et $e) 15C4+C3+C5
Conto?
3:p ##.hal 7/= 8ar* ort wa*ne E9on$9!))e Terne ou)e 'out .end
8ar* ort wa*ne E9on$9!))e Terne ou)e 'out .end 0 132 217 164 5 132 0 20 201 7 217 20 0 113 303 164 201 113 0 16 5 7 303 16 0
minimiLe #===## 1 #/$#$ 1 $#4#/ 1 #80#0 1 76#7 1 #/$$# 1#=== =$$ 1 $5=$/ 1 $=#$0 1 45$7 1 $#4/# 1 $5=/$ 1#===// 1 ##//0 1 /=//7 1 #800# 1 $=#0$ 1 ##/0/ 1#===00 1 #5807 1 767# 1 457$ 1 /=/7/ 1 #5870 1 #===77 S)B3+ O )$')/17$/ )$')017$0 )$')717$7 )/')$17/$ )/')017/0 )/')717/7 )0')$170$ )0')/170/ )0')71707 )7')$177$ )7')/177/ )7')01770
J20 J20 J20 J20 J20 J20 J20 J20 J20 J20 J20 J20
3&D <&3 $7
;! O!<) >O)&D A S3! 7#4 OB3+< A;; EA?S." 5% H< ?+ K 67.==== S3 $7 O J2 = A #, B&D2 '780.$ S3 /0 O J2 = A $, B&D2 '886.=
H<&2 '774.6 H<&2 '746.8
756 8=8
&3H <&3F3? SO;) 886.====== A B?A&+ $/ !;
8=8
D3;33 0/ A ;3E3; / D3;33 /0 A ;3E3; $ >;<3D EA?
'774.45555 H<&2 '84$.6 8$5 H<&2'=.#===31/# 8/4 H<&2'=.#===31/# 8/4 H<&2'=.#===31/# 8/4 H<&2'=.#===31/# 80/
$4 !
;AS <&3F3? SO;)O)&D ?3'<&SA;;<&F B3S SO;))&+
886.====
EA?
EA;)3 =.====== =.====== =.====== =.====== #.====== =.====== =.====== =.====== #.====== =.====== #.====== =.====== =.====== =.====== =.====== =.====== =.====== #.====== =.====== =.====== =.====== #.====== =.====== =.====== =.======
?3D)+3D +OS #===.====== #/$.====== $#4.====== #80.====== 76.====== #/$.====== #===.====== $5=.====== $=#.====== 45.====== $#4.====== $5=.====== #===.====== ##/.====== /=/.====== #80.====== $=#.====== ##/.====== #===.====== #58.====== 76.====== 45.====== /=/.====== #58.====== #===.======
885
)$ )/ )0 )7
#.====== /.====== $.====== =.======
=.====== =.====== =.====== =.======
?OH S;A+* O? S)?!;)S D)A; !?<+3S $% =.====== =.====== /% =.====== =.====== 0% =.====== =.====== 7% =.====== =.====== 8% =.====== =.====== 4% =.====== =.====== 6% =.====== =.====== 5% =.====== =.====== #=% =.====== =.====== ##% =.====== =.====== #$% 8.====== =.====== #/% =.====== =.====== #0% /.====== =.====== #7% $.====== =.====== #8% /.====== =.====== #4% #.====== =.====== #6% /.====== =.====== #5% =.====== =.====== $=% $.====== =.====== $#% =.====== =.====== $$% 4.====== =.====== $/% 8.====== =.====== &O. <3?A
=
L ATIHAN
#. Suatu perusahaan akan memproduksi suatu produk baru di dua pabrik yang berbeda. *edua produk kemudian akan diangkut ke dua gudang. !abrik# dapat mengirim melalui rel kereta api jumlah yang tidak terbatas ke gudang # saja. Sementara pabrik $ bisa mengirim melalui rel kereta api jumlah tak terbatas ke gudang $ saja. &amun juga tersedia truk yang bebas digunakan untuk mengangkut sampai 7= unit dari setiap pabrik ke distribution center dimana dari jumlah itu bisa diangkut maksimum 7= 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 Ongkos angkut per unit Distribution center
Fudang #
Fudang $
Output
!abrik # !abrik $ Distribution center Alokasi
/ 0
4 M $ 8=
M 5 0 5=
a" >ormulasikan model network untuk problem ini sebagai minimum cost flow problem. b" >ormulasikan model linear programming untuk masalah ini.
6= 4=