Optaplanner 看不到我的计划变量

Optaplanner doesn't see my planning variable

所以我有一个class周期:

@PlanningEntity
public class Cycle {
  private Integer START = 29;
  private Integer END = 42;
  private final int SUSTAIN_START = 29;
  private final int SUSTAIN_END = 72;

  @PlanningVariable(valueRangeProviderRefs = { "startRange" } )
  public Integer getStartIndex() {
    System.out.println("DEBUG: getStartIndex");
    return START;

  }

  public void setStartIndex(Integer i) {
    System.out.println("DEBUG: setStartIndex");
    START = i;
    END = i+13;
  }

  @ValueRangeProvider(id = "startRange")
  public List<Integer> getStartIndexes () {
    ArrayList<Integer> startRange = new ArrayList<Integer>();
    for(int i = SUSTAIN_START; i < SUSTAIN_END; i++) {
      startRange.add(i);
    }
    return startRange;
  }

}

并且 Optplanner 从未调用过任何这些方法,我不知道为什么。我尝试在 getStartIndexes 方法上添加“@ProblemFactCollectionProperty”注释,但我在文档中读到该注释只能在 PlanningSolution 中使用。

我也尝试过使用 scanAnnotatedClasses 并在我的求解器配置中明确指定 entityClass,但似乎都没有什么不同。

为什么 Optaplanner 看不到我的变量,为什么 Optaplanner 不更改它?

更多信息:我使用的是 Optaplanner 7.30 版。0.Final 我有另一个规划实体,其中有两个规划变量,Optaplanner 可以看到和更改这些变量。

根据@yurloc 的评论,问题是我在 PlanningSolution class 中缺少 Cycles 的 PlanningEntityCollectionProperty。谢谢您的帮助!