【运筹】0402 网络优化问题

网络最优化模型实际上是线性规划的特殊类型
主要有五类重要的网络问题

  1. 最短路径问题
  2. 最小支撑树问题
  3. 最大流问题
  4. 最小费用流问题
  5. 在限定的期限确定最经济的项目实施方式:时间费用平衡问题

例题

在这里插入图片描述

术语

最短路径问题

目标:找出起点到终点的最短路径
方法:从起点开始搜索,用升序排列从初始点到网络各个节点的距离,从而确定最短路径,到达终点时问题结束
算法:n次迭代,
第n次迭代目标:找到离起点最近的第n个节点
第n次迭代输入:之前迭代找到的(n-1)个离起点最近的节点
第n个最近节点的候选节点:每个通过链直接连接一个或多个未标记节点的标记节点提供一个候选节点 — 最短连接链的未标记节点
在这里插入图片描述
n=1, oa < oc , 标记a。
n=2/3, a连接的未标记节点中,ab最短,o连接的未标记节点中oc最短,
n=4, …
最终的最短路径是:
TDBAO或者TDEBAO

其他:最短路径问题的弧也可能表示其他类型的作业,长度也可能表示如费用之外的其他意义,比如 选择费用最低的作业次序。

最小支撑树问题

支撑树指的是,一个具有n个节点的变,仅需要n-1条边即可满足每对节点有一条路径要求,将所有节点串联起来,这就构成一颗支撑树,如果增加更多边就会浪费总长度。

目标:找到最短的n-1条变,把所有节点串联起来
方法:任选一个节点开始,连接其与离它最近的节点(增加一条边),继续找其他所有未连接节点中与已连接节点最近的点,直至所有节点都被连接

最终结果为:
O->A->B->C
B->E->D->T

最大流问题

例题中,在每条路电瓶车数限制下(capacity),如何最大化各线路电瓶车行驶趟数
· 所有流经网络的流都起源于同一个点source, 终止于另一个点sink, 其他的点称为中间点
· 流的方向由箭头表示,弧的容量是容许的最大流量
· 目标是如何使从发点到收点的总流量达到最大

增广链算法

剩余网络:两个节点一条弧,左端写剩余流量,右端写已分配流量
增广链:在剩余网络从发点到收点的一条正向链中,如果每条弧都有非零剩余容量,则该链称为增广链。其中的最小剩余容量称为该链的剩余容量,表示还可以增加到该链上的流量
最大流问题的增广链算法:

  1. 找到剩余网络中的增广链
  2. 找出增广链弧的最小剩余容量c, 在链中增加流量为c的流
  3. 在增广链的每个正向弧的剩余容量中-c,反向弧+c, 返回步骤1
    实例过程如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    如何找到增广链:最大流最小割定理(max-flow min-cut theorem)
    割(cut)的定义:把节点分成两部分S,T ,而且起点s位于 S中,终点t位于T中。割表示离开S的边的权重之和 capacity(S,T)
    在这里插入图片描述

任意一个割都将为流量提供一个上界,mincutcapacity=maxflow, 如果在剩余网络中找到一个mincutcapacity=0则说明当前的流量分配方式是最优的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值