数值法求解最优控制问题(〇)——定义

同步发布在这里:https://leilie.top/2022-07-01/Study-OPC

基本描述

本篇文章给出最优控制问题的完整描述。

最优控制问题可简述为:对于一个受控系统,在满足约束条件下,寻求最优的控制量使性能指标最小。

数学描述为:寻找控制变量 u ( t ) ∈ R m \boldsymbol{u}(t) \in \mathbb{R}^m u(t)Rm,使得性能指标

J = Φ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) + ∫ t 0 t f L ( x ( t ) , u ( t ) , d ) d t J = \Phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f) + \int_{t_0}^{t_f} L(\mathbf{x}(t),\mathbf{u}(t),d) \text{d}t J=Φ(x(t0),t0,x(tf),tf)+t0tfL(x(t),u(t),d)dt

最小。

状态变量和控制变量满足如下约束:

x ˙ ( t ) = f ( x ( t ) , u ( t ) , t ) t ∈ [ t 0 , t f ] , ϕ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) = 0 , C ( x ( t ) , u ( t ) , t ) ≤ 0. \begin{matrix} &\boldsymbol{\dot x}(t) = \boldsymbol{f}(\boldsymbol{x}(t),\boldsymbol{u}(t),t) \quad t \in [t_0,t_f], \\ &\phi (\boldsymbol{x}(t_0),t_0,\boldsymbol{x}(t_f),t_f)=0, \\ &\mathbf{C}(\mathbf{x}(t),\mathbf{u}(t),t) \le 0. \end{matrix} x˙(t)=f(x(t),u(t),t)t[t0,tf],ϕ(x(t0),t0,x(tf),tf)=0,C(x(t),u(t),t)0.

式中, x ( t ) ∈ R n \boldsymbol{x}(t) \in \mathbb{R}^n x(t)Rn 为状态变量, u ( t ) ∈ R m \boldsymbol{u}(t) \in \mathbb{R}^m u(t)Rm 为控制变量, t 0 t_0 t0 为初始时间, t f t_f tf 为终端时间。

状态变量的边界条件满足:

x ∈ X ⊂ R n , X = { x ∈ R n : x l o w e r ≤ x ≤ x u p p e r } \boldsymbol{x} \in X \subset \mathbb{R}^n, \quad X = \left \{x \in \mathbb{R}^n: x_{lower} \le x \le x_{upper} \right \} xXRn,X={xRn:xlowerxxupper}

x l o w e r x_{lower} xlower 为状态变量下界, x u p p e r x_{upper} xupper 为状态变量上界。

控制变量的边界条件满足:

u ∈ U ⊂ R m , U = { u ∈ R m : u l o w e r ≤ u ≤ u u p p e r } \boldsymbol{u} \in U \subset \mathbb{R}^m, \quad U = \left \{u \in \mathbb{R}^m: u_{lower} \le u \le u_{upper} \right \} uURm,U={uRm:uloweruuupper}

u l o w e r u_{lower} ulower 为控制变量下界, u u p p e r u_{upper} uupper 为控制变量上界。

上式 Φ , L , f , ϕ , C \mathit{\Phi}, L, \boldsymbol{f}, \phi, \boldsymbol{C} Φ,L,f,ϕ,C 定义为:

Φ :   R n × R × R n × R → R , L :   R n × R m × R → R , f :   R n × R m × R → R n , ϕ :   R n × R × R n × R → R q , f :   R n × R m × R → R c , \begin{aligned} &\mathit{\Phi}: \ \mathbb{R}^n \times \mathbb{R} \times \mathbb{R}^n \times \mathbb{R} \rightarrow \mathbb{R}, \\ &L: \ \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \rightarrow \mathbb{R}, \\ &\boldsymbol{f}: \ \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \rightarrow \mathbb{R}^n, \\ &\phi: \ \mathbb{R}^n \times \mathbb{R} \times \mathbb{R}^n \times \mathbb{R} \rightarrow \mathbb{R}^q, \\ &\boldsymbol{f}: \ \mathbb{R}^n \times \mathbb{R}^m \times \mathbb{R} \rightarrow \mathbb{R}^c, \\ \end{aligned} Φ: Rn×R×Rn×RR,L: Rn×Rm×RR,f: Rn×Rm×RRn,ϕ: Rn×R×Rn×RRq,f: Rn×Rm×RRc,

最优控制中,控制量是时序变化的,其求解结果是若干条曲线。控制曲线确定后,状态曲线可依据微分动力学系统确定。

组成部分

上述最优控制问题一般由四部分组成,分别为:

  • 性能指标;
  • 控制系统微分方程约束;
  • 边界约束;
  • 路径约束。

性能指标

性能指标即优化问题中的目标函数,不过在最优控制领域我们叫它为性能指标。性能指标是衡量控制系统优劣的重要标志,一般有三种形式,分别是:

  • Mayer型性能指标;
  • Lagrange型性能指标;
  • Bolza型性能指标。

Mayer型性能指标

又称常值型性能指标,仅考虑控制系统在终端时间点各状态变量、控制变量、时间及其复合关系的指标,如飞行器运动至指定位置所消耗时间(即终端时间)等。数学描述为:

J = Φ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) . J = \Phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f). J=Φ(x(t0),t0,x(tf),tf).

Lagrange型性能指标

又称积分型性能指标,仅强调对整个控制过程的要求,该指标包含对整个时间域内状态变量、控制变量及其复合关系的积分,可表示系统的能量消耗,如控制过程中造成的热量消耗大小等。数学描述为:

J = ∫ t 0 t f L ( x ( t ) , u ( t ) , d ) d t . J = \int_{t_0}^{t_f} L(\mathbf{x}(t),\mathbf{u}(t),d) \text{d}t. J=t0tfL(x(t),u(t),d)dt.

Bolza型性能指标

又称复合型性能指标,是Mayer型和Lagrange型的组合,不仅强调终端时刻的系统状态,还强调对控制系统过程的要求。该形式在一定条件下可转化为上述两种形式,所以描述一般最优控制问题性能指标时采用Bolza型性能指标。数学描述为:

J = Φ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) + ∫ t 0 t f L ( x ( t ) , u ( t ) , d ) d t . J = \Phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f) + \int_{t_0}^{t_f} L(\mathbf{x}(t),\mathbf{u}(t),d) \text{d}t. J=Φ(x(t0),t0,x(tf),tf)+t0tfL(x(t),u(t),d)dt.

控制系统微分方程约束

优化问题包含多种约束,最优控制问题也是一种特殊的优化问题,它的特殊之处在于约束条件有微分方程存在。

任何控制系统都需要使用微分方程组描述运动过程,例如飞行器受引力和推力作用,结合自身质量变化等特性,建立可描述其运动规律的动力学微分方程;机器人的机械手受力矩作用,结合自身手臂长度、质量、关节等特性,建立可描述其运动规律的动力学微分方程。上述方程可用微分代数方程(Differential Algebraic Equation,DAE)描述,为:

x ˙ ( t ) = f ( x ( t ) , u ( t ) , t ) t ∈ [ t 0 , t f ] . \boldsymbol{\dot x}(t) = \boldsymbol{f}(\boldsymbol{x}(t),\boldsymbol{u}(t),t) \quad t \in [t_0,t_f]. x˙(t)=f(x(t),u(t),t)t[t0,tf].

边界约束

控制系统中常常需要给定初始状态或末端状态,如火箭刚发射时的高度、速度等条件(即初始状态),在末端时刻需要指定火箭的高度、速度等条件(即末端状态)。在最优控制问题中,将上述处于某种特定时刻点处的状态称为边界约束。数学描述为:

ϕ ( x ( t 0 ) , t 0 , x ( t f ) , t f ) = 0. \phi (\mathbf{x}(t_0),t_0,\mathbf{x}(t_f),t_f) = 0. ϕ(x(t0),t0,x(tf),tf)=0.

路径约束

控制系统在整个时间区段中必须满足的约束条件被称为路径约束。

路径约束和边界约束的区别是,路径约束发生在整个时间区段中,边界约束发生在特定时刻点上。

常见的路径约束包括:

  • 状态变量在整个控制过程的上、下限,如飞行器位置、速度等;
  • 控制变量在整个控制过程的上、下限,如电机的输出功率、力矩等;
  • 状态变量和控制变量组合而成的函数上、下限,如飞行器或机械手需要确保不能经过某些特定区域。

路径约束的数学描述为:

C ( x ( t ) , u ( t ) , t ) ≤ 0. \mathbf{C}(\mathbf{x}(t),\mathbf{u}(t),t) \le 0. C(x(t),u(t),t)0.

总结

至此,便以给出性能指标、控制系统微分方程约束、边界约束和路径约束的数学描述。上述四部分完整定义了最优控制问题。

求解最优控制问题,也就是求解在满足上述三大类约束条件下使性能指标最小的优化问题。

欢迎通过邮件联系我:lordofdapanji@foxmail.com

  • 11
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
最优装载问题是指在给定一些货物和一些集装箱的容量限制下,如何选择并装载货物使得装载的总重量最大。这是一个经典的组合优化问题,可以使用回溯进行求解。 回溯的基本思想是将问题的解空间表示成一个树形结构,从根节点开始递归搜索所有可能的解,当搜索到叶子节点时,判断该叶子节点是否满足问题的约束条件,如果满足则记录该解,并回溯到上一层继续搜索,如果不满足则直接回溯到上一层。 具体来说,对于最优装载问题,可以将每个货物看作一个节点,每个节点有两种状态,即选中和不选中。从根节点开始,依次选择每个节点的状态,计算当前装载的总重量,如果超出了集装箱的容量限制则回溯到上一层,否则继续递归搜索下一层节点。当搜索到叶子节点时,记录当前的最优解,并回溯到上一层继续搜索。最终,所有可能的解都会被搜索到,从中选取最优解即可。 需要注意的是,使用回溯求解最优装载问题的时间复杂度很高,因为需要搜索所有可能的解。为了提高效率,可以使用剪枝策略,即在搜索过程中根据当前装载的总重量和集装箱的容量限制,预测当前节点的子树中可能出现的最大总重量,如果该值小于当前的最优解,则可以剪枝,直接回溯到上一层。这样可以避免搜索无用的子树,减少搜索时间。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值