Loading...
Searching...
No Matches
spxsolver.h
Go to the documentation of this file.
49#define SOPLEX_HYPERPRICINGTHRESHOLD 5000 /**< do (auto) hyper pricing only if problem size (cols+rows) is larger than SOPLEX_HYPERPRICINGTHRESHOLD */
53#define SOPLEX_SPARSITY_TRADEOFF 0.8 /**< threshold to decide whether Ids or coIds are preferred to enter the basis;
56#define SOPLEX_MAXNCLCKSKIPS 32 /**< maximum number of clock skips (iterations without time measuring) */
57#define SOPLEX_SAFETYFACTOR 1e-2 /**< the probability to skip the clock when the time limit has been reached */
58#define SOPLEX_NINITCALLS 200 /**< the number of clock updates in isTimelimitReached() before clock skipping starts */
228 OPTIMAL_UNSCALED_VIOLATIONS = 5 ///< LP has beed solved to optimality but unscaled solution contains violations.
235 POLISH_INTEGRALITY, ///< maximize number of basic slack variables, i.e. more variables on bounds
236 POLISH_FRACTIONALITY ///< minimize number of basic slack variables, i.e. more variables in between bounds
282 solveVector2; ///< when 2 systems are to be solved at a time; typically for speepest edge weights
284 solveVector2rhs; ///< when 2 systems are to be solved at a time; typically for speepest edge weights
286 solveVector3; ///< when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic solution will be modified!)
288 solveVector3rhs; ///< when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic solution will be modified!)
290 coSolveVector2; ///< when 2 systems are to be solved at a time; typically for speepest edge weights
292 coSolveVector2rhs; ///< when 2 systems are to be solved at a time; typically for speepest edge weights
294 coSolveVector3; ///< when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic solution will be modified!)
296 coSolveVector3rhs; ///< when 3 systems are to be solved at a time; typically reserved for bound flipping ratio test (basic solution will be modified!)
329 int storeBasisSimplexFreq; ///< number of simplex pivots -1 to perform before storing stable basis
332 fullPerturbation; ///< whether to perturb the entire problem or just the bounds relevant for the current pivot
334 printBasisMetric; ///< printing the current basis metric in the log (-1: off, 0: condition estimate, 1: trace, 2: determinant, 3: condition)
424 /// determine ranges of problem values for bounds, sides and objective to assess numerical difficulties
430 /// The random number generator used throughout the whole computation. Its seed can be modified.
433 /** For the leaving Simplex algorithm this vector contains the indices of infeasible basic variables;
434 * for the entering Simplex algorithm this vector contains the indices of infeasible slack variables.
437 /**For the entering Simplex algorithm these vectors contains the indices of infeasible basic variables.
441 /// store indices that were changed in the previous iteration and must be checked in hyper pricing
450 isInfeasible; ///< 0: index not violated, 1: index violated, 2: index violated and among candidate list
452 isInfeasibleCo; ///< 0: index not violated, 1: index violated, 2: index violated and among candidate list
456 bool sparsePricingEnter; ///< true if sparsePricing is turned on in the entering Simplex for slack variables
461 int remainingRoundsLeave; ///< number of dense rounds/refactorizations until sparsePricing is enabled again
483 integerVariables; ///< supplementary variable information, 0: continous variable, 1: integer variable
513 /// set refactor threshold for nonzeros in last factorized basis matrix compared to updated basis matrix
519 /// set refactor threshold for fill-in in current factor update compared to fill-in in last factorization
525 /// set refactor threshold for memory growth in current factor update compared to the last factorization
606 /// setup linear solver to use. If \p destroy is true, \p slusolver will be freed in destructor.
612 /// setup starting basis generator to use. If \p destroy is true, \p starter will be freed in destructor.
621 /// set \ref soplex::SPxSolverBase<R>::LEAVE "LEAVE" or \ref soplex::SPxSolverBase<R>::ENTER "ENTER" algorithm.
623 /// set \ref soplex::SPxSolverBase<R>::FULL "FULL" or \ref soplex::SPxSolverBase<R>::PARTIAL "PARTIAL" pricing.
653 * LP is written in MPS format to "\p filename".mps, basis is written in "\p filename".bas, and parameters
654 * are written to "\p filename".set. If \p rowNames and \p colNames are \c nullptr, default names are used for
885 /// guaranteed primal and dual bound violation for optimal solution, returning the maximum of floatingPointFeastol() and floatingPointOpttol().
1040 /// \p scale determines whether the new data needs to be scaled according to the existing LP (persistent scaling)
1145 virtual void changeRange(SPxRowId p_id, const R& p_newLhs, const R& p_newRhs, bool scale = false)
1647 /// compute and return \ref soplex::SPxSolverBase<R>::test() "test()"[i] in \ref soplex::SPxSolverBase<R>::ENTER "ENTER"ing Simplex.
1856 /// check for violations above tol and immediately return false w/o checking the remaining values
1857 /** This method is useful for verifying whether an objective limit can be used as termination criterion
2255 /// returns whether current time limit is reached; call to time() may be skipped unless \p forceCheck is true
Save arrays of arbitrary types. R memFactor allowed total increase in memory consumption before refactorization Definition spxbasis.h:394 SPxBasisBase(Timer::TYPE ttype=Timer::USER_TIME) default constructor. Bound flipping ratio test ("long step dual") for SoPlex. Definition spxboundflippingrt.h:61 bool isValid() const returns TRUE iff the id is a valid column or row identifier. Definition spxid.h:153 int number(const SPxRowId &id) const Returns the row number of the row with identifier id. Definition spxlpbase.h:566 const LPColSetBase< R > * lpcolset() const Returns the LP as an LPColSetBase. Definition spxlpbase.h:2140 const VectorBase< R > & lower() const Returns (internal and possibly scaled) lower bound vector. Definition spxlpbase.h:527 virtual void clearRowObjs() Clears row objective function values for all rows. Definition spxlpbase.h:1739 std::shared_ptr< Tolerances > _tolerances Definition spxlpbase.h:2085 const LPRowSetBase< R > * lprowset() const Returns the LP as an LPRowSetBase. Definition spxlpbase.h:2134 Wrapper for several output streams. A verbosity level is used to decide which stream to use and wheth... Definition spxout.h:78 void setOutstream(SPxOut &newOutstream) Definition spxsolver.h:486 virtual void changeElement(int i, int j, const R &val, bool scale=false) bool getDualNorms(int &nnormsRow, int &nnormsCol, R *norms) const get dual norms void setSolverStatus(typename SPxSolverBase< R >::Status stat) setting the solver status external from the solve loop. Definition spxsolver.h:2167 R entertol() const feasibility tolerance maintained by ratio test during ENTER algorithm. Definition spxsolver.h:855 virtual void changeRange(int i, const R &newLhs, const R &newRhs, bool scale=false) int storeBasisSimplexFreq Definition spxsolver.h:329 VectorBase< Real > * theCoLbound Definition spxsolver.h:385 virtual void qualRedCostViolation(R &maxviol, R &sumviol) const get violation of optimality criterion. virtual void changeCol(SPxColId p_id, const LPColBase< R > &p_newCol, bool scale=false) Definition spxsolver.h:1161 virtual void changeElement(SPxRowId rid, SPxColId cid, const R &val, bool scale=false) Definition spxsolver.h:1169 int primalIterations() return number of iterations done with primal algorithm Definition spxsolver.h:2231 const SPxPricer< Real > * pricer() const Definition spxsolver.h:1877 virtual void changeMaxObj(int i, const R &newVal, bool scale=false) virtual void changeRhs(int i, const R &newRhs, bool scale=false) void testBounds() const virtual void doRemoveRows(int perm[]) virtual void changeSense(typename SPxLPBase< R >::SPxSense sns) virtual void setTester(SPxRatioTester< R > *tester, const bool destroy=false) setup ratio-tester to use. If destroy is true, tester will be freed in destructor. void setup4solve(SSVectorBase< R > *p_y, SSVectorBase< R > *p_rhs) Setup vectors to be solved within Simplex loop. Definition spxsolver.h:1800 SolutionPolish getSolutionPolishing() return objective of solution polishing Definition spxsolver.h:693 R delta() const guaranteed primal and dual bound violation for optimal solution, returning the maximum of floatingPoi... Definition spxsolver.h:886 VarStatus basisStatusToVarStatus(typename SPxBasisBase< R >::Desc::Status stat) const converts basis status to VarStatus void setDualColBounds() virtual Status getPrimalSol(VectorBase< R > &vector) const get solution vector for primal variables. virtual void changeBounds(const VectorBase< R > &newLower, const VectorBase< R > &newUpper, bool scale=false) void setDualRowBounds() DataArray< int > integerVariables Definition spxsolver.h:483 virtual void setTerminationValue(R value=R(infinity)) set objective limit. void shiftPvec() Perform initial shifting to optain an feasible or pricable basis. bool setDualNorms(int nnormsRow, int nnormsCol, R *norms) set dual norms virtual void computeFrhs1(const VectorBase< R > &, const VectorBase< R > &) SSVectorBase< Real > * coSolveVector2 Definition spxsolver.h:290 virtual void qualBoundViolation(R &maxviol, R &sumviol) const get violations of bounds. const SVSetBase< Real > * thecovectors Definition spxsolver.h:345 void useFullPerturbation(bool full) perturb entire problem or only the bounds relevant to the current pivot Definition spxsolver.h:986 virtual void changeMaxObj(SPxColId p_id, const R &p_newVal, bool scale=false) overloading a virtual function Definition spxsolver.h:1058 VarStatus getBasisColStatus(int col) const gets basis status for a single column virtual void changeObj(SPxColId p_id, const R &p_newVal, bool scale=false) overloading a virtual function Definition spxsolver.h:1048 void setPrimalBounds() setup feasibility bounds for entering algorithm void setup4solve2(SSVectorBase< R > *p_y2, SSVectorBase< R > *p_rhs2) Setup vectors to be solved within Simplex loop. Definition spxsolver.h:1814 virtual void setStarter(SPxStarter< R > *starter, const bool destroy=false) setup starting basis generator to use. If destroy is true, starter will be freed in destructor. Status getBasis(VarStatus rows[], VarStatus cols[], const int rowsSize=-1, const int colsSize=-1) const get current basis, and return solver status. void getLhs(VectorBase< R > &p_lhs) const copy lhs value VectorBase<R> to p_lhs. Definition spxsolver.h:2301 virtual Status getSlacks(VectorBase< R > &vector) const get VectorBase<R> of slack variables. bool updateNonbasicValue(R objChange) virtual ~SPxSolverBase() void clearDualBounds(typename SPxBasisBase< R >::Desc::Status, R &, R &) const virtual void changeCol(int i, const LPColBase< R > &newCol, bool scale=false) virtual void ungetEnterVal(SPxId enterId, typename SPxBasisBase< R >::Desc::Status enterStat, R leaveVal, const SVectorBase< R > &vec, StableSum< R > &objChange) void setup4coSolve(SSVectorBase< R > *p_y, SSVectorBase< R > *p_rhs) Setup vectors to be cosolved within Simplex loop. Definition spxsolver.h:1828 virtual void computeLeaveCoPrhs() compute theCoPrhs for leaving Simplex. virtual void perturbMinEnter(void) virtual Status getRedCostSol(VectorBase< R > &vector) const get vector of reduced costs. DataArray< VarStatus > oldBasisStatusRows Definition spxsolver.h:323 DataArray< VarStatus > & getOldBasisStatusCols() Definition spxsolver.h:947 virtual bool precisionReached(R &newpricertol) const is the solution precise enough, or should we increase delta() ? virtual void qualSlackViolation(R &maxviol, R &sumviol) const get the residuum |Ax-b|. virtual void changeRhs(const VectorBase< R > &newRhs, bool scale=false) bool performSolutionPolishing() void setSolvingForBoosted(bool value) Definition spxsolver.h:953 virtual void setTolerances(std::shared_ptr< Tolerances > newTolerances) set the _tolerances member variable Definition spxsolver.h:493 bool isTimeLimitReached(const bool forceCheck=false) returns whether current time limit is reached; call to time() may be skipped unless forceCheck is tru... void setMemFactor(R f) set refactor threshold for memory growth in current factor update compared to the last factorization Definition spxsolver.h:526 void forceRecompNonbasicValue() Definition spxsolver.h:725 virtual void changeLhs(SPxRowId p_id, const R &p_newLhs, bool scale=false) Definition spxsolver.h:1122 void setSparsePricingFactor(R fac) Definition spxsolver.h:933 const SVectorBase< R > & vector(const SPxRowId &rid) const Definition spxsolver.h:1269 void setup4coSolve2(SSVectorBase< R > *p_z, SSVectorBase< R > *p_rhs) Setup vectors to be cosolved within Simplex loop. Definition spxsolver.h:1840 const SVectorBase< R > & vector(const SPxId &p_id) const VectorBase<R> associated to p_id. Definition spxsolver.h:1294 void setRep(Representation p_rep) switch to ROW or COLUMN representation if not already used. DataArray< VarStatus > & getOldBasisStatusRows() Definition spxsolver.h:941 virtual Status solve(volatile bool *interrupt=nullptr, bool polish=true) solve loaded LP. void setMetricInformation(int type) print basis metric within the usual output Definition spxsolver.h:927 virtual void setEnterBounds() R coTest(int i, typename SPxBasisBase< R >::Desc::Status stat) const test coVector i with status stat. int remainingRoundsEnterCo Definition spxsolver.h:463 void setRedCost(VectorBase< R > &p_vector) virtual const SVectorBase< R > * enterVector(const SPxId &p_id) Get pointer to the id 'th vector. Definition spxsolver.h:2002 void invalidateBasis() invalidates the basis, triggers refactorization virtual void setLeaveBounds() virtual void changeUpper(int i, const R &newUpper, bool scale=false) virtual void changeLowerStatus(int i, R newLower, R oldLower=0.0) VarStatus getBasisRowStatus(int row) const gets basis status for a single row virtual void getEnterVals(SPxId id, R &enterTest, R &enterUB, R &enterLB, R &enterVal, R &enterMax, R &enterPric, typename SPxBasisBase< R >::Desc::Status &enterStat, R &enterRO, StableSum< R > &objChange) const SVSetBase< Real > * thevectors Definition spxsolver.h:344 bool m_nonbasicValueUpToDate Definition spxsolver.h:263 @ OPTIMAL_UNSCALED_VIOLATIONS Definition spxsolver.h:228 int remainingRoundsEnter Definition spxsolver.h:462 SPxSolverBase(Type type=LEAVE, Representation rep=ROW, Timer::TYPE ttype=Timer::USER_TIME) default constructor. virtual void setupPupdate(void) virtual void changeObj(const VectorBase< R > &newObj, bool scale=false) scale determines whether the new data needs to be scaled according to the existing LP (persistent sca... void setDual(VectorBase< R > &p_vector) SPxBasisBase< R >::Desc::Status covarStatus(int i) const Status of i 'th covariable. Definition spxsolver.h:1363 R perturbMin(const UpdateVector< R > &uvec, VectorBase< R > &low, VectorBase< R > &up, R eps, R delta, const typename SPxBasisBase< R >::Desc::Status *stat, int start, int incr) bool enter(SPxId &id, bool polish=false) void setEnterBound4Row(int, int) void computeDualfarkas4Row(R direction, SPxId enterId) virtual bool read(std::istream &in, NameSet *rowNames=nullptr, NameSet *colNames=nullptr, DIdxSet *intVars=nullptr) read LP from input stream. void getRhs(VectorBase< R > &p_rhs) const copy rhs value VectorBase<R> to p_rhs. Definition spxsolver.h:2307 Real sparsePricingFactor Definition spxsolver.h:321 void calculateProblemRanges() determine ranges of problem values for bounds, sides and objective to assess numerical difficulties virtual void doRemoveCols(int perm[]) bool isTerminationValueEnabled() const true if objective limit should be used in the next solve Definition spxsolver.h:699 virtual void changeUpper(SPxColId p_id, const R &p_newUpper, bool scale=false) overloading virtual function Definition spxsolver.h:1098 virtual void changeRowObj(int i, const R &newVal, bool scale=false) R getDegeneracyLevel(VectorBase< R > degenvec) get level of dual degeneracy void computeEnterCoPrhs4Row(int i, int n) virtual void setBasisSolver(SLinSolver< R > *slu, const bool destroy=false) setup linear solver to use. If destroy is true, slusolver will be freed in destructor. void setFillFactor(R f) set refactor threshold for fill-in in current factor update compared to fill-in in last factorization Definition spxsolver.h:520 int numCycle() const actual number of degenerate simplex steps encountered so far. Definition spxsolver.h:980 void unscaleLPandReloadBasis() unscales the LP and reloads the basis virtual void loadLP(const SPxLPBase< R > &LP, bool initSlackBasis=true) copy LP. virtual void changeLower(SPxColId p_id, const R &p_newLower, bool scale=false) Definition spxsolver.h:1086 virtual void changeRange(SPxRowId p_id, const R &p_newLhs, const R &p_newRhs, bool scale=false) Definition spxsolver.h:1145 int subversion() const return the internal subversion of SPxSolverBase as number Definition spxsolver.h:539 virtual void changeMaxObj(const VectorBase< R > &newObj, bool scale=false) virtual void changeRange(const VectorBase< R > &newLhs, const VectorBase< R > &newRhs, bool scale=false) const SVectorBase< R > & coVector(const SPxId &p_id) const coVector associated to p_id. Definition spxsolver.h:1334 void setNonzeroFactor(R f) set refactor threshold for nonzeros in last factorized basis matrix compared to updated basis matrix Definition spxsolver.h:514 bool useTerminationValue Definition spxsolver.h:259 R perturbMax(const UpdateVector< R > &uvec, VectorBase< R > &low, VectorBase< R > &up, R eps, R delta, const typename SPxBasisBase< R >::Desc::Status *stat, int start, int incr) virtual void changeUpper(const VectorBase< R > &newUpper, bool scale=false) virtual void setPricer(SPxPricer< R > *pricer, const bool destroy=false) setup pricer to use. If destroy is true, pricer will be freed in destructor. SSVectorBase< Real > * coSolveVector2rhs Definition spxsolver.h:292 virtual bool noViols(R tol) const check for violations above tol and immediately return false w/o checking the remaining values SSVectorBase< Real > * solveVector3 Definition spxsolver.h:286 const SPxRatioTester< R > * ratiotester() const return loaded SPxRatioTester. Definition spxsolver.h:1887 int dualIterations() return number of iterations done with primal algorithm Definition spxsolver.h:2238 virtual void computeEnterCoPrhs() compute theCoPrhs for entering Simplex. const SVectorBase< R > & coVector(const SPxColId &cid) const Definition spxsolver.h:1320 R test(int i, typename SPxBasisBase< R >::Desc::Status stat) const test VectorBase<R> i with status stat. virtual void factorizeAndRecompute() const SVectorBase< R > & vector(const SPxColId &cid) const Definition spxsolver.h:1277 bool leave(int i, bool polish=false) virtual void perturbMinLeave(void) bool sparsePricingEnterCo Definition spxsolver.h:457 int version() const return the version of SPxSolverBase as number like 123 for 1.2.3 Definition spxsolver.h:534 Status getResult(R *value=0, VectorBase< R > *primal=0, VectorBase< R > *slacks=0, VectorBase< R > *dual=0, VectorBase< R > *reduCost=0) get all results of last solve. void getNdualNorms(int &nnormsRow, int &nnormsCol) const get number of dual norms void setEnterBound4Col(int, int) DataArray< int > isInfeasibleCo Definition spxsolver.h:452 void localAddCols(int start) SSVectorBase< Real > * solveVector3rhs Definition spxsolver.h:288 void shiftFvec() Perform initial shifting to optain an feasible or pricable basis. void setSlacks(VectorBase< R > &p_vector) void testVecs() void setLeaveBound4Row(int i, int n) int maxCycle() const maximum number of degenerate simplex steps before we detect cycling. Definition spxsolver.h:975 virtual void changeLower(int i, const R &newLower, bool scale=false) void setStoreBasisFreqForBoosting(int freq) Definition spxsolver.h:959 void localAddRows(int start) SSVectorBase< Real > * solveVector2rhs Definition spxsolver.h:284 int polishIterations() return number of iterations done with primal algorithm Definition spxsolver.h:2244 void perturbMax(const UpdateVector< R > &vec, VectorBase< R > &low, VectorBase< R > &up, R eps, R delta, int start=0, int incr=1) const LPRowSetBase< Real > & rows() const Definition spxsolver.h:2278 SPxBasisBase< R >::Desc::Status varStatusToBasisStatusCol(int col, VarStatus stat) const converts VarStatus to basis status for columns virtual void printDisplayLine(const bool force=false, const bool forceHead=false) print display line of flying table void computeDualfarkas4Col(R direction) virtual Status getDualfarkas(VectorBase< R > &vector) const get dual farkas proof of infeasibility. void setSolutionPolishing(SolutionPolish _polishObj) set objective of solution polishing (0: off, 1: max_basic_slack, 2: min_basic_slack) Definition spxsolver.h:687 void toggleTerminationValue(bool enable) toggle objective limit for next solve Definition spxsolver.h:705 virtual void changeLhs(int i, const R &newLhs, bool scale=false) void setBasis(const VarStatus rows[], const VarStatus cols[]) set the lp solver's basis. virtual void setTerminationTime(Real time=infinity) set time limit. SPxBasisBase< R >::Desc::Status varStatusToBasisStatusRow(int row, VarStatus stat) const converts VarStatus to basis status for rows VectorBase< Real > * theCoUbound Definition spxsolver.h:384 void computeLeaveCoPrhs4Row(int i, int n) const SVectorBase< R > & coVector(const SPxRowId &rid) const Definition spxsolver.h:1312 virtual void changeRow(int i, const LPRowBase< R > &newRow, bool scale=false) void setPrimal(VectorBase< R > &p_vector) virtual void changeBounds(int i, const R &newLower, const R &newUpper, bool scale=false) virtual void setTerminationIter(int iteration=-1) set iteration limit. virtual void changeLower(const VectorBase< R > &newLower, bool scale=false) void getUpper(VectorBase< R > &p_up) const copy upper bound VectorBase<R> to p_up. Definition spxsolver.h:2295 SSVectorBase< Real > * coSolveVector3 Definition spxsolver.h:294 virtual void changeLhs(const VectorBase< R > &newLhs, bool scale=false) virtual bool writeState(const char *filename, const NameSet *rowNames=nullptr, const NameSet *colNames=nullptr, const bool cpxFormat=false, const bool writeZeroObjective=false) const SPxSolverBase< R > & operator=(const SPxSolverBase< R > &base) assignment operator SPxRatioTester< Real > * theratiotester Definition spxsolver.h:410 SSVectorBase< Real > * solveVector2 Definition spxsolver.h:282 virtual void changeUpperStatus(int i, R newUpper, R oldLower=0.0) void setLeaveBound4Col(int i, int n) bool isBasisValid(DataArray< VarStatus > rows, DataArray< VarStatus > cols) check a given basis for validity. virtual void rejectEnter(SPxId enterId, R enterTest, typename SPxBasisBase< R >::Desc::Status enterStat) std::string statistics() const returns statistical information in form of a string. Definition spxsolver.h:2319 virtual bool readBasisFile(const char *filename, const NameSet *rowNames, const NameSet *colNames) SPxBasisBase< R >::Desc::Status varStatus(int i) const Status of i 'th variable. Definition spxsolver.h:1357 virtual void rejectLeave(int leaveNum, SPxId leaveId, typename SPxBasisBase< R >::Desc::Status leaveStat, const SVectorBase< R > *newVec=nullptr) R computeTest(int i) compute and return test()[i] in ENTERing Simplex. virtual void changeLhsStatus(int i, R newLhs, R oldLhs=0.0) virtual void changeRowObj(const VectorBase< R > &newObj, bool scale=false) const SVectorBase< Real > & vector(int i) const Definition spxsolver.h:1263 bool m_pricingViolUpToDate Definition spxsolver.h:266 void getLower(VectorBase< R > &p_low) const copy lower bound VectorBase<R> to p_low. Definition spxsolver.h:2290 DataArray< VarStatus > oldBasisStatusCols Definition spxsolver.h:325 Array< UnitVectorBase< Real > > unitVecs Definition spxsolver.h:343 SSVectorBase< Real > * coSolveVector3rhs Definition spxsolver.h:296 void computePrimalray4Col(R direction, SPxId enterId) void computePrimalray4Row(R direction) virtual void clearUpdateVecs(void) void setIntegralityInformation(int ncols, int *intInfo) pass integrality information about the variables to the solver virtual void getLeaveVals(int i, typename SPxBasisBase< R >::Desc::Status &leaveStat, SPxId &leaveId, R &leaveMax, R &leavebound, int &leaveNum, StableSum< R > &objChange) virtual void doPupdate(void) virtual void addedCols(int n) void computeLeaveCoPrhs4Col(int i, int n) virtual void addedRows(int n) virtual void getEnterVals2(int leaveIdx, R enterMax, R &leaveBound, StableSum< R > &objChange) bool isBasic(typename SPxBasisBase< R >::Desc::Status stat) const does stat describe a basic index ? Definition spxsolver.h:1369 virtual void computeFrhsXtra() const SVectorBase< R > & unitVector(int i) const return i 'th unit vector. Definition spxsolver.h:1342 const std::shared_ptr< Tolerances > & tolerances() const returns current tolerances Definition spxsolver.h:508 virtual void changeBounds(SPxColId p_id, const R &p_newLower, const R &p_newUpper, bool scale=false) Definition spxsolver.h:1109 R leavetol() const feasibility tolerance maintained by ratio test during LEAVE algorithm. Definition spxsolver.h:863 virtual void doRemoveCol(int i) void setBasisStatus(typename SPxBasisBase< R >::SPxStatus stat) set the lp solver's basis status. Definition spxsolver.h:2158 void computeFrhs2(VectorBase< R > &, VectorBase< R > &) virtual void changeRow(SPxRowId p_id, const LPRowBase< R > &p_newRow, bool scale=false) Definition spxsolver.h:1153 virtual void qualConstraintViolation(R &maxviol, R &sumviol) const get violation of constraints. virtual void changeObj(int i, const R &newVal, bool scale=false) virtual Status getPrimalray(VectorBase< R > &vector) const get primal ray in case of unboundedness. virtual void loadBasis(const typename SPxBasisBase< R >::Desc &) set a start basis. void perturbMin(const UpdateVector< R > &vec, VectorBase< R > &low, VectorBase< R > &up, R eps, R delta, int start=0, int incr=1) Real cumulativeTime() const cumulative time spent in all calls to method solve(). Definition spxsolver.h:2266 virtual void doRemoveRow(int i) void initRep(Representation p_rep) initialize ROW or COLUMN representation. virtual void changeRhsStatus(int i, R newRhs, R oldRhs=0.0) virtual Status getDualSol(VectorBase< R > &vector) const get current solution VectorBase<R> for dual variables. virtual void changeRhs(SPxRowId p_id, const R &p_newRhs, bool scale=false) Definition spxsolver.h:1134 void computeEnterCoPrhs4Col(int i, int n) int remainingRoundsLeave Definition spxsolver.h:461 bool m_pricingViolCoUpToDate Definition spxsolver.h:270 virtual void changeRowObj(SPxRowId p_id, const R &p_newVal, bool scale=false) Definition spxsolver.h:1068 virtual bool writeBasisFile(const char *filename, const NameSet *rowNames, const NameSet *colNames, const bool cpxFormat=false) const virtual void getLeaveVals2(R leaveMax, SPxId enterId, R &enterBound, R &newUBbound, R &newLBbound, R &newCoPrhs, StableSum< R > &objChange) Definition stablesum.h:36 static Timer * switchTimer(Timer *timer, Timer::TYPE ttype) Definition timerfactory.h:81 void setTolerances(std::shared_ptr< Tolerances > &tolerances) set tolerances Definition updatevector.h:174 Everything should be within this namespace. std::ostream & operator<<(std::ostream &s, const VectorBase< R > &vec) Output operator. Definition basevectors.h:1143 Random numbers. Simplex basis. Debugging, floating point type and parameter definitions. Saving LPs in a form suitable for SoPlex. Saving LPs in a form suitable for SoPlex. Timer class. TimerFactory class. Sparse vector . Dense VectorBase<R> with semi-sparse VectorBase<R> for updates.
|