CIP file reader.
Definition in file reader_cip.c.
#include <string.h>
#include <strings.h>
#include <ctype.h>
#include "scip/reader_cip.h"
#include "scip/cons_linear.h"
Go to the source code of this file.
Macros | |
#define | READER_NAME "cipreader" |
#define | READER_DESC "file reader for CIP (Constraint Integer Program) format" |
#define | READER_EXTENSION "cip" |
#define | DEFAULT_CIP_WRITEFIXEDVARS TRUE |
Typedefs | |
typedef enum CipSection | CIPSECTION |
typedef struct CipInput | CIPINPUT |
Enumerations | |
enum | CipSection { CIP_START, CIP_STATISTIC, CIP_OBJECTIVE, CIP_VARS, CIP_FIXEDVARS, CIP_CONSTRAINTS, CIP_END } |
Functions | |
static SCIP_RETCODE | getInputString (SCIP *scip, CIPINPUT *cipinput) |
static void | getStart (SCIP *scip, CIPINPUT *cipinput) |
static SCIP_RETCODE | getStatistics (SCIP *scip, CIPINPUT *cipinput) |
static SCIP_RETCODE | getObjective (SCIP *scip, CIPINPUT *cipinput, SCIP_Real *objscale, SCIP_Real *objoffset) |
static SCIP_RETCODE | getVariable (SCIP *scip, CIPINPUT *cipinput, SCIP_Bool initial, SCIP_Bool removable, SCIP_Real objscale) |
static SCIP_RETCODE | getFixedVariable (SCIP *scip, CIPINPUT *cipinput) |
static SCIP_RETCODE | getConstraint (SCIP *scip, CIPINPUT *cipinput, SCIP_Bool initial, SCIP_Bool dynamic, SCIP_Bool removable) |
static | SCIP_DECL_READERCOPY (readerCopyCip) |
static | SCIP_DECL_READERFREE (readerFreeCip) |
static | SCIP_DECL_READERREAD (readerReadCip) |
static | SCIP_DECL_HASHGETKEY (hashGetKeyVar) |
static | SCIP_DECL_HASHKEYEQ (hashKeyEqVar) |
static | SCIP_DECL_HASHKEYVAL (hashKeyValVar) |
static | SCIP_DECL_READERWRITE (readerWriteCip) |
SCIP_RETCODE | SCIPincludeReaderCip (SCIP *scip) |
#define READER_NAME "cipreader" |
Definition at line 36 of file reader_cip.c.
Referenced by SCIP_DECL_READERCOPY(), SCIP_DECL_READERFREE(), SCIP_DECL_READERWRITE(), and SCIPincludeReaderCip().
#define READER_DESC "file reader for CIP (Constraint Integer Program) format" |
Definition at line 37 of file reader_cip.c.
Referenced by SCIPincludeReaderCip().
#define READER_EXTENSION "cip" |
Definition at line 38 of file reader_cip.c.
Referenced by SCIPincludeReaderCip().
#define DEFAULT_CIP_WRITEFIXEDVARS TRUE |
Should fixed and aggregated variables be written when writing?
Definition at line 40 of file reader_cip.c.
Referenced by SCIPincludeReaderCip().
typedef enum CipSection CIPSECTION |
Section of the in CIP files
Definition at line 61 of file reader_cip.c.
typedef struct CipInput CIPINPUT |
CIP reading data
Definition at line 80 of file reader_cip.c.
enum CipSection |
Section of the in CIP files
Definition at line 51 of file reader_cip.c.
|
static |
get next input line; this are all characters until the next semicolon
scip | SCIP data structure |
cipinput | CIP parsing data |
Definition at line 89 of file reader_cip.c.
References BMSclearMemoryArray, CIP_CONSTRAINTS, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), SCIPerrorMessage, SCIPfgets(), SCIPreallocBufferArray, and TRUE.
Referenced by SCIP_DECL_READERREAD().
read the problem name out of the statistics
scip | SCIP data structure |
cipinput | CIP parsing data |
Definition at line 175 of file reader_cip.c.
References CIP_STATISTIC, SCIPerrorMessage, and TRUE.
Referenced by SCIP_DECL_READERREAD().
|
static |
read the problem name out of the statistics
scip | SCIP data structure |
cipinput | CIP parsing data |
Definition at line 200 of file reader_cip.c.
References CIP_OBJECTIVE, SCIP_CALL, SCIP_OKAY, SCIPdebugMsg, SCIPsetProbName(), and SCIPwarningMessage().
Referenced by SCIP_DECL_READERREAD().
|
static |
read objective sense, offset, and scale
scip | SCIP data structure |
cipinput | CIP parsing data |
objscale | buffer where to multiply with objective scale |
objoffset | buffer where to add with objective offset |
Definition at line 252 of file reader_cip.c.
References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_OBJECTIVE, CIP_VARS, SCIP_CALL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPsetObjsense(), SCIPstrToRealValue(), and SCIPwarningMessage().
Referenced by SCIP_DECL_READERREAD().
|
static |
read variable
scip | SCIP data structure |
cipinput | CIP parsing data |
initial | should var's column be present in the initial root LP? |
removable | is var's column removable from the LP (due to aging or cleanup)? |
objscale | objective scale |
Definition at line 386 of file reader_cip.c.
References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_VARS, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddVar(), SCIPchgVarObj(), SCIPdebug, SCIPdebugMsg, SCIPerrorMessage, SCIPparseVar(), SCIPprintVar(), SCIPreleaseVar(), SCIPvarGetObj(), and TRUE.
Referenced by SCIP_DECL_READERREAD().
|
static |
read fixed variable
scip | SCIP data structure |
cipinput | CIP parsing data |
Definition at line 439 of file reader_cip.c.
References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, FALSE, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPcreateConsLinear(), SCIPdebug, SCIPdebugMsg, SCIPdebugPrintCons, SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseVar(), SCIPparseVarName(), SCIPparseVarsLinearsum(), SCIPprintVar(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPstrToRealValue(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPwarningMessage(), and TRUE.
Referenced by SCIP_DECL_READERREAD().
|
static |
read constraint
scip | SCIP data structure |
cipinput | CIP parsing data |
initial | should the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'. |
dynamic | Is constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints. |
removable | should the relaxation be removed from the LP due to aging or cleanup? Usually set to FALSE. Set to TRUE for 'lazy constraints' and 'user cuts'. |
Definition at line 632 of file reader_cip.c.
References CIP_END, FALSE, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseCons(), SCIPreleaseCons(), and TRUE.
Referenced by SCIP_DECL_READERREAD().
|
static |
copy method for reader plugins (called when SCIP copies plugins)
Definition at line 722 of file reader_cip.c.
References READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludeReaderCip(), and SCIPreaderGetName().
|
static |
destructor of reader to free user data (called when SCIP is exiting)
Definition at line 736 of file reader_cip.c.
References READER_NAME, SCIP_OKAY, SCIPfreeBlockMemory, SCIPreaderGetData(), and SCIPreaderGetName().
|
static |
problem reading method of reader
Definition at line 751 of file reader_cip.c.
References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_OBJECTIVE, CIP_START, CIP_STATISTIC, CIP_VARS, FALSE, getConstraint(), getFixedVariable(), getInputString(), getObjective(), getStart(), getStatistics(), getVariable(), SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_NOFILE, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_SUCCESS, SCIP_VARTYPE_CONTINUOUS, SCIPABORT, SCIPaddVar(), SCIPallocBufferArray, SCIPcreateProb(), SCIPcreateVar(), SCIPdebugMsg, SCIPerrorMessage, SCIPfclose(), SCIPfopen(), SCIPfreeBufferArray, SCIPgetBoolParam(), SCIPisZero(), SCIPprintSysError(), SCIPreleaseVar(), and TRUE.
|
static |
hash key retrieval function for variables
Definition at line 886 of file reader_cip.c.
|
static |
returns TRUE iff the indices of both variables are equal
Definition at line 893 of file reader_cip.c.
|
static |
returns the hash value of the key
Definition at line 902 of file reader_cip.c.
References SCIPvarGetIndex().
|
static |
problem writing method of reader
Definition at line 910 of file reader_cip.c.
References READER_NAME, SCIP_CALL, SCIP_ERROR, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_SUCCESS, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPblkmem(), SCIPdebugMsg, SCIPerrorMessage, SCIPflattenVarAggregationGraph(), SCIPhashtableCreate(), SCIPhashtableExists(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPinfoMessage(), SCIPisEQ(), SCIPisZero(), SCIPprintCons(), SCIPprintVar(), SCIPreaderGetData(), SCIPreaderGetName(), SCIPvarGetAggrVar(), SCIPvarGetMultaggrNVars(), SCIPvarGetMultaggrVars(), SCIPvarGetNegatedVar(), SCIPvarGetNegationVar(), and SCIPvarGetStatus().