【问题标题】:excel solver (Simplex LP) binary constraintsexcel求解器(Simplex LP)二元约束
【发布时间】:2016-10-09 12:39:18
【问题描述】:

我正在解决一个优化问题。该问题具有二元约束。求解器(在迭代期间)将这些二进制约束设置为 0 到 1 之间的小数(近似于宽松的梯度搜索)。我希望向求解器表明它应该只搜索 0..1 的不连续值。

有没有办法做到这一点?

或者,OpenSolver 中是否有一种算法可以做到这一点,它模仿 simplex-lp,并提供全局最优?

做到这一点的廉价方法是正确的 for 循环,并迭代值。我想知道是否有办法将其表述为使非线性问题变成线性问题。

谢谢。

【问题讨论】:

  • 求解器允许bin 约束。如果您的模型是线性的,请确保选择 Simplex LP 求解器。尽管它被称为 Simplex LP,但它实际上可以解决 MIP(混合整数规划)问题。
  • 当它失败时,它通常带有部分值,表示二元约束,是在梯度下降之后应用的约束(值 > 0 和
  • 梯度下降?这对我来说毫无意义。确保选择 Simplex LP 而不是 GRG Nonlinear。还要确保仔细检查答复报告。

标签: excel binary constraints solver simplex


【解决方案1】:

GRG 非线性和 Simplex LP 方法在面对整数约束时都使用分支定界方法。此方法首先“放宽”整数要求,找到解决方案,然后将其中一个约束固定为整数并找到新解决方案。 See the Solver on-line documentation.

这是一种蛮力搜索方法,可能需要相当长的时间。

进化方法使用它自己的算法来处理整数约束,并且通常比其他两种方法快得多。

您询问线性化非线性问题 - 您需要提供更具体的信息才能回答这个问题(例如,您的方程式是什么?您是如何设置求解器问题的?等等)

【讨论】:

  • “这种方法首先“放松”整数要求,找到解决方案” .... 是的,我知道这一点。我在问是否有一个引擎可以解决具有真正二进制约束的 MIP/Simplex 问题,即只能取 0 或 1 值的字段,并且在迭代解决方案期间不会放松。
  • 来自here 它说,对于进化方法:“......整数变量和排列被直接表示,并生成始终满足整数和所有不同约束的候选解。”
猜你喜欢
  • 2020-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
相关资源
最近更新 更多