Studi Penyelesaian Problema Mixed Integer Linier Programming Dengan Menggunakan Metode Branchand Cut

TUGAS AKHIR

STUDI PENYELESAIAN PROBLEMA MIXED INTEGER LINIER
PROGRAMMING DENGAN MENGGUNAKAN
METODE BRANCH AND CUT

OLEH :

RISTA RIDA SINURAT
040803023

DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2008

Universitas Sumatera Utara

ABSTRAK


Metode Branch And Cut adalah teknik yang terbaik untuk menyelesaikan
berbagai

jenis

masalah

Integer

Programming

khususnya

Mixed

Integer

Programming, dan metode ini dapat membuktikan jaminan keoptimalannya. Dalam
tulisan ini akan ditunjukan bagaimana metode Branch And Cut digunakan untuk
menyelesaikan masalah Mixed Integer Linier Programming, dan bagaimana metode

Cutting Plane dapat digunakan untuk menyelesaikan berbagai macam masalah.
Algoritma ini terdiri dari kombinasi metode Cutting Plane dengan algoritma Branch
And Bound.

1
Universitas Sumatera Utara

DAFTAR ISI

Halaman judul
Persetujuan
Pernyataan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Bab 1 Pendahuluan
1.1
Latar Belakang

1.2
Perumusan Masalah
1.3
Tujuan Penelitian
1.4
Manfaat Penelitian
1.5
Tinjauan Pustaka
1.6
Metodologi Penelitian

1
2
3
3
3
4

Bab II Landasan Teori
2.1 Program Linier

2.1.1 Karakteristik-karakteristik dalam Program Linier
2.2.2 Asumsi dalam Program Linier
2.2 Klasifikasi Integer Programming
2.3 Metode Penyelesaian Masalah Mixed Integer linier Programming
2.3.1 Metode Cutting Plane
2.3.2 Metode Enumerasi
2.3.2.1 Metode Branch-And-Bound
2.4 Himpunan Konveks, Kombinasi Konveks
2.5 Fungsi konveks dan Fungsi konkaf

6
6
6
7
7
11
20
20
54
55


Bab III Pembahasan
3.1 Bentuk Umum Masalah Mixed Integer Linier Programming
3.2 Algoritma Branch-And-Cut
3.3 Contoh Persoalan

57
58
59

Bab IV Kesimpulan dan Saran
4.1 Kesimpulan
4.2 Saran

73
73

2
Universitas Sumatera Utara


BAB 1

PENDAHULUAN

1.1 Latar Belakang

Banyak masalah dalam bidang ekonomi, industri, teknik dan militer yang dapat
dinyatakan sebagai model matematika. Masalah-masalah ini antara lain dapat
diformulasikan sebagai model program linier.

Pada masalah maksimum atau minimum, setiap model variabel dapat bernilai
real. Dalam beberapa kondisi sering mendekati atau mempunyai penyelesaian
pecahan. Sebagai contoh, ketebalan bidang 2,66 mm pada struktur bangunan, waktu
kerja 3,34 jam pada suatu proyek dan penggunaan 1,78 kg pupuk utuk menambah
kesuburan tanah. Walaupun demikian, ada juga masalah dimana nilai pecahan dari
model variabel tidak berarti secara fisik. Sebagai contoh sebuah pabrik yang ingin
memproduksi pakaian yang ingin memperbesar produksinya. Pabrik ini tidak dapat
membeli mesin pembuat kain delapan setengah unit, walaupun anggaran belanja
yang dimiliki oleh pabrik tersebut memungkinkan,atau tidak mungkin menggunakan
1,6 ketel pada pembangkit tenaga listrik, jumlah tenaga kerja 1,9 orang pada suatu

proyek dan 2,76 mesin bubut pada suatu toko.

Walaupun

demikian

dalam

banyak

kasus

optimisasi,

sangat

sulit

membulatkan penyelesaian tanpa melangggar beberapa dari kendala. Sering terjadi
jika memprediksi variabel yang tepat, perlu mengganti nilai dari beberapa variabel

untuk memenuhi semua kendala. Akibatnya jika membulatkan penyelesaian bisa saja
memberikan suatu nilai fungsi objektif yang sangat jauh dari nilai optimal awal.
Semua kesulitan-kesulitan ini dapat dihindari jika masalah optimisasi dimodelkan
dan diselesaikan sebagai masalah program linier.

Pada problema optimisasi dengan adanya kendala linier dan

terdapat

beberapa variabel yang dibatasi bernilai integer, maka masalah optimisasi ini

3
Universitas Sumatera Utara

dinyatakan sebagai masalah mixed integer programming. Mixed Integer Linier
Programming (MILP) sering juga disebut mixed integer programming.

Relaksasi linier programming adalah suatu program linier yang dihasilkan
dari program integer linier programming dengan menghilangkan persyaratan
bilangan bulat untuk variabel keputusannya.


Banyak metode yang bisa digunakan untuk menyelesaikan masalah Mixed
Integer Linier Programming (MILP) yang masing-masing mempunyai kelebihan dan
kelemahan. Memperhatikan hal ini maka penulis mencoba mempelajari metode
Branch-And-Cut dalam menyelesaikan masalah Mixed Integer Linier Programming
(MILP).

Perhatikan model Mixed integer linier programming (MILP), yaitu :
Z = ∑ c j x j + ∑ d k yk

Optimisasikan :

Dengan kendala :

n

p

j =1


k =1

∑ aij x j + ∑ gik yk
n

p

j =1

k =1

( ≤, ≥, = ) bi

i = 1, 2, 3, , m
x j ≥ 0, dan int eger
yk ≥ 0

j = 1, 2, 3, , n
k = 1, 2, 3, , p


1.2 Perumusan Masalah

Pokok permasalahan dalam karya tulis ini adalah bagaimana mencari atau
menyelesaikan masalah Mixed Integer Linier Programming (MILP) dengan
menggunakan metode Branch And Cut.

4
Universitas Sumatera Utara

1.3 Tujuan Penelitian

Tujuan dari penulisan ini adalah mencari penyelesaian (solusi optimal) dari masalah
Mixed integer linier programming dengan menggunakan metode Branch-And-Cut.

1.4 Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah untuk memperkaya literature dan
menambah pengetahuan bagi penulis dan pembaca khususnya dalam menyelesaikan
masalah Mixed integer linier programming.

1.5 Tinjauan Pustaka

Karena penelitian ini merupakan studi literature maka tinjauan pustaka adalah titik
tolak yang utama dalam tulisan ini. Penulis melakukan tinjauan pustaka dari :

Rao S. S. dalam bukunya menjelaskan bahwa pada problema optimisasi
dengan adanya kendala linier dan terdapat beberapa variabel yang dibatasi bernilai
integer, masalah optimisasi ini dinyatakan sebagai masalah mixed integer
programming.

Nasendi B. D. dalam bukunya menjelaskan bahwa program integer (PI)
terbagi dua yaitu program integer asli (PIA) dan program integer tercampur (PIT).
PIA adalah suatu program linier yang semua peubahnya adalah integer, sedangkan
PIT adalah suatu program linier yang sebahagian peubahnya integer dan sebahagian
lagi adalah peubah kontinu atau peubah divisible (nonintegre). Dalam bahasa Inggris
program integer asli biasa dikenal sebagai Pure integer programming, sedangkan
program integer tercampur sebagai Mixed integer linier programming.

Fitri Maya Puspita dalam jurnalnya menjelaskan bahwa masalah Mixed
Integer Linier Programming muncul ketika beberapa variabel dalam masalah linier
programming hanya berupa bilangan integer yang tidak dapat dibagi jumlahnya

5
Universitas Sumatera Utara

seperti : jumlah manusia, mesin, botol, kotak dan lain-lain. Terdapat dua pendekatan
untuk menyelesaikan Mixed Integer Linier Programming (MILP) yaitu metode exact
dan metode heuristic. Teknik exact meliputi metode Branch-And-Cut dan metode
Branch-And-Bound.

1.6 Metodologi Penelitian

Tulisan ini disusun atas kerangka pemikiran yang langkah-langkahnya adalah
sebagai berikut :
1. Diberikan pengertian dan definisi dari integer linier programming.
2. Diberikan pengertian dan definisi dari mixed integer linier programming.
3. Diberikan pengertian dan definisi dasar dari metode Cutting Plane beserta
contohnya.
4. Diberikan pengertian dan definisi dasar dari metode Branch-And-Bound
beserta contohnya.
5. Diberikan pengertian dan definisi dasar dari metode Branch-And-Cut dan
memodelkan sebuah permasalahan sebagai aplikasinya.
6. Kesimpulan.

6
Universitas Sumatera Utara

ABSTRAK

Metode Branch And Cut adalah teknik yang terbaik untuk menyelesaikan
berbagai

jenis

masalah

Integer

Programming

khususnya

Mixed

Integer

Programming, dan metode ini dapat membuktikan jaminan keoptimalannya. Dalam
tulisan ini akan ditunjukan bagaimana metode Branch And Cut digunakan untuk
menyelesaikan masalah Mixed Integer Linier Programming, dan bagaimana metode
Cutting Plane dapat digunakan untuk menyelesaikan berbagai macam masalah.
Algoritma ini terdiri dari kombinasi metode Cutting Plane dengan algoritma Branch
And Bound.

1
Universitas Sumatera Utara

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Banyak masalah dalam bidang ekonomi, industri, teknik dan militer yang dapat
dinyatakan sebagai model matematika. Masalah-masalah ini antara lain dapat
diformulasikan sebagai model program linier.

Pada masalah maksimum atau minimum, setiap model variabel dapat bernilai
real. Dalam beberapa kondisi sering mendekati atau mempunyai penyelesaian
pecahan. Sebagai contoh, ketebalan bidang 2,66 mm pada struktur bangunan, waktu
kerja 3,34 jam pada suatu proyek dan penggunaan 1,78 kg pupuk utuk menambah
kesuburan tanah. Walaupun demikian, ada juga masalah dimana nilai pecahan dari
model variabel tidak berarti secara fisik. Sebagai contoh sebuah pabrik yang ingin
memproduksi pakaian yang ingin memperbesar produksinya. Pabrik ini tidak dapat
membeli mesin pembuat kain delapan setengah unit, walaupun anggaran belanja
yang dimiliki oleh pabrik tersebut memungkinkan,atau tidak mungkin menggunakan
1,6 ketel pada pembangkit tenaga listrik, jumlah tenaga kerja 1,9 orang pada suatu
proyek dan 2,76 mesin bubut pada suatu toko.

Walaupun

demikian

dalam

banyak

kasus

optimisasi,

sangat

sulit

membulatkan penyelesaian tanpa melangggar beberapa dari kendala. Sering terjadi
jika memprediksi variabel yang tepat, perlu mengganti nilai dari beberapa variabel
untuk memenuhi semua kendala. Akibatnya jika membulatkan penyelesaian bisa saja
memberikan suatu nilai fungsi objektif yang sangat jauh dari nilai optimal awal.
Semua kesulitan-kesulitan ini dapat dihindari jika masalah optimisasi dimodelkan
dan diselesaikan sebagai masalah program linier.

Pada problema optimisasi dengan adanya kendala linier dan

terdapat

beberapa variabel yang dibatasi bernilai integer, maka masalah optimisasi ini

3
Universitas Sumatera Utara

dinyatakan sebagai masalah mixed integer programming. Mixed Integer Linier
Programming (MILP) sering juga disebut mixed integer programming.

Relaksasi linier programming adalah suatu program linier yang dihasilkan
dari program integer linier programming dengan menghilangkan persyaratan
bilangan bulat untuk variabel keputusannya.

Banyak metode yang bisa digunakan untuk menyelesaikan masalah Mixed
Integer Linier Programming (MILP) yang masing-masing mempunyai kelebihan dan
kelemahan. Memperhatikan hal ini maka penulis mencoba mempelajari metode
Branch-And-Cut dalam menyelesaikan masalah Mixed Integer Linier Programming
(MILP).

Perhatikan model Mixed integer linier programming (MILP), yaitu :
Z = ∑ c j x j + ∑ d k yk

Optimisasikan :

Dengan kendala :

n

p

j =1

k =1

∑ aij x j + ∑ gik yk
n

p

j =1

k =1

( ≤, ≥, = ) bi

i = 1, 2, 3, , m
x j ≥ 0, dan int eger
yk ≥ 0

j = 1, 2, 3, , n
k = 1, 2, 3, , p

1.2 Perumusan Masalah

Pokok permasalahan dalam karya tulis ini adalah bagaimana mencari atau
menyelesaikan masalah Mixed Integer Linier Programming (MILP) dengan
menggunakan metode Branch And Cut.

4
Universitas Sumatera Utara

1.3 Tujuan Penelitian

Tujuan dari penulisan ini adalah mencari penyelesaian (solusi optimal) dari masalah
Mixed integer linier programming dengan menggunakan metode Branch-And-Cut.

1.4 Manfaat Penelitian

Adapun manfaat dari penelitian ini adalah untuk memperkaya literature dan
menambah pengetahuan bagi penulis dan pembaca khususnya dalam menyelesaikan
masalah Mixed integer linier programming.

1.5 Tinjauan Pustaka

Karena penelitian ini merupakan studi literature maka tinjauan pustaka adalah titik
tolak yang utama dalam tulisan ini. Penulis melakukan tinjauan pustaka dari :

Rao S. S. dalam bukunya menjelaskan bahwa pada problema optimisasi
dengan adanya kendala linier dan terdapat beberapa variabel yang dibatasi bernilai
integer, masalah optimisasi ini dinyatakan sebagai masalah mixed integer
programming.

Nasendi B. D. dalam bukunya menjelaskan bahwa program integer (PI)
terbagi dua yaitu program integer asli (PIA) dan program integer tercampur (PIT).
PIA adalah suatu program linier yang semua peubahnya adalah integer, sedangkan
PIT adalah suatu program linier yang sebahagian peubahnya integer dan sebahagian
lagi adalah peubah kontinu atau peubah divisible (nonintegre). Dalam bahasa Inggris
program integer asli biasa dikenal sebagai Pure integer programming, sedangkan
program integer tercampur sebagai Mixed integer linier programming.

Fitri Maya Puspita dalam jurnalnya menjelaskan bahwa masalah Mixed
Integer Linier Programming muncul ketika beberapa variabel dalam masalah linier
programming hanya berupa bilangan integer yang tidak dapat dibagi jumlahnya

5
Universitas Sumatera Utara

seperti : jumlah manusia, mesin, botol, kotak dan lain-lain. Terdapat dua pendekatan
untuk menyelesaikan Mixed Integer Linier Programming (MILP) yaitu metode exact
dan metode heuristic. Teknik exact meliputi metode Branch-And-Cut dan metode
Branch-And-Bound.

1.6 Metodologi Penelitian

Tulisan ini disusun atas kerangka pemikiran yang langkah-langkahnya adalah
sebagai berikut :
1. Diberikan pengertian dan definisi dari integer linier programming.
2. Diberikan pengertian dan definisi dari mixed integer linier programming.
3. Diberikan pengertian dan definisi dasar dari metode Cutting Plane beserta
contohnya.
4. Diberikan pengertian dan definisi dasar dari metode Branch-And-Bound
beserta contohnya.
5. Diberikan pengertian dan definisi dasar dari metode Branch-And-Cut dan
memodelkan sebuah permasalahan sebagai aplikasinya.
6. Kesimpulan.

6
Universitas Sumatera Utara

BAB 2

LANDASAN TEORI

Integer programming merupakan bagian dari program matematika (mathematical
programming). Adapun permasalahan program matematika secara umum dapat
Optimisasikan Z ( x ) , x ∈ S ⊆ R n dengan R n adalah himpunan semua vektor real n
dinyatakan sebagai :

komponen dan z suatu fungsi real yang didefenisikan dalam S. himpunan S
dinamakan himpunan kendala (constraint) dan z disebut fungsi objektif (objective
function).

Permasalahan pada program matematika bertujuan untuk mencari solusi
optimal. Untuk mencari solusi optimal tersebut, harus diketahui apa yang dimaksud
dengan solusi layak (feasible solution). Setiap x ∈ S pada persamaan di atas disebut

( )

sebagai solusi layak, sedangkan untuk x 0 ∈ S yang memenuhi z ( x ) < z x 0 < ∞ ,
∀x ∈ S dinyatakan sebagai solusi optimal (optimal solution) dari persamaan di atas

yang memaksimumkan Z ( x ) . Masalah program matematika dengan S ⊆ Z n ⊆ R n ,
dan Z n himpunan semua vektor bilangan bulat n komponen, disebut masalah integer
programming.

Dalam kehidupan sehari-hari banyak masalah yang dapat diformulasikan
kedalam program matematika. Ada situasi yang menghasilkan program matematika
dengan beberapa atau semua variabel harus bulat. Misalnya pembuatan jadwal
penerbangan, pemilihan suatu lokasi membangun pabrik, pembuatan jaringan dalam
peredaran barang, juga beberapa masalah dalam dunia militer, industri, kesehatan,
dan lain sebagainya. Masalah-masalah ini membutuhkan variabel keputusan yang
bernilai bilangan bulat dan memberikan hasil yang optimal.

7
Universitas Sumatera Utara

2.1 Program Linier
2.1.1 Karakteristik-karakteristik dalam program linier
Dalam membangun model dari formulasi akan digunakan karakteristik-karakteristik
yang biasa digunakan dalam persoalan program linier yaitu:
a. Variabel keputusan
Variabel keputusan adalah variabel yang menguraikan secara lengkap
keputusan-keputusan yang akan dibuat.
b. Fungsi tujuan
Fungsi tujuan merupakan fungsi dari variabel keputusan yang akan
dimaksimumkan (pendapatan atau keuntungan) atau diminimumkan (biaya
atau ongkos)
c. Pembatas
Pembatas merupakan kendala yang dihadapi sehingga kita tidak bisa
menentukan harga-harga variabel keputusan secara sembarang.
d. Pembatas tanda
Pembatas tanda adalah yang menjelaskan apakah variabel keputusannya
diasumsikan hanya berharga negatif atau variabel keputusanya boleh
berharga positif.
2.1.2 Asumsi dalam Model Program linier
Dalam menggunakan model program linier, diperlukan beberapa asumsi sebagai
berikut:
a. Asumsi kesebandingan (proposionality)


Kontribusi setiap variabel keputusan terhadap fungsi tujuan adalah
sebanding dengan nilai variabel keputusan.

8
Universitas Sumatera Utara



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

b. Asumsi penambahan (additivity)


Kontribusi setiap variabel keputusan terhadap fungsi tujuan tidak
bergantung pada nilai dari variabel keputusan yang lain.



Kontribusi suatu variabel keputusan terhadap ruas kiri dari setip pembatas
bersifat tidak bergantung pada nilai dari variabel keputusan yang lain.

c. Asumsi pembagian (divisibility)
Dalam persoalan program linier, variabel keputusan boleh diasumsikan
berupa bilangan pecahan.
d. Asumsi kepastian (certainty)
Setiap parameter, yaitu koefisien fungsi tujuan, ruas kanan, dan koefisien teknologi,
diasumsikan dapat diketahui secara pasti.

2.2 Klasifikasi Integer Programming

Berdasarkan variabel keputusan yang diperoleh, masalah integer programming dapat
dibedakan menjadi dua, yakni:

1. Pure Integer Programming

Pure integer programming adalah masalah integer programming dimana semua
variabel keputusannya terbatas hanya untuk bilangan bulat.
Bentuk umum dari pure integer programming adalah:
: Z = ∑cjxj
n

Optimisasikan

j =1

9
Universitas Sumatera Utara

Dengan kendala

∑ c x ( ≤, ≥, = )b
n

j =1

j

j

x j ≥ 0, int eger

i

i = 1, 2, 3, , m

j = 1, 2, 3, , n

Dengan aij , bi , dan c j adalah konstanta.

2. Mixed Integer Programming

Mixed integer programming adalah masalah integer programming dengan beberapa
variabel keputusannya dibatasi sebagai bilangan bulat, dan sementara yang lain tidak.
Bentuk umum dari mixed integer programming adalah :
Optimasasikan
Dengan kendala

: Z = ∑ c j x j + ∑ d k yk
n

p

j =1

k =1

∑ aij x j + ∑ gik yk
n

p

j =1

k =1

( ≤, ≥, = ) bi

i = 1, 2, 3, , m
x j ≥ 0, dan int eger
yk ≥ 0

j = 1, 2, 3, , n
k = 1, 2, 3, , p

Masalah integer programming dapat juga dibedakan dari fungsi yang ada
pada fungsi obyektif dan kendala-kendala pada masalah tersebut. Pada masalah
integer programming ini fungsi obyektif dan kendala-kendalanya berupa persamaan
atau pertidaksamaan linier maka masalah ini disebut integer linier programming.
Sebaliknya bila fungsi tidak linier, masalah integer programming ini disebut sebagai
masalah nonlinier programming.

Jika masalah yang dihadapi adalah meminimumkan fungsi objektif, maka kita

harus mengkonversikan fungsi objektif tersebut. Untuk x ∈ S berlaku minimum

10
Universitas Sumatera Utara

Z ( x ) = - maksimum (-Z(x)). Dengan menghapus syarat bilangan bulat, masalah
mixed integer linier programming akan berubah menjadi masalah program linier
biasa. Mudah untuk dimengerti bahwa program linier merupakan perluasan dari
mixed integer linier programming.
Untuk lebih jelasnya perhatikan masalah P1 dan P2 berikut:

P1 : maksimumkan Z ( x ) , x ∈ S1

P2 : maksimumkan Z ( x ) , x ∈ S 2

Bila S 2 ⊆ S1 maka P2 pembatas P1 .

( ) ( )
∈ S → z (x ) ≤ z ( x *) maka

Bila x 0 solusi optimal P1 dan x* solusi optimal P2 , maka z x 0 ≥ z x * . Jika

x 0 ∈ S maka x 0 juga solusi optimal P2 , karena bila x 0

( ) ( )

z x 0 = z x* .

0

2.3 Metode Penyelesaian Masalah Mixed Integer Linier Programming

Pemograman linier bilangan bulat campuran pada intinya berkaitan dengan program
linier dimana beberapa atau semua variabel memiliki nilai-nilai integer (bulat) atau
diskrit.

Kesulitan perhitungan dengan metode penyelesaian masalah mixed integer
linir programming yang tersedia telah mengarahkan penganalisa untuk mencari caracara lain untuk memecahkan masalah yang bersangkutan. Salah satu pendektan yang
dilakukan adalah memecahkan persoalan tersebut selayaknya program linier dengan
mengabaikan syarat integernya. Kemudian hasil pemecahan optimal linier tersebut
dibulatkan kenilai integer yang terdekat dan yang juga layak. Tetapi tidak ada
jaminan dalam kasus ini bahwa pemecahan yang dibulatkan tersebut akan memenuhi
kendala-kendala.

Dalam teori program linier sebuah pemecahan yang dibulatkan tidak dapat
dikatakan layak. Ketidakpastian parameter yang diestimasi dari masalah tersebut

11
Universitas Sumatera Utara

dapat mentolerir ketidaklayakan yang berasal dari pembulatan. Tetapi terdapat
batasan persamaan tertentu dalam masalah mixed integer dimana parameterparameternya pasti. Metode simpleks yang digunakan dalam penyelesaian program
linier, didasarkan pada pengenalan bahwa pemecahan optimal terjadi dititik ekstrim
ruang pemecahan. Hasil yang penting ini awalnya mengurangi usaha pencarian
pemecahan optimal dari sejumlah pemecahan yang tidak terbatas menjadi jumlah
yang terbatas.

Hingga saat ini belum ada suatu metode umum, seperti metode simpleks
dalam masalah program linier, yang dapat dipergunakan untuk menyelesaikan semua
masalah mixed integer linier programming dengan hasil yang memuaskan. Setiap
masalah mixed integer linier programming mempunyai metode penyelesaian
tersendiri untuk mendapatkan hasil yang baik. Walaupun demikian semua metode ini
berdasarkan pada salah satu pendekatan di bawah ini :

1. Metode Cutting-Plane,
2. Metode Enumerasi,
3. Metode Dekomposisi,
4. Algoritma Group Theory.

Penelitian untuk mendapatkan suatu metode yang paling memuaskan masih
dilakukan sampai sekarang.

2.3.1 Metode Cutting Plane

Dasar pemikiran dari metode ini adalah membentuk kendala baru sebagai bidang
pemotongan daerah layak yang tidak mengandung solusi bilangan bulat. Dalam
metode ini dibangun syarat pemotogan dengan menggunakan iterasi dari metode
simpleks didapatkan solusi optimal yang bulat.

Masalah Mixed Integer Linier Programmig

12
Universitas Sumatera Utara

Z = ∑ c j x j + ∑ d k yk

Maksimum
Dengan kendala

n

p

j =1

k =1

∑ aij x j + ∑ gik yk
n

p

j =1

k =1

( ≤, ≥, = ) bi

i = 1, 2, 3, , m
x j ≥ 0, dan int eger
yk ≥ 0

j = 1, 2, 3, , n
k = 1, 2, 3, , p

Didefenisikan, x *j harus bernilai bulat. Dengan syarat bahwa setiap variabel
solusi memenuhi batas-batas pada persamaan kendala. Jika setiap variabel x j sudah
merupakan bilangan bulat, maka itu sudah merupakan solusi optimal. Yang

∑ [[a ] + δ ]x = [b] + δ

ditunjukan dengan.
n

[ ]

j =1

j

j

j

Dimana a j dan [b] dinyatakan sebagai bilangan bulat, kemudian diperoleh :

∑ [a ]x ≤ [b]

2.1

n

j =1

Dan

j

∑ [a ]x
n

j =1

2.2

j

j

j

+ S = [b]

2.3

Dimana S adalah variabel slack. Jika terjadi pengurangan pada persamaan 2..3 oleh
persamaan 2.1 maka akan diperoleh :

∑ (− δ )x
n

j =1

j

+ S = −δ

2.4

Dalam menyelesaikan masalah MILP, jika salah satu variabel yang dibatasi bernilai
integer tetapi belum bernilai integer maka periksa baris dalam tabel simpleks akhir
yang menunjukan nilai variabel yang belum bulat. Misalkan bahwa x B adalah
x B + ∑ Bm x m = b

variabel tersebut yang ditunjukan sebagai berikut:
m

13
Universitas Sumatera Utara

Dimana x m bukan variabel dasar. Kita lanjutkan kebentuk persamaan 2.4, maka

∑ (− δ )x

didapat:

m

m

+ S = −δ

m

δ m = φ m − [Bm ]
δ m = [φ ] − [b]

Dimana

Nilai δ adalah bilangan yang kongruen dengan bilangan real φ . Dengan [φ ] adalah
bilangan bulat yang terdekat dengan φ

Contoh :
Tabel 1

δ

φ

[φ ]

2/3

-4/3

-2

1/2

5/2

2

0

-5

-5

0

1

1

5/6

-7/6

-2

3/4

3/4

0

Berdasarkan metode iterasi simpleks yang digunakan ada dua jenis metode
Cutting-Plane, yaitu metode Dual Cutting-Plane yang dikembangkan oleh Ralph
Gomory dan Primal Cutting-Plane yang dikembangkan oleh Glover danYoung.
Metode

Dual

Cutting-Plane

menggunakan

metode

dual

simpleks

untuk

menyelesaikan masalah program liniernya.

Metode Dual Cutting-Plane oleh Ralph Gomory dibedakan lagi menjadi :
1. Metode Dual Fractional Integer Programming.
2. Metode Dual Fractional Mixed Integer Programming.
3. Metode Dual All Integer Programming.

14
Universitas Sumatera Utara

Contoh :

Z = 4 x1 − 2 x 2 + 7 x3 − x 4

Maksimumkan
Dengan kendala

+ 5x3

≤ 10

6 x1 − 5 x 2

≤0

x1

x1 + x 2 − x 3

2.5

≤1

− x1 + 2 x 3 − 2 x 4 ≤ 3
xj ≥ 0

untuk j = 1,2,3,4

x j bulat

untuk j = 1,2,3

Masalah tersebut ditransformasikan menjadi :
+ 5 x3 + x5

x1

≤ 10

x1 + x2 − x3 + x6

≤1

6 x1 − 5 x2 + x7

≤0

− x1 + 2 x3 − 2 x4 + x8 ≤ 3
xj ≥ 0

untuk j = 1,2,3,4,5,6,7,8

x j bulat untuk j = 1,2,3

Tabel 1. Tabel simpleks 1
Iterasi 0
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

B

x5

0

1

0

5

0

1

0

0

0

10

x6

0

1

1

-1

0

0

1

0

0

1

x7

0

6

-5

0

0

0

0

1

0

0

x8

0

-1

0

2

-2

0

0

0

1

3

4

-2

7

-1

0

0

0

0

0

0

0

0

B

Cj − Zj

Tabel 2. Tabel simpleks 2
Iterasi 1
basis

C

4

-2

7

-1

0

15
Universitas Sumatera Utara

x1

x2

x3

x4

x5

x6

x7

x8


x5

0

7
2

0

0

5

1

0

0

x6

0

1
2

1

0

-1

0

1

0

1
2

5
2

x1

0

6

-5

0

0

0

0

1

0

0

x3

7

1
2

0

1

-1

0

0

0

7
2

3
2

15
2

-2

0

6

0

0

0

Cj − Zj



5
2



5
2

7
2

21
2

B

Tabel 3. Tabel simpleks 3
Iterasi 2
C
basis

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x5

0

0

35
12

0

5

1

0



x6

0

0

17
12

0

-1

0

1



x1

4

1



x3

7

0



Cj − Zj

0

7
12



1
12



10
12

0

0

0

0

5
12

1

-1

0

0

9
2

0

6

0

0



2
12

1
12
5
4

5
2

5
2

1
2

5
2

0

0

1
2

3
2



7
2

21
2

Tabel 4. Tabel simpleks 4
Iterasi 3
basis

x4

C

-1

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

0

7
12

0

1

1
5

0



7
60



1
2

B

1
2

16
Universitas Sumatera Utara

x6

0

0

x1

4

1

x3

7

0
0

Cj − Zj

2

0

0

1
5

1

10
12

0

0

0

11
12

1

0

1
5

3
4

0

0





6
5



1
5

0

3

0

2
12

0

0

0

11
20

0

2

0



11
20



1
2

27
2

Tabel 5. Tabel simpleks 5
Iterasi 4
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

12
7

12
35

0





x2

-2

0

1

0

x6

0

0

0

0

x1

4

1

0

0

x3

7

0

0

1



0

0

0



Cj − Zj



24
7



10
7
2
7
9
7



1
5

6
7

B

6
7

17
35

1

1
5

12
7

2
7

0

0



1
7

0

0

1
7

13
7

16
35

0

5
12

1
7

99
7

B



5
7

9
7
5
7

Tabel 6. Tabel simpleks 6
Iterasi 5
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

1
10

1
2

x2

-2

0

1

0

0

x8

0

0

0

0

-2



17
60

7
12



1
10

7
60

0

3
2

1

3
4

17
Universitas Sumatera Utara

x1

4

1

0

0

0

1
12

x3

7

0

0

1

0

11
60

0

0

0

-1

Cj − Zj



5
12




17
12

0

5
4

1
60

0

7
4

5
12

0

57
4

1
12


1
12



1
12

Solusi optimal yang diperoleh yaitu :
x1 =

3
1
5
7
, x2 = , x3 = , x4 = 0 dengan Z = 14
2
4
4
4

Karena solusi belum bernilai integer , maka perlu ditambahkan bidang
pemotongan :

x1 +

1
5
1
5
x5 + x6 + x7 =
12
12
12
4

1
1
5
1



x1 +  0 +  x5 +  0 +  x6 +  0 +  = 1 +
4
12 
12 
12 



1
5
1
1
− x5 − x6 − x7 ≤ −
12
12
12
4
Diperoleh −

1
5
1
1
x5 − x6 − x7 + x9 = −
12
12
12
4

Tabel 7. Tabel simpleks 7
Iterasi 6
basis

C

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

1
10

1
2

0

0

3
2

x2

-2

0

1

0

0

x8

0

0

0

0

-2

x1

4

1

0

0

0



17
60

1
12



1
10

B

7
12

7
60

1

0

3
4

5
12

1
12

0

0

5
4

18
Universitas Sumatera Utara

x3

7

0

0

1

0

x9

0

0

0

0

0



Cj − Zj

0

0

0

-1



11
60
1
12
17
12






1
12
5
12

1
12





1
60

0

0

1
12

0

1

5
12

0

0

57
4

B

7
4


1
4

Tabel 8. Tabel simpleks 8
Iterasi 7
basis

C

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

0

6
5

6
5



x2

-2

0

1

0

0

0

0

x8

0

0

0

0

-2

1
6

0

0

1

7
5

2
5

x1

4

1

0

0

0

0

0

0

0

1

1

x3

7

0

0

1

0

1
5

0

0

0



x6

0

0

0

0

0

1

1
5

0



Cj − Zj

1
5

0

0

0

-1

0





7
5

0



1
5

2
5

1
5

9
5

12
5

3
5

1
5

71
5

Solusi optimal yang diperoleh yaitu :
x1 = 1, x2 =

6
1
9
, x3 = , x4 = 0 dengan Z = 14
5
5
5

Karena nilai x2 dan x3 belum merupakan bilangan bulat maka kita tambahkan lagi
pemotongan ditinjau dari baris pertama :

1
6
6
x2 − x7 + x9 =
5
5
5

19
Universitas Sumatera Utara

1
4
 1

x 2 +  − 1 +  x 7 + 1 +  x 9 = 1 +
5
5
5


4
1
1
− x7 − x9 ≤ −
5
5
5
Diperoleh : −

4
1
1
x7 − x9 + x10 = −
5
5
5

Tabel 9. Tabel simpleks 9
Iterasi 8
basis

C

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

0

6
5

0

6
5



B

x2

-2

0

1

0

0

0

0

x8

0

0

0

0

-2

1
6

0

0

1

7
5

0

2
5

x1

4

1

0

0

0

0

0

0

0

1

0

1

x3

7

0

0

1

0

1
5

0

0

0



1
5

0

9
5

x6

0

0

0

0

0

1
5

1

1
5

0



12
5

0

3
5

x10

0

0

0

0

0

0

0



0



1
5

1

Cj − Zj

4
5

0

0

0

-1

0



2
5

0



1
5

0

71
5

B



7
5

1
5



1
5

Tabel 10 . Tabel simpleks 10
Iterasi 9
basis

x2

C

-2

4

-2

7

-1

0

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

0

1

0

0

0

0

0

0

5
4



1
4

5
4

20
Universitas Sumatera Utara

x8

0

0

0

0

-2

1
6

0

0

1

7
5

0

2
5

x1

4

1

0

0

0

0

0

0

0

1

0

1

x3

7

0

0

1

0

1
5

0

0

0



1
5

0

9
5

x6

0

0

0

0

0

1
5

1

0

0



12
5

0

3
5

x7

0

0

0

0

0

0

0

1

0

Cj − Zj

0

0

0

-1





0

7
5

0

2
5



1
4


1
5



5
4

1
4

1
2

141
10

Solusi optimal yang diperoleh yaitu :
x1 = 1, x2 =

5
9
1
, x3 = , x4 = 0 dengan Z = 14
4
5
10

Karena nilai x2 dan x3 belum merupakan bilangan bulat maka kita tambahkan lagi
pemotongan ditinjau dari baris keempat :

1
1
9
x3 + x7 − x9 =
5
5
5

4
4
1


x3 +  0 +  x7 +  − 1 +  x9 = 1 +
5
5
5


1
4
4
− x7 − x9 ≤ −
5
5
5
Diperoleh : −

1
4
4
x 7 − x 9 + x11 = −
5
5
5

Tabel 11. Tabel simpleks 11
Iterasi 10
basis

x2

C

-2

4

-2

7

-1

0

0

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

x11

0

1

0

0

0

0

0

0

5
4



0

1
4

B

5
4

21
Universitas Sumatera Utara

x8

0

0

0

0

-2

1
6

0

0

1

7
5

0

0

2
5

x1

4

1

0

0

0

0

0

0

0

1

0

0

1

x3

7

0

0

1

0

1
5

0

0

0



1
5

0

0

9
5

x6

0

0

0

0

0

1
5

1

0

0



12
5

0

0

3
5

x7

0

0

0

0

0

0

0

1

0

0

1
4

x11

0

0

0

0

0



0

0

0



Cj − Zj

1
5

0

0

0

-1



7
5

0

0





2
5

1
4
4
5
1
5



5
4

0


1
2

1



4
5

0

141
10

B

Tabel 12. Tabel simpleks 12
Iterasi 11
basis

C

4

-2

7

-1

0

0

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

x11

0

0

5
12

1
2

0

1

0

0

1

0

0

1

0

0



x4

-1

0

1

0

1

0

0

0

x9

0

0

0

0

0

0

0

0

x10

0

1

0

0

0

0

0

x3

7

0

0

1

0

0

0

0

0

0

0

0

2

x6

0

0

0

0

0

0

1

0

0

0

0

0

3

x7

0

0

0

0

0

0

0

0

0

0

0

0

x5

0

0

0

0

0

0

0

0

0

0

-5

4
5





4
5

1
5

0

1
2

22
Universitas Sumatera Utara

Cj − Zj

0

0

Karena x1 , x2 dan x 3

0

0

0

0





2
5

1
2

0

0



88
12

27
2

sudah bernilai integer maka telah diperoleh solusi optimal

yang sudah merupakan bilangan bulat yaitu :
x1 = 0, x2 = 0, x3 = 2, x4 =

1
2

dengan Z = 13

1
2

Maka dapat disimpulkan pemotongan yang dilakukan adalah 7 x 3 − x 4 ≥ 13

1
2

2.3.2 Metode Enumerasi

Dengan anggapan bahwa setiap persoalan Mixed Integer Linier Programming yang
terbatas akan mempunyai solusi layak yang terhingga (finite), maka wajar bila
digunakan prosedur enumerasi untuk mendapatkan solusi bilangan bulat untuk
persoalan tersebut. Tetapi akibatnya jumlah solusi yang terhingga ini biasanya sangat
banyak sehingga sukar untuk menentukan solusi yang terbaik.

Sebagai contoh, bila terdapat 10 variabel yang dibatasi bernilai integer dan
masing-masing mempunyai 10 harga yang layak (fesible solution), maka solusi layak
dapat mencapai 1010 walaupun persoalan ini dibantu oleh komputer, waktu yang
dibutuhkan relatif lama. Untuk itu digunakan cara enumerasi yang hanya memeriksa
sebahagian dari solusi layak tersebut.

Prosedur enumerasi ini memanfaatkan keterbatasan kendala-kendala yang ada
pada persoalan Mixed Integer Programming. Dengan keterbatasan ini pengujian
solusi layak dibangun. Salah satu metode yang memanfatkan metode enumerasi
dinamakan metode Branch-And-Bound. Metode ini pertama kali dikembangkan oleh
A. H. Land dan A. G. Doig dan kemudian diperbaiki oleh R. J. Dakin. Metode ini
digunakan untuk menyelesaikan masalah Mixed Integer Linier Programming.

23
Universitas Sumatera Utara

Metode yang lain adalah enumerasi implisit, dimana metode ini digunakan
bila masalah yang dihadapi hanya memerlukan keputusan ya atau tidak. Dengan
perkataan lain semua variabel bilangan bulat adalah binary (0 atau 1). Metode
enumerasi implisit pertama kali dikembangkan oleh Egon Balas, kemudian banyak
lagi algoritma enumerasi implist yang lain.

2.3.2.1 Metode Branch-And-Bound

Masalah Mixed Integer Linier Programming adalah masalah integer programming
dimana beberapa variabel dibatasi harus bernilai bulat (tetapi tidak harus 0 atau1)
dan sisanya berupa peubah kontinu biasa. Struktur dari algoritma ini pertama kali
dikembangkan oleh R. J. Dakin, berdasarkan pada algoritma Branch-and-Bound
pendahulu yang dikembangkan oleh A. H. Land dan A. G. Doig.

Struktur algoritma ini agak mirip dengan algoritma dasar pemogramam bilangan
bulat biner. Dengan menyelesaikan PL-relaksasinya akan memberikan lagi suatu
dasar untuk kedua langkah pembatasan dan penghentian.

Diberikan masalah Mixed Integer Linier Programming sebagai berikut:
Maksimum
Dengan kendala

Z = ∑ c j x j + ∑ d k yk
n

p

j =1

k =1

∑ aij x j + ∑ gik yk
n

p

j =1

k =1

( ≤, ≥, = ) bi

i = 1, 2, 3, , m
x j ≥ 0, dan int eger
yk ≥ 0

j = 1, 2, 3, , n
k = 1, 2, 3, , p

Dengan catatan diperlukan batas atas dan batas bawah pada semua variabel. Tanpa
mempengarui bentuk umum, dapat dimisalkan bahwa semua batas bawah adalah nol
dengan sebuah transformasi sederhana akan selalu mewakili variabel dasar. Jika N=0
maka disebutkan sebagi masalah integer Linier Programming, jika semua varaibel

24
Universitas Sumatera Utara

terbatas hanya untuk 0-1 maka kita sebutkan sebagai Integer Linier programming
Biner. Jika beberapa variabel dibatasi bernilai integer maka kita sebutkan sebagai
Mixed Integer Linier Programming.

Konsep dasar dari metode Branch-And-Bound adalah pengamatan terhadap

tiap-tiap nilai x j , diberikan [ x j ] ≤ x j ≤ [ x j ] + 1 dimana [ x j ] adalah bilangan bulat

terdekat yang lebih kecil dari x j . Sebagai contoh, misalkan dicari nilai x j yang

bulat dan dengan metode simpleks diperoleh nilai x *j = 4,3 . Kemudian dicari solusi
bilangan bulat, sehingga dapat dibuat pencabangan masalah menjadi dua masalah
terpisah dan himpunan yang lengkap, yang memenuhi x j ≤ 5,0 dan 4,0 ≤ x j .

Dilakukan pengamatan, dibuat masalah awal menjadi dua masalah yang baru.
Inilah yang disebut dengan Branch (pencabangan). Perlu diingat bahwa solusi awal
menjadi batas atas (upper bound) pada solusi optimal. Penambahan pertidaksamaan
sebagai pencabangan masalah akan mengakibatkan berkurangnya nilai dari solusi
optimal awal. Lebih lanjut proses ini akan membentuk masalah baru dalam bentuk
pohon untuk mencari alternatif-altenatif yang mungkin sebagai solusi optimal yang
merupakan bilangan bulat.

Sebagai salah satu hasil pencabangan variabel yang belum bulat pada setiap
cabang, satu dari dua kejadian akan berhasil. Yang pertama, solusi yang mungkin
diperoleh tidak memenuhi syarat bilangan bulat dari variabel yang dicabangkan, dan
memperoleh nilai fungsi objektif yang kurang sesuai dibandingkan dengan
pencabangan lain yang semua solusinya sudah bilangan bulat, dalam kasus ini
pencabangan dilanjutkan. Yang kedua, mungkin

diperoleh solusi lain, sudah

memenuhi syarat bilangan bulat, dalam kasus ini ditinggalkan pencabangan.

Setiap solusi layak yang diperoleh dapat mewakili batas bawah dari solusi
optimal, atau merupakan solusi optimal itu sendiri. Hal ini dapat dilihat jelas pada
proses pencabangan dan barangkali merupakan batas solusi optimal, solusi layak
yang memenuhi batas mungkin diperoleh. Satu hal yang sudah pasti bahwa solusi

25
Universitas Sumatera Utara

optimal akan diperoleh apabila semua proses pencabangan sudah terlaksana. Apabila
tidak ditemukan solusi layak maka disimpulkan bahwa pencabangan tersebut berada
di luar daerah layak.

Terdapat dua tahap yang dipakai dalam algoritma pencabangan dan pembatasan,
yaitu:
1. Pencabangan, yaitu mempartisi masalah tersebut menjadi sub-submasalah
dengan cara menambahkan kendala yang merupakan syarat perlu untuk
mencari solusi bilangan bulat fesibel tanpa mengubah himpunan solusi
bilangan bulat semula.
2. Pembatasan, yaitu nilai fungsi obyektif dari suatu submasalah yangn
mempunyai solusi bilangan bulat dipakai sebagai batas nilai fungsi obyektif
dari submasalah lainnya. Jadi, jika operasi pencabangan dan pembatasan
dilakukan secara teliti, maka banyak submasalah yang mengandung satu atau
lebih titik bilangan bulat fesibel dapat dibuang secara otomatis.

Algoritma Metode Branch-And-Bound

Langkah awal : Tetapkan Z * = −∞. gunakan langkah pembatasan, langkah
penghentian, dan uji keoptimalan seperti yang diberikan dibawah ini pada masalah
keseluruhan. Jika masalah tersebut tidak terhenti, maka golongkan masalah ini
sebagai suatu “submasalah” sisa untuk melakukan iterasi penuh pertama dibawah
ini.

Langkah-langkah untuk setiap iterasi:
1. Pencabangan: diantara submasalah sisa (yang belum terhenti), pilih satu
submasalah yang dibuat paling akhir. (jika lebih dari satu pilihan submasalah
dengan batas lebih besar) diantara peubah-peubah yang dibatasi bulat yang
mempunyai nilai bukan bilangan bulat pada penyelesaian optimal untuk
program linier-relaksasi suatu submasalah, pilih satu peubah pertama dalam
urutan asli menjadi peubah pencabangan. Misalkan x j adalah peubah ini, dan

x *j adalah nilai x j pada penyelesaian ini. Cabangkan dari simpul submasalah

26
Universitas Sumatera Utara

ini untuk membuat dua submasalah baru dengan menambahkan kendala
x j ≤ [ x j ] dan x j ≤ [ x *j ] + 1

2. Pembatasan: untuk setiap submasalah baru, cari batas submasalahnya dengan
menggunakan metode simpleks (atau metode simpleks dual bila diperlukan
pengoptimisasian kembali) pada program linier relaksasi dan dengan
menggunakan nilai Z untuk penyelesaian optimal yang dihasilkan.
3. Penghentian: untuk setiap submasalah baru, gunakan ketiga uji penghentian
yang diberikan di bawah ini, dan buang submasalah yang dihentikan dengan
suatu uji.

Uji 1 :Batasnya ≤ Z * dengan Z * adalah nilai Z untuk “incumbent”
saat ini.
Uji 2 :Program linier relaksasinya tidak mempunyai penyelesaian
layak
Uji 3 :Penyelesaian optimal untuk program linier relaksasinya
mempunyai nilai bilangan bulat untuk peubah-peubah yang
dibatasi bulat. Jika penyelesaian ini lebih baik dari pada
‘incumbent’nya,

maka

penyelesaian

ini

menjadi

‘incumbet’baru dan uji 1 digunakan kembali untuk semua
submasalah yang belum terselesaikan dengan Z * baru yang
lebih besar.

Uji keoptimalan: iterasi dihentikan bila tidak ada lagi submasalah sisa, maka
incumbent saat ini adalah optimal. Jika tidak, ulangi dengan melakukan iterasi lagi.

27
Universitas Sumatera Utara

Contoh

Z = 4 x1 − 2 x 2 + 7 x3 − x 4

Maksimumkan
Dengan kendala

x1 + 5 x3

≤ 10

6 x1 − 5 x2

≤0

x1 + x2 − x3

≤1

− x1 + 2 x3 − 2 x4 ≤ 3
xj ≥ 0

untuk j = 1,2,3,4

x j bulat untuk j = 1,2,3
Masalah tersebut ditransformasikan menjadi :
x1

+ 5 x3 + x5

x1 + x2 − x3 + x6

6 x1 − 5 x2 + x7

≤ 10

≤1

≤0

− x1 + 2 x3 − 2 x4 + x8 ≤ 3
xj ≥ 0

untuk j = 1,2,3,4,5,6,7,8

x j bulat untuk j = 1,2,3

Perhatikan bahwa banyaknya variabel yang dibatasi bulat adalah sebanyak 3
buah variabel sehingga x 4 adalah satu-satunya peubah kontinu.
Langkah awal: setelah menetapkan Z * = −∞. kita bentuk program linier relaksasi
dari masalah ini dengan menghilangkan gugus kendala x j adalah bilangan bulat
untuk j=1,2,3. Dengan menggunakan metode simpleks program linier relaksasi
diperoleh :`
Tabel 13. Tabel simpleks 13
Iterasi 0
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

B

x5

0

1

0

5

0

1

0

0

0

10

x6

0

1

1

-1

0

0

1

0

0

1

x7

0

6

-5

0

0

0

0

1

0

0

28
Universitas Sumatera Utara

x8

0

Cj − Zj

-1

0

2

-2

0

0

0

1

3

4

-2

7

-1

0

0

0

0

0

B

Tabel 14. Tabel simpleks 14
Iterasi 1
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8


x5

0

7
2

0

0

5

1

0

0

x6

0

1
2

1

0

-1

0

1

0

1
2

5
2

x7

0

6

-5

0

0

0

0

1

0

0

x3

7

1
2

0

1

-1

0

0

0

7
2

3
2

15
2

-2

0

6

0

0

0

Cj − Zj



5
2



5
2

7
2

21
2

B

Tabel 15. Tabel simpleks 15
Iterasi 2
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x5

0

0

35
12

0

5

1

0



x6

0

0

17
12

0

-1

0

1



x1

4

1



x3

7

0



Cj − Zj

0

10
12

0

0

0

0

5
12

1

-1

0

0

9
2

0

6

0

0



7
12

1
12
2
12

1
12


5
4



5
2

5
2

1
2

5
2

0

0

1
2

3
2



7
2

21
2

Tabel 16. Tabel simpleks 16

29
Universitas Sumatera Utara

Iterasi 3
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x4

-1

0

7
12

0

1

1
5

0



x6

0

0

2

0

0

1
5

1



x1

4

1

10
12

0

0

0

x3

7

0

11
12

1

0

1
5

0

3
4

0

0

Cj − Zj





6
5

7
60



B

1
2

1
2

1
5

0

3

0

2
12

0

0

0

11
20

0

2

0



11
20



1
2

27
2

Tabel 17. Tabel simpleks 17
Iterasi 4
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

12
7

12
35

0





x2

-2

0

1

0

x6

0

0

0

0

x1

4

1

0

0

x3

7

0

0

1



0

0

0



Cj − Zj



24
7



10
7
2
7
9
7



1
5

6
7

B

6
7

17
35

1

1
5

12
7

2
7

0

0



1
7

0

0

1
7

13
7

16
35

0

5
12

1
7

99
7



5
7

9
7
5
7

30
Universitas Sumatera Utara

Tabel 18.Tabel simpleks 18
Iterasi 5
basis

C

4

-2

7

-1

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

1
10

1
2

x2

-2

0

1

0

0

x8

0

0

0

0

-2

x1

4

1

0

0

0

1
12

x3

7

0

0

1

0

11
60

0

0

0

-1

Cj − Zj





17
60

17
12



1
10

B

0

3
2

7
12

7
60

1

3
4

5
12

1
12

0

5
4

1
60

0

7
4

5
12

0

57
4




1
12
1
12




PL-relaksasi dari masalah ini adalah :
x1 =

1
7
3
5
, x2 = , x3 = , x4 = 0 dengan Z = 14
4
4
2
4

Karena PL-relaksasi ini mempunyai penyelesaian layak dan penyelesaian optimal ini
mempunyai nilai yang bukan bilangan bulat untuk vaiabel-variabel yang dibatasi
bulat, maka pada masalah akan dilakukan pencabangan (branch) pada salah satu
variabel yang belum bulat, misalkan x1 dicabangkan, sehingga masalah keseluruhan
tidak dihentikan sehingga algoritma tersebut dilanjutkan.
 Iterasi 1 :
Dalam penyelesaian optimal untuk PL-relaksasi, variabel yang dibatasi integer yang
pertama mempunyai nilai yang bukan bilangan bulat adalah x1 =

5
, sehingga x1
4

menjadi variabel pencabangan. Dengan pencabangan dari semua simpul (semua
penyelesaian layak) dan dengan peubah pencabangan ini maka akan membuat dua
submasalah yaitu :

31
Universitas Sumatera Utara

Submasalah 1:

Z = 4 x1 − 2 x 2 + 7 x3 − x 4

Maksimumkan
Dengan kendala

x1 + 5 x3

≤ 10

6 x1 − 5 x2

≤0

x1 + x2 − x3

....

2.6

≤1

− x1 + 2 x3 − 2 x4 ≤ 3
x1 ≤ 1

xj ≥ 0

untuk j = 1,2,3,4

x j bulat untuk j = 1,2,3

Dengan menghilangkan syarat bilangan bulat dan menyelesaikan PL-relaksasi dari
submasalah 1 diperoleh:
Tabel 19. Tabel simpleks 19
Iterasi 0
basis

C

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

B

x5

0

1

0

5

0

1

0

0

0

0

10

x6

0

1

1

-1

0

0

1

0

0

0

1

x7

0

6

-5

0

0

0

0

1

0

0

0

x8

0

-1

0

2

-2

0

0

0

1

0

3

x9

0

1

0

0

0

0

0

0

0

0

1

4

-2

7

-1

0

0

0

0

0

0

B

Cj − Zj

Tabel 20. Tabel simpleks 20
Iterasi 1
basis

x5

C

0

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

7
2

0

0

5

1

0

0



5
2

0

5
2

32
Universitas Sumatera Utara

x6

0

1
2

1

0

-1

0

1

0

1
2

0

5
2

x7

0

6

-5

0

0

0

0

1

0

0

0

x3

7

0

1

-1

0

0

0

1
2

0

3
2

x9

0

1

0

0

0

0

0

0

0

1

1

15
2

-2

0

6

0

0

0

0

21
2

B

Cj − Zj



1
2



7
2

Tabel 21. Tabel simpleks 21
Iterasi 2
basis

C

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x5

0

0

35
12

0

5

1

0



x6

0

0

17
12

0

-1

0

1



x1

4

1



10
12

0

0

0

0

x3

7

0



5
12

1

-1

0

0

x9

0

0

0

0

0

0



Cj − Zj

10
12

0

17
4

0

6

0

0





0

5
2

1
2

0

5
2

2
12

0

0

0

1
12

1
2

0

3
2

0

1

1

0

21
2

B

7
12
1
12

1
12
5
4



5
2

7
2

Tabel 22. Tabel simpleks 22
Iterasi 3
basis

x4

C

-1

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

0

7
12

0

1

1
5

0



7
60



1
2

0

1
2

33
Universitas Sumatera Utara

x6

0

0

x1

4

1

x3

7

0

x9

0

Cj − Zj



2

0

0

1
5

1

10
12

0

0

0

0

2
12

1

0

1
5

0



0

10
12

0

0

0

0



0

3
4

0

0





6
5

0

0

0

3

1
6

0

0

0

1
30

0

0

2

1
6

0

1

1

0

27
2

B

1
5

11
20



1
5

Tabel 23. Tabel simpleks 23
Iterasi 4
basis

C

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

12
7

12
35

0



x2

-2

0

1

0

x6

0

0

0

0

x1

4

1

0

0

x3

7

0

0

1



x9

0

0

0

0



Cj − Zj

0

0

0







24
7

10
7
2
7



9
7



6
7

0

6
7

0

9
7

0

5
7

17
35

1

1
5

12
7

2
7

0

0



1
7

0

0

1
7

0

13
7

2
7

0

0

5
7

1

2
7

51
3

0

1
7

0

99
7

B



10
7

1
5



2
5

5
7

Tabel 24. Tabel simpleks 24
Iterasi 5
basis

C

4

-2

7

-1

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

34
Universitas Sumatera Utara

x2

-2

0

1

0

0

0

0

x6

0

0

0

0

0

1
5

1

x1

4

1

0

0

0

0

x3

7

0

0

1

0

1
5

x8

0

0

0

0

-2



0

0

0

-1



Cj − Zj



0

6
5

6
5

1
5

0

12
5

3
5

0

0

0

1

1

0

0

0

2
5

0

0

1

7
5

0



1
5

2
5

0



1
5

7
5


9
5
2
5

1
5

71
5

Penyelesaian optimum untuk PL-relaksasi submasalah 1 :
x1 = 1,

x2 =

6
,
5

9
x3 = ,
5

x 4 = 0 dengan

Batas untuk submasalah 1 adalah Z ≤ 14

Submasalah 2
Maksimumkan
Dengan kendala

Z = 14

1
5

Z = 4 x1 − 2 x 2 + 7 x3 − x 4
x1 + 5 x3

≤ 10

6 x1 − 5 x2

≤0

x1 + x2 − x3

1
5

. . . 2. 7

≤1

− x1 + 2 x3 − 2 x4 ≤ 3
xj ≥ 0

x1 ≥ 2

untuk j = 1,2,3,4

x j bulat untuk j = 1,2,3

Penyelesaian optimum untuk PL-relaksasi submasalah 2 : tidak mempunyai
penyelesaian layak.

35
Universitas Sumatera Utara

Hasil untuk submasalah 2 ini berarti bahwa submasalah 2 ini dihentikan dengan
uji 2. Sehingga, seperti pada masalah awal, submasalah 1 dilanjutkan setelah diuji
dengan semua uji penghentian.
 Iterasi 2:
Hanya dengan satu submasalah sisa yaitu yang berkaitan dengan simpul x1 ≤ 1 , maka
pencabangan berikutnya dilakukan dari simpul ini. Dengan mencari penyelesaian
optimal dari PL-relaksasi yang diberikan di bawah ini, simpul ini menampakan
bahwa variabel pencabangannya adalah x2 karena x 2 =

6
adalah variabel yang
5

dibatasi bulat pertama yang mempuyai nilai noninteger. Dengan menambahkan satu

dari kendala-kendala, yaitu x 2 ≤ 1 atau x 2 ≥ 2 , maka akan menghasilkan dua
submasalah baru, yaitu :

Submasalah 3

Z = 4 x1 − 2 x 2 + 7 x3 − x 4

Maksimumkan

Dengan kendala

x1 + 5 x3

≤ 10

6 x1 − 5 x2

≤0

x1 + x2 − x3

...

2.8

≤1

− x1 + 2 x3 − 2 x4 ≤ 3
x1 ≤ 1

x2 ≤ 1

xj ≥ 0

untuk j = 1,2,3,4

x j bulat untuk j = 1,2,3

Dengan menyelesaikan PL-relaksasi submasalah 3 tersebut memberikan hasil :

Tabel 25. Tabel simpleks 25
Iterasi 0
Basis

C

4

-2

7

-1

0

0

0

0

0

0

B

36
Universitas Sumatera Utara

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

x5

0

1

0

5

0

1

0

0

0

0

0

10

x6

0

1

1

-1

0

0

1

0

0

0

0

1

x7

0

6

-5

0

0

0

0

1

0

0

0

0

x8

0

-1

0

2

-2

0

0

0

1

0

0

3

x9

0

1

0

0

0

0

0

0

0

1

0

1

x10

0

0

1

0

0

0

0

0

0

0

1

1

4

-2

7

-1

0

0

0

0

0

0

0

B

Cj − Zj

Tabel 26. Tabel simpleks 26
Iterasi 1
Basis

C

4

-2

7

-1

0

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

0

0

5
2



x5

0

7
2

0

0

5

1

0

0

x6

0

1
2

1

0

-1

0

1

0

1
2

0

0

5
2

x7

0

6

-5

0

0

0

0

1

0

0

0

0

x3

7

0

1

-1

0

0

0

1
2

0

0

3
2

x9

0

1

0

0

0

0

0

0

0

1

0

1

x10

0

0

1

0

0

0

0

0

0

0

1

1

15
2

-2

0

6

0

0

0

7
2

0

0

21
2

B

Cj − Zj



1
2



5
2

Tabel 27. Tabel simpleks 27
Iterasi 2
Basis

C

4

-2

7

-1

0

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

37
Universitas Sumatera Utara

x5

0

0

0

0

5

1

0



x6

0

0

17
12

0

-1

0

1



x1

4

1



5
6

0

0

0

0

x3

7

0



5
12

1

-1

0

0

x9

0

0

5
6

0

0

0

0

x10

0

0

1

0

0

0

0

0

17
4

0

6

0

0

Cj − Zj



0

0

5
2

1
2

0

0

5
2

2
12

0

0

0

0

1
12

1
2

0

0

3
2

2
12

0

1

0

1

0

0

0

1

1

0

0

21
2

B

7
12
1
12







5
4

5
2

1
2

Tabel 28. Tabel simpleks 28
Iterasi 3
Basis

C

4

-2

7

-1

0

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

0

0

1
2

x4

-1

0

7
12

0

1

1
5

0



x6

0

0

2

0

0

1
5

1



x1

4

1

5
6

0

0

0

0

x3

7

0

2
12

1

0

1
5

0



x9

0

0

5
6

0

0

0

0



x10

0

0

1

0

0

0

0

0

3
4

0

0

Cj − Zj





6
5

0

7
60



1
2

1
5

0

0

0

3

2
12

0

0

0

0

1
30

0

0

0

2

2
12

0

1

0

1

0

0

0

1

1

0

0

27
2



11
20



1
2

38
Universitas Sumatera Utara

Tabel 29. Tabel simpleks 29
Iterasi 4
Basis

C

4

-2

7

-1

0

0

0

0

0

0

x1

x2

x3

x4

x5

x6

x7

x8

x9

x10

12
7

12
35

0



6
7

0

0

6
7

0

0

9
7

0

0

5
7

x2

-2

0

1

0

x6

0

1

0

0

x1

4

0

0

0

x3

7

0

0

1



x9

0

0

0

0



x10

0

0

0

0



Cj − Zj

0

0

0





24
7



10
7
2
7

10
7
12
7
9
7



17
35

1

1
5

12
7

2
7

0

0



1
7

0

0

1
7

0

0

13
7

2
7

0

0

5
7

1

0

2
7

12
35

0

1
5

6
7

0

1

1
7

51
35

0

1
7

0

0

99
7

B




1
5

B





2