Program Linear Bilangan Bulat
Contoh 2.3
Misalkan diberikan masalah program linear awal � sebagai berikut.
Minimumkan =
+ Dengan kendala
{ +
+ ,
dan bilan�an bulat Jawab:
1. Menyelesaikan masalah program linear tersebut sehingga mendapatkan solusi optimal
= , , = , dan = , . Solusi yang diperoleh tidak berbentuk bilangan bulat maka lanjut ke langkah 2.
2. Selanjutnya, masalah program linear bulat di atas dicabangkan menjadi dua masalah program linear bulat baru dengan menambahkan kendala
dan
. 3. Sehingga didapatkan dua sub-masalah baru yang harus diselesaikan sebagai
berikut. Sub-masalah 1:
� = � + , ,
Minimumkan =
+ Dengan kendala
{ +
+
, dan
Sub-masalah 2: � = � + ,
, Minimumkan
= +
Dengan kendala
{ +
+
, 4. Batas untuk nilai tujuan belum dapat ditentukan karena belum mendapatkan
solusi bilangan bulat. 5. Dari sub-masalah 1 diperoleh
= , = , , dan = , . Solusi yang
diperoleh tidak berbentuk bilangan bulat maka kembali ke langkah 2. Langkah 2: Sub-masalah program linear dicabangkan menjadi dua masalah
program linear bulat baru dengan menambahkan kendala
dan
. Langkah 3: Sehingga didapatkan dua sub-masalah baru yang harus diselesaikan
sebagai berikut. Sub-masalah 3:
� = � + , ,
Minimumkan =
+ Dengan kendala
{ +
+
, dan
Sub-masalah 4: � = � + ,
, Minimumkan
= +
Dengan kendala
{ +
+
, Langkah 4: Batas untuk nilai tujuan belum dapat ditentukan karena belum
mendapatkan solusi bilangan bulat. Langkah 5: Dari sub-masalah 3 cabang dihentikan karena sub-masalah tidak
memiliki daerah layak. Dari sub-masalah 4 diperoleh
= , , = , dan = , . Solusi tidak berbentuk bilangan bulat maka kembali ke langkah 2.
Langkah 2: Sub-masalah program linear dicabangkan menjadi dua masalah program linear bulat baru dengan menambahkan kendala
dan
. Langkah 3: Sehingga didapatkan dua sub-masalah baru yang harus diselesaikan
sebagai berikut. Sub-masalah 5:
� = � + , ,
Minimumkan =
+ Dengan kendala
{ +
+
, dan
Sub-masalah 6: � = � + ,
, PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Minimumkan =
+ Dengan kendala
{ +
+
, Langkah 4: Batas untuk nilai tujuan belum dapat ditentukan karena belum
mendapatkan solusi bilangan bulat. Langkah 5: Dari sub-masalah 5 diperoleh
= , = , , dan = , .
Solusi yang diperoleh tidak berbentuk bilangan bulat maka kembali ke langkah 2.
Langkah 2: Sub-masalah program linear dicabangkan menjadi dua masalah program linear bulat baru dengan menambahkan kendala
dan
. Langkah 3: Sehingga didapatkan dua sub-masalah baru yang harus diselesaikan
sebagai berikut. Sub-masalah 7:
� = � + , ,
Minimumkan =
+ Dengan kendala
{ +
+
, PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dan Sub-masalah 8:
� = � + , ,
Minimumkan =
+ Dengan kendala
{ +
+
, Langkah 4: Batas untuk nilai tujuan belum dapat ditentukan karena belum
mendapatkan solusi bilangan bulat. Langkah 5: Dari sub-masalah 7 cabang dihentikan karena sub-masalah tidak
memiliki daerah layak. Dari sub-masalah 8 diperoleh
= , = , dan = . Solusi berbentuk
bilangan bulat maka = dijadikan sebagai batas atas.
Dari sub-masalah 6 diperoleh = ,
= , dan = . Solusi berbentuk bilangan bulat dan
= lebih kecil dari batas atas sebelumnya maka = dijadikan sebagai batas atas yang baru.
Dari sub-masalah 2 diperoleh = ,
= , dan = . Solusi berbentuk bilangan bulat dan
= lebih kecil dari batas atas sebelumnya maka = dijadikan sebagai batas atas yang baru.
Jadi, diperoleh solusi optimal yaitu = , = , dan = .
Berikut gambar pohon pecabangan dari contoh 2.3.
�
1
= 2,5
2
= 0 = 2,5
�
1 1
= 2
2
= 1,2 = 3,2
�
2 1
= 3
2
= 0 = 3
�
3
Tidak memiliki
daerak layak
�
4 1
= 1,67
2
= 2 = 3,67
�
5 1
= 1
2
= 3,6 = 4,6
�
6 1
= 2
2
= 2 = 4
�
8 1
= 2
2
= 4 = 6
�
7
Tidak memiliki
daerah layak
1
2
2
1
1
1
2
3
1
3
2
2
1
2
2
4
Gambar 2.2: Pohon pencabangan contoh 2.3
Seperti yang sudah diketahui sebelumnya bahwa program linear bilangan bulat digunakan untuk kasus-kasus tertentu yang mengharuskan solusi berupa
bilangan bulat. Salah satu contohnya adalah masalah Knapsack. Pada bagian ini akan dibahas mengenai masalah Knapsack dan penyelesaiannya dengan metode
cabang dan batas.