Matakuliah Tahun : T0034 / Perancangan & Analisis Algoritma : 2008 Pertemuan 23 BRANCH AND BOUND (1) BRANCH AND BOUND • Metode Branch and Bound adalah sebuah teknik algoritma yang secara khusus mempelajari bagaimana caranya memperkecil Search Tree menjadi sekecil mungkin. • Sesuai dengan namanya, metode ini terdiri dari 2 langkah yaitu : – Branch yang artinya membangun semua cabang tree yang mungkin menuju solusi. – Bound yang artinya menghitung node mana yang merupakan active node (E-node) dan node mana yang merupakan dead node (Dnode) dengan menggunakan syarat batas constraint (kendala). [buku utama, bab 9.4] Bina Nusantara TEKNIK BRANCH AND BOUND • FIFO Branch and Bound – Adalah teknik Branch and Bound yang menggunakan bantuan queue untuk perhitungan Branch and Bound secara First In First Out. • LIFO Branch and Bound – Adalah teknik Branch and Bound yang menggunakan bantuan stack untuk perhitungan Branch and Bound secara Last In First Out. • Least Cost Branch and Bound – Teknik ini akan menghitung cost setiap node. Node yang memiliki cost paling kecil dikatakan memiliki kemungkinan paling besar menuju solusi. Bina Nusantara MASALAH YANG DAPAT DIPECAHKAN • Branch and Bound dapat digunakan untuk memecahkan berbagai masalah yang menggunakan Search Tree – – – – – Bina Nusantara Traveling Salesman Problem N-Queen Problem 15 Puzzle Problem 0/1 Knapsack Problem Shortest Path FIFO BRANCH AND BOUND • Menggunakan queue • E-node dimasukkan ke dalam queue, kemudian dibangun branch (cabang) berikutnya. • D-node tidak digunakan untuk membangun branch berikutnya. • Didapatkan Partial Space Tree yang dicari. Bina Nusantara LIFO BRANCH AND BOUND • Menggunakan stack • E-node dimasukkan ke dalam stack, kemudian dibangun branch (cabang) berikutnya. • D-node tidak digunakan untuk membangun branch berikutnya. • Didapatkan Partial Space Tree yang dicari. Bina Nusantara LEAST COST BRANCH AND BOUND • Pada teknik FIFO dan LIFO, node dibuka sesuai urutannya • Pada LC Branch and Bound, node yang memiliki cost terendah dibuka terlebih dulu (menjadi E-node berikutnya) • Pada sebuah node x berlaku b ≤ c(x) ≤ u – b adalah batas bawah – c(x) adalah cost node x – u adalah batas atas • Jika terjadi b > u maka simpul x dapat dimatikan (dinyatakan sebagai D-node). Bina Nusantara CONTOH LC BRANCH AND BOUND • Traveling Salesman Problem dapat dipecahkan dengan Least Cost Branch and Bound • Langkah-langkah penyelesaian – Gambarkan problem dengan weigthed digraph G={V,E} – C(i,j) = nilai (cost) pada edge <i,j>, dimana C(i,j)= ∞ , jika tidak ada edge antara i dan j. – Dengan definisi nilai (cost) di atas, bangun Cost Matrix dari TSP. – Lakukan reduksi terhadap Cost Matrix, didapat Reduced Cost Matrix. – Gunakan fungsi pembatas (bound), untuk membangun Search Tree dari Reduced Cost Matrix. – Dan seterusnya hingga didapat set solusi yang diinginkan. Bina Nusantara CONTOH KASUS [buku utama, ilustrasi 9.19] Kasus yang sama pada pertemuan 16 digunakan kembali untuk diselesaikan dengan Branch and Bound Bina Nusantara LATIHAN • Jelaskan keunggulan dan kelemahan teknik Branch and Bound ! Bina Nusantara REVIEW • Apa yang sudah dipahami? • Apa yang akan dibahas selanjutnya? Bina Nusantara
© Copyright 2024 Paperzz