1 简介

在现有的电池技术和充电条件下,快换式充电站成为国内纯电动公交最主要的能量补给摸式。针对电池组充电电费过高和增加配电网峰谷差的问题,以及换电站内快换工位和备用电池空闲的情况,在保证车辆正常运营的前提下,以基金项目:国家 863 高技术基金项目(2011AA05A108);中央高校基本科研业务费专项资金资助(2013YJS084)。The National High Technology Research and Development of China (863 Program) (2011AA05A108);Fundamental Research Funds for the Central Universities (2013YJS084). 充电站内全天充电电费最低为目标,建立了充电变功率工况下基于分时电价的换电站经济运行模型,通过遗传智能优化算法合理安排电池组的开始充电时间,降低充电电费,从而实现换电站的经济运行。分别基于北京北土城充电站和上海世博会充电站的实际数据和统计结果进行算例仿真,验证了算法的有效性。结果表明,该算法不仅能降低充电站充电电费,还能降低充电站白天对配电网的负荷压力,补充夜间负荷,减小配电网的峰谷差,在实现充电站经济运行的同时还有助于配电网的经济运行。通过对国内主要大型纯电动公交快换式充电站的建设和后期运营数据的分析,先前已总结了快换式充电站的设计模型,并提出了快换式充电站核心参数的基本配置方法。同时在实际运营数据分析过程中发现,充电站内电池组的充电过程是和车辆回站的时间相关的,主要集中在白天运营时段,快换工位大部分时间处于空闲状态,电池组充满电而闲置的情况也一直存在,这就使得调节电池组的充电时间成为可能。因此,本文在满足车辆正常运营的前提下,以充电站内全天充电电费最低为目标,通过遗传智能优化算法求解出电池组的开始充电时间,合理安排充电,从而实现充电站的经济运行,该运行方式同时有助于配电网的经济运行。​

2 部分代码

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('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

%------------------遗传算法优化---------------------

maxgen=1000;                                 %maxgen   终止进化代数

sizepop=50;                                  %sizepop  种群规模

pcross=0.8;                                  %pcross   杂交概率

pmutation=0.05;                              %pmutation变异概率

bound=[tin;Te-timeT+24];                     %bound    约束范围

%种群初始化

ton=zeros(1,carnum);                         %ton      各电动汽车充电开始时间

carpop=struct('fitness',zeros(1,sizepop),'chrom',[]);

for i=1:sizepop                              %carpop   初始种群随机赋值

a=rand(1,carnum);

for j=1:carnum

ton(1,j)=bound(1,j)+a(j)*(bound(2,j)-bound(1,j));

end

carpop.chrom(i,:)=ton;                   %chrom    染色体群,即ton集合

%carpop.fitness(i)=fit1(carnum,ton,timeT,Pbase,pch);

carpop.fitness(i)=fit2(carnum,ton,timeT,Pbase,pch);

end

%找出当前最优解(适应度最小的染色体)

[bestfit,bestindex]=min(carpop.fitness);

bestton=carpop.chrom(bestindex,:);           %bestton  最优充电开始时间

avgfit=sum(carpop.fitness)/sizepop;          %avgfit   适应度平均值

Ptotal=zeros(1,96);                          %Ptotal   总负荷功率

cartime=carT(carnum,bestton,timeT);

a=sum(cartime,2);

for i=1:96

Ptotal(1,i)=Pbase(i)+pch(1)*a(i);

end

%--------------------优化结果显示-----------------------

Bestton=fopen('Bestton.txt','wt');

fprintf(Bestton,'%g \n',bestton);

fclose(Bestton);

PT=fopen('PT.txt','wt');

fprintf(PT,'%g \n',Ptotal);

fclose(PT);

figure

plot(y)

xlabel('迭代次数')

ylabel('适应度值')

3 仿真结果

4 参考文献

[1]林英硕, 厚月春, 周昊. 基于遗传算法的电动汽车充放电优化管理问题求解[J].  2019.

部分理论引用网络文献,若有侵权联系博主删除。

5 完整MATLAB代码与数据下载地址

见博客主页头条

【优化求解】基于遗传算法求解电动汽车充电管理优化问题Matlab代码相关推荐

  1. 基于遗传算法的电动汽车有序充放电优化问题

    ​ 为了减小电动汽车规模化充电给配电网安全稳定运行带来的不利影响,提出一种基于遗传算法的电动汽车有序充电策略.考虑用户出行规律及保证配电网的安全稳定运行,以 降低负荷曲线峰谷差与充电成本最小为目标,建 ...

  2. 【优化布局】基于遗传算法实现风电场集电系统优化附matlab代码

    1 内容介绍 为了使风电场并网结构性能提高且经济损耗在可行范围内,将阻抗最小.经济最优相结合对风电场集电线路进行优化,建立目标函数求解.针对本文目标函数的求解,提出了基于遗传算法风电场集电线路结构的优 ...

  3. 【无人机】基于遗传算法实现无人机编队位置规划附matlab代码

    1 内容介绍 现代社会的无人机成本造价低.不易损耗.轻巧灵便.易躲藏.能精确打击 目标这些特点,使其在一些高危任务中发挥了不可替代的作用[5].无人机的用处主要有两种:民用和军事.在民用方面,我们可以 ...

  4. 基于遗传算法的电动汽车有序充电优化调度

    基于遗传算法的电动汽车有序充电优化调度 软件:Matlab 利用遗传算法对电动汽车有序充电进行优化:优化目标包括充电费用最低,电动汽车充到足够的电,负荷峰谷差最小. 分别利用传统.精英和变异遗传算法进 ...

  5. 基于遗传算法的电动汽车有序充电优化调度 利用遗传算法对电动汽车有序充电进行优化;优化目标包括充电费用最低,电动汽车充到足够的电,负荷峰谷差最小

    基于遗传算法的电动汽车有序充电优化调度 软件:Matlab 利用遗传算法对电动汽车有序充电进行优化:优化目标包括充电费用最低,电动汽车充到足够的电,负荷峰谷差最小. 分别利用传统.精英和变异遗传算法进 ...

  6. MATLAB代码:基于主从博弈的智能小区代理商定价策略及电动汽车充电管理 关键词:电动汽车 主从博弈 动态定价 智能小区 充放电优化

    MATLAB代码:基于主从博弈的智能小区代理商定价策略及电动汽车充电管理 关键词:电动汽车 主从博弈 动态定价 智能小区 充放电优化 参考文档:<基于主从博弈的智能小区代理商定价策略及电动汽车充 ...

  7. 基于主从博弈的智能小区代理商定价策略及 电动汽车充电管理matlab程序(yalmip+cplex)(yalmip+gurobi)

    基于主从博弈的智能小区代理商定价策略及电动汽车充电管理matlab程序(yalmip+cplex)(yalmip+gurobi) 参考文献:基于主从博弈的智能小区代理商定价策略及电动汽车充电管理 智能 ...

  8. 15基于峰谷分时电价引导下的电动汽车充电负荷优化(matlab程序)

    参考文献 基于峰谷分时电价引导下的电动汽车充电负荷优化_欧名勇2020 主要内容 利用蒙特卡洛方法对2种不同充电方式进行模拟并对其进行分析:分析用户响应度对电动汽车有序充电的影响,建立峰谷分时电价对电 ...

  9. 基于主从博弈的智能小区电动汽车充电管理及代理商定价策略

    基于主从博弈的智能小区电动汽车充电管理及代理商定价策略 测试环境:MATLAB 关键词:智能电网:电动汽车充电:定价:主从博弈 智能电网的负荷包括传统负荷和主动负荷,我国配电网侧的主动负荷主要由电动汽 ...

最新文章

  1. C语言实现生产者-消费者问题
  2. Lync Server 2010标准版系列PART4:部署准备
  3. java用爬虫爬一个页面_使用Java写一个简单爬虫爬取单页面
  4. phpstrom函数注释模板_PHPstorm 函数时间注释的修改
  5. 什么是BusyBox?
  6. 动手解决jar转txt软件的一个缺陷
  7. 微软免费软件项目DreamSpark更名为Microsoft Imagine
  8. java heap_javaHeap的组成及GC监控
  9. C++ 用libcurl库进行http 网络通讯编程
  10. 21南阳理工oj新生赛Round#5--这是一道二分题
  11. vue 引入html模板,vue单页面用script方式引入 使用模板时报错。 - 社区 - 妙味课堂...
  12. 【转】内核通信之 Netlink 源码分析和实例分析
  13. JAVA中如何产生透明的VolatileImage
  14. 服务器定时关机 修改时间,服务器调定时关机
  15. Overlay network
  16. KVM虚拟化平台搭建实操+KVM理论详解
  17. 天涯上拣来的爱情哲学
  18. Java将 PDF 拆分为多个 PDF 文件
  19. 语音识别开发---基于科大讯飞开放平台
  20. 逻辑赋值(Logical Assignment)

热门文章

  1. 《深入理解Elasticsearch(原书第2版)》一1.1.4 Lucene查询语言
  2. 新手学习【菜鸟教程】Python CGI编程的几个坑(Windows系统)
  3. 小米平板android版本号,你的小米平板系统版本号是多少?
  4. python 余弦距离_距离最小余弦
  5. 推荐4款最好用的远程桌面访问软件,亲测好评
  6. android camera 废弃,Android相机android.hardware.Camera已弃用
  7. 小火狐进化_《乐贝星空》宠物大全 解析小火狐三阶进化
  8. php背景自动切换图片,威联通NAS自动更换背景图片
  9. ELRepo软件仓库源 提供的硬件驱动 centos
  10. 沙龙与华为强强携手,机甲龙惊艳广州车展