动态规划:原理与应用
1. 引言
动态规划是一种优化方法,它能将复杂问题转化为一系列更简单的子问题。其核心特点在于优化过程的多阶段性质,相较于之前的优化技术,动态规划为分析多种类型的问题提供了一个通用框架。在这个框架内,可以采用各种优化技术来解决更一般化问题的特定方面。不过,通常需要发挥创造力才能识别出某个特定问题可以有效地转化为动态规划问题,并且往往需要敏锐的洞察力来重构问题的表述,以便能够有效地解决它。
下面将通过一个简单的例子深入介绍动态规划方法,然后给出确定性条件下动态规划的正式定义,接着通过一个关于最优容量扩展的实例进行详细分析。此外,还会涉及未来回报的折现、动态规划问题与网络最短路径的关系、连续状态空间问题的示例,以及不确定性条件下动态规划的介绍。
2. 基础示例
为了引入用动态规划方法解决多阶段问题,下面分析一个简单的例子。假设有一个模型城市,图展示了连接通勤者住所和市中心停车场的街道地图,其中弧线代表街道,节点代表十字路口。该网络设计成菱形模式,每个通勤者从家到市中心必须经过五条街道。由于设计特点和交通模式,通勤者在十字路口之间花费的总时间与所选择的路线无关,但在十字路口会遇到明显的延误,延误时间(以分钟为单位)标注在节点内。我们的目标是最小化任何通勤者从家到市中心在十字路口遇到的总延误。
图提供了该问题的紧凑表格表示,方便讨论用动态规划求解。在这个图中,方框对应网络中的十字路口。从家到市中心,任何通勤者必须从左到右穿过这个图,并且在每一步只能移动到右侧相邻列的相邻方框。我们将“剩余阶段数”定义为还需经过的十字路口数量(不包括当前所在的十字路口)。
一种简单的解决方法是枚举图中的所有150条路径,然后