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
iisfinderdataIIS finder data

Definition at line 288 of file iisfinder.c.

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

Referenced by 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 683 of file iisfinder.c.

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

◆ 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 324 of file iisfinder.c.

References assert(), checkTrivialInfeas(), 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, SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPconsGetHdlr(), SCIPconsGetNUses(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPdelCons(), SCIPdelVar(), SCIPfreeTransform(), SCIPgetBoolParam(), SCIPgetIIS(), SCIPgetLongintParam(), SCIPgetNOrigConss(), SCIPgetNOrigVars(), SCIPgetNTotalNodes(), SCIPgetNVarsLinear(), SCIPgetOrigConss(), SCIPgetOrigVars(), SCIPgetRealParam(), SCIPgetStage(), SCIPgetStatus(), SCIPgetVarsLinear(), SCIPiisfinderInfoMessage(), SCIPiisGetNNodes(), SCIPiisGetTime(), SCIPiisGreedyMakeIrreducible(), SCIPiisReset(), SCIPiisSetSubscipIrreducible(), SCIPinfoMessage(), SCIPisInfinity(), SCIPsetSortIISfinders(), SCIPsolve(), SCIPvarGetLbOriginal(), SCIPvarGetNUses(), SCIPvarGetUbOriginal(), SCIPvarIsDeletable(), SCIP_IIS::subscip, TRUE, and vars.

Referenced by SCIPgenerateIIS().

◆ 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 604 of file iisfinder.c.

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

Referenced by 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 694 of file iisfinder.c.

References assert(), NULL, and SCIP_DECL_IISFINDERCOPY.

Referenced by 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 622 of file iisfinder.c.

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

Referenced by SCIPiisfinderCreate().

◆ SCIPiisfinderSetFree()

void SCIPiisfinderSetFree ( SCIP_IISFINDER * iisfinder)

sets destructor method of IIS finder

Parameters
iisfinderIIS finder destructor of IIS finder

Definition at line 705 of file iisfinder.c.

References assert(), NULL, and SCIP_DECL_IISFINDERFREE.

Referenced by 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 716 of file iisfinder.c.

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

Referenced by 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 776 of file iisfinder.c.

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

Referenced by doScipCreate().

◆ SCIPiisFree()

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

releases an IIS

Parameters
iispointer to the IIS
blkmemblock memory

Definition at line 801 of file iisfinder.c.

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

Referenced by SCIPfree().

◆ 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 843 of file iisfinder.c.

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

Referenced by createSubscipIIS(), and SCIPiisGenerate().