当前位置:   article > 正文

【最优控制笔记】——4自适应动态规划3_自适应动态规划中值迭代和策略迭代的区别

自适应动态规划中值迭代和策略迭代的区别

自适应动态规划

2 策略迭代

2.1离散策略迭代

策略迭代与值迭代的异同

值迭代通过先给定值函数V,策略迭代先给定控制率u

两者原理上类似,都采用控制率u更新迭代,使V最终收敛的方式逼近最优性能指标

2.1.1原理:

初始给定一个容许控制率 u 0 ( x k ) u_0(x_k) u0(xk),可以得到性能指标:

V 0 ( x k ) = g D ( x k , u 0 ( x k ) ) + V 0 ( f D ( x k , u 0 ( x k ) ) ) V_0(x_k)=g_D(x_k,u_0(x_k))+V_0(f_D(x_k,u_0(x_k))) V0(xk)=gD(xk,u0(xk))+V0(fD(xk,u0(xk)))

可以得到迭代控制率:

u 1 ( x k ) = argmin ⁡ u k { g D ( x k , u k ) + V 0 ( x k + 1 ) } u_1(x_k)=\underset{u_k}{\operatorname*{argmin}}\{g_D(x_k,u_k)+V_0(x_{k+1})\} u1(xk)=ukargmin{gD(xk,uk)+V0(xk+1)}

进一步地,可以按照以上过程得到 i = 1 , 2 , . . . , K i=1,2,...,K i=1,2,...,K步的性能指标:

V i ( x k ) = g D ( x k , u i ( x k ) ) + V i ( f D ( x k , u i ( x k ) ) ) V_i(x_k)=g_D(x_k,u_i(x_k))+V_i(f_D(x_k,u_i(x_k))) Vi(xk)=gD(xk,ui(xk))+Vi(fD(xk,ui(xk)))

获得控制率:

u i + 1 ( x k ) = argmin ⁡ u k { g D ( x k , u k ) + V i ( x k + 1 ) } u_{i+1}(x_k)=\underset{u_k}{\operatorname*{argmin}}\{g_D(x_k,u_k)+V_i(x_{k+1})\} ui+1(xk)=ukargmin{gD(xk,uk)+Vi(xk+1)}

可以证明 V i V_i Vi是单调非增的序列,因此 V ∞ V_\infty V存在,并且有迭代近似值函数收敛至值函数:

lim ⁡ i → ∞ V i ( x k ) = V ( x k ) \lim_{i\to\infty}V_i(x_k)=V(x_k) limiVi(xk)=V(xk)

2.1.2 说明:

对于任意初始控制率 u 0 u_0 u0,上述策略迭代过程得到的控制率 u i ( x k ) u_i(x_k) ui(xk)都是稳定控制。且迭代近似值函数 V i ( x k ) V_i(x_k) Vi(xk)单调非增的序列。

证明稳定:

迭代的近似值函数可以表示为:

V i ( x k ) = ∑ l = 0 ∞ g D ( x k + l , u i ( x k + l ) ) V_i(x_k)=\sum_{l=0}^\infty g_D(x_{k+l},u_i(x_{k+l})) Vi(xk)=l=0gD(xk+l,ui(xk+l))

其是正定的,那么根据近似性能指标有:

V i ( x k + 1 ) − V i ( x k ) = V i ( x k ) − g D ( x k , u i ( x k ) ) − V i ( x k ) = − g D ( x k , u i ( x k ) ) < 0

Vi(xk+1)Vi(xk)=Vi(xk)gD(xk,ui(xk))Vi(xk)=gD(xk,ui(xk))<0
Vi(xk+1)Vi(xk)=Vi(xk)gD(xk,ui(xk))Vi(xk)=gD(xk,ui(xk))<0

其是稳定控制。

证明单调非增:

即证明 V i + 1 ( x k ) ≤ V i ( x k ) V_{i+1}(x_k)\leq V_i(x_k) Vi+1(xk)Vi(xk),可以通过:

证明中间函数 Γ i + 1 ( x k ) ≤ V i ( x k ) \Gamma_{i+1}(x_k)\leq V_i(x_k) Γi+1(xk)Vi(xk),再证明 V i + 1 ( x k ) ≤ Γ i + 1 ( x k ) V_{i+1}(x_k)\leq\Gamma_{i+1}(x_k) Vi+1(xk)Γi+1(xk)即可。

2.2 连续策略迭代

主要区别是性能指标从累加变成了积分!

对系统:

x ˙ = A ( x ) + B ( x ) u \dot{x}=A(x)+B(x)u x˙=A(x)+B(x)u

其性能指标(实际用的时候争取能写成以下二次型形式):

J ( x ) = ∫ 0 ∞ g ( x , u ) d t = ∫ 0 ∞ ( x T Q x + u T R u ) d t J(x)=\int_0^\infty g(x,u)dt=\int_0^\infty(x^TQx+u^TRu)dt J(x)=0g(x,u)dt=0(xTQx+uTRu)dt

(因为二次型 ≥ 0 \geq0 0的形式,可以求极小值)

值函数为:

V ( x ) = min ⁡ J ( u ; x ) V(x)=\min J(u;x) V(x)=minJ(u;x)

其HJB方程为:

0 = min ⁡ u { g ( x , u ) + d V ( x ) d x ⋅ ( A ( x ) + B ( x ) u ) } 0=\min_u\{g(x,u)+\frac{dV(x)}{dx}\cdot(A(x)+B(x)u)\} 0=minu{g(x,u)+dxdV(x)(A(x)+B(x)u)}

其是偏微分方程,很难求解析解

→策略迭代方式求近似解:

过程:

类似地,初始一个容许控制 u 0 u_0 u0,使其满足:

0 = g ( x , u 0 ) + d V 0 ( x ) d x ⋅ ( A ( x ) + B ( x ) u 0 ) 0=g(x,u_0)+\frac{dV_0(x)}{dx}\cdot(A(x)+B(x)u_0) 0=g(x,u0)+dxdV0(x)(A(x)+B(x)u0)

有:

u 1 = arg ⁡ min ⁡ { g ( x , u ) + d V 0 ( x ) d x ⋅ ( A ( x ) + B ( x ) u ) } u_1=\arg\min\{g(x,u)+\frac{dV_0(x)}{dx}\cdot(A(x)+B(x)u)\} u1=argmin{g(x,u)+dxdV0(x)(A(x)+B(x)u)}

进一步地,迭代可得 i = 1 , 2 , . . . , K i=1,2,...,K i=1,2,...,K时,有:

0 = g ( x , u i ) + d V i ( x ) d x ⋅ ( A ( x ) + B ( x ) u i ) 0=g(x,u_i)+\frac{dV_i(x)}{dx}\cdot(A(x)+B(x)u_i) 0=g(x,ui)+dxdVi(x)(A(x)+B(x)ui)

u i + 1 = arg ⁡ min ⁡ { g ( x , u ) + d V i ( x ) d x ⋅ ( A ( x ) + B ( x ) u ) } u_{i+1}=\arg\min\{g(x,u)+\frac{dV_i(x)}{dx}\cdot(A(x)+B(x)u)\} ui+1=argmin{g(x,u)+dxdVi(x)(A(x)+B(x)u)}

u i = u i + 1 u_i=u_{i+1} ui=ui+1成立,则迭代求解完成。

连续策略迭代稳定性:
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/716603
推荐阅读
相关标签
  

闽ICP备14008679号