# Automatically generated using Clang.jl


const GRB_VERSION_MAJOR = 9
const GRB_VERSION_MINOR = 1
const GRB_VERSION_TECHNICAL = 0
const DEFAULT_CS_PRIORITY = 0
const MAX_CS_PRIORITY = 100
const DEFAULT_CS_PORT = 61000
const DEFAULT_CS_HANGUP = 60
const GRB_ERROR_OUT_OF_MEMORY = 10001
const GRB_ERROR_NULL_ARGUMENT = 10002
const GRB_ERROR_INVALID_ARGUMENT = 10003
const GRB_ERROR_UNKNOWN_ATTRIBUTE = 10004
const GRB_ERROR_DATA_NOT_AVAILABLE = 10005
const GRB_ERROR_INDEX_OUT_OF_RANGE = 10006
const GRB_ERROR_UNKNOWN_PARAMETER = 10007
const GRB_ERROR_VALUE_OUT_OF_RANGE = 10008
const GRB_ERROR_NO_LICENSE = 10009
const GRB_ERROR_SIZE_LIMIT_EXCEEDED = 10010
const GRB_ERROR_CALLBACK = 10011
const GRB_ERROR_FILE_READ = 10012
const GRB_ERROR_FILE_WRITE = 10013
const GRB_ERROR_NUMERIC = 10014
const GRB_ERROR_IIS_NOT_INFEASIBLE = 10015
const GRB_ERROR_NOT_FOR_MIP = 10016
const GRB_ERROR_OPTIMIZATION_IN_PROGRESS = 10017
const GRB_ERROR_DUPLICATES = 10018
const GRB_ERROR_NODEFILE = 10019
const GRB_ERROR_Q_NOT_PSD = 10020
const GRB_ERROR_QCP_EQUALITY_CONSTRAINT = 10021
const GRB_ERROR_NETWORK = 10022
const GRB_ERROR_JOB_REJECTED = 10023
const GRB_ERROR_NOT_SUPPORTED = 10024
const GRB_ERROR_EXCEED_2B_NONZEROS = 10025
const GRB_ERROR_INVALID_PIECEWISE_OBJ = 10026
const GRB_ERROR_UPDATEMODE_CHANGE = 10027
const GRB_ERROR_CLOUD = 10028
const GRB_ERROR_MODEL_MODIFICATION = 10029
const GRB_ERROR_CSWORKER = 10030
const GRB_ERROR_TUNE_MODEL_TYPES = 10031
const GRB_ERROR_SECURITY = 10032
const GRB_LESS_EQUAL = '<'
const GRB_GREATER_EQUAL = '>'
const GRB_EQUAL = '='
const GRB_CONTINUOUS = 'C'
const GRB_BINARY = 'B'
const GRB_INTEGER = 'I'
const GRB_SEMICONT = 'S'
const GRB_SEMIINT = 'N'
const GRB_MINIMIZE = 1
const GRB_MAXIMIZE = -1
const GRB_SOS_TYPE1 = 1
const GRB_SOS_TYPE2 = 2
const GRB_INFINITY = 1.0e100
const GRB_UNDEFINED = 1.0e101
const GRB_MAXINT = 2000000000
const GRB_MAX_NAMELEN = 255
const GRB_MAX_STRLEN = 512
const GRB_MAX_TAGLEN = 10240
const GRB_MAX_CONCURRENT = 64

# Skipping MacroDefinition: CB_ARGS GRBmodel * model , void * cbdata , int where , void * usrdata

const GRB_INT_ATTR_NUMCONSTRS = "NumConstrs"
const GRB_INT_ATTR_NUMVARS = "NumVars"
const GRB_INT_ATTR_NUMSOS = "NumSOS"
const GRB_INT_ATTR_NUMQCONSTRS = "NumQConstrs"
const GRB_INT_ATTR_NUMGENCONSTRS = "NumGenConstrs"
const GRB_INT_ATTR_NUMNZS = "NumNZs"
const GRB_DBL_ATTR_DNUMNZS = "DNumNZs"
const GRB_INT_ATTR_NUMQNZS = "NumQNZs"
const GRB_INT_ATTR_NUMQCNZS = "NumQCNZs"
const GRB_INT_ATTR_NUMINTVARS = "NumIntVars"
const GRB_INT_ATTR_NUMBINVARS = "NumBinVars"
const GRB_INT_ATTR_NUMPWLOBJVARS = "NumPWLObjVars"
const GRB_STR_ATTR_MODELNAME = "ModelName"
const GRB_INT_ATTR_MODELSENSE = "ModelSense"
const GRB_DBL_ATTR_OBJCON = "ObjCon"
const GRB_INT_ATTR_IS_MIP = "IsMIP"
const GRB_INT_ATTR_IS_QP = "IsQP"
const GRB_INT_ATTR_IS_QCP = "IsQCP"
const GRB_INT_ATTR_IS_MULTIOBJ = "IsMultiObj"
const GRB_STR_ATTR_SERVER = "Server"
const GRB_STR_ATTR_JOBID = "JobID"
const GRB_INT_ATTR_LICENSE_EXPIRATION = "LicenseExpiration"
const GRB_INT_ATTR_NUMTAGGED = "NumTagged"
const GRB_INT_ATTR_FINGERPRINT = "Fingerprint"
const GRB_INT_ATTR_BATCHERRORCODE = "BatchErrorCode"
const GRB_STR_ATTR_BATCHERRORMESSAGE = "BatchErrorMessage"
const GRB_STR_ATTR_BATCHID = "BatchID"
const GRB_INT_ATTR_BATCHSTATUS = "BatchStatus"
const GRB_DBL_ATTR_LB = "LB"
const GRB_DBL_ATTR_UB = "UB"
const GRB_DBL_ATTR_OBJ = "Obj"
const GRB_CHAR_ATTR_VTYPE = "VType"
const GRB_DBL_ATTR_START = "Start"
const GRB_DBL_ATTR_PSTART = "PStart"
const GRB_INT_ATTR_BRANCHPRIORITY = "BranchPriority"
const GRB_STR_ATTR_VARNAME = "VarName"
const GRB_INT_ATTR_PWLOBJCVX = "PWLObjCvx"
const GRB_DBL_ATTR_VARHINTVAL = "VarHintVal"
const GRB_INT_ATTR_VARHINTPRI = "VarHintPri"
const GRB_INT_ATTR_PARTITION = "Partition"
const GRB_STR_ATTR_VTAG = "VTag"
const GRB_STR_ATTR_CTAG = "CTag"
const GRB_DBL_ATTR_RHS = "RHS"
const GRB_DBL_ATTR_DSTART = "DStart"
const GRB_CHAR_ATTR_SENSE = "Sense"
const GRB_STR_ATTR_CONSTRNAME = "ConstrName"
const GRB_INT_ATTR_LAZY = "Lazy"
const GRB_STR_ATTR_QCTAG = "QCTag"
const GRB_DBL_ATTR_QCRHS = "QCRHS"
const GRB_CHAR_ATTR_QCSENSE = "QCSense"
const GRB_STR_ATTR_QCNAME = "QCName"
const GRB_INT_ATTR_GENCONSTRTYPE = "GenConstrType"
const GRB_STR_ATTR_GENCONSTRNAME = "GenConstrName"
const GRB_INT_ATTR_FUNCPIECES = "FuncPieces"
const GRB_DBL_ATTR_FUNCPIECEERROR = "FuncPieceError"
const GRB_DBL_ATTR_FUNCPIECELENGTH = "FuncPieceLength"
const GRB_DBL_ATTR_FUNCPIECERATIO = "FuncPieceRatio"
const GRB_DBL_ATTR_MAX_COEFF = "MaxCoeff"
const GRB_DBL_ATTR_MIN_COEFF = "MinCoeff"
const GRB_DBL_ATTR_MAX_BOUND = "MaxBound"
const GRB_DBL_ATTR_MIN_BOUND = "MinBound"
const GRB_DBL_ATTR_MAX_OBJ_COEFF = "MaxObjCoeff"
const GRB_DBL_ATTR_MIN_OBJ_COEFF = "MinObjCoeff"
const GRB_DBL_ATTR_MAX_RHS = "MaxRHS"
const GRB_DBL_ATTR_MIN_RHS = "MinRHS"
const GRB_DBL_ATTR_MAX_QCCOEFF = "MaxQCCoeff"
const GRB_DBL_ATTR_MIN_QCCOEFF = "MinQCCoeff"
const GRB_DBL_ATTR_MAX_QOBJ_COEFF = "MaxQObjCoeff"
const GRB_DBL_ATTR_MIN_QOBJ_COEFF = "MinQObjCoeff"
const GRB_DBL_ATTR_MAX_QCLCOEFF = "MaxQCLCoeff"
const GRB_DBL_ATTR_MIN_QCLCOEFF = "MinQCLCoeff"
const GRB_DBL_ATTR_MAX_QCRHS = "MaxQCRHS"
const GRB_DBL_ATTR_MIN_QCRHS = "MinQCRHS"
const GRB_DBL_ATTR_RUNTIME = "Runtime"
const GRB_INT_ATTR_STATUS = "Status"
const GRB_DBL_ATTR_OBJVAL = "ObjVal"
const GRB_DBL_ATTR_OBJBOUND = "ObjBound"
const GRB_DBL_ATTR_OBJBOUNDC = "ObjBoundC"
const GRB_DBL_ATTR_POOLOBJBOUND = "PoolObjBound"
const GRB_DBL_ATTR_POOLOBJVAL = "PoolObjVal"
const GRB_DBL_ATTR_MIPGAP = "MIPGap"
const GRB_INT_ATTR_SOLCOUNT = "SolCount"
const GRB_DBL_ATTR_ITERCOUNT = "IterCount"
const GRB_INT_ATTR_BARITERCOUNT = "BarIterCount"
const GRB_DBL_ATTR_NODECOUNT = "NodeCount"
const GRB_DBL_ATTR_OPENNODECOUNT = "OpenNodeCount"
const GRB_INT_ATTR_HASDUALNORM = "HasDualNorm"
const GRB_DBL_ATTR_X = "X"
const GRB_DBL_ATTR_XN = "Xn"
const GRB_DBL_ATTR_BARX = "BarX"
const GRB_DBL_ATTR_RC = "RC"
const GRB_DBL_ATTR_VDUALNORM = "VDualNorm"
const GRB_INT_ATTR_VBASIS = "VBasis"
const GRB_DBL_ATTR_PI = "Pi"
const GRB_DBL_ATTR_QCPI = "QCPi"
const GRB_DBL_ATTR_SLACK = "Slack"
const GRB_DBL_ATTR_QCSLACK = "QCSlack"
const GRB_DBL_ATTR_CDUALNORM = "CDualNorm"
const GRB_INT_ATTR_CBASIS = "CBasis"
const GRB_DBL_ATTR_BOUND_VIO = "BoundVio"
const GRB_DBL_ATTR_BOUND_SVIO = "BoundSVio"
const GRB_INT_ATTR_BOUND_VIO_INDEX = "BoundVioIndex"
const GRB_INT_ATTR_BOUND_SVIO_INDEX = "BoundSVioIndex"
const GRB_DBL_ATTR_BOUND_VIO_SUM = "BoundVioSum"
const GRB_DBL_ATTR_BOUND_SVIO_SUM = "BoundSVioSum"
const GRB_DBL_ATTR_CONSTR_VIO = "ConstrVio"
const GRB_DBL_ATTR_CONSTR_SVIO = "ConstrSVio"
const GRB_INT_ATTR_CONSTR_VIO_INDEX = "ConstrVioIndex"
const GRB_INT_ATTR_CONSTR_SVIO_INDEX = "ConstrSVioIndex"
const GRB_DBL_ATTR_CONSTR_VIO_SUM = "ConstrVioSum"
const GRB_DBL_ATTR_CONSTR_SVIO_SUM = "ConstrSVioSum"
const GRB_DBL_ATTR_CONSTR_RESIDUAL = "ConstrResidual"
const GRB_DBL_ATTR_CONSTR_SRESIDUAL = "ConstrSResidual"
const GRB_INT_ATTR_CONSTR_RESIDUAL_INDEX = "ConstrResidualIndex"
const GRB_INT_ATTR_CONSTR_SRESIDUAL_INDEX = "ConstrSResidualIndex"
const GRB_DBL_ATTR_CONSTR_RESIDUAL_SUM = "ConstrResidualSum"
const GRB_DBL_ATTR_CONSTR_SRESIDUAL_SUM = "ConstrSResidualSum"
const GRB_DBL_ATTR_DUAL_VIO = "DualVio"
const GRB_DBL_ATTR_DUAL_SVIO = "DualSVio"
const GRB_INT_ATTR_DUAL_VIO_INDEX = "DualVioIndex"
const GRB_INT_ATTR_DUAL_SVIO_INDEX = "DualSVioIndex"
const GRB_DBL_ATTR_DUAL_VIO_SUM = "DualVioSum"
const GRB_DBL_ATTR_DUAL_SVIO_SUM = "DualSVioSum"
const GRB_DBL_ATTR_DUAL_RESIDUAL = "DualResidual"
const GRB_DBL_ATTR_DUAL_SRESIDUAL = "DualSResidual"
const GRB_INT_ATTR_DUAL_RESIDUAL_INDEX = "DualResidualIndex"
const GRB_INT_ATTR_DUAL_SRESIDUAL_INDEX = "DualSResidualIndex"
const GRB_DBL_ATTR_DUAL_RESIDUAL_SUM = "DualResidualSum"
const GRB_DBL_ATTR_DUAL_SRESIDUAL_SUM = "DualSResidualSum"
const GRB_DBL_ATTR_INT_VIO = "IntVio"
const GRB_INT_ATTR_INT_VIO_INDEX = "IntVioIndex"
const GRB_DBL_ATTR_INT_VIO_SUM = "IntVioSum"
const GRB_DBL_ATTR_COMPL_VIO = "ComplVio"
const GRB_INT_ATTR_COMPL_VIO_INDEX = "ComplVioIndex"
const GRB_DBL_ATTR_COMPL_VIO_SUM = "ComplVioSum"
const GRB_DBL_ATTR_KAPPA = "Kappa"
const GRB_DBL_ATTR_KAPPA_EXACT = "KappaExact"
const GRB_DBL_ATTR_N2KAPPA = "N2Kappa"
const GRB_DBL_ATTR_SA_OBJLOW = "SAObjLow"
const GRB_DBL_ATTR_SA_OBJUP = "SAObjUp"
const GRB_DBL_ATTR_SA_LBLOW = "SALBLow"
const GRB_DBL_ATTR_SA_LBUP = "SALBUp"
const GRB_DBL_ATTR_SA_UBLOW = "SAUBLow"
const GRB_DBL_ATTR_SA_UBUP = "SAUBUp"
const GRB_DBL_ATTR_SA_RHSLOW = "SARHSLow"
const GRB_DBL_ATTR_SA_RHSUP = "SARHSUp"
const GRB_INT_ATTR_IIS_MINIMAL = "IISMinimal"
const GRB_INT_ATTR_IIS_LB = "IISLB"
const GRB_INT_ATTR_IIS_UB = "IISUB"
const GRB_INT_ATTR_IIS_CONSTR = "IISConstr"
const GRB_INT_ATTR_IIS_SOS = "IISSOS"
const GRB_INT_ATTR_IIS_QCONSTR = "IISQConstr"
const GRB_INT_ATTR_IIS_GENCONSTR = "IISGenConstr"
const GRB_INT_ATTR_TUNE_RESULTCOUNT = "TuneResultCount"
const GRB_DBL_ATTR_FARKASDUAL = "FarkasDual"
const GRB_DBL_ATTR_FARKASPROOF = "FarkasProof"
const GRB_DBL_ATTR_UNBDRAY = "UnbdRay"
const GRB_INT_ATTR_INFEASVAR = "InfeasVar"
const GRB_INT_ATTR_UNBDVAR = "UnbdVar"
const GRB_INT_ATTR_VARPRESTAT = "VarPreStat"
const GRB_DBL_ATTR_PREFIXVAL = "PreFixVal"
const GRB_DBL_ATTR_OBJN = "ObjN"
const GRB_DBL_ATTR_OBJNVAL = "ObjNVal"
const GRB_DBL_ATTR_OBJNCON = "ObjNCon"
const GRB_DBL_ATTR_OBJNWEIGHT = "ObjNWeight"
const GRB_INT_ATTR_OBJNPRIORITY = "ObjNPriority"
const GRB_DBL_ATTR_OBJNRELTOL = "ObjNRelTol"
const GRB_DBL_ATTR_OBJNABSTOL = "ObjNAbsTol"
const GRB_STR_ATTR_OBJNNAME = "ObjNName"
const GRB_DBL_ATTR_SCENNLB = "ScenNLB"
const GRB_DBL_ATTR_SCENNUB = "ScenNUB"
const GRB_DBL_ATTR_SCENNOBJ = "ScenNObj"
const GRB_DBL_ATTR_SCENNRHS = "ScenNRHS"
const GRB_STR_ATTR_SCENNNAME = "ScenNName"
const GRB_DBL_ATTR_SCENNX = "ScenNX"
const GRB_DBL_ATTR_SCENNOBJBOUND = "ScenNObjBound"
const GRB_DBL_ATTR_SCENNOBJVAL = "ScenNObjVal"
const GRB_INT_ATTR_NUMOBJ = "NumObj"
const GRB_INT_ATTR_NUMSCENARIOS = "NumScenarios"
const GRB_INT_ATTR_NUMSTART = "NumStart"
const GRB_DBL_ATTR_Xn = "Xn"
const GRB_GENCONSTR_MAX = 0
const GRB_GENCONSTR_MIN = 1
const GRB_GENCONSTR_ABS = 2
const GRB_GENCONSTR_AND = 3
const GRB_GENCONSTR_OR = 4
const GRB_GENCONSTR_INDICATOR = 5
const GRB_GENCONSTR_PWL = 6
const GRB_GENCONSTR_POLY = 7
const GRB_GENCONSTR_EXP = 8
const GRB_GENCONSTR_EXPA = 9
const GRB_GENCONSTR_LOG = 10
const GRB_GENCONSTR_LOGA = 11
const GRB_GENCONSTR_POW = 12
const GRB_GENCONSTR_SIN = 13
const GRB_GENCONSTR_COS = 14
const GRB_GENCONSTR_TAN = 15
const GRB_CB_POLLING = 0
const GRB_CB_PRESOLVE = 1
const GRB_CB_SIMPLEX = 2
const GRB_CB_MIP = 3
const GRB_CB_MIPSOL = 4
const GRB_CB_MIPNODE = 5
const GRB_CB_MESSAGE = 6
const GRB_CB_BARRIER = 7
const GRB_CB_MULTIOBJ = 8
const GRB_CB_PRE_COLDEL = 1000
const GRB_CB_PRE_ROWDEL = 1001
const GRB_CB_PRE_SENCHG = 1002
const GRB_CB_PRE_BNDCHG = 1003
const GRB_CB_PRE_COECHG = 1004
const GRB_CB_SPX_ITRCNT = 2000
const GRB_CB_SPX_OBJVAL = 2001
const GRB_CB_SPX_PRIMINF = 2002
const GRB_CB_SPX_DUALINF = 2003
const GRB_CB_SPX_ISPERT = 2004
const GRB_CB_MIP_OBJBST = 3000
const GRB_CB_MIP_OBJBND = 3001
const GRB_CB_MIP_NODCNT = 3002
const GRB_CB_MIP_SOLCNT = 3003
const GRB_CB_MIP_CUTCNT = 3004
const GRB_CB_MIP_NODLFT = 3005
const GRB_CB_MIP_ITRCNT = 3006
const GRB_CB_MIP_OBJBNDC = 3007
const GRB_CB_MIPSOL_SOL = 4001
const GRB_CB_MIPSOL_OBJ = 4002
const GRB_CB_MIPSOL_OBJBST = 4003
const GRB_CB_MIPSOL_OBJBND = 4004
const GRB_CB_MIPSOL_NODCNT = 4005
const GRB_CB_MIPSOL_SOLCNT = 4006
const GRB_CB_MIPSOL_OBJBNDC = 4007
const GRB_CB_MIPNODE_STATUS = 5001
const GRB_CB_MIPNODE_REL = 5002
const GRB_CB_MIPNODE_OBJBST = 5003
const GRB_CB_MIPNODE_OBJBND = 5004
const GRB_CB_MIPNODE_NODCNT = 5005
const GRB_CB_MIPNODE_SOLCNT = 5006
const GRB_CB_MIPNODE_BRVAR = 5007
const GRB_CB_MIPNODE_OBJBNDC = 5008
const GRB_CB_MSG_STRING = 6001
const GRB_CB_RUNTIME = 6002
const GRB_CB_BARRIER_ITRCNT = 7001
const GRB_CB_BARRIER_PRIMOBJ = 7002
const GRB_CB_BARRIER_DUALOBJ = 7003
const GRB_CB_BARRIER_PRIMINF = 7004
const GRB_CB_BARRIER_DUALINF = 7005
const GRB_CB_BARRIER_COMPL = 7006
const GRB_CB_MULTIOBJ_OBJCNT = 8001
const GRB_CB_MULTIOBJ_SOLCNT = 8002
const GRB_CB_MULTIOBJ_SOL = 8003
const GRB_FEASRELAX_LINEAR = 0
const GRB_FEASRELAX_QUADRATIC = 1
const GRB_FEASRELAX_CARDINALITY = 2

# Skipping MacroDefinition: MALLOCCB_ARGS size_t size , void * syscbusrdata
# Skipping MacroDefinition: CALLOCCB_ARGS size_t nmemb , size_t size , void * syscbusrdata
# Skipping MacroDefinition: REALLOCCB_ARGS void * ptr , size_t size , void * syscbusrdata
# Skipping MacroDefinition: FREECB_ARGS void * ptr , void * syscbusrdata
# Skipping MacroDefinition: THREADCREATECB_ARGS void * * threadP , void ( * start_routine ) ( void * ) , void * arg , void * syscbusrdata
# Skipping MacroDefinition: THREADJOINCB_ARGS void * thread , void * syscbusrdata

const GRB_LOADED = 1
const GRB_OPTIMAL = 2
const GRB_INFEASIBLE = 3
const GRB_INF_OR_UNBD = 4
const GRB_UNBOUNDED = 5
const GRB_CUTOFF = 6
const GRB_ITERATION_LIMIT = 7
const GRB_NODE_LIMIT = 8
const GRB_TIME_LIMIT = 9
const GRB_SOLUTION_LIMIT = 10
const GRB_INTERRUPTED = 11
const GRB_NUMERIC = 12
const GRB_SUBOPTIMAL = 13
const GRB_INPROGRESS = 14
const GRB_USER_OBJ_LIMIT = 15
const GRB_BASIC = 0
const GRB_NONBASIC_LOWER = -1
const GRB_NONBASIC_UPPER = -2
const GRB_SUPERBASIC = -3
const GRB_INT_PAR_BARITERLIMIT = "BarIterLimit"
const GRB_DBL_PAR_CUTOFF = "Cutoff"
const GRB_DBL_PAR_ITERATIONLIMIT = "IterationLimit"
const GRB_DBL_PAR_NODELIMIT = "NodeLimit"
const GRB_INT_PAR_SOLUTIONLIMIT = "SolutionLimit"
const GRB_DBL_PAR_TIMELIMIT = "TimeLimit"
const GRB_DBL_PAR_BESTOBJSTOP = "BestObjStop"
const GRB_DBL_PAR_BESTBDSTOP = "BestBdStop"
const GRB_DBL_PAR_FEASIBILITYTOL = "FeasibilityTol"
const GRB_DBL_PAR_INTFEASTOL = "IntFeasTol"
const GRB_DBL_PAR_MARKOWITZTOL = "MarkowitzTol"
const GRB_DBL_PAR_MIPGAP = "MIPGap"
const GRB_DBL_PAR_MIPGAPABS = "MIPGapAbs"
const GRB_DBL_PAR_OPTIMALITYTOL = "OptimalityTol"
const GRB_DBL_PAR_PSDTOL = "PSDTol"
const GRB_INT_PAR_METHOD = "Method"
const GRB_DBL_PAR_PERTURBVALUE = "PerturbValue"
const GRB_DBL_PAR_OBJSCALE = "ObjScale"
const GRB_INT_PAR_SCALEFLAG = "ScaleFlag"
const GRB_INT_PAR_SIMPLEXPRICING = "SimplexPricing"
const GRB_INT_PAR_QUAD = "Quad"
const GRB_INT_PAR_NORMADJUST = "NormAdjust"
const GRB_INT_PAR_SIFTING = "Sifting"
const GRB_INT_PAR_SIFTMETHOD = "SiftMethod"
const GRB_DBL_PAR_BARCONVTOL = "BarConvTol"
const GRB_INT_PAR_BARCORRECTORS = "BarCorrectors"
const GRB_INT_PAR_BARHOMOGENEOUS = "BarHomogeneous"
const GRB_INT_PAR_BARORDER = "BarOrder"
const GRB_DBL_PAR_BARQCPCONVTOL = "BarQCPConvTol"
const GRB_INT_PAR_CROSSOVER = "Crossover"
const GRB_INT_PAR_CROSSOVERBASIS = "CrossoverBasis"
const GRB_INT_PAR_BRANCHDIR = "BranchDir"
const GRB_INT_PAR_DEGENMOVES = "DegenMoves"
const GRB_INT_PAR_DISCONNECTED = "Disconnected"
const GRB_DBL_PAR_HEURISTICS = "Heuristics"
const GRB_DBL_PAR_IMPROVESTARTGAP = "ImproveStartGap"
const GRB_DBL_PAR_IMPROVESTARTTIME = "ImproveStartTime"
const GRB_DBL_PAR_IMPROVESTARTNODES = "ImproveStartNodes"
const GRB_INT_PAR_INTEGRALITYFOCUS = "IntegralityFocus"
const GRB_INT_PAR_MINRELNODES = "MinRelNodes"
const GRB_INT_PAR_MIPFOCUS = "MIPFocus"
const GRB_STR_PAR_NODEFILEDIR = "NodefileDir"
const GRB_DBL_PAR_NODEFILESTART = "NodefileStart"
const GRB_INT_PAR_NODEMETHOD = "NodeMethod"
const GRB_DBL_PAR_NORELHEURTIME = "NoRelHeurTime"
const GRB_DBL_PAR_NORELHEURWORK = "NoRelHeurWork"
const GRB_INT_PAR_PUMPPASSES = "PumpPasses"
const GRB_INT_PAR_RINS = "RINS"
const GRB_STR_PAR_SOLFILES = "SolFiles"
const GRB_INT_PAR_STARTNODELIMIT = "StartNodeLimit"
const GRB_INT_PAR_SUBMIPNODES = "SubMIPNodes"
const GRB_INT_PAR_SYMMETRY = "Symmetry"
const GRB_INT_PAR_VARBRANCH = "VarBranch"
const GRB_INT_PAR_SOLUTIONNUMBER = "SolutionNumber"
const GRB_INT_PAR_ZEROOBJNODES = "ZeroObjNodes"
const GRB_INT_PAR_CUTS = "Cuts"
const GRB_INT_PAR_CLIQUECUTS = "CliqueCuts"
const GRB_INT_PAR_COVERCUTS = "CoverCuts"
const GRB_INT_PAR_FLOWCOVERCUTS = "FlowCoverCuts"
const GRB_INT_PAR_FLOWPATHCUTS = "FlowPathCuts"
const GRB_INT_PAR_GUBCOVERCUTS = "GUBCoverCuts"
const GRB_INT_PAR_IMPLIEDCUTS = "ImpliedCuts"
const GRB_INT_PAR_PROJIMPLIEDCUTS = "ProjImpliedCuts"
const GRB_INT_PAR_MIPSEPCUTS = "MIPSepCuts"
const GRB_INT_PAR_MIRCUTS = "MIRCuts"
const GRB_INT_PAR_STRONGCGCUTS = "StrongCGCuts"
const GRB_INT_PAR_MODKCUTS = "ModKCuts"
const GRB_INT_PAR_ZEROHALFCUTS = "ZeroHalfCuts"
const GRB_INT_PAR_NETWORKCUTS = "NetworkCuts"
const GRB_INT_PAR_SUBMIPCUTS = "SubMIPCuts"
const GRB_INT_PAR_INFPROOFCUTS = "InfProofCuts"
const GRB_INT_PAR_RLTCUTS = "RLTCuts"
const GRB_INT_PAR_RELAXLIFTCUTS = "RelaxLiftCuts"
const GRB_INT_PAR_BQPCUTS = "BQPCuts"
const GRB_INT_PAR_PSDCUTS = "PSDCuts"
const GRB_INT_PAR_CUTAGGPASSES = "CutAggPasses"
const GRB_INT_PAR_CUTPASSES = "CutPasses"
const GRB_INT_PAR_GOMORYPASSES = "GomoryPasses"
const GRB_STR_PAR_WORKERPOOL = "WorkerPool"
const GRB_STR_PAR_WORKERPASSWORD = "WorkerPassword"
const GRB_STR_PAR_COMPUTESERVER = "ComputeServer"
const GRB_STR_PAR_TOKENSERVER = "TokenServer"
const GRB_STR_PAR_SERVERPASSWORD = "ServerPassword"
const GRB_INT_PAR_SERVERTIMEOUT = "ServerTimeout"
const GRB_STR_PAR_CSROUTER = "CSRouter"
const GRB_STR_PAR_CSGROUP = "CSGroup"
const GRB_DBL_PAR_CSQUEUETIMEOUT = "CSQueueTimeout"
const GRB_INT_PAR_CSPRIORITY = "CSPriority"
const GRB_INT_PAR_CSIDLETIMEOUT = "CSIdleTimeout"
const GRB_INT_PAR_CSTLSINSECURE = "CSTLSInsecure"
const GRB_INT_PAR_TSPORT = "TSPort"
const GRB_STR_PAR_CLOUDACCESSID = "CloudAccessID"
const GRB_STR_PAR_CLOUDSECRETKEY = "CloudSecretKey"
const GRB_STR_PAR_CLOUDPOOL = "CloudPool"
const GRB_STR_PAR_CLOUDHOST = "CloudHost"
const GRB_STR_PAR_CSMANAGER = "CSManager"
const GRB_STR_PAR_CSAUTHTOKEN = "CSAuthToken"
const GRB_STR_PAR_CSAPIACCESSID = "CSAPIAccessID"
const GRB_STR_PAR_CSAPISECRET = "CSAPISecret"
const GRB_INT_PAR_CSBATCHMODE = "CSBatchMode"
const GRB_STR_PAR_USERNAME = "Username"
const GRB_STR_PAR_CSAPPNAME = "CSAppName"
const GRB_INT_PAR_CSCLIENTLOG = "CSClientLog"
const GRB_INT_PAR_AGGREGATE = "Aggregate"
const GRB_INT_PAR_AGGFILL = "AggFill"
const GRB_INT_PAR_CONCURRENTMIP = "ConcurrentMIP"
const GRB_INT_PAR_CONCURRENTJOBS = "ConcurrentJobs"
const GRB_INT_PAR_DISPLAYINTERVAL = "DisplayInterval"
const GRB_INT_PAR_DISTRIBUTEDMIPJOBS = "DistributedMIPJobs"
const GRB_INT_PAR_DUALREDUCTIONS = "DualReductions"
const GRB_DBL_PAR_FEASRELAXBIGM = "FeasRelaxBigM"
const GRB_INT_PAR_IISMETHOD = "IISMethod"
const GRB_INT_PAR_INFUNBDINFO = "InfUnbdInfo"
const GRB_INT_PAR_JSONSOLDETAIL = "JSONSolDetail"
const GRB_INT_PAR_LAZYCONSTRAINTS = "LazyConstraints"
const GRB_STR_PAR_LOGFILE = "LogFile"
const GRB_INT_PAR_LOGTOCONSOLE = "LogToConsole"
const GRB_INT_PAR_MIQCPMETHOD = "MIQCPMethod"
const GRB_INT_PAR_NONCONVEX = "NonConvex"
const GRB_INT_PAR_NUMERICFOCUS = "NumericFocus"
const GRB_INT_PAR_OUTPUTFLAG = "OutputFlag"
const GRB_INT_PAR_PRECRUSH = "PreCrush"
const GRB_INT_PAR_PREDEPROW = "PreDepRow"
const GRB_INT_PAR_PREDUAL = "PreDual"
const GRB_INT_PAR_PREPASSES = "PrePasses"
const GRB_INT_PAR_PREQLINEARIZE = "PreQLinearize"
const GRB_INT_PAR_PRESOLVE = "Presolve"
const GRB_DBL_PAR_PRESOS1BIGM = "PreSOS1BigM"
const GRB_DBL_PAR_PRESOS2BIGM = "PreSOS2BigM"
const GRB_INT_PAR_PRESPARSIFY = "PreSparsify"
const GRB_INT_PAR_PREMIQCPFORM = "PreMIQCPForm"
const GRB_INT_PAR_QCPDUAL = "QCPDual"
const GRB_INT_PAR_RECORD = "Record"
const GRB_STR_PAR_RESULTFILE = "ResultFile"
const GRB_INT_PAR_SEED = "Seed"
const GRB_INT_PAR_THREADS = "Threads"
const GRB_DBL_PAR_TUNETIMELIMIT = "TuneTimeLimit"
const GRB_INT_PAR_TUNERESULTS = "TuneResults"
const GRB_INT_PAR_TUNECRITERION = "TuneCriterion"
const GRB_INT_PAR_TUNETRIALS = "TuneTrials"
const GRB_INT_PAR_TUNEOUTPUT = "TuneOutput"
const GRB_INT_PAR_TUNEJOBS = "TuneJobs"
const GRB_DBL_PAR_TUNECLEANUP = "TuneCleanup"
const GRB_INT_PAR_UPDATEMODE = "UpdateMode"
const GRB_INT_PAR_OBJNUMBER = "ObjNumber"
const GRB_INT_PAR_MULTIOBJMETHOD = "MultiObjMethod"
const GRB_INT_PAR_MULTIOBJPRE = "MultiObjPre"
const GRB_INT_PAR_SCENARIONUMBER = "ScenarioNumber"
const GRB_INT_PAR_POOLSOLUTIONS = "PoolSolutions"
const GRB_DBL_PAR_POOLGAP = "PoolGap"
const GRB_DBL_PAR_POOLGAPABS = "PoolGapAbs"
const GRB_INT_PAR_POOLSEARCHMODE = "PoolSearchMode"
const GRB_INT_PAR_IGNORENAMES = "IgnoreNames"
const GRB_INT_PAR_STARTNUMBER = "StartNumber"
const GRB_INT_PAR_PARTITIONPLACE = "PartitionPlace"
const GRB_INT_PAR_FUNCPIECES = "FuncPieces"
const GRB_DBL_PAR_FUNCPIECELENGTH = "FuncPieceLength"
const GRB_DBL_PAR_FUNCPIECEERROR = "FuncPieceError"
const GRB_DBL_PAR_FUNCPIECERATIO = "FuncPieceRatio"
const GRB_DBL_PAR_FUNCMAXVAL = "FuncMaxVal"
const GRB_STR_PAR_DUMMY = "Dummy"
const GRB_STR_PAR_JOBID = "JobID"
const GRB_CUTS_AUTO = -1
const GRB_CUTS_OFF = 0
const GRB_CUTS_CONSERVATIVE = 1
const GRB_CUTS_AGGRESSIVE = 2
const GRB_CUTS_VERYAGGRESSIVE = 3
const GRB_PRESOLVE_AUTO = -1
const GRB_PRESOLVE_OFF = 0
const GRB_PRESOLVE_CONSERVATIVE = 1
const GRB_PRESOLVE_AGGRESSIVE = 2
const GRB_METHOD_AUTO = -1
const GRB_METHOD_PRIMAL = 0
const GRB_METHOD_DUAL = 1
const GRB_METHOD_BARRIER = 2
const GRB_METHOD_CONCURRENT = 3
const GRB_METHOD_DETERMINISTIC_CONCURRENT = 4
const GRB_METHOD_DETERMINISTIC_CONCURRENT_SIMPLEX = 5
const GRB_BARHOMOGENEOUS_AUTO = -1
const GRB_BARHOMOGENEOUS_OFF = 0
const GRB_BARHOMOGENEOUS_ON = 1
const GRB_MIPFOCUS_BALANCED = 0
const GRB_MIPFOCUS_FEASIBILITY = 1
const GRB_MIPFOCUS_OPTIMALITY = 2
const GRB_MIPFOCUS_BESTBOUND = 3
const GRB_BARORDER_AUTOMATIC = -1
const GRB_BARORDER_AMD = 0
const GRB_BARORDER_NESTEDDISSECTION = 1
const GRB_SIMPLEXPRICING_AUTO = -1
const GRB_SIMPLEXPRICING_PARTIAL = 0
const GRB_SIMPLEXPRICING_STEEPEST_EDGE = 1
const GRB_SIMPLEXPRICING_DEVEX = 2
const GRB_SIMPLEXPRICING_STEEPEST_QUICK = 3
const GRB_VARBRANCH_AUTO = -1
const GRB_VARBRANCH_PSEUDO_REDUCED = 0
const GRB_VARBRANCH_PSEUDO_SHADOW = 1
const GRB_VARBRANCH_MAX_INFEAS = 2
const GRB_VARBRANCH_STRONG = 3
const GRB_PARTITION_EARLY = 16
const GRB_PARTITION_ROOTSTART = 8
const GRB_PARTITION_ROOTEND = 4
const GRB_PARTITION_NODES = 2
const GRB_PARTITION_CLEANUP = 1
const GRB_BATCH_STATUS_UNKNOWN = 0
const GRB_BATCH_CREATED = 1
const GRB_BATCH_SUBMITTED = 2
const GRB_BATCH_ABORTED = 3
const GRB_BATCH_FAILED = 4
const GRB_BATCH_COMPLETED = 5
const _GRBbatch = Cvoid
const GRBbatch = _GRBbatch
const _GRBmodel = Cvoid
const GRBmodel = _GRBmodel
const _GRBenv = Cvoid
const GRBenv = _GRBenv

struct _GRBsvec
    len::Cint
    ind::Ptr{Cint}
    val::Ptr{Cdouble}
end

const GRBsvec = _GRBsvec
