Discrete-Time Nonlinear HJB Solution Using Approximate Dynamic Programming: Convergence Proof ,2008 Asma Al-Tamimi; Frank L. Lewis; Murad Abu-Khalaf IEEE Transactions on Systems
对离散非线性系统的整定问题,给出基于值迭代的HDP算法和收敛性证明,HDP收敛于最优控制和最优值函数,求解无限时域离散时间非线性系统中最优控制出现的HJB方程。给出值和动作的更新方程。评价网络近似值函数,动作网络近似最优控制,模型网络逼近实际系统。迭代值函数单调不减、有界,收敛到最优值。HDP算法实现不需要系统的内部动力学。对LQR问题,动作为线性的,值函数为二次型,神经网络没有近似误差。其他文献常仅有一个评价网络。
给出动态规划(DP)求解DARE是向后计算的,而HDP求解是向前计算的。HDP算法作为VI算法,不需要初始的稳定增益。
Lemma1给出任意控制序列下,辅助值函数与迭代值函数的不等式
Lemma2系统稳定时,值函数存在上界;若最优控制可求解时,
V
∗
(
x
k
)
≤
Y
(
x
k
)
V ^{*}(x_k) ≤ Y (x_k)
V∗(xk)≤Y(xk),有
0
≤
V
i
(
x
k
)
≤
V
∗
(
x
k
)
≤
Y
(
x
k
)
0≤ V_i(x_k) ≤ V ^{*}(x_k) ≤ Y (x_k)
0≤Vi(xk)≤V∗(xk)≤Y(xk)
Theorem1给出迭代值函数序列是单调不减,当迭代次数趋于无穷时,值函数收敛到最优,迭代控制收敛到最优。
给出激活函数的条件,使得初始值函数满足条件。调整评价网络权重,根据近似值函数和状态二次型构造残差。采用加权残差法求解最小二乘解。
HDP 算法流程框图
给出评价网络权重更新和动作网络权重更新,由于动作网络权重隐式,难以求解,故根据随机逼近得到。
f
(
x
k
)
f (x_k)
f(xk)不需要,即内部动力学不需要。但需要输入耦合项g(x)。
Assumption1给出PE条件
仿真:基于值迭代 HDP算法。LQR,在未知系统矩阵A下,使用两个神经网络实现HDP算法。
pytorch实现
matlab实现
代码私聊
缺点不足:
- 值迭代在无穷次终止,而实际系统是在有限次迭代下。且实际系统必须在有限次迭代下找到有效的控制策略,值迭代中的控制策略可容许性不能得到保证,迭代控制策略不能保证系统稳定,只能通过预训练的数据离线执行。需要完整的系统动力学模型。
- 当为得到最优控制,需要求得最优值函数,其通过VI算法的值函数迭代到收敛。而根据初始值函数必须为0,以保证满足其收敛性,但这条件比较苛刻。
- 未考虑神经网络或者函数近似器的近似误差,会影响VI算法的有效性