Scippy

    SCIP

    Solving Constraint Integer Programs

    SCIP_Row Struct Reference

    Detailed Description

    LP row The column vector of the LP row is partitioned into two parts: The first row->nlpcols columns in the cols array are the ones that belong to the current LP (row->cols[j]->lppos >= 0) and that are linked to the row (row->linkpos[j] >= 0). The remaining row->len - row->nlpcols columns in the cols array are the ones that don't belong to the current LP (row->cols[j]->lppos == -1) or that are not linked to the row (row->linkpos[j] == -1).

    Definition at line 204 of file struct_lp.h.

    #include <struct_lp.h>

    Data Fields

    SCIP_Real constant
     
    SCIP_Real lhs
     
    SCIP_Real rhs
     
    SCIP_Real flushedlhs
     
    SCIP_Real flushedrhs
     
    SCIP_Real sqrnorm
     
    SCIP_Real sumnorm
     
    SCIP_Real objprod
     
    SCIP_Real maxval
     
    SCIP_Real minval
     
    SCIP_Real dualsol
     
    SCIP_Real activity
     
    SCIP_Real dualfarkas
     
    SCIP_Real pseudoactivity
     
    SCIP_Real minactivity
     
    SCIP_Real maxactivity
     
    SCIP_Longint validpsactivitydomchg
     
    SCIP_Longint validactivitybdsdomchg
     
    SCIP_Longint obsoletenode
     
    SCIP_Longint activeinlpcounter
     
    SCIP_Longint nlpsaftercreation
     
    SCIP_ROWSOLVALSstoredsolvals
     
    void * origin
     
    char * name
     
    SCIP_COL ** cols
     
    int * cols_index
     
    SCIP_Realvals
     
    int * linkpos
     
    SCIP_EVENTFILTEReventfilter
     
    SCIP_ROWEXACTrowexact
     
    SCIP_Longint validactivitylp
     
    int index
     
    int size
     
    int len
     
    int nlpcols
     
    int nunlinked
     
    int nuses
     
    int lppos
     
    int lpipos
     
    int lpdepth
     
    int minidx
     
    int maxidx
     
    int numintcols
     
    int numimplintcols
     
    int nummaxval
     
    int numminval
     
    int age
     
    int rank
     
    unsigned int fromcutpool:1
     
    unsigned int basisstatus:2
     
    unsigned int lpcolssorted:1
     
    unsigned int nonlpcolssorted:1
     
    unsigned int delaysort:1
     
    unsigned int validminmaxidx:1
     
    unsigned int lhschanged:1
     
    unsigned int rhschanged:1
     
    unsigned int coefchanged:1
     
    unsigned int integral:1
     
    unsigned int local:1
     
    unsigned int modifiable:1
     
    unsigned int removable:1
     
    unsigned int inglobalcutpool:1
     
    unsigned int normunreliable:1
     
    unsigned int nlocks:13
     
    unsigned int origintype:3
     

    Field Documentation

    ◆ constant

    ◆ lhs

    ◆ rhs

    ◆ flushedlhs

    SCIP_Real SCIP_Row::flushedlhs

    left hand side minus constant of row already flushed to the LP solver

    Definition at line 209 of file struct_lp.h.

    Referenced by lpFlushAddRows(), lpFlushChgRows(), and SCIPlpMarkFlushed().

    ◆ flushedrhs

    SCIP_Real SCIP_Row::flushedrhs

    right hand side minus constant of row already flushed to the LP solver

    Definition at line 210 of file struct_lp.h.

    Referenced by lpFlushAddRows(), lpFlushChgRows(), and SCIPlpMarkFlushed().

    ◆ sqrnorm

    SCIP_Real SCIP_Row::sqrnorm

    squared Euclidean norm of row vector

    Definition at line 211 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcNorms(), rowDelNorms(), SCIProwGetNorm(), SCIProwGetObjParallelism(), and SCIProwGetParallelism().

    ◆ sumnorm

    SCIP_Real SCIP_Row::sumnorm

    sum norm of row vector (sum of absolute values of coefficients)

    Definition at line 212 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcNorms(), rowDelNorms(), and SCIProwGetSumNorm().

    ◆ objprod

    SCIP_Real SCIP_Row::objprod

    scalar product of row vector with objective function

    Definition at line 213 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcNorms(), rowDelNorms(), and SCIProwGetObjParallelism().

    ◆ maxval

    SCIP_Real SCIP_Row::maxval

    maximal absolute value of row vector, only valid if nummaxval > 0

    Definition at line 214 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), and SCIProwGetMaxval().

    ◆ minval

    SCIP_Real SCIP_Row::minval

    minimal absolute non-zero value of row vector, only valid if numminval > 0

    Definition at line 215 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), and SCIProwGetMinval().

    ◆ dualsol

    ◆ activity

    ◆ dualfarkas

    ◆ pseudoactivity

    SCIP_Real SCIP_Row::pseudoactivity

    row activity value in pseudo solution, or SCIP_INVALID if not yet calculated

    Definition at line 219 of file struct_lp.h.

    Referenced by coefChanged(), SCIProwChgConstant(), SCIProwExactGetPseudoActivity(), SCIProwExactRecalcPseudoActivity(), SCIProwGetPseudoActivity(), and SCIProwRecalcPseudoActivity().

    ◆ minactivity

    SCIP_Real SCIP_Row::minactivity

    minimal activity value w.r.t. the column's bounds, or SCIP_INVALID

    Definition at line 220 of file struct_lp.h.

    Referenced by coefChanged(), rowCalcActivityBounds(), SCIProwChgConstant(), SCIProwGetMaxActivity(), and SCIProwGetMinActivity().

    ◆ maxactivity

    SCIP_Real SCIP_Row::maxactivity

    maximal activity value w.r.t. the column's bounds, or SCIP_INVALID

    Definition at line 221 of file struct_lp.h.

    Referenced by coefChanged(), rowCalcActivityBounds(), SCIProwChgConstant(), SCIProwGetMaxActivity(), and SCIProwGetMinActivity().

    ◆ validpsactivitydomchg

    SCIP_Longint SCIP_Row::validpsactivitydomchg

    ◆ validactivitybdsdomchg

    SCIP_Longint SCIP_Row::validactivitybdsdomchg

    domain change number for which activity bound values are valid

    Definition at line 223 of file struct_lp.h.

    Referenced by coefChanged(), rowCalcActivityBounds(), SCIProwChgConstant(), SCIProwGetMaxActivity(), and SCIProwGetMinActivity().

    ◆ obsoletenode

    SCIP_Longint SCIP_Row::obsoletenode

    last node where this row was removed due to aging

    Definition at line 224 of file struct_lp.h.

    Referenced by lpRemoveObsoleteRows(), and SCIProwMarkNotRemovableLocal().

    ◆ activeinlpcounter

    SCIP_Longint SCIP_Row::activeinlpcounter

    counter for the number of times this row was active in an optimal LP solution

    Definition at line 225 of file struct_lp.h.

    Referenced by SCIPlpUpdateAges(), and SCIProwGetActiveLPCount().

    ◆ nlpsaftercreation

    SCIP_Longint SCIP_Row::nlpsaftercreation

    counter for the number of LPs after the row has been created

    Definition at line 226 of file struct_lp.h.

    Referenced by SCIPlpUpdateAges(), and SCIProwGetNLPsAfterCreation().

    ◆ storedsolvals

    SCIP_ROWSOLVALS* SCIP_Row::storedsolvals

    values stored before entering diving or probing mode

    Definition at line 227 of file struct_lp.h.

    Referenced by rowRestoreSolVals(), and rowStoreSolVals().

    ◆ origin

    void* SCIP_Row::origin

    pointer to constraint handler or separator who created the row (NULL if unknown)

    Definition at line 228 of file struct_lp.h.

    Referenced by SCIProwGetOriginCons(), SCIProwGetOriginConshdlr(), SCIProwGetOriginSepa(), and sepastoreApplyCut().

    ◆ name

    ◆ cols

    SCIP_COL** SCIP_Row::cols

    columns of row entries, that may have a nonzero primal solution value

    Definition at line 230 of file struct_lp.h.

    Referenced by addLocalRows(), certificatePrintRow(), colAddCoef(), colChgCoefPos(), colDelCoefPos(), colLink(), colMoveCoef(), colSortLP(), colSortNonLP(), colSwapCoefs(), colUnlink(), colUpdateAddLP(), colUpdateDelLP(), computeRelIntPoint(), cutsSubstituteMIR(), cutsSubstituteMIRSafely(), cutsSubstituteStrongCG(), lpFlushAddRows(), rowAddCoef(), rowCalcActivityBounds(), rowCalcIdxsAndVals(), rowCalcNorms(), rowChgCoefPos(), rowDelCoefPos(), rowExactCreateFromRowLimitEncodingLength(), rowLink(), rowMerge(), rowMoveCoef(), rowScale(), rowSearchCoef(), rowSearchCoefPart(), rowSortLP(), rowSortNonLP(), rowSwapCoefs(), rowUnlink(), rowUpdateAddLP(), rowUpdateDelLP(), SCIP_DECL_HASHKEYEQ(), SCIPaddRow(), SCIPcolChgCoef(), SCIPcolDelCoef(), SCIPcolIncCoef(), SCIPgetDualProof(), SCIPgetFarkasProof(), SCIPlpAddRow(), SCIPlpGetUnboundedSol(), SCIPlpShrinkRows(), SCIPlpSumRows(), SCIPlpWriteMip(), SCIProwCalcIntegralScalar(), SCIProwChgCoef(), SCIProwDelCoef(), SCIProwEnsureSize(), SCIProwExactGetSolActivityWithErrorbound(), SCIProwExactRecalcLPActivity(), SCIProwGetCols(), SCIProwGetDiscreteScalarProduct(), SCIProwGetLPSolCutoffDistance(), SCIProwGetNLPFeasibility(), SCIProwGetParallelism(), SCIProwGetRelaxFeasibility(), SCIProwGetScalarProduct(), SCIProwGetSolActivity(), SCIProwIncCoef(), SCIProwPrint(), SCIProwRecalcLPActivity(), SCIProwRecalcPseudoActivity(), SCIProwSort(), varVecAddScaledRowCoefs(), varVecAddScaledRowCoefsQuad(), varVecAddScaledRowCoefsQuadScale(), and varVecAddScaledRowCoefsSafely().

    ◆ cols_index

    ◆ vals

    ◆ linkpos

    ◆ eventfilter

    SCIP_EVENTFILTER* SCIP_Row::eventfilter

    event filter for events concerning this row

    Definition at line 234 of file struct_lp.h.

    Referenced by rowEventCoefChanged(), rowEventConstantChanged(), rowEventSideChanged(), SCIProwCatchEvent(), and SCIProwDropEvent().

    ◆ rowexact

    ◆ validactivitylp

    ◆ index

    int SCIP_Row::index

    consecutively numbered row identifier

    Definition at line 237 of file struct_lp.h.

    Referenced by colAddCoef(), colSearchCoefPart(), and SCIProwGetIndex().

    ◆ size

    int SCIP_Row::size

    size of the col- and val-arrays

    Definition at line 238 of file struct_lp.h.

    Referenced by SCIProwEnsureSize(), and SCIProwExactCreateFromRow().

    ◆ len

    ◆ nlpcols

    ◆ nunlinked

    ◆ nuses

    int SCIP_Row::nuses

    number of times, this row is referenced

    Definition at line 242 of file struct_lp.h.

    Referenced by SCIProwCapture(), SCIProwExactCreate(), SCIProwLock(), and SCIProwUnlock().

    ◆ lppos

    ◆ lpipos

    int SCIP_Row::lpipos

    row position number in LP solver, or -1 if not in LP solver

    Definition at line 244 of file struct_lp.h.

    Referenced by coefChanged(), lpDelRowset(), lpFlushAddCols(), lpFlushAddRows(), lpFlushChgRows(), lpFlushDelRows(), markRowDeleted(), rowSideChanged(), and SCIPlpMarkFlushed().

    ◆ lpdepth

    int SCIP_Row::lpdepth

    depth level at which row entered the LP, or -1 if not in current LP

    Definition at line 245 of file struct_lp.h.

    Referenced by addLocalRows(), addRowToAggrRow(), lpDelRowset(), SCIPlpAddRow(), SCIPlpShrinkRows(), SCIProwGetLPDepth(), SCIProwGetLPPos(), and SCIProwIsInLP().

    ◆ minidx

    int SCIP_Row::minidx

    minimal column index of row entries

    Definition at line 246 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), SCIP_DECL_HASHKEYEQ(), and SCIProwGetMinidx().

    ◆ maxidx

    int SCIP_Row::maxidx

    maximal column index of row entries

    Definition at line 247 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), SCIP_DECL_HASHKEYEQ(), and SCIProwGetMaxidx().

    ◆ numintcols

    int SCIP_Row::numintcols

    number of integral columns

    Definition at line 248 of file struct_lp.h.

    Referenced by rowCalcIdxsAndVals(), and SCIProwGetNumIntCols().

    ◆ numimplintcols

    int SCIP_Row::numimplintcols

    number of implied integral columns

    Definition at line 249 of file struct_lp.h.

    Referenced by rowCalcIdxsAndVals(), and SCIProwGetNumImpliedIntCols().

    ◆ nummaxval

    int SCIP_Row::nummaxval

    number of coefs with absolute value equal to maxval, zero if maxval invalid

    Definition at line 250 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), and SCIProwGetMaxval().

    ◆ numminval

    int SCIP_Row::numminval

    number of coefs with absolute value equal to minval, zero if minval invalid

    Definition at line 251 of file struct_lp.h.

    Referenced by rowAddNorms(), rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), and SCIProwGetMinval().

    ◆ age

    int SCIP_Row::age

    number of successive times this row was in LP and was not sharp in solution

    Definition at line 252 of file struct_lp.h.

    Referenced by cutCreate(), lpRemoveObsoleteRows(), SCIPconstructCurrentLP(), SCIPlpAddRow(), SCIPlpUpdateAges(), and SCIProwGetAge().

    ◆ rank

    int SCIP_Row::rank

    rank of the row (upper bound, to be precise)

    Definition at line 253 of file struct_lp.h.

    Referenced by addOneRow(), addOneRowSafely(), SCIPaggrRowAddRow(), SCIPaggrRowAddRowSafely(), SCIProwChgRank(), and SCIProwGetRank().

    ◆ fromcutpool

    unsigned int SCIP_Row::fromcutpool

    added from cutpool to sepastore

    Definition at line 254 of file struct_lp.h.

    Referenced by SCIPconstructCurrentLP(), SCIPcutpoolSeparate(), SCIPsepastoreAddCut(), sepastoreApplyCut(), and sepastoreDelCut().

    ◆ basisstatus

    unsigned int SCIP_Row::basisstatus

    ◆ lpcolssorted

    unsigned int SCIP_Row::lpcolssorted

    ◆ nonlpcolssorted

    unsigned int SCIP_Row::nonlpcolssorted

    are the non-LP/not linked columns sorted by non-decreasing index?

    Definition at line 257 of file struct_lp.h.

    Referenced by colUpdateDelLP(), rowAddCoef(), rowCalcNorms(), rowMerge(), rowMoveCoef(), rowSearchCoef(), rowSortNonLP(), rowSwapCoefs(), SCIP_DECL_HASHKEYEQ(), SCIProwGetDiscreteScalarProduct(), and SCIProwGetScalarProduct().

    ◆ delaysort

    unsigned int SCIP_Row::delaysort

    should the row sorting be delayed and done in a lazy fashion?

    Definition at line 258 of file struct_lp.h.

    Referenced by rowMerge(), rowSearchCoef(), rowSortLP(), rowSortNonLP(), SCIProwChgCoef(), SCIProwDelaySort(), SCIProwDelCoef(), SCIProwForceSort(), and SCIProwSort().

    ◆ validminmaxidx

    unsigned int SCIP_Row::validminmaxidx

    are minimal and maximal column index valid?

    Definition at line 259 of file struct_lp.h.

    Referenced by rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), SCIP_DECL_HASHKEYEQ(), SCIProwGetMaxidx(), and SCIProwGetMinidx().

    ◆ lhschanged

    unsigned int SCIP_Row::lhschanged

    was left hand side or constant changed, and has LP solver to be updated?

    Definition at line 260 of file struct_lp.h.

    Referenced by lpFlushAddRows(), lpFlushChgRows(), rowSideChanged(), and SCIPlpMarkFlushed().

    ◆ rhschanged

    unsigned int SCIP_Row::rhschanged

    was right hand side or constant changed, and has LP solver to be updated?

    Definition at line 261 of file struct_lp.h.

    Referenced by lpFlushAddRows(), lpFlushChgRows(), rowSideChanged(), and SCIPlpMarkFlushed().

    ◆ coefchanged

    unsigned int SCIP_Row::coefchanged

    was the coefficient vector changed, and has LP solver to be updated?

    Definition at line 262 of file struct_lp.h.

    Referenced by coefChanged(), lpFlushAddRows(), lpFlushDelRows(), and SCIPlpMarkFlushed().

    ◆ integral

    ◆ local

    ◆ modifiable

    unsigned int SCIP_Row::modifiable

    is row modifiable during node processing (subject to column generation)?

    Definition at line 265 of file struct_lp.h.

    Referenced by rowScale(), SCIProwExactIsModifiable(), SCIProwIsModifiable(), SCIProwIsRedundant(), SCIProwLock(), and SCIProwUnlock().

    ◆ removable

    unsigned int SCIP_Row::removable

    is row removable from the LP (due to aging or cleanup)?

    Definition at line 266 of file struct_lp.h.

    Referenced by lpDelRowset(), SCIPlpAddRow(), SCIPlpShrinkRows(), and SCIProwIsRemovable().

    ◆ inglobalcutpool

    unsigned int SCIP_Row::inglobalcutpool

    is row contained in the global cut pool?

    Definition at line 267 of file struct_lp.h.

    Referenced by cutpoolDelCut(), SCIPcutpoolAddNewRow(), SCIPcutpoolClear(), and SCIProwIsInGlobalCutpool().

    ◆ normunreliable

    unsigned int SCIP_Row::normunreliable

    is the objective product of the row unreliable?

    Definition at line 268 of file struct_lp.h.

    ◆ nlocks

    unsigned int SCIP_Row::nlocks

    number of sealed locks of an unmodifiable row

    Definition at line 269 of file struct_lp.h.

    Referenced by rowAddCoef(), rowChgCoefPos(), rowDelCoefPos(), SCIProwCapture(), SCIProwExactCreateFromRow(), SCIProwLock(), and SCIProwUnlock().

    ◆ origintype

    unsigned int SCIP_Row::origintype

    origin of row (0: unknown, 1: constraint handler, 2: constraint, 3: separator, 4: reoptimization)

    Definition at line 270 of file struct_lp.h.

    Referenced by SCIProwGetOriginCons(), SCIProwGetOriginConshdlr(), SCIProwGetOriginSepa(), SCIProwGetOrigintype(), SCIPsepastoreAddCut(), sepastoreApplyCut(), and sepastoreDelCut().