Optimasi Dispatch Energi pada Microgrid Menggunakan Particle Swarm Optimization (PSO)
Perkembangan teknologi energi terbarukan mendorong munculnya microgrid, yaitu sistem kelistrikan berskala kecil yang dapat beroperasi secara terhubung ke grid (grid-connected) maupun mandiri (islanded). Microgrid mampu meningkatkan keandalan suplai listrik, mengurangi emisi karbon, dan mendukung diversifikasi sumber energi. Namun, karakteristik PV dan WT yang bersifat fluktuatif menimbulkan tantangan dalam penjadwalan daya (dispatch) agar pasokan selalu sesuai dengan permintaan beban.
Salah satu pendekatan yang banyak digunakan untuk menyelesaikan permasalahan ini adalah optimasi berbasis metaheuristik. Algoritma Particle Swarm Optimization (PSO) menjadi salah satu metode populer karena kemampuannya menemukan solusi global dengan konvergensi yang cepat, mudah diimplementasikan, dan robust terhadap fungsi objektif yang kompleks.
Penelitian ini mengusulkan penggunaan algoritma PSO untuk mengoptimalkan distribusi daya dari sumber yang dapat dikontrol, yaitu Diesel Generator (DG), baterai, dan jaringan listrik (grid), sehingga total biaya operasional dapat diminimalkan. Data keluaran PV dan WT diasumsikan tetap pada setiap skenario sebagai input non-dispatchable.
Metodologi
1. Data dan Parameter Skenario
Penelitian dilakukan pada 10 skenario beban dengan variasi permintaan antara 35–80 kW. Output PV dan WT ditentukan secara tetap pada tiap skenario, sesuai tabel berikut:
Nilai PV dan WT dijaga tetap karena keduanya bersifat non-dispatchable, sehingga penelitian dapat berfokus pada sumber yang dapat dikontrol (DG, baterai, grid). Pendekatan ini juga memberikan baseline yang konsisten untuk evaluasi performa algoritma optimasi.
2. Formulasi Optimasi
Fungsi objektif dirumuskan sebagai:
dengan kendala keseimbangan daya:
di mana cDG, cBatt, cGrid adalah biaya operasi masing-masing sumber, dan PDG,PBatt,PGrid adalah variabel keputusan yang dioptimasi.
3. Algoritma Optimasi
PSO digunakan dengan parameter 40 partikel dan 150 iterasi. Solusi di-update secara iteratif dengan mempertimbangkan posisi terbaik partikel dan posisi global terbaik. Untuk memastikan tidak ada solusi nol, batas bawah diberi nilai > 0.
4. Visualisasi Hasil
Hasil optimasi ditampilkan dalam bentuk tabel, line chart biaya vs skenario, grafik beban, serta stacked bar kontribusi daya dari setiap sumber.
Hasil dan Pembahasan
Berikut ini hasil optimasi dispatch energi pada microgrid menggunakan Particle Swarm Optimization (PSO).
Hasil simulasi menunjukkan bahwa:
- PSO mampu menjaga keseimbangan daya pada semua skenario.
- Kontribusi PV dan WT mengurangi porsi daya yang harus dipasok oleh DG dan grid, sehingga biaya turun signifikan pada skenario dengan irradiance/kecepatan angin lebih tinggi.
- Baterai dimanfaatkan secara aktif pada skenario dengan beban sedang, untuk menekan biaya pembelian dari grid.
- Biaya operasional meningkat seiring kenaikan beban, namun tetap optimal berkat pembagian daya yang efisien.
Visualisasi stacked bar memperlihatkan komposisi suplai daya, sementara line chart menegaskan hubungan linear antara kenaikan beban dan biaya operasional.
Penelitian ini membuktikan bahwa algoritma PSO efektif dalam mengoptimalkan dispatch energi pada microgrid. Pendekatan ini memberikan kombinasi daya yang ekonomis, seimbang, dan memaksimalkan pemanfaatan energi terbarukan. Penetapan nilai PV dan WT secara tetap menjadi strategi awal yang tepat untuk fokus pada sumber daya yang dapat dikontrol.
Source Code:
clc; clear; close all;
%% Data Skenario Microgrid
nScenario = 10;
Load = [42.35 47.80 53.50 36.75 62.90 57.45 52.60 66.35 71.25 79.80];
PPV = [12.45 11.80 15.25 5.60 20.30 18.75 14.40 21.60 25.30 28.95];
PWT = [ 4.85 6.20 5.10 3.50 8.60 7.40 5.75 6.85 8.25 9.90];
costDG = 0.3;
costGrid = 0.5;
costBatt = 0.05;
lb = [1 0.5 0.5];
ub = [50 30 50];
options = optimoptions('particleswarm','SwarmSize',40,...
'MaxIterations',150,'Display','off');
fprintf('=== HASIL OPTIMASI MICROGRID (PSO) ===\n');
fprintf('Sken | PV | WT | PDG | PBatt | PGrid | TotalSupply | Load | Biaya($)\n');
fprintf('-----+-------+------+-------+-------+-------+-------------+-------+---------\n');
% Pre-allocate hasil
PDG = zeros(1,nScenario);
PBatt = zeros(1,nScenario);
PGrid = zeros(1,nScenario);
Biaya = zeros(1,nScenario);
for i=1:nScenario
PL = Load(i) - PPV(i) - PWT(i);
obj = @(x) costDG*x1 + costBatt*x2 + costGrid*x3 + ...
1e4*abs(x1+x2+x3-PL);
[xopt,~] = particleswarm(obj,3,lb,ub,options);
xopt = max(xopt, lb + 1e-3);
trueCost = costDG*xopt1 + costBatt*xopt2 + costGrid*xopt3;
totalSupply = xopt1+xopt2+xopt3+PPV(i)+PWT(i);
PDG(i) = xopt(1);
PBatt(i) = xopt(2);
PGrid(i) = xopt(3);
Biaya(i) = trueCost;
fprintf('%3d | %5.2f | %4.2f | %5.2f | %5.2f | %5.2f | %11.2f | %4.2f | %7.2f\n',...
i,PPV(i),PWT(i),xopt1,xopt2,xopt3,totalSupply,Load(i),trueCost);
end
%% === GRAFIK 1: Perbandingan Biaya per Skenario (Line Chart) ===
% Normalisasi supaya bisa ditampilkan bersama
normLoad = Load / max(Load);
normBiaya = Biaya / max(Biaya);
figure;
bar([normBiaya' normLoad'], 'grouped');
set(gca,'XTickLabel',1:nScenario);
legend({'Biaya Operasi (Normalisasi)','Beban (Normalisasi)'},'Location','northoutside','Orientation','horizontal');
ylabel('Nilai Normalisasi (0-1)');
xlabel('Skenario');
title('Perbandingan Biaya Operasional dan Beban (Normalisasi)');
grid on;
%% === GRAFIK 2: Kontribusi Daya per Skenario (Stacked Bar) ===
figure;
bar([PPV' PWT' PDG' PBatt' PGrid'],'stacked');
legend({'PV','WT','DG','Battery','Grid'},'Location','northoutside','Orientation','horizontal');
title('Kontribusi Daya per Skenario');
xlabel('Skenario');
ylabel('Daya (kW)');
grid on;
Posted on September 20, 2025, in Data mining and tagged algoritma particle swarm optimization (pso), micro grid, optimasi pso matlab, Partikel Swarm Optimization. Bookmark the permalink. Leave a comment.





















































Leave a comment
Comments 0