35#define _USE_MATH_DEFINES
69#define READER_NAME "osilreader"
70#define READER_DESC "file reader for OS instance language (OSiL) format"
71#define READER_EXTENSION "osil"
84 SCIP_Bool initialconss,
85 SCIP_Bool dynamicconss,
86 SCIP_Bool dynamiccols,
87 SCIP_Bool dynamicrows,
117 SCIPerrorMessage(
"Attribute \"numberOfVariables\" not found in <variables> node.\n");
123 if( *
attrval !=
'\0' || varssize < 0 )
144 if( varssize == *
nvars )
247 SCIP_CALL(
SCIPcreateVar(
scip, &(*
vars)[*
nvars],
varname,
varlb,
varub, 0.0, vartype, !dynamiccols, dynamiccols,
NULL,
NULL,
NULL,
NULL,
NULL) );
262 consvars[0] = (*vars)[*
nvars];
263 consvars[1] = (*vars)[*
nvars];
281 if( *
nvars < varssize )
298 SCIP_Bool dynamiccols,
315 if( objective ==
NULL )
374 SCIPerrorMessage(
"Invalid variable index '%d' of objective coefficient.\n", idx);
418 SCIP_CALL(
SCIPcreateVar(
scip, &
objconstvar,
"objconstvar",
objconst,
objconst, 1.0,
SCIP_VARTYPE_CONTINUOUS, !dynamiccols, dynamiccols,
NULL,
NULL,
NULL,
NULL,
NULL) );
456 if( constraints ==
NULL )
463 SCIPerrorMessage(
"Attribute \"numberOfConstraints\" not found in <constraints> node.\n");
469 if( *
attrval !=
'\0' || *nconss < 0 )
496 SCIP_Bool initialconss,
497 SCIP_Bool dynamicconss,
498 SCIP_Bool dynamicrows
519 nlinvars, linvars, lincoefs, lhs, rhs, initialconss,
578 SCIP_Real coefs[2] = {1.0, -1.0};
632 SCIP_Real** lincoefs,
639 SCIP_Bool initialconss,
640 SCIP_Bool dynamicconss,
641 SCIP_Bool dynamicrows,
666 if( constraints ==
NULL )
672 const char* consname;
678 SCIPerrorMessage(
"Expected %d constraints, but got at least %d many.\n", nconss,
c+1);
685 if( consname ==
NULL )
695 SCIPerrorMessage(
"Constraint attribute 'mult' not supported (while parsing constraint <%s>).\n", consname);
854 SCIP_Real** lincoefs,
882 if( lincoef ==
NULL )
889 SCIPerrorMessage(
"Attribute \"numberOfValues\" not found for <linearConstraintCoefficients> node.\n");
895 if( *
attrval !=
'\0' || nnz < 0 )
897 SCIPerrorMessage(
"Invalid value '%s' for \"numberOfValues\" attribute in <linearConstraintCoefficients> node.\n",
xmlGetAttrval(lincoef,
"numberOfValues"));
907 SCIPerrorMessage(
"Node <start> not found inside <linearConstraintCoefficients> node.\n");
917 SCIPerrorMessage(
"Both <rowIdx> and <colIdx> found under <linearConstraintCoefficients> node.\n");
928 SCIPerrorMessage(
"Both <rowIdx> and <colIdx> not found under <linearConstraintCoefficients> node.\n");
938 SCIPerrorMessage(
"<value> node not found under <linearConstraintCoefficients> node.\n");
962 SCIPerrorMessage(
"Too many elements under <start> node in <linearConstraintCoefficients>, expected %d many, got at least %d.\n", (
rowmajor ? nconss :
nvars) + 1, count + 1);
968 SCIPerrorMessage(
"No data in <el> node in <linearConstraintCoefficients>.\n");
992 SCIPerrorMessage(
"Too many elements under <start> node in <linearConstraintCoefficients>, expected %d many, got at least %d.\n", (
rowmajor ? nconss :
nvars) + 1, count + 1);
1001 SCIPerrorMessage(
"Got only %d <start> entries in <linearConstraintCoefficients>, but expected %d many.\n", count, (
rowmajor ? nconss :
nvars) + 1);
1021 SCIPerrorMessage(
"Too many elements under <%s> node in <linearConstraintCoefficients>, expected %d many, but got at least %d.\n",
rowmajor ?
"colIdx" :
"rowIdx", nnz, count + 1);
1027 SCIPerrorMessage(
"No data in <el> node under <%s> node in <linearConstraintCoefficients>.\n",
rowmajor ?
"colIdx" :
"rowIdx");
1051 SCIPerrorMessage(
"Too many elements under <%s> node in <linearConstraintCoefficients>, expected %d many, got at least %d.\n",
rowmajor ?
"colIdx" :
"rowIdx", nnz, count + 1);
1055 idx[count] = idx[count-1] +
incrint;
1060 SCIPerrorMessage(
"Got only %d entries in <%s> node in <linearConstraintCoefficients>, expected %d many.\n", count,
rowmajor ?
"colIdx" :
"rowIdx", nnz);
1080 SCIPerrorMessage(
"Too many elements under <value> node in <linearConstraintCoefficients>, expected %d many, got at least %d.\n", nnz, count + 1);
1086 SCIPerrorMessage(
"No data in <el> node under <value> node in <linearConstraintCoefficients>.\n");
1110 SCIPerrorMessage(
"Too many elements under <value> node in <linearConstraintCoefficients>, expected %d many, got at least %d.\n", nnz, count + 1);
1114 val[count] = val[count-1] +
incrreal;
1119 SCIPerrorMessage(
"Got only %d entries under <value> node in <linearConstraintCoefficients>, expected %d many.\n", count, nnz);
1129 for( row = 0; row < nconss; ++row )
1141 assert(nlinvars[row] == 0);
1147 for( pos =
start[row]; pos <
start[row+1]; ++pos )
1155 linvars[row][nlinvars[row]] =
vars[idx[pos]];
1156 lincoefs[row][nlinvars[row]] = val[pos];
1169 for(
k = 0;
k < 2; ++
k )
1171 for( col = 0; col <
nvars; ++col )
1178 for( pos =
start[col]; pos <
start[col+1]; ++pos )
1206 for(
c = 0;
c < nconss; ++
c )
1269 SCIPerrorMessage(
"Attribute \"numberOfQuadraticTerms\" not found for <quadraticCoefficients> node.\n");
1300 SCIPerrorMessage(
"Too many quadratic terms under <quadraticCoefficients> node, expected %d many, but got at least %d.\n",
nqterms, count + 1);
1309 SCIPerrorMessage(
"Missing \"idx\" attribute in %d'th <qTerm> node under <quadraticCoefficients> node.\n", count);
1326 SCIPerrorMessage(
"Missing \"idxOne\" attribute in %d'th <qTerm> node under <quadraticCoefficients> node.\n", count);
1343 SCIPerrorMessage(
"Missing \"idxTwo\" attribute in %d'th <qTerm> node under <quadraticCoefficients> node.\n", count);
1361 if( *
attrval !=
'\0' || (coef != coef) )
1401 SCIPerrorMessage(
"Got only %d quadratic terms under <quadraticCoefficients> node, but expected %d many.\n", count,
nqterms);
1443 SCIPerrorMessage(
"Attribute \"idx\" required for <variable> node in nonlinear expression\n");
1608 SCIP_Real coef = 1.0/
log(10.0);
1624 SCIPwarningMessage(
scip,
"Danger! You're entering a construction area. Implementation of support for 'erf' is incomplete.\n");
1674 SCIP_Real coefs[2] = {1.0, -1.0};
1706 SCIPerrorMessage(
"Negative base in <power> node with nonconstant exponent not allowed in nonlinear expression.\n");
1713 SCIP_Real coef =
log(value);
1747 SCIPerrorMessage(
"Signpower only supported for exponents > 1, but got %g.\n",
1793 if( args[0] !=
NULL )
1797 if( args[1] !=
NULL )
1938 SCIPerrorMessage(
"Missing \"idxOne\" attribute in %d'th <qpTerm> node under <quadratic> node in nonlinear expression.\n",
nquadelems);
1956 SCIPerrorMessage(
"Missing \"idxTwo\" attribute in %d'th <qpTerm> node under <quadratic> node in nonlinear expression.\n",
nquadelems);
1989 SCIP_CALL(
SCIPcreateExprQuadratic(
scip, expr, 0,
NULL,
NULL,
nquadelems,
quadvars1,
quadvars2,
quadcoefs,
NULL,
NULL) );
2033 SCIPerrorMessage(
"Attribute \"numberOfNonlinearExpressions\" in <nonlinearExpressions> node not found.\n");
2059 SCIPerrorMessage(
"Too many nonlinear expressions under <nonlinearExpressions> node, expected %d many, but got at least %d.\n",
nnlexprs, count + 1);
2072 SCIPerrorMessage(
"Missing \"idx\" attribute in %d'th <nl> node under <nonlinearExpressions> node.\n", count);
2080 SCIPerrorMessage(
"Invalid value '%s' in \"idx\" attribute of %d'th <nl> node under <nonlinearExpressions> node.\n",
xmlGetAttrval(nlexpr,
"idx"), count);
2116 SCIP_Bool initialconss,
2117 SCIP_Bool dynamicconss,
2118 SCIP_Bool dynamicrows,
2139 SCIP_Bool removable;
2143 initial = initialconss;
2149 dynamic = dynamicconss;
2150 removable = dynamicrows;
2161 SCIPerrorMessage(
"Attribute \"numberOfSOS in <specialOrderedSets> node not found.\n");
2191 SCIPerrorMessage(
"Too many sos under <specialOrderedSets> node, expected %d many, but got at least %d.\n",
nsoscons, count + 1);
2240 SCIP_CALL(
SCIPcreateConsSOS1(
scip, &cons, name, 0,
NULL,
NULL, initial, separate, enforce, check,
propagate,
2241 local, dynamic, removable,
FALSE) );
2244 SCIP_CALL(
SCIPcreateConsSOS2(
scip, &cons, name, 0,
NULL,
NULL, initial, separate, enforce, check,
propagate,
2245 local, dynamic, removable,
FALSE) );
2260 SCIPerrorMessage(
"Attribute \"idx\" in <var> node below <specialOrderedSets> node not found.\n");
2326 SCIP_Bool initialconss;
2327 SCIP_Bool dynamicconss;
2328 SCIP_Bool dynamiccols;
2329 SCIP_Bool dynamicrows;
2337 SCIP_Real** lincoefs =
NULL;
2338 int* nlinvars =
NULL;
2367 SCIPerrorMessage(
"Some error occurred when parsing the OSiL XML file '%s'.\n", filename);
2376 if( header !=
NULL )
2410 SCIP_CALL_TERMINATE( retcode,
readVariables(
scip, data, &
vars, &
nvars, initialconss, dynamicconss, dynamiccols, dynamicrows, &
doingfine),
CLEANUP );
2437 SCIP_CALL_TERMINATE( retcode,
readLinearCoefs(
scip, data,
vars,
nvars, nconss, linvars, lincoefs, nlinvars, &
doingfine),
CLEANUP );
2483 for(
c = nconss;
c >= 0; --
c )
constraint handler for bound disjunction constraints
Constraint handler for linear constraints in their most general form, .
constraint handler for nonlinear constraints specified by algebraic expressions
constraint handler for SOS type 1 constraints
constraint handler for SOS type 2 constraints
#define SCIP_CALL_TERMINATE(retcode, x, TERM)
absolute expression handler
SCIP_RETCODE SCIPcreateExprErf(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
handler for Gaussian error function expressions
exponential expression handler
logarithm expression handler
power and signed power expression handlers
product expression handler
handler for sin expressions
constant value expression handler
variable expression handler
SCIP_RETCODE SCIPaddCoefLinear(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_Real val)
SCIP_RETCODE SCIPaddVarSOS1(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_Real weight)
SCIP_RETCODE SCIPcreateConsBounddisjunction(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_BOUNDTYPE *boundtypes, SCIP_Real *bounds, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
SCIP_RETCODE SCIPcreateConsSOS1(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Real *weights, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
SCIP_RETCODE SCIPcreateConsNonlinear(SCIP *scip, SCIP_CONS **cons, const char *name, SCIP_EXPR *expr, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable)
SCIP_RETCODE SCIPcreateConsSOS2(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Real *weights, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
SCIP_RETCODE SCIPcreateConsLinear(SCIP *scip, SCIP_CONS **cons, const char *name, int nvars, SCIP_VAR **vars, SCIP_Real *vals, SCIP_Real lhs, SCIP_Real rhs, SCIP_Bool initial, SCIP_Bool separate, SCIP_Bool enforce, SCIP_Bool check, SCIP_Bool propagate, SCIP_Bool local, SCIP_Bool modifiable, SCIP_Bool dynamic, SCIP_Bool removable, SCIP_Bool stickingatnode)
SCIP_RETCODE SCIPaddVarSOS2(SCIP *scip, SCIP_CONS *cons, SCIP_VAR *var, SCIP_Real weight)
SCIP_RETCODE SCIPcreateExprVar(SCIP *scip, SCIP_EXPR **expr, SCIP_VAR *var, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprProduct(SCIP *scip, SCIP_EXPR **expr, int nchildren, SCIP_EXPR **children, SCIP_Real coefficient, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprSin(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprCos(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprAbs(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPappendExprSumExpr(SCIP *scip, SCIP_EXPR *expr, SCIP_EXPR *child, SCIP_Real childcoef)
SCIP_RETCODE SCIPcreateExprSignpower(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_Real exponent, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprLog(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprExp(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprSum(SCIP *scip, SCIP_EXPR **expr, int nchildren, SCIP_EXPR **children, SCIP_Real *coefficients, SCIP_Real constant, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprValue(SCIP *scip, SCIP_EXPR **expr, SCIP_Real value, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPcreateExprPow(SCIP *scip, SCIP_EXPR **expr, SCIP_EXPR *child, SCIP_Real exponent, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_RETCODE SCIPincludeReaderOsil(SCIP *scip)
SCIP_RETCODE SCIPaddVar(SCIP *scip, SCIP_VAR *var)
SCIP_RETCODE SCIPaddCons(SCIP *scip, SCIP_CONS *cons)
SCIP_RETCODE SCIPsetObjsense(SCIP *scip, SCIP_OBJSENSE objsense)
SCIP_OBJSENSE SCIPgetObjsense(SCIP *scip)
SCIP_RETCODE SCIPcreateProb(SCIP *scip, const char *name, SCIP_DECL_PROBDELORIG((*probdelorig)), SCIP_DECL_PROBTRANS((*probtrans)), SCIP_DECL_PROBDELTRANS((*probdeltrans)), SCIP_DECL_PROBINITSOL((*probinitsol)), SCIP_DECL_PROBEXITSOL((*probexitsol)), SCIP_DECL_PROBCOPY((*probcopy)), SCIP_PROBDATA *probdata)
void SCIPwarningMessage(SCIP *scip, const char *formatstr,...)
SCIP_RETCODE SCIPgetBoolParam(SCIP *scip, const char *name, SCIP_Bool *value)
SCIP_RETCODE SCIPreleaseCons(SCIP *scip, SCIP_CONS **cons)
SCIP_RETCODE SCIPcreateExprQuadratic(SCIP *scip, SCIP_EXPR **expr, int nlinvars, SCIP_VAR **linvars, SCIP_Real *lincoefs, int nquadterms, SCIP_VAR **quadvars1, SCIP_VAR **quadvars2, SCIP_Real *quadcoefs, SCIP_DECL_EXPR_OWNERCREATE((*ownercreate)), void *ownercreatedata)
SCIP_Bool SCIPisExprSum(SCIP *scip, SCIP_EXPR *expr)
SCIP_Bool SCIPisExprValue(SCIP *scip, SCIP_EXPR *expr)
SCIP_RETCODE SCIPreleaseExpr(SCIP *scip, SCIP_EXPR **expr)
SCIP_Real SCIPgetValueExprValue(SCIP_EXPR *expr)
void SCIPcaptureExpr(SCIP_EXPR *expr)
#define SCIPallocClearBlockMemoryArray(scip, ptr, num)
int SCIPcalcMemGrowSize(SCIP *scip, int num)
#define SCIPallocBufferArray(scip, ptr, num)
#define SCIPreallocBufferArray(scip, ptr, num)
#define SCIPfreeBufferArray(scip, ptr)
#define SCIPallocBlockMemoryArray(scip, ptr, num)
#define SCIPreallocBlockMemoryArray(scip, ptr, oldnum, newnum)
#define SCIPfreeBlockMemoryArrayNull(scip, ptr, num)
#define SCIPfreeBufferArrayNull(scip, ptr)
SCIP_RETCODE SCIPsetReaderCopy(SCIP *scip, SCIP_READER *reader,)
SCIP_RETCODE SCIPincludeReaderBasic(SCIP *scip, SCIP_READER **readerptr, const char *name, const char *desc, const char *extension, SCIP_READERDATA *readerdata)
SCIP_RETCODE SCIPsetReaderRead(SCIP *scip, SCIP_READER *reader,)
SCIP_Real SCIPinfinity(SCIP *scip)
SCIP_Real SCIPfloor(SCIP *scip, SCIP_Real val)
SCIP_Real SCIPceil(SCIP *scip, SCIP_Real val)
const char * SCIPvarGetName(SCIP_VAR *var)
SCIP_RETCODE SCIPreleaseVar(SCIP *scip, SCIP_VAR **var)
SCIP_RETCODE SCIPcreateVar(SCIP *scip, SCIP_VAR **var, const char *name, SCIP_Real lb, SCIP_Real ub, SCIP_Real obj, SCIP_VARTYPE vartype, SCIP_Bool initial, SCIP_Bool removable, SCIP_DECL_VARDELORIG((*vardelorig)), SCIP_DECL_VARTRANS((*vartrans)), SCIP_DECL_VARDELTRANS((*vardeltrans)), SCIP_DECL_VARCOPY((*varcopy)), SCIP_VARDATA *vardata)
SCIP_RETCODE SCIPchgVarObj(SCIP *scip, SCIP_VAR *var, SCIP_Real newobj)
int SCIPsnprintf(char *t, int len, const char *s,...)
assert(minobj< SCIPgetCutoffbound(scip))
static SCIP_Bool propagate
static volatile int nterms
memory allocation routines
public methods for managing constraints
public methods for message output
public data structures and miscellaneous methods
public methods for NLP management
public methods for problem variables
static SCIP_RETCODE readConstraints(SCIP *scip, const XML_NODE *datanode, int nconss, SCIP_VAR ***linvars, SCIP_Real **lincoefs, int *nlinvars, SCIP_VAR ***quadvars1, SCIP_VAR ***quadvars2, SCIP_Real **quadcoefs, int *nquadterms, SCIP_EXPR **nlexprs, SCIP_Bool initialconss, SCIP_Bool dynamicconss, SCIP_Bool dynamicrows, SCIP_Bool *doingfine)
static SCIP_RETCODE readExpression(SCIP *scip, SCIP_EXPR **expr, const XML_NODE *node, SCIP_VAR **vars, int nvars, SCIP_Bool *doingfine)
static SCIP_RETCODE readQuadraticCoefs(SCIP *scip, const XML_NODE *datanode, SCIP_VAR **vars, int nvars, int nconss, SCIP_VAR ***quadvars1, SCIP_VAR ***quadvars2, SCIP_Real **quadcoefs, int *nquadterms, int *termssize, SCIP_Bool *doingfine)
static SCIP_RETCODE readLinearCoefs(SCIP *scip, const XML_NODE *datanode, SCIP_VAR **vars, int nvars, int nconss, SCIP_VAR ***linvars, SCIP_Real **lincoefs, int *nlinvars, SCIP_Bool *doingfine)
static SCIP_RETCODE createConstraint(SCIP *scip, SCIP_VAR **linvars, SCIP_Real *lincoefs, int nlinvars, SCIP_VAR **quadvars1, SCIP_VAR **quadvars2, SCIP_Real *quadcoefs, int nquadterms, SCIP_EXPR *nlexpr, SCIP_Real lhs, SCIP_Real rhs, const char *name, SCIP_Bool objcons, SCIP_Bool initialconss, SCIP_Bool dynamicconss, SCIP_Bool dynamicrows)
static SCIP_RETCODE readVariables(SCIP *scip, const XML_NODE *datanode, SCIP_VAR ***vars, int *nvars, SCIP_Bool initialconss, SCIP_Bool dynamicconss, SCIP_Bool dynamiccols, SCIP_Bool dynamicrows, SCIP_Bool *doingfine)
static SCIP_RETCODE readObjective(SCIP *scip, const XML_NODE *datanode, SCIP_VAR **vars, int nvars, SCIP_Bool dynamiccols, SCIP_Bool *doingfine)
static SCIP_RETCODE readNonlinearExprs(SCIP *scip, const XML_NODE *datanode, SCIP_VAR **vars, int nvars, int nconss, SCIP_EXPR **exprs, SCIP_Bool *doingfine)
static SCIP_RETCODE readSOScons(SCIP *scip, const XML_NODE *datanode, SCIP_VAR **vars, int nvars, SCIP_Bool initialconss, SCIP_Bool dynamicconss, SCIP_Bool dynamicrows, SCIP_Bool *doingfine)
static void readMultIncr(const XML_NODE *node, int *mult, int *incrint, SCIP_Real *incrreal, SCIP_Bool *doingfine)
static SCIP_RETCODE readNConstraints(SCIP *scip, const XML_NODE *datanode, int *nconss, SCIP_Bool *doingfine)
OS instance language (OSiL) format file reader.
public methods for constraint handler plugins and constraints
public methods for memory management
public methods for numerical tolerances
public methods for SCIP parameter handling
public methods for global and local (sub)problems
public methods for reader plugins
public methods for SCIP variables
enum SCIP_BoundType SCIP_BOUNDTYPE
#define SCIP_DECL_READERREAD(x)
#define SCIP_DECL_READERCOPY(x)
enum SCIP_Retcode SCIP_RETCODE
@ SCIP_VARTYPE_CONTINUOUS
enum SCIP_Vartype SCIP_VARTYPE
declarations for XML parsing
const XML_NODE * xmlFirstChild(const XML_NODE *node)
const XML_NODE * xmlFindNodeMaxdepth(const XML_NODE *node, const char *name, int depth, int maxdepth)
const char * xmlGetName(const XML_NODE *node)
const char * xmlGetAttrval(const XML_NODE *node, const char *name)
struct XML_NODE_struct XML_NODE
void xmlShowNode(const XML_NODE *root)
const XML_NODE * xmlNextSibl(const XML_NODE *node)
XML_NODE * xmlProcess(const char *filename)
const char * xmlGetData(const XML_NODE *node)
void xmlFreeNode(XML_NODE *node)