最优控制(控制无边界)的数值求解- Lagrange problem

本文介绍了最优控制问题的求解方法,基于Pontryagin原则,通过迭代步骤设计了一个数值算法,包括状态变量的向前求解、伴随函数的向后求解以及控制变量的更新过程,强调了凸组合在控制更新中的重要性和灵活性。
摘要由CSDN通过智能技术生成

首先介绍最优控制问题:

\max\limits_{u} \int_{t_{0}}^{t_{1}} f(t, x(t), u(t))dt

subject to \dot{x}(t)=g(t, x(t), u(t))                  (1)

   x(t_{0})=x_{0} and x(t_{1}) free.

假设最优控制 u^{*}(t)及对应的状态变量 x^{*}(t)存在,  那么依据Pontryagin's principle可知, 对于Hamiltonian 函数

H(t, x(t), u(t), \lambda(t))=f(t, x(t), u(t))+\lambda(t) g(t, x(t), u(t))       (2)

其中伴随函数 \lambda(t) 和最优控制 u^{*} 满足:

\dot{\lambda}(t)=-\frac{\partial H}{\partial x}=-\left( f_{x}(t, x(t), u(t)) +\lambda(t) g_{x}(t, x(t), u(t))\right )           (3)

\lambda(t_{1})=0                                                                                                        (4)

\frac{\partial H}{\partial u}\mid_{u=u^{*}}=f_{u}(t, x(t), u(t))+\lambda(t) g_{u}(t, x(t), u(t))\mid_{u=u^{*}}=0         (5)

由最优控制满足的必要条件可设计如下数值算法求解:

step1. 猜测初始控制 u.

step2. 由系统的初始条件 x(t_{0})=x_{0} 和控制 u, 利用 (1)式, 向前求解状态变量 x(t).

step3. 利用横截条件 \lambda(t_{1})=0 以及控制 u 和状态变量 x, 结合 (3) 式, 向后求解伴随函数 \lambda(t).

step4. 依据新的 \lambda 和 x, 结合 (5) 式, 更新控制变量 u.

step5. 检查收敛性, 若迭代变量非常接近, 则输出当前的值 u, \lambda, x. 若迭代变量的值不接近, 则返回 step2.

Tips: 在step4中如何更新新的控制 u 非常重要, 文献建议使用先前的控制值与当前的控制特征进行凸组合来实现更新. 不过凸组合的方法也很多, 在数值求解最优控制时, 可尝试使用不同的凸组合进行更新, 尤其是在常用的凸组合求解出现问题时.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值