UAS ALGORITMA GENETIKA
"Jelaskan secara singkat Proses Perhitungan Algoritma Genetik seperti gambar berikut."
Berdasarkan flowchart di soal, proses GA berjalan sebagai berikut:
1. Mulai
Bangkitkan populasi awal: GA membuat sejumlah kromosom (individu) secara acak. Setiap kromosom merepresentasikan satu kandidat solusi (encoding variabel keputusan, misal Kp, Ki, Kd dalam bentuk biner atau real number).
2. Evaluasi fungsi objektif
Setiap individu dalam populasi dihitung nilai fitness-nya — seberapa "baik" solusi tersebut terhadap tujuan optimasi (misal error terkecil, performa terbaik). Apakah kriteria optimasi sudah ditemukan? Sistem mengecek kondisi berhenti (stopping criteria) — bisa berupa jumlah generasi maksimum tercapai, nilai fitness sudah konvergen, atau target performa tercapai.
- Ya → individu dengan fitness terbaik dikeluarkan sebagai hasil akhir.
- Tidak → proses lanjut ke tahap evolusi (seleksi–rekombinasi–mutasi).
3. Seleksi
Individu dipilih sebagai "induk" berdasarkan fitness-nya — semakin baik fitness, semakin besar peluang terpilih (contoh metode: roulette wheel, tournament selection, rank selection).
4. Rekombinasi (crossover)
Dua induk yang terpilih dikombinasikan gen-nya untuk menghasilkan individu baru (anak/offspring) yang mewarisi sifat dari kedua induk.
5. Mutasi
Sebagian kecil gen pada individu baru diubah secara acak. Tujuannya menjaga keragaman populasi dan menghindari konvergensi prematur ke optimum lokal.
6. Bangkitkan populasi baru
Individu hasil seleksi-rekombinasi-mutasi membentuk populasi generasi berikutnya, lalu proses kembali ke langkah evaluasi fungsi objektif (loop berulang) sampai kriteria optimasi terpenuhi.
Konvergensi GA:
Pada grafik Fitness value, terlihat Mean fitness (titik oranye) turun drastis dari ±33 di generasi awal menuju mendekati 0 hanya dalam ±10 generasi, sementara Best fitness (titik biru) sudah sangat dekat ke 0 sejak generasi pertama. Ini menunjukkan populasi GA cepat menemukan area optimum dari fungsi f(x)=x²-4x+4 yang memang berbentuk parabola sederhana (konveks, hanya punya satu titik minimum global), sehingga GA tidak kesulitan/tidak terjebak di optimum lokal.
Akurasi hasil:
- Nilai akhir: Best = 2.06802e-09 ≈ 0, sangat dekat ke nilai analitik f(x)=0.
- x optimal hasil GA = 2.000021, dibanding nilai eksak x=2 → selisihnya hanya ≈ 2,1×10⁻⁵. Ini membuktikan GA berhasil menemukan solusi optimal dengan akurasi tinggi.
Kriteria berhenti (Stopping Criteria):
GA berhenti di generasi ke-57 (bukan di 100 generasi maksimum), dengan pesan "ga stopped because the average change in the fitness value is less than options.FunctionTolerance." Ini tercermin di grafik bawah: bar Stall (G) mencapai progress lebih tinggi (≈78%) dibanding bar Generation (≈62%) — artinya kriteria yang lebih dulu "penuh"/terpenuhi adalah stall generation (jumlah generasi berturut-turut tanpa perbaikan fitness signifikan), bukan limit jumlah generasi. Ini wajar dan justru bagus: GA berhenti otomatis begitu populasi sudah konvergen (tidak ada lagi perbaikan berarti), tidak perlu menghabiskan generasi sampai maksimum.
Kesimpulan:
penerapan GA menggunakan Optimization Toolbox MATLAB pada soal 2 berhasil menemukan solusi optimal yang sangat akurat dan konvergen secara efisien sebelum mencapai batas generasi maksimum.
"Buatlah aplikasi simulasi kontrol posisi servomotor DC dengan kontroler PID secara simultan
untuk waktu respon yang berbeda(Simulasi Perlakuan Servomotor DC sebagai Pengendali Posisi
dengan Menerapkan Algoritma Genetik). Pembuatan program simulasi dengan bantuan GAOT
(genetic algorithm optimization toolbox) pada program matlab"
Jawab:
Pada aplikasi ini, kita merancang sebuah sistem kendali posisi sudut (angular position control) dari sebuah motor DC servomotor dengan menggunakan kontroler PID yang parameter-nya (Kp, Ki, Kd) dioptimalkan secara otomatis oleh Algoritma Genetika (GA). Selain ketiga parameter PID, kita juga mengoptimasi penguatan total (gain) dan konstanta umpan balik tachometer (tachogenerator) agar sistem mencapai target posisi dengan error sekecil mungkin dan waktu respon yang cepat.
Keunggulan utama menggunakan GA di sini adalah:
- Tidak perlu melakukan trial-and-error manual yang memakan waktu.
- Mampu mencari solusi global di ruang pencarian yang luas (5 variabel dengan rentang 0–250).
- Dapat mengakomodasi kriteria performansi yang kompleks (misalnya gabungan error saat transient dan steady-state).
- Target kecil (0.5 rad): GA cenderung menghasilkan parameter dengan gain lebih rendah agar tidak terjadi overshoot, sehingga settling time bisa lebih cepat.
- Target besar (2.5 rad): GA akan mencari parameter dengan gain lebih tinggi agar motor bisa mengejar posisi jauh, tetapi berisiko menimbulkan overshoot jika tidak dituning dengan baik.
- Fungsi fitness secara otomatis akan menyesuaikan karena error kuadrat dihitung terhadap nilai jarak yang baru. Dengan demikian, GA akan selalu mencari parameter terbaik untuk setiap target yang diberikan.
- Nilai fitness terbaik = 64.89
- Solusi optimum (5 variabel) ditemukan di dalam rentang yang ditentukan.
- Analisis grafik:
- GA mampu mencari 5 parameter secara simultan (Kp, Ki, Kd, Gain, Tachometer) tanpa memerlukan inisialisasi awal yang rumit.
- Fungsi fitness berbasis error kuadrat memberikan penalti yang jelas terhadap penyimpangan respons, sehingga GA termotivasi untuk mencari solusi dengan presisi tinggi.
- Fleksibilitas waktu respon dapat diuji dengan mudah hanya dengan mengubah nilai jarak (target posisi) atau durasi simulasi, sehingga aplikasi ini dapat digunakan untuk berbagai skenario kendali posisi.
- Hasil simulasi menunjukkan performa sangat baik (error 6.7e-6, settling time 0.03 detik), membuktikan bahwa GAOT efektif untuk tuning parameter kontroler pada sistem elektromekanis.
4. Soal Nomor 4 [Kembali]
"Buatlah aplikasi GA dan simulasikan yang berhubungan dengan bidang teknik Elektro khususnya kontrol di Matlab."
Jawab:
Pada soal nomor 4, dirancang dua aplikasi kendali berbasis Algoritma Genetika (GA) di bidang Teknik Elektro, khususnya sistem kendali:
- Kontrol Kecepatan Motor DC (Representasi sistem aktuator/elektromekanis).
- Kontrol Tegangan Otomatis (AVR) pada Generator Sinkron (Representasi sistem tenaga listrik).
Keduanya menggunakan toolbox GAOT yang sama untuk mencari parameter PID (Kp, Ki, Kd) secara otomatis. Tujuannya adalah meminimalkan error respon terhadap referensi (step) dengan mempertimbangkan batasan overshoot dan waktu penetapan (settling time).
1. Analisis Hasil Kasus 1: Kontrol Kecepatan Motor DC
Model Sistem:
Fungsi alih plant motor DC yang digunakan adalah:
Kriteria Performansi:
Menggunakan ITAE (Integral Time Absolute Error) sebagai indikator utama, ditambah penalti jika overshoot melebihi 5%.
Interpretasi Grafik dan Output:
- Grafik Respons Step: Menunjukkan kurva kecepatan (rad/s) terhadap waktu. Kurva naik secara eksponensial menuju nilai 1 rad/s (referensi). Terlihat tidak ada overshoot yang signifikan (karena penalti bekerja dengan baik), dan sistem mencapai kondisi tunak (steady-state) dalam waktu kurang dari 2 detik. Ini menandakan bahwa GA berhasil menemukan kombinasi Kp, Ki, Kd yang membuat sistem stabil dan responsif.
- Grafik Konvergensi (Fitness vs Generasi): Menunjukkan kurva fitness yang meningkat tajam pada generasi awal, kemudian mendatar (konvergen) mendekati nilai maksimum. Pola ini mengindikasikan bahwa GA berhasil mengeksplorasi ruang pencarian secara efektif di awal, lalu mengeksploitasi solusi terbaik di generasi akhir.
Kesimpulan Kasus 1:
GA berhasil men-tuning PID untuk motor DC dengan performa yang baik, membuktikan efektivitasnya dalam mengoptimalkan sistem orde-2 yang stabil.
2. Analisis Hasil Kasus 2: Kontrol Tegangan AVR (Automatic Voltage Regulator)
Model Sistem:
Fungsi alih plant AVR yang digunakan adalah representasi eksitasi generator:
Kriteria Performansi:
Menggunakan ISE (Integral Square Error) untuk menekan error besar, serta penalti jika settling time > 1 detik atau tegangan akhir menyimpang jauh dari 1 pu.
Interpretasi Output Numerik (Kritis):
Dari hasil Command Window Anda, tertampil:
Kp = 20.0000
Ki = 20.0000
Kd = 10.0000
Fitness Terbaik = 0.0476
Apa arti angka-angka ini?
- Parameter PID mencapai batas atas:
- Batas variabel yang ditentukan adalah Kp [0-20], Ki [0-20], dan Kd [0-10].
- Hasil menunjukkan ketiga nilai PID menempel di batas maksimum (20, 20, 10).
- Ini mengindikasikan bahwa ruang pencarian (bounds) yang kita berikan terlalu sempit untuk sistem AVR ini. Sistem AVR dengan konstanta waktu yang relatif besar (0.04 dan 0.5) membutuhkan gain yang sangat tinggi untuk mempercepat respon.
2. Nilai Fitness yang Rendah (0.0476):
- Nilai fitness = 0.0476 berarti total error + penalti bernilai sekitar 1 / 0.0476 ≈ 21.
- Ini berarti meskipun GA sudah memaksimalkan parameter hingga batas atas, sistem masih memiliki steady-state error atau settling time yang cukup besar, sehingga fitness tidak bisa naik lebih tinggi.
3. Grafik Konvergensi AVR:
- Berdasarkan data deret angka yang Anda berikan (0.047618 s/d 0.047624), terlihat bahwa fitness hampir tidak berubah (hanya naik sekitar 0.000006) selama 150 generasi.
- Hal ini menegaskan bahwa GA sudah berada di titik jenuh (saturation) karena batas variabel membatasi kemampuannya untuk mencari solusi yang lebih baik.
Apa yang Seharusnya Dilakukan?
Untuk mendapatkan performa AVR yang lebih baik (fitness lebih tinggi, misalnya > 0.9), pengguna harus:
- Memperlebar bounds menjadi, misalnya: Kp [0-100], Ki [0-100], Kd [0-50].
- Atau menambahkan struktur kontroler yang lebih kompleks (misalnya PID + Lead-Lag).
Kesimpulan Kasus 2:
Meskipun GA berhasil menemukan solusi "terbaik" dalam batas yang diberikan, hasil ini justru membuka pelajaran penting dalam optimasi: Pemilihan batas variabel (bounds) sangat krusial. Jika batas terlalu sempit, GA akan terjebak pada solusi di tepi batas (boundary solution) yang belum tentu optimal secara fisik.
3. Perbandingan Kedua Aplikasi (Motor vs AVR)
- Motor DC → Digunakan pada robotika, konveyor, dan aktuator presisi. GA membantu menemukan parameter PID tanpa harus melakukan trial-and-error di lapangan yang berisiko merusak motor.
- AVR → Digunakan pada pembangkit listrik untuk menjaga tegangan tetap stabil meskipun terjadi perubahan beban. Tuning AVR yang buruk dapat menyebabkan voltage collapse atau kerusakan peralatan. GA menawarkan solusi otomatis yang aman dan cepat.
- GA mampu mencari parameter kontroler PID secara otomatis untuk dua sistem kelistrikan yang berbeda.
- Hasil simulasi menunjukkan bahwa pemilihan batas variabel (bounds) sangat mempengaruhi kualitas solusi. Jika batas terlalu sempit, GA akan memberikan solusi di tepi batas yang sub-optimal.
- Metode ini sangat relevan untuk diterapkan di dunia industri karena menghemat waktu, biaya, dan risiko dibandingkan metode tuning manual.
- Secara keseluruhan, penggunaan GAOT MATLAB terbukti menjadi alat yang handal untuk menyelesaikan permasalahan optimasi di bidang Sistem Kendali Tenaga Listrik dan Mekatronika.
- Download File (click here)
Komentar
Posting Komentar