Scippy

SCIP

Solving Constraint Integer Programs

SCIP_RowExact 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 186 of file struct_lpexact.h.

#include <struct_lpexact.h>

Data Fields

SCIP_ROWfprow
 
SCIP_ROWfprowrhs
 
SCIP_RATIONALconstant
 
SCIP_RATIONALlhs
 
SCIP_RATIONALrhs
 
SCIP_Real lhsreal
 
SCIP_Real rhsreal
 
SCIP_INTERVAL constantreal
 
SCIP_RATIONALflushedlhs
 
SCIP_RATIONALflushedrhs
 
SCIP_RATIONALobjprod
 
SCIP_RATIONALdualsol
 
SCIP_RATIONALactivity
 
SCIP_RATIONALdualfarkas
 
SCIP_RATIONALpseudoactivity
 
SCIP_RATIONAL ** vals
 
SCIP_INTERVALvalsinterval
 
SCIP_COLEXACT ** cols
 
SCIP_ROWEXACTSOLVALSstoredsolvals
 
int * cols_index
 
int * linkpos
 
SCIP_Longint validactivitylp
 
int index
 
int size
 
int len
 
int nlpcols
 
int nunlinked
 
int nuses
 
int lppos
 
int lpipos
 
int lpdepth
 
unsigned int basisstatus:2
 
unsigned int lpcolssorted:1
 
unsigned int nonlpcolssorted:1
 
unsigned int delaysort:1
 
unsigned int lhschanged:1
 
unsigned int rhschanged:1
 
unsigned int coefchanged:1
 
unsigned int integral:1
 
unsigned int nlocks:15
 
unsigned int modifiable:1
 
unsigned int removable:1
 
unsigned int fprelaxable:1
 

Field Documentation

◆ fprow

◆ fprowrhs

SCIP_ROW* SCIP_RowExact::fprowrhs

if two rows are needed to make a relaxation of this row, this saves the rhs-part

Definition at line 189 of file struct_lpexact.h.

Referenced by SCIPlpExactGetSol(), and SCIProwExactGetRowRhs().

◆ constant

◆ lhs

◆ rhs

◆ lhsreal

SCIP_Real SCIP_RowExact::lhsreal

fp relaxation of lhsreal

Definition at line 193 of file struct_lpexact.h.

Referenced by SCIProwExactChgLhs().

◆ rhsreal

SCIP_Real SCIP_RowExact::rhsreal

fp relaxation of rhsreal

Definition at line 194 of file struct_lpexact.h.

Referenced by SCIProwExactChgRhs().

◆ constantreal

SCIP_INTERVAL SCIP_RowExact::constantreal

fp approximation of constant

Definition at line 195 of file struct_lpexact.h.

Referenced by SCIProwExactChgConstant().

◆ flushedlhs

SCIP_RATIONAL* SCIP_RowExact::flushedlhs

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

Definition at line 196 of file struct_lpexact.h.

Referenced by lpExactFlushAddRows(), and lpExactFlushChgRows().

◆ flushedrhs

SCIP_RATIONAL* SCIP_RowExact::flushedrhs

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

Definition at line 197 of file struct_lpexact.h.

Referenced by lpExactFlushAddRows(), and lpExactFlushChgRows().

◆ objprod

SCIP_RATIONAL* SCIP_RowExact::objprod

scalar product of row vector with objective function

Definition at line 198 of file struct_lpexact.h.

◆ dualsol

◆ activity

SCIP_RATIONAL* SCIP_RowExact::activity

row activity value in LP, or SCIP_INVALID if not yet calculated

Definition at line 200 of file struct_lpexact.h.

Referenced by markRowExactDeleted(), rowExactRestoreSolVals(), rowExactStoreSolVals(), SCIPlpExactGetSol(), SCIProwExactGetLPActivity(), and SCIProwExactRecalcLPActivity().

◆ dualfarkas

SCIP_RATIONAL* SCIP_RowExact::dualfarkas

◆ pseudoactivity

SCIP_RATIONAL* SCIP_RowExact::pseudoactivity

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

Definition at line 202 of file struct_lpexact.h.

Referenced by coefChangedExact(), SCIProwExactChgConstant(), SCIProwExactGetPseudoActivity(), and SCIProwExactRecalcPseudoActivity().

◆ vals

◆ valsinterval

◆ cols

◆ storedsolvals

SCIP_ROWEXACTSOLVALS* SCIP_RowExact::storedsolvals

values stored before entering diving or probing mode

Definition at line 206 of file struct_lpexact.h.

Referenced by rowExactRestoreSolVals(), and rowExactStoreSolVals().

◆ cols_index

◆ linkpos

◆ validactivitylp

SCIP_Longint SCIP_RowExact::validactivitylp

LP number for which activity value is valid

Definition at line 209 of file struct_lpexact.h.

Referenced by markRowExactDeleted(), markRowexDeleted(), rowExactRestoreSolVals(), SCIPlpExactGetDualfarkas(), SCIPlpExactGetSol(), and SCIProwExactIncCoef().

◆ index

int SCIP_RowExact::index

consecutively numbered row identifier

Definition at line 210 of file struct_lpexact.h.

Referenced by colExactAddCoef(), colExactSearchCoefPart(), and SCIProwExactGetIndex().

◆ size

int SCIP_RowExact::size

size of the col- and val-arrays

Definition at line 211 of file struct_lpexact.h.

Referenced by SCIProwExactEnsureSize().

◆ len

◆ nlpcols

int SCIP_RowExact::nlpcols

◆ nunlinked

int SCIP_RowExact::nunlinked

number of row entries, where the columns don't know about the row

Definition at line 214 of file struct_lpexact.h.

Referenced by colExactAddCoef(), rowExactAddCoef(), rowExactDelCoefPos(), rowExactLink(), rowExactMerge(), rowExactSearchCoef(), and rowExactUnlink().

◆ nuses

int SCIP_RowExact::nuses

number of times, this row is referenced

Definition at line 215 of file struct_lpexact.h.

Referenced by SCIProwExactCapture().

◆ lppos

◆ lpipos

int SCIP_RowExact::lpipos

◆ lpdepth

int SCIP_RowExact::lpdepth

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

Definition at line 218 of file struct_lpexact.h.

Referenced by SCIPlpExactDelRowset(), and SCIPlpExactShrinkRows().

◆ basisstatus

unsigned int SCIP_RowExact::basisstatus

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

Definition at line 219 of file struct_lpexact.h.

Referenced by markRowExactDeleted(), markRowexDeleted(), rowExactRestoreSolVals(), rowExactStoreSolVals(), SCIPlpExactGetDualfarkas(), and SCIPlpExactGetSol().

◆ lpcolssorted

unsigned int SCIP_RowExact::lpcolssorted

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

Definition at line 220 of file struct_lpexact.h.

Referenced by colExactAddCoef(), colExactUpdateAddLP(), rowExactAddCoef(), rowExactDelCoefPos(), rowExactMerge(), rowExactMoveCoef(), rowExactSearchCoef(), rowExactSortLP(), and rowExactSwapCoefs().

◆ nonlpcolssorted

unsigned int SCIP_RowExact::nonlpcolssorted

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

Definition at line 221 of file struct_lpexact.h.

Referenced by colExactUpdateDelLP(), rowExactAddCoef(), rowExactMerge(), rowExactMoveCoef(), rowExactSearchCoef(), rowExactSortNonLP(), and rowExactSwapCoefs().

◆ delaysort

unsigned int SCIP_RowExact::delaysort

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

Definition at line 222 of file struct_lpexact.h.

Referenced by rowExactMerge(), rowExactSearchCoef(), rowExactSortLP(), rowExactSortNonLP(), SCIProwExactChgCoef(), SCIProwExactDelaySort(), SCIProwExactDelCoef(), and SCIProwExactForceSort().

◆ lhschanged

unsigned int SCIP_RowExact::lhschanged

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

Definition at line 223 of file struct_lpexact.h.

Referenced by lpExactFlushAddRows(), lpExactFlushChgRows(), and rowExactSideChanged().

◆ rhschanged

unsigned int SCIP_RowExact::rhschanged

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

Definition at line 224 of file struct_lpexact.h.

Referenced by lpExactFlushAddRows(), lpExactFlushChgRows(), and rowExactSideChanged().

◆ coefchanged

unsigned int SCIP_RowExact::coefchanged

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

Definition at line 225 of file struct_lpexact.h.

Referenced by coefChangedExact(), lpExactFlushAddRows(), and lpExactFlushDelRows().

◆ integral

unsigned int SCIP_RowExact::integral

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

Definition at line 226 of file struct_lpexact.h.

Referenced by rowExactAddCoef(), rowExactChgCoefPos(), and rowExactMerge().

◆ nlocks

unsigned int SCIP_RowExact::nlocks

number of sealed locks of an unmodifiable row

Definition at line 227 of file struct_lpexact.h.

Referenced by rowExactAddCoef(), rowExactChgCoefPos(), rowExactDelCoefPos(), SCIProwExactCapture(), SCIProwExactLock(), and SCIProwExactUnlock().

◆ modifiable

unsigned int SCIP_RowExact::modifiable

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

Definition at line 228 of file struct_lpexact.h.

Referenced by SCIProwExactLock(), and SCIProwExactUnlock().

◆ removable

unsigned int SCIP_RowExact::removable

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

Definition at line 229 of file struct_lpexact.h.

Referenced by SCIPlpExactDelRowset(), and SCIProwExactCreateFromRow().

◆ fprelaxable

unsigned int SCIP_RowExact::fprelaxable

is it possible to make a fp-approximation of this row (only false if vars with both bounds inf present)

Definition at line 230 of file struct_lpexact.h.

Referenced by SCIProwExactGenerateFpRows(), and SCIProwExactHasFpRelax().