Reference Documentation by Topic/Functionality
Topics covered in this chapter:
- Barrier
- Bit-vector
- Branch and Bound Search
- Branching Object
- Branching
- Callback
- Compute Interface
- Controls and Attributes
- Cuts
- Data Input
- Determinism
- File IO
- Global Environment
- Global
- Heuristics
- Infeasibility
- Licensing
- Limits
- Linear Algebra
- Logging
- LP
- Memory
- MIP Entities
- Misc
- Multiobjective
- Names Manager
- Numerics
- Parallel
- Piecewise Linear and General Constraints
- Presolve
- Primal Dual Hybrid Gradient
- Problem Creation
- Problem Information
- Problem Input
- Problem Modification
- Problem Transformation
- Propagation
- Quadratic
- Root
- Save Restore
- Sensitivity Analysis
- Simplex
- Solution Process
- Solution Refinement
- Solution
- System
- Tolerances
- Tuner
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
Barrier 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] |
|
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] |
|
The maximum number of barrier iterations in which an iterative solver is used instead of the Cholesky decomposition.
[ Barrier] |
|
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] |
|
Newton barrier: This controls the Cholesky factorization in the Newton-Barrier.
[ Barrier] |
|
Newton barrier and hybrid gradient: This specifies the level of solution output provided.
[ Barrier, Logging, Primal Dual Hybrid Gradient] |
|
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] |
|
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] |
|
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] |
|
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
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] |
|
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] |
|
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] |
|
(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 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
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] |
|
Performs strong branching iterations on all specified bound changes.
[ Branching] |
|
Performs strong branching iterations on all specified bound changes.
[ Branching] |
|
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] |
|
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] |
|
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 callback which will be called before each objective in a multi-objective problem is solved.
[ Callback, Multiobjective] |
|
Declares a callback to be called when a solve executed in compute mode needs to be restarted.
[ Callback, Compute Interface] |
|
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] |
|
Copies callback functions defined for one problem to another.
[ Callback] |
|
Removes a callback function previously added by XPRSaddcbafterobjective.
[ Callback, Multiobjective] |
|
Removes a callback function previously added by XPRSaddcbbeforeobjective.
[ Callback, Multiobjective] |
|
Removes a computerestart callback function previously added by XPRSaddcbcomputerestart.
[ Callback, Compute Interface] |
|
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] |
|
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 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
Adds cuts directly to the matrix at the current node.
[ 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] |
|
Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search.
[ Cuts, Problem Input] |
|
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: 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] |
|
Level of Multi-Commodity Flow (MCF) cutting planes separation: This specifies how much aggresively MCF cuts should be separated.
[ Cuts] |
|
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
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 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 matrix.
[ Data Input] |
|
Loads a starting MIP solution for the problem into the Optimizer.
[ Data Input, MIP Entities, 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] |
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] |
|
Restores the Optimizer's data structures from a file created by XPRSsave (SAVE).
[ File IO, Save Restore] |
|
Writes the current problem to an MPS or LP file.
[ File IO] |
|
File IO controls
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] |
|
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] |
|
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] |
|
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] |
|
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] |
|
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] |
|
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
Console IIS command.
[ Infeasibility] |
|
An extended version of XPRSrepairweightedinfeas that allows for bounding the level of relaxation allowed.
[ Infeasibility] |
Infeasibility controls
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] |
|
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
Limits controls
Branch and Bound: Simplex iteration limit for reoptimizing during the diving heuristic.
[ Heuristics, Limits] |
|
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] |
|
This function controls the number of Irreducible Infeasible Sets to be found using the XPRSiisall (IIS -a).
[ Infeasibility, Limits] |
|
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] |
|
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] |
|
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] |
|
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] |
|
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] |
|
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
[ 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
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
Logging controls
Newton barrier and hybrid gradient: This specifies the level of solution output provided.
[ Barrier, Logging, Primal Dual Hybrid Gradient] |
|
Number of lines between page breaks in printable output.
[ Logging] |
|
MIP log print control.
[ Logging] |
|
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] |
|
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] |
|
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
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] |
|
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 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] |
|
Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file.
[ LP, Problem Input] |
|
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] |
|
LP controls
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] |
|
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] |
|
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] |
|
This bit-vector control (see Section .) specifies the dual simplex strategy.
[ Bit-vector, 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] |
|
This specifies the simplex iteration limit the solution refiner can spend in attempting to increase the accuracy of an LP solution.
[ LP, Solution Refinement] |
|
Primal simplex: allows fine tuning the variable selection in the primal simplex solver.
[ Bit-vector, LP, Simplex] |
|
LP attributes
The algorithm the optimizer currently is running / was running just before completition.
[ LP] |
|
Number of dual infeasibilities.
[ LP] |
|
Value of the objective function of the last LP solved.
[ LP] |
|
LP solution status.
[ LP] |
|
Number of primal infeasibilities.
[ LP] |
|
Memory
Reference section for functions, controls, and attributes related to memory handling and usage.
Memory controls
Specifies an explicit number of threads that should be used for the Pre-root parallel heuristic phase.
[ Heuristics, Memory, Parallel] |
|
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] |
|
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 dynamically allocated heap memory by the optimizer, including all problems currently exsisting.
[ 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] |
|
Fixes all the MIP entities to the values of the last found MIP solution.
[ MIP Entities, Problem Modification] |
|
Loads a starting MIP solution for the problem into the Optimizer.
[ Data Input, MIP Entities, Solution] |
|
MIP Entities attributes
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] |
|
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] |
|
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
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] |
|
Re-scales the current matrix.
[ Numerics] |
Numerics controls
Whether the Optimizer should automatically select between different scaling algorithms.
[ Numerics, Problem Transformation] |
|
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: 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] |
|
Largest basis condition number (also known as kappa) calculated through all nodes sampled by MIPKAPPAFREQ.
[ Branch and Bound Search, Numerics] |
|
A measure between 0 and 1 to predict how numerically unstable the current MIP solve can be expected to be.
[ 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
Parallel controls
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 threads implemented to run the Newton-barrier and hybrid gradient algorithms.
[ Barrier, Parallel, Primal Dual Hybrid Gradient] |
|
Determines the maximum number of threads that parallel crossover is allowed to use.
[ Barrier, Parallel, Primal Dual Hybrid Gradient] |
|
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] |
|
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
Returns the mapping of the row and column numbers from the presolve problem back to the original problem.
[ Presolve, Problem Information] |
|
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] |
|
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] |
|
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] |
|
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] |
|
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] |
|
Minimum absolute penalty variable coefficient.
[ 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 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] |
|
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: 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] |
|
This control determines whether presolving should be performed prior to starting the main algorithm.
[ Presolve] |
|
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] |
|
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] |
|
Presolve attributes
Presolve: The row or column index on which presolve detected a problem to be infeasible or unbounded.
[ 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 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] |
|
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] |
|
Delete rows from a matrix.
[ Problem Creation] |
|
Removes a given problem and frees any memory associated with it following manipulation and optimization.
[ 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
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 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] |
|
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] |
|
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 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 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 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 spare columns in the matrix.
[ Problem Information] |
|
Number of spare matrix elements in the matrix.
[ Problem Information] |
|
Number of spare rows in the matrix.
[ 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 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] |
|
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] |
|
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] |
|
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
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] |
|
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] |
|
Quadratic console functions
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] |
|
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] |
|
Controls the behavior of the quadratic simplex solvers via a bit-vector (see Section .).
[ Bit-vector, Quadratic, Simplex] |
|
Controls if the optimizer should make indefinite quadratic matrices positive definite when it is possible.
[ 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 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] |
|
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
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] |
|
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 .) 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 .) 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] |
|
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] |
|
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
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
Simplex: This determines the type of crash used when the algorithm begins.
[ Bit-vector, LP, Simplex] |
|
This bit-vector control (see Section .) specifies the dual simplex strategy.
[ Bit-vector, LP, Simplex] |
|
This tolerance determines how much a feasible primal basic solution is allowed to be perturbed when performing basis changes.
[ Simplex, Tolerances] |
|
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] |
|
The partial pricing candidate list sizing parameter.
[ Simplex] |
|
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] |
|
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] |
|
Simplex attributes
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 solution of the problem.
[ 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 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
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 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 primal value of this variable from the incumbent solution during or after optimization with XPRSoptimize, XPRSmipoptimize, XPRSlpoptimize or XPRSnlpoptimize.
[ Solution] |
|
Loads a starting MIP solution for the problem into the Optimizer.
[ Data Input, MIP Entities, Solution] |
|
Solution console functions
Write the current solution to screen.
[ 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] |
|
Solution attributes
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] |
|
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] |
|
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 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] |
|
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] |
|
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: Selects a factory tuner method.
[ Tuner] |
|
Tuner: Whether to always enable the tuner or disable it.
[ 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] |
|
© 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.