|
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
presol_dualagg.c
Go to the documentation of this file.
30 * 2) if x_j = 1, constraint c becomes redundant and x_i can be dual-fixed to its upper bound ub_i
31 * (or vice versa). Then we can perform the following aggregation: x_i = lb_i + x_j (ub_i - lb_i).
36 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
47 #define PRESOL_PRIORITY -12000 /**< priority of the presolver (>= 0: before, < 0: after constraint handlers) */
48 #define PRESOL_MAXROUNDS 0 /**< maximal number of presolving rounds the presolver participates in (-1: no limit) */
49 #define PRESOL_TIMING SCIP_PRESOLTIMING_EXHAUSTIVE /* timing of the presolver (fast, medium, or exhaustive) */
366 SCIP_VAR** binvars /**< pointers to the binary variables (in same order as variables in matrix) */
422 SCIP_VAR** binvars /**< pointers to the binary variables (in same order as variables in matrix) */
489 if( (SCIPgetStage(scip) != SCIP_STAGE_PRESOLVING) || SCIPinProbing(scip) || SCIPisNLPEnabled(scip) )
598 SCIP_CALL( SCIPincludePresolBasic(scip, &presol, PRESOL_NAME, PRESOL_DESC, PRESOL_PRIORITY, PRESOL_MAXROUNDS,
Definition: struct_presol.h:36 Definition: type_result.h:33 SCIP_Bool SCIPmatrixIsRowRhsInfinity(SCIPMILPMATRIX *matrix, int row) Definition: matrix.c:1420 int SCIPmatrixGetColNDownlocks(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1312 SCIP_RETCODE SCIPaggregateVars(SCIP *scip, SCIP_VAR *varx, SCIP_VAR *vary, SCIP_Real scalarx, SCIP_Real scalary, SCIP_Real rhs, SCIP_Bool *infeasible, SCIP_Bool *redundant, SCIP_Bool *aggregated) Definition: scip.c:22873 Definition: struct_scip.h:53 static void getUplockRowIdx(SCIPMILPMATRIX *matrix, int aggvaridx, int *rowidx, SCIP_Real *coef) Definition: presol_dualagg.c:66 Definition: type_result.h:49 Definition: struct_var.h:196 static SCIP_RETCODE findUplockAggregations(SCIP *scip, SCIPMILPMATRIX *matrix, int *nvaragg, AGGRTYPE *aggtypes, SCIP_VAR **binvars) Definition: presol_dualagg.c:361 static SCIP_RETCODE findDownlockAggregations(SCIP *scip, SCIPMILPMATRIX *matrix, int *nvaragg, AGGRTYPE *aggtypes, SCIP_VAR **binvars) Definition: presol_dualagg.c:417 SCIP_Real SCIPmatrixGetColUb(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1281 aggregate variables by dual arguments static void getBinVarIdxInDownlockRow(SCIP *scip, SCIPMILPMATRIX *matrix, int aggvaridx, int *binvaridx, AGGRTYPE *aggtype) Definition: presol_dualagg.c:261 Definition: type_var.h:53 SCIP_Real SCIPmatrixGetRowMinActivity(SCIPMILPMATRIX *matrix, int row) Definition: matrix.c:1440 int * SCIPmatrixGetColIdxPtr(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1250 SCIP_Real SCIPmatrixGetColLb(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1291 SCIP_RETCODE SCIPincludePresolDualagg(SCIP *scip) Definition: presol_dualagg.c:591 Definition: type_result.h:35 int SCIPmatrixGetColNUplocks(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1301 SCIP_Real * SCIPmatrixGetRowValPtr(SCIPMILPMATRIX *matrix, int row) Definition: matrix.c:1345 SCIP_Real SCIPmatrixGetRowMaxActivity(SCIPMILPMATRIX *matrix, int row) Definition: matrix.c:1451 SCIP_RETCODE SCIPmatrixCreate(SCIP *scip, SCIPMILPMATRIX **matrixptr, SCIP_Bool *initialized, SCIP_Bool *complete) Definition: matrix.c:429 Definition: presol_dualagg.c:55 Definition: type_retcode.h:33 static void getBinVarIdxInUplockRow(SCIP *scip, SCIPMILPMATRIX *matrix, int aggvaridx, int *binvaridx, AGGRTYPE *aggtype) Definition: presol_dualagg.c:163 int * SCIPmatrixGetRowIdxPtr(SCIPMILPMATRIX *matrix, int row) Definition: matrix.c:1356 SCIP_VAR * SCIPmatrixGetVar(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1323 Definition: struct_matrix.h:48 Definition: type_set.h:38 int SCIPmatrixGetColNNonzs(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1261 public methods for MILP matrix SCIP_Real * SCIPmatrixGetColValPtr(SCIPMILPMATRIX *matrix, int col) Definition: matrix.c:1239 static void getDownlockRowIdx(SCIPMILPMATRIX *matrix, int aggvaridx, int *rowidx, SCIP_Real *coef) Definition: presol_dualagg.c:115 Definition: presol_dualagg.c:54 Definition: presol_dualagg.c:56 int SCIPmatrixGetRowNNonzs(SCIPMILPMATRIX *matrix, int row) Definition: matrix.c:1367 SCIP_RETCODE SCIPincludePresolBasic(SCIP *scip, SCIP_PRESOL **presolptr, const char *name, const char *desc, int priority, int maxrounds, SCIP_PRESOLTIMING timing, SCIP_DECL_PRESOLEXEC((*presolexec)), SCIP_PRESOLDATA *presoldata) Definition: scip.c:6160 Definition: type_result.h:39 SCIP_Real SCIPmatrixGetRowLhs(SCIPMILPMATRIX *matrix, int row) Definition: matrix.c:1398 |