【最优控制笔记】——3动态规划之离散系统

动态规划

说明:

将前述内容进一步扩展,尝试推广到动态规划问题。

6.0.1 求解最优控制的方法:

1)经典最优控制方法

经典变分法、庞特里亚金极值原理、动态规划方法、微分博弈;

2)智能控制方法

模型预测控制、自适应动态规划、数据驱动控制、平行控制。

6.0.2 最优控制的离散化

1)时间

对时间t∈[t0,tf]t\in[t_0,t_f]t[t0,tf]而言,其离散化为:

Δt=(tf−t0)N\Delta t = \frac{(t_f-t_0)}{N}Δt=N(tft0)

tk∈[t0+kΔt,t0+(k+1)Δt]t^k\in[t_0+k\Delta t,t_0+(k+1)\Delta t]tk[t0+kΔt,t0+(k+1)Δt]

2)状态

对状态x˙=f(x(t),u(t),t),x(t0)=x0\dot x=f(x(t),u(t),t),\quad x(t_0)=x_0x˙=f(x(t),u(t),t),x(t0)=x0而言,其离散化为:

x(kΔt+Δt)≈x(kΔt)+f(x(kΔt),u(kΔt),kΔt)Δtx(k\Delta t+\Delta t)≈x(k\Delta t)+f(x(k\Delta t),u(k\Delta t),k\Delta t)\Delta tx(kΔt+Δt)x(kΔt)+f(x(kΔt),u(kΔt),kΔt)Δt

记作:x(k+1)=fD(x(k),u(k),k)x(k+1)= f_D(x(k),u(k),k)x(k+1)=fD(x(k),u(k),k)

3)性能指标

对性能指标J=h(x(tf),tf)+∫t0tfg(x(t),u(t),t)dtJ=h(x(t_f),t_f)+\int_{t_0}^{t_f}g(x(t),u(t),t)dtJ=h(x(tf),tf)+t0tfg(x(t),u(t),t)dt,其离散化为:

在这里插入图片描述

记作:
J=hD(x(N),N)+Σk=0N−1gD(x(k),u(k),k)J=h_D(x(N),N)+\Sigma_{k=0}^{N-1}g_D(x(k),u(k),k)J=hD(x(N),N)+Σk=0N1gD(x(k),u(k),k)

6.1 Bellman最优性原理

6.1.1 定义

动态规划基于Bellman最优性原理,其表述为多级决策过程的最优策略具有如下性质:任意后部子策略都是最优策略,即无论以前状态决策如何,从当前直到最后的每个决策必构成最优子策略。
在这里插入图片描述

数学表述:

对于性能指标:

J(u,x0,k0)=hD(x(N),N)+Σk=k0N−1gD(x(k),u(k),k)J(u,x_0,k_0)=h_D(x(N),N)+\Sigma_{k=k_0}^{N-1}g_D(x(k),u(k),k)J(u,x0,k0)=hD(x(N),N)+Σk=k0N1gD(x(k),u(k),k)

将其最优控制下的性能指标称为“值函数”,记为:

V(x0,k0)=minu∈UJ(u,x0,k0)V(x_0,k_0)=min_{u\in U}J(u,x_0,k_0)V(x0,k0)=minuUJ(u,x0,k0)

根据最优性原理,如下Bellman方程是最优控制的充要条件:

在这里插入图片描述

说明:

→动态规划的最优控制策略需要从最后阶段向前推(这是关键),属于多阶段决策,整体最优一定是局部最优。

→最优控制问题本质上是时间滞后问题。

6.1.2-例子(路径规划问题)

推算过程省略
在这里插入图片描述

可以对比:
从后向前推:确保每一步往后都是最优的,即符合Bellman最优性原理;
②从前向后推:若每一步都取最小的,容易使决策出现问题
这说明:Bellman最优性原理通过限制必须做出的决策数量,减少了计算的数量。

说明:

整个算法是遍历的,所有点只进入一次,每个点只记录最优值即最优值代表的下一步怎么走(只下一个,而不是之后的所有)→多级决策过程

6.2 离散系统的动态规划

6.2.1 思路

根据Bellman最优性原理,系统的性能指标由以下两部分组成:

在这里插入图片描述
对应的,其分别代表优化目标LLL(如从当前点到下一点的最短距离)和总体消耗Jk+1J_{k+1}Jk+1(如该步之后总体的最小消耗)。

因此,从kkk步开始的最优损耗可以写作:

在这里插入图片描述

该式即动态规划的函数方程,满足离散系统的最优性原理。

6.2.2-例子(离散系统LQR问题的动态规划求解)

问题描述:

仍考虑系统:
在这里插入图片描述
其性能指标:
在这里插入图片描述
期望在[i,N][i,N][i,N]时间上,找到令JiJ_iJi最小的最优控制uk∗u_k^*uk,其中,初始状态xix_ixi给定,终端状态xNx_NxN不确定

解决:

从后向前递推的思路很像前述“离散系统最优控制不定终值”情况下的求解,首先从最末端,k=Nk=Nk=N时:

在这里插入图片描述
则有:
在这里插入图片描述

这里Lk(xk,uk)=12xN−1TQxN−1+12uN−1TRuN−1L^k(x_k,u_k)=\frac{1}{2}x_{N-1}^\mathrm{T}Qx_{N-1}+\frac{1}{2}u_{N-1}^\mathrm{T}Ru_{N-1}Lk(xk,uk)=21xN1TQxN1+21uN1TRuN1,根据最优性原理,需要找到uN−1∗u_{N-1}^*uN1使之最小。

将式(1)代入(4)可得:

在这里插入图片描述
因为没有约束,所以最小值点通过“导数=0”的点确定:

在这里插入图片描述
即:
在这里插入图片描述
类似地,这里可以定义Kalman增益:

在这里插入图片描述
进而,将控制量简写成:uN−1∗=−KN−1xN−1u_{N-1}^*=-K_{N-1}x_{N-1}uN1=KN1xN1,代入式(5)得性能指标最小为:

在这里插入图片描述

从上式易知,如果假设SN−1S_{N-1}SN1为:

在这里插入图片描述
则性能指标JkJ_kJk的表达式便可以统一,类似于前述终端状态不定时LQR问题的求解,类似地,各参量都可以写作:

在这里插入图片描述
其中,式(16)被称为the Joseph stabilized Riccati equation。

6.2.3 直接迭代求解法:

在这里插入图片描述

Page33−Page38Page_{33}-Page_{38}Page33Page38

6.2.4 查表法:

在这里插入图片描述
Page43−Page48Page_{43}-Page_{48}Page43Page48

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值