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 success whether the created subscip is complete
Definition at line 63 of file iisfinder.c.
References SCIP_IIS::conssmap, FALSE, SCIP_IIS::iistime, NULL, SCIP_CALL, 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 135 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 241 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 288 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 324 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(), SCIPvarIsDeletable(), 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 604 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 622 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 683 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 694 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 705 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 716 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 776 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 801 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 843 of file iisfinder.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPclockReset(), SCIPfree(), and SCIPhashmapFree().
Referenced by createSubscipIIS(), and SCIPiisGenerate().