在标准线性分配问题中,我可以使用匈牙利算法来实现O(n ^ 3)。如果添加了额外的约束怎么办?例如:
A"常规"具有4个代理的LAP具有约束矩阵
和结果向量b = [1 1 1 1]。
匈牙利算法将解决预期的问题。但是如果添加了另一个约束,那么约束矩阵就是
结果向量b = [1 1 1 1 0] ??
也就是说,除了在标准线性和约束下最小化成本函数之外,我还必须考虑像
这样的约束。此总和产生上面附加矩阵的最后一行。
显然,生成的约束矩阵不再是完全单模的。当然,标准的MILP会解决这个问题,但它很难用NP。我的问题是:是否存在类似匈牙利语的算法,它将在多项式时间内解决此LAP?
答案 0 :(得分:1)
通常,具有边约束的网络流问题是NP-Hard。例如,具有非负边缘成本的最短路径问题是多项式可解的。例如,您可以使用Dijkstra的最短路径算法。 (分配问题是网络流量问题的一个特例。)
但是,如果添加一个约束,规定所使用的边数应小于某个常数,则随后的约束最短路径问题为NP-Hard。
因此,您的问题不太可能存在多项式算法。