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 189 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_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 nummaxval
 
int numminval
 
int age
 
int rank
 
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:15
 
unsigned int origintype:2
 

Field Documentation

SCIP_Real SCIP_Row::flushedlhs

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

Definition at line 194 of file struct_lp.h.

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

SCIP_Real SCIP_Row::flushedrhs

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

Definition at line 195 of file struct_lp.h.

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

SCIP_Real SCIP_Row::sqrnorm

squared Euclidean norm of row vector

Definition at line 196 of file struct_lp.h.

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

SCIP_Real SCIP_Row::sumnorm

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

Definition at line 197 of file struct_lp.h.

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

SCIP_Real SCIP_Row::objprod

scalar product of row vector with objective function

Definition at line 198 of file struct_lp.h.

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

SCIP_Real SCIP_Row::maxval

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

Definition at line 199 of file struct_lp.h.

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

SCIP_Real SCIP_Row::minval

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

Definition at line 200 of file struct_lp.h.

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

SCIP_Real SCIP_Row::activity
SCIP_Real SCIP_Row::pseudoactivity

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

Definition at line 204 of file struct_lp.h.

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

SCIP_Real SCIP_Row::minactivity

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

Definition at line 205 of file struct_lp.h.

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

SCIP_Real SCIP_Row::maxactivity

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

Definition at line 206 of file struct_lp.h.

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

SCIP_Longint SCIP_Row::validpsactivitydomchg

domain change number for which pseudo activity value is valid

Definition at line 207 of file struct_lp.h.

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

SCIP_Longint SCIP_Row::validactivitybdsdomchg

domain change number for which activity bound values are valid

Definition at line 208 of file struct_lp.h.

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

SCIP_Longint SCIP_Row::obsoletenode

last node where this row was removed due to aging

Definition at line 209 of file struct_lp.h.

Referenced by lpRemoveObsoleteRows(), and SCIProwMarkNotRemovableLocal().

SCIP_Longint SCIP_Row::activeinlpcounter

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

Definition at line 210 of file struct_lp.h.

Referenced by SCIPlpUpdateAges(), and SCIProwGetActiveLPCount().

SCIP_Longint SCIP_Row::nlpsaftercreation

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

Definition at line 211 of file struct_lp.h.

Referenced by SCIPlpUpdateAges(), and SCIProwGetNLPsAfterCreation().

SCIP_ROWSOLVALS* SCIP_Row::storedsolvals

values stored before entering diving or probing mode

Definition at line 212 of file struct_lp.h.

Referenced by rowRestoreSolVals(), and rowStoreSolVals().

void* SCIP_Row::origin

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

Definition at line 213 of file struct_lp.h.

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

SCIP_EVENTFILTER* SCIP_Row::eventfilter

event filter for events concerning this row

Definition at line 219 of file struct_lp.h.

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

SCIP_Longint SCIP_Row::validactivitylp
int SCIP_Row::index

consecutively numbered row identifier

Definition at line 221 of file struct_lp.h.

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

int SCIP_Row::size

size of the col- and val-arrays

Definition at line 222 of file struct_lp.h.

Referenced by SCIProwEnsureSize().

int SCIP_Row::nuses

number of times, this row is referenced

Definition at line 226 of file struct_lp.h.

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

int SCIP_Row::lpipos

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

Definition at line 228 of file struct_lp.h.

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

int SCIP_Row::lpdepth

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

Definition at line 229 of file struct_lp.h.

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

int SCIP_Row::minidx

minimal column index of row entries

Definition at line 230 of file struct_lp.h.

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

int SCIP_Row::maxidx

maximal column index of row entries

Definition at line 231 of file struct_lp.h.

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

int SCIP_Row::nummaxval

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

Definition at line 232 of file struct_lp.h.

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

int SCIP_Row::numminval

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

Definition at line 233 of file struct_lp.h.

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

int SCIP_Row::age

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

Definition at line 234 of file struct_lp.h.

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

int SCIP_Row::rank

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

Definition at line 235 of file struct_lp.h.

Referenced by SCIProwChgRank(), SCIProwGetRank(), sumMIRRow(), and sumStrongCGRow().

unsigned int SCIP_Row::basisstatus

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

Definition at line 236 of file struct_lp.h.

Referenced by lpRemoveObsoleteRows(), markRowDeleted(), rowRestoreSolVals(), rowStoreSolVals(), SCIPconflictAnalyzeLP(), SCIPlpGetDualfarkas(), SCIPlpGetSol(), SCIPlpRemoveRedundantRows(), and SCIProwGetBasisStatus().

unsigned int SCIP_Row::lpcolssorted
unsigned int SCIP_Row::nonlpcolssorted
unsigned int SCIP_Row::delaysort

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

Definition at line 239 of file struct_lp.h.

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

unsigned int SCIP_Row::validminmaxidx
unsigned int SCIP_Row::lhschanged

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

Definition at line 241 of file struct_lp.h.

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

unsigned int SCIP_Row::rhschanged

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

Definition at line 242 of file struct_lp.h.

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

unsigned int SCIP_Row::coefchanged

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

Definition at line 243 of file struct_lp.h.

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

unsigned int SCIP_Row::integral

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

Definition at line 244 of file struct_lp.h.

Referenced by addRowToAggregation(), rowAddCoef(), rowCalcActivityBounds(), rowChgCoefPos(), rowMerge(), rowScale(), SCIProwIsIntegral(), SCIProwRecalcPseudoActivity(), substituteMIRRow(), substituteStrongCGRow(), and sumStrongCGRow().

unsigned int SCIP_Row::local

is row only valid locally?

Definition at line 245 of file struct_lp.h.

Referenced by rowScale(), SCIProwChgLocal(), SCIProwIsLocal(), sumMIRRow(), sumStrongCGRow(), undoBdchgsDualfarkas(), and undoBdchgsDualsol().

unsigned int SCIP_Row::modifiable

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

Definition at line 246 of file struct_lp.h.

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

unsigned int SCIP_Row::removable

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

Definition at line 247 of file struct_lp.h.

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

unsigned int SCIP_Row::inglobalcutpool

is row contained in the global cut pool?

Definition at line 248 of file struct_lp.h.

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

unsigned int SCIP_Row::normunreliable

is the objective product of the row unreliable?

Definition at line 249 of file struct_lp.h.

unsigned int SCIP_Row::nlocks

number of sealed locks of an unmodifiable row

Definition at line 250 of file struct_lp.h.

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

unsigned int SCIP_Row::origintype

origin of row (0: unkown, 1: constraint handler, 2: separator)

Definition at line 251 of file struct_lp.h.

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