OR-Tools  9.3
environment.h
Go to the documentation of this file.
1// Copyright 2010-2021 Google LLC
2// Licensed under the Apache License, Version 2.0 (the "License");
3// you may not use this file except in compliance with the License.
4// You may obtain a copy of the License at
5//
6// http://www.apache.org/licenses/LICENSE-2.0
7//
8// Unless required by applicable law or agreed to in writing, software
9// distributed under the License is distributed on an "AS IS" BASIS,
10// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11// See the License for the specific language governing permissions and
12// limitations under the License.
13
14#ifndef OR_TOOLS_GUROBI_ENVIRONMENT_H_
15#define OR_TOOLS_GUROBI_ENVIRONMENT_H_
16
17#include "absl/status/status.h"
18#include "absl/status/statusor.h"
22
23extern "C" {
24typedef struct _GRBmodel GRBmodel;
25typedef struct _GRBenv GRBenv;
26typedef struct _GRBsvec {
27 int len;
28 int* ind;
29 double* val;
31}
32
33#if defined(_MSC_VER)
34#define GUROBI_STDCALL __stdcall
35#else
36#define GUROBI_STDCALL
37#endif
38
39namespace operations_research {
40
41absl::StatusOr<GRBenv*> GetGurobiEnv();
42
43// This returns true if the Gurobi shared library is properly loaded (otherwise,
44// tries to find it and load it) and if a Gurobi license can be obtained (it
45// does that by trying to grab a license and then release it).
47
48// clang-format off
49// Force the loading of the gurobi dynamic library. It returns true if the
50// library was successfully loaded. This method can only be called once.
51// Successive calls are no-op.
52//
53// Note that it does not check if a token license can be grabbed.
54absl::Status LoadGurobiDynamicLibrary(std::vector<std::string> potential_paths);
55
56// The list of #define and extern std::function<> below is generated directly
57// from gurobi_c.h via parse_header.py
58// See the top comment on the parse_header.py file.
59// This is the header section
60
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 '>'
98#define GRB_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
114extern std::function<int(GRBenv **, const char *, const char *, const char *, int,const char *)> GRBisqp;
115extern std::function<int(GRBmodel *model, const char *attrname, int *datatypeP,int *sizeP, int *settableP)> GRBgetattrinfo;
116extern std::function<int(GRBmodel *model, const char *attrname)> GRBisattravailable;
117extern std::function<int(GRBmodel *model, const char *attrname, int *valueP)> GRBgetintattr;
118extern std::function<int(GRBmodel *model, const char *attrname, int newvalue)> GRBsetintattr;
119extern std::function<int(GRBmodel *model, const char *attrname,int element, int *valueP)> GRBgetintattrelement;
120extern std::function<int(GRBmodel *model, const char *attrname,int element, int newvalue)> GRBsetintattrelement;
121extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, int *values)> GRBgetintattrarray;
122extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, int *newvalues)> GRBsetintattrarray;
123extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, int *values)> GRBgetintattrlist;
124extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, int *newvalues)> GRBsetintattrlist;
125extern std::function<int(GRBmodel *model, const char *attrname,int element, char *valueP)> GRBgetcharattrelement;
126extern std::function<int(GRBmodel *model, const char *attrname,int element, char newvalue)> GRBsetcharattrelement;
127extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, char *values)> GRBgetcharattrarray;
128extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, char *newvalues)> GRBsetcharattrarray;
129extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, char *values)> GRBgetcharattrlist;
130extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, char *newvalues)> GRBsetcharattrlist;
131extern std::function<int(GRBmodel *model, const char *attrname, double *valueP)> GRBgetdblattr;
132extern std::function<int(GRBmodel *model, const char *attrname, double newvalue)> GRBsetdblattr;
133extern std::function<int(GRBmodel *model, const char *attrname,int element, double *valueP)> GRBgetdblattrelement;
134extern std::function<int(GRBmodel *model, const char *attrname,int element, double newvalue)> GRBsetdblattrelement;
135extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, double *values)> GRBgetdblattrarray;
136extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, double *newvalues)> GRBsetdblattrarray;
137extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, double *values)> GRBgetdblattrlist;
138extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, double *newvalues)> GRBsetdblattrlist;
139extern std::function<int(GRBmodel *model, const char *attrname, char **valueP)> GRBgetstrattr;
140extern std::function<int(GRBmodel *model, const char *attrname, const char *newvalue)> GRBsetstrattr;
141extern std::function<int(GRBmodel *model, const char *attrname,int element, char **valueP)> GRBgetstrattrelement;
142extern std::function<int(GRBmodel *model, const char *attrname,int element, const char *newvalue)> GRBsetstrattrelement;
143extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, char **values)> GRBgetstrattrarray;
144extern std::function<int(GRBmodel *model, const char *attrname,int first, int len, char **newvalues)> GRBsetstrattrarray;
145extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, char **values)> GRBgetstrattrlist;
146extern std::function<int(GRBmodel *model, const char *attrname,int len, int *ind, char **newvalues)> GRBsetstrattrlist;
147#define CB_ARGS GRBmodel *model, void *cbdata, int where, void *usrdata
148extern std::function<int(GRBmodel *model,int (GUROBI_STDCALL *cb)(CB_ARGS),void *usrdata)> GRBsetcallbackfunc;
149extern std::function<int(GRBmodel *model,int (GUROBI_STDCALL **cbP)(CB_ARGS))> GRBgetcallbackfunc;
150extern std::function<int(GRBmodel *model,int (GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfunc;
151extern std::function<int(GRBenv *env,int (GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfuncenv;
152extern std::function<int(void *cbdata, int where, int what, void *resultP)> GRBcbget;
153extern std::function<int(void *cbdata, const char *paramname, const char *newvalue)> GRBcbsetparam;
154extern std::function<int(void *cbdata, const double *solution, double *objvalP)> GRBcbsolution;
155extern std::function<int(void *cbdata, int cutlen, const int *cutind, const double *cutval,char cutsense, double cutrhs)> GRBcbcut;
156extern 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
323#define GRB_CB_MIP 3
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
372extern std::function<int(GRBmodel *model, int constr, int var, double *valP)> GRBgetcoeff;
373extern std::function<int(GRBmodel *model, int *numnzP, int *cbeg,int *cind, double *cval, int start, int len)> GRBgetconstrs;
374extern std::function<int(GRBmodel *model, size_t *numnzP, size_t *cbeg,int *cind, double *cval, int start, int len)> GRBXgetconstrs;
375extern std::function<int(GRBmodel *model, int *numnzP, int *vbeg, int *vind,double *vval, int start, int len)> GRBgetvars;
376extern std::function<int(GRBmodel *model, size_t *numnzP, size_t *vbeg, int *vind,double *vval, int start, int len)> GRBXgetvars;
377extern std::function<int(GRBmodel *model, int *nummembersP, int *sostype, int *beg,int *ind, double *weight, int start, int len)> GRBgetsos;
378extern std::function<int(GRBmodel *model, int genconstr, int *resvarP,int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMax;
379extern std::function<int(GRBmodel *model, int genconstr, int *resvarP,int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMin;
380extern std::function<int(GRBmodel *model, int genconstr, int *resvarP, int *argvarP)> GRBgetgenconstrAbs;
381extern std::function<int(GRBmodel *model, int genconstr, int *resvarP,int *nvarsP, int *vars)> GRBgetgenconstrAnd;
382extern std::function<int(GRBmodel *model, int genconstr, int *resvarP,int *nvarsP, int *vars)> GRBgetgenconstrOr;
383extern std::function<int(GRBmodel *model, int genconstr, int *binvarP, int *binvalP,int *nvarsP, int *vars, double *vals,char *senseP, double *rhsP)> GRBgetgenconstrIndicator;
384extern std::function<int(GRBmodel *model, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetq;
385extern std::function<int(GRBmodel *model, int qconstr,int *numlnzP, int *lind, double *lval,int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetqconstr;
386extern std::function<int(GRBmodel *model, const char *name, int *indexP)> GRBgetvarbyname;
387extern std::function<int(GRBmodel *model, const char *name, int *indexP)> GRBgetconstrbyname;
388extern std::function<int(GRBmodel *model, int var, int *pointsP,double *x, double *y)> GRBgetpwlobj;
389extern std::function<int(GRBmodel *model)> GRBoptimize;
390extern std::function<int(GRBmodel *model)> GRBoptimizeasync;
391extern std::function<GRBmodel *(GRBmodel *model)> GRBcopymodel;
392extern std::function<GRBmodel *(GRBmodel *model)> GRBfixedmodel;
393extern std::function<int(GRBmodel *model, int relaxobjtype, int minrelax,double *lbpen, double *ubpen, double *rhspen,double *feasobjP)> GRBfeasrelax;
394extern std::function<int(void *cbdata, int what, int *typeP, int *sizeP)> GRBgetcbwhatinfo;
395extern std::function<GRBmodel *(GRBmodel *model)> GRBrelaxmodel;
396extern std::function<int(GRBmodel *model)> GRBconverttofixed;
397extern std::function<GRBmodel *(GRBmodel *model)> GRBpresolvemodel;
398extern std::function<GRBmodel *(GRBmodel *model)> GRBiismodel;
399extern std::function<GRBmodel *(GRBmodel *model)> GRBfeasibility;
400extern std::function<GRBmodel *(GRBmodel *model)> GRBlinearizemodel;
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
407extern 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;
408extern std::function<int(GRBenv *env, const char *filename, GRBmodel **modelP)> GRBreadmodel;
409extern std::function<int(GRBmodel *model, const char *filename)> GRBread;
410extern std::function<int(GRBmodel *model, const char *filename)> GRBwrite;
411extern std::function<int(const char *filename)> GRBismodelfile;
412extern std::function<int(const char *filename)> GRBfiletype;
413extern std::function<int(const char *filename)> GRBisrecordfile;
414extern std::function<int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars,double *obj, double *lb, double *ub, char *vtype,char **varnames)> GRBnewmodel;
415extern 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;
416extern 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;
417extern std::function<int(GRBmodel *model, int numnz, int *vind, double *vval,double obj, double lb, double ub, char vtype,const char *varname)> GRBaddvar;
418extern 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;
419extern 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;
420extern std::function<int(GRBmodel *model, int numnz, int *cind, double *cval,char sense, double rhs, const char *constrname)> GRBaddconstr;
421extern std::function<int(GRBmodel *model, int numconstrs, int numnz,int *cbeg, int *cind, double *cval,char *sense, double *rhs, char **constrnames)> GRBaddconstrs;
422extern std::function<int(GRBmodel *model, int numconstrs, size_t numnz,size_t *cbeg, int *cind, double *cval,char *sense, double *rhs, char **constrnames)> GRBXaddconstrs;
423extern std::function<int(GRBmodel *model, int numnz, int *cind, double *cval,double lower, double upper, const char *constrname)> GRBaddrangeconstr;
424extern std::function<int(GRBmodel *model, int numconstrs, int numnz,int *cbeg, int *cind, double *cval,double *lower, double *upper, char **constrnames)> GRBaddrangeconstrs;
425extern std::function<int(GRBmodel *model, int numconstrs, size_t numnz,size_t *cbeg, int *cind, double *cval,double *lower, double *upper, char **constrnames)> GRBXaddrangeconstrs;
426extern std::function<int(GRBmodel *model, int numsos, int nummembers, int *types,int *beg, int *ind, double *weight)> GRBaddsos;
427extern std::function<int(GRBmodel *model, const char *name,int resvar, int nvars, const int *vars,double constant)> GRBaddgenconstrMax;
428extern std::function<int(GRBmodel *model, const char *name,int resvar, int nvars, const int *vars,double constant)> GRBaddgenconstrMin;
429extern std::function<int(GRBmodel *model, const char *name,int resvar, int argvar)> GRBaddgenconstrAbs;
430extern std::function<int(GRBmodel *model, const char *name,int resvar, int nvars, const int *vars)> GRBaddgenconstrAnd;
431extern std::function<int(GRBmodel *model, const char *name,int resvar, int nvars, const int *vars)> GRBaddgenconstrOr;
432extern 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;
433extern 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;
434extern std::function<int(GRBmodel *model, int nummembers, int *members)> GRBaddcone;
435extern std::function<int(GRBmodel *model, int numqnz, int *qrow, int *qcol,double *qval)> GRBaddqpterms;
436extern std::function<int(GRBmodel *model, int len, int *ind)> GRBdelvars;
437extern std::function<int(GRBmodel *model, int len, int *ind)> GRBdelconstrs;
438extern std::function<int(GRBmodel *model, int len, int *ind)> GRBdelsos;
439extern std::function<int(GRBmodel *model, int len, int *ind)> GRBdelgenconstrs;
440extern std::function<int(GRBmodel *model, int len, int *ind)> GRBdelqconstrs;
441extern std::function<int(GRBmodel *model)> GRBdelq;
442extern std::function<int(GRBmodel *model, int cnt, int *cind, int *vind, double *val)> GRBchgcoeffs;
443extern std::function<int(GRBmodel *model, size_t cnt, int *cind, int *vind, double *val)> GRBXchgcoeffs;
444extern std::function<int(GRBmodel *model, int var, int points, double *x,double *y)> GRBsetpwlobj;
445extern std::function<int(GRBmodel *model)> GRBupdatemodel;
446extern std::function<int(GRBmodel *model)> GRBresetmodel;
447extern std::function<int(GRBmodel *model)> GRBfreemodel;
448extern std::function<int(GRBmodel *model)> GRBcomputeIIS;
449extern std::function<int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBFSolve;
450extern std::function<int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvColj;
451extern std::function<int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvj;
452extern std::function<int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBBSolve;
453extern std::function<int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvi;
454extern std::function<int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvRowi;
455extern std::function<int(GRBmodel *model, int *bhead)> GRBgetBasisHead;
456#define GRB_LOADED 1
457#define GRB_OPTIMAL 2
458#define GRB_INFEASIBLE 3
459#define GRB_INF_OR_UNBD 4
460#define GRB_UNBOUNDED 5
461#define GRB_CUTOFF 6
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
471#define GRB_BASIC 0
472#define GRB_NONBASIC_LOWER -1
473#define GRB_NONBASIC_UPPER -2
474#define GRB_SUPERBASIC -3
475extern std::function<int(GRBmodel *model, int num, int *cand,double *downobjbd, double *upobjbd, int *statusP)> GRBstrongbranch;
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
633extern std::function<int(GRBmodel *model)> GRBcheckmodel;
634extern std::function<void(GRBmodel *model)> GRBsetsignal;
635extern std::function<void(GRBmodel *model)> GRBterminate;
636extern std::function<int(const char *filename)> GRBreplay;
637extern std::function<int(GRBmodel *model, int sense, double constant,int lnz, int *lind, double *lval,int qnz, int *qrow, int *qcol, double *qval)> GRBsetobjective;
638extern 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;
639extern std::function<void(GRBenv *env, const char *message)> GRBmsg;
640extern std::function<int(GRBenv *env, const char *paramname, int *valueP)> GRBgetintparam;
641extern std::function<int(GRBenv *env, const char *paramname, double *valueP)> GRBgetdblparam;
642extern std::function<int(GRBenv *env, const char *paramname, char *valueP)> GRBgetstrparam;
643extern std::function<int(GRBenv *env, const char *paramname, int *valueP,int *minP, int *maxP, int *defP)> GRBgetintparaminfo;
644extern std::function<int(GRBenv *env, const char *paramname, double *valueP,double *minP, double *maxP, double *defP)> GRBgetdblparaminfo;
645extern std::function<int(GRBenv *env, const char *paramname, char *valueP,char *defP)> GRBgetstrparaminfo;
646extern std::function<int(GRBenv *env, const char *paramname, const char *value)> GRBsetparam;
647extern std::function<int(GRBenv *env, const char *paramname, int value)> GRBsetintparam;
648extern std::function<int(GRBenv *env, const char *paramname, double value)> GRBsetdblparam;
649extern std::function<int(GRBenv *env, const char *paramname, const char *value)> GRBsetstrparam;
650extern std::function<int(GRBenv *env, const char *paramname)> GRBgetparamtype;
651extern std::function<int(GRBenv *env)> GRBresetparams;
652extern std::function<int(GRBenv *dest, GRBenv *src)> GRBcopyparams;
653extern std::function<int(GRBenv *env, const char *filename)> GRBwriteparams;
654extern std::function<int(GRBenv *env, const char *filename)> GRBreadparams;
655extern std::function<int(GRBenv *env)> GRBgetnumparams;
656extern std::function<int(GRBenv *env, int i, char **paramnameP)> GRBgetparamname;
657extern std::function<int(GRBmodel *model)> GRBgetnumattributes;
658extern std::function<int(GRBmodel *model, int i, char **attrnameP)> GRBgetattrname;
659extern std::function<int(GRBenv **envP, const char *logfilename)> GRBloadenv;
660extern 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;
661extern std::function<int(GRBenv **envP, const char *logfilename,const char *computeservers, int port, const char *password,int priority, double timeout)> GRBloadclientenv;
662extern 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;
663extern std::function<int(GRBenv **envP, const char *logfilename,const char *accessID, const char *secretKey,const char *pool)> GRBloadcloudenv;
664extern 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;
665extern std::function<GRBenv *(GRBmodel *model)> GRBgetenv;
666extern std::function<GRBenv *(GRBmodel *model, int num)> GRBgetconcurrentenv;
667extern std::function<void(GRBmodel *model)> GRBdiscardconcurrentenvs;
668extern std::function<GRBenv *(GRBmodel *model, int num)> GRBgetmultiobjenv;
669extern std::function<void(GRBmodel *model)> GRBdiscardmultiobjenvs;
670extern std::function<void(GRBenv *env)> GRBreleaselicense;
671extern std::function<void(GRBenv *env)> GRBfreeenv;
672extern std::function<const char *(GRBenv *env)> GRBgeterrormsg;
673extern std::function<const char *(GRBmodel *model)> GRBgetmerrormsg;
674extern std::function<void(int *majorP, int *minorP, int *technicalP)> GRBversion;
675extern std::function<char *(void)> GRBplatform;
676extern std::function<int(GRBmodel *model)> GRBtunemodel;
677extern std::function<int(int nummodels, GRBmodel **models,GRBmodel *ignore, GRBmodel *hint)> GRBtunemodels;
678extern std::function<int(GRBmodel *model, int i)> GRBgettuneresult;
679extern std::function<int(GRBmodel *model, int i, char **logP)> GRBgettunelog;
680extern std::function<int(GRBmodel *model, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodeladv;
681extern std::function<int(GRBmodel *model)> GRBsync;
682
683
684} // namespace operations_research
685
686#endif // OR_TOOLS_GUROBI_ENVIRONMENT_H_
int64_t b
const std::string name
int64_t value
#define THREADCREATECB_ARGS
Definition: environment.h:405
#define GUROBI_STDCALL
Definition: environment.h:36
struct _GRBenv GRBenv
Definition: environment.h:25
#define CALLOCCB_ARGS
Definition: environment.h:402
#define FREECB_ARGS
Definition: environment.h:404
struct _GRBsvec GRBsvec
struct _GRBmodel GRBmodel
Definition: environment.h:24
#define THREADJOINCB_ARGS
Definition: environment.h:406
#define REALLOCCB_ARGS
Definition: environment.h:403
#define CB_ARGS
Definition: environment.h:147
#define MALLOCCB_ARGS
Definition: environment.h:401
IntVar * var
Definition: expr_array.cc:1874
double lower
Definition: glpk_solver.cc:75
double upper
Definition: glpk_solver.cc:76
GRBmodel * model
int where
int index
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
Definition: environment.cc:166
std::function< int(GRBmodel *model, int *bhead)> GRBgetBasisHead
Definition: environment.cc:343
std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfunc
Definition: environment.cc:144
std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvi
Definition: environment.cc:341
std::function< int(GRBmodel *model, const char *attrname, int element, char *valueP)> GRBgetcharattrelement
Definition: environment.cc:78
std::function< int(GRBenv *env, const char *paramname, double *valueP, double *minP, double *maxP, double *defP)> GRBgetdblparaminfo
Definition: environment.cc:371
std::function< int(GRBenv *env, const char *paramname, int *valueP)> GRBgetintparam
Definition: environment.cc:361
std::function< int(GRBenv **envP, const char *logfilename, const char *accessID, const char *secretKey, const char *pool)> GRBloadcloudenv
Definition: environment.cc:411
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMin
Definition: environment.cc:297
std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvj
Definition: environment.cc:339
std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, char sense, double rhs, const char *constrname)> GRBaddconstr
Definition: environment.cc:269
std::function< int(GRBmodel *model)> GRBcomputeIIS
Definition: environment.cc:336
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrOr
Definition: environment.cc:189
std::function< int(GRBmodel *model, const char *attrname, double *valueP)> GRBgetdblattr
Definition: environment.cc:95
std::function< GRBmodel *(GRBmodel *model)> GRBlinearizemodel
Definition: environment.cc:222
std::function< void(GRBmodel *model)> GRBdiscardconcurrentenvs
Definition: environment.cc:419
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **values)> GRBgetstrattrlist
Definition: environment.cc:134
std::function< int(GRBenv *env)> GRBgetnumparams
Definition: environment.cc:388
std::function< GRBmodel *(GRBmodel *model)> GRBcopymodel
Definition: environment.cc:209
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
Definition: environment.cc:313
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *newvalues)> GRBsetdblattrlist
Definition: environment.cc:115
std::function< int(GRBmodel *model, int *nummembersP, int *sostype, int *beg, int *ind, double *weight, int start, int len)> GRBgetsos
Definition: environment.cc:175
std::function< int(GRBmodel *model, int numnz, int *vind, double *vval, double obj, double lb, double ub, char vtype, const char *varname)> GRBaddvar
Definition: environment.cc:258
std::function< int(const char *filename)> GRBisrecordfile
Definition: environment.cc:238
std::function< GRBmodel *(GRBmodel *model)> GRBiismodel
Definition: environment.cc:220
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
Definition: environment.cc:398
std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBBSolve
Definition: environment.cc:340
std::function< char *(void)> GRBplatform
Definition: environment.cc:428
std::function< int(GRBenv *env, int i, char **paramnameP)> GRBgetparamname
Definition: environment.cc:389
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelgenconstrs
Definition: environment.cc:322
std::function< GRBenv *(GRBmodel *model, int num)> GRBgetmultiobjenv
Definition: environment.cc:420
std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetvarbyname
Definition: environment.cc:202
std::function< int(GRBmodel *model)> GRBresetmodel
Definition: environment.cc:334
std::function< void(int *majorP, int *minorP, int *technicalP)> GRBversion
Definition: environment.cc:426
std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetparam
Definition: environment.cc:375
std::function< int(GRBmodel *model, const char *attrname, int newvalue)> GRBsetintattr
Definition: environment.cc:57
std::function< int(GRBenv *env, const char *paramname, char *valueP)> GRBgetstrparam
Definition: environment.cc:365
std::function< int(GRBmodel *model)> GRBoptimizeasync
Definition: environment.cc:208
std::function< int(void *cbdata, int lazylen, const int *lazyind, const double *lazyval, char lazysense, double lazyrhs)> GRBcblazy
Definition: environment.cc:158
std::function< int(GRBmodel *model, const char *filename)> GRBread
Definition: environment.cc:234
std::function< int(GRBenv *env, const char *filename)> GRBwriteparams
Definition: environment.cc:386
std::function< void(GRBenv *env, const char *message)> GRBmsg
Definition: environment.cc:359
std::function< int(GRBmodel *model, int var, int points, double *x, double *y)> GRBsetpwlobj
Definition: environment.cc:332
std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *values)> GRBgetintattrarray
Definition: environment.cc:66
std::function< GRBmodel *(GRBmodel *model)> GRBfixedmodel
Definition: environment.cc:210
std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBaddconstrs
Definition: environment.cc:273
std::function< int(GRBmodel *model, int constr, int var, double *valP)> GRBgetcoeff
Definition: environment.cc:160
std::function< int(GRBenv *env, const char *paramname, int value)> GRBsetintparam
Definition: environment.cc:377
std::function< int(GRBmodel *model, const char *name, int resvar, int argvar)> GRBaddgenconstrAbs
Definition: environment.cc:299
std::function< int(void *cbdata, int where, int what, void *resultP)> GRBcbget
Definition: environment.cc:147
std::function< int(void *cbdata, const char *paramname, const char *newvalue)> GRBcbsetparam
Definition: environment.cc:150
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
Definition: environment.cc:358
std::function< int(const char *filename)> GRBfiletype
Definition: environment.cc:237
std::function< int(GRBenv **envP, const char *logfilename, const char *computeservers, int port, const char *password, int priority, double timeout)> GRBloadclientenv
Definition: environment.cc:402
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *argvarP)> GRBgetgenconstrAbs
Definition: environment.cc:183
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
Definition: environment.cc:248
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *values)> GRBgetcharattrarray
Definition: environment.cc:84
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
Definition: environment.cc:254
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *values)> GRBgetintattrlist
Definition: environment.cc:72
std::function< GRBmodel *(GRBmodel *model)> GRBpresolvemodel
Definition: environment.cc:219
std::function< int(GRBenv *env, const char *paramname, int *valueP, int *minP, int *maxP, int *defP)> GRBgetintparaminfo
Definition: environment.cc:368
std::function< int(GRBenv **envP, const char *logfilename)> GRBloadenv
Definition: environment.cc:394
std::function< GRBenv *(GRBmodel *model, int num)> GRBgetconcurrentenv
Definition: environment.cc:418
std::function< int(GRBmodel *model, const char *attrname, int element, int *valueP)> GRBgetintattrelement
Definition: environment.cc:60
std::function< int(GRBmodel *model, int qconstr, int *numlnzP, int *lind, double *lval, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetqconstr
Definition: environment.cc:200
std::function< int(GRBenv *dest, GRBenv *src)> GRBcopyparams
Definition: environment.cc:385
std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *newvalues)> GRBsetdblattrarray
Definition: environment.cc:109
std::function< int(GRBmodel *model, size_t *numnzP, size_t *vbeg, int *vind, double *vval, int start, int len)> GRBXgetvars
Definition: environment.cc:172
std::function< int(GRBmodel *model)> GRBfreemodel
Definition: environment.cc:335
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
Definition: environment.cc:408
std::function< int(GRBmodel *model, int nummembers, int *members)> GRBaddcone
Definition: environment.cc:314
std::function< int(GRBmodel *model, const char *attrname, int element, char **valueP)> GRBgetstrattrelement
Definition: environment.cc:122
std::function< void(GRBmodel *model)> GRBterminate
Definition: environment.cc:349
std::function< int(GRBmodel *model, int numqnz, int *qrow, int *qcol, double *qval)> GRBaddqpterms
Definition: environment.cc:318
std::function< int(GRBenv *env, const char *paramname, double *valueP)> GRBgetdblparam
Definition: environment.cc:363
std::function< const char *(GRBenv *env)> GRBgeterrormsg
Definition: environment.cc:424
std::function< int(GRBmodel *model, int cnt, int *cind, int *vind, double *val)> GRBchgcoeffs
Definition: environment.cc:327
absl::StatusOr< GRBenv * > GetGurobiEnv()
Definition: environment.cc:752
std::function< GRBenv *(GRBmodel *model)> GRBgetenv
Definition: environment.cc:417
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelconstrs
Definition: environment.cc:320
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMin
Definition: environment.cc:181
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars, double constant)> GRBaddgenconstrMax
Definition: environment.cc:294
std::function< int(GRBenv *env, const char *paramname, const char *value)> GRBsetstrparam
Definition: environment.cc:381
std::function< int(GRBmodel *model)> GRBcheckmodel
Definition: environment.cc:347
std::function< int(GRBmodel *model, const char *attrname, int element, double newvalue)> GRBsetdblattrelement
Definition: environment.cc:103
std::function< int(GRBmodel *model, size_t cnt, int *cind, int *vind, double *val)> GRBXchgcoeffs
Definition: environment.cc:330
std::function< int(GRBmodel *model)> GRBconverttofixed
Definition: environment.cc:218
std::function< int(GRBmodel *model, const char *attrname, int *datatypeP, int *sizeP, int *settableP)> GRBgetattrinfo
Definition: environment.cc:51
std::function< GRBmodel *(GRBmodel *model)> GRBfeasibility
Definition: environment.cc:221
std::function< int(GRBmodel *model, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodeladv
Definition: environment.cc:436
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
Definition: environment.cc:309
std::function< int(GRBenv *env)> GRBresetparams
Definition: environment.cc:384
std::function< int(GRBmodel *model)> GRBsync
Definition: environment.cc:437
std::function< int(GRBmodel *model, const char *attrname, int first, int len, double *values)> GRBgetdblattrarray
Definition: environment.cc:106
std::function< int(GRBmodel *model, int var, int *pointsP, double *x, double *y)> GRBgetpwlobj
Definition: environment.cc:206
std::function< int(GRBenv *env, const char *filename)> GRBreadparams
Definition: environment.cc:387
std::function< void(GRBenv *env)> GRBreleaselicense
Definition: environment.cc:422
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelqconstrs
Definition: environment.cc:324
std::function< int(GRBmodel *model, const char *attrname, int element, const char *newvalue)> GRBsetstrattrelement
Definition: environment.cc:125
std::function< const char *(GRBmodel *model)> GRBgetmerrormsg
Definition: environment.cc:425
std::function< int(GRBmodel *model)> GRBupdatemodel
Definition: environment.cc:333
std::function< int(GRBmodel *model, int sense, double constant, int lnz, int *lind, double *lval, int qnz, int *qrow, int *qcol, double *qval)> GRBsetobjective
Definition: environment.cc:354
std::function< GRBmodel *(GRBmodel *model)> GRBrelaxmodel
Definition: environment.cc:217
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrAnd
Definition: environment.cc:302
std::function< int(GRBenv *env, const char *filename, GRBmodel **modelP)> GRBreadmodel
Definition: environment.cc:233
std::function< int(GRBmodel *model)> GRBdelq
Definition: environment.cc:325
std::function< int(GRBmodel *model, int numnz, int *cind, double *cval, double lower, double upper, const char *constrname)> GRBaddrangeconstr
Definition: environment.cc:280
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, double *values)> GRBgetdblattrlist
Definition: environment.cc:112
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
Definition: environment.cc:416
std::function< int(GRBmodel *model, const char *attrname, int element, char newvalue)> GRBsetcharattrelement
Definition: environment.cc:81
std::function< int(GRBmodel *model)> GRBtunemodel
Definition: environment.cc:429
std::function< int(GRBmodel *model, int i)> GRBgettuneresult
Definition: environment.cc:433
std::function< int(GRBmodel *model, const char *attrname, int element, int newvalue)> GRBsetintattrelement
Definition: environment.cc:63
std::function< int(GRBmodel *model, GRBsvec *b, GRBsvec *x)> GRBFSolve
Definition: environment.cc:337
std::function< int(GRBmodel *model, int *numnzP, int *cbeg, int *cind, double *cval, int start, int len)> GRBgetconstrs
Definition: environment.cc:163
std::function< int(GRBmodel *model, const char *attrname, const char *newvalue)> GRBsetstrattr
Definition: environment.cc:119
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *values)> GRBgetcharattrlist
Definition: environment.cc:90
std::function< int(GRBmodel *model, const char *attrname, int element, double *valueP)> GRBgetdblattrelement
Definition: environment.cc:100
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **values)> GRBgetstrattrarray
Definition: environment.cc:128
std::function< int(GRBmodel *model, int i, char **logP)> GRBgettunelog
Definition: environment.cc:434
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
Definition: environment.cc:266
std::function< int(const char *filename)> GRBismodelfile
Definition: environment.cc:236
std::function< int(GRBmodel *model, const char *name, int resvar, int nvars, const int *vars)> GRBaddgenconstrOr
Definition: environment.cc:305
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char **newvalues)> GRBsetstrattrlist
Definition: environment.cc:137
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelsos
Definition: environment.cc:321
std::function< int(GRBmodel *model, int num, int *cand, double *downobjbd, double *upobjbd, int *statusP)> GRBstrongbranch
Definition: environment.cc:346
std::function< int(void *cbdata, const double *solution, double *objvalP)> GRBcbsolution
Definition: environment.cc:152
std::function< int(GRBmodel *model, const char *attrname)> GRBisattravailable
Definition: environment.cc:52
std::function< int(void *cbdata, int what, int *typeP, int *sizeP)> GRBgetcbwhatinfo
Definition: environment.cc:216
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars, double *constantP)> GRBgetgenconstrMax
Definition: environment.cc:178
std::function< int(GRBmodel *model, int j, GRBsvec *x)> GRBBinvColj
Definition: environment.cc:338
std::function< int(GRBmodel *model)> GRBoptimize
Definition: environment.cc:207
std::function< int(GRBmodel *model, int *numqnzP, int *qrow, int *qcol, double *qval)> GRBgetq
Definition: environment.cc:196
std::function< int(GRBmodel *model, const char *filename)> GRBwrite
Definition: environment.cc:235
std::function< void(GRBmodel *model)> GRBsetsignal
Definition: environment.cc:348
std::function< int(GRBenv **, const char *, const char *, const char *, int, const char *)> GRBisqp
Definition: environment.cc:48
std::function< int(GRBmodel *model, int len, int *ind)> GRBdelvars
Definition: environment.cc:319
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char **newvalues)> GRBsetstrattrarray
Definition: environment.cc:131
bool GurobiIsCorrectlyInstalled()
Definition: environment.cc:31
std::function< void(GRBmodel *model)> GRBdiscardmultiobjenvs
Definition: environment.cc:421
std::function< int(GRBmodel *model, int genconstr, int *resvarP, int *nvarsP, int *vars)> GRBgetgenconstrAnd
Definition: environment.cc:186
std::function< int(GRBmodel *model, int relaxobjtype, int minrelax, double *lbpen, double *ubpen, double *rhspen, double *feasobjP)> GRBfeasrelax
Definition: environment.cc:214
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, char *newvalues)> GRBsetcharattrlist
Definition: environment.cc:93
std::function< int(GRBmodel *model, const char *attrname, char **valueP)> GRBgetstrattr
Definition: environment.cc:117
std::function< int(GRBmodel *model, const char *name, int *indexP)> GRBgetconstrbyname
Definition: environment.cc:204
std::function< int(GRBenv *env, const char *paramname)> GRBgetparamtype
Definition: environment.cc:382
std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, char *sense, double *rhs, char **constrnames)> GRBXaddconstrs
Definition: environment.cc:277
std::function< int(GRBenv *env, GRBmodel **modelP, const char *Pname, int numvars, double *obj, double *lb, double *ub, char *vtype, char **varnames)> GRBnewmodel
Definition: environment.cc:242
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
Definition: environment.cc:231
absl::Status LoadGurobiDynamicLibrary(std::vector< std::string > potential_paths)
Definition: environment.cc:717
std::function< void(GRBenv *env)> GRBfreeenv
Definition: environment.cc:423
std::function< int(GRBmodel *model, const char *attrname, int len, int *ind, int *newvalues)> GRBsetintattrlist
Definition: environment.cc:75
std::function< int(GRBmodel *model, int i, char **attrnameP)> GRBgetattrname
Definition: environment.cc:392
std::function< int(GRBmodel *model, int numsos, int nummembers, int *types, int *beg, int *ind, double *weight)> GRBaddsos
Definition: environment.cc:291
std::function< int(GRBmodel *model, int genconstr, int *binvarP, int *binvalP, int *nvarsP, int *vars, double *vals, char *senseP, double *rhsP)> GRBgetgenconstrIndicator
Definition: environment.cc:193
std::function< int(GRBenv *env, int(GUROBI_STDCALL *cb)(char *msg))> GRBsetlogcallbackfuncenv
Definition: environment.cc:146
std::function< int(void *cbdata, int cutlen, const int *cutind, const double *cutval, char cutsense, double cutrhs)> GRBcbcut
Definition: environment.cc:155
std::function< int(GRBmodel *model, int numconstrs, size_t numnz, size_t *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBXaddrangeconstrs
Definition: environment.cc:288
std::function< int(int nummodels, GRBmodel **models, GRBmodel *ignore, GRBmodel *hint)> GRBtunemodels
Definition: environment.cc:432
std::function< int(GRBmodel *model, const char *attrname, double newvalue)> GRBsetdblattr
Definition: environment.cc:97
std::function< int(GRBmodel *model, const char *attrname, int first, int len, int *newvalues)> GRBsetintattrarray
Definition: environment.cc:69
std::function< int(GRBmodel *model, int(GUROBI_STDCALL *cb)(CB_ARGS), void *usrdata)> GRBsetcallbackfunc
Definition: environment.cc:140
std::function< int(GRBmodel *model, int *numnzP, int *vbeg, int *vind, double *vval, int start, int len)> GRBgetvars
Definition: environment.cc:169
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
Definition: environment.cc:262
std::function< int(GRBmodel *model, int(GUROBI_STDCALL **cbP)(CB_ARGS))> GRBgetcallbackfunc
Definition: environment.cc:142
std::function< int(GRBmodel *model, int numconstrs, int numnz, int *cbeg, int *cind, double *cval, double *lower, double *upper, char **constrnames)> GRBaddrangeconstrs
Definition: environment.cc:284
std::function< int(GRBmodel *model, const char *attrname, int first, int len, char *newvalues)> GRBsetcharattrarray
Definition: environment.cc:87
std::function< int(const char *filename)> GRBreplay
Definition: environment.cc:350
std::function< int(GRBmodel *model, const char *attrname, int *valueP)> GRBgetintattr
Definition: environment.cc:55
std::function< int(GRBmodel *model, int i, GRBsvec *x)> GRBBinvRowi
Definition: environment.cc:342
std::function< int(GRBenv *env, const char *paramname, char *valueP, char *defP)> GRBgetstrparaminfo
Definition: environment.cc:373
std::function< int(GRBenv *env, const char *paramname, double value)> GRBsetdblparam
Definition: environment.cc:379
std::function< int(GRBmodel *model)> GRBgetnumattributes
Definition: environment.cc:391
int64_t weight
Definition: pack.cc:510
int64_t start
double * val
Definition: environment.h:29
int * ind
Definition: environment.h:28
std::string message
Definition: trace.cc:398
const double constant