简介
通过将多阶段过程转化为一系列单阶段问题,来逐个求解。
动态规划主要用于求解以时间划分阶段的动态过程的优化问题,但是针对静态规划问题,也可以人为的引进时间因素,将其视为多阶段决策过程,用动态规划更加简便的求解。
基本概念和方程
一个多阶段决策过程最优化问题的动态规划模型通常包含以下要素
阶段
是对整个过程的自然划分。通常根据时间顺序或空间顺序特征来划分阶段,以便按阶段的次序解优化问题。
状态
表示每个阶段开始时过程所处的自然状况。应能描述过程的特征并且没有后效性,即当某阶段的状态变量给定时,这个阶段以后过程的演变与该阶段以前各阶段的状态无关。通常还要求状态是直接或间接可以观测的。
描述状态的变量称为状态变量。变量允许取值的范围称允许状态集合。用 $x_k$ 表示第 $k$ 阶段的状态变量,它可以是一个数或一个向量。用 $X_k$ 表示第 $k$ 阶段的允许状态集合。
状态变量简称状态。
决策
当一个阶段的状态确定后,可以做出某种选择从而演变到下一个阶段的某种状态,这种选择手段称为决策,在最优控制问题中也称为控制。
描述决策的变量称为决策变量,变量允许取值的范围称为允许决策集合。用 $u_k(x_k)$ 表示第 $k$ 阶段处于状态 $x_k$ 时的决策变量,它是 $x_k$ 的函数,用 $U_k(x_k)$ 表示 $x_k$ 的允许决策集合。
决策变量简称决策。
策略
决策组成的序列称为策略。由初始状态 $x_1$ 开始的全过程的策略记作 $p_{1n}(x_1)$ ,即 $p_{1n}(x_1)=\{u_1(x_1),u_2(x_2),…,u_n(x_n)\}$ ,由第 $k$ 阶段的状态 $x_k$ 开始到终止状态的后部子过程的策略记作 $p_{kn}(x_k)$ ,即 $p_{kn}(x_k)=\{u_k(x_k),…,u_n(x_n)\}, k=1,2,…,n-1$ ,类似的,由第 $k$ 到第 $j$ 阶段的子过程的策略被记作 $p_{kj}(x_k)=\{u_k(x_k),…,u_j(x_j)\}$ 。
可供选择的策略有一定的范围,称为允许策略集合。
状态转移方程
用来表示某阶段的状态到下阶段的状态的演变过程。
在确定性过程中,一旦某阶段的状态和决策为已知,下阶段的状态便完全确定。用状态转移方程表示这种演变规律,写作
指标函数和最优值函数
指标函数是衡量过程优劣的数量指标,它是定义在全过程和所有后部子过程上的数量函数。过程在第 $j$ 阶段的阶段指标取决于状态 $x_j$ 和 决策 $u_j$ ,指标函数由阶段指标之和或阶段指标之积组成,或阶段指标之极大(或极小)。
根据状态转移方程,指标函数也可以由状态 $x_k$ 和策略 $p_{kn}$ 表示。在 $x_k$ 给定时,指标函数对 $p_{kn}$ 的最优值称为最优值函数,记为 $f_k(x_k)$
最优策略和最优轨线
使指标函数达到最优值的策略是从$k$ 开始的后部子过程的最优策略。全过程的最优策略简称最优策略。从初始状态出发,过程按照最优策略和状态转移方程演变所经历的状态序列称为最优轨线。
递归方程
如下方程称为递归方程:
在上述方程中,当 $\otimes$ 为加法时取 $f_{n+1}(x_{n+1})=0$ 当 $\otimes$ 为乘法时,$f_{n+1}(x_{n+1})=1$ 。
动态规划递归方程是动态规划的最优性原理的基础,即:最优策略的子策略,构成最优子策略。用状态转移方程(1)和递归方程(2)求解动态规划的过程,是由 $k=n+1$ 逆推至 $k=1$ ,故这种解法称为逆序解法。当然也可以采用顺序解法。
顺序解法的状态转移方程和递归方程分别为:
建立模型的步骤
- 将过程划分成恰当的阶段
- 正确选择状态变量 $x_k$ ,使它既能描述过程的状态,又满足无后效性,同时确定允许状态集合 $X_k$
- 选择决策变量 $u_k$ ,确定允许决策集合 $U_k(x_k)$
- 写出状态转移方程
- 确定阶段指标 $v_k(x_k,u_k)$ 及指标函数 $V_{kn}$ 的形式(阶段指标之和,之积或极大极小等)
- 写出基本方程,即最优值函数满足的递归方程,以及端点条件