CPLEX Parameter Table: Difference between revisions

From TomWiki
Jump to navigationJump to search
No edit summary
(Added several new paramters)
Line 247: Line 247:
|colspan="2"|'''Description:  '''Convergence tolerance for QCP problems. That is, for quadratically constrained problems. For
|colspan="2"|'''Description:  '''Convergence tolerance for QCP problems. That is, for quadratically constrained problems. For


LPs and for QPs (that is, when all the constraints are linear) see BAREPCOMP. Sets the tolerance on complementar- ity 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.
LPs and for QPs (that is, when all the constraints are linear) see 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.
<hr/>
<hr/>
|-valign="top"
|-valign="top"
Line 439: Line 439:
0 Ignore objective coefficients during crash
0 Ignore objective coefficients during crash


-1 or 1 Alternate ways of using objective coef- ficients
-1 or 1 Alternate ways of using objective coefficients


'''LP  Dual:'''
'''LP  Dual:'''
Line 655: Line 655:
|colspan="2"|'''Description:  '''Absolute mipgap tolerance.
|colspan="2"|'''Description:  '''Absolute mipgap tolerance.


Sets an absolute tolerance on the gap between the best integer objective and the objective of the best node re- maining. When this difference falls below the value of the ABSMIPGAP parameter, the mixed integer optimization is stopped.
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 ABSMIPGAP parameter, the mixed integer optimization is stopped.
<hr/>
<hr/>
|-valign="top"
|-valign="top"
Line 774: Line 774:
4 Minimize  the sum of squares  of required relaxations in first phase only
4 Minimize  the sum of squares  of required relaxations in first phase only


5 Minimize  the sum of squares  of required relaxations in first phase and execute second phase to find optimum among minimal relax- ations
5 Minimize  the sum of squares  of required relaxations in first phase and execute second phase to find optimum among minimal relaxations




Line 866: Line 866:
0 Automatically  determined
0 Automatically  determined


1 Generate Gomory fractional  cuts moder- ately
1 Generate Gomory fractional  cuts moderately


2 Generate Gomory fractional  cuts aggres- sively
2 Generate Gomory fractional  cuts aggressively




Line 1,000: Line 1,000:
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 false; that is, it is off by default. 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.
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 false; that is, it is off by default. 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.
<hr/>
<hr/>
|-valign="top"
|cpxControl.LOCALIMPLBD||-1 Do not generate locally valid implied bound cuts
0 Automatic: let CPLEX choose; default.
1 Generate locally valid implied bound cuts moderately
2 Generate locally valid implied bound cuts aggressively
3 Generate locally valid implied bound cuts very aggressively
Default: 0
|-valign="top"
|colspan="2"|'''Description:  '''MIP locally valid implied bound cuts switch.
Instructs CPLEX whether or not to generate locally valid implied bound cuts for the model. The default value 0 (zero) specifies that the attempt to generate locally valid implied bound cuts should continue only if it seems to be helping.<hr/>
|-valign="top"
|-valign="top"


Line 1,024: Line 1,045:
|colspan="2"|'''Description:  '''Method for linear optimization.
|colspan="2"|'''Description:  '''Method for linear optimization.


Determines which algorithm is used.  Currently, the behavior of the Automatic setting is that CPLEX almost always invokes the dual simplex method. The one exception is when solving the relaxation of an MILP  model when multiple threads have been requested. In this case, the Automatic setting will use the concurrent opti- mization method. The Automatic setting may be expanded in the future so that CPLEX chooses the method based on additional problem characteristics.
Determines which algorithm is used.  Currently, the behavior of the Automatic setting is that CPLEX almost always invokes the dual simplex method. The one exception is when solving the relaxation of an MILP  model when multiple threads have been requested. In this case, the Automatic setting will use the concurrent optimization method. The Automatic setting may be expanded in the future so that CPLEX chooses the method based on additional problem characteristics.
<hr/>
<hr/>
|-valign="top"
|-valign="top"
Line 1,067: Line 1,088:
Determines what CPLEX reports to the screen during mixed integer optimization.  The amount of information displayed increases with increasing values of this parameter.
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 nth node (where n is the setting of the MIP INTERVAL parameter). A setting of 3 addition- ally 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 SIMDISPLAY  setting. A setting of 5 additionally generates entries for the LP subproblems, also according to the SIMDISPLAY  setting.
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 nth 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 SIMDISPLAY  setting. A setting of 5 additionally generates entries for the LP subproblems, also according to the SIMDISPLAY  setting.
<hr/>
<hr/>
|-valign="top"
|-valign="top"


|cpxControl.MIPEMPHASIS||0 [BALANCED] Balance optimality  and feasi- bility
|cpxControl.MIPEMPHASIS||0 [BALANCED] Balance optimality  and feasibility


1 [FEASIBILITY]  Emphasize feasibility over optimality
1 [FEASIBILITY]  Emphasize feasibility over optimality
Line 1,277: Line 1,298:
|colspan="2"|'''Description:  '''Simplex network extraction level.
|colspan="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 formula- tion.
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.
<hr/>
<hr/>
|-valign="top"
|-valign="top"
Line 1,371: Line 1,392:
|cpxControl.NUMERICALEMPHASIS||0 Off:  Do not emphasize extreme caution in computation
|cpxControl.NUMERICALEMPHASIS||0 Off:  Do not emphasize extreme caution in computation


1 On: Emphasize extreme caution in compu- tation
1 On: Emphasize extreme caution in computation




Line 1,712: Line 1,733:


Sets the number of Q matrix nonzeros that can be read.
Sets the number of Q matrix nonzeros that can be read.
<hr/>
|-valign="top"
|cpxControl.QTOLININD||-1 Automatic: let CPLEX decide, '''default'''.
0 Off: CPLEX does not linearize quadratic terms in the objective function of QP, MIQP
1 On: CPLEX linearizes quadratic terms in the objective function of QP, MIQP
Default: -1
|-valign="top"
|colspan="2"|'''Description:  '''Linearization switch for QP and MIQP.
This parameter 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.
In a convex mixed integer quadratic program (MIQP), this parameter controls whether CPLEX linearizes the product of binary variables in the objective function during presolve.
In a nonconvex quadratic program (QP) or mixed integer quadratic program (MIQP) solved to global optimality according to the solution target parameter, this parameter controls how CPLEX linearizes the product of bounded variables in the objective function during presolve.
This parameter interacts with certain settings of the parameter solution target type:
When the solution target type is set to 1 (one) (that is, CPLEX searches for a globally optimal solution to a convex model), then in a convex MIQP, this linearization switch tells CPLEX to replace the product of a binary variable and a bounded linear variable by a linearly constrained variable.
When the solution target type is set to 3, then in a nonconvex QP or nonconvex MIQP, this linearization switch controls the initial relaxation.
<hr/>
<hr/>
|-valign="top"
|-valign="top"
Line 1,751: Line 1,795:
|cpxControl.RELAXPREIND||-1 Determined automatically
|cpxControl.RELAXPREIND||-1 Determined automatically


0 Off (do not  use presolve on initial relax- ation)
0 Off (do not  use presolve on initial relaxation)


1 On (use presolve on initial  relaxation)
1 On (use presolve on initial  relaxation)
Line 2,021: Line 2,065:
|-valign="top"
|-valign="top"


|cpxControl.SOLNPOOLREPLACE||0 Extend the pool if necessary to accommo- date more solutions
|cpxControl.SOLNPOOLREPLACE||0 Extend the pool if necessary to accommodate more solutions


1 Replace the first solution by the most recent solution; first in, first out
1 Replace the first solution by the most recent solution; first in, first out
Line 2,038: Line 2,082:


Designates the  strategy for replacing a solution in the solution pool when the solution pool has reached its capacity.
Designates the  strategy for replacing a solution in the solution pool when the solution pool has reached its capacity.
<hr/>
|-valign="top"
|cpxControl.SOLUTIONTARGET||0 Automatic; let CPLEX decide, '''default'''.
1 Searches for a globally optimal solution to a convex model.
2 Searches for a solution that satisfies first-order optimality conditions, but is not necessarily globally optimal.
3 Searches for a globally optimal solution to a nonconvex model; changes problem type to MIQP if necessary.
Default: 0
|-valign="top"
|colspan="2"|'''Description:  '''Specifies the type of solution CPLEX attempts to compute when CPLEX solves a nonconvex, continuous or mixed integer quadratic model; that is, nonconvex QP or nonconvex MIQP. In other words, the variables of the model can be continuous or mixed integer and continuous; the objective function includes a quadratic term, and the objective function is not positive semi-definite (non PSD).
By default, CPLEX first attempts to compute a provably optimal solution to such a problem. If CPLEX cannot compute a provably optimal solution because the objective function is not convex, CPLEX terminates and returns the error 5002 (Q_NOT_POS_DEF).
When this parameter is set to 1 (one), CPLEX searches for a globally optimal solution to a convex model. In problems of type QP or MIQP, this setting interacts with linearization switch for QP, MIQP.
When this parameter is set to 2, CPLEX first attempts to compute a provably optimal solution. If CPLEX cannot compute a provably optimal solution because the objective function is not convex, CPLEX searches for a solution that satisfies first-order optimality conditions but is not necessarily globally optimal. In such a case, you can query the solution status to determine the kind of solution that CPLEX found.
When this parameter is set to 3, if the problem type is QP, CPLEX first changes the problem type to MIQP. CPLEX then solves the problem (whether originally QP or MIQP) to global optimality. In problems of type QP or MIQP, this setting interacts with linearization switch for QP, MIQP (QTOLININD).
Tip: When the value of this parameter is 3 (that is, you have instructed CPLEX to search for a globally optimal solution to a nonconvex QP or MIQP), then information about dual values is not available for the solution.
<hr/>
<hr/>
|-valign="top"
|-valign="top"
Line 2,269: Line 2,342:
|-valign="top"
|-valign="top"


|cpxControl.VARSEL||-1 Branch on variable with minimum infeasi- bility
|cpxControl.VARSEL||-1 Branch on variable with minimum infeasibility


0 Branch variable automatically selected
0 Branch variable automatically selected


1 Branch on variable with maximum infeasi- bility
1 Branch on variable with maximum infeasibility


2 Branch based on pseudo costs
2 Branch based on pseudo costs

Revision as of 05:14, 25 February 2015

Notice.png

This page is part of the CPLEX Manual. See CPLEX.

Table: CPLEX Parameters Overview

TOMLAB parameter Value
cpxControl.ADVIND 0 Off: do not use advanced start information

1 On: CPLEX will use an advanced basis supplied by the user

2 On: CPLEX will crush an advanced basis or starting vector supplied by the user


Default: 0

Description: An indicator which, if set to 1 or 2, uses advanced starting information when optimization is

initiated. Setting 2 may be effective for MIPs in which the percentage of integer constraints is low. It may also reduce the solution time of fixed MIPs.


cpxControl.AGGCUTLIM Any non-negative 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


cpxControl.AGGFILL Any non-negative 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.


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


cpxControl.BARALG 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 sub-problems in a Mixed Integer Programming 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 Mixed Integer sub-problems), 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.


cpxControl.BARCOLNZ 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. If the problem contains fewer than 400 rows, dense column handling is NOT initiated.


cpxControl.BARCROSSALG -1 No crossover

0 Automatic

1 Primal crossover

2 Dual crossover


Default: 0

Description: Barrier crossover method.

Determines which, if any, crossover method is performed at the end of a Barrier optimization.


cpxControl.BARDISPLAY 0 No progress information

1 Normal setup and iteration information

2 Diagnostic information


Default: 1

Description: Barrier display information.

Determines the level of barrier information to be displayed.


cpxControl.BAREPCOMP Any positive number = 10-12


Default: 10-8

Description: Convergence tolerance for LP and QP problems.

For problems with quadratic constraints (QCP), see 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.


cpxControl.BARGROWTH 1.0 or greater.


Default: 108

Description: Barrier growth.

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.


cpxControl.BARITLIM 0 No Barrier iterations or, any positive integer


Default: Large (varies by computer)

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 factorization information).


cpxControl.BARMAXCOR -1 Automatically determined

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.


cpxControl.BAROBJRNG Any positive number


Default: 1020

Description: Barrier objective range.

Sets the maximum absolute value of the objective function. The barrier algorithm looks at this limit to detect unbounded problems.


cpxControl.BARORDER 0 Automatic

1 Approximate minimum degree (AMD)

2 Approximate minimum fill (AMF)

3 Nested dissection (ND)


Default: 0 values

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.


cpxControl.BARQCPEPCOMP Any positive number = 10-12


Default: 10-6

Description: Convergence tolerance for QCP problems. That is, for quadratically constrained problems. For

LPs and for QPs (that is, when all the constraints are linear) see 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.


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


cpxControl.BBINTERVAL 0 Best estimate node always selected or, any positive integer


Default: 7

Description: MIP strategy bbinterval.

When using nodeselect 2, 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 to always 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.


cpxControl.BNDSTRENIND -1 Automatically determined

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. This reduction is usually beneficial, but occasionally, due to its iterative nature, takes a long time.


cpxControl.BRDIR -1 Down branch selected first

0 Automatically determined

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


cpxControl.BTTOL 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 CUTUP and 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 current objective 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.


cpxControl.CLIQUES -1 Do not generate clique cuts

0 Automatically determined

1 Generate clique cuts moderately

2 Generate clique cuts 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.


cpxControl.CLOCKTYPE 1 CPU time

2 Wall clock time (total physical time elapsed)


Default: 1

Description: Computation time reporting.

Determines how computation times are measured.


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


cpxControl.COLREADLIM Any integer from 0 to 268 435 450


Default: Varies by computer.

Description: Variable (column) read limit.

Sets the number of variables that can be read.


cpxControl.COVERS -1 Do not generate cover cuts

0 Automatically determined

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.


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

Description: Simplex crash ordering.

Determines how CPLEX orders variables relative to the objective function when selecting an initial basis.


cpxControl.CUTLO Any number


Default: -1075

Description: Lower cutoff.

When the problem is a maximization problem, the LOWERCUTOFF parameter is used to cut off any nodes that have an objective value below the lower cutoff value. On a continued mixed integer optimization, 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 LOWERCUTOFF parameter may result in no integer solutions being found.


cpxControl.CUTPASS -1 None

0 Automatically determined

Positive values give number of passes to perform


Default: 0

Description: Number of cutting plane passes.

Sets the upper limit on the number of passes CPLEX performs when generating cutting planes on a MIP model.


cpxControl.CUTSFACTOR Any non-negative 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.


cpxControl.CUTUP Any number.


Default: 1075 .

Description: Upper cutoff.

Cuts off any nodes that have an objective value 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 UPPERCUTOFF parameter may result in no integer solutions being found.


cpxControl.DATACHECK 0 Off (do not check)

1 On (check)


Default: 0

Description: Data consistency checking indicator.

When set to 1 (On), extensive checking is performed on data in the 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 is useful for debugging applications.


cpxControl.DEPIND 0 Off (do not use dependency checker)

1 On (use dependency checker)


Default: 0

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.


cpxControl.DISJCUTS -1 Do not generate disjunctive cuts

0 Automatically determined

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.


cpxControl.DIVETYPE 0 automatic

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.


cpxControl.DPRIIND 0 Determined automatically

1 Standard dual pricing

2 Steepest-edge pricing

3 Steepest-edge pricing in slack space

4 Steepest-edge pricing, unit initial norms

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


cpxControl.EACHCUTLIM 0 No cuts

N+ Limit each type of cut


Default: 2.1e9

Description: Type of cut limit.

Sets a limit for each type of cut. This parameter allows you to set a uniform limit on the number of cuts of a each type that CPLEX generates. By default, the limit is the largest integer supported by a given platform; that is, there is no effective limit by default. Tighter limits on the number of cuts of each type may benefit certain models. For example, a limit on each type of cut will prevent any one type of cut from being created in such large number that the limit on the total number of all types of cuts is reached before other types of cuts have an opportunity to be created. This parameter does not influence the number of Gomory cuts.


cpxControl.EPAGAP Any non-negative number.


Default: 10-6 .

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 ABSMIPGAP parameter, the mixed integer optimization is stopped.


cpxControl.EPGAP Any number from 0.0 to 1.0


Default: 10-4


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|

10-10 + |bestinteger|

falls below the value of the MIPGAP 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.


cpxControl.EPINT Any number from 10-9 to 0.5.


Default: 10-5

Description: Integrality tolerance.

Specifies the amount by which an integer variable can be different from an integer and still be considered feasible.


cpxControl.EPMRK Any number from 0.0001 to 0.99999


Default: 0.01

Description: Markowitz tolerance.

Influences pivot selection during basis factorization. Increasing the Markowitz threshold may improve the numerical properties of the solution.


cpxControl.EPOPT Any number from 10-9 to 10-1


Default: 10-6

Description: Optimality tolerance.

Influences the reduced-cost tolerance for optimality. This parameter governs how closely CPLEX must approach the theoretically optimal solution.


cpxControl.EPPER Any positive number = 10-8


Default: 10-6

Description: Perturbation constant.

Sets the amount by which CPLEX perturbs the upper and lower bounds on the variables when a problem is perturbed. This parameter can be set to a smaller value if the default value creates too large a change in the problem.


cpxControl.EPRELAX Any positive number


Default: 10-6

Description: FeasOpt tolerance.

Sets epsilon used to measure relaxation in FeasOpt.


cpxControl.EPRHS Any number from 10-9 to 10-1


Default: 10-6

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.


cpxControl.FEASOPTMODE 0 Minimize the sum of all required relaxations in first phase only

1 Minimize the sum of all required relaxations in first phase and execute second phase to find optimum among minimal relaxations

2 Minimize the number of constraints and bounds requiring relaxation in first phase only

3 Minimize the number of constraints and bounds requiring relaxation in first phase and execute second phase to find optimum among minimal relaxations

4 Minimize the sum of squares of required relaxations in first phase only

5 Minimize the sum of squares of required relaxations in first phase and execute second phase to find optimum among minimal relaxations


Default: 0

Description: FeasOpt settings.

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.


cpxControl.FLOWCOVERS -1 Do not generate flow cover cuts

0 Automatically determined

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.


cpxControl.FLOWPATHS -1 Do not generate flow path cuts

0 Automatically determined

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.


cpxControl.FPHEUR -1 Do not apply the feasibility pump heuristic

0 Automatic: let CPLEX choose

1 Apply the feasibility pump heuristic with an emphasis on finding a feasible solution

2 Apply the feasibility pump heuristic with an emphasis on finding a feasible solution with a good objective value


Default: 0

Description: Feasibility pump switch.

Turns on or off the feasibility pump heuristic. At the default setting 0 (zero), CPLEX automatically chooses whether or not to apply the feasibility pump heuristic on the basis of characteristics of the model. To turn off the feasibility pump heuristic, set the parameter to -1 (minus one). If the parameter is set to 1 (one), the feasibility pump tries to find a feasible solution without taking the objective function into account. If the parameter is set to 2, the heuristic usually finds solutions of better objective value, but is more likely to fail to find a feasible solution.


cpxControl.FRACCAND Any positive integer.


Default: 200

Description: Candidate limit for generating Gomory fractional cuts.

Limits the number of candidate variables for generating Gomory fractional cuts.


cpxControl.FRACCUTS -1 Do not generate Gomory fractional cuts

0 Automatically determined

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.


cpxControl.FRACPASS 0 Automatic

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, FRACCUTS, is set to a nonzero value.


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


cpxControl.HEURFREQ -1 None

0 Automatic

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.


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


cpxControl.INTSOLLIM Any positive integer


Default: Large (varies by computer)

Description: MIP solution limit.

Set the number of MIP solutions to be found before stopping.


cpxControl.ITLIM Any non-negative integer.


Default: Large (varies by computer)

Description: Simplex maximum iteration limit.

Sets the maximum number of iterations to be performed before the algorithm terminates without reaching optimality.


cpxControl.LBHEUR 0 Off

1 On


Default: 0

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 false; that is, it is off by default. 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.


cpxControl.LOCALIMPLBD -1 Do not generate locally valid implied bound cuts

0 Automatic: let CPLEX choose; default.

1 Generate locally valid implied bound cuts moderately

2 Generate locally valid implied bound cuts aggressively

3 Generate locally valid implied bound cuts very aggressively

Default: 0

Description: MIP locally valid implied bound cuts switch. Instructs CPLEX whether or not to generate locally valid implied bound cuts for the model. The default value 0 (zero) specifies that the attempt to generate locally valid implied bound cuts should continue only if it seems to be helping.
cpxControl.LPMETHOD 0 Automatic

1 Primal Simplex

2 Dual Simplex

3 Network Simplex

4 Barrier

5 Sifting

6 Concurrent Dual, Barrier and Primal


Default: 0

Description: Method for linear optimization.

Determines which algorithm is used. Currently, the behavior of the Automatic setting is that CPLEX almost always invokes the dual simplex method. The one exception is when solving the relaxation of an MILP model when multiple threads have been requested. In this case, the Automatic setting will use the concurrent optimization method. The Automatic setting may be expanded in the future so that CPLEX chooses the method based on additional problem characteristics.


cpxControl.MEMORYEMPHASIS 0 Off: Do not emphasize conservation of memory

1 On: Emphasize conservation of memory


Default: Off

Description: Memory setting.

Some information (that require a basis) may be unavailable when using this parameter.


cpxControl.MIPDISPLAY 0 No display

1 Display integer feasible solutions

2 Display nodes under MIPINTERVAL

3 Same as 2 with information on 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 nth 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 SIMDISPLAY setting. A setting of 5 additionally generates entries for the LP subproblems, also according to the SIMDISPLAY setting.


cpxControl.MIPEMPHASIS 0 [BALANCED] Balance optimality and feasibility

1 [FEASIBILITY] Emphasize feasibility over optimality

2 [OPTIMALITY] Emphasize optimality over feasibility

3 [BESTBOUND] Emphasize moving best bound

4 [HIDDENFEAS] Emphasize hidden feasibility


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 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 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 emphasis has difficulty finding solutions of acceptable quality.


cpxControl.MIPINTERVAL Any positive integer


Default: 100

Description: MIP node log interval

Controls the frequency of node logging when MIPDISPLAY is set higher than 1.


cpxControl.MIPORDIND 0 Off (do not use order information)

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


cpxControl.MIPORDTYPE 0 Do not generate a priority order

1 Use decreasing cost

2 Use increasing bound range

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


cpxControl.MIPSEARCH 0 Automatic: let CPLEX choose.

1 Apply traditional branch and cut strategy;

disable dynamic search

2 Apply dynamic search


Default: 0

Description: MIP dynamic search switch.

Sets the search strategy for a mixed integer program (MIP). By default, CPLEX chooses whether to apply dynamic search or conventional branch and cut based on characteristics of the model and presence (or absence) of callbacks. To benefit from dynamic search, a MIP must not include query callbacks.


cpxControl.MIQCPSTRAT 0 Automatic: let CPLEX choose.

1 Solve a QCP node relaxation at each node

2 Solve an LP node relaxation at each node


Default: 0

Description: MIQQ strategy switch.

Sets the strategy that CPLEX uses to solve a quadratically constrained mixed integer program (MIQQ). When you set this parameter to the value 1 (one), you tell CPLEX to solve a QCP node relaxation of the model at each node. When you set this parameter to the value 2, you tell CPLEX to attempt to solve only an LP node relaxation of the model at each node.


cpxControl.MIRCUTS -1 Do not generate MIR cuts

0 Automatically determined

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.


cpxControl.MPSLONGNUM 0: Write file in standard MPS format

1 Write with full precision (up to 15 digits)


Default: 1

Description: Degree of precision displayed in output files (MPS).

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.


cpxControl.NETDISPLAY 0 No display

1 Display true objective values

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


cpxControl.NETEPOPT Any number from 10-11 to 10-1


Default: 10-6

Description: Optimality tolerance for the network optimizer.

The optimality tolerance specifies the amount a reduced cost may violate the criterion for an optimal solution.


cpxControl.NETEPRHS Any number from 10-11 to 10-1


Default: 10-6

Description: Feasibility tolerance for the network optimizer.

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.


cpxControl.NETFIND 1 Extract pure network only

2 Try reflection scaling

3 Try general scaling


Default: 2 values

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.


cpxControl.NETITLIM Any non-negative integer


Default: Large (varies by computer)

Description: Network Simplex iteration limit.

Sets the maximum number of iterations to be performed before the algorithm terminates without reaching optimality.


cpxControl.NETPPRIIND 0 Automatic

1 Partial pricing

2 Multiple partial pricing

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


cpxControl.NODEFILEIND 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, 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 compressed and uncompressed form respectively, into a directory named by the WORKDIR parameter, and CPLEX actively manages which nodes remain in memory for processing. The use of node files is described in more detail in the CPLEX User's Manual.


cpxControl.NODELIM Any non-negative integer


Default: Large (varies by computer)

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 completes processing at the root; that is, cuts are created and heuristics are applied at the root, but no nodes are created. When the parameter is set to 1 (one), CPLEX branches at the root; that is, nodes are created but not solved.


cpxControl.NODESEL 0 Depth-first search

1 Best-bound search

2 Best-estimate search

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


cpxControl.NUMERICALEMPHASIS 0 Off: Do not emphasize extreme caution in computation

1 On: Emphasize extreme caution in computation


Default: Off

Description: Numerical emphasis.
cpxControl.NZREADLIM Any integer from 0 to 268 435 450


Default: 500

Description: Nonzero element read limit.

Sets the number of nonzeros that can be read.


cpxControl.OBJDIF Any number


Default: -1075

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 one found so far. The OBJDIFFERENCE 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.


cpxControl.OBJLLIM Any number


Default: -1075

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


cpxControl.OBJULIM Any number


Default: 1075

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


cpxControl.PARALLELMODE -1 Enable opportunistic parallel search mode

0 Automatic: let CPLEX decide whether to invoke deterministic or opportunistic search, depending on the threads parameter

1 Automatic: Enable deterministic parallel search mode


Default: 0

Description: Parallel mode switch.

See CPLEX Parallel Mode.


cpxControl.PERIND 0 Off

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


cpxControl.PERLIM 0 Determined automatically or, any positive integer


Default: 0

Description: Simplex perturbation limit.

Sets the number of stalled iterations before perturbation is performed.


cpxControl.POLISHTIME Any positive number in seconds


Default: 0

Description: Polishing best solution.

Regulates the amount of time spent on polishing the best solution found. During solution polishing, CPLEX applies its effort to improve the best feasible solution. Polishing can yield better solutions in some situations. The default value of the polishing time parameter is 0 (zero); that is, spend no time polishing.


cpxControl.POPULATELIM Any nonnegative integer


Default: 20

Description: Limit on number of solutions generated for the solution pool.

Limits the number of solutions generated for the solution pool during each call to the populate procedure. Populate stops when it has generated POPULATELIM solutions. A solution is counted if it is valid for all filters, consistent with the relative and absolute pool gap parameters, and has not been rejected by the incumbent callback (if any exists), whether or not it improves the objective of the model.


cpxControl.PPRIIND -1 Reduced-cost pricing

0 Hybrid reduced-cost & devex pricing

1 Devex pricing

2 Steepest-edge pricing

3 Steepest-edge pricing with slack initial norms

4 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


cpxControl.PREDUAL -1 Off

0 Automatic

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 DUAL indicator is set to 1, 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.


cpxControl.PREIND 0 Off (do not use presolve)

1 On (use presolve)


Default: 1

Description: Presolve indicator.

When set to 1, invokes the CPLEX Presolve to simplify and reduce problems.


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


cpxControl.PREPASS -1 Determined automatically

0 Do not use Presolve or, any positive integer Default: -1

Description: Limit on the number of Presolve passes made.

When set to a nonzero value, invokes the CPLEX Presolve to simplify and reduce problems. When set to a positive value, the 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.


cpxControl.PRESLVND -1 No node presolve

0 Automatic

1 Force node presolve

2 Probes all integer-infeasible variables at each node to find those that can be fixed


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.


cpxControl.PRICELIM 0 Determined automatically or, any positive integer


Default: 0 values

Description: Simplex pricing candidate list size.

Sets the maximum number of variables kept in the pricing candidate list.


cpxControl.PROBE -1 No probing

0 Automatic

1-3 Probing level


Default: 0

Description: MIP probe.

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.


cpxControl.PROBETIME Any positive number in seconds


Default: 1e75

Description: Amount of time spent on probing.
cpxControl.QPMAKEPSDIND 0 Off

1 On


Default: On

Description: Indefinite MIQP indicator.

Determines whether CPLEX will attempt to adjust a MIQP formulation, in which all the variables appearing in the quadratic term are binary. 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 formulations), to make it PSD, and will also attempt to tighten an already PSD matrix for better numerical behavior. The default setting of 1 means "yes" but you can turn it off if necessary; most models should benefit from the default setting.


cpxControl.QPMETHOD 0 Automatic

1 Primal Simplex

2 Dual Simplex

3 Network Simplex

4 Barrier


Default: 0

Description: Method for continuous quadratic optimization.

Determines algorithm. Currently, the behavior of the Automatic setting is that CPLEX invokes the barrier method for continuous QP models, and the dual simplex method for root relaxations of MIQP models. The Automatic setting may be expanded in the future so that CPLEX chooses the method based on additional problem characteristics.


cpxControl.QPNZREADLIM Any integer from 0 to 268 435 450


Default: 500

Description: QP Q matrix nonzero read limit.

Sets the number of Q matrix nonzeros that can be read.


cpxControl.QTOLININD -1 Automatic: let CPLEX decide, default.

0 Off: CPLEX does not linearize quadratic terms in the objective function of QP, MIQP

1 On: CPLEX linearizes quadratic terms in the objective function of QP, MIQP

Default: -1

Description: Linearization switch for QP and MIQP.

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

In a convex mixed integer quadratic program (MIQP), this parameter controls whether CPLEX linearizes the product of binary variables in the objective function during presolve. In a nonconvex quadratic program (QP) or mixed integer quadratic program (MIQP) solved to global optimality according to the solution target parameter, this parameter controls how CPLEX linearizes the product of bounded variables in the objective function during presolve. This parameter interacts with certain settings of the parameter solution target type:

When the solution target type is set to 1 (one) (that is, CPLEX searches for a globally optimal solution to a convex model), then in a convex MIQP, this linearization switch tells CPLEX to replace the product of a binary variable and a bounded linear variable by a linearly constrained variable. When the solution target type is set to 3, then in a nonconvex QP or nonconvex MIQP, this linearization switch controls the initial relaxation.


cpxControl.REDUCE 0 No primal and dual reductions

1 Only primal reductions

2 Only dual reductions

3 Both primal and dual reductions


Default: 3 values

Description: Primal and dual reduction type.

Determines whether primal reductions, dual reductions, or both, are performed during preprocessing.


cpxControl.REINV 0 Determined automatically

or, any integer from 1 to 10 000

Default: 0

Description: Simplex refactorization frequency.

Sets the number of iterations between refactorizations of the basis matrix.


cpxControl.RELAXPREIND -1 Determined automatically

0 Off (do not use presolve on initial relaxation)

1 On (use presolve on initial relaxation)


Default: -1

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.


cpxControl.RELOBJDIF Any integer from 0.0 to 1.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.


cpxControl.REPAIRTRIES Any positive integer


Default: 1

Description: Repair tries.

If a user provides a MIP start (full or partial) that cannot be extended into a feasible solution, CPLEX will try to repair it.


cpxControl.REPEATPRESOLVE -1 Automatic: Let CPLEX choose whether to re-apply presolve

0 Turn off repeat presolve

1 Repeat presolve without cuts

2 Repeat presolve with cuts

3 Repeat presolve with cuts and allow new root cuts


Default: -1

Description: MIP presolve setting.

How to re-apply the MIP presolve techniques of the preprocessor to a MIP model at the root after preprocessing has otherwise finished (that is, after cut generation at the root).


cpxControl.RINSHEUR -1 None

0 Automatic (default) or, any positive integer Default: 0

Description: Relaxation induced neighborhood search heuristic determines how often to apply the relaxation

induced neighborhood search heuristic (RINS heuristic). 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.


cpxControl.ROWREADLIM Any integer from 0 to 268 435 450


Default: Varies by computer

Description:
cpxControl.SCAIND -1 No scaling

0 Equilibrium scaling method

1 More aggressive scaling


Default: 0

Description: Scale parameter.

Sets the method to be used for scaling the problem matrix.


cpxControl.SCRIND 0 Off

1 On


Default: On

Description: Messages to screen indicator.

Indicates whether or not results messages are displayed on screen.


cpxControl.SIFTALG 0 Automatic

1 Primal Simplex

2 Dual Simplex

3 Network Simplex

4 Barrier


Default: 0

Description: Sifting subproblem algorithm.

Sets the algorithm to be used for solving sifting subproblems.


cpxControl.SIFTDISPLAY 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 sifting progress information to be displayed.


cpxControl.SIFTITLIM Any nonnegative integer


Default: BIGINT

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.


cpxControl.SIMDISPLAY 0 No iteration messages until solution

1 Iteration info after each refactorization

2 Iteration info for each iteration


Default: 1

Description: Simplex iteration display information.

Determines how often CPLEX reports during simplex optimization.


cpxControl.SINGLIM Any positive integer

Default: 10

Description: Simplex singularity repair limit.

Restricts the number of times CPLEX attempts to repair the basis when singularities are encountered. Once this limit is exceeded, CPLEX replaces the current basis with the best factorizable basis that has been found.


cpxControl.SOLNPOOLAGAP Any nonnegative real number.


Default: 1.0e+75

Description: Absolute gap for solution pool.

Sets an absolute tolerance on the objective bound for the solutions in the solution pool. Solutions that are worse (either greater in the case of a minimization, or less in the case of a maximization) than the objective of the incumbent solution according to this measure are not kept in the solution pool.


cpxControl.SOLNPOOLCAPACITY Any nonnegative integer; 0 (zero) turns off all features of the solution pool.


Default: 0

Description: Limit on the number of solutions kept in the solution pool.

Limits the number of solutions kept in the solution pool. At most, SOLNPOOLCAPACITY solutions will be stored in the pool. Superfluous solutions are managed according to the replacement strategy set by the solution pool replacement parameter (SOLNPOOLREPLACE). If the solution pool replacement parameter is set to its default value then the value that the user sets for the solution pool capacity parameter will be increased automatically in cases where the pool is extended.


cpxControl.SOLNPOOLGAP Any nonnegative real number.


Default: 1.0e+75

Description: Relative gap for the solution pool.

Sets a relative tolerance on the objective bound for the solutions in the solution pool. Solutions that are worse (either greater in the case of a minimization, or less in the case of a maximization) than the incumbent solution by this measure are not kept in the solution pool.


cpxControl.SOLNPOOLINTENSITY 0 Automatic: let CPLEX choose

1 Mild: generate few solutions quickly

2 Moderate: generate a larger number of solutions

3 Aggressive: generate many solutions and expect performance penalty

4 Very aggressive: enumerate all practical solutions


Default: 0

Description: Controls the trade-off between the number of solutions generated for the solution pool and the

amount of time or memory consumed. This parameter applies both to MIP optimization and to the populate procedure.

Values from 1 (one) to 4 invoke increasing effort to find larger numbers of solutions. Higher values are more expensive in terms of time and memory but are likely to yield more solutions.


cpxControl.SOLNPOOLREPLACE 0 Extend the pool if necessary to accommodate more solutions

1 Replace the first solution by the most recent solution; first in, first out

2 Replace the solution which has the worst objective

3 Replace solutions in order to build a set of diverse solutions


Default: 0

Description: Solution pool replacement strategy.

Designates the strategy for replacing a solution in the solution pool when the solution pool has reached its capacity.


cpxControl.SOLUTIONTARGET 0 Automatic; let CPLEX decide, default.

1 Searches for a globally optimal solution to a convex model.

2 Searches for a solution that satisfies first-order optimality conditions, but is not necessarily globally optimal.

3 Searches for a globally optimal solution to a nonconvex model; changes problem type to MIQP if necessary.


Default: 0

Description: Specifies the type of solution CPLEX attempts to compute when CPLEX solves a nonconvex, continuous or mixed integer quadratic model; that is, nonconvex QP or nonconvex MIQP. In other words, the variables of the model can be continuous or mixed integer and continuous; the objective function includes a quadratic term, and the objective function is not positive semi-definite (non PSD).

By default, CPLEX first attempts to compute a provably optimal solution to such a problem. If CPLEX cannot compute a provably optimal solution because the objective function is not convex, CPLEX terminates and returns the error 5002 (Q_NOT_POS_DEF).

When this parameter is set to 1 (one), CPLEX searches for a globally optimal solution to a convex model. In problems of type QP or MIQP, this setting interacts with linearization switch for QP, MIQP.

When this parameter is set to 2, CPLEX first attempts to compute a provably optimal solution. If CPLEX cannot compute a provably optimal solution because the objective function is not convex, CPLEX searches for a solution that satisfies first-order optimality conditions but is not necessarily globally optimal. In such a case, you can query the solution status to determine the kind of solution that CPLEX found.

When this parameter is set to 3, if the problem type is QP, CPLEX first changes the problem type to MIQP. CPLEX then solves the problem (whether originally QP or MIQP) to global optimality. In problems of type QP or MIQP, this setting interacts with linearization switch for QP, MIQP (QTOLININD).

Tip: When the value of this parameter is 3 (that is, you have instructed CPLEX to search for a globally optimal solution to a nonconvex QP or MIQP), then information about dual values is not available for the solution.


cpxControl.STARTALG 0 Automatic

1 Primal Simplex

2 Dual Simplex

3 Network Simplex

4 Barrier

5 Sifting

6 Concurrent Dual, Barrier and Primal


Default: 0

Description: MIP starting LP algorithm.

Determines which LP algorithm should be used to solve the initial relaxation of the MIP.


cpxControl.STRONGCANDLIM Any positive number


Default: 10

Description: MIP candidate list

Controls the length of the candidate list when using the "strong branching" variable selection setting (VARSEL 3).


cpxControl.STRONGITLIM Any positive number


Default: 0

Description: MIP simplex iterations

Controls the number of simplex iterations performed on each variable in the candidate list when using the

"strong branching" variable selection setting (VARSEL 3). The default setting 0 chooses the iteration limit automatically.


cpxControl.SUBALG 1 Primal Simplex

2 Dual Simplex

3 Network Simplex

4 Barrier

5 Sifting


Default: 2

Description: MIP subproblem LP algorithm.

Sets the algorithm to be used on MIP subproblems.


cpxControl.SUBMIPNODELIM Any positive integer.


Default: 500

Description: MIP subnode limit. Restricts the number of nodes searched, during application of the relaxation

induced neighborhood search (RINS) heuristic.


cpxControl.SYMMETRY -1 Determines automatically

0 Off

1 Moderate

2 Aggressive

3 Very aggressive

4 Highly aggressive

5 Extremely aggressive ++


Default: -1

Description: Symmetry breaking cuts.

Determines whether symmetry breaking cuts may be added, during the preprocessing phase, to a MIP model.


cpxControl.THREADS Minimum: 1

Maximum: determined by computer


Default: 0 (Determined by CPLEX)

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.


cpxControl.TILIM Any non-negative number


Default: 1075

Description: Global time limit.

Sets the maximum time, in seconds, for computations before termination, as measured according to the setting of the CLOCKTYPE parameter. The time limit applies to primal simplex, dual simplex, barrier, and mixed integer optimizations, as well as infeasibility finder computations. (Network simplex and barrier crossover operations are exceptions; these processes do not terminate if the time limit is exceeded.) The time limit includes preprocessing time. For 'hybrid' optimizations (such as network optimization followed by dual or primal simplex, barrier optimization followed by crossover), the cumulative time applies.


cpxControl.TRELIM Any non-negative number


Default: 1075

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.


cpxControl.TUNINGDISPLAY 0 Turn off display

1 Display standard, minimal reporting

2 Display standard report plus parameter settings being tried

3 Display exhaustive report and log


Default: 1

Description: Tuning information display.

Specifies the level of information reported by the tuning tool as it works.


cpxControl.TUNINGMEASURE 1 Mean average of time to compare different

parameter sets

2 Minmax approach to compare the time of different parameter sets


Default: 1

Description: Tuning measure.

Controls the measure for evaluating progress when a model is being tuned.


cpxControl.TUNINGREPEAT Any non-negative number


Default: 1

Description: Tuning repeater.

Specifies the number of times tuning is to be repeated on perturbed versions of a given problem. The problem is perturbed automatically by CPLEX permuting its rows and columns. This repetition is helpful when only one problem is being tuned, as repeated perturbation and re-tuning may lead to more robust tuning results.


cpxControl.TUNINGTILIM Any non-negative number


Default: 10000

Description: Tuning time limit.

Sets a time limit per model.


cpxControl.VARSEL -1 Branch on variable with minimum infeasibility

0 Branch variable automatically selected

1 Branch on variable with maximum infeasibility

2 Branch based on pseudo costs

3 Strong branching

4 Branch based on pseudo reduced costs


Default: 0

Description: MIP variable selection strategy.

Used to set 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 largest fractional value; the minimum infeasibility rule chooses the variable with the smallest fractional value. 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, which tend to produce faster overall times to reach the optimal integer solution. 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.


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


cpxControl.WORKMEM Any positive 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 files (see WORKDIR).


cpxControl.ZEROHALFCUTS -1 Do not generate zero-half cuts

0 Automatic: let CPLEX choose

1 Generate zero-half cuts moderately

2 Generate zero-half cuts aggressively


Default: 0

Description: MIP zero-half cuts switch.

Decides whether or not to generate zero-half cuts for the problem. The value 0 (zero), the default, specifies that the attempt to generate zero-half cuts should continue only if it seems to be helping. If you find that too much time is spent generating zero-half cuts for your model, consider setting this parameter to -1 (minus one) to turn off zero-half cuts. If the dual bound of your model does not make sufficient progress, consider setting this parameter to 2 to generate zero-half cuts more aggressively.