Riset Operasi dan Komputasi - Publikasi Ilmiah

192

Transcript of Riset Operasi dan Komputasi - Publikasi Ilmiah

RISET OPERASI DAN KOMPUTASI

Dinita Rahmalia

Teguh Herlambang

Kresna Bina Insan Prima

Anggota IKAPI

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

8 BAB 1. SISTEM PERSAMAAN LINEAR

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 :

Administrator
Placed Image

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

Administrator
Textbox

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

80 BAB 4. METODE HEURISTIK

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.

Administrator
Placed Image

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.

Administrator
Textbox

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.

Administrator
Textbox
Administrator
Textbox

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.

Administrator
Textbox
User
Placed Image

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

User
Placed Image

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.

172 BAB 9. PEMROGRAMAN MULTIOBYEKTIF

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]