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.
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 |