Matlab|基于条件风险价值CVaR的微网动态定价与调度策略

news2024/10/6 23:39:13

目录

1 主要内容

模型示意图

电能交易流程

模型亮点

2 部分代码

3 程序结果

4 下载链接


主要内容

程序复现文章《A cooperative Stackelberg game based energy management considering price discrimination and risk assessment》,建立基于主从博弈的考虑差别定价和风险管理的微网动态定价与调度策略模型,构建了双层能源管理框架,上层为零售商的动态定价模型,目标是社会福利最大化;下层是多个产消者的合作博弈模型,优化各产消者的能量管理策略,各产消者之间可以进行P2P交易。同时,采用纳什谈判法对多个产消者的合作剩余进行公平分配,还考虑了运行风险,采用条件风险价值(CVaR)随机规划方法来描述零售商的预期损失。

  • 模型示意图

  • 电能交易流程

  • 模型亮点

该模型通过建立双层模型,出现了双线性和非线性问题,为了解决该问题,引入 kkt条件和大M法将原模型转化为等效单层模型,从而进行求解。而且程序采用三种对比算例进行分析,非常方便对照学习,算例1和2采用matlab+cplex求解,算例3采用matlab+mosek求解!

部分代码

%% 模型参数设定
%产消者/零售商从主网购电价格 元/MW
u_Db=1e3*[0.4,0.4,0.4,0.4,0.4,0.4,0.79,0.79,0.79,1.2,1.2,1.2,1.2,1.2,0.79,0.79,0.79,1.2,1.2,1.2,0.79,0.79,0.4,0.4];
%产消者/零售商向主网售电价格 元/MW
u_Ds=1e3*[0.35,0.35,0.35,0.35,0.35,0.35,0.68,0.68,0.68,1.12,1.12,1.12,1.12,1.12,0.68,0.68,0.68,1.12,1.12,1.12,0.79,0.79,0.35,0.35];
%零售商与产消者的交易价格上下限
u_Pbmax=1e3*[0.7,0.7,0.7,0.7,0.7,0.7,1.1,1.1,1.1,1.5,1.5,1.5,1.5,1.5,1,1,1,1.5,1.5,1.5,1.1,1.1,0.7,0.7];%购价上限
u_Pbmin=u_Pbmax-0.5*1e3*ones(1,24);%购价下限
u_Psmax=u_Ds;%售价上限
u_Psmin=u_Psmax-0.35*1e3*ones(1,24);%售价下限
%产消者1-3  电负荷 MW
P_load_1=[6.62295082,5.770491803,5.442622951,5.31147541,5.37704918,5.573770492,6.295081967,6.491803279,7.213114754,7.803278689,8.131147541,8.131147541,7.93442623,7.278688525,7.016393443,7.016393443,7.147540984,8.262295082,9.442622951,9.37704918,9.37704918,7.93442623,6.819672131,5.901639344];
P_load_2=[3.344262295,3.016393443,2.754098361,2.754098361,2.754098361,2.885245902,3.147540984,3.344262295,3.639344262,3.93442623,4,4.131147541,4,3.737704918,3.475409836,3.606557377,3.606557377,4.131147541,4.721311475,4.655737705,4.721311475,4,3.409836066,3.016393443];
P_load_3=[11.60655738,10.16393443,9.442622951,9.245901639,9.114754098,9.639344262,10.75409836,11.3442623,12.45901639,13.50819672,14.10772834,14.16393443,13.63934426,12.72131148,12.19672131,12.32786885,12.59016393,14.29508197,16.59016393,16.45901639,16.26229508,13.7704918,12.13114754,10.55737705];
%产消者1-3  导入10个场景的出力和概率
Sw=10; %场景数量
load P_Gen.mat  %产消者1风电出力    P_Gen_1  维度:10*24     P_Gen_2    P_Gen_3 
%产消者1-3风电场景概率
pai_1=0.1*ones(1,10);pai_2=0.1*ones(1,10);pai_3=0.1*ones(1,10);
%其它固定参数
C_E=80; %储能充放成本
P_Pbmax=15; %最大购电量
P_Psmax=15; %最大售电量
Cap=10; %最大储能容量MW
P_Ecmax=3; %充放能功率上限
P_Edmax=3; %充放能功率上限
SOCmin=0.2; %最小存储量百分比 单位%
SOCmax=0.85; %最大容量百分比
SOCini=0.33; %初始容量百分比
SOCexp=0.85; %末段容量百分比
M=1E8; %大M法
beta=0.1; %厌恶风险系数
%% 决策变量初始化
delta=sdpvar(1,3);
eta_1=sdpvar(Sw,1); %产消者1的风险调度辅助变量
eta_2=sdpvar(Sw,1); %产消者2的风险调度辅助变量
eta_3=sdpvar(Sw,1); %产消者3的风险调度辅助变量
P_Ps_1=sdpvar(Sw,24); %零售商向产消者1售能量
P_Ps_2=sdpvar(Sw,24); %零售商向产消者2售能量
P_Ps_3=sdpvar(Sw,24); %零售商向产消者3售能量
P_Pb_1=sdpvar(Sw,24); %零售商从产消者1购能量
P_Pb_2=sdpvar(Sw,24); %零售商从产消者2购能量
P_Pb_3=sdpvar(Sw,24); %零售商从产消者3购能量
u_Ps=sdpvar(3,24); %零售商向产消者购能价格
u_Pb=sdpvar(3,24); %零售商从产消者购能价格
P_trading_1=sdpvar(Sw,24); %产消者1合作博弈交易量
P_trading_2=sdpvar(Sw,24); %产消者2合作博弈交易量
P_trading_3=sdpvar(Sw,24); %产消者3合作博弈交易量
SOC_1=sdpvar(Sw,24); %产消者1储能容量状态 单位%
SOC_2=sdpvar(Sw,24); %产消者2储能容量状态 单位%
SOC_3=sdpvar(Sw,24); %产消者3储能容量状态 单位%
P_Ec_1=sdpvar(Sw,24); %储能充电
P_Ec_2=sdpvar(Sw,24); %储能充电
P_Ec_3=sdpvar(Sw,24); %储能充电
P_Ed_1=sdpvar(Sw,24); %储能放电
P_Ed_2=sdpvar(Sw,24); %储能放电
P_Ed_3=sdpvar(Sw,24); %储能放电
Uabs_1=binvar(Sw,24); %储能充放电状态,0-1变量
Uabs_2=binvar(Sw,24); %储能充放电状态,0-1变量
Uabs_3=binvar(Sw,24); %储能充放电状态,0-1变量
Urelea_1=binvar(Sw,24); %储能充放电状态,0-1变量
Urelea_2=binvar(Sw,24); %储能充放电状态,0-1变量
Urelea_3=binvar(Sw,24); %储能充放电状态,0-1变量
%定义KKT条件中的拉格朗日乘子

程序结果

4 下载链接

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024年计算机三级|数据库习题整理(自用④)

所有题目均来自【三级数据库技术基础题库】,此博客仅为知识点的补充,用于自主的回顾学习,仅供参考。 选择题 知识点:数据库文件 透明性分级: ①分片透明性 > ②位置透明性 > ③局部数据模型透明性 数据仓库数据…

正版J-Link仿真器无输出电压问题

目录 一、Jink安装包获取二、正版J-Link无法输出3.3V问题引脚定义图 解决方案:J-Link Commander J-Link是支持仿真ARM内核芯片的JTAG仿真器 一、Jink安装包获取 官网: https://www.segger.com/downloads/jlink/ 二、正版J-Link无法输出3.3V问题 今天…

PostgreSQL中控制文件的解析与恢复

最近遇到有人问起PG中控制文件的一些使用问题,总结了一下。 1、PG控制文件简介 1.1、存储的位置 它的路径位于: 相关信息,可以用命令pg_controldata得到: [10:41:27-postgres@centos2:/var/lib/pgsql/14/data/global]$ pg_controldata -D $PGDATA pg_control version …

蓝桥杯-02-2023蓝桥杯c/c++省赛B组题目

参考 2023 年第十四届蓝桥杯 C/C B组省赛题解 2023蓝桥杯c/c省赛B组题目(最全版): A:日期统计 这题方法应该很多,没有和别人讨论想法。我的解法思路是:先 load 函数生成所有这一年的合法日期,然后枚举所有可以从数据…

为什么独享ip会更高效?

随着互联网的蓬勃发展,代理IP因其特性,也备受关注,代理IP又有分共享代理IP和独享代理IP,但,无论是在数据采集方面,还是在其他业务场景上,独享代理IP似乎会更受用户欢迎一点,这到底是…

SpringCloud之网关组件Gateway学习

SpringCloud之网关组件Gateway学习 GateWay简介 Spring Cloud Gateway是Spring Cloud的⼀个全新项目,目标是取代Netflix Zuul,它基于Spring5.0SpringBoot2.0WebFlux(基于高性能的Reactor模式响应式通信框架Netty,异步⾮阻塞模型…

每日一题 --- 977. 有序数组的平方[力扣][Go]

今天这一题和昨天的知识点是一样的,就是双指针法。 题目: 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 示例 1: 输入:nums [-4,-1,0,3,1…

Zero-Change Object Transmission for Distributed Big Data Analytics——论文泛读

ATC 2022 Paper 问题 分布式大数据分析在很大程度上依赖于Java和Scala等高级语言的可靠性和多功能性。然而,这些高级语言也为数据传输制造了障碍。要在Java虚拟机(JVM)之间传输数据,发送方应将对象转换为字节数组(序…

ArmSoM-Sige RK3588开发板产品简介

让我们在 5 分钟内了解 Sige7。 简介​ ArmSoM-Sige7采用Rockchip RK3588新一代旗舰级八核64位处理器,主频高达2.4GHz,6 TOPS算力NPU,最大可配32GB大内存。支持8K视频编解码,拥有丰富的接口,支持双2.5G网口、WiFi6 &…

虚拟机开机启动失败,进入(initramfs)解决办法

虚拟机开机启动失败,进入(initramfs)解决办法 打开虚拟机中Ubuntu时进入(initramfs),导致无法进入桌面。问题如下图显示: 命令行输入 fsck -y /dev/sda5输入 exit进入 选择root 后回车 输入虚拟机的密码 进入 root …

项目成功秘诀:高效管理策略确保按时交付v2

一、项目成功的重要性 在当今竞争激烈的商业环境中,项目的成功对于企业的生存和发展具有至关重要的意义。项目的成功不仅意味着企业能够达成既定的业务目标,还能提升企业的市场地位、增强品牌影响力,并为企业的可持续发展奠定坚实基础。我们…

C++ Primmer 12.3文本查询程序(自己原来写的,跟课本中比较)

题目要求如下 1.自己版本 #pragma once #include <fstream> #include <string> #include <vector> #include <set> #include <map> #include <iostream> #include <sstream>using namespace std;int main() {ifstream t_if (&quo…

乱码问题,字符流原理

首先科普一下知识&#xff0c;我们知道ASCII码中有128的数字&#xff0c;符号&#xff0c;或大小写字母&#xff0c;这对于英文来说已经够用了&#xff0c;一个字母占用一个字节&#xff08;一个字节8bit&#xff09;&#xff0c; 存储的过程是这样的&#xff0c;一个字母w&…

二进制王国(蓝桥杯备赛)【sort/cmp的灵活应用】

二进制王国 题目链接 https://www.lanqiao.cn/problems/17035/learning/?contest_id177 题目描述 思路 这里就要灵活理解字典序排列&#xff0c;虽然string内置可以直接比较字符串字典序&#xff0c;但是在拼接时比较特殊&#xff0c;比如 11的字典序小于110&#xff0c;但…

鸿蒙Harmony应用开发—ArkTS(@Extend装饰器:定义扩展组件样式)

在前文的示例中&#xff0c;可以使用Styles用于样式的扩展&#xff0c;在Styles的基础上&#xff0c;我们提供了Extend&#xff0c;用于扩展原生组件样式。 说明&#xff1a; 从API version 9开始&#xff0c;该装饰器支持在ArkTS卡片中使用。 装饰器使用说明 语法 Extend(UI…

4 种策略让 MySQL 和 Redis 数据保持一致

先阐明一下 MySQL 和 Redis 的关系&#xff1a;MySQL 是数据库&#xff0c;用来持久化数据&#xff0c;一定程度上保证数据的可靠性&#xff1b;Redis 是用来当缓存&#xff0c;用来提升数据访问的性能。 关于如何保证 MySQL 和 Redis 中的数据一致&#xff08;即缓存一致性问题…

jmeter超高并发报错解决方法

1、比如jmeter设置并发量为5000&#xff0c;运行后报错socket closed。原因是客户端与服务端做了三次握手之后&#xff0c;后面不需要握手了&#xff0c;但是jmeter没有这个功能&#xff0c;5000个并发每次发接口请求都是独立的&#xff0c;jmeter端口处理不了这么大量的请求&a…

【SpringBoot框架篇】37.使用gRPC实现远程服务调用

文章目录 RPC简介gPRC简介protobuf1.文件编写规范2.字段类型3.定义服务(Services) 在Spring Boot中使用grpc1.父工程pom配置2.grpc-api模块2.1.pom配置2.2.proto文件编写2.3.把proto文件编译成class文件 3.grpc-server模块3.1.pom文件和application.yaml3.2.实现grpc-api模块的…

01. 如何配置ESP32环境?如何开发ESP32?

0. 前言 此文章收录于《ESP32学习笔记》专栏&#xff0c;此专栏会结合实际项目记录作者学习ESP32的过程&#xff0c;争取每篇文章能够将细节讲明白&#xff0c;会应用。 1. 安装IDE&#xff1a;Thonny 后续项目中我们都是使用pythont语言&#xff0c;而thonny工具能很好的支撑E…

Vue3:用重定向方式,解决No match found for location with path “/“问题

一、情景说明 在初学Vue3的项目中&#xff0c;我们配置了路由后&#xff0c;页面会告警 如下图&#xff1a; 具体含义就是&#xff0c;没有配置"/"路径对应的路由组件 二、解决 关键配置&#xff1a;redirect const router createRouter({history:createWebHis…