基于共享储能电站的工业用户日前优化经济调度【复现】

文章提出一种基于共享储能电站的工业用户日前优化经济调度方法。首先提出共享储能电站的概念,分析其 商业运营模式。然后将共享储能电站应用到工业用户经济优化调度中,通过协调各用户使用共享储能电站进行充电和 放电的功率,实现用户群日运行成本最优。最后以江苏省 3 个工业用户进行算例仿真,与用户不配置储能和用户独立 配置储能场景对比,得出引入共享储能电站可以显著降低用户群日运行成本,并对储能电站年服务费收益、静态投资回 收年限和投资回报率与共享储能电站服务费定价间的关系做进一步的研究。

部分代码

%论文复现——场景3部分
%基于共享储能电站的工业用户日前优化经济调度[J].电力建设


clc
clear
close all


%% 参数设置
P_grid=sdpvar(3,24); %用户从电网购买的电功率
P_ess_b=sdpvar(3,24); %用户使用共享储能电站放电的功率
P_ess_s=sdpvar(3,24); %用户使用共享储能电站充电的功率
U_ess_b=binvar(3,24); %用户使用共享储能的放电状态位,取1时为放电,0为未放电
U_ess_s=binvar(3,24); %用户使用共享储能的充电状态位,取1时为充电,0为未充电
E=sdpvar(1,24); %储能电站的荷电状态
P_abs=sdpvar(1,24); %储能电站的充电功率
P_relea=sdpvar(1,24); %储能电站的放电功率
E_init=sdpvar(1,1); %储能电站的初始容量
E_max=sdpvar(1,1); %储能电站的预配置容量
P_max=sdpvar(1,1); %储能电站的预配置最大充放电功率
U_abs=binvar(1,24); %储能电站的放电状态位,取1时为放电,0为未放电
U_relea=binvar(1,24); %储能电站的充电状态位,取1时为充电,0为未充电
%% 用户参数导入
gamma=[0.37*ones(1,8),1.36*ones(1,4),0.82*ones(1,5),1.36*ones(1,4),0.82*ones(1,3)]; %电网的"峰-平-谷"电价
delta=0.33*ones(1,24); %共享储能电站的服务费
P_load(1,:)=[80,75,75,75,75,75,75,75,95,155,160,180,160,165,150,165,160,175,160,130,140,100,90,85];
P_load(2,:)=[200,50,150,190,25,50,30,20,40,170,220,150,65,160,170,150,230,125,140,200,125,70,110,65];
P_load(3,:)=[105,100,95,100,100,105,110,110,120,110,115,120,135,110,120,125,130,125,115,130,120,120,115,120];
P_pv(1,:)=[0,0,0,0,0,0,0,0,75,275,540,675,750,750,330,170,75,10,0,0,0,0,0,0];
P_pv(2,:)=zeros(1,24);P_pv(3,:)=zeros(1,24);
P_wind(1,:)=zeros(1,24);
P_wind(2,:)=[150,150,175,165,140,130,120,90,50,55,80,100,135,135,130,110,60,50,50,70,90,120,140,120];
P_wind(3,:)=[130,145,155,135,120,125,115,95,40,30,50,85,110,115,110,70,35,40,40,50,80,80,115,95];
%% 约束条件

C2=sum(delta.*(P_ess_b(1,:)+P_ess_s(1,:)))+sum(delta.*(P_ess_b(2,:)+P_ess_s(2,:)))+sum(delta.*(P_ess_b(3,:)+P_ess_s(3,:))); %用户群向储能电站缴纳的服务费
F=C1+C2; %总目标函数
%% 模型求解
ops=sdpsettings('solver','cplex','verbose',2,'usex0',0);
ops.cplex.mip.tolerances.mipgap=1e-6;
result=optimize(C,F,ops);


if result.problem == 0 % problem =0 代表求解成功
else
    error('求解出错');
end
%% 数据导出及画图
E_max=value(E_max);P_max=value(P_max);
display(['最优储能电站容量规划值为 : ', num2str(E_max),' kWh']);
display(['最优储能电站充放电功率最大值为 : ', num2str(P_max),' kW']);
P_grid=value(P_grid);P_ess_b=value(P_ess_b);P_ess_s=value(P_ess_s);
E=value(E);P_abs=value(P_abs);P_relea=value(P_relea);
%用户A的电负荷平衡曲线
for t=1:24
    if P_grid(1,t)<0.01
        P_grid(1,t)=0; %由于Cplex求解精度,把极小的值设为0
    end
end
for t=1:24
    Plot_UserA(1,t)=P_grid(1,t);
    Plot_UserA(2,t)=P_ess_b(1,t);
    Plot_UserA(3,t)=-1*P_ess_s(1,t);
end
Plot_UserA=Plot_UserA';
figure
bar(Plot_UserA,'stacked');
hold on
plot(P_load(1,:),'k-o','LineWidth',1.5);
hold on
plot(P_pv(1,:),'b-o','LineWidth',1.5);
xlabel('时间/h');
ylabel('功率/kW');
title('用户A的电负荷平衡曲线');
legend('从电网购电功率','使用储能电站的放电功率','使用储能电站的充电功率','用户A电负荷','光伏出力');
legend('boxoff');
box off
%用户B的电负荷平衡曲线
for t=1:24
    if P_grid(2,t)<0.01
        P_grid(2,t)=0; %由于Cplex求解精度,把极小的值设为0
    end
end
for t=1:24
    Plot_UserB(1,t)=P_grid(2,t);
    Plot_UserB(2,t)=P_ess_b(2,t);
    Plot_UserB(3,t)=-1*P_ess_s(2,t);
end
Plot_UserB=Plot_UserB';
figure
bar(Plot_UserB,'stacked');
hold on
plot(P_load(2,:),'k-o','LineWidth',1.5);
hold on
plot(P_wind(2,:),'b-o','LineWidth',1.5);
xlabel('时间/h');
ylabel('功率/kW');
title('用户B的电负荷平衡曲线');
legend('从电网购电功率','使用储能电站的放电功率','使用储能电站的充电功率','用户B电负荷','风电出力)

完整代码

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于风光储能和需求响应的微电网日前经济调度,可以通过Python代码实现。 首先,需要将微电网中的各种设备建模,包括风力发电机、光伏发电机、能源储存设备(如电池)以及消费设备(如家庭电器)。使用Python的建模库,可以创建出每个设备的模型,并设置其相应的参数,例如发电机的最大输出功率、电池的充放电能力等等。 然后,根据实际情况,可以设置一段时间内的需求响应策略,例如在用电高峰期间降低电器的使用,或者在用电低谷期间增加电池的充电。这些策略可以通过编写Python函数来实现。 接下来,可以通过编写优化算法,例如线性规划或遗传算法,来确定微电网中各设备的实际运行方案。优化算法的目标是最小化微电网的总成本,包括发电机的燃料成本、电池的充放电效率损失、电网的购电成本等等。通过调用Python的优化库,可以使用已有的优化算法函数,将成本最小化作为优化目标。 最后,根据得到的最优解,可以编写代码来模拟微电网的实际运行情况。通过使用Python的时间序列库,可以模拟微电网在一段时间内的发电、储能和用电情况,并将结果进行可视化展示,例如绘制发电量和用电量的曲线图。 综上所述,基于风光储能和需求响应的微电网日前经济调度可以通过Python代码实现,具体包括设备建模、需求响应策略、优化算法和运行模拟等步骤。使用Python的建模、优化和可视化库可以方便地实现这些步骤,并得到最优的微电网运行方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值