The solution pool stores multiple solutions to a mixed integer programming (MIP) model. With this feature, you can direct the algorithm to generate multiple solutions in addition to the optimal solution. For example, some constraints may be difficult to formulate efficiently as linear expressions, or the objective may be difficult to quantify exactly. In such cases, obtaining multiple solutions will help you choose one which best fits all your criteria, including the criteria that could not be expressed easily in a conventional MIP model.
Furthermore, you can use the solution pool and tools associated with it to explore and evaluate alternative solutions in a variety of ways:
-
You can collect solutions within a given percentage of the optimal solution. To do so, apply the solution pool gap parameters (relative or absolute), as explained in Parameters of the Solution Pool.
-
You can collect a set of diverse solutions. To do so, use the solution pool replacement parameter (
SolnPoolReplace
, CPX_PARAM_SOLNPOOLREPLACE
) to set the solution pool replacement strategy to CPX_SOLNPOOL_DIV
, as explained in the documentation of that parameter in the ILOG CPLEX Parameter Reference Manual. In order to control the diversity of solutions even more finely, apply a diversity filter, as explained in Diversity Filters.
-
In an advanced application of this feature, you can collect solutions with specific properties. To do so, see Filtering the Solution Pool
-
You can collect all solutions or all optimal solutions to a MIP model. To do so, set the solution pool intensity parameter to its highest value, as explained in the documentation of
SolnPoolIntensity
, CPX_PARAM_SOLNPOOLINTENSITY
in the ILOG CPLEX Parameter Reference Manual.