首页 > 其他分享 >Matlab|储能辅助电力系统调峰的容量需求研究

Matlab|储能辅助电力系统调峰的容量需求研究

时间:2024-04-04 23:01:56浏览次数:29  
标签:24 储能 sdpvar 约束 Matlab 出力 调峰

目录

1 主要内容

目标函数

约束条件

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序参考文献《储能辅助电力系统调峰的容量需求研究》,主要是对火电、风电和储能等电力设备主体进行优化调度,在调峰能力达不到时采用弃负荷,程序以发电成本、投资运维成本、弃风惩罚、弃负荷成本以及储能调峰收益作为目标函数,程序包含多种电力设备代码建模,采用matlab+yalmip编程,注释清晰,方便学习!

  • 目标函数

储能容量优化配置模型考虑经济性,以最小化运行成本为目标函数,包括:(1)发电成本;(2)储能系统投资运维成本;(3)弃风惩罚成本;(4)调峰不足惩罚成本;(5)调峰经济收益。

  • 约束条件

(1)系统功率平衡约束
(2)储能系统出力上下限约束
(3)储能系统多时段能量耦合约束
(4)储能系统荷电状态约束
(5)火电机组爬坡速率约束
(6)火电机组出力上下限约束
(7)风电出力上下限约束
(8)系统日弃风量约束
从这些约束形式能够看出,常规电力系统优化调度/配置基本就这些约束内容,这些都是比较基础和常规的约束,适合初学者学习参考!

部分代码

%% 连续变量
% 决策变量:火电出力, 风电出力, 调峰不足,u储能放电,u储能充电 ,储能容量,
Pf = sdpvar(1,24);       % 火电出力出力
Pw = sdpvar(1,24); %风电出力
Ploss = sdpvar(1,24);  %调峰不足
​
%储能
Pchr = sdpvar(1,24);   % 蓄电池充电功率
Pdis = sdpvar(1,24);   % 蓄电池放电功率
Uchr = binvar(1,24);   % 电池充电状态,1表示充电
Udis = binvar(1,24);   % 电池放电状态,1表示放电
Wbt= sdpvar(1,24);     % 蓄电池的荷电状态 
Ess= sdpvar(1);      % 蓄电池容量 
​
​
​
​
%% 约束
constraint=[];
for t=1:24 % (1) 电能平衡约束    
    constraint = [constraint, Pf(t)+Pw(t)+Ploss(t)+Pdis(t)-Pchr(t)-Pload(t)==0 ]; 
end
constraint=[constraint, 0 <= Ess <= E_max];
for t=1:24 %  蓄电池不等式约束
    constraint=[constraint, 0<=Pchr(t)<=Uchr(t)*E_max];
    constraint=[constraint, 0<=Pdis(t)<=Udis(t)*E_max];
    constraint=[constraint, Uchr(t)+Udis(t)<=1];
    constraint=[constraint, Ess*soc_min<=Wbt(t)<=Ess*soc_max];
end
for t=1:24 % 蓄电池等式约束
     if t==1
        constraint=[constraint, Wbt(t)==Ess*soc0+Pchr(t)*eta-Pdis(t)/eta];
    else
        constraint=[constraint, Wbt(t)==Wbt(t-1)+Pchr(t)*eta-Pdis(t)/eta];
    end
end
 constraint = [constraint, Ess*soc0==Wbt(24) ]; 
​
%% 火电上下限约束
for t=1:24 
    constraint=[constraint, pf_min<=Pf(t)<=pf_max] ; 
end
%% 火电爬坡约束
for t=2:24 
    constraint=[constraint, -delta<=Pf(t)-Pf(t-1)<=delta] ; 
end

程序结果

4 下载链接

标签:24,储能,sdpvar,约束,Matlab,出力,调峰
From: https://blog.csdn.net/superone89/article/details/137385065

相关文章