带有附加约束的线性赋值

时间:2017-10-23 14:52:23

标签: algorithm optimization

在标准线性分配问题中,我可以使用匈牙利算法来实现O(n ^ 3)。如果添加了额外的约束怎么办?例如:

A"常规"具有4个代理的LAP具有约束矩阵

enter image description here

和结果向量b = [1 1 1 1]。

匈牙利算法将解决预期的问题。但是如果添加了另一个约束,那么约束矩阵就是

enter image description here

结果向量b = [1 1 1 1 0] ??

也就是说,除了在标准线性和约束下最小化成本函数之外,我还必须考虑像

这样的约束。

enter image description here

此总和产生上面附加矩阵的最后一行。

显然,生成的约束矩阵不再是完全单模的。当然,标准的MILP会解决这个问题,但它很难用NP。我的问题是:是否存在类似匈牙利语的算法,它将在多项式时间内解决此LAP?

1 个答案:

答案 0 :(得分:1)

通常,具有边约束的网络流问题是NP-Hard。例如,具有非负边缘成本的最短路径问题是多项式可解的。例如,您可以使用Dijkstra的最短路径算法。 (分配问题是网络流量问题的一个特例。)

但是,如果添加一个约束,规定所使用的边数应小于某个常数,则随后的约束最短路径问题为NP-Hard。

因此,您的问题不太可能存在多项式算法。