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 126 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 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 131 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 132 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 134 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 136 of file struct_lp.h.

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

◆ flushedlb

SCIP_Real SCIP_Col::flushedlb

lower bound of column already flushed to the LP solver

Definition at line 137 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 138 of file struct_lp.h.

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

◆ primsol

◆ redcost

SCIP_Real SCIP_Col::redcost

reduced cost value in LP, or SCIP_INVALID if not yet calculated

Definition at line 140 of file struct_lp.h.

Referenced by colRestoreSolVals(), colStoreSolVals(), lpFlushAddCols(), markColDeleted(), SCIPcolGetRedcost(), SCIPconflictAnalyzeLP(), SCIPlpGetDualfarkas(), SCIPlpGetSol(), and SCIPlpGetUnboundedSol().

◆ farkascoef

SCIP_Real SCIP_Col::farkascoef

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

Definition at line 141 of file struct_lp.h.

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

◆ minprimsol

SCIP_Real SCIP_Col::minprimsol

minimal LP solution value, this column ever assumed

Definition at line 142 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 143 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 146 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 147 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 149 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 150 of file struct_lp.h.

Referenced by colRestoreSolVals(), and colStoreSolVals().

◆ var

◆ rows

◆ vals

◆ validredcostlp

SCIP_Longint SCIP_Col::validredcostlp

LP number for which reduced cost value is valid

Definition at line 154 of file struct_lp.h.

Referenced by colRestoreSolVals(), lpFlushAddCols(), markColDeleted(), SCIPcolGetRedcost(), SCIPlpGetDualfarkas(), SCIPlpGetSol(), and SCIPlpGetUnboundedSol().

◆ validfarkaslp

SCIP_Longint SCIP_Col::validfarkaslp

LP number for which Farkas coefficient is valid

Definition at line 155 of file struct_lp.h.

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

◆ validsblp

SCIP_Longint SCIP_Col::validsblp

LP number for which strong branching values are valid

Definition at line 156 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 159 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 165 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 166 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 167 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 168 of file struct_lp.h.

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

◆ var_probindex

int SCIP_Col::var_probindex

copy of var->probindex for avoiding expensive dereferencing

Definition at line 169 of file struct_lp.h.

Referenced by addOrigRow(), rowAddCoef(), SCIPlpSumRows(), transformNonIntegralRow(), varSetProbindex(), varVecAddScaledRowCoefs(), and varVecAddScaledRowCoefsQuad().

◆ basisstatus

unsigned int SCIP_Col::basisstatus

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

Definition at line 170 of file struct_lp.h.

Referenced by colRestoreSolVals(), colStoreSolVals(), lpRemoveObsoleteCols(), markColDeleted(), SCIPcolGetBasisStatus(), SCIPconflictAnalyzeLP(), 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 171 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 172 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 173 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 174 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 175 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 176 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 177 of file struct_lp.h.

Referenced by SCIPcolIsIntegral(), and SCIPlpAddCol().

◆ removable

unsigned int SCIP_Col::removable

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

Definition at line 178 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 179 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 181 of file struct_lp.h.

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