优化充电基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对比图及充电计划)含Matlab源码 2300期

Posted 海神之光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优化充电基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对比图及充电计划)含Matlab源码 2300期相关的知识,希望对你有一定的参考价值。

⛄一、遗传算法求解电动汽车充电统一管理简介

0 引言
电动汽车是一个发展迅速的新兴产业, 它的优势在于性能良好、节能、环保, 近几年受到了科学研究人员和各国政府的广泛关注。但是, 伴随着电动汽车产生的相关问题是充电问题, 电动汽车与家庭电网所需求的基准不同。因此, 需要电网的运行与规划对其进行有效的支持。在进行电动汽车充电的过程中, 需要考虑到大规模的充电对电网的冲击, 因此对电动汽车排队充电策略的研究很有意义。而且, 当家庭长时间使用电动汽车时, 电费也是家庭汽车的一个主要负担, 因此如何有效地降低充电花费, 是本文主要解决的问题。遗传算法在解决离散型的单目标优化问题时有着很强的鲁棒性, 而且求解方便快捷, 因此, 本文利用遗传算法对电动汽车排队充电策略进行研究。

1 建立电动汽车排队充电的数学模型
电动汽车的排队充电是指:存在特定数量的充电桩、特定数量的汽车, 汽车需要在某种情况下选择充电的充电时间。电动汽车排队的约束条件如下: (1) 充电桩的个数固定; (2) 任一充电桩同一时刻只能给一个电动汽车进行充电; (3) 任一电动汽车同一时刻只能在一个充电桩上进行充电; (4) 电动汽车充电的优先级为排队的序列; (5) 电价根据充电开始时的电价为准。

2 算法的流程
利用遗传算法求解电动汽车排队充电问题, 需要对问题进行描述, 然后利用遗传算法对其进行求解。首先对种群进行初始化, 然后进行适应度计算, 接着进行选择、交叉、变异操作, 接着判断是否满足终止条件, 如果不满足, 则继续进行循环, 如果满足条件, 则循环终止, 获得最优解。

3 适应度函数
遗传算法中的适应度函数是对种群中各个个体进行优劣判别的一种具体形式, 通过适应度计算可以获得种群中各个个体的适应度。计算公式如下式所示:

其中:EC是指用电量, Pi为充电桩i的充电功率, tc是指充电时间, td是指等待时间, Cost是指充电消费金额, c1和c2是指适应度系数, Fit是指适应度。

⛄二、部分源代码

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(‘d:\\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

⛄三、运行结果

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]周甘华,王书,吴功臣,陈晨,沈志顺.基于遗传算法的电动汽车排队充电策略研究[J].内燃机与配件. 2018,(01)

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

以上是关于优化充电基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对比图及充电计划)含Matlab源码 2300期的主要内容,如果未能解决你的问题,请参考以下文章

优化求解基于matlab遗传算法求解电动汽车充电管理优化问题含Matlab源码 1178期

优化求解基于遗传算法实现电动汽车有序充电matlab源码

优化求解基于遗传算法实现电动汽车有序充电matlab源码

优化调度基于matlab非支配排序遗传算法求解车辆充电调度优化问题含Matlab源码 2000期

优化求解基于matlab遗传算法求解峰谷分时电价电动汽车充电负荷优化问题含Matlab源码 210期

ETWVRP基于matlab遗传算法求解带时间窗多电动车充电路径规划问题含Matlab源码 1966期