excel求解器(Simplex LP)二元约束

Posted

技术标签:

【中文标题】excel求解器(Simplex LP)二元约束【英文标题】:excel solver (Simplex LP) binary constraints 【发布时间】: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。还要确保仔细检查答复报告。 【参考方案1】:

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

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

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

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

【讨论】:

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

以上是关于excel求解器(Simplex LP)二元约束的主要内容,如果未能解决你的问题,请参考以下文章

pulp求解简单线性规划问题

R语言解决最优化运营研究问题-线性优化(LP)问题

加快大型 LP(>1000 万决策变量)求解时间的方法

matlab中求解二元函数的极小值,20分.

线性规划(Simplex单纯形)与对偶问题

EXCEL VBA中规划求解器Solver出现 运行错误‘1004’应用程序定义或对象定义错误