SCIP is best suited for automated testing

Based on the steps at http://scip.zib.de/doc/html/TEST.php I was able to set up an automated test using SCIP. However, I would like to write a solution (best possible solution) for the file, not just get an objective value. Is there anyway to do this in an automated test?

I did a hack in check.sh by replacing

OPTCOMMAND=optimize; write solution myfilename.sol;

      

But too bad it doesn't seem to work when I tried to do TEST = test mytest, this line is observed from the output

 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

      

I know it is possible to write a solution through an interactive shell, but I am trying to automate the test to get both the solution and the obj value. Any help or clarification would be much appreciated!

0


source to share


1 answer


You are getting an error because when using the syntax, you are trying to invoke a bash command called "write" because of the semicolon:

The recording utility allows you to communicate with other users by copying lines from your terminal to your own.

Just try without comma;)



A cleaner solution would be to modify the "check / configuration_tmpfile_setup_scip.sh" file and add the line

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

      

before the quit command. This config file sets up a batch file to feed SCIP with all the commands an interactive shell needs to execute, and you can simulate arbitrary user behavior.

+1


source







All Articles