我正在解决一个最优化问题。这个问题有二元约束。求解器(在迭代期间)将这些二元约束设置为0到1之间的小数(近似于宽松的梯度搜索)。我希望向求解器指出,它应该只搜索0..1的不连续值。
有没有办法做到这一点?
或者,在OpenSolver中有没有这样做的算法,它模仿单纯形-lp,并提供全局最优?
要做到这一点,最简单的方法就是右转一个for循环,然后遍历这些值。我想知道是否有一种方式来表达它,使一个非线性问题,变成一个线性问题。
谢谢。
发布于 2016-06-17 03:49:13
当遇到整数约束时,GRG非线性方法和单纯形LP方法都使用分支定界法。这个方法首先“放松”整数要求,找到一个解决方案,然后将其中一个约束固定到一个整数上,并找到一个新的解决方案。See the Solver on-line documentation。
这是一种暴力搜索方法,可能需要相当长的时间。
进化方法使用自己的算法来处理整数约束,并且通常比其他两种方法快得多。
你问关于非线性问题的线性化--你需要提供更具体的信息来回答这个问题(例如,你的方程是什么?您是如何设置求解器问题的?等)
https://stackoverflow.com/questions/37716147
复制相似问题