Detailed Description
CIP file reader.
Definition in file reader_cip.c.
#include "blockmemshell/memory.h"
#include <ctype.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"
#include <string.h>
#include <strings.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 50 of file reader_cip.c.
Referenced by SCIP_DECL_READERCOPY(), SCIP_DECL_READERFREE(), SCIP_DECL_READERWRITE(), and SCIPincludeReaderCip().
◆ READER_DESC
#define READER_DESC "file reader for CIP (Constraint Integer Program) format" |
Definition at line 51 of file reader_cip.c.
Referenced by SCIPincludeReaderCip().
◆ READER_EXTENSION
#define READER_EXTENSION "cip" |
Definition at line 52 of file reader_cip.c.
Referenced by SCIPincludeReaderCip().
◆ DEFAULT_CIP_WRITEFIXEDVARS
#define DEFAULT_CIP_WRITEFIXEDVARS TRUE |
Should fixed and aggregated variables be written when writing?
Definition at line 54 of file reader_cip.c.
Referenced by SCIPincludeReaderCip().
Typedef Documentation
◆ CIPSECTION
typedef enum CipSection CIPSECTION |
Section of the in CIP files
Definition at line 75 of file reader_cip.c.
◆ CIPINPUT
typedef struct CipInput CIPINPUT |
CIP reading data
Definition at line 94 of file reader_cip.c.
Enumeration Type Documentation
◆ CipSection
enum CipSection |
Section of the in CIP files
Definition at line 65 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 103 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 189 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 216 of file reader_cip.c.
References CIP_OBJECTIVE, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMsg, SCIPsetProbName(), 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 268 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(), 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 402 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 455 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(), 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 648 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 738 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 752 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 767 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 901 of file reader_cip.c.
◆ SCIP_DECL_HASHKEYEQ()
|
static |
returns TRUE iff the indices of both variables are equal
Definition at line 908 of file reader_cip.c.
◆ SCIP_DECL_HASHKEYVAL()
|
static |
returns the hash value of the key
Definition at line 917 of file reader_cip.c.
References SCIPvarGetIndex().
◆ SCIP_DECL_READERWRITE()
|
static |
problem writing method of reader
Definition at line 925 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().