Scippy

    SCIP

    Solving Constraint Integer Programs

    SCIP_Col Struct Reference

    Detailed Description

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

    Definition at line 137 of file struct_lp.h.

    #include <struct_lp.h>

    Data Fields

    SCIP_Real obj
     
    SCIP_Real lb
     
    SCIP_Real ub
     
    SCIP_Real unchangedobj
     
    SCIP_Real lazylb
     
    SCIP_Real lazyub
     
    SCIP_Real flushedobj
     
    SCIP_Real flushedlb
     
    SCIP_Real flushedub
     
    SCIP_Real primsol
     
    SCIP_Real redcost
     
    SCIP_Real farkascoef
     
    SCIP_Real minprimsol
     
    SCIP_Real maxprimsol
     
    SCIP_Real sbdown
     
    SCIP_Real sbup
     
    SCIP_Real sbsolval
     
    SCIP_Real sblpobjval
     
    SCIP_Longint sbnode
     
    SCIP_Longint obsoletenode
     
    SCIP_COLSOLVALSstoredsolvals
     
    SCIP_VARvar
     
    SCIP_ROW ** rows
     
    SCIP_Realvals
     
    SCIP_Longint validredcostlp
     
    SCIP_Longint validfarkaslp
     
    SCIP_Longint validsblp
     
    int * linkpos
     
    int index
     
    int size
     
    int len
     
    int nlprows
     
    int nunlinked
     
    int lppos
     
    int lpipos
     
    int lpdepth
     
    int sbitlim
     
    int nsbcalls
     
    int age
     
    int var_probindex
     
    unsigned int basisstatus:2
     
    unsigned int lprowssorted:1
     
    unsigned int nonlprowssorted:1
     
    unsigned int objchanged:1
     
    unsigned int lbchanged:1
     
    unsigned int ubchanged:1
     
    unsigned int coefchanged:1
     
    unsigned int integral:1
     
    unsigned int impliedintegral:1
     
    unsigned int removable:1
     
    unsigned int sbdownvalid:1
     
    unsigned int sbupvalid:1
     

    Field Documentation

    ◆ obj

    ◆ lb

    ◆ ub

    ◆ unchangedobj

    SCIP_Real SCIP_Col::unchangedobj

    unchanged objective value of column (ignoring diving or probing changes)

    Definition at line 142 of file struct_lp.h.

    Referenced by lpDelColset(), rowAddNorms(), rowDelNorms(), SCIPcolChgObj(), SCIPlpAddCol(), and SCIPlpShrinkCols().

    ◆ lazylb

    SCIP_Real SCIP_Col::lazylb

    lazy lower bound of the column; if the current lower bound is not greater than the lazy lower bound, then the lower bound has not to be added to the LP

    Definition at line 143 of file struct_lp.h.

    Referenced by checkLazyBounds(), checkLazyColArray(), computeLPBounds(), SCIPlpAddCol(), and updateLazyBounds().

    ◆ lazyub

    SCIP_Real SCIP_Col::lazyub

    lazy upper bound of the column; if the current upper bound is not smaller than the lazy upper bound, then the upper bound has not to be added to the LP

    Definition at line 145 of file struct_lp.h.

    Referenced by checkLazyBounds(), checkLazyColArray(), computeLPBounds(), SCIPlpAddCol(), and updateLazyBounds().

    ◆ flushedobj

    SCIP_Real SCIP_Col::flushedobj

    objective value of column already flushed to the LP solver

    Definition at line 147 of file struct_lp.h.

    Referenced by colExactInSync(), lpFlushAddCols(), lpFlushChgCols(), and SCIPlpMarkFlushed().

    ◆ flushedlb

    SCIP_Real SCIP_Col::flushedlb

    lower bound of column already flushed to the LP solver

    Definition at line 148 of file struct_lp.h.

    Referenced by lpFlushAddCols(), lpFlushChgCols(), SCIPlpMarkFlushed(), and updateLazyBounds().

    ◆ flushedub

    SCIP_Real SCIP_Col::flushedub

    upper bound of column already flushed to the LP solver

    Definition at line 149 of file struct_lp.h.

    Referenced by lpFlushAddCols(), lpFlushChgCols(), SCIPlpMarkFlushed(), and updateLazyBounds().

    ◆ primsol

    ◆ redcost

    ◆ farkascoef

    SCIP_Real SCIP_Col::farkascoef

    coefficient in dual Farkas infeasibility proof (== dualfarkas^T A_c)

    Definition at line 152 of file struct_lp.h.

    Referenced by lpFlushAddCols(), markColDeleted(), SCIPcolGetFarkasCoef(), and SCIPlpExactOverwriteFpDualSol().

    ◆ minprimsol

    SCIP_Real SCIP_Col::minprimsol

    minimal LP solution value, this column ever assumed

    Definition at line 153 of file struct_lp.h.

    Referenced by SCIPcolGetMinPrimsol(), and SCIPlpGetSol().

    ◆ maxprimsol

    SCIP_Real SCIP_Col::maxprimsol

    maximal LP solution value, this column ever assumed

    Definition at line 154 of file struct_lp.h.

    Referenced by SCIPcolGetMaxPrimsol(), and SCIPlpGetSol().

    ◆ sbdown

    ◆ sbup

    ◆ sbsolval

    SCIP_Real SCIP_Col::sbsolval

    LP solution value of column at last strong branching call

    Definition at line 157 of file struct_lp.h.

    Referenced by SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolGetStrongbranchLast(), SCIPcolInvalidateStrongbranchData(), and SCIPcolSetStrongbranchData().

    ◆ sblpobjval

    SCIP_Real SCIP_Col::sblpobjval

    LP objective value at last strong branching call on the column

    Definition at line 158 of file struct_lp.h.

    Referenced by SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolGetStrongbranchLast(), SCIPcolInvalidateStrongbranchData(), and SCIPcolSetStrongbranchData().

    ◆ sbnode

    SCIP_Longint SCIP_Col::sbnode

    ◆ obsoletenode

    SCIP_Longint SCIP_Col::obsoletenode

    last node where this column was removed due to aging

    Definition at line 160 of file struct_lp.h.

    Referenced by lpRemoveObsoleteCols(), and SCIPcolMarkNotRemovableLocal().

    ◆ storedsolvals

    SCIP_COLSOLVALS* SCIP_Col::storedsolvals

    values stored before entering diving or probing mode

    Definition at line 161 of file struct_lp.h.

    Referenced by colRestoreSolVals(), and colStoreSolVals().

    ◆ var

    ◆ rows

    ◆ vals

    ◆ validredcostlp

    SCIP_Longint SCIP_Col::validredcostlp

    ◆ validfarkaslp

    SCIP_Longint SCIP_Col::validfarkaslp

    LP number for which Farkas coefficient is valid

    Definition at line 166 of file struct_lp.h.

    Referenced by colRestoreSolVals(), lpFlushAddCols(), markColDeleted(), SCIPcolGetFarkasCoef(), SCIPlpExactGetDualfarkas(), and SCIPlpGetDualfarkas().

    ◆ validsblp

    SCIP_Longint SCIP_Col::validsblp

    LP number for which strong branching values are valid

    Definition at line 167 of file struct_lp.h.

    Referenced by SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolGetStrongbranchLPAge(), SCIPcolInvalidateStrongbranchData(), and SCIPcolSetStrongbranchData().

    ◆ linkpos

    ◆ index

    ◆ size

    int SCIP_Col::size

    size of the row- and val-arrays

    Definition at line 170 of file struct_lp.h.

    Referenced by colEnsureSize().

    ◆ len

    ◆ nlprows

    ◆ nunlinked

    int SCIP_Col::nunlinked

    ◆ lppos

    ◆ lpipos

    ◆ lpdepth

    int SCIP_Col::lpdepth

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

    Definition at line 176 of file struct_lp.h.

    Referenced by lpDelColset(), SCIPcolGetLPDepth(), SCIPcolGetLPPos(), SCIPcolIsInLP(), SCIPlpAddCol(), and SCIPlpShrinkCols().

    ◆ sbitlim

    int SCIP_Col::sbitlim

    strong branching iteration limit used to get strong branching values, or -1

    Definition at line 177 of file struct_lp.h.

    Referenced by lpFlushAddCols(), markColDeleted(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolInvalidateStrongbranchData(), and SCIPcolSetStrongbranchData().

    ◆ nsbcalls

    int SCIP_Col::nsbcalls

    number of times, strong branching was applied on the column

    Definition at line 178 of file struct_lp.h.

    Referenced by SCIPcolGetNStrongbranchs(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), and SCIPcolSetStrongbranchData().

    ◆ age

    int SCIP_Col::age

    number of successive times this variable was in LP and was 0.0 in solution

    Definition at line 179 of file struct_lp.h.

    Referenced by lpRemoveObsoleteCols(), SCIPcolGetAge(), SCIPlpAddCol(), and SCIPlpUpdateAges().

    ◆ var_probindex

    int SCIP_Col::var_probindex

    ◆ basisstatus

    unsigned int SCIP_Col::basisstatus

    basis status of column in last LP solution, invalid for non-LP columns

    Definition at line 181 of file struct_lp.h.

    Referenced by colRestoreSolVals(), colStoreSolVals(), lpRemoveObsoleteCols(), markColDeleted(), SCIPcolGetBasisStatus(), SCIPconflictAnalyzeLP(), SCIPlpExactGetSol(), and SCIPlpGetSol().

    ◆ lprowssorted

    unsigned int SCIP_Col::lprowssorted

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

    Definition at line 182 of file struct_lp.h.

    Referenced by colAddCoef(), colMoveCoef(), colSearchCoef(), colSortLP(), colSwapCoefs(), rowAddCoef(), and rowUpdateAddLP().

    ◆ nonlprowssorted

    unsigned int SCIP_Col::nonlprowssorted

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

    Definition at line 183 of file struct_lp.h.

    Referenced by colAddCoef(), colMoveCoef(), colSearchCoef(), colSortNonLP(), colSwapCoefs(), and rowUpdateDelLP().

    ◆ objchanged

    unsigned int SCIP_Col::objchanged

    has objective value changed, and has data of LP solver to be updated?

    Definition at line 184 of file struct_lp.h.

    Referenced by insertColChgcols(), lpFlushAddCols(), lpFlushChgCols(), SCIPcolChgObj(), and SCIPlpMarkFlushed().

    ◆ lbchanged

    unsigned int SCIP_Col::lbchanged

    has lower bound changed, and has data of LP solver to be updated?

    Definition at line 185 of file struct_lp.h.

    Referenced by insertColChgcols(), lpFlushAddCols(), lpFlushChgCols(), SCIPcolChgLb(), SCIPlpMarkFlushed(), and updateLazyBounds().

    ◆ ubchanged

    unsigned int SCIP_Col::ubchanged

    has upper bound changed, and has data of LP solver to be updated?

    Definition at line 186 of file struct_lp.h.

    Referenced by insertColChgcols(), lpFlushAddCols(), lpFlushChgCols(), SCIPcolChgUb(), SCIPlpMarkFlushed(), and updateLazyBounds().

    ◆ coefchanged

    unsigned int SCIP_Col::coefchanged

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

    Definition at line 187 of file struct_lp.h.

    Referenced by coefChanged(), lpFlushAddCols(), lpFlushDelCols(), and SCIPlpMarkFlushed().

    ◆ integral

    unsigned int SCIP_Col::integral

    is associated variable of integral type?

    Definition at line 188 of file struct_lp.h.

    Referenced by SCIPcolIsIntegral(), SCIPlpAddCol(), and SCIPlpExactAddCol().

    ◆ impliedintegral

    unsigned int SCIP_Col::impliedintegral

    is associated variable implied integral?

    Definition at line 189 of file struct_lp.h.

    Referenced by SCIPcolIsImpliedIntegral(), and SCIPlpAddCol().

    ◆ removable

    unsigned int SCIP_Col::removable

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

    Definition at line 190 of file struct_lp.h.

    Referenced by lpDelColset(), SCIPcolIsRemovable(), SCIPlpAddCol(), and SCIPlpShrinkCols().

    ◆ sbdownvalid

    unsigned int SCIP_Col::sbdownvalid

    stores whether the stored strong branching down value is a valid dual bound; otherwise, it can only be used as an estimate value

    Definition at line 191 of file struct_lp.h.

    Referenced by analyzeStrongbranch(), lpFlushAddCols(), markColDeleted(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolGetStrongbranchLast(), SCIPcolInvalidateStrongbranchData(), SCIPcolSetStrongbranchData(), and SCIPconflictAnalyzeStrongbranch().

    ◆ sbupvalid

    unsigned int SCIP_Col::sbupvalid

    stores whether the stored strong branching up value is a valid dual bound; otherwise, it can only be used as an estimate value

    Definition at line 193 of file struct_lp.h.

    Referenced by analyzeStrongbranch(), lpFlushAddCols(), markColDeleted(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPcolGetStrongbranchLast(), SCIPcolInvalidateStrongbranchData(), SCIPcolSetStrongbranchData(), and SCIPconflictAnalyzeStrongbranch().