Initializing help system before first use

Reference Documentation by Topic/Functionality

Topics covered in this chapter:


This section lists all functions, controls, and attributes of the Optimizer by topics. The topics comprise problem creation, modification, and the solution process itself as well as querying the solution status and values to quickly get started with the Optimizer. Other intermediate and advanced topics include, but are not limited to Infeasibility analysis, solver customization through callback functions, or solving optimization problems with multiple objectives.

Every function, control or attribute in this section is displayed together with its main and perhaps a secondary topic label.

Barrier

Reference section for functions, controls, and attributes related to the Barrier Algorithm, which the Optimizer uses to solve linear programming problems (LPs) as standalone optimization problems or as relaxations during the Branch and Bound Search.

Barrier library functions

Declares a barrier iteration callback function, called after each iteration during the interior point algorithm, with the ability to access the current barrier solution/slack/duals or reduced cost values, and to ask barrier to stop.
[ Barrier, Callback]
Declares a barrier log callback function, called at each iteration during the interior point algorithm.
[ Barrier, Callback]
Provides a basic optimal solution for a given solution of an LP problem.
[ Barrier, LP]
Used to obtain the last barrier solution values following optimization that used the barrier solver.
[ Barrier, Solution]
Removes a barrier iteration callback function previously added by XPRSaddcbbariteration.
[ Barrier, Callback]
Removes a Newton barrier log callback function previously added by XPRSaddcbbarlog.
[ Barrier, Callback]

Barrier controls

The algorithm to be used for the final clean up step after the crossover.
[ Barrier, LP]
This control determines which barrier algorithm is used to solve the problem.
[ Barrier, LP, Primal Dual Hybrid Gradient]
If set to a positive integer it determines the number of physical CPU cores assumed to be present in the system by the barrier and hybrid gradient algorithms.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: This determines the type of crash used for the crossover.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for dual infeasibilities.
[ Barrier, Primal Dual Hybrid Gradient, Tolerances]
Newton barrier: The maximum number of consecutive iterations that fail to improve the solution in the barrier algorithm.
[ Barrier, Limits]
Defines how the barrier algorithm scales free variables.
[ Barrier]
Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for the relative duality gap.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier: The target tolerance for the relative duality gap.
[ Barrier]
Newton Barrier.
[ Barrier, Limits]
The maximum number of barrier iterations in which an iterative solver is used instead of the Cholesky decomposition.
[ Barrier]
Newton barrier: The maximum number of iterations.
[ Barrier, Limits]
Newton barrier: Defines how centrality is weighted in the barrier algorithm.
[ Barrier]
Threshold for the barrier to handle large bounds.
[ Barrier]
Defines how the barrier perturbs the objective.
[ Barrier]
Defines how the barrier scales the objective.
[ Barrier, Numerics]
Newton barrier: This controls the Cholesky factorization in the Newton-Barrier.
[ Barrier]
If set to a positive integer it determines the number of concurrent threads for the sparse matrix ordering algorithm in the Newton-barrier method.
[ Barrier, Parallel]
Newton barrier and hybrid gradient: This specifies the level of solution output provided.
[ Barrier, Logging, Primal Dual Hybrid Gradient]
Newton barrier: In numerically challenging cases it is often advantageous to apply perturbations on the KKT system to improve its numerical properties.
[ Barrier, Numerics]
Newton barrier: This bit-vector (see Section .) controls the Newton-Barrier specific presolve operations.
[ Barrier, Bit-vector, Presolve]
Newton barrier and hybrid gradient: This is a convergence parameter, indicating the tolerance for primal infeasibilities.
[ Barrier, Primal Dual Hybrid Gradient, Tolerances]
Newton barrier: After terminating the barrier algorithm, further refinement steps can be performed.
[ Barrier]
This bit-vector control (see Section .) determines how the barrier algorithm applies regularization on the KKT system.
[ Barrier, Bit-vector]
Defines how the barrier scales the right hand side.
[ Barrier, Numerics]
This determines whether the barrier has to decide which is the best solution found or return the solution computed by the last barrier iteration.
[ Barrier]
Controls the computation of the starting point and warm-starting for the Newton barrier and the hybrid gradient algorithms.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier: This sets a weight for the warm-start point when warm-start is set for the barrier algorithm.
[ Barrier]
Newton barrier: A convergence parameter, representing the minimal step size.
[ Barrier]
If set to a positive integer it determines the number of threads implemented to run the Newton-barrier and hybrid gradient algorithms.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
Newton barrier: type of Cholesky factorization used; bit-vector-control (see Section .).
[ Barrier, Bit-vector]
Newton barrier: The tolerance for pivot elements in the Cholesky decomposition of the normal equations coefficient matrix, computed at each iteration of the barrier algorithm.
[ Barrier]
Newton barrier and hybrid gradient: This control determines whether the barrier method will cross over to the simplex method when at optimal solution has been found, to provide an end basis (see XPRSgetbasis, XPRSwritebasis) and advanced sensitivity analysis information (see XPRSobjsa, XPRSrhssa, XPRSbndsa).
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier: This control determines how crossover adjusts the default relative pivot tolerance.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: The maximum number of iterations that will be performed in the crossover procedure before the optimization process terminates.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: a bit-vector (see Section .) for adjusting the behavior of the crossover procedure.
[ Barrier, Bit-vector, Primal Dual Hybrid Gradient]
Determines the maximum number of threads that parallel crossover is allowed to use.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
Newton barrier: Columns with more than DENSECOLLIMIT elements are considered to be dense.
[ Barrier, LP]
Determines if analytic centers should be computed and used for variable fixing and the generation of alternative reduced costs (-1: Auto 0: Off, 1: Fixing, 2: Redcost, 3: Both)
[ Barrier, Presolve]

Barrier attributes

Number of nonzeros in AA^T.
[ Barrier]
Convergence criterion for the Newton barrier algorithm.
[ Barrier]
Absolute condition measure calculated in the last iteration of the barrier algorithm.
[ Barrier]
Condition measure calculated in the last iteration of the barrier algorithm.
[ Barrier]
Indicates whether or not the basis crossover phase has been entered.
[ Barrier]
Number of dense columns found in the matrix.
[ Barrier]
Sum of the dual infeasibilities for the Newton barrier algorithm.
[ Barrier]
Dual objective value calculated by the Newton barrier algorithm.
[ Barrier]
Number of Newton barrier iterations.
[ Barrier]
Number of nonzeros in L resulting from the Cholesky factorization.
[ Barrier]
Sum of the primal infeasibilities for the Newton barrier algorithm.
[ Barrier]
Primal objective value calculated by the Newton barrier algorithm.
[ Barrier]
Number of linearly dependent binding constraints at the optimal barrier solution.
[ Barrier]
Regularized number of linearly dependent binding constraints at the optimal barrier solution.
[ Barrier]
Number of simplex iterations performed in crossover.
[ Barrier, LP]

Bit-vector

Reference section for all bit-vector controls of the Optimizer. See Section Bit-vector controls for more details on bit-vector controls.

Bit-vector controls

Bit-vector control (see Section .) to select which tasks to run in background jobs (for example in parallel to the root cut loop).
[ Bit-vector, Heuristics, Root]
Bit-vector control (see Section .) options for the hybrid gradient algorithm. Bits 1, 2 and 3 control which norms of the coefficient matrix are used for solution normalization. The normalization factor is the maximum of the selected norms. By default, or if all three bits are set to 0, the infinity norm is used. The omega parameter referenced in bits 4, 5 and 6 is a measure of the relative magnitudes of the objective and the right-hand side.
[ Bit-vector, Primal Dual Hybrid Gradient]
Newton barrier: This bit-vector (see Section .) controls the Newton-Barrier specific presolve operations.
[ Barrier, Bit-vector, Presolve]
This bit-vector control (see Section .) determines how the barrier algorithm applies regularization on the KKT system.
[ Barrier, Bit-vector]
Newton barrier: type of Cholesky factorization used; bit-vector-control (see Section .).
[ Barrier, Bit-vector]
This bit-vector control (see Section .) allows for the adjustment of returned solution values such that they are always within bounds.
[ Bit-vector, Numerics, Solution]
Simplex: This determines the type of crash used when the algorithm begins.
[ Bit-vector, LP, Simplex]
Newton barrier and hybrid gradient: a bit-vector (see Section .) for adjusting the behavior of the crossover procedure.
[ Barrier, Bit-vector, Primal Dual Hybrid Gradient]
A bit-vector (see Section .) providing detailed control of the cuts created for the root node of a MIP solve. Use TREECUTSELECT to control cuts during the tree search.
[ Bit-vector, Cuts, Root]
Bit-vector control (see Section .) for adjusting the behavior when a problem is dualized.
[ Bit-vector, LP]
This bit-vector control (see Section .) specifies the dual simplex strategy.
[ Bit-vector, LP, Simplex]
Bit-vector control (see Section .) to select which large neighborhood searches to run in the background (for example in parallel to the root cut loop).
[ Bit-vector, Heuristics, Root]
A bit-vector control (see Section .) for selecting which local search heuristics to apply on the root node of a MIP solve. Use HEURSEARCHTREESELECT to control local search heuristics during the tree search.
[ Bit-vector, Heuristics, Root]
A bit-vector control (see Section .) for selecting which local search heuristics to apply during the tree search of a MIP solve. Use HEURSEARCHROOTSELECT to control local search heuristics on the root node.
[ Bit-vector, Branch and Bound Search, Heuristics]
Selects which part of the restrictions (bounds, constraints, entities) should always be kept in an IIS.
[ Bit-vector, Infeasibility]
A bit-vector control (see Section .) which defines the algorithm for solving an LP problem or the initial LP relaxation of a MIP problem.
[ Bit-vector, LP, Root]
Branch and Bound: Type of integer processing to be performed.
[ Bit-vector, Branch and Bound Search, Presolve]
Modifies the behaviour of the optimizer when solving multi-objective problems.
[ Bit-vector, Multiobjective]
This bit-vector control (see Section .) specifies whether to randomly permute rows, columns and MIP entities when starting the presolve. With the default value 0, no permutation will take place.
[ Bit-vector, Presolve, Problem Transformation]
This bit-vector control (see Section .) specifies the operations which are performed during the presolve.
[ Bit-vector, Presolve]
This bit-vector control (see Section .) specifies whether to sort rows, columns and MIP entities by their names when starting the presolve. With the default value 0, no sorting will take place.
[ Bit-vector, Presolve, Problem Transformation]
Primal simplex: allows fine tuning the variable selection in the primal simplex solver.
[ Bit-vector, LP, Simplex]
Controls the behavior of the quadratic simplex solvers via a bit-vector (see Section .).
[ Bit-vector, Quadratic, Simplex]
This specifies when the solution refiner should be executed to reduce solution infeasibilities.
[ Bit-vector, Solution Refinement]
This bit-vector control (see Section .) determines how the Optimizer will rescale a model internally before optimization. If set to 0, no scaling will take place.
[ Bit-vector, Numerics, Problem Transformation]
A bit-vector (see Section .) providing detailed control of the cuts created during the tree search of a MIP solve. Use CUTSELECT to control cuts on the root node.
[ Bit-vector, Branch and Bound Search, Cuts]
A bit-vector (see Section .) providing control over how various tree-management-related messages get printed in the tree log file during the branch-and-bound search.
[ Bit-vector, Branch and Bound Search, Logging]

Bit-vector attributes

Problem status as a bit-vector (compare Section .).
[ Bit-vector, Presolve]

Branch and Bound Search

Reference section for functions, controls, and attributes related to the Branch and Bound Search.

Branch and Bound Search library functions

Declares a user infeasible node callback function, called after the current node has been found to be infeasible during the Branch and Bound search.
[ Branch and Bound Search, Callback]
Declares a callback function that will be called every time a new node is created during the branch and bound search.
[ Branch and Bound Search, Callback]
Declares a user node cutoff callback function, called every time a node is cut off as a result of an improved integer solution being found during the branch and bound search.
[ Branch and Bound Search, Callback]
Declares a callback function, called during the branch and bound search, after the LP relaxation has been solved for the current node, but before any internal cuts and heuristics have been applied.
[ Branch and Bound Search, Callback]
Declares an optimal node callback function, called during the branch and bound search, after the LP relaxation has been solved for the current node, and after any internal cuts and heuristics have been applied, but before the Optimizer checks if the current node should be branched.
[ Branch and Bound Search, Callback]
Declares a preprocess node callback function, called before the LP relaxation of a node has been optimized, so the solution at the node will not be available.
[ Branch and Bound Search, Callback]
Removes a user infeasible node callback function previously added by XPRSaddcbinfnode.
[ Branch and Bound Search, Callback]
Removes a new-node callback function previously added by XPRSaddcbnewnode.
[ Branch and Bound Search, Callback]
Removes a node-cutoff callback function previously added by XPRSaddcbnodecutoff.
[ Branch and Bound Search, Callback]
Removes a node callback function previously added by XPRSaddcbnodelpsolved.
[ Branch and Bound Search, Callback]
Removes a node-optimal callback function previously added by XPRSaddcboptnode.
[ Branch and Bound Search, Callback]
Removes a preprocess node callback function previously added by XPRSaddcbprenode.
[ Branch and Bound Search, Callback]

Branch and Bound Search controls

Branch and Bound: Specifies how to select the next node to work on when a full backtrack is performed.
[ Branch and Bound Search]
Branch and Bound: Specifies how to break ties when selecting the next node to work on when a full backtrack is performed.
[ Branch and Bound Search]
The number of nodes to include in the best-first search before switching to the local first search (NODESELECTION = 4).
[ Branch and Bound Search]
Branch and Bound: Specifies how cautious or aggressive the optimizer should be when searching for and applying conflict cuts.
[ Branch and Bound Search]
Branch and Bound: Sets the maximum depth in the tree search at which cuts will be generated.
[ Branch and Bound Search, Cuts]
Limit on the number of cuts and cut coefficients the optimizer is allowed to add to the matrix during tree search.
[ Branch and Bound Search, Cuts]
Branch and Bound: This specifies the frequency at which cuts are generated in the tree search.
[ Branch and Bound Search, Cuts]
Branch and Bound: This specifies the cut strategy.
[ Branch and Bound Search, Cuts]
This selects the algorithm that will be used to solve LPs, standalone or during MIP optimization.
[ Branch and Bound Search, LP]
Branch and Bound: Sets the maximum depth in the tree search at which heuristics will be used to find MIP solutions.
[ Branch and Bound Search, Heuristics]
Branch and Bound: This specifies the frequency at which heuristics are used in the tree search.
[ Branch and Bound Search, Heuristics]
Branch and Bound: This specifies how often the local search heuristic should be run in the tree.
[ Branch and Bound Search, Heuristics]
A bit-vector control (see Section .) for selecting which local search heuristics to apply during the tree search of a MIP solve. Use HEURSEARCHROOTSELECT to control local search heuristics on the root node.
[ Bit-vector, Branch and Bound Search, Heuristics]
Controls when to perform a local backtrack between the two child nodes during a dive in the branch and bound tree.
[ Branch and Bound Search]
Branch-and-Bound: How far back up the current dive path the optimizer is allowed to look for a local backtrack candidate node.
[ Branch and Bound Search]
Branch and Bound: The maximum number of nodes that will be explored.
[ Branch and Bound Search, Limits]
Branch and Bound: The amount to add to the objective function of the best integer solution found to give the new CURRMIPCUTOFF.
[ Branch and Bound Search, Limits]
Determines whether disconnected components in a MIP should be solved as separate MIPs.
[ Branch and Bound Search]
Sets the node limit for when a winning solve is selected when concurrent MIP solves are enabled.
[ Branch and Bound Search, Limits]
Selects the number of concurrent solves to start for a MIP.
[ Branch and Bound Search]
Branch and Bound: Specifies how often the optimizer should run a heuristic to reduce the number of fractional integer variables in the node LP solutions.
[ Branch and Bound Search, Root]
Branch and Bound: Specifies how frequently the basis condition number (also known as kappa) should be calculated during the branch-and-bound search.
[ Branch and Bound Search, Numerics]
Branch and Bound: Type of integer processing to be performed.
[ Bit-vector, Branch and Bound Search, Presolve]
Controls the strategy used by the parallel MIP solver during the ramp-up phase of a branch-and-bound tree search.
[ Branch and Bound Search]
Branch and Bound: controls strategy for in-tree restarts.
[ Branch and Bound Search]
Branch and Bound: Fine tune initial conditions to trigger an in-tree restart.
[ Branch and Bound Search]
Branch and Bound: Initial gap threshold to delay in-tree restart.
[ Branch and Bound Search]
Branch and Bound: How a MIP solve should be stopped on early termination when there are still active tasks in the system.
[ Branch and Bound Search, Limits]
If set to a positive integer it determines the number of threads implemented to run the parallel MIP code.
[ Branch and Bound Search, Parallel]
This control determines which algorithm is to be used to solve mixed integer quadratic constrained and mixed integer second order cone problems.
[ Branch and Bound Search, Quadratic]
Branch and Bound: This determines whether the callback routines are mutexed from within the optimizer.
[ Branch and Bound Search, Callback]
Adjusts the overall level of node probing.
[ Branch and Bound Search, Presolve]
Branch and Bound: This determines which nodes will be considered for solution once the current node has been solved.
[ Branch and Bound Search]
Indicates whether the optimization should restart using the current representation of the factorization in memory.
[ Branch and Bound Search, Simplex]
When writing nodes to the gloal file, the optimizer can try to use data-compression techniques to reduce the size of the tree file on disk.
[ Branch and Bound Search, File IO, Memory]
Branch and Bound: The number of rounds of lifted cover inequalities generated at nodes other than the root node in the tree.
[ Branch and Bound Search, Cuts]
A bit-vector (see Section .) providing detailed control of the cuts created during the tree search of a MIP solve. Use CUTSELECT to control cuts on the root node.
[ Bit-vector, Branch and Bound Search, Cuts]
A bit-vector (see Section .) providing control over how various tree-management-related messages get printed in the tree log file during the branch-and-bound search.
[ Bit-vector, Branch and Bound Search, Logging]
This control sets the interval between progress messages output while writing tree data to the tree file, in seconds.
[ Branch and Bound Search, Logging]
Branch and Bound: The number of rounds of Gomory cuts generated at nodes other than the first node in the tree.
[ Branch and Bound Search, Cuts]
When the memory used by the branch-and-bound search tree exceeds the limit specified by the TREEMEMORYLIMIT control, the optimizer will try to save memory by writing lower-rated sections of the tree to the tree file.
[ Branch and Bound Search, Memory]
Branch and Bound: Limit on the number of rounds of outer approximation cuts generated for nodes other than the root node, when solving a mixed integer quadratic constrained or mixed integer second order conic problem with outer approximation.
[ Branch and Bound Search, Quadratic]

Branch and Bound Search attributes

Number of outstanding nodes.
[ Branch and Bound Search]
A measure between 0 and 1 for how numerically unstable the problem is.
[ Branch and Bound Search, Numerics]
Value of the best bound determined so far by the MIP search.
[ Branch and Bound Search]
This attribute counts the number of times the optimal node callback set by XPRSaddcboptnode has been called for the current node, including the current callback call.
[ Branch and Bound Search, Callback]
The unique identifier of the current node in the tree search.
[ Branch and Bound Search]
The current MIP cut off.
[ Branch and Bound Search]
Largest basis condition number (also known as kappa) calculated through all nodes sampled by MIPKAPPAFREQ.
[ Branch and Bound Search, Numerics]
Objective function value of the best integer solution found.
[ Branch and Bound Search]
Number of integer infeasibilities, including violations of special ordered sets, at the current node.
[ Branch and Bound Search, MIP Entities]
Objective function value of the last integer solution found.
[ Branch and Bound Search, Solution]
Node at which the last integer feasible solution was found.
[ Branch and Bound Search, Solution]
Number of integer solutions that have been found.
[ Branch and Bound Search, Solution]
Time at which the last integer feasible solution was found.
[ Branch and Bound Search, Solution]
(MIP) solution status.
[ Branch and Bound Search]
The ID for the MIP thread.
[ Branch and Bound Search]
Depth of the current node.
[ Branch and Bound Search]
Number of nodes solved so far in the MIP search.
[ Branch and Bound Search]
Value of the (observed) primal integral.
[ Branch and Bound Search]
The parent node of the current node in the tree search.
[ Branch and Bound Search]
The peak size, in megabytes, that the branch-and-bound search tree reached during the solve.
[ Branch and Bound Search, Memory]
Total number of restarts performed.
[ Branch and Bound Search]
Estimation of the relative completion of the search tree as fraction between 0 and 1.
[ Branch and Bound Search]
The allocated size of the tree file, in megabytes.
[ Branch and Bound Search, Memory]
The number of megabytes of data from the branch-and-bound tree that have been saved to the tree file.
[ Branch and Bound Search, Memory]
The amount of physical memory, in megabytes, currently being used to store the branch-and-bound search tree.
[ Branch and Bound Search, Memory]
Number of in-tree restarts performed.
[ Branch and Bound Search]

Branching Object

Reference section for functions, controls, and attributes related to branching objects. Branching objects can be used to implement custom user branching strategies.

Branching Object library functions

Adds new bounds to a branch of a user branching object.
[ Branching Object]
Adds new, empty branches to a user defined branching object.
[ Branching Object]
Adds stored user cuts as new constraints to a branch of a user branching object.
[ Branching Object]
Adds new constraints to a branch of a user branching object.
[ Branching Object]
Creates a new user defined branching object for the Optimizer to branch on.
[ Branching Object]
Frees all memory for a user branching object, when the object was not stored with the Optimizer.
[ Branching Object]
Returns the bounds for a branch of a user branching object.
[ Branching Object]
Returns the number of branches of a branching object.
[ Branching Object]
Returns the unique identifier assigned to a branching object.
[ Branching Object]
Returns the last error encountered during a call to the given branch object.
[ Branching Object]
Returns the constraints for a branch of a user branching object.
[ Branching Object]
Specifies which of the child nodes corresponding to the branches of the object should be explored first.
[ Branching Object]
Sets the priority value of a user branching object.
[ Branching Object]
Adds a new user branching object to the Optimizer's list of candidates for branching.
[ Branching Object]
Verifies that a given branching object is valid for branching on the current branch-and-bound node of a MIP solve.
[ Branching Object]

Branching

Reference section for functions, controls, and attributes related to Branching. All of them affect how problems are subdivided to resolve infeasibilities during the Branch and Bound search.

Branching library functions

Declares a callback function that will be called after the selection of a MIP entity to branch on.
[ Branching, Callback]
Used to return the directives that have been loaded into a matrix.
[ Branching, Problem Information]
Loads directives into the current problem to specify which MIP entities the Optimizer should continue to branch on when a node solution is integer feasible.
[ Branching, Data Input]
Loads directives into the presolved matrix.
[ Branching, Data Input]
Reads a directives file to help direct the tree search.
[ Branching, File IO]
Removes a callback function previously added by XPRSaddcbchgbranchobject.
[ Branching, Callback]
Performs strong branching iterations on all specified bound changes.
[ Branching]
Performs strong branching iterations on all specified bound changes.
[ Branching]
Writes the tree search directives from the current problem to a directives file.
[ Branching, File IO]

Branching controls

Once a MIP entity has been selected for branching, this control determines which of the branches is solved first.
[ Branching]
Branch and Bound: Determines whether the optimizer should attempt to branch on general split disjunctions during the branch and bound search.
[ Branching]
Branch and Bound: Determines whether the optimizer should search for special structure in the problem to branch on during the branch and bound search.
[ Branching]
Limits the effort that is spent on creating cuts during spatial branching.
[ Branching, Global]
Whether spatial branchings on original variables should be preferred over branching on auxiliary variables that were introduced by the reformulation of the global solver.
[ Branching, Global]
Branch and Bound: How to update the pseudo cost for a MIP entity when a strong branch or a regular branch is applied.
[ Branching]
Branch and Bound: The default pseudo cost used in estimation of the degradation associated with an unexplored node in the tree search.
[ Branching]
Number of infeasible MIP entities to initialize pseudo costs for on each node.
[ Branching]
Adjusts the overall amount of effort when using strong branching to select an infeasible MIP entity to branch on.
[ Branching]
Branch and Bound: How to calculate pseudo costs from the local node when selecting an infeasible MIP entity to branch on.
[ Branching]
Number of dual iterations to perform the strong branching for each entity.
[ Branching, Limits]
The size of the candidate list of MIP entities for strong branching.
[ Branching]
Branch and Bound: This determines the formula used to calculate the estimate of each integer variable, and thus which integer variable is selected to be branched on at a given node.
[ Branching]

Branching attributes

The value of the branching variable at a node of the Branch and Bound tree.
[ Branching]
The branching variable at a node of the Branch and Bound tree.
[ Branching]

Callback

Reference section for functions, controls, and attributes related to the use of callback functions within the Optimizer. Callbacks enable the user to interact with the Optimizer at all stages of the solution process. For example, use callbacks to interrupt the search when a special condition is satisfied, to query or reject certain solutions while the solution process is still running, or to make custom problem modifications.

Callback library functions

Declares an output callback function in the global environment, called every time a line of message text is output by any data in the library.
[ Callback, Global Environment]
Removes a message callback function previously added by XPRS_ge_addcbmsghandler.
[ Callback, Global Environment]
Declares a callback which will be called after each objective in a multi-objective problem is solved.
[ Callback, Multiobjective]
Declares a barrier iteration callback function, called after each iteration during the interior point algorithm, with the ability to access the current barrier solution/slack/duals or reduced cost values, and to ask barrier to stop.
[ Barrier, Callback]
Declares a barrier log callback function, called at each iteration during the interior point algorithm.
[ Barrier, Callback]
Declares a callback which will be called before each objective in a multi-objective problem is solved.
[ Callback, Multiobjective]
Declares a callback function which is called every time the Optimizer checks if the time limit has been reached.
[ Callback, Limits]
Declares a callback function that will be called after the selection of a MIP entity to branch on.
[ Branching, Callback]
Declares a callback to be called when a solve executed in compute mode needs to be restarted.
[ Callback, Compute Interface]
Declares a cut log callback function, called each time the cut log is printed.
[ Callback, Logging]
Declares a callback function that is called when the Optimizer could separate cutting planes during the branch and bound search.
[ Callback, Cuts]
Declares a destroy MIP thread callback function, called every time a MIP thread is destroyed by the parallel MIP code.
[ Callback, Parallel]
Declares a gap notification callback, to be called when a MIP solve reaches a predefined target, set using the MIPRELGAPNOTIFY, MIPABSGAPNOTIFY, MIPABSGAPNOTIFYOBJ and/or MIPABSGAPNOTIFYBOUND controls.
[ Callback, Limits]
Declares a user infeasible node callback function, called after the current node has been found to be infeasible during the Branch and Bound search.
[ Branch and Bound Search, Callback]
Declares a user integer solution callback function, called every time an integer solution is found by heuristics or during the Branch and Bound search.
[ Callback, Solution]
Declares a simplex log callback function which is called after every LPLOG iterations of the simplex algorithm.
[ Callback, LP]
Declares an output callback function, called every time a text line relating to the given XPRSprob is output by the Optimizer.
[ Callback, Logging]
Declares a MIP log callback function, called each time the MIP log is printed.
[ Callback, Logging]
Declares a MIP thread callback function, called every time a MIP worker problem is created by the parallel MIP code.
[ Callback, Parallel]
Declares a callback function that will be called every time a new node is created during the branch and bound search.
[ Branch and Bound Search, Callback]
Declares a user node cutoff callback function, called every time a node is cut off as a result of an improved integer solution being found during the branch and bound search.
[ Branch and Bound Search, Callback]
Declares a callback function, called during the branch and bound search, after the LP relaxation has been solved for the current node, but before any internal cuts and heuristics have been applied.
[ Branch and Bound Search, Callback]
Declares an optimal node callback function, called during the branch and bound search, after the LP relaxation has been solved for the current node, and after any internal cuts and heuristics have been applied, but before the Optimizer checks if the current node should be branched.
[ Branch and Bound Search, Callback]
Declares a user integer solution callback function, called when an integer solution is found by heuristics or during the branch and bound search, but before it is accepted by the Optimizer.
[ Callback, Solution]
Declares a preprocess node callback function, called before the LP relaxation of a node has been optimized, so the solution at the node will not be available.
[ Branch and Bound Search, Callback]
Declares a callback to be called after presolve has been performed.
[ Callback, Presolve]
Declares a callback function to be called each time a solution added by XPRSaddmipsol has been processed.
[ Callback, Solution]
Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by XPRSaddcbcutround.
[ Callback, Cuts]
Copies callback functions defined for one problem to another.
[ Callback]
Returns the dual values dual value for this constraint from the solution associated with the current callback.
[ Callback, Solution]
Returns the dual values from the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the reduced costs from the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the slack values from the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the reduced costs reduced cost for this variable from the solution associated with the current callback.
[ Callback, Solution]
Returns the slack values slack value for this constraint from the solution associated with the current callback.
[ Callback, Solution]
Returns the primal values primal value for this variable from the solution associated with the current callback.
[ Callback, Solution]
Removes a callback function previously added by XPRSaddcbafterobjective.
[ Callback, Multiobjective]
Removes a barrier iteration callback function previously added by XPRSaddcbbariteration.
[ Barrier, Callback]
Removes a Newton barrier log callback function previously added by XPRSaddcbbarlog.
[ Barrier, Callback]
Removes a callback function previously added by XPRSaddcbbeforeobjective.
[ Callback, Multiobjective]
Removes a callback function previously added by XPRSaddcbchecktime.
[ Callback, Limits]
Removes a callback function previously added by XPRSaddcbchgbranchobject.
[ Branching, Callback]
Removes a computerestart callback function previously added by XPRSaddcbcomputerestart.
[ Callback, Compute Interface]
Removes a cut log callback function previously added by XPRSaddcbcutlog.
[ Callback, Logging]
Removes a cut round callback function previously added by XPRSaddcbcutround.
[ Callback, Cuts]
Removes a slave thread destruction callback function previously added by XPRSaddcbdestroymt.
[ Callback, Parallel]
Removes a callback function previously added by XPRSaddcbgapnotify.
[ Callback, Limits]
Removes a user infeasible node callback function previously added by XPRSaddcbinfnode.
[ Branch and Bound Search, Callback]
Removes an integer solution callback function previously added by XPRSaddcbintsol.
[ Callback, Solution]
Removes a simplex log callback function previously added by XPRSaddcblplog.
[ Callback, Logging]
Removes a message callback function previously added by XPRSaddcbmessage.
[ Callback, Logging]
Removes a MIP log callback function previously added by XPRSaddcbmiplog.
[ Callback, Logging]
Removes a callback function previously added by XPRSaddcbmipthread.
[ Callback, Parallel]
Removes a new-node callback function previously added by XPRSaddcbnewnode.
[ Branch and Bound Search, Callback]
Removes a node-cutoff callback function previously added by XPRSaddcbnodecutoff.
[ Branch and Bound Search, Callback]
Removes a node callback function previously added by XPRSaddcbnodelpsolved.
[ Branch and Bound Search, Callback]
Removes a node-optimal callback function previously added by XPRSaddcboptnode.
[ Branch and Bound Search, Callback]
Removes a pre-integer solution callback function previously added by XPRSaddcbpreintsol.
[ Callback, Solution]
Removes a preprocess node callback function previously added by XPRSaddcbprenode.
[ Branch and Bound Search, Callback]
Removes a presolve callback function previously added by XPRSaddcbpresolve.
[ Callback, Presolve]
Removes a user solution notification callback previously added by XPRSaddcbusersolnotify.
[ Callback, Solution]

Callback controls

Minimum delay in milliseconds between two consecutive executions of the CHECKTIME callback in the same solution process
[ Callback]
Minimum delay in work units between two consecutive executions of the CHECKTIME callback in the same solution process
[ Callback, Determinism]
Branch and Bound: specifies whether the MIP callbacks should only be called on the master thread.
[ Callback]
Branch and bound: if the gapnotify callback has been set using XPRSaddcbgapnotify, then this callback will be triggered during the tree search when the absolute gap reaches or passes the value you set of the MIPRELGAPNOTIFY control.
[ Callback]
Branch and bound: if the gapnotify callback has been set using XPRSaddcbgapnotify, then this callback will be triggered during the tree search when the best bound reaches or passes the value you set of the MIPRELGAPNOTIFYBOUND control.
[ Callback]
Branch and bound: if the gapnotify callback has been set using XPRSaddcbgapnotify, then this callback will be triggered during the tree search when the best solution value reaches or passes the value you set of the MIPRELGAPNOTIFYOBJ control.
[ Callback]
Branch and bound: if the gapnotify callback has been set using XPRSaddcbgapnotify, then this callback will be triggered during the branch and bound tree search when the relative gap reaches or passes the value you set of the MIPRELGAPNOTIFY control.
[ Callback]
Branch and Bound: This determines whether the callback routines are mutexed from within the optimizer.
[ Branch and Bound Search, Callback]
Setting SERIALIZEPREINTSOL to 1 will ensure that the preintsol callback is always fired in a deterministic order during a parallel MIP solve.
[ Callback, Determinism]

Callback attributes

This attribute counts the number of times the cut manager callback set by XPRSaddcbcutmgr has been called for the current node, including the current callback call.
[ Callback, Cuts]
This attribute counts the number of times the optimal node callback set by XPRSaddcboptnode has been called for the current node, including the current callback call.
[ Branch and Bound Search, Callback]

Compute Interface

Reference section for functions, controls, and attributes related to the Compute Interface.

Compute Interface library functions

Query whether the current application is allowed to use the Insight Compute interface.
[ Compute Interface, Global Environment]
Set whether the current application is allowed to use the Insight Compute interface.
[ Compute Interface, Global Environment]
Declares a callback to be called when a solve executed in compute mode needs to be restarted.
[ Callback, Compute Interface]
Removes a computerestart callback function previously added by XPRSaddcbcomputerestart.
[ Callback, Compute Interface]

Compute Interface controls

Controls whether the next solve is performed directly or on an Insight Compute Interface.
[ Compute Interface]
Selects the Insight execution service that will be used for solving remote optimizations.
[ Compute Interface]
Selects the priority that will be used for remote optimization jobs.
[ Compute Interface]
Controls how the run log is fetched when a solve is performed on an Insight Compute Interface.
[ Compute Interface]

Compute Interface attributes

The number of solves executed on a compute server.
[ Compute Interface]

Controls and Attributes

Reference section for functions related to setting and querying Controls and Attributes of the Optimizer. The Optimizer provides various problem and solution statistics in the form of user attributes. User controls govern the execution of the solution algorithms within the Optimizer.

Controls and Attributes library functions

Copies controls defined for one problem to another.
[ Controls and Attributes]
Displays the list of controls and their current value for those controls that have been set to a non default value.
[ Controls and Attributes]
Accesses the id number and the type information of an attribute given its name.
[ Controls and Attributes]
Accesses the id number and the type information of a control given its name.
[ Controls and Attributes]
Enables users to retrieve the values of various double problem attributes.
[ Controls and Attributes]
Retrieves the value of a given double control parameter.
[ Controls and Attributes]
Enables users to recover the values of various integer problem attributes.
[ Controls and Attributes]
Enables users to recover the values of various integer control parameters
[ Controls and Attributes]
Retrieves the value of a given double attribute associated with a multi-objective solve.
[ Controls and Attributes, Multiobjective]
Retrieves the value of a given double control parameter associated with an objective function.
[ Controls and Attributes, Multiobjective]
Function to access the type name of an object referenced using the generic Optimizer object pointer XPRSobject.
[ Controls and Attributes, Multiobjective]
Retrieves the value of a given integer attribute associated with a multi-objective solve.
[ Controls and Attributes, Multiobjective]
Retrieves the value of a given integer control parameter associated with an objective.
[ Controls and Attributes, Multiobjective]
Enables users to recover the values of various string problem attributes.
[ Controls and Attributes]
Returns the value of a given string control parameters.
[ Controls and Attributes]
Sets the value of a given double control parameter.
[ Controls and Attributes]
Sets a single control to its default value.
[ Controls and Attributes]
Sets all controls to their default values.
[ Controls and Attributes]
Sets the value of a given integer control parameter.
[ Controls and Attributes]
Sets the value of a given double control parameter associated with an objective.
[ Controls and Attributes, Multiobjective]
Sets the value of a given integer control parameter associated with an objective.
[ Controls and Attributes, Multiobjective]
Used to set the value of a given string control parameter.
[ Controls and Attributes]

Controls and Attributes controls

Select how user-set controls should affect local search heuristics.
[ Controls and Attributes, Heuristics]

Cuts

Reference section for functions, controls, and attributes related to cutting plane separation. Separation denotes the process of deriving new valid inequalities to strengthen the linear (LP) relaxation during the Branch and Bound Search.

Cuts library functions

Declares a callback function that is called when the Optimizer could separate cutting planes during the branch and bound search.
[ Callback, Cuts]
Adds cuts directly to the matrix at the current node.
[ Cuts]
Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by XPRSaddcbcutround.
[ Callback, Cuts]
During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes.
[ Cuts]
Deletes cuts from the matrix at the current node.
[ Cuts]
Returns a list of cut indices from the cut pool.
[ Cuts]
Returns cuts from the cut pool.
[ Cuts]
Retrieves a list of cut pointers for the cuts active at the current node.
[ Cuts]
Used to return in which rows a list of cuts are currently loaded into the Optimizer.
[ Cuts]
Used to calculate the slack value of a cut with respect to the current LP relaxation solution.
[ Cuts]
Loads cuts from the cut pool into the matrix.
[ Cuts, Data Input]
Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search.
[ Cuts, Problem Input]
Specifies that a set of rows in the matrix will be treated as model cuts.
[ Cuts, Data Input]
Removes a cut round callback function previously added by XPRSaddcbcutround.
[ Callback, Cuts]
Stores cuts into the cut pool, but does not apply them to the current node.
[ Cuts]

Cuts controls

Should the Optimizer automatically decide whether to generate cutting planes at local nodes in the tree or not? If the CUTFREQ control is set, no automatic selection will be made and local cutting will be enabled.
[ Cuts]
Branch and Bound: The number of rounds of lifted cover inequalities at the root node.
[ Cuts, Root]
Branch and Bound: Sets the maximum depth in the tree search at which cuts will be generated.
[ Branch and Bound Search, Cuts]
Limit on the number of cuts and cut coefficients the optimizer is allowed to add to the matrix during tree search.
[ Branch and Bound Search, Cuts]
Branch and Bound: This specifies the frequency at which cuts are generated in the tree search.
[ Branch and Bound Search, Cuts]
A bit-vector (see Section .) providing detailed control of the cuts created for the root node of a MIP solve. Use TREECUTSELECT to control cuts during the tree search.
[ Bit-vector, Cuts, Root]
Branch and Bound: This specifies the cut strategy.
[ Branch and Bound Search, Cuts]
Limit on the number of rounds of outer approximation and convexification cuts generated for the root node, when solving an (MI)NLP to global optimality.
[ Cuts, Global]
Specifies the maximum number of tangent cuts when setting up the initial relaxation during a global solve.
[ Cuts, Global]
Limit on the number of rounds of outer approximation and convexification cuts generated for each node in the tree, when solving an (MI)NLP to global optimality.
[ Cuts, Global]
Branch and Bound: The number of rounds of Gomory or lift-and-project cuts at the root node.
[ Cuts, Root]
Number of infeasible MIP entities to create lift-and-project cuts for during each round of Gomory cuts at the root node (see GOMCUTS).
[ Cuts, Root]
Number of iterations to perform in improving each lift-and-project cut.
[ Cuts, Limits]
The maximum amount of time allowed for generation of cutting planes and reoptimization.
[ Cuts, Limits]
Level of Multi-Commodity Flow (MCF) cutting planes separation: This specifies how much aggresively MCF cuts should be separated.
[ Cuts]
Branch and Bound: Limit on the number of rounds of outer approximation cuts generated for the root node, when solving a mixed integer quadratic constrained or mixed integer second order conic problem with outer approximation.
[ Cuts, Quadratic]
Determines whether RLT cuts should be separated in the Xpress Global Solver.
[ Cuts, Quadratic]
Branch and Bound: The number of rounds of lifted cover inequalities generated at nodes other than the root node in the tree.
[ Branch and Bound Search, Cuts]
A bit-vector (see Section .) providing detailed control of the cuts created during the tree search of a MIP solve. Use CUTSELECT to control cuts on the root node.
[ Bit-vector, Branch and Bound Search, Cuts]
Branch and Bound: The number of rounds of Gomory cuts generated at nodes other than the first node in the tree.
[ Branch and Bound Search, Cuts]

Cuts attributes

This attribute counts the number of times the cut manager callback set by XPRSaddcbcutmgr has been called for the current node, including the current callback call.
[ Callback, Cuts]
Number of rounds of cuts applied to the current node of a branch-and-bound search.
[ Cuts]
Number of cuts being added to the matrix.
[ Cuts]

Data Input

Reference section for functions, controls, and attributes related to the input of auxiliary data into the Optimizer. While not strictly necessary, auxiliary data can be used to customize the solution process.

Data Input library functions

Loads a basis from the user's areas.
[ Data Input, LP]
Loads directives into the current problem to specify which MIP entities the Optimizer should continue to branch on when a node solution is integer feasible.
[ Branching, Data Input]
Loads cuts from the cut pool into the matrix.
[ Cuts, Data Input]
Loads directives into the matrix.
[ Data Input]
Loads an LP solution for the problem into the Optimizer.
[ Data Input, LP, Solution]
Loads a starting MIP solution for the problem into the Optimizer.
[ Data Input, MIP Entities, Solution]
Specifies that a set of rows in the matrix will be treated as model cuts.
[ Cuts, Data Input]
Loads a presolved basis from the user's areas.
[ Data Input, LP]
Loads directives into the presolved matrix.
[ Branching, Data Input]
Allows the user to mark rows and columns in order to prevent the presolve removing these rows and columns from the matrix.
[ Data Input, Presolve]

Determinism

Reference section for functions, controls, and attributes affecting determinism. In its default settings, the Optimizer behaves deterministically - every invocation of the solution routines for the same input data results not only in the same final solution, but also in a reproducible solution path. This is true even in parallel and independent of the system specs (CPU architecture, number of threads, Operating System) where the process is launched. The controls in this group can be used to drop this reproducibility and should hence be used with utmost care.

Determinism controls

Minimum delay in work units between two consecutive executions of the CHECKTIME callback in the same solution process
[ Callback, Determinism]
Selects whether to use a deterministic or opportunistic mode when solving a problem using multiple threads.
[ Determinism]
Branch-and-Bound: The maximum number of tasks to run in parallel during a MIP solve.
[ Determinism, Limits, Parallel]
Sets the initial seed to use for the pseudo-random number generator in the Optimizer.
[ Determinism]
Controls whether the optimizer is allowed to make nondeterministic decisions if memory is running low in an effort to preserve memory and finish the solve.
[ Determinism, Memory]
Setting SERIALIZEPREINTSOL to 1 will ensure that the preintsol callback is always fired in a deterministic order during a parallel MIP solve.
[ Callback, Determinism]
The maximum work (measured in work units) that the Optimizer will run before it terminates.
[ Determinism, Limits]

Determinism attributes

Amount of deterministic algorithmic "work" spent since the invocation of the search process.
[ Determinism, Solution Process]

File IO

Reference section for functions, controls, and attributes related to File IO. Use these functions to write and read data from disk into the Optimizer.

File IO library functions

Writes an LP/MPS/CSV file containing a given Irreducible Infeasible Set (IIS).
[ File IO, Infeasibility]
Instructs the Optimizer to read in a previously saved basis from a file.
[ File IO, LP]
Reads a solution from a binary solution file.
[ File IO, Solution]
Reads a directives file to help direct the tree search.
[ Branching, File IO]
Reads an (X)MPS or LP format matrix from file.
[ File IO, Problem Creation]
Reads an ASCII solution file .slx created by the XPRSwriteslxsol function.
[ File IO, Solution]
Restores the Optimizer's data structures from a file created by XPRSsave (SAVE).
[ File IO, Save Restore]
Saves the current data structures to file and terminates the run
[ File IO, Save Restore]
This directs all Optimizer output to a log file.
[ File IO, Logging]
This function loads a user defined tuner method from the given file.
[ File IO, Tuner]
This function writes the current tuner method to a given file or prints it to the console.
[ File IO, Tuner]
Writes the current basis to a file for later input into the Optimizer.
[ File IO, LP]
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
[ File IO, Solution]
Writes the tree search directives from the current problem to a directives file.
[ Branching, File IO]
Writes the current problem to an MPS or LP file.
[ File IO]
Writes the current solution to a fixed format ASCII file, problem_name .prt.
[ File IO, Solution]
Creates an ASCII solution file (.slx) using a similar format to MPS files. These files can be read back into the Optimizer using the XPRSreadslxsol function.
[ File IO, Solution]
Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr).
[ File IO, Solution]

File IO controls

Check input arrays for bad data.
[ File IO, Problem Creation]
If characters illegal to an mps or lp file should be escaped to guarantee readability, and whether escaped characters should be transformed back when reading such a file.
[ File IO]
Certain names in the problem object may be incompatible with different file formats (such as names containing spaces for LP files).
[ File IO]
The tolerance on input values elements.
[ File IO, Problem Creation, Tolerances]
The maximum number of seconds to wait for an I/O operation before it is cancelled.
[ File IO, Limits]
How nonbinding rows should be handled by the MPS reader.
[ File IO, Problem Creation]
The maximum size, in megabytes, to which the tree file may grow, or 0 for no limit.
[ File IO, Limits]
Provides compatibility of MPS file output for older MPS readers.
[ File IO]
When reading an MPS file, this control determines which entries from the BOUNDS section will be read.
[ File IO]
Determines whether comments in MPS matrix files are to be printed out during matrix input.
[ File IO]
Specifies the format of MPS files.
[ File IO]
When reading an MPS file, this control determines which neutral row will be read as the objective function.
[ File IO]
When reading an MPS file, this control determines which entries from the RANGES section will be read.
[ File IO]
When reading an MPS file, this control determines which entries from the RHS section will be read.
[ File IO]
Mask to restrict the row and column names written to file.
[ File IO]
Zero tolerance on print values.
[ File IO, Tolerances]
When writing nodes to the gloal file, the optimizer can try to use data-compression techniques to reduce the size of the tree file on disk.
[ Branch and Bound Search, File IO, Memory]
Tuner: Defines a file from which the tuner can read user-defined tuner method.
[ File IO, Tuner]
Tuner: Whether to output tuner results and logs to the file system.
[ File IO, Tuner]
Tuner: Defines a root path to which the tuner writes the result file and logs.
[ File IO, Tuner]

File IO attributes

Active range name.
[ File IO]
Active right hand side name.
[ File IO]

Global Environment

Reference section for functions, controls, and attributes related to the Global Environment, which acts mainly as a license guard around all Optimizer functionality.

Global Environment library functions

Declares an output callback function in the global environment, called every time a line of message text is output by any data in the library.
[ Callback, Global Environment]
Query whether the current application is allowed to use the Insight Compute interface.
[ Compute Interface, Global Environment]
Returns the last error encountered during a call to the Xpress global environment.
[ Global Environment]
Removes a message callback function previously added by XPRS_ge_addcbmsghandler.
[ Callback, Global Environment]
Sets whether to force the same execution path on various CPU architecture extensions, in particular (pre-)AVX and AVX2.
[ Global Environment]
Set whether the current application is allowed to use the Insight Compute interface.
[ Compute Interface, Global Environment]

Global

Reference section for functions, controls, and attributes related to the Global MINLP solver.

Global controls

If a nonlinear problem cannot be solved due to appearing unbounded, it can automatically be regularized by the application of a bounding box on the variables.
[ Global]
When integer-feasible (for MINLP, any solution for NLP) but nonlinear-infeasible solutions are encountered within a global solve, the integer variables can be fixed and a local solver (as defined by the LOCALSOLVER control) can be called on the remaining continuous problem.
[ Global, Heuristics]
Limit on the number of rounds of outer approximation and convexification cuts generated for the root node, when solving an (MI)NLP to global optimality.
[ Cuts, Global]
Specifies the maximum number of tangent cuts when setting up the initial relaxation during a global solve.
[ Cuts, Global]
Limits the effort that is spent on creating cuts during spatial branching.
[ Branching, Global]
Whether spatial branchings on original variables should be preferred over branching on auxiliary variables that were introduced by the reformulation of the global solver.
[ Branching, Global]
Limits the effort that is spent on propagation during spatial branching.
[ Global, Propagation]
Limit on the number of rounds of outer approximation and convexification cuts generated for each node in the tree, when solving an (MI)NLP to global optimality.
[ Cuts, Global]

Global attributes

Whether a bounding box equal to the absolute value of the GLOBALBOUNDINGBOX control was applied to the problem after the initial solve came back infeasible and if so, to which variables.
[ Global]
Number of nonlinear infeasibilities at the current node of a global solve, measured as the number of violated atomic formulas.
[ Global]

Heuristics

Reference section for functions, controls, and attributes related to Primal Heuristics, which are auxiliary search algorithms for quickly finding improving solutions during the Branch and Bound Search.

Heuristics controls

Bit-vector control (see Section .) to select which tasks to run in background jobs (for example in parallel to the root cut loop).
[ Bit-vector, Heuristics, Root]
MIP: Decides if the Feasibility Jump heuristic should be run.
[ Heuristics]
Branch and Bound: Decides if the Feasibility Pump heuristic should be run at the root node.
[ Heuristics]
When integer-feasible (for MINLP, any solution for NLP) but nonlinear-infeasible solutions are encountered within a global solve, the integer variables can be fixed and a local solver (as defined by the LOCALSOLVER control) can be called on the remaining continuous problem.
[ Global, Heuristics]
Branch and Bound: Determines whether primal heuristics should be run before the initial LP relaxation has been solved.
[ Heuristics]
Branch and Bound: Sets the maximum depth in the tree search at which heuristics will be used to find MIP solutions.
[ Branch and Bound Search, Heuristics]
Branch and Bound: Simplex iteration limit for reoptimizing during the diving heuristic.
[ Heuristics, Limits]
The level of randomization to apply in the diving heuristic.
[ Heuristics]
Branch and Bound: Enables a more cautious strategy for the diving heuristic, where it tries to push binaries and integer variables to their bounds using the objective, instead of directly fixing them.
[ Heuristics]
Branch and Bound: Changes the emphasis of the diving heuristic from solution quality to diving speed.
[ Heuristics]
Branch and Bound: Chooses the strategy for the diving heuristic.
[ Heuristics]
Branch and Bound: This control specifies an emphasis for the search w.r.t. primal heuristics and other procedures that affect the speed of convergence of the primal-dual gap. For problems where the goal is to achieve a small gap but not neccessarily solving them to optimality, it is recommended to set HEUREMPHASIS to 1. This setting triggers many additional heuristic calls, aiming for reducing the gap at the beginning of the search, typically at the expense of an increased time for proving optimality.
[ Heuristics]
Branch and Bound: This specifies whether local search heuristics without objective or with an auxiliary objective should always be used, despite the automatic selection of the Optimiezr.
[ Heuristics]
Branch and Bound: This specifies the frequency at which heuristics are used in the tree search.
[ Branch and Bound Search, Heuristics]
Branch and Bound: This specifies the maximum number of heuristic solutions that will be found in the tree search.
[ Heuristics]
Branch and Bound: This specifies the maximum number of nodes at which heuristics are used in the tree search.
[ Heuristics]
Bit-vector control (see Section .) to select which large neighborhood searches to run in the background (for example in parallel to the root cut loop).
[ Bit-vector, Heuristics, Root]
Select how user-set controls should affect local search heuristics.
[ Controls and Attributes, Heuristics]
Adjusts the overall level of the local search heuristics.
[ Heuristics]
Branch and Bound: This specifies how often the local search heuristic should be run in the tree.
[ Branch and Bound Search, Heuristics]
How frequently to run the local search heuristic during root cutting.
[ Heuristics, Root]
A bit-vector control (see Section .) for selecting which local search heuristics to apply on the root node of a MIP solve. Use HEURSEARCHTREESELECT to control local search heuristics during the tree search.
[ Bit-vector, Heuristics, Root]
A bit-vector control (see Section .) for selecting which local search heuristics to apply during the tree search of a MIP solve. Use HEURSEARCHROOTSELECT to control local search heuristics on the root node.
[ Bit-vector, Branch and Bound Search, Heuristics]
Determines whether the Shift-and-propagate primal heuristic should be executed.
[ Heuristics]
Branch and Bound: The number of threads to dedicate to running heuristics during the root solve.
[ Heuristics, Parallel]
Dial for the work spent during the Pre-root parallel heuristic phase.
[ Heuristics, Limits, Parallel]
Specifies an explicit number of threads that should be used for the Pre-root parallel heuristic phase.
[ Heuristics, Memory, Parallel]
Set an explicit work limit in work units for the Pre-root parallel heuristic phase.
[ Heuristics, Limits, Parallel]
Determines how much effort to put into running a local search heuristic to find a feasible integer solution from a partial or infeasible user solution.
[ Heuristics]

Infeasibility

Reference section for functions, controls, and attributes related to Infeasibility handling. Whenever a problem is infeasible, IIS routines can help to isolate information about the infeasibility. Further API functions help in repairing an infeasibility.

Infeasibility library functions

Returns information for an Irreducible Infeasible Set: size, variables and constraints (row and column vectors), and conflicting sides of the variables.
[ Infeasibility]
Performs an automated search for independent Irreducible Infeasible Sets (IIS) in an infeasible problem.
[ Infeasibility]
Resets the search for Irreducible Infeasible Sets (IIS).
[ Infeasibility]
Initiates a search for an Irreducible Infeasible Set (IIS) in an infeasible problem.
[ Infeasibility]
Performs the isolation identification procedure for an Irreducible Infeasible Set (IIS).
[ Infeasibility]
Continues the search for further Irreducible Infeasible Sets (IIS), or calls XPRSiisfirst (IIS) if no IIS has been identified yet.
[ Infeasibility]
Prints a given Irreducible Infeasible Set (IIS) in the log.
[ Infeasibility, Logging]
Returns statistics on the Irreducible Infeasible Sets (IIS) found so far by XPRSiisfirst (IIS), XPRSiisnext (IIS -n) or XPRSiisall (IIS -a).
[ Infeasibility]
Writes an LP/MPS/CSV file containing a given Irreducible Infeasible Set (IIS).
[ File IO, Infeasibility]
Provides a simplified interface for XPRSrepairweightedinfeas.
[ Infeasibility]
By relaxing a set of selected constraints and bounds of an infeasible problem, it attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds.
[ Infeasibility]
An extended version of XPRSrepairweightedinfeas that allows for bounding the level of relaxation allowed.
[ Infeasibility]

Infeasibility console functions

IIS
Console IIS command.
[ Infeasibility]
An extended version of XPRSrepairweightedinfeas that allows for bounding the level of relaxation allowed.
[ Infeasibility]

Infeasibility controls

Selects how much information should be printed during the IIS procedure.
[ Infeasibility, Logging]
Selects which part of the restrictions (bounds, constraints, entities) should always be kept in an IIS.
[ Bit-vector, Infeasibility]
This function controls the number of Irreducible Infeasible Sets to be found using the XPRSiisall (IIS -a).
[ Infeasibility, Limits]
Overall time limit for the repairinfeas tool
[ Infeasibility, Limits]

Infeasibility attributes

IIS solution status.
[ Infeasibility]
Number of IISs found.
[ Infeasibility]
The weighted sum of violations in the solution to the relaxed problem identified by the infeasibility repair function.
[ Infeasibility]

Licensing

Reference section for functions, controls, and attributes related to Licensing.

Licensing library functions

Checks if the provided feature is available in the current license used by the optimizer.
[ Licensing]
Frees any allocated memory and closes all open files.
[ Licensing]
Returns the number of days left until the license expires.
[ Licensing]
Retrieves an error message describing the last licensing error, if any occurred.
[ Licensing]
Initializes the Optimizer library.
[ Licensing]

Limits

Reference section for controls and attributes related to the various limits for the solution process.

Limits library functions

Declares a callback function which is called every time the Optimizer checks if the time limit has been reached.
[ Callback, Limits]
Declares a gap notification callback, to be called when a MIP solve reaches a predefined target, set using the MIPRELGAPNOTIFY, MIPABSGAPNOTIFY, MIPABSGAPNOTIFYOBJ and/or MIPABSGAPNOTIFYBOUND controls.
[ Callback, Limits]
Removes a callback function previously added by XPRSaddcbchecktime.
[ Callback, Limits]
Removes a callback function previously added by XPRSaddcbgapnotify.
[ Callback, Limits]

Limits controls

Newton barrier: The maximum number of consecutive iterations that fail to improve the solution in the barrier algorithm.
[ Barrier, Limits]
Newton Barrier.
[ Barrier, Limits]
Newton barrier: The maximum number of iterations.
[ Barrier, Limits]
Branch and Bound: Simplex iteration limit for reoptimizing during the diving heuristic.
[ Heuristics, Limits]
The maximum number of seconds to wait for an I/O operation before it is cancelled.
[ File IO, Limits]
Number of iterations to perform in improving each lift-and-project cut.
[ Cuts, Limits]
The maximum number of iterations that will be performed by primal simplex or dual simplex before the optimization process terminates.
[ Limits, LP]
This control is intended for use where optimization runs that are terminated using the MAXCUTTIME control are required to be reproduced exactly.
[ Limits]
This control is intended for use where optimization runs that are terminated using the TIMELIMIT (or the deprecated MAXTIME) control are required to be reproduced exactly.
[ Limits]
The maximum amount of time allowed for generation of cutting planes and reoptimization.
[ Cuts, Limits]
This function controls the number of Irreducible Infeasible Sets to be found using the XPRSiisall (IIS -a).
[ Infeasibility, Limits]
This control sets the maximum amount of memory in megabytes the optimizer should allocate.
[ Limits, Memory]
When RESOURCESTRATEGY is enabled, this control sets the maximum amount of memory in megabytes the optimizer targets to allocate.
[ Limits, Memory]
Branch and Bound: This specifies a limit on the number of integer solutions to be found by the Optimizer.
[ Limits, Solution]
Branch-and-Bound: The maximum number of tasks to run in parallel during a MIP solve.
[ Determinism, Limits, Parallel]
Branch and Bound: The maximum number of nodes that will be explored.
[ Branch and Bound Search, Limits]
The maximum time in seconds that the Optimizer will continue to search for improving solution after finding a new incumbent.
[ Limits]
The maximum size, in megabytes, to which the tree file may grow, or 0 for no limit.
[ File IO, Limits]
Branch and Bound: If the user knows that they are interested only in values of the objective function which are better than some value, this can be assigned to MIPABSCUTOFF.
[ Limits]
Branch and Bound: The absolute tolerance determining whether the tree search will continue or not.
[ Limits]
Branch and Bound: The amount to add to the objective function of the best integer solution found to give the new CURRMIPCUTOFF.
[ Branch and Bound Search, Limits]
Sets the node limit for when a winning solve is selected when concurrent MIP solves are enabled.
[ Branch and Bound Search, Limits]
This defines an effort limit expressed as simplex iterations for the MIP solution refiner.
[ Limits, Solution Refinement]
Branch and Bound: Percentage of the incumbent value to be added to the value of the objective function when an integer solution is found, to give the new value of CURRMIPCUTOFF.
[ Limits]
Branch and Bound: This determines when the branch and bound tree search will terminate.
[ Limits]
Branch and Bound: How a MIP solve should be stopped on early termination when there are still active tasks in the system.
[ Branch and Bound Search, Limits]
Limit the number of degenerate pivots of the network simplex algorithm, before switching to either primal or dual simplex, depending on ALGAFTERNETWORK.
[ Limits, Simplex]
Dial for the work spent during the Pre-root parallel heuristic phase.
[ Heuristics, Limits, Parallel]
Set an explicit work limit in work units for the Pre-root parallel heuristic phase.
[ Heuristics, Limits, Parallel]
Limit on how much the number of non-zero coefficients is allowed to grow during presolve, specified as a ratio of the number of non-zero coefficients in the original problem.
[ Limits, Presolve]
Number of reduction rounds to be performed in presolve
[ Limits, Presolve]
When the memory used by the branch and bound search tree exceeds the target specified by the TREEMEMORYLIMIT control, the optimizer will try to reduce this by writing nodes to the tree file.
[ Limits, Memory]
Overall time limit for the repairinfeas tool
[ Infeasibility, Limits]
Number of dual iterations to perform the strong branching for each entity.
[ Branching, Limits]
The maximum time in seconds that the Optimizer will run a MIP solve before it terminates, given that a solution has been found.
[ Limits]
The maximum time in seconds that the Optimizer will run before it terminates, including the problem setup time and solution time.
[ Limits]
A soft limit, in megabytes, for the amount of memory to use in storing the branch and bound search tree.
[ Limits, Memory]
Tuner: The maximum time in seconds that the tuner will run before it terminates.
[ Limits, Tuner]
The maximum work (measured in work units) that the Optimizer will run before it terminates.
[ Determinism, Limits]

Limits attributes

This attribute is used to set the value of the MAXCHECKSONMAXCUTTIME control.
[ Limits]
This attribute is used to set the value of the MAXCHECKSONMAXTIME control.
[ Limits]

Linear Algebra

Reference section for functions, controls, and attributes related to Linear Algebra routines.

Linear Algebra library functions

Calculates various measures for the stability of the current basis, including the basis condition number.
[ Linear Algebra, LP]
Post-multiplies a (row) vector provided by the user by the inverse of the current basis.
[ Linear Algebra, LP]
Calculates the reduced cost values for a given (row) dual solution.
[ Linear Algebra, Solution]
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
[ Linear Algebra, LP]
Returns the current basis into the user's data arrays.
[ Linear Algebra, LP]
Returns the current basis status for a specific column or row.
[ Linear Algebra, LP]
Returns the reduced costs reduced cost for this variable from the incumbent solution during or after optimization of a continuous problem with XPRSoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ Linear Algebra, LP]
Performs a simplex pivot by bringing variable enter into the basis and removing leave.
[ Linear Algebra, Simplex]
Post-multiplies a (row) vector provided by the user by the inverse of the current matrix.
[ Linear Algebra, Simplex]
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
[ Linear Algebra, Simplex]

Linear Algebra console functions

Convexity checker.
[ Linear Algebra, Quadratic]
Calculates various measures for the stability of the current basis, including the basis condition number.
[ Linear Algebra, LP]

Logging

Reference section for functions, controls, and attributes related to Logging.

Logging library functions

Declares a cut log callback function, called each time the cut log is printed.
[ Callback, Logging]
Declares an output callback function, called every time a text line relating to the given XPRSprob is output by the Optimizer.
[ Callback, Logging]
Declares a MIP log callback function, called each time the MIP log is printed.
[ Callback, Logging]
Prints a given Irreducible Infeasible Set (IIS) in the log.
[ Infeasibility, Logging]
Removes a cut log callback function previously added by XPRSaddcbcutlog.
[ Callback, Logging]
Removes a simplex log callback function previously added by XPRSaddcblplog.
[ Callback, Logging]
Removes a message callback function previously added by XPRSaddcbmessage.
[ Callback, Logging]
Removes a MIP log callback function previously added by XPRSaddcbmiplog.
[ Callback, Logging]
This directs all Optimizer output to a log file.
[ File IO, Logging]

Logging controls

Newton barrier and hybrid gradient: This specifies the level of solution output provided.
[ Barrier, Logging, Primal Dual Hybrid Gradient]
Selects how much information should be printed during the IIS procedure.
[ Infeasibility, Logging]
Simplex: The frequency at which the simplex log is printed.
[ Logging, LP]
Time interval between two LP log lines.
[ Logging, LP]
Simplex: The style of the simplex log.
[ Logging, LP]
Number of lines between page breaks in printable output.
[ Logging]
MIP log print control.
[ Logging]
Log level for multi-objective optimization.
[ Logging, Multiobjective]
This control toggles the printing of all control settings at the beginning of the search.
[ Logging]
This controls the level of output produced by the Optimizer during optimization.
[ Logging]
Display the infeasibility diagnosis during presolve.
[ Logging, Presolve]
A bit-vector (see Section .) providing control over how various tree-management-related messages get printed in the tree log file during the branch-and-bound search.
[ Bit-vector, Branch and Bound Search, Logging]
This control sets the interval between progress messages output while writing tree data to the tree file, in seconds.
[ Branch and Bound Search, Logging]
Tuner: whether the tuner should prints detailed information for each run.
[ Logging, Tuner]

LP

Reference section for functions, controls, and attributes related to the LP algorithms of the Optimizer. Note that many of them will affect both standalone LP optimization problems, as well as the various LP relaxations that are solved during a Branch and Bound Search.

LP library functions

Declares a simplex log callback function which is called after every LPLOG iterations of the simplex algorithm.
[ Callback, LP]
Calculates various measures for the stability of the current basis, including the basis condition number.
[ Linear Algebra, LP]
Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds.
[ LP, Sensitivity Analysis]
Post-multiplies a (row) vector provided by the user by the inverse of the current basis.
[ Linear Algebra, LP]
Provides a basic optimal solution for a given solution of an LP problem.
[ Barrier, LP]
Performs a dual side range sensitivity analysis, i.e. calculates estimates for the possible ranges for dual values.
[ LP, Sensitivity Analysis]
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
[ Linear Algebra, LP]
Returns the current basis into the user's data arrays.
[ Linear Algebra, LP]
Returns the current basis status for a specific column or row.
[ Linear Algebra, LP]
Retrieves a dual ray (dual unbounded direction) for the current problem, if the problem is found to be infeasible.
[ LP, Solution]
Returns the dual values dual value for this constraint from the incumbent solution during or after optimization of a continuous problem with XPRSoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ LP, Solution]
Returns a list of infeasible primal and dual variables.
[ LP, Solution]
Used to obtain the LP solution values following optimization.
[ LP, Solution]
Returns the pivot order of the basic variables.
[ LP, Simplex]
Returns a list of potential leaving variables if a specified variable enters the basis.
[ LP, Simplex]
Returns the current basis from memory into the user's data areas.
[ LP, Simplex]
Retrieves a primal ray (primal unbounded direction) for the current problem, if the problem is found to be unbounded.
[ LP, Solution]
Returns the reduced costs reduced cost for this variable from the incumbent solution during or after optimization of a continuous problem with XPRSoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ Linear Algebra, LP]
Returns a list of scaled infeasible primal and dual variables for the original problem.
[ LP, Numerics]
Returns the slack values slack value for this constraint from the incumbent solution during or after optimization with XPRSoptimize, XPRSmipoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ LP, Solution]
Returns the index vector which causes the primal simplex or dual simplex algorithm to determine that a matrix is primal or dual unbounded respectively.
[ LP, Solution]
Loads a basis from the user's areas.
[ Data Input, LP]
Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file.
[ LP, Problem Input]
Loads an LP solution for the problem into the Optimizer.
[ Data Input, LP, Solution]
Loads a presolved basis from the user's areas.
[ Data Input, LP]
This function begins a search for the optimal continuous (LP) solution.
[ LP, Solution Process]
Returns upper and lower sensitivity ranges for specified objective function coefficients.
[ LP, Sensitivity Analysis]
Instructs the Optimizer to read in a previously saved basis from a file.
[ File IO, LP]
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients.
[ LP, Sensitivity Analysis]
Writes the current basis to a file for later input into the Optimizer.
[ File IO, LP]

LP controls

The algorithm to be used for the final clean up step after the crossover.
[ Barrier, LP]
The algorithm to be used for the clean up step after the network simplex solver.
[ LP, Simplex]
Simplex: This indicates whether automatic perturbation is performed.
[ LP]
This control determines which barrier algorithm is used to solve the problem.
[ Barrier, LP, Primal Dual Hybrid Gradient]
The infeasibility penalty used if the "Big M" method is implemented.
[ LP, Numerics]
Simplex: This specifies whether to use the "Big M" method, or the standard phase I (achieving feasibility) and phase II (achieving optimality).
[ LP, Numerics]
Determines the number of threads used by the concurrent solver.
[ LP, Parallel]
Simplex: This determines the type of crash used when the algorithm begins.
[ Bit-vector, LP, Simplex]
This selects the algorithm that will be used to solve LPs, standalone or during MIP optimization.
[ Branch and Bound Search, LP]
Newton barrier: Columns with more than DENSECOLLIMIT elements are considered to be dense.
[ Barrier, LP]
Simplex: This specifies the dual simplex pricing method.
[ LP, Simplex]
For a linear problem or the initial linear relaxation of a MIP, determines whether to form and solve the dual problem.
[ LP, Problem Transformation]
Bit-vector control (see Section .) for adjusting the behavior when a problem is dualized.
[ Bit-vector, LP]
The factor by which the problem will be perturbed prior to optimization by dual simplex.
[ LP, Simplex]
This bit-vector control (see Section .) specifies the dual simplex strategy.
[ Bit-vector, LP, Simplex]
Determines the maximum number of threads that dual simplex is allowed to use.
[ LP, Parallel]
Dual simplex: specifies whether the dual simplex solver should always use the parallel simplex algorithm.
[ LP, Simplex]
Simplex: This determines whether the basis should be kept when reoptimizing a problem.
[ LP, Simplex]
A bit-vector control (see Section .) which defines the algorithm for solving an LP problem or the initial LP relaxation of a MIP problem.
[ Bit-vector, LP, Root]
Simplex and barrier: whether to fold an LP problem before solving it.
[ LP]
The maximum number of iterations that will be performed by primal simplex or dual simplex before the optimization process terminates.
[ Limits, LP]
Simplex: The frequency at which the simplex log is printed.
[ Logging, LP]
Time interval between two LP log lines.
[ Logging, LP]
Simplex: The style of the simplex log.
[ Logging, LP]
This specifies the simplex iteration limit the solution refiner can spend in attempting to increase the accuracy of an LP solution.
[ LP, Solution Refinement]
The Markowitz tolerance used for the factorization of the basis matrix.
[ LP, Simplex]
Presolve: specifies whether the presolver should protect a given dual solution by maintaining the same level of dual feasibility.
[ LP, Presolve]
Simplex: This determines the primal simplex pricing method.
[ LP, Simplex]
Primal simplex: allows fine tuning the variable selection in the primal simplex solver.
[ Bit-vector, LP, Simplex]
The factor by which the problem will be perturbed prior to optimization by primal simplex.
[ LP, Simplex]
Determines whether primal is allowed to call dual to unshift.
[ LP, Simplex]
Determines whether to enable sifting algorithm with the dual simplex method.
[ LP, Simplex]
Determines how quickly we allow to grow the worker problems during the sifting algorithm.
[ LP, Simplex]
Determines the presolve operations for solving the subproblems during the sifting algorithm.
[ LP, Simplex]
Determines which algorithm to use for solving the subproblems during sifting.
[ LP, Simplex]

LP attributes

The algorithm the optimizer currently is running / was running just before completition.
[ LP]
Number of simplex iterations performed in crossover.
[ Barrier, LP]
Number of dual infeasibilities.
[ LP]
Value of the objective function of the last LP solved.
[ LP]
LP solution status.
[ LP]
Maximum calculated absolute dual infeasibility in the unscaled original problem.
[ LP, Numerics]
Maximum calculated absolute primal infeasibility in the unscaled original problem.
[ LP, Numerics]
Maximum calculated relative dual infeasibility in the unscaled original problem.
[ LP, Numerics]
Maximum calculated relative primal infeasibility in the unscaled original problem.
[ LP, Numerics]
Number of primal infeasibilities.
[ LP]
Number of simplex iterations performed.
[ LP, Simplex]
Scaled sum of primal infeasibilities.
[ LP, Numerics]

Memory

Reference section for functions, controls, and attributes related to memory handling and usage.

Memory controls

This control sets the maximum amount of memory in megabytes the optimizer should allocate.
[ Limits, Memory]
When RESOURCESTRATEGY is enabled, this control sets the maximum amount of memory in megabytes the optimizer targets to allocate.
[ Limits, Memory]
Specifies an explicit number of threads that should be used for the Pre-root parallel heuristic phase.
[ Heuristics, Memory, Parallel]
When the memory used by the branch and bound search tree exceeds the target specified by the TREEMEMORYLIMIT control, the optimizer will try to reduce this by writing nodes to the tree file.
[ Limits, Memory]
Controls whether the optimizer is allowed to make nondeterministic decisions if memory is running low in an effort to preserve memory and finish the solve.
[ Determinism, Memory]
When writing nodes to the gloal file, the optimizer can try to use data-compression techniques to reduce the size of the tree file on disk.
[ Branch and Bound Search, File IO, Memory]
A soft limit, in megabytes, for the amount of memory to use in storing the branch and bound search tree.
[ Limits, Memory]
When the memory used by the branch-and-bound search tree exceeds the limit specified by the TREEMEMORYLIMIT control, the optimizer will try to save memory by writing lower-rated sections of the tree to the tree file.
[ Branch and Bound Search, Memory]

Memory attributes

The amount of heap memory detected by Xpress as free.
[ Memory]
The amount of dynamically allocated heap memory by the problem being solved.
[ Memory]
The detected amount of memory accessible to the solver process, in megabytes.
[ Memory]
An estimate of the peak amount of dynamically allocated heap memory by the problem.
[ Memory]
The peak size, in megabytes, that the branch-and-bound search tree reached during the solve.
[ Branch and Bound Search, Memory]
The amount of non problem specific memory used by the solver.
[ Memory, System]
The amount of dynamically allocated heap memory by the optimizer, including all problems currently exsisting.
[ Memory]
The allocated size of the tree file, in megabytes.
[ Branch and Bound Search, Memory]
The number of megabytes of data from the branch-and-bound tree that have been saved to the tree file.
[ Branch and Bound Search, Memory]
The amount of physical memory, in megabytes, currently being used to store the branch-and-bound search tree.
[ Branch and Bound Search, Memory]

MIP Entities

Reference section for functions, controls, and attributes related to MIP Entities, such as binary and integer variables. Further MIP entity column types comprise semi-continuous, semi-integer, partial integer variables. Special Ordered Sets of type I and II are also MIP entities.

MIP Entities library functions

Allows sets to be added to the problem after passing it to the Optimizer using the input routines.
[ MIP Entities, Problem Creation]
Used to change the type of a specified set of columns in the matrix.
[ MIP Entities, Problem Modification]
Used to change semi-continuous or semi-integer lower bounds, or upper limits on partial integers.
[ MIP Entities, Problem Modification]
Delete indicator constraints.
[ MIP Entities, Problem Creation]
Delete sets from a problem.
[ MIP Entities, Problem Creation]
Fixes all the MIP entities to the values of the last found MIP solution.
[ MIP Entities, Problem Modification]
Returns the column types for the columns in a given range.
[ MIP Entities, Problem Information]
Retrieves integr and entity information about a problem.
[ MIP Entities, Problem Information]
Used to load a MIP problem into the Optimizer data structures.
[ MIP Entities, Problem Input]
Loads a starting MIP solution for the problem into the Optimizer.
[ Data Input, MIP Entities, Solution]
This function begins a tree search for the optimal MIP solution.
[ MIP Entities, Solution Process]

MIP Entities attributes

Number of indicator constrains in the problem.
[ MIP Entities, Problem Information]
Maximum integer fractionality in the solution.
[ MIP Entities, Numerics]
Number of MIP entities (i.e. binary, integer, semi-continuous, partial integer, and semi-continuous integer variables) but excluding the number of special ordered sets.
[ MIP Entities, Problem Information]
Number of integer infeasibilities, including violations of special ordered sets, at the current node.
[ Branch and Bound Search, MIP Entities]
Number of indicator constraints in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of MIP entities (i.e. binary, integer, semi-continuous, partial integer, and semi-continuous integer variables) but excluding the number of special ordered sets in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of variables within special ordered sets (set members) in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of special ordered sets in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of variables within special ordered sets (set members) in the matrix.
[ MIP Entities, Problem Information]
Number of special ordered sets in the matrix.
[ MIP Entities, Problem Information]
Number of spare MIP entities in the matrix.
[ MIP Entities, Problem Information]
Number of spare set elements in the matrix.
[ MIP Entities, Problem Information]
Number of spare sets in the matrix.
[ MIP Entities, Problem Information]

Misc

Reference section for further miscellaneous functionality of the Optimizer.

Misc library functions

Returns the banner and copyright message.
[ Misc]
You can use this function to interrogate whether checking and validation of all Optimizer function calls is enabled for the current process.
[ Misc]
Returns the error message corresponding to the last error encountered by a library function.
[ Misc]
Retrieves the current suppression status of a message.
[ Misc]
Returns the full Optimizer version number in the form 15.10.03, where 15 is the major release, 10 is the minor release, and 03 is the build number.
[ Misc]
Returns the Optimizer version numbers split into major, minor, and build number.
[ Misc]
Presolves a row formulated in terms of the original variables such that it can be added to a presolved matrix.
[ Misc, Presolve]
You can use this function to disable some of the checking and validation of function calls and function call parameters for calls to the Xpress Optimizer API.
[ Misc]
Manages suppression of messages.
[ Misc]

Misc console functions

Terminate the Console Optimizer.
[ Misc]
Quick reference help for the Optimizer console.
[ Misc]
Terminate the Console Optimizer.
[ Misc]
Terminate the Console Optimizer.
[ Misc]

Misc controls

decay term for confined primal integral computation.
[ Misc]
The Optimizer version number, e.g. 1301 meaning release 13.01.
[ Misc]

Misc attributes

Active bound name.
[ Misc]
scale factor from primal integral computation.
[ Misc]
The most recent Optimizer error number that occurred.
[ Misc]
Maximum size of the problem name and also the maximum allowed length of the file or path string for any function that accepts such an argument (not including the NULL terminator).
[ Misc]
The length (in 8 character units) of row and column names in the matrix.
[ Misc]
Value of the primal-dual integral.
[ Misc]
Universally Unique Identifier for the problem instance.
[ Misc]
The Xpress version number.
[ Misc]

Multiobjective

Reference section for functions, controls, and attributes for solving multiobjective problems.

Multiobjective library functions

Declares a callback which will be called after each objective in a multi-objective problem is solved.
[ Callback, Multiobjective]
Declares a callback which will be called before each objective in a multi-objective problem is solved.
[ Callback, Multiobjective]
Appends an objective function with the given coefficients to a multi-objective problem.
[ Multiobjective, Problem Creation]
Calculates the objective value of the given objective function in a multi-objective problem.
[ Multiobjective, Solution]
Modifies one or more coefficients of an objective function in a multi-objective problem.
[ Multiobjective, Problem Modification]
Retrieves the value of a given double attribute associated with a multi-objective solve.
[ Controls and Attributes, Multiobjective]
Retrieves the value of a given double control parameter associated with an objective function.
[ Controls and Attributes, Multiobjective]
Function to access the type name of an object referenced using the generic Optimizer object pointer XPRSobject.
[ Controls and Attributes, Multiobjective]
Retrieves the value of a given integer attribute associated with a multi-objective solve.
[ Controls and Attributes, Multiobjective]
Retrieves the value of a given integer control parameter associated with an objective.
[ Controls and Attributes, Multiobjective]
For a given objective function, returns the objective coefficients for the columns in a given range.
[ Multiobjective, Problem Information]
Removes a callback function previously added by XPRSaddcbafterobjective.
[ Callback, Multiobjective]
Removes a callback function previously added by XPRSaddcbbeforeobjective.
[ Callback, Multiobjective]
Sets the value of a given double control parameter associated with an objective.
[ Controls and Attributes, Multiobjective]
Sets the value of a given integer control parameter associated with an objective.
[ Controls and Attributes, Multiobjective]

Multiobjective controls

Log level for multi-objective optimization.
[ Logging, Multiobjective]
Modifies the behaviour of the optimizer when solving multi-objective problems.
[ Bit-vector, Multiobjective]

Multiobjective attributes

Number of objectives in the problem.
[ Multiobjective]
Number of objectives that will be solved during the current multi-objective solve.
[ Multiobjective]
Number of objectives that have been solved so far during a multi-objective solve.
[ Multiobjective]

Names Manager

Reference section for functions, controls, and attributes related to the Names Manager.

Names Manager library functions

Returns the names for the rows, columns, sets, piecewise linear constraints, general constraints or objectives in a given range.
[ Names Manager]

Numerics

Reference section for functions, controls, and attributes related to Numerics.

Numerics library functions

Returns the the current scaling of the matrix.
[ Numerics]
Returns a list of scaled infeasible primal and dual variables for the original problem.
[ LP, Numerics]
Re-scales the current matrix.
[ Numerics]

Numerics controls

Whether the Optimizer should automatically select between different scaling algorithms.
[ Numerics, Problem Transformation]
Defines how the barrier scales the objective.
[ Barrier, Numerics]
Newton barrier: In numerically challenging cases it is often advantageous to apply perturbations on the KKT system to improve its numerical properties.
[ Barrier, Numerics]
Defines how the barrier scales the right hand side.
[ Barrier, Numerics]
The infeasibility penalty used if the "Big M" method is implemented.
[ LP, Numerics]
Simplex: This specifies whether to use the "Big M" method, or the standard phase I (achieving feasibility) and phase II (achieving optimality).
[ LP, Numerics]
This bit-vector control (see Section .) allows for the adjustment of returned solution values such that they are always within bounds.
[ Bit-vector, Numerics, Solution]
Presolve: When tighter bounds are calculated during MIP preprocessing, only bounds whose absolute value are smaller than MAXIMPLIEDBOUND will be applied to the problem.
[ Numerics, Presolve]
This determines the maximum scaling factor that can be applied during scaling.
[ Numerics, Presolve]
Branch and Bound: Specifies how frequently the basis condition number (also known as kappa) should be calculated during the branch-and-bound search.
[ Branch and Bound Search, Numerics]
How much emphasis to place on numerical stability instead of solve speed.
[ Numerics]
Custom objective scaling factor, expressed as a power of 2.
[ Numerics]
This bit-vector control (see Section .) determines how the Optimizer will rescale a model internally before optimization. If set to 0, no scaling will take place.
[ Bit-vector, Numerics, Problem Transformation]

Numerics attributes

A measure between 0 and 1 for how numerically unstable the problem is.
[ Branch and Bound Search, Numerics]
Maximum calculated absolute dual infeasibility in the unscaled original problem.
[ LP, Numerics]
Maximum calculated absolute primal infeasibility in the unscaled original problem.
[ LP, Numerics]
Largest basis condition number (also known as kappa) calculated through all nodes sampled by MIPKAPPAFREQ.
[ Branch and Bound Search, Numerics]
Maximum integer fractionality in the solution.
[ MIP Entities, Numerics]
Maximum calculated relative dual infeasibility in the unscaled original problem.
[ LP, Numerics]
Maximum calculated relative primal infeasibility in the unscaled original problem.
[ LP, Numerics]
A measure between 0 and 1 to predict how numerically unstable the current MIP solve can be expected to be.
[ Numerics]
Scaled sum of primal infeasibilities.
[ LP, Numerics]

Parallel

Reference section for functionality how the Optimizer takes advantage of modern multi-core CPUs. By default, the Optimizer will detect how many cores are available in the system and try to use all of them. The controls in this section affect to which extent the Optimizer uses the parallel hardware.

Parallel library functions

Declares a destroy MIP thread callback function, called every time a MIP thread is destroyed by the parallel MIP code.
[ Callback, Parallel]
Declares a MIP thread callback function, called every time a MIP worker problem is created by the parallel MIP code.
[ Callback, Parallel]
Removes a slave thread destruction callback function previously added by XPRSaddcbdestroymt.
[ Callback, Parallel]
Removes a callback function previously added by XPRSaddcbmipthread.
[ Callback, Parallel]

Parallel controls

Limit the number of threads to use in background jobs (for example in parallel to the root cut loop).
[ Parallel, Root]
If set to a positive integer it determines the number of physical CPU cores assumed to be present in the system by the barrier and hybrid gradient algorithms.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
If set to a positive integer it determines the number of concurrent threads for the sparse matrix ordering algorithm in the Newton-barrier method.
[ Barrier, Parallel]
If set to a positive integer it determines the number of threads implemented to run the Newton-barrier and hybrid gradient algorithms.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
Determines the number of threads used by the concurrent solver.
[ LP, Parallel]
Determines the maximum number of threads that parallel crossover is allowed to use.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
Determines the maximum number of threads that dual simplex is allowed to use.
[ LP, Parallel]
Branch and Bound: The number of threads to dedicate to running heuristics during the root solve.
[ Heuristics, Parallel]
Branch-and-Bound: The maximum number of tasks to run in parallel during a MIP solve.
[ Determinism, Limits, Parallel]
If set to a positive integer it determines the number of threads implemented to run the parallel MIP code.
[ Branch and Bound Search, Parallel]
Dial for the work spent during the Pre-root parallel heuristic phase.
[ Heuristics, Limits, Parallel]
Specifies an explicit number of threads that should be used for the Pre-root parallel heuristic phase.
[ Heuristics, Memory, Parallel]
Set an explicit work limit in work units for the Pre-root parallel heuristic phase.
[ Heuristics, Limits, Parallel]
The default number of threads used during optimization.
[ Parallel]
Tuner: the number of threads used by the tuner.
[ Parallel, Tuner]

Piecewise Linear and General Constraints

Reference section for functions, controls, and attributes related to Piecewise Linear and General Constraints.

Piecewise Linear and General Constraints library functions

Adds one or more general constraints to the problem.
[ Piecewise Linear and General Constraints, Problem Creation]
Adds one or more piecewise linear constraints to the problem.
[ Piecewise Linear and General Constraints, Problem Creation]
Delete general constraints from a problem.
[ Piecewise Linear and General Constraints, Problem Creation]
Delete piecewise linear constraints from a problem.
[ Piecewise Linear and General Constraints, Problem Creation]
Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range.
[ Piecewise Linear and General Constraints, Problem Information]
Returns the piecewise linear constraints y = f(x) in a given range.
[ Piecewise Linear and General Constraints, Problem Information]

Piecewise Linear and General Constraints controls

This control specifies the reformulation method for absolute value general constraints at the beginning of the search.
[ Piecewise Linear and General Constraints, Presolve]
This parameter specifies whether dual reductions should be applied to reduce the number of columns and rows added when transforming general constraints to MIP structs.
[ Piecewise Linear and General Constraints, Presolve]
This parameter specifies whether dual reductions should be applied to reduce the number of columns, rows and SOS-constraints added when transforming piecewise linear objectives and constraints to MIP structs.
[ Piecewise Linear and General Constraints, Presolve, Problem Transformation]
This control specifies the reformulation method for piecewise linear constraints at the beginning of the search.
[ Piecewise Linear and General Constraints, Presolve, Problem Transformation]

Piecewise Linear and General Constraints attributes

Number of input variables in general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
The number of general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
Number of constant values in general constraints (MIN/MAX constraints) in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
Number of input variables in general constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of general constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of constant values in general constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of breakpoints of piecewise linear constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of piecewise linear constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of piecewise linear constraints in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
Number of breakpoints of piecewise linear constraints in the problem.
[ Piecewise Linear and General Constraints, Problem Information]

Presolve

Reference section for functions, controls, and attributes related to Presolve. Presolve is a collection of techniques to transform the input problem into an equivalent, but smaller problem by fixing or eliminating columns and rows.

Presolve library functions

Declares a callback to be called after presolve has been performed.
[ Callback, Presolve]
Returns the mapping of the row and column numbers from the presolve problem back to the original problem.
[ Presolve, Problem Information]
Returns the solution for the presolved problem from memory.
[ Presolve, Solution]
Allows the user to mark rows and columns in order to prevent the presolve removing these rows and columns from the matrix.
[ Data Input, Presolve]
Postsolve the current matrix when it is in a presolved state.
[ Presolve, Solution Process]
Postsolves a primal solution formulated in the presolved space into the corresponding solution formulated in the original space.
[ Presolve, Solution]
Presolves a row formulated in terms of the original variables such that it can be added to a presolved matrix.
[ Misc, Presolve]
Removes a presolve callback function previously added by XPRSaddcbpresolve.
[ Callback, Presolve]

Presolve controls

Newton barrier: This bit-vector (see Section .) controls the Newton-Barrier specific presolve operations.
[ Barrier, Bit-vector, Presolve]
Amount of fill-in allowed when performing an elimination in presolve .
[ Presolve]
The Markowitz tolerance for the elimination phase of the presolve.
[ Presolve, Tolerances]
This control specifies the reformulation method for absolute value general constraints at the beginning of the search.
[ Piecewise Linear and General Constraints, Presolve]
This parameter specifies whether dual reductions should be applied to reduce the number of columns and rows added when transforming general constraints to MIP structs.
[ Piecewise Linear and General Constraints, Presolve]
Determines if the convexity of the problem is checked before optimization.
[ Presolve, Quadratic]
During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough.
[ Presolve, Problem Transformation]
During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough.
[ Presolve, Problem Transformation]
Presolve: When tighter bounds are calculated during MIP preprocessing, only bounds whose absolute value are smaller than MAXIMPLIEDBOUND will be applied to the problem.
[ Numerics, Presolve]
This determines the maximum scaling factor that can be applied during scaling.
[ Numerics, Presolve]
Branch and Bound: Limits operations that can reduce the MIP solution space.
[ Presolve]
Branch and Bound: Type of integer processing to be performed.
[ Bit-vector, Branch and Bound Search, Presolve]
Adjusts the overall level of node probing.
[ Branch and Bound Search, Presolve]
Minimum absolute penalty variable coefficient.
[ Presolve]
Determines if analytic centers should be computed and used for variable fixing and the generation of alternative reduced costs (-1: Auto 0: Off, 1: Fixing, 2: Redcost, 3: Both)
[ Barrier, Presolve]
Determines if a lattice basis reduction algorithm should be attempted as part of presolve
[ Presolve]
Determines if second order cone constraints should be used for inferring bound reductions on variables when solving a MIP.
[ Presolve]
Determines if convex quadratic constraints should be used for inferring bound reductions on variables when solving a MIP.
[ Presolve, Quadratic]
Determines how much effort to spend on clique covers in presolve.
[ Presolve]
Presolve: Specifies whether the optimizer should attempt to recombine constraints in order to reduce the number of non zero coefficients when presolving a mixed integer problem.
[ Presolve]
Presolve: determines whether small independent components should be detected and solved as individual subproblems during root node processing.
[ Presolve]
Presolve: adjusts the overall effort for the independent component presolver.
[ Presolve]
Presolve: decompose regular and rotated cones with more than two elements and apply Outer Approximation on the resulting components.
[ Presolve, Quadratic]
MIP Presolve: determines whether binary rows with only few repeating coefficients should be reformulated.
[ Presolve]
Presolve: convert a linear or quadratic objective function into an objective transfer constraint
[ Presolve, Problem Transformation]
Presolve: reformulate problems with a non-diagonal quadratic objective and/or constraints as diagonal quadratic or second-order conic constraints.
[ Presolve, Problem Transformation]
Presolve: Determines the level of dominated column removal reductions to perform when presolving a mixed integer problem.
[ Presolve]
Presolve: Determines the level of dominated row removal reductions to perform when presolving a problem.
[ Presolve]
Presolve: Determines the type of duplicate rows to look for and eliminate when presolving a problem.
[ Presolve]
Presolve: Allows for elimination of quadratic variables via doubleton rows.
[ Presolve, Quadratic]
Presolve: Determines if a folding procedure should be used to aggregate continuous columns in an equitable partition.
[ Presolve]
Presolve: Determines whether to use implication structures to remove redundant rows.
[ Presolve]
Presolve: Determines whether to check for and remove linearly dependent equality constraints when presolving a problem.
[ Presolve]
Presolve: Determines whether to check for constraints that are parallel or near parallel to a linear objective function, and which can safely be removed.
[ Presolve]
This bit-vector control (see Section .) specifies whether to randomly permute rows, columns and MIP entities when starting the presolve. With the default value 0, no permutation will take place.
[ Bit-vector, Presolve, Problem Transformation]
This control sets the seed for the pseudo-random number generator for permuting the problem when starting the presolve.
[ Presolve, Problem Transformation]
Presolve: Amount of probing to perform on binary variables during presolve.
[ Presolve]
Presolve: specifies whether the presolver should protect a given dual solution by maintaining the same level of dual feasibility.
[ LP, Presolve]
This control determines whether presolving should be performed prior to starting the main algorithm.
[ Presolve]
Limit on how much the number of non-zero coefficients is allowed to grow during presolve, specified as a ratio of the number of non-zero coefficients in the original problem.
[ Limits, Presolve]
This bit-vector control (see Section .) specifies the operations which are performed during the presolve.
[ Bit-vector, Presolve]
Number of reduction rounds to be performed in presolve
[ Limits, Presolve]
This bit-vector control (see Section .) specifies whether to sort rows, columns and MIP entities by their names when starting the presolve. With the default value 0, no sorting will take place.
[ Bit-vector, Presolve, Problem Transformation]
This parameter specifies whether dual reductions should be applied to reduce the number of columns, rows and SOS-constraints added when transforming piecewise linear objectives and constraints to MIP structs.
[ Piecewise Linear and General Constraints, Presolve, Problem Transformation]
This control specifies the reformulation method for piecewise linear constraints at the beginning of the search.
[ Piecewise Linear and General Constraints, Presolve, Problem Transformation]
Adjusts the overall amount of effort for symmetry detection.
[ Presolve]
Adjusts the overall amount of effort for symmetry detection.
[ Presolve]
Display the infeasibility diagnosis during presolve.
[ Logging, Presolve]

Presolve attributes

Presolve: The row or column index on which presolve detected a problem to be infeasible or unbounded.
[ Presolve]
Problem status as a bit-vector (compare Section .).
[ Bit-vector, Presolve]

Primal Dual Hybrid Gradient

Reference section for functions, controls, and attributes related to the Primal Dual Hybrid Gradient solver, an iterative solver for very large LP relaxations.

Primal Dual Hybrid Gradient controls

This control determines which barrier algorithm is used to solve the problem.
[ Barrier, LP, Primal Dual Hybrid Gradient]
If set to a positive integer it determines the number of physical CPU cores assumed to be present in the system by the barrier and hybrid gradient algorithms.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: This determines the type of crash used for the crossover.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for dual infeasibilities.
[ Barrier, Primal Dual Hybrid Gradient, Tolerances]
Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for the relative duality gap.
[ Barrier, Primal Dual Hybrid Gradient]
Extrapolation parameter for the hybrid gradient algorithm.
[ Primal Dual Hybrid Gradient]
The maximum number of restarts in the hybrid gradient algorithm.
[ Primal Dual Hybrid Gradient]
Bit-vector control (see Section .) options for the hybrid gradient algorithm. Bits 1, 2 and 3 control which norms of the coefficient matrix are used for solution normalization. The normalization factor is the maximum of the selected norms. By default, or if all three bits are set to 0, the infinity norm is used. The omega parameter referenced in bits 4, 5 and 6 is a measure of the relative magnitudes of the objective and the right-hand side.
[ Bit-vector, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: This specifies the level of solution output provided.
[ Barrier, Logging, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: This is a convergence parameter, indicating the tolerance for primal infeasibilities.
[ Barrier, Primal Dual Hybrid Gradient, Tolerances]
Controls the computation of the starting point and warm-starting for the Newton barrier and the hybrid gradient algorithms.
[ Barrier, Primal Dual Hybrid Gradient]
If set to a positive integer it determines the number of threads implemented to run the Newton-barrier and hybrid gradient algorithms.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: This control determines whether the barrier method will cross over to the simplex method when at optimal solution has been found, to provide an end basis (see XPRSgetbasis, XPRSwritebasis) and advanced sensitivity analysis information (see XPRSobjsa, XPRSrhssa, XPRSbndsa).
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier: This control determines how crossover adjusts the default relative pivot tolerance.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: The maximum number of iterations that will be performed in the crossover procedure before the optimization process terminates.
[ Barrier, Primal Dual Hybrid Gradient]
Newton barrier and hybrid gradient: a bit-vector (see Section .) for adjusting the behavior of the crossover procedure.
[ Barrier, Bit-vector, Primal Dual Hybrid Gradient]
Determines the maximum number of threads that parallel crossover is allowed to use.
[ Barrier, Parallel, Primal Dual Hybrid Gradient]

Problem Creation

Reference section for functions, controls, and attributes related to problem creation.

Problem Creation library functions

Adds columns to the optimizer matrix.
[ Problem Creation]
Adds one or more general constraints to the problem.
[ Piecewise Linear and General Constraints, Problem Creation]
When a model is loaded, the rows, columns, sets, piecewise linear and general constraints of the model may not have names associated with them.
[ Problem Creation]
Appends an objective function with the given coefficients to a multi-objective problem.
[ Multiobjective, Problem Creation]
Adds one or more piecewise linear constraints to the problem.
[ Piecewise Linear and General Constraints, Problem Creation]
Adds a new quadratic matrix into a row defined by triplets.
[ Problem Creation, Quadratic]
Adds rows to the optimizer matrix.
[ Problem Creation]
Allows sets to be added to the problem after passing it to the Optimizer using the input routines.
[ MIP Entities, Problem Creation]
Copies information defined for one problem to another.
[ Problem Creation]
Sets up a new problem within the Optimizer.
[ Problem Creation]
Delete columns from a matrix.
[ Problem Creation]
Delete general constraints from a problem.
[ Piecewise Linear and General Constraints, Problem Creation]
Delete indicator constraints.
[ MIP Entities, Problem Creation]
Removes an objective function from a multi-objective problem.
[ Problem Creation]
Delete piecewise linear constraints from a problem.
[ Piecewise Linear and General Constraints, Problem Creation]
Deletes the quadratic part of a row or of the objective function.
[ Problem Creation, Quadratic]
Delete rows from a matrix.
[ Problem Creation]
Delete sets from a problem.
[ MIP Entities, Problem Creation]
Removes a given problem and frees any memory associated with it following manipulation and optimization.
[ Problem Creation]
Reads an (X)MPS or LP format matrix from file.
[ File IO, Problem Creation]
Specifies that a set of rows in the matrix will be treated as indicator constraints during a tree search.
[ Problem Creation]

Problem Creation controls

Check input arrays for bad data.
[ File IO, Problem Creation]
The initial number of extra columns to allow for in the matrix.
[ Problem Creation]
The initial number of extra matrix elements to allow for in the matrix, including coefficients for cuts.
[ Problem Creation]
The initial number of extra MIP entities to allow for.
[ Problem Creation]
The initial number of extra rows to allow for in the matrix, including cuts.
[ Problem Creation]
The initial number of extra elements in sets to allow for in the matrix.
[ Problem Creation]
The initial number of extra sets to allow for in the matrix.
[ Problem Creation]
The tolerance on input values elements.
[ File IO, Problem Creation, Tolerances]
How nonbinding rows should be handled by the MPS reader.
[ File IO, Problem Creation]
The maximum number of matrix coefficients to buffer before flushing into the internal representation of the problem.
[ Problem Creation]

Problem Information

Reference section for functions, controls, and attributes related to querying information about a problem from the Optimizer.

Problem Information library functions

Returns a single coefficient in the constraint matrix.
[ Problem Information]
Returns the nonzeros in the constraint matrix for the columns in a given range.
[ Problem Information]
Returns the column types for the columns in a given range.
[ MIP Entities, Problem Information]
Used to return the directives that have been loaded into a matrix.
[ Branching, Problem Information]
Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range.
[ Piecewise Linear and General Constraints, Problem Information]
Returns the index for a specified row or column name.
[ Problem Information]
Returns the indicator constraint condition (indicator variable and complement flag) associated to the rows in a given range.
[ Problem Information]
Returns the lower bounds for the columns in a given range.
[ Problem Information]
Retrieves integr and entity information about a problem.
[ MIP Entities, Problem Information]
Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range.
[ Problem Information, Quadratic]
Returns the objective function coefficients for the columns in a given range.
[ Problem Information]
For a given objective function, returns the objective coefficients for the columns in a given range.
[ Multiobjective, Problem Information]
Returns the mapping of the row and column numbers from the presolve problem back to the original problem.
[ Presolve, Problem Information]
Returns the current problem name.
[ Problem Information]
Returns the piecewise linear constraints y = f(x) in a given range.
[ Piecewise Linear and General Constraints, Problem Information]
Returns a single quadratic objective function coefficient corresponding to the variable pair (objqcol1, objqcol2) of the Hessian matrix.
[ Problem Information, Quadratic]
Returns a single quadratic constraint coefficient corresponding to the variable pair (rowqcol1, rowqcol2) of the Hessian of a given constraint.
[ Problem Information, Quadratic]
Returns the nonzeros in a quadratic constraint coefficients matrix for the columns in a given range.
[ Problem Information, Quadratic]
Returns the nonzeros in a quadratic constraint coefficients matrix as triplets (index pairs with coefficients).
[ Problem Information, Quadratic]
Returns the list indices of the rows that have quadratic coefficients.
[ Problem Information, Quadratic]
Returns the right hand side elements for the rows in a given range.
[ Problem Information]
Returns the right hand side range values for the rows in a given range.
[ Problem Information]
Retrieve if a range of rows have been set up as special rows.
[ Problem Information]
Returns the nonzeros in the constraint matrix for the rows in a given range.
[ Problem Information]
Returns the row types for the rows in a given range.
[ Problem Information]
Returns the upper bounds for the columns in a given range.
[ Problem Information]
Sets the current default problem name.
[ Problem Information]

Problem Information attributes

Number of columns (i.e. variables) in the matrix.
[ Problem Information]
Number of second order cone coefficients in the problem.
[ Problem Information, Quadratic]
Number of second order and rotated second order cones in the problem.
[ Problem Information, Quadratic]
Number of matrix nonzeros (elements).
[ Problem Information]
Number of input variables in general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
The number of general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
Number of constant values in general constraints (MIN/MAX constraints) in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
Number of indicator constrains in the problem.
[ MIP Entities, Problem Information]
Number of columns (i.e. variables) in the original matrix before nonlinear reformulations.
[ Problem Information]
Number of rows (i.e. constraints) in the original matrix before nonlinear reformulations.
[ Problem Information]
The matrix name.
[ Problem Information]
Number of MIP entities (i.e. binary, integer, semi-continuous, partial integer, and semi-continuous integer variables) but excluding the number of special ordered sets.
[ MIP Entities, Problem Information]
Fixed part of the objective function.
[ Problem Information]
Sense of the optimization being performed.
[ Problem Information]
Value of the objective function of the last problem solved with XPRSoptimize.
[ Problem Information, Solution Process]
Number of columns (i.e. variables) in the original matrix before presolving.
[ Problem Information]
Number of input variables in general constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of general constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of constant values in general constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of indicator constraints in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of MIP entities (i.e. binary, integer, semi-continuous, partial integer, and semi-continuous integer variables) but excluding the number of special ordered sets in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of breakpoints of piecewise linear constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of piecewise linear constraints in the original problem before presolving.
[ Piecewise Linear and General Constraints, Problem Information]
Number of quadratic row coefficients in the original matrix before presolving.
[ Problem Information, Quadratic]
Number of rows with quadratic coefficients in the original matrix before presolving.
[ Problem Information, Quadratic]
Number of quadratic non-zeros in the original objective before presolving.
[ Problem Information, Quadratic]
Number of rows (i.e. constraints) in the original matrix before presolving.
[ Problem Information]
Number of variables within special ordered sets (set members) in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of special ordered sets in the original matrix before presolving.
[ MIP Entities, Problem Information]
Number of piecewise linear constraints in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
Number of breakpoints of piecewise linear constraints in the problem.
[ Piecewise Linear and General Constraints, Problem Information]
Number of quadratic row coefficients in the matrix.
[ Problem Information, Quadratic]
Number of rows with quadratic coefficients in the matrix.
[ Problem Information, Quadratic]
Number of quadratic non-zeros in the objective.
[ Problem Information, Quadratic]
Number of rows (i.e. constraints) in the matrix.
[ Problem Information]
Number of variables within special ordered sets (set members) in the matrix.
[ MIP Entities, Problem Information]
Number of special ordered sets in the matrix.
[ MIP Entities, Problem Information]
Number of spare columns in the matrix.
[ Problem Information]
Number of spare matrix elements in the matrix.
[ Problem Information]
Number of spare MIP entities in the matrix.
[ MIP Entities, Problem Information]
Number of spare rows in the matrix.
[ Problem Information]
Number of spare set elements in the matrix.
[ MIP Entities, Problem Information]
Number of spare sets in the matrix.
[ MIP Entities, Problem Information]

Problem Input

Reference section for functions, controls, and attributes related to problem input. The load functions in this section can be used to load an entire optimization problem into the Optimizer, which can be considerably faster than incrementally creating a problem.

Problem Input library functions

Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search.
[ Cuts, Problem Input]
Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file.
[ LP, Problem Input]
Used to load a MIP problem into the Optimizer data structures.
[ MIP Entities, Problem Input]
Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure.
[ Problem Input, Quadratic]
Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures.
[ Problem Input, Quadratic]
Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure.
[ Problem Input, Quadratic]
Used to load a quadratic problem into the Optimizer data structure.
[ Problem Input, Quadratic]

Problem Modification

Reference section for functions, controls, and attributes related to Problem Modification. Make adjustments to the current problem in the Optimizer.

Problem Modification library functions

Used to change the bounds on columns in the matrix.
[ Problem Modification]
Used to change a single coefficient in the matrix.
[ Problem Modification]
Used to change the type of a specified set of columns in the matrix.
[ MIP Entities, Problem Modification]
Used to change semi-continuous or semi-integer lower bounds, or upper limits on partial integers.
[ MIP Entities, Problem Modification]
Used to change multiple coefficients in the matrix.
[ Problem Modification]
Used to change multiple quadratic coefficients in the objective function.
[ Problem Modification, Quadratic]
Used to change the objective function coefficients.
[ Problem Modification]
Modifies one or more coefficients of an objective function in a multi-objective problem.
[ Multiobjective, Problem Modification]
Changes the problem's objective function sense to minimize or maximize.
[ Problem Modification]
Used to change a single quadratic coefficient in the objective function corresponding to the variable pair (objqcol1,objqcol2) of the Hessian matrix.
[ Problem Modification, Quadratic]
Changes a single quadratic coefficient in a row.
[ Problem Modification, Quadratic]
Used to change righthand side values of the problem.
[ Problem Modification]
Used to change the range for a row of the problem matrix.
[ Problem Modification]
Used to change the type of a row in the matrix.
[ Problem Modification]
Clears extra information attached to a range of rows.
[ Problem Modification]
Fixes all the MIP entities to the values of the last found MIP solution.
[ MIP Entities, Problem Modification]

Problem Transformation

Reference section for functions, controls, and attributes related to transformation for specific types of constraints before the actual solution process begins and problem permutation.

Problem Transformation controls

Whether the Optimizer should automatically select between different scaling algorithms.
[ Numerics, Problem Transformation]
For a linear problem or the initial linear relaxation of a MIP, determines whether to form and solve the dual problem.
[ LP, Problem Transformation]
During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough.
[ Presolve, Problem Transformation]
During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough.
[ Presolve, Problem Transformation]
Presolve: convert a linear or quadratic objective function into an objective transfer constraint
[ Presolve, Problem Transformation]
Presolve: reformulate problems with a non-diagonal quadratic objective and/or constraints as diagonal quadratic or second-order conic constraints.
[ Presolve, Problem Transformation]
This bit-vector control (see Section .) specifies whether to randomly permute rows, columns and MIP entities when starting the presolve. With the default value 0, no permutation will take place.
[ Bit-vector, Presolve, Problem Transformation]
This control sets the seed for the pseudo-random number generator for permuting the problem when starting the presolve.
[ Presolve, Problem Transformation]
This bit-vector control (see Section .) specifies whether to sort rows, columns and MIP entities by their names when starting the presolve. With the default value 0, no sorting will take place.
[ Bit-vector, Presolve, Problem Transformation]
This parameter specifies whether dual reductions should be applied to reduce the number of columns, rows and SOS-constraints added when transforming piecewise linear objectives and constraints to MIP structs.
[ Piecewise Linear and General Constraints, Presolve, Problem Transformation]
This control specifies the reformulation method for piecewise linear constraints at the beginning of the search.
[ Piecewise Linear and General Constraints, Presolve, Problem Transformation]
This bit-vector control (see Section .) determines how the Optimizer will rescale a model internally before optimization. If set to 0, no scaling will take place.
[ Bit-vector, Numerics, Problem Transformation]
Tuner: Defines the number of permutations to solve for each control setting.
[ Problem Transformation, Tuner]

Propagation

Reference section for functions, controls, and attributes related to Propagation, which denotes local logical deductions on column bounds during the Branch and Bound Search. Propagation routines are more lightweight than presolving and are hence applicable at every node of the search tree.

Propagation controls

Controls aggressiveness of searching for alternative reduced cost
[ Propagation]
Limits the effort that is spent on propagation during spatial branching.
[ Global, Propagation]

Quadratic

Reference section for functions, controls, and attributes related to optimization problems with Quadratic terms in the objective function (called 'QP' or 'MIQP'), or in the rows of the problem (called 'QCP' or 'MIQCP'), or both in the objective and the rows.

Quadratic library functions

Adds a new quadratic matrix into a row defined by triplets.
[ Problem Creation, Quadratic]
Used to change multiple quadratic coefficients in the objective function.
[ Problem Modification, Quadratic]
Used to change a single quadratic coefficient in the objective function corresponding to the variable pair (objqcol1,objqcol2) of the Hessian matrix.
[ Problem Modification, Quadratic]
Changes a single quadratic coefficient in a row.
[ Problem Modification, Quadratic]
Deletes the quadratic part of a row or of the objective function.
[ Problem Creation, Quadratic]
Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range.
[ Problem Information, Quadratic]
Returns a single quadratic objective function coefficient corresponding to the variable pair (objqcol1, objqcol2) of the Hessian matrix.
[ Problem Information, Quadratic]
Returns a single quadratic constraint coefficient corresponding to the variable pair (rowqcol1, rowqcol2) of the Hessian of a given constraint.
[ Problem Information, Quadratic]
Returns the nonzeros in a quadratic constraint coefficients matrix for the columns in a given range.
[ Problem Information, Quadratic]
Returns the nonzeros in a quadratic constraint coefficients matrix as triplets (index pairs with coefficients).
[ Problem Information, Quadratic]
Returns the list indices of the rows that have quadratic coefficients.
[ Problem Information, Quadratic]
Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure.
[ Problem Input, Quadratic]
Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures.
[ Problem Input, Quadratic]
Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure.
[ Problem Input, Quadratic]
Used to load a quadratic problem into the Optimizer data structure.
[ Problem Input, Quadratic]

Quadratic console functions

Convexity checker.
[ Linear Algebra, Quadratic]

Quadratic controls

A quadratic matrix is considered not to be positive semi-definite, if its smallest eigenvalue is smaller than the negative of this value.
[ Quadratic, Tolerances]
Determines if the convexity of the problem is checked before optimization.
[ Presolve, Quadratic]
This control determines which algorithm is to be used to solve mixed integer quadratic constrained and mixed integer second order cone problems.
[ Branch and Bound Search, Quadratic]
Determines if convex quadratic constraints should be used for inferring bound reductions on variables when solving a MIP.
[ Presolve, Quadratic]
Presolve: decompose regular and rotated cones with more than two elements and apply Outer Approximation on the resulting components.
[ Presolve, Quadratic]
Presolve: Allows for elimination of quadratic variables via doubleton rows.
[ Presolve, Quadratic]
Branch and Bound: Limit on the number of rounds of outer approximation cuts generated for the root node, when solving a mixed integer quadratic constrained or mixed integer second order conic problem with outer approximation.
[ Cuts, Quadratic]
This control determines which algorithm is to be used to solve the root of a mixed integer quadratic constrained or mixed integer second order cone problem, when outer approximation is used.
[ Quadratic, Root]
Controls the behavior of the quadratic simplex solvers via a bit-vector (see Section .).
[ Bit-vector, Quadratic, Simplex]
Determines whether an extra solution purification step is called after a solution found by the quadratic simplex (either primal or dual).
[ Quadratic, Simplex]
Controls if the optimizer should make indefinite quadratic matrices positive definite when it is possible.
[ Quadratic]
Determines whether RLT cuts should be separated in the Xpress Global Solver.
[ Cuts, Quadratic]
Branch and Bound: Limit on the number of rounds of outer approximation cuts generated for nodes other than the root node, when solving a mixed integer quadratic constrained or mixed integer second order conic problem with outer approximation.
[ Branch and Bound Search, Quadratic]

Quadratic attributes

Number of second order cone coefficients in the problem.
[ Problem Information, Quadratic]
Number of second order and rotated second order cones in the problem.
[ Problem Information, Quadratic]
Number of quadratic row coefficients in the original matrix before presolving.
[ Problem Information, Quadratic]
Number of rows with quadratic coefficients in the original matrix before presolving.
[ Problem Information, Quadratic]
Number of quadratic non-zeros in the original objective before presolving.
[ Problem Information, Quadratic]
Number of quadratic row coefficients in the matrix.
[ Problem Information, Quadratic]
Number of rows with quadratic coefficients in the matrix.
[ Problem Information, Quadratic]
Number of quadratic non-zeros in the objective.
[ Problem Information, Quadratic]

Root

Reference section for functions, controls, and attributes related to the root node of the Branch and Bound Search. During root node processing, all derived information such as cutting planes or domain reductions are still valid for the whole problem before the search enters the tree search. For this reason, the root node deserves special attention. The optimizer will typically spend a larger amount of time at the root node than at any other node deeper in the tree.

Root controls

Limit the number of threads to use in background jobs (for example in parallel to the root cut loop).
[ Parallel, Root]
Bit-vector control (see Section .) to select which tasks to run in background jobs (for example in parallel to the root cut loop).
[ Bit-vector, Heuristics, Root]
Branch and Bound: The number of rounds of lifted cover inequalities at the root node.
[ Cuts, Root]
A bit-vector (see Section .) providing detailed control of the cuts created for the root node of a MIP solve. Use TREECUTSELECT to control cuts during the tree search.
[ Bit-vector, Cuts, Root]
Branch and Bound: The number of rounds of Gomory or lift-and-project cuts at the root node.
[ Cuts, Root]
Bit-vector control (see Section .) to select which large neighborhood searches to run in the background (for example in parallel to the root cut loop).
[ Bit-vector, Heuristics, Root]
How frequently to run the local search heuristic during root cutting.
[ Heuristics, Root]
A bit-vector control (see Section .) for selecting which local search heuristics to apply on the root node of a MIP solve. Use HEURSEARCHTREESELECT to control local search heuristics during the tree search.
[ Bit-vector, Heuristics, Root]
Number of infeasible MIP entities to create lift-and-project cuts for during each round of Gomory cuts at the root node (see GOMCUTS).
[ Cuts, Root]
A bit-vector control (see Section .) which defines the algorithm for solving an LP problem or the initial LP relaxation of a MIP problem.
[ Bit-vector, LP, Root]
Branch and Bound: Specifies how often the optimizer should run a heuristic to reduce the number of fractional integer variables in the node LP solutions.
[ Branch and Bound Search, Root]
This control determines which algorithm is to be used to solve the root of a mixed integer quadratic constrained or mixed integer second order cone problem, when outer approximation is used.
[ Quadratic, Root]
Determines if presolving should be performed on the problem after the tree search has finished with root cutting and heuristics.
[ Root]

Save Restore

Reference section for functions, controls, and attributes related to Save and Restore functionality of the Optimizer.

Save Restore library functions

Restores the Optimizer's data structures from a file created by XPRSsave (SAVE).
[ File IO, Save Restore]
Saves the current data structures to file and terminates the run
[ File IO, Save Restore]

Sensitivity Analysis

Reference section for functions, controls, and attributes related to Sensitivity Analysis.

Sensitivity Analysis library functions

Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds.
[ LP, Sensitivity Analysis]
Performs a dual side range sensitivity analysis, i.e. calculates estimates for the possible ranges for dual values.
[ LP, Sensitivity Analysis]
Returns upper and lower sensitivity ranges for specified objective function coefficients.
[ LP, Sensitivity Analysis]
Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients.
[ LP, Sensitivity Analysis]

Simplex

Reference section for functions, controls, and attributes related to the Simplex algorithms (primal, dual, network) that the Optimizer uses to solve linear programming problems (LPs) as standalone optimization problems or as relaxations during the Branch and Bound Search.

Simplex library functions

Returns the pivot order of the basic variables.
[ LP, Simplex]
Returns a list of potential leaving variables if a specified variable enters the basis.
[ LP, Simplex]
Returns the current basis from memory into the user's data areas.
[ LP, Simplex]
Performs a simplex pivot by bringing variable enter into the basis and removing leave.
[ Linear Algebra, Simplex]
Post-multiplies a (row) vector provided by the user by the inverse of the current matrix.
[ Linear Algebra, Simplex]
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
[ Linear Algebra, Simplex]

Simplex controls

The algorithm to be used for the clean up step after the network simplex solver.
[ LP, Simplex]
Simplex: This determines the type of crash used when the algorithm begins.
[ Bit-vector, LP, Simplex]
Simplex: This specifies the dual simplex pricing method.
[ LP, Simplex]
The factor by which the problem will be perturbed prior to optimization by dual simplex.
[ LP, Simplex]
This bit-vector control (see Section .) specifies the dual simplex strategy.
[ Bit-vector, LP, Simplex]
Tolerance on eta elements.
[ Simplex, Tolerances]
This tolerance determines how much a feasible primal basic solution is allowed to be perturbed when performing basis changes.
[ Simplex, Tolerances]
Dual simplex: specifies whether the dual simplex solver should always use the parallel simplex algorithm.
[ LP, Simplex]
Simplex: The frequency with which the basis will be inverted.
[ Simplex]
Simplex: The minimum number of iterations between full inversions of the basis matrix.
[ Simplex]
Simplex: This determines whether the basis should be kept when reoptimizing a problem.
[ LP, Simplex]
The Markowitz tolerance used for the factorization of the basis matrix.
[ LP, Simplex]
Limit the number of degenerate pivots of the network simplex algorithm, before switching to either primal or dual simplex, depending on ALGAFTERNETWORK.
[ Limits, Simplex]
Simplex: The zero tolerance for matrix elements.
[ Simplex, Tolerances]
The partial pricing candidate list sizing parameter.
[ Simplex]
Simplex: This determines the primal simplex pricing method.
[ LP, Simplex]
Primal simplex: allows fine tuning the variable selection in the primal simplex solver.
[ Bit-vector, LP, Simplex]
The factor by which the problem will be perturbed prior to optimization by primal simplex.
[ LP, Simplex]
Determines whether primal is allowed to call dual to unshift.
[ LP, Simplex]
Controls the behavior of the quadratic simplex solvers via a bit-vector (see Section .).
[ Bit-vector, Quadratic, Simplex]
Determines whether an extra solution purification step is called after a solution found by the quadratic simplex (either primal or dual).
[ Quadratic, Simplex]
Indicates whether the optimization should restart using the current representation of the factorization in memory.
[ Branch and Bound Search, Simplex]
Simplex: At each iteration a pivot element is chosen within a given column of the matrix.
[ Simplex, Tolerances]
Determines whether to enable sifting algorithm with the dual simplex method.
[ LP, Simplex]
Determines how quickly we allow to grow the worker problems during the sifting algorithm.
[ LP, Simplex]
Determines the presolve operations for solving the subproblems during the sifting algorithm.
[ LP, Simplex]
Determines which algorithm to use for solving the subproblems during sifting.
[ LP, Simplex]

Simplex attributes

Number of simplex iterations performed.
[ LP, Simplex]

Solution Process

Reference section for functions, controls, and attributes related to the invocation of a solution algorithm of the Optimizer, and the most fundamental status information after the Optimizer returns.

Solution Process library functions

Interrupts the Optimizer algorithms.
[ Solution Process]
This function begins a search for the optimal continuous (LP) solution.
[ LP, Solution Process]
This function begins a tree search for the optimal MIP solution.
[ MIP Entities, Solution Process]
This function begins a search for the optimal solution of the problem.
[ Solution Process]
Postsolve the current matrix when it is in a presolved state.
[ Presolve, Solution Process]

Solution Process attributes

Value of the objective function of the last problem solved with XPRSoptimize.
[ Problem Information, Solution Process]
The type of solver used in the last call to XPRSoptimize, XPRSmipoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ Solution Process]
Status of the solution of the last problem solved with XPRSoptimize.
[ Solution, Solution Process]
Status of the solve of the last problem solved with XPRSoptimize.
[ Solution Process]
Status of the optimization process.
[ Solution Process]
Time spent solving the problem as measured by the optimizer.
[ Solution Process]
Amount of deterministic algorithmic "work" spent since the invocation of the search process.
[ Determinism, Solution Process]

Solution Refinement

Reference section for functions, controls, and attributes related to Solution Refinement, an iterative procedure that helps reducing numerical artifacts in a solution.

Solution Refinement controls

This specifies the target feasibility tolerance for the solution refiner.
[ Solution Refinement, Tolerances]
This specifies the simplex iteration limit the solution refiner can spend in attempting to increase the accuracy of an LP solution.
[ LP, Solution Refinement]
This defines an effort limit expressed as simplex iterations for the MIP solution refiner.
[ Limits, Solution Refinement]
Target MIPTOL value used by the automatic MIP solution refiner as defined by REFINEOPS.
[ Solution Refinement, Tolerances]
This specifies the target optimality tolerance for the solution refiner.
[ Solution Refinement, Tolerances]
This specifies when the solution refiner should be executed to reduce solution infeasibilities.
[ Bit-vector, Solution Refinement]

Solution

Reference section for functions, controls, and attributes related to the handling of optimal or intermediate solutions.

Solution library functions

Declares a user integer solution callback function, called every time an integer solution is found by heuristics or during the Branch and Bound search.
[ Callback, Solution]
Declares a user integer solution callback function, called when an integer solution is found by heuristics or during the branch and bound search, but before it is accepted by the Optimizer.
[ Callback, Solution]
Declares a callback function to be called each time a solution added by XPRSaddmipsol has been processed.
[ Callback, Solution]
Adds a new feasible, infeasible or partial MIP solution for the problem to the Optimizer.
[ Solution]
Calculates the objective value of a given solution.
[ Solution]
Calculates the objective value of the given objective function in a multi-objective problem.
[ Multiobjective, Solution]
Calculates the reduced cost values for a given (row) dual solution.
[ Linear Algebra, Solution]
Calculates the row slack values for a given solution.
[ Solution]
Calculates the required property of a solution, like maximum infeasibility of a given primal and dual solution.
[ Solution]
Returns the dual values dual value for this constraint from the solution associated with the current callback.
[ Callback, Solution]
Returns the dual values from the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the reduced costs from the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the slack values from the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the solution to the presolved problem associated with the current callback.
[ Callback, Solution]
Returns the reduced costs reduced cost for this variable from the solution associated with the current callback.
[ Callback, Solution]
Returns the slack values slack value for this constraint from the solution associated with the current callback.
[ Callback, Solution]
Returns the primal values primal value for this variable from the solution associated with the current callback.
[ Callback, Solution]
Retrieves a dual ray (dual unbounded direction) for the current problem, if the problem is found to be infeasible.
[ LP, Solution]
Returns the dual values dual value for this constraint from the incumbent solution during or after optimization of a continuous problem with XPRSoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ LP, Solution]
Returns a list of infeasible primal and dual variables.
[ LP, Solution]
Used to obtain the last barrier solution values following optimization that used the barrier solver.
[ Barrier, Solution]
Used to obtain the LP solution values following optimization.
[ LP, Solution]
Returns the solution for the presolved problem from memory.
[ Presolve, Solution]
Retrieves a primal ray (primal unbounded direction) for the current problem, if the problem is found to be unbounded.
[ LP, Solution]
Returns the slack values slack value for this constraint from the incumbent solution during or after optimization with XPRSoptimize, XPRSmipoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ LP, Solution]
Returns the primal value of this variable from the incumbent solution during or after optimization with XPRSoptimize, XPRSmipoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ Solution]
Returns the index vector which causes the primal simplex or dual simplex algorithm to determine that a matrix is primal or dual unbounded respectively.
[ LP, Solution]
Loads an LP solution for the problem into the Optimizer.
[ Data Input, LP, Solution]
Loads a starting MIP solution for the problem into the Optimizer.
[ Data Input, MIP Entities, Solution]
Postsolves a primal solution formulated in the presolved space into the corresponding solution formulated in the original space.
[ Presolve, Solution]
Reads a solution from a binary solution file.
[ File IO, Solution]
Reads an ASCII solution file .slx created by the XPRSwriteslxsol function.
[ File IO, Solution]
Removes an integer solution callback function previously added by XPRSaddcbintsol.
[ Callback, Solution]
Removes a pre-integer solution callback function previously added by XPRSaddcbpreintsol.
[ Callback, Solution]
Removes a user solution notification callback previously added by XPRSaddcbusersolnotify.
[ Callback, Solution]
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
[ File IO, Solution]
Writes the current solution to a fixed format ASCII file, problem_name .prt.
[ File IO, Solution]
Creates an ASCII solution file (.slx) using a similar format to MPS files. These files can be read back into the Optimizer using the XPRSreadslxsol function.
[ File IO, Solution]
Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr).
[ File IO, Solution]

Solution console functions

Write the current solution to screen.
[ Solution]
Reads a solution from a binary solution file.
[ File IO, Solution]
Reads an ASCII solution file .slx created by the XPRSwriteslxsol function.
[ File IO, Solution]
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
[ File IO, Solution]
Writes the current solution to a fixed format ASCII file, problem_name .prt.
[ File IO, Solution]
Creates an ASCII solution file (.slx) using a similar format to MPS files. These files can be read back into the Optimizer using the XPRSreadslxsol function.
[ File IO, Solution]
Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr).
[ File IO, Solution]

Solution controls

This bit-vector control (see Section .) allows for the adjustment of returned solution values such that they are always within bounds.
[ Bit-vector, Numerics, Solution]
Branch and Bound: This specifies a limit on the number of integer solutions to be found by the Optimizer.
[ Limits, Solution]

Solution attributes

Objective function value of the last integer solution found.
[ Branch and Bound Search, Solution]
Node at which the last integer feasible solution was found.
[ Branch and Bound Search, Solution]
Number of integer solutions that have been found.
[ Branch and Bound Search, Solution]
Time at which the last integer feasible solution was found.
[ Branch and Bound Search, Solution]
Status of the solution of the last problem solved with XPRSoptimize.
[ Solution, Solution Process]

System

Reference section for functions, controls, and attributes related to Computer hardware and system specifications.

System controls

Used to override the detected value of the number of cores on a CPU.
[ System]
Newton Barrier: Selects the AMD, Intel x86 or ARM vectorization instruction set that Barrier should run optimized code for.
[ System]
How time should be measured when timings are reported in the log and when checking against time limits
[ System]

System attributes

Number of logical cores detected by the optimizer, which is the total number of threads the hardware can execute across all CPUs.
[ System]
Number of logical cores per CPU unit detected by the optimizer, which is the number of threads each CPU can execute.
[ System]
Number of CPU units detected by the optimizer.
[ System]
The total number of physical cores across all CPUs detected by the optimizer.
[ System]
The number of physical cores per CPU detected by the optimizer.
[ System]
The amount of non problem specific memory used by the solver.
[ Memory, System]

Tolerances

Reference section for functions, controls, and attributes related to feasibility and optimality tolerances.

Tolerances controls

Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for dual infeasibilities.
[ Barrier, Primal Dual Hybrid Gradient, Tolerances]
Newton barrier and hybrid gradient: This is a convergence parameter, indicating the tolerance for primal infeasibilities.
[ Barrier, Primal Dual Hybrid Gradient, Tolerances]
A quadratic matrix is considered not to be positive semi-definite, if its smallest eigenvalue is smaller than the negative of this value.
[ Quadratic, Tolerances]
The Markowitz tolerance for the elimination phase of the presolve.
[ Presolve, Tolerances]
Tolerance on eta elements.
[ Simplex, Tolerances]
This tolerance determines when a solution is treated as feasible.
[ Tolerances]
This tolerance determines how much a feasible primal basic solution is allowed to be perturbed when performing basis changes.
[ Simplex, Tolerances]
This specifies the target feasibility tolerance for the solution refiner.
[ Solution Refinement, Tolerances]
The tolerance on input values elements.
[ File IO, Problem Creation, Tolerances]
The zero tolerance on matrix elements.
[ Tolerances]
Branch and Bound: This is the tolerance within which a decision variable's value is considered to be integral.
[ Tolerances]
Target MIPTOL value used by the automatic MIP solution refiner as defined by REFINEOPS.
[ Solution Refinement, Tolerances]
Simplex: This is the zero tolerance for reduced costs.
[ Tolerances]
This specifies the target optimality tolerance for the solution refiner.
[ Solution Refinement, Tolerances]
Zero tolerance on print values.
[ File IO, Tolerances]
Simplex: The zero tolerance for matrix elements.
[ Simplex, Tolerances]
Simplex: At each iteration a pivot element is chosen within a given column of the matrix.
[ Simplex, Tolerances]
The minimum relative gap between the ordering values of elements in a special ordered set.
[ Tolerances]

Tuner

Reference section for functions, controls, and attributes related to the algorithmic tuning of control values to customize the Optimizer.

Tuner library functions

This function begins a tuner session for the current problem.
[ Tuner]
This function begins a tuner session for a set of problems.
[ Tuner]
This function loads a user defined tuner method from the given file.
[ File IO, Tuner]
This function writes the current tuner method to a given file or prints it to the console.
[ File IO, Tuner]

Tuner console functions

Console Tuner command.
[ Tuner]

Tuner controls

Tuner: Whether to reuse and append to previous tuner results of the same problem.
[ Tuner]
Tuner: The maximum time in seconds that the tuner will run before it terminates.
[ Limits, Tuner]
Tuner: Selects a factory tuner method.
[ Tuner]
Tuner: Defines a file from which the tuner can read user-defined tuner method.
[ File IO, Tuner]
Tuner: Whether to always enable the tuner or disable it.
[ Tuner]
Tuner: Whether to output tuner results and logs to the file system.
[ File IO, Tuner]
Tuner: Defines a root path to which the tuner writes the result file and logs.
[ File IO, Tuner]
Tuner: Defines the number of permutations to solve for each control setting.
[ Problem Transformation, Tuner]
Tuner: Defines a session name for the tuner.
[ Tuner]
Tuner: Defines the tuner target -- what should be evaluated when comparing two runs with different control settings.
[ Tuner]
Tuner: the number of threads used by the tuner.
[ Parallel, Tuner]
Tuner: whether the tuner should prints detailed information for each run.
[ Logging, Tuner]

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.