66 if( reader->readercopy !=
NULL )
80 const char* extension,
99 (*reader)->readercopy = readercopy;
100 (*reader)->readerfree = readerfree;
101 (*reader)->readerread = readerread;
102 (*reader)->readerwrite = readerwrite;
103 (*reader)->readerdata = readerdata;
104 (*reader)->exact =
FALSE;
118 const char* extension,
147 if( *reader ==
NULL )
151 if( (*reader)->readerfree !=
NULL )
172 const char* extension
186 const char* filename,
187 const char* extension,
204 if(
set->exact_enable && !reader->
exact )
224 retcode = reader->readerread(
set->scip, reader, filename,
result);
262 const char * oldname;
283 const char* filename,
308 const char* consname;
309 const char** varnames =
NULL;
310 const char** fixedvarnames =
NULL;
311 const char** consnames =
NULL;
320 if(
set->exact_enable && !reader->
exact )
340 if( nduplicates < 3 )
348 for(
i = 0;
i < nfixedvars; ++
i )
352 if( nduplicates < 3 )
360 if( nduplicates > 0 )
362 if( nduplicates > 3 )
366 SCIPmessageFPrintWarning(msghdlr,
"This will likely result in wrong output files. Please use unique variable names.\n");
376 conshdlrs =
set->conshdlrs;
377 nconshdlrs =
set->nconshdlrs;
383 for(
i = 0;
i < nconshdlrs; ++
i )
386 if(
set->write_allconss )
398 for(
i = 0;
i < nconshdlrs; ++
i )
405 if(
set->write_allconss )
418 for(
c = 0;
c < nconshdlrconss; ++
c )
420 conss[nconss] = conshdlrconss[
c];
436 for(
i = 0;
i < nconss; ++
i )
440 if( nduplicates < 3 )
450 if( nduplicates > 3 )
454 SCIPmessageFPrintWarning(msghdlr,
"This can result in wrong output files, especially with indicator constraints.\n");
475 size = (int) log10(
nvars+1.0) + 3;
488 size = (int) log10(nfixedvars+1.0) + 3;
490 for(
i = 0;
i < nfixedvars; ++
i )
501 size = (int) log10(nconss+1.0) + 3;
503 for(
i = 0;
i < nconss; ++
i )
515 if(
set->exact_enable )
530 objoffsetexact =
NULL;
531 objscaleexact =
NULL;
548 if( objscaleexact !=
NULL )
550 if( objoffsetexact !=
NULL )
559 for(
i = nconss - 1;
i >= 0; --
i )
571 for(
i = nfixedvars - 1;
i >= 0; --
i )
633 reader->readercopy = readercopy;
644 reader->readerfree = readerfree;
655 reader->readerread = readerread;
666 reader->readerwrite = readerwrite;
716 return (reader->readerread !=
NULL);
726 return (reader->readerwrite !=
NULL);
void SCIPclockSetTime(SCIP_CLOCK *clck, SCIP_Real sec)
void SCIPclockStop(SCIP_CLOCK *clck, SCIP_SET *set)
SCIP_Bool SCIPclockIsRunning(SCIP_CLOCK *clck)
void SCIPclockEnableOrDisable(SCIP_CLOCK *clck, SCIP_Bool enable)
void SCIPclockStart(SCIP_CLOCK *clck, SCIP_SET *set)
SCIP_Real SCIPclockGetTime(SCIP_CLOCK *clck)
void SCIPclockReset(SCIP_CLOCK *clck)
void SCIPclockFree(SCIP_CLOCK **clck)
SCIP_RETCODE SCIPclockCreate(SCIP_CLOCK **clck, SCIP_CLOCKTYPE clocktype)
internal methods for clocks and timing issues
void SCIPconsSetNamePointer(SCIP_CONS *cons, const char *name)
internal methods for constraints and constraint handlers
common defines and data types used in all packages of SCIP
#define SCIP_CALL_FINALLY(x, y)
SCIP_CONS ** SCIPconshdlrGetEnfoConss(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNConss(SCIP_CONSHDLR *conshdlr)
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
int SCIPconshdlrGetNEnfoConss(SCIP_CONSHDLR *conshdlr)
SCIP_CONS ** SCIPconshdlrGetConss(SCIP_CONSHDLR *conshdlr)
const char * SCIPconsGetName(SCIP_CONS *cons)
BMS_BUFMEM * SCIPbuffer(SCIP *scip)
void SCIPrationalFreeBuffer(BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
SCIP_RETCODE SCIPrationalCreateBuffer(BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
void SCIPrationalSetRational(SCIP_RATIONAL *res, SCIP_RATIONAL *src)
void SCIPrationalMultReal(SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_Real op2)
SCIP_READERDATA * SCIPreaderGetData(SCIP_READER *reader)
const char * SCIPreaderGetExtension(SCIP_READER *reader)
void SCIPreaderSetData(SCIP_READER *reader, SCIP_READERDATA *readerdata)
const char * SCIPreaderGetName(SCIP_READER *reader)
SCIP_Bool SCIPreaderCanRead(SCIP_READER *reader)
SCIP_Bool SCIPreaderCanWrite(SCIP_READER *reader)
void SCIPreaderMarkExact(SCIP_READER *reader)
const char * SCIPreaderGetDesc(SCIP_READER *reader)
const char * SCIPvarGetName(SCIP_VAR *var)
int SCIPstrcasecmp(const char *s1, const char *s2)
int SCIPsnprintf(char *t, int len, const char *s,...)
assert(minobj< SCIPgetCutoffbound(scip))
memory allocation routines
#define BMSfreeMemory(ptr)
#define BMSduplicateMemoryArray(ptr, source, num)
#define BMSclearMemory(ptr)
#define BMSfreeMemoryArrayNull(ptr)
#define BMSallocMemory(ptr)
void SCIPmessageFPrintWarning(SCIP_MESSAGEHDLR *messagehdlr, const char *formatstr,...)
int SCIPprobGetNContVars(SCIP_PROB *prob)
SCIP_CONS ** SCIPprobGetConss(SCIP_PROB *prob)
int SCIPprobGetNFixedVars(SCIP_PROB *prob)
const char * SCIPprobGetName(SCIP_PROB *prob)
SCIP_Real SCIPprobGetObjoffset(SCIP_PROB *prob)
int SCIPprobGetNConss(SCIP_PROB *prob)
int SCIPprobGetStartNConss(SCIP_PROB *prob)
SCIP_RATIONAL * SCIPprobGetObjoffsetExact(SCIP_PROB *prob)
SCIP_OBJSENSE SCIPprobGetObjsense(SCIP_PROB *prob)
int SCIPprobGetStartNVars(SCIP_PROB *prob)
SCIP_Real SCIPprobGetObjscale(SCIP_PROB *prob)
SCIP_VAR * SCIPprobFindVar(SCIP_PROB *prob, const char *name)
int SCIPprobGetNImplVars(SCIP_PROB *prob)
SCIP_VAR ** SCIPprobGetFixedVars(SCIP_PROB *prob)
SCIP_CONS * SCIPprobFindCons(SCIP_PROB *prob, const char *name)
int SCIPprobGetNIntVars(SCIP_PROB *prob)
int SCIPprobGetNVars(SCIP_PROB *prob)
SCIP_PROBDATA * SCIPprobGetData(SCIP_PROB *prob)
int SCIPprobGetMaxNConss(SCIP_PROB *prob)
int SCIPprobGetNBinVars(SCIP_PROB *prob)
SCIP_RATIONAL * SCIPprobGetObjscaleExact(SCIP_PROB *prob)
SCIP_VAR ** SCIPprobGetVars(SCIP_PROB *prob)
SCIP_Bool SCIPprobIsTransformed(SCIP_PROB *prob)
internal methods for storing and manipulating the main problem
public methods for managing constraints
public methods for message output
public data structures and miscellaneous methods
public methods for problem variables
SCIP_RETCODE SCIPreaderFree(SCIP_READER **reader, SCIP_SET *set)
SCIP_RETCODE SCIPreaderWrite(SCIP_READER *reader, SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *msghdlr, FILE *file, const char *filename, const char *format, SCIP_Bool genericnames, SCIP_RESULT *result)
static SCIP_Bool readerIsApplicable(SCIP_READER *reader, const char *extension)
SCIP_Real SCIPreaderGetReadingTime(SCIP_READER *reader)
SCIP_RETCODE SCIPreaderCopyInclude(SCIP_READER *reader, SCIP_SET *set)
SCIP_RETCODE SCIPreaderRead(SCIP_READER *reader, SCIP_SET *set, const char *filename, const char *extension, SCIP_RESULT *result)
void SCIPreaderSetCopy(SCIP_READER *reader,)
void SCIPreaderSetRead(SCIP_READER *reader,)
SCIP_RETCODE SCIPreaderCreate(SCIP_READER **reader, SCIP_SET *set, const char *name, const char *desc, const char *extension, SCIP_DECL_READERCOPY((*readercopy)), SCIP_DECL_READERFREE((*readerfree)), SCIP_DECL_READERREAD((*readerread)), SCIP_DECL_READERWRITE((*readerwrite)), SCIP_READERDATA *readerdata)
static SCIP_RETCODE doReaderCreate(SCIP_READER **reader, const char *name, const char *desc, const char *extension, SCIP_DECL_READERCOPY((*readercopy)), SCIP_DECL_READERFREE((*readerfree)), SCIP_DECL_READERREAD((*readerread)), SCIP_DECL_READERWRITE((*readerwrite)), SCIP_READERDATA *readerdata)
SCIP_RETCODE SCIPreaderResetReadingTime(SCIP_READER *reader)
void SCIPreaderEnableOrDisableClocks(SCIP_READER *reader, SCIP_Bool enable)
void SCIPreaderSetFree(SCIP_READER *reader,)
static void resetVarname(SCIP_VAR *var, SCIP_SET *set, const char *name)
void SCIPreaderSetWrite(SCIP_READER *reader,)
internal methods for input file readers
public methods for memory management
internal methods for global SCIP settings
#define SCIPsetFreeBufferArray(set, ptr)
#define SCIPsetAllocBufferArray(set, ptr, num)
SCIP_READERDATA * readerdata
datastructures for input file readers
struct SCIP_Clock SCIP_CLOCK
struct SCIP_Cons SCIP_CONS
struct SCIP_Conshdlr SCIP_CONSHDLR
struct SCIP_Messagehdlr SCIP_MESSAGEHDLR
struct SCIP_Prob SCIP_PROB
struct SCIP_Rational SCIP_RATIONAL
#define SCIP_DECL_READERWRITE(x)
struct SCIP_ReaderData SCIP_READERDATA
struct SCIP_Reader SCIP_READER
#define SCIP_DECL_READERREAD(x)
#define SCIP_DECL_READERCOPY(x)
#define SCIP_DECL_READERFREE(x)
enum SCIP_Result SCIP_RESULT
enum SCIP_Retcode SCIP_RETCODE
void SCIPvarSetNamePointer(SCIP_VAR *var, const char *name)
internal methods for problem variables