我想将Employee
分配到Reserve
期或Shift
期。
@PlanningSolution
public class RosterSolution implements Solution<HardSoftScore> {
@PlanningEntityCollectionProperty
private List<Shift> shift = new ArrayList<Shift>();
@PlanningEntityCollectionProperty
private List<Reserve> reserve = new ArrayList<Reserve>();
....
}
每个Shift和Reserve实体都有一个@PlanningVariable
@PlanningVariable(valueRangeProviderRefs={"employees"}, nullable= true)
private Employee emp;
是否可以在解决方案中使用多个@PlanningEntityCollectionProperty注释?我还没有看到任何使用它的例子。 @PlanningSolution下的文档说明每个规划解决方案必须具有至少1个 PlanningEntityCollectionProperty或PlanningEntityProperty属性,但我不确定如何实现它。
我试图避免单一的使用类型编码的计划实体列表,除非我能用状态/策略模式替换类型代码&#39; (如果可能的话)。
答案 0 :(得分:0)
是的,你可以。示例CoachShuttleGatheringSolution
和VehicleRoutingSolution
执行此操作。
当您有多个计划实体类(其中一些可以是阴影实体类)时,它很有用。但除非你真的需要,否则不要去那里。