Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    interface for input file readers

    Author
    Tobias Achterberg

    Definition in file reader.c.

    #include <assert.h>
    #include <string.h>
    #include <strings.h>
    #include <math.h>
    #include "scip/def.h"
    #include "blockmemshell/memory.h"
    #include "scip/set.h"
    #include "scip/clock.h"
    #include "scip/pub_misc.h"
    #include "scip/reader.h"
    #include "scip/prob.h"
    #include "scip/pub_var.h"
    #include "scip/var.h"
    #include "scip/pub_cons.h"
    #include "scip/cons.h"
    #include "scip/pub_message.h"
    #include "scip/struct_reader.h"
    #include "scip/scip_mem.h"

    Go to the source code of this file.

    Functions

    SCIP_RETCODE SCIPreaderCopyInclude (SCIP_READER *reader, SCIP_SET *set)
     
    static SCIP_RETCODE doReaderCreate (SCIP_READER **reader, const char *name, const char *desc, const char *extension, SCIP_DECL_READERCOPY((*readercopy)), SCIP_DECL_READERFREE((*readerfree)), SCIP_DECL_READERREAD((*readerread)), SCIP_DECL_READERWRITE((*readerwrite)), SCIP_READERDATA *readerdata)
     
    SCIP_RETCODE SCIPreaderCreate (SCIP_READER **reader, SCIP_SET *set, const char *name, const char *desc, const char *extension, SCIP_DECL_READERCOPY((*readercopy)), SCIP_DECL_READERFREE((*readerfree)), SCIP_DECL_READERREAD((*readerread)), SCIP_DECL_READERWRITE((*readerwrite)), SCIP_READERDATA *readerdata)
     
    SCIP_RETCODE SCIPreaderFree (SCIP_READER **reader, SCIP_SET *set)
     
    static SCIP_Bool readerIsApplicable (SCIP_READER *reader, const char *extension)
     
    SCIP_RETCODE SCIPreaderRead (SCIP_READER *reader, SCIP_SET *set, const char *filename, const char *extension, SCIP_RESULT *result)
     
    static void resetVarname (SCIP_VAR *var, SCIP_SET *set, const char *name)
     
    SCIP_RETCODE SCIPreaderWrite (SCIP_READER *reader, SCIP_PROB *prob, SCIP_SET *set, SCIP_MESSAGEHDLR *msghdlr, FILE *file, const char *filename, const char *format, SCIP_Bool genericnames, SCIP_RESULT *result)
     
    SCIP_READERDATASCIPreaderGetData (SCIP_READER *reader)
     
    void SCIPreaderSetData (SCIP_READER *reader, SCIP_READERDATA *readerdata)
     
    void SCIPreaderSetCopy (SCIP_READER *reader, SCIP_DECL_READERCOPY((*readercopy)))
     
    void SCIPreaderSetFree (SCIP_READER *reader, SCIP_DECL_READERFREE((*readerfree)))
     
    void SCIPreaderSetRead (SCIP_READER *reader, SCIP_DECL_READERREAD((*readerread)))
     
    void SCIPreaderSetWrite (SCIP_READER *reader, SCIP_DECL_READERWRITE((*readerwrite)))
     
    void SCIPreaderMarkExact (SCIP_READER *reader)
     
    const char * SCIPreaderGetName (SCIP_READER *reader)
     
    const char * SCIPreaderGetDesc (SCIP_READER *reader)
     
    const char * SCIPreaderGetExtension (SCIP_READER *reader)
     
    SCIP_Bool SCIPreaderCanRead (SCIP_READER *reader)
     
    SCIP_Bool SCIPreaderCanWrite (SCIP_READER *reader)
     
    SCIP_Real SCIPreaderGetReadingTime (SCIP_READER *reader)
     
    void SCIPreaderEnableOrDisableClocks (SCIP_READER *reader, SCIP_Bool enable)
     
    SCIP_RETCODE SCIPreaderResetReadingTime (SCIP_READER *reader)
     

    Function Documentation

    ◆ SCIPreaderCopyInclude()

    SCIP_RETCODE SCIPreaderCopyInclude ( SCIP_READER reader,
    SCIP_SET set 
    )

    copies the given reader to a new scip

    Parameters
    readerreader
    setSCIP_SET of SCIP to copy to

    Definition at line 57 of file reader.c.

    References NULL, SCIP_CALL, SCIP_OKAY, SCIPreaderGetName(), and SCIPsetDebugMsg.

    Referenced by SCIPsetCopyPlugins().

    ◆ doReaderCreate()

    static SCIP_RETCODE doReaderCreate ( SCIP_READER **  reader,
    const char *  name,
    const char *  desc,
    const char *  extension,
    SCIP_DECL_READERCOPY((*readercopy))  ,
    SCIP_DECL_READERFREE((*readerfree))  ,
    SCIP_DECL_READERREAD((*readerread))  ,
    SCIP_DECL_READERWRITE((*readerwrite))  ,
    SCIP_READERDATA readerdata 
    )
    static

    internal method to create a reader

    Parameters
    readerpointer to store reader
    namename of reader
    descdescription of reader
    extensionfile extension that reader processes
    readerdatareader data

    Definition at line 76 of file reader.c.

    References BMSallocMemory, BMSclearMemory, BMSduplicateMemoryArray, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, and SCIPclockCreate().

    Referenced by SCIPreaderCreate().

    ◆ SCIPreaderCreate()

    SCIP_RETCODE SCIPreaderCreate ( SCIP_READER **  reader,
    SCIP_SET set,
    const char *  name,
    const char *  desc,
    const char *  extension,
    SCIP_DECL_READERCOPY((*readercopy))  ,
    SCIP_DECL_READERFREE((*readerfree))  ,
    SCIP_DECL_READERREAD((*readerread))  ,
    SCIP_DECL_READERWRITE((*readerwrite))  ,
    SCIP_READERDATA readerdata 
    )

    creates a reader

    Parameters
    readerpointer to store reader
    setglobal SCIP settings
    namename of reader
    descdescription of reader
    extensionfile extension that reader processes
    readerdatareader data

    Definition at line 113 of file reader.c.

    References doReaderCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPreaderFree().

    Referenced by SCIPincludeReader(), and SCIPincludeReaderBasic().

    ◆ SCIPreaderFree()

    SCIP_RETCODE SCIPreaderFree ( SCIP_READER **  reader,
    SCIP_SET set 
    )

    frees memory of reader

    Parameters
    readerpointer to reader data structure
    setglobal SCIP settings

    Definition at line 139 of file reader.c.

    References BMSfreeMemory, BMSfreeMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().

    Referenced by SCIPreaderCreate().

    ◆ readerIsApplicable()

    static SCIP_Bool readerIsApplicable ( SCIP_READER reader,
    const char *  extension 
    )
    static

    returns TRUE, if reader is responsible for files with the given extension

    Parameters
    readerreader
    extensionextension of the input file name

    Definition at line 170 of file reader.c.

    References SCIP_Reader::extension, NULL, and SCIPstrcasecmp().

    Referenced by SCIPreaderRead(), and SCIPreaderWrite().

    ◆ SCIPreaderRead()

    SCIP_RETCODE SCIPreaderRead ( SCIP_READER reader,
    SCIP_SET set,
    const char *  filename,
    const char *  extension,
    SCIP_RESULT result 
    )

    reads problem data from file with given reader or returns SCIP_DIDNOTRUN

    Note
    we need temporary clock to measure the reading time correctly since in case of creating a new problem within the reader all clocks are reset (including the reader clocks); this resetting is necessary for example for those case we people solve several problems using the (same) interactive shell
    Parameters
    readerreader
    setglobal SCIP settings
    filenamename of the input file
    extensionextension of the input file name
    resultpointer to store the result of the callback method

    Definition at line 183 of file reader.c.

    References SCIP_Reader::exact, NULL, readerIsApplicable(), SCIP_Reader::readingtime, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_DIDNOTRUN, SCIP_NOFILE, SCIP_OKAY, SCIP_READERROR, SCIP_SUCCESS, SCIPclockCreate(), SCIPclockFree(), SCIPclockGetTime(), SCIPclockIsRunning(), SCIPclockSetTime(), SCIPclockStart(), SCIPclockStop(), SCIPerrorMessage, and SCIPreaderGetName().

    Referenced by SCIPreadProb().

    ◆ resetVarname()

    static void resetVarname ( SCIP_VAR var,
    SCIP_SET set,
    const char *  name 
    )
    static
    Parameters
    varvariable
    setglobal SCIP settings
    namevariable name

    Definition at line 256 of file reader.c.

    References NULL, SCIPsetFreeBufferArray, SCIPvarGetName(), and SCIPvarSetNamePointer().

    Referenced by SCIPreaderWrite().

    ◆ SCIPreaderWrite()

    SCIP_RETCODE SCIPreaderWrite ( SCIP_READER reader,
    SCIP_PROB prob,
    SCIP_SET set,
    SCIP_MESSAGEHDLR msghdlr,
    FILE *  file,
    const char *  filename,
    const char *  format,
    SCIP_Bool  genericnames,
    SCIP_RESULT result 
    )

    writes problem data to file with given reader or returns SCIP_DIDNOTRUN

    Parameters
    readerreader
    probproblem data
    setglobal SCIP settings
    msghdlrmessage handler
    fileoutput file (or NULL for standard output)
    filenamename of output file, or NULL if not available
    formatfile format
    genericnamesusing generic variable and constraint names?
    resultpointer to store the result of the callback method

    Definition at line 277 of file reader.c.

    References SCIP_Reader::exact, NULL, readerIsApplicable(), resetVarname(), SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OBJSENSE_MAXIMIZE, SCIP_OKAY, SCIP_READERROR, SCIP_Real, SCIP_WRITEERROR, SCIPbuffer(), SCIPconsGetName(), SCIPconshdlrGetConss(), SCIPconshdlrGetEnfoConss(), SCIPconshdlrGetName(), SCIPconshdlrGetNConss(), SCIPconshdlrGetNEnfoConss(), SCIPconsSetNamePointer(), SCIPerrorMessage, SCIPmessageFPrintWarning(), SCIPprobFindCons(), SCIPprobFindVar(), SCIPprobGetConss(), SCIPprobGetData(), SCIPprobGetFixedVars(), SCIPprobGetMaxNConss(), SCIPprobGetName(), SCIPprobGetNBinVars(), SCIPprobGetNConss(), SCIPprobGetNContVars(), SCIPprobGetNFixedVars(), SCIPprobGetNImplVars(), SCIPprobGetNIntVars(), SCIPprobGetNVars(), SCIPprobGetObjoffset(), SCIPprobGetObjoffsetExact(), SCIPprobGetObjscale(), SCIPprobGetObjscaleExact(), SCIPprobGetObjsense(), SCIPprobGetStartNConss(), SCIPprobGetStartNVars(), SCIPprobGetVars(), SCIPprobIsTransformed(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalMultReal(), SCIPrationalSetRational(), SCIPreaderGetName(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsnprintf(), SCIPvarGetName(), and SCIPvarSetNamePointer().

    Referenced by printProblem().

    ◆ SCIPreaderSetCopy()

    void SCIPreaderSetCopy ( SCIP_READER reader,
    SCIP_DECL_READERCOPY((*readercopy))   
    )

    sets copy method of reader

    Parameters
    readerreader

    Definition at line 626 of file reader.c.

    References NULL.

    Referenced by SCIPsetReaderCopy().

    ◆ SCIPreaderSetFree()

    void SCIPreaderSetFree ( SCIP_READER reader,
    SCIP_DECL_READERFREE((*readerfree))   
    )

    sets destructor of reader

    Parameters
    readerreader

    Definition at line 637 of file reader.c.

    References NULL.

    Referenced by SCIPsetReaderFree().

    ◆ SCIPreaderSetRead()

    void SCIPreaderSetRead ( SCIP_READER reader,
    SCIP_DECL_READERREAD((*readerread))   
    )

    sets read method of reader

    Parameters
    readerreader

    Definition at line 648 of file reader.c.

    References NULL.

    Referenced by SCIPsetReaderRead().

    ◆ SCIPreaderSetWrite()

    void SCIPreaderSetWrite ( SCIP_READER reader,
    SCIP_DECL_READERWRITE((*readerwrite))   
    )

    sets write method of reader

    Parameters
    readerreader

    Definition at line 659 of file reader.c.

    References NULL.

    Referenced by SCIPsetReaderWrite().

    ◆ SCIPreaderGetReadingTime()

    SCIP_Real SCIPreaderGetReadingTime ( SCIP_READER reader)

    gets time in seconds used in this reader for reading

    Parameters
    readerreader

    Definition at line 730 of file reader.c.

    References NULL, SCIP_Reader::readingtime, and SCIPclockGetTime().

    Referenced by SCIPgetReadingTime().

    ◆ SCIPreaderEnableOrDisableClocks()

    void SCIPreaderEnableOrDisableClocks ( SCIP_READER reader,
    SCIP_Bool  enable 
    )

    enables or disables all clocks of reader, depending on the value of the flag

    Parameters
    readerthe reader for which all clocks should be enabled or disabled
    enableshould the clocks be enabled?

    Definition at line 740 of file reader.c.

    References NULL, SCIP_Reader::readingtime, and SCIPclockEnableOrDisable().

    ◆ SCIPreaderResetReadingTime()

    SCIP_RETCODE SCIPreaderResetReadingTime ( SCIP_READER reader)

    resets reading time of reader

    Parameters
    readerreader

    Definition at line 751 of file reader.c.

    References NULL, SCIP_Reader::readingtime, SCIP_OKAY, and SCIPclockReset().

    Referenced by SCIPfreeProb().