algorithm for subproblems of a subMIP of a MIP

Sets which optimizer will be used to solve the subproblems of a subMIP of a MIP.

Purpose

Algorithm for subproblems of a subMIP of a MIP

API Parameter Name Name prior to V12.6.0
C CPXPARAM_MIP_Strategy_SubMIPSubAlg CPX_PARAM_SUBMIPSUBALG
C++ IloCplex::Param::MIP::Strategy::SubMIPSubAlg  
OPL
Interactive mip strategy submipsubalg  
Identifier 2206  

Description

Decides which continuous optimizer will be used to solve the subproblems of a subMIP in a MIP, after the initial relaxation.

For a definition of subMIP and for a list of conditions in which CPLEX solves a subMIP, see the topic What is a subMIP? in the CPLEX User's Manual.

See the documentation of these other subMIP parameters for further instructions that you can impose when CPLEX solves a subMIP:

The default Automatic setting (0 zero) of this parameter currently selects the dual simplex optimizer for subproblem solution for MILP and MIQP. The Automatic setting may be expanded in the future so that CPLEX chooses the algorithm based on additional characteristics of the model.

For MILP (integer constraints and otherwise continuous variable), all settings are permitted.

For MIQP (integer constraints and positive semi-definite quadratic terms in objective), setting 3 (Network) is not permitted, and setting 5 (Sifting) reverts to 0 (Automatic).

For MIQCP (integer constraints and positive semi-definite quadratic terms among the constraints), only the setting 0 (Automatic) is permitted. In other words, given a problem of type MIQCP, and any setting of this parameter other than 0 (Automatic), CPLEX will exit because of the quadratic constraint or quadratic constraints, and CPLEX displays an error message specifying that a mixed integer problem cannot be solved by this setting.

Tip: This rarely used parameter is helpful only in rare "corner" cases where there is clear evidence that the default choice of the continuous optimizer is really inappropriate for the heuristics applied to the problem.
Table 1. Values
Value Symbol Meaning
0 CPX_ALG_AUTOMATIC Automatic: let CPLEX choose; default
1 CPX_ALG_PRIMAL Primal Simplex
2 CPX_ALG_DUAL Dual Simplex
3 CPX_ALG_NET Network Simplex
4 CPX_ALG_BARRIER Barrier
5 CPX_ALG_SIFTING Sifting