• 最短路与动态规划(一)


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

    1

    抽象为模型

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

    • 利特尔维尔交通规划

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

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

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

    35ee941648a2beaff18a77cf4b41436c.png

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

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

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

    ae7f51c377fc818fcb1a75e77852393b.png

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

    路是图中连接

  • 相关阅读:
    webpack 解决:TypeError: merge is not a function 的问题
    化工园区数字孪生可视化管控平台,赋予园区安全环保智慧发展
    nodejs学习week01
    【css】动画彩色条纹。
    static 总结
    反射
    神经网络中正则化和正则化率的含义
    认识柔性数组
    【前端入门】设计模式+单多页+React
    系统架构设计师——计算机系统基础知识
  • 原文地址:https://blog.csdn.net/qq_27388259/article/details/127711679