一、粒子群算法电动汽车充电优化

1 电动汽车充电负荷估算
电动汽车的充电负荷主要与电动汽车起始充电时刻和充电时长相关,而起始充电时刻是由电动汽车用户的到家时间决定的,充电时长主要与电动汽车的行驶里程和充电倍率相关。

目前电动汽车还没有大规模运营, 只能通过统计燃油车的相关规律来代替电动汽车。对北京市某小区的私家车用户进行统计,回家时间主要分为三种: 一是正常朝九晚五的上班族,到家时间基本服从N(17.6,1.3)的正态分布, 这类用户占的比重最大;二是加班或者上半夜班的用户,到家时间基本服从N (0.7,1.6)的正态分布;三是少部分后半夜上班的人,到家时间基本服从N (7.8,1.22)的正态分布。三类用户所占的比例分别为0.68、0.24和0.08。

目前大部分私人用电动汽车的常规充电功率约为3 k W,根据以上相关信息,可以通过蒙特卡洛计算机仿真模拟方法,求出包含上述三类用户的居民小区平均每天一辆电动汽车的充电功率需求,如图1所示。

【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】_matlab


图1电动汽车一天平均充电功率需求

根据电动汽车平均一天的充电功率需求曲线,只要设置居民小区的电动汽车用户数量,就可以求出相应规模电动汽车的充电负荷曲线。2 光伏出力曲线和常规用电负荷

固定铺设面积的光伏出力曲线主要与光照强度和温度相关,在实际条件下主要表现为天气变化和季节性变化。通过对某楼顶10 k W光伏发电系统功率输出数据进行统计和处理,可得不同季节该光伏发电系统满发的出力曲线,如图2所示。

【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】_开发语言_02


图2四季光伏满发出力曲线居民小区的负荷曲线主要和小区的用户规模相关,通过对北京市某小区居民楼的实际负荷数据进行统计,可得夏季和冬季每户平均家庭常规用电负荷曲线,如图3所示。

【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】_粒子群_03


图3某小区每户平均家庭常规负荷曲线

2 电动汽车优化充电模型
2.1 目标函数

本文以平抑小区配电网的负荷波动和降低电动汽车用户充电电费为小区电动汽车充电优化的目标函数。以分钟为单位,将一天分为1 440 min。

1)以平抑负荷波动为目标函数
2)以用户电费最少为目标函数
针对上述两个目标,考虑两者目标函数的量纲不同,对每个目标函数进行规范化,采用线性加权和法将多目标优化问题转化为单目标优化问题,

2.2 约束条件
居民小区电动汽车充电优化调度的约束条件主要满足用户使用方面和电网运行的要求。对于用户使用方面的要求主要体现在用户开始充电时间和充电时长;对于电网运行的要求主要体现在总功率不能超过电网节点功率的限制。

1)用户需求约束
本约束条件的要求是要保证电动汽车在用户离开家的时间之前完成充电。

2)电网运行约束
本约束条件的要求是要保证小区在引入电动汽车充电负荷和光伏发电输出的情况下,电网节点的功率要维持在电网的合理安全范围之内。

2.3求解方法
居民小区电动汽车的优化充电问题是一个多维、多变量、多约束条件以及非线性的优化问题,线性规划等经典优化算法难以解决。这里采用粒子群优化算法,考虑到基本粒子群算法容易陷入局部最优的问题,本文将采用改进的自适应变异粒子群优化算法进行求解。

粒子群算法即模拟鸟群的捕食行为,通过鸟群的集体协作达到群体最优值,算法通过式(9) 和式(10)实现粒子位置和速度的更新
式中,ω为惯性权重,一般在0.1 ~0.9之间取值; d=1,2,…,D;i=1,2,…,n;k为当前迭代次数;Vid为粒子的速度;Xid为粒子的位置;c1和c2为非负的常数,称为加速度因子;r1和r2为0~1区间的随机数。

粒子群优化算法存在早熟收敛现象,需要对惯性权重和学习因子进行改进。对于惯性权重ω, 若ω在0.5~1之间随机取值,则实验表明该算法比线性递减策略准确度更高,收敛速度更快
对于学习因子c1和c2采用非线性反余弦加速, c1先大后小,而c2先小后大,能解决陷入局部最优的问题。基本思想是搜索初期粒子飞行主要参考本身的历史信息c1,到了后期则更加注重群体信息c2,即
根据上述分析,得到相应的优化算法的求解过程如下:

1)初始化粒子群中粒子的位置与速度,并根据约束条件对粒子位置进行修正。

2)计算粒子的适应度值(目标函数值)。

3)将个体最优值设置为当前位置,群体最优值gbest设置为初始群体中最佳粒子的位置。

4)再根据式(9)和式(10)更新粒子速度和相应位置。

5)计算粒子群粒子的适应度,更新并记录粒子最优位置和群体最优位置。

6)根据式(14)式(16)计算群体适应度方差σ2。

7)根据式(17)计算变异概率pm。

8)产生在0~1的随机数,如果该数小于变异概率pm,则执行式(18)的变异操作,并进行相应修正。

9)判断是否达到结束条件,如果为真,则停止计算,并输出优化的解;如果为假,返回步骤4)。

二、部分源代码

function[info,fv] = PSO2(N,c1,c2,w,M,knownEV_info,k,n,timeInterval,load_grid)
% info EVs with the start times which give the smallest fitness value
% fv the smallest fitness value% c1,c2 learning factor
% w inertia weight
% M maximum number of iterations
% D number of vehicles needed to be arranged %need to be changed to vinfo
% N number of particles
% k kth interval to be arranged% EVs with manageable start time
aEV = knownEV_info(find(knownEV_info(:,5) >= (k-1)*timeInterval)😅;
%
bEV = knownEV_info(find(knownEV_info(:,5) < (k-1)*timeInterval)😅;% initalize particles
for i = 1:N
for j=1:length(aEV(:,5))
x(i,j) = aEV(j,2) + (aEV(j,4) - aEV(j,3)- aEV(j,2))rand;
% x(i,j) = 0;
% while (x(i,j) < (k-1)15) || (x(i,j) > (aEV(j,4) - aEV(j,3)))
% x(i,j) = randn1260; % initialize the start time of vehicles
% end
v(i,j) = randn; % initialize the speed
end
end% calculate the fitness and initialize particle optimal and global optimal
for i=1:N
aEV(:,5) = x(i,:)’;
vehicle_info = sortrows([aEV;bEV],1);
p(i) = fitness(vehicle_info,n,load_grid);
y(i,:) = x(i,:);
end
% find the global optimal
pg = x(N,:);
vg = p(N);
for i=1:(N-1)
if(p(i)<vg)
pg = x(i,:);
vg = p(i);
end
end% main iteration
for t=1:M
for i=1:N % update the speed and the start time
v(i,:)=wv(i,:)+c1rand*(y(i,:)-x(i,:))+c2rand(pg-x(i,:)); for j=1:length(aEV(:,5))
if ((x(i,j)+v(i,j)) >= aEV(j,2)) && ((x(i,j)+v(i,j)) <= (aEV(j,4) - aEV(j,3)))
x(i,j) = x(i,j)+v(i,j);
end
end

aEV(:,5) = x(i,:)';
vehicle_info = sortrows([aEV;bEV],1);
if fitness(vehicle_info,n,load_grid) < p(i)
p(i)=fitness(vehicle_info,n,load_grid);
y(i,:) = x(i,:);
end
if p(i) < vg
pg = y(i,:);
vg = p(i);
end
end
Pbest(t) = vg;end
% result
aEV(:,5) = pg’;
info = sortrows([aEV;bEV],1);
fv = vg;

三、运行结果

【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】_matlab_04


【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】_matlab_05


【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】_约束条件_06


【优化充电】基于matlab粒子群算法电动汽车充电动态优化策略【含Matlab源码 2163期】_粒子群_07

四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]庞松岭,张超,张帝,刘汉炜,严乙桉.基于自适应变异粒子群算法的居民小区电动汽车优化充电策略[J].电气应用. 2015,34(20)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除