目录
主要内容
程序参考文献《用于平抑可再生能源功率波动的储能电站建模及评价》,针对风电和光伏分布式能源出力波动的问题,提出采用储能平抑功率波动模型,通过储能电站充放电控制来优化整体功率波动,以相邻时段功率差的平方和作为目标函数,通过动态规划实现功率的平稳波动目标。除此之外,程序附带光伏和风电场景生成和缩减代码,利用蒙特卡洛生成多种场景,通过基于概率距离的快速前代消除技术进行场景削减。程序采用matlab+yalmip编写,注释非常清楚,方便研究学习!
模型研究
1.目标函数
程序以相邻时刻功率差值的平方和作为目标函数,显而易见,在储能的参与下,相邻功率差距越小,整体的目标函数就越小,功率的平稳性就体现出来了。
2.约束条件
储能电站既要考虑功率上下限约束,还要考虑soc约束,具体约束可以参考如下公式:
部分代码
%% 输入数据 wtpv=xlsread('pvwt.xlsx'); wt=2*wtpv(:,2); pv=2*wtpv(:,3); %% 定义储能参数 gescmax=2;%充电功率上限 gesdmax=2;%放电功率上限 sessmax=10;%蓄电量上限 sessmin=0;%蓄电量最小值 uesc=0.95;%充电效率 uesd=0.95;%放电效率 %% 定义变量 gesc=sdpvar(1,120);%储能充电功率 gesd=sdpvar(1,120);%储能放电功率 sess=sdpvar(1,120);%蓄电池蓄电量 pdyn=sdpvar(1,120);%功率波动 pplan=sdpvar(1,120);%计划功率 pobj1=sdpvar(1,120);%第一种平抑方法目标函数 pobj2=sdpvar(1,120);%第二种平抑方法目标函数 %% 约束 %% 约束条件 C=[];%初始化约束 %% 储能约束 for t=1:120 C=[C, 0<=gesc(t)<=gescmax,%充电功率约束 0<=gesd(t)<=gesdmax,%放电功率约束 0<=sess(t)<=sessmax,%蓄电量约束 gesc(t)*gesd(t)<=0,%该约束保证充放电不同同时进行,论文里可能没考虑这个,如果不考虑则不符合实际 ]; end C=[C,sess(1)==0.2*gesc(1)*uesc-0.2*gesd(1)/uesd];%初始蓄电量约束 for t=2:120 C=[C, sess(t)==sess(t-1)+gesc(t)*uesc*0.2-0.2*gesd(t)/uesd,%蓄电量等式约束 ]; end