1主要內容
程式模型參考《分散式光伏儲能系統的最佳化配置方法》,分為上下層求解方式,上層採用粒子群演算法確定儲能的選址和容量方案,以全年購電成本、網路損耗、光伏執行成本、儲能充放電和投資成本為目標;下層採用混合整數規劃演算法(預設求解器為cplex,也可替換成gurobi),以IEEE33節點配電網為研究物件,透過二階錐模型求解,以電網購電成本為目標函式。程式註釋清晰,方便參考學習!
因此,本程式和原文還是有些明顯的區別:
1.原文中雙層模型均採用智慧演算法,遺傳/粒子群演算法,本程式上層採用粒子群,下層採用規劃演算法,需要求解器求解。
2.原文中以9節點系統為例,本程式實際上採用33節點,該節點系統應用更廣泛,參考性更強。
2部分程式碼
%計算各個粒子的適應度,並初始化Pi和Pg****************
Pgrid=zeros(33,24); %上網購電
p_ch=zeros(1,24); %儲能充電功率
p_dch=zeros(1,24); %儲能放電功率
p_pv=zeros(1,24); %光伏出力
I=zeros(32,24); %電流平方值
Pg=zeros(32,1); %風機出力
E_ess=zeros(1,24); %儲能電量
for i=1:N
[y1,y2,y3,y4,y5,y6,y7]=solution(x(i,:));
Pgrid=y1;
p_ch=y2;
p_dch=y3;
p_pv=y4;
I=y5;
Pg=y6;
E_ess=y7;
p(i)=fitness(x(i,:),Pgrid,p_ch,p_dch,p_pv,I,Pg,s);
y(i,:)=x(i,:);%每個粒子的個體尋優值
end
Pbest=fitness(x(1,:),Pgrid,p_ch,p_dch,p_pv,I,Pg,s);
pg=x(1,:);%Pg為全域性最優
for i=2:N
[y1,y2,y3,y4,y5,y6,y7]=solution(x(i,:));
Pgrid=y1;
p_ch=y2;
p_dch=y3;
p_pv=y4;
I=y5;
Pg=y6;
E_ess=y7;
if fitness(x(i,:),Pgrid,p_ch,p_dch,p_pv,I,Pg,s)<fitness(pg,pgrid,p_ch,p_dch,p_pv,i,pg,s) pbest="fitness(x(i,<span" class="hljs-symbol">:),Pgrid,p_ch,p_dch,p_pv,I,Pg,s);
pg=x(i,:);%全域性最優更新
end
end
%進入主迴圈*****************************************
for t=1:Max_Dt
t
for i=1:N
w=w_max-(w_max-w_min)*t/Max_Dt;%慣性權重更新
c1=(0.5-2.5)*t/Max_Dt+2.5; %認知
c2=(2.5-0.5)*t/Max_Dt+0.5; %社會認識
w=0.7;
v(i,:)=w*v(i,:)+c1*rand()*(y(i,:)-x(i,:))+c2*rand()*(pg-x(i,:));
for m=1:D
if(v(i,m)>v_max)
v(i,m)=v_max;
elseif(v(i,m)<-v_max)
v(i,m)=-v_max;
end
end
3程式結果