1

我想使用包含在我的源代码 (C++) 中的 SCIP 来解决 MIQP,除了这个 FAQ 条目之外没有找到如何去做:

SCIP 不支持非线性目标函数,必须将其建模为约束函数。请注意,对非二次非线性约束的支持仍处于 BETA 阶段,还不如 SCIP 的其余部分强大。非线性变量和微小或巨大系数的缺失界限很容易导致数值问题,这可以通过仔细建模来避免。

我已经设法为目标函数构建了表达式树。我想知道:

  • 如果必须将 MIQP 建模为 MINLP,那么此约束函数建模如何工作?上限是可变的吗?
  • 如果有 MIQP 的特定方法,我在哪里可以找到有关它的文档?
4

1 回答 1

3

查看 http://scip.zib.de/doc/examples/CallableLibrary/上的示例

如果您只想要二次,那么您可以使用二次约束的约束处理程序直接在 SCIP 中创建二次约束: http ://scip.zib.de/doc/html/cons__quadratic_8h.php

有关 SCIP 用于处理 MIQP 二次部分的方法,请参阅 http://nbn-resolving.de/urn:nbn:de:0297-zib-59377和其中的参考资料。

于 2016-09-21T09:41:47.027 回答