Anda di halaman 1dari 34

TERAPAN TEORI GRAPH

OLEH
SAPTI WAHYUNINGSIH
JURUSAN MATEMATIKA
FMIPA UM
2021
Isi Materi

Minimum Spanning Tree


Shortest Path
Traveling Salesman Problem
Matching
Maksimum flow
Minimum cost flow
Varian Vehicle Routing Problem (VRP)
Network untuk penjadwalan proyek
Materi ke 1

Minimum Spanning Tree


Shortest Path
Traveling Salesman Problem
Minimum Spanning Tree
Beberapa Algoritma Minimum Spanning Tree

Algorimta Greedy
Algoritma Kruskal
Algoritma Solin
Algoritma Prim
Algoritma Greedy

Secara umum algoritma greedy


disusun oleh elemen-elemen berikut :
a. Himpunan kandidat
b. Himpunan Solusi
c. Fungsi Seleksi (Selection Function)
d. Fungsi Kelayakan (feasible)
Algoritma Kruskal

Himpunan sisi dari graph G diurutkan membesar


sesuai bobot sisi tersebut.
Buat T dengan memasukkan satu sisi dengan bobot
terkecil dari G tersebut.
Ulang (banyak sisi T = (banyak simpul G)-1)
Ambil sisi selanjutnya dari G, hanya jika
sisi itu tidak membentuk sikel di T
Pseudo-code algoritma kruskal
Algoritma solin

Algoritma Solin untuk MST merupakan kebalikan


dari algoritma Kruskal, yaitu membuat tree
didahului dengan melakukan pengurutan sisi dari
sisi yang mempunyai bobot terbesar.
Algoritma Prim’s

Ambil sisi graph G yang berbobot minimum,


masukan ke dalam T.
Pilih sisi (u,v) yang memiliki bobot minimum dan
bersisian dengan simpul di T. Tetapi (u,v) tidak
membentuk sikel di T. Tambahkan (u,v) ke dalam T.
Ulangi langkah ke-2 sebanyak (n-2) kali.
Pseudo-code algoritma prim :
Contoh

Pemerintah ingin mengganti sistem jaringan kabel telepon yang


sudah ada di satu daerah dengan kabel yang baru. Namun karena
ini baru, pemerintah tidak mau ambil resiko mengganti semua
kabel yang menghubungkan wilayah satu dengan yang lain. Ia
hanya akan memasang jaringan di wilayah itu jika wilayah itu
memang belum tersentuh jaringan yang baru.

Dengan asumsi, semakin panjang kabel yang dipasang, semakin


mahal biaya yang harus dikeluarkan, buatlah jaringan yang
dibangun ini memakan biaya sesedikit mungkin.
CONTOH PENERAPAN
Gambar Graph dgn Algoritma Prim

10 12

A C
9
D
Gambar graph dgn Algoritma Kruskal

10 12

A C
9
D
Lintasan Terpendek

(shortest path)
Lintasan Terpendek

Beberapa jenis masalah yang dapat diselesaikan


dengan menggunakan metode lintasan terpendek
antara lain:
Lintasan terpendek antar dua titik yang berbeda
(single source single destination shortest path
problem).
Semua lintasan terpendek dari satu titik ke setiap
titik (single source shortest path problem).
Semua lintasan terpendek untuk tiap
kemungkinan pasangan titik yang berbeda (all pairs
shortest path problem).
Algoritma-algoritma yang digunakan untuk
menyelesaikan masalah shortest path :

Algoritma Dijkstra
Algoritma Johnson’s
Algoritma Floyd-Warshall
Algoritma Branch and Bound
 AlgoritmaBellman Ford
Algoritma Back Tracking
Algoritma Greedy
Algoritma A*
Contoh Graph yang akan dicari lintasan
terpendeknya adalah:
Keterangan :
A – B : Jalan Jombang
B – C : Jalan Bondowoso
C – D : Jalan Gede
D – E : Jalan Surabaya dalam
E – F : Jalan Jakarta
F – G : Jalan Ijen
G – H : Jalan Ijen
A – D : Jalan Surabaya
D – G : Jalan Pahlawan
C – H : Jalan Retawu
Dari graph tersebut akan dicari lintasan terpendek
dari titik B ke titik F
Algoritma Dijsktra

1. Misalkan S={a}, B=V-{a} Tentukan L(t)=W(a,t),


W(a,t)=tak hingga bila (a,t) bukan anggota E
2. Pilih titik x di B yang memiliki label terkecil thd S
3. Jika x titik tujuan maka stop
Jika tidak bentuk S’=S U{x}, B’=B-{x}
Untuk setiap t di B’ tentukan labelnya terhadap S’
dengan rumus L’(t)=min[L(t),L(x)+W(x,t)]
4. Ulang langkah 2 dan 3 dengan S=S’
dan B=B’
Algoritma Floyd – Warshall

Algoritma ini digunakan dalam penyelesaian masalah


lintasan terpendek dari semua kemungkinan pasangan
titik yang ada (All pairs shortest path problem).

Langkah-langkah algoritma Warshall adalah:

Buat matriks n x n dari digraph dengan n adalah jumlah


titik yang entrinya adalah:
 muatannya bila kedua titik terhubung langsung
  bila kedua titik tidak terhubung secara lansung
Lakukan perulangan
1) W1 = W0, k=1
2) Untuk k lakukan;
Untuk i = l hingga n, lakukan;
Untuk j = l hingga n, lakukan;
Jika W [i , j] > W [i , k] + W [k , j], maka
Tukar W [i , j] dengan W [i , k] + W [k , j]
3) Jika W(k) = W(k-1) maka berhenti,
jika tidak ulangi langkah 2)
k = k+1
Algoritma Bellman – Ford

Masukan : suatu graph/digraph D berbobot


Keluaran : L(Z), panjang lintasan A sampai Z
Langkah-langkah :
1) melabeli titik A dengan 0 dan titik yang lainya
dengan ∞. T adalah himpunan semua titik yang
panjang lintasannya terpendek dari A
2) untuk setiap (i,j) Є E(D)
 jika d(j) > d(i)+Cij, maka perulangan salah dengan
d(j)=d(i)+Cij
Algoritma Greedy

1) Periksa semua sisi yang langsung bersisian dengan simpul a.


Pilih sisi yang bobotnya terkecil. Sisi ini menjadi lintasan
terpendek pertama, sebut saja L(1).
2) Tentukan lintasan terpendek kedua dengan cara berikut :
# hitung : d(i) = paanjang L(1) + bobot sisi dari simpul
akhir L(1) ke simpul i yang lain
# pilih d(i) yang terkecil, bandingkan d(i) dengan bobot
sisi (a,i). Jika bobot sisi (a,i) lebih kecil daripada d(i),
maka L(2) = L(1) (sisi dari simpul akhir L(i) ke simpul i).
3) Dengan cara yang sama ulangi langkah (2) untuk
menentukan lintasan terpendek berikutnya.
Algoritma Branch and Bound
Langkah-langkah pemecahan masalah dengan
algoritma Branch and Bound
1) Membangkitkan simpul-simpul kemungkinan atas langkah-
langkah yang dapat diambil dari kondisi/simpul awal.
2) Terapkan suatu fungsi untuk menghitung ongkos/cost setiap
simpul untuk mencapai solusi
3) Simpul dengan ongkos terkecil akan dibangkitkan simpul-
simpul anaknya.
4) lalu lakukan perbandingan simpul-simpul hidup mana yang
memiliki cost terkecil.
5) Ulangi kembali ke langkah tiga sampai simpul solusi
ditemukan.
Permasalahan TSP sebagai suatu masalah
kombinatorial dalam masalah optimalisasi.
Masalah tersebut dapat diuraikan secara singkat
yaitu bagaimana cara seorang salesman yang
berkeliling untuk mengunjungi sejumlah kota
dimana ia harus mengunjungi semua kota yang
ada tepat satu kali kecuali kota asal.
Traveling Salesman
Problem (TSP)
Algoritma dalam Travelling Salesman Problem
(TSP)
Algoritma Farthest Insertion Algoritma Simulated
Heuristic annealing
Algoritma Arbitrary Insertion Algoritma Chapest link
Heuristic Algoritma Greedy
Algoritma Nearest Neighbor Algoritma Brute Force
Heuristic
Algoritma Koloni Semut
Algoritma Cheapest Insertion
Algoritma Branch and Bound
Heuristik
 Algoritma baru, yaitu;
Algoritma Nearest Insertion
Heuristic Algoritma Genetika
Algoritma Matrik Bentuk Metode Monte Carlo
Normal
Algoritma Farthest Insertion Heuristic
langkah-langkah Algoritma Farthest Insertion Heuristic:
 Pilih sembarang titik io sebagai titik awal.
 Cari titik k dalam graph sehingga Cio,k adalah maksimum dan membentuk
subtour io – k – io.
 Langkah seleksi dari subtour yang telah terbentuk, cari titik k (tidak dalam
subtour) yang terjauh ke sembarang titik i dalam subtour.
 Langkah penyisipan, cari sisi (i,j) dalam subtour dengan Ci,k + Ck,j – C i,j yang
mempunyai nilai minimum. Sisipkan k di antara i dan j.
 Kembali lakukan langkah 3 sampai kita telah memiliki sikel Hamilton.
Di mana
Cio,k adalah bobot sisi titik io (titik awal) ke titik (titik terjauh yang akan
disisipkan)
Ci,k adalah bobot sisi titik i (titik pada subtour) ke titik k
Ck,j adalah bobot sisi titik k ke titik j (titik pada subtour)
Ci,j adalah bobot sisi titik i ke titik j
Algoritma Simulated annealing

langkah-langkah Algoritma Simulated annealing:


1. Menentukan promenter umum
2. Inisialisasi / membangkitkan solusi awal (Xo)
3. Eviolusi fungsi obyektif
4. Operasi mutasi
5. Evolusi hasil mutasi
6. Melakukan penurunan temperatur
7. Solusi lintasan yang di dapatkan
8. Apabila belum mencapai maksimum interasi
maka kembali ke langkah (3)
Algoritma Nearest Neighbor

Langkah-langkah Algoritma Nearst


Naighbor :
pilih titik sebagai titik awal.
pilih titik dengan sisi yang terkait memiliki bobot
minimum.
dari titik yang baru, pilih titik yang belum terpilih
dengan sisi terkait bobot minimum, ulangi langkah ini
sampai semua titik terpilih.
pilih sisi yang kembali ke titik awal.
Algoritma Cheapest Insertion Heuristic

langkah-langkah Algoritma Cheapest Insertion Heuristic;


 pilih sembarang titik io sebagai titik awal
 cari titik k dalam graph sehingga Cio,k adalah minimum dan membentuk tour io-k-
io
 langkah pemilihan, dari tour yang telah terbentuk, cari titik k (tidak dalam tour) dan
cari sisi (i,j) dalam tour dengan Ci,k + Ck,j - Ci,j yang mempunyai nilai minimum.
Sisipkan k diantara i dan j
 kembali lakukan langkah (3) sampai kita telah memiliki sikel Hamilton.
Di mana,
Cio,k adalah beban sisi dari titik io (titik awal) ke titik k (titik terdekat yang akan
disisipi)
Ci,k adalah beban sisi dari titik I (titik pada tour) ke titik k
Ck,j adalah beban sisi dari titik k ke titik j (titik pada tour)
Ci,j adalah beban sisi dari titik I ke titik j
Algoritma Branch and Bound

Langkah-langkah Algoritma Branch and


Bound:
Langkah pertama menentukan titik awal
Hitung jarak titik-titik yang terhubung langsung
terhadap titik awal
Kemudian disorting dan diambil dua urutan terkecil
pertama untuk dimasukkan ke tree
Kemudian dibentuk lintasan parsialnya yang
mempunyai bobot minimal lalu dicari branchnya
Algoritma chapest link

langkah-langkah Algoritma chapest link :


pilih sisi dengan bobot terkecil pada graph.
jika sisi tersebut membentuk sikel atau
dalam 1 titik berderajat tiga maka pilih sisi
terkecil.
Ulangi langkah 1 sampai semua titik
terlewati sehingga membentuk sikel
hamilton.
Algoritma Nearest Insertion Heuristic
langkah-langkah Algoritma Nearest Insertion Heuristic :
 Langkah1 : pilih sebarang titik i sebagai titik awal dan h tulis s yang hanya terdiri
dari
i
 Langkah2 : mencari titik j di luar s sebagai Cij minimum dan bentuk sikel {(i,j),(j,i)}
 Langkah3 : pemilihan, cari titik k (bukan dalam sikel) yang terdekat ke sebarang titik
dari s
 Langkah4 : langkah penyisipan, cari sisi (i,j) dalam sikel dengan Cik + Ckj – Cij
yang mempunyai
nilai minimum. Misalkan k diantara i dan j sehingga diperoleh (i,k)
dan (k,j)
 Langkah5 : jika sikel sudah terisi oleh semua titik maka telah terbentuk sikel hamilton,
maka operasi
dihentikan
Jika sebaliknya maka lakukan langkah 3.

Anda mungkin juga menyukai