BAB II LANDASAN TEORI
E. Metode Penyelesaian dalam PBB
Metode pembulatan merupakan metode yang paling sederhana dalam menyelesaikan permasalahan PBB. Menurut Maslikhah (2015) mengatakan bahwa metode ini dilakukan dengan membulatkan ke atas ataupun ke bawah nilai variabel keputusan yang didapatkan menggunakan metode simpleks
biasa, sehingga dengan pemakaian metode ini akan mempersingkat waktu untuk memperoleh hasil yang bulat. Pembulatan dilakukan tanpa ada aturan tertentu, sehingga hanya perlu disesuaikan dengan batasan yang ada. Sebagai contoh, didapatkan solusi dari metode simpleks nilai produksi lemari untuk mendapatkan hasil maksimal ialah sebesar 120,7. Sehingga pembulatan yang dilakukan bisa menjadi 121 lemari ataupun 120 lemari, sesuai dengan batasan yang ada. Sehingga, hal ini menyebabkan solusi yang diperoleh mungkin bukan solusi integer optimum yang sesungguhnya. Dengan kata lain, solusi pembulatan dapat lebih rendah dibanding solusi integer optimum yang sesungguhnya atau mungkin merupakan solusi tak layak.
2. Metode Branch and Bound
Metode selanjutnya yang biasa digunakan dalam menyelesaikan permasalahan PBB ialah metode percabangan dan pembatasan atau bisa disingkat B&B. Menurut Siswanto dalam Basriati (2018) metode B&B adalah algoritma dalam menentukan hasil optimal dari permasalahan PBB dengan membagi daerah layak yang ada menjadi daerah layak lebih kecil, dengan cara membuat cabang atas dan cabang bawah dari sebuah nilai variabel keputusan yang memiliki nilai pecahan sehingga setiap batasan akan menghasilkan cabang baru dan membentuk pohon pencarian. Metode ini merupakan metode yang paling sering dipakai karena paling teliti dan akan memunculkan kemungkinan-kemungkinan jawaban yang ada.
Bahkan, metode ini menjadi basic perhitungan bagi beberapa program yang digunakan untuk menghitung permasalahan PBB, seperti program POM-QM.
Seperti yang disebutkan di awal bahwa setiap metode memiliki kelebihan dan kelemahan masing-masing. Metode ini memiliki kelebihan seperti metode ini menjadi kode komputer standar untuk permasalahan PBB, dapat digunakan di permasalahan selain PBB seperti menentukan rute terpendek lintasan dan masalah knapsack, lalu juga menurut Maslikhah (2015) mengatakan bahwa metode ini lebih efisien
dibandingkan metode cutting plane. Meskipun demikian, tetap ada kelemahan dari metode ini. Sebab setiap variabel keputusan yang belum bulat akan dicabangkan, membuat metode ini akan memakan waktu yang lama dalam proses pengerjaannya apabila dilakukan secara manual.
Berikut akan ditunjukkan cara penggunaan dari metode ini menurut Siang (2011):
1. Selesaikan permasalahan dengan menggunakan metode dalam program linear dengan mengabaikan kendala bulat, dapat menggunakan metode simpleks atau metode grafik.
2. Jika variabel keputusan pada solusi optimal sudah bernilai bulat semua maka proses berhenti. Apabila tidak maka akan dilakukan percabangan.
3. Pilihlah variabel keputusan yang nilai pecahannya paling besar.
Nilai pecahan itu akan berada di antara bilangan bulat 𝑎 < 𝑥 <
𝑏. Kemudian, akan dilakukan percabangan dengan menambahkan kendala baru, yaitu 𝑥𝑖 ≤ 𝑎 dan 𝑥𝑖 ≥ 𝑏.
4. Selesaikan permasalahan yang baru menggunakan metode simpleks atau metode grafik.
5. Apabila solusi masih ada variabel keputusan yang bernilai pecahan maka akan dilakukan kembali langkah seperti nomor 3.
Sedangkan bila hasil sudah bulat semua, maka algoritma berhenti. Pilihlah solusi paling optimal sebagai hasil akhir.
3. Metode Cutting Plane
Selanjutnya ialah metode cutting plane atau metode bidang potong.
Metode ini akan menambahkan kendala gomory ke variabel keputusan yang belum bernilai bulat. Kendala ini akan menjadi batasan yang efektif menyingkirkan beberapa daerah penyelesaian yang tidak memiliki titik bilangan bulat yang layak. Dikatakan dalam Siang (2011: 125) bahwa metode ini harus menggunakan metode simpleks sebagai langkah awal penentuan solusi optimal, meskipun variabel keputusannya hanya terdapat
dua variabel, karena iterasinya akan membutuhkan kendala baru yang dibentuk dari komponen pecahan variabel slack.
Seperti yang disebutkan di awal bahwa setiap metode memiliki kelebihan dan kelemahan masing-masing. Metode ini lebih cepat dalam menentukan hasil optimal sebab penambahan kendala gomory sangat efektif dalam menghilangkan solusi yang kontinu, kemudian metode ini sangat baik digunakan apabila variabel keputusannya sedikit. Sedangkan untuk kelemahan metode ini ialah memungkinkan munculnya kesalahan perhitungan sebab saat memunculkan kendala gomory memerlukan perhitungan yang teliti.
Berikut akan ditunjukkan cara penggunaan dari metode ini menurut Siang (2011):
1. Selesaikan permasalahan dengan menggunakan metode dalam program linear dengan mengabaikan kendala bulat. Seperti, pemaparan di atas penyelesaian awal menggunakan metode simpleks.
2. Amati hasil optimum, apabila tidak ada variabel keputusan yang bernilai pecahan, maka algoritma berhenti. Jika, masih ada yang bernilai pecahan maka iterasi akan dilanjutkan.
3. Pilihlah nilai 𝑏𝑖 yang merupakan pecahan. Jika ada beberapa, nilai variabel yang berbentuk pecahan menjadi bentuk penjumlahan dari btau a. Bentuk pecahan tersebutlah yang akan ditambahkan menjadi kendala baru.
Misal terpilih baris yang akan dipakai ialah 𝑥1+2
3𝑠1−3
4𝑠2 = 27
15
Maka akan dilakukan penambahan kendala dan hanya diambil kendala yang akan ditambahkan ialah 2
3𝑠1+1
4𝑠2 ≥12
15
5. Lakukan perhitungan kembali menggunakan tablo simpleks.
Lalu amati hasil yang didapatkan. Bila sudah bulat iterasi berhenti, lalu apabila masih ada nilai yang berbentuk pecahan maka kembali ke langkah 3.
4. Metode Branch and Cut.
Seperti yang dijelaskan di atas, bahwa setiap metode yang dikenalkan untuk menyelesaikan permasalahan program integer, baik permasalahan integer murni maupun integer campuran, memiliki kelebihan dan kekurangannya masing-masing. Menurut Albert (2006) mengatakan bahwa metode irisan bidang memang cepat ketika digunakan untuk menemukan jawaban atas permasalahan yang ada, namun metode ini tidak bisa diandalkan sebab hanya efektif untuk variabel keputusan yang cenderung sedikit, serta metode B&B sangat dapat diandalkan dalam menemukan hasil optimal, sebab akan selalu ditemukan jawaban dalam percabangan yang akan dilakukan, akan tetapi penggunaan metode ini akan memakan waktu yang lama apabila memiliki masalah yang sangat besar. Sehingga, ditemukan titik tengah dalam mempersingkat waktu perhitungan dalam menghitung solusi optimal. Penggabungan metode irisan bidang dan B&B (metode branch and cut) dikatakan akan mempersingkat dalam menemukan hasil optimal dibandingkan hanya menggunakan metode B&B sendiri. Metode branch and cut pada dasarnya menggabungkan keuntungan dari kedua metode yang ada, dengan sifat dasarnya ialah menggunakan metode B&B sebagai awalan, kemudian dilakukan pemotongan diagram pohon dari metode B&B menggunakan kendala gomory untuk mempercepat perhitungan.
Berikut akan ditunjukkan penggunaan metode branch and cut, sebagai berikut:
1. Lakukan relaksasi terhadap masalah yang ada dengan mengabaikan kendala integer, lalu selesaikan permasalahan menggunakan metode simpleks sebagai langkah awal menentukan solusi optimal.
Dianjurkan menggunakan metode simpleks, sebab akan ada penambahan kendala gomory.
2. Amati hasil yang didapatkan, bila masih ada solusi yang bernilai tidak bulat, maka akan dilakukan algoritma percabangan.
3. Pilihlah variabel keputusan yang nilai pecahannya paling besar. Nilai pecahan itu akan berada di antara bilangan bulat 𝑎 < 𝑥 < 𝑏.
Kemudian, akan dilakukan percabangan dengan menambahkan kendala baru, yaitu 𝑥𝑖 ≤ 𝑎 dan 𝑥𝑖 ≥ 𝑏. Untuk mempermudah perhitungan dapat diubah kendala baru menjadi −𝑥𝑖 ≤ −𝑏 untuk masalah maksimasi dan −𝑥𝑖 ≥ −𝑎 untuk masalah minimasi.
4. Selesaikan permasalahan yang baru dengan menggunakan metode simpleks.
5. Amati hasil yang didapatkan dari 2 permasalahan yang baru. Apabila solusi pada kedua cabang sudah bulat maka algoritma berhenti.
Apabila tidak maka akan dilanjutkan dengan penambahan kendala gomory sebagai implementasi metode branch and cut.
6. Pilihlah permasalahan yang memiliki hasil solusi paling besar untuk permasalahan maksimasi dan solusi paling kecil untuk permasalahan minimasi.
7. Ubahlah bentuk kendala yang sudah ada menjadi bentuk variabel tambahan yang hanya berada di sebelah kanan.
8. Kemudian akan dilakukan algoritma penambahan kendala gomory.
Pilih baris 𝑏𝑖 yang masih tidak bulat (pilih paling besar bila semua tidak bulat). Ubahlah bentuk tersebut ke bentuk kendala gomory dengan mengubah bentuk penulisan koefisien pada variabel menjadi
bentuk penjumlahan dari bilangan bulat di bawah ditambahkan dengan pecahan yang membentuk bilangan itu kembali.
9. Kemudian substitusikan nilai variabel tambahan yang sudah di ubah bentuknya pada langkah 7 ke kendala gomory yang sudah ada. Perlu diingat kendala gomory akan memiliki tanda pertidaksamaan ≥, maka ubahlah bentuk pertidaksamaan menjadi ≤ apabila permasalahan maksimasi.
10. Hitunglah kembali permasalahan yang sudah diberikan kendala baru menggunakan metode simpleks.
11. Amati hasil yang sudah ada, apabila sudah bulat semua, maka algoritma berhenti. Apabila masih ada yang belum bulat maka kembali ke langkah 3.
F. Penggunaan Python Modul PuLP