Detailed Descriptionprobing propagator Definition in file prop_probing.c. Go to the source code of this file.
Macro Definition Documentation
Definition at line 31 of file prop_probing.c. Referenced by applyProbing().
Definition at line 32 of file prop_probing.c.
Definition at line 33 of file prop_probing.c.
propagation priority Definition at line 34 of file prop_probing.c.
propagation frequency Definition at line 35 of file prop_probing.c.
should propagation method be delayed, if other propagators found reductions? Definition at line 36 of file prop_probing.c.
priority of the presolving method (>= 0: before, < 0: after constraint handlers); combined with presolvers Definition at line 39 of file prop_probing.c.
Definition at line 40 of file prop_probing.c.
maximal number of presolving rounds the presolver participates in (-1: no limit) Definition at line 41 of file prop_probing.c.
maximal denominator for simple rational fixed values Definition at line 44 of file prop_probing.c. Referenced by SCIPanalyzeDeductionsProbing().
maximal number of runs, probing participates in (-1: no limit) Definition at line 57 of file prop_probing.c.
maximal number of propagation rounds in probing subproblems Definition at line 58 of file prop_probing.c.
maximal number of fixings found, until probing is interrupted (0: don't interrupt) Definition at line 59 of file prop_probing.c.
maximal number of successive probings without fixings, until probing is aborted (0: don't abort) Definition at line 62 of file prop_probing.c.
maximal number of successive probings without fixings, bound changes, and implications, until probing is aborted (0: don't abort) Definition at line 65 of file prop_probing.c.
maximal number of probings without fixings, until probing is aborted (0: don't abort) Definition at line 68 of file prop_probing.c.
maximal depth until propagation is executed(-1: no limit) Definition at line 71 of file prop_probing.c. Function Documentation
initializes the propagator data
Definition at line 114 of file prop_probing.c. References NULL.
frees the sorted vars array
Definition at line 139 of file prop_probing.c. References SCIP_CALL, SCIP_OKAY, SCIPfreeMemoryArray, SCIPfreeMemoryArrayNull, SCIPreleaseVar(), and sortVariables(). Referenced by SCIP_DECL_PROPEXITPRE().
sorts the binary variables starting with the given index by rounding locks and implications
Definition at line 168 of file prop_probing.c. References applyProbing(), FALSE, MAX, MIN, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPdebugMessage, SCIPfreeBufferArray, SCIPgetNOrigVars(), SCIPinfinity(), SCIPsortDownRealPtr(), SCIPvarGetIndex(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarIsActive(), SCIPvarIsBinary(), and TRUE. Referenced by applyProbing(), and freeSortedvars().
the main probing loop
Definition at line 335 of file prop_probing.c. References FALSE, MAX, NULL, PROP_NAME, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_DECL_PROPCOPY(), SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_SOLVING, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIPallocBufferArray, SCIPanalyzeDeductionsProbing(), SCIPapplyProbingVar(), SCIPcaptureVar(), SCIPdebugMessage, SCIPduplicateMemoryArray, SCIPfixVar(), SCIPfreeBufferArray, SCIPfreeMemoryArray, SCIPgetCurrentNode(), SCIPgetNBinVars(), SCIPgetNImplVars(), SCIPgetNIntVars(), SCIPgetNVars(), SCIPgetSolvingTime(), SCIPgetStage(), SCIPgetVars(), SCIPisStopped(), SCIPnodeGetDepth(), SCIPpropGetName(), SCIPreallocBufferArray, SCIPreleaseVar(), SCIPswapPointers(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetIndex(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetUbLocal(), SCIPvarIsActive(), SCIPvarIsBinary(), SCIPvarIsDeleted(), SCIPverbMessage(), sortVariables(), and TRUE. Referenced by sortVariables().
copy method for constraint handler plugins (called when SCIP copies plugins) Definition at line 722 of file prop_probing.c. Referenced by applyProbing().
destructor of propagator to free user data (called when SCIP is exiting) Definition at line 737 of file prop_probing.c.
initialization method of propagator (called after problem was transformed) Definition at line 757 of file prop_probing.c.
deinitialization method of propagator (called before transformed problem is freed) Definition at line 772 of file prop_probing.c.
presolving initialization method of propagator (called when presolving is about to begin) Definition at line 790 of file prop_probing.c. References NULL, and SCIPpropGetData().
presolving deinitialization method of propagator (called after presolving has been finished) Definition at line 805 of file prop_probing.c. References freeSortedvars(), NULL, SCIP_CALL, SCIP_DECL_PROPINITSOL(), SCIP_OKAY, and SCIPpropGetData().
solving process initialization method of propagator (called when branch and bound process is about to begin) Definition at line 827 of file prop_probing.c. Referenced by SCIP_DECL_PROPEXITPRE().
presolve method of propagator Definition at line 846 of file prop_probing.c.
execution method of propagator Definition at line 978 of file prop_probing.c.
propagation conflict resolving method of propagator Definition at line 1104 of file prop_probing.c.
creates the probing propagator and includes it in SCIP
Definition at line 1117 of file prop_probing.c. Referenced by SCIPincludeDefaultPlugins().
applies and evaluates probing of a single variable in the given direction and bound
Definition at line 1181 of file prop_probing.c. References FALSE, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPanalyzeDeductionsProbing(), SCIPchgVarLbProbing(), SCIPchgVarUbProbing(), SCIPdebugMessage, SCIPenableVarHistory(), SCIPendProbing(), SCIPisGE(), SCIPisGT(), SCIPisLE(), SCIPisLT(), SCIPpropagateProbing(), SCIPpropagateProbingImplications(), SCIPstartProbing(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNCliques(), SCIPvarGetNImpls(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE. Referenced by applyProbing(), and applyProbingVar().
analyses boundchanges resulting from probing on a variable and performs deduced fixations, aggregations, and domain tightenings Given a variable probingvar with domain [l,u] and bound tightening results from reducing the domain once to [l,leftub] and once to [rightlb,u], the method computes and applies resulting variable fixations, aggregations, implications, and bound changes. Variable probingvar does not need to be binary. The whole domain of probingvar need to be covered by the left and right branches, i.e., we assume leftub >= rightlb for continuous variables or floor(leftub) >= ceil(rightlb)-1 for discrete variables. Bounds after applying implications and cliques do not need to be provided, but if they are omitted and probingvar is a binary variable, then already existing implications may be added.
Definition at line 1305 of file prop_probing.c. References FALSE, MAX, MAXDNOM, MIN, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_STAGE_PRESOLVING, SCIP_STAGE_SOLVING, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPaddVarImplication(), SCIPaddVarVlb(), SCIPaddVarVub(), SCIPaggregateVars(), SCIPceil(), SCIPdebugMessage, SCIPepsilon(), SCIPfixVar(), SCIPfloor(), SCIPgetCurrentNode(), SCIPgetStage(), SCIPisEQ(), SCIPisGE(), SCIPisLbBetter(), SCIPisLE(), SCIPisUbBetter(), SCIPisZero(), SCIPnodeGetDepth(), SCIPselectSimpleValue(), SCIPtightenVarLb(), SCIPtightenVarUb(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetType(), SCIPvarGetUbLocal(), SCIPvarIsBinary(), and TRUE. Referenced by applyProbing(), and SCIPapplyProbingVar(). |