generalized variable bounds propagator
Definition in file prop_genvbounds.c.
#include "blockmemshell/memory.h"#include "scip/cons_linear.h"#include "scip/debug.h"#include "scip/prop_genvbounds.h"#include "scip/pub_event.h"#include "scip/pub_message.h"#include "scip/pub_misc.h"#include "scip/pub_prop.h"#include "scip/pub_tree.h"#include "scip/pub_var.h"#include "scip/scip_conflict.h"#include "scip/scip_cons.h"#include "scip/scip_datastructures.h"#include "scip/scip_event.h"#include "scip/scip_general.h"#include "scip/scip_mem.h"#include "scip/scip_message.h"#include "scip/scip_numerics.h"#include "scip/scip_param.h"#include "scip/scip_prob.h"#include "scip/scip_probing.h"#include "scip/scip_prop.h"#include "scip/scip_sol.h"#include "scip/scip_solve.h"#include "scip/scip_solvingstats.h"#include "scip/scip_tree.h"#include "scip/scip_var.h"#include <string.h>Go to the source code of this file.
Data Structures | |
| struct | GenVBound |
Macros | |
| #define | PROP_NAME "genvbounds" |
| #define | PROP_DESC "generalized variable bounds propagator" |
| #define | PROP_TIMING SCIP_PROPTIMING_ALWAYS |
| #define | PROP_PRIORITY 3000000 |
| #define | PROP_FREQ 1 |
| #define | PROP_DELAY FALSE |
| #define | PROP_PRESOL_PRIORITY -2000000 |
| #define | PROP_PRESOLTIMING SCIP_PRESOLTIMING_FAST /* timing of the presolving method (fast, medium, or exhaustive) */ |
| #define | PROP_PRESOL_MAXROUNDS -1 |
| #define | DEFAULT_GLOBAL_PROPAGATION TRUE |
| #define | DEFAULT_PROPAGATE_IN_ROOT_NODE TRUE |
| #define | DEFAULT_SORT TRUE |
| #define | DEFAULT_PROPASCONSS FALSE |
| #define | EVENTHDLR_NAME "genvbounds" |
| #define | EVENTHDLR_DESC "event handler for generalized variable bounds propagator" |
| #define PROP_NAME "genvbounds" |
Definition at line 68 of file prop_genvbounds.c.
| #define PROP_DESC "generalized variable bounds propagator" |
Definition at line 69 of file prop_genvbounds.c.
| #define PROP_TIMING SCIP_PROPTIMING_ALWAYS |
Definition at line 70 of file prop_genvbounds.c.
| #define PROP_PRIORITY 3000000 |
propagator priority
Definition at line 71 of file prop_genvbounds.c.
| #define PROP_FREQ 1 |
propagator frequency
Definition at line 72 of file prop_genvbounds.c.
| #define PROP_DELAY FALSE |
should propagation method be delayed, if other propagators found reductions?
Definition at line 73 of file prop_genvbounds.c.
| #define PROP_PRESOL_PRIORITY -2000000 |
priority of the presolving method (>= 0: before, < 0: after constraint handlers); combined with presolvers
Definition at line 75 of file prop_genvbounds.c.
| #define PROP_PRESOLTIMING SCIP_PRESOLTIMING_FAST /* timing of the presolving method (fast, medium, or exhaustive) */ |
Definition at line 77 of file prop_genvbounds.c.
| #define PROP_PRESOL_MAXROUNDS -1 |
maximal number of presolving rounds the presolver participates in (-1: no limit)
Definition at line 78 of file prop_genvbounds.c.
| #define DEFAULT_GLOBAL_PROPAGATION TRUE |
apply global propagation?
Definition at line 80 of file prop_genvbounds.c.
Referenced by SCIPincludePropGenvbounds().
| #define DEFAULT_PROPAGATE_IN_ROOT_NODE TRUE |
apply genvbounds in root node if no new incumbent was found?
Definition at line 81 of file prop_genvbounds.c.
Referenced by SCIPincludePropGenvbounds().
| #define DEFAULT_SORT TRUE |
sort genvbounds and wait for bound change events? (otherwise all genvbounds are applied in each node)
Definition at line 82 of file prop_genvbounds.c.
Referenced by SCIPincludePropGenvbounds().
| #define DEFAULT_PROPASCONSS FALSE |
should genvbounds be transformed to (linear) constraints?
Definition at line 84 of file prop_genvbounds.c.
Referenced by SCIPincludePropGenvbounds().
| #define EVENTHDLR_NAME "genvbounds" |
Definition at line 86 of file prop_genvbounds.c.
| #define EVENTHDLR_DESC "event handler for generalized variable bounds propagator" |
Definition at line 87 of file prop_genvbounds.c.
Definition at line 110 of file prop_genvbounds.c.
returns correct cutoff bound value
Definition at line 177 of file prop_genvbounds.c.
References assert(), NULL, SCIP_Real, SCIPdebugMsg, SCIPgetCutoffbound(), SCIPgetTransObjoffset(), and SCIPgetTransObjscale().
Referenced by createConstraints(), getGenVBoundsBound(), resolveGenVBoundPropagation(), and SCIP_DECL_PROPEXEC().
|
static |
returns corresponding genvbound in genvboundstore if there is one, NULL otherwise
| scip | SCIP data structure |
| propdata | data of the genvbounds propagator |
| var | bounds variable |
| boundtype | bounds type |
Definition at line 198 of file prop_genvbounds.c.
References assert(), NULL, SCIP_BOUNDTYPE_LOWER, SCIPhashmapGetImage(), and var.
Referenced by addNewGenVBound(), and SCIPgenVBoundAdd().
|
static |
calculates the minactivity of a linear combination of variables stored in an array
| scip | SCIP data structure |
| vars | array of variables |
| coefs | array of coefficients |
| nvars | number of variables |
| global | use global variable bounds? |
Definition at line 265 of file prop_genvbounds.c.
References assert(), bound, i, NULL, nvars, SCIP_Bool, SCIP_Real, SCIPinfinity(), SCIPisInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and vars.
Referenced by getGenVBoundsBound().
|
static |
calculates the minactivity of a linear combination of variables stored in the current conflict set
| scip | SCIP data structure |
| vars | array of variables |
| coefs | array of coefficients |
| nvars | number of variables |
| bdchgidx | bound change at which minactivity should be computed; if NULL use local bounds |
Definition at line 306 of file prop_genvbounds.c.
References assert(), bound, i, NULL, nvars, SCIP_Real, SCIPgetConflictVarLb(), SCIPgetConflictVarUb(), SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPinfinity(), SCIPisEQ(), SCIPisInfinity(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), TRUE, and vars.
Referenced by resolveGenVBoundPropagation().
returns a valid bound given by a generalized variable bound
| scip | SCIP data structure |
| genvbound | generalized variable bound |
| global | use global variable bounds? |
Definition at line 366 of file prop_genvbounds.c.
References assert(), GenVBound::boundtype, GenVBound::coefs, GenVBound::constant, GenVBound::cutoffcoef, getCutoffboundGenVBound(), getGenVBoundsMinActivity(), GenVBound::ncoefs, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_Real, SCIPinfinity(), SCIPisInfinity(), and GenVBound::vars.
Referenced by applyGenVBound().
|
static |
allocate local and global startindices, startcomponents and startmap
Definition at line 453 of file prop_genvbounds.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPdebugMsg, and SCIPhashmapCreate().
Referenced by execGenVBounds().
|
static |
free local and global startindices, startcomponents and startmap
Definition at line 494 of file prop_genvbounds.c.
References assert(), NULL, SCIP_OKAY, SCIPdebugMsg, SCIPfreeBlockMemoryArray, and SCIPhashmapFree().
Referenced by createConstraints(), execGenVBounds(), freeGenVBounds(), and freeGenVBoundsRelaxOnly().
|
static |
Definition at line 539 of file prop_genvbounds.c.
References assert(), i, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMsg, SCIPisNegative(), SCIPisZero(), and SCIPreallocBlockMemoryArray.
Referenced by execGenVBounds().
|
static |
resets local starting data
Definition at line 593 of file prop_genvbounds.c.
References assert(), NULL, SCIP_CALL, SCIP_OKAY, and SCIPhashmapRemoveAll().
Referenced by applyGenVBounds(), and SCIP_DECL_EVENTEXEC().
|
static |
frees sorted components data
Definition at line 613 of file prop_genvbounds.c.
References assert(), NULL, SCIP_OKAY, SCIPdebugMsg, and SCIPfreeBlockMemoryArray.
Referenced by createConstraints(), execGenVBounds(), freeGenVBounds(), and freeGenVBoundsRelaxOnly().
|
static |
frees memory allocated for a generalized variable bound
Definition at line 640 of file prop_genvbounds.c.
References assert(), GenVBound::coefs, GenVBound::coefssize, i, GenVBound::ncoefs, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPreleaseVar(), GenVBound::var, and GenVBound::vars.
Referenced by createConstraints(), freeGenVBounds(), freeGenVBoundsRelaxOnly(), and SCIP_DECL_PROPEXITPRE().
|
static |
helper function to release all genvbounds
Definition at line 671 of file prop_genvbounds.c.
References assert(), freeComponentsData(), freeGenVBound(), freeStartingData(), i, NULL, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIP_PROPTIMING_NONE, SCIPaddVarLocksType(), SCIPdebugMsg, SCIPfreeBlockMemoryArray, SCIPhashmapFree(), SCIPpropSetTimingmask(), and SCIPreleaseVar().
Referenced by SCIP_DECL_PROPEXIT(), and SCIP_DECL_PROPEXITSOL().
|
static |
helper function to release relax-only genvbounds
Definition at line 726 of file prop_genvbounds.c.
References assert(), FALSE, freeComponentsData(), freeGenVBound(), freeStartingData(), i, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_PROPTIMING_NONE, SCIPhashmapRemove(), SCIPpropSetTimingmask(), and TRUE.
Referenced by SCIP_DECL_PROPEXITSOL().
|
static |
resolves propagation of lower bound on +/- left-hand side variable of a generalized variable bound
| scip | SCIP data structure |
| genvbound | genvbound data structure |
| bdchgidx | the index of the bound change, representing the point of time where the change took place |
| boundval | pointer to lower bound value on +/- left-hand side variable |
| success | was the explanation succesful? |
Definition at line 783 of file prop_genvbounds.c.
References assert(), GenVBound::boundtype, GenVBound::coefs, GenVBound::constant, GenVBound::cutoffcoef, FALSE, getCutoffboundGenVBound(), getGenVBoundsMinActivityConflict(), i, MAX, GenVBound::ncoefs, NULL, nvars, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPdebugMsg, SCIPfeasCeil(), SCIPgetConflictVarLb(), SCIPgetConflictVarUb(), SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPisEQ(), SCIPisGE(), SCIPisGT(), SCIPisLE(), SCIPisLT(), SCIPisPositive(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), TRUE, GenVBound::var, GenVBound::vars, and vars.
Referenced by analyzeGenVBoundConflict(), and SCIP_DECL_PROPRESPROP().
|
static |
create initial conflict
Definition at line 1001 of file prop_genvbounds.c.
References assert(), bound, GenVBound::boundtype, MAX, NULL, REALABS, resolveGenVBoundPropagation(), SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_CONFTYPE_PROPAGATION, SCIP_OKAY, SCIP_Real, SCIPaddConflictRelaxedLb(), SCIPaddConflictRelaxedUb(), SCIPanalyzeConflict(), SCIPdebugMsg, SCIPfeastol(), SCIPgetConflictVarLb(), SCIPgetConflictVarUb(), SCIPgetCutoffbound(), SCIPinitConflictAnalysis(), SCIPisConflictAnalysisApplicable(), SCIPisFeasGT(), SCIPisFeasLT(), SCIPisGE(), SCIPisInfinity(), SCIPisLE(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and GenVBound::var.
Referenced by applyGenVBound().
|
static |
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
| scip | SCIP data structure |
| prop | genvbounds propagator |
| genvbound | genvbound data structure |
| global | apply global bound changes? (global: true, local: false) |
| result | result pointer |
| nchgbds | counter to increment if bound was tightened |
Definition at line 1133 of file prop_genvbounds.c.
References analyzeGenVBoundConflict(), assert(), GenVBound::boundtype, FALSE, getGenVBoundsBound(), GenVBound::index, GenVBound::ncoefs, NULL, REALABS, result, 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, SCIPdebugMsg, SCIPgetStage(), SCIPinferVarLbProp(), SCIPinferVarUbProp(), SCIPisInfinity(), SCIPtightenVarLbGlobal(), SCIPtightenVarUbGlobal(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and GenVBound::var.
Referenced by applyGenVBounds().
|
static |
frees event data
Definition at line 1267 of file prop_genvbounds.c.
References assert(), NULL, SCIP_OKAY, SCIPfreeBlockMemory, and SCIPfreeBlockMemoryArray.
Referenced by freeAllEventData().
|
static |
frees all eventdata stored
Definition at line 1291 of file prop_genvbounds.c.
References assert(), freeEventData(), i, NULL, SCIP_CALL, SCIP_OKAY, SCIPfreeBlockMemoryArray, and SCIPhashmapFree().
Referenced by dropAndFreeEvents().
|
static |
drops all events caught by genvbounds propagator and frees their data
Definition at line 1338 of file prop_genvbounds.c.
References assert(), freeAllEventData(), i, NULL, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPdebugMsg, and SCIPdropVarEvent().
Referenced by createConstraints(), execGenVBounds(), and SCIP_DECL_PROPEXITSOL().
|
static |
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
| scip | SCIP data structure |
| propdata | data of the genvbounds propagator |
| var | variable |
| boundtype | type of bound |
| eventdata | event data to return |
Definition at line 1387 of file prop_genvbounds.c.
References assert(), NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapInsert(), and var.
Referenced by addEventData().
|
static |
adds an event to the event array lbevents (if boundtype == SCIP_BOUNDTYPE_LOWER) or ubevents (if boundtype == SCIP_BOUNDTYPE_UPPER)
| scip | SCIP data structure |
| propdata | data of the genvbounds propagator |
| var | variable thats event to be added |
| startindex | starting index |
| startcomponent | starting components index |
| boundtype | type of bound |
Definition at line 1439 of file prop_genvbounds.c.
References assert(), getEventData(), NULL, SCIP_CALL, SCIP_OKAY, and var.
Referenced by setUpEvents().
|
static |
Definition at line 1482 of file prop_genvbounds.c.
References addEventData(), assert(), GenVBound::coefs, i, GenVBound::ncoefs, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPcatchVarEvent(), SCIPdebugMsg, SCIPgetNFixedVars(), SCIPgetNVars(), SCIPhashmapCreate(), SCIPisPositive(), SCIPreallocBlockMemoryArray, and GenVBound::vars.
Referenced by execGenVBounds().
|
static |
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.
The method computes the strongly connected components and sorts them topologically. The order of the nodes in an strongly connected component is arbitrary.
Definition at line 1623 of file prop_genvbounds.c.
References assert(), GenVBound::coefs, i, GenVBound::ncoefs, nnodes, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPallocBufferArray, SCIPcreateDigraph(), SCIPdebugMsg, SCIPdigraphAddArc(), SCIPdigraphComputeDirectedComponents(), SCIPdigraphComputeUndirectedComponents(), SCIPdigraphFree(), SCIPdigraphGetComponent(), SCIPdigraphGetNComponents(), SCIPdigraphGetNNodes(), SCIPdigraphTopoSortComponents(), SCIPfreeBufferArray, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPisNegative(), SCIPisPositive(), TRUE, and GenVBound::vars.
Referenced by execGenVBounds().
|
static |
apply propagation of generalized variable bounds
| scip | SCIP data structure |
| prop | genvbounds propagator |
| global | use global variable bounds for propagation? |
| result | result pointer |
| nchgbds | counter to increase by the number of changed bounds |
Definition at line 1774 of file prop_genvbounds.c.
References applyGenVBound(), assert(), i, NULL, resetLocalStartingData(), result, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPdebugMsg, SCIPgetDepth(), SCIPinProbing(), SCIPpropGetData(), and SCIPvarIsActive().
Referenced by execGenVBounds().
|
static |
initialize propagator data
Definition at line 1865 of file prop_genvbounds.c.
References assert(), BMSclearMemoryArray, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPdebugMsg, SCIPgetNVars(), and SCIPhashmapCreate().
Referenced by SCIPgenVBoundAdd().
|
static |
adds a new genvbound to genvboundstore array and sets a hashmap entry
| scip | SCIP data structure |
| prop | genvbounds propagator |
| propdata | data of the genvbounds propagator |
| genvbound | genvbound to be added |
Definition at line 1896 of file prop_genvbounds.c.
References assert(), GenVBound::boundtype, getGenVBound(), GenVBound::index, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIPhashmapInsert(), SCIPpropSetTimingmask(), SCIPreallocBlockMemoryArray, and GenVBound::var.
Referenced by SCIPgenVBoundAdd().
|
static |
runs propagation routine
| scip | SCIP data structure |
| propdata | data of the genvbounds propagator |
| result | result pointer |
| local | should local propagation be applied? |
| nchgbds | counter to increase by the number of changed bounds |
Definition at line 1941 of file prop_genvbounds.c.
References applyGenVBounds(), assert(), createStartingData(), dropAndFreeEvents(), FALSE, fillGlobalStartingData(), freeComponentsData(), freeStartingData(), NULL, result, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPdebugMsg, SCIPgetCurrentNode(), SCIPgetCutoffbound(), SCIPgetDepth(), SCIPinProbing(), SCIPisFeasLT(), SCIPnodeGetNumber(), setUpEvents(), sortGenVBounds(), and TRUE.
Referenced by SCIP_DECL_PROPEXEC(), and SCIP_DECL_PROPPRESOL().
|
static |
| scip | SCIP data structure |
| prop | genvbounds propagator |
| propdata | data of the genvbounds propagator |
Definition at line 2027 of file prop_genvbounds.c.
References assert(), GenVBound::boundtype, GenVBound::coefs, GenVBound::constant, GenVBound::cutoffcoef, dropAndFreeEvents(), FALSE, freeComponentsData(), freeGenVBound(), freeStartingData(), getCutoffboundGenVBound(), i, GenVBound::index, GenVBound::ncoefs, NULL, nvars, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_PROPTIMING_NONE, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPaddCons(), SCIPaddVar(), SCIPaddVarLocksType(), SCIPallocBufferArray, SCIPcreateConsLinear(), SCIPcreateVarBasic(), SCIPdebugMsg, SCIPdebugMsgPrint, SCIPfreeBlockMemoryArray, SCIPfreeBufferArray, SCIPhashmapFree(), SCIPinfinity(), SCIPmarkDoNotMultaggrVar(), SCIPpropSetTimingmask(), SCIPreleaseCons(), SCIPsnprintf(), SCIPvarGetName(), TRUE, GenVBound::var, GenVBound::vars, and vars.
Referenced by SCIP_DECL_PROPEXEC().
|
static |
copy method for propagator plugins (called when SCIP copies plugins)
Definition at line 2342 of file prop_genvbounds.c.
References assert(), NULL, PROP_NAME, SCIP_CALL, SCIP_OKAY, SCIPincludePropGenvbounds(), and SCIPpropGetName().
|
static |
initialization method of propagator (called after problem was transformed)
Definition at line 2356 of file prop_genvbounds.c.
References assert(), FALSE, NULL, PROP_NAME, SCIP_OKAY, SCIP_PROPTIMING_NONE, SCIPinfinity(), SCIPpropGetData(), SCIPpropGetName(), SCIPpropGetTimingmask(), and SCIPpropSetTimingmask().
|
static |
presolving method of propagator
Definition at line 2407 of file prop_genvbounds.c.
References assert(), execGenVBounds(), NULL, PROP_NAME, result, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OKAY, SCIPallowStrongDualReds(), SCIPdebugMsg, SCIPgetProbName(), SCIPpropGetData(), SCIPpropGetName(), and TRUE.
|
static |
presolving initialization method of propagator (called when presolving is about to begin)
Definition at line 2440 of file prop_genvbounds.c.
References assert(), NULL, PROP_NAME, SCIP_CALL, SCIP_LOCKTYPE_MODEL, SCIP_OKAY, SCIPaddVarLocksType(), SCIPdebugMsg, SCIPgetProbName(), SCIPpropGetData(), SCIPpropGetName(), SCIPvarGetNLocksDownType(), and SCIPvarGetNLocksUpType().
|
static |
presolving deinitialization method of propagator (called after presolving has been finished)
Definition at line 2468 of file prop_genvbounds.c.
References assert(), BMScopyMemoryArray, GenVBound::boundtype, GenVBound::coefs, GenVBound::coefssize, GenVBound::constant, GenVBound::cutoffcoef, FALSE, freeGenVBound(), i, GenVBound::ncoefs, NULL, nvars, PROP_NAME, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_OKAY, SCIP_PROPTIMING_NONE, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_MULTAGGR, SCIPallocBufferArray, SCIPcaptureVar(), SCIPdebugMsg, SCIPfreeBufferArray, SCIPgetNTotalVars(), SCIPgetProbName(), SCIPgetProbvarLinearSum(), SCIPhashmapExists(), SCIPhashmapRemove(), SCIPisZero(), SCIPpropGetData(), SCIPpropGetName(), SCIPpropSetTimingmask(), SCIPreallocBlockMemoryArray, SCIPreleaseVar(), SCIPvarGetStatus(), GenVBound::var, GenVBound::vars, and vars.
|
static |
deinitialization method of propagator (called before transformed problem is freed)
Definition at line 2587 of file prop_genvbounds.c.
References assert(), freeGenVBounds(), NULL, PROP_NAME, SCIP_CALL, SCIP_OKAY, SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetTimingmask().
|
static |
execution method of propagator
Definition at line 2610 of file prop_genvbounds.c.
References assert(), createConstraints(), execGenVBounds(), FALSE, getCutoffboundGenVBound(), NULL, PROP_NAME, result, SCIP_Bool, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_Real, SCIP_REDUCEDDOM, SCIP_SUCCESS, SCIPallowWeakDualReds(), SCIPdebugMsg, SCIPgetDepth(), SCIPgetProbName(), SCIPinProbing(), SCIPisFeasLT(), SCIPisInfinity(), SCIPpropGetData(), SCIPpropGetName(), SCIPtightenVarUbGlobal(), and SCIPvarGetUbLocal().
|
static |
propagation conflict resolving method of propagator
Definition at line 2684 of file prop_genvbounds.c.
References assert(), GenVBound::boundtype, MIN, NULL, resolveGenVBoundPropagation(), result, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_DIDNOTFIND, SCIP_OKAY, SCIP_Real, SCIP_SUCCESS, SCIPdebugMsg, SCIPerrorMessage, SCIPfeasCeil(), SCIPfeastol(), SCIPgetVarLbAtIndex(), SCIPgetVarUbAtIndex(), SCIPisIntegral(), SCIPpropGetData(), SCIPvarGetName(), SCIPvarIsIntegral(), TRUE, and GenVBound::var.
|
static |
solving process deinitialization method of propagator (called before branch and bound process data is freed)
Definition at line 2753 of file prop_genvbounds.c.
References assert(), dropAndFreeEvents(), freeGenVBounds(), freeGenVBoundsRelaxOnly(), NULL, PROP_NAME, SCIP_CALL, SCIP_OKAY, SCIPdebugMsg, SCIPgetProbName(), SCIPisInRestart(), SCIPpropGetData(), and SCIPpropGetName().
|
static |
destructor of propagator to free user data (called when SCIP is exiting)
Definition at line 2786 of file prop_genvbounds.c.
References assert(), NULL, PROP_NAME, SCIP_OKAY, SCIPfreeBlockMemory, SCIPpropGetData(), SCIPpropGetName(), and SCIPpropSetData().
|
static |
Definition at line 2809 of file prop_genvbounds.c.
References assert(), i, NULL, resetLocalStartingData(), SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_EVENTTYPE_LBTIGHTENED, SCIP_EVENTTYPE_UBTIGHTENED, SCIP_OKAY, SCIPdebug, SCIPdebugMsg, SCIPeventGetType(), SCIPgetCurrentNode(), SCIPhashmapExists(), SCIPhashmapGetImageInt(), SCIPhashmapInsertInt(), SCIPnodeGetNumber(), and SCIPpropGetData().