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 59 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should separation method be delayed, if other separators found cuts? Definition at line 60 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should propagation method be delayed, if other propagators 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 65 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
Definition at line 67 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
Definition at line 68 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should pairwise constraint comparison be performed in presolving? Definition at line 70 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should constraint get linearized and removed? Definition at line 71 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should cuts be separated during LP enforcing? Definition at line 72 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should an aggregated linearization be used? Definition at line 73 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should all binary resultant variables be upgraded to implicit binary variables Definition at line 74 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
should dual presolving be performed? Definition at line 75 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
minimal size of hash table in and constraint tables Definition at line 77 of file cons_and.c. Referenced by detectRedundantConstraints().
should hash table be used for detecting redundant constraints in advance Definition at line 78 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd().
number for minimal pairwise presolving comparisons Definition at line 79 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 80 of file cons_and.c. Referenced by SCIP_DECL_CONSPRESOL().
priority of expression graph node reformulation method Definition at line 81 of file cons_and.c. Referenced by SCIPincludeConshdlrAnd(). Typedef DocumentationDefinition at line 144 of file cons_and.c. Enumeration Type Documentation
Definition at line 136 of file cons_and.c. Function Documentation
installs rounding locks for the given variable in the given AND-constraint
Definition at line 153 of file cons_and.c. References SCIP_CALL, SCIP_OKAY, SCIPlockVarCons(), TRUE, and unlockRounding(). Referenced by addCoef().
removes rounding locks for the given variable in the given AND-constraint
Definition at line 167 of file cons_and.c. References conshdlrdataCreate(), SCIP_CALL, SCIP_OKAY, SCIPunlockVarCons(), and TRUE. Referenced by delCoefPos(), and lockRounding().
creates constraint handler data
Definition at line 181 of file cons_and.c. References conshdlrdataFree(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPallocMemory. Referenced by SCIPincludeConshdlrAnd(), and unlockRounding().
frees constraint handler data
Definition at line 201 of file cons_and.c. References consdataCatchWatchedEvents(), NULL, SCIP_OKAY, and SCIPfreeMemory. Referenced by conshdlrdataCreate(), and SCIP_DECL_CONSFREE().
catches events for the watched variable at given position
Definition at line 216 of file cons_and.c. References consdataDropWatchedEvents(), NULL, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_OKAY, and SCIPcatchVarEvent(). Referenced by consdataSwitchWatchedvars(), and conshdlrdataFree().
drops events for the watched variable at given position
Definition at line 240 of file cons_and.c. References consdataCatchEvents(), NULL, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBRELAXED, SCIP_OKAY, and SCIPdropVarEvent(). Referenced by consdataCatchWatchedEvents(), and consdataSwitchWatchedvars().
catches needed events on all variables of constraint, except the special ones for watched variables
Definition at line 263 of file cons_and.c. References consdataDropEvents(), NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPcatchVarEvent(). Referenced by consdataCreate(), and consdataDropWatchedEvents().
drops events on all variables of constraint, except the special ones for watched variables
Definition at line 289 of file cons_and.c. References consdataSwitchWatchedvars(), NULL, SCIP_CALL, SCIP_EVENTTYPE_BOUNDCHANGED, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, and SCIPdropVarEvent(). Referenced by consdataCatchEvents(), and consdataFree().
stores the given variable numbers as watched variables, and updates the event processing
Definition at line 315 of file cons_and.c. References consdataCatchWatchedEvents(), consdataDropWatchedEvents(), consdataEnsureVarsSize(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by consdataDropEvents(), consdataFree(), delCoefPos(), and propagateCons().
ensures, that the vars array can store at least num entries
Definition at line 375 of file cons_and.c. References consdataCreate(), NULL, SCIP_CALL, SCIP_OKAY, SCIPcalcMemGrowSize(), and SCIPreallocBlockMemoryArray. Referenced by addCoef(), and consdataSwitchWatchedvars().
creates constraint data for AND-constraint
Definition at line 399 of file cons_and.c. References consdataCatchEvents(), consdataFreeRows(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_EXITPRESOLVE, SCIPallocBlockMemory, SCIPcaptureVar(), SCIPduplicateBlockMemoryArray, SCIPgetStage(), SCIPgetTransformedVar(), SCIPgetTransformedVars(), SCIPisTransformed(), SCIPmarkDoNotMultaggrVar(), SCIPvarIsBinary(), and TRUE. Referenced by consdataEnsureVarsSize(), SCIP_DECL_CONSTRANS(), and SCIPcreateConsAnd().
releases LP rows of constraint data and frees rows array
Definition at line 482 of file cons_and.c. References consdataFree(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArray, and SCIPreleaseRow(). Referenced by consdataCreate(), consdataFree(), and SCIP_DECL_CONSEXITSOL().
frees constraint data for AND-constraint
Definition at line 513 of file cons_and.c. References consdataDropEvents(), consdataFreeRows(), consdataPrint(), consdataSwitchWatchedvars(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPisTransformed(), and SCIPreleaseVar(). Referenced by consdataFreeRows(), and SCIP_DECL_CONSDELETE().
prints AND-constraint to file stream
Definition at line 558 of file cons_and.c. References addCoef(), NULL, SCIP_CALL, SCIP_OKAY, SCIPinfoMessage(), SCIPwriteVarName(), SCIPwriteVarsList(), and TRUE. Referenced by applyFixings(), consdataFree(), and SCIP_DECL_CONSPRINT().
adds coefficient to AND-constraint
Definition at line 583 of file cons_and.c. References consdataEnsureVarsSize(), delCoefPos(), 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(), and consdataPrint().
deletes coefficient at given position from AND-constraint data
Definition at line 643 of file cons_and.c. References consdataSort(), consdataSwitchWatchedvars(), FALSE, NULL, SCIP_CALL, SCIP_EVENTTYPE_LBRELAXED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsTransformed(), SCIPdropVarEvent(), SCIPreleaseVar(), SCIPvarIsTransformed(), TRUE, and unlockRounding(). Referenced by addCoef(), applyFixings(), cliquePresolve(), dualPresolve(), and mergeMultiples().
sorts AND-constraint's variables by non-decreasing variable index
Definition at line 706 of file cons_and.c. References applyFixings(), NULL, SCIP_Bool, SCIPsortedvecFindPtr(), SCIPsortPtr(), SCIPvarCompare(), and TRUE. Referenced by delCoefPos(), detectRedundantConstraints(), preprocessConstraintPairs(), SCIP_DECL_HASHKEYEQ(), and SCIPsortAndCons().
deletes all one-fixed variables
Definition at line 787 of file cons_and.c. References addCoef(), consdataPrint(), createRelaxation(), 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 consdataSort(), dualPresolve(), and SCIP_DECL_CONSPRESOL().
creates a linearization of the AND-constraint
Definition at line 887 of file cons_and.c. References addRelaxation(), NULL, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPaddVarsToRowSameCoef(), SCIPaddVarToRow(), SCIPallocBlockMemoryArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsRemovable(), SCIPcreateEmptyRowCons(), SCIPinfinity(), and SCIPsnprintf(). Referenced by addRelaxation(), applyFixings(), and separateCons().
adds linear relaxation of AND-constraint to the LP
Definition at line 934 of file cons_and.c. References checkCons(), 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 createRelaxation(), and SCIP_DECL_CONSINITLP().
checks AND-constraint for feasibility of given solution: returns TRUE iff constraint is feasible
Definition at line 992 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(), separateCons(), and TRUE. Referenced by addRelaxation(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFOPS().
separates given primal solution
Definition at line 1105 of file cons_and.c. References analyzeConflictOne(), createRelaxation(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddCut(), SCIPconsGetData(), SCIPgetRowSolFeasibility(), SCIPisFeasNegative(), SCIProwIsInLP(), and TRUE. Referenced by checkCons(), 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 1154 of file cons_and.c. References analyzeConflictZero(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), SCIPisConflictAnalysisApplicable(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by consdataFixOperandsOne(), consdataFixResultantZero(), and separateCons().
analyzes conflicting FALSE assignment to resultant of given constraint, and adds conflict constraint to problem
Definition at line 1185 of file cons_and.c. References consdataFixResultantZero(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_SOLVING, SCIPaddConflictBinvar(), SCIPanalyzeConflictCons(), SCIPconsGetData(), SCIPconsIsModifiable(), SCIPgetStage(), SCIPinitConflictAnalysis(), SCIPinProbing(), SCIPisConflictAnalysisApplicable(), SCIPvarGetLbLocal(), and SCIPvarGetUbLocal(). Referenced by analyzeConflictOne(), analyzeZeroResultant(), and propagateCons().
tries to fix the given resultant to zero
Definition at line 1220 of file cons_and.c. References analyzeConflictOne(), consdataFixOperandsOne(), FALSE, PROPRULE_1, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPinferBinvarCons(), SCIPresetConsAge(), SCIPvarGetName(), and TRUE. Referenced by analyzeConflictZero(), and propagateCons().
fix all operands to one
Definition at line 1259 of file cons_and.c. References analyzeConflictOne(), consdataLinearize(), PROPRULE_2, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetName(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPinferBinvarCons(), SCIPresetConsAge(), SCIPvarGetName(), and TRUE. Referenced by consdataFixResultantZero(), and 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 1313 of file cons_and.c. References analyzeZeroResultant(), 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 consdataFixOperandsOne(), and 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 1424 of file cons_and.c. References analyzeConflictZero(), FALSE, mergeMultiples(), NULL, PROPRULE_4, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPdebugMessage, SCIPdelConsLocal(), SCIPinferBinvarCons(), SCIPresetConsAge(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and TRUE. Referenced by consdataLinearize(), and propagateCons().
replaces multiple occurrences of variables
Definition at line 1485 of file cons_and.c. References delCoefPos(), NULL, propagateCons(), 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 analyzeZeroResultant(), 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 1642 of file cons_and.c. References analyzeConflictZero(), analyzeZeroResultant(), consdataFixOperandsOne(), consdataFixResultantZero(), consdataLinearize(), consdataSwitchWatchedvars(), NULL, PROPRULE_3, resolvePropagation(), 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(), mergeMultiples(), 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 1847 of file cons_and.c. References dualPresolve(), 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 propagateCons(), and SCIP_DECL_CONSRESPROP().
perform dual presolving on AND-constraints
Definition at line 1933 of file cons_and.c. References applyFixings(), cliquePresolve(), 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 resolvePropagation(), and SCIP_DECL_CONSPRESOL().
Definition at line 2568 of file cons_and.c. References BMSclearMemoryArray, delCoefPos(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_HASHGETKEY(), 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 dualPresolve(), and SCIP_DECL_CONSPRESOL().
gets the key of the given element Definition at line 3217 of file cons_and.c. References SCIP_DECL_HASHKEYEQ(). Referenced by cliquePresolve().
returns TRUE iff both keys are equal; two constraints are equal if they have the same variables Definition at line 3225 of file cons_and.c. References consdataSort(), FALSE, NULL, SCIP_Bool, SCIP_DECL_HASHKEYVAL(), SCIPconsGetData(), SCIPvarCompare(), and TRUE. Referenced by SCIP_DECL_HASHGETKEY().
returns the hash value of the key Definition at line 3271 of file cons_and.c. References detectRedundantConstraints(), NULL, SCIPconsGetData(), and SCIPvarGetIndex(). Referenced by SCIP_DECL_HASHKEYEQ().
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 3298 of file cons_and.c. References consdataSort(), FALSE, HASHSIZE_ANDCONS, MAX, NULL, preprocessConstraintPairs(), 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(), and SCIP_DECL_HASHKEYVAL().
compares constraint with all prior constraints for possible redundancy or aggregation, and removes or changes constraint accordingly
Definition at line 3419 of file cons_and.c. References consdataSort(), FALSE, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPaddVarImplication(), SCIPaggregateVars(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdelCons(), SCIPdoNotAggr(), SCIPerrorMessage, SCIPisStopped(), SCIPupdateConsFlags(), SCIPvarCompare(), SCIPvarGetName(), and TRUE. Referenced by detectRedundantConstraints(), and 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 3623 of file cons_and.c. References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), 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. Referenced by preprocessConstraintPairs().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 3748 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrAnd(), and TRUE. Referenced by SCIP_DECL_EXPRGRAPHNODEREFORM().
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 3764 of file cons_and.c. References conshdlrdataFree(), NULL, SCIP_CALL, SCIP_DECL_CONSINITPRE(), SCIP_OKAY, SCIPconshdlrGetData(), and SCIPconshdlrSetData(). Referenced by SCIP_DECL_CONSHDLRCOPY().
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 3782 of file cons_and.c. References HASHTABLESIZE_FACTOR, NULL, SCIP_CALL, SCIP_DECL_CONSEXITPRE, SCIP_DECL_CONSEXITSOL(), SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_WRITEERROR, SCIPABORT, SCIPaddCons(), SCIPallocBufferArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsAdded(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdelCons(), SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetNVars(), SCIPgetVarsData(), SCIPgmlWriteArc(), SCIPgmlWriteClosing(), SCIPgmlWriteNode(), SCIPgmlWriteOpening(), SCIPhashmapCreate(), SCIPhashmapFree(), SCIPhashmapGetImage(), SCIPhashmapInsert(), SCIPinfinity(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetProbvar(), SCIPvarsGetProbvar(), and TRUE. Referenced by SCIP_DECL_CONSFREE().
solving process deinitialization method of constraint handler (called before branch and bound process data is freed) Definition at line 4064 of file cons_and.c. References consdataFreeRows(), NULL, SCIP_CALL, SCIP_DECL_CONSDELETE(), SCIP_OKAY, and SCIPconsGetData(). Referenced by SCIP_DECL_CONSINITPRE().
frees specific constraint data Definition at line 4084 of file cons_and.c. References consdataFree(), NULL, SCIP_CALL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, and SCIPconshdlrGetData(). Referenced by SCIP_DECL_CONSEXITSOL().
transforms constraint data into data belonging to the transformed problem Definition at line 4099 of file cons_and.c. References consdataCreate(), NULL, SCIP_CALL, SCIP_DECL_CONSINITLP(), SCIP_OKAY, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), and SCIPcreateCons(). Referenced by SCIP_DECL_CONSDELETE().
LP initialization method of constraint handler (called before the initial LP relaxation at a node is solved) Definition at line 4129 of file cons_and.c. References addRelaxation(), SCIP_CALL, SCIP_DECL_CONSSEPALP(), SCIP_OKAY, and SCIPconsIsInitial(). Referenced by SCIP_DECL_CONSTRANS().
separation method of constraint handler for LP solutions Definition at line 4145 of file cons_and.c. References NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSSEPASOL(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SEPARATED, and separateCons(). Referenced by SCIP_DECL_CONSINITLP().
separation method of constraint handler for arbitrary primal solutions Definition at line 4172 of file cons_and.c. References SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSENFOLP(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_SEPARATED, and separateCons(). Referenced by SCIP_DECL_CONSSEPALP().
constraint enforcing method of constraint handler for LP solutions Definition at line 4199 of file cons_and.c. References checkCons(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSENFOPS(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_SEPARATED, SCIPconshdlrGetData(), and separateCons(). Referenced by SCIP_DECL_CONSSEPASOL().
constraint enforcing method of constraint handler for pseudo solutions Definition at line 4261 of file cons_and.c. References checkCons(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSCHECK(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, and TRUE. Referenced by SCIP_DECL_CONSENFOLP().
feasibility check method of constraint handler for integral solutions Definition at line 4284 of file cons_and.c. References checkCons(), SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSPROP(), SCIP_FEASIBLE, SCIP_INFEASIBLE, and SCIP_OKAY. Referenced by SCIP_DECL_CONSENFOPS().
domain propagation method of constraint handler Definition at line 4307 of file cons_and.c. References FALSE, NULL, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSPRESOL(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_REDUCEDDOM, and SCIPconshdlrGetData(). Referenced by SCIP_DECL_CONSCHECK().
presolving method of constraint handler Definition at line 4342 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_DECL_CONSRESPROP(), SCIP_DIDNOTFIND, SCIP_Longint, SCIP_OKAY, SCIP_PRESOLTIMING_EXHAUSTIVE, SCIP_Real, SCIP_SUCCESS, SCIPaddVarImplication(), SCIPaggregateVars(), SCIPallocBufferArray, SCIPallowDualReds(), SCIPblkmem(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdelCons(), SCIPdoNotAggr(), SCIPfreeBufferArray, SCIPgetNContVars(), SCIPgetNVars(), SCIPisFeasEQ(), SCIPisStopped(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), and TRUE. Referenced by SCIP_DECL_CONSPROP().
propagation conflict resolving method of constraint handler Definition at line 4553 of file cons_and.c. References resolvePropagation(), SCIP_CALL, SCIP_DECL_CONSLOCK(), and SCIP_OKAY. Referenced by SCIP_DECL_CONSPRESOL().
variable rounding lock method of constraint handler Definition at line 4563 of file cons_and.c. References NULL, SCIP_CALL, SCIP_DECL_CONSPRINT(), SCIP_OKAY, SCIPaddVarLocks(), and SCIPconsGetData(). Referenced by SCIP_DECL_CONSRESPROP().
constraint display method of constraint handler Definition at line 4586 of file cons_and.c. References consdataPrint(), NULL, SCIP_CALL, SCIP_DECL_CONSCOPY(), SCIP_OKAY, and SCIPconsGetData(). Referenced by SCIP_DECL_CONSLOCK().
constraint copying method of constraint handler Definition at line 4600 of file cons_and.c. References NULL, SCIP_CALL, SCIP_DECL_CONSPARSE(), SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetName(), SCIPcreateConsAnd(), SCIPfreeBufferArray, SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarCopy(), SCIPgetVarsAnd(), and TRUE. Referenced by SCIP_DECL_CONSPRINT().
constraint parsing method of constraint handler Definition at line 4658 of file cons_and.c. References FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSGETVARS(), SCIP_OKAY, SCIPallocBufferArray, SCIPcreateConsAnd(), SCIPdebugMessage, SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPparseVarName(), SCIPparseVarsList(), SCIPreallocBufferArray, and TRUE. Referenced by SCIP_DECL_CONSCOPY().
constraint method of constraint handler which returns the variables (if possible) Definition at line 4766 of file cons_and.c. References BMScopyMemoryArray, FALSE, NULL, SCIP_DECL_CONSGETNVARS(), SCIP_OKAY, SCIPconsGetData(), and TRUE. Referenced by SCIP_DECL_CONSPARSE().
constraint method of constraint handler which returns the number of variable (if possible) Definition at line 4787 of file cons_and.c. References NULL, SCIP_DECL_EVENTEXEC(), SCIP_OKAY, SCIPconsGetData(), and TRUE. Referenced by SCIP_DECL_CONSGETVARS().
Definition at line 4808 of file cons_and.c. References FALSE, NULL, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPeventGetType(), and SCIPincludeConshdlrAnd(). Referenced by SCIP_DECL_CONSGETNVARS().
creates the handler for AND-constraints and includes it in SCIP
Definition at line 4834 of file cons_and.c. References 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_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(), SCIPcreateConsAnd(), 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(), SCIP_DECL_EVENTEXEC(), and SCIPincludeDefaultPlugins().
creates and captures a AND-constraint
Definition at line 4922 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(), SCIPcreateConsBasicAnd(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPisTransformed(), SCIPvarGetName(), SCIPvarGetProbvar(), and SCIPvarGetType(). Referenced by CREATE_CONSTRAINT(), createAndAddAndCons(), extractGates(), findAggregation(), presolveTryAddAND(), presolveTryAddLinearReform(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSPARSE(), SCIP_DECL_EXPRGRAPHNODEREFORM(), SCIPcreateConsBasicAnd(), SCIPincludeConshdlrAnd(), 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 5032 of file cons_and.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcreateConsAnd(), SCIPgetNVarsAnd(), and TRUE. Referenced by SCIPcreateConsAnd(). gets number of variables in AND-constraint
Definition at line 5051 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetVarsAnd(). Referenced by checkAndConss(), checkOrigPbCons(), chgLhs(), chgRhs(), computeAndConstraintInfos(), computeConsAndDataChanges(), consdataFree(), consdataPrint(), countNonlinearities(), createCoveringProblem(), printAndCons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSGETNVARS(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_READERWRITE(), SCIPcreateConsBasicAnd(), SCIPcreateConsPseudobooleanWithConss(), SCIPwritePip(), transformToOrig(), and writeOpbConstraints(). gets array of variables in AND-constraint
Definition at line 5075 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetResultantAnd(). Referenced by checkAndConss(), checkOrigPbCons(), chgLhs(), chgRhs(), computeAndConstraintInfos(), computeConsAndDataChanges(), consdataFree(), consdataPrint(), countNonlinearities(), createCoveringProblem(), printAndCons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_READERWRITE(), SCIPcreateConsPseudobooleanWithConss(), SCIPgetNVarsAnd(), SCIPwritePip(), transformToOrig(), and writeOpbConstraints(). gets the resultant variable in AND-constraint
Definition at line 5100 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIP_Bool, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPisAndConsSorted(). Referenced by addCliques(), addCoefTerm(), checkAndConss(), checkOrigPbCons(), computeAndConstraintInfos(), consdataCreate(), consdataFree(), correctConshdlrdata(), correctLocksAndCaptures(), countNonlinearities(), createAndAddAndCons(), createCoveringProblem(), getLinVarsAndAndRess(), lockRoundingAndCons(), printAndCons(), SCIP_DECL_CONSCOPY(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSLOCK(), SCIP_DECL_READERWRITE(), SCIP_DECL_SORTPTRCOMP(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), SCIPgetVarsAnd(), SCIPwritePip(), transformToOrig(), tryUpgradingSetppc(), unlockRoundingAndCons(), and updateConsanddataUses(). return if the variables of the AND-constraint are sorted due to their indices
Definition at line 5123 of file cons_and.c. References CONSHDLR_NAME, FALSE, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPsortAndCons(). Referenced by computeConsAndDataChanges(), and SCIPgetResultantAnd().
sort the variables of the AND-constraint due to their indices
Definition at line 5147 of file cons_and.c. References consdataSort(), CONSHDLR_NAME, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPchgAndConsCheckFlagWhenUpgr(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by computeConsAndDataChanges(), and SCIPisAndConsSorted().
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 5176 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPchgAndConsRemovableFlagWhenUpgr(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by createAndAddAndCons(), and SCIPsortAndCons().
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 5207 of file cons_and.c. References CONSHDLR_NAME, NULL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by createAndAddAndCons(), and SCIPchgAndConsCheckFlagWhenUpgr(). |