Detailed Description
CIP file reader.
Definition in file reader_cip.c.
#include "blockmemshell/memory.h"
#include "scip/cons_linear.h"
#include "scip/pub_fileio.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/pub_reader.h"
#include "scip/pub_var.h"
#include "scip/reader_cip.h"
#include "scip/scip_cons.h"
#include "scip/scip_mem.h"
#include "scip/scip_message.h"
#include "scip/scip_numerics.h"
#include "scip/scip_param.h"
#include "scip/scip_prob.h"
#include "scip/scip_reader.h"
#include "scip/scip_var.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) |
Macro Definition Documentation
◆ READER_NAME
#define READER_NAME "cipreader" |
Definition at line 54 of file reader_cip.c.
◆ READER_DESC
#define READER_DESC "file reader for CIP (Constraint Integer Program) format" |
Definition at line 55 of file reader_cip.c.
◆ READER_EXTENSION
#define READER_EXTENSION "cip" |
Definition at line 56 of file reader_cip.c.
◆ DEFAULT_CIP_WRITEFIXEDVARS
#define DEFAULT_CIP_WRITEFIXEDVARS TRUE |
Should fixed and aggregated variables be written when writing?
Definition at line 58 of file reader_cip.c.
Typedef Documentation
◆ CIPSECTION
typedef enum CipSection CIPSECTION |
Section of the in CIP files
Definition at line 79 of file reader_cip.c.
◆ CIPINPUT
typedef struct CipInput CIPINPUT |
CIP reading data
Definition at line 98 of file reader_cip.c.
Enumeration Type Documentation
◆ CipSection
enum CipSection |
Section of the in CIP files
Definition at line 69 of file reader_cip.c.
Function Documentation
◆ getInputString()
|
static |
get next input line; this are all characters until the next semicolon
- Parameters
-
scip SCIP data structure cipinput CIP parsing data
Definition at line 107 of file reader_cip.c.
References BMSclearMemoryArray, CIP_CONSTRAINTS, NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), SCIPerrorMessage, SCIPfgets(), SCIPreallocBufferArray, and TRUE.
Referenced by SCIP_DECL_READERREAD().
◆ getStart()
read the problem name out of the statistics
- Parameters
-
scip SCIP data structure cipinput CIP parsing data
Definition at line 193 of file reader_cip.c.
References CIP_STATISTIC, NULL, SCIPerrorMessage, and TRUE.
Referenced by SCIP_DECL_READERREAD().
◆ getStatistics()
|
static |
read the problem name out of the statistics
- Parameters
-
scip SCIP data structure cipinput CIP parsing data
Definition at line 220 of file reader_cip.c.
References CIP_OBJECTIVE, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMsg, SCIPsetProbName(), SCIPskipSpace(), and SCIPwarningMessage().
Referenced by SCIP_DECL_READERREAD().
◆ getObjective()
|
static |
read objective sense, offset, and scale
- Parameters
-
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 271 of file reader_cip.c.
References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_OBJECTIVE, CIP_VARS, NULL, SCIP_CALL, SCIP_OBJSENSE_MAXIMIZE, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIPdebugMsg, SCIPsetObjsense(), SCIPskipSpace(), SCIPstrncasecmp(), SCIPstrToRealValue(), and SCIPwarningMessage().
Referenced by SCIP_DECL_READERREAD().
◆ getVariable()
|
static |
read variable
- Parameters
-
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 401 of file reader_cip.c.
References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_VARS, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddVar(), SCIPchgVarObj(), SCIPdebug, SCIPdebugMsg, SCIPerrorMessage, SCIPparseVar(), SCIPprintVar(), SCIPreleaseVar(), SCIPvarGetObj(), and TRUE.
Referenced by SCIP_DECL_READERREAD().
◆ getFixedVariable()
|
static |
read fixed variable
- Parameters
-
scip SCIP data structure cipinput CIP parsing data
Definition at line 454 of file reader_cip.c.
References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, FALSE, NULL, 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(), SCIPskipSpace(), SCIPsnprintf(), SCIPstrToRealValue(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPwarningMessage(), and TRUE.
Referenced by SCIP_DECL_READERREAD().
◆ getConstraint()
|
static |
read constraint
- Parameters
-
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 647 of file reader_cip.c.
References CIP_END, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseCons(), SCIPreleaseCons(), and TRUE.
Referenced by SCIP_DECL_READERREAD().
◆ SCIP_DECL_READERCOPY()
|
static |
copy method for reader plugins (called when SCIP copies plugins)
Definition at line 737 of file reader_cip.c.
References NULL, READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludeReaderCip(), and SCIPreaderGetName().
◆ SCIP_DECL_READERFREE()
|
static |
destructor of reader to free user data (called when SCIP is exiting)
Definition at line 751 of file reader_cip.c.
References NULL, READER_NAME, SCIP_OKAY, SCIPfreeBlockMemory, SCIPreaderGetData(), and SCIPreaderGetName().
◆ SCIP_DECL_READERREAD()
|
static |
problem reading method of reader
Definition at line 766 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(), NULL, 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.
◆ SCIP_DECL_HASHGETKEY()
|
static |
hash key retrieval function for variables
Definition at line 900 of file reader_cip.c.
◆ SCIP_DECL_HASHKEYEQ()
|
static |
returns TRUE iff the indices of both variables are equal
Definition at line 907 of file reader_cip.c.
◆ SCIP_DECL_HASHKEYVAL()
|
static |
returns the hash value of the key
Definition at line 916 of file reader_cip.c.
References SCIPvarGetIndex().
◆ SCIP_DECL_READERWRITE()
|
static |
problem writing method of reader
Definition at line 924 of file reader_cip.c.
References NULL, 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().