【雙層模型】分散式光伏儲能系統的最佳化配置方法

电力程序小学童發表於2024-06-26

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程式結果

相關文章