SCIP

    Solving Constraint Integer Programs

    Infeasibility Analysis

    Detailed Description

    functions for analyzing infeasibility of a model (IIS, MinUC), see also How to deduce reasons for infeasibility in SCIP

    Functions

    SCIP_RETCODE SCIPtransformMinUC (SCIP *scip, SCIP_Bool *success)
     
    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_CONS * SCIPiisGetSubscipCons (SCIP_IIS *iis, SCIP_CONS *cons)
     
    SCIP_VAR * SCIPiisGetSubscipVar (SCIP_IIS *iis, SCIP_VAR *var)
     
    SCIP_HASHMAP * SCIPiisGetVarsmap (SCIP_IIS *iis)
     
    SCIP_HASHMAP * SCIPiisGetConssmap (SCIP_IIS *iis)
     
    SCIP_RETCODE SCIPgenerateIIS (SCIP *scip)
     
    SCIP_IIS * SCIPgetIIS (SCIP *scip)
     

    Function Documentation

    ◆ SCIPtransformMinUC()

    ◆ 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 933 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 943 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 953 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 963 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 973 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 983 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 993 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 1003 of file iisfinder.c.

    References NULL, and SCIP_IIS::randnumgen.

    Referenced by additionFilterBatch(), and deletionFilterBatch().

    ◆ SCIPiisGetSubscip()

    SCIP * SCIPiisGetSubscip ( SCIP_IIS *  iis)

    ◆ SCIPiisGetSubscipCons()

    SCIP_CONS * SCIPiisGetSubscipCons ( SCIP_IIS *  iis,
    SCIP_CONS *  cons 
    )

    get the constraint in the IIS subscip corresponding to the given main constraint, or NULL if it was removed

    Parameters
    iispointer to the IIS
    consconstraint from the original model

    Definition at line 1022 of file iisfinder.c.

    References SCIP_IIS::conssmap, NULL, and SCIPhashmapGetImage().

    ◆ SCIPiisGetSubscipVar()

    SCIP_VAR * SCIPiisGetSubscipVar ( SCIP_IIS *  iis,
    SCIP_VAR *  var 
    )

    get the variable in the IIS subscip corresponding to the given main variable, or NULL if it became redundant

    get the variable in the IIS subscip corresponding to an original variable, or NULL if it does not exist

    Parameters
    iispointer to the IIS
    varvariable from the original model

    Definition at line 1033 of file iisfinder.c.

    References NULL, SCIPhashmapGetImage(), and SCIP_IIS::varsmap.

    ◆ SCIPiisGetVarsmap()

    SCIP_HASHMAP * SCIPiisGetVarsmap ( SCIP_IIS *  iis)

    get the varsmap of an IIS

    Parameters
    iispointer to the IIS

    Definition at line 1043 of file iisfinder.c.

    References NULL, and SCIP_IIS::varsmap.

    ◆ SCIPiisGetConssmap()

    SCIP_HASHMAP * SCIPiisGetConssmap ( SCIP_IIS *  iis)

    get the conssmap of an IIS

    Parameters
    iispointer to the IIS

    Definition at line 1052 of file iisfinder.c.

    References SCIP_IIS::conssmap, and NULL.

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

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