SCIP

    Solving Constraint Integer Programs

    Detailed Description

    functions for irreducible infeasible subsystems (IIS) finders

    Functions

    const char * SCIPiisfinderGetName (SCIP_IISFINDER *iisfinder)
     
    SCIP_IISFINDERDATA * SCIPiisfinderGetData (SCIP_IISFINDER *iisfinder)
     
    const char * SCIPiisfinderGetDesc (SCIP_IISFINDER *iisfinder)
     
    int SCIPiisfinderGetPriority (SCIP_IISFINDER *iisfinder)
     
    void SCIPiisfinderSetData (SCIP_IISFINDER *iisfinder, SCIP_IISFINDERDATA *iisfinderdata)
     
    SCIP_Real SCIPiisfinderGetTime (SCIP_IISFINDER *iisfinder)
     
    void SCIPiisfinderInfoMessage (SCIP_IIS *iis, SCIP_Bool printheaders)
     
    SCIP_Real SCIPiisGetTime (SCIP_IIS *iis)
     
    SCIP_Bool SCIPiisIsSubscipInfeasible (SCIP_IIS *iis)
     
    SCIP_Bool SCIPiisIsSubscipIrreducible (SCIP_IIS *iis)
     
    SCIP_Longint SCIPiisGetNNodes (SCIP_IIS *iis)
     
    void SCIPiisSetSubscipInfeasible (SCIP_IIS *iis, SCIP_Bool infeasible)
     
    void SCIPiisSetSubscipIrreducible (SCIP_IIS *iis, SCIP_Bool irreducible)
     
    void SCIPiisAddNNodes (SCIP_IIS *iis, SCIP_Longint nnodes)
     
    SCIP_RANDNUMGEN * SCIPiisGetRandnumgen (SCIP_IIS *iis)
     
    SCIP * SCIPiisGetSubscip (SCIP_IIS *iis)
     
     SCIP_DECL_SORTPTRCOMP (SCIPiisfinderComp)
     
    SCIP_RETCODE SCIPincludeIISfinder (SCIP *scip, const char *name, const char *desc, int priority, SCIP_DECL_IISFINDERCOPY((*iisfindercopy)), SCIP_DECL_IISFINDERFREE((*iisfinderfree)), SCIP_DECL_IISFINDEREXEC((*iisfinderexec)), SCIP_IISFINDERDATA *iisfinderdata)
     
    SCIP_RETCODE SCIPincludeIISfinderBasic (SCIP *scip, SCIP_IISFINDER **iisfinder, const char *name, const char *desc, int priority, SCIP_DECL_IISFINDEREXEC((*iisfinderexec)), SCIP_IISFINDERDATA *iisfinderdata)
     
    SCIP_RETCODE SCIPsetIISfinderCopy (SCIP *scip, SCIP_IISFINDER *iisfinder, SCIP_DECL_IISFINDERCOPY((*iisfindercopy)))
     
    SCIP_RETCODE SCIPsetIISfinderFree (SCIP *scip, SCIP_IISFINDER *iisfinder, SCIP_DECL_IISFINDERFREE((*iisfinderfree)))
     
    SCIP_RETCODE SCIPgenerateIIS (SCIP *scip)
     
    SCIP_IISFINDER * SCIPfindIISfinder (SCIP *scip, const char *name)
     
    SCIP_IISFINDER ** SCIPgetIISfinders (SCIP *scip)
     
    int SCIPgetNIISfinders (SCIP *scip)
     
    SCIP_RETCODE SCIPsetIISfinderPriority (SCIP *scip, SCIP_IISFINDER *iisfinder, int priority)
     
    SCIP_IIS * SCIPgetIIS (SCIP *scip)
     

    Function Documentation

    ◆ SCIPiisfinderGetName()

    const char * SCIPiisfinderGetName ( SCIP_IISFINDER *  iisfinder)

    gets name of IIS finder

    Parameters
    iisfinderIIS finder

    Definition at line 314 of file iisfinder.c.

    References SCIP_IISfinder::name, and NULL.

    Referenced by SCIP_DECL_IISFINDERCOPY(), and SCIPiisfinderCopyInclude().

    ◆ SCIPiisfinderGetData()

    SCIP_IISFINDERDATA * SCIPiisfinderGetData ( SCIP_IISFINDER *  iisfinder)

    gets user data of IIS finder

    Parameters
    iisfinderIIS finder

    Definition at line 652 of file iisfinder.c.

    References SCIP_IISfinder::iisfinderdata, and NULL.

    Referenced by SCIP_DECL_IISFINDERCOPY(), SCIP_DECL_IISFINDEREXEC(), SCIP_DECL_IISFINDERFREE(), SCIPfindObjIISfinder(), and SCIPgetObjIISfinder().

    ◆ SCIPiisfinderGetDesc()

    const char * SCIPiisfinderGetDesc ( SCIP_IISFINDER *  iisfinder)

    gets description of IIS finder

    gets description of the IIS finder

    Parameters
    iisfinderIIS finder

    Definition at line 594 of file iisfinder.c.

    References SCIP_IISfinder::desc, and NULL.

    ◆ SCIPiisfinderGetPriority()

    int SCIPiisfinderGetPriority ( SCIP_IISFINDER *  iisfinder)

    gets priority of IIS finder

    Parameters
    iisfinderIIS finder

    Definition at line 673 of file iisfinder.c.

    References NULL, and SCIP_IISfinder::priority.

    ◆ SCIPiisfinderSetData()

    void SCIPiisfinderSetData ( SCIP_IISFINDER *  iisfinder,
    SCIP_IISFINDERDATA *  iisfinderdata 
    )

    sets user data of IIS finder; user has to free old data in advance!

    Parameters
    iisfinderIIS finder
    iisfinderdatanew IIS finder user data

    Definition at line 662 of file iisfinder.c.

    References SCIP_IISfinder::iisfinderdata, and NULL.

    Referenced by SCIP_DECL_IISFINDERFREE().

    ◆ SCIPiisfinderGetTime()

    SCIP_Real SCIPiisfinderGetTime ( SCIP_IISFINDER *  iisfinder)

    gets time in seconds used in this IIS finder

    Parameters
    iisfinderIIS finder

    Definition at line 730 of file iisfinder.c.

    References SCIP_IISfinder::iisfindertime, NULL, and SCIPclockGetTime().

    ◆ SCIPiisfinderInfoMessage()

    void SCIPiisfinderInfoMessage ( SCIP_IIS *  iis,
    SCIP_Bool  printheaders 
    )

    prints output line during IIS calculations

    Parameters
    iispointer to the IIS
    printheaderswhether the headers should be printed instead of the info

    Definition at line 740 of file iisfinder.c.

    References SCIP_IIS::infeasible, SCIP_IIS::niismessagecalls, NULL, SCIPgetNOrigConss(), SCIPgetNOrigVars(), SCIPgetOrigVars(), SCIPiisGetNNodes(), SCIPiisGetSubscip(), SCIPiisGetTime(), SCIPinfoMessage(), SCIPisInfinity(), SCIPvarGetLbOriginal(), and SCIPvarGetUbOriginal().

    Referenced by additionFilterBatch(), deletionFilterBatch(), and SCIPiisGenerate().

    ◆ SCIPiisGetTime()

    SCIP_Real SCIPiisGetTime ( SCIP_IIS *  iis)

    gets time in seconds used in the IIS calculations

    gets time in seconds used in the IIS

    Parameters
    iisIIS

    Definition at line 879 of file iisfinder.c.

    References SCIP_IIS::iistime, NULL, and SCIPclockGetTime().

    Referenced by additionFilterBatch(), deletionFilterBatch(), execIISfinderGreedy(), SCIPiisfinderInfoMessage(), SCIPiisGenerate(), SCIPiisGreedyMakeIrreducible(), and setLimits().

    ◆ SCIPiisIsSubscipInfeasible()

    SCIP_Bool SCIPiisIsSubscipInfeasible ( SCIP_IIS *  iis)

    Gets whether the IIS subscip is currently infeasible.

    Parameters
    iisIIS data structure

    Definition at line 889 of file iisfinder.c.

    References SCIP_IIS::infeasible, and NULL.

    Referenced by additionFilterBatch(), deletionFilterBatch(), and SCIPiisGreedyMakeIrreducible().

    ◆ SCIPiisIsSubscipIrreducible()

    SCIP_Bool SCIPiisIsSubscipIrreducible ( SCIP_IIS *  iis)

    Gets whether the IIS subscip is irreducible.

    Parameters
    iisIIS data structure

    Definition at line 899 of file iisfinder.c.

    References SCIP_IIS::irreducible, and NULL.

    ◆ SCIPiisGetNNodes()

    SCIP_Longint SCIPiisGetNNodes ( SCIP_IIS *  iis)

    Gets the number of nodes in the IIS solve.

    Parameters
    iisIIS data structure

    Definition at line 909 of file iisfinder.c.

    References SCIP_IIS::nnodes, and NULL.

    Referenced by additionFilterBatch(), deletionFilterBatch(), execIISfinderGreedy(), SCIPiisfinderInfoMessage(), SCIPiisGenerate(), SCIPiisGreedyMakeIrreducible(), and setLimits().

    ◆ SCIPiisSetSubscipInfeasible()

    void SCIPiisSetSubscipInfeasible ( SCIP_IIS *  iis,
    SCIP_Bool  infeasible 
    )

    Sets the flag that states whether the IIS subscip is currently infeasible.

    Parameters
    iisIIS data structure
    infeasibleThe new infeasibility status of the IIS subscip

    Definition at line 919 of file iisfinder.c.

    References SCIP_IIS::infeasible, and NULL.

    Referenced by additionFilterBatch(), and deletionSubproblem().

    ◆ SCIPiisSetSubscipIrreducible()

    void SCIPiisSetSubscipIrreducible ( SCIP_IIS *  iis,
    SCIP_Bool  irreducible 
    )

    Sets the flag that states whether the IIS subscip is irreducible.

    Parameters
    iisIIS data structure
    irreducibleThe new irreducible status of the IIS

    Definition at line 929 of file iisfinder.c.

    References SCIP_IIS::irreducible, and NULL.

    Referenced by execIISfinderGreedy(), SCIPiisGenerate(), and SCIPiisGreedyMakeIrreducible().

    ◆ SCIPiisAddNNodes()

    void SCIPiisAddNNodes ( SCIP_IIS *  iis,
    SCIP_Longint  nnodes 
    )

    Increments the number of nodes in the IIS solve.

    Parameters
    iisIIS data structure
    nnodesThe number of nodes to add to the IIS

    Definition at line 939 of file iisfinder.c.

    References nnodes, SCIP_IIS::nnodes, and NULL.

    Referenced by additionSubproblem(), and deletionSubproblem().

    ◆ SCIPiisGetRandnumgen()

    SCIP_RANDNUMGEN * SCIPiisGetRandnumgen ( SCIP_IIS *  iis)

    get the randnumgen of the IIS

    Parameters
    iispointer to the IIS

    Definition at line 949 of file iisfinder.c.

    References NULL, and SCIP_IIS::randnumgen.

    Referenced by additionFilterBatch(), and deletionFilterBatch().

    ◆ SCIPiisGetSubscip()

    SCIP * SCIPiisGetSubscip ( SCIP_IIS *  iis)

    ◆ SCIP_DECL_SORTPTRCOMP()

    SCIP_DECL_SORTPTRCOMP ( SCIPiisfinderComp  )

    compares two IIS finders w. r. to their priority

    Definition at line 967 of file iisfinder.c.

    ◆ SCIPincludeIISfinder()

    SCIP_RETCODE SCIPincludeIISfinder ( SCIP *  scip,
    const char *  name,
    const char *  desc,
    int  priority,
    SCIP_DECL_IISFINDERCOPY((*iisfindercopy))  ,
    SCIP_DECL_IISFINDERFREE((*iisfinderfree))  ,
    SCIP_DECL_IISFINDEREXEC((*iisfinderexec))  ,
    SCIP_IISFINDERDATA *  iisfinderdata 
    )

    creates an IIS finder and includes it in SCIP

    Note
    this method has all IIS finder callbacks as arguments and is thus changed every time a new callback is added in future releases; consider using SCIPincludeIISfinderBasic() and setter functions if you seek for a method which is less likely to change in future releases
    Parameters
    scipSCIP data structure
    namename of IIS finder
    descdescription of IIS finder
    prioritypriority of the IIS finder
    iisfinderdataIIS finder data

    Definition at line 48 of file scip_iisfinder.c.

    References FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPfindIISfinder(), SCIPiisfinderCreate(), SCIPsetIncludeIISfinder(), and TRUE.

    Referenced by SCIPincludeObjIISfinder().

    ◆ SCIPincludeIISfinderBasic()

    SCIP_RETCODE SCIPincludeIISfinderBasic ( SCIP *  scip,
    SCIP_IISFINDER **  iisfinder,
    const char *  name,
    const char *  desc,
    int  priority,
    SCIP_DECL_IISFINDEREXEC((*iisfinderexec))  ,
    SCIP_IISFINDERDATA *  iisfinderdata 
    )

    Creates an IIS finder and includes it in SCIP with its most fundamental callbacks.

    All non-fundamental (or optional) callbacks as, e.g., copy and free callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetIISfinderCopy() and SCIPsetIISfinderFree(),

    Note
    if you want to set all callbacks with a single method call, consider using SCIPincludeIISfinder() instead

    Creates an IIS finder and includes it in SCIP with its most fundamental callbacks.

    All non-fundamental (or optional) callbacks as, e.g., copy and free callbacks, will be set to NULL. Optional callbacks can be set via specific setter functions, see SCIPsetIISfinderCopy(), and SCIPsetIISfinderFree()

    Note
    if you want to set all callbacks with a single method call, consider using SCIPincludeIISfinder() instead
    Parameters
    scipSCIP data structure
    iisfinderreference to an IIS finder, or NULL
    namename of IIS finder
    descdescription of IIS finder
    prioritypriority of the IIS finder in standard mode
    iisfinderdataIIS finder data

    Definition at line 84 of file scip_iisfinder.c.

    References FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcheckStage, SCIPerrorMessage, SCIPfindIISfinder(), SCIPiisfinderCreate(), SCIPsetIncludeIISfinder(), and TRUE.

    Referenced by SCIPincludeIISfinderGreedy().

    ◆ SCIPsetIISfinderCopy()

    SCIP_RETCODE SCIPsetIISfinderCopy ( SCIP *  scip,
    SCIP_IISFINDER *  iisfinder,
    SCIP_DECL_IISFINDERCOPY((*iisfindercopy))   
    )

    sets copy method of IIS finder

    Parameters
    scipSCIP data structure
    iisfinderIIS finder

    Definition at line 116 of file scip_iisfinder.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPiisfinderSetCopy(), and TRUE.

    Referenced by SCIPincludeIISfinderGreedy().

    ◆ SCIPsetIISfinderFree()

    SCIP_RETCODE SCIPsetIISfinderFree ( SCIP *  scip,
    SCIP_IISFINDER *  iisfinder,
    SCIP_DECL_IISFINDERFREE((*iisfinderfree))   
    )

    sets destructor method of IIS finder

    Parameters
    scipSCIP data structure
    iisfinderIIS finder

    Definition at line 132 of file scip_iisfinder.c.

    References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPiisfinderSetFree(), and TRUE.

    Referenced by SCIPincludeIISfinderGreedy().

    ◆ SCIPgenerateIIS()

    SCIP_RETCODE SCIPgenerateIIS ( SCIP *  scip)

    the execution method that iterates over the IIS finder plugins

    Parameters
    scipSCIP data structure

    Definition at line 148 of file scip_iisfinder.c.

    References NULL, SCIP_CALL, SCIP_OKAY, and SCIPiisGenerate().

    Referenced by SCIP_DECL_DIALOGEXEC().

    ◆ SCIPfindIISfinder()

    SCIP_IISFINDER * SCIPfindIISfinder ( SCIP *  scip,
    const char *  name 
    )

    returns the IIS finder of the given name, or NULL if not existing

    Parameters
    scipSCIP data structure
    namename of the IIS finder

    Definition at line 159 of file scip_iisfinder.c.

    References NULL, and SCIPsetFindIISfinder().

    Referenced by SCIPfindObjIISfinder(), SCIPincludeIISfinder(), and SCIPincludeIISfinderBasic().

    ◆ SCIPgetIISfinders()

    SCIP_IISFINDER ** SCIPgetIISfinders ( SCIP *  scip)

    returns the array of currently available IIS finders

    Parameters
    scipSCIP data structure

    Definition at line 172 of file scip_iisfinder.c.

    References NULL, and SCIPsetSortIISfinders().

    ◆ SCIPgetNIISfinders()

    int SCIPgetNIISfinders ( SCIP *  scip)

    returns the number of currently available IIS finders

    Parameters
    scipSCIP data structure

    Definition at line 185 of file scip_iisfinder.c.

    References NULL.

    ◆ SCIPsetIISfinderPriority()

    SCIP_RETCODE SCIPsetIISfinderPriority ( SCIP *  scip,
    SCIP_IISFINDER *  iisfinder,
    int  priority 
    )

    sets the priority of an IIS finder

    Parameters
    scipSCIP data structure
    iisfinderIIS finder
    prioritynew priority of the IIS finder

    Definition at line 196 of file scip_iisfinder.c.

    References NULL, SCIP_OKAY, and SCIPiisfinderSetPriority().

    Referenced by SCIP_DECL_PARAMCHGD().

    ◆ SCIPgetIIS()

    SCIP_IIS * SCIPgetIIS ( SCIP *  scip)

    Gets the IIS storage.

    Returns
    the SCIP_IIS iis storage.
    Precondition
    This method can be called if scip is in one of the following stages:

    See SCIP_STAGE for a complete list of all possible solving stages.

    Parameters
    scipSCIP data structure

    Definition at line 232 of file scip_iisfinder.c.

    References FALSE, SCIP_CALL_ABORT, SCIPcheckStage, and TRUE.

    Referenced by SCIP_DECL_DIALOGEXEC(), and SCIPiisGenerate().