8.6.1. Integer parameters¶
C API parameter |
Parameter |
Description |
---|---|---|
MDO_INT_PARAM_METHOD |
The optimization method. |
|
MDO_INT_PARAM_PRESOLVE |
Specifies whether to enable presolving. |
|
MDO_INT_PARAM_DUALIZATION |
Specifies whether to perform dualization for the model. |
|
MDO_INT_PARAM_NUM_THREADS |
The number of used threads. |
|
MDO_INT_PARAM_ENABLE_NETWORK_FLOW |
Specifies whether to enable the network simplex method. |
|
MDO_INT_PARAM_ENABLE_STOCHASTIC_LP |
Specifies whether to enable structure detection for stochastic linear programming. |
|
MDO_INT_PARAM_SPX_COLUMN_GENERATION |
Specifies whether to use column generation in the simplex method. |
|
MDO_INT_PARAM_SPX_CRASH_START |
Specifies whether to use initial basic solution generation in the simplex method. |
|
MDO_INT_PARAM_SPX_MAX_ITERATIONS |
The maximum number of iterations in the simplex method. |
|
MDO_INT_PARAM_SPX_PRIMAL_PRICING |
The primal pricing strategy in the simplex method. |
|
MDO_INT_PARAM_SPX_DUAL_PRICING |
The dual pricing strategy in the simplex method. |
|
MDO_INT_PARAM_IPM_MAX_ITERATIONS |
The maximum number of iterations in the interior point method (IPM). |
|
MDO_INT_PARAM_MIP_MAX_NODES |
The maximum number of nodes in MIP. |
|
MDO_INT_PARAM_MIP_ROOT_PARALLELISM |
The Root Parallelism in MIP. |
|
MDO_INT_PARAM_MIP_AUTO_CONFIGURATION |
Specifies whether to enable configuration automatically for MIP. |
|
MDO_INT_PARAM_MIP_MAX_STALLING_NODES |
The maximum number of nodes allowed for processed after the last incumbent solution is found. |
|
MDO_INT_PARAM_MIP_MAX_SOLS |
The maximum number of solution in MIP. |
|
MDO_INT_PARAM_MIP_DETECT_DISCONNECTED_COMPONENTS |
Whether to enable disconnected component strategy in MIP |
|
MDO_INT_PARAM_MIP_SOLUTION_POOL_SIZE |
The capacity of solution pool size. |
|
MDO_INT_PARAM_MIP_ALLOW_DUAL_PRESOLVE |
Whether allow dual presolve. |
In addition, the parameters of C++、Java、Python API are in the namespace of MDO_INT_PARAM
。
8.6.1.1. “Method”¶
An integer parameter that specifies the algorithm used in the optimizer.
Group: Common
Default value: -1
Note
If the value -1 is specified, the simplex or concurrent optimization method can be used based on the number of threads allowed.
If only 1 thread is allowed, the primal simplex or dual simplex method is used.
If at least 2 threads are allowed, the concurrent optimization method is used to use both the simplex and IPM methods for independent solving.
Value |
Description |
---|---|
-2 |
The multi-thread simplex method is used. |
-1 |
The solver determines the method (concurrent optimization). |
0 |
The primal simplex method is used. |
1 |
The dual simplex method is used. |
2 |
The IPM is used. |
Examples
C
Mdo_setIntParam(model, "Method", -1);C++
model.setIntParam("Method", -1);Python
model.set_int_param("Method", -1)
8.6.1.2. “NumThreads”¶
An integer parameter that specifies the maximum number of threads used for optimization solving.
Group: Common
Default value: 0
Value |
Description |
---|---|
0 |
All cores of physical CPUs. |
>=1 |
The maximum number of threads allowed. |
Examples
C
Mdo_setIntParam(model, "NumThreads", 0);C++
model.setIntParam("NumThreads", 0);Python
model.set_int_param("NumThreads", 0)
8.6.1.3. “Presolve”¶
An integer parameter that specifies the presolver level.
Group: Common
Default value: -1
Value |
Description |
---|---|
-1 |
The solver determines the level. |
0 |
Disables all presolve methods. |
1 |
Enables a moderate presolve method. |
2 |
Enables a strong presolve method. |
Note
For the value 0, MindOpt will delete empty and redundant rows and columns to avoid numeric issues.
Examples
C
Mdo_setIntParam(model, "Presolve", 0);C++
model.setIntParam("Presolve", 0);Python
model.set_int_param("Presolve", 0)
8.6.1.4. “Dualization”¶
An integer parameter that specifies whether to perform dualization for the model.
Group: Common
Default value: -1
Value |
Description |
---|---|
-1 |
The solver determines whether to perform dualization. |
0 |
Disables model dualization. |
1 |
Enables model dualization. |
Examples
C
Mdo_setIntParam(model, "Dualization", -1);C++
model.setIntParam("Dualization", -1);Python
model.set_int_param("Dualization", -1)
8.6.1.5. “SPX/MaxIterations”¶
An integer parameter that specifies the maximum number of iterations in the simplex method.
Group: simplex method
Default value: 2147483647
Value range: [0, 2147483647]
Examples
C
Mdo_setIntParam(model, "SPX/MaxIterations", 2147483647);C++
model.setIntParam("SPX/MaxIterations", 2147483647);Python
model.set_int_param("SPX/MaxIterations", 2147483647)
8.6.1.6. “SPX/ColumnGeneration”¶
An integer parameter that specifies whether to use column generation in the simplex method.
Group: simplex method
Default value: -1
Value |
Description |
---|---|
-1 |
The solver determines whether to use column generation. |
0 |
Disables column generation. |
1 |
Enables column generation. |
Examples
C
Mdo_setIntParam(model, "SPX/ColumnGeneration", -1);C++
model.setIntParam("SPX/ColumnGeneration", -1);Python
model.set_int_param("SPX/ColumnGeneration", -1)
8.6.1.7. “SPX/CrashStart”¶
An integer parameter that specifies whether to use initial basic solution generation in the simplex method.
Group: simplex method
Default value: -1
Value |
Description |
---|---|
-1 |
The solver determines whether to use initial basic solution generation. |
0 |
Uses the fundamental initial basic solution generation. |
1 |
Uses the advanced initial basic solution generation. |
Examples
C
Mdo_setIntParam(model, "SPX/CrashStart", -1);C++
model.setIntParam("SPX/CrashStart", -1);Python
model.set_int_param("SPX/CrashStart", -1)
8.6.1.8. “SPX/PrimalPricing”¶
An integer parameter that specifies the primal pricing strategy in the simplex method.
Group: simplex method
Default value: -1
Value |
Description |
---|---|
-1 |
The solver determines the strategy. |
0 |
The steepest-edge pricing strategy is used. |
1 |
The approximate steepest-edge pricing strategy is used. |
2 |
The partial pricing strategy is used. |
Examples
C
Mdo_setIntParam(model, "SPX/PrimalPricing", -1);C++
model.setIntParam("SPX/PrimalPricing", -1);Python
model.set_int_param("SPX/PrimalPricing", -1)
8.6.1.9. “SPX/DualPricing”¶
An integer parameter that specifies the dual pricing strategy in the simplex method.
Group: simplex method
Default value: -1
Value |
Description |
---|---|
-1 |
The solver determines the strategy. |
0 |
The steepest-edge pricing strategy is used. |
1 |
The approximate steepest-edge pricing strategy is used. |
Examples
C
Mdo_setIntParam(model, "SPX/DualPricing", -1);C++
model.setIntParam("SPX/DualPricing", -1);Python
model.set_int_param("SPX/DualPricing", -1)
8.6.1.10. “IPM/MaxIterations”¶
An integer parameter that specifies the maximum number of iterations in the IPM.
Group: interior point method
Default value: 400
Value range: [0, 2147483647]
Examples
C
Mdo_setIntParam(model, "IPM/MaxIterations", 400);C++
model.setIntParam("IPM/MaxIterations", 400);Python
model.set_int_param("IPM/MaxIterations", 400)
8.6.1.11. “EnableNetworkFlow”¶
An integer parameter that specifies whether to enable the network simplex method.
Group: common
Default value: 0
Value |
Description |
---|---|
0 |
Disables the network simplex method. |
1 |
Enables the network simplex method. |
Examples
C
Mdo_setIntParam(model, "EnableNetworkFlow", 0);C++
model.setIntParam("EnableNetworkFlow", 0);Python
model.set_int_param("EnableNetworkFlow", 0)
8.6.1.12. “EnableStochasticLP”¶
An integer parameter that specifies whether to enable structure detection for stochastic linear programming.
Group: common
Default value: 0
Value |
Description |
---|---|
0 |
Disables detection. |
1 |
Enables detection. |
Examples
C
Mdo_setIntParam(model, "EnableStochasticLP", 0);C++
model.setIntParam("EnableStochasticLP", 0);Python
model.set_int_param("EnableStochasticLP", 0)
8.6.1.13. “MIP/MaxNodes”¶
An integer parameter that specifies the maximum number of nodes in the MILP.
Group: mip method
Default value: 400
Value range: [0, 2147483647]
Examples
C
Mdo_setIntParam(model, "MIP/MaxNodes", 2147483647);C++
model.setIntParam("MIP/MaxNodes", 2147483647);Python
model.set_int_param("MIP/MaxNodes", 2147483647)
8.6.1.14. “MIP/RootParallelism”¶
An integer parameter used to set the maximum number of concurrent threads allowed by the root node when solve MILP problems. Root node parallelism is to solve multiple root node copies at the same time with different parameters; therefore, the larger the number of threads, the greater the memory required.
Group: mip method
Default value: 8
Value range: [1, 256]
Examples
C
Mdo_setIntParam(model, "MIP/RootParallelism", 3);C++
model.setIntParam("MIP/RootParallelism", 3);Python
model.set_int_param("MIP/RootParallelism", 3)
8.6.1.15. “MIP/AutoConfiguration”¶
An integer parameter used to specify whether to enable configuration automatically for MIP.
Group: mip method
Default value: 1
Value range: {0, 1}
Examples
C
Mdo_setIntParam(model, "MIP/AutoConfiguration", 1);C++
model.setIntParam("MIP/AutoConfiguration", 1);Python
model.set_int_param("MIP/AutoConfiguration", 1)
8.6.1.16. “MIP/MaxStallingNodes”¶
An integer parameter used to set the maximum number of nodes allowed for processed after the last incumbent solution is found.
Group: mip method
Default value: 2147483647
Value range: [0, 2147483647]
Examples
C
Mdo_setIntParam(model, "MIP/MaxStallingNodes", 2147483647);C++
model.setIntParam("MIP/MaxStallingNodes", 2147483647);Python
model.set_int_param("MIP/MaxStallingNodes", 2147483647)
8.6.1.17. “MIP/MaxSols”¶
An integer parameter used to specify the maximum number of solution in MIP.
Group: mip method
Default value: 8
Value range: [1, 256]
Examples
C
Mdo_setIntParam(model, "MIP/MaxSols", 256);C++
model.setIntParam("MIP/MaxSols", 256);Python
model.set_int_param("MIP/MaxSols", 256)
8.6.1.18. “MIP/DetectDisconnectedComponents”¶
An integer parameter used to specify whether to enable disconnected component strategy in MIP.
Group: mip method
Default value: 1
Value range: [0, 1]
Examples
C
Mdo_setIntParam(model, "MIP/DetectDisconnectedComponents", 1);C++
model.setIntParam("MIP/DetectDisconnectedComponents", 1);Python
model.set_int_param("MIP/DetectDisconnectedComponents", 1)
8.6.1.19. “MIP/SolutionPoolSize”¶
An integer parameter used to specify the capacity of solution pool size.
Group: mip method
Default value: 0
Value range: [0, 65536]
Examples
C
Mdo_setIntParam(model, "MIP/SolutionPoolSize", 65536);C++
model.setIntParam("MIP/SolutionPoolSize", 65536);Python
model.set_int_param("MIP/SolutionPoolSize", 65536)
8.6.1.20. “MIP/AllowDualPresolve”¶
An integer parameter used to specify whether allow dual presolve.
Group: mip method
Default value: 1
Value range: {0, 1}
Examples
C
Mdo_setIntParam(model, "MIP/AllowDualPresolve", 1);C++
model.setIntParam("MIP/AllowDualPresolve", 1);Python
model.set_int_param("MIP/AllowDualPresolve", 1)