0

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

有没有办法做到这一点?

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

便宜的方法是纠正一个for循环,并迭代这些值。我想知道是否有一种方法可以使非线性问题变成线性问题。

谢谢。

4

1 回答 1

0

GRG Nonlinear 和 Simplex LP 方法在面对整数约束时都使用 Branch & Bound 方法。此方法首先“放宽”整数要求,找到解决方案,然后将其中一个约束固定为整数并找到新解决方案。请参阅 Solver 在线文档

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

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

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

于 2016-06-16T19:49:13.447 回答