XA Parameter Options

List of Options

Option Name MPL Name Solver Param ParamNr Type Default Min Max
Algorithm OptimizeAlgorithm list 1 1 3
Decimal display Decimals Decimals int 5 0 12
Field size Fieldsize Fieldsize int 11 0 20
Limit search LimitSearch LimitSearch real 0 0 MAXREAL
Relative optimality gap MipRelativeGap RelGap real 0 0 100
Use presolve Presolve Presolve flag 1 0 1
Crash method Crash Crash list 0 0 3
Set element size ElemSize ElemSize real 1e-12 0.0 0.1
Log frequency FreqLog FreqLog int 1 0 60
Relative pivotal tolerance IntGap IntGap real 0.0 0 1.0
Integer solution Limit MipSolutionLimit IntLimit int 0 0 MAXINT
Integer variable fixing IntPct IntPct real 0.0 0.0 1.0
Iteration limit IterationLimit IterLimit int MAXINT 0 MAXINT
Node limit MipNodeLimit MaxNodes int MAXINT 0 MAXINT
Lower integer feasibility tolerance LTolerance LTolerance real 5e-6 5e-6 0.1
Upper integer feasibility tolerance UTolerance UTolerance real 5e-6 5e-6 0.1
Markovitz Markovitz Markovitz int 10 1 10000
Pricing policy Pricing Pricing list 3 3 4
Dual tolerance DualTol DualTol real 1e-7 0.0 0.1
Pivot rejection RejectPivot RejectPivot real 1e-6 0 0.1
Scaling Scaling Scaling list 1 0 2
Sprouts Sprouts Sprouts int 0 -MAXINT MAXINT
Prior branching limit StickWithIt StickWithIt list 10 0 MAXINT
Zero coefficient tolerance TCoeffTol TCoeffTol real 1e-7 0 0.1
Time limit SolTimeLimit TimeLimit int MAXINT 0 MAXINT
Primal tolerance PrimalTol PrimalTol real 1e-8 0 0.1
Marginal pivot value YPivot YPivot real 1e-10 0 0.1
Time limit after initial solution StopAfter StopAfter int 0 0 MAXINT
Branching strategy Strategy Strategy list 10 1 10
Branching variation Variation Variation list 0 0 5


Description of Options

Algorithm

The algorithm option selects which algorithm to use when solving LP problems.

Simplex (1) Use the Simplex method.
Barrier (2) Use the Barrier, interior point method.
Network (3) Use the Network Simplex method.

Decimal display

An option that states the number of digits to the right of the decimal point to be displayed.

Field size

Number of positions required to print a number.

Limit search

Limit search is used to limit the number of nodes to search by implicitly or explicitly stating a bound on the value of an integer solution. The integer solution obtained, if any, will have a functional value no worse than thelimit searchvalue. The next integer solution will have a monotonically improving objective function value until an optimal integer solution is found and if verified.

Relative optimality gap

The tolerance for the relative gap between the best integer objective solution found and the objective value of the worst open node remaining.

Use presolve

Prior to solving a model, XA attempts to simplify and reduce the size (number of rows, columns and non-zero coefficients). This is a boolean option that sets whether the presolver will be used in the optimization process

Crash method

Option that sets the Method of generating the initial basis.

Primal Infeasibility (0) Minimize primal infeasibility
Dual Infeasibility (1) Minimize dual infeasibility.
Primal/Dual Infeasibility (2) Both 0 & 1.
Slack Basis (3) All slack basis.

Set element size

Sets the smallest element that can be stored in the LU factors arrays. If the absolute value a number is less than element size it is consider zero (0.0). Extreme caution should be exercised when changing this value because of the overall effect on problem feasibility. Relative tolerance used to check if the current basic solution is primal feasible.

Log frequency

Sets the frequency in time to print the iteration log line.

Relative pivotal tolerance

Relative tolerance used to choose eligible pivotal elements of the simplex table.

Integer solution Limit

Sets the maximum number of integer feasible solutions to find. The default means there is no limit.

Integer variable fixing

Sets in percentage terms the amount of available integer variables to be fixed at each integer node. The default means no fixing is done, this feature can be useful on very large binary problems.

Iteration limit

Sets the maximum number of iterations to be performed on the problem.

Node limit

Sets the maximum number of branch and bound nodes to generate.

Lower integer feasibility tolerance

Sets the lower integer variable tolerance. This should always be set to a low value otherwise there is an increased chance of inaccurate integer feasible solutions.

Upper integer feasibility tolerance

Sets the upper integer variable tolerance. This should always be set to a low value otherwise there is an increased chance of inaccurate integer feasible solutions.

Markovitz

The Markowitz value is used during matrix inversion & updating the LU factors. During inversion, row and column factors are scanned for the largest & smallest numbers (in an absolute sense). The pivot element is chosen such that the ratio of the pivot element to these numbers is less than Markowitz value if possible. The larger Markowitz value is, the large will be this ratio, which leads to sparsity but can cause numeric instability. The best number of numeric stability is 1.0 which tends to leads to build-up (density) in the LU factors, which effect speed. So simply put - 1) A value of 1.0 is the best for numerical stability and the worst for density. 2) A value of 1000.0 is (can be) bad for numerical stability but good to maintain sparsity of LU factors.

Pricing policy

This sets the pricing strategies employed in the Simplex Methods in solving LPs.

Reduced Cost (0)
Automatic Devex (1)
Infeasible Devex (2)
Feasible Devex (3)
Combined Devex (4)

Dual tolerance

Sets the dual activity tolerance, the default value is close to zero and increase in this setting can effect the problem infeasibility.

Pivot rejection

After a column is selected to enter the basis, a column is selected to leave the basis to maintain model feasibility. If the absolute value of the selected outgoing column is marginal value is less than the pivot rejection value then this entering column is initially rejected and the search for another column to enter the basis is performed and the outgoing column selection is performed again until the pivot rejection value is exceeded. If all enter columns are rejected then the entering column with the largest marginal value is selected without regards to the pivot rejection value. Increasing this value, for example to 1.0e-4, improves numerical stability on numerically unstable models but increases solve times.

Scaling

Set the scaling technique to be used in the problem

None (0) The problem is not scaled.
Row/Column Scaling None (1) Both rows and columns in the problem are scaled.
Row Scaling (2) Only the rows of the problem are scaled.

Sprouts

When solving mixed integer models the Optimizer must decide when to generate a 'marker' on the branch and bound node tree. This 'marker' is used to very quickly return to this location and begin exploring other branch directions. The 'marker' table is scanned at regular intervals to try to improve integer solutions. The default value of zero means no markers are generated, a positive sprout value indicates the frequency of marker generation. Whereas a negative sprout value indicates the amount of reduction in the number of non-integer columns before a marker is generated.

Prior branching limit

Once an integer problem is solved, the basis file is reloaded to indicate branching direction for the current XA solve. This setting states the following branching advice will be implemented until the parameter number of infeasible branches have been made, before the standard branching strategy is employed.

Zero coefficient tolerance

Performing extensive calculations can result in round off errors, this setting sets the coefficient tolerance for zero. Thus the default value is 1e-7, any coefficient value during XA solve phase below or at this value will be set to zero.

Time limit

Sets the maximum amount of time in seconds for XA to solve the problem.

Primal tolerance

Sets the primal activity tolerance, the default value is close to zero and increase in this setting can effect the problem infeasibility.

Marginal pivot value

When selecting a column to leave the basis the column's marginal values that are less than marginal pivot value in a absolute sense are rejected. Making pivots with very small values can lead to numeric stability and should be avoid when possible while making pivots with to large a marginal pivot value to can lead to infeasible pivoting. Extreme caution should be exercised when changing this value because of the overall effect on problem feasibility.

Time limit after initial solution

Is the time in seconds to stop the solve once the initial integer feasible solution was found. The default is 0 meaning no limit is set.

Branching strategy

Sets the branch and bound strategy which defines the order in which the integer variables are processed during the search for integer solutions. Solution times can vary significantly with the method selected.

XA's Method (1) Uses XA's own proprietary method.
Obj Change (2) Variable selected base don the minimum change in the objective function.
Priority (3) Uses the priority ordering of the variables.
Closest Bound (4) Selects the integer variable closest to its bound.
Branch Up (6) Select variables that always branch up.
Branch down (7) Select variables that always branch up.
Farthest Bound (8) Selects the integer variable farthest from its bound..
Random (9) Uses a random method to select the branching variable.
Polytope smoothest (10) Selection based on the apparent smoothest sides on the resultant propblem polytope.

Branching variation

Each XA Branch and Bound strategy has a number of variations. Sometimes these variations reduce the solution time but may not yield the optimal integer solution.

A (0) This variation reduces the amount of time XA spends estimating the value of a would be integer solution. The values calculated are rough estimates.
B (1) This variation spends very little time calculating estimated integer solutions at each node and is the most radical in performance and integer solution.
C (2) Each time an improving integer solution is found XA splits the remaining node list in half based upon the length of the current list. This technique allows XA to search nodes that might not normally be explored. The reported integer solution value may not be the optimal integer solution because nodes may be eliminated that would lead to this solutions.
D (3) Each time an improving integer solution is found XA splits the remaining node list based upon the difference in current projected objective and the best possible objective value divided by two. This technique allows XA to search nodes that might not normally be explored. The reported integer solution value may not be the optimal integer solution because nodes may be eliminated that would lead to this solutions.
P (4) Each time a node is generated XA calculates the effects of each non-integer on future objective function values, which is calculation intensive. By assigning branching priorities to your integer variables XA will only perform this calculation on non-integer variable(s) with the lowest branching priority, which frequently reduces the number of calculations.

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