How does the SCIP code treat SAT problems?

流过昼夜 提交于 2020-03-23 12:32:43

问题


I am trying to find out how SCIP treats SAT problems.

In the SCIP website, it is recommended to type 'set emphasis cpsolver' in the command line for SAT problems after reading the cnf file. The SCIP solver would then do its own thing after typing 'optimize'. I am not particularly skilled in code tracing and would like to know the pathway the SCIP solver takes after typing the 'set emphasis cpsolver' command.

Does this command take the SAT problem and simply call a SAT solver from elsewhere? Or does it treat the SAT problem as a discrete optimisation problem and use the classical methods such as cutting planes, branch and bound to solve it?

So far, I have ran SCIP on 50 instances of SAT problems on 8h time limit each, with no result. Using SAT solvers with backdoors under the same 8h time limit leads to successful solving of about half the instances.


回答1:


when you run set emphasis cpsolver SCIP displays the settings that are changed. Mainly, lp-solving is disabled and the working limits for conflict analysis are increased. So SCIP runs branch-and-bound with more conflict analysis and without using an lp-relaxation, instead, it uses the pseudo-solution for bounding. It does not call a SAT solver from somewhere else.

It is not surprising to me that SCIP might be outperformed by dedicated SAT solvers. Please also note that it is not necessary to set the emphasis setting to cpsolver in order to solve a SAT problem with SCIP, you can also try running with default parameters (or merely disabling lp-solving if you do not think the lp-relaxation is useful for your problem).

I hope this information is helpful.



来源:https://stackoverflow.com/questions/59557794/how-does-the-scip-code-treat-sat-problems

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!