最短路与动态规划(一)

运筹学有时候面临的一种场景是求最短路(shortest path)问题:比如城市交通的网络设计,芯片的表面设计等。解决这类问题常用离散动态规划(discrete dynamic)方法。今天我们就来学习这种场景以及解决的算法。

1

抽象为模型

我们用三个与现实场景十分相似的例子来介绍模型以及相关术语。

  • 利特尔维尔交通规划

假设你是利特尔维尔城市的交通工程师,下图是该城市的市区街道规划图,图中标注了道路是单行道还是双向道,也标注了汽车通过每条街区所需要的平均时间(单位:秒).

从调查报告和其他数据中我们可以估计出出行居民的数量、出行的起点和终点,但是他们具体选择怎样的路径则不得而知。交通工程师的一项任务就是估计出居民所选择的路径,从而使得城市管理者能够估计出是否有某条道路会产生拥堵。

为了得到一个不错的初步估计,我们可以首先假设所有的出行居民都会做出理性的决策——也就是选择连接起点和终点的最短路径。因此,我们首先需要找到图中任意两点间的所有最短路径。

35ee941648a2beaff18a77cf4b41436c.png

要用数学来解决这个问题,首先,先将给定的街区系统抽象为图(graph)网络(network),图模型我们在机器学习的概率图一块给出了初步定义,在运筹学这里有稍微的不同,为了表达得清晰准确,我们定义:

节点表示网络中的实体、交点和转移点,为了方便,利特尔维尔例子的节点用1到10进行标号。节点之间可能被或者相连(弧特指有方向的边,比如这里用弧表示单向街道,边表示双向街道。

利特尔维尔例子转化为图,表示如下:

ae7f51c377fc818fcb1a75e77852393b.png

有了图,我们可以给路(path)下定义:

路是图中连接

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

整得咔咔响

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

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

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

打赏作者

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

抵扣说明:

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

余额充值