Anda di halaman 1dari 21

Bab 2

LANDASAN TEORI

2.1 Linear Programming

Linear Programming (LP) merupakan metode yang digunakan untuk mencapai


hasil terbaik (optimal) seperti keuntungan maksimum atau biaya minimum dalam
model matematika yang melibatkan variable-variabel linear. Linear programming
juga dapat dikatakan sebagai teknik untuk mengoptimasi sebuah fungsi objective
linear, dengan kendala berbentuk persamaan linear maupun pertidaksamaan
linear. Secara umum, linear programming dapat dinyatakan sebagai:
Optimalkan Z(x), x ∈ S ⊆ % n dengan %n adalah himpunan semua vektor real n
komponen dan Z(x) merupakan fungsi objektif yang didefinisikan dalam S atau
juga disebut sebagai himpunan kendala. Setiap x ∈ S disebut sebagai solusi layak
(feasible solution), sedangkan x0 ∈ S yang memenuhi Z(x) € Z(x0) € ∞, ∀x ∈ S
disebut sebagai solusi optimal (optimal solution).

Dalam kehidupan sehari-hari, linear programming merupakan bagian yang


sangat penting dalam area matematika yang disebut teknik optimasi. Linear
programming umumnya diaplikasikan dalam permasalahan yang dapat
dimodelkan ke dalam suatu model matematika, misalnya dalam mencari
keuntungan suatu usaha, pengoptimalan persediaan, juga dalam beberapa masalah
industri maupun ekonomi. Adakalanya dalam situasi tertentu solusi yang
diinginkan haruslah dalam bilangan bulat, misalnya pada perusahaan manufaktur,
perusahaan tidak bisa memproduksi barang setengah, sepertiga, ataupun
seperempat jadi. Masalah ini disebut dengan integer linear programming (ILP).
2.1.1 Karakteristik Linear Programming

Karakteristik-karakteristik dalam linear programming yang biasa digunakan


untuk memodelkan suatu masalah dan memformulasikannya secara matematik
yaitu:

a. Variabel Keputusan

Variabel keputusan adalah variabel yang secara lengkap menguraikan


keputusan-keputusan yang akan dibuat.

b. Fungsi Tujuan

Fungsi tujuan merupakan suatu hubungan linier dari variabel keputusan


yang berupa fungsi maksimum atau minimum.

c. Kendala

Kendala merupakan batasan-batasan dalam penyelesaian linear


programming yang harus diperhatikan. Kendala diekspresikan dalam
persamaan dan pertidaksamaan yang juga merupakan hubungan linier dari
variabel keputusan yang mencerminkan keterbatasan sumberdaya dalam
suatu masalah.

2.1.2 Asumsi dalam Linear Programming

Model linear programming mengandung asumsi-asumsi implisit tertentu yang harus


dipenuhi. Asumsi-asumsi tersebut yaitu:
a. Linieritas (Linearity)
Fungsi tujuan (objective function) dan kendala – kendalanya (constraints)
dibuat dalam fungsi linier. Sifat linearitas suatu kasus dapat ditentukan
dengan menggunakan beberapa cara, misalnya dengan menggunakan
grafik atau menggunakan uji hipotesa.

b. Kesetaraan (Proportionality)

i. Kontribusi setiap variabel keputusan terhadap fungsi tujuan adalah


sebanding dengan nilai variabel keputusan.
ii. Kontribusi suatu variabel keputusan terhadap ruas kiri dari setiap
pembatas juga sebanding dengan nilai variabel keputusan itu.

c. Penambahan (Addivity)
Sifat penambahan mengasumsikan bahwa tidak terdapat bentuk perkalian
silang pada model, baik bagi fungsi tujuan maupun kendala.

d. Pembagian (Divisibility)
Solusi dapat berupa bilangan bulat (integer) atau bilangan pecahan.

e. Ketidaknegatifan (Nonnegativity)
Nilai variabel keputusan harus lebih besar atau sama dengan nol.

f. Kepastian (Certainty)
Koefisien pada fungsi tujuan ataupun fungsi kendala merupakan suatu
nilai pasti, bukan merupakan suatu nilai dengan peluang tertentu.
Asumsi-asumsi di atas harus dipenuhi apabila ingin menyelesaikan
masalah model linear programming. Jika asumsi-asumsi tersebut tidak
dapat terpenuhi, persoalan dapt diselesaikan dengan program matematik
lain seperti; integer programming, nonlinear programming, goal
programming, atau dynamic programming.

2.2 Integer Programming (IP)

Program bilangan bulat (integer programming) merupakan bentuk perluasan dari


linear programming. Persoalan IP menginginkan solusi yang didapat berupa
bilangan bulat, bukan berupa bilangan pecahan. Contoh persoalan yang sering
ditemui misalnya menentukan banyaknya barang elektronik yang harus
diproduksi, banyaknya unit rumah yang akan dibangun pada suatu proyek
perumahan, banyaknya orang yang diperlukan untuk mengerjakan suatu proyek,
dan sebagainya. Integer programming memiliki model matematis yang sama
dengan model linear programming pada umumnya, tetapi ditambah batasan
bahwa variabelnya harus bilangan bulat.

Berdasarkan jenis keputusan yang akan diperoleh, persoalan integer


programming dapat dibedakan atas tiga jenis, yaitu:
1. Pemrograman Bilangan Bulat Murni (Pure Integer Programming)
2. Pemrograman Bilangan Bulat Campuran (Mixed Integer Programming)
3. Pemrograman Bilangan Bulat Biner (Binary Integer Programming)

2.2.1 Pemrograman Bilangan Bulat Murni (Pure Integer Programming)

Pure Integer Programming (PIR) merupakan pemrograman bilangan bulat


di mana semua nilai variabel keputusan haruslah bilangan bulat. Bentuk umum
pure integer programming yaitu:
Optimalkan : Z = ∑n
j=1 cjxj

Kendala : ∑n
j=1 aijxj(≤, ≤, =)bi
i = 1, 2, … , N
j = 1, 2, … , n
xj ≤ 0, integer

2.2.2 Pemrograman Bilangan Bulat Campuran (Mixed Integer Programming)

Mixed Integer Programming (PIR) merupakan pemrograman bilangan bulat di


mana nilai variabel keputusannya berupa campuran antara bilangan bulat dan
bilangan desimal atau pecahan. Bentuk umum mixed nteger programming yaitu:

Optimalkan : Z = p
∑n j=1 cjx k=1 dkyk
j +
Kendala : aijxj +
j=1 gikyk (≤, ≤, =)bi
∑n p

k=1
i = 1, 2, … , N
j = 1, 2, … , n
k = 1, 2, … , e
xj ≤ 0,
integer yk ≤
0

2.2.3 Pemrograman Bilangan Bulat Biner (Binary Integer Programming)

Bentuk lain dari masalah integer programming adalah binary integer


programming (BIP). Dalam persoalan binary integer programming nilai variabel
keputusannya berupa bilangan biner (0 atau 1). Dalam aplikasi sehari-hari,
masalah binary integer programming menyangkut masalah pengambilan
keputusan, di mana jika solusi yang didapat berupa angka 1 yang menyatakan
“ya” atau angka 0 yang menyatakan “tidak”.
Bentuk umum dari binary integer programming yaitu:
Optimalkan : Z = ∑n
j=1 cjxj

Kendala : ∑n
j=1 aijxj(≤, ≤, =)bi

i = 1, 2, … , N
j = 1, 2, … , n
xj = 0 atau 1

2.3 Metode Penyelesaian Masalah Integer Programming

Tampaknya cukup untuk mendapatkan solusi bulat dari masalah linear


programming, dengan menggunakan metode simpleks biasa dan kemudian
membulatkan nilai-nilai pecah solusi optimum. Bukan tugas mudah untuk
membulatkan nilai-nilai pecah variabel basis yang menjamin tetap memenuhi
semua kendala dan tidak menyimpang cukup jauh dari solusi bulat yang tepat.
Akibatnya diperlukan prosedur yang sistematis untuk mendapatkan solusi bulat
optimum terhadap masalah itu. Beberapa metode yang dapat digunakan untuk
menyelesaikan masalah integer programming antara lain:
1. Metode Pendekatan Pembulatan
2. Metode Pendekatan Grafik
3. Metode Branch and Bound
4. Metode Cutting Plane

2.3.1 Metode Pendekatan Pembulatan

Suatu pendekatan yang sederhana dalam menyelesaikan masalah integer


programming adalah dengan membulatkan nilai variabel keputusan yang telah
diperoleh pada penyelesaian linear programming. Pendekatan ini mudah dan
praktis dalam usaha, waktu, dan biaya yang diperlukan untuk memperoleh solusi.
Pendekatan pembulatan merupakan cara yang sering digunakan untuk masalah
integer programming apabila biaya perhitungan sangat tinggi atau untuk masalah
yang memiliki nilai-nilai solusi variabel keputusan relatif besar.
Namun demikian sebab utama kegagalan pendekatan ini adalah bahwa
solusi yang diperoleh mungkin bukan solusi integer optimum yang sesungguhnya.
Dengan kata lain, solusi pembulatab dapat lebih jelek dibandingkan solusi integer
optimum yang sesungguhnya atau mungkin merupakan solusi tak layak.
Tiga masalah berikut disajikan untuk mengilustrasikan prosedur pembulatan:

Contoh 2.1:
Masalah 1:
Maksimumkan Z = 100x1 + 90x2
Kendala 10x1 + 7x2 ≤ 70
5x1 + 10x2 ≤ 50
x1 + x2 ≤ 0

Masalah 2:
Minimumkan Z = 200x1 + 400x2
Kendala 10x1 + 25x2 ≤ 100
3x1 + 2x2 ≤ 12
x1 + x2 ≤ 0
Masalah 3:
Maksimumkan Z = 80x1 + 100x2
Kendala 4x1 + 2x2 ≤ 12
x1 + 5x2 ≤ 15
x1 + x 2 ≤ 0

Perbandingan antara solusi dengan metode simpleks tanpa pembatasan bilangan


bulat, pembulatan ke bilangan bulat terdekat dan solusi integer optimum yang
sesungguhnya untuk ketiga masalah tersebut adalah:
Tabel 2.1 Perbandingan solusi dengan metode pendekatan pembulatan dengan bulat
optimum sesungguhnya.

Dengan Solusi integer


Solusi dengan
Masalah pembulatan optimum
Metode 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 = 5
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, di mana solusi pembulatan


menghasilkan keuntungan 680, hanya lebih kecil 20 dibanding yang dihasilkan
solusi bulat optimum 700. Masalah kedua adalah masalah minimasi di mana
solusi pembulatan adalah tak layak. Ini menunjukkan 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. Sebaliknya, pada masalah maksimasi nilai
solusi simpleks semestinya dibulatkan ke bawah. Contohnya, pada masalah kedua
jika solusi simpleksnya dibulatkan ke atas akan diperoleh x1 = 2 dan x2 = 4 dan
merupakan solusi layak. Juga pada masalah ketiga, jika solusi simpleksnya
dibulatkan ke bawah akan diperoleh x1 = 2 dan x2 = 1 dan merupakan solusi
layak.
Nilai fungsi tujuan melalui simpleks tanpa pembatasan bilangan bulat akan
selalu lebih baik dibanding solusi integer optimum karena terletak pada titik pojok
luar dari batas ruang solusi layak. Suatu metode yang serupa dengan pendekatan
pembulatan adalah prosedur coba-coba (trial and error). Dengan menggunakan
cara ini, pengambil keputusan mengamati solusi integer dan memilih solusi yang
mengoptimumkan nilai fungsi tujuan. Cara ini sangat tidak efektif jika
masalahnya melibatkan sejumlah besar kendala dan variabel. Terlebih lagi,
memeriksa kelayakan setiap solusi yang dibulatkan akan banyak memakan waktu.

2.3.2 Metode Pendekatan Grafik

Masalah integer programming yang melibatkan dua variabel dapat diselesaikan


dengan metode pendekatan grafik. Metode ini identik dengan metode grafik yang
biasa digunakan dalam linear programming. Metode grafik relatif lebih mudah
untuk menyelesaikan masalah integer programming dua variabel yaitu dengan
menggambar grafik di atas kertas grafik kemudian menggambarkan sekumpulan
titik-titik integer dalam ruang solusi layak. Masalah berikut akan diselesaikan
dengan pendekatan grafik.

Contoh 2.2:
Maksimumkan Z = 100x1 + 90x2
Kendala 10x1 + 7x2 ≤ 70
5x1 + 10x2 ≤ 50
x1, x2 Non negatif integer

Model ini serupa dengan model linear programming biasa. Perbedaannya


terletak pada kendala terakhir yang menginginkan solusi bernilai non negatif
integer.
Solusi grafik untuk masalah ini ditunjukkan pada gambar di bawah.
Ruang solusi layak adalah OABC. Solusi optimum masalah linear
programming ditunjukkan pada titik B, dengan x1 = 5,38 dan x2 = 2,31
serta Z = 746,15.
Untuk mencari solusi intger 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.

Gambar 2.1 Penyelesaian dengan pendekatan grafik

2.3.3 Metode Cutting Plane (Pendekatan Gomory)

Suatu prosedur sistematik untuk memperoleh solusi integer optimum terhadap


pure integer programming pertama kali
dikemukakan oleh R.E Gomory pada
tahun 1958. Ia kemudian memperluas prosedur ini untuk kasus
yang lebih sulit
yaitu mixed integer programming.

Langkah-langkah prosedur Gomory yaitu:


1. Selesaikan masalah integer programming dengan metode simpleks. Jika
masalah sederhana, dapat diselesaikan dengan pen ekatan grafik.
2. Periksa solusi optimum. Jika semua variabel basis memiliki nilai integer,
maka solusi optimum telah diperoleh dan proses berakhir. Jika masih ada satu
atau lebih variabel basis memiliki nilai pecah, teruskan ke tahap 3.
3. Buatlah suatu skala Gomory (suatu bidang pemotong atau cutting plane) dan
cari solusi optimum melalui proses dual simpleks. Kembali ke tahap 2.

Kendala Gomory dalam Pure Integer Programming

Tabel optimum masalah linear programming berikut merupakan solusi optimum


kontinu.

Tabel 2.2 Solusi optimum masalah linear programming


Basis X1 Xm W1 Wn Solusi
Z 0 .. 0 c1….. cn b0
X1 1 .. 0 a11….. a1n b1
. . . . . .
Xm 0 1 aN1 aNN b1

Di mana variabel Xi (i = 1, … , N) menunjukkan variabel basis dan variabel


Xj(j = 1, … , n) adalah non basis.
Perhatikan persamaan ke i di mana variabel Xi diasumsikan bernilai non integer.
Xi = bi — ∑ aijWi di mana b non integer.
Kemudian pisahkan bi dan aij menjadi bagian yang bulat dan bagian pecah non
negatif seperti berikut:

bi = b¯t + fi jadi fi = bi — b¯t , di mana 0 ≤ fi ≤ 1


aij = a¯¯t¯y + fij jadi fij = aij — a¯¯t¯y , di mana 0 ≤ fij ≤ 1
Contoh:
bi b ¯t fi aij ¯a¯t¯y fij
3 1 7 2
1 -3
2 2 —3 3
7 7
0 -1 -1 0
8 8
7 1 2 3
2 —5 -1
3 3 5

Kendala Gomory yang diinginkan yaitu:


Sg — fij Wj = —fi , Sg adalah variabel slack Gomory ke g.

Pada umumnya, persamaan kendala yang berhubungan dengan solusi


pecah dipilih untuk menghasilkan suatu kendala Gomory. Namun, sebagai aturan
main biasanya dipilih persamaan yang memiliki fi maksimum.

Tabel baru setelah penambahan kendala Gomory disajikan pada tabel berikut:

Tabel 2.3 Penambahan kendala Gomory


Basis X1 XN W1 Wn Sg Solusi
Z 0 ….. 0 c1….. cn 0 b0
X1 1 ….. 0 a11….. a1n . b1
. . . . . . .
. . . . . . .
. . . . . . .
XN 0 1 aN1 aNN aNN b1
Sg 0 …. 0 —fi1 —fin 1 —fi

Karena diperoleh solusi primal optimum tetapi tidak layak maka digunakan
metode dual simpleks. Proses pembentukan kendala Gomory berakhir jika solusi
baru semua berupa bilangan bulat. Jika tidak, suatu kendala Gomory baru dibuat
lagi dari tabel yang dihasilkan dan metode dual simpleks digunakan lagi untuk
mengatasi ketidaklayakan. Jika pada setiap iterasi metode dual simpleks
menunjukkan bahwa tidak ada solusi layak, berarti masalah itu tidak memiliki
solusi integer yang layak.

Berikut ini terdapat persoalan integer programming:

Contoh 2.3:
Maksimumkan Z = 7x1 + 9x2
Kendala —x1 + 3x2 ≤ 6
7x1 + x2 ≤ 35
x1, x2 Non negatif integer
Solusi kontinu optimumnya diperoleh dalam tabel berikut:

Tabel 2.4 Solusi optimal contoh 2.3 (iterasi 0)


Basis x1 x2 S1 S2 Solusi
Z 0 0 28/11 15/11 63
x1 0 1 7/22 1/22 7/2
x2 1 0 -1/22 3/22 9/2

Karena solusi tidak bulat, suatu kendala Gomory ditambahkan pada tabel itu.
Kedua persamaan (x1 dan x2) pada masalah ini memiliki nilai fi yang sama,
yaitu f1 =2 f2 = 1, sehingga salah satu dapat digunakan, misalkan digunakan
persamaan

x2, ini menghasilkan

x2 + 7 S1 + 1 S2 = 7 atau
22
7 22 2
1 1
x + (0 + ) S + (0 + ) S = (3 + )
2 1 2
22 22 2
Sehingga kendala Gomory menjadi:

7 1 1
Sg1 — S1—
22 2

Tabel baru setelah penambahan kendala Gomory menjadi:

Tabel 2.5 Penambahan kendala Gomory contoh 2.3 (iterasi 0)

Basis x1 x2 S1 S2 Sg1 Solusi


Z 0 0 28/11 15/11 0 63
x2 0 1 7/22 1/22 0 7/2
x1 1 0 -1/22 3/22 0 9/2
Sg1 0 0 -7/22 -1/22 1 -1/2

Dengan memakai metode dual simpleks diperoleh tabel baru yaitu:

Tabel 2.6 Solusi optimal contoh 2.3 (iterasi 1)


Basis x1 x2 S1 S2 Sg1 Solusi
Z 0 0 0 1 8 59
x2 0 1 0 0 1 3
x1 1 0 0 1/7 -1/7 32/7
Sg1 0 0 1 1/7 -22/7 11/7

Solusi baru yang didapat masih belum bilangan bulat, akibatnya suatu
kendala Gomory baru ditambahkan. Dapat dilihat bahwa persamaan x1
memiliki (f1 = 47), maka x1 ditulis dalam berikut:
1 6 4
x1 + (0 + ) S2 + (0 + ) S = (4 + )
7 g1
7 7
Sehingga dihasilkan kendala Gomory kedua sebagai berikut:
1 6 4
Sg2 — S2 — Sg1 = —
7 7 7
Kemudian ditambahkan pada tabel 2.7 berikut:

Tabel 2.7 Penambahan kendala Gomory contoh 2.3 (iterasi 1)


Basis x1 x2 S1 S2 Sg1 Sg2 Solusi
Z 0 0 0 1 8 0 59
x2 0 1 0 0 1 0 3
x1 1 0 0 1/7 -1/7 0 32/7
S1 0 0 1 1/7 -22/7 0 11/7
Sg2 0 0 0 -1/7 -6/7 1 -4/7

Dengan menggunakan dual simpleks diperoleh hasil:

Tabel 2.8 Solusi optimal contoh 2.3 (iterasi 2)


Basis x1 x2 S1 S2 Sg1 Sg2 Solusi
Z 0 0 0 0 2 7 55
x2 0 1 0 0 1 0 3
x1 1 0 0 0 -1 1 4
S1 0 0 1 0 -4 1 1
Sg2 0 0 0 1 6 -7 4

Didapat solusi bulat optimum x1 = 4, x2 = 3, dan Z = 55.


2.3.4 Metode Branch and Bound

Metode branch and bound adalah salah satu metode untuk mendapatkan
penyelesaian optimal program linier yang menghasilkan variable-variable
keputusan bilangan bulat. Metode ini membatasi penyelesaian optimum yang akan
menghasilkan bilangan pecahan dengan cara membuat cabang atas dan bawah
bagi masing-masing variable keputusan yang bernilai pecahan agar bernilai bulat
sehingga setiap pembatasan akan menghasilkan cabang baru.
Metode branch and bound telah menjadi kode computer standar untuk
integer programming, dan penerapan-penerapan dalam praktek tampaknya
menyarankan bahwa metode ini lebih efisien dibanding dengan metode cutting
plane. Metode branch and bound dapat digunakan untuk menyelesaikan masalah
pure maupun mixed integer programming.
Berikut ini adalah langkah-langkah penyelesaian masalah maksimasi
dengan metode branch and bound:
1. Selesaikan masalah LP biasa tanpa pembatasan bilangan bulat dengan metode
simpleks biasa.
2. Teliti solusi optimalnya. Jika semua variabel basis telah bernilai bulat, maka
solusi optimum telah tercapai dan proses berakhir. Jika satu atau lebih variabel
basis belum bernilai bulat, lanjut ke tahap 3.
3. Jadikan solusi pada penyelesaian tahap 1 (relaxed solution) menjadi batas atas
dan sebagai batas bawahnya digunakan solusi yang variabel basisnya telah
dibulatkan ke bawah (rounded-down).
4. Pilih variabel yang mempunyai nilai pecahan yang terbesar untuk dijadikan
pencabangan ke dalam sub-sub masalah. Tujuannya adalah untuk
menghilangkan solusi kontinu yang tidak memenuhi persyaratan bulat dalam
masalah itu. Pencabangan dilakukan secara mutually exclusive untuk
memenuhi persyaratan bulat dengan jaminan tidak ada solusi bulat layak yang
tidak diikut sertakan.
5. Untuk setiap sub masalah, nilai solusi optimum kontinu fungsi tujuan
ditetapkan sebagai batas atas. Solusi bulat terbaik menjadi batas bawah (pada
awalnya, ini adalah solusi kontinu 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 bulat layak adalah 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 ke langkah 4.
Untuk masalah minimasi, solusi yang menjadi batas atas dibulatkan keatas, atau
dengan kata lain batas atas dan bawah pada kasus minimasi berlawanan pada
kasus maksimasi.

Untuk memperoleh gambaran yang lebih jelas tentang metode Branch dan Bound,
perhatikan contoh 2.4 berikut:

Contoh 2.4:
Maksimumkan Z = 3x1 + 5x2
Kendala 2x1 + 4x2 ≤ 25
x1 ≤ 8
2x2 ≤ 10
x1, x2 Non negatif integer

Solusi optimum kontinu masalah tersebut adalah x1 = 8, x2 = 2,25 dan


Z = 35,25.

Solusi tersebut merupakan batas awal. Batas bawah merupakan solusi


yang dibulatkan ke bawah, yaitu x1 = 8, x2 = 2 dan Z = 34. Pada metode
branch and bound, masalah tersebut dibagi ke dalam dua bagian untuk
mencari nilai solusi bulat yang yang mungkin bagix1 dan x2. Untuk itu, dipilih
variabel dengan nilai solusi pecah yang memiliki bagian pecah terbesar.
Dalam kasus ini hanya x2 yang memiliki bagian pecah, maka ia dipilih. Untuk
menghilangkan bagian pecah pada x2, dua kendala baru dibuat. Nilai bulat
terdekat terhadap 2,25 yaitu 2 dan 3. Sehingga diperoleh dua kendala baru
yang saling mutually exclusive, yaitu x2 ≤ 2
dan x2 ≤ 3 yang selanjutnya akan diuraikan sebagai bagian A dan bagian B.
Kendala-kendala baru tersebut secara efektif menghilangkan semua nilai
pecah yang mungkin x2.

Bagian A:
Maksimumkan Z = 3x1 + 5x2
Kendala 2x1 + 45x2 ≤ 25
x1 ≤8
2x2 ≤ 10
x2 ≤ 2
x1,x2 ≤ 0

Bagian B:
Maksimumkan Z = 3x1 + 5x2
Kendala 2x1 + 4x2 ≤ 25
x1 ≤8
2x2 ≤ 10
x2 ≤ 3
x1, x2 ≤ 0

Bagian A dan bagian B diselesaikan dengan metode simpleks tanpa pembatasan


bilangan bulat. Solusi simpleksnya yaitu:
Bagian A: x1 = 8, x2 = 2, dan Z = 34
Bagian B: x1 = 6,5, x2 = 3, dan Z = 34,5

Bagian A diperoleh suatu solusi yang semuanya bulat. Pada bagian A nilai
Z yang didapat merupakan nilai batas bawah. Pada solusi bagian B membenarkan
pencarian lebih lanjut karena diperoleh nilai Z yang lebih besar. Sangat mungkin
bahwa pencarian lebih lanjut dapat menghasilkan suatu solusi yang semuanya
bulat dengan nilai Z lebih besar dari 34.
Selanjutnya bagian B dicabangkan ke dalam dua sub bagian, yaitu B1
dan B2. Pada sub bagian B1 ditambah kendala baru yaitu x2 ≤ 6, sedangkan
pada sub bagian B2 ditambah kendala x2 ≤ 7. Kedua sub-masalah tersebut
dinyatakan sebagai berikut:

Sub bagian B1:


Maksimumkan Z = 3x1 + 5x2
Kendala 2x1 + 4x2 ≤ 25
x1 ≤8
2x2 ≤ 10
x2 ≤ 3
x2 ≤ 6
x1, x2 ≤ 0

Sub bagian B2:


Maksimumkan Z = 3x1 + 5x2
Kendala 2x1 + 4x2 ≤ 25
x1 ≤8
2x2 ≤ 10
x2 ≤ 3
x2 ≤ 7
x1, x2 ≤ 0
Solusi simpleks kedua sub masalah tersebut yaitu:
Sub bagian B1: x1 = 6, x2 = 3,25, dan Z = 34,25
Sub bagian B2: tidak layak.

Sub-bagian B1 menghasilkan nilai fungsi tujuan yang lebih besar dari


34 sehingga harus dicabangkan lagi ke dalam sub-masalah dengan tambahan
kendala x2 ≤ 3 dan x2 ≤ 4. Kedua sub masalah tersebut selanjutnya diberi nama
sub- bagian B1a dan B1b.
Sub bagian B1a:

Maksimumkan Z = 3x1 + 5x2


Kendala 2x1 + 4x2 ≤ 25
x1 ≤8
2x2 ≤ 10
x2 ≤ 3
x2 ≤ 6
x2 ≤ 3
x1, x2 ≤ 0
Sub bagian B1b:

Maksimumkan Z = 3x1 + 5x2


Kendala 2x1 + 4x2 ≤ 25
x1 ≤8
2x2 ≤ 10
x2 ≤ 3
x2 ≤ 6
x2 ≤ 4
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 tersebut memiliki nilai fugsi tujuan (Z = 33 dan Z = 33,5)


yang lebih buruk dibandingkan solusi yang dihasilkan oleh bagian A. Oleh
karena itu, proses pencabangan dihentikan. Solusi bulat optimum adalah x1 =
8, x2 = 2, dan = 34 yang dihasilkan oleh bagian A yang memiliki solusi bulat
dengan nilai fungsi tujuan tertinggi (karena kasus maksimasi).
Seluruh prosedur branch and bound untuk masalah ini ditunjukkan pada
gambar berikut:

Model
Awal

x1 = 8 inferior
x2 ≤ 2 x2 = 2 Z = 34
x2 ≤ 3

x1 = 8 x1 = 6
x2 = 2,25 Z = 35,25 x2 ≤ 3 x1 ≤ 6
x2 = 3,25
x2 ≤ 4
Z = 34,25
x1 = 6,5
inferior
x2 = 3
x1 ≤ 7
Z = 35,25
Tak layak

Gambar 2.2 Grafik pencabangan pada metode Branch and Bound

Anda mungkin juga menyukai