tablewidget 行数自适应_控制|基于自适应遗传算法的增程式电动汽车能量管理策略优化...
点击上方蓝字关注我们!
摘要:建立增程式电动汽车整车仿真模型,以恒温器控制策略为例,以车辆最长续驶里程和百公里油耗为优化目标,利用自适应遗传算法对其能量管理策略进行了优化。优化结果表明,采用自适应遗传算法可使等效燃油消耗较之优化前减少10%。同时研究了蓄电池SOC上、下限值与目标续驶里程的关系以及不同蓄电池初始SOC值对燃料电池输出功率最优值的影响。研究发现,目标续驶里程与蓄电池SOC上限值关系不大,受下限值影响较大;燃料电池恒定输出功率最优值随着蓄电池初始SOC值的增大而减小。
1 前言
电动汽车是目前解决能源危机和环境污染最具潜力的新能源汽车,但纯电动汽车存在续驶里程短、充电时间长的问题,增程式电动汽车(Extended Range Electric Vehicle,EREV)的出现有效弥补了此种不足。
EREV安装有能够增加续驶里程的增程器(Range Extender,RE),RE与动力蓄电池一起作为整车动力源。在确定了整车各部件的基本参数后,整车能量管理策略决定了整车的燃油经济性、动力性和排放性,即能量管理策略的优化对进一步提高整车的性能有着显著的影响。
传统遗传算法(SGA)容易出现早熟现象,尤其是在适应度函数选择不当的情况下,容易收敛于局部最优,无法达到全局最优。本文结合EREV的结构特点,提出采用交叉和变异概率可动态变化的自适应遗传算法(AGA),来优化其能量管理策略。
2 EREV
EREV是在纯电动汽车基础上安装RE。RE是能够发电且给车载动力蓄电池充电的辅助能量装置。当蓄电池电量充足时,汽车以纯电动模式行驶;当蓄电池电量不足时,RE开始工作,给蓄电池充电或直接驱动电机,从而大幅提高电动汽车的续驶里程。
本文研究对象是以燃料电池作为RE的燃料电池EREV,整车的基本参数如表1所示。
表1 燃料电池EREV基本参数
图1为燃料电池EREV动力系统结构示意图,其中单实线代表电气连接,双实线代表机械连接,虚线部分为RE单元。燃料电池一方面可以为动力蓄电池充电,另一方面可以与动力蓄电池一起驱动电机。
图1 燃料电池EREV动力系统结构示意
3 优化设计模型
3.1 优化目标
本文选取的EREV使用氢气作为燃料,其生成物为水,基本上不存在排放问题。因此,该能量管理策略的优化目标就是在满足汽车动力性能要求的基础上,尽可能地降低油耗,其中油耗包括动力蓄电池所耗电量和燃料电池所用氢气量。为此,将能量管理策略参数的最优化表述为求解如下有约束非线性规划问题:
式中,X是包含了EREV系统参数和控制参数的向量;Q(X)为等效燃油消耗量;FC(X)、BD(X)分别为燃料电池氢气消耗量和蓄电池电量消耗量,两值可以通过热值相互换算;gj(X)≥0,j=1,…,m为一组非线性不等式约束,代表汽车动力性能要求,如加速时间、蓄电池SOC变化等。
3.2 优化变量
EREV能量管理策略侧向于尽可能少的使用RE,保持汽车以纯电动模式行驶。该能量管理策略实现的关键在于燃料电池输出功率与动力电池输出功率的合理分配,采用的恒温器控制策略基本思想是:燃料电池工作在恒定的功率点上,其开启和关闭取决于蓄电池荷电状态SOC的大小。当蓄电池SOC低于下限值时,燃料电池启动并输出恒定功率给蓄电池充电;当蓄电池SOC达到上限值时,燃料电池关闭,汽车以纯电动模式行驶直至蓄电池SOC下降到下限值时燃料电池再次启动。
文中选择了策略中最主要的3个参数作为系统参数的优化变量,如表2所示。
表2 恒温器控制策略优化变量
3.3 约束条件
优化控制策略不仅要实现优化目标,还必须满足汽车行驶的其他性能要求,具体的性能约束条件为:
a.0~30km/h的加速时间小于10s。
b.行驶过程中,蓄电池SOC始终大于0.2(为避免蓄电池过放电,设定蓄电池SOC低于0.2时停止放电)。
c.每秒钟工况循环的目标车速与实际行驶车速之差不大于3.2km/h。
d.燃料电池输出功率不大于5kW。
4 遗传算法优化实现
AGA是一种借鉴自然界遗传机制的随机并行搜索的方法,其优化流程如图2所示。
图2中Pc1、Pm1为小于1的数;favg是种群平均适应度值。AGA优化通过编码将问题参数转化为设计空间的基因型结构,随机产生一组初始种群,然后模拟生物进化过程,使种群不断往更好的方向进化,最终找到问题的最优解。具体实现的寻优过程可描述如下。
图2 AGA优化流程
a.编码。本文采用二进制编码形式,将待优化的蓄电池SOC上限值、下限值和燃料电池恒定输出功率分别表示为字符串基因,然后将各基因串连起来组成一个染色体,即优化解空间的一个向量X表示一个染色体编码。
b.初始化种群。种群是遗传优化进化过程的基础,种群中的个体对应着三个参数变量组成的字符串基因。从某种程度上讲,种群的性质变化决定了遗传算法的搜索能力,遗传算法的收敛性取决于种群的收敛性。本文采用均匀随机的方式选定初始种群,种群数量设为50。
c.适应度计算。遗传算法在进化搜索过程中仅仅利用适应度值来进行搜索。首先计算每组优化变量对应的目标函数值,然后通过函数值向适应度映射,得到种群中每个个体的适应度。本文采用的目标函数值为目标续驶里程。
d.遗传操作。采用选择、交叉和变异等遗传操作产生下一代新种群。选择策略采取经典的轮盘赌比例方法,被选择个体概率与其适应度成比例。当轮盘旋转时,每一个体被选择的概率都与它所占的比例相对应。但是,在种群进化过程中,个体的相似度越来越大,容易陷入局部最优,这时就需要改变交叉和变异概率,跳出局部最优,增加种群产生新个体的能力。采用自适应交叉概率和变异概率的计算公式如下。
式中,fc为要交叉的两个个体中较大的适应度值;fm为要变异的个体适应度值;fmax为群体中最大适应度值;Pc2、Pm2为小于1的数,且应有Pc1≥Pc2、Pm1≥Pm2,文中取Pc1=0.9、Pc2=0.8、Pm1=0.1、Pm2=0.05。
5 优化结果与分析
在Matlab 7.6环境下,利用ADVISOR2002工具建立燃料电池EREV前后向仿真模型。仿真过程中,取蓄电池SOC初始值为0.95;测试循环工况为根据实车最高车速要求进行等比例缩放的CYC_UDDS城市工况;采用恒温器控制策略,按照经验设定控制参数:蓄电池SOC上限值为0.8,下限值为0.4,燃料电池恒定输出功率为4kW。仿真运行结果如图3所示。图3a显示的是第一个循环工况,以此验证行驶车速对目标车速的跟踪情况。
图3 整车模型仿真结果
从图3中可以看出,车辆能够准确的跟踪循环工况;燃料电池在蓄电池SOC达到0.4时开启,对蓄电池充电,直到蓄电池SOC降到0.2时仿真停止。因此,整车模型和策略可以与优化程序进行联合仿真。
为验证优化算法的有效性,编写AGA和SGA优化程序,将算法程序与整车仿真模型通过adv_no_gui命令集成,以实现数据交互。选取遗传代数为50,以续驶里程为最优目标,寻优结果如图4所示。从图4中可以看出,AGA最优值随着遗传代数的增加不断增大,直至收敛;而SGA收敛于局部最优值,优化效果明显弱于AGA。
图4 遗传优化目标值随遗传代数变化曲线
优化结果如表3所示。从表3中可以看出,AGA优化方法使得等效燃油消耗从优化前的4L/100km减少到3.6L/100km,降幅达到10%,比SGA优化得到的等效燃油消耗降低2.5%;同时,续驶里程由优化前的53.1km增加到58.4km,增幅为10%,比SGA优化得到的续驶里程增加1.7%。
表3 优化结果对比
图5是经过AGA优化后的最优能量管理策略仿真结果,燃料电池在蓄电池SOC为0.49时启动,与蓄电池共同驱动电机,一直持续到氢气量耗尽,之后蓄电池SOC降至0.2,仿真停止。整个过程中,燃料电池对蓄电池基本没有充电,优化结果使得蓄电池SOC降幅减缓,氢气量与电量基本同时耗尽。可以看出,燃料电池恒定输出功率的大小对整车燃油经济性起决定性作用,这是因为蓄电池充放电效率受蓄电池SOC大小影响较小,而燃料电池的效率则随着输出功率的不同变化较大。在满足整车动力性的基础上,当燃料电池恒定输出功率处于其最佳效率点附近时,整车的燃油经济性较好。
图5 AGA优化后的最优能量管理策略仿真结果
保持燃料电池输出功率为最优值不变,研究不同蓄电池SOC上限值、下限值对续驶里程的影响,如图6所示。
图6 续驶里程与蓄电池SOC上、下限值的关系曲线
从图6中可以看出,当燃料电池输出功率保持不变时,续驶里程与蓄电池SOC上限值关系不大,而受蓄电池SOC下限值影响较大。蓄电池SOC下限值影响着燃料电池的开启时刻,决定着燃料电池的氢气量能否在蓄电池电量消耗完之前或同时耗完。当蓄电池SOC下限值低于0.43时,即如果燃料电池在蓄电池SOC低于0.43时启动,则氢气量不能够在蓄电池电量降到20%时耗尽,如此便会极大地减少整车的续驶里程;当蓄电池SOC下限值高于0.43时,氢气量能够在电池电量低于20%时耗尽,此时蓄电池SOC下限值的大小对续驶里程基本无影响。
不同蓄电池初始SOC值时通过遗传优化得到的燃料电池恒定输出功率变化曲线如图7所示。随着蓄电池初始SOC值的降低,燃料电池恒定输出功率在蓄电池初始SOC值处于中高范围内变化时略微上升,在蓄电池初始SOC值处于较低范围内随着初始SOC值的降低而急剧增大。当蓄电池初始SOC降低时,为了使得氢气量能够在蓄电池SOC值降至20%之前或同时耗尽,燃料电池需要消耗更多的氢气,所以燃料电池输出功率增大,降低蓄电池SOC下降的速率,尽可能与电量消耗保持同步,以此获得最大续驶里程。
图7 燃料电池恒定输出功率与蓄电池初始SOC值的关系曲线
6 结束语
针对SGA易于局部收敛的缺陷,本文将交叉和变异概率可随种群适应度值改变的AGA用于燃料电池EVER恒温器能量管理策略的优化,并对优化结果进行了分析。优化结果表明,AGA优化比SGA优化效果好,提高了整车燃油经济性;当保持燃料电池输出功率为最优值不变时,目标续驶里程与蓄电池SOC上限值关系不大;蓄电池SOC下限值存在某一阈值,高于此阈值时,对续驶里程无影响,低于此阈值时,续驶里程随着下限值降低而急速减少;当蓄电池初始SOC值在中高范围内变化时,燃料电池恒定输出功率最优值变化不大;当蓄电池初始SOC在较低范围内变化时,通过优化得到的燃料电池恒定输出功率将随着蓄电池初始SOC值的降低而急剧增大。
关注我们
获取更多资料!
CEA氢氢子衿
文章来源:徐群群,宋珂,洪先建,章桐.基于自适应遗传算法的增程式电动汽车能量管理策略优化[J].汽车技术,2012(10):19-23.
【免责声明】文章为作者独立观点,不代表CEA氢氢子衿立场。如因作品内容、版权等存在问题,请于本文刊发30日内联系CEA氢氢子衿进行删除或洽谈版权使用事宜。
tablewidget 行数自适应_控制|基于自适应遗传算法的增程式电动汽车能量管理策略优化...相关推荐
- matlab自适应逆控制,基于matlab仿真模块的自适应有源噪声逆控制研究
ATE 农业技术与装备 X2 c(q-1) p(q-1) u2 C( x) p(q-1) LMS M(q-1) p(q-1) w( q-1) w( q-1) ! ! e2 d2 + - - + p(q ...
- webstorm代码行数统计_【Rust每周一库】Tokei 统计代码行数等信息的实用工具
Tokei是一个按语言统计代码行数等统计信息的工具.其实这些信息还是非常有用的,首先程序猿可以用它来估计别人的实力或者观察自己实力成长的速度(神马,行数论英雄么?).其次,管理人员可以用它来估计工程的 ...
- mysql+影响的行数+获取_我们如何获得受MySQL查询影响的总行数?
MySQL ROW_COUNT()可用于获取受MySQL查询影响的总行数.为了说明这一点,我们正在创建一个过程,借助该过程,我们可以在表中插入记录,并向我们显示受影响的行数. 示例mysql> ...
- python文件行数统计_文件行数和代码行数统计
使用脚本统计当前目录下所有文件的个数和代码行数#!/bin/bash filesCount=0 linesCount=0 function funCount() { for file in ` ls ...
- webstorm代码行数统计_来测试下 2019 你一共写了多少行代码?
写啊写代码,2019 你都写了多少行代码呢 自己动手实现一个代码统计工具 导入所需的库 这个程序需要用到的库有:os,time 这两个库都是 Python 自带的,所以我们直接 import 就行 i ...
- sql union 行数不同_十八般武艺玩转GaussDB(DWS)性能调优(二):坏味道SQL识别
摘要:那些会导致执行效率低下的SQL语句及其执行方式,我们称之为SQL中的"坏味道". ◆ 什么是SQL中的坏味道 SQL语言是关系型数据库(RDB)的标准语言,其作用是将使用者的 ...
- textarea 行数限制_在一个TextArea中如何限制行数和字符数
在网上,已经有很多关于在一个textbox限制允许的字符数量.但是如果需要,在textbox中如何去统计和限制行数呢.这里有一个解决方案,使用客户端的Javascript去限制TextArea的内容为 ...
- mysql影响行数解析_对PHP函数mysqli_affected_rows的作用行数返回值的分析
这篇文章主要介绍了PHP中mysqli_affected_rows作用行数返回值,实例分析了普通模式与oop模式的用法,具有一定的参考借鉴价值,需要的朋友可以参考下 本文实例分析了PHP中mysqli ...
- python个人项目进度管理系统源码_漳州城投集团 | 城投地产集团开展管理体系优化咨询和计划进度管理系统项目建设...
9月3日,漳州城投地产集团召开管理体系优化咨询暨计划进度管理系统项目启动会.漳州城投集团常务副总经理吴国伟.副总经理田明生,董事会秘书.投资发展部总经理方志瀚,漳州城投地产集团董事长.总经理黄超宁,深 ...
最新文章
- python中国大学排名爬虫写明详细步骤-python中国大学排名爬虫
- SpringMVC 实例应用 -- 不同方式控制器实现与参数传递
- 华为宣布:免费培养2000名大数据开发者!
- js中调用vue中的方法
- jmeter连接mysql时jdbc下载
- 二分类模型评价指标-AUC
- Mac使用命令行解压rar文件
- Windows Diskpart命令详解
- CTF_ CRYPTO(Cryptography)_密码学/密码分析学
- Oracle商务智能系统(Oracle Business Intelligence System 11i )
- animate cc开发html5游戏,使用Create.js与Adobe Animate CC制作H5落地页动画
- 【Tool工具】LICEcap 推荐 GIf录制工作- 如何简单录制一个gif(Mac Window都可)
- Mac Edge 浏览器开启几秒后自动关闭问题
- java hasnext_Java Page.hasNext方法代码示例
- lambda函数--(Python实现货币兑换案例)
- 计算机技术应用体验,2018教师信息技术应用体验学习个人心得体会2篇
- Tita 绩效宝:让管理者提高1对1面谈水平的5大技巧
- 数据透视表的几个技巧
- 2022云原生峰会开启报名 | 一年一度云原生技术风向标就看这里!
- DOS 用ren命令批量修改文件后缀名
热门文章
- SAP Cloud for Customer的Data Source测试
- 因为权限缺乏导致SAP CRM AET字段删除失败
- 在SAP Business Application Studio里创建Fiori应用的操作流程
- 如何根据SAP CRM扩展字段的UI标签找到其ID
- why unit test of user status failed
- 介绍一种在ABAP内核态进行内表高效拷贝的方法,和对应的Java和JavaScript版本的伪实现
- sap.ca.scfld.md.Startup.init('cus.crm.notes', this);
- 新浪微博和CRM Interaction Center的集成
- nodejs项目npm start背后的工作原理
- Cloud for Customer客户主数据重复检查duplicate check的前台实现