Initializing help system before first use

XPRSprob Properties

The XPRSprob type exposes the following members.

Properties
  Name Description
Public property ActiveNodes Number of outstanding nodes.
Public property AlgAfterCrossOver The algorithm to be used for the final clean up step after the crossover.
Public property AlgAfterNetwork The algorithm to be used for the clean up step after the network simplex solver.
Public property Algorithm The algorithm the optimizer currently is running / was running just before completition.
Public property AlternativeRedCosts Controls aggressiveness of searching for alternative reduced cost
Public property AttentionLevel A measure between 0 and 1 for how numerically unstable the problem is. The attention level is based on a weighted combination of the number of basis condition numbers exceeding certain thresholds. It considers all nodes sampled by MIPKAPPAFREQ, with a setting of 1 being the most frequent sampling rate. The higher the attention level, the worse conditioned is the problem.
Public property AutoCutting 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.
Public property AutoPerturb Simplex: This indicates whether automatic perturbation is performed. If this is set to 1, the problem will be perturbed whenever the simplex method encounters an excessive number of degenerate pivot steps, thus preventing the Optimizer being hindered by degeneracies.
Public property AutoScaling Whether the Optimizer should automatically select between different scaling algorithms. If the SCALING control is set, no automatic scaling will be applied.
Public property AvailableMemory The amount of heap memory detected by Xpress as free.
Public property BackgroundMaxThreads Limit the number of threads to use in background jobs (for example in parallel to the root cut loop).
Public property BackgroundSelect Bit-vector control (see Section ) to select which tasks to run in background jobs (for example in parallel to the root cut loop).
Public property BackTrack Branch and Bound: Specifies how to select the next node to work on when a full backtrack is performed.
Public property BacktrackTie Branch and Bound: Specifies how to break ties when selecting the next node to work on when a full backtrack is performed. The options are the same as for the BACKTRACK control.
Public property BarAASize Number of nonzeros in AA^T.
Public property BarAlg This control determines which barrier algorithm is used to solve the problem. Notably, this is also the control to enable the primal-dual hybrid gradient algorithm.
Public property BarCGap Convergence criterion for the Newton barrier algorithm.
Public property BarCondA Absolute condition measure calculated in the last iteration of the barrier algorithm.
Public property BarCondD Condition measure calculated in the last iteration of the barrier algorithm.
Public property BarCores 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. If the value is set to the default value (-1), Xpress will automatically detect the number of cores.
Public property BarCrash Newton barrier and hybrid gradient: This determines the type of crash used for the crossover. During the crash procedure, an initial basis is determined which attempts to speed up the crossover. A good choice at this stage will significantly reduce the number of iterations required to crossover to an optimal solution. The possible values increase proportionally to their time-consumption.
Public property BarCrossover Indicates whether or not the basis crossover phase has been entered.
Public property BarDenseCol Number of dense columns found in the matrix.
Public property BarDualInf Sum of the dual infeasibilities for the Newton barrier algorithm.
Public property BarDualObj Dual objective value calculated by the Newton barrier algorithm.
Public property BarDualStop Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for dual infeasibilities. If the difference between the constraints and their bounds in the dual problem falls below this tolerance in absolute value, optimization will stop and the current solution will be returned.
Public property BarFailIterLimit Newton barrier: The maximum number of consecutive iterations that fail to improve the solution in the barrier algorithm.
Public property BarFreeScale Defines how the barrier algorithm scales free variables.
Public property BarGapStop Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for the relative duality gap. When the difference between the primal and dual objective function values falls below this tolerance, the Optimizer determines that the optimal solution has been found.
Public property BarGapTarget Newton barrier: The target tolerance for the relative duality gap. The barrier algorithm will keep iterating until either BARGAPTARGET is satisfied or until no further improvements are possible. In the latter case, if BARGAPSTOP is satisfied, it will declare the problem optimal.
Public property BarhgExtrapolate Extrapolation parameter for the hybrid gradient algorithm. Although theory suggests that a value of 1 is best, slightly smaller values perform better in general.
Public property BarhgMaxRestarts The maximum number of restarts in the hybrid gradient algorithm. Restarts play the role of iterations in the hybrid gradient algorithm. A log line is printed at every restart, unless BAROUTPUT is set to 0.
Public property BarhgOps 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.
Public property BarIndefLimit Newton Barrier. This limits the number of consecutive indefinite barrier iterations that will be performed. The optimizer will try to minimize (resp. maximize) a QP problem even if the Q matrix is not positive (resp. negative) semi-definite. However, the optimizer may detect that the Q matrix is indefinite and this can result in the optimizer not converging. This control specifies how many indefinite iterations may occur before the optimizer stops and reports that the problem is indefinite. It is usual to specify a value greater than one, and only stop after a series of indefinite matrices, as the problem may be found to be indefinite incorrectly on a few iterations for numerical reasons.
Public property BarIter Number of Newton barrier iterations.
Public property BarIterative The maximum number of barrier iterations in which an iterative solver is used instead of the Cholesky decomposition.
Public property BarIterLimit Newton barrier: The maximum number of iterations. While the simplex method usually performs a number of iterations which is proportional to the number of constraints (rows) in a problem, the barrier method standardly finds the optimal solution to a given accuracy after a number of iterations which is independent of the problem size. The penalty is rather that the time for each iteration increases with the size of the problem. BARITERLIMIT specifies the maximum number of iterations which will be carried out by the barrier.
Public property BarKeepLastSol Control BARKEEPLASTSOL.
Public property BarKernel Newton barrier: Defines how centrality is weighted in the barrier algorithm.
Public property BarLargeBound Threshold for the barrier to handle large bounds.
Public property BarLSize Number of nonzeros in L resulting from the Cholesky factorization.
Public property BarNumStability Control BARNUMSTABILITY.
Obsolete
Public property BarObjPerturb Defines how the barrier perturbs the objective.
Public property BarObjScale Defines how the barrier scales the objective.
Public property BarOrder Newton barrier: This controls the Cholesky factorization in the Newton-Barrier.
Public property BarOrderThreads If set to a positive integer it determines the number of concurrent threads for the sparse matrix ordering algorithm in the Newton-barrier method.
Public property BarOutput Newton barrier and hybrid gradient: This specifies the level of solution output provided. Output is provided either after each iteration of the algorithm, or else can be turned off completely by this parameter.
Public property BarPerturb Newton barrier: In numerically challenging cases it is often advantageous to apply perturbations on the KKT system to improve its numerical properties. BARPERTURB controlls how much perturbation is allowed during the barrier iterations. By default no perturbation is allowed. Set this parameter with care as larger perturbations may lead to less efficient iterates and the best settings are problem-dependent.
Public property BarPresolveOps Newton barrier: This bit-vector (see Section ) controls the Newton-Barrier specific presolve operations.
Public property BarPrimalInf Sum of the primal infeasibilities for the Newton barrier algorithm.
Public property BarPrimalObj Primal objective value calculated by the Newton barrier algorithm.
Public property BarPrimalStop Newton barrier and hybrid gradient: This is a convergence parameter, indicating the tolerance for primal infeasibilities. If the difference between the constraints and their bounds in the primal problem falls below this tolerance in absolute value, the Optimizer will terminate and return the current solution.
Public property BarRefIter Newton barrier: After terminating the barrier algorithm, further refinement steps can be performed. Such refinement steps are especially helpful if the solution is near to the optimum and can improve primal feasibility and decrease the complementarity gap. It is also often advantageous for the crossover algorithm. BARREFITER specifies the maximum number of such refinement iterations.
Public property BarRegularize This bit-vector control (see Section ) determines how the barrier algorithm applies regularization on the KKT system.
Public property BarRhsScale Defines how the barrier scales the right hand side.
Public property BarSing Number of linearly dependent binding constraints at the optimal barrier solution. These results in singularities in the Cholesky decomposition during the barrier that may cause numerical troubles. Larger dependence means more chance for numerical difficulties.
Public property BarSingR Regularized number of linearly dependent binding constraints at the optimal barrier solution. These results in singularities in the Cholesky decomposition during the barrier that may cause numerical troubles. Larger dependence means more chance for numerical difficulties.
Public property BarSolution This determines whether the barrier has to decide which is the best solution found or return the solution computed by the last barrier iteration.
Public property BarStart Controls the computation of the starting point and warm-starting for the Newton barrier and the hybrid gradient algorithms.
Public property BarStartWeight Newton barrier: This sets a weight for the warm-start point when warm-start is set for the barrier algorithm. Using larger weight gives more emphasis for the supplied starting point.
Public property BarStepStop Newton barrier: A convergence parameter, representing the minimal step size. On each iteration of the barrier algorithm, a step is taken along a computed search direction. If that step size is smaller than BARSTEPSTOP, the Optimizer will terminate and return the current solution.
Public property BarThreads If set to a positive integer it determines the number of threads implemented to run the Newton-barrier and hybrid gradient algorithms. If the value is set to the default value (-1), the THREADS control will determine the number of threads used.
Public property BestBound Value of the best bound determined so far by the MIP search.
Public property BigM The infeasibility penalty used if the "Big M" method is implemented.
Public property BigmMethod Simplex: This specifies whether to use the "Big M" method, or the standard phase I (achieving feasibility) and phase II (achieving optimality). In the "Big M" method, the objective coefficients of the variables are considered during the feasibility phase, possibly leading to an initial feasible basis which is closer to optimal. The side-effects involve possible round-off errors due to the presence of the "Big M" factor in the problem.
Public property BoundName Active bound name.
Public property BranchChoice Once a MIP entity has been selected for branching, this control determines which of the branches is solved first.
Public property BranchDisj Branch and Bound: Determines whether the optimizer should attempt to branch on general split disjunctions during the branch and bound search.
Public property BranchStructural Branch and Bound: Determines whether the optimizer should search for special structure in the problem to branch on during the branch and bound search.
Public property BranchValue The value of the branching variable at a node of the Branch and Bound tree.
Public property BranchVar The branching variable at a node of the Branch and Bound tree.
Public property BreadthFirst The number of nodes to include in the best-first search before switching to the local first search (NODESELECTION=4).
Public property CacheSize Newton Barrier: L2 or L3 (see notes) cache size in kB (kilobytes) of the CPU. On Intel (or compatible) platforms a value of -1 may be used to determine the cache size automatically. If the CPU model is new then the cache size may not be correctly detected by an older release of the software.
Obsolete
Public property CallbackCheckTimeDelay Minimum delay in milliseconds between two consecutive executions of the CHECKTIME callback in the same solution process
Public property CallbackCheckTimeWorkDelay Minimum delay in work units between two consecutive executions of the CHECKTIME callback in the same solution process
Public property CallbackCount_CutMgr This attribute counts the number of times the cut manager callback set by addCbCutmgr has been called for the current node, including the current callback call. The value of this attribute should only be used from within the cut manager callback.
Public property CallbackCount_OptNode This attribute counts the number of times the optimal node callback set by addCbOptnode has been called for the current node, including the current callback call. The value of this attribute should only be used from within the optimal node callback.
Public property CallbackFromMasterThread Branch and Bound: specifies whether the MIP callbacks should only be called on the master thread.
Public property CheckInputData Check input arrays for bad data.
Public property ChecksOnMaxCutTime This attribute is used to set the value of the MAXCHECKSONMAXCUTTIME control. Its value is the number of times the optimizer checked the MAXCUTTIME criterion during the last call to the optimization routine mipOptimize. If a run terminates cutting operations on the MAXCUTTIME criterion then the attribute is the negative of the number of times the optimizer checked the MAXCUTTIME criterion up to and including the check when the termination was activated. Note that the attribute is set to zero at the beginning of each call to an optimization routine.
Public property ChecksOnMaxTime This attribute is used to set the value of the MAXCHECKSONMAXTIME control. Its value is the number of times the optimizer checked the MAXTIME criterion during the last call to the optimization routine mipOptimize. If a run terminates on the MAXTIME criterion then the attribute is the negative of the number of times the optimizer checked the MAXTIME criterion up to and including the check when the termination was activated. Note that the attribute is set to zero at the beginning of each call to an optimization routine.
Public property CholeskyAlg Newton barrier: type of Cholesky factorization used; bit-vector-control (see Section ).
Public property CholeskyTol 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. If the absolute value of the pivot element is less than or equal to CHOLESKYTOL, it merits special treatment in the Cholesky decomposition process.
Public property Clamping This bit-vector control (see Section ) allows for the adjustment of returned solution values such that they are always within bounds.
Public property Cols Number of columns (i.e. variables) in the matrix.
Public property Compute Controls whether the next solve is performed directly or on an Insight Compute Interface.
Public property ComputeExecService Selects the Insight execution service that will be used for solving remote optimizations.
Public property ComputeExecutions The number of solves executed on a compute server.
Public property ComputeJobPriority Selects the priority that will be used for remote optimization jobs.
Public property ComputeLog Controls how the run log is fetched when a solve is performed on an Insight Compute Interface.
Public property ConcurrentThreads Determines the number of threads used by the concurrent solver.
Public property ConeElems Number of second order cone coefficients in the problem.
Public property Cones Number of second order and rotated second order cones in the problem.
Public property ConflictCuts Branch and Bound: Specifies how cautious or aggressive the optimizer should be when searching for and applying conflict cuts. Conflict cuts are in-tree cuts derived from nodes found to be infeasible or cut off, which can be used to cut off other branches of the search tree.
Public property CoresDetected Number of logical cores detected by the optimizer, which is the total number of threads the hardware can execute across all CPUs.
Public property CoresPerCPU Used to override the detected value of the number of cores on a CPU. The cache size (either detected or specified via the CACHESIZE control) used in Barrier methods will be divided by this amount, and this scaled-down value will be the amount of cache allocated to each Barrier thread
Public property CoresPerCPUDetected Number of logical cores per CPU unit detected by the optimizer, which is the number of threads each CPU can execute.
Public property CoverCuts Branch and Bound: The number of rounds of lifted cover inequalities at the root node. A lifted cover inequality is an additional constraint that can be particularly effective at reducing the size of the feasible region without removing potential integral solutions. The process of generating these can be carried out a number of times, further reducing the feasible region, albeit incurring a time penalty. There is usually a good payoff from generating these at the root node, since these inequalities then apply to every subsequent node in the tree search.
Public property CpiAlpha decay term for confined primal integral computation.
Public property CpiScaleFactor scale factor from primal integral computation.
Public property CPUPlatform Newton Barrier: Selects the AMD, Intel x86 or ARM vectorization instruction set that Barrier should run optimized code for. On AMD / Intel x86 platforms the SSE2, AVX and AVX2 instruction sets are supported while on ARM platforms the NEON architecture extension can be activated.
Public property CPUsDetected Number of CPU units detected by the optimizer.
Public property CPUTime How time should be measured when timings are reported in the log and when checking against time limits
Public property Crash Simplex: This determines the type of crash used when the algorithm begins. During the crash procedure, an initial basis is determined which is as close to feasibility and triangularity as possible. A good choice at this stage will significantly reduce the number of iterations required to find an optimal solution. The possible values increase proportionally to their time-consumption.
Public property CrossOver 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 getBasis, writeBasis) and advanced sensitivity analysis information (see objsa, rHSsa, bndsa).
Public property CrossoverAccuracyTol Newton barrier: This control determines how crossover adjusts the default relative pivot tolerance. When re-inversion is necessary, crossover will compare the recalculated working basic solution with the assumed ones just before re-inversion took place. If the error is above this threshold, crossover will adjust the relative pivot tolerance to address the build-up of numerical inaccuracies.
Public property CrossOverDRP Control CROSSOVERDRP.
Public property CrossOverFeasWeight Control CROSSOVERFEASWEIGHT.
Public property CrossoverIter Number of simplex iterations performed in crossover.
Public property CrossoverIterLimit Newton barrier and hybrid gradient: The maximum number of iterations that will be performed in the crossover procedure before the optimization process terminates.
Public property CrossoverOps Newton barrier and hybrid gradient: a bit-vector (see Section ) for adjusting the behavior of the crossover procedure.
Public property CrossOverRelPivotTol Control CROSSOVERRELPIVOTTOL.
Public property CrossOverRelPivotTolSafe Control CROSSOVERRELPIVOTTOLSAFE.
Public property CrossoverThreads Determines the maximum number of threads that parallel crossover is allowed to use. If CROSSOVERTHREADS is set to the default value (-1), the BARTHREADS control will determine the number of threads used.
Public property CurrentMemory The amount of dynamically allocated heap memory by the problem being solved.
Public property CurrentNode The unique identifier of the current node in the tree search.
Public property CurrMipCutOff The current MIP cut off.
Public property CutDepth Branch and Bound: Sets the maximum depth in the tree search at which cuts will be generated. Generating cuts can take a lot of time, and is often less important at deeper levels of the tree since tighter bounds on the variables have already reduced the feasible region. A value of 0 signifies that no cuts will be generated.
Public property CutFactor Limit on the number of cuts and cut coefficients the optimizer is allowed to add to the matrix during tree search. The cuts and cut coefficients are limited by CUTFACTOR times the number of rows and coefficients in the initial matrix.
Public property CutFreq Branch and Bound: This specifies the frequency at which cuts are generated in the tree search. If the depth of the node modulo CUTFREQ is zero, then cuts will be generated.
Public property CutRounds Number of rounds of cuts applied to the current node of a branch-and-bound search.
Public property Cuts Number of cuts being added to the matrix.
Public property CutSelect 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.
Public property CutStrategy Branch and Bound: This specifies the cut strategy. A more aggressive cut strategy, generating a greater number of cuts, will result in fewer nodes to be explored, but with an associated time cost in generating the cuts. The fewer cuts generated, the less time taken, but the greater subsequent number of nodes to be explored.
Public property DefaultAlg This selects the algorithm that will be used to solve LPs, standalone or during MIP optimization.
Public property DenseColLimit Newton barrier: Columns with more than DENSECOLLIMIT elements are considered to be dense. Such columns will be handled specially in the Cholesky factorization of this matrix.
Public property Deterministic Selects whether to use a deterministic or opportunistic mode when solving a problem using multiple threads.
Public property DetLogFreq Control DETLOGFREQ.
Public property DualGradient Simplex: This specifies the dual simplex pricing method.
Public property DualInfeas Number of dual infeasibilities.
Public property Dualize For a linear problem or the initial linear relaxation of a MIP, determines whether to form and solve the dual problem.
Public property DualizeOps Bit-vector control (see Section ) for adjusting the behavior when a problem is dualized.
Public property DualPerturb The factor by which the problem will be perturbed prior to optimization by dual simplex. A value of 0.0 results in no perturbation prior to optimization. Note the interconnection to the AUTOPERTURB control. If AUTOPERTURB is set to 1, the decision whether to perturb or not is left to the Optimizer. When the problem is automatically perturbed in dual simplex, however, the value of DUALPERTURB will be used for perturbation.
Public property DualStrategy This bit-vector control (see Section ) specifies the dual simplex strategy.
Public property DualThreads Determines the maximum number of threads that dual simplex is allowed to use. If DUALTHREADS is set to the default value (-1), the THREADS control will determine the number of threads used.
Public property DummyControl Control DUMMYCONTROL.
Public property EigenValueTol A quadratic matrix is considered not to be positive semi-definite, if its smallest eigenvalue is smaller than the negative of this value.
Public property Elems Number of matrix nonzeros (elements).
Public property ElimFillIn Amount of fill-in allowed when performing an elimination in presolve .
Public property ElimTol The Markowitz tolerance for the elimination phase of the presolve.
Public property ErrorCode The most recent Optimizer error number that occurred. This is useful to determine the precise error that has occurred, after an Optimizer function has signalled an error by returning a non-zero value. The return value itself is not the error number. Refer to the section for a list of possible error numbers, the errors they indicate, and advice on what they mean and how to resolve them. A short error message may be obtained using getLastError, and all messages may be intercepted using the user output callback function; see addCbMessage.
Public property EscapeNames 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.
Public property EtaTol Tolerance on eta elements. During each iteration, the basis inverse is premultiplied by an elementary matrix, which is the identity except for one column - the eta vector. Elements of eta vectors whose absolute value is smaller than ETATOL are taken to be zero in this step.
Public property ExtraCols The initial number of extra columns to allow for in the matrix. If columns are to be added to the matrix, then, for maximum efficiency, space should be reserved for the columns before the matrix is input by setting the EXTRACOLS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraElems The initial number of extra matrix elements to allow for in the matrix, including coefficients for cuts. If rows or columns are to be added to the matrix, then, for maximum efficiency, space should be reserved for the extra matrix elements before the matrix is input by setting the EXTRAELEMS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraMIPEnts The initial number of extra MIP entities to allow for.
Public property ExtraRows The initial number of extra rows to allow for in the matrix, including cuts. If rows are to be added to the matrix, then, for maximum efficiency, space should be reserved for the rows before the matrix is input by setting the EXTRAROWS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraSetElems The initial number of extra elements in sets to allow for in the matrix. If sets are to be added to the matrix, then, for maximum efficiency, space should be reserved for the set elements before the matrix is input by setting the EXTRASETELEMS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraSets The initial number of extra sets to allow for in the matrix. If sets are to be added to the matrix, then, for maximum efficiency, space should be reserved for the sets before the matrix is input by setting the EXTRASETS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property FeasibilityJump MIP: Decides if the Feasibility Jump heuristic should be run. The value for this control is either -1 (let Xpress decide), 0 (off) or a value that indicates for which type of models the heuristic should be run.
Public property FeasibilityPump Branch and Bound: Decides if the Feasibility Pump heuristic should be run at the root node.
Public property FeasTol This tolerance determines when a solution is treated as feasible. If the amount by which a constraint's activity violates its right-hand side or ranged bound is less in absolute magnitude than FEASTOL, then the constraint is treated as satisfied. Similarly, if the amount by which a column violates its bounds is less in absolute magnitude than FEASTOL, those bounds are also treated as satisfied.
Public property FeasTolPerturb This tolerance determines how much a feasible primal basic solution is allowed to be perturbed when performing basis changes. The tolerance FEASTOL is always considered as an upper limit for the perturbations, but in some cases smaller value can be more desirable.
Public property FeasTolTarget This specifies the target feasibility tolerance for the solution refiner.
Public property ForceOutput Certain names in the problem object may be incompatible with different file formats (such as names containing spaces for LP files). If the optimizer might be unable to read back a problem because of non-standard names, it will first attempt to write it out using an extended naming convention. If the names would not be possible to extend so that they would be reproducible and recognizable, it will give an error message and won't create the file. If the optimizer might be unable to read back a problem because of non-standard names, it will give an error message and won't create the file. This option may be used to force output anyway.
Public property ForceParallelDual Dual simplex: specifies whether the dual simplex solver should always use the parallel simplex algorithm. By default, when using a single thread, the dual simplex solver will execute a dedicated sequential simplex algorithm.
Public property GenConCols Number of input variables in general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
Public property GenCons The number of general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
Public property GenconsAbsTransformation This control specifies the reformulation method for absolute value general constraints at the beginning of the search.
Public property GenconsDualReductions 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.
Public property GenConVals Number of constant values in general constraints (MIN/MAX constraints) in the problem.
Public property GlobalBoundingBox 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. If this control is set to a negative value, in a second solving attempt all original variables will be bounded by the absolute value of this control. If set to a positive value, there will be a third solving attempt afterwards, if necessary, in which also all auxiliary variables are bounded by this value.
Public property GlobalBoundingboxApplied 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.
Public property GlobalLSHeurstrategy 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. This control defines the frequency and effort of such local solves.
Public property GlobalNlpCuts Limit on the number of rounds of outer approximation and convexification cuts generated for the root node, when solving an (MI)NLP to global optimality.
Public property GlobalNLPInfeas Number of nonlinear infeasibilities at the current node of a global solve, measured as the number of violated atomic formulas.
Public property GlobalNumInitNlpCuts Specifies the maximum number of tangent cuts when setting up the initial relaxation during a global solve. By default, the algorithm chooses the number of cuts automatically. Adding more cuts tightens the problem, resulting in a smaller branch-and-bound tree, at the cost of slowing down each LP solve.
Public property GlobalSpatialBranchCuttingEffort Limits the effort that is spent on creating cuts during spatial branching.
Public property GlobalSpatialBranchIfPreferOrig Whether spatial branchings on original variables should be preferred over branching on auxiliary variables that were introduced by the reformulation of the global solver.
Public property GlobalSpatialBranchPropagationEffort Limits the effort that is spent on propagation during spatial branching.
Public property GlobalTreeNlpCuts Limit on the number of rounds of outer approximation and convexification cuts generated for each node in the tree, when solving an (MI)NLP to global optimality.
Public property GomCuts Branch and Bound: The number of rounds of Gomory or lift-and-project cuts at the root node.
Public property HeurBeforeLP Branch and Bound: Determines whether primal heuristics should be run before the initial LP relaxation has been solved.
Public property HeurDepth Branch and Bound: Sets the maximum depth in the tree search at which heuristics will be used to find MIP solutions. It may be worth stopping the heuristic search for solutions after a certain depth in the tree search. A value of 0 signifies that heuristics will not be used. This control no longer has any effect and will be removed from future releases.
Public property HeurDiveIterLimit Branch and Bound: Simplex iteration limit for reoptimizing during the diving heuristic.
Public property HeurDiveRandomize The level of randomization to apply in the diving heuristic. The diving heuristic uses priority weights on rows and columns to determine the order in which to e.g. round fractional columns, or the direction in which to round them. This control determines by how large a random factor these weights should be changed.
Public property HeurDiveSoftRounding 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. This can be useful when the default diving heuristics fail to find any feasible solutions.
Public property HeurDiveSpeedUp Branch and Bound: Changes the emphasis of the diving heuristic from solution quality to diving speed.
Public property HeurDiveStrategy Branch and Bound: Chooses the strategy for the diving heuristic.
Public property HeurEmphasis 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.
Public property HeurForceSpecialObj 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. Deactivated by default.
Public property HeurFreq Branch and Bound: This specifies the frequency at which heuristics are used in the tree search. Heuristics will only be used at a node if the depth of the node is a multiple of HEURFREQ.
Public property HeurMaxSol Branch and Bound: This specifies the maximum number of heuristic solutions that will be found in the tree search. This control no longer has any effect and will be removed from future releases.
Public property HeurNodes Branch and Bound: This specifies the maximum number of nodes at which heuristics are used in the tree search. This control no longer has any effect and will be removed from future releases.
Public property HeursearchBackgroundSelect 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).
Public property HeurSearchCopyControls Select how user-set controls should affect local search heuristics.
Public property HeurSearchEffort Adjusts the overall level of the local search heuristics.
Public property HeurSearchFreq Branch and Bound: This specifies how often the local search heuristic should be run in the tree.
Public property HeurSearchRootCutFreq How frequently to run the local search heuristic during root cutting. This is given as how many cut rounds to perform between runs of the heuristic. Set to zero to avoid applying the heuristic during root cutting. Branch and Bound: This specifies how often the local search heuristic should be run in the tree.
Public property HeurSearchRootSelect 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.
Public property HeurSearchTargetSize Control HEURSEARCHTARGETSIZE.
Public property HeurSearchTreeSelect 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.
Public property HeurSelect Control HEURSELECT.
Public property HeurShiftProp Determines whether the Shift-and-propagate primal heuristic should be executed. If enabled, Shift-and-propagate is an LP-free primal heuristic that is executed immediately after presolve.
Public property HeurThreads Branch and Bound: The number of threads to dedicate to running heuristics during the root solve.
Public property HistoryCosts Branch and Bound: How to update the pseudo cost for a MIP entity when a strong branch or a regular branch is applied.
Public property IfCheckConvexity Determines if the convexity of the problem is checked before optimization. Applies to quadratic, mixed integer quadratic and quadratically constrained problems. Checking convexity takes some time, thus for problems that are known to be convex it might be reasonable to switch the checking off.
Public property IgnoreContainerCpuLimit Control IGNORECONTAINERCPULIMIT.
Public property IgnoreContainerMemoryLimit Control IGNORECONTAINERMEMORYLIMIT.
Public property IISLog Selects how much information should be printed during the IIS procedure. Please refer to Appendix for a more detailed description of the IIS logging format.
Public property IISOps Selects which part of the restrictions (bounds, constraints, entities) should always be kept in an IIS. This is useful if certain types of restrictions cannot be violated, thus they are known not to be the cause of infeasibility. The IIS obtained this way is irreducible only for the non-protected restrictions. This bit-vector control (see Section ) has an effect only on the deletion filter of the IIS procedure.
Public property IISSolStatus IIS solution status.
Public property Indicators Number of indicator constrains in the problem.
Public property IndLinBigM During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough. This control defines the largest BigM for which such a linearized version will be added to the problem in addition to the original constraint. If the BigM is even smaller than INDPRELINBIGM, then the original indicator constraint will additionally be dropped from the problem.
Public property IndPreLinBigM During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough. This control defines the largest BigM for which the original constraint will be replaced by the linearized version. If the BigM is larger than INDPRELINBIGM but smaller than INDLINBIGM, the linearized row will be added but the original indicator constraint is kept as a numerically stable way to check feasibility.
Public property InputCols Number of columns (i.e. variables) in the original matrix before nonlinear reformulations.
Public property InputRows Number of rows (i.e. constraints) in the original matrix before nonlinear reformulations.
Public property Inputtol The tolerance on input values elements. If any value is less than or equal to INPUTTOL in absolute value, it is treated as zero. For the internal zero tolerance see MATRIXTOL.
Public property InvertFreq Simplex: The frequency with which the basis will be inverted. The basis is maintained in a factorized form and on most simplex iterations it is incrementally updated to reflect the step just taken. This is considerably faster than computing the full inverted matrix at each iteration, although after a number of iterations the basis becomes less well-conditioned and it becomes necessary to compute the full inverted matrix. The value of INVERTFREQ specifies the maximum number of iterations between full inversions.
Public property InvertMin Simplex: The minimum number of iterations between full inversions of the basis matrix. See the description of INVERTFREQ for details.
Public property IOTimeout The maximum number of seconds to wait for an I/O operation before it is cancelled.
Public property KeepBasis Simplex: This determines whether the basis should be kept when reoptimizing a problem. The choice is between using a crash basis created at the beginning of simplex or using a basis from a previous solve (if such exists). By default, this control gets (re)set automatically in various situations. By default, it will be automatically set to 1 after a solve that produced a valid basis. This will automatically warmstart a subsequent solve. Explicitly loading a starting basis will also set this control to 1. If the control is explicitly set to 0, any existing basis will be ignored for a new solve, and the Optimizer will start from an ad-hoc crash basis.
Public property KeepNRows How nonbinding rows should be handled by the MPS reader.
Public property KnitroParamAlgorithm Indicates which algorithm to use to solve the problem
Public property KnitroParamBarDirectInterval Controls the maximum number of consecutive conjugate gradient (CG) steps before Knitro will try to enforce that a step is taken using direct linear algebra.
Public property KnitroParamBarFeasible Specifies whether special emphasis is placed on getting and staying feasible in the interior-point algorithms.
Public property KnitroParamBarFeasModeTol Specifies the tolerance in equation that determines whether Knitro will force subsequent iterates to remain feasible.
Public property KnitroParamBarInitMu Specifies the initial value for the barrier parameter : mu used with the barrier algorithms. This option has no effect on the Active Set algorithm.
Public property KnitroParamBarInitPt Indicates whether an initial point strategy is used with barrier algorithms.
Public property KnitroParamBarMaxBacktrack Indicates the maximum allowable number of backtracks during the linesearch of the Interior/Direct algorithm before reverting to a CG step.
Public property KnitroParamBarMaxRefactor Indicates the maximum number of refactorizations of the KKT system per iteration of the Interior/Direct algorithm before reverting to a CG step.
Public property KnitroParamBarMuRule Indicates which strategy to use for modifying the barrier parameter mu in the barrier algorithms.
Public property KnitroParamBarPenCons Indicates whether a penalty approach is applied to the constraints.
Public property KnitroParamBarPenRule Indicates which penalty parameter strategy to use for determining whether or not to accept a trial iterate.
Public property KnitroParamBarRelaxCons  
Public property KnitroParamBarSwitchRule Indicates whether or not the barrier algorithms will allow switching from an optimality phase to a pure feasibility phase.
Public property KnitroParamBLASOption  
Public property KnitroParamDebug  
Public property KnitroParamDelta Specifies the initial trust region radius scaling factor used to determine the initial trust region size.
Public property KnitroParamFeastol Specifies the final relative stopping tolerance for the feasibility error.
Public property KnitroParamFeasTolAbs Specifies the final absolute stopping tolerance for the feasibility error.
Public property KnitroParamGradOpt Specifies how to compute the gradients of the objective and constraint functions.
Public property KnitroParamHessOpt Specifies how to compute the (approximate) Hessian of the Lagrangian.
Public property KnitroParamHonorBbnds Indicates whether or not to enforce satisfaction of simple variable bounds throughout the optimization.
Public property KnitroParamInfeasTol Specifies the (relative) tolerance used for declaring infeasibility of a model.
Public property KnitroParamLinSolver  
Public property KnitroParamLMSize Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option.
Public property KnitroParamMATerminate  
Public property KnitroParamMaxCGIt Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option.
Public property KnitroParamMaxCrossIt Specifies the maximum number of crossover iterations before termination.
Public property KnitroParamMaxIt Specifies the maximum number of iterations before termination.
Public property KnitroParamMIPBranchRule Specifies which branching rule to use for MIP branch and bound procedure.
Public property KnitroParamMIPDebug  
Public property KnitroParamMIPGUBBranch Specifies whether or not to branch on generalized upper bounds (GUBs).
Public property KnitroParamMIPHeuristic Specifies which MIP heuristic search approach to apply to try to find an initial integer feasible point.
Public property KnitroParamMIPHeurMaxIt  
Public property KnitroParamMIPImplicatns Specifies whether or not to add constraints to the MIP derived from logical implications.
Public property KnitroParamMIPIntGapAbs The absolute integrality gap stop tolerance for MIP.
Public property KnitroParamMIPIntGapRel The relative integrality gap stop tolerance for MIP.
Public property KnitroParamMIPKnapsack Specifies rules for adding MIP knapsack cuts.
Public property KnitroParamMIPLPAlg Specifies which algorithm to use for any linear programming (LP) subproblem solves that may occur in the MIP branch and bound procedure.
Public property KnitroParamMIPMaxNodes Specifies the maximum number of nodes explored.
Public property KnitroParamMIPMethod Specifies which MIP method to use.
Public property KnitroParamMIPOutInterval Specifies node printing interval for XKTR_PARAM_MIP_OUTLEVEL when XKTR_PARAM_MIP_OUTLEVEL > 0.
Public property KnitroParamMIPOutLevel Specifies how much MIP information to print.
Public property KnitroParamMIPPseudoint Specifies the method used to initialize pseudo-costs corresponding to variables that have not yet been branched on in the MIP method.
Public property KnitroParamMIPRootAlg Specifies which algorithm to use for the root node solve in MIP (same options as XKTR_PARAM_ALGORITHM user option).
Public property KnitroParamMIPRounding Specifies the MIP rounding rule to apply.
Public property KnitroParamMIPSelectRule Specifies the MIP select rule for choosing the next node in the branch and bound tree.
Public property KnitroParamMIPStringMaxIt Specifies the maximum number of iterations to allow for MIP strong branching solves.
Public property KnitroParamMIPStrongCandLim Specifies the maximum number of candidates to explore for MIP strong branching.
Public property KnitroParamMIPStrongLevel Specifies the maximum number of tree levels on which to perform MIP strong branching.
Public property KnitroParamMsMaxBndRange  
Public property KnitroParamMSMaxSolves  
Public property KnitroParamMSNumToSave  
Public property KnitroParamMSSaveTol  
Public property KnitroParamMSSeed  
Public property KnitroParamMSStartPtRange  
Public property KnitroParamMSTerminate  
Public property KnitroParamMultiStart  
Public property KnitroParamNewPoint  
Public property KnitroParamObjRange Specifies the extreme limits of the objective function for purposes of determining unboundedness.
Public property KnitroParamOptTol Specifies the final relative stopping tolerance for the KKT (optimality) error.
Public property KnitroParamOptTolAbs Specifies the final absolute stopping tolerance for the KKT (optimality) error.
Public property KnitroParamOutLev Controls the level of output produced by Knitro.
Public property KnitroParamParNumThreads  
Public property KnitroParamPivot  
Public property KnitroParamPresolve Determine whether or not to use the Knitro presolver to try to simplify the model by removing variables or constraints. Specifies conditions for terminating the MIP algorithm.
Public property KnitroParamPresolveTol Determines the tolerance used by the Knitro presolver to remove variables and constraints from the model.
Public property KnitroParamScale Performs a scaling of the objective and constraint functions based on their values at the initial point.
Public property KnitroParamSOC Specifies whether or not to try second order corrections (SOC).
Public property KnitroParamXTol The optimization process will terminate if the relative change in all components of the solution point estimate is less than xtol.
Public property L1Cache Newton barrier: L1 cache size in kB (kilo bytes) of the CPU. On Intel (or compatible) platforms a value of -1 may be used to determine the cache size automatically.
Obsolete
Public property LNPBest Number of infeasible MIP entities to create lift-and-project cuts for during each round of Gomory cuts at the root node (see GOMCUTS).
Public property LNPIterLimit Number of iterations to perform in improving each lift-and-project cut.
Public property LocalBacktrack Control LOCALBACKTRACK.
Public property LocalChoice Controls when to perform a local backtrack between the two child nodes during a dive in the branch and bound tree.
Public property LocalSolver Selects the library to use for local solves
Public property LocalSolverSelected Includes information of which Xpress solver has been used to solve the problem
Public property LPFlags A bit-vector control (see Section ) which defines the algorithm for solving an LP problem or the initial LP relaxation of a MIP problem.
Public property LpFolding Simplex and barrier: whether to fold an LP problem before solving it.
Public property LPIterLimit The maximum number of iterations that will be performed by primal simplex or dual simplex before the optimization process terminates. For MIP problems, this is the maximum total number of iterations over all nodes explored by the Branch and Bound method.
Public property LPLog Simplex: The frequency at which the simplex log is printed.
Public property LPLogDelay Time interval between two LP log lines.
Public property LPLogStyle Simplex: The style of the simplex log.
Public property LPObjVal Value of the objective function of the last LP solved.
Public property LpRefineIterLimit This specifies the simplex iteration limit the solution refiner can spend in attempting to increase the accuracy of an LP solution.
Public property LPStatus LP solution status.
Public property LUPivotTol Control LUPIVOTTOL.
Public property MarkowitzTol The Markowitz tolerance used for the factorization of the basis matrix.
Public property MatrixName The matrix name.
Public property MatrixTol The zero tolerance on matrix elements. If the value of a matrix element is less than or equal to MATRIXTOL in absolute value, it is treated as zero. The control applies when solving a problem, for an input tolerance see INPUTTOL.
Public property MaxAbsDualInfeas Maximum calculated absolute dual infeasibility in the unscaled original problem.
Public property MaxAbsPrimalInfeas Maximum calculated absolute primal infeasibility in the unscaled original problem.
Public property MaxChecksOnMaxCutTime This control is intended for use where optimization runs that are terminated using the MAXCUTTIME control are required to be reproduced exactly. This control is necessary because of the inherent difficulty in terminating algorithmic software in a consistent way using temporal criteria. The control value relates to the number of times the optimizer checks the MAXCUTTIME criterion up to and including the check when the termination of cutting was activated. To use the control the user first must obtain the value of the CHECKSONMAXCUTTIME attribute after the run returns. This attribute value is the number of times the optimizer checked the MAXCUTTIME criterion during the last call to the optimization routine mipOptimize. Note that this attribute value will be negative if the optimizer terminated cutting on the MAXCUTTIME criterion. To ensure accurate reproduction of a run the user should first ensure that MAXCUTTIME is set to its default value or to a large value so the run does not terminate again on MAXCUTTIME and then simply set the control MAXCHECKSONMAXCUTTIME to the absolute value of the CHECKSONMAXCUTTIME value.
Public property MaxChecksOnMaxTime 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. This control is necessary because of the inherent difficulty in terminating algorithmic software in a consistent way using temporal criteria. The control value relates to the number of times the optimizer checks the TIMELIMIT criterion up to and including the check when the termination was activated. To use the control the user first must obtain the value of the CHECKSONMAXTIME attribute after the run returns. This attribute value is the number of times the optimizer checked the TIMELIMIT criterion during the last call to the optimization routine mipOptimize. Note that this attribute value will be negative if the optimizer terminated on the TIMELIMIT criterion. To ensure that a reproduction of a run terminates in the same way the user should first ensure that TIMELIMIT is set to its default value or to a large value so the run does not terminate again on TIMELIMIT and then simply set the control MAXCHECKSONMAXTIME to the absolute value of the CHECKSONMAXTIME value.
Public property MaxCutTime The maximum amount of time allowed for generation of cutting planes and reoptimization. The limit is checked during generation and no further cuts are added once this limit has been exceeded.
Public property MaxIIS This function controls the number of Irreducible Infeasible Sets to be found using the iISAll (IIS-a).
Public property MaxImpliedBound Presolve: When tighter bounds are calculated during MIP preprocessing, only bounds whose absolute value are smaller than MAXIMPLIEDBOUND will be applied to the problem.
Public property MaxKappa Largest basis condition number (also known as kappa) calculated through all nodes sampled by MIPKAPPAFREQ.
Public property MaxLocalBacktrack Branch-and-Bound: How far back up the current dive path the optimizer is allowed to look for a local backtrack candidate node.
Public property MaxMCoeffBufferElems The maximum number of matrix coefficients to buffer before flushing into the internal representation of the problem. Buffering coefficients can offer a significant performance gain when you are building a matrix using chgCoef or chgMCoef, but can lead to a significant memory overhead for large matrices, which this control allows you to influence.
Public property MaxMemoryHard This control sets the maximum amount of memory in megabytes the optimizer should allocate. If this limit is exceeded, the solve will terminate. This control is designed to make the optimizer stop in a controlled manner, so that the problem object is valid once termination occurs. The solve state will be set to incomplete. This is different to an out of memory condition in which case the optimizer returns an error. The optimizer may still allocate memory once the limit is exceeded to be able to finsish the operations and stop in a controlled manner. When RESOURCESTRATEGY is enabled, the control also has the same effect as MAXMEMORYSOFT and will cause the optimizer to try preserving memory when possible.
Public property MaxMemorySoft When RESOURCESTRATEGY is enabled, this control sets the maximum amount of memory in megabytes the optimizer targets to allocate. This may change the solving path, but will not cause the solve to terminate early. To set a hard version of the same, please set MAXMEMORYHARD.
Public property MaxMipInfeas Maximum integer fractionality in the solution.
Public property MaxMIPSol Branch and Bound: This specifies a limit on the number of integer solutions to be found by the Optimizer. It is possible that during optimization the Optimizer will find the same objective solution from different nodes. However, MAXMIPSOL refers to the total number of integer solutions found, and not necessarily the number of distinct solutions.
Public property MaxMipTasks Branch-and-Bound: The maximum number of tasks to run in parallel during a MIP solve.
Public property MaxNode Branch and Bound: The maximum number of nodes that will be explored.
Public property MaxPageLines Number of lines between page breaks in printable output.
Public property MaxProbNameLength 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).
Public property MaxRelDualInfeas Maximum calculated relative dual infeasibility in the unscaled original problem.
Public property MaxRelPrimalInfeas Maximum calculated relative primal infeasibility in the unscaled original problem.
Public property MaxScaleFactor This determines the maximum scaling factor that can be applied during scaling. The maximum is provided as an exponent of a power of 2.
Public property MaxStallTime The maximum time in seconds that the Optimizer will continue to search for improving solution after finding a new incumbent.
Public property MaxTime The maximum time in seconds that the Optimizer will run before it terminates, including the problem setup time and solution time. For MIP problems, this is the total time taken to solve all nodes.
Obsolete
Public property MaxTreeFileSize The maximum size, in megabytes, to which the tree file may grow, or 0 for no limit. When the tree file reaches this limit, a second tree file will be created. Useful if you are using a filesystem that puts a maximum limit on the size of a file.
Public property MCFCutStrategy Level of Multi-Commodity Flow (MCF) cutting planes separation: This specifies how much aggresively MCF cuts should be separated. If the separation of MCF cuts is enabled, Xpress will try to detect a MCF network structure in the problem and, if such a structure is identified, it will separate specific cutting planes exploiting the identified network.
Public property MemoryLimitDetected The detected amount of memory accessible to the solver process, in megabytes. This is the minimum of physical memory, virtual memory limitations, and detected container limitations (Linux only).
Public property MIPAbsCutoff 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. This allows the Optimizer to ignore solving any nodes which may yield worse objective values, saving solution time. When a MIP solution is found a new cut off value is calculated and the value can be obtained from the CURRMIPCUTOFF attribute. The value of CURRMIPCUTOFF is calculated using the MIPRELCUTOFF and MIPADDCUTOFF controls.
Public property MIPAbsGapNotify Branch and bound: if the gapnotify callback has been set using addCbGapNotify, 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.
Public property MIPAbsGapNotifyBound Branch and bound: if the gapnotify callback has been set using addCbGapNotify, 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.
Public property MIPAbsGapNotifyObj Branch and bound: if the gapnotify callback has been set using addCbGapNotify, 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.
Public property MIPAbsStop Branch and Bound: The absolute tolerance determining whether the tree search will continue or not. It will terminate if
   |MIPOBJVAL - BESTBOUND| <= MIPABSSTOP
where MIPOBJVAL is the value of the best solution's objective function, and BESTBOUND is the current best solution bound. For example, to stop the tree search when a MIP solution has been found and the Optimizer can guarantee it is within 100 of the optimal solution, set MIPABSSTOP to 100.
Public property MIPAddCutoff Branch and Bound: The amount to add to the objective function of the best integer solution found to give the new CURRMIPCUTOFF. Once an integer solution has been found whose objective function is equal to or better than CURRMIPCUTOFF, improvements on this value may not be interesting unless they are better by at least a certain amount. If MIPADDCUTOFF is nonzero, it will be added to CURRMIPCUTOFF each time an integer solution is found which is better than this new value. This cuts off sections of the tree whose solutions would not represent substantial improvements in the objective function, saving processor time. The control MIPABSSTOP provides a similar function but works in a different way.
Public property MIPBestObjVal Objective function value of the best integer solution found.
Public property MipComponents Determines whether disconnected components in a MIP should be solved as separate MIPs. There can be significant performence benefits from solving disconnected components individual instead of being part of the main branch-and-bound search.
Public property MipConcurrentNodes Sets the node limit for when a winning solve is selected when concurrent MIP solves are enabled. When multiple MIP solves are started, they each run up to the MIPCONCURRENTNODES node limit and only one winning solve is selected for contuinuing the search with.
Public property MipConcurrentSolves Selects the number of concurrent solves to start for a MIP. Each solve will use a unique random seed for its random number generator, but will otherwise apply the same user controls. The first concurrent solve to complete will have solved the MIP and all the concurrent solves will be terminated at this point. Using concurrent solves can be advantageous when a MIP displays a high level of performance variability.
Public property MIPDualReductions Branch and Bound: Limits operations that can reduce the MIP solution space.
Public property MIPEnts 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.
Public property MipFracReduce 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.
Public property MIPInfeas Number of integer infeasibilities, including violations of special ordered sets, at the current node.
Public property MIPKappaFreq Branch and Bound: Specifies how frequently the basis condition number (also known as kappa) should be calculated during the branch-and-bound search.
Public property MIPLog MIP log print control.
Public property MIPObjVal Objective function value of the last integer solution found.
Public property MIPPresolve Branch and Bound: Type of integer processing to be performed. If set to 0, no processing will be performed. This is a bit-vector control (see Section ).
Public property MipRampup Controls the strategy used by the parallel MIP solver during the ramp-up phase of a branch-and-bound tree search.
Public property MipRefineIterLimit This defines an effort limit expressed as simplex iterations for the MIP solution refiner. The limit is per reoptimizations in the MIP refiner.
Public property MIPRelCutoff 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. The effect is to cut off the search in parts of the tree whose best possible objective function would not be substantially better than the current solution. The control MIPRELSTOP provides a similar functionality but works in a different way.
Public property MIPRelGapNotify Branch and bound: if the gapnotify callback has been set using addCbGapNotify, 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.
Public property MIPRelStop Branch and Bound: This determines when the branch and bound tree search will terminate. Branch and bound tree search will stop if:
   |MIPOBJVAL - BESTBOUND| <= MIPRELSTOP x max(|BESTBOUND|,|MIPOBJVAL|)
where MIPOBJVAL is the value of the best solution's objective function and BESTBOUND is the current best solution bound. For example, to stop the tree search when a MIP solution has been found and the Optimizer can guarantee it is within 5% of the optimal solution, set MIPRELSTOP to 0.05.
Public property MipRestart Branch and Bound: controls strategy for in-tree restarts.
Public property MIPRestartFactor Branch and Bound: Fine tune initial conditions to trigger an in-tree restart. Use a value > 1 to increase the aggressiveness with which the Optimizer restarts. Use a value < 1 to relax the aggressiveness with which the Optimizer restarts. Note that this control does not affect the initial condition on the gap, which must be set separately.
Public property MIPRestartGapThreshold Control MIPRESTARTGAPTHRESHOLD.
Public property MIPSolNode Node at which the last integer feasible solution was found.
Public property MIPSols Number of integer solutions that have been found.
Public property MIPSolTime Time at which the last integer feasible solution was found.
Public property MIPStatus (MIP) solution status.
Public property MipTerminationMethod Branch and Bound: How a MIP solve should be stopped on early termination when there are still active tasks in the system. This can happen when, for example, a time or node limit is reached.
Public property MIPThreadID The ID for the MIP thread.
Public property MIPThreads If set to a positive integer it determines the number of threads implemented to run the parallel MIP code. If MIPTHREADS is set to the default value (-1), the THREADS control will determine the number of threads used.
Public property MIPTol Branch and Bound: This is the tolerance within which a decision variable's value is considered to be integral.
Public property MipTolTarget Target MIPTOL value used by the automatic MIP solution refiner as defined by REFINEOPS. Negative and zero values are ignored.
Public property MIQCPAlg This control determines which algorithm is to be used to solve mixed integer quadratic constrained and mixed integer second order cone problems.
Public property MPS18Compatible Provides compatibility of MPS file output for older MPS readers.
Public property MPSBoundName When reading an MPS file, this control determines which entries from the BOUNDS section will be read. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MPSEcho Determines whether comments in MPS matrix files are to be printed out during matrix input.
Public property MPSFormat Specifies the format of MPS files.
Public property MPSNameLength Control MPSNAMELENGTH.
Public property MPSObjName When reading an MPS file, this control determines which neutral row will be read as the objective function. If this control is set when reading a multi-objective MPS file, only the named objective will be read; all other objectives will be ignored. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MPSRangeName When reading an MPS file, this control determines which entries from the RANGES section will be read. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MPSRHSName When reading an MPS file, this control determines which entries from the RHS section will be read. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MsMaxBoundRange Defines the maximum range inside which initial points are generated by multistart presets
Public property MultiObjLog Log level for multi-objective optimization.
Public property MultiObjOps Modifies the behaviour of the optimizer when solving multi-objective problems.
Public property MultiStart The multistart master control. Defines if the multistart search is to be initiated, or if only the baseline model is to be solved.
Public property MultiStart_Log The level of logging during the multistart run.
Public property MultiStart_MaxSolves The maximum number of jobs to create during the multistart search.
Public property MultiStart_MaxTime The maximum total time to be spent in the mutlistart search.
Public property MultiStart_PoolSize The maximum number of problem objects allowed to pool up before synchronization in the deterministic multistart.
Public property MultiStart_Seed Random seed used for the automatic generation of initial point when loading multistart presets
Public property MultiStart_Threads The maximum number of threads to be used in multistart
Public property MutexCallBacks Branch and Bound: This determines whether the callback routines are mutexed from within the optimizer.
Public property NameLength The length (in 8 character units) of row and column names in the matrix. To allocate a character array to store names, you must allow 8*NAMELENGTH+1 characters per name (the +1 allows for the string terminator character).
Public property NetCuts Control NETCUTS.
Obsolete
Public property NetStallLimit Limit the number of degenerate pivots of the network simplex algorithm, before switching to either primal or dual simplex, depending on ALGAFTERNETWORK.
Public property NlpCalcThreads Number of threads used for formula and derivatives evaluations
Public property NlpDefaultIV Default initial value for an SLP variable if none is explicitly given
Public property NlpDerivatives Bitmap describing the method of calculating derivatives
Public property NlpDeterministic Determines if the parallel features of SLP should be guaranteed to be deterministic
Public property NlpEqualsColumn Index of the reserved "=" column
Public property NlpEvaluate Evaluation strategy for user functions
Public property NlpFindIV Option for running a heuristic to find a feasible initial point
Public property NlpFuncEval Bit map for determining the method of evaluating user functions and their derivatives
Public property NlpHessian Second order differentiation mode when using analytical derivatives
Public property NlpIfs Number of internal functions
Public property NlpImplicitVariables Number of SLP variables appearing only in coefficients
Public property NlpInfinity Value returned by a divide-by-zero in a formula
Public property NlpJacobian First order differentiation mode when using analytical derivatives
Public property NlpJobID Unique identifier for the current job
Public property NlpKeepBestIter The iteration in which the returned solution has been found.
Public property NlpLinQuadBR Use linear and quadratic constraints and objective function to further reduce bounds on all variables
Public property NlpLog Level of printing during SLP iterations
Public property NlpMaxTime The maximum time in seconds that the SLP optimization will run before it terminates
Public property NlpMeritLambda Factor by which the net objective is taken into account in the merit function
Public property NlpModelCols Number of model columns in the problem
Public property NlpModelRows Number of model rows in the problem
Public property NlpObjVal Objective function value excluding any penalty costs
Public property NlpOptTime Time spent in optimization
Public property NlpOriginalCols Number of model columns in the extended original problem
Public property NlpOriginalRows Number of model rows in the extended original problem
Public property NlpPostsolve This control determines whether postsolving should be performed automatically
Public property NlpPresolve This control determines whether presolving should be performed on the nonlinear problem prior to starting the main algorithm
Public property NlpPresolve_ElimTol Tolerance for nonlinear eliminations during SLP presolve
Public property NlpPresolveEliminations Number of SLP variables eliminated by XSLPpresolve
Public property NlpPresolveLevel This control determines the level of changes presolve may carry out on the problem and whether column/row indices may change
Public property NlpPresolveOps Bitmap indicating the SLP presolve actions to be taken
Public property NlpPresolveZero Minimum absolute value for a variable which is identified as nonzero during SLP presolve
Public property NlpPrimalIntegralAlpha Decay term for primal integral computation
Public property NlpPrimalIntegralRef Reference solution value to take into account when calculating the primal integral
Public property NlpProbing This control determines whether probing on a subset of variables should be performed prior to starting the main algorithm. Probing runs multiple times bound reduction in order to further tighten the bounding box.
Public property NlpReformulate Controls the problem reformulations carried out before augmentation. This allows SLP to take advantage of dedicated algorithms for special problem classes.
Public property NLPSolver Controls whether to call FICO Xpress Global or one of the local solvers
Public property NlpStatus The solution status of the problem.
Public property NlpStopOutOfRange Stop optimization and return error code if internal function argument is out of range
Public property NlpStopStatus Status of the optimization process.
Public property NlpThreads Default number of threads to be used
Public property NlpThreadSafeUserFunc Defines if user functions are allowed to be called in parallel
Public property NlpUFs Number of user functions
Public property NlpUseDerivatives Indicates whether numeric or analytic derivatives were used to create the linear approximations and solve the problem
Public property NlpUserFuncCalls Number of calls made to user functions
Public property NlpValidationFactor Minimum improvement in validation targets to continue iterating
Public property NlpValidationIndex_A Absolute validation index
Public property NlpValidationIndex_K Relative first order optimality validation index
Public property NlpValidationIndex_R Relative validation index
Public property NlpValidationTarget_K Optimality target tolerance
Public property NlpValidationTarget_R Feasiblity target tolerance
Public property NlpValidationTol_A Absolute tolerance for the XSLPvalidate procedure
Public property NlpValidationTol_K Relative tolerance for the XSLPvalidatekkt procedure
Public property NlpValidationTol_R Relative tolerance for the XSLPvalidate procedure
Public property NlpVariables Number of SLP variables
Public property NlpZero Absolute tolerance
Public property NodeDepth Depth of the current node.
Public property NodeProbingEffort Adjusts the overall level of node probing.
Public property Nodes Number of nodes solved so far in the MIP search. A node is counted as solved when it is either dropped or branched on.
Public property NodeSelection Branch and Bound: This determines which nodes will be considered for solution once the current node has been solved.
Public property NonLinearConstraints Number of nonlinear constraints in the problem
Public property NumericalEmphasis How much emphasis to place on numerical stability instead of solve speed.
Public property NumIIS Number of IISs found. You should first query the IISSOLSTATUS attribute to make sure that the IIS procedure terminated successfully.
Public property Objectives Number of objectives in the problem.
Public property ObjectPointer Returns the C language 'pointer' to the native object that this managed class is wrapping. For internal FICO use only.
(Inherited from XPRSobject)
Public property ObjName Obsolete
Public property ObjRHS Fixed part of the objective function.
Public property ObjScaleFactor Custom objective scaling factor, expressed as a power of 2. When set, it overwrites the automatic objective scaling factor. A value of 0 means no objective scaling. This control is applied for the full solve, and is independent of any extra scaling that may occur specifically for the barrier or simplex solvers. As it is a power of 2, to scale by 16, set the value of the control to 4.
Public property ObjSense Get objective sense.
Public property OBJSense Sense of the optimization being performed.
Public property ObjsToSolve Number of objectives that will be solved during the current multi-objective solve.
Public property ObjVal Value of the objective function of the last problem solved with optimize.
Public property ObservedPrimalIntegral Value of the (observed) primal integral.
Public property OptimalityTol Simplex: This is the zero tolerance for reduced costs. On each iteration, the simplex method searches for a variable to enter the basis which has a negative reduced cost. The candidates are only those variables which have reduced costs less than the negative value of OPTIMALITYTOL.
Public property OptimalityTolTarget This specifies the target optimality tolerance for the solution refiner.
Public property OptimizeTypeUsed The type of solver used in the last call to optimize, mipOptimize, lpOptimize or nlpOptimize.
Public property OriginalCols Number of columns (i.e. variables) in the original matrix before presolving.
Public property OriginalGenconCols Number of input variables in general constraints in the original problem before presolving.
Public property OriginalGencons Number of general constraints in the original problem before presolving.
Public property OriginalGenconVals Number of constant values in general constraints in the original problem before presolving.
Public property OriginalIndicators Number of indicator constraints in the original matrix before presolving.
Public property OriginalMIPEnts 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.
Public property OriginalPwlpoints Number of breakpoints of piecewise linear constraints in the original problem before presolving.
Public property OriginalPwls Number of piecewise linear constraints in the original problem before presolving.
Public property OriginalQCElems Number of quadratic row coefficients in the original matrix before presolving.
Public property OriginalQConstraints Number of rows with quadratic coefficients in the original matrix before presolving.
Public property OriginalQElems Number of quadratic non-zeros in the original objective before presolving.
Public property OriginalRows Number of rows (i.e. constraints) in the original matrix before presolving.
Public property OriginalSetMembers Number of variables within special ordered sets (set members) in the original matrix before presolving.
Public property OriginalSets Number of special ordered sets in the original matrix before presolving.
Public property OutputControls This control toggles the printing of all control settings at the beginning of the search. This includes the printing of controls that have been explicitly assigned to their default value. All unset controls are omitted as they keep their default value.
Public property OutputLog This controls the level of output produced by the Optimizer during optimization. In the Console Optimizer, OUTPUTLOG controls which messages are sent to the screen (stdout). When using the Optimizer library, no output is sent to the screen. If the user wishes output to be displayed, they must define a callback function and print messages to the screen themselves. In this case, OUTPUTLOG controls which messages are sent to the user output callback.
Public property OutputMask Mask to restrict the row and column names written to file. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property OutputTol Zero tolerance on print values.
Public property ParentNode The parent node of the current node in the tree search.
Public property PeakMemory An estimate of the peak amount of dynamically allocated heap memory by the problem.
Public property PeakTotalTreeMemoryUsage The peak size, in megabytes, that the branch-and-bound search tree reached during the solve. Note that this value will include the uncompressed size of any compressed data and the size of any data saved to the tree file.
Public property Penalty Minimum absolute penalty variable coefficient. BIGM and PENALTY are set by the input routine (readProb (READPROB)) but may be reset by the user prior to lpOptimize (LPOPTIMIZE).
Public property PenaltyValue The weighted sum of violations in the solution to the relaxed problem identified by the infeasibility repair function.
Public property PhysicalCoresDetected The total number of physical cores across all CPUs detected by the optimizer.
Public property PhysicalCoresPerCPUDetected The number of physical cores per CPU detected by the optimizer.
Public property PivotTol Simplex: The zero tolerance for matrix elements. On each iteration, the simplex method seeks a nonzero matrix element to pivot on. Any element with absolute value less than PIVOTTOL is treated as zero for this purpose.
Public property PPFactor The partial pricing candidate list sizing parameter.
Public property PreAnalyticcenter Determines if analytic centers should be computed and used for variable fixing and the generation of alternative reduced costs (-1: Auto 0: Off, 1: Fixing, 2: Redcost, 3: Both)
Public property PreBasisRed Determines if a lattice basis reduction algorithm should be attempted as part of presolve
Public property PreBndRedCone Determines if second order cone constraints should be used for inferring bound reductions on variables when solving a MIP.
Public property PreBndRedQuad Determines if convex quadratic constraints should be used for inferring bound reductions on variables when solving a MIP.
Public property PreCliqueStrategy Determines how much effort to spend on clique covers in presolve.
Public property PreCoefElim 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.
Public property PreComponents Presolve: determines whether small independent components should be detected and solved as individual subproblems during root node processing.
Public property PreComponentsEffort Presolve: adjusts the overall effort for the independent component presolver. This control affects working limits for the subproblem solving as well as thresholds when it is called. Increase to put more emphasis on component presolving.
Public property PreConeDecomp Presolve: decompose regular and rotated cones with more than two elements and apply Outer Approximation on the resulting components.
Public property PreConfiguration MIP Presolve: determines whether binary rows with only few repeating coefficients should be reformulated. The reformulation enumerates the extremal feasible configurations of a row and introduces new columns and rows to model the choice between these extremal configurations. This presolve operation can be disabled as part of the (advanced) IP reductions PRESOLVEOPS.
Public property PreConvertObjToCons Presolve: convert a linear or quadratic objective function into an objective transfer constraint
Public property PreConvertSeparable Presolve: reformulate problems with a non-diagonal quadratic objective and/or constraints as diagonal quadratic or second-order conic constraints.
Public property PredictedAttLevel A measure between 0 and 1 to predict how numerically unstable the current MIP solve can be expected to be. After the root LP solve, a machine learning model is used to predict the actual ATTENTIONLEVEL which will only be computed if MIPKAPPAFREQ is set to a nonzero value. If the predicted attention level exceeds a value of 0.1, a message will be printed to the log.
Public property PreDomCol Presolve: Determines the level of dominated column removal reductions to perform when presolving a mixed integer problem. Only binary columns will be checked.
Public property PreDomRow Presolve: Determines the level of dominated row removal reductions to perform when presolving a problem.
Public property PreDupRow Presolve: Determines the type of duplicate rows to look for and eliminate when presolving a problem.
Public property PreElimQuad Presolve: Allows for elimination of quadratic variables via doubleton rows.
Public property PreFolding Presolve: Determines if a folding procedure should be used to aggregate continuous columns in an equitable partition.
Public property PreImplications Presolve: Determines whether to use implication structures to remove redundant rows. If implication sequences are detected, they might also be used in probing.
Public property PreLinDep Presolve: Determines whether to check for and remove linearly dependent equality constraints when presolving a problem.
Public property PreObjCutDetect Presolve: Determines whether to check for constraints that are parallel or near parallel to a linear objective function, and which can safely be removed. This reduction applies to MIPs only.
Public property PrePermute 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.
Public property PrePermuteSeed This control sets the seed for the pseudo-random number generator for permuting the problem when starting the presolve. This control only has effects when PREPERMUTE is enabled.
Public property PreProbing Presolve: Amount of probing to perform on binary variables during presolve. This is done by fixing a binary to each of its values in turn and analyzing the implications.
Public property PreProtectDual Presolve: specifies whether the presolver should protect a given dual solution by maintaining the same level of dual feasibility. Enabling this control often results in a worse presolved model. This control only expected to be optionally enabled before calling crossoverLpSol.
Public property PreRootEffort Dial for the work spent during the Pre-root parallel heuristic phase. A positive value sets a suitable work limit that is dependent on problem-characteristics. Changing the value up/or down dials the work spent in this phase up or down. This control also enables/disables Pre-root parallel heuristics.
Public property PreRootThreads Specifies an explicit number of threads that should be used for the Pre-root parallel heuristic phase. By default, this phase will use all threads available to the solver (as governed by the control THREADS).
Public property PreRootWorkLimit Set an explicit work limit in work units for the Pre-root parallel heuristic phase. Any positive value also enables this phase and runs it until the PREROOTWORKLIMIT units of work are hit.
Public property Presolve This control determines whether presolving should be performed prior to starting the main algorithm. Presolve attempts to simplify the problem by detecting and removing redundant constraints, tightening variable bounds, etc. In some cases, infeasibility may even be determined at this stage, or the optimal solution found.
Public property PresolveIndex Presolve: The row or column index on which presolve detected a problem to be infeasible or unbounded.
Public property PresolveMaxGrow Limit on how much the number of non-zero coefficients is allowed to grow during presolve, specified as a ratio of the number of non-zero coefficients in the original problem.
Public property PresolveOps This bit-vector control (see Section ) specifies the operations which are performed during the presolve.
Public property PresolvePasses Number of reduction rounds to be performed in presolve
Public property PresolveState Problem status as a bit-vector (compare Section ).
Public property PreSort 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.
Public property PricingAlg Simplex: This determines the primal simplex pricing method. It is used to select which variable enters the basis on each iteration. In general Devex pricing requires more time on each iteration, but may reduce the total number of iterations, whereas partial pricing saves time on each iteration, but may result in more iterations.
Public property PrimalDualIntegral Value of the primal-dual integral.
Public property PrimalInfeas Number of primal infeasibilities.
Public property PrimalOps Primal simplex: allows fine tuning the variable selection in the primal simplex solver.
Public property PrimalPerturb The factor by which the problem will be perturbed prior to optimization by primal simplex. A value of 0.0 results in no perturbation prior to optimization. Note the interconnection to the AUTOPERTURB control. If AUTOPERTURB is set to 1, the decision whether to perturb or not is left to the Optimizer. When the problem is automatically perturbed in primal simplex, however, the value of PRIMALPERTURB will be used for perturbation.
Public property PrimalUnshift Determines whether primal is allowed to call dual to unshift.
Public property PseudoCost Branch and Bound: The default pseudo cost used in estimation of the degradation associated with an unexplored node in the tree search. A pseudo cost is associated with each integer decision variable and is an estimate of the amount by which the objective function will be worse if that variable is forced to an integral value.
Public property PwlCons Number of piecewise linear constraints in the problem.
Public property PwlDualReductions 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.
Public property PwlNonConvexTransformation This control specifies the reformulation method for piecewise linear constraints at the beginning of the search. Note that the chosen formulation will only be used if MIP entities are necessary but not if presolve detected that a convex reformulation is possible. Furthermore, the binary formulation will only be applied to piecewise linear constraints with bounded input variable, otherwise the SOS2-formulation will be used.
Public property PwlPoints Number of breakpoints of piecewise linear constraints in the problem.
Public property QCCuts Branch and Bound: Limit on the number of rounds of outer approximation cuts generated for the root node, when solving a mixed integer quadratic constrained or mixed integer second order conic problem with outer approximation.
Public property QCElems Number of quadratic row coefficients in the matrix.
Public property QConstraints Number of rows with quadratic coefficients in the matrix.
Public property QCRootAlg This control determines which algorithm is to be used to solve the root of a mixed integer quadratic constrained or mixed integer second order cone problem, when outer approximation is used.
Public property QElems Number of quadratic non-zeros in the objective.
Public property QSimplexOps Controls the behavior of the quadratic simplex solvers via a bit-vector (see Section ).
Public property QuadraticUnshift Determines whether an extra solution purification step is called after a solution found by the quadratic simplex (either primal or dual).
Public property RandomSeed Sets the initial seed to use for the pseudo-random number generator in the Optimizer. The sequence of random numbers is always reset using the seed when starting a new optimization run.
Public property RangeName Active range name.
Public property Refactor Indicates whether the optimization should restart using the current representation of the factorization in memory.
Public property RefineOps This specifies when the solution refiner should be executed to reduce solution infeasibilities. The refiner will attempt to satisfy the target tolerances for all original linear constraints before presolve or scaling has been applied.
Public property RelaxTreeMemoryLimit When the memory used by the branch and bound search tree exceeds the target specified by the TREEMEMORYLIMIT control, the optimizer will try to reduce this by writing nodes to the tree file. In rare cases, usually where the solve has many millions of very small nodes, the tree structural data (which cannot be written to the tree file) will grow large enough to approach or exceed the tree's memory target. When this happens, optimizer performance can degrade greatly as the solver makes heavy use of the tree file in preference to memory. To prevent this, the solver will automatically relax the tree memory limit when it detects this case; the RELAXTREEMEMORYLIMIT control specifies the proportion of the previous memory limit by which to relax it. Set RELAXTREEMEMORYLIMIT to 0.0 to force the Xpress Optimizer to never relax the tree memory limit in this way.
Public property RelPivotTol Simplex: At each iteration a pivot element is chosen within a given column of the matrix. The relative pivot tolerance, RELPIVOTTOL, is the size of the element chosen relative to the largest possible pivot element in the same column.
Public property RepairIndefiniteQ Controls if the optimizer should make indefinite quadratic matrices positive definite when it is possible.
Public property RepairIndefiniteQMax Control REPAIRINDEFINITEQMAX.
Public property RepairInfeasMaxTime Overall time limit for the repairinfeas tool
Obsolete
Public property RepairInfeasTimeLimit Overall time limit for the repairinfeas tool
Public property ResourceStrategy 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. Available memory (or container limits) are automatically detected but can also be changed by MAXMEMORYSOFT and MAXMEMORYHARD
Public property Restarts Total number of restarts performed.
Public property RHSName Active right hand side name.
Public property RLTCuts Determines whether RLT cuts should be separated in the Xpress Global Solver.
Public property RootPresolve Determines if presolving should be performed on the problem after the tree search has finished with root cutting and heuristics.
Public property Rows Number of rows (i.e. constraints) in the matrix.
Public property SBBest Number of infeasible MIP entities to initialize pseudo costs for on each node.
Public property SbEffort Adjusts the overall amount of effort when using strong branching to select an infeasible MIP entity to branch on.
Public property SBEstimate Branch and Bound: How to calculate pseudo costs from the local node when selecting an infeasible MIP entity to branch on. These pseudo costs are used in combination with local strong branching and history costs to select the branch candidate.
Public property SBIterLimit Number of dual iterations to perform the strong branching for each entity.
Public property SBSelect The size of the candidate list of MIP entities for strong branching.
Public property Scaling 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.
Public property SerializePreIntSol Setting SERIALIZEPREINTSOL to 1 will ensure that the preintsol callback is always fired in a deterministic order during a parallel MIP solve. This applies only when the control DETERMINISTIC is set to 1.
Public property SetMembers Number of variables within special ordered sets (set members) in the matrix.
Public property Sets Number of special ordered sets in the matrix.
Public property Sifting Determines whether to enable sifting algorithm with the dual simplex method.
Public property SiftPasses Determines how quickly we allow to grow the worker problems during the sifting algorithm. Using larger values can increase the number of columns added to the worker problem which often results in increased solve times for the worker problems but the number of necessary sifting iterations may be reduced.
Public property SiftPresolveOps Determines the presolve operations for solving the subproblems during the sifting algorithm.
Public property SiftSwitch Determines which algorithm to use for solving the subproblems during sifting.
Public property SimplexIter Number of simplex iterations performed.
Public property SleepOnThreadWait In previous versions this was used to determine if the threads should be put into a wait state when waiting for work.
Obsolete
Public property SlpAlgorithm Bit map describing the SLP algorithm(s) to be used
Public property SlpAnalyze Bit map activating additional options supporting model / solution path analysis
Public property SlpATol_A Absolute delta convergence tolerance
Public property SlpATol_R Relative delta convergence tolerance
Public property SlpAugmentation Bit map describing the SLP augmentation method(s) to be used
Public property SlpAutoSave Frequency with which to save the model
Public property SlpBarCrossoverStart Default crossover activation behaviour for barrier start
Public property SlpBarLimit Number of initial SLP iterations using the barrier method
Public property SlpBarStallingLimit Number of iterations to allow numerical failures in barrier before switching to dual
Public property SlpBarStallingObjLimit Number of iterations over which to measure the objective change for barrier iterations with no crossover
Public property SlpBarStallingTol Required change in the objective when progress is measured in barrier iterations without crossover
Public property SlpBarStartOps Controls behaviour when the barrier is used to solve the linearizations
Public property SlpBoundThreshold The maximum size of a bound that can be introduced by nonlinear presolve.
Public property SlpCascade Bit map describing the cascading to be used
Public property SlpCascadeNLimit Maximum number of iterations for cascading with non-linear determining rows
Public property SlpCascadeTol_PA Absolute cascading print tolerance
Public property SlpCascadeTol_PR Relative cascading print tolerance
Public property SlpCDTol_A Absolute tolerance for deducing constant derivatives
Public property SlpCDTol_R Relative tolerance for deducing constant derivatives
Public property SlpClampShrink Shrink ratio used to impose strict convergence on variables converged in extended criteria only
Public property SlpClampValidationTol_A Absolute validation tolerance for applying XSLP_CLAMPSHRINK
Public property SlpClampValidationTol_R Relative validation tolerance for applying XSLP_CLAMPSHRINK
Public property SlpCoefficients Number of nonlinear coefficients
Public property SlpConvergenceOps Bit map describing which convergence tests should be carried out
Public property SlpCTol Closure convergence tolerance
Public property SlpCurrentDeltaCost Current value of penalty cost multiplier for penalty delta vectors
Public property SlpCurrentErrorCost Current value of penalty cost multiplier for penalty error vectors
Public property SlpCutStrategy Determines whihc cuts to apply in the MISLP search when the default SLP-in-MIP strategy is used.
Public property SlpDamp Damping factor for updating values of variables
Public property SlpDampExpand Multiplier to increase damping factor during dynamic damping
Public property SlpDampMax Maximum value for the damping factor of a variable during dynamic damping
Public property SlpDampMin Minimum value for the damping factor of a variable during dynamic damping
Public property SlpDampShrink Multiplier to decrease damping factor during dynamic damping
Public property SlpDampStart SLP iteration at which damping is activated
Public property SlpDefaultStepBound Minimum initial value for the step bound of an SLP variable if none is explicitly given
Public property SlpDelayUpdateRows Number of SLP iterations before update rows are fully activated
Public property SlpDelta_A Absolute perturbation of values for calculating numerical derivatives
Public property SlpDelta_Infinity Maximum value for partial derivatives
Public property SlpDelta_R Relative perturbation of values for calculating numerical derivatives
Public property SlpDelta_X Minimum absolute value of delta coefficients to be retained
Public property SlpDelta_Z Tolerance used when calculating derivatives
Public property SlpDelta_Zero Absolute zero acceptance tolerance used when calculating derivatives
Public property SlpDeltaCost Initial penalty cost multiplier for penalty delta vectors
Public property SlpDeltaCostFactor Factor for increasing cost multiplier on total penalty delta vectors
Public property SlpDeltaMaxCost Maximum penalty cost multiplier for penalty delta vectors
Public property SlpDeltaOffset Position of first character of SLP variable name used to create name of delta vector
Public property SlpDeltas Number of delta vectors created during augmentation
Public property SlpDeltaZLimit Number of SLP iterations during which to apply XSLP_DELTA_Z
Public property SlpDJTol Tolerance on DJ value for determining if a variable is at its step bound
Public property SlpDRColDjTol Reduced cost tolerance on the delta variable when fixing due to the determining column being below XSLP_DRCOLTOL.
Public property SlpDRColTol The minimum absolute magnitude of a determining column, for which the determined variable is still regarded as well defined
Public property SlpDRFixRange The range around the previous value where variables are fixed in cascading if the determining column is below XSLP_DRCOLTOL.
Public property SlpECFCheck Check feasibility at the point of linearization for extended convergence criteria
Public property SlpECFCount Number of infeasible constraints found at the point of linearization
Public property SlpEcfTol_A Absolute tolerance on testing feasibility at the point of linearization
Public property SlpEcfTol_R Relative tolerance on testing feasibility at the point of linearization
Public property SlpEnforceCostShrink Factor by which to decrease the current penalty multiplier when enforcing rows.
Public property SlpEnforceMaxCost Maximum penalty cost in the objective before enforcing most violating rows
Public property SlpErrorCost Initial penalty cost multiplier for penalty error vectors
Public property SlpErrorCostFactor Factor for increasing cost multiplier on total penalty error vectors
Public property SlpErrorCosts Total penalty costs in the solution
Public property SlpErrorMaxCost Maximum penalty cost multiplier for penalty error vectors
Public property SlpErrorOffset Position of first character of constraint name used to create name of penalty error vectors
Public property SlpErrorTol_A Absolute tolerance for error vectors
Public property SlpErrorTol_P Absolute tolerance for printing error vectors
Public property SlpEscalation Factor for increasing cost multiplier on individual penalty error vectors
Public property SlpETol_A Absolute tolerance on penalty vectors
Public property SlpETol_R Relative tolerance on penalty vectors
Public property SlpEVTol_A Absolute tolerance on total penalty costs
Public property SlpEVTol_R Relative tolerance on total penalty costs
Public property SlpExpand Multiplier to increase a step bound
Public property SlpFeastolTarget When set, this defines a target feasibility tolerance to which the linearizations are solved to
Public property SlpFilter Bit map for controlling solution updates
Public property SlpGranularity Base for calculating penalty costs
Public property SlpGridHeurSelect Bit map selectin which heuristics to run if the problem has variable with an integer delta
Public property SlpHeurStrategy Branch and Bound: This specifies the MINLP heuristic strategy. On some problems it is worth trying more comprehensive heuristic strategies by setting HEURSTRATEGY to 2 or 3.
Public property SlpInfeasLimit The maximum number of consecutive infeasible SLP iterations which can occur before Xpress-SLP terminates
Public property SlpIter SLP iteration count
Public property SlpIterLimit The maximum number of SLP iterations
Public property SlpItol_A Absolute impact convergence tolerance
Public property SlpITol_R Relative impact convergence tolerance
Public property SlpLSIterLimit Number of iterations in the line search
Public property SlpLSPatternLimit Number of iterations in the pattern search preceding the line search
Public property SlpLSStart Iteration in which to active the line search
Public property SlpLSZeroLimit Maximum number of zero length line search steps before line search is deactivated
Public property SlpMatrixTol Nonzero tolerance for dropping coefficients from the linearization.
Public property SlpMaxWeight Maximum penalty weight for delta or error vectors
Public property SlpMinSBFactor Factor by which step bounds can be decreased beneath XSLP_ATOL_A
Public property SlpMinusPenaltyErrors Number of negative penalty error vectors
Public property SlpMinWeight Minimum penalty weight for delta or error vectors
Public property SlpMipAlgorithm Bitmap describing the MISLP algorithms to be used
Public property SlpMipCutoff_A Absolute objective function cutoff for MIP termination
Public property SlpMipCutoff_R Absolute objective function cutoff for MIP termination
Public property SlpMipCutOffCount Number of SLP iterations to check when considering a node for cutting off
Public property SlpMipCutoffLimit Number of SLP iterations to check when considering a node for cutting off
Public property SlpMipDefaultAlgorithm Default algorithm to be used during the tree search in MISLP
Public property SlpMipErrorTol_A Absolute penalty error cost tolerance for MIP cut-off
Public property SlpMipErrorTol_R Relative penalty error cost tolerance for MIP cut-off
Public property SlpMipFixStepBounds Bitmap describing the step-bound fixing strategy during MISLP
Public property SlpMipIter Total number of SLP iterations in MISLP
Public property SlpMipIterLimit Maximum number of SLP iterations at each node
Public property SlpMipLog Frequency with which MIP status is printed
Public property SlpMipNodes Number of nodes explored in MISLP. This includes any nodes for which a non-linear solve has been carried out.
Public property SlpMipOCount Number of SLP iterations at each node over which to measure objective function variation
Public property SlpMipOtol_A Absolute objective function tolerance for MIP termination
Public property SlpMipOtol_R Relative objective function tolerance for MIP termination
Public property SlpMipRelaxStepBounds Bitmap describing the step-bound relaxation strategy during MISLP
Public property SlpMipSols Number of integer solutions found in MISLP. This includes solutions found during the tree search or any heuristics.
Public property SlpMTol_A Absolute effective matrix element convergence tolerance
Public property SlpMTol_R Relative effective matrix element convergence tolerance
Public property SlpMVTol Marginal value tolerance for determining if a constraint is slack
Public property SlpNonConstantCoeffs Number of coefficients in the augmented problem that might change between SLP iterations
Public property SlpObjThreshold Assumed maximum value of the objective function in absolute value.
Public property SlpObjToPenaltyCost Factor to estimate initial penalty costs from objective function
Public property SlpOCount Number of SLP iterations over which to measure objective function variation for static objective (2) convergence criterion
Public property SlpOptimalityTolTarget When set, this defines a target optimality tolerance to which the linearizations are solved to
Public property SlpOTol_A Absolute static objective (2) convergence tolerance
Public property SlpOTol_R Relative static objective (2) convergence tolerance
Public property SlpPenaltyDeltaColumn Index of column costing the penalty delta row
Public property SlpPenaltyDeltaRow Index of equality row holding the penalties for delta vectors
Public property SlpPenaltyDeltas Number of penalty delta vectors
Public property SlpPenaltyDeltaTotal Total activity of penalty delta vectors
Public property SlpPenaltyDeltaValue Total penalty cost attributed to penalty delta vectors
Public property SlpPenaltyErrorColumn Index of column costing the penalty error row
Public property SlpPenaltyErrorRow Index of equality row holding the penalties for penalty error vectors
Public property SlpPenaltyErrors Number of penalty error vectors
Public property SlpPenaltyErrorTotal Total activity of penalty error vectors
Public property SlpPenaltyErrorValue Total penalty cost attributed to penalty error vectors
Public property SlpPenaltyInfoStart Iteration from which to record row penalty information
Public property SlpPlusPenaltyErrors Number of positive penalty error vectors
Public property SlpSameCount Number of steps reaching the step bound in the same direction before step bounds are increased
Public property SlpSameDamp Number of steps in same direction before damping factor is increased
Public property SlpSBRowOffset Position of first character of SLP variable name used to create name of SLP lower and upper step bound rows
Public property SlpSBStart SLP iteration after which step bounds are first applied
Public property SlpSbxConverged Number of step-bounded variables converged only on extended criteria
Public property SlpShrink Multiplier to reduce a step bound
Public property SlpShrinkBias Defines an overwrite / adjustment of step bounds for improving iterations
Public property SlpStatus Bitmap holding the problem convergence status
Public property SlpSTol_A Absolute slack convergence tolerance
Public property SlpSTol_R Relative slack convergence tolerance
Public property SlpTolSets Number of tolerance sets.
Public property SlpTraceMaskOps Controls the information printed for XSLP_TRACEMASK. The order in which the information is printed is determined by the order of bits in XSLP_TRACEMASKOPS.
Public property SlpUCConstrainedCount Number of unconverged variables with coefficients in constraining rows
Public property SlpUnConverged Number of unconverged values
Public property SlpUnFinishedLimit The number of consecutive SLP iterations that may have an unfinished status before the solve is terminated.
Public property SlpUpdateOffset Position of first character of SLP variable name used to create name of SLP update row
Public property SlpVCount Number of SLP iterations over which to measure static objective (3) convergence
Public property SlpVLimit Number of SLP iterations after which static objective (3) convergence testing starts
Public property SlpVTol_A Absolute static objective (3) convergence tolerance
Public property SlpVTol_R Relative static objective (3) convergence tolerance
Public property SlpWCount Number of SLP iterations over which to measure the objective for the extended convergence continuation criterion
Public property SlpWTol_A Absolute extended convergence continuation tolerance
Public property SlpWTol_R Relative extended convergence continuation tolerance
Public property SlpXCount Number of SLP iterations over which to measure static objective (1) convergence
Public property SlpXLimit Number of SLP iterations up to which static objective (1) convergence testing is performed
Public property SlpXTol_A Absolute static objective function (1) tolerance
Public property SlpXTol_R Relative static objective function (1) tolerance
Public property SlpZeroCriterion Bitmap determining the behavior of the placeholder deletion procedure
Public property SlpZeroCriterionCount Number of consecutive times a placeholder entry is zero before being considered for deletion
Public property SlpZeroCriterionStart SLP iteration at which criteria for deletion of placeholder entries are first activated.
Public property SlpZeroesReset Number of placeholder entries set to zero
Public property SlpZeroesRetained Number of potentially zero placeholders left untouched
Public property SlpZeroesTotal Number of potential zero placeholder entries
Public property SolStatus Status of the solution of the last problem solved with optimize.
Public property SolTimeLimit The maximum time in seconds that the Optimizer will run a MIP solve before it terminates, given that a solution has been found. As long as no solution has been found, this control will have no effect.
Public property SolvedObjs Number of objectives that have been solved so far during a multi-objective solve.
Public property SolveStatus Status of the solve of the last problem solved with optimize.
Public property SOSRefTol The minimum relative gap between the ordering values of elements in a special ordered set. The gap divided by the absolute value of the larger of the two adjacent values must be at least SOSREFTOL.
Public property SpareCols Number of spare columns in the matrix.
Public property SpareElems Number of spare matrix elements in the matrix.
Public property SpareMIPEnts Number of spare MIP entities in the matrix.
Public property SpareRows Number of spare rows in the matrix.
Public property SpareSetElems Number of spare set elements in the matrix.
Public property SpareSets Number of spare sets in the matrix.
Public property StopStatus Status of the optimization process.
Public property SumPrimalInf Scaled sum of primal infeasibilities.
Public property Symmetry Adjusts the overall amount of effort for symmetry detection.
Public property SymSelect Adjusts the overall amount of effort for symmetry detection.
Public property SystemMemory The amount of non problem specific memory used by the solver.
Public property Threads The default number of threads used during optimization.
Public property Time Time spent solving the problem as measured by the optimizer.
Public property TimeLimit The maximum time in seconds that the Optimizer will run before it terminates, including the problem setup time and solution time. For MIP problems, this is the total time taken to solve all nodes.
Public property TotalMemory The amount of dynamically allocated heap memory by the optimizer, including all problems currently exsisting.
Public property Trace Display the infeasibility diagnosis during presolve. If non-zero, an explanation of the logical deductions made by presolve to deduce infeasibility or unboundedness will be displayed on screen or sent to the message callback function.
Public property TreeCompletion Estimation of the relative completion of the search tree as fraction between 0 and 1. Its accuracy mainly depends on the level of degeneracy of a problem and the balancedness of the search tree.
Public property TreeCompression 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. The TREECOMPRESSION control determines the strength of the data-compression algorithm used; higher values give superior data-compression at the affect of decreasing performance, while lower values compress quicker but not as effectively. Where TREECOMPRESSION is set to 0, no data compression will be used on the tree file.
Public property TreeCoverCuts Branch and Bound: The number of rounds of lifted cover inequalities generated at nodes other than the root node in the tree. Compare with the description for COVERCUTS. A value of -1 indicates the number of rounds is determined automatically.
Public property TreeCutSelect 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.
Public property TreeDiagnostics 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.
Public property TreeFileLogInterval This control sets the interval between progress messages output while writing tree data to the tree file, in seconds. The solve is slowed greatly while data is being written to the tree file and this output allows the user to see how much progress is being made.
Public property TreeFileSize The allocated size of the tree file, in megabytes. Because data can be removed from the tree file during the branch and bound search, the size of the tree file is usually greater than the amount of data currently within it (represented by the TREEFILEUSAGE attribute).
Public property TreeFileUsage The number of megabytes of data from the branch-and-bound tree that have been saved to the tree file. Note that the actual allocated size of the tree file (represented by the TREEFILESIZE attribute) may be greater than this value.
Public property TreeGomCuts Branch and Bound: The number of rounds of Gomory cuts generated at nodes other than the first node in the tree. Compare with the description for GOMCUTS. A value of -1 indicates the number of rounds is determined automatically.
Public property TreeMemoryLimit A soft limit, in megabytes, for the amount of memory to use in storing the branch and bound search tree. This doesn't include memory used for presolve, heuristics, solving the LP relaxation, etc. When set to 0 (the default), the optimizer will calculate a limit automatically based on the amount of free physical memory detected in the machine. When the memory used by the branch and bound tree exceeds this limit, the optimizer will try to reduce the memory usage by writing lower-rated sections of the tree to a file called the "tree file". Though the solve can continue if it cannot bring the tree memory usage below the specified limit, performance will be inhibited and a message will be printed to the log.
Public property TreeMemorySavingTarget 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. The target amount of memory to save will be enough to bring memory usage back below the limit, plus enough extra to give the tree room to grow. The TREEMEMORYSAVINGTARGET control specifies the extra proportion of the tree's size to try to save; for example, if the tree memory limit is 1000Mb and TREEMEMORYSAVINGTARGET is 0.1, when the tree size exceeds 1000Mb the optimizer will try to reduce the tree size to 900Mb. Reducing the value of TREEMEMORYSAVINGTARGET will cause less extra nodes of the tree to be written to the tree file, but will result in the memory saving routine being triggered more often (as the tree will have less room in which to grow), which can reduce performance. Increasing the value of TREEMEMORYSAVINGTARGET will cause additional, more highly-rated nodes, of the tree to be written to the tree file, which can cause performance issues if these nodes are required later in the solve.
Public property TreeMemoryUsage The amount of physical memory, in megabytes, currently being used to store the branch-and-bound search tree.
Public property TreeQCCuts 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.
Public property TreeRestarts Number of in-tree restarts performed.
Public property TunerHistory Tuner: Whether to reuse and append to previous tuner results of the same problem.
Public property TunerMaxTime Tuner: The maximum time in seconds that the tuner will run before it terminates.
Public property TunerMethod Tuner: Selects a factory tuner method. A tuner method consists of a list of controls with different settings that the tuner will evaluate and try to combine.
Public property TunerMethodFile Tuner: Defines a file from which the tuner can read user-defined tuner method.
Public property TunerMode Tuner: Whether to always enable the tuner or disable it.
Public property TunerOutput Tuner: Whether to output tuner results and logs to the file system.
Public property TunerOutputPath Tuner: Defines a root path to which the tuner writes the result file and logs.
Public property TunerPermute Tuner: Defines the number of permutations to solve for each control setting.
Public property TunerSessionName Tuner: Defines a session name for the tuner.
Public property TunerTarget Tuner: Defines the tuner target -- what should be evaluated when comparing two runs with different control settings.
Public property TunerThreads Tuner: the number of threads used by the tuner.
Public property TunerVerbose Tuner: whether the tuner should prints detailed information for each run.
Public property UserSolHeuristic 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.
Public property UUID Universally Unique Identifier for the problem instance.
Public property VarSelection 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. The variable selected to be branched on is the one with the maximum estimate.
Public property Version The Optimizer version number, e.g. 1301 meaning release 13.01.
Public property Work Amount of deterministic algorithmic "work" spent since the invocation of the search process. Work is measured in work units. In contrast with TIME, WORK is deterministic. It is also independent of the platform and hardware used. At the end of a search, the optimizer reports both the accumulated total work as well as the speed at which WORK has been accumulated (measured in work units per second) in the log file. The accumulation of work depends on the size of the model being solved, the involved algorithms, and the stage of the search.
Public property WorkLimit The maximum work (measured in work units) that the Optimizer will run before it terminates. WORK is accumulated during the search and ever increasing. In contrast to TIME, WORK is independent of the hardware and platform on which the search is conducted. The WORKLIMIT serves as a deterministic stopping criterion. When it is reached, it leaves the optimizer in a reproducible state.
Public property XpressVersion The Xpress version number.
Top
See Also

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