【重磅】计及调度经济性的光热电站储热容量配置方法

文摘   教育   2024-10-07 15:01   河北  

1主要内容

程序主要复现《计及调度经济性的光热电站储热容量配置方法》,综合考虑火电机组发电成本、光热发电并网消纳的环境效益和运行维护成本、系统旋转备用成本等调度经济性因素,求解光热电站调度日的最佳储热容量,并在此基础上探究储热装置配置成本与调度经济性的平衡点,确定光热电站储热容量配置。最后,基于MATLAB+Yalmip得到光热电站数据,通过IEEE-30节点系统验证所提方法的可行性与有效性。

    源程序仅采用微网形式,未考虑30节点系统,在网上误导了很多同学,为了有效展示在IEEE-30节点系统中运行情况,在原程序中增加节点系统,将原微网扩展为30节点系统,并采用直流潮流方式,确实将原文献模型进行了复现,下载链接中附有两部分程序,一个是原基于微网的光热电站储热容量配置程序,一个是基于IEEE30节点系统光热电站储热容量配置程序,方便同学对照学习,很快上手微网转带节点电网的编程方式!

    2部分代码

    %% 参数定义T=24;   %调度时刻yita_c = 0.9; %热储能充热效率yita_f = 0.9; %热储能放热效率yita_d = 0.4; %储热系统热电转换效率N_i=6; %火电机组台数a=[0.2625 1.224 4.375 0.5838 1.75 1.75];%机组燃料成本系数b=[140 122.5 70 227.5 210 210];S=[150 141 121 133 111 141]; %启停成本P_max=[100 80 50 35 30 40]; %火电机组出力上限P_min=[53 41 26 18 16 21]; %火电机组出力下限k_G=230; %环境效益系数230元/MWalpha=157; %正旋转备用系数beta=134;  %负旋转备用系数gama=132;  %事故旋转备用系数k_s=120; %集热装置供热发电的成本系数k_Ts=100; %储热装置供热发电的成本系数c=420000; %单位储热容量配置成本mpc=case30;l=sum(mpc.bus(:,3));A=[0.95 0.965 0.925 0.945 0.965 0.976 0.953 0.942 0.934 0.943 0.934 0.98 0.96 0.93 0.94 0.967 0.935 0.95 0.98 0.99 0.97 0.94 0.95 0.97];load = A*l;% load=[220 230 230 230 198 220 208 250 280 303 300 259 255 230 235 253 290 308 307 280 274 260 252 238];%% 变量定义P_cspr=[10.05 10.05 10.05 10.05 10.89 10.05 10.89 10.05 84.59 386.10 427.97 383.58 427.14 505.03 355.11 11.73 87.94 10.89 10.05 10.05 10.05 10.05 10.05 10.05]; %CSP集热装置吸收热功率P_SFr=sdpvar(1,T,'full'); %集热装置直接发电的热功率P_HT=sdpvar(1,T,'full');  %集热装置供给储热系统的热功率P_SFd=sdpvar(1,T,'full');  %集热装置输出电功率P_TH=sdpvar(1,T,'full');  %储热装置传递至传热流体的热功率P_TSc=sdpvar(1,T,'full'); %储热装置的储热功率P_TSf=sdpvar(1,T,'full'); %储热装置的放热功率u_TSc=binvar(1,T,'full'); %储热装置的储热状态u_TSf=binvar(1,T,'full'); %储热装置的放热状态P_TSdf=sdpvar(1,T,'full'); %储热装置输出电功率C_TSr=sdpvar(1,T,'full'); %储热量P_G=sdpvar(1,T,'full'); %光热电站的输出功率P=sdpvar(N_i,T,'full'); %火电机组功率u=binvar(N_i,T,'full'); %火电机组运行状态U=sdpvar(N_i,T,'full'); %火电机组正旋转备用容量D=sdpvar(N_i,T,'full'); %火电机组负旋转备用容量R=sdpvar(N_i,T,'full'); %火电机组事故旋转备用容量%% 光热电站运行模型C=[];%集热装置运行特性C=[C,P_SFr+P_HT == P_cspr]; % C=[C,P_SFr>=0];% C=[C,P_HT>=0];%储热装置运行特性C=[C,P_TSc==yita_c*P_HT, P_TSf==P_TH/yita_f];%光热电站发电C=[C,P_G==yita_d*(P_cspr-P_TSc/yita_c+yita_f*P_TSf)];C=[C,P_SFd==yita_d*P_SFr];C=[C,P_TSdf==(1-0.03)*yita_d*P_TSf];%% 约束条件%功率平衡约束C=[C,sum(P)+P_G==load]; % 火电机组约束for n=1:1:N_i    for t=1:1:T  C=[C,0<=P(n,t)<=P_max(n)]; %火电机组出力约束    endendfor t=1:1:T-1   C=[C,-20<=P(:,t+1)-P(:,t)<=30]; %火电爬坡约束end for n=1:1:N_i    for t=2:1:T    C=[C,implies(u(n,t-1)==0&u(n,t)==1,P(n,t)==P_min(n))];     end    for t=1:1:T-1                                       %火电机组启停时刻出力约束    C=[C,implies(u(n,t+1)==0&u(n,t)==1,P(n,t)==P_min(n))];     endendfor n=1:1:N_i    for t=1:1:T  C=[C,U(n,t)==min(P_max(n)-P(n,t),30)]; %火电机组正旋转备用容量约束   C=[C,0.05*load(t)<=U(n,t)];  C=[C,D(n,t)==min(P(n,t)-0,20)]; %火电机组负旋转备用容量约束  C=[C,0.05*load(t)<=D(n,t)];    C=[C,0.05*max(load)<=R(n,t)<=0.1*max(load)]  %%%事故备用容量约束    endend%%%%%%光热电站出力约束%%%%%%%
    C=[C,0<=P_G<=100]; %光热电站出力约束for t=2:1:T C=[C,-20<=P_G(t)-P_G(t-1)<=30]; %爬坡约束end%%%%%光热电站储热约束%%%%%%for t=1:1:T C=[C,0<=C_TSr(t)<=1000]; C=[C,0<=P_TSc(t)<=u_TSc(t)*500]; C=[C,0<=P_TSf(t)<=u_TSf(t)*500]; C=[C,u_TSc(t)+u_TSf(t)<=1];endfor t=1:1:T-1 C=[C,C_TSr(t+1)==C_TSr(t)+P_TSc(t)-P_TSf(t)]; %储热装置储热量约束end C=[C,C_TSr(1)==C_TSr(24)];%% 目标函数%%%%火电机组发电成本%%%%%e1=0;e2=0;for n=1:1:N_i for t=1:1:T e1=e1+a(n)*P(n,t)^2+b(n)*P(n,t); end for t=2:1:T e2=e2+u(n,t)*(1-u(n,t-1))*S(n); endendE1=e1+e2;%%%%%光热发电环境效益%%%%E2=0;E2=k_G*sum(P_G);%%%%%旋转备用成本%%%%%%E3=0;for n=1:1:N_i for t=1:1:T E3=E3+alpha*U(n,t)+beta*D(n,t)+gama*R(n,t); endend%%%%%运行维护费用%%%%%%E4=0;E4=sum(k_s*P_SFd+k_Ts*P_TSdf);%%%%储能容量配置成本%%%%%F=0;C_set=max(C_TSr) ; %储能配置容量F=c*C_set;%%%%%总费用E=(E1-E2+E3+E4)*365;f=F+E;

    3程序结果

    • 微网模型结果

    • IEEE30节点模型结果

    两种模型下除了设备出力结果图存在差异外,配置结果也存在差异:

    1.微网模型:最 优 热 储 能 容 量 为 886.437 M W h

    2.IEEE30节点系统模型:最 优 热 储 能 容 量 为 896.437 M W h

    4下载链接

    扫码阅读原文即可跳转程序页面:

    想了解更多程序?按照下面教程查看程序目录


    电力程序
    打造电力专业最新原创程序集散地,免费分享基础编程资料,在这里,带着希望而来,带着知识而归~
     最新文章