首页 > 解决方案 > optaplanner 员工公平性计算

问题描述

如何使用约束流 api 计算员工的公平性。

https://www.optaplanner.org/blog/2017/02/03/FormulaForMeasuringUnfairness.html

我已经在网球求解器示例中看到了上述流口水的实现。

https://github.com/kiegroup/optaplanner/blob/581d10fb8140f37b7491d06b2bab8d5ac940d7f6/optaplanner-examples/src/main/resources/org/optaplanner/examples/tennis/solver/tennisConstraints.drl

在下面的链接中,据说将来会实现负载平衡/公平等高级功能。当前如何使用约束流计算它。是否可以计算?

https://www.optaplanner.org/blog/2020/04/07/ConstraintStreams.html

标签: optaplanner

解决方案


ConstraintStreams 将分两个阶段支持公平性。

在阶段 1) 中,网球示例通过自定义 ConstraintCollector 应用公平性。这里正在处理:https ://github.com/kiegroup/optaplanner/pull/710 这与 scoreDRL 中的状态非常相似。

在第 2 阶段(很晚)中,ConstraintStreams 本身将有一个开箱即用的同类最佳 API,可为您完成所有样板。想像from(Foo.class).groupBy(Foo::getBar, count()).loadBalance((bar, count) -> count)


推荐阅读