Scippy

    SCIP

    Solving Constraint Integer Programs

    SCIP_RowExact 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 186 of file struct_lpexact.h.

    #include <struct_lpexact.h>

    Data Fields

    SCIP_ROWfprow
     
    SCIP_ROWfprowrhs
     
    SCIP_RATIONALconstant
     
    SCIP_RATIONALlhs
     
    SCIP_RATIONALrhs
     
    SCIP_Real lhsreal
     
    SCIP_Real rhsreal
     
    SCIP_INTERVAL constantreal
     
    SCIP_RATIONALflushedlhs
     
    SCIP_RATIONALflushedrhs
     
    SCIP_RATIONALobjprod
     
    SCIP_RATIONALdualsol
     
    SCIP_RATIONALactivity
     
    SCIP_RATIONALdualfarkas
     
    SCIP_RATIONALpseudoactivity
     
    SCIP_RATIONAL ** vals
     
    SCIP_INTERVALvalsinterval
     
    SCIP_COLEXACT ** cols
     
    SCIP_ROWEXACTSOLVALSstoredsolvals
     
    int * cols_index
     
    int * linkpos
     
    SCIP_Longint validactivitylp
     
    int index
     
    int size
     
    int len
     
    int nlpcols
     
    int nunlinked
     
    int nuses
     
    int lppos
     
    int lpipos
     
    int lpdepth
     
    unsigned int basisstatus:2
     
    unsigned int lpcolssorted:1
     
    unsigned int nonlpcolssorted:1
     
    unsigned int delaysort:1
     
    unsigned int lhschanged:1
     
    unsigned int rhschanged:1
     
    unsigned int coefchanged:1
     
    unsigned int integral:1
     
    unsigned int nlocks:15
     
    unsigned int modifiable:1
     
    unsigned int removable:1
     
    unsigned int fprelaxable:1
     

    Field Documentation

    ◆ fprow

    ◆ fprowrhs

    SCIP_ROW* SCIP_RowExact::fprowrhs

    if two rows are needed to make a relaxation of this row, this saves the rhs-part

    Definition at line 189 of file struct_lpexact.h.

    Referenced by SCIPlpExactGetSol(), and SCIProwExactGetRowRhs().

    ◆ constant

    ◆ lhs

    ◆ rhs

    ◆ lhsreal

    SCIP_Real SCIP_RowExact::lhsreal

    fp relaxation of lhsreal

    Definition at line 193 of file struct_lpexact.h.

    Referenced by SCIProwExactChgLhs().

    ◆ rhsreal

    SCIP_Real SCIP_RowExact::rhsreal

    fp relaxation of rhsreal

    Definition at line 194 of file struct_lpexact.h.

    Referenced by SCIProwExactChgRhs().

    ◆ constantreal

    SCIP_INTERVAL SCIP_RowExact::constantreal

    fp approximation of constant

    Definition at line 195 of file struct_lpexact.h.

    Referenced by SCIProwExactChgConstant().

    ◆ flushedlhs

    SCIP_RATIONAL* SCIP_RowExact::flushedlhs

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

    Definition at line 196 of file struct_lpexact.h.

    Referenced by lpExactFlushAddRows(), and lpExactFlushChgRows().

    ◆ flushedrhs

    SCIP_RATIONAL* SCIP_RowExact::flushedrhs

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

    Definition at line 197 of file struct_lpexact.h.

    Referenced by lpExactFlushAddRows(), and lpExactFlushChgRows().

    ◆ objprod

    SCIP_RATIONAL* SCIP_RowExact::objprod

    scalar product of row vector with objective function

    Definition at line 198 of file struct_lpexact.h.

    ◆ dualsol

    ◆ activity

    SCIP_RATIONAL* SCIP_RowExact::activity

    row activity value in LP, or SCIP_INVALID if not yet calculated

    Definition at line 200 of file struct_lpexact.h.

    Referenced by markRowExactDeleted(), rowExactRestoreSolVals(), rowExactStoreSolVals(), SCIPlpExactGetSol(), SCIProwExactGetLPActivity(), and SCIProwExactRecalcLPActivity().

    ◆ dualfarkas

    SCIP_RATIONAL* SCIP_RowExact::dualfarkas

    ◆ pseudoactivity

    SCIP_RATIONAL* SCIP_RowExact::pseudoactivity

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

    Definition at line 202 of file struct_lpexact.h.

    Referenced by coefChangedExact(), SCIProwExactChgConstant(), SCIProwExactGetPseudoActivity(), and SCIProwExactRecalcPseudoActivity().

    ◆ vals

    ◆ valsinterval

    ◆ cols

    ◆ storedsolvals

    SCIP_ROWEXACTSOLVALS* SCIP_RowExact::storedsolvals

    values stored before entering diving or probing mode

    Definition at line 206 of file struct_lpexact.h.

    Referenced by rowExactRestoreSolVals(), and rowExactStoreSolVals().

    ◆ cols_index

    ◆ linkpos

    ◆ validactivitylp

    SCIP_Longint SCIP_RowExact::validactivitylp

    LP number for which activity value is valid

    Definition at line 209 of file struct_lpexact.h.

    Referenced by markRowExactDeleted(), markRowexDeleted(), rowExactRestoreSolVals(), SCIPlpExactGetDualfarkas(), SCIPlpExactGetSol(), and SCIProwExactIncCoef().

    ◆ index

    int SCIP_RowExact::index

    consecutively numbered row identifier

    Definition at line 210 of file struct_lpexact.h.

    Referenced by colExactAddCoef(), colExactSearchCoefPart(), and SCIProwExactGetIndex().

    ◆ size

    int SCIP_RowExact::size

    size of the col- and val-arrays

    Definition at line 211 of file struct_lpexact.h.

    Referenced by SCIProwExactEnsureSize().

    ◆ len

    ◆ nlpcols

    int SCIP_RowExact::nlpcols

    ◆ nunlinked

    int SCIP_RowExact::nunlinked

    number of row entries, where the columns don't know about the row

    Definition at line 214 of file struct_lpexact.h.

    Referenced by colExactAddCoef(), rowExactAddCoef(), rowExactDelCoefPos(), rowExactLink(), rowExactMerge(), rowExactSearchCoef(), and rowExactUnlink().

    ◆ nuses

    int SCIP_RowExact::nuses

    number of times, this row is referenced

    Definition at line 215 of file struct_lpexact.h.

    Referenced by SCIProwExactCapture().

    ◆ lppos

    ◆ lpipos

    int SCIP_RowExact::lpipos

    ◆ lpdepth

    int SCIP_RowExact::lpdepth

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

    Definition at line 218 of file struct_lpexact.h.

    Referenced by SCIPlpExactDelRowset(), and SCIPlpExactShrinkRows().

    ◆ basisstatus

    unsigned int SCIP_RowExact::basisstatus

    basis status of row in last LP solution, invalid for non-LP rows

    Definition at line 219 of file struct_lpexact.h.

    Referenced by markRowExactDeleted(), markRowexDeleted(), rowExactRestoreSolVals(), rowExactStoreSolVals(), SCIPlpExactGetDualfarkas(), and SCIPlpExactGetSol().

    ◆ lpcolssorted

    unsigned int SCIP_RowExact::lpcolssorted

    are the linked LP columns in the cols array sorted by non-decreasing index?

    Definition at line 220 of file struct_lpexact.h.

    Referenced by colExactAddCoef(), colExactUpdateAddLP(), rowExactAddCoef(), rowExactDelCoefPos(), rowExactMerge(), rowExactMoveCoef(), rowExactSearchCoef(), rowExactSortLP(), and rowExactSwapCoefs().

    ◆ nonlpcolssorted

    unsigned int SCIP_RowExact::nonlpcolssorted

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

    Definition at line 221 of file struct_lpexact.h.

    Referenced by colExactUpdateDelLP(), rowExactAddCoef(), rowExactMerge(), rowExactMoveCoef(), rowExactSearchCoef(), rowExactSortNonLP(), and rowExactSwapCoefs().

    ◆ delaysort

    unsigned int SCIP_RowExact::delaysort

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

    Definition at line 222 of file struct_lpexact.h.

    Referenced by rowExactMerge(), rowExactSearchCoef(), rowExactSortLP(), rowExactSortNonLP(), SCIProwExactChgCoef(), SCIProwExactDelaySort(), SCIProwExactDelCoef(), and SCIProwExactForceSort().

    ◆ lhschanged

    unsigned int SCIP_RowExact::lhschanged

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

    Definition at line 223 of file struct_lpexact.h.

    Referenced by lpExactFlushAddRows(), lpExactFlushChgRows(), and rowExactSideChanged().

    ◆ rhschanged

    unsigned int SCIP_RowExact::rhschanged

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

    Definition at line 224 of file struct_lpexact.h.

    Referenced by lpExactFlushAddRows(), lpExactFlushChgRows(), and rowExactSideChanged().

    ◆ coefchanged

    unsigned int SCIP_RowExact::coefchanged

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

    Definition at line 225 of file struct_lpexact.h.

    Referenced by coefChangedExact(), lpExactFlushAddRows(), and lpExactFlushDelRows().

    ◆ integral

    unsigned int SCIP_RowExact::integral

    is activity (without constant) of row always integral in feasible solution?

    Definition at line 226 of file struct_lpexact.h.

    Referenced by rowExactAddCoef(), rowExactChgCoefPos(), and rowExactMerge().

    ◆ nlocks

    unsigned int SCIP_RowExact::nlocks

    number of sealed locks of an unmodifiable row

    Definition at line 227 of file struct_lpexact.h.

    Referenced by rowExactAddCoef(), rowExactChgCoefPos(), rowExactDelCoefPos(), SCIProwExactCapture(), SCIProwExactLock(), and SCIProwExactUnlock().

    ◆ modifiable

    unsigned int SCIP_RowExact::modifiable

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

    Definition at line 228 of file struct_lpexact.h.

    Referenced by SCIProwExactLock(), and SCIProwExactUnlock().

    ◆ removable

    unsigned int SCIP_RowExact::removable

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

    Definition at line 229 of file struct_lpexact.h.

    Referenced by SCIPlpExactDelRowset(), and SCIProwExactCreateFromRow().

    ◆ fprelaxable

    unsigned int SCIP_RowExact::fprelaxable

    is it possible to make a fp-approximation of this row (only false if vars with both bounds inf present)

    Definition at line 230 of file struct_lpexact.h.

    Referenced by SCIProwExactGenerateFpRows(), and SCIProwExactHasFpRelax().