开源代码分享(18)-基于粒子群算法的配电网光伏储能双层优化配置模型(选址定容)

参考文献:

  [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——上层模型的目标函数,在该模型中,上层模型目标函数包括光伏储能投资成本。
        gfsj——该文件为mat形式,是数据文件,为光伏365天的出力数据。gfsjcl——光伏数据处理程序,采用kmeans聚类算法对全年光伏数据进行聚类分析。
        lower_obj—一下层模型的目标函数,该部分目标包括运行成本和电压偏移量多目标,其中运行成本包括弃光成本+运维成本+购电成本+网损成本四个部分。
        lowerlayer——下层模型的主程序,该部分为下层模型多目标粒子群算法部分。
        parameter一—模型参数,将参数集中在一个文件中,方便随时调用和查阅。
        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文库

4.运行结果

  • 8
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
配电网光伏-储能优化配置主要是指通过利用光伏发电和储能技术,对配电网进行合理配置和管理,以提高能源利用率和供电可靠性。 在配电网光伏-储能优化配置中,Matlab是一种常用的工具和软件,它可以帮助分析和模拟配电网系统的运行状态,并对光伏储能设备进行优化配置。通过Matlab,我们可以建立配电网的数学模型,进行功率流、电压稳定性和电流平衡等分析,以确保系统稳定运行。 首先,Matlab可以进行光伏阵列和储能设备的最优规划和布置。通过分析光伏发电量、负荷需求和储能系统容量等因素,确定光伏储能设备的最佳配置,以实现能源的最大化利用和供电的稳定性。 其次,Matlab可以进行光伏发电量和储能系统状态的预测和优化控制。通过使用预测模型和算法,可以准确估计光伏发电量和负荷需求,从而合理调控储能设备的充放电策略和运行模式,以提高系统的能源利用效率和降低电网的压力。 此外,Matlab还可以进行光伏-储能系统的协调调度和运行优化。通过建立数学模型和算法,可以优化控制光伏发电和储能设备之间的协调运行,在供电可靠性、能源利用率和经济性等方面进行最优化配置,以实现系统的高效运行和最大经济效益。 总之,配电网光伏-储能优化配置需要通过Matlab进行建模和优化调控,以实现能源的最大化利用和供电的稳定性。而Matlab作为一种强大的工具和软件,能够提供多种功能和算法,帮助分析和优化配置配电网光伏-储能系统,提高能源利用效率和供电可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值