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 Detail

      • 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.