lpiexact_none.c
Go to the documentation of this file.
31/*--+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
46 * Store several statistic values about the LP. These values are only needed in order to provide a rudimentary
302/** deletes rows from SCIP_LP; the new position of a row must not be greater that its old position */
509 char** colnames, /**< pointers to column names (of size at least lastcol-firstcol+1) or NULL if namestoragesize is zero */
512 int* storageleft /**< amount of storage left (if < 0 the namestorage was not big enough) or NULL if namestoragesize is zero */
529 char** rownames, /**< pointers to row names (of size at least lastrow-firstrow+1) or NULL if namestoragesize is zero */
531 int namestoragesize, /**< size of namestorage (if 0, -storageleft returns the storage needed) */
532 int* storageleft /**< amount of storage left (if < 0 the namestorage was not big enough) or NULL if namestoragesize is zero */
698 * The feasibility information is with respect to the last solving call and it is only relevant if SCIPlpiWasSolved()
701 * Note that @param primalfeasible and @param dualfeasible should only return true if the solver has proved the
702 * respective LP to be feasible. Thus, the return values should be equal to the values of SCIPlpiIsPrimalFeasible() and
703 * SCIPlpiIsDualFeasible(), respectively. Note that if feasibility cannot be proved, they should return false (even if
719/** returns TRUE iff LP is proven to have a primal unbounded ray (but not necessary a primal feasible point);
731/** returns TRUE iff LP is proven to have a primal unbounded ray (but not necessary a primal feasible point),
773/** returns TRUE iff LP is proven to have a dual unbounded ray (but not necessary a dual feasible point);
785/** returns TRUE iff LP is proven to have a dual unbounded ray (but not necessary a dual feasible point),
877/** tries to reset the internal status of the LP solver in order to ignore an instability of the last solving call */
904 * Before calling this function, the caller must ensure that the LP has been solved to optimality, i.e., that
966/** gets current basis status for columns and rows; arrays must be large enough to store the basis status */
992/** returns the indices of the basic columns and rows; basic column n gives value n, basic row m gives value -1-m */
1006 * @note The LP interface defines slack variables to have coefficient +1. This means that if, internally, the LP solver
1007 * uses a -1 coefficient, then rows associated with slacks variables whose coefficient is -1, should be negated;
1027 * @note The LP interface defines slack variables to have coefficient +1. This means that if, internally, the LP solver
1028 * uses a -1 coefficient, then rows associated with slacks variables whose coefficient is -1, should be negated;
1075/** loads LPi state (like basis information) into solver; note that the LP might have been extended with additional
void * SCIPlpiExactGetSolverPointer(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:108
SCIP_Bool SCIPlpiExactHasDualRay(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:788
SCIP_RETCODE SCIPlpiExactSetRealpar(SCIP_LPIEXACT *lpi, SCIP_LPPARAM type, SCIP_Real dval)
Definition: lpiexact_none.c:1194
SCIP_RETCODE SCIPlpiExactSetBase(SCIP_LPIEXACT *lpi, int *cstat, int *rstat)
Definition: lpiexact_none.c:979
SCIP_RETCODE SCIPlpiExactReadState(SCIP_LPIEXACT *lpi, const char *fname)
Definition: lpiexact_none.c:1125
SCIP_Bool SCIPlpiExactHasStateBasis(SCIP_LPIEXACT *lpi, SCIP_LPISTATE *lpistate)
Definition: lpiexact_none.c:1114
SCIP_RETCODE SCIPlpiExactGetObj(SCIP_LPIEXACT *lpi, int firstcol, int lastcol, SCIP_RATIONAL **vals)
Definition: lpiexact_none.c:555
SCIP_RETCODE SCIPlpiExactStartStrongbranch(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:655
SCIP_RETCODE SCIPlpiExactIgnoreInstability(SCIP_LPIEXACT *lpi, SCIP_Bool *success)
Definition: lpiexact_none.c:878
SCIP_RETCODE SCIPlpiExactGetObjval(SCIP_LPIEXACT *lpi, SCIP_RATIONAL *objval)
Definition: lpiexact_none.c:890
SCIP_Bool SCIPlpiExactIsDualUnbounded(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:798
SCIP_RETCODE SCIPlpiExactWriteLP(SCIP_LPIEXACT *lpi, const char *fname)
Definition: lpiexact_none.c:1259
SCIP_Bool SCIPlpiExactHasPrimalRay(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:734
SCIP_Bool SCIPlpiExactExistsDualRay(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:776
SCIP_RETCODE SCIPlpiExactGetDualfarkas(SCIP_LPIEXACT *lpi, SCIP_RATIONAL **dualfarkas)
Definition: lpiexact_none.c:934
SCIP_RETCODE SCIPlpiExactEndStrongbranch(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:666
SCIP_RETCODE SCIPlpiExactSolveDual(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:634
const char * SCIPlpiExactGetSolverDesc(void)
Definition: lpiexact_none.c:100
SCIP_RETCODE SCIPlpiExactChgObjsen(SCIP_LPIEXACT *lpi, SCIP_OBJSEN objsen)
Definition: lpiexact_none.c:391
SCIP_RETCODE SCIPlpiExactSetIntpar(SCIP_LPIEXACT *lpi, SCIP_LPPARAM type, int ival)
Definition: lpiexact_none.c:1171
SCIP_RETCODE SCIPlpiExactWriteState(SCIP_LPIEXACT *lpi, const char *fname)
Definition: lpiexact_none.c:1137
SCIP_RETCODE SCIPlpiExactChgCoef(SCIP_LPIEXACT *lpi, int row, int col, SCIP_RATIONAL *newval)
Definition: lpiexact_none.c:379
SCIP_Bool SCIPlpiExactWasSolved(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:687
SCIP_Bool SCIPlpiExactIsPrimalUnbounded(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:744
SCIP_RETCODE SCIPlpiExactGetSides(SCIP_LPIEXACT *lpi, int firstrow, int lastrow, SCIP_RATIONAL **lhss, SCIP_RATIONAL **rhss)
Definition: lpiexact_none.c:585
SCIP_RETCODE SCIPlpiExactGetCols(SCIP_LPIEXACT *lpi, int firstcol, int lastcol, SCIP_RATIONAL **lb, SCIP_RATIONAL **ub, int *nnonz, int *beg, int *ind, SCIP_RATIONAL **val)
Definition: lpiexact_none.c:468
SCIP_Bool SCIPlpiExactIsPrimalInfeasible(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:754
SCIP_Real SCIPlpiExactInfinity(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:1216
SCIP_RETCODE SCIPlpiExactGetRows(SCIP_LPIEXACT *lpi, int firstrow, int lastrow, SCIP_RATIONAL **lhs, SCIP_RATIONAL **rhs, int *nnonz, int *beg, int *ind, SCIP_RATIONAL **val)
Definition: lpiexact_none.c:488
SCIP_RETCODE SCIPlpiExactGetSolFeasibility(SCIP_LPIEXACT *lpi, SCIP_Bool *primalfeasible, SCIP_Bool *dualfeasible)
Definition: lpiexact_none.c:706
SCIP_RETCODE SCIPlpiExactGetBInvCol(SCIP_LPIEXACT *lpi, int c, SCIP_RATIONAL **coef, int *inds, int *ninds)
Definition: lpiexact_none.c:1031
SCIP_Bool SCIPlpiExactExistsPrimalRay(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:722
SCIP_Bool SCIPlpiExactIsInfinity(SCIP_LPIEXACT *lpi, SCIP_Real val)
Definition: lpiexact_none.c:1225
SCIP_RETCODE SCIPlpiExactAddRows(SCIP_LPIEXACT *lpi, int nrows, SCIP_RATIONAL **lhs, SCIP_RATIONAL **rhs, char **rownames, int nnonz, int *beg, int *ind, SCIP_RATIONAL **val)
Definition: lpiexact_none.c:261
SCIP_RETCODE SCIPlpiExactCreate(SCIP_LPIEXACT **lpi, SCIP_MESSAGEHDLR *messagehdlr, const char *name, SCIP_OBJSEN objsen)
Definition: lpiexact_none.c:126
SCIP_Bool SCIPlpiExactIsIterlimExc(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:848
SCIP_RETCODE SCIPlpiExactLoadColLP(SCIP_LPIEXACT *lpi, SCIP_OBJSEN objsen, int ncols, SCIP_RATIONAL **obj, SCIP_RATIONAL **lb, SCIP_RATIONAL **ub, char **colnames, int nrows, SCIP_RATIONAL **lhs, SCIP_RATIONAL **rhs, char **rownames, int nnonz, int *beg, int *ind, SCIP_RATIONAL **val)
Definition: lpiexact_none.c:170
SCIP_Bool SCIPlpiExactIsPrimalFeasible(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:764
SCIP_Bool SCIPlpiExactIsDualFeasible(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:818
SCIP_RETCODE SCIPlpiExactReadLP(SCIP_LPIEXACT *lpi, const char *fname)
Definition: lpiexact_none.c:1247
SCIP_RETCODE SCIPlpiExactGetBasisInd(SCIP_LPIEXACT *lpi, int *bind)
Definition: lpiexact_none.c:993
SCIP_RETCODE SCIPlpiExactGetObjsen(SCIP_LPIEXACT *lpi, SCIP_OBJSEN *objsen)
Definition: lpiexact_none.c:545
SCIP_Bool SCIPlpiExactIsOptimal(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:828
SCIP_RETCODE SCIPlpiExactGetRowNames(SCIP_LPIEXACT *lpi, int firstrow, int lastrow, char **rownames, char *namestorage, int namestoragesize, int *storageleft)
Definition: lpiexact_none.c:525
SCIP_RETCODE SCIPlpiExactAddCols(SCIP_LPIEXACT *lpi, int ncols, SCIP_RATIONAL **obj, SCIP_RATIONAL **lb, SCIP_RATIONAL **ub, char **colnames, int nnonz, int *beg, int *ind, SCIP_RATIONAL **val)
Definition: lpiexact_none.c:215
SCIP_RETCODE SCIPlpiExactGetBase(SCIP_LPIEXACT *lpi, int *cstat, int *rstat)
Definition: lpiexact_none.c:967
SCIP_RETCODE SCIPlpiExactDelCols(SCIP_LPIEXACT *lpi, int firstcol, int lastcol)
Definition: lpiexact_none.c:245
SCIP_RETCODE SCIPlpiExactChgObj(SCIP_LPIEXACT *lpi, int ncols, int *ind, SCIP_RATIONAL **obj)
Definition: lpiexact_none.c:401
SCIP_RETCODE SCIPlpiExactGetPrimalRay(SCIP_LPIEXACT *lpi, SCIP_RATIONAL **ray)
Definition: lpiexact_none.c:923
SCIP_RETCODE SCIPlpiExactGetBounds(SCIP_LPIEXACT *lpi, int firstcol, int lastcol, SCIP_RATIONAL **lbs, SCIP_RATIONAL **ubs)
Definition: lpiexact_none.c:570
int SCIPlpiExactGetInternalStatus(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:868
SCIP_RETCODE SCIPlpiExactGetCoef(SCIP_LPIEXACT *lpi, int row, int col, SCIP_RATIONAL *val)
Definition: lpiexact_none.c:600
SCIP_RETCODE SCIPlpiExactGetColNames(SCIP_LPIEXACT *lpi, int firstcol, int lastcol, char **colnames, char *namestorage, int namestoragesize, int *storageleft)
Definition: lpiexact_none.c:505
SCIP_RETCODE SCIPlpiExactGetNNonz(SCIP_LPIEXACT *lpi, int *nnonz)
Definition: lpiexact_none.c:453
SCIP_Bool SCIPlpiExactIsDualInfeasible(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:808
SCIP_Bool SCIPlpiExactIsObjlimExc(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:838
SCIP_RETCODE SCIPlpiExactClearState(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:1092
SCIP_RETCODE SCIPlpiExactGetNCols(SCIP_LPIEXACT *lpi, int *ncols)
Definition: lpiexact_none.c:438
SCIP_RETCODE SCIPlpiExactSolveBarrier(SCIP_LPIEXACT *lpi, SCIP_Bool crossover)
Definition: lpiexact_none.c:644
SCIP_RETCODE SCIPlpiExactGetBInvRow(SCIP_LPIEXACT *lpi, int r, SCIP_RATIONAL **coef, int *inds, int *ninds)
Definition: lpiexact_none.c:1010
SCIP_RETCODE SCIPlpiExactChgSides(SCIP_LPIEXACT *lpi, int nrows, int *ind, SCIP_RATIONAL **lhs, SCIP_RATIONAL **rhs)
Definition: lpiexact_none.c:362
SCIP_RETCODE SCIPlpiExactGetState(SCIP_LPIEXACT *lpi, BMS_BLKMEM *blkmem, SCIP_LPISTATE **lpistate)
Definition: lpiexact_none.c:1061
SCIP_RETCODE SCIPlpiExactDelRows(SCIP_LPIEXACT *lpi, int firstrow, int lastrow)
Definition: lpiexact_none.c:287
SCIP_RETCODE SCIPlpiExactGetNRows(SCIP_LPIEXACT *lpi, int *nrows)
Definition: lpiexact_none.c:423
SCIP_Bool SCIPlpiExactIsTimelimExc(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:858
SCIP_RETCODE SCIPlpiExactGetRealpar(SCIP_LPIEXACT *lpi, SCIP_LPPARAM type, SCIP_Real *dval)
Definition: lpiexact_none.c:1182
SCIP_RETCODE SCIPlpiExactChgBounds(SCIP_LPIEXACT *lpi, int ncols, int *ind, SCIP_RATIONAL **lb, SCIP_RATIONAL **ub)
Definition: lpiexact_none.c:349
SCIP_RETCODE SCIPlpiExactFreeState(SCIP_LPIEXACT *lpi, BMS_BLKMEM *blkmem, SCIP_LPISTATE **lpistate)
Definition: lpiexact_none.c:1101
SCIP_RETCODE SCIPlpiExactDelRowset(SCIP_LPIEXACT *lpi, int *dstat)
Definition: lpiexact_none.c:303
SCIP_RETCODE SCIPlpiExactGetSol(SCIP_LPIEXACT *lpi, SCIP_RATIONAL *objval, SCIP_RATIONAL **primsol, SCIP_RATIONAL **dualsol, SCIP_RATIONAL **activity, SCIP_RATIONAL **redcost)
Definition: lpiexact_none.c:907
SCIP_RETCODE SCIPlpiExactSolvePrimal(SCIP_LPIEXACT *lpi)
Definition: lpiexact_none.c:624
SCIP_RETCODE SCIPlpiExactGetIntpar(SCIP_LPIEXACT *lpi, SCIP_LPPARAM type, int *ival)
Definition: lpiexact_none.c:1159
SCIP_RETCODE SCIPlpiExactSetState(SCIP_LPIEXACT *lpi, BMS_BLKMEM *blkmem, SCIP_LPISTATE *lpistate)
Definition: lpiexact_none.c:1078
SCIP_RETCODE SCIPlpiExactGetIterations(SCIP_LPIEXACT *lpi, int *iterations)
Definition: lpiexact_none.c:945
interface methods for specific exact LP solvers
public methods for message output
Definition: lpiexact_none.c:50
Definition: lpi_clp.cpp:133
Definition: struct_message.h:46
Definition: struct_rational.h:47