Chapter 13. Partitioned Search

13.1. Overview

For very big datasets, it is sometimes worthwhile to partition the datasets into smaller pieces.

However, partitioning leads to suboptimal results, even if the pieces are solved optimally:

mapReduceIsTerribleForTsp

A future version of Planner will have native support for several forms of partitioning. Meanwhile, you can implement it yourself as shown in the image above. Use a Solver to solve each piece.

Note

Not all use cases can be partitioned. It only works on use cases for which the planning entities and value ranges can be divided into n pieces, such that none of the constraints cross piece boundaries.