Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    CIP file reader.

    Author
    Stefan Heinz
    Marc Pfetsch
    Michael Winkler

    Definition in file reader_cip.c.

    #include "blockmemshell/memory.h"
    #include "scip/rational.h"
    #include "scip/cons_linear.h"
    #include "scip/cons_exactlinear.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_exact.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)
     
    static SCIP_RETCODE getVariable (SCIP *scip, CIPINPUT *cipinput, SCIP_Bool initial, SCIP_Bool removable)
     
    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 57 of file reader_cip.c.

    ◆ READER_DESC

    #define READER_DESC   "file reader for CIP (Constraint Integer Program) format"

    Definition at line 58 of file reader_cip.c.

    ◆ READER_EXTENSION

    #define READER_EXTENSION   "cip"

    Definition at line 59 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 61 of file reader_cip.c.

    Typedef Documentation

    ◆ CIPSECTION

    typedef enum CipSection CIPSECTION

    Section of the in CIP files

    Definition at line 82 of file reader_cip.c.

    ◆ CIPINPUT

    typedef struct CipInput CIPINPUT

    CIP reading data

    Definition at line 105 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 72 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 114 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()

    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 200 of file reader_cip.c.

    References 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 227 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 
    )
    static

    ◆ getVariable()

    static SCIP_RETCODE getVariable ( SCIP scip,
    CIPINPUT cipinput,
    SCIP_Bool  initial,
    SCIP_Bool  removable 
    )
    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)?

    Definition at line 428 of file reader_cip.c.

    References CIP_CONSTRAINTS, CIP_END, CIP_FIXEDVARS, CIP_VARS, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddVar(), SCIPbuffer(), SCIPchgVarObj(), SCIPchgVarObjExact(), SCIPdebug, SCIPdebugMsg, SCIPerrorMessage, SCIPparseVar(), SCIPprintVar(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsEQReal(), SCIPrationalMult(), SCIPreleaseVar(), SCIPvarGetObj(), SCIPvarGetObjExact(), and TRUE.

    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 780 of file reader_cip.c.

    References CIP_END, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPdebugMsg, SCIPdebugPrintCons, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseCons(), SCIPreleaseCons(), separate(), 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 870 of file reader_cip.c.

    References 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 884 of file reader_cip.c.

    References 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 1037 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 1044 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 1053 of file reader_cip.c.

    References SCIPvarGetIndex().

    ◆ SCIP_DECL_READERWRITE()