All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
cons_and.c File Reference Detailed DescriptionConstraint handler for "and" constraints, . This constraint handler deals with "and" constraint. These are constraint of the form:
where is a binary variable for all . Hence, is also of binary type. The variable is called resultant and the 's operators. Definition in file cons_and.c. #include <assert.h> #include <string.h> #include "scip/cons_and.h" #include "scip/cons_linear.h" #include "scip/cons_logicor.h" #include "scip/cons_setppc.h" #include "scip/cons_nonlinear.h" #include "scip/cons_pseudoboolean.h" #include "scip/pub_misc.h" #include "scip/debug.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 49 of file cons_and.c. Referenced by SCIP_DECL_CONSHDLRCOPY(), SCIPchgAndConsCheckFlagWhenUpgr(), SCIPchgAndConsRemovableFlagWhenUpgr(), SCIPcreateConsAnd(), SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarsAnd(), SCIPincludeConshdlrAnd(), SCIPisAndConsSorted(), and SCIPsortAndCons().
Definition at line 50 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
priority of the constraint handler for separation Definition at line 51 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
priority of the constraint handler for constraint enforcing Definition at line 52 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
priority of the constraint handler for checking feasibility Definition at line 53 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
frequency for separating cuts; zero means to separate only in the root node Definition at line 54 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
frequency for propagating domains; zero means only preprocessing propagation Definition at line 55 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
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 56 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 58 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should separation method be delayed, if other separators found cuts? Definition at line 59 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should propagation method be delayed, if other propagators found reductions? Definition at line 60 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should presolving method be delayed, if other presolvers found reductions? Definition at line 61 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should the constraint handler be skipped, if no constraints are available? Definition at line 62 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
Definition at line 64 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
Definition at line 66 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
Definition at line 67 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should pairwise constraint comparison be performed in presolving? Definition at line 69 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should constraint get linearize and removed? Definition at line 70 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should cuts be separated during LP enforcing? Definition at line 71 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should an aggregated linearization be used? Definition at line 72 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should all binary resultant variables be upgraded to implicit binary variables Definition at line 73 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should dual presolving be performed? Definition at line 74 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
minimal size of hash table in and constraint tables Definition at line 76 of file cons_and.c. Referenced by detectRedundantConstraints().
should hash table be used for detecting redundant constraints in advance Definition at line 77 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
number for minimal pairwise presolving comparisons Definition at line 78 of file cons_and.c. Referenced by SCIP_DECL_CONSPRESOL().
minimal gain per minimal pairwise presolving comparisons to repeat pairwise comparison round Definition at line 79 of file cons_and.c. Referenced by SCIP_DECL_CONSPRESOL().
priority of expression graph node reformulation method Definition at line 80 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd(). Typedef DocumentationDefinition at line 143 of file cons_and.c. Enumeration Type Documentation
Definition at line 135 of file cons_and.c. Function Documentation
installs rounding locks for the given variable in the given and constraint
Definition at line 152 of file cons_and.c. References SCIP_CALL, SCIP_OKAY, SCIPlockVarCons(), and TRUE. Referenced by addCoef().
removes rounding locks for the given variable in the given and constraint
Definition at line 166 of file cons_and.c. References SCIP_CALL, SCIP_OKAY, SCIPunlockVarCons(), and TRUE. Referenced by delCoefPos().
creates constraint handler data
Definition at line 180 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, and SCIPallocMemory. Referenced by SCIPincludeConshdlrAnd().
frees constraint handler data
Definition at line 200 of file cons_and.c. References NULL, SCIP_OKAY, and SCIPfreeMemory. Referenced by SCIP_DECL_CONSFREE().
gets number of LP rows needed for the LP relaxation of the constraint
Definition at line 215 of file cons_and.c. References NULL. Referenced by createRelaxation().
catches events for the watched variable at given position
Definition at line 226 of file cons_and.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_OKAY, and SCIPcatchVarEvent(). Referenced by consdataSwitchWatchedvars().
drops events for the watched variable at given position
Definition at line 250 of file cons_and.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_OKAY, and SCIPdropVarEvent(). Referenced by consdataSwitchWatchedvars().
catches needed events on all variables of constraint, except the special ones for watched variables
Definition at line 273 of file cons_and.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPcatchVarEvent(). Referenced by consdataCreate().
drops events on all variables of constraint, except the special ones for watched variables
Definition at line 299 of file cons_and.c. References NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPdropVarEvent(). Referenced by consdataFree().
stores the given variable numbers as watched variables, and updates the event processing
Definition at line 325 of file cons_and.c. References consdataCatchWatchedEvents(), consdataDropWatchedEvents(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by consdataFree(), delCoefPos(), and propagateCons().
ensures, that the vars array can store at least num entries
Definition at line 385 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), and SCIPreallocBlockMemoryArray. Referenced by addCoef().
creates constraint data for and constraint
Definition at line 409 of file cons_and.c. References consdataCatchEvents(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPcaptureVar(), SCIPduplicateBlockMemoryArray, SCIPgetTransformedVar(), SCIPgetTransformedVars(), SCIPisTransformed(), SCIPvarIsBinary(), and TRUE. Referenced by SCIP_DECL_CONSTRANS(), and SCIPcreateConsAnd().
releases LP rows of constraint data and frees rows array
Definition at line 479 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArray, and SCIPreleaseRow(). Referenced by consdataFree(), and SCIP_DECL_CONSEXITSOL().
frees constraint data for and constraint
Definition at line 510 of file cons_and.c. References consdataDropEvents(), consdataFreeRows(), consdataSwitchWatchedvars(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPisTransformed(), and SCIPreleaseVar(). Referenced by SCIP_DECL_CONSDELETE().
prints and constraint to file stream
Definition at line 555 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPinfoMessage(), SCIPwriteVarName(), SCIPwriteVarsList(), and TRUE. Referenced by applyFixings(), and SCIP_DECL_CONSPRINT().
adds coefficient to and constraint
Definition at line 580 of file cons_and.c. References consdataEnsureVarsSize(), FALSE, lockRounding(), NULL, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_INVALIDCALL, SCIP_OKAY, SCIPcaptureVar(), SCIPcatchVarEvent(), SCIPconsGetData(), SCIPconsIsTransformed(), SCIPerrorMessage, SCIPgetTransformedVar(), SCIPvarIsTransformed(), and TRUE. Referenced by applyFixings().
deletes coefficient at given position from and constraint data
Definition at line 640 of file cons_and.c. References consdataSwitchWatchedvars(), FALSE, NULL, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsTransformed(), SCIPdropVarEvent(), SCIPreleaseVar(), SCIPvarIsTransformed(), TRUE, and unlockRounding(). Referenced by applyFixings(), cliquePresolve(), dualPresolve(), and mergeMultiples().
sorts and constraint's variables by non-decreasing variable index
Definition at line 703 of file cons_and.c. References NULL, SCIP_Bool, SCIPsortedvecFindPtr(), SCIPsortPtr(), SCIPvarCompare(), and TRUE. Referenced by detectRedundantConstraints(), preprocessConstraintPairs(), SCIP_DECL_HASHKEYEQ(), and SCIPsortAndCons().
deletes all one-fixed variables
Definition at line 784 of file cons_and.c. References addCoef(), consdataPrint(), delCoefPos(), NULL, SCIP_Bool, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_OKAY, SCIPcaptureVar(), SCIPcatchVarEvent(), SCIPconsGetData(), SCIPconsIsTransformed(), SCIPdebug, SCIPdebugMessage, SCIPdebugPrintf, SCIPdropVarEvent(), SCIPgetBinvarRepresentative(), SCIPisFeasEQ(), SCIPreleaseVar(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsBinary(), and TRUE. Referenced by dualPresolve(), and SCIP_DECL_CONSPRESOL().
creates a linearization of the and constraint
Definition at line 884 of file cons_and.c. References consdataGetNRows(), NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIPallocBlockMemoryArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsRemovable(), SCIPcreateEmptyRowCons(), SCIPinfinity(), and SCIPsnprintf(). Referenced by addRelaxation(), and separateCons().
adds linear relaxation of and constraint to the LP
Definition at line 931 of file cons_and.c. References createRelaxation(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCut(), SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsRemovable(), SCIPcreateEmptyRowCons(), SCIPinfinity(), SCIProwIsInLP(), and SCIPsnprintf(). Referenced by SCIP_DECL_CONSINITLP().
checks and constraint for feasibility of given solution: returns TRUE iff constraint is feasible
Definition at line 989 of file cons_and.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_REAL_FORMAT, SCIP_VARTYPE_IMPLINT, SCIPconsGetData(), SCIPgetSolVal(), SCIPincConsAge(), SCIPinfoMessage(), SCIPisFeasIntegral(), SCIPprintCons(), SCIPresetConsAge(), SCIProwIsInLP(), SCIPvarGetName(), SCIPvarGetType(), and TRUE. Referenced by SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFOPS().
separates given primal solution
Definition at line 1102 of file cons_and.c. References createRelaxation(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCut(), SCIPconsGetData(), SCIPgetRowSolFeasibility(), SCIPisFeasNegative(), SCIProwIsInLP(), and TRUE. Referenced by SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSSEPALP(), and SCIP_DECL_CONSSEPASOL().
analyzes conflicting TRUE assignment to resultant of given constraint, and adds conflict constraint to problem
Definition at line 1151 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), SCIPisConflictAnalysisApplicable(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by consdataFixOperandsOne(), and consdataFixResultantZero().
analyzes conflicting FALSE assignment to resultant of given constraint, and adds conflict constraint to problem
Definition at line 1182 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPconsIsModifiable(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), SCIPisConflictAnalysisApplicable(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by analyzeZeroResultant(), and propagateCons().
tries to fix the given resultant to zero
Definition at line 1217 of file cons_and.c. References analyzeConflictOne(), FALSE, PROPRULE_1, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPinferBinvarCons(), SCIPresetConsAge(), SCIPvarGetName(), and TRUE. Referenced by propagateCons().
fix all operands to one
Definition at line 1256 of file cons_and.c. References analyzeConflictOne(), PROPRULE_2, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPinferBinvarCons(), SCIPresetConsAge(), SCIPvarGetName(), and TRUE. Referenced by propagateCons().
linearize AND constraint due to a globally to zero fixed resultant; that is, creates, adds, and releases a logicor constraint and remove the AND constraint globally. Since the resultant is fixed to zero the AND constraint collapses to linear constraint of the form: This can be transformed into a logicor constraint of the form
Definition at line 1310 of file cons_and.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLogicor(), SCIPcreateConsSetpack(), SCIPdebugPrintCons, SCIPdelCons(), SCIPfixVar(), SCIPfreeBufferArray, SCIPgetBinvarRepresentatives(), SCIPgetNegatedVar(), SCIPreleaseCons(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE. Referenced by propagateCons().
the resultant is fixed to zero; in case all except one operator are fixed to TRUE the last operator has to fixed to FALSE
Definition at line 1421 of file cons_and.c. References analyzeConflictZero(), FALSE, NULL, PROPRULE_4, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPinferBinvarCons(), SCIPresetConsAge(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by propagateCons().
replaces multiple occurrences of variables
Definition at line 1482 of file cons_and.c. References delCoefPos(), NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIP_VARTYPE_INTEGER, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPdelCons(), SCIPfixVar(), SCIPgetNBinVars(), SCIPgetNImplVars(), SCIPgetNIntVars(), SCIPvarGetName(), SCIPvarGetNegatedVar(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarIsNegated(), and TRUE. Referenced by dualPresolve(), and SCIP_DECL_CONSPRESOL().
propagates constraint with the following rules: (1) v_i = FALSE => r = FALSE (2) r = TRUE => v_i = TRUE for all i (3) v_i = TRUE for all i => r = TRUE (4) r = FALSE, v_i = TRUE for all i except j => v_j = FALSE additional if the resultant is fixed to zero during presolving or in the root node (globally), then the "and" constraint is collapsed to a linear (logicor) constraint of the form -> sum_{i=0}^{n-1} ~v_i >= 1
Definition at line 1639 of file cons_and.c. References analyzeConflictZero(), analyzeZeroResultant(), consdataFixOperandsOne(), consdataFixResultantZero(), consdataLinearize(), consdataSwitchWatchedvars(), NULL, PROPRULE_3, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsModifiable(), SCIPcutoffNode(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPgetDepth(), SCIPgetRootNode(), SCIPincConsAge(), SCIPinferBinvarCons(), SCIPinProbing(), SCIPinRepropagation(), SCIPisFeasEQ(), SCIPresetConsAge(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE. Referenced by dualPresolve(), SCIP_DECL_CONSPRESOL(), and SCIP_DECL_CONSPROP().
resolves a conflict on the given variable by supplying the variables needed for applying the corresponding propagation rule (see propagateCons()): (1) v_i = FALSE => r = FALSE (2) r = TRUE => v_i = TRUE for all i (3) v_i = TRUE for all i => r = TRUE (4) r = FALSE, v_i = TRUE for all i except j => v_j = FALSE
Definition at line 1840 of file cons_and.c. References FALSE, NULL, PROPRULE_1, PROPRULE_2, PROPRULE_3, PROPRULE_4, PROPRULE_INVALID, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_SUCCESS, SCIPaddConflictBinvar(), SCIPconsGetData(), SCIPconsGetName(), SCIPerrorMessage, SCIPvarGetLbAtIndex(), SCIPvarGetUbAtIndex(), and TRUE. Referenced by SCIP_DECL_CONSRESPROP().
perform dual presolving on and-constraints
Definition at line 1926 of file cons_and.c. References applyFixings(), delCoefPos(), FALSE, mergeMultiples(), NULL, propagateCons(), REALABS, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPaggregateVars(), SCIPallocMemoryArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdebugMessage, SCIPdelCons(), SCIPfixVar(), SCIPfreeMemoryArray, SCIPgetNBinVars(), SCIPgetNImplVars(), SCIPinfinity(), SCIPisEQ(), SCIPisGE(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPisNegative(), SCIPisPositive(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetAggregatedObj(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetUbGlobal(), and TRUE. Referenced by SCIP_DECL_CONSPRESOL().
Definition at line 2561 of file cons_and.c. References BMSclearMemoryArray, delCoefPos(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARSTATUS_FIXED, SCIPaddCons(), SCIPaggregateVars(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsSetpack(), SCIPcreateConsSetpart(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfixVar(), SCIPfreeBufferArray, SCIPgetNegatedVar(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNegatedVar(), SCIPvarGetProbvarBinary(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarsHaveCommonClique(), and TRUE. Referenced by SCIP_DECL_CONSPRESOL().
gets the key of the given element Definition at line 3210 of file cons_and.c.
returns TRUE iff both keys are equal; two constraints are equal if they have the same variables Definition at line 3218 of file cons_and.c. References consdataSort(), FALSE, NULL, SCIP_Bool, SCIPconsGetData(), SCIPvarCompare(), and TRUE.
returns the hash value of the key Definition at line 3264 of file cons_and.c. References NULL, SCIPconsGetData(), and SCIPvarGetIndex().
compares each constraint with all other constraints for possible redundancy and removes or changes constraint accordingly; in contrast to removeRedundantConstraints(), it uses a hash table
Definition at line 3291 of file cons_and.c. References consdataSort(), FALSE, HASHSIZE_ANDCONS, MAX, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPaggregateVars(), SCIPcalcHashtableSize(), SCIPconsGetData(), SCIPconsGetPos(), SCIPconsIsActive(), SCIPconsIsModifiable(), SCIPdelCons(), SCIPdoNotAggr(), SCIPhashtableCreate(), SCIPhashtableFree(), SCIPhashtableInsert(), SCIPhashtableRetrieve(), SCIPupdateConsFlags(), SCIPvarCompare(), and TRUE. Referenced by SCIP_DECL_CONSPRESOL().
compares constraint with all prior constraints for possible redundancy or aggregation, and removes or changes constraint accordingly
Definition at line 3412 of file cons_and.c. References consdataSort(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPaddVarImplication(), SCIPaggregateVars(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdelCons(), SCIPdoNotAggr(), SCIPerrorMessage, SCIPisStopped(), SCIPupdateConsFlags(), SCIPvarCompare(), SCIPvarGetName(), and TRUE. Referenced by SCIP_DECL_CONSPRESOL().
tries to reformulate an expression graph node that is a product of binary variables via introducing an and constraint Definition at line 3616 of file cons_and.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_EXPR_POLYNOMIAL, SCIP_EXPR_PRODUCT, SCIP_EXPR_VARIDX, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPaddCons(), SCIPaddVar(), SCIPallocBufferArray, SCIPblkmem(), SCIPcreateConsAnd(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugMessage, SCIPdebugPrintCons, SCIPexprGetMonomialCoef(), SCIPexprGetMonomialNFactors(), SCIPexprgraphAddNode(), SCIPexprgraphAddVars(), SCIPexprgraphCreateNodeLinear(), SCIPexprgraphGetNodeChildren(), SCIPexprgraphGetNodeNChildren(), SCIPexprgraphGetNodeOperator(), SCIPexprgraphGetNodePolynomialConstant(), SCIPexprgraphGetNodePolynomialMonomials(), SCIPexprgraphGetNodePolynomialNMonomials(), SCIPexprgraphGetNodeVar(), SCIPfreeBufferArray, SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPvarIsBinary(), and TRUE.
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 3741 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrAnd(), and TRUE.
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 3757 of file cons_and.c. References conshdlrdataFree(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetData(), and SCIPconshdlrSetData().
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 3775 of file cons_and.c. References NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsAdded(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdelCons(), SCIPfreeBufferArray, SCIPinfinity(), SCIPreallocBufferArray, SCIPreleaseCons(), and SCIPsnprintf().
solving process deinitialization method of constraint handler (called before branch and bound process data is freed) Definition at line 4057 of file cons_and.c. References consdataFreeRows(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconsGetData().
frees specific constraint data Definition at line 4077 of file cons_and.c. References consdataFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconshdlrGetData().
transforms constraint data into data belonging to the transformed problem Definition at line 4092 of file cons_and.c. References consdataCreate(), NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), and SCIPcreateCons().
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) Definition at line 4122 of file cons_and.c. References addRelaxation(), SCIP_CALL, SCIP_OKAY, and SCIPconsIsInitial().
separation method of constraint handler for LP solutions Definition at line 4138 of file cons_and.c. References NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SEPARATED, and separateCons().
separation method of constraint handler for arbitrary primal solutions Definition at line 4165 of file cons_and.c. References SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SEPARATED, and separateCons().
constraint enforcing method of constraint handler for LP solutions Definition at line 4192 of file cons_and.c. References checkCons(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_SEPARATED, SCIPconshdlrGetData(), and separateCons().
constraint enforcing method of constraint handler for pseudo solutions Definition at line 4254 of file cons_and.c. References checkCons(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, and TRUE.
feasibility check method of constraint handler for integral solutions Definition at line 4277 of file cons_and.c. References checkCons(), SCIP_Bool, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, and SCIP_OKAY.
domain propagation method of constraint handler Definition at line 4300 of file cons_and.c. References FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_REDUCEDDOM, and SCIPconshdlrGetData().
presolving method of constraint handler Definition at line 4335 of file cons_and.c. References applyFixings(), cliquePresolve(), detectRedundantConstraints(), dualPresolve(), FALSE, mergeMultiples(), MINGAINPERNMINCOMPARISONS, NMINCOMPARISONS, NULL, preprocessConstraintPairs(), propagateCons(), SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CUTOFF, SCIP_DELAYED, SCIP_DIDNOTFIND, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIPaddVarImplication(), SCIPaggregateVars(), SCIPallocBufferArray, SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdelCons(), SCIPdoNotAggr(), SCIPfreeBufferArray, SCIPgetNContVars(), SCIPgetNVars(), SCIPisFeasEQ(), SCIPisStopped(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE.
propagation conflict resolving method of constraint handler Definition at line 4556 of file cons_and.c. References resolvePropagation(), SCIP_CALL, and SCIP_OKAY.
variable rounding lock method of constraint handler Definition at line 4566 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPaddVarLocks(), and SCIPconsGetData().
constraint display method of constraint handler Definition at line 4589 of file cons_and.c. References consdataPrint(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPconsGetData().
constraint copying method of constraint handler Definition at line 4603 of file cons_and.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetName(), SCIPcreateConsAnd(), SCIPfreeBufferArray, SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarCopy(), SCIPgetVarsAnd(), and TRUE.
constraint parsing method of constraint handler Definition at line 4661 of file cons_and.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPcreateConsAnd(), SCIPdebugMessage, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseVarName(), SCIPparseVarsList(), SCIPreallocBufferArray, and TRUE.
constraint method of constraint handler which returns the variables (if possible) Definition at line 4769 of file cons_and.c. References BMScopyMemoryArray, FALSE, NULL, SCIP_OKAY, SCIPconsGetData(), and TRUE.
constraint method of constraint handler which returns the number of variable (if possible) Definition at line 4790 of file cons_and.c. References NULL, SCIP_OKAY, SCIPconsGetData(), and TRUE.
Definition at line 4811 of file cons_and.c. References FALSE, NULL, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPeventGetType().
creates the handler for and constraints and includes it in SCIP
Definition at line 4837 of file cons_and.c. References CONSHDLR_CHECKPRIORITY, CONSHDLR_DELAYPRESOL, CONSHDLR_DELAYPROP, CONSHDLR_DELAYSEPA, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PROP_TIMING, CONSHDLR_PROPFREQ, CONSHDLR_SEPAFREQ, CONSHDLR_SEPAPRIORITY, conshdlrdataCreate(), DEFAULT_AGGRLINEARIZATION, DEFAULT_DUALPRESOLVING, DEFAULT_ENFORCECUTS, DEFAULT_LINEARIZE, DEFAULT_PRESOLPAIRWISE, DEFAULT_PRESOLUSEHASHING, DEFAULT_UPGRRESULTANT, EVENTHDLR_DESC, EVENTHDLR_NAME, EXPRGRAPHREFORM_PRIORITY, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPfindConshdlr(), SCIPincludeConshdlrBasic(), SCIPincludeEventhdlrBasic(), SCIPincludeNonlinconsUpgrade(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrExitpre(), SCIPsetConshdlrExitsol(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInitlp(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrParse(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrProp(), SCIPsetConshdlrResprop(), SCIPsetConshdlrSepa(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIP_DECL_CONSHDLRCOPY(), and SCIPincludeDefaultPlugins().
creates and captures a and constraint
Definition at line 4925 of file cons_and.c. References ARTIFICIALVARNAMEPREFIX, consdataCreate(), CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_IMPLINT, SCIPchgVarType(), SCIPconshdlrGetData(), SCIPcreateCons(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPvarGetName(), and SCIPvarGetType(). Referenced by CREATE_CONSTRAINT(), createAndAddAndCons(), extractGates(), findAggregation(), presolveTryAddAND(), presolveTryAddLinearReform(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIPcreateConsBasicAnd(), setObjective(), and upgradeCons().
creates and captures an and constraint in its most basic version, i. e., all constraint flags are set to their basic value as explained for the method SCIPcreateConsAnd(); all flags can be set via SCIPsetConsFLAGNAME-methods in scip.h
Definition at line 5007 of file cons_and.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsAnd(), and TRUE. gets number of variables in and constraint
Definition at line 5026 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by checkAndConss(), checkOrigPbCons(), chgLhs(), chgRhs(), computeAndConstraintInfos(), computeConsAndDataChanges(), consdataFree(), consdataPrint(), createCoveringProblem(), printAndCons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSGETNVARS(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_READERWRITE(), SCIPcreateConsPseudobooleanWithConss(), SCIPwritePip(), transformToOrig(), and writeOpbConstraints(). gets array of variables in and constraint
Definition at line 5050 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by checkAndConss(), checkOrigPbCons(), chgLhs(), chgRhs(), computeAndConstraintInfos(), computeConsAndDataChanges(), consdataFree(), consdataPrint(), createCoveringProblem(), printAndCons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_READERWRITE(), SCIPcreateConsPseudobooleanWithConss(), SCIPwritePip(), transformToOrig(), and writeOpbConstraints(). gets the resultant variable in and constraint
Definition at line 5075 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by addCliques(), addCoefTerm(), checkAndConss(), checkOrigPbCons(), computeAndConstraintInfos(), consdataCreate(), consdataFree(), correctConshdlrdata(), correctLocksAndCaptures(), createAndAddAndCons(), createCoveringProblem(), lockRoundingAndCons(), printAndCons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSLOCK(), SCIP_DECL_READERWRITE(), SCIP_DECL_SORTPTRCOMP(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), SCIPwritePip(), transformToOrig(), tryUpgradingSetppc(), unlockRoundingAndCons(), and updateConsanddataUses(). return if the variables of the and-constraint are sorted due to their indices
Definition at line 5098 of file cons_and.c. References CONSHDLR_NAME, FALSE, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by computeConsAndDataChanges().
sort the variables of the and-constraint due to their indices
Definition at line 5122 of file cons_and.c. References consdataSort(), CONSHDLR_NAME, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by computeConsAndDataChanges().
when 'upgrading' the given and-constraint, should the check flag for the upgraded constraint be set to TRUE, even if the check flag of this and-constraint is set to FALSE?
Definition at line 5151 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by createAndAddAndCons().
when 'upgrading' the given and-constraint, should the removable flag for the upgraded constraint be set to FALSE, even if the removable flag of this and-constraint is set to TRUE?
Definition at line 5182 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by createAndAddAndCons(). |