SCIP Doxygen Documentation
Loading...
Searching...
No Matches
iisfinder.h File Reference

Detailed Description

internal methods for IIS finder

Author
Mark Turner

Definition in file iisfinder.h.

#include "scip/def.h"
#include "blockmemshell/memory.h"
#include "scip/type_retcode.h"
#include "scip/type_set.h"
#include "scip/pub_iisfinder.h"
#include "scip/lp.h"

Go to the source code of this file.

Functions

SCIP_RETCODE SCIPiisfinderCreate (SCIP_IISFINDER **iisfinder, SCIP_SET *set, SCIP_MESSAGEHDLR *messagehdlr, BMS_BLKMEM *blkmem, const char *name, const char *desc, int priority, SCIP_DECL_IISFINDERCOPY((*iisfindercopy)), SCIP_DECL_IISFINDERFREE((*iisfinderfree)), SCIP_DECL_IISFINDEREXEC((*iisfinderexec)), SCIP_IISFINDERDATA *iisfinderdata)
void SCIPiisfinderEnableOrDisableClocks (SCIP_IISFINDER *iisfinder, SCIP_Bool enable)
SCIP_RETCODE SCIPiisGenerate (SCIP_SET *set)
SCIP_RETCODE SCIPiisfinderCopyInclude (SCIP_IISFINDER *iisfinder, SCIP_SET *set)
void SCIPiisfinderSetCopy (SCIP_IISFINDER *iisfinder,)
SCIP_RETCODE SCIPiisfinderFree (SCIP_IISFINDER **iisfinder, SCIP_SET *set, BMS_BLKMEM *blkmem)
void SCIPiisfinderSetFree (SCIP_IISFINDER *iisfinder,)
void SCIPiisfinderSetPriority (SCIP_IISFINDER *iisfinder, SCIP_SET *set, int priority)
SCIP_RETCODE SCIPiisCreate (SCIP_IIS **iis, SCIP_SET *set, BMS_BLKMEM *blkmem)
SCIP_RETCODE SCIPiisFree (SCIP_IIS **iis, BMS_BLKMEM *blkmem)
SCIP_RETCODE SCIPiisReset (SCIP_IIS **iis)

Function Documentation

◆ SCIPiisfinderCreate()

SCIP_RETCODE SCIPiisfinderCreate ( SCIP_IISFINDER ** iisfinder,
SCIP_SET * set,
SCIP_MESSAGEHDLR * messagehdlr,
BMS_BLKMEM * blkmem,
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

Parameters
iisfinderpointer to store IIS finder
setglobal SCIP settings
messagehdlrmessage handler
blkmemblock memory for parameter settings
namename of IIS finder
descdescription of IIS finder
prioritypriority of the IIS finder in standard mode
-copy method of IIS finder or NULL if you don't want to copy your plugin into sub-SCIPs
-destructor of IIS finder
-IIS finder execution method
iisfinderdataIIS finder data

Definition at line 289 of file iisfinder.c.

References assert(), doIISfinderCreate(), NULL, SCIP_CALL_FINALLY, SCIP_DECL_IISFINDERCOPY, SCIP_DECL_IISFINDEREXEC, SCIP_DECL_IISFINDERFREE, SCIP_OKAY, SCIPiisfinderCreate(), and SCIPiisfinderFree().

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

◆ SCIPiisfinderEnableOrDisableClocks()

void SCIPiisfinderEnableOrDisableClocks ( SCIP_IISFINDER * iisfinder,
SCIP_Bool enable )

enables or disables all clocks of iisfinder, depending on the value of the flag

Parameters
iisfinderthe IIS finder for which all clocks should be enabled or disabled
enableshould the clocks of the IIS be enabled?

Definition at line 737 of file iisfinder.c.

References assert(), SCIP_IISfinder::iisfindertime, NULL, SCIP_Bool, SCIPclockEnableOrDisable(), and SCIPiisfinderEnableOrDisableClocks().

Referenced by SCIPiisfinderEnableOrDisableClocks().

◆ SCIPiisGenerate()

SCIP_RETCODE SCIPiisGenerate ( SCIP_SET * set)

calls the IIS finder generation method

calls IIS finder generation method

Parameters
setglobal SCIP settings

Definition at line 325 of file iisfinder.c.

References assert(), checkTrivialInfeas(), SCIP_IIS::conssmap, createSubscipIIS(), FALSE, i, SCIP_IISfinder::iisfindertime, SCIP_IIS::iistime, SCIP_IIS::infeasible, SCIP_IIS::irreducible, SCIP_IISfinder::name, SCIP_IIS::nnodes, NULL, nvars, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PROBLEM, SCIP_STAGE_SOLVED, SCIP_STATUS_BESTSOLLIMIT, SCIP_STATUS_DUALLIMIT, SCIP_STATUS_GAPLIMIT, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_INFORUNBD, SCIP_STATUS_MEMLIMIT, SCIP_STATUS_NODELIMIT, SCIP_STATUS_OPTIMAL, SCIP_STATUS_PRIMALLIMIT, SCIP_STATUS_RESTARTLIMIT, SCIP_STATUS_SOLLIMIT, SCIP_STATUS_STALLNODELIMIT, SCIP_STATUS_TERMINATE, SCIP_STATUS_TIMELIMIT, SCIP_STATUS_TOTALNODELIMIT, SCIP_STATUS_UNBOUNDED, SCIP_STATUS_UNKNOWN, SCIP_STATUS_USERINTERRUPT, SCIP_SUCCESS, SCIPblkmem(), SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPconsGetHdlr(), SCIPconsGetNUses(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPdelCons(), SCIPdelVar(), SCIPfreeTransform(), SCIPgetBoolParam(), SCIPgetIIS(), SCIPgetLongintParam(), SCIPgetNOrigConss(), SCIPgetNOrigVars(), SCIPgetNTotalNodes(), SCIPgetNVarsLinear(), SCIPgetOrigConss(), SCIPgetOrigVars(), SCIPgetRealParam(), SCIPgetStage(), SCIPgetStatus(), SCIPgetVarsLinear(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPhashmapRemoveAll(), SCIPiisfinderInfoMessage(), SCIPiisGenerate(), SCIPiisGetNNodes(), SCIPiisGetTime(), SCIPiisGreedyMakeIrreducible(), SCIPiisReset(), SCIPiisSetSubscipIrreducible(), SCIPinfoMessage(), SCIPisInfinity(), SCIPsetSortIISfinders(), SCIPsolve(), SCIPvarGetLbOriginal(), SCIPvarGetNegatedVar(), SCIPvarGetNUses(), SCIPvarGetUbOriginal(), SCIP_IIS::subscip, TRUE, vars, and SCIP_IIS::varsmap.

Referenced by SCIPgenerateIIS(), and SCIPiisGenerate().

◆ SCIPiisfinderCopyInclude()

SCIP_RETCODE SCIPiisfinderCopyInclude ( SCIP_IISFINDER * iisfinder,
SCIP_SET * set )

copies the given IIS finder to a new scip

Parameters
iisfinderIIS finder
setSCIP_SET of SCIP to copy to

Definition at line 658 of file iisfinder.c.

References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPiisfinderCopyInclude(), SCIPiisfinderGetName(), and SCIPsetDebugMsg.

Referenced by SCIPiisfinderCopyInclude(), and SCIPsetCopyPlugins().

◆ SCIPiisfinderSetCopy()

void SCIPiisfinderSetCopy ( SCIP_IISFINDER * iisfinder)

sets copy method of IIS finder

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

Definition at line 748 of file iisfinder.c.

References assert(), NULL, SCIP_DECL_IISFINDERCOPY, and SCIPiisfinderSetCopy().

Referenced by SCIPiisfinderSetCopy(), and SCIPsetIISfinderCopy().

◆ SCIPiisfinderFree()

SCIP_RETCODE SCIPiisfinderFree ( SCIP_IISFINDER ** iisfinder,
SCIP_SET * set,
BMS_BLKMEM * blkmem )

frees memory of IIS finder

Parameters
iisfinderIIS finder
setglobal SCIP settings
blkmemblock memory

Definition at line 676 of file iisfinder.c.

References assert(), BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockFree(), and SCIPiisfinderFree().

Referenced by SCIPiisfinderCreate(), and SCIPiisfinderFree().

◆ SCIPiisfinderSetFree()

void SCIPiisfinderSetFree ( SCIP_IISFINDER * iisfinder)

sets destructor method of IIS finder

Parameters
iisfinderIIS finder destructor of IIS finder

Definition at line 759 of file iisfinder.c.

References assert(), NULL, SCIP_DECL_IISFINDERFREE, and SCIPiisfinderSetFree().

Referenced by SCIPiisfinderSetFree(), and SCIPsetIISfinderFree().

◆ SCIPiisfinderSetPriority()

void SCIPiisfinderSetPriority ( SCIP_IISFINDER * iisfinder,
SCIP_SET * set,
int priority )

sets priority of IIS finder

Parameters
iisfinderIIS finder
setglobal SCIP settings
prioritynew priority of the IIS finder

Definition at line 770 of file iisfinder.c.

References assert(), FALSE, NULL, SCIP_IISfinder::priority, and SCIPiisfinderSetPriority().

Referenced by SCIPiisfinderSetPriority(), and SCIPsetIISfinderPriority().

◆ SCIPiisCreate()

SCIP_RETCODE SCIPiisCreate ( SCIP_IIS ** iis,
SCIP_SET * set,
BMS_BLKMEM * blkmem )

creates and captures a new IIS

Parameters
iispointer to return the created IIS
setglobal SCIP settings
blkmemblock memory

Definition at line 830 of file iisfinder.c.

References assert(), BMSallocBlockMemory, FALSE, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_OKAY, SCIPclockCreate(), SCIPiisCreate(), SCIPrandomCreate(), and SCIPsetInitializeRandomSeed().

Referenced by doScipCreate(), and SCIPiisCreate().

◆ SCIPiisFree()

SCIP_RETCODE SCIPiisFree ( SCIP_IIS ** iis,
BMS_BLKMEM * blkmem )

releases an IIS

Parameters
iispointer to the IIS
blkmemblock memory

Definition at line 855 of file iisfinder.c.

References assert(), BMSfreeBlockMemory, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockFree(), SCIPfree(), SCIPhashmapFree(), SCIPiisFree(), and SCIPrandomFree().

Referenced by SCIPfree(), and SCIPiisFree().

◆ SCIPiisReset()

SCIP_RETCODE SCIPiisReset ( SCIP_IIS ** iis)

reset an IIS (in case one exists from a previous solve)

Parameters
iispointer to the IIS

Definition at line 897 of file iisfinder.c.

References assert(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockReset(), SCIPfree(), SCIPhashmapFree(), and SCIPiisReset().

Referenced by createSubscipIIS(), SCIPiisGenerate(), and SCIPiisReset().