All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
prop_genvbounds.c File Reference Detailed Descriptiongeneralized variable bounds propagator Definition in file prop_genvbounds.c. Go to the source code of this file.
Macro Definition Documentation
Definition at line 35 of file prop_genvbounds.c. Referenced by SCIP_DECL_PROPEXEC(), SCIP_DECL_PROPEXITPRE(), SCIP_DECL_PROPEXITSOL(), SCIP_DECL_PROPFREE(), SCIP_DECL_PROPINIT(), SCIP_DECL_PROPPRESOL(), SCIPgenVBoundAdd(), and SCIPincludePropGenvbounds().
Definition at line 36 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
Definition at line 37 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
propagator priority Definition at line 38 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
propagator frequency Definition at line 39 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
should propagation method be delayed, if other propagators found reductions? Definition at line 40 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
priority of the presolving method (>= 0: before, < 0: after constraint handlers); combined with presolvers Definition at line 42 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
should presolving be delay, if other presolvers found reductions? Definition at line 44 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
maximal number of presolving rounds the presolver participates in (-1: no limit) Definition at line 46 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
apply global propagation? Definition at line 48 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
apply genvbounds in root node if no new incumbent was found? Definition at line 49 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
sort genvbounds and wait for bound change events? (otherwise all genvbounds are applied in each node) Definition at line 50 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
Definition at line 53 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds().
Definition at line 54 of file prop_genvbounds.c. Referenced by SCIPincludePropGenvbounds(). Typedef DocumentationDefinition at line 75 of file prop_genvbounds.c. Function Documentationreturns correct cutoff bound value
Definition at line 135 of file prop_genvbounds.c. References NULL, SCIPdebugMessage, SCIPgetCutoffbound(), SCIPgetTransObjoffset(), and SCIPgetTransObjscale(). Referenced by getGenVBoundsBound(), and resolveGenVBoundPropagation().
returns corresponding genvbound in genvboundstore if there is one, NULL otherwise
Definition at line 158 of file prop_genvbounds.c. References NULL, SCIP_BOUNDTYPE_LOWER, and SCIPhashmapGetImage(). Referenced by addNewGenVBound(), and SCIPgenVBoundAdd().
calculates the minactivity of a linear combination of variables stored in an array
Definition at line 225 of file prop_genvbounds.c. References NULL, SCIP_Real, SCIPinfinity(), SCIPisInfinity(), SCIPisZero(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), and SCIPvarGetUbLocal(). Referenced by getGenVBoundsBound().
calculates the minactivity of a linear combination of variables stored in the current conflict set
Definition at line 268 of file prop_genvbounds.c. References NULL, SCIP_Real, SCIPgetConflictVarLb(), SCIPgetConflictVarUb(), SCIPinfinity(), SCIPisEQ(), SCIPisInfinity(), SCIPisZero(), SCIPvarGetLbAtIndex(), SCIPvarGetLbLocal(), SCIPvarGetUbAtIndex(), SCIPvarGetUbLocal(), and TRUE. Referenced by resolveGenVBoundPropagation(). returns a valid bound given by a generalized variable bound
Definition at line 330 of file prop_genvbounds.c. References GenVBound::boundtype, GenVBound::coefs, GenVBound::constant, GenVBound::cutoffcoef, getCutoffboundGenVBound(), getGenVBoundsMinActivity(), GenVBound::ncoefs, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIPinfinity(), SCIPisInfinity(), and GenVBound::vars. Referenced by applyGenVBound().
allocate local and global startindices, startcomponents and startmap
Definition at line 412 of file prop_genvbounds.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPallocMemoryArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPdebugMessage, and SCIPhashmapCreate(). Referenced by execGenVBounds().
free local and global startindices, startcomponents and startmap
Definition at line 451 of file prop_genvbounds.c. References NULL, SCIP_OKAY, SCIPdebugMessage, SCIPfreeMemoryArray, and SCIPhashmapFree(). Referenced by execGenVBounds(), and SCIP_DECL_PROPEXITSOL().
Definition at line 494 of file prop_genvbounds.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPisNegative(), SCIPisZero(), and SCIPreallocMemoryArray. Referenced by execGenVBounds().
resets local starting data
Definition at line 542 of file prop_genvbounds.c. References NULL, SCIP_CALL, SCIP_OKAY, and SCIPhashmapRemoveAll(). Referenced by applyGenVBounds(), and SCIP_DECL_EVENTEXEC().
frees sorted components data
Definition at line 562 of file prop_genvbounds.c. References NULL, SCIP_OKAY, SCIPdebugMessage, and SCIPfreeMemoryArray. Referenced by execGenVBounds(), and SCIP_DECL_PROPEXITSOL().
frees memory allocated for a generalized variable bound Definition at line 588 of file prop_genvbounds.c. References GenVBound::coefs, NULL, SCIP_OKAY, SCIPfreeMemory, SCIPfreeMemoryArray, and GenVBound::vars. Referenced by SCIP_DECL_PROPEXITPRE(), and SCIP_DECL_PROPEXITSOL().
resolves propagation of lower bound on +/- left-hand side variable of a generalized variable bound
Definition at line 608 of file prop_genvbounds.c. References GenVBound::boundtype, GenVBound::coefs, GenVBound::constant, GenVBound::cutoffcoef, FALSE, getCutoffboundGenVBound(), getGenVBoundsMinActivityConflict(), MAX, GenVBound::ncoefs, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPdebugMessage, SCIPfeasCeil(), SCIPgetConflictVarLb(), SCIPgetConflictVarUb(), SCIPisEQ(), SCIPisGE(), SCIPisGT(), SCIPisLE(), SCIPisLT(), SCIPisPositive(), SCIPisZero(), SCIPvarGetLbAtIndex(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbAtIndex(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), TRUE, GenVBound::var, and GenVBound::vars. Referenced by analyzeGenVBoundConflict(), and SCIP_DECL_PROPRESPROP().
create initial conflict
Definition at line 827 of file prop_genvbounds.c. References GenVBound::boundtype, MAX, NULL, REALABS, resolveGenVBoundPropagation(), SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPanalyzeConflict(), SCIPdebugMessage, SCIPfeastol(), SCIPgetConflictVarLb(), SCIPgetConflictVarUb(), SCIPinitConflictAnalysis(), SCIPisConflictAnalysisApplicable(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisGE(), SCIPisLE(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and GenVBound::var. Referenced by applyGenVBound().
apply propagation for one generalized variable bound; also if the left-hand side variable is locally fixed, we compute the right-hand side minactivity to possibly detect infeasibility
Definition at line 959 of file prop_genvbounds.c. References analyzeGenVBoundConflict(), GenVBound::boundtype, FALSE, getGenVBoundsBound(), GenVBound::index, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_STAGE_PRESOLVING, SCIP_SUCCESS, SCIP_VARSTATUS_MULTAGGR, SCIPdebugMessage, SCIPgetStage(), SCIPinferVarLbProp(), SCIPinferVarUbProp(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and GenVBound::var. Referenced by applyGenVBounds().
frees event data
Definition at line 1090 of file prop_genvbounds.c. References NULL, SCIP_OKAY, SCIPfreeMemory, and SCIPfreeMemoryArray. Referenced by freeAllEventData().
frees all eventdata stored
Definition at line 1113 of file prop_genvbounds.c. References freeEventData(), NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeMemoryArray, and SCIPhashmapFree(). Referenced by dropAndFreeEvents().
drops all events caught by genvbounds propagator and frees their data
Definition at line 1160 of file prop_genvbounds.c. References freeAllEventData(), NULL, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPdebugMessage, and SCIPdropVarEvent(). Referenced by execGenVBounds(), and SCIP_DECL_PROPEXITSOL().
returns the corresponding event data entry in the corresponding array, if there is one; if not: allocates a new event data entry, stores it in the array and returns its adress
Definition at line 1209 of file prop_genvbounds.c. References NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPallocMemory, SCIPallocMemoryArray, SCIPhashmapExists(), SCIPhashmapGetImage(), and SCIPhashmapInsert(). Referenced by addEventData().
adds an event to the event array lbevents (if boundtype == SCIP_BOUNDTYPE_LOWER) or ubevents (if boundtype == SCIP_BOUNDTYPE_UPPER)
Definition at line 1260 of file prop_genvbounds.c. References getEventData(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by setUpEvents().
Definition at line 1303 of file prop_genvbounds.c. References addEventData(), GenVBound::coefs, GenVBound::ncoefs, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPallocMemoryArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPcatchVarEvent(), SCIPdebugMessage, SCIPgetNFixedVars(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPisPositive(), SCIPisZero(), SCIPreallocMemoryArray, and GenVBound::vars. Referenced by execGenVBounds().
performs a topological sort on genvboundstore array The genvbounds graph is defined as follows: Given two genvbounds (genvbound1) c1 * x_i1 >= RHS1 and (genvbound2) c2 * x_i2 >= RHS2, there is an arc from genvbound1 to genvbound2 iff c1 = +1 and x_i1 appears with positive coefficient in RHS2 or c1 = -1 and x_i1 appears with negative coefficient in RHS2; in this case, a bound change of x_i1 deduced from genvbound1 improves genvbound2's minactivity in RHS2.
Definition at line 1426 of file prop_genvbounds.c. References GenVBound::coefs, GenVBound::index, GenVBound::ncoefs, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocMemoryArray, SCIPdebugMessage, SCIPdigraphAddArc(), SCIPdigraphComputeUndirectedComponents(), SCIPdigraphCreate(), SCIPdigraphFree(), SCIPdigraphGetComponent(), SCIPdigraphGetNComponents(), SCIPdigraphTopoSortComponents(), SCIPfreeMemoryArray, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPisNegative(), SCIPisPositive(), TRUE, and GenVBound::vars. Referenced by execGenVBounds().
apply propagation of generalized variable bounds
Definition at line 1541 of file prop_genvbounds.c. References applyGenVBound(), NULL, resetLocalStartingData(), SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_VARSTATUS_MULTAGGR, SCIPdebugMessage, SCIPgetDepth(), SCIPinProbing(), SCIPpropGetData(), and SCIPvarGetStatus(). Referenced by execGenVBounds().
initialize propagator data
Definition at line 1632 of file prop_genvbounds.c. References BMSclearMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocMemoryArray, SCIPblkmem(), SCIPcalcHashtableSize(), SCIPdebugMessage, SCIPgetNVars(), and SCIPhashmapCreate(). Referenced by SCIPgenVBoundAdd().
adds a new genvbound to genvboundstore array and sets a hashmap entry
Definition at line 1661 of file prop_genvbounds.c. References GenVBound::boundtype, getGenVBound(), GenVBound::index, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPhashmapInsert(), SCIPreallocMemoryArray, and GenVBound::var. Referenced by SCIPgenVBoundAdd().
runs propagation routine
Definition at line 1700 of file prop_genvbounds.c. References applyGenVBounds(), createStartingData(), dropAndFreeEvents(), FALSE, fillGlobalStartingData(), freeComponentsData(), freeStartingData(), NULL, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPdebugMessage, SCIPgetCurrentNode(), SCIPgetCutoffbound(), SCIPgetDepth(), SCIPinProbing(), SCIPisFeasLT(), setUpEvents(), sortGenVBounds(), and TRUE. Referenced by SCIP_DECL_PROPEXEC(), and SCIP_DECL_PROPPRESOL().
adds a generalized variable bound to the genvbounds propagator; if there is already a genvbound for the bound "boundtype" of variable "var", it will be replaced
Definition at line 1785 of file prop_genvbounds.c. References addNewGenVBound(), GenVBound::boundtype, GenVBound::coefs, GenVBound::constant, GenVBound::cutoffcoef, FALSE, getGenVBound(), initPropdata(), GenVBound::ncoefs, NULL, PROP_NAME, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPallocMemory, SCIPdebug, SCIPdebugMessage, SCIPduplicateMemoryArray, SCIPfreeMemoryArray, SCIPgetTransObjoffset(), SCIPgetTransObjscale(), SCIPisNegative(), SCIPisPositive(), SCIPpropGetData(), SCIPpropGetName(), SCIPreallocMemoryArray, GenVBound::var, and GenVBound::vars. Referenced by createGenVBound().
initialization method of propagator (called after problem was transformed) Definition at line 1929 of file prop_genvbounds.c. References FALSE, NULL, PROP_NAME, SCIP_OKAY, SCIPinfinity(), SCIPpropGetData(), and SCIPpropGetName().
presolving method of propagator Definition at line 1973 of file prop_genvbounds.c. References execGenVBounds(), NULL, PROP_NAME, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPdebugMessage, SCIPgetProbName(), SCIPpropGetData(), SCIPpropGetName(), and TRUE.
presolving deinitialization method of propagator (called after presolving has been finished) Definition at line 2005 of file prop_genvbounds.c. References GenVBound::boundtype, GenVBound::coefs, GenVBound::constant, GenVBound::cutoffcoef, FALSE, freeGenVBound(), GenVBound::ncoefs, NULL, PROP_NAME, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPgetProbName(), SCIPgetProbvarLinearSum(), SCIPhashmapExists(), SCIPhashmapRemove(), SCIPisZero(), SCIPpropGetData(), SCIPpropGetName(), SCIPreallocMemoryArray, TRUE, GenVBound::var, and GenVBound::vars.
execution method of propagator Definition at line 2077 of file prop_genvbounds.c. References execGenVBounds(), NULL, PROP_NAME, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_REDUCEDDOM, SCIP_SUCCESS, SCIPdebugMessage, SCIPgetDepth(), SCIPgetProbName(), SCIPinProbing(), SCIPpropGetData(), SCIPpropGetName(), and TRUE.
propagation conflict resolving method of propagator Definition at line 2116 of file prop_genvbounds.c. References GenVBound::boundtype, MIN, NULL, resolveGenVBoundPropagation(), SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIPdebugMessage, SCIPerrorMessage, SCIPfeasCeil(), SCIPfeastol(), SCIPisIntegral(), SCIPpropGetData(), SCIPvarGetLbAtIndex(), SCIPvarGetName(), SCIPvarGetUbAtIndex(), SCIPvarIsIntegral(), TRUE, and GenVBound::var.
solving process deinitialization method of propagator (called before branch and bound process data is freed) Definition at line 2185 of file prop_genvbounds.c. References dropAndFreeEvents(), freeComponentsData(), freeGenVBound(), freeStartingData(), NULL, PROP_NAME, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPfreeMemoryArray, SCIPgetProbName(), SCIPhashmapFree(), SCIPisInRestart(), SCIPpropGetData(), and SCIPpropGetName().
destructor of propagator to free user data (called when SCIP is exiting) Definition at line 2230 of file prop_genvbounds.c. References NULL, PROP_NAME, SCIP_OKAY, SCIPfreeMemory, SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetData().
Definition at line 2253 of file prop_genvbounds.c. References NULL, resetLocalStartingData(), SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPdebug, SCIPdebugMessage, SCIPeventGetType(), SCIPgetCurrentNode(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapInsert(), and SCIPpropGetData().
creates the genvbounds propagator and includes it in SCIP
Definition at line 2333 of file prop_genvbounds.c. References DEFAULT_GLOBAL_PROPAGATION, DEFAULT_PROPAGATE_IN_ROOT_NODE, DEFAULT_SORT, EVENTHDLR_DESC, EVENTHDLR_NAME, NULL, PROP_DELAY, PROP_DESC, PROP_FREQ, PROP_NAME, PROP_PRESOL_DELAY, PROP_PRESOL_MAXROUNDS, PROP_PRESOL_PRIORITY, PROP_PRIORITY, PROP_TIMING, SCIP_CALL, SCIP_OKAY, SCIPaddBoolParam(), SCIPallocMemory, SCIPincludeEventhdlrBasic(), SCIPincludePropBasic(), SCIPsetPropExitpre(), SCIPsetPropExitsol(), SCIPsetPropFree(), SCIPsetPropInit(), SCIPsetPropPresol(), SCIPsetPropResprop(), and TRUE. Referenced by SCIPincludeDefaultPlugins(). |