【问题标题】:Algorithm that can turn a linear programming problem to a feasible one可以将线性规划问题转化为可行问题的算法
【发布时间】:2010-10-25 17:43:04
【问题描述】:

我需要一种能够自动使线性规划问题变得可行的算法。具体来说,该算法的输入是一个线性规划问题,可能没有可行的解决方案,而它的输出是一个类似的规划(参数修改为最小值),它必然有可行的解决方案。我是算法的新手,请问是否有针对此类问题的现有研究/工作?任何建议和 cmets 表示赞赏。 谢谢, 理查德

【问题讨论】:

  • 允许进行哪些修改?最低是什么意思?我认为我们需要更多细节。
  • 说,对于每一个不等式,只有右手边可以改变,改变的差异应该最小化...一般感兴趣的是以前有没有这样的工作。

标签: algorithm linear-programming


【解决方案1】:

您可以将slack variables 添加到约束中,然后最小化值的平方和。

【讨论】:

    【解决方案2】:

    添加一组“人工变量”,每个方程一个,方程中的单位权重,其他地方的权重为零。然后,您可以选择该集合作为您的第一个基础,并添加“消除人工变量”作为初始目标。如果你能消除所有的人为变量,你可以丢弃它们,你的初始问题就会有一个可行的基础;如果不能消除人为变量,就没有可行的解决方案。

    原始问题(规范形式——任何 LP 问题都可以转换为这个!):

    minimize c.x, given: [A]x = b, x_i>=0
      (but first, need feasible solution)
    

    找到一个可行的解决方案(假设所有b_j>=0;如果没有,只需将该行乘以-1):

    minimize sum(y), given:  y + [A]x = b, x_i>=0, y_j>=0
      with initial, feasible solution: x_i=0, y_j=b_j
    

    这种方案有变种和优化;例如,您不一定需要将所有内容都转换为规范形式来做这种事情(尽管它对于解释的简单性很有用)。您应该能够在任何线性规划文本中找到更多详细信息。

    请注意,这类似于“松弛变量”的另一个答案,除了平方没有意义(这会使问题非线性,因此更难以在线性规划框架内解决......)

    【讨论】:

      猜你喜欢
      • 2023-01-11
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 1970-01-01
      • 2011-11-24
      • 1970-01-01
      • 1970-01-01
      • 2011-10-06
      相关资源
      最近更新 更多