Interface SolutionPartitioner<Solution_>
- Type Parameters:
Solution_- the solution type, the class with thePlanningSolutionannotation
public interface SolutionPartitioner<Solution_>
Splits one
solution into multiple partitions.
The partitions are solved and merged based on the PlanningSolution.lookUpStrategyType().
To add custom properties, configure custom properties and add public setters for them.
-
Method Summary
Modifier and TypeMethodDescriptionsplitWorkingSolution(ScoreDirector<Solution_> scoreDirector, Integer runnablePartThreadLimit) Returns a list of partition clonedsolutionsfor which eachplanning entityis partition cloned into exactly 1 of those partitions.
-
Method Details
-
splitWorkingSolution
List<Solution_> splitWorkingSolution(ScoreDirector<Solution_> scoreDirector, Integer runnablePartThreadLimit) Returns a list of partition clonedsolutionsfor which eachplanning entityis partition cloned into exactly 1 of those partitions. Problem facts can be multiple partitions (with our without cloning).Any class that is
solution clonedmust also be partitioned cloned. A class can be partition cloned without being solution cloned.- Parameters:
scoreDirector- never null, theScoreDirectorwhich has theScoreDirector.getWorkingSolution()that needs to be split uprunnablePartThreadLimit- null if unlimited, never negative- Returns:
- never null,
List.size()of at least 1.
-