👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
《《《《《《《《更多资源还请持续关注本专栏》》》》》》》
论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html
随着储能技术的进步和共享经济的发展,共享储能电 站服务模式将成为未来用户侧储能应用的新形态。提出基于 储能电站服务的冷热电联供型多微网系统双层优化配置方法。 首先,提出储能电站服务这种新型的共享储能模式,分析共 享储能电站的运行方式和盈利机制。其次,将储能电站服务 应用到冷热电联供型多微网系统中,建立考虑两个不同时间 尺度问题的双层规划模型,上层模型负责求解长时间尺度的 储能电站配置问题,下层模型负责求解短时间尺度的多微网 系统优化运行问题。再次,根据下层优化模型的 Karush-Kuhn-Tucher(KKT)条件将下层模型转换为上层模型 的约束条件,采用Big-M法对非线性问题线性化。最后,通 过3个场景的算例分析验证所提双层规划模型的合理性和有 效性,并证明所提出的共享储能服务能够有效降低用户成本, 节约储能资源,实现用户与储能电站运营商的互利共赢。
部分代码展示:
%电网技术论文复现
%基于储能电站服务的冷热电多微网系统双层配置
%双层规划,KKT条件
%Supervised by Denny Gavin Zhang
%Copyright (C) 2020 IES Project
%All Rights Reserved
%========================================================================
clc;
clear;
close all;
%% 选择用哪个求解器求解
ANSWER=questdlg('选择Yalmip使用的求解器:','电网技术论文复现',...
'Cplex求解器','Gurobi求解器','Cplex求解器');
UseCplex=strcmp(ANSWER,'Cplex求解器');
UseGurobi=strcmp(ANSWER,'Gurobi求解器');
%% 模型参数设定
W=1; %典型日个数为1
Tw=91; %典型日天数为91
N=3; %微网数为3
M=1E8; %Big-M法中的M
NT=24; %调度时段数为24;
%微网向储能电站的售电电价
sddj=[0.20,0.20,0.20,0.20,0.20,0.20,0.20,0.20,0.95,0.95,0.95,0.95,0.55,0.55,0.55,0.55,0.95,0.95,0.95,0.95,0.95,0.55,0.55,0.55];
%微网从储能电站购电的电价
gddj=[0.40,0.40,0.40,0.40,0.40,0.40,0.40,0.40,1.15,1.15,1.15,1.15,0.75,0.75,0.75,0.75,1.15,1.15,1.15,1.15,1.15,0.75,0.75,0.75];
%微网向储能电站缴纳的服务费单价
fwf=0.05*ones(1,24);
%微网从电网的购电电价
dwdj=[0.37,0.37,0.37,0.37,0.37,0.37,0.37,0.37,1.36,1.36,1.36,1.36,0.82,0.82,0.82,0.82,1.36,1.36,1.36,1.36,1.36,0.82,0.82,0.82];
%% 决策变量初始化
Pessmax=sdpvar(1); %储能电站最大充放电功率
Eessmax=sdpvar(1); %储能电站的最大容量
Pessswi=sdpvar(3,24); %第i个微网向储能电站的售电功率
Pessbwi=sdpvar(3,24); %第i个微网向储能电站的购电功率
PGTwi=sdpvar(3,24); %第i个微网的燃气轮机输出功率
Pgridwi=sdpvar(3,24); %第i个微网从电网的购电功率
PECwi=sdpvar(3,24); %第i个微网电制冷机消耗的电功率
QACwi=sdpvar(3,24); %第i个微网制冷机的输出制冷功率
QGBwi=sdpvar(3,24); %第i个电网的燃气轮机输出热功率
PHXwi=sdpvar(3,24); %第i个电网的换热装置输出制热功率
Eess=sdpvar(1,24); %储能电站存储的能量
Pessabs=sdpvar(1,24); %储能电站充电功率
Pessrelea=sdpvar(1,24);%储能电站放电功率
Uabs=binvar(1,24); %储能电站充放电状态,0-1变量
Urelea=binvar(1,24); %储能电站充放电状态,0-1变量
%% 上层储能电站的目标函数
Cinvw=0.95*(Pessmax+Eessmax)/(8*365)+72*Pessmax/365; %储能电站日平均投资和维护成本
Cesssw=Pessswi(1,:)*sddj'+ Pessswi(2,:)*sddj'+ Pessswi(3,:)*sddj'; %每个典型日储能电站从微网购电成本
Cessbw=Pessbwi(1,:)*gddj'+ Pessbwi(2,:)*gddj'+ Pessbwi(3,:)*gddj'; %每个典型日储能电站向微网的售电效益
Cservew=Pessswi(1,:)*fwf'+ Pessswi(2,:)*fwf'+ Pessbwi(1,:)*fwf'+ Pessbwi(2,:)*fwf'...
+ Pessswi(3,:)*fwf'+ Pessbwi(3,:)*fwf'; %每个典型日储能电站从微网收取服务费
objective=Tw*(Cinvw + Cesssw - Cessbw - Cservew); %上层优化目标为储能电站年运行成本最小
%% 上层储能电站的约束条件
Con=[Eessmax==2.6658*Pessmax, %式(6)中储能电站容量和额定功率约束
Eess(1)==0.2*Eessmax,]; %式(7)中储能电站初始存储的能量约束
for i=2:24
Con=[Con,
0.1*Eessmax<=Eess(i)<=0.9*Eessmax, %储能电站容量上下限
Eess(i)==(Eess(i-1)+(0.95*Pessabs(i)-(1/0.95)*Pessrelea(i))), %储能电站与上一时段的能量变化约束
];
end
for i=1:24
%这里做一点说明,和论文中式(7)不太一样,因为不能出现两个决策变量相乘,故这里用类似于大M法的思路代替
Con=[Con,
0<=Pessabs(i)<=Pessmax,
0<=Pessabs(i)<=Uabs(i)*M,
0<=Pessrelea(i)<=Pessmax,
0<=Pessrelea(i)<=Urelea(i)*M,
Uabs(i) + Urelea(i)<=1, %确定充放电状态不可能同时发生
];
end
%% 进行下层的KKT条件处理
%下层的三个微网的运行参数导入
%这里以春季作为典型日进行分析
Pcoolw=zeros(24,3); %下层的3个微网的冷负荷功率
Pheatw=zeros(24,3); %下层的3个微网的热负荷功率
Ploadw=zeros(24,3); %下层的3个微网的电负荷功率
PPVw=zeros(24,3); %下层的3个微网的光伏发电功率
PWTw=zeros(24,3); %下层的3个微网的风力发电功率
%导入微网1的参数
Pcoolw(:,1)=xlsread('data','微网1','I2:I25');
Pheatw(:,1)=xlsread('data','微网1','J2:J25');
Ploadw(:,1)=xlsread('data','微网1','K2:K25');
PPVw(:,1)=xlsread('data','微网1','L2:L25');
PWTw(:,1)=xlsread('data','微网1','M2:M25');
%导入微网2的参数(MG2中没有风电)
Pcoolw(:,2)=xlsread('data','微网2','J2:J25');
Pheatw(:,2)=xlsread('data','微网2','K2:K25');
Ploadw(:,2)=xlsread('data','微网2','L2:L25');
PPVw(:,2)=xlsread('data','微网2','M2:M25');
%导入微网3的参数
Pcoolw(:,3)=xlsread('data','微网3','I2:I25');
Pheatw(:,3)=xlsread('data','微网3','J2:J25');
Ploadw(:,3)=xlsread('data','微网3','K2:K25');
PPVw(:,3)=xlsread('data','微网3','L2:L25');
PWTw(:,3)=xlsread('data','微网3','M2:M25');
效果展示:
👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆下载资源链接👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆👆
《《《《《《《《更多资源还请持续关注本专栏》》》》》》》