参考文献:
基于主从博弈理论的共享储能与综合能源微网优化运行研究——帅轩越(2022电网技术)
主要内容;
代码主要做的是基于主从博弈理论的共享储能与综合能源微网优化运行研究,首先介绍了系统运行框架,分析了系统内各利益体的功能。其次,分别针对微网运营商、共享储能服务商以及用户聚合商建立优化运行模型。进一步,分析了微网运营商与用户聚合商间的博弈关系,提出共享储能背景下微网运营商与用户聚合商间的 Stackelberg 博弈模型,并证明Stackelberg 均衡解的存在性与唯一性。最后,在 MATLAB平台上进行算例仿真,通过 Yalmip 工具与 CPLEX 求解器进行建模与求解,利用启发式算法与求解器相结合的方法优化微网运营商与用户聚合商的策略
关键词:主从博弈 共享储能 综合能源微网 优化调度
部分程序
clc;clear;close all;% 程序初始化
%% 读取数据
shuju=xlsread('share+EtoH数据.xlsx'); %把一天划分为24小时
load_e=shuju(2,:); %初始电负荷
load_h=shuju(3,:); %初始热负荷
P_PV=shuju(4,:); %光电预测
pe_grid_S=shuju(5,:); %电网售电价
pe_grid_B=shuju(6,:); %电网购电价
ph_max=shuju(7,:); %热价上限
ph_min=shuju(8,:); %热价下限
%% 主从博弈过程
F = 0.5; % 缩放因子
CR = 0.9; % 交叉因子
%参数设置
groupSize =40; %个体数目(Number of individuals)
groupDimension=48; %染色体长度
MAXGEN =80; %最大遗传代数(Maximum number of generations)
v=zeros(groupSize,groupDimension); % 变异种群
u=zeros(groupSize,groupDimension); % 交叉种群
Unew=zeros(groupSize,groupDimension); % 边界处理后的种群
%初始种群
population = smartGroupInit(groupSize,groupDimension);% 初始化群体
gen=0; %种群世代计数器
fitness=0; %初始适应度
user=0;%用户收益
while gen<MAXGEN
gen=gen+1
%计算目标函数值
[P_MT,F_user,F_share,Eload,Hload,ES,P_h,Prl,P_buy,P_sell] = computeObj(population,load_e,load_h,P_PV,pe_grid_B);
%变异操作
v=mutate(population,F,MAXGEN,gen); %针对整个种群的变异
%交叉操作
u=crossover(population,v,CR);
%边界处理
Unew = boundaryprocess(u,pe_grid_S,pe_grid_B,ph_max,ph_min);
% 选择操作 (计算新的适应度)
[Newpopulation,fitbest,best] =select(Unew,population,P_MT,P_h,P_buy,pe_grid_S);
trace(gen,1)=gen; %赋值世代数
population=Newpopulation;
%追踪最优适应度和售电售热价
if fitness<=fitbest
fitness = fitbest;
trace(gen,2)=fitbest;
remainbest=best;
else
trace(gen,2)=fitness;
end
trace(gen,3)=F_share; %共享储能商的收益
%追踪最优目标函数
if user<=F_user
user=F_user;
trace(gen,4)=F_user;%用户收益曲线
else
trace(gen,4)=user;
end
end
运行结果