计及源荷不确定性的电力系统优化调度MATLAB程序

关注“电气仔推送”获得模型

参考文章:

考虑源荷两侧不确定性的含风电电力系统低碳调度——崔杨(2020)

代码主要内容:

参照考虑源荷两侧不确定性的含风电的低碳调度,引入模糊机会约束,程序包括储能、风光、火电机组及水电机组,解决了目标函数含有分类特征的约束问题、非线性约束/目标的线性转化问题,且考虑了机组的启停时间约束,目标函数考虑运行成本、弃风弃光和碳成本,有详细的资料,程序完整性好、模块化编程、注释清楚、方便学习!

主程序:


%% 决策变量
PG = sdpvar(ngen, Horizon);%火电
PH = sdpvar(1, Horizon);%水电
x_P_ch = sdpvar(1, Horizon);%充电
x_P_dis = sdpvar(1, Horizon);%放电
x_P_w = sdpvar(1, Horizon);%风电
x_P_v = sdpvar(1, Horizon);%水电
x_u_ch = binvar(1, Horizon);%充电状态
x_u_dis = binvar(1, Horizon);%放电状态
OnOff = binvar(ngen,Horizon);%火电机组状态
lin = sdpvar(1, Horizon);%目标3中间变量
%P的平方线性化参数
gn=5;
x_pf=sdpvar(ngen, Horizon);
gw1=sdpvar(gn+1,Horizon);
gw2=sdpvar(gn+1,Horizon);
gw3=sdpvar(gn+1,Horizon);
gw4=sdpvar(gn+1,Horizon);
gw5=sdpvar(gn+1,Horizon);
gw6=sdpvar(gn+1,Horizon);
gz1=binvar(gn, Horizon);gz2=binvar(gn, Horizon);gz3=binvar(gn, Horizon);gz4=binvar(gn, Horizon);gz5=binvar(gn, Horizon);
%模型构建
%% 约束条件生成
cons = [];
%火电机组
 cons_gen = getConsGen1(PG,Pgmax,Pgmin,rud, Horizon,OnOff,On_min,Off_min);
 cons = [cons, cons_gen];
%水电机组
cons = [cons, repmat(Phmin,1,Horizon)<=PH<=repmat(Phmax,1,Horizon)];
%储能约束
 cons_ees = getConsEES(x_P_ch, x_P_dis, x_u_ch, x_u_dis, EESmax, EESmin, capmax, Horizon,theta);
 cons = [cons, cons_ees];
%新能源出力约束
cons = [cons,0 <= x_P_w <=pw, 0 <= x_P_v <=pv];% ,0<= x_P_w+x_P_v+PH <=pload - sum(Pgmin)];
%功率平衡约束
ww=[0.6 1 1.4];
wv=[0.5 1 1.5];
wl=[0.9 1 1.1];
Pwb=((1-alfa)*ww(1)/2+ww(2)/2+ww(3)*alfa/2).*pw;
Pvb=((1-alfa)*wv(1)/2+wv(2)/2+wv(3)*alfa/2).*pv;
Plb=((1-alfa)*wl(1)/2+wl(2)/2+wl(3)*alfa/2).*pload;
%onoff*pg线性化出处理
yg = sdpvar(ngen,Horizon);
cons = [cons, yg <= PG, yg >= PG-repmat(Pgmax,1,Horizon).*(1-OnOff), repmat(Pgmin,1,Horizon).*OnOff <= yg <= repmat(Pgmax,1,Horizon).*OnOff];
%cons = [cons, (wl(2).*pload-ww(2).*x_P_w-wv(2).*x_P_v)+x_P_ch+x_P_dis-PH-sum(OnOff.*PG,1) == 0];
cons = [cons, (2-2*alfa).*(wl(2).*pload-ww(2).*x_P_w-wv(2).*x_P_v)+(2*alfa-1).*(wl(3).*pload-ww(1).*x_P_w-wv(1).*x_P_v)+x_P_ch+x_P_dis-PH-sum(yg) == 0];

%旋转备用约束
cons = [cons, (2-2*alfa).*(wl(2).*pload-ww(2).*x_P_w-wv(2).*x_P_v)+(2*alfa-1).*(wl(3).*pload-ww(1).*x_P_w-wv(1).*x_P_v)+x_P_ch+x_P_dis-PH-sum(OnOff.*repmat(Pgmax,1,Horizon))<=0];
%目标
%分段线性化
gn=5;
gl1=(Pgmax-Pgmin)./gn;
gl2=zeros(5,gn+1);
for i=1:5
gl2(i,:)=Pgmin(i):gl1(i):Pgmax(i);
end


 

结果图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值