methods for MIP matrix data structure
The MIP matrix is organized as sparse data structure in row and and column major format.
Definition in file matrix.c.
#include "blockmemshell/memory.h"#include "scip/cons_knapsack.h"#include "scip/cons_linear.h"#include "scip/cons_exactlinear.h"#include "scip/cons_logicor.h"#include "scip/cons_setppc.h"#include "scip/cons_varbound.h"#include "scip/pub_matrix.h"#include "scip/pub_cons.h"#include "scip/pub_message.h"#include "scip/pub_misc_sort.h"#include "scip/pub_var.h"#include "scip/scip_cons.h"#include "scip/scip_exact.h"#include "scip/scip_general.h"#include "scip/scip_mem.h"#include "scip/scip_message.h"#include "scip/scip_numerics.h"#include "scip/scip_pricer.h"#include "scip/scip_prob.h"#include "scip/scip_var.h"#include "scip/struct_matrix.h"#include "scip/rational.h"#include <string.h>Go to the source code of this file.
|
static |
transforms given variables, scalars and constant to the corresponding active variables, scalars and constant
| scip | SCIP instance |
| vars | vars array to get active variables for |
| scalars | scalars a_1, ..., a_n in linear sum a_1*x_1 + ... + a_n*x_n + c |
| nvars | pointer to number of variables and values in vars and vals array |
| constant | pointer to constant c in linear sum a_1*x_1 + ... + a_n*x_n + c |
Definition at line 70 of file matrix.c.
References assert(), NULL, nvars, scalars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPgetProbvarLinearSum(), SCIPreallocBufferArray, and vars.
Referenced by addConstraint().
|
static |
transforms given variables, scalars and constant to the corresponding active variables, scalars and constant
| scip | SCIP instance |
| vars | vars array to get active variables for |
| scalars | scalars a_1, ..., a_n in linear sum a_1*x_1 + ... + a_n*x_n + c |
| nvars | pointer to number of variables and values in vars and vals array |
| constant | pointer to constant c in linear sum a_1*x_1 + ... + a_n*x_n + c |
Definition at line 105 of file matrix.c.
References assert(), NULL, nvars, scalars, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPgetProbvarLinearSumExact(), SCIPrationalReallocBufferArray(), SCIPreallocBufferArray, TRUE, and vars.
Referenced by addConstraintExact().
|
static |
add one row to the constraint matrix
| scip | SCIP data structure |
| matrix | constraint matrix |
| vars | variables of this row |
| vals | coefficients of this row |
| nvars | number of variables of this row |
| lhs | left hand side |
| rhs | right hand side |
| maxnnonzsmem | maximal number of fillable elements |
| rowadded | flag indicating if constraint was added to matrix |
Definition at line 142 of file matrix.c.
References assert(), FALSE, SCIP_Matrix::isrhsinfinite, SCIP_Matrix::lhs, SCIP_Matrix::ndownlocks, SCIP_Matrix::nnonzs, SCIP_Matrix::nrows, NULL, SCIP_Matrix::nuplocks, nvars, SCIP_Matrix::rhs, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_Bool, SCIP_OKAY, SCIP_Real, SCIPinfinity(), SCIPisInfinity(), SCIPisZero(), SCIPvarGetProbindex(), TRUE, SCIP_Matrix::vars, and vars.
Referenced by addConstraint().
|
static |
add one row to the constraint matrix
| matrix | constraint matrix |
| vars | variables of this row |
| vals | coefficients of this row |
| nvars | number of variables of this row |
| lhs | left hand side |
| rhs | right hand side |
| maxnnonzsmem | maximal number of fillable elements |
| rowadded | flag indicating if constraint was added to matrix |
Definition at line 260 of file matrix.c.
References assert(), FALSE, SCIP_Matrix::isrhsinfinite, SCIP_MatrixValsExact::lhsexact, SCIP_Matrix::matrixvalsexact, SCIP_Matrix::ndownlocks, SCIP_Matrix::nnonzs, SCIP_Matrix::nrows, NULL, SCIP_Matrix::nuplocks, nvars, SCIP_MatrixValsExact::rhsexact, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_MatrixValsExact::rowmatvalexact, SCIP_Bool, SCIP_OKAY, SCIP_Real, SCIPrationalGetReal(), SCIPrationalIsInfinity(), SCIPrationalIsNegative(), SCIPrationalIsNegInfinity(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMultReal(), SCIPrationalNegate(), SCIPrationalSetInfinity(), SCIPrationalSetRational(), SCIPvarGetProbindex(), TRUE, SCIP_Matrix::vars, and vars.
Referenced by addConstraintExact().
|
static |
add one constraint to matrix
| scip | current scip instance |
| matrix | constraint matrix |
| vars | variables of this constraint |
| vals | variable coefficients of this constraint |
| nvars | number of variables |
| lhs | left hand side |
| rhs | right hand side |
| maxnnonzsmem | maximal number of fillable elements |
| rowadded | flag indicating of row was added to matrix |
Definition at line 379 of file matrix.c.
References addRow(), assert(), FALSE, getActiveVariables(), NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPisInfinity(), SCIPisLE(), and vars.
Referenced by SCIPmatrixCreate().
|
static |
add one constraint to matrix
| scip | current scip instance |
| matrix | constraint matrix |
| vars | variables of this constraint |
| vals | variable coefficients of this constraint |
| nvars | number of variables |
| lhs | left hand side |
| rhs | right hand side |
| maxnnonzsmem | maximal number of fillable elements |
| rowadded | flag indicating of row was added to matrix |
Definition at line 456 of file matrix.c.
References addRowExact(), assert(), FALSE, getActiveVariablesExact(), NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPrationalCopyBuffer(), SCIPrationalCopyBufferArray(), SCIPrationalCreateBuffer(), SCIPrationalCreateBufferArray(), SCIPrationalDiff(), SCIPrationalFreeBuffer(), SCIPrationalFreeBufferArray(), SCIPrationalIsInfinity(), SCIPrationalIsLE(), SCIPrationalIsNegInfinity(), SCIPrationalSetFraction(), and vars.
Referenced by SCIPmatrixCreate().
|
static |
transform row major format into column major format
| scip | current scip instance |
| matrix | constraint matrix |
Definition at line 541 of file matrix.c.
References assert(), BMSclearMemoryArray, SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, SCIP_MatrixValsExact::colmatvalexact, i, SCIP_Matrix::matrixvalsexact, SCIP_Matrix::ncols, SCIP_Matrix::nrows, NULL, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_MatrixValsExact::rowmatvalexact, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisExact(), and SCIPrationalSetRational().
Referenced by SCIPmatrixCreate().
|
static |
calculate min/max activity per row
| scip | current scip instance |
| matrix | constraint matrix |
Definition at line 613 of file matrix.c.
References assert(), SCIP_Matrix::lb, SCIP_Matrix::maxactivity, SCIP_Matrix::maxactivityneginf, SCIP_Matrix::maxactivityposinf, SCIP_Matrix::minactivity, SCIP_Matrix::minactivityneginf, SCIP_Matrix::minactivityposinf, SCIP_Matrix::ncols, SCIP_Matrix::nrows, NULL, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_OKAY, SCIP_Real, SCIPinfinity(), SCIPisExact(), SCIPisInfinity(), SCIPisZero(), and SCIP_Matrix::ub.
Referenced by SCIPmatrixCreate().
| SCIP_RETCODE SCIPmatrixCreate | ( | SCIP * | scip, |
| SCIP_MATRIX ** | matrixptr, | ||
| SCIP_Bool | onlyifcomplete, | ||
| SCIP_Bool * | initialized, | ||
| SCIP_Bool * | complete, | ||
| SCIP_Bool * | infeasible, | ||
| int * | naddconss, | ||
| int * | ndelconss, | ||
| int * | nchgcoefs, | ||
| int * | nchgbds, | ||
| int * | nfixedvars ) |
initialize matrix by copying all check constraints
| scip | current scip instance |
| matrixptr | pointer to constraint matrix object to be initialized |
| onlyifcomplete | should matrix creation be skipped if matrix will not be complete? |
| initialized | was the initialization successful? |
| complete | are all constraint represented within the matrix? |
| infeasible | pointer to return whether problem was detected to be infeasible during matrix creation |
| naddconss | pointer to count number of added (linear) constraints during matrix creation |
| ndelconss | pointer to count number of deleted specialized linear constraints during matrix creation |
| nchgcoefs | pointer to count number of changed coefficients during matrix creation |
| nchgbds | pointer to count number of changed bounds during matrix creation |
| nfixedvars | pointer to count number of fixed variables during matrix creation |
Definition at line 703 of file matrix.c.
References addConstraint(), addConstraintExact(), assert(), BMSclearMemoryArray, SCIP_MatrixValsExact::buffersize, SCIP_MatrixValsExact::buffersizenconss, c, calcActivityBounds(), SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, SCIP_MatrixValsExact::colmatvalexact, SCIP_Matrix::cons, FALSE, i, SCIP_Matrix::isrhsinfinite, SCIP_Matrix::lb, SCIP_MatrixValsExact::lbexact, SCIP_Matrix::lhs, SCIP_MatrixValsExact::lhsexact, SCIP_Matrix::matrixvalsexact, 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, NULL, SCIP_Matrix::nuplocks, nvars, SCIP_Matrix::rhs, SCIP_MatrixValsExact::rhsexact, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_MatrixValsExact::rowmatvalexact, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_LOCKTYPE_MODEL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_SETPPCTYPE_COVERING, SCIP_SETPPCTYPE_PACKING, SCIP_SETPPCTYPE_PARTITIONING, SCIPallocBuffer, SCIPallocBufferArray, SCIPallocClearMemoryArray, SCIPbuffer(), SCIPcleanupConssKnapsack(), SCIPcleanupConssLinear(), SCIPcleanupConssLogicor(), SCIPcleanupConssSetppc(), SCIPcleanupConssVarbound(), SCIPconshdlrGetCheckConss(), SCIPconshdlrGetName(), SCIPconshdlrGetNCheckConss(), SCIPconsIsModifiable(), SCIPconsIsTransformed(), SCIPdebugMsg, SCIPduplicateBufferArray, SCIPfreeBuffer, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPfreeMemoryArray, SCIPgetBinvarsLinking(), SCIPgetCapacityKnapsack(), SCIPgetConshdlrs(), SCIPgetLhsExactLinear(), SCIPgetLhsLinear(), SCIPgetLhsVarbound(), SCIPgetNActivePricers(), SCIPgetNConshdlrs(), SCIPgetNConss(), SCIPgetNVars(), SCIPgetNVarsExactLinear(), SCIPgetNVarsKnapsack(), SCIPgetNVarsLinear(), SCIPgetNVarsLogicor(), SCIPgetNVarsSetppc(), SCIPgetRhsExactLinear(), SCIPgetRhsLinear(), SCIPgetRhsVarbound(), SCIPgetTypeSetppc(), SCIPgetValsExactLinear(), SCIPgetValsLinear(), SCIPgetValsLinking(), SCIPgetVars(), SCIPgetVarsExactLinear(), SCIPgetVarsKnapsack(), SCIPgetVarsLinear(), SCIPgetVarsLogicor(), SCIPgetVarsSetppc(), SCIPgetVarVarbound(), SCIPgetVbdcoefVarbound(), SCIPgetVbdvarVarbound(), SCIPgetWeightsKnapsack(), SCIPinfinity(), SCIPisExact(), SCIPisStopped(), SCIPmatrixDownlockConflict(), SCIPmatrixUplockConflict(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBufferArray(), SCIPreallocBufferArray, SCIPvarGetLbGlobal(), SCIPvarGetLbGlobalExact(), SCIPvarGetNLocksDownType(), SCIPvarGetNLocksUpType(), SCIPvarGetUbGlobal(), SCIPvarGetUbGlobalExact(), setColumnMajorFormat(), TRUE, SCIP_Matrix::ub, SCIP_MatrixValsExact::ubexact, var, SCIP_Matrix::vars, and vars.
Referenced by SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and SCIP_DECL_PRESOLEXEC().
| void SCIPmatrixFree | ( | SCIP * | scip, |
| SCIP_MATRIX ** | matrix ) |
frees the constraint matrix
Definition at line 1348 of file matrix.c.
References assert(), NULL, SCIPbuffer(), SCIPfreeBuffer, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPfreeMemoryArray, SCIPisExact(), and SCIPrationalFreeBufferArray().
Referenced by SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and SCIP_DECL_PRESOLEXEC().
| void SCIPmatrixPrintRow | ( | SCIP * | scip, |
| SCIP_MATRIX * | matrix, | ||
| int | row ) |
print one row of the matrix
Definition at line 1425 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, SCIP_UNUSED, SCIPconsGetName(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and SCIP_Matrix::vars.
Referenced by cancelRow(), and compensateVarLock().
| void SCIPmatrixRemoveColumnBounds | ( | SCIP * | scip, |
| SCIP_MATRIX * | matrix, | ||
| int | col ) |
removes the bounds of a column and updates the activities accordingly
| scip | current scip instance |
| matrix | constraint matrix |
| col | column variable to remove bounds from |
Definition at line 1459 of file matrix.c.
References assert(), SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, i, SCIP_Matrix::lb, SCIP_Matrix::maxactivity, SCIP_Matrix::maxactivityneginf, SCIP_Matrix::maxactivityposinf, SCIP_Matrix::minactivity, SCIP_Matrix::minactivityneginf, SCIP_Matrix::minactivityposinf, SCIP_Real, SCIPinfinity(), SCIPisInfinity(), and SCIP_Matrix::ub.
Referenced by aggregation().
| SCIP_RETCODE SCIPmatrixGetParallelRows | ( | SCIP * | scip, |
| SCIP_MATRIX * | matrix, | ||
| SCIP_Real * | scale, | ||
| int * | pclass ) |
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 1504 of file matrix.c.
References assert(), BMSclearMemoryArray, c, SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, i, SCIP_Matrix::ncols, SCIP_Matrix::nrows, NULL, 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 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 1660 of file matrix.c.
References assert(), BMSclearMemoryArray, i, SCIP_Matrix::isrhsinfinite, SCIP_Matrix::ncols, SCIP_Matrix::nrows, NULL, r, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatcnt, SCIP_Matrix::rowmatind, SCIP_Matrix::rowmatval, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisEQ(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.
| SCIP_Real * SCIPmatrixGetColValPtr | ( | SCIP_MATRIX * | matrix, |
| int | col ) |
get column based start pointer of values
| matrix | matrix instance |
| col | column index |
Definition at line 1861 of file matrix.c.
References assert(), SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatval, NULL, and SCIP_Real.
Referenced by calcMaxColActivity(), calcMinColActivity(), cancelCol(), dualBoundStrengthening(), findDominancePairs(), getDownlockRowIdx(), getImpliedBounds(), getImpliedBounds(), getMinColActWithoutRow(), getUplockRowIdx(), SCIP_DECL_PRESOLEXEC(), 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 1873 of file matrix.c.
References assert(), SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatind, and NULL.
Referenced by calcMaxColActivity(), calcMinColActivity(), cancelCol(), dualBoundStrengthening(), findDominancePairs(), findFixings(), findVarAggrRedVbcons(), getDownlockRowIdx(), getImpliedBounds(), getImpliedBounds(), getMinColActWithoutRow(), getUplockRowIdx(), SCIP_DECL_PRESOLEXEC(), 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 1885 of file matrix.c.
References assert(), SCIP_Matrix::colmatcnt, and NULL.
Referenced by calcMaxColActivity(), calcMinColActivity(), cancelCol(), compensateVarLock(), dualBoundStrengthening(), findDominancePairs(), findFixings(), findVarAggrRedVbcons(), getDownlockRowIdx(), getImpliedBounds(), getImpliedBounds(), getMinColActWithoutRow(), getUplockRowIdx(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
| int SCIPmatrixGetNColumns | ( | SCIP_MATRIX * | matrix | ) |
get number of columns of the matrix
| matrix | matrix instance |
Definition at line 1897 of file matrix.c.
References assert(), SCIP_Matrix::ncols, and NULL.
Referenced by applyLPboundTightening(), calcVarBoundsDominated(), calcVarBoundsDominating(), cancelCol(), compensateVarLock(), detectParallelCols(), dualBoundStrengthening(), findDownlockAggregations(), findUplockAggregations(), findVarAggrRedVbcons(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), 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 1907 of file matrix.c.
References assert(), NULL, SCIP_Real, and SCIP_Matrix::ub.
Referenced by findDownlockAggregations(), findUplockAggregations(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getImpliedBounds(), getMaxActivitySingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinMaxActivityResiduals(), 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 1918 of file matrix.c.
References assert(), SCIP_Matrix::lb, NULL, and SCIP_Real.
Referenced by findDownlockAggregations(), findUplockAggregations(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getImpliedBounds(), getMaxActivitySingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinMaxActivityResiduals(), 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 1929 of file matrix.c.
References assert(), NULL, and SCIP_Matrix::nuplocks.
Referenced by cancelCol(), cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), findUplockAggregations(), getUplockRowIdx(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), 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 1941 of file matrix.c.
References assert(), SCIP_Matrix::ndownlocks, and NULL.
Referenced by cancelCol(), cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), findDownlockAggregations(), getDownlockRowIdx(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), 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 1953 of file matrix.c.
References assert(), NULL, and SCIP_Matrix::vars.
Referenced by calcVarBoundsDominated(), calcVarBoundsDominating(), cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), dualBoundStrengthening(), findDominancePairs(), findDownlockAggregations(), findUplockAggregations(), findVarAggrRedVbcons(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), singletonColumnStuffing(), and transformAndSolve().
| const char * SCIPmatrixGetColName | ( | SCIP_MATRIX * | matrix, |
| int | col ) |
get name of column/variable
| matrix | matrix instance |
| col | column index |
Definition at line 1965 of file matrix.c.
References assert(), NULL, SCIPvarGetName(), and SCIP_Matrix::vars.
Referenced by transformAndSolve().
| SCIP_Real * SCIPmatrixGetRowValPtr | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get row based start pointer of values
| matrix | matrix instance |
| row | row index |
Definition at line 1977 of file matrix.c.
References assert(), NULL, SCIP_Matrix::rowmatbeg, SCIP_Matrix::rowmatval, and SCIP_Real.
Referenced by applyLPboundTightening(), cancelRow(), compensateVarLock(), detectParallelCols(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMaxActivitySingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinMaxActivityResiduals(), infinityCountUpdate(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), singletonColumnStuffing(), and transformAndSolve().
| SCIP_RATIONAL ** SCIPmatrixGetRowValPtrExact | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get row based start pointer of values
| matrix | matrix instance |
| row | row index |
Definition at line 1989 of file matrix.c.
References assert(), SCIP_Matrix::matrixvalsexact, NULL, SCIP_Matrix::rowmatbeg, and SCIP_MatrixValsExact::rowmatvalexact.
| int * SCIPmatrixGetRowIdxPtr | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get row based start pointer of column indices
| matrix | matrix instance |
| row | row index |
Definition at line 2001 of file matrix.c.
References assert(), NULL, SCIP_Matrix::rowmatbeg, and SCIP_Matrix::rowmatind.
Referenced by applyLPboundTightening(), cancelRow(), compensateVarLock(), detectParallelCols(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMaxActivitySingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinMaxActivityResiduals(), infinityCountUpdate(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), singletonColumnStuffing(), and transformAndSolve().
| int SCIPmatrixGetRowNNonzs | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get number of non-zeros of this row
| matrix | matrix instance |
| row | row index |
Definition at line 2013 of file matrix.c.
References assert(), NULL, and SCIP_Matrix::rowmatcnt.
Referenced by applyLPboundTightening(), cancelCol(), cancelRow(), compensateVarLock(), detectParallelCols(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getMaxActivitySingleRowWithoutCol(), getMinActivitySingleRowWithoutCol(), getMinMaxActivityResiduals(), infinityCountUpdate(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), singletonColumnStuffing(), and transformAndSolve().
| const char * SCIPmatrixGetRowName | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get name of row
| matrix | matrix instance |
| row | row index |
Definition at line 2025 of file matrix.c.
References assert(), SCIP_Matrix::cons, NULL, and SCIPconsGetName().
Referenced by applyLPboundTightening(), and cancelRow().
| int SCIPmatrixGetNRows | ( | SCIP_MATRIX * | matrix | ) |
get number of rows of the matrix
| matrix | matrix instance |
Definition at line 2037 of file matrix.c.
References assert(), SCIP_Matrix::nrows, and NULL.
Referenced by calcVarBoundsDominated(), calcVarBoundsDominating(), compensateVarLock(), detectParallelCols(), dualBoundStrengthening(), findVarAggrRedVbcons(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), isVlb(), isVub(), processHashlists(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), 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 2047 of file matrix.c.
References assert(), SCIP_Matrix::lhs, NULL, and SCIP_Real.
Referenced by calcVarBoundsDominated(), calcVarBoundsDominating(), cancelCol(), cancelRow(), compensateVarLock(), dualBoundStrengthening(), findDominancePairs(), findFixings(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), getVarBoundsOfRow(), getVarBoundsOfRow(), isVlb(), isVub(), processHashlists(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), singletonColumnStuffing(), and transformAndSolve().
| SCIP_Real SCIPmatrixGetRowRhs | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get right-hand-side of row
| matrix | matrix instance |
| row | row index |
Definition at line 2059 of file matrix.c.
References assert(), NULL, SCIP_Matrix::rhs, and SCIP_Real.
Referenced by calcVarBoundsDominated(), calcVarBoundsDominating(), cancelCol(), cancelRow(), compensateVarLock(), dualBoundStrengthening(), findDominancePairs(), findFixings(), getVarBoundsOfRow(), getVarBoundsOfRow(), processHashlists(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and transformAndSolve().
| SCIP_RATIONAL * SCIPmatrixGetRowLhsExact | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get left-hand-side of row
| matrix | matrix instance |
| row | row index |
Definition at line 2071 of file matrix.c.
References assert(), SCIP_MatrixValsExact::lhsexact, SCIP_Matrix::matrixvalsexact, and NULL.
| SCIP_RATIONAL * SCIPmatrixGetRowRhsExact | ( | SCIP_MATRIX * | matrix, |
| int | row ) |
get right-hand-side of row
| matrix | matrix instance |
| row | row index |
Definition at line 2083 of file matrix.c.
References assert(), SCIP_Matrix::matrixvalsexact, NULL, and SCIP_MatrixValsExact::rhsexact.
| 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 2095 of file matrix.c.
References assert(), SCIP_Matrix::isrhsinfinite, NULL, and SCIP_Bool.
Referenced by calcVarBoundsDominated(), calcVarBoundsDominating(), detectParallelCols(), dualBoundStrengthening(), findDominancePairs(), getDownlockRowIdx(), getUplockRowIdx(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().
| int SCIPmatrixGetNNonzs | ( | SCIP_MATRIX * | matrix | ) |
get number of non-zeros of matrix
| matrix | matrix instance |
Definition at line 2107 of file matrix.c.
References assert(), SCIP_Matrix::nnonzs, and NULL.
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 2117 of file matrix.c.
References assert(), SCIP_Matrix::minactivity, NULL, and SCIP_Real.
Referenced by findDominancePairs(), 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 2129 of file matrix.c.
References assert(), SCIP_Matrix::maxactivity, NULL, and SCIP_Real.
Referenced by findDominancePairs(), 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 2141 of file matrix.c.
References assert(), SCIP_Matrix::minactivityneginf, and NULL.
Referenced by findDominancePairs(), 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 2153 of file matrix.c.
References assert(), SCIP_Matrix::minactivityposinf, and NULL.
Referenced by findDominancePairs(), 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 2165 of file matrix.c.
References assert(), SCIP_Matrix::maxactivityneginf, and NULL.
Referenced by findDominancePairs(), 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 2177 of file matrix.c.
References assert(), SCIP_Matrix::maxactivityposinf, and NULL.
Referenced by findDominancePairs(), 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 2189 of file matrix.c.
References assert(), SCIP_Matrix::cons, and NULL.
Referenced by cancelRow(), detectDominatingVlbs(), detectDominatingVubs(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and SCIP_DECL_PRESOLEXEC().
| SCIP_Bool SCIPmatrixUplockConflict | ( | SCIP_MATRIX * | matrix, |
| int | col ) |
get if conflicting uplocks of a specific variable present
| matrix | matrix instance |
| col | column index |
Definition at line 2201 of file matrix.c.
References assert(), NULL, SCIP_Matrix::nuplocks, SCIP_Bool, SCIP_LOCKTYPE_MODEL, SCIPvarGetNLocksUpType(), and SCIP_Matrix::vars.
Referenced by dualBoundStrengthening(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and SCIPmatrixCreate().
| SCIP_Bool SCIPmatrixDownlockConflict | ( | SCIP_MATRIX * | matrix, |
| int | col ) |
get if conflicting downlocks of a specific variable present
| matrix | matrix instance |
| col | column index |
Definition at line 2213 of file matrix.c.
References assert(), SCIP_Matrix::ndownlocks, NULL, SCIP_Bool, SCIP_LOCKTYPE_MODEL, SCIPvarGetNLocksDownType(), and SCIP_Matrix::vars.
Referenced by dualBoundStrengthening(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and SCIPmatrixCreate().