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

目录

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.mzph.cn/news/766222.shtml

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

相关文章

面试算法-78-两两交换链表中的节点

题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例 1: 输入:head [1,2,3,4] 输出&#xff…

Filter介绍使用案例

文章目录 一、Filter概念二、Filter快速入门定义类,实现Filter接口,并重写其所有方法 三、Filter执行流程四、Filter使用细节1、Filter拦截路径配置2、过滤器链 五、案例 一、Filter概念 二、Filter快速入门 定义类,实现Filter接口&#xff0…

paddlepaddle框架构建数据集进行分类问题的时候,会发现数据集在构建的过程中不会构建标签(花分类)

问题描述 在做一个paddlepaddle项目的时候,需要使用神经网络对他进行分类,数据集的结构如下图,这时候我们可以使用常用dataset方法对数据集进行构建。 这时候我们就会发现一个问题,就是这个矿建不是构建标签,也就是说…

数据格式化方法

首先你需要一个可以展示代码的组件; 我使用的是tech-ui(内部组件库); 你如果没有类似的组件,可以参考以下链接替代: react-monaco-editor -- 代码编辑器(适用Umi)_umi monaco editor-CSDN博客 Codemirror -- 代码编辑器(react…

洛谷B3626 跳跃机器人

#先看题目 题目描述 地上有一排格子,共 n 个位置。机器猫站在第一个格子上,需要取第n 个格子里的东西。 机器猫当然不愿意自己跑过去,所以机器猫从口袋里掏出了一个机器人!这个机器人的行动遵循下面的规则: 初始时…

【项目设计】仿 muduo 库实现 OneThreadOneEventLoop 式并发服务器

文章目录 一、项目介绍1. 项目简介2. 开发环境3. 核心技术4. 开发阶段 二、前置知识了解1. reactor2. timerfd3. timerwheel4. eventfd5. regex6. any 三、框架设计1. 项目模块划分1.1 SERVER 模块1.2 协议模块 2. 项目模块关系图2.1 Connection 模块关系图2.2 Acceptor 模块关…

滑动窗口:流量控制的有效手段

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…

HarmonyOS系统开发ArkTS常用组件文本及参数(五)

目录 一、Text组件 1、Text组件案例 二、Text组件参数 1、string字符串类型 2、Resources类型 2.1、resources中内容配置 base/element/string.json 中的内容 zh_US/element/string.json 中的内容 es_US/element/string.json 中的内容 2.2、环境适配 适配英文 适配中文…

【Bug】记录2024年遇到的Bug以及修复方案

--------------------------------------------------------分割线 2024.3.22------------------------------------------------------- 1、load_sample_image raise AttributeError(“Cannot find sample image: %s” % image_name) AttributeError: Cannot find sample ima…

Linux--Ubuntu安装【保姆级教程】

Linux操作系统时程序员必须要学的操作系统。接下来我们就来看一下Linux操作系统是如何安装的 我们在 Vmware 虚拟机中安装 linux 系统,所以需要先安装 vmware 软件,然后再 安装 Linux 系统。 一.所需安装文件: Vmware 下载地址(现在最新版的…

springboot+vue考试管理系统

基于springboot和vue的考试管理系统 001 springboot vue前后端分离项目 本文设计了一个基于Springbootvue的前后端分离的在线考试管理系统,采用M(model)V(view)C(controller)三层体系结构&…

【JS】for in可能遇到的问题

问题一:for in 打印属性顺序与定义顺序不一致 先来做一道题,请说出打印结果 const obj {a2: aaa,2: aaa,1: aaaa,a1: aaa, }for(let key in obj){console.log(key) }结果: 1 2 a2 a1 属性的书写顺序不一定就是对象遍历时的顺序。这涉及到…

【2】华为交换机如何修改Web登录密码?

0x01 问题描述 如果忘记了Web登录密码或者希望修改Web登录密码&#xff0c;用户可以通过Console口、STelnet或Tenet等方式登录交换机后设置新的Web登录密码。 使用Telnet协议存在安全风险&#xff0c;建议使用Console囗或STelnet V2登录设备 0x02 问题解决 <HUAWEI> s…

前端应用开发实验:条件渲染和循环渲染

目录 实验目的相关知识点实验内容图片的隐藏和显示代码实现效果 电影票房排序代码实现效果 代办事项记录代码实现效果 实验目的 (1)熟练掌握v-on 指令的用法&#xff0c;学会使用v-on 指令监听DOM元素的事件&#xff0c;并通过该事件触发调用事件处理程序。 (2)掌握v-on指令修…

算法---排序

目录 插入排序插入排序的思想代码实现 冒泡排序冒泡排序的思想代码实现 堆排序堆排序的基本思想代码实现 希尔排序希尔排序基本思想代码实现 选择排序选择排序基本思想代码展示 总结 插入排序 插入排序的思想 简单来说&#xff0c;插入排序就时将一个数插入一个数插入一个有序…

使用 ReclaiMe Pro 查找并恢复网络中的 SSH 服务器数据

天津鸿萌科贸发展有限公司是 ReclaiMe Pro 数据恢复软件的授权代理商。ReclaiMe Pro 数据恢复软件专注于恢复几乎所有文件系统及各种类型和复杂程度的 RAID 阵列。 在本文中&#xff0c;我们介绍 ReclaiMe Pro 对于采用 SSH 连接方式的网络服务器中数据的恢复方法。 ReclaiMe…

设计模式及其在项目、框架中的应用

设计模式的作用&#xff1a; 1、类之间关系图&#xff0c;明确的角色及其关系、作用&#xff1b; 2、符合开闭原则&#xff0c;职责明确&#xff0c;并且开放的拓展点可以有效应对后期的变化。 &#xff08;一&#xff09;、责任链模式 适用场景&#xff1a; 在一个流程中&…

HWL-41无辅源静态电流继电器 0.5-9.99A 导轨安装 JOSEF约瑟

HWL-40系列无辅源静态电流继电器 HWL-41HWL-42 HWL-43HWL-61 HWL-62HWL-63 HWL-71HWL-72 HWL-73HWL-81 HWL-82HWL-83 产品概述 1、HWL系列集成电路无辅源电流继电器用于发电机、变压器和输电线的过负荷和短路保护装置中作为启动元件。本继电器为集成电路静态型继电器&a…

Token的详解

Token的详解 文章目录 Token的详解前言:简介:使用token&#xff1a; 前言: 为什么会用到Token&#xff0c;因为cookie和session一些自身的缺点&#xff0c;限制了一些功能的实现&#xff0c;比如&#xff1a; cookie&#xff1a;优点是节省服务器空间&#xff0c;缺点不安全。…

启动Vue-demo时引发的一系列问题—解决办法

目录 1.初始遇到的问题&#xff1a;输入npm run dev 1.治标的解决方法 2.治本的解决方法 第一步&#xff1a;检查是否安装了cnpm 第二步&#xff1a;手动找到cnpm目录 第三步&#xff1a;配置系统环境变量 第四步&#xff1a;查看是否安装成功 1.初始遇到的问题&#xf…