• Tidak ada hasil yang ditemukan

Metode Branch and Cut Untuk Menyelesaikan Multi-Objective Integer Programming

N/A
N/A
Protected

Academic year: 2016

Membagikan "Metode Branch and Cut Untuk Menyelesaikan Multi-Objective Integer Programming"

Copied!
59
0
0

Teks penuh

(1)

METODE BRANCH AND CUT UNTUK MENYELESAIKAN

MULTI-OBJECTIVE INTEGER PROGRAMMING

SKRIPSI

RIZKIKA AMALIA

100803037

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

METODE BRANCH AND CUT UNTUK MENYELESAIKAN

MULTI-OBJECTIVE INTEGER PROGRAMMING

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat untuk

mencapai gelar sarjana sains

RIZKIKA AMALIA

100803037

DEPARTEMEN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : Metode Branch and Cut Untuk Menyelesaikan Multi-Objective Integer Programming

Kategori : Skripsi

Nama : Rizkika Amalia

Nomor Induk Mahasiswa : 100803037

Program Studi : Sarjana (S1) Matematika

Departemen : Matematika

Fakultas : Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara

Disetujui di Medan, Juli 2014

Komisi Pembimbing

Pembimbing 2, Pembimbing 1,

Drs. Gim Tarigan, M.Si Drs. Sawaluddin, M.IT

NIP. 195502021986011001 NIP. 195912311998021001

Disetujui Oleh

Departemen Matematika FMIPA USU Ketua,

(4)

PERNYATAAN

METODE BRANCH AND CUT UNTUK MENYELESAIKAN

MULTI-OBJECTIVE INTEGER PROGRAMMING

SKRIPSI

Saya mengaku bahwa skripsi ini adalah hasil karya sendiri. Kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Juli 2014

(5)

PENGHARGAAN

Asslamu’alaikum Wr. Wb.

Puji dan syukur penulis panjatkan kepada Allah SWT yang telah melimpahkan rahmat dan karunianya sehingga penulis dapat menyelesaikan penyusunan skripsi ini dengan judul Metode Branch and Cut untuk Menyelesaikan Multi-Objective Integer Programming.

Terimakasih penulis sampaikan kepada Drs. Sawaluddin, M.IT selaku pembimbing 1 dan Drs. Gim Tarigan, M.Si selaku pembimbing 2 yang telah meluangkan waktunya selama penyusunan skripsi ini. Terimakasih kepada Prof. Dr. Tulus, M.Si dan Ibu Dr. Mardiningsih, M.Si selaku Ketua Departemen dan Sekretaris Departemen Matematika FMIPA USU Medan, Dekan dan Pembantu Dekan FMIPA USU, seluruh Staff dan Dosen Matematika FMIPA USU, serta rekan-rekan kuliah. Akhirnya tidak terlupakan kepada Ayah, Ibu, dan keluarga yang selama ini memberikan bantuan dan dorongan yang penulis perlukan. Semoga Allah SWT senantiasa membalasnya dengan hal yang lebih baik.

Akhir kata penulis mengharapkan saran dan kritik yang membangun demi penyempurnaan skripsi ini dan berharap semoga skripsi ini dapat bermanfaat bagi para pembaca.

Medan, Juli 2014

(6)

METODE BRANCH AND CUT UNTUK MENYELESAIKAN

MULTI-OBJECTIVE INTEGER PROGRAMMING

ABSTRAK

Metode Branch and Cut merupakan salah satu metode yang digunakan untuk menyelesaikan masalah linear programming yang menghendaki penyelesaian dalam bentuk bilangan bulat (integer), tetapi biasanya digunakan pada masalah linear programming yang memiliki tujuan tunggal. Permasalahan tersebut disebut juga sebagai Single Objective Integer Programming. Dalam tulisan ini akan ditunjukkan bagaimana metode Branch and Cut menyelesaikan masalah linear programming yang memiliki banyak tujuan. Permasalahan tersebut disebut Multi-Objective Integer Programming atau biasa disebut goal programming. Dalam penyelesaiannya penulis menggunakan software LINDO (Linear Discrete Optimization).

(7)

BRANCH AND CUT METHOD FOR SOLVING

MULTI-OBJECTIVE INTEGER PROGRAMMING

ABSTRACT

Branch and Cut method is a kind of technique for solving linear programming problem which expect integer for its decision variable, but it usually use to solve a single objective integer programming form. In this paper, the author will show how Branch and Cut method can solve a multi-objective integer programming or so-called goal programming. The author also used LINDO (Linear Discrete Optimization).

(8)

DAFTAR ISI

Daftar Tabel viii

Daftar Gambar ix

Bab 1. Pendahuluan 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tinjauan Pustaka 2

1.5 Tujuan Penelitian 5

1.6 Kontribusi Penelitian 5

1.7 Metode Penelitian 5

Bab 2. Landasan Teori 6

2.1 Linear Programming 6

2.1.1 Karakteristik Linear Programming 7

2.1.2 Asumsi dalam LinearProgramming 7

2.2 Integer Programming (IP) 9

2.2.1 Pemrograman Bilangan Bulat Murni 9

(Pure Integer Programming)

2.2.2 Pemrograman Bilangan Bulat Campuran 10

(Mixed Integer Programming)

2.2.3 Pemrograman Bilangan Bulat Biner

(Binary Integer Programming) 10

2.3 Metode Penyelesaian Masalah Integer Programming 11

2.3.1 Metode Pendekatan Pembulatan 11

2.3.2 Metode Pendekatan Grafik 14

2.3.3 Metode Cutting Plane (Pendekatan Gomory) 15

2.3.4 Metode Branch and Bound 21

Bab 3. Pembahasan 27

3.1Goal Programming 27

3.2Bentuk Umum Goal Programming 30

3.3Perumusan Masalah Goal Programming 31

(9)

3.5Penyelesaian Multi-Objective Integer Programming 32 dengan Metode Branch and Cut

3.6Perbandingan Metode Branch and Bound, 41

Cutting Plane, dan Branch and Cut

Bab 4. Kesimpulan dan Saran 45

4.1 Kesimpulan 45

4.2 Saran 45

(10)

DAFTAR TABEL

Nomor Judul Halaman

Tabel

2.1 Perbandingan Solusi dengan Metode Pendekatan Pembulatan 13

Dengan Bulat Optimum Sesungguhnya

2.2 Solusi Optimum Masalah Linear Programming 16

2.3 Penambahan Kendala Gomory 17

2.4 Solusi Optimal Contoh 2.3 (Iterasi 0) 18

2.5 Penambahan Kendala Gomory Contoh 2.3 (Iterasi 0) 19

2.6 Solusi Optimal Contoh 2.3 (Iterasi 1) 19

2.7 Penambahan Kendala Gomory Contoh 2.3 (Iterasi 1) 20

2.8 Solusi Optimal Contoh 2.3 (Iterasi 2) 20

3.1 Iterasi 0 Simpleks 33

3.2 Iterasi 0 Simpleks Baru 33

3.3 Iterasi 1 Simpleks 34

3.4 Iterasi 2 Simpleks 34

3.5 Iterasi 3 Simpleks 35

(11)

DAFTAR GAMBAR

Nomor Judul Halaman

Gambar

2.1 Penyelesaian dengan Pendekatan Grafik 15

2.2 Grafik Pencabangan pada Metode Branch and Bound 26

3.1 Penyelesian Goal Programming dengan LINDO 36

3.2 Penyelesaian Sub Masalah 1 dengan LINDO 37

3.3 Penyelesaian Sub Masalah 2 dengan LINDO 38

3.4 Penyelesaian Sub Masalah 1 Baru dengan LINDO 39

(12)

METODE BRANCH AND CUT UNTUK MENYELESAIKAN

MULTI-OBJECTIVE INTEGER PROGRAMMING

ABSTRAK

Metode Branch and Cut merupakan salah satu metode yang digunakan untuk menyelesaikan masalah linear programming yang menghendaki penyelesaian dalam bentuk bilangan bulat (integer), tetapi biasanya digunakan pada masalah linear programming yang memiliki tujuan tunggal. Permasalahan tersebut disebut juga sebagai Single Objective Integer Programming. Dalam tulisan ini akan ditunjukkan bagaimana metode Branch and Cut menyelesaikan masalah linear programming yang memiliki banyak tujuan. Permasalahan tersebut disebut Multi-Objective Integer Programming atau biasa disebut goal programming. Dalam penyelesaiannya penulis menggunakan software LINDO (Linear Discrete Optimization).

(13)

BRANCH AND CUT METHOD FOR SOLVING

MULTI-OBJECTIVE INTEGER PROGRAMMING

ABSTRACT

Branch and Cut method is a kind of technique for solving linear programming problem which expect integer for its decision variable, but it usually use to solve a single objective integer programming form. In this paper, the author will show how Branch and Cut method can solve a multi-objective integer programming or so-called goal programming. The author also used LINDO (Linear Discrete Optimization).

(14)

Bab 1

PENDAHULUAN

1.1Latar Belakang

Dewasa ini, manusia sering dihadapi oleh permasalahan melibatkan optimasi tujuan ganda (multi-objective), contohnya dalam hal perencanaan atau peramalan pasar yang biasanya pihak manajemen perusahaan akan melakukan survey terhadap produk yang digemari oleh konsumen, yang selanjutnya akan memproduksi produk tersebut semaksimal mungkin sesuai dengan selera konsumen sekaligus meminimumkan biaya produksi sesuai dengan batasan-batasan yang ada. Dalam beberapa permasalahan, terkadang pihak manajemen membutuhkan hasil atau solusi yang merupakan bilangan bulat. Permasalahan ini disebut juga dengan multi-objective integer programming atau juga dikenal dengan istilah goal programming.

Multi-Objective Integer Programming (MOIP) dapat dilihat sebagai bentuk pengembangan dari Integer Programming (IP) yang dapat digunakan dalam pengambilan keputusan di dalam kehidupan sehari-hari, misalnya perencanaan, logistik, alokasi barang, penjadwalan, routing, dan sebagainya. Multi-objective Integer Programming memungkinkan si pembuat keputusan untuk mempertimbangkan tidak hanya satu tujuan (single-objective) melainkan beberapa tujuan (multi-objective)secara bersamaan, seperti biaya pengeluaran, keuntungan, kerusakan mesin, waktu kerja, dan sebagainya.

(15)

Berdasarkan uraian yang dikemukakan di atas maka penulis tertarik untuk

membahas masalah MOLP dengan judul “Metode Branch and Cut Untuk

Menyelesaikan Multi–Objective Integer Programming”.

1.2Perumusan Masalah

Permasalahan yang akan dibahas adalah apakah metode branch and cut dapat digunakan untuk menyelesaikan persoalan multi-objective integer programming.

1.3Batasan Masalah

Dalam penulisan ini, penulis hanya membatasi pada persoalan multi-objective integer programming dengan menggunakan metode branch and cut. Dalam hal ini masalah yang diangkat adalah masalah goal programming dan pure integer programming.

1.4Tinjauan Pustaka

Matthias Ehrgott dan Xavier Gandibleux dalam bukunya yang berjudul “Multiple Criteria Optimization: “State Of The Art Annotated Bibliographic Surveys” menjelaskan bahwa masalah optimasi banyak fungsi objektif yang berlawanan sekaligus dengan kendala-kendala yang diberikan disebut masalah multiobjective programming dan dapat diformulasikan sebagai vektor minimasi sebagai berikut:

Minimumkan ≜ , , …

Kendala ∈ ≜ ∈ | , , … ,

di mana , , … , adalah k fungsi objektif berbeda dari vektor

keputusan , , … , adalah m pertidaksamaan kendala-kendala dan X

(16)

Thomas Vincent dalam makalahnya yang berjudul “Multi-objective Branch and Bound for Mixed 0-1 Linear Programming: Corrections and Improvements for the Biobjective Case” menjelaskan bahwa multiple objective linear program (MOLP) dan diformulasikan sebagai berikut:

Min

Kendala ∈

Dalam hal ini, , … , dengan baris , … , merupakan sebuah

matriks linear p x n, ∈ merupakan vektor dari variable-variabel, dan

≔ ∈ ∶ ,

adalah himpunan yang mungkin dalam ruang keputusan . A adalah matriks m x n dari kendala-kendala dan ∈ adalah vektor sisi sebelah kanan. Kita tunjukkan

≔ ≔ ≔ ∈ : ∈

sebagai outcome set di ruang objective .

Melih Ozlen dan Benjamin A. Burton (2009) dalam makalahnya yang

berjudul “Multi-Objective Integer Programming: An Improved recursive

algorithm” menerangkan bahwa bentuk umum dari MOIP didefinisikan sebagai berikut :

Min , , … ,

Kendala

di mana X adalah himpunan titik-titik layak yang didefinisikan oleh

masing-masing fungsi objektifnya didefinisikan

, dan ∈ untuk semua ∈ , , … , . Masing–masing fungsi

objektifnya didefinisikan oleh

∑ , ∑ , … , ∑ dimana ∈

(17)

Sebuah titik ∈ disebut -objektif yang efisien jika dan hanya jika

tidak ada ∈ yang mengakibatkan untuk setiap ∈

, , , … , dan untuk sedikitnya satu . Hasil vector objektif

, , … , dikatakan -objektif yang tidak terdominasi.

John E. Mitchell dalam makalahnya yang berjudul ”Branch and Cut Algorithms for Combinatorial Optimization Problems” menjelaskan bahwa algoritma branch and cut

memodifikasi strategi dasar branch and bound dengan mencoba menguatkan linear programming relaxation (LPR) dari permasalah integer programming (IP) dengan

pertidaksaman baru sebelum melakukan mencabangan solusi bagian. Branch and bound murni dapat dipercepat dengan menggunakan cutting planes baik di awal diagram pohon branch and bound maupun di tiap-tiap nodenya, karena cutting planes mampu

mengurangi banyak diagram pohon tersebut. Branch and cut dapat digunakan dalam penyambungan dengan heuristic untuk memperoleh batas yang lebih rendah pada nilai optimal dengan menggunakan algoritma branch and bound.

Shon Albert dalam makalahnya yang berjudul “Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm” menerangkan bahwa metode branch and cut menggabungkan keuntungan dari skema branch and bound murni dan skema gomory cutting plane. Menyelesaikan masalah dengan metode branch and cut akan lebih cepat dibandingkan dengan branch and bound saja.

Gomory cutting plane cepat, tetapi tidak dapat diandalkan. Branch and bound dapat diandalkan, tetapi lambat. Akibatnya kedua metode dapat digabung menjadi satu yaitu dinamakan branch and cut. Pertama ditambahkan beberapa cut

dari menggunakan skema gomory kemudian mengaplikasikan sisanya

menggunakan branch and bound. Algoritma tersebut tidak hanya dapat

(18)

1.5Tujuan Penelitian

Tujuan dari penelitian ini adalah untuk mendapatkan penyelesaian multi-objective integer programming dengan menggunakan metode branch and cut.

1.6Kontribusi Penelitian

Manfaat dari penelitian ini adalah sebagai berikut :

1. Membantu penulis menerapkan ilmu yang telah diperoleh dari perkuliahan ke dunia nyata.

2. Menambah wawasan penulis dan pembaca tulisan ini tentang penyelesaian multi-objective integer programming dengan menggunakan metode branch and cut.

1.7Metode Penelitian

Penelitian ini adalah penelitian literatur yang disusun dengan langkah-langkah sebagai berikut:

1. Mencari literatur dari beberapa buku dan jurnal tentang metode branch and cut serta pemrograman bilangan bulat (integer programming).

2. Menjelaskan definisi dari linear programming dan klasifikasinya. 3. Menjelaskan definisi dari integer linear programming.

4. Menjelaskan beberapa metode yang dapat digunakan untuk menyelesaikan permasalahan integer linear programming.

5. Memberikan contoh penyelesaian single-objective integer programming dengan menggunakan metode pendekatan, metode grafik, gomory (cutting plane)dan metode branch and bound.

6. Menjelaskan bagaimana penyelesaian multi-objective integer programming dengan menggunakan simpleks.

7. Mengambil contoh soal untuk diselesaikan dengan metode branch and cut. 8. Mengambil contoh soal untuk diselesaikan dengan metode branch and bound,

(19)

Bab 2

LANDASAN TEORI

2.1 Linear Programming

Linear Programming (LP) merupakan metode yang digunakan untuk mencapai hasil terbaik (optimal) seperti keuntungan maksimum atau biaya minimum dalam model matematika yang melibatkan variable-variabel linear. Linear programming juga dapat dikatakan sebagai teknik untuk mengoptimasi sebuah fungsi objective linear, dengan kendala berbentuk persamaan linear maupun pertidaksamaan linear. Secara umum, linear programming dapat dinyatakan sebagai:

Optimalkan , ∈ ⊆ dengan adalah himpunan semua vektor real

komponen dan merupakan fungsi objektif yang didefinisikan dalam atau juga disebut sebagai himpunan kendala. Setiap ∈ disebut sebagai solusi layak (feasible solution), sedangkan ∈ yang memenuhi ∞, ∀ ∈ disebut sebagai solusi optimal (optimal solution).

(20)

2.1.1 Karakteristik Linear Programming

Karakteristik-karakteristik dalam linear programming yang biasa digunakan untuk memodelkan suatu masalah dan memformulasikannya secara matematik yaitu:

a. Variabel Keputusan

Variabel keputusan adalah variabel yang secara lengkap menguraikan keputusan-keputusan yang akan dibuat.

b. Fungsi Tujuan

Fungsi tujuan merupakan suatu hubungan linier dari variabel keputusan yang berupa fungsi maksimum atau minimum.

c. Kendala

Kendala merupakan batasan-batasan dalam penyelesaian linear

programming yang harus diperhatikan. Kendala diekspresikan dalam persamaan dan pertidaksamaan yang juga merupakan hubungan linier dari variabel keputusan yang mencerminkan keterbatasan sumberdaya dalam suatu masalah.

2.1.2 Asumsi dalam Linear Programming

Model linear programming mengandung asumsi-asumsi implisit tertentu yang harus

(21)

a. Linieritas (Linearity)

Fungsi tujuan (objective function) dan kendala – kendalanya (constraints) dibuat dalam fungsi linier. Sifat linearitas suatu kasus dapat ditentukan dengan menggunakan beberapa cara, misalnya dengan menggunakan grafik atau menggunakan uji hipotesa.

b. Kesetaraan (Proportionality)

i. Kontribusi setiap variabel keputusan terhadap fungsi tujuan adalah sebanding dengan nilai variabel keputusan.

ii. Kontribusi suatu variabel keputusan terhadap ruas kiri dari setiap pembatas juga sebanding dengan nilai variabel keputusan itu.

c. Penambahan (Addivity)

Sifat penambahan mengasumsikan bahwa tidak terdapat bentuk perkalian silang pada model, baik bagi fungsi tujuan maupun kendala.

d. Pembagian (Divisibility)

Solusi dapat berupa bilangan bulat (integer) atau bilangan pecahan.

e. Ketidaknegatifan (Nonnegativity)

Nilai variabel keputusan harus lebih besar atau sama dengan nol.

f. Kepastian (Certainty)

(22)

Asumsi-asumsi di atas harus dipenuhi apabila ingin menyelesaikan masalah model linear programming. Jika asumsi-asumsi tersebut tidak dapat terpenuhi, persoalan dapt diselesaikan dengan program matematik

lain seperti; integer programming, nonlinear programming, goal

programming, atau dynamic programming.

2.2 Integer Programming (IP)

Program bilangan bulat (integer programming) merupakan bentuk perluasan dari linear programming. Persoalan IP menginginkan solusi yang didapat berupa bilangan bulat, bukan berupa bilangan pecahan. Contoh persoalan yang sering ditemui misalnya menentukan banyaknya barang elektronik yang harus diproduksi, banyaknya unit rumah yang akan dibangun pada suatu proyek perumahan, banyaknya orang yang diperlukan untuk mengerjakan suatu proyek, dan sebagainya. Integer programming memiliki model matematis yang sama dengan model linear programming pada umumnya, tetapi ditambah batasan bahwa variabelnya harus bilangan bulat.

Berdasarkan jenis keputusan yang akan diperoleh, persoalan integer programming dapat dibedakan atas tiga jenis, yaitu:

1. Pemrograman Bilangan Bulat Murni (Pure Integer Programming) 2. Pemrograman Bilangan Bulat Campuran (Mixed Integer Programming) 3. Pemrograman Bilangan Bulat Biner (Binary Integer Programming)

2.2.1 Pemrograman Bilangan Bulat Murni (Pure Integer Programming)

Pure Integer Programming (PIR) merupakan pemrograman bilangan bulat di mana semua nilai variabel keputusan haruslah bilangan bulat. Bentuk umum pure integer programming yaitu:

Optimalkan : ∑

(23)

, , … , , , … ,

,

2.2.2 Pemrograman Bilangan Bulat Campuran (Mixed Integer Programming)

Mixed Integer Programming (PIR) merupakan pemrograman bilangan bulat di mana nilai variabel keputusannya berupa campuran antara bilangan bulat dan bilangan desimal atau pecahan. Bentuk umum mixed nteger programming yaitu:

Optimalkan : ∑ ∑

Kendala : ∑ ∑ , ,

, , … , , , … , , , … ,

,

2.2.3 Pemrograman Bilangan Bulat Biner (Binary Integer Programming)

Bentuk lain dari masalah integer programming adalah binary integer

programming (BIP). Dalam persoalan binary integer programming nilai variabel keputusannya berupa bilangan biner (0 atau 1). Dalam aplikasi sehari-hari,

masalah binary integer programming menyangkut masalah pengambilan

(24)

Bentuk umum dari binary integer programming yaitu:

2.3 Metode Penyelesaian Masalah Integer Programming

Tampaknya cukup untuk mendapatkan solusi bulat dari masalah linear

programming, dengan menggunakan metode simpleks biasa dan kemudian membulatkan nilai-nilai pecah solusi optimum. Bukan tugas mudah untuk membulatkan nilai-nilai pecah variabel basis yang menjamin tetap memenuhi semua kendala dan tidak menyimpang cukup jauh dari solusi bulat yang tepat. Akibatnya diperlukan prosedur yang sistematis untuk mendapatkan solusi bulat optimum terhadap masalah itu. Beberapa metode yang dapat digunakan untuk menyelesaikan masalah integer programming antara lain:

1. Metode Pendekatan Pembulatan 2. Metode Pendekatan Grafik 3. Metode Branch and Bound 4. Metode Cutting Plane

2.3.1 Metode Pendekatan Pembulatan

Suatu pendekatan yang sederhana dalam menyelesaikan masalah integer

(25)

Namun demikian sebab utama kegagalan pendekatan ini adalah bahwa solusi yang diperoleh mungkin bukan solusi integer optimum yang sesungguhnya. Dengan kata lain, solusi pembulatab dapat lebih jelek dibandingkan solusi integer optimum yang sesungguhnya atau mungkin merupakan solusi tak layak.

Tiga masalah berikut disajikan untuk mengilustrasikan prosedur pembulatan:

Contoh 2.1:

(26)

Tabel 2.1 Perbandingan solusi dengan metode pendekatan pembulatan dengan bulat optimum sesungguhnya.

Masalah Solusi dengan

Metode simpleks

Masalah pertama adalah masalah maksimasi, di mana solusi pembulatan menghasilkan keuntungan 680, hanya lebih kecil 20 dibanding yang dihasilkan solusi bulat optimum 700. Masalah kedua adalah masalah minimasi di mana solusi pembulatan adalah tak layak. Ini menunjukkan bahwa meskipun pendekatan adalah sederhana, namun kadang-kadang menyebabkan solusi tak layak. Untuk mencegah ketidaklayakan, nilai solusi simpleks dalam masalah minimasi harus dibulatkan ke atas. Sebaliknya, pada masalah maksimasi nilai solusi simpleks semestinya dibulatkan ke bawah. Contohnya, pada masalah kedua jika solusi simpleksnya dibulatkan ke atas akan diperoleh dan dan merupakan solusi layak. Juga pada masalah ketiga, jika solusi simpleksnya

dibulatkan ke bawah akan diperoleh dan dan merupakan solusi

(27)

Nilai fungsi tujuan melalui simpleks tanpa pembatasan bilangan bulat akan selalu lebih baik dibanding solusi integer optimum karena terletak pada titik pojok luar dari batas ruang solusi layak. Suatu metode yang serupa dengan pendekatan pembulatan adalah prosedur coba-coba (trial and error). Dengan menggunakan cara ini, pengambil keputusan mengamati solusi integer dan memilih solusi yang mengoptimumkan nilai fungsi tujuan. Cara ini sangat tidak efektif jika masalahnya melibatkan sejumlah besar kendala dan variabel. Terlebih lagi, memeriksa kelayakan setiap solusi yang dibulatkan akan banyak memakan waktu.

2.3.2 Metode Pendekatan Grafik

Masalah integer programming yang melibatkan dua variabel dapat diselesaikan dengan metode pendekatan grafik. Metode ini identik dengan metode grafik yang biasa digunakan dalam linear programming. Metode grafik relatif lebih mudah untuk menyelesaikan masalah integer programming dua variabel yaitu dengan menggambar grafik di atas kertas grafik kemudian menggambarkan sekumpulan titik-titik integer dalam ruang solusi layak. Masalah berikut akan diselesaikan dengan pendekatan grafik.

Model ini serupa dengan model linear programming biasa. Perbedaannya terletak pada kendala terakhir yang menginginkan solusi bernilai non negatif integer.

Solusi grafik untuk masalah ini ditunjukkan pada gambar di bawah. Ruang

solusi layak adalah OABC. Solusi optimum masalah linear programming

(28)
(29)

2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai integer, maka solusi optimum telah diperoleh dan proses berakhir. Jika masih ada satu atau lebih variabel basis memiliki nilai pecah, teruskan ke tahap 3.

3. Buatlah suatu skala Gomory (suatu bidang pemotong atau cutting plane) dan cari solusi optimum melalui proses dual simpleks. Kembali ke tahap 2.

Kendala Gomory dalam Pure Integer Programming

Tabel optimum masalah linear programming berikut merupakan solusi optimum kontinu.

Tabel 2.2 Solusi optimum masalah linear programming

Basis Solusi

Z 0 .. 0 …..

1 .. 0 …..

. . . . . . 0 1

Di mana variabel , … , menunjukkan variabel basis dan variabel , … , adalah non basis.

Perhatikan persamaan ke di mana variabel diasumsikan bernilai non integer.

∑ di mana non integer.

Kemudian pisahkan dan menjadi bagian yang bulat dan bagian pecah non negatif seperti berikut:

jadi , di mana

(30)

Contoh:

Kendala Gomory yang diinginkan yaitu:

, adalah variabel slack Gomory ke .

Pada umumnya, persamaan kendala yang berhubungan dengan solusi pecah dipilih untuk menghasilkan suatu kendala Gomory. Namun, sebagai aturan main biasanya dipilih persamaan yang memiliki maksimum.

Tabel baru setelah penambahan kendala Gomory disajikan pada tabel berikut:

Tabel 2.3 Penambahan kendala Gomory

Basis Solusi

Karena diperoleh solusi primal optimum tetapi tidak layak maka digunakan metode dual simpleks. Proses pembentukan kendala Gomory berakhir jika solusi baru semua berupa bilangan bulat. Jika tidak, suatu kendala Gomory baru dibuat

(31)

lagi dari tabel yang dihasilkan dan metode dual simpleks digunakan lagi untuk mengatasi ketidaklayakan. Jika pada setiap iterasi metode dual simpleks menunjukkan bahwa tidak ada solusi layak, berarti masalah itu tidak memiliki solusi integer yang layak.

Berikut ini terdapat persoalan integer programming:

Contoh 2.3:

Maksimumkan Kendala

,

Solusi kontinu optimumnya diperoleh dalam tabel berikut:

Tabel 2.4 Solusi optimal contoh 2.3 (iterasi 0)

Basis Solusi

Z 0 0 28/11 15/11 63

0 1 7/22 1/22 7/2

1 0 -1/22 3/22 9/2

Karena solusi tidak bulat, suatu kendala Gomory ditambahkan pada tabel itu. Kedua persamaan ( dan ) pada masalah ini memiliki nilai yang sama, yaitu

, sehingga salah satu dapat digunakan, misalkan digunakan persamaan

, ini menghasilkan

(32)

Sehingga kendala Gomory menjadi:

Tabel baru setelah penambahan kendala Gomory menjadi:

Tabel 2.5 Penambahan kendala Gomory contoh 2.3 (iterasi 0)

Basis Solusi

Z 0 0 28/11 15/11 0 63

0 1 7/22 1/22 0 7/2

1 0 -1/22 3/22 0 9/2

0 0 -7/22 -1/22 1 -1/2

Dengan memakai metode dual simpleks diperoleh tabel baru yaitu:

Tabel 2.6 Solusi optimal contoh 2.3 (iterasi 1)

Basis Solusi

Z 0 0 0 1 8 59 0 1 0 0 1 3

1 0 0 1/7 -1/7 32/7

0 0 1 1/7 -22/7 11/7

Solusi baru yang didapat masih belum bilangan bulat, akibatnya suatu kendala Gomory baru ditambahkan. Dapat dilihat bahwa persamaan memiliki (

), maka ditulis dalam berikut:

(33)

Kemudian ditambahkan pada tabel 2.7 berikut:

Tabel 2.7 Penambahan kendala Gomory contoh 2.3 (iterasi 1)

Basis Solusi

Z 0 0 0 1 8 0 59 0 1 0 0 1 0 3

1 0 0 1/7 -1/7 0 32/7

0 0 1 1/7 -22/7 0 11/7

0 0 0 -1/7 -6/7 1 -4/7

Dengan menggunakan dual simpleks diperoleh hasil:

Tabel 2.8 Solusi optimal contoh 2.3 (iterasi 2)

Basis Solusi

Z 0 0 0 0 2 7 55 0 1 0 0 1 0 3 1 0 0 0 -1 1 4 0 0 1 0 -4 1 1 0 0 0 1 6 -7 4

(34)

2.3.4 Metode Branch and Bound

Metode branch and boundadalah salah satu metode untuk mendapatkan

penyelesaian optimal program linier yang menghasilkan variable-variable keputusan bilangan bulat. Metode ini membatasi penyelesaian optimum yang akan menghasilkan bilangan pecahan dengan cara membuat cabang atas dan bawah bagi masing-masing variable keputusan yang bernilai pecahan agar bernilai bulat sehingga setiap pembatasan akan menghasilkan cabang baru.

Metode branch and bound telah menjadi kode computer standar untuk integer programming, dan penerapan-penerapan dalam praktek tampaknya menyarankan bahwa metode ini lebih efisien dibanding dengan metode cutting plane. Metode branch and bound dapat digunakan untuk menyelesaikan masalah pure maupun mixed integer programming.

Berikut ini adalah langkah-langkah penyelesaian masalah maksimasi dengan metode branch and bound:

1. Selesaikan masalah LP biasa tanpa pembatasan bilangan bulat dengan metode simpleks biasa.

2. Teliti solusi optimalnya. Jika semua variabel basis telah bernilai bulat, maka solusi optimum telah tercapai dan proses berakhir. Jika satu atau lebih variabel basis belum bernilai bulat, lanjut ke tahap 3.

3. Jadikan solusi pada penyelesaian tahap 1 (relaxed solution) menjadi batas atas dan sebagai batas bawahnya digunakan solusi yang variabel basisnya telah dibulatkan ke bawah (rounded-down).

4. Pilih variabel yang mempunyai nilai pecahan yang terbesar untuk dijadikan pencabangan ke dalam sub-sub masalah. Tujuannya adalah untuk menghilangkan solusi kontinu yang tidak memenuhi persyaratan bulat dalam masalah itu. Pencabangan dilakukan secara mutually exclusive untuk memenuhi persyaratan bulat dengan jaminan tidak ada solusi bulat layak yang tidak diikut sertakan.

(35)

awalnya, ini adalah solusi kontinu yang dibulatkan ke bawah). Sub – sub masalah yang memiliki batas atas kurang dari batas bawah yang ada, tidak diikut sertakan pada analisa selanjutnya. Suatu solusi bulat layak adalah sama baik atau lebih baik dari batas atas untuk setiap sub masalah yang dicari. Jika solusi yang demikian terjadi, suatu sub masalah dengan batas atas terbaik dipilih untuk dicabangkan. Kembali ke langkah 4.

Untuk masalah minimasi, solusi yang menjadi batas atas dibulatkan keatas, atau dengan kata lain batas atas dan bawah pada kasus minimasi berlawanan pada kasus maksimasi.

Untuk memperoleh gambaran yang lebih jelas tentang metode Branch dan Bound, perhatikan contoh 2.4 berikut:

Contoh 2.4:

Maksimumkan Kendala

,

Solusi optimum kontinu masalah tersebut adalah , , dan

, .

Solusi tersebut merupakan batas awal. Batas bawah merupakan solusi

yang dibulatkan ke bawah, yaitu , dan 34. Pada metode branch

(36)

dan 3 yang selanjutnya akan diuraikan sebagai bagian A dan bagian B. Kendala-kendala baru tersebut secara efektif menghilangkan semua nilai pecah yang mungkin .

Bagian A dan bagian B diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat. Solusi simpleksnya yaitu:

Bagian A: 8, 2, dan 34

Bagian B: 6,5, 3, dan 34,5

(37)

Selanjutnya bagian B dicabangkan ke dalam dua sub bagian, yaitu B1 dan B2. Pada sub bagian B1 ditambah kendala baru yaitu 6, sedangkan pada sub

bagian B2 ditambah kendala 7. Kedua sub-masalah tersebut dinyatakan

sebagai berikut:

Solusi simpleks kedua sub masalah tersebut yaitu: Sub bagian B1: 6, 3,25, dan 34,25 Sub bagian B2: tidak layak.

(38)

Sub bagian B1a:

Solusi optimum dengan metode simpleks adalah: Sub bagian B1a: 6, 3, dan 33. Sub bagian B1b: 4,25, 4, dan 33,5.

(39)

Seluruh prosedur branch and bound untuk masalah ini ditunjukkan pada gambar berikut:

Gambar 2.2 Grafik pencabangan pada metode Branch and Bound Model

Awal

  ,  

,  

 

 

 

,  

,

,   ,

 

 

Tak layak 

inferior

(40)

Bab 3

PEMBAHASAN

3.1 Goal Programming

Pada bab sebelumnya telah dibahas bahwa model linear programming biasa hanya bisa menyelesaikan masalah dengan fungsi tujuan tunggal, tidak dapat menyelesaikan masalah yang melibatkan fungsi tujuan ganda. Misalnya, politisi berjanji untuk mengurangi hutang negara sekaligus menawarkan keringanan pajak penghasilan. Dalam situasi seperti itu, mustahil untuk menemukan solusi tunggal yang dapat mengoptimasi dua tujuan yang bertentangan tersebut.

Memperhatikan hal tersebut, A. Charnes dan W. M. Cooper mengembangkan

model linear programming agar mampu menyelesaikan masalah tersebut yang

kemudia dikenal dengan program tujuan ganda (multi-objective programming). Selain

itu dalam kenyataannya linear programming tidak selalu tepat dan layak bagi suatu

permasalahan terterntu, misalnya:

1. Pertentangan tujuan. Manajemen mungkin menghadapi pertentangan

tujuan antara meminimumkan biaya atau memaksimumkan pelayanan kepada pelanggan. Padahal tingginya tingkat pelayanan akan menjadikan biaya pelayanan semakin tinggi.

2. Perbedaan fungsi tujuan. Misalnya, tujuannya adalah menentukan jumlah unit produksi yang akan memaksimumkan keuntungan atau memaksimumkan market share.

3. Kesulitan mengukur tujuan. Misalnya, tujuannya adalah memaksimumkan tingkat pelayanan kepada pelanggan. Hal tersebut tentunya sulit diukur.

(41)

Adapun program tujuan ganda, yang biasa dikenal dengan multi-objective programming atau goal programming, merupakan kelanjutan dari linear programming yang digunakan untuk menyelesaikan program linier yang memiliki fungsi tujuan lebih dari satu. Selanjutnya tiap fungsi tujuan dinyatakan sebagai goal. Tujuan dari goal programming sendiri adalah meminimumkan penyimpangan dalam mencapai tujuan suatu masalah.

Berdasarkan fungsinya, goal programming dapat dibedakan atas dua macam, yakni :

a. Variabel Deviasional Atas

Variabel ini berada di atas sasaran yang dikehendaki. Dengan kata lain variabel ini berfungsi menampung deviasi positif. Oleh karena itu ia akan selalu mempunyai koefisien -1 pada setiap kendala sasaran. Variabel deviasional atas selanjutnya ditulis sebagai .

b. Variabel Deviasional Bawah

Variabel ini berada di bawah sasaran yang dikehendaki, dengan kata lain variabel ini berfungsi menampung deviasi negatif. Oleh karena itu ia akan selalu mempunyai koefisien +1 pada setiap kendala sasaran. Variabel deviasional bawah selanjutnya ditulis sebagai .

Dengan demikian, jelas bahwa variabel deviasional tersebut mempunyai fungsi yang berbeda. Bila variabel deviasional atas menampung penyimpangan nilai di atas sasaran, maka variabel deviasional atas menampung penyimpangan nilai di bawah sasaran. Sehingga dapat dipahami bahwa nilai penyimpangan minimum di atas maupun sasaran adalah nol dan tidak mungkin negatif.

(42)

atau

(3.1)

Berdasarkan (3.1) dapat diketahui bahwa kedua variabel deviasional tersebut mendekati garis kendala dari arah yang berlawanan. Dalam hal ini, ada 3 kemungkinan yang akan terjadi, yaitu:

1. dan , maka diperoleh:

(3.2)

atau dapat dikatakan hasil di atas sasaran.

2. dan , maka diperoleh:

(3.3) atau dapat dikatakan hasil di bawah sasaran.

3. dan , maka diperoleh:

(43)

Berdasarkan 3 jenis kemungkinan di atas, dapat diketahui bahwa sasaran akan tercapai apabila kedua jenis variabel deviasional bernilai 0. Oleh karena itu, pada model goal programming kedua jenis variabel deviasional dan pada fungsi tujuan menjadi:

Minimumkan:

(3.2)

3.2 Bentuk Umum Goal Programming

Secara umum model goal programming dinyatakan sebagai berikut:

Minimumkan: d d

:

(44)

3.3Perumusan Masalah Goal Programming

Perumusan masalah goal programming hampir sama dengan perumusan masalah linear programming. Perbedaannya terletak dalam penentuan fungsi tujuan. Dalam linear programming yang digunakan adalah variabel simpangannya, sementara pada goal programming adalah variabel keputusannya. Berikut ini beberapa langkah dalam perumusan masalah goal programming.

1. Tentukanlah target goal yang akan dicapai.

2. Dalam setiap kendala goal programming, terdapat variabel deviasi dan di mana:

adalah goal di atas target adalah goal di bawah target

3. Buatlah fungsi tujuan dalam bentuk minimum dan hanya meliputi variabel deviasi (bukan variabel keputusan aslinya).

4. Tulislah semua kendala termasuk kendala linear programming yang akan menjadi kendala dalam goal programming.

3.4Metode Penyelesaian Masalah

Ada dua macam metode yang digunakan untuk menyelesaikan masalah goal programming, yaitu:

1. Metode Grafik

Metode grafik digunakan untuk menyelesaikan masalah goal

programming dengan dua variabel. Langkah-langkah penyelesaian dengan metode grafik adalah:

a. Menggambar fungsi kendala pada bidang kerja sehingga diperoleh daerah yang memenuhi kendala.

b. Meminimumkan variabel deviasional agar sasaran-sasaran yang

(45)

2. Metode Simpleks

Metode simpleks digunakan untuk menyelesaikan masalah goal

programming dengan menggunakan variabel keputusan lebih dari dua. Langkah-langkah penyelesaian goal programming dengan menggunakan metode simpleks adalah:

a. Membentuk tabel simpleks awal.

b. Pilih kolom kunci dengan cara menentukan nilai terbesar kemudian bagikan dengan tiap-tiap nilai variabel pada baris tersebut. Kolom dengan rasio terkecil disebut baris pivot.

c. Pilih baris kunci yang berpedoman pada dengan rasio terkecil di

mana adalah nilai sisi kanan dari setiap persamaan. Baris kunci ini disebut baris pivot.

d. Mencari sistem kanonikal yaitu sistem di mana nilai elemen pivot bernilai 1 dan elemen lain bernilai 0. Dengan demikian diperoleh tabel simpleks iterasi .

e. Mencari variabel masuk dan variabel keluar basis. Variabel yang menjadi kolom pivot akan masuk ke dalam basis. Variabel yang menjadi baris pivot akan keluar dari basis.

f. Pemeriksaan optimalitas, yaitu melihat apakah solusi sudah layak atau tidak. Solusi dikatakan layak bila variabel adalah positif atau nol.

3.5Penyelesaian Multi-Objective Integer Programming dengan Metode Branch and Cut

Pada contoh berikut akan diberikan contoh permasalahan goal programming yang

membutuhkan penyelesaian dalam bilangan bulat murni (pure integer

programming). Penyelesaian akan dilakukan dengan metode branch and cut.

Minimum

Kendala

(46)

, , , , , , , , , , , dan bulat

Penyelesaian dengan Metode Simpleks:

Tabel 3.1 Iterasi 0 simpleks

B

Tabel 3.2 Iterasi 0 simpleks baru

(47)

Tabel 3.3 Tabel Iterasi 1 simpleks

B

P1 -1 0

P2 -1 0

P3 1 -1 7

P4 -1 0

1 2 -1 1

1

1 -1 1 7

1 1 -1 1 18

masuk ke dalam basis dan keluar dari basis

Tabel 3.4 Tabel Iterasi 2 simpleks

B

P1 -1 0

P2 -1 0

P3 -1 0

P4 -1 0

1 -1 2 1 -2

1

(48)

Tabel 3.5 Tabel Iterasi 3 simpleks

B

P1 -1 0

P2 1 -1 2 1 -2

P3 1 -1 2 1

P4 -1 0

1 -1 2 1 -2

1

1 -1 1 7 1 -1 -1 1 11

masuk ke dalam basis dan keluar dari basis

Tabel 3.6 Tabel Iterasi 4 simpleks

B

P1 -1 0

P2

P3 2 0

P4 -1 0

1 -1 2 1 -2

1

(49)

Tabel telah optimal dan didapat penyelesaian , , , dan

serta nilai fungsi tujuan = 0.

Dengan menggunakan bantuan software Lindo, didapat hasil sebagai berikut:

Gambar 3.1. Penyelesaian goal programming dengan LINDO

Dapat dilihat bahwa hasil yang didapat melalui metode simpleks sama dengan hasil yang didapat dengan menggunakan bantuan LINDO. Untuk selanjutnya, penyelesaian akan dilakukan dengan LINDO.

Berdasarkan penyelesaian optimum, penyelesaian yang didapat belum sepenuhnya bulat. Oleh karena itu masalah akan dilakukan pencabangan (branch) pada salah

satu variabel yang belum bulat, maka dicabangkan, sehingga masalah

keseluruhan tidak dihentikan dan algoritma tersebut dilanjutkan.  Masalah selanjutnya dibagi atas dua sub masalah yang masing-masing ditambahkan kendala

(50)

Sub masalah 1:

Minimum Kendala

, , , , , , , , , , , dan bulat

(51)

Sub masalah 2:

Minimum Kendala

, , , , , , , , , , , dan bulat

Gambar 3.3. Penyelesaian sub masalah 2 dengan LINDO

(52)

atau

Sehingga cut yang digunakan yaitu dan ditambahkan ke dalam

masing-masing sub masalah. Berikut sub-sub masalah baru setelah ditambahkan sebuah cut.

Sub masalah 1:

Minimum Kendala

, , , , , , , , , , , dan bulat

(53)

Penyelesaian sudah seluruhnya bulat, dengan , , , dan serta nilai fungsi tujuan = 1.

Sub masalah 2:

Minimum Kendala

, , , , , , , , , , , dan bulat

Gambar 3.5. Penyelesaian sub masalah 2 baru dengan LINDO

Solusi sudah seluruhnya bulat dengan , , , dan serta

(54)

Pada sub masalah 1 dan sub masalah 2 yang baru, keduanya telah mendapat solusi yang bulat dan dengan nilai fungsi tujuan yang sama. Akan tetapi, penyelesaian pada sub masalah 2 lebih dianggap optimal karena memiliki nilai yang lebih kecil dari penyelesaian pada sub masalah 1.

3.6Perbandingan Metode Branch and Bound, Cutting Plane, dan Branch and Cut

Metode branch and cut merupakan kombinasi dari metode branch and bound dan metode cutting plane. Untuk mengetahui perbandingan ketiganya, maka diambil satu contoh masalah integer linear programming. Contoh permasalahan yang akan diambil antara lain adalah contoh 2.3 yang pada bab sebelumnya telah dikerjakan dengan metode cutting plane.

Contoh 2.3

Maksimumkan Kendala

, dan integer

Telah diketahui pada tabel 2.4 bahwa solusi kontinu optimum yang diperoleh yaitu sebagai berikut:

Tabel 2.4 Solusi optimal contoh 2.3 (iterasi 0)

Basis Solusi

Z 0 0 28/11 15/11 63

0 1 7/22 1/22 7/2

1 0 -1/22 3/22 9/2

Pada tabel di atas diketahui solusi optimalnya yaitu , , dan .

(55)

3.6.1 Metode Branch and Bound

Dalam masalah ini, dipilih untuk dicabangkan. Kendala baru yang diperoleh yaitu dan . Selanjutnya akan diuraikan sebagai bagian A dan bagian B.

Bagian A dan bagian B diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat. Solusi simpleksnya yaitu:

Bagian A: , , , dan .

Bagian B: , , dan .

Bagian B diperoleh solusi yang semuanya bulat. Sehingga pencabangan pada bagian tersebut tidak perlu dilanjutkan. Bagian A belum semuanya bulat, yaitu pada sehingga bagian A dicabangkan ke dalam dua sub bagian dan

(56)

Sub bagian A1 dan sub bagian A2 diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat. Solusi simpleksnya yaitu:

Sub bagian A1: , , dan .

Sub bagian A2: tidak layak.

Seluruh solusi dari pencabangan sudah bulat sehingga proses dihentikan

dengan solusi optimal , , dan .

3.6.2 Metode Cutting Plane

Bisa dilihat pada bab sebelumnya proses penyelesaian yang dilakukan dengan metode cutting plane. Penyelesaian optimal yang didapat yaitu , ,

dan .

3.6.3 Metode Branch and Cut Berdasarkan soal, didapat:

dan

Sama halnya dengan metode branch and bound pada 3.6.1, variabel yang

dicabangkan yaitu , sehingga melalui baris pada tabel 2.4 dibentuk

(57)

Selanjutnya dan disubstitusikan menjadi:

Diperoleh cut:

Dapat dilihat pada Bagian A pada penyelesaian dengan metode branch and bound pada 3.6.1 belum semuanya bulat. Sehingga cut yang telah diperoleh ditambahkan ke dalam masalah pada Bagian A. Kemudian diselesaikan

dengan metode simpleks dan didapat penyelesaian , , dan .

Penyelesaian yang diperoleh melalui tiga metode penyelesaian di atas

menghasilkan solusi optimal yang sama, yaitu , , dan .

(58)

Bab 4

KESIMPULAN DAN SARAN

4.1 Kesimpulan

Berdasarkan hasil analisis dari penelitian ini, maka dapat diambil kesimpulan sebagai berikut:

1. Metode branch and cut dapat digunakan untuk menyelesaikan masalah multi-objective integer programming.

2. Cara penyelesaiannya sama dengan single-objective integer programming. 3. Penyelesaian masalah dengan metode branch and cut lebih efisien dari

metode branch and bound dan cutting plane karena adanya bidang pemotongan atau cut.

4.2 Saran

(59)

DAFTAR PUSTAKA

Albert, Shon. 2006. Solving Mixed Integer Linear Programs Using Branch and Cut Algorithm. North Carolina: Faculty of North Carolina State University in Partial Fulfillment of the Requirements for the Degree of Master OF Mathematics.

Ehrgott, Matthias and Gandibleux, Xavier. 2003. Multiple Criteria Optimization: “State Of The Art Annotated Bibliographic Surveys”. United State of America: Kluwer Academic Publishers.

Mitchell, John E. 1999. Branch and Cut Algorithms for Combinatorial

Optimization Problems. New York: Mathematical Sciences Rensselaer Polytechnic Institute

Ozlen, Mehli and Burton, Benjamin A. 2009. Multi-objective integer programming: “An improved recursive algorithm”. Melbourne, Australia: School of Mathematical and Geospatial Science, RMIT University.

Syahputra, Muhammad Romi. 2012. Metode Branch and Bound Untuk

Menyelesaikan Multi-Objective Integer Programming. Medan: Universitas Sumatera Utara

Sinurat, Rista Rida. 2008. Studi Penyelesaian Problema Mixed Integer Linier Programming Dengan Menggunakan Metode Branch and Cut. Medan: Universitas Sumatera Utara

Gambar

Tabel 2.1 Perbandingan solusi dengan metode pendekatan pembulatan dengan bulat
Tabel 2.2 Solusi optimum masalah linear programming
Tabel baru setelah penambahan kendala Gomory disajikan pada tabel berikut:
Tabel 2.4 Solusi optimal contoh 2.3 (iterasi 0)
+7

Referensi

Dokumen terkait

Metode branch and bound merupakan suatu metode yang digunakan untuk menyelesaikan masalah program linier yang menghasilkan penyelesaian dalam bentuk bilangan bulat

Menyatakan dengan sesungguhnya dan sejujumya bahwa skripsi saya yang berjudul: "Optimasi Produksi Dengan Menggunakan Metode Fuuy Integer Linear Programming (Studi

Integer Programming dengan Pendekatan Metode Branch and Bound dan Metode Cutting Plane untuk Optimasi Kombinasi Produk.. Malang: Universitas

Untuk memperoleh hasil bilangan bulat maka digunakan metode branch and cut, dengan ini terlebih dahulu kita terapkan percabangan (branch) yaitu pada bagian A dan

Mencari cara baru yang lebih mudah dan cepat untuk menyelesaikan masalah pemrograman bilangan bulat (integer programming), khususnya masalah pengambilan keputusan

In integer convex quadratic programming problem, KKT conditions reduce nonlinear problem to be linear then change them into linear constraints and form linear objective

 Aplikasi dapat membantu sebagian besar mahasiswa untuk mengatasi kesulitan yang muncul saat mempelajari materi Integer Programming dengan metode Branch and Bound.. Namun

Program Integer Murni ( Pure Integer Programming ), yaitu program linier yang menghendaki semua variabel keputusan harus merupakan bilangan