名称 | 说明 |
---|---|
|
指定某一个类是一个计划解决方案。 @PlanningSolution
public class Roster
一个解决方案是可变的,出于可伸缩性原因(反复计算增量分数),同一个解决方案实例被不断修改,它被克隆以计算出最佳解决方案。 原则:
|
|
指定一个属性代表一个计划解决方案(有`PlanningSolution`标记的类)的分数。 @PlanningScore
private HardMediumSoftLongScore score = null; 如果`PlanningSolution`标记的类没有实例化,则指定的分数属性可以为空。该属性被 |
|
指定一个属性代表一个计划解决方案(有`PlanningSolution`标记的类)的问题事实。 @ProblemFactProperty
private RosterState rosterState; 一个问题事实在问题解决的过程中不应被修改,除非发出
|
|
指定一个集合属性代表一个计划解决方案(有`PlanningSolution`标记的类)的问题事实集合。 @ProblemFactCollectionProperty
private List<Skill> skillList; 同样,一个问题事实在问题解决的过程中不应被修改,除非发出 同样, |
|
指定一个属性代表一个计划解决方案(有`PlanningSolution`标记的类)的计划实体。 @PlanningEntityProperty
private Skill skill; 计划实体必须标记 |
|
指定一个集合属性代表一个计划解决方案(有`PlanningSolution`标记的类)的计划实体集合。 @PlanningEntityCollectionProperty
private List<Shift> shiftList; 计划实体集合中的计划实体必须标记 |
|
指定一个属性代表一个计划解决方案(有`PlanningSolution`标记的类)的约束配置。这个属性同样是一个问题事实,所以需要明确声明。 该属性对应的类必须标记 |
|
指定一个类代表一个计划实体。 @PlanningEntity(movableEntitySelectionFilter = MovableShiftFilter.class)
public class Shift { 原则:
|
|
指定一个属性或字段可以被改变,并且应该通过优化算法进行优化。 @PlanningVariable(valueRangeProviderRefs = "employeeRange", nullable = true)
private Employee employee = null; 该标记应该在 get 方法,或相应的属性上。 |
|
标记在一个计划实体的布尔属性上,说明计划实体是否是固定不变。 @PlanningPin
private boolean pinnedByUser = false; 一个固定不变的计划实体在计划解决的过程中不会被改变,例如,它允许用户在解决之前将转换固定到特定员工,并且无论约束如何,解算器都不会撤消该转换。 如果属性值为 |
Table of Contents