14 #ifndef OR_TOOLS_GUROBI_ENVIRONMENT_H_
15 #define OR_TOOLS_GUROBI_ENVIRONMENT_H_
17 #include "absl/status/status.h"
18 #include "absl/status/statusor.h"
25 typedef struct _GRBenv
GRBenv;
34 #define GUROBI_STDCALL __stdcall
36 #define GUROBI_STDCALL
61 #define GRB_VERSION_MAJOR 7
62 #define GRB_VERSION_MINOR 5
63 #define GRB_VERSION_TECHNICAL 2
64 #define DEFAULT_CS_PRIORITY 0
65 #define MAX_CS_PRIORITY 100
66 #define DEFAULT_CS_PORT 61000
67 #define GRB_ERROR_OUT_OF_MEMORY 10001
68 #define GRB_ERROR_NULL_ARGUMENT 10002
69 #define GRB_ERROR_INVALID_ARGUMENT 10003
70 #define GRB_ERROR_UNKNOWN_ATTRIBUTE 10004
71 #define GRB_ERROR_DATA_NOT_AVAILABLE 10005
72 #define GRB_ERROR_INDEX_OUT_OF_RANGE 10006
73 #define GRB_ERROR_UNKNOWN_PARAMETER 10007
74 #define GRB_ERROR_VALUE_OUT_OF_RANGE 10008
75 #define GRB_ERROR_NO_LICENSE 10009
76 #define GRB_ERROR_SIZE_LIMIT_EXCEEDED 10010
77 #define GRB_ERROR_CALLBACK 10011
78 #define GRB_ERROR_FILE_READ 10012
79 #define GRB_ERROR_FILE_WRITE 10013
80 #define GRB_ERROR_NUMERIC 10014
81 #define GRB_ERROR_IIS_NOT_INFEASIBLE 10015
82 #define GRB_ERROR_NOT_FOR_MIP 10016
83 #define GRB_ERROR_OPTIMIZATION_IN_PROGRESS 10017
84 #define GRB_ERROR_DUPLICATES 10018
85 #define GRB_ERROR_NODEFILE 10019
86 #define GRB_ERROR_Q_NOT_PSD 10020
87 #define GRB_ERROR_QCP_EQUALITY_CONSTRAINT 10021
88 #define GRB_ERROR_NETWORK 10022
89 #define GRB_ERROR_JOB_REJECTED 10023
90 #define GRB_ERROR_NOT_SUPPORTED 10024
91 #define GRB_ERROR_EXCEED_2B_NONZEROS 10025
92 #define GRB_ERROR_INVALID_PIECEWISE_OBJ 10026
93 #define GRB_ERROR_UPDATEMODE_CHANGE 10027
94 #define GRB_ERROR_CLOUD 10028
95 #define GRB_ERROR_MODEL_MODIFICATION 10029
96 #define GRB_LESS_EQUAL '<'
97 #define GRB_GREATER_EQUAL '>'
99 #define GRB_CONTINUOUS 'C'
100 #define GRB_BINARY 'B'
101 #define GRB_INTEGER 'I'
102 #define GRB_SEMICONT 'S'
103 #define GRB_SEMIINT 'N'
104 #define GRB_MINIMIZE 1
105 #define GRB_MAXIMIZE -1
106 #define GRB_SOS_TYPE1 1
107 #define GRB_SOS_TYPE2 2
108 #define GRB_INFINITY 1e100
109 #define GRB_UNDEFINED 1e101
110 #define GRB_MAXINT 2000000000
111 #define GRB_MAX_NAMELEN 255
112 #define GRB_MAX_STRLEN 512
113 #define GRB_MAX_CONCURRENT 64
114 extern std::function<int(
GRBenv **,
const char *,
const char *,
const char *,
int,
const char *)>
GRBisqp;
147 #define CB_ARGS GRBmodel *model, void *cbdata, int where, void *usrdata
152 extern std::function<int(
void *cbdata,
int where,
int what,
void *resultP)>
GRBcbget;
153 extern std::function<int(
void *cbdata,
const char *paramname,
const char *newvalue)>
GRBcbsetparam;
154 extern std::function<int(
void *cbdata,
const double *solution,
double *objvalP)>
GRBcbsolution;
155 extern std::function<int(
void *cbdata,
int cutlen,
const int *cutind,
const double *cutval,
char cutsense,
double cutrhs)>
GRBcbcut;
156 extern std::function<int(
void *cbdata,
int lazylen,
const int *lazyind,
const double *lazyval,
char lazysense,
double lazyrhs)>
GRBcblazy;
157 #define GRB_INT_ATTR_NUMCONSTRS "NumConstrs"
158 #define GRB_INT_ATTR_NUMVARS "NumVars"
159 #define GRB_INT_ATTR_NUMSOS "NumSOS"
160 #define GRB_INT_ATTR_NUMQCONSTRS "NumQConstrs"
161 #define GRB_INT_ATTR_NUMGENCONSTRS "NumGenConstrs"
162 #define GRB_INT_ATTR_NUMNZS "NumNZs"
163 #define GRB_DBL_ATTR_DNUMNZS "DNumNZs"
164 #define GRB_INT_ATTR_NUMQNZS "NumQNZs"
165 #define GRB_INT_ATTR_NUMQCNZS "NumQCNZs"
166 #define GRB_INT_ATTR_NUMINTVARS "NumIntVars"
167 #define GRB_INT_ATTR_NUMBINVARS "NumBinVars"
168 #define GRB_INT_ATTR_NUMPWLOBJVARS "NumPWLObjVars"
169 #define GRB_STR_ATTR_MODELNAME "ModelName"
170 #define GRB_INT_ATTR_MODELSENSE "ModelSense"
171 #define GRB_DBL_ATTR_OBJCON "ObjCon"
172 #define GRB_INT_ATTR_IS_MIP "IsMIP"
173 #define GRB_INT_ATTR_IS_QP "IsQP"
174 #define GRB_INT_ATTR_IS_QCP "IsQCP"
175 #define GRB_INT_ATTR_IS_MULTIOBJ "IsMultiObj"
176 #define GRB_STR_ATTR_SERVER "Server"
177 #define GRB_INT_ATTR_LICENSE_EXPIRATION "LicenseExpiration"
178 #define GRB_DBL_ATTR_LB "LB"
179 #define GRB_DBL_ATTR_UB "UB"
180 #define GRB_DBL_ATTR_OBJ "Obj"
181 #define GRB_CHAR_ATTR_VTYPE "VType"
182 #define GRB_DBL_ATTR_START "Start"
183 #define GRB_DBL_ATTR_PSTART "PStart"
184 #define GRB_INT_ATTR_BRANCHPRIORITY "BranchPriority"
185 #define GRB_STR_ATTR_VARNAME "VarName"
186 #define GRB_INT_ATTR_PWLOBJCVX "PWLObjCvx"
187 #define GRB_DBL_ATTR_VARHINTVAL "VarHintVal"
188 #define GRB_INT_ATTR_VARHINTPRI "VarHintPri"
189 #define GRB_INT_ATTR_PARTITION "Partition"
190 #define GRB_DBL_ATTR_RHS "RHS"
191 #define GRB_DBL_ATTR_DSTART "DStart"
192 #define GRB_CHAR_ATTR_SENSE "Sense"
193 #define GRB_STR_ATTR_CONSTRNAME "ConstrName"
194 #define GRB_INT_ATTR_LAZY "Lazy"
195 #define GRB_DBL_ATTR_QCRHS "QCRHS"
196 #define GRB_CHAR_ATTR_QCSENSE "QCSense"
197 #define GRB_STR_ATTR_QCNAME "QCName"
198 #define GRB_INT_ATTR_GENCONSTRTYPE "GenConstrType"
199 #define GRB_STR_ATTR_GENCONSTRNAME "GenConstrName"
200 #define GRB_DBL_ATTR_MAX_COEFF "MaxCoeff"
201 #define GRB_DBL_ATTR_MIN_COEFF "MinCoeff"
202 #define GRB_DBL_ATTR_MAX_BOUND "MaxBound"
203 #define GRB_DBL_ATTR_MIN_BOUND "MinBound"
204 #define GRB_DBL_ATTR_MAX_OBJ_COEFF "MaxObjCoeff"
205 #define GRB_DBL_ATTR_MIN_OBJ_COEFF "MinObjCoeff"
206 #define GRB_DBL_ATTR_MAX_RHS "MaxRHS"
207 #define GRB_DBL_ATTR_MIN_RHS "MinRHS"
208 #define GRB_DBL_ATTR_MAX_QCCOEFF "MaxQCCoeff"
209 #define GRB_DBL_ATTR_MIN_QCCOEFF "MinQCCoeff"
210 #define GRB_DBL_ATTR_MAX_QOBJ_COEFF "MaxQObjCoeff"
211 #define GRB_DBL_ATTR_MIN_QOBJ_COEFF "MinQObjCoeff"
212 #define GRB_DBL_ATTR_MAX_QCLCOEFF "MaxQCLCoeff"
213 #define GRB_DBL_ATTR_MIN_QCLCOEFF "MinQCLCoeff"
214 #define GRB_DBL_ATTR_MAX_QCRHS "MaxQCRHS"
215 #define GRB_DBL_ATTR_MIN_QCRHS "MinQCRHS"
216 #define GRB_DBL_ATTR_RUNTIME "Runtime"
217 #define GRB_INT_ATTR_STATUS "Status"
218 #define GRB_DBL_ATTR_OBJVAL "ObjVal"
219 #define GRB_DBL_ATTR_OBJBOUND "ObjBound"
220 #define GRB_DBL_ATTR_OBJBOUNDC "ObjBoundC"
221 #define GRB_DBL_ATTR_POOLOBJBOUND "PoolObjBound"
222 #define GRB_DBL_ATTR_POOLOBJVAL "PoolObjVal"
223 #define GRB_DBL_ATTR_MIPGAP "MIPGap"
224 #define GRB_INT_ATTR_SOLCOUNT "SolCount"
225 #define GRB_DBL_ATTR_ITERCOUNT "IterCount"
226 #define GRB_INT_ATTR_BARITERCOUNT "BarIterCount"
227 #define GRB_DBL_ATTR_NODECOUNT "NodeCount"
228 #define GRB_DBL_ATTR_OPENNODECOUNT "OpenNodeCount"
229 #define GRB_INT_ATTR_HASDUALNORM "HasDualNorm"
230 #define GRB_DBL_ATTR_X "X"
231 #define GRB_DBL_ATTR_XN "Xn"
232 #define GRB_DBL_ATTR_BARX "BarX"
233 #define GRB_DBL_ATTR_RC "RC"
234 #define GRB_DBL_ATTR_VDUALNORM "VDualNorm"
235 #define GRB_INT_ATTR_VBASIS "VBasis"
236 #define GRB_DBL_ATTR_PI "Pi"
237 #define GRB_DBL_ATTR_QCPI "QCPi"
238 #define GRB_DBL_ATTR_SLACK "Slack"
239 #define GRB_DBL_ATTR_QCSLACK "QCSlack"
240 #define GRB_DBL_ATTR_CDUALNORM "CDualNorm"
241 #define GRB_INT_ATTR_CBASIS "CBasis"
242 #define GRB_DBL_ATTR_BOUND_VIO "BoundVio"
243 #define GRB_DBL_ATTR_BOUND_SVIO "BoundSVio"
244 #define GRB_INT_ATTR_BOUND_VIO_INDEX "BoundVioIndex"
245 #define GRB_INT_ATTR_BOUND_SVIO_INDEX "BoundSVioIndex"
246 #define GRB_DBL_ATTR_BOUND_VIO_SUM "BoundVioSum"
247 #define GRB_DBL_ATTR_BOUND_SVIO_SUM "BoundSVioSum"
248 #define GRB_DBL_ATTR_CONSTR_VIO "ConstrVio"
249 #define GRB_DBL_ATTR_CONSTR_SVIO "ConstrSVio"
250 #define GRB_INT_ATTR_CONSTR_VIO_INDEX "ConstrVioIndex"
251 #define GRB_INT_ATTR_CONSTR_SVIO_INDEX "ConstrSVioIndex"
252 #define GRB_DBL_ATTR_CONSTR_VIO_SUM "ConstrVioSum"
253 #define GRB_DBL_ATTR_CONSTR_SVIO_SUM "ConstrSVioSum"
254 #define GRB_DBL_ATTR_CONSTR_RESIDUAL "ConstrResidual"
255 #define GRB_DBL_ATTR_CONSTR_SRESIDUAL "ConstrSResidual"
256 #define GRB_INT_ATTR_CONSTR_RESIDUAL_INDEX "ConstrResidualIndex"
257 #define GRB_INT_ATTR_CONSTR_SRESIDUAL_INDEX "ConstrSResidualIndex"
258 #define GRB_DBL_ATTR_CONSTR_RESIDUAL_SUM "ConstrResidualSum"
259 #define GRB_DBL_ATTR_CONSTR_SRESIDUAL_SUM "ConstrSResidualSum"
260 #define GRB_DBL_ATTR_DUAL_VIO "DualVio"
261 #define GRB_DBL_ATTR_DUAL_SVIO "DualSVio"
262 #define GRB_INT_ATTR_DUAL_VIO_INDEX "DualVioIndex"
263 #define GRB_INT_ATTR_DUAL_SVIO_INDEX "DualSVioIndex"
264 #define GRB_DBL_ATTR_DUAL_VIO_SUM "DualVioSum"
265 #define GRB_DBL_ATTR_DUAL_SVIO_SUM "DualSVioSum"
266 #define GRB_DBL_ATTR_DUAL_RESIDUAL "DualResidual"
267 #define GRB_DBL_ATTR_DUAL_SRESIDUAL "DualSResidual"
268 #define GRB_INT_ATTR_DUAL_RESIDUAL_INDEX "DualResidualIndex"
269 #define GRB_INT_ATTR_DUAL_SRESIDUAL_INDEX "DualSResidualIndex"
270 #define GRB_DBL_ATTR_DUAL_RESIDUAL_SUM "DualResidualSum"
271 #define GRB_DBL_ATTR_DUAL_SRESIDUAL_SUM "DualSResidualSum"
272 #define GRB_DBL_ATTR_INT_VIO "IntVio"
273 #define GRB_INT_ATTR_INT_VIO_INDEX "IntVioIndex"
274 #define GRB_DBL_ATTR_INT_VIO_SUM "IntVioSum"
275 #define GRB_DBL_ATTR_COMPL_VIO "ComplVio"
276 #define GRB_INT_ATTR_COMPL_VIO_INDEX "ComplVioIndex"
277 #define GRB_DBL_ATTR_COMPL_VIO_SUM "ComplVioSum"
278 #define GRB_DBL_ATTR_KAPPA "Kappa"
279 #define GRB_DBL_ATTR_KAPPA_EXACT "KappaExact"
280 #define GRB_DBL_ATTR_N2KAPPA "N2Kappa"
281 #define GRB_DBL_ATTR_SA_OBJLOW "SAObjLow"
282 #define GRB_DBL_ATTR_SA_OBJUP "SAObjUp"
283 #define GRB_DBL_ATTR_SA_LBLOW "SALBLow"
284 #define GRB_DBL_ATTR_SA_LBUP "SALBUp"
285 #define GRB_DBL_ATTR_SA_UBLOW "SAUBLow"
286 #define GRB_DBL_ATTR_SA_UBUP "SAUBUp"
287 #define GRB_DBL_ATTR_SA_RHSLOW "SARHSLow"
288 #define GRB_DBL_ATTR_SA_RHSUP "SARHSUp"
289 #define GRB_INT_ATTR_IIS_MINIMAL "IISMinimal"
290 #define GRB_INT_ATTR_IIS_LB "IISLB"
291 #define GRB_INT_ATTR_IIS_UB "IISUB"
292 #define GRB_INT_ATTR_IIS_CONSTR "IISConstr"
293 #define GRB_INT_ATTR_IIS_SOS "IISSOS"
294 #define GRB_INT_ATTR_IIS_QCONSTR "IISQConstr"
295 #define GRB_INT_ATTR_IIS_GENCONSTR "IISGenConstr"
296 #define GRB_INT_ATTR_TUNE_RESULTCOUNT "TuneResultCount"
297 #define GRB_DBL_ATTR_FARKASDUAL "FarkasDual"
298 #define GRB_DBL_ATTR_FARKASPROOF "FarkasProof"
299 #define GRB_DBL_ATTR_UNBDRAY "UnbdRay"
300 #define GRB_INT_ATTR_INFEASVAR "InfeasVar"
301 #define GRB_INT_ATTR_UNBDVAR "UnbdVar"
302 #define GRB_INT_ATTR_VARPRESTAT "VarPreStat"
303 #define GRB_DBL_ATTR_PREFIXVAL "PreFixVal"
304 #define GRB_DBL_ATTR_OBJN "ObjN"
305 #define GRB_DBL_ATTR_OBJNVAL "ObjNVal"
306 #define GRB_DBL_ATTR_OBJNCON "ObjNCon"
307 #define GRB_DBL_ATTR_OBJNWEIGHT "ObjNWeight"
308 #define GRB_INT_ATTR_OBJNPRIORITY "ObjNPriority"
309 #define GRB_DBL_ATTR_OBJNRELTOL "ObjNRelTol"
310 #define GRB_DBL_ATTR_OBJNABSTOL "ObjNAbsTol"
311 #define GRB_STR_ATTR_OBJNNAME "ObjNName"
312 #define GRB_INT_ATTR_NUMOBJ "NumObj"
313 #define GRB_INT_ATTR_NUMSTART "NumStart"
314 #define GRB_GENCONSTR_MAX 0
315 #define GRB_GENCONSTR_MIN 1
316 #define GRB_GENCONSTR_ABS 2
317 #define GRB_GENCONSTR_AND 3
318 #define GRB_GENCONSTR_OR 4
319 #define GRB_GENCONSTR_INDICATOR 5
320 #define GRB_CB_POLLING 0
321 #define GRB_CB_PRESOLVE 1
322 #define GRB_CB_SIMPLEX 2
324 #define GRB_CB_MIPSOL 4
325 #define GRB_CB_MIPNODE 5
326 #define GRB_CB_MESSAGE 6
327 #define GRB_CB_BARRIER 7
328 #define GRB_CB_PRE_COLDEL 1000
329 #define GRB_CB_PRE_ROWDEL 1001
330 #define GRB_CB_PRE_SENCHG 1002
331 #define GRB_CB_PRE_BNDCHG 1003
332 #define GRB_CB_PRE_COECHG 1004
333 #define GRB_CB_SPX_ITRCNT 2000
334 #define GRB_CB_SPX_OBJVAL 2001
335 #define GRB_CB_SPX_PRIMINF 2002
336 #define GRB_CB_SPX_DUALINF 2003
337 #define GRB_CB_SPX_ISPERT 2004
338 #define GRB_CB_MIP_OBJBST 3000
339 #define GRB_CB_MIP_OBJBND 3001
340 #define GRB_CB_MIP_NODCNT 3002
341 #define GRB_CB_MIP_SOLCNT 3003
342 #define GRB_CB_MIP_CUTCNT 3004
343 #define GRB_CB_MIP_NODLFT 3005
344 #define GRB_CB_MIP_ITRCNT 3006
345 #define GRB_CB_MIP_OBJBNDC 3007
346 #define GRB_CB_MIPSOL_SOL 4001
347 #define GRB_CB_MIPSOL_OBJ 4002
348 #define GRB_CB_MIPSOL_OBJBST 4003
349 #define GRB_CB_MIPSOL_OBJBND 4004
350 #define GRB_CB_MIPSOL_NODCNT 4005
351 #define GRB_CB_MIPSOL_SOLCNT 4006
352 #define GRB_CB_MIPSOL_OBJBNDC 4007
353 #define GRB_CB_MIPNODE_STATUS 5001
354 #define GRB_CB_MIPNODE_REL 5002
355 #define GRB_CB_MIPNODE_OBJBST 5003
356 #define GRB_CB_MIPNODE_OBJBND 5004
357 #define GRB_CB_MIPNODE_NODCNT 5005
358 #define GRB_CB_MIPNODE_SOLCNT 5006
359 #define GRB_CB_MIPNODE_BRVAR 5007
360 #define GRB_CB_MIPNODE_OBJBNDC 5008
361 #define GRB_CB_MSG_STRING 6001
362 #define GRB_CB_RUNTIME 6002
363 #define GRB_CB_BARRIER_ITRCNT 7001
364 #define GRB_CB_BARRIER_PRIMOBJ 7002
365 #define GRB_CB_BARRIER_DUALOBJ 7003
366 #define GRB_CB_BARRIER_PRIMINF 7004
367 #define GRB_CB_BARRIER_DUALINF 7005
368 #define GRB_CB_BARRIER_COMPL 7006
369 #define GRB_FEASRELAX_LINEAR 0
370 #define GRB_FEASRELAX_QUADRATIC 1
371 #define GRB_FEASRELAX_CARDINALITY 2
374 extern std::function<int(
GRBmodel *
model,
size_t *numnzP,
size_t *cbeg,
int *cind,
double *cval,
int start,
int len)>
GRBXgetconstrs;
375 extern std::function<int(
GRBmodel *
model,
int *numnzP,
int *vbeg,
int *vind,
double *vval,
int start,
int len)>
GRBgetvars;
376 extern std::function<int(
GRBmodel *
model,
size_t *numnzP,
size_t *vbeg,
int *vind,
double *vval,
int start,
int len)>
GRBXgetvars;
377 extern std::function<int(
GRBmodel *
model,
int *nummembersP,
int *sostype,
int *beg,
int *ind,
double *
weight,
int start,
int len)>
GRBgetsos;
384 extern std::function<int(
GRBmodel *
model,
int *numqnzP,
int *qrow,
int *qcol,
double *qval)>
GRBgetq;
385 extern std::function<int(
GRBmodel *
model,
int qconstr,
int *numlnzP,
int *lind,
double *lval,
int *numqnzP,
int *qrow,
int *qcol,
double *qval)>
GRBgetqconstr;
393 extern std::function<int(
GRBmodel *
model,
int relaxobjtype,
int minrelax,
double *lbpen,
double *ubpen,
double *rhspen,
double *feasobjP)>
GRBfeasrelax;
394 extern std::function<int(
void *cbdata,
int what,
int *typeP,
int *sizeP)>
GRBgetcbwhatinfo;
401 #define MALLOCCB_ARGS size_t size, void *syscbusrdata
402 #define CALLOCCB_ARGS size_t nmemb, size_t size, void *syscbusrdata
403 #define REALLOCCB_ARGS void *ptr, size_t size, void *syscbusrdata
404 #define FREECB_ARGS void *ptr, void *syscbusrdata
405 #define THREADCREATECB_ARGS void **threadP, void (*start_routine)(void *), void *arg, void *syscbusrdata
406 #define THREADJOINCB_ARGS void *thread, void *syscbusrdata
412 extern std::function<int(
const char *filename)>
GRBfiletype;
414 extern std::function<int(
GRBenv *env,
GRBmodel **modelP,
const char *Pname,
int numvars,
double *obj,
double *lb,
double *ub,
char *vtype,
char **varnames)>
GRBnewmodel;
415 extern std::function<int(
GRBenv *env,
GRBmodel **modelP,
const char *Pname,
int numvars,
int numconstrs,
int objsense,
double objcon,
double *obj,
char *sense,
double *rhs,
int *vbeg,
int *vlen,
int *vind,
double *vval,
double *lb,
double *ub,
char *vtype,
char **varnames,
char **constrnames)>
GRBloadmodel;
416 extern std::function<int(
GRBenv *env,
GRBmodel **modelP,
const char *Pname,
int numvars,
int numconstrs,
int objsense,
double objcon,
double *obj,
char *sense,
double *rhs,
size_t *vbeg,
int *vlen,
int *vind,
double *vval,
double *lb,
double *ub,
char *vtype,
char **varnames,
char **constrnames)>
GRBXloadmodel;
417 extern std::function<int(
GRBmodel *
model,
int numnz,
int *vind,
double *vval,
double obj,
double lb,
double ub,
char vtype,
const char *varname)>
GRBaddvar;
418 extern std::function<int(
GRBmodel *
model,
int numvars,
int numnz,
int *vbeg,
int *vind,
double *vval,
double *obj,
double *lb,
double *ub,
char *vtype,
char **varnames)>
GRBaddvars;
419 extern std::function<int(
GRBmodel *
model,
int numvars,
size_t numnz,
size_t *vbeg,
int *vind,
double *vval,
double *obj,
double *lb,
double *ub,
char *vtype,
char **varnames)>
GRBXaddvars;
420 extern std::function<int(
GRBmodel *
model,
int numnz,
int *cind,
double *cval,
char sense,
double rhs,
const char *constrname)>
GRBaddconstr;
421 extern std::function<int(
GRBmodel *
model,
int numconstrs,
int numnz,
int *cbeg,
int *cind,
double *cval,
char *sense,
double *rhs,
char **constrnames)>
GRBaddconstrs;
422 extern std::function<int(
GRBmodel *
model,
int numconstrs,
size_t numnz,
size_t *cbeg,
int *cind,
double *cval,
char *sense,
double *rhs,
char **constrnames)>
GRBXaddconstrs;
423 extern std::function<int(
GRBmodel *
model,
int numnz,
int *cind,
double *cval,
double lower,
double upper,
const char *constrname)>
GRBaddrangeconstr;
424 extern std::function<int(
GRBmodel *
model,
int numconstrs,
int numnz,
int *cbeg,
int *cind,
double *cval,
double *lower,
double *upper,
char **constrnames)>
GRBaddrangeconstrs;
425 extern std::function<int(
GRBmodel *
model,
int numconstrs,
size_t numnz,
size_t *cbeg,
int *cind,
double *cval,
double *lower,
double *upper,
char **constrnames)>
GRBXaddrangeconstrs;
432 extern std::function<int(
GRBmodel *lp,
const char *
name,
int binvar,
int binval,
int nvars,
const int *vars,
const double *vals,
char sense,
double rhs)>
GRBaddgenconstrIndicator;
433 extern std::function<int(
GRBmodel *
model,
int numlnz,
int *lind,
double *lval,
int numqnz,
int *qrow,
int *qcol,
double *qval,
char sense,
double rhs,
const char *QCname)>
GRBaddqconstr;
457 #define GRB_OPTIMAL 2
458 #define GRB_INFEASIBLE 3
459 #define GRB_INF_OR_UNBD 4
460 #define GRB_UNBOUNDED 5
462 #define GRB_ITERATION_LIMIT 7
463 #define GRB_NODE_LIMIT 8
464 #define GRB_TIME_LIMIT 9
465 #define GRB_SOLUTION_LIMIT 10
466 #define GRB_INTERRUPTED 11
467 #define GRB_NUMERIC 12
468 #define GRB_SUBOPTIMAL 13
469 #define GRB_INPROGRESS 14
470 #define GRB_USER_OBJ_LIMIT 15
472 #define GRB_NONBASIC_LOWER -1
473 #define GRB_NONBASIC_UPPER -2
474 #define GRB_SUPERBASIC -3
476 #define GRB_INT_PAR_BARITERLIMIT "BarIterLimit"
477 #define GRB_DBL_PAR_CUTOFF "Cutoff"
478 #define GRB_DBL_PAR_ITERATIONLIMIT "IterationLimit"
479 #define GRB_DBL_PAR_NODELIMIT "NodeLimit"
480 #define GRB_INT_PAR_SOLUTIONLIMIT "SolutionLimit"
481 #define GRB_DBL_PAR_TIMELIMIT "TimeLimit"
482 #define GRB_DBL_PAR_BESTOBJSTOP "BestObjStop"
483 #define GRB_DBL_PAR_BESTBDSTOP "BestBdStop"
484 #define GRB_DBL_PAR_FEASIBILITYTOL "FeasibilityTol"
485 #define GRB_DBL_PAR_INTFEASTOL "IntFeasTol"
486 #define GRB_DBL_PAR_MARKOWITZTOL "MarkowitzTol"
487 #define GRB_DBL_PAR_MIPGAP "MIPGap"
488 #define GRB_DBL_PAR_MIPGAPABS "MIPGapAbs"
489 #define GRB_DBL_PAR_OPTIMALITYTOL "OptimalityTol"
490 #define GRB_DBL_PAR_PSDTOL "PSDTol"
491 #define GRB_INT_PAR_METHOD "Method"
492 #define GRB_DBL_PAR_PERTURBVALUE "PerturbValue"
493 #define GRB_DBL_PAR_OBJSCALE "ObjScale"
494 #define GRB_INT_PAR_SCALEFLAG "ScaleFlag"
495 #define GRB_INT_PAR_SIMPLEXPRICING "SimplexPricing"
496 #define GRB_INT_PAR_QUAD "Quad"
497 #define GRB_INT_PAR_NORMADJUST "NormAdjust"
498 #define GRB_INT_PAR_SIFTING "Sifting"
499 #define GRB_INT_PAR_SIFTMETHOD "SiftMethod"
500 #define GRB_DBL_PAR_BARCONVTOL "BarConvTol"
501 #define GRB_INT_PAR_BARCORRECTORS "BarCorrectors"
502 #define GRB_INT_PAR_BARHOMOGENEOUS "BarHomogeneous"
503 #define GRB_INT_PAR_BARORDER "BarOrder"
504 #define GRB_DBL_PAR_BARQCPCONVTOL "BarQCPConvTol"
505 #define GRB_INT_PAR_CROSSOVER "Crossover"
506 #define GRB_INT_PAR_CROSSOVERBASIS "CrossoverBasis"
507 #define GRB_INT_PAR_BRANCHDIR "BranchDir"
508 #define GRB_INT_PAR_DEGENMOVES "DegenMoves"
509 #define GRB_INT_PAR_DISCONNECTED "Disconnected"
510 #define GRB_DBL_PAR_HEURISTICS "Heuristics"
511 #define GRB_DBL_PAR_IMPROVESTARTGAP "ImproveStartGap"
512 #define GRB_DBL_PAR_IMPROVESTARTTIME "ImproveStartTime"
513 #define GRB_DBL_PAR_IMPROVESTARTNODES "ImproveStartNodes"
514 #define GRB_INT_PAR_MINRELNODES "MinRelNodes"
515 #define GRB_INT_PAR_MIPFOCUS "MIPFocus"
516 #define GRB_STR_PAR_NODEFILEDIR "NodefileDir"
517 #define GRB_DBL_PAR_NODEFILESTART "NodefileStart"
518 #define GRB_INT_PAR_NODEMETHOD "NodeMethod"
519 #define GRB_INT_PAR_NORELHEURISTIC "NoRelHeuristic"
520 #define GRB_INT_PAR_PUMPPASSES "PumpPasses"
521 #define GRB_INT_PAR_RINS "RINS"
522 #define GRB_INT_PAR_STARTNODELIMIT "StartNodeLimit"
523 #define GRB_INT_PAR_SUBMIPNODES "SubMIPNodes"
524 #define GRB_INT_PAR_SYMMETRY "Symmetry"
525 #define GRB_INT_PAR_VARBRANCH "VarBranch"
526 #define GRB_INT_PAR_SOLUTIONNUMBER "SolutionNumber"
527 #define GRB_INT_PAR_ZEROOBJNODES "ZeroObjNodes"
528 #define GRB_INT_PAR_CUTS "Cuts"
529 #define GRB_INT_PAR_CLIQUECUTS "CliqueCuts"
530 #define GRB_INT_PAR_COVERCUTS "CoverCuts"
531 #define GRB_INT_PAR_FLOWCOVERCUTS "FlowCoverCuts"
532 #define GRB_INT_PAR_FLOWPATHCUTS "FlowPathCuts"
533 #define GRB_INT_PAR_GUBCOVERCUTS "GUBCoverCuts"
534 #define GRB_INT_PAR_IMPLIEDCUTS "ImpliedCuts"
535 #define GRB_INT_PAR_PROJIMPLIEDCUTS "ProjImpliedCuts"
536 #define GRB_INT_PAR_MIPSEPCUTS "MIPSepCuts"
537 #define GRB_INT_PAR_MIRCUTS "MIRCuts"
538 #define GRB_INT_PAR_STRONGCGCUTS "StrongCGCuts"
539 #define GRB_INT_PAR_MODKCUTS "ModKCuts"
540 #define GRB_INT_PAR_ZEROHALFCUTS "ZeroHalfCuts"
541 #define GRB_INT_PAR_NETWORKCUTS "NetworkCuts"
542 #define GRB_INT_PAR_SUBMIPCUTS "SubMIPCuts"
543 #define GRB_INT_PAR_INFPROOFCUTS "InfProofCuts"
544 #define GRB_INT_PAR_CUTAGGPASSES "CutAggPasses"
545 #define GRB_INT_PAR_CUTPASSES "CutPasses"
546 #define GRB_INT_PAR_GOMORYPASSES "GomoryPasses"
547 #define GRB_STR_PAR_WORKERPOOL "WorkerPool"
548 #define GRB_STR_PAR_WORKERPASSWORD "WorkerPassword"
549 #define GRB_INT_PAR_WORKERPORT "WorkerPort"
550 #define GRB_INT_PAR_AGGREGATE "Aggregate"
551 #define GRB_INT_PAR_AGGFILL "AggFill"
552 #define GRB_INT_PAR_CONCURRENTMIP "ConcurrentMIP"
553 #define GRB_INT_PAR_CONCURRENTJOBS "ConcurrentJobs"
554 #define GRB_INT_PAR_DISPLAYINTERVAL "DisplayInterval"
555 #define GRB_INT_PAR_DISTRIBUTEDMIPJOBS "DistributedMIPJobs"
556 #define GRB_INT_PAR_DUALREDUCTIONS "DualReductions"
557 #define GRB_DBL_PAR_FEASRELAXBIGM "FeasRelaxBigM"
558 #define GRB_INT_PAR_IISMETHOD "IISMethod"
559 #define GRB_INT_PAR_INFUNBDINFO "InfUnbdInfo"
560 #define GRB_INT_PAR_LAZYCONSTRAINTS "LazyConstraints"
561 #define GRB_STR_PAR_LOGFILE "LogFile"
562 #define GRB_INT_PAR_LOGTOCONSOLE "LogToConsole"
563 #define GRB_INT_PAR_MIQCPMETHOD "MIQCPMethod"
564 #define GRB_INT_PAR_NUMERICFOCUS "NumericFocus"
565 #define GRB_INT_PAR_OUTPUTFLAG "OutputFlag"
566 #define GRB_INT_PAR_PRECRUSH "PreCrush"
567 #define GRB_INT_PAR_PREDEPROW "PreDepRow"
568 #define GRB_INT_PAR_PREDUAL "PreDual"
569 #define GRB_INT_PAR_PREPASSES "PrePasses"
570 #define GRB_INT_PAR_PREQLINEARIZE "PreQLinearize"
571 #define GRB_INT_PAR_PRESOLVE "Presolve"
572 #define GRB_DBL_PAR_PRESOS1BIGM "PreSOS1BigM"
573 #define GRB_DBL_PAR_PRESOS2BIGM "PreSOS2BigM"
574 #define GRB_INT_PAR_PRESPARSIFY "PreSparsify"
575 #define GRB_INT_PAR_PREMIQCPFORM "PreMIQCPForm"
576 #define GRB_INT_PAR_QCPDUAL "QCPDual"
577 #define GRB_INT_PAR_RECORD "Record"
578 #define GRB_STR_PAR_RESULTFILE "ResultFile"
579 #define GRB_INT_PAR_SEED "Seed"
580 #define GRB_INT_PAR_THREADS "Threads"
581 #define GRB_DBL_PAR_TUNETIMELIMIT "TuneTimeLimit"
582 #define GRB_INT_PAR_TUNERESULTS "TuneResults"
583 #define GRB_INT_PAR_TUNECRITERION "TuneCriterion"
584 #define GRB_INT_PAR_TUNETRIALS "TuneTrials"
585 #define GRB_INT_PAR_TUNEOUTPUT "TuneOutput"
586 #define GRB_INT_PAR_TUNEJOBS "TuneJobs"
587 #define GRB_INT_PAR_UPDATEMODE "UpdateMode"
588 #define GRB_INT_PAR_OBJNUMBER "ObjNumber"
589 #define GRB_INT_PAR_MULTIOBJMETHOD "MultiObjMethod"
590 #define GRB_INT_PAR_MULTIOBJPRE "MultiObjPre"
591 #define GRB_INT_PAR_POOLSOLUTIONS "PoolSolutions"
592 #define GRB_DBL_PAR_POOLGAP "PoolGap"
593 #define GRB_INT_PAR_POOLSEARCHMODE "PoolSearchMode"
594 #define GRB_INT_PAR_STARTNUMBER "StartNumber"
595 #define GRB_INT_PAR_IGNORENAMES "IgnoreNames"
596 #define GRB_STR_PAR_DUMMY "Dummy"
597 #define GRB_CUTS_AUTO -1
598 #define GRB_CUTS_OFF 0
599 #define GRB_CUTS_CONSERVATIVE 1
600 #define GRB_CUTS_AGGRESSIVE 2
601 #define GRB_CUTS_VERYAGGRESSIVE 3
602 #define GRB_PRESOLVE_AUTO -1
603 #define GRB_PRESOLVE_OFF 0
604 #define GRB_PRESOLVE_CONSERVATIVE 1
605 #define GRB_PRESOLVE_AGGRESSIVE 2
606 #define GRB_METHOD_AUTO -1
607 #define GRB_METHOD_PRIMAL 0
608 #define GRB_METHOD_DUAL 1
609 #define GRB_METHOD_BARRIER 2
610 #define GRB_METHOD_CONCURRENT 3
611 #define GRB_METHOD_DETERMINISTIC_CONCURRENT 4
612 #define GRB_METHOD_DETERMINISTIC_CONCURRENT_SIMPLEX 5
613 #define GRB_BARHOMOGENEOUS_AUTO -1
614 #define GRB_BARHOMOGENEOUS_OFF 0
615 #define GRB_BARHOMOGENEOUS_ON 1
616 #define GRB_MIPFOCUS_BALANCED 0
617 #define GRB_MIPFOCUS_FEASIBILITY 1
618 #define GRB_MIPFOCUS_OPTIMALITY 2
619 #define GRB_MIPFOCUS_BESTBOUND 3
620 #define GRB_BARORDER_AUTOMATIC -1
621 #define GRB_BARORDER_AMD 0
622 #define GRB_BARORDER_NESTEDDISSECTION 1
623 #define GRB_SIMPLEXPRICING_AUTO -1
624 #define GRB_SIMPLEXPRICING_PARTIAL 0
625 #define GRB_SIMPLEXPRICING_STEEPEST_EDGE 1
626 #define GRB_SIMPLEXPRICING_DEVEX 2
627 #define GRB_SIMPLEXPRICING_STEEPEST_QUICK 3
628 #define GRB_VARBRANCH_AUTO -1
629 #define GRB_VARBRANCH_PSEUDO_REDUCED 0
630 #define GRB_VARBRANCH_PSEUDO_SHADOW 1
631 #define GRB_VARBRANCH_MAX_INFEAS 2
632 #define GRB_VARBRANCH_STRONG 3
636 extern std::function<int(
const char *filename)>
GRBreplay;
637 extern std::function<int(
GRBmodel *
model,
int sense,
double constant,
int lnz,
int *lind,
double *lval,
int qnz,
int *qrow,
int *qcol,
double *qval)>
GRBsetobjective;
638 extern std::function<int(
GRBmodel *
model,
int index,
int priority,
double weight,
double abstol,
double reltol,
const char *
name,
double constant,
int lnz,
int *lind,
double *lval)>
GRBsetobjectiven;
645 extern std::function<int(
GRBenv *env,
const char *paramname,
int *valueP,
int *minP,
int *maxP,
int *defP)>
GRBgetintparaminfo;
646 extern std::function<int(
GRBenv *env,
const char *paramname,
double *valueP,
double *minP,
double *maxP,
double *defP)>
GRBgetdblparaminfo;
661 extern std::function<int(
GRBenv **envP,
const char *logfilename)>
GRBloadenv;
663 extern std::function<int(
GRBenv **envP,
const char *logfilename,
const char *computeservers,
int port,
const char *password,
int priority,
double timeout)>
GRBloadclientenv;
664 extern std::function<int(
GRBenv **envP,
const char *logfilename,
const char *computeservers,
int port,
const char *password,
int priority,
double timeout,
int apitype,
int major,
int minor,
int tech,
int (
GUROBI_STDCALL *cb)(
CB_ARGS),
void *usrdata)>
GRBloadclientenvadv;
665 extern std::function<int(
GRBenv **envP,
const char *logfilename,
const char *accessID,
const char *secretKey,
const char *pool)>
GRBloadcloudenv;
666 extern std::function<int(
GRBenv **envP,
const char *logfilename,
const char *accessID,
const char *secretKey,
const char *pool,
int apitype,
int major,
int minor,
int tech,
int (
GUROBI_STDCALL *cb)(
CB_ARGS),
void *usrdata)>
GRBloadcloudenvadv;
676 extern std::function<void(
int *majorP,
int *minorP,
int *technicalP)>
GRBversion;
#define THREADCREATECB_ARGS
struct _GRBmodel GRBmodel
#define THREADJOINCB_ARGS
Collection of objects used to extend the Constraint Solver library.
std::function< int(GRBmodel *model, size_t *numnzP, size_t *cbeg, int *cind, double *cval, int start, int len)> GRBXgetconstrs
std::function< int(GRBmodel *model, int *bhead)> GRBgetBasisHead
std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfunc
std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvi
std::function< int(GRBmodel *model, const char *attrname, int element, char *valueP)> GRBgetcharattrelement
std::function< int(GRBenv *env, FILE *logfile)> GRBsetlogfile
std::function< int(GRBenv *env, const char *paramname, double *valueP, double *minP, double *maxP, double *defP)> GRBgetdblparaminfo
std::function< int(GRBenv *env, const char *paramname, int *valueP)> GRBgetintparam
std::function< int(GRBenv **envP, const char *logfilename, const char *accessID, const char *secretKey, const char *pool)> GRBloadcloudenv
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMin
std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvj
std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, char sense, double rhs, const char *constrname)> GRBaddconstr
std::function< int(GRBmodel *model)> GRBcomputeIIS
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrOr
std::function< int(GRBmodel *model, const char *attrname, double *valueP)> GRBgetdblattr
std::function< GRBmodel *(GRBmodel *model)> GRBlinearizemodel
std::function< void(GRBmodel *model)> GRBdiscardconcurrentenvs
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **values)> GRBgetstrattrlist
std::function< int(GRBenv *env)> GRBgetnumparams
std::function< GRBmodel *(GRBmodel *model)> GRBcopymodel
std::function< int(GRBmodel *model, int numlnz, int *lind, double *lval, int numqnz, int *qrow, int *qcol, double *qval, char sense, double rhs, const char *QCname)> GRBaddqconstr
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *newvalues)> GRBsetdblattrlist
std::function< int(GRBmodel *model, int *nummembersP, int *sostype, int *beg, int *ind, double *weight, int start, int len)> GRBgetsos
std::function< int(GRBmodel *model, int numnz, int *vind, double *vval, double obj, double lb, double ub, char vtype, const char *varname)> GRBaddvar
std::function< int(const char *filename)> GRBisrecordfile
std::function< GRBmodel *(GRBmodel *model)> GRBiismodel
std::function< int(GRBenv **envP, const char *logfilename, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadenvadv
std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBBSolve
std::function< char *(void)> GRBplatform
std::function< int(GRBenv *env, int i, char **paramnameP)> GRBgetparamname
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelgenconstrs
std::function< GRBenv *(GRBmodel *model, int num)> GRBgetmultiobjenv
std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetvarbyname
std::function< int(GRBmodel *model)> GRBresetmodel
std::function< void(int *majorP, int *minorP, int *technicalP)> GRBversion
std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetparam
std::function< int(GRBmodel *model, const char *attrname, int newvalue)> GRBsetintattr
std::function< int(GRBenv *env, const char *paramname, char *valueP)> GRBgetstrparam
std::function< int(GRBmodel *model)> GRBoptimizeasync
std::function< int(void *cbdata, int lazylen, const int *lazyind, const double *lazyval, char lazysense, double lazyrhs)> GRBcblazy
std::function< int(GRBmodel *model, const char *filename)> GRBread
std::function< int(GRBenv *env, const char *filename)> GRBwriteparams
std::function< void(GRBenv *env, const char *message)> GRBmsg
std::function< int(GRBmodel *model, int var, int points, double *x, double *y)> GRBsetpwlobj
std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *values)> GRBgetintattrarray
std::function< GRBmodel *(GRBmodel *model)> GRBfixedmodel
std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBaddconstrs
std::function< int(GRBmodel *model, int constr, int var, double *valP)> GRBgetcoeff
std::function< int(GRBenv *env, const char *paramname, int value)> GRBsetintparam
std::function< int(GRBmodel *model, const char *name, int resvar, int argvar)> GRBaddgenconstrAbs
std::function< int(void *cbdata, int where, int what, void *resultP)> GRBcbget
std::function< int(void *cbdata, const char *paramname, const char *newvalue)> GRBcbsetparam
std::function< int(GRBmodel *model, int index, int priority, double weight, double abstol, double reltol, const char *name, double constant, int lnz, int *lind, double *lval)> GRBsetobjectiven
std::function< int(const char *filename)> GRBfiletype
std::function< int(GRBenv **envP, const char *logfilename, const char *computeservers, int port, const char *password, int priority, double timeout)> GRBloadclientenv
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *argvarP)> GRBgetgenconstrAbs
std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, int numconstrs, int objsense, double objcon, double *obj, char *sense, double *rhs, int *vbeg, int *vlen, int *vind, double *vval, double *lb, double *ub, char *vtype, char **varnames, char **constrnames)> GRBloadmodel
std::function< int(GRBenv *env, FILE **logfileP)> GRBgetlogfile
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *values)> GRBgetcharattrarray
std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, int numconstrs, int objsense, double objcon, double *obj, char *sense, double *rhs, size_t *vbeg, int *vlen, int *vind, double *vval, double *lb, double *ub, char *vtype, char **varnames, char **constrnames)> GRBXloadmodel
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *values)> GRBgetintattrlist
std::function< GRBmodel *(GRBmodel *model)> GRBpresolvemodel
std::function< int(GRBenv *env, const char *paramname, int *valueP, int *minP, int *maxP, int *defP)> GRBgetintparaminfo
std::function< int(GRBenv **envP, const char *logfilename)> GRBloadenv
std::function< GRBenv *(GRBmodel *model, int num)> GRBgetconcurrentenv
std::function< int(GRBmodel *model, const char *attrname, int element, int *valueP)> GRBgetintattrelement
std::function< int(GRBmodel *model, int qconstr, int *numlnzP, int *lind, double *lval, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetqconstr
std::function< int(GRBenv *dest, GRBenv *src)> GRBcopyparams
std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *newvalues)> GRBsetdblattrarray
std::function< int(GRBmodel *model, size_t *numnzP, size_t *vbeg, int *vind, double *vval, int start, int len)> GRBXgetvars
std::function< int(GRBmodel *model)> GRBfreemodel
std::function< int(GRBenv **envP, const char *logfilename, const char *computeservers, int port, const char *password, int priority, double timeout, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadclientenvadv
std::function< int(GRBmodel *model, int nummembers, int *members)> GRBaddcone
std::function< int(GRBmodel *model, const char *attrname, int element, char **valueP)> GRBgetstrattrelement
std::function< void(GRBmodel *model)> GRBterminate
std::function< int(GRBmodel *model, int numqnz, int *qrow, int *qcol, double *qval)> GRBaddqpterms
std::function< int(GRBenv *env, const char *paramname, double *valueP)> GRBgetdblparam
std::function< const char *(GRBenv *env)> GRBgeterrormsg
std::function< int(GRBmodel *model, int cnt, int *cind, int *vind, double *val)> GRBchgcoeffs
absl::StatusOr< GRBenv * > GetGurobiEnv()
std::function< GRBenv *(GRBmodel *model)> GRBgetenv
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelconstrs
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMin
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMax
std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetstrparam
std::function< int(GRBmodel *model)> GRBcheckmodel
std::function< int(GRBmodel *model, const char *attrname, int element, double newvalue)> GRBsetdblattrelement
std::function< int(GRBmodel *model, size_t cnt, int *cind, int *vind, double *val)> GRBXchgcoeffs
std::function< int(GRBmodel *model)> GRBconverttofixed
std::function< int(GRBmodel *model, const char *attrname, int *datatypeP, int *sizeP, int *settableP)> GRBgetattrinfo
std::function< GRBmodel *(GRBmodel *model)> GRBfeasibility
std::function< int(GRBmodel *model, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodeladv
std::function< int(GRBmodel *lp, const char *name, int binvar, int binval, int nvars, const int *vars, const double *vals, char sense, double rhs)> GRBaddgenconstrIndicator
std::function< int(GRBenv *env)> GRBresetparams
std::function< int(GRBmodel *model)> GRBsync
std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *values)> GRBgetdblattrarray
std::function< int(GRBmodel *model, int var, int *pointsP, double *x, double *y)> GRBgetpwlobj
std::function< int(GRBenv *env, const char *filename)> GRBreadparams
std::function< void(GRBenv *env)> GRBreleaselicense
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelqconstrs
std::function< int(GRBmodel *model, const char *attrname, int element, const char *newvalue)> GRBsetstrattrelement
std::function< const char *(GRBmodel *model)> GRBgetmerrormsg
std::function< int(GRBmodel *model)> GRBupdatemodel
std::function< int(GRBmodel *model, int sense, double constant, int lnz, int *lind, double *lval, int qnz, int *qrow, int *qcol, double *qval)> GRBsetobjective
std::function< GRBmodel *(GRBmodel *model)> GRBrelaxmodel
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrAnd
std::function< int(GRBenv *env, const char *filename, GRBmodel **modelP)> GRBreadmodel
std::function< int(GRBmodel *model)> GRBdelq
std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, double lower, double upper, const char *constrname)> GRBaddrangeconstr
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *values)> GRBgetdblattrlist
std::function< int(GRBenv **envP, const char *logfilename, const char *accessID, const char *secretKey, const char *pool, int apitype, int major, int minor, int tech, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBloadcloudenvadv
std::function< int(GRBmodel *model, const char *attrname, int element, char newvalue)> GRBsetcharattrelement
std::function< int(GRBmodel *model)> GRBtunemodel
std::function< int(GRBmodel *model, int i)> GRBgettuneresult
std::function< int(GRBmodel *model, const char *attrname, int element, int newvalue)> GRBsetintattrelement
std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBFSolve
std::function< int(GRBmodel *model, int *numnzP, int *cbeg, int *cind, double *cval, int start, int len)> GRBgetconstrs
std::function< int(GRBmodel *model, const char *attrname, const char *newvalue)> GRBsetstrattr
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *values)> GRBgetcharattrlist
std::function< int(GRBmodel *model, const char *attrname, int element, double *valueP)> GRBgetdblattrelement
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **values)> GRBgetstrattrarray
std::function< int(GRBmodel *model, int i, char **logP)> GRBgettunelog
std::function< int(GRBmodel *model, int numvars, size_t numnz, size_t *vbeg, int *vind, double *vval, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBXaddvars
std::function< int(const char *filename)> GRBismodelfile
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrOr
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **newvalues)> GRBsetstrattrlist
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelsos
std::function< int(GRBmodel *model, int num, int *cand, double *downobjbd, double *upobjbd, int *statusP)> GRBstrongbranch
std::function< int(void *cbdata, const double *solution, double *objvalP)> GRBcbsolution
std::function< int(GRBmodel *model, const char *attrname)> GRBisattravailable
std::function< int(void *cbdata, int what, int *typeP, int *sizeP)> GRBgetcbwhatinfo
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMax
std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvColj
std::function< int(GRBmodel *model)> GRBoptimize
std::function< int(GRBmodel *model, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetq
std::function< int(GRBmodel *model, const char *filename)> GRBwrite
std::function< void(GRBmodel *model)> GRBsetsignal
std::function< int(GRBenv **, const char *, const char *, const char *, int, const char *)> GRBisqp
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelvars
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **newvalues)> GRBsetstrattrarray
bool GurobiIsCorrectlyInstalled()
std::function< void(GRBmodel *model)> GRBdiscardmultiobjenvs
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrAnd
std::function< int(GRBmodel *model, int relaxobjtype, int minrelax, double *lbpen, double *ubpen, double *rhspen, double *feasobjP)> GRBfeasrelax
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *newvalues)> GRBsetcharattrlist
std::function< int(GRBmodel *model, const char *attrname, char **valueP)> GRBgetstrattr
std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetconstrbyname
std::function< int(GRBenv *env, const char *paramname)> GRBgetparamtype
std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBXaddconstrs
std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBnewmodel
std::function< int(GRBenv **envP, const char *logfilename, void *(GUROBI_STDCALL *malloccb)(MALLOCCB_ARGS), void *(GUROBI_STDCALL *calloccb)(CALLOCCB_ARGS), void *(GUROBI_STDCALL *realloccb)(REALLOCCB_ARGS), void(GUROBI_STDCALL *freecb)(FREECB_ARGS), int(GUROBI_STDCALL *threadcreatecb)(THREADCREATECB_ARGS), void(GUROBI_STDCALL *threadjoincb)(THREADJOINCB_ARGS), void *syscbusrdata)> GRBloadenvsyscb
absl::Status LoadGurobiDynamicLibrary(std::vector< std::string > potential_paths)
std::function< void(GRBenv *env)> GRBfreeenv
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *newvalues)> GRBsetintattrlist
std::function< int(GRBmodel *model, int i, char **attrnameP)> GRBgetattrname
std::function< int(GRBmodel *model, int numsos, int nummembers, int *types, int *beg, int *ind, double *weight)> GRBaddsos
std::function< int(GRBmodel *model, int genconstr, int *binvarP, int *binvalP, int *nvarsP, int *vars, double *vals, char *senseP, double *rhsP)> GRBgetgenconstrIndicator
std::function< int(GRBenv *env, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfuncenv
std::function< int(void *cbdata, int cutlen, const int *cutind, const double *cutval, char cutsense, double cutrhs)> GRBcbcut
std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBXaddrangeconstrs
std::function< int(int nummodels, GRBmodel **models, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodels
std::function< int(GRBmodel *model, const char *attrname, double newvalue)> GRBsetdblattr
std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *newvalues)> GRBsetintattrarray
std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBsetcallbackfunc
std::function< int(GRBmodel *model, int *numnzP, int *vbeg, int *vind, double *vval, int start, int len)> GRBgetvars
std::function< int(GRBmodel *model, int numvars, int numnz, int *vbeg, int *vind, double *vval, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBaddvars
std::function< int(GRBmodel *model, int(GUROBI_STDCALL **cbP)(CB_ARGS))> GRBgetcallbackfunc
std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBaddrangeconstrs
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *newvalues)> GRBsetcharattrarray
std::function< int(const char *filename)> GRBreplay
std::function< int(GRBmodel *model, const char *attrname, int *valueP)> GRBgetintattr
std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvRowi
std::function< int(GRBenv *env, const char *paramname, char *valueP, char *defP)> GRBgetstrparaminfo
std::function< int(GRBenv *env, const char *paramname, double value)> GRBsetdblparam
std::function< int(GRBmodel *model)> GRBgetnumattributes