The DECOMP_SUBPROB statement controls the subproblem.
Table 15.16 summarizes the options available for the decomposition algorithm in the DECOMP_SUBPROB statement when the subproblem algorithm chosen is an LP algorithm. (As indicated, you can specify the PRINTLEVEL= option only in the OPTLP procedure.) For descriptions of these options, see the section LP Solver Options in Chapter 7: The Linear Programming Solver and the section PROC OPTLP Statement in Chapter 12: The OPTLP Procedure. Some options have different defaults when you use the decomposition algorithm, as shown in Table 15.16.
Table 15.16: Options in the DECOMP_SUBPROB Statement Used with an LP Algorithm
Description |
decomp-subprob-option |
Different |
---|---|---|
Default |
||
Algorithm Option |
||
Specifies the subproblem algorithm |
PS (METHOD=USER) NETWORK_PURE (METHOD=NETWORK)† |
|
Presolve Option |
||
Controls the dualization of the problem |
OFF |
|
Specifies, for the first subproblem solve only, the type of presolve |
||
Specifies the type of presolve |
NONE (ALGORITHM=PS)† |
|
Control Options |
||
Specifies the feasibility tolerance |
1E–7 |
|
Specifies how frequently to print the solution progress |
||
Specifies the level of detail of solution progress to print in the log |
||
Specifies the maximum number of iterations |
||
Specifies the time limit for the optimization process |
||
Specifies the number of threads to use in the subproblem solver |
||
Specifies the optimality tolerance |
1E–7 |
|
Enables or disables printing summary (OPTLP procedure only) |
||
Specifies the initial seed for the random number generator |
||
Specifies whether time units are CPU time or real time |
||
Simplex Algorithm Options |
||
Specifies the type of initial basis |
WARMSTART (ALGORITHM=PS)† |
|
Specifies the type of pricing strategy |
||
Specifies the queue size for determining entering variable |
||
Enables or disables scaling of the problem |
||
Interior Point Algorithm Options |
||
Enables or disables interior crossover |
||
Specifies the stopping criterion based on duality gap |
||
Specifies the stopping criterion based on dual infeasibility |
||
Specifies the stopping criterion based on primal infeasibility |
† When METHOD=USER is specified in the DECOMP statement, ALGORITHM=PS, PRESOLVER=NONE, and BASIS=WARMSTART by default. These defaults are motivated by the fact that primal feasibility of the subproblem is preserved when the objective is changed, so a warm start from the previous optimal basis tends to be more efficient than solving the subproblem from scratch in each iteration. When METHOD=NETWORK, ALGORITHM=NETWORK_PURE by default because each subproblem is a pure network, causing the specialized pure network solver to usually be the most efficient choice.
Table 15.17 summarizes the options available in the DECOMP_SUBPROB statement when the subproblem algorithm chosen is a MILP algorithm. When the subproblem consists of multiple blocks (a block-diagonal structure), these settings apply to all subproblems. For descriptions of these options, see the section MILP Solver Options in Chapter 8: The Mixed Integer Linear Programming Solver and the section PROC OPTMILP Statement in Chapter 13: The OPTMILP Procedure.
Table 15.17: Options in the DECOMP_SUBPROB Statement Used with a MILP Algorithm
Description |
decomp-subprob-option |
Different |
---|---|---|
Default |
||
Algorithm Option |
||
Specifies the subproblem algorithm |
||
Presolve Option |
||
Specifies, for the first subproblem solve only, the type of presolve |
||
Specifies the type of presolve |
||
Control Options |
||
Specifies the stopping criterion based on absolute objective gap |
||
Emphasizes feasibility or optimality |
||
Specifies the maximum violation on variables and constraints |
1E–7 |
|
Specifies the maximum allowed difference between an integer variable’s value and an integer |
||
Specifies how frequently to print the node log |
||
Specifies the level of detail of solution progress to print in the log |
||
Specifies the maximum number of nodes to be processed |
||
Specifies the maximum number of solutions to be found |
||
Specifies the time limit for the optimization process |
||
Specifies the number of threads to use in the subproblem solver |
||
Specifies the tolerance used when deciding on the optimality of nodes in the branch-and-bound tree |
1E–7 |
|
Specifies whether to use the previous best primal solution as a warm start |
||
Specifies the probing level |
||
Specifies the stopping criterion based on relative objective gap |
||
Specifies the scale of the problem matrix |
||
Specifies the stopping criterion based on target objective value |
||
Specifies whether time units are CPU time or real time |
||
Heuristics Option |
||
Specifies the primal heuristics level |
||
Search Options |
||
Specifies the level of conflict search |
||
Specifies the node selection strategy |
||
Specifies the restarting strategy |
||
Specifies the initial seed for the random number generator |
||
Specifies the number of simplex iterations performed on each variable in strong branching strategy |
||
Specifies the number of candidates for strong branching |
||
Specifies the level of symmetry detection |
||
Specifies the rule for selecting branching variable |
||
Cut Options |
||
Specifies the cut level for all cuts |
||
Specifies the clique cut level |
||
Specifies the flow cover cut level |
||
Specifies the flow path cut level |
||
Specifies the Gomory cut level |
||
Specifies the generalized upper bound (GUB) cover cut level |
||
Specifies the implied bounds cut level |
||
Specifies the knapsack cover cut level |
||
Specifies the lift-and-project cut level |
||
Specifies the mixed lifted 0-1 cut level |
||
Specifies the mixed integer rounding (MIR) cut level |
||
Specifies the row multiplier factor for cuts |
||
Specifies the overall cut aggressiveness |
||
Specifies the zero-half cut level |
The following options, listed in Table 15.16 and Table 15.17, are specific to the DECOMP_SUBPROB statement and are not described in the LP or MILP solver sections.