Annotation Type PlanningVariable
Specifies that a bean property (or a field) can be changed and should be optimized by the optimization algorithms.
 
 It is specified on a getter of a java bean property (or directly on a field) of a PlanningEntity class.
- 
Nested Class SummaryNested ClassesModifier and TypeClassDescriptionstatic interfaceWorkaround for annotation limitation instrengthComparatorClass().static interfaceWorkaround for annotation limitation instrengthWeightFactoryClass().
- 
Optional Element SummaryOptional ElementsModifier and TypeOptional ElementDescriptionIn some use cases, such as Vehicle Routing, planning entities form a specific graph type, as specified byPlanningVariableGraphType.booleanA nullable planning variable will automatically add the planning value null to theValueRangeProvider's range.Class<? extends Comparator>Allows a collection of planning values for this variable to be sorted by strength.Class<? extends SelectionSorterWeightFactory>TheSelectionSorterWeightFactoryalternative forstrengthComparatorClass().String[]AnyValueRangeProviderannotation on aPlanningSolutionorPlanningEntitywill automatically be registered with itsValueRangeProvider.id().
- 
Element Details- 
valueRangeProviderRefsString[] valueRangeProviderRefsAnyValueRangeProviderannotation on aPlanningSolutionorPlanningEntitywill automatically be registered with itsValueRangeProvider.id().If no refs are provided, all ValueRangeProviders without an id will be registered, provided their return types match the type of this variable.- Returns:
- 0 or more registered ValueRangeProvider.id()
 - Default:
- {}
 
- 
nullableboolean nullableA nullable planning variable will automatically add the planning value null to theValueRangeProvider's range.Nullable true is not compatible with PlanningVariableGraphType.CHAINEDtrue. Nullable true is not compatible with a primitive property type.- Returns:
- true if null is a valid value for this planning variable
 - Default:
- false
 
- 
graphTypePlanningVariableGraphType graphTypeIn some use cases, such as Vehicle Routing, planning entities form a specific graph type, as specified byPlanningVariableGraphType.- Returns:
- never null, defaults to PlanningVariableGraphType.NONE
 - Default:
- NONE
 
- 
strengthComparatorClassClass<? extends Comparator> strengthComparatorClassAllows a collection of planning values for this variable to be sorted by strength. A strengthWeight estimates how strong a planning value is. Some algorithms benefit from planning on weaker planning values first or from focusing on them.The Comparatorshould sort in ascending strength. For example: sorting 3 computers on strength based on their RAM capacity: Computer B (1GB RAM), Computer A (2GB RAM), Computer C (7GB RAM),Do not use together with strengthWeightFactoryClass().- Returns:
- PlanningVariable.NullStrengthComparatorwhen it is null (workaround for annotation limitation)
- See Also:
 - Default:
- org.optaplanner.core.api.domain.variable.PlanningVariable.NullStrengthComparator.class
 
- 
strengthWeightFactoryClassClass<? extends SelectionSorterWeightFactory> strengthWeightFactoryClassTheSelectionSorterWeightFactoryalternative forstrengthComparatorClass().Do not use together with strengthComparatorClass().- Returns:
- PlanningVariable.NullStrengthWeightFactorywhen it is null (workaround for annotation limitation)
- See Also:
 - Default:
- org.optaplanner.core.api.domain.variable.PlanningVariable.NullStrengthWeightFactory.class
 
 
-