SCIP Doxygen Documentation
Loading...
Searching...
No Matches

Detailed Description

methods for MIP matrix data structure

Author
Dieter Weninger
Gerald Gamrath

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.

Functions

static SCIP_RETCODE getActiveVariables (SCIP *scip, SCIP_VAR ***vars, SCIP_Real **scalars, int *nvars, SCIP_Real *constant)
static SCIP_RETCODE getActiveVariablesExact (SCIP *scip, SCIP_VAR ***vars, SCIP_RATIONAL **scalars, int *nvars, SCIP_RATIONAL *constant)
static SCIP_RETCODE addRow (SCIP *scip, SCIP_MATRIX *matrix, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Real lhs, SCIP_Real rhs, int maxnnonzsmem, SCIP_Bool *rowadded)
static SCIP_RETCODE addRowExact (SCIP_MATRIX *matrix, SCIP_VAR **vars, SCIP_RATIONAL **vals, int nvars, SCIP_RATIONAL *lhs, SCIP_RATIONAL *rhs, int maxnnonzsmem, SCIP_Bool *rowadded)
static SCIP_RETCODE addConstraint (SCIP *scip, SCIP_MATRIX *matrix, SCIP_VAR **vars, SCIP_Real *vals, int nvars, SCIP_Real lhs, SCIP_Real rhs, int maxnnonzsmem, SCIP_Bool *rowadded)
static SCIP_RETCODE addConstraintExact (SCIP *scip, SCIP_MATRIX *matrix, SCIP_VAR **vars, SCIP_RATIONAL **vals, int nvars, SCIP_RATIONAL *lhs, SCIP_RATIONAL *rhs, int maxnnonzsmem, SCIP_Bool *rowadded)
static SCIP_RETCODE setColumnMajorFormat (SCIP *scip, SCIP_MATRIX *matrix)
static SCIP_RETCODE calcActivityBounds (SCIP *scip, SCIP_MATRIX *matrix)
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)
void SCIPmatrixFree (SCIP *scip, SCIP_MATRIX **matrix)
void SCIPmatrixPrintRow (SCIP *scip, SCIP_MATRIX *matrix, int row)
void SCIPmatrixRemoveColumnBounds (SCIP *scip, SCIP_MATRIX *matrix, int col)
SCIP_RETCODE SCIPmatrixGetParallelRows (SCIP *scip, SCIP_MATRIX *matrix, SCIP_Real *scale, int *pclass)
SCIP_RETCODE SCIPmatrixGetParallelCols (SCIP *scip, SCIP_MATRIX *matrix, SCIP_Real *scale, int *pclass, SCIP_Bool *varineq)
SCIP_RealSCIPmatrixGetColValPtr (SCIP_MATRIX *matrix, int col)
int * SCIPmatrixGetColIdxPtr (SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetColNNonzs (SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetNColumns (SCIP_MATRIX *matrix)
SCIP_Real SCIPmatrixGetColUb (SCIP_MATRIX *matrix, int col)
SCIP_Real SCIPmatrixGetColLb (SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetColNUplocks (SCIP_MATRIX *matrix, int col)
int SCIPmatrixGetColNDownlocks (SCIP_MATRIX *matrix, int col)
SCIP_VARSCIPmatrixGetVar (SCIP_MATRIX *matrix, int col)
const char * SCIPmatrixGetColName (SCIP_MATRIX *matrix, int col)
SCIP_RealSCIPmatrixGetRowValPtr (SCIP_MATRIX *matrix, int row)
SCIP_RATIONAL ** SCIPmatrixGetRowValPtrExact (SCIP_MATRIX *matrix, int row)
int * SCIPmatrixGetRowIdxPtr (SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetRowNNonzs (SCIP_MATRIX *matrix, int row)
const char * SCIPmatrixGetRowName (SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetNRows (SCIP_MATRIX *matrix)
SCIP_Real SCIPmatrixGetRowLhs (SCIP_MATRIX *matrix, int row)
SCIP_Real SCIPmatrixGetRowRhs (SCIP_MATRIX *matrix, int row)
SCIP_RATIONALSCIPmatrixGetRowLhsExact (SCIP_MATRIX *matrix, int row)
SCIP_RATIONALSCIPmatrixGetRowRhsExact (SCIP_MATRIX *matrix, int row)
SCIP_Bool SCIPmatrixIsRowRhsInfinity (SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetNNonzs (SCIP_MATRIX *matrix)
SCIP_Real SCIPmatrixGetRowMinActivity (SCIP_MATRIX *matrix, int row)
SCIP_Real SCIPmatrixGetRowMaxActivity (SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetRowNMinActNegInf (SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetRowNMinActPosInf (SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetRowNMaxActNegInf (SCIP_MATRIX *matrix, int row)
int SCIPmatrixGetRowNMaxActPosInf (SCIP_MATRIX *matrix, int row)
SCIP_CONSSCIPmatrixGetCons (SCIP_MATRIX *matrix, int row)
SCIP_Bool SCIPmatrixUplockConflict (SCIP_MATRIX *matrix, int col)
SCIP_Bool SCIPmatrixDownlockConflict (SCIP_MATRIX *matrix, int col)

Function Documentation

◆ getActiveVariables()

SCIP_RETCODE getActiveVariables ( SCIP * scip,
SCIP_VAR *** vars,
SCIP_Real ** scalars,
int * nvars,
SCIP_Real * constant )
static

transforms given variables, scalars and constant to the corresponding active variables, scalars and constant

Parameters
scipSCIP instance
varsvars array to get active variables for
scalarsscalars a_1, ..., a_n in linear sum a_1*x_1 + ... + a_n*x_n + c
nvarspointer to number of variables and values in vars and vals array
constantpointer 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(), getActiveVariables(), NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPgetProbvarLinearSum(), SCIPreallocBufferArray, and vars.

Referenced by addConstraint(), addLinearConstraint(), addXorLinearization(), getActiveVariables(), getActiveVariables(), getActiveVariables(), getActiveVariables(), getActiveVariables(), getActiveVariables(), getActiveVariables(), getActiveVariables(), getActiveVariables(), getActiveVariables(), handleLinearCons(), printActiveVariables(), printAggregatedCons(), printAggregatedCons(), printAndCons(), printExpr(), printLinearCons(), printLinearCons(), printLinearCons(), printLinearCons(), printLinearCons(), printNonLinearCons(), printQuadraticCons(), printQuadraticCons(), printRow(), and printRow().

◆ getActiveVariablesExact()

SCIP_RETCODE getActiveVariablesExact ( SCIP * scip,
SCIP_VAR *** vars,
SCIP_RATIONAL ** scalars,
int * nvars,
SCIP_RATIONAL * constant )
static

transforms given variables, scalars and constant to the corresponding active variables, scalars and constant

Parameters
scipSCIP instance
varsvars array to get active variables for
scalarsscalars a_1, ..., a_n in linear sum a_1*x_1 + ... + a_n*x_n + c
nvarspointer to number of variables and values in vars and vals array
constantpointer 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(), getActiveVariablesExact(), NULL, nvars, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPgetProbvarLinearSumExact(), SCIPrationalReallocBufferArray(), SCIPreallocBufferArray, TRUE, and vars.

Referenced by addConstraintExact(), getActiveVariablesExact(), getActiveVariablesExact(), and printLinearConsExact().

◆ addRow()

SCIP_RETCODE addRow ( SCIP * scip,
SCIP_MATRIX * matrix,
SCIP_VAR ** vars,
SCIP_Real * vals,
int nvars,
SCIP_Real lhs,
SCIP_Real rhs,
int maxnnonzsmem,
SCIP_Bool * rowadded )
static

add one row to the constraint matrix

Parameters
scipSCIP data structure
matrixconstraint matrix
varsvariables of this row
valscoefficients of this row
nvarsnumber of variables of this row
lhsleft hand side
rhsright hand side
maxnnonzsmemmaximal number of fillable elements
rowaddedflag indicating if constraint was added to matrix

Definition at line 142 of file matrix.c.

References addRow(), 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(), and addRow().

◆ addRowExact()

SCIP_RETCODE addRowExact ( SCIP_MATRIX * matrix,
SCIP_VAR ** vars,
SCIP_RATIONAL ** vals,
int nvars,
SCIP_RATIONAL * lhs,
SCIP_RATIONAL * rhs,
int maxnnonzsmem,
SCIP_Bool * rowadded )
static

◆ addConstraint()

SCIP_RETCODE addConstraint ( SCIP * scip,
SCIP_MATRIX * matrix,
SCIP_VAR ** vars,
SCIP_Real * vals,
int nvars,
SCIP_Real lhs,
SCIP_Real rhs,
int maxnnonzsmem,
SCIP_Bool * rowadded )
static

add one constraint to matrix

Parameters
scipcurrent scip instance
matrixconstraint matrix
varsvariables of this constraint
valsvariable coefficients of this constraint
nvarsnumber of variables
lhsleft hand side
rhsright hand side
maxnnonzsmemmaximal number of fillable elements
rowaddedflag indicating of row was added to matrix

Definition at line 379 of file matrix.c.

References addConstraint(), addRow(), assert(), FALSE, getActiveVariables(), NULL, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPisInfinity(), SCIPisLE(), and vars.

Referenced by addConstraint(), and SCIPmatrixCreate().

◆ addConstraintExact()

SCIP_RETCODE addConstraintExact ( SCIP * scip,
SCIP_MATRIX * matrix,
SCIP_VAR ** vars,
SCIP_RATIONAL ** vals,
int nvars,
SCIP_RATIONAL * lhs,
SCIP_RATIONAL * rhs,
int maxnnonzsmem,
SCIP_Bool * rowadded )
static

add one constraint to matrix

Parameters
scipcurrent scip instance
matrixconstraint matrix
varsvariables of this constraint
valsvariable coefficients of this constraint
nvarsnumber of variables
lhsleft hand side
rhsright hand side
maxnnonzsmemmaximal number of fillable elements
rowaddedflag indicating of row was added to matrix

Definition at line 456 of file matrix.c.

References addConstraintExact(), 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 addConstraintExact(), and SCIPmatrixCreate().

◆ setColumnMajorFormat()

◆ calcActivityBounds()

◆ 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

Note
Completeness is checked by testing whether all check constraints are from a list of linear constraint handlers that can be represented.
Parameters
scipcurrent scip instance
matrixptrpointer to constraint matrix object to be initialized
onlyifcompleteshould matrix creation be skipped if matrix will not be complete?
initializedwas the initialization successful?
completeare all constraint represented within the matrix?
infeasiblepointer to return whether problem was detected to be infeasible during matrix creation
naddconsspointer to count number of added (linear) constraints during matrix creation
ndelconsspointer to count number of deleted specialized linear constraints during matrix creation
nchgcoefspointer to count number of changed coefficients during matrix creation
nchgbdspointer to count number of changed bounds during matrix creation
nfixedvarspointer 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(), SCIPmatrixCreate(), 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(), SCIP_DECL_PRESOLEXEC(), and SCIPmatrixCreate().

◆ SCIPmatrixFree()

◆ SCIPmatrixPrintRow()

void SCIPmatrixPrintRow ( SCIP * scip,
SCIP_MATRIX * matrix,
int row )

print one row of the matrix

print one row of the MIP matrix

Parameters
scipcurrent SCIP instance
matrixconstraint matrix object
rowrow index

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(), SCIPmatrixPrintRow(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and SCIP_Matrix::vars.

Referenced by cancelRow(), compensateVarLock(), and SCIPmatrixPrintRow().

◆ SCIPmatrixRemoveColumnBounds()

void SCIPmatrixRemoveColumnBounds ( SCIP * scip,
SCIP_MATRIX * matrix,
int col )

◆ SCIPmatrixGetParallelRows()

SCIP_RETCODE SCIPmatrixGetParallelRows ( SCIP * scip,
SCIP_MATRIX * matrix,
SCIP_Real * scale,
int * pclass )

detect parallel rows of matrix. rhs/lhs are ignored.

detect parallel rows, rhs/lhs are ignored

Parameters
scipSCIP instance
matrixmatrix containing the constraints
scalescale factors of rows
pclassparallel 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(), SCIPmatrixGetParallelRows(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.

Referenced by SCIPmatrixGetParallelRows().

◆ SCIPmatrixGetParallelCols()

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.

detect parallel columns, obj ignored

Parameters
scipSCIP instance
matrixmatrix containing the constraints
scalescale factors of cols
pclassparallel column classes
varineqindicating 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(), SCIPmatrixGetParallelCols(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.

Referenced by SCIPmatrixGetParallelCols().

◆ SCIPmatrixGetColValPtr()

◆ SCIPmatrixGetColIdxPtr()

◆ SCIPmatrixGetColNNonzs()

◆ SCIPmatrixGetNColumns()

◆ SCIPmatrixGetColUb()

◆ SCIPmatrixGetColLb()

◆ SCIPmatrixGetColNUplocks()

int SCIPmatrixGetColNUplocks ( SCIP_MATRIX * matrix,
int col )

◆ SCIPmatrixGetColNDownlocks()

int SCIPmatrixGetColNDownlocks ( SCIP_MATRIX * matrix,
int col )

◆ SCIPmatrixGetVar()

◆ SCIPmatrixGetColName()

const char * SCIPmatrixGetColName ( SCIP_MATRIX * matrix,
int col )

get name of column/variable

Parameters
matrixmatrix instance
colcolumn index

Definition at line 1965 of file matrix.c.

References assert(), NULL, SCIPmatrixGetColName(), SCIPvarGetName(), and SCIP_Matrix::vars.

Referenced by SCIPmatrixGetColName(), and transformAndSolve().

◆ SCIPmatrixGetRowValPtr()

◆ SCIPmatrixGetRowValPtrExact()

SCIP_RATIONAL ** SCIPmatrixGetRowValPtrExact ( SCIP_MATRIX * matrix,
int row )

get row based start pointer of values

Parameters
matrixmatrix instance
rowrow index

Definition at line 1989 of file matrix.c.

References assert(), SCIP_Matrix::matrixvalsexact, NULL, SCIP_Matrix::rowmatbeg, SCIP_MatrixValsExact::rowmatvalexact, and SCIPmatrixGetRowValPtrExact().

Referenced by SCIPmatrixGetRowValPtrExact().

◆ SCIPmatrixGetRowIdxPtr()

◆ SCIPmatrixGetRowNNonzs()

◆ SCIPmatrixGetRowName()

const char * SCIPmatrixGetRowName ( SCIP_MATRIX * matrix,
int row )

get name of row

Parameters
matrixmatrix instance
rowrow index

Definition at line 2025 of file matrix.c.

References assert(), SCIP_Matrix::cons, NULL, SCIPconsGetName(), and SCIPmatrixGetRowName().

Referenced by applyLPboundTightening(), cancelRow(), and SCIPmatrixGetRowName().

◆ SCIPmatrixGetNRows()

◆ SCIPmatrixGetRowLhs()

◆ SCIPmatrixGetRowRhs()

◆ SCIPmatrixGetRowLhsExact()

SCIP_RATIONAL * SCIPmatrixGetRowLhsExact ( SCIP_MATRIX * matrix,
int row )

get left-hand-side of row

Parameters
matrixmatrix instance
rowrow index

Definition at line 2071 of file matrix.c.

References assert(), SCIP_MatrixValsExact::lhsexact, SCIP_Matrix::matrixvalsexact, NULL, and SCIPmatrixGetRowLhsExact().

Referenced by SCIPmatrixGetRowLhsExact().

◆ SCIPmatrixGetRowRhsExact()

SCIP_RATIONAL * SCIPmatrixGetRowRhsExact ( SCIP_MATRIX * matrix,
int row )

get right-hand-side of row

Parameters
matrixmatrix instance
rowrow index

Definition at line 2083 of file matrix.c.

References assert(), SCIP_Matrix::matrixvalsexact, NULL, SCIP_MatrixValsExact::rhsexact, and SCIPmatrixGetRowRhsExact().

Referenced by SCIPmatrixGetRowRhsExact().

◆ SCIPmatrixIsRowRhsInfinity()

SCIP_Bool SCIPmatrixIsRowRhsInfinity ( SCIP_MATRIX * matrix,
int row )

◆ SCIPmatrixGetNNonzs()

int SCIPmatrixGetNNonzs ( SCIP_MATRIX * matrix)

get number of non-zeros of matrix

Parameters
matrixmatrix instance

Definition at line 2107 of file matrix.c.

References assert(), SCIP_Matrix::nnonzs, NULL, and SCIPmatrixGetNNonzs().

Referenced by SCIP_DECL_PRESOLEXEC(), and SCIPmatrixGetNNonzs().

◆ SCIPmatrixGetRowMinActivity()

SCIP_Real SCIPmatrixGetRowMinActivity ( SCIP_MATRIX * matrix,
int row )

◆ SCIPmatrixGetRowMaxActivity()

SCIP_Real SCIPmatrixGetRowMaxActivity ( SCIP_MATRIX * matrix,
int row )

◆ SCIPmatrixGetRowNMinActNegInf()

int SCIPmatrixGetRowNMinActNegInf ( SCIP_MATRIX * matrix,
int row )

get number of negative infinities present within minimal activity

Parameters
matrixmatrix instance
rowrow index

Definition at line 2141 of file matrix.c.

References assert(), SCIP_Matrix::minactivityneginf, NULL, and SCIPmatrixGetRowNMinActNegInf().

Referenced by findDominancePairs(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getMinMaxActivityResiduals(), and SCIPmatrixGetRowNMinActNegInf().

◆ SCIPmatrixGetRowNMinActPosInf()

int SCIPmatrixGetRowNMinActPosInf ( SCIP_MATRIX * matrix,
int row )

get number of positive infinities present within minimal activity

Parameters
matrixmatrix instance
rowrow index

Definition at line 2153 of file matrix.c.

References assert(), SCIP_Matrix::minactivityposinf, NULL, and SCIPmatrixGetRowNMinActPosInf().

Referenced by findDominancePairs(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getMinMaxActivityResiduals(), and SCIPmatrixGetRowNMinActPosInf().

◆ SCIPmatrixGetRowNMaxActNegInf()

int SCIPmatrixGetRowNMaxActNegInf ( SCIP_MATRIX * matrix,
int row )

get number of negative infinities present within maximal activity

Parameters
matrixmatrix instance
rowrow index

Definition at line 2165 of file matrix.c.

References assert(), SCIP_Matrix::maxactivityneginf, NULL, and SCIPmatrixGetRowNMaxActNegInf().

Referenced by findDominancePairs(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getMinMaxActivityResiduals(), and SCIPmatrixGetRowNMaxActNegInf().

◆ SCIPmatrixGetRowNMaxActPosInf()

int SCIPmatrixGetRowNMaxActPosInf ( SCIP_MATRIX * matrix,
int row )

get number of positive infinities present within maximal activity

Parameters
matrixmatrix instance
rowrow index

Definition at line 2177 of file matrix.c.

References assert(), SCIP_Matrix::maxactivityposinf, NULL, and SCIPmatrixGetRowNMaxActPosInf().

Referenced by findDominancePairs(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getMinMaxActivityResiduals(), and SCIPmatrixGetRowNMaxActPosInf().

◆ SCIPmatrixGetCons()

SCIP_CONS * SCIPmatrixGetCons ( SCIP_MATRIX * matrix,
int row )

get constraint pointer for constraint representing row

Parameters
matrixmatrix instance
rowrow index

Definition at line 2189 of file matrix.c.

References assert(), SCIP_Matrix::cons, NULL, and SCIPmatrixGetCons().

Referenced by cancelRow(), detectDominatingVlbs(), detectDominatingVubs(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), and SCIPmatrixGetCons().

◆ SCIPmatrixUplockConflict()

SCIP_Bool SCIPmatrixUplockConflict ( SCIP_MATRIX * matrix,
int col )

get if conflicting uplocks of a specific variable present

get if conflicting uplocks of variable present

Parameters
matrixmatrix instance
colcolumn index

Definition at line 2201 of file matrix.c.

References assert(), NULL, SCIP_Matrix::nuplocks, SCIP_Bool, SCIP_LOCKTYPE_MODEL, SCIPmatrixUplockConflict(), SCIPvarGetNLocksUpType(), and SCIP_Matrix::vars.

Referenced by dualBoundStrengthening(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIPmatrixCreate(), and SCIPmatrixUplockConflict().

◆ SCIPmatrixDownlockConflict()

SCIP_Bool SCIPmatrixDownlockConflict ( SCIP_MATRIX * matrix,
int col )

get if conflicting downlocks of a specific variable present

get if conflicting downlocks of variable present

Parameters
matrixmatrix instance
colcolumn index

Definition at line 2213 of file matrix.c.

References assert(), SCIP_Matrix::ndownlocks, NULL, SCIP_Bool, SCIP_LOCKTYPE_MODEL, SCIPmatrixDownlockConflict(), SCIPvarGetNLocksDownType(), and SCIP_Matrix::vars.

Referenced by dualBoundStrengthening(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIP_DECL_PRESOLEXEC(), SCIPmatrixCreate(), and SCIPmatrixDownlockConflict().