(文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略

参考文献:

[1]潘虹锦,高红均,杨艳红,等.基于主从博弈的售电商多元零售套餐设计与多级市场购电策略[J].中国电机工程学报,2022,42(13):4785-4800.

1.摘要

        随着电力市场改革的发展,如何制定吸引用户选择的多类型零售套餐成为提升售电商利润的研究重点。为此该文结合激励手段和价格信号为售电商设计了多类提升市场竞争力的零售套餐,并基于多时间尺度、多交易类型的市场背景为其提出购电策略。首先,搭建售电商与多元用户之间的主从博弈架构,分析售电商参与日前、月度、年度多级市场下与发电商、电力交易中心等主体之间的多种购电交易类型,设计峰谷分时电价、昼夜用电捆绑、峰谷惩罚补偿、阶梯递增电价、固定单一电价 5 种月度零售套餐。其次,分别以考虑风险因素的售电商效益最大化、多元用户自身综合满意度最大化为目标,构建主方购售电组合决策模型和从方零售套餐选择模型,并阐述主从博弈互动过程。接着,采用粒子群优化算法和 CPLEX 优化软件求解模型的纳什均衡解。最后,利用算例仿真验证主从博弈模型的迭代求解具有较好的收敛性,多级市场购电策略和多元零售套餐的提出有利于售电商提升自身利润的同时提高用户满意度,从而扩大市场份额。

2.原理介绍

2.1 多级市场购电与多元零售套餐设计

        售电商在参与电力市场竞争的过程中既要参与多级时间尺度市场进行购电,同时需要设计适应不同类型用户的多元零售套餐,以提升市场份额。在购电侧,本文重点考虑售电商参与日前、月度、年度多级市场,其中月度和年度市场往往签订双边合约,而期权、期货合同等双边交易类型可以有效控制市场风险,因此考虑售电商与发电商签订月度期权合同和年度期货合同。同时售电商还可以与其他售电商签订月度电力转让交易合同,以减轻双方的营业风险。在日前市场,售电商通过集中竞价交易的方式购电,主要用于填补中长期交易以外的电量差额,规避高额偏差考核费用的风险。在售电侧,本文主要设计多元零售套餐以适应具有不同用电特性的电力用户,提升用户满意度。售电商参与购售电交易的过程中,与代表需求侧利益的多个终端用户间存在主从博弈关系,构成一主多从的博弈格局。含售电商参与的主从博弈架构如图 1 所示。

2.2 主从博弈模型

2.2.1 主方(售电商)购售电组合决策模型

(1) 目标函数

        售电商通过参与年度、月度和日前多级时间尺度市场组合购电,以及基于价格和激励的需求响应设计多元零售套餐组合售电,提升自身利润,实现自身效益最大化。同时,由于日前市场电价的不确定性,售电商可能面临一定的风险损失,因此本文利用条件风险价值法对售电商进行风险评估,并以考虑风险因素的售电商效益最大化为目标,构建了基于需求响应的售电商购售电组合决策模型,数学表达如下:

(2)约束条件

        售电商在参与市场竞争制定购售电策略的过程中需要考虑购售电量平衡约束、期货与转让交易约束、日前市场交易约束、套餐价格约束和风险水平约束。

1)购售电量平衡约束

2)各交易机制的购电量约束。

3)套餐价格约束。

4)风险约束。

2.2.2 从方(用户)零售套餐选择模型

(1) 目标函数

        针对于需求侧终端用户,本文以不同套餐下的自身综合用电满意度最大为目标进行套餐选择和用电方式的决策,数学表达如下:

(2) 约束条件

用户在选择零售套餐以提升用电综合满意度的同时,需考虑用电量上下限约束:

2.2.3 主从博弈数学模型

主从博弈结构可由以下数学模型表达:

含售电商参与的主从博弈互动过程可描述为:售电商结合供给侧各主体制定的多级市场出清电价和用户初始负荷需求曲线,根据考虑风险因素的自身效益最大化原则,确定各级市场的购电量,并制定多元零售套餐的价格参数下发给用户;各用户结合自身用电特性,基于自身综合用电满意度最大化原则,确定所选套餐类型与各时段的用电量上报给售电商;售电商根据各用户上报数据,结合自身利润、风险重新制定各级市场购电量和多元零售套餐价格参数与用户进行二次博弈互动,如此进行迭代求解直到售电商、用户二者均达到自身目标的最值,且任何一方交易主体策略的改变不会导致另一方交易主体改变自身策略时,才能得到博弈互动的最优决策方案,即纳什均衡解。

2.3 主从博弈模型求解方法

        粒子群优化算法具有原理简单容易实现、收敛速度较快、需要调整的参数较少等特点,且有一定的记忆性和进化性,能完整保存迭代过程中所有粒子的局部最优解和全局最优解,对分析具体的博弈互动过程有一定的帮助。

        粒子群优化算法还可以根据算子更新个体历史最优和群体全局最优,对于本文而言能较好的模拟售电商与用户间博弈互动的过程,同时个体和群体的协同优化有助于快速寻找博弈的均衡解。因此本文考虑采用粒子群优化算法和 Matlab2016a平台下YALMIP工具箱中CPLEX12.6优化软件相结合的方法求解模型的纳什均衡解。对于主方售电商,既采用粒子群优化算法,以售电商利润为纳什适应度函数,求解迭代过程中的最优多元零售套餐参数,又采用CPLEX求解售电商最优多级市场购电策略;对于从方用户,则直接采用CPLEX求解用电策略,保证解的计算效率。模型求解步骤如图 4 所示。

3.编程思路

3.1参数和变量定义

3.2编程思路

根据对文献内容的解读,可以设计下面的编程思路:

步骤1:输入所需数据

        这一步比较简单,所需数据文中基本都已给出,按照表1的格式输入matlab中即可,没有给定的参数可以自己假设一个合理的数值。

步骤2定义上层套餐价格的决策变量

        这一步需要按照表2,初始化粒子群算法的决策变量,可以写成下面的形式:

        决策变量共有11个,可知粒子群算法的空间维度为11。此外,套餐价格还需满足一定约束条件,主要包括:

  1. 平时段电价和固定单一电价相等。
  2. 峰时段电价应高于谷时段电价。
  3. 白天电价应高于夜间电价。
  4. 峰谷惩罚补偿套餐的基准电价和固定单一电价相同。
  5. 阶梯递增电价套餐中第1档电价<第2档电价<第3档电价

相等的电价,可以通过减少决策变量来实现,其他的约束可以通过修复粒子的位置进行实现。减少后的决策变量如下:

其中决策变量共有9个,粒子群算法的空间维度为9。

步骤3:编写用户套餐优选子程序

        用户套餐优选子程序,就是需要根据售电商设定的套餐价格,确定使用户满意度最高的套餐选择方案。原文中提到,用户的决策变量只有Qit。但实际上计算用户用电成本时涉及到一些判断项目,需要引入中间变量,因此实际优化中决策变量的数目更多。

步骤4:编写售电商优化子程序

        售电商优化子程序就是通过参与年度、月度和日前多级时间尺度市场组合购电,以及基于价格和激励的需求响应设计多元零售套餐组合售电,提升自身利润,实现自身效益最大化。

步骤5:迭代求主从博弈最优解

        通过编写粒子群算法主程序,迭代求主从博弈的最优解。文献中并未解释粒子群算法的适应度函数是如何选取的,代码中使用了归一化的用户满意度和售电商利润作为粒子群算法适应度函数。同时设定了连续5次博弈结果误差不超过0.0001时,认为博弈结束,可以输出结果。

4.matlab代码

文件中共有6个m文件和2个mat文件,功能分别如下:

4.1 main_PSO.m

代码的主程序,运行即可得到优化结果。初始设定种群数为50,最大迭代次数为70,大约需要5小时得到结果。种群数和迭代次数可以调整。

4.2 fitnessfun.m

计算适应度函数。

4.3 main_price.m

使用蒙特卡洛模拟法得到典型电价场景。

4.4 repair_pop.m

对于不满足约束的粒子进行修复。

4.5 sub_retailer.m

售电商优化子程序。

4.6 sub_user.m

用户优化子程序。

5.代码运行结果

6.代码获取方式


(文章复现)基于主从博弈的售电商多元零售套餐设计与多级市场购电策略matlab代码资源-CSDN文库

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

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

相关文章

【TB作品】MSP430F5529,单片机,打地鼠游戏

功能 针对这块开发板做了一个打地鼠游戏&#xff1a; 1 给单片机上电后&#xff0c;初始化显示界面&#xff0c;显示出分数和等级。 2 游戏是一轮一轮进行的&#xff0c;每一轮会以50%几率点亮板子上的五个小灯&#xff0c;表示地鼠露头需要打了。 3 一轮游戏开始后&#xff…

最难沟通的,是那些一脸正确的人!寻找那上等的螃蟹!——早读(逆天打工人爬取热门微信文章解读)

端午节的代表&#xff1a;粽子 引言Python 代码第一篇 最难沟通的&#xff0c;是那些一脸正确的人第二篇结尾 路漫漫其修远兮&#xff0c;吾将上下而求索 ——屈原 引言 端午节 马上就要到了 大家有吃粽子的习俗吗&#xff1f; 我们潮汕那边就有 不过基本都是肉粽 去年还是前…

【Qt知识】Qt窗口坐标系

Qt的窗口坐标体系遵循标准的计算机图形坐标系统规则 Qt窗口坐标体系特点 坐标原点&#xff1a;窗口坐标体系的原点位于窗口的左上角&#xff0c;即坐标(0, 0)位置。 轴方向&#xff1a; X轴&#xff1a;向右为正方向&#xff0c;随着X坐标值的增加&#xff0c;元素在窗口中从…

Maven项目通过maven central 发布到中央仓库 https://repo.maven.apache.org/ 手把手教学 最新教学

一、注册maven central账号 ​ https://central.sonatype.com/publishing/namespaces 我这里直接使用github账号登录 &#xff0c;可以自己注册或者直接使用google账号或者github账号登录 这里github账号登录之后 应该只出现io.github 下面的io.gitee我也验证过 所以这里出…

UTONMOS:元宇宙游戏,散发无尽魅力与可能

在数字世界的浩瀚星海中&#xff0c;utonmos元宇宙游戏宛如一颗璀璨的明珠&#xff0c;散发着无尽的魅力与可能。 utonmos可不单单只是一款游戏&#xff0c;它更是一个令人惊叹的全新虚拟宇宙&#xff0c;急切地等待着你去深入探索和豪迈征服。 在这里&#xff0c;你能随心所欲…

LeetCode-77. 组合【回溯】

LeetCode-77. 组合【回溯】 题目描述&#xff1a;解题思路一&#xff1a;回溯背诵版解题思路三&#xff1a;0 题目描述&#xff1a; 给定两个整数 n 和 k&#xff0c;返回范围 [1, n] 中所有可能的 k 个数的组合。 你可以按 任何顺序 返回答案。 示例 1&#xff1a; 输入&a…

自定义类型:结构体类型

在学习完指针相关的知识后将进入到c语言中又一大重点——自定义类型&#xff0c;在之前学习操作符以及指针时我们对自定义类型中的结构体类型有了初步的了解&#xff0c;学习了结构体类型的创建以及如何创建结构体变量&#xff0c;还有结构体成员操作符的使用&#xff0c;现在我…

建WordPress主题官网模板

蓝色的中文WordPress企业模板 https://www.zhanyes.com/qiye/6305.html 暗红色WordPress律师事务所网站模板 https://www.zhanyes.com/qiye/23.html 红色大banner图WordPress外贸网站模板 https://www.zhanyes.com/waimao/27.html

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第32课-旋转动画

【WEB前端2024】开源智体世界&#xff1a;乔布斯3D纪念馆-第32课-旋转动画 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎&am…

某直聘zp_stoken纯算法还原

郑重声明&#xff1a;本项目的所有代码和相关文章&#xff0c; 仅用于经验技术交流分享&#xff0c;禁止将相关技术应用到不正当途径&#xff0c;因为滥用技术产生的风险与本人无关。 难点概要&#xff1a; 每日切换一次算法&#xff0c;其中包括环境&#xff0c;运行方式等。…

24.6.2(动态开点线段树)

星期一&#xff1a; cf edu round 36 E cf传送门 题意&#xff1a;1到n天初始全为工作日&#xff0c;有两种操作&#xff0c;将 l-r 区间变为 工作日/休息日&#xff0c;每次操作后询问剩余总工作日有多少 思路&…

前端调用接口有参数正常显示返回值,但是打印是undefined

前端调用接口有参数正常显示返回值&#xff0c;但是打印是undefined 这种有几种情况&#xff0c;但总的来说是因为我们做了接口拦截器的处理 一、后端返回code值有误 比如新来的后端忘记传code了。&#xff08;按照公司规范&#xff0c;一般都是200成功码&#xff09; 或者网上…

Oracle 序列-SEQUENCE

文章目录 序列-SEQUENCE创建序列访问序列序列的修改和删除查询序列信息 序列-SEQUENCE 创建序列 访问序列 序列的修改和删除 DROP SEQUENCE SEQ_EKPO;查询序列信息 可以通过视图 dba/all/user_sequences 查询序列的相关信息 SELECT SEQUENCE_NAME FROM DBA_SEQUENCES WHERE …

洪师傅代驾系统开发 支持公众号H5小程序APP 后端Java源码

代驾流程图 业务流程图 管理端设置 1、首页装修 2、师傅奖励配置 师傅注册后,可享受后台设置的新师傅可得的额外奖励; 例:A注册了师傅,新人奖励可享受3天,第一天的第一笔订单完成后可得正常佣金佣金*奖励比例 完成第二笔/第三笔后依次可得正常佣金佣金*奖励比例 完成的第四…

媳妇面试了一家公司,期望月薪20K,对方没多问就答应了,只要求3天内到岗,可我总觉得哪里不对劲。

“20k&#xff01;明天就来上班吧&#xff01;” 听到这句话&#xff0c;你会不会两眼放光&#xff0c;激动得差点跳起来&#xff1f; 朋友媳妇小丽&#xff0c;最近就经历了这样一场“梦幻面试”。然而&#xff0c;事情的发展却远没有想象中那么美好…… “这公司也太好了吧…

SpringBoot+百度地图+Mysql实现中国地图可视化

通过SpringBoot百度地图Mysql实现中国地图可视化 一、申请百度地图的ak值 进入百度开发者平台 编辑以下内容 然后申请成功 二、Springboot写一个接口 确保数据库里有数据 文件目录如下 1、配置application.properties文件 #访问端口号 server.port9090 # 数据库连接信息 spr…

移远通信携手高通,共启智能出行新时代

5月30-31日&#xff0c;2024高通汽车技术与合作峰会在无锡国际会议中心举行。作为高通“汽车朋友圈”的重要一员&#xff0c;移远通信应邀参会&#xff0c;展示了数十款基于高通平台打造的车载蜂窝通信模组、C-V2X模组、智能座舱模组、Wi-Fi/蓝牙模组&#xff0c;适配高通多个平…

揭秘:Java字符串对象的内存分布原理(二)

接上篇揭秘&#xff1a;Java字符串对象的内存分布原理 再看看下面几道关于String的真实面试题&#xff0c;看看你废不废&#xff1f; ② String str1 "Hello"; String str2 "He" "llo"; String str3 "He"; String str4 "l…

Github上一款开源、简洁、强大的任务管理工具:Condution

Condution 是一款开源任务管理工具&#xff0c;它以简洁易用、功能强大著称。它旨在为用户提供一个简单高效的平台&#xff0c;帮助他们管理日常任务、提高工作效率。 1. Condution 的诞生背景 现如今&#xff0c;市面上存在着许多任务管理软件&#xff0c;但它们往往价格昂贵…

C语言:学生成绩管理系统(含源代码)

一.功能 二.源代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_NUM 100 typedef struct {char no[30];char name[10];char sex[10];char phone[20];float cyuyan;float computer;float datastruct; } *student, student1;typ…