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 201 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 numintcols
 
int nummaxval
 
int numminval
 
int age
 
int rank
 
unsigned int fromcutpool:1
 
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:13
 
unsigned int origintype:3
 

Field Documentation

◆ constant

◆ lhs

◆ rhs

◆ flushedlhs

SCIP_Real SCIP_Row::flushedlhs

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

Definition at line 206 of file struct_lp.h.

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

◆ flushedrhs

SCIP_Real SCIP_Row::flushedrhs

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

Definition at line 207 of file struct_lp.h.

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

◆ sqrnorm

SCIP_Real SCIP_Row::sqrnorm

squared Euclidean norm of row vector

Definition at line 208 of file struct_lp.h.

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

◆ sumnorm

SCIP_Real SCIP_Row::sumnorm

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

Definition at line 209 of file struct_lp.h.

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

◆ objprod

SCIP_Real SCIP_Row::objprod

scalar product of row vector with objective function

Definition at line 210 of file struct_lp.h.

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

◆ maxval

SCIP_Real SCIP_Row::maxval

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

Definition at line 211 of file struct_lp.h.

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

◆ minval

SCIP_Real SCIP_Row::minval

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

Definition at line 212 of file struct_lp.h.

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

◆ dualsol

◆ activity

SCIP_Real SCIP_Row::activity

◆ dualfarkas

◆ pseudoactivity

SCIP_Real SCIP_Row::pseudoactivity

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

Definition at line 216 of file struct_lp.h.

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

◆ minactivity

SCIP_Real SCIP_Row::minactivity

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

Definition at line 217 of file struct_lp.h.

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

◆ maxactivity

SCIP_Real SCIP_Row::maxactivity

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

Definition at line 218 of file struct_lp.h.

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

◆ validpsactivitydomchg

SCIP_Longint SCIP_Row::validpsactivitydomchg

domain change number for which pseudo activity value is valid

Definition at line 219 of file struct_lp.h.

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

◆ validactivitybdsdomchg

SCIP_Longint SCIP_Row::validactivitybdsdomchg

domain change number for which activity bound values are valid

Definition at line 220 of file struct_lp.h.

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

◆ obsoletenode

SCIP_Longint SCIP_Row::obsoletenode

last node where this row was removed due to aging

Definition at line 221 of file struct_lp.h.

Referenced by lpRemoveObsoleteRows(), and SCIProwMarkNotRemovableLocal().

◆ activeinlpcounter

SCIP_Longint SCIP_Row::activeinlpcounter

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

Definition at line 222 of file struct_lp.h.

Referenced by SCIPlpUpdateAges(), and SCIProwGetActiveLPCount().

◆ nlpsaftercreation

SCIP_Longint SCIP_Row::nlpsaftercreation

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

Definition at line 223 of file struct_lp.h.

Referenced by SCIPlpUpdateAges(), and SCIProwGetNLPsAfterCreation().

◆ storedsolvals

SCIP_ROWSOLVALS* SCIP_Row::storedsolvals

values stored before entering diving or probing mode

Definition at line 224 of file struct_lp.h.

Referenced by rowRestoreSolVals(), and rowStoreSolVals().

◆ origin

void* SCIP_Row::origin

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

Definition at line 225 of file struct_lp.h.

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

◆ name

◆ cols

◆ cols_index

◆ vals

◆ linkpos

◆ eventfilter

SCIP_EVENTFILTER* SCIP_Row::eventfilter

event filter for events concerning this row

Definition at line 231 of file struct_lp.h.

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

◆ validactivitylp

SCIP_Longint SCIP_Row::validactivitylp

◆ index

int SCIP_Row::index

consecutively numbered row identifier

Definition at line 233 of file struct_lp.h.

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

◆ size

int SCIP_Row::size

size of the col- and val-arrays

Definition at line 234 of file struct_lp.h.

Referenced by SCIProwEnsureSize().

◆ len

◆ nlpcols

◆ nunlinked

◆ nuses

int SCIP_Row::nuses

number of times, this row is referenced

Definition at line 238 of file struct_lp.h.

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

◆ lppos

◆ lpipos

int SCIP_Row::lpipos

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

Definition at line 240 of file struct_lp.h.

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

◆ lpdepth

int SCIP_Row::lpdepth

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

Definition at line 241 of file struct_lp.h.

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

◆ minidx

int SCIP_Row::minidx

minimal column index of row entries

Definition at line 242 of file struct_lp.h.

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

◆ maxidx

int SCIP_Row::maxidx

maximal column index of row entries

Definition at line 243 of file struct_lp.h.

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

◆ numintcols

int SCIP_Row::numintcols

number of integral columns

Definition at line 244 of file struct_lp.h.

Referenced by rowCalcIdxsAndVals(), and SCIProwGetNumIntCols().

◆ nummaxval

int SCIP_Row::nummaxval

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

Definition at line 245 of file struct_lp.h.

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

◆ numminval

int SCIP_Row::numminval

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

Definition at line 246 of file struct_lp.h.

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

◆ age

int SCIP_Row::age

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

Definition at line 247 of file struct_lp.h.

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

◆ rank

int SCIP_Row::rank

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

Definition at line 248 of file struct_lp.h.

Referenced by addOneRow(), SCIPaggrRowAddRow(), SCIProwChgRank(), and SCIProwGetRank().

◆ fromcutpool

unsigned int SCIP_Row::fromcutpool

added from cutpool to sepastore

Definition at line 249 of file struct_lp.h.

Referenced by SCIPconstructCurrentLP(), SCIPcutpoolSeparate(), SCIPsepastoreAddCut(), sepastoreApplyCut(), and sepastoreDelCut().

◆ basisstatus

unsigned int SCIP_Row::basisstatus

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

Definition at line 250 of file struct_lp.h.

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

◆ lpcolssorted

unsigned int SCIP_Row::lpcolssorted

◆ nonlpcolssorted

unsigned int SCIP_Row::nonlpcolssorted

◆ delaysort

unsigned int SCIP_Row::delaysort

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

Definition at line 253 of file struct_lp.h.

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

◆ validminmaxidx

unsigned int SCIP_Row::validminmaxidx

are minimal and maximal column index valid?

Definition at line 254 of file struct_lp.h.

Referenced by rowCalcIdxsAndVals(), rowCalcNorms(), rowDelNorms(), SCIP_DECL_HASHKEYEQ(), SCIPcutpoolAddNewRow(), SCIProwGetMaxidx(), and SCIProwGetMinidx().

◆ lhschanged

unsigned int SCIP_Row::lhschanged

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

Definition at line 255 of file struct_lp.h.

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

◆ rhschanged

unsigned int SCIP_Row::rhschanged

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

Definition at line 256 of file struct_lp.h.

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

◆ coefchanged

unsigned int SCIP_Row::coefchanged

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

Definition at line 257 of file struct_lp.h.

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

◆ integral

◆ local

unsigned int SCIP_Row::local

◆ modifiable

unsigned int SCIP_Row::modifiable

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

Definition at line 260 of file struct_lp.h.

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

◆ removable

unsigned int SCIP_Row::removable

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

Definition at line 261 of file struct_lp.h.

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

◆ inglobalcutpool

unsigned int SCIP_Row::inglobalcutpool

is row contained in the global cut pool?

Definition at line 262 of file struct_lp.h.

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

◆ normunreliable

unsigned int SCIP_Row::normunreliable

is the objective product of the row unreliable?

Definition at line 263 of file struct_lp.h.

◆ nlocks

unsigned int SCIP_Row::nlocks

number of sealed locks of an unmodifiable row

Definition at line 264 of file struct_lp.h.

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

◆ origintype

unsigned int SCIP_Row::origintype

origin of row (0: unknown, 1: constraint handler, 2: constraint, 3: separator, 4: reoptimization)

Definition at line 265 of file struct_lp.h.

Referenced by SCIProwGetOriginCons(), SCIProwGetOriginConshdlr(), SCIProwGetOriginSepa(), SCIProwGetOrigintype(), SCIPsepastoreAddCut(), sepastoreApplyCut(), and sepastoreDelCut().