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 123 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

SCIP_Real SCIP_Col::unchangedobj

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

Definition at line 128 of file struct_lp.h.

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

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 129 of file struct_lp.h.

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

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 131 of file struct_lp.h.

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

SCIP_Real SCIP_Col::flushedobj

objective value of column already flushed to the LP solver

Definition at line 133 of file struct_lp.h.

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

SCIP_Real SCIP_Col::flushedlb

lower bound of column already flushed to the LP solver

Definition at line 134 of file struct_lp.h.

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

SCIP_Real SCIP_Col::flushedub

upper bound of column already flushed to the LP solver

Definition at line 135 of file struct_lp.h.

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

SCIP_Real SCIP_Col::redcost

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

Definition at line 137 of file struct_lp.h.

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

SCIP_Real SCIP_Col::farkascoef

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

Definition at line 138 of file struct_lp.h.

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

SCIP_Real SCIP_Col::minprimsol

minimal LP solution value, this column ever assumed

Definition at line 139 of file struct_lp.h.

Referenced by SCIPcolGetMinPrimsol(), and SCIPlpGetSol().

SCIP_Real SCIP_Col::maxprimsol

maximal LP solution value, this column ever assumed

Definition at line 140 of file struct_lp.h.

Referenced by SCIPcolGetMaxPrimsol(), and SCIPlpGetSol().

SCIP_Real SCIP_Col::sbsolval

LP solution value of column at last strong branching call

Definition at line 143 of file struct_lp.h.

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

SCIP_Real SCIP_Col::sblpobjval

LP objective value at last strong branching call on the column

Definition at line 144 of file struct_lp.h.

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

SCIP_Longint SCIP_Col::sbnode
SCIP_Longint SCIP_Col::obsoletenode

last node where this column was removed due to aging

Definition at line 146 of file struct_lp.h.

Referenced by lpRemoveObsoleteCols(), and SCIPcolMarkNotRemovableLocal().

SCIP_COLSOLVALS* SCIP_Col::storedsolvals

values stored before entering diving or probing mode

Definition at line 147 of file struct_lp.h.

Referenced by colRestoreSolVals(), and colStoreSolVals().

SCIP_Longint SCIP_Col::validredcostlp

LP number for which reduced cost value is valid

Definition at line 151 of file struct_lp.h.

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

SCIP_Longint SCIP_Col::validfarkaslp

LP number for which Farkas coefficient is valid

Definition at line 152 of file struct_lp.h.

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

SCIP_Longint SCIP_Col::validsblp

LP number for which strong branching values are valid

Definition at line 153 of file struct_lp.h.

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

int SCIP_Col::size

size of the row- and val-arrays

Definition at line 156 of file struct_lp.h.

Referenced by colEnsureSize().

int SCIP_Col::nunlinked
int SCIP_Col::lpdepth

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

Definition at line 162 of file struct_lp.h.

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

int SCIP_Col::sbitlim

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

Definition at line 163 of file struct_lp.h.

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

int SCIP_Col::nsbcalls

number of times, strong branching was applied on the column

Definition at line 164 of file struct_lp.h.

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

int SCIP_Col::age

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

Definition at line 165 of file struct_lp.h.

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

int SCIP_Col::var_probindex

copy of var->probindex for avoiding expensive dereferencing

Definition at line 166 of file struct_lp.h.

Referenced by addRowToAggregation(), rowAddCoef(), SCIPlpSumRows(), substituteMIRRow(), substituteStrongCGRow(), and varSetProbindex().

unsigned int SCIP_Col::basisstatus

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

Definition at line 167 of file struct_lp.h.

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

unsigned int SCIP_Col::lprowssorted

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

Definition at line 168 of file struct_lp.h.

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

unsigned int SCIP_Col::nonlprowssorted

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

Definition at line 169 of file struct_lp.h.

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

unsigned int SCIP_Col::objchanged

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

Definition at line 170 of file struct_lp.h.

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

unsigned int SCIP_Col::lbchanged

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

Definition at line 171 of file struct_lp.h.

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

unsigned int SCIP_Col::ubchanged

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

Definition at line 172 of file struct_lp.h.

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

unsigned int SCIP_Col::coefchanged

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

Definition at line 173 of file struct_lp.h.

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

unsigned int SCIP_Col::integral

is associated variable of integral type?

Definition at line 174 of file struct_lp.h.

Referenced by SCIPcolIsIntegral(), and SCIPlpAddCol().

unsigned int SCIP_Col::removable

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

Definition at line 175 of file struct_lp.h.

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

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 176 of file struct_lp.h.

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

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 178 of file struct_lp.h.

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