考虑柔性负荷的综合能源系统低碳经济优化调度【复现】

随着低碳发展进程的不断推进,综合能源系统(IES)逐渐成为实现减排目标的重要支撑技术。 基于能 源集线器概念,结合需求侧柔性负荷的可平移、可转移、可削减特性,构建了含风光储、燃气轮机、柔性负荷等 在内的 IES 模型。 综合考虑了系统运行成本和碳交易成本,建立了以总成本最低为优化目标的 IES 低碳经济 调度模型,采用鲸鱼优化算法对算例进行求解。 通过场景对比,分析了碳交易因素对能源调度的影响,以及在 碳交易体系之下,柔性负荷的合理调度对 IES 进一步减少碳排放、降低系统成本可发挥的作用。 研究结果表 明,在碳交易体系下,柔性负荷参与调度能有效地提高系统的经济环境综合效益。

部分代码

%定义机组变量
P_pv=sdpvar(1,24,'full');%光伏电输出功率
P_wt=sdpvar(1,24,'full');%风机电输出功率
P_mt=sdpvar(1,24,'full');%燃气轮机电输出功率
P_GB=sdpvar(1,24,'full');%燃气锅炉输出热功率Pbuy=sdpvar(1,24,'full');%从电网购电电量
Psell=sdpvar(1,24,'full');%向电网售电电量
Pnet=sdpvar(1,24,'full');%与电网交换功率
Temp_net=binvar(1,24,'full'); % 购|售电标志Pcharge=sdpvar(1,24,'full');%充电功率
UPcharge=binvar(1,24,'full');%充电标志  
Pdischarge=sdpvar(1,24,'full');%放电功率
UPdischarge=binvar(1,24,'full');%放电标志  
B=sdpvar(1,24,'full');%电储能余量Hcharge=sdpvar(1,24,'full');%储热系统充热
Hdischarge=sdpvar(1,24,'full');%储热系统放热
UHcharge=binvar(1,24,'full'); %储热系统充热标志
UHdischarge=binvar(1,24,'full'); %储热系统放热标志
H=sdpvar(1,24,'full'); %热储能余量%% 燃料成本
C_fuel=0;
for i=1:24C_fuel=C_fuel+2.5*P_GB(i)/9.7+2.5*P_mt(i)/0.45/9.7;%耗气成本
end
%% 储能运行成本
C_storge=0;
for i=1:24C_storge=C_storge+0.5*(Pcharge(i)+Pdischarge(i)+Hcharge(i)+Hdischarge(i));%储能运行成本
end%% 补偿成本
C_L=0;
for i=1:24C_L=C_L+0.2*(PPshift1(i)+PPshift2(i))+0.1*HHshift(i)+0.3*PPtran(i)+0.4*PPcut(i)+0.2*HHcut(i);
end
%% 碳交易成本Q_carbon=0;%碳排放量-碳配额量(克)
for i=1:24Q_carbon=Q_carbon+(((1303-798)*(Pbuy(i)+abs(Psell(i)))+(564.7-424)*(P_GB(i)/9.7+P_mt(i)/0.45/9.7)+...(43-78)*P_wt(i)+(154.5-78)*P_pv(i)+91.3*(Pcharge(i)+Pdischarge(i))));
endE_v=sdpvar(1,5);%每段区间内的长度,分为5段,每段长度是2000
lamda=0.15*10^(-3);%碳交易基价
Constraints=[Constraints,Q_carbon==sum(E_v),%总长度等于Q_carbon0<=E_v(1:4)<=120000,%除了最后一段,每段区间长度小于等于120000g0<=E_v(5),];
%碳交易成本
C_CO2=0;
for v=1:5C_CO2=C_CO2+(lamda+(v-1)*0.25*lamda)*E_v(v);
endF= C_OM+C_fuel+C_gridbuy+C_gridsell+C_storge+C_L+C_CO2;
ops = sdpsettings('solver','cplex', 'verbose', 2);%参数指定程序用cplex求解器
optimize(Constraints,F,ops)
% ops=sdpsettings('solver','cplex');%设置求解方式
% [model,recoveryalmip,diagnostic,internalmodel]=export(Constraints,F,ops);%转为cplex模型
% milpt=Cplex('milp for htc');
% milpt.Model.sense='minimize';
% milpt.Model.obj=model.f;
% milpt.Model.lb=model.lb;
% milpt.Model.ub=model.ub;
% milpt.Model.A=[model.Aineq;model.Aeq];
% milpt.Model.lhs=[-inf*ones(size(model.bineq,1),1);model.beq];
% milpt.Model.rhs=[model.bineq;model.beq];
% milpt.Model.ctype=model.ctype;
% milpt.writeModel('ab.lp');%输出cplex模型(注意大小写)
% milpt.solve();%模型求解F=value(F)%成本
P_pv=value(P_pv);
P_wt=value(P_wt);
P_mt=value(P_mt);
P_GB=value(P_GB);
Pcharge=value(Pcharge);
Pdischarge=value(Pdischarge);
Hcharge=value(Hcharge);
Hdischarge=value(Hdischarge);
Pbuy=value(Pbuy);
Psell=value(Psell);
PPshift1=value(PPshift1);
PPshift2=value(PPshift2);
PPtran=value(PPtran);
PPcut=value(PPcut);
HHshift=value(HHshift);
HHcut=value(HHcut);%% 画图figure
ee=value([Pfix;Pcut;Pshift1;Pshift2;Ptran]);
bar(ee',1,'stack')
hold on
plot(Pfix+Pcut+Pshift1+Pshift2+Ptran,'g-*','linewidth',2)
hold on 
plot(Pfix,'y-*','linewidth',2)
xlabel('时间/h');
ylabel('电负荷功率/kW');
legend('基础电负荷','可消减电负荷','可平移电负荷1','可平移电负荷2','可转移电负荷','等效负荷','固定负荷');
title('优化前用户侧柔性电负荷分布');figure
hh=value([Hfix;Hcut;Hshift]);
bar(hh',1,'stack');
hold on
plot(Hfix+Hcut+Hshift,'c-*','linewidth',2)
hold on 
plot(Hfix,'y-*','linewidth',2)
legend('基础热负荷','可消减热负荷','可平移热负荷','等效热负荷','基础热负荷');
xlabel('时间/h');
ylabel('热负荷功率/kW');
title('优化前用户侧柔性热负荷分布');for i=1:24op_e_load(i)=Pfix(i)+Pcut(i)+PPshift1(i)+PPshift2(i)+PPtran(i)-PPcut(i);
end
x=1:24;figure
bar(e_load-op_e_load,'b');
hold on
xlabel('时间/h');
ylabel('电负荷/kW');
yyaxis right
plot(buy_price,'r--*','linewidth',2);
xlabel('时间/h');
ylabel('电价');
title('需求响应前后电负荷曲线');
legend('响应电负荷','市场电价');figure
bar(e_load,'r');
hold on
plot(op_e_load,'g-*','linewidth',2);
xlabel('时间/h');
ylabel('电负荷/kW');
title('需求响应前后电负荷曲线');
legend('优化前电负荷','优化后电负荷');E_v=value(E_v);
figure
bar(E_v,0.5)
xlabel('时间/h');
ylabel('碳交易量');
yyaxis right
ecc=(lamda+(v-1)*0.25*lamda)*E_v;
plot(ecc,'r-*','linewidth',2)
ylabel('碳交易成本');
ylim([24 50]);
legend('阶梯式碳交易量','阶梯式碳交易成本');figure
s=(((1303-798)*(Pbuy+abs(Psell))+(564.7-424)*(P_GB/9.7+P_mt/0.45/9.7)+...(43-78)*P_wt+(154.5-78)*P_pv+91.3*(Pcharge+Pdischarge)));
bar(s,0.5,'g')
hold on
yyaxis right
plot(buy_price,'r-*','linewidth',2);
xlabel('时间/h');
ylabel('电价');
title('碳交易总量');
legend('碳交易总量','市场电价');for i=1:24op_h_load(i)=Hfix(i)+Hcut(i)+HHshift(i)-HHcut(i);
end
x=1:24;
figure
bar(h_load,'r');
hold on
plot(op_h_load,'g-*','linewidth',2);
xlabel('时间/h');
ylabel('热负荷/kW');
title('需求响应前后热负荷曲线');
legend('优化前热负荷','优化后热负荷');figure
bar(h_load-op_h_load,'r');
hold on
xlabel('时间/h');
ylabel('热负荷/kW');
yyaxis right
plot(buy_price,'g--*','linewidth',2);
xlabel('时间/h');
ylabel('电价');
title('需求响应前后热负荷曲线');
legend('响应热负荷','市场电价');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/336158.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IDEA中在Java项目中添加Web模块 与配置tomcat服务器

现有项目添加直接走第二步 生成普通新项目 给项目添加框架支持 勾选 Web Application 选项, 点击OK 得到项目目录结构 , 出现web目录结构, 且web目录文件夹出现小蓝点 web或webapp 没有出现小蓝点 说明web配置没有出现或是手动构建的目录结构 , 在IDE关闭或者迁移项目时会出…

自承载 Self-Host ASP.NET Web API 1 (C#)

本教程介绍如何在控制台应用程序中托管 Web API。 ASP.NET Web API不需要 IIS。 可以在自己的主机进程中自托管 Web API。 创建控制台应用程序项目 启动 Visual Studio&#xff0c;然后从“开始”页中选择“新建项目”。 或者&#xff0c;从“ 文件 ”菜单中选择“ 新建 ”&a…

[VSCode] VSCode 常用快捷键

文章目录 VSCode 源代码编辑器VSCode 常用快捷键分类汇总01 编辑02 导航03 调试04 其他05 重构06 测试07 扩展08 选择09 搜索10 书签11 多光标12 代码片段13 其他 VSCode 源代码编辑器 官网&#xff1a;https://code.visualstudio.com/ 下载地址&#xff1a;https://code.visua…

【Android Studio】APP练手小项目——切换图片APP

本项目效果&#xff1a; 前言&#xff1a;本项目最终实现生成一个安卓APP软件&#xff0c;点击按钮可实现按钮切换图片。项目包含页面布局、功能实现的逻辑代码以及设置APP图标LOGO和自定义APP名称。 关于Android Studio的下载与安装见我的博文&#xff1a;Android Studio 最新…

Docker简介、基本概念和安装

Docker简介、基本概念和安装 1.docker简介 1.1 什么是docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes (opens new window)在法国期间发起的一个公司内部项目&#xff0c;它是基于 dotCloud 公司多年云服务技术的一次革新&#xff0c;并于 2013 年 3 月以 Apache 2…

融云 CEO 董晗荣获 51CTO 「2023 年度科技影响力人物奖」

&#xff08;&#x1f446;点击获取《社交泛娱乐出海作战地图》&#xff09; 1 月 5 日&#xff0c;由知名 IT 技术媒体 51CTO 主办的第十八届“中国企业年终评选”正式揭晓榜单&#xff0c;融云 CEO 董晗荣获“2023 年度科技影响力人物奖”。关注【融云全球互联网通信云】了解…

线性代数——(期末突击)矩阵(下)-习题篇(初等变换求逆矩阵、矩阵乘法、求矩阵方程、求线性方程组、解齐次线性方程组)

目录 初等变换求逆矩阵 矩阵乘法 求矩阵方程 求线性方程组 解齐次线性方程组 带有未知数的方程组 初等变换求逆矩阵 如果,则A可逆&#xff0c;且 例题&#xff1a; &#xff0c;求A的逆矩阵。 矩阵乘法 求AB&#xff0c;BA. 矩阵之间的乘法是行乘以列&#xff0c;以这…

删除的文件如何恢复? 9 个简单的数据恢复软件方法分享

无论是由于软件或硬件故障、网络犯罪还是意外删除&#xff0c;数据丢失都会让人感到压力和不快。 数据丢失的主要原因是意外删除&#xff0c;任何人都可能随时发生这种情况&#xff0c;尽管他们知道应该备份数据。毕竟&#xff0c;犯错是人之常情&#xff01; 如果是&#xf…

【Vue3】2-8 : 条件渲染与列表渲染及注意点

本书目录&#xff1a;点击进入 一、条件渲染 - v-if 表达式 1.1 真值与假值 1.2 v-if &#xff0c;v-else-if &#xff0c;v-else 1.3 实战&#xff1a;isShow1 为真值时 显示 bbbbb &#xff1e; 代码 &#xff1e; 效果 二、列表渲染 - v-for 2.1 渲染 - 数组 &…

【Proteus仿真】【Arduino单片机】智能感应温控风扇

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用LCD1602液晶显示模块、DS18B20温度、按键、声光报警、L293D电机驱动等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示传感器检…

MyBatis 源码分析(五):异常模块

1、前言 上一篇我们解了Mybatis解析器模块&#xff0c;本篇我们来了解反射模块。本文&#xff0c;我们来分享 MyBatis 的异常模块。 对应 exceptions 包&#xff0c;如下图所示&#xff1a; 在 MyBatis源码分析&#xff08;二&#xff09;&#xff1a;项目结构 中&#xff0c;简…