ContentsIndexHome
PreviousUpNext
ISolverInfo::SolverCapability Enumeration

The SolverCapability enumeration describes a set of flags with possible solver capabilities.

enum SolverCapability {
  CAPAB_SOS1_INT = 0x00000001,
  CAPAB_SOS1_CONT = 0x00000002,
  CAPAB_SOS2_INT = 0x00000008,
  CAPAB_SOS2_CONT = 0x00000010,
  CAPAB_FORT_CONV = 0x00000040,
  CAPAB_IIS_FIND = 0x00000080,
  CAPAB_RANGED_ROWS = 0x00000100,
  CAPAB_OBJ_SENSE = 0x00000200,
  CAPAB_RHS_SENSE = 0x00000400,
  CAPAB_UPDATES = 0x00000800,
  CAPAB_OBJ_SPARSE = 0x00001000,
  CAPAB_SOLUTION = 0x00002000,
  CAPAB_SEMI_CONT = 0x00004000,
  CAPAB_SEMI_CONT_INT = 0x00008000,
  CAPAB_OBJ_ROW_REDUC = 0x00010000,
  CAPAB_MATRIX_MANIP = 0x00020000,
  CAPAB_THREAD_SAFE = 0x00040000,
  CAPAB_QP_NOT_SPEC = 0x00080000,
  CAPAB_COMPL_BOUNDS = 0x00100000,
  CAPAB_NO_EMPTY_JAC = 0x00200000,
  CAPAB_PROGRESS_INF = 0x00400000,
  CAPAB_EVAL_LIN_PART = 0x00800000,
  CAPAB_IP_CROSS_ITER = 0x01000000,
  CAPAB_USE_HESSIAN = 0x02000000,
  CAPAB_CHG_QUAD_ROW = 0x04000000,
  CAPAB_CALLBACK_CUTS = 0x08000000,
  CAPAB_POSTSOLVE = 0x10000000,
  CAPAB_GLOBAL_OPT = 0x20000000,
  CAPAB_MULTI_PROB = 0x40000000,
  CAPAB_RENUMBER_DEL = 0x80000000
};
Members 
Description 
CAPAB_SOS1_INT = 0x00000001 
Can handle SOS1 (integer variables). 
CAPAB_SOS1_CONT = 0x00000002 
Can handle SOS1 (continuous variables). 
CAPAB_SOS2_INT = 0x00000008 
Can handle SOS2 (integer variables). 
CAPAB_SOS2_CONT = 0x00000010 
Can handle SOS2 (continuous variables). 
CAPAB_FORT_CONV = 0x00000040 
Solver uses Fortran numbering, i.e., array indices start at 1 instead of 0. 
CAPAB_IIS_FIND = 0x00000080 
Can construct an irreducibly inconsistent set (IIS) set. 
CAPAB_RANGED_ROWS = 0x00000100 
Can handle ranged rows, i.e., rows with a finite right-hand side and left-hand side. 
CAPAB_OBJ_SENSE = 0x00000200 
Can provide objective coefficients sensitivity range. 
CAPAB_RHS_SENSE = 0x00000400 
Can provide right-hand side sensitivity range. 
CAPAB_UPDATES = 0x00000800 
Can handle matrix updates. 
CAPAB_OBJ_SPARSE = 0x00001000 
Uses sparse storage for objective coefficients. 
CAPAB_SOLUTION = 0x00002000 
Intermediate solutions available (e.g., by incumbent callback). 
CAPAB_SEMI_CONT = 0x00004000 
Can handle semi-continuous variables. 
CAPAB_SEMI_CONT_INT = 0x00008000 
Can handle semi-continuous integer variables. 
CAPAB_OBJ_ROW_REDUC = 0x00010000 
Can handle objective row reduction. 
CAPAB_MATRIX_MANIP = 0x00020000 
The AIMMS-solver interface provides support for GMP modifications. 
CAPAB_THREAD_SAFE = 0x00040000 
Solver is thread-safe. 
CAPAB_QP_NOT_SPEC = 0x00080000 
Solver deals with QP models in same way as with other models. 
CAPAB_COMPL_BOUNDS = 0x00100000 
This flag is deprecated. 
CAPAB_NO_EMPTY_JAC = 0x00200000 
If set, AIMMS will not empty the Jacobian before calculating it using method EvaluateDiffRow
CAPAB_PROGRESS_INF = 0x00400000 
Solver provides progress info for infeasibilities during LP solve or during LP phase of MIP solve. 
CAPAB_EVAL_LIN_PART = 0x00800000 
If set, AIMMS should also evaluate the linear part of a row when using method EvaluateRow or EvaluateDiffRow
CAPAB_IP_CROSS_ITER = 0x01000000 
If set, solver provides additional iteration info in barrier crossover phase. 
CAPAB_USE_HESSIAN = 0x02000000 
Can use second order derivatives (NLP/MINLP only). 
CAPAB_CHG_QUAD_ROW = 0x04000000 
This flag is deprecated. 
CAPAB_CALLBACK_CUTS = 0x08000000 
Solver supports callback for adding cutting planes (MIP only). 
CAPAB_POSTSOLVE = 0x10000000 
The AIMMS-solver interface can handle a postsolve initiated by AIMMS. 
CAPAB_GLOBAL_OPT = 0x20000000 
Solver solves nonlinear problems (NLP, MINLP or MPCC) to global optimality. 
CAPAB_MULTI_PROB = 0x40000000 
Solver can have more than one problem in memory. 
CAPAB_RENUMBER_DEL = 0x80000000 
Solver changes numbering of columns and rows immediately after deleting a column or row. 

The solver capabilities are specified as flags in the IntegerSolverInfo::IINFO_CAPAB_FLAGS parameter in the info_int argument of the GetInitialInfo method.

The SolverCapability2 enumeration shows a second set of solver capability flags. These are specified as flags in the IntegerSolverInfo::IINFO_CAPAB2_FLAGS parameter.

Copyright © 1993–2016 by AIMMS B.V. All rights reserved.