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