Anda di halaman 1dari 65

Network Models

Mengapa mempelajari Network Model


Sebuah surve melaporkan bahwa 70% dari pemrograman matematika dapat direpresentasikan dalam model jaringan terhubung

Keterangan BAB
Pada bab ini akan dipelajari tentang:
Minimal spanning tree Shortest-route algorithm Maximum flow algorithm Minimum-cost capacitated network algorithm Critical path (CPM) algorithm

Definisi Network
Sebuah Network (jaringan) terdiri dari sejumlah node-node yang dihubungkan oleh arcs Notasi untuk menggambarkan sebuah jaringan adalah (N,A) dimana N adalah set node-node dan A adalah set arc-arc Contoh :
N = {1, 2, 3} A = {(1,2), (2,3)}

Definisi Network
Sebuah Arc dikatakan sebagai directed atau oriented jika mengijinkan aliran positif pada satu arah dan nol pada arah yang berlawanan A directed network has all directed arcs. Sebuah directed network mempunyai semua direct arcs.

Definisi Network
Sebuah path adalah urutan arc yang menggabungkan dua node melalui node yang lain tanpa memandang arah dari tiap arc. Sebuah path membentuk sebuah cycle jika menghubungkan sebuah node ke diri sendiri melalui node lain. Sebuah cycle adalah directed apabila terdiri dari sebuah directed path

Network Definition
Sebuah connected network adalah adanya tiap dua node yang terhubung oleh minimal sebuah path Tree adalah sebuah connected network yang dapat melibatkan sebuah subset dari node-node yang ada dalam network tanpa cycle. Sebuah spanning tree adalah tree yang menghubungkansemua node-node dari network, juga tanpa cycle.

Algoritma Minimal Spanning Tree


Misal N = {1, 2, 3, , n} adalah sebuah set node-node. Tentukan :
Ck
Set node-node yang telah permanen terhubung pada iterasi ke k. Node yang sudah terhubung permanen

Ck
Set node-node yang akan dihubungkan secara permanen Node yang belum terkoneksi

Algoritma Minimal Spanning Tree


Step 0:
Posisikan C0 = { } dan C0 = N.

Step 1:
Mulai dengan sembarang node dalam set yang belum terhubung C0. Posisikan C1 = {i} yang mengubah C1 = N {i}. Posisikan k=2.

Algoritma Minimal Spanning Tree


Langkah Umum k:
Pilih sebuah node, j*, dalam set belum terhubung Ck-1 yang menyatakan arc terpendek ke sebuah node dalam set terhubung Ck-1. Hubungkan j* secara permanen ke Ck-1 dan hilangkan dari Ck-1.
Ck = Ck-1 + {j*} Ck = Ck-1 {j*}

Jika set dari node belum terhubung, Ck, kosong, berhenti. Jika tidak, posisikan k = k + 1 dan ulangi langkah tersebut.

Persoalan Minimal Spanning Tree


Persoalan
Perusahaan TV kabel Midwest sedang dalam proses penyambungan kabel ke lima area pembangunan perumahan baru.

Persoalan Minimal Spanning Tree

6
9
1
5

3
4

4
5

10
6

Penyelesaian Persoalan Minimal Spanning Tree


2

Penyelesaian Persoalan Minimal Spanning Tree


2

6
9
1 5 3

7
6 4

Penyelesaian Persoalan Minimal Spanning Tree


2

6
3

7
6 4

Penyelesaian Persoalan Minimal Spanning Tree


2

5
6

3
4

Penyelesaian Persoalan Minimal Spanning Tree


2

6
3

4
10

5
6

3
4

Penyelesaian Persoalan Minimal Spanning Tree


2

4
5
4

Contoh

A
2 2

D
3 1

O
5 4

B
4

C
1

Persoalan Rute Terpendek


Persoalan rute terpendek menentukan rute terpendek antara sebuah sumber dan tujuan dalam jaringan transportasi.

Penggantian Perlengkapan
Contoh problem Sebuah tempat persewaan mobil mengembangkan sebuah rencana penggantian untuk mobil-mobilnya untuk jangka waktu 4 tahun mendatang yang dimulai sejak 1 januari 2001 sampai 31 desember 2004. Sebuah keputusan harus diambil untuk menentukan apakah sebuah mobil harus terus dioperasikan atau diganti. Sebuah mobil harus dioperasikan paling sedikit 1 tahun dan maksimal 3 tahun

Replacement Cost
Tahun 2001 1 4000 2 5400 3 9800

2002
2003 2004

4300
4800 4900

6200
7100 -

8700
-

9800 5400 1 4000 2 4300 3 6200 8700 4800

7100

4900

Penyelesaian
Arcs dari node 1 hanya dapat mencapai node 2,3, dan 4 sebab sebuah mobil hanya dapat dioperasikan pada tahun pertama,kedua, dan ketiga saja Angka pada masing-masing arcs menunjukkan biaya penggantian spare part Rute terpendek yang didapat dengan menggunakan TORA adalah 1 -> 3 ->5 Total biaya penggantian yang dibutuhkan $5400 + $7100 = $12500

Rute Terhandal (Most Reliable Route)


Seseorang ingin mencari rute dari rumah ke kantornya. Dia ingin mencari rute teraman yang mungkin dicapai tanpa dihentikan polisi Angka pada tiap arcs melambangkan kemungkinan dia selamat melalui jalan itu tanpa dihentikan polisi Kemungkinan orang itu selamat menuju kantornya tanpa dihentikan polisi adalah hasil kali dari masing-masing kemungkinan di tiap node

Model jaringan Most Reliable route

0.8 2 0.2

0.35

0.5 0.6
0.4 0.1

1
0.9

3 0.3

0.25

Penyelesaian
Masalah tersebut dapat diubah menjadi rute jalan terpendek dengan menggunakan transformasi logaritma Perkalian masing2 arcs dapat diubah menjadi jumlah dari log arcs pk=p1 x p2 x p3 x..x pn = log p1 + log p2 +..+ log pn Dengan mengganti nilai di masing2 arcs dengan nilai lognya,penyelesaian dapat dicari dengan menggunakan TORA, hasilnya 1->3->5->7 Peluangnya sampai kantor tanpa dihentikan oleh polisi 0.9 x 0.3 x 0.25 = 0.0675

Representasi Model Rute Terpendek


Log
.09691 2 .69897 .45593

.30103 .22185
.39794 1

1
.04576

3 .52288

.60206

Algoritma rute terpendek


Ada dua algoritma yang dapat digunakan untuk menyelesaikan persoalan mencari rute terpendek
Dijkstras Algorithm
Digunakan untuk mencari rute terpendek dari suatu node dengan semua node lain dalam suatu network

Floyds Algorithm
Digunakan untuk mencari rute terpendek antara 2 node dalam suatu network

Dijkstras Algorithm
Misalkan ui adalah rute terpendek dari node 1 ke node i, dan dij adalah panjang dari arcs(i,j) maka
[uj,i] = [ui + dij,i] , dij >=0

Label untuk node awal adalah [0,-] menandakan bahwa node tersebut tidak mempunyai predecessor Label suatu node dalam algoritma dijkstra dibedakan menjadi 2
Temporary
Diubah nilainya jika rute yang lebih pendek bisa ditemukan

Permanent
Ditentukan jika tidak ada rute lain yang lebih pendek yang dapat ditemukan

Langkah2 Algoritma Dijkstra


Tandai label awal dengan label permanent [0,-], set i=1 Hitung label temporary [ui+dij,i] untuk tiap node j yang dapat dicapai dari node i, beri tanda temporari
Jika node j sudah punya label [uj,k] melalui node lain k dan jika ui+dij<uj, ganti [uj,k] dengan [uj+dij,i]

Jika semua node telah mempunyai label permanen, stop. Jika tidak, pilih label [ur,s] yang mempunyai jarak terpendek(ur) dari semua label temporary. Set i=r dan ulangi step 1

Contoh
A A
2 2 5 1 4

7
4

D
3 1

O O

B B C C
4

T
7

Node Iterate

d(s,j)

O A B

C D E 4 4 4 4 4

1 2 3 4 5

0 0 0 0 0

2* 2* 2* 2* 2*

5 4* 4* 4* 4*

~ 9 8 8* 8*

~ ~ 7* 7* 7*

~ ~ ~ 14* 13*

O-A O-A-B O-A-B-E O-A-B-E-D O-A-B-E-D-T

Contoh di gambar 6.3-4


Iterasi 0
Tandai node 1 dengan label permanen [0,-]

Iterasi 1
Node 2 dan 3 dapat dicapai dari node 1 dan dari 2 temporary label itu node 3 mempunyai jarak yg lebih pendek, maka node 3 menjadi label permanen

Iterasi 2
Node 4 dan 5 dapat dicapai dari node 3 dan karena node 4 mempunyai jarak yg lebih pendek, node 4 menjadi node permanen

Iterasi 3
Node 2 dan 5 dapat dicapai dari node 4. temporary label pada node 2 diganti karena rute yg lebih pendek didapat dari node 4. Node 5 mempunyai 2 label yg sama jaraknya maka nilainya tidak diganti

Iterasi 4
Node 2 hanya dapat menuju ke node 3 yang sudah mempunyai label permanen, maka node 2 diberi label permanen Node 5 tidak dapat menuju ke node lain sehingga node 5 juga diberi label permanen

Fig 6.3-4
Contoh jaringan:
2 15 4 100 20 10 1 30 3 60

50

Persoalan Rute Terpendek


Rute terpendek dari node 1 ke node2 yang lain telah dapat ditentukan Misal untuk mengetahui rute terpendek dari node 1 ke node 2
(2)->[55,4]->(4)->[40,3]->(3)->[30,1]->(1) Rute terpendeknya 1->3->4->2 Total jaraknya 55 mil

Contoh 2:
A A
2 2 5 1 4 7 4

D
3

O O

B B C C
4

T
1
7

Solusi
Node Iterate d(s,j)

O A 0 0 0 0 0 2* 2* 2* 2* 2*

B 5* 4* 4* 4* 4*

C D 4 4 4 4 4 ~ 9 8 8* 8*

E ~ ~ 7* 7* 7*

F ~ ~ ~ 14* 13*
O-A O-A-B O-A-B-E O-A-B-E-D O-A-B-E-D-T

1 2 3 4 5

Node Iterate

d(s,j)

1 2 3 4 5 6

O 0 0 0 0 0 0

A 2* 2* 2 2 2 2

B 5 4 5* 5* 5* 5*

C D 4 ~ 4* 9 4* ~ 4* 9 4* 9* 4* 9*

E ~ ~ 8 8* 8* 8*

F ~ O-A ~ O-C ~ O-C-B ~ O-C-B-E 15 O-C-B-E-D 14* O-C-B-E-D-T

Min-Cut Max Flow


A
0 5 1 7 2 0 4 1 4 3 0

D
0 1

O
4

B B
0

T
0

5
1

Floyds Algorithm
Lebih general di banding dijkstra, karena menghitung rute terpendek diantara semua node yang ada Dasar pemikiran:
Semua node direpresentasikan dalam matrik D n x n (dengan n adalah jumlah node yang ada) Entry (i,j) untuk matrik adalah jarak antara node i dan node j. Triple Operation
Misal ada 3 node i,j,k dengan jarak dij,djk,dik seperti pada gambar:
j

dij
i

djk dik
k

Jika dij+djk < dik, maka bisa dikatakan jarak jarak tempuh (ijk) < (ik)

Floyds Algorithm
Dengan demikian, path ik bisa ditempuh melalui ijk untuk mendapatkan shortest pathnya. Perubahan triple operation ini bisa dilakukan secara sistematis pada semua jaringan dengan melalui step2 berikut: Step 0 Buat matrik node distance D0 dan matrik sequence node S0. Tandai element diagonal dengan (-) yang menandakan element itu di blok. Kita sebut sebagai set k = 1. Step k Tentukan baris dan kolom k sebagai pivot row dan pivot column. Jalankan triple operation untuk tiap elemen dij pada Dk-1 untuk semua i dan j. Jika dik+dkj < dij (ik,jk dan ij) maka Buat matrik Dk dengan mengganti dij di Dk-1 dengan dik+dkj Buat matrik Sk dengan mengganti Sij di Sk-1 dengan k. Set k = k+1 Ulangi step k.

Contoh6.3-5
For the network in figure 6.21 find the shortest route between every two nodes. The distances (in miles) are given on the arcs. Arc (3,5) is directional so that no trafic is alowed from node 5 to node 3. All the other arcs allow trafic in both directions.
3 1 10 3 5 2 6 4 4 5 15 Figure 6.21

Contoh6.3-5

Contoh 6.3-5
Iteration 0
Membentuk matrik D0 dan S0 sebagai kondisi awal iterasi.

Iteration 1
k=1; maka pivot row dan column yang dipake adalah row dan kolom 1 (1 sbg pusat) element yang mungkin untuk dirubah dengan triple operation dalam D0 adalah
d23 dan d32 (1 sebagai pusat)
Replace d23 dengan d21 + d13 = 3 + 10 = 13 dan Set s23 = 1 Replace d23 dengan d32 + d12 = 10 + 3 = 13 dan Set s32 = 1

Bearti sudah ada garis dari 3 ke 2 dan ini bisa kita manfaatkan

3 1

5 2 4

10
3

13

4
5 15 Figure 6.21

Iteration 2
K=2; pivot = kolom dan baris 2 (2 sbg pusat) Yang memungkinkan untuk dirubah pada d14 dan d41
Berarti sudah ada garis dari 1 ke 4

3 1

5 2 4

10
3

13

4
5 15 Figure 6.21

Iteration 3
k=3; pivot = kolom dan baris 3 ( 3 sbg pusat) Yang memungkinkan untuk dirubah pada d15 dan d25 Berarti sudah ada garis dari 1 ke 5 dan dari 2 ke 5

3 1

5 2 4

10
3

13

4
5 15 Figure 6.21

Iteration 4
k=4; pivot = kolom dan baris 4 Yang memungkinkan untuk dirubah pada d23, d32, d51, d15, d52, d25, d35 dan d53

Iteration 5
k=5, melihat sudah tidak mungkin terjadi perubahan lagi pada tabel D4 maka bisa diasumsikan D5 dan S5 sama dengan D4 dan S4.

Contoh 6.3-5
Bukti.. Matrik D5 dan S5 sudah memuat semua informasi yang kita butuhkan untuk menentukan shortest path antara dua node. Isi element pada matrik D menunjukkan jarak sedangkan isi pada element matrik S adalah node yang harus dilintasi. Jika Sij=j maka ini menunjukkan direct link. Sebaliknya jika tidak maka Sij adalah node yang harus ditempuh sebelum menuju node j. Misal untuk node 1 dan 5. tertulis jarak antara node 1 dan 5 (d15) adalah 12 mil. Dengan path sebagai berikut: 15 145 1245 jadi path terpendek dari node 1 ke 5 adalah melalui 1245 dengan jarak 12 mile.

Anda mungkin juga menyukai