首页 文章

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

提问于
浏览
0

根据http://scip.zib.de/doc/html/TEST.php中的步骤,我设法使用SCIP Build 自动化测试 . 但是,我想将解决方案(最佳可行解决方案)写入文件,而不是仅仅获取目标值 . 无论如何在自动化测试中做到了吗?

我通过替换在check.sh中做了一个hack

OPTCOMMAND=optimize; write solution myfilename.sol;

但是太糟糕了,它似乎不起作用,当我尝试进行TEST = mytest测试时,从输出中观察到这一行

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值 . 任何帮助或澄清将不胜感激!

1 回答

  • 1

    您收到错误是因为使用了您正在使用的语法,因为分号,您尝试调用名为“write”的bash命令:

    写入实用程序允许您通过从终端复制线路与其他用户进行通信 .

    试试没有分号;)

    更干净的解决方案是修改文件“check / configuration_tmpfile_setup_scip.sh”并添加该行

    echo write solution /absolute/path/to/solutions/${INSTANCE}.sol >> $TMPFILE
    

    在退出命令之前 . 此配置文件设置批处理文件以向SCIP提供交互式shell应执行的所有命令,并且您可以对任意用户行为进行建模 .

相关问题