01 Masalah Jaringan (Bagian 1)
01 Masalah Jaringan (Bagian 1)
TUJUAN PEMBELAJARAN
DEFINISI JARINGAN
DEFINISI JARINGAN
Sebuah jaringan terdiri dari serangkaian node yang dihubungkan oleh arcs (atau
branches).
Node (lingkaran kecil),
• menyatakan sebuah kejadian atau peristiwa atau event. Kejadian
didefinisikan sebagai ujung atau pertemuan dari satu atau beberapa
kegiatan.
Contoh nodes, arcs, dan flow
Arcs (anak panah)
• menyatakan sebuah kegiatan atau aktivitas. Kegiatan di sini didefinisikan
sebagai hal yang memerlukan jangka waktu tertentu dalam pemakaian
sejumlah sumber daya (sumber tenaga, peralatan, material, biaya).
Flow of product/things
• Arcs (anak panah) mungkin memiliki aliran dari suatu hal yang
melalui mereka
• Contoh: oil products mengalir di pipa
6
DEFINISI JARINGAN
Contoh:
N = {1, 2, 3, 4, 5}
A = { (1, 3), (1, 2), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)}
7
DEFINISI JARINGAN
Siklus adalah lintasan yang menghubungkan suatu node dengan node itu sendiri.
Contoh:
Lintasan 2 3, 3 4, dan 4 2.
8
Menyelesaikan masalah
yang berhubungan Dapat merencanakan Penjadwalan pekerjaan
dengan desain sistem suatu proyek secara dalam urutan yang
transportasi & keseluruhan. praktis dan efisien.
komunikasi.
• Banyak situasi penelitian operasional dapat dimodelkan dan dipecahkan sebagai jaringan.
Berikut adalah beberapa contoh masalah jaringan.
Desain jaringan pipa gas alam lepas pantai yang menghubungkan kepala sumur Teluk
Meksiko ke titik pengiriman dekat pantai. Tujuan dari model ini adalah untuk
meminimalkan biaya pembangunan pipa.
Penentuan kapasitas maksimum (dalam ton per tahun) jaringan pipa coal slurry yang
menghubungkan tambang batu bara di Wyoming dengan pembangkit listrik di Houston.
Penetapan jadwal aliran biaya minimum dari ladang minyak ke kilang melalui jaringan
pipa.
10
SHORTEST PATH
Contoh:
Anda ingin menemukan rute terbaik untuk berkendara dari satu kota ke kota lain melalui sejumlah kota
perantara. Anda kemudian memiliki pilihan untuk menentukan rute terbaik yang dapat meminimumkan
total jarak yang ditempuh atau yang meminimumkan total biaya yang dikeluarkan atau yang
meminimumkan total waktu tempuh
12
MAXIMUM FLOW
1. Memaksimalkan jumlah barang yang dialirkan dari pabrik ke pelanggan pada jaringan distribusi perusahaan.
2. Memaksimalkan jumlah barang yang dialirkan dari vendor ke pabrik pada jaringan pasokan perusahaan.
3. Memaksimalkan jumlah aliran minyak yang melalui sistem perpipaan.
4. Memaksimalkan jumlah aliran air yang melalui sistem saluran air.
5. Memaksimalkan aliran arus kendaraan yang melalui jaringan transportasi.
14
• Seperti masalah maximum flow, minimum flow cost problem mempertimbangkan aliran material/barang yang
melewati suatu jaringan yang memiliki keterbatasan terkait kapasitas arcs.
• Seperti masalah shortest-path, minimum cost flow mempertimbangkan biaya (atau jarak) untuk melewati
suatu arcs.
• Seperti persoalan transportasi/penugasan, minimum cost flow dapat mempertimbangkan keberadaan
multiple sources dan multiple destination.
15
Mulai dari kota asalnya, penjual ingin menentukan rute mana untuk mengunjungi setiap
kota tepat satu kali sebelum kembali ke kota asalnya untuk meminimalkan total panjang
tur.
Berikut adalah beberapa penerapan Traveling Salesman Problem.
1. Penentuan rute kunjungan serangkaian tempat wisata
2. Penentuan rute pengiriman paket barang oleh kurir ekspedisi
3. Penentuan rute penjemputan pelanggan jasa travel door to door
16
SHORTEST PATH
17
Pada jaringan yang diberikan, cari lintasan jarak, waktu, atau biaya
minimum dari poin awal (the start node) sampai ke tujuan (the
terminal node)
Definisi masalah
Terdapat n buah node, dimulai dengan start node 1 dan diakhiri dengan terminal
node n.
Bi-directional arcs menghubungkan connected node i dan j dengan jarak
nonnegatif, dij
Cari lintasan total jarak minimum yang menghubungkan node to node n.
18
• Step 1: tetapkan node 1 dengan label permanen [0,S]. Angka pertama adalah jarak dari
node 1; angka kedua adalah preceeding node. Karena node 1 tidak memiliki preceeding
node, maka starting node dilabeli dengan S.
• Step 2: hitung label-label sementara, (d,n), untuk tiap node yang dapat dicapai secara
langsung dari node 1. d = jarak langsung dari node 1 ke node in question — ini disebut
sebagai distance value. n menunjukkan preceeding node pada rute dari node 1 — ini
disebut sebagai preceeding node value. (Seluruh node yang dilabeli pada langkah ini
memiliki n = 1)
• Step 3: identifikasi node dengan label sementara yang memiliki distance value terkecil.
Anggap node ini adalah node k. Node k kemudian dilabeli secara permanen
(menggunakan tanda kurung [ , ]). Jika seluruh node telah dilabeli secara permanen, GO
TO STEP 5.
19
• Step 4: untuk setiap node yang tidak memiliki label permanen yang dapat dicapai
secara langsung dari node k pada langkah 3, hitung jumlah t, dimana
• Jika node yang belum dilabeli secara permanen memiliki label sementara,
bandingkan t dengan distance value saat ini dengan node yang
dipertanyakan yang terlabeli sementara.
• Jika t < distance value dari node yang terlabeli sementara, ganti label sementara yang
dipertanyakan dengan (t,k).
• Jika t > distance value dari node yang terlabeli sementara, pertahankan label sementara saat
ini.
• Jika node yang belum dilabeli secara permanen tidak memiliki label
sementara, buat label sementara (t,k) untuk node yang dipertanyakan.
• Setelah itu, GO TO STEP 3.
21
• Step 5:
• Label permanen mengidentifikasi jarak terpendek dari node 1
menuju setiap node seperti halnya preceeding node pada rute
terpendek.
• Rute terpendek pada given node dapat dicari secara backwards
dengan dimulai dari given node dan bergerak menuju preceeding
node.
• Dengan melanjutkan prosedur ini dari preceeding node akan
menghasilkan rute terpendek dari node 1 menuju node yang
dipertanyakan.
22
5
2 5
4 3 6
2
7 3
1 3 7
5 1 2
6
4 6
8
23
• Iteration 1
• Step 1: tetapkan node 1 dengan label permanen [0,S].
• Step 2: karena node 2, 3, dan 4 terhubung langsung dengan node
1, tetapkan label sementara (4,1) untuk node 2; (7,1) untuk node 3;
dan (5,1) untuk node 4.
• Step 3: node 2 adalah node yang dilabeli sementara yang memiliki
jarak terpendek (4), dan selanjutnya menjadi node baru yang
terlabeli permanen.
24
• Iteration 1
• Step 1: tetapkan node 1 dengan label permanen [0,S].
5
2 5
4 3 6
2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
8
25
4 3 6
(7,1) 2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
(5,1) 8
26
4 3 6
(7,1) 2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
(5,1) 8
CONTOH KASUS SHORTEST PATH 27
• Iteration 1
• Step 4: untuk setiap node yang berlabel sementara yang terhubung dengan node 2
hanya dengan satu arc, hitung jumlah arc length dengan distance value node 2 (yaitu 4).
• Node 3: 3 + 4 = 7 (tidak lebih kecil dari label saat ini; jangan diubah)
• Node 5: 5 + 4 = 9 (tetapkan label sementara pada node 5 dengan (9,2) karena node 5 belum memiliki label)
(9,2)
[4,1]
• Hasil Iterasi 1 5
2 5
(7,2)
4 3 6
(7,1) 2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
(5,1) 8
28
5 1 2
6
4 6
(5,1) 8
29
4 3 6
(7,1) 2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
30
• Iteration 2
• Step 3: node 4 memiliki jarak label sementara terpendek (5). Node
4 menjadi node baru yang terlabeli permanen.
• Step 4: untuk setiap node dengan label sementara yang terhubung
dengan node 4 menggunakan satu arc, hitung jumlah arc length
dengan distance value node 4 (yaitu 5).
• Node 3: 1 + 5 = 6 (ganti label sementara node 3 dengan (6,4) karena 6 < jarak
saat ini (7))
• Node 6: 8 + 5 = 13 (tetapkan label sementara node 6 dengan (13,4) karena
node 6 belum dilabeli)
31
5 1 2
6
4 6
[5,1] 8
(13,4)
32
4 3 6
(6,4) 2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
(13,4)
33
4 3 6
[6,4] 2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
(13,4)
34
• Iteration 3
• Step 3: node 3 memiliki jarak label sementara terpendek (6),
sehingga menjadi node baru yang terlabeli secara permanen.
• Step 4: untuk setiap node dengan label sementara yang terhubung
dengan node 3 hanya dengan satu arc, hitung jumlah arc length
dengan jarak ke node 3 (yaitu 6).
• Node 5: 2 + 6 = 8 (ganti label sementara node 5 dengan (8,3) karena 8 <
jarak saat ini (9))
• Node 6: 6 + 6 = 12 (ganti label sementara node 6 dengan (12,3) karena 12 <
jarak saat ini (13))
35
4 3 6
[6,4] 2
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
(12,3)
(13,4)
36
• Iteration 4
• Step 3: node 5 memiliki jarak label sementara terkecil (8), sehingga
menjadi node baru yang terlabeli permanen.
• Step 4: untuk setiap node dengan label sementara yang terhubung
dengan node 5 hanya dengan satu arc, hitung jumlah arc length dengan
distance value dari node 5 (yaitu 8).
• Node 6: 3 + 8 = 11 (ganti label sementara node 6 dengan (11,5) karena 11 < jarak
saat ini (12))
• Node 7: 6 + 8 = 14 (tetapkan label sementara untuk node 7 dengan (14,5) karena
node 7 belum dilabeli)
37
4 3 6
[6,4] 2 (14,5)
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
(12,3)
(11,5)
(13,4)
38
• Iteration 5
• Step 3: node 6 memiliki jarak label sementara terkecil (11),
sehingga menjadi node baru dengan label permanen.
• Step 4: untuk setiap node dengan label sementara yang terhubung
dengan node 6 hanya dengan satu arc, hitung jumlah arc length
ditambah dengan distance value pada node 6 (yaitu 11).
• Node 7: 2 + 11 = 13 (ganti label sementara node 7 dengan (13,6) karena 13 <
jarak saat ini (14))
39
4 3 6
[6,4] 2 [13,6]
(14,5)
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
(12,3)
[11,5]
(13,4)
40
• Iteration 6
• Step 3: node 7 jadi terlabeli permanen, dan karenanya seluruh node terlabeli permanen.
Lanjutkan pada ringkasan di langkah 5.
• Step 5: ringkas dengan pengusutan backwards rute terpendek melewati label permanen.
41
4 3 6
[6,4] 2 [13,6]
(14,5)
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
(12,3)
[11,5]
(13,4)
42
• Ringkasan solusi
4 3 6
[6,4] 2 [13,6]
(14,5)
7 3
[0,S] 1 3 7
5 1 2
6
4 6
[5,1] 8
(12,3)
[11,5]
(13,4)
44
TERIMA KASIH
44