1.2.4 集成值迭代算法
作为迭代算法不可或缺的一个分支,PI 被认为是解决最优调节问题的有力工具[28, 42, 53-54]。与VI算法不同,PI通常需要一个初始容许控制。令是一个任意的容许控制策略,对于i∈ N,PI算法在策略评估
和策略提升
之间交替进行。在迭代阶段,PI的突出优点是所有迭代控制策略都是容许的,且迭代代价函数是单调非增的[28]。注意到未知项存在于式(1-15)两边,这意味着每次策略评估需要引入内部迭代,在一定程度上增大了计算量。为了寻求类似 PI的稳定迭代策略和如同VI的简单迭代形式,文献[31]提出了一种稳定 VI 算法用于构建单调非增的代价函数序列。稳定 VI 算法的初始化与 PI一致,即
然后,对于i∈ N,迭代控制策略和代价函数的更新如式(1-10)和式(1-11)所示。与广义VI算法相比,唯一的不同是稳定VI的初始代价函数需要满足式(1-17)。事实上,稳定VI可以视作一步PI算法和VI算法的结合。基于这种操作,稳定 VI 算法能够保证迭代过程的控制策略都是稳定的,这与广义VI算法的V0(x)>V1(x)情形具有同样的效果。在一般情况下,如果一个初始状态从一个区域内开始,则无法保证整个状态轨迹仍保持在其内部。如果轨迹超出了这个区域,则训练的控制器可能变得无效,这是由于控制器的学习范围有限,无法遍历整个状态空间。为了解决这个问题,文献[31]指出由稳定 VI 算法产生的每一个稳定策略ui(x)都对应一个吸引域Vi(x)≤r}⊂Ω。在固定策略ui(x)的作用下,由于Vi(xk+1 )<Vi(xk)≤r,于是从可以推出。基于上述描述可以得出结论:如果系统初始状态x0位于域,则整个状态轨迹都保持在这个域内,系统状态轨迹如图1-2所示。
图1-2 使用固定控制策略的系统状态轨迹
稳定 VI 算法能够保证所有控制策略的稳定性,但如何获得初始容许策略依然悬而未决。为了放松初始化要求,文献[32]提出采用传统VI算法为稳定VI算法提供容许策略,这种设计称为集成VI算法。简单来说,集成VI算法包含3个阶段。首先,根据式(1-10)和式(1-11)执行传统 VI 算法直到式(1-14)中的容许性判别准则成立,记此时的容许策略为。其次,根据式(1-17)执行一步PI算法,可以得到
最后,令并根据式(1-10)和式(1-11)实现稳定VI算法。从性能上看,集成 VI 算法具有易获得的零初始代价函数,也可保证迭代策略都是容许的。总体而言,稳定 VI 及其扩展版本集成 VI 都可通过构造单调非增的代价函数序列来确保迭代控制策略的容许性,这为离线和在线控制提供了稳定性保证。在图1-3中,给出了传统VI、广义VI、稳定VI和集成VI算法下的代价函数序列收敛过程,这也为理解不同算法的收敛性和稳定性提供了更直观的视角。
图1-3 不同VI算法的代价函数序列收敛过程