BAB V PENGEMBANGAN MODEL FUZZY PROGRAM LINIER 5.1
Pembelajaran Dengan Fuzzy Program Linier. Salah satu model program linear klasik, adalah : Maksimumkan : f ( x ) = cT x Dengan batasan : Ax ≤ b x≥0
Dengan c, x ∈ R n , b ∈ R m , A ∈ R mxn ...................................................... (5.1) Atau Minimumkan :
f ( x ) = cT x
dengan batasan : Ax ≥ b x≥0
Dengan c, x ∈ R n , b ∈ R m , A ∈ R mxn ...................................................... (5.2)
A,b dan c adalah bilangan-bilangan crisp, tanda ≤ pada kasus maksimasi dan tanda ≥ pada kasus minimasi juga bermakna crisp, demikian juga perintah “maksimumkan” atau “minimumkan” merupakan bentuk imperatif tegas. Jika diasumsikan bahwa keputusan linear programming akan dibuat pada lingkungan fuzzy, maka bentuk persamaan (5.1) dan (5.2) akan mengalami sedikit perubahan, yaitu : 1. Bentuk imperatif pada fungsi obyektif tidak lagi benar-benar “maksimumkan” atau “minimumkan” karena adanya beberapa hal yang perlu mendapat pertimbangan dengan suatu sistem. 2. Tanda ≤ (pada batasan) dalam kasus maksimasi dan tanda ≥ (pada batasan) dalam kasus minimasi tidak lagi bermakna crisp secara matematis, namun sedikit mengalami pelanggaran makna. Hal ini juga disebabkan karena adanya beberapa yang perlu dipertimbangkan dalam sistem yang mengakibatkan batasan tidak dapat didekati dengan tegas.
V-1
Pada fuzzy linear programming, akan dicari suatu nilai z yang merupakan fungsi obyektif yang akan dioptimasika sedemikian hingga tunduk pada batasan-batasan yang dimodelkan dengan menggunakan himpunan fuzzy. Sehingga untuk persamaan (5.1) akan diperoleh : cTx ≥ z Ax ≤ b
X ≥ 0 ................................................................................................... (5.3)
Dengan tanda ‘≤’ merupakan bentuk fuzzy dari ‘<’ yang merupakan interpretasikan ‘pada dasarnya kurang dari atau sama dengan’. Demikian pula, tanda ‘≥’ kerupakan bentuk fuzzy dari ‘>’ yang menginterpretasikan pada dasarnya lebih dari atau sama dengan. Untuk kasus persamaan (5.2) akan diperoleh : cTx ≤ z
Ax ≥ b X ≥ 0 ................................................................................................... (5.4)
Kedua bentuk (5.3) dan (5.4) dapat dibawa kesuatu bentuk (5.5) yaitu : Ditentukan x sedemikian hingga : Bx ≤ d X ≥ 0 ................................................................................................... (5.5)
Dengan :
⎛ −c ⎞ B = ⎜ A ⎟ ; dan ⎝ ⎠ ⎛ −z ⎞ d = ⎜ b ⎟ ; untuk kasus maksimum ⎝ ⎠ atau
⎛ c ⎞ B = ⎜ − A ⎟ ; dan ⎝ ⎠ ⎛ z ⎞ d = ⎜ −b ⎟ ; untuk kasus minimum ⎝ ⎠ Tiap-tiap baris/batasan (0,1,2,....,m) akan direpresentasikan dengan sebuah himpunan fuzzy, dengan fungsi keanggotan pada himpunan ke-i adalah μ i [ Bix ]
V-2
Fungsi keanggotan untuk model ‘keputusan’ himpunan fuzzy dapat dinyatakan sebagai :
μ D[ Bx] = min {μ i [ Bix ]} ..................................................................... (5.6) i
Tentukan saja diharapkan, kita akan mendapat solusi terbaik, yaitu suatu solusi dengan nilai keanggotaan yang paling besar, dengan demikian solusi sebenarnya adalah : max μ D[ Bx] = max min {μ i [ Bix ]} ..................................................... (5.7) x≥0
x≥0
i
Dari sini terlihat bahwa μ i [ Bix ] = 0 jika batasan ke-i benar-benar dilanggar. Sebaliknya, μ i [ Bix ] = 1 jika batasan ke-i benar-benar dipatuhi (sama halnya dengan batasan bernilai tegas). Nilai μ i [ Bix ] akan naik secara monoton pada selang [0,1], yaitu : ⎧ 1; ⎪ μ i[ Bix] = ⎨∈ [0,1]; ⎪ 0; ⎩
Bi x ≤ di
Jika
Jika di < Bi x < di + pi ............................ (5.8) Jika Bi x > di + pi
i = 0,l,2,....,m Gambar 5.1 menunjukan fungsi keanggotaan tersebut.
μ i [ Bix ]
Gambar 5.1 Fungsi keanggotan. ⎧ 1; ⎪ ⎪ B x − di μ i[ Bix] = ⎨1 − i ; p i ⎪ ⎪⎩ 0;
Jika
Bi x ≤ di
Jika di < Bi x < di + pi .................... (5.9) Jika Bi x > di + pi
i = 0,1,2,........,m
V-3
Dengan pi adalah tolesansi interval yang diperbolehkan untuk melakukan pelanggaran baik pada fungsi objektif maupun batasan. Dengan mensubstitusikan (5.9) ke (5.7) akan diperoleh : ⎧ B x − di ⎫ max μ D[ Bx] = max min ⎨1 − i ⎬ .............................................. (5.10) i x≥0 x≥0 pi ⎭ ⎩
Dari gambar 5.1, dapat dilihat bahwa, semakin besar nilai domain, akan memiliki nilai keanggotaan yang cenderung semakin kecil. Sehingga untuk mencari nilai λcut dapat dihitung dengan λ=1-t, dengan :
di + tpi = ruas kanan batasan ke − i ................................................... (5.11) Dengan demikian akan diperoleh bentuk linear programming baru sebagai beriku : Maksimumkan : λ Dengan batasan : λpi + Bix ≤ di + pi
i = 0,1,.....,m
X ≥ 0............................................................................................... (5.12) 5.2
Pembelajaran Dengan Teknik Optimasi
Proses pembelajaran (training) fuzzy program linier yang diterapkan dalam penelitian ini adalah dengan menggunakan program linear. Fungsi tujuan : 12
Total Release =
∑ Rt t =1
Dengan Fungsi kendala sebagai berikut : Vt
= Vt-1 + It – Evt – Rt – L
Vt
≥
Vmin
Vt
≤
Vmaks
El13 = El0 Rt
≥
0
Fungsi kendala yang berlaku adalah interval waktu t = 1,……,12, yang menunjukan pengoperasian bulanan dan dengan asumsi bahwa laju sedimen yang masuk ke dalam waduk diabaikan.
V-4
Fungsi tujuan : 12
Total Release =
∑ Rt
Dimana t = 1,……,12
t =1
Fungsi kendala dapat diuraikan sebagai berikut : Rt
= Vt + It – Evt – L – St+1
Vt
≤
Vmaks
Vt
≥
Vmin
i = 1,…….,12
El13 = El0 Rt
≥
0
Dimana : Vt
= Storage (Volume tampungan) pada waktu t
Vt-1 = Storage (Volume tampungan) pada waktu ke t-1 (bulan sebelumnya) It
= Inflow ke waduk pada waktu ke-t
Evt
= Net Evaporasi ke waduk pada waktu ke-t
Rt
= Release yang di hasilkan dari waduk pada waktu ke-t
L
= Kehilangan air lainnya (Seepage atau Perkolasi)
Jika t=0(λ=1), maka bentuk diatas menjadi : Fungsi tujuan : 12
Total Release =
∑ Rt t =1
Fungsi kendala dapat diuraikan sebagai berikut : Rt
= Vt + It – Et – L – Vt-1
Vt
≤
Vmaks
Vt
≥
Vmin
El13 = El0 Rt
≥
0
V-5
Jika t=1(λ=0), maka bentuk bentuk awal program linear dapat diubah menjadi : Fungsi tujuan 12
Total Release =
∑ Rt t =1
Dengan Fungsi kendala sebagai berikut : Rt
= Vt + It – Et – L – Vt-1
Vt
≤
Vmaks
Vt
≥
Vmin + Delta Volume maks
El13 = El0 Rt
≥
0
Dari kedua hasil ini (t=1 dan t=0), kita dapat menentukan nilai Po, Yaitu hasil pengurangan dari z pada saat t = 1 dengan z pada saat t = 0. Fungsi keanggotaan tiap – tiap persamaan terlihat pada gambar
μ 0 [B0 X]
μ1[B1X]
μ 2 [B2 X]
μ 3[B3 X]
Gambar 5.2 fungsi keanggotaan
V-6
lea Re
se
Hubungan antara batasan – batasan non fuzzy dengan batasan fuzzy terlihat pada tabel 5.1. Tabel 5.1 Batasan Non fuzzy vs batasan fuzzy Batasan – batasan
Batasan – batasan fuzzy
non fuzzy
(t=0)
(t=1)
-
Z(t=0)
Z(t=1)
Batasan – 1
Vmaks
Vmaks
0
Batasan – 2
Vmin
Vmin
Vmin+Delta Volume maks
Batasan – 3
El0
El0
0
Batasan – 4
0
0
0
Fungsi obyektif
Dengan mengambil λ = 1 - t, akhirnya dapat dibentuk model linear programming sebagai berikut : Maksimumkan : λ Dengan Fungsi kendala sebagai berikut : Po λ – Tot Release + r
≤
- z(t=1) + Po
Vt
≤
Vmaks
Vt + Delta Volume maks
≥
Vmin + Delta Volume maks
El13
= El1
Rt
≥
0
Bentuk Standar Program linear Maksimumkan : z = λ Dengan Fungsi kendala sebagai berikut : -Po λ + Tot Release - r
≥
z(t=1) - Po
Vt
≤
Vmaks
Vt
≥
Vmin + Delta Volume maks
El13
= El1
Rt
≥
0
V-7
Menyelesaikan linear programming : Min : r = R1 Dengan batasan : -Po λ + Tot Release - r
≥
z(t=1) - Po
Vt
≤
Vmaks
Vt
≥
Vmin + Delta Volume maks
El13
= El1
Rt
≥
0
Diperoleh variabel basic : R1. karena R1 muncul dipersamaan r, maka harus di subtitusikan dengan batasan pertama. r = -[z(t=1) + Po] - Po λ + Tot Release Dengan mensubtitusikan R1 ke persamaan r, maka linear programming yang harus diselesaikan adalah : Min : r = -[z(t=1) + Po] - Po λ + Tot Release Dengan batasan : -Po λ + Tot Release - r
≥
z(t=1) - Po
Vt
≤
Vmaks
Vt
≥
Vmin + Delta Volume maks
El13
= El1
Rt
≥
0
Keseluruhan proses pemodelan dikerjakan menggunakan program Excel. Khusus untuk proses pembelajaran dengan meminimumkan MSE (Mean Square Error) dipakai tools dari program Excel, yaitu Solver yang mampu mengoptimasi fungsi – fungsi linier dengan variable bebas yang banyak dalam waktu relatif singkat. 5.3
Pengujian (testing)
Setelah proses pembelajaran (training) selesai, dilakukan pengujian (training). Pola pembelajaran yang sudah di training secara otomatis menghitung nilai MSE untuk data testing yang diambil dari data historis 1(satu) tahun terakhir, yaitu data historis tahun 2000.
V-8
Nilai MSE dihitung berdasarkan bobot dan bias dari proses pembelajaran (training) yang telah dipilih sebagai model yang optimal dan dianggap mewakili. Diagram alir (flowchart) proses pemodelan fuzzy program linier disajikan pada gambar 5.2.
Gambar 5.3 Metodologi pengembangan sistem fuzzy
V-9
Mulai
Inflow Release Net Evaporasi Volume
Penyiapan Data
Menyusun Variable – Variable kedalam himpunan – himpunan fuzzy
Proses pembahasan program linier
Mean Square Error (MSE) Terkecil
Pengujian (Testing)
Selesai
Gambar 5.4 Diagram Alir (flowchard) Tahapan pemodelan Fuzzy Program Linier
V-10