SCIP编写自动化测试中的最佳可行解决方案

SCIP编写自动化测试中的最佳可行解决方案,scip,Scip,基于中的步骤,我已成功使用SCIP设置了一个自动测试。但是,我希望将解决方案(最佳可行解决方案)写入文件,而不仅仅是获取目标值。在自动测试中是否有这样做的方法 我在check.sh中通过替换 OPTCOMMAND=optimize; write solution myfilename.sol; 但太糟糕了,它似乎不起作用,当我试图使TEST=mytest TEST时,这一行是从输出中观察到的 bash ./check.sh mytest bin/scip-3.1.0.linux.x86_64

基于中的步骤,我已成功使用SCIP设置了一个自动测试。但是,我希望将解决方案(最佳可行解决方案)写入文件,而不仅仅是获取目标值。在自动测试中是否有这样做的方法

我在check.sh中通过替换

OPTCOMMAND=optimize; write solution myfilename.sol;
但太糟糕了,它似乎不起作用,当我试图使TEST=mytest TEST时,这一行是从输出中观察到的

 bash ./check.sh mytest bin/scip-3.1.0.linux.x86_64.gnu.opt.spx default scip-3.1.0.linux.x86_64.gnu.opt.spx 3600 2100000000 6144 1 default 10000 false false 3.1.0 spx false /tmp optimize;
 write: solution is not logged in on myfilename.sol

我知道可以通过交互式shell编写解决方案,但我正在尝试自动化测试,以便检索解决方案和obj值。任何帮助或澄清将不胜感激

您遇到了一个错误,因为您使用的语法由于分号而试图调用名为“write”的bash命令:

write实用程序允许您通过以下方式与其他用户通信: 将线路从您的终端复制到他们的终端

请不要使用分号;)

更干净的解决方案是修改文件“check/configuration\u tmpfile\u setup\u scip.sh” 并添加行

echo write solution /absolute/path/to/solutions/${INSTANCE}.sol >> $TMPFILE
在退出命令之前。此配置文件设置一个批处理文件,以向SCIP提供交互式shell应执行的所有命令,并且您可以对任意用户行为建模