METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH

dokumen-dokumen yang mirip
BAB III ALGORITMA BRANCH AND BOUND. Algoritma Branch and Bound merupakan metode pencarian di dalam ruang

Algoritma Branch & Bound untuk Optimasi Pengiriman Surat antar Himpunan di ITB

Penghematan BBM pada Bisnis Antar-Jemput dengan Algoritma Branch and Bound

PENERAPAN ALGORITMA BRANCH AND BOUND DALAM MENENTUKAN RUTE TERPENDEK UNTUK PERJALANAN ANTARKOTA DI JAWA BARAT

Penerapan Algoritma Branch and Bound untuk Optimasi Rute Penempelan Poster di Papan Mading ITB

Algoritma Branch and Bound dalam Kegunaannya Memecahkan Assignment Problem

Penerapan Algoritma Branch and Bound untuk Penentuan Jalur Wisata

Pemecahan Masalah Knapsack dengan Menggunakan Algoritma Branch and Bound

PENGGUNAAN ALGORITMA BRANCH AND BOUND UNTUK MENYELESAIKAN PERSOALAN PENCARIAN JALAN (PATH-FINDING)

Branch and Bound untuk Rute Terpendek Tur Pengenalan Labtek V Gedung Benny Subianto Chita Najmi Nabila /

Menentukan Susunan Terbaik Tim Proyek dengan Algoritma Branch and Bound

Penyusunan Jarkom HMIF ITB dengan Menggunakan Algoritma Branch and Bound

dengan Algoritma Branch and Bound

Penerapan Pohon dengan Algoritma Branch and Bound dalam Menyelesaikan N-Queen Problem

Menentukan Titik Evakuasi Selanjutnya bagi Sekelompok Regu Tim SAR dengan Algoritma Branch and Bound

Pelacakan dan Penentuan Jarak Terpendek terhadap Objek dengan BFS (Breadth First Search) dan Branch and Bound

Branch & Bound. Bahan Kuliah IF2211 Strategi Algoritma Rinaldi Munir & Masayu Leylia Khodra

Algoritma Branch & Bound

Pemanfaatan Algoritma BFS pada Graf Tak Berbobot untuk Mencari Jalur Terpendek

Journal of Informatics and Technology, Vol 1, No 1, Tahun 2012, p

Menentukan Susunan Pengambil Tendangan Penalti dalam Skema Adu Penalti pada Pertandingan Sepak Bola dengan Algoritma Branch and Bound

Analisis Beberapa Algoritma dalam Menyelesaikan Pencarian Jalan Terpendek

Aplikasi Branch and Bound Pada Pencarian Jalan Pada Software Navigasi

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Penerapan Algoritma Branch and Bound dalam Pemacahan Travelling Salesman Problem (TSP) dalam Graf Lengkap

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Pencarian Lintasan Terpendek Pada Aplikasi Navigasi Menggunakan Algoritma A*

Pemodelan AI dalam Permainan Snake dengan Algoritma Branch and Bound

Aplikasi Algoritma Branch and Bound dalam Pencarian Solusi Optimum Job Assignment Problem

PERBANDINGAN ALGORITMA BFS DAN DFS DALAM PEMBUATAN RUTE PERJALANAN OBJEK PERMAINAN 2 DIMENSI

Penerapan Algoritma Branch and Bound pada Penentuan Staffing Organisasi dan Kepanitiaan

UNNES Journal of Mathematics

ALGORITMA PENCARIAN SIMPUL SOLUSI DALAM GRAF

Menentukan Starting Lineup Futsal Terbaik dengan Algoritma Branch and Bound

Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound

UJM 3 (1) (2014) UNNES Journal of Mathematics.

Pembahasan Pencarian Lintasan Terpendek Menggunakan Algoritma Dijkstra dan A*

Pencarian Pohon Solusi Permainan Alchemy Menggunakan Algoritma BFS dan DFS

Aplikasi Algoritma Traversal Dalam Binary Space Partitioning

Penggunaan Algoritma DFS dan BFS pada Permainan Three Piles of Stones

PENERAPAN ALGORITMA GREEDY DALAM PENCARIAN SOLUSI TERBAIK PADA PERMAINAN TETRIS

PENGUNAAN DUA VERSI ALGORITMA BACKTRACK DALAM MENCARI SOLUSI PERMAINAN SUDOKU

Aplikasi Graf pada Persoalan Lintasan Terpendek dengan Algoritma Dijkstra

Penggunaan Algoritma Backtracking pada Permainan Mummy Maze

Algoritma Branch and Bound. (Bagian 1)

Penerapan Travelling Salesman Problem dalam Penentuan Rute Pesawat

Aplikasi Algoritma B&B untuk Memperoleh Poin Maksimum pada Permainan Diner Dash

Penerapan Algoritma DFS pada Permainan Sudoku dengan Backtracking

Penerapan BFS dan DFS pada Pencarian Solusi

Penggunaan Algoritma Pathfinding pada Game

Pengaturan Sistem Lampu Lalu Lintas dengan Algoritma Branch and Bound dengan Waktu Tunggu Menggunakan Algoritma Greedy

Penerapan Algoritma Branch And Bound Dalam Optimasi Assigment Problem

ALGORITMA RUNUT BALIK DALAM PENYELESAIAN PERMAINAN WORD DIAGRAM

Penerapan Algoritma Greedy dan Breadth First Search pada Permainan Kartu Sevens

Penggunaan Algoritma Branch and Bound dan Program Dinamis Dalam Pemecahan Masalah Rubik s Cube

Penerapan Algoritma Branch and Bound pada Perancangan Jalur Bandros

Graf. Bekerjasama dengan. Rinaldi Munir

ALGORITMA MENCARI LINTASAN TERPENDEK

Aplikasi Graf dalam Rute Pengiriman Barang

PENCARIAN SOLUSI DENGAN ALGORITMA BACKTRACKING UNTUK MENYELESAIKAN PUZZLE KAKURO

ALGORITMA PENCARIAN. 1. Iterative-Deepening Depth-First Search (IDS) Nama : Gede Noverdi Indra Wirawan Nim : Kelas : VI A

Penerapan Teori Graf Pada Algoritma Routing

PENYELESAIAN TRAVELLING SALESMAN PROBLEM DENGAN ALGORITMA BRANCH AND BOUND

PENERAPAN ALGORITMA BFS PADA CHINESE SLIDE BLOCK PUZZLE (KLOTSKI)

Penggunaan Algoritma Runut-balik Pada Pencarian Solusi dalam Persoalan Magic Square

Penerapan DFS dan BFS dalam Pencarian Solusi Game Japanese River IQ Test

Penerapan Algoritma Greedy dan Algoritma BFS untuk AI pada Permainan Greedy Spiders

APLIKASI GREEDY PADA ALGORITMA HUFFMAN UNTUK KOMPRESI TEKS

Program Dinamis (Dynamic Programming)

Implementasi Algoritma DFS pada permainan Monument Valley

Perbandingan Algoritma Dijkstra dan Algoritma Floyd-Warshall dalam Penentuan Lintasan Terpendek (Single Pair Shortest Path)

PENENTUAN JALUR TERPENDEK PADA PELAYANAN AGEN TRAVEL KHUSUS PENGANTARAN WILAYAH SEMARANG BERBASIS SIG DENGAN ALGORITMA BRANCH AND BOUND

Penerapan Search Tree pada Penyelesaian Masalah Penentuan Jalur Kota Terpendek.

Implementasi Algoritma Greedy, BFS, Branch and Bound, dan Metode Heuristik dalam Permainan Reversi

Aplikasi dan Analisis Algoritma BFS dan DFS dalam Menemukan Solusi pada Kasus Water Jug

Aplikasi Pohon dan Graf dalam Kaderisasi

Analisis Algoritmik Fitur AutoComplete Tracks dari Video Game RollerCoaster Tycoon 3

Perbandingan Algoritma Depth-First Search dan Algoritma Hunt-and-Kill dalam Pembuatan Labirin

Perbandingan Algoritma Brute Force dan Breadth First Search dalam Permainan Onet

Algoritma Brute-Force dan Greedy dalam Pemrosesan Graf

Penerapan Algoritma Transversal pada Graf dan Algoritma Pencocokan String dalam Sistem Jual-Beli Tiket Bioskop

Penerapan Algoritma BFS, DFS, DLS dan IDS dalam Pencarian Solusi Water Jug Problem

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

Studi Algoritma Optimasi dalam Graf Berbobot

IMPLEMENTASI HIERARCHICAL CLUSTERING DAN BRANCH AND BOUND PADA SIMULASI PENDISTRIBUSIAN PAKET POS

Pembentukan pohon pencarian solusi dan perbandingan masingmasing algoritma pembentuknya dalam simulasi N-Puzzle

TARGET BERORIENTASI METODE CABANG DAN BATAS UNTUK OPTIMISASI GLOBAL

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

ANALISIS PENERAPAN ALGORITMA RUNUT-BALIK DALAM PENCARIAN SOLUSI PERSOALAN LOMPATAN KUDA

Paradigma Pemrograman Dinamis dalam Menentukan Rute Distribusi Bahan Bakar Minyak Berdasarkan Kebutuhan Penduduk di Suatu Daerah

CRITICAL PATH. Menggunakan Graph berbobot dan mempunya arah dari Critical Path: simpul asal : 1 simpul tujuan : 5. Graph G. Alternatif

BAB 2 LANDASAN TEORI. Definisi Graf G didefinisikan sebagai pasangan himpunan (V, E), yang dalam hal ini:

Aplikasi Shortest Path dengan Menggunakan Graf dalam Kehidupan Sehari-hari

PENYELESAIAN MASALAH MISSIONARIES DAN CANNIBAL MENGGUNAKAN ALGORITMA DFS DENGAN VARIASI PENGHINDARAN REPEATED STATE

Penerapan strategi BFS untuk menyelesaikan permainan Unblock Me beserta perbandingannya dengan DFS dan Branch and Bound

PENDEKATAN MASALAH TOWER OF HANOI DENGAN ALGORITMA DIVIDE AND CONQUER

Penggunaan Algoritma Dijkstra dalam Penentuan Lintasan Terpendek Graf

Penerapan BFS dan DFS pada Pencarian Solusi

I. PENDAHULUAN. disk. Secara umum, cara ini tidak memberikan cara terbaik dalam mengakses disk.

Transkripsi:

METODE BRANCH AND BOUND UNTUK MENEMUKAN SHORTEST PATH Mira Muliati NIM : 35050 Program Studi Teknik Informatika Sekolah Teknik Elektro Informatika Institut Teknologi Bandung Jl. Ganesha 0, Bandung E-mail : if 50@students.if.itb.ac.id Abstrak Algoritma Branch and Bound (B&B) adalah metode pencarian solusi secara sistematis. Pada metode ini ruang solusi diorganisasikan ke dalam pohon ruang status. Pembentukan pohon ruang status dilakukan berdasarkan skema BFS (Breadth First Search) dengan pemilihan simpul yang diekspansi berdasarkan nilai ongkos simpul-simpul hidup. Pada pencarian jarak terpendek dari suatu simpul ke simpul yang lain, nilai ongkos menggambarkan nilai taksiran termurah dari simpul tersebut ke simpul tujuan. Jadi, nilai ongkos disini berfungsi sebagai nilai pembatas (bound). Nilai batas didapatkan dari reduksi baris dan kolom matriks M yang merepresentasikan graf berarah. Reduksi dilakukan dengan mengurangi suatu baris atau kolom dengan nilai terkecil baris atau kolom tersebut sedemikian sehingga didapatkan matriks tereduksi M t dengan sebuah nilai nol pada setiap baris dan setiap kolom. Total nilai pengurang menjadi nilai batas simpul akar. Selanjutnya untuk setiap simpul anak yang dibangkitkan dengan mengunjungi M(i,j), dilakukan reduksi matriks M t untuk mendapatkan matriks tereduksi M (i,j). Sebelum mereduksi, terlebih dahulu diubah nilai pada baris ke i, kolom ke j dan M(j,simpul awal) diubah menjadi ~. Nilai batas simpul anak dihitung dengan rumus : c(n) = c(a) + M(i,j) + r dimana : c(n) : nilai batas simpul selanjutnya yang sedang dikunjungi c(a) : nilai batas simpul asal M(i,j) : nilai matriks M pada baris ke i dan koom ke j r : total nilai pengurang yang digunakan untuk mereduksi matriks pada Simpul anak beserta nilai batasnya dimasukkan ke dalam sebuah Queue untuk dipilih simpul mana yang akan diekspansi. Simpul selanjutnya yang diekspansi adalah simpul dengan nilai batas terkecil. Pada langkah selanjutnya, untuk mendapatkan matriks tereduksi dari simpul anak digunakan matriks tereduksi simpul bapak. Begitu seterusnya sampai dikunjungi M(i,j) yang dituju. Kata kunci:nilai batas, simpul ekspansi, pohon ruang status, reduksi matriks.. Pendahuluan. Algoritma Branch and Bound.. BFS (Breadth First Search) BFS dikenal sebagai pencarian melebar dalam pohon. Misalkan graf G mempunya n buah simpul. Traversal di dalam graf dilakukan mulai simpul v. Algortima BFS adalah sebagai berikut : bangkitkan simpul v, kemudian semua simpul yang bertetangga dengan simpul v dibangkitkan terlebih dahulu. Selanjutnya, simpul yang belum dibangkitkan dan bertetangga dengan simpulsimpul tadi dibangkitkan, demikian seterusnya. Jika graf berbentuk pohon berakar, maka semua simpul pada level d dibangkitkan terlebih dahulu sebelum membangkitkan simpul-simpul pada level d+. [] Algoritma BFS menggunakan antrian untuk menyimpan simpul-simpul yang baru dibangkitkan. Simpul-simpul yang baru dibangkitkan ditempatkan di belakang antrian. [] Prinsip antrian yang digunakan adalah FIFO (First In First Out). Dengan skema ini, simpul hidup dimasukkan ke dalam antrian, simpul berikutnya yang akan menjadi simpul ekspansi adalah simpul yang pertama masuk ke dalam antrian.

..2 Pencarian Solusi Algoritma B&B Pada algoritma B&B ruang solusi diorganisasikan ke dalam pohon ruang status yang dibangun dengan skema BFS. Untuk mempercepat pencarian ke simpul solusi, setiap simpul diberi nilai ongkos c(i) yang merupakan taksiran lintasan termurah dari simpul akar simpul status jutuan. Simpul berikutnya yang akan diekspansi tidak lagi berdasarkan prinsip FIFO pada antrian, melainkan dipilih simpul dengan nilai ongkos terkecil. Fungsi heuristik untuk menghitung taksiran nilai ongkos dinyatakan secara umum sebagai : c(i) = f(i) + g(i) () yang dalam hal ini: c(i) = ongkos untuk simpul i f(i) = ongkos untuk mencapai simpul i g(i) = ongkos untuk mencapai simpul tujuan dari simpul i [] Algoritma B&B :. Masukkan simpul akar ke dalam antrian Q. Jika simpul akar adalah simpul solusi, maka solusi telah ditemukan. Stop. 2. Jika Q kosong, tidak ada solusi. Stop. 3. Jika Q tidak kosong, pilih dari antrian Q simpul i yang mempunyai c(i) terkecil. Jika terdapat beberapa simpul i yang memenuhi, pilih satu secara sembarang. 4. Jika simpul i adalah simpul simpul solusi, berarti simpul telah ditemukan, stop. Jika simpul i bukan simpul solusi maka bangkitkan semua anak-anaknya. Jika i tidak mempunyai anak, kembali ke langkah 2. 5. Untuk setiap anak j dari simpul i, hitung c(i), dan masukkan anak-anak tersebut ke dalam antrian Q. 6. Kembali ke langkah 2. []..3 Persoalan Lintasan Terpendek (Shortest Path) Persoalan lintasan terpendek adalah menemukan lintasan terpendek dari sebuah simpul asal a ke simpul lain dalam graf G. Graf G merupakan graf berbobot positif. 2. Metode Untuk menjelaskan dan menguji metode, diambil contoh sebuah matriks yang merepresentasikan sebuah graph berarah G : Metode yang digunakan adalah metode B&B untuk TSP. Pada TSP, solusi adalah sirkuit Hamilton dengan panjang rute terpendek. Persoalan Shortest Path memiliki tujuan yang sama yaitu menemukan rute terpendek namun bukan untuk sebuah sirkuit Hamilton melainkan rute terpendek dari sebuah simpul ke simpul lainnya. Metode yang digunakan berikut ini berdasarkan metode B&B untuk TSP dari []. Akan dicari rute terpendek dari simpul 3 ke simpul 6. Langkah pertama dilakukan reduksi matriks G : Dihasilkan : ~ 50 0 40 45 ~ ~ ~ 5 ~ 0 5 20 ~ ~ ~ 5 ~ ~ 20 ~ ~ 35 3 ~ 0 ~ 30 ~ ~ 0 ~ 6 ~ ~ ~ ~ 50 0 40 45 ~ ~ ~ 5 ~ 0 5 20 ~ ~ ~ 5 ~ ~ 20 ~ ~ 35 3 ~ 0 ~ 30 ~ ~ 0 ~ 6 ~ ~ ~ ~ 40 0 30 35 ~ ~ ~ 0 ~ 5 0 5 ~ ~ ~ 0 ~ ~ 7 ~ ~ 32 0 ~ 0 ~ 20 ~ ~ 4 ~ 0 ~ ~ ~ R 0 R2 5 R3 5 R4 3 R5 0 R6 6 C 4 C4 20 Karena belum terdapat nilai nol pada kolom satu dan empat, maka masing-masing kolom tersebut dikurangi dengan nilai terkecil dalam kolom. Matriks tereduksi akhir yang didapat adalah : ~ 40 0 30 35 ~ ~ ~ 0 ~ 5 0 5 ~ ~ ~ 0 ~ ~ 7 ~ ~ 32 0 ~ 0 ~ 0 ~ ~

Total nilai pengurang adalah (0 + 5 + 5 + 3 + 0 + 6) + (4 + 20) =. Simpul akar ini dimasukkan antrian Q dengan nilai batas. Simpul akar ini selanjutnya akan diekspansi. Pohon ruang status yang dibangun : Langkah untuk membangkitkan simpul selanjutnya adalah :. Ubah semua nilai pada matriks bobot tereduksi untuk simpul bapak pada baris ke i dan kolom ke j dengan ~. Dimana i dan j menunjukkan simpul yang dituju pada graf. 2. Ubah nilai matriks tereduksi pada (j,3) agar simpul tersebut tidak digunakan. 3. Reduksi kembali matriksnya. 4. Hitung nilai batas simpul pada pohon yang sedang dibangkitkan. 5. Masukkan simpul tersebut dalam antrian Q. 6. Bangkitkan simpul anak yang lain seperti pada langkah pertama. 7. Pilih simpul dengan nilai batas terkecil untuk diekspansi. 8. Kembali ke langkah. Selanjutnya dibangkitkan simpul-simpul yang bertetangga dengan simpul 3 yaitu simpul dan 4.. Lintasan 3, ~ 40 0 30 35 ~ ~ ~ 0 ~ 5 0 ~ 7 ~ ~ 32 0 ~ 0 ~ 0 ~ ~ ~ ~ 0 ~ ~ ~ C4 5 c(2) = c() + G(3,) + r = + 5 + 5 = 73 2. Lintasan 3,5 ~ 40 0 30 ~ ~ ~ ~ 0 ~ ~ 0 ~ 7 ~ ~ ~ 0 ~ 0 ~ 0 ~ ~ c(3) = c() + G(3,5) + r = + 0 + 0 = Simpul hidup dalam antrian Q adalah : 2(73), 3(). Karena simpul 3 memiliki nilai batas terkecil, simpul selanjutnya yang diekspansi adalah simpul 3. Pohon yang terbentuk : 3. Lintasan 3,5,2 ~ ~ 0 30 ~ ~ ~ ~ ~ ~ ~ 0 ~ ~ ~ ~ ~ 0 c(4) = c(3) + G(5,2) + r = + 0 + 0 = 4. Lintasan 3,5,4 ~ 40 0 ~ ~ ~ ~ ~ 0 ~ ~ 0 ~ 7 ~ ~ ~ 0 2 3 73 C2 7 c(5) = c(3) + G(5,4) + r = 68 + 0 + 7 = 85 Simpul hidup dalam antrian Q adalah 2(73), 4(), 5(85). Pohon yang terbentuk : 2 3 73 4 5 85

Karena simpul 4 memiliki nilai batas terkecil, selanjutnya akan diekspansi. Pada graf, dari simpul 2 kita bisa ke simpul 3, 5 dan 6. Sampai saat ini jalur yang terbentuk adalah 3-5-2, karena itu dari simpul 2 kita tidak akan mengunjungi simpul 3 dan 5. 5. Lintasan 3,5,2,6 ~ ~ 0 30 ~ ~ c(6) = c(4) + G(2,6) + r = + 0 + 0 = Pohon yang terbentuk : 2 3 73 6 4 5 Sampai di sini telah terbentuk lintasan 3-5-2-6 yang artinya telah ditemukan solusi jadi, pembentukan pohon dapat dihentikan. Solusi ini merupakan solusi terbaik sejauh ini. Simpulsimpul yang lain dapat dibunuh karena dari simpul-simpul tersebut tidak mungkin dihasilkan solusi yang lebih baik. 85 5. Kesimpulan Algoritma pencarian jarak terpendek dengan metode B&B :. Reduksi matrik yang merepresentasikan graf dengan mengurangi setiap baris atau kolom dengan nilai terkecil baris atau kolom tersebut sehingga didapat matriks dengan minimal satu nilai nol pada setiap baris dan kolom. 2. Masukkan simpul akar dengan nilai batas c() = total pengurang matriks ke dalam antrian Q. Jika simpul akar adalah simpul solusi, maka solusi telah ditemukan. Stop. 3. Jika Q kosong, tidak ada solusi. Stop. 4. Jika Q tidak kosong, pilih dari antrian Q simpul i yang mempunyai c(i) terkecil. Jika terdapat beberapa simpul i yang memenuhi, pilih satu secara sembarang. 5. Jika simpul i adalah simpul solusi, berarti solusi telah ditemukan, stop. Jika simpul i bukan simpul solusi maka bangkitkan semua anak-anaknya. Cara membangkitkan simpul anak :. Ubah semua nilai pada matriks bobot tereduksi milik simpul bapak pada baris ke i dan kolom ke j dengan ~. Dimana i dan j menunjukkan simpul yang dituju pada graf. 2. Ubah nilai matriks tereduksi pada (j,simpul asal pada graf) agar simpul tersebut tidak digunakan. 3. Reduksi kembali matriksnya. Jika i tidak mempunyai anak, kembali ke langkah 2. 4. Untuk setiap anak j dari simpul i, hitung c(j), dan masukkan anak-anak tersebut ke dalam antrian Q. c(j) didapat dari rumus : c(j) = c(i) + M(k,l) + r dimana : c(j) : nilai ongkos simpul anak c(i) : nilai ongkos simpul bapak M(k,l) : bobot sisi k ke l R : total pengurang pada proses reduksi 5. Kembali ke langkah 2. DAFTAR PUSTAKA [] Munir, Rinaldi. (2007). Diktat Kuliah IF225 Strategi Algoritmik. Departemen Teknik Informatika, Institut Teknologi Bandung.

This document was created with Win2PDF available at http://www.daneprairie.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.