Detailed Description
LP 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 "lpi/lpi.h"
#include "scip/clock.h"
#include "scip/cons.h"
#include "scip/event.h"
#include "scip/intervalarith.h"
#include "scip/lp.h"
#include "scip/misc.h"
#include "scip/prob.h"
#include "scip/pub_lp.h"
#include "scip/pub_message.h"
#include "scip/pub_misc.h"
#include "scip/pub_misc_sort.h"
#include "scip/pub_var.h"
#include "scip/set.h"
#include "scip/sol.h"
#include "scip/solve.h"
#include "scip/stat.h"
#include "scip/struct_event.h"
#include "scip/struct_lp.h"
#include "scip/struct_prob.h"
#include "scip/struct_set.h"
#include "scip/struct_stat.h"
#include "scip/struct_var.h"
#include "scip/var.h"
#include <string.h>
Go to the source code of this file.
Macros | |
#define | debugRowPrint(x, y) |
#define | debugColPrint(x, y) |
#define | checkRow(row) |
#define | checkRowSqrnorm(row) |
#define | checkRowSumnorm(row) |
#define | checkRowObjprod(row) |
#define | checkLinks(lp) |
#define | lpCutoffDisabled(set, prob) (set->lp_disablecutoff == 1 || ((set->nactivepricers > 0 || !SCIPprobAllColsInLP(prob, set, lp)) && set->lp_disablecutoff == 2)) |
#define | DIVESTACKINITSIZE 100 |
#define | MAXNUMTROUBLELPMSGS 10 |
#define | FEASTOLTIGHTFAC 0.001 |
#define | DIVESTACKGROWFACT 1.5 |
Variables | |
static const SCIP_Real | scalars [] = {3.0, 5.0, 7.0, 9.0, 11.0, 13.0, 15.0, 17.0, 19.0} |
static const int | nscalars = 9 |
Macro Definition Documentation
◆ debugRowPrint
◆ debugColPrint
◆ checkRow
◆ checkRowSqrnorm
◆ checkRowSumnorm
◆ checkRowObjprod
◆ checkLinks
◆ lpCutoffDisabled
◆ DIVESTACKINITSIZE
◆ MAXNUMTROUBLELPMSGS
#define MAXNUMTROUBLELPMSGS 10 |
◆ FEASTOLTIGHTFAC
◆ DIVESTACKGROWFACT
Function Documentation
◆ ensureChgcolsSize()
|
static |
ensures, that chgcols array can store at least num entries
- Parameters
-
lp current LP data set global SCIP settings num minimum number of entries to store
Definition at line 168 of file lp.c.
References BMSreallocMemoryArray, SCIP_Lp::chgcols, SCIP_Lp::chgcolssize, SCIP_Lp::nchgcols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by insertColChgcols().
◆ ensureChgrowsSize()
|
static |
ensures, that chgrows array can store at least num entries
- Parameters
-
lp current LP data set global SCIP settings num minimum number of entries to store
Definition at line 191 of file lp.c.
References BMSreallocMemoryArray, SCIP_Lp::chgrows, SCIP_Lp::chgrowssize, SCIP_Lp::nchgrows, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by rowSideChanged().
◆ ensureLpicolsSize()
|
static |
ensures, that lpicols array can store at least num entries
- Parameters
-
lp current LP data set global SCIP settings num minimum number of entries to store
Definition at line 214 of file lp.c.
References BMSreallocMemoryArray, SCIP_Lp::lpicols, SCIP_Lp::lpicolssize, SCIP_Lp::nlpicols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by lpFlushAddCols().
◆ ensureLpirowsSize()
|
static |
ensures, that lpirows array can store at least num entries
- Parameters
-
lp current LP data set global SCIP settings num minimum number of entries to store
Definition at line 237 of file lp.c.
References BMSreallocMemoryArray, SCIP_Lp::lpirows, SCIP_Lp::lpirowssize, SCIP_Lp::nlpirows, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by lpFlushAddRows().
◆ ensureColsSize()
|
static |
ensures, that cols array can store at least num entries
- Parameters
-
lp current LP data set global SCIP settings num minimum number of entries to store
Definition at line 260 of file lp.c.
References BMSreallocMemoryArray, SCIP_Lp::cols, SCIP_Lp::colssize, SCIP_Lp::ncols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPlpAddCol().
◆ ensureSoldirectionSize()
|
static |
ensures, that soldirection array can store at least num entries
- Parameters
-
lp current LP data num minimum number of entries to store
Definition at line 283 of file lp.c.
References BMSallocMemoryArray, BMSfreeMemoryArrayNull, SCIP_ALLOC, SCIP_OKAY, SCIP_Lp::soldirection, and SCIP_Lp::soldirectionsize.
Referenced by SCIProwGetLPSolCutoffDistance().
◆ ensureLazycolsSize()
|
static |
ensures, that lazy cols array can store at least num entries
- Parameters
-
lp current LP data set global SCIP settings num minimum number of entries to store
Definition at line 303 of file lp.c.
References BMSreallocMemoryArray, SCIP_Lp::lazycols, SCIP_Lp::lazycolssize, SCIP_Lp::nlazycols, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPlpAddCol().
◆ ensureRowsSize()
|
static |
ensures, that rows array can store at least num entries
- Parameters
-
lp current LP data set global SCIP settings num minimum number of entries to store
Definition at line 326 of file lp.c.
References BMSreallocMemoryArray, SCIP_Lp::nrows, SCIP_Lp::rows, SCIP_Lp::rowssize, SCIP_ALLOC, SCIP_OKAY, and SCIPsetCalcMemGrowSize().
Referenced by SCIPlpAddRow().
◆ colEnsureSize()
|
static |
ensures, that row array of column can store at least num entries
- Parameters
-
col LP column blkmem block memory set global SCIP settings num minimum number of entries to store
Definition at line 349 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().
◆ lpStoreSolVals()
|
static |
save current LP values dependent on the solution
- Parameters
-
lp LP data stat problem statistics blkmem block memory
Definition at line 376 of file lp.c.
References BMSallocMemory, SCIP_LpSolVals::dualchecked, SCIP_Lp::dualchecked, SCIP_LpSolVals::dualfeasible, SCIP_Lp::dualfeasible, SCIP_LpSolVals::lpissolved, SCIP_LpSolVals::lpobjval, SCIP_Lp::lpobjval, SCIP_LpSolVals::lpsolstat, SCIP_Lp::lpsolstat, NULL, SCIP_LpSolVals::primalchecked, SCIP_Lp::primalchecked, 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().
◆ lpRestoreSolVals()
|
static |
restore LP solution values in column
- Parameters
-
lp LP data blkmem block memory validlp number of lp for which restored values are valid
Definition at line 410 of file lp.c.
References SCIP_LpSolVals::dualchecked, SCIP_Lp::dualchecked, 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::primalchecked, SCIP_Lp::primalchecked, 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::validdegeneracylp, SCIP_Lp::validfarkaslp, and SCIP_Lp::validsollp.
Referenced by SCIPlpEndDive().
◆ colStoreSolVals()
|
static |
save current LP solution values stored in each column
- Parameters
-
col LP column blkmem block memory
Definition at line 470 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().
◆ colRestoreSolVals()
|
static |
restore LP solution values in column
- Parameters
-
col LP column blkmem block memory validlp number of lp for which restored values are valid freebuffer should buffer for LP solution values be freed?
Definition at line 497 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().
◆ rowStoreSolVals()
|
static |
save current LP solution values stored in each column
- Parameters
-
row LP row blkmem block memory infeasible is the solution infeasible?
Definition at line 544 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().
◆ rowRestoreSolVals()
|
static |
restore LP solution values in row
- Parameters
-
row LP column blkmem block memory validlp number of lp for which restored values are valid freebuffer should buffer for LP solution values be freed? infeasible is the solution infeasible?
Definition at line 581 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().
◆ SCIProwEnsureSize()
SCIP_RETCODE SCIProwEnsureSize | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
int | num | ||
) |
ensures, that column array of row can store at least num entries
- Parameters
-
row LP row blkmem block memory set global SCIP settings num minimum number of entries to store
Definition at line 629 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().
◆ recomputeLooseObjectiveValue()
- Parameters
-
lp current LP data set global SCIP settings prob problem data
Definition at line 779 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().
◆ recomputePseudoObjectiveValue()
- Parameters
-
lp current LP data set global SCIP settings prob problem data
Definition at line 821 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().
◆ recomputeGlbPseudoObjectiveValue()
|
static |
- Parameters
-
lp current LP data set global SCIP settings prob problem data
Definition at line 863 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().
◆ getFiniteLooseObjval()
gets finite part of objective value of current LP that results from LOOSE variables only
- Parameters
-
lp current LP data set global SCIP settings prob problem data
Definition at line 905 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 computeRelIntPoint(), lpSolve(), lpSolveStable(), SCIPcolGetStrongbranch(), SCIPcolGetStrongbranches(), SCIPlpGetLooseObjval(), and SCIPlpSolveAndEval().
◆ getFinitePseudoObjval()
gets finite part of pseudo objective value of current LP
- Parameters
-
lp current LP data set global SCIP settings prob problem data
Definition at line 927 of file lp.c.
References NULL, SCIP_Lp::pseudoobjval, SCIP_Lp::pseudoobjvalid, and recomputePseudoObjectiveValue().
Referenced by SCIPlpGetModifiedPseudoObjval().
◆ colSortLP()
|
static |
sorts column entries of linked rows currently in the LP such that lower row indices precede higher ones
- Parameters
-
col column to be sorted
Definition at line 969 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().
◆ colSortNonLP()
|
static |
sorts column entries of unlinked rows or rows currently not in the LP such that lower row indices precede higher ones
- Parameters
-
col column to be sorted
Definition at line 1002 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().
◆ rowSortLP()
|
static |
sorts row entries of linked columns currently in the LP such that lower column indices precede higher ones
- Parameters
-
row row to be sorted
Definition at line 1033 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 computeRelIntPoint(), rowSearchCoef(), and SCIProwSort().
◆ rowSortNonLP()
|
static |
sorts row entries of unlinked columns or columns currently not in the LP such that lower column indices precede higher ones
- Parameters
-
row row to be sorted
Definition at line 1066 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().
◆ colSearchCoefPart()
|
static |
searches coefficient in part of the column, returns position in col vector or -1 if not found
- Parameters
-
col column to be searched in row coefficient to be searched for minpos first position of search range maxpos last position of search range
Definition at line 1101 of file lp.c.
References SCIP_Row::index, SCIP_Col::linkpos, SCIP_Row::lppos, NULL, and SCIP_Col::rows.
Referenced by colSearchCoef().
◆ colSearchCoef()
searches coefficient in column, returns position in col vector or -1 if not found
- Parameters
-
col column to be searched in row coefficient to be searched for
Definition at line 1137 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().
◆ rowSearchCoefPart()
|
static |
searches coefficient in part of the row, returns position in col vector or -1 if not found
- Parameters
-
row row to be searched in col coefficient to be searched for minpos first position of search range maxpos last position of search range
Definition at line 1176 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().
◆ 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
- Parameters
-
row row to be searched in col coefficient to be searched for
Definition at line 1215 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().
◆ colMoveCoef()
|
static |
moves a coefficient in a column to a different place, and updates all corresponding data structures
- Parameters
-
col LP column oldpos old position of coefficient newpos new position of coefficient
Definition at line 1268 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().
◆ colSwapCoefs()
|
static |
swaps two coefficients in a column, and updates all corresponding data structures
- Parameters
-
col LP column pos1 position of first coefficient pos2 position of second coefficient
Definition at line 1304 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().
◆ rowMoveCoef()
|
static |
moves a coefficient in a row to a different place, and updates all corresponding data structures
- Parameters
-
row LP row oldpos old position of coefficient newpos new position of coefficient
Definition at line 1364 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().
◆ rowSwapCoefs()
|
static |
swaps two coefficients in a row, and updates all corresponding data structures
- Parameters
-
row LP row pos1 position of first coefficient pos2 position of second coefficient
Definition at line 1401 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().
◆ rowEventCoefChanged()
|
static |
issues a ROWCOEFCHANGED event on the given row
- Parameters
-
row row which coefficient has changed blkmem block memory set global SCIP settings eventqueue event queue col the column which coefficient has changed oldval old value of the coefficient newval new value of the coefficient
Definition at line 1466 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().
◆ rowEventConstantChanged()
|
static |
issues a ROWCONSTCHANGED event on the given row
- Parameters
-
row row which coefficient has changed blkmem block memory set global SCIP settings eventqueue event queue oldval old value of the constant newval new value of the constant
Definition at line 1496 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().
◆ rowEventSideChanged()
|
static |
issues a ROWSIDECHANGED event on the given row
- Parameters
-
row row which coefficient has changed blkmem block memory set global SCIP settings eventqueue event queue side the side that has changed oldval old value of side newval new value of side
Definition at line 1524 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().
◆ coefChanged()
announces, that the given coefficient in the constraint matrix changed
- Parameters
-
row LP row col LP col lp current LP data
Definition at line 1633 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().
◆ rowAddCoef()
|
static |
adds a previously non existing coefficient to an LP row
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue lp current LP data col LP column val value of coefficient linkpos position of row in the column's row array, or -1
Definition at line 2043 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(), SCIPerrorMessage, SCIProwEnsureSize(), SCIPsetDebugMsg, 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().
◆ colAddCoef()
|
static |
adds a previously non existing coefficient to an LP column
- Parameters
-
col LP column blkmem block memory set global SCIP settings eventqueue event queue lp current LP data row LP row val value of coefficient linkpos position of column in the row's col array, or -1
Definition at line 1698 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, SCIPsetDebugMsg, SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), SCIPvarGetName(), SCIP_Col::vals, and SCIP_Col::var.
Referenced by rowAddCoef(), rowLink(), SCIPcolAddCoef(), SCIPcolChgCoef(), and SCIPcolIncCoef().
◆ colDelCoefPos()
|
static |
deletes coefficient at given position from column
- Parameters
-
col column to be changed set global SCIP settings lp current LP data pos position in column vector to delete
Definition at line 1819 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().
◆ colChgCoefPos()
|
static |
changes a coefficient at given position of an LP column
- Parameters
-
col LP column set global SCIP settings lp current LP data pos position in column vector to change val value of coefficient
Definition at line 1864 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().
◆ rowAddNorms()
|
static |
update row norms after addition of coefficient
- Parameters
-
row LP row set global SCIP settings col column of added coefficient val value of added coefficient updateidxvals update min/max idx and min/max val?
Definition at line 1908 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_Row::objprod, REALABS, SCIP_Real, SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsZero(), SQR, SCIP_Row::sqrnorm, SCIP_Row::sumnorm, and SCIP_Col::unchangedobj.
Referenced by colUpdateAddLP(), rowAddCoef(), rowCalcNorms(), and rowChgCoefPos().
◆ rowDelNorms()
|
static |
update row norms after deletion of coefficient
- Parameters
-
row LP row set global SCIP settings col column of deleted coefficient val value of deleted coefficient forcenormupdate should the norms be updated even if lppos of column is -1? updateindex should the minimal/maximal column index of row be updated? updateval should the minimal/maximal value of row be updated?
Definition at line 1985 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_Row::objprod, REALABS, SCIP_Real, SCIPsetIsGE(), SCIPsetIsLE(), SCIPsetIsZero(), SQR, SCIP_Row::sqrnorm, SCIP_Row::sumnorm, SCIP_Col::unchangedobj, and SCIP_Row::validminmaxidx.
Referenced by colUpdateDelLP(), rowChgCoefPos(), and rowDelCoefPos().
◆ rowDelCoefPos()
|
static |
deletes coefficient at given position from row
- Parameters
-
row row to be changed blkmem block memory set global SCIP settings eventqueue event queue lp current LP data pos position in row vector to delete
Definition at line 2184 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().
◆ rowChgCoefPos()
|
static |
changes a coefficient at given position of an LP row
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue lp current LP data pos position in row vector to change val value of coefficient
Definition at line 2244 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().
◆ rowSideChanged()
|
static |
notifies LP row, that its sides were changed
- Parameters
-
row LP row set global SCIP settings lp current LP data sidetype type of side: left or right hand side
Definition at line 2300 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().
◆ colLink()
SCIP_RETCODE colLink | ( | SCIP_COL * | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp | ||
) |
insert column coefficients in corresponding rows
- Parameters
-
col column data blkmem block memory set global SCIP settings eventqueue event queue lp current LP data
Definition at line 2352 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, SCIPsetDebugMsg, SCIPsetIsZero(), SCIPvarGetName(), SCIP_Col::vals, and SCIP_Col::var.
Referenced by lpFlushAddCols().
◆ colUnlink()
SCIP_RETCODE colUnlink | ( | SCIP_COL * | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp | ||
) |
removes column coefficients from corresponding rows
- Parameters
-
col column data blkmem block memory set global SCIP settings eventqueue event queue lp current LP data
Definition at line 2395 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, SCIPsetDebugMsg, SCIPvarGetName(), and SCIP_Col::var.
Referenced by SCIPcolFree().
◆ rowLink()
SCIP_RETCODE rowLink | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp | ||
) |
insert row coefficients in corresponding columns
- Parameters
-
row row data blkmem block memory set global SCIP settings eventqueue event queue lp current LP data
Definition at line 2433 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, SCIPsetDebugMsg, SCIPsetIsZero(), and SCIP_Row::vals.
Referenced by lpFlushAddRows(), and SCIPflushRowExtensions().
◆ rowUnlink()
SCIP_RETCODE rowUnlink | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_LP * | lp | ||
) |
removes row coefficients from corresponding columns
- Parameters
-
row row data set global SCIP settings lp current LP data
Definition at line 2475 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 SCIPsetDebugMsg.
Referenced by SCIProwFree().
◆ lpSetIntpar()
|
static |
sets parameter of type int in LP solver, ignoring unknown parameters
- Parameters
-
lp current LP data lpparam LP parameter value value to set parameter to success pointer to store whether the parameter was successfully changed
Definition at line 2514 of file lp.c.
References FALSE, SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, SCIPlpiSetIntpar(), and TRUE.
Referenced by lpSetBoolpar(), lpSetFastmip(), lpSetIterationLimit(), lpSetPricing(), lpSetRandomseed(), lpSetRefactorInterval(), lpSetScaling(), lpSetSolutionPolishing(), lpSetThreads(), lpSetTiming(), and SCIPlpCreate().
◆ lpSetBoolpar()
|
static |
sets parameter of type SCIP_Bool in LP solver, ignoring unknown parameters
- Parameters
-
lp current LP data lpparam LP parameter value value to set parameter to success pointer to store whether the parameter was successfully changed
Definition at line 2541 of file lp.c.
References lpSetIntpar().
Referenced by lpSetFromscratch(), lpSetLPInfo(), lpSetPresolving(), and SCIPlpCreate().
◆ lpSetRealpar()
|
static |
sets parameter of type SCIP_Real in LP solver, ignoring unknown parameters
- Parameters
-
lp current LP data lpparam LP parameter value value to set parameter to success pointer to store whether the parameter was successfully changed
Definition at line 2553 of file lp.c.
References FALSE, SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, SCIPlpiSetRealpar(), and TRUE.
Referenced by lpAlgorithm(), lpSetBarrierconvtol(), lpSetConditionLimit(), lpSetDualfeastol(), lpSetFeastol(), lpSetMarkowitz(), lpSetObjlim(), lpSetRowrepswitch(), and SCIPlpCreate().
◆ lpCheckIntpar()
|
static |
checks, that parameter of type int in LP solver has the given value, ignoring unknown parameters
- Parameters
-
lp current LP data lpparam LP parameter value value parameter should have
Definition at line 2581 of file lp.c.
References SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, and SCIPlpiGetIntpar().
Referenced by lpCheckBoolpar(), lpSetFastmip(), lpSetIterationLimit(), lpSetPricing(), lpSetScaling(), lpSetThreads(), and lpSetTiming().
◆ lpCheckBoolpar()
|
static |
checks, that parameter of type SCIP_Bool in LP solver has the given value, ignoring unknown parameters
- Parameters
-
lp current LP data lpparam LP parameter value value parameter should have
Definition at line 2606 of file lp.c.
References lpCheckIntpar().
Referenced by lpSetFromscratch(), lpSetLPInfo(), and lpSetPresolving().
◆ lpCheckRealpar()
|
static |
checks, that parameter of type SCIP_Real in LP solver has the given value, ignoring unknown parameters
- Parameters
-
lp current LP data lpparam LP parameter value value parameter should have
Definition at line 2617 of file lp.c.
References SCIP_Lp::lpi, NULL, SCIP_OKAY, SCIP_PARAMETERUNKNOWN, SCIP_Real, and SCIPlpiGetRealpar().
Referenced by lpSetBarrierconvtol(), lpSetConditionLimit(), lpSetDualfeastol(), lpSetFeastol(), lpSetMarkowitz(), lpSetObjlim(), and lpSetRowrepswitch().
◆ lpSetObjlim()
|
static |
sets the objective limit of the LP solver
Note that we are always minimizing.
- Parameters
-
lp current LP data set global SCIP settings prob problem data objlim new objective limit success pointer to store whether the parameter was actually changed
Definition at line 2653 of file lp.c.
References FALSE, lpCheckRealpar(), lpCutoffDisabled, SCIP_Lp::lpi, SCIP_Lp::lpiobjlim, SCIP_Lp::lpobjval, lpSetRealpar(), SCIP_Lp::lpsolstat, NULL, SCIP_Lp::primalchecked, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_INVALID, SCIP_LPPAR_OBJLIM, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIPlpiGetRealpar(), SCIPlpiInfinity(), SCIPsetIsInfinity(), and SCIP_Lp::solved.
Referenced by lpSolveStable().
◆ lpSetFeastol()
|
static |
sets the feasibility tolerance of the LP solver
- Parameters
-
lp current LP data feastol new feasibility tolerance success pointer to store whether the parameter was actually changed
Definition at line 2705 of file lp.c.
References FALSE, lpCheckRealpar(), SCIP_Lp::lpi, SCIP_Lp::lpifeastol, SCIP_Lp::lpobjval, lpSetRealpar(), SCIP_Lp::lpsolstat, SCIP_Lp::nrows, NULL, SCIP_Lp::primalchecked, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_INVALID, SCIP_LPPAR_FEASTOL, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIPlpiGetRealpar(), and SCIP_Lp::solved.
Referenced by lpSolveStable().
◆ lpSetDualfeastol()
|
static |
sets the reduced costs feasibility tolerance of the LP solver
- Parameters
-
lp current LP data dualfeastol new reduced costs feasibility tolerance success pointer to store whether the parameter was actually changed
Definition at line 2748 of file lp.c.
References SCIP_Lp::dualchecked, SCIP_Lp::dualfeasible, FALSE, lpCheckRealpar(), SCIP_Lp::lpi, 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, SCIP_Real, SCIPlpiGetRealpar(), and SCIP_Lp::solved.
Referenced by lpSolveStable().
◆ lpSetBarrierconvtol()
|
static |
sets the convergence tolerance used in barrier algorithm of the LP solver
- Parameters
-
lp current LP data barrierconvtol new convergence tolerance used in barrier algorithm success pointer to store whether the parameter was actually changed
Definition at line 2791 of file lp.c.
References SCIP_Lp::dualchecked, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::lastlpalgo, lpCheckRealpar(), SCIP_Lp::lpi, 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, SCIP_Real, SCIPlpiGetRealpar(), and SCIP_Lp::solved.
Referenced by lpSolveStable().
◆ lpSetFromscratch()
|
static |
sets the FROMSCRATCH setting of the LP solver
- Parameters
-
lp current LP data fromscratch new FROMSCRATCH setting success pointer to store whether the parameter was successfully changed
Definition at line 2835 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().
◆ lpSetFastmip()
|
static |
sets the FASTMIP setting of the LP solver
- Parameters
-
lp current LP data fastmip new FASTMIP setting success pointer to store whether the parameter was successfully changed
Definition at line 2860 of file lp.c.
References FALSE, lpCheckIntpar(), SCIP_Lp::lpifastmip, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_FASTMIP, SCIP_OKAY, and SCIP_Lp::solved.
Referenced by lpSolveStable().
◆ lpSetScaling()
|
static |
sets the SCALING setting of the LP solver
- Parameters
-
lp current LP data scaling new SCALING setting success pointer to store whether the parameter was successfully changed
Definition at line 2891 of file lp.c.
References FALSE, lpCheckIntpar(), SCIP_Lp::lpiscaling, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_SCALING, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetThreads()
|
static |
sets the number of THREADS of the LP solver
- Parameters
-
lp current LP data threads new number of threads used to solve the LP success pointer to store whether the parameter was successfully changed
Definition at line 2916 of file lp.c.
References FALSE, lpCheckIntpar(), SCIP_Lp::lpithreads, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_THREADS, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetPresolving()
|
static |
sets the PRESOLVING setting of the LP solver
- Parameters
-
lp current LP data presolving new PRESOLVING setting success pointer to store whether the parameter was successfully changed
Definition at line 2941 of file lp.c.
References FALSE, lpCheckBoolpar(), SCIP_Lp::lpipresolving, lpSetBoolpar(), NULL, SCIP_CALL, SCIP_LPPAR_PRESOLVING, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetRowrepswitch()
|
static |
sets the ROWREPSWITCH setting of the LP solver
- Parameters
-
lp current LP data rowrepswitch new ROWREPSWITCH value success pointer to store whether the parameter was successfully changed
Definition at line 2966 of file lp.c.
References FALSE, lpCheckRealpar(), SCIP_Lp::lpirowrepswitch, lpSetRealpar(), NULL, SCIP_CALL, SCIP_LPPAR_ROWREPSWITCH, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetIterationLimit()
|
static |
sets the iteration limit of the LP solver
- Parameters
-
lp current LP data itlim maximal number of LP iterations to perform, or -1 for no limit
Definition at line 2991 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().
◆ lpSetPricing()
|
static |
sets the pricing strategy of the LP solver
- Parameters
-
lp current LP data pricing pricing strategy
Definition at line 3027 of file lp.c.
References lpCheckIntpar(), SCIP_Lp::lpipricing, lpSetIntpar(), NULL, SCIP_Bool, SCIP_CALL, SCIP_LPPAR_PRICING, and SCIP_OKAY.
Referenced by lpSetPricingChar().
◆ lpSetPricingChar()
|
static |
sets the pricing strategy of the LP solver (given the character representation of the strategy)
- Parameters
-
lp current LP data pricingchar character representing the pricing strategy
Definition at line 3050 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().
◆ lpSetLPInfo()
|
static |
sets the verbosity of the LP solver
- Parameters
-
lp current LP data lpinfo should the LP solver display status messages?
Definition at line 3092 of file lp.c.
References lpCheckBoolpar(), SCIP_Lp::lpilpinfo, lpSetBoolpar(), NULL, SCIP_Bool, SCIP_CALL, SCIP_LPPAR_LPINFO, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetConditionLimit()
|
static |
sets the CONDITIONLIMIT setting of the LP solver
- Parameters
-
lp current LP data condlimit new CONDITIONLIMIT value success pointer to store whether the parameter was successfully changed
Definition at line 3115 of file lp.c.
References FALSE, lpCheckRealpar(), SCIP_Lp::lpiconditionlimit, lpSetRealpar(), NULL, SCIP_CALL, SCIP_LPPAR_CONDITIONLIMIT, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetMarkowitz()
|
static |
sets the MARKOWITZ setting of the LP solver
- Parameters
-
lp current LP data threshhold new MARKOWITZ value success pointer to store whether the parameter was successfully changed
Definition at line 3140 of file lp.c.
References FALSE, lpCheckRealpar(), SCIP_Lp::lpimarkowitz, lpSetRealpar(), NULL, SCIP_CALL, SCIP_LPPAR_MARKOWITZ, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetTiming()
|
static |
sets the type of timer of the LP solver
- Parameters
-
lp current LP data timing new timing value enabled is timing enabled? success pointer to store whether the parameter was successfully changed
Definition at line 3165 of file lp.c.
References FALSE, lpCheckIntpar(), SCIP_Lp::lpitiming, lpSetIntpar(), NULL, SCIP_CALL, SCIP_CLOCKTYPE_CPU, SCIP_CLOCKTYPE_WALL, SCIP_LPPAR_TIMING, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetRandomseed()
|
static |
sets the initial random seed of the LP solver
- Parameters
-
lp current LP data randomseed new initial random seed success pointer to store whether the parameter was successfully changed
Definition at line 3199 of file lp.c.
References FALSE, SCIP_Lp::lpirandomseed, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_RANDOMSEED, SCIP_OKAY, and TRUE.
Referenced by lpSolveStable().
◆ lpSetSolutionPolishing()
|
static |
sets the LP solution polishing method
- Parameters
-
lp current LP data polishing LP solution polishing activated (0: disabled, 1: enabled) success pointer to store whether the parameter was successfully changed
Definition at line 3229 of file lp.c.
References FALSE, SCIP_Lp::lpisolutionpolishing, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_POLISHING, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ lpSetRefactorInterval()
|
static |
sets the LP refactorization interval
- Parameters
-
lp current LP data refactor LP refactorization interval (0: automatic) success pointer to store whether the parameter was successfully changed
Definition at line 3252 of file lp.c.
References FALSE, SCIP_Lp::lpirefactorinterval, lpSetIntpar(), NULL, SCIP_CALL, SCIP_LPPAR_REFACTOR, and SCIP_OKAY.
Referenced by lpSolveStable().
◆ SCIPcolCreate()
SCIP_RETCODE SCIPcolCreate | ( | SCIP_COL ** | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_VAR * | var, | ||
int | len, | ||
SCIP_ROW ** | rows, | ||
SCIP_Real * | vals, | ||
SCIP_Bool | removable | ||
) |
creates an LP column
- Parameters
-
col pointer to column data blkmem block memory set global SCIP settings stat problem statistics var variable, this column represents len number of nonzeros in the column rows array with rows of column entries vals array with coefficients of column entries removable should the column be removed from the LP due to aging or cleanup?
Definition at line 3279 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(), SCIPstatIncrement, SCIPvarGetLbLazy(), SCIPvarGetLbLocal(), SCIPvarGetObj(), SCIPvarGetProbindex(), SCIPvarGetUbLazy(), SCIPvarGetUbLocal(), SCIPvarGetUnchangedObj(), SCIPvarIsIntegral(), and TRUE.
Referenced by SCIPvarColumn().
◆ SCIPcolFree()
SCIP_RETCODE SCIPcolFree | ( | SCIP_COL ** | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp | ||
) |
frees an LP column
- Parameters
-
col pointer to LP column blkmem block memory set global SCIP settings eventqueue event queue lp current LP data
Definition at line 3377 of file lp.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemoryNull, colUnlink(), NULL, SCIP_CALL, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, and SCIPvarGetStatus().
Referenced by SCIPvarLoose(), and varFree().
◆ SCIPcolPrint()
void SCIPcolPrint | ( | SCIP_COL * | col, |
SCIP_MESSAGEHDLR * | messagehdlr, | ||
FILE * | file | ||
) |
output column to file stream
- Parameters
-
col LP column messagehdlr message handler file output file (or NULL for standard output)
Definition at line 3407 of file lp.c.
References SCIP_Col::lb, SCIP_Col::len, SCIP_Row::name, NULL, SCIP_Col::obj, r, SCIP_Col::rows, SCIPmessageFPrintInfo(), SCIP_Col::ub, SCIP_Col::vals, and SCIP_Col::var.
◆ SCIPcolAddCoef()
SCIP_RETCODE SCIPcolAddCoef | ( | SCIP_COL * | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row, | ||
SCIP_Real | val | ||
) |
adds a previously non existing coefficient to an LP column
- Parameters
-
col LP column blkmem block memory set global SCIP settings eventqueue event queue lp current LP data row LP row val value of coefficient
Definition at line 3447 of file lp.c.
References checkLinks, colAddCoef(), SCIP_Lp::diving, NULL, SCIP_CALL, and SCIP_OKAY.
◆ SCIPcolDelCoef()
SCIP_RETCODE SCIPcolDelCoef | ( | SCIP_COL * | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row | ||
) |
deletes existing coefficient from column
- Parameters
-
col column to be changed blkmem block memory set global SCIP settings eventqueue event queue lp current LP data row coefficient to be deleted
Definition at line 3468 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.
◆ SCIPcolChgCoef()
SCIP_RETCODE SCIPcolChgCoef | ( | SCIP_COL * | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row, | ||
SCIP_Real | val | ||
) |
changes or adds a coefficient to an LP column
- Parameters
-
col LP column blkmem block memory set global SCIP settings eventqueue event queue lp current LP data row LP row val value of coefficient
Definition at line 3513 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.
◆ SCIPcolIncCoef()
SCIP_RETCODE SCIPcolIncCoef | ( | SCIP_COL * | col, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_ROW * | row, | ||
SCIP_Real | incval | ||
) |
increases value of an existing or non-existing coefficient in an LP column
- Parameters
-
col LP column blkmem block memory set global SCIP settings eventqueue event queue lp current LP data row LP row incval value to add to the coefficient
Definition at line 3564 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.
◆ insertColChgcols()
|
static |
insert column in the chgcols list (if not already there)
- Parameters
-
col LP column to change set global SCIP settings lp current LP data
Definition at line 3619 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().
◆ isNewValueUnreliable()
|
static |
Is the new value reliable or may we have cancellation?
- Note
- : Here we only consider cancellations which can occur during decreasing the oldvalue to newvalue; not the cancellations which can occur during increasing the oldvalue to the newvalue
- Parameters
-
set global SCIP settings newvalue new value oldvalue old reliable value
Definition at line 3644 of file lp.c.
References NULL, REALABS, SCIP_INVALID, SCIP_Real, and SCIPsetIsZero().
Referenced by lpUpdateObjNorms().
◆ lpUpdateObjNorms()
|
static |
update norms of objective function vector
- Parameters
-
lp current LP data set global SCIP settings oldobj old objective value of variable newobj new objective value of variable
Definition at line 3662 of file lp.c.
References isNewValueUnreliable(), MAX, SCIP_Lp::objsqrnorm, SCIP_Lp::objsqrnormunreliable, SCIP_Lp::objsumnorm, REALABS, SCIP_Real, SCIPsetIsGE(), SCIPsetIsLT(), SQR, and TRUE.
Referenced by lpDelColset(), SCIPcolChgObj(), SCIPlpAddCol(), and SCIPlpShrinkCols().
◆ SCIPcolChgObj()
SCIP_RETCODE SCIPcolChgObj | ( | SCIP_COL * | col, |
SCIP_SET * | set, | ||
SCIP_LP * | lp, | ||
SCIP_Real | newobj | ||
) |
changes objective value of column
- Parameters
-
col LP column to change set global SCIP settings lp current LP data newobj new objective value
Definition at line 3698 of file lp.c.
References SCIP_Lp::divingobjchg, FALSE, SCIP_Lp::flushed, insertColChgcols(), SCIP_Col::lb, SCIP_Col::lpipos, lpUpdateObjNorms(), SCIP_Lp::nchgcols, NULL, SCIP_Col::obj, SCIP_Col::objchanged, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarGetUnchangedObj(), TRUE, SCIP_Col::ub, SCIP_Col::unchangedobj, and SCIP_Col::var.
Referenced by SCIPeventProcess(), SCIPlpEndDive(), and SCIPvarChgObjDive().
◆ SCIPcolChgLb()
SCIP_RETCODE SCIPcolChgLb | ( | SCIP_COL * | col, |
SCIP_SET * | set, | ||
SCIP_LP * | lp, | ||
SCIP_Real | newlb | ||
) |
changes lower bound of column
- Parameters
-
col LP column to change set global SCIP settings lp current LP data newlb new lower bound value
Definition at line 3757 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, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), TRUE, and SCIP_Col::var.
Referenced by SCIPeventProcess(), SCIPlpEndDive(), and SCIPvarChgLbDive().
◆ SCIPcolChgUb()
SCIP_RETCODE SCIPcolChgUb | ( | SCIP_COL * | col, |
SCIP_SET * | set, | ||
SCIP_LP * | lp, | ||
SCIP_Real | newub | ||
) |
changes upper bound of column
- Parameters
-
col LP column to change set global SCIP settings lp current LP data newub new upper bound value
Definition at line 3802 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, SCIPsetDebugMsg, SCIPsetIsEQ(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), TRUE, SCIP_Col::ub, SCIP_Col::ubchanged, and SCIP_Col::var.
Referenced by SCIPeventProcess(), SCIPlpEndDive(), and SCIPvarChgUbDive().
◆ SCIPcolCalcRedcost()
calculates the reduced costs of a column using the given dual solution vector
- Parameters
-
col LP column dualsol dual solution vector for current LP rows
Definition at line 3847 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.
◆ colCalcInternalRedcost()
calculates the reduced costs of a column using the dual solution stored in the rows
- Parameters
-
col LP column
Definition at line 3899 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().
◆ SCIPcolGetRedcost()
gets the reduced costs of a column in last LP or after recalculation
- Parameters
-
col LP column stat problem statistics lp current LP data
Definition at line 3952 of file lp.c.
References colCalcInternalRedcost(), SCIP_Stat::lpcount, NULL, SCIP_Col::redcost, SCIP_INVALID, SCIP_Col::validredcostlp, and SCIP_Lp::validsollp.
Referenced by getImplVarRedcost(), SCIPcolGetFeasibility(), SCIPgetColRedcost(), SCIPlpGetDualDegeneracy(), SCIPprobUpdateBestRootSol(), and SCIPvarGetImplRedcost().
◆ SCIPcolGetFeasibility()
gets the feasibility of (the dual row of) a column in last LP or after recalculation
- Parameters
-
col LP column set global SCIP settings stat problem statistics lp current LP data
Definition at line 3976 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().
◆ SCIPcolCalcFarkasCoef()
calculates the Farkas coefficient y^T A_i of a column i using the given dual Farkas vector y
- Parameters
-
col LP column dualfarkas dense dual Farkas vector for current LP rows
Definition at line 4030 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.
◆ colCalcInternalFarkasCoef()
gets the Farkas coefficient y^T A_i of a column i in last LP (which must be infeasible)
- Parameters
-
col LP column
Definition at line 4082 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().
◆ SCIPcolGetFarkasCoef()
gets the Farkas coefficient of a column in last LP (which must be infeasible)
- Parameters
-
col LP column stat problem statistics lp current LP data
Definition at line 4135 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().
◆ SCIPcolGetFarkasValue()
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}
- Parameters
-
col LP column stat problem statistics lp current LP data
Definition at line 4161 of file lp.c.
References SCIP_Col::lb, NULL, SCIP_Real, SCIPcolGetFarkasCoef(), and SCIP_Col::ub.
Referenced by SCIPpricestoreAddProbVars().
◆ SCIPlpStartStrongbranch()
SCIP_RETCODE SCIPlpStartStrongbranch | ( | SCIP_LP * | lp | ) |
start strong branching - call before any strong branching
- Parameters
-
lp LP data
Definition at line 4180 of file lp.c.
References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPlpiStartStrongbranch(), SCIP_Lp::strongbranching, and TRUE.
Referenced by SCIPstartStrongbranch().
◆ SCIPlpEndStrongbranch()
SCIP_RETCODE SCIPlpEndStrongbranch | ( | SCIP_LP * | lp | ) |
end strong branching - call after any strong branching
- Parameters
-
lp LP data
Definition at line 4195 of file lp.c.
References FALSE, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPlpiEndStrongbranch(), and SCIP_Lp::strongbranching.
Referenced by SCIPendStrongbranch().
◆ SCIPcolSetStrongbranchData()
void SCIPcolSetStrongbranchData | ( | SCIP_COL * | col, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_Real | lpobjval, | ||
SCIP_Real | primsol, | ||
SCIP_Real | sbdown, | ||
SCIP_Real | sbup, | ||
SCIP_Bool | sbdownvalid, | ||
SCIP_Bool | sbupvalid, | ||
SCIP_Longint | iter, | ||
int | itlim | ||
) |
sets strong branching information for a column variable
- Parameters
-
col LP column set global SCIP settings stat dynamic problem statistics lp LP data lpobjval objective value of the current LP primsol primal solution value of the column in the current LP sbdown dual bound after branching column down sbup dual bound after branching column up sbdownvalid is the returned down value a valid dual bound? sbupvalid is the returned up value a valid dual bound? iter total number of strong branching iterations itlim iteration limit applied to the strong branching call
Definition at line 4210 of file lp.c.
References SCIP_Lp::cols, SCIP_Lp::cutoffbound, SCIP_Col::lpipos, SCIP_Col::lppos, MIN, SCIP_Lp::ncols, SCIP_Stat::nlps, SCIP_Stat::nnodes, SCIP_Col::nsbcalls, 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(), SCIPstatAdd, SCIPstatIncrement, SCIPvarGetCol(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Lp::strongbranchprobing, SCIP_Col::validsblp, and SCIP_Col::var.
Referenced by SCIPgetVarStrongbranchWithPropagation(), and SCIPsetVarStrongbranchData().
◆ SCIPcolInvalidateStrongbranchData()
void SCIPcolInvalidateStrongbranchData | ( | SCIP_COL * | col, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp | ||
) |
invalidates strong branching information for a column variable
- Parameters
-
col LP column set global SCIP settings stat dynamic problem statistics lp LP data
Definition at line 4264 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().
◆ SCIPcolGetStrongbranch()
SCIP_RETCODE SCIPcolGetStrongbranch | ( | SCIP_COL * | col, |
SCIP_Bool | integral, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_LP * | lp, | ||
int | itlim, | ||
SCIP_Bool | updatecol, | ||
SCIP_Bool | updatestat, | ||
SCIP_Real * | down, | ||
SCIP_Real * | up, | ||
SCIP_Bool * | downvalid, | ||
SCIP_Bool * | upvalid, | ||
SCIP_Bool * | lperror | ||
) |
gets strong branching information on a column variable
- Parameters
-
col LP column integral should integral strong branching be performed? set global SCIP settings stat dynamic problem statistics prob problem data lp LP data itlim iteration limit for strong branchings updatecol should col be updated, or should it stay in its current state ? updatestat should stat be updated, or should it stay in its current state ? down stores dual bound after branching column down up stores dual bound after branching column up downvalid stores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value upvalid stores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value lperror pointer to store whether an unresolved LP error occurred
Definition at line 4299 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::nlps, SCIP_Stat::nnodes, SCIP_Stat::nprimallpiterations, SCIP_Stat::nprimallps, SCIP_Stat::nprimalresolvelpiterations, SCIP_Stat::nprimalresolvelps, SCIP_Col::nsbcalls, 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_Longint, SCIP_LPERROR, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPclockStart(), SCIPclockStop(), SCIPcolIsIntegral(), SCIPlpGetObjval(), SCIPlpiStrongbranchFrac(), SCIPlpiStrongbranchInt(), SCIPsetDebugMsg, SCIPsetInfinity(), SCIPsetIsFeasIntegral(), SCIPsetIsIntegral(), SCIPstatAdd, SCIPstatIncrement, 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().
◆ SCIPcolGetStrongbranches()
SCIP_RETCODE SCIPcolGetStrongbranches | ( | SCIP_COL ** | cols, |
int | ncols, | ||
SCIP_Bool | integral, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_PROB * | prob, | ||
SCIP_LP * | lp, | ||
int | itlim, | ||
SCIP_Real * | down, | ||
SCIP_Real * | up, | ||
SCIP_Bool * | downvalid, | ||
SCIP_Bool * | upvalid, | ||
SCIP_Bool * | lperror | ||
) |
gets strong branching information on column variables
- Parameters
-
cols LP columns ncols number of columns integral should integral strong branching be performed? set global SCIP settings stat dynamic problem statistics prob problem data lp LP data itlim iteration limit for strong branchings down stores dual bounds after branching columns down up stores dual bounds after branching columns up downvalid stores whether the returned down values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value upvalid stores whether the returned up values are valid dual bounds, or NULL; otherwise, they can only be used as an estimate value lperror pointer to store whether an unresolved LP error occurred
Definition at line 4484 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::nlps, SCIP_Stat::nnodes, SCIP_Stat::nprimallpiterations, SCIP_Stat::nprimallps, SCIP_Stat::nprimalresolvelpiterations, SCIP_Stat::nprimalresolvelps, SCIP_Col::nsbcalls, 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(), SCIPlpGetObjval(), SCIPlpiStrongbranchesFrac(), SCIPlpiStrongbranchesInt(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetInfinity(), SCIPsetIsFeasIntegral(), SCIPstatAdd, 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().
◆ SCIPcolGetStrongbranchLast()
void SCIPcolGetStrongbranchLast | ( | SCIP_COL * | col, |
SCIP_Real * | down, | ||
SCIP_Real * | up, | ||
SCIP_Bool * | downvalid, | ||
SCIP_Bool * | upvalid, | ||
SCIP_Real * | solval, | ||
SCIP_Real * | lpobjval | ||
) |
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
- Parameters
-
col LP column down stores dual bound after branching column down, or NULL up stores dual bound after branching column up, or NULL downvalid stores whether the returned down value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value upvalid stores whether the returned up value is a valid dual bound, or NULL; otherwise, it can only be used as an estimate value solval stores LP solution value of column at last strong branching call, or NULL lpobjval stores LP objective value at last strong branching call, or NULL
Definition at line 4707 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().
◆ SCIPcolGetStrongbranchLPAge()
SCIP_Longint SCIPcolGetStrongbranchLPAge | ( | SCIP_COL * | col, |
SCIP_STAT * | stat | ||
) |
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
- Parameters
-
col LP column stat dynamic problem statistics
Definition at line 4739 of file lp.c.
References SCIP_Stat::nlps, SCIP_Stat::nnodes, NULL, SCIP_Col::sbnode, SCIP_LONGINT_MAX, and SCIP_Col::validsblp.
Referenced by SCIPgetVarStrongbranchLPAge().
◆ SCIPcolMarkNotRemovableLocal()
marks a column to be not removable from the LP in the current node because it became obsolete
- Parameters
-
col LP column stat problem statistics
Definition at line 4751 of file lp.c.
References SCIP_Stat::nnodes, NULL, and SCIP_Col::obsoletenode.
Referenced by SCIPmarkColNotRemovableLocal().
◆ rowCalcNorms()
calculates row norms and min/maxidx from scratch, and checks for sorting
- Parameters
-
row LP row set global SCIP settings
Definition at line 4771 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().
◆ rowCalcIdxsAndVals()
calculates min/maxval and min/maxidx from scratch
- Parameters
-
row LP row set global SCIP settings
Definition at line 4830 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::numintcols, SCIP_Row::nummaxval, SCIP_Row::numminval, REALABS, SCIP_Real, SCIPcolIsIntegral(), SCIPsetInfinity(), SCIPsetIsGE(), SCIPsetIsGT(), SCIPsetIsLE(), SCIPsetIsLT(), SCIPsetIsZero(), TRUE, SCIP_Row::validminmaxidx, and SCIP_Row::vals.
Referenced by SCIProwGetMaxidx(), SCIProwGetMaxval(), SCIProwGetMinidx(), SCIProwGetMinval(), and SCIProwGetNumIntCols().
◆ isIntegralScalar()
|
static |
checks, whether the given scalar scales the given value to an integral number with error in the given bounds
- Parameters
-
val value that should be scaled to an integral value scalar scalar that should be tried mindelta minimal relative allowed difference of scaled coefficient s*c and integral i maxdelta maximal relative allowed difference of scaled coefficient s*c and integral i intval pointer to store the scaled integral value, or NULL
Definition at line 4900 of file lp.c.
References FALSE, NULL, SCIP_Real, SCIPrelDiff(), and TRUE.
Referenced by rowScale(), and SCIProwCalcIntegralScalar().
◆ rowScale()
|
static |
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
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue stat problem statistics lp current LP data scaleval value to scale row with integralcontvars should the coefficients of the continuous variables also be made integral, if they are close to integral values? minrounddelta minimal relative difference of scaled coefficient s*c and integral i, upto which the integral is used instead of the scaled real coefficient maxrounddelta maximal relative difference of scaled coefficient s*c and integral i upto which the integral is used instead of the scaled real coefficient
Definition at line 4940 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(), SCIProwChgConstant(), SCIProwChgLhs(), SCIProwChgRhs(), SCIPsetDebugMsg, 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().
◆ SCIProwCreate()
SCIP_RETCODE SCIProwCreate | ( | SCIP_ROW ** | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
const char * | name, | ||
int | len, | ||
SCIP_COL ** | cols, | ||
SCIP_Real * | vals, | ||
SCIP_Real | lhs, | ||
SCIP_Real | rhs, | ||
SCIP_ROWORIGINTYPE | origintype, | ||
void * | origin, | ||
SCIP_Bool | local, | ||
SCIP_Bool | modifiable, | ||
SCIP_Bool | removable | ||
) |
creates and captures an LP row
- Parameters
-
row pointer to LP row data blkmem block memory set global SCIP settings stat problem statistics name name of row len number of nonzeros in the row cols array with columns of row entries vals array with coefficients of row entries lhs left hand side of row rhs right hand side of row origintype type of origin of row origin pointer to constraint handler or separator who created the row (NULL if unkown) local is row only valid locally? modifiable is row modifiable during node processing (subject to column generation)? removable should the row be removed from the LP due to aging or cleanup?
Definition at line 5110 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, SCIP_ROWORIGINTYPE_CONS, SCIPconsCapture(), SCIPeventfilterCreate(), SCIProwCapture(), SCIPsetInfinity(), SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), SCIPstatIncrement, SCIPvarIsIntegral(), TRUE, and SCIP_Col::var.
Referenced by SCIPcreateEmptyRowCons(), SCIPcreateEmptyRowConshdlr(), SCIPcreateEmptyRowSepa(), SCIPcreateEmptyRowUnspec(), SCIPcreateRowCons(), SCIPcreateRowConshdlr(), SCIPcreateRowSepa(), SCIPcreateRowUnspec(), and SCIPreoptApplyCuts().
◆ SCIProwFree()
SCIP_RETCODE SCIProwFree | ( | SCIP_ROW ** | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_LP * | lp | ||
) |
frees an LP row
- Parameters
-
row pointer to LP row blkmem block memory set global SCIP settings lp current LP data
Definition at line 5259 of file lp.c.
References BMSfreeBlockMemory, BMSfreeBlockMemoryArray, BMSfreeBlockMemoryArrayNull, BMSfreeBlockMemoryNull, NULL, rowUnlink(), SCIP_CALL, SCIP_OKAY, SCIP_ROWORIGINTYPE_CONS, SCIPconsRelease(), and SCIPeventfilterFree().
Referenced by SCIProwRelease().
◆ SCIProwPrint()
void SCIProwPrint | ( | SCIP_ROW * | row, |
SCIP_MESSAGEHDLR * | messagehdlr, | ||
FILE * | file | ||
) |
output row to file stream
- Parameters
-
row LP row messagehdlr message handler file output file (or NULL for standard output)
Definition at line 5299 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().
◆ SCIProwCapture()
void SCIProwCapture | ( | SCIP_ROW * | row | ) |
increases usage counter of LP row
- Parameters
-
row LP row
Definition at line 5339 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(), and SCIPsepastoreAddCut().
◆ SCIProwRelease()
SCIP_RETCODE SCIProwRelease | ( | SCIP_ROW ** | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_LP * | lp | ||
) |
decreases usage counter of LP row, and frees memory if necessary
- Parameters
-
row pointer to LP row blkmem block memory set global SCIP settings lp current LP data
Definition at line 5352 of file lp.c.
References NULL, SCIP_CALL, SCIP_OKAY, SCIProwFree(), and SCIPsetDebugMsg.
Referenced by cutFree(), forkFree(), lpDelRowset(), lpFlushDelRows(), pseudoforkFree(), SCIPlpFree(), SCIPlpShrinkRows(), SCIPreleaseRow(), SCIPreoptApplyCuts(), SCIPsepastoreAddCut(), SCIPsepastoreClearCuts(), sepastoreDelCut(), and subrootFree().
◆ SCIProwAddCoef()
SCIP_RETCODE SCIProwAddCoef | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_COL * | col, | ||
SCIP_Real | val | ||
) |
adds a previously non existing coefficient to an LP row
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue lp current LP data col LP column val value of coefficient
Definition at line 5409 of file lp.c.
References checkLinks, SCIP_Lp::diving, SCIP_Row::lppos, NULL, rowAddCoef(), SCIP_CALL, and SCIP_OKAY.
◆ SCIProwDelCoef()
SCIP_RETCODE SCIProwDelCoef | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_COL * | col | ||
) |
deletes coefficient from row
- Parameters
-
row row to be changed blkmem block memory set global SCIP settings eventqueue event queue lp current LP data col coefficient to be deleted
Definition at line 5430 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.
◆ SCIProwChgCoef()
SCIP_RETCODE SCIProwChgCoef | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_COL * | col, | ||
SCIP_Real | val | ||
) |
changes or adds a coefficient to an LP row
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue lp current LP data col LP column val value of coefficient
Definition at line 5476 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.
◆ SCIProwIncCoef()
SCIP_RETCODE SCIProwIncCoef | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_COL * | col, | ||
SCIP_Real | incval | ||
) |
increases value of an existing or non-existing coefficient in an LP row
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue lp current LP data col LP column incval value to add to the coefficient
Definition at line 5528 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_Row::validactivitylp, SCIP_Col::vals, and SCIP_Row::vals.
Referenced by SCIPvarAddToRow().
◆ SCIProwChgConstant()
SCIP_RETCODE SCIProwChgConstant | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_Real | constant | ||
) |
changes constant value of a row
- Parameters
-
row LP row blkmem block memory set global SCIP settings stat problem statistics eventqueue event queue lp current LP data constant new constant value
Definition at line 5585 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().
◆ SCIProwAddConstant()
SCIP_RETCODE SCIProwAddConstant | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_Real | addval | ||
) |
add constant value to a row
- Parameters
-
row LP row blkmem block memory set global SCIP settings stat problem statistics eventqueue event queue lp current LP data addval constant value to add to the row
Definition at line 5640 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().
◆ SCIProwChgLhs()
SCIP_RETCODE SCIProwChgLhs | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_Real | lhs | ||
) |
changes left hand side of LP row
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue lp current LP data lhs new left hand side
Definition at line 5666 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().
◆ SCIProwChgRhs()
SCIP_RETCODE SCIProwChgRhs | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LP * | lp, | ||
SCIP_Real | rhs | ||
) |
changes right hand side of LP row
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue lp current LP data rhs new right hand side
Definition at line 5698 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().
◆ SCIProwChgLocal()
SCIP_RETCODE SCIProwChgLocal | ( | SCIP_ROW * | row, |
SCIP_Bool | local | ||
) |
changes the local flag of LP row
- Parameters
-
row LP row local new value for local flag
Definition at line 5730 of file lp.c.
References SCIP_Row::local, NULL, and SCIP_OKAY.
Referenced by SCIPsepastoreAddCut().
◆ SCIProwCalcIntegralScalar()
SCIP_RETCODE SCIProwCalcIntegralScalar | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_Real | mindelta, | ||
SCIP_Real | maxdelta, | ||
SCIP_Longint | maxdnom, | ||
SCIP_Real | maxscale, | ||
SCIP_Bool | usecontvars, | ||
SCIP_Real * | intscalar, | ||
SCIP_Bool * | success | ||
) |
tries to find a value, such that all row coefficients, if scaled with this value become integral
- Parameters
-
row LP row set global SCIP settings mindelta minimal relative allowed difference of scaled coefficient s*c and integral i maxdelta maximal relative allowed difference of scaled coefficient s*c and integral i maxdnom maximal denominator allowed in rational numbers maxscale maximal allowed scalar usecontvars should the coefficients of the continuous variables also be made integral? intscalar pointer to store scalar that would make the coefficients integral, or NULL success stores whether returned value is valid
Definition at line 5747 of file lp.c.
References ABS, SCIP_Row::cols, SCIP_Row::cols_index, FALSE, isIntegralScalar(), SCIP_Row::len, MIN, nscalars, NULL, REALABS, scalars, SCIP_Bool, SCIP_INVALID, SCIP_Longint, SCIP_LONGINT_FORMAT, SCIP_OKAY, SCIP_Real, SCIP_REAL_MAX, SCIP_VARSTATUS_COLUMN, SCIPcalcGreComDiv(), SCIPcolIsIntegral(), SCIPdebug, SCIPrealToRational(), SCIProwGetName(), SCIPsetDebugMsg, SCIPsetIsInfinity(), SCIPsetIsPositive(), SCIPsetIsZero(), SCIPvarGetCol(), SCIPvarGetStatus(), TRUE, SCIP_Row::vals, and SCIP_Col::var.
Referenced by SCIPcalcRowIntegralScalar(), and SCIProwMakeIntegral().
◆ SCIProwMakeIntegral()
SCIP_RETCODE SCIProwMakeIntegral | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_Real | mindelta, | ||
SCIP_Real | maxdelta, | ||
SCIP_Longint | maxdnom, | ||
SCIP_Real | maxscale, | ||
SCIP_Bool | usecontvars, | ||
SCIP_Bool * | success | ||
) |
tries to scale row, s.t. all coefficients become integral
- Parameters
-
row LP row blkmem block memory set global SCIP settings eventqueue event queue stat problem statistics lp current LP data mindelta minimal relative allowed difference of scaled coefficient s*c and integral i maxdelta maximal relative allowed difference of scaled coefficient s*c and integral i maxdnom maximal denominator allowed in rational numbers maxscale maximal value to scale row with usecontvars should the coefficients of the continuous variables also be made integral? success stores whether row could be made rational
Definition at line 5981 of file lp.c.
References NULL, rowScale(), SCIP_CALL, SCIP_OKAY, SCIP_Real, and SCIProwCalcIntegralScalar().
Referenced by SCIPmakeRowIntegral().
◆ rowMerge()
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
- Parameters
-
row row to be sorted set global SCIP settings
Definition at line 6049 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(), SCIProwSort(), SCIPsetDebugMsg, SCIPsetIsIntegral(), SCIPsetIsZero(), SCIPsetRound(), TRUE, and SCIP_Row::vals.
Referenced by SCIProwForceSort().
◆ SCIProwDelaySort()
void SCIProwDelaySort | ( | SCIP_ROW * | row | ) |
enables delaying of row sorting
- Parameters
-
row LP row
Definition at line 6148 of file lp.c.
References SCIP_Row::delaysort, NULL, and TRUE.
Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), and SCIPcacheRowExtensions().
◆ SCIProwForceSort()
disables delaying of row sorting, sorts row and merges coefficients with equal columns
- Parameters
-
row LP row set global SCIP settings
Definition at line 6159 of file lp.c.
References SCIP_Row::delaysort, FALSE, NULL, and rowMerge().
Referenced by SCIPaddVarsToRow(), SCIPaddVarsToRowSameCoef(), and SCIPflushRowExtensions().
◆ SCIProwRecalcLPActivity()
recalculates the current activity of a row
- Parameters
-
row LP row stat problem statistics
Definition at line 6172 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 SCIPlpGetSol(), SCIPrecalcRowActivity(), SCIPrecalcRowLPActivity(), and SCIProwGetLPActivity().
◆ SCIProwGetLPActivity()
returns the activity of a row in the current LP solution
- Parameters
-
row LP row set global SCIP settings stat problem statistics lp current LP data
Definition at line 6224 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(), SCIPlpGetDualDegeneracy(), and SCIProwGetLPFeasibility().
◆ SCIProwGetLPFeasibility()
SCIP_Real SCIProwGetLPFeasibility | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp | ||
) |
returns the feasibility of a row in the current LP solution: negative value means infeasibility
- Parameters
-
row LP row set global SCIP settings stat problem statistics lp current LP data
Definition at line 6254 of file lp.c.
References SCIP_Row::lhs, MIN, NULL, SCIP_Row::rhs, SCIP_Real, and SCIProwGetLPActivity().
Referenced by SCIPcutpoolSeparate(), SCIPgetRowFeasibility(), SCIPgetRowLPFeasibility(), SCIPgetRowSolFeasibility(), SCIProwGetLPEfficacy(), and SCIProwGetLPSolCutoffDistance().
◆ SCIProwGetRelaxFeasibility()
returns the feasibility of a row in the relaxed solution solution: negative value means infeasibility
- Parameters
-
row LP row set global SCIP settings stat problem statistics
Definition at line 6274 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().
◆ SCIProwGetNLPFeasibility()
returns the feasibility of a row in the current NLP solution: negative value means infeasibility
- Parameters
-
row LP row set global SCIP settings stat problem statistics
Definition at line 6336 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().
◆ SCIProwRecalcPseudoActivity()
calculates the current pseudo activity of a row
- Parameters
-
row row data stat problem statistics
Definition at line 6395 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().
◆ SCIProwGetPseudoActivity()
returns the pseudo activity of a row in the current pseudo solution
- Parameters
-
row LP row set global SCIP settings stat problem statistics
Definition at line 6422 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().
◆ SCIProwGetPseudoFeasibility()
returns the pseudo feasibility of a row in the current pseudo solution: negative value means infeasibility
- Parameters
-
row LP row set global SCIP settings stat problem statistics
Definition at line 6450 of file lp.c.
References SCIP_Row::lhs, MIN, NULL, SCIP_Row::rhs, SCIP_Real, and SCIProwGetPseudoActivity().
Referenced by SCIPgetRowFeasibility(), SCIPgetRowPseudoFeasibility(), and SCIPgetRowSolFeasibility().
◆ SCIProwGetSolActivity()
SCIP_Real SCIProwGetSolActivity | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | sol | ||
) |
returns the activity of a row for a given solution
- Parameters
-
row LP row set global SCIP settings stat problem statistics data sol primal CIP solution
Definition at line 6466 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().
◆ SCIProwGetSolFeasibility()
SCIP_Real SCIProwGetSolFeasibility | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | sol | ||
) |
returns the feasibility of a row for the given solution
- Parameters
-
row LP row set global SCIP settings stat problem statistics data sol primal CIP solution
Definition at line 6508 of file lp.c.
References SCIP_Row::lhs, MIN, NULL, SCIP_Row::rhs, SCIP_Real, and SCIProwGetSolActivity().
Referenced by SCIPcutpoolSeparate(), SCIPgetRowSolFeasibility(), and SCIProwGetSolEfficacy().
◆ rowCalcActivityBounds()
calculates minimal and maximal activity of row w.r.t. the column's bounds
- Parameters
-
row row data set global SCIP settings stat problem statistics data
Definition at line 6526 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_Real, SCIPsetFeastol(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIPsetSumepsilon(), SCIP_Col::ub, SCIP_Row::validactivitybdsdomchg, and SCIP_Row::vals.
Referenced by SCIProwGetMaxActivity(), and SCIProwGetMinActivity().
◆ SCIProwGetMinActivity()
returns the minimal activity of a row w.r.t. the columns' bounds
- Parameters
-
row LP row set global SCIP settings stat problem statistics data
Definition at line 6598 of file lp.c.
References SCIP_Stat::domchgcount, SCIP_Row::maxactivity, SCIP_Row::minactivity, NULL, rowCalcActivityBounds(), SCIP_INVALID, and SCIP_Row::validactivitybdsdomchg.
Referenced by SCIPaddRow(), SCIPgetRowMinActivity(), SCIPlpGetDualDegeneracy(), SCIPlpRemoveRedundantRows(), SCIProwIsRedundant(), sepastoreIsCutRedundant(), and sepastoreIsCutRedundantOrInfeasible().
◆ SCIProwGetMaxActivity()
returns the maximal activity of a row w.r.t. the columns' bounds
- Parameters
-
row LP row set global SCIP settings stat problem statistics data
Definition at line 6619 of file lp.c.
References SCIP_Stat::domchgcount, SCIP_Row::maxactivity, SCIP_Row::minactivity, NULL, rowCalcActivityBounds(), SCIP_INVALID, and SCIP_Row::validactivitybdsdomchg.
Referenced by SCIPaddRow(), SCIPgetRowMaxActivity(), SCIPlpGetDualDegeneracy(), SCIPlpRemoveRedundantRows(), SCIProwIsRedundant(), sepastoreIsCutRedundant(), and sepastoreIsCutRedundantOrInfeasible().
◆ SCIProwIsRedundant()
returns whether the row is unmodifiable and redundant w.r.t. the columns' bounds
- Parameters
-
row LP row set global SCIP settings stat problem statistics data
Definition at line 6640 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().
◆ SCIProwGetMaxval()
gets maximal absolute value of row vector coefficients
- Parameters
-
row LP row set global SCIP settings
Definition at line 6671 of file lp.c.
References SCIP_Row::len, SCIP_Row::maxval, NULL, SCIP_Row::nummaxval, and rowCalcIdxsAndVals().
Referenced by SCIP_DECL_HASHKEYEQ(), SCIP_DECL_HASHKEYVAL(), SCIPcutpoolAddRow(), SCIPcutpoolIsCutNew(), SCIPgetRowMaxCoef(), SCIProwGetLPEfficacy(), SCIProwGetNLPEfficacy(), SCIProwGetRelaxEfficacy(), and SCIProwGetSolEfficacy().
◆ SCIProwGetMinval()
gets minimal absolute value of row vector's non-zero coefficients
- Parameters
-
row LP row set global SCIP settings
Definition at line 6687 of file lp.c.
References SCIP_Row::len, SCIP_Row::minval, NULL, SCIP_Row::numminval, and rowCalcIdxsAndVals().
Referenced by SCIP_DECL_HASHKEYEQ(), and SCIPgetRowMinCoef().
◆ SCIProwGetMaxidx()
gets maximal column index of row entries
- Parameters
-
row LP row set global SCIP settings
Definition at line 6703 of file lp.c.
References SCIP_Row::len, SCIP_Row::maxidx, NULL, rowCalcIdxsAndVals(), and SCIP_Row::validminmaxidx.
Referenced by SCIPcutpoolAddNewRow(), and SCIPcutpoolAddRow().
◆ SCIProwGetMinidx()
gets minimal column index of row entries
- Parameters
-
row LP row set global SCIP settings
Definition at line 6719 of file lp.c.
References SCIP_Row::len, SCIP_Row::minidx, NULL, rowCalcIdxsAndVals(), and SCIP_Row::validminmaxidx.
◆ SCIProwGetNumIntCols()
gets number of integral columns in row
- Parameters
-
row LP row set global SCIP settings
Definition at line 6735 of file lp.c.
References SCIP_Row::len, NULL, SCIP_Row::numintcols, and rowCalcIdxsAndVals().
Referenced by SCIPgetRowNumIntCols().
◆ SCIProwGetLPSolCutoffDistance()
SCIP_Real SCIProwGetLPSolCutoffDistance | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | sol, | ||
SCIP_LP * | lp | ||
) |
returns row's cutoff distance in the direction of the given primal solution
- Parameters
-
row LP row set global SCIP settings stat problem statistics data sol solution to compute direction for cutoff distance; must not be NULL lp current LP data
Definition at line 6751 of file lp.c.
References ABS, SCIP_Row::cols, SCIP_Lp::cols, ensureSoldirectionSize(), SCIP_Stat::lpcount, SCIP_Col::lppos, SCIP_Lp::ncols, SCIP_Row::nlpcols, NULL, SCIP_Col::primsol, SCIP_CALL_ABORT, SCIP_Real, SCIProwGetLPFeasibility(), SCIPsetIsSumZero(), SCIPsolGetVal(), SCIP_Lp::soldirection, SQR, SCIP_Lp::validsoldirlp, SCIP_Lp::validsoldirsol, SCIP_Row::vals, and SCIP_Col::var.
Referenced by SCIPgetCutLPSolCutoffDistance().
◆ SCIProwGetLPEfficacy()
returns row's efficacy with respect to the current LP solution: e = -feasibility/norm
- Parameters
-
row LP row set global SCIP settings stat problem statistics data lp current LP data
Definition at line 6808 of file lp.c.
References eps, SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetLPFeasibility(), SCIProwGetMaxval(), SCIProwGetNorm(), SCIProwGetSumNorm(), and SCIPsetSumepsilon().
Referenced by SCIPcutpoolAddNewRow(), SCIPcutpoolSeparate(), SCIPgetCutEfficacy(), SCIProwIsLPEfficacious(), SCIPsepastoreApplyCuts(), and SCIPsepastoreRemoveInefficaciousCuts().
◆ SCIProwIsLPEfficacious()
SCIP_Bool SCIProwIsLPEfficacious | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_LP * | lp, | ||
SCIP_Bool | root | ||
) |
returns whether the row's efficacy with respect to the current LP solution is greater than the minimal cut efficacy
- Parameters
-
row LP row set global SCIP settings stat problem statistics data lp current LP data root should the root's minimal cut efficacy be used?
Definition at line 6849 of file lp.c.
References SCIP_Real, SCIProwGetLPEfficacy(), and SCIPsetIsEfficacious().
Referenced by SCIPisCutEfficacious().
◆ SCIProwGetSolEfficacy()
SCIP_Real SCIProwGetSolEfficacy | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | sol | ||
) |
returns row's efficacy with respect to the given primal solution: e = -feasibility/norm
- Parameters
-
row LP row set global SCIP settings stat problem statistics data sol primal CIP solution
Definition at line 6865 of file lp.c.
References eps, SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetMaxval(), SCIProwGetNorm(), SCIProwGetSolFeasibility(), SCIProwGetSumNorm(), and SCIPsetSumepsilon().
Referenced by SCIPcutpoolSeparate(), SCIPgetCutEfficacy(), and SCIProwIsSolEfficacious().
◆ SCIProwIsSolEfficacious()
SCIP_Bool SCIProwIsSolEfficacious | ( | SCIP_ROW * | row, |
SCIP_SET * | set, | ||
SCIP_STAT * | stat, | ||
SCIP_SOL * | sol, | ||
SCIP_Bool | root | ||
) |
returns whether the row's efficacy with respect to the given primal solution is greater than the minimal cut efficacy
- Parameters
-
row LP row set global SCIP settings stat problem statistics data sol primal CIP solution root should the root's minimal cut efficacy be used?
Definition at line 6908 of file lp.c.
References SCIP_Real, SCIProwGetSolEfficacy(), and SCIPsetIsEfficacious().
Referenced by SCIPisCutEfficacious().
◆ SCIProwGetRelaxEfficacy()
returns row's efficacy with respect to the relaxed solution: e = -feasibility/norm
- Parameters
-
row LP row set global SCIP settings stat problem statistics data
Definition at line 6924 of file lp.c.
References eps, SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetMaxval(), SCIProwGetNorm(), SCIProwGetRelaxFeasibility(), SCIProwGetSumNorm(), and SCIPsetSumepsilon().
Referenced by SCIPsepastoreRemoveInefficaciousCuts().
◆ SCIProwGetNLPEfficacy()
returns row's efficacy with respect to the NLP solution: e = -feasibility/norm
- Parameters
-
row LP row set global SCIP settings stat problem statistics data
Definition at line 6964 of file lp.c.
References eps, SCIP_Row::len, MAX, NULL, SCIP_Real, SCIPABORT, SCIPerrorMessage, SCIProwGetMaxval(), SCIProwGetNLPFeasibility(), SCIProwGetNorm(), SCIProwGetSumNorm(), and SCIPsetSumepsilon().
Referenced by SCIPsepastoreRemoveInefficaciousCuts().
◆ SCIProwGetDiscreteScalarProduct()
returns the discrete scalar product of the coefficient vectors of the two given rows
- Parameters
-
row1 first LP row row2 second LP row
Definition at line 7365 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().
◆ SCIProwGetObjParallelism()
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
- Parameters
-
row LP row set global SCIP settings lp current LP data
Definition at line 7800 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 SCIPgetRowObjParallelism().
◆ SCIProwCatchEvent()
SCIP_RETCODE SCIProwCatchEvent | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int * | filterpos | ||
) |
includes event handler with given data in row's event filter
- Parameters
-
row row blkmem block memory set global SCIP settings eventtype event type to catch eventhdlr event handler to call for the event processing eventdata event data to pass to the event handler for the event processing filterpos pointer to store position of event filter entry, or NULL
Definition at line 7833 of file lp.c.
References SCIP_Row::eventfilter, SCIP_Row::name, NULL, SCIP_CALL, SCIP_EVENTTYPE_FORMAT, SCIP_EVENTTYPE_ROWCHANGED, SCIP_OKAY, SCIPeventfilterAdd(), and SCIPsetDebugMsg.
Referenced by SCIPcatchRowEvent().
◆ SCIProwDropEvent()
SCIP_RETCODE SCIProwDropEvent | ( | SCIP_ROW * | row, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTTYPE | eventtype, | ||
SCIP_EVENTHDLR * | eventhdlr, | ||
SCIP_EVENTDATA * | eventdata, | ||
int | filterpos | ||
) |
deletes event handler with given data from row's event filter
- Parameters
-
row row blkmem block memory set global SCIP settings eventtype event type mask of dropped event eventhdlr event handler to call for the event processing eventdata event data to pass to the event handler for the event processing filterpos position of event filter entry returned by SCIPvarCatchEvent(), or -1
Definition at line 7857 of file lp.c.
References SCIP_Row::eventfilter, SCIP_Row::name, NULL, SCIP_CALL, SCIP_OKAY, SCIPeventfilterDel(), and SCIPsetDebugMsg.
Referenced by SCIPdropRowEvent().
◆ SCIProwMarkNotRemovableLocal()
marks a row to be not removable from the LP in the current node because it became obsolete
- Parameters
-
row LP row stat problem statistics
Definition at line 7878 of file lp.c.
References SCIP_Stat::nnodes, NULL, and SCIP_Row::obsoletenode.
Referenced by SCIPmarkRowNotRemovableLocal().
◆ markColDeleted()
|
static |
resets column data to represent a column not in the LP solver
- Parameters
-
col column to be marked deleted
Definition at line 7897 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().
◆ lpFlushDelCols()
|
static |
applies all cached column removals to the LP solver
- Parameters
-
lp current LP data
Definition at line 7919 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::primalchecked, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPdebugMessage, SCIPlpiDelCols(), SCIP_Lp::solved, TRUE, and SCIP_Lp::updateintegrality.
Referenced by SCIPlpFlush().
◆ computeLPBounds()
|
static |
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
- Parameters
-
lp current LP data set global SCIP settings col column to compute bounds for lpiinf infinity value if the LP solver lb pointer to store the new lower bound ub pointer to store the new upper bound
Definition at line 7970 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().
◆ lpFlushAddCols()
|
static |
applies all cached column additions to the LP solver
- Parameters
-
lp current LP data blkmem block memory set global SCIP settings eventqueue event queue
Definition at line 8005 of file lp.c.
References SCIP_Col::coefchanged, colLink(), SCIP_Lp::cols, computeLPBounds(), debugColPrint, SCIP_Lp::diving, SCIP_Lp::dualchecked, 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, SCIPlpiAddCols(), SCIPlpiInfinity(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), SCIP_Lp::solved, TRUE, SCIP_Col::ubchanged, SCIP_Lp::updateintegrality, SCIP_Col::validfarkaslp, SCIP_Col::validredcostlp, SCIP_Col::vals, and SCIP_Col::var.
Referenced by SCIPlpFlush().
◆ markRowDeleted()
|
static |
resets row data to represent a row not in the LP solver
- Parameters
-
row row to be marked deleted
Definition at line 8163 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().
◆ lpFlushDelRows()
|
static |
applies all cached row removals to the LP solver
- Parameters
-
lp current LP data blkmem block memory set global SCIP settings
Definition at line 8179 of file lp.c.
References SCIP_Row::coefchanged, SCIP_Lp::dualchecked, 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, SCIPlpiDelRows(), SCIProwRelease(), SCIPsetDebugMsg, SCIP_Lp::solved, and TRUE.
Referenced by SCIPlpFlush().
◆ lpFlushAddRows()
|
static |
applies all cached row additions and removals to the LP solver
- Parameters
-
lp current LP data blkmem block memory set global SCIP settings eventqueue event queue
Definition at line 8228 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::primalchecked, SCIP_Lp::primalfeasible, r, SCIP_Row::rhs, SCIP_Row::rhschanged, rowLink(), SCIP_Lp::rows, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIPlpiAddRows(), SCIPlpiInfinity(), SCIProwCapture(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetDebugMsgPrint, SCIPsetFreeBufferArray, SCIPsetIsInfinity(), SCIPvarGetName(), SCIP_Lp::solved, TRUE, SCIP_Row::validactivitylp, SCIP_Row::vals, and SCIP_Col::var.
Referenced by SCIPlpFlush().
◆ lpFlushChgCols()
|
static |
applies all cached column bound and objective changes to the LP
- Parameters
-
lp current LP data set global SCIP settings
Definition at line 8376 of file lp.c.
References SCIP_Lp::chgcols, computeLPBounds(), SCIP_Lp::dualchecked, 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::primalchecked, SCIP_Lp::primalfeasible, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIP_VARSTATUS_COLUMN, SCIPlpiChgBounds(), SCIPlpiChgObj(), SCIPlpiGetBounds(), SCIPlpiGetObj(), SCIPlpiGetSolverName(), SCIPlpiInfinity(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsFeasEQ(), SCIPsetIsInfinity(), SCIPvarGetCol(), SCIPvarGetStatus(), SCIP_Lp::solved, SCIP_Col::ubchanged, and SCIP_Col::var.
Referenced by SCIPlpFlush().
◆ lpFlushChgRows()
|
static |
applies all cached row side changes to the LP
- Parameters
-
lp current LP data set global SCIP settings
Definition at line 8524 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::primalchecked, SCIP_Lp::primalfeasible, SCIP_Row::rhs, SCIP_Row::rhschanged, SCIP_Bool, SCIP_CALL, SCIP_INVALID, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIP_Real, SCIPlpiChgSides(), SCIPlpiGetSides(), SCIPlpiGetSolverName(), SCIPlpiInfinity(), SCIPsetAllocBufferArray, SCIPsetDebugMsg, SCIPsetFreeBufferArray, SCIPsetIsInfinity(), SCIPsetIsSumEQ(), and SCIP_Lp::solved.
Referenced by SCIPlpFlush().
◆ lpCopyIntegrality()
|
static |
copy integrality information to the LP
- Parameters
-
lp current LP data set global SCIP settings
Definition at line 8623 of file lp.c.
References SCIP_Lp::cols, FALSE, SCIP_Lp::lpi, SCIP_Lp::ncols, NULL, SCIP_CALL, SCIP_OKAY, SCIPcolGetVar(), SCIPlpiSetIntegralityInformation(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarIsBinary(), SCIPvarIsIntegral(), and SCIP_Lp::updateintegrality.
Referenced by lpSolveStable().
◆ SCIPlpFlush()
SCIP_RETCODE SCIPlpFlush | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PROB * | prob, | ||
SCIP_EVENTQUEUE * | eventqueue | ||
) |
applies all cached changes to the LP solver
- Parameters
-
lp current LP data blkmem block memory set global SCIP settings prob problem data eventqueue event queue
Definition at line 8671 of file lp.c.
References checkLinks, SCIP_Lp::cutoffbound, FALSE, SCIP_Lp::flushaddedcols, SCIP_Lp::flushaddedrows, SCIP_Lp::flushdeletedcols, SCIP_Lp::flushdeletedrows, SCIP_Lp::flushed, lpCutoffDisabled, lpFlushAddCols(), lpFlushAddRows(), lpFlushChgCols(), lpFlushChgRows(), lpFlushDelCols(), lpFlushDelRows(), SCIP_Lp::lpi, SCIP_Lp::lpifirstchgcol, SCIP_Lp::lpifirstchgrow, SCIP_Lp::lpiobjlim, SCIP_Lp::lpsolstat, SCIP_Lp::nchgcols, SCIP_Lp::nchgrows, SCIP_Lp::ncols, SCIP_Lp::nlpicols, SCIP_Lp::nlpirows, SCIP_Lp::nrows, NULL, SCIP_CALL, SCIP_LPSOLSTAT_NOTSOLVED, SCIP_OKAY, SCIPlpiGetNCols(), SCIPlpiGetNRows(), SCIPsetDebugMsg, SCIP_Lp::solved, and TRUE.
Referenced by focusnodeCleanupVars(), lpFlushAndSolve(), priceAndCutLoop(), SCIPflushLP(), SCIPlpEndDive(), SCIPlpReset(), SCIPlpSetState(), SCIPlpSolveAndEval(), SCIPtreeEndProbing(), SCIPwriteLP(), and SCIPwriteMIP().
◆ SCIPlpMarkFlushed()
SCIP_RETCODE SCIPlpMarkFlushed | ( | SCIP_LP * | lp, |
SCIP_SET * | set | ||
) |
marks the LP to be flushed, even if the LP thinks it is not flushed
- Parameters
-
lp current LP data set global SCIP settings
Definition at line 8734 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.
◆ colUpdateAddLP()
updates link data after addition of column
- Parameters
-
col LP column set global SCIP settings
Definition at line 8862 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().
◆ rowUpdateAddLP()
|
static |
updates link data after addition of row
- Parameters
-
row LP row
Definition at line 8902 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().
◆ colUpdateDelLP()
updates link data after removal of column
- Parameters
-
col LP column set global SCIP settings
Definition at line 8937 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().
◆ rowUpdateDelLP()
|
static |
updates link data after removal of row
- Parameters
-
row LP row
Definition at line 8976 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().
◆ allocDiveChgSideArrays()
|
static |
- Parameters
-
lp LP data object initsize initial size of the arrays
Definition at line 9010 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().
◆ reallocDiveChgSideArrays()
|
static |
- Parameters
-
lp LP data object minsize minimal number of elements growfact growing factor
Definition at line 9032 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().
◆ freeDiveChgSideArrays()
|
static |
- Parameters
-
lp LP data object
Definition at line 9058 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().
◆ SCIPlpCreate()
SCIP_RETCODE SCIPlpCreate | ( | SCIP_LP ** | lp, |
SCIP_SET * | set, | ||
SCIP_MESSAGEHDLR * | messagehdlr, | ||
SCIP_STAT * | stat, | ||
const char * | name | ||
) |
creates empty LP data object
- Parameters
-
lp pointer to LP data object set global SCIP settings messagehdlr message handler stat problem statistics name problem name
Definition at line 9078 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_MARKOWITZ, SCIP_LPPAR_OBJLIM, SCIP_LPPAR_POLISHING, SCIP_LPPAR_PRESOLVING, SCIP_LPPAR_PRICING, SCIP_LPPAR_RANDOMSEED, SCIP_LPPAR_REFACTOR, SCIP_LPPAR_ROWREPSWITCH, SCIP_LPPAR_SCALING, SCIP_LPPAR_THREADS, SCIP_LPPAR_TIMING, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OBJSEN_MINIMIZE, SCIP_OKAY, SCIP_PARAMETERWRONGVAL, SCIP_PRICING_AUTO, SCIP_VERBLEVEL_FULL, SCIPerrorMessage, SCIPlpiCreate(), SCIPlpiGetSolverName(), SCIPlpiInfinity(), SCIPlpResetFeastol(), SCIPmessagePrintVerbInfo(), SCIPsetBarrierconvtol(), SCIPsetDualfeastol(), SCIPsetInfinity(), and TRUE.
Referenced by SCIPtransformProb().
◆ SCIPlpFree()
SCIP_RETCODE SCIPlpFree | ( | SCIP_LP ** | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter | ||
) |
frees LP data object
- Parameters
-
lp pointer to LP data object blkmem block memory set global SCIP settings eventqueue event queue eventfilter global event filter
Definition at line 9370 of file lp.c.
References BMSfreeMemory, BMSfreeMemoryArrayNull, BMSfreeMemoryNull, freeDiveChgSideArrays(), NULL, SCIP_CALL, SCIP_OKAY, SCIPlpClear(), SCIPlpiFree(), and SCIProwRelease().
Referenced by freeTransform(), and freeTransforming().
◆ SCIPlpReset()
SCIP_RETCODE SCIPlpReset | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PROB * | prob, | ||
SCIP_STAT * | stat, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter | ||
) |
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
- Parameters
-
lp LP data blkmem block memory set global SCIP settings prob problem data stat problem statistics eventqueue event queue eventfilter global event filter
Definition at line 9415 of file lp.c.
References SCIP_Lp::dualchecked, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::lastlpalgo, SCIP_Stat::lpcount, SCIP_Lp::lpobjval, SCIP_Lp::lpsolstat, NULL, SCIP_Lp::primalchecked, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_LPALGO_DUALSIMPLEX, SCIP_LPSOLSTAT_OPTIMAL, SCIP_OKAY, SCIPlpClear(), SCIPlpFlush(), SCIP_Lp::solisbasic, SCIP_Lp::solved, TRUE, SCIP_Lp::validdegeneracylp, SCIP_Lp::validfarkaslp, SCIP_Lp::validsoldirlp, SCIP_Lp::validsoldirsol, and SCIP_Lp::validsollp.
Referenced by freeReoptSolve(), freeSolve(), and initSolve().
◆ SCIPlpAddCol()
SCIP_RETCODE SCIPlpAddCol | ( | SCIP_LP * | lp, |
SCIP_SET * | set, | ||
SCIP_COL * | col, | ||
int | depth | ||
) |
adds a column to the LP
- Parameters
-
lp LP data set global SCIP settings col LP column depth depth in the tree where the column addition is performed
Definition at line 9450 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, lpUpdateObjNorms(), 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, SCIPsetDebugMsg, SCIPsetDebugMsgPrint, SCIPsetIsInfinity(), SCIPvarGetCol(), SCIPvarGetName(), SCIPvarGetStatus(), SCIPvarIsIntegral(), SCIP_Col::ub, SCIP_Col::unchangedobj, SCIP_Col::vals, and SCIP_Col::var.
Referenced by forkAddLP(), pseudoforkAddLP(), SCIPpricestoreApplyVars(), and subrootConstructLP().
◆ SCIPlpAddRow()
SCIP_RETCODE SCIPlpAddRow | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
SCIP_ROW * | row, | ||
int | depth | ||
) |
adds a row to the LP and captures it
- Parameters
-
lp LP data blkmem block memory buffers set global SCIP settings eventqueue event queue eventfilter global event filter row LP row depth depth in the tree where the row addition is performed
Definition at line 9509 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, SCIPeventCreateRowAddedLP(), SCIPeventqueueAdd(), SCIProwCapture(), SCIProwLock(), SCIPsetDebugMsg, SCIPsetDebugMsgPrint, SCIPsetIsZero(), SCIPvarGetName(), SCIP_Row::vals, and SCIP_Col::var.
Referenced by forkAddLP(), pseudoforkAddLP(), SCIPaddRowDive(), SCIPaddRowProbing(), sepastoreApplyCut(), and subrootConstructLP().
◆ checkLazyColArray()
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
- Parameters
-
lp LP data set global SCIP settings
Definition at line 9580 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().
◆ SCIPlpShrinkCols()
SCIP_RETCODE SCIPlpShrinkCols | ( | SCIP_LP * | lp, |
SCIP_SET * | set, | ||
int | newncols | ||
) |
removes all columns after the given number of cols from the LP
- Parameters
-
lp LP data set global SCIP settings newncols new number of columns in the LP
Definition at line 9633 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, lpUpdateObjNorms(), MIN, SCIP_Lp::ncols, SCIP_Lp::nlazycols, SCIP_Lp::nremovablecols, NULL, SCIP_Col::removable, SCIP_Col::rows, SCIP_OKAY, SCIP_VARSTATUS_COLUMN, SCIPsetDebugMsg, SCIPvarGetCol(), SCIPvarGetStatus(), SCIP_Col::unchangedobj, and SCIP_Col::var.
Referenced by focusnodeCleanupVars(), focusnodeToFork(), SCIPlpClear(), SCIPtreeLoadLP(), and treeBacktrackProbing().
◆ SCIPlpShrinkRows()
SCIP_RETCODE SCIPlpShrinkRows | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter, | ||
int | newnrows | ||
) |
removes and releases all rows after the given number of rows from the LP
- Parameters
-
lp LP data blkmem block memory set global SCIP settings eventqueue event queue eventfilter global event filter newnrows new number of rows in the LP
Definition at line 9705 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, r, SCIP_Row::removable, SCIP_Lp::rows, rowUpdateDelLP(), SCIP_CALL, SCIP_EVENTTYPE_ROWDELETEDLP, SCIP_OKAY, SCIPeventCreateRowDeletedLP(), SCIPeventqueueAdd(), SCIProwRelease(), SCIProwUnlock(), and SCIPsetDebugMsg.
Referenced by focusnodeToFork(), SCIPlpClear(), SCIPlpEndDive(), SCIPtreeLoadLP(), and treeBacktrackProbing().
◆ SCIPlpClear()
SCIP_RETCODE SCIPlpClear | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_EVENTFILTER * | eventfilter | ||
) |
removes all columns and rows from LP, releases all rows
- Parameters
-
lp LP data blkmem block memory set global SCIP settings eventqueue event queue eventfilter global event filter
Definition at line 9771 of file lp.c.
References SCIP_Lp::diving, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpShrinkCols(), SCIPlpShrinkRows(), and SCIPsetDebugMsg.
Referenced by SCIPlpFree(), SCIPlpReset(), and SCIPtreeLoadLP().
◆ SCIPlpMarkSize()
void SCIPlpMarkSize | ( | SCIP_LP * | lp | ) |
remembers number of columns and rows to track the newly added ones
- Parameters
-
lp current LP data
Definition at line 9790 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().
◆ SCIPlpSetSizeMark()
void SCIPlpSetSizeMark | ( | SCIP_LP * | lp, |
int | nrows, | ||
int | ncols | ||
) |
sets the remembered number of columns and rows to the given values
- Parameters
-
lp current LP data nrows number of rows to set the size marker to ncols number of columns to set the size marker to
Definition at line 9802 of file lp.c.
References SCIP_Lp::diving, SCIP_Lp::firstnewcol, SCIP_Lp::firstnewrow, and NULL.
Referenced by treeBacktrackProbing().
◆ SCIPlpGetBasisInd()
SCIP_RETCODE SCIPlpGetBasisInd | ( | SCIP_LP * | lp, |
int * | basisind | ||
) |
gets all indices of basic columns and rows: index i >= 0 corresponds to column i, index i < 0 to row -i-1
- Parameters
-
lp LP data basisind pointer to store basis indices ready to keep number of rows entries
Definition at line 9816 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().
◆ SCIPlpGetBase()
SCIP_RETCODE SCIPlpGetBase | ( | SCIP_LP * | lp, |
int * | cstat, | ||
int * | rstat | ||
) |
gets current basis status for columns and rows; arrays must be large enough to store the basis status
- Parameters
-
lp LP data cstat array to store column basis status, or NULL rstat array to store row basis status, or NULL
Definition at line 9833 of file lp.c.
References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBase(), SCIP_Lp::solisbasic, and SCIP_Lp::solved.
◆ SCIPlpGetBInvRow()
SCIP_RETCODE SCIPlpGetBInvRow | ( | SCIP_LP * | lp, |
int | r, | ||
SCIP_Real * | coef, | ||
int * | inds, | ||
int * | ninds | ||
) |
gets a row from the inverse basis matrix B^-1
- Parameters
-
lp LP data r row number coef pointer to store the coefficients of the row inds array to store the non-zero indices, or NULL ninds pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)
Definition at line 9850 of file lp.c.
References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, r, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBInvRow(), SCIP_Lp::solisbasic, and SCIP_Lp::solved.
Referenced by SCIPgetLPBInvRow().
◆ SCIPlpGetBInvCol()
SCIP_RETCODE SCIPlpGetBInvCol | ( | SCIP_LP * | lp, |
int | c, | ||
SCIP_Real * | coef, | ||
int * | inds, | ||
int * | ninds | ||
) |
gets a column from the inverse basis matrix B^-1
- Parameters
-
lp LP data c column number of B^-1; this is NOT the number of the column in the LP returned by SCIPcolGetLPPos(); you have to call SCIPgetBasisInd() to get the array which links the B^-1 column numbers to the row and column numbers of the LP! c must be between 0 and nrows-1, since the basis has the size nrows * nrows coef pointer to store the coefficients of the column inds array to store the non-zero indices, or NULL ninds pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)
Definition at line 9872 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().
◆ SCIPlpGetBInvARow()
SCIP_RETCODE SCIPlpGetBInvARow | ( | SCIP_LP * | lp, |
int | r, | ||
SCIP_Real * | binvrow, | ||
SCIP_Real * | coef, | ||
int * | inds, | ||
int * | ninds | ||
) |
gets a row from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A)
- Parameters
-
lp LP data r row number binvrow row in B^-1 from prior call to SCIPlpGetBInvRow(), or NULL coef pointer to store the coefficients of the row inds array to store the non-zero indices, or NULL ninds pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)
Definition at line 9898 of file lp.c.
References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, r, SCIP_CALL, SCIP_OKAY, SCIPlpiGetBInvARow(), SCIP_Lp::solisbasic, and SCIP_Lp::solved.
Referenced by SCIPgetLPBInvARow().
◆ SCIPlpGetBInvACol()
SCIP_RETCODE SCIPlpGetBInvACol | ( | SCIP_LP * | lp, |
int | c, | ||
SCIP_Real * | coef, | ||
int * | inds, | ||
int * | ninds | ||
) |
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
- Parameters
-
lp LP data c column number which can be accessed by SCIPcolGetLPPos() coef pointer to store the coefficients of the column inds array to store the non-zero indices, or NULL ninds pointer to store the number of non-zero indices, or NULL (-1: if we do not store sparsity informations)
Definition at line 9923 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().
◆ SCIPlpSumRows()
SCIP_RETCODE SCIPlpSumRows | ( | SCIP_LP * | lp, |
SCIP_SET * | set, | ||
SCIP_PROB * | prob, | ||
SCIP_Real * | weights, | ||
SCIP_REALARRAY * | sumcoef, | ||
SCIP_Real * | sumlhs, | ||
SCIP_Real * | sumrhs | ||
) |
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
- Parameters
-
lp LP data set global SCIP settings prob problem data weights row weights in row summation sumcoef array to store sum coefficients indexed by variables' probindex sumlhs pointer to store the left hand side of the row summation sumrhs pointer to store the right hand side of the row summation
Definition at line 9947 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, r, 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().
◆ SCIPlpGetState()
SCIP_RETCODE SCIPlpGetState | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_LPISTATE ** | lpistate | ||
) |
stores LP state (like basis information) into LP state object
- Parameters
-
lp LP data blkmem block memory lpistate pointer to LP state information (like basis information)
Definition at line 10033 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().
◆ SCIPlpSetState()
SCIP_RETCODE SCIPlpSetState | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_SET * | set, | ||
SCIP_PROB * | prob, | ||
SCIP_EVENTQUEUE * | eventqueue, | ||
SCIP_LPISTATE * | lpistate, | ||
SCIP_Bool | wasprimfeas, | ||
SCIP_Bool | wasprimchecked, | ||
SCIP_Bool | wasdualfeas, | ||
SCIP_Bool | wasdualchecked | ||
) |
loads LP state (like basis information) into solver
- Parameters
-
lp LP data blkmem block memory set global SCIP settings prob problem data eventqueue event queue lpistate LP state information (like basis information) wasprimfeas primal feasibility when LP state information was stored wasprimchecked true if the LP solution has passed the primal feasibility check wasdualfeas dual feasibility when LP state information was stored wasdualchecked true if the LP solution has passed the dual feasibility check
Definition at line 10057 of file lp.c.
References SCIP_Lp::dualchecked, SCIP_Lp::dualfeasible, FALSE, SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_Lp::primalchecked, SCIP_Lp::primalfeasible, SCIP_CALL, SCIP_OKAY, SCIPlpFlush(), SCIPlpiHasStateBasis(), SCIPlpiSetState(), SCIP_Lp::solisbasic, and SCIP_Lp::solved.
Referenced by SCIPlpEndDive(), SCIPtreeEndProbing(), SCIPtreeLoadLPState(), and SCIPtreeLoadProbingLPState().
◆ SCIPlpFreeState()
SCIP_RETCODE SCIPlpFreeState | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_LPISTATE ** | lpistate | ||
) |
frees LP state information
- Parameters
-
lp LP data blkmem block memory lpistate pointer to LP state information (like basis information)
Definition at line 10100 of file lp.c.
References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiFreeState().
Referenced by forkReleaseLPIState(), probingnodeFree(), probingnodeUpdate(), SCIPlpEndDive(), SCIPtreeEndProbing(), SCIPtreeSetProbingLPState(), and subrootReleaseLPIState().
◆ SCIPlpInterrupt()
SCIP_RETCODE SCIPlpInterrupt | ( | SCIP_LP * | lp, |
SCIP_Bool | interrupt | ||
) |
interrupts the currently ongoing lp solve, or disables the interrupt
- Parameters
-
lp LP data interrupt TRUE if interrupt should be set, FALSE if it should be disabled
Definition at line 10117 of file lp.c.
References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiInterrupt().
Referenced by SCIPinterruptLP().
◆ SCIPlpGetNorms()
SCIP_RETCODE SCIPlpGetNorms | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_LPINORMS ** | lpinorms | ||
) |
stores pricing norms into LP norms object
- Parameters
-
lp LP data blkmem block memory lpinorms pointer to LP pricing norms information
Definition at line 10133 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 probingnodeUpdate(), and SCIPtreeStartProbing().
◆ SCIPlpSetNorms()
SCIP_RETCODE SCIPlpSetNorms | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_LPINORMS * | lpinorms | ||
) |
loads pricing norms from LP norms object into solver
- Parameters
-
lp LP data blkmem block memory lpinorms LP pricing norms information
Definition at line 10157 of file lp.c.
References SCIP_Lp::flushed, SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiSetNorms().
Referenced by SCIPtreeEndProbing(), and SCIPtreeLoadProbingLPState().
◆ SCIPlpFreeNorms()
SCIP_RETCODE SCIPlpFreeNorms | ( | SCIP_LP * | lp, |
BMS_BLKMEM * | blkmem, | ||
SCIP_LPINORMS ** | lpinorms | ||
) |
frees pricing norms information
- Parameters
-
lp LP data blkmem block memory lpinorms pointer to LP pricing norms information
Definition at line 10177 of file lp.c.
References SCIP_Lp::lpi, NULL, SCIP_CALL, SCIP_OKAY, and SCIPlpiFreeNorms().
Referenced by probingnodeFree(), probingnodeUpdate(), SCIPtreeEndProbing(), and SCIPtreeSetProbingLPState().
◆ SCIPlpGetCutoffbound()
return the current cutoff bound of the lp
- Parameters
-
lp current LP data
Definition at line 10191 of file lp.c.
References SCIP_Lp::cutoffbound, and NULL.
Referenced by SCIPreoptCheckCutoff().
◆ SCIPlpSetCutoffbound()
SCIP_RETCODE SCIPlpSetCutoffbound | ( | SCIP_LP * | lp, |
SCIP_SET * | set, | ||
SCIP_PROB * | prob, | ||
SCIP_Real | cutoffbound | ||
) |
sets the upper objective limit of the LP solver
- Parameters
-
lp current LP data set global SCIP settings prob problem data cutoffbound new upper objective limit
Definition at line 10201 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, SCIPlpDivingObjChanged(), SCIPlpGetObjval(), SCIPlpGetSolstat(), SCIPsetDebugMsg, SCIPsetIsInfinity(), and SCIP_Lp::solved.
Referenced by primalSetCutoffbound(), SCIPchgCutoffboundDive(), SCIPchgVarObjDive(), SCIPchgVarObjProbing(), SCIPendDive(), and treeBacktrackProbing().
◆ SCIPlpGetFeastol()
gets current primal feasibility tolerance of LP solver
- Parameters
-
lp current LP data
Definition at line 10246 of file lp.c.
References SCIP_Lp::feastol, and NULL.
Referenced by SCIPgetLPFeastol().
◆ SCIPlpSetFeastol()
void SCIPlpSetFeastol | ( | SCIP_LP * |