ISYE6189 - Deterministic
Optimization and Stochastic
Processes
Topic 4
Network Models
LO2: Apply some methods and the techniques used to solve linear optimization models
using their mathematical structure
1) MST
2) Shortest path (Djikstra’s algorithm)
3) Max flow problem
4) PERT dan CPM
Model jaringan (Network Model) dalam pembahasan ini meliputi aplikasi klasik
dalam menemukan cara yang paling efisien untuk menghubungkan sejumlah lokasi langsung
atau tidak langsung, menemukan rute terpendek antara dua kota, menentukan aliran
maksimum dalam jaringan pipa, menentukan aliran minimum-biaya dalam jaringan yang
memenuhi pasokan dan kebutuhan permintaan di lokasi yang berbeda, dan penjadwalan
kegiatan proyek.
Sepanjang pembahasan bagian ini, formulasi dan solusi dari model jaringan sebagai program
linier ditekankan. Dianjurkan agar mempelajari hubungan ini, karena sebagian besar kode
komersial yang digunakan untuk memecahkan masalah jaringan sebagai program linier
belaka. Selain itu, beberapa formulasi memerlukan batasan, yang dapat diimplementasikan
hanya jika masalah ini diselesaikan sebagai LP.
Sudah banyak permasalahan riset operasi yang dapat dimodelkan dan diselesaikan sebagai
suatu bentuk jaringan (node dihubungkan dengan cabang):
1. Desain jaringan pipa gas alam lepas pantai yang menghubungkan baik sumur di Teluk
Meksiko ke titik pengiriman perairan pantai. Tujuan dari model ini adalah untuk
meminimalkan biaya pembangunan pipa.
2. Penentuan rute terpendek antara dua kota di jaringan yang ada jalan.
3. Penentuan kapasitas maksimum (dalam ton per tahun) dari jaringan ‘slurry pipeline’
batubara yang digabungkan dengan tambang batubara di Wyoming dengan pembangkit
Solusi dari situasi ini, dan lain-lain seperti itu, dicapai melalui berbagai algoritma optimasi
jaringan. Bagian ini akan menyajikan empat algoritma yaitu :.
Definisi jaringan. Sebuah jaringan terdiri dari satu set node dihubungkan oleh busur (atau
cabang). Notasi untuk menggambarkan jaringan adalah (N, A), di mana N adalah himpunan
node dan A adalah set busur. Sebagai gambaran, jaringan pada Gambar berikut :
1 3 5
2 4
Busur dikatakan diarahkan atau berorientasi jika memungkinkan aliran positif dalam
satu arah dan nol aliran dalam arah yang berlawanan. Sebuah jaringan mengarahkan semua
busur. Sebuah lintasan adalah busur yang menggabungkan dua node melalui node lain tanpa
Sebuah jaringan yang terhubung sehingga setiap dua node yang berbeda dihubungkan
oleh setidaknya satu jalur. Jaringan pada Gambar diatas menunjukkan jenis jaringan. Sebuah
pohon adalah jaringan yang terhubung siklus bebas terdiri dari subset dari semua node, dan
spanning tree adalah pohon yang menghubungkan semua node jaringan.
• Spanning tree merupakan Tree yang menghubungkan seluruh node pada suatu
jaringan.
• Masalah spanning tree minimal berusaha untuk mencari jumlah arc lengths minimum
yang dibutuhkan untuk menghubungkan seluruh node dalam suatu jaringan.
• Kriteria yang akan diminimisasi dalam kasus spanning tree minimal tidak terbatas
pada jarak meskipun istilah ―terdekat‖ ("closest―) digunakan untuk menjelaskan
suatu prosedur. Kriteria lainnya adalah seperti waktu dan biaya.
Iterasi 1 :
Secara acak dipilih node 1 node awal, dapat lihat bahwa node terdekat adalah node 2 (jarak =
30). Sehingga, koneksi awal dari node :
Connected nodes: 1,2
Unconnected nodes: 3,4,5,6,7,8,9,10
Arcs terpilih: 1-2
Iterasi 2:
Unconnected node terdekat dari connected node adalah node 5 (distance = 25 to node 2).
Node 5 menjadi connected node.
Connected nodes: 1,2,5
Unconnected nodes: 3,4,6,7,8,9,10
Arcs terpilih: 1-2, 2-5
Unconnected node terdekat dari connected node adalah node 7 (distance = 15 to node 5).
Node 7 menjadi connected node.
Connected nodes: 1,2,5,7
Unconnected nodes: 3,4,6,8,9,10
Arcs terpilih: 1-2, 2-5, 5-7
Iterasi 4 :
Unconnected node terdekat dari connected node adalah node 10 (distance = 20 to node 7).
Node 10 menjadi connected node.
Connected nodes: 1,2,5,7,10
Unconnected nodes: 3,4,6,8,9
Arcs terpilih: 1-2, 2-5, 5-7, 7-10
Iterasi 6 :
Unconnected node terdekat dari connected node adalah node 6 (distance = 35 to node 10).
Node 6 menjadi connected node.
Connected nodes: 1,2,5,7,10,8,6
Unconnected nodes: 3,4,9
Arcs terpilih: 1-2, 2-5, 5-7, 7-10, 10-8, 10-6
Iterasi 8 :
Unconnected node terdekat dari connected node adalah node 9 (distance = 30 to node 6).
Node 9 menjadi connected node.
Connected nodes: 1,2,5,7,10,8,6,3,9
Unconnected nodes: 4
Arcs terpilih: 1-2, 2-5, 5-7, 7-10, 10-8, 10-6, 6-3, 6-9
- 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.)
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.)
Hasil Iterasi 2
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).
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.)
Hasil Iterasi 4
Iteration 5
- Step 3: node 6 memiliki jarak label sementara terkecil (11), sehingga menjadi node
baru dengan label permanen.
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.
Ringkasan solusi
Node minimum distance shortest route
2 4 1-2
3 6 1-4-3
4 5 1-4
5 8 1-4-3-5
6 11 1-4-3-5-6
7 13 1-4-3-5-6-7
Iteration 1
- Step 1: cari lintasan dari source node, 1, menuju the sink node, 7, yang memiliki flow
capacities yang lebih besar dari nol pada seluruh arcs lintasan. Salah satu lintasannya
adalah 1-2-5-7.
- Step 2: Arc flow capacity terkecil pada lintasan 1-2-5-7 adalah minimum dari {4, 3,
2} = 2.
- Step 3: kurangi seluruh arc flow pada arah aliran dengan 2 pada lintasan ini dan
tambahkan seluruh arc flow pada arah yang berlawanan dengan 2:
(1-2) 4 - 2 = 2 (2-1) 0 + 2 = 2
(2-5) 3 - 2 = 1 (5-2) 3 + 2 = 5
Iteration 2
- Step 1: lintasan 1-4-7 memiliki flow capacity yang lebih kecil dari nol pada tiap arc.
- Step 2: Arc flow capacity terkecil pada 1-4-7 adalah 3.
- Step 3: kurangi arc flow capacities lintasan pada arah aliran dengan 3, dan tambahkan
kapasitas ini pada arah yang berlawanan dengan 3:
(1-4) 4 - 3 = 1 (4-1) 0 + 3 = 3
(4-7) 3 - 3 = 0 (7-4) 0 + 3 = 3
Hasil Iterasi 2:
Iteration 3
- Step 1: Lintasan 1-3-4-6-7 memiliki flow capacity lebih besar dari nol pada tiap arc.
- Step 2: Arc capacity minimum pada 1-3-4-6-7 adalah 1.
- Step 3: kurangi arc capacities lintasan pada arah aliran dengan 1 dan tambahkan arc
capacities pada arah aliran berlawanan dengan 1:
(1-3) 3 - 1 = 2 (3-1) 0 + 1 = 1
(3-4) 3 - 1 = 2 (4-3) 5 + 1 = 6
Iteration 4
– Step 1: Lintasan 1-3-6-7 memiliki flow capacity lebih besar dari nol untuk tiap arc.
– Step 2: Arc capacity minimum pada 1-3-6-7 adalah 2.
– Step 3: kurangi seluruh arc flow capacities pada lintasan arah aliran dengan 2 dan
tambahkan arc flow capacities pada arah berlawanan dengan 2:
(1-3) 2 - 2 = 0 (3-1) 1 + 2 = 3
(3-6) 6 - 2 = 4 (6-3) 0 + 2 = 2
(6-7) 4 - 2 = 2 (7-6) 1 + 2 = 3
Hasil Iterasi 4
Iteration 5
- Step 1: dengan menggunakan algoritma shortest route, rute terpendek dari node 1
menuju node 7 adalah 1-2-4-3-6-7.
- Step 2: Arc capacity terkecil pada 1-2-4-3-6-7 adalah 2.
- Step 3: kurangi arc flow capacities pada lintasan arah aliran dengan 2 dan tambahkan
kapasitas ini pada arah berlawanan dengan 2:
Sudah tidak terdapat flow menuju sink node 7 yang positif. Dengan demikian, flow
maksimal yang dari node 1 to node 7 telah didapat.
NOTE:
Untuk mengidentifikasi jumlah maximal flow amount dan bagaimana cara
mendapatkannya (mengarahkannya):
- Bandingkan kapasitas asli dengan kapasitas tersesuaikan akhir untuk tiap arc di
kedua arah.
- Jika kapasitas tersesuaikan lebih kecil dari kapasitas asli, perbedaannya
menunjukkan jumlah aliran untuk arc tersebut.
NOTE
▪ Terdapat ―degree of randomness‖ untuk algoritma maximal flow.
▪ Ingat kembali pada langkah 1 terdapat pernyataan ―cari satu lintasan...―, selama
masih mengikuti algoritma, anda akan mendapat solusi, apapun lintasan yang anda
pilih pada setiap iterasi.
▪ Dua orang yang menyelesaikan masalah mungkin mendapatkan solusi flow routings
yang berbeda, namun maximal flows akan tetap sama.
2) Simpul (node)
▪ Menyatakan suatu kejadian atau peristiwa.
▪ Kejadian diartikan sebagai awal atau akhir dari satu atau beberapa kegiatan.
▪ Umumnya kejadian diberi kode dengan angka 1, 2, 3, dst, yang disebut nomor
kejadian.
1
Bila ada dua kegiatan berbeda yang mulai pada kejadian yang sama dan berakhir pada
kejadian yang sama pula, maka kegiatan tersebut tidak boleh berimpit
Dalam suatu jaringan tidak boleh terjadi suatu loop atau arus putar.
Nomor kejadian terkecil adalah nomor dari kejadian awal dan nomor kejadian terbesar
adalah nomor kejadian akhir. Nomor kejadian ditulis di dalam lingkaran kejadian.
Tiap kegiatan selain diberi kode berupa huruf besar, juga boleh diberi kode simbol (i,j),
dimana i menyatakan nomor kejadian awal, dan j menyatakan nomor kejadian akhir
CPM adalah suat metoda yang digunakan untuk mengelola kegiatan suatu proyek dengan
memperhatikan kegiatan kritis. Kegiatan-kegiatan kritis yang dimaksud ini merupakan
kegiatan yang mana apabila ada keterlambatan dalam penyelesaian akan mempengaruhi
waktu penyelesaian proyek tersebut secara keseluruhan.
Untuk mengetahui sejauh mana waktu yang digunakan untuk penyelesaian suatu proyek,
beberapa ketentuan diperlukan, yaitu:
Perhitungan Mundur
• Latest Start Time (LS)
Waktu paling lambat suatu aktivitas mulai tanpa mempengaruhi waktu dari critical
path time
LS= LF - t
• Latest finish time (LF)
Waktu paling lambat suatu aktivitas dapat diselesaikan tanpa mempengaruhi
critical path time
LS = minimum LS dari immediate predecessors
▪ PERT didasarkan pada asumsi bahwa lamanya aktivitas mengikuti suatu distribusi
probalistik, bukan nilai tunggal.
▪ Tiga estimasi waktu diperlukan untuk menghitung parameter distribusi suatu lamanya
aktivitas.:
• most likely time (tm ) - the consensus best estimate of the activity’s duration
• optimistic time (to ) - the time the activity would take if things did go well
𝑡𝑝 + 4𝑡𝑚 + 𝑡𝑜
Mean (expected time): t =
e 6
Variance: 2
𝑡𝑝 + 𝑡𝑜 2
𝑉𝑡 = 𝜎 = [ ]
6
▪ Analisa PERT.
• Gambar jaringan.
• Analisa lintasan pada jaringan dan tetapkan lintasan kritis.
• Panjangnya lintasan kritis merupakan rata-rata distribusi probabilistik proyek yang
disumsikan normal.
• Standard deviasi distribusi probabilistik proyek dihitung dengan menambahkan
variansi dari kritikal activitas (semua activitas)
• Perhitungan Probabilitas dapat menggunakan distribution normal table.
x-
Z=
Dimana = t = project mean time
p
= project standard mean time
x = (proposed ) specified time
Pada pembahasan model Jaringan (Network Model) ini ada empat hal yang menjadi
sub bahasan diantaranya:
a. Metoda Minimum Spanning Tree (MST). Untuk suatu jaringan dengan n node,
spanning tree adalah sekumpulan dari n-1 arc yang menghubungkan semua node
dalam jaringan dan tidak mengandung loop. Minimum spanning tree adalah spanning
tree dengan panjang minimum dalam suatu jaringan. Contoh penerapan metoda
minimal spanning tree ini untuk menentukan jaringan pipa air minum, pemasangan
kabel telepon, dan instalasi lainnya.
b. Shortest Route Problem. Shortest Route Problem menentukan rute terpendek antara
sumber dan tujuan dalam jaringan transportasi.
c. Maximum Flow Model. Masalah maximum flow terkait dengan penentuan volume
aliran maximum dari suatu node menju node lainnya.
d. CPM/PERT. Metoda ini banyak digunakan untuk membuat rencana kerja untuk
menyelesaikan suatu proyek dan digunakan untuk mengevaluasi kemungkinan waktu
penyelesaian proyek dapat dipercepat.
Taha, Hamdy A., (2007). Operation Research : An Introduction. 8th Edition, Pearson Prentice
Hall, New Jersey . ISBN : 0-13-188923-0
http://www.digilib.ui.ac.id/opac/themes/libri2/detail.jsp?id=81280&lokasi=lokal
http://www.tsp.gatech.edu/history/index.html3.
http://en.wikipedia.org/wiki/Travelling_salesman_problem
http://www.comp.nus.edu.sq/stevanha/programming/prog_greedy.html
http://stttelkom.ac.id/staf/fay/kuliah/DAA/20052/Tugas1/pdfs/09-
DAA%2020052%20113030055%20113030037%20113030035%20Solusi%20TSP%20
Menggunakan%20Algoritma%20Greedy.pdf