Integer Linear Programming ILP Metode Branch and Bound untuk

Misalkan matriks A dapat dinyatakan sebagai A = B N , dengan B adalah matriks yang elemennya berupa koefisien variabel basis dan N merupakan matriks yang elemennya berupa koefisien variabel nonbasis pada matriks kendala. Matriks B disebut matriks basis untuk LP 1. Berikut definisi matriks Basis : Definisi 3 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 xN ⎛ ⎞ = ⎜ ⎟ ⎝ ⎠ dengan x B adalah vektor variabel basis dan x N adalah vektor variabel nonbasis, maka Ax=b dapat dinyatakan sebagai xB Ax B N xN Bx Nx b B N ⎛ ⎞ = ⎜ ⎟ ⎝ ⎠ = + = …2 Karena B adalah matriks tak singular, maka B memiliki invers, sehingga dari 2 x B dapat dinyatakan sebagai 1 1 x B b B NxN b − − = − …3 Definisi 4 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 5 Solusi Fisibel Basis Vektor x disebut solusi fisibel basis jika x merupakan solusi basis dan x ≥ . [Nash Sofer, 1996] Ilustrasi solusi basis dan solusi fisibel basis dapat dilihat dalam contoh berikut : Contoh 1 Misalkan diberikan LP berikut: Minimumkan 2 3 1 2 z x x = − − terhadap : 2 4 1 2 3 x x x − + + = 2 11 1 2 4 x x x − + + = 5 5 1 x x + = , , , , 5 1 2 3 4 x x x x x ≥ …4 Dari LP tersebut didapatkan : 2 1 1 0 0 4 1 2 0 1 0 , 11 1 0 0 0 1 5 A b − ⎛ ⎞ ⎛ ⎞ ⎜ ⎟ ⎜ ⎟ = − = ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ ⎝ ⎠ Misalkan dipilih dan 5 3 4 1 2 T T x x x x x x x B N = = maka matriks basisnya adalah 1 0 0 0 1 0 0 0 1 B ⎛ ⎞ ⎜ ⎟ = ⎜ ⎟ ⎜ ⎟ ⎝ ⎠ Dengan menggunakan matriks basis tersebut, diperoleh 0 0 , 1 4 11 5 T xN T x B b B = − = = …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.

2.2 Integer Linear Programming ILP

Model ILP atau disingkat Integer Programming IP, adalah suatu model LP yang menggunakan bilangan bulat integer sebagai variabel keputusanya. Jika model mengharapkan semua variabel bernilai integer, maka masalah tersebut dinamakan pure integer programming. Jika model hanya mengharapkan variabel-variabel tertentu bernilai integer, maka masalah tersebut dinamakan mixed integer programming . Jika model hanya mengharapkan nilai 0 dan 1 untuk variabelnya, maka masalah tersebut dinamakan zero one integer programming. [Garfinkel Nemhauser, 1972] Definisi 5Linear 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]

2.3 Metode Branch and Bound untuk

menyelesaikan masalah Integer Programming Dalam penulisan karya ilmiah ini, untuk memperoleh solusi optimal dari masalah IP digunakan software Lingo 8.0 yaitu sebuah program yang didesain untuk menentukan solusi model linear, nonlinear, dan optimisasi integer menjadi lebih cepat, mudah, dan lebih efisien. Software Lingo 8.0 ini menggunakan metode branch and bound untuk menyelesaikan masalah ILP. Prinsip dasar metode branch and bound adalah memecah daerah fisibel dari masalah LP-relaksasi dengan membuat subproblem- subproblem . Ö Branch Membuat partisi daerah solusi ke dalam subproblem . Tujuannya untuk menghapus daerah solusi yang tidak fisibel. Hal ini dicapai dengan menentukan kendala yang penting untuk menghasilkan solusi IP, secara tidak langsung titik integer yang tidak fisibel terhapus. Dengan kata lain, hasil pengumpulan dari subproblem-subproblem yang lengkap menunjukkan setiap titik integer yang fisibel dari masalah asli. Karena sifat alami partisi itu, maka proses tersebut dinamakan branching. Ö 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 boundLB . Jika ketiga kondisi tersebut tidak 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] Contoh 2 Misalkan diberikan IP berikut: Maksimumkan 7 5 1 2 z x x = + Terhadap : 2 13 1 2 x x + ≤ 9 5 41 1 2 x x + ≤ , 1 2 x x ≥ dan integer Daerah fisibel untuk masalah IP di atas diberikan pada gambar berikut : 2 4 6 8 10 12 14 x 1 2 4 6 8 x 2 Gambar 1. Daerah Fisibel IP Metode branch and bound dimulai dengan menentukan solusi LP-relaksasi subproblem 1. Solusi LP-relaksasi untuk masalah di atas adalah x 1 = 1,31, x 2 = 5,85, dan z = 38,42. Solusi tersebut tidak memenuhi kendala integer. Oleh karena itu, harus dibuat subproblem yang baru dengan memilih variabel yang tidak memenuhi kendala integer. Dengan memilih x 2 = 5,85 secara sembarang, diketahui bahwa daerah 5x 2 6 dari daerah fisibel subproblem 1 tidak akan memuat solusi IP yang fisibel karena tidak memenuhi kendala integer. Subproblem yang baru adalah sebagai berikut : ƒ Subproblem 2 : Subproblem 1 + kendala 2 6 x ≥ ƒ Subproblem 3 : Subproblem 1 + kendala 2 5 x ≤ Daerah fisibel untuk subproblem 2 dan subproblem 3 diberikan pada gambar berikut: x 1 = 1,31 x 2 = 5,85 Solusi Optimal Subproblem 1 2 4 6 8 10 12 14 x 1 2 4 6 8 x 2 Gambar 2. Daerah Fisibel untuk Subproblem 2 dan Subproblem 3 Subproblem 2 dan subproblem 3 tidak dapat diselesaikan secara bersamaan, sehingga harus diselesaikan dengan dua masalah linear programming yang berbeda. Pada subproblem 2 diperoleh solusi x 1 = 1, x 2 = 6, dan z = 37. Karena semua variabel bernilai integer solusinya memenuhi kendala integer, maka tidak perlu membuat subproblem baru. Pada subproblem 3 diperoleh solusi x 1 = 1,7778, x 2 = 5, dan z = 37,4446 Karena variabelnya tidak memenuhi kendala integer, maka harus dibuat subproblem baru. Subproblem untuk masalah IP di atas diberikan pada gambar berikut: Gambar 3. Metode branch and bound untuk menentukan solusi IP Pada Gambar 3, subproblem 2 dan subproblem 5 merupakan kandidat terbaik karena semua variabelnya bernilai integer. Subproblem 2 dan subproblem 5 merupakan solusi optimal untuk masalah IP di atas karena mempunyai nilai z sama besar. Solusi lengkapnya dapat dilihat pada lampiran 1. III PEMODELAN Langkah awal membangun model perencanaan jaringan logistik adalah mendeskripsikan masalah tersebut secara jelas dan lengkap. Selanjutnya masalah tersebut diformulasikan dalam bentuk MIP mixed integer programming yang siap diselesaikan dengan metode yang sesuai. Model perencanaan jaringan logistik dapat dilihat dalam gambar 4. Model ini menunjukan alur pengiriman produk dari pabrik sampai ke pengecer N. Produk I yang dihasilkan dari produksi pabrik J akan dikirimkan ke pengecer N lewat grosir M. Beberapa hal yang akan diselesaikan guna memenuhi permintaan konsumen dan sekaligus meminimumkan total biaya pengiriman produk adalah menentukan berapa banyak produk yang akan dikirimkan melewati masing-masing rute pengiriman produk dan melalui grosir mana saja. x 1 = 1,31, x 2 = 5,85 dan z = 38,42 x 1 = 1, x 2 = 6 dan z = 37 x 1 = 1,7778, x 2 = 5 dan z = 37,4446 Solusi tak fisibel x 1 = 2, x 2 = 4,6 dan z = 37 Subproblem 1 Subproblem 2 ∗ Subproblem 3 Subproblem 4 Subproblem 5 ∗ 6 2 x ≥ 5 2 x ≤ 2 1 x ≥ 1 1 x ≤ Gambar 4. Gambar perencanaan jaringan logistik Fungsi objektif model MIP mixed integer programming bertujuan untuk memperkecil total biaya yang meliputi komponen berikut : 1. Biaya pengiriman poduk dari pabrik ke grosir 2. Biaya penyimpanan tak tetap yang disepakati oleh grosir 3. Biaya pengiriman produk dari grosir ke pengecer Sedangkan kendala tambahan yaitu: 1. Jumlah produk yang dikirim dari pabrik ke grosir tidak boleh melebihi kapasitas produksi pada pabrik tersebut. 2. Jumlah produk yang dikirimkan dari grosir ke pengecer tidak boleh melebihi kapasitas penyimpanan produk pada grosir. 3. Jumlah produk yang dikirimkan grosir harus lebih kecil dari jumlah produk yang diterima grosir. Misalkan: Indeks: i = Indeks produk j = Indeks pabrik m = Indeks grosir n = Indeks pengecer Parameter: I = Banyaknya produk J = Banyaknya pabrik M = Banyaknya grosir N = Banyaknya pengecer ij P = Kapasitas produksi untuk produk i pada pabrik j im K = Kapasitas penyimpanan untuk produk i pada grosir m in D = Permintaan untuk produk i pada pengecer n 1 ijm C = Biaya pengiriman unit produk untuk produk i dari pabrik j ke grosir m im F = Biaya penyimpanan tetap untuk produk i pada grosir m im C = Biaya penyimpanan yang tak tetap untuk unit produk i pada grosir m im I = Tingkat penyimpanan rata-rata untuk produk i pada grosir m 2 imn C = Biaya pengiriman unit produk untuk produk i dari grosir m ke pengecer n. Variabel keputusan: 1 ijm x = Banyaknya produk i yang dikirimkan dari pabrik j ke grosir m 2 imn x = Banyaknya produk i yang dikirimkan dari grosir m ke pengecer n Jika produk dikirimkan melalui grosir selainnya 1, 0, ⎧ ⎪ = ⎨ ⎪ ⎩ im i m y Model di atas dapat diformulasikan sebagai berikut: 1 1 2 2 1 1 1 1 1 1 1 1 + + + ∑ ∑ ∑ ∑ ∑ ∑ ∑ ∑ = = = = = = = = M J I M I N M I Minimum C x y F C I C x ijm ijm im im im im imn imn m j i m i n m i 1 M J J 2 M M M 2 J 1 J 1 N 2 N N N Permintaan konsumen 1 2 Produk , ,..., l P P P Pabrik Grosir Pengecer dengan kendala sebagai berikut: 1. Jumlah produk yang dikirimkan dari pabrik tidak boleh melebihi kapasitas poduksi pada pabrik tersebut. 1 , , 1 ≥ ∀ ∑ = M P x i j ij ijm m 2. Jumlah produk yang dikirimkan keluar dari grosir tidak boleh melebihi kapasitas penyimpanannya. 2 , , 1 ≥ ∀ ∑ = N K x i m im imn n 3. Karena grosir tidak memproduksi produk, maka jumlah produk yang dikirimkan keluar dari grosir tidak boleh melebihi jumlah produk yang dikirimkan ke grosir tersebut. 1 2 , , 1 1 ≥ ∀ ∑ ∑ = = J N x x i m ijm imn j n 4. Memastikan bahwa semua permintaan konsumen pada pengecer sudah dipenuhi. 2 , , 1 = ∀ ∑ = M D x i n in imn m 5. Memastikan semua variabel keputusan 2 x imn adalah tak negatif. 2 , , ≥ ∀ x i m n imn 6. Memastikan semua variabel keputusan 1 x ijm adalah tak negatif. 1 , , ≥ ∀ x i j m ijm 7. Memastikan variabel keputusan y im adalah biner. { } 0,1 , y i m im ∈ ∀

IV. STUDI KASUS MASALAH PEMODELAN JARINGAN LOGISTIK

Suatu pabrik menghasilkan dua macam produk. Produk tersebut akan dikirimkan ke tiga grosir yang berbeda, kemudian dari grosir produk tersebut akan dikirimkan ke delapan pengecer yang berbeda. Asumsi yang digunakan dalam memodelkan jaringan logistik ini terdiri dari: satu pabrik 1 J , dua produk , 1 2 I I , tiga grosir , , 1 2 3 M M M dan delapan pengecer , , , , , , , 1 2 3 4 5 6 7 8 N N N N N N N N . Data hipotetik yang dibangkitkan secara acak untuk memodelkan jaringan logistik dengan model MIP mixed integer programming diberikan sebagai berikut : Tabel 1. Kapasitas produksi produk i pada pabrik j dalam satuan Pabrik Produk 1 J 1 I 705 2 I 811 Tabel 2. Kapasitas penyimpanan produk i pada grosir m dalam satuan Grosir Produk 1 M 2 M 3 M 1 I 246 389 422 2 I 253 494 312 Tabel 3. Permintaan untuk produk i pada pengecer n dalam satuan Pengecer Produk 1 N 2 N 3 N 4 N 5 N 6 N 7 N 8 N 1 I 72 25 44 89 40 12 52 65 2 I 52 10 100 79 32 93 60 32