Java 我可以在OptaPlanner中使用多个@PlanningEntityCollectionProperty吗?

Java 我可以在OptaPlanner中使用多个@PlanningEntityCollectionProperty吗?,java,optaplanner,Java,Optaplanner,我想将员工分配到储备期间或轮班期间 @PlanningSolution public class RosterSolution implements Solution<HardSoftScore> { @PlanningEntityCollectionProperty private List<Shift> shift = new ArrayList<Shift>(); @PlanningEntityCollectionProperty

我想将
员工
分配到
储备
期间或
轮班
期间

@PlanningSolution
public class RosterSolution implements Solution<HardSoftScore> {

  @PlanningEntityCollectionProperty 
  private List<Shift> shift = new ArrayList<Shift>();

  @PlanningEntityCollectionProperty 
  private List<Reserve> reserve = new ArrayList<Reserve>();
  ....



}
是否可以在解决方案中使用多个@PlanningEntityCollectionProperty注释?我还没有看到任何使用它的例子。@PlanningSolution下的文档说明“每个规划解决方案必须至少有1个PlanningEntityCollectionProperty或PlanningEntityProperty属性”,但我不确定如何实现它


我试图避免使用类型编码的单一规划实体列表,除非我可以“用状态/策略模式替换类型代码”(如果可能)。

是的,您可以。示例
指导Huttle收集解决方案
车辆路线解决方案
执行此操作


当您有多个规划实体类(其中一些可以是影子实体类)时,它非常有用。除非你真的需要,否则不要去那里。

是的,你可以去。示例
指导Huttle收集解决方案
车辆路线解决方案
执行此操作


当您有多个规划实体类(其中一些可以是影子实体类)时,它非常有用。除非你真的需要,否则不要去那里。

Java8允许同一类型的多个注释。我不确定他们是否真的会和OptaPlanner合作,谢谢。我对框架如何使用多个@PlanningEntityCollectionProperty注释更感兴趣。我知道它可以编译ok.Java8允许同一类型的多个注释。我不确定他们是否真的会和OptaPlanner合作,谢谢。我对框架如何使用多个@PlanningEntityCollectionProperty注释更感兴趣。我知道它可以编译。
@PlanningVariable(valueRangeProviderRefs={"employees"}, nullable= true)
    private Employee emp;