参考文献:
[1] 刘自发,于普洋,李颉雨. 计及运行特性的配电网分布式电源与广义储能规划 [J]. 电力自动化设备, 2023, 43 (03): 72-79.
[2] 任智君,郭红霞,杨苹,等. 含高比例可再生能源配电网灵活资源双层优化配置 [J]. 太阳能学报, 2021, 42 (09): 33-38.
[3] 高红均,刘俊勇. 考虑不同类型DG和负荷建模的主动配电网协同规划 [J]. 中国电机工程学报, 2016, 36 (18): 4911-4922+5115.
1.基本原理
分析系统灵活性供需关系,建立灵活资源运行-规划联合优化双层配置模型。运行层引入灵活性不足率作为系统灵活性评价指标,将网损和弃风弃光量计入经济惩罚,以系统年运行成本最优为目标;规划层引入系统综合安全性指标对系统安全性进行评估,以系统年综合成本最优为目标。采用粒子群优化算法对双层配置模型进行求解。最后,利用
IEEE 33节点配网系统对算例进行仿真,结果验证了所提运行
-规划联合双层配置模型能有效减少网损和弃风弃光量,提高系统的经济性、安全性和灵活性。
2.程序各模块功能介绍
main——主程序,运行该程序即可得到整体模型结果,该部分主要包括系统参数以及上层模型变量区间定义以及种群规模和迭代次数等参数以及程序出图部分。
case33bw——标准33节点系统参数,包括33节点系统的节点参数和支路参数。
fun_objective——上层模型的目标函数,在该模型中,上层模型目标函数包括光伏储能投资成本。
case33bw——标准33节点系统参数,包括33节点系统的节点参数和支路参数。
fun_objective——上层模型的目标函数,在该模型中,上层模型目标函数包括光伏储能投资成本。
gfsj——该文件为mat形式,是数据文件,为光伏365天的出力数据。gfsjcl——光伏数据处理程序,采用kmeans聚类算法对全年光伏数据进行聚类分析。
lower_obj—一下层模型的目标函数,该部分目标包括运行成本和电压偏移量多目标,其中运行成本包括弃光成本+运维成本+购电成本+网损成本四个部分。
lowerlayer——下层模型的主程序,该部分为下层模型多目标粒子群算法部分。
lower_obj—一下层模型的目标函数,该部分目标包括运行成本和电压偏移量多目标,其中运行成本包括弃光成本+运维成本+购电成本+网损成本四个部分。
lowerlayer——下层模型的主程序,该部分为下层模型多目标粒子群算法部分。
parameter一—模型参数,将参数集中在一个文件中,方便随时调用和查阅。
pop_limit——粒子群中粒子的位置限制,在粒子群优化过程中,如果粒子超过上下限,通过该程序进行约束,确保优化效果。
PSOFUN——上层模型粒子群算法寻优过程,是个比较定式的程序,方便直接进行套用。
update_v——粒子群中粒子移动速度限制。
pop_limit——粒子群中粒子的位置限制,在粒子群优化过程中,如果粒子超过上下限,通过该程序进行约束,确保优化效果。
PSOFUN——上层模型粒子群算法寻优过程,是个比较定式的程序,方便直接进行套用。
update_v——粒子群中粒子移动速度限制。
3.MATLAB代码
%% 配电网光伏和储能优化配置
% 上层规划层
% 变量定义如下:
% 决策变量:1光伏和1储能选址定容变量【1st光伏选址 1st光伏容量 储能选址 储能定容】
% 变量维度为4
clc;
clear;
close all;
global center gailv gxbest1;
gfsjcl;%光伏数据处理及kmeans聚类分析
%% 算法参数
parameter;%基本参数
nVar=4; % 变量数量
VarMin=[1 min_pv 1 min_cn]; % 变量最小值
VarMax=[sz_pv max_pv sz_cn max_cn]; % 变量上限
MaxIt=50; % Maximum Number of Iterations
nPop=10; % Population Size (Swarm Size)
%% 计算
[ bestPosition, fitValue,BestCost ] = ...
PSOFUN( @fun_objective,nVar,VarMin,VarMax,MaxIt,nPop );
%结果
figure;
plot(BestCost,'m','LineWidth',1.5)
xlabel('迭代次数');
ylabel('适应度值');
grid on
figure;
bar(gxbest1(97:120))
xlabel('时间')
ylabel('功率')
yyaxis right
for i=1:24
esoc(i)=0.5+sum(gxbest1(97:97+i-1))/bestPosition(4)/4/s_cn;
end
plot(esoc,'-*')
ylabel('soc')
grid on
figure;
cc=sum(cx.bus(:,3)).*pl;
plot(cc,'m-','LineWidth',1.5)
grid on
xlabel('时间/h');
ylabel('功率/MW');
figure;
pv11=bestPosition(2).*center(1,:);
pess=gxbest1(97:120);
zpess=max(-pess,0);
fpess=min(-pess,0);
pg=1000.*cc-pv11+pess;
yyz=[zpess;pg;pv11]';
bar(fpess,'stack')
hold on
bar(yyz,'stack')
plot(1000.*cc,'r-','LineWidth',1.5)
legend('充电','放电','外网供电','光伏1','原始负荷');
xlabel('时间')
ylabel('功率')
%
%位置图
AA1=st_pvc(bestPosition(1));AA3=st_cnc(bestPosition(3));
figure;
A1=[1,3];A2=[2,3];A3=[3,3];A4=[4,3];A5=[5,3];A6=[6,3];
A7=[7,3];A8=[8,3];A9=[9,3];A10=[10,3];A11=[11,3];A12=[12,3];
A13=[13,3];A14=[14,3];A15=[15,3];A16=[16,3];A17=[17,3];A18=[18,3];
A19=[2,1];A20=[3,1];A21=[4,1];A22=[5,1];A23=[3,5];A24=[4,5];
A25=[5,5];A26=[6,5];A27=[7,5];A28=[8,5];A29=[9,5];A30=[10,5];
A31=[11,5];A32=[12,5];A33=[13,5];A34=[9,2];A35=[15,2];A36=[5,6];A37=[9,6];
for p = 1:37 % 放进一个矩阵内方便操作
c = num2str(p);
s = ['A(p,:) = A' c ';'];
eval(s);
end
scatter(A(:,1),A(:,2));
for p = 1:33
c = num2str(p);
plot(A(p,1),A(p,2),'ko','MarkerFaceColor','k');
hold on
axis([0 20 0 7]);
text(A(p,1)+0.05,A(p,2)-0.1,c);
end
set(gca,'xtick',0:1:20,'ytick',0:1:7);
sx = 1:18;
for p = 1:length(sx)-1
P1 = A(sx(p),:);
P2 = A(sx(p+1),:);
line([P1(1) P2(1)],[P1(2) P2(2)],'color','k');
end
sx = [2 19 20 21 22];
for p = 1:length(sx)-1
P1 = A(sx(p),:);
P2 = A(sx(p+1),:);
line([P1(1) P2(1)],[P1(2) P2(2)],'color','k');
end
sx = [3 23 24 25];
for p = 1:length(sx)-1
P1 = A(sx(p),:);
P2 = A(sx(p+1),:);
line([P1(1) P2(1)],[P1(2) P2(2)],'color','k');
end
sx = [6 26 27 28 29 30 31 32 33];
for p = 1:length(sx)-1
P1 = A(sx(p),:);
P2 = A(sx(p+1),:);
line([P1(1) P2(1)],[P1(2) P2(2)],'color','k');
end
plot(A(AA1,1),A(AA1,2),'p','MarkerSize',10,'MarkerFaceColor','r','MarkerEdgeColor','r','LineWidth',1.5);
text(A(AA1,1),A(AA1,2)-0.5,'光伏');
plot(A(AA3,1),A(AA3,2),'o','MarkerSize',10,'MarkerFaceColor','r','MarkerEdgeColor','r','LineWidth',1.5);
text(A(AA3,1),A(AA3,2)-0.5,'储能');
hold off
grid on;
以上仅为主函数部分的代码,完整代码可从以下链接进行获取:
配电网光伏储能双层优化配置模型(选址定容)的matlab代码资源-CSDN文库