berikut
[ ] [ ]
j j
j
x x
x ≥
≥ +1
. Dimana [x
j
] adalah bilangan bulat integer yang lebih besar, kurang dari atau sama dengan nilai x
j
Charles S. Beighler dkk, 1979.
1.5 Tujuan Penulisan
Tujuan penulisan ini adalah untuk memformulasikan jumlah berbagai tipe rumah yang dibangun dalam pembangunan perumahan Bumi Sergai di Sei Rampah sehingga
mencapai solusi optimum dengan kendala berupa bahan bangunan yang variabel keputusannya harus berupa bilangan bulat.
1.6 Kontribusi Penelitian
Tulisan ini dapat menambah referensi yang berhubungan dengan masalah integer programming dengan pendekatan algoritma branch and bound, dan menjadi bahan
pertimbangan untuk membangun perumahan Bumi Sergai tersebut.
1.7 Metode Penelitian
Metode penelitian yang digunakan dalam masalah ini adalah : 1.
Melakukan studi yang berhubungan dengan Integer Programming menggunakan algoritma Branch and Bound berupa jurnal, artikel dan buku.
2. Observasi ke tempat penelitian dan memahami informasi dari teori yang
berkaitan dengan topik penelitian. Data yang diambil: a.
Bahan-bahan yang digunakan yaitu: batu bata, semen, pasir, seng, besi, batu koral, gybsum, paku, kayu dan keramik.
b. Harga jual rumah per unit
c. Luas bangunan
3. Mengolah data yang diperoleh dari Perumahan Bumi Sergai di Sei Rampah,
memformulasikannya ke model matematika. 4.
Kesimpulan dari hasil pengolahan data secara optimal dengan menggunakan
pendekatan algoritma branch and bound.
Universitas Sumatera Utara
BAB 2
LANDASAN TEORI
2.1 Linear Programming 2.1.1 Model Linier Programming
Pemrograman linier adalah sebuah model matematik untuk menjelaskan suatu persoalan optimasi. Istilah linier menunjukkan bahwa seluruh fungsi matematik di
dalam model harus berupa fungsi linier; sedang kata pemrograman dalam istilah ini pada hakekatnya sinonim dengan perencanaan. Oleh karena itu, Pemrograman linier
mencakup perencanaan kegiatan-kegiatan untuk memperoleh hasil optimal, yaitu hasil yang memberikan nilai tujuan terbaik Siswanto, 1990.
Pemrograman linier adalah suatu cara untuk menyelesaikan persoalan pengalokasian sumber-sumber yang terbatas di antara beberapa aktivitas yang
bersaing, dengan cara yang terbaik yang mungkin dapat dilakukan Dimyati dan A. Dimyati, 1987.
Pokok pikiran yang utama dalam menggunakan program linier adalah merumuskan masalah dengan jelas dengan menggunakan sejumlah informasi yang
tersedia. Sesudah masalah dirumuskan dengan baik, maka langkah berikutnya adalah menerjemahkan masalah ini ke dalam bentuk model matematika, yang terang
mempunyai cara pemecahan yang lebih mudah dan rapi guna menemukan jawaban terhadap masalah yang dihadapi Siagian, 1987.
Sebagai contoh dari pemecahan masalah dengan menggunakan program linier adalah keadaan bagian produksi suatu perusahaan yang dihadapkan pada masalah
penentuan tingkat produksi masing-masing jenis produk dengan memperhatikan batasan-batasan faktor produksi: mesin, tenaga kerja, bahan mentah dan sebagainya
Universitas Sumatera Utara
untuk memperoleh tingkat keuntungan maksimal atau biaya yang minimal Subagyo et al., 1990.
Linier programming merupakan suatu model umum yang dapat digunakan dalam pemecahan masalah pengalokasian sumber-sumber yang terbatas secara
optimal. Linier programming memakai suatu model matematis yang menggambarkan masalah yang dihadapi. Linier memiliki arti bahwa semua fungsi matematis dalam
model harus merupakan fungsi-fungsi linier, sedangkan programmingpemrograman dapat diartikan sebagai perencanaan. Dengan demikian linier programming dapat
didefinisikan sebagai membuat rencana kegiatan-kegiatan dengan menggunakan suatu model umum dalam pemecahan masalah pengalokasian sumber daya-sumber daya
yang terbatas secara optimal.
Model pemrograman linier memiliki tiga unsur dasar, yaitu 1 variabel keputusan merupakan variabel yang akan dicari dan memberi nilai yang paling baik
bagi tujuan yang hendak dicapai 2 fungsi tujuan menunjukkan fungsi matematik yang harus dimaksimumkan atau diminimumkan dan mencerminkan tujuan yang
hendak dicapai, dan 3 fungsi kendala menunjukkan fungsi matematik yang menjadi
kendala bagi usaha untuk memaksimumkan atau meminimumkan fungsi tujuan dan mewakili kendala-kendala yang harus dihadapi oleh organisasi Siswanto, 1990.
Model dasar atau Persamaan linier dapat dirumuskan sebagai berikut : Cari nilai-nilai
yang dapat menghasilkan berbagai kombinasi optimum maksimum atau minimum dari :
Dengan syarat bahwa fungsi tujuan tersebut memenuhi kendala sebagai berikut:
Universitas Sumatera Utara
. . . .
. .
. .
. .
. .
atau dalam bentuk umumnya : optimumkan maksimumkan atau minimumkan :
dengan syarat ikatan :
Untuk: = Parameter yang dijadikan kriteria optimasi, atau koefisien peubah
pengambilan keputusan dalam fungsi tujuan. = Peubah pengambilan keputusan atau kegiatan yang ingin dicari; yang tidak
diketahui. = Koefisien peubah pengambilan keputusan dalam kendala ke-i.
= Sumber daya yang terbatas, yang membatasi kegiatan atau usaha yang bersangkutan; disebut pula konstanta atau “nilai sebelah kanan” dari kendala
ke-i. = Nilai skalar kriteria pengambilan keputusan; suatu fungsi tujuan.
B.D. Nasendi dan A. Anwar, 1984
Universitas Sumatera Utara
Konsep linier programming ditemukan dan diperkenalkan pertama kali oleh George Dantzig yang berupa metode mencari solusi masalah linier programming
dengan banyak variabel keputusan. Kemudian banyak ahli yang bergabung dengan Dantzig dalam konsep pengembangan linier programming. Paper pertamanya adalah
metode solusi yang bernama metode simplex. Dalam pengembangan linier programming, Dantzig bekerjasama dengan Marshal Wood dan Alex O, dan masih
banyak para ahli yang lainnya ikut. Kemudian, setelah berhasil diterapkan pada sektor pemerintah dan swasta, akhirnya disadari bahwa linier programming merupakan
masalah yang sangat membantu dalam analisis bidang bisnis.
Model Linier Programming ini merupakan bentuk dan susunan dalam menyajikan masalah-masalah yang akan dipecahkan dengan teknik linier
programming. Dalam model linier programming dikenal 2 dua macam fungsi, yaitu : 1.
Fungsi Tujuan objective function adalah fungsi yang menggambarkan tujuansasaran di dalam permasalahan linier programming yang berkaitan dengan
pengaturan secara optimal, untuk memperoleh keuntungan maksimal atau biaya minimal. Pada umumnya nilai yang akan dioptimalkan dinyatakan sebagai Z.
2. Fungsi Batasan constraint function adalah bentuk penyajian secara matematis
batasan-batasan kapasitas yang tersedia yang akan dialokasikan secara optimal ke berbagai kegiatan.
Universitas Sumatera Utara
Tabel 2.1 Tabel Linier Programming
1 2
3 4
5
1 0 0
2 1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Kolom 1 : Faktor prioritas dan bobot
untuk setiap variabel deviasi positif yakni variabel basis dan memasukkan variabel deviasi artificial
seperti ditampilkan dalam kolom 2 Kolom 2
: Nilai total deviasi absolut, yang mewakili jumlah total deviasi dari semua tujuan untuk tiap table sebagai iterasi proses pendapatan
Kolom 3 : Koefisien variabel keputusan
Kolom 4 : Matriks identitas menunjukkan pemasukan variabel deviasi negatif
Kolom 5 : Nilai sebelah kanan
Baris 1 : Variabel keputusan
dan variabel deviasi Baris 2
: Vektor baris dari penunjuk nol pada proses perhitungan Baris 3
: Bobot untuk setiap variabel deviasi yang dimasukkan dalam
fungsi objektif
Bentuk standard dari pemrograman linier menurut Taha 1982 mempunyai karakteristik :
Universitas Sumatera Utara
1. Seluruh fungsi pembatas nilai ruas kanannya tidak bernilai negatif
2. Seluruh variabel keputusan tidak bernilai negatif
3. Fungsi tujuan dapat berupa maksimasi atau minimasi
2.1.2 Asumsi-Asumsi Dasar Linier Programming
Dalam model linier programming terdapat asumsi-asumsi yang harus dipenuhi agar permasalahan linier programming menjadi absah, adapun asumsi linier programming
adalah sebagai berikut : 1.
Kesebandingan Proportionality Asumsi ini menyatakan bahwa naik turunnya nilai Z dan penggunaan
sumber atau fasilitas yang tersedia akan berubah secara sebanding propotional dengan perubahan tingkat kegiatan.
Contoh : a.
Setiap pertamabahan 1 unit akan menaikkan Z sebesar
b. Setiap pertama bahan 1 unit
akan menaikkan penggunaan sumber sebesar
2. Penambahan Additivity
Asumsi ini berarti bahwa nilai tujuan setiap kegiatan bersifat independent bebastidak saling bergantung dan dalam linier programming
dianggap bahwa kenaikan nilai tujuan Z yang diakibatkan oleh suatu kegiatan dapat langsung ditambahkan tanpa mempengaruhi bagian nilai
kegiatan lain. misalnya :
Z = 3 + 5
Universitas Sumatera Utara
dengan = 10 ;
= 2 sehingga Z = 30 + 10 = 40
Andaikan bertambah 1 unit, maka sesuai dengan asumsi pertama,
nilai Z menjadi 40 + 3 = 43. Jadi nilai 3 karena kenaikan dapat langsung
ditambahkan pada nilai Z mula-mula tanpa mengurangi bagian Z yang diperoleh dari kegiatan 2
. Dengan kata lain, tidak ada korelasi antara dan
.
3. Pembagian Divisibility
Dalam linier programming diperbolehkan menggunakan angka pecahan.
Misalnya : Dari hasil perhitungan didapat nilai
= 4,5 ; = 7,25 dan Z =
85.000,25. Dalam hal tertentu nilai pecahan ini harus dibulatkan dengan
menggunakan integer, misalnya : jumlah mahasiswa diperguruan tinggi tidak mungkin dalam bentuk pecahan.
4. Kepastian Deteministic
Asumsi ini menyatakan bahwa semua parameter yang terdapat dalam model linier programming yang berupa
, dan dapat diketahui secara pasti.
2.1.3 Terminologi Linier Programming
Agar memahami dengan baik bidang yang dipelajari , pembaca selalu harus mengerti istilah-istilah dan lambang-lambang khusus yang digunakan orang dalam bidang studi
itu. Berikut ini adalah definisi dari beberapa istilah dan lambang yang biasa digunakan dalam Linier Programming.
Universitas Sumatera Utara
1. Variabel Keputusan decision variable adalah seperangkat variabel yang tidak
diketahui dilambangkan , dengan j = 1, 2, . . . , n yang akan dicari nilainya varibel keputusan
2. Nilai Sebelah Kanan Right hand side value adalah nilai-nilai yang biasanya
menunjukkan ketersediaan sumber daya dilambangkan dangan yang akan ditentukan kekurangan atau kelebihan penggunaannya nilai sisi kanan .
3. Variabel Dasar adalah variabel yang nilainya sama dengan sisi kanan dari
persamaan. 4.
Kolom Kunci adalah kolom yang merupakan dasar untuk mengubah tabel. Pilih kolom yang mempunyai nilai pada garis fungsi tujuan yang bernilai
negatif dengan angka terbesar. 5.
Baris Kunci adalah baris yang merupakan dasar untuk mengubah tabel tersebut. Untuk itu terlebih dahulu carilah indeks tiap-tiap baris dengan cara
membagi nilai-nilai pada kolom RHS dengan nilai yang sebaris pada kolom kunci.
6. Angka kunci pivot merupakan perpotongan antara kolom kunci dengan baris
kunci. 2.1.4 Unsur-Unsur Linier Programming
Setiap model Linier Programming paling sedikit terdiri dari dua komponen yaitu : fungsi tujuan, dan kendala.
Fungsi Tujuan
Adapun tujuan dalam linier programming, yaitu: MinimumkanMaksimumkan
Dalam hal ini peubah deviasi positif dan deviasi negatif adalah peubah-peubah slek dan surplus.
Model Linier Programming, nilai yang tidak diketahui, tetapi akan
diselesaikan secara tidak langsung melalui minimisasimaksimasi deviasi negatif dan positif dari nilai RHS kendala tujuan. Linier programming mencari nilai solusi
secara langsung melalui minimisasimaksimasi deviasi-deviasi dari nilai RHSnya.
Universitas Sumatera Utara
Kendala Tujuan
Ada empat jenis kendala tujuan yang berlainan. Maksud setiap jenis kendala itu ditentukan oleh hubungannya dengan fungsi tujuan. Pada Tabel 2.1 disajikan keempat
jenis kendala itu. Terlihat bahwa setiap jenis kendala tujuan harus punya satu atau dua variabel deviasi yang ditempatkan pada fungsi tujuan. Dimungkinkan adanya kendala-
kendala yang tidak memiliki variabel deviasi. Kendala-kendala ini sama seperti kendala-kendala persamaan linier. Persamaan pertama pada Tabel 2.1 maknanya
serupa dengan kendala pertidaksamaan ≤ dalam masalah program linier maksimasi.
Persamaan kedua maknanya serupa dengan kendala pertidaksamaan ≥ pada masalah
program linier minimisasi. Persamaan ketiga memperbolehkan deviasi dua arah yaitu ≤ dan ≥, tetapi persamaan ini mencari penggunaan sumber daya yang diinginkan sama
dengan . Jika kendala persamaan dianggap perlu dalam perumusan model linier programming, ia dapat dimasukkan dengan menempatkan sebuah artificial variabel
, seperti pada persamaan keempat.
Ada dua cara yang bisa digunakan untuk menyelesaikan persoalan-persoalan pemrograman linier ini, yaitu cara grafis dan metode simpleks Dimyati dan
A.Dimyati, 1992.
1. Metode Grafik
Metode grarik dapat digunakan pada pemrograman linier jika masalah yang dihadapi mengandung tidak lebih dari dua variabel Taha, 1982.
Menurut Dimyati dan A.Dimyati 1992, metode grafik telah memberikan satu petunjuk penting bahwa untuk memecahkan persoalan-
persoalan pemrograman linier, hanya perlu memperhatikan titik ekstrem titik terjauh pada ruang solusi atau daerah fisibel.
2. Metode Simpleks
Metode simpleks adalah prosedur pemecahan pemrograman linier yang lebih efisien daripada metode grafik. Penerapan metode simpleks pada masalah
program linier dikembangkan untuk pertama kali oleh George Dantzig pada tahun 1947 Hiller dan Liberman, 1980.
Universitas Sumatera Utara
Metode simpleks merupakan teknik yang paling berhasil dikembangkan untuk memecahkan persoalan pemrograman linier yang
mempunyai jumlah variabel keputusan dan pembatas yang besar Dimyati dan A. Dimyati, 1992.
Perhitungan metode simpleks merupakan proses iterasi. Hal ini berarti bahwa untuk mencapai solusi yang optimal, perhitungan dilakukan berulang-
ulang mengikuti pola standard secara sistematik. Karakteristik lain pada metode simpleks adalah pada nilai fungsi tujuannya akan sama atau lebih besar
pada solusi terbaru dibandingkan dengan solusi terdahulu Levin et el, 1982.
Di dalam menyelesaikan persoalan pemrograman linier dengan menggunakan metode simpleks, bentuk dasar yang digunakan haruslah bentuk
standard Dimyati dan A. Dimyati.
Menurut Gillet 1976, untuk mengubah suatu bentuk formulasi pemrograman linier yang belum standard ke dalam bentuk standard dapat
dilakukan cara-cara sebagai berikut : a.
Peubah tambahan slack variable Konversi fungsi ketidaksamaan lebih kecil sama dengan
≤ pada fungsi pembatas memerlukan tambahan suatu peubah yang disebut
peubah tambahan, peubah ini menggambarkan tingkat pengangguran dari sumber daya. Jika ada m fungsi ketidaksamaan
≤ pada fungsi pembatas dan terdapat r peubah kebijaksanaan dalam formulasi permasalahan maka dengan penambahan peubah
tambahan, fungsi pembatas mengalami perubahan sebagai berikut:
Universitas Sumatera Utara
dimana adalah peubah tambahan slack variable.
Penambahan peubah tambahan juga akan mengubah fungsi tujuan menjadi :
maks min b.
Peubah buatan Apabila dalam fungsi pembatas terdapat ketidaksamaan lebih besar
sama dengan ≥ maka fungsi pembatas dapat diubah menjadi
bentuk persamaan dengan mengurangi pertidaksamaan oleh sebuah peubah positif, sebagai berikut :
Peubah merupakan suatu peubah yang biasa disebut sebagai
peubah tambahan. Metode simpleks belum dapat diterapkan dengan formulasi seperti di atas karena dalam metode simpleks dibutuhkan
kondisi-kondisi berikut: 1.
Semua konstanta pada sisi kanan persamaan bernilai lebih besar atau sama dengan nol.
2. Setiap persamaan harus mempunyai sebuah peubah
berkoefisien satu pada persamaan tersebut dan nol pada persamaan yang lain.
Persamaan di atas, agar dapat diselesaikan dengan metode simpleks, maka harus diubah menjadi :
Akibat penambahan peubah buatan maka perlu
penambahan suatu bilangan -M untuk masalah maksimasi pada fungsi tujuan, sehingga fungsi tujuannya menjadi :
Universitas Sumatera Utara
Pada fungsi pembatas yang berbentuk persamaan, peubah buatan perlu ditambahkan untuk memenuhi kondisi 2 pada
metode simpleks. Perubahan fungsi pembatas yang berbentuk persamaan dengan adanya penambahan peubah buatan adalah
sebagai berikut:
menjadi :
dan fungsi tujuannya menjadi :
2.2 Pemrograman Integer Integer Programming
Persoalan Integer Programming IP adalah persoalan pemrograman programming di mana pemecahan optimalnya harus menghasilkan bilangan
bulat integer jadi bukan pecahan. Dengan perkataan lain dari antara berbagai bilangan bulat, harus dicari nilai-nilai variabel yang fisibel dan membuat fungsi
tujuan Objective function maksimum Supranto, 1980.
Pemrograman integer Integer Programming adalah suatu model pemrograman linier dengan variabel yang digunakan berupa bilangan bulat. jika
semua variabel harus berupa bilangan bulat, maka masalah tersebut dinamakan pure integer programming. Jika hanya sebagian yang harus berupa integer, maka
disebut mixed integer programming. Integer programming dengan semua variabelnya harus bernilai 0 atau 1 disebut 0-1 integer programming Garfinkel
dan Nemhauser, 1972.
Universitas Sumatera Utara
Program bilangan bulat adalah suatu bentuk dari program linier yang asumsi divisibilitasnya melemah. Bentuk ini muncul karena kenyataannya tidak semua
variabel keputusan merupakan suatu angka pecahan Dimyati dan A. Dimyati 1987.
Menurut Taha 1975, optimasi bilangan bulat bukan merupakan sebuah persoalan matematika baru, dan dalam penelitian operasional dikenal sejak tahun
1940. Optimasi bilangan bulat penting digunakan pada pemecahan masalah yang disusun sebagai sebuah hasil perkembangan pada bidang penelitian operasional,
terutama sekali pada persoalan program linier. Hal itu diperlukan untuk pemecahan model penyusunan pada beberapa atau semua variabel keputusan agar
integer bilangan bulat.
Pemrograman bilangan bulat
Integer programming dibutuhkan ketika keputusan harus dilakukan dalam bentuk bilangan bulat
bukan pecahan yang sering terjadi bila kita gunakan metode simpleks. Model matematis dari pemrograman bulat sebenarnya sama dengan model
linear programming, dengan tambahan batasan bahwa variabel keputusannya harus bilangan bulat. Integer programming adalah suatu program linier dengan
tambahan persyaratan bahwa semua atau beberapa variabel bernilai bulat non negatif, tetapi tidak perlu bahwa parameter model juga bernilai bulat.
Secara umum menurut Dimyati dan A. Dimyati 1992, model persoalan pemrograman bilangan bulat Integer Programming dapat diformulasikan sebagai
berikut: MaksMin :
Berdasarkan :
Universitas Sumatera Utara
bilangan bulat integer untuk
Algoritma yang dianggap cukup baik untuk memberikan solusi optimum dalam pemrograman bilangan bulat Integer Programming adalah pencabangan dan
pembatasan branch and bound dan pemotongan bidang datar cutting plane Dimyati dan A. Dimyati, 1992.
Ada berbagai pendekatan untuk masalah IP. Pendekatan yang akan dibahas di bawah ini termasuk Pembulatan Rounding, Cabang dan Batas Branch and Bound,
Pemotongan Bidang Datar Cutting Plane, Relaksasi Lagrangian Lagrangian Relaxation dan Benders Dekomposisi Benders Decomposition Bruce A. McCarl
dan T.H.Spreen, 1997. a.
Pemotongan Bidang Datar Cutting Plane Ada berbagai algoritma yang tersedia untuk penyelesaian masalah IP. Alasan
banyaknya inilah bahwa tidak ada algoritma telah terbukti secara komputasi yang efisien untuk semua masalah, dan dengan demikian pencarian kontinu
untuk algoritma-algoritma yang lebih efektif. Berdasarkan masalah pure integer programming, yaitu, masalah LP standar dengan pembatasan integer
pada semua variabel. Ide fundamental yang mendasari algoritma gomory’s cutting plane adalah untuk menambahkan kendala untuk masalah satu per satu
sehingga akhirnya memiliki masalah LP dengan solusi optimal dengan koordinat integer Paul R. Thie, 1979.
Pendekatan yang dilakukan dalam teknik pemotongan bidang datar Cutting plane adalah dengan membuat pembatas tambahan yang memotong
ruang layak dari LP relaksasi sehingga dapat mengeliminasi solusi yang tidak integer . Proses pemotongan akan terus berlangsung sehingga diperoleh
jawab dengan seluruh variabel yang dikehendaki berharga bilangan bulat integer Dimyati dan A. Dimyati, 1992.
Menurut Dimyati dan A. Dimyati 1992, keberhasilan teknik ini sangat terbatas, bergantung pada struktur persoalan yang dihadapi. Artinya
Universitas Sumatera Utara
hanya persoalan tertentu yang dapat diselesaikan dengan teknik ini. Karena itu, sekarang teknik ini hampir tidak pernah lagi digunakan.
Algoritma IP pertama kali diselesaikan dengan konsep cutting plane. Cutting plane menghapus bagian dari daerah fisibel tanpa menghapus poin
solusi bilangan bulat. Ide dasar di balik sebuah cutting plane adalah bahwa titik bulat yang optimal dekat dengan solusi LP optimal, tetapi tidak jatuh di
persimpangan kendala sehingga kendala tambahan perlu dipaksakan. Akibatnya, kendala yang ditambahkan untuk memaksa solusi LP integer
menjadi tidak layak tanpa menghilangkan solusi bilangan bulat. Hal ini dilakukan dengan menambahkan kendala memaksa variabel nonbasis lebih
besar dari nilai nol kecil Bruce A. McCarl dan T.H.Spreen, 1997.
Beberapa poin yang perlu diperhatikan untuk membuat pendekatan Cutting plane. Pertama banyak pemotongan yang mungkin perlu diperbaiki
untuk memperoleh sebuah solusi integer. Kedua solusi integer pertama yang ditemukan adalah solusi optimal. Solusi ini ditemukan setelah pemotongan
hanya ditambahkan ke daerah hasil solusi optimal. Akibatnya jika algoritma solusi ditemukan, keluar tanpa sebuah solusi yang dapat diterima Bruce A.
McCarl dan T.H.Spreen, 1997.
Algoritma bekerja sebagai berikut, pertama-tama menyelesaikan masalah LP asli dengan mengabaikan pembatasan yang integer. Kemudian,
jika solusi ini memiliki semua koordinat integer, maka itu merupakan solusi optimal untuk masalah IP, masalah selesai. jika tidak, buat kendala baru yang
akan menambah masalah. Kendala ini akan memiliki dua sifat dasar: pertama, solusi optimal noninteger untuk masalah LP asli tidak akan memenuhi kendala
ini, dan kedua, semua solusi layak integer masalah asli akan memenuhi kendala asli baru. Sehingga kendala ini pada dasarnya memotong subset dari
himpunan solusi layak untuk masalah LP, tapi subset yang tidak berisi integer yang layak, tambahkan kendala baru lagi Paul R. Thie, 1979.
Universitas Sumatera Utara
Langkah-langkah dari algoritma gomory’s cutting plane untuk masalah IP murni:
1. Memecahkan masalah LP yang sesuai hanya mengabaikan pembatasan
integer pada X. Jika solusi ini memiliki semua koordinat integer, maka itu adalah solusi optimal untuk masalah asli.
2. Jika tidak kendala baru ditambahkan ke masalah.
a Untuk membangun kendala ini, memilih baris dari solusi akhir tabel
optimal dari masalah LP dengan non terpisahkan konstan istilah b
i
. menggunakan baris yang mengandung istilah konstan dengan nilai
pecahan terbesar dapat mengurangi jumlah iterasi yang diperlukan untuk konvergensi.
b Seandainya baris ke-i dipilih dan persamaan yang sesuai adalah
Maka bentuk kendala
Dimana f
ij
= a
ij
– [ a
ij
] = bagian pecahan dari a
ij
f
i
= b
i
– [ b
i
] = bagian pecahan dari b
i
x = sebuah variabel slack baru, terbatas menjadi nonnegatif dan integral
c Tambahkan kendala ini ke masalah dan kembali ke langkah 1.
Paul R. Thie, 1979.
Kelemahan dari algoritma cutting plane adalah kesalahan-kesalahan pada pembulatan yang dilakukan dalam perhitungan dapat menghasilkan
jawaban bilangan bulat yang salah. Selain itu jawaban dari persoalan masih belum fisibel berarti tidak ada jawaban bilangan bulat yang diperoleh sampai
jawaban bilangan bulat yang optimal dicapai tadi, dan ini berarti bahwa tidak ada jawaban bilangan bulat yang baik jika perhitungan dihentikan lebih awal
sebelum mencapai hasil jawaban yang optimal Aswan, 1979. b.
Pembulatan Rounding
Universitas Sumatera Utara
Pembulatan adalah pendekatan yang paling naif untuk solusi masalah IP. Pendekatan pembulatan melibatkan pemecahan masalah sebagai masalah LP
diikuti dengan upaya untuk membulatkan solusi ke solusi yang integer dengan: a menghilangkan semua bagian pecahan, atau b mencari tahu solusi yang
memenuhi dimana nilai-nilai variabel yang disesuaikan dengan dekatnya lebih besar atau lebih kecil nilai integer. Pembulatan mungkin adalah pendekatan
yang paling umum untuk memecahkan masalah IP. Masalah LP Sebagian besar melibatkan variabel dengan nilai pecahan solusi yang pada kenyataannya
adalah integer yaitu, kursi diproduksi, ayam dipotong. Istilah pecahan dalam solusi tidak masuk akal, tetapi kadang-kadang dapat diterima jika pembulatan
memperkenalkan perubahan yang sangat kecil dalam nilai variabel pembulatan yaitu 1003421,1-1.003.421 atau bahkan 1.003.420 mungkin dapat
diterima Bruce A. McCarl dan T.H.Spreen, 1997.
Secara umum, pembulatan sering praktis, tetapi harus digunakan dengan hati-hati. Salah satu harus membandingkan solusi yang dibulatkan dan
tidak dibulatkan untuk melihat apakah setelah pembulatan: a kendala memenuhi secara memadai, dan b apakah perbedaan antara LP optimal dan
pembulatan nilai fungsi objektif cukup kecil. Jika demikian IP biasanya tidak efektif dan solusi yang bulat dapat digunakan. Di sisi lain, jika ditemukan
fungsi tujuan bulat diubah secara bermakna atau kendala melanggar dari sudut pandang pragmatis, maka latihan IP formal perlu dilakukan Bruce A. McCarl
dan T.H.Spreen, 1997. c.
Relaksasi Lagrangian Lagrangian Relaxation Relaksasi Lagrangian Geoffrion 1974, Fisher 1981, 1985 merupakan
salah satu bidang pengembangan algoritmik IP. Relaksasi Lagrangian mengacu pada prosedur dimana beberapa kendala yang direlaksasikan ke
dalam fungsi tujuan menggunakan sebuah pendekatan yang dibentuk oleh pengganda Lagrangian. Bentuk dasar Relaksasi Lagrangian untuk program
bilangan bulat campuran: Maksimum
CX + FY Kendala
AX + GY ≤ b
DX + HY ≤ e
Universitas Sumatera Utara
X ≥ 0, Y ≥ 0 dan integer
melibatkan penemuan suatu himpunan Lagrange Multiplier untuk beberapa kendala dan merelaksasi himpunan kendala ke dalam fungsi tujuan. Mengingat
bahwa yang dipilih untuk direlaksasi himpunan kedua kendala menggunakan lagrange multiplier masalah menjadi:
Maksimum CX + FY – λ DH + HY – e
AX + GY ≤ b
X ≥ 0, Y ≥ 0 dan integer
Ide utama adalah untuk menghilangkan kendala yang sulit dari masalah sehingga program integer jauh lebih mudah untuk dipecahkan. Masalah IP
dengan struktur seperti itu dari masalah transportasi dapat langsung diselesaikan dengan LP. Caranya kemudian adalah memilih kendala yang tepat
untuk direlaksasi dan untuk mengembangkan nilai-nilai untuk pengali lagrange mengarah ke solusi yang tepat.
Relaksasi Lagrangian telah digunakan dalam dua pengaturan: 1 untuk meningkatkan kinerja batas pada solusi, dan 2 untuk mengembangkan solusi
yang dapat disesuaikan secara langsung atau melalui heuristik sehingga mereka layak dalam keseluruhan masalah Fisher 1981, 1985 . Sebuah hasil
penting Relaksasi Lagrangian adalah merelaksasi masalah yang memberikan batas atas solusi untuk masalah yang tidak direlaksasi pada setiap tahap.
Relaksasi Lagrangian telah banyak digunakan dalam algoritma cabang dan terikat untuk menurunkan batas atas untuk masalah untuk melihat apakah
traversal bawah yang dicabangkan layak Bruce A. McCarl dan T.H.Spreen, 1997.
d. Dekomposisi Bender Benders Decomposition
Algoritma lain untuk IP disebut Dekomposisi Bender. Algoritma ini memecahkan program bilangan bulat campuran melalui eksploitasi struktural.
Benders mengembangkan prosedur, selanjutnya disebut Dekomposisi Bender, yang menguraikan masalah mixed integer menjadi dua masalah yang
diselesaikan secara iteratif - masalah utama bilangan bulat dan subproblem linier.
Universitas Sumatera Utara
Keberhasilan prosedur
melibatkan struktur subproblem dan pilihan subproblem tersebut. Prosedur dapat bekerja sangat buruk untuk struktur
tertentu.
Masalah dekomposisi mixed IP adalah: Maksimum FX + CZ
Kendala GX ≤ b
1
HX + AZ ≤ b
2
DZ ≤ b
3
X integer, Z ≥ 0
Pengembangan dekomposisi masalah ini berlangsung dengan iteratif mengembangkan titik layak X
dan memecahkan subproblem yang: Maksimum CZ
Kendala AZ ≤ b
2
– HX α
DZ ≤ b
3
γ Z
≥ 0 Solusi untuk subproblem ini menghasilkan variabel dual dalam tanda kurung.
Q merupakan penafsiran dari CZ. Dalam mengubah master Masalah dibentuk sebagai berikut:
Maksimum FX + Q
X, α,γ,Q
Q ≤ α
i
b
2
- HX + γ
i
b
3
i = 1, 2, . . . p GX
≤ b
1
X integer,
Q Penggunaan dekomposisi Benders melibatkan penguraian masalah
yang tepat dan atau struktur masalah yang akan menuju kesatu titik dengan cepat. Pernyataan umum yang dapat dibuat adalah:
a Metode dekomposisi tidak bekerja dengan baik ketika variabel X yang
dipilih oleh masalah master tidak menghasilkan subproblem layak. Dengan demikian, semakin akurat kendala dalam masalah master menggambarkan
kondisi subproblem, semakin cepat akan konvergensi. Lihat Geoffrion dan Graves, Danok, McCarl dan White 1978, Polito, Magnanti dan Wong,
dan Sherali untuk diskusi.
Universitas Sumatera Utara
b Daerah feasible dari masalah master baik lebih dibatasi. Lihat Magnanti
dan Wong,. Dan Sherali c
Bila mungkin, kendala harus dimasukkan dalam masalah master menghalangi solusi layak yang belum realistis suboptimal untuk
keseluruhan masalah. Lihat kendala mesin minimum di Danok, McCarl dan White, 1978.
Bruce A. McCarl dan T.H.Spreen, 1997.
2.3 Pencabangan dan Pembatasan Branch and Bound