单纯形算法 - 为何如此复杂?

时间:2014-03-05 14:14:43

标签: algorithm numeric mathematical-optimization

最近我介绍了用于优化线性问题的单纯形算法。我想我明白它是如何工作的,但我不知道,为什么会那么复杂。

  1. 为什么我们必须使用pivot-row / column / element。如果我看到这个正确,它只是一个高斯消除,它以特定的顺序消除元素。为什么订单很重要?是由于数字噪音吗?如果一切都准确计算,那么排序不应该很重要,对吗?

  2. 在我到目前为止遇到的所有例子中(不是太多不公平)所有松弛变量最终都设置为零。为什么我们首先介绍它们而不是直接将所有不等式重写为方程式?

1 个答案:

答案 0 :(得分:3)

  1. 旋转不是高斯消除。在此之后,画面可能具有与之前一样多的零。选择旋转顺序是为了保持单面约束(总是从可行空间的一个顶点移动到另一个顶点),并且有效地进行(通过每次移动沿着目标最大化进度)。
  2. 对于绑定解决方案的约束,松弛变量为零。听起来你看到的问题没有任何非约束性约束。