List of CPLEX parameters
CPLEX parameters, documented here alphabetically by name
in the Callable Library (C API), are available in the C++, Java, .NET,
and Python APIs, as well as in the Interactive Optimizer and the MathWorks
advanced start switch
If set to 1 or 2, this parameter specifies that CPLEX should use advanced starting information when it initiates optimization.
constraint aggregation limit for cut generation
Limits the number of constraints that can be aggregated for generating flow cover and mixed integer rounding (MIR) cuts.
preprocessing aggregator fill
Limits variable substitutions by the aggregator.
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.
API string encoding switch
API string encoding switch
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.
barrier column nonzeros
Used in the recognition of dense columns.
barrier crossover algorithm
Decides which crossover is performed at the end of a barrier optimization.
barrier display information
Sets the level of barrier progress information to be displayed.
convergence tolerance for LP and QP problems
Sets the tolerance on complementarity for convergence.
barrier growth limit
Used to detect unbounded optimal faces.
barrier iteration limit
Sets the number of barrier iterations before termination.
barrier maximum correction limit
Sets the maximum number of centering corrections done on each iteration.
barrier objective range
Sets the maximum absolute value of the objective function.
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.
convergence tolerance for QC problems
Sets the tolerance on complementarity for convergence in quadratically constrained problems (QCPs).
barrier starting point algorithm
Sets the algorithm to be used to compute the initial starting point for the barrier optimizer.
This parameter specifies whether CPLEX should apply Benders algorithm as a strategy to solve a model.
Benders worker algorithm
This parameter specifies which algorithm CPLEX should apply to solve subproblems of a Benders decomposition.
Benders feasibility cut tolerance
This parameter specifies a tolerance for the feasibility of cuts when CPLEX solves a model decomposed according to Benders algorithm.
Benders optimality cut tolerance
This parameter specifies a tolerance for the optimality of cuts when CPLEX solves a model decomposed according to Benders algorithm.
MIP strategy best bound interval
Sets the best bound interval for MIP strategy.
bound strengthening switch
Decides whether to apply bound strengthening in mixed integer programs (MIPs).
Boolean Quadric Polytope cuts
Controls the addition of BQP cuts for nonconvex QP or MIQP solved to global optimality.
MIP branching direction
Decides which branch, the up or the down branch, should be taken first at each node.
Controls how often backtracking is done during the branching process.
calculate QCP dual values
Instructs CPLEX to calculate the dual values of a quadratically constrained problem
MIP cliques switch
Decides whether or not clique cuts should be generated for the problem.
clock type for computation time
Decides how computation times are measured for both reporting performance and terminating optimization when a time limit has been set.
clone log in parallel optimization
Specifies whether to create clone log files during parallel optimization.
coefficient reduction setting
Decides how coefficient reduction is used.
variable (column) read limit
Specifies a limit for the number of columns (variables) to read for an allocation of memory.
conflict information display
Decides how much information CPLEX reports when the conflict refiner is working.
conflict refiner algorithm
Determines which algorithm CPLEX uses in the conflict refiner to find a minimal conflict in an infeasible model.
MIP covers switch
Decides whether or not cover cuts should be generated for the problem.
CPU mask to bind threads to cores
Specifies how CPLEX binds threads to cores
simplex crash ordering
Decides how CPLEX orders variables relative to the objective function when selecting an initial basis.
Sets lower cutoff tolerance.
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.
cut factor row-multiplier limit
Limits the number of cuts that can be added.
Sets the upper cutoff tolerance.
data consistency checking and modeling assistance
Turns on or off data consistency checking and modeling assistance.
Decides whether to activate the dependency checker.
deterministic time limit
Deterministic time limit
MIP disjunctive cuts switch
Decides whether or not disjunctive cuts should be generated for the problem.
MIP dive strategy
Controls the MIP dive strategy.
dual simplex pricing algorithm
Decides the type of pricing applied in the dual simplex algorithm.
This parameter specifies whether CPLEX should manage rows dynamically.
type of cut limit
Sets a limit for each type of cut.
absolute MIP gap tolerance
Sets an absolute tolerance on the gap between the best integer objective and the objective of the best node remaining.
relative MIP gap tolerance
Sets a relative tolerance on the gap between the best integer objective and the objective of the best node remaining.
Specifies the amount by which an integer variable can be different from an integer and still be considered feasible.
epsilon (degree of tolerance) used in linearization
Sets the epsilon (degree of tolerance) used in linearization.
Influences pivot selection during basis factoring.
Influences the reduced-cost tolerance for optimality.
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.
relaxation for FeasOpt
Controls the amount of relaxation for the routine
CPXfeasopt in the C API or for the method
feasOpt in the object-oriented APIs.
Specifies the feasibility tolerance, that is, the degree to which the basic variables of a model may violate their bounds.
mode of FeasOpt
Decides how FeasOpt measures the relaxation when finding a minimal relaxation in an infeasible model.
file encoding switch
file encoding switch
MIP flow cover cuts switch
Decides whether or not to generate flow cover cuts for the problem.
MIP flow path cut switch
Decides whether or not flow path cuts should be generated for the problem.
feasibility pump switch
Turns on or off the feasibility pump heuristic for mixed integer programming (MIP) models.
candidate limit for generating Gomory fractional cuts
Limits the number of candidate variables for generating Gomory fractional cuts.
MIP Gomory fractional cuts switch
Decides whether or not Gomory fractional cuts should be generated for the problem.
pass limit for generating Gomory fractional cuts
Limits the number of passes for generating Gomory fractional cuts.
MIP GUB cuts switch
Decides whether or not to generate GUB cuts for the problem.
MIP heuristic effort
Decides how much effort that CPLEX spends on heuristics during a MIP solve.
MIP heuristic frequency
Decides how often to apply the periodic heuristic.
MIP globally valid implied bound cuts switch
Decides whether or not to generate globally valid implied bound cuts for the model.
MIP locally valid implied bound cuts switch
Decides whether or not to generate locally valid implied bound cuts for the problem.
MIP integer solution-file switch and prefix
MIP integer solution file switch and filename prefix.
MIP integer solution limit
Sets the number of MIP solutions to be found before stopping.
simplex maximum iteration limit
Sets the maximum number of simplex iterations to be performed before the algorithm terminates without reaching optimality.
local branching heuristic
Controls whether CPLEX applies a local branching heuristic to try to improve new incumbents found during a MIP search.
Lift-and-project cuts switch for MIP and MIQCP
Decides whether or not lift-and-project cuts are generated for the problem.
MCF cut switch
Switches on or off generation of multi-commodity flow cuts in a MIP.
memory reduction switch
Directs CPLEX that it should conserve memory where possible.
MIP callback switch between original model and reduced, presolved model
Controls whether your callback accesses node information of the original model (off) or node information of the reduced, presolved model (on, default).
MIP node log display information
Decides what CPLEX reports to the screen during mixed integer optimization (MIP).
MIP emphasis switch
Controls trade-offs between speed, feasibility, optimality, and moving bounds in MIP.
MIP node log interval
Controls the frequency of node logging when the MIP display parameter is set higher than 1 (one).
MIP kappa computation
Sets the strategy for computing statistics about MIP kappa
MIP priority order switch
Decides whether to use the priority order, if one exists, for the next mixed integer optimization.
MIP priority order generation
Selects the type of generic priority order to generate when no priority order is present.
MIP dynamic search switch
Sets the search strategy for a mixed integer program (MIP).
MIQCP strategy switch
Sets the strategy that CPLEX uses to solve a quadratically constrained mixed integer program (MIQCP).
MIP MIR (mixed integer rounding) cut switch
Decides whether or not to generate MIR cuts (mixed integer rounding cuts) for the problem.
precision of numerical output in MPS and REW file formats
Decides the precision of numerical output in the MPS and REW file formats.
level of display during multiobjective optimization
Decides what CPLEX displays during multiobjective optimization.
network logging display switch
Decides what CPLEX reports to the screen during network optimization.
network optimality tolerance
Specifies the optimality tolerance for network optimization.
network primal feasibility tolerance
Specifies feasibility tolerance for network primal optimization. The feasibility tolerance specifies the degree to which the flow value of a model may violate its bounds.
simplex network extraction level
Establishes the level of network extraction for network simplex optimization.
network simplex iteration limit
Sets the maximum number of iterations to be performed before the algorithm terminates without reaching optimality.
network simplex pricing algorithm
Specifies the pricing algorithm for network simplex optimization.
MIP subproblem algorithm
Decides which continuous optimizer will be used to solve the subproblems in a MIP, after the initial relaxation.
node storage file switch
Used when working memory (
WorkMem) has been exceeded by the size of the search tree.
MIP node limit
Sets the maximum number of nodes solved before the algorithm terminates without reaching optimality.
MIP node selection strategy
Used to set the rule for selecting the next node to process when backtracking.
numerical precision emphasis
Emphasizes precision in numerically unstable or difficult problems.
nonzero element read limit
Specifies a limit for the number of nonzero elements to read for an allocation of memory.
absolute objective difference cutoff
Used to update the cutoff each time a mixed integer solution is found.
lower objective value limit
Sets a lower limit on the value of the objective function in the simplex algorithms.
upper objective value limit
Sets an upper limit on the value of the objective function in the simplex algorithms.
Specifies type of optimality that CPLEX targets (optimal convex or first-order satisfaction) as it searches for a solution
parallel mode switch
Sets the parallel optimization mode. Possible modes are automatic, deterministic, and opportunistic.
simplex perturbation switch
Decides whether to perturb problems.
simplex perturbation limit
Sets the number of degenerate iterations before perturbation is performed.
deterministic time before starting to polish a feasible solution
Sets the amount of time expressed in deterministic ticks to spend during a normal mixed integer optimization after which CPLEX starts to polish a feasible solution
absolute MIP gap before starting to polish a feasible solution
Sets an absolute MIP gap after which CPLEX starts to polish a feasible solution
relative MIP gap before starting to polish a feasible solution
Sets a relative MIP gap after which CPLEX starts to polish a feasible solution
MIP integer solutions to find before starting to polish a feasible solution
Sets the number of integer solutions to find after which CPLEX starts to polish a feasible solution
nodes to process before starting to polish a feasible solution
Sets the number of nodes to process after which CPLEX starts to polish a feasible solution
time before starting to polish a feasible solution
Sets the amount of time in seconds to spend during a normal mixed integer optimization after which CPLEX starts to polish a feasible solution
time spent polishing a solution (deprecated)
maximum number of solutions generated for solution pool by populate
Sets the maximum number of mixed integer programming (MIP) solutions generated for the solution pool during each call to the populate procedure.
changed parameter display switch
Decides whether to display parameters that are at nondefault values before optimization.
primal simplex pricing algorithm
Sets the primal simplex pricing algorithm.
presolve dual setting
Decides whether CPLEX presolve should pass the primal or dual linear programming problem to the linear programming optimization algorithm.
Decides whether CPLEX applies presolve during preprocessing.
linear reduction switch
Decides whether linear or full reductions occur during preprocessing.
limit on the number of presolve passes made
Limits the number of presolve passes that CPLEX makes during preprocessing.
node presolve switch
Decides whether node presolve should be performed at the nodes of a mixed integer programming (MIP) solution.
simplex pricing candidate list size
Sets the maximum number of variables kept in the list of pricing candidates for the simplex algorithms.
MIP probing level
Sets the amount of probing on variables to be performed before MIP branching.
deterministic time spent probing
Limits the amount of time (expressed in deterministic ticks) spent probing.
time spent probing
Limits the amount of time in seconds spent probing.
indefinite MIQP switch
Decides whether CPLEX will attempt to reformulate a MIQP or MIQCP model that contains only binary variables.
QP Q-matrix nonzero read limit
Specifies a limit for the number of nonzero elements to read for an allocation of memory in a model with a quadratic matrix.
linearization switch for QP, MIQP
Switches on or off linearization of the quadratic terms in the objective function of a quadratic program (QP) or of a mixed integer quadratic program (MIQP) during preprocessing.
deterministic time spent in ramp up during distributed parallel optimization
Limits the amount of time in deterministic ticks spent during ramp up of distributed parallel optimization.
time spent in ramp up during distributed parallel optimization
Limits the amount of time in seconds spent during ramp up of distributed parallel optimization.
ramp up duration
Customizes ramp up for distributed parallel optimization.
This parameter sets the random seed differently for diversity of solutions.
Records invocations of Callable Library (C API) routines
primal and dual reduction type
Specifies whether primal reductions, dual reductions, both, or neither are performed during preprocessing.
simplex refactoring frequency
Sets the number of iterations between refactoring of the basis matrix.
relaxed LP presolve switch
Decides whether LP presolve is applied to the root relaxation in a mixed integer program (MIP).
relative objective difference cutoff
Used to update the cutoff each time a mixed integer solution is found.
number of attempts to repair infeasible MIP start
Limits the attempts to repair an infeasible MIP start.
MIP repeat presolve switch
Specifies whether to re-apply presolve, with or without cuts, to a MIP model after processing at the root is otherwise complete.
RINS heuristic frequency
Decides how often to apply the relaxation induced neighborhood search (RINS) heuristic.
Reformulation Linearization Technique (RLT) cuts
Controls the addition of RLT cuts for nonconvex QP solved to global optimality.
algorithm for continuous linear problems
Controls which algorithm is used to solve continuous linear models or to solve the root relaxation of a MIP.
algorithm for continuous quadratic optimization
Sets which algorithm to use when the C routine
CPXqpopt (or the command
optimize in the Interactive Optimizer) is invoked.
algorithm for initial MIP relaxation
Sets which continuous optimizer will be used to solve the initial relaxation of a MIP.
auxiliary root threads
Partitions the number of threads to manage tasks at the root node.
constraint (row) read limit
Specifies a limit for the number of rows (constraints) to read for an allocation of memory.
Decides how to scale the problem matrix.
messages to screen switch
Decides whether or not results are displayed on screen in an application of the C API, MATLAB API, or MATLAB Toolbox.
sifting subproblem algorithm
Sets the algorithm to be used for solving sifting subproblems.
sifting from simplex switch
Turns on or off sifting from simplex optimization.
sifting information display
Sets the amount of information to display about the progress of sifting.
upper limit on sifting iterations
Sets the maximum number of sifting iterations that may be performed if convergence to optimality has not been reached.
simplex iteration information display
Sets how often CPLEX reports about iterations during simplex optimization.
simplex singularity repair limit
Restricts the number of times CPLEX attempts to repair the basis when singularities are encountered during the simplex algorithm.
absolute gap for solution pool
Sets an absolute tolerance on the objective value for the solutions in the solution pool.
maximum number of solutions kept in solution pool
Limits the number of solutions kept in the solution pool
relative gap for solution pool
Sets a relative tolerance on the objective value for the solutions in the solution pool.
solution pool intensity
Controls the trade-off between the number of solutions generated for the solution pool and the amount of time or memory consumed.
solution pool replacement strategy
Designates the strategy for replacing a solution in the solution pool when the solution pool has reached its capacity.
solution type for LP and QP
Specifies type of solution (basic or non basic) that CPLEX produces for a linear program (LP) or quadratic program (QP).
MIP strong branching candidate list limit
Controls the length of the candidate list when CPLEX uses variable selection as the setting for strong branching.
MIP strong branching iterations limit
Controls the number of simplex iterations performed on each variable in the candidate list when CPLEX uses variable selection as the setting for strong branching.
limit on nodes explored when CPLEX solves a subMIP
Limits the number of nodes explored when CPLEX solves a subMIP.
scale parameter for subMIPs
Decides how to scale the problem matrix when CPLEX solves a subMIP during MIP optimization.
algorithm for initial MIP relaxation of a subMIP of a MIP
Sets which continuous optimizer will be used to solve the initial relaxation of a subMIP of a MIP.
algorithm for subproblems of a subMIP of a MIP
Sets which optimizer will be used to solve the subproblems of a subMIP of a MIP.
symmetry breaking for MIP models
Decides whether MIP symmetry breaking reductions will be attempted during the preprocessing phase.
folding for LP models
Decides whether LP folding will be attempted during the preprocessing phase.
global thread count
Sets the default number of parallel threads that will be invoked by any CPLEX parallel optimizer.
optimizer time limit in seconds
Sets the maximum time, in seconds, for a call to an optimizer.
tree memory limit
Sets an absolute upper limit on the size (in megabytes, uncompressed) of the branch-and-cut tree.
deterministic tuning time limit
Sets a time limit in deterministic ticks per model and per test set (that is, suite of models) applicable in tuning.
tuning information display
Specifies the level of information reported by the tuning tool as it works.
Controls the measure for evaluating progress when a suite of models is being tuned.
Specifies the number of times tuning is to be repeated on reordered versions of a given problem.
tuning time limit in seconds
Sets a nondeterministic time limit in seconds per model and per test set (that is, suite of models) applicable in tuning.
MIP variable selection strategy
Sets the rule for selecting the branching variable at the node which has been selected for branching.
Determines how many times warnings of a specific type will be displayed.
directory for working files
Specifies the name of an existing directory into which CPLEX may store temporary working files.
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.
write level for MST, SOL files
Sets a level of detail for CPLEX to write a file in MST or SOL format.
MIP zero-half cuts switch
Decides whether or not to generate zero-half cuts for the problem.