Detailed Descriptionconstraint handler for pseudo Boolean constraints The constraint handler deals with pseudo Boolean constraints. These are constraints of the form
where all x are binary and all c are integer Definition in file cons_pseudoboolean.c. #include <assert.h> #include <string.h> #include "scip/cons_pseudoboolean.h" #include "scip/cons_and.h" #include "scip/cons_indicator.h" #include "scip/cons_knapsack.h" #include "scip/cons_linear.h" #include "scip/cons_logicor.h" #include "scip/cons_setppc.h" #include "scip/cons_xor.h" #include "scip/pub_var.h" #include "scip/debug.h" Go to the source code of this file.
Macro Definition Documentation
Definition at line 52 of file cons_pseudoboolean.c. Referenced by copyConsPseudoboolean(), createAndAddAndCons(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSDELETE(), SCIP_DECL_CONSENFOLP(), SCIP_DECL_CONSENFOPS(), SCIP_DECL_CONSFREE(), SCIP_DECL_CONSHDLRCOPY(), SCIP_DECL_CONSINIT(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSLOCK(), SCIP_DECL_CONSPRESOL(), SCIP_DECL_CONSPRINT(), SCIP_DECL_CONSTRANS(), SCIPaddCoefPseudoboolean(), SCIPaddTermPseudoboolean(), SCIPchgLhsPseudoboolean(), SCIPchgRhsPseudoboolean(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), SCIPgetAndDatasPseudoboolean(), SCIPgetIndVarPseudoboolean(), SCIPgetLhsPseudoboolean(), SCIPgetLinDatasWithoutAndPseudoboolean(), SCIPgetLinearConsPseudoboolean(), SCIPgetLinearConsTypePseudoboolean(), SCIPgetNAndsPseudoboolean(), SCIPgetNLinVarsWithoutAndPseudoboolean(), SCIPgetRhsPseudoboolean(), and SCIPincludeConshdlrPseudoboolean().
Definition at line 53 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
priority of the constraint handler for constraint enforcing Definition at line 54 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
priority of the constraint handler for checking feasibility Definition at line 55 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
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_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
maximal number of presolving rounds the constraint handler participates in (-1: no limit) Definition at line 59 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
should the constraint handler be skipped, if no constraints are available? Definition at line 60 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
presolving timing of the constraint handler (fast, medium, or exhaustive) Definition at line 62 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
decompose all normal pseudo boolean constraint into a "linear" constraint and "and" constraints Definition at line 64 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
decompose all indicator pseudo boolean constraint into a "linear" constraint and "and" constraints Definition at line 65 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
if decomposed, should the nonlinear constraints be separated during LP processing Definition at line 67 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
if decomposed, should the nonlinear constraints be propagated during node processing Definition at line 68 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
if decomposed, should the nonlinear constraints be removable Definition at line 69 of file cons_pseudoboolean.c. Referenced by SCIPincludeConshdlrPseudoboolean().
Definition at line 70 of file cons_pseudoboolean.c.
minimal size of hash table in and constraint tables Definition at line 75 of file cons_pseudoboolean.c. Referenced by inithashmapandtable().
Definition at line 1010 of file cons_pseudoboolean.c. Referenced by addCliques(), getLinVarsAndAndRess(), SCIPchgLhsPseudoboolean(), SCIPchgRhsPseudoboolean(), SCIPgetAndDatasPseudoboolean(), SCIPgetLhsPseudoboolean(), SCIPgetLinDatasWithoutAndPseudoboolean(), SCIPgetNAndsPseudoboolean(), SCIPgetNLinVarsWithoutAndPseudoboolean(), SCIPgetRhsPseudoboolean(), and tryUpgradingXor().
Definition at line 5455 of file cons_pseudoboolean.c. Referenced by checkSolution(), and tryUpgradingXor(). Typedef Documentation
Definition at line 142 of file cons_pseudoboolean.c. Function Documentation
comparison method for sorting consanddatas according to the index of their corresponding resultant variables, if a consanddata object is delete it is handled like it has an inactive resultant, so this will be put in front while sorting Definition at line 214 of file cons_pseudoboolean.c. References ConsAndData::cons, ConsAndData::istransformed, NULL, SCIP_DECL_HASHGETKEY(), SCIPconsIsDeleted(), SCIPgetResultantAnd(), and SCIPvarGetIndex().
gets the key of the given element Definition at line 276 of file cons_pseudoboolean.c. References SCIP_DECL_HASHKEYEQ(). Referenced by SCIP_DECL_SORTPTRCOMP().
returns TRUE iff both keys are equal; two non-linear terms are equal if they have the same variables Definition at line 284 of file cons_pseudoboolean.c. References ConsAndData::cons, FALSE, NULL, ConsAndData::nvars, SCIP_DECL_HASHKEYVAL(), SCIPvarCompare(), SCIPvarGetIndex(), TRUE, and ConsAndData::vars. Referenced by SCIP_DECL_HASHGETKEY().
returns the hash value of the key Definition at line 345 of file cons_pseudoboolean.c. References inithashmapandtable(), NULL, ConsAndData::nvars, SCIPvarGetIndex(), and ConsAndData::vars. Referenced by SCIP_DECL_HASHKEYEQ().
initializes the hashmap and -table used in this constraint handler data for artificial variables and specific and-constraint data objects
Definition at line 378 of file cons_pseudoboolean.c. References conshdlrdataCreate(), HASHSIZE_PSEUDOBOOLEANNONLINEARTERMS, NULL, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPhashmapCreate(), SCIPhashtableCreate(), and TRUE. Referenced by SCIP_DECL_HASHKEYVAL(), SCIPcreateConsPseudoboolean(), and SCIPcreateConsPseudobooleanWithConss().
creates constraint handler data for pseudo boolean constraint handler
Definition at line 410 of file cons_pseudoboolean.c. References conshdlrdataFree(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, and SCIPallocMemory. Referenced by inithashmapandtable(), and SCIPincludeConshdlrPseudoboolean().
frees constraint handler data for pseudo boolean constraint handler
Definition at line 445 of file cons_pseudoboolean.c. References FALSE, getLinearConsNVars(), NULL, SCIP_OKAY, SCIPfreeBlockMemoryArray, SCIPfreeMemory, SCIPhashmapFree(), and SCIPhashtableFree(). Referenced by conshdlrdataCreate(), and SCIP_DECL_CONSFREE().
gets number of variables in linear constraint
Definition at line 484 of file cons_pseudoboolean.c. References getLinearConsSides(), NULL, ConsAndData::nvars, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIPerrorMessage, SCIPgetNVarsKnapsack(), SCIPgetNVarsLinear(), SCIPgetNVarsLogicor(), and SCIPgetNVarsSetppc(). Referenced by addCliques(), checkOrigPbCons(), chgLhs(), chgRhs(), consdataCreate(), consdataPrint(), conshdlrdataFree(), correctLocksAndCaptures(), findAggregation(), getLinVarsAndAndRess(), SCIP_DECL_CONSGETNVARS(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPRESOL(), SCIPgetLinDatasWithoutAndPseudoboolean(), tryUpgrading(), tryUpgradingLogicor(), and tryUpgradingXor().
gets sides of linear constraint
Definition at line 527 of file cons_pseudoboolean.c. References getLinearConsVarsData(), SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIP_SETPPCTYPE_COVERING, SCIP_SETPPCTYPE_PACKING, SCIP_SETPPCTYPE_PARTITIONING, SCIPerrorMessage, SCIPgetCapacityKnapsack(), SCIPgetLhsLinear(), SCIPgetRhsLinear(), SCIPgetTypeSetppc(), and SCIPinfinity(). Referenced by checkOrigPbCons(), chgLhs(), chgRhs(), consdataPrint(), getLinearConsNVars(), getLinVarsAndAndRess(), SCIP_DECL_CONSINITPRE(), and SCIP_DECL_CONSPRESOL().
gets variables and coefficients of linear constraint
Definition at line 590 of file cons_pseudoboolean.c. References getLinVarsAndAndRess(), NULL, ConsAndData::nvars, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, SCIPgetNVarsKnapsack(), SCIPgetNVarsLinear(), SCIPgetNVarsLogicor(), SCIPgetNVarsSetppc(), SCIPgetValsLinear(), SCIPgetVarsKnapsack(), SCIPgetVarsLinear(), SCIPgetVarsLogicor(), SCIPgetVarsSetppc(), SCIPgetWeightsKnapsack(), SCIPsortPtr(), and SCIPsortPtrReal(). Referenced by addCliques(), checkOrigPbCons(), chgLhs(), chgRhs(), consdataPrint(), findAggregation(), getLinearConsSides(), getLinVarsAndAndRess(), SCIP_DECL_CONSGETNVARS(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_CONSINITPRE(), SCIP_DECL_CONSPRESOL(), SCIPgetLinDatasWithoutAndPseudoboolean(), tryUpgradingLogicor(), and tryUpgradingXor().
calculate all not artificial linear variables and all artificial and-resultants which will be ordered like the 'consanddatas' such that the and-resultant of the and-constraint is the and-resultant in the 'andress' array afterwards
Definition at line 749 of file cons_pseudoboolean.c. References checkConsConsistency, ConsAndData::cons, getLinearConsNVars(), getLinearConsSides(), getLinearConsVarsData(), ConsAndData::istransformed, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL_ABORT, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_OKAY, SCIP_Real, SCIP_STAGE_FREETRANS, SCIPallocBufferArray, SCIPallocClearBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPconsIsDeleted(), SCIPconsIsOriginal(), SCIPfreeBufferArray, SCIPgetResultantAnd(), SCIPgetStage(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPisEQ(), SCIPisInfinity(), SCIPisLE(), SCIPsortPtr(), SCIPsortPtrRealBool(), SCIPvarGetIndex(), SCIPvarGetNegationVar(), SCIPvarIsActive(), SCIPvarIsNegated(), TRUE, and ConsAndData::vars. Referenced by addCliques(), chgLhs(), chgRhs(), consdataPrint(), findAggregation(), getLinearConsVarsData(), SCIP_DECL_CONSGETNVARS(), SCIP_DECL_CONSGETVARS(), SCIP_DECL_CONSPRESOL(), SCIPgetLinDatasWithoutAndPseudoboolean(), tryUpgradingLogicor(), and tryUpgradingXor().
transforming transformed consanddata object back to original space, if an corresponding original constraint exists, also clearing all transformed data, i.e. releasing transformed variables
Definition at line 1018 of file cons_pseudoboolean.c. References consdataCreate(), FALSE, ConsAndData::isoriginal, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, ConsAndData::noriguses, NULL, ConsAndData::nuses, ConsAndData::nvars, ConsAndData::origcons, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPduplicateBlockMemoryArray, SCIPfreeBlockMemoryArrayNull, SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarsAnd(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashtableExists(), SCIPhashtableRetrieve(), SCIPreleaseVar(), SCIPsortPtr(), SCIPvarIsTransformed(), ConsAndData::snewvars, ConsAndData::svars, TRUE, and ConsAndData::vars. Referenced by consdataFree(), correctConshdlrdata(), and updateConsanddataUses().
creates a pseudo boolean constraint data
Definition at line 1147 of file cons_pseudoboolean.c. References consdataFree(), FALSE, getLinearConsNVars(), NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_OKAY, SCIP_STAGE_PROBLEM, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPallocBufferArray, SCIPallocClearBlockMemoryArray, SCIPcaptureVar(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPduplicateBlockMemoryArray, SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetResultantAnd(), SCIPgetStage(), SCIPgetTransformedVar(), SCIPgetTransformedVars(), SCIPhashmapGetImage(), SCIPinfinity(), SCIPisGT(), SCIPisInfinity(), SCIPisTransformed(), SCIPisZero(), SCIPsetConsChecked(), SCIPsortPtr(), SCIPsortPtrPtrRealBool(), SCIPtransformCons(), TRUE, and ConsAndData::vars. Referenced by SCIP_DECL_CONSTRANS(), SCIPcreateConsPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), and transformToOrig().
free a pseudo boolean constraint data
Definition at line 1385 of file cons_pseudoboolean.c. References checkLocksAndRes(), ConsAndData::isoriginal, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, ConsAndData::noriguses, NULL, ConsAndData::nuses, ConsAndData::nvars, ConsAndData::origcons, SCIP_CALL, SCIP_OKAY, SCIPconsIsOriginal(), SCIPfreeBlockMemory, SCIPfreeBlockMemoryArrayNull, SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarsAnd(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapRemove(), SCIPhashtableExists(), SCIPhashtableRemove(), SCIPhashtableRetrieve(), SCIPreleaseCons(), SCIPvarIsOriginal(), ConsAndData::snewvars, ConsAndData::svars, transformToOrig(), TRUE, and ConsAndData::vars. Referenced by consdataCreate(), and SCIP_DECL_CONSDELETE().
check the locks of an AND resultant and removes it from all global structures if the resultant is not locked anymore
Definition at line 1614 of file cons_pseudoboolean.c. References lockRoundingAndCons(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_STAGE_FREETRANS, SCIPgetStage(), SCIPremoveVarFromGlobalStructures(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), and SCIPvarIsActive(). Referenced by consdataFree(), SCIP_DECL_CONSLOCK(), and unlockRoundingAndCons().
installs rounding locks for the given and-constraint associated with given coefficient
Definition at line 1634 of file cons_pseudoboolean.c. References ConsAndData::cons, ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsIsLocked(), SCIPgetResultantAnd(), SCIPisInfinity(), SCIPisLE(), SCIPisPositive(), SCIPlockVarCons(), TRUE, unlockRoundingAndCons(), and ConsAndData::vars. Referenced by addCoefTerm(), addNewLocks(), and checkLocksAndRes().
removes rounding locks for the given and-constraint associated with given coefficient
Definition at line 1702 of file cons_pseudoboolean.c. References checkLocksAndRes(), ConsAndData::cons, consdataPrint(), NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPconsIsLocked(), SCIPgetResultantAnd(), SCIPisInfinity(), SCIPisLE(), SCIPisPositive(), SCIPunlockVarCons(), TRUE, and ConsAndData::vars. Referenced by correctLocksAndCaptures(), lockRoundingAndCons(), and removeOldLocks().
prints pseudoboolean constraint in CIP format to file stream
Definition at line 1770 of file cons_pseudoboolean.c. References ConsAndData::cons, createAndAddAndCons(), FALSE, getLinearConsNVars(), getLinearConsSides(), getLinearConsVarsData(), getLinVarsAndAndRess(), NULL, ConsAndData::nvars, ConsAndData::origcons, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_AGGREGATED, SCIP_VARTYPE_BINARY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPconsIsDeleted(), SCIPconsIsOriginal(), SCIPfreeBufferArray, SCIPgetBinvarRepresentative(), SCIPgetNVarsAnd(), SCIPgetVarsAnd(), SCIPhashmapGetImage(), SCIPinfoMessage(), SCIPisEQ(), SCIPisInfinity(), SCIPisLE(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPwriteVarsLinearsum(), SCIPwriteVarsList(), TRUE, and ConsAndData::vars. Referenced by SCIP_DECL_CONSPRINT(), and unlockRoundingAndCons().
creates and/or adds the resultant for a given term
Definition at line 1959 of file cons_pseudoboolean.c. References addCoefTerm(), ARTIFICIALVARNAMEPREFIX, ConsAndData::cons, CONSHDLR_NAME, FALSE, ConsAndData::isoriginal, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, ConsAndData::noriguses, NULL, ConsAndData::nuses, ConsAndData::nvars, ConsAndData::origcons, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_BINARY, SCIPABORT, SCIPaddCons(), SCIPaddVar(), SCIPallocBlockMemory, SCIPcalcMemGrowSize(), SCIPcaptureCons(), SCIPcaptureVar(), SCIPchgAndConsCheckFlagWhenUpgr(), SCIPchgAndConsRemovableFlagWhenUpgr(), SCIPchgVarBranchPriority(), SCIPconshdlrGetData(), SCIPcreateConsAnd(), SCIPcreateVar(), SCIPdebugAddSolVal, SCIPdebugGetSolVal, SCIPdebugPrintCons, SCIPduplicateBlockMemoryArray, SCIPensureBlockMemoryArray, SCIPerrorMessage, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPgetBoolParam(), SCIPgetResultantAnd(), SCIPhashmapExists(), SCIPhashmapInsert(), SCIPhashtableInsert(), SCIPhashtableRetrieve(), SCIPisFeasEQ(), SCIPisFeasZero(), SCIPisTransformed(), SCIPreleaseCons(), SCIPreleaseVar(), SCIPsnprintf(), SCIPsortPtr(), SCIPvarGetName(), SCIPvarIsOriginal(), SCIPvarIsTransformedOrigvar(), ConsAndData::snewvars, ConsAndData::svars, TRUE, and ConsAndData::vars. Referenced by addCoefTerm(), consdataPrint(), and createAndAddAnds().
adds a term to the given pseudoboolean constraint
Definition at line 2196 of file cons_pseudoboolean.c. References chgLhsLinearCons(), createAndAddAndCons(), FALSE, lockRoundingAndCons(), NULL, ConsAndData::nvars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_Longint, SCIP_OKAY, SCIPaddCoefKnapsack(), SCIPaddCoefLinear(), SCIPaddCoefLogicor(), SCIPaddCoefSetppc(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetData(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsStickingAtNode(), SCIPensureBlockMemoryArray, SCIPerrorMessage, SCIPgetResultantAnd(), SCIPhashmapGetImage(), SCIPisEQ(), SCIPisIntegral(), SCIPisPositive(), SCIPisZero(), and TRUE. Referenced by createAndAddAndCons(), and SCIPaddTermPseudoboolean().
changes left hand side of linear constraint
Definition at line 2299 of file cons_pseudoboolean.c. References chgRhsLinearCons(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIPchgLhsLinear(), and SCIPerrorMessage. Referenced by addCoefTerm(), and chgLhs().
changes right hand side of linear constraint
Definition at line 2330 of file cons_pseudoboolean.c. References chgLhs(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIPchgRhsLinear(), and SCIPerrorMessage. Referenced by chgLhsLinearCons(), and chgRhs().
sets left hand side of linear constraint
Definition at line 2361 of file cons_pseudoboolean.c. References chgLhsLinearCons(), chgRhs(), ConsAndData::cons, FALSE, getLinearConsNVars(), getLinearConsSides(), getLinearConsVarsData(), getLinVarsAndAndRess(), NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsIsLocked(), SCIPconsIsTransformed(), SCIPfreeBufferArray, SCIPgetNVarsAnd(), SCIPgetVarsAnd(), SCIPinfinity(), SCIPisEQ(), SCIPisInfinity(), SCIPisLE(), SCIPisLT(), SCIPisPositive(), SCIPlockVarCons(), SCIPunlockVarCons(), TRUE, and ConsAndData::vars. Referenced by chgRhsLinearCons(), and SCIPchgLhsPseudoboolean().
sets right hand side of pseudoboolean constraint
Definition at line 2534 of file cons_pseudoboolean.c. References chgRhsLinearCons(), ConsAndData::cons, createAndAddAnds(), FALSE, getLinearConsNVars(), getLinearConsSides(), getLinearConsVarsData(), getLinVarsAndAndRess(), NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsIsLocked(), SCIPconsIsTransformed(), SCIPfreeBufferArray, SCIPgetNVarsAnd(), SCIPgetVarsAnd(), SCIPinfinity(), SCIPisEQ(), SCIPisGT(), SCIPisInfinity(), SCIPisLE(), SCIPisPositive(), SCIPlockVarCons(), SCIPunlockVarCons(), TRUE, and ConsAndData::vars. Referenced by chgLhs(), and SCIPchgRhsPseudoboolean().
create and-constraints and get all and-resultants
Definition at line 2707 of file cons_pseudoboolean.c. References createAndAddAndCons(), createAndAddLinearCons(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, and SCIPisZero(). Referenced by chgRhs(), and SCIPcreateConsPseudoboolean().
created linear constraint of pseudo boolean constraint
Definition at line 2775 of file cons_pseudoboolean.c. References checkOrigPbCons(), ConsAndData::cons, FALSE, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_Longint, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCoefLinear(), SCIPaddCons(), SCIPallocBufferArray, SCIPcaptureCons(), SCIPconsAddUpgradeLocks(), SCIPconshdlrGetData(), SCIPcreateConsKnapsack(), SCIPcreateConsLinear(), SCIPcreateConsLogicor(), SCIPcreateConsSetcover(), SCIPcreateConsSetpack(), SCIPcreateConsSetpart(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPfeasFloor(), SCIPfindConshdlr(), SCIPfreeBufferArray, SCIPgetNegatedVar(), SCIPinfinity(), SCIPisEQ(), SCIPisFeasIntegral(), SCIPisInfinity(), SCIPisIntegral(), SCIPisPositive(), SCIPisZero(), SCIPreleaseCons(), SCIPsnprintf(), SCIPwarningMessage(), and TRUE. Referenced by createAndAddAnds(), and SCIPcreateConsPseudoboolean().
checks one original pseudoboolean constraint for feasibility of given solution
Definition at line 3401 of file cons_pseudoboolean.c. References checkAndConss(), FALSE, getLinearConsNVars(), getLinearConsSides(), getLinearConsVarsData(), NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconsIsOriginal(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPfreeBufferArray, SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetSolVal(), SCIPgetVarsAnd(), SCIPhashmapExists(), SCIPinfoMessage(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisFeasZero(), SCIPisInfinity(), SCIPisLE(), SCIPprintCons(), SCIPsortPtrReal(), SCIPvarGetNegationVar(), SCIPvarIsNegated(), TRUE, and ConsAndData::vars. Referenced by createAndAddLinearCons(), and SCIP_DECL_CONSCHECK().
checks all and-constraints inside the pseudoboolean constraint handler for feasibility of given solution or current solution
Definition at line 3628 of file cons_pseudoboolean.c. References copyConsPseudoboolean(), FALSE, NULL, ConsAndData::nvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPconshdlrGetData(), SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetSolVal(), SCIPgetVarsAnd(), SCIPincConsAge(), SCIPisFeasEQ(), SCIPisFeasZero(), SCIPresetConsAge(), TRUE, and ConsAndData::vars. Referenced by checkOrigPbCons(), SCIP_DECL_CONSCHECK(), SCIP_DECL_CONSENFOLP(), and SCIP_DECL_CONSENFOPS().
creates by copying and captures a linear constraint
Definition at line 3701 of file cons_pseudoboolean.c. References computeConsAndDataChanges(), ConsAndData::cons, CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_MINIMAL, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsPseudobooleanWithConss(), SCIPdebugMessage, SCIPerrorMessage, SCIPfindConshdlr(), SCIPfreeBufferArrayNull, SCIPgetConsCopy(), SCIPgetVarCopy(), SCIPreleaseCons(), SCIPverbMessage(), and TRUE. Referenced by checkAndConss(), and SCIP_DECL_CONSCOPY().
compute all changes in consanddatas array
Definition at line 3949 of file cons_pseudoboolean.c. References BMScopyMemoryArray, ConsAndData::cons, FALSE, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nuses, ConsAndData::nvars, removeOldLocks(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPcaptureVar(), SCIPconsIsDeleted(), SCIPensureBlockMemoryArray, SCIPgetNVarsAnd(), SCIPgetVarsAnd(), SCIPisAndConsSorted(), SCIPsortAndCons(), SCIPvarGetIndex(), ConsAndData::snewvars, TRUE, and ConsAndData::vars. Referenced by copyConsPseudoboolean(), and SCIP_DECL_CONSPRESOL().
remove old locks
Definition at line 4073 of file cons_pseudoboolean.c. References addNewLocks(), ConsAndData::cons, NULL, SCIP_CALL, SCIP_OKAY, SCIPisInfinity(), SCIPisLE(), and unlockRoundingAndCons(). Referenced by computeConsAndDataChanges(), correctLocksAndCaptures(), and updateConsanddataUses().
add new locks
Definition at line 4101 of file cons_pseudoboolean.c. References ConsAndData::cons, correctLocksAndCaptures(), lockRoundingAndCons(), NULL, SCIP_CALL, SCIP_OKAY, SCIPisInfinity(), and SCIPisLE(). Referenced by correctLocksAndCaptures(), and removeOldLocks().
update all locks inside this constraint and all captures on all and-constraints
Definition at line 4129 of file cons_pseudoboolean.c. References addCliques(), addNewLocks(), ConsAndData::cons, FALSE, getLinearConsNVars(), ConsAndData::istransformed, ConsAndData::nnewvars, NULL, ConsAndData::nuses, removeOldLocks(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBlockMemoryArray, SCIPconsGetData(), SCIPconsIsDeleted(), SCIPfreeBlockMemoryArray, SCIPgetResultantAnd(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPisEQ(), SCIPisInfinity(), SCIPisLE(), SCIPisZero(), SCIPsortPtrRealBool(), SCIPvarGetIndex(), TRUE, and unlockRoundingAndCons(). Referenced by addNewLocks(), and SCIP_DECL_CONSPRESOL().
adds cliques of the pseudoboolean constraint to the global clique table
Definition at line 4495 of file cons_pseudoboolean.c. References checkConsConsistency, ConsAndData::cons, FALSE, getLinearConsNVars(), getLinearConsVarsData(), getLinVarsAndAndRess(), ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_VARSTATUS_NEGATED, SCIPaddClique(), SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsSetpack(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPfreeBufferArray, SCIPgetResultantAnd(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetName(), SCIPvarGetNegatedVar(), SCIPvarGetNegationVar(), SCIPvarGetStatus(), SCIPvarIsActive(), SCIPvarIsNegated(), SCIPvarsHaveCommonClique(), TRUE, and ConsAndData::vars. Referenced by correctLocksAndCaptures(), and SCIP_DECL_CONSPRESOL().
propagation method for pseudoboolean constraints
Definition at line 4899 of file cons_pseudoboolean.c. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsDeleted(), SCIPdelConsLocal(), TRUE, and updateAndConss(). Referenced by addCliques(), and SCIP_DECL_CONSPRESOL().
update and-constraint flags due to pseudoboolean constraint flags
Definition at line 4938 of file cons_pseudoboolean.c. References ConsAndData::cons, correctConshdlrdata(), ConsAndData::istransformed, NULL, SCIP_CALL, SCIP_OKAY, SCIPconsGetData(), SCIPconsIsActive(), SCIPconsIsChecked(), and SCIPsetConsChecked(). Referenced by propagateCons(), SCIP_DECL_CONSINITPRE(), and SCIP_DECL_CONSPRESOL().
delete unused information in constraint handler data
Definition at line 4982 of file cons_pseudoboolean.c. References ConsAndData::cons, FALSE, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, ConsAndData::noriguses, NULL, ConsAndData::nuses, ConsAndData::nvars, ConsAndData::origcons, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPallocBufferArray, SCIPconsIsDeleted(), SCIPdelCons(), SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetFixedVars(), SCIPgetNFixedVars(), SCIPgetNVars(), SCIPgetProbvarLinearSum(), SCIPgetResultantAnd(), SCIPhashmapExists(), SCIPhashmapRemove(), SCIPhashtableExists(), SCIPhashtableRemove(), SCIPreallocBufferArray, SCIPreleaseCons(), SCIPreleaseVar(), SCIPsetConsChecked(), SCIPsetConsInitial(), SCIPsetConsSeparated(), SCIPsortedvecFindPtr(), SCIPsortPtr(), SCIPvarGetStatus(), SCIPvarsGetProbvar(), ConsAndData::snewvars, ConsAndData::svars, transformToOrig(), TRUE, updateConsanddataUses(), and ConsAndData::vars. Referenced by SCIP_DECL_CONSPRESOL(), and updateAndConss().
update the uses counter of consandata objects which are used in pseudoboolean constraint, that were deleted and probably delete and-constraints
Definition at line 5269 of file cons_pseudoboolean.c. References ARTIFICIALVARNAMEPREFIX, ConsAndData::cons, FALSE, ConsAndData::istransformed, NULL, ConsAndData::nuses, ConsAndData::origcons, removeOldLocks(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_MULTAGGR, SCIPconsGetData(), SCIPconsIsChecked(), SCIPconsIsDeleted(), SCIPdelCons(), SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetFixedVars(), SCIPgetNFixedVars(), SCIPgetResultantAnd(), SCIPhashmapExists(), SCIPhashmapRemove(), SCIPhashtableExists(), SCIPhashtableRemove(), SCIPreleaseCons(), SCIPsetConsChecked(), SCIPsetConsInitial(), SCIPsetConsSeparated(), SCIPsortedvecFindPtr(), SCIPsortPtr(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarsGetProbvar(), transformToOrig(), and TRUE. Referenced by correctConshdlrdata(), findAggregation(), and tryUpgrading().
calculate result for a given pseudoboolean constraint with given values, this is used to decide whether a pseudoboolean constraint can be upgrade to an XOR constraint
Definition at line 5461 of file cons_pseudoboolean.c. References BMSclearMemoryArray, FALSE, ConsAndData::istransformed, MAXNVARS, ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPgetBinvarRepresentatives(), SCIPisEQ(), SCIPisZero(), SCIPsortedvecFindPtr(), SCIPsortPtr(), SCIPsortPtrBool(), SCIPvarGetNegatedVar(), SCIPvarGetNegationVar(), SCIPvarIsNegated(), TRUE, tryUpgradingXor(), and ConsAndData::vars. Referenced by tryUpgradingXor().
try upgrading pseudoboolean linear constraint to an XOR constraint and/or remove possible and-constraints
Definition at line 5635 of file cons_pseudoboolean.c. References BMSclearMemoryArray, checkConsConsistency, checkSolution(), FALSE, getLinearConsNVars(), getLinearConsVarsData(), getLinVarsAndAndRess(), ConsAndData::istransformed, MAXNVARS, ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCons(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsXor(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetBinvarRepresentatives(), SCIPgetProbvarLinearSum(), SCIPisEQ(), SCIPisZero(), SCIPreleaseCons(), SCIPsnprintf(), SCIPsortPtr(), SCIPvarGetIndex(), SCIPvarGetLbGlobal(), SCIPvarGetNegationVar(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsNegated(), TRUE, tryUpgradingLogicor(), and ConsAndData::vars. Referenced by checkSolution(), and tryUpgrading().
try upgrading pseudoboolean logicor constraint to a linear constraint and/or remove possible and-constraints
Definition at line 5926 of file cons_pseudoboolean.c. References getLinearConsNVars(), getLinearConsVarsData(), getLinVarsAndAndRess(), ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCoefLinear(), SCIPaddCons(), SCIPallocBufferArray, SCIPchgLhsLinear(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPduplicateBufferArray, SCIPfixVar(), SCIPfreeBufferArray, SCIPinfinity(), SCIPisEQ(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetIndex(), TRUE, tryUpgradingSetppc(), and ConsAndData::vars. Referenced by tryUpgrading(), and tryUpgradingXor().
try upgrading pseudoboolean setppc constraint to a linear constraint and/or remove possible and-constraints
Definition at line 6438 of file cons_pseudoboolean.c. References ConsAndData::cons, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_SETPPC, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_SETPPCTYPE_COVERING, SCIP_SETPPCTYPE_PACKING, SCIP_SETPPCTYPE_PARTITIONING, SCIPaddCoefLinear(), SCIPaddCons(), SCIPchgRhsLinear(), SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsLinear(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPduplicateBufferArray, SCIPerrorMessage, SCIPfixVar(), SCIPfreeBufferArray, SCIPgetResultantAnd(), SCIPgetTypeSetppc(), SCIPinfinity(), SCIPisLE(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetIndex(), TRUE, tryUpgrading(), and ConsAndData::vars. Referenced by tryUpgrading(), and tryUpgradingLogicor().
try upgrading pseudoboolean constraint to a linear constraint and/or remove possible and-constraints
Definition at line 6914 of file cons_pseudoboolean.c. References findAggregation(), getLinearConsNVars(), NULL, ConsAndData::nvars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIPconsAddUpgradeLocks(), SCIPconsGetData(), SCIPconsGetNUpgradeLocks(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPdelCons(), SCIPerrorMessage, TRUE, tryUpgradingLogicor(), tryUpgradingSetppc(), tryUpgradingXor(), and updateConsanddataUses(). Referenced by SCIP_DECL_CONSPRESOL(), and tryUpgradingSetppc().
check if we can aggregated some variables
Definition at line 7012 of file cons_pseudoboolean.c. References BMSclearMemoryArray, FALSE, getLinearConsNVars(), getLinearConsVarsData(), getLinVarsAndAndRess(), ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSHDLRCOPY(), SCIP_LINEARCONSTYPE_SETPPC, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIP_SETPPCTYPE_PARTITIONING, SCIPaddCons(), SCIPaggregateVars(), SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPcreateConsAnd(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfreeBufferArray, SCIPgetBinvarRepresentatives(), SCIPgetTypeSetppc(), SCIPisEQ(), SCIPreleaseCons(), SCIPsnprintf(), SCIPsortedvecFindPtr(), SCIPsortPtrBool(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetNegatedVar(), SCIPvarGetNegationVar(), SCIPvarGetUbGlobal(), SCIPvarIsActive(), SCIPvarIsNegated(), TRUE, updateConsanddataUses(), and ConsAndData::vars. Referenced by SCIP_DECL_CONSPRESOL(), and tryUpgrading().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 7465 of file cons_pseudoboolean.c. References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSFREE(), SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrPseudoboolean(), and TRUE. Referenced by findAggregation().
destructor of constraint handler to free constraint handler data (called when SCIP is exiting) Definition at line 7481 of file cons_pseudoboolean.c. References CONSHDLR_NAME, conshdlrdataFree(), NULL, SCIP_CALL, SCIP_DECL_CONSINIT(), SCIP_OKAY, SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPconshdlrSetData(). Referenced by SCIP_DECL_CONSHDLRCOPY().
initialization method of constraint handler (called after problem was transformed) Definition at line 7503 of file cons_pseudoboolean.c. References CONSHDLR_NAME, NULL, ConsAndData::nvars, SCIP_CALL, SCIP_DECL_CONSINITPRE(), SCIP_OKAY, SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsTransformed(), SCIPdebugMessage, SCIPgetResultantAnd(), SCIPhashmapExists(), SCIPhashmapInsert(), SCIPvarGetIndex(), SCIPvarGetName(), SCIPvarIsTransformed(), and ConsAndData::vars. Referenced by SCIP_DECL_CONSFREE().
presolving initialization method of constraint handler (called when presolving is about to begin) Definition at line 7561 of file cons_pseudoboolean.c. References ConsAndData::cons, CONSHDLR_NAME, FALSE, getLinearConsNVars(), getLinearConsSides(), getLinearConsVarsData(), NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSDELETE(), SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPaddCoefLinear(), SCIPaddCons(), SCIPallocBufferArray, SCIPconsAddUpgradeLocks(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsAdded(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateConsIndicator(), SCIPcreateConsLinear(), SCIPdebugPrintCons, SCIPdelCons(), SCIPfreeBufferArray, SCIPgetNegatedVar(), SCIPinfinity(), SCIPisInfinity(), SCIPisLE(), SCIPreleaseCons(), SCIPsnprintf(), SCIPwarningMessage(), TRUE, updateAndConss(), and ConsAndData::vars. Referenced by SCIP_DECL_CONSINIT().
frees specific constraint data Definition at line 7848 of file cons_pseudoboolean.c. References consdataFree(), CONSHDLR_NAME, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSTRANS(), SCIP_OKAY, SCIPconshdlrGetData(), SCIPconshdlrGetName(), and SCIPconsIsOriginal(). Referenced by SCIP_DECL_CONSINITPRE().
transforms constraint data into data belonging to the transformed problem Definition at line 7891 of file cons_pseudoboolean.c. References consdataCreate(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSENFOLP(), SCIP_OKAY, SCIP_STAGE_TRANSFORMING, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPconsIsChecked(), SCIPconsIsDynamic(), SCIPconsIsEnforced(), SCIPconsIsInitial(), SCIPconsIsLocal(), SCIPconsIsModifiable(), SCIPconsIsOriginal(), SCIPconsIsPropagated(), SCIPconsIsRemovable(), SCIPconsIsSeparated(), SCIPconsIsStickingAtNode(), SCIPcreateCons(), SCIPfreeBufferArray, SCIPgetStage(), and TRUE. Referenced by SCIP_DECL_CONSDELETE().
constraint enforcing method of constraint handler for LP solutions Definition at line 7943 of file cons_pseudoboolean.c. References checkAndConss(), CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSENFOPS(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, and SCIPconshdlrGetName(). Referenced by SCIP_DECL_CONSTRANS().
constraint enforcing method of constraint handler for pseudo solutions Definition at line 7968 of file cons_pseudoboolean.c. References checkAndConss(), CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSCHECK(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, and SCIPconshdlrGetName(). Referenced by SCIP_DECL_CONSENFOLP().
feasibility check method of constraint handler for integral solutions Definition at line 7993 of file cons_pseudoboolean.c. References checkAndConss(), checkOrigPbCons(), CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSPRESOL(), SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPconsGetData(), SCIPconshdlrGetName(), SCIPconsIsOriginal(), SCIPgetSolVal(), and SCIPisEQ(). Referenced by SCIP_DECL_CONSENFOPS().
presolving method of constraint handler Definition at line 8045 of file cons_pseudoboolean.c. References addCliques(), computeConsAndDataChanges(), ConsAndData::cons, CONSHDLR_NAME, correctConshdlrdata(), correctLocksAndCaptures(), FALSE, findAggregation(), getLinearConsNVars(), getLinearConsSides(), getLinearConsVarsData(), getLinVarsAndAndRess(), NULL, ConsAndData::nvars, propagateCons(), SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DECL_CONSLOCK(), SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetData(), SCIPconshdlrGetName(), SCIPconsIsActive(), SCIPconsIsDeleted(), SCIPconsIsModifiable(), SCIPdebugMessage, SCIPdebugPrintCons, SCIPdelCons(), SCIPfreeBufferArray, SCIPisInfinity(), SCIPisLE(), SCIPisStopped(), TRUE, tryUpgrading(), updateAndConss(), and ConsAndData::vars. Referenced by SCIP_DECL_CONSCHECK().
variable rounding lock method of constraint handler Definition at line 8240 of file cons_pseudoboolean.c. References checkLocksAndRes(), ConsAndData::cons, CONSHDLR_NAME, FALSE, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, NULL, ConsAndData::nvars, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSPRINT(), SCIP_OKAY, SCIP_Real, SCIPaddVarLocks(), SCIPconsGetData(), SCIPconsGetName(), SCIPconshdlrGetName(), SCIPdebugMessage, SCIPfreeBlockMemoryArrayNull, SCIPgetResultantAnd(), SCIPisInfinity(), SCIPisLE(), SCIPisPositive(), ConsAndData::snewvars, ConsAndData::svars, and ConsAndData::vars. Referenced by SCIP_DECL_CONSPRESOL().
constraint display method of constraint handler Definition at line 8384 of file cons_pseudoboolean.c. References consdataPrint(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DECL_CONSCOPY(), SCIP_OKAY, and SCIPconshdlrGetName(). Referenced by SCIP_DECL_CONSLOCK().
constraint copying method of constraint handler Definition at line 8398 of file cons_pseudoboolean.c. References copyConsPseudoboolean(), FALSE, NULL, SCIP_CALL, SCIP_DECL_CONSGETVARS(), SCIP_OKAY, and SCIPconsGetName(). Referenced by SCIP_DECL_CONSPRINT().
constraint method of constraint handler which returns the variables (if possible) Definition at line 8421 of file cons_pseudoboolean.c. References BMScopyMemoryArray, ConsAndData::cons, FALSE, getLinearConsNVars(), getLinearConsVarsData(), getLinVarsAndAndRess(), ConsAndData::istransformed, NULL, ConsAndData::nvars, ConsAndData::origcons, SCIP_Bool, SCIP_CALL, SCIP_DECL_CONSGETNVARS(), SCIP_INVALIDDATA, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsDeleted(), SCIPconsIsTransformed(), SCIPfreeBufferArray, SCIPgetNVarsAnd(), SCIPgetVarsAnd(), SCIPhashmapGetImage(), and TRUE. Referenced by SCIP_DECL_CONSCOPY().
constraint method of constraint handler which returns the number of variables (if possible) Definition at line 8590 of file cons_pseudoboolean.c. References ConsAndData::cons, getLinearConsNVars(), getLinearConsVarsData(), getLinVarsAndAndRess(), ConsAndData::istransformed, NULL, ConsAndData::nvars, ConsAndData::origcons, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocBufferArray, SCIPconsGetData(), SCIPconshdlrGetData(), SCIPconsIsDeleted(), SCIPconsIsTransformed(), SCIPfreeBufferArray, SCIPgetNVarsAnd(), SCIPhashmapGetImage(), SCIPincludeConshdlrPseudoboolean(), and TRUE. Referenced by SCIP_DECL_CONSGETVARS().
creates the handler for pseudoboolean constraints and includes it in SCIP
Definition at line 8718 of file cons_pseudoboolean.c. References CONSHDLR_CHECKPRIORITY, CONSHDLR_DESC, CONSHDLR_EAGERFREQ, CONSHDLR_ENFOPRIORITY, CONSHDLR_MAXPREROUNDS, CONSHDLR_NAME, CONSHDLR_NEEDSCONS, CONSHDLR_PRESOLTIMING, conshdlrdataCreate(), DEFAULT_DECOMPOSEINDICATORPBCONS, DEFAULT_DECOMPOSENORMALPBCONS, DEFAULT_PROPAGATENONLINEAR, DEFAULT_REMOVABLENONLINEAR, DEFAULT_SEPARATENONLINEAR, NULL, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPcreateConsPseudobooleanWithConss(), SCIPincludeConshdlrBasic(), SCIPsetConshdlrCopy(), SCIPsetConshdlrDelete(), SCIPsetConshdlrFree(), SCIPsetConshdlrGetNVars(), SCIPsetConshdlrGetVars(), SCIPsetConshdlrInit(), SCIPsetConshdlrInitpre(), SCIPsetConshdlrPresol(), SCIPsetConshdlrPrint(), SCIPsetConshdlrTrans(), and TRUE. Referenced by SCIP_DECL_CONSGETNVARS(), SCIP_DECL_CONSHDLRCOPY(), and SCIPincludeDefaultPlugins().
creates and captures a pseudoboolean constraint, with given linear and and-constraints
Definition at line 8771 of file cons_pseudoboolean.c. References BMScopyMemoryArray, ConsAndData::cons, consdataCreate(), CONSHDLR_NAME, FALSE, inithashmapandtable(), ConsAndData::isoriginal, ConsAndData::istransformed, ConsAndData::newvars, ConsAndData::nnewvars, ConsAndData::noriguses, NULL, ConsAndData::nuses, ConsAndData::nvars, ConsAndData::origcons, SCIP_Bool, SCIP_CALL, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPallocBlockMemory, SCIPcalcMemGrowSize(), SCIPcaptureCons(), SCIPcaptureVar(), SCIPconsAddUpgradeLocks(), SCIPconshdlrGetData(), SCIPconsIsTransformed(), SCIPcreateCons(), SCIPcreateConsPseudoboolean(), SCIPduplicateBlockMemoryArray, SCIPensureBlockMemoryArray, SCIPerrorMessage, SCIPfindConshdlr(), SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPgetNVarsAnd(), SCIPgetResultantAnd(), SCIPgetVarsAnd(), SCIPhashmapExists(), SCIPhashmapInsert(), SCIPhashtableInsert(), SCIPhashtableRetrieve(), SCIPinfinity(), SCIPisInfinity(), SCIPsortPtr(), SCIPwarningMessage(), ConsAndData::snewvars, ConsAndData::svars, TRUE, and ConsAndData::vars. Referenced by copyConsPseudoboolean(), and SCIPincludeConshdlrPseudoboolean().
creates and captures a pseudoboolean constraint
Definition at line 9040 of file cons_pseudoboolean.c. References consdataCreate(), CONSHDLR_NAME, createAndAddAnds(), createAndAddLinearCons(), FALSE, inithashmapandtable(), NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPallocBufferArray, SCIPconshdlrGetData(), SCIPcreateCons(), SCIPcreateConsBasicPseudoboolean(), SCIPerrorMessage, SCIPfindConshdlr(), SCIPfreeBufferArray, SCIPgetResultantAnd(), SCIPinfinity(), and SCIPisInfinity(). Referenced by readConstraints(), SCIPcreateConsBasicPseudoboolean(), SCIPcreateConsPseudobooleanWithConss(), and setObjective().
creates and captures a pseudoboolean constraint in its most basic variant, i. e., with all constraint flags set to their default values
Definition at line 9187 of file cons_pseudoboolean.c. References FALSE, SCIP_CALL, SCIP_OKAY, SCIPaddCoefPseudoboolean(), SCIPcreateConsPseudoboolean(), and TRUE. Referenced by SCIPcreateConsPseudoboolean().
adds a variable to the pseudo boolean constraint (if it is not zero)
Definition at line 9222 of file cons_pseudoboolean.c. References CONSHDLR_NAME, FALSE, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_Longint, SCIP_OKAY, SCIPABORT, SCIPaddCoefKnapsack(), SCIPaddCoefLinear(), SCIPaddCoefLogicor(), SCIPaddCoefSetppc(), SCIPaddTermPseudoboolean(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPisEQ(), SCIPisIntegral(), SCIPisPositive(), and SCIPisZero(). Referenced by SCIPcreateConsBasicPseudoboolean().
adds nonlinear term to pseudo boolean constraint (if it is not zero)
Definition at line 9299 of file cons_pseudoboolean.c. References addCoefTerm(), CONSHDLR_NAME, NULL, ConsAndData::nvars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetIndVarPseudoboolean(). Referenced by SCIPaddCoefPseudoboolean(). gets indicator variable of pseudoboolean constraint, or NULL if there is no
Definition at line 9324 of file cons_pseudoboolean.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetLinearConsPseudoboolean(). Referenced by SCIPaddTermPseudoboolean(), and writeOpbConstraints(). gets linear constraint of pseudoboolean constraint
Definition at line 9348 of file cons_pseudoboolean.c. References CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetLinearConsTypePseudoboolean(). Referenced by SCIPgetIndVarPseudoboolean(), and writeOpbConstraints().
gets type of linear constraint of pseudoboolean constraint
Definition at line 9372 of file cons_pseudoboolean.c. References CONSHDLR_NAME, NULL, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetNLinVarsWithoutAndPseudoboolean(). Referenced by SCIPgetLinearConsPseudoboolean(). gets number of linear variables without artificial terms variables of pseudoboolean constraint
Definition at line 9396 of file cons_pseudoboolean.c. References checkConsConsistency, CONSHDLR_NAME, NULL, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetLinDatasWithoutAndPseudoboolean(). Referenced by SCIPgetLinearConsTypePseudoboolean(), and writeOpbConstraints().
gets linear constraint of pseudoboolean constraint
Definition at line 9422 of file cons_pseudoboolean.c. References checkConsConsistency, CONSHDLR_NAME, getLinearConsNVars(), getLinearConsVarsData(), getLinVarsAndAndRess(), NULL, ConsAndData::nvars, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPallocBufferArray, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetAndDatasPseudoboolean(), and ConsAndData::vars. Referenced by SCIPgetNLinVarsWithoutAndPseudoboolean(), and writeOpbConstraints().
gets and-constraints of pseudoboolean constraint
Definition at line 9482 of file cons_pseudoboolean.c. References checkConsConsistency, CONSHDLR_NAME, NULL, SCIP_Bool, SCIP_INVALIDDATA, SCIP_OKAY, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPconsIsOriginal(), SCIPerrorMessage, SCIPgetNAndsPseudoboolean(), and TRUE. Referenced by SCIPgetLinDatasWithoutAndPseudoboolean(), and writeOpbConstraints(). gets number of and constraints of pseudoboolean constraint
Definition at line 9542 of file cons_pseudoboolean.c. References checkConsConsistency, CONSHDLR_NAME, NULL, SCIPABORT, SCIPchgLhsPseudoboolean(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by SCIPgetAndDatasPseudoboolean(), and writeOpbConstraints().
changes left hand side of pseudoboolean constraint
Definition at line 9574 of file cons_pseudoboolean.c. References checkConsConsistency, chgLhs(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIPchgRhsPseudoboolean(), SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by SCIPgetNAndsPseudoboolean().
changes right hand side of pseudoboolean constraint
Definition at line 9625 of file cons_pseudoboolean.c. References checkConsConsistency, chgRhs(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LINEARCONSTYPE_INVALIDCONS, SCIP_LINEARCONSTYPE_KNAPSACK, SCIP_LINEARCONSTYPE_LINEAR, SCIP_LINEARCONSTYPE_LOGICOR, SCIP_LINEARCONSTYPE_SETPPC, SCIP_OKAY, SCIP_Real, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetLhsPseudoboolean(). Referenced by SCIPchgLhsPseudoboolean(). get left hand side of pseudoboolean constraint
Definition at line 9667 of file cons_pseudoboolean.c. References checkConsConsistency, CONSHDLR_NAME, NULL, SCIP_INVALID, SCIP_Real, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, and SCIPgetRhsPseudoboolean(). Referenced by SCIPchgRhsPseudoboolean(), and writeOpbConstraints(). get right hand side of pseudoboolean constraint
Definition at line 9690 of file cons_pseudoboolean.c. References checkConsConsistency, CONSHDLR_NAME, NULL, SCIP_INVALID, SCIPABORT, SCIPconsGetData(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), and SCIPerrorMessage. Referenced by SCIPgetLhsPseudoboolean(), and writeOpbConstraints(). |