OPTAPLANNER:增加规划实体作为优化约束的功能



我想添加一个规划实体列表的函数作为约束。更具体地说,每个计划实体都有一个贡献x,我想实现一个约束,如果所有x贡献的总和大于x,则添加一个HARD分数,例如…

Constraint ConstraintX(ConstraintFactory constraintFactory) {
return constraintFactory
.forEach(planningEntity.class)
.filter(planningEntity-> planningEntity.get_x())
.sum().penalize("Sum of xs bigger than X", 
HardMediumSoftScore.ONE_HARD,
sum > X # what goes here???                                                
);
}

参见OptaPlanner关于约束收集器的文档。具体来说,ConstraintCollectors.sum(...)正是您所需要的。

最新更新