gurobipy.GRB#
- class GRB#
GRBexposes a set of constants for numeric codes and strings used in the Gurobi API. These constants cover the possible values of many method arguments and status values that occur in gurobipy code. For example, to create a binary variable usingModel.addVar, you would useGRB.BINARY:from gurobipy import GRB ... x = model.addVar(vtype=GRB.BINARY)
To set the objective direction in a call to
Model.setObjective, you would useGRB.MINIMIZEorGRB.MAXIMIZE:model.setObjective(x + y + z, sense=GRB.MAXIMIZE)
Some constants are defined directly in
GRBwhile others are defined in the sub-namespacesGRB.Attr,GRB.Callback,GRB.Error,GRB.Param, andGRB.Status.List of
GRBconstantsThe following constants are members of the
GRBclass. They are accessible as, for example,GRB.LOADED.# Status codes LOADED = 1 OPTIMAL = 2 INFEASIBLE = 3 INF_OR_UNBD = 4 UNBOUNDED = 5 CUTOFF = 6 ITERATION_LIMIT = 7 NODE_LIMIT = 8 TIME_LIMIT = 9 SOLUTION_LIMIT = 10 INTERRUPTED = 11 NUMERIC = 12 SUBOPTIMAL = 13 INPROGRESS = 14 USER_OBJ_LIMIT = 15 WORK_LIMIT = 16 MEM_LIMIT = 17 # Batch status codes BATCH_CREATED = 1 BATCH_SUBMITTED = 2 BATCH_ABORTED = 3 BATCH_FAILED = 4 BATCH_COMPLETED = 5 # Constraint senses LESS_EQUAL = '<' GREATER_EQUAL = '>' EQUAL = '=' # Variable types CONTINUOUS = 'C' BINARY = 'B' INTEGER = 'I' SEMICONT = 'S' SEMIINT = 'N' # Objective sense MINIMIZE = 1 MAXIMIZE = -1 # SOS types SOS_TYPE1 = 1 SOS_TYPE2 = 2 # General constraint types GENCONSTR_MAX = 0 GENCONSTR_MIN = 1 GENCONSTR_ABS = 2 GENCONSTR_AND = 3 GENCONSTR_OR = 4 GENCONSTR_NORM = 5 GENCONSTR_INDICATOR = 6 GENCONSTR_PWL = 7 GENCONSTR_POLY = 8 GENCONSTR_EXP = 9 GENCONSTR_EXPA = 10 GENCONSTR_LOG = 11 GENCONSTR_LOGA = 12 GENCONSTR_POW = 13 GENCONSTR_SIN = 14 GENCONSTR_COS = 15 GENCONSTR_TAN = 16 GENCONSTR_LOGISTIC = 17 # Basis status BASIC = 0 NONBASIC_LOWER = -1 NONBASIC_UPPER = -2 SUPERBASIC = -3 # Numeric constants INFINITY = 1e100 UNDEFINED = 1e101 MAXINT = 2000000000 # Limits MAX_NAMELEN = 255 MAX_STRLEN = 512 MAX_TAGLEN = 10240 MAX_CONCURRENT = 64 # Other constants DEFAULT_CS_PORT = 61000 # Version number VERSION_MAJOR = 11 VERSION_MINOR = 0 VERSION_TECHNICAL = 3 # Errors ERROR_OUT_OF_MEMORY = 10001 ERROR_NULL_ARGUMENT = 10002 ERROR_INVALID_ARGUMENT = 10003 ERROR_UNKNOWN_ATTRIBUTE = 10004 ERROR_DATA_NOT_AVAILABLE = 10005 ERROR_INDEX_OUT_OF_RANGE = 10006 ERROR_UNKNOWN_PARAMETER = 10007 ERROR_VALUE_OUT_OF_RANGE = 10008 ERROR_NO_LICENSE = 10009 ERROR_SIZE_LIMIT_EXCEEDED = 10010 ERROR_CALLBACK = 10011 ERROR_FILE_READ = 10012 ERROR_FILE_WRITE = 10013 ERROR_NUMERIC = 10014 ERROR_IIS_NOT_INFEASIBLE = 10015 ERROR_NOT_FOR_MIP = 10016 ERROR_OPTIMIZATION_IN_PROGRESS = 10017 ERROR_DUPLICATES = 10018 ERROR_NODEFILE = 10019 ERROR_Q_NOT_PSD = 10020 ERROR_QCP_EQUALITY_CONSTRAINT = 10021 ERROR_NETWORK = 10022 ERROR_JOB_REJECTED = 10023 ERROR_NOT_SUPPORTED = 10024 ERROR_EXCEED_2B_NONZEROS = 10025 ERROR_INVALID_PIECEWISE_OBJ = 10026 ERROR_UPDATEMODE_CHANGE = 10027 ERROR_CLOUD = 10028 ERROR_MODEL_MODIFICATION = 10029 ERROR_CSWORKER = 10030 ERROR_TUNE_MODEL_TYPES = 10031 ERROR_SECURITY = 10032 ERROR_NOT_IN_MODEL = 20001 ERROR_FAILED_TO_CREATE_MODEL = 20002 ERROR_INTERNAL = 20003 # Cuts parameter values CUTS_AUTO = -1 CUTS_OFF = 0 CUTS_CONSERVATIVE = 1 CUTS_AGGRESSIVE = 2 CUTS_VERYAGGRESSIVE = 3 # Presolve parameter values PRESOLVE_AUTO = -1 PRESOLVE_OFF = 0 PRESOLVE_CONSERVATIVE = 1 PRESOLVE_AGGRESSIVE = 2 # Method parameter values METHOD_NONE = -1 METHOD_AUTO = -1 METHOD_PRIMAL = 0 METHOD_DUAL = 1 METHOD_BARRIER = 2 METHOD_CONCURRENT = 3 METHOD_DETERMINISTIC_CONCURRENT = 4 METHOD_DETERMINISTIC_CONCURRENT_SIMPLEX = 5 # BarHomogeneous parameter values BARHOMOGENEOUS_AUTO = -1 BARHOMOGENEOUS_OFF = 0 BARHOMOGENEOUS_ON = 1 # BarOrder parameter values BARORDER_AUTOMATIC = -1 BARORDER_AMD = 0 BARORDER_NESTEDDISSECTION = 1 # MIPFocus parameter values MIPFOCUS_BALANCED = 0 MIPFOCUS_FEASIBILITY = 1 MIPFOCUS_OPTIMALITY = 2 MIPFOCUS_BESTBOUND = 3 # SimplexPricing parameter values SIMPLEXPRICING_AUTO = -1 SIMPLEXPRICING_PARTIAL = 0 SIMPLEXPRICING_STEEPEST_EDGE = 1 SIMPLEXPRICING_DEVEX = 2 SIMPLEXPRICING_STEEPEST_QUICK = 3 # VarBranch parameter values VARBRANCH_AUTO = -1 VARBRANCH_PSEUDO_REDUCED = 0 VARBRANCH_PSEUDO_SHADOW = 1 VARBRANCH_MAX_INFEAS = 2 VARBRANCH_STRONG = 3 # Partition parameter values PARTITION_EARLY = 16 PARTITION_ROOTSTART = 8 PARTITION_ROOTEND = 4 PARTITION_NODES = 2 PARTITION_CLEANUP = 1 # Callback phase values PHASE_MIP_NOREL = 0 PHASE_MIP_SEARCH = 1 PHASE_MIP_IMPROVE = 2 # FeasRelax method parameter values FEASRELAX_LINEAR = 0 FEASRELAX_QUADRATIC = 1 FEASRELAX_CARDINALITY = 2
- GRB.Attr#
The constants defined in
GRB.Attrcover the names listed in the Attributes reference. They correspond to possible values of theattrnameargument of methods used to get or set attributes (Model.getAttr,Model.setAttr, for example). These constants are simply strings, so wherever you might use them, you also have the option of using the string directly. For example,GRB.Attr.Objis equal to the string"Obj".- Example:
x = model.addVar() x.setAttr(GRB.Attr.PoolIgnore, 1)
- GRB.Callback#
The constants defined in
GRB.Callbackcover the codes listed in the Callback Codes reference. They correspond to possible values of thewhereargument passed to the user callback during optimization, and values accepted by thewhatargument ofModel.cbGetto query data within the user callback.- Example:
def callback(model, where): if where == GRB.Callback.MIP: best_objective = model.cbGet(GRB.Callback.MIP_OBJBST) ...
- GRB.Error#
The constants defined in
GRB.Errorcover the codes listed in the Error Codes reference. They correspond to possible values ofGurobiError.errnowhen handling exceptions raised by gurobipy.- Example:
try: with gp.Env() as env: ... except gp.GurobiError as e: if e.errno == GRB.Error.NETWORK: ... elif e.errno == GRB.Error.JOB_REJECTED: ... else: ...
- GRB.Param#
The constants defined in
GRB.Paramcover the names listed in the Parameters reference. They correspond to possible values of theparamnameargument ofModel.setParamorEnv.setParam. These constants are simply strings, so wherever you might use them, you also have the option of using the string directly. For example,GRB.Param.DisplayIntervalis equal to the string"DisplayInterval".- Example:
model.setParam(GRB.Param.MIPGap, 1e-2)
- GRB.Status#
The constants defined in
GRB.Statuscover the codes listed in the Status Codes reference. They correspond to values of the Status attribute of theModelobject.- Example:
model.optimize() if model.Status == GRB.Status.OPTIMAL: ... elif model.Status == GRB.Status.INFEASIBLE: ... else: ...