Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 本地搜索分数计算10/秒是否正常?_Performance_Optaplanner_Calculation - Fatal编程技术网

Performance 本地搜索分数计算10/秒是否正常?

Performance 本地搜索分数计算10/秒是否正常?,performance,optaplanner,calculation,Performance,Optaplanner,Calculation,我正在处理一台16核计算机的问题。多线程设置为自动 规划实体的数量(可为空)为137760。我正在实施valueRangeProvider,因此每个项目的规划值可能在2到4之间 我在文档中看到,通常分数计算速度都在1k分/秒以上。即使使用CH(每个17k实体进行分区),速度也低于这个数字 问题是我试着用不同的规则来检查速度。降低速度最快的规则是我添加的一个中等约束,以使规划实体不为空(对于我的问题,我尝试最大化分配的规划实体的数量,但由于更严格的约束,其中一些必须为空) 我的问题是,考虑到问题的

我正在处理一台16核计算机的问题。多线程设置为自动

规划实体的数量(可为空)为137760。我正在实施valueRangeProvider,因此每个项目的规划值可能在2到4之间

我在文档中看到,通常分数计算速度都在1k分/秒以上。即使使用CH(每个17k实体进行分区),速度也低于这个数字

问题是我试着用不同的规则来检查速度。降低速度最快的规则是我添加的一个中等约束,以使规划实体不为空(对于我的问题,我尝试最大化分配的规划实体的数量,但由于更严格的约束,其中一些必须为空)

我的问题是,考虑到问题的规模,速度是否正常,你们中是否有人对我如何面对这个问题有任何想法。

不,不是


找出哪一个约束是瓶颈。在您的ConstraintProvider或scoreDRL中,逐一注释它们,并在CH之后从解决方案运行30秒(因此直接运行LS),然后查看日志它是如何受到影响的。这是一个很好的解决慢约束的方法。

谢谢。我试过你说的,但任何规则的分数计算速度都是0/s,持续30秒。不过,这两种方法有不同之处。然后我又试着跑了1分钟。LS的最佳速度是4/秒(CH为2k/秒)。我尝试了不同的规则组合,以防有两条规则需要重写,事实上,就是这样。不过,我得到的最佳分数计算速度是120分/秒。我想知道是什么使分数计算在构造启发式和局部搜索之间如此不同。我的意思是在交换动作时,计算出的分数意味着计算“两次”。但为什么我的LS速度比CH慢10倍以上?CH从一个统一的解决方案开始,所以没有分配任何任务。当分配2个实体时,计算分配第3个实体的分数要比分配2000个实体时容易得多。例如,对于冲突检测,它需要更多的比较。