Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001) Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001
Aplikasi Algoritma Genetika Untuk
Merancang Fungsi Keanggotaan Pada Kendali Logika Fuzzy
Hendry Setiawan, Thiang, Hany Ferdinando Jurusan Teknik Elektro, Universitas Kristen Petra
Siwalankerto 121-131, Surabaya 60236, Indonesia E-mail : {thiang,hanyf}@petra.ac.id Abstract
Dalam Sistem Kendali Logika Fuzzy, tidak mudah untuk mendapatkan fungsi membership dan rule yang dapat menghasilkan respon sistem yang optimal. Selama ini cara yang dipakai adalah trial dan error.
Karena itu diterapkan Algoritma Genetika untuk mendapatkan membership function yang optimal. Plant yang dipilih adalah water level control. Parameter fungsi membership dari water level control yaitu level, rate, dan valve akan membentuk gen-gen dalam Algoritma Genetika. Fungsi fitness dari sistem ini diambil dari overshoot dan risetime.
Pengujian ini dilakukan dengan program Matlab 5.1 dan dilakukan dalam 25 generasi, dimana setiap generasi terdiri dari 10 chromosome. Hasil yang didapatkan menunjukkan bahwa dengan bantuan Algoritma Genetika penentuan fungsi membership pada kendali logika fuzzy akan memberikan respon sistem yang optimal untuk water level control system. Respon sistem yang optimal tersebut bervariasi sesuai dengan penentuan probabilitas crossover dan probabilitas mutasi. Dalam sistem ini fungsi membership terbaik diperoleh dengan menseting probabilitas crosover pada 0,6 dan probabilitas mutasi pada 0,3.
KATA KUNCI : Algoritma Genetika, Kendali Logika Fuzzy
1. Pendahuluan
Kendali Logika Fuzzy banyak dipakai dalam aplikasi dalam bidang kontrol. Secara umum, langkah yang dilakukan adalah menetapkan input dan output, merancang bentuk fungsi keanggotaan dan aturannya.
Lalu untuk mendapatkan hasil yang baik, orang memodifikasi bentuk fungsi keanggotaan dan aturannya dengan coba-coba, sampai diperoleh hasil yang baik.
Dari permasalahan ini maka diperlukan bantuan dari Algoritma Genetika untuk mengoptimasi penentuan parameter dari membership itu.
2. Algoritma Genetika
Algoritma Genetika adalah suatu algoritma pencarian yang meniru mekanisme dari genetika alam.
Algoritma Genetika ini banyak dipakai pada aplikasi bisnis, teknik maupun pada bidang keilmuan.Algoritma ini dapat dipakai untuk mendapatkan solusi yang tepat untuk masalah optimal dari satu variabel atau multi variabel. Sebelum Algoritma ini dijalankan, masalah apa yang ingin dioptimalkan itu harus dinyatakan dalam fungsi tujuan, yang dikenal dengan fungsi fitness. Jika nilai fitness semakin besar, maka sistem yang dihasilkan semakin baik. Operasi yang dilakukan adalah reproduksi, crossover, dan mutasi untuk mendapatkan sebuah solusi menurut nilai fitnessnya. Selanjutnya konstruksi dasar dari Algoritma Genetika adalah sebagai berikut:
ü Pendefinisian Chromosome ü Pendefinisian Fungsi Fitness
ü Membangkitkan Sebuah Populasi Awal ü Reproduksi
ü Crossover ü Mutasi
3. Desain Kendali Logika Fuzzy Dengan Algoritma Genetika
Pada bagian ini Algoritma Genetika akan dipakai mendapatkan optimasi dari kendali logika fuzzy untuk suatu model simulasi yaitu pada water level control. Gambar simulasi water level control tampak di berikut ini
Gambar 1. Simulasi Water Level Control
0.5
tank max inflow
WATER TANK
tank 2 error
change scope
change
waktu To Workspace2 zin
To Workspace1
zout To Workspace VALVE
Subsystem Step
Scope4
Scope2
Scope1 animtank
S-Function Mux Mux2
Mux
Mux1 Fuzzy Logic Controller
du/dt Derivative
Clock
Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001) Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001
Pada water level control tersebut bagian yang ingin dioptimasi berada di blok Fuzzy Logic Controller. Blok ini memuat file yang sumbernya dari tank.fis kemudian juga dimodifikasi sehingga menjadi file tanksave.fis. Algoritma Genetika itu sendiri bekerja pada bagian yang menentukan parameter dari fungsi membership level,rate, dan valve. Sedangkan untuk rule pada bagian ini dibuat tetap.
Tabel 1. Rule Water Level Control Rate
Level HL HS OK LS LL
NL CS NC OF OF OF
NS CS CS OS OF OF
NO CF CS NC OS OF
PS CF CF CS OS OS
PL CF CF CF NC OS
Dimana:
HL = High Large, HS = High Small, OK = Okay, LS
= Low Small, LL = Low Large, NL = Negative Large, NS = Negative Small, NO = None, PS = Positive Small, PL = Positive Large, CF = Close Fast, CS = Close Small, NC = No Change, OS = Open Slow, OF
= Open Fast
Untuk tiap membership function (2 input dan 1 output) memerlukan satu nilai, sehingga bentuknya simetris (lihat gambar 2).
-2 -2x -x 0 x 2x 2
Gambar 2. Membership Level
Sehingga dengan mencari nilai x saja, bentuk membership function tersebut dapat dibuat. Sebagai hasil akhirnya didapatlah bentuk membership function yang simetris.
Kromosom dibuat berdasarkan satu nilai, sehingga didapat tiga nilai, x, y, dan z. Ketiga nilai membentuk kromosom float seperti pada gambar 3.
chromosome
(level) (rate)(valve) Gambar 3. Struktur Chromosome
Water level control yang menjadi plant dalam menjalankan Algoritma Genetika ini mengambil fungsi fitnessnya yaitu berupa overshoot dan risetime.
Bentuk overshoot dan risetime dapat dilihat pada scope pada simulasi sltank4 dan untuk mencari
besarnya fitness maka setelah selesai menjalankan sltank4, kemudian kita dapat mengambil harga outputnya yaitu dengan menjalankan program perhitungan nilai fitnessnya.
Besarnya fitness diperoleh dari perhitungan:
( overshoot risetime)
fitness
+
= × 100
1 1 (1)
4. Hasil Pengujian
Sistem mula-mula diset dengan bilangan random, baru kemudian proses optimasi dilakukan. Pada gambar 4, 5, dan 6 akan dapat dilihat bentuk membership function yang dirancang dengan menggunakan Alogirtma Genetika. Sistem dijalankan sampai dengan 25 generasi, dan 10 kromosom untuk tiap generasi. Kenaikan nilai fitness dapat dilihat pada gambar 7.
Gambar 4. Membership Level Dengan Fitness1 Pada Generasi Akhir Pc=0,6 Dan Pm=0,3
Gambar 5. Membership Rate Dengan Fitness1 Pada Generasi Akhir Pc=0,6 Dan Pm=0,3 Tabel 2 menunjukkan hasil percobaan dengan berbagai nilai probabilitas crossover dan mutasi. Dari
x y z
Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001) Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001
tabel 2 ini dapat dilihat perbandingan antara fitnes yang memiliki probalitas yang berbeda-beda.
Gambar 6. Membership Valve Dengan Fitness1 Pada Generasi Akhir Pc=0,6 Dan Pm=0,3
5. Kesimpulan
ü Dengan bantuan Algoritma Genetika penentuan parameter fungsi membership pada kendali logika fuzzy akan memberikan respon sistem yang optimal untuk water level control sistem.
ü Algoritma Genetika ini akan selalu menunjukkan kenaikan fitness atau dengan kata lain generasi selanjutnya lebih baik atau minimal sama dengan generasi sebelumnya dan tidak akan dibawah generasi sebelumnya bila seleksi Roulette Wheel digabungkan dengan metode Elitist.
ü Perubahan pada parameter-parameter Algoritma Genetika dengan menaikkan probabilitas crossover akan menyebabkan banyaknya parent terpilih untuk masuk ke dalam proses crossover, sedangkan penurunan probabilitas crossover akan menyebabkan makin sedikitnya parent yang terpilih untuk mengalami proses crossover.
ü Perubahan pada probabilitas mutasi yaitu dengan menaikkan nilai probabilitas mutasi itu akan menyebabkan banyaknya gen yang terpilih, sedangkan untuk penurunan probabilitas mutasi akan menyebabkan gen yang terpilih untuk dimutasi makin sedikit.
ü Penentuan probabilitas crossover maupun probabilitas mutasi tidak membawa pengaruh pada kecepatan Algoritma Genetika dalam melakukan pencarian nilai optimal, tetapi berpengaruh pada hasil akhir yang dicapai pada akhir generasi.
ü Pada sistem water level control ini Probabilitas crossover yang paling baik dipakai adalah 0,6 sedangkan untuk probabilitas mutasi yang paling baik dipakai adalah 0,3 akan memberikan respon sistem yang paling optimal.
Tabel 2. Perbandingan Semua Fitness1
Fitnes Gen
erasi Pc
=0,9 Pm
=0,1 Pc
=0,3 Pm
=0,1 Pc
=0,1 Pm
=0,1 Pc
=0,1 Pm
=0,05 Pc
=0,3 Pm
=0,5 Pc
=0,3 Pm
=0,05 Pc
=0,6 Pm
=0,3 1 0,1749 0,1565 0,0617 0,1285 0,1474 0,1474 0,1474 2 0,1749 0,1565 0,1649 0,1285 0,1888 0,1889 0,1807 3 0,1749 0,1565 0,1649 0,1285 0,1888 0,1889 0,1879 4 0,1749 0,1565 0,1649 0,1300 0,1888 0,1889 0,1879 5 0,1749 0,1565 0,1649 0,1300 0,1888 0,1905 0,1879 6 0,1749 0,1565 0,1649 0,1300 0,1888 0,1908 0,1879 7 0,1749 0,1650 0,1806 0,1300 0,1888 0,1908 0,1879 8 0,1770 0,1714 0,1806 0,1300 0,1888 0,1908 0,1879 9 0,1770 0,1714 0,1806 0,1300 0,1888 0,1908 0,1879 10 0,1770 0,1714 0,1806 0,1300 0,1909 0,1908 0,1879 11 0,1770 0,1714 0,1806 0,1300 0,1909 0,1908 0,1959 12 0,1778 0,1714 0,1806 0,1300 0,1909 0,1908 0,1991 13 0,1781 0,1714 0,1806 0,1300 0,1909 0,1908 0,1994 14 0,1781 0,1714 0,1806 0,1905 0,1909 0,1908 0,1994 15 0,1781 0,1714 0,1828 0,1905 0,1938 0,1908 0,1994 16 0,1781 0,1714 0,1887 0,1905 0,1938 0,1908 0,2000 17 0,1781 0,1714 0,1887 0,1905 0,1938 0,1908 0,2094 18 0,1781 0,1714 0,1887 0,1905 0,1938 0,1908 0,2094 19 0,1781 0,1714 0,1887 0,1905 0,1962 0,1908 0,2094 20 0,1781 0,1714 0,1887 0,1905 0,1962 0,1908 0,2094 21 0,1781 0,1722 0,1887 0,1942 0,1962 0,1908 0,2094 22 0,1781 0,1722 0,1887 0,1942 0,1962 0,1908 0,2094 23 0,1781 0,1722 0,1896 0,1946 0,1962 0,1908 0,2094 24 0,1781 0,1722 0,1896 0,1946 0,1962 0,1910 0,2094 25 0,1781 0,1722 0,1896 0,1946 0,1962 0,1910 0,2096
Gambar 7. Fitness1 Terbaik Tiap Generasi Dengan Pc=0,6 Dan Pm=0,3
0 5 10 15 20 25
0.14 0.15 0.16 0.17 0.18 0.19 0.2 0.21
generasi
fitness
Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001) Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001
6. Referensi
[1]. Davis, Lawrence. Handbook Of Genetic Algorithms. New York: Van Nostrand Reinhold,1991.
[2]. Gen, Mitsuo,and Cheng, Runwei. Genetic Algorithms And Engineering Design.Edited by Hamid R.Parsaei. United States Of America:
John Wiley and Sons,1997.
[3]. Goldberg, David Edward. Genetic Algorithms in Search, Optimization, and Machine Learning.
United States of America: Addison- Westley,1989.
[4]. "IEEE Transactions On Industry Applications".
January/February 2000.vol.36.no.1.
[5]. Man,K.F, et al. Genetic Algorithms For Control And Signal Processing.London: Springer,1997.
Proceeding, Seminar of Intelligent Technology and Its Applications (SITIA 2001) Institut Teknologi Sepuluh Nopember, Surabaya, May 1, 2001