dengan karakter tanah dan meminimumkan total biaya produksi pupuk. 1.2 Tujuan Tujuan dari karya ilmiah ini adalah menunjukkan peranan ILP dalam penentuan pupuk yang mengandung nutrisi sesuai II LANDASAN TEORI Dalam bab ini diberikan beberapa definisi dan teori tentang pemodelan seperti linear programming (LP), integer linear programming (ILP), dan metode branch and bound untuk menyelesaikan masalah integer programming. Berikut ini akan dibahas satu persatu. 2.1 Linear Programming tindakan untuk LP merupakan memperoleh hasil yang optimal dari tujuan yang diinginkan terhadap kendala yang ada. Model LP merupakan pengoptimuman suatu fungsi linear terhadap kendala linear. Pada karya ilmiah ini, suatu LP mempunyai bentuk standar seperti yang didefinisikan sebagai berikut: Definisi 1 (Bentuk standar suatu LP) Suatu linear programming didefinisikan mempunyai bentuk standar: Minimumkan fungsi objektif z = cTx Terhadap Ax = b x≥0 dengan b ≥ 0 …(1) dengan x dan c berupa vektor berukuran n, vektor b berukuran m, sedangkan A berupa matriks berukuran m × n yang disebut juga matriks kendala. (Nash & Sofer, 1996) Solusi LP Metode simpleks merupakan salah satu metode yang dapat digunakan untuk menentukan solusi optimum suatu masalah LP. Metode ini mulai dikembangkan oleh Dantzig tahun 1947. Dalam perkembangannya, metode ini adalah metode yang paling umum digunakan untuk menyelesaikan masalah LP, yaitu berupa metode iteratif untuk menyelesaikan masalah LP dalam bentuk standar. Definisi 2 (Solusi Fisibel) Suatu solusi disebut fisibel jika memenuhi semua kendala pada LP. (Nash & Sofer, 1996) Definisi 3 (Daerah Fisibel atau Himpunan Fisibel) Daerah fisibel atau himpunan fisibel adalah himpunan dari semua solusi fisibel. (Nash & Sofer, 1996) Misalkan matriks A dapat dinyatakan sebagai A = ( B N ), dengan B adalah matriks berukuran m × m yang elemennya berupa koefisien variabel basis dan N adalah matriks berukuran m × ( n − m ) yang elemennya berupa koefisien variabel nonbasis pada matriks kendala. Matriks B disebut matriks basis untuk LP (1). Berikut definisi matriks basis: Definisi 4 (Matriks Basis) Matriks B disebut matriks basis untuk LP (1) jika B adalah matriks tak singular, yaitu matriks yang determinannya tidak sama dengan nol. (Garfinkel & Nemhauser, 1972) Jika vektor x dapat dinyatakan sebagai vektor ⎛ xB ⎞ x = ⎜ ⎟ dengan xB adalah vektor variabel ⎝ xN ⎠ basis dan xN adalah vektor variabel nonbasis, maka Ax = b dapat dinyatakan sebagai ⎛ xB ⎞ Ax = ( B N ) ⎜ ⎟ …(2) ⎝ xN ⎠ = BxB + NxN = b Karena B adalah matriks tak singular, maka B memiliki invers, sehingga dari (2) xB dapat dinyatakan sebagai −1 −1 x B = B b − B Nx N …(3) Definisi 5 (Solusi Basis) Vektor x disebut solusi basis jika: i. x memenuhi kendala persamaan Ax = b dari LP. ii. Kolom-kolom dari matriks koefisien yang berpadanan dengan komponen tak nol dari x adalah bebas linear. (Nash & Sofer, 1996) Definisi 6 (Solusi Fisibel Basis) Vektor x disebut solusi fisibel basis jika x merupakan solusi basis dan x ≥ 0 . (Nash & Sofer, 1996) Ilustrasi solusi basis dan solusi fisibel basis dapat dilihat dalam contoh berikut : Contoh 1 Misalkan diberikan LP berikut: Minimumkan z = −2 x1 − 3 x2 Definisi 7 (Linear Programming-Relaksasi) LP-Relaksasi dari suatu IP merupakan LP yang diperoleh dari IP tersebut dengan menghilangkan kendala integer atau kendala 0-1 pada variabelnya. (Winston, 1995) Metode Branch and Bound untuk Menyelesaikan Masalah IP Prinsip dasar metode branch and bound adalah memecah daerah fisibel dari masalah LP-relaksasi dengan membuat subproblemsubproblem. terhadap : −2 x1 + x2 + x3 = 4, − x1 + 2 x2 + x4 = 11, x1 + x5 = 5, x1 , x2 , x3 , x4 , x5 ≥ 0 Integer Linear Programming Model ILP atau disebut juga Integer Programming (IP), adalah suatu model LP yang menggunakan bilangan bulat (integer) sebagai variabel keputusan. Jika semua variabel harus berupa integer, maka masalah tersebut disebut pure integer programming. Jika hanya sebagian yang harus integer, maka disebut mixed integer programming. IP dengan semua variabelnya harus bernilai 0 atau 1 disebut 0-1 IP. (Garfinkel & Nemhauser, 1972) …(4) • Dari LP tersebut didapatkan: ⎛ −2 1 1 0 0 ⎞ ⎛4⎞ ⎜ ⎟ A = −1 2 0 1 0 , b = ⎜11⎟ ⎜ ⎟ ⎜ ⎟ ⎝ 1 0 0 0 1⎠ ⎝5⎠ maka matriks basisnya adalah ⎛ 1 0 0⎞ B = ⎜ 0 1 0⎟ . ⎜ ⎟ ⎝ 0 0 1⎠ Branch Dalam tahap ini daerah solusi dipartisikan ke dalam beberapa subproblem. Tujuannya untuk menghapus daerah solusi yang tidak fisibel. Hal ini dicapai dengan menentukan kendala yang penting untuk menghasilkan solusi IP sehingga secara tidak langsung titik integer yang tidak fisibel terhapus. Dengan kata lain, hasil pengumpulan dari subproblemsubproblem yang lengkap menunjukkan setiap titik integer yang fisibel dari masalah asli. Karena sifat alami partisi itu, maka proses tersebut dinamakan branching. Dengan menggunakan matriks basis tersebut, diperoleh • Misalkan dipilih xB = ( x3 xN = ( 0 x4 x5 ) dan xN = ( x1 T 0) , x2 ) T T xB = B −1b = ( 4 11 5 ) . T …(5) Solusi (5) merupakan solusi basis karena solusi tersebut memenuhi kendala pada LP (4) dan kolom-kolom pada matriks kendala yang berpadanan dengan komponen taknol dari (5) yaitu B adalah bebas linear (kolom yang satu bukan merupakan kelipatan dari kolom yang lain). Solusi (5) juga merupakan solusi fisibel basis karena nilai-nilai variabelnya lebih dari atau sama dengan nol. Bound Misalkan masalahnya diasumsikan merupakan tipe maksimisasi. Nilai objektif yang optimal untuk setiap subproblem dibuat dengan membatasi pencabangan dengan batas atas dari nilai objektif yang dihubungkan dengan sembarang nilai integer yang fisibel. Hal ini sangat penting untuk mengatur dan menempatkan solusi optimum. Operasi ini yang menjadi alasan dinamakan Bounding. (Taha, 1975) Aspek kunci dari metode branch and bound adalah sebagai berikut: Langkah 1: Periksa apakah IP memenuhi kondisi berikut: 1) Subproblem tidak fisibel. 2) Subproblem menghasilkan solusi optimal dengan semua variabel bernilai integer. 3) Nilai optimal untuk subproblem lebih kecil dari (dalam masalah memaksimumkan) batas bawah (lower bound/LB). Jika ketiga kondisi tersebut terpenuhi maka cabang subproblem tidak diperlukan. Langkah 2: Sebuah subproblem mungkin dapat dihapuskan dari pertimbangan dengan kondisi sebagai berikut: 1) Subproblem tidak fisibel. 2) Batas bawah (yang menunjukkan nilai optimal dari kandidat terbaik) setidaknya lebih besar dari nilai optimal subproblem. (Winston, 1995) variabel yang tidak memenuhi kendala integer. Karena nilai dari kedua variabel yang diperoleh bukan integer, maka dipilih salah satu variabel untuk dasar pencabangan. Misalkan dipilih x1 = 1,8 sebagai dasar pencabangan. Dengan memilih diketahui bahwa daerah (1 < x1 x1 = 1,8 , < 2) dari daerah fisibel subproblem 1 tidak akan memuat solusi IP (6) yang fisibel karena tidak memenuhi kendala integer. Subproblem yang baru adalah sebagai berikut : • Subproblem 2 : Subproblem 1 + kendala ( x1 ≥ 2) , • Subproblem 3 : Subproblem 1 + kendala ( x1 ≤ 1) . Daerah fisibel untuk subproblem 2 dan subproblem 3 diberikan pada gambar berikut: Contoh 2 Misalkan diberikan IP berikut : Maksimumkan z = 4 x1 + 5 x2 Terhadap : x1 + 4 x2 ≤ 5 3 x1 + 2 x2 ≤ 7 …(6) x1 , x2 ≥ 0 dan integer Daerah fisibel untuk masalah IP diatas diberikan pada gambar berikut : Subproblem 2 dan subproblem 3 tidak dapat diselesaikan secara bersamaan, sehingga harus diselesaikan dengan dua masalah linear programming yang berbeda. Pada subproblem 3 diperoleh solusi x1 = 1 , x2 = 1 , dan z = 9. Karena semua variabel bernilai integer, maka tidak perlu membuat subproblem baru dan solusi ini merupakan kandidat solusi. Pada subproblem 2 diperoleh solusi x1 = 2 , x2 = 0, 5 , dan z = 10,5. Karena variabelnya Metode branch and bound dimulai dengan menentukan solusi LP-relaksasi (subproblem 1). Solusi LP-relaksasi untuk masalah diatas x1 = 1, 8, x2 = 0, 8, dan z = 11, 4. adalah Solusi tersebut tidak memenuhi kendala integer. Oleh karena itu, harus dibuat subproblem yang baru dengan memilih tidak memenuhi kendala integer, maka harus dibuat subproblem baru. Dipilih pencabangan pada subproblem 2 atas x2 , sehingga diperoleh dua subproblem lagi, yakni : • Subproblem 4 : Subproblem 2 + kendala ( x2 ≥ 1) , • Subproblem 5 : Subproblem 2 + kendala ( x2 ≤ 0 ) . Pada subproblem 5 diperoleh solusi x1 = 2, 33 , x2 = 0 , dan z = 9,32. Sedangkan pada subproblem 4 diperoleh solusi takfisibel. Karena variabel pada subproblem 5 masih tidak memenuhi kendala integer, maka harus dibuat subproblem baru. Seluruh Subproblem untuk masalah IP (6) diatas diberikan pada gambar berikut Subproblem 1 x1 = 1,8, x2 = 0,8, dan z = 11,4 Subproblem 3* x1 =1, x2 = 1, dan z = 9 Subproblem 2 x1 =2, x2 = 0,5, dan z = 10,5 Subproblem 4 Solusi tak fisibel Subproblem 5 x1 = 2,33, x2 = 0, dan z = 9,32 Subproblem 7 x1 = 2, x2 = 0, dan z = 8 Subproblem 6 Solusi tak fisibel Gambar 3 Seluruh pencabangan pada metode branch and bound untuk menentukan solusi IP (6) Pada Gambar 3, subproblem 3 merupakan kandidat awal karena semua variabelnya bernilai integer . Setelah dilakukan pencabangan hingga subproblem 5 dan subproblem 7, tidak diperoleh kandidat solusi yang lebih baik. Nilai fungsi objektif subproblem 5 dan subproblem 7 tidak lebih besar dari nilai fungsi objektif subproblem 3. Oleh karena itu, z = 9 merupakan solusi optimal untuk masalah IP di atas. Solusi lengkapnya dapat dilihat pada Lampiran 1. III PEMODELAN Para petani membutuhkan pupuk agar tanaman tetap subur. Pupuk yang dibutuhkan oleh petani sangat dipengaruhi oleh karakter tanah wilayahnya. Untuk menentukan penggunaan pupuk yang baik, para petani harus menyesuaikan kandungan pupuk dengan karakter lahan pertaniannya. Para produsen berusaha bersaing memenuhi permintaan petani dengan menentukan pupuk yang mengandung nutrisi sesuai dengan karakter tanah yang dimiliki oleh para petani. Para produsen memproduksi berbagai jenis pupuk yang dapat dipilih oleh petani sesuai dengan karakter tanah yang dimiliki.