Metode Simpleks Direvisi Penyelesaian masalah pemotongan rol kertas dengan metode penghasil kolom.

Untuk menentukan variabel keluar, maka variabel masuk dinaikan sebesar � dari nol sampai suatu nilai positif. Nilai variabel dasar berubah sampai nilai variabel turun ke nol meninggalkan basis. Pada persamaan = ∗ − − � � , berubah dari ∗ menjadi ∗ − � dengan merupakan kolom − � yang bersesuaian dengan variabel masuk atau dapat dituliskan = − . Jika terdapat elemen yang memenuhi ∗ − � = maka variabel tersebut menjadi variabel keluar. Berikut iterasi dari metode simpleks direvisi yaitu sebagai berikut. 1. Selesaikan sistem = dimana adalah matriks basis awal, sehingga ditemukan vektor . 2. Tentukan kolom yang masuk, yaitu jika variabel tidak dasar berhubungan dengan elemen dari � dan kolom dari � , maka � − � = − . Untuk masalah maksimum minimum, kolom dipilih yang memiliki − paling positif negatif. Untuk masalah maksimum minimum jika semua elemen − − , maka tidak terdapat kolom masuk dan iterasi berhenti sehingga didapatkan solusi optimal. Jika tidak, maka lanjut ke langkah 3. 3. Selesaikan sistem = , sehingga didapat vektor . 4. Tentukan kenaikan nilai � terbesar dari nol sampai suatu nilai positif dengan cara mencari nilai paling minimum dari ∗ sedemikian hingga ∗ − � . Jika tidak terdapat nilai � atau terdapat elemen di , maka solusi optimal PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI tak terbatas atau tidak memiliki penyelesaian. Jika terdapat elemen yang memenuhi ∗ − � = maka kolom tersebut menjadi kolom keluar. 5. Menukar kolom keluar dari dengan kolom masuk dan tukar variabel keluar dengan variabel masuk. Lalu kembali pada langkah 1 sampai solusi optimal diperoleh. Berikut diagram alir metode simpleks direvisi. Awal Akhir Tidak Tidak terdapat penyelesaian Tidak Menyelesaikan sistem = − . Menyelesaikan sistem = − Apakah terdapat kenaikan nilai t terbesar sedemikian hingga ∗ − � 0? Terdapat suatu komponen ∗ − � = 0 yang berkorespondensi dengan kolom keluar. Didapat nilai B dan ∗ dengan menggantikan kolom keluar dengan kolom masuk. Solusi optimal dan didapat nilai B dan ∗ yang baru Ya Ya Menentukan nilai awal B dan ∗ Tidak terdapat kolom masuk Terdapat kolom masuk Mencari vektor a kolom masuk yaitu elemen paling positif dari � − � . Apakah semua elemen � − � 0? Gambar 2.1 : Diagram alir metode simpleks direvisi Contoh 2.2 Misalkan diberikan masalah program linear berikut. Maksimumkan = + + + Dengan kendala + + + + + + + + + , , , Ketiga kendala tersebut kemudian diubah ke dalam bentuk persamaan. + + + + = + + + + = + + + + = Dimana , dan adalah variabel pengetat. Sehingga persamaan di atas dapat dituliskan dalam bentuk matriks = dengan = [ ], = [ ], dan = [ ] . Setelah iterasi kedua dengan metode simpleks didapatkan kamus berikut. = − , − , − , + , = − , − , + , − , = + , − , + , + , = − , + , − , − , Untuk menekankan fakta bahwa hanya variabel dasar , dan yang tidak diketahui, maka dapat ditulis seperti persamaan 2.17 dimana = [ ], � = [ ], = [ ], � = [ ], = [ ], � = [ ], dan = [ ]. Dengan menggunakan metode simpleks direvisi, penyelesaian dari masalah program linear tersebut yaitu: Pertama, menentukan matriks awal yaitu matriks dan vektor ∗ = [ ∗ � ∗ � ∗ ] = [ ], kemudian mulai iterasi. Iterasi 1: 1. Menyelesaikan sistem = sehingga diperoleh vektor = [ , , ]. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2. Tentukan kolom yang masuk dengan menyelesaikan � − � = − yaitu sebagai berikut [ ] − [ , , ] [ ] = [ − , , − , − , ] Dari hasil tersebut terlihat bahwa terdapat satu elemen yang memenuhi − yaitu elemen kedua yang berkaitan dengan variabel . Jadi, variabel adalah variabel masuk dan vektor kolom dari variabel yang terkait merupakan kolom masuk. 3. Selesaikan sistem = , sehingga didapat vektor = [ , , , ]. 4. Didapatkan nilai � = sedemikian hingga ∗ − � dan terdapat 1 komponen dari ∗ − � = yaitu variabel yang menjadi variabel keluar. 5. Didapat matriks awal yang baru dengan menukar kolom masuk dengan kolom keluar yaitu = [ ] dan vektor ∗ = [ ]. Iterasi 2: 1. Menyelesaikan sistem = sehingga diperoleh vektor = [ ]. 2. Tentukan kolom yang masuk dengan menyelesaikan � − � = − yaitu sebagai berikut [ ] − [ ] [ ] = [ − − − − ] Dari hasil tersebut terlihat bahwa semua elemen memenuhi − . Jadi, tidak terdapat kolom masuk dan iterasi berhenti sehingga didapatkan solusi optimal yaitu = [ ] dan ∗ = [ ].

C. Program Linear Bilangan Bulat

Pada program linear, solusi dapat berupa pecahan dan bilangan bulat. Namun untuk kasus tertentu solusi mengharuskan untuk berupa bilangan bulat. Contohnya pada masalah transportasi, masalah Knapsack, masalah penjadwalan, masalah pengiriman barang, dan masalah pemotongan persediaan. Program linear dengan solusi bilangan bulat inilah yang disebut sebagai program linear bilangan bulat. Program linear bilangan bulat terdiri dari dua macam yaitu program linear bilangan bulat murni dan program linear bilangan bulat campuran. Program linear bilangan bulat dikatakan program bilangan bulat murni jika semua variabel adalah bilangan bulat. Sedangkan jika sebagian variabelnya bukan bilangan bulat atau sebagian bilangan real maka dapat dikatakan program linear bilangan bulat campuran. Terdapat dua metode untuk menyelesaikan program linear bilangan bulat yaitu metode pemotongan bidang, dan metode pencabangan dan pembatasan. Pada skripsi ini akan dibahas metode pencabangan dan pembatasan untuk menyelesaikan masalah porgram linear bilangan bulat murni. Metode Pencabangan dan Pembatasan Branch and Bound Method Metode pencabangan dan pembatasan adalah suatu metode untuk menyelesaikan persoalan program linear bilangan bulat murni dan persoalan program linear bilangan bulat campuran. Metode ini diusulkan pertama kali oleh A. H. Land dan A. G. Doig pada tahun 1960. Metode ini dilakukan dengan melakukan perhitungan satu persatu atau mengenumerasi semua nilai variabelnya melalui pencabangan. Dengan mengenumerasi semua variabel tersebut, maka diperoleh suatu solusi optimal, yaitu solusi yang meminimumkan atau memaksimumkan fungsi tujuannya. Metode pencabangan dan pembatasan merupakan suatu pendekatan untuk menyelesaikan persoalan yang didasarkan pada pembagian semua solusi layak terhadap sebuah masalah ke dalam sub-masalah yang lebih kecil. Selanjutnya, sub- masalah ini dapat diselesaikan secara sistematis sampai diperoleh solusi optimal. Cara inilah yang kemudian menjadi dasar metode pencabangan dan pembatasan. Dalam menyelesaikan program linear bilangan bulat menggunakan pencabangan dan pembatasan terdapat 3 langkah utama, yaitu: 1. Pencabangan Pencabangan dilakukan ketika solusi belum berbentuk bilangan bulat yaitu dengan memecah masalah program linear awal � menjadi dua bagian yaitu � dan � dengan menambahkan kendala baru. Dalam pencabangan, kendala yang ditambahkan merupakan pembulatan ke atas dan pembulatan ke bawah dari solusi yang masih berbentuk pecahan. Sehingga dari pencabangan tersebut dihasilkan 2 sub-masalah baru, yaitu: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI a. � = � + , dimana adalah pembulatan ke bawah dari solusi program linear berbentuk pecahan. b. � = � + , dimana adalah pembulatan ke atas dari solusi program linear berbentuk pecahan. Proses ini terus berlangsung sampai diperoleh solusi bilangan bulat untuk pertama kalinya. 2. Pembatasan Pembatasan dilakukan setelah proses pencabangan. Langkah ini untuk membatasi solusi agar didapatkan solusi optimal. Terdapat dua batas pada metode ini yaitu batas bawah dan batas atas. Batas bawah digunakan untuk menyelesaikan masalah maksimum. Jika � menghasilkan solusi bilangan bulat yang lebih baik atau lebih besar dari batas bawah, maka perbarui batas bawah dengan solusi tersebut. Jika tidak, maka solusi diabaikan dan memilih sub-masalah baru lalu mengulangi terus sampai semua sub-masalah diteliti dan diperoleh solusi optimal yaitu batas bawah terakhir. Sedangkan untuk batas atas digunakan untuk menyelesaikan masalah minimum. Jika � menghasilkan solusi bilangan bulat yang lebih baik atau lebih kecil dari batas atas, maka perbarui batas atas dengan solusi tersebut. Jika tidak, maka solusi diabaikan dan memilih sub-masalah baru lalu mengulangi terus sampai semua sub-masalah diteliti dan diperoleh solusi optimal yaitu batas atas terakhir. 3. Penghentian cabang Penghentian cabang dilakukan jika: a. Sub-masalah tidak memiliki daerah layak, PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI b. Sub-masalah menghasilkan semua variabel keputusan bernilai bulat, dan c. Pada masalah maksimasi, fungsi tujuan tidak lebih besar atau sama dengan nilai batas bawah. Sebaliknya, pada masalah minimisasi, fungsi tujuan tidak lebih kecil atau sama dengan nilai batas atas. Berikut langkah-langkah metode pencabangan dan pembatasan untuk menyelesaikan program linear dengan solusi bilangan bulat: 1. Menyelesaikan masalah program linear sampai menghasilkan solusi optimum. Apabila solusi berbentuk bilangan bulat, maka perhitungan dihentikan. Sebaliknya, jika solusi berbentuk bilangan pecahan maka perhitungan dilanjutkan. 2. Kemudian menambah kendala baru yang membatasi nilai salah satu variabel yang tidak bulat. 3. Penambahan ini akan berakibat terbelahnya daerah layak menjadi 2 bagian sehingga terbentuklah 2 sub-masalah baru yang kemudian harus diselesaikan. Dengan kata lain, terjadi pencabangan dari masalah aslinya menjadi 2 sub- masalah baru. 4. Batas untuk nilai fungsi tujuan kemudian dapat ditentukan. Batas ini dapat digunakan untuk mengeliminasi sub-masalah yang tidak diperlukan dan menentukan apakah solusi optimalnya sudah tercapai. 5. Jika solusi berbentuk bukan bilangan bulat, maka kembali ke langkah 2. Jika solusi berbentuk bilangan bulat, maka kembali ke langkah 4. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 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