public methods for matrix
Definition in file pub_matrix.h.
#include "scip/def.h"
#include "scip/type_var.h"
#include "scip/type_cons.h"
#include "scip/type_matrix.h"
Go to the source code of this file.
SCIP_Real* SCIPmatrixGetColValPtr | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get column based start pointer of values
matrix | matrix instance |
col | column index |
Definition at line 1233 of file matrix.c.
References SCIP_Matrix::colmatbeg, and SCIP_Matrix::colmatval.
Referenced by calcColActivity(), dualBoundStrengthening(), findDominancePairs(), getDownlockRowIdx(), getMinColActWithoutRow(), getUplockRowIdx(), isUpperBoundImplied(), isVarImpliedFree(), numericalStable(), and SCIP_DECL_PRESOLEXEC().
int* SCIPmatrixGetColIdxPtr | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get column based start pointer of row indices
matrix | matrix instance |
col | column index |
Definition at line 1245 of file matrix.c.
References SCIP_Matrix::colmatbeg, and SCIP_Matrix::colmatind.
Referenced by calcColActivity(), calcTwoRowBnds(), dualBoundStrengthening(), findDominancePairs(), findFixings(), findVarAggrRedVbcons(), getDownlockRowIdx(), getMinColActWithoutRow(), getUplockRowIdx(), isUpperBoundImplied(), isVarImpliedFree(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
int SCIPmatrixGetColNNonzs | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get the number of non-zero entries of this column
matrix | matrix instance |
col | column index |
Definition at line 1257 of file matrix.c.
References SCIP_Matrix::colmatcnt.
Referenced by calcColActivity(), calcTwoRowBnds(), compensateVarLock(), dualBoundStrengthening(), findDominancePairs(), findFixings(), findVarAggrRedVbcons(), getDownlockRowIdx(), getFillIn(), getMinColActWithoutRow(), getUplockRowIdx(), isUpperBoundImplied(), isVarImpliedFree(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
int SCIPmatrixGetNColumns | ( | SCIP_MATRIX * | matrix | ) |
get number of columns of the matrix
matrix | matrix instance |
Definition at line 1269 of file matrix.c.
References SCIP_Matrix::ncols.
Referenced by calcTwoRowBnds(), calcVarBoundsDominated(), calcVarBoundsDominating(), compensateVarLock(), detectParallelCols(), dualBoundStrengthening(), findDownlockAggregations(), findUplockAggregations(), findVarAggrRedVbcons(), getBounds(), getCoefficients(), getMultiaggVars(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
SCIP_Real SCIPmatrixGetColUb | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get upper bound of column
matrix | matrix instance |
col | column index |
Definition at line 1279 of file matrix.c.
References SCIP_Matrix::ub.
Referenced by calcNewSidesAfterAggregation(), findDownlockAggregations(), findUplockAggregations(), getActivityRelax(), getActivityResiduals(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMaxActivitySingleRowWithoutCol(), getMaxActSingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMinMaxActivityResiduals(), getNumHugeActivities(), isUpperBoundImplied(), isVarImpliedFree(), and SCIP_DECL_PRESOLEXEC().
SCIP_Real SCIPmatrixGetColLb | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get lower bound of column
matrix | matrix instance |
col | column index |
Definition at line 1290 of file matrix.c.
References SCIP_Matrix::lb.
Referenced by calcNewSidesAfterAggregation(), findDownlockAggregations(), findUplockAggregations(), getActivityRelax(), getActivityResiduals(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMaxActivitySingleRowWithoutCol(), getMaxActSingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMinMaxActivityResiduals(), getNumHugeActivities(), isVarImpliedFree(), and SCIP_DECL_PRESOLEXEC().
int SCIPmatrixGetColNUplocks | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get number of uplocks of column
matrix | matrix instance |
col | column index |
Definition at line 1301 of file matrix.c.
References SCIP_Matrix::nuplocks.
Referenced by cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), findUplockAggregations(), getUplockRowIdx(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
int SCIPmatrixGetColNDownlocks | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get number of downlocks of column
matrix | matrix instance |
col | column index |
Definition at line 1313 of file matrix.c.
References SCIP_Matrix::ndownlocks.
Referenced by cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), findDownlockAggregations(), getDownlockRowIdx(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
SCIP_VAR* SCIPmatrixGetVar | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get variable pointer of column
matrix | matrix instance |
col | column index |
Definition at line 1325 of file matrix.c.
References SCIP_Matrix::vars.
Referenced by calcColActivity(), calcVarBoundsDominated(), calcVarBoundsDominating(), cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), dualBoundStrengthening(), findDominancePairs(), findDownlockAggregations(), findUplockAggregations(), findVarAggrRedVbcons(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getBounds(), getMultiaggVars(), infCntUpdate(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
const char* SCIPmatrixGetColName | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get name of column/variable
matrix | matrix instance |
col | column index |
Definition at line 1337 of file matrix.c.
References SCIPvarGetName(), and SCIP_Matrix::vars.
SCIP_Real* SCIPmatrixGetRowValPtr | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get row based start pointer of values
matrix | matrix instance |
row | row index |
Definition at line 1349 of file matrix.c.
References SCIP_Matrix::rowmatbeg, and SCIP_Matrix::rowmatval.
Referenced by cancelRow(), compensateVarLock(), detectParallelCols(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getCoefficients(), getMaxActivitySingleRowWithoutCol(), getMaxActSingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMultiaggVars(), getNumHugeActivities(), infCntUpdate(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
int* SCIPmatrixGetRowIdxPtr | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get row based start pointer of column indices
matrix | matrix instance |
row | row index |
Definition at line 1361 of file matrix.c.
References SCIP_Matrix::rowmatbeg, and SCIP_Matrix::rowmatind.
Referenced by calcTwoRowBnds(), cancelRow(), compensateVarLock(), detectParallelCols(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getCoefficients(), getMaxActivitySingleRowWithoutCol(), getMaxActSingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMultiaggVars(), getNumHugeActivities(), getNumOverlap(), getOverlapBaseOrdered(), infCntUpdate(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
int SCIPmatrixGetRowNNonzs | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get number of non-zeros of this row
matrix | matrix instance |
row | row index |
Definition at line 1373 of file matrix.c.
References SCIP_Matrix::rowmatcnt.
Referenced by applyTightening(), calcTwoRowBnds(), cancelRow(), compensateVarLock(), detectParallelCols(), getActivities(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getCoefficients(), getFillIn(), getMaxActivitySingleRowWithoutCol(), getMaxActSingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinActSingleRowWithoutCol(), getMultiaggVars(), getNumHugeActivities(), getNumOverlap(), getOverlapBaseOrdered(), infCntUpdate(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
const char* SCIPmatrixGetRowName | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get name of row
matrix | matrix instance |
row | row index |
Definition at line 1385 of file matrix.c.
References SCIP_Matrix::cons, and SCIPconsGetName().
Referenced by cancelRow().
int SCIPmatrixGetNRows | ( | SCIP_MATRIX * | matrix | ) |
get number of rows of the matrix
matrix | matrix instance |
Definition at line 1397 of file matrix.c.
References SCIP_Matrix::nrows.
Referenced by calcTwoRowBnds(), calcVarBoundsDominated(), calcVarBoundsDominating(), compensateVarLock(), detectParallelCols(), dualBoundStrengthening(), findVarAggrRedVbcons(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBaseRows(), getMultiaggVars(), getNumHugeActivities(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
SCIP_Real SCIPmatrixGetRowLhs | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get left-hand-side of row
matrix | matrix instance |
row | row index |
Definition at line 1407 of file matrix.c.
References SCIP_Matrix::lhs.
Referenced by applyTightening(), calcNewSidesAfterAggregation(), calcVarBoundsDominated(), calcVarBoundsDominating(), cancelRow(), compensateVarLock(), dualBoundStrengthening(), findDominancePairs(), findFixings(), getActivities(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMultiaggVars(), getVarBoundsOfRow(), getVarUpperBoundOfRow(), isVlb(), isVub(), numericalStable(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
SCIP_Real SCIPmatrixGetRowRhs | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get right-hand-side of row
matrix | matrix instance |
row | row index |
Definition at line 1419 of file matrix.c.
References SCIP_Matrix::rhs.
Referenced by calcNewSidesAfterAggregation(), calcVarBoundsDominated(), calcVarBoundsDominating(), cancelRow(), compensateVarLock(), dualBoundStrengthening(), findDominancePairs(), findFixings(), getMultiaggVars(), getVarBoundsOfRow(), getVarUpperBoundOfRow(), numericalStable(), and SCIP_DECL_PRESOLEXEC().
SCIP_Bool SCIPmatrixIsRowRhsInfinity | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
flag indicating if right-hand-side of row is infinity
matrix | matrix instance |
row | row index |
Definition at line 1431 of file matrix.c.
References SCIP_Matrix::isrhsinfinite.
Referenced by calcColActivity(), calcColActResidual(), calcTwoRowBnds(), calcVarBoundsDominated(), calcVarBoundsDominating(), detectParallelCols(), dualBoundStrengthening(), findDominancePairs(), getBaseRows(), getDownlockRowIdx(), getMinColActWithoutRow(), getUplockRowIdx(), infCntUpdate(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), singletonColumnStuffing(), and updateDualBounds().
int SCIPmatrixGetNNonzs | ( | SCIP_MATRIX * | matrix | ) |
get number of non-zeros of matrix
matrix | matrix instance |
Definition at line 1443 of file matrix.c.
References SCIP_Matrix::nnonzs.
Referenced by SCIP_DECL_PRESOLEXEC().
SCIP_Real SCIPmatrixGetRowMinActivity | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get minimal activity of row
matrix | matrix instance |
row | row index |
Definition at line 1453 of file matrix.c.
References SCIP_Matrix::minactivity.
Referenced by findDominancePairs(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), and getMinMaxActivityResiduals().
SCIP_Real SCIPmatrixGetRowMaxActivity | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get maximal activity of row
matrix | matrix instance |
row | row index |
Definition at line 1465 of file matrix.c.
References SCIP_Matrix::maxactivity.
Referenced by findDominancePairs(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), and getMinMaxActivityResiduals().
int SCIPmatrixGetRowNMinActNegInf | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get number of negative infinities present within minimal activity
matrix | matrix instance |
row | row index |
Definition at line 1477 of file matrix.c.
References SCIP_Matrix::minactivityneginf.
Referenced by findDominancePairs(), getActivityRelax(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), and getMinMaxActivityResiduals().
int SCIPmatrixGetRowNMinActPosInf | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get number of positive infinities present within minimal activity
matrix | matrix instance |
row | row index |
Definition at line 1489 of file matrix.c.
References SCIP_Matrix::minactivityposinf.
Referenced by findDominancePairs(), getActivityRelax(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), and getMinMaxActivityResiduals().
int SCIPmatrixGetRowNMaxActNegInf | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get number of negative infinities present within maximal activity
matrix | matrix instance |
row | row index |
Definition at line 1501 of file matrix.c.
References SCIP_Matrix::maxactivityneginf.
Referenced by findDominancePairs(), getActivityRelax(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), and getMinMaxActivityResiduals().
int SCIPmatrixGetRowNMaxActPosInf | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get number of positive infinities present within maximal activity
matrix | matrix instance |
row | row index |
Definition at line 1513 of file matrix.c.
References SCIP_Matrix::maxactivityposinf.
Referenced by findDominancePairs(), getActivityRelax(), getActivityResiduals(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), and getMinMaxActivityResiduals().
SCIP_CONS* SCIPmatrixGetCons | ( | SCIP_MATRIX * | matrix, |
int | row | ||
) |
get constraint pointer for constraint representing row
matrix | matrix instance |
row | row index |
Definition at line 1525 of file matrix.c.
References SCIP_Matrix::cons.
Referenced by cancelRow(), detectDominatingVlbs(), detectDominatingVubs(), and SCIP_DECL_PRESOLEXEC().
SCIP_Bool SCIPmatrixUplockConflict | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get if conflicting uplocks of variable present
get if conflicting uplocks of a specific variable present
matrix | matrix instance |
col | column index |
Definition at line 1537 of file matrix.c.
References SCIP_Matrix::nuplocks, SCIPvarGetNLocksUp(), and SCIP_Matrix::vars.
SCIP_Bool SCIPmatrixDownlockConflict | ( | SCIP_MATRIX * | matrix, |
int | col | ||
) |
get if conflicting downlocks of variable present
get if conflicting downlocks of a specific variable present
matrix | matrix instance |
col | column index |
Definition at line 1549 of file matrix.c.
References SCIP_Matrix::ndownlocks, SCIPvarGetNLocksDown(), and SCIP_Matrix::vars.
SCIP_RETCODE SCIPmatrixCreate | ( | SCIP * | scip, |
SCIP_MATRIX ** | matrixptr, | ||
SCIP_Bool * | initialized, | ||
SCIP_Bool * | complete | ||
) |
initialize matrix
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 430 of file matrix.c.
References addConstraint(), BMSclearMemoryArray, calcActivityBounds(), SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, SCIP_Matrix::cons, FALSE, SCIP_Matrix::isrhsinfinite, SCIP_Matrix::lb, SCIP_Matrix::lhs, SCIP_Matrix::maxactivity, SCIP_Matrix::maxactivityneginf, SCIP_Matrix::maxactivityposinf, SCIP_Matrix::minactivity, SCIP_Matrix::minactivityneginf, SCIP_Matrix::minactivityposinf, SCIP_Matrix::ncols, SCIP_Matrix::ndownlocks, SCIP_Matrix::nnonzs, SCIP_Matrix::nrows, SCIP_Matrix::nuplocks, SCIP_Matrix::rhs, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::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(), SCIPdebugMsg, 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, SCIP_Matrix::ub, and SCIP_Matrix::vars.
Referenced by SCIP_DECL_PRESOLEXEC().
void SCIPmatrixFree | ( | SCIP * | scip, |
SCIP_MATRIX ** | matrix | ||
) |
frees the constraint matrix
scip | current SCIP instance |
matrix | constraint matrix object |
Definition at line 782 of file matrix.c.
References SCIPfreeBuffer, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, and SCIPfreeMemoryArray.
Referenced by SCIP_DECL_PRESOLEXEC().
void SCIPmatrixPrintRow | ( | SCIP * | scip, |
SCIP_MATRIX * | matrix, | ||
int | row | ||
) |
print one row of the MIP matrix
print one row of the matrix
scip | current SCIP instance |
matrix | constraint matrix object |
row | row index |
Definition at line 845 of file matrix.c.
References SCIP_Matrix::cons, SCIP_Matrix::lhs, SCIP_Matrix::rhs, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_Real, SCIPconsGetName(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and SCIP_Matrix::vars.
Referenced by cancelRow(), compensateVarLock(), and getActivities().
SCIP_RETCODE SCIPmatrixGetParallelRows | ( | SCIP * | scip, |
SCIP_MATRIX * | matrix, | ||
SCIP_Real * | scale, | ||
int * | pclass | ||
) |
detect parallel rows, rhs/lhs are ignored
detect parallel rows of matrix. rhs/lhs are ignored.
scip | SCIP instance |
matrix | matrix containing the constraints |
scale | scale factors of rows |
pclass | parallel row classes |
Definition at line 877 of file matrix.c.
References BMSclearMemoryArray, SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, SCIP_Matrix::ncols, SCIP_Matrix::nrows, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisEQ(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.
SCIP_RETCODE SCIPmatrixGetParallelCols | ( | SCIP * | scip, |
SCIP_MATRIX * | matrix, | ||
SCIP_Real * | scale, | ||
int * | pclass, | ||
SCIP_Bool * | varineq | ||
) |
detect parallel rows, obj ignored
detect parallel rows of matrix. obj coefficients are ignored.
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 1033 of file matrix.c.
References BMSclearMemoryArray, SCIP_Matrix::isrhsinfinite, SCIP_Matrix::ncols, SCIP_Matrix::nrows, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisEQ(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.