ILOG CPLEX 10.1 Parameters > > Parameters of ILOG CPLEX > Parameter Table |
Parameter Table |
INDEX
![]() |
The CPLEX parameters and their types, options, and default values are listed in the following table. The Callable Library name for each parameter is listed first, followed by the Concert Technology name, followed by the name in the Interactive Optimizer. Some CPLEX parameters are not used in the Concert Technology Library, and in those cases, no Concert Technology Library name appears.
Parameter Name |
Code |
Type |
Value [Symbolic Constants] | |
---|---|---|---|---|
CPX_PARAM_ADVIND AdvInd advance |
1001 |
int |
0 Do not use advanced start information
1 CPLEX will use an advanced basis supplied by the user
2 CPLEX will crush an advanced basis or starting vector supplied by the user
Default: 1 | |
Description: Advanced start indicator.
If set to 1 or 2, this parameter indicates that CPLEX should use advanced starting information when optimization is initiated.
For MIP models, settings 1 and 2 are currently identical. Both will cause CPLEX to continue with a partially explored MIP tree if one is available. If tree exploration has not yet begun, settings 1 or 2 indicate that CPLEX should use a loaded MIP start, if available.
For continuous models solved with simplex, setting 1 will use the currently loaded basis. If a basis is available only for the original, unpresolved model, or if CPLEX has a start vector rather than a simplex basis, then the simplex algorithm will proceed on the unpresolved model. With setting 2, CPLEX will first perform presolve on the model and on the basis or start vector, and then proceed with optimization on the presolved problem.
Setting 2 can be particularly useful for solving fixed MIP models, where a start vector but no corresponding basis is available.
For continuous models solved with the barrier algorithm, settings 1 or 2 will continue optimization from the last available barrier iterate. | ||||
CPX_PARAM_AGGCUTLIM AggCutLim mip limits aggforcut |
2054 |
int |
Any nonnegative integer
Default: 3 | |
Description: Constraint aggregation limit for cut generation.
Limits the number of constraints that can be aggregated for generating flow cover and mixed integer rounding cuts. | ||||
CPX_PARAM_AGGFILL AggFill preprocessing fill |
1002 |
int |
Any nonnegative integer
Default: 10 | |
Description: Preprocessing aggregator fill.
Limits variable substitutions by the aggregator. If the net result of a single substitution is more nonzeros than this value, the substitution is not made. | ||||
CPX_PARAM_AGGIND AggInd preprocessing aggregator |
1003 |
int |
-1 Automatic (1 for LP, infinite for MIP)
0 Do not use any aggregator
Any positive integer
Default: -1 | |
Description: Preprocessing aggregator application limit.
Invokes the aggregator to use substitution where possible to reduce the number of rows and columns before the problem is solved. If set to a positive value, the aggregator is applied the specified number of times or until no more reductions are possible. | ||||
CPX_PARAM_BARALG BarAlg barrier algorithm |
3007 |
int |
0 Default setting
1 Infeasibility-estimate start
2 Infeasibility-constant start
3 Standard barrier
Default: 0 | |
Description: Barrier algorithm.
The default setting 0 uses the "infeasibility - estimate start" algorithm (setting 1) when solving subproblems in a MIP problem, and the standard barrier algorithm (setting 3) in other cases. The standard barrier algorithm is almost always fastest. However, on problems that are primal or dual infeasible (common for MIP subproblems), the standard algorithm may not work as well as the alternatives. The two alternative algorithms (settings 1 and 2) may eliminate numerical difficulties related to infeasibility, but are generally slower. | ||||
CPX_PARAM_BARCOLNZ BarColNz barrier colnonzeros |
3009 |
int |
0 Dynamically calculated
or, any positive integer
Default: 0 | |
Description: Barrier column nonzeros.
Used in the recognition of dense columns. If columns in the presolved and aggregated problem exist with more entries than this value, such columns are considered dense and are treated specially by the CPLEX Barrier Optimizer to reduce their effect. | ||||
CPX_PARAM_BARCROSSALG BarCrossAlg barrier crossover |
3018 |
int |
-1 No crossover
0 Automatic: let CPLEX choose
1 Primal crossover
2 Dual crossover
Default: 0 | |
Description: Barrier crossover algorithm.
Determines which, if any, crossover is performed at the end of a barrier optimization. This parameter also applies when CPLEX uses the barrier algorithm to solve an LP or QP problem, or when it is used to solve the continuous relaxation of an MILP or MIQP at a node in a MIP. | ||||
CPX_PARAM_BARDISPLAY BarDisplay barrier display |
3010 |
int |
0 No progress information
1 Normal setup and iteration information
2 Diagnostic information
Default: 1 | |
Description: Barrier display information.
Determines the level of barrier progress information to be displayed. | ||||
CPX_PARAM_BAREPCOMP BarEpComp barrier convergetol |
3002 |
double |
Any positive number ![]()
Default: 1e-8 | |
Description: Convergence tolerance for LP and QP problems.
For problems with quadratic constraints (QCP), see CPX_PARAM_BARQCPEPCOMP .
Sets the tolerance on complementarity for convergence. The barrier algorithm terminates with an optimal solution if the relative complementarity is smaller than this value.
Changing this tolerance to a smaller value may result in greater numerical precision of the solution, but also increases the chance of a convergence failure in the algorithm and consequently may result in no solution at all. Therefore, caution is advised in deviating from the default setting. | ||||
CPX_PARAM_BARGROWTH BarGrowth barrier limits growth |
3003 |
double |
1.0 or greater
Default: 1e12 | |
Description: Barrier growth limit.
Used to detect unbounded optimal faces. At higher values, the barrier algorithm is less likely to conclude that the problem has an unbounded optimal face, but more likely to have numerical difficulties if the problem has an unbounded face. | ||||
CPX_PARAM_BARITLIM BarItLim barrier limits iterations |
3012 |
int |
0 No Barrier iterations
or, any positive integer
Default: 2 100 000 000 | |
Description: Barrier iteration limit.
Sets the number of barrier iterations before termination. When set to 0, no barrier iterations occur, but problem "setup" occurs and information about the setup is displayed (such as Cholesky factor statistics). | ||||
CPX_PARAM_BARMAXCOR BarMaxCor barrier limits corrections |
3013 |
int |
-1 Automatic: let CPLEX choose
0 None
or, any positive integer
Default: -1 | |
Description: Barrier maximum correction limit.
Sets the maximum number of centering corrections done on each iteration. An explicit value greater than 0 may improve the numerical performance of the algorithm at the expense of computation time. | ||||
CPX_PARAM_BAROBJRNG BarObjRng barrier limits objrange |
3004 |
double |
Any nonnegative number
Default: 1e20 | |
Description: Barrier objective range.
Sets the maximum absolute value of the objective function. The barrier algorithm looks at this limit to detect unbounded problems. | ||||
CPX_PARAM_BARORDER BarOrder barrier ordering |
3014 |
int |
0 Automatic: let CPLEX choose
1 Approximate minimum degree (AMD)
2 Approximate minimum fill (AMF)
3 Nested dissection (ND)
Default: 0 | |
Description: Barrier ordering algorithm.
Sets the algorithm to be used to permute the rows of the constraint matrix in order to reduce fill in the Cholesky factor. | ||||
CPX_PARAM_BARQCPEPCOMP BarQCPEpComp
set bar qcpconvergetol |
3020 |
double |
Any positive number ![]()
Default: 1e-7 | |
Description: Convergence tolerance for quadratically constrained problems (QCP).
For LPs and for QPs (that is, when all the constraints are linear) see CPX_PARAM_BAREPCOMP .
Sets the tolerance on complementarity for convergence. The barrier algorithm terminates with an optimal solution if the relative complementarity is smaller than this value.
Changing this tolerance to a smaller value may result in greater numerical precision of the solution, but also increases the chance of a convergence failure in the algorithm and consequently may result in no solution at all. Therefore, caution is advised in deviating from the default setting. | ||||
CPX_PARAM_BARSTARTALG BarStartAlg barrier startalg |
3017 |
int |
1 Dual is 0
2 Estimate dual
3 Average of primal estimate, dual 0
4 Average of primal estimate, estimate dual
Default: 1 | |
Description: Barrier starting point algorithm.
Sets the algorithm to be used to compute the initial starting point for the barrier optimizer. | ||||
CPX_PARAM_BARTHREADS BarThreads barrier limits threads |
3016 |
int |
0 Determined by global thread default
>0 upper limit on threads for Parallel Barrier
Default 0 | |
Description: Barrier thread limit.
Determines the maximum number of parallel processes (threads) that will be invoked by the parallel barrier optimizer. The default value of 0 means that the limit will be determined by the value of CPX_PARAM_THREADS , the global thread limit parameter. A positive value will override the value found in CPX_PARAM_THREADS . | ||||
CPX_PARAM_BBINTERVAL BBInterval mip strategy bbinterval |
2039 |
int |
0 Best estimate node always selected
or, any positive integer
Default: 7 | |
Description: MIP strategy best bound interval.
When you set this parameter to best estimate node selection, the bbinterval is the interval at which the best bound node, instead of the best estimate node, is selected from the tree. A bbinterval of 0 means to never select the best bound node. A bbinterval of 1 means always to select the best bound node, and is thus equivalent to nodeselect 1. Higher values of bbinterval mean that the best bound node will be selected less frequently; experience has shown it to be beneficial to occasionally select the best bound node, and therefore the default bbinterval is 7. | ||||
CPX_PARAM_BNDSTRENIND BndStrenInd preprocessing boundstrength |
2029 |
int |
-1 Automatic: let CPLEX choose
0 Do not apply bound strengthening
1 Apply bound strengthening
Default: -1 | |
Description: Bound strengthening indicator.
Used when solving mixed integer programs. Bound strengthening tightens the bounds on variables, perhaps to the point where the variable can be fixed and thus removed from consideration during branch & cut. | ||||
CPX_PARAM_BRDIR BrDir mip strategy branch |
2001 |
int |
-1 [ CPX_BRDIR_DOWN ] Down branch selected first
0 [ CPX_BRDIR_AUTO ] Automatic: let CPLEX choose
1 [ CPX_BRDIR_UP ] Up branch selected first
Default: 0 | |
Description: MIP branching direction.
Used to decide which branch, the up or the down branch, should be taken first at each node. | ||||
CPX_PARAM_BTTOL BtTol mip strategy backtrack |
2002 |
double |
Any number from 0.0 to 1.0
Default: 0.9999 | |
Description: Backtracking tolerance.
Controls how often backtracking is done during the branching process. The decision when to backtrack depends on three values that change during the course of the optimization:
- the objective function value of the best integer feasible solution ("incumbent")
- the best remaining objective function value of any unexplored node ("best node")
- the objective function value of the most recently solved node ("current objective").
If a cutoff tolerance (see CPX_PARAM_CUTUP and CPX_PARAM_CUTLO ) has been set by the user then that value is used as the incumbent until an integer feasible solution is found. The "target gap" is defined to be the absolute value of the difference between the incumbent and the best node, multiplied by this backtracking parameter. CPLEX does not backtrack until the absolute value of the difference between the objective of the current node and the best node is at least as large as the target gap. Low values of this backtracking parameter thus tend to increase the amount of backtracking, which makes the search process more of a pure best-bound search. Higher parameter values tend to decrease backtracking, making the search more of a pure depth-first search. The backtracking value has effect only after an integer feasible solution is found or when a cutoff has been specified. Note that this backtracking value merely permits backtracking but does not force it; CPLEX may choose to continue searching a limb of the tree if it seems a promising candidate for finding an integer feasible solution. | ||||
CPX_PARAM_CLIQUES Cliques mip cuts cliques |
2003 |
int |
-1 Do not generate clique cuts
0 Automatic: let CPLEX choose
1 Generate clique cuts moderately
2 Generate clique cuts aggressively
3 Generate clique cuts very aggressively
Default: 0 | |
Description: MIP cliques indicator.
Determines whether or not clique cuts should be generated for the problem. Setting the value to 0, the default, indicates that the attempt to generate cliques should continue only if it seems to be helping. | ||||
CPX_PARAM_CLOCKTYPE ClockType clocktype |
1006 |
int |
1 CPU time
2 Wall clock time (total physical time elapsed)
Default: 1 | |
Description: Computation time reporting.
Determines how computation times are measured on UNIX platforms. Computation time on Windows systems is always measured as wall clock time. Small variations in measured time on identical runs may be expected on any computer system under either setting of this parameter. | ||||
CPX_PARAM_COEREDIND CoeRedInd preprocessing coeffreduce |
2004 |
int |
0 Do not use coefficient reduction
1 Reduce only to integral coefficients
2 Reduce all potential coefficients
Default: 2 | |
Description: Coefficient reduction setting
Determines how coefficient reduction is used. Coefficient reduction improves the objective value of the initial (and subsequent) LP relaxations solved during branch & cut by reducing the number of non-integral vertices. | ||||
CPX_PARAM_COLREADLIM ColReadLim read variables |
1023 |
int |
Any integer from 0 to 268 435 450
Default: 60 000 | |
Description: Variable (column) read limit.
This parameter does not restrict the size of a problem. Rather, it indirectly specifies the default amount of memory that will be pre-allocated before a problem is read from a file. If the limit is exceeded, more memory is automatically allocated. | ||||
CPX_PARAM_CONFLICTDISPLAY ConflictDisplay display conflict |
1074 |
int |
0 no display
1 summary display
2 detailed display
Default: 1 | |
Description: Conflict information display
Determines what CPLEX reports when the conflict refiner is working. | ||||
CPX_PARAM_COVERS Covers mip cuts covers |
2005 |
int |
-1 Do not generate cover cuts
0 Automatic: let CPLEX choose
1 Generate cover cuts moderately
2 Generate cover cuts aggressively
3 Generate cover cuts very aggressively
Default: 0 | |
Description: MIP covers indicator.
Determines whether or not cover cuts should be generated for the problem. Setting the value to 0, the default, indicates that the attempt to generate covers should continue only if it seems to be helping. | ||||
CPX_PARAM_CRAIND CraInd simplex crash |
1007 |
int |
LP Primal:
0 Ignore objective coefficients during crash
-1 or 1 Alternate ways of using objective coefficients
LP Dual:
1 Default starting basis
0 or -1 Aggressive starting basis
QP Primal:
-1 Slack basis
0 Ignore Q terms and use LP solver for crash
1 Ignore objective and use LP solver for crash
QP Dual:
-1 Slack basis
0 or 1 Use Q terms for crash
Default: 1 | |
Description: Simplex crash ordering.
Determines how CPLEX orders variables relative to the objective function when selecting an initial basis. | ||||
CPX_PARAM_CUTLO CutLo mip tolerances lowercutoff |
2006 |
double |
Any number
Default: -1e+75 | |
Description: Lower cutoff.
When the problem is a maximization problem, the lower cutoff parameter is used to cut off any nodes that have an objective value at or below the lower cutoff value. When a mixed integer optimization problem is continued, the larger of these values and the updated cutoff found during optimization are used during the next mixed integer optimization. A too-restrictive value for the lower cutoff parameter may result in no integer solutions being found. | ||||
CPX_PARAM_CUTPASS CutPass mip limits cutpasses |
2056 |
int |
-1 None
0 Automatic: let CPLEX choose
Positive values give number of passes to perform
Default: 0 | |
Description: Number of cutting plane passes.
Sets the upper limit on the number of cutting plane passes CPLEX performs when solving the root node of a MIP model. | ||||
CPX_PARAM_CUTSFACTOR CutsFactor mip limits cutsfactor |
2033 |
double |
Any nonnegative number
Default: 4.0 | |
Description: Row multiplier factor for cuts.
Limits the number of cuts that can be added. The number of rows in the problem with cuts added is limited to CUTSFACTOR times the original number of rows. If the problem is presolved, the original number of rows is that from the presolved problem.
A CUTSFACTOR of 1.0 or less means that no cuts will be generated. Because cuts can be added and removed during the course of optimization, CUTSFACTOR may not correspond directly to the number of cuts seen during the node log or in the summary table at the end of optimization. | ||||
CPX_PARAM_CUTUP CutUp mip tolerances uppercutoff |
2007 |
double |
Any number
Default: 1e+75 | |
Description: Upper cutoff.
Cuts off any nodes that have an objective value at or above the upper cutoff value, when the problem is a minimization problem. When a mixed integer optimization problem is continued, the smaller of these values and the updated cutoff found during optimization are used during the next mixed integer optimization. A too-restrictive value for the upper cutoff parameter may result in no integer solutions being found. | ||||
CPX_PARAM_DATACHECK DataCheck read datacheck |
1056 |
int
bool |
0 [CPX_OFF/false] Off (do not check)
1 [ CPX_ON/true ] On (check)
Default: 0 | |
Description: Data consistency checking indicator.
When this parameter is set to CPX_ON , the routines CPXcopy____ , CPXread____ and CPXchg____ perform extensive checking of data in their array arguments, such as checking that indices are within range, that there are no duplicate entries, and that values are valid for the type of data or are valid numbers. This checking is useful for debugging applications. When this checking identifies trouble, you can gather more specific detail by calling one of the routines in check.c . | ||||
CPX_PARAM_DEPIND DepInd preprocessing dependency |
1008 |
int |
-1 Automatic: let CPLEX choose
0 Off: do not use dependency checker
1 Turn on only at the beginning of preprocessing
2 Turn on only at the end of preprocessing
3 Turn on at the beginning and at the end of preprocessing
Default: -1 automatic | |
Description: Dependency indicator.
Determines whether to activate the dependency checker. If on, the dependency checker searches for dependent rows during preprocessing. If off, dependent rows are not identified. | ||||
CPX_PARAM_DISJCUTS DisjCuts mip cuts disjunctive |
2053 |
int |
-1 Do not generate disjunctive cuts
0 Automatic: let CPLEX choose
1 Generate disjunctive cuts moderately
2 Generate disjunctive cuts aggressively
3 Generate disjunctive cuts very aggressively
Default: 0 | |
Description: MIP disjunctive cuts indicator.
Determines whether or not disjunctive cuts should be generated for the problem. Setting the value to 0, the default, indicates that the attempt to generate disjunctive cuts should continue only if it seems to be helping. | ||||
CPX_PARAM_DIVETYPE DiveType mip strategy dive |
2060 |
int |
0 Automatic: let CPLEX choose
1 Traditional dive
2 Probing dive
3 Guided dive
Default: 0 | |
Description: MIP dive strategy.
The MIP traversal strategy occasionally performs probing dives, where it looks ahead at both children nodes before deciding which node to choose. The default (automatic) setting lets CPLEX choose when to perform a probing dive, 1 directs CPLEX never to perform probing dives, 2 always to probe, 3 spend more time exploring potential solutions that are similar to the current incumbent. Setting 2, always to probe, is helpful for finding integer solutions. | ||||
CPX_PARAM_DPRIIND DPriInd simplex dgradient |
1009 |
int |
0 [ CPX_DPRIIND_AUTO ] Automatic: let CPLEX choose
1 [ CPX_DPRIIND_FULL ] Standard dual pricing
2 [ CPX_DPRIIND_STEEP ] Steepest-edge pricing
3 [ CPX_DPRIIND_FULL_STEEP ]
Steepest-edge pricing in slack space
4 [ CPX_DPRIIND_STEEPQSTART ]
Steepest-edge pricing, unit initial norms
5 [ CPX_DPRIIND_DEVEX ] devex pricing
Default: 0 | |
Description: Dual simplex pricing algorithm.
The default pricing (0) usually provides the fastest solution time, but many problems benefit from alternate settings. | ||||
CPX_PARAM_EPAGAP EpAGap mip tolerances absmipgap |
2008 |
double |
Any nonnegative number
Default: 1e-06 | |
Description: Absolute mipgap tolerance.
Sets an absolute tolerance on the gap between the best integer objective and the objective of the best node remaining. When this difference falls below the value of the EpAGap parameter, the mixed integer optimization is stopped. | ||||
CPX_PARAM_EPGAP EpGap mip tolerances mipgap |
2009 |
double |
Any number from 0.0 to 1.0
Default: 1e-04 | |
Description: Relative mipgap tolerance.
Sets a relative tolerance on the gap between the best integer objective and the objective of the best node remaining. When the value
|bestnode-bestinteger|/(1e-10+|bestinteger|)
falls below the value of the EpGap parameter, the mixed integer optimization is stopped. For example, to instruct CPLEX to stop as soon as it has found a feasible integer solution proved to be within five percent of optimal, set the relative mipgap tolerance to 0.05. | ||||
CPX_PARAM_EPINT EpInt mip tolerances integrality |
2010 |
double |
Any number from 0.0 to 1.0
Default: 1e-05 | |
Description: Integrality tolerance.
Specifies the amount by which an integer variable can be different from an integer and still be considered feasible. A value of zero is permitted, and the optimizer will attempt to meet this tolerance. However, in some models, computer roundoff may still result in small, nonzero deviations from integrality. If any of these deviations exceed the value of this parameter, or exceed 1e-10 in the case where this parameter has been set to a value less than that, a solution status of CPX_STAT_OPTIMAL_INFEAS will be returned instead of the usual CPX_STAT_OPTIMAL . | ||||
CPX_PARAM_EPLIN (n/a) EpLin
not available in Interactive Optimizer |
2068 |
double |
Any positive value greater than zero
Default: 1e-3 | |
Description: Epsilon used in linearization.
Sets the epsilon (degree of tolerance) used in linearization in Concert Technology. Not applicable in the Callable Library. Not available in the Interactive Optimizer. This parameter controls how strict inequalities are managed during linearization. In other words, it provides an epsilon for determining when two values are not equal during linearization. For example, when x is a numeric variable (that is, an instance of IloNumVar ), x < a
becomes x <= a-eplin .
Similarly, x!=a
becomes {(x < a) || (x > a)}
which is linearized automatically for you in Concert Technology as {( x <= a-eplin) || (x >= a+eplin)} .
Exercise caution in changing this parameter from its default value: the smaller the epsilon, the more numerically unstable the model will tend to become. If you are not getting an expected solution for a Concert Technology model that uses linearization, it might be that this solution is cut off because of the relatively high EpLin value. In such a case, carefully try reducing it. | ||||
CPX_PARAM_EPMRK EpMrk simplex tolerances markowitz |
1013 |
double |
Any number from 0.0001 to 0.99999
Default: 0.01 | |
Description: Markowitz tolerance.
Influences pivot selection during basis factoring. Increasing the Markowitz threshold may improve the numerical properties of the solution. | ||||
CPX_PARAM_EPOPT EpOpt simplex tolerances optimality |
1014 |
double |
Any number from 1e-9 to 1e-1
Default: 1e-06 | |
Description: Optimality tolerance.
Influences the reduced-cost tolerance for optimality. This parameter governs how closely CPLEX must approach the theoretically optimal solution. | ||||
CPX_PARAM_EPPER EpPer simplex perturbation |
1015 |
double |
Any positive number ![]()
Default: 1e-6 | |
Description: Perturbation constant.
Sets the amount by which CPLEX perturbs the upper and lower bounds or objective coefficients on the variables when a problem is perturbed in the simplex algorithm. This parameter can be set to a smaller value if the default value creates too large a change in the problem. | ||||
CPX_PARAM_EPRELAX EpRelax feasopt tolerance |
2073 |
double |
Any nonnegative value
Default 1e-6 | |
Description: Relaxation for feasOpt .
This parameter controls the amount of relaxation for the routine CPXfeasopt in the Callable Library or the method feasOpt in Concert Technology.
In the case of a MIP, it serves the purpose of the absolute gap for the feasOpt model in Phase I (the one to minimize relaxation). Using this parameter, you can implement other stopping criteria as well. To do so, first call feasOpt with the stopping criteria that you prefer; then set this parameter to the resulting objective of the Phase I model; unset the other stopping criteria, and call feasOpt again. Since the solution from the first call already matches this parameter, Phase I will terminate immediately in this second call to feasOpt , and Phase II will start.
In the case of an LP, this parameter controls the lower objective limit ( CPX_PARAM_OBJLLIM ) for Phase I of feasOpt and is thus relevant only when the primal optimizer is in use. | ||||
CPX_PARAM_EPRHS EpRHS simplex tolerances feasibility |
1016 |
double |
Any number from 1e-9 to 1e-1
Default: 1e-06 | |
Description: Feasibility tolerance.
The feasibility tolerance specifies the degree to which a problem's basic variables may violate their bounds. Feasibility influences the selection of an optimal basis and can be reset to a higher value when a problem is having difficulty maintaining feasibility during optimization. You may also wish to lower this tolerance after finding an optimal solution if there is any doubt that the solution is truly optimal. If the feasibility tolerance is set too low, CPLEX may falsely conclude that a problem is infeasible. If you encounter reports of infeasibility during Phase II of the optimization, a small adjustment in the feasibility tolerance may improve performance. | ||||
CPX_PARAM_FEASOPTMODE FeasOptMode feasopt mode |
1084 |
int |
0 MinSum CPX_FEASOPT_MIN_SUM
Minimize the sum of all required relaxations in first phase only
1 OptSum CPX_FEASOPT_OPT_SUM
Minimize the sum of all required relaxations in first phase and execute second phase to find optimum among minimal relaxations
2 MinInf CPX_FEASOPT_MIN_INF
Minimize the number of constraints and bounds requiring relaxation in first phase only
3 OptInf CPX_FEASOPT_OPT_INF
Minimize the number of constraints and bounds requiring relaxation in first phase and execute second phase to find optimum among minimal relaxations
4 MinQuad CPX_FEASOPT_MIN_QUAD
Minimize the sum of squares of required relaxations in first phase only
5 OptQuad CPX_FEASOPT_OPT_QUAD
Minimize the sum of squares of required relaxations in first phase and execute second phase to find optimum among minimal relaxations
Default: 0 | |
Description: Mode of FeasOpt
Determines how FeasOpt measures the relaxation when finding a minimal relaxation in an infeasible model. FeasOpt works in two phases. In its first phase, it attempts to minimize its relaxation of the infeasible model. That is, it attempts to find a feasible solution that requires minimal change. In its second phase, it finds an optimal solution among those that require only as much relaxation as it found necessary in the first phase.
Values of this parameter indicate two aspects to ILOG CPLEX: (1) whether to stop in phase one or continue to phase two and (2) how to measure the relaxation (as a sum of required relaxations; as the number of constraints and bounds required to be relaxed; as a sum of the squares of required relaxations). | ||||
CPX_PARAM_FLOWCOVERS FlowCovers mip cuts flowcuts |
2040 |
int |
-1 Do not generate flow cover cuts
0 Automatic: let CPLEX choose
1 Generate flow cover cuts moderately
2 Generate flow cover cuts aggressively
Default: 0 | |
Description: MIP flow cover cuts indicator.
Determines whether or not to generate flow cover cuts for the problem. Setting the value to 0, the default, indicates that the attempt to generate flow cover cuts should continue only if it seems to be helping. | ||||
CPX_PARAM_FLOWPATHS FlowPaths mip cuts pathcut |
2051 |
int |
-1 Do not generate flow path cuts
0 Automatic: let CPLEX choose
1 Generate flow path cuts moderately
2 Generate flow path cuts aggressively
Default: 0 | |
Description: MIP flow path cut indicator.
Determines whether or not flow path cuts should be generated for the problem. Setting the value to 0, the default, indicates that the attempt to generate flow path cuts should continue only if it seems to be helping. | ||||
CPX_PARAM_FRACCAND FracCand mip limits gomorycand |
2048 |
int |
Any positive integer
Default: 200 | |
Description: Candidate limit for generating Gomory fractional cuts.
Limits the number of candidate variables for generating Gomory fractional cuts. | ||||
CPX_PARAM_FRACCUTS FracCuts mip cuts gomory |
2049 |
int |
-1 Do not generate Gomory fractional cuts
0 Automatic: let CPLEX choose
1 Generate Gomory fractional cuts moderately
2 Generate Gomory fractional cuts aggressively
Default: 0 | |
Description: MIP Gomory fractional cuts indicator.
Determines whether or not Gomory fractional cuts should be generated for the problem. Setting the value to 0, the default, indicates that the attempt to generate Gomory fractional cuts should continue only if it seems to be helping. | ||||
CPX_PARAM_FRACPASS FracPass mip limits gomorypass |
2050 |
int |
0 Automatic: let CPLEX choose
or, any positive integer
Default: 0 | |
Description: Pass limit for generating Gomory fractional cuts.
Limits the number of passes for generating Gomory fractional cuts. At the default setting of 0, CPLEX decides. The parameter is ignored if the Gomory fractional cut parameter, CPX_PARAM_FRACCUTS , is set to a nonzero value. | ||||
CPX_PARAM_GUBCOVERS GUBCovers mip cuts gubcovers |
2044 |
int |
-1 Do not generate GUB cuts
0 Automatically determined
1 Generate GUB cuts moderately
2 Generate GUB cuts aggressively
Default: 0 | |
Description: MIP GUB cuts indicator.
Determines whether or not to generate GUB cuts for the problem. Setting the value to 0, the default, indicates that the attempt to generate GUB cuts should continue only if it seems to be helping. | ||||
CPX_PARAM_HEURFREQ HeurFreq mip strategy heuristicfreq |
2031 |
int |
-1 None
0 Automatic: let CPLEX choose
or, any positive integer
Default: 0 | |
Description: MIP heuristic frequency.
Determines how often to apply the periodic heuristic. Setting the value to -1 turns off the periodic heuristic. Setting the value to 0, the default, applies the periodic heuristic at an interval chosen automatically. Setting the value to a positive number applies the heuristic at the requested node interval. For example, setting HEURISTICFREQ to 20 dictates that the heuristic be called at node 0, 20, 40, 60, etc. | ||||
CPX_PARAM_IMPLBD ImplBd mip cuts implied |
2041 |
int |
-1 Do not generate implied bound cuts
0 Automatically determined
1 Generate implied bound cuts moderately
2 Generate implied bound cuts aggressively
Default: 0 | |
Description: MIP implied bound cuts indicator.
Determines whether or not to generate implied bound cuts for the problem. Setting the value to 0, the default, indicates that the attempt to generate implied bound cuts should continue only if it seems to be helping. | ||||
CPX_PARAM_INTSOLLIM IntSolLim mip limits solutions |
2015 |
int |
Any positive integer
Default: 2 100 000 000 | |
Description: MIP solution limit.
Sets the number of MIP solutions to be found before stopping. | ||||
CPX_PARAM_ITLIM ItLim simplex limits iterations |
1020 |
int |
Any nonnegative integer
Default: 2 100 000 000 | |
Description: Simplex maximum iteration limit.
Sets the maximum number of iterations to be performed before the algorithm terminates without reaching optimality. When set to 0 (zero), no simplex method iteration occurs. However, CPLEX factors the initial basis from which solution routines provide information about the associated initial solution. | ||||
CPX_PARAM_LBHEUR LBHeur mip strategy lbheur |
2063 |
int
bool |
0 [CPX_OFF/false] off (default)
1 [CPX_ON/true] (on) Apply local branching heuristic to new incumbent
Default: 0 off | |
Description: Local branching heuristic.
This parameter lets you control whether CPLEX applies a local branching heuristic to try to improve new incumbents found during a MIP search. By default, this parameter is off. If you turn it on, CPLEX will invoke a local branching heuristic only when it finds a new incumbent. If CPLEX finds multiple incumbents at a single node, the local branching heuristic will be applied only to the last one found. | ||||
CPX_PARAM_LPMETHOD RootAlg lpmethod |
1062 |
int |
0 [CPX_ALG_AUTOMATIC] Automatic: let CPLEX choose
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
6 [CPX_ALG_CONCURRENT] Concurrent (Dual, Barrier, and Primal)
Default: 0 | |
Description: Algorithm for linear optimization.
Determines which algorithm is used when CPXlpopt (or optimize in the Interactive Optimizer) is invoked. Currently, the behavior of the Automatic setting is that CPLEX almost always invokes the dual simplex algorithm when it is solving an LP model from scratch. When it is continuing from an advanced basis, it will check whether the basis is primal or dual feasible, and choose the primal or dual simplex algorithm accordingly. If multiple threads have been requested, concurrent optimization algorithm is selected by the automatic setting. The Automatic setting may be expanded in the future so that CPLEX chooses the algorithm based on additional problem characteristics. | ||||
CPX_PARAM_MEMORYEMPHASIS MemoryEmphasis emphasis memory |
1082 |
int
bool |
0 [ CPX_OFF/false ] (off) Do not conserve memory.
1 [ CPX_ON/true] (on) Conserve memory where possible.
Default: 0 | |
Description: Reduces use of memory.
This parameter lets you indicate to CPLEX that it should conserve memory where possible. When you set this parameter to its nondefault value, CPLEX will choose tactics, such as data compression or disk storage, for some of the data computed by the simplex, barrier, and MIP optimizers. Of course, conserving memory may impact performance in some models. Also, while solution information will be available after optimization, certain computations that require a basis that has been factored (for example, for the computation of the condition number Kappa) may be unavailable. | ||||
CPX_PARAM_MIPCBREDLP
(available only in Callable Library) |
2055 |
int |
0 [CPX_OFF] (off) Use original problem.
1 [CPX_ON] (on) Use presolved problem.
Default: 1 (on) | |
Description: MIP callback original or reduced, presolved model indicator.
Controls whether your callback accesses vectors of the original model (off) or vectors of the reduced, presolved model (on, default). Advanced routines to control MIP callbacks (such as CPXgetcallbacklp , CPXsetheuristiccallbackfunc , CPXsetbranchcallbackfunc , CPXgetbranchcallbackfunc , CPXsetcutcallbackfunc , CPXsetincumbentcallbackfunc , CPXgetcallbacksosinfo , CPXcutcallbackadd , CPXcutcallbackaddlocal , and others) consider the setting of this parameter and access the original model or the reduced, presolved model accordingly.
In the C++, Java, and .NET APIs of CPLEX, only the original model is available to callbacks. In other words, this parameter is effective only for certain advanced routines of the Callable Library. | ||||
CPX_PARAM_MIPDISPLAY MIPDisplay mip display |
2012 |
int |
0 No display
1 Display integer feasible solutions
2 Display nodes under CPX_PARAM_MIPInterval
3 Same as 2 with information about node cuts
4 Same as 3 with LP subproblem information at root
5 Same as 4 with LP subproblem information at nodes
Default: 2 | |
Description: MIP node log display information.
Determines what CPLEX reports to the screen during mixed integer optimization. The amount of information displayed increases with increasing values of this parameter. A setting of 0 causes no node log to be displayed until the optimal solution is found. A setting of 1 displays an entry for each integer feasible solution found. Each entry contains the objective function value, the node count, the number of unexplored nodes in the tree, and the current optimality gap. A setting of 2 also generates an entry for every n-th node (where n is the setting of the MIP INTERVAL parameter). A setting of 3 additionally generates an entry for every nth node giving the number of cuts added to the problem for the previous INTERVAL nodes. A setting of 4 additionally generates entries for the LP root relaxation according to the set simplex display setting. A setting of 5 additionally generates entries for the LP subproblems, also according to the set simplex display setting. | ||||
CPX_PARAM_MIPEMPHASIS MIPEmphasis emphasis mip |
2058 |
int |
0 [ CPX_MIPEMPHASIS_BALANCED ] Balance optimality and feasibility
1 [ CPX_MIPEMPHASIS_FEASIBILITY ] Emphasize feasibility over optimality
2 [ CPX_MIPEMPHASIS_OPTIMALITY ] Emphasize optimality over feasibility
3 [ CPX_MIPEMPHASIS_BESTBOUND ] Emphasize moving best bound
4 [ CPX_MIPEMPHASIS_HIDDENFEAS ] Emphasize finding hidden feasible solutions
Default: 0 | |
Description: MIP emphasis indicator.
With the default setting of BALANCED , CPLEX works toward a rapid proof of an optimal solution, but balances that with effort toward finding high quality feasible solutions early in the optimization. When this parameter is set to FEASIBILITY , CPLEX frequently will generate more feasible solutions as it optimizes the problem, at some sacrifice in the speed to the proof of optimality. When set to OPTIMALITY , less effort may be applied to finding feasible solutions early. With the setting BESTBOUND , even greater emphasis is placed on proving optimality through moving the best bound value, so that the detection of feasible solutions along the way becomes almost incidental. When the parameter is set to HIDDENFEAS , the MIP optimizer works hard to find high quality feasible solutions that are otherwise very difficult to find, so consider this setting when the FEASIBILITY setting has difficulty finding solutions of acceptable quality. | ||||
CPX_PARAM_MIPINTERVAL MIPInterval mip interval |
2013 |
int |
Any positive integer
Default: 100 | |
Description: MIP node log interval.
Controls the frequency of node logging when CPX_PARAM_MIPDISPLAY is set higher than 1. | ||||
CPX_PARAM_MIPORDIND MIPOrdInd mip strategy order |
2020 |
int
bool |
0 [ CPX_OFF/false ] (off) Do not use order information
1 [ CPX_ON/true ] (on) Use order information if it exists
Default: 1 | |
Description: MIP priority order indicator.
When set to on, uses the priority order (if it exists) for the next mixed integer optimization. | ||||
CPX_PARAM_MIPORDTYPE MIPOrdType mip ordertype |
2032 |
int |
0 Do not generate a priority order
1 [ CPX_MIPORDER_COST ] Use decreasing cost
2 [ CPX_MIPORDER_BOUNDS ]
Use increasing bound range
3 [ CPX_MIPORDER_SCALEDCOST ]
Use increasing cost per coefficient count
Default: 0 | |
Description: MIP priority order generation.
Used to select the type of generic priority order to generate when no priority order is present. | ||||
CPX_PARAM_MIPTHREADS MIPThreads mip limits threads |
2014 |
int |
0 Determined by global thread default
>0 Upper limit on threads for Parallel MIP
Default: 0 | |
Description: MIP thread limit
Determines the maximum number of parallel processes (threads) that will be invoked by the Parallel MIP optimizer. The default value of 0 means that the limit will be determined by the value of CPX_PARAM_THREADS , the global thread limit parameter. A positive value will override the value found in CPX_PARAM_THREADS . | ||||
CPX_PARAM_MIRCUTS MIRCuts mip cuts mircut |
2052 |
int |
-1 Do not generate MIR cuts
0 Automatic: let CPLEX choose
1 Generate MIR cuts moderately
2 Generate MIR cuts aggressively
Default: 0 | |
Description: MIP MIR (mixed integer rounding) cut indicator.
Determines whether or not to generate MIR cuts for the problem. Setting the value to 0, the default, indicates that the attempt to generate MIR cuts should continue only if it seems to be helping. | ||||
CPX_PARAM_MPSLONGNUM MPSLongNum output mpslong |
1081 |
int
bool |
0 [CPX_OFF/false] (off) Use limited MPS precision
1 [CPX_ON/true] (on) Use full-precision
Default: 1 On | |
Description: MPS and REW file format precision of numeric output.
Determines the precision of numeric output in the MPS and REW file formats. When this parameter is set to its default value 1 (one), numbers are written to MPS files in full-precision; that is, up to 15 significant digits may be written. The setting 0 (zero) writes files that correspond to the standard MPS format, where at most 12 characters can be used to represent a value. This limit may result in loss of precision. | ||||
CPX_PARAM_NETDISPLAY NetDisplay network display |
5005 |
int |
0 [ CPXNET_NO_DISPLAY_OBJECTIVE ] No display
1 [ CPXNET_TRUE_OBJECTIVE ]
Display true objective values
2 [ CPXNET_PENALIZE_OBJECTIVE ]
Display penalized objective values
Default: 2 | |
Description: Network logging display indicator.
Settings 1 and 2 differ only during Phase I. Setting 2 shows monotonic values, whereas 1 usually does not. | ||||
CPX_PARAM_NETEPOPT NetEpOpt network tolerances optimality |
5002 |
double |
Any number from 1e-11 to 1e-1
Default: 1e-6 | |
Description: Optimality tolerance for CPXNETprimopt .
The optimality tolerance specifies the amount a reduced cost may violate the criterion for an optimal solution. | ||||
CPX_PARAM_NETEPRHS NetEpRHS network tolerances feasibility |
5003 |
double |
Any number from 1e-11 to 1e-1
Default: 1e-6 | |
Description: Feasibility tolerance for CPXNETprimopt .
The feasibility tolerance specifies the degree to which a problem's flow value may violate its bounds. This tolerance influences the selection of an optimal basis and can be reset to a higher value when a problem is having difficulty maintaining feasibility during optimization. You may also wish to lower this tolerance after finding an optimal solution if there is any doubt that the solution is truly optimal. If the feasibility tolerance is set too low, CPLEX may falsely conclude that a problem is infeasible. If you encounter reports of infeasibility during Phase II of the optimization, a small adjustment in the feasibility tolerance may improve performance. | ||||
CPX_PARAM_NETFIND NetFind network netfind |
1022 |
int |
1 [ CPX_NETFIND_PURE ] Extract pure network only
2 [ CPX_NETFIND_REFLECT ] Try reflection scaling
3 [ CPX_NETFIND_SCALE ] Try general scaling
Default: 2 | |
Description: Simplex network extraction level.
Establishes the level of network extraction for network simplex optimizations. The default value is suitable for recognizing commonly used modeling approaches when representing a network problem within an LP formulation. | ||||
CPX_PARAM_NETITLIM NetItLim network iterations |
5001 |
int |
Any nonnegative integer
Default: 2 100 000 000 | |
Description: Network simplex iteration limit.
Sets the maximum number of iterations to be performed before the algorithm terminates without reaching optimality. | ||||
CPX_PARAM_NETPPRIIND NetPPriInd network pricing |
5004 |
int |
0 [ CPXNET_PRICE_AUTO ] Automatic: let CPLEX choose
1 [ CPXNET_PRICE_PARTIAL ] Partial pricing
2 [ CPXNET_PRICE_MULT_PART ] Multiple partial pricing
3 [ CPXNET_PRICE_SORT_MULT_PART ] Multiple partial pricing with sorting
Default: 0 | |
Description: Network Simplex pricing algorithm.
The default (0) shows best performance for most problems, and currently is equivalent to 3. | ||||
CPX_PARAM_NODEFILEIND NodeFileInd mip strategy file |
2016 |
int |
0 No node file
1 Node file in memory and compressed
2 Node file on disk
3 Node file on disk and compressed
Default: 1 | |
Description: Node storage file indicator.
Used when working memory, ( CPX_PARAM_WORKMEM , WorkMem ) has been exceeded by the size of the tree. If the node file parameter is set to zero when the tree memory limit is reached, optimization is terminated. Otherwise, a group of nodes is removed from the in-memory set as needed. By default, CPLEX transfers nodes to node files when the in-memory set is larger than 128 MBytes, and it keeps the resulting node `files' in compressed form in memory. At settings 2 and 3, the node files are transferred to disk, in uncompressed and compressed form respectively, into a directory named by the parameter CPX_PARAM_WORKDIR (WorkDir ), and CPLEX actively manages which nodes remain in memory for processing. | ||||
CPX_PARAM_NODELIM NodeLim mip limits nodes |
2017 |
int |
Any nonnegative integer
Default: 2 100 000 000 | |
Description: MIP node limit.
Sets the maximum number of nodes solved before the algorithm terminates without reaching optimality. When this parameter is set to 0 (zero), CPLEX does not create any nodes, but it does solve the root node LP relaxation and repeatedly apply cuts and resolve this LP. | ||||
CPX_PARAM_NODESEL NodeSel mip strategy nodeselect |
2018 |
int |
0 [ CPX_NODESEL_DFS ] Depth-first search
1 [ CPX_NODESEL_BESTBOUND ] Best-bound search
2 [ CPX_NODESEL_BESTEST ] Best-estimate search
3 [ CPX_NODESEL_BESTEST_ALT ]
Alternative best-estimate search
Default: 1 | |
Description: MIP node selection strategy.
Used to set the rule for selecting the next node to process when backtracking. The depth-first search strategy chooses the most recently created node. The best-bound strategy chooses the node with the best objective function for the associated LP relaxation. The best-estimate strategy selects the node with the best estimate of the integer objective value that would be obtained from a node once all integer infeasibilities are removed. An alternative best-estimate search is also available. | ||||
CPX_PARAM_NUMERICALEMPHASIS NumericalEmphasis emphasis numerical |
1083 |
int
bool |
0 [CPX_OFF/false] (default)
1 [CPX_ON/true] Exercise extreme caution in computation
Default: 0 Off | |
Description: Emphasizes precision in numerically unstable or difficult problems.
This parameter lets you indicate to CPLEX that it should emphasize precision in numerically difficult or unstable problems, with consequent performance trade-offs in time and memory. | ||||
CPX_PARAM_NZREADLIM NzReadLim read nonzeros |
1024 |
int |
Any integer from 0 to 268 435 450
Default: 250 000 | |
Description: Nonzero element read limit.
This parameter does not restrict the size of a problem. Rather, it indirectly specifies the default amount of memory that will be pre-allocated before a problem is read from a file. If the limit is exceeded, more memory is automatically allocated. | ||||
CPX_PARAM_OBJDIF ObjDif mip tolerances objdifference |
2019 |
double |
Any number
Default: 0.0 | |
Description: Absolute objective difference cutoff.
Used to update the cutoff each time a mixed integer solution is found. This absolute value is subtracted from (added to) the newly found integer objective value when minimizing (maximizing). This forces the mixed integer optimization to ignore integer solutions that are not at least this amount better than the best one found so far. The objective difference parameter can be adjusted to improve problem solving efficiency by limiting the number of nodes; however, setting this parameter at a value other than zero (the default) can cause some integer solutions, including the true integer optimum, to be missed. Negative values for this parameter can result in some integer solutions that are worse than or the same as those previously generated, but does not necessarily result in the generation of all possible integer solutions. | ||||
CPX_PARAM_OBJLLIM ObjLLim simplex limits lowerobj |
1025 |
double |
Any number
Default: -1e+75 | |
Description: Lower objective value limit.
Setting a lower objective function limit causes CPLEX to halt the optimization process once the minimum objective function value limit has been exceeded. This limit applies only during Phase II of the simplex algorithm. | ||||
CPX_PARAM_OBJULIM ObjULim simplex limits upperobj |
1026 |
double |
Any number
Default: 1e+75 | |
Description: Upper objective value limit.
Setting an upper objective function limit causes CPLEX to halt the optimization process once the maximum objective function value limit has been exceeded. This limit applies only during Phase II of the simplex algorithm. | ||||
CPX_PARAM_PERIND PerInd simplex perturbation |
1027 |
int
bool |
0 [ CPX_OFF/false ] Off
1 [ CPX_ON/true ] On
Default: 0 | |
Description: Simplex perturbation indicator.
Setting this parameter to 1 causes all problems to be automatically perturbed as optimization begins. A setting of 0 allows CPLEX to determine dynamically, during solution, whether progress is slow enough to merit a perturbation. The situations in which a setting of 1 helps are rare and restricted to problems that exhibit extreme degeneracy. | ||||
CPX_PARAM_PERLIM PerLim simplex limits perturbation |
1028 |
int |
0 Determined automatically
or, any positive integer
Default: 0 | |
Description: Simplex perturbation limit.
Sets the number of degenerate iterations before perturbation is performed. | ||||
CPX_PARAM_POLISHTIME PolishTime mip limit polishtime |
2066 |
double |
Any nonnegative value in seconds.
Default: 0 (zero) seconds | |
Description: Time spent polishing a solution.
This parameter lets you indicate to CPLEX how much time in seconds to spend after a normal mixed integer optimization in polishing a solution. Default is zero, no polishing time. | ||||
CPX_PARAM_PPRIIND PPriInd simplex pgradient |
1029 |
int |
-1 [ CPX_PPRIIND_PARTIAL ] Reduced-cost pricing
0 [ CPX_PPRIIND_AUTO ]
Hybrid reduced-cost & devex pricing
1 [ CPX_PPRIIND_DEVEX ] Devex pricing
2 [ CPX_PPRIIND_STEEP ] Steepest-edge pricing
3 [ CPX_PPRIIND_STEEPQSTART ]
Steepest-edge pricing with slack initial norms
4 [ CPX_PPRIIND_FULL ] Full pricing
Default: 0 | |
Description: Primal Simplex pricing algorithm.
The default pricing (0) usually provides the fastest solution time, but many problems benefit from alternative settings. | ||||
CPX_PARAM_PREDUAL PreDual preprocessing dual |
1044 |
int |
-1 Off
0 Automatic: let CPLEX choose
1 On
Default: 0 | |
Description: Presolve dual setting.
Determines whether CPLEX Presolve should pass the primal or dual linear programming problem to the linear programming optimization algorithm. By default, CPLEX chooses automatically. If the PreDual parameter is set to 1 (one), the CPLEX presolve algorithm is applied to the primal problem, but the resulting dual linear program is passed to the optimizer. This is a useful technique for problems with more constraints than variables. | ||||
CPX_PARAM_PREIND PreInd preprocessing presolve |
1030 |
int
bool |
0 [ CPX_OFF/false ] Off (do not use presolve)
1 [ CPX_ON/true ] On (use presolve)
Default: 1 | |
Description: Presolve indicator.
When set to 1, invokes the CPLEX Presolve to simplify and reduce problems. | ||||
CPX_PARAM_PRELINEAR PreLinear preprocessing linear |
1058 |
int |
0 Only linear reductions
1 Full reductions
Default: 1 | |
Description: Linear reduction indicator.
If only linear reductions are performed, each variable in the original model can be expressed as a linear form of variables in the presolved model. This guarantees, for example, that users can add their own custom cuts to the presolved model. | ||||
CPX_PARAM_PREPASS PrePass preprocessing numpass |
1052 |
int |
-1 Determined automatically
0 Do not use Presolve; other reductions may still occur
or, any positive integer
Default: -1 | |
Description: Limit on the number of Presolve passes made.
When set to a nonzero value, invokes CPLEX Presolve to simplify and reduce problems.
When set to a positive value, Presolve is applied the specified number of times, or until no more reductions are possible. At the default value of -1, Presolve should continue only if it seems to be helping.
When set to zero, CPLEX does not apply Presolve, but other reductions may occur, depending on settings of other parameters and specifics of your model. | ||||
CPX_PARAM_PRESLVND PreslvNd mip strategy presolvenode |
2037 |
int |
-1 No node presolve
0 Automatic: let CPLEX choose
1 Force node presolve
2 Perform probing on integer-infeasible variables
Default: 0 | |
Description: Node presolve selector.
Indicates whether node presolve should be performed at the nodes of a mixed integer programming solution. Node presolve can significantly reduce solution time for some models. The default setting is generally effective at determining whether to apply node presolve, although runtimes can be reduced for some models by turning node presolve off. | ||||
CPX_PARAM_PRICELIM PriceLim simplex pricing |
1010 |
int |
0 Determined automatically
or, any positive integer
Default: 0 | |
Description: Simplex pricing candidate list size.
Sets the maximum number of variables kept in the pricing candidate list. | ||||
CPX_PARAM_PROBE Probe mip strategy probe |
2042 |
int |
-1 No probing
0 Automatic: let CPLEX choose
1 Moderate probing level
2 Aggressive probing level
3 Very aggressive probing level
Default: 0 | |
Description: MIP probing level.
Determines the amount of probing on variables to be performed before MIP branching. Higher settings perform more probing. Probing can be very powerful but very time consuming at the start. Setting the parameter to values above the default of 0 (automatic) can result in dramatic reductions or dramatic increases in solution time, depending on the model. | ||||
CPX_PARAM_PROBETIME ProbeTime mip limit probetime |
2065 |
double |
Any nonnegative number
Default: 1e+75 | |
Description: Time spent probing
Limits the amount of time in seconds spent probing. | ||||
CPX_PARAM_QPMAKEPSDIND QPmakePSDInd preprocessing qpmakepsd |
4010 |
int
bool |
0 [CPX_OFF/false] Off
1 [CPX_ON/true] On
Default: On | |
Description: Indefinite MIQP indicator.
Determines whether CPLEX will attempt to reformulate a MIQP or MIQCP model that contains only binary variables. When this feature is active, adjustments will be made to the elements of a quadratic matrix that is not nominally positive semi-definite (PSD, as required by CPLEX for all QP and most QCP formulations), to make it PSD, and will also attempt to tighten an already PSD matrix for better numeric behavior. The default setting of 1 means yes, CPLEX should attempt to reformulate, but you can turn it off if necessary; most models should benefit from the default setting. | ||||
CPX_PARAM_QPMETHOD RootAlg qpmethod |
1063 |
int |
0 [CPX_ALG_AUTOMATIC] Automatic: let CPLEX choose
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
6 [CPX_ALG_CONCURRENT] Concurrent (Dual, Barrier, and Primal)
Default: 0 | |
Description: Algorithm for continuous quadratic optimization.
Determines which algorithm is used when CPXqpopt (or optimize in the Interactive Optimizer) is invoked. Currently, the behavior of the Automatic setting is that CPLEX invokes the barrier optimizer for continuous QP models.
The Automatic setting may be expanded in the future so that CPLEX chooses the algorithm based on additional problem characteristics. | ||||
CPX_PARAM_QPNZREADLIM QPNzReadLim read qpnonzeros |
4001 |
int |
Any integer from 0 to 268 435 450
Default: 5 000 | |
Description: QP Q matrix nonzero read limit.
This parameter does not restrict the size of a problem. Rather, it indirectly specifies the default amount of memory that will be pre-allocated before a problem is read from a file. If the limit is exceeded, more memory is automatically allocated. | ||||
CPX_PARAM_REDUCE Reduce preprocessing reduce |
1057 |
int |
0 [CPX_PREREDUCE_NOPRIMALORDUAL]
No primal or dual reductions
1 [CPX_PREREDUCE_PRIMALONLY]
Only primal reductions
2 [CPX_PREREDUCE_DUALONLY]
Only dual reductions
3 [CPX_PREREDUCE_PRIMALANDDUAL]
Both primal and dual reductions
Default: 3 | |
Description: Primal and dual reduction type.
Determines whether primal reductions, dual reductions, both, or neither are performed during preprocessing. | ||||
CPX_PARAM_REINV ReInv simplex refactor |
1031 |
int |
0 Determined automatically
or, any integer from 1 to 10,000
Default: 0 | |
Description: Simplex refactoring frequency.
Sets the number of iterations between refactoring of the basis matrix. | ||||
CPX_PARAM_RELAXPREIND RelaxPreInd preprocessing relax |
2034 |
int |
-1 Automatic: let CPLEX choose
0 [ CPX_OFF ] Off (do not use presolve on initial relaxation)
1 [ CPX_ON ] On (use presolve on initial relaxation)
Default: -1(automatic) | |
Description: Relaxed LP presolve indicator.
Determines whether LP presolve is applied to the root relaxation in a mixed integer program. Sometimes additional reductions can be made beyond any MIP presolve reductions that were already done. By default, CPLEX applies presolve to the initial relaxation in order to hasten time to the initial solution. | ||||
CPX_PARAM_RELOBJDIF RelObjDif mip tolerances relobjdifference |
2022 |
double |
Any number from 0.0 to 1.0
Default: 0.0 | |
Description: Relative objective difference cutoff.
Used to update the cutoff each time a mixed integer solution is found. The value is multiplied by the absolute value of the integer objective and subtracted from (added to) the newly found integer objective when minimizing (maximizing). This forces the mixed integer optimization to ignore integer solutions that are not at least this amount better than the one found so far. The relative objective difference parameter can be adjusted to improve problem solving efficiency by limiting the number of nodes; however, setting this parameter at a value other than zero (the default) can cause some integer solutions, including the true integer optimum, to be missed. If both RELOBJDIFFERENCE and OBJDIFFERENCE are nonzero, the value of OBJDIFFERENCE is used. | ||||
CPX_PARAM_REPAIRTRIES RepairTries mip limits repairtries |
2067 |
int |
-1 None: do not try to repair
0 Automatic: let CPLEX choose
or, any positive integer indicates the frequency
Default: 0 | |
Description: Try to repair infeasible MIP start.
This parameter lets you indicate to CPLEX whether and how many times it should try to repair an infeasible MIP start that you supplied. The parameter has no effect if the MIP start you supplied is feasible. It has no effect if no MIP start was supplied. | ||||
CPX_PARAM_REPEATPRESOLVE RepeatPresolve preprocessing repeatpresolve |
2064 |
int |
-1 Automatic: let CPLEX choose (default)
0 Turn off represolve
1 Represolve without cuts
2 Represolve with cuts
3 Represolve with cuts and allow new root cuts
Default: -1 | |
Description: Reapply presolve after processing the root node.
This integer parameter tells CPLEX whether to re-apply presolve, with or without cuts, to a MIP model after processing at the root is otherwise complete. | ||||
CPX_PARAM_RINSHEUR RINSHeur mip strategy rinsheur |
2061 |
int |
-1 None
0 Automatic (default)
or, any positive integer
Default: 0 | |
Description: RINS heuristic frequency.
Determines how often to apply the relaxation induced neighborhood search (RINS) heuristic. This heuristic attempts to improve upon the best solution found so far. It will not be applied until CPLEX has found at least one incumbent solution.
Setting the value to -1 turns off the RINS heuristic. Setting the value to 0, the default, applies the RINS heuristic at an interval chosen automatically by CPLEX. Setting the value to a positive number applies the RINS heuristic at the requested node interval. For example,setting RINSHeur to 20 dictates that the RINS heuristic be called at node 0, 20, 40, 60, etc.
RINS is a powerful heuristic for finding high quality feasible solutions, but it may be expensive. | ||||
CPX_PARAM_ROWREADLIM RowReadLim read constraints |
1021 |
int |
Any integer from 0 to 268 435 450
Default: 30 000 | |
Description: Constraint (row) read limit.
This parameter does not restrict the size of a problem. Rather, it indirectly specifies the default amount of memory that will be pre-allocated before a problem is read from a file. If the limit is exceeded, more memory is automatically allocated. | ||||
CPX_PARAM_SCAIND ScaInd read scale |
1034 |
int |
-1 No scaling
0 Equilibration scaling
1 More aggressive scaling
Default: 0 | |
Description: Scale parameter.
Indicates how to scale the problem matrix. | ||||
CPX_PARAM_SCRIND
(available only in Callable Library) |
1035 |
int |
0 [ CPX_OFF ] Off
1 [ CPX_ON ] On
Default: 0 | |
Description: Messages to screen indicator.
Indicates whether or not results messages are displayed on screen in a Callable Library application.
To turn off output to the screen, in a C++ application, use cplex.setOut(env.getNullStream()) , where cplex is an instance of the class IloCplex and env is an instance of the class IloEnv , the environment.
In a Java application, use cplex.setOut(null) .
In a .NET application, use Cplex.SetOut(Null) . | ||||
CPX_PARAM_SIFTALG SiftAlg sifting algorithm |
1077 |
int |
0 [CPX_ALG_AUTOMATIC] Automatic: let CPLEX choose
1 [CPX_ALG_PRIMAL] Primal Simplex
2 [CPX_ALG_DUAL] Dual Simplex
3 [CPX_ALG_NET] Network Simplex
4 [CPX_ALG_BARRIER] Barrier
Default: 0 | |
Description: Sifting subproblem algorithm
Sets the algorithm to be used for solving sifting subproblems. The default automatic setting will typically use a mix of barrier and primal simplex. | ||||
CPX_PARAM_SIFTDISPLAY SiftDisplay sifting display |
1076 |
int |
0 No display
1 Display major iterations
2 Display LP subproblem information within each sifting iteration
Default: 1 | |
Description: Sifting display information.
Determines the amount of information to be displayed about the progress of sifting. | ||||
CPX_PARAM_SIFTITLIM SiftItLim sifting iterations |
1078 |
int |
Any nonnegative integer
Default: 2 100 000 000 | |
Description: Upper limit on sifting iterations.
Sets the maximum number of sifting iterations that may be performed if convergence to optimality has not been reached. | ||||
CPX_PARAM_SIMDISPLAY SimDisplay simplex display |
1019 |
int |
0 No iteration messages until solution
1 Iteration info after each refactoring
2 Iteration info for each iteration
Default: 1 | |
Description: Simplex iteration display information.
Determines how often CPLEX reports during simplex optimization. | ||||
CPX_PARAM_SINGLIM SingLim simplex limits singularity |
1037 |
int |
Any nonnegative integer
Default: 10 | |
Description: Simplex singularity repair limit.
Restricts the number of times CPLEX attempts to repair the basis when singularities are encountered during the simplex algorithm. When this limit is exceeded, CPLEX replaces the current basis with the best factorable basis that has been found. | ||||
CPX_PARAM_STARTALG RootAlg mip strategy startalgorithm |
2025 |
int |
0 [CPX_ALG_AUTOMATIC] Automatic
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
6 [CPX_ALG_CONCURRENT] Concurrent Dual, Barrier and Primal
Default: 0 | |
Description: MIP starting algorithm.
Determines which continuous optimizer will be used to solve the initial relaxation of a MIP.
The default Automatic setting (0) of this parameter currently selects the dual simplex optimizer for root relaxations 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 variables), all settings are permitted.
For MIQP (integer constraints and positive semi-definite quadratic terms in the objective), settings 5 (Sifting) and 6 (Concurrent) are not implemented; if you happen to choose them, setting 5 (Sifting) reverts to 0 and setting 6 (Concurrent) reverts to 4.
For MIQCP (integer constraints and positive semi-definite quadratic terms among the constraints), only the Barrier optimizer is implemented, and therefore no settings other than 0 and 4 are permitted. | ||||
CPX_PARAM_STRONGCANDLIM StrongCandLim mip limits strongcand |
2045 |
int |
Any positive number
Default: 10 | |
Description: MIP candidate list
Controls the length of the candidate list when CPLEX uses the setting strong branching variable selection ( set mip strategy variableselect 3 ). | ||||
CPX_PARAM_STRONGITLIM StrongItLim mip limits strongit |
2046 |
int |
0 Automatic: let CPLEX choose
or any positive integer
Default: 0 | |
Description: MIP simplex iterations
Controls the number of simplex iterations performed on each variable in the candidate list when CPLEX uses the setting strong branching variable selection ( set mip strategy variableselect 3 ). The default setting 0 chooses the iteration limit automatically. | ||||
CPX_PARAM_STRONGTHREADLIM StrongThreadLim mip limits strongthreads |
2047 |
int |
Any positive integer
Default: 1 | |
Description: MIP parallel threads
Controls the number of parallel threads used to perform strong branching. Note that this parameter does nothing if the MIP thread limit ( set mip limits threads ) is greater than 1. Note also that the global thread limit, CPX_PARAM_THREADS , does not affect this parameter. | ||||
CPX_PARAM_SUBALG NodeAlg mip strategy subalgorithm |
2026 |
int |
0 [CPX_ALG_AUTOMATIC] Automatic: let CPLEX choose
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
Default: 0 | |
Description: MIP subproblem algorithm.
Determines which continuous optimizer will be used to solve the subproblems in a MIP, after the initial relaxation.
The default Automatic setting (0) 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 Barrier optimizer is implemented, and therefore no settings other than 0 (Automatic) and 4 (Barrier) are permitted. | ||||
CPX_PARAM_SUBMIPNODELIM SubMIPNodeLim mip limits submipnodelim |
2062 |
int |
Any positive integer
Default: 500 | |
Description: Limit on nodes explored when a subMIP is being solved.
Restricts the number of nodes explored when CPLEX is solving a subMIP. CPLEX solves subMIPs when it builds a solution from a partial MIP start, when repairing an infeasible MIP start, when executing the relaxation induced neighborhood search (RINS) heuristic, when branching locally, or when polishing a solution. | ||||
CPX_PARAM_SYMMETRY Symmetry preprocessing symmetry |
2059 |
int |
-1 Automatic: let CPLEX determine the level of symmetry breaking
0 Off
1 CPLEX exerts a moderate level of symmetry breaking
2 CPLEX exerts an aggressive level of symmetry breaking
3 CPLEX exerts a very aggressive level of symmetry breaking
Default: -1 (automatic) | |
Description: Symmetry breaking.
Determines whether symmetry breaking reductions will be automatically executed, during the preprocessing phase, in a MIP model. | ||||
CPX_PARAM_THREADS Threads threads |
1067 |
int |
Minimum: 1
Maximum: determined by license key and computer
Default: 1 | |
Description: Global default thread count.
Determines the default number of parallel processes (threads) that will be invoked by any CPLEX parallel optimizer. This provides a convenient way to control parallelism with a single parameter setting. The value in place for this parameter can be overridden for any particular CPLEX parallel optimizer by setting the appropriate thread limit ( CPX_PARAM_BARTHREADS or CPX_PARAM_MIPTHREADS ). | ||||
CPX_PARAM_TILIM TiLim timelimit |
1039 |
double |
Any nonnegative number
Default: 1e+75 | |
Description: Global time limit.
Sets the maximum time, in seconds, for a call to an optimizer. This time limit applies also to the conflict refiner.
The time is measured in terms of either CPU time or elapsed time, according to the setting of the ClockType parameter. The time limit for an optimizer applies to the sum of all its steps, such as preprocessing,crossover, and internal calls to other optimizers.
In a sequence of calls to optimizers, the limit is not cumulative but applies to each call individually. For example, if you set a time limit of 10 seconds, and you call mipopt twice then there could be a total of (at most) 20 seconds of running time if each call consumes its maximum allotment. | ||||
CPX_PARAM_TRELIM TreLim mip limits treememory |
2027 |
double |
Any nonnegative number
Default: 1e+75 | |
Description: Tree memory limit.
Sets an absolute upper limit on the size (in megabytes) of the branch & cut tree. If this limit is exceeded, CPLEX terminates optimization. | ||||
CPX_PARAM_VARSEL VarSel mip strategy variableselect |
2028 |
int |
-1 [ CPX_VARSEL_MININFEAS ]
Branch on variable with minimum infeasibility
0 [ CPX_VARSEL_DEFAULT ]
Branch variable automatically selected
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
Default: 0 | |
Description: MIP variable selection strategy.
Sets the rule for selecting the branching variable at the node which has been selected for branching. The maximum infeasibility rule chooses the variable with the value furtherest from an integer; 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 (1) 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) allows CPLEX to select the best rule based on the problem and its progress. | ||||
CPX_PARAM_WORKDIR WorkDir workdir |
1064 |
string |
Default: '.' | |
Description: Directory for working files.
Specifies the name of an existing directory into which CPLEX may store temporary working files, such as for MIP node files or for out-of-core barrier. | ||||
CPX_PARAM_WORKMEM WorkMem workmem |
1065 |
double |
Any nonnegative number, in megabytes
Default: 128.0 | |
Description: Memory available for working storage.
Specifies an upper limit on the amount of central memory, in megabytes, that CPLEX is permitted to use for working memory before swapping to disk files. See also CPX_PARAM_WORKDIR, WorkDir . |
Copyright © 1987-2006 ILOG S.A. All rights reserved. Legal terms. | PREVIOUS NEXT |