1.2.6 可调节值迭代算法
VI 算法的瓶颈问题之一是如何加快算法的收敛速度,减少学习阶段的迭代次数。已有一些工作对此进行了研究,文献[56]设计了一种VI和PI混合的框架以改善迭代过程的收敛速度,但PI的额外计算代价仍无法避免。文献[57]提出了一种具有资格迹的T-步HDP算法,有效地提升了算法的收敛速度,但步长的选择仍有待探索。总体来说,ADP方法中关于VI算法收敛速度的工作依然较少,开展加速学习的研究势在必行。
通过融合历史迭代信息,文献[34]提出了一种能够调节代价函数序列收敛速度的可调节 VI 算法,这有利于为非线性系统更快地寻求最优控制策略。令V0(x)=0,易知如式(1-11)更新的迭代代价函数满足Vi (x)≤Vi+1(x)。为了更好地理解可调节VI机制,定义一个考虑历史迭代信息的代价函数为
其中,ω∈ (−1,a)是松弛因子,a是一个有上界的正数。引入Ki (xk)的关键之处是考虑了两个迭代代价函数之间的增量信息,即ω(Vi(xk )−Vi−1(xk))。由于,可以推出K∞(x)=J*(x)。考虑Vi (x)是一个单调非减的代价函数序列,由此可得
不难看出,参数ω影响着迭代序列Ki (x)的收敛速度。当ω∈(−1,0)时,Ki (x)比Vi(x)收敛得慢。当ω=0时,Ki(x)=Vi (x)。当ω∈(0,a)时,如果参数ω能够保证序列Ki(x)单调非减,则Ki(x)比Vi(x)收敛得快。一方面,Ki(x)依赖于Vi(x),即需要提前得到Vi(x)才能推出Ki(x)的值,这限制了Ki(x)的应用。但从另一个角度看,引入历史迭代信息的操作为调节迭代算法的收敛速度提供了良好思路。接下来,通过省去中间变量Ki(x),给出一种新的策略评估形式以加快代价函数趋向于最优值的速度。初始化代价函数为,对于i∈N,迭代地更新控制策略
和代价函数
其中,ω>0是松弛因子。式(1-22)中的迭代形式是一种自励机制,这与式(1-19)中的他励机制不同。这里的自励与他励针对是否考虑代价函数本身的激励作用而言。共同点是两种代价函数都考虑了历史迭代信息,具备收敛速度可调的性能[58]。当ω =1时,可调节VI正是广义VI。当ω∈(0,1)时,可调节VI为欠松弛方法,与传统VI算法相比,在初始代价函数相同的情况下产生的迭代代价函数序列具有较慢的收敛速度。当ω>1时,可调节VI为超松弛方法,与传统VI算法相比,在初始代价函数相同的情况下产生的迭代代价函数序列具有较快的收敛速度。考虑不同的松弛因子,可调节VI算法的收敛性和稳定性如下所示。
(1)收敛性:令控制策略和代价函数根据式(1-21)和式(1-22)迭代更新。假设条件0≤J*(F(xk ,uk))≤βU(xk,uk)成立,初始代价函数满足,其中0<β<∞且。第一种情况,如果松弛因子满足0<ω≤1,则根据式(1-23)逼近最优代价函数
第二种情况,如果松弛因子满足
其中,ρ∈(0,1)且,则代价函数根据式(1-25)逼近最优代价函数
(2)稳定性:令控制策略和代价函数根据式(1-21)和式(1-22)迭代更新。令。假设松弛因子满足
如果迭代代价函数满足
则受控于迭代策略的闭环系统渐近稳定。
为了清晰展示可调节VI算法的性能,图1-4给出了不同松弛因子作用下代价函数序列的收敛过程,即ω越大,代价函数序列收敛越快。值得一提的是,ω只能保证在如式(1-24)所示的一定区间内实现加速,如果ω过大则会导致代价函数序列发散。但是,式(1-24)只是一个合适的上界,实际的加速区间可能大于这个范围,给出范围更大的松弛因子上界仍是一个开放问题。可调节设计的初衷是为了加快传统VI和广义VI算法的收敛速度,这有助于通过减少迭代次数从而降低计算量。但实际上,加速理念也可推广到其他迭代算法,如稳定VI、集成VI、PI等算法。例如,文献[59]提出了一种基于可调节VI和稳定VI的混合VI机制,通过引入吸引域来实现演化控制。当前,可调节VI算法主要集中在离线VI框架和最优调节问题,但连续超松弛方法针对在线控制、跟踪控制、H∞控制等也具有很大的潜力,开发出一个完整的加速理论框架是一个充满挑战且令人振奋的工作。
图1-4 可调节VI算法的代价函数序列收敛过程