作者DJWS (...)
看板Prob_Solve
标题Re: [问题] 最大流最小费用问题
时间Fri Apr 3 23:54:53 2015
※ 引述《FRAXIS (喔喔)》之铭言:
: ※ 引述《DJWS (...)》之铭言:
: : 然後min cost flow有一些莫名其妙的特例,
: 这边就是我很难搞懂的地方
: : 例如circulation problem/transportation problem之类的。
: : 这些都不是重点,这些只是流量下限为0、supply/demand为0之类的,
: : 图论方式的演算法还是一样没变。
: : 线性规划的演算法可能有差一点点,我没有仔细去研究。
: 书上大部分都是介绍 min cost circulation problem,因为这可以解其他所有问题。
: 像是 min-cost max flow 、 min-cost flow 、 transshipment 、 transportation
: 和 assignment 。
: 理论上是只要解 transshipment 就可以了,因为他跟 circulation problem 是等价
: (线性时间转换),只是实际上应用有点麻烦。
: 每类问题自己又有分 有向/无向 、 上下限(正负) 、 cost正负 、
: supply/demand 等等变化。
: 虽然有技巧可以把这些都正规化成有向无上下限且cost皆为正,
: 但是要记起来挺麻烦的。
: 而且 把 cost 从负变正 和 无向转有向 还会互相冲突??
你写的那些问题,就是我所谓的莫名其妙的特例。
我觉得这些问题是冷知识,没有必要钻研。
事情其实可以很简单,
考虑 是st还是循环 、 supply/demand 、 上下限 这三件事情就够了。
最後总是可以用 min cost max st flow 的演算法解决。
---------------------------------------
正规化的方式也很简单,orlin那本书有介绍。
1. 下限变不见 (事先流一些,a supply -k , b supply +k)
2. -cost变成+cost (事先流到满,residual network完全变反向,
(cost就完全变号了。SSPA就有这种情况。)
3. feasible flow变成max st flow (新增st,s连到supply,demand连到t,很直觉。)
只有这三步。很直觉,应该不会太难记。
---------------------------------------
至於无向边,几乎没人讨论。
因为无向边必须规定如何流动,这很难搞。
例如可以同时双向对流,又例如只能选择一个方向流。
前者就很智障,不就是来回不断流来流去,单纯冲流量吗?没有讨论意义。
後者的重点,已经不是流的问题了,而是 graph orientation 的问题了。
所以没人想要讨论这种奇怪的东西。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.250.70.154
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Prob_Solve/M.1428076497.A.828.html
1F:推 FRAXIS: 我只是想厘清一下 那上下限可以是负数吗? 04/04 00:16
2F:→ FRAXIS: 我知道负数的上限可以看成 反向边的下限 04/04 00:16
3F:→ FRAXIS: 但是如果正向反向边同时都有上下限(正负不限) 那该怎麽 04/04 00:17
4F:→ FRAXIS: 作? 04/04 00:17
5F:推 FRAXIS: 取交集? 04/04 00:30
6F:→ DJWS: 上下限是复数很不自然 通常不会用到负数 04/04 06:52
7F:→ DJWS: 如果有负数 不如建两条边 或者讨论无向边(但不值得讨论) 04/04 06:53
8F:→ DJWS: 然後正反边都有上下限 照常处理 外观像是来回折返一遍 04/04 06:54
9F:→ DJWS: 概念上有一种绕圈做白工的感觉 只是为了满足下限 04/04 06:56
10F:推 FRAXIS: 那再问一下 有没有什麽特殊图上面最大流或是最小费用流 04/04 21:31
11F:→ FRAXIS: 有比较快速的算法? 04/04 21:31
12F:推 FRAXIS: 除了平面图求最大流之外 还有比较特殊的图可以加速吗? 04/04 21:35
13F:推 FRAXIS: 喔 正确来说应该是 st 平面图 一般的平面图有点难搞.. 04/04 21:38
14F:→ DJWS: 不清楚没有研究 04/05 07:07
15F:→ DJWS: 有好的计算性质的特殊图 就是没有环 04/05 07:07
16F:→ DJWS: DAG/tree 无环 bipartite 无奇环 chordal无>3的洞 04/05 07:09
17F:→ DJWS: 可以往这边去找 04/05 07:10
※ 编辑: DJWS (111.250.68.114), 04/05/2015 07:14:09
18F:→ DJWS: 至於平面图的话 klein 前几年有研究 04/05 07:15
20F:→ DJWS: minimum st cut = shortest st path in dual graph 04/06 14:40
21F:推 alen332l: 推 03/14 10:10