• Tidak ada hasil yang ditemukan

Membuat Jaringan Proyek

Dalam dokumen RISET OPERASI DAN KOMPUTASI (Halaman 137-0)

BAB 7 Penjadwalan Proyek, Flow Shop Problem, dan Job Shop Problem

7.1 Penjadwalan Proyek dengan Critical Path Method (CPM)

7.1.1 Membuat Jaringan Proyek

Aktivitas proyek dapat direpresentasikan dalam bentuk jaringan. Aturan dalam mengkonstruksi jaringan adalah sebagai berikut :

1. Setiap aktivitas hanya direpresentasikan oleh satu garis.

2. Setiap aktivitas hanya direpresentasikan oleh dua titik yang berbeda. Jika terdapat lebih dari satu 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 didhaudidahu-lui oleh aktivitas B. Dalam kasus tersebut diperlukan variabel dummy.

127

Gambar ??. Penggunaan Variabel Dummy dengan Aktivitas Pendahulu

Contoh :

Suatu penerbit memiliki kontrak dengan penulis untuk menerbitkan buku. Aktivitas produksi buku dapat dilihat pada tabel di bawah :

Aktivitas Keterangan Aktivitas Pendahulu Waktu (minggu)

A Pengeditan naskah oleh editor - 3

B Mempersiapkan halaman - 2

C Mendesain kover - 4

D Menyiapkan artwork - 3

E Persetujuan penulis pada naskah A,B 2

F Format buku E 4

G Review penulis tentang halaman F 2

H Review penulis tentang artwork D 1

I Percetakan buku G,H 2

J 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 tercantum pada garis merupakan waktu kejadian per aktivitas. Huruf yang tercantum pada garis merupakan aktivitas. 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 Gambar 7.1.4. Setiap titik j diberi tanda Mj yang menyatakan waktu kejadian akhir. Angka yang tercantum pada garis merupakan waktu kejadian per aktivitas. Huruf yang tercantum pada garis merupakan aktivitas. Tentukan Mi=n= n.

Tahap Optimisasi

Tentukan Mn−1, Mn−2, . . . , M1. Jika titik j memiliki aktivitas akhir di titik p1, p2, . . . , pm, maka diambil 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.

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 maju dan 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. Mj6= j = 11 6= 8

Aktivitas (2,3) 1. Mi= i= 5 = 5 2. Mj6= 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. Mi6= i= 11 6= 8 Aktivitas (3,6)

1. Mi6= 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) yang menggambarkan maksimum interval dari aktivitas (i, j) yang dijadwalkan.

Aktivitas Kritis

A → (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 m operasi dan setiap operasi membutuhkan mesin yang berbeda. n tugas harus diproses pada urutan yang 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.

Misal c(i, j) adalah waktu penyelesaian dari tugas i oleh mesin j, maka kita dapat menghitung waktu 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 5 ti,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 3 ti,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 5 ti,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 n tugas. 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 2 ti,2 1 3 5 ti,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 :

Gambar 7.3. Gantt Chart untuk Job Shop Problem

Tiga digit pada gantt chart dapat dinotasikan dengan notasi ”ioj”. Contoh angka 321 berarti tugas 3 dikerjakan pada mesin 1 dengan urutan nomor 2.

Bab 8

Pemrograman Bilangan Bulat (Integer Programming)

Pemrograman bilangan bulat menggunakan metode Simpleks dalam perhitungannya. Dalam metode Simpleks, ada kalanya solusi optimal yang dihasilkan berupa bilangan real pecahan. Namun dalam obyek yang bersifat diskrit misal jumlah pekerja, jumlah produksi, dan sebagainya, solusi yang di-hasilkan merupakan bilangan bulat positif sehingga metode Simpleks dapat dikembangkan menjadi pemrograman bilangan bulat.

8.1 Metode Branch and Bound

Dalam memecahkan permasalahan pemrograman bilangan bulat, metode Branch and Bound pal-ing serpal-ing 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 xi adalah variabel dari solusi optimal yang bukan himpunan bilangan bulat. Buatlah cabang menjadi xi≤ [xi] dan xi≥ [xi] + 1.

2. Pembatasan (Bounding ). Tentukan batas dari Z menggunakan metode grafis (jika hanya terdiri 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 ≤ Zold

(b) Tidak memiliki solusi optimal.

(c) Telah memiliki solusi optimal berupa bilangan bulat.

137

8.1.3 Tahap Pemberhentian

Tahap pemberhentian terjadi ketika semua solusi dalam keadaan fathom sehingga kita tidak bisa membuat cabang lagi.

8.1.4 Komputasi Contoh :

Diketahui masalah program linear sebagai berikut :

max Z = −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 paling besar yaitu sebesar 8,2.

Karena x1 = 3, 8 bukan termasuk elemen bilangan bulat, maka nilai x1harus dibagi menjadi x1 ≤ 3 dan x1≥ 4.

Cabang 1.1

Dari cabang 1, untuk kasus x1 ≤ 3, diperoleh program linear sebagai berikut :

max Z = −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 paling besar yaitu sebesar 7,4.

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 ≤ 2 dan x2 ≥ 3.

Cabang 1.2

Dari cabang 1, untuk kasus x1≥ 4, diperoleh program linear sebagai berikut : max Z = −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 paling besar 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 x2harus dibagi menjadi x2 ≤ 2 dan 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 : max Z = −x1+ 4x2

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 paling besar 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 ≤ 1 dan x1 ≥ 2.

Cabang 1.1.2

Dari cabang 1.1, untuk kasus x2 ≥ 3, diperoleh program linear sebagai berikut : max Z = −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 luar feasible 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 : max Z = −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 :

(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 paling besar 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 : max Z = −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 luar feasible 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 : max Z = −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+

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 paling besar 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 ≤ 1 dan x2 ≥ 2.

Cabang 1.1.1.2

Dari cabang 1.1.1, untuk kasus x1 ≥ 2, diperoleh program linear sebagai berikut : max Z = −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 paling besar 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 : max Z = −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 :

(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 paling besar 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 : max Z = −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 luar feasible 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 dengan x1 = 2 dan x2= 2.

8.2 Pemrograman Biner

Pemrograman biner adalah model optimisasi dengan kendala, dan variabel keputusan dari model berupa bilangan 0 atau 1. Metode yang digunakan dalam pemrograman biner mirip dengan Branch and 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= −∞.

8.2.2 Tahap Optimisasi

1. Percabangan (Branching ). Misalkan xi adalah variabel dari solusi optimal yang bukan bilangan 0 atau 1. Buatlah cabang menjadi xi= 0 dan xi = 1.

2. Pembatasan (Bounding ). Tentukan batas dari Z menggunakan metode grafis (jika hanya terdiri 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≤ Zold

(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 bisa membuat cabang lagi.

8.2.4 Komputasi Contoh :

Diketahui masalah program linear sebagai berikut :

max Z = 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

6 bukan 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 : max Z = 5x2+ 6x3+ 4x4

Dengan menggunakan metode Simpleks, diperoleh nilai (x2, x3, x4) = (1; 0; 1). Gabungkan dengan nilai x1 = 0 sehingga diperoleh nilai (x1, x2, x3, x4) = (0; 1; 0; 1). Kemudian kita masukkan pada fungsi 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 : max Z = 9 + 5x2+ 6x3+ 4x4

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.

5 bukan termasuk elemen bilangan bulat, maka nilai x2 harus dibagi menjadi x2= 0 dan x2= 1.

Karena x4= 4

5 bukan 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 : max Z = 9 + 6x3+ 4x4

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

5 bukan 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 : max Z = 14 + 6x3+ 4x4

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

2 bukan 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 : max Z = 9 + 5x2+ 6x3

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

5 bukan 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 : max Z = 13 + 5x2+ 6x3

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

Karena x2= 2

3 bukan 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 : max Z = 9 + 4x4

dengan kendala

2x4 ≤ 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 masukkan pada 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 : max Z = 15 + 4x4

dengan kendala

2x4 ≤ −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 cabang ini tidak ada solusi optimal.

Cabang 1.2.2.1

Dari cabang 1.2.2, untuk kasus x4= 0, diperoleh program linear sebagai berikut : max Z = 14 + 6x3

dengan kendala

5x3 ≤ 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

5 bukan 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 : max Z = 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 cabang ini tidak ada solusi optimal.

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 : max Z = 9 + 5x2

dengan kendala

3x2 ≤ 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 masukkan pada 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 : max Z = 15 + 5x2

dengan kendala

3x2 ≤ −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 cabang ini tidak ada solusi optimal.

Cabang 1.2.4.1

Dari cabang 1.2.4, untuk kasus x2= 0, diperoleh program linear sebagai berikut : max Z = 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 masukkan pada 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 : max Z = 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 cabang ini tidak ada solusi optimal.

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 : max Z = 14

dengan kendala

0 ≤ 1 0 ≤ 1 0 ≤ 1 0 ≤ 1

Dengan menggunakan metode Simpleks, diperoleh nilai (x1, x2, x3, x4) = (1; 1; 0; 0). Kemudian kita masukkan 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 : max Z = 20

dengan kendala

5 ≤ 1 1 ≤ 1 1 ≤ 1 0 ≤ 1

Dari hasil perhitungan, pertidaksamaan 5 ≤ 1 bernilai salah sehingga pada cabang ini tidak ada solusi optimal.

Kesimpulan :

Dari hasil perhitungan, pada cabang 1.2.2.1.1 menghasilkan nilai Z paling besar, yaitu Z = 14 dengan 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 garis potong (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 komponen pecahan. Komponen pecahan harus bernilai positif. Pisahkan komponen pecahan berada pada ruas kanan persamaan.

3. Berilah tanda pada komponen pecahan dengan ≤ 0. Tambahkan variabel slack supaya menjadi persamaan.

8.3.2 Tahap Optimisasi

Pilih salah satu dari konstrain untuk menjadi source row. Tambahkan ke dalam baris baru pada tabel 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 :

max Z = 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.

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 6612 B1 0 0 1 227 221 312 B2 0 1 0 −221 223 412

Dari tabel, terlihat bahwa solusi x1 = 412 dan x2 = 312 tidak berbentuk bilangan bulat. Nilai pada tabel Simpleks dapat dibentuk menjadi sistem persamaan berikut :

Z +63

22s3+31

22s4 = 661 2 0 x2+ 7

22s3+ 1

22s4 = 31

2 1

x1− 1

22s3+ 3

22s4 = 41

2 2

Dari baris 0, faktorkan persamaan menjadi : Z + 63

22s3+31

22s4 = 661 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 Pada komponen pecahan, ubahlah menjadi pertidaksamaan.

−21

22s3− 3 22s4+1

2 ≤ 0 Dari baris 1, faktorkan persamaan menjadi :

x2+ 7 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 6612 B1 0 0 1 227 221 0 312 B2 0 1 0 −221 223 0 412 B3 0 0 0 −227221 1 −12

Operasi Baris Elementer (OBE)

Bagi baris pivot dengan −227 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 227 kali baris 3, jumlahkan baris 2 dengan 221 kali baris 3.

Lebih jelasnya adalah mengubah kolom pivot

Operasi baris elementer (OBE) : −22 7 B3 Sehingga diperoleh tabel yang baru adalah :

No. Z x1 x2 s3 s4 s5 Solusi

B0 1 0 0 0 1 9 62

B1 0 0 1 0 0 1 3

B2 0 1 0 0 1717 447 B3 0 0 0 1 17227 147

8.3. METODE CUTTING PLANE 163 Dari tabel terlihat bahwa solusi x1 = 447 bukan bilangan bulat.

Kemudian ambil salah satu baris pertidaksamaan.

x1+1 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 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, kurangkan baris 2 dengan 17 kali baris 4, kurangkan baris 3 dengan 17 kali baris 4.

Lebih jelasnya adalah mengubah kolom pivot

dengan cara sebagai berikut

: Operasi baris elementer (OBE) : −7B4

0 0 0 0 −1767 1 = −47 | × −7| 0 0 0 0 1 6 −7 = 4 Operasi baris elementer (OBE) : B0− B4

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) : B217B4

0 1 0 0 1717 0 = 447 | × 1| 0 1 0 0 1717 0 = 447 0 0 0 0 1 6 −7 = 4 | × (−17)| 0 0 0 0 −1767 1 = −47

0 1 0 0 0 −1 1 = 4

Operasi baris elementer (OBE) : B317B4

0 0 0 1 17227 0 = 147 | × 1| 0 0 0 1 17227 0 = 147 0 0 0 0 1 6 −7 = 4 | × (−17)| 0 0 0 0 −1767 1 = −47

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 58

B1 0 0 1 0 0 1 0 3

B2 0 1 0 0 0 -1 1 4

B3 0 0 0 1 0 -4 1 1

B4 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 ProPro-gramming digunakan ketika terdapat lebih dari obyektif dan diurutkan berdasarkan prioritas. AHP pada umumnya digunakan pada masalah pemilihan dengan mempertimbangkan kriteria.

9.1 Goal Programming

Goal Programming adalah teknik yang digunakan untuk menyelesaikan masalah optimisasi dengan kendala dimana terdapat prioritas urutan tujuan (obyektif) harus tercapai.

Bentuk matematika Goal Programming adalah sebagai berikut : lexmin{z1=Pm0

i=1(w1i+d+i + w1idi ), ..., zp =Pm0

i=1(w+qid+i + wqidi )}

dengan kendala :

fi(x) + di − d+i = bi, i = 1, 2, ..., m0

gi(x) ≤ 0, i = m0+ 1, ..., m1 hi(x) = 0, i = m1+ 1, ..., m2 di , 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. Solusi optimal ditentukan dengan meminimumkan fungsi obyektif yang dimulai dari yang paling penting secara berurutan tingkat kepentingan.

Parameter pada goal programming adalah :

d+i : variabel deviasi positif yang menyatakan kelebihan dari tujuan i.

di : variabel deviasi negatif yang menyatakan kekurangan dari tujuan i.

wki+ : bobot positif dari d+i . wki : bobot negatif dari di .

fi : kendala tujuan (goal constraints)

165

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 prioritas kepentingan.

Contoh :

Suatu perusahaan periklanan (radio dan televisi) akan mempromosikan suatu produk dengan kendala sebagai berikut :

4x1+ 8x2 ≥ 45 8x1+ 24x2 ≤ 100

x1+ 2x2 ≤ 10 x1 ≤ 6

1. Ubahlah model di atas menjadi bentuk Goal Programming dengan mengubah kendala pertama dan kendala kedua menjadi kendala tujuan.

2. Selesaikan dengan metode bobot dengan asumsi kendala tujuan pertama dua kali lebih penting daripada kendala tujuan kedua.

3. Selesaikan dengan metode pre-emptive dengan asumsi kendala tujuan pertama lebih penting daripada 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(s1, s+2)

dengan kendala :

4x1+ 8x2+ s1 − s+1 = 45 8x1+ 24x2+ s2 − s+2 = 100

x1+ 2x2 ≤ 10 x1≤ 6

x1, x2, s1, s+1, s2, s+2 ≥ 0

9.1. GOAL PROGRAMMING 167 b.

Pada metode bobot, karena kendala tujuan pertama dua kali lebih penting daripada kendala tujuan kedua, maka bentuk Goal Programming menjadi :

min Z = 2s1 + s+2 dengan kendala :

4x1+ 8x2+ s1 − s+1 = 45 8x1+ 24x2+ s2 − s+2 = 100

x1+ 2x2 ≤ 10 x1 ≤ 6

x1, x2, s1, s+1, s2, 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

Solusi optimal yang diperoleh adalah : x1 = 5 dan x2 = 2, 5. Kemudian masukkan nilai x1 dan x2

Dalam dokumen RISET OPERASI DAN KOMPUTASI (Halaman 137-0)