电动汽车充电负荷预测!基于动态交通信息的电动汽车充电负荷时空分布预测程序代码!

前言

随着世界能源产业结构的调整和人们对环境问题的不断重视,促进了新能源汽车的发展与应用。而电动汽车(Electric Vehicle, EV)可以有效降低化石燃料的依赖和温室气体排放,满足未来能源需求以及电网系统与交通系统可持续发展的要求。然而,随着电动汽车逐步推广和使用,高渗透率给电网的规划和运行以及交通系统带来了一定影响。因此,应采取有效方法对电动汽车充电负荷时空分布进行预测和分析。

EV充电负荷模型建立

电动汽车作为交通工具和移动负荷的载体,其出行分布和路径规划会受到交通信息的影响,而充电需求和充电策略会影响电网经济性与安全运行,因此建立下图所示的路网-配电网-车网交互模型分析EV充电负荷的时空分布。

动态交通路网模型

交通路网模型采用图论分析方法进行建模,下图为交通路网拓扑结构图。

其中双向箭头表示双行道,单向箭头表示单行道。进一步地,路段权值表示道路出行代价,可采用路段长度、通行速度、行程时间以及出行费用等权值进行量化研究。针对城市内部路网时变动态以及多交叉路口特点,本程序引入时间-流量模型进行建模分析。电动汽车充电负荷分布研究主要针对城市内部道路。而在城市路网中,路口交叉节点多设置信号灯进行管控,车辆行驶既受到路段阻抗影响,又在交叉节点产生时间延误。依据城市交通状况划分标准,饱和度S评价指标:畅通(0<S<0.6)、缓行(0.6<S<0.8)、拥挤(0.8<S<1.0)以及严重拥堵(1.0<S<2.0)。道路交叉口和路段通行能力不同,可以得到不同饱和度对应的路段阻抗和节点阻抗模型。

单体EV移动模型

根据我国电动汽车类型以及不同功能电动汽车的出行特点,将电动汽车分为如下3类。

1)通勤私家车:该类型车辆出行起讫点主要为居住地和工作地,行驶路线相对固定,充电时间长且充电地点相对固定。

2)出租车:该类型车辆出行起讫点随机性较大,出行次数较多、行驶路线不固定,充电时间短且充电地点不固定。

3)其他公用车:该类型车辆主要包括公务私家车、商务车以及功能用车(物流车和环卫车)等。其出行起讫点不固定、出行次数较多,充电时长和充电地点不固定。

由于公交车具有特定的行驶路线和专用充电位置,充电方式和换电方式相结合,纯电动公交车的充电特性受到交通影响较小,因此不作为分类研究对象。

充电负荷时空分布预测方法

在建立各个模型后,下图给出了充电负荷时空分布预测具体流程。

由上图可知,充电负荷时空分布预测流程如下。

1)首先按一定比例在各交通节点引入不同类型电动汽车数量;

2)通过蒙特卡洛模拟为各EV随机抽样生成相应的行驶特性参数和充电特性参数;

3)EV用户按照行程时间最小为目标,采用实时Dijkstra算法规划的路径进行行驶,并实时更新特性参数;

4)通过用电区域功能类型划分,对该区域充电的EV功率进行累加计算得到区域配网节点负荷,完成整体充电负荷时空预测。

程序介绍

本文从EV动态行为特性出发,考虑路网交通对电动汽车出行影响,建立一种基于动态交通信息的电动汽车充电负荷时空预测模型。首先分别建立考虑路段阻抗和节点阻抗的动态交通路网模型、配电网模型以及单体EV移动模型。其次针对电动汽车的行驶特性和充电特性,引入OD矩阵分析方法以及实时Dijkstra算法为电动汽车分配起止节点和规划行驶路径。最后,通过路径规划实验和算例分析,验证所提预测方法的实施效果。程序中算例丰富,注释清晰,干货满满,创新性和可扩展性很高,足以撑起一篇高水平论文!下面对程序做简要介绍!

程序适用平台:Matlab+Yalmip+Cplex/Gurobi

参考文献:《基于动态交通信息的电动汽车充电负荷时空分布预测》-电力系统保护与控制

程序结果

部分程序

%% MC
for icar=1:size(Mcar,1)  %EV的编号,从1-1000,共1000台EV,size(Mcar,1)=1000,一个for icar=1:size(Mcar,1) 循环代表把第一台EV的
%目的地Destination、初始时刻tBirth1、返程时刻tBirth2、ev容量Cbat、初始soc SOC0、速度Vcar)全部采集一遍
%1-9个特征变量(车辆编号icar、EV种类Icar_kind、EV初始位置Birthland、
%目的地Destination、初始时刻tBirth1、返程时刻tBirth2、ev容量Cbat、初始soc SOC0、速度Vcar)全部采集一遍
Icar_kind=Mcar(icar,2);%EV种类;%size(Mcar,2)=1000
Birthland=Mcar(icar,3);%EV初始位置Destination=Mcar(icar,4);%目的地
tBirth1=Mcar(icar,5);%初始时刻tBirth2=Mcar(icar,6);%返程时刻
Cbat=Mcar(icar,7);%ev容量SOC0=Mcar(icar,8);%初始soc
Vcar=Mcar(icar,9);%速度%考虑环境温度和速度 耗电量
dE=1.5*distance/Vcar+(0.21-1e-3*Vcar+1.531/Vcar)*distance;  %由最短行驶距离distance,电动汽车行驶实时车速Vcar=Mcar(icar,9),计算出EV初始位置到目的地的耗电量                                    %如果充电到0.8EV容量时间<到达第二个目的地的时间
Charge(icar,2)=1;    %Icar_kind=Mcar(icar,2);EV种类;所以Charge(icar,2)赋值为私家车Icar_kind==1
Charge(icar,3)=floor(tdest1); %EV初始位置Mcar(icar,3)赋值为向下取整tdest1,即32个交通节点中的一个
Charge(icar,4)=ceil(T80);    %目的地Mcar(icar,4)赋值为向上取整T80,即32个交通节点中的一个
Charge(icar,5)=ceil(Pchar_slow);  %初始时刻Mcar(icar,5)赋值为向上取整Pchar_slow
Pntcharge(Charge(icar,3):Charge(icar,4),Destination)=Pntcharge(Charge(icar,3):Charge(icar,4),Destination)+Charge(icar,5);%列表切片,Pntcharge(Charge(icar,3):Charge(icar,4),Destination)即为取Charge(icar,3):Charge(icar,4)所在行与Destination所在列的交叉元素
Charge(icar,2)=1; %Icar_kind=Mcar(icar,2);EV种类;所以Charge(icar,2)赋值为私家车Icar_kind==1
Charge(icar,3)=floor(tdest1); %EV初始位置Mcar(icar,3)赋值为向下取整tdest1
Charge(icar,4)=ceil(tBirth2); %目的地Mcar(icar,4)赋值为向上取整tBirth2,因为此时T80>tBirth2成立
Charge(icar,5)=ceil(Pchar_slow); %初始时刻Mcar(icar,5)赋值为向上取整Pchar_slow
Pntcharge(Charge(icar,3):Charge(icar,4),Destination)=Pntcharge(Charge(icar,3):Charge(icar,4),Destination)+Charge(icar,5);%列表切片,Pntcharge(Charge(icar,3):Charge(icar,4),Destination)即为取Charge(icar,3):Charge(icar,4)所在行与Destination所在列的交叉元素

部分内容源自网络,侵权联系删除!

欢迎感兴趣的小伙伴关注并私信获取完整版代码,小编会不定期更新高质量的学习资料、文章和程序代码,为您的科研加油助力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值