BAB 2 PROGRAM INTEGER 2.1 Program...
-
Upload
duonghuong -
Category
Documents
-
view
237 -
download
0
Transcript of BAB 2 PROGRAM INTEGER 2.1 Program...
BAB 2
PROGRAM INTEGER
2.1 Program Linear
Program linear merupakan metode matematika untuk mengalokasikan sum-
ber daya yang biasanya terbatas supaya mencapai hasil yang optimal, misal-
nya memaksimumkan keuntungan atau meminimumkan biaya. Oleh karena itu
progam linear banyak dipergunakan dalam menyelesaikan masalah-maslah, an-
tara lain ekonomi dan industri.
Para pengambil keputusan sering menghadapi masalah dalam menentukan
alokasi sumber daya yang terbatas karena mereka menginginkan hasil yang seop-
timal mungkin. Dengan menggunakan model program linear, para pengambil
keputusan dapat memprediksi hasil yang akan diperoleh.
Bentuk umum model program linear adalah:
Max(min)Z =∑
cjxj.
Kendala
∑aijxj(≤,=,≥)bi, (i = 1, 2, ...,m),
xj ≥ 0, (j = 1, 2, ...,m).
6
Universitas Sumatera Utara
Di mana
xj : banyaknya kegiatan j (j = 1, 2, ..., n),
Z : nilai fungsi tujuan,
cj : sumber per-unit kegiatan, untuk masalah memaksimalkan cj menunjukkan
keuntungan per-unit per-kegiatan, sedangkan untuk kasus meminimalkan-
cj menunjukkan biaya per-unit per-kegiatan,
b : besarnya sumber daya i (i = 1, 2, ...,m),
aij : banyaknya sumber daya i yang dipakai sumber daya j.
2.2 Program Integer
Pada masalah Program Linear penyelesaian optimalnya dapat berupa bilangan
real yang berarti penyelesaian bisa berupa bilangan pecahan. Untuk penyele-
saian yang berbentuk pecahan jika mengalami pembulatan ke integer terdekat
maka hasil yang diperoleh bisa menyimpang jauh dari yang diharapkan. Akan
tetapi banyak permasalahan di kehidupan nyata yang memerlukan penyelesaian
variabel keputusannya berupa integer sehingga harus dicari model penyelesaian
masalah sehingga diperoleh penyelesaian integer yang optimum.
Program Integer merupakan pengembangan dari Program Linear di mana
beberapa atau semua variabel keputusannya harus berupa integer. Jika hanya
sebagian variabel keputusannya merupakan integer maka disebut Program Inte-
ger campuran ( mixed Integer Progamming ). Jika semua variabel keputusannya
bernilai integer disebut Program Integer murni ( pure Integer Progamming ).
7
Universitas Sumatera Utara
Sedangkan Program Integer 0-1 merupakan bentuk Program Integer di mana
semua variabel keputusannya harus bernilai integer 0 atau 1 (binary).
Bentuk umum model Program Integer adalah:
Max(min)Z =∑
cjxj.
Kendala
∑aijxj(≤,=,≥)bi, (i = 1, 2, ...,m),
xj ≥ 0, (j = 1, 2, ...,m),
xj bernilai integer untuk beberapa atau semua j.
Bentuk umum model Program Integer 0-1 adalah:
Max(min)Z =∑
cjxj.
Kendala
∑aijxj(≤,=,≥)bi, (i = 1, 2, ...,m),
xj = 0 atau xj = 1, (j = 1, 2, ..., n).
2.3 Metode Solusi Dalam Integer Progamming Pendekatan Pembu-
latan
Suatu metode yang sederhana dan kadang-kadang praktis untuk menyelesai-
kan integer progamming adalah dengan membulatkan hasil variabel keputusan
yang diperoleh melalui LP. Pendekatan ini mudah dan praktis dalam hal usaha,
8
Universitas Sumatera Utara
waktu dan biaya yang diperlukan untuk memperoleh suatu solusi. Bahkan, pen-
dekatan pembulatan dapat merupakan cara yang sangat efektif untuk masalah
integer progamming yang besar dimana biaya-biaya hitungan sangat tinggi atau
untuk masalah nilai-nilai solusi variabel keputusan sangat besar. Contohnya,
pembulatan nilai solusi jumlah pensil yang harus diproduksi dari 14.250,2 men-
jadi 14.250,0 semestinya dapat diterima. Namun demikian sebab utama kega-
galan pendekatan ini adalah bahwa solusi yang diperoleh mungkin bukan solusi
integer optimum yang sesungguhnya.
Dengan kata lain, solusi pembulatan dapat lebih jelek dibanding solusi inte-
ger optimum yang sesungguhnya atau mungkin merupakan solusi tak layak. Ini
membawa konsekuensi besar jika jumlah produk-produk seperti pesawat angkut
komersial atau kapal perang yang harus diproduksi dibulatkan ke bilangan bulat
terdekat.
Tiga masalah berikut disajikan untuk mengilustrasikan prosedur pembula-
tan:
Masalah 1
Maksimumkan Z = 100X1 + 90X2
Dengan syarat 10X1 + 7X2 ≤ 70
5X1 + 10X2 ≤ 50
X1 + X2 ≥ 0
9
Universitas Sumatera Utara
Masalah 2
Minimumkan Z = 200X1 + 400X2
Dengan syarat 10X1 + 25X2 ≥ 100
3X1 + 2X2 ≥ 12
X1 + X2 ≤ 0
Masalah 3
Maksimumkan Z = 80X1 + 100X2
Dengan syarat 4X1 + 2X2 ≤ 12
X1 + 5X2 ≤ 15
X1 + X2 ≤ 0
Perbandingan antara solusi dengan metode simpleks tanpa pembatasan bilan-
gan bulat, pembulatan ke bilangan bulat terdekat dan solusi integer optimum
yang sesungguhnya untuk ketiga masalah tersebut adalah:
10
Universitas Sumatera Utara
Masalah Solusi dengan metode Dengan pembulatan Bulat optimum
simpleks terdekat sesungguhnya
1 X1 = 5, 38 X1 = 5 X1 = 7
X2 = 2, 31 X2 = 2 X2 = 0
Z = 746, 15 Z = 680 Z = 700
2 X1 = 1, 82 X1 = 2 X1 = 3, X2 = 3
X2 = 3, 27 X2 = 3 X1 = 5, X2 = 2
Z = 1.672, 73 Z = tak layak Z = 1.800
3 X1 = 2, 14 X1 = 2 X1 = 0
X2 = 1, 71 X2 = 2 X2 = 3
Z = 343 Z = tak layak Z = 300
Masalah pertama adalah masalah maksimasi, dimana solusi pembulatan meng-
hasilkan keuntungan 680, hanya lebih kecil 20 dibanding yang dihasilkan solusi
bulat optimum 700. Masalah kedua adalah masalah minimasi dimana solusi
pembulatan adalah tak layak. Ini menunjukan bahwa meskipun pendekatan
adalah sederhana, namun kadang-kadang menyebabkan solusi tak layak. Untuk
mencegah ketidaklayakan, nilai solusi simpleks dalam masalah minimasi harus
dibulatkan ke atas. Misalnya , pada masalah kedua jika solusi dibulatkan ke
atas diperoleh X1 = 2 dan X2 = 4 dan merupakan solusi layak. Sebaliknya,
pada masalah maksimasi nilai solusi simpleks semestinya dibulatkan ke bawah.
Pada msalah ketiga, solusi pembulatan juga tak layak. Namun, seperti
dalam masalah minimasi, jika solusi simpleknya X1 = 2, 14 dan X2 = 1, 71
dibulatkan ke bawah menjadi X1 = 2 dan X2 = 1, maka solusinya menjadi
11
Universitas Sumatera Utara
layak. Ini dapat dibuktikan dengan meneliti masing-masing kendala model
dengan nilai variabel keputusan yang telah dibulatkan kebawah.
Suatu metode yang serupa dengan pendekatan pembulatan adalah prosedur
coba-coba (trial and eror). Dengan menggunakan cara ini, pengambil keputu-
san mengamati solusi integer dan memilih solusi yang mengoptimumkan nilai
fungsi tujuan. Metode ini sangat tidak efektif jika masalahnya melibatkan se-
jumlah besar kendala dan variabel. Terlebih lagi, memeriksa kelayakan setiap
solusi yang dibulatkan banyak memakan waktu.
2.4 Pendekatan Grafik
Masalah Integer Progamming yang melibatkan hanya dua variabel dapat dise-
lesaikan secara grafik. Pendekatan ini identik dengan metode grafik LP dalam
semua aspek, kecuali bahwa solusi optimum harus memenuhi persyaratan bilan-
gan bulat. Mungkin pendekatan termdah untuk menyelesaikan masalah integer
progamming dua dimensi adalah menggunakan kertas grafik dan mengambarkan
sekumpulan titik-titik integer dalam ruang solusi layak. Masalah berikut akan
diselesaikan dengan pendekatan grafik.
Maksimumkan Z = 100X1 + 90X2
Dengan syarat 10X1 + 7X2 ≤ 70
5X1 + 10X2 ≤ 50
X1 ; X2 ≥ non negatif integer
12
Universitas Sumatera Utara
Model ini serupa dengan model LP biasa. Perbedaannya hanya pada kendala
terakhir yang mengharapkan bahwa variabel terjadi pada nilai non negatif in-
teger.
Solusi grafik masalah ini ditunjukkan pada gambar di bawah ini:
Z = 700
Z = 746, 15
X2
10
5
7 10X10
A
B
C
5X1 + 10X2 = 50
10X1 + 7X2 = 70
Ruang solusi layak adalah OABC. Solusi optimum masalah LP ditunjukkan
pada titik B, dengan X1 = 5, 38 dan X2 = 2, 31 serta Z = 746, 15. Untuk
mencari solusi integer optimum masalah ini, garis Z (slope = -9/10) digeser
secara sejajar dari titik B menuju titik asal. Solusi integer optimum adalah
titik integer pertama yang bersinggungan dengan garis Z. Titik itu adalah A,
dengan X1 = 7 dan X2 = 0 serta Z = 700.
13
Universitas Sumatera Utara
2.5 Pendekatan Gomory (Cutting Plane Algorithm)
Suatu prosedur sistematik untuk memperoleh solusi integer optimum terhadap
pure integer progamming pertama kali dikemukakan oleh R.E. Gomory. Ia
kemudian memperluas prosedur ini untuk menangani kasus yang lebih sulit
yaitu mixed integer progamming.
Langkah-langkah prosedur Gomory diringkas seperti berikut:
1. Selesaikan masalah integer progamming dengan menggunakan metode
simpleks. Jika masalah sederhana, ia dapat diselesaikan dengan pen-
dekatan grafik, sehingga pendekatan Gomory kurang efisien.
2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai integer,
solusi optimum integer telah diperoleh dan proses solusi telah berakhir.
Jika satu atau lebih variabel basis masih memiliki nilai pecah, teruskan
ke tahap 3.
3. Buatlah suatu skala Gomory (suatu bidang pemotong atau cutting plane)
dan cari solusi optimummelalui prosedur dual simpleks. Kembali ke tahap
2.
2.6 Kendala Gomory Dalam Pure Integer Progamming
Tabel optimum masalah LP di bawah ini merupakan tabel solusi optimum kon-
tinyu
14
Universitas Sumatera Utara
Basis X1 Xm w1 wn Solusi
Z 0 . . . 0 c1··· cn b0
X1 1 . . . 0 a11··· a1n b1
Xm 0 1 am1 amn b1
• Variabel Xi (i = 1, ...,m) menunjukan variabel basis.
• Variabel Xj (j = 1, ..., n) adalah variabel non bebas.
Perhatikan persamaan ke i dimana variabel X1 diasumsikan bernilai non integer
Xi = bi −∑
aijwj dimana b non integer
Kemudian pisahkan bi dan aij menjadi bagian yang bulat dan bagian pecah non
negatif seperti berikut:
bi = bi + fi jadi fi = bi − bi, dimana 0 ≤ fi ≤ 1
aij = aij + fij jadi fij = aij − aij, dimana 0 ≤ fij ≤ 1
2.7 Metode Branch dan Bound
Metode Branch and Bound merupakan kode komputer standar untuk inte-
ger progamming, dan penerapan-penerapan dalam praktek tampaknya men-
yarankan bahwa metode ini lebih efisien dibanding dengan pendekatan Gomory.
Teknik ini dapat diterapkan baik untuk masalah pure maupun mixed integer
progamming.
15
Universitas Sumatera Utara
Langkah-langkah metode Branch and Bound untuk masalah maksimasi da-
pat dilakukan seperti berikut:
1. Selesaikan masalah LP dengan metode simpleks biasa tanpa pembatasan
bilangan bulat.
2. Teliti solusi optimumnya. Jika variabel basis yang diharapkan bulat adalah
bulat, solusi optimum bulat telah tercapai. Jika satu atau lebih variabel
basis yang diharapkan bulat ternyata tidak bulat, lanjutkan ke langkah 3.
3. Nilai solusi pecah yang layak dicabangkan ke dalam sub-sub masalah. Tu-
juannya adalah untuk menghilangkan solusi kontinyu yang tidak memenuhi
persyaratan bulat dalam masalah itu. Pencabangan itu dilakukan melalui
kendala-kendalamutually exclusive yang perlu untuk memenuhi persyaratan
bulat dengan jaminan tidak ada solusi bulat layak yang tidak diikut ser-
takan.
4. Untuk setiap sub-masalah, nilai solusi optimum kontinyu fungsi tujuan
ditetapkan sebagai batas atas. Solusi bulat terbaik menjadi batas bawah
(pada awalnya, ini adalah solusi kontinyu 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 bu-
lat layak dalah 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
16
Universitas Sumatera Utara
ke langkah 3.
Untuk memperoleh gambaran yang lebih jelas tentang metode Branch and
Bound, perhatikan contoh masalah berikut:
Maksimumkan Z = 3X1 + 5X2
Dengan syarat 2X1 + 4X2 ≤ 25
X1 ≤ 8
2X2 ≤ 10
X1; X2 non negatif integer
Solusi optimum kontinyu masalah ini adalah X1 = 8, X2 = 2, 26 dan Z =
35, 25.
Solusi ini menunjukan batas awal. Batas bawah adalah solusi yang dibu-
latkan ke bawah X1 = 8, X2 = 2 dan Z = 34. Dalam metode Branch and
Bound, masalah itu dibagi ke dalam dua bagian untuk mencari nilai solusi bu-
lat yang mungkin bagi X1 dan X2. Untuk melakukan ini, variabel dengan nilai
solusi pecah yang memiliki bagian pecah terbesar dipilih. Karena pada solusi
ini hanya X2 yang memiliki bagian pecahan, ia dipilih. Untuk menghilangkan
bagian pecah dari nilai X2 = 2, 25, dua kendala baru dbuat. Kendala-kendala
ini mewakili dua bagian baru dari masalah itu. Dalam hal ini, dua nilai bu-
lat terdekat terhadap 2,25 adalah 2 dan 3. Sehingga diperoleh dua masalah
baru melalui dua kendala mutually exclusive, X2 ≤ 2 dan X2 ≥ 3, yang akan
diuraikan berikut ini sebagai bagian dari A dan B. Kendala-kendala ini secara
17
Universitas Sumatera Utara
efektif menghilangkan semua nilai pecah yang mungkin bagi X2, antara 2 dan 3.
Pengaruhnya mereka mengurangi ruang solusi layak sedemikian rupa sehingga
angka solusi bulat yang diealuasi pada masalah ini makin sedikit.
Bagian A
Maksimumkan Z = 3X1 + 5X2
Dengan syarat 2X1 + 4X2 ≤ 25
X1 ≤ 8
2X2 ≤ 10 (berlebih)
X2 ≤ 2
X1; X2 ≥ 0
Bagian B
Maksimumkan Z = 3X1 + 5X2
Dengan syarat 2X1 + 4X2 ≤ 25
X1 ≤ 8
2X2 ≤ 10
X2 ≤ 3
X1; X2 ≥ 0
Bagian A dan B diselesaikan tanpa pembatasan bilangan bulat dengan
metode simpleks. Solusi grafik kedua bagian itu ditunjukkan pada gambar
dibawah ini. Solusi simpleknya adalah:
18
Universitas Sumatera Utara
Bagian A : X1 = 8, X2 = 2, dan Z = 34,
Bagian B : X1 = 6, 5, X2 = 3, dan Z = 34, 5.
Bagian A menghasilkan suatu solusi yang semuanya bulat. Untuk bagian
A batas atas dan bawah adalah Z = 34. Solusi pecah bagian B membenarkan
pencarian lebih lanjut karena menghasilkan nilai fungsi tujuan yang lebih besar
dari batas atas bagian A. Sangat mungkin bahwa pencarian lebih lanjut da-
pat menghasilkan suatu solusi yang semuanya bulat dengan nilai fungsi tujuan
melebihi batas atas bagian A = 34.
Bagian B dicabangkan ke dalam dua sub bagian, b1 dan b2, pertama dengan
kendala X1 ≤ 6 dan yang lain dengan X2 ≥ 7. Kedua sub-masalah dinyatakan
sebagai berikut:
Sub bagian B1
Maksimumkan Z = 3X1 + 5X2
Dengan syarat 2X1 + 4X2 ≤ 25
X1 ≤ 8 (berlebih)
2X2 ≤ 10
X2 ≥ 3
X1 ≤ 6
X1; X2 ≥ 0
19
Universitas Sumatera Utara
Sub bagian B2
Maksimumkan Z = 3X1 + 5X2
Dengan syarat 2X1 + 4X2 ≤ 25
X1 ≤ 8
2X2 ≤ 10
X2 ≥ 3
X1 ≥ 7
X1; X2 ≥ 0
Solusi simpleksnya adalah :
Sub-bagian B1 : X1 = 6, X2 = 3, 25 dan Z = 34, 25,
Sub-bagian B2 : tidak layak.
Karena sub-bagian B1 menghasilkan nilai fungsi tujuan yang lebih besar
dari 34 (batas atas bagian A), maka harus dicabangkan lagi ke dalam dua sub
masalah, dengan kendala X2 ≤ 3 dan X2 ≥ 4. Kedua kendala sub masalah
diberi nama bagian B1a dan B1b.
20
Universitas Sumatera Utara
Bagian B1a
Maksimumkan Z = 3X1 + 5X2
Dengan syarat 2X1 + 4X2 ≤ 25
2X2 ≤ 10 (berlebih)
X2 ≤ 3
X2 ≥ 3
X1 ≤ 6
X1; X2 ≥ 0
Bagian B1b
Maksimumkan Z = 3X1 + 5X2
Dengan syarat 2X1 + 4X2 ≤ 25
2X2 ≤ 10
X2 ≥ 3 (berlebih)
X2 ≥ 4
X1 ≤ 6
X1; X2 ≥ 0
Solusi optimum dengan metode simpleks adalah :
Sub-bagian B1a : X1 = 6, X2 = 3 dan Z = 33,
Sub-bagian B1b : X1 = 4, 25, X2 = 4 dan Z = 33, 5.
Kedua solusi itu memiliki batas atas ( Z = 33 dan Z = 33, 5 ) yang lebih
21
Universitas Sumatera Utara
buruk dibanding dengan solusi yang dihasilkan oleh bagian A. Karena itu, solusi
bulat optimum adalah X1 = 8, X2 = 2 dan Z = 34 yang dihasilkan oleh bagian
A.
Jika pencarian telah diselesaikan, solusi bulat dengan fungsi tujuan tertinggi
(dalam masalah maksimasi) dipilih sebagai solusi optimum.
Hasil perhitungan diatas dapat digambarkan pada gambar berikut:
X2 ≤ 2
Solusi bulat optimum
X1 = 8
X2 = 2
Z = 34
0
X1 = 8
X2 = 2, 25
Z = 35, 25
X2 ≥ 3
1
X1 = 6, 5
X2 = 35
Z = 34, 5
X1 ≥ 7
Tak layak
X1 ≤ 6
2
X1 = 6
X2 = 3, 25
Z = 34, 25
Inferior
X2 ≥ 4
X ≤ 3
Inferior
22
Universitas Sumatera Utara