最低成本最大流算法可以使用哪种成本函数?
是否可以使用类似于以下的成本函数:
这会以任何方式改变算法吗?
答案 0 :(得分:1)
最小成本最大流算法只是特定类型线性程序的求解器。
使线性程序有效解决的是凸性:在这种情况下,如果你有两个可行的流F和G,那么对于[0,1]中的所有t,流tF +(1-t)G是可行的,成本(tF +(1-t)G)≤t成本(F)+(1-t)成本(G)。为了你的目标,这基本上意味着[1,X]中的FixedCost为0,C1≤C2,[X + 1,Y]中的FixedCost为(C1-C2)X≤0。看起来像这样:
6| .
5| .
4| .
3| .
2| .
1| .
0.----------
0 1 X
对于你来说,[1,X]>中的FixedCost很重要。 0,但这使问题NP难。图中Steiner树的减少是为了使每个边的容量无限,并且为第一个单元的Steiner树问题指定的权重和之后的0。使其中一个k - 1 Steiner终端成为容量为k - 1的源,而其他终端容量为1,请求最便宜的k - 1单位流量。
答案 1 :(得分:0)
您可以累计固定成本,并将其从等式中删除。然后,将每条边分成两条边,每条边都有适当的计算成本。