SCIP Doxygen Documentation
 
Loading...
Searching...
No Matches

Detailed Description

CIP file reader.

Author
Stefan Heinz
Marc Pfetsch
Michael Winkler

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
 

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.

Referenced by SCIPincludeReaderCip().

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

Enumerator
CIP_START 

start tag

CIP_STATISTIC 

statistics section

CIP_OBJECTIVE 

objective

CIP_VARS 

list of (free) variables

CIP_FIXEDVARS 

list of fixed variables

CIP_CONSTRAINTS 

constraints

CIP_END 

end of file tag

Definition at line 69 of file reader_cip.c.

Function Documentation

◆ getInputString()

static SCIP_RETCODE getInputString ( SCIP * scip,
CIPINPUT * cipinput )
static

get next input line; this are all characters until the next semicolon

Parameters
scipSCIP data structure
cipinputCIP parsing data

Definition at line 107 of file reader_cip.c.

References assert(), BMSclearMemoryArray, CIP_CONSTRAINTS, NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), SCIPerrorMessage, SCIPfgets(), SCIPreallocBufferArray, and TRUE.

Referenced by SCIP_DECL_READERREAD().

◆ getStart()

static void getStart ( SCIP * scip,
CIPINPUT * cipinput )
static

read the problem name out of the statistics

Parameters
scipSCIP data structure
cipinputCIP parsing data

Definition at line 193 of file reader_cip.c.

References assert(), CIP_STATISTIC, NULL, SCIPerrorMessage, and TRUE.

Referenced by SCIP_DECL_READERREAD().

◆ getStatistics()

static SCIP_RETCODE getStatistics ( SCIP * scip,
CIPINPUT * cipinput )
static

read the problem name out of the statistics

Parameters
scipSCIP data structure
cipinputCIP 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 SCIP_RETCODE getObjective ( SCIP * scip,
CIPINPUT * cipinput,
SCIP_Real * objscale,
SCIP_Real * objoffset )
static

read objective sense, offset, and scale

Parameters
scipSCIP data structure
cipinputCIP parsing data
objscalebuffer where to multiply with objective scale
objoffsetbuffer where to add with objective offset

Definition at line 271 of file reader_cip.c.

References assert(), CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_OBJECTIVE, CIP_VARS, NULL, objscale, 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 SCIP_RETCODE getVariable ( SCIP * scip,
CIPINPUT * cipinput,
SCIP_Bool initial,
SCIP_Bool removable,
SCIP_Real objscale )
static

read variable

Parameters
scipSCIP data structure
cipinputCIP parsing data
initialshould var's column be present in the initial root LP?
removableis var's column removable from the LP (due to aging or cleanup)?
objscaleobjective scale

Definition at line 401 of file reader_cip.c.

References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_VARS, NULL, objscale, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddVar(), SCIPchgVarObj(), SCIPdebug, SCIPdebugMsg, SCIPerrorMessage, SCIPparseVar(), SCIPprintVar(), SCIPreleaseVar(), SCIPvarGetObj(), TRUE, and var.

Referenced by SCIP_DECL_READERREAD().

◆ getFixedVariable()

◆ getConstraint()

static SCIP_RETCODE getConstraint ( SCIP * scip,
CIPINPUT * cipinput,
SCIP_Bool initial,
SCIP_Bool dynamic,
SCIP_Bool removable )
static

read constraint

Parameters
scipSCIP data structure
cipinputCIP parsing data
initialshould the LP relaxation of constraint be in the initial LP? Usually set to TRUE. Set to FALSE for 'lazy constraints'.
dynamicIs constraint subject to aging? Usually set to FALSE. Set to TRUE for own cuts which are separated as constraints.
removableshould 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, propagate, 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 SCIP_DECL_READERCOPY ( readerCopyCip )
static

copy method for reader plugins (called when SCIP copies plugins)

Definition at line 737 of file reader_cip.c.

References assert(), NULL, READER_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludeReaderCip(), and SCIPreaderGetName().

◆ SCIP_DECL_READERFREE()

static SCIP_DECL_READERFREE ( readerFreeCip )
static

destructor of reader to free user data (called when SCIP is exiting)

Definition at line 751 of file reader_cip.c.

References assert(), NULL, READER_NAME, SCIP_OKAY, SCIPfreeBlockMemory, SCIPreaderGetData(), and SCIPreaderGetName().

◆ SCIP_DECL_READERREAD()

◆ SCIP_DECL_HASHGETKEY()

static SCIP_DECL_HASHGETKEY ( hashGetKeyVar )
static

hash key retrieval function for variables

Definition at line 900 of file reader_cip.c.

◆ SCIP_DECL_HASHKEYEQ()

static SCIP_DECL_HASHKEYEQ ( hashKeyEqVar )
static

returns TRUE iff the indices of both variables are equal

Definition at line 907 of file reader_cip.c.

References FALSE, and TRUE.

◆ SCIP_DECL_HASHKEYVAL()

static SCIP_DECL_HASHKEYVAL ( hashKeyValVar )
static

returns the hash value of the key

Definition at line 916 of file reader_cip.c.

References assert(), and SCIPvarGetIndex().

◆ SCIP_DECL_READERWRITE()