SCIP

    Solving Constraint Integer Programs

    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_Real * SCIPmatrixGetColValPtr (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_VAR * SCIPmatrixGetVar (SCIP_MATRIX *matrix, int col)
     
    const char * SCIPmatrixGetColName (SCIP_MATRIX *matrix, int col)
     
    SCIP_Real * SCIPmatrixGetRowValPtr (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_RATIONAL * SCIPmatrixGetRowLhsExact (SCIP_MATRIX *matrix, int row)
     
    SCIP_RATIONAL * SCIPmatrixGetRowRhsExact (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_CONS * SCIPmatrixGetCons (SCIP_MATRIX *matrix, int row)
     
    SCIP_Bool SCIPmatrixUplockConflict (SCIP_MATRIX *matrix, int col)
     
    SCIP_Bool SCIPmatrixDownlockConflict (SCIP_MATRIX *matrix, int col)
     

    Function Documentation

    ◆ getActiveVariables()

    static 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 NULL, scalars, SCIP_CALL, SCIP_OKAY, SCIPgetProbvarLinearSum(), and SCIPreallocBufferArray.

    Referenced by addConstraint().

    ◆ getActiveVariablesExact()

    static 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 NULL, scalars, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPgetProbvarLinearSumExact(), SCIPrationalReallocBufferArray(), SCIPreallocBufferArray, and TRUE.

    Referenced by addConstraintExact().

    ◆ addRow()

    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

    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 FALSE, SCIP_Matrix::isrhsinfinite, SCIP_Matrix::lhs, SCIP_Matrix::ndownlocks, SCIP_Matrix::nnonzs, SCIP_Matrix::nrows, NULL, SCIP_Matrix::nuplocks, 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, and SCIP_Matrix::vars.

    Referenced by addConstraint().

    ◆ addRowExact()

    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

    ◆ addConstraint()

    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

    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 addRow(), FALSE, getActiveVariables(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPisInfinity(), and SCIPisLE().

    Referenced by SCIPmatrixCreate().

    ◆ addConstraintExact()

    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

    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 addRowExact(), FALSE, getActiveVariablesExact(), NULL, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPduplicateBufferArray, SCIPfreeBufferArray, SCIPrationalCopyBuffer(), SCIPrationalCopyBufferArray(), SCIPrationalCreateBuffer(), SCIPrationalCreateBufferArray(), SCIPrationalDiff(), SCIPrationalFreeBuffer(), SCIPrationalFreeBufferArray(), SCIPrationalIsInfinity(), SCIPrationalIsLE(), SCIPrationalIsNegInfinity(), and SCIPrationalSetFraction().

    Referenced by 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(), BMSclearMemoryArray, SCIP_MatrixValsExact::buffersize, SCIP_MatrixValsExact::buffersizenconss, calcActivityBounds(), SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, SCIP_MatrixValsExact::colmatvalexact, SCIP_Matrix::cons, FALSE, 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, 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, and SCIP_Matrix::vars.

    Referenced by SCIP_DECL_PRESOLEXEC().

    ◆ SCIPmatrixFree()

    void SCIPmatrixFree ( SCIP *  scip,
    SCIP_MATRIX **  matrix 
    )

    frees the constraint matrix

    Parameters
    scipcurrent SCIP instance
    matrixconstraint matrix object

    Definition at line 1348 of file matrix.c.

    References NULL, SCIPbuffer(), SCIPfreeBuffer, SCIPfreeBufferArray, SCIPfreeBufferArrayNull, SCIPfreeMemoryArray, SCIPisExact(), and SCIPrationalFreeBufferArray().

    Referenced by SCIP_DECL_PRESOLEXEC().

    ◆ SCIPmatrixPrintRow()

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

    print one row of the 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(), SCIPvarGetLbGlobal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), and SCIP_Matrix::vars.

    Referenced by cancelRow(), and compensateVarLock().

    ◆ SCIPmatrixRemoveColumnBounds()

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

    removes the bounds of a column and updates the activities accordingly

    Parameters
    scipcurrent scip instance
    matrixconstraint matrix
    colcolumn variable to remove bounds from

    Definition at line 1459 of file matrix.c.

    References SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, 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().

    ◆ SCIPmatrixGetParallelRows()

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

    detect parallel rows of matrix. 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 BMSclearMemoryArray, SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatcnt, SCIP_Matrix::colmatind, SCIP_Matrix::colmatval, SCIP_Matrix::ncols, SCIP_Matrix::nrows, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPallocBufferArray, SCIPfreeBufferArray, SCIPisEQ(), SCIPsortIntIntReal(), SCIPsortRealInt(), and TRUE.

    ◆ 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.

    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 BMSclearMemoryArray, SCIP_Matrix::isrhsinfinite, SCIP_Matrix::ncols, SCIP_Matrix::nrows, NULL, r, 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.

    ◆ SCIPmatrixGetColValPtr()

    SCIP_Real * SCIPmatrixGetColValPtr ( SCIP_MATRIX *  matrix,
    int  col 
    )

    get column based start pointer of values

    Parameters
    matrixmatrix instance
    colcolumn index

    Definition at line 1861 of file matrix.c.

    References SCIP_Matrix::colmatbeg, SCIP_Matrix::colmatval, and NULL.

    Referenced by calcMaxColActivity(), calcMinColActivity(), cancelCol(), dualBoundStrengthening(), findDominancePairs(), getDownlockRowIdx(), getImpliedBounds(), getMinColActWithoutRow(), getUplockRowIdx(), and SCIP_DECL_PRESOLEXEC().

    ◆ SCIPmatrixGetColIdxPtr()

    int * SCIPmatrixGetColIdxPtr ( SCIP_MATRIX *  matrix,
    int  col 
    )

    ◆ SCIPmatrixGetColNNonzs()

    int SCIPmatrixGetColNNonzs ( SCIP_MATRIX *  matrix,
    int  col 
    )

    ◆ SCIPmatrixGetNColumns()

    ◆ SCIPmatrixGetColUb()

    SCIP_Real SCIPmatrixGetColUb ( SCIP_MATRIX *  matrix,
    int  col 
    )

    ◆ SCIPmatrixGetColLb()

    SCIP_Real SCIPmatrixGetColLb ( SCIP_MATRIX *  matrix,
    int  col 
    )

    ◆ SCIPmatrixGetColNUplocks()

    int SCIPmatrixGetColNUplocks ( SCIP_MATRIX *  matrix,
    int  col 
    )

    get number of uplocks of column

    Parameters
    matrixmatrix instance
    colcolumn index

    Definition at line 1929 of file matrix.c.

    References NULL, and SCIP_Matrix::nuplocks.

    Referenced by cancelCol(), cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), findUplockAggregations(), getUplockRowIdx(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().

    ◆ SCIPmatrixGetColNDownlocks()

    int SCIPmatrixGetColNDownlocks ( SCIP_MATRIX *  matrix,
    int  col 
    )

    get number of downlocks of column

    Parameters
    matrixmatrix instance
    colcolumn index

    Definition at line 1941 of file matrix.c.

    References SCIP_Matrix::ndownlocks, and NULL.

    Referenced by cancelCol(), cancelRow(), compensateVarLock(), detectDominatingVlbs(), detectDominatingVubs(), findDownlockAggregations(), getDownlockRowIdx(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().

    ◆ 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 NULL, SCIPvarGetName(), and SCIP_Matrix::vars.

    Referenced by 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 SCIP_Matrix::matrixvalsexact, NULL, SCIP_Matrix::rowmatbeg, and SCIP_MatrixValsExact::rowmatvalexact.

    ◆ 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 SCIP_Matrix::cons, NULL, and SCIPconsGetName().

    Referenced by applyLPboundTightening(), and cancelRow().

    ◆ SCIPmatrixGetNRows()

    ◆ SCIPmatrixGetRowLhs()

    ◆ SCIPmatrixGetRowRhs()

    SCIP_Real SCIPmatrixGetRowRhs ( SCIP_MATRIX *  matrix,
    int  row 
    )

    ◆ 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 SCIP_MatrixValsExact::lhsexact, SCIP_Matrix::matrixvalsexact, and NULL.

    ◆ 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 SCIP_Matrix::matrixvalsexact, NULL, and SCIP_MatrixValsExact::rhsexact.

    ◆ SCIPmatrixIsRowRhsInfinity()

    SCIP_Bool SCIPmatrixIsRowRhsInfinity ( SCIP_MATRIX *  matrix,
    int  row 
    )

    flag indicating if right-hand-side of row is infinity

    Parameters
    matrixmatrix instance
    rowrow index

    Definition at line 2095 of file matrix.c.

    References SCIP_Matrix::isrhsinfinite, and NULL.

    Referenced by calcVarBoundsDominated(), calcVarBoundsDominating(), detectParallelCols(), dualBoundStrengthening(), findDominancePairs(), getDownlockRowIdx(), getUplockRowIdx(), isVlb(), isVub(), SCIP_DECL_PRESOLEXEC(), and singletonColumnStuffing().

    ◆ 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 SCIP_Matrix::nnonzs, and NULL.

    Referenced by SCIP_DECL_PRESOLEXEC().

    ◆ SCIPmatrixGetRowMinActivity()

    SCIP_Real SCIPmatrixGetRowMinActivity ( SCIP_MATRIX *  matrix,
    int  row 
    )

    get minimal activity of row

    Parameters
    matrixmatrix instance
    rowrow index

    Definition at line 2117 of file matrix.c.

    References SCIP_Matrix::minactivity, and NULL.

    Referenced by findDominancePairs(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), and getMinMaxActivityResiduals().

    ◆ SCIPmatrixGetRowMaxActivity()

    SCIP_Real SCIPmatrixGetRowMaxActivity ( SCIP_MATRIX *  matrix,
    int  row 
    )

    get maximal activity of row

    Parameters
    matrixmatrix instance
    rowrow index

    Definition at line 2129 of file matrix.c.

    References SCIP_Matrix::maxactivity, and NULL.

    Referenced by findDominancePairs(), getActivityResidualsLowerBound(), getActivityResidualsUpperBound(), getBinVarIdxInDownlockRow(), getBinVarIdxInUplockRow(), and getMinMaxActivityResiduals().

    ◆ 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 SCIP_Matrix::minactivityneginf, and NULL.

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

    ◆ 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 SCIP_Matrix::minactivityposinf, and NULL.

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

    ◆ 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 SCIP_Matrix::maxactivityneginf, and NULL.

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

    ◆ 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 SCIP_Matrix::maxactivityposinf, and NULL.

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

    ◆ 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 SCIP_Matrix::cons, and NULL.

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

    ◆ SCIPmatrixUplockConflict()

    SCIP_Bool SCIPmatrixUplockConflict ( SCIP_MATRIX *  matrix,
    int  col 
    )

    get if conflicting uplocks of a specific variable present

    Parameters
    matrixmatrix instance
    colcolumn index

    Definition at line 2201 of file matrix.c.

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

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

    ◆ SCIPmatrixDownlockConflict()

    SCIP_Bool SCIPmatrixDownlockConflict ( SCIP_MATRIX *  matrix,
    int  col 
    )

    get if conflicting downlocks of a specific variable present

    Parameters
    matrixmatrix instance
    colcolumn index

    Definition at line 2213 of file matrix.c.

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

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