All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Detailed DescriptionLP management methods and data structures. In LP management, we have to differ between the current LP and the SCIP_LP stored in the LP solver. All LP methods affect the current LP only. Before solving the current LP with the LP solver or setting an LP state, the LP solvers data has to be updated to the current LP with a call to lpFlush(). Definition in file lp.c. #include <assert.h> #include <math.h> #include <limits.h> #include <string.h> #include "scip/def.h" #include "scip/set.h" #include "scip/stat.h" #include "scip/intervalarith.h" #include "scip/clock.h" #include "scip/misc.h" #include "scip/lp.h" #include "scip/var.h" #include "scip/prob.h" #include "scip/sol.h" #include "scip/event.h" #include "scip/pub_message.h" #include "lpi/lpi.h" Go to the source code of this file.
Macro Definition Documentation
maximal scaling (scale/(1-f0)) allowed in c-MIR calculations Definition at line 53 of file lp.c. Referenced by SCIPlpCalcMIR().
Definition at line 105 of file lp.c. Referenced by lpFlushAddRows(), rowScale(), sumMIRRow(), and sumStrongCGRow().
Definition at line 137 of file lp.c. Referenced by lpFlushAddCols().
Definition at line 645 of file lp.c. Referenced by rowSortNonLP().
Definition at line 718 of file lp.c. Referenced by SCIProwGetNorm(), and SCIProwGetObjParallelism().
Definition at line 719 of file lp.c. Referenced by SCIProwGetSumNorm().
Definition at line 720 of file lp.c. Referenced by SCIProwGetObjParallelism().
Definition at line 1574 of file lp.c. Referenced by colLink(), colUnlink(), lpDelColset(), lpDelRowset(), lpSolve(), rowLink(), SCIPcolAddCoef(), SCIPcolChgCoef(), SCIPcolDelCoef(), SCIPcolIncCoef(), SCIPlpAddCol(), SCIPlpAddRow(), SCIPlpFlush(), SCIPlpMarkFlushed(), SCIPlpShrinkCols(), SCIPlpShrinkRows(), SCIProwAddCoef(), SCIProwChgCoef(), SCIProwDelCoef(), and SCIProwIncCoef().
should the objective limit of the LP solver be disabled Definition at line 2592 of file lp.c. Referenced by lpSetUobjlim(), lpSolve(), SCIPlpSetCutoffbound(), and SCIPlpSolveAndEval().
Definition at line 8544 of file lp.c. Referenced by SCIPlpCreate().
Definition at line 13421 of file lp.c. Referenced by lpSolveStable().
Definition at line 17603 of file lp.c. Referenced by SCIPlpRecordOldRowSideDive(). Function Documentation
ensures, that chgcols array can store at least num entries
Definition at line 146 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::chgcols, SCIP_Lp::chgcolssize, SCIP_Lp::nchgcols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by insertColChgcols().
ensures, that chgrows array can store at least num entries
Definition at line 169 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::chgrows, SCIP_Lp::chgrowssize, SCIP_Lp::nchgrows, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by rowSideChanged().
ensures, that lpicols array can store at least num entries
Definition at line 192 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::lpicols, SCIP_Lp::lpicolssize, SCIP_Lp::nlpicols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by lpFlushAddCols().
ensures, that lpirows array can store at least num entries
Definition at line 215 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::lpirows, SCIP_Lp::lpirowssize, SCIP_Lp::nlpirows, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by lpFlushAddRows().
ensures, that cols array can store at least num entries
Definition at line 238 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::cols, SCIP_Lp::colssize, SCIP_Lp::ncols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by SCIPlpAddCol().
ensures, that lazy cols array can store at least num entries
Definition at line 261 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::lazycols, SCIP_Lp::lazycolssize, SCIP_Lp::nlazycols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by SCIPlpAddCol().
ensures, that rows array can store at least num entries
Definition at line 284 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::nrows, SCIP_Lp::rows, SCIP_Lp::rowssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize(). Referenced by SCIPlpAddRow().
ensures, that row array of column can store at least num entries
Definition at line 307 of file lp.c. References BMSreallocBlockMemoryArray, SCIP_Col::len, SCIP_Col::linkpos, NULL, SCIP_Col::rows, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Col::size, and SCIP_Col::vals. Referenced by colAddCoef().
save current LP values dependent on the solution
Definition at line 334 of file lp.c. References BMSallocMemory, SCIP_LpSolVals::dualfeasible, SCIP_Lp::dualfeasible, SCIP_LpSolVals::lpissolved, SCIP_LpSolVals::lpobjval, SCIP_Lp::lpobjval, SCIP_LpSolVals::lpsolstat, SCIP_Lp::lpsolstat, NULL, SCIP_LpSolVals::primalfeasible, SCIP_Lp::primalfeasible, SCIP_ALLOC, SCIP_OKAY, SCIP_LpSolVals::solisbasic, SCIP_Lp::solisbasic, SCIP_Lp::solved, and SCIP_Lp::storedsolvals. Referenced by SCIPlpStartDive().
restore LP solution values in column
Definition at line 366 of file lp.c. References SCIP_LpSolVals::dualfeasible, SCIP_Lp::dualfeasible, FALSE, SCIP_LpSolVals::lpissolved, SCIP_LpSolVals::lpobjval, SCIP_Lp::lpobjval, SCIP_LpSolVals::lpsolstat, SCIP_Lp::lpsolstat, NULL, SCIP_LpSolVals::primalfeasible, SCIP_Lp::primalfeasible, SCIP_INVALID, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_TIMELIMIT, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_LpSolVals::solisbasic, SCIP_Lp::solisbasic, SCIP_Lp::solved, SCIP_Lp::storedsolvals, SCIP_Lp::validfarkaslp, and SCIP_Lp::validsollp. Referenced by SCIPlpEndDive().
save current LP solution values stored in each column
Definition at line 420 of file lp.c. References SCIP_ColSolVals::basisstatus, SCIP_Col::basisstatus, BMSallocBlockMemory, NULL, SCIP_ColSolVals::primsol, SCIP_Col::primsol, SCIP_ColSolVals::redcost, SCIP_Col::redcost, SCIP_ALLOC, SCIP_OKAY, and SCIP_Col::storedsolvals. Referenced by SCIPlpStartDive().
restore LP solution values in column
Definition at line 447 of file lp.c. References SCIP_ColSolVals::basisstatus, SCIP_Col::basisstatus, BMSfreeBlockMemoryNull, NULL, SCIP_ColSolVals::primsol, SCIP_Col::primsol, SCIP_ColSolVals::redcost, SCIP_Col::redcost, SCIP_BASESTAT_ZERO, SCIP_OKAY, SCIP_Col::storedsolvals, SCIP_Col::validfarkaslp, and SCIP_Col::validredcostlp. Referenced by SCIPlpEndDive().
save current LP solution values stored in each column
Definition at line 494 of file lp.c. References SCIP_RowSolVals::activity, SCIP_Row::activity, SCIP_RowSolVals::basisstatus, SCIP_Row::basisstatus, BMSallocBlockMemory, SCIP_Row::dualfarkas, SCIP_RowSolVals::dualsol, SCIP_Row::dualsol, NULL, SCIP_ALLOC, SCIP_BASESTAT_BASIC, SCIP_INVALID, SCIP_OKAY, and SCIP_Row::storedsolvals. Referenced by SCIPlpStartDive().
restore LP solution values in row
Definition at line 531 of file lp.c. References SCIP_RowSolVals::activity, SCIP_Row::activity, SCIP_RowSolVals::basisstatus, SCIP_Row::basisstatus, BMSfreeBlockMemoryNull, SCIP_Row::dualfarkas, SCIP_RowSolVals::dualsol, SCIP_Row::dualsol, NULL, SCIP_BASESTAT_BASIC, SCIP_INVALID, SCIP_OKAY, SCIP_Row::storedsolvals, and SCIP_Row::validactivitylp. Referenced by SCIPlpEndDive().
ensures, that column array of row can store at least num entries
Definition at line 579 of file lp.c. References BMSreallocBlockMemoryArray, SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::len, SCIP_Row::linkpos, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPsetCalcMemGrowSize(), SCIP_Row::size, and SCIP_Row::vals. Referenced by rowAddCoef(), SCIPaddVarsToRow(), and SCIPaddVarsToRowSameCoef().
Definition at line 729 of file lp.c. References SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalid, NULL, SCIP_Prob::nvars, SCIP_Lp::rellooseobjval, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), TRUE, and SCIP_Prob::vars. Referenced by getFiniteLooseObjval(), and SCIPlpGetObjval().
Definition at line 771 of file lp.c. References NULL, SCIP_Prob::nvars, SCIP_Lp::pseudoobjval, SCIP_Lp::pseudoobjvalid, SCIP_Lp::relpseudoobjval, SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetUbLocal(), TRUE, and SCIP_Prob::vars. Referenced by getFinitePseudoObjval(), and SCIPlpGetPseudoObjval().
Definition at line 813 of file lp.c. References SCIP_Lp::glbpseudoobjval, SCIP_Lp::glbpseudoobjvalid, NULL, SCIP_Prob::nvars, SCIP_Lp::relglbpseudoobjval, SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarGetLbGlobal(), SCIPvarGetObj(), SCIPvarGetUbGlobal(), TRUE, and SCIP_Prob::vars. Referenced by SCIPlpGetGlobalPseudoObjval(). gets finite part of objective value of current LP that results from LOOSE variables only
Definition at line 855 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalid, SCIP_Lp::looseobjvalinf, SCIP_Lp::nloosevars, NULL, and recomputeLooseObjectiveValue(). Referenced by lpSolve(), lpSolveStable(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPlpComputeRelIntPoint(), SCIPlpGetLooseObjval(), and SCIPlpSolveAndEval(). gets finite part of pseudo objective value of current LP
Definition at line 877 of file lp.c. References NULL, SCIP_Lp::pseudoobjval, SCIP_Lp::pseudoobjvalid, and recomputePseudoObjectiveValue(). Referenced by SCIPlpGetModifiedPseudoObjval().
sorts column entries of linked rows currently in the LP such that lower row indices precede higher ones
Definition at line 919 of file lp.c. References SCIP_Row::cols, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Col::lprowssorted, SCIP_Col::nlprows, NULL, SCIP_Col::rows, SCIPsortPtrRealInt(), TRUE, and SCIP_Col::vals. Referenced by colSearchCoef(), and SCIPcolSort().
sorts column entries of unlinked rows or rows currently not in the LP such that lower row indices precede higher ones
Definition at line 952 of file lp.c. References SCIP_Row::cols, SCIP_Col::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Col::nlprows, SCIP_Col::nonlprowssorted, NULL, SCIP_Col::rows, SCIPsortPtrRealInt(), TRUE, and SCIP_Col::vals. Referenced by colSearchCoef(), and SCIPcolSort().
sorts row entries of linked columns currently in the LP such that lower column indices precede higher ones
Definition at line 983 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::delaysort, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Row::nlpcols, NULL, SCIP_Col::rows, SCIPsortIntPtrIntReal(), TRUE, and SCIP_Row::vals. Referenced by rowSearchCoef(), SCIPlpComputeRelIntPoint(), and SCIProwSort().
sorts row entries of unlinked columns or columns currently not in the LP such that lower column indices precede higher ones
Definition at line 1016 of file lp.c. References checkRow, SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::delaysort, SCIP_Row::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::nlpcols, SCIP_Row::nonlpcolssorted, NULL, SCIP_Col::rows, SCIPsortIntPtrIntReal(), TRUE, and SCIP_Row::vals. Referenced by rowSearchCoef(), and SCIProwSort().
searches coefficient in part of the column, returns position in col vector or -1 if not found
Definition at line 1051 of file lp.c. References SCIP_Row::index, SCIP_Col::linkpos, SCIP_Row::lppos, NULL, and SCIP_Col::rows. Referenced by colSearchCoef(). searches coefficient in column, returns position in col vector or -1 if not found
Definition at line 1087 of file lp.c. References colSearchCoefPart(), colSortLP(), colSortNonLP(), SCIP_Col::len, SCIP_Row::lppos, SCIP_Col::lprowssorted, SCIP_Col::nlprows, SCIP_Col::nonlprowssorted, NULL, and SCIP_Col::nunlinked. Referenced by SCIPcolChgCoef(), SCIPcolDelCoef(), and SCIPcolIncCoef().
searches coefficient in part of the row, returns position in col vector or -1 if not found
Definition at line 1126 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Col::index, SCIP_Row::linkpos, SCIP_Col::lppos, and NULL. Referenced by rowSearchCoef(). searches coefficient in row, returns position in row vector or -1 if not found; if the sorting of the row is delayed, returns -1
Definition at line 1165 of file lp.c. References SCIP_Row::cols, SCIP_Row::delaysort, SCIP_Row::len, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::nlpcols, SCIP_Row::nonlpcolssorted, NULL, SCIP_Row::nunlinked, rowSearchCoefPart(), rowSortLP(), and rowSortNonLP(). Referenced by SCIProwChgCoef(), SCIProwDelCoef(), and SCIProwIncCoef().
moves a coefficient in a column to a different place, and updates all corresponding data structures
Definition at line 1218 of file lp.c. References SCIP_Row::cols, FALSE, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lppos, SCIP_Col::lprowssorted, SCIP_Col::nonlprowssorted, NULL, SCIP_Col::rows, and SCIP_Col::vals. Referenced by colAddCoef(), and colDelCoefPos().
swaps two coefficients in a column, and updates all corresponding data structures
Definition at line 1254 of file lp.c. References SCIP_Row::cols, FALSE, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lppos, SCIP_Col::lprowssorted, SCIP_Col::nonlprowssorted, NULL, SCIP_Col::rows, SCIP_Real, and SCIP_Col::vals. Referenced by rowAddCoef(), rowUpdateAddLP(), and rowUpdateDelLP().
moves a coefficient in a row to a different place, and updates all corresponding data structures
Definition at line 1314 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, FALSE, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::nonlpcolssorted, NULL, SCIP_Col::rows, and SCIP_Row::vals. Referenced by rowAddCoef(), and rowDelCoefPos().
swaps two coefficients in a row, and updates all corresponding data structures
Definition at line 1351 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, FALSE, SCIP_Col::index, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::nonlpcolssorted, NULL, SCIP_Col::rows, SCIP_Real, and SCIP_Row::vals. Referenced by colAddCoef(), colUpdateAddLP(), and colUpdateDelLP().
issues a ROWCOEFCHANGED event on the given row
Definition at line 1416 of file lp.c. References SCIP_Row::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, NULL, SCIP_CALL, SCIP_EVENTTYPE_ROWCOEFCHANGED, SCIP_OKAY, SCIPeventCreateRowCoefChanged(), and SCIPeventqueueAdd(). Referenced by rowAddCoef(), rowChgCoefPos(), and rowDelCoefPos().
issues a ROWCONSTCHANGED event on the given row
Definition at line 1446 of file lp.c. References SCIP_Row::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, NULL, SCIP_CALL, SCIP_EVENTTYPE_ROWCONSTCHANGED, SCIP_OKAY, SCIPeventCreateRowConstChanged(), and SCIPeventqueueAdd(). Referenced by SCIProwChgConstant().
issues a ROWSIDECHANGED event on the given row
Definition at line 1474 of file lp.c. References SCIP_Row::eventfilter, SCIP_EventFilter::eventmask, SCIP_EventFilter::len, NULL, SCIP_CALL, SCIP_EVENTTYPE_ROWSIDECHANGED, SCIP_OKAY, SCIPeventCreateRowSideChanged(), and SCIPeventqueueAdd(). Referenced by SCIProwChgLhs(), and SCIProwChgRhs(). announces, that the given coefficient in the constraint matrix changed
Definition at line 1583 of file lp.c. References SCIP_Col::coefchanged, SCIP_Row::coefchanged, FALSE, SCIP_Lp::flushed, SCIP_Lp::lpifirstchgcol, SCIP_Lp::lpifirstchgrow, SCIP_Col::lpipos, SCIP_Row::lpipos, SCIP_Row::maxactivity, SCIP_Row::minactivity, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, NULL, SCIP_Row::pseudoactivity, SCIP_INVALID, TRUE, SCIP_Row::validactivitybdsdomchg, and SCIP_Row::validpsactivitydomchg. Referenced by colAddCoef(), colChgCoefPos(), colDelCoefPos(), rowAddCoef(), rowChgCoefPos(), and rowDelCoefPos().
adds a previously non existing coefficient to an LP row
Definition at line 1985 of file lp.c. References coefChanged(), colAddCoef(), SCIP_Row::cols, SCIP_Row::cols_index, colSwapCoefs(), FALSE, SCIP_Col::index, SCIP_Row::integral, SCIP_Row::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::lppos, SCIP_Col::lprowssorted, SCIP_Row::name, SCIP_Row::nlocks, SCIP_Row::nlpcols, SCIP_Col::nlprows, SCIP_Row::nonlpcolssorted, NULL, SCIP_Col::nunlinked, SCIP_Row::nunlinked, rowAddNorms(), rowEventCoefChanged(), rowMoveCoef(), SCIP_Col::rows, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPcolIsIntegral(), SCIPdebugMessage, SCIPerrorMessage, SCIProwEnsureSize(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), SCIPvarGetName(), SCIPvarGetProbindex(), TRUE, SCIP_Row::vals, SCIP_Col::var, and SCIP_Col::var_probindex. Referenced by colAddCoef(), colLink(), SCIProwAddCoef(), SCIProwChgCoef(), and SCIProwIncCoef().
adds a previously non existing coefficient to an LP column
Definition at line 1648 of file lp.c. References coefChanged(), colEnsureSize(), colMoveCoef(), SCIP_Row::cols, FALSE, SCIP_Row::index, SCIP_Col::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::lppos, SCIP_Col::lprowssorted, SCIP_Row::name, SCIP_Row::nlpcols, SCIP_Col::nlprows, SCIP_Col::nonlprowssorted, NULL, SCIP_Col::nunlinked, SCIP_Row::nunlinked, rowAddCoef(), SCIP_Col::rows, rowSwapCoefs(), SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), SCIPvarGetName(), SCIP_Col::vals, and SCIP_Col::var. Referenced by rowAddCoef(), rowLink(), SCIPcolAddCoef(), SCIPcolChgCoef(), and SCIPcolIncCoef().
deletes coefficient at given position from column
Definition at line 1769 of file lp.c. References coefChanged(), colMoveCoef(), SCIP_Row::cols, SCIP_Col::len, SCIP_Col::linkpos, SCIP_Row::lppos, SCIP_Col::nlprows, NULL, SCIP_Col::nunlinked, SCIP_Col::rows, SCIP_OKAY, and SCIP_Col::var. Referenced by colChgCoefPos(), rowUnlink(), SCIPcolDelCoef(), and SCIProwDelCoef().
changes a coefficient at given position of an LP column
Definition at line 1814 of file lp.c. References coefChanged(), colDelCoefPos(), SCIP_Row::cols, SCIP_Col::linkpos, NULL, SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, SCIPsetIsEQ(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), SCIP_Col::vals, and SCIP_Col::var. Referenced by rowScale(), SCIPcolChgCoef(), SCIPcolIncCoef(), SCIProwChgCoef(), and SCIProwIncCoef().
update row norms after addition of coefficient
Definition at line 1858 of file lp.c. References SCIP_Col::index, SCIP_Col::lppos, MAX, SCIP_Row::maxidx, SCIP_Row::maxval, MIN, SCIP_Row::minidx, SCIP_Row::minval, NULL, SCIP_Row::nummaxval, SCIP_Row::numminval, SCIP_Col::obj, SCIP_Row::objprod, REALABS, SCIP_Real, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsZero(), SCIP_Row::sqrnorm, and SCIP_Row::sumnorm. Referenced by colUpdateAddLP(), rowAddCoef(), rowCalcNorms(), and rowChgCoefPos().
update row norms after deletion of coefficient
Definition at line 1927 of file lp.c. References FALSE, SCIP_Col::index, SCIP_Col::lppos, MAX, SCIP_Row::maxidx, SCIP_Row::maxval, SCIP_Row::minidx, SCIP_Row::minval, NULL, SCIP_Row::nummaxval, SCIP_Row::numminval, SCIP_Col::obj, SCIP_Row::objprod, REALABS, SCIP_Real, SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsZero(), SCIP_Row::sqrnorm, SCIP_Row::sumnorm, and SCIP_Row::validminmaxidx. Referenced by colUpdateDelLP(), rowChgCoefPos(), and rowDelCoefPos().
deletes coefficient at given position from row
Definition at line 2126 of file lp.c. References coefChanged(), SCIP_Row::cols, FALSE, SCIP_Row::len, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::name, SCIP_Row::nlocks, SCIP_Row::nlpcols, NULL, SCIP_Row::nunlinked, rowDelNorms(), rowEventCoefChanged(), rowMoveCoef(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPerrorMessage, TRUE, and SCIP_Row::vals. Referenced by colUnlink(), rowChgCoefPos(), SCIPcolDelCoef(), and SCIProwDelCoef().
changes a coefficient at given position of an LP row
Definition at line 2186 of file lp.c. References coefChanged(), SCIP_Row::cols, FALSE, SCIP_Row::integral, SCIP_Row::name, SCIP_Row::nlocks, NULL, rowAddNorms(), rowDelCoefPos(), rowDelNorms(), rowEventCoefChanged(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_Real, SCIPcolIsIntegral(), SCIPerrorMessage, SCIPsetIsEQ(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), TRUE, and SCIP_Row::vals. Referenced by rowScale(), SCIPcolChgCoef(), SCIPcolIncCoef(), SCIProwChgCoef(), and SCIProwIncCoef().
notifies LP row, that its sides were changed
Definition at line 2242 of file lp.c. References SCIP_Lp::chgrows, ensureChgrowsSize(), FALSE, SCIP_Lp::flushed, SCIP_Row::lhschanged, SCIP_Row::lpipos, SCIP_Lp::nchgrows, NULL, SCIP_Row::rhschanged, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPABORT, SCIPerrorMessage, and TRUE. Referenced by SCIProwChgConstant(), SCIProwChgLhs(), and SCIProwChgRhs().
insert column coefficients in corresponding rows
Definition at line 2295 of file lp.c. References checkLinks, SCIP_Row::cols, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Col::nlprows, NULL, SCIP_Col::nunlinked, rowAddCoef(), SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPsetIsZero(), SCIPvarGetName(), SCIP_Col::vals, and SCIP_Col::var. Referenced by lpFlushAddCols().
removes column coefficients from corresponding rows
Definition at line 2339 of file lp.c. References checkLinks, SCIP_Row::cols, SCIP_Col::len, SCIP_Col::linkpos, NULL, SCIP_Col::nunlinked, rowDelCoefPos(), SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPvarGetName(), and SCIP_Col::var. Referenced by SCIPcolFree().
insert row coefficients in corresponding columns
Definition at line 2378 of file lp.c. References checkLinks, colAddCoef(), SCIP_Row::cols, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::name, SCIP_Row::nlpcols, NULL, SCIP_Row::nunlinked, SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPsetIsZero(), and SCIP_Row::vals. Referenced by lpFlushAddRows().
removes row coefficients from corresponding columns
Definition at line 2421 of file lp.c. References colDelCoefPos(), SCIP_Row::cols, SCIP_Row::len, SCIP_Row::linkpos, SCIP_Row::name, NULL, SCIP_Row::nunlinked, SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage. Referenced by SCIProwFree().
sets parameter of type int in LP solver, ignoring unknown parameters
Definition at line 2460 of file lp.c. References FALSE, SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, SCIPlpiSetIntpar(), and TRUE. Referenced by lpSetBoolpar(), lpSetFastmip(), lpSetIterationLimit(), lpSetPricing(), lpSetThreads(), and SCIPlpCreate().
sets parameter of type SCIP_Bool in LP solver, ignoring unknown parameters
Definition at line 2487 of file lp.c. References lpSetIntpar(). Referenced by lpSetFromscratch(), lpSetLPInfo(), lpSetPresolving(), lpSetScaling(), and SCIPlpCreate().
sets parameter of type SCIP_Real in LP solver, ignoring unknown parameters
Definition at line 2499 of file lp.c. References FALSE, SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, SCIPlpiSetRealpar(), and TRUE. Referenced by lpAlgorithm(), lpSetBarrierconvtol(), lpSetConditionLimit(), lpSetDualfeastol(), lpSetFeastol(), lpSetRowrepswitch(), lpSetUobjlim(), and SCIPlpCreate().
checks, that parameter of type int in LP solver has the given value, ignoring unknown parameters
Definition at line 2527 of file lp.c. References SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, and SCIPlpiGetIntpar(). Referenced by lpCheckBoolpar(), lpSetFastmip(), lpSetIterationLimit(), lpSetPricing(), and lpSetThreads().
checks, that parameter of type SCIP_Bool in LP solver has the given value, ignoring unknown parameters
Definition at line 2552 of file lp.c. References lpCheckIntpar(). Referenced by lpSetFromscratch(), lpSetLPInfo(), lpSetPresolving(), and lpSetScaling().
checks, that parameter of type SCIP_Real in LP solver has the given value, ignoring unknown parameters
Definition at line 2563 of file lp.c. References SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, SCIP_Real, and SCIPlpiGetRealpar(). Referenced by lpSetBarrierconvtol(), lpSetConditionLimit(), lpSetDualfeastol(), lpSetFeastol(), lpSetRowrepswitch(), and lpSetUobjlim().
sets the upper objective limit of the LP solver
Definition at line 2596 of file lp.c. References FALSE, lpCheckRealpar(), lpCutoffDisabled, SCIP_Lp::lpi, SCIP_Lp::lpiuobjlim, SCIP_Lp::lpobjval, lpSetRealpar(), SCIP_Lp::lpsolstat, NULL, SCIP_Lp::primalfeasible, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPPAR_UOBJLIM, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPlpiInfinity(), SCIPsetIsInfinity(), and SCIP_Lp::solved. Referenced by lpSolveStable().
sets the feasibility tolerance of the LP solver
Definition at line 2638 of file lp.c. References FALSE, lpCheckRealpar(), SCIP_Lp::lpifeastol, SCIP_Lp::lpobjval, lpSetRealpar(), SCIP_Lp::lpsolstat, SCIP_Lp::nrows, NULL, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_INVALID, SCIP_LPPAR_FEASTOL, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, and SCIP_Lp::solved. Referenced by lpSolveStable().
sets the reduced costs feasibility tolerance of the LP solver
Definition at line 2674 of file lp.c. References SCIP_Lp::dualfeasible, FALSE, lpCheckRealpar(), SCIP_Lp::lpidualfeastol, SCIP_Lp::lpobjval, lpSetRealpar(), SCIP_Lp::lpsolstat, SCIP_Lp::nrows, NULL, SCIP_CALL, SCIP_INVALID, SCIP_LPPAR_DUALFEASTOL, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, and SCIP_Lp::solved. Referenced by lpSolveStable().
sets the convergence tolerance used in barrier algorithm of the LP solver
Definition at line 2710 of file lp.c. References SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::lastlpalgo, lpCheckRealpar(), SCIP_Lp::lpibarrierconvtol, SCIP_Lp::lpobjval, lpSetRealpar(), SCIP_Lp::lpsolstat, SCIP_Lp::nrows, NULL, SCIP_CALL, SCIP_INVALID, SCIP_LPALGO_BARRIER, SCIP_LPALGO_BARRIERCROSSOVER, SCIP_LPPAR_BARRIERCONVTOL, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, and SCIP_Lp::solved. Referenced by lpSolveStable().
sets the FROMSCRATCH setting of the LP solver
Definition at line 2747 of file lp.c. References FALSE, lpCheckBoolpar(), SCIP_Lp::lpifromscratch, lpSetBoolpar(), NULL, SCIP_CALL, SCIP_LPPAR_FROMSCRATCH, and SCIP_OKAY. Referenced by lpSolveStable(), and SCIPlpSolveAndEval().
sets the FASTMIP setting of the LP solver
Definition at line 2772 of file lp.c. References FALSE, lpCheckIntpar(), SCIP_Lp::lpifastmip, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_FASTMIP, and SCIP_OKAY. Referenced by lpSolveStable().
sets the SCALING setting of the LP solver
Definition at line 2798 of file lp.c. References FALSE, lpCheckBoolpar(), SCIP_Lp::lpiscaling, lpSetBoolpar(), NULL, SCIP_CALL, SCIP_LPPAR_SCALING, and SCIP_OKAY. Referenced by lpSolveStable().
sets the number of THREADS of the LP solver
Definition at line 2823 of file lp.c. References FALSE, lpCheckIntpar(), SCIP_Lp::lpithreads, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_THREADS, and SCIP_OKAY. Referenced by lpSolveStable().
sets the PRESOLVING setting of the LP solver
Definition at line 2848 of file lp.c. References FALSE, lpCheckBoolpar(), SCIP_Lp::lpipresolving, lpSetBoolpar(), NULL, SCIP_CALL, SCIP_LPPAR_PRESOLVING, and SCIP_OKAY. Referenced by lpSolveStable().
sets the ROWREPSWITCH setting of the LP solver
Definition at line 2873 of file lp.c. References FALSE, lpCheckRealpar(), SCIP_Lp::lpirowrepswitch, lpSetRealpar(), NULL, SCIP_CALL, SCIP_LPPAR_ROWREPSWITCH, and SCIP_OKAY. Referenced by lpSolveStable().
sets the iteration limit of the LP solver
Definition at line 2898 of file lp.c. References FALSE, lpCheckIntpar(), SCIP_Lp::lpiitlim, SCIP_Lp::lpobjval, lpSetIntpar(), SCIP_Lp::lpsolstat, NULL, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPPAR_LPITLIM, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, and SCIP_Lp::solved. Referenced by lpSolveStable(), and SCIPlpEndDive().
sets the pricing strategy of the LP solver
Definition at line 2934 of file lp.c. References lpCheckIntpar(), SCIP_Lp::lpipricing, lpSetIntpar(), NULL, SCIP_Bool, SCIP_CALL, SCIP_LPPAR_PRICING, and SCIP_OKAY. Referenced by lpSetPricingChar().
sets the pricing strategy of the LP solver (given the character representation of the strategy)
Definition at line 2957 of file lp.c. References lpSetPricing(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_PRICING_AUTO, SCIP_PRICING_DEVEX, SCIP_PRICING_FULL, SCIP_PRICING_LPIDEFAULT, SCIP_PRICING_PARTIAL, SCIP_PRICING_STEEP, SCIP_PRICING_STEEPQSTART, and SCIPerrorMessage. Referenced by lpSolveStable().
sets the verbosity of the LP solver
Definition at line 2999 of file lp.c. References lpCheckBoolpar(), SCIP_Lp::lpilpinfo, lpSetBoolpar(), NULL, SCIP_Bool, SCIP_CALL, SCIP_LPPAR_LPINFO, and SCIP_OKAY. Referenced by lpSolveStable().
sets the CONDITIONLIMIT setting of the LP solver
Definition at line 3022 of file lp.c. References FALSE, lpCheckRealpar(), SCIP_Lp::lpiconditionlimit, lpSetRealpar(), NULL, SCIP_CALL, SCIP_LPPAR_CONDITIONLIMIT, and SCIP_OKAY. Referenced by lpSolveStable().
creates an LP column
Definition at line 3051 of file lp.c. References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSduplicateBlockMemoryArray, FALSE, SCIP_Stat::ncolidx, NULL, SCIP_Var::obj, SCIP_ALLOC, SCIP_BASESTAT_ZERO, SCIP_INVALID, SCIP_OKAY, SCIPsetIsZero(), SCIPvarGetLbLazy(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetUbLazy(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), and TRUE. Referenced by SCIPvarColumn().
frees an LP column
Definition at line 3147 of file lp.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemoryNull, colUnlink(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, and SCIPvarGetStatus(). Referenced by SCIPvarLoose(), and varFree().
output column to file stream
Definition at line 3177 of file lp.c. References SCIP_Col::lb, SCIP_Col::len, SCIP_Row::name, NULL, SCIP_Col::obj, SCIP_Col::rows, SCIPmessageFPrintInfo(), SCIP_Col::ub, SCIP_Col::vals, and SCIP_Col::var.
adds a previously non existing coefficient to an LP column
Definition at line 3217 of file lp.c. References checkLinks, colAddCoef(), SCIP_Lp::diving, NULL, SCIP_CALL, and SCIP_OKAY.
deletes existing coefficient from column
Definition at line 3238 of file lp.c. References checkLinks, colDelCoefPos(), SCIP_Row::cols, SCIP_Row::cols_index, colSearchCoef(), SCIP_Lp::diving, SCIP_Col::index, SCIP_Col::linkpos, SCIP_Row::name, NULL, rowDelCoefPos(), SCIP_Col::rows, SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPsetIsEQ(), SCIPvarGetName(), SCIP_Col::vals, SCIP_Row::vals, and SCIP_Col::var.
changes or adds a coefficient to an LP column
Definition at line 3283 of file lp.c. References checkLinks, colAddCoef(), colChgCoefPos(), SCIP_Row::cols, SCIP_Row::cols_index, colSearchCoef(), SCIP_Lp::diving, SCIP_Col::index, SCIP_Col::linkpos, NULL, rowChgCoefPos(), SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, SCIPsetIsEQ(), SCIP_Col::vals, and SCIP_Row::vals.
increases value of an existing or non-existing coefficient in an LP column
Definition at line 3334 of file lp.c. References checkLinks, colAddCoef(), colChgCoefPos(), SCIP_Row::cols, SCIP_Row::cols_index, colSearchCoef(), SCIP_Lp::diving, SCIP_Col::index, SCIP_Col::linkpos, NULL, rowChgCoefPos(), SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, SCIPsetIsEQ(), SCIPsetIsZero(), SCIP_Col::vals, and SCIP_Row::vals.
insert column in the chgcols list (if not already there)
Definition at line 3389 of file lp.c. References SCIP_Lp::chgcols, ensureChgcolsSize(), FALSE, SCIP_Lp::flushed, SCIP_Col::lbchanged, SCIP_Lp::nchgcols, SCIP_Col::objchanged, SCIP_CALL, SCIP_OKAY, and SCIP_Col::ubchanged. Referenced by SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), and updateLazyBounds().
changes objective value of column
Definition at line 3409 of file lp.c. References FALSE, SCIP_Lp::flushed, insertColChgcols(), SCIP_Col::lb, SCIP_Col::lpipos, SCIP_Lp::nchgcols, NULL, SCIP_Col::obj, SCIP_Col::objchanged, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), TRUE, SCIP_Col::ub, and SCIP_Col::var. Referenced by SCIPeventProcess(), SCIPlpEndDive(), and SCIPvarChgObjDive().
changes lower bound of column
Definition at line 3456 of file lp.c. References FALSE, SCIP_Lp::flushed, insertColChgcols(), SCIP_Col::lb, SCIP_Col::lbchanged, SCIP_Col::lpipos, SCIP_Lp::nchgcols, NULL, SCIP_Col::obj, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), TRUE, and SCIP_Col::var. Referenced by SCIPeventProcess(), SCIPlpEndDive(), and SCIPvarChgLbDive().
changes upper bound of column
Definition at line 3501 of file lp.c. References FALSE, SCIP_Lp::flushed, insertColChgcols(), SCIP_Col::lpipos, SCIP_Lp::nchgcols, NULL, SCIP_Col::obj, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), TRUE, SCIP_Col::ub, SCIP_Col::ubchanged, and SCIP_Col::var. Referenced by SCIPeventProcess(), SCIPlpEndDive(), and SCIPvarChgUbDive(). calculates the reduced costs of a column using the given dual solution vector
Definition at line 3546 of file lp.c. References SCIP_Col::linkpos, SCIP_Row::lppos, SCIP_Col::nlprows, NULL, SCIP_Col::nunlinked, SCIP_Col::obj, SCIP_Col::rows, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPvarGetCol(), SCIPvarGetStatus(), SCIP_Col::vals, and SCIP_Col::var. Referenced by undoBdchgsDualsol(). calculates the reduced costs of a column using the dual solution stored in the rows
Definition at line 3598 of file lp.c. References SCIP_Row::dualsol, SCIP_Col::linkpos, SCIP_Row::lppos, SCIP_Col::nlprows, NULL, SCIP_Col::nunlinked, SCIP_Col::obj, SCIP_Col::rows, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPvarGetCol(), SCIPvarGetStatus(), SCIP_Col::vals, and SCIP_Col::var. Referenced by SCIPcolGetRedcost(). gets the reduced costs of a column in last LP or after recalculation
Definition at line 3651 of file lp.c. References colCalcInternalRedcost(), SCIP_Stat::lpcount, NULL, SCIP_Col::redcost, SCIP_INVALID, SCIP_Col::validredcostlp, and SCIP_Lp::validsollp. Referenced by SCIPcolGetFeasibility(), SCIPgetColRedcost(), SCIPprobUpdateBestRootSol(), and SCIPvarGetRedcost(). gets the feasibility of (the dual row of) a column in last LP or after recalculation
Definition at line 3675 of file lp.c. References SCIP_Col::lb, SCIP_Stat::lpcount, NULL, REALABS, SCIP_Real, SCIPcolGetRedcost(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIP_Col::ub, and SCIP_Lp::validsollp. Referenced by SCIPpricestoreAddProbVars(). calculates the Farkas coefficient y^T A_i of a column i using the given dual Farkas vector y
Definition at line 3729 of file lp.c. References SCIP_Col::linkpos, SCIP_Row::lppos, SCIP_Col::nlprows, NULL, SCIP_Col::nunlinked, SCIP_Col::rows, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPvarGetCol(), SCIPvarGetStatus(), SCIP_Col::vals, and SCIP_Col::var. gets the Farkas coefficient y^T A_i of a column i in last LP (which must be infeasible)
Definition at line 3781 of file lp.c. References SCIP_Row::dualfarkas, SCIP_Col::linkpos, SCIP_Row::lppos, SCIP_Col::nlprows, NULL, SCIP_Col::nunlinked, SCIP_Col::rows, SCIP_INVALID, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPvarGetCol(), SCIPvarGetStatus(), SCIP_Col::vals, and SCIP_Col::var. Referenced by SCIPcolGetFarkasCoef(). gets the Farkas coefficient of a column in last LP (which must be infeasible)
Definition at line 3834 of file lp.c. References colCalcInternalFarkasCoef(), SCIP_Col::farkascoef, SCIP_Stat::lpcount, NULL, SCIP_INVALID, SCIP_Col::validfarkaslp, and SCIP_Lp::validfarkaslp. Referenced by SCIPcolGetFarkasValue(), and SCIPgetColFarkasCoef(). gets the Farkas value of a column in last LP (which must be infeasible), i.e. the Farkas coefficient y^T A_i times the best bound for this coefficient, i.e. max{y^T A_i x_i | lb <= x_i <= ub}
Definition at line 3860 of file lp.c. References SCIP_Col::lb, NULL, SCIP_Real, SCIPcolGetFarkasCoef(), and SCIP_Col::ub. Referenced by SCIPpricestoreAddProbVars().
start strong branching - call before any strong branching
Definition at line 3879 of file lp.c. References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPlpiStartStrongbranch(), SCIP_Lp::strongbranching, and TRUE. Referenced by SCIPstartStrongbranch().
end strong branching - call after any strong branching
Definition at line 3894 of file lp.c. References FALSE, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPlpiEndStrongbranch(), and SCIP_Lp::strongbranching. Referenced by SCIPendStrongbranch().
sets strong branching information for a column variable
Definition at line 3909 of file lp.c. References SCIP_Lp::cols, SCIP_Lp::cutoffbound, SCIP_Stat::lpcount, SCIP_Col::lpipos, SCIP_Col::lppos, MIN, SCIP_Lp::ncols, SCIP_Stat::nnodes, SCIP_Stat::nrootsblpiterations, SCIP_Stat::nrootstrongbranchs, SCIP_Col::nsbcalls, SCIP_Stat::nsbdivinglps, SCIP_Stat::nsblpiterations, SCIP_Stat::nstrongbranchs, NULL, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbitlim, SCIP_Col::sblpobjval, SCIP_Col::sbnode, SCIP_Col::sbsolval, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_VARSTATUS_COLUMN, SCIPcolIsIntegral(), SCIPvarGetCol(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Lp::strongbranchprobing, SCIP_Col::validsblp, and SCIP_Col::var. Referenced by SCIPgetVarStrongbranchWithPropagation().
invalidates strong branching information for a column variable
Definition at line 3963 of file lp.c. References SCIP_Lp::cols, FALSE, SCIP_Col::lpipos, SCIP_Col::lppos, SCIP_Lp::ncols, NULL, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbitlim, SCIP_Col::sblpobjval, SCIP_Col::sbnode, SCIP_Col::sbsolval, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_INVALID, SCIP_VARSTATUS_COLUMN, SCIPcolIsIntegral(), SCIPvarGetCol(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Lp::strongbranchprobing, SCIP_Col::validsblp, and SCIP_Col::var. Referenced by SCIPgetVarStrongbranchWithPropagation().
gets strong branching information on a column variable
Definition at line 3998 of file lp.c. References SCIP_Lp::cols, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushed, getFiniteLooseObjval(), SCIP_Lp::looseobjvalinf, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Col::lpipos, SCIP_Lp::lpobjval, SCIP_Col::lppos, SCIP_Lp::lpsolstat, MIN, SCIP_Lp::ncols, SCIP_Stat::nduallpiterations, SCIP_Stat::nduallps, SCIP_Stat::ndualresolvelpiterations, SCIP_Stat::ndualresolvelps, SCIP_Stat::nnodes, SCIP_Stat::nprimallpiterations, SCIP_Stat::nprimallps, SCIP_Stat::nprimalresolvelpiterations, SCIP_Stat::nprimalresolvelps, SCIP_Stat::nrootsblpiterations, SCIP_Stat::nrootstrongbranchs, SCIP_Col::nsbcalls, SCIP_Stat::nsbdivinglps, SCIP_Stat::nsblpiterations, SCIP_Stat::nstrongbranchs, NULL, SCIP_Col::primsol, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbitlim, SCIP_Col::sblpobjval, SCIP_Col::sbnode, SCIP_Col::sbsolval, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPERROR, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPclockStart(), SCIPclockStop(), SCIPcolIsIntegral(), SCIPdebugMessage, SCIPlpGetObjval(), SCIPlpiStrongbranchFrac(), SCIPlpiStrongbranchInt(), SCIPsetInfinity(), SCIPsetIsFeasIntegral(), SCIPsetIsIntegral(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Lp::solved, SCIP_Lp::strongbranching, SCIP_Stat::strongbranchtime, TRUE, SCIP_Col::validsblp, SCIP_Lp::validsollp, and SCIP_Col::var. Referenced by SCIPgetVarStrongbranchFrac(), and SCIPgetVarStrongbranchInt().
gets strong branching information on column variables
Definition at line 4157 of file lp.c. References SCIP_Lp::cols, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushed, getFiniteLooseObjval(), SCIP_Lp::looseobjvalinf, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Col::lpipos, SCIP_Col::lppos, SCIP_Lp::lpsolstat, MIN, SCIP_Lp::ncols, SCIP_Stat::nduallpiterations, SCIP_Stat::nduallps, SCIP_Stat::ndualresolvelpiterations, SCIP_Stat::ndualresolvelps, SCIP_Stat::nnodes, SCIP_Stat::nprimallpiterations, SCIP_Stat::nprimallps, SCIP_Stat::nprimalresolvelpiterations, SCIP_Stat::nprimalresolvelps, SCIP_Stat::nrootsblpiterations, SCIP_Stat::nrootstrongbranchs, SCIP_Col::nsbcalls, SCIP_Stat::nsbdivinglps, SCIP_Stat::nsblpiterations, SCIP_Stat::nstrongbranchs, NULL, SCIP_Col::primsol, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbitlim, SCIP_Col::sblpobjval, SCIP_Col::sbnode, SCIP_Col::sbsolval, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPERROR, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPclockStart(), SCIPclockStop(), SCIPcolIsIntegral(), SCIPdebugMessage, SCIPlpGetObjval(), SCIPlpiStrongbranchesFrac(), SCIPlpiStrongbranchesInt(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsFeasIntegral(), SCIPvarGetCol(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Lp::solved, SCIP_Stat::strongbranchtime, TRUE, SCIP_Col::validsblp, SCIP_Lp::validsollp, and SCIP_Col::var. Referenced by SCIPgetVarsStrongbranchesFrac(), and SCIPgetVarsStrongbranchesInt().
gets last strong branching information available for a column variable; returns values of SCIP_INVALID, if strong branching was not yet called on the given column; keep in mind, that the returned old values may have nothing to do with the current LP solution
Definition at line 4393 of file lp.c. References NULL, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sblpobjval, SCIP_Col::sbsolval, SCIP_Col::sbup, and SCIP_Col::sbupvalid. Referenced by SCIPgetVarStrongbranchLast().
if strong branching was already applied on the column at the current node, returns the number of LPs solved after the LP where the strong branching on this column was applied; if strong branching was not yet applied on the column at the current node, returns INT_MAX
Definition at line 4425 of file lp.c. References SCIP_Stat::lpcount, SCIP_Stat::nnodes, SCIP_Stat::nsbdivinglps, NULL, SCIP_Col::sbnode, SCIP_LONGINT_MAX, and SCIP_Col::validsblp. Referenced by SCIPgetVarStrongbranchLPAge(). marks a column to be not removable from the LP in the current node because it became obsolete
Definition at line 4437 of file lp.c. References SCIP_Stat::nnodes, NULL, and SCIP_Col::obsoletenode. Referenced by SCIPmarkColNotRemovableLocal(). calculates row norms and min/maxidx from scratch, and checks for sorting
Definition at line 4457 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Col::index, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::maxidx, SCIP_Row::maxval, SCIP_Row::minidx, SCIP_Row::minval, SCIP_Row::nlpcols, SCIP_Row::nonlpcolssorted, NULL, SCIP_Row::nummaxval, SCIP_Row::numminval, SCIP_Row::objprod, rowAddNorms(), SCIPsetInfinity(), SCIPsetIsZero(), SCIP_Row::sqrnorm, SCIP_Row::sumnorm, TRUE, SCIP_Row::validminmaxidx, and SCIP_Row::vals. Referenced by rowMerge(), SCIPlpAddRow(), and SCIProwCreate(). calculates min/maxval and min/maxidx from scratch
Definition at line 4516 of file lp.c. References SCIP_Row::cols, SCIP_Col::index, SCIP_Row::len, MAX, SCIP_Row::maxidx, SCIP_Row::maxval, MIN, SCIP_Row::minidx, SCIP_Row::minval, NULL, SCIP_Row::nummaxval, SCIP_Row::numminval, REALABS, SCIP_Real, SCIPsetInfinity(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsZero(), TRUE, SCIP_Row::validminmaxidx, and SCIP_Row::vals. Referenced by SCIProwGetMaxidx(), SCIProwGetMaxval(), SCIProwGetMinidx(), and SCIProwGetMinval().
checks, whether the given scalar scales the given value to an integral number with error in the given bounds
Definition at line 4576 of file lp.c. References FALSE, NULL, SCIP_Real, SCIPrelDiff(), and TRUE. Referenced by rowScale(), and SCIProwCalcIntegralScalar().
scales row with given factor, and rounds coefficients to integers if close enough; the constant is automatically moved to the sides; if the row's activity is proven to be integral, the sides are automatically rounded to the next integer
Definition at line 4616 of file lp.c. References colChgCoefPos(), SCIP_Row::cols, SCIP_Row::constant, debugRowPrint, FALSE, SCIP_Row::integral, isIntegralScalar(), SCIP_Col::lb, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::linkpos, SCIP_Row::local, SCIP_Row::modifiable, SCIP_Row::name, NULL, SCIP_Row::rhs, rowChgCoefPos(), SCIP_Col::rows, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcolIsIntegral(), SCIPdebugMessage, SCIProwChgConstant(), SCIProwChgLhs(), SCIProwChgRhs(), SCIPsetInfinity(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPsetSumCeil(), SCIPsetSumFloor(), SCIPvarGetLbGlobal(), SCIPvarGetUbGlobal(), TRUE, SCIP_Col::ub, SCIP_Row::validactivitylp, SCIP_Col::vals, SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIProwMakeIntegral().
creates and captures an LP row
Definition at line 4787 of file lp.c. References BMSallocBlockMemory, BMSallocBlockMemoryArray, BMSduplicateBlockMemoryArray, FALSE, SCIP_Col::index, SCIP_Stat::nrowidx, NULL, rowCalcNorms(), SCIP_ALLOC, SCIP_BASESTAT_BASIC, SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIPeventfilterCreate(), SCIProwCapture(), SCIPsetInfinity(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), SCIPvarIsIntegral(), TRUE, and SCIP_Col::var. Referenced by SCIPcreateEmptyRowCons(), SCIPcreateEmptyRowSepa(), SCIPcreateEmptyRowUnspec(), SCIPcreateRowCons(), SCIPcreateRowSepa(), and SCIPcreateRowUnspec().
frees an LP row
Definition at line 4923 of file lp.c. References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemoryNull, NULL, rowUnlink(), SCIP_CALL, SCIP_OKAY, and SCIPeventfilterFree(). Referenced by SCIProwRelease().
output row to file stream
Definition at line 4955 of file lp.c. References SCIP_Row::cols, SCIP_Row::constant, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::name, NULL, REALABS, SCIP_Row::rhs, SCIP_DEFAULT_EPSILON, SCIP_VARSTATUS_COLUMN, SCIPmessageFPrintInfo(), SCIPvarGetName(), SCIPvarGetStatus(), SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIPprintRow().
increases usage counter of LP row
Definition at line 4995 of file lp.c. References SCIP_Row::name, SCIP_Row::nlocks, NULL, SCIP_Row::nuses, and SCIPdebugMessage. Referenced by cutCreate(), forkCreate(), lpFlushAddRows(), pseudoforkCreate(), SCIPcaptureRow(), SCIPlpAddRow(), SCIProwCreate(), SCIPsepastoreApplyCuts(), and sepastoreAddCut().
decreases usage counter of LP row, and frees memory if necessary
Definition at line 5008 of file lp.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIProwFree(). Referenced by cutFree(), forkFree(), lpDelRowset(), lpFlushDelRows(), pseudoforkFree(), SCIPlpFree(), SCIPlpShrinkRows(), SCIPreleaseRow(), SCIPsepastoreApplyCuts(), SCIPsepastoreClearCuts(), sepastoreAddCut(), sepastoreDelCut(), and subrootFree().
adds a previously non existing coefficient to an LP row
Definition at line 5065 of file lp.c. References checkLinks, SCIP_Lp::diving, SCIP_Row::lppos, NULL, rowAddCoef(), SCIP_CALL, and SCIP_OKAY.
deletes coefficient from row
Definition at line 5086 of file lp.c. References checkLinks, colDelCoefPos(), SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::delaysort, SCIP_Lp::diving, SCIP_Col::index, SCIP_Row::linkpos, SCIP_Row::lppos, SCIP_Row::name, NULL, rowDelCoefPos(), SCIP_Col::rows, rowSearchCoef(), SCIP_CALL, SCIP_INVALIDDATA, SCIP_OKAY, SCIPerrorMessage, SCIPsetIsEQ(), SCIPvarGetName(), SCIP_Col::vals, SCIP_Row::vals, and SCIP_Col::var.
changes or adds a coefficient to an LP row
Definition at line 5132 of file lp.c. References checkLinks, colChgCoefPos(), SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::delaysort, SCIP_Lp::diving, SCIP_Col::index, SCIP_Row::linkpos, SCIP_Row::lppos, NULL, rowAddCoef(), rowChgCoefPos(), SCIP_Col::rows, rowSearchCoef(), SCIP_CALL, SCIP_OKAY, SCIPsetIsEQ(), SCIP_Col::vals, and SCIP_Row::vals.
increases value of an existing or non-existing coefficient in an LP row
Definition at line 5184 of file lp.c. References checkLinks, colChgCoefPos(), SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Lp::diving, SCIP_Col::index, SCIP_Row::linkpos, SCIP_Row::lppos, NULL, rowAddCoef(), rowChgCoefPos(), SCIP_Col::rows, rowSearchCoef(), SCIP_CALL, SCIP_OKAY, SCIPsetIsEQ(), SCIPsetIsZero(), SCIP_Col::vals, and SCIP_Row::vals. Referenced by SCIPvarAddToRow().
changes constant value of a row
Definition at line 5238 of file lp.c. References SCIP_Row::constant, SCIP_Lp::diving, SCIP_Stat::domchgcount, SCIP_Row::lhs, SCIP_Row::lppos, SCIP_Row::maxactivity, SCIP_Row::minactivity, NULL, SCIP_Row::pseudoactivity, REALABS, SCIP_Row::rhs, rowEventConstantChanged(), rowSideChanged(), SCIP_CALL, SCIP_INVALID, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_SIDETYPE_RIGHT, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIP_Row::validactivitybdsdomchg, and SCIP_Row::validpsactivitydomchg. Referenced by rowScale(), and SCIProwAddConstant().
add constant value to a row
Definition at line 5293 of file lp.c. References SCIP_Row::constant, SCIP_Lp::diving, SCIP_Row::lhs, SCIP_Row::lppos, NULL, REALABS, SCIP_Row::rhs, SCIP_CALL, SCIP_OKAY, SCIProwChgConstant(), SCIPsetIsInfinity(), and SCIPsetIsZero(). Referenced by SCIPvarAddToRow().
changes left hand side of LP row
Definition at line 5319 of file lp.c. References SCIP_Lp::diving, SCIP_Row::lhs, NULL, rowEventSideChanged(), rowSideChanged(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, and SCIPsetIsEQ(). Referenced by rowScale(), SCIPchgRowLhs(), SCIPchgRowLhsDive(), and SCIPlpEndDive().
changes right hand side of LP row
Definition at line 5351 of file lp.c. References SCIP_Lp::diving, NULL, SCIP_Row::rhs, rowEventSideChanged(), rowSideChanged(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_RIGHT, and SCIPsetIsEQ(). Referenced by rowScale(), SCIPchgRowRhs(), SCIPchgRowRhsDive(), and SCIPlpEndDive().
changes the local flag of LP row
Definition at line 5383 of file lp.c. References SCIP_Row::local, NULL, and SCIP_OKAY. Referenced by sepastoreAddCut().
tries to find a value, such that all row coefficients, if scaled with this value become integral
Definition at line 5400 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, FALSE, isIntegralScalar(), SCIP_Row::len, MIN, nscalars, NULL, REALABS, SCIP_Bool, SCIP_INVALID, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_VARSTATUS_COLUMN, SCIPcalcGreComDiv(), SCIPcolIsIntegral(), SCIPdebug, SCIPdebugMessage, SCIPrealToRational(), SCIProwGetName(), SCIPsetIsInfinity(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetStatus(), TRUE, SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIPcalcRowIntegralScalar(), and SCIProwMakeIntegral().
tries to scale row, s.t. all coefficients become integral
Definition at line 5635 of file lp.c. References NULL, rowScale(), SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIProwCalcIntegralScalar(). Referenced by SCIPmakeRowIntegral(). sorts row, and merges equal column entries (resulting from lazy sorting and adding) into a single entry; removes zero entries from row the row must not be linked to the columns; otherwise, we would need to update the columns as well, which is too expensive
Definition at line 5703 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::delaysort, SCIP_Col::index, SCIP_Row::integral, SCIP_Row::len, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Row::name, SCIP_Row::nlpcols, SCIP_Row::nonlpcolssorted, NULL, SCIP_Row::nunlinked, rowCalcNorms(), SCIP_Real, SCIPcolIsIntegral(), SCIPdebugMessage, SCIProwSort(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), TRUE, and SCIP_Row::vals. Referenced by SCIProwForceSort().
enables delaying of row sorting
Definition at line 5802 of file lp.c. References SCIP_Row::delaysort, NULL, and TRUE. Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), and SCIPcacheRowExtensions(). disables delaying of row sorting, sorts row and merges coefficients with equal columns
Definition at line 5813 of file lp.c. References SCIP_Row::delaysort, FALSE, NULL, and rowMerge(). Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), and SCIPflushRowExtensions(). recalculates the current activity of a row
Definition at line 5826 of file lp.c. References SCIP_Row::activity, SCIP_Row::cols, SCIP_Row::constant, SCIP_Row::linkpos, SCIP_Stat::lpcount, SCIP_Col::lppos, SCIP_Row::nlpcols, NULL, SCIP_Row::nunlinked, SCIP_Col::primsol, SCIP_INVALID, SCIP_Row::validactivitylp, and SCIP_Row::vals. Referenced by SCIPrecalcRowActivity(), SCIPrecalcRowLPActivity(), and SCIProwGetLPActivity(). returns the activity of a row in the current LP solution
Definition at line 5878 of file lp.c. References SCIP_Row::activity, SCIP_Stat::lpcount, MAX, MIN, NULL, SCIP_INVALID, SCIP_Real, SCIProwRecalcLPActivity(), SCIPsetInfinity(), SCIP_Row::validactivitylp, and SCIP_Lp::validsollp. Referenced by SCIPgetRowActivity(), SCIPgetRowLPActivity(), SCIPgetRowSolActivity(), and SCIProwGetLPFeasibility().
returns the feasibility of a row in the current LP solution: negative value means infeasibility
Definition at line 5908 of file lp.c. References SCIP_Row::lhs, MIN, NULL, SCIP_Row::rhs, SCIP_Real, and SCIProwGetLPActivity(). Referenced by SCIPcutpoolSeparate(), SCIPgetRowFeasibility(), SCIPgetRowLPFeasibility(), SCIPgetRowSolFeasibility(), SCIProwGetLPEfficacy(), sepastoreApplyBdchg(), and sepastoreApplyCut(). returns the feasibility of a row in the relaxed solution solution: negative value means infeasibility
Definition at line 5928 of file lp.c. References SCIP_Row::cols, SCIP_Row::constant, SCIP_Row::lhs, SCIP_Row::linkpos, SCIP_Col::lppos, MAX, MIN, SCIP_Row::nlpcols, NULL, SCIP_Row::nunlinked, SCIP_Row::rhs, SCIP_Real, SCIPsetInfinity(), SCIPvarGetRelaxSol(), SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIProwGetRelaxEfficacy(), sepastoreApplyBdchg(), and sepastoreApplyCut(). returns the feasibility of a row in the current NLP solution: negative value means infeasibility
Definition at line 5990 of file lp.c. References SCIP_Row::cols, SCIP_Row::constant, SCIP_Row::lhs, SCIP_Row::linkpos, SCIP_Col::lppos, MAX, MIN, SCIP_Row::nlpcols, NULL, SCIP_Row::nunlinked, SCIP_Row::rhs, SCIP_Real, SCIPsetInfinity(), SCIPvarGetNLPSol(), SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIProwGetNLPEfficacy(), sepastoreApplyBdchg(), and sepastoreApplyCut(). calculates the current pseudo activity of a row
Definition at line 6049 of file lp.c. References SCIP_Row::cols, SCIP_Row::constant, SCIP_Stat::domchgcount, EPSISINT, SCIP_Row::integral, SCIP_Row::len, SCIP_Row::linkpos, SCIP_Col::lppos, NULL, SCIP_Row::pseudoactivity, SCIP_DEFAULT_SUMEPSILON, SCIP_VARSTATUS_COLUMN, SCIPcolGetBestBound(), SCIPvarGetStatus(), SCIP_Row::validpsactivitydomchg, SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIPrecalcRowActivity(), SCIPrecalcRowPseudoActivity(), and SCIProwGetPseudoActivity(). returns the pseudo activity of a row in the current pseudo solution
Definition at line 6076 of file lp.c. References SCIP_Stat::domchgcount, MAX, MIN, NULL, SCIP_Row::pseudoactivity, SCIP_INVALID, SCIP_Real, SCIProwRecalcPseudoActivity(), SCIPsetInfinity(), and SCIP_Row::validpsactivitydomchg. Referenced by SCIPgetRowActivity(), SCIPgetRowPseudoActivity(), SCIPgetRowSolActivity(), and SCIProwGetPseudoFeasibility(). returns the pseudo feasibility of a row in the current pseudo solution: negative value means infeasibility
Definition at line 6104 of file lp.c. References SCIP_Row::lhs, MIN, NULL, SCIP_Row::rhs, SCIP_Real, and SCIProwGetPseudoActivity(). Referenced by SCIPgetRowFeasibility(), SCIPgetRowPseudoFeasibility(), and SCIPgetRowSolFeasibility().
returns the activity of a row for a given solution
Definition at line 6120 of file lp.c. References SCIP_Row::cols, SCIP_Row::constant, SCIP_Col::lb, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::linkpos, SCIP_Col::lppos, MAX, MIN, NULL, SCIP_Row::rhs, SCIP_Real, SCIP_UNKNOWN, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsolGetVal(), SCIP_Col::ub, SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIPgetRowSolActivity(), SCIProwGetSolFeasibility(), and SCIPsolAdjustImplicitSolVals().
returns the feasibility of a row for the given solution
Definition at line 6162 of file lp.c. References SCIP_Row::lhs, MIN, NULL, SCIP_Row::rhs, SCIP_Real, and SCIProwGetSolActivity(). Referenced by SCIPcutpoolSeparate(), SCIPgetRowSolFeasibility(), and SCIProwGetSolEfficacy(). calculates minimal and maximal activity of row w.r.t. the column's bounds
Definition at line 6180 of file lp.c. References SCIP_Row::cols, SCIP_Row::constant, SCIP_Stat::domchgcount, EPSISINT, FALSE, SCIP_Row::integral, SCIP_Col::lb, SCIP_Row::len, SCIP_Row::linkpos, SCIP_Col::lppos, SCIP_Row::maxactivity, SCIP_Row::minactivity, NULL, REALABS, SCIP_Bool, SCIP_DEFAULT_SUMEPSILON, SCIP_Real, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIP_Col::ub, SCIP_Row::validactivitybdsdomchg, and SCIP_Row::vals. Referenced by SCIProwGetMaxActivity(), and SCIProwGetMinActivity(). returns the minimal activity of a row w.r.t. the columns' bounds
Definition at line 6240 of file lp.c. References SCIP_Stat::domchgcount, SCIP_Row::maxactivity, SCIP_Row::minactivity, NULL, rowCalcActivityBounds(), SCIP_INVALID, and SCIP_Row::validactivitybdsdomchg. Referenced by SCIPaddCut(), SCIPgetRowMinActivity(), SCIPlpRemoveRedundantRows(), SCIProwIsRedundant(), sepastoreIsCutRedundant(), and sepastoreIsCutRedundantOrInfeasible(). returns the maximal activity of a row w.r.t. the columns' bounds
Definition at line 6261 of file lp.c. References SCIP_Stat::domchgcount, SCIP_Row::maxactivity, SCIP_Row::minactivity, NULL, rowCalcActivityBounds(), SCIP_INVALID, and SCIP_Row::validactivitybdsdomchg. Referenced by SCIPaddCut(), SCIPgetRowMaxActivity(), SCIPlpRemoveRedundantRows(), SCIProwIsRedundant(), sepastoreIsCutRedundant(), and sepastoreIsCutRedundantOrInfeasible(). returns whether the row is unmodifiable and redundant w.r.t. the columns' bounds
Definition at line 6282 of file lp.c. References FALSE, SCIP_Row::lhs, SCIP_Row::modifiable, NULL, SCIP_Row::rhs, SCIP_Real, SCIProwGetMaxActivity(), SCIProwGetMinActivity(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsInfinity(), and TRUE. Referenced by SCIPlpRemoveRedundantRows(). gets maximal absolute value of row vector coefficients
Definition at line 6313 of file lp.c. References SCIP_Row::len, SCIP_Row::maxval, NULL, SCIP_Row::nummaxval, and rowCalcIdxsAndVals(). Referenced by SCIP_DECL_HASHKEYVAL(), SCIPgetRowMaxCoef(), SCIProwGetLPEfficacy(), SCIProwGetNLPEfficacy(), SCIProwGetRelaxEfficacy(), and SCIProwGetSolEfficacy(). gets minimal absolute value of row vector's non-zero coefficients
Definition at line 6329 of file lp.c. References SCIP_Row::len, SCIP_Row::minval, NULL, SCIP_Row::numminval, and rowCalcIdxsAndVals(). Referenced by SCIPgetRowMinCoef(). gets maximal column index of row entries
Definition at line 6345 of file lp.c. References SCIP_Row::len, SCIP_Row::maxidx, NULL, rowCalcIdxsAndVals(), and SCIP_Row::validminmaxidx. Referenced by SCIPcutpoolAddNewRow(). gets minimal column index of row entries
Definition at line 6361 of file lp.c. References SCIP_Row::len, SCIP_Row::minidx, NULL, rowCalcIdxsAndVals(), and SCIP_Row::validminmaxidx. returns row's efficacy with respect to the current LP solution: e = -feasibility/norm
Definition at line 6377 of file lp.c. References SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetLPFeasibility(), SCIProwGetMaxval(), SCIProwGetNorm(), SCIProwGetSumNorm(), and SCIPsetSumepsilon(). Referenced by computeScore(), SCIPgetCutEfficacy(), and SCIProwIsLPEfficacious().
returns whether the row's efficacy with respect to the current LP solution is greater than the minimal cut efficacy
Definition at line 6418 of file lp.c. References SCIP_Real, SCIProwGetLPEfficacy(), and SCIPsetIsEfficacious(). Referenced by SCIPcutpoolSeparate(), and SCIPisCutEfficacious().
returns row's efficacy with respect to the given primal solution: e = -feasibility/norm
Definition at line 6434 of file lp.c. References SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetMaxval(), SCIProwGetNorm(), SCIProwGetSolFeasibility(), SCIProwGetSumNorm(), and SCIPsetSumepsilon(). Referenced by SCIPgetCutEfficacy(), and SCIProwIsSolEfficacious().
returns whether the row's efficacy with respect to the given primal solution is greater than the minimal cut efficacy
Definition at line 6477 of file lp.c. References SCIP_Real, SCIProwGetSolEfficacy(), and SCIPsetIsEfficacious(). Referenced by SCIPcutpoolSeparate(), and SCIPisCutEfficacious(). returns row's efficacy with respect to the relaxed solution: e = -feasibility/norm
Definition at line 6493 of file lp.c. References SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetMaxval(), SCIProwGetNorm(), SCIProwGetRelaxFeasibility(), SCIProwGetSumNorm(), and SCIPsetSumepsilon(). Referenced by computeScore(). returns row's efficacy with respect to the NLP solution: e = -feasibility/norm
Definition at line 6533 of file lp.c. References SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetMaxval(), SCIProwGetNLPFeasibility(), SCIProwGetNorm(), SCIProwGetSumNorm(), and SCIPsetSumepsilon(). Referenced by computeScore(). returns the discrete scalar product of the coefficient vectors of the two given rows
Definition at line 6934 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, FALSE, SCIP_Col::index, SCIP_Row::len, SCIP_Row::lpcolssorted, SCIP_Col::lppos, MAX, SCIP_Row::nlpcols, SCIP_Row::nonlpcolssorted, NULL, SCIP_Row::nunlinked, SCIP_Bool, SCIProwSort(), SCIPswapPointers(), and TRUE. Referenced by SCIProwGetParallelism(). gets parallelism of row with objective function: if the returned value is 1, the row is parallel to the objective function, if the value is 0, it is orthogonal to the objective function
Definition at line 7337 of file lp.c. References checkRowObjprod, checkRowSqrnorm, MAX, MIN, NULL, SCIP_Row::objprod, SCIP_Lp::objsqrnorm, SCIP_Lp::objsqrnormunreliable, REALABS, SCIP_Real, SCIPlpRecalculateObjSqrNorm(), SCIPsetIsPositive(), SCIPsetIsSumGE(), SCIPsetIsSumLE(), and SCIP_Row::sqrnorm. Referenced by sepastoreAddCut().
includes event handler with given data in row's event filter
Definition at line 7370 of file lp.c. References SCIP_Row::eventfilter, SCIP_Row::name, NULL, SCIP_CALL, SCIP_EVENTTYPE_ROWCHANGED, SCIP_OKAY, SCIPdebugMessage, and SCIPeventfilterAdd(). Referenced by SCIPcatchRowEvent().
deletes event handler with given data from row's event filter
Definition at line 7394 of file lp.c. References SCIP_Row::eventfilter, SCIP_Row::name, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, and SCIPeventfilterDel(). Referenced by SCIPdropRowEvent(). marks a row to be not removable from the LP in the current node because it became obsolete
Definition at line 7415 of file lp.c. References SCIP_Stat::nnodes, NULL, and SCIP_Row::obsoletenode. Referenced by SCIPmarkRowNotRemovableLocal().
resets column data to represent a column not in the LP solver
Definition at line 7434 of file lp.c. References SCIP_Col::basisstatus, FALSE, SCIP_Col::farkascoef, SCIP_Col::lpipos, NULL, SCIP_Col::primsol, SCIP_Col::redcost, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbitlim, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_BASESTAT_ZERO, SCIP_INVALID, SCIP_Col::validfarkaslp, and SCIP_Col::validredcostlp. Referenced by lpDelColset(), and lpFlushDelCols().
applies all cached column removals to the LP solver
Definition at line 7456 of file lp.c. References SCIP_Col::coefchanged, SCIP_Lp::cols, SCIP_Lp::diving, FALSE, SCIP_Lp::flushdeletedcols, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpifirstchgcol, SCIP_Col::lpipos, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, markColDeleted(), SCIP_Lp::ncols, SCIP_Lp::nlpicols, NULL, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPdebugMessage, SCIPlpiDelCols(), SCIP_Lp::solved, and TRUE. Referenced by SCIPlpFlush().
computes for the given column the lower and upper bound that should be flushed into the LP depending on lazy bounds and diving mode; in diving mode, lazy bounds are ignored, i.e., the bounds are explicitly added to the LP in any case
Definition at line 7505 of file lp.c. References SCIP_Col::lazylb, SCIP_Col::lazyub, SCIP_Col::lb, NULL, SCIPlpDiving(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), and SCIP_Col::ub. Referenced by lpFlushAddCols(), and lpFlushChgCols().
applies all cached column additions to the LP solver
Definition at line 7540 of file lp.c. References SCIP_Col::coefchanged, colLink(), SCIP_Lp::cols, computeLPBounds(), debugColPrint, SCIP_Lp::diving, SCIP_Lp::dualfeasible, ensureLpicolsSize(), FALSE, SCIP_Col::farkascoef, SCIP_Lp::flushaddedcols, SCIP_Col::flushedlb, SCIP_Col::flushedobj, SCIP_Col::flushedub, SCIP_Col::lbchanged, SCIP_Col::len, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpifirstchgcol, SCIP_Col::lpipos, SCIP_Row::lpipos, SCIP_Lp::lpobjval, SCIP_Col::lppos, SCIP_Lp::lpsolstat, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Col::nlprows, NULL, SCIP_Col::obj, SCIP_Col::objchanged, SCIP_Col::primsol, SCIP_Col::redcost, SCIP_Col::rows, SCIP_Col::sbdown, SCIP_Col::sbdownvalid, SCIP_Col::sbitlim, SCIP_Col::sbup, SCIP_Col::sbupvalid, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPlpiAddCols(), SCIPlpiInfinity(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), SCIP_Lp::solved, TRUE, SCIP_Col::ubchanged, SCIP_Col::validfarkaslp, SCIP_Col::validredcostlp, SCIP_Col::vals, and SCIP_Col::var. Referenced by SCIPlpFlush().
resets row data to represent a row not in the LP solver
Definition at line 7696 of file lp.c. References SCIP_Row::activity, SCIP_Row::basisstatus, SCIP_Row::dualfarkas, SCIP_Row::dualsol, SCIP_Row::lpipos, NULL, SCIP_BASESTAT_BASIC, SCIP_INVALID, and SCIP_Row::validactivitylp. Referenced by lpDelRowset(), and lpFlushDelRows().
applies all cached row removals to the LP solver
Definition at line 7712 of file lp.c. References SCIP_Row::coefchanged, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushdeletedrows, SCIP_Lp::lpi, SCIP_Lp::lpifirstchgrow, SCIP_Row::lpipos, SCIP_Lp::lpirows, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, markRowDeleted(), SCIP_Lp::nlpirows, SCIP_Lp::nrows, NULL, SCIP_Lp::rows, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPdebugMessage, SCIPlpiDelRows(), SCIProwRelease(), SCIP_Lp::solved, and TRUE. Referenced by SCIPlpFlush().
applies all cached row additions and removals to the LP solver
Definition at line 7760 of file lp.c. References SCIP_Row::activity, SCIP_Row::coefchanged, SCIP_Row::cols, SCIP_Row::constant, debugRowPrint, SCIP_Row::dualfarkas, SCIP_Row::dualsol, ensureLpirowsSize(), FALSE, SCIP_Lp::flushaddedrows, SCIP_Row::flushedlhs, SCIP_Row::flushedrhs, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::lhschanged, SCIP_Lp::lpi, SCIP_Lp::lpifirstchgrow, SCIP_Col::lpipos, SCIP_Row::lpipos, SCIP_Lp::lpirows, SCIP_Lp::lpobjval, SCIP_Row::lppos, SCIP_Lp::lpsolstat, SCIP_Row::name, SCIP_Row::nlpcols, SCIP_Lp::nlpirows, SCIP_Lp::nrows, NULL, SCIP_Lp::primalfeasible, SCIP_Row::rhs, SCIP_Row::rhschanged, rowLink(), SCIP_Lp::rows, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPdebugPrintf, SCIPlpiAddRows(), SCIPlpiInfinity(), SCIProwCapture(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsInfinity(), SCIPvarGetName(), SCIP_Lp::solved, TRUE, SCIP_Row::validactivitylp, SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIPlpFlush().
applies all cached column bound and objective changes to the LP
Definition at line 7907 of file lp.c. References SCIP_Lp::chgcols, computeLPBounds(), SCIP_Lp::dualfeasible, FALSE, SCIP_Col::flushedlb, SCIP_Col::flushedobj, SCIP_Col::flushedub, SCIP_Col::lbchanged, SCIP_Lp::lpi, SCIP_Col::lpipos, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, SCIP_Lp::nchgcols, SCIP_Lp::ncols, NULL, SCIP_Col::obj, SCIP_Col::objchanged, SCIP_Lp::primalfeasible, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPlpiChgBounds(), SCIPlpiChgObj(), SCIPlpiGetBounds(), SCIPlpiGetObj(), SCIPlpiGetSolverName(), SCIPlpiInfinity(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPvarGetCol(), SCIPvarGetStatus(), SCIP_Lp::solved, SCIP_Col::ubchanged, and SCIP_Col::var. Referenced by SCIPlpFlush().
applies all cached row side changes to the LP
Definition at line 8051 of file lp.c. References SCIP_Lp::chgrows, SCIP_Row::constant, FALSE, SCIP_Row::flushedlhs, SCIP_Row::flushedrhs, SCIP_Row::lhs, SCIP_Row::lhschanged, SCIP_Lp::lpi, SCIP_Row::lpipos, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, SCIP_Lp::nchgrows, SCIP_Lp::nrows, NULL, SCIP_Lp::primalfeasible, SCIP_Row::rhs, SCIP_Row::rhschanged, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPlpiChgSides(), SCIPlpiGetSides(), SCIPlpiGetSolverName(), SCIPlpiInfinity(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsInfinity(), SCIPsetIsSumEQ(), and SCIP_Lp::solved. Referenced by SCIPlpFlush().
applies all cached changes to the LP solver
Definition at line 8148 of file lp.c. References checkLinks, FALSE, SCIP_Lp::flushaddedcols, SCIP_Lp::flushaddedrows, SCIP_Lp::flushdeletedcols, SCIP_Lp::flushdeletedrows, SCIP_Lp::flushed, lpFlushAddCols(), lpFlushAddRows(), lpFlushChgCols(), lpFlushChgRows(), lpFlushDelCols(), lpFlushDelRows(), SCIP_Lp::lpi, SCIP_Lp::lpifirstchgcol, SCIP_Lp::lpifirstchgrow, SCIP_Lp::nchgcols, SCIP_Lp::nchgrows, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Lp::nrows, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPlpiGetNCols(), SCIPlpiGetNRows(), and TRUE. Referenced by focusnodeCleanupVars(), lpFlushAndSolve(), priceAndCutLoop(), SCIPflushLP(), SCIPlpEndDive(), SCIPlpReset(), SCIPlpSetState(), SCIPlpSolveAndEval(), SCIPtreeEndProbing(), SCIPwriteLP(), and SCIPwriteMIP().
marks the LP to be flushed, even if the LP thinks it is not flushed
Definition at line 8203 of file lp.c. References checkLinks, SCIP_Lp::chgcols, SCIP_Lp::chgrows, SCIP_Col::coefchanged, SCIP_Row::coefchanged, SCIP_Lp::cols, SCIP_Row::constant, FALSE, SCIP_Lp::flushed, SCIP_Col::flushedlb, SCIP_Row::flushedlhs, SCIP_Col::flushedobj, SCIP_Row::flushedrhs, SCIP_Col::flushedub, SCIP_Col::lb, SCIP_Col::lbchanged, SCIP_Row::lhs, SCIP_Row::lhschanged, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpifirstchgcol, SCIP_Lp::lpifirstchgrow, SCIP_Col::lpipos, SCIP_Row::lpipos, SCIP_Lp::lpirows, SCIP_Lp::nchgcols, SCIP_Lp::nchgrows, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Lp::nrows, NULL, SCIP_Col::obj, SCIP_Col::objchanged, SCIP_Row::rhs, SCIP_Row::rhschanged, SCIP_Lp::rows, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPlpiGetBounds(), SCIPlpiGetObj(), SCIPlpiGetSides(), SCIPlpiGetSolverName(), SCIPlpiInfinity(), SCIPsetIsInfinity(), SCIPsetIsSumEQ(), SCIPvarGetCol(), SCIPvarGetStatus(), TRUE, SCIP_Col::ub, SCIP_Col::ubchanged, and SCIP_Col::var. updates link data after addition of column
Definition at line 8331 of file lp.c. References SCIP_Row::cols, FALSE, SCIP_Col::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lpcolssorted, SCIP_Col::lppos, SCIP_Row::nlpcols, NULL, rowAddNorms(), SCIP_Col::rows, rowSwapCoefs(), and SCIP_Row::vals. Referenced by SCIPlpAddCol().
updates link data after addition of row
Definition at line 8371 of file lp.c. References SCIP_Row::cols, colSwapCoefs(), FALSE, SCIP_Row::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lppos, SCIP_Col::lprowssorted, SCIP_Col::nlprows, NULL, and SCIP_Col::rows. Referenced by SCIPlpAddRow(). updates link data after removal of column
Definition at line 8406 of file lp.c. References SCIP_Row::cols, FALSE, SCIP_Col::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Col::lppos, SCIP_Row::nlpcols, SCIP_Row::nonlpcolssorted, NULL, rowDelNorms(), SCIP_Col::rows, rowSwapCoefs(), TRUE, and SCIP_Row::vals. Referenced by lpDelColset(), and SCIPlpShrinkCols().
updates link data after removal of row
Definition at line 8445 of file lp.c. References SCIP_Row::cols, colSwapCoefs(), FALSE, SCIP_Row::len, SCIP_Col::linkpos, SCIP_Row::linkpos, SCIP_Row::lppos, SCIP_Col::nlprows, SCIP_Col::nonlprowssorted, NULL, and SCIP_Col::rows. Referenced by lpDelRowset(), and SCIPlpShrinkRows().
Definition at line 8479 of file lp.c. References BMSallocMemoryArray, SCIP_Lp::divechgrows, SCIP_Lp::divechgsides, SCIP_Lp::divechgsidessize, SCIP_Lp::divechgsidetypes, SCIP_Lp::ndivechgsides, NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by SCIPlpCreate().
Definition at line 8501 of file lp.c. References BMSreallocMemoryArray, SCIP_Lp::divechgrows, SCIP_Lp::divechgsides, SCIP_Lp::divechgsidessize, SCIP_Lp::divechgsidetypes, MAX, SCIP_Lp::ndivechgsides, NULL, SCIP_ALLOC, and SCIP_OKAY. Referenced by SCIPlpRecordOldRowSideDive().
Definition at line 8527 of file lp.c. References BMSfreeMemoryArrayNull, SCIP_Lp::divechgrows, SCIP_Lp::divechgsides, SCIP_Lp::divechgsidessize, SCIP_Lp::divechgsidetypes, SCIP_Lp::ndivechgsides, and NULL. Referenced by SCIPlpFree().
creates empty LP data object
Definition at line 8547 of file lp.c. References allocDiveChgSideArrays(), BMSallocMemory, DIVESTACKINITSIZE, FALSE, SCIP_Stat::lpcount, lpSetBoolpar(), lpSetIntpar(), lpSetRealpar(), NULL, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPPAR_BARRIERCONVTOL, SCIP_LPPAR_CONDITIONLIMIT, SCIP_LPPAR_DUALFEASTOL, SCIP_LPPAR_FASTMIP, SCIP_LPPAR_FEASTOL, SCIP_LPPAR_FROMSCRATCH, SCIP_LPPAR_LPINFO, SCIP_LPPAR_LPITLIM, SCIP_LPPAR_PRESOLVING, SCIP_LPPAR_PRICING, SCIP_LPPAR_ROWREPSWITCH, SCIP_LPPAR_SCALING, SCIP_LPPAR_THREADS, SCIP_LPPAR_UOBJLIM, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OBJSEN_MINIMIZE, SCIP_OKAY, SCIP_PRICING_AUTO, SCIP_VERBLEVEL_FULL, SCIPlpiCreate(), SCIPlpiGetSolverName(), SCIPlpiInfinity(), SCIPmessagePrintVerbInfo(), SCIPsetBarrierconvtol(), SCIPsetDualfeastol(), SCIPsetInfinity(), SCIPsetLpfeastol(), and TRUE. Referenced by SCIPtransformProb().
frees LP data object
Definition at line 8771 of file lp.c. References BMSfreeMemory, BMSfreeMemoryArrayNull, BMSfreeMemoryNull, freeDiveChgSideArrays(), NULL, SCIP_CALL, SCIP_OKAY, SCIPlpClear(), SCIPlpiFree(), and SCIProwRelease(). Referenced by freeTransform().
resets the LP to the empty LP by removing all columns and rows from LP, releasing all rows, and flushing the changes to the LP solver
Definition at line 8815 of file lp.c. References SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::lastlpalgo, SCIP_Stat::lpcount, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, NULL, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPlpClear(), SCIPlpFlush(), SCIP_Lp::solisbasic, SCIP_Lp::solved, TRUE, SCIP_Lp::validfarkaslp, and SCIP_Lp::validsollp. Referenced by freeSolve(), and initSolve().
adds a column to the LP
Definition at line 8844 of file lp.c. References SCIP_Col::age, checkLinks, SCIP_Lp::cols, colUpdateAddLP(), SCIP_Lp::diving, ensureColsSize(), ensureLazycolsSize(), FALSE, SCIP_Lp::flushed, SCIP_Col::integral, SCIP_Lp::lazycols, SCIP_Col::lazylb, SCIP_Col::lazyub, SCIP_Col::lb, SCIP_Col::len, SCIP_Col::lpdepth, SCIP_Col::lppos, SCIP_Row::name, SCIP_Lp::ncols, SCIP_Lp::nlazycols, SCIP_Lp::nremovablecols, SCIP_Lp::nrows, NULL, SCIP_Col::obj, SCIP_Col::removable, SCIP_Col::rows, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPdebugPrintf, SCIPsetIsInfinity(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Col::ub, SCIP_Col::vals, and SCIP_Col::var. Referenced by forkAddLP(), pseudoforkAddLP(), SCIPpricestoreApplyVars(), and subrootConstructLP().
adds a row to the LP and captures it
Definition at line 8900 of file lp.c. References SCIP_Row::age, checkLinks, SCIP_Row::cols, SCIP_Row::constant, ensureRowsSize(), SCIP_EventFilter::eventmask, FALSE, SCIP_Lp::flushed, SCIP_EventFilter::len, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::lpdepth, SCIP_Row::lppos, SCIP_Row::name, SCIP_Lp::ncols, SCIP_Lp::nremovablerows, SCIP_Lp::nrows, NULL, SCIP_Row::removable, SCIP_Row::rhs, rowCalcNorms(), SCIP_Lp::rows, rowUpdateAddLP(), SCIP_CALL, SCIP_EVENTTYPE_ROWADDEDLP, SCIP_OKAY, SCIPdebugMessage, SCIPdebugPrintf, SCIPeventCreateRowAddedLP(), SCIPeventqueueAdd(), SCIProwCapture(), SCIProwLock(), SCIPsetIsZero(), SCIPvarGetName(), SCIP_Row::vals, and SCIP_Col::var. Referenced by forkAddLP(), pseudoforkAddLP(), SCIPaddRowDive(), sepastoreApplyCut(), and subrootConstructLP(). method checks if all columns in the lazycols array have at least one lazy bound and also have a counter part in the cols array; furthermore, it is checked if columns in the cols array which have a lazy bound have a counter part in the lazycols array
Definition at line 8971 of file lp.c. References SCIP_Lp::cols, FALSE, SCIP_Lp::lazycols, SCIP_Col::lazylb, SCIP_Col::lazyub, SCIP_Lp::ncols, SCIP_Lp::nlazycols, NULL, SCIP_Bool, SCIPsetIsInfinity(), and TRUE. Referenced by lpDelColset(), and SCIPlpShrinkCols().
removes all columns after the given number of cols from the LP
Definition at line 9024 of file lp.c. References checkLazyColArray(), checkLinks, SCIP_Lp::cols, colUpdateDelLP(), SCIP_Lp::diving, FALSE, SCIP_Lp::flushed, SCIP_Lp::lazycols, SCIP_Col::len, SCIP_Col::lpdepth, SCIP_Lp::lpifirstchgcol, SCIP_Col::lppos, MIN, SCIP_Lp::ncols, SCIP_Lp::nlazycols, SCIP_Lp::nremovablecols, NULL, SCIP_Col::removable, SCIP_Col::rows, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPvarGetCol(), SCIPvarGetStatus(), and SCIP_Col::var. Referenced by focusnodeCleanupVars(), focusnodeToFork(), SCIPlpClear(), SCIPtreeLoadLP(), and treeBacktrackProbing().
removes and releases all rows after the given number of rows from the LP
Definition at line 9092 of file lp.c. References checkLinks, SCIP_Row::cols, SCIP_EventFilter::eventmask, FALSE, SCIP_Lp::flushed, SCIP_EventFilter::len, SCIP_Row::len, SCIP_Row::lpdepth, SCIP_Lp::lpifirstchgrow, SCIP_Row::lppos, MIN, SCIP_Lp::nremovablerows, SCIP_Lp::nrows, NULL, SCIP_Row::removable, SCIP_Lp::rows, rowUpdateDelLP(), SCIP_CALL, SCIP_EVENTTYPE_ROWDELETEDLP, SCIP_OKAY, SCIPdebugMessage, SCIPeventCreateRowDeletedLP(), SCIPeventqueueAdd(), SCIProwRelease(), and SCIProwUnlock(). Referenced by focusnodeToFork(), SCIPlpClear(), SCIPlpEndDive(), SCIPtreeLoadLP(), and treeBacktrackProbing().
removes all columns and rows from LP, releases all rows
Definition at line 9158 of file lp.c. References SCIP_Lp::diving, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPlpShrinkCols(), and SCIPlpShrinkRows(). Referenced by SCIPlpFree(), SCIPlpReset(), and SCIPtreeLoadLP().
remembers number of columns and rows to track the newly added ones
Definition at line 9177 of file lp.c. References SCIP_Lp::diving, SCIP_Lp::firstnewcol, SCIP_Lp::firstnewrow, SCIP_Lp::ncols, SCIP_Lp::nrows, and NULL. Referenced by SCIPnodeFocus(), SCIPtreeLoadLP(), and treeCreateProbingNode().
sets the remembered number of columns and rows to the given values
Definition at line 9189 of file lp.c. References SCIP_Lp::diving, SCIP_Lp::firstnewcol, SCIP_Lp::firstnewrow, and NULL. Referenced by treeBacktrackProbing().
gets all indices of basic columns and rows: index i >= 0 corresponds to column i, index i < 0 to row -i-1
Definition at line 9203 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBasisInd(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by SCIPgetLPBasisInd().
gets current basis status for columns and rows; arrays must be large enough to store the basis status
Definition at line 9220 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBase(), SCIP_Lp::solisbasic, and SCIP_Lp::solved.
gets a row from the inverse basis matrix B^-1
Definition at line 9237 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBInvRow(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by SCIPgetLPBInvRow().
gets a column from the inverse basis matrix B^-1
Definition at line 9256 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBInvCol(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by SCIPgetLPBInvCol().
gets a row from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A)
Definition at line 9279 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBInvARow(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by SCIPgetLPBInvARow().
gets a column from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A), i.e., it computes B^-1 * A_c with A_c being the c'th column of A
Definition at line 9301 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBInvACol(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by SCIPgetLPBInvACol().
calculates a weighted sum of all LP rows; for negative weights, the left and right hand side of the corresponding LP row are swapped in the summation
Definition at line 9322 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::constant, FALSE, SCIP_Row::len, SCIP_Row::lhs, SCIP_Lp::nrows, NULL, SCIP_Prob::nvars, SCIP_Row::rhs, SCIP_Lp::rows, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPrealarrayClear(), SCIPrealarrayExtend(), SCIPrealarrayIncVal(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIP_Row::vals, SCIP_Col::var, and SCIP_Col::var_probindex. Referenced by SCIPsumLPRows().
returns the maximum absolute row weight in the given weight vector, and calculates the sparsity pattern of the weights
Definition at line 9409 of file lp.c. References MAX, SCIP_Lp::nrows, NULL, REALABS, SCIP_Lp::rows, SCIP_Real, and SCIProwGetNNonz(). Referenced by sumMIRRow(), and sumStrongCGRow().
adds a single row to an aggregation
Definition at line 9452 of file lp.c. References SCIP_Row::cols, SCIP_Row::constant, SCIP_Row::integral, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::lppos, NULL, SCIP_Row::rhs, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPvarGetCol(), SCIPvarGetProbindex(), SCIPvarGetStatus(), TRUE, SCIP_Row::vals, SCIP_Col::var, and SCIP_Col::var_probindex. Referenced by sumMIRRow(), and sumStrongCGRow().
builds a weighted sum of rows, and decides whether to use the left or right hand side of the rows in summation
Definition at line 9523 of file lp.c. References addRowToAggregation(), BMSclearMemoryArray, SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::constant, debugRowPrint, FALSE, getMaxAbsWeightCalcSparsity(), SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::local, MAX, SCIP_Row::modifiable, NULL, SCIP_Prob::nvars, SCIP_Row::rank, REALABS, SCIP_Row::rhs, SCIP_Lp::rows, SCIP_Bool, SCIP_Real, SCIPdebugMessage, SCIProwGetName(), SCIPsetIsInfinity(), SCIPsetIsSumZero(), SCIPsetIsZero(), TRUE, and SCIP_Row::vals. Referenced by SCIPlpCalcMIR().
removes all nearly-zero coefficients from MIR row and relaxes the right hand side correspondingly in order to prevent numerical rounding errors
Definition at line 9696 of file lp.c. References FALSE, NULL, SCIP_Bool, SCIP_Real, SCIPdebugMessage, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsSumZero(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and SCIP_Prob::vars. Referenced by SCIPlpCalcMIR(), and SCIPlpCalcStrongCG().
finds the best lower bound of the variable to use for MIR transformation
Definition at line 9764 of file lp.c. References NULL, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPsetIsGE(), SCIPsetIsGT(), SCIPvarGetClosestVlb(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetType(), and SCIPvarGetVlbVars(). Referenced by transformMIRRow().
finds the best upper bound of the variable to use for MIR transformation
Definition at line 9820 of file lp.c. References NULL, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPsetIsLE(), SCIPsetIsLT(), SCIPvarGetClosestVub(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and SCIPvarGetVubVars(). Referenced by transformMIRRow().
Transform equation into standard form . Transform variables (lb or ub):
and move the constant terms or to the rhs. Transform variables (vlb or vub):
move the constant terms or to the rhs, and update the coefficient of the VLB variable:
Definition at line 9901 of file lp.c. References FALSE, findBestLb(), findBestUb(), NULL, SCIP_Prob::nvars, REALABS, SCIP_BASESTAT_ZERO, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPcolGetBasisStatus(), SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFrac(), SCIPsetFreeBufferArray, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPsetSumFrac(), SCIPsolGetVal(), SCIPsortDownInt(), SCIPvarGetCol(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetLPSol(), SCIPvarGetName(), SCIPvarGetNVlbs(), SCIPvarGetNVubs(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), SCIPvarIsActive(), TRUE, and SCIP_Prob::vars. Referenced by SCIPlpCalcMIR().
Calculate fractionalities , and derive MIR cut
Transform inequality back to : (lb or ub):
and move the constant terms
to the rhs. (vlb or vub):
move the constant terms
to the rhs, and update the VB variable coefficients:
Definition at line 10436 of file lp.c. References FALSE, NULL, SCIP_Real, SCIPsetFloor(), SCIPsetIsInfinity(), SCIPsetIsSumLE(), SCIPsetIsZero(), SCIPsortDownInt(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetNVlbs(), SCIPvarGetNVubs(), SCIPvarGetProbindex(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), SCIPvarIsActive(), SCIPvarIsIntegral(), TRUE, and SCIP_Prob::vars. Referenced by SCIPlpCalcMIR().
substitute aggregated slack variables: The coefficient of the slack variable s_r is equal to the row's weight times the slack's sign, because the slack variable only appears in its own row: Depending on the slacks type (integral or continuous), its coefficient in the cut calculates as follows:
Substitute by adding times the slack's definition to the cut.
Definition at line 10623 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::constant, SCIP_Row::integral, SCIP_Row::len, SCIP_Row::lhs, NULL, SCIP_Row::rhs, SCIP_Lp::rows, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPsetFloor(), SCIPsetIsFeasIntegral(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetProbindex(), SCIPvarGetStatus(), TRUE, SCIP_Row::vals, SCIP_Col::var, and SCIP_Col::var_probindex. Referenced by SCIPlpCalcMIR().
calculates the activity of the given MIR cut
Definition at line 10808 of file lp.c. References NULL, SCIP_Real, SCIPsolGetVal(), SCIPvarGetLPSol(), and SCIP_Prob::vars. Referenced by SCIPlpCalcMIR(), and SCIPlpCalcStrongCG().
Definition at line 10839 of file lp.c. References BMScopyMemoryArray, cleanupMIRRow(), FALSE, getMIRRowActivity(), MAXCMIRSCALE, SCIP_Lp::nrows, NULL, SCIP_Prob::nvars, REALABS, roundMIRRow(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebug, SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsZero(), SCIPsetSumFloor(), SCIP_Lp::solved, substituteMIRRow(), sumMIRRow(), transformMIRRow(), and TRUE. Referenced by SCIPcalcMIR().
builds a weighted sum of rows, and decides whether to use the left or right hand side of the rows in summation
Definition at line 11048 of file lp.c. References addRowToAggregation(), BMSclearMemoryArray, SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::constant, debugRowPrint, FALSE, getMaxAbsWeightCalcSparsity(), SCIP_Row::integral, SCIP_Row::len, SCIP_Row::lhs, SCIP_Row::local, MAX, SCIP_Row::modifiable, NULL, SCIP_Prob::nvars, SCIP_Row::rank, SCIP_Row::rhs, SCIP_Lp::rows, SCIP_Bool, SCIP_Real, SCIPdebugMessage, SCIProwGetName(), SCIPsetIsInfinity(), SCIPsetIsSumZero(), SCIPsetIsZero(), TRUE, and SCIP_Row::vals. Referenced by SCIPlpCalcStrongCG().
Transform equation , into standard form , . Transform variables (lb or ub):
and move the constant terms or to the rhs. Transform variables (vlb or vub):
move the constant terms or to the rhs, and update the coefficient of the VLB variable:
Definition at line 11240 of file lp.c. References FALSE, NULL, SCIP_Prob::nvars, SCIP_Bool, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPdebugMessage, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsZero(), SCIPsortDownInt(), SCIPvarGetClosestVlb(), SCIPvarGetClosestVub(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetLPSol(), SCIPvarGetName(), SCIPvarGetNVlbs(), SCIPvarGetNVubs(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarGetVlbCoefs(), SCIPvarGetVlbConstants(), SCIPvarGetVlbVars(), SCIPvarGetVubCoefs(), SCIPvarGetVubConstants(), SCIPvarGetVubVars(), SCIPvarIsActive(), TRUE, and SCIP_Prob::vars. Referenced by SCIPlpCalcStrongCG().
Calculate fractionalities , and integer with and integer with and derive strong CG cut
Transform inequality back to : (lb or ub):
and move the constant terms
to the rhs. (vlb or vub):
move the constant terms
to the rhs, and update the VB variable coefficients:
Definition at line 11566 of file lp.c. References FALSE, SCIP_Prob::ncontvars, NULL, SCIP_Prob::nvars, SCIP_Real, SCIP_VARTYPE_CONTINUOUS, SCIPsetCeil(), SCIPsetFloor(), SCIPsetIsInfinity(), SCIPsetIsSumLE(), SCIPsetIsZero(), SCIPsortDownInt(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetType(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), SCIPvarIsIntegral(), and SCIP_Prob::vars. Referenced by SCIPlpCalcStrongCG().
substitute aggregated slack variables: The coefficient of the slack variable s_r is equal to the row's weight times the slack's sign, because the slack variable only appears in its own row: . Depending on the slacks type (integral or continuous), its coefficient in the cut calculates as follows:
Substitute by adding times the slack's definition to the cut.
Definition at line 11745 of file lp.c. References SCIP_Row::cols, SCIP_Row::cols_index, SCIP_Row::constant, SCIP_Row::integral, SCIP_Row::len, SCIP_Row::lhs, NULL, SCIP_Row::rhs, SCIP_Lp::rows, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPsetCeil(), SCIPsetFeasCeil(), SCIPsetFeasFloor(), SCIPsetFloor(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetProbindex(), SCIPvarGetStatus(), TRUE, SCIP_Row::vals, SCIP_Col::var, and SCIP_Col::var_probindex. Referenced by SCIPlpCalcStrongCG().
Definition at line 11900 of file lp.c. References cleanupMIRRow(), FALSE, getMIRRowActivity(), SCIP_Lp::nrows, NULL, SCIP_Prob::nvars, roundStrongCGRow(), SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebug, SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetCeil(), SCIPsetFreeBufferArray, SCIPsetIsZero(), SCIPsetSumFloor(), SCIP_Lp::solved, substituteStrongCGRow(), sumStrongCGRow(), transformStrongCGRow(), and TRUE. Referenced by SCIPcalcStrongCG().
stores LP state (like basis information) into LP state object
Definition at line 12089 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetState(), and SCIP_Lp::solved. Referenced by forkCreate(), probingnodeUpdate(), and SCIPtreeStartProbing().
loads LP state (like basis information) into solver
Definition at line 12113 of file lp.c. References SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_OKAY, SCIPlpFlush(), SCIPlpiHasStateBasis(), SCIPlpiSetState(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by SCIPlpEndDive(), SCIPtreeEndProbing(), SCIPtreeLoadLPState(), and SCIPtreeLoadProbingLPState().
frees LP state information
Definition at line 12151 of file lp.c. References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiFreeState(). Referenced by forkReleaseLPIState(), probingnodeFree(), probingnodeUpdate(), SCIPlpEndDive(), SCIPtreeEndProbing(), and subrootReleaseLPIState().
stores pricing norms into LP norms object
Definition at line 12168 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetNorms(), and SCIP_Lp::solved. Referenced by SCIPtreeStartProbing().
loads pricing norms from LP norms object into solver
Definition at line 12192 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiSetNorms(). Referenced by SCIPtreeEndProbing(), and SCIPtreeLoadProbingLPState().
frees pricing norms information
Definition at line 12212 of file lp.c. References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiFreeNorms(). Referenced by SCIPtreeEndProbing().
sets the upper objective limit of the LP solver
Definition at line 12226 of file lp.c. References SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushed, lpCutoffDisabled, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, NULL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPdebugMessage, SCIPlpDivingObjChanged(), SCIPlpGetObjval(), SCIPlpGetSolstat(), SCIPsetIsInfinity(), and SCIP_Lp::solved. Referenced by primalSetCutoffbound(), SCIPchgCutoffboundDive(), SCIPchgVarObjDive(), and SCIPendDive().
returns the name of the given LP algorithm
Definition at line 12272 of file lp.c. References SCIP_LPALGO_BARRIER, SCIP_LPALGO_BARRIERCROSSOVER, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPALGO_PRIMALSIMPLEX, SCIPABORT, and SCIPerrorMessage. Referenced by lpAlgorithm(), lpSolve(), and lpSolveStable().
calls LPI to perform primal simplex, measures time and counts iterations, gets basis feasibility status
Definition at line 12295 of file lp.c. References SCIP_Lp::diving, SCIP_Stat::divinglptime, FALSE, SCIP_Lp::flushed, SCIP_Stat::lastdivenode, SCIP_Lp::lastlpalgo, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Lp::lpidualfeastol, SCIP_Lp::lpifastmip, SCIP_Lp::lpifeastol, SCIP_Lp::lpifromscratch, SCIP_Lp::lpipresolving, SCIP_Lp::lpiscaling, SCIP_Lp::lpiuobjlim, SCIP_Lp::ncols, SCIP_Stat::ndivinglpiterations, SCIP_Stat::ndivinglps, SCIP_Stat::nlpiterations, SCIP_Stat::nlps, SCIP_Stat::nnodes, SCIP_Stat::nprimallpiterations, SCIP_Stat::nprimallps, SCIP_Stat::nprimalresolvelpiterations, SCIP_Stat::nprimalresolvelps, SCIP_Stat::nprimalzeroitlps, SCIP_Lp::nrows, SCIP_Stat::nsbdivinglpiterations, SCIP_Stat::nsbdivinglps, NULL, SCIP_Stat::primallptime, SCIP_Stat::primalzeroittime, SCIP_Lp::probing, SCIP_CALL, SCIP_LPALGO_PRIMALSIMPLEX, SCIP_LPERROR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPlpGetIterations(), SCIPlpiSolvePrimal(), SCIPlpWrite(), SCIPmessagePrintInfo(), SCIPsnprintf(), SCIP_Lp::solisbasic, SCIP_Lp::strongbranchprobing, SCIP_Stat::strongbranchtime, TRUE, SCIP_Lp::validfarkaslp, and SCIP_Lp::validsollp. Referenced by lpAlgorithm().
calls LPI to perform dual simplex, measures time and counts iterations
Definition at line 12436 of file lp.c. References SCIP_Lp::diving, SCIP_Stat::divinglptime, SCIP_Stat::duallptime, SCIP_Stat::dualzeroittime, FALSE, SCIP_Lp::flushed, SCIP_Stat::lastdivenode, SCIP_Lp::lastlpalgo, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Lp::lpidualfeastol, SCIP_Lp::lpifastmip, SCIP_Lp::lpifeastol, SCIP_Lp::lpifromscratch, SCIP_Lp::lpipresolving, SCIP_Lp::lpiscaling, SCIP_Lp::lpiuobjlim, SCIP_Lp::ncols, SCIP_Stat::ndivinglpiterations, SCIP_Stat::ndivinglps, SCIP_Stat::nduallpiterations, SCIP_Stat::nduallps, SCIP_Stat::ndualresolvelpiterations, SCIP_Stat::ndualresolvelps, SCIP_Stat::ndualzeroitlps, SCIP_Stat::nlpiterations, SCIP_Stat::nlps, SCIP_Stat::nnodes, SCIP_Lp::nrows, SCIP_Stat::nsbdivinglpiterations, SCIP_Stat::nsbdivinglps, NULL, SCIP_Lp::probing, SCIP_CALL, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPERROR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPlpGetIterations(), SCIPlpiSolveDual(), SCIPlpWrite(), SCIPmessagePrintInfo(), SCIPsnprintf(), SCIP_Lp::solisbasic, SCIP_Lp::strongbranchprobing, SCIP_Stat::strongbranchtime, TRUE, SCIP_Lp::validfarkaslp, and SCIP_Lp::validsollp. Referenced by lpAlgorithm().
calls LPI to perform lexicographic dual simplex to find a lexicographically minimal optimal solution, measures time and counts iterations We follow the approach of the following paper to find a lexicographically minimal optimal solution: Zanette, Fischetti, Balas We do, however, not aim for the exact lexicographically minimal optimal solutions, but perform a heuristic, i.e., we limit the number of components which are minimized. More precisely, we first solve the problem with the dual simplex algorithm. Then we fix those nonbasic variables to their current value (i.e., one of the bounds except maybe for free variables) that have nonzero reduced cost. This fixes the objective function value, because only pivots that will not change the objective are allowed afterwards. Then the not yet fixed variables are considered in turn. If they are at their lower bounds and nonbasic, they are fixed to this bound, since their value cannot be decreased further. Once a candidate is found, we set the objective to minimize this variable. We run the primal simplex algorithm (since the objective is changed the solution is not dual feasible anymore; if variables out of the basis have been fixed to their lower bound, the basis is also not primal feasible anymore). After the optimization, we again fix nonbasic variables that have nonzero reduced cost. We then choose the next variable and iterate. We stop the process once we do not find candidates or have performed a maximum number of iterations.
Definition at line 12610 of file lp.c. References SCIP_Lp::diving, SCIP_Stat::divinglptime, SCIP_Stat::duallptime, SCIP_Stat::dualzeroittime, FALSE, SCIP_Lp::flushed, SCIP_Stat::lastdivenode, SCIP_Lp::lastlpalgo, SCIP_Stat::lexduallptime, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Lp::lpifromscratch, SCIP_Lp::ncols, SCIP_Stat::ndivinglpiterations, SCIP_Stat::ndivinglps, SCIP_Stat::nduallpiterations, SCIP_Stat::nduallps, SCIP_Stat::ndualresolvelpiterations, SCIP_Stat::ndualresolvelps, SCIP_Stat::ndualzeroitlps, SCIP_Stat::nlexduallpiterations, SCIP_Stat::nlexduallps, SCIP_Stat::nlexdualresolvelpiterations, SCIP_Stat::nlexdualresolvelps, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Stat::nlpiterations, SCIP_Stat::nlps, SCIP_Stat::nnodes, SCIP_Lp::nrows, SCIP_Stat::nsbdivinglpiterations, SCIP_Stat::nsbdivinglps, NULL, SCIP_Lp::probing, SCIP_BASESTAT_BASIC, SCIP_BASESTAT_LOWER, SCIP_BASESTAT_UPPER, SCIP_BASESTAT_ZERO, SCIP_Bool, SCIP_CALL, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPERROR, SCIP_OKAY, SCIP_Real, SCIPABORT, SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPerrorMessage, SCIPlpGetIterations(), SCIPlpiChgBounds(), SCIPlpiChgObj(), SCIPlpiChgSides(), SCIPlpiGetBase(), SCIPlpiGetBounds(), SCIPlpiGetObj(), SCIPlpiGetSides(), SCIPlpiGetSol(), SCIPlpiIsOptimal(), SCIPlpiSolveDual(), SCIPlpiSolvePrimal(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPsetIsFeasPositive(), SCIPsetIsFeasZero(), SCIPsetIsInfinity(), SCIPsetIsIntegral(), SCIP_Lp::solisbasic, SCIP_Lp::strongbranchprobing, SCIP_Stat::strongbranchtime, TRUE, SCIP_Lp::validfarkaslp, and SCIP_Lp::validsollp. Referenced by lpAlgorithm().
calls LPI to perform barrier, measures time and counts iterations, gets basis feasibility status
Definition at line 13208 of file lp.c. References SCIP_Stat::barrierlptime, SCIP_Stat::barrierzeroittime, SCIP_Lp::diving, SCIP_Stat::divinglptime, SCIP_Stat::duallptime, FALSE, SCIP_Lp::flushed, SCIP_Stat::lastdivenode, SCIP_Lp::lastlpalgo, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Lp::lpibarrierconvtol, SCIP_Lp::lpidualfeastol, SCIP_Lp::lpifastmip, SCIP_Lp::lpifeastol, SCIP_Lp::lpifromscratch, SCIP_Lp::lpipresolving, SCIP_Lp::lpiscaling, SCIP_Lp::lpiuobjlim, SCIP_Stat::nbarrierlpiterations, SCIP_Stat::nbarrierlps, SCIP_Stat::nbarrierzeroitlps, SCIP_Lp::ncols, SCIP_Stat::ndivinglpiterations, SCIP_Stat::ndivinglps, SCIP_Stat::nlpiterations, SCIP_Stat::nlps, SCIP_Stat::nnodes, SCIP_Lp::nrows, SCIP_Stat::nsbdivinglpiterations, SCIP_Stat::nsbdivinglps, NULL, SCIP_Lp::probing, SCIP_CALL, SCIP_LPALGO_BARRIER, SCIP_LPALGO_BARRIERCROSSOVER, SCIP_LPERROR, SCIP_MAXSTRLEN, SCIP_OKAY, SCIP_Real, SCIPclockGetTime(), SCIPclockStart(), SCIPclockStop(), SCIPdebugMessage, SCIPlpGetIterations(), SCIPlpiSolveBarrier(), SCIPlpWrite(), SCIPmessagePrintInfo(), SCIPsnprintf(), SCIP_Lp::solisbasic, SCIP_Lp::strongbranchprobing, SCIP_Stat::strongbranchtime, TRUE, SCIP_Lp::validfarkaslp, and SCIP_Lp::validsollp. Referenced by lpAlgorithm().
solves the LP with the given algorithm
Definition at line 13345 of file lp.c. References SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushed, SCIP_Lp::installing, lpalgoName(), lpBarrier(), lpDualSimplex(), SCIP_Lp::lpi, lpLexDualSimplex(), lpPrimalSimplex(), lpSetRealpar(), SCIP_Stat::maxdepth, NULL, SCIP_Lp::primalfeasible, SCIP_Bool, SCIP_CALL, SCIP_INVALIDDATA, SCIP_LPALGO_BARRIER, SCIP_LPALGO_BARRIERCROSSOVER, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPALGO_PRIMALSIMPLEX, SCIP_LPPAR_LPTILIM, SCIP_OKAY, SCIP_Real, SCIPclockGetTime(), SCIPdebugMessage, SCIPerrorMessage, SCIPlpiGetSolFeasibility(), SCIP_Stat::solvingtime, and TRUE. Referenced by lpSolveStable().
solves the LP with the given LP algorithm, and tries to resolve numerical problems
Definition at line 13424 of file lp.c. References SCIP_Lp::cutoffbound, FALSE, FEASTOLTIGHTFAC, SCIP_Lp::flushed, getFiniteLooseObjval(), SCIP_Lp::looseobjvalinf, lpalgoName(), lpAlgorithm(), SCIP_Lp::lpi, lpSetBarrierconvtol(), lpSetConditionLimit(), lpSetDualfeastol(), lpSetFastmip(), lpSetFeastol(), lpSetFromscratch(), lpSetIterationLimit(), lpSetLPInfo(), lpSetPresolving(), lpSetPricingChar(), lpSetRowrepswitch(), lpSetScaling(), lpSetThreads(), lpSetUobjlim(), SCIP_Stat::nlps, SCIP_Stat::nnodes, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPALGO_PRIMALSIMPLEX, SCIP_OKAY, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIPerrorMessage, SCIPlpiIgnoreInstability(), SCIPlpiIsIterlimExc(), SCIPlpiIsStable(), SCIPmessagePrintVerbInfo(), SCIPsetBarrierconvtol(), SCIPsetDualfeastol(), SCIPsetIsInfinity(), SCIPsetLpfeastol(), and TRUE. Referenced by lpSolve().
solves the LP with the given algorithm and evaluates return status
Definition at line 13857 of file lp.c. References checkLinks, SCIP_Lp::cutoffbound, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushed, getFiniteLooseObjval(), SCIP_Lp::lastlpalgo, lpalgoName(), lpCutoffDisabled, SCIP_Lp::lpi, SCIP_Lp::lpiuobjlim, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, lpSolveStable(), SCIP_Stat::nlps, SCIP_Stat::nnodes, NULL, SCIP_Lp::primalfeasible, SCIP_Bool, SCIP_CALL, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPALGO_PRIMALSIMPLEX, SCIP_LPERROR, SCIP_LPSOLSTAT_ERROR, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_TIMELIMIT, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_VERBLEVEL_FULL, SCIPdebugMessage, SCIPerrorMessage, SCIPlpiExistsPrimalRay(), SCIPlpiGetInternalStatus(), SCIPlpiGetObjval(), SCIPlpiHasDualRay(), SCIPlpiHasPrimalRay(), SCIPlpiIsDualFeasible(), SCIPlpiIsIterlimExc(), SCIPlpiIsObjlimExc(), SCIPlpiIsOptimal(), SCIPlpiIsPrimalFeasible(), SCIPlpiIsPrimalInfeasible(), SCIPlpiIsTimelimExc(), SCIPmessagePrintVerbInfo(), SCIPsetInfinity(), SCIPsetIsGE(), SCIPsetIsInfinity(), SCIPsetIsLE(), SCIP_Lp::solved, and TRUE. Referenced by lpFlushAndSolve(), and SCIPlpSolveAndEval().
flushes the LP and solves it with the primal or dual simplex algorithm, depending on the current basis feasibility
Definition at line 14025 of file lp.c. References SCIP_Lp::dualfeasible, SCIP_Lp::flushaddedcols, SCIP_Lp::flushdeletedcols, lpSolve(), NULL, SCIP_Lp::primalfeasible, SCIP_Bool, SCIP_CALL, SCIP_LPALGO_BARRIER, SCIP_LPALGO_BARRIERCROSSOVER, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPALGO_PRIMALSIMPLEX, SCIP_OKAY, SCIP_PARAMETERWRONGVAL, SCIPdebugMessage, SCIPerrorMessage, SCIPlpFlush(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by SCIPlpSolveAndEval(). checks if the lazy bounds are valid
Definition at line 14114 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lazycols, SCIP_Col::lazylb, SCIP_Col::lazyub, SCIP_Lp::nlazycols, SCIP_Col::primsol, SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), and SCIPsetIsInfinity(). Referenced by SCIPlpSolveAndEval().
marks all lazy columns to be changed; this is needed for reloading/removing bounds of these columns before and after diving
Definition at line 14141 of file lp.c. References SCIP_Lp::diving, SCIP_Lp::divinglazyapplied, SCIP_Col::flushedlb, SCIP_Col::flushedub, insertColChgcols(), SCIP_Lp::lazycols, SCIP_Col::lazylb, SCIP_Col::lazyub, SCIP_Col::lb, SCIP_Col::lbchanged, SCIP_Lp::lpi, SCIP_Lp::nlazycols, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPlpiInfinity(), SCIPsetIsGT(), SCIPsetIsInfinity(), SCIPsetIsLT(), TRUE, SCIP_Col::ub, and SCIP_Col::ubchanged. Referenced by SCIPlpEndDive(), and SCIPlpSolveAndEval(). returns the iteration limit for an LP resolving call
Definition at line 14203 of file lp.c. References MAX, MIN, SCIP_Stat::nlpiterations, SCIP_Stat::nlps, SCIP_Stat::nrootlpiterations, SCIP_Stat::nrootlps, and SCIP_Real. Referenced by SCIPlpSolveAndEval().
solves the LP with simplex algorithm, and copy the solution into the column's data
Definition at line 14223 of file lp.c. References checkLazyBounds(), SCIP_Lp::cutoffbound, SCIP_Lp::diving, SCIP_Lp::divinglazyapplied, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushaddedcols, SCIP_Lp::flushdeletedcols, SCIP_Lp::flushed, getFiniteLooseObjval(), SCIP_Lp::lastlpalgo, lpCutoffDisabled, lpFlushAndSolve(), lpGetResolveItlim(), SCIP_Lp::lpi, SCIP_Lp::lpifromscratch, SCIP_Lp::lpihasfastmip, SCIP_Lp::lpiuobjlim, SCIP_Lp::lpobjval, lpSetFromscratch(), SCIP_Lp::lpsolstat, lpSolve(), MIN, SCIP_Lp::ncols, SCIP_Lp::nlazycols, SCIP_Stat::nlps, SCIP_Stat::nnodes, SCIP_Lp::nrows, NULL, SCIP_Prob::nvars, SCIP_Lp::primalfeasible, SCIP_Lp::probing, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_Longint, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPALGO_PRIMALSIMPLEX, SCIP_LPERROR, SCIP_LPSOLSTAT_ERROR, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_TIMELIMIT, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIP_VERBLEVEL_FULL, SCIP_VERBLEVEL_HIGH, SCIPdebugMessage, SCIPerrorMessage, SCIPlpFlush(), SCIPlpGetDualfarkas(), SCIPlpGetLPI(), SCIPlpGetSol(), SCIPlpGetSolstat(), SCIPlpGetUnboundedSol(), SCIPlpiGetObjval(), SCIPlpiHasDualRay(), SCIPlpiInfinity(), SCIPlpiIsObjlimExc(), SCIPlpRemoveNewObsoletes(), SCIPlpUpdateAges(), SCIPmessagePrintVerbInfo(), SCIPprobAllColsInLP(), SCIPsetGetCharParam(), SCIPsetInfinity(), SCIPsetIsFeasNegative(), SCIPsetIsGE(), SCIPsetIsLT(), SCIPsetSetCharParam(), SCIP_Lp::solved, TRUE, and updateLazyBounds(). Referenced by focusnodeToFork(), priceAndCutLoop(), SCIPlpEndDive(), SCIPpriceLoop(), SCIPsolveDiveLP(), SCIPtreeEndProbing(), separationRoundResolveLP(), solveNodeInitialLP(), solveNodeLP(), and solveProbingLP().
gets solution status of current LP
Definition at line 14760 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpsolstat, NULL, SCIP_LPSOLSTAT_NOTSOLVED, and SCIP_Lp::solved. Referenced by branchcandCalcLPCands(), conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), enforceConstraints(), focusnodeToFork(), forkCreate(), priceAndCutLoop(), propAndSolve(), SCIPconflictAnalyzeLP(), SCIPgetLPBranchCands(), SCIPgetLPSolstat(), SCIPgetNLPBranchCands(), SCIPgetNPrioLPBranchCands(), SCIPlpCleanupAll(), SCIPlpCleanupNew(), SCIPlpEndDive(), SCIPlpGetSol(), SCIPlpRemoveAllObsoletes(), SCIPlpRemoveNewObsoletes(), SCIPlpSetCutoffbound(), SCIPlpSolveAndEval(), SCIPlpStartDive(), SCIPpriceLoop(), SCIPpricerExec(), SCIPpricestoreAddProbVars(), SCIPprobUpdateBestRootSol(), SCIPsolveDiveLP(), SCIPtreeEndProbing(), SCIPtreeStartProbing(), separationRoundLP(), solveNode(), solveNodeInitialLP(), solveNodeLP(), solveProbingLP(), updateEstimate(), updatePrimalRay(), and updatePseudocost(). gets objective value of current LP
Definition at line 14776 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalid, SCIP_Lp::looseobjvalinf, SCIP_Lp::lpobjval, SCIP_Lp::nloosevars, NULL, recomputeLooseObjectiveValue(), SCIP_INVALID, SCIPsetInfinity(), SCIPsetIsInfinity(), and SCIP_Lp::solved. Referenced by analyzeStrongbranch(), forkCreate(), priceAndCutLoop(), propAndSolve(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPgetLPObjval(), SCIPgetSolOrigObj(), SCIPgetSolTransObj(), SCIPlpSetCutoffbound(), SCIPnodeUpdateLowerboundLP(), SCIPprobUpdateBestRootSol(), SCIPsolLinkLPSol(), solveNodeInitialLP(), solveNodeLP(), and updatePseudocost(). gets part of objective value of current LP that results from COLUMN variables only
Definition at line 14804 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpobjval, NULL, SCIP_INVALID, and SCIP_Lp::solved. Referenced by SCIPgetLPColumnObjval(), and SCIPlpStoreRootObjval(). gets part of objective value of current LP that results from LOOSE variables only
Definition at line 14815 of file lp.c. References SCIP_Lp::flushed, getFiniteLooseObjval(), SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalinf, SCIP_Lp::nloosevars, NULL, SCIP_INVALID, SCIPsetInfinity(), and SCIP_Lp::solved. Referenced by performStrongbranchWithPropagation(), SCIPgetLPLooseObjval(), SCIPlpStoreRootObjval(), and SCIPsolLinkLPSol(). remembers the current LP objective value as root solution value
Definition at line 14835 of file lp.c. References NULL, SCIP_Lp::rootlooseobjval, SCIP_Lp::rootlpobjval, SCIPlpGetColumnObjval(), and SCIPlpGetLooseObjval(). Referenced by SCIPprobStoreRootSol().
invalidates the root LP solution value
Definition at line 14848 of file lp.c. References NULL, SCIP_Lp::rootlooseobjval, SCIP_Lp::rootlpobjval, and SCIP_INVALID. Referenced by freeSolve(). gets the global pseudo objective value; that is all variables set to their best (w.r.t. the objective function) global bound
Definition at line 14861 of file lp.c. References SCIP_Lp::glbpseudoobjval, SCIP_Lp::glbpseudoobjvalid, SCIP_Lp::glbpseudoobjvalinf, NULL, recomputeGlbPseudoObjectiveValue(), SCIPsetInfinity(), and SCIPsetIsInfinity(). Referenced by SCIPgetGlobalPseudoObjval(), and solveNode(). gets the pseudo objective value for the current search node; that is all variables set to their best (w.r.t. the objective function) local bound
Definition at line 14890 of file lp.c. References NULL, SCIP_Lp::pseudoobjval, SCIP_Lp::pseudoobjvalid, SCIP_Lp::pseudoobjvalinf, recomputePseudoObjectiveValue(), SCIPsetInfinity(), and SCIPsetIsInfinity(). Referenced by applyBounding(), enforceConstraints(), SCIPconflictAnalyzePseudo(), SCIPgetPseudoObjval(), SCIPgetSolOrigObj(), SCIPgetSolTransObj(), SCIPprimalHeuristics(), SCIPsolLinkPseudoSol(), and solveNode().
gets pseudo objective value, if a bound of the given variable would be modified in the given way
Definition at line 14917 of file lp.c. References getFinitePseudoObjval(), SCIP_Lp::pseudoobjvalinf, REALABS, SCIP_Real, SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetBestBoundType(), and SCIPvarGetObj(). Referenced by SCIPnodeAddBoundinfer().
gets pseudo objective value, if a bound of the given variable would be modified in the given way; perform calculations with interval arithmetic to get an exact lower bound
Definition at line 14957 of file lp.c. References SCIP_Lp::pseudoobjval, SCIP_Lp::pseudoobjvalid, SCIP_Lp::pseudoobjvalinf, REALABS, SCIP_Real, SCIPintervalAdd(), SCIPintervalGetInf(), SCIPintervalMul(), SCIPintervalSet(), SCIPintervalSub(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsZero(), SCIPvarGetBestBoundType(), and SCIPvarGetObj(). Referenced by SCIPnodeAddBoundinfer().
Is the new value reliable or may we have cancellation?
Definition at line 15019 of file lp.c. References NULL, REALABS, SCIP_INVALID, SCIP_Real, and SCIPsetIsZero(). Referenced by lpUpdateObjNorms().
compute the objective delta due the new objective coefficient
Definition at line 15037 of file lp.c. References REALABS, SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsetIsNegative(), and SCIPsetIsPositive(). Referenced by SCIPlpUpdateVarObj().
compute the objective delta due the new lower bound
Definition at line 15169 of file lp.c. References REALABS, SCIPsetIsInfinity(), and SCIPsetIsPositive(). Referenced by SCIPlpUpdateVarLb(), and SCIPlpUpdateVarLbGlobal().
compute the objective delta due the new upper bound
Definition at line 15210 of file lp.c. References REALABS, SCIPsetIsInfinity(), and SCIPsetIsNegative(). Referenced by SCIPlpUpdateVarUb(), and SCIPlpUpdateVarUbGlobal().
update norms of objective function vector
Definition at line 15251 of file lp.c. References isNewValueUnreliable(), MAX, SCIP_Lp::objsqrnorm, SCIP_Lp::objsqrnormunreliable, SCIP_Lp::objsumnorm, REALABS, SCIP_Real, SCIPsetIsGE(), SCIPsetIsLT(), and TRUE. Referenced by SCIPlpUpdateVarObj().
updates current pseudo and loose objective values for a change in a variable's objective value or bounds
Definition at line 15288 of file lp.c. References FALSE, SCIP_Lp::glbpseudoobjval, SCIP_Lp::glbpseudoobjvalid, SCIP_Lp::glbpseudoobjvalinf, SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalid, SCIP_Lp::looseobjvalinf, NULL, SCIP_Lp::pseudoobjval, SCIP_Lp::pseudoobjvalid, SCIP_Lp::pseudoobjvalinf, REALABS, SCIP_Lp::relglbpseudoobjval, SCIP_Lp::rellooseobjval, SCIP_Lp::relpseudoobjval, SCIP_VARSTATUS_LOOSE, SCIPsetIsUpdateUnreliable(), SCIPvarGetStatus(), and TRUE. Referenced by lpUpdateVarColumn(), lpUpdateVarLoose(), SCIPlpUpdateVarLb(), SCIPlpUpdateVarLbGlobal(), SCIPlpUpdateVarObj(), SCIPlpUpdateVarUb(), and SCIPlpUpdateVarUbGlobal().
updates current pseudo and loose objective values for a change in a variable's objective value or bounds; pseudo objective value is calculated with interval arithmetics to get a proved lower bound
Definition at line 15370 of file lp.c. References SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalinf, NULL, SCIP_Lp::pseudoobjval, SCIP_Lp::pseudoobjvalinf, REALABS, SCIP_INVALIDDATA, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPerrorMessage, SCIPintervalAdd(), SCIPintervalGetInf(), SCIPintervalMul(), SCIPintervalSet(), SCIPintervalSub(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPvarGetProbindex(), and SCIPvarGetStatus(). Referenced by SCIPlpUpdateVarLb(), SCIPlpUpdateVarObj(), and SCIPlpUpdateVarUb().
updates current pseudo and loose objective value for a change in a variable's objective value
Definition at line 15483 of file lp.c. References FALSE, getObjvalDeltaObj(), lpUpdateObjNorms(), lpUpdateObjval(), lpUpdateVarProved(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPsetIsEQ(), SCIPvarGetLbGlobal(), SCIPvarGetLbLocal(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbGlobal(), SCIPvarGetUbLocal(), and TRUE. Referenced by SCIPeventProcess(), SCIPlpUpdateAddVar(), and SCIPlpUpdateDelVar().
updates current root pseudo objective value for a global change in a variable's lower bound
Definition at line 15533 of file lp.c. References FALSE, getObjvalDeltaLb(), lpUpdateObjval(), NULL, SCIP_OKAY, SCIP_Real, SCIPsetIsEQ(), SCIPsetIsPositive(), SCIPvarGetObj(), and TRUE. Referenced by SCIPeventProcess().
updates current pseudo and loose objective value for a change in a variable's lower bound
Definition at line 15560 of file lp.c. References FALSE, getObjvalDeltaLb(), lpUpdateObjval(), lpUpdateVarProved(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPsetIsEQ(), SCIPsetIsPositive(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and TRUE. Referenced by SCIPeventProcess().
updates current root pseudo objective value for a global change in a variable's upper bound
Definition at line 15601 of file lp.c. References FALSE, getObjvalDeltaUb(), lpUpdateObjval(), NULL, SCIP_OKAY, SCIP_Real, SCIPsetIsEQ(), SCIPsetIsNegative(), SCIPvarGetObj(), and TRUE. Referenced by SCIPeventProcess().
updates current pseudo objective value for a change in a variable's upper bound
Definition at line 15628 of file lp.c. References FALSE, getObjvalDeltaUb(), lpUpdateObjval(), lpUpdateVarProved(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPsetIsEQ(), SCIPsetIsNegative(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), and TRUE. Referenced by SCIPeventProcess().
informs LP, that given variable was added to the problem
Definition at line 15669 of file lp.c. References SCIP_Lp::nloosevars, NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPlpUpdateVarObj(), SCIPvarGetObj(), SCIPvarGetProbindex(), and SCIPvarGetStatus(). Referenced by SCIPprobAddVar().
informs LP, that given variable is to be deleted from the problem
Definition at line 15690 of file lp.c. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_LOOSE, SCIPlpDecNLoosevars(), SCIPlpUpdateVarObj(), SCIPvarGetObj(), SCIPvarGetProbindex(), and SCIPvarGetStatus(). Referenced by SCIPprobPerformVarDeletions().
informs LP, that given formerly loose problem variable is now a column variable
Definition at line 15714 of file lp.c. References FALSE, SCIP_Lp::looseobjvalinf, lpUpdateObjval(), SCIP_Lp::nloosevars, NULL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPlpDecNLoosevars(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and TRUE. Referenced by SCIPlpUpdateVarColumn().
informs LP, that given formerly loose problem variable is now a column variable pseudo objective value is calculated with interval arithmetics to get a proved lower bound
Definition at line 15761 of file lp.c. References SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalinf, SCIP_Lp::nloosevars, NULL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPintervalGetInf(), SCIPintervalMul(), SCIPintervalSet(), SCIPintervalSub(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), and SCIPvarGetUbLocal(). Referenced by SCIPlpUpdateVarColumn().
informs LP, that given formerly loose problem variable is now a column variable
Definition at line 15826 of file lp.c. References lpUpdateVarColumn(), lpUpdateVarColumnProved(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by SCIPvarColumn().
informs LP, that given formerly column problem variable is now again a loose variable
Definition at line 15848 of file lp.c. References FALSE, SCIP_Lp::looseobjvalinf, lpUpdateObjval(), SCIP_Lp::nloosevars, NULL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), and TRUE. Referenced by SCIPlpUpdateVarLoose().
informs LP, that given formerly column problem variable is now again a loose variable pseudo objective value is calculated with interval arithmetics to get a proved lower bound
Definition at line 15893 of file lp.c. References SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalinf, SCIP_Lp::nloosevars, NULL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_LOOSE, SCIPintervalAdd(), SCIPintervalGetInf(), SCIPintervalMul(), SCIPintervalSet(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetStatus(), and SCIPvarGetUbLocal(). Referenced by SCIPlpUpdateVarLoose().
informs LP, that given formerly column problem variable is now again a loose variable
Definition at line 15950 of file lp.c. References lpUpdateVarLoose(), lpUpdateVarLooseProved(), NULL, SCIP_CALL, and SCIP_OKAY. Referenced by SCIPvarLoose().
decrease the number of loose variables by one
Definition at line 15971 of file lp.c. References SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalinf, SCIP_Lp::nloosevars, and NULL. Referenced by lpUpdateVarColumn(), SCIPlpUpdateDelVar(), SCIPvarFix(), and SCIPvarMultiaggregate().
stores the LP solution in the columns and rows
Definition at line 15989 of file lp.c. References SCIP_Row::activity, SCIP_Col::basisstatus, SCIP_Row::basisstatus, BMSclearMemoryArray, SCIP_Row::constant, SCIP_Row::dualsol, FALSE, SCIP_Lp::flushed, SCIP_Lp::lastlpalgo, SCIP_Col::lb, SCIP_Row::lhs, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpirows, SCIP_Lp::lpobjval, MAX, SCIP_Col::maxprimsol, MIN, SCIP_Col::minprimsol, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, NULL, SCIP_Col::obj, SCIP_Col::primsol, SCIP_Col::redcost, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_LPALGO_BARRIER, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPlpGetSolstat(), SCIPlpiGetBase(), SCIPlpiGetSol(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasLE(), SCIPsetIsFeasLT(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPsetIsInfinity(), SCIPvarGetName(), SCIP_Lp::solisbasic, SCIP_Lp::solved, TRUE, SCIP_Row::validactivitylp, SCIP_Col::validredcostlp, and SCIP_Lp::validsollp. Referenced by SCIPlpSolveAndEval(), and SCIPlpStartDive().
stores LP solution with infinite objective value in the columns and rows
Definition at line 16268 of file lp.c. References SCIP_Row::activity, SCIP_Row::constant, SCIP_Row::dualsol, FALSE, SCIP_Lp::flushed, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpirows, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, MIN, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, NULL, SCIP_Col::obj, SCIP_Col::primsol, SCIP_Col::redcost, SCIP_CALL, SCIP_INVALID, SCIP_Longint, SCIP_LPERROR, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPerrorMessage, SCIPlpiGetPrimalRay(), SCIPlpiGetSol(), SCIPlpiHasPrimalRay(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsFeasGE(), SCIPsetIsFeasLE(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIPsetIsInfinity(), SCIPsetIsNegative(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIP_Lp::solved, TRUE, SCIP_Row::validactivitylp, SCIP_Col::validredcostlp, and SCIP_Lp::validsollp. Referenced by SCIPlpSolveAndEval(), and SCIPlpStartDive().
returns primal ray proving the unboundedness of the current LP
Definition at line 16436 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, SCIP_Lp::nlpicols, NULL, SCIP_CALL, SCIP_LPERROR, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPerrorMessage, SCIPlpiGetPrimalRay(), SCIPlpiHasPrimalRay(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsInfinity(), SCIPvarGetProbindex(), SCIP_Lp::solved, and SCIP_Col::var. Referenced by updatePrimalRay().
stores the dual Farkas multipliers for infeasibility proof in rows
Definition at line 16493 of file lp.c. References SCIP_Row::activity, SCIP_Row::basisstatus, SCIP_Row::dualfarkas, SCIP_Row::dualsol, SCIP_Lp::flushed, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpirows, SCIP_Lp::lpsolstat, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, NULL, SCIP_Col::primsol, SCIP_Col::redcost, SCIP_BASESTAT_BASIC, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPlpiGetDualfarkas(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Lp::solved, SCIP_Row::validactivitylp, SCIP_Col::validfarkaslp, SCIP_Lp::validfarkaslp, and SCIP_Col::validredcostlp. Referenced by SCIPlpSolveAndEval(), and SCIPlpStartDive().
get number of iterations used in last LP solve
Definition at line 16559 of file lp.c. References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiGetIterations(). Referenced by lpBarrier(), lpDualSimplex(), lpLexDualSimplex(), and lpPrimalSimplex().
increases age of columns with solution value 0.0 and basic rows with activity not at its bounds, resets age of non-zero columns and sharp rows
Definition at line 16574 of file lp.c. References SCIP_Col::age, SCIP_Row::age, SCIP_Lp::cols, SCIP_Lp::flushed, SCIP_Stat::lpcount, SCIP_Lp::lpicols, SCIP_Lp::lpirows, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Lp::nrows, NULL, SCIP_Lp::rows, SCIP_OKAY, SCIPdebugMessage, SCIP_Lp::solved, and SCIP_Lp::validsollp. Referenced by SCIPlpSolveAndEval().
Definition at line 16627 of file lp.c. References checkLazyColArray(), checkLinks, SCIP_Lp::cols, colUpdateDelLP(), SCIP_Lp::diving, FALSE, SCIP_Lp::flushed, SCIP_Lp::lazycols, SCIP_Col::lpdepth, SCIP_Lp::lpi, SCIP_Lp::lpicols, SCIP_Lp::lpifirstchgcol, SCIP_Col::lpipos, SCIP_Lp::lpobjval, SCIP_Col::lppos, SCIP_Lp::lpsolstat, markColDeleted(), SCIP_Lp::nchgcols, SCIP_Lp::ncols, SCIP_Lp::nlazycols, SCIP_Lp::nlpicols, SCIP_Lp::nremovablecols, NULL, SCIP_Lp::primalfeasible, SCIP_Col::removable, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPlpiDelColset(), and SCIP_Lp::solved. Referenced by lpCleanupCols(), and lpRemoveObsoleteCols().
Definition at line 16722 of file lp.c. References checkLinks, SCIP_Lp::diving, SCIP_Lp::dualfeasible, SCIP_EventFilter::eventmask, FALSE, SCIP_Lp::flushed, SCIP_EventFilter::len, SCIP_Row::lpdepth, SCIP_Lp::lpi, SCIP_Lp::lpifirstchgrow, SCIP_Row::lpipos, SCIP_Lp::lpirows, SCIP_Lp::lpobjval, SCIP_Row::lppos, SCIP_Lp::lpsolstat, markRowDeleted(), SCIP_Lp::nchgrows, SCIP_Lp::nlpirows, SCIP_Lp::nremovablerows, SCIP_Lp::nrows, NULL, SCIP_Row::removable, SCIP_Lp::rows, rowUpdateDelLP(), SCIP_CALL, SCIP_EVENTTYPE_ROWDELETEDLP, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPeventCreateRowDeletedLP(), SCIPeventqueueAdd(), SCIPlpiDelRowset(), SCIProwRelease(), SCIProwUnlock(), and SCIP_Lp::solved. Referenced by lpCleanupRows(), lpRemoveObsoleteRows(), and SCIPlpRemoveRedundantRows().
removes all non-basic columns, that are too old, beginning with the given firstcol
Definition at line 16819 of file lp.c. References SCIP_Col::age, SCIP_Col::basisstatus, BMSclearMemoryArray, SCIP_Lp::cols, SCIP_Lp::diving, SCIP_Lp::flushed, lpDelColset(), SCIP_Lp::lpicols, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Stat::nnodes, SCIP_Lp::nremovablecols, NULL, SCIP_Col::obsoletenode, SCIP_BASESTAT_BASIC, SCIP_CALL, SCIP_OKAY, SCIPcolGetBestBound(), SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsZero(), SCIPvarGetName(), and SCIP_Lp::solisbasic. Referenced by SCIPlpRemoveAllObsoletes(), and SCIPlpRemoveNewObsoletes().
removes all basic rows, that are too old, beginning with the given firstrow
Definition at line 16895 of file lp.c. References SCIP_Row::age, SCIP_Row::basisstatus, BMSclearMemoryArray, SCIP_Lp::diving, SCIP_Lp::flushed, lpDelRowset(), SCIP_Lp::lpirows, SCIP_Lp::nlpirows, SCIP_Stat::nnodes, SCIP_Lp::nremovablerows, SCIP_Lp::nrows, NULL, SCIP_Row::obsoletenode, SCIP_Lp::rows, SCIP_BASESTAT_BASIC, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, and SCIP_Lp::solisbasic. Referenced by SCIPlpRemoveAllObsoletes(), and SCIPlpRemoveNewObsoletes().
removes all non-basic columns and basic rows in the part of the LP created at the current node, that are too old
Definition at line 16971 of file lp.c. References SCIP_Lp::diving, SCIP_Lp::firstnewcol, SCIP_Lp::firstnewrow, lpRemoveObsoleteCols(), lpRemoveObsoleteRows(), SCIP_Lp::ncols, SCIP_Lp::nrows, NULL, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPdebugMessage, SCIPlpGetSolstat(), and SCIP_Lp::solved. Referenced by SCIPlpSolveAndEval().
removes all non-basic columns and basic rows in whole LP, that are too old
Definition at line 17002 of file lp.c. References SCIP_Lp::diving, lpRemoveObsoleteCols(), lpRemoveObsoleteRows(), SCIP_Lp::ncols, SCIP_Lp::nrows, NULL, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPdebugMessage, SCIPlpGetSolstat(), and SCIP_Lp::solved.
removes all non-basic columns at 0.0 beginning with the given firstcol
Definition at line 17033 of file lp.c. References BMSclearMemoryArray, SCIP_Lp::cols, SCIP_Lp::diving, SCIP_Lp::flushed, SCIP_Stat::lpcount, lpDelColset(), SCIP_Lp::lpicols, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Lp::nremovablecols, NULL, SCIP_BASESTAT_BASIC, SCIP_CALL, SCIP_OKAY, SCIPcolGetBestBound(), SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsZero(), SCIP_Lp::solisbasic, and SCIP_Lp::validsollp. Referenced by SCIPlpCleanupAll(), and SCIPlpCleanupNew().
removes all basic rows beginning with the given firstrow
Definition at line 17100 of file lp.c. References BMSclearMemoryArray, SCIP_Lp::diving, SCIP_Lp::flushed, SCIP_Stat::lpcount, lpDelRowset(), SCIP_Lp::lpirows, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Lp::nremovablerows, SCIP_Lp::nrows, NULL, SCIP_Lp::rows, SCIP_BASESTAT_BASIC, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Lp::solisbasic, and SCIP_Lp::validsollp. Referenced by SCIPlpCleanupAll(), and SCIPlpCleanupNew().
removes all non-basic columns at 0.0 and basic rows in the part of the LP created at the current node
Definition at line 17171 of file lp.c. References SCIP_Lp::diving, SCIP_Lp::firstnewcol, SCIP_Lp::firstnewrow, SCIP_Lp::lastlpalgo, lpCleanupCols(), lpCleanupRows(), SCIP_Lp::ncols, SCIP_Lp::nrows, NULL, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPdebugMessage, SCIPlpGetSolstat(), SCIP_Lp::solisbasic, and SCIP_Lp::solved. Referenced by focusnodeToFork().
removes all non-basic columns at 0.0 and basic rows in the whole LP
Definition at line 17210 of file lp.c. References SCIP_Lp::diving, SCIP_Lp::lastlpalgo, lpCleanupCols(), lpCleanupRows(), SCIP_Lp::ncols, SCIP_Lp::nrows, NULL, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPdebugMessage, SCIPlpGetSolstat(), SCIP_Lp::solisbasic, and SCIP_Lp::solved.
removes all redundant rows that were added at the current node
Definition at line 17249 of file lp.c. References SCIP_Row::basisstatus, BMSclearMemoryArray, SCIP_Lp::diving, SCIP_Lp::firstnewrow, SCIP_Lp::flushed, SCIP_Stat::lpcount, lpDelRowset(), SCIP_Lp::lpirows, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Lp::nrows, NULL, SCIP_Lp::rows, SCIP_BASESTAT_BASIC, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIProwGetLhs(), SCIProwGetMaxActivity(), SCIProwGetMinActivity(), SCIProwGetName(), SCIProwGetRhs(), SCIProwIsRedundant(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIP_Lp::solisbasic, and SCIP_Lp::validsollp. Referenced by priceAndCutLoop().
initiates LP diving
Definition at line 17323 of file lp.c. References SCIP_Lp::cols, colStoreSolVals(), SCIP_Lp::divelpistate, SCIP_Lp::divelpwasdualfeas, SCIP_Lp::divelpwasprimfeas, SCIP_Lp::diving, SCIP_Lp::divinglpiitlim, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushed, SCIP_Col::lb, SCIP_Stat::lpcount, SCIP_Lp::lpi, SCIP_LpSolVals::lpsolstat, SCIP_Lp::lpsolstat, lpStoreSolVals(), SCIP_Lp::ncols, SCIP_Lp::ndivechgsides, SCIP_Lp::ndivingrows, SCIP_Lp::nrows, NULL, SCIP_Col::obj, SCIP_Lp::primalfeasible, SCIP_Lp::probing, SCIP_Lp::rows, rowStoreSolVals(), SCIP_Bool, SCIP_CALL, SCIP_LPPAR_LPITLIM, SCIP_LPSOLSTAT_ERROR, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_TIMELIMIT, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPdebugMessage, SCIPlpGetDualfarkas(), SCIPlpGetSol(), SCIPlpGetSolstat(), SCIPlpGetUnboundedSol(), SCIPlpiGetIntpar(), SCIPlpiGetState(), SCIPsetIsFeasEQ(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIP_Lp::solved, SCIP_Lp::storedsolvals, TRUE, SCIP_Col::ub, SCIP_Lp::validsollp, and SCIP_Col::var. Referenced by SCIPstartDive().
quits LP diving and resets bounds and objective values of columns to the current node's values
Definition at line 17424 of file lp.c. References colRestoreSolVals(), SCIP_Lp::cols, SCIP_Lp::divechgrows, SCIP_Lp::divechgsides, SCIP_Lp::divechgsidetypes, SCIP_Lp::divelpistate, SCIP_Lp::divelpwasdualfeas, SCIP_Lp::divelpwasprimfeas, SCIP_Lp::diving, SCIP_Lp::divinglazyapplied, SCIP_Lp::divinglpiitlim, SCIP_Lp::divingobjchg, FALSE, SCIP_Lp::flushed, SCIP_Col::lb, SCIP_Stat::lpcount, SCIP_LpSolVals::lpissolved, lpRestoreSolVals(), lpSetIterationLimit(), SCIP_LpSolVals::lpsolstat, SCIP_Lp::ncols, SCIP_Lp::ndivechgsides, SCIP_Lp::ndivingrows, SCIP_Lp::nlazycols, SCIP_Stat::nlps, SCIP_Stat::nnodes, SCIP_Lp::nrows, NULL, SCIP_Col::obj, SCIP_Lp::resolvelperror, rowRestoreSolVals(), SCIP_Lp::rows, SCIP_Bool, SCIP_CALL, SCIP_LPSOLSTAT_INFEASIBLE, SCIP_LPSOLSTAT_ITERLIMIT, SCIP_LPSOLSTAT_OBJLIMIT, SCIP_LPSOLSTAT_OPTIMAL, SCIP_LPSOLSTAT_TIMELIMIT, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIP_Real, SCIP_SIDETYPE_LEFT, SCIP_VARSTATUS_COLUMN, SCIP_VERBLEVEL_FULL, SCIPcolChgLb(), SCIPcolChgObj(), SCIPcolChgUb(), SCIPdebugMessage, SCIPlpFlush(), SCIPlpFreeState(), SCIPlpGetSolstat(), SCIPlpSetState(), SCIPlpShrinkRows(), SCIPlpSolveAndEval(), SCIPmessagePrintVerbInfo(), SCIProwChgLhs(), SCIProwChgRhs(), SCIPsetIsEQ(), SCIPvarGetCol(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetStatus(), SCIPvarGetUbLocal(), SCIP_Lp::storedsolvals, TRUE, SCIP_Col::ub, updateLazyBounds(), and SCIP_Col::var. Referenced by SCIPendDive().
records a current row side such that any change will be undone after diving
Definition at line 17606 of file lp.c. References SCIP_Lp::divechgrows, SCIP_Lp::divechgsides, SCIP_Lp::divechgsidessize, SCIP_Lp::divechgsidetypes, DIVESTACKGROWFACT, SCIP_Row::lhs, SCIP_Lp::ndivechgsides, NULL, reallocDiveChgSideArrays(), SCIP_Row::rhs, SCIP_CALL, SCIP_OKAY, and SCIP_SIDETYPE_LEFT. Referenced by SCIPchgRowLhsDive(), and SCIPchgRowRhsDive().
informs the LP that probing mode was initiated
Definition at line 17630 of file lp.c. References NULL, SCIP_Lp::probing, SCIP_OKAY, SCIP_Lp::strongbranching, SCIP_Lp::strongbranchprobing, and TRUE. Referenced by SCIPtreeStartProbing().
informs the LP that probing mode was finished
Definition at line 17645 of file lp.c. References FALSE, NULL, SCIP_Lp::probing, SCIP_OKAY, SCIP_Lp::strongbranching, and SCIP_Lp::strongbranchprobing. Referenced by SCIPtreeEndProbing().
informs the LP that the probing mode is now used for strongbranching
Definition at line 17660 of file lp.c. References NULL, SCIP_Lp::probing, SCIP_Lp::strongbranching, SCIP_Lp::strongbranchprobing, and TRUE. Referenced by SCIPstartStrongbranch().
informs the LP that the probing mode is not used for strongbranching anymore
Definition at line 17673 of file lp.c. References FALSE, NULL, SCIP_Lp::probing, SCIP_Lp::strongbranching, and SCIP_Lp::strongbranchprobing. Referenced by SCIPendStrongbranch().
calculates y*b + min{(c - y*A)*x | lb <= x <= ub} for given vectors y and c; the vector b is defined with b[i] = lhs[i] if y[i] >= 0, b[i] = rhs[i] if y[i] < 0 Calculating this value in interval arithmetics gives a proved lower LP bound for the following reason (assuming, we have only left hand sides): min{cx | b <= Ax, lb <= x <= ub} >= min{cx | yb <= yAx, lb <= x <= ub} (restriction in minimum is relaxed) == yb + min{cx - yb | yb <= yAx, lb <= x <= ub} (added yb - yb == 0) >= yb + min{cx - yAx | yb <= yAx, lb <= x <= ub} (because yAx >= yb inside minimum) >= yb + min{cx - yAx | lb <= x <= ub} (restriction in minimum is relaxed)
Definition at line 17696 of file lp.c. References SCIP_Lp::cols, SCIP_Row::constant, SCIP_Row::dualfarkas, SCIP_Row::dualsol, SCIP_Col::lb, SCIP_Row::lhs, SCIP_Col::linkpos, SCIP_Row::lppos, SCIP_Lp::ncols, SCIP_Col::nlprows, SCIP_Lp::nrows, NULL, SCIP_Col::nunlinked, SCIP_Col::obj, SCIP_Row::rhs, SCIP_Col::rows, SCIP_Lp::rows, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcolGetLb(), SCIPcolGetUb(), SCIPintervalAdd(), SCIPintervalGetInf(), SCIPintervalMul(), SCIPintervalSet(), SCIPintervalSetBounds(), SCIPintervalSub(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsFeasNegative(), SCIPsetIsFeasPositive(), SCIP_Lp::solved, SCIP_Col::ub, and SCIP_Col::vals. Referenced by SCIPlpGetProvedLowerbound(), and SCIPlpIsInfeasibilityProved().
gets proven lower (dual) bound of last LP solution
Definition at line 17806 of file lp.c. References FALSE, provedBound(), SCIP_CALL, SCIP_OKAY, and SCIPdebugMessage. Referenced by SCIPnodeUpdateLowerboundLP(), and solveNodeInitialLP().
gets proven dual bound of last LP solution
Definition at line 17820 of file lp.c. References NULL, provedBound(), SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, and TRUE.
writes LP to a file
Definition at line 17842 of file lp.c. References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiWriteLP(). Referenced by lpBarrier(), lpDualSimplex(), lpPrimalSimplex(), and SCIPwriteLP().
writes MIP relaxation of the current B&B node to a file
Definition at line 17857 of file lp.c. References SCIP_Row::cols, SCIP_Lp::cols, SCIP_Row::constant, SCIP_Lp::flushed, SCIP_Col::lb, SCIP_Row::lhs, SCIP_Col::lppos, SCIP_Row::lppos, SCIP_Row::name, SCIP_Var::name, SCIP_Lp::ncols, SCIP_Row::nlpcols, SCIP_Lp::nrows, NULL, SCIP_Col::obj, REALABS, SCIP_Row::rhs, SCIP_Lp::rows, SCIP_ERROR, SCIP_FILECREATEERROR, SCIP_MAXSTRLEN, SCIP_OBJSENSE_MINIMIZE, SCIP_OKAY, SCIP_Real, SCIPdebugMessage, SCIPerrorMessage, SCIPmessageFPrintInfo(), SCIPmessagePrintWarning(), SCIPprintSysError(), SCIProwIsRemovable(), SCIPsetIsEQ(), SCIPsetIsInfinity(), SCIPsnprintf(), SCIPvarIsIntegral(), SCIP_Col::ub, SCIP_Row::vals, and SCIP_Col::var. Referenced by SCIPwriteMIP(). gets array with columns of the LP
Definition at line 18807 of file lp.c. References SCIP_Lp::cols, and NULL. Referenced by branchcandCalcLPCands(), SCIPcomputeLPRelIntPoint(), SCIPgetLPCols(), SCIPgetLPColsData(), and SCIPsolLinkLPSol().
gets current number of columns in LP
Definition at line 18817 of file lp.c. References SCIP_Lp::ncols, and NULL. Referenced by branchcandCalcLPCands(), conflictAnalyzeLP(), focusnodeCleanupVars(), focusnodeToFork(), initLP(), probingnodeCreate(), probingnodeUpdate(), SCIPcomputeLPRelIntPoint(), SCIPgetLPColsData(), SCIPgetNLPCols(), SCIPnodeFocus(), SCIPpricestoreAddProbVars(), SCIPpricestoreApplyVars(), SCIPprobAllColsInLP(), SCIPsolLinkLPSol(), SCIPtreeLoadLP(), treeBacktrackProbing(), and undoBdchgsDualsol(). gets array with rows of the LP
Definition at line 18827 of file lp.c. References NULL, and SCIP_Lp::rows. Referenced by conflictAnalyzeLP(), SCIPgetLPRows(), SCIPgetLPRowsData(), undoBdchgsDualfarkas(), and undoBdchgsDualsol().
gets current number of rows in LP
Definition at line 18837 of file lp.c. References SCIP_Lp::nrows, and NULL. Referenced by conflictAnalyzeLP(), focusnodeToFork(), initLP(), probingnodeCreate(), probingnodeUpdate(), SCIPgetLPRowsData(), SCIPgetNLPRows(), SCIPnodeFocus(), SCIPtreeLoadLP(), treeBacktrackProbing(), undoBdchgsDualfarkas(), and undoBdchgsDualsol(). gets array with newly added columns after the last mark
Definition at line 18847 of file lp.c. References SCIP_Lp::cols, SCIP_Lp::firstnewcol, SCIP_Lp::ncols, and NULL. Referenced by forkCreate(), and pseudoforkCreate().
gets number of newly added columns after the last mark
Definition at line 18858 of file lp.c. References SCIP_Lp::firstnewcol, SCIP_Lp::ncols, and NULL. Referenced by focusnodeCleanupVars(), focusnodeToFork(), focusnodeToJunction(), forkCreate(), pseudoforkCreate(), and SCIPnodeFocus(). gets array with newly added rows after the last mark
Definition at line 18869 of file lp.c. References SCIP_Lp::firstnewrow, SCIP_Lp::nrows, NULL, and SCIP_Lp::rows. Referenced by forkCreate(), and pseudoforkCreate().
gets number of newly added rows after the last mark
Definition at line 18880 of file lp.c. References SCIP_Lp::firstnewrow, SCIP_Lp::nrows, and NULL. Referenced by focusnodeToFork(), forkCreate(), pseudoforkCreate(), and SCIPnodeFocus(). recalculates Euclidean norm of objective function vector of column variables if it have gotten unreliable during calculation
Definition at line 18891 of file lp.c. References SCIP_Lp::cols, FALSE, MAX, SCIP_Lp::ncols, NULL, SCIP_Lp::objsqrnorm, SCIP_Lp::objsqrnormunreliable, and SCIPsetIsGE(). Referenced by SCIPgetObjNorm(), and SCIProwGetObjParallelism(). gets Euclidean norm of objective function vector of column variables, only use this method if lp->objsqrnormunreliable == FALSE, so probably you have to call SCIPlpRecalculateObjSqrNorm before
Definition at line 18922 of file lp.c. References NULL, SCIP_Lp::objsqrnorm, and SCIP_Lp::objsqrnormunreliable. Referenced by SCIPgetObjNorm(). sets whether the root lp is a relaxation of the problem and its optimal objective value is a global lower bound
Definition at line 18934 of file lp.c. References NULL, and SCIP_Lp::rootlpisrelax. Referenced by SCIPprobStoreRootSol(). returns whether the root lp is a relaxation of the problem and its optimal objective value is a global lower bound
Definition at line 18945 of file lp.c. References NULL, and SCIP_Lp::rootlpisrelax. Referenced by SCIPisRootLPRelax(). gets the objective value of the root node LP; returns SCIP_INVALID if the root node LP was not (yet) solved
Definition at line 18955 of file lp.c. References MIN, NULL, SCIP_Lp::rootlooseobjval, SCIP_Lp::rootlpobjval, and SCIP_INVALID. Referenced by SCIPgetLPRootObjval(). gets part of the objective value of the root node LP that results from COLUMN variables only; returns SCIP_INVALID if the root node LP was not (yet) solved
Definition at line 18967 of file lp.c. References NULL, and SCIP_Lp::rootlpobjval. Referenced by SCIPgetLPRootColumnObjval(). gets part of the objective value of the root node LP that results from LOOSE variables only; returns SCIP_INVALID if the root node LP was not (yet) solved
Definition at line 18979 of file lp.c. References NULL, and SCIP_Lp::rootlooseobjval. Referenced by SCIPgetLPRootLooseObjval(). gets the LP solver interface
Definition at line 18989 of file lp.c. References SCIP_Lp::lpi, and NULL. Referenced by conflictAnalyzeLP(), SCIPconflictAnalyzeLP(), SCIPgetLPI(), SCIPlpSolveAndEval(), SCIPprintLPSolutionQuality(), solveNodeLP(), undoBdchgsDualfarkas(), and undoBdchgsDualsol(). sets whether the current LP is a relaxation of the current problem and its optimal objective value is a local lower bound
Definition at line 18999 of file lp.c. References SCIP_Lp::isrelax, and NULL. Referenced by SCIPpriceLoop(), and SCIPtreeEndProbing(). returns whether the current LP is a relaxation of the problem for which it has been solved and its solution value a valid local lower bound?
Definition at line 19012 of file lp.c. References SCIP_Lp::isrelax, and NULL. Referenced by priceAndCutLoop(), propAndSolve(), SCIPendDive(), SCIPisLPRelax(), SCIPprobStoreRootSol(), SCIPtreeEndProbing(), solveNodeInitialLP(), solveProbingLP(), and updateEstimate(). returns whether the current LP is flushed and solved
Definition at line 19022 of file lp.c. References SCIP_Lp::flushed, NULL, and SCIP_Lp::solved. Referenced by priceAndCutLoop(), SCIPendDive(), SCIPlinkLPSol(), SCIPsolCreateLPSol(), and SCIPsolLinkCurrentSol(). returns whether the current LP solution is a basic solution
Definition at line 19032 of file lp.c. References NULL, and SCIP_Lp::solisbasic. Referenced by SCIPgetLPBasisInd(), SCIPgetLPBInvACol(), SCIPgetLPBInvARow(), SCIPgetLPBInvCol(), SCIPgetLPBInvRow(), SCIPisLPSolBasic(), SCIPprobUpdateBestRootSol(), and SCIPvarGetRedcost(). returns whether the LP is in diving mode
Definition at line 19042 of file lp.c. References SCIP_Lp::diving, and NULL. Referenced by computeLPBounds(), conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), SCIPaddRowDive(), SCIPchgCutoffboundDive(), SCIPchgRowLhs(), SCIPchgRowLhsDive(), SCIPchgRowRhs(), SCIPchgRowRhsDive(), SCIPchgVarLbDive(), SCIPchgVarObjDive(), SCIPchgVarUbDive(), SCIPendDive(), SCIPgetVarLbDive(), SCIPgetVarObjDive(), SCIPgetVarUbDive(), SCIPinDive(), SCIPprimalHeuristics(), SCIPsolLinkLPSol(), SCIPsolveDiveLP(), SCIPstartDive(), SCIPstartProbing(), SCIPstartStrongbranch(), SCIPtreeCutoff(), SCIPvarChgLbDive(), and SCIPvarChgUbDive(). returns whether the LP is in diving mode and the objective value of at least one column was changed
Definition at line 19052 of file lp.c. References SCIP_Lp::divingobjchg, and NULL. Referenced by conflictAnalyzeBoundexceedingLP(), conflictAnalyzeInfeasibleLP(), conflictAnalyzeLP(), SCIPlpSetCutoffbound(), SCIPsolLinkLPSol(), and SCIPsolveDiveLP().
marks the diving LP to have a changed objective function
Definition at line 19062 of file lp.c. References SCIP_Lp::diving, SCIP_Lp::divingobjchg, NULL, and TRUE. Referenced by SCIPchgVarObjDive().
compute relative interior point We use the approach of
to compute a relative interior point for the current LP. Assume the original LP looks as follows:
Note that bounds should be included in the system. To find an interior point the following LP does the job:
If the original LP is feasible, this LP is feasible as well. Any optimal solution yields the relative interior point . Note that this will just produce some relative interior point. It does not produce a particular relative interior point, e.g., one that maximizes the distance to the boundary in some norm.
Definition at line 19107 of file lp.c. References BMSclearMemoryArray, SCIP_Row::cols, SCIP_Lp::cols, SCIP_Row::constant, SCIP_Lp::cutoffbound, FALSE, getFiniteLooseObjval(), SCIP_Col::lb, SCIP_Row::lhs, SCIP_Lp::looseobjval, SCIP_Lp::looseobjvalinf, SCIP_Row::lpcolssorted, SCIP_Col::lppos, MAX, SCIP_Lp::ncols, SCIP_Row::nlpcols, SCIP_Lp::nrows, NULL, SCIP_Col::obj, REALABS, SCIP_Row::rhs, SCIP_Lp::rows, rowSortLP(), SCIP_CALL, SCIP_INVALID, SCIP_LPPAR_DUALFEASTOL, SCIP_LPPAR_FEASTOL, SCIP_LPPAR_LPITLIM, SCIP_LPPAR_LPTILIM, SCIP_OBJSEN_MAXIMIZE, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, SCIP_Real, SCIPdebugMessage, SCIPlpiAddCols(), SCIPlpiAddRows(), SCIPlpiCreate(), SCIPlpiFree(), SCIPlpiGetNCols(), SCIPlpiGetSol(), SCIPlpiInfinity(), SCIPlpiIsIterlimExc(), SCIPlpiIsOptimal(), SCIPlpiIsTimelimExc(), SCIPlpiSetIntpar(), SCIPlpiSetRealpar(), SCIPlpiSolveDual(), SCIPlpiWriteLP(), SCIPmessagePrintWarning(), SCIProwIsModifiable(), SCIPsetAllocBufferArray, SCIPsetDualfeastol(), SCIPsetFreeBufferArray, SCIPsetIsEQ(), SCIPsetIsFeasEQ(), SCIPsetIsFeasGE(), SCIPsetIsFeasGT(), SCIPsetIsFeasLT(), SCIPsetIsFeasZero(), SCIPsetIsInfinity(), SCIPsetLpfeastol(), TRUE, SCIP_Col::ub, and SCIP_Row::vals. Referenced by SCIPcomputeLPRelIntPoint(). Variable Documentation
additional scalars that are tried in integrality scaling Definition at line 5396 of file lp.c. Referenced by convertLongEquality(), multiAggregateBinvar(), SCIPconflictAddBound(), SCIPsolGetRayVal(), SCIPsolGetVal(), and writeExpandedSolutions().
Definition at line 5397 of file lp.c. Referenced by SCIProwCalcIntegralScalar(). |