克隆部分解决了MIP并保持当前的B& B树

时间:2015-12-21 22:01:20

标签: scip

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

我真的很感激任何帮助。

最佳,
鲁道夫

1 个答案:

答案 0 :(得分:2)

如果您不坚持复制/克隆,您始终可以根据事件处理程序对停止条件进行编码。我相信你知道我们的How to on adding event handlers

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

最好使用通过set diffsave命令保存的设置文件,该命令仅保存非默认设置。否则,使用完整的设置文件可能会遇到麻烦,因为时间限制或内存限制在没有控制的情况下发生了变化。

目前不可能包含数据结构的副本,例如在分支定界解决过程中使用的树。 SCIP的复制机制只允许整体复制问题,并通过改变变量域和/或客观系数来调整公式。