基于多时间尺度的电动汽车光伏充电站联合分层优化调度(Matlab代码实现)

   💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

 ⛳️赠与读者

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码实现


 ⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

     或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

文献来源:

摘 要: 为满足日前调度的全局统筹性和实时调度的精准性要求,提出一种基于多时间尺度的

电动汽车光伏充电站联合分层优化调度方法。在日前阶段,上层总调度中心根据预测数据,以

平抑配电网负荷波动和总购电成本最小为目标,对多个光伏充电站次日的购电功率进行全局联

合优化; 在日内阶段,各光伏充电站结合实时数据,根据总调度中心下达的指导购电功率曲线对

接入的电动汽车按其优先级进行实时充电功率分配。仿真结果表明,所提出的多时间尺度联合

分层优化调度方法在满足每辆电动汽车充电需求的前提下,能够消纳更多光伏出力,降低购电

成本,并缩小电网峰谷差,同时兼顾全局统筹和实时性要求。

基于多时间尺度的电动汽车光伏充电站联合分层优化调度架构如图 1 所示。在物理架构上,配电网经由 AC-DC 变换器向各光伏充电站供电,光伏发电系统经 DC-DC 变换器接入光伏充电站直流母线,光伏充电站经由 DC-DC 变换器向各充电桩供电。在调度架构上,上层的总调度中心在日前收集配电网的预测基础负荷数据和分时电价,并接收所辖各光伏充电站上传的预测充电负荷和光伏发电出力,以平抑配电网负荷波动和所有光伏充电站总购电成本最小为目标,对所辖各光伏充电站次日的购电功率进行全局联合优化,并下发优化后各站的指导购电功率曲线,作为各光伏充电站次日实时调度的指导基准。下层的各光伏充电站在日前接收总调度中心下达的指导购电功率曲线,在日内每个实时调度时段开始时,统计当前站内总充电需求和光伏发电功率,在保证每辆电动汽车的充电需求得到满足的前提下,以日前指导购电功率为基准,按照每辆电动汽车的充电优先级对其进行充电功率分配。

📚2 运行结果

部分代码:

%求各充电站的最大和最小购电功率
%% 站1:90辆
a=normrnd(9,0.5,1,18); %占0.2
b=normrnd(19,1.5,1,72); %占0.8
tp1=[a,b]; 
for i=1:90
    if tp1(i)<8
        tp1(i)=8;%待用数据1:接入时间
    end
end 
c=a+8;
d=zeros(1,72)+32;
tl1=[c,d]; %待用数据2:离开时间
psoc=normrnd(0.6,0.1,1,90);%初始荷电状态
Ec1=(1-psoc).*60; %待用数据3:待充电量

Hs1=zeros(1,90);%起始充电时段(每辆EV停放时间所跨越的时段)
Hf1=zeros(1,90);%充电结束时段
for N=1:90
    for i=1:96
        if (tp1(N)>(8+0.25*i))&&(tp1(N)<=(8+0.25*(i+1)))
            Hs1(N)=i+1;
        end
        if (tl1(N)>=(8+0.25*i))&&(tp1(N)<(8+0.25*(i+1)))
            Hf1(N)=i;
        end
    end
end
Emin11=zeros(90,96);%充电电量的最小值,不是EV荷电量值
Emax11=zeros(90,96);
for N=1:90
    i=1;
    if (i>Hs1(N))&&(i<=Hf1(N))
        Emax11(N,i)=min((0+10*0.25),Ec1(N));%最大充电功率10kW,第N辆车第8+0.25i时刻所需累计充电量
    end
    for i=2:96
        if i>Hs1(N)
            Emax11(N,i)=min((Emax11(N,(i-1))+10*0.25),Ec1(N));%最大充电功率10kW,第N辆车第8+0.25i时刻所累计充电量
        end
    end
end
for N=1:90
    for i=96:-1:1
        if i>=Hf1(N)
           Emin11(N,i)=Ec1(N);
        elseif (i>Hs1(N))&&(i<Hf1(N))
           Emin11(N,i)=max((Emin11(N,(i+1))-10*0.25),0);%最大充电功率10kW
        end
    end
end
Emin1=sum(Emin11,1);%站一96个时段最小累计充电电量
Emax1=sum(Emax11,1);%站一96个时段最大累计充电电量
%求站1电动汽车每时段最大负荷功率Pmax,每辆车最大充电功率为10kW
Ps=zeros(9600,1);%过度变量
for N=1:90
    for i=0:9599
        if (tp1(N)>=(8+0.0025*i))&&(tp1(N)<(8+0.0025*(i+1)))
            Ps(i+1,1)=Ps(i+1,1)+10;
        end
        if (tp1(N)<(8+0.0025*i))&&(tl1(N)>=(8+0.0025*i))
            Ps(i+1,1)=Ps(i+1,1)+10;
        end
        if tl1(N)<(8+0.0025*i)
            continue
        end
    end
end
Pmax1=zeros(96,1);%站1电动汽车每时段最大负荷功率Pmax
for i=1:96
    for k=1:100
    Pmax1(i,1)=Pmax1(i,1)+Ps(((i-1)*100+k),1);
    end
    Pmax1(i,1)= Pmax1(i,1)./100; 
end
Pgmax1=max((Pmax1-Ppv1),0); %待用数据5:站1每时段最大购电功率


%% 站2:120辆
%起始充电时间
a=normrnd(9,0.5,1,24); %占0.2
b=normrnd(19,1.5,1,96); %占0.8
tp2=[a,b]; %待用数据1:接入时间
c=a+8;
d=zeros(1,96)+32;
tl2=[c,d]; %待用数据2:离开时间
%初始荷电状态
psoc=normrnd(0.6,0.1,1,120);
Ec2=(1-psoc).*60; %待用数据3:待充电量

for i=1:120
    if tp2(i)<8
        tp2(i)=8;
    end
end 
Hs2=zeros(1,120);
Hf2=zeros(1,120);
for N=1:120
    for i=1:96
        if (tp2(N)>(8+0.25*i))&&(tp2(N)<=(8+0.25*(i+1)))
            Hs2(N)=i+1;
        end
        if (tl2(N)>=(8+0.25*i))&&(tp2(N)<(8+0.25*(i+1)))
            Hf2(N)=i;
        end
    end
end
Emin22=zeros(120,96);%充电电量的最小值,不是EV荷电量值
Emax22=zeros(120,96);
for N=1:120
    i=1;
    if (i>Hs2(N))&&(i<=Hf2(N))
        Emax22(N,i)=min((0+10*0.25),Ec2(N));%最大充电功率10kW,第N辆车第8+0.25i时刻所需累计充电量
    end
    for i=2:96
        if i>Hs2(N)
            Emax22(N,i)=min((Emax22(N,(i-1))+10*0.25),Ec2(N));%最大充电功率10kW,第N辆车第8+0.25i时刻所需累计充电量
        end
    end
end
for N=1:120
    for i=96:-1:1
        if i>=Hf2(N)
           Emin22(N,i)=Ec2(N);
        elseif (i>Hs2(N))&&(i<Hf2(N))
           Emin22(N,i)=max((Emin22(N,(i+1))-10*0.25),0);%最大充电功率10kW
        end
    end
end
Emin2=sum(Emin22,1);
Emax2=sum(Emax22,1);
%求站2电动汽车每时段最大负荷功率Pmax,每辆车最大充电功率为10kW
Ps=zeros(9600,1);%过度变量
for N=1:120
    for i=0:9599
        if (tp2(N)>=(8+0.0025*i))&&(tp2(N)<(8+0.0025*(i+1)))
            Ps(i+1,1)=Ps(i+1,1)+10;
        end
        if (tp2(N)<(8+0.0025*i))&&(tl2(N)>=(8+0.0025*i))
            Ps(i+1,1)=Ps(i+1,1)+10;
        end
        if tl2(N)<(8+0.0025*i)
            continue
        end
    end
end
Pmax2=zeros(96,1);%站2电动汽车每时段最大负荷功率Pmax
for i=1:96
    for k=1:100
    Pmax2(i,1)=Pmax2(i,1)+Ps(((i-1)*100+k),1);
    end
    Pmax2(i,1)= Pmax2(i,1)./100; 
end
Pgmax2=Pmax2-Ppv2; %待用数据5:站1每时段最大购电功率
for i=1:96
    Pgmax2(i,Pgmax2(i,:)<0)=0;
end

%% 站3:84辆
%起始充电时间
a=normrnd(9,0.5,1,17); %占0.2
b=normrnd(19,1.5,1,67); %占0.8
tp3=[a,b]; %待用数据1:接入时间
c=a+8;
d=zeros(1,67)+32;
tl3=[c,d]; %待用数据2:离开时间
%初始荷电状态
psoc=normrnd(0.6,0.1,1,84);
Ec3=(1-psoc).*60; %待用数据3:待充电量

for i=1:84
    if tp3(i)<8
        tp3(i)=8;
    end
end 
Hs3=zeros(1,84);
Hf3=zeros(1,84);
for N=1:84
    for i=1:96
        if (tp3(N)>(8+0.25*i))&&(tp3(N)<=(8+0.25*(i+1)))
            Hs3(N)=i+1;
        end
        if (tl3(N)>=(8+0.25*i))&&(tp3(N)<(8+0.25*(i+1)))
            Hf3(N)=i;
        end
    end
end
Emin33=zeros(84,96);%充电电量的最小值,不是EV荷电量值
Emax33=zeros(84,96);
for N=1:84
    i=1;
    if (i>Hs3(N))&&(i<=Hf3(N))
        Emax33(N,i)=min((0+10*0.25),Ec3(N));%最大充电功率10kW,第N辆车第8+0.25i时刻所需累计充电量
    end
    for i=2:96
        if i>Hs3(N)
            Emax33(N,i)=min((Emax33(N,(i-1))+10*0.25),Ec3(N));%最大充电功率10kW,第N辆车第8+0.25i时刻所需累计充电量
        end
    end
end
for N=1:84
    for i=96:-1:1
        if i>=Hf3(N)
           Emin33(N,i)=Ec3(N);
        elseif (i>Hs3(N))&&(i<Hf3(N))
           Emin33(N,i)=max((Emin33(N,(i+1))-10*0.25),0);%最大充电功率10kW
        end
    end
end
Emin3=sum(Emin33,1);
Emax3=sum(Emax33,1);
%求站3电动汽车每时段最大负荷功率Pmax,每辆车最大充电功率为10kW
Ps=zeros(9600,1);%过度变量
for N=1:84
    for i=0:9599
        if (tp3(N)>=(8+0.0025*i))&&(tp3(N)<(8+0.0025*(i+1)))
            Ps(i+1,1)=Ps(i+1,1)+10;
        end
        if (tp3(N)<(8+0.0025*i))&&(tl3(N)>=(8+0.0025*i))
            Ps(i+1,1)=Ps(i+1,1)+10;
        end
        if tl3(N)<(8+0.0025*i)
            continue
        end
    end
end
Pmax3=zeros(96,1);%站3电动汽车每时段最大负荷功率Pmax

🎉3 参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

🌈4 Matlab代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

                                                           在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值