1 简介
在现有的电池技术和充电条件下,快换式充电站成为国内纯电动公交最主要的能量补给摸式。针对电池组充电电费过高和增加配电网峰谷差的问题,以及换电站内快换工位和备用电池空闲的情况,在保证车辆正常运营的前提下,以基金项目:国家 863 高技术基金项目(2011AA05A108);中央高校基本科研业务费专项资金资助(2013YJS084)。The National High Technology Research and Development of China (863 Program) (2011AA05A108);Fundamental Research Funds for the Central Universities (2013YJS084). 充电站内全天充电电费最低为目标,建立了充电变功率工况下基于分时电价的换电站经济运行模型,通过遗传智能优化算法合理安排电池组的开始充电时间,降低充电电费,从而实现换电站的经济运行。分别基于北京北土城充电站和上海世博会充电站的实际数据和统计结果进行算例仿真,验证了算法的有效性。结果表明,该算法不仅能降低充电站充电电费,还能降低充电站白天对配电网的负荷压力,补充夜间负荷,减小配电网的峰谷差,在实现充电站经济运行的同时还有助于配电网的经济运行。通过对国内主要大型纯电动公交快换式充电站的建设和后期运营数据的分析,先前已总结了快换式充电站的设计模型,并提出了快换式充电站核心参数的基本配置方法。同时在实际运营数据分析过程中发现,充电站内电池组的充电过程是和车辆回站的时间相关的,主要集中在白天运营时段,快换工位大部分时间处于空闲状态,电池组充满电而闲置的情况也一直存在,这就使得调节电池组的充电时间成为可能。因此,本文在满足车辆正常运营的前提下,以充电站内全天充电电费最低为目标,通过遗传智能优化算法求解出电池组的开始充电时间,合理安排充电,从而实现充电站的经济运行,该运行方式同时有助于配电网的经济运行。
2 部分代码
clc
clear
%--------------------获取数据-----------------------
PBase=fopen('PBase.txt');
Pbase(1,:)=fscanf(PBase,'%g',[1,inf]); %Pbase 电网基础负荷功率 96个时段
fclose(PBase);
carnum=100; %carnumal 给定接入汽车数量
% carnum0=0.25*carnumal; %carnum0 紧急充电汽车数量
% carnum=carnumal-carnum0; %carnum 常规充电汽车数量
ET=36; %ET 给定汽车电池容量
ptSOC0=normrnd(0.2,0.05,1,carnum); %ptSOC0 服从正态分布的电池状态
pch=[7,1.5]; %pch 恒功率充电
Pmax=2400; %Pmax 给定电网允许最大功率
tin=normrnd(19,1,1,carnum); %tin 各电动汽车接入时间
Te=normrnd(7,0.5,1,carnum); %Te 用户设置充电完成时间
timeT=zeros(1,carnum); %timeT 各电动汽车充电所需时间
ptSOC=ptSOC0;
for i=1:carnum
while ptSOC(1,i)<0.9 %充电功率 SOC<90%
ptSOC(1,i)=ptSOC(1,i)+0.25*pch(1)/ET;
timeT(1,i)=timeT(1,i)+0.25;
end %充电功率 SOC>=90%
timeT(1,i)=timeT(1,i)+(1-ptSOC(1,i))*ET/pch(2);
end
%--------------------无序充电-----------------------
cartime=carT(carnum,tin,timeT); %以汽车接入时间作为充电开始时间
a=sum(cartime,2);
Ptotal=zeros(1,96);
for i=1:96
Ptotal(1,i)=Pbase(i)+pch(1)*a(i);
end
PTotal=fopen('PTotal.txt','wt');
fprintf(PTotal,'%g \n',Ptotal);
fclose(PTotal);
%--------------------紧急充电-----------------------
%
% tsSOC0=normrnd(0.3,0.05,1,carnum0); %tsSOC0 服从正态分布的电池状态
% tin0=24.*rand(1,carnum0); %tin0 特殊电动汽车接入时间随机分布
% tsSOCe=normrnd(0.8,0.05,1,carnum0); %tsSOCe 用户设置期望电池状态
% timeT0=zeros(1,carnum0); %timeT0 恒功率充电时长
% for i=1:carnum0
% timeT0(1,i)=ET*(tsSOCe(i)-tsSOC0(i))/pch(1);
% end
% cartime=carT(carnum0,tin0,timeT0); %以汽车接入时间作为充电开始时间
% a=sum(cartime,2);
% for i=1:96
% Pbase(i)=Pbase(i)+pch(1)*a(i);
% end
%------------------遗传算法优化---------------------
maxgen=1000; %maxgen 终止进化代数
sizepop=50; %sizepop 种群规模
pcross=0.8; %pcross 杂交概率
pmutation=0.05; %pmutation变异概率
bound=[tin;Te-timeT+24]; %bound 约束范围
%种群初始化
ton=zeros(1,carnum); %ton 各电动汽车充电开始时间
carpop=struct('fitness',zeros(1,sizepop),'chrom',[]);
for i=1:sizepop %carpop 初始种群随机赋值
a=rand(1,carnum);
for j=1:carnum
ton(1,j)=bound(1,j)+a(j)*(bound(2,j)-bound(1,j));
end
carpop.chrom(i,:)=ton; %chrom 染色体群,即ton集合
%carpop.fitness(i)=fit1(carnum,ton,timeT,Pbase,pch);
carpop.fitness(i)=fit2(carnum,ton,timeT,Pbase,pch);
end
%找出当前最优解(适应度最小的染色体)
[bestfit,bestindex]=min(carpop.fitness);
bestton=carpop.chrom(bestindex,:); %bestton 最优充电开始时间
avgfit=sum(carpop.fitness)/sizepop; %avgfit 适应度平均值
Ptotal=zeros(1,96); %Ptotal 总负荷功率
cartime=carT(carnum,bestton,timeT);
a=sum(cartime,2);
for i=1:96
Ptotal(1,i)=Pbase(i)+pch(1)*a(i);
end
%--------------------优化结果显示-----------------------
Bestton=fopen('Bestton.txt','wt');
fprintf(Bestton,'%g \n',bestton);
fclose(Bestton);
PT=fopen('PT.txt','wt');
fprintf(PT,'%g \n',Ptotal);
fclose(PT);
figure
plot(y)
xlabel('迭代次数')
ylabel('适应度值')
3 仿真结果
4 参考文献
[1]林英硕, 厚月春, 周昊. 基于遗传算法的电动汽车充放电优化管理问题求解[J]. 2019.
部分理论引用网络文献,若有侵权联系博主删除。