auxiliary root threads

Partitions the number of threads to manage tasks at the root node.

Purpose

Auxiliary root threads

API Parameter Name Name prior to V12.6.0
C CPXPARAM_MIP_Limits_AuxRootThreads CPX_PARAM_AUXROOTTHREADS
C++ IloCplex::Param::MIP::Limits::AuxRootThreads AuxRootThreads
OPL auxrootthreads
Interactive mip limits auxrootthreads n mip limits auxrootthreads n
Identifier 2139 2139

Description

Partitions the number of threads for CPLEX to use for auxiliary tasks while it solves the root node of a problem.

On a system that offers N global threads, if you set this parameter to n, where

N > n > 0

then CPLEX uses at most n threads for auxiliary tasks and at most N-n threads to solve the root node.

See also the parameter global thread count, for more general information about parallel solving and threads.

Tip:

You cannot set n, the value of this parameter, to a value greater than or equal to N, the number of global threads offered on your system.

Independent of the auxiliary root threads parameter, CPLEX will never use more threads than those defined by the global thread count parameter, whether that parameter is 0 (zero), its default value, or N, a value that you set. CPLEX also makes sure that there is at least one thread available for the main root tasks. For example, if you set the global threads parameter to 3 and the auxiliary root threads parameter to 4, CPLEX still uses only two threads for auxiliary root tasks in order to keep one thread available for the main root tasks.

At its default value, 0 (zero), CPLEX automatically chooses the number of threads to use for the primary root tasks and for auxiliary tasks. The number of threads that CPLEX uses to solve the root node depends on these factors:

  • the number of threads available to your application on your system (for example, as a result of limited resources or competition with other applications);

  • the value of the global thread count parameter (CPX_PARAM_THREADS, Threads).

Table 1. Values
Value Meaning
-1 Off: do not use additional threads for auxiliary tasks.
0 Automatic: let CPLEX choose the number of threads to use; default
N > n > 0 Use n threads for auxiliary root tasks