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_ROW * | fprow |
| SCIP_ROW * | fprowrhs |
| SCIP_RATIONAL * | constant |
| SCIP_RATIONAL * | lhs |
| SCIP_RATIONAL * | rhs |
| SCIP_Real | lhsreal |
| SCIP_Real | rhsreal |
| SCIP_INTERVAL | constantreal |
| SCIP_RATIONAL * | flushedlhs |
| SCIP_RATIONAL * | flushedrhs |
| SCIP_RATIONAL * | objprod |
| SCIP_RATIONAL * | dualsol |
| SCIP_RATIONAL * | activity |
| SCIP_RATIONAL * | dualfarkas |
| SCIP_RATIONAL * | pseudoactivity |
| SCIP_RATIONAL ** | vals |
| SCIP_INTERVAL * | valsinterval |
| SCIP_COLEXACT ** | cols |
| SCIP_ROWEXACTSOLVALS * | storedsolvals |
| 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
| SCIP_ROW* SCIP_RowExact::fprow |
pointer to the corresponding row in the fp lp
Definition at line 188 of file struct_lpexact.h.
Referenced by certificatePrintRow(), colExactAddCoef(), colExactChgCoefPos(), lpExactFlushAddRows(), rowExactAddCoef(), rowExactChgCoefPos(), rowExactCreateFromRowLimitEncodingLength(), rowExactDelCoefPos(), rowExactInSync(), rowExactLink(), rowExactMerge(), SCIPaddVarsToRowExact(), SCIPcolExactDelCoef(), SCIPcolExactPrint(), SCIPlpExactAddCol(), SCIPlpExactAddRow(), SCIPlpExactLink(), SCIPlpExactOverwriteFpDualSol(), SCIPlpExactSyncLPs(), SCIProwExactAddCoef(), SCIProwExactAddConstant(), SCIProwExactCapture(), SCIProwExactChgConstant(), SCIProwExactDelCoef(), SCIProwExactEnsureSize(), SCIProwExactGetLPActivity(), SCIProwExactGetPseudoActivity(), SCIProwExactGetRow(), SCIProwExactGetSolActivityWithErrorbound(), SCIProwExactIsModifiable(), SCIProwExactPrint(), SCIProwExactRecalcLPActivity(), SCIProwExactRecalcPseudoActivity(), SCIProwFree(), SCIPsepastoreExactAddCut(), and SCIPvarAddToRowExact().
◆ 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
| SCIP_RATIONAL* SCIP_RowExact::constant |
constant shift c in row lhs <= ax + c <= rhs
Definition at line 190 of file struct_lpexact.h.
Referenced by lpExactFlushAddRows(), lpExactFlushChgRows(), rowExactInSync(), SCIPlpExactAddRow(), SCIPlpExactGetSol(), SCIProwExactAddConstant(), SCIProwExactChgConstant(), SCIProwExactGenerateFpRows(), SCIProwExactGetConstant(), SCIProwExactGetSolActivity(), SCIProwExactPrint(), SCIProwExactRecalcLPActivity(), and SCIProwExactRecalcPseudoActivity().
◆ lhs
| SCIP_RATIONAL* SCIP_RowExact::lhs |
left hand side of row
Definition at line 191 of file struct_lpexact.h.
Referenced by lpExactFlushAddRows(), lpExactFlushChgRows(), rowExactInSync(), SCIPcertificateGetRowIndex(), SCIPlpExactAddRow(), SCIPlpExactGetSol(), SCIProwExactAddConstant(), SCIProwExactChgConstant(), SCIProwExactChgLhs(), SCIProwExactGenerateFpRows(), SCIProwExactGetLhs(), SCIProwExactGetLPFeasibility(), SCIProwExactGetPseudoFeasibility(), SCIProwExactGetSolActivity(), SCIProwExactGetSolFeasibility(), and SCIProwExactPrint().
◆ rhs
| SCIP_RATIONAL* SCIP_RowExact::rhs |
right hand side of row
Definition at line 192 of file struct_lpexact.h.
Referenced by lpExactFlushAddRows(), lpExactFlushChgRows(), rowExactCreateFromRowLimitEncodingLength(), rowExactInSync(), SCIPcertificateGetRowIndex(), SCIPlpExactAddRow(), SCIPlpExactGetSol(), SCIProwExactAddConstant(), SCIProwExactChgConstant(), SCIProwExactChgRhs(), SCIProwExactGenerateFpRows(), SCIProwExactGetLPFeasibility(), SCIProwExactGetPseudoFeasibility(), SCIProwExactGetRhs(), SCIProwExactGetSolActivity(), SCIProwExactGetSolFeasibility(), and SCIProwExactPrint().
◆ 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
| SCIP_RATIONAL* SCIP_RowExact::dualsol |
dual solution value in LP, is 0 if row is not in LP
Definition at line 199 of file struct_lpexact.h.
Referenced by markRowExactDeleted(), rowExactRestoreSolVals(), rowExactStoreSolVals(), SCIPcertificatePrintDualboundExactLP(), SCIPcolExactCalcFarkasRedcostCoef(), SCIPlpExactGetSol(), and SCIPlpExactOverwriteFpDualSol().
◆ 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 |
multiplier value in dual Farkas infeasibility proof
Definition at line 201 of file struct_lpexact.h.
Referenced by markRowExactDeleted(), rowExactRestoreSolVals(), rowExactStoreSolVals(), SCIPcertificatePrintDualboundExactLP(), SCIPcolExactCalcFarkasRedcostCoef(), and SCIPlpExactOverwriteFpDualSol().
◆ 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
| SCIP_RATIONAL** SCIP_RowExact::vals |
coefficients of row entries
Definition at line 203 of file struct_lpexact.h.
Referenced by lpExactFlushAddRows(), rowExactAddCoef(), rowExactChgCoefPos(), rowExactCreateFromRowLimitEncodingLength(), rowExactDelCoefPos(), rowExactLink(), rowExactMerge(), rowExactMoveCoef(), rowExactSortLP(), rowExactSortNonLP(), rowExactSwapCoefs(), SCIPcolExactChgCoef(), SCIPcolExactDelCoef(), SCIPcolExactIncCoef(), SCIPlpExactAddRow(), SCIProwExactChgCoef(), SCIProwExactDelCoef(), SCIProwExactEnsureSize(), SCIProwExactGetSolActivity(), SCIProwExactGetVals(), SCIProwExactIncCoef(), SCIProwExactPrint(), SCIProwExactRecalcLPActivity(), and SCIProwExactRecalcPseudoActivity().
◆ valsinterval
| SCIP_INTERVAL* SCIP_RowExact::valsinterval |
interval-array of coefficients rounded up and down, respectively
Definition at line 204 of file struct_lpexact.h.
Referenced by rowExactAddCoef(), rowExactChgCoefPos(), rowExactCreateFromRowLimitEncodingLength(), rowExactMerge(), rowExactMoveCoef(), rowExactSortLP(), rowExactSortNonLP(), rowExactSwapCoefs(), SCIProwExactEnsureSize(), SCIProwExactGenerateFpRows(), and varVecAddScaledRowCoefsSafely().
◆ cols
| SCIP_COLEXACT** SCIP_RowExact::cols |
columns of row entries, that may have a nonzero primal solution value
Definition at line 205 of file struct_lpexact.h.
Referenced by certificatePrintRow(), colExactAddCoef(), colExactChgCoefPos(), colExactDelCoefPos(), colExactLink(), colExactMoveCoef(), colExactSortLP(), colExactSortNonLP(), colExactSwapCoefs(), colExactUpdateAddLP(), colExactUpdateDelLP(), lpExactFlushAddRows(), rowExactAddCoef(), rowExactChgCoefPos(), rowExactCreateFromRowLimitEncodingLength(), rowExactDelCoefPos(), rowExactLink(), rowExactMerge(), rowExactMoveCoef(), rowExactSearchCoef(), rowExactSearchCoefPart(), rowExactSortLP(), rowExactSortNonLP(), rowExactSwapCoefs(), rowExactUpdateAddLP(), rowExactUpdateDelLP(), SCIPcertifyActivityConflict(), SCIPcolExactChgCoef(), SCIPcolExactDelCoef(), SCIPcolExactIncCoef(), SCIPlpExactAddRow(), SCIPlpExactGetDualfarkas(), SCIPlpExactShrinkRows(), SCIProwExactChgCoef(), SCIProwExactDelCoef(), SCIProwExactEnsureSize(), SCIProwExactGenerateFpRows(), SCIProwExactGetCols(), SCIProwExactGetSolActivity(), SCIProwExactIncCoef(), SCIProwExactPrint(), SCIProwExactRecalcLPActivity(), and SCIProwExactRecalcPseudoActivity().
◆ 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
| int* SCIP_RowExact::cols_index |
copy of cols[i]->index for avoiding expensive dereferencing
Definition at line 207 of file struct_lpexact.h.
Referenced by rowExactAddCoef(), rowExactMerge(), rowExactMoveCoef(), rowExactSearchCoefPart(), rowExactSortLP(), rowExactSortNonLP(), rowExactSwapCoefs(), SCIPcolExactChgCoef(), SCIPcolExactDelCoef(), SCIPcolExactIncCoef(), SCIProwExactChgCoef(), SCIProwExactDelCoef(), SCIProwExactEnsureSize(), and SCIProwExactIncCoef().
◆ linkpos
| int* SCIP_RowExact::linkpos |
position of row in row vector of the column, or -1 if not yet linked
Definition at line 208 of file struct_lpexact.h.
Referenced by colExactAddCoef(), colExactLink(), colExactMoveCoef(), colExactSortLP(), colExactSortNonLP(), colExactSwapCoefs(), colExactUpdateAddLP(), colExactUpdateDelLP(), rowExactAddCoef(), rowExactDelCoefPos(), rowExactLink(), rowExactMerge(), rowExactMoveCoef(), rowExactSearchCoefPart(), rowExactSortLP(), rowExactSortNonLP(), rowExactSwapCoefs(), rowExactUpdateAddLP(), rowExactUpdateDelLP(), SCIProwExactChgCoef(), SCIProwExactDelCoef(), SCIProwExactEnsureSize(), SCIProwExactGetSolActivity(), and SCIProwExactIncCoef().
◆ 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
| int SCIP_RowExact::len |
number of nonzeros in row
Definition at line 212 of file struct_lpexact.h.
Referenced by lpExactFlushAddRows(), rowExactAddCoef(), rowExactCreateFromRowLimitEncodingLength(), rowExactDelCoefPos(), rowExactInSync(), rowExactMerge(), rowExactSearchCoef(), rowExactSortNonLP(), rowExactUnlink(), rowExactUpdateAddLP(), rowExactUpdateDelLP(), SCIPlpExactAddRow(), SCIPlpExactGetDualfarkas(), SCIPlpExactShrinkRows(), SCIProwExactEnsureSize(), SCIProwExactGenerateFpRows(), SCIProwExactGetNNonz(), SCIProwExactGetSolActivity(), SCIProwExactGetSolActivityWithErrorbound(), and SCIProwExactPrint().
◆ nlpcols
| int SCIP_RowExact::nlpcols |
number of linked columns in row, that belong to the current LP
Definition at line 213 of file struct_lpexact.h.
Referenced by colExactAddCoef(), colExactUpdateAddLP(), colExactUpdateDelLP(), lpExactFlushAddRows(), rowExactAddCoef(), rowExactDelCoefPos(), rowExactLink(), rowExactMerge(), rowExactSearchCoef(), rowExactSortLP(), and rowExactSortNonLP().
◆ 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
| int SCIP_RowExact::lppos |
row position number in current LP, or -1 if not in current LP
Definition at line 216 of file struct_lpexact.h.
Referenced by colExactAddCoef(), colExactDelCoefPos(), colExactMoveCoef(), colExactSearchCoef(), colExactSearchCoefPart(), colExactSwapCoefs(), lpExactFlushAddRows(), rowExactAddCoef(), rowExactInSync(), rowExactUpdateAddLP(), rowExactUpdateDelLP(), SCIPchgRowExactLhs(), SCIPchgRowExactRhs(), SCIPcolExactCalcFarkasRedcostCoef(), SCIPlpExactAddRow(), SCIPlpExactDelRowset(), SCIPlpExactLink(), SCIPlpExactShrinkRows(), SCIProwExactChgCoef(), SCIProwExactDelCoef(), SCIProwExactIncCoef(), and SCIProwExactIsInLP().
◆ lpipos
| int SCIP_RowExact::lpipos |
row position number in LP solver, or -1 if not in LP solver
Definition at line 217 of file struct_lpexact.h.
Referenced by coefChangedExact(), lpExactFlushAddCols(), lpExactFlushAddRows(), lpExactFlushChgRows(), lpExactFlushDelRows(), markRowExactDeleted(), markRowexDeleted(), rowExactSideChanged(), and SCIPlpExactDelRowset().
◆ 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().