最优化问题
动态规划(Dynamic programming)是用来优化一个随机问题的最优解,随机问题是只我们优化的目标是随机的,最优解指的是在统计平均上的最优。
比较权威的参考资料:Dimiri P. Bertsekas, Dynamic Programming and Optimal Control, 3rd ed., Athena Scientific, Belmont, Massachusetts,2005
一般优化问题描述
minu∈Ug(u)
- u 是最优化问题的决策
- g(u) 是决策的代价函数
U 是所有决策 ui 的集合
动态规划的优化问题可以分为:
- 随机优化问题:
由于代价函数存在一个随机变量 w ,因此最优解的优化目标是代价函数的统计平均。
g(u)=EwG(u,w) - 确定优化问题:
这个问题代价函数是一个确定函数。
如何区分这两个问题呢?我们可以观察系统是否存在随机性,这个随机性是体现在系统之中的,而不是这个系统。举个栗子,优化一个随机网络是个确定性问题,即给定任意网络结构,找到最短路径,因为网络虽然是随机的,但是优化的目标在确定以后是不变的。然而优化一个随时变化的网络是一个随机问题,即一边进行优化,网络结构一边在变的问题。
动态规划正是可以解决每一个步骤都有随机变量 w 影响的目标函数,如何在全局取得统计平均上最优解的问题。后面我们可以看到每一个决策都会利用 w 的信息。
随机动态规划的结构
离散时间系统
xk+1=fk(xk,uk,wk),k=0,1,…,N−1
其中:
- k :表示离散 时间 (也可以看作是步骤)。
- xk :表示在时间 k 的 状态 ,该状态具有马尔科夫性,即当前状态已经包含决策所需要的各种信息,与之前的状态无关。当前状态将会参与决策。
- uk :表示在时间 k 所输出的 控制 ,即再时间 k 在集合 U