【问题标题】:Simplex Algorithm - why so complicated?单纯形算法 - 为什么这么复杂?
【发布时间】:2014-03-05 14:14:43
【问题描述】:

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

  1. 为什么我们必须使用数据透视行/列/元素。如果我没看错,那只是高斯消除,它以特定顺序消除元素。为什么顺序很重要?是因为数字噪声吗?如果一切都计算准确,那么排序应该不重要,对吧?

  2. 到目前为止,在我遇到的所有示例中(不公平),所有松弛变量最终都设置为零。为什么我们一开始就引入它们,而不是直接将所有不等式改写为等式?

【问题讨论】:

  • 这个问题似乎是题外话,因为要求解释单纯形法。 Stackoverflow 是一个面向程序员的网站。您可能会在其他一些论坛/网站或一些关于线性规划的介绍性书籍中得到更好的答案。我个人最喜欢的是Chvatal: Linear Programming,但还有很多,很多其他好书。

标签: algorithm numeric mathematical-optimization


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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-20
    • 2021-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 2020-03-22
    相关资源
    最近更新 更多