Kuliah_8(integer programming)
Download
Report
Transcript Kuliah_8(integer programming)
Integer Programming
Pendahuluan
Dalam penerapannya, teknik optimasi sering menggunakan
variable yang bukan bertipe real, tetapi menggunakan tipe
variable yang lain seperti integer atau biner (yang merupakan
bagian tipe variable integer)
Dalam kasus seperti ini, bentuk permasalahan optimasi
adalah:
min f ( x )
dengan kendala :
Ax b , x 0
Selain fungsi kendala tersebut, dalam proses penyelesaiannya
beberapa atau seluruh variable harus bernilai integer nonnegatif ( x Z )
i
Metode Branch and Bound (1)
Terdiri dari beberapa sub-permasalahan, penyelesaian dan
analisis keadaan optimal dari setiap sub-permasalahan sampai
pada penyelesaian optimal permasalahan utama.
Prinsip metode ini adalah:
Dalam penentuan titik optimal x(0), ada dua keadaan yang
terjadi,
Jika x(0) memenuhi semua kendala, maka titik tersebut merupakan
penyelesaian sementara dan sub-permasalahan diabaikan.
Jika x(0) tidak memenuhi semua kendala, maka pilih salah satu dari variable
berikut ini,
(0)
xi
( k , k 1), k Z , i I
Dan tambahkan ke sub-permasalahan yang ada dan dianalisis pada titik
“percabangan” tersebut yang diperoleh dengan menambahkan pada
fungsi kendala xi ≤ k untuk cabang yang satu, dan xi ≥ k+1
Metode Branch and Bound (2)
Setelah diperoleh titik penyelesaian sementara x*, sub-
permsalahan yang telah diperoleh sebenarnya dianalisis
dengan prosedur berikut ini:
Jika cx*≤ cx(0), sub-permasalahan tersebut tidak digunakan lagi,
karena tidak menghasilkan nilai penyelesaian yang lebih baik,
pilih sub-permasalahan yang lain.
Jika cx*> cx(0) dan memenuhi syarat-syarat fungsi kendala
secara keseluruhan, x* merupakan penyelesaian sementara yang
baru menggantikan x(0) dan sub-permasalahan lainnya dianalisis
Jika cx*> cx(0) dan tidak memenuhi syarat-syarat fungsi kendala
secara keseluruhan, buatlah percabangan baru sesuai prosedur
percabangan.
Metode Branch and Bound (3)
Contoh I
Soal:
Minimize Z=3x2 + 2x3
Dengan fungsi kendala:
2x1 + 2x2 − 4x3 = 5
4x2 + 2x3 ≤ 3
xi ≥ 0, x1, x3 ∈ Z (integer)
Penyelesaian Contoh I (1)
Persoalan dengan variable real adalah:
Min Z 3 x 2 2 x 3
Dengan fungsi kendala :
2 x1 2 x 2 4 x 3 5
4 x2 2 x3 3
x1 , 2 , 3 0
Memiliki titik solusi optimum di (5/2,0,0)
Karena x1 bukan merupakan integer, maka percabangan harus
dibuat berdasarkan nilai x1 tersebut.
Sampai pada tahap ini masih belum diperoleh titik solusi
sementara
Penyelesaian Contoh I (2)
Hasil percabangan adalah berupa dua sub-permasalahan
berikut ini:
Min Z 3 x 2 2 x 3
Dengan fungsi kendala :
2 x1 2 x 2 4 x 3 5
4 x2 2 x3 3
x1 2 , x 2 , 3 0
Memiliki titik solusi
(2,1/2,0)
dengan nilai Z = 3/2
Hasil ini memenuhi kendala
dan digunakan sebagai titik
solusi sementara
Dan
Min Z 3 x 2 2 x 3
Dengan fungsi kendala :
2 x1 2 x 2 4 x 3 5
4 x2 2 x3 3
x1 3 , x 2 , 3 0
Memiliki titik solusi (3,0,1/4)
dengan nilai Z = ½
Titik solusi ini belum memenuhi
kendala tetapi nilai Z lebih baik,
jadi harus dilakukan percabangan
Penyelesaian Contoh I (3)
Hasil percabangan berikutnya adalah:
Min Z 3 x 2 2 x 3
Dengan fungsi kendala :
2 x1 2 x 2 4 x 3 5
4 x2 2 x3 3
x1 3 , x 3 0 , x 2 0
Sub-permasalahan ini bersifat infeasible
(tidak memiliki solusi)
Hal ini disebabkan pada saat nilai x3 = 0
tidak memenuhi semua kendala.
Dengan demikian sub-permasalahan ini
dihilangkan
Dan
Min Z 3 x 2 2 x 3
Dengan fungsi kendala :
2 x1 2 x 2 4 x 3 5
4 x2 2 x3 3
x1 3 , x 3 1, x 2 0
Memiliki titik solusi (9/2,0,1)
dengan nilai Z = 2
Hasil nilai Z ini memiliki nilai yang lebih
besar dari titik solusi sementara (tidak
lebih baik), jadi sub-permasalahan ini
dihilangkan
Penyelesaian Contoh I (4)
Dengan demikian, tidak ada lagi sub-permasalahan yang harus
dianalisis dan hanya diperoleh satu titik solusi sementara,
maka titik solusi sementara tersebut merupakan titik solusi
yang optimum dari permasahan pokok.
Jadi penyelesaiannya adalah:
Titik optimum terjadi di titik (2,1/2,0)
Dengan nilai Z sebesar 3/2