Algoritma Genetika dengan Toolbox Matlab

Genetic Algorithms (GAs) digunakan untuk mencari nilai optimal (maksimum atau minimum) suatu fungsi. Fungsi itu dikenal dengan istilah fitness function, atau ada juga yang menyebutnya fungsi objektif. Sebelumnya optimasi dilakukan dengan cara matematis, kalau kita inget-inget lagi pelajaran SMA dengan menurunkan suatu persamaan dan disamadengankan dengan nol. Tetapi masalah muncul jika persamaan itu memiliki banyak nilai optimal, karena nilai optimal akan terjebak dalam lokal optimum. Contohnya adalah fungsi rastrigin dari Matlab yang memiliki banyak jebakan local minimum dan hanya ada satu global optimum (kayak tempat telor ya).

Ok, kita coba mengoptimasikan satu fungsi objektif dari penanya: y = 2*x(1)+3*x(2)+4*x(3)+4*x(4). Dengan constraint: 10<x(1)<20, 30<x(2)<40, 50<x(3)<60, 70<x(4)<80. Kayaknya susah. Sebelumnya, buat terlebih dahulu fungsinya di m-file. Praktisnya ketik saja edit fungsi jika kita mau membuat fungsi objektif itu bernama fungsi. Tekan “yes” jika ada pesan bahwa tidak ada m-file bernama “fungsi”. Berarti fungsi bernama fungsi itu tidak dimiliki oleh bahasa built-in bawan Matlab. Ketik fungsi y di atas di m-file editor yang baru saja terbuka.

Kok Cuma gitu? Ya iyalah, coba tes dengan x1, x2, x3, dan x4 berturut-turut 1,2,3, dan 4 di command window dengan mengetik y=fungsi([1 2 3 4]). Jawabannya harus 36 dan tidak ada pesan error. Oiya, ini harus benar, karena jika sampai sini tidak berhasil mengikuti ya dijamin ga bakal bisa terus ke algoritma genetik, tapi kalo hanya ingin membaca saja ya rapopo.

Seperti biasa, cara termudah mengoperasikan Matlab adalah dengan menggunakan toolbox yang tersedia. Untuk GAs, karena masuk dalam kategori optimization toolbox, gunakan fungsi optimtool di command window.

Setelah memilih jenis optimasinya (GAs), isi nama fungsi didahului @, jumlah variabel (4 variabel) dan perhatikan teknik mengisi bound yang sesuai persoalan. Di bagian kanan masih ada sebenarnya, tapi ga wajib. Centang pada isian plotting pada best fitness dan best individual sehingga ketika tombol “Start” ditekan, proses optimasi akan disertai pergerakan grafik yang interaktif. Oiya, tolong dicek benar atau tidak kalau itu nilai minimum. He he .. kayaknya ga perlu pake GAs saya juga bisa nebak, ya pasti batas bawah lah jawabannya (10, 30, 50, dan 70) soalnya fungsi kuadrat (membesar terus). Coba ganti fungsi yang lain.

Iklan

7 respons untuk ‘Algoritma Genetika dengan Toolbox Matlab

  1. hai saya mencoba menggunakan toolbox GA pada matlab, tetapi di matlab tidak muncul toolbox tersebut, apakah anda tau masalahnya apa? thanks

    • Di pojok kiri matlab ada yg bisa ditekan spt windows, trus arahkan ke toolbox, cari ga, klo ga ada versi matlab yg lama berarti.

    • defaultnya adalah meminimalkan. tetapi saya sudah coba memaksimalkan tapi buat kode sendiri. kalau ingin pake toolbox cara gampangnya persamaan di-invers saja. misal memaksimalkan x berarti sama dengan meminimalkan 1/x

  2. Slmt pagi. Sy ingin bertanya utk software Matlab yang digunakan yg ad tool utk GA versi brp ya? Karen kendala saya adalah sy ingin optimasi dgn GA tapi sy kurang mengerti ttg bhs pemrograman. Thanks

    • itu masih menggunakan versi 2008b yang saat ini sudah tidak bisa digunakan lagi (saya masih gunakan dgn cara memundurkan thn di komputer sebelum 2017). Jika fungsi objektif berupa kombinasi fungsi-fungsi ada baiknya tidak dgn toolbox tetapi lewat m-file yang banyak tersedia di internet.

  3. Pak, apakah bapak punya contoh program optimasi neural network dengan GA ? Karena saya sulit menemukan contoh program dan kodingnya untuk optimasi neural network dengan GA di Matlab.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

w

Connecting to %s