7
Ilustrasi bentuk himpunan fuzzy dan fungsi keanggotaannya dapat dilihat pada Contoh 3. Contoh 3 Misalkan seseorang dikatakan sudah dewasa jika berumur 17 tahun atau lebih, maka dalam logika tegas, seseorang yang berumur kurang dari 17 tahun dikatakan tidak dewasa. Sedangkan pada logika fuzzy, seseorang yang berumur di bawah 17 tahun dapat dikategorikan dewasa tetapi tidak penuh. Secara grafik dapat digambarkan sebagai berikut: šš“ (š„) 1
0 Gambar
dengan š„ adalah umur (tahun), š“ ialah himpunan orang dewasa, dan šš“ (š„) adalah fungsi keanggotaan yang dapat ditulis sebagai berikut:
šš“ š„ =
ļ¬0, ļÆ x ļ 10 , ļ ļÆ17 ļ 10 ļ®1,
jika 0 ļ£ x ļ¼ 10 jika 10 ļ£ x ļ¼ 17 jika x ļ³ 17
Dari fungsi keanggotaan tersebut dapat dilihat bahwa seseorang yang berumur 12 tahun termasuk dalam himpunan orang dewasa 2 dengan derajat keanggotaan šš“ 12 = 7. Derajat keanggotaan menunjukkan seberapa besar eksistensi dari seseorang yang berumur 12 tahun dalam himpunan orang dewasa.
š„ 10 17 5 Grafik fungsi keanggotaan himpunan fuzzy dewasa.
III FUZZY GOAL LINEAR PROGRAMMING Konsep fuzzy linear programming untuk menyelesaikan masalah pemrograman linear multiobjektif atau multiobjective linear programming (MLP) pertama kali diperkenalkan oleh Zimmerman pada tahun 1978. Pada tahun 1980, Narasimhan menggunakan teori himpunan fuzzy untuk metode goal programming. Selanjutnya pada tahun 1997, Mohamed mempelajari model fuzzy programming dengan menggunakan konsep goal programming (Gupta dan Bhattacharya 2010b). Dalam karya ilmiah ini akan dikonstruksi masalah fuzzy goal programming (FGP) yang merupakan perluasan dari model goal programming. FGP adalah model goal programming dengan fungsi objektif dan fungsi kendala yang memiliki parameter dan pertaksamaan atau persamaan fuzzy. Parameter FGP memiliki derajat keanggotaan tertentu dalam selang [0, 1] dan dinyatakan dalam pertaksamaan fuzzy, yaitu ā³ (mendekati lebih besar atau sama dengan), atau ā² (mendekati lebih kecil atau sama dengan) atau persamaan fuzzy, yaitu ā
(mendekati sama dengan). Model fuzzy goal programming dapat diformulasikan sebagai berikut:
Tentukan
š = (š„1 , š„2 , ā¦ , š„š )š ā š
š sehingga memenuhi fungsi tujuan ā³ šš š š , š = 1, 2, ā¦ , š¾, ā² š terhadap kendala ā³ š“š ā
š, š = (š1 , š2 , ā¦ , šš )š ā š
š ā² dengan š = vektor variabel keputusan šš = ketidaktepatan level aspirasi (nilai ruas kanan) ke-k dari tujuan šš š (š = 1, 2, ā¦ , š¾) š“ = matriks koefisien berordo š Ć š š = vektor nilai ruas kanan kendala ā³ šš š š = tujuan fuzzy ke-š ā² š Tanda ā² merupakan bentuk fuzzy dari tujuan dan kendala tipe ā¤, tanda ā³ merupakan bentuk fuzzy dari tujuan dan kendala tipe ā„, dan tanda ā
merupakan bentuk fuzzy dari kendala tipe =. (Gupta dan Bhattacharya 2010b) Dalam suatu pengambilan keputusan, fungsi tujuan maupun kendala yang merupakan himpunan fuzzy dapat dicirikan dengan fungsi keanggotaan masing-masing.
8
Selanjutnya ditetapkan derajat tertinggi sebagai level aspirasi dari tujuan fuzzy. Fungsi tujuan fuzzy menggunakan level aspirasi yang bersifat tidak tepat. Model fuzzy ini perlu diubah ke dalam persamaan tegas (crips) dengan menyubstitusikan fungsi tersebut pada fungsi keanggotaan fuzzy linear. Menurut Gupta dan Bhattacharya (2010b), jika šš mendefinisikan toleransi untuk tujuan fuzzy ke-š, yaitu konstanta positif yang dipilih secara subjektif dari ketidaktepatan nilai šš yang masih dapat diterima, maka fungsi keanggotaan dari fungsi tujuan fuzzy šš (š), dinyatakan dengan š šš š , dapat digunakan untuk mendefinisikan tujuan fuzzy šš (š) sebagai berikut: ļ·
Untuk tujuan fuzzy šš (š) ā³ šš , š = 1,2, ā¦ , š¾, fungsi keanggotaannya didefinisikan sebagai berikut: ļ ( Z k ( X )) ļ½
ļ¬0, ļÆļÆ Z ( X ) ļ ( g ļ p ) k k k , ļ pk ļÆ ļÆļ®1,
jika Z k ( X ) ļ¼ g k ļ pk jika g k ļ pk ļ£ Z k ( X ) ļ¼ g k jika g ļ£ Z k ( X ) ļ£ g k ļ« p k k
Grafik fungsi keanggotaan diberikan pada Gambar 6 berikut. (lihat Lampiran 3)
š(šš (š„))
š(šš (š)) 1
0
šš ā šš šš šš + šš ļ¬ šš ļ®ļ¬ šš ļ®
šš (š)
Gambar 6 Grafik fungsi keanggotaan tujuan fuzzy šš š ā³ šš . ļ·
Untuk tujuan fuzzy šš š ā² šš , š = 1,2, ā¦ , š¾, fungsi keanggotaannya didefinisikan sebagai berikut:
ļ ( Z k ( X )) ļ½
ļ¬1, ļÆļÆ ( g ļ« p ) ļ Z ( X ) k k k , ļ p k ļÆ 0, ļÆļ®
jika g k ļ pk ļ£ Z k ( X ) ļ£ g k jika g k ļ¼ Z k ( X ) ļ£ g k ļ« pk jika Z k ( X ) ļ¾ g k ļ« pk
Grafik fungsi keanggotaan diberikan pada Gambar 7 berikut. (lihat Lampiran 3)
š(šš (š„))
š(šš (š))
1
0 šš ā šš šš šš + šš ļ¬ šš ļ®ļ¬ šš ļ®
šš (š)
Gambar 7 Grafik fungsi keanggotaan tujuan fuzzy šš š ā² šš . dengan šš ā šš dan šš + šš masing-masing menunjukkan batas bawah toleransi dan batas atas toleransi untuk tujuan fuzzy šš š . Jika šš (š = 1, 2, ā¦ , š) mendefinisikan toleransi untuk kendala fuzzy ke-i, yaitu konstanta positif yang dipilih secara subjektif dari ketidaktepatan nilai šš yang masih dapat diterima, maka fungsi keanggotaan dari kendala fuzzy šš š (šš adalah baris ke-i dari matriks š“š ), dinyatakan dengan š šš š , dapat digunakan untuk mendefinisikan kendala fuzzy šš š sebagai berikut: ļ· Untuk kendala fuzzy šš š ā³ šš , š = 1,2, ā¦ , š (šš adalah baris ke-š dari vektor š), fungsi keanggotaannya didefinisikan sebagai berikut:
ļ ( ai ( X )) ļ½
ļ¬0, ļÆļÆ a ( X ) ļ (b ļ q ) i i i , ļ q i ļÆ ļÆļ®1,
jika ai ( X ) ļ¼ bi ļ qi jika bi ļ qi ļ£ ai ( X ) ļ¼ bi jika bi ļ£ ai ( X ) ļ£ bi ļ« qi
9
ļ·
Untuk kendala fuzzy šš š ā² šš , š = 1,2, ā¦ , š, fungsi keanggotaannya didefinisikan sebagai berikut:
ļ ( ai ( X )) ļ½
ļ¬1, ļÆļÆ (b ļ« q ) ļ a ( X ) i i i , ļ q i ļÆ ļÆļ®0,
jika b ļ q ļ£ ai ( X ) ļ£ bi i i jika bi ļ¼ ai ( X ) ļ£ bi ļ« qi jika ai ( X ) ļ¾ bi ļ« qi
dengan šš ā šš dan šš + šš masing-masing menunjukkan batas bawah toleransi dan batas atas toleransi untuk kendala fuzzy pertaksamaan šš š . ļ·
Untuk kendala fuzzy šš š ā
šš , š = 1,2, ā¦ , š, fungsi keanggotaannya didefinisikan sebagai berikut:
ļ ( ai ( X )) ļ½
ļ¬ ļÆ0, ļÆ a ( X ) ļ (b ļ q ) i i1 ļÆi , qi1 ļ ļÆ1, ļÆ (b ļ« q ) ļ a ( X ) ļÆ i i2 i , qi 2 ļ®
jika ai ( X ) ļ¼ bi ļ qi1 atau ai ( X ) ļ¾ bi ļ« qi 2 jika bi ļ qi1 ļ£ ai ( X ) ļ¼ bi jika ai ( X ) ļ½ bi jika bi ļ¼ ai ( X ) ļ£ bi ļ« qi 2
Grafik fungsi keanggotaan š(šš (š„)) diberikan pada Gambar 8 berikut. š(šš (š))
šš ā šš1 šš šš + šš2 ļ¬ šš1 ļ®ļ¬ šš2 ļ®
Pada metode fuzzy goal programming, derajat keanggotaan š(šš (š)) dari suatu tujuan ke-k berada pada selang 0, 1 , sehingga dengan menambahkan variabel deviasi ššā dan šš+ , fungsi keanggotaan dari tujuan fuzzy dapat direpresentasikan sebagai berikut: š šš š + ššā ā šš+ = 1, untuk fungsi keanggotaan dari tujuan tipe ā³ dan ā² dengan ššā , šš+ ā„ 0, šš+ ā ššā = 0, š = 1, 2, ā¦ , š¾. Variabel ššā dan šš+ berturut-turut merupakan variabel deviasi yang berada di bawah dan di atas dari derajat keanggotaan tujuan fuzzy ke-š. Suatu tujuan ke- š dikatakan berhasil dicapai bila nilai variabel deviasi ššā dan šš+ kurang dari satu. Jika nilai variabel deviasi ššā > 1, maka akan mengakibatkan derajat keanggotaan š šš š < 0. Sedangkan jika šš+ > 1, maka akan mengakibatkan nilai fungsi objektif šš (š) melebihi batas toleransi yang diberikan oleh pembuat keputusan. Semakin nilai variabel deviasi ššā dan šš+ dekat dengan 0, semakin besar tingkat keberhasilan tujuan ke-š. Suatu kendala fuzzy ke-š memiliki derajat keanggotaan pada selang 0, 1 , sehingga dengan menambahkan variabel deviasi ššā dan šš+ , fungsi keanggotaan dari kendala tipe ā³ dan ā² dapat direpresentasikan sebagai berikut: š šš š
1
0
kendala fuzzy persamaan ke-2. Nilai toleransi šš1 dan šš2 boleh berbeda.
šš (š)
Gambar 8 Grafik fungsi keanggotaan dari kendala fuzzy šš š ā
šš . dengan šš ā šš1 dan šš + šš2 masing-masing menunjukkan batas bawah toleransi dan batas atas toleransi untuk kendala fuzzy persamaan šš š dengan šš1 dan šš2 berturut-turut mendefinisikan toleransi dari kendala fuzzy ke-š untuk kendala fuzzy persamaan ke-1 dan
+ ššā ā šš+ = 1
(1)
ššā , šš+ ā„ 0, šš+ ā
ššā = 0, š = 1, 2, ā¦ , š. ššā dan šš+ merupakan variabel deviasi yang berada di bawah dan di atas dari derajat keanggotaan kendala fuzzy ke-š. Suatu kendala ke- š dikatakan berhasil dicapai bila nilai variabel deviasi ššā dan šš+ kurang dari satu. Jika nilai variabel deviasi ššā > 1, maka akan mengakibatkan derajat keanggotaan š šš š < 0. Sedangkan jika šš+ > 1, maka akan mengakibatkan nilai fungsi objektif šš (š) melebihi batas toleransi yang diberikan oleh pembuat keputusan. Semakin nilai variabel deviasi ššā dan šš+ dekat dengan 0, semakin besar tingkat keberhasilan kendala ke-š. Fungsi keanggotaan untuk kendala fuzzy persamaan merupakan gabungan dari fungsi keanggotaan untuk kendala fuzzy
10
pertaksamaan (ā³ dan ā²), maka fungsi keanggotaan dari kendala fuzzy persamaan dapat direpresentasikan seperti persamaan (1).
dengan kendala
Selanjutnya akan digunakan metode min sum fuzzy goal programming, yaitu suatu metode fuzzy goal programming yang menggunakan fungsi keanggotaan dari fungsi objektif dan fungsi kendala yang dianggap sebagai kendala fuzzy dengan menetapkan derajat tertinggi dari level aspirasi. Metode ini akan meminimumkan variabel deviasi yang berada di bawah tujuan dan kendala fuzzy. (Gupta dan Bhattacharya 2010b)
(2)
Menurut Gupta dan Bhattacharya (2010b) metode min sum fuzzy goal programming dapat diformulasikan sebagai berikut: Tentukan š = (š„1 , š„2 , ā¦ , š„š ) ā š
š yang meminimumkan K
m
k ļ½1
i ļ½1
z ļ½ ļ„ d kļ ļ« ļ„ d iļ dengan kendala š š ā(š āš ) (1) š š š š + ššā ā šš+ = 1, š
(untuk tujuan tipe ā³)
(2)
š š +š š āšš š šš
+ ššā ā šš+ = 1,
(untuk tujuan tipe ā²) (3) + ššā ā šš+ = 1, š š š š ā š š āš š š
(untuk kendala tipe ā³) š +š āš š (4) š šš š + ššā ā šš+ = 1, š
(untuk kendala tipe ā²) š +š āš š (5) š š1š š + ššā ā šš+ = 1 š1
š š š„ ā š š āš š2 š š2
+ ššā ā šš+ = 1
(untuk kendala tipe ā
) (6) š, ššā , šš+ ā„ 0; ššā , šš+ ā¤ 1; šš+ ā
ššā = 0; š = 1,2, ā¦ , š¾ ššā , šš+ ā„ 0; ššā , šš+ ā¤ 1, šš+ ā
ššā = 0; š = 1, 2, ā¦ , š. Dengan menambahkan kendala batas toleransi untuk setiap kendala fuzzy, maka model min sum fuzzy goal programming tersebut dapat dituliskan sebagai berikut: Tentukan š = (š„1 , š„2 , ā¦ , š„š ) ā š
š yang meminimumkan K
m
k ļ½1
i ļ½1
z ļ½ ļ„ d kļ ļ« ļ„ d iļ
(1)
šš š ā(š š āš š ) šš
+ ššā ā šš+ = 1,
(untuk tujuan tipe ā³) š š +š š āšš š + ššā ā šš+ = 1, š š
(untuk tujuan tipe ā²) š š ā š āš (3) š š š š + ššā ā šš+ = 1, š
(untuk kendala tipe ā³) š +š āš š (4) š šš š + ššā ā šš+ = 1, š
(untuk kendala tipe ā²) š +š āš š (5) š š1š š + ššā ā šš+ = 1 š1
š š š„ ā š š āš š2 š š2
+ ššā ā šš+ = 1
(untuk kendala tipe ā
) (6) šš ā šš ā¤ šš š ā¤ šš + šš (kendala batas toleransi untuk tujuan tipe ā³ dan ā²) (7) šš ā šš ā¤ šš š ā¤ šš + šš (kendala batas toleransi untuk kendala tipe ā³ dan ā²) (8) šš ā šš1 ā¤ šš š ā¤ šš + šš2 (kendala batas toleransi untuk kendala tipe ā
) (9) š, ššā , šš+ ā„ 0, šš > 0; ššā , šš+ ā¤ 1; šš+ ā
ššā = 0; š = 1,2, ā¦ , š¾ ššā , šš+ ā„ 0, šš , šš1 , šš2 > 0; ššā , šš+ ā¤ 1, šš+ ā
ššā = 0; š = 1, 2, ā¦ , š. 3.1 Prosedur Pengoptimuman Tahapan dan diagram alir dari proses pengoptimuman dengan metode fuzzy goal programming dapat direpresentasikan sebagai berikut: Tahapan proses pengoptimuman memenuhi ketentuan sebagai berikut: 1 formulasikan model fuzzy goal programming, 2 identifikasi tipe fuzzy dari tujuan yang ingin dicapai, yaitu ā³ untuk kasus maksimisasi dan ā² untuk kasus minimisasi. Kemudian tentukan level aspirasi (šš ) untuk tujuan ke-š, 3 ditentukan kendala yang akan menjadi kendala fuzzy, 4 ditentukan nilai toleransi untuk setiap tujuan dan kendala fuzzy kemudian konstruksi fungsi keanggotaan dari tujuan dan kendala fuzzy berdasarkan limit toleransi yang diperoleh, 5 aplikasikan ke dalam model min sum fuzzy goal programming sehingga semua tujuan fuzzy berhasil dicapai, 6 jika semua tujuan fuzzy belum berhasil dicapai, maka kembali ke tahap 2.
11
Diagram alir untuk proses pengoptimuman diberikan pada Gambar 9 berikut: Model fuzzy goal programming
Tentukan tipe fuzzy dan nilai šš untuk tujuan ke-š
Misalkan dipilih batas toleransi š1 = 20 dan š2 = 16 berturut-turut untuk fungsi keanggotaan dari fungsi tujuan fuzzy š1 (š) (kendala pertama) dan š2 š (kendala kedua) dan š11 = 50, š12 = 25 untuk fungsi keanggotaan dari kendala fuzzy persamaan š1 š (kendala ketiga), maka fungsi keanggotaan untuk setiap tujuan dan kendala fuzzy menjadi: ļ·
Tentukan kendala fuzzy
ļ ( Z1 ( X )) ļ½
Konstruksi fungsi keanggotaan
Model min sum fuzzy
ļ¬1, ļÆ 2720 ļ Z1 ( X ) , ļ 20 ļÆ ļ®0,
jika 2680 ļ£ Z1 ( X ) ļ£ 2700 jika 2700 ļ¼ Z1 ( X ) ļ£ 2720 jika Z1 ( X ) ļ¾ 2720
dengan š1 š = 8š„1 + 11š„2 + 10š„3 + 12š„4
goal programming
Apakah semua tujuan
Fungsi keanggotaan untuk tujuan (1)
ļ· Tidak
berhasil dicapai? Ya Solusi terbaik
Fungsi keanggotaan untuk tujuan (2)
ļ ( Z 2 ( X )) ļ½
ļ¬0, ļÆ Z 2 ( X ) ļ 16 , ļ ļÆ 16 ļ®1, dengan š2 š =
jika Z 2 ( X ) ļ¼ 16 jika 16 ļ£ Z 2 ( X ) ļ¼ 32 jika 32 ļ£ Z 2 ( X ) ļ£ 48 š„1 5
+
š„2 4
Gambar 9 Diagram alir pengoptimuman MLP. ļ· Ilustrasi fuzzy goal programming dapat dilihat pada Contoh 4. Contoh 4 Berdasarkan MLP pada Contoh 1, maka diperoleh formulasi model fuzzy goal programming sebagai berikut: Tentukan š = (š„1 , š„2 , š„3 , š„4 ) sehingga memenuhi fungsi tujuan (1) 8š„1 + 11š„2 + 10š„3 + 12š„4 ā² 2700 š„ š„ (2) 51 + 42 ā³ 32 terhadap kendala (1) š„1 + š„2 + š„3 + š„4 ā
300 (2) š„1 ā¤ 125 (3) š„2 ā¤ 100 (4) š„3 ā¤ 150 (5) š„4 ā¤ 120 (6) š„š ā„ 0, š = 1,2, 3, 4 Fungsi tujuan (1) dan (2) diperoleh dari fungsi tujuan masalah pada Contoh 1. Diasumsikan fungsi tujuan (1) dan (2) merupakan fungsi tujuan fuzzy dan kendala (1) merupakan kendala fuzzy.
Fungsi keanggotaan untuk kendala (1)
š š1 š
=
ļ¬ ļÆ0, ļÆ ļÆ a1 ( X ) ļ 250 , ļ 50 ļÆ1, ļÆ 325 ļ a ( X ) 1 ļÆ , ļ® 25
jika a ( X ) ļ¼ 250 1
atau a1 ( X ) ļ¾ 325 jika 250 ļ£ a ( X ) ļ¼ 300 1
jika a1 ( X ) ļ½ 300 jika 300 ļ¼ a1 ( X ) ļ£ 325
dengan š1 š = š„1 + š„2 + š„3 + š„4 Selanjutnya dengan melakukan substitusi setiap fungsi tujuan dan kendala fuzzy ke dalam fungsi keanggotaannya, maka permasalahan tersebut dapat diselesaikan dengan menggunakan metode min sum fuzzy goal programming yang diformulasikan menjadi: Tentukan š = (š„1 , š„2 , š„3 , š„4 ) yang meminimumkan š§ = š1ā + š2ā + š3ā + š4ā