29
bulat. Pada bentuk di atas, n dan m masing-masing menunjukkan banyaknya variabel keputusan dan variabel slack yang muncul dari kendala utama.
Dengan membandingkan persamaan 3.7, 3.8, 3.10 dan 3.11 dapat didefinisikan
j j
a c
a z
x
00
, ,
− =
= =
, n
j ,
, 1 K
= ,
, i
n i
a b
+
= m
i ,
, 1 K
= , dan
n j
m i
a a
j i
n ij
, ,
1 1
; ,
, 1
,
K K
= =
= =
+
.
B. Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional Dual
Metode yang digunakan untuk mencari penyelesaian program linear bilangan bulat fraksional dual merupakan perluasan dari metode simpleks dual,
yakni dengan menambah kendala baru pada masalah tersebut. Langkah-langkah masalah program linear bilangan bulat fraksional dual adalah sebagai berikut :
1. Mengubah bentuk baku menjadi bentuk kanonik seperti persamaan 3.2
2. Menyusun tabel awal dari masalah program linear bilangan bulat. Pada
persamaan 3.2 tabel awal tersebut disajikan sebagai berikut :
30
Tabel 3.1 Tabel Awal Program Linear Bilangan Bulat Fraktional Dual.
1
1
x −
K
j
x −
K
n
x −
= x
00
a
01
a K
j
a K
n
a
M M
1
M M
−
K O
L O
K 1
M M
− K
O L
O K
1 −
M M
= =
+ +
m n
n
x x
M
1 ,
, 1
m n
n
a a
+ +
M
1 ,
1 ,
1 m
n n
a a
+ +
M K
O K
j m
n j
n
a a
, ,
1 +
+
M K
O K
Keterangan :
j j
a c
a z
x
00
, ,
− =
= =
, n
j ,
, 1 K
= ,
, i
n i
a b
+
= m
i ,
, 1 K
= , dan
n j
m i
a a
j i
n ij
, ,
1 1
; ,
, 1
,
K K
= =
= =
+
, ,
, 1
m n
i x
i
+ =
≥ K
.
3. Masalah program linear bilangan bulat ini diselesaikan dahulu sebagai
masalah program linear, yakni dengan menggunakan metode simpleks dual. Dengan langkah-langkah sebagai berikut :
Langkah 1: Memilih baris pivot, yakni dengan memilih baris v yang
mempunyai nilai
v
a paling minimum dengan
v
a ,
≠ v
= =
=
n j
x x
x
M M
1
n m
n n
n
a a
, ,
1 +
+
M
31
Langkah 2 : Memilih kolom pivot, yakni kolom dengan nilai rasio yang
paling minimum dan nilai rasio = ⎪⎭
⎪ ⎬
⎫ ⎪⎩
⎪ ⎨
⎧
vj j
a a
min
Langkah 3 : Mengganti variabel nonbasis pada kolom pivot dengan variabel
v
x , yakni variabel pada baris pivot.
Langkah 4 : Melakukan operasi kolom agar elemen-elemen baris
v
x pada kolom pivot bernilai -1 dan yang lain bernilai 0.
Langkah 5 :
Bila nilai
v
a masih ada yang bernilai negatif maka kembali ke
langkah 1. Jika sudah tidak ada lagi yang bernilai negatif maka langkah dihentikan dan penyelesaian masalah program linear
bilangan bulat sudah optimum.
4. Menguji keoptimuman.
Bila penyelesaian optimum yang diperoleh pada langkah sebelumnya adalah bilangan bulat maka masalah program linear bilangan bulat sudah selesai. Jika
penyelesaian optimumnya belum berupa bilangan bulat maka langkah-langkah penyelesaian dilanjutkan lagi menggunakan metode bidang pemotong dengan
menambahkan kendala bidang pemotong yang baru yang memuat variabel pengetat
k m
n
x
+ +
. Lalu kendala bidang pemotong yang baru ditambahkan pada tabel yang ditulis pada baris terakhir maka bentuk tabel akan menjadi :
32
Tabel 3.2. Tabel Dengan Bentuk Kendala Bidang Pemotong
1
1
x −
K
j
x −
K
n
x −
= x
00
a
01
a K
j
a K
n
a
= =
+ +
m n
n
x x
M
1
M M
, ,
1 m
n n
a a
+ +
M 1
M M
−
K O
L O
K 1
M M
− K
O L
O K
1 −
M M
1 ,
1 ,
1 m
n n
a a
+ +
M K
O K
j m
n j
n
a a
, ,
1 +
+
M K
O K
=
+ +
k m
n
x
, k
m n
a
+ +
1 ,
k m
n
a
+ +
K
j k
m n
a
, +
+
K
n k
m n
a
, +
+
Dalam menentukan kendala bidang pemotong harus ditentukan dahulu baris sumber. Berikut ini akan dijelaskan bagaimana cara menentukan bentuk
kendala bidang pemotong dan cara memilih baris sumber : a.
Memilih baris sumber Cara memilih baris sumber adalah dengan memilih baris yang memuat
variabel-variabel basis yang nilainya belum berupa bilangan bulat. Dalam hal ini variabel yang akan terpilih harus memberikan ketaksamaan yang kuat yaitu nilai
dengan bilangan pecahan terbesar supaya dapat mempercepat pencapaian penyelesaian program linear bilangan bulat yang optimum.
= =
=
n j
x x
x
M M
1
n m
n n
n
a a
, ,
1 +
+
M
33
Jika variabel basis
i
x pada persamaan ke-i bukan merupakan bilangan bulat maka variabel tersebut dapat dinyatakan sebagai :
1 i
j J
n j
ij i
a x
a x
= −
−
∑
=
3.12
Keterangan :
i
a bukan bernilai bilangan bulat
ij
a dapat berbentuk bilangan bulat
J adalah himpunan indeks variabel nonbasis
Jj adalah elemen j di dalam J
j J
x adalah variabel nonbasis j di dalam J
Persamaan 3.12 dapat ditulis sebagai berikut
j J
n j
ij i
i
x a
a x
− +
=
∑
=1
3.13
Setiap persamaan seperti di atas dinyatakan sebagai baris sumber source
row. Misalkan :
[ ]
i i
i
f a
a +
= dan
[ ]
ij ij
ij
f a
a +
= 3.14
dengan :
34
[ ]
i
a adalah bilangan bulat terbesar yang kurang dari atau sama dengan
i
a , dan
[ ]
ij
a adalah bilangan bulat terbesar yang kurang dari atau sama dengan
ij
a
maka 1
i
f dan
1 ≤
ij
f
Ada dua cara untuk memilih baris sumber yaitu : 1.
Baris dengan nilai
i
f yang paling maksimum.
2. Baris dengan nilai
⎪ ⎪
⎭ ⎪⎪
⎬ ⎫
⎪ ⎪
⎩ ⎪⎪
⎨ ⎧
∑
= n
j ij
i
f f
1
yang paling maksimum.
Jika nilai
i
f atau ⎪
⎪ ⎭
⎪⎪ ⎬
⎫
⎪ ⎪
⎩ ⎪⎪
⎨ ⎧
∑
= n
j ij
i
f f
1
untuk setiap baris selalu sama maka dapat dipilih
sebarang baris untuk menjadi baris sumber. b.
Menentukan bentuk kendala bidang pemotong Dari uraian pemilihan baris sumber, dengan persamaan 3.13 akan
menjadi :
35
[ ]
[ ]
j J
n j
ij ij
i i
i
x f
a f
a x
− +
+ +
=
∑
=1
[ ]
[ ]
j J
n j
ij j
J n
j ij
i i
x f
x a
f a
− +
− +
+ =
∑ ∑
= =
1 1
atau
[ ]
[ ]
j J
n j
ij i
i j
J n
j ij
i
x a
a x
x f
f −
− −
= −
+
∑ ∑
= =
1 1
3.15
Supaya nilai
i
x dan
j J
x −
adalah bilangan bulat, maka ruas kanan dari persamaan 3.15 harus bernilai bilangan bulat yang mengakibatkan ruas kiri
persamaan 3.15 haruslah bernilai bilangan bulat. Karena ≥
ij
f dan
≤ −
j J
x untuk setiap nilai i dan j , maka
1
≤ −
∑
= j
J n
j ij
x f
dengan demikian
i j
J n
j ij
i
f x
f f
≤ −
+
∑
=1
.
Karena 1
i
f maka
1
1
− +
∑
= j
J n
j ij
i
x f
f 3.16
atau
j J
n j
ij i
x f
f −
−
∑
=1
1
36
Karena ruas kiri persamaan 3.15 harus bernilai bilangan bulat, maka berdasarkan persamaan 3.15, haruslah
1
≤ −
+
∑
= j
J n
j ij
i
x f
f
Jika bentuk di atas ditambahkan dengan variabel pengetat
k m
n
x
+ +
dengan ≥
+ +
k m
n
x bilangan bulat, maka didapat :
1
= +
− +
+ +
=
∑
k m
n j
J n
j ij
i
x x
f f
atau
i j
J n
j ij
k m
n
f x
f x
− −
− =
∑
= +
+ 1
3.17
Persamaan 3.17 merupakan bagian pecahan fractional cut atau disebut juga
pembatas sekunder
. Jika pembatas sekunder ini sudah dimasukkan ke dalam tabel yang berada pada baris terakhir dalam tabel dan dilakukan operasi kolom
maka tabel terakhir didapat =
−
j J
x sehingga
i k
m n
f x
=
+ +
, yang berarti tidak layak. Hal ini berarti pembatas sekunder yang baru tersebut tidak
dipenuhi oleh penyelesaian yang diperoleh karena mengakibatkan nilai yang didapat belum berupa bilangan bulat sehingga untuk mengatasi ketidaklayakan
ini dapat digunakan metode simpleks dual, yang pada dasarnya sama dengan memotong daerah layak ke arah penyelesaian optimum yang berupa bilangan
bulat.
37
Dari penjelasan yang sudah dijabarkan di atas dan cara-cara memilih baris sumber serta menentukan pembatas sekunder, secara umum langkah pertama yang
dilakukan dalam menyelesaikan masalah program linear bilangan bulat fraksional dual adalah mengubah masalah ke dalam bentuk kanonik dan menyusun tabel
awal, menyelesaikan masalah program linear bilangan bulat dengan cara simpleks biasa dan dilanjutkan dengan langkah-langkah sebagai berikut :
Langkah 1 :
Memilih baris sumber
v
x dengan dua cara di bawah ini :
1. Baris dengan nilai
v
f yang paling maksimum.
2. Baris dengan nilai
⎪ ⎪
⎭ ⎪⎪
⎬ ⎫
⎪ ⎪
⎩ ⎪⎪
⎨ ⎧
∑
= n
j vj
v
f f
1
yang paling maksimum.
Langkah 2 :
Menentukan bentuk kendala bidang pemotong yang baru, yakni pembatas sekunder seperti persamaan 3.17
v j
J n
j vj
k m
n
f x
f x
− −
− =
∑
= +
+ 1
Langkah 3 :
Tambahkan bentuk pembatas sekunder yang baru dalam tabel simpleks.
38
Langkah 4 :
Mencari baris pivot dengan melihat nilai koefisien
v
a yang bernilai negatif dan dipilih yang paling minimum
Langkah 5 :
Mencari kolom pivot dengan melihat niali R=
vj j
a a
yang terkecil.
Langkah 6 :
Menggantikan variabel non basis pada kolom pivot dengan Variabel
v
x .
Langkah 7 :
Melakukan operasi kolom agar elemen-elemen baris
v
x pada kolom pivot bernilai -1 dan yang lainnya bernilai 0.
Langkah 8 :
Jika masih
ada nilai
v
x yang nilainya belum berupa bilangan bulat maka dilanjutkan ke Langkah 1. Jika sudah tidak ada maka proses dihentikan dan
diperoleh tabel optimum. Masalah program linear bilangan bulat fraksional dual tidak membedakan
antara variabel keputusan dan variabel pengetat yakni bahwa semua variabel harus berupa bilangan bulat. Adanya koefisien yang tidak bulat dalam kendala tidak
39
memungkinkan untuk variabel pengetat berupa bilangan bulat. Dalam hal ini, masalah program linear bilangan bulat fraksional dual dapat menyatakan bahwa
tidak terdapat penyelesaian layak, sekalipun masalah tersebut mempunyai penyelesaian layak yang bernilai bilangan bulat dalam bentuk bukan variabel
pengetat. Berikut akan diberikan contoh penyelesaian masalah program linear
bilangan bulat menggunakan metode bidang pemotong
Contoh 3.1
Selesaikan masalah program linear bilangan bulat berikut: Maksimumkan:
2 1
5 4
x x
z −
− =
Dengan kendala: 5
4
2 1
− ≤
− −
x x
7 2
3
2 1
− ≤
− −
x x
dan ,
2 1
≥ x
x
Penyelesaian :
Masalah program linear di muka dapat dibuat ke bentuk kanonik sebagai berikut : Maksimumkan:
2 1
5 4
x x
z −
− =
Dengan kendala: 5
4
3 2
1
− =
+ −
− x
x x
7 2
3
4 2
1
− =
+ −
− x
x x
dan ,
, ,
4 3
2 1
≥ x
x x
x
40
1. Menyusun tabel awal simpleks.
Tabel 3.3. Tabel Awal Pada Contoh Masalah Program Linear Bilangan Bulat
1
1
x −
2
x −
x 4 5
4 3
2 1
x x
x x
7 5
− −
3 1
1
− −
−
2 4
1 −
− −
2. Menyelesaikan dengan metode simpleks dual.
ITERASI 1 Langkah 1 : Memilih baris pivot
Dari tabel awal diperoleh nilai 5
30
− =
a dan
7
40
− =
a maka nilai
min
{ }
=
40 30
, a
a min
{ }
7 7
, 5
− =
− −
. Jadi baris empat sebagai baris pivot.
Langkah 2 : Memilih kolom pivot
Dengan memilih nilai rasio terkecil yakni =
4
R min
⎪⎭ ⎪
⎬ ⎫
⎪⎩ ⎪
⎨ ⎧
42 02
41 01
, a
a a
a
= min 3
4 2
5 ,
3 4
= ⎪⎭
⎪ ⎬
⎫ ⎪⎩
⎪ ⎨
⎧ −
− . Jadi kolom pertama akan terpilih sebagai kolom
pivot.
Langkah 3 : Menggantikan variabel
1
x dengan variabel
4
x
Langkah 4 : Melakukan operasi kolom, sehingga diperoleh tabel baru berikut
41
Tabel 3.4. Tabel Setelah Operasi kolom Pada Iterasi 1
1
4
x −
2
x −
x 3
28 −
3 4
3 7
4 3
2 1
x x
x x
3 7
3 8
− 3
1 −
3 2
0 -1 3
1 −
3 10
− -1 0
Langkah 5 : Karena masih ada nilai
3 8
30
− =
a maka kembali ke Langkah 1
ITERASI 2 Langkah 1 :
Memilih baris pivot Dari tabel diatas diperoleh nilai min
{ }
30 10
, a a
= min 3
8 3
8 ,
3 7
− =
⎭ ⎬
⎫ ⎩
⎨ ⎧
− =
jadi baris ketiga sebagai bari pivot.
Langkah 2 : Memilih kolom pivot
Dengan memilih nilai rasio terkecil yakni =
4
R min
⎪⎭ ⎪
⎬ ⎫
⎪⎩ ⎪
⎨ ⎧
32 02
31 01
, a
a a
a =min
3 7
3 10
3 7
, 3
1 3
4 =
⎪⎭ ⎪
⎬ ⎫
⎪⎩ ⎪
⎨ ⎧
− −
maka kolom kedua akan terpilih sebagai kolom pivot.
Langkah 3 : Menggantikan variabel
2
x dengan variabel
3
x
42
Langkah 4 : Melakukan operasi kolom, sehingga diperoleh tabel baru
sebagai berikut
Tabel 3.5. Tabel Setelah Operasi kolom Pada Iterasi 2
1
4
x −
3
x −
x 10
112 −
10 11
10 7
2
x
3
x
4
x 10
18
10 8
10 4
− 10
2
10 1
0 -1 -1 0
Langkah 5 : Karena sudah tidak ada
v
a maka proses dihentikan.
dengan nilai 10
18
1
= x
dan 10
8
2
= x
3. Menguji keoptimuman.
Dari iterasi kedua telah dapatkan penyelesaian optimum dari masalah program linear, yaitu
10 18
1
= x
dan 10
8
2
= x
, tetapi penyelesaian tersebut belum bulat maka penyelesaian dilanjutkan dengan menggunakan metode bidang
pemotong.
1
x
10 3
−
43
ITERASI 1 Langkah 1 : Memilih baris sumber
Untuk 10
18
1
= x
diperoleh
[ ]
10 8
1 10
18 10
18 10
18
10 10
10
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= −
= a
a f
Untuk 10
8
2
= x
diperoleh
[ ]
10 8
10 8
10 8
10 8
20 20
20
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= −
= a
a f
Karena nilai 10
8
2 1
= = f
f maka tidak ada informasi untuk memilih baris
sumber, selanjutnya digunakan cara yang kedua. •
Untuk baris pertama dapat dinyatakan sebagai berikut :
10 18
10 4
10 2
4 3
≥ −
− −
x x
Sehingga diperoleh
[ ]
10 2
10 2
10 2
10 2
11 11
11
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= −
= a
a f
dan
[ ]
10 6
1 10
4 10
4 10
4
12 12
12
= −
− −
= ⎥⎦
⎤ ⎢⎣
⎡− −
− =
− =
a a
f
• Untuk baris kedua dapat dinyatakan sebagai berikut :
10 8
10 1
10 3
4 3
≥ −
+ −
− x
x
Sehingga diperoleh
[ ]
10 7
1 10
3 10
3 10
3
21 21
21
= −
− −
= ⎥⎦
⎤ ⎢⎣
⎡− −
− =
− =
a a
f
dan
[ ]
10 1
10 1
10 1
10 1
22 22
22
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= −
= a
a f
44
Dengan demikian,
maks ⎭
⎬ ⎫
⎩ ⎨
⎧ +
+
22 21
20 12
11 10
, f
f f
f f
f = maks
⎪ ⎪
⎭ ⎪⎪
⎬ ⎫
⎪ ⎪
⎩ ⎪⎪
⎨ ⎧
+ +
10 1
10 7
10 8
, 10
6 10
2 10
8
= maks ⎪
⎪ ⎭
⎪⎪ ⎬
⎫
⎪ ⎪
⎩ ⎪⎪
⎨ ⎧
10 8
10 8
, 10
8 10
8
=maks
{ }
1 ,
1 = 1
Dengan cara yang kedua, nilai maksimum dari rasio tersebut sama, yaitu 1, maka dari kedua persamaan tersebut diambil salah satu. Disini yang akan
dipilih sebagai baris sumber adalah persamaan untuk
1
x .
Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder
Perhatikan kembali pertidaksamaan
1
x :
10 18
10 4
10 2
4 3
≥ −
− −
x x
Dari Langkah 1 diperoleh 10
2
11
= f
, 10
6
12
= f
dan 10
8
10
= f
Maka persamaan pembatas sekunder yang baru adalah
10 8
10 6
10 2
4 3
5
≥ −
− −
− −
= x
x x
45
Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel
simpleks.
Tabel 3.6. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 1
1
4
x −
3
x −
x 10
112 −
10 11
10 7
2
x
3
x
4
x 10
18
10 8
10 4
− 10
2
10 1
0 -1 -1 0
5
x 10
8 −
10 6
− 10
2 −
Langkah 4 :Mencari baris pivot
Dari tabel koefisien 10
8
50
− =
a pada baris kelima, maka baris kelima
menjadi baris pivot
Langkah 5 : Mencari kolom pivot
Dari tabel pada kolom pertama dilihat nilai R terkecil, yakni
6 11
10 6
10 11
51 01
= −
= a
a
1
x
10 3
−
46
Langkah 6 : Menggantikan variabel nonbasis
4
x pada kolom pivot dengan variabel
5
x .
Langkah 7 : Melakukan operasi kolom
Tabel 3.7. Tabel Setelah Dilakukan Operasi kolom Pada Iterasi 1
1
5
x −
3
x −
x 6
76 −
6 11
6 2
2
x
3
x
4
x
5
x 6
14
6 4
6 8
6 4
− 6
2
6 1
6 2
− 0 -1
6 10
− 6
2 -1 0
Langkah 8 :
Karena nilai
6 14
1
= x
dan 6
4
2
= x
yang nilainya belum berupa bilangan bulat maka di lanjutkan ke Langkah 1.
ITERASI 2 Langkah 1 :
Memilih baris sumber
Untuk 6
14
1
= x
diperoleh 6
2 2
6 14
6 14
6 14
10
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= f
1
x
47
Untuk 6
4
2
= x
diperoleh 6
4 6
4 6
4 6
4
20
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= f
= f
maks
{ }
=
20 10
, f
f maks
⎭ ⎬
⎫ ⎩
⎨ ⎧
6 4
, 6
2 =
6 4
Jadi baris kedua pada persamaan
2
x terpilih sebagai baris sumber
Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder
Pada tabel untuk baris kedua dapat dinyatakan sebagai berikut
6 4
6 1
6 2
5 3
≥ −
+ −
− x
x
Sehingga diperoleh
[ ]
6 1
6 1
6 1
6 1
22 21
21
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= −
= a
a f
dan
[ ]
6 4
1 6
2 6
2 6
2
22 22
22
= −
− −
= ⎥⎦
⎤ ⎢⎣
⎡− −
− =
− =
a a
f
Dari langkah sebelumnya didapat 6
4
20
= f
Maka persamaan pembatas sekunder yang baru adalah
6 4
6 1
6 4
5 3
6
≥ −
− −
− −
= x
x x
Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel
simpleks.
48
Tabel 3.8. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 2
1
5
x −
3
x −
x 6
76 −
6 11
6 2
2
x
3
x
4
x
5
x
6
x 6
14
6 4
6 8
6 4
− 6
4 −
6 2
6 1
6 2
− 0 -1
6 10
− 6
2 -1 0
6 1
− 6
4 −
Langkah 4 :Mencari baris pivot
Dari tabel, koefisien 6
4
60
− =
a pada baris keenam, maka baris keenam
dipilih sebagai baris pivot.
Langkah 5 : Mencari kolom pivot
Dari tabel, pada kolom kedua dilihat nilai R terkecil, yakni
4 2
6 4
6 2
62 02
= −
= a
c
Langkah 6 :
Menggantikan variabel non basis pada kolom pivot dengan variabel
6
x .
1
x
49
Langkah 7 : Melakukan operasi kolom
Tabel 3.9. Tabel Setelah Dilakukan Operasi kolom Pada Iterasi 2
1
5
x −
6
x −
x 13
− 4
7 4
2
1
x
2
x
3
x
4
x
5
x
6
x 2
1
1
1 4
3 −
4 2
4 1
4 2
−
4 1
4 6
−
4 7
− 4
2
-1 0 0 -1
Langkah 8 :
karena nilai
v
a sudah berupa bilangan bulat maka tabel sudah optimum dengan nilai
2 1
, x x
= 1
, 2
dengn nilai optimum= -13
Pada masalah program linear bilangan bulat dalam bentuk dualnya dapat diurakan bahwa kendala awal dengan variabel awal
1
x dan
2
x adalah
5 4
2 1
− ≤
− −
x x
atau
2 1
3
4 5
x x
x +
+ −
= 7
2 3
2 1
− ≤
− −
x x
atau
2 1
4
2 3
7 x
x x
+ +
− =
50
Kendala bidang pemotong yang didapat pada perhitungan diatas adalah
i
4 3
5
10 6
10 2
10 8
x x
x −
− −
− −
=
4 3
5
10 6
10 2
10 8
x x
x +
+ −
=
2 1
2 1
5
2 3
7 10
6 4
5 10
2 10
8 x
x x
x x
+ +
− +
+ +
− +
− =
2 1
2 1
5
10 12
10 18
10 42
10 8
10 2
10 10
10 8
x x
x x
x +
+ −
+ +
− −
=
2 1
5
2 2
6 x
x x
+ +
− =
ii
5 3
6
6 1
6 4
6 4
x x
x −
− −
− −
=
5 3
6
6 1
6 4
6 4
x x
x +
+ −
=
2 1
2 1
6
2 2
6 6
1 4
5 6
4 6
4 x
x x
x x
+ +
− +
+ +
− +
− =
2 1
2 1
6
6 2
6 2
6 6
6 16
6 4
6 20
6 4
x x
x x
x +
+ −
+ +
− −
=
2 1
6
3 5
x x
x +
+ −
=
51
Dari kendala awal dan kendala tambahan dapat digambarkan dengan grafik.
1
2 3
4 5
1 2
3
4
•
•
•
•
•
•
• •
•
1
x
2
x
3
x
4
x
5
x
6
x
•
Gambar 3.2. Penyelesaian Masalah Program Linear Bilangan Bulat Fraksional Dual
Sifat tambahan tentang pembatas sekunder, yakni tabel yang sudah optimum bila diselesaikan kembali dengan metode bidang pemotong yang menggunakan
metode simpleks dual akan diperoleh tabel optimum yang bernilai bilangan bulat, yakni semua nilai-nilai di dalam tabel akan berupa bilangan bulat tanpa mengubah
nilai optimum dari penyelesaian optimum tersebut. Akan diperlihatkan bahwa suatu pembatas sekunder sama dengan pertaksamaan dalam variabel nonbasis.
Diasumsikan tabel awal berpa bilangan bulat.
Teorema 3.1
Setiap pembatas sekunder pada persamaan 3.17 akan menjadi pertaksamaan yang semua variabelnya bernilai bilangan bulat bila dinyatakan dalam suku-suku
yang memuat variabel nonbasis pada iterasi sebelumnya.
52
Bukti :
Misalkan baris untuk persamaan pertama menjadi
j J
n j
vj v
v
x a
a x
− +
=
∑
=1
maka pembatas sekunder yang dihasilkan adalah sebagai berikut
j J
n j
vj v
m n
x f
f x
− −
− =
∑
= +
+ 1
1
dengan
[ ]
vj vj
vj
a a
f −
= atau
[ ]
vj vj
vj
a a
f −
= −
, n
j ,
, 1
, 0 K
= maka
j J
n j
vj v
m n
x f
f x
− −
− =
∑
= +
+ 1
1
[ ]
[ ]
∑
=
− −
− −
=
n j
j J
vj vj
v v
x a
a a
a
1
[ ]
[ ]
⎭ ⎬
⎫ ⎩
⎨ ⎧
− +
− ⎭
⎬ ⎫
⎩ ⎨
⎧ −
+ =
∑ ∑
= =
n j
j J
vj v
n j
j J
vj v
x a
a x
a a
1 1
Sekarang setiap variabel nonbasis
j J
x adalah suatu variabel nonbasis ataupun
variabel basis pada masalah awal. Pada kasus sebelumnya diketahui
g j
J
x x
= untuk suatu
n g
, ,
2 ,
1 K
= dan pada kasus selanjutnya persamaan
j n
j j
i n
i n
j J
x a
a x
− +
=
∑
= +
+ 1
, ,
untuk suatu m
i ,
, 2
, 1
K =
. Meskipun begitu koefisien pada persamaan terakhir semuanya berupa bilangan bulat karena data awal dari
masalah program linear bilangan bulat berupa bilangan bulat maka koefisiennya juga akan berupa bilangan bulat
. Oleh karena itu
j J
x dapat ditulis sebagai suatu
kombinasi linear dari .
, ,
1 n
x x K
Jadi suku pada ruas kanan dalam tanda kurung pertama adalah suatu bilangan bulat bila dituliskan dalam suku-suku
. ,
,
1 n
x x K
53
Suku pada ruas kanan dalam tanda kurung kedua sama dengan
v
x . Variabel ini juga sebuah variabel nonbasis maupun sebagai kombinasi linear dari
variabel nonbasis .
, ,
1 n
x x K
Oleh karena itu
1 1
≥ −
− −
=
∑
= +
+ j
J n
j vj
v m
n
x f
f x
menjadi pertaksamaan yang berupa bilangan bulat bila dinyatakan dalam suku-suku dari variabel
nonbasis. ■
Akan diperlihatkan dari contoh 3.1 bahwa masalah program linear bilangan bulat yang sudah diperoleh penyelesaian optimum dapat dikerjakan
kembali dengan metode bidang pemotong yang menggunakan metode simpleks dual sehingga diperoleh tabel optimum yang semua nilai-nilai dalam tabel berupa
bilangan bulat tanpa mengubah nilai optimum dari penyelesaian optimum dari tabel 3.9. Dari iterasi kedua tabel 3.9 sudah ditemukan penyelesaian optimum.
Maka contoh soal 3.1 diselesaikan kembali dengan uraian sebagai berikut :
ITERASI 1 Langkah 1 : Memilih baris sumber
Baris sumber yang akan diambil adalah baris ke-nol karena nilai 13
00
− =
a dan
memiliki nilai
00
= f
Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder
Pada tabel sebelumnya, untuk baris ke-nol dapat dinyatakan sebagai 13
4 2
4 7
6 5
− ≥
− +
− x
x
54
Sehingga diperoleh 4
3 1
4 7
4 7
4 7
01
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= f
, 4
2 4
2 4
2 4
2
02
= −
= ⎥⎦
⎤ ⎢⎣
⎡ −
= f
dan 0
00
= f
. Maka persamaan pembatas sekunder yang baru adalah
4 2
4 7
6 5
7
≥ −
− −
− =
x x
x
Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel
simpleks.
Tabel 3.10. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 3
1
5
x −
6
x −
x 13
− 4
7 4
2
1
x
2
x
3
x
4
x
5
x
6
x 2
1
1
1 4
3 −
4 2
4 1
4 2
−
4 1
4 6
−
4 7
− 4
2
-1 0 0 -1
7
x 4
3 −
4 2
−
Langkah 4 :Mencari baris pivot
55
Dari tabel koefisien
70
= a
pada baris ketujuh, maka baris ketujuh dipilih sebagai baris pivot.
Langkah 5 : Mencari kolom pivot
Dari tabel, pada kolom kedua dilihat nilai R terkecil yakni
1 4
2 4
2
72 02
= −
= a
c
Langkah 6 :
Menggantikan variabel non basis pada kolom pivot dengan variabel
7
x .
Langkah 7 : Melakukan operasi kolom
Tabel 3.11. Tabel Setelah Dilakukan Operasi kolom Pada Iterasi 3
1
5
x −
7
x −
x 13
− 1 1
1
x
x
2
3
x
4
x x
5
6
x
7
x 2
1 1
1 2
3 − 1
1 -1
2 5
3 −
2 5
− 1 -1 0
2 3
-2 0 -1
56
Langkah 8 :
karena belum semua nilai berupa bilangan bulat maka kembali ke Langkah 1
ITERASI 2 Langkah 1 :
Memilih baris sumber Sekarang yang diambil untuk baris sumber adalah baris pertama yakni
2
10
= a
dan memiliki nilai
10
= f
Langkah 2 : Menentukan bentuk kendala baru, yakni pembatas sekunder
Pada tabel sebelumnya, untuk baris pertama dapat dinyatakan sebagai
2 1
2 3
7 5
≥ −
+ −
− x
x
sehingga diperoleh 2
1 2
2 3
2 3
2 3
01
= −
− −
= ⎥⎦
⎤ ⎢⎣
⎡− −
− =
f dan
02
= f
dengan
00
= f
Maka persamaan pembatas sekunder yang baru adalah
2 1
6 5
8
≥ −
+ −
− =
x x
x
Langkah 3 : Tambahkan bentuk pembatas sekunder yang baru dalam tabel
simpleks.
57
Tabel 3.12. Tabel Dengan Bentuk Pembatas Sekunder Pada Iterasi 4
1
5
x −
7
x −
x 13
− 1 1
1
x
x
2
3
x
4
x x
5
6
x
7
x 2
1 1
1 2
3 − 1
1 -1 2
5 3
−
2 5
− 1 -1 0
2 3
-2 0 -1
8
x 2
1 − 0
Langkah 4 : Mencari baris pivot
Dari tabel, koefisien
80
= a
pada baris kedelapan, maka baris kedelapan dipilih sebagai baris pivot.
Langkah 5 : Mencari kolom pivot
Dari tabel, pada kolom kesatu dilihat nilai R terkecil yakni
2 2
1 1
81 01
= −
= a
c
58
Langkah 6 : Variabel
8
x akan menggantikan variabel non basis pada kolom pivot.
Langkah 7 :
Melakukan operasi kolom
Tabel 3.13. Hasil setelah dilakukan operasi kolom pada iterasi 4
1
8
x −
7
x −
x 13
− 2 1
1
x
2
x
3
x
4
x
5
x
6
x
7
x
8
x 2
1 1
1 -3
1 2 -1
5 3 −
-5 1 -2 0
3 -2 0 -1
-1 0
Langkah 8 : karena nilai-nilainya dalam tabel sudah berupa bilangan bulat, maka
telah diperoleh penyelesaian optimum masalah program linear bilangan bulat fraksional dual dengan nilai
, = 2,1 dengan nilai optimum = -13
59
Program linear bilangan bulat fraksional dual memiliki banyak kelemahan. Dalam menyelesaikan masalah program linear bilangan bulat, perhitungan
dilakukan dalam dua tahap yang sangat rumit, yaitu menggunakan metode simpleks dual. Setelah ditemukan penyelesaian optimum harus dilihat dahulu
apakah sudah memenuhi penyelesaian optimum bilangan bulat atau belum. Jika belum berupa bilangan bulat maka tabel harus diselesaikan kembali menggunakan
metode bidang pemotong sampai ditemukan penyelesaian optimum bilangan bulat, yakni nilai variabelnya berupa bilangan bulat. Lalu pada tahun 1960 Ralph
Gomory memperbaiki metode bidang pemotong tersebut, yakni menjadi masalah program linear bilangan bulat dual.
60
BAB IV PROGRAM LINEAR BILANGAN BULAT DUAL
A. Masalah Program linear Bilangan Bulat Dual Dengan Metode Bidang
Pemotong
Untuk mencari penyelesaian pada masalah program linear bilangan bulat akan digunakan metode bidang pemotong, yakni dengan menambahkan kendala
bidang pemotong. Berikut akan diuraikan bagaimana cara menentukan bentuk kendala bidang pemotong.
Jika variabel basis
i
x pada sembarang persamaan ke-i yang merupakan bilangan bulat maka variabel tersebut dapat dinyatakan sebagai :
n in
i i
i i
x a
x a
x a
a x
− +
+ −
+ −
+ =
K
2 2
1 1
atau
∑
=
− +
=
n j
j J
ij i
i
x a
a x
1
4.1 dengan
j J
adalah elemen ke j di dalam J =1,2,…,n,
dan 0
i
a maka baris tersebut disebut sebagai baris sumber. Jika tidak ada maka
tabel simpleks sudah optimum. Misalkan
a sembarang bilangan dan λ adalah sebuah bilangan positif.
Bentuk ⎥⎦
⎤ ⎢⎣
⎡ −
= λ
λ a
a f
4.2