Try our new documentation site (beta).
Filter Content By
Version
Text Search
${sidebar_list_label} - Back
Filter by Language
Constants
The following list contains the set of constants needed by the Gurobi
.NET interface. You would refer to them using a GRB.
prefix
(e.g., GRB.Status.OPTIMAL
).
// Model status codes (after call to optimize()) /// <summary> /// Optimization status codes /// </summary> public class Status { /// <summary> /// Model is loaded, but no solution information is available. /// </summary> public const int LOADED = 1; /// <summary> /// Model was solved to optimality (subject to tolerances) and an optimal /// solution is available. /// </summary> public const int OPTIMAL = 2; /// <summary> /// Model was proven to be infeasible. /// </summary> public const int INFEASIBLE = 3; /// <summary> /// Model was proven to be either infeasible or unbounded. /// </summary> public const int INF_OR_UNBD = 4; /// <summary> /// Model was proven to be unbounded. /// </summary> public const int UNBOUNDED = 5; /// <summary> /// Optimal objective was proven to be worse than the value specified /// in the Cutoff parameter. /// </summary> public const int CUTOFF = 6; /// <summary> /// Optimization terminated because the total number of simplex /// iterations performed exceeded the limit specified in the IterationLimit /// parameter. /// </summary> public const int ITERATION_LIMIT = 7; /// <summary> /// Optimization terminated because the total number of branch-and-cut /// nodes explored exceeded the limit specified in the NodeLimit /// parameter. /// </summary> public const int NODE_LIMIT = 8; /// <summary> /// Optimization terminated because the total elapsed time /// exceeded the limit specified in the TimeLimit parameter. /// </summary> public const int TIME_LIMIT = 9; /// <summary> /// Optimization terminated because the number of solutions found /// reached the value specified in the SolutionLimit parameter. /// </summary> public const int SOLUTION_LIMIT = 10; /// <summary> /// Optimization was terminated by the user. /// </summary> public const int INTERRUPTED = 11; /// <summary> /// Optimization was terminated due to unrecoverable numerical /// difficulties. /// </summary> public const int NUMERIC = 12; /// <summary> /// Optimization terminated with a sub-optimal solution. /// </summary> public const int SUBOPTIMAL = 13; /// <summary> /// Optimization is still in progress. /// </summary> public const int INPROGRESS = 14; /// <summary> /// User specified objective limit (a bound on either the best objective /// or the best bound), and that limit has been reached. /// </summary> public const int USER_OBJ_LIMIT = 15; /// <summary> /// Optimization terminated because the total elapsed work /// exceeded the limit specified in the WorkLimit parameter. /// </summary> public const int WORK_LIMIT = 16; } /// <summary> /// Batch status codes /// </summary> public class BatchStatus { /// <summary> /// Batch object was created, but is not ready to be scheduled. /// See the Batch Optimization section of the manual for more details. /// </summary> public const int CREATED = 1; /// <summary> /// The Batch object has been completely specified, and now is waiting /// for a job to finish processing the request. /// See the Batch Optimization section of the manual for more details. /// </summary> public const int SUBMITTED = 2; /// <summary> /// Batch processing was aborted by the user. /// See the Batch Optimization section of the manual for more details. /// </summary> public const int ABORTED = 3; /// <summary> /// Batch processing failed. /// See the Batch Optimization section of the manual for more details. /// </summary> public const int FAILED = 4; /// <summary> /// A Batch Job successfully processed the Batch request. /// See the Batch Optimization section of the manual for more details. /// </summary> public const int COMPLETED = 5; } // Version numbers /// <summary> /// Major number /// </summary> public const int VERSION_MAJOR = 9; /// <summary> /// Minor number /// </summary> public const int VERSION_MINOR = 5; /// <summary> /// Technical number /// </summary> public const int VERSION_TECHNICAL = 2; // Basis status info /// <summary> /// Variable is basic. /// </summary> public const int BASIC = 0; /// <summary> /// Variable is non-basic at lower bound. /// </summary> public const int NONBASIC_LOWER = -1; /// <summary> /// Variable is non-basic at upper bound. /// </summary> public const int NONBASIC_UPPER = -2; /// <summary> /// Variable is superbasic. /// </summary> public const int SUPERBASIC = -3; // Constraint senses /// <summary> /// Less or equal constraint sense. /// </summary> public const char LESS_EQUAL = '<'; /// <summary> /// Greater or equal constraint sense. /// </summary> public const char GREATER_EQUAL = '>'; /// <summary> /// Equal constraint sense. /// </summary> public const char EQUAL = '='; // Variable types /// <summary> /// Continuous variable. /// </summary> public const char CONTINUOUS = 'C'; /// <summary> /// Binary variable. /// </summary> public const char BINARY = 'B'; /// <summary> /// Integer variable. /// </summary> public const char INTEGER = 'I'; /// <summary> /// Semi-continuous variable. /// </summary> public const char SEMICONT = 'S'; /// <summary> /// Semi-integer variable. /// </summary> public const char SEMIINT = 'N'; // Objective sense /// <summary> /// Minimization objective. /// </summary> public const int MINIMIZE = 1; /// <summary> /// Maximization objective. /// </summary> public const int MAXIMIZE = -1; // SOS types /// <summary> /// SOS of type 1. /// </summary> public const int SOS_TYPE1 = 1; /// <summary> /// SOS of type 2. /// </summary> public const int SOS_TYPE2 = 2; // General constraint types /// <summary> /// General constraint maximum. /// </summary> public const int GENCONSTR_MAX = 0; /// <summary> /// General constraint minimum. /// </summary> public const int GENCONSTR_MIN = 1; /// <summary> /// General constraint absolute value. /// </summary> public const int GENCONSTR_ABS = 2; /// <summary> /// General constraint logical AND. /// </summary> public const int GENCONSTR_AND = 3; /// <summary> /// General constraint logical OR. /// </summary> public const int GENCONSTR_OR = 4; /// <summary> /// General constraint norm. /// </summary> public const int GENCONSTR_NORM = 5; /// <summary> /// General constraint indicator. /// </summary> public const int GENCONSTR_INDICATOR = 6; /// <summary> /// General constraint piecewise-linear. /// </summary> public const int GENCONSTR_PWL = 7; /// <summary> /// General constraint polynomial function. /// </summary> public const int GENCONSTR_POLY = 8; /// <summary> /// General constraint natural exponential function. /// </summary> public const int GENCONSTR_EXP = 9; /// <summary> /// General constraint exponential function. /// </summary> public const int GENCONSTR_EXPA = 10; /// <summary> /// General constraint natural logarithmic function. /// </summary> public const int GENCONSTR_LOG = 11; /// <summary> /// General constraint logarithmic function. /// </summary> public const int GENCONSTR_LOGA = 12; /// <summary> /// General constraint power function. /// </summary> public const int GENCONSTR_POW = 13; /// <summary> /// General constraint sine function. /// </summary> public const int GENCONSTR_SIN = 14; /// <summary> /// General constraint cosine function. /// </summary> public const int GENCONSTR_COS = 15; /// <summary> /// General constraint tangent function. /// </summary> public const int GENCONSTR_TAN = 16; // Numeric constants /// <summary> /// Infinity value. /// </summary> public const double INFINITY = 1e100; /// <summary> /// Undefined value. /// </summary> public const double UNDEFINED = 1e101; /// <summary> /// Maximum integer value. /// </summary> public const int MAXINT = 2000000000; // Other constants /// <summary> /// Default compute server port. /// </summary> public const int DEFAULT_CS_PORT = 61000; // Limits /// <summary> /// Maximum string length. /// </summary> public const int MAX_STRLEN = 512; /// <summary> /// Maximum name length. /// </summary> public const int MAX_NAMELEN = 255; /// <summary> /// Maximum tag length. /// </summary> public const int MAX_TAGLEN = 10240; /// <summary> /// Maximum concurrent threads. /// </summary> public const int MAX_CONCURRENT = 64; // Callback constants /// <summary> /// Gurobi callback codes. /// </summary> public class Callback { /// <summary> /// Periodic polling callback. /// </summary> public const int POLLING = 0; /// <summary> /// Currently performing presolve. /// </summary> public const int PRESOLVE = 1; /// <summary> /// Currently in simplex. /// </summary> public const int SIMPLEX = 2; /// <summary> /// Currently in MIP. /// </summary> public const int MIP = 3; /// <summary> /// Found a new MIP incumbent. /// </summary> public const int MIPSOL = 4; /// <summary> /// Currently exploring a MIP node. /// </summary> public const int MIPNODE = 5; /// <summary> /// Currently in barrier. /// </summary> public const int BARRIER = 7; /// <summary> /// Printing a log message. /// </summary> public const int MESSAGE = 6; /// <summary> /// Currently in multi-objective optimization. /// </summary> public const int MULTIOBJ = 8; /// <summary> /// Currently computing an IIS. /// </summary> public const int IIS = 9; /// <summary> /// Returns the number of columns removed by presolve to this point. /// </summary> public const int PRE_COLDEL = 1000; /// <summary> /// Returns the number of rows removed by presolve to this point. /// </summary> public const int PRE_ROWDEL = 1001; /// <summary> /// Returns the number of constraint senses changed by presolve to this /// point. /// </summary> public const int PRE_SENCHG = 1002; /// <summary> /// Returns the number of bounds changed by presolve to this point. /// </summary> public const int PRE_BNDCHG = 1003; /// <summary> /// Returns the number of coefficients changed by presolve to this point. /// </summary> public const int PRE_COECHG = 1004; /// <summary> /// Returns the current simplex iteration count. /// </summary> public const int SPX_ITRCNT = 2000; /// <summary> /// Returns the current simplex objective value. /// </summary> public const int SPX_OBJVAL = 2001; /// <summary> /// Returns the current simplex primal infeasibility. /// </summary> public const int SPX_PRIMINF = 2002; /// <summary> /// Returns the current simplex dual infeasibility. /// </summary> public const int SPX_DUALINF = 2003; /// <summary> /// Returns 1 if the model has been perturbed. /// </summary> public const int SPX_ISPERT = 2004; /// <summary> /// Returns the current best objective value. /// </summary> public const int MIP_OBJBST = 3000; /// <summary> /// Returns the current best objective bound. /// </summary> public const int MIP_OBJBND = 3001; /// <summary> /// Returns the current explored node count. /// </summary> public const int MIP_NODCNT = 3002; /// <summary> /// Returns the current solution count. /// </summary> public const int MIP_SOLCNT = 3003; /// <summary> /// Returns the current cutting plane count. /// </summary> public const int MIP_CUTCNT = 3004; /// <summary> /// Returns the current unexplored node count. /// </summary> public const int MIP_NODLFT = 3005; /// <summary> /// Returns the current simplex iteration count. /// </summary> public const int MIP_ITRCNT = 3006; /// <summary> /// For a multi-scenario model, returns the number of scenarios that are still open. /// </summary> public const int MIP_OPENSCENARIOS = 3007; /// <summary> /// Returns the current phase of the MIP algorithm. /// </summary> public const int MIP_PHASE = 3008; /// <summary> /// Returns the new solution. /// </summary> public const int MIPSOL_SOL = 4001; /// <summary> /// Returns the objective value for the new solution. /// </summary> public const int MIPSOL_OBJ = 4002; /// <summary> /// Returns the current best objective value. /// </summary> public const int MIPSOL_OBJBST = 4003; /// <summary> /// Returns the current best objective bound. /// </summary> public const int MIPSOL_OBJBND = 4004; /// <summary> /// Returns the current explored node count. /// </summary> public const int MIPSOL_NODCNT = 4005; /// <summary> /// Returns the current solution count. /// </summary> public const int MIPSOL_SOLCNT = 4006; /// <summary> /// For a multi-scenario model, returns the number of scenarios that are still open. /// </summary> public const int MIPSOL_OPENSCENARIOS = 4007; /// <summary> /// Returns the current phase of the MIP algorithm. /// </summary> public const int MIPSOL_PHASE = 4008; /// <summary> /// Returns the status of the current node relaxation. /// </summary> public const int MIPNODE_STATUS = 5001; /// <summary> /// Returns the current node relaxation solution or ray. /// </summary> public const int MIPNODE_REL = 5002; /// <summary> /// Returns the current best objective value. /// </summary> public const int MIPNODE_OBJBST = 5003; /// <summary> /// Returns the current best objective bound. /// </summary> public const int MIPNODE_OBJBND = 5004; /// <summary> /// Returns the current explored node count. /// </summary> public const int MIPNODE_NODCNT = 5005; /// <summary> /// Returns the current solution count. /// </summary> public const int MIPNODE_SOLCNT = 5006; /// <summary> /// Returns the branching variable for the current node. /// </summary> public const int MIPNODE_BRVAR = 5007; /// <summary> /// For a multi-scenario model, returns the number of scenarios that are still open. /// </summary> public const int MIPNODE_OPENSCENARIOS = 5008; /// <summary> /// Returns the current phase of the MIP algorithm. /// </summary> public const int MIPNODE_PHASE = 5009; /// <summary> /// Returns the current barrier iteration count. /// </summary> public const int BARRIER_ITRCNT = 7001; /// <summary> /// Returns the current barrier primal objective value. /// </summary> public const int BARRIER_PRIMOBJ = 7002; /// <summary> /// Returns the current barrier dual objective value. /// </summary> public const int BARRIER_DUALOBJ = 7003; /// <summary> /// Returns the current barrier primal infeasibility. /// </summary> public const int BARRIER_PRIMINF = 7004; /// <summary> /// Returns the current barrier dual infeasibility. /// </summary> public const int BARRIER_DUALINF = 7005; /// <summary> /// Returns the current barrier complementarity violation. /// </summary> public const int BARRIER_COMPL = 7006; /// <summary> /// Returns the message that is being printed. /// </summary> public const int MSG_STRING = 6001; /// <summary> /// Returns the elapsed solver runtime (in seconds). /// </summary> public const int RUNTIME = 6002; /// <summary> /// Returns the elapsed solver work (in work units). /// </summary> public const int WORK = 6003; /// <summary> /// Returns the number of objectives that have already been optimized. /// </summary> public const int MULTIOBJ_OBJCNT = 8001; /// <summary> /// Returns the current solution count. /// </summary> public const int MULTIOBJ_SOLCNT = 8002; /// <summary> /// Returns the new solution. /// </summary> public const int MULTIOBJ_SOL = 8003; /// <summary> /// Returns the minimum number of constraints in the IIS. /// </summary> public const int IIS_CONSTRMIN = 9001; /// <summary> /// Returns the maximum number of constraints in the IIS. /// </summary> public const int IIS_CONSTRMAX = 9002; /// <summary> /// Returns the estimated number of constraints in the IIS. /// </summary> public const int IIS_CONSTRGUESS = 9003; /// <summary> /// Returns the minimum number of bounds in the IIS. /// </summary> public const int IIS_BOUNDMIN = 9004; /// <summary> /// Returns the maximum number of bounds in the IIS. /// </summary> public const int IIS_BOUNDMAX = 9005; /// <summary> /// Returns the estimated number of bounds in the IIS. /// </summary> public const int IIS_BOUNDGUESS = 9006; } // Errors /// <summary> /// Gurobi error codes. /// </summary> public class Error { /// <summary> /// Available memory was exhausted. /// </summary> public const int OUT_OF_MEMORY = 10001; /// <summary> /// NULL input value provided for a required argument. /// </summary> public const int NULL_ARGUMENT = 10002; /// <summary> /// Invalid input value. /// </summary> public const int INVALID_ARGUMENT = 10003; /// <summary> /// Tried to query or set an unknown attribute. /// </summary> public const int UNKNOWN_ATTRIBUTE = 10004; /// <summary> /// Tried to query or set an attribute that could not be accessed. /// </summary> public const int DATA_NOT_AVAILABLE = 10005; /// <summary> /// Index for attribute query was out of range. /// </summary> public const int INDEX_OUT_OF_RANGE = 10006; /// <summary> /// Tried to query or set an unknown parameter. /// </summary> public const int UNKNOWN_PARAMETER = 10007; /// <summary> /// Tried to set a parameter to a value that is outside its valid range. /// </summary> public const int VALUE_OUT_OF_RANGE = 10008; /// <summary> /// Failed to obtain a Gurobi license.