SCIP Doxygen Documentation
Loading...
Searching...
No Matches

Detailed Description

functions 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_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_RETCODE SCIPsetIISfinderFree (SCIP *scip, SCIP_IISFINDER *iisfinder,)
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)

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 assert(), SCIP_IISfinder::name, and NULL.

Referenced by SCIP_DECL_IISFINDERCOPY(), and SCIPiisfinderCopyInclude().

◆ SCIPiisfinderGetData()

SCIP_IISFINDERDATA * SCIPiisfinderGetData ( SCIP_IISFINDER * iisfinder)

◆ 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 assert(), 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 assert(), 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 assert(), SCIP_IISfinder::iisfinderdata, and NULL.

Referenced by SCIP_DECL_IISFINDERFREE(), and 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 assert(), SCIP_IISfinder::iisfindertime, NULL, SCIP_Real, 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 assert(), i, SCIP_IIS::infeasible, SCIP_IIS::niismessagecalls, NULL, nvars, SCIP_Bool, SCIPgetNOrigConss(), SCIPgetNOrigVars(), SCIPgetOrigVars(), SCIPiisGetNNodes(), SCIPiisGetSubscip(), SCIPiisGetTime(), SCIPinfoMessage(), SCIPisInfinity(), SCIPvarGetLbOriginal(), SCIPvarGetUbOriginal(), and vars.

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

◆ 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_DECL_IISFINDERCOPY, SCIP_DECL_IISFINDEREXEC, SCIP_DECL_IISFINDERFREE, 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 )

sets copy method of IIS finder

Parameters
scipSCIP data structure
iisfinderIIS finder copy method of IIS finder or NULL if you don't want to copy your plugin into sub-SCIPs

Definition at line 116 of file scip_iisfinder.c.

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

Referenced by SCIPincludeIISfinderGreedy().

◆ SCIPsetIISfinderFree()

SCIP_RETCODE SCIPsetIISfinderFree ( SCIP * scip,
SCIP_IISFINDER * iisfinder )

sets destructor method of IIS finder

Parameters
scipSCIP data structure
iisfinderIIS finder destructor of IIS finder

Definition at line 132 of file scip_iisfinder.c.

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

Referenced by SCIPincludeIISfinderGreedy().

◆ 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 assert(), 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 assert(), 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 assert(), and 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 assert(), NULL, SCIP_OKAY, and SCIPiisfinderSetPriority().

Referenced by SCIP_DECL_PARAMCHGD().