1 简介

在深化供给侧结构性改革、产业向绿色低碳转型的背景下,以电动汽车为主要发展方向的新能源汽车产业,成为我国重点支持的战略性新兴产业。充电桩作为新能源汽车必要的基础配套设备,其充电便利程度是推动新能源汽车持续发展的关键,直接制约新能源汽车的普及。目前,我国新能源汽车充电桩的保有量已渐具规模,但是由于充电桩分布不合理导致使用率低的问题亟待解决。此情况下,本文通过研究如何合理优化公共充电桩的布局,以解决影响新能源汽车市场持续发展的难题。本文基于新能源汽车公共充电桩的发展背景,以促进新能源汽车的充电设施建设为导向,前期通过文献法和专家访谈法研究国内外新能源汽车充电设施的发展情况和相关影响因素,以及进行新能源汽车用户关于使用公共充电桩的满意度调查;然后从实际的新能源汽车用车场景出发,兼顾充电桩运营商和新能源汽车用户双方的利益,考虑了建设成本、运营维护成本、网损成本、用户消费成本、用户的损耗成本以及土地使用成本等要素,构建了社会总成本最小的目标规划模型,运用粒子群优化算法进行求解,再以广州市新能源汽车公共充电桩的布局优化进行实例分析,获得最优布局方案,并提出管理建议。通过研究优化充电桩布局的方案,一方面论证所构建模型体系理论的可靠性、合理性,另一方面研究成果为新能源汽车行业的决策提供参考,助力新能源汽车的充电设施建设,从而推动新能源汽车产业的发展,使研究兼备理论价值和实践意义。

【优化布局】基于粒子群算法求解充电桩布局matlab源码_粒子群算法

【优化布局】基于粒子群算法求解充电桩布局matlab源码_粒子群算法_02

2 部分代码

clear all; clc; close all
%% 基础数据
%充电需求点坐标
b =1.0e+003.*[0.1092    0.1348
0.1197    0.2399
0.2578    0.1724
0.4259    0.1739
0.1257    0.3420
0.2803    0.3375
0.4439    0.3360
0.5505    0.1108
0.5610    0.2024
0.5700    0.3075
0.1332    0.4591
0.3013    0.4455
0.4559    0.4380
0.5850    0.4260
0.1452    0.6092
0.3163    0.5341
0.4739    0.5341
0.5880    0.5341
0.3193    0.6407
0.4784    0.6452
0.6015    0.6467
0.6736    0.1574
0.8657    0.1649
1.0308    0.1634
0.6781    0.2924
0.8327    0.2909
1.0188    0.2939
0.6811    0.4425
0.8192    0.4576
1.0083    0.4546
0.6691    0.5431
0.6976    0.6392
0.8191    0.6377
1.0098    0.6347];
%充电需求点常规电力负荷点负荷b(:,3)(kW)
b(:,3)=[2480;2480;8680;11400;890;2340;4160;560;1670;5010;2670;8280;7400;1430;7500;4840;3400;4290;3840;3680;2560;7000;14800;8960;3160;7000;5000;2280;10360;10000;760;6000;7040;5600];
%集中充电站坐标
bcs=[ 937.7296  379.5010
310.3141  238.4076];
na=4500;
alp=0.1;
b(:,4)=round(alp.*b(:,3)./sum(b(:,3)).*na);
b(23,4)=37;
ns=4;
mui=0.6;
Nchz=round(mui.*sum(b(:,4))./ns);
bm=1.0e+003*[0.0086,0.0088;1.1734,0.0088;1.1734,0.7412;0.0086,0.7412;0.0086,0.0088];
BL=sqrt(8.2*1.0e6./((max(bm(:,1))-min(bm(:,1)))*(max(bm(:,2))-min(bm(:,2)))));
Area2=1.0e+003 *[0.0086    0.0088
0.9377   -1.0860
0.3103    1.7040
0.0086    0.7412
0.0086    0.0088];
Area2=[Area2,2.*ones(size(Area2,1),1)];
Area1=1.0e+003 *[0.9377   -1.0860
1.1734    0.0088
1.1734    0.7412
0.3103    1.7040
0.9377   -1.0860];
Area1=[Area1,1.*ones(size(Area2,1),1)];
vv=[Area1;Area2];
for k=1:size(bcs,1)
Ai=find(vv(:,3)==k);
xx=vv(Ai,1);
yy=vv(Ai,2);
kk=convhull(xx,yy);
in=inpolygon(b(:,1),b(:,2),xx(kk),yy(kk));
b(in,5)=k;
end
Ep=[];
for i=1:size(bcs,1)
gb=b(b(:,5)==i,:);
Ep=[Ep;[sum(gb(:,4)),round(mui.*sum(gb(:,4))./ns),i]];
end
Tn=7;
PopSize=20;
MaxIter=300;
c1s=2.5;   c2s=0.5;
c1e=0.5;   c2e=2.5;
w_start=0.9;
w_end=0.4;
Iter=1;
xmax=max(Area1(:,1)); xmin=min(Area1(:,1));
ymax=max(Area1(:,2)); ymin=min(Area1(:,2));
x = xmin + (xmax-xmin).*rand(Tn,PopSize);
y = ymin + (ymax-ymin).*rand(Tn,PopSize);
X=[x;y];
V=rand(Tn*2,PopSize);
Vmax=0.1*max((xmax-xmin),(ymax-ymin));
inAr1=find(b(:,5)==1);
bb=[b(inAr1,1:2),b(inAr1,4)];
for pk=1:1:PopSize
[FX(pk),~,~,~,~,~,~,~,~,~]=VorCostCDEV(X(1:Tn,pk),X(Tn+1:end,pk),bb,bcs(1,:),BL);
end
Fm'
x =Best(1:Tn);
y =Best(Tn+1:end);
[Fcost,CCS,fcs,ucs,NchI,Epc,CVT,CVTI,CDL,CDLI]=VorCostCDEV(x,y,bb,bcs(1,:),BL)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% 作图
figure(1)
a=imread('T3.bmp');
imshow(a);
hold on
[vxT,vyT]=VoronoiT(bcs(:,1),bcs(:,2),0);
plot(bcs(:,1),bcs(:,2),'ks','linewidth',12);
plot(vxT,vyT,'k-','linewidth',3);
plot(b(:,1),b(:,2),'k*','linewidth',5)
plot(bm(:,1),bm(:,2),'k-','linewidth',3)
for k=1:length(b(:,4))
str=num2str(b(k,4));
text(b(k,1)-15,b(k,2)+25,str,'FontSize',23,'color','black');
end
for k=1:size(bcs,1)
str=num2str(k);
text(bcs(k,1)+20,bcs(k,2),str,'FontSize',20,'color','red');
end
axis equal
[vx,vy]=voronoi(x,y);
plot(x,y,'b^',vx,vy,'b-','linewidth',3);
for k=1:length(x)
str=num2str(k);
text(x(k),y(k),str,'FontSize',20,'color','red');
end
axis equal
vv=VoronoiArea([x,y],3);
bax=b(:,1:2);
for k=1:length(x)
Ai=find(vv(:,3)==k);
xx=vv(Ai,1);
yy=vv(Ai,2);
kk=convhull(xx,yy);
in=inpolygon(bax(:,1),bax(:,2),xx(kk),yy(kk));
str=num2str(k);
text(bax(in,1),bax(in,2),str,'FontSize',18,'color','blue');
end
axis([min(bm(:,1))-3 max(bm(:,1))+3 min(bm(:,2))-3 max(bm(:,2))+3])
img =gcf;  %获取当前画图的句柄
print(img, '-dpng', '-r600', './img2.png')         %即可得到对应格式和期望dpi的图像
figure(2)
Iter_t=1:1:MaxIter+1;
plot(Iter_t,Fm,'.-')
img =gcf;  %获取当前画图的句柄
print(img, '-dpng', '-r600', './img.png')         %即可得到对应格式和期望dpi的图像

3 仿真结果

【优化布局】基于粒子群算法求解充电桩布局matlab源码_粒子群算法_03

【优化布局】基于粒子群算法求解充电桩布局matlab源码_粒子群算法_04


4 参考文献

[1]何舒. 新能源汽车公共充电桩的布局优化研究. (Doctoral dissertation, 华南理工大学).

【优化布局】基于粒子群算法求解充电桩布局matlab源码_粒子群算法_05