未发表!基于主从博弈的多主体微网/综合能源系统利益分摊与能量管理程序代码!

本文主要是介绍未发表!基于主从博弈的多主体微网/综合能源系统利益分摊与能量管理程序代码!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

适用平台:Matlab+Yalmip+Cplex

程序首先建立了综合能源运营商、新能源用户、电动汽车充电商的多主体园区,分析了三种市场交易主体的属性和市场交易机制。其次建立基于主从博弈的三方市场主体能量管理与收益分摊方案,利用改进粒子群算法进行求解。程序中算例丰富、注释清晰、干货满满,创新性很高!下面对文章和程序做简要介绍!

程序创新点:

(1)建立基于主从博弈的多方市场主体能量管理策略,解决多主体之间的多目标优化问题;

(2)电动汽车充电商通过管理车辆的充电行为,以降低自身充电充本;

(3)将新能源与用户划分为一体,可向电动汽车外售电能获取收益,也可购电满足自身负荷需求,具有能源生产/消费者双重属性;

主要工作:

作为耦合电、热、冷、气、交通等多能源网络的底层多能互补集成耦合系统,园区综合能源系统的能源利用效率相比传统的电能园区系统较优,在可再生能源就地消纳、提高需求侧调度灵活性、实现多能互补协同利用等方面具有重要的现实意义。多元市场主体参与市场化交易必然需要制定合适的交易机制,以协调不同市场主体的利益冲突。而博弈论能够解决复杂主体之间的多目标优化问题,实现系统内的最优综合能量管理。程序首先建立了含系统能源运营商、含分布式光伏的用户、电动汽车充电代理商的园区综合能源系统,分析了三种市场交易主体的属性和市场交易机制。其次建立了三方市场主体各自综合能量管理优化运行方案,并运用改进的粒子群算法进行求解。

文章框架:

交易主体及交易机制分析:

园区综合能源系统内的市场交易主体类型主要包括:能源生产者、能源消费者。两者均以自身利益最大化为目标来制定能量产消策略,实现自身能量优化管理。本系统内一共有能源运营商、含分布式光伏的用户、电动汽车充电代理商等3个市场主体,分别在系统内扮演不同的角色。三个市场交易主体构成了以系统能源运营商为主导的三方主从博弈模型。在该非合作交易中,三方均理性追求自身收益最大化,并制定相应的售能和用能策略,三方互动和交流最终达到一种均衡的最佳交易和运行状态。

综合能源运营商:

系统能源运营商是其他市场交易主体的主要供能方。系统能源运营商能量优化分配过程中,以自身净收益最大作为目标,对于含分布式光伏的用户而言,当自身供能不足时,能源运营商能够向其供能以满足额外用能需求。对电动汽车充电代理商而言,能源运营商既可以在较低电价时段出售足够的电能,以满足其较低成本的充电需求,也可以在用户低报价时段出售不足的光伏电能情况下,提供额外电能作为补充。

新能源用户能量管理策略:

含分布式光伏的用户是系统内的一类新兴市场交易主体,广泛参与系统综合能源管理,以自身净收益最大作为目标,具体有两个途径扩大收益:一方面优化自身能源转换设备出力降低运行成本,用户的分布式光伏还享受政府的全电量补贴政策,根据实际的发电量可获取一定的补贴收益;另一方面当用户的光伏出力满足自身需求且有盈余时,可通过制定合理且具有竞争力的报价策略,获得电动汽车充电代理商的售电权,获得售电收益。

电动汽车充电商:

电动汽车充电代理商是系统内的纯电能负荷,通过控制内部车辆的充电电量和充电时间参与系统综合能量管理,以自身运行成本最低作为目标,其运行成本的降低可以通过两个途径来减少:一方面选择比低报价市场主体购得电能,另一方面管理车辆充放电行为减少充电成本。

程序结果:

部分程序:

%% 产生初始粒子和速度
%   k
for j=1:sizepop%随机产生一个种群for i=1:N     %初始化粒子的维数%%%%%%%%%%%%使得角度在(0,2π上均匀分布)%%%%%%%%%%%%%%pop(((j-1)*N+i))=rand;    %初始种群位置,即节点的角度V(((j-1)*N+i),1)=alfa*randn(1);     %初始化速度,即旋转的角度,每次旋转一度end
end
scale=0;
%% 个体极值和群体极值
zbest=pop(1:N,:);   %全局最佳
gbest=pop;    %个体最佳
fitnessgbest=scale(1)*ones(1,sizepop);   %个体最佳适应度值
fitzbest=scale(1);   %全局最佳适应度值
s(1)=fitzbest;
%%%%%%%%%%%%%%%%%%%%%%%%%%
%%需要改,主感知方向作为粒子的位置,用速度表示主感知方向变换的角度,最后统一将调整方向,质心的受力主要用来防止粒子过于密集
%%%%%%%%%%%%%%%%%%%%%%%%%%
for K=2:maxgen     %迭代更新的次数w=1; for j=1:sizepop   % 20个粒子for i=1:N  %粒子的维数%速度更新V(((j-1)*N+i),:) = w*V(((j-1)*N+i),:) + c1*rand*(gbest(((j-1)*N+i),:) - pop(((j-1)*N+i),:)) + c2*rand*(zbest(i,:) - pop(((j-1)*N+i),:));V(((j-1)*N+i),V(((j-1)*N+i),:)>Vmax)=Vmax;V(((j-1)*N+i),V(((j-1)*N+i),:)<Vmin)=Vmin;  %V为质心绕节点顺时针旋转的角度%种群更新pop(((j-1)*N+i),:)=pop(((j-1)*N+i),:)+V(((j-1)*N+i),:);pop(((j-1)*N+i),:) = min(max((pop(((j-1)*N+i),:)),0),1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%endscale(j)=Obj(pop(((j-1)*N+1):((j-1)*N+N),:));fitness(j)=scale(j);   %个体最优更新if fitness(j) > fitnessgbest(j)gbest(((j-1)*N+1):((j-1)*N+N),:) = pop(((j-1)*N+1):((j-1)*N+N),:);fitnessgbest(j) = fitness(j); end%群体最优更新if fitness(j) > fitzbestzbest = pop(((j-1)*N+1):((j-1)*N+N),:);fitzbest = fitness(j);endends(K)=fitzbest; 
%     Kfitzbest
end

欢迎感兴趣的小伙伴关注,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

这篇关于未发表!基于主从博弈的多主体微网/综合能源系统利益分摊与能量管理程序代码!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/654013

相关文章

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CentOS系统Maven安装教程分享

《CentOS系统Maven安装教程分享》本文介绍了如何在CentOS系统中安装Maven,并提供了一个简单的实际应用案例,安装Maven需要先安装Java和设置环境变量,Maven可以自动管理项目的... 目录准备工作下载并安装Maven常见问题及解决方法实际应用案例总结Maven是一个流行的项目管理工具

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

C#实现系统信息监控与获取功能

《C#实现系统信息监控与获取功能》在C#开发的众多应用场景中,获取系统信息以及监控用户操作有着广泛的用途,比如在系统性能优化工具中,需要实时读取CPU、GPU资源信息,本文将详细介绍如何使用C#来实现... 目录前言一、C# 监控键盘1. 原理与实现思路2. 代码实现二、读取 CPU、GPU 资源信息1.

在C#中获取端口号与系统信息的高效实践

《在C#中获取端口号与系统信息的高效实践》在现代软件开发中,尤其是系统管理、运维、监控和性能优化等场景中,了解计算机硬件和网络的状态至关重要,C#作为一种广泛应用的编程语言,提供了丰富的API来帮助开... 目录引言1. 获取端口号信息1.1 获取活动的 TCP 和 UDP 连接说明:应用场景:2. 获取硬

JAVA系统中Spring Boot应用程序的配置文件application.yml使用详解

《JAVA系统中SpringBoot应用程序的配置文件application.yml使用详解》:本文主要介绍JAVA系统中SpringBoot应用程序的配置文件application.yml的... 目录文件路径文件内容解释1. Server 配置2. Spring 配置3. Logging 配置4. Ma

2.1/5.1和7.1声道系统有什么区别? 音频声道的专业知识科普

《2.1/5.1和7.1声道系统有什么区别?音频声道的专业知识科普》当设置环绕声系统时,会遇到2.1、5.1、7.1、7.1.2、9.1等数字,当一遍又一遍地看到它们时,可能想知道它们是什... 想要把智能电视自带的音响升级成专业级的家庭影院系统吗?那么你将面临一个重要的选择——使用 2.1、5.1 还是

高效管理你的Linux系统: Debian操作系统常用命令指南

《高效管理你的Linux系统:Debian操作系统常用命令指南》在Debian操作系统中,了解和掌握常用命令对于提高工作效率和系统管理至关重要,本文将详细介绍Debian的常用命令,帮助读者更好地使... Debian是一个流行的linux发行版,它以其稳定性、强大的软件包管理和丰富的社区资源而闻名。在使用

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制