Matlab|互动环境下分布式电源与电动汽车充电站的优化配置方法研究【全文复现】【提供答疑】

目录

一、主要内容

二、部分代码

三、下载链接


一、主要内容

程序包含论文二、三、四、五共五章算例内容,每章内容如下:

第二章的主要研究内容为计及光伏电站快速无功响应特性的分布式电源优化配置方法。考虑越来越多的敏感负荷接入配电系统,以及 PV-STATCOM 这一将光伏逆变器用作 STATCOM 以提供快速无功响应功能的新技术,本章提出了一类加权电压支撑能力指标以量化光伏电站在紧急状态下对敏感负荷节点电压恢复效率的影响,并将其嵌入到分布式电源优化配置模型中。对应的算例结果表明,基于这一改进模型得到的分布式电源配置方案可以有效提高瞬时故障后重要电力节点的电压恢复效率,减少电压暂降等电能质量问题给敏感负荷带来的损失。

第三章的主要研究内容为含多类型充电桩的电动汽车充电站优化配置方法。随着电动汽车快充技术的发展,越来越多的不同类型不同功率的充电设施接入了配电系统。这些充电设施在满足电动汽车车主多样化的充电需求的同时,也改变了电动汽车负荷的时空分布情况,从而给电动汽车充电站的优化配置带来了新的挑战。基于这一新趋势,本章提出了一种含多类型充电桩的电动汽车充电站优化配置模型,及其相应的简化处理方法,并分析了同时配置多种功率充电桩所带来的经济效益。 

第四章的主要研究内容为考虑充电负荷空间可调度特性的分布式电源与电动汽车充电站联合配置方法。随着手机、平板电脑等移动智能终端的普及,以及无线通讯技术的发展,越来越多的汽车车主依赖于实时导航技术决定自己的驾驶及泊车行为。对电动汽车而言,泊车地点在很大程度上决定了其充电行为的发生处所,即对应的充电负荷的接入位置。基于这一背景,本章认为实时导航技术的普及使得电动汽车负荷在一定程度上、一定空间范围内是可调度的,并建立了相应的分布式电源与电动汽车充电站联合配置模型,分析了这种空间可调度特性对分布式电源与电动汽车充电站配置方案的影响。 

第五章的主要研究内容为单向/双向 V2G 环境下分布式电源与电动汽车充电站联合配置方法。V2G 技术的发展使得电动汽车负荷成为一类可控的资源,能够为电网运行提供峰荷转移、电压调节、旋转备用等诸多类型的辅助服务。这一技术的出现,大大增加了电动汽车与电网间的互动频率及互动深度,对传统的分布式电源与电动汽车充电站优化配置方法形成了挑战。基于这一背景,本章提出了单向/双向 V2G 环境下分布式电源与电动汽车充电站联合配置模型,分别分析了无序充电模式、单向 V2G 模式、双向 V2G模式对分布式电源与电动汽车充电站配置方案的影响。

二、部分代码

for i=1:nb%分别计算工作日和周末时序停车数量
    if sty_jd(i)==1
    num_w(i,:)=round(num_peak(i).*arr_jm_w./max(arr_jm_w));
    num_wd(i,:)=round(num_peak(i).*arr_jm_wd./max(arr_jm_wd));
    %停车时长分布,样本数量不足,没法用停车时长概率曲线来计算,随机产生停车时长
    elseif sty_jd(i)==2
    num_w(i,:)=round(num_peak(i).*arr_sc_w./max(arr_sc_w));
    num_wd(i,:)=round(num_peak(i).*arr_sc_wd./max(arr_sc_wd));
    else
    num_w(i,:)=round(num_peak(i).*arr_bg_w./max(arr_bg_w));
    num_wd(i,:)=round(num_peak(i).*arr_bg_wd./max(arr_bg_wd));
    end
end
%建立节点电动汽车矩阵
sum_num_w=sum(num_w);
sum_num_wd=sum(num_wd);
max_num=max(sum_num_w,sum_num_wd);
% k=1;
% for t=1:T
%     k1=1;
%     for i=1:nb
%         if stay_time_w(i,t)~=0%计算每个电动汽车的充电时长
%             for y=1:stay_time_w(i,t)
%                 st(k1,t)=t*0.25;
%             end
%             k1=k1+1;
%         end
%     end
% end
k=1;
for t=1:T
    for i=1:nb
    if num_w(i,t)~=0
       for jj=1:num_w(i,t)
           soc=rand;%(0,1)均匀分布
           st(k)=round(1+95*rand)*0.25;%充电时长
            if soc<0.9
                linf=find(distance(i,:)==min(distance(i,:)));
        evjd_w(k,:)=[t,i,soc,linf(1),min(st(k),prl*(1-soc)/pev),sty_jd(i),min(distance(i,:))];%时间,节点,soc,充电节点,充电时长,节点区域类型,调度距离
                k=k+1;
            end
%             if gdch(i)~=0
%                 evjd_w(k,4)=gdch(i);
%             end
​
        end
    end
    end
end
%周末情况
 k=1;
for t=1:T
    for i=1:nb
    if num_w(i,t)~=0
       for jj=1:num_w(i,t)
           soc=rand;
           st(k)=round(1+95*rand)*0.25;%充电时长
            if soc<0.9
                linf=find(distance(i,:)==min(distance(i,:)));
        evjd_wd(k,:)=[t,i,soc,linf(1),min(st(k),prl*(1-soc)/pev),sty_jd(i),min(distance(i,:))];%时间,节点,soc,充电节点,充电时长,节点区域类型,调度距离
                k=k+1;
            end
%             if gdch(i)~=0
%                 evjd_wd(k,4)=gdch(i);
%             end
​
        end
    end
    end
end
​
%% 1.设参
branch = mpc.branch;
branch(:,3) = branch(:,3)*100/(12.66^2);%求阻抗标幺值
r=real(branch(:,3));
x=imag(branch(:,3));
r=r(1:32);
x=x(1:32);
upstream=zeros(nb,nl);%代表流入节点支路
dnstream=zeros(nb,nl);%代表流出节点支路
for i=1:32
    upstream(i,i)=1;
end
for i=[1:16,18:20,22:23,25:31]
    dnstream(i,i+1)=1;
end
dnstream(1,18)=1;
dnstream(2,22)=1;
dnstream(5,25)=1;
dnstream(33,1)=1;
​
Vmax=[1.05*1.05*ones(32,1);1.05*1.05*ones(1,1)];
Vmin=[0.95*0.95*ones(32,1);1.05*1.05*ones(1,1)];
Pgmax=[zeros(32,1);100.*ones(1,1)];
Qgmax=[zeros(32,1);100.*ones(1,1)];
%定义变量
V = sdpvar(nb,8*T);%电压的平方
I = sdpvar(nl,8*T);%电流的平方
P = sdpvar(nl,8*T);%线路有功
Q = sdpvar(nl,8*T);%线路无功
Pg = sdpvar(nb,8*T);%发电机有功
Qg = sdpvar(nb,8*T);%发电机无功
Nev = intvar(7,1);%备选节点充电桩数量
Npv = intvar(8,1);%光伏节点安装数量
%pv = sdpvar(nb,8*T);
qv = sdpvar(nb,8*T);
%sv = sdpvar(nb,8*T);
Ng = intvar(8,1);%燃气轮机安装数量
pg = intvar(nb,8*T);
Constraints = [];
%工作日充电桩情况
s_sumev=zeros(7,T);
[at,~]=size(evjd_w);
for k=1:at
  for i=1:7
   for t=1:T
       if evjd_w(k,4)==i && evjd_w(k,1)==t
        s_sumev(i,t)=s_sumev(i,t)+1;%计算节点充电电动汽车数量
       end
   end
  end
end
%周末充电站情况
s_sumevd=zeros(7,T);
[at,~]=size(evjd_wd);
for k=1:at
  for i=1:7
   for t=1:T
       if evjd_wd(k,4)==i && evjd_wd(k,1)==t
        s_sumevd(i,t)=s_sumevd(i,t)+1;%计算节点充电电动汽车数量
       end
   end
  end
end
hs_sumev=[s_sumev(1,:);zeros(4,T);s_sumev(2,:);zeros(2,T);s_sumev(3,:);zeros(3,T);s_sumev(4,:);zeros(2,T);s_sumev(5,:);zeros(3,T);s_sumev(6,:);zeros(9,T);s_sumev(7,:);zeros(3,T)];%充电切换为每个节点负荷形式
hs_sumevd=[s_sumevd(1,:);zeros(4,T);s_sumevd(2,:);zeros(2,T);s_sumevd(3,:);zeros(3,T);s_sumevd(4,:);zeros(2,T);s_sumevd(5,:);zeros(3,T);s_sumevd(6,:);zeros(9,T);s_sumevd(7,:);zeros(3,T)];%充电切换为每个节点负荷形式
Constraints = [Constraints,repmat(Nev,1,T)>=s_sumevd,repmat(Nev,1,T)>=s_sumev];
pev=1e-5.*repmat([pev.*hs_sumev,pev.*hs_sumevd],1,4);
%调度距离
        %确定调度距离时间参数
        for t=1:T
        disevv(1,t)=sum(evjd_w(evjd_w(:,1)==t,7));
        disevvd(1,t)=sum(evjd_wd(evjd_wd(:,1)==t,7));
        end
        disev2=repmat([disevv disevvd],1,4);%确定调度距离参数值
%光伏处理
unitpv=10*1e-5;%单位光伏容量
pvc=repmat(Npv,1,2*T).*repmat(pv_c,8,2).*unitpv;
pvx=repmat(Npv,1,2*T).*repmat(pv_x,8,2).*unitpv;
pvq=repmat(Npv,1,2*T).*repmat(pv_q,8,2).*unitpv;
pvd=repmat(Npv,1,2*T).*repmat(pv_d,8,2).*unitpv;
pv_h=[pvc,pvx,pvq,pvd];
pv=[zeros(4,8*T);pv_h(1,:);zeros(5,8*T);pv_h(2,:);zeros(2,8*T);pv_h(3,:);zeros(1,8*T);pv_h(4,:);zeros(3,8*T);pv_h(5,:);zeros(2,8*T);pv_h(6,:);zeros(5,8*T);pv_h(7,:);zeros(1,8*T);pv_h(8,:);zeros(2,8*T)];
sv_h=unitpv.*repmat(Npv,1,8*T);
sv=[zeros(4,8*T);sv_h(1,:);zeros(5,8*T);sv_h(2,:);zeros(2,8*T);sv_h(3,:);zeros(1,8*T);sv_h(4,:);zeros(3,8*T);sv_h(5,:);zeros(2,8*T);sv_h(6,:);zeros(5,8*T);sv_h(7,:);zeros(1,8*T);sv_h(8,:);zeros(2,8*T)];
​
% Constraints = [Constraints,pv>=0,pv<=repmat(unitpv.*Npv,1,8*T)];
% Constraints = [Constraints,pv>=0,pv<=repmat(unitpv.*Npv,1,8*T)];
for i=1:nb
    for t=1:T/12
        Constraints = [Constraints,cone([pv(i,t);qv(i,t)],sv(i,t))];
    end
end
%Constraints = [Constraints,qv<=0.3.*pv,qv>=-0.3.*pv];%光伏无功约束
Constraints = [Constraints,Npv>=0,Ng>=0,Ng<=100,Pg>=0];
%微燃机处理
unitg=10*1e-5;
pg_h=repmat(Ng.*unitg,1,8*T);
pg_x=[zeros(2,8*T);pg_h(1,:);zeros(2,8*T);pg_h(2,:);zeros(8,8*T);pg_h(3,:);zeros(1,8*T);pg_h(4,:);zeros(3,8*T);pg_h(5,:);zeros(2,8*T);pg_h(6,:);zeros(3,8*T);pg_h(7,:);zeros(1,8*T);pv_h(8,:);zeros(3,8*T)];
Constraints = [Constraints,pg>=0,pg<=pg_x];
%节点功率约束
Pin = -upstream*P + upstream*(I.*(r*ones(1,8*T))) + dnstream*P;%节点注入有功
Qin = -upstream*Q + upstream*(I.*(x*ones(1,8*T))) + dnstream*Q;%节点注入无功
Constraints = [Constraints, Pin+pload-Pg+pev-pv-pg==0];
Constraints = [Constraints, Qin+qload-Qg-qv==0];
% %欧姆定律约束
  Constraints = [Constraints, V(branch(:,1),:) - V(branch(:,2),:) ==  2*repmat(r,1,8*T).*P + 2*repmat(x,1,8*T).*Q - (repmat((r.^2 + x.^2),1,8*T)).*I];
% %Constraints = [Constraints, V(branch(:,1),:) - V(branch(:,2),:) >=  2*(r).*P + 2*(x).*Q - ((r.^2 + x.^2)).*I];
​
 %二阶锥约束
rd=5;%该值应该为30,但是求解器对二阶锥优化数量有限制,为了求解,设置成5
% Constraints = [Constraints,cone([2*P;2*Q;I-V(branch(:,1),:)],I+V(branch(:,1),:))];
 %Constraints = [Constraints, V(branch(:,1),:).*I >= P.^2+Q.^2];
 %au=sdpvar(1);
for ii = 1:nl
for t=1:T/48
​
     Constraints = [Constraints, cone([2*P(ii,t);2*Q(ii,t);I(ii,t)-V(branch(ii, 1),t)],I(ii,t)+V(branch(ii, 1),t))];
     %Constraints = [Constraints, cone([2*P(ii,t)/V(branch(ii, 1),t);2*Q(ii,t)/V(branch(ii, 1),t);I(ii,t)-au],I(ii,t)+au)];
 end
end
 %Constraints = [Constraints,au==1];
%% 通用约束
%节点电压约束
Constraints = [Constraints, repmat(Vmin,1,8*T) <= V,V <= repmat(Vmax,1,8*T)];
%发电机功率约束
Constraints = [Constraints, -repmat(Pgmax,1,8*T) <= Pg,Pg <= repmat(Pgmax,1,8*T),-repmat(Qgmax,1,8*T) <= Qg,Qg <= repmat(Qgmax,1,8*T)];
%支路电流约束
Constraints = [Constraints, 0 <= I,I <=plmax^2 ];%
​
%% 4.设目标函数
canshu=[25 10 10;1200 750 3250;2 10 325;0 120 0;0 720 0;0 10 0];%表4-1参数
cost_m=0.5;%电动汽车调度费用
cost_ws=0.08;%网损费用
dianjia=0.07;%电价
rpv=d*(1+d)^canshu(1,1)/((1+d)^canshu(1,1)-1);%年化处理辅助变量
rg=d*(1+d)^canshu(1,2)/((1+d)^canshu(1,2)-1);%年化处理辅助变量
rev=d*(1+d)^canshu(1,3)/((1+d)^canshu(1,3)-1);%年化处理辅助变量

三、下载链接

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值