MOPS Parameter Options

List of Options

Option Name MPL Name Solver Param ParamNr Type Default Min Max
Bound Treatment BoundTreatment xbndha 4 list 0 1 2
Pricing Pricing xdjscl 15 list 1 0 3
LU Factorization Tolerance LUFactorizationTol xdropf 2 real 1e-12 0 1e-9
Zero Tolerance ZeroTolerance xdropm 4 real 1e-7 0 1e-4
LP Preprocessing Fill LPPreprocessingFill xfiltl 5 real 4 0 MAXREAL
Refactorization Frequency RefactorizationFreq xfrinv 18 int 100 1 200
Cholesky Memory CholeskyMemory xipmem 30 int 0 0 1
Crossover Level CrossoverLevel xipxov 31 list 2 0 3
LP Method PercentValue LPMethodPercentValue xipdua 28 int 150 0 MAXINT
Algorithm OptimizeAlgorithm xlptyp 36 list 2 0 4
Refactorization Level RefactorizationLevel IntLimit 13 real 2 1.1 5
Threads Threads xnproc 53 int 1 1 MAXINT
Cholesky Ordering CholeskyOrdering xoripm 56 list 0 0 4
Presolve Methods PresolveMethods xpreme 60 int 2047 0 8191
Use Preprocessing UsePreprocessing xrduce 64 list 2 0 2
MIP Absolute Gap MipAbsoluteGap xabgap 1 real 0 0 MAXREAL
Maximum Extra Columns MaxExtraColumns xadcol 1 int 0 0 MAXINT
Maximum Extra NZs MaxExtraNZs xadnon 2 int 400000 0 MAXINT
Maximum Extra Rows MaxExtraRows xadrow 3 int 2000 0 MAXINT
Dual Simplex Bounding DualSimplexBounding xbndha 4 list 0 0 2
Bound Reduction Level BoundReductionLevel xbndrd 5 list 0 -MAXINT MAXINT
Branching Strategy BranchingStrategy xbrheu 8 list 10 0 MAXINT
Use Clique Cuts UseCliqueCuts xclict 11 list 2 0 2
Coefficient Reduction CoefficientReduction xcored 12 list 1 0 2
Use CoverCuts UseCoverCuts xcovct 13 list 2 0 3
Use Gomory Cuts UseGomoryCuts xgomct 21 list 2 0 4
Use Euclidean Reduction UseEuclideanReduction xeucrd 16 flag 1 0 1
Flow Cuts FlowCuts xflwct list 4 0 5
Halt After X nodes HaltAfterXnodes xfrnod 20 int -1 -1 MAXINT
MIP Relative Gap MipRelativeGap xglgap 6 real 1 0 1
Gomory Density Level GomoryDensityLevel xgommc 22 int 6 0 MAXINT
MIP Heuristic MIPHeuristic xheutp 23 list -1 -1 5
Use Basic Fixing UseBasicFixing xhfinb 24 flag 1 0 1
Heuristic Termination HeuristicTermination xhgap 7 real 4 0 5
Down Integer FeasTol DownIntegerFeasTol xhrdlb 8 real 0.05 0.0 1.0
Up Integer FeasTol UpIntegerFeasTol xhrdub 9 real 0.95 0.0 1.0
Heuristic Time Limit HeuristicTimeLimit xhtlim 10 real 10.0 0.0 MAXREAL
Bound Implication Usage BoundImplicatUsage ximbnd 25 list 2 0 2
Deriving Implications DerivingImplications ximpli 26 list 2 0 2
LP Method At Nodes LPMethodAtNodes xiplpt 29 flag 1 0 1
LIFO Termination LIFOTermination xlifo 32 list 2 0 2
Local Search Type LocalSearchType xlocs 33 list 0 0 3
Use MIR Cuts UseMIRCuts xmirct 38 list 1 0 2
Use MIR Cuts UseMIRCuts xmirct 38 list 1 0 2
Node Heuristic Limit NodeHeuristicLimit xmnheu 40 int 50 0 MAXINT
Max Disk TreeSize MaxDiskTreeSize xmxdsk 15 real 100.0 0.0 MAXREAL
Branch N Cut Limit BranchNCutLimit xmxint 42 flag 1 0 1
Branch N Cut Time Limit BranchNCutTimeLimit xmxmin 16 real 120.0 0.0 MAXREAL
Branch N Cut Node Limit BranchNCutNodeLimit xmxnod 43 int 9999999 0 MAXINT
Max Processing Passes MaxProcessingPasses xmxpsu 44 int 10 0 MAXINT
Select Brand N Bound Alg SelectBrandNBoundAlg xnewbb 45 flag 0 0 1
Local Search Level LocalSearchLevel xnlbab 47 int 1000 0 MAXINT
Node Limit Local Search NodeLimitLocalSearch xnlstr 48 int 1000 0 MAXINT
Node Selection MipNodeSelect xnodse 49 list 3 -MAXINT 7
MIP Recomputation MIPRecomputation xnogap 50 flag 0 0 1
Build Integer Table BuildIntegerTable xnoitb 51 flag 0 0 1
Heuristic/LIFO Node Limit HeurLIFONodeLimit xnlstr 48 int 1000 0 MAXINT
Node Table Partitioning NodeTablePartitioning xparnd 59 int 1000 1 MAXINT
Partitioning Node Limit PartitioningNodeLimit xparnl 48 flag 0 0 1
Initialize PseudoCosts InitializePseudoCosts xpcini 59 list 1 0 2
Probing Probing xprlev 61 list 0 0 1
Range Con Conversion RangeConConversion xranha 59 flag 0 0 1
Min MIP Solution Improve MinMIPSolutionImprove xrimpr 59 real 0.0001 0.0 1.0
Output Level OutputLevel xoutlv 57 list 0 0 3
LP Time Limit LPTimeLimit xmxtlp 17 real 0 0 1


Description of Options

Bound Treatment

Restriction of bounds. Dual simplex needs restricted bounds for best performance. The default is set to 0 if IPM or primal simplex is used and to 1 if dual simplex is used.

Simplex (0) Reduced bounds during LP-preprocessing are relaxed at the end of LP (default when IPM is used).
Barrier (1) Reduced bounds during LP-preprocessing are kept.
Network (2) Extended bound reduction is used.

Pricing

Sets scaling of Reduced Costs.

None (0) No scaling of Reduced Costs in Pricing.
ModifiedDevex (1) Reduced Costs of non-basis variables are scaled (modified Devex).
Devex (2) Full Devex.
SteepestEdge (3) Steepest edge pricing

LU Factorization Tolerance

An element in a row or column will be set to 0 during the LU Factorization, if this value multiplied by a value of an element with the largest magnitude of a row or column.

Zero Tolerance

A matrix coefficient with a smaller magnitude than xdropm will be set to 0.0.

LP Preprocessing Fill

Determines how much fill is tolerated when using the aggregator during LP-preprocessing. If LP Preprocessing Fill is set to a higher value more fill is allowed. As a consequence the preprocessed matrix and its factorizations may have more nonzeros but fewer constraints.

Refactorization Frequency

A new LU-factorization in one of the simplex engines is computed after the value of Refactorization Frequency unless there are numerical problems or a significant amount of fill which makes it more efficient to recompute the LU factors.

Cholesky Memory

Specifies how the memory for the Cholesky factorization of the IPM-engine is allocated. 0 means it is allocated form the MOPS memory block. 1 means the memory is allocated dynamically outside of the MOPS memory block. Note, that the value of Cholesky Memory is only relevant if the IPM engine is used to solve the initial LP. Furthermore if xipmen is set to 1 the size of the MOPS memory block specified by xmreal will be reduced if it is set too large.

Crossover Level

Sets the crossover level when solving LPs with IPM.

None (0) No crossover after solving the starting LP with IPM
Primal (1) Only primal part of crossover.
PrimalFinish (2) Primal and dual part of crossover and primal simplex to finish.
DualFinish (3) Primal and dual part of crossover and dual simplex to finish.

LP Method PercentValue

specifies a percent value. If the ratio of the number of active rows and columns after LP-preprocessing is larger than LP Method PercentValue then the IPM-engine solves the dual LP.

Algorithm

Sets the algorithm used to solve the initial LP.

Primal (0) Primal Simplex
Dual (2) Primal Simplex.
Barrier (4) Interior point method.

Refactorization Level

A new LU Factorization will be calculated if the number of elements of the current LU Factorization divided by the number of elements of the last Factorization is greater than Refactorization Level.

Threads

Specifies how many processors should be used for the execution of the IPM-engine on a multiprocessor system. For example on an Intel Core Duo architecture Threads should be set to 2, resulting in a 40% reduction of the CPU-time. Note, that the value of Threads is only relevant if the IPM engine is used to solve the initial LP. Note, CP-time will increase if you specify Threads > 1 and the machine has less than xnproc processors.

Cholesky Ordering

Ordering strategy for the Cholesky factorization using the interior point method

Automatic (0) Automatic ordering.
MinDegree (1) Minimum degree.
MinLocalFill (2) Minimum local fill in.
Primal (3) Nested dissection.
MultiSection (4) Multi section ordering.

Presolve Methods

Presolve action control for LP Preprocessing. The bits of this value represent turning on or off individual presolve techniques. To get a particular form of the presolve, set xpreme to the sum of the values corresponding to the following presolve methods:

Singleton row check (0) Singleton rows are replaced by bounds on variables.
Singleton column check (1) Free (or implied free) singleton columns are eliminated from the problem.
Primal feasibility check (2) This process evaluates the possible minimum and maximum row values. Based on the results, it may detect redundant rows and fixes variables on their bound.
Cheap dual test (4) This procedure performs optimality tests based on the signs of the nonzero values of the columns.
Dual feasibility check (8) The same as the primal but on the dual problem. Bounds on the dual variables are tightened if possible.
Singleton row check (16) The same as the primal but on the dual problem. Bounds on the dual variables are tightened if possible.
Primal bound check and relaxation (32) This procedure detects hidden free variables in the problem.
Searching identical variables (64) This procedure detects splitted variables in the problem and replaces them with an appropriate one. The process also performs this check on the dual problem and removes duplicated rows.
Doubleton row check (128) This procedure generates free variables in doubleton rows. This procedure modifies the bounds of the variables. Therefore final dual slack values may not correspond to the original problem.
Aggregator (256) This procedure eliminates free variables.
Linear dependency check (512) This procedure detects linearly dependent rows in the constraint matrix.
Sparser (1024) This procedure makes the constraint matrix sparser. This procedure performs row transformations therefore may changes the dual values.
Bound restoring (2048) MOPS restores the original bounds on the variables after the aggregator if this bit is turned on. In such a case MOPS takes slightly more iterations in primal simplex or IPM in general, but in special cases improves numerical stability.
Extended dual test (4096) This procedure performs additional dual tests which may change the optimal solution. The optimal objective value is not changed. This procedure can therefore be turned on if only the optimal objective function value is important.

Use Preprocessing

Determines if preprocessing will be run.

None (0) No LP Preprocessing.
LP Preprocessing (2) LP Preprocessing.

MIP Absolute Gap

Absolute gap. The Branch and Bound search will be stopped if the best difference between the best MIP solution found so far and the best MIP bound is less than Absolute Gap.

Maximum Extra Columns

Maximum number of additional columns for extending the LP/IP model.

Maximum Extra NZs

Maximum number of additional nonzeros for LP and IP preprocessing.

Maximum Extra Rows

Maximum number of additional constraints for LP and IP preprocessing.

Dual Simplex Bounding

The dual simplex engine benefits from tight bounds derived during the LP-preprocessing. Dual Simplex Bounding determines the level of bound reduction and bound retaining after LP-preprocessing.

Level 0: (0) Tight bounds from LP are retained if the initial LP is solved by the dual simplex and the model is a pure LP-model.
Level 1: (1) As Level 0 but in addition an extended bound reduction is used to further tighten the bounds
Level 2: (2) As Level 1 but the extended bound reduction is also executed when the model is an IP-mode.

Bound Reduction Level

Level of bound reduction during supernode processing.

Level 0: (0) No bound reduction.
Level 1: (1) Bound reduction of all variables during supernode processing.
Level 2: (2) Bound reduction also during branch-and-bound (old).

Branching Strategy

Branching heuristic. Determines how a branching variable will be chosen.

Rounding Down (0) When minimizing (maximizing) a fractional IP variable with maximal (minimal) objective function coefficient will be set to the down rounded value.
Rounding Up (1) When minimizing (maximizing) a fractional IP variable with minimal (maximal) objective function coefficient will be set to the up rounded value.
Maximimizing Infeasibilities (2) Branch on most fractional IP-variable. Tie breaking rule is the best cost.
Branch on Objective cost (3) Branch on IP-variable with largest/smallest costs if minimization/maximization. The variable will be set to the down rounded value. Tie breaking rule is most fractional part.
Weighted Psuedocosts (5) Branch on fractional integer variable with largest weighted pseudo costs. Tie breaking rule is most fractional part.
Psuedocosts (6) Branch on fractional integer variable with the largest smallest pseudo costs. Tie breaking rule is most fractional part.

Use Clique Cuts

Determines if Cliques Cuts will be produced during Supernode Processing.

None (0) No Cliques will be derived.
Use logical (1) All Cliques will be saved and used during logical tests.
Full (2) Additionally to option 1, violated Clique Cuts at Supernodes will be added.

Coefficient Reduction

Sets coefficient reduction level during supernode processing.

None (0) No coefficient reduction.
Simple (1) Simple coefficient reduction.
Full (2) Extended coefficient reduction, based on Probing (can be time-consuming).

Use CoverCuts

Determines if and how Cover Cuts are derived at Supernodes and during branch-and-cut.

None (0) No Cover Cuts are derived.
Violated Cover Cuts (1) Violated Cover Cuts are derived only in the first Supernode branch.
Derived is solution improves (2) Cover Cuts are only derived when the objective function value improves.
At Supernode (3) Cover Cuts will be derived at each Supernode.

Use Gomory Cuts

Determines whether Gomory Mixed-Integer Cuts will be derived during Supernode Processing

None (0) No Cuts will be derived.
Limited Cuts (1) Cuts with a limited number of nonzero elements are derived.
Cut level (>1) The higher the value (max 4) the more cuts can be derived. Note, that cuts might be relatively dense, which slows down LP optimization at nodes.

Use Euclidean Reduction

Euclidean reduction of constraints during supernode processing.. The default is 1 meaning Euclidean reduction is used.

Flow Cuts

This parameter determines the level of flow cuts that should be derived.

Halt After X nodes

Determines if the Branch-and-Bound cut process is interrupted after reaching this node count. Default is -1 means no interruption in the Branch and Bound process.

MIP Relative Gap

Relative global gap. The Branch-and-Cut search will be stopped if the relative difference between the objective function value of the best integer solution and the objective function value of the best waiting node is less than MIP Relative Gap.

Gomory Density Level

Sets the density level for taking Gomory cuts into the matrix. A violated Gomory cut will only be added to the matrix if the sum of all nonzeros in all columns of the cut is smaller than Gomory Density Level * xn. The smaller value, the more restrictive is the use of cuts.

MIP Heuristic

Sets the IP heuristic to be used for the initial solution.

None (0) No heuristics is used.
Total Rounding (1) Total rounding; in every iteration all integer variables will be rounded to an integer value.
Local Branching (2) Local Branching.
RINS (3) Relaxation Induced Neighborhood Search (RINS) heuristic.
RSS (4) Relaxation-based Search Space (RSS) heuristic with LIFO.
RSS & RINS (5) RSS heuristic with RINS heuristic.

Use Basic Fixing

Determine whether a part of the none basics are fixed before the heuristic will start. The default is on.

Heuristic Termination

If the global gap in the heuristic is smaller than Heuristic Termination, the heuristic will be terminated. This parameter is only used if a heuristic is used.

Down Integer FeasTol

A fractional integer variable will be rounded down, if its fractional part is smaller than this tolerance parameter. This parameter is valid for the RINS- and RSS-heuristic.

Up Integer FeasTol

A fractional integer variable will be rounded up, if its fractional part is greater than this tolerance parameter. This parameter is valid for the RINS- and RSS-heuristic.

Heuristic Time Limit

Time limit in heuristic and is only relevant if a heuristic is used.

Bound Implication Usage

Determines the use of conditional bound Implications (only mixed integer models).

None (0) Bound Implications are not used.
At Supernode (1) Bound Implications are only used during Supernode Processing.
Full (2) Bound implications are also used during the Branch-and-Bound process.

Deriving Implications

Determines how implications, that have been derived by probing, will be used during Supernode Processing.

None (0) No implications will be derived.
Full Implications (1) All implications are derived and stored, they will be used in all logical tests.
Full Implications with Checks (2) Additionally to option 1 it will be checked if Implication Cut Levels violate LP solutions at Supernodes. If this is the case, cut levels will be derived and stored.

LP Method At Nodes

Sets the algorithm to be used to solve the LP at each node during the Branch-and-Bound process. Default is 1 means Dual Simplex will be used, 0 states Primal Simplex will be used.

LIFO Termination

Set type of mixed LIFO. Mixed LIFO is activated if Node Selection < 0.

Node Limit (0) End LIFO, if node limit is reached.
LP Inf/Integer (1) End LIFO, if LP inf. or integer.
Critical Value (2) end LIFO, if functional value is greater than critical value.

Local Search Type

Set type of mixed LIFO. Mixed LIFO is activated if Node Selection < 0.

None (0) No local search.
RINS (1) Relaxation induced neighborhood search (RINS).
Local branching (2) local branching.
Rounding (3) rounding in branch and bound.

Use MIR Cuts

This parameter determines if mixed integer rounding cuts should be derived during the super node processing.

None (0) MIR-cuts are not used.
At first Supernode (1) MIR-cuts are derived only at the first supernode.
Full (2) MIR-cuts are derived at every supernode.

Use MIR Cuts

This parameter determines if mixed integer rounding cuts should be derived during the super node processing.

None (0) MIR-cuts are not used.
At first Supernode (1) MIR-cuts are derived only at the first supernode.
Full (2) MIR-cuts are derived at every supernode.

Node Heuristic Limit

Sets number of nodes to be processed by the heuristics before the Branch-and-Bound process. This parameter is only relevant if heuristics are used.

Max Disk TreeSize

Maximum disk space in MB used for the node file during the Branch-and-Bound / Cut process.

Branch N Cut Limit

The branch-and-cut search is terminated when the value of Branch N Cut Limit is reached independent of any other search limitation such as CP-time (Branch N Cut Time Limit), node limit (Branch N Cut Node Limit), disk space or global gap(MIP Relative Gap).

Branch N Cut Time Limit

Maximum CPU time in minutes for the initial LP and the Branch-and-Bound process. The IP optimization will be stopped if xmxmin has been reached.

Branch N Cut Node Limit

Maximum number of nodes in Branch-and-Bound process. The IP optimization will be stopped after Branch N Cut Node Limit nodes.

Max Processing Passes

Max number of passes in Supernode Processing for improving the strength of the LP Relaxation. The Supernode Processing will be terminated after Max Processing Passes passes or if the objective function value does not change anymore.

Select Brand N Bound Alg

Indicate whether new branch and bound algorithm is executed. Default is 0, thus old Branch N bound used.

Local Search Level

Node limit in branch and bound before the next local search or mixed LIFO iteration starts. This parameter is only used in the new branch and bound and is only relevant if Node Selection < 0 or Local Search Type > 0.

Node Limit Local Search

Node limit during local search heuristic or mixed lifo strategy. This parameter is only used in the new branch and bound and is only relevant if Node Selection < 0 or Local Search Type > 0.

Node Selection

Sets the node selection strategy in the Branch-and-Bound process.

Mixed LIFO (<0) Mixed lifo strategy with a node selection.
LIFO (0) LIFO.
Best Obj Coeff (1) Chose node with best objective function coefficient.
Minimum Infeasibilities (2) Chose node with minimum sum of integer infeasibilities.
Best Projection/Obj Coeff (3) Best Projection, with xnodse = 2 until the first IP solution.
Best Projection (4) Best Projection.
Pseudo Costs (5) Chose node with best estimation based on pseudo costs.
Mix (6) Chose node until first IP solution with Minimum Infeasibilities, than with Pseudo Costs until gap is smaller than 5% and finally chose node with percentage error.
Subsequent Pseudo Costs (7) Best estimation based on pseudo costs, with Minimum Infeasibilities until first IP solution.

MIP Recomputation

Min MIP Solution Improve and MIP Relative Gap are set to default values of 1.d-4. If the IP-model has very large objective function values then it is possible that an optimal IP-solution cannot be found because Min MIP Solution Improve and MIP Relative Gap are relative values. These values are therefore recomputed after the initial supernode processing resulting possibly in smaller values. In such a case they replace the values of Min MIP Solution Improve and MIP Relative Gap. To prevent this recomputation and possible replacement xnogap can be set to 1.

Build Integer Table

Indicate whether integer table is build. The default is off.

Heuristic/LIFO Node Limit

Node limit during local search heuristic or mixed lifo strategy and is only relevant if Node Selection < 0 or Local Search Type > 0.

Node Table Partitioning

Set the partitioning type for the node table.

(<0) partitioning node table with |Node Table Partitioning|; start with partitioning, if node table is half filled
None (0) No partitioning
Functional Value (1) Partition node table with functional value.
Estimation/Functional Value (2) Partition node table with estimation and functional value.
Estimation (3) partition node table with estimation.

Partitioning Node Limit

Node limit for a partitioning update, if Node Table Partitioning <> 0.

Initialize PseudoCosts

Set the initialization type for pseudo costs.

To Zero (0) Initialize pseudo costs to zero
To xCost (1) initialize pseudo costs to xcost.
Solve LP Partially (2) Solve LP partially to compute pseudo costs.

Probing

Probing level. Probing tries to set binary variables, that are not fixed, to 0 or 1 and analyzes the resulting implications. In pure 0/1 models this technique can be very effective. In mixed integer models, probing is usually less efficient.

Fractional (0) Probing only for fractional 0/1 variables.
Full at Supernodes (1) Probing for all 0/1, but only at Supernodes.
Full at every node (2) Probing for all 0/1 variables at each node of the tree.

Range Con Conversion

Sets conversion of Range constraints that contain integer variables. The default is off.

Min MIP Solution Improve

After each IP solution found, The current upper bound will be set to best IP solution found - Min MIP Solution Improve * |best IP solution found| * xsscal, so the next integer solution must be Min MIP Solution Improve * 100% better than the previously found solution with objective function value best IP solution found. After the Branch-and-Bound process it will be proved, that the best solution found is maximal Min MIP Solution Improve * 100% away from the global optimum.

Output Level

Output level for logging. Controls creation of *.log and *.sta files.

No log (0) No logging, no statistics.
Write Stats file (1) Write statistic file after optimization, no log file.
Stats/Log file (2) Write statistic file and log file.
Extend Stats/Log (3) Write statistic file and log file with extended information. After each xfrlog iterations a information will be written to the log file.

LP Time Limit

Maximum CPU time in minutes for solving the initial LP. The optimization will be terminated after LP Time Limit minutes if no solution has been found until then.


Back To Top | Maximal Home Page | List of Solvers | Previous Page | Next Page