Anda di halaman 1dari 56

PENELITIAN OPERASIONAL II

MODEL JARINGAN KERJA

Dr. Pudji Astuti, MT.

Jurusan Teknik Industri


Universitas Trisakti
2017/2018
Jaringan kerja (network) muncul pada sejumlah
perencanaan dari berbagai bidang. Contohnya: jaringan
transportasi, listrik dan komunikasi. Penggambaran
network digunakan juga secara luas untuk masalah-
masalah seperti produksi, distribusi, perencanaan
proyek, penempatan fasilitas, SDM, perencanaan
keuangan dsb.
Analisa jaringan terdiri dari 3 tipe masalah, yaitu:
1. Minimal Spanning Tree Problem
2. Shortest Path Problem (lintasan terpendek)
a. Algoritma Acyclic (tanpa loop)
b. Algoritma Cyclic (terdapat loop)
3. Maximal-Flow Problem ( aliran/arus maksimal)
Definisi
Graph atau network : adalah himpunan dua simbol yaitu
Node dan busur (arc)
• Nodes: himpunan titik-titik, dapat berupa kota, pabrik,
gudang, sekolah, depot gas, atau lokasi fisik.
• Arcs / busur: menghubungkan antara 2 node.
Arc yang berasal dari node A dan berakhir di node B
digambarkan oleh (A,B) dalam NET. Arc (A,B)
merupakan outgoing arc dari node A dan incoming arc
dari node B.
Nodes
1 2
Arc

1 2
• Tree adalah kumpulan dari arc connecting
yang merupakan kumpulan dari node dan
tidak memiliki cycle. Sebuah tree
menghubungkan seluruh node dalam
network yang disebut spanning tree.
Directed and Undirected
Networks
b b
1 2 1 2
a c a c
e e

4 d 3 4 d 3
An Undirected Graph A Directed Graph

 Networks are used to transport commodities


• physical goods (products, liquids)
• communication
• electricity, etc.
 The field of Network Optimization concerns

optimization problems on networks


• Aliran atau pengiriman merupakan material fisik atau
tak berwujud yang berpindah dari satu node ke node
lainnya. Setiap arc memiliki restriksi pada seberapa
banyak aliran dapat berjalan; contoh flow lower dan
upper bounds. Setiap node memiliki kapasitas
terhadap banyaknya material yang tersedia atau
yang dibutuhkan. Node memiliki kapasitas positif
jika net supply atas material terpenuhi dan memiliki
negatif kapasitas jika net demand atas material
diperlukan.
• Node dengan positif kapasitas dan hanya outgoing
arcs disebut source, origin, atau supply node.
Node dengan negatif kapasitas dan hanya incoming
arcs disebut sink, destination, atau demand node.
Node yang memiliki keduanya, outgoing dan
incoming arcs, disebut transshipment node.
Contoh 1:
Taman Seevada merupakan tempat wisata
dan pendakian bukit. Mobil pengunjung
tidak diizinkan masuk ke dalam taman,
tetapi di sana terdapat suatu sistem jalan
sempit berliku untuk jalur Trem sebagai
sarana transportasi pengunjung dari pintu
masuk (O) hingga bukit (T) (tempat yang
paling indah). Sepanjang jalan pada
taman tersebut ditempatkan beberapa pos
penjagaan.
Pengelola Taman dihadapkan pada 3 macam persoalan,
yaitu:
1. Pemasangan kabel telepon yang mampu
menghubungkan seluruh pos, mulai dari pintu masuk
hingga tempat terakhir. Karena biayanya besar dan
penggalian akan menimbulkan kerusakan lingkungan,
maka kabel telepon tsb hanya dipasang pada jalur-
jalur tertentu, tetapi memungkinkan komunikasi untuk
setiap pos. Timbul pertanyaan di mana kabel telepon
itu akan dipasang agar panjang kabel minimum?

2. Menentukan rute terpendek dari pintu masuk (O)


menuju pos (T), dalam upaya efisiensi pengoperasian
trem.

3. Pada saat liburan, jumlah pengunjung yang akan


menggunakan trem akan melebihi kapasitas yang ada.
Persoalannya adalah bagaimana menentukan rute
trem agar pengunjung terangkut sebanyak mungkin.
MINIMAL SPANNING TREE PROBLEM
 Mencari efisiensi hubungan antara “semua nodes di
dalam jaringan dengan tidak melibatkan sembarang
loops atau cycles
 Algoritma :
- Mulai dari suatu node dan menggabungkan dengan
node terdekat di dalam jaringan. Hasilnya :
* himpunan nodes yang terhubungkan di notasikan”C”
* himpunan nodes sisanya yang belum dihubungkan
dinotasikan”Ć”
- Pilih sebuah node dari Ć yang terdekat dengan C, lalu
hubungkan sehingga membentuk C dan Ć baru
- Proses diulang sampai Ć menjadi himpunan kosong()
Solusi Minimal Spanning Tree Problem
Jaringan di bawah ini menggambarkan busur dari tiap-tiap pos dan
besarnya kapasistas dari tiap busur (maksimal jumlah perjalanan
trem yang diperbolehkan).
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Iterasi 1:
C = {O} Ć = {A,B,C,D,E,T}
yang terdekat dari node O dalam Ć adalah node A, sehingga node
O dihubungkan dengan node A.
C = {O,A} Ć = {B,C,D,E,T}
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Iterasi 2:
yang terdekat dengan node O atau node A dalam Ć
adalah node B, sehingga node A dihubungkan dengan
node B
C = {O,A,B} Ć = {C,D,E,T}
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Iterasi 3:
yang terdekat dengan node O,A atau node B dalam Ć
adalah node C, sehingga node B dihubungkan dengan
node C
C = {O,A,B,C} Ć = {D,E,T}
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Iterasi 4:
yang terdekat dengan node O,A,B atau node C dalam Ć
adalah node E, sehingga node C dihubungkan dengan
node E
C = {O,A,B,C,E} Ć = {D,T}
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4

Iterasi 5:
yang terdekat dengan node O,A,B,C atau node E dalam
Ć adalah node D, sehingga node E dihubungkan dengan
node D
C = {O,A,B,C,D,E} Ć = {T}
A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Iterasi 6:
yang terdekat dengan node O,A,B,C,E atau node D
dalam Ć adalah node T, sehingga node D dihubungkan
dengan node T
C = {O,A,B,C,D,E,T} Ć=
A
2
2 5 T
D
O B
3 1
1

C E

Sekarang semua node telah terhubungkan, sehingga ini


merupakan penyelesaian yang diinginkan. Total panjang
kabel yang dibutuhkan adalah :
2+2+1+3+1+5 = 14 mil
Contoh 2 :
Sebuah perusahaan TV Cable dalam proses
perencanaan sebuah jaringan untuk memberikan
pelayanan TV cable ke-5 area pengembangan
perumahan baru.
3 miles
2 5
1 6
9
1 3
5 4 5 10
7 8
3
4 6

Node 1 : Station relay TV Cable


Node 2 s.d. node 6 : 5 area pengembangan
Problem : tentukan hubungan yang akan menghasilkan
penggunaan kabel yang minimum(dlm miles) yang
menjamin bahwa semua area dihubungkan(secara
langsung atau tidak langsung) ke station TV Cable
Solusi :
C = {1} Ć = {2,3,4,5,6}
Iterasi 1:
Yang terdekat dari node 1 dalam Ć adalah node 2,
sehingga node 1 dihubungkan dengan node 2
C = {1,2} Ć = {3,4,5,6}
Iterasi 2:
Yang terdekat dengan node 1 atau node 2 dalam Ć :
node 1 dengan node 5 = 9 miles
node 3 = 5 miles
node 4 = 7 miles
node 2 dengan node 5 = 3 miles (terdekat)
node 3 = 6 miles
node 4 = 4 miles
sehingga node 2 dihubungkan dengan node 5
C = {1,2,5} Ć = {3,4,6}
Iterasi 3 :
Yang terdekat dengan node 1,2,atau 5 dalam Ć
node 1 dengan node 3 = 5 miles
node 4 = 7 miles
node 2 dengan node 3 = 6 miles
node 4 = 4 miles (terdekat)
node 5 dengan node 4 = 8 miles
Sehingga node 2 dihubungkan dengan node 4
C = {1,2,4,5} Ć = {3,6}
Iterasi 4 :
Yang terdekat dengan node 1,2,4 atau 5 dalam Ć
node 1 dengan node 3 = 5 miles
node 2 dengan node 3 = 6 miles
node 4 dengan node 3 = 5 miles
node 6 = 3 miles (terdekat)
node 5 tidak dapat dihubungkan lagi
Sehingga node 4 dihubungkan dengan node 6
C = {1,2,4,5,6} Ć = {3}
Iterasi 5 :
Yang terdekat dengan node 1,2,4,5 atau 6 dalam Ć
node 1 dengan node 3 = 5 miles (terdekat)
node 2 dengan node 3 = 6 miles
node 4 dengan node 3 = 5 miles (terdekat)
node 5 tidak dapat dihubungkan
node 6 dengan node 3 = 10 miles
Sehingga node 1 dihubungkan dengan node 3 atau
node 4 dihubungkan dengan node 3
C = {1,2,3,4,5,6} Ć = 
3
5
2
1
4
3
1 5
5

4 6
3

Jadi Penggunaan kabel minimum : 1+3+4+3+5 = 16 miles


SHORTEST PATH PROBLEM
A. Acyclic Algoritma
 Jaringan tidak mengandung loops
 Ada satu node mulai (sumber) dan ada satu node
terminal (tujuan)
 dij = jarak antara node i dengan node j yang
dihubungkan secara langsung oleh panah (→)
 uj = jarak terpendek dari node 1 ke node j, dimana u1=0
uj = min {uj + dij}
perhitungan dilakukan secara recursive
 Labeling Procedure
Pelabelan node j = [uj,n ]
dimana: uj = jarak komulatif terdekat
n = node sebelumnya yang mengikuti
Contoh 3:
Solusi Shortest-Route Problem

A 7
2
2 5 T
5 4 D
O B
3 1
1 7
4
C E
4
Node j Perhitungan uj Label
O uO = 0 [0,-]
A uA = uO + dOA =0+2=2 (dari node O) [2,O]
C uC = uO + dOC = 0+4=4 (dari node O) [4,O]
B uB = min {uO + dOB, uA + dAB, uC + dCB }
= min { 0+5, 2+2, 4+1} = 4 (dari node A) [4,A]
E uE = min {uC + dCE, uB + dBE },
= min { 4+4, 4+3} = 7 (dari node B) [7,B]
D uD = min {uA + dAD, uB + dBD,uE + dED }
= min {2+7,4+4, 7+1} = 8 (dari node B or E) [8,B]
[8,E]
T uT = min {uE + dET, uD + dDT }
= min {7+7, 8+5} = 13 (dari node D) [13,D]
• Rute optimum diperoleh mulai dari node T dan dirunut
secara mundur.

(T)→[13,D] →(D) →[8,B] →(B) →[4,A] →(A) →[2,O] →(O)


atau
(T)→[13,D] →(D) →[8,E] →(E) → [7,B] →(B) →[4,A] →(A)
→[2,O] →(O)

Jadi rute terpendek :


O→A→B→D→T atau O→A→B→E→D→T
A
2
2 5 T
4 D
O B
3 1

C E
Pelabelan node 1 adalah [0,-] mengindikasikan bahwa
node 1 adalah sumber.
Contoh :
Tentukan rute terpendek dari jaringan di bawah
ini,dengan node 1 sebagai sumber dan node 7 sebagai
tujuan. 5
2 5
11 6
2
10 8
4
1 7
7
3
4 9
3 6
1
Node j Perhitungan uj Label
1 u1 = 0 [0,-]
2 u2 = u1 + d12 =0+2=2 (dari node 1) [2,1]
3 u3 = u1 + d13 = 0+4=4 (dari node 1) [4,1]
4 u4 = min {u1 + d14, u2 + d24, u3 + d34 }
= min { 0+10, 2+11, 4+3} = 7 (dari node 3) [7,3]
5 u5 = min {u2 + d25, u4 + d45 }
= min { 2+5, 7+8} = 7 (dari node 2) [7,2]
6 u6 = min {u3 + d36, u4 + d46 }
= min {4+1,7+7} = 5 (dari node 3) [5,3]
7 u7 = min {u5 + d57, u6 + d67 }
= min {7+6, 5+9} = 13 (dari node 5) [13,5]
Rute optimum diperoleh mulai dari node 7 dan dirunut
secara mundur
(7)→[13,5] →(5) →[7,2] →(2) →[2,1] →(1)
Jadi rute terpendek adalah : 1→2→5→7
dengan total jarak 13
B. Cyclic ( Dijkstra’s) Algoritma
 Ada loops dalam jaringan
 Menggunakan dua tipe label : Temporary & Permanent
 Algoritma
- Mulai dari node sumber dengan label Permanent [0,-]
- Pertimbangkan semua node yang dapat dicapai secara
langsung dari node sumber dan buatlah label sebagai
label temporary
- Label permanent dipilih diantara label-label temporary
yang mempunyai d terkecil di dalam [d,n]
- Ulangi proses di atas
Contoh :
2
100 15

1 4
20
10 50
30
60
3 5

Iterasi 0 : Node 1 dilabel permanent [0,-]


Iterasi 1 : - Node 2 dan node 3 dapat dicapai secara
langsung dari node 1
- label temporary [0+100,1] dan [0+30,1]
- d = min {100,30} = 30 untuk node 3
sehingga node 3 dilabel permanent
Iterasi 2 :
- Node 4 dan node 5 dapat dicapai dari node yang
dilabel permanent (node 3) dengan label
temporary [30+10,3] dan [30+60,3]
- sehingga ada 3 label temporary, yaitu :
[100,1] dengan node 2
[40,3] dengan node 4
[90,3] dengan node 5
- d = min {100, 40, 90} = 40 untuk node 4
sehingga [40,3] menjadi label permanent
Iterasi 3 :
- Node 5 dan node 2 dapat dicapai langsung dari label
permanent(node 4) dengan label temporary [40+50,4]
dan [40+15,4]
- Dari node 4 ke node 2 sebagai temporary label yang
baru [55,4] sebagai pengganti temporary label yang
lama [100,1]
- d = min {90,55} = 55 untuk node 2 sehingga [55,4]
menjadi label permanent
- Node sisa adalah node 5, dikonversi menjadi label
permanent
-

[55,4]*
(3)
[100,1]
(1)
2
100 15
[40,3]*
[0,-]* (2)
(0) 1 4
20
10 50
30 [90,4]*
60 (3)
3 5 [90,3]*
(2)
[30,1]*
(1)
[ ] = label
( ) = iterasi
MAXIMAL FLOW PROBLEM
• Hanya ada satu sumber dan satu tujuan
• Setiap busur memiliki kapasitas aliran
• Sumber memiliki kapasitas supply yg tidak
terbatas
• Tujuan memiliki demand yg tdk terbatas
• Tujuannya adalah menentukan rute aliran
yang memaksimalkan total aliran dari
sumber ke tujuan akhir
MAXIMAL-FLOW PROBLEM
 Tujuan : untuk mengembangkan suatu jadwal pengiriman
yang memaksimumkan jumlah bahan yang dikirim antara
dua titik ( sumber dan tujuan)
 Titik asal disebut “sumber” dan titik tujuan disebut “tujuan”

S n

Diberikan kapasitas Kij pada aliran masing-masing cabang


(i,j), dan total aliran yang masuk ke simpul harus sama
dengan total aliran yang keluar dari simpul itu.
Problem : berapa aliran maksimal f yang dapat dikirim dari
sumber simpul S ke tujuan simpul n?
 Definisi :
1. Cabang Forward
Pada sembarang simpul i, semua cabang yang
meninggalkan simpul i
2. Cabang Backward
Pada sembarang simpul i, semua cabang yang
memasuki simpul i
Contoh :
- Cabang (1,n) dan (1,2) adalah cabang forward untuk
simpul 1
- Cabang (S,1) dan (2,1) adalah cabang backward untuk
simpul 1
- Cabang (1,2) adalah cabang backward untuk simpul 2
- Cabang (2,1) adalah cabang forward untuk simpul 2

 Labeling Routine
- Mulai dari sumber simpul S
Simpul j dapat dilabel kalau sebuah aliran positif dapat
dikirim dari S ke-j
- Secara umum, dari sembarang simpul i, kita dapat
melabel simpul j, jika satu dari kondisi di bawah ini
dipenuhi:
1. Cabang yang menghubungkan simpul i dan j
adalah sebuah cabang forward dan aliran di dalam
cabang (i,j) lebih kecil dari kapasitasnya = [fij< Kij]
2. Cabang yang menghubugkan simpul i dan j adalah
sebuah cabang backward [ cabang yang ada adalah
(j,i)] dan aliran dalam cabang (j,i) lebih besar dari 0 =
[fij > 0]

Algoritma Max-Flow
Menerapkan algoritma Max-Flow, yaitu : menemukan
sebuah jalur terobosan (breakthrough path) yang
mengkaitkan simpul sumber dengan simpul tujuan
sedemikian rupa sehingga kapasitas terkecil c*( dari
semua busur yang membentuk jalur tersebut). Kapasitas
busur (a,b) disepanjang jalur tersebut menjadi :
(a+c*,b) jika arus dibusur (i,j) adalah i → j
(a-c*,b) jika arus dibusur (i,j) adalah j → i
Contoh :
Hitunglah aliran maksimal f dari s ke n dengan
mengikuti jaringan di bawah ini, dimana angka-angka
pada cabang menggambarkan kapasitasnya.

7 1 9
f f
s 3 n

9 8
2

Prestep : Algoritma Max-Flow diawali dengan aliran nol


pada semua cabang. Angka pada cabang (i,j)
menggambarkan (fij,Kij)
(0,7) 1 (0,9)
f f
s (0,3) n

(0,9) (0,8)
2

Langkah 1 :
7 1

s 3 n c* = 3
8
2
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 3 unit, sehingga konfigurasi aliran baru menjadi

(3,7) 1 (0,9)
f=3 f=3
s (3,3) n

(0,9) (3,8)
Langkah 2 : 2

4 1 9 c* = 4

s n

Aliran maksimal yang dapat dikirim pada jalur ini


adalah 4 unit. Sehingga konfigurasi aliran baru adalah:
(7,7) 1 (4,9)
f = 3+4 f = 3+4
s (3,3) n

(0,9) (3,8)
2
Langkah 3 :

s n c* = 5
9 5
2

Aliran maksimal yang dapat dikirim adalah 5 unit,


sehingga konfigurasi aliran baru adalah :
(7,7) 1 (4,9)
f = 3+4+5 f = 3+4+5
s (3,3) n

(5,9) (8,8)
2

Langkah 4 :
Dari simpul s ke simpul 2 dapat dilabel, tetapi dari
simpul 2 ke simpul n tidak dapat dilabel karena
kapasitas telah tercapai. Tetapi, dari simpul 1 ke simpul
2 dapat dilabel sebagai sebuah cabang backward
dengan membawa aliran positif(kondisi2) = fij > 0
1 5

s 3(backward) n c* = 3
4
2

Perhatian !!!
Penambahan aliran pada cabang forward
Pengurangan aliran pada cabang backward

Aliran maksimal yang dapat dikirim adalah 3 unit,


sehingga konfigurasi aliran baru adalah :
(7,7) 1 (7,9)
f = 3+4+5+3=15 f = 3+4+5+3=15
s (0,3) n

(8,9) (8,8)
2

Langkah 5 :
Dari konfigurasi aliran yang terakhir di atas, tak ada jalur
baru lagi atau sudah tidak ada aliran yang dapat dikirim
lagi, berarti aliran maksimal yang mungkin yaitu 15 unit.
Contoh 4: Aliran Maksimal
Jaringan di bawah ini menggambarkan busur dari tiap-
tiap pos dan besarnya kapasistas dari tiap busur
(maksimal jumlah perjalanan trem yang diperbolehkan).
A 3
5
1 9 T
7 4 D
O B
5 1
2 6
4
C E
4

Busur (A,B) dan busur (D,E) memiliki kapasitas dalam 2


arah
Solusi Maximal-Flow Problem

A (0,3)
(0,5) f=0
(1,1) (0,9) T
f=0 (0,7) (0,4) D
O B
(0,5) (1,1)
(0,2) (0,6)
(0,4)
C E
(0,4)
Iterasi 1:

7 T
O B
5 6 c* = 5

E
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 5 unit, sehingga konfigurasi aliran baru menjadi
A (0,3)
(0,5) f=5
(1,1) (0,9) T
f=5
(5,7) (0,4) D
O B
(5,5) (1,1)
(0,2) (5,6)
(0,4) 4
C E
(0,4)
Iterasi 2 :
5 A
3 T
9
O D c* = 3
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 3 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(3,5) f=8
(1,1) (3,9) T
f=8
(5,7) (0,4) D
O B
(5,5) (1,1)
(0,2) (5,6)
(0,4)
C E
(0,4)
Iterasi 3 :
T
O
4 1 c*=1
4
C E
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(3,5) f=9
(1,1) (3,9) T
f=9
(5,7) (0,4) D
O B
(5,5) (1,1)
(0,2) (6,6)
(1,4)
C E
Iterasi 4: (1,4)

D 6 T
O c* = 1
3 1
3
C E
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi

A (3,3)
(3,5) f=10
(1,1) (4,9) T
f=10
(5,7) (0,4) D
O B
(5,5) (0,2)
(0,2) (6,6)
(2,4)
C E
(2,4)

5 T
Iterasi 5 :
2 4 D
O B
c* = 2
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 2 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(3,5) f=12
(1,1) (6,9) T
f=12
(7,7) (2,4) D
O B
(5,5) (0,2)
(0,2) (6,6)
(2,4)
C E
Iterasi 6 : (2,4)

A 3
2 1 T
2 D
C B
c* = 1
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(4,5) f=13
(0,2) (7,9) T
f=13
(7,7) (3,4) D
O B
(5,5) (0,2)
(0,2) (6,6)
(2,4)
C E
Iterasi 7: (2,4)
2 T
1
B D
O
5(backward)
2 c* = 1
C E
2
Aliran maksimal yang dapat dikirim melalui jalur ini
adalah 1 unit, sehingga konfigurasi aliran baru menjadi
A (3,3)
(4,5) f=14
(0,2) (8,9) T
f=14
(7,7) (4,4) D
O B
(4,5) (0,2)
(0,2) (6,6)
(3,4)
C E
(3,4)

Dari konfigurasi aliran yang terakhir di atas, tak ada jalur


baru lagi, berarti kita telah menemukan aliran maksimal
yaitu 14 perjalanan dari pos O ke pos T setiap hari,
dengan rincian arusnya sbb:
A
4 3
f=14
1 8 T
f=14
7 4 D
O B
4 1
6
3
C E
3
Perhatikan !!!
Arus masuk ke O = 14, arus keluar O = 14 (masuk A,B,C)
Arus masuk ke A = 4, arus keluar A = 4 (masuk B,D)
Arus masuk ke B = 8, arus keluar B = 8 (masuk D,E)
Arus masuk ke C = 3, arus keluar C = 3 (masuk E)
Arus masuk ke E = 7, arus keluar E = 7 (masuk D,T)
Arus masuk ke D = 8, arus keluar D = 8 (masuk T)
Arus masuk ke T = 14, arus keluar T = 14