目录
1 主要内容
该程序参考文献《考虑寿命损耗的微网电池储能容量优化配置》模型,以购售电成本、燃料成本和储能寿命损耗成本三者之和为目标函数,创新考虑储能寿命损耗约束、放电深度约束和储能循环次数约束,程序增加三类负荷需求响应内容,之前参考该文献的两阶段鲁棒优化代码基于两阶段鲁棒优化的微网电源储能容量优化配置未考虑储能寿命损耗部分,本次突出该部分内容,建立计及电池储能寿命损耗的微电网经济调度模型,程序采用matlab+yalmip编程,注释清晰,方便学习!
-
储能寿命模型
-
负荷需求响应
注:下载链接中均有对应文档资料。
2 部分代码
%计及电池储能寿命损耗的微电网经济调度+三类需求侧响应 ee_bat_int=300;%电池储能的容量 p_wt_int=200;%风机 p_pv_int=100;%光伏 p_g_int=200;% p_g_min=10;%燃气轮机出力下限 p_m_max=500;%联络线功率上限 p_bat_int=ee_bat_int*0.21;%假设储能的功率上限和容量上限有比值关系 ee0=0.55*ee_bat_int; %储能初始电量 eta=0.95;%储能充放电效率 mm=100000;%一个极大正实数 k_suo=1/1;%缩减系数 c_bat_int=3320/3*k_suo;%缩减储能单位成本为3320/3,乘上了缩减系数 c_wt_om=0.0296;c_pv_om=0.0096;c_g_om=0.059;c_bat_om=0.009;%运维成本系数 c_fuel=0.6;%燃料成本系数 %决策变量 p_ch=sdpvar(24,1);p_dis=sdpvar(24,1);ee=sdpvar(24,1); uu_bat=binvar(24,1);uu_m=binvar(24,1); p_buy=sdpvar(24,1);p_sell=sdpvar(24,1); p_g=sdpvar(24,1); %风光出力和电价(以春季典型日为例) p_l=xlsread('四个典型日数据.xlsx','0%','B3:B26')*900; p_wt=xlsread('四个典型日数据.xlsx','0%','H3:H26')*p_wt_int; p_pv=xlsread('四个典型日数据.xlsx','0%','N3:N26')*p_pv_int; price=xlsread('四个典型日数据.xlsx','电价','A2:A25');%分时电价 %储能损耗模型的参数和变量 kk1=0.44268;bb1=0.43071; kk2=0.59493;bb2=0.41454; kk3=0.65646;bb3=0.40992; kk4=0.69405;bb4=0.40761; kk5=0.72954;bb5=0.40551; ss_bat=binvar(24,1);%改设为0/1变量 g1=binvar(24,1);g2=binvar(24,1);g3=binvar(24,1);g4=binvar(24,1);g5=binvar(24,1); d1=sdpvar(24,1);d2=sdpvar(24,1);d3=sdpvar(24,1);d4=sdpvar(24,1);d5=sdpvar(24,1); c_bat=sdpvar(1,1); constraints=[]; %负荷响应模块 jz_pri=0.9.*ones(1,24);%基准电价 detapr=price'-jz_pri;%电价差 load=DR3(p_l',detapr,price');%负荷调整 %储能功率约束 for t=1:24 constraints=[constraints,0<=p_dis(t),p_dis(t)<=(1-uu_bat(t))*p_bat_int];%由于u_bat定义不同,所以公式和原文不同,1为充电,0为放电 constraints=[constraints,0<=p_ch(t),p_ch(t)<=uu_bat(t)*p_bat_int]; end