Riset Operasi dan Komputasi - Publikasi Ilmiah
-
Upload
khangminh22 -
Category
Documents
-
view
0 -
download
0
Transcript of Riset Operasi dan Komputasi - Publikasi Ilmiah
Riset Operasi dan Komputasi
Penulis : Dinita Rahmalia dan Teguh Herlambang
Editor : Muhammad Ainul Firdaus
Desain Sampul : Febriyanti Devita Sari
Desain Isi : Siska Amelia
Diterbitkan Oleh :
Kresna Bina Insan Prima
Jl. Klakahrejo No. 77 Benowo Surabaya 60198
Tel./Fax. : +6231 7457673
Hp. : +6285330834377
Email : ldp_kbip@ yahoo.co.id
Facebook : Kresna Bip
Website : www.publikasiilmiah.com
181 hlm.; 20 x 27 cm ; HVS 80 gram
ISBN : 978-623-7802-13-6
Cetakan pertama, 2020
Hak cipta dilindungi undang-undang
Dilarang memperbanyak buku ini dalam bentuk apapun
iii
KATA PENGANTAR
Puji syukur Alhamdulillah penulis panjatkan kehadirat Allah SWT, karena berkat rahmat,
hidayahNya, penulis dapat menyelesaikan penyusunan buku ajar ini dengan baik.
Shalawat serta salam penulis panjatkan kapada Rasulullah SAW, keluarganya, sahabat serta
umatnya yang senantiasa menegakkan Islam.
Riset operasi merupakan ilmu yang sangat penting untuk masalah model optimisasi yang dapat
diterapkan dalam kehidupan sehari-hari, sehingga mata kuliah ini dipelajari pada bidang sains
maupun teknik. Materi Riset Operasi yang dibahas pada buku ini adalah sistem persamaan linear
sebagai pengantar, kemudian disusul program linear, teori dual, metode heuristik, masalah
transportasi, masalah optimisasi jaringan, penjadwalan proyek, pemrograman bilangan bulat,
pemrograman multiobyektif, dan pengantar pemrograman dinamis.
Dalam menyelesaikan buku ajar ini, tentunya banyak kendala dan kekurangan yang dihadapi.
Penulis banyak ucapkan terima kasih kepada semua pihak yang telah membantu, rekan dosen
Universitas Islam Darul Ulum Lamongan dan Universitas Nahdlatul Ulama Surabaya, rekan
penerbit, keluarga penulis serta rekan yang tak dapat disebutkan satu persatu.
Penulis menyadari bahwa buku ajar ini masih banyak kekurangan. Oleh karena itu, penulis sangat
mengharapkan kritik dan saran yang membangun. Akhir kata penulis berharap semoga buku ajar ini
dapat bermanfaat bagi pembaca dan perkembangan ilmu pengembangan.
Gresik, September 2020
Penulis
iv
DAFTAR ISI
Kata Pengantar ................................................................................................................ iii
Daftar Isi ........................................................................................................................ iv
BAB 1 Sistem Persamaan Linear .................................................................................... 1
1.1 Bentuk Sistem Persamaan Linear ................................................................ 1
1.2 Representasi Sistem Persamaan Linear dalam Bentuk Matriks ..................... 2
1.3 Solusi Sistem Persamaan Linear ................................................................... 2
1.3.1 Metode Eliminasi .............................................................................. 3
1.3.2 Operasi Baris Elementer ..................................................................... 4
BAB 2 Program Linear .................................................................................................. 9
2.1 Pengenalan Program Linear ........................................................................ 9
2.2 Formulasi Model : Memaksimumkan Keuntungan ....................................... 10
2.3 Metode Grafis ............................................................................................. 11
2.4 Formulasi Model : Meminimumkan Belanja ............................................... 12
2.5 Metode Grafis ............................................................................................. 13
2.6 Solusi pada Linear Programming ................................................................ 13
2.6.1 Solusi Optimal .................................................................................. 14
2.7 Metode Simpleks ........................................................................................ 17
2.7.1 Pengertian Variabel Slack dan Teknik Modifikasi ............................. 17
2.7.2 Metode Simpleks dan Komputasinya ................................................. 18
2.8 Metode Big M pada Kendala Berbentuk Persamaan = ................................. 22
2.8.1 Pengertian Variabel Artificial dan Teknik Modifikasi ........................ 22
2.8.2 Metode Big M dan Komputasinya ..................................................... 23
2.9 Metode Big M pada Kendala Berbentuk Pertidaksamaan ≥ ......................... 28
v
2.9.1 Masalah Nilai Negatif pada Nilai Kanan Kendala ............................. 28
2.9.2 Masalah Minimalisasi ....................................................................... 28
2.9.3 Pengertian Variabel Surplus dan Teknik Modifikasi ......................... 28
2.9.4 Metode Big M dan Komputasinya .................................................... 29
BAB 3 Teori Dual ......................................................................................................... 35
3.1 Hubungan Masalah Primal dan Masalah Dual ............................................ 35
3.2 Mengubah Masalah Maksimalisasi Menjadi Masalah ................................. 36
3.2.1 Perhitungan ...................................................................................... 38
3.3 Mengubah Masalah Minimalisasi Menjadi Masalah Maksimalisasi ............ 42
3.3.1 Perhitungan ...................................................................................... 43
BAB 4 Metode Heuristik .............................................................................................. 47
4.1 Masalah Penugasan .................................................................................... 47
4.1.1 Metode Eliminasi Baris dan Kolom .................................................. 48
4.1.2 Metode Hungarian ............................................................................ 51
4.2 Traveling Salesman Problem (TSP) ............................................................ 54
4.2.1 Metode Nearest Neighbor ................................................................. 55
4.3 Knapsack Problem ...................................................................................... 57
4.3.1 Metode Greedy ................................................................................. 58
4.4 Multiple Knapsack Problem ....................................................................... 59
4.4.1 Metode Greedy ................................................................................. 60
4.5 Masalah Transportasi ................................................................................. 62
4.5.1 Metode Nilai Minimum .................................................................... 63
4.6 Vehicle Routing Problem ............................................................................ 69
4.6.1 Metode Greedy dan Nearest Neighbor .............................................. 70
BAB 5 Masalah Transportasi ......................................................................................... 81
5.1 Bentuk Umum Masalah Transportasi .......................................................... 81
vi
5.2 Formulasi Model ......................................................................................... 82
5.3 Metode Northwest Corner ............................................................................ 83
5.3.1 Tahap Awal (Inisialisasi) ................................................................... 83
5.3.2 Tahap Optimisasi .............................................................................. 83
5.3.3 Tahap Pemberhentian ........................................................................ 83
5.3.4 Komputasi ......................................................................................... 84
5.4 Metode Nilai Minimum ............................................................................... 87
5.4.1 Tahap Awal (Inisialisasi) ................................................................... 87
5.4.2 Tahap Optimisasi .............................................................................. 87
5.4.3 Tahap Pemberhentian ........................................................................ 88
5.4.4 Komputasi .......................................................................................... 88
5.5 Metode Vogel ............................................................................................. 92
5.5.1 Tahap Awal (Inisialisasi) ................................................................... 92
5.5.2 Tahap Optimisasi .............................................................................. 93
5.5.3 Tahap Pemberhentian ........................................................................ 93
5.5.4 Komputasi ......................................................................................... 93
5.6 Metode Russel ............................................................................................ 95
5.6.1 Tahap Awal (Inisialisasi) ................................................................... 95
5.6.2 Tahap Optimisasi ............................................................................... 96
5.6.3 Tahap Pemberhentian ........................................................................ 96
5.6.4 Komputasi ......................................................................................... 96
5.7 Ketidak seimbangan pada Masalah Transportasi ......................................... 101
5.7.1 Jumlah Persediaan Lebih dari Jumlah Permintaan. ............................. 101
5.7.2 Jumlah Permintaan Lebih dari Jumlah Persediaan ............................. 102
BAB 6 Masalah Optimisasi Jaringan .............................................................................. 103
6.1 Pengertian Graf ........................................................................................... 103
vii
6.1.1 Graf Berarah ..................................................................................... 105
6.1.2 Matriks Ketetanggaan (Adjacent Matrix) .......................................... 106
6.1.3 Matriks Kesisian (Incident Matrix) ................................................... 107
6.2 Masalah Jarak Terpendek. ........................................................................... 107
6.2.1 Metode Dijkstra ................................................................................ 107
6.2.2 Metode Floyd ................................................................................... 114
6.3 Masalah Pohon Pembentang Minimum ................................................. 119
6.3.1 Pengertian Pohon dan Pohon Merentang ........................................... 119
6.3.2 Metode Kruskal ................................................................................ 119
6.4 Masalah Arus Maksimum ........................................................................... 124
6.4.1 Metode Ford-Fulkerson ..................................................................... 124
BAB 7 Penjadwalan Proyek, Flow Shop Problem, dan Job Shop Problem .................... 127
7.1 Penjadwalan Proyek dengan Critical Path Method (CPM) .......................... 127
7.1.1 Membuat Jaringan Proyek ................................................................ 127
7.1.2 Metode CPM Jalur Maju ................................................................... 129
7.1.3 Metode CPM Jalur Mundur .............................................................. 129
7.1.4 Komputasi CPM ............................................................................... 129
7.1.5 Konstruksi Jadwal ............................................................................ 132
7.2 Flow Shop Problem .................................................................................... 133
7.2.1 Metode Johnson ................................................................................ 134
7.3 Job Shop Problem ...................................................................................... 135
BAB 8 Pemrograman Bilangan Bulat (Integer Programming) ........................................ 137
8.1 Metode Branch and Bound ......................................................................... 137
8.1.1 Tahap Awal (Inisialisasi) .................................................................. 137
8.1.2 Tahap Optimisasi ............................................................................... 137
8.1.3 Tahap Pemberhentian ....................................................................... 138
viii
8.1.4 Komputasi ......................................................................................... 138
8.2 Pemrograman Biner .................................................................................... 149
8.2.1 Tahap Awal (Inisialisasi) ................................................................... 149
8.2.2 Tahap Optimisasi .............................................................................. 150
8.2.3 Tahap Pemberhentian ........................................................................ 150
8.2.4 Komputasi. ......................................................................................... 150
8.3 Metode Cutting Plane .................................................................................. 159
8.3.1 Tahap Awal (Inisialisasi) ................................................................... 159
8.3.2 Tahap Optimisasi .............................................................................. 159
8.3.3 Tahap Pemberhentian ........................................................................ 159
BAB 9 Pemrograman Multiobyektif ............................................................................... 165
9.1 Goal Programming ...................................................................................... 165
9.2 Analytic Hierarchy Process (AHP) .............................................................. 168
BAB 10 Pengantar Pemrograman Dinamis ...................................................................... 173
10.1 Stagecoach Problem .................................................................................. 173
10.1.1 Rekursif Maju ................................................................................. 173
10.1.2 Rekursif Mundur ............................................................................. 176
10.2 Bounded Knapsack Problem ..................................................................... 178
Daftar Pustaka ................................................................................................................ 181
Bab 1
Sistem Persamaan Linear
Pada Riset Operasi, terdapat banyak model masalah optimisasi menggunakan aljabar linear besertapenyelesaiannya. Teknik penyelesaian aljabar linear seperti metode substitusi dan metode eliminasitelah dipelajari pada bangku sekolah. Dalam buku ini, sebelum membahas lebih jauh tentang RisetOperasi, pemahaman tentang aljabar linear sangat diperlukan. Dalam bab ini akan dijelaskan sekilastentang aljabar linear berupa sistem persamaan linear dan teknik penyelesaiannya menggunakanoperasi baris elementer.
1.1 Bentuk Sistem Persamaan Linear
Persamaan linear adalah persamaan yang berbentuk :
a1x1 + a2x2 + . . . + anxn = b (1.1)
dimana a1, a2, . . . , an adalah konstanta dan x1, x2, . . . , xn adalah variabel (peubah).
Contoh :
2x1 + x2 − 3x3 = 5
Sistem persamaan linear adalah kumpulan dari persamaan linear yang saling berkaitan. Bentuksistem persamaan linear adalah sebagai berikut :
a11x1 + a12x2 + . . . + a1nxn = b1
a21x1 + a22x2 + . . . + a2nxn = b2
......
...
am1x1 + am2x2 + . . . + amnxn = bm
(1.2)
1
2 BAB 1. SISTEM PERSAMAAN LINEAR
1.2 Representasi Sistem Persamaan Linear dalam Bentuk Matriks
Sistem persamaan linear yang berbentuk :
a11x1 + a12x2 + . . . + a1nxn = b1
a21x1 + a22x2 + . . . + a2nxn = b2
......
...
am1x1 + am2x2 + . . . + amnxn = bm
dapat direpresentasikan dalam bentuk matriks sebagai berikut :a11 a12 . . . a1n
a21 a22 . . . a2n...
......
...am1 am2 . . . amn
x1
x2...xn
=
b1
b2...bm
Contoh :
Diketahui sistem persamaan linear berikut :
x + y + 2z = 9
2x + 4y − 3z = 1
3x + 6y − 5z = 0
Representasikan dalam bentuk matriks.
Jawab :
1 1 22 4 −33 6 −5
xyz
=
910
1.3 Solusi Sistem Persamaan Linear
Dari sistem persamaan linear berbentuk :a11 a12 . . . a1n
a21 a22 . . . a2n...
......
...am1 am2 . . . amn
x1
x2...xn
=
b1
b2...bm
nilai
x1
x2...xn
disebut solusi sistem persamaan linear.
Cara menentukan solusi sistem persamaan linear ada dua cara yaitu dengan metode eliminasidan metode operasi baris elementer.
1.3. SOLUSI SISTEM PERSAMAAN LINEAR 3
1.3.1 Metode Eliminasi
Contoh :
Tentukan solusi sistem persamaan linear berikut :
x + y + 2z = 9
2x + 4y − 3z = 1
3x + 6y − 5z = 0
dengan metode eliminasi.
Jawab :
x + y + 2z = 9 (1)
2x + 4y − 3z = 1 (2)
3x + 6y − 5z = 0 (3)
Eliminasi variabel x dari persamaan (1) dan (2).
x + y + 2z = 9 | × 2| 2x + 2y + 4z = 18
2x + 4y − 3z = 1 | × 1| 2x + 4y − 3z = 1
−2y + 7z = 17 (4)
Eliminasi variabel x dari persamaan (1) dan (3).
x + y + 2z = 9 | × 3| 3x + 3y + 6z = 27
3x + 6y − 5z = 1 | × 1| 3x + 6y − 5z = 1
−3y + 11z = 27 (5)
Eliminasi variabel y dari persamaan (4) dan (5).
−2y + 7z = 17 | × 3| −6y + 21z = 51
−3y + 11z = 27 | × 2| −6y + 22z = 54
−z = −3
z = 3
Masukkan nilai z pada persamaan (4).
−2y + 7z = 17
−2y + 7(3) = 17
−2y + 21 = 17
y = 2
4 BAB 1. SISTEM PERSAMAAN LINEAR
Masukkan nilai z, y pada persamaan (1).
x + y + 2z = 9
x + 2 + 2(3) = 9
x + 8 = 9
x = 1
Jadi solusinya adalah : xyz
=
123
1.3.2 Operasi Baris Elementer
Langkah operasi baris elementer adalah dengan mengubah bentuk sistem persamaan linear :a11 a12 . . . a1n
a21 a22 . . . a2n...
......
...am1 am2 . . . amn
x1
x2...xn
=
b1
b2...bm
menjadi bentuk :
a11 a12 . . . a1n | b1
a21 a22 . . . a2n | b2...
......
......
...am1 am2 . . . amn | bm
kemudian dilakukan operasi baris elementer manjadi bentuk :
1 0 . . . 0 | hx1
0 1 . . . 0 | hx2
......
......
......
0 0 . . . 1 | hxn
Contoh :
Tentukan solusi sistem persamaan linear berikut :
x + y + 2z = 9
2x + 4y − 3z = 1
3x + 6y − 5z = 0
dengan operasi baris elementer.
Jawab :
1.3. SOLUSI SISTEM PERSAMAAN LINEAR 5
x + y + 2z = 9 (B1)
2x + 4y − 3z = 1 (B2)
3x + 6y − 5z = 0 (B3)
Langkah pertama adalah membuat a11 = 1, a21 = 2, a31 = 3 menjadi a11 = 1, a21 = 0, a31 = 0.
Operasi Baris Elementer (OBE)
Bagi baris 1 dengan 1 supaya koefisien x bernilai 1. Supaya koefisien x yang lain bernilai 0, makadapat dilakukan operasi baris elementer yaitu : kurangkan baris 2 dengan dua kali baris 1, ku-rangkan baris 3 dengan tiga kali baris 1.
Lebih jelasnya adalah mengubah kolom
123
menjadi
100
dengan cara sebagai berikut :
123
−−→11B1
123
−−−−−−−−→B2 − 2B1
B3 − 3B1
100
Operasi baris elementer (OBE) :
1
1B1
1 1 2 = 9 | × 11 | 1 1 2 = 9
Operasi baris elementer (OBE) : B2 − 2B1
2 4 −3 = 1 | × 1| 2 4 −3 = 1
1 1 2 = 9 | × −2| −2 −2 −4 = −18
0 2 −7 = −17
Operasi baris elementer (OBE) : B3 − 3B1
3 6 −5 = 0 | × 1| 3 6 −5 = 0
1 1 2 = 9 | × −3| −3 −3 −6 = −27
0 3 −11 = −27
Sehingga proses Operasi Baris Elementer (OBE) dapat ditulis sebagai berikut : 1 1 2 | 92 4 −3 | 13 6 −5 | 0
−→B11
1 1 2 | 92 4 −3 | 13 6 −5 | 0
−−−−−−−−→B2 − 2B1
B3 − 3B1
1 1 2 | 90 2 −7 | −170 3 −11 | −27
Langkah kedua adalah membuat a12 = 1, a22 = 2, a32 = 3 menjadi a12 = 0, a22 = 1, a32 = 0.
Operasi Baris Elementer (OBE)
Bagi baris 2 dengan 2 supaya koefisien y bernilai 1. Supaya koefisien y yang lain bernilai 0, makadapat dilakukan operasi baris elementer yaitu : kurangkan baris 1 dengan baris 2, kurangkan baris3 dengan tiga kali baris 2.
6 BAB 1. SISTEM PERSAMAAN LINEAR
Lebih jelasnya adalah mengubah kolom
123
menjadi
010
dengan cara sebagai berikut :
123
−−→12B2
113
−−−−−−−−→B1 −B2
B3 − 3B2
010
Operasi baris elementer (OBE) :
1
2B2
0 2 −7 = −17 | × 12 | 0 1 −7
2 = −172
Operasi baris elementer (OBE) : B1 −B2
1 1 2 = 9 | × 1| 1 1 2 = 9
0 1 −72 = −17
2 | × −1| 0 −1 72 = 17
2
1 0 112 = 35
2
Operasi baris elementer (OBE) : B3 − 3B2
0 3 −11 = −27 | × 1| 0 3 −11 = −27
0 1 −72 = −17
2 | × −3| 0 −3 212 = 51
2
0 0 −12 = −3
2
Sehingga proses Operasi Baris Elementer (OBE) dapat ditulis sebagai berikut : 1 1 2 | 90 2 −7 | −170 3 −11 | −27
−→B22
1 1 2 | 90 1 −7
2 | −172
0 3 −11 | −27
−−−−−−−−→B1 −B2
B3 − 3B2
1 0 112 | 35
20 1 −7
2 | −172
0 0 −12 | −3
2
Langkah ketiga adalah membuat a13 =
11
2, a23 = −7
2, a33 = −1
2menjadi a13 = 0, a23 = 0, a33 = 1.
Operasi Baris Elementer (OBE)
Bagi baris 3 dengan −1
2supaya koefisien z bernilai 1. Supaya koefisien z yang lain bernilai 0,
maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 1 dengan11
2kali baris 3,
jumlahkan baris 2 dengan7
2kali baris 3.
Lebih jelasnya adalah mengubah kolom
112−7
2−1
2
menjadi
001
dengan cara sebagai berikut :
112−7
2−1
2
−−−−→1
−12
B3
112−7
21
−−−−−−−−−→B1 − 112 B3
B2 + 72B3
001
1.3. SOLUSI SISTEM PERSAMAAN LINEAR 7
Operasi baris elementer (OBE) :1
−12
B3
0 0 −12 = −3
2 | × 1− 1
2
| 0 0 1 = 3
Operasi baris elementer (OBE) : B1 − 112 B3
1 0 112 = 35
2 | × 1| 1 0 112 = 35
2
0 0 1 = 3 | × −112 | 0 0 −11
2 = −332
1 0 0 = 1
Operasi baris elementer (OBE) : B2 + 72B3
0 1 −72 = −17
2 | × 1| 0 1 −72 = −17
2
0 0 1 = 3 | × 72 | 0 0 7
2 = 212
0 1 0 = 2
Sehingga proses Operasi Baris Elementer (OBE) dapat ditulis sebagai berikut : 1 0 112 | 35
20 1 −7
2 | −172
0 0 −12 | −3
2
−−−−−→B3 ×−2
1 0 112 | 35
20 1 −7
2 | −172
0 0 1 | 3
−−−−−−−−−→B1 − 112 B3
B2 + 72B3
1 0 0 | 10 1 0 | 20 0 1 | 3
Jadi solusinya adalah : x
yz
=
123
Bab 2
Program Linear
Program linear merupakan bagian yang sangat penting pada Riset Operasi karena sebagai besarmasalah pada Riset Operasi menggunakan program linear. Pada bangku sekolah, masalah padaprogram linear menggunakan metode grafis telah dipelajari. Pada buku ini akan dijelaskan teknikpemecahan masalah program linear lebih mendalam berdasarkan bentuk kendala, seperti metodeSimpleks dan metode Big M.
2.1 Pengenalan Program Linear
Bentuk umum program linear untuk masalah optimisasi berupa memaksimumkan fungsi obyek-tif adalah :
max Z = c1x1 + c2x2 + . . . + cnxn (2.1)
dengan kendala
a11x1 + a12x2 + . . . + a1nxn ≤ b1
a21x1 + a22x2 + . . . + a2nxn ≤ b2
...
am1x1 + am2x2 + . . . + amnxn ≤ bm
(2.2)
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0 (2.3)
Selain bentuk di atas, bentuk umum program linear untuk masalah optimisasi berupa memini-mumkan fungsi obyektif adalah :
min Z = c1x1 + c2x2 + . . . + cnxn (2.4)
dengan kendala
a11x1 + a12x2 + . . . + a1nxn ≥ b1
a21x1 + a22x2 + . . . + a2nxn ≥ b2
...
am1x1 + am2x2 + . . . + amnxn ≥ bm
(2.5)
9
10 BAB 2. PROGRAM LINEAR
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0 (2.6)
Keterangan dari kedua bentuk di atas adalah :
1. Z adalah fungsi obyektif yaitu fungsi yang akan dioptimalkan (dimaksimumkan atau di-minimumkan).
2. x1, x2, . . . , xn adalah variabel keputusan yang akan dicari.
3. aij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n), b1, b2, . . . , bm, c1, c2, . . . , cn adalah parameter.
4. Fungsi obyektif Z berbentuk linear.
5. Fungsi kendala bentuk sistem linear.
Tujuan dari program linear kedua bentuk di atas adalah menentukan nilai x1, x2, . . . , xn yang men-goptimalkan (memaksimumkan atau meminimumkan) Z.
2.2 Formulasi Model : Memaksimumkan Keuntungan
Terdapat tiga pabrik yaitu : pabrik A, pabrik B, dan pabrik C. Ketiga pabrik tersebut memproduksikaca pintu dan kaca jendela.
Aturan produksi pada masing-masing pabrik adalah :
Pabrik A memproduksi kaca pintu dengan waktu produksi 1 jam per minggu. Secara umum, waktuproduksi pada Pabrik A adalah maksimum 4 jam per minggu.
Pabrik B memproduksi kaca jendela dengan waktu produksi 2 jam per minggu. Secara umum,waktu produksi pada Pabrik B adalah maksimum 12 jam per minggu.
Pabrik C memproduksi kaca pintu dengan waktu produksi 3 jam per minggu dan kaca jendeladengan waktu produksi 2 jam per minggu. Secara umum, waktu produksi pada Pabrik C adalahmaksimum 18 jam per minggu.
Jika keuntungan kaca pintu adalah 300 dan keuntungan kaca jendela adalah 500. Tentukan jumlahkaca pintu dan jumlah kaca jendela yang diproduksi supaya pabrik tersebut mendapatkan keuntun-gan maksimum.
Dari permasalahan di atas, dapat dibuat tabel sebagai berikut :
Pabrik Waktu Produksi Maksimum Waktu Produksi(jam per minggu) (jam per minggu)
Kaca Pintu Kaca JendelaPabrik A 1 0 4Pabrik B 0 2 12Pabrik C 3 2 18
Keuntungan 300 500
Pendefinisian variabel keputusan adalah sebagai berikut :
Misalkan :
x1 adalah jumlah kaca pintu.
2.3. METODE GRAFIS 11
x2 adalah jumlah kaca jendela.
Sehingga pembentukan fungsi obyektifnya adalah :
max Z = 300x1 + 500x2
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
2.3 Metode Grafis
Penyelesaian program linear di atas dapat diselesaikan menggunakan metode grafis. Pertama-tama,kita plot ketiga pertidaksamaan pada kendala sehingga terlihat seperti Gambar 2.3. Setelah itu,kita dapatkan daerah penyelesaian (feasible region) yang memenuhi terhadap semua kendala yangada.
Gambar 2.3. Pertidaksamaan pada Kendala
Setelah itu, kita hitung titik potong pada grafik di atas. Dari hasil perhitungan, titik potongnyaadalah (0,0), (4,0), (4,3), (2,6), dan (0,6). Kemudian kita masukkan pada fungsi obyektif Z =f(x1, x2) = 300x1 + 500x2.
f(0, 0) = 300(0) + 500(0) = 0
f(4, 0) = 300(4) + 500(0) = 1200
f(4, 3) = 300(4) + 500(3) = 2700
f(2, 6) = 300(2) + 500(6) = 3600
f(0, 6) = 300(0) + 500(6) = 3000
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (2, 6) menghasilkan nilai Z palingbesar yaitu sebesar 3600. Sehingga titik (x1, x2) = (2, 6) adalah solusi optimal dan Z = 3600adalah nilai optimal.
12 BAB 2. PROGRAM LINEAR
Jadi pabrik tersebut harus memproduksi jumlah kaca pintu x1 sebanyak 2 dan jumlah kaca jendelax2 sebanyak 6.
Namun adakalanya, titik potong tersebut bukan solusi optimal. Oleh karena itu kita dapat menggesersedikit garis 3600 = 300x1+500x2 sejajar dengan gradiennya namun harus menuju ke daerah penye-lesaiannya.
2.4 Formulasi Model : Meminimumkan Belanja
Seorang pembuat kue akan membuat kue : kue kering, brownis, dan donat. Ketiga kue tersebutmengandung keju dan coklat.
Kandungan bahan pada ketiga kue tersebut adalah :
Kue kering mengandung keju 1 gram. Menurut selera pasar, kandungan bahan pada kue keringadalah minimum 2 gram .
Brownis mengandung coklat 3 gram. Menurut selera pasar, kandungan bahan pada brownis adalahminimum 9 gram.
Donat mengandung 3 gram keju dan 2 gram coklat. Menurut selera pasar, kandungan bahan padadonat adalah minimum 18 gram.
Jika harga keju adalah 300 dan harga coklat adalah 500. Tentukan jumlah keju dan jumlah coklatyang harus dibeli supaya pembuat kue tersebut melakukan pembelanjaan minimum.
Dari permasalahan di atas, dapat dibuat tabel sebagai berikut :
Kandungan Bahan Minimum Kandungan Bahan(gram) (gram)
Keju CoklatKue kering 1 0 2
Brownis 0 3 9Donat 3 2 18
Harga 300 500
Pendefinisian variabel keputusan adalah sebagai berikut :
Misalkan :
x1 adalah jumlah keju.
x2 adalah jumlah coklat.
Sehingga pembentukan fungsi obyektifnya adalah :
min Z = 300x1 + 500x2
dengan kendalax1 ≥ 2
3x2 ≥ 9
3x1 + 2x2 ≥ 18
x1 ≥ 0, x2 ≥ 0
2.5. METODE GRAFIS 13
2.5 Metode Grafis
Penyelesaian program linear di atas dapat diselesaikan menggunakan metode grafis. Pertama-tama,kita plot ketiga pertidaksamaan pada kendala sehingga terlihat seperti Gambar 2.5. Setelah itu,kita dapatkan daerah penyelesaian (feasible region) yang memenuhi terhadap semua kendala yangada.
Gambar 2.5. Pertidaksamaan pada Kendala
Setelah itu, kita hitung titik potong pada grafik di atas. Dari hasil perhitungan, titik potongnyaadalah (4,3) dan (2,6). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) = 300x1 +500x2.
f(4, 3) = 300(4) + 500(3) = 2700
f(2, 6) = 300(2) + 500(6) = 3600
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (4, 3) menghasilkan nilai Z palingkecil yaitu sebesar 2700. Sehingga titik (x1, x2) = (4, 3) adalah solusi optimal dan Z = 2700adalah nilai optimal.
Jadi pembuat roti tersebut harus membeli jumlah keju x1 sebanyak 4 dan jumlah coklat x2 sebanyak3.
Namun adakalanya, titik potong tersebut bukan solusi optimal. Oleh karena itu kita dapat menggesersedikit garis 2700 = 300x1+500x2 sejajar dengan gradiennya namun harus menuju ke daerah penye-lesaiannya.
2.6 Solusi pada Linear Programming
Solusi adalah nilai dari variabel keputusan (x1, x2, ..., xn).
Pada linear programming, daerah solusi dibagi menjadi dua, yaitu :
1. Solusi feasible : Solusi yang memenuhi semua kendala.
2. Solusi infeasible : Solusi yang tidak memenuhi paling sedikit satu kendala.
Contoh :
14 BAB 2. PROGRAM LINEAR
Pada program linear :
max Z = 3x1 + 5x2
dengan kendala
x1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Selidiki apakah titik (2, 3), (4, 4) termasuk solusi feasible atau solusi infeasible.
Jawab :
Titik (2, 3)
x1 = 2 ≤ 4
2x2 = 2(3) = 6 ≤ 12
3x1 + 2x2 = 3(2) + 2(3) = 12 ≤ 18
x1 = 2 ≥ 0
x2 = 3 ≥ 0
Jadi titik (2, 3) memenuhi semua kendala sehingga termasuk solusi yang feasible.
Titik (4, 4)
x1 = 4 ≤ 4
2x2 = 2(4) = 8 ≤ 12
3x1 + 2x2 = 3(4) + 2(4) = 20 ≥ 18
x1 = 4 ≥ 0
x2 = 4 ≥ 0
Jadi titik (4, 4) tidak memenuhi kendala 3x1 + 2x2 ≤ 18 sehingga termasuk solusi yang infeasible.
2.6.1 Solusi Optimal
Jenis-jenis solusi optimal dalam linear programming adalah sebagai berikut :
1. Solusi optimal feasible.
Contoh :
max Z = 3x1 + 5x2
2.6. SOLUSI PADA LINEAR PROGRAMMING 15
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Daerah penyelesaian :
Gambar 3. Solusi Feasible Masalah Maksimalisasi
Contoh :
min Z = 3x1 + 5x2
dengan kendalax1 ≥ 2
3x2 ≥ 9
3x1 + 2x2 ≥ 18
x1 ≥ 0, x2 ≥ 0
Daerah penyelesaian :
Gambar 1. Solusi Feasible Masalah Minimalisasi
2. Solusi optimal infeasible.
Contoh :
16 BAB 2. PROGRAM LINEAR
max Z = 3x1 + 5x2
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
3x1 + 5x2 ≥ 50
x1 ≥ 0, x2 ≥ 0
Daerah penyelesaian :
Gambar 2. Solusi Infeasible
3. Multiple solusi optimal.
Contoh :
max Z = 3x1 + 2x2
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Daerah penyelesaian :
2.7. METODE SIMPLEKS 17
Gambar 3. Multiple Solusi Optimal
4. Solusi optimal tak terbatas.
Contoh :
max Z = 3x1 + 5x2
dengan kendalax1 ≤ 4
x1 ≥ 0, x2 ≥ 0
Daerah penyelesaian :
Gambar 4. Solusi Optimal tak Terbatas
2.7 Metode Simpleks
2.7.1 Pengertian Variabel Slack dan Teknik Modifikasi
Variabel slack adalah variabel tambahan yang akan mengubah pertidaksamaan menjadi persamaan.Kita lihat pertidaksamaan pada kendala berikut :
max Z = 3x1 + 5x2
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Kita tambah variabel slack s3, s4, s5 sehingga kendala menjadi :
max Z = 3x1 + 5x2
18 BAB 2. PROGRAM LINEAR
dengan kendalax1 + s3 = 4
2x2 + s4 = 12
3x1 + 2x2 + s5 = 18
x1 ≥ 0, x2 ≥ 0, s3 ≥ 0, s4 ≥ 0, s5 ≥ 0
Sehingga secara keseluruhan bentuk program linear di atas dapat dimodifikasi sebagai berikut :
max Z
dengan kendalaZ − 3x1 − 5x2 = 0 (0)
x1 + s3 = 4 (1)
2x2 + s4 = 12 (2)
3x1 + 2x2 + s5 = 18 (3)
x1 ≥ 0, x2 ≥ 0, s3 ≥ 0, s4 ≥ 0, s5 ≥ 0
2.7.2 Metode Simpleks dan Komputasinya
Penggunaan metode Simpleks yang dibahasi pada bagian ini, hanya untuk program linear yangberbentuk :
max Z = c1x1 + c2x2 + . . . + cnxn (2.7)
dengan kendala
a11x1 + a12x2 + . . . + a1nxn ≤ b1
a21x1 + a22x2 + . . . + a2nxn ≤ b2
...
am1x1 + am2x2 + . . . + amnxn ≤ bm
(2.8)
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0 (2.9)
Untuk bentuk lainnya, seperti meminimumkan fungsi, akan dibahas pada bagian berikutnya. Peng-gunaan metode Simpleks di sini, kita menggunakan tabel Simpleks dimana variabel keputusandinyatakan dengan x1, x2, . . . , xn dan variabel slack dinyatakan dengan sn+1, sn+2, . . . , sn+m.
Var. No. Koefisien dari Nilai KananZ x1 x2 . . . xn sn+1 sn+2 . . . sn+m
Z 0 1 −c1 −c2 . . . −cn 0 0 . . . 0 0sn+1 1 0 a11 a12 . . . a1n 1 0 . . . 0 b1
sn+2 2 0 a21 a22 . . . a2n 0 1 . . . 0 b2...
......
......
......
......
......
...sn+m m 0 am1 am2 . . . amn 0 0 . . . 1 bm
2.7. METODE SIMPLEKS 19
Untuk memudahkan perhitungan, kita buat suatu matriks dimana baris menyatakan persamaanpada kendala dan kolom menyatakan variabel basis, variabel nonbasis, dan nilai kanan.
−c1 −c2 . . . −cn 0 0 . . . 0 0a11 a12 . . . a1n 1 0 . . . 0 b1
a21 a22 . . . a2n 0 1 . . . 0 b2...
......
......
......
......
am1 am2 . . . amn 0 0 . . . 1 bm
(2.10)
Tahap Awal (Inisialisasi)
Masukkan koefisien dari bentuk program linear ke dalam tabel Simpleks.
Tahap Optimisasi
1. Menentukan Kolom Pivot. Kolom pivot dapat ditentukan dengan cara memilih koefisienvariabel nonbasis pada persamaan 0 yang memiliki nilai negatif paling besar.
max(| − c1|, | − c2)|, . . . , | − cn|) (2.11)
2. Menentukan Baris Pivot. Baris pivot dapat ditentukan dengan cara memilih rasio nilaikanan per koefisien kolom pivot terkecil pada nilai kanan variabel basis.
min(b1
kkp1,
b2
kkp2, . . . ,
bmkkpm
) (2.12)
3. Operasi Baris Elementer.
Tahap Pemberhentian
Tahap pemberhentian terjadi jika tidak ada koefisien pada persamaan 0 yang negatif.
Komputasi
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
Menentukan Kolom Pivot dan Baris Pivot
No. Z x1 x2 s3 s4 s5 Nilai Kanan Rasio
B0 1 -3 -5 0 0 0 0B1 0 1 0 1 0 0 4 4/0B2 0 0 2∗ 0 1 0 12 12/2=6B3 0 3 2 0 0 1 18 18/2=9
Dari tabel, pada persamaan B0 terlihat bahwa -5 (kolom 2) adalah bilangan yang paling negatifsehingga kolom 2 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 12/2 = 6 (baris 2) adalahbilangan paling kecil sehingga baris 2 adalah baris pivot. Sehingga elemen yang terletak pada barispivot dan kolom pivot adalah 2.
20 BAB 2. PROGRAM LINEAR
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 2 supaya koefisien x2 bernilai 1. Supaya koefisien x2 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : jumlahkan baris 0 dengan lima kali baris 2,kurangkan baris 3 dengan dua kali baris 2.
Lebih jelasnya adalah mengubah kolom pivot
−5022
menjadi
0010
dengan cara sebagai berikut
:
−5022
−−→12B2
−5012
−−−−−−−−→B0 + 5B2
B3 − 2B2
0010
Operasi baris elementer (OBE) :
1
2B2
0 0 2 0 1 0 = 12 | × 12 | 0 0 1 0 1
2 0 = 6
Operasi baris elementer (OBE) : B0 + 5B2
1 −3 −5 0 0 0 = 0 | × 1| 1 −3 −5 0 0 0 = 0
0 0 1 0 12 0 = 6 | × 5| 0 0 5 0 5
2 0 = 30
1 −3 0 0 52 0 = 30
Operasi baris elementer (OBE) : B3 − 2B2
0 3 2 0 0 1 = 18 | × 1| 0 3 2 0 0 1 = 18
0 0 1 0 12 0 = 6 | × −2| 0 0 −2 0 −1 0 = −12
0 3 0 0 −1 1 = 6
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 Nilai Kanan
B0 1 -3 0 0 52 0 30
B1 0 1 0 1 0 0 4B2 0 0 1 0 1
2 0 6B3 0 3 0 0 -1 1 6
Iterasi 2
Menetukan Kolom Pivot dan Baris Pivot
2.7. METODE SIMPLEKS 21
No. Z x1 x2 s3 s4 s5 Nilai Kanan Rasio
B0 1 -3 0 0 52 0 30
B1 0 1 0 1 0 0 4 4/1=4B2 0 0 1 0 1
2 0 6 6/0B3 0 3∗ 0 0 -1 1 6 6/3=2
Dari tabel, pada persamaan B0 terlihat bahwa -3 (kolom 1) adalah bilangan yang paling negatifsehingga kolom 1 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 6/3 = 2 (baris 3) adalahbilangan paling kecil sehingga baris 3 adalah baris pivot. Sehingga elemen yang terletak pada barispivot dan kolom pivot adalah 3.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 3 supaya koefisien x1 bernilai 1. Supaya koefisien x1 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : jumlahkan baris 0 dengan tiga kali baris 3,kurangkan baris 1 dengan baris 3.
Lebih jelasnya adalah mengubah kolom pivot
−3103
menjadi
0001
dengan cara sebagai berikut
:
−3103
−−→13B3
−3101
−−−−−−−−→B0 + 3B3
B1 −B3
0001
Operasi baris elementer (OBE) :
1
3B3
0 3 0 0 −1 1 = 6 | × 13 | 0 1 0 0 −1
313 = 2
Operasi baris elementer (OBE) : B0 + 3B3
1 −3 0 0 52 0 = 30 | × 1| 1 −3 0 0 5
2 0 = 30
0 1 0 0 −13
13 = 2 | × 3| 0 3 0 0 −1 1 = 6
1 0 0 0 32 1 = 36
Operasi baris elementer (OBE) : B1 −B3
0 1 0 1 0 0 = 4 | × 1| 0 1 0 1 0 0 = 4
0 1 0 0 −13
13 = 2 | × −1| 0 −1 0 0 1
3 −13 = −2
0 0 0 1 13 −1
3 = 2
Sehingga diperoleh tabel yang baru adalah :
22 BAB 2. PROGRAM LINEAR
No. Z x1 x2 s3 s4 s5 Nilai Kanan
B0 1 0 0 0 32 1 36
B1 0 0 0 1 13 −1
3 2B2 0 0 1 0 1
2 0 6B3 0 1 0 0 −1
313 2
Selesai iterasi 2, terlihat bahwa solusinya x1 = 2 dan x2 = 6 dengan nilai Z = 3(2) + 5(6) = 36.Solusi ini optimal karena tidak ada koefisien pada persamaan 0 yang bernilai negatif.
2.8 Metode Big M pada Kendala Berbentuk Persamaan =
Metode Big M digunakan pada masalah program linear yang dimodifikasi seperti berikut.
max Z = c1x1 + c2x2 + . . . + cnxn (2.13)
dengan kendala
ai1x1 + ai2x2 + . . . + ainxn = bi (2.14)
untuk sembarang i.
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0 (2.15)
2.8.1 Pengertian Variabel Artificial dan Teknik Modifikasi
Variabel artificial adalah variabel yang ditambahkan jika kendala berbentuk =,≥.
Misalkan kita ubah program linear sebelumnya menjadi :
max Z = 3x1 + 5x2
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 = 18
x1 ≥ 0, x2 ≥ 0
Kita tambahkan variabel artificial pada kendala yang berbentuk = dan variabel slack pada kendalayang berbentuk ≤ sehingga program linear menjadi :
max Z = 3x1 + 5x2 −Ms̄5
dengan kendalax1 + s3 = 4
2x2 + s4 = 12
3x1 + 2x2 + s̄5 = 18
x1 ≥ 0, x2 ≥ 0, s3 ≥ 0, s4 ≥ 0, s̄5 ≥ 0
2.8. METODE BIG M PADA KENDALA BERBENTUK PERSAMAAN = 23
Sehingga secara keseluruhan bentuk program linear di atas dapat dimodifikasi sebagai berikut :
max Z
dengan kendalaZ − 3x1 − 5x2 + Ms̄5 = 0 (0)
x1 + s3 = 4 (1)
2x2 + s4 = 12 (2)
3x1 + 2x2 + s̄5 = 18 (3)
x1 ≥ 0, x2 ≥ 0, s3 ≥ 0, s4 ≥ 0, s̄5 ≥ 0
2.8.2 Metode Big M dan Komputasinya
Tahap Awal (Inisialisasi)
Masukkan koefisien dari bentuk program linear ke dalam tabel Simpleks. Pada baris 0, koefisienpada variabel artificial harus 0.
Tahap Optimisasi
1. Menentukan Kolom Pivot. Kolom pivot dapat ditentukan dengan cara memilih koefisienvariabel nonbasis pada persamaan 0 yang memiliki nilai negatif paling besar.
max(| − c1|, | − c2)|, . . . , | − cn|) (2.16)
2. Menentukan Baris Pivot. Baris pivot dapat ditentukan dengan cara memilih rasio nilaikanan per koefisien kolom pivot terkecil pada nilai kanan variabel basis.
min(b1
kkp1,
b2
kkp2, . . . ,
bmkkpm
) (2.17)
3. Operasi Baris Elementer.
Tahap Pemberhentian
Tahap pemberhentian terjadi jika tidak ada koefisien pada persamaan 0 yang negatif.
Komputasi
Sistem kendala tersebut belum sesuai karena terdapat koefisien variabel artificial s̄5 yang tak nol.Karena itu, kita perlu mengeliminasi variabel s̄5.
Z − 3x1 − 5x2 + Ms̄5 = 0 | × 1| Z − 3x1 − 5x2 + Ms̄5 = 0
3x1 + 2x2 + s̄5 = 18 | × (−M)| −3Mx1 − 2Mx2 −Ms̄5 = −18M
Z − (3M + 3)x1 − (2M + 5)x2 = −18M
24 BAB 2. PROGRAM LINEAR
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
Menentukan Kolom Pivot dan Baris Pivot
No. Z x1 x2 s3 s4 s5 Nilai Kanan Rasio
B0 1 −(3M + 3) −(2M + 5) 0 0 0 −18MB1 0 1 0 1 0 0 4 4/1=4B2 0 0 2 0 1 0 12 12/0B3 0 3 2 0 0 1 18 18/3=6
Dari tabel, pada persamaan B0 terlihat bahwa −(3M + 3) (kolom 1) adalah bilangan yang palingnegatif sehingga kolom 1 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 4/1 = 4 (baris 1)adalah bilangan paling kecil sehingga baris 1 adalah baris pivot. Sehingga elemen yang terletakpada baris pivot dan kolom pivot adalah 1.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 1 supaya koefisien x1 bernilai 1. Supaya koefisien x1 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : jumlahkan baris 0 dengan (3M + 3) kali baris1, kurangkan baris 3 dengan tiga kali baris 1.
Lebih jelasnya adalah mengubah kolom pivot
−(3M + 3)
103
menjadi
0100
dengan cara seba-
gai berikut :
−(3M + 3)
103
−−→11B1
−(3M + 3)
103
−−−−−−−−−−−−−−→B0 + (3M + 3)B1
B3 − 3B1
0100
Operasi baris elementer (OBE) :
1
1B1
0 1 0 1 0 0 = 4 | × 11 | 0 1 0 1 0 0 = 4
Operasi baris elementer (OBE) : B0 + (3M + 3)B1
1 −(3M + 3) −(2M + 5) 0 0 0 = −18M | × 1|0 1 0 1 0 0 = 4 | × (3M + 3)|
1 −(3M + 3) −(2M + 5) 0 0 0 = −18M
0 (3M + 3) 0 (3M + 3) 0 0 = 4(3M + 3)
1 0 −(2M + 5) (3M + 3) 0 0 = −6M + 12
Operasi baris elementer (OBE) : B3 − 3B1
2.8. METODE BIG M PADA KENDALA BERBENTUK PERSAMAAN = 25
0 3 2 0 0 1 = 18 | × 1| 0 3 2 0 0 1 = 18
0 1 0 1 0 0 = 4 | × −3| 0 −3 0 −3 0 0 = −12
0 0 2 −3 0 1 = 6
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 Nilai Kanan
B0 1 0 −(2M + 5) (3M + 3) 0 0 −6M + 12B1 0 1 0 1 0 0 4B2 0 0 2 0 1 0 12B3 0 0 2 -3 0 1 6
Iterasi 2
Menetukan Kolom Pivot dan Baris Pivot
No. Z x1 x2 s3 s4 s5 Nilai Kanan Rasio
B0 1 0 −(2M + 5) (3M + 3) 0 0 −6M + 12B1 0 1 0 1 0 0 4 4/0B2 0 0 2 0 1 0 12 12/2=6B3 0 0 2 -3 0 1 6 6/2=3
Dari tabel, pada persamaan B0 terlihat bahwa −(2M + 5) (kolom 2) adalah bilangan yang palingnegatif sehingga kolom 2 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 6/2 = 3 (baris 3)adalah bilangan paling kecil sehingga baris 3 adalah baris pivot. Sehingga elemen yang terletakpada baris pivot dan kolom pivot adalah 2.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 2 supaya koefisien x2 bernilai 1. Supaya koefisien x2 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : jumlahkan baris 0 dengan (2M + 5) kali baris3, kurangkan baris 2 dengan dua kali baris 3.
Lebih jelasnya adalah mengubah kolom pivot
−(2M + 5)
022
menjadi
0001
dengan cara seba-
gai berikut :
−(2M + 5)
022
−−→12B3
−(2M + 5)
021
−−−−−−−−−−−−−−→B0 + (2M + 5)B3
B2 − 2B3
0001
Operasi baris elementer (OBE) :
1
2B3
0 0 2 −3 0 1 = 6 | × 12 | 0 0 1 −3
2 0 12 = 3
26 BAB 2. PROGRAM LINEAR
Operasi baris elementer (OBE) : B0 + (2M + 5)B3
1 0 −(2M + 5) (3M + 3) 0 0 = −6M + 12 | × 1|0 0 1 −3
2 0 12 = 3 | × (2M + 5)|
1 0 −(2M + 5) (3M + 3) 0 0 = −6M + 12
0 0 (2M + 5) −32(2M + 5) 0 1
2(2M + 5) = 3(2M + 5)
1 0 0 −92 0 1
2(2M + 5) = 27
Operasi baris elementer (OBE) : B2 − 2B3
0 0 2 0 1 0 = 12 | × 1| 0 0 2 0 1 0 = 12
0 0 1 −32 0 1
2 = 3 | × −2| 0 0 −2 3 0 −1 = −6
0 0 0 3 1 −1 = 6
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 Nilai Kanan
B0 1 0 0 −92 0 1
2(2M + 5) 27B1 0 1 0 1 0 0 4B2 0 0 0 3 1 -1 6B3 0 0 1 −3
2 0 12 3
Selesai iterasi 2, terlihat bahwa solusinya x1 = 4 dan x2 = 3 dengan nilai Z = 3(4) + 5(3) = 27.Solusi ini belum optimal karena terdapat koefisien pada persamaan 0 yang bernilai negatif.
Iterasi 3
Menetukan Kolom Pivot dan Baris Pivot
No. Z x1 x2 s3 s4 s5 Nilai Kanan Rasio
B0 1 0 0 −92 0 1
2(2M + 5) 27B1 0 1 0 1 0 0 4 4/1=4B2 0 0 0 3 1 -1 6 6/3=2B3 0 0 1 −3
2 0 12 3 3/(-3/2)=-2
Dari tabel, pada persamaan B0 terlihat bahwa 92 (kolom 3) adalah bilangan yang paling negatif
sehingga kolom 3 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 6/3 = 2 (baris 2) adalahbilangan paling kecil sehingga baris 2 adalah baris pivot. Sehingga elemen yang terletak pada barispivot dan kolom pivot adalah 3.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 3 supaya koefisien x3 bernilai 1. Supaya koefisien x3 yang lain bernilai0, maka dapat dilakukan operasi baris elementer yaitu : jumlahkan baris 0 dengan 9
2 kali baris 2,kurangkan baris 1 dengan baris 2, kurangkan baris 3 dengan 3
2 kali baris 2.
2.8. METODE BIG M PADA KENDALA BERBENTUK PERSAMAAN = 27
Lebih jelasnya adalah mengubah kolom pivot
−9
213−3
2
menjadi
0010
dengan cara sebagai berikut
:
−9
213−3
2
−−→13B2
−9
211−3
2
−−−−−−−−→B0 + 9
2B2
B1 −B2
B3 + 32B2
0010
Operasi baris elementer (OBE) :
1
3B2
0 0 0 3 1 −1 = 6 | × 13 | 0 0 0 1 1
3 −13 = 2
Operasi baris elementer (OBE) : B0 + 92B2
1 0 0 −92 0 1
2(2M + 5) = 27 | × 1| 1 0 0 −92 0 1
2(2M + 5) = 27
0 0 0 1 13 −1
3 = 2 | × 92 | 0 0 0 9
232 −3
2 = 9
1 0 0 0 32 (M + 1) = 36
Operasi baris elementer (OBE) : B1 −B2
0 1 0 1 0 0 = 4 | × 1| 0 1 0 1 0 0 = 4
0 0 0 1 13 −1
3 = 2 | × −1| 0 0 0 −1 −12
13 = −2
0 1 0 0 −13
13 = 2
Operasi baris elementer (OBE) : B3 + 32B2
0 0 1 −32 0 1
2 = 3 | × 1| 0 0 1 −32 0 1
2 = 3
0 0 0 1 13 −1
3 = 2 | × 32 | 0 0 0 3
212 −1
2 = 3
0 0 1 0 12 0 = 6
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 Nilai Kanan
B0 1 0 0 0 32 M + 1 36
B1 0 1 0 0 −13
13 2
B2 0 0 0 1 13 −1
3 2B3 0 0 1 0 1
2 0 6
Selesai iterasi 3, terlihat bahwa solusinya x1 = 2 dan x2 = 6 dengan nilai Z = 3(2) + 5(6) = 36.Solusi ini optimal karena tidak terdapat koefisien pada persamaan 0 yang bernilai negatif.
28 BAB 2. PROGRAM LINEAR
2.9 Metode Big M pada Kendala Berbentuk Pertidaksamaan ≥
Metode Big M digunakan pada masalah program linear yang dimodifikasi seperti berikut.
min Z = c1x1 + c2x2 + . . . + cnxn (2.18)
dengan kendala
ai1x1 + ai2x2 + . . . + ainxn ≥ bi (2.19)
untuk sembarang i.
x1 ≥ 0, x2 ≥ 0, . . . , xn ≥ 0 (2.20)
2.9.1 Masalah Nilai Negatif pada Nilai Kanan Kendala
Metode Simpleks atau Metode Big M hanya dapat digunakan jika nilai kanan kendala bernilaipositif. Jika nilai kendala bernilai negatif, maka kita harus mengalikan kedua ruas dengan -1.
Contoh :
−0, 6x1 − 0, 4x2 ≤ −6
Kalikan kedua ruas dengan -1 sehingga menjadi :
0, 6x1 + 0, 4x2 ≥ 6
2.9.2 Masalah Minimalisasi
Penggunaan Metode Simpleks dan Metode Big M untuk masalah minimimalisasi adalah denganmenggunakan hubungan berikut :
min Z =∑n
i=1 cixi (2.21)
ekuivalen dengan :
max −Z =∑n
i=1(−ci)xi (2.22)
Contoh :
min Z = 0, 4x1 + 0, 5x2
ekuivalen dengan :
max −Z = −0, 4x1 − 0, 5x2
2.9.3 Pengertian Variabel Surplus dan Teknik Modifikasi
Variabel surplus adalah variabel yang ditambahkan jika kendala berbentuk ≥.
Misalkan kita ubah program linear sebelumnya menjadi :
min Z = 0, 4x1 + 0, 5x2
2.9. METODE BIG M PADA KENDALA BERBENTUK PERTIDAKSAMAAN ≥ 29
dengan kendala0, 3x1 + 0, 1x2 ≤ 2, 7
0, 5x1 + 0, 5x2 = 6
0, 6x1 + 0, 4x2 ≥ 6
x1 ≥ 0, x2 ≥ 0
Kita tambahkan variabel artificial pada kendala yang berbentuk = dan ≥, variabel surplus padakendala yang berbentuk ≥, dan variabel slack pada kendala yang berbentuk ≤ sehingga programlinear menjadi :
max −Z = −0, 4x1 − 0, 5x2 −Ms̄4 −Ms̄6
dengan kendala0, 3x1 + 0, 1x2 + s3 = 2, 7
0, 5x1 + 0, 5x2 + s̄4 = 6
0, 6x1 + 0, 4x2 − s5 + s̄6 = 6
x1 ≥ 0, x2 ≥ 0, s3 ≥ 0, s̄4 ≥ 0, s5 ≥ 0, s̄6 ≥ 0
Sehingga secara keseluruhan bentuk program linear di atas dapat dimodifikasi sebagai berikut :
max −Z
dengan kendala−Z + 0, 4x1 + 0, 5x2 + Ms̄4 + Ms̄6 = 0 (0)
0, 3x1 + 0, 1x2 + s3 = 2, 7 (1)
0, 5x1 + 0, 5x2 + s̄4 = 6 (2)
0, 6x1 + 0, 4x2 − s5 + s̄6 = 6 (3)
x1 ≥ 0, x2 ≥ 0, s3 ≥ 0, s̄4 ≥ 0, s5 ≥ 0, s̄6 ≥ 0
2.9.4 Metode Big M dan Komputasinya
Tahap Awal (Inisialisasi)
Masukkan koefisien dari bentuk program linear ke dalam tabel Simpleks. Pada baris 0, koefisienpada variabel artificial harus 0.
Tahap Optimisasi
1. Menentukan Kolom Pivot. Kolom pivot dapat ditentukan dengan cara memilih koefisienvariabel nonbasis pada persamaan 0 yang memiliki nilai negatif paling besar.
max(| − c1|, | − c2|, . . . , | − cn|) (2.23)
2. Menentukan Baris Pivot. Baris pivot dapat ditentukan dengan cara memilih rasio nilaikanan per koefisien kolom pivot terkecil pada nilai kanan variabel basis.
min(b1
kkp1,
b2
kkp2, . . . ,
bmkkpm
) (2.24)
3. Operasi Baris Elementer.
30 BAB 2. PROGRAM LINEAR
Tahap Pemberhentian
Tahap pemberhentian terjadi jika tidak ada koefisien pada persamaan 0 yang negatif.
Komputasi
Sistem kendala tersebut belum selesai karena terdapat koefisien variabel artificial s̄4 dan s̄6 yangtak nol. Karena itu, kita perlu mengeliminasi variabel s̄4 dan s̄6.
−Z + 0, 4x1 + 0, 5x2 + Ms̄4 + Ms̄6 = 0 | × 1|0, 5x1 + 0, 5x2 + s̄4 = 6 | × (−M)|
0, 6x1 + 0, 4x2 − s5 + s̄6 = 6 | × (−M)|
−Z + 0, 4x1 + 0, 5x2 + Ms̄4 + Ms̄6 = 0
−0, 5Mx1 − 0, 5Mx2 −Ms̄4 = −6M
−0, 6Mx1 − 0, 4Mx2 + Ms5 −Ms̄6 = −6M
−Z + (−1, 1M + 0, 4)x1 + (−0, 9M + 0, 5)x2 + Ms5 = −12M
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
Menentukan Kolom Pivot dan Baris Pivot
No. Z x1 x2 s3 s4 s5 s6 Nilai Kanan Rasio
B0 -1 −1, 1M + 0, 4 −0, 9M + 0, 5 0 0 M 0 −12MB1 0 0,3 0,1 1 0 0 0 2,7 2,7/0,3=9B2 0 0,5 0,5 0 1 0 0 6 6/0,5=12B3 0 0,6 0,4 0 0 -1 1 6 6/0,6=10
Dari tabel, pada persamaan B0 terlihat bahwa −1, 1M +0, 4 (kolom 1) adalah bilangan yang palingnegatif sehingga kolom 1 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 2, 7/0, 3 = 9 (baris1) adalah bilangan paling kecil sehingga baris 1 adalah baris pivot. Sehingga elemen yang terletakpada baris pivot dan kolom pivot adalah 0,3.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 0,3 supaya koefisien x1 bernilai 1. Supaya koefisien x1 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 0 dengan −1, 1M + 0, 4 kalibaris 1, kurangkan baris 2 dengan 0,5 kali baris 1, kurangkan baris 3 dengan 0,6 kali baris 1.
Lebih jelasnya adalah mengubah kolom pivot
−1, 1M + 0, 4
0, 30, 53, 6
menjadi
0100
dengan cara se-
bagai berikut :
−1, 1M + 0, 4
0, 30, 50, 6
−−−→10,3B1
−1, 1M + 0, 4
10, 50, 6
−−−−−−−−−−−−−−−−−−−→B0 − (−1, 1M + 0, 4)B1
B2 − 0, 5B1
B3 − 0, 6B1
0100
2.9. METODE BIG M PADA KENDALA BERBENTUK PERTIDAKSAMAAN ≥ 31
Operasi baris elementer (OBE) :1
0, 3B1
0 0, 3 0, 1 1 0 0 0 = 2, 7 | × 10,3 | 0 1 1
3103 0 0 0 = 9
Operasi baris elementer (OBE) : B0 − (−1, 1M + 0, 4)B1
−1 −1, 1M + 0, 4 −0, 9M + 0, 5 0 0 M 0 = −12M | × 1|0 1 1
3103 0 0 0 = 9 | × −(−1, 1M + 0, 4)|
−1 −1, 1M + 0, 4 −0, 9M + 0, 5 0 0 M 0 = −12M
0 −1, 1M + 0, 4 −1,1M+0,43
−11M+43 0 0 0 = 9(−1, 1M + 0, 4)
−1 0 −1630 M + 11
30113 M − 4
3 0 M 0 = −2, 1M − 3, 6
Operasi baris elementer (OBE) : B2 − 0, 5B1
0 0, 5 0, 5 0 1 0 0 = 6 | × 1| 0 0, 5 0, 5 0 1 0 0 = 6
0 1 13
103 0 0 0 = 9 | × −0, 5| 0 −0, 5 −0,5
3 −53 0 0 0 = −4, 5
0 0 13 −5
3 1 0 0 = 1, 5
Operasi baris elementer (OBE) : B3 − 0, 6B1
0 0, 6 0, 4 0 0 −1 1 = 6 | × 1| 0 0, 6 0, 4 0 0 −1 1 = 6
0 1 13
103 0 0 0 = 9 | × −0, 6| 0 −0, 6 −0,6
3 −2 0 0 0 = −5, 4
0 0 0, 2 −2 0 −1 1 = 0, 6
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 s6 Nilai Kanan
B0 -1 0 −1630M + 11
30113 M − 4
3 0 M 0 −2, 1M − 3, 6B1 0 1 1
3103 0 0 0 9
B2 0 0 13 −5
3 1 0 0 1,5B3 0 0 0,2 -2 0 -1 1 0,6
Iterasi 2
Menetukan Kolom Pivot dan Baris Pivot
No. Z x1 x2 s3 s4 s5 s6 Nilai Kanan Rasio
B0 -1 0 −1630 M + 11
30113 M − 4
3 0 M 0 −2, 1M − 3, 6B1 0 1 1
3103 0 0 0 9 9/(1/3)=27
B2 0 0 13
−53 1 0 0 1,5 1,5/(1/3)=4,5
B3 0 0 0,2 -2 0 -1 1 0,6 0,6/0,2=3
32 BAB 2. PROGRAM LINEAR
Dari tabel, pada persamaan B0 terlihat bahwa −1630M + 11
30 (kolom 2) adalah bilangan yang palingnegatif sehingga kolom 2 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 0, 6/0, 2 = 3 (baris3) adalah bilangan paling kecil sehingga baris 3 adalah baris pivot. Sehingga elemen yang terletakpada baris pivot dan kolom pivot adalah 0,2.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 10,2 supaya koefisien x2 bernilai 1. Supaya koefisien x2 yang lain bernilai 0,
maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 0 dengan (−1630M + 11
30) kalibaris 3, kurangkan baris 1 dengan 1
3 kali baris 3, kurangkan baris 2 dengan 13 kali baris 3.
Lebih jelasnya adalah mengubah kolom pivot
−16
30M + 1130
1313
0, 2
menjadi
0001
dengan cara seba-
gai berikut :
−16
30M + 1130
1313
0, 2
−−−→10,2B3
−16
30M + 1130
13131
−−−−−−−−−−−−−−−−−→B0 − (−16
30M + 1130)B3
B1 − 13B3
B2 − 13B3
0001
Operasi baris elementer (OBE) :
1
0, 2B3
0 0 0, 2 −2 0 −1 1 = 6 | × 10,2 | 0 0 1 −10 0 −5 5 = 3
Operasi baris elementer (OBE) : B0 − (−1630M + 11
30)B3
−1 0 −1630M + 11
30113 M − 4
3 0 M 0 = −2, 1M − 3, 6 | × 1|0 0 1 −10 0 −5 5 = 3 | × −(−16
30M + 1130)|
−1 0 −1630M + 11
30113 M − 4
3 0 M 0 = −2, 1M − 3, 6
0 0 1630M −
1130
−163 M + 11
3 0 −166 M + 11
6166 M − 11
6 = 1610M −
1110
−1 0 0 −53M + 7
3 0 −53M + 11
683M −
116 = −0, 5M − 4, 7
Operasi baris elementer (OBE) : B1 − 13B3
0 1 13
103 0 0 0 = 9 | × 1| 0 1 1
3103 0 0 0 = 9
0 0 1 −10 0 −5 5 = 3 | × −13 | 0 0 −1
3103 0 5
3 −53 = −1
0 1 0 203 0 5
3 −53 = 8
Operasi baris elementer (OBE) : B2 − 13B3
0 0 13 −5
3 1 0 0 = 1, 5 | × 1| 0 0 13 −5
3 1 0 0 = 1, 5
0 0 1 −10 0 −5 5 = 3 | × −13 | 0 0 −1
3103 0 5
3 −53 = −1
0 0 0 53 1 5
3 −53 = 0, 5
2.9. METODE BIG M PADA KENDALA BERBENTUK PERTIDAKSAMAAN ≥ 33
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 s6 Nilai Kanan
B0 -1 0 0 −53M + 7
3 0 −53M + 11
683M −
116 -0,5M-4,7
B1 0 1 0 203 0 5
3 −53 8
B2 0 0 0 53 1 5
3 −53 0,5
B3 0 0 1 -10 0 -5 5 3
Selesai iterasi 2, terlihat bahwa solusinya x1 = 8 dan x2 = 3 dengan nilai Z = 0, 4(8)+0, 5(3) = 4, 7.Solusi ini belum optimal karena terdapat koefisien pada persamaan 0 yang bernilai negatif.
Iterasi 3
Menetukan Kolom Pivot dan Baris Pivot
No. Z x1 x2 s3 s4 s5 s6 Nilai Kanan Rasio
B0 -1 0 0 −53M + 7
3 0 −53M + 11
683M −
116 -0,5M-4,7
B1 0 1 0 203 0 5
3 −53 8 8/(5/3) = 4, 8
B2 0 0 0 53 1 5
3 −53 0,5 0,5/(5/3)=0,3
B3 0 0 1 -10 0 -5 5 3
Dari tabel, pada persamaan B0 terlihat bahwa −53M + 11
6 (kolom 5) adalah bilangan yang palingnegatif sehingga kolom 5 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 0, 5/(5/3) = 0, 3(baris 2) adalah bilangan paling kecil sehingga baris 2 adalah baris pivot. Sehingga elemen yangterletak pada baris pivot dan kolom pivot adalah 5
3 .
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 53 supaya koefisien x5 bernilai 1. Supaya koefisien x5 yang lain bernilai 0,
maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 0 dengan (−53M + 11
6 ) kalibaris 2, kurangkan baris 1 dengan 5
3 kali baris 2, jumlahkan baris 3 dengan lima kali baris 2.
Lebih jelasnya adalah mengubah kolom pivot
−5
3M + 116
5353−5
menjadi
0010
dengan cara sebagai
berikut :
−5
3M + 116
5353−5
−−−→15/3B2
−5
3M + 116
531−5
−−−−−−−−−−−−−−−−−→B0 − (−5
3M + 116 )B2
B1 − 53B2
B3 + 5B2
0010
Operasi baris elementer (OBE) :
1
5/3B2
0 0 0 53 1 5
3 −53 = 0, 5 | × 1
5/3 | 0 0 0 1 35 1 −1 = 0, 3
Operasi baris elementer (OBE) : B0 − (−53M + 11
6 )B2
34 BAB 2. PROGRAM LINEAR
−1 0 0 −53M + 7
3 0 −53M + 11
683M −
116 = −0, 5M − 4, 7 | × 1|
0 0 0 1 35 1 −1 = 0, 3 | × −(−5
3M + 116 )|
−1 0 0 −53M + 7
3 0 −53M + 11
683M −
116 = −0, 5M − 4, 7
0 0 0 53M −
116 M − 33
3053M −
116 −5
3M + 116 = 0, 5M − 33
60
−1 0 0 12 M − 1, 1 0 M = −5, 25
Operasi baris elementer (OBE) : B1 − 53B2
0 1 0 203 0 5
3 −53 = 8 | × 1| 0 1 0 20
3 0 53 −5
3 = 8
0 0 0 1 35 1 −1 = 0, 3 | × −5
3 | 0 0 0 −53 −1 −5
353 = −0, 5
0 1 0 5 −1 0 0 = 7, 5
Operasi baris elementer (OBE) : B3 + 5B2
0 0 1 −10 0 −5 5 = 3 | × 1| 0 0 1 −10 0 −5 5 = 3
0 0 0 1 35 1 −1 = 0, 3 | × 5| 0 0 0 5 3 5 −5 = 1, 5
0 0 1 −5 3 0 0 = 4, 5
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 s6 Nilai Kanan
B0 -1 0 0 0,5 M-1,1 0 M -5,25B1 0 1 0 5 -1 0 0 7,5B2 0 0 0 1 0,6 1 -1 0,3B3 0 0 1 -5 3 0 0 4,5
Selesai iterasi 3, terlihat bahwa solusinya x1 = 7, 5 dan x2 = 4, 5 dengan nilai Z = 0, 4(7, 5) +0, 5(4, 5) = 5, 25. Solusi ini optimal karena tidak terdapat koefisien pada persamaan 0 yang bernilainegatif.
Bab 3
Teori Dual
Dalam suatu masalah optimisasi, selalu terdapat hubungan mana yang akan dimaksimumkan danmana yang akan diminimumkan. Hubungan maksimum dan minimum dapat diselidiki melalui teoridual yang akan dibahas pada buku ini.
3.1 Hubungan Masalah Primal dan Masalah Dual
Konsep duality adalah mengenai hubungan antara bentuk program linear (misal masalah maksi-malisasi) dengan mengubah menjadi program linear yang lainnya (misal masalah minimalisasi).
Hubungan masalah primal dan masalah dual adalah sebagai berikut :
Masalah Primal
max Z =∑n
j=1 cjxj (3.1)
dengan kendala ∑nj=1 aijxj ≤ bi i = 1, 2, . . . ,m (3.2)
xj ≥ 0 j = 1, 2, . . . , n (3.3)
Masalah Dual
minW =∑m
i=1 biyi (3.4)
dengan kendala ∑mi=1 ajiyi ≥ cj j = 1, 2, . . . , n (3.5)
yi ≥ 0 i = 1, 2, . . . ,m (3.6)
Contoh :
Diketahui program linear sebagai berikut :
max Z = 3x1 + 5x2
35
36 BAB 3. TEORI DUAL
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Ubahlah menjadi masalah minimalisasi menggunakan teori dual.
Jawab :
min W = 4y1 + 12y2 + 18y3
dengan kendalay1 + 3y3 ≥ 3
2y2 + 2y3 ≥ 5
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0
Contoh : Diketahui program linear sebagai berikut :
min Z = 3x1 + 5x2
dengan kendalax1 ≥ 2
3x2 ≥ 9
3x1 + 2x2 ≥ 18
x1 ≥ 0, x2 ≥ 0
Ubahlah menjadi masalah maksimalisasi menggunakan teori dual.
Jawab :
max W = 2y1 + 9y2 + 18y3
dengan kendalay1 + 3y3 ≤ 3
3y2 + 2y3 ≤ 5
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0
3.2 Mengubah Masalah Maksimalisasi Menjadi Masalah Minimal-isasi
Contoh :
Terdapat tiga pabrik yaitu : pabrik A, pabrik B, dan pabrik C. Ketiga pabrik tersebut memproduksikaca pintu dan kaca jendela.
3.2. MENGUBAH MASALAH MAKSIMALISASI MENJADI MASALAH MINIMALISASI 37
Aturan produksi pada masing-masing pabrik adalah :
Pabrik A memproduksi kaca pintu dengan waktu produksi 1 jam. Secara umum, waktu produksipada Pabrik A adalah maksimum 4 jam.
Pabrik B memproduksi kaca jendela dengan waktu produksi 2 jam. Secara umum, waktu produksipada Pabrik B adalah maksimum 12 jam.
Pabrik C memproduksi kaca pintu dengan waktu produksi 3 jam dan kaca jendela dengan waktuproduksi 2 jam. Secara umum, waktu produksi pada Pabrik C adalah maksimum 18 jam.
Jika keuntungan kaca pintu adalah 3 dan keuntungan kaca jendela adalah 5. Tentukan jumlah kacapintu dan jumlah kaca jendela yang diproduksi supaya pabrik tersebut mendapatkan keuntunganmaksimum.
Dari permasalahan di atas, dapat dibuat tabel sebagai berikut :
Waktu Produksi Maksimum Waktu Produksi(jam) (jam)
Kaca Pintu Kaca JendelaPabrik A 1 0 4Pabrik B 0 2 12Pabrik C 3 2 18
Keuntungan 3 5
Pendefinisian variabel keputusan adalah sebagai berikut :
Misalkan :
x1 adalah jumlah kaca pintu.
x2 adalah jumlah kaca jendela.
Sehingga pembentukan fungsi obyektifnya adalah :
max Z = 3x1 + 5x2
dengan kendalax1 ≤ 4
2x2 ≤ 12
3x1 + 2x2 ≤ 18
x1 ≥ 0, x2 ≥ 0
Berdasarkan perhitungan menggunakan metode grafis atau metode Simpleks, diperoleh solusi opti-malnya adalah x1 = 2, x2 = 6 dengan nilai Z = 36.
Jika diubah menggunakan teori dual, maka permasalah menjadi :
Terdapat tiga pabrik yaitu : pabrik A, pabrik B, dan pabrik C. Ketiga pabrik tersebut memproduksikaca pintu dan kaca jendela.
Aturan produksi pada masing-masing pabrik adalah :
Waktu produksi kaca pintu di pabrik A adalah 1 jam dan di pabrik C adalah 3 jam. Keuntunganminimum dari kaca pintu adalah 3.
38 BAB 3. TEORI DUAL
Waktu produksi kaca jendela di pabrik B adalah 2 jam dan di pabrik C adalah 2 jam. Keuntunganminimum dari kaca jendela adalah 5.
Jika waktu di pabrik A adalah 4, waktu di pabrik B adalah 12, dan waktu di pabrik C adalah 18.Tentukan keuntungan dari pabrik A, pabrik B dan pabrik C supaya waktu produksi minimum.
Dari permasalahan di atas, dapat dibuat tabel sebagai berikut :
Waktu Produksi Minimum Keuntungan(jam)
Pabrik A Pabrik B Pabrik CKaca pintu 1 0 3 3
Kaca jendela 0 2 2 5
Waktu 4 12 18
Pendefinisian variabel keputusan adalah sebagai berikut :
Misalkan :
y1 adalah keuntungan pabrik A per jam.
y2 adalah keuntungan pabrik B per jam.
y3 adalah keuntungan pabrik C per jam.
Sehingga pembentukan fungsi obyektifnya adalah :
min W = 4y1 + 12y2 + 18y3
dengan kendalay1 + 3y3 ≥ 3
2y2 + 2y3 ≥ 5
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0
3.2.1 Perhitungan
Misalkan kita ubah program linear sebelumnya menjadi :
min W = 4y1 + 12y2 + 18y3
dengan kendalay1 + 3y3 ≥ 3
2y2 + 2y3 ≥ 5
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0
Kita tambahkan variabel surplus pada kendala yang berbentuk ≥ sehingga program linear menjadi:
max −W = −4y1 − 12y2 − 18y3 −Ms̄5 −Ms̄7
dengan kendalay1 + 3y3 − s4 + s̄5 = 3
2y2 + 2y3 − s6 + s̄7 = 5
3.2. MENGUBAH MASALAH MAKSIMALISASI MENJADI MASALAH MINIMALISASI 39
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0, , s4 ≥ 0, s̄5 ≥ 0, s6 ≥ 0, s̄7 ≥ 0
Sehingga secara keseluruhan bentuk program linear di atas dapat dimodifikasi sebagai berikut :
max −W
dengan kendala−W + 4y1 + 12y2 + 18y3 + Ms̄5 + Ms̄7 = 0 (0)
y1 + 3y3 − s4 + s̄5 = 3 (1)
2y2 + 2y3 − s6 + s̄7 = 5 (2)
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0, s4 ≥ 0, s̄5 ≥ 0, s6 ≥ 0, s̄7 ≥ 0
Sistem kendala tersebut belum selesai karena terdapat koefisien variabel artificial s̄5 dan s̄7 yangtak nol. Karena itu, kita perlu mengeliminasi variabel s̄5 dan s̄7.
−Z + 4y1 + 12y2 + 18y3 + Ms̄5 + Ms̄7 = 0 | × 1|y1 + 3y3 − s4 + s̄5 = 3 | × (−M)|
2y2 + 2y3 − s6 + s̄7 = 5 | × (−M)|
−Z + 4y1 + 12y2 + 18y3 + Ms̄5 + Ms̄7 = 0
−My1 − 3My3 + Ms4 −Ms̄5 = −3M
−2My2 − 2My3 + Ms6 −Ms̄7 = −5M
−Z + (4−M)y1 + (12− 2M)y2 + (18− 5M)y3 + Ms4 + Ms6 = −8M
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
Menentukan Kolom Pivot dan Baris Pivot
No. W y1 y2 y3 s4 s5 s6 s7 Nilai Kanan Rasio
B0 -1 4−M 12− 2M 18− 5M M 0 M 0 −8MB1 0 1 0 3 -1 1 0 0 3 3/3=1B2 0 0 2 2 0 0 -1 1 5 5/2=2,5
Dari tabel, pada persamaan B0 terlihat bahwa 18 − 5M (kolom 3) adalah bilangan yang palingnegatif sehingga kolom 3 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 3/3 = 1 (baris 1)adalah bilangan paling kecil sehingga baris 1 adalah baris pivot. Sehingga elemen yang terletakpada baris pivot dan kolom pivot adalah 3.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 3 supaya koefisien y3 bernilai 1. Supaya koefisien y3 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 0 dengan 18− 5M kali baris1, kurangkan baris 2 dengan 2 kali baris 1.
Lebih jelasnya adalah mengubah kolom pivot
18− 5M32
menjadi
010
dengan cara sebagai
40 BAB 3. TEORI DUAL
berikut :
18− 5M32
−−→13B1
18− 5M12
−−−−−−−−−−−−−−−→B0 − (18− 5M)B1
B2 − 2B1
010
Operasi baris elementer (OBE) :
1
3B1
0 1 0 3 −1 1 0 0 = 3 | × 13 | 0 1
3 0 1 −13
13 0 0 = 1
Operasi baris elementer (OBE) : B0 − (18− 5M)B1
−1 4−M 12− 2M 18− 5M M 0 M 0 = −8M | × 1|0 1
3 0 1 −13
13 0 0 = 1 | × −(18− 5M)|
−1 4−M 12− 2M 18− 5M M 0 M 0 = −8M
0 −13(18− 5M) 0 −(18− 5M) 1
3(18− 5M) −13(18− 5M) 0 0 = −(18− 5M)
−1 23M − 2 12− 2M 0 −2
3M + 6 −6 + 53M M 0 = −3M − 18
Operasi baris elementer (OBE) : B2 − 2B1
0 0 2 2 0 0 −1 1 = 5 | × 1| 0 0 2 2 0 0 −1 1 = 5
0 13 0 1 −1
313 0 0 = 1 | × −2| 0 −2
3 0 −2 23 −2
3 0 0 = −2
0 −23 2 0 2
3 −23 −1 1 = 3
Sehingga diperoleh tabel yang baru adalah :
No. W y1 y2 y3 s4 s5 s6 s7 Nilai Kanan
B0 -1 −2 + 23M 12− 2M 0 −2
3M + 6 −6 + 53M M 0 −3M − 18
B1 0 13 0 1 −1
313 0 0 1
B2 0 −23 2 0 2
3 −23 -1 1 3
Iterasi 2
Menetukan Kolom Pivot dan Baris Pivot
No. W y1 y2 y3 s4 s5 s6 s7 Nilai Kanan Rasio
B0 -1 −2 + 23M 12− 2M 0 −2
3M + 6 −6 + 53M M 0 −3M − 18
B1 0 13 0 1 −1
313 0 0 1 1/0
B2 0 −23 2 0 2
3 −23 -1 1 3 3/2=1,5
Dari tabel, pada persamaan B0 terlihat bahwa 12 − 2M (kolom 2) adalah bilangan yang palingnegatif sehingga kolom 2 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 3/2 = 1, 5 (baris2) adalah bilangan paling kecil sehingga baris 2 adalah baris pivot. Sehingga elemen yang terletakpada baris pivot dan kolom pivot adalah 2.
3.2. MENGUBAH MASALAH MAKSIMALISASI MENJADI MASALAH MINIMALISASI 41
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 2 supaya koefisien y2 bernilai 1. Supaya koefisien y2 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 0 dengan (12 − 2M) kalibaris 2.
Lebih jelasnya adalah mengubah kolom pivot
12− 2M02
menjadi
001
dengan cara sebagai
berikut :
12− 2M02
−−→12B2
12− 2M01
−−−−−−−−−−−−−−−→B0 − (12− 2M)B2
001
Operasi baris elementer (OBE) :
1
2B2
0 −23 2 0 2
3 −23 −1 1 = 3 | × 1
2 | 0 −13 1 0 1
3 −13 −1
212 = 3
2
Operasi baris elementer (OBE) : B0 − (12− 2M)B2
−1 −2 + 23M 12− 2M 0 −2
3M + 6 −6 + 53M M 0 = −3M − 18 | × 1|
0 −13 1 0 1
3 −13 −1
212 = 3
2 | × −(12− 2M)|
−1 −2 + 23M 12− 2M 0 −2
3M + 6 −6 + 53M M 0 = −3M − 18
0 13(12− 2M) −(12− 2M) 0 −1
3(12− 2M) 13(12− 2M) 1
2(12− 2M) −12(12− 2M) = −3
2(12− 2M)
−1 2 0 0 2 −2 + M 6 −6 + M = −36
Sehingga diperoleh tabel yang baru adalah :
No. W y1 y2 y3 s4 s5 s6 s7 Nilai Kanan
B0 -1 2 0 0 2 −2 + M 6 −6 + M 36B1 0 1
3 0 1 −13
13 0 0 1
B2 0 13 1 0 1
3 −13 −1
212
32
Selesai iterasi 2, terlihat bahwa solusinya adalah :
1
3y1 + y3 = 1
1
3y1 + y2 =
3
2
atau bisa ditulis sebagai :y1 = y1
y2 =3
2− 1
3y1
y3 = 1− 1
3y1
42 BAB 3. TEORI DUAL
Masukkan nilai y1 = 0 sehingga diperoleh y2 =3
2, y3 = 1. Sehingga solusi optimalnya adalah
(y1, y2, y3) = (0,3
2, 1) dengan nilai W = 4(0) + 12(
3
2) + 18(1) = 36.
3.3 Mengubah Masalah Minimalisasi Menjadi Masalah Maksimal-isasi
Contoh :
Seorang pembuat kue akan membuat kue : kue kering, brownis, dan donat. Ketiga kue tersebutmengandung keju dan coklat.
Kandungan bahan pada ketiga kue tersebut adalah :
Kue kering mengandung keju 1 gram. Menurut selera pasar, kandungan bahan pada kue keringadalah minimum 2 gram .
Brownis mengandung coklat 3 gram. Menurut selera pasar, kandungan bahan pada brownis adalahminimum 9 gram.
Donat mengandung 3 gram keju dan 2 gram coklat. Menurut selera pasar, kandungan bahan padadonat adalah minimum 18 gram.
Jika harga keju adalah 3 dan harga coklat adalah 5. Tentukan jumlah keju dan jumlah coklat yangharus dibeli supaya pembuat kue tersebut melakukan pembelanjaan minimum.
Dari permasalahan di atas, dapat dibuat tabel sebagai berikut :
Kandungan Bahan Minimum Kandungan Bahan(gram) (gram)
Keju CoklatKue kering 1 0 2
Brownis 0 3 9Donat 3 2 18
Harga 3 5
Pendefinisian variabel keputusan adalah sebagai berikut :
Misalkan :
x1 adalah jumlah keju.
x2 adalah jumlah coklat.
Sehingga pembentukan fungsi obyektifnya adalah :
min Z = 3x1 + 5x2
dengan kendalax1 ≥ 2
3x2 ≥ 9
3x1 + 2x2 ≥ 18
x1 ≥ 0, x2 ≥ 0
3.3. MENGUBAH MASALAH MINIMALISASI MENJADI MASALAH MAKSIMALISASI 43
Berdasarkan perhitungan menggunakan metode grafis atau metode Simpleks, diperoleh solusi opti-malnya adalah x1 = 4, x2 = 3 dengan nilai Z = 27.
Jika diubah menggunakan teori dual, maka permasalah menjadi :
Seorang pembuat kue akan membuat kue : kue kering, brownis, dan donat. Ketiga kue tersebutmengandung keju dan coklat.
Kandungan bahan pada ketiga kue tersebut adalah :
Keju yang terkandung pada kue kering adalah 1 gram dan donat adalah 3 gram. Biaya pembelianpada bahan keju adalah maksimum 3.
Coklat yang terkandung pada brownis adalah 3 gram dan donat adalah 2 gram. Biaya pembelianpada bahan coklat adalah maksimum 5.
Jika berat kue kering adalah 2 gram, berat brownis adalah 9 gram, dan berat donat adalah 18 gram.Tentukan biaya pembelian kue kering, brownis, dan keju yang harus diberikan supaya memenuhiselera pasar yang maksimum.
Dari permasalah di atas, dapat dibuat tabel sebagai berikut :
Kandungan Bahan Maksimum Biaya Pembelian(gram)
Kue kering Brownis DonatKeju 1 0 3 3
Coklat 0 3 2 5
Berat 2 9 18
Pendefinisian variabel keputusan adalah sebagai berikut :
Misalkan :
y1 adalah biaya pembelian kue kering per gram.
y2 adalah biaya pembelian brownis per gram.
y3 adalah biaya pembelian donat per gram.
Sehingga pembentukan fungsi obyektifnya adalah :
max W = 2y1 + 9y2 + 18y3
dengan kendala
y1 + 3y3 ≤ 3
3y2 + 2y3 ≤ 5
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0
3.3.1 Perhitungan
Kita lihat pertidaksamaan pada kendala berikut :
max W = 2y1 + 9y2 + 18y3
44 BAB 3. TEORI DUAL
dengan kendalay1 + 3y3 ≤ 3
3y2 + 2y3 ≤ 5
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0
Kita tambah variabel slack s4, s5 sehingga kendala menjadi :
max W = 2y1 + 9y2 + 18y3
dengan kendalay1 + 3y3 + s4 = 3
3y2 + 2y3 + s5 = 5
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0, s4 ≥ 0, s5 ≥ 0
Sehingga secara keseluruhan bentuk program linear di atas dapat dimodifikasi sebagai berikut :
max W
dengan kendalaW − 2y1 − 9y2 − 18y3 = 0 (0)
y1 + 3y3 + s4 = 3 (1)
3y2 + 2y3 + s5 = 5 (2)
y1 ≥ 0, y2 ≥ 0, y3 ≥ 0, s4 ≥ 0, s5 ≥ 0
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
Menentukan Kolom Pivot dan Baris Pivot
No. W y1 y2 y3 s4 s5 Nilai Kanan Rasio
B0 1 -2 -9 -18 0 0 0B1 0 1 0 3 1 0 3 3/3=1B2 0 0 3 2 0 1 5 5/2=2,5
Dari tabel, pada persamaan B0 terlihat bahwa -18 (kolom 3) adalah bilangan yang paling negatifsehingga kolom 3 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 3/3 = 1 (baris 1) adalahbilangan paling kecil sehingga baris 1 adalah baris pivot. Sehingga elemen yang terletak pada barispivot dan kolom pivot adalah 3.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 3 supaya koefisien y3 bernilai 1. Supaya koefisien y3 yang lain bernilai 0,maka dapat dilakukan operasi baris elementer yaitu : jumlahkan baris 0 dengan delapan belas kalibaris 1, kurangkan baris 2 dengan dua kali baris 1.
Lebih jelasnya adalah mengubah kolom pivot
−1832
menjadi
010
dengan cara sebagai
3.3. MENGUBAH MASALAH MINIMALISASI MENJADI MASALAH MAKSIMALISASI 45
berikut :
−1832
−−→13B1
−1812
−−−−−−−−−→B0 + 18B1
B2 − 2B1
010
Operasi baris elementer (OBE) :
1
3B1
0 1 0 3 1 0 = 3 | × 13 | 0 1
3 0 1 13 0 = 1
Operasi baris elementer (OBE) : B0 + 18B1
1 −2 −9 −18 0 0 = 0 | × 1| 1 −2 −9 −18 0 0 = 0
0 13 0 1 1
3 0 = 1 | × 18| 0 6 0 18 6 0 = 18
1 4 −9 0 6 0 = 18
Operasi baris elementer (OBE) : B2 − 2B1
0 0 3 2 0 1 = 5 | × 1| 0 0 3 2 0 1 = 5
0 13 0 1 1
3 0 = 1 | × −2| 0 −23 0 −2 −2
3 0 = −2
0 −23 3 0 −2
3 1 = 3
Sehingga diperoleh tabel yang baru adalah :
No. W y1 y2 y3 s4 s5 Nilai Kanan
B0 1 4 -9 0 6 0 18B1 0 1
3 0 1 13 0 1
B2 0 −23 3 0 −2
3 1 3
Iterasi 2
Menetukan Kolom Pivot dan Baris Pivot
No. W y1 y2 y3 s4 s5 Nilai Kanan Rasio
B0 1 4 -9 0 6 0 18B1 0 1
3 0 1 13 0 1 1/0
B2 0 −23 3 0 −2
3 1 3 3/3=1
Dari tabel, pada persamaan B0 terlihat bahwa -9 (kolom 2) adalah bilangan yang paling negatifsehingga kolom 2 adalah kolom pivot. Pada kolom rasio, terlihat bahwa 3/3 = 1 (baris 2) adalahbilangan paling kecil sehingga baris 2 adalah baris pivot. Sehingga elemen yang terletak pada barispivot dan kolom pivot adalah 3.
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan 3 supaya koefisien y2 bernilai 1. Supaya koefisien y2 yang lain bernilai 0,
46 BAB 3. TEORI DUAL
maka dapat dilakukan operasi baris elementer yaitu : jumlahkan baris 0 dengan sembilan kali baris2.
Lebih jelasnya adalah mengubah kolom pivot
−903
menjadi
001
dengan cara sebagai berikut
:
−903
−−→13B2
−901
−−−−−−−−→B0 + 9B2
001
Operasi baris elementer (OBE) :
1
3B2
0 −23 3 0 −2
3 1 = 3 | × 13 | 0 −2
9 1 0 −29
13 = 1
Operasi baris elementer (OBE) : B0 + 9B2
1 4 −9 0 6 0 = 18 | × 1| 1 4 −9 0 6 0 = 18
0 −29 1 0 −2
913 = 1 | × 9| 0 −2 9 0 −2 3 = 9
1 2 0 0 4 3 = 27
Sehingga diperoleh tabel yang baru adalah :
No. W y1 y2 y3 s4 s5 Nilai Kanan
B0 1 2 0 0 4 3 27B1 0 1
3 0 1 13 0 1
B2 0 −29 1 0 2
913 1
Selesai iterasi 2, terlihat bahwa solusinya adalah :
1
3y1 + y3 = 1
−2
9y1 + y2 = 1
atau bisa ditulis sebagai :y1 = y1
y2 = 1 +2
9y1
y3 = 1− 1
3y1
Masukkan nilai y1 = 0 sehingga diperoleh y2 = 1, y3 = 1. Sehingga solusi optimalnya adalah(y1, y2, y3) = (0, 1, 1) dengan nilai W = 2(0) + 9(1) + 18(1) = 27.
Bab 4
Metode Heuristik
Terkadang pencarian solusi optimal menggunakan metode Simpleks membutuhkan perhitunganyang rumit dan iterasi yang panjang tergantung dari jumlah variabel keputusan. Metode heuris-tik dapat digunakan untuk pendekatan pencarian solusi optimal. Metode heuristik belum tentumenjamin solusi optimal, namun pada umumnya dapat diterima sebagai solusi optimal. Contohmetode heuristik yang akan dibahas adalah masalah penugasan, Travel Salesman Problem (TSP),Knapsack Problem, masalah transportasi, dan Vehicle Routing Problem (VRP).
4.1 Masalah Penugasan
Masalah penugasan adalah menugaskan beberapa pekerja untuk melakukan beberapa tugas yangmeminimukan biaya pekerja. Istilah pekerja tidak harus orang, namun bisa juga mesin, kendaraan,pabrik, atau interval waktu.
Yang perlu diperhatikan dalam masalah penugasan adalah :
1. Jumlah pekerja harus sama dengan jumlah tugas.
2. Masing-masing pekerja ditugaskan tepat satu tugas.
3. Masing-masing tugas dikerjakan tepat satu pekerja.
Pertama-tama untuk mempermudah perhitungan, akan dibuat tabel sebagai berikut :
Tugas 1 Tugas 2 . . . Tugas n Jumlah pekerja
Pekerja 1 c11 c12 . . . c1n 1Pekerja 2 c21 c22 . . . c2n 1
......
......
......
Pekerja n cn1 cn2 . . . cnn 1
Jumlah tugas 1 1 . . . 1
Bentuk umum program linear untuk masalah penugasan adalah :
min Z =∑n
i=1
∑nj=1 cijxij (4.1)
47
48 BAB 4. METODE HEURISTIK
dengan kendala ∑nj=1 xij = 1 i = 1, 2, . . . , n∑ni=1 xij = 1 j = 1, 2, . . . , n
(4.2)
xij =
{1, jika pekerja i melakukan tugas j;0, jika pekerja i tidak melakukan tugas j.
(4.3)
Keterangan dari bentuk di atas adalah :
1. Z adalah fungsi obyektif berupa biaya pekerja.
2. xij(i = 1, 2, . . . , n; j = 1, 2, . . . , n) adalah variabel keputusan apakah pekerja i melakukantugas j.
3. cij(i = 1, 2, . . . , n; j = 1, 2, . . . , n) adalah biaya yang berhubungan dengan pekerja i melakukantugas j.
4.1.1 Metode Eliminasi Baris dan Kolom
Langkah-langkah metode eliminasi baris dan kolom adalah sebagai berikut :
1. Pada matriks biaya, tentukan kotak dengan biaya minimum.
2. Eliminasi baris dan kolom yang bersesuian.
3. Ulangi pada langkah menentukan kotak dengan biaya minimum.
Contoh :
Diketahui biaya pekerjaan antara karyawan dan tugasnya adalah sebagai berikut :
Mengetik Mendesain Editor Mencari Data Analisis Jumlah pekerja
Agus 11 34 20 11 23 1Budi 13 15 29 27 14 1Caca 24 17 16 22 19 1Doni 25 31 32 26 28 1
Endah 12 21 33 30 18 1
Jumlah tugas 1 1 1 1 1
Terdapat lima karyawan bernama Agus, Budi, Caca, Doni, dan Endah. Dari kelima karyawan ituakan dilakukan pembagian tugas mengetik, mendesain, editor, mencari data, atau analisis. Adapunbiaya pekerjaan antara karyawan dan tugas diberikan dalam tabel. Buatlah penjadwalan antarakaryawan dan tugas yang akan memberikan biaya pekerjaan minimum.
Jawab :
4.1. MASALAH PENUGASAN 49
Model matematika pada masalah penugasan di atas adalah :
min Z = 11x11 + 34x12 + 20x13 + 11x14 + 23x15
13x21 + 15x22 + 29x23 + 27x24 + 14x25
24x31 + 17x32 + 16x33 + 22x34 + 19x35
25x41 + 31x42 + 32x43 + 26x44 + 28x45
12x51 + 21x52 + 33x53 + 30x54 + 18x55
dengan kendala
Masing-masing karyawan ditugaskan tepat pada satu tugas.
x11 + x12 + x13 + x14 + x15 = 1
x21 + x22 + x23 + x24 + x25 = 1
x31 + x32 + x33 + x34 + x35 = 1
x41 + x42 + x43 + x44 + x45 = 1
x51 + x52 + x53 + x54 + x55 = 1
Masing-masing tugas dikerjakan tepat pada satu karyawan.
x11 + x21 + x31 + x41 + x51 = 1
x12 + x22 + x32 + x42 + x52 = 1
x13 + x23 + x33 + x43 + x53 = 1
x14 + x24 + x34 + x44 + x54 = 1
x15 + x25 + x35 + x45 + x55 = 1
xij =
{1, jika karyawan i melakukan tugas j;0, jika karyawan i tidak melakukan tugas j.
Metode eliminasi baris dan kolom dapat dilakukan sebagai berikut :
Itarasi 1
Nilai minimum berada pada c11 = 11, sehingga eliminasi baris 1 dan kolom 1.
Mengetik Mendesain Editor Mencari Data Analisis
Agus 11 34 20 11 23Budi 13 15 29 27 14Caca 24 17 16 22 19Doni 25 31 32 26 28
Endah 12 21 33 30 18
Agus bertugas mengetik.
Biaya : 11
50 BAB 4. METODE HEURISTIK
Iterasi 2
Nilai minimum berada pada c25 = 14, sehingga eliminasi baris 2 dan kolom 5.
Mengetik Mendesain Editor Mencari Data Analisis
Agus - - - - -Budi - 15 29 27 14Caca - 17 16 22 19Doni - 31 32 26 28
Endah - 21 33 30 18
Agus bertugas mengetik. Budi bertugas analisis.
Biaya : 11+14=25
Iterasi 3
Nilai minimum berada pada c33 = 16, sehingga eliminasi baris 3 dan kolom 3.
Mengetik Mendesain Editor Mencari Data Analisis
Agus - - - - -Budi - - - - -Caca - 17 16 22 -Doni - 31 32 26 -
Endah - 21 33 30 -
Agus bertugas mengetik. Budi bertugas analisis. Caca bertugas editor.
Biaya : 11+14+16=41
Iterasi 4
Nilai minimum berada pada c52 = 21, sehingga eliminasi baris 5 dan kolom 2.
Mengetik Mendesain Editor Mencari Data Analisis
Agus - - - - -Budi - - - - -Caca - - - - -Doni - 31 - 26 -
Endah - 21 - 30 -
Agus bertugas mengetik. Budi bertugas analisis. Caca bertugas editor. Endah bertugas mendesain.
Biaya : 11+14+16+21=62
Iterasi 5
Nilai minimum berada pada c44 = 26, sehingga eliminasi baris 4 dan kolom 4.
4.1. MASALAH PENUGASAN 51
Mengetik Mendesain Editor Mencari Data Analisis
Agus - - - - -Budi - - - - -Caca - - - - -Doni - - - 26 -
Endah - - - - -
Agus bertugas mengetik. Budi bertugas analisis. Caca bertugas editor. Endah bertugas mendesain.Doni bertugas mencari data.
Biaya : 11+14+16+21+26=88
Dari matriks didapat pembagian tugas : Agus bertugas mengetik, Budi bertugas analisis, Cacabertugas editor, Endah bertugas mendesain, Doni bertugas mencari data, dengan biaya 11 + 14 +16 + 21 + 26 = 88.
Jadi pendekatan solusi optimalnya adalah :
x11 x12 x13 x14 x15
x21 x22 x23 x24 x25
x31 x32 x33 x34 x35
x41 x42 x43 x44 x45
x51 x52 x53 x54 x55
=
1 0 0 0 00 0 0 0 10 0 1 0 00 1 0 0 00 0 0 1 0
Metode heuristik tidak menjamin solusi optimal, karena jika pembagian tugas : Agus bertugasmencari data, Budi bertugas mendesain, Caca bertugas editor, Doni bertugas analisis, dan Endahbertugas mengetik maka menghasilkan biaya 11 + 15 + 16 + 28 + 12 = 82 dengan solusi optimalnyaadalah :
x11 x12 x13 x14 x15
x21 x22 x23 x24 x25
x31 x32 x33 x34 x35
x41 x42 x43 x44 x45
x51 x52 x53 x54 x55
=
0 0 0 1 00 1 0 0 00 0 1 0 00 0 0 0 11 0 0 0 0
4.1.2 Metode Hungarian
Langkah-langkah metode Hungarian adalah sebagai berikut :
1. Pada matriks biaya, tentukan masing-masing baris dengan biaya minimum. Kemudian ku-rangkan biaya dengan biaya minimum pada masing-masing baris.
2. Untuk setiap kolom, cari baris yang bernilai 0.
3. Eliminasi baris dan kolom yang bersesuian.
4. Ulangi pada langkah menentukan biaya minimum pada setiap baris.
Contoh :
Diketahui biaya pekerjaan antara karyawan dan tugasnya adalah sebagai berikut :
52 BAB 4. METODE HEURISTIK
Mengetik Mendesain Editor Mencari Data Analisis Jumlah pekerja
Agus 11 34 20 11 23 1Budi 13 15 29 27 14 1Caca 24 17 16 22 19 1Doni 25 31 32 26 28 1
Endah 12 21 33 30 18 1
Jumlah tugas 1 1 1 1 1
Terdapat lima karyawan bernama Agus, Budi, Caca, Doni, dan Endah. Dari kelima karyawan ituakan dilakukan pembagian tugas mengetik, mendesain, editor, mencari data, atau analisis. Adapunbiaya pekerjaan antara karyawan dan tugas diberikan dalam tabel. Buatlah penjadwalan antarakaryawan dan tugas yang akan memberikan biaya pekerjaan minimum.
Jawab :
Model matematika pada masalah penugasan di atas adalah :
min Z = 11x11 + 34x12 + 20x13 + 11x14 + 23x15
13x21 + 15x22 + 29x23 + 27x24 + 14x25
24x31 + 17x32 + 16x33 + 22x34 + 19x35
25x41 + 31x42 + 32x43 + 26x44 + 28x45
12x51 + 21x52 + 33x53 + 30x54 + 18x55
dengan kendala
Masing-masing karyawan ditugaskan tepat pada satu tugas.
x11 + x12 + x13 + x14 + x15 = 1
x21 + x22 + x23 + x24 + x25 = 1
x31 + x32 + x33 + x34 + x35 = 1
x41 + x42 + x43 + x44 + x45 = 1
x51 + x52 + x53 + x54 + x55 = 1
Masing-masing tugas dikerjakan tepat pada satu karyawan.
x11 + x21 + x31 + x41 + x51 = 1
x12 + x22 + x32 + x42 + x52 = 1
x13 + x23 + x33 + x43 + x53 = 1
x14 + x24 + x34 + x44 + x54 = 1
x15 + x25 + x35 + x45 + x55 = 1
xij =
{1, jika karyawan i melakukan tugas j;0, jika karyawan i tidak melakukan tugas j.
Metode Hungarian dapat dilakukan sebagai berikut :
4.1. MASALAH PENUGASAN 53
Itarasi 1
Tentukan baris minimum dan kurangkan nilai setiap biaya dengan baris minimum yang bersesuaian.
Mengetik Mendesain Editor Mencari Data Analisis Baris minimum
Agus 11-11=0 34-11=23 20-11=9 11-11=0 23-11=12 11Budi 13-13=0 15-13=2 29-13=16 27-13=14 14-13=1 13Caca 24-16=8 17-16=1 16-16=0 22-16=2 19-16=3 16Doni 25-25=0 31-25=6 32-25=7 26-25=1 28-25=3 25
Endah 12-12=0 21-12=9 33-12=21 30-12=18 18-12=6 12
Untuk setiap kolom, tentukan baris yang menghasilkan nilai 0.
Mengetik : min(11, 13, 25, 12) = 11.
Agus bertugas mengetik.
Editor : min(16) = 16.
Caca bertugas editor.
Biaya : 11+16=27
Iterasi 2
Tentukan baris minimum dan kurangkan nilai setiap biaya dengan baris minimum yang bersesuaian.
Mengetik Mendesain Editor Mencari Data Analisis Baris minimum
Agus - - - - - -Budi - 2-1=1 - 14-1=13 1-1=0 1Caca - - - - - -Doni - 6-1=5 - 1-1=0 3-1=2 1
Endah - 9-6=3 - 18-6=12 6-6=0 6
Untuk setiap kolom, tentukan baris yang menghasilkan nilai 0.
Mencari data : min(1) = 1.
Doni bertugas mencari data.
Analisis : min(6) = 6.
Endah bertugas analisis.
Biaya : 27+26+18=71
Iterasi 3
Tentukan baris minimum dan kurangkan nilai setiap biaya dengan baris minimum yang bersesuaian.
54 BAB 4. METODE HEURISTIK
Mengetik Mendesain Editor Mencari Data Analisis Baris minimum
Agus - - - - - -Budi - 2-1=1 - 14-1=13 1-1=0 1Caca - - - - - -Doni - - - - - -
Endah - - - - - -
Untuk setiap kolom, tentukan baris yang menghasilkan nilai 0.
Mendesain : min(1) = 1.
Budi bertugas mendesain.
Biaya : 71+15=86
Dari matriks didapat pembagian tugas : Agus bertugas mengetik, Caca bertugas editor, Doni bertu-gas mencari data, Endah bertugas analisis, Budi bertugas mendesain, dengan biaya 11 + 16 + 26 +18 + 15 = 86.
Jadi pendekatan solusi optimalnya adalah :
x11 x12 x13 x14 x15
x21 x22 x23 x24 x25
x31 x32 x33 x34 x35
x41 x42 x43 x44 x45
x51 x52 x53 x54 x55
=
1 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 0 1
Metode heuristik tidak menjamin solusi optimal, karena jika pembagian tugas : Agus bertugasmencari data, Budi bertugas mendesain, Caca bertugas editor, Doni bertugas analisis, dan Endahbertugas mengetik maka menghasilkan biaya 11 + 15 + 16 + 28 + 12 = 82 dengan solusi optimalnyaadalah :
x11 x12 x13 x14 x15
x21 x22 x23 x24 x25
x31 x32 x33 x34 x35
x41 x42 x43 x44 x45
x51 x52 x53 x54 x55
=
0 0 0 1 00 1 0 0 00 0 1 0 00 0 0 0 11 0 0 0 0
4.2 Traveling Salesman Problem (TSP)
Masalah Traveling Salesman Problem (TSP) adalah menemukan perjalanan terpendek melalui se-mua kota dengan setiap kota dilintasi tepat satu kali kemudian kembali ke tempat asal. Ilustrasipada masalah TSP dapat dilihat pada Gambar 4.2.
4.2. TRAVELING SALESMAN PROBLEM (TSP) 55
Gambar 4.2. Traveling Salesman Problem
Bentuk umum program linear untuk masalah TSP adalah :
min Z =∑n
i=1
∑nj=1 dijxij (4.4)
dengan kendala ∑nj=1 xij = 1 i = 1, 2, . . . , n∑ni=1 xij = 1 j = 1, 2, . . . , n
(4.5)
xij =
{1, jika kota j dicapai dari kota i;0, jika kota j tidak dicapai dari kota i.
xij ≥ 0(4.6)
Keterangan dari bentuk di atas adalah :
1. Z adalah fungsi obyektif berupa jarak tempuh.
2. xij(i = 1, 2, . . . , n; j = 1, 2, . . . , n) adalah variabel keputusan apakah kota j dicapai dari kotai.
3. dij(i = 1, 2, . . . , n; j = 1, 2, . . . , n) adalah jarak antara kota i dengan kota j.
4.2.1 Metode Nearest Neighbor
Langkah-langkah metode Nearest Neighbor adalah sebagai berikut :
1. Tentukan titik asal dari perjalanan.
2. Tentukan titik yang bertangga dengan titik asal dengan jarak paling minimum.
3. Jadikan titik yang bertangga tersebut sebagai titik asal.
4. Lakukan pada semua titik. Ketika telah mencapai titik terakhir, hubungkan dengan titik asalpada iterasi pertama.
56 BAB 4. METODE HEURISTIK
Contoh :
Diketahui jarak antara 5 kota pada Gambar 4.2 dapat direpresentasikan sebagai berikut :∞ 120 220 150 210120 ∞ 100 110 130220 80 ∞ 160 185150 ∞ 160 ∞ 190210 130 185 ∞ ∞
Tentukan jarak minimum untuk melalui seluruh kota pada masalah TSP jika dimulai dari kota 3.
Jawab :
Iterasi 1
Jarak minimum yang bertetangga dengan kota 3 adalah kota 2 dengan jarak d32 = 80, sehinggaeliminasi kolom 2.
∞ 120 − 150 210120 ∞ − 110 130220 80 − 160 185150 ∞ − ∞ 190210 130 − ∞ ∞
Perjalanan : 3→ 2
Jarak : 80
Iterasi 2
Jarak minimum yang bertetangga dengan kota 2 adalah kota 4 dengan jarak d24 = 110, sehinggaeliminasi kolom 4.
∞ − − 150 210120 − − 110 130220 − − 160 185150 − − ∞ 190210 − − ∞ ∞
Perjalanan : 3→ 2→ 4
Jarak : 80+110=190
Iterasi 3
Jarak minimum yang bertetangga dengan kota 4 adalah kota 1 dengan jarak d41 = 150, sehinggaeliminasi kolom 1.
∞ − − − 210120 − − − 130220 − − − 185150 − − − 190210 − − − ∞
4.3. KNAPSACK PROBLEM 57
Perjalanan : 3→ 2→ 4→ 1
Jarak : 80+110+150=340
Iterasi 4
Jarak minimum yang bertetangga dengan kota 1 adalah kota 5 dengan jarak d15 = 210, sehinggaeliminasi kolom 1.
− − − − 210− − − − 130− − − − 185− − − − 190− − − − ∞
Perjalanan : 3→ 2→ 4→ 1→ 5
Biaya : 80+110+150+210=550
Sehingga perjalanan dengan jarak terpendek adalah 3 → 2 → 4 → 1 → 5 → 3 dengan jarak80 + 110 + 150 + 210 + 185 = 550 + 185 = 735.
Jadi pendekatan solusi optimalnya adalah :
x11 x12 x13 x14 x15
x21 x22 x23 x24 x25
x31 x32 x33 x34 x35
x41 x42 x43 x44 x45
x51 x52 x53 x54 x55
=
0 0 0 0 10 0 0 1 00 1 0 0 01 0 0 0 00 0 1 0 0
Metode heuristik tidak menjamin solusi optimal, karena jika salah satu subrute dibalik, yaitu 3→2 → 1 → 4 → 5 → 3 menghasilkan jarak 80 + 120 + 150 + 190 + 185 = 725 dengan solusi optimaladalah :
x11 x12 x13 x14 x15
x21 x22 x23 x24 x25
x31 x32 x33 x34 x35
x41 x42 x43 x44 x45
x51 x52 x53 x54 x55
=
0 0 0 1 01 0 0 0 00 1 0 0 00 0 0 0 10 0 1 0 0
4.3 Knapsack Problem
Knapsack Problem adalah memasukkan barang ke dalam suatu kantong yang memiliki kapasitasmaksimum yang memaksimumkan keuntungan.
Bentuk umum program linear untuk masalah Knapsack Problem adalah :
max Z =∑n
i=1 pixi (4.7)
dengan kendala ∑ni=1 wixi ≤ c (4.8)
58 BAB 4. METODE HEURISTIK
xi =
{1, jika barang i diambil;0, jika barang i tidak diambil.
(4.9)
Keterangan dari bentuk di atas adalah :
1. Z adalah fungsi obyektif berupa biaya keuntungan.
2. c adalah kapasitas maksimum kantong.
3. xi(i = 1, 2, . . . , n) adalah variabel keputusan apakah barang i diambil.
4. pi(i = 1, 2, . . . , n) adalah keuntungan dari barang i.
5. wi(i = 1, 2, . . . , n) adalah bobot dari barang i.
4.3.1 Metode Greedy
Langkah-langkah metode Greedy adalah sebagai berikut :
1. Buatlah rasio antara keuntungan dan bobot dari suatu barang.
2. Ambil bobot dan keuntungan dengan rasio terbesar.
3. Ulangi langkah 2 sampai bobot tidak melebihi kapasitas kantong.
Contoh :
Diketahui terdapat kantong dengan kapasitas maksimum 16 dan empat barang yang memiliki bobotdan keuntungan yang berbeda seperti pada tabel. Tentukan jenis barang yang harus diambil kedalam kantong supaya keuntungan maksimum.
Barang i Bobot wi Keuntungan pi Rasio piwi
1 4 14 14/4 = 3, 52 5 15 15/5 = 33 10 50 50/10 = 54 5 10 10/5 = 2
Jawab :
Iterasi 1
Rasio terbesar berada pada baris 3, sehingga eliminasi baris 3.
Barang i Bobot wi Keuntungan pi Rasio piwi
1 4 14 14/4=3,52 5 15 15/5=33 10 50 50/10=54 5 10 10/5=2
4.4. MULTIPLE KNAPSACK PROBLEM 59
Barang : 3
Bobot : 10
Keuntungan : 50
Iterasi 2
Rasio terbesar berada pada baris 1, sehingga eliminasi baris 1.
Barang i Bobot wi Keuntungan pi Rasio piwi
1 4 14 14/4=3,52 5 15 15/5=33 - - -4 5 10 10/5=2
Barang : 3,1
Bobot : 10+4=14
Keuntungan : 50+14=64
Jadi barang yang dimasukkan ke dalam kantong adalah barang 3 dan barang 1, dengan bobot 14dan keuntungan 64.
Jadi pendekatan solusi optimalnya adalah :
x11
x21
x31
x41
=
1010
Metode heuristik tidak menjamin solusi optimal, karena jika barang yang diambil adalah barang 3dan barang 2, dengan bobot 15 dan keuntungan 65 dengan solusi optimal adalah :
x11
x21
x31
x41
=
0110
4.4 Multiple Knapsack Problem
Multiple Knapsack Problem adalah memasukkan barang ke dalam beberapa kantong yang memilikikapasitas maksimum yang memaksimumkan keuntungan.
Bentuk umum program linear untuk masalah Multiple Knapsack Problem adalah :
max Z =∑m
j=1
∑ni=1 pixij (4.10)
dengan kendala ∑ni=1 wixij ≤ cj j = 1, 2, . . . ,m∑m
j=1 xij ≤ 1 i = 1, 2, . . . , n(4.11)
60 BAB 4. METODE HEURISTIK
xij =
{1, jika barang i diambil pada kantong ke j;0, jika barang i tidak diambil.
(4.12)
Keterangan dari bentuk di atas adalah :
1. Z adalah fungsi obyektif berupa biaya keuntungan.
2. cj adalah kapasitas maksimum kantong ke j.
3. xij(i = 1, 2, . . . , n, j = 1, 2, . . . ,m) adalah variabel keputusan apakah barang i diambil padakantong ke j.
4. pi(i = 1, 2, . . . , n) adalah keuntungan dari barang i.
5. wi(i = 1, 2, . . . , n) adalah bobot dari barang i.
4.4.1 Metode Greedy
Langkah-langkah metode Greedy adalah sebagai berikut :
1. Buatlah rasio antara keuntungan dan bobot dari suatu barang.
2. Urutkan dari kantong yang memiliki kapasitas terkecil.
3. Ambil bobot dan keuntungan dengan rasio terbesar.
4. Ulangi langkah 3 sampai bobot tidak melebihi kapasitas kantong.
Contoh :
Diketahui terdapat dua buah kantong dengan kapasitas maksimum 3 kg dan 15 kg dan empat barangyang memiliki bobot dan keuntungan yang berbeda seperti pada tabel. Tentukan jenis barang yangharus diambil ke dalam kantong supaya keuntungan maksimum.
Barang i Bobot wi Keuntungan pi Rasio piwi
1 3 10,5 10, 5/3 = 3, 52 5 15 15/5 = 33 10 50 50/10 = 54 5 10 10/5 = 25 3,7 14 14/3, 7 = 3, 78
Jawab :
Mulai dari kantong dengan kapasitas terkecil yaitu 3 kg.
Iterasi 1
Rasio terbesar berada pada baris 1, sehingga eliminasi baris 1.
4.4. MULTIPLE KNAPSACK PROBLEM 61
Barang i Bobot wi Keuntungan pi Rasio piwi
1 3 10,5 10,5/3=3,52 5 15 15/5=33 10 50 50/10=54 5 10 10/5=25 3,7 14 14/3,7=3,78
Barang : 1
Bobot : 3
Keuntungan : 10,5
Karena kantong yang pertama sudah tidak dapat diisi barang lagi, maka lanjut ke kantong keduayang memiliki kapasitas 15 kg.
Iterasi 1
Rasio terbesar berada pada baris 3, sehingga eliminasi baris 3.
Barang i Bobot wi Keuntungan pi Rasio piwi
1 - - -2 5 15 15/5=33 10 50 50/10=54 5 10 10/5=25 3,7 14 14/3,7=3,78
Barang : 3
Bobot : 10
Keuntungan : 50
Iterasi 2
Rasio terbesar berada pada baris 5, sehingga eliminasi baris 5.
Barang i Bobot wi Keuntungan pi Rasio piwi
1 - - -2 5 15 15/5=33 - - -4 5 10 10/5=25 3,7 14 14/3,7=3,78
Barang : 3,5
Bobot : 10+3,7=13,7
Keuntungan : 50+14=64
Jadi barang yang dimasukkan ke dalam kantong pertama adalah barang 1, dengan bobot 3 kg dankeuntungan 10,5 dan barang yang dimasukkan ke dalam kantong kedua adalah barang 3 dan barang5, dengan bobot 13,7 kg dan keuntungan 64. Sehingga total keuntungan adalah 10, 5 + 64 = 74, 5.
62 BAB 4. METODE HEURISTIK
Jadi pendekatan solusi optimalnya adalah :
x11 x12
x21 x22
x31 x32
x41 x42
x51 x52
=
1 00 00 10 00 1
Metode heuristik tidak menjamin solusi optimal, karena jika barang yang dimasukkan ke dalamkantong pertama adalah barang 1, dengan bobot 3 kg dan keuntungan 10,5 dan barang yang dima-sukkan ke dalam kantong kedua adalah barang 3 dan barang 2, dengan bobot 15 kg dan keuntungan65. Sehingga total keuntungan adalah 10, 5 + 65 = 75, 5 dengan solusi optimal adalah : Jadi pen-dekatan solusi optimalnya adalah :
x11 x12
x21 x22
x31 x32
x41 x42
x51 x52
=
1 00 10 10 00 0
4.5 Masalah Transportasi
Secara umum, masalah transportasi adalah mendistribusikan produk dari sekelompok supplier/source(misal : pabrik) ke sekelompok penerima/destination (misal : gudang) dengan meminimumkanbiaya distribusi. Pertama-tama untuk mempermudah perhitungan, akan dibuat tabel sebagaiberikut :
Gudang 1 Gudang 2 . . . Gudang n Jumlah persediaan
Pabrik 1 c11 c12 . . . c1n s1
Pabrik 2 c21 c22 . . . c2n s2...
......
......
...Pabrik m cm1 cm2 . . . cmn sm
Jumlah permintaan d1 d2 . . . dn
Bentuk umum program linear untuk masalah transportasi adalah :
min Z =∑m
i=1
∑nj=1 cijxij (4.13)
dengan kendala ∑nj=1 xij = si i = 1, 2, . . . ,m∑mi=1 xij = dj j = 1, 2, . . . , n∑mi=1 si =
∑nj=1 dj
(4.14)
xij ≥ 0 (4.15)
Keterangan dari bentuk di atas adalah :
4.5. MASALAH TRANSPORTASI 63
1. Z adalah fungsi obyektif berupa biaya distribusi.
2. xij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah variabel keputusan berupa jumlah unit yang didis-tribusikan dari Pabrik i ke Gudang j.
3. cij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah biaya distribusi dari pabrik i ke gudang j.
4. si, i = 1, 2, . . . ,m adalah jumlah unit yang disediakan oleh pabrik i.
5. dj , j = 1, 2, . . . , n adalah jumlah unit yang diminta oleh gudang j.
6.∑m
i=1 si =∑n
j=1 dj . Jumlah persediaan sama dengan jumlah permintaan.
4.5.1 Metode Nilai Minimum
Sebelum memulai metode Nilai Minimum, terlebih dahulu siapkan tabel seperti Gambar 5.4.1.Variabel cij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah biaya distribusi dari pabrik i ke gudang j.si, i = 1, 2, . . . ,m adalah jumlah unit yang disediakan oleh pabrik i. dj , j = 1, 2, . . . , n adalahjumlah unit yang diminta oleh gudang j. Tahap awal dimulai dari kotak yang memiliki biayaterkecil.
Gambar 5.4.1. Tabel Nilai Minimum
Langkah-langkah metode Nilai Minimum adalah sebagai berikut :
1. Carilah biaya cij yang terkecil.
2. Berilah nilai pada kotak yang mempunyai biaya terkecil pada baris atau kolom itu dengan nilaiyang paling kecil antara nilai dari baris persediaan dan kolom permintaan yang bersesuaiandengan kotak itu.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan.
4. Jika pengurangan itu menghasilkan nilai kolom permintaan sama dengan nol, eliminasi kolomyang bersesuaian. Jika menghasilkan baris persediaan sama dengan nol, eliminasi baris yangbersesuian.
64 BAB 4. METODE HEURISTIK
5. Ulangi lagi pada langkah mencari biaya cij yang terkecil.
Contoh :
Proses distribusi suatu produksi digambarkan sebagai berikut :
Gudang 1 Gudang 2 Gudang 3 Gudang 4 Jumlah persediaan
Pabrik A 13 14 13 20 75Pabrik B 16 13 20 12 125Pabrik C 19 12 17 15 100
Jumlah permintaan 80 65 70 85
Suatu pabrik A, pabrik B, dan pabrik C memproduksi barang eletronik dan ingin didistribusikan keGudang 1, Gudang 2, Gudang 3, dan Gudang 4. Ketiga pabrik itu juga ingin meminimumkan biayadistribusi. Adapun biaya distribusi per unit antara pabrik dan gudang diberikan, jumlah persedi-aan, dan jumlah permintaan diberikan dalam tabel. Berapa jumlah unit yang didistribusikan daripabrik ke gudang yang akan memberikan biaya distribusi minimum?
Jawab :
Model matematika masalah transportasi di atas adalah :
min Z = 13x11 + 14x12 + 13x13 + 20x14+
16x21 + 13x22 + 20x23 + 12x24+
19x31 + 12x32 + 17x33 + 15x34
dengan kendala
Kendala Persediaan :
x11 + x12 + x13 + x14 = 75
x21 + x22 + x23 + x24 = 125
x31 + x32 + x33 + x34 = 100
Kendala Permintaan :
x11 + x21 + x31 = 80
x12 + x22 + x32 = 65
x13 + x23 + x33 = 70
x14 + x24 + x34 = 85
xij ≥ 0
Metode Nilai Minimum dapat dilakukan sebagai berikut :
Masukkan nilai ke dalam tabel Nilai Minimum.
4.5. MASALAH TRANSPORTASI 65
Gambar 4.5.1. Inisialisasi Nilai Minimum
Iterasi 1
1. Carilah cij dengan biaya termurah. cij termurah berada pada c32 = 12
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 65 < 100.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(65, 100) = 65sehingga menghasilkan s3 = 100− 65 = 35 dan d2 = 65− 65 = 0.
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 2.
Gambar 4.5.1. Iterasi 1 Nilai Minimum
Iterasi 2
1. Carilah cij dengan biaya termurah. cij termurah berada pada c24 = 12.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 85 < 125.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(85, 125) = 85sehingga menghasilkan s2 = 125− 85 = 40 dan d4 = 85− 85 = 0.
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 4.
66 BAB 4. METODE HEURISTIK
Gambar 4.5.1. Iterasi 2 Nilai Minimum
Iterasi 3
1. Carilah cij dengan biaya termurah. cij termurah berada pada c11 = 13.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 75 < 80.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(75, 80) = 75sehingga menghasilkan s1 = 75− 75 = 0 dan d1 = 80− 75 = 5.
4. Karena menghasilkan baris persediaan sama dengan 0, eliminasi baris 1.
Gambar 4.5.1. Iterasi 3 Nilai Minimum
Iterasi 4
1. Carilah cij dengan biaya termurah. cij termurah berada pada c21 = 16.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 5 < 40.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(5, 40) = 5sehingga menghasilkan s2 = 40− 5 = 35 dan d1 = 5− 5 = 0.
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 1.
4.5. MASALAH TRANSPORTASI 67
Gambar 4.5.1. Iterasi 4 Nilai Minimum
Iterasi 5
1. Carilah cij dengan biaya termurah. cij termurah berada pada c33 = 17.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 35 < 70.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(35, 70) = 35sehingga menghasilkan s3 = 35− 35 = 0 dan d3 = 70− 35 = 35.
4. Karena menghasilkan baris persediaan sama dengan 0, eliminasi baris 3.
Gambar 4.5.1. Iterasi 5 Nilai Minimum
Iterasi 6
1. Carilah cij dengan biaya termurah. cij termurah berada pada c23 = 20.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 35 = 35.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(35, 35) = 35sehingga menghasilkan s2 = 35− 35 = 0 dan d3 = 35− 35 = 0 = 0.
68 BAB 4. METODE HEURISTIK
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 3.
Gambar 4.5.1. Iterasi 6 Nilai Minimum
Hasil
Dari hasil perhitungan, diperoleh pendekatan solusi optimal sebagai berikut :
Gambar 4.5.1. Hasil Perhitungan Nilai Minimum
Dengan biaya adalah : (75× 13) + (5× 16) + (35× 20) + (85× 12) + (65× 12) + (35× 17) = 4150.
Metode heuristik tidak menjamin solusi optimal, karena jika pendekatan solusi optimal adalah :
Gambar 4.5.1. Hasil Perhitungan Nilai Minimum
Biayanya adalah : (40× 13) + (35× 13) + (40× 16) + (85× 12) + (65× 12) + (35× 17) = 4010.
4.6. VEHICLE ROUTING PROBLEM 69
4.6 Vehicle Routing Problem
Vehicle Routing Problem (VRP) adalah menentukan sejumlah rute yang mempunyai jarak minimumdan sejumlah kendaraan yang melayani pelanggan dengan ketentuan sebagai berikut :
1. Setiap pelanggan dilayani sekali oleh tepat satu kendaraan.
2. Setiap rute yang dilalui oleh setiap kendaraan dimulai dan diakhiri di depot.
3. Permintaan pelanggan dari setiap rute tidak boleh melebihi kapasitas kendaraan.
Bentuk umum program linear untuk Vehicle Routing Problem adalah :
min Z =∑p
k=1
∑nj=1
∑ni=1 d
kijx
kij (4.16)
dengan kendala
1. Setiap pelanggan dilayani sekali oleh tepat satu kendaraan.∑pk=1
∑ni=1 x
kij = 1 j = 1, 2, . . . , n∑p
k=1
∑nj=1 x
kij = 1 i = 1, 2, . . . , n
(4.17)
2. Permintaan total dari setiap rute tidak boleh melebihi kapasitas kendaraan.∑nj=1 qj(
∑ni=0 x
kij) ≤ Qk k = 1, 2, . . . , p (4.18)
3. Setiap kendaraan digunakan tidak lebih dari sekali.∑nj=1 x
k0j = 1 k = 1, 2, . . . , p∑n
i=1 xki0 = 1 k = 1, 2, . . . , p
(4.19)
4. Varibel keputusan adalah :
xkij =
{1, jika pelanggan j dicapai dari pelanggan i dengan kendaraan k;0, yang lainnya.
(4.20)
Keterangan dari bentuk di atas adalah :
1. Z adalah fungsi obyektif jarak.
2. dkij adalah jarak antara pelanggan i dengan pelanggan j dengan kendaraan k.
3. xkij(i = 1, 2, . . . , n, j = 1, 2, . . . , n) adalah variabel keputusan apakah pelanggan j dicapai daripelanggan i dengan kendaraan k.
4. qj(j = 1, 2, . . . , n) adalah permintaan dari pelanggan j.
5. Qk(k = 1, 2, . . . , p) adalah kapasitas kendaraan k.
70 BAB 4. METODE HEURISTIK
4.6.1 Metode Greedy dan Nearest Neighbor
Pada VRP, metode penyelesaiannya adalah menggabungkan metode Greedy untuk menentukankendaraan yang akan menuju pelanggan dan Nearest Neighbor untuk menyelesaikan jarak minimum.Langkah-langkah metode Greedy dan Nearest Neighbor adalah sebagai berikut :
1. Urutkan dari kendaraan yang memiliki kapasitas terkecil.
2. Ambil pelanggan seperti pada Multiple Knapsack Problem.
3. Untuk setiap kendaraan, tentukan jarak minimum dari depot dan berakhir di depot sepertipada Travel Salesman Problem.
Contoh :
Diketahui terdapat 12 pelanggan yaitu : A, B, C, D, E, F, G, H, I, J, K, L dengan jumlah permintaanbarang (dalam kg) sebagai berikut :
A B C D E F G H I J K L
35 4 35 5 45 220 3 40 4 3 250 160
Untuk mengirimkan barang ke pelanggan tersebut, disediakan tiga kendaraan dengan kapasitas 25kg, 200 kg, dan 800 kg dari depot. Tentukan penyelesaian pengiriman barang tersebut dengan jarakterpendek.
Jawab :
Urutkan jumlah permintaan pelanggan dari yang terkecil sebagai berikut :
G J B I D A C H E L F K
3 3 4 4 5 35 35 40 45 160 220 250
Mulai dari kendaraan dengan kapasitas terkecil yaitu 25 kg.
Iterasi 1
Permintaan terkecil berada pada pelanggan G, sehingga eliminasi pelanggan G.
G J B I D A C H E L F K
- 3 4 4 5 35 35 40 45 160 220 250
Pelanggan : G
Permintaan : 3
Iterasi 2
Permintaan terkecil berada pada pelanggan J, sehingga eliminasi pelanggan J.
G J B I D A C H E L F K
- - 4 4 5 35 35 40 45 160 220 250
4.6. VEHICLE ROUTING PROBLEM 71
Pelanggan : G, J
Permintaan : 3+3=6
Iterasi 3
Permintaan terkecil berada pada pelanggan B, sehingga eliminasi pelanggan B.
G J B I D A C H E L F K
- - - 4 5 35 35 40 45 160 220 250
Pelanggan : G, J, B
Permintaan : 3+3+4=10
Iterasi 4
Permintaan terkecil berada pada pelanggan I, sehingga eliminasi pelanggan I.
G J B I D A C H E L F K
- - - - 5 35 35 40 45 160 220 250
Pelanggan : G, J, B, I
Permintaan : 3+3+4+4=14
Iterasi 5
Permintaan terkecil berada pada pelanggan D, sehingga eliminasi pelanggan D.
G J B I D A C H E L F K
- - - - - 35 35 40 45 160 220 250
Pelanggan : G, J, B, I, D
Permintaan : 3+3+4+4+5=19
Karena kendaraan sudah tidak dapat diisi barang lagi, maka lanjut ke kendaraan kedua yang memi-liki kapasitas 200 kg.
Iterasi 1
Permintaan terkecil berada pada pelanggan A, sehingga eliminasi pelanggan A.
G J B I D A C H E L F K
- - - - - - 35 40 45 160 220 250
Pelanggan : A
Permintaan : 35
Iterasi 2
Permintaan terkecil berada pada pelanggan C, sehingga eliminasi pelanggan C.
72 BAB 4. METODE HEURISTIK
G J B I D A C H E L F K
- - - - - - - 40 45 160 220 250
Pelanggan : A, C
Permintaan : 35+35=70
Iterasi 3
Permintaan terkecil berada pada pelanggan H, sehingga eliminasi pelanggan H.
G J B I D A C H E L F K
- - - - - - - - 45 160 220 250
Pelanggan : A, C, H
Permintaan : 35+35+40=110
Iterasi 4
Permintaan terkecil berada pada pelanggan E, sehingga eliminasi pelanggan E.
G J B I D A C H E L F K
- - - - - - - - - 160 220 250
Pelanggan : A, C, H, E
Permintaan : 35+35+40+45=155
Karena kendaraan sudah tidak dapat diisi barang lagi, maka lanjut ke kendaraan ketiga yang memi-liki kapasitas 800 kg.
Iterasi 1
Permintaan terkecil berada pada pelanggan L, sehingga eliminasi pelanggan L.
G J B I D A C H E L F K
- - - - - - - - - - 220 250
Pelanggan : L
Permintaan : 160
Iterasi 2
Permintaan terkecil berada pada pelanggan F, sehingga eliminasi pelanggan F.
G J B I D A C H E L F K
- - - - - - - - - - - 250
Pelanggan : L, F
Permintaan : 160+220=380
4.6. VEHICLE ROUTING PROBLEM 73
Iterasi 3
Permintaan terkecil berada pada pelanggan K, sehingga eliminasi pelanggan K.
G J B I D A C H E L F K
- - - - - - - - - - - -
Pelanggan : L, F, K
Permintaan : 160+220+250=630
Pada kendaraan dengan kapasitas 25 kg, diketahui jarak antara pelanggan sebagai berikut :
O B D G I J
O 0 36 40 51 62 55
B 36 0 42 50 53 45
D 40 42 0 42 38 44
G 51 50 42 0 50 55
I 62 53 38 50 0 35
J 55 45 44 55 35 0
Tentukan jarak minimum untuk melalui seluruh kota pada masalah TSP jika dimulai dari depot O.
Iterasi 1
Jarak minimum yang bertetangga dengan depot adalah pelanggan B dengan jarak dOB = 36, se-hingga eliminasi kolom pelanggan B.
O B D G I J
O - 36 40 51 62 55
B - 0 42 50 53 45
D - 42 0 42 38 44
G - 50 42 0 50 55
I - 53 38 50 0 35
J - 45 44 55 35 0
Perjalanan : O → B
Jarak : 36
Iterasi 2
Jarak minimum yang bertetangga dengan pelanggan B adalah pelanggan D dengan jarak dBD = 42,sehingga eliminasi kolom pelanggan D.
O B D G I J
O - - 40 51 62 55
B - - 42 50 53 45
D - - 0 42 38 44
G - - 42 0 50 55
I - - 38 50 0 35
J - - 44 55 35 0
74 BAB 4. METODE HEURISTIK
Perjalanan : O → B → D
Jarak : 36+42=78
Iterasi 3
Jarak minimum yang bertetangga dengan pelanggan D adalah pelanggan I dengan jarak dDI = 38,sehingga eliminasi kolom pelanggan I.
O B D G I J
O - - - 51 62 55
B - - - 50 53 45
D - - - 42 38 44
G - - - 0 50 55
I - - - 50 0 35
J - - - 55 35 0
Perjalanan : O → B → D → I
Jarak : 36+42+38=116
Iterasi 4
Jarak minimum yang bertetangga dengan pelanggan I adalah pelanggan J dengan jarak dIJ = 35,sehingga eliminasi kolom pelanggan J.
O B D G I J
O - - - 51 - 55
B - - - 50 - 45
D - - - 42 - 44
G - - - 0 - 55
I - - - 50 - 35
J - - - 55 - 0
Perjalanan : O → B → D → I → J
Jarak : 36+42+38+35=151
Iterasi 5
Jarak minimum yang bertetangga dengan pelanggan J adalah pelanggan G dengan jarak dJG = 55,sehingga eliminasi kolom pelanggan G.
O B D G I J
O - - - 51 - -
B - - - 50 - -
D - - - 42 - -
G - - - 0 - -
I - - - 50 - -
J - - - 55 - 0
4.6. VEHICLE ROUTING PROBLEM 75
Perjalanan : O → B → D → I → J → G
Jarak : 36+42+38+35+55=207
Sehingga perjalanan dengan jarak terpendek adalah O → B → D → I → J → G → O denganjarak 36+42+38+35+55+51=257.
Pada kendaraan dengan kapasitas 200 kg, diketahui jarak antara pelanggan sebagai berikut :
O A C E H
O 0 45 52 62 60
A 45 0 41 43 53
C 52 41 0 52 48
E 62 43 52 0 49
H 60 53 48 49 0
Tentukan jarak minimum untuk melalui seluruh kota pada masalah TSP jika dimulai dari depot O.
Iterasi 1
Jarak minimum yang bertetangga dengan depot adalah pelanggan A dengan jarak dOA = 45, se-hingga eliminasi kolom pelanggan A.
O A C E H
O - 45 52 62 60
A - 0 41 43 53
C - 41 0 52 48
E - 43 52 0 49
H - 53 48 49 0
Perjalanan : O → A
Jarak : 45
Iterasi 2
Jarak minimum yang bertetangga dengan pelanggan A adalah pelanggan C dengan jarak dAC = 41,sehingga eliminasi kolom pelanggan C.
O A C E H
O - - 52 62 60
A - - 41 43 53
C - - 0 52 48
E - - 52 0 49
H - - 48 49 0
Perjalanan : O → A→ C
Jarak : 45+41=86
Iterasi 3
Jarak minimum yang bertetangga dengan pelanggan C adalah pelanggan H dengan jarak dCH = 48,
76 BAB 4. METODE HEURISTIK
sehingga eliminasi kolom pelanggan H.
O A C E H
O - - - 62 60
A - - - 43 53
C - - - 52 48
E - - - 0 49
H - - - 49 0
Perjalanan : O → A→ C → H
Jarak : 45+41+48=134
Iterasi 4
Jarak minimum yang bertetangga dengan pelanggan H adalah pelanggan E dengan jarak dHE = 49,sehingga eliminasi kolom pelanggan E.
O A C E H
O - - - 62 -
A - - - 43 -
C - - - 52 -
E - - - 0 -
H - - - 49 -
Perjalanan : O → A→ C → H → E
Jarak : 45+41+48+49=183
Sehingga perjalanan dengan jarak terpendek adalah O → A → C → H → E → O dengan jarak45+41+48+49+62=245.
Pada kendaraan dengan kapasitas 800 kg, diketahui jarak antara pelanggan sebagai berikut :
O F K L
O 0 44 48 50
F 44 0 52 47
K 48 52 0 44
L 50 47 44 0
Tentukan jarak minimum untuk melalui seluruh kota pada masalah TSP jika dimulai dari depot O.
Iterasi 1
Jarak minimum yang bertetangga dengan depot adalah pelanggan F dengan jarak dOF = 44, se-hingga eliminasi kolom pelanggan F.
O F K L
O - 44 48 50
F - 0 52 47
K - 52 0 44
L - 47 44 0
4.6. VEHICLE ROUTING PROBLEM 77
Perjalanan : O → F
Jarak : 44
Iterasi 2
Jarak minimum yang bertetangga dengan pelanggan F adalah pelanggan L dengan jarak dFL = 47,sehingga eliminasi kolom pelanggan L.
O F K L
O - - 48 50
F - - 52 47
K - - 0 44
L - - 44 0
Perjalanan : O → F → L
Jarak : 44+47=91
Iterasi 3
Jarak minimum yang bertetangga dengan pelanggan L adalah pelanggan K dengan jarak dLK = 44,sehingga eliminasi kolom pelanggan K.
O F K L
O - - 48 -
F - - 52 -
K - - 0 -
L - - 44 -
Perjalanan : O → F → L→ K
Jarak : 44+47+44=135
Sehingga perjalanan dengan jarak terpendek adalah O → F → L → K → O dengan jarak44+47+44+48=183.
Jadi pendekatan solusi optimalnya adalah :
Untuk kendaraan dengan kapasitas 25 kg k = 1.
78 BAB 4. METODE HEURISTIK
O A B C D E F G H I J K L
O 0 0 1 0 0 0 0 0 0 0 0 0 0A 0 0 0 0 0 0 0 0 0 0 0 0 0B 0 0 0 0 1 0 0 0 0 0 0 0 0C 0 0 0 0 0 0 0 0 0 0 0 0 0D 0 0 0 0 0 0 0 0 0 1 0 0 0E 0 0 0 0 0 0 0 0 0 0 0 0 0F 0 0 0 0 0 0 0 0 0 0 0 0 0G 1 0 0 0 0 0 0 0 0 0 0 0 0H 0 0 0 0 0 0 0 0 0 0 0 0 0I 0 0 0 0 0 0 0 0 0 0 1 0 0J 0 0 0 0 0 0 0 1 0 0 0 0 0K 0 0 0 0 0 0 0 0 0 0 0 0 0L 0 0 0 0 0 0 0 0 0 0 0 0 0
Untuk kendaraan dengan kapasitas 200 kg k = 2.
O A B C D E F G H I J K L
O 0 1 0 0 0 0 0 0 0 0 0 0 0A 0 0 0 1 0 0 0 0 0 0 0 0 0B 0 0 0 0 0 0 0 0 0 0 0 0 0C 0 0 0 0 0 0 0 0 1 0 0 0 0D 0 0 0 0 0 0 0 0 0 0 0 0 0E 1 0 0 0 0 0 0 0 0 0 0 0 0F 0 0 0 0 0 0 0 0 0 0 0 0 0G 0 0 0 0 0 0 0 0 0 0 0 0 0H 0 0 0 0 0 1 0 0 0 0 0 0 0I 0 0 0 0 0 0 0 0 0 0 0 0 0J 0 0 0 0 0 0 0 0 0 0 0 0 0K 0 0 0 0 0 0 0 0 0 0 0 0 0L 0 0 0 0 0 0 0 0 0 0 0 0 0
Untuk kendaraan dengan kapasitas 800 kg k = 3.
4.6. VEHICLE ROUTING PROBLEM 79
O A B C D E F G H I J K L
O 0 0 0 0 0 0 1 0 0 0 0 0 0A 0 0 0 0 0 0 0 0 0 0 0 0 0B 0 0 0 0 0 0 0 0 0 0 0 0 0C 0 0 0 0 0 0 0 0 0 0 0 0 0D 0 0 0 0 0 0 0 0 0 0 0 0 0E 0 0 0 0 0 0 0 0 0 0 0 0 0F 0 0 0 0 0 0 0 0 0 0 0 0 1G 0 0 0 0 0 0 0 0 0 0 0 0 0H 0 0 0 0 0 0 0 0 0 0 0 0 0I 0 0 0 0 0 0 0 0 0 0 0 0 0J 0 0 0 0 0 0 0 0 0 0 0 0 0K 1 0 0 0 0 0 0 0 0 0 0 0 0L 0 0 0 0 0 0 0 0 0 0 0 1 0
Bab 5
Masalah Transportasi
Telah dibahas pada bab sebelumnya tentang masalah transportasi. Pada buku ini akan dijelaskantentang beberapa metode untuk menyelesaikan masalah transportasi secara pendekatan sepertimetode Northwest Corner, Nilai Minimum, Vogel dan Russel. Keempat metode tersebut jugatermasuk metode heuristik yang dijelaskan pada bab sebelumnya.
5.1 Bentuk Umum Masalah Transportasi
Secara umum, masalah transportasi adalah mendistribusikan produk dari sekelompok supplieratau source (misal : pabrik) ke sekelompok penerima atau destination (misal : gudang) denganmeminimumkan biaya distribusi. Pertama-tama untuk mempermudah perhitungan, akan dibuattabel sebagai berikut :
Gudang 1 Gudang 2 . . . Gudang n Jumlah persediaan
Pabrik 1 c11 c12 . . . c1n s1
Pabrik 2 c21 c22 . . . c2n s2...
......
......
...Pabrik m cm1 cm2 . . . cmn sm
Jumlah permintaan d1 d2 . . . dn
Bentuk umum program linear untuk masalah transportasi adalah :
min Z =∑m
i=1
∑nj=1 cijxij (5.1)
dengan kendala ∑nj=1 xij = si i = 1, 2, . . . ,m∑mi=1 xij = dj j = 1, 2, . . . , n∑mi=1 si =
∑nj=1 dj
(5.2)
xij ≥ 0 (5.3)
Keterangan dari bentuk di atas adalah :
81
82 BAB 5. MASALAH TRANSPORTASI
1. Z adalah fungsi obyektif berupa biaya distribusi.
2. xij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah variabel keputusan berupa jumlah unit yang didis-tribusikan dari pabrik i ke gudang j.
3. cij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah biaya distribusi dari pabrik i ke gudang j.
4. si, i = 1, 2, . . . ,m adalah jumlah unit yang disediakan oleh pabrik i.
5. dj , j = 1, 2, . . . , n adalah jumlah unit yang diminta oleh gudang j.
6.∑m
i=1 si =∑n
j=1 dj . Jumlah persediaan sama dengan jumlah permintaan.
5.2 Formulasi Model
Proses distribusi suatu produksi digambarkan sebagai berikut :
Gudang 1 Gudang 2 Gudang 3 Gudang 4 Jumlah persediaan
Pabrik A 13 14 13 20 75Pabrik B 16 13 20 12 125Pabrik C 19 12 17 15 100
Jumlah permintaan 80 65 70 85
Suatu pabrik A, pabrik B, dan pabrik C memproduksi barang eletronik dan ingin didistribusikan keGudang 1, Gudang 2, Gudang 3, dan Gudang 4. Ketiga pabrik itu juga ingin meminimumkan biayadistribusi. Adapun biaya distribusi per unit antara pabrik dan gudang diberikan, jumlah persediaan,dan jumlah permintaan diberikan dalam tabel. Berapa jumlah unit yang didistribusikan dari pabrikke gudang yang akan memberikan biaya distribusi minimum?
min Z = 13x11 + 14x12 + 13x13 + 20x14+
16x21 + 13x22 + 20x23 + 12x24+
19x31 + 12x32 + 17x33 + 15x34
dengan kendala
Kendala Persediaan :x11 + x12 + x13 + x14 = 75
x21 + x22 + x23 + x24 = 125
x31 + x32 + x33 + x34 = 100
Kendala Permintaan :x11 + x21 + x31 = 80
x12 + x22 + x32 = 65
x13 + x23 + x33 = 70
x14 + x24 + x34 = 85
xij ≥ 0
5.3. METODE NORTHWEST CORNER 83
5.3 Metode Northwest Corner
5.3.1 Tahap Awal (Inisialisasi)
Sebelum memulai metode Northwest Corner, terlebih dahulu siapkan tabel seperti Gambar 5.4.1.Variabel cij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah biaya distribusi dari pabrik i ke gudang j.si, i = 1, 2, . . . ,m adalah jumlah unit yang disediakan oleh pabrik i. dj , j = 1, 2, . . . , n adalahjumlah unit yang diminta oleh gudang j.
Gambar 5.4.1. Tabel Northwest Corner
Tahap awal dimulai dari kotak baris 1 kolom 1 (x11).
Carilah nilai yang paling kecil antara nilai dari baris persediaan dan kolom permintaan yang bers-esuaian. Kemudian nilai tersebut masukkan pada nilai x11
5.3.2 Tahap Optimisasi
1. Eliminasi Baris Persediaan dan Kolom Permintaan. Kurangkan nilai dari baris perse-diaan dan kolom permintaan dengan nilai min(si, dj).
2. Pemilihan Variabel Basis. Jika pengurangan itu menghasilkan nilai kolom permintaansama dengan nol, berpindahlah ke kotak berikutnya yang ada di sebelah kanan (xi,j+1). Jikamenghasilkan baris persediaan sama dengan nol, berpindahlah ke kotak di bawahnya (xi+1,j).Jika nilai baris dan kolomnya sama dengan nol, berpindahlah ke kanan (atau ke bawah)kemudian ke bawah (atau ke kanan) (xi+1,j+1).
3. Pemberian Nilai pada Variabel Basis. Nilai ini adalah nilai yang paling kecil antara nilaibaris persediaan dan nilai kolom permintaan yang bersesuaian dengan kotak itu.
4. Ulangi lagi pada langkah eliminasi. Pada saat eliminasi, kita boleh berpindah ke baris perse-diaan atau kolom permintaan berikutnya jika menghasilkan nilai 0.
5.3.3 Tahap Pemberhentian
Tahap pemberhentian terjadi ketika perhitungan telah sampai pada baris m kolom n (xmn).
84 BAB 5. MASALAH TRANSPORTASI
5.3.4 Komputasi
Masukkan nilai ke dalam tabel Northwest Corner.
Dimulai dari x11. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 75 < 80.
Gambar 5.3.4. Inisialisasi Northwest Corner
Iterasi 1
1. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(75, 80) = 75sehingga menghasilkan s1 = 75− 75 = 0 dan d1 = 80− 75 = 5.
2. Karena menghasilkan baris persediaan sama dengan 0, berpindah ke kotak yang ada di bawah-nya yaitu x21.
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 5 < 125.
Gambar 5.3.4. Iterasi 1 Northwest Corner
Iterasi 2
1. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(5, 125) = 5sehingga menghasilkan s2 = 125− 5 = 120 dan d1 = 5− 5 = 0.
2. Karena menghasilkan kolom permintaan sama dengan 0, berpindah ke kotak yang ada dikanannya yaitu x22.
5.3. METODE NORTHWEST CORNER 85
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 65 < 120.
Gambar 5.3.4. Iterasi 2 Northwest Corner
Iterasi 3
1. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(65, 120) = 65sehingga menghasilkan s2 = 120− 65 = 55 dan d2 = 65− 65 = 0.
2. Karena menghasilkan kolom permintaan sama dengan 0, berpindah ke kotak yang ada dikanannya yaitu x23.
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 55 < 70.
Gambar 5.3.4. Iterasi 3 Northwest Corner
Iterasi 4
1. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(55, 70) = 55sehingga menghasilkan s2 = 55− 55 = 0 dan d3 = 70− 55 = 15.
2. Karena menghasilkan baris persediaan sama dengan 0, berpindah ke kotak yang ada di bawah-nya yaitu x33.
86 BAB 5. MASALAH TRANSPORTASI
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 15 < 100.
Gambar 5.3.4. Iterasi 4 Northwest Corner
Iterasi 5
1. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(15, 100) = 15sehingga menghasilkan s3 = 100− 15 = 85 dan d3 = 15− 15 = 0.
2. Karena menghasilkan kolom permintaan sama dengan 0, berpindah ke kotak yang ada dikanannya yaitu x34.
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 85 = 85.
Gambar 5.3.4. Iterasi 5 Northwest Corner
Hasil
Dari hasil perhitungan, diperoleh hasil sebagai berikut :
5.4. METODE NILAI MINIMUM 87
Gambar 5.3.4. Hasil Perhitungan Northwest Corner
5.4 Metode Nilai Minimum
5.4.1 Tahap Awal (Inisialisasi)
Sebelum memulai metode Nilai Minimum, terlebih dahulu siapkan tabel seperti Gambar 5.4.1.Variabel cij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah biaya distribusi dari pabrik i ke gudang j.si, i = 1, 2, . . . ,m adalah jumlah unit yang disediakan oleh pabrik i. dj , j = 1, 2, . . . , n adalahjumlah unit yang diminta oleh gudang j. Tahap awal dimulai dari kotak yang memiliki biayaterkecil.
Gambar 5.4.1. Tabel Nilai Minimum
5.4.2 Tahap Optimisasi
1. Pemilihan Variabel Basis. Carilah biaya cij yang terkecil.
2. Pemberian Nilai pada Variabel Basis. Berilah nilai pada kotak yang mempunyai bi-aya terkecil pada baris atau kolom itu dengan nilai yang paling kecil antara nilai dari barispersediaan dan kolom permintaan yang bersesuaian dengan kotak itu.
88 BAB 5. MASALAH TRANSPORTASI
3. Eliminasi Baris Persediaan dan Kolom Permintaan. Kurangkan nilai dari baris perse-diaan dan kolom permintaan.
4. Eliminasi Baris atau Kolom. Jika pengurangan itu menghasilkan nilai kolom permintaansama dengan nol, eliminasi kolom yang bersesuaian. Jika menghasilkan baris persediaan samadengan nol, eliminasi baris yang bersesuian.
5. Ulangi lagi pada langkah mencari biaya cij yang terkecil.
5.4.3 Tahap Pemberhentian
Tahap pemberhentian terjadi ketika semua kotak telah tereliminasi.
5.4.4 Komputasi
Masukkan nilai ke dalam tabel Nilai Minimum.
Gambar 5.4.4. Inisialisasi Nilai Minimum
Iterasi 1
1. Carilah cij dengan biaya termurah. cij termurah berada pada c32 = 12
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 65 < 100.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(65, 100) = 65sehingga menghasilkan s3 = 100− 65 = 35 dan d2 = 65− 65 = 0.
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 2.
5.4. METODE NILAI MINIMUM 89
Gambar 5.4.4. Iterasi 1 Nilai Minimum
Iterasi 2
1. Carilah cij dengan biaya termurah. cij termurah berada pada c24 = 12.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 85 < 125.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(85, 125) = 85sehingga menghasilkan s2 = 125− 85 = 40 dan d4 = 85− 85 = 0.
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 4.
Gambar 5.4.4. Iterasi 2 Nilai Minimum
Iterasi 3
1. Carilah cij dengan biaya termurah. cij termurah berada pada c13 = 13.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 70 < 75.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(70, 75) = 70sehingga menghasilkan s1 = 75− 70 = 5 dan d3 = 70− 70 = 0.
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 3.
90 BAB 5. MASALAH TRANSPORTASI
Gambar 5.4.4. Iterasi 3 Nilai Minimum
Iterasi 4
1. Carilah cij dengan biaya termurah. cij termurah berada pada c11 = 13.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 5 < 80.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(5, 80) = 5sehingga menghasilkan s1 = 5− 5 = 0 dan d3 = 80− 5 = 75.
4. Karena menghasilkan baris persediaan sama dengan 0, eliminasi baris 1.
Gambar 5.4.4. Iterasi 4 Nilai Minimum
Iterasi 5
1. Carilah cij dengan biaya termurah. cij termurah berada pada c13 = 16.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 40 < 75.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(40, 75) = 40sehingga menghasilkan s2 = 40− 40 = 0 dan d1 = 75− 40 = 35.
4. Karena menghasilkan baris persediaan sama dengan 0, eliminasi baris 2.
5.4. METODE NILAI MINIMUM 91
Gambar 5.4.4. Iterasi 5 Nilai Minimum
Iterasi 6
1. Carilah cij dengan biaya termurah. cij termurah berada pada c31 = 19.
2. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 35 = 35.
3. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(35, 35) = 35sehingga menghasilkan s3 = 35− 35 = 0 dan d1 = 35− 35 = 0 = 0.
4. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 1.
Gambar 5.4.4. Iterasi 6 Nilai Minimum
Hasil
Dari hasil perhitungan, diperoleh hasil sebagai berikut :
92 BAB 5. MASALAH TRANSPORTASI
Gambar 5.4.4. Hasil Perhitungan Nilai Minimum
5.5 Metode Vogel
5.5.1 Tahap Awal (Inisialisasi)
Sebelum memulai metode Vogel, terlebih dahulu siapkan tabel seperti Gambar 5.5.1. Variabelcij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah biaya distribusi dari pabrik i ke gudang j. si, i =1, 2, . . . ,m adalah jumlah unit yang disediakan oleh pabrik i. dj , j = 1, 2, . . . , n adalah jumlahunit yang diminta oleh gudang j. Kemudian beda biaya adalah perbedaan antara dua biaya ter-murah dalam setiap baris dan kolom.
Gambar 5.5.1. Tabel Vogel
5.5.2 Tahap Optimisasi
1. Menghitung Perbedaan Dua Biaya Termurah. Hitunglah perbedaan antara dua biayatermurah dalam setiap baris ∆csi dan kolom ∆cdj .
2. Pemilihan Variabel Basis. Tentukan baris persediaan atau kolom permintaan yang mem-punyai angka perbedaan terbesar (jika ada lebih dari satu, pilihlah sembarang). Jika angkaperbedaan terbesar ada pada baris persediaan, carilah biaya terkecil pada baris yang bers-esuaian. Jika angka perbedaan terbesar ada pada kolom permintaan, carilah biaya terkecilpada kolom yang bersesuaian.
5.5. METODE VOGEL 93
3. Pemberian Nilai pada Variabel Basis. Berilah nilai pada kotak yang mempunyai bi-aya terkecil pada baris atau kolom itu dengan nilai yang paling kecil antara nilai dari barispersediaan dan kolom permintaan yang bersesuaian dengan kotak itu.
4. Eliminasi Baris Persediaan dan Kolom Permintaan. Kurangkan nilai dari baris perse-diaan dan kolom permintaan.
5. Eliminasi Baris atau Kolom. Jika pengurangan itu menghasilkan nilai kolom permintaansama dengan nol, eliminasi kolom yang bersesuaian. Jika menghasilkan baris persediaan samadengan nol, eliminasi baris yang bersesuian.
6. Ulangi lagi pada langkah menghitung perbedaan dua biaya termurah.
5.5.3 Tahap Pemberhentian
Tahap pemberhentian terjadi ketika telah menyisakan satu baris atau satu kolom.
5.5.4 Komputasi
Masukkan nilai ke dalam tabel Vogel.
Gambar 5.5.4. Inisialisasi Vogel
Iterasi 1
1. Hitunglah perbedaan antara dua biaya termurah dalam setiap baris dan kolom.
2. Angka beda beda terbesar terletak pada ∆cd3 = 4 sehingga biaya terkecil pada kolom yangbersesuaian adalah c13 = 13.
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 70 < 75.
4. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(70, 75) = 70sehingga menghasilkan s1 = 75− 70 = 5 dan d3 = 70− 70 = 0.
5. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 3.
94 BAB 5. MASALAH TRANSPORTASI
Gambar 5.5.4. Iterasi 1 Vogel
Iterasi 2
1. Hitunglah perbedaan antara dua biaya termurah dalam setiap baris dan kolom.
2. Angka beda beda terbesar terletak pada ∆cd4 = 3 sehingga biaya terkecil pada kolom yangbersesuaian adalah c24 = 12.
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 85 < 125.
4. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(85, 125) = 85sehingga menghasilkan s2 = 125− 85 = 40 dan d4 = 85− 85 = 0.
5. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 4.
Gambar 5.5.4. Iterasi 2 Vogel
Iterasi 3
1. Hitunglah perbedaan antara dua biaya termurah dalam setiap baris dan kolom.
2. Angka beda beda terbesar terletak pada ∆cs3 = 7 sehingga biaya terkecil pada baris yangbersesuaian adalah c32 = 12.
5.6. METODE RUSSEL 95
3. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 65 < 100.
4. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(65, 100) = 65sehingga menghasilkan s3 = 100− 65 = 35 dan d2 = 65− 65 = 0 = 0.
5. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 2.
Gambar 5.5.4. Iterasi 3 Vogel
Hasil
Dari hasil perhitungan, diperoleh hasil sebagai berikut :
Gambar 5.5.4. Hasil Perhitungan Vogel
5.6 Metode Russel
5.6.1 Tahap Awal (Inisialisasi)
Sebelum memulai metode Russel, terlebih dahulu siapkan tabel seperti Gambar 5.6.1. Variabelcij(i = 1, 2, . . . ,m; j = 1, 2, . . . , n) adalah biaya distribusi dari pabrik i ke gudang j. si, i =1, 2, . . . ,m adalah jumlah unit yang disediakan oleh pabrik i. dj , j = 1, 2, . . . , n adalah jumlahunit yang diminta oleh gudang j. Kemudian ui yaitu biaya terbesar pada baris i dan vj yaitu biayaterbesar pada kolom j.
96 BAB 5. MASALAH TRANSPORTASI
Gambar 5.6.1. Tabel Russel
5.6.2 Tahap Optimisasi
1. Menentukan Nilai ui dan vj . Tentukan ui yaitu biaya terbesar pada baris i. Kemudiantentukan vj yaitu biaya terbesar pada kolom j.
2. Menghitung ∆ij . Hitunglah ∆ij = cij − ui − vj dimana cij adalah biaya distribusi.
3. Pemilihan Variabel Basis. Tentukan baris atau kolom yang mempunyai nilai ∆ij palingnegatif.
4. Pemberian Nilai pada Variabel Basis. Berilah nilai pada kotak yang mempunyai nilai∆ij paling negatif dengan nilai yang paling kecil antara nilai dari baris persediaan dan kolompermintaan yang bersesuaian dengan kotak itu.
5. Eliminasi Baris Persediaan dan Kolom Permintaan. Kurangkan nilai dari baris perse-diaan dan kolom permintaan.
6. Eliminasi Baris atau Kolom. Jika pengurangan itu menghasilkan nilai kolom permintaansama dengan nol, eliminasi kolom yang bersesuaian. Jika menghasilkan baris persediaan samadengan nol, eliminasi baris yang bersesuian.
7. Ulangi lagi pada langkah menghitung nilai ui, vj ,∆ij .
5.6.3 Tahap Pemberhentian
Tahap pemberhentian terjadi ketika semua kotak telah tereliminasi.
5.6.4 Komputasi
Masukkan nilai ke dalam tabel Russel.
5.6. METODE RUSSEL 97
Gambar 5.6.4. Inisialisasi Russel
Iterasi 1
1. Tentukan ui (biaya terbesar pada baris i) dan vj (biaya terbesar pada kolom j).
2. Hitunglah ∆ij = cij − ui − vj .
3. ∆ij yang paling negatif terletak ada ∆24 = 12− 20− 20 = −28.
4. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 85 < 100.
5. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(85, 100) = 85sehingga menghasilkan s2 = 125− 85 = 40 dan d4 = 85− 85 = 0.
6. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 4.
Gambar 5.6.4. Iterasi 1 Russel
Iterasi 2
1. Tentukan ui (biaya terbesar pada baris i) dan vj (biaya terbesar pada kolom j).
2. Hitunglah ∆ij = cij − ui − vj .
98 BAB 5. MASALAH TRANSPORTASI
3. ∆ij yang paling negatif terletak ada ∆21 = 16− 20− 19 = −23.
4. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 40 < 80.
5. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(40, 80) = 40sehingga menghasilkan s2 = 40− 40 = 0 dan d1 = 80− 40 = 40.
6. Karena menghasilkan baris persediaan sama dengan 0, eliminasi baris 2.
Gambar 5.6.4. Iterasi 2 Russel
Iterasi 3
1. Tentukan ui (biaya terbesar pada baris i) dan vj (biaya terbesar pada kolom j).
2. Hitunglah ∆ij = cij − ui − vj .
3. ∆ij yang paling negatif terletak ada ∆32 = 12− 19− 14 = −21.
4. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 65 < 100.
5. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(65, 100) = 65sehingga menghasilkan s3 = 100− 65 = 35 dan d2 = 65− 65 = 0.
6. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 2.
5.6. METODE RUSSEL 99
Gambar 5.6.4. Iterasi 3 Russel
Iterasi 4
1. Tentukan ui (biaya terbesar pada baris i) dan vj (biaya terbesar pada kolom j).
2. Hitunglah ∆ij = cij − ui − vj .
3. ∆ij yang paling negatif terletak ada ∆11 = 13− 13− 19 = −19.
4. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 40 < 75.
5. Kurangkan nilai dari baris persediaan dan kolom permintaan dengan nilai min(40, 75) = 40sehingga menghasilkan s1 = 75− 40 = 35 dan d1 = 40− 40 = 0.
6. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 1.
Gambar 5.6.4. Iterasi 4 Russel
Iterasi 5
1. Tentukan ui (biaya terbesar pada baris i) dan vj (biaya terbesar pada kolom j).
2. Hitunglah ∆ij = cij − ui − vj .
3. ∆ij yang paling negatif terletak ada ∆33 = 17− 17− 17 = −17.
4. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 35 < 70.
5. Kurangkan nilai dari baris persediaan dan kolom perminataan dengan nilai min(35, 70) = 35sehingga menghasilkan s3 = 35− 35 = 0 dan d3 = 70− 35 = 35.
6. Karena menghasilkan baris persediaan sama dengan 0, eliminasi baris 3.
100 BAB 5. MASALAH TRANSPORTASI
Gambar 5.6.4. Iterasi 5 Russel
Iterasi 6
1. Tentukan ui (biaya terbesar pada baris i) dan vj (biaya terbesar pada kolom j).
2. Hitunglah ∆ij = cij − ui − vj .
3. ∆ij yang paling negatif terletak ada ∆13 = 13− 13− 13 = −13.
4. Dari baris persediaan dan kolom permintaan yang bersesuaian diperoleh 35 = 35.
5. Kurangkan nilai dari baris persediaan dan kolom perminataan dengan nilai min(35, 35) = 35sehingga menghasilkan s1 = 35− 35 = 0 dan d3 = 35− 35 = 0.
6. Karena menghasilkan kolom permintaan sama dengan 0, eliminasi kolom 3.
Gambar 5.6.4. Iterasi 6 Russel
Hasil
Dari hasil perhitungan, diperoleh hasil sebagai berikut :
5.7. KETIDAK SEIMBANGAN PADA MASALAH TRANSPORTASI 101
Gambar 5.6.4. Hasil Perhitungan Russel
5.7 Ketidak seimbangan pada Masalah Transportasi
Telah dijelaskan pada masalah transportasi adalah jumlah persediaan sama dengan jumlah per-mintaan. Namun ada kalanya terjadi ketidak seimbangan pada jumlah persediaan dan jumlahpermintaan. Dalam kasus tersebut diperlukan variabel dummy dengan biaya distribusi adalah 0.
5.7.1 Jumlah Persediaan Lebih dari Jumlah Permintaan
Jika jumlah persediaan lebih besar daripada jumlah permintaan :∑mi=1 si >
∑nj=1 dj (5.4)
maka tambahkan kolom dummy pada kolom permintaan dengan biaya distribusi adalah 0.
Contoh :
Diketahui jumlah persediaan dan jumlah permintaan sebagai berikut :
Persediaan Jumlah
Pabrik A 75Pabrik B 125Pabrik C 150
Jumlah 350
Permintaan Jumlah
Gudang 1 80Gudang 2 65Gudang 3 70Gudang 4 85
Jumlah 300
Karena∑3
i=1 si >∑4
j=1 dj , maka tambahkan d′j = 350−300 = 50, sehingga tabel distribusi menjadi:
102 BAB 5. MASALAH TRANSPORTASI
Gudang 1 Gudang 2 Gudang 3 Gudang 4 Dummy Jumlah persediaan
Pabrik A 13 14 13 20 0 75Pabrik B 16 13 20 12 0 125Pabrik C 19 12 17 15 0 150
Jumlah permintaan 80 65 70 85 50
5.7.2 Jumlah Permintaan Lebih dari Jumlah Persediaan
Jika jumlah permintaan lebih besar daripada jumlah persediaan :∑nj=1 si >
∑mi=1 dj (5.5)
maka tambahkan baris dummy pada baris persediaan dengan biaya distribusi adalah 0.
Contoh :
Diketahui jumlah persediaan dan jumlah permintaan sebagai berikut :
Persediaan Jumlah
Pabrik A 75Pabrik B 125Pabrik C 100
Jumlah 300
Permintaan Jumlah
Gudang 1 100Gudang 2 65Gudang 3 100Gudang 4 85
Jumlah 350
Karena∑4
j=1 dj >∑3
i=1 si, maka tambahkan s′i = 350−300 = 50, sehingga tabel distribusi menjadi:
Gudang 1 Gudang 2 Gudang 3 Gudang 4 Jumlah persediaan
Pabrik A 13 14 13 20 75Pabrik B 16 13 20 12 125Pabrik C 19 12 17 15 100Dummy 0 0 0 0 50
Jumlah permintaan 100 65 100 85
Bab 6
Masalah Optimisasi Jaringan
Contoh masalah optimisasi jaringan yang akan dibahas pada buku ini adalah mencari jarak terpen-dek dalam suatu perjalanan, mencari pohon merentang minimum, dan masalah arus maksimum.Namun sebelum membahas tentang ketiga masalah tersebut, akan dijelaskan sekilas tentang grafseperti pada mata kuliah matematika diskrit.
6.1 Pengertian Graf
Sebelum membahas pada masalah optimisasi jaringan, terlebih dahulu kita membahas tentang grafkarena aplikasi dari graf salah satunya untuk memecahkan masalah optimisasi jaringan.
Elemen Graf
Graf G = (V,E) adalah pasangan terurut dari himpunan.
Elemen dari graf adalah :
1. Titik/Vertices/Node. Notasi : V
2. Garis/Edge/Arc. Notasi : E
Ketetanggaan Titik (Adjacent Vertices)
Jika (v1, v2) ∈ E adalah garis dari graf G = (V,E) maka v1 dan v2 adalah titik yang bertetangga.
Kardinalitas
Kardinalitas adalah jumlah anggota. Notasi :| |Derajat
Derajat adalah kardinalitas dari ketetanggaan titik.
deg(v) = |adj(v)| (6.1)
Contoh :
Perhatikan Gambar 6.1.
103
104 BAB 6. MASALAH OPTIMISASI JARINGAN
Gambar 6.1. Graf Contoh Soal
Tentukan :
a. Himpunan titik dan garis.
b. Kardinalitas titik dan garis.
c. Semua titik yang bertetangga.
d. Derajat semua titik.
Jawab :
a.
Himpunan titik adalah V = {a, b, c, d, e}.Himpunan garis adalah E = {ab, bc, cd, de, ea, eb}.b .
Kardinalitas titik |V | = 5.
Kardinalitas garis |E| = 6.
c.
adj(a) = {b, e}adj(b) = {a, c, e}adj(c) = {b, d}adj(d) = {c, e}adj(e) = {a, b, d}
d.
6.1. PENGERTIAN GRAF 105
deg(a) = |adj(a)| = 2
deg(b) = |adj(b)| = 3
deg(c) = |adj(c)| = 2
deg(d) = |adj(d)| = 2
deg(e) = |adj(e)| = 3
6.1.1 Graf Berarah
Contoh :
Perhatikan Gambar 6.1.1.
Gambar 6.1.1. Graf Berarah Contoh Soal
Tentukan :
a. Himpunan titik dan garis.
b. Kardinalitas titik dan garis.
c. Semua titik yang bertetangga.
d. Derajat semua titik.
Jawab :
a.
Himpunan titik adalah V = {a, b, c}.Himpunan garis adalah E = {ab, bc, ca}.b .
Kardinalitas titik |V | = 3.
Kardinalitas garis |E| = 3.
c.
adj(a) = {b, e}adj(b) = {a, c}adj(c) = {a, b}
d.
106 BAB 6. MASALAH OPTIMISASI JARINGAN
deg(a) = |adj(a)| = 2
deg(b) = |adj(b)| = 2
deg(c) = |adj(c)| = 2
6.1.2 Matriks Ketetanggaan (Adjacent Matrix)
Misalkan G adalah graf dengan titik V = {v1, v2, . . . , vn} dan himpunan garis E. Matriks ketetang-gaan (Adjacent Matrix ) dari G adalah matriks berukuran n× n dengan :
aij =
{1, jika vivj ∈ E;0, yang lainnya.
(6.2)
Untuk graf berarah :
aij =
{1, jika vi mengarah ke vj ;0, yang lainnya.
(6.3)
Contoh :Perhatikan Gambar 6.1.2.
Gambar 6.1.2. Graf Contoh Soal
Tentukan matriks ketetanggaannya.
Jawab :
a.
A =
0 0 0 1 00 0 1 0 10 1 0 1 11 0 1 0 10 1 1 1 0
b.
A =
0 0 1 01 0 0 00 1 0 00 1 1 0
6.2. MASALAH JARAK TERPENDEK 107
6.1.3 Matriks Kesisian (Incident Matrix)
Misalkan G adalah graf dengan titik V = {v1, v2, . . . , vn} dan garis E = {e1, e2, . . . , em}. Matrikskesisian (Incident Matrix ) dari G adalah matriks berukuran n×m dengan :
bij =
{1, jika vi bersisian dengan ej ;0, yang lainnya.
(6.4)
Untuk graf berarah :
bij =
−1, jika vi adalah ekor dari ej ;1, jika vi adalah kepala dari ej ;0, yang lainnya.
(6.5)
Contoh :Perhatikan Gambar 6.1.2.
Tentukan matriks kesisiannya.
Jawab :
a.
A =
1 0 0 0 0 00 1 1 0 0 00 0 1 1 1 01 0 0 0 1 10 1 0 1 0 1
b.
A =
−1 0 0 0 10 1 0 1 −11 0 1 −1 00 −1 −1 0 0
6.2 Masalah Jarak Terpendek
6.2.1 Metode Dijkstra
Metode Dijkstra digunakan jika kita ingin menentukan jarak terpendek dari satu titik asal (home)ke titik tertentu.
Tahap Awal (Inisialisasi)
Sebelum memulai metode Dijkstra, terlebih dahulu siapkan tabel yang terdiri dari node tujuan,node perantara dan jarak. Variabel j adalah node tujuan. Perhitungan bobot ui + dij adalah jarakkumulatif dari titik i ke titik j.
Tetapkan dua himpunan titik H = [] dan C = [a0, a1, . . . , an]. Kemudian pilih titik start (misal a0)dan tetapkan H = H + {a0} dan C = C − {a0}.
108 BAB 6. MASALAH OPTIMISASI JARINGAN
Tahap Optimisasi
1. Cari titik yang bertetangga dengan a0.
2. Hitung jarak kumulatif pada titik yang bertetangga dengan a0.
3. Nilai jarak kumulatif paling minimum diberi keterangan tetap, sedangkan yang lainnya diberiketerangan sementara.
4. Update H = H + {min(adj(a0))} dan C = C − {min(adj(a0))}.
5. Ulangi lagi pada langkah mencari titik yang bertetangga.
Tahap Pemberhentian
Tahap pemberhentian terjadi ketika semua nilai keterangan adalah tetap.
Contoh :
Seorang pegawai melakukan perjalanan dinas menggunakan mobil dari kantornya di titik O menujukantor dinas di titik T. Peta perjalanan dari titik O ke titik T adalah seperti Gambar 6.2.1. Angkayang tertera pada gambar adalah jarak antara kedua titik. Pegawai tersebut ingin mencari jarakterpendek supaya pengeluaran bensin minimum. Tentukan jarak terpendek dari titik O ke titik T.
Gambar 6.2.1. Contoh Jaringan Metode Dijkstra
Jawab :
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
adj(O) = {A,B,C}
6.2. MASALAH JARAK TERPENDEK 109
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
A [0+2,O]=[2,O] Tetap *
B [0+5,O]=[5,O] Sementara
C [0+4,O]=[4,O] Sementara
D
E
F
T
Minimum=A
uA = 2
H = {O,A}Iterasi 2
adj(A)−H = {O,B,D, F} − {O,A} = {B,D,F}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
A [0+2,O]=[2,O] Tetap
B [0+5,O]=[5,O] Sementara[2+2,A]=[4,A] Tetap *
C [0+4,O]=[4,O] Sementara
D [2+7,A]=[9,A] Sementara
E
F [2+12,A]=[14,A] Sementara
T
Minimum=B
uB = 4
H = {O,A,B}Iterasi 3
adj(B)−H = {O,A,C,E,D} − {O,A,B} = {C,E,D}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
A [0+2,O]=[2,O] Tetap
B [0+5,O]=[5,O] Sementara[2+2,A]=[4,A] Tetap
C [0+4,O]=[4,O] Sementara → Tetap *[4+1,B]=[5,B] Sementara
D [2+7,A]=[9,A] Sementara[4+4,B]=[8,B] Sementara
E [4+3,B]=[7,B] Sementara
F [2+12,A]=[14,A] Sementara
T
110 BAB 6. MASALAH OPTIMISASI JARINGAN
Minimum=C
uC = 4
H = {O,A,B,C}Iterasi 4
adj(C)−H = {O,B,E} − {O,A,B,C} = {E}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
A [0+2,O]=[2,O] Tetap
B [0+5,O]=[5,O] Sementara[2+2,A]=[4,A] Tetap
C [0+4,O]=[4,O] Sementara → Tetap[4+1,B]=[5,B] Sementara
D [2+7,A]=[9,A] Sementara[4+4,B]=[8,B] Sementara
E [4+3,B]=[7,B] Sementara → Tetap *[4+4,C]=[8,C] Sementara
F [2+12,A]=[14,A] Sementara
T
Minimum=E
uE = 7
H = {O,A,B,C,E}Iterasi 5
adj(E)−H = {C,B,D, T} − {O,A,B,C,E} = {D,T}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
A [0+2,O]=[2,O] Tetap
B [0+5,O]=[5,O] Sementara[2+2,A]=[4,A] Tetap
C [0+4,O]=[4,O] Sementara → Tetap[4+1,B]=[5,B] Sementara
D [2+7,A]=[9,A] Sementara[4+4,B]=[8,B] Sementara[7+1,E]=[8,E] Tetap *
E [4+3,B]=[7,B] Sementara → Tetap[4+4,C]=[8,C] Sementara
F [2+12,A]=[14,A] Sementara
T [7+7,E]=[14,E] Sementara
Minimum=D
uD = 8
H = {O,A,B,C,E,D}
6.2. MASALAH JARAK TERPENDEK 111
Iterasi 6
adj(D)−H = {A,B,E, T} − {O,A,B,C,E,D} = {T}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
A [0+2,O]=[2,O] Tetap
B [0+5,O]=[5,O] Sementara[2+2,A]=[4,A] Tetap
C [0+4,O]=[4,O] Sementara → Tetap[4+1,B]=[5,B] Sementara
D [2+7,A]=[9,A] Sementara[4+4,B]=[8,B] Sementara[7+1,E]=[8,E] Tetap
E [4+3,B]=[7,B] Sementara → Tetap[4+4,C]=[8,C] Sementara
F [2+12,A]=[14,A] Sementara
T [7+7,E]=[14,E] Sementara[8+5,D]=[13,D] Tetap *
Minimum=T
uD = 13
H = {O,A,B,C,E,D, T}Kesimpulan :
Jadi jarak terpendek dari titik O menuju titik T adalah 13, dengan rute :
O → A→ B → E → D → T
2 + 2 + 3 + 1 + 5 = 13
atau
O → A→ B → D → T
2 + 2 + 4 + 5 = 13
Contoh :
Seorang turis melakukan perjalanan wisata dari hotel di titik A menuju tempat wisata di titikE. Peta perjalanan dari titik A ke titik E adalah seperti Gambar 6.2.1 dimana pada jalan yangmenghubungkan titik B dengan titik D adalah jalan searah. Angka yang tertera pada gambaradalah jarak antara kedua titik. Turis tersebut tersebut ingin mencari rute terpendek pada saatberangkat dari hotel di titik A menuju tempat wisata di titik E dan pada saat pulang dari tempatwisata di titik E menuju hotel di titik A.
a. Tentukan jarak terpendek dari titik A ke titik E.
b. Tentukan jarak terpendek dari titik E ke titik A.
112 BAB 6. MASALAH OPTIMISASI JARINGAN
Gambar 6.2.1. Contoh Jaringan Metode Dijkstra dengan Terdapat Jarak Searah
Jawab :
a. Jarak terpendek dari hotel di titik A menuju tempat wisata di titik E.
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
adj(A) = {B,C}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
B [0+3,A]=[3,A] Tetap *
C [0+10,A]=[10,A] Sementara
D
E
Minimum=B
uB = 3
H = {A,B}Iterasi 2
adj(B)− {H} = {A,D} − {A,B} = {D}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
B [0+3,A]=[3,A] Tetap
C [0+10,A]=[10,A] Sementara
D [3+5,B]=[8,B] Tetap *
E
Minimum=D
uD = 8
H = {A,B,D}Iterasi 3
adj(D)− {H} = {C,E} − {A,B,D} = {C,E}
6.2. MASALAH JARAK TERPENDEK 113
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
B [0+3,A]=[3,A] Tetap
C [0+10,A]=[10,A] Sementara → Tetap *[8+6,D]=[14,D] Sementara
D [3+5,B]=[8,B] Tetap
E [8+4,D]=[12,D] Sementara
Minimum=C
uC = 10
H = {A,B,D,C}Iterasi 4
adj(C)− {H} = {A,D,E} − {A,B,D,C} = {E}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
B [0+3,A]=[3,A] Tetap
C [0+10,A]=[10,A] Sementara → Tetap[8+6,D]=[14,D] Sementara
D [3+5,B]=[8,B] Tetap
E [8+4,D]=[12,D] Sementara → Tetap *[10+15,C]=[25,C] Sementara
Minimum=E
uE = 12
H = {A,B,D,C,E}Kesimpulan :
Jadi jarak terpendek dari hotel di titik A menuju tempat wisata di titik E adalah 12, dengan rute :
A→ B → D → E
3 + 5 + 4 = 12
b. Jarak terpendek dari tempat wisata di titik E menuju hotel di titik A.
Untuk memudahkan perhitungan, dapat menggunakan tabel iterasi sebagai berikut :
Iterasi 1
adj(E) = {D,C}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
D [0+4,E]=[4,E] Tetap *
C [0+15,E]=[15,E] Sementara
B
A
114 BAB 6. MASALAH OPTIMISASI JARINGAN
Minimum=D
uD = 4
H = {E,D}Iterasi 2
adj(D)− {H} = {C,E} − {E,D} = {C}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
D [0+4,E]=[4,E] Tetap
C [0+15,E]=[15,E] Sementara[4+6,D]=[10,D] Tetap *
B
A
Minimum=C
uC = 10
H = {E,D,C}Iterasi 3
adj(C)− {H} = {A,D,E} − {E,D,C} = {A}
Node Tujuan [Jarak, Node Perantara] Keteranganj [ui + dij , i]
D [0+4,E]=[4,E] Tetap
C [0+15,E]=[15,E] Sementara[4+6,D]=[10,D] Tetap
B
A [10+10,C]=[20,C] Tetap *
Minimum=A
uA = 20
H = {E,D,C,A}Kesimpulan :
Jadi jarak terpendek dari tempat wisata di titik E menuju hotel di titik A adalah 20, dengan rute :
E → D → C → A
4 + 6 + 10 = 20
6.2.2 Metode Floyd
Metode Floyd merupakan perluasan dari metode Dijkstra. Metode Floyd digunakan jika kita inginmenentukan jarak terpendek antar titik.
6.2. MASALAH JARAK TERPENDEK 115
Tahap Awal (Inisialisasi)
Sebelum memulai metode Floyd, terlebih dahulu siapkan matriks seperti Gambar 6.2.2. Jumlahbaris menyatakan jumlah node asal. Jumlah kolom menyatakan jumlah node tujuan. Variabeldij(i = 1, 2, . . . , n; j = 1, 2, . . . , n) adalah jarak dari node i ke node j. Jika terdapat dua node yangtidak terhubung, maka ditulis ∞.
Tahap Optimisasi
1. Menentukan Baris Pivot dan Kolom Pivot. Tentukan baris pivot pada baris i = 1 dankolom pivot pada kolom i = 1.
2. Menentukan Baris Pivot dan Kolom Pivot yang Bersesuaian. Pada element matriksyang bukan anggota baris pivot atau kolom pivot, tentukan baris pivot dan kolom pivot yangbersesuaian.
3. Menentukan Jarak Minimum. Jumlahkan baris pivot dan kolom pivot tersebut. Kemu-dian tentukan jarak paling minimum dengan min(dik+dkj , dij), (i = 1, 2, . . . , n; j = 1, 2, . . . , n)Jika baris atau kolom yang bersesuian memiliki nilai ∞, maka abaikan dan beri nilai ∞.
4. Ulangi lagi pada langkah menentukan baris pivot dan kolom pivot untuk i = i + 1.
Tahap Pemberhentian
Tahap pemberhentian terjadi ketika baris pivot dan kolom pivot sudah mencapai i = n.
Contoh :
Buatlah tabel jarak terpendek menggunakan metode Floyd.
Gambar 6.2.2. Contoh Jaringan Metode Floyd
Jawab :
Masukkan jarak antar titik ke dalam tabel Floyd.
116 BAB 6. MASALAH OPTIMISASI JARINGAN
Gambar 6.2.2. Tabel Floyd
Iterasi 1
Baris dan Kolom Pivot : Baris 1 Kolom 1
Gambar 6.2.2. Itarasi 1 Floyd
dengan jarak minimum sebagai berikut :
d22 = − d23 = min(∞, 13) = 13 d24 = 5 d25 =∞d32 = min(∞, 13) = 13 d33 = − d34 = 6 d35 = 15
d42 = 5 d43 = 6 d44 = − d45 = 4d52 =∞ d53 =∞ d54 = 4 d55 = −
Iterasi 2
Baris dan Kolom Pivot : Baris 2 Kolom 2
Gambar 6.2.2. Itarasi 2 Floyd
dengan jarak minimum sebagai berikut :
d11 = − d13 = min(10, 16) = 10 d14 = min(∞, 8) = 8 d15 =∞d31 = min(10, 16) = 10 d33 = − d34 = min(6, 18) = 6 d35 = 15d41 = min(∞, 8) = 8 d43 = min(6, 18) = 6 d44 = − d45 = 4
d51 =∞ d53 =∞ d54 = 4 d55 = −
6.2. MASALAH JARAK TERPENDEK 117
Iterasi 3
Baris dan Kolom Pivot : Baris 3 Kolom 3
Gambar 6.2.2. Itarasi 3 Floyd
dengan jarak minimum sebagai berikut :
d11 = − d12 = min(3, 23) = 3d21 = min(3, 23) = 3 d22 = −
d41 = min(∞, 8, 16) = 8 d42 = min(5, 19) = 5d51 =∞ d52 =∞
d14 = min(∞, 8, 16) = 8 d15 = min(∞, 25) = 25d24 = min(5, 19) = 5 d25 = min(∞, 28) = 28
d44 = − d45 = min(4, 21) = 4d54 = 4 d55 = −
Iterasi 4
Baris dan Kolom Pivot : Baris 4 Kolom 4
Gambar 6.2.2. Itarasi 4 Floyd
dengan jarak minimum sebagai berikut :
d11 = − d12 = min(3, 23, 13) = 3d21 = min(3, 23, 13) = 3 d22 = −d31 = min(10, 16, 14) = 10 d32 = min(∞, 13, 11) = 11d51 = min(∞, 12) = 12 d52 = min(∞, 9) = 9
118 BAB 6. MASALAH OPTIMISASI JARINGAN
d13 = min(10, 16, 14) = 10 d15 = min(∞, 25, 12) = 12d23 = min(∞, 13, 11) = 11 d25 = min(∞, 28, 9) = 9
d33 = − d35 = min(15, 10) = 10d53 = min(∞, 10) = 10 d55 = −
Iterasi 5
Baris dan Kolom Pivot : Baris 5 Kolom 5
Gambar 6.2.2. Itarasi 5 Floyd
dengan jarak minimum sebagai berikut :
d11 = − d12 = min(3, 23, 13, 21) = 3d21 = min(3, 23, 13, 21) = 3 d22 = −d31 = min(10, 16, 14, 22) = 10 d32 = min(∞, 13, 11, 19) = 11d41 = min(∞, 8, 16, 16) = 8 d42 = min(5, 19, 13) = 5
d13 = min(10, 16, 14, 22) = 10 d14 = min(∞, 8, 16, 16) = 8d23 = min(∞, 13, 11, 19) = 11 d24 = min(5, 19, 13) = 5
d33 = − d34 = min(6, 18, 14) = 6d43 = min(6, 18, 14) = 6 d44 = −
Sehingga diperoleh tabel jarak terpendek sebagai berikut :
Gambar 6.2.2. Tabel Jarak Terpendek
6.3. MASALAH POHON PEMBENTANG MINIMUM 119
6.3 Masalah Pohon Pembentang Minimum
6.3.1 Pengertian Pohon dan Pohon Merentang
Pohon adalah jaringan tak berarah dan tidak memiliki cycle. Contoh pohon dan bukan pohonadalah seperti Gambar 6.3.1.
Gambar 6.3.1. Pohon dan Bukan Pohon
Pohon merentang adalah bagian dari jaringan dimana semua titiknya sama. Contoh pohon mem-bentang adalah sepeti Gambar 6.3.1.
Gambar 6.3.1. Pohon Membentang
Pohon merentang minimum adalah bagian dari jaringan dimana semua titiknya sama dan memilikijumlah bobot minimum.
6.3.2 Metode Kruskal
Metode Kruskal digunakan untuk mencari pohon merentang minimum.
Tahap Awal (Inisialisasi)
Sebelum memulai metode Kruskal, terlebih dahulu siapkan jaringan seperti Gambar 6.3.2. Garispada jaringan digambar putus-putus. Angka yang tercantum pada garis merupakan bobot keduatitik.
Tetapkan dua himpunan garis H = [] dan C = [a0, a1, . . . , an].
Kemudian pilih satu garis (misal a0) dan tetapkan H = H + {a0} dan C = C − {a0}
120 BAB 6. MASALAH OPTIMISASI JARINGAN
Tahap Optimisasi
1. Cari titik yang bertetangga dengan H.
2. Hitung jarak pada titik yang bertetangga dengan H.
3. Cari jarak paling minimum.
4. Update H = H + {min(inc(H))} dan C = C − {min(inc(H))}.
5. Ulangi lagi pada langkah mencari titik yang bertetangga dengan H.
Tahap Pemberhentian
Tahap pemberhentian terjadi ketika C2 = [].
Contoh :
Gambar 6.3.2 adalah jarak pada jalan di sebuah taman. Pada taman tersebut akan dipasang kabelyang menghubungkan semua titik. Tentukan panjang kabel minimum yang diperlukan.
Tentukan tahap awal seperti Gambar 6.3.2.
Gambar 6.3.2. Tahap Awal Masalah Pohon Membentang Minimum
Iterasi 1
1. Garis yang bersisian dengan titik O adalah :
{OA,OB,OC} −H = {OA,OB,OC}= {2, 5, 4}
2. Jarak minimum adalah OA dengan nilai min(2, 5, 4) = 2.
6.3. MASALAH POHON PEMBENTANG MINIMUM 121
3. Hubungkan titik O dengan titik A sehingga H = {OA}.
Gambar 6.3.2. Metode Kruskal Iterasi 1
Iterasi 2
1. Garis yang bersisian dengan titik O,A adalah :
{OA,OB,OC,AB,AD} −H = {AB,AD,OB,OC}= {2, 7, 5, 4}
2. Jarak minimum adalah AB dengan nilai min(2, 7, 5, 4) = 2.
3. Hubungkan titik A dengan titik B sehingga H = {OA,AB}.
Gambar 6.3.2. Metode Kruskal Iterasi 2
Iterasi 3
122 BAB 6. MASALAH OPTIMISASI JARINGAN
1. Garis yang bersisian dengan titik O,A,B adalah :
{OA,OB,OC,AB,AD,BC,BD,BE} −H = {OB,OC,AD,BC,BD,BE}= {5, 4, 7, 1, 4, 3}
2. Jarak minimum adalah BC dengan nilai min(5, 4, 7, 1, 4, 3) = 1.
3. Hubungkan titik B dengan titik C sehingga H = {OA,AB,BC}.
Gambar 6.3.2. Metode Kruskal Iterasi 3
Iterasi 4
1. Garis yang bersisian dengan titik O,A,B,C adalah :
{OA,OB,OC,AB,AD,BC,BD,BE,CE} −H= {OB,OC,AD,BD,BE,CE}
= {5, 4, 7, 4, 3, 4}
2. Jarak minimum adalah BE dengan nilai min(5, 4, 7, 4, 3, 4) = 3.
3. Hubungkan titik B dengan titik E sehingga H = {OA,AB,BC,BE}.
6.3. MASALAH POHON PEMBENTANG MINIMUM 123
Gambar 6.3.2. Metode Kruskal Iterasi 4
Iterasi 5
1. Garis yang bersisian dengan titik O,A,B,C,E adalah :
{OA,OB,OC,AB,AD,BC,BD,BE,CE,ED,ET} −H= {OB,OC,AD,BD,CE,ED,ET}
= {5, 4, 7, 4, 4, 1, 7}
2. Jarak minimum adalah ED dengan nilai min(5, 4, 7, 4, 4, 1, 7) = 1.
3. Hubungkan titik E dengan titik D sehingga H = {OA,AB,BC,BE,ED}.
Gambar 6.3.2. Metode Kruskal Iterasi 5
Iterasi 6
1. Garis yang bersisian dengan titik O,A,B,C,E,D adalah :
{OA,OB,OC,AB,AD,BC,BD,BE,CE,ED,ET,DT} −H= {OB,OC,AD,BD,CE,ET,DT}
= {5, 4, 7, 4, 4, 7, 5}
2. Jarak minimum adalah OC, BD, CE dengan nilai 4. Namun karena dalam pohon tidak bolehmemiliki cycle, maka jarak minimum adalah DT dengan nilai 5.
3. Hubungkan titik D dengan titik T sehingga H = {OA,AB,BC,BE,ED,DT}.
124 BAB 6. MASALAH OPTIMISASI JARINGAN
Gambar 6.3.2. Metode Kruskal Iterasi 6
6.4 Masalah Arus Maksimum
6.4.1 Metode Ford-Fulkerson
Metode Ford-Fulkerson digunakan untuk mengalirkan arus maksimum dari titik sumber (source)menuju titik tujuan (sink).
Tahap Awal (Inisialisasi)
Sebelum memulai metode Ford-Fulkerson, terlebih dahulu siapkan jaringan seperti Gambar 6.4.1.Angka yang tercantum pada ekor panah merupakan bobot kedua titik. Angka yang tercantum padakepala panah diberi 0. Kemudian garis pada jaringan diubah menjadi garis tak berarah.
Tahap Optimisasi
1. Tentukan Augmented Path. Tentukan augmented path yang menghubungkan source dansink.
2. Tentukan Residual Capacity. Tentukan residual capacity dengan menentukan nilai palingminimum pada ekor panah (lihat pada jaringan sebelum diubah menjadi jaringan tak berarah).
3. Ubah Nilai pada Pangkal Panah dan Mata Panah. Kurangkan nilai pada ekor panahdengan residual capacity. Kemudian pada kepala panah beri nilai (bobot garis-ekor panah).
4. Tentukan Garis yang Tersaturasi. Garis yang tersaturasi adalah garis yang memilikinilai 0 setelah dikurangkan dengan residual capacity. Buatlah tanda panah pada garis yangtersaturasi tersebut dengan kepala panah mengarah ke nilai 0.
5. Gambar Residual Network. Gambar residual network dan ulangi pada langkah menetap-kan augmented path dari source ke sink.
6.4. MASALAH ARUS MAKSIMUM 125
Tahap Pemberhentian
Tahap pemberhentian terjadi ketika tidak ada augmented path dari source ke sink.
Contoh :
Suatu pabrik melakukan ingin mengalirkan suatu cairan dari titik 1 (source) menuju titik 6 (sink).Pipa perjalanan dari titik 1 ke titik 6 adalah seperti Gambar 6.4.1. Angka yang tertera padagambar adalah maksimum aliran yang boleh dilalui. Pabrik tersebut ingin mengalirkan supaya aruskeluaran maksimum. Tentukan arus maksimum dari titik 1 ke titik 6. Jawab :
Tentukan tahap awal seperti Gambar 6.4.1.
Gambar 6.4.1. Tahap Awal Arus Maksimum
Iterasi 1
Gambar 6.4.1. Metode Ford-Fulkerson Iterasi 1
Iterasi 2
Gambar 6.4.1. Metode Ford-Fulkerson Iterasi 2
126 BAB 6. MASALAH OPTIMISASI JARINGAN
Iterasi 3
Gambar 6.4.1. Metode Ford-Fulkerson Iterasi 3
Iterasi 4
Gambar 6.4.1. Metode Ford-Fulkerson Iterasi 4
Bab 7
Penjadwalan Proyek, Flow ShopProblem, dan Job Shop Problem
Terdapat banyak metode pembuatan jadwal yang efektif pada Riset Operasi. Pada buku ini akandijelaskan tentang perbedaan antara penjadwalan proyek, Flow Shop Problem, dan Job Shop Prob-lem pada masalah penjadwalan sehingga diperoleh jadwal yang efektif (misal jadwal dengan waktupengerjaan yang minimum).
7.1 Penjadwalan Proyek dengan Critical Path Method (CPM)
7.1.1 Membuat Jaringan Proyek
Aktivitas proyek dapat direpresentasikan dalam bentuk jaringan. Aturan dalam mengkonstruksijaringan adalah sebagai berikut :
1. Setiap aktivitas hanya direpresentasikan oleh satu garis.
2. Setiap aktivitas hanya direpresentasikan oleh dua titik yang berbeda. Jika terdapat lebih darisatu aktivitas dengan dua titik yang sama, maka diperlukan variabel dummy.
Gambar 3. Penggunaan Variabel Dummy pada Lebih dari Satu Aktivitas
3. Perhatikan aktivitas yang mendahului pada aktivitas sekarang. Contoh : Aktivitas C didahu-lui oleh aktivitas A dan B, sedangkan aktivitas E didhaului oleh aktivitas B. Dalam kasustersebut diperlukan variabel dummy.
127
128BAB 7. PENJADWALAN PROYEK, FLOW SHOP PROBLEM, DAN JOB SHOP PROBLEM
Gambar ??. Penggunaan Variabel Dummy dengan Aktivitas Pendahulu
Contoh :
Suatu penerbit memiliki kontrak dengan penulis untuk menerbitkan buku. Aktivitas produksi bukudapat dilihat pada tabel di bawah :
Aktivitas Keterangan Aktivitas Pendahulu Waktu (minggu)
A Pengeditan naskah oleh editor - 3B Mempersiapkan halaman - 2C Mendesain kover - 4D Menyiapkan artwork - 3E Persetujuan penulis pada naskah A,B 2F Format buku E 4G Review penulis tentang halaman F 2H Review penulis tentang artwork D 1I Percetakan buku G,H 2J Penjilidan buku C,I 4
Sehingga didapat jaringan proyek seperti Gambar 7.1.1 :
Gambar 7.1.1. Jaringan Proyek
7.1. PENJADWALAN PROYEK DENGAN CRITICAL PATH METHOD (CPM) 129
7.1.2 Metode CPM Jalur Maju
Tahap Awal (Inisialisasi)
Sebelum memulai metode CPM jalur maju, terlebih dahulu siapkan jaringan seperti Gambar 7.1.4.Setiap titik j diberi tanda �j yang menyatakan waktu kejadian awal. Angka yang tercantumpada garis merupakan waktu kejadian per aktivitas. Huruf yang tercantum pada garis merupakanaktivitas. Tentukan �i=1 = 0.
Tahap Optimisasi
Tentukan �i+1,�i+2, . . . ,�n. Jika titik j memiliki aktivitas awal di titik p1, p2, . . . , pm, maka di-ambil nilai maksimum dari waktu kejadian kumulatif.
�j = max(�p1 + Dp1j ,�p2 + Dp2j , . . . ,�pm + Dpmj) (7.1)
Tahap Pemberhentian
Tahap pemberhentian terjadi ketika �n telah dihitung.
7.1.3 Metode CPM Jalur Mundur
Tahap Awal (Inisialisasi)
Sebelum memulai metode CPM jalur mundur, terlebih dahulu siapkan jaringan seperti Gambar7.1.4. Setiap titik j diberi tanda Mj yang menyatakan waktu kejadian akhir. Angka yang tercantumpada garis merupakan waktu kejadian per aktivitas. Huruf yang tercantum pada garis merupakanaktivitas. Tentukan Mi=n= �n.
Tahap Optimisasi
Tentukan Mn−1,Mn−2, . . . ,M1. Jika titik j memiliki aktivitas akhir di titik p1, p2, . . . , pm, makadiambil nilai minimum dari waktu kejadian kumulatif.
Mj= min(Mp1 −Djp1 ,Mp2 −Djp2 , . . . ,Mpm −Djpm) (7.2)
Tahap Pemberhentian
Tahap pemberhentian terjadi ketika M1 telah dihitung.
7.1.4 Komputasi CPM
Contoh :
Diketahui jaringan proyek seperti Gambar 7.1.4.
130BAB 7. PENJADWALAN PROYEK, FLOW SHOP PROBLEM, DAN JOB SHOP PROBLEM
Gambar 7.1.4. Contoh Jaringan Proyek
Tentukan aktivitas kritis dan aktivitas non kritisnya.
Jawab :
Untuk menentukan aktivitas kritis dan aktivitas non kritis, maka diperlukan perhitungan jalur majudan jalur mundur.
Jalur Maju
�1 = 0
�2 = �1 + D12 = 0 + 5 = 5
�3 = max(�1 + D13,�2 + D23) = max(0 + 6, 5 + 3) = 8
�4 = �2 + D24 = 5 + 8 = 13
�5 = max(�3 + D35,�4 + D45) = max(8 + 2, 13 + 0) = 13
�6 = max(�3 + D36,�4 + D46,�5 + D56) = max(8 + 11, 13 + 1, 13 + 12) = 25
Gambar 7.1.4. Hasil Perhitungan Jalur Maju
7.1. PENJADWALAN PROYEK DENGAN CRITICAL PATH METHOD (CPM) 131
Jalur Mundur
M6 = �6 = 25
M5 = M6 −D56 = 25− 12 = 13
M4 = min(M6 −D46,M5 −D45) = min(25− 1, 13− 0) = 13
M3 = min(M6 −D36,M5 −D35) = min(25− 11, 13− 2) = 11
M2 = min(M4 −D24,M3 −D23) = min(13− 8, 11− 3) = 5
M1 = min(M3 −D13,M2 −D12) = min(11− 6, 5− 5) = 0
Gambar 7.1.4. Hasil Perhitungan Jalur Mundur
Syarat Aktivitas Kritis
Syarat aktivitas kritis adalah :
1. Mi= �i
2. Mj= �j
3. Mj − Mi= �j −�i = Dij
Dari jalur maju dan jalur mundur di atas, dapat dihitung delapan aktivitas:
Aktivitas (1,2)
1. Mi= �i = 0 = 0
2. Mj= �j = 5 = 5
3. Mj − Mi= �j −�i = Dij = 5− 0 = 5
Aktivitas (1,3)
1. Mi= �i = 0 = 0
2. Mj 6= �j = 11 6= 8
132BAB 7. PENJADWALAN PROYEK, FLOW SHOP PROBLEM, DAN JOB SHOP PROBLEM
Aktivitas (2,3)
1. Mi= �i = 5 = 5
2. Mj 6= �j = 11 6= 8
Aktivitas (2,4)
1. Mi= �i = 5 = 5
2. Mj= �j = 13 = 13
3. Mj − Mi= �j −�i = Dij = 13− 5 = 8
Aktivitas (3,5)
1. Mi 6= �i = 11 6= 8
Aktivitas (3,6)
1. Mi 6= �i = 11 6= 8
Aktivitas (5,6)
1. Mi= �i = 13 = 13
2. Mj= �j = 25 = 25
3. Mj − Mi= �j −�i = Dij = 25− 13 = 12
Aktivitas (4,6)
1. Mi= �i = 13 = 13
2. Mj= �j = 25 = 25
3. Mj − Mi= �j −�i 6= Dij 6= 25− 13 = 12
Dari sembilan aktivitas di atas, hanya aktivitas (1,2),(2,4),(5,6) yang memenuhi aktivitas kritis.Sehingga aktivitas kritisnya adalah (A,D,H) dan aktivitas non-kritisnya adalah (B,C,E,F,G).
7.1.5 Konstruksi Jadwal
Dari aktivitas kritis dan aktivitas non-kritis yang didapat, dapat dibentuk interval (�i,Mj) yangmenggambarkan maksimum interval dari aktivitas (i, j) yang dijadwalkan.
Aktivitas KritisA → (�1,M2) = (0, 5)
D → (�2,M4) = (5, 13)
H → (�5,M6) = (13, 25)
7.2. FLOW SHOP PROBLEM 133
Aktivitas Non-Kritis
B → (�1,M3) = (0, 11)
C → (�2,M3) = (5, 11)
E → (�3,M5) = (8, 13)
F → (�3,M6) = (8, 25)
G → (�4,M6) = (13, 25)
Gambar 7.1.5. Jadwal Aktivitas
7.2 Flow Shop Problem
Model dari Flow Shop Problem adalah : terdapat m mesin dan n tugas. Setiap tugas terdiri dari moperasi dan setiap operasi membutuhkan mesin yang berbeda. n tugas harus diproses pada urutanyang sama pada m mesin.
Waktu pemrosesan dari tugas i pada mesin j diberikan oleh ti,j(i = 1, 2, . . . , n; j = 1, 2, . . . ,m).Obyektif dari flow shop problem adalah menemukan urutan tugas yang meminimumkan arus mak-simum.
Asumsi yang digunakan pada Flow Shop Problem adalah :
1. Setiap tugas diproses pada semua mesin dengan urutan yang sama.
2. Setiap mesin memproses hanya satu tugas pada satuan waktu.
3. Setiap tugas diproses oleh satu mesin pada satuan waktu.
134BAB 7. PENJADWALAN PROYEK, FLOW SHOP PROBLEM, DAN JOB SHOP PROBLEM
Misal c(i, j) adalah waktu penyelesaian dari tugas i oleh mesin j, maka kita dapat menghitungwaktu penyelesaian flow shop problem untuk n tugas dan m mesin sebagai berikut :
c(1, 1) = t1,1
c(1, j) = c(1, j − 1) + t1,j j = 2, 3, . . . ,m
c(i, 1) = c(i− 1, 1) + ti,1 i = 2, 3, . . . , n
c(i, j) = max(c(i− 1, j), c(i, j − 1)) + ti,j i = 2, 3, . . . , n; j = 2, 3, . . . ,m
(7.3)
dengan arus maksimum adalah :
cmax = c(n,m) (7.4)
7.2.1 Metode Johnson
Langkah-langkah metode Johnson adalah sebagai berikut :
1. Ambil U = {i|ti,1 < ti,2} dan V = {i|ti,1 > ti,2}.
2. Urutkan tugas di U dengan urutan naik menurut ti,1.
3. Urutkan tugas di V dengan urutan turun menurut ti,2
4. Urutan tugas yang optimal adalah berdasarkan himpunan U yang diikuti oleh himpunan V .
Contoh :
Diketahui waktu pemrosesan delapan tugas dengan dua mesin sebagai berikut :
Tugas i 1 2 3 4 5 6 7 8
ti,1 5 2 1 7 6 3 7 5ti,2 2 6 2 5 6 7 2 1
Tentukan urutan tugas yang optimal.
Jawab :
Dari tabel, himpunan U yang terbentuk adalah :
Tugas i 2 3 6
ti,1 2 1 3ti,2 6 2 7
Setelah diurutkan naik berdasarkan ti,1 adalah :
Tugas i 3 2 6
ti,1 1 2 3
Dari tabel, himpunan V yang terbentuk adalah :
Tugas i 1 4 5 7 8
ti,1 5 7 6 7 5ti,2 2 5 6 2 1
7.3. JOB SHOP PROBLEM 135
Setelah diurutkan turun berdasarkan ti,2 adalah :
Tugas i 5 4 7 1 8
ti,2 6 5 2 2 1
Sehingga urutan tugas yang optimal adalah : {3, 2, 6, 5, 4, 7, 1, 8}.Gantt chart untuk urutan tugas optimal adalah :
Gambar 7.2.1. Gantt Chart untuk Flow Shop Problem
7.3 Job Shop Problem
Model dari Job Shop Problem mirip dengan Flow Shop Problem yaitu : terdapat m mesin dan ntugas. Setiap tugas terdiri dari m operasi dan setiap operasi membutuhkan mesin yang berbeda.Namun perbedaaannya adalah setiap tugas memiliki urutan pengoperasian mesin yang berbeda.
Waktu pemrosesan dari tugas i pada mesin j diberikan oleh ti,j(i = 1, 2, . . . , n; j = 1, 2, . . . ,m).Obyektif dari job shop problem adalah menemukan urutan tugas yang meminimumkan arus mak-simum.
Contoh :
Diketahui waktu pemrosesan tiga tugas dengan tiga mesin sebagai berikut :
Tugas i 1 2 3
ti,1 3 3 2ti,2 1 3 5ti,3 3 2 3
Urutan mesin yang digunakan pada masing-masing tugas adalah :
Tugas 1 : 1→ 2→ 3
Tugas 2 : 1→ 3→ 2
Tugas 3 : 2→ 1→ 3
Tentukan urutan tugas yang optimal.
Jawab :
Gantt chart untuk urutan tugas yang optimal adalah :
136BAB 7. PENJADWALAN PROYEK, FLOW SHOP PROBLEM, DAN JOB SHOP PROBLEM
Gambar 7.3. Gantt Chart untuk Job Shop Problem
Tiga digit pada gantt chart dapat dinotasikan dengan notasi ”ioj”. Contoh angka 321 berarti tugas3 dikerjakan pada mesin 1 dengan urutan nomor 2.
Bab 8
Pemrograman Bilangan Bulat (IntegerProgramming)
Pemrograman bilangan bulat menggunakan metode Simpleks dalam perhitungannya. Dalam metodeSimpleks, ada kalanya solusi optimal yang dihasilkan berupa bilangan real pecahan. Namun dalamobyek yang bersifat diskrit misal jumlah pekerja, jumlah produksi, dan sebagainya, solusi yang di-hasilkan merupakan bilangan bulat positif sehingga metode Simpleks dapat dikembangkan menjadipemrograman bilangan bulat.
8.1 Metode Branch and Bound
Dalam memecahkan permasalahan pemrograman bilangan bulat, metode Branch and Bound pal-ing sering digunakan. Metode ini menggunakan tiga tahapan yaitu percabangan (branching),pengikatan (bounding), dan penguasaan (fathoming).
8.1.1 Tahap Awal (Inisialisasi)
Pada masalah optimisasi maksimalisasi nilai Z, tetapkan Z∗ = −∞.
8.1.2 Tahap Optimisasi
1. Percabangan (Branching). Misalkan x∗i adalah variabel dari solusi optimal yang bukanhimpunan bilangan bulat. Buatlah cabang menjadi xi ≤ [x∗i ] dan xi ≥ [x∗i ] + 1.
2. Pembatasan (Bounding). Tentukan batas dari Z menggunakan metode grafis (jika hanyaterdiri dari dua peubah) atau metode Simpleks.
3. Penguasaan (Fathoming). Syarat-syarat jika solusi optimal tersebut keadaan fathom se-hingga kita tidak perlu membuat cabang lagi adalah :
(a) JIka Znew ≤ Z∗old
(b) Tidak memiliki solusi optimal.
(c) Telah memiliki solusi optimal berupa bilangan bulat.
137
138 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
8.1.3 Tahap Pemberhentian
Tahap pemberhentian terjadi ketika semua solusi dalam keadaan fathom sehingga kita tidak bisamembuat cabang lagi.
8.1.4 Komputasi
Contoh :
Diketahui masalah program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1, x2 ≥ 0
x1, x2 ∈ B
Tentukan solusi optimalnya.
Jawab :
Pertama-tama buatlah grafik kendalanya seperti pada Gambar 8.1.4.
Gambar 8.1.4. Grafik Kendala Metode Branch and Bound
Cabang 1
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
(0; 0), (0; 1, 1), (3, 8; 3), (5; 2, 4), (5; 0). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) =
8.1. METODE BRANCH AND BOUND 139
−x1 + 4x2.
f(0; 0) = −0 + 4(0) = 0
f(0; 1, 1) = −0 + 4(1, 1) = 4, 4
f(3, 8; 3) = −3, 8 + 4(3) = 8, 2
f(5; 2, 4) = −5 + 4(2, 4) = 4, 6
f(5; 0) = −5 + 4(0) = 5
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (3, 8; 3) menghasilkan nilai Z palingbesar yaitu sebesar 8,2.
Karena x1 = 3, 8 bukan termasuk elemen bilangan bulat, maka nilai x1 harus dibagi menjadi x1 ≤ 3dan x1 ≥ 4.
Cabang 1.1
Dari cabang 1, untuk kasus x1 ≤ 3, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala
−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≤ 3
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
(0; 0), (0; 1, 1), (3; 0), (3; 2, 6). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) = −x1 +4x2.
f(0; 0) = −0 + 4(0) = 0
f(0; 1, 1) = −0 + 4(1, 1) = 4, 4
f(3; 0) = −3 + 4(0) = −3
f(3; 2, 6) = −3 + 4(2, 6) = 7, 4
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (3; 2, 6) menghasilkan nilai Z palingbesar yaitu sebesar 7,4.
140 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
Gambar 8.1.4. Branch and Bound Cabang 1.1
Karena x2 = 2, 6 bukan termasuk elemen bilangan bulat, maka nilai x2 harus dibagi menjadi x2 ≤ 2dan x2 ≥ 3.
Cabang 1.2
Dari cabang 1, untuk kasus x1 ≥ 4, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala
−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≥ 4
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
(4; 0), (5; 0), (5; 2, 4), (4; 2, 9). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) = −x1 +4x2.
f(4; 0) = −4 + 4(0) = −4
f(5; 0) = −5 + 4(0) = −5
f(5; 2, 4) = −5 + 4(2, 4) = 4, 6
f(4; 2, 9) = −4 + 4(2, 9) = 7, 6
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (4; 2, 9) menghasilkan nilai Z palingbesar yaitu sebesar 7,6.
8.1. METODE BRANCH AND BOUND 141
Gambar 8.1.4. Branch and Bound Cabang 1.2
Karena x2 = 2, 9 bukan termasuk elemen bilangan bulat, maka nilai x2 harus dibagi menjadi x2 ≤ 2dan x2 ≥ 3.
Gambar 8.1.4. Branch and Bound Cabang 1.1 dan 1.2
Cabang 1.1.1
Dari cabang 1.1, untuk kasus x2 ≤ 2, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
142 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
dengan kendala
−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≤ 3
x2 ≤ 2
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
(0; 0), (0; 1, 1), (1, 8; 2), (3; 2), (3; 0). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) =−x1 + 4x2.
f(0; 0) = −0 + 4(0) = 0
f(0; 1, 1) = −0 + 4(1, 1) = 4, 4
f(1, 8; 2) = −1, 8 + 4(2) = 6, 2
f(3; 2) = −3 + 4(2) = 5
f(3; 0) = −3 + 4(0) = −3
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (1, 8; 2) menghasilkan nilai Z palingbesar yaitu sebesar 6,2.
Gambar 8.1.4. Branch and Bound Cabang 1.1.1
Karena x1 = 1, 8 bukan termasuk elemen bilangan bulat, maka nilai x1 harus dibagi menjadi x1 ≤ 1dan x1 ≥ 2.
Cabang 1.1.2
Dari cabang 1.1, untuk kasus x2 ≥ 3, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
8.1. METODE BRANCH AND BOUND 143
dengan kendala−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≤ 3
x2 ≥ 3
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, pertidaksamaan x2 ≥ 3 berada di luarfeasible area sehingga pada cabang ini tidak ada solusi optimal.
Gambar 8.1.4. Branch and Bound Cabang 1.1.2
Cabang 1.2.1
Dari cabang 1.2, untuk kasus x2 ≤ 2, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≥ 4
x2 ≤ 2
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
144 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
(4; 0), (5; 0), (4; 2), (5; 2). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) = −x1 +4x2.
f(4; 0) = −4 + 4(0) = −4
f(5; 0) = −5 + 4(0) = −5
f(4; 2) = −4 + 4(2) = 4
f(5; 2) = −5 + 4(2) = 3
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (4; 2) menghasilkan nilai Z palingbesar yaitu sebesar 4.
Gambar 8.1.4. Branch and Bound Cabang 1.2.1
Cabang 1.2.2
Dari cabang 1.2, untuk kasus x2 ≥ 3, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala
−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≥ 4
x2 ≥ 3
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, pertidaksamaan x2 ≥ 3 berada di luarfeasible area sehingga pada cabang ini tidak ada solusi optimal.
8.1. METODE BRANCH AND BOUND 145
Gambar 8.1.4. Branch and Bound Cabang 1.2.2
Gambar 8.1.4. Branch and Bound Cabang 1.1.1, 1.1.2, 1.2.1, 1.2.2
Cabang 1.1.1.1
Dari cabang 1.1.1, untuk kasus x1 ≤ 1, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala
−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≤ 3
x2 ≤ 2
x1 ≤ 1
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
(0; 0), (0; 1, 1), (1; 1, 6), (1; 0). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) = −x1 +
146 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
4x2.
f(0; 0) = −0 + 4(0) = 0
f(0; 1, 1) = −0 + 4(1, 1) = 4, 4
f(1; 1, 6) = −1 + 4(1, 6) = 5, 4
f(1; 0) = −1 + 4(0) = −1
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (1; 1, 6) menghasilkan nilai Z palingbesar yaitu sebesar 5,4.
Gambar 8.1.4. Branch and Bound Cabang 1.1.1.1
Karena x2 = 1, 6 bukan termasuk elemen bilangan bulat, maka nilai x2 harus dibagi menjadi x2 ≤ 1dan x2 ≥ 2.
Cabang 1.1.1.2
Dari cabang 1.1.1, untuk kasus x1 ≥ 2, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala
−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≤ 3
x2 ≤ 2
x1 ≥ 2
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
8.1. METODE BRANCH AND BOUND 147
(2; 0), (3; 0), (2; 2), (3; 2). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) = −x1 +4x2.
f(2; 0) = −2 + 4(0) = −2
f(3; 0) = −3 + 4(0) = −3
f(2; 2) = −2 + 4(2) = 6
f(3; 2) = −3 + 4(2) = 5
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (2; 2) menghasilkan nilai Z palingbesar yaitu sebesar 6.
Gambar 8.1.4. Branch and Bound Cabang 1.1.1.2
Cabang 1.1.1.1.1
Dari cabang 1.1.1.1, untuk kasus x2 ≤ 1, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala
−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≤ 3
x2 ≤ 2
x1 ≤ 1
x2 ≤ 1
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, diperoleh titik potongnya adalah :
148 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
(0; 0), (0; 1), (1; 1), (1; 0). Kemudian kita masukkan pada fungsi obyektif Z = f(x1, x2) = −x1 +4x2.
f(0; 0) = −0 + 4(0) = 0
f(0; 1) = −0 + 4(1) = 4
f(1; 1) = −1 + 4(1) = 3
f(1; 0) = −1 + 4(0) = −1
Dari hasil perhitungan di atas, terlihat bahwa titik (x1, x2) = (0; 1) menghasilkan nilai Z palingbesar yaitu sebesar 4.
Gambar 8.1.4. Branch and Bound Cabang 1.1.1.1.1
Cabang 1.1.1.1.2
Dari cabang 1.1.1.1, untuk kasus x2 ≥ 2, diperoleh program linear sebagai berikut :
maxZ = −x1 + 4x2
dengan kendala−10x1 + 20x2 ≤ 22
5x1 + 10x2 ≤ 49
x1 ≤ 5
x1 ≤ 3
x2 ≤ 2
x1 ≤ 1
x2 ≥ 2
x1, x2 ≥ 0
x1, x2 ∈ B
Kemudian hitung titik potongnya. Dari hasil perhitungan, pertidaksamaan x2 ≥ 2 berada di luarfeasible area sehingga pada cabang ini tidak ada solusi optimal.
8.2. PEMROGRAMAN BINER 149
Gambar 8.1.4. Branch and Bound Cabang 1.1.1.1.2
Gambar 8.1.4. Branch and Bound Cabang 1.1.1.1, 1.1.1.2, 1.1.1.1.1, 1.1.1.1.2
Kesimpulan :
Dari hasil perhitungan, pada cabang 1.1.1.2 menghasilkan nilai Z paling besar, yaitu Z = 6 denganx1 = 2 dan x2 = 2.
8.2 Pemrograman Biner
Pemrograman biner adalah model optimisasi dengan kendala, dan variabel keputusan dari modelberupa bilangan 0 atau 1. Metode yang digunakan dalam pemrograman biner mirip dengan Branchand Bound yang menggunakan tiga tahapan yaitu percabangan (branching), pengikatan (bound-ing), dan penguasaan (fathoming).
8.2.1 Tahap Awal (Inisialisasi)
Pada masalah optimisasi maksimalisasi nilai Z, tetapkan Z∗ = −∞.
150 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
8.2.2 Tahap Optimisasi
1. Percabangan (Branching). Misalkan x∗i adalah variabel dari solusi optimal yang bukanbilangan 0 atau 1. Buatlah cabang menjadi xi = 0 dan xi = 1.
2. Pembatasan (Bounding). Tentukan batas dari Z menggunakan metode grafis (jika hanyaterdiri dari dua peubah) atau metode Simpleks.
3. Penguasaan (Fathoming). Syarat-syarat jika solusi optimal tersebut keadaan fathom se-hingga kita tidak perlu membuat cabang lagi adalah :
(a) JIka Znew ≤ Z∗old
(b) Tidak memiliki solusi optimal.
(c) Telah memiliki solusi optimal berupa bilangan 0 atau 1.
8.2.3 Tahap Pemberhentian
Tahap pemberhentian terjadi ketika semua solusi dalam keadaan fathom sehingga kita tidak bisamembuat cabang lagi.
8.2.4 Komputasi
Contoh :
Diketahui masalah program linear sebagai berikut :
maxZ = 9x1 + 5x2 + 6x3 + 4x4
dengan kendala
6x1 + 3x2 + 5x3 + 2x4 ≤ 10
x3 + x4 ≤ 1
−x1 + x3 ≤ 0
−x2 + x4 ≤ 0
0 ≤ x1, x2, x3, x4 ≤ 1
x1, x2, x3, x4 ∈ {0, 1}
Tentukan solusi optimalnya.
Jawab :
Cabang 1
Dengan menggunakan metode Simpleks, diperoleh nilai (x1, x2, x3, x4) = (5
6; 1; 0; 1). Kemudian kita
masukkan pada fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(5
6; 1; 0; 1) = 9(
5
6) + 5(1) + 6(0) + 4(1) = 16, 5
8.2. PEMROGRAMAN BINER 151
Karena x1 =5
6bukan termasuk elemen {0, 1}, maka nilai x1 harus dibagi menjadi x1 = 0 dan
x1 = 1.
Cabang 1.1
Dari cabang 1, untuk kasus x1 = 0, diperoleh program linear sebagai berikut :
maxZ = 5x2 + 6x3 + 4x4
dengan kendala3x2 + 5x3 + 2x4 ≤ 10
x3 + x4 ≤ 1
x3 ≤ 0
−x2 + x4 ≤ 0
0 ≤ x2, x3, x4 ≤ 1
x2, x3, x4 ∈ {0, 1}Dengan menggunakan metode Simpleks, diperoleh nilai (x2, x3, x4) = (1; 0; 1). Gabungkan dengannilai x1 = 0 sehingga diperoleh nilai (x1, x2, x3, x4) = (0; 1; 0; 1). Kemudian kita masukkan padafungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(0; 1; 0; 1) = 9(0) + 5(1) + 6(0) + 4(1) = 9
Cabang 1.2
Dari cabang 1, untuk kasus x1 = 1, diperoleh program linear sebagai berikut :
maxZ = 9 + 5x2 + 6x3 + 4x4
dengan kendala3x2 + 5x3 + 2x4 ≤ 4
x3 + x4 ≤ 1
x3 ≤ 1
−x2 + x4 ≤ 0
0 ≤ x2, x3, x4 ≤ 1
x2, x3, x4 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x2, x3, x4) = (4
5; 0;
4
5). Gabungkan dengan
nilai x1 = 1 sehingga diperoleh nilai (x1, x2, x3, x4) = (1;4
5; 0;
4
5). Kemudian kita masukkan pada
fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1;4
5; 0;
4
5) = 9(1) + 5(
4
5) + 6(0) + 4(
4
5) = 16
1
5
Karena x2 =4
5bukan termasuk elemen bilangan bulat, maka nilai x2 harus dibagi menjadi x2 = 0
dan x2 = 1.
152 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
Karena x4 =4
5bukan termasuk elemen bilangan bulat, maka nilai x4 harus dibagi menjadi x4 = 0
dan x4 = 1.
Cabang 1.2.1
Dari cabang 1.2, untuk kasus x2 = 0, diperoleh program linear sebagai berikut :
maxZ = 9 + 6x3 + 4x4
dengan kendala5x3 + 2x4 ≤ 4
x3 + x4 ≤ 1
x3 ≤ 1
x4 ≤ 0
0 ≤ x3, x4 ≤ 1
x3, x4 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x3, x4) = (4
5; 0). Gabungkan dengan nilai
x1 = 1, x2 = 0 sehingga diperoleh nilai (x1, x2, x3, x4) = (1; 0;4
5; 0). Kemudian kita masukkan pada
fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 0;4
5; 0) = 9(1) + 5(0) + 6(
4
5) + 4(0) = 13, 8
Karena x3 =4
5bukan termasuk elemen bilangan bulat, maka nilai x3 harus dibagi menjadi x3 = 0
dan x3 = 1.
Cabang 1.2.2
Dari cabang 1.2, untuk kasus x2 = 1, diperoleh program linear sebagai berikut :
maxZ = 14 + 6x3 + 4x4
dengan kendala5x3 + 2x4 ≤ 1
x3 + x4 ≤ 1
x3 ≤ 1
x4 ≤ 1
0 ≤ x3, x4 ≤ 1
x3, x4 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x3, x4) = (0;1
2). Gabungkan dengan nilai
x1 = 1, x2 = 1 sehingga diperoleh nilai (x1, x2, x3, x4) = (1; 1; 0;1
2). Kemudian kita masukkan pada
fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 1; 0;1
2) = 9(1) + 5(1) + 6(0) + 4(
1
2) = 16
8.2. PEMROGRAMAN BINER 153
Karena x4 =1
2bukan termasuk elemen bilangan bulat, maka nilai x4 harus dibagi menjadi x4 = 0
dan x4 = 1.
Cabang 1.2.3
Dari cabang 1.2, untuk kasus x4 = 0, diperoleh program linear sebagai berikut :
maxZ = 9 + 5x2 + 6x3
dengan kendala3x2 + 5x3 ≤ 4
x3 ≤ 1
x3 ≤ 1
−x2 ≥ 0
0 ≤ x2, x3 ≤ 1
x2, x3 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x2, x3) = (0;4
5). Gabungkan dengan nilai
x1 = 1, x4 = 0 sehingga diperoleh nilai (x1, x2, x3, x4) = (1; 0;4
5; 0). Kemudian kita masukkan pada
fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 0;4
5; 0) = 9(1) + 5(0) + 6(
4
5) + 4(0) = 13, 8
Karena x3 =4
5bukan termasuk elemen bilangan bulat, maka nilai x3 harus dibagi menjadi x3 = 0
dan x3 = 1.
Cabang 1.2.4
Dari cabang 1.2, untuk kasus x4 = 1, diperoleh program linear sebagai berikut :
maxZ = 13 + 5x2 + 6x3
dengan kendala3x2 + 5x3 ≤ 2
x3 ≤ 0
x3 ≤ 1
−x2 + 1 ≥ 0
0 ≤ x2, x3 ≤ 1
x2, x3 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x2, x3) = (2
3; 0). Gabungkan dengan nilai
x1 = 1, x4 = 1 sehingga diperoleh nilai (x1, x2, x3, x4) = (1;2
3; 0; 1). Kemudian kita masukkan pada
fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 1; 0;1
2) = 9(1) + 5(1) + 6(0) + 4(
1
2) = 16, 3
154 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
Karena x2 =2
3bukan termasuk elemen bilangan bulat, maka nilai x2 harus dibagi menjadi x2 = 0
dan x2 = 1.
Gambar 8.2.4. Pemrograman Biner Cabang 1.2.1, 1.2.2, 1.2.3, 1.2.4
Cabang 1.2.1.1
Dari cabang 1.2.1, untuk kasus x3 = 0, diperoleh program linear sebagai berikut :
maxZ = 9 + 4x4
dengan kendala2x4 ≤ 4
x4 ≤ 1
x4 ≤ 0
0 ≤ x4 ≤ 1
x4 ∈ {0, 1}Dengan menggunakan metode Simpleks, diperoleh nilai (x4) = (0). Gabungkan dengan nilai x1 =1, x2 = 0, x3 = 0 sehingga diperoleh nilai (x1, x2, x3, x4) = (1; 0; 0; 0). Kemudian kita masukkanpada fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 0; 0; 0) = 9(1) + 5(0) + 6(0) + 4(0) = 9
Cabang 1.2.1.2
Dari cabang 1.2.1, untuk kasus x3 = 1, diperoleh program linear sebagai berikut :
maxZ = 15 + 4x4
dengan kendala2x4 ≤ −1
x4 ≤ 0
1 ≤ 1
x4 ≤ 0
8.2. PEMROGRAMAN BINER 155
0 ≤ x4 ≤ 1
x4 ∈ {0, 1}Dari hasil perhitungan, pertidaksamaan 2x4 ≤ −1 berada di luar feasible area sehingga pada cabangini tidak ada solusi optimal.
Cabang 1.2.2.1
Dari cabang 1.2.2, untuk kasus x4 = 0, diperoleh program linear sebagai berikut :
maxZ = 14 + 6x3
dengan kendala5x3 ≤ 1
x3 ≤ 1
x3 ≤ 1
0 ≤ 1
0 ≤ x3 ≤ 1
x3 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x3) = (1
5). Gabungkan dengan nilai x1 =
1, x2 = 1, x4 = 0 sehingga diperoleh nilai (x1, x2, x3, x4) = (1; 1;1
5; 0). Kemudian kita masukkan
pada fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 1;1
5; 0) = 9(1) + 5(1) + 6(
1
5) + 4(0) = 15, 2
Karena x3 =1
5bukan termasuk elemen bilangan bulat, maka nilai x3 harus dibagi menjadi x3 = 0
dan x3 = 1.
Cabang 1.2.2.2
Dari cabang 1.2.2, untuk kasus x4 = 1, diperoleh program linear sebagai berikut :
maxZ = 18 + 6x3
dengan kendala5x3 ≤ −1
x3 ≤ 0
x3 ≤ 1
1 ≤ 1
0 ≤ x3 ≤ 1
x3 ∈ {0, 1}Dari hasil perhitungan, pertidaksamaan 5x3 ≤ −1 berada di luar feasible area sehingga pada cabangini tidak ada solusi optimal.
156 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
Gambar 8.2.4. Pemrograman Biner Cabang 1.2.1.1, 1.2.1.2, 1.2.2.1, 1.2.2.2
Cabang 1.2.3.1
Dari cabang 1.2.3, untuk kasus x3 = 0, diperoleh program linear sebagai berikut :
maxZ = 9 + 5x2
dengan kendala3x2 ≤ 4
0 ≤ 1
0 ≤ 1
x2 ≤ 0
0 ≤ x2 ≤ 1
x2 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x2) = (0). Gabungkan dengan nilai x1 =1, x3 = 0, x4 = 0 sehingga diperoleh nilai (x1, x2, x3, x4) = (1; 0; 0; 0). Kemudian kita masukkanpada fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 0; 0; 0) = 9(1) + 5(0) + 6(0) + 4(0) = 9
Cabang 1.2.3.2
Dari cabang 1.2.3, untuk kasus x3 = 1, diperoleh program linear sebagai berikut :
maxZ = 15 + 5x2
dengan kendala3x2 ≤ −1
1 ≤ 1
1 ≤ 1
x2 ≤ 0
8.2. PEMROGRAMAN BINER 157
0 ≤ x2 ≤ 1
x2 ∈ {0, 1}
Dari hasil perhitungan, pertidaksamaan 3x2 ≤ −1 berada di luar feasible area sehingga pada cabangini tidak ada solusi optimal.
Cabang 1.2.4.1
Dari cabang 1.2.4, untuk kasus x2 = 0, diperoleh program linear sebagai berikut :
maxZ = 13 + 6x3
dengan kendala
5x3 ≤ 2
x3 ≤ 0
x3 ≤ 1
0 ≤ 1
0 ≤ x3 ≤ 1
x3 ∈ {0, 1}
Dengan menggunakan metode Simpleks, diperoleh nilai (x3) = (0). Gabungkan dengan nilai x1 =1, x2 = 0, x4 = 1 sehingga diperoleh nilai (x1, x2, x3, x4) = (1; 0; 0; 1). Kemudian kita masukkanpada fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 0; 0; 1) = 9(1) + 5(0) + 6(0) + 4(1) = 13
Cabang 1.2.4.2
Dari cabang 1.2.4, untuk kasus x2 = 1, diperoleh program linear sebagai berikut :
maxZ = 18 + 6x3
dengan kendala
5x3 ≤ −1
x3 ≤ 0
x3 ≤ 1
1 ≤ 1
0 ≤ x3 ≤ 1
x3 ∈ {0, 1}
Dari hasil perhitungan, pertidaksamaan 5x3 ≤ −1 berada di luar feasible area sehingga pada cabangini tidak ada solusi optimal.
158 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
Gambar 8.2.4. Pemrograman Biner Cabang 1.2.3.1, 1.2.3.2, 1.2.4.1, 1.2.4.2
Cabang 1.2.2.1.1
Dari cabang 1.2.2.1, untuk kasus x3 = 0, diperoleh program linear sebagai berikut :
maxZ = 14
dengan kendala0 ≤ 1
0 ≤ 1
0 ≤ 1
0 ≤ 1
Dengan menggunakan metode Simpleks, diperoleh nilai (x1, x2, x3, x4) = (1; 1; 0; 0). Kemudian kitamasukkan pada fungsi obyektif Z = f(x1, x2, x3, x4) = 9x1 + 5x2 + 6x3 + 4x4.
f(1; 1; 0; 0) = 9(1) + 5(1) + 6(0) + 4(0) = 14
Cabang 1.2.2.1.2
Dari cabang 1.2.2.1, untuk kasus x3 = 0, diperoleh program linear sebagai berikut :
maxZ = 20
dengan kendala5 ≤ 1
1 ≤ 1
1 ≤ 1
0 ≤ 1
Dari hasil perhitungan, pertidaksamaan 5 ≤ 1 bernilai salah sehingga pada cabang ini tidak adasolusi optimal.
Kesimpulan :
Dari hasil perhitungan, pada cabang 1.2.2.1.1 menghasilkan nilai Z paling besar, yaitu Z = 14dengan x1 = 1, x2 = 1, x3 = 0, x4 = 0.
8.3. METODE CUTTING PLANE 159
8.3 Metode Cutting Plane
Metode Cutting Plane adalah metode yang memodifikasi daerah solusi dengan menambahkan garispotong (cut) yang akan menghasilkan solusi bilangan bulat optimal.
8.3.1 Tahap Awal (Inisialisasi)
1. Selesaikan masalah linear programming menggunakan metode Simpleks.
2. Modifikasi koefisien yang bukan bilangan bulat ke dalam nilai bilangan bulat dan komponenpecahan. Komponen pecahan harus bernilai positif. Pisahkan komponen pecahan beradapada ruas kanan persamaan.
3. Berilah tanda pada komponen pecahan dengan≤ 0. Tambahkan variabel slack supaya menjadipersamaan.
8.3.2 Tahap Optimisasi
Pilih salah satu dari konstrain untuk menjadi source row. Tambahkan ke dalam baris baru padatabel Simpleks. Lakukan operasi baris elementer (OBE) untuk menghasilkan solusi.
8.3.3 Tahap Pemberhentian
Tahap pemberhentian terjadi ketika semua solusi adalah bilangan bulat. Contoh :
Diketahui masalah program linear sebagai berikut :
maxZ = 7x1 + 10x2
dengan kendala
−x1 + 3x2 ≤ 6
7x1 + x2 ≤ 35
x1, x2 ≥ 0
x1, x2 ∈ B
Tentukan solusi optimalnya.
Jawab :
Pertama-tama buatlah grafik kendalanya seperti pada Gambar 8.3.3.
160 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
Gambar 8.3.3. Grafik Kendala Metode Cutting Plane
Berdasarkan Gambar 8.3.3, penyelesaian metode Cutting Plane adalah :
Z = 66, 5 x1 = 4, 5 x2 = 3, 5
Tambahkan cut I sehingga menjadi :
Z = 62 x1 = 447 x2 = 3
Tambahkan cut II sehingga menjadi :
Z = 58 x1 = 4 x2 = 3
Untuk perhitungannya adalah sebagai berikut :
Iterasi 1
No. Z x1 x2 s3 s4 Solusi
B0 1 0 0 6322
3122 661
2B1 0 0 1 7
22122 31
2B2 0 1 0 − 1
22322 41
2
Dari tabel, terlihat bahwa solusi x1 = 412 dan x2 = 31
2 tidak berbentuk bilangan bulat. Nilai padatabel Simpleks dapat dibentuk menjadi sistem persamaan berikut :
Z +63
22s3 +
31
22s4 = 66
1
20
x2 +7
22s3 +
1
22s4 = 3
1
21
x1 −1
22s3 +
3
22s4 = 4
1
22
Dari baris 0, faktorkan persamaan menjadi :
Z +63
22s3 +
31
22s4 = 66
1
2
Z + (2 +19
22)s3 + (1 +
9
22)s4 = (66 +
1
2)
Z + 2s3 + s4 − 66 = −19
22s3 −
9
22s4 +
1
2
8.3. METODE CUTTING PLANE 161
Pada komponen pecahan, ubahlah menjadi pertidaksamaan.
−19
22s3 −
9
22s4 +
1
2≤ 0
Dari baris 2, faktorkan persamaan menjadi :
x1 −1
22s3 +
3
22s4 = 4
1
2
x1 + (−1 +21
22)s3 + (0 +
3
22)s4 = (4 +
1
2)
x1 − s3 − 4 = −21
22s3 −
3
22s4 +
1
2
Pada komponen pecahan, ubahlah menjadi pertidaksamaan.
−21
22s3 −
3
22s4 +
1
2≤ 0
Dari baris 1, faktorkan persamaan menjadi :
x2 +7
22s3 +
1
22s4 = 3
1
2
x2 + (0 +7
22)s3 + (0 +
1
22)s4 = (3 +
1
2)
x2 − 3 = − 7
22s3 −
1
22s4 +
1
2
Pada komponen pecahan, ubahlah menjadi pertidaksamaan.
− 7
22s3 −
1
22s4 +
1
2≤ 0
Kemudian ambil salah satu baris pertidaksamaan, misalkan baris 1.
− 7
22s3 −
1
22s4 +
1
2≤ 0
Tambahkan variabel slack s5 sehingga menjadi persamaan.
− 7
22s3 −
1
22s4 + s5 = −1
2
Tambahkan ke dalam tabel simpleks.
No. Z x1 x2 s3 s4 s5 Solusi
B0 1 0 0 6322
3122 0 661
2B1 0 0 1 7
22122 0 31
2B2 0 1 0 − 1
22322 0 41
2B3 0 0 0 − 7
22 − 122 1 −1
2
162 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan − 722 supaya koefisien s3 bernilai 1. Supaya koefisien s3 yang lain bernilai
0, maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 0 dengan 6322 kali baris 3,
kurangkan baris 1 dengan 722 kali baris 3, jumlahkan baris 2 dengan 1
22 kali baris 3.
Lebih jelasnya adalah mengubah kolom pivot
6322722− 1
22− 7
22
menjadi
0001
dengan cara sebagai
berikut :
6322722− 1
22− 7
22
−−−−→−227 B3
6322722− 1
221
−−−−−−−−−→B0 − 63
22B3
B1 − 722B3
B2 + 122B3
0001
Operasi baris elementer (OBE) : −22
7B3
0 0 0 − 722 − 1
22 1 = −12 | × −22
7 | 0 0 0 1 17 −22
7 = 147
Operasi baris elementer (OBE) : B0 − 6322B3
1 0 0 6322
3122 0 = 661
2 | × 1| 1 0 0 6322
3122 0 = 661
2
0 0 0 1 17 −22
7 = 147 | × (−63
22)| 0 0 0 −6322 − 9
22 9 = −92
1 0 0 0 1 9 = 62
Operasi baris elementer (OBE) : B1 − 722B3
0 0 1 722
122 0 = 31
2 | × 1| 0 0 1 722
122 0 = 31
2
0 0 0 1 17 −22
7 = 147 | × (− 7
22)| 0 0 0 − 722 − 1
22 1 = −12
0 0 1 0 0 1 = 3
Operasi baris elementer (OBE) : B2 + 122B3
0 1 0 − 122
322 0 = 41
2 | × 1| 0 1 0 − 122
322 0 = 41
2
0 0 0 1 17 −22
7 = 147 | × ( 1
22)| 0 0 0 122
1154 −1
7 = 114
0 1 0 0 17 −1
7 = 447
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 Solusi
B0 1 0 0 0 1 9 62B1 0 0 1 0 0 1 3B2 0 1 0 0 1
7 −17 44
7B3 0 0 0 1 1
7 −227 14
7
8.3. METODE CUTTING PLANE 163
Dari tabel terlihat bahwa solusi x1 = 447 bukan bilangan bulat.
Kemudian ambil salah satu baris pertidaksamaan.
x1 +1
7s4 −
1
7s5 = 4
4
7
x1 + (0 +1
7)s4 + (−1 +
6
7)s5 = 4 +
4
7
x1 − s5 − 4 = −1
7s4 −
6
7s5 +
4
7
Tambahkan variabel slack s6 sehingga menjadi persamaan.
−1
7s4 −
6
7s5 + s6 = −4
7
Tambahkan ke dalam tabel simpleks.
No. Z x1 x2 s3 s4 s5 s6 Solusi
B0 1 0 0 0 1 9 0 62B1 0 0 1 0 0 1 0 3B2 0 1 0 0 1
7 −17 0 44
7B3 0 0 0 1 1
7 −227 0 14
7B4 0 0 0 0 −1
7 −67 1 −4
7
Operasi Baris Elementer (OBE)
Bagi baris pivot dengan −17 supaya koefisien s4 bernilai 1. Supaya koefisien s4 yang lain bernilai 0,
maka dapat dilakukan operasi baris elementer yaitu : kurangkan baris 0 dengan baris 4, kurangkanbaris 2 dengan 1
7 kali baris 4, kurangkan baris 3 dengan 17 kali baris 4.
Lebih jelasnya adalah mengubah kolom pivot
101717−1
7
menjadi
00001
dengan cara sebagai berikut
:
101717−1
7
−−−→−7B4
1017171
−−−−−−−−→B0 −B4
B2 − 17B4
B3 − 17B4
00001
Operasi baris elementer (OBE) : −7B4
0 0 0 0 −17 −6
7 1 = −47 | × −7| 0 0 0 0 1 6 −7 = 4
Operasi baris elementer (OBE) : B0 −B4
164 BAB 8. PEMROGRAMAN BILANGAN BULAT (INTEGER PROGRAMMING)
1 0 0 0 1 9 0 = 62 | × 1| 1 0 0 0 1 9 0 = 62
0 0 0 0 1 6 −7 = 4 | × −1| 0 0 0 0 −1 −6 7 = −4
1 0 0 0 0 3 7 = 58
Operasi baris elementer (OBE) : B2 − 17B4
0 1 0 0 17 −1
7 0 = 447 | × 1| 0 1 0 0 1
7 −17 0 = 44
7
0 0 0 0 1 6 −7 = 4 | × (−17)| 0 0 0 0 −1
7 −67 1 = −4
7
0 1 0 0 0 −1 1 = 4
Operasi baris elementer (OBE) : B3 − 17B4
0 0 0 1 17 −22
7 0 = 147 | × 1| 0 0 0 1 1
7 −227 0 = 14
7
0 0 0 0 1 6 −7 = 4 | × (−17)| 0 0 0 0 −1
7 −67 1 = −4
7
0 0 0 1 0 −4 1 = 1
Sehingga diperoleh tabel yang baru adalah :
No. Z x1 x2 s3 s4 s5 s6 Solusi
B0 1 0 0 0 0 3 7 58B1 0 0 1 0 0 1 0 3B2 0 1 0 0 0 -1 1 4B3 0 0 0 1 0 -4 1 1B4 0 0 0 0 1 6 -7 4
Dari tabel terlihat bahwa solusi x1 = 4 dan x2 = 3 adalah bilangan bulat dengan nilai Z = 58.
Bab 9
Pemrograman Multiobyektif
Pemrograman multiobyektif yang banyak diterapkan pada masalah sehari-hari adalah Goal Pro-gramming dan Analytic Hierarchy Process (AHP). Goal Programming digunakan ketika terdapatlebih dari obyektif dan diurutkan berdasarkan prioritas. AHP pada umumnya digunakan padamasalah pemilihan dengan mempertimbangkan kriteria.
9.1 Goal Programming
Goal Programming adalah teknik yang digunakan untuk menyelesaikan masalah optimisasi dengankendala dimana terdapat prioritas urutan tujuan (obyektif) harus tercapai.
Bentuk matematika Goal Programming adalah sebagai berikut :
lexmin{z1 =∑m0
i=1(w+1id
+i + w−1id
−i ), ..., zp =
∑m0i=1(w+
qid+i + w−qid
−i )}
dengan kendala :fi(x) + d−i − d+
i = bi, i = 1, 2, ...,m0
gi(x) ≤ 0, i = m0 + 1, ...,m1
hi(x) = 0, i = m1 + 1, ...,m2
d−i , d+i ≥ 0,
dimana lexmin adalah lexikograf yang meminimumkan fungsi obyektif. Pada metode lexikograf,fungsi obyektif terdapat lebih dari satu dan diurutkan berdasarkan tingkat kepentingan. Solusioptimal ditentukan dengan meminimumkan fungsi obyektif yang dimulai dari yang paling pentingsecara berurutan tingkat kepentingan.
Parameter pada goal programming adalah :
d+i : variabel deviasi positif yang menyatakan kelebihan dari tujuan i.
d−i : variabel deviasi negatif yang menyatakan kekurangan dari tujuan i.
w+ki : bobot positif dari d+
i .
w−ki : bobot negatif dari d−i .
fi : kendala tujuan (goal constraints)
165
166 BAB 9. PEMROGRAMAN MULTIOBYEKTIF
gi : kendala pertidaksamaan
hi : kendala persamaan
bi : nilai target dari tujuan i
Dalam penyelesaian Goal Programming, terdapat dua metode, yaitu :
1. Metode Bobot. Terdapat satu fungsi obyektif yang merupakan jumlahan berbobot.
2. Metode Pre-emptive. Terdapat banyak (multiple) fungsi obyektif berdasarkan prioritaskepentingan.
Contoh :
Suatu perusahaan periklanan (radio dan televisi) akan mempromosikan suatu produk dengan kendalasebagai berikut :
4x1 + 8x2 ≥ 45
8x1 + 24x2 ≤ 100
x1 + 2x2 ≤ 10
x1 ≤ 6
1. Ubahlah model di atas menjadi bentuk Goal Programming dengan mengubah kendala pertamadan kendala kedua menjadi kendala tujuan.
2. Selesaikan dengan metode bobot dengan asumsi kendala tujuan pertama dua kali lebih pentingdaripada kendala tujuan kedua.
3. Selesaikan dengan metode pre-emptive dengan asumsi kendala tujuan pertama lebih pentingdaripada kendala tujuan kedua.
Jawab :
a.
Diketahui kendala pertama dan kendala kedua adalah :
4x1 + 8x2 ≥ 45
8x1 + 24x2 ≤ 100
Jika diubah menjadi kendala tujuan (goal constraint), maka menjadi :
lexmin(s−1 , s+2 )
dengan kendala :4x1 + 8x2 + s−1 − s+
1 = 45
8x1 + 24x2 + s−2 − s+2 = 100
x1 + 2x2 ≤ 10
x1 ≤ 6
x1, x2, s−1 , s
+1 , s
−2 , s
+2 ≥ 0
9.1. GOAL PROGRAMMING 167
b.
Pada metode bobot, karena kendala tujuan pertama dua kali lebih penting daripada kendala tujuankedua, maka bentuk Goal Programming menjadi :
minZ = 2s−1 + s+2
dengan kendala :4x1 + 8x2 + s−1 − s+
1 = 45
8x1 + 24x2 + s−2 − s+2 = 100
x1 + 2x2 ≤ 10
x1 ≤ 6
x1, x2, s−1 , s
+1 , s
−2 , s
+2 ≥ 0
Pertama-tama, tentukan solusi optimal dari kendala berikut :
x1 + 2x2 ≤ 10
x1 ≤ 6
Solusi optimal yang diperoleh adalah : x1 = 5 dan x2 = 2, 5. Kemudian masukkan nilai x1 dan x2
pada kendala tujuan pertama dan kendala tujuan kedua.
Kendala tujuan pertama :
4(5) + 2(2, 5) = 40
Karena kendala tujuan pertama dilanggar (40 < 45), maka nilai dari s−1 = 45− 40 = 5.
Kendala tujuan kedua :
8(5) + 24(2, 5) = 100
Karena kendala tujuan kedua dipenuhi, maka nilai dari s+2 = 0.
Sehingga nilai Z = 2(5) + 0 = 10.
c.
Pada metode Pre-emptive, karena kendala tujuan pertama lebih penting daripada kendala tujuankedua, maka bentuk Goal Programming menjadi :
lexmin(s−1 , s+2 )
dengan kendala :4x1 + 8x2 + s−1 − s+
1 = 45
8x1 + 24x2 + s−2 − s+2 = 100
x1 + 2x2 ≤ 10
x1 ≤ 6
x1, x2, s−1 , s
+1 , s
−2 , s
+2 ≥ 0
168 BAB 9. PEMROGRAMAN MULTIOBYEKTIF
Pertama-tama, tentukan solusi optimal dari kendala berikut :
x1 + 2x2 ≤ 10
x1 ≤ 6
Solusi optimal yang diperoleh adalah : x1 = 5 dan x2 = 2, 5. Kemudian masukkan nilai x1 dan x2
pada kendala tujuan pertama dan kendala tujuan kedua.
Kendala tujuan pertama :
4(5) + 2(2, 5) = 40
Karena kendala tujuan pertama dilanggar (40 < 45), maka nilai dari s−1 = 45− 40 = 5.
Kendala tujuan kedua :
8(5) + 24(2, 5) = 100
Karena kendala tujuan kedua dipenuhi, maka nilai dari s+2 = 0.
Sehingga nilai Z = (5, 0).
9.2 Analytic Hierarchy Process (AHP)
Analytic Hierarchy Process (AHP) digunakan untuk menyelesaikan masalah pengambilan keputusandengan banyak kriteria (multicriteria).
Langkah-langkah AHP adalah :
1. Menentukan matriks perbandingan pasangan (pairwise comparison maatrix) dengan nilai :
pij =
{c, Jika kriteria i lebih penting daripada kriteria j;1
c, Jika kriteria j lebih penting daripada kriteria i.
2. Jumlahkan setiap kolom pada matriks perbandingan pasangan.
3. Bagi setiap elemen pij dengan nilai jumlah kolom yang bersesuaian sehingga menghasilkanmatriks perbandingan pasangan dalam bentuk normal.
4. Hitung rata-rata setiap baris pada matriks perbandingan pasangan dalam bentuk normal.Semakin tinggi nilai rata-ratanya, semakin penting kriterianya.
5. Untuk setiap jenis obyek, buatlah matriks perbandingan pasangan sesuai dengan langkah 1-3.
6. Buatlah ranking prioritas pemilihan obyek.
9.2. ANALYTIC HIERARCHY PROCESS (AHP) 169
Contoh :
Seorang pembeli ingin membeli sebuah mobil dengan mempertimbangkan kriteria : harga (x1),kehematan bahan bakar (x2), kenyamanan (x3), dan model (x4). Setelah proses seleksi, terdapat 3mobil (mobil A, mobil B, mobil C) yang akan dipilih menjadi 1 mobil. Buatlah ranking prioritaspemilihan mobil yang akan dibeli.
Jawab :
Tentukan nilai c dari prioritas.
Kriteria Nilai
Sangat penting 9876
Penting 5432
Hampir penting 1
Tentukan prioritas dari kombinasi kriteria pemilihan mobil.
Perbandingan pasangan Kriteria paling penting Prioritas c
x1 − x2 x1 7x1 − x3 x1 6x1 − x4 x1 6x2 − x3 x3 8x2 − x4 x4 8x3 − x4 x4 6
Buatlah matriks perbandingan pasangan sebagai berikut :
(x1) (x2) (x3) (x4)
(x1) 1 7 6 6
(x2)1
7= 0, 143 1
1
8= 0, 125
1
8= 0, 125
(x3)1
6= 0, 167 8 1
1
6= 0, 167
(x4)1
6= 0, 167 8 6 1
Jumlah 1,476 24 13,125 7,295
Bagi setiap elemen pij dengan nilai jumlah kolom yang bersesuaian sehingga menghasilkan matriksperbandingan pasangan dalam bentuk normal.
170 BAB 9. PEMROGRAMAN MULTIOBYEKTIF
(x1) (x2) (x3) (x4)
(x1) 0,677 0,292 0,457 0,823(x2) 0,097 0,042 0,010 0,017(x3) 0,113 0,333 0,076 0,023(x4) 0,113 0,333 0,457 0,137
Hitunglah rata-rata setiap baris dan tentukan peringkat pada prioritas.
(x1) (x2) (x3) (x4) Rata-rata Peringkat
(x1) 0,677 0,292 0,457 0,823 0,562 1(x2) 0,097 0,042 0,010 0,017 0,041 4(x3) 0,113 0,333 0,076 0,023 0,136 3(x4) 0,113 0,333 0,457 0,137 0,260 2
Untuk setiap mobil, buatlah matriks perbandingan pasangan.
Kriteria : Harga (x1)
Mobil A Mobil B Mobil C
Mobil A 11
3
1
4
Mobil B 3 11
2Mobil C 4 2 1
Kriteria : Kehematan bahan bakar (x2)
Mobil A Mobil B Mobil C
Mobil A 11
4
1
6
Mobil B 4 11
3Mobil C 6 3 1
Kriteria : Kenyamanan (x3)
Mobil A Mobil B Mobil C
Mobil A 1 2 8
Mobil B1
21 6
Mobil C1
8
1
61
Kriteria : Model (x4)
9.2. ANALYTIC HIERARCHY PROCESS (AHP) 171
Mobil A Mobil B Mobil C
Mobil A 11
34
Mobil B 3 1 7
Mobil C1
4
1
71
Sehingga diperoleh rata-rata kriteria sebagai berikut :
Harga (x1) Kehematan bahan bakar (x2) Kenyamanan (x3) Model (x4)
Mobil A 0,123 0,087 0,593 0,265Mobil B 0,320 0,274 0,341 0,656Mobil C 0,557 0,639 0,065 0,080
Gunakan AHP untuk menentukan prioritas pada masing-masing obyek.
Mobil A : 0,562(0,123)+0,041(0,087)+0,136(0,593)+0,260(0,265)=0,223
Mobil B : 0,562(0,320)+0,041(0,274)+0,136(0,341)+0,260(0,656)=0,408
Mobil C : 0,562(0,557)+0,041(0,639)+0,136(0,065)+0,260(0,080)=0,369
Dari hasil perhitungan, dapat disimpulkan : mobil B adalah prioritas pertama, mobil C adalahprioritas kedua, dan mobil A adalah prioritas ketiga.
Bab 10
Pengantar Pemrograman Dinamis
Pemrograman dinamis merupakan suatu teknik untuk membuat urutan suatu keputusan secarasistematis. Pada buku ini akan dibahas sekilas penggunaan pemrograman dinamis pada pencarianrute terpendek pada Stagecoach Problem dan Bounded Knapsack Problem.
10.1 Stagecoach Problem
Contoh :
Seorang pengembara melakukan perjalanan dari titik A ke titik J untuk mencari emas. Jaringanpada Stagecoach Problem dapat dilihat pada Gambar ??, dimana pada jaringan tersebut dapatdibagi menjadi empat stage mulai dari titik awal A ke titik tujuan J. Angka yang tertera padagambar adalah biaya perjalanan. Tentukan rute yang manakah yang harus diambil pengembaratersebut supaya biaya perjalanan minimum.
Gambar 10.1. Jaringan pada Stagecoach Problem
10.1.1 Rekursif Maju
Dari jaringan tersebut dapat dibentuk empat stage sehingga dapat dibentuk empat matriks jaraksebagai berikut :
173
174 BAB 10. PENGANTAR PEMROGRAMAN DINAMIS
Gambar 10.1.2. Empat Stage pada Stagecoach Problem
A
B 2C 4D 3
B C D
E 7 3 4F 4 2 1G 6 4 5
E F G
H 1 6 3I 4 3 3
H I
J 3 4
Stage 1
Hitung jarak menuju titik B, C, D dari titik A.
s f1(s, x1) f∗1 (s) x∗1A
B 2 2 AC 4 4 AD 3 3 A
Stage 2
Hitung jarak menuju titik E, F, G dari titik B, C, D. Kemudian tentukan jarak minimumnya secarakumulatif.
10.1. STAGECOACH PROBLEM 175
s f2(s, x2) f∗2 (s) x∗2B C D
E 2+7=9 4+3=7 3+4=7 7 C,DF 2+4=6 4+2=6 3+1=4 4 DG 2+6=8 4+4=8 3+5=8 8 B,C,D
Stage 3
Hitung jarak menuju titik H, I dari titik E, F, G. Kemudian tentukan jarak minimumnya secarakumulatif.
s f3(s, x3) f∗3 (s) x∗3E F G
H 7+1=8 4+6=10 8+3=11 8 EI 7+4=11 4+3=7 8+3=11 7 F
Stage 4
Hitung jarak menuju titik J dari titik H, I. Kemudian tentukan jarak minimumnya secara kumulatif.
s f4(s, x4) f∗4 (s) x∗4H I G
J 8+3=11 7+4=11 11 H,I
Jadi rute yang terpilih ada 3 yaitu :
1. Perhatikan stage 4. Untuk menuju s = J , maka harus melewati x∗4 = H. Lompat ke stage 3.
Untuk menuju s = H, maka harus melewati x∗3 = E. Lompat ke stage 2.
Untuk menuju s = E, maka harus melewati x∗2 = C. Lompat ke stage 1.
Untuk menuju s = C, maka harus melewati x∗1 = A.
Jadi rutenya adalah A→ C → E → H → J dengan jarak 4 + 3 + 1 + 3 = 11.
2. Perhatikan stage 4. Untuk menuju s = J , maka harus melewati x∗4 = H. Lompat ke stage 3.
Untuk menuju s = H, maka harus melewati x∗3 = E. Lompat ke stage 2.
Untuk menuju s = E, maka harus melewati x∗2 = D. Lompat ke stage 1.
Untuk menuju s = D, maka harus melewati x∗1 = A.
Jadi rutenya adalah A→ D → E → H → J dengan jarak 3 + 4 + 1 + 3 = 11.
3. Perhatikan stage 4. Untuk menuju s = I, maka harus melewati x∗4 = I. Lompat ke stage 3.
Untuk menuju s = I, maka harus melewati x∗3 = F . Lompat ke stage 2.
Untuk menuju s = F , maka harus melewati x∗2 = D. Lompat ke stage 1.
Untuk menuju s = D, maka harus melewati x∗1 = A.
Jadi rutenya adalah A→ D → F → I → J dengan jarak 3 + 1 + 3 + 4 = 11.
176 BAB 10. PENGANTAR PEMROGRAMAN DINAMIS
10.1.2 Rekursif Mundur
Dari jaringan tersebut dapat dibentuk empat stage sehingga dapat dibentuk empat matriks jaraksebagai berikut :
Gambar 10.1.2. Empat Stage pada Stagecoach Problem
J
H 3I 4
H I
E 1 4F 6 3G 3 3
E F G
B 7 4 6C 3 2 4D 4 1 5
B C D
A 2 4 3
Stage 4
Hitung jarak menuju titik H, I dari titik J.
s f4(s, x4) f∗4 (s) x∗4J
H 3 3 JI 4 4 J
Stage 3
Hitung jarak menuju titik E, F, G dari titik H, I. Kemudian tentukan jarak minimumnya secara
10.1. STAGECOACH PROBLEM 177
kumulatif.
s f3(s, x3) f∗3 (s) x∗3H I
E 3+1=4 4+4=8 4 HF 3+6=9 4+3=7 7 IG 3+3=6 4+3=7 6 H
Stage 2
Hitung jarak menuju titik B, C, D dari titik E, F, G. Kemudian tentukan jarak minimumnya secarakumulatif.
s f2(s, x2) f∗2 (s) x∗2E F G
B 4+7=11 7+4=11 6+6=12 11 E,FC 4+3=7 7+2=9 6+4=10 7 ED 4+4=8 7+1=8 6+5=11 8 E,F
Stage 1
Hitung jarak minimum menuju titik A dari titik B, C, D. Kemudian tentukan jarak minimumnyasecara kumulatif.
s f1(s, x1) f∗1 (s) x∗1B C D
A 11+2=13 7+4=11 8+3=11 11 C,D
Jadi rute yang terpilih ada 3 yaitu :
1. Perhatikan stage 1. Untuk menuju s = A, maka harus melewati x∗1 = C. Lompat ke stage 2.
Untuk menuju s = C, maka harus melewati x∗2 = E. Lompat ke stage 3.
Untuk menuju s = E, maka harus melewati x∗3 = H. Lompat ke stage 4.
Untuk menuju s = H, maka harus melewati x∗4 = J .
Jadi rutenya adalah A→ C → E → H → J dengan jarak 4 + 3 + 1 + 3 = 11.
2. Perhatikan stage 1. Untuk menuju s = A, maka harus melewati x∗1 = D. Lompat ke stage 2.
Untuk menuju s = D, maka harus melewati x∗2 = E. Lompat ke stage 3.
Untuk menuju s = E, maka harus melewati x∗3 = H. Lompat ke stage 4.
Untuk menuju s = H, maka harus melewati x∗4 = J .
Jadi rutenya adalah A→ D → E → H → J dengan jarak 3 + 4 + 1 + 3 = 11.
3. Perhatikan stage 1. Untuk menuju s = A, maka harus melewati x∗1 = D. Lompat ke stage 2.
Untuk menuju s = D, maka harus melewati x∗2 = F . Lompat ke stage 3.
178 BAB 10. PENGANTAR PEMROGRAMAN DINAMIS
Untuk menuju s = F , maka harus melewati x∗3 = I. Lompat ke stage 4.
Untuk menuju s = I, maka harus melewati x∗4 = J .
Jadi rutenya adalah A→ D → F → I → J dengan jarak 3 + 1 + 3 + 4 = 11.
10.2 Bounded Knapsack Problem
Bentuk umum dari program linear untuk Bounded Knapsack Problem adalah :
max Z = r1m1 + r2m2 + . . . + rnmn (10.1)
dengan kendala
w1m1 + w2m2 + . . . + wnmn ≤ W (10.2)
m1 ≥ 0,m2 ≥ 0, . . . ,mn ≥ 0 (10.3)
Keterangan dari bentuk di atas adalah :
ri(i = 1, 2, ..., n) adalah keuntungan dari barang i.
mi(i = 1, 2, ..., n) adalah jumlah unit dari barang i.
wi(i = 1, 2, ..., n) adalah bobot unit i.
Contoh :
Suatu truk dengan kapasitas muatan 4 ton akan diisi 3 jenis barang (barang 1, barang 2, dan barang3) yang memiliki bobot dan keuntungan yang berbeda seperti pada tabel.
Barang i Bobot wi Keuntungan ri
1 2 312 3 473 1 14
Tentukan berapa banyak barang dari tiap jenis barang yang dapat dimasukkan ke dalam truksehingga memberikan keuntungan maksimum.
Jawab :
Dari permasalahan di atas, bentuk program linear berbentuk adalah sebagai berikut :
max Z = 31m1 + 47m2 + 14m3
dengan kendala2m1 + 3m2 + m3 ≤ 4
m1 ≥ 0,m2 ≥ 0,m3 ≥ 0
Program linear di atas dapat diselesaikan dengan cara rekursif mundur.
Stage 3
10.2. BOUNDED KNAPSACK PROBLEM 179
max(m3) = [W
w3]
= [4
1]
= 4
Karena max(m3) = 4, maka jumlah barang 3 yang boleh dimasukkan adalah 0, 1, 2, 3, 4.
m3 = {0, 1, 2, 3, 4}
f3(x3) = maxm3=0,1,2,3,4(14m3)
x3 14m3 Solusi Optimalm3 = 0 m3 = 1 m3 = 2 m3 = 3 m3 = 4 f3(x3) m∗3
0 14(0) = 0 - - - - 0 01 14(0) = 0 14(1) = 14 - - - 14 12 14(0) = 0 14(1) = 14 14(2) = 28 - - 28 23 14(0) = 0 14(1) = 14 14(2) = 28 14(3) = 42 - 42 34 14(0) = 0 14(1) = 14 14(2) = 28 14(3) = 42 14(4) = 56 56 4
Stage 2
max(m2) = [W
w2]
= [4
3]
= 1
Karena max(m2) = 1, maka jumlah barang 2 yang boleh dimasukkan adalah 0, 1.
m2 = {0, 1}
f2(x2) = maxm2=0,1(47m2 + f3(x2 − 3m2))
x2 47m2 + f3(x2 − 3m2) Solusi Optimalm2 = 0 m2 = 1 f2(x2) m∗2
0 47(0) + f3(0− 3(0)) = 0 + 0 = 0 - 0 01 47(0) + f3(1− 3(0)) = 0 + 14 = 14 - 0 02 47(0) + f3(2− 3(0)) = 0 + 28 = 28 - 0 03 47(0) + f3(3− 3(0)) 47(1) + f3(3− 3(1)) 47 1
= 0 + 42 = 42 = 47 + 0 = 474 47(0) + f3(4− 3(0)) 47(1) + f3(4− 3(1)) 61 1
= 0 + 56 = 56 = 47 + 14 = 61
Stage 1
max(m1) = [W
w1]
= [4
2]
= 2
180 BAB 10. PENGANTAR PEMROGRAMAN DINAMIS
Karena max(m1) = 2, maka jumlah barang 1 yang boleh dimasukkan adalah 0, 1, 2.
m1 = {0, 1, 2}
f1(x1) = maxm1=0,1,2(31m1 + f2(x1 − 2m1))
x1 31m1 + f2(x1 − 2m1) Solusi Optimalm1 = 0 m1 = 1 m1 = 2 f1(x1) m∗1
0 31(0) + f2(0− 2(0)) - - 0 0= 0 + 0 = 0
1 31(0) + f2(1− 2(0)) - - 14 0= 0 + 14 = 14
2 31(0) + f2(2− 2(0)) 31(1) + f2(2− 2(1)) - 31 1= 0 + 28 = 28 = 31 + 0 = 31
3 31(0) + f2(3− 2(0)) 31(1) + f2(3− 2(1)) - 47 1= 0 + 47 = 47 = 31 + 14 = 45
4 31(0) + f2(4− 2(0)) 31(1) + f2(4− 2(1)) 31(2) + f2(4− 2(2)) 62 2= 0 + 61 = 61 = 31 + 28 = 59 = 62 + 0 = 62
Dari tabel di atas, diperoleh m∗1 yang maksimum adalah 2 dengan x1 = 4.
Jika x1 = 4, maka m∗1 = 2 yang menghasilkan x2 = x1 − 2m∗1 = 4− 2(2) = 0.
Jika x2 = 0, maka m∗2 = 0 yang menghasilkan x3 = x2 − 3m∗2 = 0− 3(0) = 0.
Jika x3 = 0, maka m∗3 = 0.
Jadi solusi optimalnya adalah (m1,m2,m3) = (2, 0, 0) dengan total keuntungan Z = 31(2)+47(0)+14(0) = 62.
Daftar Pustaka
[1] Anderson, D.R. 2012. An Introduction to Management Science Quantitative Approaches toDecision Making. South Western Cengage Learning.
[2] Gen, M. Cheng, R. 1997. Genetic Algorithm and Engineering Design. John Wiley and Sons.
[3] Hillier, F.S. Lieberman, G.J. 2000. Introduction to Operational Research. Mc Graw Hill.
[4] Sulistiyo, Modul Ajar Riset Operasi Matematika ITS.
[5] Taha, H.A. 2007. Operational Research an Introduction. Prentice Hall.
181
Biografi Penulis
Dinita Rahmalia, M.Si. Penulis lahir di Gresik, Jawa Timur tanggal 27 April 1988. Setelah menempuh pendidikan sekolah menengah di Gresik, penulis melanjutkan pendidikan S1 Matematika di Institut Teknologi Sepuluh Nopember tahun 2006-2010, kemudian melajutkan pendidikan S2 Matematika di Institut Teknologi Bandung tahun 2011-2013.
Saat ini penulis bekerja sebagai dosen pengajar di Universitas Islam Darul Ulum Lamongan, dengan mata kuliah Kalkulus, Riset Operasi, Statistika, dan Program Komputer. Selain itu penulis juga aktif melakukan penelitian tentang Riset Operasi dan Optimisasi, Data Mining, Sistem Dinamik dan Kontrol. Lebih lanjut dapat menghub
Email : [email protected] atau [email protected]
Dr. Teguh Herlambang. Lahir di Surabaya, Jawa Timur, pada tanggal 22 November 1987. Gelar Sarjana Sains (S.Si) dan Magister Sains (M.Si) diperoleh dari Jurusan di Jurusan Matematika Institut Teknologi Sepuluh Nopember (ITS) pada tahun 2010 dan 2012. Penulis mulai mengajar di Fakultas Teknik Universitas Nahdlatul Ulama Surabaya pada tahun 2013. Pada tahun 2013, penulis mengikuti program doktor (S-3) di Institut Teknologi Sepuluh Nopember dengan mengambil konsentrasi di bidang Sistem Kendali Kapal Selam Tanpa Awak, dan meraih gelar Doktor (Dr) di Fakultas Teknologi Kelautan pada Tahun 2016.
Mata kuliah yang diajarkan penulis di program S-1 adalah Aljabar Linear, Matematika Diskrit, Statistika, Matematika Ekonomi, Algoritma dan Pemrograman dan Riset Operasi. Selain itu penulis juga aktif melakukan penelitian tentang Sistem Navigasi dan Kendali, Komputasi Numerik, Riset Operasi dan Optimisasi, Pemodelan dan Autonomous Underwater Vehicel (AUV).
Dr. Teguh Herlambang, juga telah mendapatkan beberapa dana hibah peneltian dari Kemenristekdikti dan telah menghasilkan sejumlah publikasi internasional terindex serta melakukan join riset dengan Pusat Unggulan IPTEK Mechatronics and Industrial Automation Research Center ITS (PUI-PT MIA-RC ITS) dalam penelitian Autonomous Underwater Vehicle (AUV), Autonomous Surface Vehicle), Thruster, Arm robot dan beberapa penelitian lainnya.
Email : [email protected]