16#ifndef OR_TOOLS_XPRESS_ENVIRONMENT_H_
17#define OR_TOOLS_XPRESS_ENVIRONMENT_H_
22#include "absl/status/status.h"
32bool initXpressEnv(
bool verbose =
true,
int xpress_oem_license_key = 0);
48#define XPRSint64 __int64
49#elif defined(__LP64__) || defined(_LP64) || defined(__ILP64__) || \
53#define XPRSint64 long long
57#define XPRS_CC __stdcall
64#define XPRS_STOP_NONE 0
65#define XPRS_STOP_TIMELIMIT 1
66#define XPRS_STOP_CTRLC 2
67#define XPRS_STOP_NODELIMIT 3
68#define XPRS_STOP_ITERLIMIT 4
69#define XPRS_STOP_MIPGAP 5
70#define XPRS_STOP_SOLLIMIT 6
71#define XPRS_STOP_GENERICERROR 7
72#define XPRS_STOP_MEMORYERROR 8
73#define XPRS_STOP_USER 9
74#define XPRS_STOP_SOLVECOMPLETE 10
75#define XPRS_STOP_LICENSELOST 11
76#define XPRS_STOP_NUMERICALERROR 13
80#define XPRS_TYPE_NOTDEFINED 0
81#define XPRS_TYPE_INT 1
82#define XPRS_TYPE_INT64 2
83#define XPRS_TYPE_DOUBLE 3
84#define XPRS_TYPE_STRING 4
88#define XPRS_NAMES_ROW 1
89#define XPRS_NAMES_COLUMN 2
91#define XPRS_PLUSINFINITY 1.0e+20
92#define XPRS_MINUSINFINITY -1.0e+20
93#define XPRS_MAXBANNERLENGTH 512
95#define XPRS_MPSRHSNAME 6001
96#define XPRS_MPSOBJNAME 6002
97#define XPRS_MPSRANGENAME 6003
98#define XPRS_MPSBOUNDNAME 6004
99#define XPRS_OUTPUTMASK 6005
100#define XPRS_TUNERMETHODFILE 6017
101#define XPRS_TUNEROUTPUTPATH 6018
102#define XPRS_TUNERSESSIONNAME 6019
103#define XPRS_COMPUTEEXECSERVICE 6022
104#define XPRS_MAXCUTTIME 8149
105#define XPRS_MAXSTALLTIME 8443
106#define XPRS_TUNERMAXTIME 8364
107#define XPRS_MATRIXTOL 7001
108#define XPRS_PIVOTTOL 7002
109#define XPRS_FEASTOL 7003
110#define XPRS_OUTPUTTOL 7004
111#define XPRS_SOSREFTOL 7005
112#define XPRS_OPTIMALITYTOL 7006
113#define XPRS_ETATOL 7007
114#define XPRS_RELPIVOTTOL 7008
115#define XPRS_MIPTOL 7009
116#define XPRS_MIPTOLTARGET 7010
117#define XPRS_BARPERTURB 7011
118#define XPRS_MIPADDCUTOFF 7012
119#define XPRS_MIPABSCUTOFF 7013
120#define XPRS_MIPRELCUTOFF 7014
121#define XPRS_PSEUDOCOST 7015
122#define XPRS_PENALTY 7016
123#define XPRS_BIGM 7018
124#define XPRS_MIPABSSTOP 7019
125#define XPRS_MIPRELSTOP 7020
126#define XPRS_CROSSOVERACCURACYTOL 7023
127#define XPRS_PRIMALPERTURB 7024
128#define XPRS_DUALPERTURB 7025
129#define XPRS_BAROBJSCALE 7026
130#define XPRS_BARRHSSCALE 7027
131#define XPRS_CHOLESKYTOL 7032
132#define XPRS_BARGAPSTOP 7033
133#define XPRS_BARDUALSTOP 7034
134#define XPRS_BARPRIMALSTOP 7035
135#define XPRS_BARSTEPSTOP 7036
136#define XPRS_ELIMTOL 7042
137#define XPRS_MARKOWITZTOL 7047
138#define XPRS_MIPABSGAPNOTIFY 7064
139#define XPRS_MIPRELGAPNOTIFY 7065
140#define XPRS_BARLARGEBOUND 7067
141#define XPRS_PPFACTOR 7069
142#define XPRS_REPAIRINDEFINITEQMAX 7071
143#define XPRS_BARGAPTARGET 7073
144#define XPRS_DUMMYCONTROL 7075
145#define XPRS_BARSTARTWEIGHT 7076
146#define XPRS_BARFREESCALE 7077
147#define XPRS_SBEFFORT 7086
148#define XPRS_HEURDIVERANDOMIZE 7089
149#define XPRS_HEURSEARCHEFFORT 7090
150#define XPRS_CUTFACTOR 7091
151#define XPRS_EIGENVALUETOL 7097
152#define XPRS_INDLINBIGM 7099
153#define XPRS_TREEMEMORYSAVINGTARGET 7100
154#define XPRS_INDPRELINBIGM 7102
155#define XPRS_RELAXTREEMEMORYLIMIT 7105
156#define XPRS_MIPABSGAPNOTIFYOBJ 7108
157#define XPRS_MIPABSGAPNOTIFYBOUND 7109
158#define XPRS_PRESOLVEMAXGROW 7110
159#define XPRS_HEURSEARCHTARGETSIZE 7112
160#define XPRS_CROSSOVERRELPIVOTTOL 7113
161#define XPRS_CROSSOVERRELPIVOTTOLSAFE 7114
162#define XPRS_DETLOGFREQ 7116
163#define XPRS_MAXIMPLIEDBOUND 7120
164#define XPRS_FEASTOLTARGET 7121
165#define XPRS_OPTIMALITYTOLTARGET 7122
166#define XPRS_PRECOMPONENTSEFFORT 7124
167#define XPRS_LPLOGDELAY 7127
168#define XPRS_HEURDIVEITERLIMIT 7128
169#define XPRS_BARKERNEL 7130
170#define XPRS_FEASTOLPERTURB 7132
171#define XPRS_CROSSOVERFEASWEIGHT 7133
172#define XPRS_LUPIVOTTOL 7139
173#define XPRS_MIPRESTARTGAPTHRESHOLD 7140
174#define XPRS_NODEPROBINGEFFORT 7141
175#define XPRS_INPUTTOL 7143
176#define XPRS_MIPRESTARTFACTOR 7145
177#define XPRS_BAROBJPERTURB 7146
178#define XPRS_CPIALPHA 7149
179#define XPRS_GLOBALBOUNDINGBOX 7154
180#define XPRS_TIMELIMIT 7158
181#define XPRS_SOLTIMELIMIT 7159
182#define XPRS_REPAIRINFEASTIMELIMIT 7160
183#define XPRS_EXTRAROWS 8004
184#define XPRS_EXTRACOLS 8005
185#define XPRS_LPITERLIMIT 8007
186#define XPRS_LPLOG 8009
187#define XPRS_SCALING 8010
188#define XPRS_PRESOLVE 8011
189#define XPRS_CRASH 8012
190#define XPRS_PRICINGALG 8013
191#define XPRS_INVERTFREQ 8014
192#define XPRS_INVERTMIN 8015
193#define XPRS_MAXNODE 8018
194#define XPRS_MAXTIME 8020
195#define XPRS_MAXMIPSOL 8021
196#define XPRS_SIFTPASSES 8022
197#define XPRS_DEFAULTALG 8023
198#define XPRS_VARSELECTION 8025
199#define XPRS_NODESELECTION 8026
200#define XPRS_BACKTRACK 8027
201#define XPRS_MIPLOG 8028
202#define XPRS_KEEPNROWS 8030
203#define XPRS_MPSECHO 8032
204#define XPRS_MAXPAGELINES 8034
205#define XPRS_OUTPUTLOG 8035
206#define XPRS_BARSOLUTION 8038
207#define XPRS_CACHESIZE 8043
208#define XPRS_CROSSOVER 8044
209#define XPRS_BARITERLIMIT 8045
210#define XPRS_CHOLESKYALG 8046
211#define XPRS_BAROUTPUT 8047
212#define XPRS_EXTRAMIPENTS 8051
213#define XPRS_REFACTOR 8052
214#define XPRS_BARTHREADS 8053
215#define XPRS_KEEPBASIS 8054
216#define XPRS_CROSSOVEROPS 8060
217#define XPRS_VERSION 8061
218#define XPRS_CROSSOVERTHREADS 8065
219#define XPRS_BIGMMETHOD 8068
220#define XPRS_MPSNAMELENGTH 8071
221#define XPRS_ELIMFILLIN 8073
222#define XPRS_PRESOLVEOPS 8077
223#define XPRS_MIPPRESOLVE 8078
224#define XPRS_MIPTHREADS 8079
225#define XPRS_BARORDER 8080
226#define XPRS_BREADTHFIRST 8082
227#define XPRS_AUTOPERTURB 8084
228#define XPRS_DENSECOLLIMIT 8086
229#define XPRS_CALLBACKFROMMASTERTHREAD 8090
230#define XPRS_MAXMCOEFFBUFFERELEMS 8091
231#define XPRS_REFINEOPS 8093
232#define XPRS_LPREFINEITERLIMIT 8094
233#define XPRS_MIPREFINEITERLIMIT 8095
234#define XPRS_DUALIZEOPS 8097
235#define XPRS_CROSSOVERITERLIMIT 8104
236#define XPRS_PREBASISRED 8106
237#define XPRS_PRESORT 8107
238#define XPRS_PREPERMUTE 8108
239#define XPRS_PREPERMUTESEED 8109
240#define XPRS_MAXMEMORYSOFT 8112
241#define XPRS_CUTFREQ 8116
242#define XPRS_SYMSELECT 8117
243#define XPRS_SYMMETRY 8118
244#define XPRS_MAXMEMORYHARD 8119
245#define XPRS_MIQCPALG 8125
246#define XPRS_QCCUTS 8126
247#define XPRS_QCROOTALG 8127
248#define XPRS_PRECONVERTSEPARABLE 8128
249#define XPRS_ALGAFTERNETWORK 8129
250#define XPRS_TRACE 8130
251#define XPRS_MAXIIS 8131
252#define XPRS_CPUTIME 8133
253#define XPRS_COVERCUTS 8134
254#define XPRS_GOMCUTS 8135
255#define XPRS_LPFOLDING 8136
256#define XPRS_MPSFORMAT 8137
257#define XPRS_CUTSTRATEGY 8138
258#define XPRS_CUTDEPTH 8139
259#define XPRS_TREECOVERCUTS 8140
260#define XPRS_TREEGOMCUTS 8141
261#define XPRS_CUTSELECT 8142
262#define XPRS_TREECUTSELECT 8143
263#define XPRS_DUALIZE 8144
264#define XPRS_DUALGRADIENT 8145
265#define XPRS_SBITERLIMIT 8146
266#define XPRS_SBBEST 8147
267#define XPRS_BARINDEFLIMIT 8153
268#define XPRS_HEURFREQ 8155
269#define XPRS_HEURDEPTH 8156
270#define XPRS_HEURMAXSOL 8157
271#define XPRS_HEURNODES 8158
272#define XPRS_LNPBEST 8160
273#define XPRS_LNPITERLIMIT 8161
274#define XPRS_BRANCHCHOICE 8162
275#define XPRS_BARREGULARIZE 8163
276#define XPRS_SBSELECT 8164
277#define XPRS_LOCALCHOICE 8170
278#define XPRS_LOCALBACKTRACK 8171
279#define XPRS_DUALSTRATEGY 8174
280#define XPRS_L1CACHE 8175
281#define XPRS_HEURDIVESTRATEGY 8177
282#define XPRS_HEURSELECT 8178
283#define XPRS_BARSTART 8180
284#define XPRS_PRESOLVEPASSES 8183
285#define XPRS_BARNUMSTABILITY 8186
286#define XPRS_BARORDERTHREADS 8187
287#define XPRS_EXTRASETS 8190
288#define XPRS_FEASIBILITYPUMP 8193
289#define XPRS_PRECOEFELIM 8194
290#define XPRS_PREDOMCOL 8195
291#define XPRS_HEURSEARCHFREQ 8196
292#define XPRS_HEURDIVESPEEDUP 8197
293#define XPRS_SBESTIMATE 8198
294#define XPRS_BARCORES 8202
295#define XPRS_MAXCHECKSONMAXTIME 8203
296#define XPRS_MAXCHECKSONMAXCUTTIME 8204
297#define XPRS_HISTORYCOSTS 8206
298#define XPRS_ALGAFTERCROSSOVER 8208
299#define XPRS_MUTEXCALLBACKS 8210
300#define XPRS_BARCRASH 8211
301#define XPRS_HEURDIVESOFTROUNDING 8215
302#define XPRS_HEURSEARCHROOTSELECT 8216
303#define XPRS_HEURSEARCHTREESELECT 8217
304#define XPRS_MPS18COMPATIBLE 8223
305#define XPRS_ROOTPRESOLVE 8224
306#define XPRS_CROSSOVERDRP 8227
307#define XPRS_FORCEOUTPUT 8229
308#define XPRS_PRIMALOPS 8231
309#define XPRS_DETERMINISTIC 8232
310#define XPRS_PREPROBING 8238
311#define XPRS_TREEMEMORYLIMIT 8242
312#define XPRS_TREECOMPRESSION 8243
313#define XPRS_TREEDIAGNOSTICS 8244
314#define XPRS_MAXTREEFILESIZE 8245
315#define XPRS_PRECLIQUESTRATEGY 8247
316#define XPRS_REPAIRINFEASMAXTIME 8250
317#define XPRS_IFCHECKCONVEXITY 8251
318#define XPRS_PRIMALUNSHIFT 8252
319#define XPRS_REPAIRINDEFINITEQ 8254
320#define XPRS_MIPRAMPUP 8255
321#define XPRS_MAXLOCALBACKTRACK 8257
322#define XPRS_USERSOLHEURISTIC 8258
323#define XPRS_FORCEPARALLELDUAL 8265
324#define XPRS_BACKTRACKTIE 8266
325#define XPRS_BRANCHDISJ 8267
326#define XPRS_MIPFRACREDUCE 8270
327#define XPRS_CONCURRENTTHREADS 8274
328#define XPRS_MAXSCALEFACTOR 8275
329#define XPRS_HEURTHREADS 8276
330#define XPRS_THREADS 8278
331#define XPRS_HEURBEFORELP 8280
332#define XPRS_PREDOMROW 8281
333#define XPRS_BRANCHSTRUCTURAL 8282
334#define XPRS_QUADRATICUNSHIFT 8284
335#define XPRS_BARPRESOLVEOPS 8286
336#define XPRS_QSIMPLEXOPS 8288
337#define XPRS_MIPRESTART 8290
338#define XPRS_CONFLICTCUTS 8292
339#define XPRS_PREPROTECTDUAL 8293
340#define XPRS_CORESPERCPU 8296
341#define XPRS_RESOURCESTRATEGY 8297
342#define XPRS_CLAMPING 8301
343#define XPRS_SLEEPONTHREADWAIT 8302
344#define XPRS_PREDUPROW 8307
345#define XPRS_CPUPLATFORM 8312
346#define XPRS_BARALG 8315
347#define XPRS_SIFTING 8319
348#define XPRS_LPLOGSTYLE 8326
349#define XPRS_RANDOMSEED 8328
350#define XPRS_TREEQCCUTS 8331
351#define XPRS_PRELINDEP 8333
352#define XPRS_DUALTHREADS 8334
353#define XPRS_PREOBJCUTDETECT 8336
354#define XPRS_PREBNDREDQUAD 8337
355#define XPRS_PREBNDREDCONE 8338
356#define XPRS_PRECOMPONENTS 8339
357#define XPRS_MAXMIPTASKS 8347
358#define XPRS_MIPTERMINATIONMETHOD 8348
359#define XPRS_PRECONEDECOMP 8349
360#define XPRS_HEURFORCESPECIALOBJ 8350
361#define XPRS_HEURSEARCHROOTCUTFREQ 8351
362#define XPRS_PREELIMQUAD 8353
363#define XPRS_PREIMPLICATIONS 8356
364#define XPRS_TUNERMODE 8359
365#define XPRS_TUNERMETHOD 8360
366#define XPRS_TUNERTARGET 8362
367#define XPRS_TUNERTHREADS 8363
368#define XPRS_TUNERHISTORY 8365
369#define XPRS_TUNERPERMUTE 8366
370#define XPRS_TUNERVERBOSE 8370
371#define XPRS_TUNEROUTPUT 8372
372#define XPRS_PREANALYTICCENTER 8374
373#define XPRS_NETCUTS 8382
374#define XPRS_LPFLAGS 8385
375#define XPRS_MIPKAPPAFREQ 8386
376#define XPRS_OBJSCALEFACTOR 8387
377#define XPRS_TREEFILELOGINTERVAL 8389
378#define XPRS_IGNORECONTAINERCPULIMIT 8390
379#define XPRS_IGNORECONTAINERMEMORYLIMIT 8391
380#define XPRS_MIPDUALREDUCTIONS 8392
381#define XPRS_GENCONSDUALREDUCTIONS 8395
382#define XPRS_PWLDUALREDUCTIONS 8396
383#define XPRS_BARFAILITERLIMIT 8398
384#define XPRS_AUTOSCALING 8406
385#define XPRS_GENCONSABSTRANSFORMATION 8408
386#define XPRS_COMPUTEJOBPRIORITY 8409
387#define XPRS_PREFOLDING 8410
388#define XPRS_NETSTALLLIMIT 8412
389#define XPRS_SERIALIZEPREINTSOL 8413
390#define XPRS_NUMERICALEMPHASIS 8416
391#define XPRS_PWLNONCONVEXTRANSFORMATION 8420
392#define XPRS_MIPCOMPONENTS 8421
393#define XPRS_MIPCONCURRENTNODES 8422
394#define XPRS_MIPCONCURRENTSOLVES 8423
395#define XPRS_OUTPUTCONTROLS 8424
396#define XPRS_SIFTSWITCH 8425
397#define XPRS_HEUREMPHASIS 8427
398#define XPRS_COMPUTEMATX 8428
399#define XPRS_COMPUTEMATX_IIS 8429
400#define XPRS_COMPUTEMATX_IISMAXTIME 8430
401#define XPRS_BARREFITER 8431
402#define XPRS_COMPUTELOG 8434
403#define XPRS_SIFTPRESOLVEOPS 8435
404#define XPRS_CHECKINPUTDATA 8436
405#define XPRS_ESCAPENAMES 8440
406#define XPRS_IOTIMEOUT 8442
407#define XPRS_AUTOCUTTING 8446
408#define XPRS_CALLBACKCHECKTIMEDELAY 8451
409#define XPRS_MULTIOBJOPS 8457
410#define XPRS_MULTIOBJLOG 8458
411#define XPRS_GLOBALSPATIALBRANCHIFPREFERORIG 8465
412#define XPRS_PRECONFIGURATION 8470
413#define XPRS_FEASIBILITYJUMP 8471
414#define XPRS_EXTRAELEMS 8006
415#define XPRS_EXTRASETELEMS 8191
416#define XPRS_LPOBJVAL 2001
417#define XPRS_MIPOBJVAL 2003
418#define XPRS_BESTBOUND 2004
419#define XPRS_OBJRHS 2005
420#define XPRS_OBJSENSE 2008
421#define XPRS_ROWS 1001
422#define XPRS_SIMPLEXITER 1009
423#define XPRS_LPSTATUS 1010
424#define XPRS_MIPSTATUS 1011
425#define XPRS_NODES 1013
426#define XPRS_COLS 1018
427#define XPRS_LP_OPTIMAL 1
428#define XPRS_LP_INFEAS 2
429#define XPRS_LP_UNBOUNDED 5
430#define XPRS_MIP_SOLUTION 4
431#define XPRS_MIP_INFEAS 5
432#define XPRS_MIP_OPTIMAL 6
433#define XPRS_MIP_UNBOUNDED 7
434#define XPRS_OBJ_MINIMIZE 1
435#define XPRS_OBJ_MAXIMIZE -1
441extern std::function<int(
const char* path)>
XPRSinit;
442extern std::function<int(
void)>
XPRSfree;
444extern std::function<int(
int* p_i,
char* p_c)>
XPRSlicense;
460extern std::function<int(
XPRSprob prob,
const char* probname,
int ncols,
int nrows,
const char rowtype[],
const double rhs[],
const double rng[],
const double objcoef[],
const int start[],
const int collen[],
const int rowind[],
const double rowcoef[],
const double lb[],
const double ub[])>
XPRSloadlp;
461extern std::function<int(
XPRSprob prob,
const char* probname,
int ncols,
int nrows,
const char rowtype[],
const double rhs[],
const double rng[],
const double objcoef[],
const XPRSint64 start[],
const int collen[],
const int rowind[],
const double rowcoef[],
const double lb[],
const double ub[])>
XPRSloadlp64;
462extern std::function<int(
XPRSprob prob,
double objcoef[],
int first,
int last)>
XPRSgetobj;
463extern std::function<int(
XPRSprob prob,
double rhs[],
int first,
int last)>
XPRSgetrhs;
465extern std::function<int(
XPRSprob prob,
double lb[],
int first,
int last)>
XPRSgetlb;
466extern std::function<int(
XPRSprob prob,
double ub[],
int first,
int last)>
XPRSgetub;
468extern std::function<int(
XPRSprob prob,
int nrows,
int ncoefs,
const char rowtype[],
const double rhs[],
const double rng[],
const int start[],
const int colind[],
const double rowcoef[])>
XPRSaddrows;
470extern std::function<int(
XPRSprob prob,
int ncols,
int ncoefs,
const double objcoef[],
const int start[],
const int rowind[],
const double rowcoef[],
const double lb[],
const double ub[])>
XPRSaddcols;
471extern std::function<int(
XPRSprob prob,
int type,
const char names[],
int first,
int last)>
XPRSaddnames;
472extern std::function<int(
XPRSprob prob,
int type,
char names[],
int first,
int last)>
XPRSgetnames;
474extern std::function<int(
XPRSprob prob,
int ncols,
const int colind[],
const char coltype[])>
XPRSchgcoltype;
483extern std::function<int(
XPRSprob prob,
int nbounds,
const int colind[],
const char bndtype[],
const double bndval[])>
XPRSchgbounds;
484extern std::function<int(
XPRSprob prob,
int length,
const double solval[],
const int colind[],
const char*
name)>
XPRSaddmipsol;
485extern std::function<int(
XPRSprob prob,
double x[],
double slack[],
double duals[],
double djs[])>
XPRSgetlpsol;
487extern std::function<int(
XPRSprob prob,
int ncols,
const int colind[],
const double objcoef[])>
XPRSchgobj;
489extern std::function<int(
XPRSprob prob,
int ncoefs,
const int rowind[],
const int colind[],
const double rowcoef[])>
XPRSchgmcoef;
490extern std::function<int(
XPRSprob prob,
int nrows,
const int rowind[],
const double rhs[])>
XPRSchgrhs;
492extern std::function<int(
XPRSprob prob,
int nrows,
const int rowind[],
const char rowtype[])>
XPRSchgrowtype;
const std::string name
A name for logging purposes.
In SWIG mode, we don't want anything besides these top-level includes.
std::function< int(XPRSprob prob, void(XPRS_CC *f_intsol)(XPRSprob cbprob, void *cbdata), void *p, int priority)> XPRSaddcbintsol
std::function< int(XPRSprob prob, int control)> XPRSsetdefaultcontrol
std::function< int(XPRSprob prob, int nrows, const int rowind[], const char rowtype[])> XPRSchgrowtype
std::function< int(char *banner)> XPRSgetbanner
absl::Status LoadXpressDynamicLibrary(std::string &xpresspath)
std::function< int(XPRSprob prob, double lb[], int first, int last)> XPRSgetlb
std::function< int(XPRSprob prob, const char *filename, const char *flags)> XPRSwriteprob
std::function< int(XPRSprob prob, void(XPRS_CC *f_message)(XPRSprob cbprob, void *cbdata, const char *msg, int msglen, int msgtype), void *p, int priority)> XPRSaddcbmessage
bool initXpressEnv(bool verbose, int xpress_oem_license_key)
! init XPRESS environment.
std::function< int(XPRSprob prob, int length, const double solval[], const int colind[], const char *name)> XPRSaddmipsol
std::function< int(XPRSprob prob, double x[], double slack[])> XPRSgetmipsol
std::function< int(XPRSprob prob, int nbounds, const int colind[], const char bndtype[], const double bndval[])> XPRSchgbounds
std::function< int(XPRSprob prob, const int rowstat[], const int colstat[])> XPRSloadbasis
std::function< int(XPRSprob prob, int row, int col, double coef)> XPRSchgcoef
std::function< int(XPRSprob prob, int nrows, const int rowind[])> XPRSdelrows
std::function< int(XPRSprob prob, int type, char names[], int first, int last)> XPRSgetnames
std::function< int(XPRSprob prob, int ncols, const int colind[])> XPRSdelcols
std::function< int(XPRSprob prob, int row, int col, double *p_coef)> XPRSgetcoef
std::function< int(XPRSprob prob, int control, XPRSint64 *p_value)> XPRSgetintcontrol64
std::function< int(XPRSprob prob, const char *probname, int ncols, int nrows, const char rowtype[], const double rhs[], const double rng[], const double objcoef[], const XPRSint64 start[], const int collen[], const int rowind[], const double rowcoef[], const double lb[], const double ub[])> XPRSloadlp64
std::function< int(XPRSprob prob, double rng[], int first, int last)> XPRSgetrhsrange
std::function< int(XPRSprob prob, void(XPRS_CC *f_intsol)(XPRSprob cbprob, void *cbdata), void *p)> XPRSremovecbintsol
std::function< int(XPRSprob prob, int ncols, const int colind[], const char coltype[])> XPRSchgcoltype
std::function< int(XPRSprob prob, char rowtype[], int first, int last)> XPRSgetrowtype
std::function< int(char *version)> XPRSgetversion
std::function< int(XPRSprob prob, const char *name, int *p_id, int *p_type)> XPRSgetcontrolinfo
std::function< int(XPRSprob prob, double rhs[], int first, int last)> XPRSgetrhs
std::function< int(XPRSprob prob, double x[], double slack[], double duals[], double djs[])> XPRSgetlpsol
std::function< int(XPRSprob prob)> XPRSpostsolve
std::function< int(XPRSprob prob, int control, int *p_value)> XPRSgetintcontrol
std::function< int(XPRSprob prob, int nrows, const int rowind[], const double rng[])> XPRSchgrhsrange
std::function< int(XPRSprob prob, int type, const char names[], int first, int last)> XPRSaddnames
std::function< int(XPRSprob prob, int ncoefs, const int rowind[], const int colind[], const double rowcoef[])> XPRSchgmcoef
std::function< int(XPRSprob prob, const char *probname, int ncols, int nrows, const char rowtype[], const double rhs[], const double rng[], const double objcoef[], const int start[], const int collen[], const int rowind[], const double rowcoef[], const double lb[], const double ub[])> XPRSloadlp
std::function< int(void)> XPRSfree
std::function< int(XPRSprob prob, int control, double *p_value)> XPRSgetdblcontrol
std::function< int(XPRSprob prob, int reason)> XPRSinterrupt
bool XpressIsCorrectlyInstalled()
std::function< int(char *buffer, int maxbytes)> XPRSgetlicerrmsg
std::function< int(XPRSprob prob, int attrib, double *p_value)> XPRSgetdblattrib
std::function< int(XPRSprob prob, int control, int value)> XPRSsetintcontrol
std::function< int(XPRSprob prob, int nrows, int ncoefs, const char rowtype[], const double rhs[], const double rng[], const int start[], const int colind[], const double rowcoef[])> XPRSaddrows
std::function< int(XPRSprob prob, int attrib, int *p_value)> XPRSgetintattrib
std::function< int(XPRSprob prob, char *errmsg)> XPRSgetlasterror
std::function< int(XPRSprob prob)> XPRSdestroyprob
std::function< int(XPRSprob prob, char coltype[], int first, int last)> XPRSgetcoltype
std::function< int(XPRSprob prob, int control, double value)> XPRSsetdblcontrol
std::function< int(XPRSprob prob, double objcoef[], int first, int last)> XPRSgetobj
std::function< int(XPRSprob prob, double ub[], int first, int last)> XPRSgetub
void printXpressBanner(bool error)
clang-format on
std::function< int(int *p_i, char *p_c)> XPRSlicense
std::function< int(XPRSprob prob, int control, const char *value)> XPRSsetstrcontrol
std::function< int(XPRSprob prob, int ncols, int ncoefs, const double objcoef[], const int start[], const int rowind[], const double rowcoef[], const double lb[], const double ub[])> XPRSaddcols
std::function< int(XPRSprob prob, const char *flags)> XPRSmipoptimize
std::function< int(XPRSprob prob, int control, char *value, int maxbytes, int *p_nbytes)> XPRSgetstringcontrol
std::function< int(XPRSprob prob, int nrows, const int rowind[], const double rhs[])> XPRSchgrhs
std::function< int(XPRSprob prob, int ncols, const int colind[], const double objcoef[])> XPRSchgobj
std::function< int(XPRSprob *p_prob)> XPRScreateprob
This is the 'define' section.
std::function< int(XPRSprob prob, const char *flags)> XPRSlpoptimize
std::function< int(XPRSprob prob, int control, XPRSint64 value)> XPRSsetintcontrol64
std::function< int(XPRSprob prob, int objsense)> XPRSchgobjsense
std::function< int(const char *path)> XPRSinit
std::function< int(XPRSprob prob, int rowstat[], int colstat[])> XPRSgetbasis
struct xo_prob_struct * XPRSprob
Initial version of this code was provided by RTE.