我想我在SCIP库的使用中错过了一些东西。
我有一个MILP问题,想在没有初始猜测的情况下比较求解器的性能,并将其放在一个可执行问题的框架中。也就是说,我创建一个问题,解决它,然后使用获得的解决方案作为初始猜测,并再次运行该问题。
。求解器的第二次运行什么也不做。我读到,在求解器的第一次运行之后,问题的阶段更改为SCIP_STAGE_SOLVED
。
然后我试着找到一些SCIP环境的方法来改变舞台,但是没有一个(据我所知)。
之后,我尝试在模型中引入一个假变量,但它也没有改变阶段。而且,这种方法会导致错误。
也许我需要创建一个问题的副本?第一个例子我没有初始猜测就解决了,第二个是用它来运行的。结果比较。
如果我错了,请指引我正确的方向。谢谢你。
如果我没有错,那么您只需要调用SCIPfreeTransform
一次(这将从当前scip实例中删除除原始问题之外的所有内容)。然后你可以加入你的溶液,再解一次。