我正在处理一个问题,其中包括把项目成组与Optaplanner。
目前,在一个intranet网络中,介质是通过HTTP调用来计算的,因此我尝试优化硬分值计算来减少HTTP调用次数。
目前,我使用以下算法,它返回了正确的结果与我的许多用例。
<scoreDirectorFactory>
<initializingScoreTrend>ANY</initializingScoreTrend>
<easyScoreCalculatorClass>com.project.GroupingScoreCalculator</easyScoreCalculatorClass>
</scoreDirectorFactory>
<constructionHeuristic />
现在,我得到了一个案例,最佳解决方案没有通过使用这种配置的OptaPlanner进行测试。我捕获了一些解决方案并绘制了它们(见下图)。
预期:
我不是一个算法专家,我是在实践中学习,同时构建这个。
通过阅读文档,我认为穷举搜索将检查S1和S6,但也将检查S7和S8。据我所知,本地搜索和穷尽搜索不会自动停止。有没有办法检查物料html" target="_blank">维度的所有组合并自动停止?
默认情况下,OptaPlanner运行构造启发式和本地搜索。通过配置构造启发式,您禁用了本地搜索。相反,尝试通过添加终止来限制本地搜索。您可以在全局级别执行此操作,但也只能在本地搜索级别执行此操作:
<constructionHeuristic/>
<localSearch>
<termination>
<stepCountLimit>100</>
</>
</>
终止有不同的形式(见文档),但spentLimit和unimprovedSpentLimit是最常见的。
彻底搜索将自动停止。在非常重要的情况下,它可能需要几十亿年才能做到这一点,因为ES没有规模。
问题内容: 我正在尝试检查2D数组中每个元素的相邻值,但是当我到达数组的边或角落时,得到了IndexOutOfBoundsException。例如,如果我的数组是: | 2 | 4 | 2 | 7 | 8 | | 8 | 1 | 0 | 5 | 6 | | 0 | 3 | 1 | 5 | 2 | | 1 | 9 | 7 | 2 | 0 | 我知道8的所有邻居都是7,5和6,但是我的陈述并没有正确检
本文向大家介绍php实现给二维数组中所有一维数组添加值的方法,包括了php实现给二维数组中所有一维数组添加值的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现给二维数组中所有一维数组添加值的方法。分享给大家供大家参考,具体如下: 给二维数组中所有的一维数组添加值(索引和关联) 运行结果: 运行结果: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)
本文向大家介绍将二维数组转为一维数组的2种方法,包括了将二维数组转为一维数组的2种方法的使用技巧和注意事项,需要的朋友参考一下 如何将下面的二维数组转为一维数组。 第一种方法: 第二种方法: 以上两种解法print_r($names);后的结果为: 注意:array_column();可以有第三个参数,如 $n = array_column($msg, 'name', 'id'); print_r
问题内容: 我对多维数组有这个问题。 给定以下多维数组: 我想检查它的值并找到重复项(即键0、2和3),仅留下一个键-值对删除其他键,结果是这样的: 我怎样才能做到这一点?? 问题答案: 这将使用以下命令从阵列中删除重复项:
问题内容: 检查数组是 原始值的平面数组 还是 多维数组 的最有效方法是什么? 没有实际循环遍历数组并在其每个元素上运行的方法,有没有办法做到这一点? 问题答案: 简短的答案是,如果“第二维”可能在任何地方,您都必须至少隐式循环才能做到。如果必须在第一项中,您只需 但是,我能找到的最有效的通用方法是在数组上使用一个foreach循环,每当找到一个命中点时就会短路(至少隐式循环比直接的for()