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!
source to share
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.
source to share