Detailed Descriptiongateextraction presolver Definition in file presol_gateextraction.c. #include <assert.h> #include <string.h> #include "scip/presol_gateextraction.h" #include "scip/cons_setppc.h" #include "scip/cons_logicor.h" #include "scip/cons_and.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 32 of file presol_gateextraction.c.
Definition at line 33 of file presol_gateextraction.c.
priority of the presolver (>= 0: before, < 0: after constraint handlers); combined with propagators Definition at line 34 of file presol_gateextraction.c.
maximal number of presolving rounds the presolver participates in (-1: no limit) Definition at line 35 of file presol_gateextraction.c.
Definition at line 36 of file presol_gateextraction.c.
minimal size of hash table in logicor constraint tables Definition at line 38 of file presol_gateextraction.c. Referenced by presoldataInitHashtables().
minimal size of hash table in setppc constraint tables Definition at line 39 of file presol_gateextraction.c. Referenced by presoldataInitHashtables().
should only set-partitioning constraints be extracted and no and-constraints Definition at line 41 of file presol_gateextraction.c.
should we try to extract set-partitioning constraint out of one logicor and one corresponding set-packing constraint Definition at line 42 of file presol_gateextraction.c.
order logicor contraints to extract big-gates before smaller ones (-1), do not order them (0) or order them to extract smaller gates at first (1) Definition at line 47 of file presol_gateextraction.c.
Definition at line 1266 of file presol_gateextraction.c. Typedef DocumentationDefinition at line 93 of file presol_gateextraction.c. Function Documentation
returns TRUE iff both keys are equal; two constraints are equal if they have the same pointer Definition at line 137 of file presol_gateextraction.c.
returns the hash value of the key Definition at line 179 of file presol_gateextraction.c.
returns TRUE iff both keys are equal; two constraints are equal if they have the same pointer Definition at line 198 of file presol_gateextraction.c.
returns the hash value of the key Definition at line 243 of file presol_gateextraction.c.
initialize gateextraction presolver data
Definition at line 267 of file presol_gateextraction.c.
initialize gateextraction hashtables
Definition at line 293 of file presol_gateextraction.c. References createPresoldata(), FALSE, HASHSIZE_LOGICORCONS, HASHSIZE_SETPPCCONS, NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), and SCIPhashtableCreate().
create useful set-packing information by adding new set-packing constraints with two variables
Definition at line 327 of file presol_gateextraction.c. References cleanupHashDatas(), MAX, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_SETPPCTYPE_PACKING, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPallocBlockMemoryArray, SCIPallocBufferArray, SCIPcaptureCons(), SCIPcaptureVar(), SCIPconsIsActive(), SCIPconsIsModifiable(), SCIPduplicateBlockMemoryArray, SCIPfreeBlockMemoryArray, SCIPfreeBufferArray, SCIPgetBinvarRepresentative(), SCIPgetNVarsLogicor(), SCIPgetNVarsSetppc(), SCIPgetTypeSetppc(), SCIPgetVarsSetppc(), SCIPhashtableInsert(), SCIPvarGetIndex(), SCIPvarGetStatus(), and TRUE. Referenced by correctPresoldata(), and presoldataInitHashtables().
remove old setppchashdatas objects, so that the allocated memory will stay low
Definition at line 477 of file presol_gateextraction.c. References correctPresoldata(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_SETPPCTYPE_PACKING, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPfreeBlockMemoryArray, SCIPgetBinvarRepresentative(), SCIPgetNVarsSetppc(), SCIPgetTypeSetppc(), SCIPhashtableExists(), SCIPhashtableInsert(), SCIPhashtableRemove(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPvarGetStatus(), TRUE, and HashData::vars. Referenced by correctPresoldata(), and createPresoldata().
refresh useful set-packing information, delete redundant constraints and add new constraints
Definition at line 579 of file presol_gateextraction.c. References cleanupHashDatas(), createPresoldata(), extractGates(), NULL, SCIP_Bool, SCIP_CALL, SCIP_NOMEMORY, SCIP_OKAY, SCIP_SETPPCTYPE_PACKING, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_MULTAGGR, SCIPcalcMemGrowSize(), SCIPcaptureCons(), SCIPcaptureVar(), SCIPconsIsActive(), SCIPconsIsModifiable(), SCIPduplicateBlockMemoryArray, SCIPfreeBlockMemoryArray, SCIPgetBinvarRepresentative(), SCIPgetNVarsLogicor(), SCIPgetNVarsSetppc(), SCIPgetTypeSetppc(), SCIPgetVarsSetppc(), SCIPhashtableExists(), SCIPhashtableInsert(), SCIPhashtableRemove(), SCIPhashtableRemoveAll(), SCIPreallocBlockMemoryArray, SCIPreleaseCons(), SCIPvarGetIndex(), SCIPvarGetStatus(), and TRUE. Referenced by cleanupHashDatas().
extract and-constraints and set-partitioning constraints
Definition at line 796 of file presol_gateextraction.c. References HashData::cons, NULL, HashData::nvars, SCIP_Bool, SCIP_CALL, SCIP_DECL_PRESOLCOPY(), SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsAnd(), SCIPcreateConsSetpart(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfreeBufferArray, SCIPgetBinvarRepresentative(), SCIPgetNegatedVar(), SCIPgetNVarsLogicor(), SCIPgetVarsLogicor(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPhashtableRemove(), SCIPhashtableRetrieve(), SCIPreleaseCons(), SCIPsnprintf(), SCIPsortPtr(), SCIPvarCompare(), SCIPvarGetIndex(), SCIPvarGetLbLocal(), SCIPvarGetNegatedVar(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SCIPvarIsNegated(), and HashData::vars. Referenced by correctPresoldata().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 1131 of file presol_gateextraction.c. Referenced by extractGates().
destructor of presolver to free user data (called when SCIP is exiting) Definition at line 1146 of file presol_gateextraction.c.
deinitialization method of presolver (called before transformed problem is freed) Definition at line 1173 of file presol_gateextraction.c.
presolving initialization method of presolver (called when presolving is about to begin) Definition at line 1252 of file presol_gateextraction.c. References SCIP_OKAY.
presolving deinitialization method of presolver (called after presolving has been finished) Definition at line 1260 of file presol_gateextraction.c.
execution method of presolver Definition at line 1270 of file presol_gateextraction.c.
creates the gateextraction presolver and includes it in SCIP
Definition at line 1790 of file presol_gateextraction.c. Referenced by SCIPincludeDefaultPlugins(). |