• Tidak ada hasil yang ditemukan

Penyelesaian Program Bilangan Bulat Campuran Dua Kriteria dengan Menggunakan Metode Branch and Cut

N/A
N/A
Protected

Academic year: 2017

Membagikan "Penyelesaian Program Bilangan Bulat Campuran Dua Kriteria dengan Menggunakan Metode Branch and Cut"

Copied!
28
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

2.1 Program Linier

Program linier adalah suatu cara untuk menyelesaikan persoalan pengalokasian

sumber-sumber yang terbatas di antara beberapa aktivitas yang bersaing, dengan cara terbaik yang mungkin dilakukan. Pokok pikiran utama dalam menggunakan

program linier adalah merumuskan masalah dengan jelas dengan menggunakan sejumlah informasi yang tersedia. Sesudah masalah terumuskan dengan baik, maka langkah berikut ialah menerjemahkan masalah ke dalam bentuk model matematika (Siagian, 2006).

Program linier berkaitan dengan maksimalisasi atau minimalisasi dari fungsi tujuan linier dengan beberapa variabel yang memiliki kesamaan dan ketaksamaan fungsi kendala. Program linier menggunakan model matematis untuk menjelaskan persoalan yang dihadapinya. Sifat “linier” memberi arti bahwa seluruh fungsi matematis dalam model merupakan fungsi yang linier, demikian kata “program” merupakan sinonim untuk perencanaan. Dengan demikian program linier adalah perencanaan aktivitas-aktivitas untuk memperoleh suatu hasil yang optimum, yaitu suatu hasil yang mencapai tujuan terbaik di antara alternatif yang fisibel (Dantzig & Thapa, 1997).

Formulasi model matematis dari persoalan pengalokasian sumber-sumber pada permasalahan program linier adalah sebagai berikut (Sitorus, 1997):

maks/min: Z =

(2)

di mana: $ = fungsi tujuan

= koefisien dari variabel keputusan dalam fungsi tujuan

= variabel keputusan

= koefisien dari variabel keputusan dalam fungsi kendala

= sumber daya yang tersedia dalam fungsi kendala

Dalam kehidupan sehari-hari, program linier merupakan bagian yang sangat penting dalam area matematika yang disebut teknik optimasi. Program

linier umumnya diaplikasikan dalam permasalahan yang dapat dimodelkan ke dalam suatu model matematika, misalnya dalam mencari keuntungan suatu usaha,

pengoptimalan persediaan, juga dalam beberapa masalah industri maupun ekonomi. Adakalanya dalam situasi tertentu solusi yang diinginkan haruslah dalam bilangan bulat, misalnya pada perusahaan manufaktur, perusahaan tidak bisa memproduksi barang setengah, sepertiga, ataupun seperempat dan sebagainya, jadi masalah ini disebut dengan integer linear programming (Syahputra, 2012).

2.1.1 Syarat Utama Program Linier

Agar dapat menyusun dan merumuskan suatu persoalan atau permasalahan yang dihadapi ke dalam model program linier, maka ada lima syarat yang harus dipenuhi (Sitorus, 1997):

1. Tujuan

Apa yang menjadi tujuan permasalahan yang dihadapi yang ingin dipecahkan dan dicari jalan keluarnya. Tujuan ini harus jelas dan tegas yang disebut fungsi tujuan.

2. Alternatif Perbandingan

Harus ada sesuatu atau berbagai alternatif yang ingin diperbandingkan, misalnya antara kombinasi waktu tercepat dan biaya tertinggi dengan waktu

(3)

Sumber daya yang dianalisis harus berada dalam keadaan yang terbatas. 4. Perumusan Kuantitatif

Fungsi tujuan dan kendala harus dapat dirumuskan secara kuantitatif sesuai dengan yang disebut dalam model matematika.

5. Keterkaitan Peubah

Peubah-peubah yang membentuk fungsi tujuan dan kendala tersebut harus memiliki hubungan fungsional atau hubungan keterkaitan.

2.1.2 Karakteristik Program Linier

Karakteristik-karakteristik dalam program linier yang biasa digunakan untuk memodelkan suatu masalah dan memformulasikannya secara matematik, yaitu (Siswanto, 2006):

1. Variabel Keputusan

Variabel keputusan adalah variabel yang secara lengkap menguraikan

keputusan-keputusan yang akan dibuat. 2. Fungsi Tujuan

Fungsi tujuan merupakan suatu hubungan linier dari variabel keputusan yang

berupa fungsi maksimum atau minimum. 3. Fungsi Kendala

(4)

2.1.3 Asumsi dalam Program Linier

Dalam membangun model dari formulasi suatu persoalan akan digunakan karakteristik-karakteristik yang biasa digunakan dalam persoalan program linier, yaitu (Syahputra, 2012):

1. 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.

2. Kesetaraan (Propotionality)

a. Kontribusi setiap variabel keputusan terhadap fungsi tujuan adalah

sebanding dengan nilai variabel keputusan.

b. Kontribusi suatu variabel keputusan terhadap ruas kiri dari setiap pembatas

juga sebanding dengan nilai variabel keputusan itu. 3. Penambahan (Addivity)

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

4. Pembagian (Divisibility)

Solusi dapat berupa bilangan bulat (integer) atau bilangan pecahan. 5. Ketidaknegatifan (Nonnegativity)

Nilai variabel keputusan harus lebih besar atau sama dengan nol. 6. Kepastian (Certainty)

Koefisien pada fungsi tujuan ataupun fungsi kendala merupakan suatu nilai pasti, bukan merupakan suatu nilai dengan peluang tertentu.

Asumsi-asumsi di atas harus dipenuhi apabila ingin menyelesaikan masalah model program linier. Jika asumsi-asumsi tersebut tidak dapat terpenuhi, persoalan dapat diselesaikan dengan program matematika lain seperti integer programming, nonlinear programming, goal programming dan dynamic

(5)

2.1.4 Metode Simpleks

Cara yang paling sederhana untuk menyelesaikan permasalahan program linier adalah dengan pendekatan grafik. Namun cara tersebut hanya bisa diterapkan untuk program linier dengan dua variabel keputusan. Pada kenyataannya sebagian besar permasalahan program linier mempunyai lebih dari dua variabel keputusan. Hal ini tentu sulit untuk menerapkan pendekatan grafik untuk memperoleh penyelesaian dari permasalahan tersebut.

Oleh karen itu, pada tahun 1947 George Dantzig mengajukan suatu metode yang tepat untuk menyelesaiakn permasalahan program linier yang disebut metode simpleks. Metode simpleks merupakan prosedur aljabar yang bersifat iteratif yang bergerak selangkah demi selangkah, dimulai dari titik ekstrim pada daerah feasible menuju titik ekstrim optimum (Siagian, 2006).

Berikut langkah-langkah dalam menyelesaikan permasalahan program linier dengan metode simpleks:

1. Konversikan formulasi persoalan ke dalam bentuk standar.

Agar persamaan garis batasan memenuhi persyaratan penyelesaian daerah kelayakan (feasible) maka semua pertidaksamaan diubah menjadi persamaan

dengan cara menambahkan slack variable, surplus variable dan variabel buatan (artifisial variabel) pada tiap batasan (constraint) serta memberi harga nol pada setiap koefisien tujuannya. Batasan dapat dimodifikasi sebagai berikut:

a. Untuk batasan bernotasi ≤ diubah ke dalam bentuk persamaan dengan

menambahkan variabel slack.

b. Untuk batsan bernotasi ≥ atau = deselesaikan dengan menambahkan

(6)

kasus minimasi dibuat +M sebagai harga dari variabel buatan. Cara pendekatan ini dikenal dengan metode M besar (Big M method).

2. Susun persamaan-persamaan ke dalam tabel simpleks

Tabel 2.1 Bentuk Tabel Simpleks Program Linier

' ... ... ... ... ...

positif untuk kasus maksimasi atau yang memiliki nilai 1$ − 0 2 yang paling

negatif untuk kasus minimasi.

4. Pilih baris kunci yang memiliki nilai indeks terkecil. Nilai indeks adalah

perbandingan nilai kanan dengan kolom kunci,

5. Tentukan nilai elemen cell, yaitu nilai perpotongan antara kolom kunci dan

baris kunci.

6. Lakukan iterasi dengan menentukan baris kunci baru, baris Z baru dan baris

variabel-variabel slack baru.

a. Baris kunci baru ditentukan dengan membagi baris kunci lama dengan elemen cell.

b. Baris Z baru dan baris-baris lainnya ditentukan dengan cara:

Baris lama – (nilai kolom kunci baris yang sesuai × baris kunci baru) c. Letakkan nilai-nilai baris yang baru diperoleh ke dalam tabel.

7. Lakukan uji optimalisasi. Jika semua koefisien pada baris 1$ − 0 2 sudah

(7)

ada lagi yang bernilai negatif (untuk kasus minimasi) berarti sudah optiamal. Jika kriteria belum terpenuhi, diulangi dari langkah 3.

2.2 Program Bilangan Bulat

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

maks/min: Z =

kendala: ≤, =, ≥

≥ 0, semua bilangan bulat

di mana: $ = fungsi tujuan

= koefisien dari variabel keputusan dalam fungsi tujuan

= variabel keputusan

= koefisien dari variabel keputusan dalam fungsi kendala

= sumber daya yang tersedia dalam fungsi kendala

Berdasarkan jenis keputusan yang akan diperoleh, persoalan integer

programming dapat dibedakan atas tiga jenis, yaitu:

(8)

2.2.1 Program Bilangan Bulat Murni (Pure Integer Programming)

Pure Integer Programming (PIP) merupakan pemrograman bilangan bulat di

mana semua nilai variabel keputusan haruslah bilangan bulat. Bentuk umum pure integer programming yaitu (Syahputra, 2012):

maks/min: Z =

kendala: ≤, =, ≥

≥ 0, semua bilangan bulat

di mana: $ = fungsi tujuan

= koefisien dari variabel keputusan dalam fungsi tujuan

= variabel keputusan

= koefisien dari variabel keputusan dalam fungsi kendala

= sumber daya yang tersedia dalam fungsi kendala

2.2.2 Program Bilangan Bulat Campuran (Mixed Integer Programming)

Mixed Integer Programming (MIP) 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 (Syahputra, 2012):

maks/min: Z = + 4565 7

5

kendala: + 8565 7

5

≤, =, ≥

≥ 0, semua bilangan bulat

(9)

di mana: $ = fungsi tujuan

= koefisien dari variabel keputusan dalam fungsi tujuan

= variabel keputusan

= koefisien dari variabel keputusan dalam fungsi kendala

= sumber daya yang tersedia dalam fungsi kendala

45 = nilai kontribusi dari variabel keputusan 65

65 = variabel keputusan tidak harus berupa bilangan bulat

85 = koefisien dari variabel keputusan 69 dalam fungsi kendala

2.2.3 Program Bilangan Bulat Biner (Binary Integer Programming)

Bentuk lain dari masalah program bilangan bulat 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 keputusan, di mana jika solusi yang didapat berupa angka 1 berarti menyatakan “ya” atau angka 0 berarti menyatakan “tidak”. Bentuk umum dari binary integer programming, yaitu (Syahputra, 2012):

maks/min: Z =

kendala: ≤, =, ≥

= 0 : ; 1

di mana: $ = fungsi tujuan

= koefisien dari variabel keputusan dalam fungsi tujuan

= variabel keputusan

= koefisien dari variabel keputusan dalam fungsi kendala

(10)

2.3 Metode Penyelesaian Masalah Program Bilangan Bulat

Dapat kita lihat bahwasanya cukup untuk mendapatkan solusi bulat dari masalah program linier dengan menggunakan metode simpleks biasa dan kemudian membulatkan nilai pecahan pada solusi optimum. Akan tetapi bukan tugas mudah untuk membulatkan nilai pecahan dalam 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 optimum yang berupa bilangan bulat terhadap suatu masalah. Beberapa metode yang dapat digunakan untuk menyelesaikan masalah program bilangan bulat antara lain (Syahputra, 2012):

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

2.3.1 Metode Pendekatan Grafik

Masalah program bilangan bulat yang melibatkan dua variabel dapat diselesaikan

dengan metode pendekatan grafik. Metode ini sama dengan metode grafik yang biasa digunakan dalam program linier. Metode grafik relatif lebih mudah untuk menyelesaikan masalah program bilangan bulat dengan dua variabel yaitu dengan menggambar grafik di atas kertas grafik kemudian menggambarkan sekumpulan titik-titik bilangan bulat dalam ruang solusi layak (Syahputra, 2012).

Dalam hal ini ada masalah berikut yang akan diselesaikan dengan pendekatan grafik sebagai berikut:

contoh 2.1:

carilah nilai bilangan bulat dan ' dari ketentuan berikut (Wolff, 1985):

maks: $ = 3 + 20 '

kendala: + 8 ' ≤ 32

2 + ' ≤ 14

(11)

Model ini serupa dengan model program linier biasa. Perbedaannya terletak pada kendala terakhir yang menginginkan solusi bernilai bilangan bulat positif, solusi grafik untuk masalah ini ditunjukkan pada gambar di bawah:

Gambar 2.1 Penyelesaian dengan Pendekatan Grafik

Solusi optimum masalah program linier di atas adalah = 5,3333,

' = 3,3333 dan $ = 82,6666. Untuk mencari solusi optimum yang bernilai bilangan bulat pada masalah ini, garis Z digeser secara sejajar dari titik yang menunjukkan solusi optimum menuju titik asal. Solusi optimum berupa bilangan bulat adalah titik bilangan bulat pertama yang bersinggungan dengan garis Z yaitu

= 0, ' = 4 dan $ = 80.

2.3.2 Metode Cutting Plane

(12)

Metode cutting plane dikembangkan untuk menemukan solusi optimum bagi program bilangan bulat. Metode ini dilakukan dengan menambahkan suatu kendala yang dinamakan kendala gomory. Penambahan kendala gomory dilakukan pada tabel optimal sehingga dapat mempersingkat perhitungan (Siagian, 2006).

Metode cutting plane digunakan untuk permasalahan yang variabel keputusannya harus bulat. Program linier tidak efektif untuk menyelesaikan permasalahan tersebut sehingga dikembangkan metode cutting plane yang lebih efektif dan memberikan hasil yang lebih baik. Langkah-langkah prosedur gomory diringkas seperti berikut:

1. Selesaikan masalah program bilangan bulat dengan menggunakan metode

simpleks. Jika masalah sederhana, gomory dapat diselesaikan dengan pendekatan grafik, sehingga pendekatan gomory kurang efisien.

2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai bilangan bulat, solusi optimum yang berupa bilangan bulat telah diperoleh dan proses solusi telah berakhir. Jika satu atau lebih variabel basis masih memiliki nilai pecah, teruskan ke tahap 3.

3. Buatlah suatu batasan gomory dan cari solusi optimum melalui prosedur dual simpleks. Kembali ke tahap 2 (Taha, 1996).

Tabel 2.2 Solusi Optimum Masalah Program Linier

(13)

Perhatikan persamaan ke A di mana variabel diasumsikan bernilai tidak

bilangan bulat sebagai berikut:

= − ,

di mana: = variabel basis

, = variabel nonbasis

= koefisien dari variabel keputusan dalam fungsi kendala yang

berupa noninteger

= sumber daya yang tersedia dalam fungsi kendala yang berupa

noninteger

kemudian pisahkan dan menjadi bagian yang bulat dan bagian pecah non

negatif seperti berikut: = C + %B

sehingga % = − CB, di mana 0 ≤ % ≤ 1 =EEEE + %DB

sehingga % = −EEEEDB, di mana 0 ≤ % ≤ 1

dapat kita lihat contoh berikut:

B

C % EEEEDB %

3

2 1 12 −73 −3 23

7

8 0 78 −1 −1 0

7

3 2 13 −25 −1 35

sehingga adapun kendala gomory yang diinginkan sebagai berikut:

,G − % , = −%

di mana: ,G = slack gomory variable

% = bagian pecahan dari

% = bagian pecahan dari

(14)

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. Adapun tabel baru setelah penambahan kendala gomory disajikan pada tabel berikut:

Tabel 2.3 Penambahan Kendala Gomory

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 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. Metode cutting plane ini mempunyai dua kelemahan sebagai berikut:

1. Kesalahan pembulatan yang muncul dalam perhitungan otomatis akan mendistorsi data semula terutama dengan bertambahnya ukuran masalah. 2. Solusi masalah tetap tidak layak, artinya tidak ada solusi integer yang dapat

diperoleh sampai solusi integer optimal dicapai. Ini berarti bahwa tidak ada solusi integer yang baik jika perhitungan dihentikan sebelum mencapai solusi integer yang optimal (Taha, 1996).

(15)

sesuai dengan metode dual simpleks. Kemudian dilakukan penambahan gomory sehingga penambahannya ke tabel akan mempertahankan sifat integer dari semua koefisien. Dan kelemahan kedua dapat menggunakan metode cutting plane yang dimulai dengan integer dan layak, tetapi tidak optimal. Iterasi yang berlanjut tetap layak dan integer sampai solusi optimum dicapai (Taha, 1996).

Dalam hal ini ada masalah diselesaikan dengan metode cutting plane sebagai berikut:

contoh 2.2:

carilah nilai bilangan bulat dan ' dari ketentuan berikut (Syahputra,2012):

maks: $ = 7 + 9 ' kendala: − + 3 ' ≤ 6

7 + ' ≤ 35

, ' ≥ 0 adalah bilangan bulat

dari permasalahan di atas maka diperoleh solusi optimumnya sebagai berikut berikut:

Tabel 2.4 Solusi Optimum Contoh 2.2

7 9 0 0

sehingga dapat diperoleh solusi optimum sebagai berikut: = 4,5000, ' = 3,5000 dan $ = 63

karena solusi tidak diperoleh bilangan bulat, suatu kendala gomory ditambahkan pada tabel tersebut. Kedua persamaan ( dan ') pada masalah ini memiliki nilai % yang sama yaitu % = %' = 0,5000, sehingga salah satu dapat digunakan, misalkan yang digunakan persamaan ', maka dapat diperoleh sebagai berikut:

' + 0,3282, + 0,0455,' = 3,5000

(16)

sehingga kendala gomory menjadi ,81− 0,3282, − 0,0455,' = −0,5000

sehingga dapat dibentuk tabel baru setelah penambahan kendala gomory sebagai

berikut:

kemudian permasalahan di atas setelah penambahan kendala gomory diselesaikan dengan memakai metode dual simpleks, maka diperoleh hasilnya sebagai berikut:

Tabel 2.6 Solusi Optimum dengan Penambahan Kendala Gomory Pertama

7 9 0 0 0

sehingga dapat diperoleh solusi optimum sebagai berikut: = 4,5714, ' = 1,5714 dan $ = 55

karena solusi tidak diperoleh bilangan bulat, suatu kendala gomory ditambahkan

kembali pada tabel tersebut. Dapat dilihat bahwa persamaan memiliki % = 0,5714, sehingga persamaan dapat diperoleh sebagai berikut:

+ 0,1428,'− 0,1428,G = 4,5714

(17)

+ 0 + 0,1428 ,' − 0 + 0,1428 ,G = 4 + 0,5714 sehingga kendala gomory menjadi

,82− 0,1428,'− 0,1428,81= −0,5714

sehingga dapat dibentuk tabel baru setelah penambahan kendala gomory yang baru sebagai berikut:

kemudian permasalahan di atas setelah penambahan kendala gomory yang baru

diselesaikan dengan memakai metode dual simpleks, maka diperoleh hasilnya sebagai berikut:

Tabel 2.8 Solusi Optimum dengan Penambahan Kendala Gomory Kedua

7 9 0 0 0 0

(18)

2.3.3 Metode Branch and Bound

Metode branch and bound adalah salah satu metode untuk mendapatkan penyelesaian optimal pada program linier yang menghasilkan variable-variabel keputusan bilangan bulat. Metode ini membatasi penyelesaian optimum yang akan menghasilkan bilangan pecahan dengan cara membuat cabang atas dan bawah bagi masing-masing variabel keputusan yang bernilai pecahan agar bernilai bulat sehingga setiap pembatasan akan menghasilkan cabang baru.

Metode branch and bound telah menjadi kode komputer standar untuk program bilangan bulat 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 (Syahputra, 2012).

Adapun langkah-langkah penyelesaian masalah maksimasi dengan metode branch and bound sebagai berikut (Syahputra, 2012):

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

2. Teliti solusi optimumnya. 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.

5. Untuk setiap sub masalah, nilai solusi optimum kontinu fungsi tujuan

(19)

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 (Syahputa, 2012).

Dalam hal ini ada masalah berikut yang akan diselesaikan dengan metode branch and bound sebagai berikut:

contoh 2.3:

carilah nilai bilangan bulat dan ' dari ketentuan berikut (Wolfe,1985):

maks: $ = 5 + 2 '

kendala: 6 + 10 ' ≤ 69

3 + 10 ' ≤ 60 6 − 15 ' ≤ 24

, ' ≥ 0 adalah bilangan bulat

dari permasalahan tersebut maka diperoleh solusi optimumnya sebagai berikut berikut:

Tabel 2.9 Solusi Optimum Contoh 2.3

5 2 0 0 0

(20)

dan solusi tersebut belum diperoleh bilangan bulat maka diterapkan metode branch and bound, kita ketahui bahwa dan ' belum berupa bilangan bulat, maka kita pilih variabel yang solusinya bernilai pecahan terbesar untuk

dicabangkan, yang dalam hal ini merupakan nilai pecahan terbesar, jadi yang dicabangkan. Untuk menghilangkan bagian pecahan pada , dua kendala

baru dibuat. Nilai bulat terdekat terhadap 8,5000 yaitu 8 dan 9. Sehingga

diperoleh dua kendala baru yang saling mutually exclusive, yaitu ≤ 8 dan ≥ 9, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada . Kemudian akan diuraikan permasalahan tersebut kedalam bagian A dan bagian B sebagai berikut:

Bagian A:

maks: $ = 5 + 2 ' kendala: 6 + 10 ' ≤ 69

3 + 10 ' ≤ 60

6 − 15 ' ≤ 24

1 + 0 ' ≤ 8

, ' ≥ 0 Bagian B:

maks: $ = 5 + 2 ' kendala: 6 + 10 ' ≤ 69

3 + 10 ' ≤ 60

6 − 15 ' ≤ 24

1 + 0 ' ≥ 9

, ' ≥ 0

(21)

Tabel 2.10 Solusi Optimum pada Bagian A

sehingga dapat diperoleh solusi optimum sebagai berikut: = 8, ' = 2,1000 dan $ = 44,200

dan pada bagian B tidak diperoleh solusi yang layak. Dari solusi pada bagian A

belum diperoleh bilangan bulat maka diterapkan metode branch and bound, kita ketahui bahwa ' belum berupa bilangan bulat maka 'yang dicabangkan. Untuk menghilangkan bagian pecahan pada ', dua kendala baru dibuat. Nilai bulat

terdekat terhadap 2,1000 yaitu 2 dan 3. Sehingga diperoleh dua kendala baru

yang saling mutually exclusive, yaitu ' ≤ 2 dan ' ≥ 3, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada '. Kemudian akan diuraikan permasalahan bagian A kedalam bagian C dan

(22)

Bagian D:

maks: $ = 5 + 2 '

kendala: 6 + 10 ' ≤ 69

3 + 10 ' ≤ 60 6 − 15 ' ≤ 24

1 + 0 ' ≤ 8

0 + 1 ' ≥ 3

, ' ≥ 0

kemudian bagian C dan bagian D diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat, adapun solusi optimumnya sebagai berikut:

Tabel 2.11 Solusi Optimum pada Bagian C

5 2 0 0 0 0 0

Solusi Variabel

Basis

Harga

Basis ' , ,' ,J ,K ,L

, 0 0 0 1 0 0 -6 -10 1

,' 0 0 0 0 1 0 -3 -10 16

5 1 0 0 0 0 1 0 8

' 2 0 1 0 0 0 0 1 2

,J 0 0 0 0 0 1 6 15 6

$ − 0 0 0 0 0 0 5 2 44

sehingga dapat diperoleh solusi optimum sebagai berikut: = 8, ' = 2 dan $ = 44

(23)

Tabel 2.12 Solusi Optimum pada Bagian D

sehingga dapat diperoleh solusi optimum sebagai berikut: = 6,5000, ' = 3 dan $ = 38,5000

dan terlihat bahwa solusi optimum pada bagian D belum semua merupakan bilangan bulat. Dari solusi pada bagian belum diperoleh bilangan bulat maka

diterapkan metode branch and bound, kita ketahui bahwa belum berupa bilangan bulat maka yang dicabangkan. Untuk menghilangkan bagian pecahan

pada , dua kendala baru dibuat. Nilai bulat terdekat terhadap 6,5000 yaitu 6 dan 7. Sehingga diperoleh dua kendala baru yang saling mutually exclusive, yaitu

' ≤ 6 dan ' ≥ 7, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada . Kemudian akan

(24)

Bagian F: pembatasan bilangan bulat, adapun solusi optimumnya sebagai berikut:

Tabel 2.13 Solusi Optimum pada Bagian E

5 2 0 0 0 0 0 0 0

sehingga dapat diperoleh solusi optimum sebagai berikut: = 6, ' = 3,3000 dan $ = 36,6000

dan terlihat bahwa solusi optimum pada bagian E belum semua merupakan bilangan bulat, kemudian pada bagian F tidak diperoleh solusi yang layak. Jadi dari solusi pada bagian E belum diperoleh bilangan bulat maka diterapkan metode

branch and bound, kita ketahui bahwa ' belum berupa bilangan bulat maka

(25)

baru dibuat. Nilai bulat terdekat terhadap 3,3000 yaitu 3 dan 4. Sehingga

diperoleh dua kendala baru yang saling mutually exclusive, yaitu ' ≤ 3 dan

' ≥ 4, kendala-kendala baru tersebut secara efektif akan menghilangkan semua nilai pecah yang mungkin ada pada '. Kemudian akan diuraikan permasalahan bagian E kedalam bagian G dan bagian H sebagai berikut:

Bagian G:

maks: $ = 5 + 2 ' kendala: 6 + 10 ' ≤ 69

3 + 10 ' ≤ 60

6 − 15 ' ≤ 24

1 + 0 ' ≤ 8 0 + 1 ' ≤ 2

1 + 0 ' ≤ 6 0 + 1 ' ≤ 3

, ' ≥ 0 Bagian H:

Maks: $ = 5 + 2 '

kendala: 6 + 10 ' ≤ 69

3 + 10 ' ≤ 60

6 − 15 ' ≤ 24

1 + 0 ' ≤ 8 0 + 1 ' ≤ 2

1 + 0 ' ≤ 6 0 + 1 ' ≥ 4

(26)

bagian G dan bagian H diselesaikan dengan metode simpleks tanpa pembatasan bilangan bulat, adapun solusi optimumnya sebagai berikut:

Tabel 2.14 Solusi Optimum pada Bagian G

5 2 0 0 0 0 0 0 0 0

Solusi Variabel

Basis

Harga

Basis ' , ,' ,J ,K ,L ,M ,N ,O

, 0 0 0 1 0 0 0 0 0 -6 -10 3

,' 0 0 0 0 1 0 0 0 0 -3 -10 12

,J 0 0 0 0 0 1 0 0 0 -6 15 33

,K 0 0 0 0 0 0 1 0 0 -1 0 2

' 5 0 1 0 0 0 0 0 0 0 1 3

2 1 0 0 0 0 0 0 0 1 0 6

,M 0 0 0 0 0 0 -1 1 0 1 0

$ − 0 0 0 0 0 0 0 0 0 5 2 36

sehingga dapat diperoleh solusi optimum sebagai berikut:

(27)

Tabel 2.15 Solusi Optimum pada Bagian H

5 2 0 0 0 0 0 0 0 0 0

Solusi Variabel Basis Harga

Basis ' , ,' ,J ,K ,L ,M ,N ,O ,P

5 1 0 0,1667 0 0 0 0 0 0 -1,6667 1,6667 4,8333

,' 0 0 0 -0,5000 1 0 0 0 0 0 -5 5 5,5000

,J 0 0 0 -1 0 1 0 0 0 0 25 -25 55

,K 0 0 0 -0,1667 0 0 1 0 0 0 1,6667 -1,6667 3,1667

' 2 0 1 0 0 0 0 0 0 0 1 -1 4

,M 0 0 0 -0,1667 0 0 0 0 0 1 1,6667 -1,6667 1,1667

,L 0 0 0 0 0 0 -1 1 0 1 -1 1

$ − 0 0 0 0,8333 0 0 0 0 0 0 -6,3333 6,3333 36,1670

sehingga dapat diperoleh solusi optimum sebagai berikut:

(28)

36

Gambar 2.2. Diagram Prosedur Permasalahan dengan Metode Branch and Bound

Gambar

Tabel 2.1 Bentuk Tabel Simpleks Program Linier
Gambar 2.1 Penyelesaian dengan Pendekatan Grafik
Tabel 2.2 Solusi Optimum Masalah Program Linier
Tabel 2.3 Penambahan Kendala Gomory
+7

Referensi

Dokumen terkait

Program linier bilangan bulat merupakan suatu model program linier yang khusus digunakan untuk menyesuaikan suatu problem di mana nilai variabel- variabel keputusan dalam

Program linier bilangan bulat merupakan suatu model program linier yang khusus digunakan untuk menyesuaikan suatu problem di mana nilai variabel- variabel keputusan dalam

Dengan demikian kita dapat melihat bahwasanya perbandingan antara metode Bisection dengan metoda Regula Falsi adalah bahwa dengan menggunakan metode Regula Falsi,

Menggunakan solusi fisibel dari fase I yaitu penyelesaian fisibel awal (menjadi tabel awal) untuk permasalahan awal/yang sesungguhnya dengan mensubstitusikan