(MultiObjective
Programming)
Outline Kuliah
Perbedaan goal programming dengan linear
programing
Pengertian hard constrain dan soft constrain
Pengertian variabel deviasional
Pemodelan permasalahan goal
programming.dengan tujuan yang berprioritas
sama.
Pemodelan permasalahan goal programming
dengan tujuan yang berprioritas berbeda.
2
Pendahuluan
Banyak permasalahan dimana keputusan yang
diambil harus dapat memenuhi beberapa(lebih
dari satu) tujuan secara simultan.
Hal ini menyebabkan pengambil keputusan akan
sangat sulit untuk memenuhi semua tujuan tanpa
“mengorbankan” tujuan yang lain sehingga
seringkali solusi yang diperoleh merupakan solusi
yang ”memuaskan” dan bukan solusi yang
optimal.
3
Pendahuluan
Permasalahan optimisasi dengan lebih dari satu
tujuan dapat diselesaikan dengan goal
programming.
Goal programming merupakan pengembangan
dari linear programming.
Perbedaan utama antara goal programming
dengan linear programming adalah pada fungsi
tujuan. Pada linear programming hanya terdapat
satu tujuan sedangkan pada goal programming
terdapat lebih dari satu tujuan (multi objective).
4
Ilustrasi Goal Programming
5
Ilustrasi Goal Programming
6
Ilustrasi Goal Programming
7
Langkah-langkah dalam Goal Programming
Tentukan variabel keputusan
Variabel keputusan dalam goal programming
sama dengan variabel keputusan dalam linear
programming yaitu variabel yang memiliki nilai
yang menunjukkan kebijakan yang harus
diambil supaya dapat memperoleh hasil yang
optimal, misalnya banyaknya produk yang
diproduksi, banyaknya pekerja, atau variabel
lain yang dapat memiliki nilai yang berkaitan
dengan pemakain sumber daya.
8
Langkah-langkah dalam Goal Programming
Tentukan Deviational Variable untuk Setiap
Tujuan
Deviational variabel merupakan variabel yang
nilainya menunjukkan besarnya penyimpangan
solusi dari tujuan yang diinginkan.
Deviational variabel dapat dikategorikan menjadi
dua kategori yaitu overachieving deviational
variable dan underachieving deviational variabel.
Overachieving deviational variable menunjukkan
besarnya kelebihan dari target(hasil yang
diinginkan) sedangkan underachieving deviational
variable menunjukkan besarnya kekurangan dari
target.
9
Langkah-langkah dalam Goal Programming
Formulasikan Pembatas yang meliputi
economic constrains (hard constrains) dan
goal constrains (soft constrains)
Economic constrains (hard constrains) merupakan
pembatas yang harus dipenuhi, tidak boleh
dilanggar. Pembatas ini biasanya berkaitan dengan
ketersediaan sumber daya dan atau kebijakan yang
harus dipenuhi
Goal constrain (soft constrains), berbeda dengan
economic constrain, merupakan pembatas yang
masih boleh dilanggar karena pembatas ini
merupakan pembatas yang berkaitan dengan
pencapaian target. Suatu kegiatan selalu memiliki
target namun jika target tidak dapat tercapai
kegiatan tersebut masih dapat berjalan. 10
Langkah-langkah dalam Goal Programming
Formulasikan Fungsi Tujuan
Fungsi tujuan dalam goal programming selalu
minimisasi besarnya jumlah total penyimpangan
dari beberapa tujuan yang ingin dicapai secara
simultan.
Dalam fungsi tujuan seringkali juga diberi bobot
yang menunjukkan tingkat kepentingan dari
tujuan-tujuan yang ada, tujuan yang lebih
penting diberi bobot yang lebih besar.
11
Contoh 1
Perusahaan Fastestsolution merupakan perusahaan yang
menjual perangkat lunak untuk perusahaan energi. Perusahaan
ini memperkerjakan beberapa tenaga penjualan yang bertugas
untuk mendapatkan klien baru dan mempertahankan klien
lama. dalam menjalankan tugasnya tenaga penjualan
mengunjungi perusahaan-perusahaan untuk menawarkan
produknya.
Berdasarkan pengalaman, waktu yang diperlukan untuk
mengunjungi calon klien adalah 3 jam sedangkan waktu yang
diperlukan untuk mengunjungi klien lama adalah 2 jam. Dalam
satu bulan, total jam kerja tenaga penjualan yang dimiliki oleh
perusahaan adalah 640 jam kerja.
Bulan ini perusahaan memiliki target untuk mengunjungi 200
klien baru dan 120 klien lama. Modelkan masalah ini dalam goal
programming sehingga perusahaan dapat menentukan
banyaknya klien baru maupun lama yang harus dikunjungi.
12
Langkah 1 dan Langkah 2
Langkah 1 tentukan variabel keputusan
X1 : banyaknya klien baru yang dikunjungi
X2 : banyaknya klien lama yang dikunjungi
13
Langkah 3 Tentukan Deviational Variabel
D 1+ : besarnya kelebihan dari target banyaknya klien baru
yang akan dikunjungi (overachieving deviational
variable)
D1- : besarnya kekurangan dari target banyaknya klien baru
yang akan dikunjungi (underachieving deviational
variabel).
D 2+ : besarnya kelebihan dari target banyaknya klien lama
yang akan dikunjungi (overachieving deviational
variable)
D2- : besarnya kekurangan dari target banyaknya klien lama
yang akan dikunjungi (underachieving deviational
variabel).
14
Langkah 4 Formulasikan pembatas yang meliputi economics
constrain(hard constrains) dan goal constrains(soft constrains)
Economics constrains (hard constrains)
3X1 + 2X2 ≤ 640
Pembatas diatas memiliki arti banyaknya jam
kerja yang digunakan oleh tenaga penjualan tidak
bisa melebihi jam kerja tenaga penjualan total
yang dimiliki.
Goal constrains
X1 + D1- - D1+ = 200;
X2 + D2- - D2+ = 120;
X1 , X2 , D1- , D1+ ,D2- , D2+ ≥ 0;
15
Tetapkan Fungsi Tujuan
Fungsi Tujuan
Minimisasi Z = D1- + D2-
16
Model Lengkap Goal Programming
Fungsi Tujuan
Minimisasi : Z = D1- + D2-
Pembatas
2X1 + 3X2 ≤ 640;
X1 + D1- - D1+ = 200;
X2 + D2- - D2+ = 120;
X1, X2 , D1+, D1-, D2+, D2- ≥ 0.
17
Solusi Grafis
18
Solusi Grafis
19
Solusi Lingo 8
20
Contoh 2
Sebuah perusahaan memproduksi produk 1 dan produk 2, kedua produk
tersebut dibuat dari bahan baku yang sama yaitu bahan baku A, bahan
baku B dan bahan baku C. Kebutuhan bahan baku untuk produk 1 dan
produk 2 serta ketersediaan bahan baku adalah sebagai berikut:
Produk Bahan Baku A Bahan Baku B Bahan baku C
Produk 1 2/5 0 3/5
Produk 2 1/2 1/5 3/10
Ketersediaan Bahan Baku 20 5 21
21
Tentukan Variabel keputusan dan deviational
Variable
X1 : banyaknya produk 1 yang diproduksi
X2 : banyaknya produk 2 yang diproduksi
D 1+ : besarnya kelebihan dari target produk 1 yang
diproduksi (overachieving deviational variable)
D1- : besarnya kekurangan dari target produk 1 yang diproduksi
(underachieving deviational variabel).
D2+ : besarnya kelebihan dari target produk 2 yang diproduksi
(overachieving deviational variable)
D2- : besarnya kekurangan dari target produk 2 yang diproduksi
(underachieving deviational variabel).
22
Tentukan Economic Constrains (hard Constrains)
Pembatas
0.4 X1 + 0.5 X2 ≤ 20;
0.5 X2 ≤ 5;
0.6 X1 + 0.3 X2 ≤ 21;
23
Tentukan Pembatas yang berkaitan
dengan tujuan (Goal)
Pesanan produk 1 yang telah diterima adalah 30
ton sehingga perusahaan menargetkan X1 = 30,
Namun karena bahan baku yang terbatas,
banyaknya produk 1 yang diproduksi bisa lebih
dari target sebanyak D1+ dan juga bisa kurang
dari target sebanyak D1-.
Hal ini dapat ditulis dalam persamaan matematis
sebagai berikut:
X1 = 30 - D1- + D1+ atau X1 + D1- - D1+ = 30;
24
Tentukan Pembatas yang berkaitan dengan
tujuan (Goal)
Logika yang sama juga digunakan untuk
memformulasikan pembatas yang berkaitan
dengan tujuan yang kedua.
Pesanan produk 2 yang telah diterima adalah 15
ton sehingga perusahaan menargetkan X2 = 15,
Namun karena bahan baku yang terbatas,
banyaknya produk 2 yang diproduksi bisa lebih
dari target sebanyak D2+ dan juga bisa kurang
dari target sebanyak D2-.
Hal ini dapat ditulis dalam persamaan matematis
sebagai berikut:
X2 = 15 – D2- + D2+ atau X2 + D2- - D2+ = 15;
25
Tentukan Fungsi Tujuan
Perusahaan mengusahakan supaya kekurangan
produksi seminimal mungkin.
fungsi tujuan adalah minimisasi banyaknya
kekurangan dari target produk 1 yang harus
diproduksi (underachieving deviational variabel)
dan banyaknya kekurangan dari target produk 2
yang harus diproduksi (underachieving
deviational variabel).
26
Model Lengkap Goal Programing
Fungsi Tujuan
Minimisasi : Z = D1- + D2-
Pembatas
0.4 X1 + 0.5 X2 ≤ 20;
0.5 X2 ≤ 5;
0.6 X1 + 0.3 X2 ≤ 21;
X1 + D1- - D1+ = 30;
X2 + D2- - D2+ = 15;
X1, X2 , D1+, D1-, D2+, D2- ≥ 0.
27
Solusi Grafis
28
Solusi Lingo
29
Contoh 3
Perusahaan Maju Sejahtera memproduksi produk A dan Produk B.
Kedua produk ini diproduksi melalui dua proses yaitu pemotongan dan
perakitan. Kapasitas yang tersedia untuk stasiun kerja pemotongan
adalah 12 jam dan perakitan adalah 30 jam. Bulan depan perusahaan
berencana untuk melakukan penataan ulang lay out pabrik dan
perbaikan sarana penunjang pabrik sehingga hal ini sedikit banyak
akan mengganggu kinerja perusahaan. Menyadari hal ini, pihak
manajemen menetapkan beberapa target yang ingin dicapai selama
masa penataan ulang pabrik. Target-target tersebut meliputi:
Target 1 : memperoleh keuntungan minimal sebesar 30 juta.
Target 2 : menghindari adanya pemutusan hubungan kerja karyawan stasiun
kerja pemotongan sehingga perusahaan menargetkan untuk
menggunakan kapasitas stasiun kerja pemotongan secara penuh.
Target 3 : menghindari adanya kerja lembur pada stasiun kerja perakitan.
Target 4 : memenuhi semua pesanan yang telah diterima yaitu 17 unit produk
B.
Modelkan masalah ini dalam goal programming! (waktu proses setiap produk
pada setiap stasiun kerja silahkan ditentukan sendiri dan Laba setiap produk
silahkan tentukan sendiri.) 30
Tentukan variabel keputusan
X1 : banyaknya produk A yang diproduksi
X2 : banyaknya produk B yang diproduksi
D1 - : besarnya kekurangan dari target keuntungan (underachieving
deviational variabel).
D1 + : besarnya kelebihan dari target keuntungan (overachieving
deviational variabel).
D2 - : besarnya kekurangan dari target penggunaan kapasitas pada
stasiun kerja pemotongan.
D2 + : besarnya kelebihan dari target penggunaan kapasitas pada
stasiun kerja pemotongan
D3- : besarnya kekurangan dari target penggunaan kapasitas pada stasiun
kerja perakitan
D3 + : besarnya kelebihan dari target penggunaan kapasitas pada
stasiun kerja perakitan
D4- : besarnya kekurangan dari target produksi produk B
D4 + : besarnya kelebihan dari target produksi produk B
31
Tentukan Soft Constrains dan Hard Constrains
Hard Constrains atau pembatas yang tidak dapat dilanggar
adalah:
2X1 + 3 X2 ≤ 12 (ketersediaan jam kerja stasiun kerja
pemotongan)
6X1 + 5 X2 ≤ 30 (ketersediaan jam kerja stasiun kerja
perakitan)
Goal constrain atau pembatas yang berkaitan dengan
tujuan(target) adalah sebagai berikut:
6 X1 + 7 X2 + D1- - D1+ = 30 (pembatas untuk tujuan
(target) 1)
2X1 + 3 X2 + D2- - D2+ = 12 (pembatas untuk tujuan
(target) 2)
6X1 + 5 X2 + D3- - D3+ = 30 (pembatas untuk tujuan
(target) 3)
32
- +
Tentukan Soft Constrains dan Hard
Constrains
Hard constrain dari permasalahan ini didominasi
oleh pembatas yang berkaitan dengan tujuan 2 dan
tujuan 3 sehingga hard constrain dapat diabaikan.
Hal ini menyebabkan pembatas secara keseluruhan
menjadi:
6 X1 + 7 X2 + D1- - D1+ = 30
2X1 + 3 X2 + D2- - D2+ = 12
6X1 + 5 X2 + D3- - D3+ = 30
X2 + D4- - D4+ =7
X1 , X2 , D1- , D1+, D2- ,D2+ ,D3- , D3+, D4- ,D4+ ≥ 0
33
Fungsi Tujuan
Dalam permasalahan diatas perusahaan menghindari
untuk mendapatkan laba yang kurang dari 30 juta
sehingga meminimalkan D1- ,
Menghindari pemanfaatan kapasitas pemotongan yang
kurang dari kapasitas yang tersedia sehingga
meminimalkan D2-,
Menghindari penggunaan kapasitas perakitan yang
melebihi kapasitas yang tersedia (lembur) sehingga
meminimalkan D3+,
Menghindari produksi yang kurang dari pesanan yang
telah diterima sehingga meminimalkan D4-.
Oleh karena itu, fungsi tujuan dari permasalahan ini
adalah:
Minimisasi : Z = D1- + D2- + D3+ + D4-
34
Formulasi Model Lengkap Goal Programming.
Fungsi Tujuan
Minimisasi Z = D1- + D2- + D3+ + D4-
Pembatas
6 X1 + 7 X2 + D1- - D1+ = 30 (pembatas untuk tujuan
( target) 1)
2X1 + 3 X2 + D2- - D2+ = 12 (pembatas untuk tujuan
( target) 2)
6X1 + 5 X2 + D3- - D3+ = 30 (pembatas untuk tujuan
( target) 3)
X2 + D 4 - - D 4 + = 7 (pembatas untuk tujuan
( target) 4)
X1 , X2 , D1- , D1+, D2- ,D2+ ,D3- , D3+, D4- ,D4+ ≥ 0
35
Contoh 4
Permasalahan yang sama dengan contoh 4
namun pihak manajemen memiliki prioritas
yang berbeda-beda untuk setiap tujuan.
Prioritas keempat target tersebut adalah
sebagai berikut: Tujuan Prioritas ke-
Tujuan 1 memperoleh keuntungan, minimal sebesar 30 juta. 1
Tujuan 2 menghindari adanya pemutusan hubungan kerja karyawan 2
stasiun kerja pemotongan
Tujuan 3 menghindari adanya kerja lembur pada stasiun kerja perakitan 3
Tujuan 4 memenuhi semua pesanan yang telah diterima yaitu 7 unit 4
produk B
36
Solusi
Jika setiap tujuan memiliki prioritas yang berbeda
maka formulasi goal programming dilakukan
dengan cara memberikan bobot yang lebih besar
untuk tujuan yang lebih penting. Pada kasus di
contoh 5 bobot bisa
Tujuandiberikan sebagai berikut
Prioritas : pada
Bobot
ke- fungsi tujuan
Tujuan 1 memperoleh keuntungan, minimal sebesar 30 juta. 1 40
Tujuan 2 menghindari adanya pemutusan hubungan kerja karyawan stasiun 2 30
kerja pemotongan
Tujuan 3 menghindari adanya kerja lembur pada stasiun kerja perakitan 3 20
Tujuan 4 memenuhi semua pesanan yang telah diterima yaitu 7 unit produk 4 10
B
37
Pemberian Bobot pada Tujuan dengan
Prioritas yang Berbeda
Tujuan yang lebih penting diberi bobot yang lebih tinggi
Perhatikan masalah linear programming berikut ini:
Minimisasi
Z = 1000 X1 + X2
Pembatas
X1+ X2=1
X1,X2 ≥0
38
Perubahan pada Fungsi Tujuan
Fungsi tujuan menjadi
Minimisasi Z = 40 D1- + 30 D2- + 20 D3+ + 10 D4-
39
Model Lengkap Goal Programming
Pembatas tetap sama dengan kasus pada contoh 4
sehingga formulasi secara keseluruhan adalah:
Fungsi tujuan:
Minimisasi Z = 40 D1- + 30 D2- + 20 D3+ + 10
D4-
Pembatas:
6 X1 + 7 X2 + D1- - D1+ = 30
2X1 + 3 X2 + D2- - D2+ = 12
6X1 + 5 X2 + D3- - D3+ = 30
X2 + D4- - D4+ =7
X1 , X2 , D1- , D1+, D2- ,D2+ ,D3- , D3+, D4- ,D4+ ≥ 0
40
Review Question
1. Apakah perbedaan utama goal programming
dengan linear programming?
2. Mengapa fungsi tujuan pada goal programming
selalu minimisasi?
3. Apakah yang dimaksud dengan deviational
variabel?
4. Apakah yang menentukan banyaknya deviational
variabel?
5. Bagaimana anda membedakan hard constrains
dengan soft constrains?
6. Kenapa tujuan yang lebih penting (prioritas lebih
tinggi) diberi bobot lebih besar?
41