Answers:
(从评论中删除。)
当然,你可以通过使用一个通用的LP求解器解决任何LP,但专门的算法通常有很多更好的性能。
这不仅涉及理论上的渐近性能保证,而且还涉及实际的实际性能。匈牙利方法之类的算法可以大大简化,并且相对容易正确有效地实施。
您还可以经常避免使用精确的有理数与浮点数之类的问题。使用整数可以轻松完成所有操作。
尽管该回答在一般意义上是正确的,但尝试特别理解将原始单纯形应用于分配问题时出了什么问题也很有帮助。考虑具有平方成本矩阵c_ij的NxN分配问题。相应的LP具有要解决的N ^ 2个变量x_ij。将这些x_ij视为一个平方矩阵X,一个可行的解决方案要求X是一个置换矩阵,该矩阵由我们LP中的2N-1个约束强制执行(乍看之下,存在2N个约束,每行一个约束,每列一个,但它们并非全都独立,因此我们删除其中之一)。LP约束因此形成(2N-1)x(N ^ 2)矩阵A.
现在,通过选择一组(2N-1)基本变量形成基本解决方案。但是,对于该基本解决方案也是可行的,这些变量中只有N个可以具有值1,而其他变量(N-1)则为0。因此,每个可行的解决方案都是简并的。这种简并性的问题在于,可以将任何(N-1)个基本变量为0的情况与任何(N ^ 2-2N + 1)个非基本变量进行交换,即所谓的“简并枢轴”,而没有对目标函数值的影响[您只是将一个0变量交换为另一个]。当N大时,原始单纯形算法会浪费大量时间,使退化的数据透视表无法改善解决方案。这就是为什么不将朴素的原始单纯形算法直接用于解决分配问题的症结所在。