Detailed Description
methods for IIS finders
Definition in file iisfinder.c.
#include <assert.h>#include "scip/set.h"#include "scip/clock.h"#include "scip/misc.h"#include "scip/paramset.h"#include "scip/scip.h"#include "scip/cons_linear.h"#include "scip/iisfinder.h"#include "scip/iisfinder_greedy.h"#include "scip/struct_iisfinder.h"Go to the source code of this file.
Function Documentation
◆ SCIP_DECL_PARAMCHGD()
|
static |
method to call, when the priority of an IIS finder was changed
Definition at line 48 of file iisfinder.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPparamGetData(), SCIPparamGetInt(), and SCIPsetIISfinderPriority().
◆ createSubscipIIS()
|
static |
internal method for creating the subscip that will hold the IIS
- Parameters
-
set global SCIP settings iis pointer to store IIS timelim timelimit nodelim nodelimit
Definition at line 63 of file iisfinder.c.
References SCIP_IIS::conssmap, FALSE, SCIP_IIS::iistime, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIPblkmem(), SCIPchgVarObj(), SCIPclockGetTime(), SCIPcopyOrig(), SCIPcopyParamSettings(), SCIPcreate(), SCIPdebugMsg, SCIPgetNOrigConss(), SCIPgetNOrigVars(), SCIPgetOrigVars(), SCIPhashmapCreate(), SCIPiisReset(), SCIPsetBoolParam(), SCIPsetIntParam(), SCIPsetLongintParam(), SCIPsetRealParam(), SCIPsetSubscipsOff(), SCIP_IIS::subscip, TRUE, and SCIP_IIS::varsmap.
Referenced by SCIPiisGenerate().
◆ checkTrivialInfeas()
|
static |
checks the problem for trivial infeasibility reasons, e.g. contradicting bounds
- Parameters
-
scip pointer to SCIP trivial pointer to store whether the problem is trivially infeasible
Definition at line 132 of file iisfinder.c.
References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetHdlr(), SCIPconsGetLhs(), SCIPconsGetRhs(), SCIPconshdlrGetName(), SCIPdelCons(), SCIPgetConss(), SCIPgetNConss(), SCIPgetNOrigVars(), SCIPgetNVarsLinear(), SCIPgetOrigVars(), SCIPgetValsLinear(), SCIPgetVarsLinear(), SCIPisGT(), SCIPisInfinity(), SCIPisSumLT(), SCIPvarGetLbOriginal(), SCIPvarGetUbOriginal(), and TRUE.
Referenced by SCIPiisGenerate().
◆ doIISfinderCreate()
|
static |
internal method for creating an IIS finder
- Parameters
-
iisfinder pointer to store IIS finder set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings name name of IIS finder desc description of IIS finder priority priority of the IIS finder iisfinderdata IIS finder data
Definition at line 238 of file iisfinder.c.
References BMSallocClearBlockMemory, BMSduplicateBlockMemoryArray, FALSE, NULL, paramname, SCIP_ALLOC, SCIP_CALL, SCIP_CLOCKTYPE_DEFAULT, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPclockCreate(), SCIPsetAddIntParam(), and SCIPsnprintf().
Referenced by SCIPiisfinderCreate().
◆ 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
-
iisfinder pointer to store IIS finder set global SCIP settings messagehdlr message handler blkmem block memory for parameter settings name name of IIS finder desc description of IIS finder priority priority of the IIS finder in standard mode iisfinderdata IIS finder data
Definition at line 285 of file iisfinder.c.
References doIISfinderCreate(), NULL, SCIP_CALL_FINALLY, SCIP_OKAY, and SCIPiisfinderFree().
Referenced by SCIPincludeIISfinder(), and SCIPincludeIISfinderBasic().
◆ SCIPiisGenerate()
| SCIP_RETCODE SCIPiisGenerate | ( | SCIP_SET * | set | ) |
calls IIS finder generation method
- Parameters
-
set global SCIP settings
Definition at line 321 of file iisfinder.c.
References checkTrivialInfeas(), createSubscipIIS(), FALSE, SCIP_IISfinder::iisfindertime, SCIP_IIS::iistime, SCIP_IIS::infeasible, SCIP_IIS::irreducible, SCIP_IISfinder::name, SCIP_IIS::nnodes, NULL, 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(), SCIP_IIS::subscip, and TRUE.
Referenced by SCIPgenerateIIS().
◆ SCIPiisfinderCopyInclude()
| SCIP_RETCODE SCIPiisfinderCopyInclude | ( | SCIP_IISFINDER * | iisfinder, |
| SCIP_SET * | set | ||
| ) |
copies the given IIS finder to a new scip
- Parameters
-
iisfinder IIS finder set SCIP_SET of SCIP to copy to
Definition at line 577 of file iisfinder.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIPiisfinderGetName(), and SCIPsetDebugMsg.
Referenced by SCIPsetCopyPlugins().
◆ SCIPiisfinderFree()
| SCIP_RETCODE SCIPiisfinderFree | ( | SCIP_IISFINDER ** | iisfinder, |
| SCIP_SET * | set, | ||
| BMS_BLKMEM * | blkmem | ||
| ) |
frees memory of IIS finder
- Parameters
-
iisfinder IIS finder set global SCIP settings blkmem block memory
Definition at line 595 of file iisfinder.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, NULL, SCIP_CALL, SCIP_OKAY, and SCIPclockFree().
Referenced by SCIPiisfinderCreate().
◆ SCIPiisfinderEnableOrDisableClocks()
| void SCIPiisfinderEnableOrDisableClocks | ( | SCIP_IISFINDER * | iisfinder, |
| SCIP_Bool | enable | ||
| ) |
enables or disables all clocks of iisfinder, depending on the value of the flag
- Parameters
-
iisfinder the IIS finder for which all clocks should be enabled or disabled enable should the clocks of the IIS be enabled?
Definition at line 656 of file iisfinder.c.
References SCIP_IISfinder::iisfindertime, NULL, and SCIPclockEnableOrDisable().
◆ SCIPiisfinderSetCopy()
| void SCIPiisfinderSetCopy | ( | SCIP_IISFINDER * | iisfinder, |
| SCIP_DECL_IISFINDERCOPY((*iisfindercopy)) | |||
| ) |
sets copy method of IIS finder
- Parameters
-
iisfinder IIS finder
Definition at line 667 of file iisfinder.c.
References NULL.
Referenced by SCIPsetIISfinderCopy().
◆ SCIPiisfinderSetFree()
| void SCIPiisfinderSetFree | ( | SCIP_IISFINDER * | iisfinder, |
| SCIP_DECL_IISFINDERFREE((*iisfinderfree)) | |||
| ) |
sets destructor method of IIS finder
- Parameters
-
iisfinder IIS finder
Definition at line 678 of file iisfinder.c.
References NULL.
Referenced by SCIPsetIISfinderFree().
◆ SCIPiisfinderSetPriority()
| void SCIPiisfinderSetPriority | ( | SCIP_IISFINDER * | iisfinder, |
| SCIP_SET * | set, | ||
| int | priority | ||
| ) |
sets priority of IIS finder
- Parameters
-
iisfinder IIS finder set global SCIP settings priority new priority of the IIS finder
Definition at line 689 of file iisfinder.c.
References 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
-
iis pointer to return the created IIS set global SCIP settings blkmem block memory
Definition at line 749 of file iisfinder.c.
References 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
-
iis pointer to the IIS blkmem block memory
Definition at line 774 of file iisfinder.c.
References 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
-
iis pointer to the IIS
Definition at line 816 of file iisfinder.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockReset(), SCIPfree(), and SCIPhashmapFree().
Referenced by createSubscipIIS(), and SCIPiisGenerate().