BAB V
PENGEMBANGAN MODEL FUZZY PROGRAM LINIER 5.1 Pembelajaran Dengan Fuzzy Program Linier.
Salah satu model program linear klasik, adalah : Maksimumkan : ( ) T f x =c x Dengan batasan : Ax≤b 0 x≥ Dengan , n, m, mxn c x∈R b∈R A∈R ... (5.1) Atau Minimumkan : ( ) T f x =c x dengan batasan : Ax≥b 0 x≥ Dengan , n, m, mxn c x∈R b∈R A∈R ... (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.
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
0
X ≥ ... (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
0
X ≥ ... (5.4) Kedua bentuk (5.3) dan (5.4) dapat dibawa kesuatu bentuk (5.5) yaitu : Ditentukan x sedemikian hingga :
Bx≤d 0 X ≥ ... (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
[ ]
Fungsi keanggotan untuk model ‘keputusan’ himpunan fuzzy dapat dinyatakan sebagai :
[ ]
{
}
[ ] min i D Bx i Bix μ = μ ... (5.6)Tentukan saja diharapkan, kita akan mendapat solusi terbaik, yaitu suatu solusi dengan nilai keanggotaan yang paling besar, dengan demikian solusi sebenarnya adalah :
[ ]
{
}
0 0
max [ ] max min
i
x≥ μD Bx = x≥ μi Bix ... (5.7)
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 halnyadengan batasan bernilai tegas). Nilai μi Bix
[ ]
akan naik secara monoton pada selang [0,1], yaitu : 1; [ ] [0,1]; 0; i i i i i i i i i Jika B x d i Bix Jika d B x d p Jika B x d p μ ≤ ⎧ ⎪ = ∈⎨ < < + ⎪ > + ⎩ ... (5.8) i = 0,l,2,....,mGambar 5.1 menunjukan fungsi keanggotaan tersebut.
[ ]
i Bix
μ
Gambar 5.1 Fungsi keanggotan.
1; [ ] 1 ; 0; i i i i i i i i i i i i Jika B x d B x d i Bix Jika d B x d p p Jika B x d p μ ⎧ ≤ ⎪ − ⎪ =⎨ − < < + ⎪ > + ⎪⎩ ... (5.9) i = 0,1,2,...,m
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 :
0 0
max [ ] max min 1 i i
i x x i B x d D Bx p μ ≥ ≥ ⎧ − ⎫ = ⎨ − ⎬ ⎩ ⎭ ... (5.10)
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 :
i i
d +tp = 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 : Total Release = 12 1 t Rt =
∑
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.
Fungsi tujuan : Total Release = 12 1 t Rt =
∑
Dimana t = 1,……,12Fungsi kendala dapat diuraikan sebagai berikut :
Rt = Vt + It – Evt – L – St+1 i = 1,…….,12 Vt ≤ Vmaks Vt ≥ Vmin 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 : Total Release = 12 1 t Rt =
∑
Fungsi kendala dapat diuraikan sebagai berikut : Rt = Vt + It – Et – L – Vt-1
Vt ≤ Vmaks
Vt ≥ Vmin
El13 = El0
Jika t=1(λ=0), maka bentuk bentuk awal program linear dapat diubah menjadi : Fungsi tujuan Total Release = 12 1 t Rt =
∑
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 0 μ [B X] μ [B X]1 1 2 2 μ [B X] μ [B X]3 3 Rel ease
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 fuzzy Batasan – batasan
non fuzzy (t=0) (t=1)
Fungsi obyektif - 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
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
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.
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.
Mulai Penyiapan Data Inflow Release Net Evaporasi Volume
Menyusun Variable – Variable kedalam himpunan – himpunan
fuzzy
Proses pembahasan program linier
Mean Square Error (MSE)
Terkecil
Pengujian (Testing)
Selesai