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

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

适用平台: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

相关文章

Spring Boot集成Druid实现数据源管理与监控的详细步骤

《SpringBoot集成Druid实现数据源管理与监控的详细步骤》本文介绍如何在SpringBoot项目中集成Druid数据库连接池,包括环境搭建、Maven依赖配置、SpringBoot配置文件... 目录1. 引言1.1 环境准备1.2 Druid介绍2. 配置Druid连接池3. 查看Druid监控

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Knife4j+Axios+Redis前后端分离架构下的 API 管理与会话方案(最新推荐)

《Knife4j+Axios+Redis前后端分离架构下的API管理与会话方案(最新推荐)》本文主要介绍了Swagger与Knife4j的配置要点、前后端对接方法以及分布式Session实现原理,... 目录一、Swagger 与 Knife4j 的深度理解及配置要点Knife4j 配置关键要点1.Spri

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

使用jenv工具管理多个JDK版本的方法步骤

《使用jenv工具管理多个JDK版本的方法步骤》jenv是一个开源的Java环境管理工具,旨在帮助开发者在同一台机器上轻松管理和切换多个Java版本,:本文主要介绍使用jenv工具管理多个JD... 目录一、jenv到底是干啥的?二、jenv的核心功能(一)管理多个Java版本(二)支持插件扩展(三)环境隔

Springboot整合Redis主从实践

《Springboot整合Redis主从实践》:本文主要介绍Springboot整合Redis主从的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言原配置现配置测试LettuceConnectionFactory.setShareNativeConnect

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意