Scippy

    SCIP

    Solving Constraint Integer Programs

    Detailed Description

    methods for irreducible infeasible subsystems (IIS) finders

    Functions

    const char * SCIPiisfinderGetName (SCIP_IISFINDER *iisfinder)
     
    SCIP_IISFINDERDATASCIPiisfinderGetData (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_RANDNUMGENSCIPiisGetRandnumgen (SCIP_IIS *iis)
     
    SCIPSCIPiisGetSubscip (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_IISFINDERSCIPfindIISfinder (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_IISSCIPgetIIS (SCIP *scip)
     

    Function Documentation

    ◆ SCIPiisfinderGetName()

    const char * SCIPiisfinderGetName ( SCIP_IISFINDER iisfinder)

    gets name of IIS finder

    Parameters
    iisfinderIIS finder

    Definition at line 311 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 625 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 567 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 646 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 635 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 703 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 713 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 852 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 862 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 872 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 882 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 892 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 902 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 912 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 922 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 940 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.

    Gets the IIS.

    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().