• Tidak ada hasil yang ditemukan

BAB 2 TINJAUAN PUSTAKA

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 2 TINJAUAN PUSTAKA"

Copied!
10
0
0

Teks penuh

(1)

TINJAUAN PUSTAKA

2.1 Program Integer

Program Integer merupakan pengembangan dari Program Linear dimana beberapa atau semua variabel keputusannya harus berupa integer. Jika hanya sebagian variabel kepu-tusannya merupakan integer maka disebut Program Integer campuran (Mixed Integer Progamming). Jika semua variabel keputusannya bernilai integer disebut Program In-teger Murni (Pure InIn-teger Progamming). Sedangkan Program InIn-teger 0-1 merupakan bentuk Program Integer dimana semua variabel keputusannya harus bernilai integer 0 atau 1 (binary).

Bentuk umum Program Integer adalah: (Mehrotra dan Li 2004)

max n P j=1 cjxj dengan kendala : Pn j=1aijxj = bi, (i = 1, 2, ..., m) xj ≥ 0, (j = 1, 2, ..., n)

xj integer (untuk beberapa atau semua j = 1, 2, ..., n)

Suatu metode yang sederhana dan praktis untuk menyelesaikan program integer adalah dengan membulatkan hasil variabel keputusan yang diperoleh melalui LP. Pen-dekatan ini mudah dan praktis dalam hal usaha, waktu dan biaya yang diperlukan un-tuk memperoleh suatu solusi. Bahkan, pendekatan pembulatan dapat merupakan cara yang sangat efektif untuk permasalahan program integer yang besar dimana biaya-biaya hitungan sangat tinggi atau untuk permasalahan nilai-nilai solusi variabel keputusan yang sangat besar.

Dengan kata lain, solusi pembulatan dapat lebih jelek dibanding solusi integer optimum yang sesungguhnya atau mungkin merupakan solusi tak layak. Ini membawa konsekuensi besar jika jumlah produk-produk seperti pesawat angkut komersial atau kapal perang yang harus diproduksi dibulatkan ke bilangan bulat terdekat.

(2)

Meskipun IP dibatasi sejumlah solusi layak yang berhingga, namun karena peubah-nya mengambil nilai bilangan bulat membuatpeubah-nya sulit untuk menemukan algoritma yang efisien yang dapat mencari secara langsung titik layak yang integer di dalam ru-ang solusi. Dalam beberapa hal kesulitan ini sudah dapat diatasi oleh para ahli dengan menghasilkan sebuah prosedur solusi yang didasarkan pada penyelesaian problema LP.

Strategi yang dimaksud dapat disimpulkan dalam tiga langkah berikut :

1. Mengkonversi IP menjadi LP biasa

2. Menyelesaikan model LP yang direlaksasi dan mengidentifikasi titik optimum yang kontinu (yang bernilai pecahan)

3. Dimulai dari titik optimum yang kontinu, dengan menambahkan kendala khusus berturut-turut yang dapat memaksa titik optimum dari hasil model LP ke arah pembatasan integer yang diinginkan.

Ada dua metode umum yang digunakan untuk menghasilkan kendala khusus yang memaksa titik optimum dari LP yang direlaksasi ke arah solusi integer yang diinginkan, yakni metode :

a. Cutting plane

b. Branch and bound

2.2 Metode Branch and Bound

Salah satu metode yang dapat digunakan dalam menyelesaikan persoalan program in-teger (IP) adalah metode Branch and Bound. Menurut Winston (2000) metode branch and bound adalah suatu metode mencari solusi optimal dari suatu persoalan IP dengan mengenumerasi titik-titik dalam daerah fisibel dari suatu subpersoalan.

(3)

a. Apabila subpersoalan itu tidak fisibel

b. Apabila subpersoalan itu memberikan solusi optimal dimana seluruh vari-abelnya berharga bilangan bulat

c. Apabila nilai Z optimasi untuk subpersoalan itu tidak lebih baik dari nilai Z optimal (dalam persoalan maksimal berarti nilai Z optimal dari subpersoalan itu tidak lebih besar daripada batas bawah yang telah diperoleh)

2. Suatu subpersoalan dapat diabaikan (dieliminasi dari pertimbangan selanjutnya) apabila subpersoalan itu berada dalam situasi berikut :

a. Tidak fisibel

b. Batas bawah (LB) (menyatakan nilai Z dari calon solusi terbaik) sekurang-kurangnya berharga sama dengan nilai Z dari subpersoalan yang bersangku-tan

Menurut Winston (2004), dikatakan terukur jika terdapat kondisi sebagai berikut:

1. Subpersoalan menghasilkan solusi tak fisibel, sehingga tidak dapat menghasilkan solusi optimal bagi IP

2. Subpersoalan tersebut menghasilkan suatu solusi optimal dengan semua variabel-nya bernilai integer. Jika solusi optimal ini mempuvariabel-nyai nilai fungsi objektif yang lebih baik daripada solusi fisibel yang diperoleh sebelumnya, maka solusi ini men-jadi kandidat solusi optimal dan nilai fungsi objektifnya menmen-jadi batas bawah nilai fungsi objektif optimal bagi masalah IP pada saat itu. Bisa jadi subper-soalan menghasilkan solusi optimal untuk masalah IP.

3. Nilai fungsi objektif optimal untuk subpersoalan tersebut tidak melebihi (untuk masalah maksimisasi) batas bawah saat itu, maka subpersoalan ini dapat dieli-minasi.

(4)

2.3 Algoritma Branch and Bound untuk Program Integer

Dalam banyak usaha pemecahan permasalahan program integer campuran (atau per-masalahan optimasi diskrit lainnya, misalnya pedagang keliling, penjadwalan job shop) metode branch and bound paling berhasil diterapkan hingga saat ini. Misal permasala-han ini disebut P0. Langkah pertama adalah untuk memecahkan masalah LP

’berkelan-jutan’ diperoleh dengan mengabaikan kendala integralistik. Jika pada solusi optimal, satu atau lebih dari variabel-variabel bilangan bulat berubah menjadi non-integer, pilih salah satu variabel tersebut dan menggunakannya untuk membagi soal yang diberikan P0 menjadi dua ’sub-masalah’ P1 dan P2. Misalkan variabel yang dipilih adalah yj dan

mengambil nilai non-integral βj di optimalkan terus menerus.

Kemudian P1 dan P2 didefinisikan sebagai berikut:

P1 ≡ P0 dengan penambahan kendala yj ≤ bβjc

P2 ≡ P0 dengan penambahan kendala yj ≥ bβj+ 1c

Setiap solusi untuk P0 adalah juga solusi untuk P1 atau P2 dan sehingga P0 dapat

diselesaikan dengan menyelesaikan P1 dan P2. Dilanjutkan dengan memecahkan

per-masalahan LP terkait dengan P1 dan P2. Kemudian pilih salah satu masalah dan jika

perlu membaginya menjadi dua sub-masalah seperti yang dilakukan dengan P0. Prinsip

branch and bound diillustrasikan dalam gambar 2.1 berikut ini.

(5)

Proses ini dapat dilihat sebagai pembangunan sebuah pohon biner dari sub-masalah yang untuk terminal node yang sesuai dengan persub-masalahan yang masih harus diselesaikan. Dalam perhitungan yang sebenarnya, satu menyimpan daftar masalah yang belum terpecahkan dimana masalah utama telah terpecahkan. Satu juga me-nyimpan catatan nilai MIN tujuan solusi integer terbaik yang ditemukan sejauh ini.

Langkah 0: Awalnya, persoalan terdiri dari masalah awal P0. Masukkan MIN sama dengan

salah satu nilai dari beberapa solusi bilangan bulat yang diketahui, atau jika salah satu tidak memberikan hasil pada beberapa batas atas dihitung dari data awal, jika tidak ada kemungkinan adalah tidak mungkin menempatkan MIN. Meme-cahkan masalah LP terkait dengan P0. Jika solusi memiliki nilai integer untuk

semua variabel bilangan bulat maka akhiri, jika tidak

Langkah 1: Hapus masalah P dari daftar yang nilai fungsi tujuan optimal x0 lebih besar dari

MIN. Jika tidak ada masalah akhiri. Solusi bulat terbaik yang ditemukan sejauh ini adalah optimal. Jika tidak ada ditemukan, maka permasalahan adalah tidak layak.

Langkah 2: Di antara variabel integer dalam masalah P dengan nilai-nilai non-integer dalam solusi optimal terus menerus untuk P , pilih satu untuk percabangan. Biarkan variabel ini menjadi yp dan biarkan nilai tersebut dalam solusi seterusnya menjadi β.

Langkah 3: Buat dua masalah baru P0 dan P00 dengan menambahkan pembatasan ekstra masing-masing yp ≤ β dan yp ≥ β + 1. Selesaikan masalah LP terkait dengan P0 dan P00 dan menambahkan masalah ini ke dalam daftar. Jika solusi bilangan

bulat baru dan lebih baik ditemukan, simpan dan memperbarui MIN. Masalah LP baru tidak harus dipecahkan dari awal tetapi dapat kembali dioptimalkan dengan menggunakan algoritma ganda (atau secara parametris mengubah batasan pada yp). Jika selama re-optimasi dari persoalan LP, nilai fungsi tujuan melebihi MIN masalah ini dapat diabaikan. Kembali ke langkah 1.

(6)

Jika dianggap bahwa setiap variabel integer dalam P0 memiliki batas atas terbatas

(sama dengan beberapa nilai besar untuk variabel nominal yang tak terbatas) maka algoritma harus berhenti pada akhirnya, karena sebagai salah satu hasil yang lebih rendah, pohon dari masalah batas-batas pada variabel semakin ketat dan ketat, dan ini akhirnya akan menjadi tepat jika solusi LP tidak pernah integer.

Perhatikan contoh berikut:

Maksimumkan Z = −7x1− 3x2− 4x3 Kendala : x1+ 2x2+ 3x3− x4 = 8 (2.1) 3x1+ x2+ x3− x5 = 5 (2.2) x1, x2, . . . , x5 ≥ 0 dan integer (2.3) Penyelesaian :

Awalnya persoalan ini diselesaikan sebagai persoalan LP. Solusi optimal LP adalah x1 = 2/5, x2 = 19/5, x3 = x4 = x5 = 0 dengan ¯Z0 = [−71/5] = −15.

Selanjutnya P0 dipisahkan pada x1 atau x2 dan pilih sembarang x2. Hasilnya

ditunjukkan pada gambar 2.2 berikut :

(7)

Gambar 2.3 Calon solusi 2

Dengan mengambil pencabangan sebelah kiri dan menyelesaikan LP-nya, diper-oleh solusi yang semuanya integer : x1 = 0, x2 = 3, x3 = 2, x4 = 4, x5 = 0 dengan

¯

Z1 = −17. Selanjutnya batas bawah baru Z0 = max {z1}=-17. Node 3 difathom dan

kembali ke node 4. Hasilnya diperoleh ¯Z4 = −18 < z0, maka node 4 difathom. Kembali

ke node 2.

Solusi optimal dari LP-nya x1 = 1/3, x2 = 4, x3 = 0,x4 = 1/3,x5 = 0 dengan

¯

Z2 = [−43/3] = −15. Pencabangan dipilih pada x1 dan hasilnya terlihat pada gambar

2.4 berikut:

Gambar 2.4 Calon solusi 3

Pada node 5, solusi optimal dari LP-nya semuanya integer dan Z5 = −15.

Selan-jutnya Z0 = max {z5}=-15 dan node 5 dan 6 difathom. Sebuah solusi optimal diberikan

(8)

Sementara Baravukaite dan Ciegis (2007), memberikan algoritma branch and bound sebagai berikut :

Algoritma BnB()

begin

(1) cover solution space D by L =Lj|D ⊆ Uj=1m Lj

using covering rule

(2) S = ∅, U B(D) = ∞

(3) while (subspace list is not empty L 6= ∅) do

(4) choose I ∈ L using selection rule, exclude I from L

(5) if (LB(I) ⊂ U B(D) + 

(6) Branch I into p subspace Ij using branching rule

(7) for all (Ij, j = 1, 2, . . . , p) do

(8) find U B(Ij∩ D) and LB(Ij) using branching rules

(9) U B(D) = min(U B(D), U B(Ij ∩ D))

(10) if (LB(Ij) < U B(D) + ε)

(11) if (Ij is a possible solution) then S = Ij

(12) else L = LU {Ij}

(13) end if

(14) end if

(15) end for

(9)

end AlgoritmaBnB

Dimana L menunjukkan sebagai calon himpunan, S adalah solusi, UB (Di) dan LB (Di) menunjukkan sebagai batas atas dan batas bawah untuk nilai minimum dari fungsi objektif atas sub ruang Di.

Baravukaite dan Ciegis (2007)mendeskripsi dari sebuah template baru ke algorit-ma parallel branch and bound. Kelas C++ untuk semua langkah utaalgorit-ma algoritalgorit-ma BnB termasuk banyak contoh untuk seleksi, estimasi bound dan langkah-langkah pencaban-gan.

2.4 Kelayakan Program Integer

Masalah kelayakan program integer linier murni (FILP) adalah untuk

{x ∈ Zn+|Ax = a} (2.4)

dimana A ∈ Zm×n, a ∈ Zm, dan A diasumsikan matriks memiliki peringkat tertinggi. Jika tidak, maka baris linier dari A akan dihapus (Mehrotra dan Li 2004).

Masalah kelayakan program integer linier campuran (FMILP) adalah untuk n x = h x z xc i , xz ∈Zn+, xc ∈R¯n+|Rx = r o (2.5)

dimana R mempunyai bentuk R =

h B : C A : 0 i , r = h b a i , B ∈ Zmׯ¯ n dan C ∈ Zmׯ¯ n.

Kolom A sebagai variabel integer, dan kolom C sebagai variabel riil. Tanpa menghilangkan asumsi umum bahwa matriks C memiliki peringkat tertinggi. Jika hal ini tidak terjadi, maka dimiliki π sedemikian rupa sehingga πTC = 0, memungkinkan untuk menghapus kendala untuk setiap πi 6= 0, dan menggantinya dengan kendala πTB = πTb.

Superscript T merupakan transpose dari vektor atau matriks. Untuk x ∈ Rn, kxk merupakan norm l2, dan kxkQmerupakan norm ellipsoid

p

xTQx. Range space dari ma-triks Am×n, diwakili oleh R(A). Null space A diwakili oleh N (A) = {p ∈ Rn|Ap = 0}. Diberikan B = {b1, . . . , bk}, L(B) =

n

x ∈ Rn|x = Pk i=1Zbi

o

adalah lattice yang diha-silkan oleh vektor kolom bi, i = 1, . . . , k. Dual dari A didefinisikan sebagai himpunan

(10)

A⊥ =z ∈ Rn|Az = 0, zTx ∈ Z, untuk semua x ∈ A .

Suatu lattice K∗(AT) disebut adjoin lattice dari A jika untuk setiap basis Z dari A ada sebuah basis Zdari K(AT) sehingga

ZTZ= I (2.6)

Adjoint lattice adalah integral jika setiap anggotanya integral.

Proposisi 2.1 (Mehrotra dan Li, 2004)

Misal ˜Z adalah basis dari lattice A. Maka terdapat matriks integral ˜Z∗ sedemikian rupa sehingga

˜

Z∗TZ = I˜ (2.7)

Mehrotra dan Li (2004) membuktikan dengan mengasumsikan sebuah basis Z dari A dipenuhi dari perhitungan HNF dari A, dan Z∗ terbentuk seperti yang diuraikan diatas. Karena Z dan ˜Z adalah basis untuk A dimiliki sebuah matriks unimodular V sehingga

˜

Z = ZV . Ambil ˜Z= ZV−T. Sejak V adalah unimodular, V−T juga unimodular.

2.5 Algoritma Pencabangan Hyperplane

Menurut Mehrotra dan Li (2004) masalah persoalan percabangan hyperplane ε(w, Q) adalah untuk menyelesaikan masalah minimasi :

min

u∈A\0W (u, ε(w, Q)) atau ekivalen u∈Amin∗\0W (u, ε(0, Q)) (2.8) dimana ε(0, Q) =nx ∈ Rn| kxk

Q ≤ 1, Ax = 0 o

.

Adjoint kisi adalah paling sederhana untuk menghasilkan percabangan hyper-planes dalam ruang asli. Untuk sebuah kisi A, sejak A⊕ L(AT) adalah juga meru-pakan adjoint kisi, memungkinkan seseorang untuk mengurangi unsur-unsur sebelum A∗ melakukan perhitungan apapun. Numerik ini menguntungkan terutama ketika menam-bahkan pencabangan hyperplane pada kendala yang ada.

Gambar

Gambar 2.1 Prinsip branch and bound
Gambar 2.3 Calon solusi 2

Referensi

Dokumen terkait

Local Time (Europe)/ Sabtu pukul 06.00 hingga Minggu pukul 21.00 Waktu Setempat (Eropa) SAP TwoGo Maintenance Windows/ Waktu Pemeliharaan Regular Maintenance Windows/.

Laporan Akuntabilitas Kinerja Instansi Pemerintah (LKjIP) Badan Penanaman Modal Kabupaten Banyumas Tahun 2016 telah disusun berdasarkan Peraturan Menteri

Director Hiroo Masuda.. Perseroan telah menerima surat pengunduran diri dari Ibu Monalisa Octavia sebagai Direktur Independen Perseroan tertanggal 1 Februari 2017 dan surat

Data yang berhasil dikumpulkan kemudian dianalisis dengan menggunakan metode statistik korelasi product moment untuk mencari hubungan antara pola asuh orang tua

Sebagai contoh, saya jadikan produk saya iaitu ebook Rahsia Lulus Temuduga Kerja Kerajaan untuk anda ikuti4. Anda mendaftar sebagai agen promosi

Pada integrasi penerapan metode time &amp; motion study dan metode ABC, perusahaan dapat melakukan pengukuran produktivitas atas aktivitas yang dilakukan oleh perusahaan, juga

Nilai rata-rata kelas dan skor angket yang lebih tinggi pada kelas eksperimen dibandingkan kelas kontrol menunjukan bahwa pembelajaran blended learning lebih baik dibandingkan