Interface SolutionPartitioner<Solution_>

Type Parameters:
Solution_ - the solution type, the class with the PlanningSolution annotation

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 Details

    • splitWorkingSolution

      List<Solution_> splitWorkingSolution(ScoreDirector<Solution_> scoreDirector, Integer runnablePartThreadLimit)
      Returns a list of partition cloned solutions for which each planning entity is partition cloned into exactly 1 of those partitions. Problem facts can be multiple partitions (with our without cloning).

      Any class that is solution cloned must also be partitioned cloned. A class can be partition cloned without being solution cloned.

      Parameters:
      scoreDirector - never null, the ScoreDirector which has the ScoreDirector.getWorkingSolution() that needs to be split up
      runnablePartThreadLimit - null if unlimited, never negative
      Returns:
      never null, List.size() of at least 1.