碳交易机制下考虑需求响应的综合能源系统优化运行(matlab代码)

简介: 碳交易机制下考虑需求响应的综合能源系统优化运行(matlab代码)

1 主要内容

该程序复现文献《碳交易机制下考虑需求响应的综合能源系统优化运行》,解决碳交易机制下考虑需求响应的综合能源系统优化运行问题,根据负荷响应特性将需求响应分为价格型和替代型 2 类, 分别建立了基于价格弹性矩阵的价格型需求响应模型,及考虑用能侧电能和热能相互转换的替代型需求响应模型; 其次, 采用基准线法为系统无偿分配碳排放配额,并考虑燃气轮机和燃气锅炉的实际碳排放量,构建一种面向综合能源系统的碳交易机制; 最后,以购能成本、碳交易成本及运维成本之和最小为目标函数,建立综合能源系统低碳优化运行模型,并通过 4 类典型场景对所提模型的有效性进行了验证。程序采用matlab+yalmip(cplex作为求解器)求解。

架构模型:

在该系统中,电能和气能分别由上级电网、气网供 应,从上级气网购气用来供给热电 联产装置( combined heat and power,CHP) 和燃气锅炉( gas boiler,GB) ,剩余电能可出售给上级电网; 能量耦合设备有 CHP、热泵( heat pump,HP) 和 GB,能实现电热能 量 双 向 流 动; CHP 由 燃 气 轮 机 ( gas turbine,GT) 、余热锅炉( waste heat boiler,WHB) 和基于有机朗肯循环( organic Rankine cycle,ORC) 的低温余热发电装置组成,运行方式为热电解耦,该运行方式能适应系统不同运行工况; HP 和 GB 消纳风电并承担部分热负荷。引入 DR 可以平抑负荷曲线波动,实现电热的交互耦合、削峰填谷并降低运行成本。

需求响应模型:

本程序将价格型需求响应和替代型需求响应均进行了实现。

目标函数:

对比算例设计:

程序采用四种对比算例,分别是仅包括碳交易、碳交易+需求响应、仅包括需求响应、均不包括四种情况。

2 部分程序

%% 碳交易机制下考虑需求响应的综合能源系统优化运行——魏震波
%场景 2: 碳交易机制下考虑需求响应
clc;clear;close all;% 程序初始化
%% 读取数据
shuju=xlsread('carbon+DR数据.xlsx'); %把一天划分为24小时
load_e=shuju(2,:); %初始电负荷
load_h=shuju(3,:); %初始热负荷
P_PV=shuju(4,:);    %光电预测
P_WT=shuju(5,:);    %风电预测
pe_b=shuju(6,:); %需求响应前电价
pe_a=shuju(7,:); %需求响应电价
ph_b=shuju(8,:); %需求响应前热价
ph_a=shuju(9,:); %需求响应热价
%% 需求侧定义变量
Z=zeros(24,24); %需求弹性矩阵
e_W1=0.5;e_W2=0.3;e_W3=0.15;e_W4=0.05;%约束:固定、可转移、可消减、可替代负荷占比50%,30%,15%,5% %这里进行4. 2. 2 需求响应灵敏度分析
h_W1=0.5;h_W2=0.2;h_W3=0.2;h_W4=0.1;%约束:固定、可转移、可消减、可替代负荷占比50%,30%,15%,5%  %这里进行4. 2. 2 需求响应灵敏度分析
Psl_e=zeros(1,24);%转移电负荷量
Pcl_e=zeros(1,24);%消减电负荷量
Prl_e=zeros(1,24);%电负荷被替代量
Psl_h=zeros(1,24);%转移热负荷量
Pcl_h=zeros(1,24);%消减热负荷量
Prl_h=zeros(1,24);%热负荷被替代量
P2H=1.83; %电转热系数
OP_load_e=zeros(1,24);%优化后的电负荷
OP_load_h=zeros(1,24);%优化后的热负荷
%% IES电网交互电价
price_buy_grid=shuju(7,:); %向电网购电价
price_sell_grid=shuju(10,:); %向电网售电价
%% 供应测定义机组变量
%CHP
P_GT=sdpvar(1,24,'full');%燃气轮机输出功率
e_GT=0.3;%燃气轮机供电效率
h_GT=0.4;%燃气轮机供热效率
P_WHB=sdpvar(1,24,'full');%余热锅炉输出功率
r_WHB=0.80;%热回收效率
P_ORC=sdpvar(1,24,'full');%ORC输出功率
r_ORC=0.80;%ORC效率
P_GB=sdpvar(1,24,'full');%燃气锅炉输出功率
h_GB=0.9;%燃气锅炉供热效率
P_HP=sdpvar(1,24,'full');%热泵输入功率
COP_HP=4.4;%电制冷机冷系数
 B_grid=sdpvar(1,24,'full');%购电电量
 S_grid=sdpvar(1,24,'full');%售电电量
 B_grid_sign=binvar(1,24,'full'); %购电标志
ES_char=sdpvar(1,24,'full');%储电系统充电
ES_dischar=sdpvar(1,24,'full');%储电系统放电
ES_char_sign=binvar(1,24,'full');%储电系统充电标志
ES_max=400; ES_loss=0.01;ES_c_char=0.95;ES_c_discharge=0.9;%电储能最大容量;自损系数;充、放能效率
HS_char=sdpvar(1,24,'full');%储热系统充热
HS_dischar=sdpvar(1,24,'full');%储热系统放热
HS_char_sign=binvar(1,24,'full'); %储热系统充热标志
HS_max=400; HS_loss=0.01;HS_c_char=0.95;HS_c_discharge=0.9;%热储能最大容量;自损系数;充、放能效率;原文0.8
%% DR-需求侧响应优化
Z_e=ElasticityMatrix(pe_a); %电价需求弹性矩阵
Z_e_CL=diag(diag(Z_e)); %消减电负荷弹性矩阵,对角阵
Z_e_SL=Z_e-Z_e_CL; %转移电负荷弹性矩阵
Z_h=ElasticityMatrix(ph_a); %热价需求弹性矩阵
Z_h_CL=diag(diag(Z_h)); %消减热负荷弹性矩阵,对角阵
Z_h_SL=Z_h-Z_h_CL; %转移热负荷弹性矩阵
%价格型需求响应
[Psl_e,Pcl_e]=IBDR(Z_e_SL,Z_e_CL,load_e,pe_a,pe_b,e_W2,e_W3);
[Psl_h,Pcl_h]=IBDR(Z_h_SL,Z_h_CL,load_h,ph_a,ph_b,h_W2,h_W3);
%替代型需求响应
[Prl_e,Prl_h]=RBDR(pe_a,ph_a,e_W4,h_W4);
OP_load_e=load_e+Psl_e+Pcl_e-Prl_e+Prl_h/P2H;%优化后的电负荷
OP_load_h=load_h+Psl_h+Pcl_h-Prl_h+Prl_e*P2H;%优化后的热负荷
%%  IES供应侧储能约束     
ES_start=80;
HS_start=50;  %电储能和热储能的初始能量
for i=1:24
    ES(1,i)=ES_start+ES_char(1,i)*ES_c_char-ES_dischar(1,i)/ES_c_discharge; %储电初始容量约束
    ES_start=ES(1,i);
end
for i=1:23
    ES(1,i+1)= ES(1,i)*(1-ES_loss)+ES_char(1,i)*ES_c_char-ES_dischar(1,i)/ES_c_discharge; %储电容量约束
end
ES_start=ES(1,24);
for i=1:24
    EH(1,i)=HS_start+HS_char(1,i)*HS_c_char-HS_dischar(1,i)/HS_c_discharge; %储热初始容量约束
    HS_start=EH(1,i);
end
for i=1:23
    EH(1,i+1)= EH(1,i)*(1-HS_loss)+HS_char(1,i)*HS_c_char-HS_dischar(1,i)/HS_c_discharge; %储热容量约束
end
HS_start=EH(1,24);
%% IES供应侧优化
% 约束条件
C=[];
%%电储能设备运行约束
 for i=1:24  %运行约束
     C=[C,0<=ES_char(1,i)<=250*ES_char_sign(1,i)];
     C=[C,0<=ES_dischar(1,i)<=250*(1-ES_char_sign(1,i))];
 end
 
 for i=1:24 %余量约束
     C=[C,0<=ES(1,i)<=400];
 end
     
 %热储能设备运行约束
 for i=1:24  %运行约束
     C=[C,0<=HS_char(1,i)<=250*HS_char_sign(1,i)];
     C=[C,0<=HS_dischar(1,i)<=250*(1-HS_char_sign(1,i))];
 end
 for i=1:24 %余量约束
     C=[C,0<=EH(1,i)<=400];
 end
     
 a=0.5; %这里进行4. 2. 3 GT 产热分配比例的影响
%各个机组约束
for i=1:24   
    C = [C,0<=P_GT(i)<=4000];%燃气轮机上下限约束
    C = [C,0<=P_GB(i)<=1000];%燃气锅炉上下限约束 
    C = [C,0<=P_HP(i)<400];%热泵上下限约束
    C = [C,0<=P_ORC(i)<=400];%ORC上下限约束
    C = [C,P_GT(i)*h_GT*r_WHB*a<=P_WHB(i)<=P_GT(i)*h_GT*r_WHB*a];%余热回收分配公式,a为分配系数
    C = [C,P_GT(i)*h_GT*r_ORC*(1-a)<= P_ORC(i)<=P_GT(i)*h_GT*r_ORC*(1-a)];
    
    C = [C, 0<= B_grid(i)<= B_grid_sign*1500];
   C = [C, 0<= S_grid(i)<=(1-B_grid_sign)*1500]; %外部电网联络线约束
end


3 程序结果

上述图为case2的出图结果,其他场景出图类型一致,不再重复粘贴。


相关文章
|
8天前
|
机器学习/深度学习 算法 调度
Matlab|基于改进鲸鱼优化算法的微网系统能量优化管理matlab-源码
基于改进鲸鱼优化算法的微网系统能量管理源码实现,结合LSTM预测可再生能源和负荷,优化微网运行成本与固定成本。方法应用于冷热电联供微网,结果显示经济成本平均降低4.03%,提高经济效益。代码包括数据分段、LSTM网络定义及训练,最终展示了一系列运行结果图表。
|
10天前
|
传感器 监控 算法
基于虚拟力优化的无线传感器网络覆盖率matlab仿真
**摘要:** 本文探讨了基于虚拟力优化提升无线传感器网络(WSNs)覆盖率的方法。通过在MATLAB2022a中仿真,显示了优化前后网络覆盖率对比及收敛曲线。虚拟力优化算法模拟物理力,以优化传感器节点布局,防止重叠并吸引至目标区域,同时考虑墙壁碰撞。覆盖计算利用平面扫描法评估圆形和正方形传感器的覆盖范围。算法通过迭代优化网络性能,以提高WSNs的监控能力。
|
19天前
|
算法
基于GA遗传优化的混合发电系统优化配置算法matlab仿真
**摘要:** 该研究利用遗传算法(GA)对混合发电系统进行优化配置,旨在最小化风能、太阳能及电池储能的成本并提升系统性能。MATLAB 2022a用于实现这一算法。仿真结果展示了一系列图表,包括总成本随代数变化、最佳适应度随代数变化,以及不同数据的分布情况,如负荷、风速、太阳辐射、弃电、缺电和电池状态等。此外,代码示例展示了如何运用GA求解,并绘制了发电单元的功率输出和年变化。该系统原理基于GA的自然选择和遗传原理,通过染色体编码、初始种群生成、适应度函数、选择、交叉和变异操作来寻找最优容量配置,以平衡成本、效率和可靠性。
|
19天前
|
存储 算法
基于布谷鸟搜索的多目标优化matlab仿真
该程序运用布谷鸟搜索算法进行多目标优化,设置三个目标函数,生成三维优化曲面和收敛曲线。在MATLAB2022a中运行,显示了迭代过程中的优化结果图。算法基于布谷鸟的寄生繁殖和列维飞行行为,通过非支配排序和拥挤度计算处理多目标问题。迭代中,新解不断被评估、更新并加入帕累托前沿,最终输出帕累托前沿作为最优解集。
|
20天前
|
机器学习/深度学习 算法
基于鲸鱼优化的knn分类特征选择算法matlab仿真
**基于WOA的KNN特征选择算法摘要** 该研究提出了一种融合鲸鱼优化算法(WOA)与K近邻(KNN)分类器的特征选择方法,旨在提升KNN的分类精度。在MATLAB2022a中实现,WOA负责优化特征子集,通过模拟鲸鱼捕食行为的螺旋式和包围策略搜索最佳特征。KNN则用于评估特征子集的性能。算法流程包括WOA参数初始化、特征二进制编码、适应度函数定义(以分类准确率为基准)、WOA迭代搜索及最优解输出。该方法有效地结合了启发式搜索与机器学习,优化特征选择,提高分类性能。
|
16天前
|
机器学习/深度学习 存储 算法
基于SFLA算法的神经网络优化matlab仿真
**摘要:** 使用MATLAB2022a,基于SFLA算法优化神经网络,降低训练误差。程序创建12个神经元的前馈网络,训练后计算性能。SFLA算法寻找最优权重和偏置,更新网络并展示训练与测试集的预测效果,以及误差对比。SFLA融合蛙跳与遗传算法,通过迭代和局部全局搜索改善网络性能。通过调整算法参数和与其他优化算法结合,可进一步提升模型预测精度。
|
23天前
|
机器学习/深度学习 算法 数据可视化
m基于PSO-LSTM粒子群优化长短记忆网络的电力负荷数据预测算法matlab仿真
在MATLAB 2022a中,应用PSO优化的LSTM模型提升了电力负荷预测效果。优化前预测波动大,优化后预测更稳定。PSO借鉴群体智能,寻找LSTM超参数(如学习率、隐藏层大小)的最优组合,以最小化误差。LSTM通过门控机制处理序列数据。代码显示了模型训练、预测及误差可视化过程。经过优化,模型性能得到改善。
41 6
|
22小时前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化的CNN-GRU的时间序列回归预测matlab仿真
- **算法理论:** 利用PSO优化的CNN-GRU,结合CNN的特征提取和GRU的记忆机制,进行时间序列预测。 - **CNN:** 通过卷积捕获序列的结构信息。 - **GRU:** 简化的LSTM,处理序列依赖。 - **预测步骤:** 1. 初始化粒子群,每粒子对应一组模型参数。 2. 训练并评估CNN-GRU模型的验证集MSE。 3. 使用PSO更新参数,寻找最佳配置。 4. 迭代优化直至满足停止准则。 ```
|
23天前
|
算法 调度
基于变异混合蛙跳算法的车间调度最优化matlab仿真,可以任意调整工件数和机器数,输出甘特图
**摘要:** 实现变异混合蛙跳算法的MATLAB2022a版车间调度优化程序,支持动态调整工件和机器数,输出甘特图。核心算法结合SFLA与变异策略,解决Job-Shop Scheduling Problem,最小化总完成时间。SFLA模拟蛙群行为,分组进行局部搜索和全局信息交换。变异策略增强全局探索,避免局部最优。程序初始化随机解,按规则更新,经多次迭代和信息交换后终止。
|
1月前
|
算法
基于GA-PSO遗传粒子群混合优化算法的VRPTW问题求解matlab仿真
摘要: 本文介绍了考虑时间窗的车辆路径问题(VRPTW),在MATLAB2022a中进行测试。VRPTW涉及车辆从配送中心出发,服务客户并返回,需在指定时间窗内完成且满足车辆容量限制,目标是最小化总行驶成本。文章探讨了遗传算法(GA)和粒子群优化(PSO)的基本原理及其在VRPTW中的应用,包括编码、适应度函数、选择、交叉、变异等步骤。同时,提出了动态惯性权重、精英策略、邻域搜索、多种群和启发式信息等优化策略,以应对时间窗限制并提升算法性能。