【S6-动态规划】

一级目录

6.1 一般方法

  • 多阶段决策过程:问题的活动过程可以分为若干个阶段,而且在任一阶段后的行为都仅依赖于该i阶段后的过程状态,而与i阶段之前的过程如何达到这种状态的方式无关,这样的过程就构成一个多阶段决策过程。
  • 最优性原理:多阶段过程的最优决策序列具有性质:无论过程的初始状态和初始决策是什么,其余的决策都必须相对于初始决策所产生的状态构成一个最优决策序列。
    动态规划的目标就在于:在所有容许选择的决策序列中选取一个获得问题最优解的决策序列,即最优决策序列。
    动态规划的求解步骤(最优决策序列):
  • 得是多阶段决策问题。
  • 满足最优性原理。
  • 写出递归关系式。

证明最优性原理

在这里插入图片描述

6.2 多段图

多段图的定义:在这里插入图片描述

向前处理法

向前处理法(forward approach):从最后阶段开始,以逐步向前递推的方式,列出求解前一阶段决策值的递推关系式,即i根据xi+1, …, xn的那些最优决策序列来列出求取xi决策值的关系式。

P(i,j),COST(i,j),c(j,l),D(i,j)的定义

在这里插入图片描述
在这里插入图片描述

解题步骤:在这里插入图片描述
在这里插入图片描述

多段图的向前处理算法6.1

算法6.1FGRAPH
在这里插入图片描述

  • COST(j)表示结点j到终点的最小成本.
  • D(j)用来表示 从节点j到终点的最小成本路径上结点j的决策。
  • P用来保存最小成本路径上结点

算法6.1 时间复杂度和空间复杂度

在这里插入图片描述

向后处理法

从初始阶段开始,以逐步向后递推的方式,列出求解后一阶段决策值的递推关系式,即根据x1, …, xi-1的那些最优决策序列来列出求取xi决策值的关系式。

BP(i,j)、BCOST(i,j)

在这里插入图片描述

多段图的向后处理算法6.2

算法6.2BGRAPH

向前处理和向后处理的区别

向前处理:

  • 已知结点j+1,…,汇点r的P\COST\求结点j。
  • 编程时使用邻接表(看结点j能够到达的点)来实现。

向后处理:

  • 已知起点s,…,j-1的P\COST\求结点j。
  • 编程时使用逆邻接表(看哪些节点能够到达结点j)来实现。

<

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ImSev7en_1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值