All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
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. Referenced by SCIP_DECL_PRESOLCOPY(), SCIP_DECL_PRESOLEXEC(), and SCIPincludePresolGateextraction().
Definition at line 33 of file presol_gateextraction.c. Referenced by SCIPincludePresolGateextraction().
priority of the presolver (>= 0: before, < 0: after constraint handlers); combined with propagators Definition at line 34 of file presol_gateextraction.c. Referenced by SCIPincludePresolGateextraction().
maximal number of presolving rounds the presolver participates in (-1: no limit) Definition at line 35 of file presol_gateextraction.c. Referenced by SCIPincludePresolGateextraction().
should presolver be delayed, if other presolvers found reductions? Definition at line 36 of file presol_gateextraction.c. Referenced by SCIPincludePresolGateextraction().
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. Referenced by SCIPincludePresolGateextraction().
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. Referenced by SCIPincludePresolGateextraction().
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 45 of file presol_gateextraction.c. Referenced by SCIPincludePresolGateextraction().
Definition at line 1262 of file presol_gateextraction.c. Referenced by SCIP_DECL_PRESOLEXEC(). Typedef DocumentationDefinition at line 89 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 133 of file presol_gateextraction.c. References HashData::cons, FALSE, NULL, HashData::nvars, SCIPvarCompare(), TRUE, and HashData::vars.
returns the hash value of the key Definition at line 175 of file presol_gateextraction.c. References NULL, HashData::nvars, SCIPvarGetIndex(), and HashData::vars.
returns TRUE iff both keys are equal; two constraints are equal if they have the same pointer Definition at line 194 of file presol_gateextraction.c. References HashData::cons, FALSE, NULL, HashData::nvars, SCIPvarCompare(), TRUE, and HashData::vars.
returns the hash value of the key Definition at line 239 of file presol_gateextraction.c. References NULL, HashData::nvars, SCIPvarGetIndex(), and HashData::vars.
initialize gateextraction presolver data
Definition at line 263 of file presol_gateextraction.c. Referenced by SCIPincludePresolGateextraction().
initialize gateextraction hashtables
Definition at line 289 of file presol_gateextraction.c. References FALSE, HASHSIZE_LOGICORCONS, HASHSIZE_SETPPCCONS, NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), and SCIPhashtableCreate(). Referenced by SCIP_DECL_PRESOLEXEC().
create useful set-packing information by adding new set-packing constraints with two variables
Definition at line 323 of file presol_gateextraction.c. References 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 SCIP_DECL_PRESOLEXEC().
remove old setppchashdatas objects, so that the allocated memory will stay low
Definition at line 473 of file presol_gateextraction.c. References 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(), and TRUE. Referenced by correctPresoldata(), and SCIP_DECL_PRESOLEXEC().
refresh useful set-packing information, delete redundant constraints and add new constraints
Definition at line 575 of file presol_gateextraction.c. References cleanupHashDatas(), createPresoldata(), 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 SCIP_DECL_PRESOLEXEC().
extract and-constraints and set-partitioning constraints
Definition at line 792 of file presol_gateextraction.c. References HashData::cons, NULL, HashData::nvars, SCIP_Bool, SCIP_CALL, 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 SCIP_DECL_PRESOLEXEC().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 1127 of file presol_gateextraction.c. References NULL, PRESOL_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludePresolGateextraction(), and SCIPpresolGetName().
destructor of presolver to free user data (called when SCIP is exiting) Definition at line 1142 of file presol_gateextraction.c. References NULL, SCIP_OKAY, SCIPfreeMemory, SCIPhashtableFree(), SCIPpresolGetData(), and SCIPpresolSetData().
deinitialization method of presolver (called before transformed problem is freed) Definition at line 1169 of file presol_gateextraction.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArray, SCIPhashtableExists(), SCIPhashtableRemove(), SCIPhashtableRemoveAll(), SCIPpresolGetData(), SCIPreleaseCons(), and SCIPreleaseVar().
presolving initialization method of presolver (called when presolving is about to begin) Definition at line 1248 of file presol_gateextraction.c. References SCIP_OKAY.
presolving deinitialization method of presolver (called after presolving has been finished) Definition at line 1256 of file presol_gateextraction.c. References SCIP_OKAY.
execution method of presolver Definition at line 1266 of file presol_gateextraction.c. References cleanupHashDatas(), HashData::cons, correctPresoldata(), createPresoldata(), extractGates(), FALSE, HASHTABLESIZE_FACTOR, MAX, NULL, HashData::nvars, PRESOL_NAME, presoldataInitHashtables(), SCIP_Bool, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_SETPPCTYPE_COVERING, SCIP_SETPPCTYPE_PACKING, SCIP_SETPPCTYPE_PARTITIONING, SCIPaddCons(), SCIPallocBlockMemoryArray, SCIPallocBuffer, SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcaptureCons(), SCIPconsGetHdlr(), SCIPconshdlrGetConss(), SCIPconshdlrGetNActiveConss(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsSetpart(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPduplicateBlockMemoryArray, SCIPduplicateBufferArray, SCIPfindConshdlr(), SCIPfreeBlockMemoryArray, SCIPfreeBuffer, SCIPfreeBufferArray, SCIPgetBinvarRepresentative(), SCIPgetBoolParam(), SCIPgetCapacityKnapsack(), SCIPgetNBinVars(), SCIPgetNImplVars(), SCIPgetNVarsKnapsack(), SCIPgetNVarsLogicor(), SCIPgetNVarsSetppc(), SCIPgetTypeSetppc(), SCIPgetVarsKnapsack(), SCIPgetVarsLogicor(), SCIPgetVarsSetppc(), SCIPgetWeightsKnapsack(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPhashtableCreate(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPhashtableRetrieve(), SCIPisParamFixed(), SCIPisStopped(), SCIPpresolGetData(), SCIPpresolGetName(), SCIPreleaseCons(), SCIPsetBoolParam(), SCIPsetConsChecked(), SCIPsetConsDynamic(), SCIPsetConsEnforced(), SCIPsetConsInitial(), SCIPsetConsLocal(), SCIPsetConsModifiable(), SCIPsetConsPropagated(), SCIPsetConsRemovable(), SCIPsetConsSeparated(), SCIPsetConsStickingAtNode(), SCIPsnprintf(), SCIPsortDownIntPtr(), SCIPsortIntPtr(), SCIPsortPtr(), SCIPunfixParam(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), SCIPwarningMessage(), TRUE, and HashData::vars.
creates the gateextraction presolver and includes it in SCIP
Definition at line 1786 of file presol_gateextraction.c. References DEFAULT_ONLYSETPART, DEFAULT_SEARCHEQUATIONS, DEFAULT_SORTING, NULL, PRESOL_DELAY, PRESOL_DESC, PRESOL_MAXROUNDS, PRESOL_NAME, PRESOL_PRIORITY, presoldataInit(), SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPaddIntParam(), SCIPallocMemory, SCIPincludePresolBasic(), SCIPsetPresolCopy(), SCIPsetPresolExit(), SCIPsetPresolExitpre(), SCIPsetPresolFree(), SCIPsetPresolInitpre(), and TRUE. Referenced by SCIP_DECL_PRESOLCOPY(), and SCIPincludeDefaultPlugins(). |