www.gusucode.com > 最优选址的程序 > matlab程序/VorCostCDEV.m
function [Fcost,CCS,fcs,ucs,NchI,Ep,CVT,CVTI,CDL,CDLI]=VorCostCDEV(x,y,b,bcs,BL) %% 说明:计算微电网电源规划目标函数,即适应值 %输入 %x,y为电源坐标;为外界交互变换参数。x和y保证是列矩阵。 %b为充电需求点坐标和充电需求,第1,2列为横坐标和纵坐标,第3列为充电需求,为固定参数; %bcs为配送区域的集中充电站坐标,第1,2列为横、纵坐标。 %BL为图坐标与实际坐标的比例,为固定参数。 %输出 %Fcost为年社会成本 %CCS为建设运行成本 %fcs为固定建设成本 %ucs为运行管理成本,取fcs的0.1 %NchI为各充电站规模,即充电机数量 %Ep为个充电站服务的快充车辆数,即充电需求 %CVT为用户充电途中耗时成本 %CVTI为各充电站的用户充电途中耗时成本 %CDL为电池年配送成本 %CDLI为各更换站电池配送成本 w=100*1e4; q=70*1e4; e=1.5*1e4; beta=25; lmd=1.2; v=25; Nchmax=12; Nchmin=4; ns=4; dmax=1200; Dmin=500; rr=0.08; ms=20; Rz=(rr*(1+rr).^ms)./((1+rr).^ms-1); mui=0.6; dr=1; m=1.5; Ep=[]; vv=VoronoiArea([x,y],3); bax=b; 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)); bax(in,4)=k; end for i=1:length(x) gb=bax(bax(:,4)==i,:); Ep=[Ep;[sum(gb(:,3)),i]]; dtI=sqrt(((gb(:,1))-x(i)).^2+((gb(:,2))-y(i)).^2).*BL; if all((lmd.*dtI>dmax)==0)==0 dp=1e5; else dp=0; end CVTI(i,:)=(1+dp).*365.*beta.*(sum(gb(:,3).*lmd.*dtI)./(v*1e3)); end CVT=sum(CVTI); NchI=round(mui.*Ep(:,1)./ns); fcs=w+q.*NchI+e.*NchI.^2; Np=1e3; NchIdex=find(NchI<Nchmin |NchI>Nchmax); Dij=dist([x';y']).*BL; [Da,Db]=find((lmd.*triu(Dij)>=Dmin)~=triu(ones(size(Dij)),1)); ULI=unique([Da;Db;NchIdex]); fcs(ULI)=Np.*fcs(ULI); ucs=0.1.*fcs; CCS=sum(fcs.*Rz+ucs); BcsX=bcs(:,1).*ones(length(x),1); BcsY=bcs(:,2).*ones(length(x),1); rij=sqrt((BcsX-x).^2+(BcsY-y).^2).*BL./1e3; CDLI=365.*dr.*m.*Ep(:,1).*lmd.*rij; CDL=sum(CDLI); Fcost=CCS+CVT+CDL;