Initializing help system before first use

XPRSprob Class

Inheritance Hierarchy
System.Object
   Optimizer.XPRSobject
     Optimizer.XPRSprob
       Optimizer.Objects.XpressProblem

Namespace:   Optimizer
Assembly:  xprsdn (in xprsdn.dll) Version: 44.01.04
Syntax
C#
public class XPRSprob : XPRSobject, ICloneable

The XPRSprob type exposes the following members.

Constructors
  Name Description
Public method 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
Public method XPRSprob(String)
Initialize Xpress and create a new problem.
Public method 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
Public property ActiveNodes
Number of outstanding nodes.
Public property AlgAfterCrossOver
The algorithm to be used for the final clean up step after the crossover.
Public property AlgAfterNetwork
The algorithm to be used for the clean up step after the network simplex solver.
Public property Algorithm
The algorithm the optimizer currently is running / was running just before completition.
Public property AlternativeRedCosts
Controls aggressiveness of searching for alternative reduced cost
Public property AttentionLevel
A measure between 0 and 1 for how numerically unstable the problem is. The attention level is based on a weighted combination of the number of basis condition numbers exceeding certain thresholds. It considers all nodes sampled by MIPKAPPAFREQ, with a setting of 1 being the most frequent sampling rate. The higher the attention level, the worse conditioned is the problem.
Public property AutoCutting
Should the Optimizer automatically decide whether to generate cutting planes at local nodes in the tree or not? If the CUTFREQ control is set, no automatic selection will be made and local cutting will be enabled.
Public property AutoPerturb
Simplex: This indicates whether automatic perturbation is performed. If this is set to 1, the problem will be perturbed whenever the simplex method encounters an excessive number of degenerate pivot steps, thus preventing the Optimizer being hindered by degeneracies.
Public property AutoScaling
Whether the Optimizer should automatically select between different scaling algorithms. If the SCALING control is set, no automatic scaling will be applied.
Public property AvailableMemory
The amount of heap memory detected by Xpress as free.
Public property BackgroundMaxThreads
Limit the number of threads to use in background jobs (for example in parallel to the root cut loop).
Public property BackgroundSelect
Select which tasks to run in background jobs (for example in parallel to the root cut loop).
Public property BackTrack
Branch and Bound: Specifies how to select the next node to work on when a full backtrack is performed.
Public property BacktrackTie
Branch and Bound: Specifies how to break ties when selecting the next node to work on when a full backtrack is performed. The options are the same as for the BACKTRACK control.
Public property BarAASize
Number of nonzeros in AA T.
Public property BarAlg
This control determines which barrier algorithm is used to solve the problem.
Public property BarCGap
Convergence criterion for the Newton barrier algorithm.
Public property BarCondA
Absolute condition measure calculated in the last iteration of the barrier algorithm.
Public property BarCondD
Condition measure calculated in the last iteration of the barrier algorithm.
Public property BarCores
If set to a positive integer it determines the number of physical CPU cores assumed to be present in the system by the barrier and hybrid gradient algorithms. If the value is set to the default value ( -1), Xpress will automatically detect the number of cores.
Public property BarCrash
Newton barrier and hybrid gradient: This determines the type of crash used for the crossover. During the crash procedure, an initial basis is determined which attempts to speed up the crossover. A good choice at this stage will significantly reduce the number of iterations required to crossover to an optimal solution. The possible values increase proportionally to their time-consumption.
Public property BarCrossover
Indicates whether or not the basis crossover phase has been entered.
Public property BarDenseCol
Number of dense columns found in the matrix.
Public property BarDualInf
Sum of the dual infeasibilities for the Newton barrier algorithm.
Public property BarDualObj
Dual objective value calculated by the Newton barrier algorithm.
Public property BarDualStop
Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for dual infeasibilities. If the difference between the constraints and their bounds in the dual problem falls below this tolerance in absolute value, optimization will stop and the current solution will be returned.
Public property BarFailIterLimit
Newton barrier: The maximum number of consecutive iterations that fail to improve the solution in the barrier algorithm.
Public property BarFreeScale
Defines how the barrier algorithm scales free variables.
Public property BarGapStop
Newton barrier and hybrid gradient: This is a convergence parameter, representing the tolerance for the relative duality gap. When the difference between the primal and dual objective function values falls below this tolerance, the Optimizer determines that the optimal solution has been found.
Public property BarGapTarget
Newton barrier: The target tolerance for the relative duality gap. The barrier algorithm will keep iterating until either BARGAPTARGET is satisfied or until no further improvements are possible. In the latter case, if BARGAPSTOP is satisfied, it will declare the problem optimal.
Public property BarhgExtrapolate
Extrapolation parameter for the hybrid gradient algorithm. Although theory suggests that a value of 1 is best, slightly smaller values perform better in general.
Public property BarhgMaxRestarts
The maximum number of restarts in the hybrid gradient algorithm. Restarts play the role of iterations in the hybrid gradient algorithm. A log line is printed at every restart, unless BAROUTPUT is set to 0.
Public property BarhgOps
Control options for the hybrid gradient algorithm. Bits 1, 2 and 3 control which norms of the coefficient matrix are used for solution normalization. The normalization factor is the maximum of the selected norms. By default, or if all three bits are set to 0, the infinity norm is used. The omega parameter referenced in bits 4, 5 and 6 is a measure of the relative magnitudes of the objective and the right-hand side.
Public property BarIndefLimit
Newton Barrier. This limits the number of consecutive indefinite barrier iterations that will be performed. The optimizer will try to minimize (resp. maximize) a QP problem even if the Q matrix is not positive (resp. negative) semi-definite. However, the optimizer may detect that the Q matrix is indefinite and this can result in the optimizer not converging. This control specifies how many indefinite iterations may occur before the optimizer stops and reports that the problem is indefinite. It is usual to specify a value greater than one, and only stop after a series of indefinite matrices, as the problem may be found to be indefinite incorrectly on a few iterations for numerical reasons.
Public property BarIter
Number of Newton barrier iterations.
Public property BarIterLimit
Newton barrier: The maximum number of iterations. While the simplex method usually performs a number of iterations which is proportional to the number of constraints (rows) in a problem, the barrier method standardly finds the optimal solution to a given accuracy after a number of iterations which is independent of the problem size. The penalty is rather that the time for each iteration increases with the size of the problem. BARITERLIMIT specifies the maximum number of iterations which will be carried out by the barrier.
Public property BarKeepLastSol
Control BARKEEPLASTSOL.
Public property BarKernel
Newton barrier: Defines how centrality is weighted in the barrier algorithm.
Public property BarLargeBound
Threshold for the barrier to handle large bounds.
Public property BarLSize
Number of nonzeros in L resulting from the Cholesky factorization.
Public property BarNumStability
Control BARNUMSTABILITY.
Public property BarObjPerturb
Defines how the barrier perturbs the objective.
Public property BarObjScale
Defines how the barrier scales the objective.
Public property BarOrder
Newton barrier: This controls the Cholesky factorization in the Newton-Barrier.
Public property BarOrderThreads
If set to a positive integer it determines the number of concurrent threads for the sparse matrix ordering algorithm in the Newton-barrier method.
Public property BarOutput
Newton barrier and hybrid gradient: This specifies the level of solution output provided. Output is provided either after each iteration of the algorithm, or else can be turned off completely by this parameter.
Public property BarPerturb
Newton barrier: In numerically challenging cases it is often advantageous to apply perturbations on the KKT system to improve its numerical properties. BARPERTURB controlls how much perturbation is allowed during the barrier iterations. By default no perturbation is allowed. Set this parameter with care as larger perturbations may lead to less efficient iterates and the best settings are problem-dependent.
Public property BarPresolveOps
Newton barrier: This controls the Newton-Barrier specific presolve operations.
Public property BarPrimalInf
Sum of the primal infeasibilities for the Newton barrier algorithm.
Public property BarPrimalObj
Primal objective value calculated by the Newton barrier algorithm.
Public property BarPrimalStop
Newton barrier and hybrid gradient: This is a convergence parameter, indicating the tolerance for primal infeasibilities. If the difference between the constraints and their bounds in the primal problem falls below this tolerance in absolute value, the Optimizer will terminate and return the current solution.
Public property BarRefIter
Newton barrier: After terminating the barrier algorithm, further refinement steps can be performed. Such refinement steps are especially helpful if the solution is near to the optimum and can improve primal feasibility and decrease the complementarity gap. It is also often advantageous for the crossover algorithm. BARREFITER specifies the maximum number of such refinement iterations.
Public property BarRegularize
This control determines how the barrier algorithm applies regularization on the KKT system.
Public property BarRhsScale
Defines how the barrier scales the right hand side.
Public property BarSing
Number of linearly dependent binding constraints at the optimal barrier solution. These results in singularities in the Cholesky decomposition during the barrier that may cause numerical troubles. Larger dependence means more chance for numerical difficulties.
Public property BarSingR
Regularized number of linearly dependent binding constraints at the optimal barrier solution. These results in singularities in the Cholesky decomposition during the barrier that may cause numerical troubles. Larger dependence means more chance for numerical difficulties.
Public property BarSolution
This determines whether the barrier has to decide which is the best solution found or return the solution computed by the last barrier iteration.
Public property BarStart
Controls the computation of the starting point and warm-starting for the Newton barrier and the hybrid gradient algorithms.
Public property BarStartWeight
Newton barrier: This sets a weight for the warm-start point when warm-start is set for the barrier algorithm. Using larger weight gives more emphasis for the supplied starting point.
Public property BarStepStop
Newton barrier: A convergence parameter, representing the minimal step size. On each iteration of the barrier algorithm, a step is taken along a computed search direction. If that step size is smaller than BARSTEPSTOP, the Optimizer will terminate and return the current solution.
Public property BarThreads
If set to a positive integer it determines the number of threads implemented to run the Newton-barrier and hybrid gradient algorithms. If the value is set to the default value ( -1), the THREADS control will determine the number of threads used.
Public property BestBound
Value of the best bound determined so far by the MIP search.
Public property BigM
The infeasibility penalty used if the "Big M" method is implemented.
Public property BigmMethod
Simplex: This specifies whether to use the "Big M" method, or the standard phase I (achieving feasibility) and phase II (achieving optimality). In the "Big M" method, the objective coefficients of the variables are considered during the feasibility phase, possibly leading to an initial feasible basis which is closer to optimal. The side-effects involve possible round-off errors due to the presence of the "Big M" factor in the problem.
Public property BoundName
Active bound name.
Public property BranchChoice
Once a MIP entity has been selected for branching, this control determines which of the branches is solved first.
Public property BranchDisj
Branch and Bound: Determines whether the optimizer should attempt to branch on general split disjunctions during the branch and bound search.
Public property BranchStructural
Branch and Bound: Determines whether the optimizer should search for special structure in the problem to branch on during the branch and bound search.
Public property BranchValue
The value of the branching variable at a node of the Branch and Bound tree.
Public property BranchVar
The branching variable at a node of the Branch and Bound tree.
Public property BreadthFirst
The number of nodes to include in the best-first search before switching to the local first search ( NODESELECTION = 4).
Public property CacheSize Obsolete.
Newton Barrier: L2 or L3 (see notes) cache size in kB (kilobytes) of the CPU. On Intel (or compatible) platforms a value of -1 may be used to determine the cache size automatically. If the CPU model is new then the cache size may not be correctly detected by an older release of the software.
Public property CallbackCheckTimeDelay
Minimum delay in milliseconds between two consecutive executions of the CHECKTIME callback in the same solution process
Public property CallbackCount_CutMgr
This attribute counts the number of times the cut manager callback set by addCbCutmgr has been called for the current node, including the current callback call. The value of this attribute should only be used from within the cut manager callback.
Public property CallbackCount_OptNode
This attribute counts the number of times the optimal node callback set by addCbOptnode has been called for the current node, including the current callback call. The value of this attribute should only be used from within the optimal node callback.
Public property CallbackFromMasterThread
Branch and Bound: specifies whether the MIP callbacks should only be called on the master thread.
Public property CheckInputData
Check input arrays for bad data.
Public property ChecksOnMaxCutTime
This attribute is used to set the value of the MAXCHECKSONMAXCUTTIME control. Its value is the number of times the optimizer checked the MAXCUTTIME criterion during the last call to the optimization routine mipOptimize. If a run terminates cutting operations on the MAXCUTTIME criterion then the attribute is the negative of the number of times the optimizer checked the MAXCUTTIME criterion up to and including the check when the termination was activated. Note that the attribute is set to zero at the beginning of each call to an optimization routine.
Public property ChecksOnMaxTime
This attribute is used to set the value of the MAXCHECKSONMAXTIME control. Its value is the number of times the optimizer checked the MAXTIME criterion during the last call to the optimization routine mipOptimize. If a run terminates on the MAXTIME criterion then the attribute is the negative of the number of times the optimizer checked the MAXTIME criterion up to and including the check when the termination was activated. Note that the attribute is set to zero at the beginning of each call to an optimization routine.
Public property CholeskyAlg
Newton barrier: type of Cholesky factorization used.
Public property CholeskyTol
Newton barrier: The tolerance for pivot elements in the Cholesky decomposition of the normal equations coefficient matrix, computed at each iteration of the barrier algorithm. If the absolute value of the pivot element is less than or equal to CHOLESKYTOL, it merits special treatment in the Cholesky decomposition process.
Public property Clamping
This control allows for the adjustment of returned solution values such that they are always within bounds.
Public property Cols
Number of columns (i.e. variables) in the matrix.
Public property Compute
Controls whether the next solve is performed directly or on an Insight Compute Interface.
Public property ComputeExecService
Selects the Insight execution service that will be used for solving remote optimizations.
Public property ComputeExecutions
The number of solves executed on a compute server.
Public property ComputeJobPriority
Selects the priority that will be used for remote optimization jobs.
Public property ComputeLog
Controls how the run log is fetched when a solve is performed on an Insight Compute Interface.
Public property ConcurrentThreads
Determines the number of threads used by the concurrent solver.
Public property ConeElems
Number of second order cone coefficients in the problem.
Public property Cones
Number of second order and rotated second order cones in the problem.
Public property ConflictCuts
Branch and Bound: Specifies how cautious or aggressive the optimizer should be when searching for and applying conflict cuts. Conflict cuts are in-tree cuts derived from nodes found to be infeasible or cut off, which can be used to cut off other branches of the search tree.
Public property CoresDetected
Number of logical cores detected by the optimizer, which is the total number of threads the hardware can execute across all CPUs.
Public property CoresPerCPU
Used to override the detected value of the number of cores on a CPU. The cache size (either detected or specified via the CACHESIZE control) used in Barrier methods will be divided by this amount, and this scaled-down value will be the amount of cache allocated to each Barrier thread
Public property CoresPerCPUDetected
Number of logical cores per CPU unit detected by the optimizer, which is the number of threads each CPU can execute.
Public property CoverCuts
Branch and Bound: The number of rounds of lifted cover inequalities at the top 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 top node, since these inequalities then apply to every subsequent node in the tree search.
Public property CpiAlpha
decay term for confined primal integral computation.
Public property CpiScaleFactor
scale factor from primal integral computation.
Public property CPUPlatform
Newton Barrier: Selects the AMD, Intel x86 or ARM vectorization instruction set that Barrier should run optimized code for. On AMD / Intel x86 platforms the SSE2, AVX and AVX2 instruction sets are supported while on ARM platforms the NEON architecture extension can be activated.
Public property CPUsDetected
Number of CPU units detected by the optimizer.
Public property CPUTime
How time should be measured when timings are reported in the log and when checking against time limits
Public property Crash
Simplex: This determines the type of crash used when the algorithm begins. During the crash procedure, an initial basis is determined which is as close to feasibility and triangularity as possible. A good choice at this stage will significantly reduce the number of iterations required to find an optimal solution. The possible values increase proportionally to their time-consumption.
Public property CrossOver
Newton barrier and hybrid gradient: This control determines whether the barrier method will cross over to the simplex method when at optimal solution has been found, to provide an end basis (see getBasis, writeBasis) and advanced sensitivity analysis information (see objsa, rHSsa, bndsa).
Public property CrossoverAccuracyTol
Newton barrier: This control determines how crossover adjusts the default relative pivot tolerance. When re-inversion is necessary, crossover will compare the recalculated working basic solution with the assumed ones just before re-inversion took place. If the error is above this threshold, crossover will adjust the relative pivot tolerance to address the build-up of numerical inaccuracies.
Public property CrossOverDRP
Control CROSSOVERDRP.
Public property CrossOverFeasWeight
Control CROSSOVERFEASWEIGHT.
Public property CrossoverIter
Number of simplex iterations performed in crossover.
Public property CrossoverIterLimit
Newton barrier and hybrid gradient: The maximum number of iterations that will be performed in the crossover procedure before the optimization process terminates.
Public property CrossoverOps
Newton barrier and hybrid gradient: a bit vector for adjusting the behavior of the crossover procedure.
Public property CrossOverRelPivotTol
Control CROSSOVERRELPIVOTTOL.
Public property CrossOverRelPivotTolSafe
Control CROSSOVERRELPIVOTTOLSAFE.
Public property CrossoverThreads
Determines the maximum number of threads that parallel crossover is allowed to use. If CROSSOVERTHREADS is set to the default value ( -1), the BARTHREADS control will determine the number of threads used.
Public property CurrentMemory
The amount of dynamically allocated heap memory by the problem being solved.
Public property CurrentNode
The unique identifier of the current node in the tree search.
Public property CurrMipCutOff
The current MIP cut off.
Public property CutDepth
Branch and Bound: Sets the maximum depth in the tree search at which cuts will be generated. Generating cuts can take a lot of time, and is often less important at deeper levels of the tree since tighter bounds on the variables have already reduced the feasible region. A value of 0 signifies that no cuts will be generated.
Public property CutFactor
Limit on the number of cuts and cut coefficients the optimizer is allowed to add to the matrix during tree search. The cuts and cut coefficients are limited by CUTFACTOR times the number of rows and coefficients in the initial matrix.
Public property CutFreq
Branch and Bound: This specifies the frequency at which cuts are generated in the tree search. If the depth of the node modulo CUTFREQ is zero, then cuts will be generated.
Public property Cuts
Number of cuts being added to the matrix.
Public property CutSelect
A bit vector providing detailed control of the cuts created for the root node of a MIP solve. Use TREECUTSELECT to control cuts during the tree search.
Public property CutStrategy
Branch and Bound: This specifies the cut strategy. A more aggressive cut strategy, generating a greater number of cuts, will result in fewer nodes to be explored, but with an associated time cost in generating the cuts. The fewer cuts generated, the less time taken, but the greater subsequent number of nodes to be explored.
Public property DefaultAlg
This selects the algorithm that will be used to solve LPs, standalone or during MIP optimization.
Public property DenseColLimit
Newton barrier: Columns with more than DENSECOLLIMIT elements are considered to be dense. Such columns will be handled specially in the Cholesky factorization of this matrix.
Public property Deterministic
Selects whether to use a deterministic or opportunistic mode when solving a problem using multiple threads.
Public property DetLogFreq
Control DETLOGFREQ.
Public property DualGradient
Simplex: This specifies the dual simplex pricing method.
Public property DualInfeas
Number of dual infeasibilities.
Public property Dualize
For a linear problem or the initial linear relaxation of a MIP, determines whether to form and solve the dual problem.
Public property DualizeOps
Bit-vector control for adjusting the behavior when a problem is dualized.
Public property DualPerturb
The factor by which the problem will be perturbed prior to optimization by dual simplex. A value of 0.0 results in no perturbation prior to optimization. Note the interconnection to the AUTOPERTURB control. If AUTOPERTURB is set to 1, the decision whether to perturb or not is left to the Optimizer. When the problem is automatically perturbed in dual simplex, however, the value of DUALPERTURB will be used for perturbation.
Public property DualStrategy
This bit-vector control specifies the dual simplex strategy.
Public property DualThreads
Determines the maximum number of threads that dual simplex is allowed to use. If DUALTHREADS is set to the default value ( -1), the THREADS control will determine the number of threads used.
Public property DummyControl
Control DUMMYCONTROL.
Public property EigenValueTol
A quadratic matrix is considered not to be positive semi-definite, if its smallest eigenvalue is smaller than the negative of this value.
Public property Elems
Number of matrix nonzeros (elements).
Public property ElimFillIn
Amount of fill-in allowed when performing an elimination in presolve .
Public property ElimTol
The Markowitz tolerance for the elimination phase of the presolve.
Public property ErrorCode
The most recent Optimizer error number that occurred. This is useful to determine the precise error or warning that has occurred, after an Optimizer function has signalled an error by returning a non-zero value. The return value itself is not the error number. Refer to the section for a list of possible error numbers, the errors and warnings that they indicate, and advice on what they mean and how to resolve them. A short error message may be obtained using getLastError, and all messages may be intercepted using the user output callback function; see addCbMessage.
Public property EscapeNames
If characters illegal to an mps or lp file should be escaped to guarantee readability, and whether escaped characters should be transformed back when reading such a file.
Public property EtaTol
Tolerance on eta elements. During each iteration, the basis inverse is premultiplied by an elementary matrix, which is the identity except for one column - the eta vector. Elements of eta vectors whose absolute value is smaller than ETATOL are taken to be zero in this step.
Public property ExtraCols
The initial number of extra columns to allow for in the matrix. If columns are to be added to the matrix, then, for maximum efficiency, space should be reserved for the columns before the matrix is input by setting the EXTRACOLS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraElems
The initial number of extra matrix elements to allow for in the matrix, including coefficients for cuts. If rows or columns are to be added to the matrix, then, for maximum efficiency, space should be reserved for the extra matrix elements before the matrix is input by setting the EXTRAELEMS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraMIPEnts
The initial number of extra MIP entities to allow for.
Public property ExtraRows
The initial number of extra rows to allow for in the matrix, including cuts. If rows are to be added to the matrix, then, for maximum efficiency, space should be reserved for the rows before the matrix is input by setting the EXTRAROWS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraSetElems
The initial number of extra elements in sets to allow for in the matrix. If sets are to be added to the matrix, then, for maximum efficiency, space should be reserved for the set elements before the matrix is input by setting the EXTRASETELEMS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property ExtraSets
The initial number of extra sets to allow for in the matrix. If sets are to be added to the matrix, then, for maximum efficiency, space should be reserved for the sets before the matrix is input by setting the EXTRASETS control. If this is not done, resizing will occur automatically, but more space may be allocated than the user actually requires.
Public property FeasibilityJump
MIP: Decides if the Feasibility Jump heuristic should be run. The value for this control is either -1 (let Xpress decide), 0 (off) or a value that indicates for which type of models the heuristic should be run.
Public property FeasibilityPump
Branch and Bound: Decides if the Feasibility Pump heuristic should be run at the top node.
Public property FeasTol
This tolerance determines when a solution is treated as feasible. If the amount by which a constraint's activity violates its right-hand side or ranged bound is less in absolute magnitude than FEASTOL, then the constraint is treated as satisfied. Similarly, if the amount by which a column violates its bounds is less in absolute magnitude than FEASTOL, those bounds are also treated as satisfied.
Public property FeasTolPerturb
This tolerance determines how much a feasible primal basic solution is allowed to be perturbed when performing basis changes. The tolerance FEASTOL is always considered as an upper limit for the perturbations, but in some cases smaller value can be more desirable.
Public property FeasTolTarget
This specifies the target feasibility tolerance for the solution refiner.
Public property ForceOutput
Certain names in the problem object may be incompatible with different file formats (such as names containing spaces for LP files). If the optimizer might be unable to read back a problem because of non-standard names, it will first attempt to write it out using an extended naming convention. If the names would not be possible to extend so that they would be reproducible and recognizable, it will give an error message and won't create the file. If the optimizer might be unable to read back a problem because of non-standard names, it will give an error message and won't create the file. This option may be used to force output anyway.
Public property ForceParallelDual
Dual simplex: specifies whether the dual simplex solver should always use the parallel simplex algorithm. By default, when using a single thread, the dual simplex solver will execute a dedicated sequential simplex algorithm.
Public property GenConCols
Number of input variables in general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
Public property GenCons
The number of general constraints (i.e. MIN/MAX/AND/OR/ABS constraints) in the problem.
Public property GenconsAbsTransformation
This control specifies the reformulation method for absolute value general constraints at the beginning of the search.
Public property GenconsDualReductions
This parameter specifies whether dual reductions should be applied to reduce the number of columns and rows added when transforming general constraints to MIP structs.
Public property GenConVals
Number of constant values in general constraints (MIN/MAX constraints) in the problem.
Public property GlobalBoundingBox
If a nonlinear problem cannot be solved due to appearing unbounded, it can automatically be regularized by the application of a bounding box on the variables. If this control is set to a negative value, in a second solving attempt all original variables will be bounded by the absolute value of this control. If set to a positive value, there will be a third solving attempt afterwards, if necessary, in which also all auxiliary variables are bounded by this value.
Public property GlobalBoundingboxApplied
Whether a bounding box equal to the absolute value of the GLOBALBOUNDINGBOX control was applied to the problem after the initial solve came back infeasible and if so, to which variables.
Public property GlobalLSHeurstrategy
When integer-feasible (for MINLP, any solution for NLP) but nonlinear-infeasible solutions are encountered within a global solve, the integer variables can be fixed and a local solver (as defined by the LOCALSOLVER control) can be called on the remaining continuous problem. This control defines the frequency and effort of such local solves.
Public property GlobalNlpCuts
Limit on the number of rounds of outer approximation and convexification cuts generated for the root node, when solving an (MI)NLP to global optimality.
Public property GlobalNLPInfeas
Number of nonlinear infeasibilities at the current node of a global solve, measured as the number of violated atomic formulas.
Public property GlobalNumInitNlpCuts
Specifies the maximum number of tangent cuts when setting up the initial relaxation during a global solve. By default, the algorithm chooses the number of cuts automatically. Adding more cuts tightens the problem, resulting in a smaller branch-and-bound tree, at the cost of slowing down each LP solve.
Public property GlobalSpatialBranchCuttingEffort
Limits the effort that is spent on creating cuts during spatial branching.
Public property GlobalSpatialBranchIfPreferOrig
Whether spatial branchings on original variables should be preferred over branching on auxiliary variables that were introduced by the reformulation of the global solver.
Public property GlobalSpatialBranchPropagationEffort
Limits the effort that is spent on propagation during spatial branching.
Public property GlobalTreeNlpCuts
Limit on the number of rounds of outer approximation and convexification cuts generated for each node in the tree, when solving an (MI)NLP to global optimality.
Public property GomCuts
Branch and Bound: The number of rounds of Gomory or lift-and-project cuts at the top node.
Public property HeurBeforeLP
Branch and Bound: Determines whether primal heuristics should be run before the initial LP relaxation has been solved.
Public property HeurDepth
Branch and Bound: Sets the maximum depth in the tree search at which heuristics will be used to find MIP solutions. It may be worth stopping the heuristic search for solutions after a certain depth in the tree search. A value of 0 signifies that heuristics will not be used. This control no longer has any effect and will be removed from future releases.
Public property HeurDiveIterLimit
Branch and Bound: Simplex iteration limit for reoptimizing during the diving heuristic.
Public property HeurDiveRandomize
The level of randomization to apply in the diving heuristic. The diving heuristic uses priority weights on rows and columns to determine the order in which to e.g. round fractional columns, or the direction in which to round them. This control determines by how large a random factor these weights should be changed.
Public property HeurDiveSoftRounding
Branch and Bound: Enables a more cautious strategy for the diving heuristic, where it tries to push binaries and integer variables to their bounds using the objective, instead of directly fixing them. This can be useful when the default diving heuristics fail to find any feasible solutions.
Public property HeurDiveSpeedUp
Branch and Bound: Changes the emphasis of the diving heuristic from solution quality to diving speed.
Public property HeurDiveStrategy
Branch and Bound: Chooses the strategy for the diving heuristic.
Public property HeurEmphasis
Branch and Bound: This control specifies an emphasis for the search w.r.t. primal heuristics and other procedures that affect the speed of convergence of the primal-dual gap. For problems where the goal is to achieve a small gap but not neccessarily solving them to optimality, it is recommended to set HEUREMPHASIS to 1. This setting triggers many additional heuristic calls, aiming for reducing the gap at the beginning of the search, typically at the expense of an increased time for proving optimality.
Public property HeurForceSpecialObj
Branch and Bound: This specifies whether local search heuristics without objective or with an auxiliary objective should always be used, despite the automatic selection of the Optimiezr. Deactivated by default.
Public property HeurFreq
Branch and Bound: This specifies the frequency at which heuristics are used in the tree search. Heuristics will only be used at a node if the depth of the node is a multiple of HEURFREQ.
Public property HeurMaxSol
Branch and Bound: This specifies the maximum number of heuristic solutions that will be found in the tree search. This control no longer has any effect and will be removed from future releases.
Public property HeurNodes
Branch and Bound: This specifies the maximum number of nodes at which heuristics are used in the tree search. This control no longer has any effect and will be removed from future releases.
Public property HeursearchBackgroundSelect
Select which large neighborhood searches to run in the background (for example in parallel to the root cut loop).
Public property HeurSearchCopyControls
Select how user-set controls should affect local search heuristics.
Public property HeurSearchEffort
Adjusts the overall level of the local search heuristics.
Public property HeurSearchFreq
Branch and Bound: This specifies how often the local search heuristic should be run in the tree.
Public property HeurSearchRootCutFreq
How frequently to run the local search heuristic during root cutting. This is given as how many cut rounds to perform between runs of the heuristic. Set to zero to avoid applying the heuristic during root cutting. Branch and Bound: This specifies how often the local search heuristic should be run in the tree.
Public property HeurSearchRootSelect
A bit vector control for selecting which local search heuristics to apply on the root node of a MIP solve. Use HEURSEARCHTREESELECT to control local search heuristics during the tree search.
Public property HeurSearchTargetSize
Control HEURSEARCHTARGETSIZE.
Public property HeurSearchTreeSelect
A bit vector control for selecting which local search heuristics to apply during the tree search of a MIP solve. Use HEURSEARCHROOTSELECT to control local search heuristics on the root node.
Public property HeurSelect
Control HEURSELECT.
Public property HeurShiftProp
Determines whether the Shift-and-propagate primal heuristic should be executed. If enabled, Shift-and-propagate is an LP-free primal heuristic that is executed immediately after presolve.
Public property HeurThreads
Branch and Bound: The number of threads to dedicate to running heuristics during the root solve.
Public property HistoryCosts
Branch and Bound: How to update the pseudo cost for a MIP entity when a strong branch or a regular branch is applied.
Public property IfCheckConvexity
Determines if the convexity of the problem is checked before optimization. Applies to quadratic, mixed integer quadratic and quadratically constrained problems. Checking convexity takes some time, thus for problems that are known to be convex it might be reasonable to switch the checking off.
Public property IgnoreContainerCpuLimit
Control IGNORECONTAINERCPULIMIT.
Public property IgnoreContainerMemoryLimit
Control IGNORECONTAINERMEMORYLIMIT.
Public property IISLog
Selects how much information should be printed during the IIS procedure. Please refer to Appendix for a more detailed description of the IIS logging format.
Public property IISOps
Selects which part of the restrictions (bounds, constraints, entities) should always be kept in an IIS. This is useful if certain types of restrictions cannot be violated, thus they are known not to be the cause of infeasibility. The IIS obtained this way is irreducible only for the non-protected restrictions. This control has an effect only on the deletion filter of the IIS procedure.
Public property IISSolStatus
IIS solution status.
Public property Indicators
Number of indicator constrains in the problem.
Public property IndLinBigM
During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough. This control defines the largest BigM for which such a linearized version will be added to the problem in addition to the original constraint. If the BigM is even smaller than INDPRELINBIGM, then the original indicator constraint will additionally be dropped from the problem.
Public property IndPreLinBigM
During presolve, indicator constraints will be linearized using a BigM coefficient whenever that BigM coefficient is small enough. This control defines the largest BigM for which the original constraint will be replaced by the linearized version. If the BigM is larger than INDPRELINBIGM but smaller than INDLINBIGM, the linearized row will be added but the original indicator constraint is kept as a numerically stable way to check feasibility.
Public property InputCols
Number of columns (i.e. variables) in the original matrix before nonlinear reformulations.
Public property InputRows
Number of rows (i.e. constraints) in the original matrix before nonlinear reformulations.
Public property Inputtol
The tolerance on input values elements. If any value is less than or equal to INPUTTOL in absolute value, it is treated as zero. For the internal zero tolerance see MATRIXTOL.
Public property InvertFreq
Simplex: The frequency with which the basis will be inverted. The basis is maintained in a factorized form and on most simplex iterations it is incrementally updated to reflect the step just taken. This is considerably faster than computing the full inverted matrix at each iteration, although after a number of iterations the basis becomes less well-conditioned and it becomes necessary to compute the full inverted matrix. The value of INVERTFREQ specifies the maximum number of iterations between full inversions.
Public property InvertMin
Simplex: The minimum number of iterations between full inversions of the basis matrix. See the description of INVERTFREQ for details.
Public property IOTimeout
The maximum number of seconds to wait for an I/O operation before it is cancelled.
Public property KeepBasis
Simplex: This determines whether the basis should be kept when reoptimizing a problem. The choice is between using a crash basis created at the beginning of simplex or using a basis from a previous solve (if such exists). By default, this control gets (re)set automatically in various situations. By default, it will be automatically set to 1 after a solve that produced a valid basis. This will automatically warmstart a subsequent solve. Explicitly loading a starting basis will also set this control to 1. If the control is explicitly set to 0, any existing basis will be ignored for a new solve, and the Optimizer will start from an ad-hoc crash basis.
Public property KeepNRows
How nonbinding rows should be handled by the MPS reader.
Public property KnitroParamAlgorithm
Indicates which algorithm to use to solve the problem
Public property KnitroParamBarDirectInterval
Controls the maximum number of consecutive conjugate gradient (CG) steps before Knitro will try to enforce that a step is taken using direct linear algebra.
Public property KnitroParamBarFeasible
Specifies whether special emphasis is placed on getting and staying feasible in the interior-point algorithms.
Public property KnitroParamBarFeasModeTol
Specifies the tolerance in equation that determines whether Knitro will force subsequent iterates to remain feasible.
Public property KnitroParamBarInitMu
Specifies the initial value for the barrier parameter : mu used with the barrier algorithms. This option has no effect on the Active Set algorithm.
Public property KnitroParamBarInitPt
Indicates whether an initial point strategy is used with barrier algorithms.
Public property KnitroParamBarMaxBacktrack
Indicates the maximum allowable number of backtracks during the linesearch of the Interior/Direct algorithm before reverting to a CG step.
Public property KnitroParamBarMaxRefactor
Indicates the maximum number of refactorizations of the KKT system per iteration of the Interior/Direct algorithm before reverting to a CG step.
Public property KnitroParamBarMuRule
Indicates which strategy to use for modifying the barrier parameter mu in the barrier algorithms.
Public property KnitroParamBarPenCons
Indicates whether a penalty approach is applied to the constraints.
Public property KnitroParamBarPenRule
Indicates which penalty parameter strategy to use for determining whether or not to accept a trial iterate.
Public property KnitroParamBarRelaxCons
Public property KnitroParamBarSwitchRule
Indicates whether or not the barrier algorithms will allow switching from an optimality phase to a pure feasibility phase.
Public property KnitroParamBLASOption
Public property KnitroParamDebug
Public property KnitroParamDelta
Specifies the initial trust region radius scaling factor used to determine the initial trust region size.
Public property KnitroParamFeastol
Specifies the final relative stopping tolerance for the feasibility error.
Public property KnitroParamFeasTolAbs
Specifies the final absolute stopping tolerance for the feasibility error.
Public property KnitroParamGradOpt
Specifies how to compute the gradients of the objective and constraint functions.
Public property KnitroParamHessOpt
Specifies how to compute the (approximate) Hessian of the Lagrangian.
Public property KnitroParamHonorBbnds
Indicates whether or not to enforce satisfaction of simple variable bounds throughout the optimization.
Public property KnitroParamInfeasTol
Specifies the (relative) tolerance used for declaring infeasibility of a model.
Public property KnitroParamLinSolver
Public property KnitroParamLMSize
Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option.
Public property KnitroParamMATerminate
Public property KnitroParamMaxCGIt
Specifies the number of limited memory pairs stored when approximating the Hessian using the limited-memory quasi-Newton BFGS option.
Public property KnitroParamMaxCrossIt
Specifies the maximum number of crossover iterations before termination.
Public property KnitroParamMaxIt
Specifies the maximum number of iterations before termination.
Public property KnitroParamMIPBranchRule
Specifies which branching rule to use for MIP branch and bound procedure.
Public property KnitroParamMIPDebug
Public property KnitroParamMIPGUBBranch
Specifies whether or not to branch on generalized upper bounds (GUBs).
Public property KnitroParamMIPHeuristic
Specifies which MIP heuristic search approach to apply to try to find an initial integer feasible point.
Public property KnitroParamMIPHeurMaxIt
Public property KnitroParamMIPImplicatns
Specifies whether or not to add constraints to the MIP derived from logical implications.
Public property KnitroParamMIPIntGapAbs
The absolute integrality gap stop tolerance for MIP.
Public property KnitroParamMIPIntGapRel
The relative integrality gap stop tolerance for MIP.
Public property KnitroParamMIPKnapsack
Specifies rules for adding MIP knapsack cuts.
Public property KnitroParamMIPLPAlg
Specifies which algorithm to use for any linear programming (LP) subproblem solves that may occur in the MIP branch and bound procedure.
Public property KnitroParamMIPMaxNodes
Specifies the maximum number of nodes explored.
Public property KnitroParamMIPMethod
Specifies which MIP method to use.
Public property KnitroParamMIPOutInterval
Specifies node printing interval for XKTR_PARAM_MIP_OUTLEVEL when XKTR_PARAM_MIP_OUTLEVEL > 0.
Public property KnitroParamMIPOutLevel
Specifies how much MIP information to print.
Public property KnitroParamMIPPseudoint
Specifies the method used to initialize pseudo-costs corresponding to variables that have not yet been branched on in the MIP method.
Public property KnitroParamMIPRootAlg
Specifies which algorithm to use for the root node solve in MIP (same options as XKTR_PARAM_ALGORITHM user option).
Public property KnitroParamMIPRounding
Specifies the MIP rounding rule to apply.
Public property KnitroParamMIPSelectRule
Specifies the MIP select rule for choosing the next node in the branch and bound tree.
Public property KnitroParamMIPStringMaxIt
Specifies the maximum number of iterations to allow for MIP strong branching solves.
Public property KnitroParamMIPStrongCandLim
Specifies the maximum number of candidates to explore for MIP strong branching.
Public property KnitroParamMIPStrongLevel
Specifies the maximum number of tree levels on which to perform MIP strong branching.
Public property KnitroParamMsMaxBndRange
Public property KnitroParamMSMaxSolves
Public property KnitroParamMSNumToSave
Public property KnitroParamMSSaveTol
Public property KnitroParamMSSeed
Public property KnitroParamMSStartPtRange
Public property KnitroParamMSTerminate
Public property KnitroParamMultiStart
Public property KnitroParamNewPoint
Public property KnitroParamObjRange
Specifies the extreme limits of the objective function for purposes of determining unboundedness.
Public property KnitroParamOptTol
Specifies the final relative stopping tolerance for the KKT (optimality) error.
Public property KnitroParamOptTolAbs
Specifies the final absolute stopping tolerance for the KKT (optimality) error.
Public property KnitroParamOutLev
Controls the level of output produced by Knitro.
Public property KnitroParamParNumThreads
Public property KnitroParamPivot
Public property KnitroParamPresolve
Determine whether or not to use the Knitro presolver to try to simplify the model by removing variables or constraints. Specifies conditions for terminating the MIP algorithm.
Public property KnitroParamPresolveTol
Determines the tolerance used by the Knitro presolver to remove variables and constraints from the model.
Public property KnitroParamScale
Performs a scaling of the objective and constraint functions based on their values at the initial point.
Public property KnitroParamSOC
Specifies whether or not to try second order corrections (SOC).
Public property KnitroParamXTol
The optimization process will terminate if the relative change in all components of the solution point estimate is less than xtol.
Public property L1Cache Obsolete.
Newton barrier: L1 cache size in kB (kilo bytes) of the CPU. On Intel (or compatible) platforms a value of -1 may be used to determine the cache size automatically.
Public property LNPBest
Number of infeasible MIP entities to create lift-and-project cuts for during each round of Gomory cuts at the top node (see GOMCUTS).
Public property LNPIterLimit
Number of iterations to perform in improving each lift-and-project cut.
Public property LocalBacktrack
Control LOCALBACKTRACK.
Public property LocalChoice
Controls when to perform a local backtrack between the two child nodes during a dive in the branch and bound tree.
Public property LocalSolver
Public property LocalSolverSelected
Public property LPFlags
A bit-vector control which defines the algorithm for solving an LP problem or the initial LP relaxation of a MIP problem.
Public property LpFolding
Simplex and barrier: whether to fold an LP problem before solving it.
Public property LPIterLimit
The maximum number of iterations that will be performed by primal simplex or dual simplex before the optimization process terminates. For MIP problems, this is the maximum total number of iterations over all nodes explored by the Branch and Bound method.
Public property LPLog
Simplex: The frequency at which the simplex log is printed.
Public property LPLogDelay
Time interval between two LP log lines.
Public property LPLogStyle
Simplex: The style of the simplex log.
Public property LPObjVal
Value of the objective function of the last LP solved.
Public property LpRefineIterLimit
This specifies the simplex iteration limit the solution refiner can spend in attempting to increase the accuracy of an LP solution.
Public property LPStatus
LP solution status.
Public property LUPivotTol
Control LUPIVOTTOL.
Public property MarkowitzTol
The Markowitz tolerance used for the factorization of the basis matrix.
Public property MatrixName
The matrix name.
Public property MatrixTol
The zero tolerance on matrix elements. If the value of a matrix element is less than or equal to MATRIXTOL in absolute value, it is treated as zero. The control applies when solving a problem, for an input tolerance see INPUTTOL.
Public property MaxAbsDualInfeas
Maximum calculated absolute dual infeasibility in the unscaled original problem.
Public property MaxAbsPrimalInfeas
Maximum calculated absolute primal infeasibility in the unscaled original problem.
Public property MaxChecksOnMaxCutTime
This control is intended for use where optimization runs that are terminated using the MAXCUTTIME control are required to be reproduced exactly. This control is necessary because of the inherent difficulty in terminating algorithmic software in a consistent way using temporal criteria. The control value relates to the number of times the optimizer checks the MAXCUTTIME criterion up to and including the check when the termination of cutting was activated. To use the control the user first must obtain the value of the CHECKSONMAXCUTTIME attribute after the run returns. This attribute value is the number of times the optimizer checked the MAXCUTTIME criterion during the last call to the optimization routine mipOptimize. Note that this attribute value will be negative if the optimizer terminated cutting on the MAXCUTTIME criterion. To ensure accurate reproduction of a run the user should first ensure that MAXCUTTIME is set to its default value or to a large value so the run does not terminate again on MAXCUTTIME and then simply set the control MAXCHECKSONMAXCUTTIME to the absolute value of the CHECKSONMAXCUTTIME value.
Public property MaxChecksOnMaxTime
This control is intended for use where optimization runs that are terminated using the TIMELIMIT (or the deprecated MAXTIME) control are required to be reproduced exactly. This control is necessary because of the inherent difficulty in terminating algorithmic software in a consistent way using temporal criteria. The control value relates to the number of times the optimizer checks the TIMELIMIT criterion up to and including the check when the termination was activated. To use the control the user first must obtain the value of the CHECKSONMAXTIME attribute after the run returns. This attribute value is the number of times the optimizer checked the TIMELIMIT criterion during the last call to the optimization routine mipOptimize. Note that this attribute value will be negative if the optimizer terminated on the TIMELIMIT criterion. To ensure that a reproduction of a run terminates in the same way the user should first ensure that TIMELIMIT is set to its default value or to a large value so the run does not terminate again on TIMELIMIT and then simply set the control MAXCHECKSONMAXTIME to the absolute value of the CHECKSONMAXTIME value.
Public property MaxCutTime
The maximum amount of time allowed for generation of cutting planes and reoptimization. The limit is checked during generation and no further cuts are added once this limit has been exceeded.
Public property MaxIIS
This function controls the number of Irreducible Infeasible Sets to be found using the iISAll ( IIS -a).
Public property MaxImpliedBound
Presolve: When tighter bounds are calculated during MIP preprocessing, only bounds whose absolute value are smaller than MAXIMPLIEDBOUND will be applied to the problem.
Public property MaxKappa
Largest basis condition number (also known as kappa) calculated through all nodes sampled by MIPKAPPAFREQ.
Public property MaxLocalBacktrack
Branch-and-Bound: How far back up the current dive path the optimizer is allowed to look for a local backtrack candidate node.
Public property MaxMCoeffBufferElems
The maximum number of matrix coefficients to buffer before flushing into the internal representation of the problem. Buffering coefficients can offer a significant performance gain when you are building a matrix using chgCoef or chgMCoef, but can lead to a significant memory overhead for large matrices, which this control allows you to influence.
Public property MaxMemoryHard
This control sets the maximum amount of memory in megabytes the optimizer should allocate. If this limit is exceeded, the solve will terminate. This control is designed to make the optimizer stop in a controlled manner, so that the problem object is valid once termination occurs. The solve state will be set to incomplete. This is different to an out of memory condition in which case the optimizer returns an error. The optimizer may still allocate memory once the limit is exceeded to be able to finsish the operations and stop in a controlled manner. When RESOURCESTRATEGY is enabled, the control also has the same effect as MAXMEMORYSOFT and will cause the optimizer to try preserving memory when possible.
Public property MaxMemorySoft
When RESOURCESTRATEGY is enabled, this control sets the maximum amount of memory in megabytes the optimizer targets to allocate. This may change the solving path, but will not cause the solve to terminate early. To set a hard version of the same, please set MAXMEMORYHARD.
Public property MaxMipInfeas
Maximum integer fractionality in the solution.
Public property MaxMIPSol
Branch and Bound: This specifies a limit on the number of integer solutions to be found by the Optimizer. It is possible that during optimization the Optimizer will find the same objective solution from different nodes. However, MAXMIPSOL refers to the total number of integer solutions found, and not necessarily the number of distinct solutions.
Public property MaxMipTasks
Branch-and-Bound: The maximum number of tasks to run in parallel during a MIP solve.
Public property MaxNode
Branch and Bound: The maximum number of nodes that will be explored.
Public property MaxPageLines
Number of lines between page breaks in printable output.
Public property MaxProbNameLength
Maximum size of the problem name and also the maximum allowed length of the file or path string for any function that accepts such an argument (not including the null terminator).
Public property MaxRelDualInfeas
Maximum calculated relative dual infeasibility in the unscaled original problem.
Public property MaxRelPrimalInfeas
Maximum calculated relative primal infeasibility in the unscaled original problem.
Public property MaxScaleFactor
This determines the maximum scaling factor that can be applied during scaling. The maximum is provided as an exponent of a power of 2.
Public property MaxStallTime
The maximum time in seconds that the Optimizer will continue to search for improving solution after finding a new incumbent.
Public property MaxTime Obsolete.
The maximum time in seconds that the Optimizer will run before it terminates, including the problem setup time and solution time. For MIP problems, this is the total time taken to solve all nodes.
Public property MaxTreeFileSize
The maximum size, in megabytes, to which the tree file may grow, or 0 for no limit. When the tree file reaches this limit, a second tree file will be created. Useful if you are using a filesystem that puts a maximum limit on the size of a file.
Public property MCFCutStrategy
Level of Multi-Commodity Flow (MCF) cutting planes separation: This specifies how much aggresively MCF cuts should be separated. If the separation of MCF cuts is enabled, Xpress will try to detect a MCF network structure in the problem and, if such a structure is identified, it will separate specific cutting planes exploiting the identified network.
Public property MemoryLimitDetected
The detected amount of memory accessible to the solver process, in megabytes. This is the minimum of physical memory, virtual memory limitations, and detected container limitations (Linux only).
Public property MIPAbsCutoff
Branch and Bound: If the user knows that they are interested only in values of the objective function which are better than some value, this can be assigned to MIPABSCUTOFF. This allows the Optimizer to ignore solving any nodes which may yield worse objective values, saving solution time. When a MIP solution is found a new cut off value is calculated and the value can be obtained from the CURRMIPCUTOFF attribute. The value of CURRMIPCUTOFF is calculated using the MIPRELCUTOFF and MIPADDCUTOFF controls.
Public property MIPAbsGapNotify
Branch and bound: if the gapnotify callback has been set using addCbGapNotify, then this callback will be triggered during the tree search when the absolute gap reaches or passes the value you set of the MIPRELGAPNOTIFY control.
Public property MIPAbsGapNotifyBound
Branch and bound: if the gapnotify callback has been set using addCbGapNotify, then this callback will be triggered during the tree search when the best bound reaches or passes the value you set of the MIPRELGAPNOTIFYBOUND control.
Public property MIPAbsGapNotifyObj
Branch and bound: if the gapnotify callback has been set using addCbGapNotify, then this callback will be triggered during the tree search when the best solution value reaches or passes the value you set of the MIPRELGAPNOTIFYOBJ control.
Public property MIPAbsStop
Branch and Bound: The absolute tolerance determining whether the tree search will continue or not. It will terminate if
   | MIPOBJVAL - BESTBOUND| <= MIPABSSTOP
where MIPOBJVAL is the value of the best solution's objective function, and BESTBOUND is the current best solution bound. For example, to stop the tree search when a MIP solution has been found and the Optimizer can guarantee it is within 100 of the optimal solution, set MIPABSSTOP to 100.
Public property MIPAddCutoff
Branch and Bound: The amount to add to the objective function of the best integer solution found to give the new CURRMIPCUTOFF. Once an integer solution has been found whose objective function is equal to or better than CURRMIPCUTOFF, improvements on this value may not be interesting unless they are better by at least a certain amount. If MIPADDCUTOFF is nonzero, it will be added to CURRMIPCUTOFF each time an integer solution is found which is better than this new value. This cuts off sections of the tree whose solutions would not represent substantial improvements in the objective function, saving processor time. The control MIPABSSTOP provides a similar function but works in a different way.
Public property MIPBestObjVal
Objective function value of the best integer solution found.
Public property MipComponents
Determines whether disconnected components in a MIP should be solved as separate MIPs. There can be significant performence benefits from solving disconnected components individual instead of being part of the main branch-and-bound search.
Public property MipConcurrentNodes
Sets the node limit for when a winning solve is selected when concurrent MIP solves are enabled. When multiple MIP solves are started, they each run up to the MIPCONCURRENTNODES node limit and only one winning solve is selected for contuinuing the search with.
Public property MipConcurrentSolves
Selects the number of concurrent solves to start for a MIP. Each solve will use a unique random seed for its random number generator, but will otherwise apply the same user controls. The first concurrent solve to complete will have solved the MIP and all the concurrent solves will be terminated at this point. Using concurrent solves can be advantageous when a MIP displays a high level of performance variability.
Public property MIPDualReductions
Branch and Bound: Limits operations that can reduce the MIP solution space.
Public property MIPEnts
Number of MIP entities (i.e. binary, integer, semi-continuous, partial integer, and semi-continuous integer variables) but excluding the number of special ordered sets.
Public property MipFracReduce
Branch and Bound: Specifies how often the optimizer should run a heuristic to reduce the number of fractional integer variables in the node LP solutions.
Public property MIPInfeas
Number of integer infeasibilities, including violations of special ordered sets, at the current node.
Public property MIPKappaFreq
Branch and Bound: Specifies how frequently the basis condition number (also known as kappa) should be calculated during the branch-and-bound search.
Public property MIPLog
MIP log print control.
Public property MIPObjVal
Objective function value of the last integer solution found.
Public property MIPPresolve
Branch and Bound: Type of integer processing to be performed. If set to 0, no processing will be performed.
Public property MipRampup
Controls the strategy used by the parallel MIP solver during the ramp-up phase of a branch-and-bound tree search.
Public property MipRefineIterLimit
This defines an effort limit expressed as simplex iterations for the MIP solution refiner. The limit is per reoptimizations in the MIP refiner.
Public property MIPRelCutoff
Branch and Bound: Percentage of the incumbent value to be added to the value of the objective function when an integer solution is found, to give the new value of CURRMIPCUTOFF. The effect is to cut off the search in parts of the tree whose best possible objective function would not be substantially better than the current solution. The control MIPRELSTOP provides a similar functionality but works in a different way.
Public property MIPRelGapNotify
Branch and bound: if the gapnotify callback has been set using addCbGapNotify, then this callback will be triggered during the branch and bound tree search when the relative gap reaches or passes the value you set of the MIPRELGAPNOTIFY control.
Public property MIPRelStop
Branch and Bound: This determines when the branch and bound tree search will terminate. Branch and bound tree search will stop if:
   | MIPOBJVAL - BESTBOUND| <= MIPRELSTOP x max(| BESTBOUND|,| MIPOBJVAL|)
where MIPOBJVAL is the value of the best solution's objective function and BESTBOUND is the current best solution bound. For example, to stop the tree search when a MIP solution has been found and the Optimizer can guarantee it is within 5% of the optimal solution, set MIPRELSTOP to 0.05.
Public property MipRestart
Branch and Bound: controls strategy for in-tree restarts.
Public property MIPRestartFactor
Branch and Bound: Fine tune initial conditions to trigger an in-tree restart. Use a value > 1 to increase the aggressiveness with which the Optimizer restarts. Use a value < 1 to relax the aggressiveness with which the Optimizer restarts. Note that this control does not affect the initial condition on the gap, which must be set separately.
Public property MIPRestartGapThreshold
Control MIPRESTARTGAPTHRESHOLD.
Public property MIPSolNode
Node at which the last integer feasible solution was found.
Public property MIPSols
Number of integer solutions that have been found.
Public property MIPSolTime
Time at which the last integer feasible solution was found.
Public property MIPStatus
(MIP) solution status.
Public property MipTerminationMethod
Branch and Bound: How a MIP solve should be stopped on early termination when there are still active tasks in the system. This can happen when, for example, a time or node limit is reached.
Public property MIPThreadID
The ID for the MIP thread.
Public property MIPThreads
If set to a positive integer it determines the number of threads implemented to run the parallel MIP code. If MIPTHREADS is set to the default value ( -1), the THREADS control will determine the number of threads used.
Public property MIPTol
Branch and Bound: This is the tolerance within which a decision variable's value is considered to be integral.
Public property MipTolTarget
Target MIPTOL value used by the automatic MIP solution refiner as defined by REFINEOPS. Negative and zero values are ignored.
Public property MIQCPAlg
This control determines which algorithm is to be used to solve mixed integer quadratic constrained and mixed integer second order cone problems.
Public property MPS18Compatible
Provides compatibility of MPS file output for older MPS readers.
Public property MPSBoundName
When reading an MPS file, this control determines which entries from the BOUNDS section will be read. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MPSEcho
Determines whether comments in MPS matrix files are to be printed out during matrix input.
Public property MPSFormat
Specifies the format of MPS files.
Public property MPSNameLength
Control MPSNAMELENGTH.
Public property MPSObjName
When reading an MPS file, this control determines which neutral row will be read as the objective function. If this control is set when reading a multi-objective MPS file, only the named objective will be read; all other objectives will be ignored. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MPSRangeName
When reading an MPS file, this control determines which entries from the RANGES section will be read. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MPSRHSName
When reading an MPS file, this control determines which entries from the RHS section will be read. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property MsMaxBoundRange
Defines the maximum range inside which initial points are generated by multistart presets
Public property MultiObjLog
Log level for multi-objective optimization.
Public property MultiObjOps
Modifies the behaviour of the optimizer when solving multi-objective problems.
Public property MultiStart
The multistart master control. Defines if the multistart search is to be initiated, or if only the baseline model is to be solved.
Public property MultiStart_Log
The level of logging during the multistart run.
Public property MultiStart_MaxSolves
The maximum number of jobs to create during the multistart search.
Public property MultiStart_MaxTime
The maximum total time to be spent in the mutlistart search.
Public property MultiStart_PoolSize
The maximum number of problem objects allowed to pool up before synchronization in the deterministic multistart.
Public property MultiStart_Seed
Random seed used for the automatic generation of initial point when loading multistart presets
Public property MultiStart_Threads
The maximum number of threads to be used in multistart
Public property MutexCallBacks
Branch and Bound: This determines whether the callback routines are mutexed from within the optimizer.
Public property NameLength
The length (in 8 character units) of row and column names in the matrix. To allocate a character array to store names, you must allow 8*NAMELENGTH+1 characters per name (the +1 allows for the string terminator character).
Public property NetCuts Obsolete.
Control NETCUTS.
Public property NetStallLimit
Limit the number of degenerate pivots of the network simplex algorithm, before switching to either primal or dual simplex, depending on ALGAFTERNETWORK.
Public property NlpCalcThreads
Number of threads used for formula and derivatives evaluations
Public property NlpDefaultIV
Default initial value for an SLP variable if none is explicitly given
Public property NlpDerivatives
Bitmap describing the method of calculating derivatives
Public property NlpDeterministic
Determines if the parallel features of SLP should be guaranteed to be deterministic
Public property NlpEqualsColumn
Index of the reserved "=" column
Public property NlpEvaluate
Evaluation strategy for user functions
Public property NlpFindIV
Option for running a heuristic to find a feasible initial point
Public property NlpFuncEval
Bit map for determining the method of evaluating user functions and their derivatives
Public property NlpHessian
Second order differentiation mode when using analytical derivatives
Public property NlpIfs
Number of internal functions
Public property NlpImplicitVariables
Number of SLP variables appearing only in coefficients
Public property NlpInfinity
Value returned by a divide-by-zero in a formula
Public property NlpJacobian
First order differentiation mode when using analytical derivatives
Public property NlpJobID
Unique identifier for the current job
Public property NlpKeepBestIter
The iteration in which the returned solution has been found.
Public property NlpLinQuadBR
Use linear and quadratic constraints and objective function to further reduce bounds on all variables
Public property NlpLog
Level of printing during SLP iterations
Public property NlpMaxTime
The maximum time in seconds that the SLP optimization will run before it terminates
Public property NlpMeritLambda
Factor by which the net objective is taken into account in the merit function
Public property NlpModelCols
Number of model columns in the problem
Public property NlpModelRows
Number of model rows in the problem
Public property NlpObjVal
Objective function value excluding any penalty costs
Public property NlpOptTime
Time spent in optimization
Public property NlpOriginalCols
Number of model columns in the extended original problem
Public property NlpOriginalRows
Number of model rows in the extended original problem
Public property NlpPostsolve
This control determines whether postsolving should be performed automatically
Public property NlpPresolve
This control determines whether presolving should be performed prior to starting the main algorithm
Public property NlpPresolve_ElimTol
Tolerance for nonlinear eliminations during SLP presolve
Public property NlpPresolveEliminations
Number of SLP variables eliminated by XSLPpresolve
Public property NlpPresolveLevel
This control determines the level of changes presolve may carry out on the problem and whether column/row indices may change
Public property NlpPresolveOps
Bitmap indicating the SLP presolve actions to be taken
Public property NlpPresolveZero
Minimum absolute value for a variable which is identified as nonzero during SLP presolve
Public property NlpPrimalIntegralAlpha
Decay term for primal integral computation
Public property NlpPrimalIntegralRef
Reference solution value to take into account when calculating the primal integral
Public property NlpProbing
This control determines whether probing on a subset of variables should be performed prior to starting the main algorithm. Probing runs multiple times bound reduction in order to further tighten the bounding box.
Public property NlpReformulate
Controls the problem reformulations carried out before augmentation. This allows SLP to take advantage of dedicated algorithms for special problem classes.
Public property NLPSolver
Selects the library to use for local solves
Public property NlpStatus
Bitmap holding the problem convergence status
Public property NlpStopOutOfRange
Stop optimization and return error code if internal function argument is out of range
Public property NlpStopStatus
Status of the optimization process.
Public property NlpThreads
Default number of threads to be used
Public property NlpThreadSafeUserFunc
Defines if user functions are allowed to be called in parallel
Public property NlpUFs
Number of user functions
Public property NlpUseDerivatives
Indicates whether numeric or analytic derivatives were used to create the linear approximations and solve the problem
Public property NlpUserFuncCalls
Number of calls made to user functions
Public property NlpValidationFactor
Minimum improvement in validation targets to continue iterating
Public property NlpValidationIndex_A
Absolute validation index
Public property NlpValidationIndex_K
Relative first order optimality validation index
Public property NlpValidationIndex_R
Relative validation index
Public property NlpValidationTarget_K
Optimality target tolerance
Public property NlpValidationTarget_R
Feasiblity target tolerance
Public property NlpValidationTol_A
Absolute tolerance for the XSLPvalidate procedure
Public property NlpValidationTol_K
Relative tolerance for the XSLPvalidatekkt procedure
Public property NlpValidationTol_R
Relative tolerance for the XSLPvalidate procedure
Public property NlpVariables
Number of SLP variables
Public property NlpZero
Absolute tolerance
Public property NodeDepth
Depth of the current node.
Public property NodeProbingEffort
Adjusts the overall level of node probing.
Public property Nodes
Number of nodes solved so far in the MIP search. A node is counted as solved when it is either dropped or branched on.
Public property NodeSelection
Branch and Bound: This determines which nodes will be considered for solution once the current node has been solved.
Public property NonLinearConstraints
Number of nonlinear constraints in the problem
Public property NumericalEmphasis
How much emphasis to place on numerical stability instead of solve speed.
Public property NumIIS
Number of IISs found. You should first query the IISSOLSTATUS attribute to make sure that the IIS procedure terminated successfully.
Public property Objectives
Number of objectives in the problem.
Public property ObjectPointer
Returns the C language 'pointer' to the native object that this managed class is wrapping. For internal FICO use only.
(Inherited from XPRSobject.)
Public property ObjName Obsolete.
Public property ObjRHS
Fixed part of the objective function.
Public property ObjScaleFactor
Custom objective scaling factor, expressed as a power of 2. When set, it overwrites the automatic objective scaling factor. A value of 0 means no objective scaling. This control is applied for the full solve, and is independent of any extra scaling that may occur specifically for the barrier or simplex solvers. As it is a power of 2, to scale by 16, set the value of the control to 4.
Public property ObjSense
Get objective sense.
Public property OBJSense
Sense of the optimization being performed.
Public property ObjsToSolve
Number of objectives that will be solved during the current multi-objective solve.
Public property ObjVal
Value of the objective function of the last problem solved with optimize.
Public property ObservedPrimalIntegral
Value of the (observed) primal integral.
Public property OptimalityTol
Simplex: This is the zero tolerance for reduced costs. On each iteration, the simplex method searches for a variable to enter the basis which has a negative reduced cost. The candidates are only those variables which have reduced costs less than the negative value of OPTIMALITYTOL.
Public property OptimalityTolTarget
This specifies the target optimality tolerance for the solution refiner.
Public property OptimizeTypeUsed
The type of solver used in the last call to optimize, mipOptimize, lpOptimize or nlpOptimize.
Public property OriginalCols
Number of columns (i.e. variables) in the original matrix before presolving.
Public property OriginalGenconCols
Number of input variables in general constraints in the original problem before presolving.
Public property OriginalGencons
Number of general constraints in the original problem before presolving.
Public property OriginalGenconVals
Number of constant values in general constraints in the original problem before presolving.
Public property OriginalIndicators
Number of indicator constraints in the original matrix before presolving.
Public property OriginalMIPEnts
Number of MIP entities (i.e. binary, integer, semi-continuous, partial integer, and semi-continuous integer variables) but excluding the number of special ordered sets in the original matrix before presolving.
Public property OriginalPwlpoints
Number of breakpoints of piecewise linear constraints in the original problem before presolving.
Public property OriginalPwls
Number of piecewise linear constraints in the original problem before presolving.
Public property OriginalQCElems
Number of quadratic row coefficients in the original matrix before presolving.
Public property OriginalQConstraints
Number of rows with quadratic coefficients in the original matrix before presolving.
Public property OriginalQElems
Number of quadratic non-zeros in the original objective before presolving.
Public property OriginalRows
Number of rows (i.e. constraints) in the original matrix before presolving.
Public property OriginalSetMembers
Number of variables within special ordered sets (set members) in the original matrix before presolving.
Public property OriginalSets
Number of special ordered sets in the original matrix before presolving.
Public property OutputControls
This control toggles the printing of all control settings at the beginning of the search. This includes the printing of controls that have been explicitly assigned to their default value. All unset controls are omitted as they keep their default value.
Public property OutputLog
This controls the level of output produced by the Optimizer during optimization. In the Console Optimizer, OUTPUTLOG controls which messages are sent to the screen ( stdout). When using the Optimizer library, no output is sent to the screen. If the user wishes output to be displayed, they must define a callback function and print messages to the screen themselves. In this case, OUTPUTLOG controls which messages are sent to the user output callback.
Public property OutputMask
Mask to restrict the row and column names written to file. As with all string controls, this is of length 64 characters plus a null terminator, \0.
Public property OutputTol
Zero tolerance on print values.
Public property ParentNode
The parent node of the current node in the tree search.
Public property PeakMemory
An estimate of the peak amount of dynamically allocated heap memory by the problem.
Public property PeakTotalTreeMemoryUsage
The peak size, in megabytes, that the branch-and-bound search tree reached during the solve. Note that this value will include the uncompressed size of any compressed data and the size of any data saved to the tree file.
Public property Penalty
Minimum absolute penalty variable coefficient. BIGM and PENALTY are set by the input routine ( readProb ( READPROB)) but may be reset by the user prior to lpOptimize ( LPOPTIMIZE).
Public property PenaltyValue
The weighted sum of violations in the solution to the relaxed problem identified by the infeasibility repair function.
Public property PhysicalCoresDetected
The total number of physical cores across all CPUs detected by the optimizer.
Public property PhysicalCoresPerCPUDetected
The number of physical cores per CPU detected by the optimizer.
Public property PivotTol
Simplex: The zero tolerance for matrix elements. On each iteration, the simplex method seeks a nonzero matrix element to pivot on. Any element with absolute value less than PIVOTTOL is treated as zero for this purpose.
Public property PPFactor
The partial pricing candidate list sizing parameter.
Public property PreAnalyticcenter
Determines if analytic centers should be computed and used for variable fixing and the generation of alternative reduced costs (-1: Auto 0: Off, 1: Fixing, 2: Redcost, 3: Both)
Public property PreBasisRed
Determines if a lattice basis reduction algorithm should be attempted as part of presolve
Public property PreBndRedCone
Determines if second order cone constraints should be used for inferring bound reductions on variables when solving a MIP.
Public property PreBndRedQuad
Determines if convex quadratic constraints should be used for inferring bound reductions on variables when solving a MIP.
Public property PreCliqueStrategy
Determines how much effort to spend on clique covers in presolve.
Public property PreCoefElim
Presolve: Specifies whether the optimizer should attempt to recombine constraints in order to reduce the number of non zero coefficients when presolving a mixed integer problem.
Public property PreComponents
Presolve: determines whether small independent components should be detected and solved as individual subproblems during root node processing.
Public property PreComponentsEffort
Presolve: adjusts the overall effort for the independent component presolver. This control affects working limits for the subproblem solving as well as thresholds when it is called. Increase to put more emphasis on component presolving.
Public property PreConeDecomp
Presolve: decompose regular and rotated cones with more than two elements and apply Outer Approximation on the resulting components.
Public property PreConfiguration
MIP Presolve: determines whether binary rows with only few repeating coefficients should be reformulated. The reformulation enumerates the extremal feasible configurations of a row and introduces new columns and rows to model the choice between these extremal configurations. This presolve operation can be disabled as part of the (advanced) IP reductions PRESOLVEOPS.
Public property PreConvertObjToCons
Presolve: convert a linear or quadratic objective function into an objective transfer constraint
Public property PreConvertSeparable
Presolve: reformulate problems with a non-diagonal quadratic objective and/or constraints as diagonal quadratic or second-order conic constraints.
Public property PredictedAttLevel
A measure between 0 and 1 to predict how numerically unstable the current MIP solve can be expected to be. After the root LP solve, a machine learning model is used to predict the actual ATTENTIONLEVEL which will only be computed if MIPKAPPAFREQ is set to a nonzero value. If the predicted attention level exceeds a value of 0.1, a message will be printed to the log.
Public property PreDomCol
Presolve: Determines the level of dominated column removal reductions to perform when presolving a mixed integer problem. Only binary columns will be checked.
Public property PreDomRow
Presolve: Determines the level of dominated row removal reductions to perform when presolving a problem.
Public property PreDupRow
Presolve: Determines the type of duplicate rows to look for and eliminate when presolving a problem.
Public property PreElimQuad
Presolve: Allows for elimination of quadratic variables via doubleton rows.
Public property PreFolding
Presolve: Determines if a folding procedure should be used to aggregate continuous columns in an equitable partition.
Public property PreImplications
Presolve: Determines whether to use implication structures to remove redundant rows. If implication sequences are detected, they might also be used in probing.
Public property PreLinDep
Presolve: Determines whether to check for and remove linearly dependent equality constraints when presolving a problem.
Public property PreObjCutDetect
Presolve: Determines whether to check for constraints that are parallel or near parallel to a linear objective function, and which can safely be removed. This reduction applies to MIPs only.
Public property PrePermute
This bit vector control specifies whether to randomly permute rows, columns and MIP entities when starting the presolve. With the default value 0, no permutation will take place.
Public property PrePermuteSeed
This control sets the seed for the pseudo-random number generator for permuting the problem when starting the presolve. This control only has effects when PREPERMUTE is enabled.
Public property PreProbing
Presolve: Amount of probing to perform on binary variables during presolve. This is done by fixing a binary to each of its values in turn and analyzing the implications.
Public property PreProtectDual
Presolve: specifies whether the presolver should protect a given dual solution by maintaining the same level of dual feasibility. Enabling this control often results in a worse presolved model. This control only expected to be optionally enabled before calling crossoverLpSol.
Public property Presolve
This control determines whether presolving should be performed prior to starting the main algorithm. Presolve attempts to simplify the problem by detecting and removing redundant constraints, tightening variable bounds, etc. In some cases, infeasibility may even be determined at this stage, or the optimal solution found.
Public property PresolveIndex
Presolve: The row or column index on which presolve detected a problem to be infeasible or unbounded.
Public property PresolveMaxGrow
Limit on how much the number of non-zero coefficients is allowed to grow during presolve, specified as a ratio of the number of non-zero coefficients in the original problem.
Public property PresolveOps
This bit vector control specifies the operations which are performed during the presolve.
Public property PresolvePasses
Number of reduction rounds to be performed in presolve
Public property PresolveState
Problem status as a bit map.
Public property PreSort
This bit vector control specifies whether to sort rows, columns and MIP entities by their names when starting the presolve. With the default value 0, no sorting will take place.
Public property PricingAlg
Simplex: This determines the primal simplex pricing method. It is used to select which variable enters the basis on each iteration. In general Devex pricing requires more time on each iteration, but may reduce the total number of iterations, whereas partial pricing saves time on each iteration, but may result in more iterations.
Public property PrimalDualIntegral
Value of the primal-dual integral.
Public property PrimalInfeas
Number of primal infeasibilities.
Public property PrimalOps
Primal simplex: allows fine tuning the variable selection in the primal simplex solver.
Public property PrimalPerturb
The factor by which the problem will be perturbed prior to optimization by primal simplex. A value of 0.0 results in no perturbation prior to optimization. Note the interconnection to the AUTOPERTURB control. If AUTOPERTURB is set to 1, the decision whether to perturb or not is left to the Optimizer. When the problem is automatically perturbed in primal simplex, however, the value of PRIMALPERTURB will be used for perturbation.
Public property PrimalUnshift
Determines whether primal is allowed to call dual to unshift.
Public property PseudoCost
Branch and Bound: The default pseudo cost used in estimation of the degradation associated with an unexplored node in the tree search. A pseudo cost is associated with each integer decision variable and is an estimate of the amount by which the objective function will be worse if that variable is forced to an integral value.
Public property PwlCons
Number of piecewise linear constraints in the problem.
Public property PwlDualReductions
This parameter specifies whether dual reductions should be applied to reduce the number of columns, rows and SOS-constraints added when transforming piecewise linear objectives and constraints to MIP structs.
Public property PwlNonConvexTransformation
This control specifies the reformulation method for piecewise linear constraints at the beginning of the search. Note that the chosen formulation will only be used if MIP entities are necessary but not if presolve detected that a convex reformulation is possible. Furthermore, the binary formulation will only be applied to piecewise linear constraints with bounded input variable, otherwise the SOS2-formulation will be used.
Public property PwlPoints
Number of breakpoints of piecewise linear constraints in the problem.
Public property QCCuts
Branch and Bound: Limit on the number of rounds of outer approximation cuts generated for the root node, when solving a mixed integer quadratic constrained or mixed integer second order conic problem with outer approximation.
Public property QCElems
Number of quadratic row coefficients in the matrix.
Public property QConstraints
Number of rows with quadratic coefficients in the matrix.
Public property QCRootAlg
This control determines which algorithm is to be used to solve the root of a mixed integer quadratic constrained or mixed integer second order cone problem, when outer approximation is used.
Public property QElems
Number of quadratic non-zeros in the objective.
Public property QSimplexOps
Controls the behavior of the quadratic simplex solvers.
Public property QuadraticUnshift
Determines whether an extra solution purification step is called after a solution found by the quadratic simplex (either primal or dual).
Public property RandomSeed
Sets the initial seed to use for the pseudo-random number generator in the Optimizer. The sequence of random numbers is always reset using the seed when starting a new optimization run.
Public property RangeName
Active range name.
Public property Refactor
Indicates whether the optimization should restart using the current representation of the factorization in memory.
Public property RefineOps
This specifies when the solution refiner should be executed to reduce solution infeasibilities. The refiner will attempt to satisfy the target tolerances for all original linear constraints before presolve or scaling has been applied.
Public property RelaxTreeMemoryLimit
When the memory used by the branch and bound search tree exceeds the target specified by the TREEMEMORYLIMIT control, the optimizer will try to reduce this by writing nodes to the tree file. In rare cases, usually where the solve has many millions of very small nodes, the tree structural data (which cannot be written to the tree file) will grow large enough to approach or exceed the tree's memory target. When this happens, optimizer performance can degrade greatly as the solver makes heavy use of the tree file in preference to memory. To prevent this, the solver will automatically relax the tree memory limit when it detects this case; the RELAXTREEMEMORYLIMIT control specifies the proportion of the previous memory limit by which to relax it. Set RELAXTREEMEMORYLIMIT to 0.0 to force the Xpress Optimizer to never relax the tree memory limit in this way.
Public property RelPivotTol
Simplex: At each iteration a pivot element is chosen within a given column of the matrix. The relative pivot tolerance, RELPIVOTTOL, is the size of the element chosen relative to the largest possible pivot element in the same column.
Public property RepairIndefiniteQ
Controls if the optimizer should make indefinite quadratic matrices positive definite when it is possible.
Public property RepairIndefiniteQMax
Control REPAIRINDEFINITEQMAX.
Public property RepairInfeasMaxTime Obsolete.
Overall time limit for the repairinfeas tool
Public property RepairInfeasTimeLimit
Overall time limit for the repairinfeas tool
Public property ResourceStrategy
Controls whether the optimizer is allowed to make nondeterministic decisions if memory is running low in an effort to preserve memory and finish the solve. Available memory (or container limits) are automatically detected but can also be changed by MAXMEMORYSOFT and MAXMEMORYHARD
Public property Restarts
Total number of restarts performed.
Public property RHSName
Active right hand side name.
Public property RLTCuts
Determines whether RLT cuts should be separated in the Xpress Global Solver.
Public property RootPresolve
Determines if presolving should be performed on the problem after the tree search has finished with root cutting and heuristics.
Public property Rows
Number of rows (i.e. constraints) in the matrix.
Public property SBBest
Number of infeasible MIP entities to initialize pseudo costs for on each node.
Public property SbEffort
Adjusts the overall amount of effort when using strong branching to select an infeasible MIP entity to branch on.
Public property SBEstimate
Branch and Bound: How to calculate pseudo costs from the local node when selecting an infeasible MIP entity to branch on. These pseudo costs are used in combination with local strong branching and history costs to select the branch candidate.
Public property SBIterLimit
Number of dual iterations to perform the strong branching for each entity.
Public property SBSelect
The size of the candidate list of MIP entities for strong branching.
Public property Scaling
This bit vector control determines how the Optimizer will rescale a model internally before optimization. If set to 0, no scaling will take place.
Public property SerializePreIntSol
Setting SERIALIZEPREINTSOL to 1 will ensure that the preintsol callback is always fired in a deterministic order during a parallel MIP solve. This applies only when the control DETERMINISTIC is set to 1.
Public property SetMembers
Number of variables within special ordered sets (set members) in the matrix.
Public property Sets
Number of special ordered sets in the matrix.
Public property Sifting
Determines whether to enable sifting algorithm with the dual simplex method.
Public property SiftPasses
Determines how quickly we allow to grow the worker problems during the sifting algorithm. Using larger values can increase the number of columns added to the worker problem which often results in increased solve times for the worker problems but the number of necessary sifting iterations may be reduced. .
Public property SiftPresolveOps
Determines the presolve operations for solving the subproblems during the sifting algorithm.
Public property SiftSwitch
Determines which algorithm to use for solving the subproblems during sifting.
Public property SimplexIter
Number of simplex iterations performed.
Public property SleepOnThreadWait Obsolete.
In previous versions this was used to determine if the threads should be put into a wait state when waiting for work.
Public property SlpAlgorithm
Bit map describing the SLP algorithm(s) to be used
Public property SlpAnalyze
Bit map activating additional options supporting model / solution path analyzis
Public property SlpATol_A
Absolute delta convergence tolerance
Public property SlpATol_R
Relative delta convergence tolerance
Public property SlpAugmentation
Bit map describing the SLP augmentation method(s) to be used
Public property SlpAutoSave
Frequency with which to save the model
Public property SlpBarCrossoverStart
Default crossover activation behaviour for barrier start
Public property SlpBarLimit
Number of initial SLP iterations using the barrier method
Public property SlpBarStallingLimit
Number of iterations to allow numerical failures in barrier before switching to dual
Public property SlpBarStallingObjLimit
Number of iterations over which to measure the objective change for barrier iterations with no crossover
Public property SlpBarStallingTol
Required change in the objective when progress is measured in barrier iterations without crossover
Public property SlpBarStartOps
Controls behaviour when the barrier is used to solve the linearizations
Public property SlpBoundThreshold
The maximum size of a bound that can be introduced by nonlinear presolve.
Public property SlpCascade
Bit map describing the cascading to be used
Public property SlpCascadeNLimit
Maximum number of iterations for cascading with non-linear determining rows
Public property SlpCascadeTol_PA
Absolute cascading print tolerance
Public property SlpCascadeTol_PR
Relative cascading print tolerance
Public property SlpCDTol_A
Absolute tolerance for deducing constant derivatives
Public property SlpCDTol_R
Relative tolerance for deducing constant derivatives
Public property SlpClampShrink
Shrink ratio used to impose strict convergence on variables converged in extended criteria only
Public property SlpClampValidationTol_A
Absolute validation tolerance for applying XSLP_CLAMPSHRINK
Public property SlpClampValidationTol_R
Relative validation tolerance for applying XSLP_CLAMPSHRINK
Public property SlpCoefficients
Number of nonlinear coefficients
Public property SlpConvergenceOps
Bit map describing which convergence tests should be carried out
Public property SlpCTol
Closure convergence tolerance
Public property SlpCurrentDeltaCost
Current value of penalty cost multiplier for penalty delta vectors
Public property SlpCurrentErrorCost
Current value of penalty cost multiplier for penalty error vectors
Public property SlpCutStrategy
Determines whihc cuts to apply in the MISLP search when the default SLP-in-MIP strategy is used.
Public property SlpDamp
Damping factor for updating values of variables
Public property SlpDampExpand
Multiplier to increase damping factor during dynamic damping
Public property SlpDampMax
Maximum value for the damping factor of a variable during dynamic damping
Public property SlpDampMin
Minimum value for the damping factor of a variable during dynamic damping
Public property SlpDampShrink
Multiplier to decrease damping factor during dynamic damping
Public property SlpDampStart
SLP iteration at which damping is activated
Public property SlpDefaultStepBound
Minimum initial value for the step bound of an SLP variable if none is explicitly given
Public property SlpDelayUpdateRows
Number of SLP iterations before update rows are fully activated
Public property SlpDelta_A
Absolute perturbation of values for calculating numerical derivatives
Public property SlpDelta_Infinity
Maximum value for partial derivatives
Public property SlpDelta_R
Relative perturbation of values for calculating numerical derivatives
Public property SlpDelta_X
Minimum absolute value of delta coefficients to be retained
Public property SlpDelta_Z
Tolerance used when calculating derivatives
Public property SlpDelta_Zero
Absolute zero acceptance tolerance used when calculating derivatives
Public property SlpDeltaCost
Initial penalty cost multiplier for penalty delta vectors
Public property SlpDeltaCostFactor
Factor for increasing cost multiplier on total penalty delta vectors
Public property SlpDeltaMaxCost
Maximum penalty cost multiplier for penalty delta vectors
Public property SlpDeltaOffset
Position of first character of SLP variable name used to create name of delta vector
Public property SlpDeltas
Number of delta vectors created during augmentation
Public property SlpDeltaZLimit
Number of SLP iterations during which to apply XSLP_DELTA_Z
Public property SlpDJTol
Tolerance on DJ value for determining if a variable is at its step bound
Public property SlpDRColDjTol
Reduced cost tolerance on the delta variable when fixing due to the determining column being below XSLP_DRCOLTOL.
Public property SlpDRColTol
The minimum absolute magnitude of a determining column, for which the determined variable is still regarded as well defined
Public property SlpDRFixRange
The range around the previous value where variables are fixed in cascading if the determining column is below XSLP_DRCOLTOL.
Public property SlpECFCheck
Check feasibility at the point of linearization for extended convergence criteria
Public property SlpECFCount
Number of infeasible constraints found at the point of linearization
Public property SlpEcfTol_A
Absolute tolerance on testing feasibility at the point of linearization
Public property SlpEcfTol_R
Relative tolerance on testing feasibility at the point of linearization
Public property SlpEnforceCostShrink
Factor by which to decrease the current penalty multiplier when enforcing rows.
Public property SlpEnforceMaxCost
Maximum penalty cost in the objective before enforcing most violating rows
Public property SlpErrorCost
Initial penalty cost multiplier for penalty error vectors
Public property SlpErrorCostFactor
Factor for increasing cost multiplier on total penalty error vectors
Public property SlpErrorCosts
Total penalty costs in the solution
Public property SlpErrorMaxCost
Maximum penalty cost multiplier for penalty error vectors
Public property SlpErrorOffset
Position of first character of constraint name used to create name of penalty error vectors
Public property SlpErrorTol_A
Absolute tolerance for error vectors
Public property SlpErrorTol_P
Absolute tolerance for printing error vectors
Public property SlpEscalation
Factor for increasing cost multiplier on individual penalty error vectors
Public property SlpETol_A
Absolute tolerance on penalty vectors
Public property SlpETol_R
Relative tolerance on penalty vectors
Public property SlpEVTol_A
Absolute tolerance on total penalty costs
Public property SlpEVTol_R
Relative tolerance on total penalty costs
Public property SlpExpand
Multiplier to increase a step bound
Public property SlpFeastolTarget
When set, this defines a target feasibility tolerance to which the linearizations are solved to
Public property SlpFilter
Bit map for controlling solution updates
Public property SlpGranularity
Base for calculating penalty costs
Public property SlpGridHeurSelect
Bit map selectin which heuristics to run if the problem has variable with an integer delta
Public property SlpHeurStrategy
Branch and Bound: This specifies the MINLP heuristic strategy. On some problems it is worth trying more comprehensive heuristic strategies by setting HEURSTRATEGY to 2 or 3.
Public property SlpInfeasLimit
The maximum number of consecutive infeasible SLP iterations which can occur before Xpress-SLP terminates
Public property SlpIter
SLP iteration count
Public property SlpIterLimit
The maximum number of SLP iterations
Public property SlpItol_A
Absolute impact convergence tolerance
Public property SlpITol_R
Relative impact convergence tolerance
Public property SlpLSIterLimit
Number of iterations in the line search
Public property SlpLSPatternLimit
Number of iterations in the pattern search preceding the line search
Public property SlpLSStart
Iteration in which to active the line search
Public property SlpLSZeroLimit
Maximum number of zero length line search steps before line search is deactivated
Public property SlpMatrixTol
Nonzero tolerance for dropping coefficients from the linearization.
Public property SlpMaxWeight
Maximum penalty weight for delta or error vectors
Public property SlpMinSBFactor
Factor by which step bounds can be decreased beneath XSLP_ATOL_A
Public property SlpMinusPenaltyErrors
Number of negative penalty error vectors
Public property SlpMinWeight
Minimum penalty weight for delta or error vectors
Public property SlpMipAlgorithm
Bitmap describing the MISLP algorithms to be used
Public property SlpMipCutoff_A
Absolute objective function cutoff for MIP termination
Public property SlpMipCutoff_R
Absolute objective function cutoff for MIP termination
Public property SlpMipCutOffCount
Number of SLP iterations to check when considering a node for cutting off
Public property SlpMipCutoffLimit
Number of SLP iterations to check when considering a node for cutting off
Public property SlpMipDefaultAlgorithm
Default algorithm to be used during the tree search in MISLP
Public property SlpMipErrorTol_A
Absolute penalty error cost tolerance for MIP cut-off
Public property SlpMipErrorTol_R
Relative penalty error cost tolerance for MIP cut-off
Public property SlpMipFixStepBounds
Bitmap describing the step-bound fixing strategy during MISLP
Public property SlpMipIter
Total number of SLP iterations in MISLP
Public property SlpMipIterLimit
Maximum number of SLP iterations at each node
Public property SlpMipLog
Frequency with which MIP status is printed
Public property SlpMipNodes
Number of nodes explored in MISLP. This includes any nodes for which a non-linear solve has been carried out.
Public property SlpMipOCount
Number of SLP iterations at each node over which to measure objective function variation
Public property SlpMipOtol_A
Absolute objective function tolerance for MIP termination
Public property SlpMipOtol_R
Relative objective function tolerance for MIP termination
Public property SlpMipRelaxStepBounds
Bitmap describing the step-bound relaxation strategy during MISLP
Public property SlpMipSols
Number of integer solutions found in MISLP. This includes solutions found during the tree search or any heuristics.
Public property SlpMTol_A
Absolute effective matrix element convergence tolerance
Public property SlpMTol_R
Relative effective matrix element convergence tolerance
Public property SlpMVTol
Marginal value tolerance for determining if a constraint is slack
Public property SlpNonConstantCoeffs
Number of coefficients in the augmented problem that might change between SLP iterations
Public property SlpObjThreshold
Assumed maximum value of the objective function in absolute value.
Public property SlpObjToPenaltyCost
Factor to estimate initial penalty costs from objective function
Public property SlpOCount
Number of SLP iterations over which to measure objective function variation for static objective (2) convergence criterion
Public property SlpOptimalityTolTarget
When set, this defines a target optimality tolerance to which the linearizations are solved to
Public property SlpOTol_A
Absolute static objective (2) convergence tolerance
Public property SlpOTol_R
Relative static objective (2) convergence tolerance
Public property SlpPenaltyDeltaColumn
Index of column costing the penalty delta row
Public property SlpPenaltyDeltaRow
Index of equality row holding the penalties for delta vectors
Public property SlpPenaltyDeltas
Number of penalty delta vectors
Public property SlpPenaltyDeltaTotal
Total activity of penalty delta vectors
Public property SlpPenaltyDeltaValue
Total penalty cost attributed to penalty delta vectors
Public property SlpPenaltyErrorColumn
Index of column costing the penalty error row
Public property SlpPenaltyErrorRow
Index of equality row holding the penalties for penalty error vectors
Public property SlpPenaltyErrors
Number of penalty error vectors
Public property SlpPenaltyErrorTotal
Total activity of penalty error vectors
Public property SlpPenaltyErrorValue
Total penalty cost attributed to penalty error vectors
Public property SlpPenaltyInfoStart
Iteration from which to record row penalty information
Public property SlpPlusPenaltyErrors
Number of positive penalty error vectors
Public property SlpSameCount
Number of steps reaching the step bound in the same direction before step bounds are increased
Public property SlpSameDamp
Number of steps in same direction before damping factor is increased
Public property SlpSBRowOffset
Position of first character of SLP variable name used to create name of SLP lower and upper step bound rows
Public property SlpSBStart
SLP iteration after which step bounds are first applied
Public property SlpSbxConverged
Number of step-bounded variables converged only on extended criteria
Public property SlpShrink
Multiplier to reduce a step bound
Public property SlpShrinkBias
Defines an overwrite / adjustment of step bounds for improving iterations
Public property SlpStatus
Bitmap holding the problem convergence status
Public property SlpSTol_A
Absolute slack convergence tolerance
Public property SlpSTol_R
Relative slack convergence tolerance
Public property SlpTolSets
Number of tolerance sets.
Public property SlpTraceMaskOps
Controls the information printed for XSLP_TRACEMASK. The order in which the information is printed is determined by the order of bits in XSLP_TRACEMASKOPS.
Public property SlpUCConstrainedCount
Number of unconverged variables with coefficients in constraining rows
Public property SlpUnConverged
Number of unconverged values
Public property SlpUnFinishedLimit
The number of consecutive SLP iterations that may have an unfinished status before the solve is terminated.
Public property SlpUpdateOffset
Position of first character of SLP variable name used to create name of SLP update row
Public property SlpVCount
Number of SLP iterations over which to measure static objective (3) convergence
Public property SlpVLimit
Number of SLP iterations after which static objective (3) convergence testing starts
Public property SlpVTol_A
Absolute static objective (3) convergence tolerance
Public property SlpVTol_R
Relative static objective (3) convergence tolerance
Public property SlpWCount
Number of SLP iterations over which to measure the objective for the extended convergence continuation criterion
Public property SlpWTol_A
Absolute extended convergence continuation tolerance
Public property SlpWTol_R
Relative extended convergence continuation tolerance
Public property SlpXCount
Number of SLP iterations over which to measure static objective (1) convergence
Public property SlpXLimit
Number of SLP iterations up to which static objective (1) convergence testing starts
Public property SlpXTol_A
Absolute static objective function (1) tolerance
Public property SlpXTol_R
Relative static objective function (1) tolerance
Public property SlpZeroCriterion
Bitmap determining the behavior of the placeholder deletion procedure
Public property SlpZeroCriterionCount
Number of consecutive times a placeholder entry is zero before being considered for deletion
Public property SlpZeroCriterionStart
SLP iteration at which criteria for deletion of placeholder entries are first activated.
Public property SlpZeroesReset
Number of placeholder entries set to zero
Public property SlpZeroesRetained
Number of potentially zero placeholders left untouched
Public property SlpZeroesTotal
Number of potential zero placeholder entries
Public property SolStatus
Status of the solution of the last problem solved with optimize.
Public property SolTimeLimit
The maximum time in seconds that the Optimizer will run a MIP solve before it terminates, given that a solution has been found. As long as no solution has been found, this control will have no effect.
Public property SolvedObjs
Number of objectives that have been solved so far during a multi-objective solve.
Public property SolveStatus
Status of the solve of the last problem solved with optimize.
Public property SOSRefTol
The minimum relative gap between the ordering values of elements in a special ordered set. The gap divided by the absolute value of the larger of the two adjacent values must be at least SOSREFTOL.
Public property SpareCols
Number of spare columns in the matrix.
Public property SpareElems
Number of spare matrix elements in the matrix.
Public property SpareMIPEnts
Number of spare MIP entities in the matrix.
Public property SpareRows
Number of spare rows in the matrix.
Public property SpareSetElems
Number of spare set elements in the matrix.
Public property SpareSets
Number of spare sets in the matrix.
Public property StopStatus
Status of the optimization process.
Public property SumPrimalInf
Scaled sum of primal infeasibilities.
Public property Symmetry
Adjusts the overall amount of effort for symmetry detection.
Public property SymSelect
Adjusts the overall amount of effort for symmetry detection.
Public property SystemMemory
The amount of non problem specific memory used by the solver.
Public property Threads
The default number of threads used during optimization.
Public property Time
Time spent solving the problem as measured by the optimizer.
Public property TimeLimit
The maximum time in seconds that the Optimizer will run before it terminates, including the problem setup time and solution time. For MIP problems, this is the total time taken to solve all nodes.
Public property TotalMemory
The amount of dynamically allocated heap memory by the optimizer, including all problems currently exsisting.
Public property Trace
Display the infeasibility diagnosis during presolve. If non-zero, an explanation of the logical deductions made by presolve to deduce infeasibility or unboundedness will be displayed on screen or sent to the message callback function.
Public property TreeCompletion
Estimation of the relative completion of the search tree as fraction between 0 and 1. Its accuracy mainly depends on the level of degeneracy of a problem and the balancedness of the search tree.
Public property TreeCompression
When writing nodes to the gloal file, the optimizer can try to use data-compression techniques to reduce the size of the tree file on disk. The TREECOMPRESSION control determines the strength of the data-compression algorithm used; higher values give superior data-compression at the affect of decreasing performance, while lower values compress quicker but not as effectively. Where TREECOMPRESSION is set to 0, no data compression will be used on the tree file.
Public property TreeCoverCuts
Branch and Bound: The number of rounds of lifted cover inequalities generated at nodes other than the top node in the tree. Compare with the description for COVERCUTS. A value of -1 indicates the number of rounds is determined automatically.
Public property TreeCutSelect
A bit vector providing detailed control of the cuts created during the tree search of a MIP solve. Use CUTSELECT to control cuts on the root node.
Public property TreeDiagnostics
A bit vector providing control over how various tree-management-related messages get printed in the tree log file during the branch-and-bound search.
Public property TreeFileLogInterval
This control sets the interval between progress messages output while writing tree data to the tree file, in seconds. The solve is slowed greatly while data is being written to the tree file and this output allows the user to see how much progress is being made.
Public property TreeFileSize
The allocated size of the tree file, in megabytes. Because data can be removed from the tree file during the branch and bound search, the size of the tree file is usually greater than the amount of data currently within it (represented by the TREEFILEUSAGE attribute).
Public property TreeFileUsage
The number of megabytes of data from the branch-and-bound tree that have been saved to the tree file. Note that the actual allocated size of the tree file (represented by the TREEFILESIZE attribute) may be greater than this value.
Public property TreeGomCuts
Branch and Bound: The number of rounds of Gomory cuts generated at nodes other than the first node in the tree. Compare with the description for GOMCUTS. A value of -1 indicates the number of rounds is determined automatically.
Public property TreeMemoryLimit
A soft limit, in megabytes, for the amount of memory to use in storing the branch and bound search tree. This doesn't include memory used for presolve, heuristics, solving the LP relaxation, etc. When set to 0 (the default), the optimizer will calculate a limit automatically based on the amount of free physical memory detected in the machine. When the memory used by the branch and bound tree exceeds this limit, the optimizer will try to reduce the memory usage by writing lower-rated sections of the tree to a file called the "tree file". Though the solve can continue if it cannot bring the tree memory usage below the specified limit, performance will be inhibited and a message will be printed to the log.
Public property TreeMemorySavingTarget
When the memory used by the branch-and-bound search tree exceeds the limit specified by the TREEMEMORYLIMIT control, the optimizer will try to save memory by writing lower-rated sections of the tree to the tree file. The target amount of memory to save will be enough to bring memory usage back below the limit, plus enough extra to give the tree room to grow. The TREEMEMORYSAVINGTARGET control specifies the extra proportion of the tree's size to try to save; for example, if the tree memory limit is 1000Mb and TREEMEMORYSAVINGTARGET is 0.1, when the tree size exceeds 1000Mb the optimizer will try to reduce the tree size to 900Mb. Reducing the value of TREEMEMORYSAVINGTARGET will cause less extra nodes of the tree to be written to the tree file, but will result in the memory saving routine being triggered more often (as the tree will have less room in which to grow), which can reduce performance. Increasing the value of TREEMEMORYSAVINGTARGET will cause additional, more highly-rated nodes, of the tree to be written to the tree file, which can cause performance issues if these nodes are required later in the solve.
Public property TreeMemoryUsage
The amount of physical memory, in megabytes, currently being used to store the branch-and-bound search tree.
Public property TreeQCCuts
Branch and Bound: Limit on the number of rounds of outer approximation cuts generated for nodes other than the root node, when solving a mixed integer quadratic constrained or mixed integer second order conic problem with outer approximation.
Public property TreeRestarts
Number of in-tree restarts performed.
Public property TunerHistory
Tuner: Whether to reuse and append to previous tuner results of the same problem.
Public property TunerMaxTime
Tuner: The maximum time in seconds that the tuner will run before it terminates.
Public property TunerMethod
Tuner: Selects a factory tuner method. A tuner method consists of a list of controls with different settings that the tuner will evaluate and try to combine.
Public property TunerMethodFile
Tuner: Defines a file from which the tuner can read user-defined tuner method.
Public property TunerMode
Tuner: Whether to always enable the tuner or disable it.
Public property TunerOutput
Tuner: Whether to output tuner results and logs to the file system.
Public property TunerOutputPath
Tuner: Defines a root path to which the tuner writes the result file and logs.
Public property TunerPermute
Tuner: Defines the number of permutations to solve for each control setting.
Public property TunerSessionName
Tuner: Defines a session name for the tuner.
Public property TunerTarget
Tuner: Defines the tuner target -- what should be evaluated when comparing two runs with different control settings.
Public property TunerThreads
Tuner: the number of threads used by the tuner.
Public property TunerVerbose
Tuner: whether the tuner should prints detailed information for each run.
Public property UserSolHeuristic
Determines how much effort to put into running a local search heuristic to find a feasible integer solution from a partial or infeasible user solution.
Public property UUID
Universally Unique Identifier for the problem instance.
Public property VarSelection
Branch and Bound: This determines the formula used to calculate the estimate of each integer variable, and thus which integer variable is selected to be branched on at a given node. The variable selected to be branched on is the one with the maximum estimate.
Public property Version
The Optimizer version number, e.g. 1301 meaning release 13.01.
Public property XpressVersion
The Xpress version number.
Top
Methods
  Name Description
Public method AddAfterObjectiveCallback(AfterObjectiveCallback)
Add AfterObjective callback.
Public method AddAfterObjectiveCallback(AfterObjectiveCallback, Int32)
Add AfterObjective callback with the specified priority.
Public method AddAfterObjectiveCallback(AfterObjectiveCallback, Object)
Add AfterObjective callback with a user object that is passed to the callback on invocation.
Public method AddAfterObjectiveCallback(AfterObjectiveCallback, Object, Int32)
Add AfterObjective callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddBarIterationCallback(BarIterationCallback)
Add BarIteration callback.
Public method AddBarIterationCallback(BarIterationCallback, Int32)
Add BarIteration callback with the specified priority.
Public method AddBarIterationCallback(BarIterationCallback, Object)
Add BarIteration callback with a user object that is passed to the callback on invocation.
Public method AddBarIterationCallback(BarIterationCallback, Object, Int32)
Add BarIteration callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddBarlogCallback(BarlogCallback)
Add Barlog callback.
Public method AddBarlogCallback(BarlogCallback, Int32)
Add Barlog callback with the specified priority.
Public method AddBarlogCallback(BarlogCallback, Object)
Add Barlog callback with a user object that is passed to the callback on invocation.
Public method AddBarlogCallback(BarlogCallback, Object, Int32)
Add Barlog callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddBeforeObjectiveCallback(BeforeObjectiveCallback)
Add BeforeObjective callback.
Public method AddBeforeObjectiveCallback(BeforeObjectiveCallback, Int32)
Add BeforeObjective callback with the specified priority.
Public method AddBeforeObjectiveCallback(BeforeObjectiveCallback, Object)
Add BeforeObjective callback with a user object that is passed to the callback on invocation.
Public method AddBeforeObjectiveCallback(BeforeObjectiveCallback, Object, Int32)
Add BeforeObjective callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddBeforeSolveCallback(BeforeSolveCallback)
Add BeforeSolve callback.
Public method AddBeforeSolveCallback(BeforeSolveCallback, Int32)
Add BeforeSolve callback with the specified priority.
Public method AddBeforeSolveCallback(BeforeSolveCallback, Object)
Add BeforeSolve callback with a user object that is passed to the callback on invocation.
Public method AddBeforeSolveCallback(BeforeSolveCallback, Object, Int32)
Add BeforeSolve callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddChangeBranchObjectCallback(ChangeBranchObjectCallback)
Add ChangeBranchObject callback.
Public method AddChangeBranchObjectCallback(ChangeBranchObjectCallback, Int32)
Add ChangeBranchObject callback with the specified priority.
Public method AddChangeBranchObjectCallback(ChangeBranchObjectCallback, Object)
Add ChangeBranchObject callback with a user object that is passed to the callback on invocation.
Public method AddChangeBranchObjectCallback(ChangeBranchObjectCallback, Object, Int32)
Add ChangeBranchObject callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddCheckTimeCallback(CheckTimeCallback)
Add CheckTime callback.
Public method AddCheckTimeCallback(CheckTimeCallback, Int32)
Add CheckTime callback with the specified priority.
Public method AddCheckTimeCallback(CheckTimeCallback, Object)
Add CheckTime callback with a user object that is passed to the callback on invocation.
Public method AddCheckTimeCallback(CheckTimeCallback, Object, Int32)
Add CheckTime callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddChgbranchCallback(ChgbranchCallback) Obsolete.
Add Chgbranch callback.
Public method AddChgbranchCallback(ChgbranchCallback, Int32) Obsolete.
Add Chgbranch callback with the specified priority.
Public method AddChgbranchCallback(ChgbranchCallback, Object) Obsolete.
Add Chgbranch callback with a user object that is passed to the callback on invocation.
Public method AddChgbranchCallback(ChgbranchCallback, Object, Int32) Obsolete.
Add Chgbranch callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddChgnodeCallback(ChgnodeCallback) Obsolete.
Add Chgnode callback.
Public method AddChgnodeCallback(ChgnodeCallback, Int32) Obsolete.
Add Chgnode callback with the specified priority.
Public method AddChgnodeCallback(ChgnodeCallback, Object) Obsolete.
Add Chgnode callback with a user object that is passed to the callback on invocation.
Public method AddChgnodeCallback(ChgnodeCallback, Object, Int32) Obsolete.
Add Chgnode callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddCol(Double, Double, Double)
Add a single column to this problem. This is a shortcut for AddCol(obj, lb, ub, 'C', null, null, null);.
Public method 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);.
Public method 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);.
Public method 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);.
Public method 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);.
Public method AddCol(Double, Double, Double, Char, Int32, Double, String)
Add a single column to the model.
Public method AddCols(Int32, Int32, Double, Int32, Int32, Double, Double, Double)
Adds columns to the optimizer matrix.
Public method AddCols(Int32, Int64, Double, Int64, Int32, Double, Double, Double)
Adds columns to the optimizer matrix.
Public method AddColumn
Add a single column to this problem.
Public method 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.
// Create a multi-dimensional array of binary columns
int[ ] x = prob.AddColumns(dim)
               .WithType(Optimizer.Objects.ColumnType.Binary)
               .ToArray();
See Optimizer.VariableBuilder.ColumnArrayBuilder for details of how to modify the specification in the builder.
Public method 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.
// Create a multi-dimensional array of binary columns
int[ ,] x = prob.AddColumns(dim1 ,dim2)
               .WithType(Optimizer.Objects.ColumnType.Binary)
               .ToArray();
See Optimizer.VariableBuilder.ColumnArray2Builder for details of how to modify the specification in the builder.
Public method 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.
// Create a multi-dimensional array of binary columns
int[ , ,] x = prob.AddColumns(dim1 ,dim2 ,dim3)
               .WithType(Optimizer.Objects.ColumnType.Binary)
               .ToArray();
See Optimizer.VariableBuilder.ColumnArray3Builder for details of how to modify the specification in the builder.
Public method 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.
// Create a multi-dimensional array of binary columns
int[ , , ,] x = prob.AddColumns(dim1 ,dim2 ,dim3 ,dim4)
               .WithType(Optimizer.Objects.ColumnType.Binary)
               .ToArray();
See Optimizer.VariableBuilder.ColumnArray4Builder for details of how to modify the specification in the builder.
Public method 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.
// Create a multi-dimensional array of binary columns
int[ , , , ,] x = prob.AddColumns(dim1 ,dim2 ,dim3 ,dim4 ,dim5)
               .WithType(Optimizer.Objects.ColumnType.Binary)
               .ToArray();
See Optimizer.VariableBuilder.ColumnArray5Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1>(ICollection<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.
// Create a multi-dimensional array of binary columns
System.Collections.Generic.Dictionary<K1 ,int> x = prob.AddColumns(coll1 )
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMapBuilder for details of how to modify the specification in the builder.
Public method AddColumns<K1>(IEnumerable<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.
// Create a multi-dimensional array of binary columns
System.Collections.Generic.Dictionary<K1 ,int> x = prob.AddColumns(coll1 )
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMapBuilder for details of how to modify the specification in the builder.
Public method AddColumns<K1>(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.
// Create a multi-dimensional array of binary columns
System.Collections.Generic.Dictionary<K1 ,int> x = prob.AddColumns(coll1 )
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMapBuilder for details of how to modify the specification in the builder.
Public method AddColumns<K1, K2>(ICollection<K1>, ICollection<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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap2<K1 ,K2,int> x = prob.AddColumns(coll1 ,coll2)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap2Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1, 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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap2<K1 ,K2,int> x = prob.AddColumns(coll1 ,coll2)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap2Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1, K2, K3>(ICollection<K1>, ICollection<K2>, ICollection<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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap3<K1 ,K2 ,K3,int> x = prob.AddColumns(coll1 ,coll2 ,coll3)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap3Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1, 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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap3<K1 ,K2 ,K3,int> x = prob.AddColumns(coll1 ,coll2 ,coll3)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap3Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1, K2, K3, K4>(ICollection<K1>, ICollection<K2>, ICollection<K3>, ICollection<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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap4<K1 ,K2 ,K3 ,K4,int> x = prob.AddColumns(coll1 ,coll2 ,coll3 ,coll4)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap4Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1, 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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap4<K1 ,K2 ,K3 ,K4,int> x = prob.AddColumns(coll1 ,coll2 ,coll3 ,coll4)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap4Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1, K2, K3, K4, K5>(ICollection<K1>, ICollection<K2>, ICollection<K3>, ICollection<K4>, ICollection<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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap5<K1 ,K2 ,K3 ,K4 ,K5,int> x = prob.AddColumns(coll1 ,coll2 ,coll3 ,coll4 ,coll5)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap5Builder for details of how to modify the specification in the builder.
Public method AddColumns<K1, 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.
// Create a multi-dimensional array of binary columns
Optimizer.Maps.HashMap5<K1 ,K2 ,K3 ,K4 ,K5,int> x = prob.AddColumns(coll1 ,coll2 ,coll3 ,coll4 ,coll5)
                                   .WithType(Optimizer.Objects.ColumnType.Binary)
                                   .ToMap();
See Optimizer.VariableBuilder.ColumnMap5Builder for details of how to modify the specification in the builder.
Public method AddComputeRestartCallback(ComputeRestartCallback)
Add ComputeRestart callback.
Public method AddComputeRestartCallback(ComputeRestartCallback, Int32)
Add ComputeRestart callback with the specified priority.
Public method AddComputeRestartCallback(ComputeRestartCallback, Object)
Add ComputeRestart callback with a user object that is passed to the callback on invocation.
Public method AddComputeRestartCallback(ComputeRestartCallback, Object, Int32)
Add ComputeRestart callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddCut(Int32, XPRSprob.RowInfo)
Add a single cut to the problem.
Public method AddCut(Int32, Int32, Double, Char, Double)
Add a single cut to the problem.
Public method AddCutlogCallback(CutlogCallback)
Add Cutlog callback.
Public method AddCutlogCallback(CutlogCallback, Int32)
Add Cutlog callback with the specified priority.
Public method AddCutlogCallback(CutlogCallback, Object)
Add Cutlog callback with a user object that is passed to the callback on invocation.
Public method AddCutlogCallback(CutlogCallback, Object, Int32)
Add Cutlog callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddCutmgrCallback(CutmgrCallback) Obsolete.
Add Cutmgr callback.
Public method AddCutmgrCallback(CutmgrCallback, Int32) Obsolete.
Add Cutmgr callback with the specified priority.
Public method AddCutmgrCallback(CutmgrCallback, Object) Obsolete.
Add Cutmgr callback with a user object that is passed to the callback on invocation.
Public method AddCutmgrCallback(CutmgrCallback, Object, Int32) Obsolete.
Add Cutmgr callback with specified priority and a user object that is passed to the callback on invocation.
Public method 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.
Public method 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.
Public method AddGapNotifyCallback(GapNotifyCallback)
Add GapNotify callback.
Public method AddGapNotifyCallback(GapNotifyCallback, Int32)
Add GapNotify callback with the specified priority.
Public method AddGapNotifyCallback(GapNotifyCallback, Object)
Add GapNotify callback with a user object that is passed to the callback on invocation.
Public method AddGapNotifyCallback(GapNotifyCallback, Object, Int32)
Add GapNotify callback with specified priority and a user object that is passed to the callback on invocation.
Public method 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).
Public method 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).
Public method AddInfnodeCallback(InfnodeCallback)
Add Infnode callback.
Public method AddInfnodeCallback(InfnodeCallback, Int32)
Add Infnode callback with the specified priority.
Public method AddInfnodeCallback(InfnodeCallback, Object)
Add Infnode callback with a user object that is passed to the callback on invocation.
Public method AddInfnodeCallback(InfnodeCallback, Object, Int32)
Add Infnode callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddIntsolCallback(IntsolCallback)
Add Intsol callback.
Public method AddIntsolCallback(IntsolCallback, Int32)
Add Intsol callback with the specified priority.
Public method AddIntsolCallback(IntsolCallback, Object)
Add Intsol callback with a user object that is passed to the callback on invocation.
Public method AddIntsolCallback(IntsolCallback, Object, Int32)
Add Intsol callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddLplogCallback(LplogCallback)
Add Lplog callback.
Public method AddLplogCallback(LplogCallback, Int32)
Add Lplog callback with the specified priority.
Public method AddLplogCallback(LplogCallback, Object)
Add Lplog callback with a user object that is passed to the callback on invocation.
Public method AddLplogCallback(LplogCallback, Object, Int32)
Add Lplog callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddMessageCallback(MessageCallback)
Add Message callback.
Public method AddMessageCallback(MessageCallback, Int32)
Add Message callback with the specified priority.
Public method AddMessageCallback(MessageCallback, Object)
Add Message callback with a user object that is passed to the callback on invocation.
Public method AddMessageCallback(MessageCallback, Object, Int32)
Add Message callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddMiplogCallback(MiplogCallback)
Add Miplog callback.
Public method AddMiplogCallback(MiplogCallback, Int32)
Add Miplog callback with the specified priority.
Public method AddMiplogCallback(MiplogCallback, Object)
Add Miplog callback with a user object that is passed to the callback on invocation.
Public method AddMiplogCallback(MiplogCallback, Object, Int32)
Add Miplog callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddMipSol(Double, Int32)
Add a new MIP solution. This is a convenience wrapper for .AddMipSol(int, double[], int[], string ).
Public method AddMipSol(Double, Int32, String)
Add a new MIP solution. This is a convenience wrapper for .AddMipSol(int, double[], int[], string ).
Public method AddMipSol(Int32, Double, Int32, String)
Adds a new feasible, infeasible or partial MIP solution for the problem to the Optimizer.
Public method AddMipThreadCallback(MipThreadCallback)
Add MipThread callback.
Public method AddMipThreadCallback(MipThreadCallback, Int32)
Add MipThread callback with the specified priority.
Public method AddMipThreadCallback(MipThreadCallback, Object)
Add MipThread callback with a user object that is passed to the callback on invocation.
Public method AddMipThreadCallback(MipThreadCallback, Object, Int32)
Add MipThread callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddMipThreadDestroyCallback(MipThreadDestroyCallback)
Add MipThreadDestroy callback.
Public method AddMipThreadDestroyCallback(MipThreadDestroyCallback, Int32)
Add MipThreadDestroy callback with the specified priority.
Public method AddMipThreadDestroyCallback(MipThreadDestroyCallback, Object)
Add MipThreadDestroy callback with a user object that is passed to the callback on invocation.
Public method AddMipThreadDestroyCallback(MipThreadDestroyCallback, Object, Int32)
Add MipThreadDestroy callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddMsgHandlerCallback(TextWriter) (Inherited from XPRSobject.)
Public method AddMsgHandlerCallback(MsgHandlerCallback)
Add MsgHandler callback.
(Overrides XPRSobject.AddMsgHandlerCallback(MsgHandlerCallback).)
Public method AddMsgHandlerCallback(MsgHandlerCallback, Int32)
Add MsgHandler callback with the specified priority.
(Overrides XPRSobject.AddMsgHandlerCallback(MsgHandlerCallback, Int32).)
Public method AddMsgHandlerCallback(MsgHandlerCallback, Object)
Add MsgHandler callback with a user object that is passed to the callback on invocation.
(Overrides XPRSobject.AddMsgHandlerCallback(MsgHandlerCallback, Object).)
Public method AddMsgHandlerCallback(MsgHandlerCallback, Object, Int32)
Add MsgHandler callback with specified priority and a user object that is passed to the callback on invocation.
(Overrides XPRSobject.AddMsgHandlerCallback(MsgHandlerCallback, Object, Int32).)
Public method AddMsJobEndCallback(MsJobEndCallback)
Add MsJobEnd callback.
Public method AddMsJobEndCallback(MsJobEndCallback, Int32)
Add MsJobEnd callback with the specified priority.
Public method AddMsJobEndCallback(MsJobEndCallback, Object)
Add MsJobEnd callback with a user object that is passed to the callback on invocation.
Public method AddMsJobEndCallback(MsJobEndCallback, Object, Int32)
Add MsJobEnd callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddMsJobStartCallback(MsJobStartCallback)
Add MsJobStart callback.
Public method AddMsJobStartCallback(MsJobStartCallback, Int32)
Add MsJobStart callback with the specified priority.
Public method AddMsJobStartCallback(MsJobStartCallback, Object)
Add MsJobStart callback with a user object that is passed to the callback on invocation.
Public method AddMsJobStartCallback(MsJobStartCallback, Object, Int32)
Add MsJobStart callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddMsWinnerCallback(MsWinnerCallback)
Add MsWinner callback.
Public method AddMsWinnerCallback(MsWinnerCallback, Int32)
Add MsWinner callback with the specified priority.
Public method AddMsWinnerCallback(MsWinnerCallback, Object)
Add MsWinner callback with a user object that is passed to the callback on invocation.
Public method AddMsWinnerCallback(MsWinnerCallback, Object, Int32)
Add MsWinner callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddNames(Int32, String, Int32, Int32)
Add names of the given type to the problem.
Public method 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.
Public method AddNewnodeCallback(NewnodeCallback)
Add Newnode callback.
Public method AddNewnodeCallback(NewnodeCallback, Int32)
Add Newnode callback with the specified priority.
Public method AddNewnodeCallback(NewnodeCallback, Object)
Add Newnode callback with a user object that is passed to the callback on invocation.
Public method AddNewnodeCallback(NewnodeCallback, Object, Int32)
Add Newnode callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback)
Add NlpCoefEvalError callback.
Public method AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback, Int32)
Add NlpCoefEvalError callback with the specified priority.
Public method AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback, Object)
Add NlpCoefEvalError callback with a user object that is passed to the callback on invocation.
Public method AddNlpCoefEvalErrorCallback(NlpCoefEvalErrorCallback, Object, Int32)
Add NlpCoefEvalError callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddNodecutoffCallback(NodecutoffCallback)
Add Nodecutoff callback.
Public method AddNodecutoffCallback(NodecutoffCallback, Int32)
Add Nodecutoff callback with the specified priority.
Public method AddNodecutoffCallback(NodecutoffCallback, Object)
Add Nodecutoff callback with a user object that is passed to the callback on invocation.
Public method AddNodecutoffCallback(NodecutoffCallback, Object, Int32)
Add Nodecutoff callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddNodeLPSolvedCallback(NodeLPSolvedCallback)
Add NodeLPSolved callback.
Public method AddNodeLPSolvedCallback(NodeLPSolvedCallback, Int32)
Add NodeLPSolved callback with the specified priority.
Public method AddNodeLPSolvedCallback(NodeLPSolvedCallback, Object)
Add NodeLPSolved callback with a user object that is passed to the callback on invocation.
Public method AddNodeLPSolvedCallback(NodeLPSolvedCallback, Object, Int32)
Add NodeLPSolved callback with specified priority and a user object that is passed to the callback on invocation.
Public method 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.
Public method AddOptnodeCallback(OptnodeCallback)
Add Optnode callback.
Public method AddOptnodeCallback(OptnodeCallback, Int32)
Add Optnode callback with the specified priority.
Public method AddOptnodeCallback(OptnodeCallback, Object)
Add Optnode callback with a user object that is passed to the callback on invocation.
Public method AddOptnodeCallback(OptnodeCallback, Object, Int32)
Add Optnode callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddPreIntsolCallback(PreIntsolCallback)
Add PreIntsol callback.
Public method AddPreIntsolCallback(PreIntsolCallback, Int32)
Add PreIntsol callback with the specified priority.
Public method AddPreIntsolCallback(PreIntsolCallback, Object)
Add PreIntsol callback with a user object that is passed to the callback on invocation.
Public method AddPreIntsolCallback(PreIntsolCallback, Object, Int32)
Add PreIntsol callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddPrenodeCallback(PrenodeCallback)
Add Prenode callback.
Public method AddPrenodeCallback(PrenodeCallback, Int32)
Add Prenode callback with the specified priority.
Public method AddPrenodeCallback(PrenodeCallback, Object)
Add Prenode callback with a user object that is passed to the callback on invocation.
Public method AddPrenodeCallback(PrenodeCallback, Object, Int32)
Add Prenode callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddPresolveCallback(PresolveCallback)
Add Presolve callback.
Public method AddPresolveCallback(PresolveCallback, Int32)
Add Presolve callback with the specified priority.
Public method AddPresolveCallback(PresolveCallback, Object)
Add Presolve callback with a user object that is passed to the callback on invocation.
Public method AddPresolveCallback(PresolveCallback, Object, Int32)
Add Presolve callback with specified priority and a user object that is passed to the callback on invocation.
Public method 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.
Public method 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.
Public method AddQMatrix(Int32, Int32, Int32, Int32, Double)
Adds a new quadratic matrix into a row defined by triplets.
Public method AddQMatrix(Int32, Int64, Int32, Int32, Double)
Adds a new quadratic matrix into a row defined by triplets.
Public method AddRow(XPRSprob.RowInfo)
Add a single row to the problem.
Public method AddRow(XPRSprob.RowInfo, String)
Add a single row to the problem.
Public method 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).
Public method AddRow(Int32, Double, Char, Double, String)
Add a single row to the problem.
Public method AddRow(Int32, Double, Char, Double, Double, String)
Add a single row to the problem.
Public method AddRows(Int32, Int32, Char, Double, Int32, Int32, Double)
Adds rows to the optimizer matrix.
Public method AddRows(Int32, Int64, Char, Double, Int64, Int32, Double)
Adds rows to the optimizer matrix.
Public method AddRows(Int32, Int32, Char, Double, Double, Int32, Int32, Double)
Adds rows to the optimizer matrix.
Public method AddRows(Int32, Int64, Char, Double, Double, Int64, Int32, Double)
Adds rows to the optimizer matrix.
Public method AddSet
Add a single set constraint to this problem.
Public method AddSetNames
Add the given set names to the problem.
Public method AddSets(SetType, Int32, Double, String)
Add multiple set constraints to the problem.
Public method 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.
Public method AddSets(Int32, Int32, SetType, Int32, Double, String)
Create multiple set constraints.
Public method 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.
Public method AddSlpCascadeEndCallback(SlpCascadeEndCallback)
Add SlpCascadeEnd callback.
Public method AddSlpCascadeEndCallback(SlpCascadeEndCallback, Int32)
Add SlpCascadeEnd callback with the specified priority.
Public method AddSlpCascadeEndCallback(SlpCascadeEndCallback, Object)
Add SlpCascadeEnd callback with a user object that is passed to the callback on invocation.
Public method AddSlpCascadeEndCallback(SlpCascadeEndCallback, Object, Int32)
Add SlpCascadeEnd callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpCascadeStartCallback(SlpCascadeStartCallback)
Add SlpCascadeStart callback.
Public method AddSlpCascadeStartCallback(SlpCascadeStartCallback, Int32)
Add SlpCascadeStart callback with the specified priority.
Public method AddSlpCascadeStartCallback(SlpCascadeStartCallback, Object)
Add SlpCascadeStart callback with a user object that is passed to the callback on invocation.
Public method AddSlpCascadeStartCallback(SlpCascadeStartCallback, Object, Int32)
Add SlpCascadeStart callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpCascadeVarCallback(SlpCascadeVarCallback)
Add SlpCascadeVar callback.
Public method AddSlpCascadeVarCallback(SlpCascadeVarCallback, Int32)
Add SlpCascadeVar callback with the specified priority.
Public method AddSlpCascadeVarCallback(SlpCascadeVarCallback, Object)
Add SlpCascadeVar callback with a user object that is passed to the callback on invocation.
Public method AddSlpCascadeVarCallback(SlpCascadeVarCallback, Object, Int32)
Add SlpCascadeVar callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback)
Add SlpCascadeVarFail callback.
Public method AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback, Int32)
Add SlpCascadeVarFail callback with the specified priority.
Public method AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback, Object)
Add SlpCascadeVarFail callback with a user object that is passed to the callback on invocation.
Public method AddSlpCascadeVarFailCallback(SlpCascadeVarFailCallback, Object, Int32)
Add SlpCascadeVarFail callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpConstructCallback(SlpConstructCallback)
Add SlpConstruct callback.
Public method AddSlpConstructCallback(SlpConstructCallback, Int32)
Add SlpConstruct callback with the specified priority.
Public method AddSlpConstructCallback(SlpConstructCallback, Object)
Add SlpConstruct callback with a user object that is passed to the callback on invocation.
Public method AddSlpConstructCallback(SlpConstructCallback, Object, Int32)
Add SlpConstruct callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpDrColCallback(SlpDrColCallback)
Add SlpDrCol callback.
Public method AddSlpDrColCallback(SlpDrColCallback, Int32)
Add SlpDrCol callback with the specified priority.
Public method AddSlpDrColCallback(SlpDrColCallback, Object)
Add SlpDrCol callback with a user object that is passed to the callback on invocation.
Public method AddSlpDrColCallback(SlpDrColCallback, Object, Int32)
Add SlpDrCol callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpIntSolCallback(SlpIntSolCallback)
Add SlpIntSol callback.
Public method AddSlpIntSolCallback(SlpIntSolCallback, Int32)
Add SlpIntSol callback with the specified priority.
Public method AddSlpIntSolCallback(SlpIntSolCallback, Object)
Add SlpIntSol callback with a user object that is passed to the callback on invocation.
Public method AddSlpIntSolCallback(SlpIntSolCallback, Object, Int32)
Add SlpIntSol callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpIterEndCallback(SlpIterEndCallback)
Add SlpIterEnd callback.
Public method AddSlpIterEndCallback(SlpIterEndCallback, Int32)
Add SlpIterEnd callback with the specified priority.
Public method AddSlpIterEndCallback(SlpIterEndCallback, Object)
Add SlpIterEnd callback with a user object that is passed to the callback on invocation.
Public method AddSlpIterEndCallback(SlpIterEndCallback, Object, Int32)
Add SlpIterEnd callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpIterStartCallback(SlpIterStartCallback)
Add SlpIterStart callback.
Public method AddSlpIterStartCallback(SlpIterStartCallback, Int32)
Add SlpIterStart callback with the specified priority.
Public method AddSlpIterStartCallback(SlpIterStartCallback, Object)
Add SlpIterStart callback with a user object that is passed to the callback on invocation.
Public method AddSlpIterStartCallback(SlpIterStartCallback, Object, Int32)
Add SlpIterStart callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpIterVarCallback(SlpIterVarCallback)
Add SlpIterVar callback.
Public method AddSlpIterVarCallback(SlpIterVarCallback, Int32)
Add SlpIterVar callback with the specified priority.
Public method AddSlpIterVarCallback(SlpIterVarCallback, Object)
Add SlpIterVar callback with a user object that is passed to the callback on invocation.
Public method AddSlpIterVarCallback(SlpIterVarCallback, Object, Int32)
Add SlpIterVar callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback)
Add SlpPreUpdateLinearization callback.
Public method AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback, Int32)
Add SlpPreUpdateLinearization callback with the specified priority.
Public method AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback, Object)
Add SlpPreUpdateLinearization callback with a user object that is passed to the callback on invocation.
Public method AddSlpPreUpdateLinearizationCallback(SlpPreUpdateLinearizationCallback, Object, Int32)
Add SlpPreUpdateLinearization callback with specified priority and a user object that is passed to the callback on invocation.
Public method AddUserSolNotifyCallback(UserSolNotifyCallback)
Add UserSolNotify callback.
Public method AddUserSolNotifyCallback(UserSolNotifyCallback, Int32)
Add UserSolNotify callback with the specified priority.
Public method AddUserSolNotifyCallback(UserSolNotifyCallback, Object)
Add UserSolNotify callback with a user object that is passed to the callback on invocation.
Public method AddUserSolNotifyCallback(UserSolNotifyCallback, Object, Int32)
Add UserSolNotify callback with specified priority and a user object that is passed to the callback on invocation.
Public method Alter
Alters or changes matrix elements, right hand sides and constraint senses in the current problem.
Public method BasisCondition Obsolete.
Calculates the condition number of the current basis after solving the LP relaxation.
Public method BasisStability(Int32, Int32, Int32)
Convenience wrapper for BasisStability(int,int,int,double) that returns the output argument.
Public method BasisStability(Int32, Int32, Int32, Double)
Calculates various measures for the stability of the current basis, including the basis condition number.
Public method BinVar()
Create a new binary variable.
Public method BinVar(String)
Create a new binary variable with the specified name.
Public method BinVarArray(Int32, Func<Int32, String>)
Create an array of binary variables.
Public method BinVarArray<T>(ICollection<T>, Func<T, String>)
Create an array of binary variables. The function will create one variable for each of the objects listed in objs.
Public method BinVarMap<T>(ICollection<T>, Func<T, 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.
Public method BinVarMap<T>(ICollection<T>, Func<T, String>, IDictionary<T, 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.
Public method 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.
Public method BTran
Post-multiplies a (row) vector provided by the user by the inverse of the current basis.
Public method BuildColumns(VariableBuilder.Array2Builder)
Add variables as specified by the builder.
Public method BuildColumns(VariableBuilder.Array3Builder)
Add variables as specified by the builder.
Public method BuildColumns(VariableBuilder.Array4Builder)
Add variables as specified by the builder.
Public method BuildColumns(VariableBuilder.Array5Builder)
Add variables as specified by the builder.
Public method BuildColumns(VariableBuilder.ArrayBuilder)
Add variables as specified by the builder.
Public method BuildColumns(VariableBuilder.Array2Builder, Action<Int32>)
TODO: Hide this from the user.
Public method BuildColumns(VariableBuilder.Array3Builder, Action<Int32>)
TODO: Hide this from the user.
Public method BuildColumns(VariableBuilder.Array4Builder, Action<Int32>)
TODO: Hide this from the user.
Public method BuildColumns(VariableBuilder.Array5Builder, Action<Int32>)
TODO: Hide this from the user.
Public method BuildColumns(VariableBuilder.ArrayBuilder, Action<Int32>)
TODO: Hide this from the user.
Public method BuildColumns<K1>(VariableBuilder.MapBuilder<K1>)
Create a column map from a builder.
Public method BuildColumns<I>(VariableBuilder.Array2Builder, Func<I>, Action<I, Int32, Int32, Int32>)
Add columns as specified by the builder. This is a parametrized version of .BuildColumns(VariableBuilder.Array2Builder).
Public method BuildColumns<I>(VariableBuilder.Array3Builder, Func<I>, Action5<I, Int32, Int32, Int32, Int32>)
Add columns as specified by the builder. This is a parametrized version of .BuildColumns(VariableBuilder.Array3Builder).
Public method BuildColumns<I>(VariableBuilder.Array4Builder, Func<I>, Action6<I, Int32, Int32, Int32, Int32, Int32>)
Add columns as specified by the builder. This is a parametrized version of .BuildColumns(VariableBuilder.Array4Builder).
Public method BuildColumns<I>(VariableBuilder.Array5Builder, Func<I>, Action7<I, Int32, Int32, Int32, Int32, Int32, Int32>)
Add columns as specified by the builder. This is a parametrized version of .BuildColumns(VariableBuilder.Array5Builder).
Public method BuildColumns<I>(VariableBuilder.ArrayBuilder, Func<I>, Action<I, Int32, Int32>)
Add columns as specified by the builder. This is a parametrized version of .BuildColumns(VariableBuilder.ArrayBuilder).
Public method BuildColumns<K1>(VariableBuilder.MapBuilder<K1>, Action<K1, Int32>, Action)
Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
Public method BuildColumns<K1, K2>(VariableBuilder.Map2Builder<K1, K2>)
Create a column map from a builder.
Public method BuildColumns<K1, K2>(VariableBuilder.Map2Builder<K1, K2>, Action<K1, K2, Int32>, Action)
Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
Public method BuildColumns<I, K1>(VariableBuilder.MapBuilder<K1>, Func<I>, Action<I, K1, Int32>)
Create a column map from a builder.
Public method BuildColumns<K1, K2, K3>(VariableBuilder.Map3Builder<K1, K2, K3>)
Create a column map from a builder.
Public method BuildColumns<I, K1, K2>(VariableBuilder.Map2Builder<K1, K2>, Func<I>, Action<I, K1, K2, Int32>)
Create a column map from a builder.
Public method BuildColumns<K1, K2, K3>(VariableBuilder.Map3Builder<K1, K2, K3>, Action<K1, K2, K3, Int32>, Action)
Create a column map from a builder. This function parametrizes creation of a map that maps keys to created objects.
Public method BuildColumns<K1, K2, K3, K4>(VariableBuilder.Map4Builder<K1, K2, K3, K4>)
Create a column map from a builder.
Public method BuildColumns<I, K1, K2, K3>(VariableBuilder.Map3Builder<K1, K2, K3>, Func<I>, Action5<I, K1, K2, K3, Int32>)
Create a column map from a builder.
Public method BuildColumns<K1, K2, K3, K4>(VariableBuilder.Map4Builder<K1, K2, K3, K4>, Action5<K1, 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.
Public method BuildColumns<K1, K2, K3, K4, K5>(VariableBuilder.Map5Builder<K1, K2, K3, K4, K5>)
Create a column map from a builder.
Public method BuildColumns<I, K1, K2, K3, K4>(VariableBuilder.Map4Builder<K1, K2, K3, K4>, Func<I>, Action6<I, K1, K2, K3, K4, Int32>)
Create a column map from a builder.
Public method BuildColumns<K1, K2, K3, K4, K5>(VariableBuilder.Map5Builder<K1, K2, K3, K4, K5>, Action6<K1, 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.
Public method BuildColumns<I, K1, K2, K3, K4, K5>(VariableBuilder.Map5Builder<K1, K2, K3, K4, K5>, Func<I>, Action7<I, K1, K2, K3, K4, K5, Int32>)
Create a column map from a builder.
Public method CalcObjective(Double)
Convenience wrapper for CalcObjective(double[],double) that returns the output argument.
Public method CalcObjective(Double, Double)
Calculates the objective value of a given solution.
Public method CalcObjN(Int32, Double)
Convenience wrapper for CalcObjN(int,double[],double) that returns the output argument.
Public method CalcObjN(Int32, Double, Double)
Calculates the objective value of the given objective function in a multi-objective problem.
Public method CalcReducedCosts
Calculates the reduced cost values for a given (row) dual solution.
Public method CalcSlacks
Calculates the row slack values for a given solution.
Public method CalcSolInfo(Double, Double, Int32)
Convenience wrapper for CalcSolInfo(double[],double[],int,double) that returns the output argument.
Public method CalcSolInfo(Double, Double, Int32, Double)
Calculates the required property of a solution, like maximum infeasibility of a given primal and dual solution.
Public method ChgBounds(Int32, Double, Double)
Change bounds of a single column.
Public method ChgBounds(Int32, Int32, Char, Double)
Used to change the bounds on columns in the matrix.
Public method 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.
Public method ChgColType(Int32, Char)
Convenience wrapper for ChgColType(int, int[], char[]).
Public method ChgColType(Int32, Int32, Char)
Used to change the type of a specified set of columns in the matrix.
Public method ChgGlbLimit(Int32, Double)
Convenience wrapper for ChgGlbLimit(int, int[], double[]).
Public method ChgGlbLimit(Int32, Int32, Double)
Used to change semi-continuous or semi-integer lower bounds, or upper limits on partial integers.
Public method ChgLB
Change the lower bound of a single column.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method ChgObj(Int32, Double)
Convenience wrapper for ChgObj(int, int[], double[]).
Public method ChgObj(Int32, Int32, Double)
Used to change the objective function coefficients.
Public method 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.
Public method ChgObjSense(Int32)
Public method ChgObjSense(ObjSense)
Changes the problem's objective function sense to minimize or maximize.
Public method ChgQObj
Used to change a single quadratic coefficient in the objective function corresponding to the variable pair (objqcol1,objqcol2) of the Hessian matrix.
Public method ChgQRowCoeff
Changes a single quadratic coefficient in a row.
Public method ChgRHS(Int32, Double)
Convenience wrapper for ChgRHS(int, int[], double[]).
Public method ChgRHS(Int32, Int32, Double)
Used to change right--hand side values of the problem.
Public method ChgRHSRange(Int32, Double)
Convenience wrapper for ChgRHSRange(int, int[], double[]).
Public method ChgRHSRange(Int32, Int32, Double)
Used to change the range for a row of the problem matrix.
Public method ChgRowType(Int32, Char)
Convenience wrapper for ChgRowType(int, int[], char[]).
Public method ChgRowType(Int32, Int32, Char)
Used to change the type of a row in the matrix.
Public method ChgUB
Change the upper bound of a single column.
Public method ClearIIS
Resets the search for Irreducible Infeasible Sets (IIS).
Public method ClearObjective
Clear the objective function.
Public method ClearRowFlags
Clears extra information attached to a range of rows.
Public method Clone
Create a copy of the problem, including controls and callbacks.
Protected method ColumnTypeToArray
Convert a column type array to an array of low-level type indicators.
Public method ContVar()
Create a continuous variable with default bounds [0, infinity].
Public method ContVar(String)
Create a continuous variable with default bounds [0, infinity] and a specified name.
Public method ContVar(Double, Double)
Create a continuous variable with specified bounds.
Public method ContVar(Double, Double, String)
Create a continuous variable with specified bounds and name.
Public method ContVarArray(Int32, Double, Double, Func<Int32, String>)
Create an array of continuous variables. All the variables created by this function have the same types and bounds.
Public method ContVarArray(Int32, Double, Double, String)
Create an array of continuous variables.
Public method ContVarArray(Int32, Func<Int32, Double>, Func<Int32, Double>, Func<Int32, String>)
Create an array of continuous variables.
Public method ContVarArray<T>(ICollection<T>, Double, Double, Func<T, 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.
Public method ContVarArray<T>(ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, String>)
Create an array of continuous variables. The function will create one variable for each of the objects listed in objs.
Public method ContVarMap<T>(ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, 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.
Public method ContVarMap<T>(ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, String>, IDictionary<T, 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.
Public method CopyCallbacks
Copy callbacks to this XPRSprob from another
Public method CopyControls
Copies controls defined for one problem to another.
Public method CopyProb(XPRSprob)
Create a copy of the problem.
Public method CopyProb(XPRSprob, String)
Create a copy of the problem with the given name.
Public method CreateBranchObject
Create a branching object.
Public method CreateBranchObjectFromGlobal Obsolete.
Public method CrossoverLpSol()
Convenience wrapper for CrossoverLpSol(int) that returns the output argument.
Public method 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.
Public method DelCols
Delete columns from a matrix.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method DelGenCons
Delete general constraints from a problem.
Public method 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.
Public method DelIndicators
Delete indicator constraints. This turns the specified rows into normal rows (not controlled by indicator variables).
Public method DelObj
Removes an objective function from a multi-objective problem. Any objectives with index &gt; objidx will be shifted down. Deleting the last objective function in the problem causes all the objective coefficients to be zeroed, but OBJECTIVES remains set to 1.
Public method DelPwlCons
Delete piecewise linear constraints from a problem.
Public method DelQMatrix
Deletes the quadratic part of a row or of the objective function.
Public method DelRows
Delete rows from a matrix.
Public method DelSets
Delete sets from a problem.
Public method Destroy Obsolete.
Destroy the problem, freeing all native resources used. Equivalent to calling Dipose().
(Overrides XPRSobject.Destroy().)
Public method Dispose (Inherited from XPRSobject.)
Protected method 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.
Public method DumpControls
Displays the list of controls and their current value for those controls that have been set to a non default value.
Public method Equals (Inherited from XPRSobject.)
Public method EstimateRowDualRanges
Performs a dual side range sensitivity analysis, i.e. calculates estimates for the possible ranges for dual values.
Protected method Finalize (Inherited from XPRSobject.)
Public method FirstIIS(Int32)
Convenience wrapper for FirstIIS(int,int) that returns the output argument.
Public method FirstIIS(Int32, Int32)
Initiates a search for an Irreducible Infeasible Set (IIS) in an infeasible problem.
Public method FixGlobals Obsolete.
Public method 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.
Public method FTran
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
Public method 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 for calls to functions such as getIntAttrib. The type information returned will be one of the below integer constants defined in the xprs.h header file. 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.
Public method GetBasis
Returns the current basis into the user's data arrays.
Public method GetBasisVal
Returns the current basis status for a specific column or row.
Public method GetCallbackDual(Int32)
Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that queries only a single value.
Public method GetCallbackDual(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that queries only a single value.
Public method GetCallbackDuals()
Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackDuals(Boolean)
Convenience wrapper for GetCallbackDuals(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackDuals(Int32, Int32)
Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that allocates the output array.
Public method GetCallbackDuals(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackDuals, double[], int, int) that allocates the output array.
Public method GetCallbackDuals(Boolean, Double, Int32, Int32)
Returns the dual values from the solution associated with the current callback.
Public method GetCallbackPresolveDual(Int32)
Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveDual(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveDuals()
Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveDuals(Boolean)
Convenience wrapper for GetCallbackPresolveDuals(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveDuals(Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveDuals(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveDuals, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveDuals(Boolean, Double, Int32, Int32)
Returns the dual values from the solution to the presolved problem associated with the current callback.
Public method GetCallbackPresolveRedCost(Int32)
Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveRedCost(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveRedCosts()
Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveRedCosts(Boolean)
Convenience wrapper for GetCallbackPresolveRedCosts(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveRedCosts(Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveRedCosts(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveRedCosts, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveRedCosts(Boolean, Double, Int32, Int32)
Returns the reduced costs from the solution to the presolved problem associated with the current callback.
Public method GetCallbackPresolveSlack(Int32)
Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveSlack(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveSlacks()
Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveSlacks(Boolean)
Convenience wrapper for GetCallbackPresolveSlacks(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveSlacks(Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveSlacks(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveSlacks, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveSlacks(Boolean, Double, Int32, Int32)
Returns the slack values from the solution to the presolved problem associated with the current callback.
Public method GetCallbackPresolveSolution()
Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveSolution(Boolean)
Convenience wrapper for GetCallbackPresolveSolution(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackPresolveSolution(Int32)
Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveSolution(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that queries only a single value.
Public method GetCallbackPresolveSolution(Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveSolution(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackPresolveSolution, double[], int, int) that allocates the output array.
Public method GetCallbackPresolveSolution(Boolean, Double, Int32, Int32)
Returns the solution to the presolved problem associated with the current callback.
Public method GetCallbackRedCost(Int32)
Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that queries only a single value.
Public method GetCallbackRedCost(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that queries only a single value.
Public method GetCallbackRedCosts()
Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackRedCosts(Boolean)
Convenience wrapper for GetCallbackRedCosts(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackRedCosts(Int32, Int32)
Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that allocates the output array.
Public method GetCallbackRedCosts(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackRedCosts, double[], int, int) that allocates the output array.
Public method GetCallbackRedCosts(Boolean, Double, Int32, Int32)
Returns the reduced costs from the solution associated with the current callback.
Public method GetCallbackSlack(Int32)
Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that queries only a single value.
Public method GetCallbackSlack(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that queries only a single value.
Public method GetCallbackSlacks()
Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackSlacks(Boolean)
Convenience wrapper for GetCallbackSlacks(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackSlacks(Int32, Int32)
Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that allocates the output array.
Public method GetCallbackSlacks(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackSlacks, double[], int, int) that allocates the output array.
Public method GetCallbackSlacks(Boolean, Double, Int32, Int32)
Returns the slack values from the solution associated with the current callback.
Public method GetCallbackSolution()
Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackSolution(Boolean)
Convenience wrapper for GetCallbackSolution(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetCallbackSolution(Int32)
Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that queries only a single value.
Public method GetCallbackSolution(Boolean, Int32)
Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that queries only a single value.
Public method GetCallbackSolution(Int32, Int32)
Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that allocates the output array.
Public method GetCallbackSolution(Boolean, Int32, Int32)
Convenience wrapper for bool(out GetCallbackSolution, double[], int, int) that allocates the output array.
Public method GetCallbackSolution(Boolean, Double, Int32, Int32)
Returns the solution associated with the current callback.
Public methodStatic member GetCannotAddConstraints
Error message in case we attempt to create rows with Variables where this is not possible.
Public methodStatic member GetCannotAddPWLs
Error message in case we attempt to create rows with Variables where this is not possible.
Public methodStatic member GetCannotAddSets
Error message in case we attempt to create sets where this is not possible.
Public methodStatic member GetCannotAddVariables
Error message in case we attempt to create variables where this is not possible.
Public method GetCoef(Int32, Int32)
Convenience wrapper for GetCoef(int,int,double) that returns the output argument.
Public method GetCoef(Int32, Int32, Double)
Returns a single coefficient in the constraint matrix.
Public method GetCols(Int32, Int32)
Get range of columns.
Public method GetCols(Int32, Int32, Double, Int32, Int32, Int32)
Returns the nonzeros in the constraint matrix for the columns in a given range.
Public method GetCols(Int64, Int32, Double, Int64, Int32, Int32)
Returns the nonzeros in the constraint matrix for the columns in a given range.
Public method GetCols(Int32, Int32, Double, Int32, Int32, Int32, Int32)
Returns the nonzeros in the constraint matrix for the columns in a given range.
Public method GetCols(Int64, Int32, Double, Int64, Int64, Int32, Int32)
Returns the nonzeros in the constraint matrix for the columns in a given range.
Public method GetColType(Int32)
Convenience wrapper for GetColType(char[], int, int).
Public method GetColType(Int32, Int32)
Convenience wrapper for GetColType(char[], int, int).
Public method GetColType(Char, Int32, Int32)
Returns the column types for the columns in a given range.
Public method GetColumnName
Get a column name.
Public method GetColumnNames
Get names of columns.
Public method 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 for calls to functions such as getIntControl. 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.
Public method GetCPCutList(Int32, Cut, Double)
Returns a list of cut indices from the cut pool.
Public method GetCPCutList(Int32, Int32, Double, Int32, Cut, Double)
Returns a list of cut indices from the cut pool.
Public method GetCPCutList(Int32, Int32, Double, Int32, Int32, Cut, Double)
Returns a list of cut indices from the cut pool.
Public method GetCPCuts(Cut, Int32, Int32, Int32, Char, Int32, Int32, Double, Double)
Returns cuts from the cut pool. A list of cut pointers in the array rowind must be passed to the routine. The columns and elements of the cut will be returned in the regions pointed to by the colind and cutcoef parameters. The columns and elements will be stored contiguously and the starting point of each cut will be returned in the region pointed to by the start parameter.
Public method GetCPCuts(Cut, Int32, Int64, Int32, Char, Int64, Int32, Double, Double)
Returns cuts from the cut pool. A list of cut pointers in the array rowind must be passed to the routine. The columns and elements of the cut will be returned in the regions pointed to by the colind and cutcoef parameters. The columns and elements will be stored contiguously and the starting point of each cut will be returned in the region pointed to by the start parameter.
Public method GetCutList(Int32, Cut)
Retrieves a list of cut pointers for the cuts active at the current node.
Public method GetCutList(Int32, Int32, Int32, Cut)
Retrieves a list of cut pointers for the cuts active at the current node.
Public method GetCutList(Int32, Int32, Int32, Int32, Cut)
Retrieves a list of cut pointers for the cuts active at the current node.
Public method 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.
Public method GetCutSlack(Cut)
Convenience wrapper for GetCutSlack(Cut,double) that returns the output argument.
Public method 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).
Public method GetDblAttrib(Int32)
Convenience wrapper for GetDblAttrib(int,double) that returns the output argument.
Public method 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.
Public method GetDblControl(Int32)
Convenience wrapper for GetDblControl(int,double) that returns the output argument.
Public method GetDblControl(Int32, Double)
Retrieves the value of a given double control parameter.
Public method 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.
Public method 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.
Public method 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.
Public method GetDiscreteCols
Get information about MIP entities.
Public method GetDual(Int32)
Convenience wrapper for int(out GetDuals, double[], int, int) that queries only a single value.
Public method GetDual(Int32, Int32)
Convenience wrapper for int(out GetDuals, double[], int, int) that queries only a single value.
Public method GetDualRay
Retrieves a dual ray (dual unbounded direction) for the current problem, if the problem is found to be infeasible.
Public method GetDuals()
Convenience wrapper for int(out GetDuals, double[], int, int) that allocates the output array and queries all elements.
Public method GetDuals(Int32)
Convenience wrapper for GetDuals(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetDuals(Int32, Int32)
Convenience wrapper for int(out GetDuals, double[], int, int) that allocates the output array.
Public method GetDuals(Int32, Int32, Int32)
Convenience wrapper for int(out GetDuals, double[], int, int) that allocates the output array.
Public method GetDuals(Int32, Double, Int32, Int32)
Used to obtain the dual values associated with the incumbent solution during or after optimization of a continuous problem with optimize, lpOptimize or nlpOptimize.
Public method GetGenCons(Int32, Int32)
Query a range of general constraints.
Public method 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.
Public method 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.
Public method GetGenConsName
Get a general constraint name.
Public method GetGenConsNames
Get names of general constraints.
Public method GetGlobal Obsolete.
Public method GetHashCode (Inherited from XPRSobject.)
Public method GetIISData(Int32)
Get information about an IIS.
Public method 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.
Public method GetIndex(Int32, String)
Convenience wrapper for GetIndex(int,string,int) that returns the output argument.
Public method GetIndex(Int32, String, Int32)
Returns the index for a specified row or column name.
Public method GetIndicator
Get indicator information for a single row.
Public method 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.
Public method GetIndicators(Int32, Int32, Int32, Int32)
Returns the indicator constraint condition (indicator variable and complement flag) associated to the rows in a given range.
Public method GetInfeas
Returns a list of infeasible primal and dual variables.
Public method GetIntAttrib(Int32)
Convenience wrapper for GetIntAttrib(int,int) that returns the output argument.
Public method 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.
Public method GetIntControl(Int32)
Convenience wrapper for GetIntControl(int,int) that returns the output argument.
Public method GetIntControl(Int32, Int32)
Enables users to recover the values of various integer control parameters
Public method GetLastBarSol()
Get a solution.
Public method GetLastBarSol(Double, Double, Double, Double, Int32)
Used to obtain the last barrier solution values following optimization that used the barrier solver.
Public method GetLastBarSolDjs
Get the djs values of a solution.
Public method GetLastBarSolDuals
Get the duals values of a solution.
Public method GetLastBarSolSlack
Get the slack values of a solution.
Public method GetLastBarSolX
Get the x values of a solution.
Public method GetLastError()
Returns the error message corresponding to the last error encountered by a library function.
(Overrides XPRSobject.GetLastError().)
Public method GetLastError(String)
Returns the error message corresponding to the last error encountered by a library function.
Public method GetLB(Int32)
Convenience wrapper for GetLB(double[], int, int).
Public method GetLB(Int32, Int32)
Convenience wrapper for GetLB(double[], int, int).
Public method GetLB(Double, Int32, Int32)
Returns the lower bounds for the columns in a given range.
Public method GetLongAttrib(Int32)
Convenience wrapper for GetLongAttrib(int,long) that returns the output argument.
Public method 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.
Public method GetLongControl(Int32)
Convenience wrapper for GetLongControl(int,long) that returns the output argument.
Public method GetLongControl(Int32, Int64)
Enables users to recover the values of various integer control parameters
Public method GetLpSol()
Get a solution.
Public method GetLpSol(Double)
Used to obtain the LP solution values following optimization.
Public method GetLpSol(Double, Double, Double, Double)
Used to obtain the LP solution values following optimization.
Public method GetLpSolDjs
Get the djs values of a solution.
Public method GetLpSolDuals
Get the duals values of a solution.
Public method GetLpSolSlack
Get the slack values of a solution.
Public method GetLpSolVal Obsolete.
Used to obtain a single LP solution value following optimization.
Public method GetLpSolX
Get the x values of a solution.
Public method GetMessageStatus(Int32)
Convenience wrapper for GetMessageStatus(int,int) that returns the output argument.
Public method GetMessageStatus(Int32, Int32)
Retrieves the current suppression status of a message.
Public method GetMIPEntities()
Get information about MIP entities and SOS.
Public method GetMIPEntities(Char, Int32, Double)
Retrieves integr and entity information about a problem. It must be called before mipOptimize if the presolve option is used.
Public method 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.
Public method 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.
Public method 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.
Public method GetMipSol() Obsolete.
Get a solution.
Public method GetMipSol(Double) Obsolete.
Used to obtain the solution values of the last MIP solution that was found.
Public method GetMipSol(Double, Double) Obsolete.
Used to obtain the solution values of the last MIP solution that was found.
Public method GetMipSolSlack Obsolete.
Get the slack values of a solution.
Public method GetMipSolVal Obsolete.
Used to obtain a single solution value of the last MIP solution that was found.
Public method GetMipSolX Obsolete.
Get the x values of a solution.
Public method GetMQObj(Int32, Int32)
Get quadratic objective matrix for range of columns.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method GetName(Int32, Int32)
Get the name of a single element.
Public method GetName(Namespaces, Int32)
Get the name of a single element.
Public method GetNameList(Int32, Int32, Int32)
Get the given row, column or set names for the given range.
Public method GetNameList(Int32, String, Int32, Int32)
Get the given row, column or set names for the given range.
Public method GetNameListObject
Public method GetNames(Int32, Int32, Int32)
Get names. Retrieves names for a certain type of objects.
Public method GetNames(Namespaces, Int32, Int32)
Get names. Retrieves names for a certain type of objects.
Public method GetNames(Int32, String, Int32, Int32)
Get the given row, column or set names for the given range.
Public method GetNames(Namespaces, String, Int32, Int32)
Get names. Retrieves names for a certain type of objects.
Public method GetNlpsol Obsolete.
Obtain the current SLP solution values
Public method GetObj(Int32)
Convenience wrapper for GetObj(double[], int, int).
Public method GetObj(Int32, Int32)
Convenience wrapper for GetObj(double[], int, int).
Public method GetObj(Double, Int32, Int32)
Returns the objective function coefficients for the columns in a given range.
Public method GetObjDblAttrib(Int32, Int32)
Convenience wrapper for GetObjDblAttrib(int,int,double) that returns the output argument.
Public method 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.
Public method GetObjDblControl(Int32, ObjControl)
Convenience wrapper for GetObjDblControl(int,ObjControl,double) that returns the output argument.
Public method 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.
Public method GetObjectTypeName
Function to access the type name of an object referenced using the generic Optimizer object pointer XPRSobject.
(Inherited from XPRSobject.)
Public method GetObjIntAttrib(Int32, Int32)
Convenience wrapper for GetObjIntAttrib(int,int,int) that returns the output argument.
Public method 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.
Public method 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.
Public method GetObjIntControl(Int32, ObjControl)
Convenience wrapper for GetObjIntControl(int,ObjControl,int) that returns the output argument.
Public method 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.
Public method GetObjLongAttrib
Convenience wrapper for GetObjIntAttrib(int,int,long) that returns the output argument.
Public method GetObjN
For a given objective function, returns the objective coefficients for the columns in a given range.
Public method GetPivotOrder
Returns the pivot order of the basic variables.
Public method GetPivots
Returns a list of potential leaving variables if a specified variable enters the basis.
Public method 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.
Public method GetPresolveMap
Returns the mapping of the row and column numbers from the presolve problem back to the original problem.
Public method GetPresolveSol()
Get a solution.
Public method GetPresolveSol(Double)
Returns the solution for the presolved problem from memory.
Public method GetPresolveSol(Double, Double, Double, Double)
Returns the solution for the presolved problem from memory.
Public method GetPresolveSolDjs
Get the djs values of a solution.
Public method GetPresolveSolDuals
Get the duals values of a solution.
Public method GetPresolveSolSlack
Get the slack values of a solution.
Public method GetPresolveSolX
Get the x values of a solution.
Public method GetPrimalRay
Retrieves a primal ray (primal unbounded direction) for the current problem, if the problem is found to be unbounded.
Public method GetProbName()
Returns the current problem name.
Public method GetProbName(String)
Returns the current problem name.
Public method GetPwlCons(Int32, Int32, Int32, Double, Double, Int32, Int32, Int32, Int32)
Returns the piecewise linear constraints y = f(x) in a given range.
Public method GetPwlCons(Int32, Int32, Int64, Double, Double, Int64, Int64, Int32, Int32)
Returns the piecewise linear constraints y = f(x) in a given range.
Public method GetPWLName
Get a PWL constraint name.
Public method GetPWLNames
Get names of PWL constraints.
Public method GetQObj(Int32, Int32)
Convenience wrapper for GetQObj(int,int,double) that returns the output argument.
Public method GetQObj(Int32, Int32, Double)
Returns a single quadratic objective function coefficient corresponding to the variable pair (objqcol1, objqcol2) of the Hessian matrix.
Public method GetQRowCoeff(Int32, Int32, Int32)
Convenience wrapper for GetQRowCoeff(int,int,int,double) that returns the output argument.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method GetQRows()
Returns the list indices of the rows that have quadratic coefficients.
Public method GetQRows(Int32)
Returns the list indices of the rows that have quadratic coefficients.
Public method GetQRows(Int32, Int32)
Returns the list indices of the rows that have quadratic coefficients.
Public method GetRedCost(Int32)
Convenience wrapper for int(out GetRedCosts, double[], int, int) that queries only a single value.
Public method GetRedCost(Int32, Int32)
Convenience wrapper for int(out GetRedCosts, double[], int, int) that queries only a single value.
Public method GetRedCosts()
Convenience wrapper for int(out GetRedCosts, double[], int, int) that allocates the output array and queries all elements.
Public method GetRedCosts(Int32)
Convenience wrapper for GetRedCosts(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetRedCosts(Int32, Int32)
Convenience wrapper for int(out GetRedCosts, double[], int, int) that allocates the output array.
Public method GetRedCosts(Int32, Int32, Int32)
Convenience wrapper for int(out GetRedCosts, double[], int, int) that allocates the output array.
Public method GetRedCosts(Int32, Double, Int32, Int32)
Used to obtain the reduced costs associated with the incumbent solution during or after optimization of a continuous problem with optimize, lpOptimize or nlpOptimize.
Public method GetRHS(Int32)
Convenience wrapper for GetRHS(double[], int, int).
Public method GetRHS(Int32, Int32)
Convenience wrapper for GetRHS(double[], int, int).
Public method GetRHS(Double, Int32, Int32)
Returns the right hand side elements for the rows in a given range.
Public method GetRHSRange(Int32)
Convenience wrapper for GetRHSRange(double[], int, int).
Public method GetRHSRange(Int32, Int32)
Convenience wrapper for GetRHSRange(double[], int, int).
Public method GetRHSRange(Double, Int32, Int32)
Returns the right hand side range values for the rows in a given range.
Public method GetRowFlags(Int32)
Convenience wrapper for GetRowFlags(int[], int, int).
Public method GetRowFlags(Int32, Int32)
Convenience wrapper for GetRowFlags(int[], int, int).
Public method GetRowFlags(Int32, Int32, Int32)
Retrieve if a range of rows have been set up as special rows.
Public method GetRowName
Get a row name.
Public method GetRowNames
Get names of rows.
Public method GetRows(Int32, Int32)
Get range of rows.
Public method GetRows(Int32, Int32, Double, Int32, Int32, Int32)
Returns the nonzeros in the constraint matrix for the rows in a given range.
Public method GetRows(Int64, Int32, Double, Int64, Int32, Int32)
Returns the nonzeros in the constraint matrix for the rows in a given range.
Public method GetRows(Int32, Int32, Double, Int32, Int32, Int32, Int32)
Returns the nonzeros in the constraint matrix for the rows in a given range.
Public method GetRows(Int64, Int32, Double, Int64, Int64, Int32, Int32)
Returns the nonzeros in the constraint matrix for the rows in a given range.
Public method GetRowType(Int32)
Convenience wrapper for GetRowType(char[], int, int).
Public method GetRowType(Int32, Int32)
Convenience wrapper for GetRowType(char[], int, int).
Public method GetRowType(Char, Int32, Int32)
Returns the row types for the rows in a given range.
Public method GetScale
Returns the the current scaling of the matrix.
Public method GetScaledInfeas
Returns a list of scaled infeasible primal and dual variables for the original problem. If the problem is currently presolved, it is postsolved before the function returns.
Public method GetSetDefinitions
Get information about SOS.
Public method GetSetName
Get a Set (SOS) name.
Public method GetSetNames
Get names of Sets (SOS).
Public method GetSets
Get information about SOS.
Public method GetSlack(Int32)
Convenience wrapper for int(out GetSlacks, double[], int, int) that queries only a single value.
Public method GetSlack(Int32, Int32)
Convenience wrapper for int(out GetSlacks, double[], int, int) that queries only a single value.
Public method GetSlacks()
Convenience wrapper for int(out GetSlacks, double[], int, int) that allocates the output array and queries all elements.
Public method GetSlacks(Int32)
Convenience wrapper for GetSlacks(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetSlacks(Int32, Int32)
Convenience wrapper for int(out GetSlacks, double[], int, int) that allocates the output array.
Public method GetSlacks(Int32, Int32, Int32)
Convenience wrapper for int(out GetSlacks, double[], int, int) that allocates the output array.
Public method GetSlacks(Int32, Double, Int32, Int32)
Used to obtain the slack values associated with the incumbent solution during or after optimization with optimize, mipOptimize, lpOptimize or nlpOptimize.
Public method GetSolDjs Obsolete.
Get the djs values of a solution.
Public method GetSolDuals Obsolete.
Get the duals values of a solution.
Public method GetSolSlack Obsolete.
Get the slack values of a solution.
Public method GetSolution()
Convenience wrapper for int(out GetSolution, double[], int, int) that allocates the output array and queries all elements.
Public method GetSolution(Int32)
Convenience wrapper for int(out GetSolution, double[], int, int) that queries only a single value.
Public method GetSolution(Int32)
Convenience wrapper for GetSolution(IntHolder, double[], int, int) that allocates the output array and queries all elements.
Public method GetSolution(Int32, Int32)
Convenience wrapper for int(out GetSolution, double[], int, int) that allocates the output array.
Public method GetSolution(Int32, Int32)
Convenience wrapper for int(out GetSolution, double[], int, int) that queries only a single value.
Public method GetSolution(Int32, Int32, Int32)
Convenience wrapper for int(out GetSolution, double[], int, int) that allocates the output array.
Public method GetSolution(Int32, Double, Int32, Int32)
Used to obtain the incumbent solution during or after optimization with optimize, mipOptimize, lpOptimize or nlpOptimize.
Public method GetSolX Obsolete.
Get the x values of a solution.
Public method GetStrAttrib(Int32)
Get the current value of a string attribute
Public method GetStrAttrib(Int32, String)
Get the current value of a string attribute
Public method GetStrControl(Int32)
Get the current value of a string control
Public method GetStrControl(Int32, String)
Get the current value of a string control
Public method GetStringControl
Returns the value of a given string control parameters.
Public method GetStrStringAttrib
Enables users to recover the values of various string problem attributes. Problem attributes are set during loading and optimization of a problem.
Public method GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public method GetUB(Int32)
Convenience wrapper for GetUB(double[], int, int).
Public method GetUB(Int32, Int32)
Convenience wrapper for GetUB(double[], int, int).
Public method GetUB(Double, Int32, Int32)
Returns the upper bounds for the columns in a given range.
Public method GetUnbVec()
Convenience wrapper for GetUnbVec(int) that returns the output argument.
Public method 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.
Public method IISAll
Performs an automated search for independent Irreducible Infeasible Sets (IIS) in an infeasible problem.
Public method IISIsolations
Performs the isolation identification procedure for an Irreducible Infeasible Set (IIS). This function applies only to linear problems.
Public method IISStatus()
Get the IIS status.
Public method 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).
Public method Interrupt()
Interrupts the Optimizer algorithms.
Public method Interrupt(StopType)
Interrupts the Optimizer algorithms.
Public method IntVar()
Create a new integer variable with default bounds [0, infinity].
Public method IntVar(String)
Create a new integer variable with default bounds [0, infinity] and a specified name.
Public method IntVar(Double, Double)
Create a new integer variable with specified bounds.
Public method IntVar(Double, Double, String)
Create a new integer variable with specified bounds and name.
Public method IntVarArray(Int32, Double, Double, Func<Int32, String>)
Create an array of integer variables. All the variables created by this function have the same types and bounds.
Public method IntVarArray(Int32, Double, Double, String)
Create an array of integer variables.
Public method IntVarArray(Int32, Func<Int32, Double>, Func<Int32, Double>, Func<Int32, String>)
Create an array of integer variables.
Public method IntVarArray<T>(ICollection<T>, Double, Double, Func<T, 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.
Public method IntVarArray<T>(ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, String>)
Create an array of integer variables. The function will create one variable for each of the objects listed in objs.
Public method IntVarMap<T>(ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, 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.
Public method IntVarMap<T>(ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, String>, IDictionary<T, 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.
Public method LoadBasis
Loads a basis from the user's areas.
Public method LoadBranchDirs(Int32, Int32)
Convenience wrapper for LoadBranchDirs(int, int[], int[]).
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method LoadDirs
Loads directives into the matrix.
Public method LoadGlobal(String, Int32, Int32, Char, Double, Double, Double, Int32, Int32, Int32, Double, Double, Double, Int32, Int32, Char, Int32, Double, Char, Int32, Int32, Double) Obsolete.
Public method LoadGlobal(String, Int32, Int32, Char, Double, Double, Double, Int64, Int32, Int32, Double, Double, Double, Int32, Int32, Char, Int32, Double, Char, Int64, Int32, Double) Obsolete.
Public method 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.
Public method 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.
Public method LoadLPSol(Double, Double, Double, Double)
Convenience wrapper for LoadLPSol(double[],double[],double[],double[],int) that returns the output argument.
Public method LoadLPSol(Double, Double, Double, Double, Int32)
Loads an LP solution for the problem into the Optimizer.
Public method 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.
Public method 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.
Public method LoadMipSol(Double)
Convenience wrapper for LoadMipSol(double[],int) that returns the output argument.
Public method LoadMipSol(Double, Int32)
Loads a starting MIP solution for the problem into the Optimizer.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method LoadModelCuts
Specifies that a set of rows in the matrix will be treated as model cuts.
Public method LoadPresolveBasis
Loads a presolved basis from the user's areas.
Public method LoadPresolveDirs
Loads directives into the presolved matrix.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method LoadSecureVecs
Allows the user to mark rows and columns in order to prevent the presolve removing these rows and columns from the matrix.
Public method 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.
Public method 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.
Public method Maxim() Obsolete.
Begins a search for the optimal LP solution.
Public method Maxim(String) Obsolete.
Begins a search for the optimal LP solution.
Protected method MemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public method Minim() Obsolete.
Begins a search for the optimal LP solution.
Public method Minim(String) Obsolete.
Begins a search for the optimal LP solution.
Public method 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.
Public method 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.
Public method MsAddCustomPreset
A combined version of XSLPmsaddjob and XSLPmsaddpreset. The preset described is loaded, topped up with the specific settings supplied
Public method MsAddJob
Adds a multistart job to the multistart pool
Public method MsAddPreset
Loads a preset of jobs into the multistart job pool.
Public method MsClear
Removes all scheduled jobs from the multistart job pool
Public method NextIIS()
Convenience wrapper for NextIIS(int) that returns the output argument.
Public method NextIIS(Int32)
Continues the search for further Irreducible Infeasible Sets (IIS), or calls firstIIS ( IIS) if no IIS has been identified yet.
Public method NlpAddFormulas
Add non-linear formulas to the SLP problem.
Public method NlpCalcSlacks
Calculate the slack values for the provided solution in the non-linear problem
Public method NlpChgFormula
Add or replace a single matrix formula using a parsed or unparsed formula
Public method NlpChgFormulaStr
Add or replace a single matrix formula using a character string for the formula.
Public method NlpChgFormulaString Obsolete.
Add or replace a single matrix formula using a character string for the formula.
Public method NlpCurrentIV
Transfer the current solution to initial values
Public method NlpDelFormulas
Delete nonlinear formulas from the current problem
Public method NlpDelUserFunction
Delete a user function from the current problem
Public method NlpEvaluateFormula(Int32, Int32, Double)
Convenience wrapper for NlpEvaluateFormula(int,int[],double[],double) that returns the output argument.
Public method NlpEvaluateFormula(Int32, Int32, Double, Double)
Evaluate a formula using the current values of the variables
Public method NlpGetFormula
Retrieve a single matrix formula as a formula split into tokens.
Public method NlpGetFormulaRows
Retrieve the list of positions of the nonlinear formulas in the problem
Public method NlpGetFormulaStr
Retrieve a single matrix formula in a character string.
Public method NlpGetFormulaString Obsolete.
Retrieve a single matrix formula in a character string.
Public method NlpImportLibFunc
Imports a function from a library file to be called as a user function
Public method NlpLoadFormulas
Load non-linear formulas into the SLP problem
Public method NlpOptimize
Maximize or minimize an SLP problem
Public method NlpPostsolveProb
Restores the problem to its pre-solve state
Public method NlpPrintEvalInfo
Print a summary of any evaluation errors that may have occurred during solving a problem
Public method NlpSetFunctionError
Set the function error flag for the problem
Public method NlpSetInitVal(Int32, Double)
Convenience wrapper for NlpSetInitVal(int, int[], double[]).
Public method NlpSetInitVal(Int32, Int32, Double)
Set the initial value of a variable
Public method NlpValidate
Validate the feasibility of constraints in a converged solution
Public method NlpValidateKKT
Validates the first order optimality conditions also known as the Karush-Kuhn-Tucker (KKT) conditions versus the currect solution
Public method NlpValidateRow
Prints an extensive analysis on a given constraint of the SLP problem
Public method NlpValidateVector
Validate the feasibility of constraints for a given solution
Public method 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.
Public method 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 returned and must be queried explicitly afterwards using the corresponding attribute. See the documentation of the overloaded function for more details.
Public method 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 returned and must be queried explicitly afterwards using the corresponding attribute. See the documentation of the overloaded function for more details.
Public method Optimize(String, Int32, Int32)
This function begins a search for the optimal solution of the problem. The direction of optimization is given by OBJSENSE.
Public method Pivot
Performs a simplex pivot by bringing variable enter into the basis and removing leave.
Public method PostSolve
Postsolve the current matrix when it is in a presolved state.
Public method PostSolveSol
Postsolves a primal solution formulated in the presolved space into the corresponding solution formulated in the original space. The problem itself is unchanged.
Public method PresolveRow(XPRSprob.RowInfo)
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.
Public method 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.
Public method 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.
Public method 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.
Public method ReadBasis()
Instructs the Optimizer to read in a previously saved basis from a file.
Public method ReadBasis(String)
Instructs the Optimizer to read in a previously saved basis from a file.
Public method ReadBasis(String, String)
Instructs the Optimizer to read in a previously saved basis from a file.
Public method ReadBinSol()
Reads a solution from a binary solution file.
Public method ReadBinSol(String)
Reads a solution from a binary solution file.
Public method ReadBinSol(String, String)
Reads a solution from a binary solution file.
Public method ReadDirs()
Reads a directives file to help direct the tree search.
Public method ReadDirs(String)
Reads a directives file to help direct the tree search.
Public method ReadProb(String)
Reads an (X)MPS or LP format matrix from file.
Public method ReadProb(String, String)
Reads an (X)MPS or LP format matrix from file.
Public method ReadSlxSol()
Reads an ASCII solution file [ .slx] created by the writeSlxSol function.
Public method ReadSlxSol(String)
Reads an ASCII solution file [ .slx] created by the writeSlxSol function.
Public method ReadSlxSol(String, String)
Reads an ASCII solution file [ .slx] created by the writeSlxSol function.
Public method RefineMipSol Obsolete.
Executes the MIP solution refiner.
Public method RemoveAfterObjectiveCallback
Remove AfterObjective callback.
Public method RemoveAfterObjectiveCallbacks
Remove all AfterObjective callbacks.
Public method RemoveBarIterationCallback
Remove BarIteration callback.
Public method RemoveBarIterationCallbacks
Remove all BarIteration callbacks.
Public method RemoveBarlogCallback
Remove Barlog callback.
Public method RemoveBarlogCallbacks
Remove all Barlog callbacks.
Public method RemoveBeforeObjectiveCallback
Remove BeforeObjective callback.
Public method RemoveBeforeObjectiveCallbacks
Remove all BeforeObjective callbacks.
Public method RemoveBeforeSolveCallback
Remove BeforeSolve callback.
Public method RemoveBeforeSolveCallbacks
Remove all BeforeSolve callbacks.
Public method RemoveChangeBranchObjectCallback
Remove ChangeBranchObject callback.
Public method RemoveChangeBranchObjectCallbacks
Remove all ChangeBranchObject callbacks.
Public method RemoveCheckTimeCallback
Remove CheckTime callback.
Public method RemoveCheckTimeCallbacks
Remove all CheckTime callbacks.
Public method RemoveChgbranchCallback Obsolete.
Remove Chgbranch callback.
Public method RemoveChgbranchCallbacks Obsolete.
Remove all Chgbranch callbacks.
Public method RemoveChgnodeCallback Obsolete.
Remove Chgnode callback.
Public method RemoveChgnodeCallbacks Obsolete.
Remove all Chgnode callbacks.
Public method RemoveComputeRestartCallback
Remove ComputeRestart callback.
Public method RemoveComputeRestartCallbacks
Remove all ComputeRestart callbacks.
Public method RemoveCutlogCallback
Remove Cutlog callback.
Public method RemoveCutlogCallbacks
Remove all Cutlog callbacks.
Public method RemoveCutmgrCallback Obsolete.
Remove Cutmgr callback.
Public method RemoveCutmgrCallbacks Obsolete.
Remove all Cutmgr callbacks.
Public method RemoveGapNotifyCallback
Remove GapNotify callback.
Public method RemoveGapNotifyCallbacks
Remove all GapNotify callbacks.
Public method RemoveInfnodeCallback
Remove Infnode callback.
Public method RemoveInfnodeCallbacks
Remove all Infnode callbacks.
Public method RemoveIntsolCallback
Remove Intsol callback.
Public method RemoveIntsolCallbacks
Remove all Intsol callbacks.
Public method RemoveLplogCallback
Remove Lplog callback.
Public method RemoveLplogCallbacks
Remove all Lplog callbacks.
Public method RemoveMessageCallback
Remove Message callback.
Public method RemoveMessageCallbacks
Remove all Message callbacks.
Public method RemoveMiplogCallback
Remove Miplog callback.
Public method RemoveMiplogCallbacks
Remove all Miplog callbacks.
Public method RemoveMipThreadCallback
Remove MipThread callback.
Public method RemoveMipThreadCallbacks
Remove all MipThread callbacks.
Public method RemoveMipThreadDestroyCallback
Remove MipThreadDestroy callback.
Public method RemoveMipThreadDestroyCallbacks
Remove all MipThreadDestroy callbacks.
Public method RemoveMsgHandlerCallback
Remove MsgHandler callback.
(Overrides XPRSobject.RemoveMsgHandlerCallback(MsgHandlerCallback).)
Public method RemoveMsgHandlerCallbacks
Remove all MsgHandler callbacks.
(Overrides XPRSobject.RemoveMsgHandlerCallbacks().)
Public method RemoveMsJobEndCallback
Remove MsJobEnd callback.
Public method RemoveMsJobEndCallbacks
Remove all MsJobEnd callbacks.
Public method RemoveMsJobStartCallback
Remove MsJobStart callback.
Public method RemoveMsJobStartCallbacks
Remove all MsJobStart callbacks.
Public method RemoveMsWinnerCallback
Remove MsWinner callback.
Public method RemoveMsWinnerCallbacks
Remove all MsWinner callbacks.
Public method RemoveNewnodeCallback
Remove Newnode callback.
Public method RemoveNewnodeCallbacks
Remove all Newnode callbacks.
Public method RemoveNlpCoefEvalErrorCallback
Remove NlpCoefEvalError callback.
Public method RemoveNlpCoefEvalErrorCallbacks
Remove all NlpCoefEvalError callbacks.
Public method RemoveNodecutoffCallback
Remove Nodecutoff callback.
Public method RemoveNodecutoffCallbacks
Remove all Nodecutoff callbacks.
Public method RemoveNodeLPSolvedCallback
Remove NodeLPSolved callback.
Public method RemoveNodeLPSolvedCallbacks
Remove all NodeLPSolved callbacks.
Public method RemoveOptnodeCallback
Remove Optnode callback.
Public method RemoveOptnodeCallbacks
Remove all Optnode callbacks.
Public method RemovePreIntsolCallback
Remove PreIntsol callback.
Public method RemovePreIntsolCallbacks
Remove all PreIntsol callbacks.
Public method RemovePrenodeCallback
Remove Prenode callback.
Public method RemovePrenodeCallbacks
Remove all Prenode callbacks.
Public method RemovePresolveCallback
Remove Presolve callback.
Public method RemovePresolveCallbacks
Remove all Presolve callbacks.
Public method RemoveSlpCascadeEndCallback
Remove SlpCascadeEnd callback.
Public method RemoveSlpCascadeEndCallbacks
Remove all SlpCascadeEnd callbacks.
Public method RemoveSlpCascadeStartCallback
Remove SlpCascadeStart callback.
Public method RemoveSlpCascadeStartCallbacks
Remove all SlpCascadeStart callbacks.
Public method RemoveSlpCascadeVarCallback
Remove SlpCascadeVar callback.
Public method RemoveSlpCascadeVarCallbacks
Remove all SlpCascadeVar callbacks.
Public method RemoveSlpCascadeVarFailCallback
Remove SlpCascadeVarFail callback.
Public method RemoveSlpCascadeVarFailCallbacks
Remove all SlpCascadeVarFail callbacks.
Public method RemoveSlpConstructCallback
Remove SlpConstruct callback.
Public method RemoveSlpConstructCallbacks
Remove all SlpConstruct callbacks.
Public method RemoveSlpDrColCallback
Remove SlpDrCol callback.
Public method RemoveSlpDrColCallbacks
Remove all SlpDrCol callbacks.
Public method RemoveSlpIntSolCallback
Remove SlpIntSol callback.
Public method RemoveSlpIntSolCallbacks
Remove all SlpIntSol callbacks.
Public method RemoveSlpIterEndCallback
Remove SlpIterEnd callback.
Public method RemoveSlpIterEndCallbacks
Remove all SlpIterEnd callbacks.
Public method RemoveSlpIterStartCallback
Remove SlpIterStart callback.
Public method RemoveSlpIterStartCallbacks
Remove all SlpIterStart callbacks.
Public method RemoveSlpIterVarCallback
Remove SlpIterVar callback.
Public method RemoveSlpIterVarCallbacks
Remove all SlpIterVar callbacks.
Public method RemoveSlpPreUpdateLinearizationCallback
Remove SlpPreUpdateLinearization callback.
Public method RemoveSlpPreUpdateLinearizationCallbacks
Remove all SlpPreUpdateLinearization callbacks.
Public method RemoveUserSolNotifyCallback
Remove UserSolNotify callback.
Public method RemoveUserSolNotifyCallbacks
Remove all UserSolNotify callbacks.
Public method 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.
Public method RepairInfeas(Int32, Char, Char, Char, Double, Double, Double, Double, Double)
Provides a simplified interface for repairWeightedInfeas.
Public method 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.
Public method 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. For the console version, see REPAIRINFEAS.
Public method 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.
Public method 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.
Public method Restore()
Restores the Optimizer's data structures from a file created by save ( SAVE). Optimization may then recommence from the point at which the file was created.
Public method Restore(String)
Restores the Optimizer's data structures from a file created by save ( SAVE). Optimization may then recommence from the point at which the file was created.
Public method Restore(String, String)
Restores the Optimizer's data structures from a file created by save ( SAVE). Optimization may then recommence from the point at which the file was created.
Public method 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.
Protected method RowTypeToArray
Convert a column type array to an array of low-level type indicators.
Public method 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.
Public method 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.
Public method Scale
Re-scales the current matrix.
Public method SetDblControl
Sets the value of a given double control parameter.
Public method SetDefaultControl
Set a default control value.
Public method SetDefaults
Sets all controls to their default values. Must be called before the problem is read or loaded by readProb, loadMIP, loadLP, loadMIQP, loadQP.
Public method SetIndicator
Add a single indicator constraint.
Public method 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.
Public method SetIntControl
Sets the value of a given integer control parameter.
Public method SetLogFile
This directs all Optimizer output to a log file.
Public method SetLongControl
Sets the value of a given integer control parameter.
Public method SetMessageStatus
Manages suppression of messages.
Public method SetObjDblControl
Sets the value of a given double control parameter associated with an objective. These parameters control how the objective is treated during multi-objective optimization.
Public method SetObjective(Int32, Double)
Set objective to a linear function. Any previously set objective will be cleared.
Public method SetObjective(Int32, Double, ObjSense)
Set objective to a linear function. Any previously set objective will be cleared.
Public method SetObjIntControl
Sets the value of a given integer control parameter associated with an objective. These parameters control how the objective is treated during multi-objective optimization.
Public method SetProbName
Sets the current default problem name. This command is rarely used.
Public method SetStrControl
Used to set the value of a given string control parameter.
Public method SlpAddCoefs
Add non-linear coefficients to the SLP problem. For a simpler version of this function see XSLPaddformulas.
Public method SlpCascadeOrder
Establish a re-calculation sequence for SLP variables with determining rows.
Public method SlpCascadeSol
Re-calculate consistent values for SLP variables based on the current values of the remaining variables.
Public method SlpChgCascadeNLimit
Set a variable specific cascade iteration limit
Public method SlpChgCCoef Obsolete.
Add or change a single matrix coefficient using a character string for the formula. For a simpler version of this function see nlpChgFormulaStr.
Public method SlpChgCoef
Add or change a single matrix coefficient using a parsed or unparsed formula. For a simpler version of this function see XSLPchgformula.
Public method SlpChgCoefStr
Add or change a single matrix coefficient using a character string for the formula. For a simpler version of this function see nlpChgFormulaStr.
Public method SlpChgDeltaType
Changes the type of the delta assigned to a nonlinear variable
Public method SlpChgRowStatus(Int32)
Convenience wrapper for SlpChgRowStatus(int,int) that returns the output argument.
Public method SlpChgRowStatus(Int32, Int32)
Change the status setting of a constraint
Public method SlpChgRowWt
Set or change the initial penalty error weight for a row
Public method SlpConstruct
Create the full augmented SLP matrix and data structures, ready for optimization
Public method SlpDelCoefs(Int32, Int32)
Convenience wrapper for SlpDelCoefs(int, int[], int[]).
Public method SlpDelCoefs(Int32, Int32, Int32)
Delete coefficients from the current problem. For a simpler version of this function see XSLPdelformulas.
Public method SlpEvaluateCoef(Int32, Int32)
Convenience wrapper for SlpEvaluateCoef(int,int,double) that returns the output argument.
Public method SlpEvaluateCoef(Int32, Int32, Double)
Evaluate a coefficient using the current values of the variables
Public method SlpFixPenalties
Fixe the values of the error vectors
Public method SlpGetCCoef Obsolete.
Retrieve a single matrix coefficient as a formula in a character string. For a simpler version of this function see nlpGetFormulaStr.
Public method SlpGetCoefFormula
Retrieve a single matrix coefficient as a formula split into tokens. For a simpler version of this function see XSLPchgformula.
Public method SlpGetCoefs
Retrieve the list of positions of the nonlinear coefficients in the problem. For a simpler version of this function see XSLPgetformularows.
Public method SlpGetCoefStr
Retrieve a single matrix coefficient as a formula in a character string. For a simpler version of this function see nlpGetFormulaStr.
Public method SlpGetRowStatus
Retrieve the status setting of a constraint
Public method SlpGetRowWT(Int32)
Convenience wrapper for SlpGetRowWT(int,double) that returns the output argument.
Public method SlpGetRowWT(Int32, Double)
Get the initial penalty error weight for a row
Public method SlpLoadCoefs
Load non-linear coefficients into the SLP problem. For a simpler version of this function see XSLPloadformulas.
Public method SlpReInitialize
Reset the SLP problem to match a just augmented system
Public method SlpSetDetRow(Int32, Int32)
Convenience wrapper for SlpSetDetRow(int, int[], int[]).
Public method SlpSetDetRow(Int32, Int32, Int32)
Set the determining row of a variable
Public method SlpUnConstruct
Removes the augmentation and returns the problem to its pre-linearization state
Public method SlpUpdateLinearization
Updates the current linearization
Public method SparseBTran
Post-multiplies a (row) vector provided by the user by the inverse of the current matrix. Sparse version of bTran.
Public method SparseFTran
Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix. Sparse version of fTran.
Public method 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.
Public method 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.
Public method 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.
Public method 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.
Public method ToString
Returns a String that represents the current Object.
(Inherited from Object.)
Public method 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.
Public method 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.
Public method TunerReadMethod
This function loads a user defined tuner method from the given file.
Public method TunerWriteMethod
This function writes the current tuner method to a given file or prints it to the console.
Public method 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).
Public method VarArray(Char, Int32, Double, Double, Func<Int32, String>)
Create an array of variables with the same type. All the variables created by this function have the same types and bounds.
Public method VarArray(Char, Int32, Double, Double, String)
Create an array of variables with the same type.
Public method VarArray(Char, Int32, Func<Int32, Double>, Func<Int32, Double>, Func<Int32, String>)
Create an array of variables with the same type.
Public method VarArray<T>(Char, ICollection<T>, Double, Double, Func<T, 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.
Public method VarArray<T>(Char, ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, String>)
Create an array of variables with the same type. The function will create one variable for each of the objects listed in objs.
Public method VarMap<T>(Char, ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, 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.
Public method VarMap<T>(Char, ICollection<T>, Func<T, Double>, Func<T, Double>, Func<T, String>, IDictionary<T, 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.
Public method WriteBasis()
Writes the current basis to a file for later input into the Optimizer.
Public method WriteBasis(String)
Writes the current basis to a file for later input into the Optimizer.
Public method WriteBasis(String, String)
Writes the current basis to a file for later input into the Optimizer.
Public method WriteBinSol()
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
Public method WriteBinSol(String)
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
Public method WriteBinSol(String, String)
Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
Public method WriteDirs()
Writes the tree search directives from the current problem to a directives file.
Public method WriteDirs(String)
Writes the tree search directives from the current problem to a directives file.
Public method 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.
Public method 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.
Public method WriteProb()
Writes the current problem to an MPS or LP file.
Public method WriteProb(String)
Writes the current problem to an MPS or LP file.
Public method WriteProb(String, String)
Writes the current problem to an MPS or LP file.
Public method WritePrtSol()
Writes the current solution to a fixed format ASCII file, problem_name .prt.
Public method WritePrtSol(String)
Writes the current solution to a fixed format ASCII file, problem_name .prt.
Public method WritePrtSol(String, String)
Writes the current solution to a fixed format ASCII file, problem_name .prt.
Public method 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.
Public method 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.
Public method 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.
Public method WriteSol()
Writes the current solution to a CSV format ASCII file, problem_name .asc (and .hdr).
Public method WriteSol(String)
Writes the current solution to a CSV format ASCII file, problem_name .asc (and .hdr).
Public method WriteSol(String, String)
Writes the current solution to a CSV format ASCII file, problem_name .asc (and .hdr).
Top
Fields
  Name Description
Public fieldStatic member cannotAddConstraints
Error message in case we attempt to create rows with Variables where this is not possible.
Public fieldStatic member cannotAddPWLs
Error message in case we attempt to create rows with Variables where this is not possible.
Public fieldStatic member cannotAddSets
Error message in case we attempt to create sets where this is not possible.
Public fieldStatic member cannotAddVariables
Error message in case we attempt to create variables where this is not possible.
Public fieldStatic member EQ
Constraint sense for == constraints.
Public fieldStatic member GEQ
Constraint sense for >= constraints.
Public fieldStatic member LEQ
Constraint sense for <= constraints.
Top
See Also

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