最小费用流问题
最大流问题
Maximum Flow Problem
最大流问题
与最小费用流问题一样,最大流问题也与网 络中的流有关。 最大流的目标不是使得流的成本最小化,而 是寻找 个流的方案 使得网络的流量最大 是寻找一个流的方案,使得网络的流量最大。 除了目标不一样之外,最大流问题的特征与 最小费用流问题的特征非常相似。
最小费用流的可行解
这类问题的解需要确定通过每一条弧的流有 多大。 具有可行解的特征:在上述假设下,当且仅 当供应点所提供的流量总和等于需求点所需 要的流量总和。 对于每一个可行解,通过每一条弧的流量都 不得超过该弧的容量。 每一个节点产生的净流量必须等于该节点标 明的流量。
为了简化网络图形,我们用每一个设施旁边方括号里的数字表示净 流出的单位数,于是,每一个末端仓库的产品单位数都是用负数来 表示,如下图所示。
最小费用流的特殊类型
转运问题:有一个附加特征,即从出发地运 输到目的地过程中可能会经过中间转运点, 此外,与运输问题基本上一样。 最大流问题:最大流的源点和收点的流量不 最大流问题 最大流的源点和收点的流量不 是固定的。 最短路径问题:在两点之间寻求最短路径, 且两个节点中的边(对应“弧”)允许双向 流动,而弧只允许沿着箭头方向流动。
RN公司是一家电子公司,它的工厂分别 位于下图中的1和2。在工厂生产出的部件 可能被运送到位于3或4仓库中的任意一个 仓库 通过这些仓库 公司向5、6、7、8 仓库,通过这些仓库,公司向 等地区的零售商发货。 图中给出了每个供应点和需求点的流量 以及每一条发货线路上每一个部件的运输 成本。 公司的目标是使总运输成本达到最小。
转载节点的约束条件
运出弧线
x
运入弧线
x
ij
运入弧线
x
ij
运出弧线
x
ij
x ij 0 对 所有的 i 到 j
终点节点的约束条件
xij 从节点 i到 j的运输量 cij 从节点 i到 j的单位运费 si 在初始节点 i的供给量 d j 在终点节点 j的需求量
3
2012/12/27
初始节点的约束条件
转载问题的线形规划模型:
min s.t
所有弧线
c
ij
x ij
运出弧线
x
ij
运入弧线 ij
x
ij
s i 初始节点 i 0 转载节点 d j 初始节点 j
x13 x23 x35 x36 x37 x38 0 x14 x24 x45 x46 x47 x48 0 x35 x45 200 x36 x46 150 x37 x47 350 x38 x48 300 xij 0
7
350
8
300
x36 x 46 150 x37 x 47 350 x38 x 48 300
min 2 x13 3x14 3x23 x24 2 x35 6 x36 3x37 6 x38 4 x45 4 x46 6 x47 5 x48 s.t x13 x14 600 x23 x24 400
例子:配送公司的问题
最小费用流问题
Minimum-cost Flow Problems
某公司有两个工厂生产产品,这些产品需要运 到两个仓库里。下面给出了一些条件: • 工厂1生产80个单位。 • 工厂2生产70个单位。 • 仓库1需要60个单位。 • 仓库2需要90个单位。 下图展示了运输这些产品可利用的配送网络。
实际上,配送网络要复杂的多。例如,纸业的配送网络:
林场→木材堆积场→锯木厂→造纸厂→纸制品加工厂→仓库→客户
终止节点 起始节点 (工厂)
600 1 2 3 从节点 i 到节点 j 运输的件数,用数学公式表示:
x13 x14 600 x23 x24 400
2 5
1
70
3
7
6 4
最大流问题的数学模型为:
最优解:最大流量150
2 5
max z x12 x13 x14 x25 x35 x36 x46 x57 x67 s.t x12 x25 0 x13 x35 x36 0 x14 x46 0 x25 x35 x57 0 x36 x46 x67 0 xij 0
最大流问题的假设
网络中所有流起源于一个节点,这个节点称为“源 点”,所有的流终止于另一个节点,这个节点称为 “收点”。 其余所有 节点都 转 点 其余所有的节点都称为“转运点”。 通过每一个弧的流只允许沿着弧的箭头方向流动, 由源点出发的所有的弧都背向源点,而所有终止于 收点的弧都指向收点。 最大流问题的目标是使得从源点到收点的总流量最 大(从源点出发的流量和进入收点的流量)。
[80] 1 F1 700元 4 W1
[-60]
[0] [ ] 3 DC
2 [70] F2 900元
5 W2
[-90]
最小费用流问题的数学模型为:
max z 700 x14 300 x13 400 x23 900 x24 200 x34 400 x35 s.t x13 x14 80 x23 x25 70 x14 x34 60 x25 x35 90 x13 x23 x34 x35 0 xij 0
下图给出了此问题的最优解。该光缆所需的总成本为: 总成本=2+2+1+3+1+5=14
B 2 A 1 D 2 C 3 F 1 E 5 G
问题:确定需要铺设哪些光缆使得提供每两个中心之间的 高速通信的总成本最小。
生产70个 单位产品
F2 900元/单位
W2
需要90个 单位产品
1
2012/12/27
最小费用流一般特征
所有最小费用流问题都是用带有通过其中的流的网 络来表示的。 网络中的圆圈被称为节点。 如果节点产生的净流量(流出减去流入)是一个确 定的正数的话 这个节点就是供应点 定的正数的话,这个节点就是供应点。 如果节点产生的净流量是一个确定的负数的话,那 么这个节点就称为需求点。 如果节点产生的净流量恒为零,那么这个节点就成 为转运点。 网络中的箭头称为弧。 允许通过某一条弧的最大流量称为该弧的容量。
关于最小费用流的解
对于最小费用流问题的应用,管理者希望所 有流量的解都是整数解。 只要所有的供应、需求和弧的容量都是整数 值 那么任何最小费用流问题的可行解就 值,那么任何最小费用流问题的可行解就一 定有所有流量都是整数的最优解。
最小费用流的特殊类型
5种重要的最小费用流问题的特殊类型: 运输问题:运输问题的出发点和目的地就是 分别用供应点和需求点来表示的,所以,运 输问题就是没有转运点和没有弧的容量限制 的最小费用流问题。 指派问题:它是一类特殊的运输问题,它的 出发地是人,目的地是任务,这样使得指派 问题也具有最小费用流问题的特征。
1
4 6 4 D 6 B 5 2 4 C 7 7 3 E 4 H 5 2 3 G F 6
消防站
O
3
社区
T
此最短路径为:O → A → B → E → F → T
5
2012/12/27
一些实际应用
不是所有的最短路径问题都涉及要寻找从源点到目 标地的最短行进距离。 事实上,可能根本不涉及行进问题,这时“边”可 能代表了其他类 的活动 因 选择网络中的路与 能代表了其他类型的活动,因此选择网络中的路与 选择最佳的序列活动相对应。 最短路径问题的三种应用类型: 行进的总距离最小 一系列活动的总成本最小 一系列活动的总时间最小
最小支撑树
Minimum Spanning Tree
例子:M公司的管理层决定铺设最先进的光导纤维网络,为 其主要中心之间提供高速通信。下图显示了M公司各主要中 心(包括公司的总部、生产厂、配送中心)的分布图。虚 线是铺设纤维光缆的位置,其旁边的数字表示了铺设光缆 所需花费的成本。
B 2 A 4 D 5 2 C 1 4 7 5 4 3 F 1 E 7 G
生产80个 单位产品
700元/单位 F1 W1
需要60个 单位产品
DC
图中,F代表工厂,W代表仓库,DC表示一个配 送中心。箭头表示可行的运输线路。在F1和W1、 F2和W2之间各有一条铁路线路。此外,卡车总共 可从工厂运输50个单位到配送中心,然后从配送中 心运输50个单位到仓库。当然,不同的运输线路的 成本是不一样的(箭头上方标明的数字)。 管理者的目标是确定一个运输方案,使运输成本 的总和达到最小。
大规模的最小费用流问题
因为最小费用流问题是线性规划问题的一种特殊类型,这种 单纯型法不仅可以解决任何一个线性规划问题,而且也可以 为解决任意一个最小费用流问题提供标准的解决方法。 在实际运用中,解决比较大型的问题时需要使用不同的方法。 网络单纯型法可以用来解决那些对于单纯型来说太大而无法 解决的大型问题。 解决的大型问题 许多公司都使用网络单纯型法来解决最小费用流问题,有些 问题非常庞大,有着数万个节点和弧,有时弧的数量多达几 百万条。 最小费用流问题最重要的应用就是在配送网络的运营上,这 类应用包括确定如何从出发地运送到中转站,然后再运送给 客户的方案。
1 70
3
7
6 4
求此最短路径:
8 6 A
最短路径问题
任意最短路径问题可认为是最小费用流问题的一种 特殊类型。 最短路径问题假设: 在网络中选择一条路,这条路始于某一节点,该节 点称为 源 点称为“源”;它终于另一个节点,该节点称为目 它终于另 个节点 该节点称为 标“地”。 连接两个节点的连线通常称为“边”(允许任意方 向行进),也可以存在弧(只有一个方向)。 与每条边相关的一个非负数,称为边的长度。 目标是为了寻找从源点到目标地的最短路径。