ILOG CPLEX 11.0 Parameters Reference Manual > > Alphabetic List of Parameters > Solution pool intensity

C Name

CPX_PARAM_SOLNPOOLINTENSITY

C++ Name

SolnPoolIntensity

Java Name

SolnPoolIntensity

.NET Name

SolnPoolIntensity

InteractiveOptimizer

mip pool intensity

Identifier

2107

Description

Controls the trade-off between the number of solutions generated for the solution pool and the amount of time or memory consumed. This parameter applies both to MIP optimization and to the populate procedure.

Values from 1 (one) to 4 invoke increasing effort to find larger numbers of solutions. Higher values are more expensive in terms of time and memory but are likely to yield more solutions.

Effect

For MIP optimization, increasing the value of the parameter corresponds to increasing the amount of effort spent setting up the branch and cut tree to prepare for a subsequent call to the populate procedure.

For populate, increasing the value of this parameter corresponds, in addition, to increasing the amount of effort spent exploring the tree to generate more solutions. If MIP optimization is called before populate, populate will reuse the information computed and stored during MIP optimization only if this parameter has not been increased between calls. Similarly, if populate is called several times successively, populate will re-use the information computed and stored during previous calls to populate only if the solution pool intensity has not increased between calls. Therefore, it is most efficient not to change the value of this parameter between calls to MIP optimization and populate, nor between successive calls of populate. Increase the value of this parameter only if too few solutions are generated.

Settings

Its default value, 0 (zero), lets CPLEX choose which intensity to apply. If MIP optimization is called first after the model is read, CPLEX sets the intensity to 1 (one) for this call to MIP optimization and to subsequent calls of populate. In contrast, if populate is called directly after the model is read, CPLEX sets the intensity to 2 for this call and subsequent calls of populate.

For value 1 (one), the performance of MIP optimization is not affected. There is no slowdown and no additional consumption of memory due to this setting. However, populate will quickly generate only a small number of solutions. Generating more than a few solutions with this setting will be slow. When you are looking for a larger number of solutions, use a higher value of this parameter.

For value 2, some information is stored in the branch and cut tree so that it is easier to generate a larger number of solutions. This storage has an impact on memory used but does not lead to a slowdown in the performance of MIP optimization. With this value, calling populate is likely to yield a number of solutions large enough for most purposes. This value is a good choice for most models.

For value 3, the algorithm is more aggressive in computing and storing information in order to generate a large number of solutions. Compared to values 1 (one) and 2, this value will generate a larger number of solutions, but it will slow MIP optimization and increase memory consumption. Use this value only if setting this parameter to 2 does not generate enough solutions.

For value 4, the algorithm generates all solutions to your model. Even for small models, the number of possible solutions is likely to be huge; thus enumerating all of them will take time and consume a large quantity of memory. In this case, remember to set the populate limit parameter (PopulateLim, CPX_PARAM_POPULATELIM) to a value appropriate for your model; otherwise, the populate procedure will stop prematurely because of this stopping criterion instead of enumerating all solutions. In addition, a few limitations apply to this exhaustive enumeration, as explained in Enumerating All Solutions in the ILOG CPLEX User's Manual.

Values

Value 
Meaning 
Automatic: let CPLEX choose; default 
Mild: generate few solutions quickly 
Moderate: generate a larger number of solutions 
Aggressive: generate many solutions and expect performance penalty 
Very aggressive: enumerate all practical solutions