Metode Branch and Price

nilai batas bawah dari setiap problema, maka penyelesaian optimal integer telah tercapai. Apabila tidak, maka subproblema yang memiliki nilai batas atas dan nilai batas bawah yang terbaik dipilih selanjutnya menjadi subproblema yang baru. Proses iterasi kembali pada langkah 2, sehingga demikian terus. Penggunaan metode branch and bound banyak sekali diantaranya knapsack problem, integer programming, travelling sales problem, cutting stock problem dan banyak lagi kegunaanya. Penggunaan metode ini tentulah untuk mencari nilai pembulatan terbaik pada masing-masing masalah.

2.5 Metode Branch and Price

Metode branch and price adalah ssuatu teknik dalam menyelesaikan program integer yang berskala besar. Dantzig dan Wolfe 1960 mengusulkan teknik column generasi sebagai sebuah skema untuk menyelesaikan masalah linear programming berskala besar yang mempunyai banyak variabel. Algoritma umum dari metode branch and price ini diperkenalkan oleh Barnhart 1998 dan Vanderbeck dan Wolsey 1996. Berikut ini merupakan ringkasan pengertian mengenai algoritma branch and price: 1. Branch and price merupakan teknik column generation untuk menyelesaikan program integer berskala besar. 2. Pada tiap node dari tree branch and price, kolom dapat dibangkitkan untuk memperkuat linear programming relaksasi. 3. Pada branch and price, kumpulan kolom dibuang dari linear programming relaxation sebuah program integer berskala besar karena terdapat terlalu banyak kolom yang harus ditangani secara efisien dan kebanyakan dari kolom itu menghasilkan variabel yang bernilai nol padaa solusi optimal. 4. Kemudian cek keoptimalan, sebuah subproblem yang disebut juga dengan „pricing problem‟ diselesaikan untuk mengidentifikasi adanya kolom yang memasuki basis. Pricing problem dilakukan untuk mengetahui adanya variabel keputusan yang memiliki reduced cost negatif. 5. Jika kolom tersebut ditemukan, linear programming kembali dioptimasi. 6. Percabangan terjadi ketika tidak terdapat kolom yang melalui proses pricing dan solusi program integer tidak memenuhi batasan kondisi integral. Column Generation menyediakan penguraian dari sebuah masalah menjadi master dan subproblem. Penguraian ini memungkinkan adanya penafsiran dan pengaturan kontektual untuk penambahan beberapa batasan penting. Dalam branch and price, kolom disisihkan dari relaksasi linear programming karena terdapat terlalu banyak kolom yang ditangani secara efisien. Kemudian untuk memeriksa keoptimalan dari sebuah solusi linear programming, subproblem yang disebut pricing problem, yang merupakan bagian permasalahan untuk dual linear programming diselesaikan untuk mencoba mengidentifikasi kolom yang akan memasuki basis. Jika terdapat kolom yang di maksud tersebut, maka solusi linear programming dioptimasi kembali. Percabangan terjadi ketika tidak terdapat kolom yang dinilai dapat memasuki basis dan solusi linear programming tidak memenuhi batasan integral. Terdapat beberapa kesulitan dalam penggunaan teknik column generation untuk linear programming dalam solusi integer programming, yaitu: 1. Integer programming konvensional bercabang pada variabel yang mungkin tidak efektif karena memperbaiki variabel yang dapat merusak struktur pricing problem. Menyelesaikan linear programming dan subproblem menjadi optimal mungkin menjadi tidak efisien, dimana beberapa aturan berbeda akan digunakan untuk menangani pohon branch and price. 2. Linear programming relaksasi dari master problem diselesaikan yang dengan column generation integral dan menggunakan prosedur standard branch and bound untuk master problem pada kolom yang ada tidak seperti halnya mencari solusi optimal, atau yang baik atau yang mungkin fisibel terhadap permasalahan yang sebenarnya. Perlu diperhatikan, ketika memproses suatu node tidak dibutuhkan untuk menyelesaikan LP sampai optimal. Alasan utama untuk menyelesakan LP sampai optimal adalah adanya kemungkinan untuk memotong node berdasarkan bound. Pemangkasan masih mungkin terjadi tanpa menyelesaikan LP sampai optimal jika kita dapat menghitung bound yang tepat. Bab 3 PEMBAHASAN

3.1 Penentuan Batas Bawah pada Metode Branch and Bound