|
dummy interface for the case no LP solver is needed
- Author
- Stefan Heinz
Definition in file lpi_none.c.
#include <assert.h>
#include "lpi/lpi.h"
#include "scip/pub_message.h"
Go to the source code of this file.
|
|
const char * | SCIPlpiGetSolverName (void) |
|
const char * | SCIPlpiGetSolverDesc (void) |
|
void * | SCIPlpiGetSolverPointer (SCIP_LPI *lpi) |
|
|
SCIP_RETCODE | SCIPlpiCreate (SCIP_LPI **lpi, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_OBJSEN objsen) |
|
SCIP_RETCODE | SCIPlpiFree (SCIP_LPI **lpi) |
|
|
SCIP_RETCODE | SCIPlpiLoadColLP (SCIP_LPI *lpi, SCIP_OBJSEN objsen, int ncols, const SCIP_Real *obj, const SCIP_Real *lb, const SCIP_Real *ub, char **colnames, int nrows, const SCIP_Real *lhs, const SCIP_Real *rhs, char **rownames, int nnonz, const int *beg, const int *ind, const SCIP_Real *val) |
|
SCIP_RETCODE | SCIPlpiAddCols (SCIP_LPI *lpi, int ncols, const SCIP_Real *obj, const SCIP_Real *lb, const SCIP_Real *ub, char **colnames, int nnonz, const int *beg, const int *ind, const SCIP_Real *val) |
|
SCIP_RETCODE | SCIPlpiDelCols (SCIP_LPI *lpi, int firstcol, int lastcol) |
|
SCIP_RETCODE | SCIPlpiDelColset (SCIP_LPI *lpi, int *dstat) |
|
SCIP_RETCODE | SCIPlpiAddRows (SCIP_LPI *lpi, int nrows, const SCIP_Real *lhs, const SCIP_Real *rhs, char **rownames, int nnonz, const int *beg, const int *ind, const SCIP_Real *val) |
|
SCIP_RETCODE | SCIPlpiDelRows (SCIP_LPI *lpi, int firstrow, int lastrow) |
|
SCIP_RETCODE | SCIPlpiDelRowset (SCIP_LPI *lpi, int *dstat) |
|
SCIP_RETCODE | SCIPlpiClear (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiChgBounds (SCIP_LPI *lpi, int ncols, const int *ind, const SCIP_Real *lb, const SCIP_Real *ub) |
|
SCIP_RETCODE | SCIPlpiChgSides (SCIP_LPI *lpi, int nrows, const int *ind, const SCIP_Real *lhs, const SCIP_Real *rhs) |
|
SCIP_RETCODE | SCIPlpiChgCoef (SCIP_LPI *lpi, int row, int col, SCIP_Real newval) |
|
SCIP_RETCODE | SCIPlpiChgObjsen (SCIP_LPI *lpi, SCIP_OBJSEN objsen) |
|
SCIP_RETCODE | SCIPlpiChgObj (SCIP_LPI *lpi, int ncols, int *ind, SCIP_Real *obj) |
|
SCIP_RETCODE | SCIPlpiScaleRow (SCIP_LPI *lpi, int row, SCIP_Real scaleval) |
|
SCIP_RETCODE | SCIPlpiScaleCol (SCIP_LPI *lpi, int col, SCIP_Real scaleval) |
|
|
SCIP_RETCODE | SCIPlpiGetNRows (SCIP_LPI *lpi, int *nrows) |
|
SCIP_RETCODE | SCIPlpiGetNCols (SCIP_LPI *lpi, int *ncols) |
|
SCIP_RETCODE | SCIPlpiGetNNonz (SCIP_LPI *lpi, int *nnonz) |
|
SCIP_RETCODE | SCIPlpiGetCols (SCIP_LPI *lpi, int firstcol, int lastcol, SCIP_Real *lb, SCIP_Real *ub, int *nnonz, int *beg, int *ind, SCIP_Real *val) |
|
SCIP_RETCODE | SCIPlpiGetRows (SCIP_LPI *lpi, int firstrow, int lastrow, SCIP_Real *lhs, SCIP_Real *rhs, int *nnonz, int *beg, int *ind, SCIP_Real *val) |
|
SCIP_RETCODE | SCIPlpiGetColNames (SCIP_LPI *lpi, int firstcol, int lastcol, char **colnames, char *namestorage, int namestoragesize, int *storageleft) |
|
SCIP_RETCODE | SCIPlpiGetRowNames (SCIP_LPI *lpi, int firstrow, int lastrow, char **rownames, char *namestorage, int namestoragesize, int *storageleft) |
|
SCIP_RETCODE | SCIPlpiGetObjsen (SCIP_LPI *lpi, SCIP_OBJSEN *objsen) |
|
SCIP_RETCODE | SCIPlpiGetObj (SCIP_LPI *lpi, int firstcol, int lastcol, SCIP_Real *vals) |
|
SCIP_RETCODE | SCIPlpiGetBounds (SCIP_LPI *lpi, int firstcol, int lastcol, SCIP_Real *lbs, SCIP_Real *ubs) |
|
SCIP_RETCODE | SCIPlpiGetSides (SCIP_LPI *lpi, int firstrow, int lastrow, SCIP_Real *lhss, SCIP_Real *rhss) |
|
SCIP_RETCODE | SCIPlpiGetCoef (SCIP_LPI *lpi, int row, int col, SCIP_Real *val) |
|
|
SCIP_RETCODE | SCIPlpiSolvePrimal (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiSolveDual (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiSolveBarrier (SCIP_LPI *lpi, SCIP_Bool crossover) |
|
SCIP_RETCODE | SCIPlpiStartStrongbranch (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiEndStrongbranch (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiStrongbranchFrac (SCIP_LPI *lpi, int col, SCIP_Real psol, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, int *iter) |
|
SCIP_RETCODE | SCIPlpiStrongbranchesFrac (SCIP_LPI *lpi, int *cols, int ncols, SCIP_Real *psols, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, int *iter) |
|
SCIP_RETCODE | SCIPlpiStrongbranchInt (SCIP_LPI *lpi, int col, SCIP_Real psol, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, int *iter) |
|
SCIP_RETCODE | SCIPlpiStrongbranchesInt (SCIP_LPI *lpi, int *cols, int ncols, SCIP_Real *psols, int itlim, SCIP_Real *down, SCIP_Real *up, SCIP_Bool *downvalid, SCIP_Bool *upvalid, int *iter) |
|
|
SCIP_Bool | SCIPlpiWasSolved (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiGetSolFeasibility (SCIP_LPI *lpi, SCIP_Bool *primalfeasible, SCIP_Bool *dualfeasible) |
|
SCIP_Bool | SCIPlpiExistsPrimalRay (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiHasPrimalRay (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsPrimalUnbounded (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsPrimalInfeasible (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsPrimalFeasible (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiExistsDualRay (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiHasDualRay (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsDualUnbounded (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsDualInfeasible (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsDualFeasible (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsOptimal (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsStable (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsObjlimExc (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsIterlimExc (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsTimelimExc (SCIP_LPI *lpi) |
|
int | SCIPlpiGetInternalStatus (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiIgnoreInstability (SCIP_LPI *lpi, SCIP_Bool *success) |
|
SCIP_RETCODE | SCIPlpiGetObjval (SCIP_LPI *lpi, SCIP_Real *objval) |
|
SCIP_RETCODE | SCIPlpiGetSol (SCIP_LPI *lpi, SCIP_Real *objval, SCIP_Real *primsol, SCIP_Real *dualsol, SCIP_Real *activity, SCIP_Real *redcost) |
|
SCIP_RETCODE | SCIPlpiGetPrimalRay (SCIP_LPI *lpi, SCIP_Real *ray) |
|
SCIP_RETCODE | SCIPlpiGetDualfarkas (SCIP_LPI *lpi, SCIP_Real *dualfarkas) |
|
SCIP_RETCODE | SCIPlpiGetIterations (SCIP_LPI *lpi, int *iterations) |
|
SCIP_RETCODE | SCIPlpiGetRealSolQuality (SCIP_LPI *lpi, SCIP_LPSOLQUALITY qualityindicator, SCIP_Real *quality) |
|
|
SCIP_RETCODE | SCIPlpiGetBase (SCIP_LPI *lpi, int *cstat, int *rstat) |
|
SCIP_RETCODE | SCIPlpiSetBase (SCIP_LPI *lpi, int *cstat, int *rstat) |
|
SCIP_RETCODE | SCIPlpiGetBasisInd (SCIP_LPI *lpi, int *bind) |
|
SCIP_RETCODE | SCIPlpiGetBInvRow (SCIP_LPI *lpi, int r, SCIP_Real *coef) |
|
SCIP_RETCODE | SCIPlpiGetBInvCol (SCIP_LPI *lpi, int c, SCIP_Real *coef) |
|
SCIP_RETCODE | SCIPlpiGetBInvARow (SCIP_LPI *lpi, int r, const SCIP_Real *binvrow, SCIP_Real *coef) |
|
SCIP_RETCODE | SCIPlpiGetBInvACol (SCIP_LPI *lpi, int c, SCIP_Real *coef) |
|
|
SCIP_RETCODE | SCIPlpiGetState (SCIP_LPI *lpi, BMS_BLKMEM *blkmem, SCIP_LPISTATE **lpistate) |
|
SCIP_RETCODE | SCIPlpiSetState (SCIP_LPI *lpi, BMS_BLKMEM *blkmem, SCIP_LPISTATE *lpistate) |
|
SCIP_RETCODE | SCIPlpiClearState (SCIP_LPI *lpi) |
|
SCIP_RETCODE | SCIPlpiFreeState (SCIP_LPI *lpi, BMS_BLKMEM *blkmem, SCIP_LPISTATE **lpistate) |
|
SCIP_Bool | SCIPlpiHasStateBasis (SCIP_LPI *lpi, SCIP_LPISTATE *lpistate) |
|
SCIP_RETCODE | SCIPlpiReadState (SCIP_LPI *lpi, const char *fname) |
|
SCIP_RETCODE | SCIPlpiWriteState (SCIP_LPI *lpi, const char *fname) |
|
|
SCIP_RETCODE | SCIPlpiGetNorms (SCIP_LPI *lpi, BMS_BLKMEM *blkmem, SCIP_LPINORMS **lpinorms) |
|
SCIP_RETCODE | SCIPlpiSetNorms (SCIP_LPI *lpi, BMS_BLKMEM *blkmem, SCIP_LPINORMS *lpinorms) |
|
SCIP_RETCODE | SCIPlpiFreeNorms (SCIP_LPI *lpi, BMS_BLKMEM *blkmem, SCIP_LPINORMS **lpinorms) |
|
|
SCIP_RETCODE | SCIPlpiGetIntpar (SCIP_LPI *lpi, SCIP_LPPARAM type, int *ival) |
|
SCIP_RETCODE | SCIPlpiSetIntpar (SCIP_LPI *lpi, SCIP_LPPARAM type, int ival) |
|
SCIP_RETCODE | SCIPlpiGetRealpar (SCIP_LPI *lpi, SCIP_LPPARAM type, SCIP_Real *dval) |
|
SCIP_RETCODE | SCIPlpiSetRealpar (SCIP_LPI *lpi, SCIP_LPPARAM type, SCIP_Real dval) |
|
|
SCIP_Real | SCIPlpiInfinity (SCIP_LPI *lpi) |
|
SCIP_Bool | SCIPlpiIsInfinity (SCIP_LPI *lpi, SCIP_Real val) |
|
|
SCIP_RETCODE | SCIPlpiReadLP (SCIP_LPI *lpi, const char *fname) |
|
SCIP_RETCODE | SCIPlpiWriteLP (SCIP_LPI *lpi, const char *fname) |
|
const char* SCIPlpiGetSolverName |
( |
void |
| ) |
|
gets name and version of LP solver
Definition at line 82 of file lpi_none.c.
References LPINAME.
const char* SCIPlpiGetSolverDesc |
( |
void |
| ) |
|
gets description of LP solver (developer, webpage, ...)
Definition at line 90 of file lpi_none.c.
void* SCIPlpiGetSolverPointer |
( |
SCIP_LPI * |
lpi | ) |
|
gets pointer for LP solver - use only with great care
- Parameters
-
lpi | pointer to an LP interface structure |
Definition at line 98 of file lpi_none.c.
References NULL.
creates an LP problem object
- Parameters
-
lpi | pointer to an LP interface structure |
messagehdlr | message handler to use for printing messages, or NULL |
name | problem name |
objsen | objective sense |
Definition at line 117 of file lpi_none.c.
References NULL, SCIP_ALLOC, SCIP_OKAY, and SCIPdebugMessage.
SCIP_RETCODE SCIPlpiLoadColLP |
( |
SCIP_LPI * |
lpi, |
|
|
SCIP_OBJSEN |
objsen, |
|
|
int |
ncols, |
|
|
const SCIP_Real * |
obj, |
|
|
const SCIP_Real * |
lb, |
|
|
const SCIP_Real * |
ub, |
|
|
char ** |
colnames, |
|
|
int |
nrows, |
|
|
const SCIP_Real * |
lhs, |
|
|
const SCIP_Real * |
rhs, |
|
|
char ** |
rownames, |
|
|
int |
nnonz, |
|
|
const int * |
beg, |
|
|
const int * |
ind, |
|
|
const SCIP_Real * |
val |
|
) |
| |
copies LP data with column matrix into LP solver
- Parameters
-
lpi | LP interface structure |
objsen | objective sense |
ncols | number of columns |
obj | objective function values of columns |
lb | lower bounds of columns |
ub | upper bounds of columns |
colnames | column names, or NULL |
nrows | number of rows |
lhs | left hand sides of rows |
rhs | right hand sides of rows |
rownames | row names, or NULL |
nnonz | number of nonzero elements in the constraint matrix |
beg | start index of each column in ind- and val-array |
ind | row indices of constraint matrix entries |
val | values of constraint matrix entries |
Definition at line 162 of file lpi_none.c.
References NULL, and SCIP_OKAY.
adds columns to the LP
- Parameters
-
lpi | LP interface structure |
ncols | number of columns to be added |
obj | objective function values of new columns |
lb | lower bounds of new columns |
ub | upper bounds of new columns |
colnames | column names, or NULL |
nnonz | number of nonzero elements to be added to the constraint matrix |
beg | start index of each column in ind- and val-array, or NULL if nnonz == 0 |
ind | row indices of constraint matrix entries, or NULL if nnonz == 0 |
val | values of constraint matrix entries, or NULL if nnonz == 0 |
Definition at line 191 of file lpi_none.c.
References NULL, and SCIP_OKAY.
deletes all columns in the given range from LP
- Parameters
-
lpi | LP interface structure |
firstcol | first column to be deleted |
lastcol | last column to be deleted |
Definition at line 213 of file lpi_none.c.
References NULL, and SCIP_OKAY.
deletes columns from SCIP_LP; the new position of a column must not be greater that its old position
- Parameters
-
lpi | LP interface structure |
dstat | deletion status of columns input: 1 if column should be deleted, 0 if not output: new position of column, -1 if column was deleted |
Definition at line 229 of file lpi_none.c.
References NULL, and SCIP_OKAY.
adds rows to the LP
- Parameters
-
lpi | LP interface structure |
nrows | number of rows to be added |
lhs | left hand sides of new rows |
rhs | right hand sides of new rows |
rownames | row names, or NULL |
nnonz | number of nonzero elements to be added to the constraint matrix |
beg | start index of each row in ind- and val-array, or NULL if nnonz == 0 |
ind | column indices of constraint matrix entries, or NULL if nnonz == 0 |
val | values of constraint matrix entries, or NULL if nnonz == 0 |
Definition at line 260 of file lpi_none.c.
References NULL, and SCIP_OKAY.
deletes all rows in the given range from LP
- Parameters
-
lpi | LP interface structure |
firstrow | first row to be deleted |
lastrow | last row to be deleted |
Definition at line 281 of file lpi_none.c.
References NULL, and SCIP_OKAY.
deletes rows from SCIP_LP; the new position of a row must not be greater that its old position
- Parameters
-
lpi | LP interface structure |
dstat | deletion status of rows input: 1 if row should be deleted, 0 if not output: new position of row, -1 if row was deleted |
Definition at line 297 of file lpi_none.c.
References NULL, and SCIP_OKAY.
clears the whole LP
- Parameters
-
lpi | LP interface structure |
Definition at line 328 of file lpi_none.c.
References NULL, and SCIP_OKAY.
changes lower and upper bounds of columns
- Parameters
-
lpi | LP interface structure |
ncols | number of columns to change bounds for |
ind | column indices |
lb | values for the new lower bounds |
ub | values for the new upper bounds |
Definition at line 343 of file lpi_none.c.
References SCIP_OKAY.
changes left and right hand sides of rows
- Parameters
-
lpi | LP interface structure |
nrows | number of rows to change sides for |
ind | row indices |
lhs | new values for left hand sides |
rhs | new values for right hand sides |
Definition at line 355 of file lpi_none.c.
References SCIP_OKAY.
changes a single coefficient
- Parameters
-
lpi | LP interface structure |
row | row number of coefficient to change |
col | column number of coefficient to change |
newval | new value of coefficient |
Definition at line 367 of file lpi_none.c.
References SCIP_OKAY.
changes the objective sense
- Parameters
-
lpi | LP interface structure |
objsen | new objective sense |
Definition at line 378 of file lpi_none.c.
References SCIP_OKAY.
changes objective values of columns in the LP
- Parameters
-
lpi | LP interface structure |
ncols | number of columns to change objective value for |
ind | column indices to change objective value for |
obj | new objective values for columns |
Definition at line 387 of file lpi_none.c.
References SCIP_OKAY.
multiplies a row with a non-zero scalar; for negative scalars, the row's sense is switched accordingly
- Parameters
-
lpi | LP interface structure |
row | row number to scale |
scaleval | scaling multiplier |
Definition at line 398 of file lpi_none.c.
References SCIP_OKAY.
multiplies a column with a non-zero scalar; the objective value is multiplied with the scalar, and the bounds are divided by the scalar; for negative scalars, the column's bounds are switched
- Parameters
-
lpi | LP interface structure |
col | column number to scale |
scaleval | scaling multiplier |
Definition at line 410 of file lpi_none.c.
References SCIP_OKAY.
gets the number of rows in the LP
- Parameters
-
lpi | LP interface structure |
nrows | pointer to store the number of rows |
Definition at line 432 of file lpi_none.c.
References NULL, and SCIP_OKAY.
gets the number of columns in the LP
- Parameters
-
lpi | LP interface structure |
ncols | pointer to store the number of cols |
Definition at line 447 of file lpi_none.c.
References NULL, and SCIP_OKAY.
gets the number of nonzero elements in the LP constraint matrix
- Parameters
-
lpi | LP interface structure |
nnonz | pointer to store the number of nonzeros |
Definition at line 462 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
gets columns from LP problem object; the arrays have to be large enough to store all values Either both, lb and ub, have to be NULL, or both have to be non-NULL, either nnonz, beg, ind, and val have to be NULL, or all of them have to be non-NULL.
- Parameters
-
lpi | LP interface structure |
firstcol | first column to get from LP |
lastcol | last column to get from LP |
lb | buffer to store the lower bound vector, or NULL |
ub | buffer to store the upper bound vector, or NULL |
nnonz | pointer to store the number of nonzero elements returned, or NULL |
beg | buffer to store start index of each column in ind- and val-array, or NULL |
ind | buffer to store column indices of constraint matrix entries, or NULL |
val | buffer to store values of constraint matrix entries, or NULL |
Definition at line 476 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets rows from LP problem object; the arrays have to be large enough to store all values. Either both, lhs and rhs, have to be NULL, or both have to be non-NULL, either nnonz, beg, ind, and val have to be NULL, or all of them have to be non-NULL.
- Parameters
-
lpi | LP interface structure |
firstrow | first row to get from LP |
lastrow | last row to get from LP |
lhs | buffer to store left hand side vector, or NULL |
rhs | buffer to store right hand side vector, or NULL |
nnonz | pointer to store the number of nonzero elements returned, or NULL |
beg | buffer to store start index of each row in ind- and val-array, or NULL |
ind | buffer to store row indices of constraint matrix entries, or NULL |
val | buffer to store values of constraint matrix entries, or NULL |
Definition at line 496 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
SCIP_RETCODE SCIPlpiGetColNames |
( |
SCIP_LPI * |
lpi, |
|
|
int |
firstcol, |
|
|
int |
lastcol, |
|
|
char ** |
colnames, |
|
|
char * |
namestorage, |
|
|
int |
namestoragesize, |
|
|
int * |
storageleft |
|
) |
| |
gets column names
- Parameters
-
lpi | LP interface structure |
firstcol | first column to get name from LP |
lastcol | last column to get name from LP |
colnames | pointers to column names (of size at least lastcol-firstcol+1) |
namestorage | storage for col names |
namestoragesize | size of namestorage (if 0, storageleft returns the storage needed) |
storageleft | amount of storage left (if < 0 the namestorage was not big enough) |
Definition at line 513 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
SCIP_RETCODE SCIPlpiGetRowNames |
( |
SCIP_LPI * |
lpi, |
|
|
int |
firstrow, |
|
|
int |
lastrow, |
|
|
char ** |
rownames, |
|
|
char * |
namestorage, |
|
|
int |
namestoragesize, |
|
|
int * |
storageleft |
|
) |
| |
gets row names
- Parameters
-
lpi | LP interface structure |
firstrow | first row to get name from LP |
lastrow | last row to get name from LP |
rownames | pointers to row names (of size at least lastrow-firstrow+1) |
namestorage | storage for row names |
namestoragesize | size of namestorage (if 0, -storageleft returns the storage needed) |
storageleft | amount of storage left (if < 0 the namestorage was not big enough) |
Definition at line 528 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets the objective sense of the LP
- Parameters
-
lpi | LP interface structure |
objsen | pointer to store objective sense |
Definition at line 543 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets objective coefficients from LP problem object
- Parameters
-
lpi | LP interface structure |
firstcol | first column to get objective coefficient for |
lastcol | last column to get objective coefficient for |
vals | array to store objective coefficients |
Definition at line 553 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets current bounds from LP problem object
- Parameters
-
lpi | LP interface structure |
firstcol | first column to get bounds for |
lastcol | last column to get bounds for |
lbs | array to store lower bound values, or NULL |
ubs | array to store upper bound values, or NULL |
Definition at line 565 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets current row sides from LP problem object
- Parameters
-
lpi | LP interface structure |
firstrow | first row to get sides for |
lastrow | last row to get sides for |
lhss | array to store left hand side values, or NULL |
rhss | array to store right hand side values, or NULL |
Definition at line 578 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets a single coefficient
- Parameters
-
lpi | LP interface structure |
row | row number of coefficient |
col | column number of coefficient |
val | pointer to store the value of the coefficient |
Definition at line 592 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
calls primal simplex to solve the LP
startFinishOptions - bits 1 - do not delete work areas and factorization at end 2 - use old factorization if same number of rows 4 - skip as much initialization of work areas as possible (work in progress)
4 does not seem to work.
Primal algorithm
- Parameters
-
lpi | LP interface structure |
Definition at line 616 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
calls dual simplex to solve the LP
startFinishOptions - bits 1 - do not delete work areas and factorization at end 2 - use old factorization if same number of rows 4 - skip as much initialization of work areas as possible (work in progress)
4 does not seem to work.
Dual algorithm
- Parameters
-
lpi | LP interface structure |
Definition at line 625 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
calls barrier or interior point algorithm to solve the LP with crossover to simplex basis
- Parameters
-
lpi | LP interface structure |
crossover | perform crossover |
Definition at line 634 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
start strong branching - call before any strong branching
- Parameters
-
lpi | LP interface structure |
Definition at line 644 of file lpi_none.c.
References NULL, and SCIP_OKAY.
end strong branching - call after any strong branching
- Parameters
-
lpi | LP interface structure |
Definition at line 653 of file lpi_none.c.
References NULL, and SCIP_OKAY.
performs strong branching iterations on one fractional candidate
- Parameters
-
lpi | LP interface structure |
col | column to apply strong branching on |
psol | fractional current primal solution value of column |
itlim | iteration limit for strong branchings |
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; otherwise, it can only be used as an estimate value |
upvalid | stores whether the returned up value is a valid dual bound; otherwise, it can only be used as an estimate value |
iter | stores total number of strong branching iterations, or -1; may be NULL |
Definition at line 662 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
performs strong branching iterations on given fractional candidates
- Parameters
-
lpi | LP interface structure |
cols | columns to apply strong branching on |
ncols | number of columns |
psols | fractional current primal solution values of columns |
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; otherwise, they can only be used as an estimate values |
upvalid | stores whether the returned up values are a valid dual bounds; otherwise, they can only be used as an estimate values |
iter | stores total number of strong branching iterations, or -1; may be NULL |
Definition at line 685 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
performs strong branching iterations on one candidate with integral value
- Parameters
-
lpi | LP interface structure |
col | column to apply strong branching on |
psol | current integral primal solution value of column |
itlim | iteration limit for strong branchings |
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; otherwise, it can only be used as an estimate value |
upvalid | stores whether the returned up value is a valid dual bound; otherwise, it can only be used as an estimate value |
iter | stores total number of strong branching iterations, or -1; may be NULL |
Definition at line 711 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
performs strong branching iterations on given candidates with integral values
- Parameters
-
lpi | LP interface structure |
cols | columns to apply strong branching on |
ncols | number of columns |
psols | current integral primal solution values of columns |
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; otherwise, they can only be used as an estimate values |
upvalid | stores whether the returned up values are a valid dual bounds; otherwise, they can only be used as an estimate values |
iter | stores total number of strong branching iterations, or -1; may be NULL |
Definition at line 734 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
returns whether a solve method was called after the last modification of the LP
- Parameters
-
lpi | LP interface structure |
Definition at line 771 of file lpi_none.c.
References FALSE.
gets information about primal and dual feasibility of the current LP solution
- Parameters
-
lpi | LP interface structure |
primalfeasible | stores primal feasibility status |
dualfeasible | stores dual feasibility status |
Definition at line 780 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
returns TRUE iff LP is proven to have a primal unbounded ray (but not necessary a primal feasible point); this does not necessarily mean, that the solver knows and can return the primal ray
- Parameters
-
lpi | LP interface structure |
Definition at line 795 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to have a primal unbounded ray (but not necessary a primal feasible point), and the solver knows and can return the primal ray
- Parameters
-
lpi | LP interface structure |
Definition at line 806 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to be primal unbounded
- Parameters
-
lpi | LP interface structure |
Definition at line 815 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to be primal infeasible
- Parameters
-
lpi | LP interface structure |
Definition at line 824 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to be primal feasible
- Parameters
-
lpi | LP interface structure |
Definition at line 833 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to have a dual unbounded ray (but not necessary a dual feasible point); this does not necessarily mean, that the solver knows and can return the dual ray
- Parameters
-
lpi | LP interface structure |
Definition at line 844 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to have a dual unbounded ray (but not necessary a dual feasible point), and the solver knows and can return the dual ray
- Parameters
-
lpi | LP interface structure |
Definition at line 855 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to be dual unbounded
- Parameters
-
lpi | LP interface structure |
Definition at line 864 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to be dual infeasible
- Parameters
-
lpi | LP interface structure |
Definition at line 873 of file lpi_none.c.
References FALSE.
returns TRUE iff LP is proven to be dual feasible
- Parameters
-
lpi | LP interface structure |
Definition at line 882 of file lpi_none.c.
References FALSE.
returns TRUE iff LP was solved to optimality
- Parameters
-
lpi | LP interface structure |
Definition at line 891 of file lpi_none.c.
References FALSE.
returns TRUE iff current LP basis is stable
- Parameters
-
lpi | LP interface structure |
Definition at line 900 of file lpi_none.c.
References FALSE.
returns TRUE iff the objective limit was reached
- Parameters
-
lpi | LP interface structure |
Definition at line 909 of file lpi_none.c.
References FALSE.
returns TRUE iff the iteration limit was reached
- Parameters
-
lpi | LP interface structure |
Definition at line 918 of file lpi_none.c.
References FALSE.
returns TRUE iff the time limit was reached
- Parameters
-
lpi | LP interface structure |
Definition at line 927 of file lpi_none.c.
References FALSE.
int SCIPlpiGetInternalStatus |
( |
SCIP_LPI * |
lpi | ) |
|
returns the internal solution status of the solver
- Parameters
-
lpi | LP interface structure |
Definition at line 936 of file lpi_none.c.
References FALSE.
tries to reset the internal status of the LP solver in order to ignore an instability of the last solving call
- Parameters
-
lpi | LP interface structure |
success | pointer to store, whether the instability could be ignored |
Definition at line 945 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
gets objective value of solution
- Parameters
-
lpi | LP interface structure |
objval | stores the objective value |
Definition at line 956 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
gets primal and dual solution vectors
- Parameters
-
lpi | LP interface structure |
objval | stores the objective value, may be NULL if not needed |
primsol | primal solution vector, may be NULL if not needed |
dualsol | dual solution vector, may be NULL if not needed |
activity | row activity vector, may be NULL if not needed |
redcost | reduced cost vector, may be NULL if not needed |
Definition at line 967 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets primal ray for unbounded LPs
Unbounded ray (NULL returned if none/wrong). Up to user to use delete [] on these arrays.
- Parameters
-
lpi | LP interface structure |
ray | primal ray |
Definition at line 981 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets dual Farkas proof for infeasibility
Infeasibility ray (NULL returned if none/wrong). Up to user to use delete [] on these arrays.
- Parameters
-
lpi | LP interface structure |
dualfarkas | dual Farkas row multipliers |
Definition at line 991 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
gets the number of LP iterations of the last solve call
- Parameters
-
lpi | LP interface structure |
iterations | pointer to store the number of iterations of the last solve call |
Definition at line 1002 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
gets information about the quality of an LP solution
Such information is usually only available, if also a (maybe not optimal) solution is available. The LPI should return SCIP_INVALID for quality , if the requested quantity is not available.
- Parameters
-
lpi | LP interface structure |
qualityindicator | indicates which quality should be returned |
quality | pointer to store quality number |
Definition at line 1017 of file lpi_none.c.
References NULL, SCIP_INVALID, and SCIP_OKAY.
gets current basis status for columns and rows; arrays must be large enough to store the basis status
- Parameters
-
lpi | LP interface structure |
cstat | array to store column basis status, or NULL |
rstat | array to store row basis status, or NULL |
Definition at line 1044 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
sets current basis status for columns and rows
Whats changed since last solve. Is only used when startFinishOptions used in dual or primal. Bit 1 - number of rows/columns has not changed (so work arrays valid) 2 - matrix has not changed 4 - if matrix has changed only by adding rows 8 - if matrix has changed only by adding columns 16 - row lbs not changed 32 - row ubs not changed 64 - column objective not changed 128 - column lbs not changed 256 - column ubs not changed 512 - basis not changed (up to user to set this to 0) top bits may be used internally
- Parameters
-
lpi | LP interface structure |
cstat | array with column basis status |
rstat | array with row basis status |
Definition at line 1055 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
returns the indices of the basic columns and rows; basic column n gives value n, basic row m gives value -1-m
- Parameters
-
lpi | LP interface structure |
bind | pointer to store basis indices ready to keep number of rows entries |
Definition at line 1069 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
get dense row of inverse basis matrix B^-1
- Note
- The LP interface defines slack variables to have coefficient +1. This means that if, internally, the LP solver uses a -1 coefficient, then rows associated with slacks variables whose coefficient is -1, should be negated; see also the explanation in lpi.h.
- Parameters
-
lpi | LP interface structure |
r | row number |
coef | pointer to store the coefficients of the row |
Definition at line 1084 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
get dense column of inverse basis matrix B^-1
- Note
- The LP interface defines slack variables to have coefficient +1. This means that if, internally, the LP solver uses a -1 coefficient, then rows associated with slacks variables whose coefficient is -1, should be negated; see also the explanation in lpi.h.
- Parameters
-
lpi | LP interface structure |
c | column number of B^-1; this is NOT the number of the column in the LP; you have to call SCIPlpiGetBasisInd() 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 |
Definition at line 1100 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
get dense row of inverse basis matrix times constraint matrix B^-1 * A
- Note
- The LP interface defines slack variables to have coefficient +1. This means that if, internally, the LP solver uses a -1 coefficient, then rows associated with slacks variables whose coefficient is -1, should be negated; see also the explanation in lpi.h.
- Parameters
-
lpi | LP interface structure |
r | row number |
binvrow | row in (A_B)^-1 from prior call to SCIPlpiGetBInvRow(), or NULL |
coef | vector to return coefficients |
Definition at line 1120 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
get dense column of inverse basis matrix times constraint matrix B^-1 * A
- Note
- The LP interface defines slack variables to have coefficient +1. This means that if, internally, the LP solver uses a -1 coefficient, then rows associated with slacks variables whose coefficient is -1, should be negated; see also the explanation in lpi.h.
- Parameters
-
lpi | LP interface structure |
c | column number |
coef | vector to return coefficients |
Definition at line 1137 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
stores LPi state (like basis information) into lpistate object
- Parameters
-
lpi | LP interface structure |
blkmem | block memory |
lpistate | pointer to LPi state information (like basis information) |
Definition at line 1160 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
loads LPi state (like basis information) into solver; note that the LP might have been extended with additional columns and rows since the state was stored with SCIPlpiGetState()
- Parameters
-
lpi | LP interface structure |
blkmem | block memory |
lpistate | LPi state information (like basis information) |
Definition at line 1175 of file lpi_none.c.
References NULL, and SCIP_PLUGINNOTFOUND.
clears current LPi state (like basis information) of the solver
- Parameters
-
lpi | LP interface structure |
Definition at line 1187 of file lpi_none.c.
References NULL, and SCIP_OKAY.
frees LPi state information
- Parameters
-
lpi | LP interface structure |
blkmem | block memory |
lpistate | pointer to LPi state information (like basis information) |
Definition at line 1196 of file lpi_none.c.
References SCIP_OKAY.
checks, whether the given LP state contains simplex basis information
- Parameters
-
lpi | LP interface structure |
lpistate | LP state information (like basis information) |
Definition at line 1206 of file lpi_none.c.
References FALSE.
reads LP state (like basis information from a file
Read a basis from the given filename, returns -1 on file error, 0 if no values, 1 if values
- Parameters
-
lpi | LP interface structure |
fname | file name |
Definition at line 1216 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
writes LP state (like basis information) to a file
Write the basis in MPS format to the specified file. If writeValues true, writes values of structurals (and adds VALUES to end of NAME card)
parameters:
- filename
- bool writeValues
- int formatType (0 - normal, 1 - extra accuracy, 2 - IEEE hex)
- Parameters
-
lpi | LP interface structure |
fname | file name |
Definition at line 1226 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
stores LPi pricing norms information
- Parameters
-
lpi | LP interface structure |
blkmem | block memory |
lpinorms | pointer to LPi pricing norms information |
Definition at line 1250 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
loads LPi pricing norms into solver; note that the LP might have been extended with additional columns and rows since the state was stored with SCIPlpiGetNorms()
- Parameters
-
lpi | LP interface structure |
blkmem | block memory |
lpinorms | LPi pricing norms information |
Definition at line 1263 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
frees pricing norms information
- Parameters
-
lpi | LP interface structure |
blkmem | block memory |
lpinorms | pointer to LPi pricing norms information |
Definition at line 1274 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
gets integer parameter of LP
- Parameters
-
lpi | LP interface structure |
type | parameter number |
ival | buffer to store the parameter value |
Definition at line 1297 of file lpi_none.c.
References NULL, and SCIP_PARAMETERUNKNOWN.
sets integer parameter of LP
Amount of print out: 0 - none 1 - just final 2 - just factorizations 3 - as 2 plus a bit more 4 - verbose above that 8,16,32 etc just for selective SCIPdebug
- Parameters
-
lpi | LP interface structure |
type | parameter number |
ival | parameter value |
Definition at line 1308 of file lpi_none.c.
References SCIP_PARAMETERUNKNOWN.
gets floating point parameter of LP
- Parameters
-
lpi | LP interface structure |
type | parameter number |
dval | buffer to store the parameter value |
Definition at line 1318 of file lpi_none.c.
References NULL, and SCIP_PARAMETERUNKNOWN.
sets floating point parameter of LP
- Parameters
-
lpi | LP interface structure |
type | parameter number |
dval | parameter value |
Definition at line 1329 of file lpi_none.c.
References SCIP_PARAMETERUNKNOWN.
returns value treated as infinity in the LP solver
- Parameters
-
lpi | LP interface structure |
Definition at line 1348 of file lpi_none.c.
References LPIINFINITY.
checks if given value is treated as infinity in the LP solver
- Parameters
-
lpi | LP interface structure |
val | value to be checked for infinity |
Definition at line 1356 of file lpi_none.c.
References FALSE, LPIINFINITY, and TRUE.
reads LP from a file
read file in MPS format parameters: filename bool keepNames bool ignoreErrors
- Parameters
-
lpi | LP interface structure |
fname | file name |
Definition at line 1379 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
writes LP to a file
write file in MPS format parameters: filename int formatType (0 - normal, 1 - extra accuracy, 2 - IEEE hex) int numberAcross (1 or 2 values should be specified on every data line in the MPS file) double objSense
- Parameters
-
lpi | LP interface structure |
fname | file name |
Definition at line 1389 of file lpi_none.c.
References SCIP_PLUGINNOTFOUND.
|