激励型需求响应之yalmip策略(matlab代码)

简介: 激励型需求响应之yalmip策略(matlab代码)

在平时应用yalmip过程中存在多种策略,也是数学模型的一种策略转换,比如本文讲得激励型需求响应优化模型中,涉及到负荷转移时间点约束、负荷转移或削减连续时长约束等,这些约束如何通过合理的数学模型进行表达是各位学习使用yalmip过程中深入研究模型转化的重要参考。(本文结合齐先军《激励型需求响应对配电网运行可靠性的影响 》进行分析,文末附有对应程序代码链接)


1 基于负荷聚合商的激励需求响应模型简介

负荷聚合商可以聚合居民负荷、商业负荷等中小型负荷,代表他们参与市场投标竞争,接受市场

运营商的调度[13]。聚合商代表用户与电网公司签订合同,规定负荷削减与负荷转移的时间与容量;用户在合同规定的时段内减少用电量或改变用电时间,从而获得相应的补偿。电力市场运行模式如图1 所示。

在日前市场,负荷聚合商预测第二天各小时的电价与用户的负荷水平,以自身收益最大化为目标 制定需求响应方案,代表用户参与电力市场投标,并从中获得收益;在实时市场中,聚合商根据合同规定的时段和容量来调度所属用户的可控负荷。本文重点关注日前市场的投标决策优化,暂不考虑实时市场的负荷控制问题。

也就是说聚合商通过合同的方式来控制居民负荷进行转移或削减,具体的合同分为负荷削减合同(LC)和负荷转移合同(LS),基于激励的需求响应通常以合同的形式执行,直接采用赔偿或折扣的方式来激励和引导用户参与系统所需要的各种负荷削减项目。聚合商按照预测电价向电网运营商出售聚合的可控容量,并按照合同约定的补偿价格向用户支付费用。

1)负荷削减(Load Curtailment, LC)合同

用户在规定的时段内按合同要求实现负荷的削减, 并且不将这部分用电转移到其他时段。合同内容包括削减容量、单位补偿价格、启动价格、削减时长约束以及每日最大削减次数约束。这类合同通常针对具有热存储性的空调和热水器等用电设备以及一些非必须使用的电器。

(2)负荷转移(Load Shifting, LS)合同

用户根据合同要求改变自己的用电习惯,推迟或提前对某些设备的使用,将负荷转移到其他时段。合同内容在负荷削减合同的基础上增加了转移时段、被转移时段以及转移率,负荷只能按照一定的比例从转移时段转移到被转移时段,该比例即为转移率。这类合同通常针对洗碗机和烘干机等使用时间较为灵活的用电设备。

2 激励需求响应模型

模型按照齐先军《激励型需求响应对配电网运行可靠性的影响 》,在日前市场中,聚合商需要结合预测电价以及用户的响应潜力,并以自身利润最大化为目标进行最优化来决定各个时段的投标容量。目标函数为

式中, C 为聚合商的利润; Pt   为电力市场在 t 时段的电价; LLC 和 LLS 分别为 t 时段内负荷削减与负荷转移的投标量;NT 为进行投标决策优化的所有时段集合,本文中设定为 24 个时段,每个时段为 1h;Ct LC和 Ct LS 分别为 t 时段内聚合商需要支付给用户的负荷削减以及负荷转移成本。式(1)的前半部分表示聚合商从电网获得的收益,后半部分为需要支付给用户的成本,目标函数仅考虑聚合商的利益。

式中,qLC 为第 r 个负荷削减合同在 t 时刻削减的负荷量; pLC 为第 r 个削减合同所规定的 t 时段补偿价格; pLC0 为第 r 个负荷削减合同在 t 时刻实际需要支付的初始成本;削减合同状态指标 l LC 通过二进制数表示合同 r 执行的状态,1 表示 t 时段内合同被执行,0表示该时段内没有进行负荷削减; NLC 为负荷削减合同的集合。负荷削减约束为

式(4)为初始成本约束。oLC0 表示第 r 个负荷削减合同所规定的负荷削减初始成本; mLC 和 nLC 分别为负荷削减合同的起始指标和结束指标, 用1 和 0 分别表示第 r 个合同在 t 时段开始或结束。式(5)、式(6)分别为合同的最大削减时间和最小削减时间约束,其中 DLC,max 和 DLC,min 分别表示合同 r 削减时间的上、下限;式(7)为合同状态约束。式(8)规定合同无法在一个时段内同时开始和结束。式(9)为合同 r 每日执行次数约束,其中 M LC表示合同 r 每日执行的最大次数。

负荷转移需求响应模型和负荷削减模型类似,具体表达式如下所示。

式中, oLS0 表示第 r 个负荷转移合同所规定的负荷转移初始成本; mLS0 和 nLS 分别表示负荷转移合同的起始和结束指标; DLS,max 和 DLS,min 分别表示负荷转移合同持续时间的上、下限;T LS1 为转移时段。

在负荷转移约束中,式(12)~式(16)表示的含义与式(4)~式(8)相似。相对于负荷削减合同,负荷转移合同中需要增加 3 个参数,即转移时段T LS1 、被转移时段 T LS2 和负荷转移率a 。用户执行第 r 个负荷转移合同时会在时段 T LS1 内减少用电,并将用电行为转移到时段T LS2 内。负荷转移率ar 为被转移到 T LS2 时段的负荷占 T LS1 时段内削减负荷的比例。式( 17)表示负荷只能从 T LS1 时段转移到其他时段。

这样就构造好了整个研究问题的混合整数线性规划模型。

3 模型讨论

在研究削减负荷和转移负荷的模型约束时,可以结合下表算例参数来分析,最主要的要求就是时间限制,我们可以看到,文章巧妙采用起始时间和终止时间两个0-1变量来实现这个约束。

季节

合同

容量MW

价格($/(MW·h))

启动价格/$

最小时间/h

最长时间/h

1

15

40

100

3

6

夏季

2

15

45

100

3

6

3

15

50

100

3

6

1

15

35

100

3

6

冬季

2

15

40

100

3

6

3

15

45

100

3

6

春秋季

1

10

25

100

3

5

2

10

30

100

3

5

通过对终止时间状态值在最长时长范围内求和大于起始时间状态来实现对最长时长约束,通过将起始时间状态与状态指标进行关联实现最小时间约束。

在模型建立的过程中,常常会遇到各种复杂的情况,包括很多非线性的问题,其实我们可以多思考一下模型是否可以通过设置一些变量或者转换条件来使得模型更加方便求解!

4 程序代码

可削减负荷的程序代码段如下:

con=[];
 
con=[con,pLC0>=O.*mLC];%初始成本约束
 
for t=1:T-Dmin+1
 
con=[con,sum(ILC(t:t+Dmin-1))>=Dmin*mLC(t)];%最小时间约束
 
end
 
for t=1:T-Dmax+1
 
    con=[con,sum(nLC(t:t+Dmax-1))>=mLC(t)];%最大时间约束
 
end
 
for t=T-Dmax+2:T
 
    con=[con,sum(nLC(t:T))+sum(nLC(1:t+Dmax-1-T))>=mLC(t)];%形成24小时循环约束
 
end
 
for t=2:T
 
    con=[con,mLC(t)-nLC(t)==ILC(t)-ILC(t-1)];%和文献一致
 
end
 
con=[con,mLC+nLC<=1];%和文献一致

程序可实现的效果如下图。

5 程序链接

程序链接见评论区。


相关文章
|
6月前
|
机器学习/深度学习 算法 安全
m基于Q-Learning强化学习的路线规划和避障策略matlab仿真
MATLAB 2022a仿真实现了Q-Learning算法在路线规划与避障中的应用,展示了智能体在动态环境中学习最优路径的过程。Q-Learning通过学习动作价值函数Q(s,a)来最大化长期奖励,状态s和动作a分别代表智能体的位置和移动方向。核心程序包括迭代选择最优动作、更新Q矩阵及奖励机制(正奖励鼓励向目标移动,负奖励避开障碍,探索奖励平衡探索与利用)。最终,智能体能在复杂环境中找到安全高效的路径,体现了强化学习在自主导航的潜力。
96 0
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
191 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
124 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
88 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
6月前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
6月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
6月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
|
6月前
|
Serverless
基于Logistic函数的负荷需求响应(matlab代码)
基于Logistic函数的负荷需求响应(matlab代码)
|
6月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

热门文章

最新文章