Ujian Akhir Semester
UAS ALGORITMA GENETIKA
1. Soal Nomor 1 [Kembali ke atas]
1. Jelaskan secara singkat Proses Perhitungan Algoritma Genetik seperti gambar berikut.
Jawab :
Algoritma Genetik adalah metode optimasi stokastik yang mengadopsi prinsip evolusi biologis—yaitu seleksi alam dan genetika—untuk menemukan solusi optimal dari suatu permasalahan. Berikut adalah penjelasan rinci mengenai setiap tahapan yang tertera pada diagram alir tersebut:
Bangkitkan Populasi Awal: Ini adalah langkah pertama dalam algoritma. Pada tahap ini, sistem membangkitkan sekumpulan solusi yang disebut "individu" atau "kromosom" secara acak. Seluruh kumpulan individu ini disebut sebagai populasi awal.
Mengevaluasi Fungsi Objektif: Setelah populasi terbentuk, setiap individu dievaluasi untuk menentukan tingkat keberhasilannya. Fungsi objektif digunakan untuk menghitung nilai fitness (kebugaran) setiap individu, yang menunjukkan seberapa baik individu tersebut dalam menyelesaikan permasalahan yang sedang dioptimasi.
Apakah Kriteria Optimasi Sudah Ditemukan?: Ini adalah titik keputusan (kondisional).
Jika ya (kriteria berhenti tercapai), maka algoritma akan mengambil Individu terbaik sebagai solusi akhir dari perhitungan.
Jika tidak, maka proses harus berlanjut untuk memperbaiki kualitas solusi melalui evolusi buatan.
Bangkitkan Populasi Baru: Jika kriteria belum terpenuhi, algoritma akan membuat generasi berikutnya (populasi baru) menggunakan tiga operator genetika utama:
Seleksi: Berfungsi untuk memilih individu-individu dengan fitness yang tinggi untuk menjadi induk (parent), sehingga peluang individu unggul untuk meneruskan genetikanya ke generasi berikutnya menjadi lebih besar.
Rekombinasi (Crossover): Operator ini menggabungkan sebagian informasi genetik dari dua atau lebih induk terpilih untuk menciptakan keturunan baru (offspring) dengan harapan mendapatkan kombinasi karakteristik yang lebih optimal.
Mutasi: Operator ini memberikan perubahan acak pada gen individu tertentu. Mutasi sangat penting untuk menjaga keragaman genetik dalam populasi dan mencegah algoritma terjebak pada solusi optimum lokal (local optima).
Iterasi: Setelah populasi baru terbentuk, siklus akan kembali ke tahap evaluasi fungsi objektif. Proses ini terus berulang secara iteratif hingga kriteria optimasi terpenuhi dan hasil terbaik ditemukan
2. Soal Nomor 2 [Kembali ke atas]
Rancanglah suatu Aplikasi GA sederhana dengan memakai toolbox di Matlab.
Jawab:
Aplikasi ini dirancang untuk menyelesaikan masalah optimasi penempatan dan penentuan kapasitas kapasitor pada sistem distribusi tenaga listrik. Tujuannya adalah meminimalkan deviasi tegangan (voltage deviation) agar profil tegangan bus mendekati nilai referensi 1.0 per-unit (p.u.).
Struktur Program
Program dibagi menjadi dua file utama agar alur kerjanya modular dan mudah dibaca:
fitness_fungsi.m(Fungsi Objektif): Berperan sebagai "hakim" yang menilai seberapa baik sebuah solusi. Dalam optimasi, nilai yang dikembalikan disebut fitness. Di sini, kita menghitung selisih antara tegangan sistem saat ini dengan target ideal (1.0 p.u.). Semakin kecil nilainya (mendekati 0), semakin baik solusinya.main_ga.m(Script Utama): Merupakan motor penggerak yang mengatur parameter optimasi, menjalankan algoritma, dan menampilkan hasil akhir.
Penjelasan Proses Algoritma Genetika (GA)
Dalam main_ga.m, program melewati beberapa tahapan evolusi:
Inisialisasi Populasi: Program membuat 50 individu acak (sesuai
PopulationSize) yang masing-masing berisi pasangan nilai [Bus, kVAR].Evaluasi Fitness: Setiap individu dikirim ke
fitness_fungsi.muntuk dihitung tingkat kesalahannya.Seleksi (
@selectiontournament): Algoritma memilih individu yang memiliki error paling kecil untuk bertahan hidup dan menjadi "orang tua" bagi generasi berikutnya.Rekombinasi/Crossover (
@crossoverintermediate): Individu yang terpilih "dikawinkan" dengan menggabungkan nilai Bus dan kVAR dari dua orang tua untuk menciptakan keturunan baru yang berpotensi lebih baik.Mutasi (
@mutationgaussian): Program memberikan sedikit perubahan acak pada nilai variabel keturunan. Ini adalah tahap paling penting untuk menjaga agar pencarian tidak berhenti di satu titik saja (menghindari local optima) dan terus menjelajah ruang solusi yang lebih luas.Elitisme: Program menyimpan 2 individu terbaik secara langsung ke generasi berikutnya agar solusi terbaik yang pernah ditemukan tidak hilang.
Analisis Parameter Utama
nvars = 2: Menandakan ada dua parameter yang dicari, yaitu lokasi bus dan kapasitas kapasitor.
lb & ub: Menentukan batas fisik. Contoh: Kapasitor tidak bisa bernilai negatif dan tidak boleh melebihi 500 kVAR.
MaxGenerations = 100: Memberikan kesempatan bagi algoritma untuk memperbaiki diri sebanyak 100 kali. Jika dalam 100 generasi belum ditemukan solusi yang sempurna, program akan memberikan solusi terbaik yang ditemukan.
Analisis Hasil Simulasi
Konvergensi: Perhatikan grafik best fitness value. Jika grafik menurun tajam di awal dan mendatar di akhir, itu menandakan algoritma berhasil menemukan solusi optimal dengan cepat.
Hasil Akhir: Hasil optimasi menunjukkan lokasi bus (misal: Bus 12) dan besar kapasitas kapasitor (misal: 300 kVAR) yang menghasilkan deviasi tegangan terkecil.
Efisiensi: Penggunaan GA terbukti lebih efisien dibandingkan metode trial-error manual, karena GA mampu mencari kombinasi optimal dalam ruang pencarian yang luas hanya dalam hitungan detik.
3. Soal Nomor 3 [Kembali ke atas]
Simulasi kontrol posisi servomotor DC dengan kontroler PID menggunakan GAOT (Matlab).
Jawab:
Dalam sistem kontrol industri, servomotor DC sering digunakan untuk aplikasi presisi. Salah satu tantangan utama adalah melakukan tuning pada parameter kontroler PID (Kp, Ki, Kd) agar sistem memiliki respons waktu yang cepat, minim overshoot, dan stabil. Algoritma Genetik (GA) hadir sebagai solusi untuk melakukan auto-tuning parameter PID secara simultan dengan meminimalkan nilai error sistem.
Metodologi Sistem
Simulasi ini dirancang menggunakan MATLAB dengan pendekatan sebagai berikut:
Model Sistem: Servomotor DC direpresentasikan dalam bentuk Transfer Function standar.
Fungsi Objektif: Menggunakan kriteria ITAE (Integral Time Absolute Error). ITAE dipilih karena memberikan bobot pada error seiring berjalannya waktu, yang secara efektif menekan overshoot dan mempercepat waktu settling.
Optimasi GA: GA akan mencari kombinasi nilai Kp, Ki, dan K_d yang menghasilkan nilai ITAE terkecil.
Implementasi Kode
Untuk menjalankan simulasi ini, program dibagi menjadi dua bagian modular:
File Fungsi Objektif (objektif_pid.m)
% x(1)=Kp, x(2)=Ki, x(3)=Kd
C = pid(x(1), x(2), x(3));
G = tf(1, [0.1 0.5 1]); % Contoh Model Servomotor
T = feedback(C*G, 1);
t = 0:0.01:5;
[y, t] = step(T, t);
error = abs(1 - y);
fitness = trapz(t, t.*error); % Menghitung nilai ITAE
end
File Utama (main_pid_ga.m)
% Konfigurasi GA
lb = [0 0 0]; ub = [100 100 100];
options = optimoptions('ga', 'PopulationSize', 50, 'MaxGenerations', 100);
% Eksekusi Optimasi
[best_params, fval] = ga(@objektif_pid, 3, [], [], [], [], lb, ub, [], options);
fprintf('Parameter PID Optimal: Kp=%.2f, Ki=%.2f, Kd=%.2f\n', ...
best_params(1), best_params(2), best_params(3));
4. Penjelasan Proses GA dalam Tuning PID
Program ini menjalankan evolusi untuk mencapai parameter terbaik:
Inisialisasi: GA membangkitkan populasi awal berisi kandidat kombinasi nilai PID.
Evaluasi: Setiap kombinasi diuji pada sistem servomotor, dan nilai ITAE-nya menjadi skor fitness.
Operator Genetika: Melalui seleksi, crossover, dan mutasi, GA secara iteratif mencari kombinasi yang menghasilkan error terkecil.
Terminasi: Setelah 100 generasi, ditemukan parameter PID yang memberikan respons sistem paling optimal.
Analisis Hasil
Respons Sistem: Hasil optimasi akan menunjukkan peningkatan signifikan pada rise time dan berkurangnya settling time dibandingkan dengan parameter acak.
Keunggulan GA: Berbeda dengan metode manual (seperti Ziegler-Nichols), GA mampu melakukan pencarian global pada ruang parameter yang luas tanpa terjebak dalam local optima, sehingga solusi yang dihasilkan jauh lebih presisi untuk sistem non-linear.
4. Soal Nomor 4 [Kembali ke atas]
Optimasi Speed Control Motor Induksi dengan metode V/f Control di Matlab.
Jawab:
Pada bidang Teknik Elektro, kontrol kecepatan motor DC merupakan elemen vital dalam industri manufaktur dan robotika. Tantangan utamanya adalah mempertahankan kecepatan motor yang stabil meskipun terdapat variasi beban (gangguan eksternal). Aplikasi ini dirancang untuk mencari parameter kontroler terbaik agar motor dapat mencapai kecepatan target secara presisi tanpa steady-state error.
Tujuan dari aplikasi ini adalah meminimalkan Integral Absolute Error (IAE) pada sistem kendali kecepatan motor DC. Kita ingin menemukan kombinasi parameter PID (Kp, Ki, Kd) yang mampu meredam osilasi dan mempercepat waktu rise time.
Implementasi Program
Program dirancang secara modular menggunakan MATLAB R2021a dengan Global Optimization Toolbox:
Fungsi Objektif (
fitness_motor.m): Menghitung respon motor melalui model fungsi transfer $G(s) = \frac{K}{s(Ts+1)}$. Nilai fitness yang dihasilkan adalah akumulasi error antara kecepatan aktual dan kecepatan target.Skrip Utama (
main_ga_motor.m):Inisialisasi: Mengatur
nvars = 3(untuk Kp, Ki, Kd).Batasan: Mengatur
lb = [0 0 0]danub = [50 50 50]untuk menjaga stabilitas perangkat keras motor.Eksekusi: Menggunakan fungsi
ga()dengan opsiSelectionFcn = @selectiontournamentdanCrossoverFcn = @crossoverintermediate.
Penjelasan Proses Algoritma
Aplikasi ini menjalankan simulasi evolusi dengan tahapan sebagai berikut:
Populasi: Algoritma membangkitkan 50 individu yang mewakili kombinasi parameter PID.
Evaluasi: Setiap individu diuji pada model motor DC, di mana hasil simulasi dikirim ke fungsi objektif untuk mendapatkan skor error.
Seleksi: Individu dengan error terkecil dipilih untuk menurunkan sifat genetiknya ke generasi berikutnya.
Variasi Genetik: Crossover menggabungkan nilai PID terbaik, sedangkan mutasi memberikan variasi acak agar program tidak terjebak pada solusi lokal yang kurang optimal.
Analisis Hasil Simulasi
Konvergensi: Grafik best fitness value akan menunjukkan penurunan drastis pada generasi awal dan cenderung stabil pada akhir iterasi.
Performa Sistem: Dengan parameter PID hasil optimasi GA, motor DC mencapai setpoint kecepatan dengan overshoot yang sangat minim dibandingkan dengan pengaturan parameter trial-and-error manual.
Kesimpulan: Penggunaan fungsi
ga()dalam MATLAB R2021a memberikan solusi yang jauh lebih cepat dan akurat dalam menyelesaikan optimasi non-linear pada sistem kendali listrik.
5. Download File [Kembali ke atas]
Silakan klik tautan di bawah ini untuk mengunduh dokumen UAS Algoritma Genetika:
DOWNLOAD FILE UAS




Komentar
Posting Komentar