|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed Descriptionremove redundant variable upper bound constraints This presolver looks for dominating variable bound constraints on the same continuous variable and discards them. For example let x be a continuous variable and y, y' are binary variables. In addition, let two variable upper bound constraints ax - by <= e and cx - dy' <= f are given. If ax - by <= e implies cx - dy' <= f, then we can remove the second constraint and substitute/aggregate y' := y. The same can be done with variable lower bound constraints. Definition in file presol_redvub.c. #include <stdio.h>#include <assert.h>#include <string.h>#include "scip/pub_matrix.h"#include "presol_redvub.h"Go to the source code of this file.
Macro Definition Documentation
Definition at line 40 of file presol_redvub.c. Referenced by SCIPincludePresolRedvub().
Definition at line 41 of file presol_redvub.c. Referenced by SCIPincludePresolRedvub().
priority of the presolver (>= 0: before, < 0: after constraint handlers) Definition at line 42 of file presol_redvub.c. Referenced by SCIPincludePresolRedvub().
maximal number of presolving rounds the presolver participates in (-1: no limit) Definition at line 43 of file presol_redvub.c. Referenced by SCIPincludePresolRedvub().
Definition at line 44 of file presol_redvub.c. Referenced by SCIPincludePresolRedvub().
maximal number of pairwise comparisons Definition at line 46 of file presol_redvub.c. Referenced by detectDominatingVlbs(), and detectDominatingVubs(). Function Documentation
verify if the constraint is a variable upper bound constraint
Definition at line 54 of file presol_redvub.c. References FALSE, NULL, SCIP_Bool, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPisGE(), SCIPmatrixGetNRows(), SCIPmatrixGetRowIdxPtr(), SCIPmatrixGetRowLhs(), SCIPmatrixGetRowNNonzs(), SCIPmatrixGetRowValPtr(), SCIPmatrixGetVar(), SCIPmatrixIsRowRhsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetType(), and TRUE. Referenced by findVarAggrRedVbcons().
verify if the constraint is a variable lower bound constraint
Definition at line 135 of file presol_redvub.c. References FALSE, NULL, SCIP_Bool, SCIP_Real, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_CONTINUOUS, SCIPisGE(), SCIPmatrixGetNRows(), SCIPmatrixGetRowIdxPtr(), SCIPmatrixGetRowLhs(), SCIPmatrixGetRowNNonzs(), SCIPmatrixGetRowValPtr(), SCIPmatrixGetVar(), SCIPmatrixIsRowRhsInfinity(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetType(), and TRUE. Referenced by findVarAggrRedVbcons().
searches for variable upper bound constraints on the same continuous variable with a dominance relation
Definition at line 217 of file presol_redvub.c. References FALSE, MAXPAIRCOMP, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPinfoMessage(), SCIPisEQ(), SCIPisGT(), SCIPisLE(), SCIPmatrixGetColNDownlocks(), SCIPmatrixGetCons(), SCIPmatrixGetVar(), SCIPprintCons(), SCIPvarGetName(), and TRUE. Referenced by findVarAggrRedVbcons().
searches for variable lower bound constraints on the same continuous variable with a dominance relation
Definition at line 316 of file presol_redvub.c. References FALSE, MAXPAIRCOMP, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPinfoMessage(), SCIPisEQ(), SCIPisGE(), SCIPisLT(), SCIPmatrixGetColNUplocks(), SCIPmatrixGetCons(), SCIPmatrixGetVar(), SCIPprintCons(), SCIPvarGetName(), and TRUE. Referenced by findVarAggrRedVbcons().
find variable aggregations and redundant variable bound constraints
Definition at line 415 of file presol_redvub.c. References detectDominatingVlbs(), detectDominatingVubs(), isVlb(), isVub(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPmatrixGetColIdxPtr(), SCIPmatrixGetColNNonzs(), SCIPmatrixGetNColumns(), SCIPmatrixGetNRows(), SCIPmatrixGetVar(), and SCIPvarGetType(). Referenced by SCIP_DECL_PRESOLEXEC().
execution method of presolver Definition at line 529 of file presol_redvub.c. References BMSclearMemoryArray, findVarAggrRedVbcons(), NULL, SCIP_Bool, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTFIND, SCIP_DIDNOTRUN, SCIP_OKAY, SCIP_STAGE_PRESOLVING, SCIP_SUCCESS, SCIPaggregateVars(), SCIPallocBufferArray, SCIPdebugMessage, SCIPdelCons(), SCIPfreeBufferArray, SCIPgetNActivePricers(), SCIPgetNContVars(), SCIPgetStage(), SCIPinProbing(), SCIPisNLPEnabled(), SCIPisStopped(), SCIPmatrixCreate(), SCIPmatrixFree(), SCIPmatrixGetCons(), SCIPmatrixGetNColumns(), SCIPmatrixGetNRows(), and SCIPmatrixGetVar().
creates the redvub presolver and includes it in SCIP
Definition at line 648 of file presol_redvub.c. References NULL, PRESOL_DESC, PRESOL_MAXROUNDS, PRESOL_NAME, PRESOL_PRIORITY, PRESOL_TIMING, SCIP_CALL, SCIP_OKAY, and SCIPincludePresolBasic(). Referenced by SCIPincludeDefaultPlugins(). |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||