Matlab|电-气-热综合能源系统耦合优化调度

1 主要内容

程序主要做的是一个考虑电、热、气网耦合调度的综合能源系统优化调度模型,考虑了电网与气网,电网与热网的耦合,电网部分为10机39节点的综合能源系统,热网为6节点,气网部分为比利时20节点气网,潮流部分电网是用了直流潮流,气网部分也进行了线性化的操作处理。

  • 参考文献

《计及碳排放成本的电---气---热...源系统节点能价计算方法研究_邓红卫》

《计及需求响应与动态气潮流的电---气综合能源系统优化调度_张伊宁》

  • 程序的模块化很好。
  • 个模块的功能介绍很详细
  • 工具:MATLAB➕YALMIP➕cplex

(之前有些程序反映求解失败,都是软件没有配置好,而且官网免费的cplex真的严重受限,我用的matlab2018a,yalmip和cplex都是用的公众号免费软件里面的版本,匹配性比较好,一些比较高的matlab版本我也没有合适的不限制变量和约束cplex,建议你再安装一个matlab,对电脑影响不大,具体配套软件和安装说明在公众号有详细介绍。)

2 部分代码

复制代码
%导纳矩阵计算
% [Ybus, Yf, Yt] = makeYbus(baseMVA, bus, M_branch);   % build admitance matrix
[Bbus, Bf, Pbusinj, Pfinj] = makeBdc(baseMVA, bus, branch);       %直流潮流
%%
% 创建决策变量
%%
% 电网
% 火电发电机出力 
gen_P = sdpvar(n_gen, n_T);
gen_P_upper = sdpvar(n_gen, n_T);
​
% 火电机组状态
u_state = binvar(n_gen, n_T);    
​
% 电力系统各支路功率
PF_D  = sdpvar(n_branch, n_T);
% 电力系统各节点相角
Va = sdpvar(n_bus,n_T);
%%
% 气网
GasFlow = sdpvar(n_GasBranch, n_T);         %各管道气流量
GasPressure2 = sdpvar(n_GasBus, n_T);       %各节点气压平方
GasSourceOutput = sdpvar(n_GasSource, n_T); %各天然气源节点出力
GasGenNeed = sdpvar(n_GasGen, n_T);         %各天然气发电机耗气
​
%%
% 热网
TmprtrFromDir = sdpvar(n_HeatBranch, n_T);  %正方向支路头结点温度
TmprtrToDir = sdpvar(n_HeatBranch, n_T);    %正方向支路尾结点温度
TmprtrFromRev = sdpvar(n_HeatBranch, n_T);  %逆方向支路头结点温度
TmprtrToRev = sdpvar(n_HeatBranch, n_T);    %逆方向支路尾结点温度
​
TmprtrBusDir = sdpvar(n_HeatBus,n_T);       %正方向系统各节点热水的温度
TmprtrBusRev = sdpvar(n_HeatBus,n_T);       %逆方向系统各节点热水的温度
​
HeatSource = sdpvar(n_HeatBus, n_T);        %热源供热,因为电炉和CHP连在同一个节点才写的这么诡异
HeatCHP = sdpvar(n_CHPgen,n_T);             %chp机组热出力
HeatEBoiler = sdpvar(n_EBoiler,n_T);        %电锅炉热出力
PowerEBoiler = sdpvar(n_EBoiler,n_T);       %电锅炉耗电
​
C = [];     %约束
% C = sdpvar(C)>=0;
SCUC_value = 0;
​
%%
%添加约束
%%
%火电机组开机费用
% Add_Huodian_Startup;
%%
%功率平衡
% Add_PowerBalance;
Add_PowerFlow;
%%
%爬坡约束
Add_Ramp;
%%
%最小启停时间限制
Add_MinUpDownTime;
%%
%火电机组出力
Add_Huodian_UnitOutput;
%%
%天然气网约束
Add_GasConstraints;
%%
%热网约束
Add_HeatConstraints;
%%
%火电二次费用函数
Add_Huodian_GenCost;
%%
%天然气费用
Add_Gas_Cost;
%%     
%配置 
ops = sdpsettings('solver','cplex','verbose',2,'usex0',0);      
ops.gurobi.MIPGap = 1e-6;
ops.cplex.mip.tolerances.mipgap = 1e-6;
​
%%
%求解         
result = optimize(C, SCUC_value, ops);
​
if result.problem == 0 % problem =0 代表求解成功   
else
    error('求解出错');
end

3 程序结果

4 下载链接

相关推荐
weixin_307779132 天前
C++代码实现MATLAB中的ode23tb函数功能
开发语言·c++·算法·matlab
菜鸟~noob2332 天前
【太空电子战】从CCS到Meadowlands:反通信系统的二十年演进史【含matlab代码】
开发语言·matlab
菜鸟~noob2333 天前
【太空电子战】Meadowlands作战验收:美国太空军可逆干扰能力的里程碑【含matlab代码】
matlab·电子战
菜鸟~noob2334 天前
【Bonjour】华为Peerium架构深度解析:从冯·诺依曼到百万处理器“一台计算机”,附MATLAB性能仿真【含matlab代码,可直接运行】
开发语言·matlab·华为·peerium
民乐团扒谱机4 天前
【手把手通信仿真】FSK与GFSK调制原理对比及MATLAB全实现,附频谱波形分析
matlab·蓝牙·微电子·通信技术·通信原理·gfsk·fsk
ι:5 天前
单相桥式全控整流仿真从零复现教学
windows·学习·matlab·simulink
菜鸟~noob2335 天前
【电子战】第14篇:TOA 定位——圆交汇与到达时间【含matlab代码】
开发语言·matlab
简简单单做算法5 天前
基于灰狼算法和贝叶斯联合优化的BiLSTM(GWO-BO-BiLSTM)一维时间序列预测算法matlab仿真
matlab·一维时间序列预测·gwo-bo-bilstm
Evand J6 天前
【MATLAB例程|图像滤波降噪13】局部噪声方差自适应滤波(LNR)图像降噪与效果展示。附完整例程的下载链接
图像处理·计算机视觉·matlab·滤波·代码·降噪
weixin_307779136 天前
C++代码实现MATLAB中的ode23t函数功能
开发语言·c++·算法·matlab