问题
I have defined customized settings in a file called scip.set and put in in myscipdir/settings.
The settings contain
limits/time = 86400
limit/memory = 61440
lp/threads = 6
However, SCIP doesn't seems to load the customized settings, instead,
- default settings are used (see attached picture), and
- the parameter file is not found under /check/results directory.
May I know what is the correct way to do this? I can set both time and memory limits from make test command line, but I'd also need to set a higher number of threads.
Note that in the figure, SCIP said "user parameter file scip.set not found - using default parameters", this is misleading, because in the next line, it said "loaded parameter file ...". If scip.set is really not in /settings, SCIP pops up an error saying that file not found and aborts.
回答1:
There is more than that. I remember you run automated tests using the make test
functionalities of SCIP (which you should always mention in your question, by the way). The settings you provide are read in, but then overwritten again (magic happens, as always, in "check/configuration_tmpfile_setup_scip.sh", see also your related question).
You instead have to pass these particular configuration parameters as options to make
like this:
make test TIME=86400 THREADS=6 MEM=61440 [optional: SETTINGS=scip]
If you do not pass these flags, they (currently) default to
- TIME=3600
- MEM=6144
- THREADS= 1
You find the definitions under "make/make.project". Some more available (in your case maybe read necessary) options are found in the section "Advanced Options" on How to run automated tests.
This is a way to prevent you from accidentally using settings with undesired time limits (maybe even infinite limits) when you do automated tests. I admit that this might seem a bit complicated. Although the approach has saved us an almost infinite amount of CPU processing time, we have it on our agenda to facilitate both the testing system as well as its accessibility.
Your bonus question about the behaviour of SCIP reading in settings files: The confusion comes because you named your settings "scip.set". Every time you open an interactive shell, SCIP will look for customized settings in the current working directory of this name, but use default settings if such a file does not exist. If, however, you specify a settings file via the SETTINGS
-flag, but if the test script fails to locate this file in the settings directory, the script aborts to save you computation time with non-existent settings.
EDIT1: By the way: Since you are using SoPlex as LP solver, You do not need to bother about the LP thread number; SoPlex is single-threaded.
回答2:
SCIP tries to load standard scip.set file from the scip directory not from the settings directory. You can add a symbolic link
ln -s settings/yoursettings.set scip.set
Now, SCIP loads your settings file by default.
Best, Jakob
来源:https://stackoverflow.com/questions/26520320/scip-customized-settings-not-loaded