💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
⛳️赠与读者
👨💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。
或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎
💥1 概述
摘要:
本文详细介绍了对用于求解凸优化问题的算法在混合动力车辆能源管理中的计算性能进行研究,其中包括非线性损耗。提出了一种投影内点法,通过在控制输入上应用不等式约束作为投影,减少了牛顿步骤矩阵求逆的大小和复杂性,并通过与交替方向乘子法(ADMM)算法和通用凸优化软件CVX的比较在仿真中展示了其性质。发现当需要适度精度的解时,ADMM算法具有有利的性质,而当需要高精度时,投影内点法更有利,并且两者都比CVX快得多。
增加电动化的道路车辆被确定为解决重要社会问题的关键短期方案,包括气候变化和空气污染[1]。插电式混合动力电动车(PHEV),其中电动推进系统与内燃发动机相辅相成,目前是一种常见配置。尽管锂离子电池的低能量密度和长充电时间限制了全电动动力总成的可行性,但对日常驾驶行为的分析表明,使用纯电动续航里程仅为40英里的混合动力车辆可以用电驱动50%的内燃机里程[2]。然而,额外动力源的引入带来了一个棘手的问题:在给定旅程的每一刻,应该从电动机提供多少功率,从发动机提供多少功率?
这被称为能量管理问题[3],一个简单的启发式方法是充电耗尽/充电维持策略,即只有在电池充分耗尽时才从电动机提供动力,然后在旅程结束前以充电维持模式运行车辆[2]。然而,已经证明通过同时从电动机和发动机提供动力,并在整个旅程中调节从每个动力源提供的比例,可以实现燃油消耗的显著节省,这被称为“混合模式”[4]。有几种控制动力总成的方法,可以通过动态规划获得全局最优解,用于复杂的非线性模型和/或整数控制决策(如换挡选择)[5],[6],但这种方法对于在线解决方案来说计算要求过高。其他研究已经调查了基于庞特里亚金最小原理的方法[7]–[9],尽管在仍保证最优性的情况下,强制执行复杂约束(如总电荷状态约束或发动机切换)是具有挑战性的。
模型预测控制(MPC)在这个应用中显示出潜力,因为它对车辆模型和未来驾驶行为预测的不确定性具有固有的鲁棒性[10],并且整个混合动力总成中可以使用非线性损耗模型以提高性能[11]。当考虑到换挡和发动机切换时,相关的在线优化问题仍然难以计算,因此这些元素通常会被从问题中移除或在外部进行优化[11]–[14],并且已经证明仅通过制定功率平衡,使用非线性损失而无需简化,可以将问题表述为具有线性状态动力学的凸优化问题[15]。
在过去的30年里,解决不等式约束优化问题最流行的算法一直是内点法[16]。最初被构造为“原始”方法,通过用对数障碍函数逼近优化问题中的不等式约束,它们固有的病态和数值效率低下使内点法在卡马卡尔(Karmakar)于1984年发表其方法[17]之前无效。随后发展出的“原始-对偶”内点法[18]表现出优秀的理论和实际特性,包括多项式复杂度和在问题规模变化时迭代次数近似恒定,如今,在MPC优化领域,大量研究成果致力于原始-对偶内点法[19]–[21]的发展和应用。
在最近发表的文献中,尚未研究解决能源管理问题的凸优化形式的算法,通常使用通用凸优化软件[13],[14],[22],[23]来解决优化问题,除了在[15]中提出的交替方向乘子法(ADMM)算法。本文的第一个贡献是针对这个问题提出了一个投影内点求解器,通过将决策变量上的逐元素不等式约束作为投影,降低了与原始-对偶牛顿步骤相关的矩阵求逆的规模,从而降低了每次迭代的计算需求。该算法不特定于领域,适用于具有线性动力学、控制变量的可分离凸成本函数以及控制和状态变量的上下界的任何MPC优化问题。
本文的一个主要动机是确定对于凸PHEV能源管理制定,二阶和一阶方法的相对计算优势,第二个贡献是一组数值研究,比较了投影内点算法与[15]中的ADMM算法的性能。在这些研究中,我们证明了投影内点方法具有优越的收敛性质,但需要更多时间才能获得具有适度精度的解决方案,因此,仅适用于较短时间范围内的实时解决方案(在本例中,少于500个样本)。我们还证明了两种方法都比CVX[24]快得多,而在ADMM中(使用[15]中的改进实现),我们展示了第一种能够在实时情况下解决能源管理问题的方法,在考虑非线性系统动力学并在整个时间范围内强制执行功率和电荷状态的硬限制时,可以在长时间范围(≥1000个样本)内实现。
本文的结构如下。第二节定义了能源管理问题、MPC框架和凸重构,第三节详细介绍了投影内点方法。第四节阐明了[15]中的ADMM算法,第五节展示了数值实验,第六节对本文进行了总结。
插电式混合动力车辆能源管理中的凸优化与模型预测控制研究
1 引言
插电式混合动力汽车(PHEV)作为传统燃油车向纯电动汽车过渡的关键技术方案,通过同时配备内燃机和电力驱动系统,有效解决了纯电动汽车面临的续航里程焦虑和充电基础设施不足问题。然而,双动力源的耦合特性也带来了复杂的能源管理挑战——如何实时优化动力分配以最大限度提升能源效率。这一问题的核心在于协调发动机与电机的功率输出,在满足驾驶需求的同时降低燃油消耗和电池损耗14。
模型预测控制(MPC)因其多步预测优化能力和约束处理灵活性,已成为PHEV能源管理的理想框架。它通过滚动优化机制,基于当前车辆状态和未来驾驶条件预测,实时求解最优控制序列。然而,传统非线性优化方法存在计算复杂度高和实时性差的缺陷,难以满足车载控制系统的实时需求27。凸优化算法通过问题重构将非凸问题转化为凸形式,在保证全局最优性的同时显著降低计算复杂度,为MPC的实时应用提供了可能。
交替方向乘子法(ADMM)作为一种分布式优化算法,通过分解协调机制将复杂问题拆解为多个易解子问题,特别适合处理PHEV的多子系统耦合优化。而CVX作为通用凸优化求解工具,则提供了快速原型验证能力。这两种方法的结合为PHEV能源管理提供了新的解决方案18。本文旨在深入探讨基于凸优化的MPC在PHEV能源管理中的应用,重点分析ADMM与CVX的算法原理、实现方法及性能对比,并通过案例研究验证其有效性。
2 PHEV能源管理问题建模
PHEV能源管理的本质是一个多目标、多约束的动态优化问题,其核心在于协调发动机与电机在不同工况下的功率分配关系。典型的PHEV动力系统结构包含内燃机、驱动电机、发电机、动力电池以及功率分配装置(如行星齿轮组或离合器)。这种复杂的结构使得系统具有多种工作模式,每种模式下能量流动路径和控制策略各不相同29。
2.1 系统结构与工作模式
PHEV的工作模式根据动力源的使用方式和能量流动路径可分为四种基本类型:
-
纯电动模式(EV Mode):在电池电量充足且功率需求较低时,仅使用电机驱动车辆,实现零排放运行。在此模式下,发动机关闭,电池作为唯一能量源,特别适合城市低速工况和超低排放区域(ULEZ)通行6。
-
混合驱动模式(Hybrid Mode):当电池电量不足或需要大功率输出时,发动机启动参与驱动。此模式下可实现功率分配优化,发动机在高效区工作,富余功率可为电池充电2。
-
发动机单独驱动模式:在中高速巡航等稳态工况下,由发动机直接驱动车辆,电机处于待机状态。此模式避免了不必要的能量转换损失,提高系统整体效率9。
-
能量回收模式(Regenerative Braking):在制动或减速过程中,电机作为发电机运行,将车辆动能转化为电能存储于电池中,实现能量回收利用。此模式可显著提高城市工况下的能量效率2。
2.2 数学模型与优化目标
PHEV能源管理问题的数学建模需综合考虑动态特性、效率映射和运行约束。设总行驶时间为T,离散化为N个时间步,每个时间步长为Δt。关键决策变量包括:发动机输出功率$P_{eng}(k)$、电机输出功率$P_{mot}(k)$、电池充放电功率$P_{batt}(k)$以及电池荷电状态SOC(k)48。
优化目标通常为最小化整个行程的总能耗成本,可表示为:
min∑k=1N(α⋅ffuel(Peng(k))+β⋅Cbatt(Pbatt(k),SOC(k)))min∑k=1N(α⋅ffuel(Peng(k))+β⋅Cbatt(Pbatt(k),SOC(k)))
其中$f_{fuel}(\cdot)$为发动机燃油消耗函数,$C_{batt}(\cdot)$为电池损耗成本函数,α和β为权重系数,用于平衡燃油消耗与电池寿命的权衡14。
约束条件包括:
-
功率平衡约束:$P_{req}(k) = P_{eng}(k) + P_{mot}(k)$
-
电池SOC动态:$SOC(k+1) = SOC(k) - \frac{\eta_{batt} \cdot P_{batt}(k) \cdot \Delta t}{Q_{nom}}$
-
SOC边界约束:$SOC_{min} \leq SOC(k) \leq SOC_{max}$
-
部件功率限值:
$P_{eng}^{min} \leq P_{eng}(k) \leq P_{eng}^{max}$
$P_{mot}^{min} \leq P_{mot}(k) \leq P_{mot}^{max}$
$P_{batt}^{min} \leq P_{batt}(k) \leq P_{batt}^{max}$
表:PHEV能源管理优化问题的主要约束类型
约束类型 | 数学表示 | 物理意义 |
---|---|---|
状态约束 | $SOC_{min} \leq SOC(k) \leq SOC_{max}$ | 保护电池防止过充/过放 |
输入约束 | $P_{eng}^{min} \leq P_{eng}(k) \leq P_{eng}^{max}$ | 确保发动机工作在可行范围 |
耦合约束 | $P_{req}(k) = P_{eng}(k) + P_{mot}(k)$ | 满足驾驶员功率需求 |
终端约束 | $SOC(N) \geq SOC_{target}$ | 保证行程结束时有足够电量 |
3 凸优化与MPC的融合框架
模型预测控制与凸优化的结合为PHEV能源管理提供了理论严谨且工程可行的解决方案。这种融合框架通过滚动优化机制,将长期、复杂的全局优化问题转化为一系列局部凸优化问题,在保证实时性的同时逼近全局最优解。
3.1 非凸问题的凸重构技术
传统PHEV能源管理模型存在强非线性(如发动机燃油消耗率MAP图)和非凸约束,直接求解困难。凸重构技术通过数学变换将原问题转化为凸问题,主要方法包括:
-
分段线性化:将发动机油耗曲线$f_{fuel}(P_{eng})$近似为分段线性函数,通过SOS2(Special Ordered Set of Type 2)约束实现凸表达4。
-
二次函数拟合:使用二次函数逼近油耗曲线:$f_{fuel}(P_{eng}) \approx a \cdot P_{eng}^2 + b \cdot P_{eng} + c$,将目标函数转化为二次凸函数6。
-
松弛整数变量:对混合整数规划中的模式选择变量进行连续松弛,如将离合器状态{0,1}变量替换为[0,1]区间连续变量9。
-
电池损耗凸化:电池老化成本$C_{batt}$可建模为SOC和功率的二次函数:$C_{batt} = \gamma_1 SOC^2 + \gamma_2 P_{batt}^2 + \gamma_3 SOC \cdot P_{batt}$,其中系数需满足凸性条件68。
通过上述变换,原问题可转化为二次规划(QP) 或二阶锥规划(SOCP) 等凸优化形式,保证存在全局最优解且可高效求解。
3.2 MPC框架设计与实现
凸重构后的能源管理问题嵌入MPC框架,形成闭环优化控制系统。MPC框架的核心组件包括:
-
状态预测模型:基于当前车辆状态(速度、加速度、SOC等)和未来驾驶条件预测(如前方道路坡度、交通状况),构建状态演化方程。预测时域p的选择需权衡计算复杂度与控制性能,通常取10-30步(对应30-90秒)37。
-
滚动优化机制:
-
在时刻k,基于当前状态x(k)和预测信息,求解p步优化问题:
minuk:k+p−1∑i=0p−1(α⋅ffuel(Peng(k+i))+β⋅Cbatt(Pbatt(k+i)))+JT(x(k+p))minuk:k+p−1∑i=0p−1(α⋅ffuel(Peng(k+i))+β⋅Cbatt(Pbatt(k+i)))+JT(x(k+p))
其中$J_T(\cdot)$为终端代价函数,保证SOC在预测期末收敛到期望值3。 -
仅执行第一步控制量$u^*(k)$。
-
至下一时刻k+1,状态更新后重复优化过程。
-
-
反馈校正:通过实际状态与预测状态的偏差反馈,实时修正模型参数,增强控制鲁棒性7。
表:MPC预测时域选择对性能的影响
预测时域长度 | 计算负担 | 控制性能 | 适用场景 |
---|---|---|---|
短时域(p=5-10) | 低 | 次优,但实时性高 | 城市频繁启停工况 |
中时域(p=10-20) | 中 | 平衡实时性与最优性 | 综合道路工况 |
长时域(p>20) | 高 | 接近全局最优 | 高速公路巡航 |
4 ADMM与CVX的算法原理与实现
在凸优化MPC框架中,求解算法的选择直接影响实时性能和解的质量。ADMM作为一种分布式优化算法,通过分解协调机制平衡计算效率与精度;CVX则提供通用凸优化建模平台,两者在PHEV能源管理中各有优势。
4.1 ADMM的求解机制及应用
交替方向乘子法(ADMM)结合了对偶分解和增广拉格朗日的优点,适用于求解可分离结构的凸优化问题。其核心思想是将全局问题分解为多个子问题,通过交替优化和乘子更新实现协调28。
4.1.1 标准ADMM形式
考虑PHEV能源管理问题,可表述为:
minx,zf(x)+g(z)s.t.Ax+Bz=cminx,zf(x)+g(z)s.t.Ax+Bz=c
其中x为发动机相关变量,z为电池相关变量,约束表示功率平衡关系。ADMM的迭代步骤为:
-
局部变量更新:
xk+1:=argminx(f(x)+ρ2∥Ax+Bzk−c+uk∥22)xk+1:=argminx(f(x)+2ρ∥Ax+Bzk−c+uk∥22)
zk+1:=argminz(g(z)+ρ2∥Axk+1+Bz−c+uk∥22)zk+1:=argminz(g(z)+2ρ∥Axk+1+Bz−c+uk∥22) -
对偶变量更新:
uk+1:=uk+Axk+1+Bzk+1−cuk+1:=uk+Axk+1+Bzk+1−c
其中ρ>0为惩罚参数,u为缩放对偶变量8。
4.1.2 PHEV中的定制化改进
针对PHEV能源管理特性,ADMM需进行以下改进:
-
动态惩罚参数调整:根据原始残差$r^k = Ax^k + Bz^k - c$和对偶残差$s^k = \rho A^T B(z^k - z^{k-1})$的自适应调节ρ:
τincrρkτincrρk -
子问题并行求解:发动机与电池子问题相互独立,可在多核处理器上并行计算,显著提升实时性8。
-
热启动策略:利用相邻时间步问题解的相似性,以上一时刻解初始化当前迭代,减少迭代次数2。
4.2 CVX的通用求解特点
CVX是MATLAB环境下的凸优化建模系统,支持多种凸优化类型(如LP、QP、SOCP等),其优势在于:
-
直观的建模语言:以自然数学符号描述问题,降低建模复杂度4。
-
自动转换标准形式:内部调用专业求解器(如SeDuMi、SDPT3)1。
-
快速原型验证:便于算法比较和初步验证4。
然而,CVX在实时控制中存在显著限制:
-
求解效率低:通用求解器未针对PHEV问题定制,处理大规模问题慢1。
-
代码生成难:难以直接转换为嵌入式C代码,限制了车载应用4。
4.3 算法性能对比分析
投影内点法、ADMM和CVX在求解PHEV凸优化问题时表现出不同的性能特点:
-
投影内点法:通过投影操作降低矩阵求逆复杂度,具有超线性收敛性,在高精度要求(如$10^{-8}$)下迭代次数少。但当问题规模增大(样本数>500)时,单步计算成本显著增加1。
-
ADMM:一阶方法具有次线性收敛特性,但前期收敛快。在中等精度(如$10^{-4}$)要求下效率更高,尤其适合长时域问题(≥1000样本)18。
-
CVX:作为通用求解器,虽灵活但计算效率最低,主要用于离线验证和原型开发14。
表:不同凸优化算法在PHEV能源管理中的性能比较
算法特性 | 投影内点法 | ADMM | CVX |
---|---|---|---|
收敛速度 | 超线性收敛(高阶) | 次线性收敛(一阶) | 依赖底层求解器 |
计算复杂度 | $O(n^{2.5})$ | $O(n)$ | $O(n^3)$以上 |
实时性 | 短时域(<500样本) | 长时域(≥1000样本) | 不满足实时要求 |
解精度 | 高精度($10^{-8}$) | 中等精度($10^{-4}$) | 可调但效率低 |
实现难度 | 高 | 中 | 低 |
适用场景 | 高精度控制需求 | 实时在线优化 | 离线验证 |
5 案例研究与应用效果
为验证凸优化MPC在PHEV能源管理中的实际效果,本节结合典型测试工况和算法对比实验,分析不同方法的性能差异。
5.1 仿真设计与测试环境
采用中国城市公交循环(CCBC)和全球统一轻型车测试循环(WLTC)作为典型工况,验证策略的适应性。仿真平台配置如下:
-
车辆参数:整备质量1800kg,风阻系数0.28,滚动阻力系数0.008;发动机峰值功率90kW,电机峰值功率60kW;电池容量18kWh,SOC初始值80%2。
-
控制参数:预测时域p=15(对应45秒),控制时域m=15;ADMM参数ρ=1.0,
,
,
;终止条件
,
。
-
对比基准:
-
规则型策略(Rule-Based):基于固定阈值规则的启发式策略
-
等效燃油消耗最小策略(ECMS)
-
动态规划(DP):作为全局最优基准
-
5.2 算法性能对比结果
在相同测试环境下,不同算法表现出显著性能差异:
-
计算效率:ADMM在长时域优化中展现出显著优势。对于1000个样本点的问题,ADMM平均求解时间仅28ms,满足实时控制要求(<50ms);而投影内点法需65ms;CVX则需超过500ms,无法满足实时性18。
-
燃油经济性:凸优化MPC策略显著优于规则型策略。在WLTC工况下,ADMM实现3.92L/100km油耗,较规则型策略(4.51L/100km)降低13.1%,接近DP全局最优解(3.78L/100km)23。
-
SOC轨迹管理:基于ADMM的MPC策略实现了更平滑的SOC轨迹和更精确的终端SOC控制。终端SOC误差小于0.5%,而规则型策略误差达3.2%6。
表:不同算法在WLTC工况下的性能对比
性能指标 | 规则型策略 | ECMS | ADMM-MPC | DP(全局最优) |
---|---|---|---|---|
油耗(L/100km) | 4.51 | 4.12 | 3.92 | 3.78 |
计算时间(ms) | <1 | 15 | 28 | >3000 |
SOC终端误差(%) | 3.2 | 1.8 | 0.4 | 0 |
实时性 | 满足 | 满足 | 满足 | 不满足 |
5.3 实际道路场景验证
为进一步验证策略的实用性,北京工业大学团队在实际高速公路进行了硬件在环测试(HIL)。测试中集成了高精度地图信息,实现基于前方坡度的预测控制53。
结果表明:在包含长上坡(坡度5%)和下坡的路段,分层凸优化策略通过预调节SOC策略提升上坡前电池电量,利用下坡充分回收能量。相较于等效燃油消耗最小策略(ECMS),该方法燃油经济性提高9.45%,同时减少了模式切换次数,提升了驾驶平顺性3。
6 讨论与未来研究方向
尽管凸优化MPC在PHEV能源管理中展现出显著优势,实际应用中仍存在诸多挑战和研究机会。
6.1 当前研究的局限性
-
预测不确定性影响:驾驶循环预测误差会显著降低MPC性能。传统基于历史数据的统计预测(如马尔可夫链)在突发交通状况下精度急剧下降9。研究表明,车速预测误差10%可导致燃油消耗增加2.3%-5.7%。
-
模型简化误差:凸重构过程中的线性化和二次函数拟合会引入近似误差,尤其在发动机低负荷区(效率变化剧烈),拟合误差可达8-12%。
-
通信延迟问题:在分布式控制架构中(如车辆队列协同),控制器间的通信延迟会导致优化不同步。测试表明,100ms延迟可使队列协同
📚2 运行结果
通过运行Main.m脚本生成的图表如下所示,其中ADMM的结果与CVX的结果完全匹配。,ADMM代码大约需要0.6秒,而CVX则需要大约800秒。
部分代码:
function [ E, u, time, iterations ] = f_ADMM( coeffs,Pdrv,E0,Pbmin,Pbmax,xmin,xmax,P,C,R,V,misc )
N = length(Pbmin);
rho1 = 2.34E-4;
rho2 = 1E-8;
alpha2 = coeffs(:,1);
alpha1 = coeffs(:,2);
alpha0 = coeffs(:,3);
beta2 = coeffs(:,4);
beta1 = coeffs(:,5);
beta0 = coeffs(:,6);
%% Feasibility check
%% Initialization (these operations can be performed offline and are not timed)
u = zeros(N,1);
u(C) = Pbmin(C);
zeta = zeros(N,1);
lambda1 = zeros(N,1);
lambda2 = zeros(N,1);
I = eye(N);
Psi = tril(ones(N,N));
M = (rho1/rho2 * inv(Psi) * (inv(Psi)') + I);
L = chol(M)';
L = sparse(L);
Diff = sparse(inv(Psi));
Difft = sparse(inv(Psi)');
%% Algorithm
tic
iterations = 0;
flag = 1;
while flag
% The u update for k in P is the solution of a convex optimization
% problem. This is solved using a newton method that is included in the
% function f_BacktrackingNewtonVector
u(P) = f_BacktrackingNewtonVector(alpha0(P), alpha1(P), alpha2(P), beta0(P), beta1(P), beta2(P), V, R, Pdrv(P), rho1, zeta(P), lambda1(P), Pbmin(P), Pbmax(P));
% The x update is trivial
x = E0 - cumsum(zeta) - lambda2;
x(x > xmax) = xmax;
x(x < xmin) = xmin;
%hold the current value of zeta for residual calculations
zetahold = zeta;
% The zeta update is solved using a method detailed in Appendix D of
% "Optimal Power Allocation in Battery/Supercapacitor Electric Vehicles
% using Convex Optimization", available at
% https://ieeexplore.ieee.org/document/9193947
% and
% https://arxiv.org/abs/2005.03678
vec = rho1 * (u + lambda1) - rho2 * cumsum(x - E0 + lambda2, 'reverse');
vec = vec / rho2;
vec = Difft * vec;
vec = Diff * vec;
vec = L \ vec;
zeta = L' \ vec;
% The residual and Lagrange multiplier updates are also trivial
r = [u - zeta; x + cumsum(zeta) - E0];
s = [rho1 * (zetahold - zeta); rho2*cumsum(zetahold - zeta)];
lambda1 = lambda1 + (u - zeta);
lambda2 = lambda2 + (x + cumsum(zeta) - E0);
iterations = iterations + 1;
% Termination criteria
if iterations > misc.maxIterations
flag = 0;
end
if max(norm(r), norm(s)) < misc.epsilon
flag = 0;
end
end
time = toc;
E = E0 - cumsum(u);
return
🎉3 参考文献
文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。