Annotation Interface PlanningScore


@Target({METHOD,FIELD}) @Retention(RUNTIME) public @interface PlanningScore
Specifies that a property (or a field) on a PlanningSolution class holds the Score of that solution.

This property can be null if the PlanningSolution is uninitialized.

This property is modified by the Solver, every time when the Score of this PlanningSolution has been calculated.

  • Field Details

  • Element Details

    • bendableHardLevelsSize

      int bendableHardLevelsSize
      Required for bendable scores.

      For example with 3 hard levels, hard level 0 always outweighs hard level 1 which always outweighs hard level 2, which outweighs all the soft levels.

      Returns:
      0 or higher if the Score is a IBendableScore, not used otherwise
      Default:
      -1
    • bendableSoftLevelsSize

      int bendableSoftLevelsSize
      Required for bendable scores.

      For example with 3 soft levels, soft level 0 always outweighs soft level 1 which always outweighs soft level 2.

      Returns:
      0 or higher if the Score is a IBendableScore, not used otherwise
      Default:
      -1
    • scoreDefinitionClass

      @Deprecated(forRemoval=true) Class<? extends ScoreDefinition> scoreDefinitionClass
      Deprecated, for removal: This API element is subject to removal in a future version.
      Support for custom scores is deprecated and will be removed in OptaPlanner 9.0.
      Overrides the default determined ScoreDefinition to implement a custom one.

      If this is not specified, the ScoreDefinition is automatically determined based on the return type of the annotated property (or field) on a PlanningSolution.

      Returns:
      PlanningScore.NullScoreDefinition when it is null (workaround for annotation limitation)
      Default:
      org.optaplanner.core.api.domain.solution.PlanningScore.NullScoreDefinition.class