0

我想部分解决 MIP,克隆问题并让问题的副本继续优化,但使用不同的策略(节点选择规则、变量选择规则等),并保留当前的分支定界树。我知道这不能用 CPLEX 或 Gurobi 完成,因为它们会在副本中从头开始优化。
有没有办法用 SCIP 做到这一点?

我真的很感激任何帮助。

最好的,
鲁道夫

4

1 回答 1

2

如果您不坚持进行复制/克隆,则始终可以根据事件处理程序对停止标准进行编码。我相信您知道我们如何添加事件处理程序

scip源码中还有一个事件处理器,即所谓的软限时事件处理器src/scip/event_softtimelimit.c。在那里您可以找到在找到第一个解决方案后更改时间限制的示例代码。参数可以通过SCIPchg{Real,Bool,Int,Longint,Char,String}Param()代码中的方法一一提供,也可以作为设置文件传递,如果您想更改大量参数而不每次都调整代码,这可能会更容易。

最好使用通过set diffsave命令保存的设置文件,该命令仅保存非默认设置。否则,使用完整的设置文件,您可能会遇到麻烦,因为时间限制或内存限制会不受控制地更改。

包含数据结构(例如分支定界求解过程中使用的树)的副本目前是不可能的。SCIP 的复制机制仅允许将问题作为一个整体进行复制,并通过更改变量域和/或目标系数来调整公式。

于 2015-12-22T09:24:40.117 回答