200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 【优化充电】基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对

【优化充电】基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对

时间:2022-04-26 04:00:21

相关推荐

【优化充电】基于matlab遗传算法求解电动汽车充电统一管理优化问题(含负荷功率曲线对

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

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版本

a

2 参考文献

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

3 备注

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

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。