Anda di halaman 1dari 16

Bab 2

LANDASAN TEORI

2.1 Program Linear

Menurut Sitorus, Parlin (1997), Program Linier merupakan suatu teknik penyelesaian
optimal atas suatu problema keputusan dengan cara menentukan terlebih dahulu suatu
fungsi tujuan (memaksimalkan atau meminimalkan) dan kendala-kendala yang ada ke
dalam model matematik persamaan linear. Program Linear berkaitan dengan
penjelasan suatu kasus dalam dunia nyata sebagai suatu model matematik yang terdiri
dari sebuah fungsi tujuan linier dengan beberapa kendala linier yang dapat
diselesaikan untuk mencapai suatu nilai optimum. Nilai optimum itu bisa meupakan
nilai maksimum ataupun nilai minimum.

Metode ini paling banyak digunakan dalam bisnis dan ekonomi, namun juga
dapat dimanfaatkan dalam sejumlah perhitungan ilmu teknik. Misalnya, dalam
ekonomi, fungsi tujuan dapat berkaitan dengan pengaturan secara optimal sumbersumber daya untuk memperoleh keuntungan maksimal atau biaya minimal, sedangkan
fungsi batasan menggambarkan batasan-batasan kapasitas yang tersedia yang
dialokasikan secara optimal ke berbagai kegiatan. Industri yang memanfaatkan
pemrograman linear di antaranya ialah industri transportasi, energi, telekomunikasi,
dan manufaktur. Pemrograman linear juga terbukti berguna dalam membuat model
berbagai jenis masalah dalam perencanaan, perancangan rute, penjadwalan, pemberian
tugas, dan desain.

Dalam program linear mengenal mengenai fungsi tujuan dan fungsi kendala.
Fungsi tujuan adalah nilai f untuk
dan dinyatakan f(

tertentu dari suatu program linear,

). Dalam fungsi tujuan adapun nilai fungsi tujuan

yang

dikehendaki

adalah

kondisi

yang

menyebabkan

maksimum atau minimum. Fungsi kendala merupakan fungsi matematika yang


mengendalikan nilai variabel keputusan. Fungsi kendala terdiri dari fungsi kendala
berupa pembatas yang disimbolkan
disimbolkan

, fungsi kendala berupa syarat yang

, dan fungsi kendala berupa keharusan yang disimbolkan

Dalam program linear terdapat beberapa karakteristik dalam menyelesaikan


suaru persoalan yaitu
1.

Sifat linearitas, sifat linearitas suatu kasus dapat ditentukan dengan


menggunakan beberapa cara. Secara statistik, kita dapat memeriksa kelinearan
menggunakan grafik (diagram pencar).

2.

Sifat proporsional, sifat proporsional dipenuhi jika kontribusi setiap variabel


pada fungsi tujuan atau penggunaan sumber daya yang membatasi
proporsional terhadap level nilai variabel. Misalnya jika harga per unit produk
adalah sama berapapun jumlah yang dibeli, maka sifat proporsional dipenuhi.
Atau dengan kata lain, jika pembelian dalam jumlah besar mendapatkan
diskon, maka sifat proporsional tidak dipenuhi.

3.

Sifat additivitas, sifat ini mengasumsikan bahwa tidak ada bentuk perkalian
silang diantara berbagai aktivitas, sehingga tidak akan ditemukan bentuk
perkalian silang pada model. Sifat additivitas berlaku baik bagi fungsi tujuan
maupun pembatas (kendala). Sifat additivitas dipenuhi jika fungsi tujuan
merupakan

penambahan

langsung

kontribusi

masing-masing

variabel

keputusan. Untuk fungsi kendala, sifat additivitas dipenuhi jika nilai kanan
merupakan total penggunaaan masing-masing variabel keputusan.
4.

Sifat divisibilitas, sifat ini berarti unit aktivitas dapat dibagi ke dalam
sembarang level fraksional, sehingga nilai variabel keputusan non integer
dimungkinkan.

5.

Sifat kepastian, sifat ini menunjukkan bahwa semua parameter model berupa
konstanta. Artinya koefisien fungsi tujuan maupun fungsi pembatas merupakan
suatu nilai pasti, bukan merupakan nilai dengan peluang tertentu.

Ada beberapa syarat yang harus dipenuhi dalam merumuskan suatu problema
keputusan ke dalam suatu model matematika program linearn yakni sebagai berikut:
1.

Memiliki kriteria tujuan.

2.

Sumber daya yang tersedia sifatnya terbatas.

3.

Semua variabel dalam model memiliki hubungan matematis bersifat linear.

4.

Koefisien model diketahui dengan pasti.

5.

Bilangan yang digunakan dapat bernilai bulat atau pecahan.

6.

Semua variabel harus bernilai nonnegatif.

Urutan pertama dalam penyelesaian program linear adalah mempelajari sistem


relevan dan mengembangkan pernyataan permasalahan yang dipertimbangakan
dengan jelas. Penggambaran sistem dalam pernyataan ini termasuk pernyataan tujuan,
sumber daya yang membatasi, alternatif keputusan yang mungkin (kegiatan atau
aktivitas), batasan waktu pengambilan keputusan, hubungan antara bagian yang
dipelajari dan bagian lain dalam perusahaan, dan lain-lain.

Penetapan tujuan yang tepat merupakan aspek yang sangat penting dalam
formulasi masalah. Untuk membentuk tujuan optimalisasi, diperlukan identifikasi
anggota manajemen yang benar-benar akan melakukan pengambilan keputusan dan
mendiskusikan pemikiran mereka tentang tujuan yang ingin dicapai.

Tahap berikutnya yang harus dilakukan setelah memahami permasalahan


optimasi adalah membuat model yang sesuai untuk analisis. Pendekatan konvensional
riset operasional untuk pemodelan adalah membangun model matematik yang
menggambarkan inti permasalahan. Kasus dari bentuk cerita diterjemahkan ke model
matematik. Model matematik merupakan representasi kuantitatif tujuan dan sumber
daya yang membatasi sebagai fungsi variabel keputusan. Model

matematika

permasalahan optimal terdiri dari dua bagian. Bagian pertama memodelkan tujuan
optimasi. Model matematik tujuan selalu menggunakan bentuk persamaan. Bentuk
persamaan digunakan karena kita ingin mendapatkan solusi optimum pada satu titik.
Fungsi tujuan yang akan dioptimalkan hanya satu. Bukan berarti bahwa permasalahan
optimasi hanya dihadapkan pada satu tujuan. Tujuan dari suatu usaha bisa lebih dari

satu. Tetapi pada bagian ini kita hanya akan tertarik dengan permasalahan optimal
dengan satu tujuan.

Bagian kedua merupakan model matematik yang merepresentasikan sumber


daya yang membatasi. Fungsi kendala bisa berbentuk persamaan (=) atau
pertidaksamaan ( atau ). Fungsi kendala disebut juga sebagai konstrain. Konstanta
(baik sebagai koefisien maupun nilai kanan) dalam fungsi kendala maupun pada
tujuan dikatakan sebagai parameter model. Model matematika mempunyai beberapa
keuntungan dibandingakan pendeskripsian permasalahan secara verbal. Salah satu
keuntungan yang paling jelas adala model matematik menggambarkan permasalahan
secara lebih ringkas. Hal ini cenderung membuat struktur keseluruhan permasalahan
lebih mudah dipahami, dan membantu mengungkapkan relasi sebab akibat penting.
Model matematik juga memfasilitasi yang berhubungan dengan permasalahan dan
keseluruhannya dan mempertimbangkan semua keterhubungannya secara simultan.
Terakhir, model matematik membentuk jembatan ke penggunaan teknik matematik
dan komputer kemampuan tinggi untuk menganalisis permasalahan.

Di sisi lain, model matematik mempunyai kelemahan. Tidak semua


karakteristik sistem dapat dengan mudah dimodelkan menggunakan fungsi matematik.
Meskipun

dapat

dimodelkan

dengan

fungsi

matematik,

kadang-kadang

penyelesaiannya sulit diperoleh karena kompleksitas fungsi dan teknik yang


dibutuhkan.

Model umum program linear dapat dirumuskan ke dalam bentuk matematik


sebagai berikut:
Maks atau Min :

, untuk

Kendala:

atau

atau

Keterangan:
= Fungsi tujuan
= Variabel keputusan

, untuk

= koefisien dari variabel keputusan


= Koefisien dari variabel keputusan dalam kendala ke= sumber daya yang tersedia dalam kendala ke-

Ada berbagai cara dalam menyelesaikan program linear diantaranya


menggunakan metode grafik, metode simpleks, metode dual simpleks, metode Teknik
M. Metode grafik digunakan untuk menyelesaikan program linear dengan dua
variabel. Metode simpleks, metode dual simpleks dan teknik M banyak digunakan
untuk menyelesaikan program linear dengan banyak variabel.

Kasus program linier sangat beragam. Dalam setiap kasus, hal yang penting
adalah memahami setiap kasus dan memahami konsep permodelannya. Meskipun
fungsi tujuan misalnya hanya mempunyai kemungkinan bentuk maksimisasi atau
minimisasi, keputusan untuk memilih salah satunya bukan pekerjaan mudah. Tujuan
pada suatu kasus bisa menjadi batasan pada kasus yang lain. Harus hati-hati dalam
menentukan tujuan, koefisien fungsi tujuan, batasan dan koefisien pada fungsi
pembatas agar dapat menyelesaikan program linear secara tepat.

2.2 Program Bilangan Bulat (Integer Programming)

Model Linear programming yang telah didiskusikan sejauh ini masih tetap berlanjut,
dalam pengertian bahwa variabel keputusan diperbolehkan dalam bentuk pecahan.
Sering ini sebagai asumsi realistik. Sebagai contoh sebuah perusahaan dapat
memproduksi

dari bahan yang dapat dibagi seperti wine dan juga masih

beralasan untuk menerima sebuah solusi yang memberikan nilai perjam produksi
automobile sebesar

jika modelnya berdasarkan pada rata-rata waktu produksi.

Pada saat lain, bagaimanapun solusi pecahan tidaklah nyata dan harus
mempertimbangkan masalah optimisasi sebagai berikut:

Maks atau Min :


Kendala:

bulat untuk semua

Keterangan:
= Fungsi tujuan
= Variabel keputusan
= koefisien dari variabel keputusan
= Koefisien dari variabel keputusan dalam kendala ke= sumber daya yang tersedia dalam kendala ke-

Masalah ini dikatakan sebagai Masalah Linear Integer Programming. Sitorus, Parlin
(1997), Integer Programming merupakan suatu model program linear yang khusus
Dimana nilai variabel-variabel keputusan dalam penyelesaian optimal harus
merupakan bilangan integer (bulat). Persyaratan bahwa nilai variabel keputusan harus
integer mengingat nilai (banyaknya/jumlah) tidak mungkin dalam bilangan pecahan,
seperti kertas, barang produksi, tentara, dan lain sebagainya.

Terdapat 3 macam permasalahan dalam pemrograman bulat, yaitu:


1.

Pemrograman bulat murni, yaitu kasus dimana semua variabel keputusan


harus berupa bilangan bulat.

2.

Pemrograman bulat campuran, yaitu kasus dimana beberapa, tapi tidak semua,
variabel keputusan harus berupa bilangan bulat

3.

Pemrograman bulat biner, kasus dengan permasalahan khusus dimana semua


variabel keputusan harus bernilai 0 dan 1

2.2.1 Beberapa Model Integer Programming

Thie, Paul. R. (1979) dalam bukunya memberikan beberapa persoalan yang dapat
diformulasikan sebagai model integer programming. Ada dua hal yang akan dibahas
yakni: modal penganggaran belanja, penjadwalan.

a. Modal Penganggaran Belanja


Pada model masalah modal penganggaran belanja, keputusan menyangkut seleksi dari
sejumlah nilai dari investasi potensial. Keputusan berinvestasi mungkin untuk
memilih diantara lokaso penanaman yanng mungkin, untuk memilih sebuah bentuk
dari perlengkapan modal, atau untuk menyelesaikan ketika sebuah himpunan dari
proyek penelitian dan pengembangan. Hal itu selalu membuat tidak mengerti untuk
mempertimbangkan memilih investasi dari aktivitas ini, dan akhirnya masalahnya
akan menjadi program bilangan bulat ya atau tidak, Dimana variabel keputusan yang
diambil menjadi
Asumsikan bahwa

= 0 atau 1, menandakan bahwa investasi ke- diterima atau ditolak.


adalah hasil konstribusi dari investasi ke- dan

adalah jumlah

sumber daya ke- , seperti uang atau tenaga kerja yang digunakan dalam investasi ke- ,
masalah ini dapat di formulasikan sebagai berikut:
Maksimalkan
Kendala

Tujuannya adala untuk memaksimalkan total kontribusi dari semua investasi tanpa
melebihi ketersediaan yang terbatas

dari sumber daya.

Pada umumnya, masalah ini juga disebut Knapsack problem, karena dapat
disamakan pada sebuah situasi dimana pejalan kaki harus memutuskan barang-barang
apa saja yang dimasukkan dalam perjalanannya. Di sini
dari barang

yang di masukkan Dimana

adalah nilai atau kegunaan

, tujuannya adalah memaksimalkan

perjalanan yang menyenangkan dengan kendala berat yang dibatasi yang dapat dibawa
pejalan kaki tidak lebih dari

kilogram. Model ini diubah dengan membawa lebih

dari sebuah dari beberapa barang yang diambil, dengan menulis

dan

bulat

dengan mengganti variabel pembatas 0-1. Knapsack problem penting karena sejumlah
program bilangan bulat dapat ditunjukkan sama dengan masalahnya, dan lebih jauh,
karena langkah-langkah penyelesaian pada model knapsack telah memotivasi langkahlangkah untuk menyelesaikan program bilangan bulat umum.

b. Penjadwalan
Segala tingkat pada masalah yang menunjuk seperti antrian, penjadwalan, dan rute
adalah tidak terpisahkan dengan program bilangan bulat. Sebagai contoh,
menjadwalkan siswa, fakultas, dan ruang kelas sedemikian hingga jumlah dari siswa
yang tidak mengambil pilihan pertama dari kelas di minimalkan. Ada batasan pada
jumlah dan ukuran dari ruangan kelas yang tersedia pada suatu waktu, ketersediaan
dari jumlah fakultas pada waktu tertentu, dan pilihan dari siswa untuk waktu tertentu.
Lebih jelasnya, siswa ke- dijadwalkan pada kelas ke- selam periode ke- atau tidak.
Oleh karena itu, variabelnya harus nol atau satu.

2.2.2

Metode penyelesaian Integer Programming

Beberapa metode penyelesaian masalah program bilangan bulat adalah metode


pembulatan (rounding method), metode grafik (graphic method), metode cabang dan
batas (branch and bound method), dan metode branch and price.

Metode pembulatan sangat sederhana dan cepat dalam menyelesaikan masalah


yang dihadapi. Sebelum metode ini diterapkan, maka terlebih dahulu dicari
penyelesaian optimal dari problema dengan menggunakan metode program linear
biasa. Selanjutnya, metode ini diterapkan dengan cara melakukan pembulatan hasil
nilai variabel keputusan (bilangan pecahan) yang di peroleh dari metode program
linear. Kelemahan utama metode ini ialah bahwa hasil pembulatan yang dilakukan
dapat menyimpang jauh dari penyelesaian optimal integer yang sesungguhya dalam
penyelesaiannya dianggap tidak layak apabila hasilnya lebih besar daripada
penyelesaian optimal pecahan.

Metode grafik hanya dapat dilakukan apabila jumlah variabel keputusan adalah
dua. Metode ini menggunakan pendekatan pencarian. Untuk mencari penyelesaian
optimal, dilakukan dengan cara mencari titik penyelesaian optimal yang terdapat di
dalam daerah kelayakandengan koordinatnya harus bilangan integer yang mendekati
titik optimal yang diperoleh dengan menggunakan metode grafik biasa. Metode
branch and bound dan metode branch and price lebih sering digunakan karena hasil
yang diperoleh lebih baik dan lebih teliti dari kedua metode lainnya.

2.3

Metode Simpleks

Dalam penyelesaian program linear metode grafik mempunyai kelemahan yaitu


variabel keputusannya harus dua. Pelu diketahui bahwa hanya sedikit masalah dalam
kehidupan nyata yang mengandung dua variabel. Pada kenyataanya beberapa situasi
melibatkan banyak variabel keputusan dan banyak kendala. Oleh karena itu haruslah
ada metode yang dapat menyelesaikan program linear dengan banyak variabel.
Metode ini dinamakan metode simpleks.

Metode simpleks sebenarnya sama saja dengan metode grafik di dalam


mencari titik penyelesaian optimal di daerah kelayakan (mencari nilai titik-titik
ekstrim di daerah kelayakan). Dalam pengoperasiannya, metode simpleks dimulai dari
titik awal (titik 0) dan bergerak ke titik ekstrim lain yang memiliki nilai penyelesaian
yang optimal.

Ada beberapa istilah yang sangat sering digunakan dalam metode simpleks,
diantaranya :
1. Iterasi adalah tahapan perhitungan dimana nilai dalam perhitungan itu
tergantung dari nilai tabel sebelumnya.
2. Variabel non basis adalah variabel yang nilainya diatur menjadi nol pada
sembarang iterasi. Dalam terminologi umum, jumlah variabel non basis selalu
sama dengan derajat bebas dalam sistem persamaan.
3. Variabel basis merupakan variabel yang nilainya bukan nol pada sembarang
iterasi. Pada solusi awal, variabel basis merupakan variabel slack (jika fungsi

kendala merupakan pertidaksamaan ) atau variabel buatan (jika fungsi


kendala menggunakan

pertidaksamaan atau =). Secara umum, jumlah

variabel basis selalu sama dengan jumlah fungsi pembatas (tanpa fungsi non
negatif).
4. Solusi atau nilai kanan merupakan nilai sumber daya pembatas yang masih
tersedia. Pada solusi awal, nilai kanan atau solusi sama dengan jumlah sumber
daya pembatas awal yang ada, karena aktivitas belum dilaksanakan.
5. Variabel slack adalah variabel yang ditambahkan ke model matematik
kendala untuk mengkonversikan pertidaksamaan menjadi persamaan (=).
Penambahan variabel ini terjadi pada tahap inisialisasi. Pada solusi awal,
variabel slack akan berfungsi sebagai variabel basis.
6. Variabel surplus adalah variabel yang dikurangkan dari model matematik
kendala untuk mengkonversikan pertidaksamaan menjadi persamaan (=).
Penambahan ini terjadi pada tahap inisialisasi. Pada solusi awal, variabel
surplus tidak dapat berfungsi sebagai variabel basis.
7. Variabel buatan adalah variabel yang ditambahkan ke model matematik
kendala dengan bentuk atau = untuk difungsikan sebagai variabel basis awal.
Penambahan variabel ini terjadi pada tahap inisialisasi. Variabel ini harus
bernilai 0 pada solusi optimal, karena kenyataannya variabel ini tidak ada.
Variabel hanya ada di atas kertas.
8. Kolom pivot (kolom kerja) adalah kolom yang memuat variabel masuk.
Koefisien pada kolom ini akn menjadi pembagi nilai kanan untuk menentukan
baris pivot (baris kerja).
9. Baris pivot (baris kerja) adalah salah satu baris dari antara variabel basis
yang memuat variabel keluar.
10. Elemen pivot (elemen kerja) adalah elemen yang terletak pada perpotongan
kolom dan baris pivot. Elemen pivot akan menjadi dasar perhitungan untuk
tabel simpleks berikutnya.
11. Variabel masuk adalah variabel yang terpilih untuk menjadi variabel basis
pada iterasi berikutnya. Variabel masuk dipilih satu dari antara variabel non
basis pada setiap iterasi. Variabel ini pada iterasi berikutnya akan bernilai
positif.

12. Variabel keluar adalah variabel yang keluar dari variabel basis pada iterasi
berikutnya dan digantikan oleh variabel masuk. Variabel keluar dipilih satu
dari antara variabel basis pada setiap iiterasi. Variabel ini pada iterasi
berikutnya akan bernilai nol.

Prosedur (tahap proses) untuk menyelesaikan program linear dengan menggunakan


metode simpleks sebagai berikut:
Tahap 1 :

Merumuskan problema ke dalam bentuk standar (model simpleks).


Bentuk kanonik merupakan suatu bentuk Dimana bagian kanan
pembatas ( ) adalah non negatif. Dengan demikian, jika salah satu dari
negatif, maka diperlukan untuk mengalikannya dengan -1. Sebagai
penambahan bahwa penting juga semua pembatas haruslah dalam
bentuk persamaan. Agar mencapai bentuk itu maka diperlukan untuk
menambah nilai non negatif yang dinamakan slack variabel

. Variabel

slack ini menyeimbangkan kegunaan sebenarnya dari bagian kiri pada


pertidaksamaan dengan adanya bagian kanan. Dengan demikian bentuk
umum persamaan linear sekarang dapat ditulis sebgai berikut:
Maksimalkan
Kendala :

Dimana

Dalam bentuk ini slack variabel tidak dimasukkan dalam fungsi tujuan karena tidak
akan mempengaruhi nilai fungsi tujuan. Dengan demikian,

adalah nol pada fungsi

tujuan.

Tahap 2 :

Menyusun tabel simpleks


Masukkan bentuk persamaan kanonik tersebur ke dalam bentuk tabel
simpleks seperti berikut:

Tabel 2.1 : Tabel simpleks


0

Basis

Nilai

variabel

Tahap 3 :

Tentukan kolom pivot.


Penentuan kolom pivot dilihat dari koefisien fungsi tujuan (nilai di
sebelah kanan baris z) dan tergantung dari bentuk tujuan. Jika tujuan
maksimisasi, maka kolom pivot adalah kolom dengan koefisien paling
negatif. Jika tujuan minimisasi , maka kolom pivot adalah kolom
dengan koefisien positif terbesar. Jika kolom pivot ditandai dan ditarik
ke atas, maka kita akan mendapatkan variabel keluar. Jika nilai paling
negatif (untuk tujuan maksimisasi) atau positif terbesar (untuk tujuan
minimisasi) lebih dari satu, pilih salah satu secara sembarang.

Tahap 4:

Tentukan baris pivot.


Baris pivot ditentukan setelah membagi nilai solusi dengan nilai kolom
pivot yang bersesuaian (nilai yang terletak dalam satu baris). Dalam hal
ini, nilai negatif dan 0 pada kolom pivot tidak diperhatikan, artinya
tidak ikut menjadi pembagi. Baris pivot adalah baris dengan rasio
pembagian terkecil. Jika baris pivot ditandai dan ditarik ke kiri, maka
kita akan mendapatkan variabl keluar. Jika rasio pembagian terkecil
lebih dari satu, pilih salah sau secara sembarang.

Tahap 5 :

Tentukan elemen pivot.


Elemen pivot merupakan nilai yang terletak pada perpotongan kolom
dan baris pivot.

Tahap 6 :

Bentuk tabel simpleks baru.


Tabel simpleks baru dibentuk dengan pertama sekali menghitung nilai
baris pivot baru. Baris pivot baru adalah baris pivot lama dibagi dengan
elemen pivot. Baris baru lainnya merupakan pengurangan nilai kolom
pivot baris yang bersangkutan dikali baris pivot baru dalam satu kolom
terhadap baris lamanya yang terletak pada kolom tersebut.

Tahap 7 :

Periksa apakah tabel sudah optimal.


Keoptimalan tabel dilihat dari koefisien fungsi tujuan (nilai pada baris
z) dan tergantung dari bentuk tujuan. Untuk tujuan maksimisasi, tabel
sudah optimal jika semua nilai pada baris z sudah positif atau 0. Pada
tujuan minimisasi, tabel sudah optimal jika semua nilai pada baris z
sudah negatif atau 0. Jika belum, kembali ke tahap 3 , jika sudah
optimal baca solusi optimalnya.

2.4 Metode Branch and Bound

Lev, Benjamin dan Weiss, Howard J. (1982), metode Branch and Bound (cabang dan
batas) adalah suatu metode umum untuk mencari solusi optimal dari berbagai
permasalahan optimasi, terutama untuk optimasi diskrit dan kombinatorial. Konsep
dari metode branch and bound pertama sekali ditemukan oleh Land and Doig (1960).
Ide dasarnya adalah membagi daerah fisible menjadi daerah yang lebih kecil. Metode
branch and bound menggunakan sebuah langkah yang menempatkan batas atas dan
batas bawah sebagai solusi ketika secara sistematis menyelesaikan subproblem.

Sesuai dengan namanya, metode ini terdiri dari 2 bagian yaitu Branch yang
artinya membangun semua cabang tree yang mungkin menuju solusi. Bound yang
artinya menghitung node mana yang merupakan active node (E-node) dan node mana
yang merupakan dead node (D-node) dengan menggunakan syarat batas constraint
(kendala)

Prosedur penyelesaiaan problema program linear integer dengan metode ini adalah
sebagai berikut:
1.

Penyelesaian optimal dengan metode program linear biasa.


Problema yang dihadapi diselesaikan terlebih dahulu dengan menggunakan
metode program linear biasa (metode grafik atau metode simpleks) sampai
diperoleh hasil optimal.

2.

Pemeriksaan Penyelesaian Optimal


Hasil optimal pada langkah pertama diperiksa apakah variabel keputusan yang
diperoleh bernilai integer atau pecahan. Apabila ternyata nilai semua variabel
keputusan tersebut merupakan bilangan bulat positif (non negative integer),
maka penyelesaian optimal telah tercapai. Apabila tidak, maka proses iterasi
dilanjutkan.

3.

Branching
Apabila penyelesaian optimal belum tercapai, maka peroblema tersebut
dimodifikasi ke dalam dua sub problema (branching) dengan memasukkan
kendala baru ke masing-masing subproblema tersebut. Variabel kendala baru
tersebut harus bersifat saling pengecualian (mutually exclusive constraints)
sehingga memenuhi persyaratan penyelesaian integer.

4.

Bounding
Pada kasus memaksimalkan hasil optimal yang diperoleh dengan metode
program linear biasa (noninteger) merupakan nilai batas atas (upper bound)
dan pada kasus minimalkan meupakan batas bawah (lower bound) bagi setiap
subproblema. Pada kasus maksimalkan hasil pembulatan ke bawah pada
penyelesaian integer merupakan nilai batas bawah (lower bound) bagi masingmasing subproblema. Pada kasus minimalkan hasil pembulatan ke atas pada
penyelesaian integer merupakan nilai batas atas (upper bound) bagi masingmasing

subproblema.

Selanjutnya,

pada

kasus

maksimalkan

apabila

subproblema yang memiliki batas atas yang lebih rendah dari batas bawah
yang berlaku, maka subproblema tersebut tidak perlu dianalisa lagi.
Sedangkan, pada kasus minimasi apabila subproblema yang memiliki batas
bawah yang lebih tinggi dari batas atas yang berlaku, maka subproblema
tersebut tidak perlu dianalisa lagi. Apabila dalam penyelesaian integer
menghasilkan hasil yang sama atau lebih baik daripada nilai batas atas atau

nilai batas bawah dari setiap problema, maka penyelesaian optimal integer
telah tercapai. Apabila tidak, maka subproblema yang memiliki nilai batas atas
dan nilai batas bawah yang terbaik dipilih selanjutnya menjadi subproblema
yang baru. Proses iterasi kembali pada langkah 2, sehingga demikian terus.

Penggunaan metode branch and bound banyak sekali diantaranya knapsack


problem, integer programming, travelling sales problem, cutting stock problem dan
banyak lagi kegunaanya. Penggunaan metode ini tentulah untuk mencari nilai
pembulatan terbaik pada masing-masing masalah.

2.5 Metode Branch and Price

Metode branch and price adalah ssuatu teknik dalam menyelesaikan program integer
yang berskala besar. Dantzig dan Wolfe (1960) mengusulkan teknik column generasi
sebagai sebuah skema untuk menyelesaikan masalah linear programming berskala
besar yang mempunyai banyak variabel. Algoritma umum dari metode branch and
price ini diperkenalkan oleh Barnhart (1998) dan Vanderbeck dan Wolsey (1996).

Berikut ini merupakan ringkasan pengertian mengenai algoritma branch and price:
1.

Branch and price merupakan teknik column generation untuk menyelesaikan


program integer berskala besar.

2.

Pada tiap node dari tree branch and price, kolom dapat dibangkitkan untuk
memperkuat linear programming relaksasi.

3.

Pada branch and price, kumpulan kolom dibuang dari linear programming
relaxation sebuah program integer berskala besar karena terdapat terlalu banyak
kolom yang harus ditangani secara efisien dan kebanyakan dari kolom itu
menghasilkan variabel yang bernilai nol padaa solusi optimal.

4.

Kemudian cek keoptimalan, sebuah subproblem yang disebut juga dengan


pricing problem diselesaikan untuk mengidentifikasi adanya kolom yang
memasuki basis. Pricing problem dilakukan untuk mengetahui adanya variabel
keputusan yang memiliki reduced cost negatif.

5.

Jika kolom tersebut ditemukan, linear programming kembali dioptimasi.

6.

Percabangan terjadi ketika tidak terdapat kolom yang melalui proses pricing dan
solusi program integer tidak memenuhi batasan kondisi integral.

Column Generation menyediakan penguraian dari sebuah masalah menjadi


master dan subproblem. Penguraian ini memungkinkan adanya penafsiran dan
pengaturan kontektual untuk penambahan beberapa batasan penting. Dalam branch
and price, kolom disisihkan dari relaksasi linear programming karena terdapat terlalu
banyak kolom yang ditangani secara efisien. Kemudian untuk memeriksa keoptimalan
dari sebuah solusi linear programming, subproblem yang disebut pricing problem,
yang merupakan bagian permasalahan untuk dual linear programming diselesaikan
untuk mencoba mengidentifikasi kolom yang akan memasuki basis. Jika terdapat
kolom yang di maksud tersebut, maka solusi linear programming dioptimasi kembali.
Percabangan terjadi ketika tidak terdapat kolom yang dinilai dapat memasuki basis
dan solusi linear programming tidak memenuhi batasan integral.

Terdapat beberapa kesulitan dalam penggunaan teknik column generation untuk linear
programming dalam solusi integer programming, yaitu:
1. Integer programming konvensional bercabang pada variabel yang mungkin
tidak efektif karena memperbaiki variabel yang dapat merusak struktur pricing
problem. Menyelesaikan linear programming dan subproblem menjadi optimal
mungkin menjadi tidak efisien, dimana beberapa aturan berbeda akan
digunakan untuk menangani pohon branch and price.
2. Linear programming relaksasi dari master problem diselesaikan yang dengan
column generation integral dan menggunakan prosedur standard branch and
bound untuk master problem pada kolom yang ada tidak seperti halnya
mencari solusi optimal, atau yang baik atau yang mungkin fisibel terhadap
permasalahan yang sebenarnya.

Perlu diperhatikan, ketika memproses suatu node tidak dibutuhkan untuk


menyelesaikan LP sampai optimal. Alasan utama untuk menyelesakan LP sampai
optimal adalah adanya kemungkinan untuk memotong node berdasarkan bound.
Pemangkasan masih mungkin terjadi tanpa menyelesaikan LP sampai optimal jika kita
dapat menghitung bound yang tepat.

Anda mungkin juga menyukai