做设计比较好的网站推荐,wordpress批量扫描弱口令工具,文档共享网站建设,深圳东门老街美食攻略idea中drl文件对于OptaPlanner #xff08; Drools Planner#xff09;6.0.0.Beta1#xff0c;我已经用更优雅的ConstraintMatch系统替换了ConstraintOccurrence。 结果是您的DRL评分文件为#xff1a; 快多了 更容易读写 错误的发生率要低得多#xff0c;因为它们使得… idea中drl文件 对于OptaPlanner Drools Planner6.0.0.Beta1我已经用更优雅的ConstraintMatch系统替换了ConstraintOccurrence。 结果是您的DRL评分文件为 快多了 更容易读写 错误的发生率要低得多因为它们使得分损坏变得更加困难 让我们先来看结果然后再看代码可读性的提高。 快点 “给我看基准” 平均计算计数 即OptaPlanner每秒计算的分数数已急剧增加。 N个皇后256个皇后的 39计算数量 云平衡平均计算量为 27 车辆路线平均 40计算次数 课程安排平均 20计算数量 考试时间表平均 23计算次数 护士花名册平均Calc计数 7 但是这不一定意味着结果会显着改善尤其是如果旧结果已经接近最佳的话。 这意味着您可以在更短的时间内获得完全相同的结果 。 但是-与所有其他性能改进一样- 无法保证在同一时间获得明显更好的结果。 向外扩展时确实有帮助。 云平衡5分钟内平均软得分 0.58 车辆路线5分钟内平均 0.14可行软评分 课程安排7分钟内平均软得分 2.28 考试安排7分钟内平均考试软得分 0.53 30分钟的车辆路线数据集中的几个已经在5分钟内得到了最佳求解因此尽管车辆路线加速比很高但这些平均值却拖累了平均水平。 所有基准测试都使用完全相同的Drools和OptaPlanner版本因此这些数字仅显示ConstraintMatch更改的改进。 6.0中还有其他一些改进。 平均值如何计算计数范围 这是一些图表将旧的ConstraintOccurrence与新的ConstraintMatch进行了比较。 新的ConstraintMatch的当前实现尚未完全优化因此有时将其称为“慢速”模式即使速度更快。 CloudBalance 车辆路线 课程安排 考试名册 更轻松 “给我看代码” 对于初学者将删除accumulateHardScore和accumulateSoftScore规则。 更少的样板。 接下来每个计分规则的RHS然后为side都比较简单 之前 rule conflictingLecturesSameCourseInSamePeriodwhen...theninsertLogical(new IntConstraintOccurrence(conflictingLecturesSameCourseInSamePeriod, ConstraintType.HARD,-1,$leftLecture, $rightLecture));end 后 rule conflictingLecturesSameCourseInSamePeriodwhen...thenscoreHolder.addHardConstraintMatch(kcontext, -1);end 请注意您无需再重复ruleName或原因讲座。 OptaPlanner通过kcontext变量自行计算。 Drools自动在RHS中公开kcontext变量因此您不需要任何其他代码。 另外受限的ConstraintType枚举已由特定于Score类型的方法代替以允许OptaPlanner更好地支持多级得分类型例如HardMediumSoftScore和BendableScore。 您也不再需要修改API来获取所有ConstraintOcurrence的列表ConstraintMatch对象及其每个约束的总数可直接在ScoreDirector API上使用。 参考 DRL评分 DroolsjBPM博客上的JCG合作伙伴 Geoffrey De-Smet提供了OptaPlanner中更快更容易的方法 。 翻译自: https://www.javacodegeeks.com/2013/04/score-drl-faster-and-easier-in-optaplanner.htmlidea中drl文件