Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional Dual

29 bulat. Pada bentuk di atas, n dan m masing-masing menunjukkan banyaknya variabel keputusan dan variabel slack yang muncul dari kendala utama. Dengan membandingkan persamaan 3.7, 3.8, 3.10 dan 3.11 dapat didefinisikan j j a c a z x 00 , , − = = = , n j , , 1 K = , , i n i a b + = m i , , 1 K = , dan n j m i a a j i n ij , , 1 1 ; , , 1 , K K = = = = + .

B. Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional Dual

Metode yang digunakan untuk mencari penyelesaian program linear bilangan bulat fraksional dual merupakan perluasan dari metode simpleks dual, yakni dengan menambah kendala baru pada masalah tersebut. Langkah-langkah masalah program linear bilangan bulat fraksional dual adalah sebagai berikut : 1. Mengubah bentuk baku menjadi bentuk kanonik seperti persamaan 3.2 2. Menyusun tabel awal dari masalah program linear bilangan bulat. Pada persamaan 3.2 tabel awal tersebut disajikan sebagai berikut : 30 Tabel 3.1 Tabel Awal Program Linear Bilangan Bulat Fraktional Dual. 1 1 x − K j x − K n x − = x 00 a 01 a K j a K n a M M 1 M M − K O L O K 1 M M − K O L O K 1 − M M = = + + m n n x x M 1 , , 1 m n n a a + + M 1 , 1 , 1 m n n a a + + M K O K j m n j n a a , , 1 + + M K O K Keterangan : j j a c a z x 00 , , − = = = , n j , , 1 K = , , i n i a b + = m i , , 1 K = , dan n j m i a a j i n ij , , 1 1 ; , , 1 , K K = = = = + , , , 1 m n i x i + = ≥ K . 3. Masalah program linear bilangan bulat ini diselesaikan dahulu sebagai masalah program linear, yakni dengan menggunakan metode simpleks dual. Dengan langkah-langkah sebagai berikut : Langkah 1: Memilih baris pivot, yakni dengan memilih baris v yang mempunyai nilai v a paling minimum dengan v a , ≠ v = = = n j x x x M M 1 n m n n n a a , , 1 + + M 31 Langkah 2 : Memilih kolom pivot, yakni kolom dengan nilai rasio yang paling minimum dan nilai rasio = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ vj j a a min Langkah 3 : Mengganti variabel nonbasis pada kolom pivot dengan variabel v x , yakni variabel pada baris pivot. Langkah 4 : Melakukan operasi kolom agar elemen-elemen baris v x pada kolom pivot bernilai -1 dan yang lain bernilai 0. Langkah 5 : Bila nilai v a masih ada yang bernilai negatif maka kembali ke langkah 1. Jika sudah tidak ada lagi yang bernilai negatif maka langkah dihentikan dan penyelesaian masalah program linear bilangan bulat sudah optimum. 4. Menguji keoptimuman. Bila penyelesaian optimum yang diperoleh pada langkah sebelumnya adalah bilangan bulat maka masalah program linear bilangan bulat sudah selesai. Jika penyelesaian optimumnya belum berupa bilangan bulat maka langkah-langkah penyelesaian dilanjutkan lagi menggunakan metode bidang pemotong dengan menambahkan kendala bidang pemotong yang baru yang memuat variabel pengetat k m n x + + . Lalu kendala bidang pemotong yang baru ditambahkan pada tabel yang ditulis pada baris terakhir maka bentuk tabel akan menjadi : 32 Tabel 3.2. Tabel Dengan Bentuk Kendala Bidang Pemotong 1 1 x − K j x − K n x − = x 00 a 01 a K j a K n a = = + + m n n x x M 1 M M , , 1 m n n a a + + M 1 M M − K O L O K 1 M M − K O L O K 1 − M M 1 , 1 , 1 m n n a a + + M K O K j m n j n a a , , 1 + + M K O K = + + k m n x , k m n a + + 1 , k m n a + + K j k m n a , + + K n k m n a , + + Dalam menentukan kendala bidang pemotong harus ditentukan dahulu baris sumber. Berikut ini akan dijelaskan bagaimana cara menentukan bentuk kendala bidang pemotong dan cara memilih baris sumber : a. Memilih baris sumber Cara memilih baris sumber adalah dengan memilih baris yang memuat variabel-variabel basis yang nilainya belum berupa bilangan bulat. Dalam hal ini variabel yang akan terpilih harus memberikan ketaksamaan yang kuat yaitu nilai dengan bilangan pecahan terbesar supaya dapat mempercepat pencapaian penyelesaian program linear bilangan bulat yang optimum. = = = n j x x x M M 1 n m n n n a a , , 1 + + M 33 Jika variabel basis i x pada persamaan ke-i bukan merupakan bilangan bulat maka variabel tersebut dapat dinyatakan sebagai : 1 i j J n j ij i a x a x = − − ∑ = 3.12 Keterangan : i a bukan bernilai bilangan bulat ij a dapat berbentuk bilangan bulat J adalah himpunan indeks variabel nonbasis Jj adalah elemen j di dalam J j J x adalah variabel nonbasis j di dalam J Persamaan 3.12 dapat ditulis sebagai berikut j J n j ij i i x a a x − + = ∑ =1 3.13 Setiap persamaan seperti di atas dinyatakan sebagai baris sumber source row. Misalkan : [ ] i i i f a a + = dan [ ] ij ij ij f a a + = 3.14 dengan : 34 [ ] i a adalah bilangan bulat terbesar yang kurang dari atau sama dengan i a , dan [ ] ij a adalah bilangan bulat terbesar yang kurang dari atau sama dengan ij a maka 1 i f dan 1 ≤ ij f Ada dua cara untuk memilih baris sumber yaitu : 1. Baris dengan nilai i f yang paling maksimum. 2. Baris dengan nilai ⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧ ∑ = n j ij i f f 1 yang paling maksimum. Jika nilai i f atau ⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧ ∑ = n j ij i f f 1 untuk setiap baris selalu sama maka dapat dipilih sebarang baris untuk menjadi baris sumber. b. Menentukan bentuk kendala bidang pemotong Dari uraian pemilihan baris sumber, dengan persamaan 3.13 akan menjadi : 35 [ ] [ ] j J n j ij ij i i i x f a f a x − + + + = ∑ =1 [ ] [ ] j J n j ij j J n j ij i i x f x a f a − + − + + = ∑ ∑ = = 1 1 atau [ ] [ ] j J n j ij i i j J n j ij i x a a x x f f − − − = − + ∑ ∑ = = 1 1 3.15 Supaya nilai i x dan j J x − adalah bilangan bulat, maka ruas kanan dari persamaan 3.15 harus bernilai bilangan bulat yang mengakibatkan ruas kiri persamaan 3.15 haruslah bernilai bilangan bulat. Karena ≥ ij f dan ≤ − j J x untuk setiap nilai i dan j , maka 1 ≤ − ∑ = j J n j ij x f dengan demikian i j J n j ij i f x f f ≤ − + ∑ =1 . Karena 1 i f maka 1 1 − + ∑ = j J n j ij i x f f 3.16 atau j J n j ij i x f f − − ∑ =1 1 36 Karena ruas kiri persamaan 3.15 harus bernilai bilangan bulat, maka berdasarkan persamaan 3.15, haruslah 1 ≤ − + ∑ = j J n j ij i x f f Jika bentuk di atas ditambahkan dengan variabel pengetat k m n x + + dengan ≥ + + k m n x bilangan bulat, maka didapat : 1 = + − + + + = ∑ k m n j J n j ij i x x f f atau i j J n j ij k m n f x f x − − − = ∑ = + + 1 3.17 Persamaan 3.17 merupakan bagian pecahan fractional cut atau disebut juga pembatas sekunder . Jika pembatas sekunder ini sudah dimasukkan ke dalam tabel yang berada pada baris terakhir dalam tabel dan dilakukan operasi kolom maka tabel terakhir didapat = − j J x sehingga i k m n f x = + + , yang berarti tidak layak. Hal ini berarti pembatas sekunder yang baru tersebut tidak dipenuhi oleh penyelesaian yang diperoleh karena mengakibatkan nilai yang didapat belum berupa bilangan bulat sehingga untuk mengatasi ketidaklayakan ini dapat digunakan metode simpleks dual, yang pada dasarnya sama dengan memotong daerah layak ke arah penyelesaian optimum yang berupa bilangan bulat. 37 Dari penjelasan yang sudah dijabarkan di atas dan cara-cara memilih baris sumber serta menentukan pembatas sekunder, secara umum langkah pertama yang dilakukan dalam menyelesaikan masalah program linear bilangan bulat fraksional dual adalah mengubah masalah ke dalam bentuk kanonik dan menyusun tabel awal, menyelesaikan masalah program linear bilangan bulat dengan cara simpleks biasa dan dilanjutkan dengan langkah-langkah sebagai berikut : Langkah 1 : Memilih baris sumber v x dengan dua cara di bawah ini : 1. Baris dengan nilai v f yang paling maksimum. 2. Baris dengan nilai ⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧ ∑ = n j vj v f f 1 yang paling maksimum. Langkah 2 : Menentukan bentuk kendala bidang pemotong yang baru, yakni pembatas sekunder seperti persamaan 3.17 v j J n j vj k m n f x f x − − − = ∑ = + + 1 Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel simpleks. 38 Langkah 4 : Mencari baris pivot dengan melihat nilai koefisien v a yang bernilai negatif dan dipilih yang paling minimum Langkah 5 : Mencari kolom pivot dengan melihat niali R= vj j a a yang terkecil. Langkah 6 : Menggantikan variabel non basis pada kolom pivot dengan Variabel v x . Langkah 7 : Melakukan operasi kolom agar elemen-elemen baris v x pada kolom pivot bernilai -1 dan yang lainnya bernilai 0. Langkah 8 : Jika masih ada nilai v x yang nilainya belum berupa bilangan bulat maka dilanjutkan ke Langkah 1. Jika sudah tidak ada maka proses dihentikan dan diperoleh tabel optimum. Masalah program linear bilangan bulat fraksional dual tidak membedakan antara variabel keputusan dan variabel pengetat yakni bahwa semua variabel harus berupa bilangan bulat. Adanya koefisien yang tidak bulat dalam kendala tidak 39 memungkinkan untuk variabel pengetat berupa bilangan bulat. Dalam hal ini, masalah program linear bilangan bulat fraksional dual dapat menyatakan bahwa tidak terdapat penyelesaian layak, sekalipun masalah tersebut mempunyai penyelesaian layak yang bernilai bilangan bulat dalam bentuk bukan variabel pengetat. Berikut akan diberikan contoh penyelesaian masalah program linear bilangan bulat menggunakan metode bidang pemotong Contoh 3.1 Selesaikan masalah program linear bilangan bulat berikut: Maksimumkan: 2 1 5 4 x x z − − = Dengan kendala: 5 4 2 1 − ≤ − − x x 7 2 3 2 1 − ≤ − − x x dan , 2 1 ≥ x x Penyelesaian : Masalah program linear di muka dapat dibuat ke bentuk kanonik sebagai berikut : Maksimumkan: 2 1 5 4 x x z − − = Dengan kendala: 5 4 3 2 1 − = + − − x x x 7 2 3 4 2 1 − = + − − x x x dan , , , 4 3 2 1 ≥ x x x x 40 1. Menyusun tabel awal simpleks. Tabel 3.3. Tabel Awal Pada Contoh Masalah Program Linear Bilangan Bulat 1 1 x − 2 x − x 4 5 4 3 2 1 x x x x 7 5 − − 3 1 1 − − − 2 4 1 − − − 2. Menyelesaikan dengan metode simpleks dual. ITERASI 1 Langkah 1 : Memilih baris pivot Dari tabel awal diperoleh nilai 5 30 − = a dan 7 40 − = a maka nilai min { } = 40 30 , a a min { } 7 7 , 5 − = − − . Jadi baris empat sebagai baris pivot. Langkah 2 : Memilih kolom pivot Dengan memilih nilai rasio terkecil yakni = 4 R min ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ 42 02 41 01 , a a a a = min 3 4 2 5 , 3 4 = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ − − . Jadi kolom pertama akan terpilih sebagai kolom pivot. Langkah 3 : Menggantikan variabel 1 x dengan variabel 4 x Langkah 4 : Melakukan operasi kolom, sehingga diperoleh tabel baru berikut 41 Tabel 3.4. Tabel Setelah Operasi kolom Pada Iterasi 1 1 4 x − 2 x − x 3 28 − 3 4 3 7 4 3 2 1 x x x x 3 7 3 8 − 3 1 − 3 2 0 -1 3 1 − 3 10 − -1 0 Langkah 5 : Karena masih ada nilai 3 8 30 − = a maka kembali ke Langkah 1 ITERASI 2 Langkah 1 : Memilih baris pivot Dari tabel diatas diperoleh nilai min { } 30 10 , a a = min 3 8 3 8 , 3 7 − = ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ − = jadi baris ketiga sebagai bari pivot. Langkah 2 : Memilih kolom pivot Dengan memilih nilai rasio terkecil yakni = 4 R min ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ 32 02 31 01 , a a a a =min 3 7 3 10 3 7 , 3 1 3 4 = ⎪⎭ ⎪ ⎬ ⎫ ⎪⎩ ⎪ ⎨ ⎧ − − maka kolom kedua akan terpilih sebagai kolom pivot. Langkah 3 : Menggantikan variabel 2 x dengan variabel 3 x 42 Langkah 4 : Melakukan operasi kolom, sehingga diperoleh tabel baru sebagai berikut Tabel 3.5. Tabel Setelah Operasi kolom Pada Iterasi 2 1 4 x − 3 x − x 10 112 − 10 11 10 7 2 x 3 x 4 x 10 18 10 8 10 4 − 10 2 10 1 0 -1 -1 0 Langkah 5 : Karena sudah tidak ada v a maka proses dihentikan. dengan nilai 10 18 1 = x dan 10 8 2 = x 3. Menguji keoptimuman. Dari iterasi kedua telah dapatkan penyelesaian optimum dari masalah program linear, yaitu 10 18 1 = x dan 10 8 2 = x , tetapi penyelesaian tersebut belum bulat maka penyelesaian dilanjutkan dengan menggunakan metode bidang pemotong. 1 x 10 3 − 43 ITERASI 1 Langkah 1 : Memilih baris sumber Untuk 10 18 1 = x diperoleh [ ] 10 8 1 10 18 10 18 10 18 10 10 10 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = − = a a f Untuk 10 8 2 = x diperoleh [ ] 10 8 10 8 10 8 10 8 20 20 20 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = − = a a f Karena nilai 10 8 2 1 = = f f maka tidak ada informasi untuk memilih baris sumber, selanjutnya digunakan cara yang kedua. • Untuk baris pertama dapat dinyatakan sebagai berikut : 10 18 10 4 10 2 4 3 ≥ − − − x x Sehingga diperoleh [ ] 10 2 10 2 10 2 10 2 11 11 11 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = − = a a f dan [ ] 10 6 1 10 4 10 4 10 4 12 12 12 = − − − = ⎥⎦ ⎤ ⎢⎣ ⎡− − − = − = a a f • Untuk baris kedua dapat dinyatakan sebagai berikut : 10 8 10 1 10 3 4 3 ≥ − + − − x x Sehingga diperoleh [ ] 10 7 1 10 3 10 3 10 3 21 21 21 = − − − = ⎥⎦ ⎤ ⎢⎣ ⎡− − − = − = a a f dan [ ] 10 1 10 1 10 1 10 1 22 22 22 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = − = a a f 44 Dengan demikian, maks ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ + + 22 21 20 12 11 10 , f f f f f f = maks ⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧ + + 10 1 10 7 10 8 , 10 6 10 2 10 8 = maks ⎪ ⎪ ⎭ ⎪⎪ ⎬ ⎫ ⎪ ⎪ ⎩ ⎪⎪ ⎨ ⎧ 10 8 10 8 , 10 8 10 8 =maks { } 1 , 1 = 1 Dengan cara yang kedua, nilai maksimum dari rasio tersebut sama, yaitu 1, maka dari kedua persamaan tersebut diambil salah satu. Disini yang akan dipilih sebagai baris sumber adalah persamaan untuk 1 x . Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder Perhatikan kembali pertidaksamaan 1 x : 10 18 10 4 10 2 4 3 ≥ − − − x x Dari Langkah 1 diperoleh 10 2 11 = f , 10 6 12 = f dan 10 8 10 = f Maka persamaan pembatas sekunder yang baru adalah 10 8 10 6 10 2 4 3 5 ≥ − − − − − = x x x 45 Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel simpleks. Tabel 3.6. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 1 1 4 x − 3 x − x 10 112 − 10 11 10 7 2 x 3 x 4 x 10 18 10 8 10 4 − 10 2 10 1 0 -1 -1 0 5 x 10 8 − 10 6 − 10 2 − Langkah 4 :Mencari baris pivot Dari tabel koefisien 10 8 50 − = a pada baris kelima, maka baris kelima menjadi baris pivot Langkah 5 : Mencari kolom pivot Dari tabel pada kolom pertama dilihat nilai R terkecil, yakni 6 11 10 6 10 11 51 01 = − = a a 1 x 10 3 − 46 Langkah 6 : Menggantikan variabel nonbasis 4 x pada kolom pivot dengan variabel 5 x . Langkah 7 : Melakukan operasi kolom Tabel 3.7. Tabel Setelah Dilakukan Operasi kolom Pada Iterasi 1 1 5 x − 3 x − x 6 76 − 6 11 6 2 2 x 3 x 4 x 5 x 6 14 6 4 6 8 6 4 − 6 2 6 1 6 2 − 0 -1 6 10 − 6 2 -1 0 Langkah 8 : Karena nilai 6 14 1 = x dan 6 4 2 = x yang nilainya belum berupa bilangan bulat maka di lanjutkan ke Langkah 1. ITERASI 2 Langkah 1 : Memilih baris sumber Untuk 6 14 1 = x diperoleh 6 2 2 6 14 6 14 6 14 10 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = f 1 x 47 Untuk 6 4 2 = x diperoleh 6 4 6 4 6 4 6 4 20 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = f = f maks { } = 20 10 , f f maks ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ 6 4 , 6 2 = 6 4 Jadi baris kedua pada persamaan 2 x terpilih sebagai baris sumber Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder Pada tabel untuk baris kedua dapat dinyatakan sebagai berikut 6 4 6 1 6 2 5 3 ≥ − + − − x x Sehingga diperoleh [ ] 6 1 6 1 6 1 6 1 22 21 21 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = − = a a f dan [ ] 6 4 1 6 2 6 2 6 2 22 22 22 = − − − = ⎥⎦ ⎤ ⎢⎣ ⎡− − − = − = a a f Dari langkah sebelumnya didapat 6 4 20 = f Maka persamaan pembatas sekunder yang baru adalah 6 4 6 1 6 4 5 3 6 ≥ − − − − − = x x x Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel simpleks. 48 Tabel 3.8. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 2 1 5 x − 3 x − x 6 76 − 6 11 6 2 2 x 3 x 4 x 5 x 6 x 6 14 6 4 6 8 6 4 − 6 4 − 6 2 6 1 6 2 − 0 -1 6 10 − 6 2 -1 0 6 1 − 6 4 − Langkah 4 :Mencari baris pivot Dari tabel, koefisien 6 4 60 − = a pada baris keenam, maka baris keenam dipilih sebagai baris pivot. Langkah 5 : Mencari kolom pivot Dari tabel, pada kolom kedua dilihat nilai R terkecil, yakni 4 2 6 4 6 2 62 02 = − = a c Langkah 6 : Menggantikan variabel non basis pada kolom pivot dengan variabel 6 x . 1 x 49 Langkah 7 : Melakukan operasi kolom Tabel 3.9. Tabel Setelah Dilakukan Operasi kolom Pada Iterasi 2 1 5 x − 6 x − x 13 − 4 7 4 2 1 x 2 x 3 x 4 x 5 x 6 x 2 1 1 1 4 3 − 4 2 4 1 4 2 − 4 1 4 6 − 4 7 − 4 2 -1 0 0 -1 Langkah 8 : karena nilai v a sudah berupa bilangan bulat maka tabel sudah optimum dengan nilai 2 1 , x x = 1 , 2 dengn nilai optimum= -13 Pada masalah program linear bilangan bulat dalam bentuk dualnya dapat diurakan bahwa kendala awal dengan variabel awal 1 x dan 2 x adalah 5 4 2 1 − ≤ − − x x atau 2 1 3 4 5 x x x + + − = 7 2 3 2 1 − ≤ − − x x atau 2 1 4 2 3 7 x x x + + − = 50 Kendala bidang pemotong yang didapat pada perhitungan diatas adalah i 4 3 5 10 6 10 2 10 8 x x x − − − − − = 4 3 5 10 6 10 2 10 8 x x x + + − = 2 1 2 1 5 2 3 7 10 6 4 5 10 2 10 8 x x x x x + + − + + + − + − = 2 1 2 1 5 10 12 10 18 10 42 10 8 10 2 10 10 10 8 x x x x x + + − + + − − = 2 1 5 2 2 6 x x x + + − = ii 5 3 6 6 1 6 4 6 4 x x x − − − − − = 5 3 6 6 1 6 4 6 4 x x x + + − = 2 1 2 1 6 2 2 6 6 1 4 5 6 4 6 4 x x x x x + + − + + + − + − = 2 1 2 1 6 6 2 6 2 6 6 6 16 6 4 6 20 6 4 x x x x x + + − + + − − = 2 1 6 3 5 x x x + + − = 51 Dari kendala awal dan kendala tambahan dapat digambarkan dengan grafik. 1 2 3 4 5 1 2 3 4 • • • • • • • • • 1 x 2 x 3 x 4 x 5 x 6 x • Gambar 3.2. Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional Dual Sifat tambahan tentang pembatas sekunder, yakni tabel yang sudah optimum bila diselesaikan kembali dengan metode bidang pemotong yang menggunakan metode simpleks dual akan diperoleh tabel optimum yang bernilai bilangan bulat, yakni semua nilai-nilai di dalam tabel akan berupa bilangan bulat tanpa mengubah nilai optimum dari penyelesaian optimum tersebut. Akan diperlihatkan bahwa suatu pembatas sekunder sama dengan pertaksamaan dalam variabel nonbasis. Diasumsikan tabel awal berpa bilangan bulat. Teorema 3.1 Setiap pembatas sekunder pada persamaan 3.17 akan menjadi pertaksamaan yang semua variabelnya bernilai bilangan bulat bila dinyatakan dalam suku-suku yang memuat variabel nonbasis pada iterasi sebelumnya. 52 Bukti : Misalkan baris untuk persamaan pertama menjadi j J n j vj v v x a a x − + = ∑ =1 maka pembatas sekunder yang dihasilkan adalah sebagai berikut j J n j vj v m n x f f x − − − = ∑ = + + 1 1 dengan [ ] vj vj vj a a f − = atau [ ] vj vj vj a a f − = − , n j , , 1 , 0 K = maka j J n j vj v m n x f f x − − − = ∑ = + + 1 1 [ ] [ ] ∑ = − − − − = n j j J vj vj v v x a a a a 1 [ ] [ ] ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ − + − ⎭ ⎬ ⎫ ⎩ ⎨ ⎧ − + = ∑ ∑ = = n j j J vj v n j j J vj v x a a x a a 1 1 Sekarang setiap variabel nonbasis j J x adalah suatu variabel nonbasis ataupun variabel basis pada masalah awal. Pada kasus sebelumnya diketahui g j J x x = untuk suatu n g , , 2 , 1 K = dan pada kasus selanjutnya persamaan j n j j i n i n j J x a a x − + = ∑ = + + 1 , , untuk suatu m i , , 2 , 1 K = . Meskipun begitu koefisien pada persamaan terakhir semuanya berupa bilangan bulat karena data awal dari masalah program linear bilangan bulat berupa bilangan bulat maka koefisiennya juga akan berupa bilangan bulat . Oleh karena itu j J x dapat ditulis sebagai suatu kombinasi linear dari . , , 1 n x x K Jadi suku pada ruas kanan dalam tanda kurung pertama adalah suatu bilangan bulat bila dituliskan dalam suku-suku . , , 1 n x x K 53 Suku pada ruas kanan dalam tanda kurung kedua sama dengan v x . Variabel ini juga sebuah variabel nonbasis maupun sebagai kombinasi linear dari variabel nonbasis . , , 1 n x x K Oleh karena itu 1 1 ≥ − − − = ∑ = + + j J n j vj v m n x f f x menjadi pertaksamaan yang berupa bilangan bulat bila dinyatakan dalam suku-suku dari variabel nonbasis. ■ Akan diperlihatkan dari contoh 3.1 bahwa masalah program linear bilangan bulat yang sudah diperoleh penyelesaian optimum dapat dikerjakan kembali dengan metode bidang pemotong yang menggunakan metode simpleks dual sehingga diperoleh tabel optimum yang semua nilai-nilai dalam tabel berupa bilangan bulat tanpa mengubah nilai optimum dari penyelesaian optimum dari tabel 3.9. Dari iterasi kedua tabel 3.9 sudah ditemukan penyelesaian optimum. Maka contoh soal 3.1 diselesaikan kembali dengan uraian sebagai berikut : ITERASI 1 Langkah 1 : Memilih baris sumber Baris sumber yang akan diambil adalah baris ke-nol karena nilai 13 00 − = a dan memiliki nilai 00 = f Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder Pada tabel sebelumnya, untuk baris ke-nol dapat dinyatakan sebagai 13 4 2 4 7 6 5 − ≥ − + − x x 54 Sehingga diperoleh 4 3 1 4 7 4 7 4 7 01 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = f , 4 2 4 2 4 2 4 2 02 = − = ⎥⎦ ⎤ ⎢⎣ ⎡ − = f dan 0 00 = f . Maka persamaan pembatas sekunder yang baru adalah 4 2 4 7 6 5 7 ≥ − − − − = x x x Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel simpleks. Tabel 3.10. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 3 1 5 x − 6 x − x 13 − 4 7 4 2 1 x 2 x 3 x 4 x 5 x 6 x 2 1 1 1 4 3 − 4 2 4 1 4 2 − 4 1 4 6 − 4 7 − 4 2 -1 0 0 -1 7 x 4 3 − 4 2 − Langkah 4 :Mencari baris pivot 55 Dari tabel koefisien 70 = a pada baris ketujuh, maka baris ketujuh dipilih sebagai baris pivot. Langkah 5 : Mencari kolom pivot Dari tabel, pada kolom kedua dilihat nilai R terkecil yakni 1 4 2 4 2 72 02 = − = a c Langkah 6 : Menggantikan variabel non basis pada kolom pivot dengan variabel 7 x . Langkah 7 : Melakukan operasi kolom Tabel 3.11. Tabel Setelah Dilakukan Operasi kolom Pada Iterasi 3 1 5 x − 7 x − x 13 − 1 1 1 x x 2 3 x 4 x x 5 6 x 7 x 2 1 1 1 2 3 − 1 1 -1 2 5 3 − 2 5 − 1 -1 0 2 3 -2 0 -1 56 Langkah 8 : karena belum semua nilai berupa bilangan bulat maka kembali ke Langkah 1 ITERASI 2 Langkah 1 : Memilih baris sumber Sekarang yang diambil untuk baris sumber adalah baris pertama yakni 2 10 = a dan memiliki nilai 10 = f Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder Pada tabel sebelumnya, untuk baris pertama dapat dinyatakan sebagai 2 1 2 3 7 5 ≥ − + − − x x sehingga diperoleh 2 1 2 2 3 2 3 2 3 01 = − − − = ⎥⎦ ⎤ ⎢⎣ ⎡− − − = f dan 02 = f dengan 00 = f Maka persamaan pembatas sekunder yang baru adalah 2 1 6 5 8 ≥ − + − − = x x x Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel simpleks. 57 Tabel 3.12. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 4 1 5 x − 7 x − x 13 − 1 1 1 x x 2 3 x 4 x x 5 6 x 7 x 2 1 1 1 2 3 − 1 1 -1 2 5 3 − 2 5 − 1 -1 0 2 3 -2 0 -1 8 x 2 1 − 0 Langkah 4 : Mencari baris pivot Dari tabel, koefisien 80 = a pada baris kedelapan, maka baris kedelapan dipilih sebagai baris pivot. Langkah 5 : Mencari kolom pivot Dari tabel, pada kolom kesatu dilihat nilai R terkecil yakni 2 2 1 1 81 01 = − = a c 58 Langkah 6 : Variabel 8 x akan menggantikan variabel non basis pada kolom pivot. Langkah 7 : Melakukan operasi kolom Tabel 3.13. Hasil setelah dilakukan operasi kolom pada iterasi 4 1 8 x − 7 x − x 13 − 2 1 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 2 1 1 1 -3 1 2 -1 5 3 − -5 1 -2 0 3 -2 0 -1 -1 0 Langkah 8 : karena nilai-nilainya dalam tabel sudah berupa bilangan bulat, maka telah diperoleh penyelesaian optimum masalah program linear bilangan bulat fraksional dual dengan nilai , = 2,1 dengan nilai optimum = -13 59 Program linear bilangan bulat fraksional dual memiliki banyak kelemahan. Dalam menyelesaikan masalah program linear bilangan bulat, perhitungan dilakukan dalam dua tahap yang sangat rumit, yaitu menggunakan metode simpleks dual. Setelah ditemukan penyelesaian optimum harus dilihat dahulu apakah sudah memenuhi penyelesaian optimum bilangan bulat atau belum. Jika belum berupa bilangan bulat maka tabel harus diselesaikan kembali menggunakan metode bidang pemotong sampai ditemukan penyelesaian optimum bilangan bulat, yakni nilai variabelnya berupa bilangan bulat. Lalu pada tahun 1960 Ralph Gomory memperbaiki metode bidang pemotong tersebut, yakni menjadi masalah program linear bilangan bulat dual. 60

BAB IV PROGRAM LINEAR BILANGAN BULAT DUAL

A. Masalah Program linear Bilangan Bulat Dual Dengan Metode Bidang

Pemotong Untuk mencari penyelesaian pada masalah program linear bilangan bulat akan digunakan metode bidang pemotong, yakni dengan menambahkan kendala bidang pemotong. Berikut akan diuraikan bagaimana cara menentukan bentuk kendala bidang pemotong. Jika variabel basis i x pada sembarang persamaan ke-i yang merupakan bilangan bulat maka variabel tersebut dapat dinyatakan sebagai : n in i i i i x a x a x a a x − + + − + − + = K 2 2 1 1 atau ∑ = − + = n j j J ij i i x a a x 1 4.1 dengan j J adalah elemen ke j di dalam J =1,2,…,n, dan 0 i a maka baris tersebut disebut sebagai baris sumber. Jika tidak ada maka tabel simpleks sudah optimum. Misalkan a sembarang bilangan dan λ adalah sebuah bilangan positif. Bentuk ⎥⎦ ⎤ ⎢⎣ ⎡ − = λ λ a a f 4.2