Matlab|计及需求响应消纳风电的电热综合能源系统经济调度

ops/2024/10/20 11:44:40/

目录

1 主要内容

场景分析

目标函数:

约束条件:

2 部分代码

3 程序结果

4 下载链接


主要内容

程序主要参考《计及需求响应消纳风电电热综合能源系统经济调度》第四章内容,模型负荷侧应用需求响应的基本原理,在日前应用分段电价需求响应原理,优化电负荷出力更加平顺,提高了风电上网空间,促进风电消纳。在日内应用风变电价需求响应,降低因风电出力不确定性给系统带来的调度维护费用,符合电力系统经济运行的基本要求。构建机组侧和负荷侧的两阶段优化经济调度模型,解决风电消纳困难,以及可再生能源出力不确定性的问题。

负荷侧需求响应部分可详见《电价负荷需求响应-考虑电价变动》和《负荷需求响应-考虑风变影响》两个文章介绍,在此不再赘述。

  • 场景分析

本次主要是对算例场景进行分析,主要分为如下三个场景,本程序中场景3并未采用滚动调度,通过风变负荷来实现日内优化效果,实现了SPDR和WEPDR两种负荷需求响应的影响分析。

  • 目标函数:

(注:计算参考该公式,目标函数包括热电联产机组和火电机组运行成本以及弃风成本,未计及PDR成本。)
  • 约束条件:

部分代码

Pmax=[600  600  600  247  247  247  800  600  ];%各个机组最大电出力
Pmin=[165  165  165  81  81  81  0  0  ];%各个机组最小电出力
PUmax=[70  70  70  80  80  80  50  130  ];%各个机组最大电爬坡
PDmax=[70  70  70  80  80  80  50  130  ];%各个机组最小电爬坡
Hmax=[450  450  450  180  180  180  ];%8台中有6台热电联产机组,最大热出力
Hmin=[0  0  0  0  0  0  ];%8台中有6台热电联产机组,最小热出力
HUmax=[100  100  100  93.3  93.3  93.3  ];%8台中有6台热电联产机组,最大热爬坡
HDmax=[100  100  100  93.3  93.3  93.3  ];%8台中有6台热电联产机组,最小热爬坡
a=[0.0532  0.0532  0.0532  0.0504  0.0504  0.0504  ];%6台热电联产机组,热电成本系数a
b=[190.12  190.12  190.12  160.44  160.44  160.44  ];%6台热电联产机组,热电成本系数b
c=[13175.4  13175.4  13175.4  10232.6  10232.6  10232.6  ];%6台热电联产机组,热电成本系数c
e=[  0.1197  0.266  ];%2台纯火电机组,火电成本系数a
f=[  189.35  190.12  ];%2台纯火电机组,火电成本系数b
g=[  8075.9  26351.5  ];%2台纯火电机组,火电成本系数c
cv=0.15;
cw=100;
forecast=[1825.61999675894    1030   400     450 1739.61915170686   1040   410     430 1826.41881967561   1050     420     530 1814.46302565045   1070     420     550 1857.00904221349   1080     430     575 1895.16431333503   1100     440     600 1796.99834571728   1090     450     610 1919.26529195984   1090     430     585 1923.65338812799   1000    400     500 1923.87540668541   900   350     480 2042.64027800894   800   300     460 2030.84385531158   700   270     330 2005.75464467561   650   250     335 2072.63007983821   600   240     390 2120.70393754842   550   250     370 2317.09098113394   570   255     450 2367.27096841592   700   300     500 2329.71633356450   800      320     530 2088.67030460469   850      330     510 2111.39027800894   880      340     510% 2000.60339098971   950      380     500 2004.84591193752   1020  430     510 1916.59855631083   1000  420     490 1973.15369782026   1030   420     570];%1电负荷     2区域1热负荷     3区域2热负荷     4预测风电出力
onoff=binvar(8,24,'full');%调度周期24小时中,每小时各个机组的运行状况,用0-1表示
re   =sdpvar(6,24,'full');%6台热电联产机组的实际出力
huo  =sdpvar(2,24,'full');%2台纯火电机组的实际出力
feng =sdpvar(1,24,'full');%风电的实际出力
qfeng=sdpvar(1,24,'full');%弃风量
qfeng=forecast(:,4)'-feng;%弃风量
%约束条件
Constraints=[ ];
%热电联产机组约束
for k=1:24Constraints=Constraints+(Hmin'<=re(:,k)<=Hmax');%6台热电联产机组热出力上下限约束
end
for k=2:24Constraints=Constraints+((-1)*HDmax'<=re(:,k)-re(:,k-1)<=HUmax');%6台热电联产机组热爬坡约束
end
for k=1:24Constraints=Constraints+(sum(re(:,k))==sum(forecast(k,2:3)));%区域1和2热网互联后热负荷平衡约束
end
%for k=1:24
%    Constraints=Constraints+(Pmin(1,1:6)'<=0.75*re(:,k)<=Pmax(1,1:6)');%通过热电比将热换算为电,进行热电联产机组的电出力约束  
%end
%for k=2:24
%    Constraints=Constraints+((-1)*PDmax(1,1:6)'<= 0.75*re(:,k)-0.75*re(:,k-1)<=PUmax(1,1:6)');%通过热电比将热换算为电,进行热电联产机组的电出力爬坡约束
%end
%常规机组约束
for k=1:24Constraints=Constraints+(Pmin(1,7:8)'<=huo(:,k)<=Pmax(1,7:8)');%进行纯火电机组的电出力上下限约束   
end 
for k=2:24Constraints=Constraints+((-1)*PDmax(1,7:8)'<=huo(:,k)-huo(:,k-1)<=PUmax(1,7:8)');%进行纯火电机组的电出力爬坡约束
end
%风电出力约束
Constraints=[Constraints,0<=feng'<=forecast(:,4)];%风电出力上下限约束
​
for k=1:24Constraints=Constraints+(sum(0.95*re(1:3,k))+sum(0.75*re(4:6,k))+sum(huo(:,k))+feng(1,k)==PLT2(1,k));%系统的电功率平衡约束
end
%目标函数
Objective=0;
for k=1:24for i=1:6Objective=Objective+re(i,k)*a(1,i)*re(i,k)+re(i,k)*b(1,i)+c(1,i);%6个热电联产机组的成本end
end
for k=1:24for j=1:2Objective=Objective+huo(j,k)*e(1,j)*huo(j,k)+huo(j,k)*f(1,j)+g(1,j);%2个纯火电机组的成本end
end
Objective=Objective+sum(cw*qfeng);%弃风惩罚费用
%求解

程序结果

场景1:弃风率27.8942%(程序自动计算得出)

场景2:弃风率6.747%(程序自动计算得出)

场景3:弃风率5.8103%(程序自动计算得出)

下载链接


http://www.ppmy.cn/ops/121900.html

相关文章

如何使用ssm实现基于bootstrap的课程辅助教学网站的设计与实现+vue

TOC ssm782基于bootstrap的课程辅助教学网站的设计与实现vue 第1章 绪论 1.1研究背景与意义 在科学技术水平还比较低下的时期&#xff0c;学校通常采用人工登记的方式对相关的课程信息进行记录&#xff0c;而后对这些信息记录进行管理和控制。这种采用纸质存储信息的管理模…

在 Ubuntu 18.04 上安装 Syncthing

在 Ubuntu 18.04 上安装 Syncthing 是一个简单的过程。Syncthing 提供官方的 apt 仓库&#xff0c;使用该仓库可以方便地安装和更新 Syncthing。 https://syncthing.net/downloads/ 文章目录 安装步骤 1: 添加 Syncthing 官方仓库步骤 2: 安装 Syncthing步骤 3: 启动并运行 S…

Async-Validator——表单验证的艺术

在现代 web 应用开发中&#xff0c;表单验证是一个不可或缺的部分。它确保了用户输入的数据符合预期的格式和规则&#xff0c;从而提高了数据的质量和用户体验。async-validator 是一个强大的 JavaScript 库&#xff0c;它专门用于异步表单验证&#xff0c;被广泛应用于主流 UI…

李宏毅深度学习-梯度下降和Batch Normalization批量归一化

Gradient Descent梯度下降 ▽ -> 梯度gradient -> vector向量 -> 下图中的红色箭头&#xff08;loss等高线的法线方向&#xff09; Tip1: Tuning your learning rates Adaptive Learning Rates自适应lr 通常lr会越来越小 Adaptive Learning Rates中每个参数都给它不…

使用 Node.js 创建一个 WebSocket 服务器

使用 Node.js 创建一个 WebSocket 服务器相对简单。你可以使用 ws 库&#xff0c;这是一个流行的 WebSocket 实现。以下是一个基本的步骤来创建一个 WebSocket 服务器&#xff1a; 1.初始化 Node.js 项目&#xff1a; 首先&#xff0c;你需要一个 Node.js 项目。如果你还没有项…

Pikachu-Sql-Inject - 通过sql进行远程服务器控制(试验)

secure_file_priv是MySQL中的系统变量&#xff0c;用于限制文件的读取和写入。 查看命令&#xff1a; show variables like "secure%" //或者 select secure_file_priv; 1.secure_file_priv NULL &#xff0c;限制文件的读取和写入。 2.secure_file_priv 文件路…

oracle 新建用户,用户插入数据报错:ORA-01950: 对表空间 ‘USERS‘ 无权限

oracle 新建用户&#xff0c;用户插入数据报错:ORA-01950: 对表空间 ‘USERS’ 无权限 根据业务需求创建了一个新的表空间和一个新的用户&#xff0c;当用这个新用户创建表时&#xff0c;报错&#xff1a;ORA-01950: 表空 间’USERS’中无权限。我已经把创建表的权限赋给了此用…

Java每日面试题(JVM)(day15)

目录 Java对象内存布局markWord 数据结构JDK1.8 JVM 内存结构JDK1.8堆内存结构GC垃圾回收如何发现垃圾如何回收垃圾 JVM调优参数 Java对象内存布局 markWord 数据结构 JDK1.8 JVM 内存结构 程序计数器: 线程私有&#xff0c;记录代码执行的位置. Java虚拟机栈: 线程私有&#…