bab 2 program integer 2.1 program...

17
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 = c j x j . Kendala a ij x j (, =, )b i , (i =1, 2, ..., m), x j 0, (j =1, 2, ..., m). 6 Universitas Sumatera Utara

Upload: haliem

Post on 22-Jul-2019

221 views

Category:

Documents


0 download

TRANSCRIPT

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