|
|
public methods for MILP matrix
- Author
- Dieter Weninger
Definition in file pub_matrix.h.
Go to the source code of this file.
|
| SCIP_Real * | SCIPmatrixGetColValPtr (SCIPMILPMATRIX *matrix, int col) |
| |
| int * | SCIPmatrixGetColIdxPtr (SCIPMILPMATRIX *matrix, int col) |
| |
| int | SCIPmatrixGetColNNonzs (SCIPMILPMATRIX *matrix, int col) |
| |
| int | SCIPmatrixGetNColumns (SCIPMILPMATRIX *matrix) |
| |
| SCIP_Real | SCIPmatrixGetColUb (SCIPMILPMATRIX *matrix, int col) |
| |
| SCIP_Real | SCIPmatrixGetColLb (SCIPMILPMATRIX *matrix, int col) |
| |
| int | SCIPmatrixGetColNUplocks (SCIPMILPMATRIX *matrix, int col) |
| |
| int | SCIPmatrixGetColNDownlocks (SCIPMILPMATRIX *matrix, int col) |
| |
| SCIP_VAR * | SCIPmatrixGetVar (SCIPMILPMATRIX *matrix, int col) |
| |
| const char * | SCIPmatrixGetColName (SCIPMILPMATRIX *matrix, int col) |
| |
| SCIP_Real * | SCIPmatrixGetRowValPtr (SCIPMILPMATRIX *matrix, int row) |
| |
| int * | SCIPmatrixGetRowIdxPtr (SCIPMILPMATRIX *matrix, int row) |
| |
| int | SCIPmatrixGetRowNNonzs (SCIPMILPMATRIX *matrix, int row) |
| |
| const char * | SCIPmatrixGetRowName (SCIPMILPMATRIX *matrix, int row) |
| |
| int | SCIPmatrixGetNRows (SCIPMILPMATRIX *matrix) |
| |
| SCIP_Real | SCIPmatrixGetRowLhs (SCIPMILPMATRIX *matrix, int row) |
| |
| SCIP_Real | SCIPmatrixGetRowRhs (SCIPMILPMATRIX *matrix, int row) |
| |
| SCIP_Bool | SCIPmatrixIsRowRhsInfinity (SCIPMILPMATRIX *matrix, int row) |
| |
| int | SCIPmatrixGetNNonzs (SCIPMILPMATRIX *matrix) |
| |
| SCIP_Real | SCIPmatrixGetRowMinActivity (SCIPMILPMATRIX *matrix, int row) |
| |
| SCIP_Real | SCIPmatrixGetRowMaxActivity (SCIPMILPMATRIX *matrix, int row) |
| |
| int | SCIPmatrixGetRowNMinActNegInf (SCIPMILPMATRIX *matrix, int row) |
| |
| int | SCIPmatrixGetRowNMinActPosInf (SCIPMILPMATRIX *matrix, int row) |
| |
| int | SCIPmatrixGetRowNMaxActNegInf (SCIPMILPMATRIX *matrix, int row) |
| |
| int | SCIPmatrixGetRowNMaxActPosInf (SCIPMILPMATRIX *matrix, int row) |
| |
| SCIP_CONS * | SCIPmatrixGetCons (SCIPMILPMATRIX *matrix, int row) |
| |
| SCIP_Bool | SCIPmatrixUplockConflict (SCIPMILPMATRIX *matrix, int col) |
| |
| SCIP_Bool | SCIPmatrixDownlockConflict (SCIPMILPMATRIX *matrix, int col) |
| |
| SCIP_RETCODE | SCIPmatrixCreate (SCIP *scip, SCIPMILPMATRIX **matrixptr, SCIP_Bool *initialized, SCIP_Bool *complete) |
| |
| void | SCIPmatrixFree (SCIP *scip, SCIPMILPMATRIX **matrix) |
| |
| void | SCIPmatrixPrintRow (SCIP *scip, SCIPMILPMATRIX *matrix, int row) |
| |
| SCIP_RETCODE | SCIPmatrixGetParallelRows (SCIP *scip, SCIPMILPMATRIX *matrix, SCIP_Real *scale, int *pclass) |
| |
| SCIP_RETCODE | SCIPmatrixGetParallelCols (SCIP *scip, SCIPMILPMATRIX *matrix, SCIP_Real *scale, int *pclass, SCIP_Bool *varineq) |
| |
get column based start pointer of values
- Parameters
-
| matrix | matrix instance |
| col | column index |
Definition at line 1239 of file matrix.c.
References SCIPmilpMatrix::colmatbeg, SCIPmilpMatrix::colmatval, and NULL.
Referenced by calcColActivity(), dualBoundStrengthening(), findDominancePairs(), getDownlockRowIdx(), getMinColActWithoutBound(), getMinColActWithoutRow(), getUplockRowIdx(), isVarImpliedFree(), and numericalStable().
get column based start pointer of row indices
- Parameters
-
| matrix | matrix instance |
| col | column index |
Definition at line 1250 of file matrix.c.
References SCIPmilpMatrix::colmatbeg, SCIPmilpMatrix::colmatind, and NULL.
Referenced by calcColActivity(), calcTwoRowBnds(), dualBoundStrengthening(), findDominancePairs(), findFixings(), findVarAggrRedVbcons(), getDownlockRowIdx(), getMinColActWithoutBound(), getMinColActWithoutRow(), getUplockRowIdx(), isVarImpliedFree(), numericalStable(), and singletonColumnStuffing().
get the number of non-zero entries of this column
- Parameters
-
| matrix | matrix instance |
| col | column index |
Definition at line 1261 of file matrix.c.
References SCIPmilpMatrix::colmatcnt, and NULL.
Referenced by calcColActivity(), calcTwoRowBnds(), dualBoundStrengthening(), findDominancePairs(), findFixings(), findVarAggrRedVbcons(), getDownlockRowIdx(), getFillIn(), getMinColActWithoutBound(), getMinColActWithoutRow(), getUplockRowIdx(), isVarImpliedFree(), numericalStable(), and singletonColumnStuffing().
get number of columns of the matrix
- Parameters
-
Definition at line 1272 of file matrix.c.
References SCIPmilpMatrix::ncols, and NULL.
Referenced by calcTwoRowBnds(), calcVarBoundsDominated(), calcVarBoundsDominating(), detectParallelCols(), dualBoundStrengthening(), findDownlockAggregations(), findUplockAggregations(), findVarAggrRedVbcons(), getBounds(), getCoefficients(), getMultiaggVars(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
get upper bound of column
- Parameters
-
| matrix | matrix instance |
| col | column index |
Definition at line 1281 of file matrix.c.
References NULL, and SCIPmilpMatrix::ub.
Referenced by calcNewSidesAfterAggregation(), findDownlockAggregations(), findUplockAggregations(), getActivityRelax(), getActivityResiduals(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMaxActSingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getNumHugeActivities(), isVarImpliedFree(), and SCIP_DECL_PRESOLEXEC().
get lower bound of column
- Parameters
-
| matrix | matrix instance |
| col | column index |
Definition at line 1291 of file matrix.c.
References SCIPmilpMatrix::lb, and NULL.
Referenced by calcNewSidesAfterAggregation(), findDownlockAggregations(), findUplockAggregations(), getActivityRelax(), getActivityResiduals(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMaxActSingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getNumHugeActivities(), isVarImpliedFree(), and SCIP_DECL_PRESOLEXEC().
get variable pointer of column
- Parameters
-
| matrix | matrix instance |
| col | column index |
Definition at line 1323 of file matrix.c.
References NULL, and SCIPmilpMatrix::vars.
Referenced by calcColActivity(), calcColActResidualCommon(), calcColActResidualExplicitBound(), calcVarBoundsDominated(), calcVarBoundsDominating(), detectDominatingVlbs(), detectDominatingVubs(), dualBoundStrengthening(), findDominancePairs(), findDownlockAggregations(), findUplockAggregations(), findVarAggrRedVbcons(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getBounds(), getMinColActWithoutBound(), getMinColActWithoutRow(), getMultiaggVars(), infCntUpdateExplicit(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), singletonColumnStuffing(), and updateDualBoundsExplicit().
get row based start pointer of values
- Parameters
-
| matrix | matrix instance |
| row | row index |
Definition at line 1345 of file matrix.c.
References NULL, SCIPmilpMatrix::rowmatbeg, and SCIPmilpMatrix::rowmatval.
Referenced by detectParallelCols(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getCoefficients(), getMaxActSingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMultiaggVars(), getNumHugeActivities(), infCntUpdate(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
get row based start pointer of column indices
- Parameters
-
| matrix | matrix instance |
| row | row index |
Definition at line 1356 of file matrix.c.
References NULL, SCIPmilpMatrix::rowmatbeg, and SCIPmilpMatrix::rowmatind.
Referenced by calcTwoRowBnds(), detectParallelCols(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getCoefficients(), getMaxActSingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMultiaggVars(), getNumHugeActivities(), getNumOverlap(), getOverlapBaseOrdered(), infCntUpdate(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
get number of non-zeros of this row
- Parameters
-
| matrix | matrix instance |
| row | row index |
Definition at line 1367 of file matrix.c.
References NULL, and SCIPmilpMatrix::rowmatcnt.
Referenced by applyTightening(), calcTwoRowBnds(), detectParallelCols(), getActivities(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getCoefficients(), getFillIn(), getMaxActSingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMultiaggVars(), getNumHugeActivities(), getNumOverlap(), getOverlapBaseOrdered(), infCntUpdate(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
get number of rows of the matrix
- Parameters
-
Definition at line 1389 of file matrix.c.
References SCIPmilpMatrix::nrows, and NULL.
Referenced by calcTwoRowBnds(), calcVarBoundsDominated(), calcVarBoundsDominating(), detectParallelCols(), dualBoundStrengthening(), findVarAggrRedVbcons(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBaseRows(), getMultiaggVars(), getNumHugeActivities(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
get left-hand-side of row
- Parameters
-
| matrix | matrix instance |
| row | row index |
Definition at line 1398 of file matrix.c.
References SCIPmilpMatrix::lhs, and NULL.
Referenced by applyTightening(), calcNewSidesAfterAggregation(), calcVarBoundsDominated(), calcVarBoundsDominating(), dualBoundStrengthening(), findDominancePairs(), findFixings(), getActivities(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMultiaggVars(), getVarBoundsOfRow(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
get right-hand-side of row
- Parameters
-
| matrix | matrix instance |
| row | row index |
Definition at line 1409 of file matrix.c.
References NULL, and SCIPmilpMatrix::rhs.
Referenced by calcNewSidesAfterAggregation(), calcVarBoundsDominated(), calcVarBoundsDominating(), dualBoundStrengthening(), findDominancePairs(), findFixings(), getMultiaggVars(), getVarBoundsOfRow(), numericalStable(), and SCIP_DECL_PRESOLEXEC().
flag indicating if right-hand-side of row is infinity
- Parameters
-
| matrix | matrix instance |
| row | row index |
Definition at line 1420 of file matrix.c.
References SCIPmilpMatrix::isrhsinfinite, and NULL.
Referenced by calcColActivity(), calcColActResidualCommon(), calcTwoRowBnds(), calcVarBoundsDominated(), calcVarBoundsDominating(), detectParallelCols(), dualBoundStrengthening(), findDominancePairs(), getBaseRows(), getDownlockRowIdx(), getMinColActWithoutBound(), getMinColActWithoutRow(), getUplockRowIdx(), infCntUpdate(), isVlb(), isVub(), singletonColumnStuffing(), and updateDualBounds().
| int SCIPmatrixGetRowNMinActNegInf |
( |
SCIPMILPMATRIX * |
matrix, |
|
|
int |
row |
|
) |
| |
| int SCIPmatrixGetRowNMinActPosInf |
( |
SCIPMILPMATRIX * |
matrix, |
|
|
int |
row |
|
) |
| |
| int SCIPmatrixGetRowNMaxActNegInf |
( |
SCIPMILPMATRIX * |
matrix, |
|
|
int |
row |
|
) |
| |
| int SCIPmatrixGetRowNMaxActPosInf |
( |
SCIPMILPMATRIX * |
matrix, |
|
|
int |
row |
|
) |
| |
initialize matrix
- Parameters
-
| scip | current scip instance |
| matrixptr | pointer to constraint matrix object to be initialized |
| initialized | was the initialization successful? |
| complete | are all constraint represented within the matrix? |
Definition at line 429 of file matrix.c.
References addConstraint(), BMSclearMemoryArray, calcActivityBounds(), SCIPmilpMatrix::colmatbeg, SCIPmilpMatrix::colmatcnt, SCIPmilpMatrix::colmatind, SCIPmilpMatrix::colmatval, SCIPmilpMatrix::cons, SCIPmilpMatrix::constype, CONSTYPE_KNAPSACK, CONSTYPE_LINEAR, CONSTYPE_LOGICOR, CONSTYPE_SETPPC, CONSTYPE_VARBOUND, FALSE, SCIPmilpMatrix::isrhsinfinite, SCIPmilpMatrix::lb, SCIPmilpMatrix::lhs, SCIPmilpMatrix::maxactivity, SCIPmilpMatrix::maxactivityneginf, SCIPmilpMatrix::maxactivityposinf, SCIPmilpMatrix::minactivity, SCIPmilpMatrix::minactivityneginf, SCIPmilpMatrix::minactivityposinf, SCIPmilpMatrix::ncols, SCIPmilpMatrix::ndownlocks, SCIPmilpMatrix::nnonzs, SCIPmilpMatrix::nrows, NULL, SCIPmilpMatrix::nuplocks, SCIPmilpMatrix::rhs, SCIPmilpMatrix::rowmatbeg, SCIPmilpMatrix::rowmatcnt, SCIPmilpMatrix::rowmatind, SCIPmilpMatrix::rowmatval, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_SETPPCTYPE_COVERING, SCIP_SETPPCTYPE_PACKING, SCIP_SETPPCTYPE_PARTITIONING, SCIPallocBuffer, SCIPallocBufferArray, SCIPallocClearMemoryArray, SCIPconshdlrGetCheckConss(), SCIPconshdlrGetName(), SCIPconshdlrGetNCheckConss(), SCIPconsIsTransformed(), SCIPdebugMessage, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPgetCapacityKnapsack(), SCIPgetConshdlrs(), SCIPgetLhsLinear(), SCIPgetLhsVarbound(), SCIPgetNConshdlrs(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetNVarsKnapsack(), SCIPgetNVarsLinear(), SCIPgetNVarsLogicor(), SCIPgetNVarsSetppc(), SCIPgetRhsLinear(), SCIPgetRhsVarbound(), SCIPgetTypeSetppc(), SCIPgetValsLinear(), SCIPgetVars(), SCIPgetVarsKnapsack(), SCIPgetVarsLinear(), SCIPgetVarsLogicor(), SCIPgetVarsSetppc(), SCIPgetVarVarbound(), SCIPgetVbdcoefVarbound(), SCIPgetVbdvarVarbound(), SCIPgetWeightsKnapsack(), SCIPinfinity(), SCIPisStopped(), SCIPreallocBufferArray, SCIPvarGetLbGlobal(), SCIPvarGetNLocksDown(), SCIPvarGetNLocksUp(), SCIPvarGetUbGlobal(), setColumnMajorFormat(), TRUE, SCIPmilpMatrix::ub, and SCIPmilpMatrix::vars.
Referenced by SCIP_DECL_PRESOLEXEC().
print one row of the MILP matrix
- Parameters
-
| scip | current SCIP instance |
| matrix | constraint matrix object |
| row | row index |
Definition at line 851 of file matrix.c.
References SCIPmilpMatrix::cons, SCIPmilpMatrix::lhs, SCIPmilpMatrix::rhs, SCIPmilpMatrix::rowmatbeg, SCIPmilpMatrix::rowmatcnt, SCIPmilpMatrix::rowmatind, SCIPmilpMatrix::rowmatval, SCIP_Real, SCIPconsGetName(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and SCIPmilpMatrix::vars.
Referenced by getActivities().
detect parallel rows, rhs/lhs are ignored
detect parallel rows of matrix. rhs/lhs are ignored.
- Parameters
-
| scip | SCIP instance |
| matrix | matrix containing the constraints |
| scale | scale factors of rows |
| pclass | parallel row classes |
Definition at line 883 of file matrix.c.
References BMSclearMemoryArray, SCIPmilpMatrix::colmatbeg, SCIPmilpMatrix::colmatcnt, SCIPmilpMatrix::colmatind, SCIPmilpMatrix::colmatval, SCIPmilpMatrix::ncols, SCIPmilpMatrix::nrows, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisEQ(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.
detect parallel rows, obj ignored
detect parallel rows of matrix. obj coefficients are ignored.
- Parameters
-
| scip | SCIP instance |
| matrix | matrix containing the constraints |
| scale | scale factors of cols |
| pclass | parallel column classes |
| varineq | indicating if variable is within an equation |
Definition at line 1039 of file matrix.c.
References BMSclearMemoryArray, SCIPmilpMatrix::isrhsinfinite, SCIPmilpMatrix::ncols, SCIPmilpMatrix::nrows, NULL, SCIPmilpMatrix::rowmatbeg, SCIPmilpMatrix::rowmatcnt, SCIPmilpMatrix::rowmatind, SCIPmilpMatrix::rowmatval, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisEQ(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.
|