MIP variable selection strategy

Sets the rule for selecting the branching variable at the node which has been selected for branching.

Purpose

MIP variable selection strategy

API Parameter Name Name prior to V12.6.0
C CPXPARAM_MIP_Strategy_VariableSelect CPX_PARAM_VARSEL
C++ IloCplex::Param::MIP::Strategy::VariableSelect VarSel (int)
OPL varsel
Interactive mip strategy variableselect mip strategy variableselect
Identifier 2028 2028

Description

Sets the rule for selecting the branching variable at the node which has been selected for branching.

The minimum infeasibility rule chooses the variable with the value closest to an integer but still fractional. The minimum infeasibility rule (-1) may lead more quickly to a first integer feasible solution, but is usually slower overall to reach the optimal integer solution.

The maximum infeasibility rule chooses the variable with the value furtherest from an integer. The maximum infeasibility rule (1 one) forces larger changes earlier in the tree.

Pseudo cost (2) variable selection is derived from pseudo-shadow prices.

Strong branching (3) causes variable selection based on partially solving a number of subproblems with tentative branches to see which branch is the most promising. This strategy can be effective on large, difficult MIP problems.

Pseudo reduced costs (4) are a computationally less-intensive form of pseudo costs.

The default value (0 zero) allows CPLEX to select the best rule based on the problem and its progress.

Table 1. Values
Value Symbol Meaning
-1 CPX_VARSEL_MININFEAS Branch on variable with minimum infeasibility
0 CPX_VARSEL_DEFAULT Automatic: let CPLEX choose variable to branch on; default
1 CPX_VARSEL_MAXINFEAS Branch on variable with maximum infeasibility
2 CPX_VARSEL_PSEUDO Branch based on pseudo costs
3 CPX_VARSEL_STRONG Strong branching
4 CPX_VARSEL_PSEUDOREDUCED Branch based on pseudo reduced costs