BRANCH AND BOUND 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 ID: 568004
Download Presentation The PPT/PDF document "PERCABANGAN DAN PEMBATASAN" is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
PERCABANGAN DAN PEMBATASAN
BRANCH AND BOUNDSlide2
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 (D-node) dengan menggunakan syarat batas constraint (kendala).
Metode ini hanya dapat digunakan untuk masalah optimasi saja (optimazion problem).Slide3
TEKNIK BRANCH AND BOUND
1. FIFO Branch and Bound
Adalah teknik Branch and Bound yang menggunakan bantuan queue untuk perhitungan Branch and Bound secara First In First Out.
2. LIFO Branch and Bound
Adalah teknik Branch and Bound yang menggunakan bantuan stack untuk perhitungan Branch and Bound secara Last In First Out.
3. 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.Slide4
Branch and Bound dapat digunakan untuk memecahkan berbagai masalah yang menggunakan Search Tree
–Traveling Salesman Problem
–N-Queen Problem
–15 Puzzle Problem
–0/1 Knapsack Problem
–Shortest PathSlide5
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.Slide6
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.Slide7
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).
Contoh
LC Branch and Bound
yaitu
Traveling Salesman Problem
dapat
dipecahkan
dengan
Least Cost Branch and BoundSlide8
Algoritma Branchand Bound untuk ILP (integer linier programing)
Misalkan diberikan suatu masalah pemrograman bilangan bulat sebagai berikut:
Maksimasi
Z
= cx
dengan pembatas
Ax = b
x ≥ 0
xj
bilangan bulat untuk
j
€ I
dimana I adalah himpunan variabel bilangan bulat. Langkah-langkah yang harus dilakukan untuk menyelesaikan masalah tersebut adalah :Slide9
Langkah pertama adalah memecahkan masalah ILP sebagai LP dengan mengabaikan pembatas bilangan bulat (
bounding
). Kemudian misalkan masalah LP dinyatakan sebagai LP-1 yang mempunyai nilai optimal dari fungsi tujuan
Z
1.
Ø
PL-1
Maksimasi
Z
=
cx
dengan pembatas
Ax
=
b
x
≥
0
Jika solusi optimal dari LP-1 mengandung beberapa variabel bilangan bulat yang mempunyai nilai pecahan, maka solusi optimal bilangan bulat untuk ILP belum diperoleh dan
Z
1 menjadi batas atas (
upper bound
) dari nilai maksimum
Z
untuk ILP. Slide10
Langkah berikutnya adalah mempartisi daerah layak dari LP-1 dengan mencabangkan (
branching
) salah satu variabel bilangan bulat yang nilainya pecahan.
Misalkan variabel
xj
dipilih untuk dicabangkan dengan nilai pecahan
β
j
dalam LP-1. Kemudian dibuat dua masalah pemrograman linier baru, LP-2 dan LP-3 dengan memasukkan masing-masing pembatas baru
xj
≤ [
β]
dan
xj
≥ [
β]+1
dan selesaikan kedua permasalahan hingga diperoleh x1,x2,dan z yang baru dari masalah tersebut :
Ø PL-2
Ø PL-3
Maksimasi
Z
=
cx
Maksimasi
Z
=
cx
dengan pembatas
dengan pembatas
Ax
=
b
Ax
=
b
xj
≤ [
β]
xj
≥ [
β]+1
x ≥ 0
x ≥ 0 Slide11
Lakukan poin dua hingga semua
node
dalam kondisi
fathomed
.
Fathoming
suatu
node
(masalah LP) terjadi jika:
a. Solusi optimal LP merupakan bilangan bulat (tidak terdapat lagi bilangan pecahan). dan nilainya lebih besar dari nilai solusi optimal sebelumnya yang semua variabelnya adalah bilangan bulat (jika ada)
b. Masalah LP adalah tak layak (terjadi ketika salah satu atau kedua variabel masih mempunyai nilai pecahan, namun z nya lebih kecil daripada z sebelumnya)
c. Nilai optimal
Z
dari masalah LP tidak lebih baik daripada batas bawah (
lower bound
) saat ini.Slide12
Contoh metode branch and bound
Sebuah
home-industry
tekstil “NUYS COLLECTION” membuat dua macam produk tekstil yang sering digunakan masyarakat dewasa ini, yaitu kemeja dan kaos. Dalam
home-industry
tersebut, kemeja dan kaos harus melalui 4
workstation
agar dapat menjadi produk jadi
,
yaitu:
Workstation 1
: pemotongan kain dan pembuatan pola
Workstation 2
: penjahitan
Workstation 3
:
pressing
dan pemeriksaan (
quality control)
Workstation 4
: pengemasanSlide13
Pemilik
home-industry
tersebut memiliki 4 operator dan masing-masing operator menangani 1
workstation.
Pemilik mengalokasikan waktu kerja per hari sebanyak 10 jam yang dimulai dari pukul 08.00 hingga pukul 18.00. Sistem kerja yang diterapkan pada
home industry
tersebut merupakan sistem kerja seri, yang artinya proses kerja tersebut dilakukan secara berurutan yang dimulai dari
workstation 1
dan berakhir di
workstation 4.
Pemilik menerapkan waktu kerja per
shift,
yang dimaksudkan bahwa
workstation 1
akan mendapatkan shift pertama,
workstation 2
akan mendapatkan
shift
kedua, dan seterusnya
Pemilik menetapkan
shift
per hari untuk 4
workstation
seperti dibawah ini :
Shift 1 (Workstation 1) :
pukul 08.00-09.30
Shift 2 (Workstation 2) :
pukul 09.30-13.00
Shift 3 (Workstation 3) :
pukul 13.00-16.00
Shift 4 (Workstation 4) :
pukul 16.00-18.00Slide14
Kapasitas produksi untuk kemeja dan kaos per harinya dalam
home-industry
tersebut adalah 200 buah dan 120 buah. Produk kemeja dan kaos tersebut memiliki waktu proses per produk yang berbeda-beda disetiap
workstation
seperti yang tertera pada Tabel 3.1Slide15
Pemilik menetapkan harga jual kemeja sebesar Rp.35000 dan kaos sebesar Rp.40000. Pemilik akan mengambil profit sebesar 45% dari harga jual kemeja dan 50% dari harga jual kaos, sehingga keuntungan yang didapat sebesar Rp.15750 untuk satu kemeja dan sebesar Rp.20000 untuk satu kaos. Berapa kemeja dan kaos yang harus diproduksi setiap harinya agar
home-industry
tekstil tersebut memperoleh keuntungan yang optimal?Slide16
Jawaban
Model matematika
Definisi :
X
1
= Jumlah Produksi Kemeja
X
2
= Jumlah Produksi
Fungsi Tujuan :
Memaksimasikan Z = 15750 X
1
+ 20000 X
2
Pembatas :
0.45 X
1
+ 0.5 X
2
≤ 90
1.05 X
1
+ 0.45 X
2
≤ 210
0.9 X
1
+ 0.45 X
2
≤ 180
0.6 X
1
+ 0.5 X
2
≤ 120
X
1
≤ 200
X
2
≤ 120
X
1
, X
2
≥
0Slide17
Penyelesaian menggunakan metode branch and bound