Initializing help system before first use

# XPRSprob Class

Inheritance Hierarchy
SystemObject
OptimizerXPRSobject
OptimizerXPRSprob
Optimizer.ObjectsXpressProblem
Namespace: Optimizer
Assembly: xprsdn (in xprsdn.dll) Version: 47.01.01+0ba4e76731516b80760698bbaa939494dae84e49
Syntax
C#

    public class XPRSprob : XPRSobject, ICloneable

The XPRSprob type exposes the following members.

Constructors

| Name | Description
--- | --- | ---
| XPRSprob | Creates a new, empty problem. Note that instances of this class should be explicitly cleaned up by calling Dispose() so that native resources can be released. A good practice is to use instances of this class in a 'using' statement
| XPRSprob(String) | Initialize Xpress and create a new problem.
| XPRSprob(IntPtr, XPRSprob) | Creates a new, problem around a given problem pointer. Only useful when accessing a problem created from another C library. Problems created in this way are assumed to be managed by another library and native resources are not released when the problem is disposed.

Top
Properties

| Name | Description
--- | --- | ---
| ActiveNodes | Number of outstanding nodes.
| AlgAfterCrossOver | The algorithm to be used for the final clean up step after the crossover.
| AlgAfterNetwork | The algorithm to be used for the clean up step after the network simplex solver.
| Algorithm | The algorithm the optimizer currently is running / was running just before completition.
| AlternativeLPSols | Controls the collection of alternative LP solutions for cut separation and heuristics.
| AlternativeRedCosts | Controls aggressiveness of searching for alternative reduced cost
| 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.
| 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.
| 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.
| AutoScaling | Whether the Optimizer should automatically select between different scaling algorithms. If the SCALING control is set, no automatic scaling will be applied.
| AvailableMemory | The amount of heap memory detected by Xpress as free.
| BackgroundMaxThreads | Limits the number of threads to use in background jobs (for example in parallel to the root cut loop).
| BackgroundSelect | Bit-vector control (see Section ) to select which tasks to run in background jobs (for example in parallel to the root cut loop).
| BackTrack | Branch and Bound: Specifies how to select the next node to work on when a full backtrack is performed.
| 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.
| BarAASize | Number of nonzeros in AA^T.
| 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.
| BarCGap | Convergence criterion for the Newton barrier algorithm.
| BarCondA | Absolute condition measure calculated in the last iteration of the barrier algorithm.
| BarCondD | Condition measure calculated in the last iteration of the barrier algorithm.
| BarCores | Determines the number of physical CPU cores assumed to be present in the system by the barrier and hybrid gradient algorithms.
| 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.
| BarCrossover | Indicates whether or not the basis crossover phase has been entered.
| BarDenseCol | Number of dense columns found in the matrix.
| BarDualInf | Sum of the dual infeasibilities for the Newton barrier algorithm.
| BarDualObj | Dual objective value calculated by the Newton barrier algorithm.
| 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.
| BarFailIterLimit | Newton barrier: The maximum number of consecutive iterations that fail to improve the solution in the barrier algorithm.
| BarFreeScale | Defines how the barrier algorithm scales free variables.
| 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.
| 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.
| 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.
| BarhgGPU | Whether to use a GPU for the hybrid gradient algorithm. Even though the GPU implementation of the hybrid gradient algorithm is identical in operation and functionality to the CPU implementation, the returned solutions can differ between the two versions due to the different architecture of the GPU. GPU support is not available in the deterministic concurrent LP algorithm.
| BarhgGPUBlocksize | The size of CUDA blocks to use for the GPU calculations.
| 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.
| BarhgMinorIterationLimit | Minor iterations are faster but simplified steps in the algorithm. This control determines how many minor iterations can be performed before performing a full step.
| 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.
| BarhgPrecision | Whether to use single or double precision floating-point arithmetic in the hybrid gradient algorithm. The single precision implementation uses less memory and is, in general, faster than the double precision implementation. This control applies to both the CPU and the GPU implementation of the algorithm. The performance difference is greater for the GPU version.
| BarhgRelTol | Relative feasibility tolerance for the hybrid gradient algorithm.
| 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.
| BarIter | Number of Newton barrier or hybrid gradient iterations.
| BarIterative | The maximum number of barrier iterations in which an iterative solver is used instead of the Cholesky decomposition.
| BarIterLimit | Newton barrier: Specifies 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.
| BarKeepLastSol | Control BARKEEPLASTSOL.
| BarKernel | Newton barrier: Defines how centrality is weighted in the barrier algorithm.
| BarLargeBound | Threshold for the barrier to handle large bounds.
| BarLSize | Number of nonzeros in L resulting from the Cholesky factorization.
| BarNumStability | Control BARNUMSTABILITY. Obsolete
| BarObjPerturb | Defines how the barrier perturbs the objective.
| BarObjScale | Defines how the barrier scales the objective.
| BarOrder | Newton barrier: This controls the Cholesky factorization in the Newton-Barrier.
| 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.
| 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.
| BarPerturb | Newton barrier: In numerically challenging cases it is often advantageous to apply perturbations on the KKT system to improve its numerical properties. BARPERTURB controls 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.
| BarPresolveOps | Newton barrier: This bit-vector (see Section ) controls the Newton-Barrier specific presolve operations.
| BarPrimalInf | Sum of the primal infeasibilities for the Newton barrier algorithm.
| BarPrimalObj | Primal objective value calculated by the Newton barrier algorithm.
| 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.
| 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.
| BarRegularize | This bit-vector control (see Section ) determines how the barrier algorithm applies regularization on the KKT system.
| BarRhsScale | Defines how the barrier scales the right hand side.
| 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.
| 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.
| 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.
| BarStart | Controls the computation of the starting point and warm-starting for the Newton barrier and the hybrid gradient algorithms.
| BarStartWeight | Newton barrier: This sets the 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.
| 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.
| BarThreads | Determines the number of threads implemented to run the Newton-barrier and hybrid gradient algorithms.
| BestBound | Value of the best bound determined so far by the MIP search.
| BigM | The infeasibility penalty used if the "Big M" method is implemented.
| 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.
| BoundName | Active bound name.
| BranchChoice | Once a MIP entity has been selected for branching, this control determines which of the branches is solved first.
| BranchDisj | Branch and Bound: Determines whether the Optimizer should attempt to branch on general split disjunctions during the branch and bound search.
| 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.
| BranchValue | The value of the branching variable at a node of the Branch and Bound tree.
| BranchVar | The branching variable at a node of the Branch and Bound tree.
| BreadthFirst | Specifies the number of nodes to include in the best-first search before switching to the local first search (NODESELECTION=4).
| CacheSize | Newton Barrier: Specifies the L2 or L3 (see notes) cache size in kB (kilobytes). 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
| CallbackCheckTimeDelay | Minimum delay in milliseconds between two consecutive executions of the CHECKTIME callback in the same solution process
| CallbackCheckTimeWorkDelay | Minimum delay in work units between two consecutive executions of the CHECKTIME callback in the same solution process
| 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.
| CallbackFromMainThread | Branch and Bound: specifies whether the MIP callbacks should only be called on the main thread.
| CheckInputData | Check input arrays for bad data.
| 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.
| 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.
| CholeskyAlg | Newton barrier: type of Cholesky factorization used; bit-vector-control (see Section ).
| 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.
| Clamping | This bit-vector control (see Section ) allows for the adjustment of returned solution values such that they are always within bounds.
| Cols | Number of columns (i.e. variables) in the matrix.
| Compute | Controls whether the next solve is performed directly or on an Insight Compute Interface.
| ComputeExecService | Selects the Insight execution service that will be used for solving remote optimizations.
| ComputeExecutions | The number of solves executed on a compute server.
| ComputeJobPriority | Selects the priority that will be used for remote optimization jobs. A job of priority N will always get scheduled before a job of priority N-1, provided there is sufficient capacity.
| ComputeLog | Controls how the run log is fetched when a solve is performed on an Insight Compute Interface.
| ConcurrentThreads | Determines the number of threads used by the concurrent solver.
| ConeElems | Number of second order cone coefficients in the problem.
| Cones | Number of second order and rotated second order cones in the problem.
| 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.
| CoresDetected | Number of logical cores detected by the optimizer, which is the total number of threads the hardware can execute across all CPUs.
| CoresPerCPU | Used to override the number of cores assumed to be present 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.
| CoresPerCPUDetected | Number of logical cores per CPU unit detected by the optimizer, which is the number of threads each CPU can execute.
| CoverCuts | Branch and Bound: Specifies 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.
| CpiAlpha | decay term for confined primal integral computation.
| CpiScaleFactor | scale factor from primal integral computation.
| 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.
| CPUsDetected | Number of CPU units detected by the optimizer.
| CPUTime | How time should be measured when timings are reported in the log and when checking against time limits
| 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.
| 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).
| 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.
| CrossOverDRP | Control CROSSOVERDRP.
| CrossOverFeasWeight | Control CROSSOVERFEASWEIGHT.
| CrossoverIter | Number of simplex iterations performed in crossover.
| CrossoverIterLimit | Newton barrier and hybrid gradient: Specifies the maximum number of iterations that will be performed in the crossover procedure before the optimization process terminates.
| CrossoverOps | Newton barrier and hybrid gradient: a bit-vector (see Section ) for adjusting the behavior of the crossover procedure.
| CrossOverRelPivotTol | Control CROSSOVERRELPIVOTTOL.
| CrossOverRelPivotTolSafe | Control CROSSOVERRELPIVOTTOLSAFE.
| CrossoverThreads | Determines the maximum number of threads that parallel crossover is allowed to use.
| CurrentMemory | The amount of dynamically allocated heap memory by the problem being solved.
| CurrentNode | The unique identifier of the current node in the tree search.
| CurrMipCutOff | The current MIP cut off.
| 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.
| 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.
| CutFreq | Branch and Bound: 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.
| CutRounds | Number of rounds of cuts applied to the current node of a branch-and-bound search.
| Cuts | Number of cuts being added to the matrix.
| 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.
| 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.
| DefaultAlg | This selects the algorithm that will be used to solve LPs, standalone or during MIP optimization.
| 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.
| Deterministic | Selects whether to use a deterministic or opportunistic mode when solving a problem using multiple threads.
| DeterministicLog | Suppress non-deterministic log information in the standard MIP log. In particular, wall clock time stamps are replaced by (deterministic) work units.
| DetLogFreq | Control DETLOGFREQ.
| DualGradient | Simplex: This specifies the dual simplex pricing method.
| DualInfeas | Number of dual infeasibilities.
| Dualize | For a linear problem or the initial linear relaxation of a MIP, determines whether to form and solve the dual problem.
| DualizeOps | Bit-vector control (see Section ) for adjusting the behavior when a problem is dualized.
| DualPerturb | Specifies the factor by which the problem will be perturbed prior to optimization by dual simplex. 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.
| DualStrategy | This bit-vector control (see Section ) specifies the dual simplex strategy.
| DualThreads | Determines the maximum number of threads that dual simplex is allowed to use.
| DummyControl | Control DUMMYCONTROL.
| EigenValueTol | A quadratic matrix is considered not to be positive semi-definite, if its smallest eigenvalue is smaller than the negative of this value.
| Elems | Number of matrix nonzeros (elements).
| ElimFillIn | Specifies the amount of fill-in allowed when performing an elimination in presolve .
| ElimTol | The Markowitz tolerance for the elimination phase of the presolve.
| 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 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.
| 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.
| EtaTol | Specifies the zero tolerance for eta vector 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.
| ExtraCols | Specifies 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.
| ExtraElems | Specifies 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.
| ExtraMIPEnts | Specifies the initial number of extra MIP entities to allow for.
| ExtraRows | Specifies 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.
| ExtraSetElems | Specifies 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.
| ExtraSets | Specifies 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.
| 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.
| FeasibilityPump | Branch and Bound: Decides if the Feasibility Pump heuristic should be run at the root node.
| 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.
| 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.
| FeasTolTarget | This specifies the target feasibility tolerance for the solution refiner.
| 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.
| 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.
| GenConCols | Number of input variables in general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
| GenCons | The number of general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
| GenconsAbsTransformation | This control specifies the reformulation method for absolute value general constraints at the beginning of the search.
| 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.
| GenConVals | Number of constant values in general constraints (MIN/MAX constraints) in the problem.
| 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.
| 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.
| 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.
| GlobalNlpCuts | Limits the number of rounds of outer approximation and convexification cuts generated for the root node, when solving an (MI)NLP to global optimality.
| GlobalNLPInfeas | Number of nonlinear infeasibilities at the current node of a global solve, measured as the number of violated atomic formulas.
| 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.
| GlobalPresolveOBBT | Controls the amount of work performed by Optimization-Based Bound Tightening (OBBT).
| GlobalSpatialBranchCuttingEffort | Limits the effort that is spent on creating cuts during spatial branching.
| 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.
| GlobalSpatialBranchPropagationEffort | Limits the effort that is spent on propagation during spatial branching.
| GlobalTreeNlpCuts | Limits 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.
| GomCuts | Branch and Bound: Specifies the number of rounds of Gomory or lift-and-project cuts at the root node.
| GPUCudaDevice | Controls which CUDA device should be used when GPU execution is enabled and there are multiple CUDA devices installed in a system. The first CUDA device number is 0. If the selected CUDA device is invalid or is not found, then an error is returned.
| GPUPlatform | Controls what kind of GPU support is enabled overall in Xpress. Individual solver components may disable GPU support.
| HeurBeforeLP | Branch and Bound: Determines whether primal heuristics should be run before the initial LP relaxation has been solved.
| 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.
| HeurDiveIterLimit | Branch and Bound: Simplex iteration limit for reoptimizing during the diving heuristic.
| 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.
| 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.
| HeurDiveSpeedUp | Branch and Bound: Changes the emphasis of the diving heuristic from solution quality to diving speed.
| HeurDiveStrategy | Branch and Bound: Chooses the strategy for the diving heuristic.
| 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.
| 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.
| 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.
| 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.
| 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.
| 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).
| HeurSearchCopyControls | Select how user-set controls should affect local search heuristics.
| HeurSearchEffort | Adjusts the overall level of the local search heuristics.
| HeurSearchFreq | Branch and Bound: This specifies how often the local search heuristic should be run in the tree.
| 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.
| 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.
| HeurSearchTargetSize | Control HEURSEARCHTARGETSIZE.
| 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.
| HeurSelect | Control HEURSELECT.
| 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.
| HeurThreads | Branch and Bound: The number of threads to dedicate to running heuristics during the root solve.
| HistoryCosts | Branch and Bound: How to update the pseudo cost for a MIP entity when a strong branch or a regular branch is applied.
| 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.
| IgnoreContainerCpuLimit | Control IGNORECONTAINERCPULIMIT.
| IgnoreContainerMemoryLimit | Control IGNORECONTAINERMEMORYLIMIT.
| 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.
| 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.
| IISSolStatus | IIS solution status.
| Indicators | Number of indicator constrains in the problem.
| 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.
| 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.
| InputCols | Number of columns (i.e. variables) in the original matrix before nonlinear reformulations.
| InputRows | Number of rows (i.e. constraints) in the original matrix before nonlinear reformulations.
| Inputtol | The zero tolerance for input values. 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.
| 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.
| InvertMin | Specifies the minimum number of Simplex iterations between full inversions of the basis matrix. See the description of INVERTFREQ for details.
| IOTimeout | Specifies the maximum number of seconds to wait for an I/O operation before it is cancelled.
| 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.
| KeepNRows | How nonbinding rows should be handled by the MPS reader.
| KnitroParamAlgorithm | Indicates which algorithm to use to solve nonlinear problems
| 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.
| KnitroParamBarFeasible | Specifies whether special emphasis is placed on getting and staying feasible in the interior-point algorithms.
| KnitroParamBarFeasModeTol | Specifies the tolerance in equation that determines whether Knitro will force subsequent iterates to remain feasible.
| 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.
| KnitroParamBarInitPt | Indicates whether an initial point strategy is used with barrier algorithms.
| KnitroParamBarMaxBacktrack | Indicates the maximum allowable number of backtracks during the linesearch of the Interior/Direct algorithm before reverting to a CG step.
| KnitroParamBarMaxRefactor | Indicates the maximum number of refactorizations of the KKT system per iteration of the Interior/Direct algorithm before reverting to a CG step.
| KnitroParamBarMuRule | Indicates which strategy to use for modifying the barrier parameter mu in the barrier algorithms.
| KnitroParamBarPenCons | Indicates whether a penalty approach is applied to the constraints.
| KnitroParamBarPenRule | Indicates which penalty parameter strategy to use for determining whether or not to accept a trial iterate.
| KnitroParamBarRelaxCons |
| KnitroParamBarSwitchRule | Indicates whether or not the barrier algorithms will allow switching from an optimality phase to a pure feasibility phase.
| KnitroParamBLASOption |
| KnitroParamDebug |
| KnitroParamDelta | Specifies the initial trust region radius scaling factor used to determine the initial trust region size.
| KnitroParamFeastol | Specifies the final relative stopping tolerance for the feasibility error.
| KnitroParamFeasTolAbs | Specifies the final absolute stopping tolerance for the feasibility error.
| KnitroParamGradOpt | Specifies how to compute the gradients of the objective and constraint functions.
| KnitroParamHessOpt | Specifies how to compute the (approximate) Hessian of the Lagrangian.
| KnitroParamHonorBbnds | Indicates whether or not to enforce satisfaction of simple variable bounds throughout the optimization.
| KnitroParamInfeasTol | Specifies the (relative) tolerance used for declaring infeasibility of a model.
| KnitroParamLinSolver |
| KnitroParamLMSize | Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option.
| KnitroParamMATerminate |
| KnitroParamMaxCGIt | Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option.
| KnitroParamMaxCrossIt | Specifies the maximum number of crossover iterations before termination.
| KnitroParamMaxIt | Specifies the maximum number of iterations before termination.
| KnitroParamMIPBranchRule | Specifies which branching rule to use for MIP branch and bound procedure.
| KnitroParamMIPDebug |
| KnitroParamMIPGUBBranch | Specifies whether or not to branch on generalized upper bounds (GUBs).
| KnitroParamMIPHeuristic | Specifies which MIP heuristic search approach to apply to try to find an initial integer feasible point.
| KnitroParamMIPHeurMaxIt |
| KnitroParamMIPImplicatns | Specifies whether or not to add constraints to the MIP derived from logical implications.
| KnitroParamMIPIntGapAbs | The absolute integrality gap stop tolerance for MIP.
| KnitroParamMIPIntGapRel | The relative integrality gap stop tolerance for MIP.
| KnitroParamMIPKnapsack | Specifies rules for adding MIP knapsack cuts.
| KnitroParamMIPLPAlg | Specifies which algorithm to use for any linear programming (LP) subproblem solves that may occur in the MIP branch and bound procedure.
| KnitroParamMIPMaxNodes | Specifies the maximum number of nodes explored.
| KnitroParamMIPMethod | Specifies which MIP method to use.
| KnitroParamMIPOutInterval | Specifies node printing interval for XKTR_PARAM_MIP_OUTLEVEL when XKTR_PARAM_MIP_OUTLEVEL &gt; 0.
| KnitroParamMIPOutLevel | Specifies how much MIP information to print.
| KnitroParamMIPPseudoint | Specifies the method used to initialize pseudo-costs corresponding to variables that have not yet been branched on in the MIP method.
| KnitroParamMIPRootAlg | Specifies which algorithm to use for the root node solve in MIP (same options as XKTR_PARAM_ALGORITHM user option).
| KnitroParamMIPRounding | Specifies the MIP rounding rule to apply.
| KnitroParamMIPSelectRule | Specifies the MIP select rule for choosing the next node in the branch and bound tree.
| KnitroParamMIPStringMaxIt | Specifies the maximum number of iterations to allow for MIP strong branching solves.
| KnitroParamMIPStrongCandLim | Specifies the maximum number of candidates to explore for MIP strong branching.
| KnitroParamMIPStrongLevel | Specifies the maximum number of tree levels on which to perform MIP strong branching.
| KnitroParamMsMaxBndRange |
| KnitroParamMSMaxSolves |
| KnitroParamMSNumToSave |
| KnitroParamMSSaveTol |
| KnitroParamMSSeed |
| KnitroParamMSStartPtRange |
| KnitroParamMSTerminate |
| KnitroParamMultiStart |
| KnitroParamNewPoint |
| KnitroParamObjRange | Specifies the extreme limits of the objective function for purposes of determining unboundedness.
| KnitroParamOptTol | Specifies the final relative stopping tolerance for the KKT (optimality) error.
| KnitroParamOptTolAbs | Specifies the final absolute stopping tolerance for the KKT (optimality) error.
| KnitroParamOutLev | Controls the level of output produced by Knitro.
| KnitroParamParNumThreads |
| KnitroParamPivot |
| 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.
| KnitroParamPresolveTol | Determines the tolerance used by the Knitro presolver to remove variables and constraints from the model.
| KnitroParamScale | Performs a scaling of the objective and constraint functions based on their values at the initial point.
| KnitroParamSOC | Specifies whether or not to try second order corrections (SOC).
| KnitroParamSoltype | This option specifies the solution returned by Knitro. Generally, the solution converged to by Knitro is a locally optimal solution that corresponds to the best feasible solution found. However, on rare occasions, Knitro may enounter a feasible solution during the optimization process that has a better objective value than the final solution converged to by Knitro. Setting soltype = 1 in this case will return this iterate.
| KnitroParamXTol | The optimization process will terminate if the relative change in all components of the solution point estimate is less than xtol.
| L1Cache | Newton barrier: Specifies the L1 cache size in kB (kilo bytes) of the CPU. Obsolete
| LNPBest | Specifies the maximum number of infeasible MIP entities to create lift-and-project cuts for during each round of Gomory cuts at the root node (see GOMCUTS).
| LNPIterLimit | Number of iterations to perform in improving each lift-and-project cut.
| LocalBacktrack | Control LOCALBACKTRACK.
| LocalChoice | Controls when to perform a local backtrack between the two child nodes during a dive in the branch and bound tree.
| LocalSolver | Selects the library to use for local solves
| LocalSolverSelected | Includes information of which Xpress solver has been used to solve the problem
| LpBackgroundThreads | Specifies the maximum number of threads to use for background work (typically heuristics) in parallel to the root LP relaxation of a MIP. This control can help finding feasible MIP solutions fast for models with difficult root LP relaxation. The algorithm employed is similar to the one used during pre-root parallel heuristics.
| 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.
| LpFolding | Simplex and barrier: whether to fold an LP problem before solving it.
| LPIterLimit | Simplex: Specifies 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.
| LPLog | Simplex: The frequency at which the simplex log is printed.
| LPLogDelay | Time interval between two LP log lines.
| LPLogStyle | Simplex: The style of the simplex log.
| LPObjVal | Value of the objective function of the last LP solved.
| LpRefineIterLimit | This specifies the simplex iteration limit the solution refiner can spend in attempting to increase the accuracy of an LP solution.
| LPStatus | LP solution status.
| LUPivotTol | Control LUPIVOTTOL.
| MarkowitzTol | The Markowitz tolerance used for the factorization of the basis matrix.
| MatrixName | The matrix name.
| MatrixTol | The zero tolerance for 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.
| MaxAbsDualInfeas | Maximum calculated absolute dual infeasibility in the unscaled original problem.
| MaxAbsPrimalInfeas | Maximum calculated absolute primal infeasibility in the unscaled original problem.
| 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.
| 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.
| 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.
| MaxIIS | This function controls the number of Irreducible Infeasible Sets to be found using the iISAll (IIS-a).
| 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.
| MaxKappa | Largest basis condition number (also known as kappa) calculated through all nodes sampled by MIPKAPPAFREQ.
| MaxLocalBacktrack | Branch-and-Bound: How far back up the current dive path the Optimizer is allowed to look for a local backtrack candidate node.
| MaxMCoeffBufferElems | Specifies 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.
| MaxMemoryHard | This control sets the maximum amount of memory in MB (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.
| MaxMemorySoft | When RESOURCESTRATEGY is enabled, this control sets the maximum amount of memory in megabytes (MB) 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.
| MaxMipInfeas | Maximum integer fractionality in the solution.
| MaxMIPSol | Branch and Bound: Specifies a limit on the number of integer solutions to be found by the Optimizer. The solve terminates once this limit is reached. 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 solution values.
| MaxMipTasks | Branch-and-Bound: The maximum number of tasks to run in parallel during a MIP solve.
| MaxNode | Branch and Bound: Specifies the maximum number of nodes that will be explored.
| MaxPageLines | Specifies the number of lines between page breaks in printable output.
| 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).
| MaxRelDualInfeas | Maximum calculated relative dual infeasibility in the unscaled original problem.
| MaxRelPrimalInfeas | Maximum calculated relative primal infeasibility in the unscaled original problem.
| 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.
| MaxStallTime | The maximum time in seconds that the Optimizer will continue to search for improving solution after finding a new incumbent.
| 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
| MaxTotalTreeFileSize | Specifies the maximum amount of disk space, in megabytes (MB), that can be used for storing tree data for a single problem. If more than this is required by the solve, it will terminate with an error.
| MaxTreeFileSize | Specifies the maximum size, in megabytes (MB), to which a single tree file may grow. 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.
| MCFCutStrategy | Level of Multi-Commodity Flow (MCF) cutting planes separation: This specifies how aggressively 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.
| 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).
| 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.
| 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.
| 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.
| 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.
| MIPAbsStop | Branch and Bound: The absolute tolerance determining whether the tree search will continue or not. It will terminate if &nbsp;&nbsp;&nbsp;|MIPOBJVAL - BESTBOUND| &lt;= 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.
| 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.
| MIPBestObjVal | Objective function value of the best integer solution found.
| 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.
| 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.
| 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.
| MIPDualReductions | Branch and Bound: Limits operations that can reduce the MIP solution space.
| 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.
| 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.
| MIPInfeas | Number of integer infeasibilities, including violations of special ordered sets, at the current node.
| MIPKappaFreq | Branch and Bound: Specifies how frequently the basis condition number (also known as kappa) should be calculated during the branch-and-bound search.
| MIPLog | MIP log print control.
| MIPObjVal | Objective function value of the last integer solution found.
| 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 ).
| MipRampup | Controls the strategy used by the parallel MIP solver during the ramp-up phase of a branch-and-bound tree search.
| MipRefineIterLimit | This defines an effort limit expressed as simplex iterations for the MIP solution refiner. The limit is per reoptimizations in the MIP refiner.
| 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.
| 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.
| MIPRelStop | Branch and Bound: This determines when the branch and bound tree search will terminate. Branch and bound tree search will stop if: &nbsp;&nbsp;&nbsp;|MIPOBJVAL - BESTBOUND| &lt;= MIPRELSTOP * 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.
| MipRestart | Branch and Bound: controls strategy for in-tree restarts.
| MIPRestartFactor | Branch and Bound: Fine tune initial conditions to trigger an in-tree restart. Note that this control does not affect the initial condition on the gap, which must be set separately.
| MIPRestartGapThreshold | Control MIPRESTARTGAPTHRESHOLD.
| MIPSolNode | Node at which the last integer feasible solution was found.
| MIPSols | Number of integer solutions that have been found.
| MIPSolTime | Time at which the last integer feasible solution was found.
| MIPStatus | (MIP) solution status.
| MIPStopStage | This control allows stopping a MIP solve in an early stage of the solution process. If the control is set to a stage that is already completed then the next optimization will stop immediately. If the solution process stops due to this control, the STOPSTATUS attribute is set to MIPSTAGE.
| 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.
| MIPThreadID | The ID for the MIP thread.
| MIPThreads | If set to a positive integer it determines the number of threads implemented to run the parallel MIP code.
| MIPTol | Branch and Bound: This is the tolerance within which a decision variable's value is considered to be integral.
| MipTolTarget | Specifies the target MIPTOL value used by the automatic MIP solution refiner as defined by REFINEOPS.
| MIQCPAlg | This control determines which algorithm is to be used to solve mixed integer quadratic constrained and mixed integer second order cone problems.
| MPS18Compatible | Provides compatibility of MPS file output for older MPS readers.
| 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.
| MPSEcho | Determines whether comments in MPS matrix files are to be printed out during matrix input.
| MPSFormat | Specifies the format of MPS files.
| MPSNameLength | Control MPSNAMELENGTH.
| 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.
| 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.
| 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.
| MsMaxBoundRange | Defines the maximum range inside which initial points are generated by multistart presets
| MultiObjLog | Log level for multi-objective optimization.
| MultiObjOps | Modifies the behaviour of the Optimizer when solving multi-objective problems.
| MultiStart | The multistart main control. Defines if the multistart search is to be initiated, or if only the baseline model is to be solved.
| MultiStart_Log | The level of logging during the multistart run.
| MultiStart_MaxSolves | The maximum number of jobs to create during the multistart search.
| MultiStart_MaxTime | The maximum total time to be spent in the mutlistart search.
| MultiStart_PoolSize | The maximum number of problem objects allowed to pool up before synchronization in the deterministic multistart.
| MultiStart_Seed | Random seed used for the automatic generation of initial point when loading multistart presets
| MultiStart_Threads | The maximum number of threads to be used in multistart
| MutexCallBacks | Branch and Bound: This determines whether the callback routines are mutexed from within the Optimizer.
| 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).
| NetCuts | Control NETCUTS. Obsolete
| NetStallLimit | Limit the number of degenerate pivots of the network simplex algorithm, before switching to either primal or dual simplex, depending on ALGAFTERNETWORK.
| NlpCalcThreads | Number of threads used for formula and derivatives evaluations
| NlpDefaultIV | Default initial value for an SLP variable if none is explicitly given
| NlpDerivatives | Bitmap describing the method of calculating derivatives
| NlpDeterministic | Determines if the parallel features of SLP should be guaranteed to be deterministic
| NlpEqualsColumn | Index of the reserved "=" column
| NlpEvaluate | Evaluation strategy for user functions
| NlpFindIV | Option for running a heuristic to find a feasible initial point
| NlpFuncEval | Bit map for determining the method of evaluating user functions and their derivatives
| NlpHessian | Second order differentiation mode when using analytical derivatives
| NlpIfs | Number of internal functions
| NlpImplicitVariables | Number of SLP variables appearing only in coefficients
| NlpInfinity | Value returned by a divide-by-zero in a formula
| NlpJacobian | First order differentiation mode when using analytical derivatives
| NlpJobID | Unique identifier for the current job
| NlpKeepBestIter | The iteration in which the returned solution has been found.
| NlpLinQuadBR | Use linear and quadratic constraints and objective function to further reduce bounds on all variables
| NlpLog | Level of printing during SLP iterations
| NlpMaxTime | The maximum time in seconds that the SLP optimization will run before it terminates
| NlpMeritLambda | Factor by which the net objective is taken into account in the merit function
| NlpModelCols | Number of model columns in the problem
| NlpModelRows | Number of model rows in the problem
| NlpObjVal | Objective function value excluding any penalty costs
| NlpOptTime | Time spent in optimization
| NlpOriginalCols | Number of model columns in the extended original problem
| NlpOriginalRows | Number of model rows in the extended original problem
| NlpPostsolve | This control determines whether postsolving should be performed automatically
| NlpPresolve | This control determines whether presolving should be performed on the nonlinear problem prior to starting the main algorithm
| NlpPresolve_ElimTol | Tolerance for nonlinear eliminations during SLP presolve
| NlpPresolveEliminations | Number of SLP variables eliminated by XSLPpresolve
| NlpPresolveLevel | This control determines the level of changes presolve may carry out on the problem and whether column/row indices may change
| NlpPresolveOps | Bitmap indicating the SLP presolve actions to be taken
| NlpPresolveZero | Minimum absolute value for a variable which is identified as nonzero during SLP presolve
| NlpPrimalIntegralAlpha | Decay term for primal integral computation
| NlpPrimalIntegralRef | Reference solution value to take into account when calculating the primal integral
| 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.
| NlpReformulate | Controls the problem reformulations carried out before augmentation. This allows SLP to take advantage of dedicated algorithms for special problem classes.
| NLPSolver | Controls whether to call FICO Xpress Global or one of the local solvers
| NlpStatus | The solution status of the problem.
| NlpStopOutOfRange | Stop optimization and return error code if internal function argument is out of range
| NlpStopStatus | Status of the optimization process.
| NlpThreads | Default number of threads to be used
| NlpThreadSafeUserFunc | Defines if user functions are allowed to be called in parallel
| NlpUFs | Number of user functions
| NlpUseDerivatives | Indicates whether numeric or analytic derivatives were used to create the linear approximations and solve the problem
| NlpUserFuncCalls | Number of calls made to user functions
| NlpValidationFactor | Minimum improvement in validation targets to continue iterating
| NlpValidationIndex_A | Absolute validation index
| NlpValidationIndex_K | Relative first order optimality validation index
| NlpValidationIndex_R | Relative validation index
| NlpValidationTarget_K | Optimality target tolerance
| NlpValidationTarget_R | Feasiblity target tolerance
| NlpValidationTol_A | Absolute tolerance for the XSLPvalidate procedure
| NlpValidationTol_K | Relative tolerance for the XSLPvalidatekkt procedure
| NlpValidationTol_R | Relative tolerance for the XSLPvalidate procedure
| NlpVariables | Number of SLP variables
| NlpZero | Absolute tolerance
| NodeDepth | Depth of the current node.
| NodeProbingEffort | Adjusts the overall level of node probing.
| 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.
| NodeSelection | Branch and Bound: This determines which nodes will be considered for solution once the current node has been solved.
| NonLinearConstraints | Number of nonlinear constraints in the problem
| NumericalEmphasis | How much emphasis to place on numerical stability instead of solve speed.
| NumIIS | Number of IISs found. You should first query the IISSOLSTATUS attribute to make sure that the IIS procedure terminated successfully.
| Objectives | Number of objectives in the problem.
| ObjectPointer | Returns the C language 'pointer' to the native object that this managed class is wrapping. For internal FICO use only. (Inherited from XPRSobject)
| ObjName | Obsolete
| ObjRHS | Fixed part of the objective function.
| 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.
| ObjSense | Get objective sense.
| OBJSense | Sense of the optimization being performed.
| ObjsToSolve | Number of objectives that will be solved during the current multi-objective solve.
| ObjVal | Value of the objective function of the last problem solved with optimize.
| ObservedPrimalIntegral | Value of the (observed) primal integral.
| 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.
| OptimalityTolTarget | This specifies the target optimality tolerance for the solution refiner.
| OptimizeTypeUsed | The type of solver used in the last call to optimize, mipOptimize, lpOptimize or nlpOptimize.
| OriginalCols | Number of columns (i.e. variables) in the original matrix before presolving.
| OriginalGenconCols | Number of input variables in general constraints in the original problem before presolving.
| OriginalGencons | Number of general constraints in the original problem before presolving.
| OriginalGenconVals | Number of constant values in general constraints in the original problem before presolving.
| OriginalIndicators | Number of indicator constraints in the original matrix before presolving.
| 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.
| OriginalPwlpoints | Number of breakpoints of piecewise linear constraints in the original problem before presolving.
| OriginalPwls | Number of piecewise linear constraints in the original problem before presolving.
| OriginalQCElems | Number of quadratic row coefficients in the original matrix before presolving.
| OriginalQConstraints | Number of rows with quadratic coefficients in the original matrix before presolving.
| OriginalQElems | Number of quadratic non-zeros in the original objective before presolving.
| OriginalRows | Number of rows (i.e. constraints) in the original matrix before presolving.
| OriginalSetMembers | Number of variables within special ordered sets (set members) in the original matrix before presolving.
| OriginalSets | Number of special ordered sets in the original matrix before presolving.
| 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.
| 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.
| 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.
| OutputTol | Specifies the zero tolerance on print values.
| ParentNode | The parent node of the current node in the tree search.
| PeakMemory | An estimate of the peak amount of dynamically allocated heap memory by the problem.
| 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.
| 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).
| PenaltyValue | The weighted sum of violations in the solution to the relaxed problem identified by the infeasibility repair function.
| PhysicalCoresDetected | The total number of physical cores across all CPUs detected by the optimizer.
| PhysicalCoresPerCPUDetected | The number of physical cores per CPU detected by the optimizer.
| PivotTol | Simplex: Specifies the zero tolerance for pivot 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.
| PPFactor | The partial pricing candidate list sizing parameter.
| 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)
| PreBasisRed | Determines if a lattice basis reduction algorithm should be attempted as part of presolve
| PreBndRedCone | Determines if second order cone constraints should be used for inferring bound reductions on variables when solving a MIP.
| PreBndRedQuad | Determines if convex quadratic constraints should be used for inferring bound reductions on variables when solving a MIP.
| PreCliqueStrategy | Determines how much effort to spend on clique covers in presolve.
| 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.
| PreComponents | Presolve: determines whether small independent components should be detected and solved as individual subproblems during root node processing.
| 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.
| PreConeDecomp | Presolve: decompose regular and rotated cones with more than two elements and apply Outer Approximation on the resulting components.
| 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.
| PreConvertObjToCons | Presolve: convert a linear or quadratic objective function into an objective transfer constraint
| PreConvertSeparable | Presolve: reformulate problems with a non-diagonal quadratic objective and/or constraints as diagonal quadratic or second-order conic constraints.
| 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.
| PreDomCol | Presolve: Determines the level of dominated column removal reductions to perform when presolving a mixed integer problem. Only binary columns will be checked.
| PreDomRow | Presolve: Determines the level of dominated row removal reductions to perform when presolving a problem.
| PreDupRow | Presolve: Determines the type of duplicate rows to look for and eliminate when presolving a problem.
| PreElimQuad | Presolve: Allows for elimination of quadratic variables via doubleton rows.
| PreFolding | Presolve: Determines if a folding procedure should be used to aggregate continuous columns in an equitable partition.
| PreImplications | Presolve: Determines whether to use implication structures to remove redundant rows. If implication sequences are detected, they might also be used in probing.
| PreLinDep | Presolve: Determines whether to check for and remove linearly dependent equality constraints when presolving a problem.
| 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.
| 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.
| PrePermuteSeed | This control specifies 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.
| 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.
| 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.
| 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.
| 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).
| 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.
| 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.
| PresolveIndex | Presolve: The row or column index on which presolve detected a problem to be infeasible or unbounded.
| 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.
| PresolveOps | This bit-vector control (see Section ) specifies the operations which are performed during the presolve.
| PresolvePasses | Number of reduction rounds to be performed in presolve
| PresolveState | Problem status as a bit-vector (compare Section ).
| 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.
| 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.
| PrimalDualIntegral | Value of the primal-dual integral.
| PrimalInfeas | Number of primal infeasibilities.
| PrimalOps | Primal simplex: allows fine tuning the variable selection in the primal simplex solver.
| PrimalPerturb | The factor by which the problem will be perturbed prior to optimization by primal simplex. 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.
| PrimalUnshift | Determines whether primal is allowed to call dual to unshift.
| 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.
| PwlCons | Number of piecewise linear constraints in the problem.
| 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.
| 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.
| PwlPoints | Number of breakpoints of piecewise linear constraints in the problem.
| QCCuts | Branch and Bound: Limits 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.
| QCElems | Number of quadratic row coefficients in the matrix.
| QConstraints | Number of rows with quadratic coefficients in the matrix.
| 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.
| QElems | Number of quadratic non-zeros in the objective.
| QSimplexOps | Controls the behavior of the quadratic simplex solvers via a bit-vector (see Section ).
| QuadraticUnshift | Determines whether an extra solution purification step is called after a solution found by the quadratic simplex (either primal or dual).
| 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.
| RangeName | Active range name.
| Refactor | Indicates whether the optimization should restart using the current representation of the factorization in memory.
| 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.
| 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.
| 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.
| RepairIndefiniteQ | Controls if the Optimizer should make indefinite quadratic matrices positive definite when it is possible.
| RepairIndefiniteQMax | Control REPAIRINDEFINITEQMAX.
| RepairInfeasMaxTime | Overall time limit for the repairinfeas tool Obsolete
| RepairInfeasTimeLimit | Overall time limit for the repairinfeas tool
| 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
| Restarts | Total number of restarts performed.
| RHSName | Active right hand side name.
| RLTCuts | Determines whether RLT cuts should be separated in the Xpress Global Solver.
| RootPresolve | Determines if presolving should be performed on the problem after the tree search has finished with root cutting and heuristics.
| Rows | Number of rows (i.e. constraints) in the matrix.
| SBBest | Number of infeasible MIP entities to initialize pseudo costs for on each node.
| SbEffort | Adjusts the overall amount of effort when using strong branching to select an infeasible MIP entity to branch on.
| 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.
| SBIterLimit | Specifies the number of dual iterations to perform during strong branching for each MIP entity.
| SBSelect | The size of the candidate list of MIP entities for strong branching.
| 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.
| SDPCutStrategy | Level of SDP cutting planes separation: This specifies how aggressively SDP cuts should be separated.
| 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.
| SetMembers | Number of variables within special ordered sets (set members) in the matrix.
| Sets | Number of special ordered sets in the matrix.
| Sifting | Determines whether to enable sifting algorithm with the dual simplex method.
| 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.
| SiftPresolveOps | Determines the presolve operations for solving the subproblems during the sifting algorithm.
| SiftSwitch | Determines which algorithm to use for solving the subproblems during sifting.
| SimplexIter | Number of simplex iterations performed.
| SleepOnThreadWait | In previous versions this was used to determine if the threads should be put into a wait state when waiting for work. Obsolete
| SlpAlgorithm | Bit map describing the SLP algorithm(s) to be used
| SlpAnalyze | Bit map activating additional options supporting model / solution path analysis
| SlpATol_A | Absolute delta convergence tolerance
| SlpATol_R | Relative delta convergence tolerance
| SlpAugmentation | Bit map describing the SLP augmentation method(s) to be used
| SlpAutoSave | Frequency with which to save the model
| SlpBarCrossoverStart | Default crossover activation behaviour for barrier start
| SlpBarLimit | Number of initial SLP iterations using the barrier method
| SlpBarStallingLimit | Number of iterations to allow numerical failures in barrier before switching to dual
| SlpBarStallingObjLimit | Number of iterations over which to measure the objective change for barrier iterations with no crossover
| SlpBarStallingTol | Required change in the objective when progress is measured in barrier iterations without crossover
| SlpBarStartOps | Controls behaviour when the barrier is used to solve the linearizations
| SlpBoundThreshold | The maximum size of a bound that can be introduced by nonlinear presolve.
| SlpCascade | Bit map describing the cascading to be used
| SlpCascadeNLimit | Maximum number of iterations for cascading with non-linear determining rows
| SlpCascadeTol_PA | Absolute cascading print tolerance
| SlpCascadeTol_PR | Relative cascading print tolerance
| SlpCDTol_A | Absolute tolerance for deducing constant derivatives
| SlpCDTol_R | Relative tolerance for deducing constant derivatives
| SlpClampShrink | Shrink ratio used to impose strict convergence on variables converged in extended criteria only
| SlpClampValidationTol_A | Absolute validation tolerance for applying XSLP_CLAMPSHRINK
| SlpClampValidationTol_R | Relative validation tolerance for applying XSLP_CLAMPSHRINK
| SlpCoefficients | Number of nonlinear coefficients
| SlpConvergenceOps | Bit map describing which convergence tests should be carried out
| SlpCTol | Closure convergence tolerance
| SlpCurrentDeltaCost | Current value of penalty cost multiplier for penalty delta vectors
| SlpCurrentErrorCost | Current value of penalty cost multiplier for penalty error vectors
| SlpCutStrategy | Determines whihc cuts to apply in the MISLP search when the default SLP-in-MIP strategy is used.
| SlpDamp | Damping factor for updating values of variables
| SlpDampExpand | Multiplier to increase damping factor during dynamic damping
| SlpDampMax | Maximum value for the damping factor of a variable during dynamic damping
| SlpDampMin | Minimum value for the damping factor of a variable during dynamic damping
| SlpDampShrink | Multiplier to decrease damping factor during dynamic damping
| SlpDampStart | SLP iteration at which damping is activated
| SlpDefaultStepBound | Minimum initial value for the step bound of an SLP variable if none is explicitly given
| SlpDelayUpdateRows | Number of SLP iterations before update rows are fully activated
| SlpDelta_A | Absolute perturbation of values for calculating numerical derivatives
| SlpDelta_Infinity | Maximum value for partial derivatives
| SlpDelta_R | Relative perturbation of values for calculating numerical derivatives
| SlpDelta_X | Minimum absolute value of delta coefficients to be retained
| SlpDelta_Z | Tolerance used when calculating derivatives
| SlpDelta_Zero | Absolute zero acceptance tolerance used when calculating derivatives
| SlpDeltaCost | Initial penalty cost multiplier for penalty delta vectors
| SlpDeltaCostFactor | Factor for increasing cost multiplier on total penalty delta vectors
| SlpDeltaMaxCost | Maximum penalty cost multiplier for penalty delta vectors
| SlpDeltaOffset | Position of first character of SLP variable name used to create name of delta vector
| SlpDeltas | Number of delta vectors created during augmentation
| SlpDeltaZLimit | Number of SLP iterations during which to apply XSLP_DELTA_Z
| SlpDJTol | Tolerance on DJ value for determining if a variable is at its step bound
| SlpDRColDjTol | Reduced cost tolerance on the delta variable when fixing due to the determining column being below XSLP_DRCOLTOL.
| SlpDRColTol | The minimum absolute magnitude of a determining column, for which the determined variable is still regarded as well defined
| SlpDRFixRange | The range around the previous value where variables are fixed in cascading if the determining column is below XSLP_DRCOLTOL.
| SlpECFCheck | Check feasibility at the point of linearization for extended convergence criteria
| SlpECFCount | Number of infeasible constraints found at the point of linearization
| SlpEcfTol_A | Absolute tolerance on testing feasibility at the point of linearization
| SlpEcfTol_R | Relative tolerance on testing feasibility at the point of linearization
| SlpEnforceCostShrink | Factor by which to decrease the current penalty multiplier when enforcing rows.
| SlpEnforceMaxCost | Maximum penalty cost in the objective before enforcing most violating rows
| SlpErrorCost | Initial penalty cost multiplier for penalty error vectors
| SlpErrorCostFactor | Factor for increasing cost multiplier on total penalty error vectors
| SlpErrorCosts | Total penalty costs in the solution
| SlpErrorMaxCost | Maximum penalty cost multiplier for penalty error vectors
| SlpErrorOffset | Position of first character of constraint name used to create name of penalty error vectors
| SlpErrorTol_A | Absolute tolerance for error vectors
| SlpErrorTol_P | Absolute tolerance for printing error vectors
| SlpEscalation | Factor for increasing cost multiplier on individual penalty error vectors
| SlpETol_A | Absolute tolerance on penalty vectors
| SlpETol_R | Relative tolerance on penalty vectors
| SlpEVTol_A | Absolute tolerance on total penalty costs
| SlpEVTol_R | Relative tolerance on total penalty costs
| SlpExpand | Multiplier to increase a step bound
| SlpFeastolTarget | When set, this defines a target feasibility tolerance to which the linearizations are solved to
| SlpFilter | Bit map for controlling solution updates
| SlpGranularity | Base for calculating penalty costs
| SlpGridHeurSelect | Bit map selectin which heuristics to run if the problem has variable with an integer delta
| 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.
| SlpInfeasLimit | The maximum number of consecutive infeasible SLP iterations which can occur before Xpress-SLP terminates
| SlpIter | SLP iteration count
| SlpIterLimit | The maximum number of SLP iterations
| SlpItol_A | Absolute impact convergence tolerance
| SlpITol_R | Relative impact convergence tolerance
| SlpLog | Frequency with which SLP status is printed
| SlpLSIterLimit | Number of iterations in the line search
| SlpLSPatternLimit | Number of iterations in the pattern search preceding the line search
| SlpLSStart | Iteration in which to active the line search
| SlpLSZeroLimit | Maximum number of zero length line search steps before line search is deactivated
| SlpMatrixTol | Nonzero tolerance for dropping coefficients from the linearization.
| SlpMaxWeight | Maximum penalty weight for delta or error vectors
| SlpMinSBFactor | Factor by which step bounds can be decreased beneath XSLP_ATOL_A
| SlpMinusPenaltyErrors | Number of negative penalty error vectors
| SlpMinWeight | Minimum penalty weight for delta or error vectors
| SlpMipAlgorithm | Bitmap describing the MISLP algorithms to be used
| SlpMipCutoff_A | Absolute objective function cutoff for MIP termination
| SlpMipCutoff_R | Absolute objective function cutoff for MIP termination
| SlpMipCutOffCount | Number of SLP iterations to check when considering a node for cutting off
| SlpMipCutoffLimit | Number of SLP iterations to check when considering a node for cutting off
| SlpMipDefaultAlgorithm | Default algorithm to be used during the tree search in MISLP
| SlpMipErrorTol_A | Absolute penalty error cost tolerance for MIP cut-off
| SlpMipErrorTol_R | Relative penalty error cost tolerance for MIP cut-off
| SlpMipFixStepBounds | Bitmap describing the step-bound fixing strategy during MISLP
| SlpMipIter | Total number of SLP iterations in MISLP
| SlpMipIterLimit | Maximum number of SLP iterations at each node
| SlpMipLog | Frequency with which MIP status is printed
| SlpMipNodes | Number of nodes explored in SLP-in-MIP. This includes any nodes for which a non-linear solve has been carried out.
| SlpMipOCount | Number of SLP iterations at each node over which to measure objective function variation
| SlpMipOtol_A | Absolute objective function tolerance for MIP termination
| SlpMipOtol_R | Relative objective function tolerance for MIP termination
| SlpMipRelaxStepBounds | Bitmap describing the step-bound relaxation strategy during MISLP
| SlpMipSols | Number of integer solutions found in MISLP. This includes solutions found during the tree search or any heuristics.
| SlpMTol_A | Absolute effective matrix element convergence tolerance
| SlpMTol_R | Relative effective matrix element convergence tolerance
| SlpMVTol | Marginal value tolerance for determining if a constraint is slack
| SlpNonConstantCoeffs | Number of coefficients in the augmented problem that might change between SLP iterations
| SlpObjThreshold | Assumed maximum value of the objective function in absolute value.
| SlpObjToPenaltyCost | Factor to estimate initial penalty costs from objective function
| SlpOCount | Number of SLP iterations over which to measure objective function variation for static objective (2) convergence criterion
| SlpOptimalityTolTarget | When set, this defines a target optimality tolerance to which the linearizations are solved to
| SlpOTol_A | Absolute static objective (2) convergence tolerance
| SlpOTol_R | Relative static objective (2) convergence tolerance
| SlpPenaltyDeltaColumn | Index of column costing the penalty delta row
| SlpPenaltyDeltaRow | Index of equality row holding the penalties for delta vectors
| SlpPenaltyDeltas | Number of penalty delta vectors
| SlpPenaltyDeltaTotal | Total activity of penalty delta vectors
| SlpPenaltyDeltaValue | Total penalty cost attributed to penalty delta vectors
| SlpPenaltyErrorColumn | Index of column costing the penalty error row
| SlpPenaltyErrorRow | Index of equality row holding the penalties for penalty error vectors
| SlpPenaltyErrors | Number of penalty error vectors
| SlpPenaltyErrorTotal | Total activity of penalty error vectors
| SlpPenaltyErrorValue | Total penalty cost attributed to penalty error vectors
| SlpPenaltyInfoStart | Iteration from which to record row penalty information
| SlpPlusPenaltyErrors | Number of positive penalty error vectors
| SlpSameCount | Number of steps reaching the step bound in the same direction before step bounds are increased
| SlpSameDamp | Number of steps in same direction before damping factor is increased
| SlpSBRowOffset | Position of first character of SLP variable name used to create name of SLP lower and upper step bound rows
| SlpSBStart | SLP iteration after which step bounds are first applied
| SlpSbxConverged | Number of step-bounded variables converged only on extended criteria
| SlpScale | When to re-scale the SLP problem
| SlpScaleCount | Iteration limit used in determining when to re-scale the SLP matrix
| SlpShrink | Multiplier to reduce a step bound
| SlpShrinkBias | Defines an overwrite / adjustment of step bounds for improving iterations
| SlpStatus | Bitmap holding the problem convergence status
| SlpSTol_A | Absolute slack convergence tolerance
| SlpSTol_R | Relative slack convergence tolerance
| SlpTolSets | Number of tolerance sets.
| 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.
| SlpUCConstrainedCount | Number of unconverged variables with coefficients in constraining rows
| SlpUnConverged | Number of unconverged values
| SlpUnFinishedLimit | The number of consecutive SLP iterations that may have an unfinished status before the solve is terminated.
| SlpUpdateOffset | Position of first character of SLP variable name used to create name of SLP update row
| SlpVCount | Number of SLP iterations over which to measure static objective (3) convergence
| SlpVLimit | Number of SLP iterations after which static objective (3) convergence testing starts
| SlpVTol_A | Absolute static objective (3) convergence tolerance
| SlpVTol_R | Relative static objective (3) convergence tolerance
| SlpWCount | Number of SLP iterations over which to measure the objective for the extended convergence continuation criterion
| SlpWTol_A | Absolute extended convergence continuation tolerance
| SlpWTol_R | Relative extended convergence continuation tolerance
| SlpXCount | Number of SLP iterations over which to measure static objective (1) convergence
| SlpXLimit | Number of SLP iterations up to which static objective (1) convergence testing is performed
| SlpXTol_A | Absolute static objective function (1) tolerance
| SlpXTol_R | Relative static objective function (1) tolerance
| SlpZeroCriterion | Bitmap determining the behavior of the placeholder deletion procedure
| SlpZeroCriterionCount | Number of consecutive times a placeholder entry is zero before being considered for deletion
| SlpZeroCriterionStart | SLP iteration at which criteria for deletion of placeholder entries are first activated.
| SlpZeroesReset | Number of placeholder entries set to zero
| SlpZeroesRetained | Number of potentially zero placeholders left untouched
| SlpZeroesTotal | Number of potential zero placeholder entries
| SolStatus | Status of the solution of the last problem solved with optimize.
| 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.
| SolvedObjs | Number of objectives that have been solved so far during a multi-objective solve.
| SolveStatus | Status of the solve of the last problem solved with optimize.
| SOSRefTol | Specifies the minimum relative gap between the ordering values of elements in a special ordered set. Within the same set, two ordering values must not be the same and for any two values the gap divided by the absolute value of the larger of the two values must be at least SOSREFTOL.
| SpareCols | Number of spare columns in the matrix.
| SpareElems | Number of spare matrix elements in the matrix.
| SpareMIPEnts | Number of spare MIP entities in the matrix.
| SpareRows | Number of spare rows in the matrix.
| SpareSetElems | Number of spare set elements in the matrix.
| SpareSets | Number of spare sets in the matrix.
| StopStatus | Status of the optimization process.
| SumPrimalInf | Scaled sum of primal infeasibilities.
| Symmetry | Adjusts the overall amount of effort for symmetry detection.
| SymSelect | Adjusts the overall amount of effort for symmetry detection. Obsolete
| SystemMemory | The amount of non problem specific memory used by the solver.
| Threads | The default number of threads used during optimization.
| Time | Time spent solving the problem as measured by the optimizer.
| 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.
| TotalMemory | The amount of dynamically allocated heap memory by the optimizer, including all problems currently exsisting.
| 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.
| 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.
| TreeCompression | When writing nodes to the tree 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 effect 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.
| TreeCoverCuts | Branch and Bound: Specifies 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.
| 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.
| 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.
| 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.
| 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).
| 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.
| 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.
| TreeMemoryLimit | A soft limit, in MB (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 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.
| 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.
| TreeMemoryUsage | The amount of physical memory, in megabytes, currently being used to store the branch-and-bound search tree.
| 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.
| TreeRestarts | Number of in-tree restarts performed.
| TunerHistory | Tuner: Whether to reuse and append to previous tuner results of the same problem.
| TunerMaxTime | Tuner: The maximum time in seconds that the tuner will run before it terminates.
| 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.
| TunerMethodFile | Tuner: Defines a file from which the tuner can read user-defined tuner method.
| TunerMode | Tuner: Whether to always enable the tuner or disable it.
| TunerOutput | Tuner: Whether to output tuner results and logs to the file system.
| TunerOutputPath | Tuner: Defines a root path to which the tuner writes the result file and logs.
| TunerPermute | Tuner: Defines the number of permutations to solve for each control setting.
| TunerSessionName | Tuner: Defines a session name for the tuner.
| TunerTarget | Tuner: Defines the tuner target -- what should be evaluated when comparing two runs with different control settings.
| TunerThreads | Tuner: the number of threads used by the tuner.
| TunerVerbose | Tuner: whether the tuner should prints detailed information for each run.
| 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.
| UUID | Universally Unique Identifier for the problem instance.
| 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.
| Version | The Optimizer version number, e.g., 4601 meaning release 46.01.
| 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.
| 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.
| XpressVersion | The Xpress version number.

Top
Methods

| Name | Description
--- | --- | ---
| AddAfterObjectiveCallback(AfterObjectiveCallback) | Add AfterObjective callback.
| AddAfterObjectiveCallback(AfterObjectiveCallback, Int32) | Add AfterObjective callback with the specified priority.
| AddAfterObjectiveCallback(AfterObjectiveCallback, Object) | Add AfterObjective callback with a user object that is passed to the callback on invocation.
| AddAfterObjectiveCallback(AfterObjectiveCallback, Object, Int32) | Add AfterObjective callback with specified priority and a user object that is passed to the callback on invocation.
| AddBarIterationCallback(BarIterationCallback) | Add BarIteration callback.
| AddBarIterationCallback(BarIterationCallback, Int32) | Add BarIteration callback with the specified priority.
| AddBarIterationCallback(BarIterationCallback, Object) | Add BarIteration callback with a user object that is passed to the callback on invocation.
| AddBarIterationCallback(BarIterationCallback, Object, Int32) | Add BarIteration callback with specified priority and a user object that is passed to the callback on invocation.
| AddBarlogCallback(BarlogCallback) | Add Barlog callback.
| AddBarlogCallback(BarlogCallback, Int32) | Add Barlog callback with the specified priority.
| AddBarlogCallback(BarlogCallback, Object) | Add Barlog callback with a user object that is passed to the callback on invocation.
| AddBarlogCallback(BarlogCallback, Object, Int32) | Add Barlog callback with specified priority and a user object that is passed to the callback on invocation.
| AddBeforeObjectiveCallback(BeforeObjectiveCallback) | Add BeforeObjective callback.
| AddBeforeObjectiveCallback(BeforeObjectiveCallback, Int32) | Add BeforeObjective callback with the specified priority.
| AddBeforeObjectiveCallback(BeforeObjectiveCallback, Object) | Add BeforeObjective callback with a user object that is passed to the callback on invocation.
| AddBeforeObjectiveCallback(BeforeObjectiveCallback, Object, Int32) | Add BeforeObjective callback with specified priority and a user object that is passed to the callback on invocation.
| AddChangeBranchObjectCallback(ChangeBranchObjectCallback) | Add ChangeBranchObject callback.
| AddChangeBranchObjectCallback(ChangeBranchObjectCallback, Int32) | Add ChangeBranchObject callback with the specified priority.
| AddChangeBranchObjectCallback(ChangeBranchObjectCallback, Object) | Add ChangeBranchObject callback with a user object that is passed to the callback on invocation.
| AddChangeBranchObjectCallback(ChangeBranchObjectCallback, Object, Int32) | Add ChangeBranchObject callback with specified priority and a user object that is passed to the callback on invocation.
| AddCheckTimeCallback(CheckTimeCallback) | Add CheckTime callback.
| AddCheckTimeCallback(CheckTimeCallback, Int32) | Add CheckTime callback with the specified priority.
| AddCheckTimeCallback(CheckTimeCallback, Object) | Add CheckTime callback with a user object that is passed to the callback on invocation.
| AddCheckTimeCallback(CheckTimeCallback, Object, Int32) | Add CheckTime callback with specified priority and a user object that is passed to the callback on invocation.
| AddCol(Double, Double, Double) | Add a single column to this problem. This is a shortcut for AddCol(obj, lb, ub, 'C', null, null, null);. Obsolete
| AddCol(Double, Double, Double, Char) | Add a single column to this problem. This is a shortcut for AddCol(obj, lb, ub, type, null, null, null);. Obsolete
| AddCol(Double, Double, Double, String) | Add a single column to this problem. This is a shortcut for AddCol(obj, lb, ub, 'C', null, null, name);. Obsolete
| AddCol(Double, Double, Double, Char, String) | Add a single column to this problem. This is a shortcut for AddCol(obj, lb, ub, type, null, null, name);. Obsolete
| AddCol(Double, Double, Double, Char, Int32, Double) | Add a single column to this problem. This is a shortcut for AddCol(obj, lb, ub, type, rowind, rowval, null);. Obsolete
| AddCol(Double, Double, Double, Char, Int32, Double, String) | Add a single column to the model. Obsolete
| AddCols(Int32, Int32, Double, Int32, Int32, Double, Double, Double) | Adds columns to the optimizer matrix.
| AddCols(Int32, Int64, Double, Int64, Int32, Double, Double, Double) | Adds columns to the optimizer matrix.
| AddColumn | Add a single column to this problem.
| AddColumns(Int32) | Create an 1-dimensional array of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToArray() function. C#
    // Create a multi-dimensional array of binary columns
    int[ ] x = prob.AddColumns(dim)
                   .WithType(Optimizer.Objects.ColumnType.Binary)
                   .ToArray();
See VariableBuilderColumnArrayBuilder for details of how to modify the specification in the builder.
| AddColumns(Int32, Int32) | Create an 2-dimensional array of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToArray() function. C#
    // Create a multi-dimensional array of binary columns
    int[ ,] x = prob.AddColumns(dim1 ,dim2)
                   .WithType(Optimizer.Objects.ColumnType.Binary)
                   .ToArray();
See VariableBuilderColumnArray2Builder for details of how to modify the specification in the builder.
| AddColumns(Int32, Int32, Int32) | Create an 3-dimensional array of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToArray() function. C#
    // Create a multi-dimensional array of binary columns
    int[ , ,] x = prob.AddColumns(dim1 ,dim2 ,dim3)
                   .WithType(Optimizer.Objects.ColumnType.Binary)
                   .ToArray();
See VariableBuilderColumnArray3Builder for details of how to modify the specification in the builder.
| AddColumns(Int32, Int32, Int32, Int32) | Create an 4-dimensional array of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToArray() function. C#
    // Create a multi-dimensional array of binary columns
    int[ , , ,] x = prob.AddColumns(dim1 ,dim2 ,dim3 ,dim4)
                   .WithType(Optimizer.Objects.ColumnType.Binary)
                   .ToArray();
See VariableBuilderColumnArray4Builder for details of how to modify the specification in the builder.
| AddColumns(Int32, Int32, Int32, Int32, Int32) | Create an 5-dimensional array of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToArray() function. C#
    // Create a multi-dimensional array of binary columns
    int[ , , , ,] x = prob.AddColumns(dim1 ,dim2 ,dim3 ,dim4 ,dim5)
                   .WithType(Optimizer.Objects.ColumnType.Binary)
                   .ToArray();
See VariableBuilderColumnArray5Builder for details of how to modify the specification in the builder.
| AddColumnsK1(K1) | Create an 1-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    System.Collections.Generic.Dictionary<K1 ,int> x = prob.AddColumns(COLL_PASS)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMapBuilder] for details of how to modify the specification in the builder.
| AddColumnsK1(IEnumerableK1) | Create an 1-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    System.Collections.Generic.Dictionary<K1 ,int> x = prob.AddColumns(iterable1 )
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMapBuilder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2(K1, K2) | Create an 2-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap2<K1 ,K2,int> x = prob.AddColumns(COLL_PASS)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap2Builder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2(IEnumerableK1, IEnumerableK2) | Create an 2-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap2<K1 ,K2,int> x = prob.AddColumns(iterable1 ,iterable2)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap2Builder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2, K3(K1, K2, K3) | Create an 3-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap3<K1 ,K2 ,K3,int> x = prob.AddColumns(COLL_PASS)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap3Builder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2, K3(IEnumerableK1, IEnumerableK2, IEnumerableK3) | Create an 3-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap3<K1 ,K2 ,K3,int> x = prob.AddColumns(iterable1 ,iterable2 ,iterable3)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap3Builder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2, K3, K4(K1, K2, K3, K4) | Create an 4-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap4<K1 ,K2 ,K3 ,K4,int> x = prob.AddColumns(COLL_PASS)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap4Builder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2, K3, K4(IEnumerableK1, IEnumerableK2, IEnumerableK3, IEnumerableK4) | Create an 4-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap4<K1 ,K2 ,K3 ,K4,int> x = prob.AddColumns(iterable1 ,iterable2 ,iterable3 ,iterable4)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap4Builder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2, K3, K4, K5(K1, K2, K3, K4, K5) | Create an 5-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap5<K1 ,K2 ,K3 ,K4 ,K5,int> x = prob.AddColumns(COLL_PASS)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap5Builder] for details of how to modify the specification in the builder.
| AddColumnsK1, K2, K3, K4, K5(IEnumerableK1, IEnumerableK2, IEnumerableK3, IEnumerableK4, IEnumerableK5) | Create an 5-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's ToMap() function. C#
    // Create a multi-dimensional array of binary columns
    Optimizer.Maps.HashMap5<K1 ,K2 ,K3 ,K4 ,K5,int> x = prob.AddColumns(iterable1 ,iterable2 ,iterable3 ,iterable4 ,iterable5)
                                       .WithType(Optimizer.Objects.ColumnType.Binary)
                                       .ToMap();
See [!:Optimizer.VariableBuilder.ColumnMap5Builder] for details of how to modify the specification in the builder.
| AddComputeRestartCallback(ComputeRestartCallback) | Add ComputeRestart callback.
| AddComputeRestartCallback(ComputeRestartCallback, Int32) | Add ComputeRestart callback with the specified priority.
| AddComputeRestartCallback(ComputeRestartCallback, Object) | Add ComputeRestart callback with a user object that is passed to the callback on invocation.
| AddComputeRestartCallback(ComputeRestartCallback, Object, Int32) | Add ComputeRestart callback with specified priority and a user object that is passed to the callback on invocation.
| AddCut(Int32, XPRSprobRowInfo) | Add a single cut to the problem.
| AddCut(Int32, Int32, Double, Char, Double) | Add a single cut to the problem.
| AddCutlogCallback(CutlogCallback) | Add Cutlog callback.
| AddCutlogCallback(CutlogCallback, Int32) | Add Cutlog callback with the specified priority.
| AddCutlogCallback(CutlogCallback, Object) | Add Cutlog callback with a user object that is passed to the callback on invocation.
| AddCutlogCallback(CutlogCallback, Object, Int32) | Add Cutlog callback with specified priority and a user object that is passed to the callback on invocation.
| AddCutRoundCallback(CutRoundCallback) | Add CutRound callback.
| AddCutRoundCallback(CutRoundCallback, Int32) | Add CutRound callback with the specified priority.
| AddCutRoundCallback(CutRoundCallback, Object) | Add CutRound callback with a user object that is passed to the callback on invocation.
| AddCutRoundCallback(CutRoundCallback, Object, Int32) | Add CutRound callback with specified priority and a user object that is passed to the callback on invocation.
| AddCuts(Int32, Int32, Char, Double, Int32, Int32, Double) | Adds cuts directly to the matrix at the current node. The cuts will automatically be added to the cut pool. Cuts added to a node will automatically be inherited on any descendant node, unless explicitly deleted with a call to delCuts.
| AddCuts(Int32, Int32, Char, Double, Int64, Int32, Double) | Adds cuts directly to the matrix at the current node. The cuts will automatically be added to the cut pool. Cuts added to a node will automatically be inherited on any descendant node, unless explicitly deleted with a call to delCuts.
| AddGapNotifyCallback(GapNotifyCallback) | Add GapNotify callback.
| AddGapNotifyCallback(GapNotifyCallback, Int32) | Add GapNotify callback with the specified priority.
| AddGapNotifyCallback(GapNotifyCallback, Object) | Add GapNotify callback with a user object that is passed to the callback on invocation.
| AddGapNotifyCallback(GapNotifyCallback, Object, Int32) | Add GapNotify callback with specified priority and a user object that is passed to the callback on invocation.
| AddGenCons(Int32, Int32, Int32, GenConsType, Int32, Int32, Int32, Int32, Double) | Adds one or more general constraints to the problem. Each general constraint y = f(x1, ..., xn, c1, ..., cn) consists of one or more (input) columns xi, zero or more constant values ci and a resultant (output column) y, different from all xi. General constraints include maximum and minimum (arbitrary number of input columns of any type and arbitrary number of input values, at least one total), and and or (at least one binary input column, no constant values, binary resultant) and absolute value (exactly one input column of arbitrary type, no constant values).
| AddGenCons(Int32, Int64, Int64, GenConsType, Int32, Int64, Int32, Int64, Double) | Adds one or more general constraints to the problem. Each general constraint y = f(x1, ..., xn, c1, ..., cn) consists of one or more (input) columns xi, zero or more constant values ci and a resultant (output column) y, different from all xi. General constraints include maximum and minimum (arbitrary number of input columns of any type and arbitrary number of input values, at least one total), and and or (at least one binary input column, no constant values, binary resultant) and absolute value (exactly one input column of arbitrary type, no constant values).
| AddInfnodeCallback(InfnodeCallback) | Add Infnode callback.
| AddInfnodeCallback(InfnodeCallback, Int32) | Add Infnode callback with the specified priority.
| AddInfnodeCallback(InfnodeCallback, Object) | Add Infnode callback with a user object that is passed to the callback on invocation.
| AddInfnodeCallback(InfnodeCallback, Object, Int32) | Add Infnode callback with specified priority and a user object that is passed to the callback on invocation.
| AddIntsolCallback(IntsolCallback) | Add Intsol callback.
| AddIntsolCallback(IntsolCallback, Int32) | Add Intsol callback with the specified priority.
| AddIntsolCallback(IntsolCallback, Object) | Add Intsol callback with a user object that is passed to the callback on invocation.
| AddIntsolCallback(IntsolCallback, Object, Int32) | Add Intsol callback with specified priority and a user object that is passed to the callback on invocation.
| AddLplogCallback(LplogCallback) | Add Lplog callback.
| AddLplogCallback(LplogCallback, Int32) | Add Lplog callback with the specified priority.
| AddLplogCallback(LplogCallback, Object) | Add Lplog callback with a user object that is passed to the callback on invocation.
| AddLplogCallback(LplogCallback, Object, Int32) | Add Lplog callback with specified priority and a user object that is passed to the callback on invocation.
| AddManagedCuts(Int32, Int32, Char, Double, Int32, Int32, Double) | Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by addCbCutRound. The cuts will be added to an internal pool of cuts managed by the Optimizer. The Optimizer will use internal priorities to dynamically load violated cuts from this pool into branch-and-bound node problems and remove inactive cuts. Cuts can be either local or global. Cuts flagged as local are assumed to be valid only for the the current node of the branch-and-bound search or any of its descendants. Global cuts are assumed to be valid for the whole problem and might be used on any node of the branch-and-bound search tree. The cuts should be formulated in the original space of variables and will automatically be presolved.
| AddManagedCuts(Int32, Int32, Char, Double, Int64, Int32, Double) | Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by addCbCutRound. The cuts will be added to an internal pool of cuts managed by the Optimizer. The Optimizer will use internal priorities to dynamically load violated cuts from this pool into branch-and-bound node problems and remove inactive cuts. Cuts can be either local or global. Cuts flagged as local are assumed to be valid only for the the current node of the branch-and-bound search or any of its descendants. Global cuts are assumed to be valid for the whole problem and might be used on any node of the branch-and-bound search tree. The cuts should be formulated in the original space of variables and will automatically be presolved.
| AddMessageCallback(MessageCallback) | Add Message callback.
| AddMessageCallback(MessageCallback, Int32) | Add Message callback with the specified priority.
| AddMessageCallback(MessageCallback, Object) | Add Message callback with a user object that is passed to the callback on invocation.
| AddMessageCallback(MessageCallback, Object, Int32) | Add Message callback with specified priority and a user object that is passed to the callback on invocation.
| AddMiplogCallback(MiplogCallback) | Add Miplog callback.
| AddMiplogCallback(MiplogCallback, Int32) | Add Miplog callback with the specified priority.
| AddMiplogCallback(MiplogCallback, Object) | Add Miplog callback with a user object that is passed to the callback on invocation.
| AddMiplogCallback(MiplogCallback, Object, Int32) | Add Miplog callback with specified priority and a user object that is passed to the callback on invocation.
| AddMipSol(Double, Int32) | Add a new MIP solution. This is a convenience wrapper for [!:.AddMipSol(int, double[], int[], string )].
| AddMipSol(Double, Int32, String) | Add a new MIP solution. This is a convenience wrapper for [!:.AddMipSol(int, double[], int[], string )].
| AddMipSol(Int32, Double, Int32, String) | Adds a new feasible, infeasible or partial MIP solution for the problem to the Optimizer.
| AddMipThreadCallback(MipThreadCallback) | Add MipThread callback.
| AddMipThreadCallback(MipThreadCallback, Int32) | Add MipThread callback with the specified priority.
| AddMipThreadCallback(MipThreadCallback, Object) | Add MipThread callback with a user object that is passed to the callback on invocation.
| AddMipThreadCallback(MipThreadCallback, Object, Int32) | Add MipThread callback with specified priority and a user object that is passed to the callback on invocation.
| AddMipThreadDestroyCallback(MipThreadDestroyCallback) | Add MipThreadDestroy callback.
| AddMipThreadDestroyCallback(MipThreadDestroyCallback, Int32) | Add MipThreadDestroy callback with the specified priority.
| AddMipThreadDestroyCallback(MipThreadDestroyCallback, Object) | Add MipThreadDestroy callback with a user object that is passed to the callback on invocation.
| AddMipThreadDestroyCallback(MipThreadDestroyCallback, Object, Int32) | Add MipThreadDestroy callback with specified priority and a user object that is passed to the callback on invocation.
| AddMsgHandlerCallback(MsgHandlerCallback) | Add MsgHandler callback. (Overrides XPRSobjectAddMsgHandlerCallback(MsgHandlerCallback))
| AddMsgHandlerCallback(TextWriter) | (Inherited from XPRSobject)
| AddMsgHandlerCallback(MsgHandlerCallback, Int32) | Add MsgHandler callback with the specified priority. (Overrides XPRSobjectAddMsgHandlerCallback(MsgHandlerCallback, Int32))
| AddMsgHandlerCallback(MsgHandlerCallback, Object) | Add MsgHandler callback with a user object that is passed to the callback on invocation. (Overrides XPRSobjectAddMsgHandlerCallback(MsgHandlerCallback, Object))
| AddMsgHandlerCallback(MsgHandlerCallback, Object, Int32) | Add MsgHandler callback with specified priority and a user object that is passed to the callback on invocation. (Overrides XPRSobjectAddMsgHandlerCallback(MsgHandlerCallback, Object, Int32))
| AddMsJobEndCallback(MsJobEndCallback) | Add MsJobEnd callback.
| AddMsJobEndCallback(MsJobEndCallback, Int32) | Add MsJobEnd callback with the specified priority.
| AddMsJobEndCallback(MsJobEndCallback, Object) | Add MsJobEnd callback with a user object that is passed to the callback on invocation.
| AddMsJobEndCallback(MsJobEndCallback, Object, Int32) | Add MsJobEnd callback with specified priority and a user object that is passed to the callback on invocation.
| AddMsJobStartCallback(MsJobStartCallback) | Add MsJobStart callback.
| AddMsJobStartCallback(MsJobStartCallback, Int32) | Add MsJobStart callback with the specified priority.
| AddMsJobStartCallback(MsJobStartCallback, Object) | Add MsJobStart callback with a user object that is passed to the callback on invocation.
| AddMsJobStartCallback(MsJobStartCallback, Object, Int32) | Add MsJobStart callback with specified priority and a user object that is passed to the callback on invocation.
| AddMsWinnerCallback(MsWinnerCallback) | Add MsWinner callback.
| AddMsWinnerCallback(MsWinnerCallback, Int32) | Add MsWinner callback with the specified priority.
| AddMsWinnerCallback(MsWinnerCallback, Object) | Add MsWinner callback with a user object that is passed to the callback on invocation.
| AddMsWinnerCallback(MsWinnerCallback, Object, Int32) | Add MsWinner callback with specified priority and a user object that is passed to the callback on invocation.
| AddNames(Int32, String, Int32, Int32) | Add names of the given type to the problem.
| AddNames(Namespaces, String, Int32, Int32) | Add names to model. Note that if this method fails, then it is unspecified how many of the names were changed.
| AddNewnodeCallback(NewnodeCallback) | Add Newnode callback.
| AddNewnodeCallback(NewnodeCallback, Int32) | Add Newnode callback with the specified priority.
| AddNewnodeCallback(NewnodeCallback, Object) | Add Newnode callback with a user object that is passed to the callback on invocation.
| AddNewnodeCallback(NewnodeCallback, Object, Int32) | Add Newnode callback with specified priority and a user object that is passed to the callback on invocation.
| AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback) | Add NlpCoefEvalError callback.
| AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback, Int32) | Add NlpCoefEvalError callback with the specified priority.
| AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback, Object) | Add NlpCoefEvalError callback with a user object that is passed to the callback on invocation.
| AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback, Object, Int32) | Add NlpCoefEvalError callback with specified priority and a user object that is passed to the callback on invocation.
| AddNodecutoffCallback(NodecutoffCallback) | Add Nodecutoff callback.
| AddNodecutoffCallback(NodecutoffCallback, Int32) | Add Nodecutoff callback with the specified priority.
| AddNodecutoffCallback(NodecutoffCallback, Object) | Add Nodecutoff callback with a user object that is passed to the callback on invocation.
| AddNodecutoffCallback(NodecutoffCallback, Object, Int32) | Add Nodecutoff callback with specified priority and a user object that is passed to the callback on invocation.
| AddNodeLPSolvedCallback(NodeLPSolvedCallback) | Add NodeLPSolved callback.
| AddNodeLPSolvedCallback(NodeLPSolvedCallback, Int32) | Add NodeLPSolved callback with the specified priority.
| AddNodeLPSolvedCallback(NodeLPSolvedCallback, Object) | Add NodeLPSolved callback with a user object that is passed to the callback on invocation.
| AddNodeLPSolvedCallback(NodeLPSolvedCallback, Object, Int32) | Add NodeLPSolved callback with specified priority and a user object that is passed to the callback on invocation.
| AddObj | Appends an objective function with the given coefficients to a multi-objective problem. The weight and priority of the objective are set to the given values.
| AddOptnodeCallback(OptnodeCallback) | Add Optnode callback.
| AddOptnodeCallback(OptnodeCallback, Int32) | Add Optnode callback with the specified priority.
| AddOptnodeCallback(OptnodeCallback, Object) | Add Optnode callback with a user object that is passed to the callback on invocation.
| AddOptnodeCallback(OptnodeCallback, Object, Int32) | Add Optnode callback with specified priority and a user object that is passed to the callback on invocation.
| AddPreIntsolCallback(PreIntsolCallback) | Add PreIntsol callback.
| AddPreIntsolCallback(PreIntsolCallback, Int32) | Add PreIntsol callback with the specified priority.
| AddPreIntsolCallback(PreIntsolCallback, Object) | Add PreIntsol callback with a user object that is passed to the callback on invocation.
| AddPreIntsolCallback(PreIntsolCallback, Object, Int32) | Add PreIntsol callback with specified priority and a user object that is passed to the callback on invocation.
| AddPrenodeCallback(PrenodeCallback) | Add Prenode callback.
| AddPrenodeCallback(PrenodeCallback, Int32) | Add Prenode callback with the specified priority.
| AddPrenodeCallback(PrenodeCallback, Object) | Add Prenode callback with a user object that is passed to the callback on invocation.
| AddPrenodeCallback(PrenodeCallback, Object, Int32) | Add Prenode callback with specified priority and a user object that is passed to the callback on invocation.
| AddPresolveCallback(PresolveCallback) | Add Presolve callback.
| AddPresolveCallback(PresolveCallback, Int32) | Add Presolve callback with the specified priority.
| AddPresolveCallback(PresolveCallback, Object) | Add Presolve callback with a user object that is passed to the callback on invocation.
| AddPresolveCallback(PresolveCallback, Object, Int32) | Add Presolve callback with specified priority and a user object that is passed to the callback on invocation.
| AddPwlCons(Int32, Int32, Int32, Int32, Int32, Double, Double) | Adds one or more piecewise linear constraints to the problem. Each piecewise linear constraint y = f(x) consists of an (input) column x, a (different) resultant (output column) y and a piecewise linear function f. The piecewise linear function f is described by at least two breakpoints, which are given as combinations of x- and y-values. Discontinuous piecewise linear functions are supported, in this case both the left and right limit at a given point need to be entered as breakpoints. To differentiate between left and right limit, the breakpoints need to be given as a list with non-decreasing x-values.
| AddPwlCons(Int32, Int64, Int32, Int32, Int64, Double, Double) | Adds one or more piecewise linear constraints to the problem. Each piecewise linear constraint y = f(x) consists of an (input) column x, a (different) resultant (output column) y and a piecewise linear function f. The piecewise linear function f is described by at least two breakpoints, which are given as combinations of x- and y-values. Discontinuous piecewise linear functions are supported, in this case both the left and right limit at a given point need to be entered as breakpoints. To differentiate between left and right limit, the breakpoints need to be given as a list with non-decreasing x-values.
| AddQMatrix(Int32, Int32, Int32, Int32, Double) | Adds a new quadratic matrix into a row defined by triplets.
| AddQMatrix(Int32, Int64, Int32, Int32, Double) | Adds a new quadratic matrix into a row defined by triplets.
| AddRow(XPRSprobRowInfo) | Add a single row to the problem.
| AddRow(XPRSprobRowInfo, String) | Add a single row to the problem.
| AddRow(Int32, Double, Char, Double) | Add a single row to the problem. This is a short cut for AddRow(colind, colval, rowtype, rhs, null, null).
| AddRow(Int32, Double, Char, Double, String) | Add a single row to the problem.
| AddRow(Int32, Double, Char, Double, Double, String) | Add a single row to the problem.
| AddRows(Int32, Int32, Char, Double, Int32, Int32, Double) | Adds rows to the optimizer matrix.
| AddRows(Int32, Int64, Char, Double, Int64, Int32, Double) | Adds rows to the optimizer matrix.
| AddRows(Int32, Int32, Char, Double, Double, Int32, Int32, Double) | Adds rows to the optimizer matrix.
| AddRows(Int32, Int64, Char, Double, Double, Int64, Int32, Double) | Adds rows to the optimizer matrix.
| AddSet | Add a single set constraint to this problem.
| AddSetNames | Add the given set names to the problem. Obsolete
| AddSets(SetType, Int32, Double, String) | Add multiple set constraints to the problem.
| AddSets(Int32, Int32, Char, Int32, Int32, Double) | Allows sets to be added to the problem after passing it to the Optimizer using the input routines.
| AddSets(Int32, Int32, SetType, Int32, Double, String) | Create multiple set constraints.
| AddSets(Int32, Int64, Char, Int64, Int32, Double) | Allows sets to be added to the problem after passing it to the Optimizer using the input routines.
| AddSlpCascadeEndCallback(SlpCascadeEndCallback) | Add SlpCascadeEnd callback.
| AddSlpCascadeEndCallback(SlpCascadeEndCallback, Int32) | Add SlpCascadeEnd callback with the specified priority.
| AddSlpCascadeEndCallback(SlpCascadeEndCallback, Object) | Add SlpCascadeEnd callback with a user object that is passed to the callback on invocation.
| AddSlpCascadeEndCallback(SlpCascadeEndCallback, Object, Int32) | Add SlpCascadeEnd callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpCascadeStartCallback(SlpCascadeStartCallback) | Add SlpCascadeStart callback.
| AddSlpCascadeStartCallback(SlpCascadeStartCallback, Int32) | Add SlpCascadeStart callback with the specified priority.
| AddSlpCascadeStartCallback(SlpCascadeStartCallback, Object) | Add SlpCascadeStart callback with a user object that is passed to the callback on invocation.
| AddSlpCascadeStartCallback(SlpCascadeStartCallback, Object, Int32) | Add SlpCascadeStart callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpCascadeVarCallback(SlpCascadeVarCallback) | Add SlpCascadeVar callback.
| AddSlpCascadeVarCallback(SlpCascadeVarCallback, Int32) | Add SlpCascadeVar callback with the specified priority.
| AddSlpCascadeVarCallback(SlpCascadeVarCallback, Object) | Add SlpCascadeVar callback with a user object that is passed to the callback on invocation.
| AddSlpCascadeVarCallback(SlpCascadeVarCallback, Object, Int32) | Add SlpCascadeVar callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback) | Add SlpCascadeVarFail callback.
| AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback, Int32) | Add SlpCascadeVarFail callback with the specified priority.
| AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback, Object) | Add SlpCascadeVarFail callback with a user object that is passed to the callback on invocation.
| AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback, Object, Int32) | Add SlpCascadeVarFail callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpConstructCallback(SlpConstructCallback) | Add SlpConstruct callback.
| AddSlpConstructCallback(SlpConstructCallback, Int32) | Add SlpConstruct callback with the specified priority.
| AddSlpConstructCallback(SlpConstructCallback, Object) | Add SlpConstruct callback with a user object that is passed to the callback on invocation.
| AddSlpConstructCallback(SlpConstructCallback, Object, Int32) | Add SlpConstruct callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpDrColCallback(SlpDrColCallback) | Add SlpDrCol callback.
| AddSlpDrColCallback(SlpDrColCallback, Int32) | Add SlpDrCol callback with the specified priority.
| AddSlpDrColCallback(SlpDrColCallback, Object) | Add SlpDrCol callback with a user object that is passed to the callback on invocation.
| AddSlpDrColCallback(SlpDrColCallback, Object, Int32) | Add SlpDrCol callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpIntSolCallback(SlpIntSolCallback) | Add SlpIntSol callback.
| AddSlpIntSolCallback(SlpIntSolCallback, Int32) | Add SlpIntSol callback with the specified priority.
| AddSlpIntSolCallback(SlpIntSolCallback, Object) | Add SlpIntSol callback with a user object that is passed to the callback on invocation.
| AddSlpIntSolCallback(SlpIntSolCallback, Object, Int32) | Add SlpIntSol callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpIterEndCallback(SlpIterEndCallback) | Add SlpIterEnd callback.
| AddSlpIterEndCallback(SlpIterEndCallback, Int32) | Add SlpIterEnd callback with the specified priority.
| AddSlpIterEndCallback(SlpIterEndCallback, Object) | Add SlpIterEnd callback with a user object that is passed to the callback on invocation.
| AddSlpIterEndCallback(SlpIterEndCallback, Object, Int32) | Add SlpIterEnd callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpIterStartCallback(SlpIterStartCallback) | Add SlpIterStart callback.
| AddSlpIterStartCallback(SlpIterStartCallback, Int32) | Add SlpIterStart callback with the specified priority.
| AddSlpIterStartCallback(SlpIterStartCallback, Object) | Add SlpIterStart callback with a user object that is passed to the callback on invocation.
| AddSlpIterStartCallback(SlpIterStartCallback, Object, Int32) | Add SlpIterStart callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpIterVarCallback(SlpIterVarCallback) | Add SlpIterVar callback.
| AddSlpIterVarCallback(SlpIterVarCallback, Int32) | Add SlpIterVar callback with the specified priority.
| AddSlpIterVarCallback(SlpIterVarCallback, Object) | Add SlpIterVar callback with a user object that is passed to the callback on invocation.
| AddSlpIterVarCallback(SlpIterVarCallback, Object, Int32) | Add SlpIterVar callback with specified priority and a user object that is passed to the callback on invocation.
| AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback) | Add SlpPreUpdateLinearization callback.
| AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback, Int32) | Add SlpPreUpdateLinearization callback with the specified priority.
| AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback, Object) | Add SlpPreUpdateLinearization callback with a user object that is passed to the callback on invocation.
| AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback, Object, Int32) | Add SlpPreUpdateLinearization callback with specified priority and a user object that is passed to the callback on invocation.
| AddUserSolNotifyCallback(UserSolNotifyCallback) | Add UserSolNotify callback.
| AddUserSolNotifyCallback(UserSolNotifyCallback, Int32) | Add UserSolNotify callback with the specified priority.
| AddUserSolNotifyCallback(UserSolNotifyCallback, Object) | Add UserSolNotify callback with a user object that is passed to the callback on invocation.
| AddUserSolNotifyCallback(UserSolNotifyCallback, Object, Int32) | Add UserSolNotify callback with specified priority and a user object that is passed to the callback on invocation.
| Alter | Alters or changes matrix elements, right hand sides and constraint senses in the current problem. Obsolete
| BasisCondition | Calculates the condition number of the current basis after solving the LP relaxation. Obsolete
| BasisStability(Int32, Int32, Int32) | Convenience wrapper for BasisStability(int,int,int,double) that returns the output argument.
| BasisStability(Int32, Int32, Int32, Double) | Calculates various measures for the stability of the current basis, including the basis condition number.
| BinVar | Create a new binary variable. Obsolete
| BinVar(String) | Create a new binary variable with the specified name. Obsolete
| BinVarArray(Int32, FuncInt32, String) | Create an array of binary variables. Obsolete
| BinVarArrayT(ICollectionT, FuncT, String) | Create an array of binary variables. The function will create one variable for each of the objects listed in objs. Obsolete
| BinVarMapT(ICollectionT, FuncT, String) | Create a map of binary variables. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it. Obsolete
| BinVarMapT(ICollectionT, FuncT, String, IDictionaryT, Int32) | Create a map of binary variables. The function creates a new variable for each object in objs. For each object o it puts the Pair (o, idx) into map where idx is the index of the variable that was created for o. Obsolete
| Bndsa | Obsolete
| BndSA | Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds. If the bounds are varied within these ranges the current basis remains optimal and feasible.
| BTran | Post-multiplies a (row) vector provided by the user by the inverse of the current basis.
| BuildColumns(VariableBuilderArray2Builder) | Add variables as specified by the builder.
| BuildColumns(VariableBuilderArray3Builder) | Add variables as specified by the builder.
| BuildColumns(VariableBuilderArray4Builder) | Add variables as specified by the builder.
| BuildColumns(VariableBuilderArray5Builder) | Add variables as specified by the builder.
| BuildColumns(VariableBuilderArrayBuilder) | Add variables as specified by the builder.
| BuildColumns(VariableBuilderArray2Builder, Action Int32) | TODO: Hide this from the user.
| BuildColumns(VariableBuilderArray3Builder, Action Int32) | TODO: Hide this from the user.
| BuildColumns(VariableBuilderArray4Builder, Action Int32) | TODO: Hide this from the user.
| BuildColumns(VariableBuilderArray5Builder, Action Int32) | TODO: Hide this from the user.
| BuildColumns(VariableBuilderArrayBuilder, Action Int32) | TODO: Hide this from the user.
| BuildColumnsK1(Boolean) |
| BuildColumnsI(VariableBuilderArray2Builder, FuncI, ActionI, Int32, Int32, Int32) | Add columns as specified by the builder. This is a parametrized version of [!:.BuildColumns(VariableBuilder.Array2Builder)].
| BuildColumnsI(VariableBuilderArray3Builder, FuncI, Action5I, Int32, Int32, Int32, Int32) | Add columns as specified by the builder. This is a parametrized version of [!:.BuildColumns(VariableBuilder.Array3Builder)].
| BuildColumnsI(VariableBuilderArray4Builder, FuncI, Action6I, Int32, Int32, Int32, Int32, Int32) | Add columns as specified by the builder. This is a parametrized version of [!:.BuildColumns(VariableBuilder.Array4Builder)].
| BuildColumnsI(VariableBuilderArray5Builder, FuncI, Action7I, Int32, Int32, Int32, Int32, Int32, Int32) | Add columns as specified by the builder. This is a parametrized version of [!:.BuildColumns(VariableBuilder.Array5Builder)].
| BuildColumnsI(VariableBuilderArrayBuilder, FuncI, ActionI, Int32, Int32) | Add columns as specified by the builder. This is a parametrized version of [!:.BuildColumns(VariableBuilder.ArrayBuilder)].
| BuildColumnsK1(VariableBuilderMapBuilderK1, ActionK1, Int32, Action) | Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
| BuildColumnsK1, K2(VariableBuilderMap2BuilderK1, K2) | Create a column map from a builder.
| BuildColumnsK1, K2(VariableBuilderMap2BuilderK1, K2, ActionK1, K2, Int32, Action) | Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
| BuildColumnsI, K1(VariableBuilderMapBuilderK1, FuncI, ActionI, K1, Int32) | Create a column map from a builder.
| BuildColumnsK1, K2, K3(VariableBuilderMap3BuilderK1, K2, K3) | Create a column map from a builder.
| BuildColumnsI, K1, K2(VariableBuilderMap2BuilderK1, K2, FuncI, ActionI, K1, K2, Int32) | Create a column map from a builder.
| BuildColumnsK1, K2, K3(VariableBuilderMap3BuilderK1, K2, K3, ActionK1, K2, K3, Int32, Action) | Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
| BuildColumnsK1, K2, K3, K4(VariableBuilderMap4BuilderK1, K2, K3, K4) | Create a column map from a builder.
| BuildColumnsI, K1, K2, K3(VariableBuilderMap3BuilderK1, K2, K3, FuncI, Action5I, K1, K2, K3, Int32) | Create a column map from a builder.
| BuildColumnsK1, K2, K3, K4(VariableBuilderMap4BuilderK1, K2, K3, K4, Action5K1, K2, K3, K4, Int32, Action) | Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
| BuildColumnsK1, K2, K3, K4, K5(VariableBuilderMap5BuilderK1, K2, K3, K4, K5) | Create a column map from a builder.
| BuildColumnsI, K1, K2, K3, K4(VariableBuilderMap4BuilderK1, K2, K3, K4, FuncI, Action6I, K1, K2, K3, K4, Int32) | Create a column map from a builder.
| BuildColumnsK1, K2, K3, K4, K5(VariableBuilderMap5BuilderK1, K2, K3, K4, K5, Action6K1, K2, K3, K4, K5, Int32, Action) | Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
| BuildColumnsI, K1, K2, K3, K4, K5(VariableBuilderMap5BuilderK1, K2, K3, K4, K5, FuncI, Action7I, K1, K2, K3, K4, K5, Int32) | Create a column map from a builder.
| CalcObjective(Double) | Convenience wrapper for CalcObjective(double[],double) that returns the output argument.
| CalcObjective(Double, Double) | Calculates the objective value of a given solution.
| CalcObjN(Int32, Double) | Convenience wrapper for CalcObjN(int,double[],double) that returns the output argument.
| CalcObjN(Int32, Double, Double) | Calculates the objective value of the given objective function in a multi-objective problem.
| CalcReducedCosts | Calculates the reduced cost values for a given (row) dual solution.
| CalcSlacks | Calculates the row slack values for a given solution.
| CalcSolInfo(Double, Double, Int32) | Convenience wrapper for CalcSolInfo(double[],double[],int,double) that returns the output argument.
| CalcSolInfo(Double, Double, Int32, Double) | Calculates the required property of a solution, like maximum infeasibility of a given primal and dual solution.
| ChgBounds(Int32, Double, Double) | Change bounds of a single column.
| ChgBounds(Int32, Int32, Char, Double) | Used to change the bounds on columns in the matrix.
| ChgCoef | Used to change a single coefficient in the matrix. If the coefficient does not already exist, a new coefficient will be added to the matrix. If many coefficients are being added to a row of the matrix, it may be more efficient to delete the old row of the matrix and add a new row.
| ChgColType(Int32, Char) | Convenience wrapper for ChgColType(int, int[], char[]).
| ChgColType(Int32, Int32, Char) | Used to change the type of a specified set of columns in the matrix.
| ChgGlbLimit(Int32, Double) | Convenience wrapper for ChgGlbLimit(int, int[], double[]).
| ChgGlbLimit(Int32, Int32, Double) | Used to change semi-continuous or semi-integer lower bounds, or upper limits on partial integers.
| ChgLB | Change the lower bound of a single column.
| ChgMCoef(Int32, Int32, Int32, Double) | Used to change multiple coefficients in the matrix. If any coefficient does not already exist, it will be added to the matrix. If many coefficients are being added to a row of the matrix, it may be more efficient to delete the old row of the matrix and add a new one.
| ChgMCoef(Int64, Int32, Int32, Double) | Used to change multiple coefficients in the matrix. If any coefficient does not already exist, it will be added to the matrix. If many coefficients are being added to a row of the matrix, it may be more efficient to delete the old row of the matrix and add a new one.
| ChgMQObj(Int32, Int32, Int32, Double) | Used to change multiple quadratic coefficients in the objective function. If any of the coefficients does not exist already, new coefficients will be added to the objective function.
| ChgMQObj(Int64, Int32, Int32, Double) | Used to change multiple quadratic coefficients in the objective function. If any of the coefficients does not exist already, new coefficients will be added to the objective function.
| ChgObj(Int32, Double) | Convenience wrapper for ChgObj(int, int[], double[]).
| ChgObj(Int32, Int32, Double) | Used to change the objective function coefficients.
| ChgObjN | Modifies one or more coefficients of an objective function in a multi-objective problem. If the objective already exists, any coefficients not present in the colind and objcoef arrays will unchanged. If the objective does not exist, it will be added to the problem.
| ChgObjSense(Int32) |
| ChgObjSense(ObjSense) | Changes the problem's objective function sense to minimize or maximize.
| ChgQObj | Used to change a single quadratic coefficient in the objective function corresponding to the variable pair (objqcol1,objqcol2) of the Hessian matrix.
| ChgQRowCoeff | Changes a single quadratic coefficient in a row.
| ChgRHS(Int32, Double) | Convenience wrapper for ChgRHS(int, int[], double[]).
| ChgRHS(Int32, Int32, Double) | Used to change right--hand side values of the problem.
| ChgRHSRange(Int32, Double) | Convenience wrapper for ChgRHSRange(int, int[], double[]).
| ChgRHSRange(Int32, Int32, Double) | Used to change the range for a row of the problem matrix.
| ChgRowType(Int32, Char) | Convenience wrapper for ChgRowType(int, int[], char[]).
| ChgRowType(Int32, Int32, Char) | Used to change the type of a row in the matrix.
| ChgUB | Change the upper bound of a single column.
| ClearIIS | Resets the search for Irreducible Infeasible Sets (IIS).
| ClearObjective | Clear the objective function.
| ClearRowFlags | Clears extra information attached to a range of rows.
| Clone | Create a copy of the problem, including controls and callbacks.
| ColumnTypeToArray | Convert a column type array to an array of low-level type indicators.
| ContVar | Create a continuous variable with default bounds [0, infinity]. Obsolete
| ContVar(String) | Create a continuous variable with default bounds [0, infinity] and a specified name. Obsolete
| ContVar(Double, Double) | Create a continuous variable with specified bounds. Obsolete
| ContVar(Double, Double, String) | Create a continuous variable with specified bounds and name. Obsolete
| ContVarArray(Int32, Double, Double, FuncInt32, String) | Create an array of continuous variables. All the variables created by this function have the same types and bounds. Obsolete
| ContVarArray(Int32, Double, Double, String) | Create an array of continuous variables. Obsolete
| ContVarArray(Int32, FuncInt32, Double, FuncInt32, Double, FuncInt32, String) | Create an array of continuous variables. Obsolete
| ContVarArrayT(ICollectionT, Double, Double, FuncT, String) | Create an array of continuous variables. All the variables created by this function have the same types and bounds. The function will create one variable for each of the objects listed in objs. Obsolete
| ContVarArrayT(ICollectionT, FuncT, Double, FuncT, Double, FuncT, String) | Create an array of continuous variables. The function will create one variable for each of the objects listed in objs. Obsolete
| ContVarMapT(ICollectionT, FuncT, Double, FuncT, Double, FuncT, String) | Create a map of continuous variables. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it. Obsolete
| ContVarMapT(ICollectionT, FuncT, Double, FuncT, Double, FuncT, String, IDictionaryT, Int32) | Create a map of continuous variables. The function creates a new variable for each object in objs. For each object o it puts the Pair (o, idx) into map where idx is the index of the variable that was created for o. Obsolete
| CopyCallbacks | Copy callbacks to this XPRSprob from another
| CopyControls | Copies controls defined for one problem to another.
| CopyProb(XPRSprob) | Create a copy of the problem.
| CopyProb(XPRSprob, String) | Create a copy of the problem with the given name.
| CreateBranchObject | Create a branching object.
| CreateBranchObjectFromGlobal | Obsolete
| CrossoverLpSol | Convenience wrapper for CrossoverLpSol(int) that returns the output argument.
| CrossoverLpSol(Int32) | Provides a basic optimal solution for a given solution of an LP problem. This function behaves like the crossover after the barrier algorithm.
| DelCols | Delete columns from a matrix.
| DelCPCuts | During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. These cuts may be removed from a given node using delCuts, but if this is to be applied in a large number of cases, it may be preferable to remove the cut completely from the cut pool. This is achieved using delCPCuts.
| DelCPCuts(Int32, Cut) | During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. These cuts may be removed from a given node using delCuts, but if this is to be applied in a large number of cases, it may be preferable to remove the cut completely from the cut pool. This is achieved using delCPCuts.
| DelCPCuts(Int32, Int32) | During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. These cuts may be removed from a given node using delCuts, but if this is to be applied in a large number of cases, it may be preferable to remove the cut completely from the cut pool. This is achieved using delCPCuts.
| DelCPCuts(Int32, Int32, Int32, Cut) | During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. These cuts may be removed from a given node using delCuts, but if this is to be applied in a large number of cases, it may be preferable to remove the cut completely from the cut pool. This is achieved using delCPCuts.
| DelCuts(Int32) | Deletes cuts from the matrix at the current node. Cuts from the parent node which have been automatically restored may be deleted as well as cuts added to the current node using addCuts or loadCuts. The cuts to be deleted can be specified in a number of ways. If a cut is ruled out by any one of the criteria it will not be deleted.
| DelCuts(Int32, Int32, Cut) | Deletes cuts from the matrix at the current node. Cuts from the parent node which have been automatically restored may be deleted as well as cuts added to the current node using addCuts or loadCuts. The cuts to be deleted can be specified in a number of ways. If a cut is ruled out by any one of the criteria it will not be deleted.
| DelCuts(Int32, Int32, Int32) | Deletes cuts from the matrix at the current node. Cuts from the parent node which have been automatically restored may be deleted as well as cuts added to the current node using addCuts or loadCuts. The cuts to be deleted can be specified in a number of ways. If a cut is ruled out by any one of the criteria it will not be deleted.
| DelCuts(Int32, Int32, Int32, Double) | Deletes cuts from the matrix at the current node. Cuts from the parent node which have been automatically restored may be deleted as well as cuts added to the current node using addCuts or loadCuts. The cuts to be deleted can be specified in a number of ways. If a cut is ruled out by any one of the criteria it will not be deleted.
| DelCuts(Int32, Int32, Int32, Double, Int32, Cut) | Deletes cuts from the matrix at the current node. Cuts from the parent node which have been automatically restored may be deleted as well as cuts added to the current node using addCuts or loadCuts. The cuts to be deleted can be specified in a number of ways. If a cut is ruled out by any one of the criteria it will not be deleted.
| DelGenCons | Delete general constraints from a problem.
| DelIndicator | Delete a single indicator constraint. This only deletes the "indicator property from the specified row. Neither the associated variable nor the row are deleted.
| DelIndicators | Delete indicator constraints. This turns the specified rows into normal rows (not controlled by indicator variables).
| DelObj | Removes an objective function from the problem. Any objectives with index &gt; objidx will be shifted down.
| DelPwlCons | Delete piecewise linear constraints from a problem.
| DelQMatrix | Deletes the quadratic part of a row or of the objective function.
| DelRows | Delete rows from a matrix.
| DelSets | Delete sets from a problem.
| Destroy | Destroy the problem, freeing all native resources used. Equivalent to calling Dipose(). (Overrides XPRSobjectDestroy) Obsolete
| Dispose | (Inherited from XPRSobject)
| Drop | Function that is called when the whole problem representation is dropped and will be replaced by a new one soon. This happens for example if readProb is called or any of the load functions are called.
| DumpControls | Displays the list of controls and their current value for those controls that have been set to a non default value.
| Equals | (Inherited from XPRSobject)
| EstimateRowDualRanges | Performs a dual side range sensitivity analysis, i.e. calculates estimates for the possible ranges for dual values.
| Finalize | (Inherited from XPRSobject)
| FirstIIS(Int32) | Convenience wrapper for FirstIIS(int,int) that returns the output argument.
| FirstIIS(Int32, Int32) | Initiates a search for an Irreducible Infeasible Set (IIS) in an infeasible problem.
| FixGlobals | Obsolete
| FixMIPEntities | Fixes all the MIP entities to the values of the last found MIP solution. This is useful for finding the reduced costs for the continuous variables after the integer variables have been fixed to their optimal values.
| FTran | Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
| GetAttribInfo | Accesses the id number and the type information of an attribute given its name. An attribute name may be for example XPRS_ROWS. Names are case-insensitive and may or may not have the XPRS_ prefix. The id number is the constant used to identify the attribute in the C API. The type information returned will be one of the below integer constants. The function will return an id number of 0 and a type value of XPRS_TYPE_NOTDEFINED if the name is not recognized as an attribute name. Note that this will occur if the name is a control name and not an attribute name.
| GetBasis | Returns the current basis into the user's data arrays.
| GetBasisVal | Returns the current basis status for a specific column or row.
| GetCallbackDual(Int32) | Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that queries only a single value.
| GetCallbackDual(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that queries only a single value.
| GetCallbackDuals | Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackDuals(Boolean) | Convenience wrapper for GetCallbackDuals(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackDuals(Int32, Int32) | Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that allocates the output array.
| GetCallbackDuals(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that allocates the output array.
| GetCallbackDuals(Boolean, Double, Int32, Int32) | Returns the dual values from the solution associated with the current callback.
| GetCallbackPresolveDual(Int32) | Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that queries only a single value.
| GetCallbackPresolveDual(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that queries only a single value.
| GetCallbackPresolveDuals | Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveDuals(Boolean) | Convenience wrapper for GetCallbackPresolveDuals(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveDuals(Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that allocates the output array.
| GetCallbackPresolveDuals(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that allocates the output array.
| GetCallbackPresolveDuals(Boolean, Double, Int32, Int32) | Returns the dual values from the solution to the presolved problem associated with the current callback.
| GetCallbackPresolveRedCost(Int32) | Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that queries only a single value.
| GetCallbackPresolveRedCost(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that queries only a single value.
| GetCallbackPresolveRedCosts | Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveRedCosts(Boolean) | Convenience wrapper for GetCallbackPresolveRedCosts(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveRedCosts(Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that allocates the output array.
| GetCallbackPresolveRedCosts(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that allocates the output array.
| GetCallbackPresolveRedCosts(Boolean, Double, Int32, Int32) | Returns the reduced costs from the solution to the presolved problem associated with the current callback.
| GetCallbackPresolveSlack(Int32) | Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that queries only a single value.
| GetCallbackPresolveSlack(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that queries only a single value.
| GetCallbackPresolveSlacks | Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveSlacks(Boolean) | Convenience wrapper for GetCallbackPresolveSlacks(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveSlacks(Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that allocates the output array.
| GetCallbackPresolveSlacks(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that allocates the output array.
| GetCallbackPresolveSlacks(Boolean, Double, Int32, Int32) | Returns the slack values from the solution to the presolved problem associated with the current callback.
| GetCallbackPresolveSolution | Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveSolution(Boolean) | Convenience wrapper for GetCallbackPresolveSolution(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackPresolveSolution(Int32) | Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that queries only a single value.
| GetCallbackPresolveSolution(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that queries only a single value.
| GetCallbackPresolveSolution(Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that allocates the output array.
| GetCallbackPresolveSolution(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that allocates the output array.
| GetCallbackPresolveSolution(Boolean, Double, Int32, Int32) | Returns the solution to the presolved problem associated with the current callback.
| GetCallbackRedCost(Int32) | Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that queries only a single value.
| GetCallbackRedCost(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that queries only a single value.
| GetCallbackRedCosts | Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackRedCosts(Boolean) | Convenience wrapper for GetCallbackRedCosts(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackRedCosts(Int32, Int32) | Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that allocates the output array.
| GetCallbackRedCosts(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that allocates the output array.
| GetCallbackRedCosts(Boolean, Double, Int32, Int32) | Returns the reduced costs from the solution associated with the current callback.
| GetCallbackSlack(Int32) | Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that queries only a single value.
| GetCallbackSlack(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that queries only a single value.
| GetCallbackSlacks | Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackSlacks(Boolean) | Convenience wrapper for GetCallbackSlacks(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackSlacks(Int32, Int32) | Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that allocates the output array.
| GetCallbackSlacks(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that allocates the output array.
| GetCallbackSlacks(Boolean, Double, Int32, Int32) | Returns the slack values from the solution associated with the current callback.
| GetCallbackSolution | Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackSolution(Boolean) | Convenience wrapper for GetCallbackSolution(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetCallbackSolution(Int32) | Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that queries only a single value.
| GetCallbackSolution(Boolean, Int32) | Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that queries only a single value.
| GetCallbackSolution(Int32, Int32) | Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that allocates the output array.
| GetCallbackSolution(Boolean, Int32, Int32) | Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that allocates the output array.
| GetCallbackSolution(Boolean, Double, Int32, Int32) | Returns the primal values from the solution associated with the current callback.
| GetCoef(Int32, Int32) | Convenience wrapper for GetCoef(int,int,double) that returns the output argument.
| GetCoef(Int32, Int32, Double) | Returns a single coefficient in the constraint matrix.
| GetCols(Int32, Int32) | Get range of columns.
| GetCols(Int32, Int32, Double, Int32, Int32, Int32) | Returns the nonzeros in the constraint matrix for the columns in a given range.
| GetCols(Int64, Int32, Double, Int64, Int32, Int32) | Returns the nonzeros in the constraint matrix for the columns in a given range.
| GetCols(Int32, Int32, Double, Int32, Int32, Int32, Int32) | Returns the nonzeros in the constraint matrix for the columns in a given range.
| GetCols(Int64, Int32, Double, Int64, Int64, Int32, Int32) | Returns the nonzeros in the constraint matrix for the columns in a given range.
| GetColType(Int32) | Convenience wrapper for GetColType(char[], int, int).
| GetColType(Int32, Int32) | Convenience wrapper for GetColType(char[], int, int).
| GetColType(Char, Int32, Int32) | Returns the column types for the columns in a given range.
| GetColumnName | Get a column name.
| GetColumnNames | Get names of columns.
| GetControlInfo | Accesses the id number and the type information of a control given its name. A control name may be for example XPRS_PRESOLVE. Names are case-insensitive and may or may not have the XPRS_ prefix. The id number is the constant used to identify the control in the C API. The type information returned will be one of the below integer constants. The function will return an id number of 0 and a type value of XPRS_TYPE_NOTDEFINED if the name is not recognized as a control name. Note that this will occur if the name is an attribute name and not a control name.
| GetCPCutList(Int32, Cut, Double) | Returns a list of cut indices from the cut pool.
| GetCPCutList(Int32, Int32, Double, Int32, Cut, Double) | Returns a list of cut indices from the cut pool.
| GetCPCutList(Int32, Int32, Double, Int32, Int32, Cut, Double) | Returns a list of cut indices from the cut pool.
| GetCPCuts(Cut, Int32, Int32, Int32, Char, Int32, Int32, Double, Double) | Returns cuts from the cut pool.
| GetCPCuts(Cut, Int32, Int64, Int32, Char, Int64, Int32, Double, Double) | Returns cuts from the cut pool.
| GetCutList(Int32, Cut) | Retrieves a list of cut objects for the cuts active at the current node.
| GetCutList(Int32, Int32, Int32, Cut) | Retrieves a list of cut objects for the cuts active at the current node.
| GetCutList(Int32, Int32, Int32, Int32, Cut) | Retrieves a list of cut objects for the cuts active at the current node.
| GetCutMap | Used to return in which rows a list of cuts are currently loaded into the Optimizer. This is useful for example to retrieve the duals associated with active cuts.
| GetCutSlack(Cut) | Convenience wrapper for GetCutSlack(Cut,double) that returns the output argument.
| GetCutSlack(Cut, Double) | Used to calculate the slack value of a cut with respect to the current LP relaxation solution. The slack is calculated from the cut itself, and might be requested for any cut (even if it is not currently loaded into the problem).
| GetDblAttrib(Int32) | Convenience wrapper for GetDblAttrib(int,double) that returns the output argument.
| GetDblAttrib(Int32, Double) | Enables users to retrieve the values of various double problem attributes. Problem attributes are set during loading and optimization of a problem.
| GetDblControl(Int32) | Convenience wrapper for GetDblControl(int,double) that returns the output argument.
| GetDblControl(Int32, Double) | Retrieves the value of a given double control parameter.
| GetDirs | Used to return the directives that have been loaded into a matrix. Priorities, forced branching directions and pseudo costs can be returned. If called after presolve, getDirs will get the directives for the presolved problem.
| GetDirs(Int32, Int32, Char, Double, Double) | Used to return the directives that have been loaded into a matrix. Priorities, forced branching directions and pseudo costs can be returned. If called after presolve, getDirs will get the directives for the presolved problem.
| GetDirs(Int32, Int32, Int32, Char, Double, Double) | Used to return the directives that have been loaded into a matrix. Priorities, forced branching directions and pseudo costs can be returned. If called after presolve, getDirs will get the directives for the presolved problem.
| GetDiscreteCols | Get information about MIP entities.
| GetDual(Int32) | Convenience wrapper for int(out GetDuals, double[], int, int) that queries only a single value.
| GetDual(Int32, Int32) | Convenience wrapper for int(out GetDuals, double[], int, int) that queries only a single value.
| GetDualRay | Retrieves a dual ray (dual unbounded direction) for the current problem, if the problem is found to be infeasible.
| GetDuals | Convenience wrapper for int(out GetDuals, double[], int, int) that allocates the output array and queries all elements.
| GetDuals(Int32) | Convenience wrapper for GetDuals(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetDuals(Int32, Int32) | Convenience wrapper for int(out GetDuals, double[], int, int) that allocates the output array.
| GetDuals(Int32, Int32, Int32) | Convenience wrapper for int(out GetDuals, double[], int, int) that allocates the output array.
| GetDuals(Int32, Double, Int32, Int32) | Returns the dual values from the incumbent solution during or after optimization of a continuous problem with optimize, lpOptimize or nlpOptimize.
| GetGenCons(Int32, Int32) | Query a range of general constraints.
| GetGenCons(GenConsType, Int32, Int32, Int32, Int32, Int32, Int32, Double, Int32, Int32, Int32, Int32) | Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range.
| GetGenCons(GenConsType, Int32, Int64, Int32, Int64, Int64, Int64, Double, Int64, Int64, Int32, Int32) | Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range.
| GetGenConsName | Get a general constraint name.
| GetGenConsNames | Get names of general constraints.
| GetGlobal | Obsolete
| GetHashCode | (Inherited from XPRSobject)
| GetIISData(Int32) | Get information about an IIS.
| GetIISData(Int32, Int32, Int32, Int32, Int32, Char, Char, Double, Double, Char, Char) | Returns information for an Irreducible Infeasible Set: size, variables and constraints (row and column vectors), and conflicting sides of the variables. For pure linear problems there is also information on duals, reduced costs and isolations.
| GetIndex(Int32, String) | Convenience wrapper for GetIndex(int,string,int) that returns the output argument.
| GetIndex(Int32, String, Int32) | Returns the index for a specified row or column name.
| GetIndicator | Get indicator information for a single row.
| GetIndicators(Int32, Int32) | Get indicator information for a range of rows. Returns indicator information for the rows in [first, last] that actually are indicator rows. No data is returned for rows in this range that are not indicator rows.
| GetIndicators(Int32, Int32, Int32, Int32) | Returns the indicator constraint condition (indicator variable and complement flag) associated to the rows in a given range.
| GetInfeas | Returns a list of infeasible primal and dual variables.
| GetIntAttrib(Int32) | Convenience wrapper for GetIntAttrib(int,int) that returns the output argument.
| GetIntAttrib(Int32, Int32) | Enables users to recover the values of various integer problem attributes. Problem attributes are set during loading and optimization of a problem.
| GetIntControl(Int32) | Convenience wrapper for GetIntControl(int,int) that returns the output argument.
| GetIntControl(Int32, Int32) | Enables users to recover the values of various integer control parameters
| GetLastBarSol | Get a solution.
| GetLastBarSol(Double, Double, Double, Double, Int32) | Used to obtain the last barrier solution values following optimization that used the barrier solver.
| GetLastBarSolDjs | Get the djs values of a solution.
| GetLastBarSolDuals | Get the duals values of a solution.
| GetLastBarSolSlack | Get the slack values of a solution.
| GetLastBarSolX | Get the x values of a solution.
| GetLastError | Returns the error message corresponding to the last error encountered by a library function. (Overrides XPRSobjectGetLastError)
| GetLastError(String) | Returns the error message corresponding to the last error encountered by a library function.
| GetLB(Int32) | Convenience wrapper for GetLB(double[], int, int).
| GetLB(Int32, Int32) | Convenience wrapper for GetLB(double[], int, int).
| GetLB(Double, Int32, Int32) | Returns the lower bounds for the columns in a given range.
| GetLongAttrib(Int32) | Convenience wrapper for GetLongAttrib(int,long) that returns the output argument.
| GetLongAttrib(Int32, Int64) | Enables users to recover the values of various integer problem attributes. Problem attributes are set during loading and optimization of a problem.
| GetLongControl(Int32) | Convenience wrapper for GetLongControl(int,long) that returns the output argument.
| GetLongControl(Int32, Int64) | Enables users to recover the values of various integer control parameters
| GetLpSol | Get a solution.
| GetLpSol(Double) | Used to obtain the LP solution values following optimization.
| GetLpSol(Double, Double, Double, Double) | Used to obtain the LP solution values following optimization.
| GetLpSolDjs | Get the djs values of a solution.
| GetLpSolDuals | Get the duals values of a solution.
| GetLpSolSlack | Get the slack values of a solution.
| GetLpSolVal | Used to obtain a single LP solution value following optimization. Obsolete
| GetLpSolX | Get the x values of a solution.
| GetMessageStatus(Int32) | Convenience wrapper for GetMessageStatus(int,int) that returns the output argument.
| GetMessageStatus(Int32, Int32) | Retrieves the current suppression status of a message.
| GetMIPEntities | Get information about MIP entities and SOS.
| GetMIPEntities(Char, Int32, Double) | Retrieves integr and entity information about a problem. It must be called before mipOptimize if the presolve option is used.
| GetMIPEntities(Int32, Char, Int32, Double) | Retrieves integr and entity information about a problem. It must be called before mipOptimize if the presolve option is used.
| GetMIPEntities(Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) | Retrieves integr and entity information about a problem. It must be called before mipOptimize if the presolve option is used.
| GetMIPEntities(Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) | Retrieves integr and entity information about a problem. It must be called before mipOptimize if the presolve option is used.
| GetMipSol | Get a solution. Obsolete
| GetMipSol(Double) | Used to obtain the solution values of the last MIP solution that was found. Obsolete
| GetMipSol(Double, Double) | Used to obtain the solution values of the last MIP solution that was found. Obsolete
| GetMipSolSlack | Get the slack values of a solution. Obsolete
| GetMipSolVal | Used to obtain a single solution value of the last MIP solution that was found. Obsolete
| GetMipSolX | Get the x values of a solution. Obsolete
| GetMQObj(Int32, Int32) | Get quadratic objective matrix for range of columns.
| GetMQObj(Int32, Int32, Double, Int32, Int32, Int32) | Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. To achieve maximum efficiency, getMQObj returns the lower triangular part of this matrix only.
| GetMQObj(Int64, Int32, Double, Int64, Int32, Int32) | Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. To achieve maximum efficiency, getMQObj returns the lower triangular part of this matrix only.
| GetMQObj(Int32, Int32, Double, Int32, Int32, Int32, Int32) | Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. To achieve maximum efficiency, getMQObj returns the lower triangular part of this matrix only.
| GetMQObj(Int64, Int32, Double, Int64, Int64, Int32, Int32) | Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. To achieve maximum efficiency, getMQObj returns the lower triangular part of this matrix only.
| GetName(Int32, Int32) | Get the name of a single element.
| GetName(Namespaces, Int32) | Get the name of a single element.
| GetNameList(Int32, Int32, Int32) | Get the given row, column or set names for the given range.
| GetNameList(Int32, String, Int32, Int32) | Get the given row, column or set names for the given range.
| GetNameListObject |
| GetNames(Int32, Int32, Int32) | Get names. Retrieves names for a certain type of objects.
| GetNames(Namespaces, Int32, Int32) | Get names. Retrieves names for a certain type of objects.
| GetNames(Int32, String, Int32, Int32) | Get the given row, column or set names for the given range.
| GetNames(Namespaces, String, Int32, Int32) | Get names. Retrieves names for a certain type of objects.
| GetNlpsol | Obtain the current SLP solution values Obsolete
| GetObj(Int32) | Convenience wrapper for GetObj(double[], int, int).
| GetObj(Int32, Int32) | Convenience wrapper for GetObj(double[], int, int).
| GetObj(Double, Int32, Int32) | Returns the objective function coefficients for the columns in a given range.
| GetObjDblAttrib(Int32, Int32) | Convenience wrapper for GetObjDblAttrib(int,int,double) that returns the output argument.
| GetObjDblAttrib(Int32, Int32, Double) | Retrieves the value of a given double attribute associated with a multi-objective solve. When solving a multi-objective problem, several objectives might be optimized in sequence. After each solve, the problem attributes are captured so that they can be queried afterwards.
| GetObjDblControl(Int32, ObjControl) | Convenience wrapper for GetObjDblControl(int,ObjControl,double) that returns the output argument.
| GetObjDblControl(Int32, ObjControl, Double) | Retrieves the value of a given double control parameter associated with an objective function. These parameters control how the objective is treated during multi-objective optimization.
| GetObjectTypeName | Function to access the type name of an object referenced using the generic Optimizer object pointer XPRSobject. (Inherited from XPRSobject)
| GetObjIntAttrib(Int32, Int32) | Convenience wrapper for GetObjIntAttrib(int,int,int) that returns the output argument.
| GetObjIntAttrib(Int32, Int32, Int32) | Retrieves the value of a given integer attribute associated with a multi-objective solve. When solving a multi-objective problem, several objectives might be optimized in sequence. After each solve, the problem attributes are captured so that they can be queried afterwards.
| GetObjIntAttrib(Int32, Int32, Int64) | Retrieves the value of a given integer attribute associated with a multi-objective solve. When solving a multi-objective problem, several objectives might be optimized in sequence. After each solve, the problem attributes are captured so that they can be queried afterwards.
| GetObjIntControl(Int32, ObjControl) | Convenience wrapper for GetObjIntControl(int,ObjControl,int) that returns the output argument.
| GetObjIntControl(Int32, ObjControl, Int32) | Retrieves the value of a given integer control parameter associated with an objective. These parameters control how the objective is treated during multi-objective optimization.
| GetObjIntControl(Int32, ObjControl, Int64) | Retrieves the value of a given integer control parameter associated with an objective. These parameters control how the objective is treated during multi-objective optimization.
| GetObjLongAttrib | Convenience wrapper for GetObjIntAttrib(int,int,long) that returns the output argument.
| GetObjLongControl | Convenience wrapper for GetObjIntControl(int,ObjControl,long) that returns the output argument.
| GetObjN | For a given objective function, returns the objective coefficients for the columns in a given range.
| GetPivotOrder | Returns the pivot order of the basic variables.
| GetPivots | Returns a list of potential leaving variables if a specified variable enters the basis.
| GetPresolveBasis | Returns the current basis from memory into the user's data areas. If the problem is presolved, the presolved basis will be returned. Otherwise the original basis will be returned.
| GetPresolveMap | Returns the mapping of the row and column numbers from the presolve problem back to the original problem.
| GetPresolveSol | Get a solution.
| GetPresolveSol(Double) | Returns the solution for the presolved problem from memory.
| GetPresolveSol(Double, Double, Double, Double) | Returns the solution for the presolved problem from memory.
| GetPresolveSolDjs | Get the djs values of a solution.
| GetPresolveSolDuals | Get the duals values of a solution.
| GetPresolveSolSlack | Get the slack values of a solution.
| GetPresolveSolX | Get the x values of a solution.
| GetPrimalRay | Retrieves a primal ray (primal unbounded direction) for the current problem, if the problem is found to be unbounded.
| GetProbName | Returns the current problem name.
| GetProbName(String) | Returns the current problem name.
| GetPwlCons(Int32, Int32, Int32, Double, Double, Int32, Int32, Int32, Int32) | Returns the piecewise linear constraints y = f(x) in a given range.
| GetPwlCons(Int32, Int32, Int64, Double, Double, Int64, Int64, Int32, Int32) | Returns the piecewise linear constraints y = f(x) in a given range.
| GetPWLName | Get a PWL constraint name.
| GetPWLNames | Get names of PWL constraints.
| GetQObj(Int32, Int32) | Convenience wrapper for GetQObj(int,int,double) that returns the output argument.
| GetQObj(Int32, Int32, Double) | Returns a single quadratic objective function coefficient corresponding to the variable pair (objqcol1, objqcol2) of the Hessian matrix.
| GetQRowCoeff(Int32, Int32, Int32) | Convenience wrapper for GetQRowCoeff(int,int,int,double) that returns the output argument.
| GetQRowCoeff(Int32, Int32, Int32, Double) | Returns a single quadratic constraint coefficient corresponding to the variable pair (rowqcol1, rowqcol2) of the Hessian of a given constraint.
| GetQRowQMatrix(Int32, Int32, Int32, Double, Int32, Int32, Int32) | Returns the nonzeros in a quadratic constraint coefficients matrix for the columns in a given range. To achieve maximum efficiency, getQRowQMatrix returns the lower triangular part of this matrix only.
| GetQRowQMatrix(Int32, Int32, Int32, Double, Int32, Int32, Int32, Int32) | Returns the nonzeros in a quadratic constraint coefficients matrix for the columns in a given range. To achieve maximum efficiency, getQRowQMatrix returns the lower triangular part of this matrix only.
| GetQRowQMatrixTriplets(Int32, Int32, Int32, Double) | Returns the nonzeros in a quadratic constraint coefficients matrix as triplets (index pairs with coefficients). To achieve maximum efficiency, getQRowQMatrixTriplets returns the lower triangular part of this matrix only.
| GetQRowQMatrixTriplets(Int32, Int32, Int32, Int32, Double) | Returns the nonzeros in a quadratic constraint coefficients matrix as triplets (index pairs with coefficients). To achieve maximum efficiency, getQRowQMatrixTriplets returns the lower triangular part of this matrix only.
| GetQRows | Returns the list indices of the rows that have quadratic coefficients.
| GetQRows(Int32) | Returns the list indices of the rows that have quadratic coefficients.
| GetQRows(Int32, Int32) | Returns the list indices of the rows that have quadratic coefficients.
| GetRedCost(Int32) | Convenience wrapper for int(out GetRedCosts, double[], int, int) that queries only a single value.
| GetRedCost(Int32, Int32) | Convenience wrapper for int(out GetRedCosts, double[], int, int) that queries only a single value.
| GetRedCosts | Convenience wrapper for int(out GetRedCosts, double[], int, int) that allocates the output array and queries all elements.
| GetRedCosts(Int32) | Convenience wrapper for GetRedCosts(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetRedCosts(Int32, Int32) | Convenience wrapper for int(out GetRedCosts, double[], int, int) that allocates the output array.
| GetRedCosts(Int32, Int32, Int32) | Convenience wrapper for int(out GetRedCosts, double[], int, int) that allocates the output array.
| GetRedCosts(Int32, Double, Int32, Int32) | Returns the reduced costs from the incumbent solution during or after optimization of a continuous problem with optimize, lpOptimize or nlpOptimize.
| GetRHS(Int32) | Convenience wrapper for GetRHS(double[], int, int).
| GetRHS(Int32, Int32) | Convenience wrapper for GetRHS(double[], int, int).
| GetRHS(Double, Int32, Int32) | Returns the right hand side elements for the rows in a given range.
| GetRHSRange(Int32) | Convenience wrapper for GetRHSRange(double[], int, int).
| GetRHSRange(Int32, Int32) | Convenience wrapper for GetRHSRange(double[], int, int).
| GetRHSRange(Double, Int32, Int32) | Returns the right hand side range values for the rows in a given range.
| GetRowFlags(Int32) | Convenience wrapper for GetRowFlags(int[], int, int).
| GetRowFlags(Int32, Int32) | Convenience wrapper for GetRowFlags(int[], int, int).
| GetRowFlags(Int32, Int32, Int32) | Retrieve if a range of rows have been set up as special rows.
| GetRowName | Get a row name.
| GetRowNames | Get names of rows.
| GetRows(Int32, Int32) | Get range of rows.
| GetRows(Int32, Int32, Double, Int32, Int32, Int32) | Returns the nonzeros in the constraint matrix for the rows in a given range.
| GetRows(Int64, Int32, Double, Int64, Int32, Int32) | Returns the nonzeros in the constraint matrix for the rows in a given range.
| GetRows(Int32, Int32, Double, Int32, Int32, Int32, Int32) | Returns the nonzeros in the constraint matrix for the rows in a given range.
| GetRows(Int64, Int32, Double, Int64, Int64, Int32, Int32) | Returns the nonzeros in the constraint matrix for the rows in a given range.
| GetRowType(Int32) | Convenience wrapper for GetRowType(char[], int, int).
| GetRowType(Int32, Int32) | Convenience wrapper for GetRowType(char[], int, int).
| GetRowType(Char, Int32, Int32) | Returns the row types for the rows in a given range.
| GetScale | Returns the the current scaling of the matrix.
| GetScaledInfeas | Returns a list primal and dual variables that are infeasible for the scaled original problem. If the problem is currently presolved, it is postsolved before the function returns.
| GetSetDefinitions | Get information about SOS.
| GetSetName | Get a Set (SOS) name.
| GetSetNames | Get names of Sets (SOS).
| GetSets | Get information about SOS. Obsolete
| GetSlack(Int32) | Convenience wrapper for int(out GetSlacks, double[], int, int) that queries only a single value.
| GetSlack(Int32, Int32) | Convenience wrapper for int(out GetSlacks, double[], int, int) that queries only a single value.
| GetSlacks | Convenience wrapper for int(out GetSlacks, double[], int, int) that allocates the output array and queries all elements.
| GetSlacks(Int32) | Convenience wrapper for GetSlacks(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetSlacks(Int32, Int32) | Convenience wrapper for int(out GetSlacks, double[], int, int) that allocates the output array.
| GetSlacks(Int32, Int32, Int32) | Convenience wrapper for int(out GetSlacks, double[], int, int) that allocates the output array.
| GetSlacks(Int32, Double, Int32, Int32) | Returns the slack values from the incumbent solution during or after optimization with optimize, mipOptimize, lpOptimize or nlpOptimize.
| GetSolDjs | Get the djs values of a solution. Obsolete
| GetSolDuals | Get the duals values of a solution. Obsolete
| GetSolSlack | Get the slack values of a solution. Obsolete
| GetSolution | Convenience wrapper for int(out GetSolution, double[], int, int) that allocates the output array and queries all elements.
| GetSolution(Int32) | Convenience wrapper for int(out GetSolution, double[], int, int) that queries only a single value.
| GetSolution(Int32) | Convenience wrapper for GetSolution(IntHolder, double[], int, int) that allocates the output array and queries all elements.
| GetSolution(Int32, Int32) | Convenience wrapper for int(out GetSolution, double[], int, int) that allocates the output array.
| GetSolution(Int32, Int32) | Convenience wrapper for int(out GetSolution, double[], int, int) that queries only a single value.
| GetSolution(Int32, Int32, Int32) | Convenience wrapper for int(out GetSolution, double[], int, int) that allocates the output array.
| GetSolution(Int32, Double, Int32, Int32) | Returns the incumbent solution during or after optimization with optimize, mipOptimize, lpOptimize or nlpOptimize.
| GetSolX | Get the x values of a solution. Obsolete
| GetStrAttrib(Int32) | Get the current value of a string attribute
| GetStrAttrib(Int32, String) | Get the current value of a string attribute
| GetStrControl(Int32) | Get the current value of a string control
| GetStrControl(Int32, String) | Get the current value of a string control
| GetStringControl | Returns the value of a given string control parameters.
| GetStrStringAttrib | Enables users to recover the values of various string problem attributes. Problem attributes are set during loading and optimization of a problem.
| GetType | Gets the Type of the current instance. (Inherited from Object)
| GetUB(Int32) | Convenience wrapper for GetUB(double[], int, int).
| GetUB(Int32, Int32) | Convenience wrapper for GetUB(double[], int, int).
| GetUB(Double, Int32, Int32) | Returns the upper bounds for the columns in a given range.
| GetUnbVec | Convenience wrapper for GetUnbVec(int) that returns the output argument.
| GetUnbVec(Int32) | Returns the index vector which causes the primal simplex or dual simplex algorithm to determine that a matrix is primal or dual unbounded respectively.
| IISAll | Performs an automated search for independent Irreducible Infeasible Sets (IIS) in an infeasible problem.
| IISIsolations | Performs the isolation identification procedure for an Irreducible Infeasible Set (IIS). This function applies only to linear problems.
| IISStatus | Get the IIS status.
| IISStatus(Int32, Int32, Int32, Double, Int32) | Returns statistics on the Irreducible Infeasible Sets (IIS) found so far by firstIIS (IIS), nextIIS (IIS-n) or iISAll (IIS-a).
| Interrupt | Interrupts the Optimizer algorithms.
| Interrupt(StopType) | Interrupts the Optimizer algorithms.
| IntVar | Create a new integer variable with default bounds [0, infinity]. Obsolete
| IntVar(String) | Create a new integer variable with default bounds [0, infinity] and a specified name. Obsolete
| IntVar(Double, Double) | Create a new integer variable with specified bounds. Obsolete
| IntVar(Double, Double, String) | Create a new integer variable with specified bounds and name. Obsolete
| IntVarArray(Int32, Double, Double, FuncInt32, String) | Create an array of integer variables. All the variables created by this function have the same types and bounds. Obsolete
| IntVarArray(Int32, Double, Double, String) | Create an array of integer variables. Obsolete
| IntVarArray(Int32, FuncInt32, Double, FuncInt32, Double, FuncInt32, String) | Create an array of integer variables. Obsolete
| IntVarArrayT(ICollectionT, Double, Double, FuncT, String) | Create an array of integer variables. All the variables created by this function have the same types and bounds. The function will create one variable for each of the objects listed in objs. Obsolete
| IntVarArrayT(ICollectionT, FuncT, Double, FuncT, Double, FuncT, String) | Create an array of integer variables. The function will create one variable for each of the objects listed in objs. Obsolete
| IntVarMapT(ICollectionT, FuncT, Double, FuncT, Double, FuncT, String) | Create a map of integer variables. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it. Obsolete
| IntVarMapT(ICollectionT, FuncT, Double, FuncT, Double, FuncT, String, IDictionaryT, Int32) | Create a map of integer variables. The function creates a new variable for each object in objs. For each object o it puts the Pair (o, idx) into map where idx is the index of the variable that was created for o. Obsolete
| LoadBasis | Loads a basis from the user's areas.
| LoadBranchDirs(Int32, Int32) | Convenience wrapper for LoadBranchDirs(int, int[], int[]).
| LoadBranchDirs(Int32, Int32, Int32) | Loads directives into the current problem to specify which MIP entities the Optimizer should continue to branch on when a node solution is integer feasible.
| LoadCuts(Int32, Cut) | Loads cuts from the cut pool into the matrix. Without calling loadCuts the cuts will remain in the cut pool but will not be active at the node. Cuts loaded at a node remain active at all descendant nodes unless they are deleted using delCuts.
| LoadCuts(Int32, Int32) | Loads cuts from the cut pool into the matrix. Without calling loadCuts the cuts will remain in the cut pool but will not be active at the node. Cuts loaded at a node remain active at all descendant nodes unless they are deleted using delCuts.
| LoadCuts(Int32, Int32, Int32, Cut) | Loads cuts from the cut pool into the matrix. Without calling loadCuts the cuts will remain in the cut pool but will not be active at the node. Cuts loaded at a node remain active at all descendant nodes unless they are deleted using delCuts.
| LoadDelayedRows | Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search. These are rows that must be satisfied for any integer solution, but will not be loaded into the active set of constraints until required.
| LoadDirs | Loads directives into the matrix.
| LoadGlobal(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) | Obsolete
| LoadGlobal(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) | Obsolete
| LoadLP(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double) | Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file.
| LoadLP(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double) | Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file.
| LoadLPSol(Double, Double, Double, Double) | Convenience wrapper for LoadLPSol(double[],double[],double[],double[],int) that returns the output argument.
| LoadLPSol(Double, Double, Double, Double, Int32) | Loads an LP solution for the problem into the Optimizer.
| LoadMIP(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) | Used to load a MIP problem into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
| LoadMIP(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) | Used to load a MIP problem into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
| LoadMipSol(Double) | Convenience wrapper for LoadMipSol(double[],int) that returns the output argument.
| LoadMipSol(Double, Int32) | Loads a starting MIP solution for the problem into the Optimizer.
| LoadMIQCQP(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Int32, Double, Int32, Int32, Int32, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) | Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
| LoadMIQCQP(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int64, Int32, Int32, Double, Int32, Int32, Int64, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) | Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
| LoadMIQP(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) | Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
| LoadMIQP(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int64, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) | Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
| LoadModelCuts | Specifies that a set of rows in the matrix will be treated as model cuts.
| LoadPresolveBasis | Loads a presolved basis from the user's areas.
| LoadPresolveDirs | Loads directives into the presolved matrix.
| LoadQCQP(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Int32, Double, Int32, Int32, Int32, Int32, Int32, Double) | Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints.
| LoadQCQP(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int64, Int32, Int32, Double, Int32, Int32, Int64, Int32, Int32, Double) | Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints.
| LoadQCQPGlobal(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Int32, Double, Int32, Int32, Int32, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) | Obsolete
| LoadQCQPGlobal(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int64, Int32, Int32, Double, Int32, Int32, Int64, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) | Obsolete
| LoadQGlobal(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) | Obsolete
| LoadQGlobal(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int64, Int32, Int32, Double, Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) | Obsolete
| LoadQP(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Int32, Double) | Used to load a quadratic problem into the Optimizer data structure. Such a problem may have quadratic terms in its objective function, although not in its constraints.
| LoadQP(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int64, Int32, Int32, Double) | Used to load a quadratic problem into the Optimizer data structure. Such a problem may have quadratic terms in its objective function, although not in its constraints.
| LoadSecureVecs | Allows the user to mark rows and columns in order to prevent the presolve removing these rows and columns from the matrix.
| LpOptimize | This function begins a search for the optimal continuous (LP) solution. The direction of optimization is given by OBJSENSE. The status of the problem when the function completes can be checked using LPSTATUS. Any MIP entities in the problem will be ignored.
| LpOptimize(String) | This function begins a search for the optimal continuous (LP) solution. The direction of optimization is given by OBJSENSE. The status of the problem when the function completes can be checked using LPSTATUS. Any MIP entities in the problem will be ignored.
| Maxim | Begins a search for the optimal LP solution. Obsolete
| Maxim(String) | Begins a search for the optimal LP solution. Obsolete
| MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object)
| Minim | Begins a search for the optimal LP solution. Obsolete
| Minim(String) | Begins a search for the optimal LP solution. Obsolete
| MipOptimize | This function begins a tree search for the optimal MIP solution. The direction of optimization is given by OBJSENSE. The status of the problem when the function completes can be checked using MIPSTATUS.
| MipOptimize(String) | This function begins a tree search for the optimal MIP solution. The direction of optimization is given by OBJSENSE. The status of the problem when the function completes can be checked using MIPSTATUS.
| MsAddCustomPreset | A combined version of XSLPmsaddjob and XSLPmsaddpreset. The preset described is loaded, topped up with the specific settings supplied
| MsAddJob | Adds a multistart job to the multistart pool
| MsAddPreset | Loads a preset of jobs into the multistart job pool.
| MsClear | Removes all scheduled jobs from the multistart job pool
| NextIIS | Convenience wrapper for NextIIS(int) that returns the output argument.
| NextIIS(Int32) | Continues the search for further Irreducible Infeasible Sets (IIS), or calls firstIIS (IIS) if no IIS has been identified yet.
| NlpAddFormulas | Add non-linear formulas to the SLP problem.
| NlpCalcSlacks | Calculate the slack values for the provided solution in the non-linear problem
| NlpChgFormula | Add or replace a single matrix formula using a parsed or unparsed formula
| NlpChgFormulaStr | Add or replace a single matrix formula using a character string for the formula.
| NlpChgFormulaString | Add or replace a single matrix formula using a character string for the formula. Obsolete
| NlpCurrentIV | Transfer the current solution to initial values
| NlpDelFormulas | Delete nonlinear formulas from the current problem
| NlpDelUserFunction | Delete a user function from the current problem
| NlpEvaluateFormula(Int32, Int32, Double) | Convenience wrapper for NlpEvaluateFormula(int,int[],double[],double) that returns the output argument.
| NlpEvaluateFormula(Int32, Int32, Double, Double) | Evaluate a formula using the current values of the variables
| NlpGetFormula | Retrieve a single matrix formula as a formula split into tokens.
| NlpGetFormulaRows | Retrieve the list of positions of the nonlinear formulas in the problem
| NlpGetFormulaStr | Retrieve a single matrix formula in a character string.
| NlpGetFormulaString | Retrieve a single matrix formula in a character string. Obsolete
| NlpImportLibFunc | Imports a function from a library file to be called as a user function
| NlpLoadFormulas | Load non-linear formulas into the SLP problem
| NlpOptimize | Maximize or minimize an SLP problem
| NlpPostsolveProb | Restores the problem to its pre-solve state
| NlpPrintEvalInfo | Print a summary of any evaluation errors that may have occurred during solving a problem
| NlpSetFunctionError | Set the function error flag for the problem
| NlpSetInitVal(Int32, Double) | Convenience wrapper for NlpSetInitVal(int, int[], double[]).
| NlpSetInitVal(Int32, Int32, Double) | Set the initial value of columns
| NlpValidate | Validate the feasibility of constraints in a converged solution
| NlpValidateKKT | Validates the first order optimality conditions also known as the Karush-Kuhn-Tucker (KKT) conditions versus the currect solution
| NlpValidateRow | Prints an extensive analysis on a given constraint of the SLP problem
| NlpValidateVector | Validate the feasibility of constraints for a given solution
| Objsa | Obsolete
| ObjSA | Returns upper and lower sensitivity ranges for specified objective function coefficients. If the objective coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
| Optimize | Convenience wrapper for [!:.Optimize(string , out int, out int)]. This function calls optimize with default arguments and returns the solve status. The solution status is not returned and must be queried explicitly afterwards using the corresponding attribute. See the documentation of the overloaded function for more details.
| Optimize(String) | Convenience wrapper for [!:.Optimize(string , out int, out int)]. This function calls optimize with the specified flags and returns the solve status. The solution status is not returned and must be queried explicitly afterwards using the corresponding attribute. See the documentation of the overloaded function for more details.
| Optimize(String, Int32, Int32) | This function begins a search for the optimal solution of the problem. The direction of optimization is given by OBJSENSE.
| Pivot | Performs a simplex pivot by bringing variable enter into the basis and removing leave.
| PostSolve | Postsolve the current matrix when it is in a presolved state.
| PostSolveSol | Postsolves a primal solution formulated in the presolved space into the corresponding solution formulated in the input space. The problem itself is unchanged.
| PresolveRow(XPRSprobRowInfo) | Presolve a row. The function transforms a row that is given in terms of the original model to a row that is given in terms of the presolved model.
| PresolveRow(Int32, Double, Char, Double) | Presolve a row. The function transforms a row that is given in terms of the original model to a row that is given in terms of the presolved model.
| PresolveRow(Char, Int32, Int32, Double, Double, Int32, Int32, Int32, Double, Double, Int32) | Presolves a row formulated in terms of the original variables such that it can be added to a presolved matrix.
| PresolveSol | Presolves a primal solution formulated in the input space into the corresponding solution formulated in the presolved space. The problem itself is unchanged.
| PrintIIS | Prints a given Irreducible Infeasible Set (IIS) in the log. If 0 is passed as the IIS number parameter, the initial infeasible subproblem is printed.
| ReadBasis | Instructs the Optimizer to read in a previously saved basis from a file.
| ReadBasis(String) | Instructs the Optimizer to read in a previously saved basis from a file.
| ReadBasis(String, String) | Instructs the Optimizer to read in a previously saved basis from a file.
| ReadBinSol | Reads a solution from a binary solution file.
| ReadBinSol(String) | Reads a solution from a binary solution file.
| ReadBinSol(String, String) | Reads a solution from a binary solution file.
| ReadDirs | Reads a directives file to help direct the tree search.
| ReadDirs(String) | Reads a directives file to help direct the tree search.
| ReadProb(String) | Reads an (X)MPS or LP format matrix from file.
| ReadProb(String, String) | Reads an (X)MPS or LP format matrix from file.
| ReadSlxSol | Reads an ASCII solution file [.slx] created by the writeSlxSol function.
| ReadSlxSol(String) | Reads an ASCII solution file [.slx] created by the writeSlxSol function.
| ReadSlxSol(String, String) | Reads an ASCII solution file [.slx] created by the writeSlxSol function.
| RemoveAfterObjectiveCallback | Remove AfterObjective callback.
| RemoveAfterObjectiveCallbacks | Remove all AfterObjective callbacks.
| RemoveBarIterationCallback | Remove BarIteration callback.
| RemoveBarIterationCallbacks | Remove all BarIteration callbacks.
| RemoveBarlogCallback | Remove Barlog callback.
| RemoveBarlogCallbacks | Remove all Barlog callbacks.
| RemoveBeforeObjectiveCallback | Remove BeforeObjective callback.
| RemoveBeforeObjectiveCallbacks | Remove all BeforeObjective callbacks.
| RemoveChangeBranchObjectCallback | Remove ChangeBranchObject callback.
| RemoveChangeBranchObjectCallbacks | Remove all ChangeBranchObject callbacks.
| RemoveCheckTimeCallback | Remove CheckTime callback.
| RemoveCheckTimeCallbacks | Remove all CheckTime callbacks.
| RemoveComputeRestartCallback | Remove ComputeRestart callback.
| RemoveComputeRestartCallbacks | Remove all ComputeRestart callbacks.
| RemoveCutlogCallback | Remove Cutlog callback.
| RemoveCutlogCallbacks | Remove all Cutlog callbacks.
| RemoveCutRoundCallback | Remove CutRound callback.
| RemoveCutRoundCallbacks | Remove all CutRound callbacks.
| RemoveGapNotifyCallback | Remove GapNotify callback.
| RemoveGapNotifyCallbacks | Remove all GapNotify callbacks.
| RemoveInfnodeCallback | Remove Infnode callback.
| RemoveInfnodeCallbacks | Remove all Infnode callbacks.
| RemoveIntsolCallback | Remove Intsol callback.
| RemoveIntsolCallbacks | Remove all Intsol callbacks.
| RemoveLplogCallback | Remove Lplog callback.
| RemoveLplogCallbacks | Remove all Lplog callbacks.
| RemoveMessageCallback | Remove Message callback.
| RemoveMessageCallbacks | Remove all Message callbacks.
| RemoveMiplogCallback | Remove Miplog callback.
| RemoveMiplogCallbacks | Remove all Miplog callbacks.
| RemoveMipThreadCallback | Remove MipThread callback.
| RemoveMipThreadCallbacks | Remove all MipThread callbacks.
| RemoveMipThreadDestroyCallback | Remove MipThreadDestroy callback.
| RemoveMipThreadDestroyCallbacks | Remove all MipThreadDestroy callbacks.
| RemoveMsgHandlerCallback | Remove MsgHandler callback. (Overrides XPRSobjectRemoveMsgHandlerCallback(MsgHandlerCallback))
| RemoveMsgHandlerCallbacks | Remove all MsgHandler callbacks. (Overrides XPRSobjectRemoveMsgHandlerCallbacks)
| RemoveMsJobEndCallback | Remove MsJobEnd callback.
| RemoveMsJobEndCallbacks | Remove all MsJobEnd callbacks.
| RemoveMsJobStartCallback | Remove MsJobStart callback.
| RemoveMsJobStartCallbacks | Remove all MsJobStart callbacks.
| RemoveMsWinnerCallback | Remove MsWinner callback.
| RemoveMsWinnerCallbacks | Remove all MsWinner callbacks.
| RemoveNewnodeCallback | Remove Newnode callback.
| RemoveNewnodeCallbacks | Remove all Newnode callbacks.
| RemoveNlpCoefEvalErrorCallback | Remove NlpCoefEvalError callback.
| RemoveNlpCoefEvalErrorCallbacks | Remove all NlpCoefEvalError callbacks.
| RemoveNodecutoffCallback | Remove Nodecutoff callback.
| RemoveNodecutoffCallbacks | Remove all Nodecutoff callbacks.
| RemoveNodeLPSolvedCallback | Remove NodeLPSolved callback.
| RemoveNodeLPSolvedCallbacks | Remove all NodeLPSolved callbacks.
| RemoveOptnodeCallback | Remove Optnode callback.
| RemoveOptnodeCallbacks | Remove all Optnode callbacks.
| RemovePreIntsolCallback | Remove PreIntsol callback.
| RemovePreIntsolCallbacks | Remove all PreIntsol callbacks.
| RemovePrenodeCallback | Remove Prenode callback.
| RemovePrenodeCallbacks | Remove all Prenode callbacks.
| RemovePresolveCallback | Remove Presolve callback.
| RemovePresolveCallbacks | Remove all Presolve callbacks.
| RemoveSlpCascadeEndCallback | Remove SlpCascadeEnd callback.
| RemoveSlpCascadeEndCallbacks | Remove all SlpCascadeEnd callbacks.
| RemoveSlpCascadeStartCallback | Remove SlpCascadeStart callback.
| RemoveSlpCascadeStartCallbacks | Remove all SlpCascadeStart callbacks.
| RemoveSlpCascadeVarCallback | Remove SlpCascadeVar callback.
| RemoveSlpCascadeVarCallbacks | Remove all SlpCascadeVar callbacks.
| RemoveSlpCascadeVarFailCallback | Remove SlpCascadeVarFail callback.
| RemoveSlpCascadeVarFailCallbacks | Remove all SlpCascadeVarFail callbacks.
| RemoveSlpConstructCallback | Remove SlpConstruct callback.
| RemoveSlpConstructCallbacks | Remove all SlpConstruct callbacks.
| RemoveSlpDrColCallback | Remove SlpDrCol callback.
| RemoveSlpDrColCallbacks | Remove all SlpDrCol callbacks.
| RemoveSlpIntSolCallback | Remove SlpIntSol callback.
| RemoveSlpIntSolCallbacks | Remove all SlpIntSol callbacks.
| RemoveSlpIterEndCallback | Remove SlpIterEnd callback.
| RemoveSlpIterEndCallbacks | Remove all SlpIterEnd callbacks.
| RemoveSlpIterStartCallback | Remove SlpIterStart callback.
| RemoveSlpIterStartCallbacks | Remove all SlpIterStart callbacks.
| RemoveSlpIterVarCallback | Remove SlpIterVar callback.
| RemoveSlpIterVarCallbacks | Remove all SlpIterVar callbacks.
| RemoveSlpPreUpdateLinearizationCallback | Remove SlpPreUpdateLinearization callback.
| RemoveSlpPreUpdateLinearizationCallbacks | Remove all SlpPreUpdateLinearization callbacks.
| RemoveUserSolNotifyCallback | Remove UserSolNotify callback.
| RemoveUserSolNotifyCallbacks | Remove all UserSolNotify callbacks.
| RepairInfeas(Char, Char, Char, Double, Double, Double, Double, Double) | Convenience wrapper for RepairInfeas(int,char,char,char,double,double,double,double,double) that returns the output argument.
| RepairInfeas(Int32, Char, Char, Char, Double, Double, Double, Double, Double) | Provides a simplified interface for repairWeightedInfeas.
| RepairWeightedInfeas(Double, Double, Double, Double, Char, Double, String) | Convenience wrapper for RepairWeightedInfeas(int,double[],double[],double[],double[],char,double,string) that returns the output argument.
| RepairWeightedInfeas(Int32, Double, Double, Double, Double, Char, Double, String) | By relaxing a set of selected constraints and bounds of an infeasible problem, it attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds. Among such solution candidates, it selects one that is optimal regarding the original objective function.
| RepairWeightedInfeasBounds(Double, Double, Double, Double, Double, Double, Double, Double, Char, Double, String) | Convenience wrapper for RepairWeightedInfeasBounds(int,double[],double[],double[],double[],double[],double[],double[],double[],char,double,string) that returns the output argument.
| RepairWeightedInfeasBounds(Int32, Double, Double, Double, Double, Double, Double, Double, Double, Char, Double, String) | An extended version of repairWeightedInfeas that allows for bounding the level of relaxation allowed.
| Restore | Restores the Optimizer's data structures from a file created by saveAs (SAVE). Optimization may then recommence from the point at which the file was created.
| Restore(String) | Restores the Optimizer's data structures from a file created by saveAs (SAVE). Optimization may then recommence from the point at which the file was created.
| Restore(String, String) | Restores the Optimizer's data structures from a file created by saveAs (SAVE). Optimization may then recommence from the point at which the file was created.
| RhsSA | Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients. If the RHS coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
| RHSsa | Obsolete
| RowTypeToArray | Convert a column type array to an array of low-level type indicators.
| Save | Saves the current data structures, i.e. matrices, control settings and problem attribute settings to file and terminates the run so that optimization can be resumed later.
| SaveAs | Saves the current data structures, i.e. matrices, control settings and problem attribute settings to file and terminates the run so that optimization can be resumed later.
| Scale | Re-scales the current matrix.
| SetDblControl | Sets the value of a given double control parameter.
| SetDefaultControl | Set a default control value.
| SetDefaults | Sets all controls to their default values.
| SetIndicator | Add a single indicator constraint.
| SetIndicators | Specifies that a set of rows in the matrix will be treated as indicator constraints during a tree search. An indicator constraint is made of a condition and a constraint. The condition is of the type "bin = value", where bin is a binary variable and value is either 0 or 1. The constraint is any matrix row (may be linear, quadratic or general nonlinear). During tree search, a row configured as an indicator constraint is enforced only when condition holds, that is only if the indicator variable bin has the specified value. Note that every row may only get assigned a single indicator variable and term. If a row needs to be activated by multiple different terms, the row needs to be duplicated so that each term can be assigned to a distinct row. If the indicator variable should be changed, the old term needs to be deleted first (by calling delIndicators or by calling this function with a comps argument of 0) before assigning a new one.
| SetIntControl | Sets the value of a given integer control parameter.
| SetLogFile | This directs all Optimizer output to a log file.
| SetLongControl | Sets the value of a given integer control parameter.
| SetMessageStatus | Manages suppression of messages.
| SetObjDblControl | Sets the value of an double control parameter associated with an objective. These control values will only be applied when solving the given objective during multi-objective optimization.
| SetObjective(Int32, Double) | Set objective to a linear function. Any previously set objective will be cleared.
| SetObjective(Int32, Double, ObjSense) | Set objective to a linear function. Any previously set objective will be cleared.
| SetObjIntControl(Int32, ObjControl, Int32) | Sets the value of an integer control parameter associated with an objective. These control values will only be applied when solving the given objective during multi-objective optimization.
| SetObjIntControl(Int32, ObjControl, Int64) | Sets the value of an integer control parameter associated with an objective. These control values will only be applied when solving the given objective during multi-objective optimization.
| SetProbName | Sets the current problem name.
| SetStrControl | Used to set the value of a given string control parameter.
| SlpAddCoefs | Add non-linear coefficients to the SLP problem. For a simpler version of this function see XSLPaddformulas.
| SlpCascadeOrder | Establish a re-calculation sequence for SLP variables with determining rows.
| SlpCascadeSol | Re-calculate consistent values for SLP variables based on the current values of the remaining variables.
| SlpChgCascadeNLimit | Set a variable specific cascade iteration limit
| SlpChgCCoef | Add or change a single matrix coefficient using a character string for the formula. For a simpler version of this function see nlpChgFormulaStr. Obsolete
| SlpChgCoef | Add or change a single matrix coefficient using a parsed or unparsed formula. For a simpler version of this function see XSLPchgformula.
| SlpChgCoefStr | Add or change a single matrix coefficient using a character string for the formula. For a simpler version of this function see nlpChgFormulaStr.
| SlpChgDeltaType | Changes the type of the delta assigned to a nonlinear variable
| SlpChgRowStatus | Change the status setting of a constraint
| SlpChgRowWt | Set or change the initial penalty error weight for a row
| SlpConstruct | Create the full augmented SLP matrix and data structures, ready for optimization
| SlpDelCoefs(Int32, Int32) | Convenience wrapper for SlpDelCoefs(int, int[], int[]).
| SlpDelCoefs(Int32, Int32, Int32) | Delete coefficients from the current problem. For a simpler version of this function see XSLPdelformulas.
| SlpEvaluateCoef(Int32, Int32) | Convenience wrapper for SlpEvaluateCoef(int,int,double) that returns the output argument.
| SlpEvaluateCoef(Int32, Int32, Double) | Evaluate a coefficient using the current values of the variables
| SlpFixPenalties | Fixe the values of the error vectors
| SlpGetCCoef | Retrieve a single matrix coefficient as a formula in a character string. For a simpler version of this function see nlpGetFormulaStr. Obsolete
| SlpGetCoefFormula | Retrieve a single matrix coefficient as a formula split into tokens. For a simpler version of this function see XSLPgetformula.
| SlpGetCoefs | Retrieve the list of positions of the nonlinear coefficients in the problem. For a simpler version of this function see XSLPgetformularows.
| SlpGetCoefStr | Retrieve a single matrix coefficient as a formula in a character string. For a simpler version of this function see nlpGetFormulaStr.
| SlpGetRowStatus(Int32) | Convenience wrapper for SlpGetRowStatus(int,int) that returns the output argument.
| SlpGetRowStatus(Int32, Int32) | Retrieve the status setting of a constraint
| SlpGetRowWT(Int32) | Convenience wrapper for SlpGetRowWT(int,double) that returns the output argument.
| SlpGetRowWT(Int32, Double) | Get the initial penalty error weight for a row
| SlpLoadCoefs | Load non-linear coefficients into the SLP problem. For a simpler version of this function see XSLPloadformulas.
| SlpReInitialize | Reset the SLP problem to match a just augmented system
| SlpSetDetRow(Int32, Int32) | Convenience wrapper for SlpSetDetRow(int, int[], int[]).
| SlpSetDetRow(Int32, Int32, Int32) | Set the determining row of a variable
| SlpSetInitStepBounds(Int32, Double) | Convenience wrapper for SlpSetInitStepBounds(int, int[], double[]).
| SlpSetInitStepBounds(Int32, Int32, Double) | Set the initial step bounds of columns
| SlpUnConstruct | Removes the augmentation and returns the problem to its pre-linearization state
| SlpUpdateLinearization | Updates the current linearization
| SparseBTran | Post-multiplies a (row) vector provided by the user by the inverse of the current matrix. Sparse version of bTran.
| SparseFTran | Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix. Sparse version of fTran.
| StoreCuts(Int32, Int32, Int32, Char, Double, Int32, Cut, Int32, Double) | Stores cuts into the cut pool, but does not apply them to the current node. These cuts must be explicitly loaded into the matrix using loadCuts before they become active.
| StoreCuts(Int32, Int32, Int32, Char, Double, Int64, Cut, Int32, Double) | Stores cuts into the cut pool, but does not apply them to the current node. These cuts must be explicitly loaded into the matrix using loadCuts before they become active.
| StrongBranch | Performs strong branching iterations on all specified bound changes. For each candidate bound change, strongBranch performs dual simplex iterations starting from the current optimal solution of the base LP, and returns both the status and objective value reached after these iterations.
| StrongBranchCB | Performs strong branching iterations on all specified bound changes. For each candidate bound change, strongBranchCB performs dual simplex iterations starting from the current optimal solution of the base LP, and returns both the status and objective value reached after these iterations.
| ToString | Returns a string that represents the current object. (Inherited from Object)
| TriggerRestart | Convenience wrapper for TriggerRestart(int) that returns the output argument.
| TriggerRestart(Int32) | Triggers a restart of the MIP search process.
| Tune | This function begins a tuner session for the current problem. The tuner will solve the problem multiple times while evaluating a list of control settings and promising combinations of them. When finished, the tuner will select and set the best control setting on the problem. Note that the direction of optimization is given by OBJSENSE.
| TuneProbSetFile | This function begins a tuner session for a set of problems. The tuner will solve the problems multiple times while evaluating a list of control settings and promising combinations of them. When finished, the tuner will select and set the best control setting on the problems.
| TunerReadMethod | This function loads a user defined tuner method from the given file.
| TunerWriteMethod | This function writes the current tuner method to a given file or prints it to the console.
| UnloadProb | Unloads and frees all memory associated with the current problem. It also invalidates the current problem (as opposed to reading in an empty problem). Obsolete
| VarArray(Char, Int32, Double, Double, FuncInt32, String) | Create an array of variables with the same type. All the variables created by this function have the same types and bounds. Obsolete
| VarArray(Char, Int32, Double, Double, String) | Create an array of variables with the same type. Obsolete
| VarArray(Char, Int32, FuncInt32, Double, FuncInt32, Double, FuncInt32, String) | Create an array of variables with the same type. Obsolete
| VarArrayT(Char, ICollectionT, Double, Double, FuncT, String) | Create an array of variables with the same type. All the variables created by this function have the same types and bounds. The function will create one variable for each of the objects listed in objs. Obsolete
| VarArrayT(Char, ICollectionT, FuncT, Double, FuncT, Double, FuncT, String) | Create an array of variables with the same type. The function will create one variable for each of the objects listed in objs. Obsolete
| VarMapT(Char, ICollectionT, FuncT, Double, FuncT, Double, FuncT, String) | Create a map of variables that all have the same type. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it. Obsolete
| VarMapT(Char, ICollectionT, FuncT, Double, FuncT, Double, FuncT, String, IDictionaryT, Int32) | Create a map of variables that all have the same type. The function creates a new variable for each object in objs. For each object o it puts the Pair (o, idx) into map where idx is the index of the variable that was created for o. Obsolete
| WriteBasis | Writes the current basis to a file for later input into the Optimizer.
| WriteBasis(String) | Writes the current basis to a file for later input into the Optimizer.
| WriteBasis(String, String) | Writes the current basis to a file for later input into the Optimizer.
| WriteBinSol | Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
| WriteBinSol(String) | Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
| WriteBinSol(String, String) | Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
| WriteDirs | Writes the tree search directives from the current problem to a directives file.
| WriteDirs(String) | Writes the tree search directives from the current problem to a directives file.
| WriteIIS(Int32, String, Int32) | Writes an LP/MPS/CSV file containing a given Irreducible Infeasible Set (IIS). If 0 is passed as the IIS number parameter, the initial infeasible subproblem is written.
| WriteIIS(Int32, String, Int32, String) | Writes an LP/MPS/CSV file containing a given Irreducible Infeasible Set (IIS). If 0 is passed as the IIS number parameter, the initial infeasible subproblem is written.
| WriteProb | Writes the current problem to an MPS or LP file.
| WriteProb(String) | Writes the current problem to an MPS or LP file.
| WriteProb(String, String) | Writes the current problem to an MPS or LP file.
| WritePrtSol | Writes the current solution to a fixed format ASCII file, problem_name.prt.
| WritePrtSol(String) | Writes the current solution to a fixed format ASCII file, problem_name.prt.
| WritePrtSol(String, String) | Writes the current solution to a fixed format ASCII file, problem_name.prt.
| WriteSlxSol | Creates an ASCII solution file (.slx) using a similar format to MPS files. These files can be read back into the Optimizer using the readSlxSol function.
| WriteSlxSol(String) | Creates an ASCII solution file (.slx) using a similar format to MPS files. These files can be read back into the Optimizer using the readSlxSol function.
| WriteSlxSol(String, String) | Creates an ASCII solution file (.slx) using a similar format to MPS files. These files can be read back into the Optimizer using the readSlxSol function.
| WriteSol | Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr).
| WriteSol(String) | Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr).
| WriteSol(String, String) | Writes the current solution to a CSV format ASCII file, problem_name.asc (and .hdr).

Top
Fields

| Name | Description
--- | --- | ---
| EQ | Constraint sense for == constraints.
| GEQ | Constraint sense for >= constraints.
| LEQ | Constraint sense for <= constraints.

Top
See Also

#### Reference

Optimizer Namespace
Covered Topics

- XPRSprob Constructor
- XPRSprob Properties
- XPRSprob Methods
- XPRSprob Fields

Parent Topic Optimizer

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