• Tidak ada hasil yang ditemukan

BAB II : PROGRAM LINEAR

D. Metode Pencabangan dan Pembatasan

III. Bab III : Masalah Pendaratan

IV. Bab IV : Aplikasi Program Linear Bilangan Bulat Dalam Penjadwalan Penerbangan Pada Bandar Udara Supadio V. Bab V : Penutup

BAB II

Program Linear

A. Matriks dan Operasi Baris Elementer

Matriks merupakan suatu susunan bilangan-bilangan (real maupun

kompleks) yang berbentuk segi empat dan ditulis diantara tanda kurung. Tanda kurung yang biasa digunakan ialah ( ) ataupun , -. Ukuran matriks ditentukan oleh jumlah baris dan kolom yang terdapat pada matriks tersebut. Misalkan jumlah baris pada matriks tersebut adalah m dan jumlah kolom pada matriks tersebut adalah n, maka matriks tersebut berukuran . Ukuran matriks ini untuk seterusnya disebut sebagai ordo matriks. Penamaan matriks ditulis dengan

menggunakan huruf kapital, sedangkan elemen-elemen di dalam matriks ditulis dengan huruf kecil. Bila A merupakan suatu matriks dan merupakan

elemen-elemen dalam matriks, maka secara umum matriks A dapat dituliskan sebagai berikut : [ ]

Matriks dapat digunakan untuk menyelesaikan masalah program linear. Dalam menyelesaikan program linear, suatu matriks haruslah diubah bentuknya menjadi matriks eselon ataupun menjadi bentuk matriks eselon tereduksi dengan menggunakan operasi baris elementer (OBE).

Definisi 2.1.1

Suatu matriks A dikatakan dalam bentuk eselon jika :

1. Elemen tak nol pertama pada sembarang baris taknol harus diletakkan disebelah kanan entri yang pertama di baris di atasnya. Elemen tak nol pertama dalam setiap baris disebut sebagai elemen kunci.

2. Baris yang semua elemennya nol dikelompokkan di baris akhir pada matriks.

Definisi 2.1.2

Suatu matriks A dikatakan dalam bentuk eselon baris tereduksi jika semua

kondisi di bawah dipenuhi :

1. Matriks A berbentuk matriks eselon 2. Semua elemen kunci dari A adalah 1.

3. Semua elemen di atas elemen kunci adalah 0.

Definisi 2.1.3

Matriks yang diperluas (augmented matrix)pada suatu sistem persamaan linear

adalah matriks yang dibentuk dari matriks koefisien dan diberikan kolom tambahan untuk nilai koefisien pada sisi kanan sistem persamaan linear.

Definisi 2.1.4

Misalkan * + merupakan himpunan vektor dari matriks .

Suatu vektor dari disebut bergantung linear pada S jika terdapat skalar

sedemikian sehingga :

Vektor inilah yang disebut sebagai kombinasi linear.

Contoh 1.1 :

Misalkan . / . /adalah vektor-vektor di . wmerupakan

kombinasi linear dari v, jika w dapat dinyatakan sebagai kelipatan dari v

. / . /

Karena w dapat dinyatakan sebagai kelipatan dari v maka w merupakan kombinasi linear dari v

Definisi 2.15

Matriks A dan B dikatakan ekivalen baris jika matriks B dapat diperoleh dengan mengenakan operasi baris elementer pada matriks A.

Definisi 2.1.6

Operasi baris elementer merupakan operasi yang dilakukan untuk mengubah

matriks biasa menjadi matriks eselon ataupun matriks eselon baris tereduksi, dengan langkah-langkah :

1. Menukar baris i dengan baris j

2. Mengalikan setiap elemen pada baris i dengan suatu skalar k

3. Mengubah baris i dengan cara menjumlahkan elemen-elemen pada baris i

dengan perkalian baris j dengan skalar k.

Operasi baris elementer ini tidak mengubah sistem persamaan linear itu sendiri. Artinya, penyelesaian yang dihasilkan oleh operasi baris elementer akan sama hasilnya dengan penyelesaian sistem persamaan linear sebelumnya. Hal ini dijamin oleh teorema berikut ini :

Teorema 2.1 :

Andaikan matriks A dan B merupakan matriks ekuivalen baris. Maka sistem yang dimiliki oleh matriks A sebagai matriks yang diperluas memiliki himpunan penyelesaian yang sama seperti sistem yang dimiliki matriks B sebagai matriks yang diperluas.

Bukti :

Jika dikenakan sebuah operasi baris elementer pada matriks A, maka diperoleh matriks A1, dimana matriks tersebut merupakan suatu matriks yang diperluas untuk sistem yang baru. Asumsikan bahwa sistem yang baru memiliki himpunan penyelesaian yang sama seperti sistem asli dengan matriks yang diperluas A. Untuk melihat bahwa sistem yang baru memiliki himpunan

penyelesaian yang sama seperti sistem aslinya, catat bahwa setiap baris dari A1

adalah kombinasi linear baris dari matriks asli. Maka untuk setiap persamaan pada sistem yang baru merupakan kombinasi linear dari persamaan pada sistem asli, dimana persamaan pada sistem baru menunjukkan bahwa setiap penyelesaian dari sistem asli juga merupakan suatu penyelesaian lainnya.

Sebaliknya, setiap penyelesaian dari sistem yang baru juga merupakan penyelesaian asli. Hal ini dikarenakan dapat dibaliknya operasi baris elementer. Dampak yang ditimbulkan dari penjumlahan perkalian dari baris yang diberikan ke baris lainnya dapat dibatalkan dengan mengurangkan perkalian yang sama pada baris yang diberikan. Pembagian dengan bilangan tak nol dapat membatalkan dampak yang ditimbulkan dari perkalian konstanta tak nol pada suatu baris. Maka dari matriks A1 dapat ditransformasikan kembali pada matriks A

menggunakan operasi baris elementer. Uraian yang sama pada sebelumnya sekarang menunjukkan bahwa setiap penyelesaian dari sistem yang baru juga merupakan suatu penyelesaian dari sistem asli. Sehingga dari uraian membuktikan bahwa sistem yang baru memiliki himpunan penyelesaiana yang sama seperti sistem asli dengan matriks yang diperluas A adalah benar.

Sekarang karena B ekuivalen baris dengan A, maka terdapat urutan

dari suatu matriks, dimana , dan untuk setiap i ,

dihasilkan dengan mengenakan operasi baris elementer pada . Sistem

pada matriks yang diperluas Ai disebut sistem i, sehingga untuk matriks A dimana matriks maka sistem untuk matiks A disebut matriks 0, begitupula untuk matriks B memiliki sistem n. Dari uraian sebelumnya, himpunan penyelesaian dari

sistem 0 memiliki himpunan penyelesaian yang sama dengan sistem 1, himpunan penyelesaian untuk sistem 2 sampai himpunan penyelesaian sistem n juga memiliki himpunan penyelesaian yang sama. Sehingga uraian ini membuktikan teorema 2.1.

B. Program Linear

Program Linear (Linear Programming) merupakan salah satu teknik analisis dari kelompok teknik riset operasi yang menggunakan model matematika. Program Linear (PL) bertujuan untuk mencari, memilih, dan menentukan alternatif yang terbaik diantara sekian alternatif layak yang tersedia. Pada tahun 1947, Dr. George Dantzig, matematikawan Amerika Serikat mengembangkan suatu metode yang efisien, yaitu metode simpleks untuk menyelesaikan program linear. Sejak pengembangan metode simpleks oleh Dr. George Dantzig, program linear sering digunakan untuk menyelesaikan permasalahan yang ada di kehidupan sehari-hari, baik di bidang ekonomi, industri, militer, maupun sosial.

Salah satu ciri khas dari program linear ialah masalah yang hendak diselesaikan dengan program linear harus memenuhi lima macam asumsi dasar, yakni :

1. Linearitas

Yakni fungsi tujuan dari kendala haruslah berbentuk linear 2. Proporsionalitas

Perubahan nilai pada fungsi objektif akan sebanding dengan perubahan tingkat kegiatan yang dilakukan.

3. Aditivitas

Asumsi ini menganggap nilai tujuan dari masing-masing kegiatan tidak saling mempengaruhi

4. Divisibilitas

Nilai pada variabel keputusan dapat berupa pecahan maupun berupa bilangan bulat.

5. Deterministik

Asumsi ini menyatakan bahwa semua parameter yang terdapat pada program linear dapat diperkirakan dengan pasti, meskipun jarang dipenuhi secara tepat

Dalam program linear akan ditemukan beberapa istilah yang akan mendukung penyelesaian dari program linear, yakni:

Definisi 2.2.1

Variabel keputusan (decision variable) merupakan suatu unsur yang perubahannya berdampak pada pengambilan keputusan penyelesaian masalah. Variabel keputusan biasanya dinotasikan sebagai dengan

Definisi 2.2.2

Variabel pengetat (slack variable) merupakan variabel tambahan yang mengubah suatu sistem pertidaksamaan menjadi sistem persamaan, dengan cara menambahkan variabel pengetat tersebut pada ruas kiri suatu pertidaksamaan. Variabel pengetat ini digunakan pada pertidaksamaan yang berbentuk

Definisi 2.2.3

Variabel Surplus merupakan variabel tambahan yang menjadikan suatu sistem

pertidaksamaan menjadi sistem persamaan, dengan cara mengurangkan variabel pengetat tersebut pada ruas kiri suatu pertidaksamaan. Variabel surplus ini digunakan pada pertidaksamaan yang berbentuk ( ) .

Definisi 2.2.4

Fungsi objektif adalah fungsi dari variabel keputusan yang dibuat dengan tujuan

memaksimalkan keuntungan atau meminimumkan kerugian.

Definisi 2.2.5

Batasan-batasan yang dikenakan pada variabel keputusan yang dapat berupa persamaan atau pertidaksamaan disebut kendala. Kendala inilah yang akan

mempengaruhi pengambilah keputusan.

Definisi 2.2.6

Koefisien teknis (technological coefficient) adalah koefisien yang dimiliki oleh variabel keputusan. Disebut koefisien teknis karena koefisien ini mempengaruhi teknologi yang akan digunakan dalam penyelesaian program linear.

Definisi 2.2.7

Sebuah fungsi ( ) disebut fungsi linear jika dan hanya jika untuk sembarang konstanta , dapat ditulis sebagai :

Definisi 2.2.8

Jika suatu fungsi linear pada sisi kiri bernilai sama atau melebihi fungsi atau konstanta pada sisi kanan, maka kondisi ini disebut pertidaksamaan linear dan

direpresentasikan dalam bentuk:

( )

dengan ( ) merupakan fungsi linear.

Sama halnya, jika fungsi pada sisi kirinya bernilai kurang dari atau sama dengan fungsi atau konstanta pada sisi kanan. Kondisi ini direpresentasikan dalam bentuk:

( )

dengan ( ) merupakan fungsi linear.

Definisi 2.2.9

Konstanta yang berada pada sisi kanan suatu persamaan pada kendala menunjukkan sumber daya yang tersedia. Sisi sebelah kanan ini biasa dinotasikan dengan RHS (Right Hand Side).

Program linear adalah suatu masalah optimasi yang mana fungsi objektif dari permasalahan ini berbentuk linear, serta variabel dan kendala yang terdapat pada program linear terdiri dari persamaan dan pertidaksamaan linear. Adapun bentuk umum dari masalah program linear ialah :

Minimumkan/maksimumkan

Yang memenuhi kendala sebagai berikut :

dengan ,

dimana z adalah fungsi objektif, merupakan variabel keputusan, adalah

koefisien teknis, adalah RHS.

Secara umum bentuk di atas dapat dituliskan sebagai :

Minimumkan/maksimumkan

yang memenuhi kendala sebagai berikut :

Bila semua kendala pada masalah memaksimumkan berbentuk ∑

maka bentuk program linear tersebut dikatakan bentuk maksimum baku.

Definisi 2.2.10

Penyelesaian dalam program linear berarti himpunan nilai variabel-variabel

keputusan yang memenuhi kendala-kendala.

Definisi 2.2.11

Penyelesaian optimal merupakan penyelesaian yang memaksimumkan/

meminimumkan fungsi objektif .

Adapun dalam penyelesaian program linear, terdapat tiga kemungkinan penyelesaian, yakni :

1. Program linear tidak memiliki penyelesaian 2. Program linear memiliki penyelesaian tunggal

3. Program linear memiliki penyelesaian tak hingga banyak

Dalam menyelesaikan program linear banyak metode yang dapat digunakan, diantaranya metode grafik dan metode simpleks. Pada tugas akhir ini akan dibahas mengenai metode simpleks untuk menyelesaikan permasalahan program linear.

C. Metode Simpleks

Metode simpleks dikembangkan oleh George Dantzing pada tahun 1947. Metode simpleks merupakan suatu metode yang digunakan untuk mencari penyelesaian program linear dengan didasari teknik eliminasi eselon baris tereduksi dalam penentuan penyelesaian optimalnya dan memerlukan perhitungan yang berulang-ulang. Metode simpleks ini memiliki keunggulan dibandingkan dengan metode grafik, yakni masalah program linear yang dapat diselesaikan tidak hanya terbatas pada dua variabel keputusan saja, melainkan dapat mencakup lebih dari dua variabel keputusan.

Pada tugas akhir ini, masalah program linear yang akan dibahas memiliki kendala berbentuk campuran. Kendala berbentuk campuran yang dimaksud adalah pada kendala memiliki beberapa bentuk pertidaksamaan maupun berbentuk persamaan, yakni ( ) , ( ) , dan

( ) . Oleh karena itu, metode simpleks yang akan dibahas pada tugas akhir ini menggunakan kendala campuran. Adapun untuk memudahkan pembaca dalam memahami metode simpleks, maka digunakanlah prinsip memaksimumkan, karena prinsip memaksimumkan dalam metode simpleks lebih mudah dipahami daripada prinsip meminimumkan.

Tahapan-tahapan yang harus dilakukan dalam menyelesaikan permasalahan program linear dengan metode simpleks yakni :

1. Mengubah masalah program linear bentuk umum menjadi bentuk kanonik, dengan cara mengubah kendala berbentuk pertidaksamaan menjadi bentuk persamaan.

Beberapa hal yang harus dilakukan pada tahapan ini ialah :

a. untuk kendala yang berbentuk pertidaksamaan linear ( ) sisi kiri pertidaksamaan dijumlahkan dengan variabel pengetat sehingga pertidaksamaan berubah menjadi persamaan

( )

b. untuk setiap kendala yang berbentuk ( ) , sisi kiri pertidaksamaan dikurangi dengan suatu variabel surplus dan ditambah dengan variabel semu sehingga pertidaksamaan berubah menjadi ( )

c. jika RHS suatu masalah program linear bernilai negatif ( ), maka setiap suku pada kendala terkait haruslah dikali -1 agar diperoleh

.

2. Membuat tabel awal simpleks

Tabel awal simpleks ini berisi koefisien-koefisien fungsi objektif dan kendala pada masalah program linear kanonik. Misalkan bentuk kanonik dari masalah program linear dengan kendala campuran dituliskan sebagai :

Maksimumkan : ∑ ∑ dengan kendala

( ) ( ) ( ) ( )

dengan :

:koefisien variabel keputusan,

: variabel keputusan,

: koefisien fungsi objektif,

: RHS,

: variabel pengetat,

: variabel surplus, : variabel semu, ( )

Maka tabel awal metode simpleks ini ialah :

Tabel 2.3.1. Tabel awal simpleks

… 0 … 0 0 … 0 -M … -M

… … …

0 1 … 0 0 … 0 0 … 0

VD VND

0 0 .. 1 0 … 0 0 … 0 -M ( ) ( ) 0 … 0 -1 … 0 1 … 0 -M 0 … 0 0 … -1 0 … 1 0 … 0 0 … 0 0 … 0 -M … -M Z … 0 … 0 0 … 0 0 … 0 Definisi 2.2.11

Variabel dasar (VD) merupakan variabel yang nilainya positif dan hanya

muncul satu kali pada tabel simpleks dan nilainya ialah +1. Banyaknya variabel dasar akan sama dengan banyaknya kendala. Pada penyelesaian awal variabel pengetat merupakan variabel dasar. Sedangkan variabel non dasar (VND) merupakan variabel yang nilainya nol pada sembarang iterasi.

3. Melakukan uji optimalitas

Setelah dilakukan pengubahan bentuk program linear menjadi bentuk kanonik, maka yang dilakukan selanjutnya ialah uji optimalitas. Uji optimalitas ini bertujuan untuk menentukan apakah variabel dasar sudah mengoptimalkan nilai fungsi objektif atau belum. Pada tahapan ini nilai

merupakan indikator yang menunjukkan penambahan nilai (fungsi objektif) yang masih memungkinkan untuk terjadi. Langkah-langkah yang

dilakukan dalam melakukan uji optimalitas adalah menyelidiki semua nilai

, kemudian perhatikan tiga hal berikut ini :

a. Nilai menunjukkan masih dimungkinkan untuk terjadi penambahan nilai z pada perhitungan selanjutnya.

b. Apabila semua maka penyelesaian yang ada sudah bernilai optimal, maka pencarian dihentikan. Hal ini dikarenakan sudah tidak ada penambahan nilai yang dapat terjadi.

4. Mencari variabel dasar yang akan keluar dan variabel non dasar yang akan masuk ke dalam tabel simpleks.

Langkah-langkah yang dilakukan pada tahapan ini ialah : a. Menentukan kolom kunci

Kolom kunci diperoleh dengan menentukan maksimum dari . Hal ini dipilih karena tujuan utama dari masalah program linear adalah memaksimumkan nilai , maka untuk mencari kolom kunci dicari penambahan nilai yang terbesar.

b. Menyelidiki kolom kunci

Hal yang perlu diperhatikan pada tahapan ini ialah :

i) Jika pada semua elemen pada kolom kunci bernilai negatif, maka perhitungan dihentikan, karena pada masalah program ini tidak memiliki penyelesaian.

ii) Namun apabila tidak semua elemen kunci bernilai negatif, maka perhitungan dilanjutkan pada langkah selanjutnya.

c. Menentukan baris kunci

Baris kunci diperoleh dengan uji rasio, yakni dengan menentukan

(

* . d. Menentukan elemen kunci

Elemen kunci adalah perpotongan antara baris kunci dan kolom kunci. Elemen kunci inilah yang menjadi variabel dasar yang baru.

e. Mengubah elemen pada pivot menjadi +1 dan mengubah elemen-elemen terkait menggunakan operasi baris elemen-elementer. Hal ini dilakukan karena elemen-elemen dari kolom variabel dasar selalu direpresentasikan dengan vektor dasar standar.

5. Setelah nilai pada baris bernilai tak positif, maka penyelesaian telah optimal. Perhitungan dihentikan. Hasil akhir dilihat dari nilai yang terdapat pada perhitungan, dalam hal ini . Namun, jika nilai pada baris masih ada yang bernilai positif, maka perhitungan dilanjutkan pada langkah ke-4.

Dari langkah-langkah di atas didapatkan algoritma untuk metode simpleks yakni :

1. Ubah pertidaksamaan pada fungsi objektif dan kendala ke dalam kanonik

2. Membuat tabel simpleks awal

3. Jika semua nilai tak positif maka perhitungan dihentikan. Namun jika ada yang bernilai positif, perhitungan dilanjutkan.

4. Tentukan :

a. kolom kunci dengan menentukan ( ), jika :

i) semua elemen kolom kunci bernilai negatif, perhitungan dihentikan

ii) tidak semua elemen kolom kunci bernilai negatif, perhitungan dilanjutkan

b. baris kunci dengan menentukan (

* dimana

c. elemen kunci dengan cara mencari perpotongan kolom kunci dan baris kunci

5. Lakukan operasi baris elementer pada elemen yang terkait elemen kunci dan kembali ke langkah 4

Berikut akan diberikan contoh penyelesaian program linear dengan metode simpleks: Contoh 2.3.1 : Maksimumkan Kendala : Penyelesaian : Iterasi 1

Maksimalkan

Kendala :

Tahap ke-2 : membuat tabel awal simpleks

3 2 0 0 Peubah bebas 0 2 5 1 0 9 9/2 0 4 2 0 1 9 9/4 0 0 0 0 0 3 2 0 0

Tahap ke-3 : uji optimalitas

Menyelidiki nilai , karena nilai maka perhitungan dilanjutkan

Tahap ke-4 : menentukan variabel dasar mana yang akan keluar

a. Menentukan kolom kunci dengan mencari maksimum dari , yakni 3 yang terdapat pada kolom

b. Menyelidiki kolom kunci dengan melihat nilai pada kolom kunci. Karena pada kolom kunci nilai pada elemen-elemennya bernilai positif, maka perhitungan dilanjutkan.

c. Menentukan baris kunci dengan mencari minimum dari

(

* , yakni .

d. Elemen kunci pada masalah ini adalah perpotongan antara kolom dan baris .

e. Mengubah elemen kunci menjadi +1 dan mengubah elemen-elemen terkait menggunakan operasi baris elementer. Sehingga didaptkan tabel seperti di bawah ini:

3 2 0 0 Peubah bebas 0 0 4 1 -1/2 9 9/8 3 1 0.5 0 1/4 9/4 9/2 3 3/2 0 3/4 -27/4 0 1/2 0 -3/4

Karena pada tabel masih terdapat nilai , maka perhitungan dilanjutkan kembali pada langkah 4.

Iterasi 2 :

a. Menentukan kolom kunci, yakni kolom

b. Karena nilai pada elemen-elemen kolom kunci bernilai positif, maka perhitungan dilanjutkan.

c. Menentukan baris kunci, yakni baris

d. Pivot pada masalah ini adalah perpotongan antara kolom dan baris . e. Mengubah elemen pada pivot menjadi +1 dan mengubah elemen-elemen

terkait manggunakan operasi baris elementer. Sehingga didapatkan tabel seperti di bawah ini :

3 2 0 0 Peubah bebas 2 0 1 1/4 -1/8 9/8 3 1 0 -1/8 5/16 27/16 3 2 1/8 11/16 117/16 0 0 -1/8 -11/16

Karena nilai maka perhitungan dihentikan, karena telah diperoleh peyelesaian optimal. Berdasarkan tabel, diperoleh

,

dan .

Penyelesaian yang didapatkan dengan metode simpleks ini sama dengan hasil yang diperoleh pada Software QM for windows 2, yakni :

Dari keluaran tersebut didapatkan penyelesaian untuk masalah program linear adalah dan dengan nilai z = 7.3125.

Metode simpleks yang telah dipaparkan di muka merupakan metode simpleks yang digunakan untuk menyelesaikan masalah program linear maksimisasi. Untuk menyelesaikan program linear minimisasi, langkah yang digunakan sama dengan langkah masalah program linear maksimisasi, hanya saja koefisien pada fungsi objektif dikali dengan -1. Penyelesaian yang diperoleh dengan masalah maksimisasi ini akan sama dengan penyelesaian masalah minimumnya. Hanya saja nilai dari fungsi objektif dari masalah program linear minimum ini merupakan negatif dari nilai fungsi objektif masalah program linear maksimum.

Berikut akan diberikan contoh untuk masalah minimisasi :

Contoh 2.3.2 :

minimumkan

kendala :

Pertama, langkah yang harus dilakukan adalah mengalikan fungsi objektif dengan -1:

Kemudian ubah kendala berbentuk pertidaksamaan ke dalam bentuk kanonik:

Dengan cara yang sama seperti masalah maksimisasi menggunakan metode simpleks didapatkan dengan z = -100. Sehingga penyelesaian dari masalah program linear minimisasi di atas yakni

, dengan nilai dari fungsi objektif masalah minimisasi adalah ( ) .

D. Metode Pencabangan dan Pembatasan (Branch and Bound)

Pada masalah program linear, penyelesaian yang didapatkan dapat berupa bilangan pecahan maupun bilangan bulat. Namun pada kasus-kasus tertentu dibutuhkan penyelesaian yang berupa bilangan bulat. Sebagai contoh, dalam penentuan jumlah mobil yang akan dijual pada suatu perusahaan otomotif agar penjualan menghasilkan keuntungan yang maksimal, tidak mungkin jumlah mobil yang harus diproduksi dalam bentuk desimal. Tentu saja jumlah mobil haruslah

berupa bilangan bulat. Maka dari itu penyelesaian program linear bilangan bulat dibutuhkan pada kasus-kasus tertentu.

Program linear yang penyelesaiannya berupa bilangan bulat inilah yang untuk seterusnya disebut sebagai program linear bilangan bulat (Integer

Programming). Banyak metode yang dapat digunakan untuk menyelesaikan

program linear bilangan bulat, diantaranya metode pencabangan dan pembatasan,

metode pemotongan bidang (cutting plane), dan metode heuristic. Pada subbab selanjutnya akan dibahas mengenai metode pencabangan dan pembatasan.

Metode pencabangan dan pembatasan diusulkan pertama kali oleh A. H. Land dan A. G. Doig pada tahun 1960. Metode pencabangan dan pembatasan merupakan salah satu metode untuk menyelesaikan masalah program linear bilangan bulat. Ide dasar dari metode pencabangan dan pembatasan ini ialah membagi penyelesaian dari masalah program linear menjadi beberapa submasalah. Proses pembagian penyelesaian ini biasa disebut dengan pencabangan (branching). Tujuan dari pencabangan ini sendiri ialah untuk memudahkan dalam menyelesaikan masalah program linear.

Prinsip kerja dari metode ini ialah mencabangkan penyelesaian dari soal program linear yang tidak memiliki penyelesaian bilangan bulat. Percabangan dilakukan sampai ditemukan penyelesaian yang berbentuk bilangan bulat. Dalam menyelesaikan masalah program linear dengan metode pencabangan dan pembatasan ini, dilakukan 3 langkah utama, yakni :

a. Pencabangan(Branching)

Pada langkah ini, pencabangan dilakukan pada penyelesaian yang belum berbentuk bilangan bulat. Pencabangan dilakukan dengan memecah masalah program linear awal menjadi dua bagian, kemudian menambahkan kendala baru. Dalam pencabangan, kendala yang ditambahkan merupakan pembulatan ke atas dan pembulatan ke bawah dari penyelesaian yang masih berbentuk pecahan. Sehingga dari pencabangan tersebut menghasilkan kendala baru untuk masing-masing pencabangannya, yakni :

i. ⌈ ⌉, dimana ⌈ ⌉ merupakan pembulatan ke atas dari penyelesaian program linear yang berbentuk pecahan, dan

ii. ⌊ ⌋, dimana ⌊ ⌋ merupakan pembulatan ke bawah dari penyelesaian program linear yang berbentuk pecahan.

Proses pencabangan ini terus dilakukan hingga diperoleh penyelesaian bilangan bulat yang pertama.

b. Penetapan Batas(Bounding)

Langkah penetapan batas ini dilakukan setelah diselesaikannya proses pencabangan. Penetapan batas ini merupakan langkah untuk membatasi penyelesaian, agar didapatkan penyelesaian yang optimal. Pada metode pencabangan dan pembatasan ini terdapat dua batas yaitu:

i. Batas Atas (upper bound)

Batas atas ini digunakan dalam menyelesaikan masalah program linear yang berbentuk minimum. Batas atas merupakan penyelesaian fungsi

objektif pertama yang berbentuk bilangan bulat. Sehingga apabila dalam pencabangan diperoleh penyelesaian optimal dengan nilai lebih besar dari batas atas ini, maka penyelesaian tersebut diabaikan. Namun apabila dalam pencabangan selanjutnya diperoleh penyelesaian yang lebih kecil dari batas atas, maka penyelesaian tersebut dijadikan batas atas yang baru, dan batas lama diabaikan. Pembatasan dilakukan terus hingga tidak dimungkinkan untuk dilakukan pencabangan lagi. Sehingga penyelesaian optimal yang diperoleh dari masalah program linear adalah penyelesaian bilangan bulat yang menjadi batas terkahir.

ii. Batas bawah (lower bound)

Batas bawah ini digunakan dalam menyelesaikan masalah program linear yang berbentuk maksimum. Batas bawah merupakan penyelesaian fungsi objektif pertama yang berbentuk bilangan bulat.

Dokumen terkait