首先介绍最优控制问题:
subject to (1)
and free.
假设最优控制 及对应的状态变量 存在, 那么依据Pontryagin's principle可知, 对于Hamiltonian 函数
(2)
其中伴随函数 和最优控制 满足:
(3)
(4)
(5)
由最优控制满足的必要条件可设计如下数值算法求解:
step1. 猜测初始控制 .
step2. 由系统的初始条件 和控制 , 利用 (1)式, 向前求解状态变量 .
step3. 利用横截条件 以及控制 和状态变量 , 结合 (3) 式, 向后求解伴随函数 .
step4. 依据新的 和 , 结合 (5) 式, 更新控制变量 .
step5. 检查收敛性, 若迭代变量非常接近, 则输出当前的值 . 若迭代变量的值不接近, 则返回 step2.
Tips: 在step4中如何更新新的控制 非常重要, 文献建议使用先前的控制值与当前的控制特征进行凸组合来实现更新. 不过凸组合的方法也很多, 在数值求解最优控制时, 可尝试使用不同的凸组合进行更新, 尤其是在常用的凸组合求解出现问题时.