未加载SCIP自定义设置 [英] SCIP Customized settings not loaded

查看:140
本文介绍了未加载SCIP自定义设置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在名为scip.set的文件中定义了自定义设置,并将其放入myscipdir/settings中.

I have defined customized settings in a file called scip.set and put in in myscipdir/settings.

设置包含

limits/time = 86400
limit/memory = 61440
lp/threads = 6

但是,SCIP似乎并未加载自定义设置,

However, SCIP doesn't seems to load the customized settings, instead,

  1. 使用默认设置(请参见附图),并且
  2. 在/check/results目录下找不到参数文件.

我可以知道执行此操作的正确方法是什么吗?我可以从make test命令行设置时间和内存限制,但是我还需要设置更多的线程数.

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.

请注意,在图中,SCIP表示找不到用户参数文件scip.set-使用默认参数",这具有误导性,因为在下一行中,它表示已加载参数文件...". 如果scip.set确实不在/settings中,则SCIP会弹出一个错误,指出未找到该文件并中止.

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.

推荐答案

还有更多.我记得您使用SCIP的make test功能运行自动化测试(顺便提一下,您应该始终在问题中提及).您提供的设置将被读入,但随后会被覆盖(与往常一样,神奇的情况是在"check/configuration_tmpfile_setup_scip.sh"中,另请参见

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).

您必须像这样将这些特定的配置参数作为选项传递给make:

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

您可以在"make/make.project"下找到定义.在必要的). php"rel =" nofollow noreferrer>如何运行自动化测试.

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.

这是一种防止您在执行自动测试时意外使用具有不希望的时间限制(甚至是无限限制)的设置的方法.我承认这似乎有点复杂.尽管这种方法为我们节省了几乎无限量的CPU处理时间,但我们将其列入议程以促进测试系统及其可访问性.

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.

您关于设置文件中SCIP读取行为的奖励问题:之所以出现混乱,是因为您将设置命名为"scip.set".每次打开交互式外壳程序时,SCIP都会在此名称的当前工作目录中查找自定义设置,但如果不存在此文件,则使用默认设置.但是,如果您通过SETTINGS标志指定了一个设置文件,但是如果测试脚本未能在设置目录中找到该文件,则该脚本将中止以节省不存在的设置的计算时间.

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.

顺便说一句:由于您将SoPlex用作LP解算器,因此您无需理会LP线程号; SoPlex是单线程的.

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.

这篇关于未加载SCIP自定义设置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆