本笔记将通过一个具体的一维动态规划问题,展示如何利用逆向递推最优化原理来求解最优控制策略。

一、 问题定义

我们的目标是找到一组最优控制输入 ,使得一个动态系统在特定时间范围内(例如,从 )的总代价函数 最小。

系统模型(状态方程)

系统状态随时间变化的规律由以下线性差分方程描述:
其中, 是系统在时刻 状态 是在时刻 施加的控制输入

代价函数 (Cost Function)

我们需要最小化的目标是二次型代价函数 ,它由过程中的状态和控制输入的平方和以及最终状态的平方构成:
这个函数旨在惩罚较大的状态误差和过大的控制能量消耗。

边界条件

  • 初始状态: 系统从一个已知的初始状态开始,在本例中为
  • 时间范围: 本案例求解一个 的问题,即从

二、 动态规划求解方法

动态规划的核心思想是最优化原理 (Principle of Optimality):一个最优策略的子策略也必须是最优的。基于此,我们采用逆向递推 (Backward Recursion) 的方法,从最后一步开始,反向推导出每一步的最优决策。

步骤 1:求解最后一个阶段 (k=1) 的最优控制

我们首先考虑从时刻 到终点 的代价,也称为**"未来代价" (Cost-to-Go)**,记为
将状态方程 代入上式:
为了找到使 最小的 ,我们对 求偏导数并令其为零:
解得在时刻 最优控制 与状态 的关系为:
代回 ,得到从时刻 开始的最小未来代价

步骤 2:求解前一个阶段 (k=0) 的最优控制

现在,我们向前递推一步,考虑从 到终点的总代价 。根据最优化原理,总代价可以分解为当前阶段的代价和后续阶段的最优代价之和:
代入:
为了找到使 最小的 ,我们对 求偏导数并令其为零:
解得在时刻 最优控制 与状态 的关系为:

三、 求解结果

根据上述推导,我们可以计算出完整的 dla 最优控制序列和状态轨迹。

最优控制策略

  • :
  • :

最优状态轨迹与控制序列

  1. 初始状态:
  1. 计算 :
  1. 计算 :
  1. 计算 :
  1. 计算 :

最小总代价

代入总代价函数
Loading...