当前位置: 首页 > news >正文

【电网技术复现】考虑实时市场联动的电力零售商鲁棒定价策略(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码、数据、讲解


💥1 概述

文献来源:

摘要:电力零售商作为连接电力批发市场与零售市场的桥梁,是电力市场化改革中的重要主体,其经营效率直接决定了市场化改革的成败。然而电力零售商在运营过程中面临着用电量需求和价格双重不确定性的市场风险,亟需通过优化市场行为以保障自身的利益。为此提出了考虑实时市场联动的电力零售商鲁棒定价策略,以提升其抗风险能力。首先,考虑电力零售商日前定价、日前购电、实时能量管理、电动汽车用户需求响应和电力市场统一出清价格等因素,建立了考虑电动汽车不确定性的电力零售商鲁棒定价模型。然后,通过线性化方法将鲁棒定价模型转化为两阶段混合整数规划,并通过列与约束生成算法迭代求解。最后,在IEEE-33节点测试系统上进行了仿真,结果表明所提策略充分考虑了市场不确定性因素的影响,利用对冲机制降低了市场风险,提高了电力零售商的经营效率。

关键词:

电力现货市场;需求响应;零售定价;鲁棒优化;

随着电力市场化改革的深入进行,工商业目录销售电价退出了历史舞台[1],电力现货价格作为内

生变量,完全由市场供需平衡决定,这意味着市场主体将面临更大的价格波动风险。但另一方面,工商业用户全部进入电力市场也为售电公司等市场主体带来了新的机遇。售电公司是电力市场化改革过程中培育的重要市场主体[2],其本质是电力零售商,能够代表电力用户参与现货市场交易,连接了电力批发市场与零售市场。电力零售商的经营效率是反映市场活力的重要指标[3],因此如何提升电力零售商的收益成为了当下热门的研究课题。电力零售商的市场行为可以简单归结为:代表

用户参与日前和实时批发市场交易,按照零售电价与电力终端用户完成交易,并从中赚取差价[4]。因此零售商能够通过协调日前和实时的交易策略[5]以及制定合理的零售价格[6]优化自身的市场行为,具有提升自身经营效率的潜力。其中,日前和实时交易策略的协调是指电力零售商利用实时市场与日前市场的联动机制表现出的套期保值、套利或投机等市场行为[7]。

以电动汽车运营商为例,电力零售商典型的运营模式如图 1 所示。

📚2 运行结果

IEEE 33节点配电系统的网络参数如下所示:

IEEE 33节点配电系统共有32个配电变压器,32条支路,其电压等级为12.66kV,功率基准值为100MVA,最大基础负荷为3715+j2300kVA,节点0为平衡节点,其电压为1.05 p.u.,其拓扑结构如图1所示,线路与配变参数如表1所示。

表1 IEEE 33节点配电系统参数

节点i

节点 j

阻抗 (Ω)

负荷 (kVA)

节点i

节点j

阻抗 (Ω)

负荷 (kVA)

0

1

0.0922+j0.047

100+j60

16

17

0.3720+j0.5740

90+j40

1

2

0.4930+j0.2511

90+j40

1

18

0.1640+j0.1565

90+j40

2

3

0.3660+j0.1864

120+j80

18

19

1.5042+j1.3554

90+j40

3

4

0.3811+j0.1941

60+j30

19

20

0.4095+j0.4784

90+j40

4

5

0.8190+j0.7070

60+j20

20

21

0.7089+j0.9373

90+j40

5

6

0.1872+j0.6188

200+j100

2

22

0.4512+j0.3083

90+j50

6

7

0.7114+j0.2351

200+j100

22

23

0.8980+j0.7091

420+j200

7

8

1.0300+j0.7400

60+j20

23

24

0.8960+j0.7011

420+j200

8

9

1.0440+j0.7400

60+j20

5

25

0.2030+j0.1034

60+j25

9

10

0.1966+j0.0650

45+j30

25

26

0.2842+j0.1447

60+j25

10

11

0.3744+j0.1238

60+j35

26

27

1.0590+j0.9337

60+j20

11

12

1.4680+j1.1550

60+j35

27

28

0.8042+j0.7006

120+j70

12

13

0.5416+j0.7129

120+j80

28

29

0.5075+j0.2585

200+j600

13

14

0.5910+j0.5260

60+j10

29

30

0.9744+j0.9630

150+j70

14

15

0.7463+j0.5450

60+j20

30

31

0.3105+j0.3619

210+j100

15

16

1.2890+j1.7210

60+j20

31

32

0.3410+j0.5362

60+j40

 

表2 日前电力批发市场基础电价

时段

1

2

3

4

5

6

7

8

电价(元/kWh)

0.4148

0.3931

0.3875

0.3856

0.3900

0.4062

0.4664

0.5442

时段

9

10

11

12

13

14

15

16

电价(元/kWh)

0.5836

0.5718

0.5432

0.5324

0.5321

0.5122

0.5066

0.5028

时段

17

18

19

20

21

22

23

24

电价(元/kWh)

0.4933

0.5168

0.5572

0.5651

0.5442

0.5258

0.4911

0.4278

论文将1000个历史电动汽车数据聚类成10类,每类电动汽车的参数如表3所示。零售商平均每天服务的电动汽车数量为50,电动汽车的充放电效率均为0.95,电动汽车电池荷电状态的安全范围为20%至95%,假设电动汽车的期望电量均为95%的电池容量,置信度和均为0.99。

另外,算例中的最大日前购电量为500kWh,零售电价的下限为节点边际电价的0.8倍,零售电价的上限为节点边际电价的1.2倍,零售电价的平均值等于全天节点边际电价的平均值。储能系统的容量为1000kWh,最大充放电功率均为250kW,储能系统的充放电效率均为0.95,储能系统荷电状态的安全范围为20%至95%,在08:00时储能系统的电量为500kWh,最大实时购售电量均为500kWh。

表3 不同类型电动汽车的参数

电动汽车类型

最大充放电功率

(kW)

电池容量

(kWh)

初始电量

(kWh)

到达时间

离开时间

频数

EV1

6

40

15

17:00

次日08:00

105

EV2

6

32

16

09:00

17:00

132

EV3

3

24

8

18:00

次日07:00

89

EV4

6

24

12

20:00

次日06:00

97

EV5

6

40

25

08:00

16:00

101

EV6

6

40

16

19:00

次日07:00

175

EV7

3

24

8

17:00

次日08:00

35

EV8

10

40

20

09:00

17:00

88

EV9

10

40

18

18:00

次日08:00

112

EV10

10

64

25

18:00

次日07:00

66

假设场景生成和场景削减得到了10个实时节点边界电价场景,每个场景的电价曲线与概率如图4所示。

图4 实时节点边际电价场景与概率

考虑电动汽车慢充场景,即认为电动汽车的单位效用均为1元/kWh,而对时序不敏感。论文以第9个时段为仿真起点,对24个时间断面进行仿真,即仿真时间为08:00至次日08:00。

%确定性,全局优化,假设只有实时市场,确定实时节点边际电价
clear
clc
N=50;%电动汽车数量
%电价数据
load DLMP_data
a_data=[a_data(9:24);a_data(1:8)];b_data=[b_data(9:24);b_data(1:8)];
%电动汽车聚类数据(08:00-09:00为时段1)
EVdata=[6,40,15,10,24,105;6,32,16,2,9,132;3,24,8,11,23,89;6,24,12,13,22,97;6,40,25,1,8,101;6,40,16,12,23,175;3,24,8,10,24,35;10,40,20,2,8,88;10,40,18,11,24,112;10,64,25,11,23,66];
xiaoyong=ones(10,24);
ratio=EVdata(:,6)/1000;%经验分布
%电动汽车状态矩阵
X=zeros(24,10);Y=zeros(24,10);
for i=1:10X(EVdata(i,4):EVdata(i,5),i)=1;%电动汽车停泊矩阵
end
%建模
price_EV=sdpvar(24,1);KKTsystem=[];
pch=sdpvar(24,10);%电动汽车充电
pdis=sdpvar(24,10);%电动汽车放电
S_EV=sdpvar(24,10);%电动汽车电量状态
for n=1:10obj_DR=price_EV'*(pch(:,n)-pdis(:,n))-xiaoyong(n,:)*(0.95*pch(:,n)-pdis(:,n)/0.95);%电动汽车目标函数C_EV=[0<=pch(:,n)<=ones(24,1)*EVdata(n,1).*X(:,n),0<=pdis(:,n)<=ones(24,1)*EVdata(n,1).*X(:,n),0.2*ones(24,1)*EVdata(n,2).*X(:,n)<=S_EV(:,n)<=0.95*ones(24,1)*EVdata(n,2).*X(:,n)];%电动汽车边界约束条件C_EV=[C_EV,S_EV(EVdata(n,4)+1:EVdata(n,5),n)==S_EV(EVdata(n,4):EVdata(n,5)-1,n)+0.95*pch(EVdata(n,4)+1:EVdata(n,5),n)-pdis(EVdata(n,4)+1:EVdata(n,5),n)/0.95,S_EV(EVdata(n,4),n)==EVdata(n,3)+0.95*pch(EVdata(n,4),n)-pdis(EVdata(n,4),n)/0.95,S_EV(EVdata(n,5),n)==0.95*EVdata(n,2)];%电动汽车电量约束条件ops=sdpsettings('kkt.dualbound',0);%不进行对偶边界估计[KKTsystem_single,details]=kkt(C_EV,obj_DR,price_EV,ops);%将电动汽车问题转化为KKT系统KKTsystem=[KKTsystem,KKTsystem_single];%合成KKT系统obj_EV(n)=xiaoyong(n,:)*(0.95*pch(:,n)-pdis(:,n)/0.95)-(details.b'*details.dual+details.f'*details.dualeq);
end
Pch=sdpvar(24,1);%储能系统充电
Pdis=sdpvar(24,1);%储能系统放电
S_ESS=sdpvar(24,1);%储能系统电量状态
Ps=sdpvar(24,1);%充电站与电网的交换功率
price_E=a_data.*Ps+b_data;%节点边际电价
C_price=[mean(price_EV)<=mean(price_E),0.8*price_E<=price_EV<=1.2*price_E];%零售电价约束条件
C_ESS=[0<=Pch<=250,0<=Pdis<=250,200<=S_ESS<=950,S_ESS(1,:)==500+0.95*Pch(1,:)-Pdis(1,:)/0.95,S_ESS(2:24,:)==S_ESS(1:23,:)+0.95*Pch(2:24,:)-Pdis(2:24,:)/0.95,S_ESS(24,:)==500];%储能系统约束条件
C_CS=[-1000<=Ps<=1000,Ps+Pdis+N*pdis*ratio==Pch+N*pch*ratio];%零售商约束条件
Constraints=[C_price,C_ESS,C_CS,KKTsystem];%总的约束条件
obj=-price_E'*Ps+N*obj_EV*ratio
result=optimize(Constraints,-obj,ops)%求解最大化问题
Pch=double(Pch);Pdis=double(Pdis);Ps=double(Ps);price_E=double(price_E);price_EV=double(price_EV);
price_E=[price_E(17:24);price_E(1:16)];

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

[1]詹祥澎,杨军,王昕妍等.考虑实时市场联动的电力零售商鲁棒定价策略[J].电网技术,2022,46(06):2141-2153.DOI:10.13335/j.1000-3673.pst.2021.2157.

🌈4 Matlab代码、数据、讲解

相关文章:

【电网技术复现】考虑实时市场联动的电力零售商鲁棒定价策略(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

R语言中数据重塑(长宽表的转化)

学习笔记&#xff0c;仅供学习使用。 目录 1-什么是整洁的数据&#xff1f; 2-宽表变成长表 示例1&#xff1a; 示例2&#xff1a; 示例3&#xff1a; 3-长表变宽表 示例1&#xff1a; 示例2&#xff1a; 1-什么是整洁的数据&#xff1f; 按照Hadley的表述&#xf…...

C# Blazor 学习笔记(10):依赖注入

文章目录 前言Blazor 依赖注入依赖注入用于解决什么问题&#xff1f;依赖注入的生命周期。测试代码 总结 前言 Blazor 具有前后端不分离模式&#xff0c;但是如何直接调用需要一定的设置 Blazor 依赖注入 依赖注入在spring里面很常见&#xff0c;毕竟.NET 是个巨型融合怪。只…...

接口请求(get、post、head等)详解

一&#xff0e;接口请求的六种常见方式&#xff1a; 1、Get 向特定资源发出请求&#xff08;请求指定页面信息&#xff0c;并返回实体主体&#xff09; 2、Post 向指定资源提交数据进行处理请求&#xff08;提交表单、上传文件&#xff09;&#xff0c;又可能导致新的资源的建…...

【【萌新的STM32学习-4】】

萌新的STM32学习-4 STM32系统框架 1.1 Cortex M 内核& 芯片 F1有四个驱动单元 四个被动单元 AHB 高级高性能总线 APB 高级外围总线 部分系统结构 最上面的ICode 总线直接连接到了内部Flash 不需要通过总线矩阵 . D Code 总线&#xff08;D - Bus&#xff09; 这是Cort…...

C++ Primer Plus第五章 习题

目录 复习题&#xff1a; 1.入口条件循环和出口条件循环之间的区别是什么&#xff1f;各种c循环分别属于其中的哪一种&#xff1f; 2.如果下面的代码片段是有效程序的组成部分&#xff0c;它将打印什么内容&#xff1f; 3.如果下面的代码片段是有效程序的组成部分&#xff0…...

软考A计划-系统集成项目管理工程师-信息文档和配置管理-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 &#x1f449;关于作者 专注于Android/Unity和各种游…...

Vue 路由 路由守卫

路由守卫 正如其名&#xff0c; vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。简单来说&#xff0c;就是在路由跳转 时候的一些钩子&#xff0c;当从一个页面跳转到另一个页面时&#xff0c;可以在跳转前、中、后做一些事情。 当你打开一个页面的前后需…...

基于springboot的课程作业管理系统【附开题|ppt|万字文档(LW)和搭建文档】

主要功能 学生登录&#xff1a; ①首页、个人中心&#xff1a;修改密码、个人信息管理等 ②公告信息管理、课程信息管理、学生选课管理、作业布置管理、作业提交管理、作业评分管理、课程评价管理、课程资源管理 教师登录&#xff1a; ①首页、个人中心&#xff1a;修改密码、…...

关于个人微信API接口的开发

个人微信开发API接口可拓展功能说明 1、个人微信多账号管理、聚合聊天、多个微信号同时登陆、多个微信号集中在一个窗口进行聊天&#xff0c;实现一人多号同时沟通快速提升沟通效率&#xff0c;提升微信营销效率。 2、客服灵活分配&#xff1a;客服主管可自由分配微信号给指定…...

华为PMS API client token auth failed

对接华为pms时出现问题&#xff0c;提示华为PMS API client token auth failed 主要是权限的问题&#xff0c;创建项目的时候选择N/A...

【Java面试丨消息中间件】Kafka

一、kafka是如何保证消息不丢失 1. 介绍 使用kafka在消息的收发过程都有可能会出现消息丢失 &#xff08;1&#xff09;生产者发送消息到broker丢失 &#xff08;2&#xff09;消息在broker中存储丢失 &#xff08;3&#xff09;消费者从broker接收消息丢失 2. 生产者发送消…...

7.数组(一维数组、二维数组、C99中的变长数组、二分查找法)

数组 1.数组的概念2.一维数组2.1 一维数组的创建2.2 一维数组的类型2.3 一维数组的初始化2.4 一维数组的下标2.5 一维数组的输入与输出2.6 一维数组在内存中的存储2.7 利用sizeof()计算数组元素的个数 3.二维数组3.1 二维数组的概念3.2 二维数组的创建3.3 二维数组的初始化3.4 …...

ubuntu服务器配置ftp服务

需求&#xff1a;配置ftp服务用于在windows电脑上直接浏览、下载、上传ubuntu服务器上的文件&#xff0c;用于文件共享&#xff0c;方便实用 效果&#xff1a;用户打开windows资源管理器后输入ftp://xxx.xxx.xxx.xxx &#xff08;公网IP地址&#xff09;后&#xff0c;即可浏览…...

IDA+Frida分析CTF样本和Frid源码和objection模块

文章目录 一些资料IDA调试命令IDA调试安卓的10个技巧objection基本使用 Wallbreaker1frida源码阅读之frida-java 第一个实例EasyJNI第二个实例objection资料 art_trace2.pyart_trace2.js IDAFrida分析CTF样本和Frid源码和objection模块 一些资料 IDA调试命令 adb devices adb…...

ConCurrentHashMap常见面试题

1. JDK1.7和JDK1.8中ConCurrentHashMap的实现有什么不同&#xff1f; JDK1.7中的实现可以认为是大数组套小数组&#xff0c;大数组是Segment数组&#xff0c;小数组是HashEntry数组&#xff0c;锁是锁在大数组的元素上&#xff08;Segment&#xff09;&#xff0c;力度比较大&…...

mysql数据备份并重置

mysql数据备份并重置 1.备份mysql数据 mysqldump -uroot --single-transaction -R -E --databases lc2 cpm a10_goods self_warehouse > /mnt/vdc1/var/lib/mysql/datadir/lc2_cpm_a10_goods_self_warehouse.sql -p Y6B2wb 2.初始化mysql mysqld --initialize; 3.修改配…...

I- yh的线段(2023河南萌新联赛第(四)场:河南大学)

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 yh喜欢好线段&#xff0c;好线段即两条线段相交且不与其他线段重合的线段。 两条线段[l1,r1]和[l2,r2]相交(如果存在至少一个x&#xff0c;使得l1≤x≤r1和l2≤x≤r2&#xff0c;则认为两个线段…...

python与深度学习(十四):CNN和IKUN模型二

目录 1. 说明2. IKUN模型的CNN模型测试2.1 导入相关库2.2 加载模型2.3 设置保存图片的路径2.4 加载图片2.5 图片预处理2.6 对图片进行预测2.7 显示图片 3. 完整代码和显示结果4. 多张图片进行测试的完整代码以及结果 1. 说明 本篇文章是对上篇文章猫狗大战训练的模型进行测试。…...

chrome扩展在popup、background、content之间通信解决传输文件问题

文章目录 背景介绍案例介绍代码示例popup页面&#xff0c;上传文件页面popup页面&#xff0c;js上传代码&#xff0c;file文件转base64background监听消息&#xff0c;base64转file文件&#xff0c;axios上传 附-转base64后直接下载 背景介绍 示例扩展API版本MV2。 以弹…...

别再只会用%和_了!MySQL模糊查询的三种隐藏技巧,性能提升不止一点点

MySQL模糊查询性能优化实战&#xff1a;突破%和_的思维定式 当数据库表膨胀到百万级数据时&#xff0c;一个简单的LIKE %关键词%查询可能让整个系统陷入瘫痪。上周我负责的电商平台就遭遇了这样的危机——商品搜索接口响应时间从200ms飙升到8秒&#xff0c;仅仅因为用户输入了包…...

数字IC设计中的TCL实战:用列表操作实现引脚自动排序

数字IC设计中的TCL实战&#xff1a;用列表操作实现引脚自动排序 在数字集成电路设计流程中&#xff0c;处理海量引脚信息是每位工程师的日常挑战。当面对数百个需要按特定规则排序的引脚时&#xff0c;手动操作不仅效率低下&#xff0c;还容易引入人为错误。TCL脚本作为EDA工具…...

告别结构体!手把手教你用Simulink.Signal配置汽车软件输入输出信号(含代码生成实战)

告别结构体&#xff01;手把手教你用Simulink.Signal配置汽车软件输入输出信号&#xff08;含代码生成实战&#xff09; 在汽车电子控制单元&#xff08;ECU&#xff09;开发中&#xff0c;Simulink模型到C代码的转换是核心环节。许多工程师第一次生成代码时会发现&#xff0c;…...

OpenSCENARIO 2.0:自动驾驶仿真领域的下一代场景描述语言

1. OpenSCENARIO 2.0&#xff1a;自动驾驶仿真的语言革命 当你在玩赛车游戏时&#xff0c;有没有想过电脑控制的车辆为什么能如此逼真地避让、超车&#xff1f;背后正是场景描述语言在指挥这些"虚拟司机"。而在真实的自动驾驶开发中&#xff0c;这种语言的重要性被放…...

Adobe-GenP 3.0:解密Adobe全家桶通用补丁的技术实现与应用指南

Adobe-GenP 3.0&#xff1a;解密Adobe全家桶通用补丁的技术实现与应用指南 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe-GenP 3.0是一款基于AutoIt脚本开发…...

从单缝到光栅:光的衍射原理与工程应用解析

1. 光的衍射基础&#xff1a;从现象到原理 第一次用激光笔照射头发丝时&#xff0c;我盯着墙上突然出现的光斑愣住了——明明应该被遮挡的区域&#xff0c;却出现了向外扩散的条纹。这种反直觉的现象&#xff0c;正是光的衍射最直观的展现。当光波遇到与波长尺度相当的障碍物时…...

Vue3数字动画实战:用vue3-count-to打造数据大屏动态效果(附完整代码)

Vue3数字动画实战&#xff1a;用vue3-count-to打造数据大屏动态效果 数据可视化大屏已经成为企业展示核心指标的重要窗口&#xff0c;而动态数字效果则是其中最抓眼球的元素之一。想象一下&#xff0c;当领导带着客户参观时&#xff0c;大屏上的关键数据从0开始流畅增长到百万级…...

开源实战:用安卓App与微信小程序双端联动,远程操控Arduino智能设备

1. 从零搭建智能灯光控制系统 想象一下这样的场景&#xff1a;下班路上用手机提前打开家里的氛围灯&#xff0c;朋友来访时让他们用微信小程序调节灯光亮度&#xff0c;所有操作都通过你亲手搭建的系统完成。这就是我们要实现的ArduinoESP8266-01双端控制方案&#xff0c;一个…...

UniApp WebView通信SDK版本怎么选?从1.5.6到最新版,我的踩坑与升级指南

UniApp WebView通信SDK版本选择与升级实战指南 1. 理解UniApp WebView通信的核心机制 UniApp的WebView通信能力是混合开发中至关重要的桥梁。当我们在UniApp中嵌入WebView时&#xff0c;实际上是在原生容器中运行一个浏览器实例。这个浏览器实例与UniApp运行环境之间的通信&…...

从MATLAB到Tecplot:手把手教你搞定复杂非结构网格(含FEPolygon/FEPolyhedron)的数据转换

从MATLAB到Tecplot&#xff1a;复杂非结构网格数据转换的工程实践指南 在工程仿真和科学计算领域&#xff0c;数据可视化是理解复杂现象的关键环节。MATLAB作为强大的数值计算工具&#xff0c;常被用于生成各类仿真数据&#xff0c;而Tecplot则是专业工程师首选的科学可视化软件…...