|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed DescriptionConstraint handler for logic or constraints Definition in file cons_logicor.c. #include <assert.h>#include <string.h>#include <limits.h>#include "scip/cons_logicor.h"#include "scip/cons_linear.h"#include "scip/cons_setppc.h"#include "scip/pub_misc.h"Go to the source code of this file.
Macro Definition Documentation
Definition at line 35 of file cons_logicor.c. Referenced by addCoef(), enforcePseudo(), processWatchedVars(), SCIPaddCoefLogicor(), SCIPcreateConsLogicor(), SCIPgetDualfarkasLogicor(), SCIPgetDualsolLogicor(), SCIPgetNVarsLogicor(), SCIPgetRowLogicor(), SCIPgetVarsLogicor(), SCIPincludeConshdlrLogicor(), and separateCons().
Definition at line 36 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
priority of the constraint handler for separation Definition at line 37 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
priority of the constraint handler for constraint enforcing Definition at line 38 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
priority of the constraint handler for checking feasibility Definition at line 39 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
frequency for separating cuts; zero means to separate only in the root node Definition at line 40 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 41 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only Definition at line 42 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 45 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should separation method be delayed, if other separators found cuts? Definition at line 46 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should propagation method be delayed, if other propagators found reductions? Definition at line 47 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should the constraint handler be skipped, if no constraints are available? Definition at line 48 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 50 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 51 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
priority of the constraint handler for upgrading of linear constraints Definition at line 53 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 55 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 56 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 58 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 59 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 60 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should pairwise constraint comparison be performed in presolving? Definition at line 62 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should pairwise constraint comparison try to strengthen constraints by removing superflous non-zeros? Definition at line 63 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
minimal size of hash table in logicor constraint tables Definition at line 65 of file cons_logicor.c. Referenced by detectRedundantConstraints().
should hash table be used for detecting redundant constraints in advance Definition at line 66 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should dual presolving steps be performed? Definition at line 67 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should negated clique information be used in presolving Definition at line 68 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
should we try to shrink the variables and derive global boundchanges by using cliques and implications Definition at line 69 of file cons_logicor.c. Referenced by SCIPincludeConshdlrLogicor().
Definition at line 75 of file cons_logicor.c. Referenced by processWatchedVars().
Definition at line 2821 of file cons_logicor.c. Referenced by removeRedundantConssAndNonzeros().
Definition at line 3070 of file cons_logicor.c. Referenced by shortenConss().
Definition at line 3262 of file cons_logicor.c. Referenced by removeConstraintsDueToNegCliques(). Function Documentation
installs rounding locks for the given variable in the given logic or constraint
Definition at line 144 of file cons_logicor.c. References FALSE, SCIP_CALL, SCIP_OKAY, SCIPlockVarCons(), and TRUE. Referenced by addCoef().
removes rounding locks for the given variable in the given logic or constraint
Definition at line 158 of file cons_logicor.c. References FALSE, SCIP_CALL, SCIP_OKAY, SCIPunlockVarCons(), and TRUE. Referenced by delCoefPos().
creates constraint handler data for logic or constraint handler
Definition at line 172 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, and SCIPallocMemory. Referenced by SCIPincludeConshdlrLogicor().
frees constraint handler data for logic or constraint handler
Definition at line 197 of file cons_logicor.c. References NULL, SCIP_OKAY, and SCIPfreeMemory.
ensures, that the vars array can store at least num entries
Definition at line 212 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), and SCIPreallocBlockMemoryArray. Referenced by addCoef().
creates a logic or constraint data object
Definition at line 236 of file cons_logicor.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPallocBlockMemory, SCIPcaptureVar(), SCIPduplicateBlockMemoryArray, SCIPgetTransformedVars(), SCIPisTransformed(), SCIPvarGetProbvar(), SCIPvarGetStatus(), and TRUE. Referenced by SCIPcreateConsLogicor().
frees a logic or constraint data
Definition at line 304 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArrayNull, SCIPreleaseRow(), and SCIPreleaseVar().
prints logic or constraint to file stream
Definition at line 335 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPinfoMessage(), SCIPwriteVarsList(), and TRUE. Referenced by applyFixings().
stores the given variable numbers as watched variables, and updates the event processing
Definition at line 361 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPcatchVarEvent(), SCIPconsGetData(), and SCIPdropVarEvent(). Referenced by delCoefPos(), and processWatchedVars().
adds coefficient in logicor constraint
Definition at line 432 of file cons_logicor.c. References consdataEnsureVarsSize(), CONSHDLR_NAME, FALSE, lockRounding(), NULL, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVING, SCIP_VARSTATUS_MULTAGGR, SCIPaddVarToRow(), SCIPcaptureVar(), SCIPcatchVarEvent(), SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPfindConshdlr(), SCIPgetStage(), SCIPgetTransformedVar(), SCIPvarGetProbvar(), SCIPvarGetStatus(), SCIPvarIsTransformed(), and TRUE. Referenced by applyFixings(), and SCIPaddCoefLogicor().
deletes coefficient at given position from logic or constraint data
Definition at line 502 of file cons_logicor.c. References FALSE, NULL, SCIP_CALL, SCIP_EVENTTYPE_VARFIXED, SCIP_OKAY, SCIP_STAGE_INITPRESOLVE, SCIP_STAGE_PRESOLVING, SCIPconsGetData(), SCIPconsIsTransformed(), SCIPdropVarEvent(), SCIPenableConsPropagation(), SCIPgetStage(), SCIPreleaseVar(), SCIPvarIsTransformed(), switchWatchedvars(), TRUE, and unlockRounding(). Referenced by applyFixings(), dualPresolving(), mergeMultiples(), removeConstraintsDueToNegCliques(), removeRedundantNonZeros(), and shortenConss().
in case a part (more than one variable) in the logic or constraint is independent of every else, we can perform dual reductions;
also added the special case were exactly one variable is locked by this constraint and another variable without any uplocks has a better objective value than this single variable
Note: the following dual reduction for logic or constraints is already performed by the presolver "dualfix"
Definition at line 584 of file cons_logicor.c. References delCoefPos(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdelCons(), SCIPfixVar(), SCIPinfinity(), SCIPisGE(), SCIPisLT(), SCIPisNegative(), SCIPvarGetAggregatedObj(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetObj(), SCIPvarGetProbvarBinary(), SCIPvarGetUbGlobal(), and SCIPvarIsActive().
deletes all zero-fixed variables, checks for variables fixed to one, replace all variables which are not active or not a negation of an active variable by there active or negation of an active counterpart
Definition at line 835 of file cons_logicor.c. References addCoef(), consdataPrint(), delCoefPos(), FALSE, MAX, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIP_VARSTATUS_NEGATED, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsAdded(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetBinvarRepresentatives(), SCIPgetProbvarLinearSum(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasEQ(), SCIPisZero(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetNegatedVar(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPwarningMessage(), and TRUE. Referenced by fixDeleteOrUpgradeCons(), and prepareCons().
analyzes conflicting assignment on given constraint, and adds conflict constraint to problem
Definition at line 1088 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), and SCIPisConflictAnalysisApplicable(). Referenced by processWatchedVars().
disables or deletes the given constraint, depending on the current depth
Definition at line 1118 of file cons_logicor.c. References SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPconsGetValidDepth(), SCIPdebugMessage, SCIPdelCons(), SCIPdisableCons(), and SCIPgetDepth(). Referenced by processWatchedVars().
find pairs of negated variables in constraint: constraint is redundant find sets of equal variables in constraint: multiple entries of variable can be replaced by single entry
Definition at line 1142 of file cons_logicor.c. References delCoefPos(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPfreeBufferArray, SCIPgetNBinVars(), SCIPgetNImplVars(), SCIPgetNIntVars(), SCIPvarGetName(), SCIPvarGetNegationVar(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarIsNegated(), and TRUE. Referenced by prepareCons().
checks constraint for violation only looking at the watched variables, applies fixings if possible
Definition at line 1291 of file cons_logicor.c. References AGEINCREASE, analyzeConflict(), CONSHDLR_NAME, disableCons(), FALSE, NULL, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_CALL, SCIP_Longint, SCIP_LONGINT_MAX, SCIP_OKAY, SCIPaddConsAge(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdisableConsPropagation(), SCIPgetDepth(), SCIPinferBinvarCons(), SCIPisFeasEQ(), SCIPresetConsAge(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNBranchingsCurrentRun(), SCIPvarGetUbLocal(), switchWatchedvars(), and TRUE. Referenced by enforcePseudo(), and separateCons().
checks constraint for violation, returns TRUE iff constraint is feasible
Definition at line 1509 of file cons_logicor.c. References FALSE, NULL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPgetSolVal(), SCIPisFeasGE(), SCIPisFeasLE(), SCIPisFeasLT(), and SCIPvarIsBinary(). Referenced by enforcePseudo(), and separateCons().
creates an LP row in a logic or constraint data object
Definition at line 1552 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPaddVarsToRowSameCoef(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsRemovable(), SCIPcreateEmptyRowCons(), and SCIPinfinity(). Referenced by addCut().
adds logic or constraint as cut to the LP
Definition at line 1573 of file cons_logicor.c. References createRow(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddCut(), SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, and SCIProwIsInLP(). Referenced by SCIP_DECL_CONSINITLP(), and separateCons().
checks constraint for violation, and adds it as a cut if possible
Definition at line 1607 of file cons_logicor.c. References addCut(), checkCons(), CONSHDLR_NAME, FALSE, NULL, processWatchedVars(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsPropagationEnabled(), SCIPdebugMessage, SCIPgetRowLPFeasibility(), SCIPisFeasNegative(), SCIPresetConsAge(), SCIProwIsInLP(), and TRUE.
enforces the pseudo solution on the given constraint
Definition at line 1684 of file cons_logicor.c. References checkCons(), CONSHDLR_NAME, FALSE, NULL, processWatchedVars(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPconsIsPropagationEnabled(), SCIPhasCurrentNodeLP(), SCIPresetConsAge(), and TRUE.
sorts logicor constraint's variables by non-decreasing variable index
Definition at line 1743 of file cons_logicor.c. References NULL, SCIP_Bool, SCIPsortedvecFindPtr(), SCIPsortPtr(), SCIPvarCompare(), and TRUE. Referenced by detectRedundantConstraints(), removeRedundantConssAndNonzeros(), and removeRedundantNonZeros().
gets the key of the given element Definition at line 1824 of file cons_logicor.c.
returns TRUE iff both keys are equal; two constraints are equal if they have the same variables Definition at line 1832 of file cons_logicor.c.
returns the hash value of the key Definition at line 1878 of file cons_logicor.c.
compares each constraint with all other constraints for a possible duplication and removes duplicates using a hash table; also
Definition at line 1905 of file cons_logicor.c. References consdataSort(), HASHSIZE_LOGICORCONS, MAX, NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcHashtableSize(), SCIPconsGetData(), SCIPconsGetPos(), SCIPconsIsActive(), SCIPconsIsModifiable(), SCIPdelCons(), SCIPhashtableCreate(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPhashtableRetrieve(), and SCIPupdateConsFlags().
removes the redundant second constraint and updates the flags of the first one
Definition at line 1993 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), and SCIPupdateConsFlags(). Referenced by removeRedundantConss().
compute and return a signature for given variables
Definition at line 2020 of file cons_logicor.c. References NULL, and SCIPvarGetIndex(). Referenced by consdataCalcSignature(), and removeRedundantNonZeros().
compute the constraint signature which is used to detect constraints, that contain potentially the same set of variables
Definition at line 2043 of file cons_logicor.c. References calcSignature(), and TRUE. Referenced by removeRedundantConssAndNonzeros(), and removeRedundantNonZeros().
remove a constraint from the column representation
Definition at line 2056 of file cons_logicor.c. References NULL, SCIPconsGetData(), SCIPconsIsActive(), SCIPhashmapExists(), and SCIPhashmapGetImage(). Referenced by removeRedundantConss(), and removeRedundantNonZeros().
determine shortest constraint list in column representation
Definition at line 2116 of file cons_logicor.c. References NULL, SCIPhashmapExists(), and SCIPhashmapGetImage(). Referenced by removeRedundantConss(), and removeRedundantNonZeros().
run a pairwise comparison for detecting subset-constraints of other constraint while using a signature
Definition at line 2171 of file cons_logicor.c. References findShortestOccurlist(), NULL, removeConsFromOccurList(), removeRedundantCons(), SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsModifiable(), and SCIPvarCompare(). Referenced by removeRedundantConssAndNonzeros().
compararer for sorting constraints after their number of variables Definition at line 2289 of file cons_logicor.c.
add a constraint to the column representation
Definition at line 2308 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcalcMemGrowSize(), SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPreallocBufferArray, SCIPvarGetNegatedVar(), SCIPvarGetNLocksDown(), and SCIPvarIsActive(). Referenced by removeRedundantConssAndNonzeros().
run a pairwise comparison for the given variables against all constraits to detect redundant non-zeros in these constraints
Definition at line 2407 of file cons_logicor.c. References calcSignature(), consdataCalcSignature(), consdataSort(), delCoefPos(), FALSE, findShortestOccurlist(), NULL, removeConsFromOccurList(), SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPupdateConsFlags(), SCIPvarCompare(), SCIPvarGetName(), SCIPvarGetNegatedVar(), and TRUE. Referenced by strengthenConss().
find and remove redundant non-zero entries
Definition at line 2650 of file cons_logicor.c. References NULL, removeRedundantNonZeros(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPhashmapExists(), and SCIPvarGetNegatedVar(). Referenced by removeRedundantConssAndNonzeros().
prepares a constraint by removing fixings and merge it
Definition at line 2741 of file cons_logicor.c. References applyFixings(), FALSE, mergeMultiples(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsDeleted(), SCIPdebugMessage, SCIPdelCons(), SCIPfixVar(), and TRUE. Referenced by removeConstraintsDueToNegCliques(), removeRedundantConssAndNonzeros(), and shortenConss().
find covered/subsumed constraints and redundant non-zero entries covered: e.g.: c1: x1 + x2 + x3 >= 1 c2: x1 + x2 + x3 + x4 >= 1 strengthen: e.g.: c1: x1 + x2 + x3 >= 1 c2: x1 + x2 + ~x3 + x4 >= 1 => c2: x1 + x2 + x4 >= 1
Definition at line 2838 of file cons_logicor.c. References addConsToOccurList(), BMSclearMemoryArray, consdataCalcSignature(), consdataSort(), FALSE, HASHTABLESIZE_FACTOR, NULL, prepareCons(), removeRedundantConss(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPgetNContVars(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPsortPtr(), strengthenConss(), and TRUE.
try to tighten constraints by reducing the number of variables in the constraints using implications and cliques, also derive fixations through them,
Definition at line 3076 of file cons_logicor.c. References BMSclearMemoryArray, delCoefPos(), FALSE, MAX_CONSLENGTH, NULL, prepareCons(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_NEGATED, SCIPallocBufferArray, SCIPallocCleanBufferArray, SCIPcleanupCliques(), SCIPconsGetData(), SCIPconsIsDeleted(), SCIPdebugMessage, SCIPdelCons(), SCIPfixVar(), SCIPfreeBufferArray, SCIPfreeCleanBufferArray, SCIPgetNCliques(), SCIPgetNContVars(), SCIPgetNImplications(), SCIPgetNVars(), SCIPshrinkDisjunctiveVarSet(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), SCIPvarIsActive(), and TRUE.
try to find a negated clique in a constraint which makes this constraint redundant but we need to keep the negated clique information alive, so we create a corresponding set-packing constraint
Definition at line 3268 of file cons_logicor.c. References BMScopyMemoryArray, delCoefPos(), FALSE, MAXCOMPARISONS, NULL, prepareCons(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsSetpack(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfreeBufferArray, SCIPgetNCliques(), SCIPgetNContVars(), SCIPgetNImplications(), SCIPgetNVars(), SCIPisStopped(), SCIPreleaseCons(), SCIPvarGetName(), SCIPvarGetNCliques(), SCIPvarGetNegatedVar(), SCIPvarGetNegationVar(), SCIPvarGetNImpls(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIPvarIsNegated(), SCIPvarsHaveCommonClique(), and TRUE.
handle all cases with less than three variables in a logicor constraint in case a constraint has zero variables left, we detected infeasibility in case a constraint has one variables left, we will fix it to one in case a constraint has two variables left, we will add the implication and upgrade it to a set-packing constraint
Definition at line 3541 of file cons_logicor.c. References applyFixings(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_MULTAGGR, SCIPaddClique(), SCIPaddCons(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPcreateConsSetpack(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfixVar(), SCIPgetNegatedVar(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetStatus(), and TRUE.
creates and captures a normalized (with all coefficients +1) logic or constraint
Definition at line 3727 of file cons_logicor.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcreateConsLogicor(), SCIPfreeBufferArray, and SCIPgetNegatedVar().
Definition at line 3793 of file cons_logicor.c.
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 3838 of file cons_logicor.c.
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 3854 of file cons_logicor.c.
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 3876 of file cons_logicor.c.
presolving deinitialization method of constraint handler (called after presolving has been finished) Definition at line 3909 of file cons_logicor.c.
solving process deinitialization method of constraint handler (called before branch and bound process data is freed) Definition at line 3947 of file cons_logicor.c. References NULL, SCIP_CALL, SCIPconsGetData(), and SCIPreleaseRow().
frees specific constraint data Definition at line 3970 of file cons_logicor.c.
transforms constraint data into data belonging to the transformed problem Definition at line 4001 of file cons_logicor.c.
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) Definition at line 4034 of file cons_logicor.c. References addCut(), NULL, SCIP_CALL, and SCIPconsIsInitial().
separation method of constraint handler for LP solutions Definition at line 4052 of file cons_logicor.c.
separation method of constraint handler for arbitrary primal solutions Definition at line 4099 of file cons_logicor.c.
constraint enforcing method of constraint handler for LP solutions Definition at line 4146 of file cons_logicor.c.
constraint enforcing method of constraint handler for pseudo solutions Definition at line 4196 of file cons_logicor.c.
feasibility check method of constraint handler for integral solutions Definition at line 4243 of file cons_logicor.c.
domain propagation method of constraint handler Definition at line 4299 of file cons_logicor.c.
presolving method of constraint handler Definition at line 4344 of file cons_logicor.c.
propagation conflict resolving method of constraint handler Definition at line 4556 of file cons_logicor.c.
variable rounding lock method of constraint handler Definition at line 4609 of file cons_logicor.c.
constraint activation notification method of constraint handler Definition at line 4629 of file cons_logicor.c.
constraint deactivation notification method of constraint handler Definition at line 4668 of file cons_logicor.c.
constraint display method of constraint handler Definition at line 4709 of file cons_logicor.c.
constraint copying method of constraint handler Definition at line 4723 of file cons_logicor.c.
constraint parsing method of constraint handler Definition at line 4749 of file cons_logicor.c.
constraint method of constraint handler which returns the variables (if possible) Definition at line 4844 of file cons_logicor.c.
constraint method of constraint handler which returns the number of variables (if possible) Definition at line 4866 of file cons_logicor.c.
Definition at line 4884 of file cons_logicor.c.
Definition at line 4946 of file cons_logicor.c.
creates the handler for logic or constraints and includes it in SCIP
Definition at line 5015 of file cons_logicor.c. References CONFLICTHDLR_DESC, CONFLICTHDLR_NAME, CONFLICTHDLR_PRIORITY, CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PRESOLTIMING, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, conshdlrdataCreate(), DEFAULT_DUALPRESOLVING, DEFAULT_IMPLICATIONS, DEFAULT_NEGATEDCLIQUE, DEFAULT_PRESOLPAIRWISE, DEFAULT_PRESOLUSEHASHING, DEFAULT_STRENGTHEN, EVENTHDLR_DESC, EVENTHDLR_NAME, LINCONSUPGD_PRIORITY, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPfindConshdlr(), SCIPincludeConflicthdlrBasic(), SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPincludeLinconsUpgrade(), SCIPsetConshdlrActive(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDeactive(), SCIPsetConshdlrDelete(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIPincludeDefaultPlugins().
creates and captures a logic or constraint
Definition at line 5107 of file cons_logicor.c. References consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_EVENTTYPE_VARFIXED, SCIP_INVALIDCALL, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIPcatchVarEvent(), SCIPconshdlrGetData(), SCIPcreateCons(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPgetStage(), and SCIPisTransformed(). Referenced by addLocalConss(), addSplitcons(), consdataLinearize(), createAndAddLinearCons(), createConflict(), createNormalizedLogicor(), extendToCover(), readCnf(), SCIP_DECL_CONFLICTEXEC(), SCIPcreateConsBasicLogicor(), SCIPreoptApplyGlbConss(), and upgradeCons().
creates and captures a logicor constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsLogicor(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
Definition at line 5184 of file cons_logicor.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsLogicor(), and TRUE.
adds coefficient in logic or constraint
Definition at line 5201 of file cons_logicor.c. References addCoef(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by addCoefTerm(), and SCIPaddCoefPseudoboolean(). gets number of variables in logic or constraint
Definition at line 5224 of file cons_logicor.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by addLogicOrConstraints(), checkLogicor(), correctPresoldata(), createPresoldata(), extractGates(), getLinearConsNVars(), getLinearConsVarsData(), SCIP_DECL_READERWRITE(), SCIPmatrixCreate(), SCIPwriteCcg(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePbm(), SCIPwritePip(), SCIPwritePpm(), writeFzn(), and writeOpbConstraints(). gets array of variables in logic or constraint
Definition at line 5245 of file cons_logicor.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by addLogicOrConstraints(), checkLogicor(), extractGates(), getLinearConsVarsData(), SCIP_DECL_READERWRITE(), SCIPmatrixCreate(), SCIPwriteCcg(), SCIPwriteGms(), SCIPwriteLp(), SCIPwritePbm(), SCIPwritePip(), SCIPwritePpm(), writeFzn(), and writeOpbConstraints(). gets the dual solution of the logic or constraint in the current LP
Definition at line 5266 of file cons_logicor.c. References CONSHDLR_NAME, NULL, SCIP_INVALID, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIProwGetDualsol(). gets the dual Farkas value of the logic or constraint in the current infeasible LP
Definition at line 5290 of file cons_logicor.c. References CONSHDLR_NAME, NULL, SCIP_INVALID, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIProwGetDualfarkas(). returns the linear relaxation of the given logic or constraint; may return NULL if no LP row was yet created; the user must not modify the row!
Definition at line 5316 of file cons_logicor.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||