PERCABANGAN DAN PEMBATASAN

Slides:



Advertisements
Presentasi serupa
Masalah Optimasi Jaringan Model Optimasi Jaringan Penyelesaian Optimasi Jaringan dengan Simpleks Optimasi Jaringan.
Advertisements

Integer Programming.
Program Dinamis (Dynamic Programming)
Design and Analysis of Algorithm Dynamic Programming
Problem Solving Search -- Uninformed Search
Teknik Pengambilan Keputusan Programa Linier
PEMROGRAMAN LINEAR RISMAYUNI.
PROGRAMA BILANGAN BULAT
Design and Analysis Algorithm
Integer Linier Programming
Integer Programming (IP) Pertemuan 19 :
Algoritma Pemotongan Algoritma Gomory Langkah 1 x3* = 11/2 x2* = 1
Penerapan Int.Programming (IP) dgn Program Komputer.. Pertemuan 21 :
Pertemuan 23 BRANCH AND BOUND (1)
Pertemuan 24 BRANCH AND BOUND (2)
1 Pertemuan 23 Branch And Bound I (B – A – B) Matakuliah: T0034/Analisis & Perancangan Algoritma Tahun: 2005 Versi: 1/0.
Penerapan Int.Programming (IP) Pertemuan 20 :
Analisa Algoritma Greedy Algorithm
PENDAHULUAN PROGRAMASI LINEAR
Pert.2 Pemodelan Program Linier dan Penyelesaian dengan Metode Grafik
INTEGER PROGRAMMING Modul 8. PENELITIAN OPERASIONAL Oleh : Eliyani
Pertemuan 22 BACKTRACKING
KECERDASAN BUATAN PERTEMUAN 3.
LINEAR PROGRAMMING METODE GRAFIK.
PEMROGRAMAN LINEAR Karakteristik pemrograman linear: Proporsionalitas
Modul III. Programma Linier
Pertemuan 6 Metode Pencarian
ALGORITMA PEMOTONGAN Algoritma Gomory.
METODE STOKASTIK PARANITA ASNUR.
Struktur Data Oleh riza mirza.
Bahan Kuliah IF2211 Strategi Algoritma
Linear Programming Formulasi Masalah dan Pemodelan
Pertemuan 25 MERANCANG ALGORITMA DENGAN KOMPLEKSITAS TERTENTU
Greedy Pertemuan 7.
PL PDF 1 PL PDF 2 PL PPT 1 PL PPT 2 OPERATION RESEARCH Program Linier.
Arta Rusidarma Putra, ST., MM
Program Dinamis.
MATERI PERKULIAHAN ANALISIS ALGORITMA
Bilangan bulat Definisi dan operasi.
Universitas Abulyatama Aceh
MATERI PERKULIAHAN ANALISIS ALGORITMA
PENDEKATAN GRAFIK (Branch and Bound)
MATERI PERKULIAHAN ANALISIS ALGORITMA
Pertemuan 26 PRAKTEK ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
Minggu 1 Pertemuan II Riset Operasi
Riset Operasional 1 Manajemen-Ekonomi PTA 16/17
PROGRAM LINIER PENDAHULUAN
Teknik Pengambilan Keputusan Programa Linier
INTEGER PROGRAMMING.
METODE SIMPLEKS Pertemuan 2
Program Linier Dengan Grafik
PEMROGRAMAN LINIER Tujuan : Memahami prinsip dan asumsi model LP
Program Linear dalam Industri Pakan Ternak
Program Dinamis (Dynamic Programming)
PROGRAM LINIER DENGAN GRAFIK PERTEMUAN 2
MODUL I.
Dosen : Wawan Hari Subagyo
Fakultas Ilmu Komputer
INTEGER LINEAR PROGRAMMING
Pertemuan 6 Metode Pencarian
Masalah Penugasan (Assignment Problem)
METODE DUA FASE.
Presented by: EDY SETIYO UTOMO, S.Pd, M.Pd
METODE ENUMERASI IMPLISIT
PROGRAM LINIER DENGAN GRAFIK PERTEMUAN 2
PENGERTIAN FORMULASI PERMASALAHAN ASUMSIKELOMPOK PROGRA M LINIER.
Pemrograman Bilangan Bulat (Integer Programming)
Operations Research Linear Programming (LP)
Operations Research Linear Programming (LP)
Transcript presentasi:

PERCABANGAN DAN PEMBATASAN 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 : 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).

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.

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 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.

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.

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 Bound

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 :

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 Z1. Ø  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 Z1 menjadi batas atas (upper bound) dari nilai maksimum Z untuk ILP.

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

Lakukan poin dua hingga semua node dalam kondisi fathomed 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.

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 : pengemasan

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.00

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.1

Pemilik menetapkan harga jual kemeja sebesar Rp 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?

Jawaban Model matematika Definisi : X1 = Jumlah Produksi Kemeja Fungsi Tujuan : Memaksimasikan Z = 15750 X1 + 20000 X2 Pembatas : 0.45 X1 +  0.5 X2 ≤ 90 1.05 X1 +  0.45 X2 ≤ 210 0.9 X1 + 0.45 X2 ≤ 180 0.6 X1 + 0.5 X2 ≤ 120 X1 ≤ 200 X2 ≤ 120 X1 , X2 ≥ 0

Penyelesaian menggunakan metode branch and bound