OptaPlanner 构造启发式在 -1 上初始化

OptaPlanner Construction heuristics initialise on -1

据我了解,Optaplanner 在使用构造启发式时正在初始化值为 null 的实体。我有以下设置:

@PlanningVariable(valueRangeProviderRefs = {"dayRange"})
  public Integer getDay() {
    return day;
  }

有没有办法告诉 Optaplanners 构造启发式初始化字段 day,当它持有值 -1 而不是 null 时?

有了 @PlanningVariable(reinitializeVariableEntityFilter = ...) 你或许可以做到。

但不要那样做,因为没有人那样做,因此这种方法并不常见(想想测试和生产使用)。它可能会在以后造成麻烦、混乱和复杂性(想想连续规划、实时规划、过度约束规划)。 只需使用null表示规划变量未初始化。 构造启发式之后,所有变量都将是非空的。