Loading...
Searching...
No Matches
spxmainsm.h
Go to the documentation of this file.
1328 };
1372 /// computes the minimum and maximum residual activity for a given row and column. If colNumber is set to -1, then
1378 void computeMinMaxValues(SPxLPBase<R>& lp, R side, R val, R minRes, R maxRes, R& minVal, R& maxVal);
1393 typename SPxSimplifier<R>::Result removeRowSingleton(SPxLPBase<R>& lp, const SVectorBase<R>& row,
1418 /// handles the fixing of a variable. correctIdx is true iff the index mapping has to be updated.
1433 /// returns for a given row index of the (reduced) LP the corresponding row index in the unsimplified LP.
1438 /// returns for a given column index of the (reduced) LP the corresponding column index in the unsimplified LP.
1551 virtual void unsimplify(const VectorBase<R>& x, const VectorBase<R>& y, const VectorBase<R>& s,
1605 typename SPxSolverBase<R>::VarStatus cols[], const int rowsSize = -1, const int colsSize = -1) const
Save arrays of arbitrary types. Exception class for things that should NEVER happen. Definition exceptions.h:119 const VectorBase< R > & lower() const Returns (internal and possibly scaled) lower bound vector. Definition spxlpbase.h:527 const SVectorBase< R > & colVector(int i) const Returns column vector of column i. Definition spxlpbase.h:416 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const AggregationPS(const SPxLPBase< R > &lp, int _i, int _j, R rhs, R oldupper, R oldlower, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:1105 Postsolves doubleton equations combined with a column singleton. Definition spxmainsm.h:826 DoubletonEquationPS & operator=(const DoubletonEquationPS &rhs) assignment operator Definition spxmainsm.h:897 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const DoubletonEquationPS(const SPxLPBase< R > &lp, int _j, int _k, int _i, R oldLo, R oldUp, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:850 DuplicateColsPS(const SPxLPBase< R > &lp, int _j, int _k, R scale, DataArray< int > perm, std::shared_ptr< Tolerances > tols, bool isFirst=false, bool isTheLast=false) Definition spxmainsm.h:1034 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const DuplicateColsPS & operator=(const DuplicateColsPS &rhs) assignment operator Definition spxmainsm.h:1063 DataArray< bool > m_isLhsEqualRhs Definition spxmainsm.h:939 DuplicateRowsPS(const SPxLPBase< R > &lp, int _i, int maxLhsIdx, int minRhsIdx, const DSVectorBase< R > &dupRows, const Array< R > scale, const DataArray< int > perm, const DataArray< bool > isLhsEqualRhs, bool isTheLast, bool isFixedRow, std::shared_ptr< Tolerances > tols, bool isFirst=false) Definition spxmainsm.h:942 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const DataArray< int > m_rIdxLocalOld Definition spxmainsm.h:937 DuplicateRowsPS & operator=(const DuplicateRowsPS &rhs) assignment operator Definition spxmainsm.h:990 EmptyConstraintPS(const SPxLPBase< R > &lp, int _i, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:263 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const EmptyConstraintPS & operator=(const EmptyConstraintPS &rhs) assignment operator Definition spxmainsm.h:277 SPxSolverBase< R >::VarStatus m_status Definition spxmainsm.h:549 FixBoundsPS(const SPxLPBase< R > &lp, int j, R val, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:553 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const DSVectorBase< R > m_col does the index mapping have to be updated in postsolving? Definition spxmainsm.h:490 FixVariablePS(const SPxLPBase< R > &lp, SPxMainSM &simplifier, int _j, const R val, std::shared_ptr< Tolerances > tols, bool correctIdx=true) Definition spxmainsm.h:494 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const ForceConstraintPS & operator=(const ForceConstraintPS &rhs) assignment operator Definition spxmainsm.h:451 ForceConstraintPS(const SPxLPBase< R > &lp, int _i, bool lhsFixed, DataArray< bool > &fixCols, Array< R > &lo, Array< R > &up, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:406 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const Array< DSVectorBase< R > > m_cols Definition spxmainsm.h:395 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const FreeColSingletonPS & operator=(const FreeColSingletonPS &rhs) assignment operator Definition spxmainsm.h:799 FreeColSingletonPS(const SPxLPBase< R > &lp, SPxMainSM &simplifier, int _j, int _i, R slackVal, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:769 FreeConstraintPS(const SPxLPBase< R > &lp, int _i, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:212 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const FreeConstraintPS & operator=(const FreeConstraintPS &rhs) assignment operator Definition spxmainsm.h:228 Postsolves the case when constraints are removed due to a variable with zero objective that is free i... Definition spxmainsm.h:605 FreeZeroObjVariablePS & operator=(const FreeZeroObjVariablePS &rhs) assignment operator Definition spxmainsm.h:660 FreeZeroObjVariablePS(const SPxLPBase< R > &lp, int _j, bool loFree, DSVectorBase< R > col_idx_sorted, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:619 DSVectorBase< R > m_rowObj Definition spxmainsm.h:613 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const Array< DSVectorBase< R > > m_rows Definition spxmainsm.h:614 MultiAggregationPS(const SPxLPBase< R > &lp, SPxMainSM &simplifier, int _i, int _j, R constant, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:1185 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const MultiAggregationPS & operator=(const MultiAggregationPS &rhs) assignment operator Definition spxmainsm.h:1221 PostStep(const char *p_name, std::shared_ptr< Tolerances > tols, int nR=0, int nC=0) constructor. Definition spxmainsm.h:98 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const =0 executes the postsolving. virtual bool checkBasisDim(DataArray< typename SPxSolverBase< R >::VarStatus > rows, DataArray< typename SPxSolverBase< R >::VarStatus > cols) const virtual PostStep * clone() const =0 clone function for polymorphism RowObjPS(const SPxLPBase< R > &lp, int _i, int _j, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:166 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const RowSingletonPS(const SPxLPBase< R > &lp, int _i, int _j, bool strictLo, bool strictUp, R newLo, R newUp, R oldLo, R oldUp, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:323 Postsolves variable bound tightening from pseudo objective propagation. Definition spxmainsm.h:1249 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const TightenBoundsPS & operator=(const TightenBoundsPS &rhs) assignment operator Definition spxmainsm.h:1273 TightenBoundsPS(const SPxLPBase< R > &lp, int j, R origupper, R origlower, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:1257 Postsolves column singletons with zero objective. Definition spxmainsm.h:690 virtual void execute(VectorBase< R > &x, VectorBase< R > &y, VectorBase< R > &s, VectorBase< R > &r, DataArray< typename SPxSolverBase< R >::VarStatus > &cBasis, DataArray< typename SPxSolverBase< R >::VarStatus > &rBasis, bool isOptimal) const ZeroObjColSingletonPS & operator=(const ZeroObjColSingletonPS &rhs) assignment operator Definition spxmainsm.h:728 ZeroObjColSingletonPS(const SPxLPBase< R > &lp, const SPxMainSM &, int _j, int _i, std::shared_ptr< Tolerances > tols) Definition spxmainsm.h:703 int cIdx(int j) const returns for a given column index of the (reduced) LP the corresponding column index in the unsimplifi... Definition spxmainsm.h:1439 SPxMainSM(Timer::TYPE ttype=Timer::USER_TIME) Definition spxmainsm.h:1469 void handleExtremes(SPxLPBase< R > &lp) handles extreme values by setting them to zero or R(infinity). void propagatePseudoobj(SPxLPBase< R > &lp) tightens variable bounds by propagating the pseudo objective function value. Array< DSVectorBase< R > > m_classSetRows stores parallel classes with non-zero colum entry Definition spxmainsm.h:1345 SPxSimplifier< R >::Result simplifyDual(SPxLPBase< R > &lp, bool &again) performs simplification steps on the LP based on dual concepts. void fixColumn(SPxLPBase< R > &lp, int i, bool correctIdx=true) handles the fixing of a variable. correctIdx is true iff the index mapping has to be updated. SPxSimplifier< R >::Result duplicateCols(SPxLPBase< R > &lp, bool &again) removes duplicate columns friend class ZeroObjColSingletonPS Definition spxmainsm.h:1297 SPxSimplifier< R >::Result removeRowSingleton(SPxLPBase< R > &lp, const SVectorBase< R > &row, int &i) remove row singletons. SPxSimplifier< R >::Result duplicateRows(SPxLPBase< R > &lp, bool &again) removes duplicate rows. void computeMinMaxValues(SPxLPBase< R > &lp, R side, R val, R minRes, R maxRes, R &minVal, R &maxVal) calculate min/max value for the multi aggregated variables int rIdx(int i) const returns for a given row index of the (reduced) LP the corresponding row index in the unsimplified LP. Definition spxmainsm.h:1434 SPxSimplifier< R >::Result multiaggregation(SPxLPBase< R > &lp, bool &again) performs multi-aggregations of variable based upon constraint activitu. Array< DSVectorBase< R > > m_dupCols arrange duplicate columns w.r.t. their pClass values Definition spxmainsm.h:1351 virtual const VectorBase< R > & unsimplifiedSlacks() returns a reference to the unsimplified slack values. Definition spxmainsm.h:1580 SPxSimplifier< R >::Result simplifyCols(SPxLPBase< R > &lp, bool &again) performs simplification steps on the columns of the LP. void trivialHeuristic(SPxLPBase< R > &lp) tries to find good lower bound solutions by applying some trivial heuristics virtual const VectorBase< R > & unsimplifiedRedCost() returns a reference to the unsimplified reduced costs. Definition spxmainsm.h:1586 SPxSimplifier< R >::Result aggregateVars(SPxLPBase< R > &lp, const SVectorBase< R > &row, int &i) aggregate two variables that appear in an equation. SPxSimplifier< R >::Result removeEmpty(SPxLPBase< R > &lp) removed empty rows and empty columns. Array< DSVectorBase< R > > m_dupRows arrange duplicate rows using bucket sort w.r.t. their pClass values Definition spxmainsm.h:1349 bool checkSolution(SPxLPBase< R > &lp, VectorBase< R > sol) checks a solution for feasibility Array< DSVectorBase< R > > m_classSetCols stores parallel classes with non-zero row entry Definition spxmainsm.h:1347 virtual SPxSolverBase< R >::VarStatus getBasisColStatus(int j) const gets basis status for a single column. Definition spxmainsm.h:1598 virtual SPxSimplifier< R >::Result result() const returns result status of the simplification Definition spxmainsm.h:1557 Array< std::shared_ptr< PostStep > > m_hist VectorBase<R> of presolve history. Definition spxmainsm.h:1343 virtual const VectorBase< R > & unsimplifiedDual() returns a reference to the unsimplified dual solution. Definition spxmainsm.h:1574 SPxSimplifier< R >::Result simplifyRows(SPxLPBase< R > &lp, bool &again) performs simplification steps on the rows of the LP. DataArray< typename SPxSolverBase< R >::VarStatus > m_rBasisStat basis status of rows. Definition spxmainsm.h:1340 virtual SPxSimplifier< R >::Result simplify(SPxLPBase< R > &lp, Real remainingTime, bool keepbounds=false, uint32_t seed=0) simplify SPxLPBase<R> lp. friend class FreeZeroObjVariablePS Definition spxmainsm.h:1296 virtual SPxSolverBase< R >::VarStatus getBasisRowStatus(int i) const gets basis status for a single row. Definition spxmainsm.h:1592 virtual void getBasis(typename SPxSolverBase< R >::VarStatus rows[], typename SPxSolverBase< R >::VarStatus cols[], const int rowsSize=-1, const int colsSize=-1) const get optimal basis. Definition spxmainsm.h:1604 void handleRowObjectives(SPxLPBase< R > &lp) virtual SPxSimplifier< R > * clone() const clone function for polymorphism Definition spxmainsm.h:1537 void computeMinMaxResidualActivity(SPxLPBase< R > &lp, int rowNumber, int colNumber, R &minAct, R &maxAct) computes the minimum and maximum residual activity for a given row and column. If colNumber is set to... virtual void unsimplify(const VectorBase< R > &x, const VectorBase< R > &y, const VectorBase< R > &s, const VectorBase< R > &r, const typename SPxSolverBase< R >::VarStatus rows[], const typename SPxSolverBase< R >::VarStatus cols[], bool isOptimal=true) reconstructs an optimal solution for the unsimplified LP. virtual const VectorBase< R > & unsimplifiedPrimal() returns a reference to the unsimplified primal solution. Definition spxmainsm.h:1568 virtual bool isUnsimplified() const specifies whether an optimal solution has already been unsimplified. Definition spxmainsm.h:1563 DataArray< typename SPxSolverBase< R >::VarStatus > m_cBasisStat basis status of columns. Definition spxmainsm.h:1339 const std::shared_ptr< Tolerances > tolerances() const get the _tolerances member variable Definition spxsimplifier.h:273 SPxSimplifier & operator=(const SPxSimplifier &rhs) assignment operator Definition spxsimplifier.h:144 Exception classes for SoPlex. Everything should be within this namespace. Debugging, floating point type and parameter definitions. LP simplification base class. comparator for class SVectorBase<R>::Element: compare nonzeros according to value Definition spxmainsm.h:1625 int operator()(const typename SVectorBase< R >::Element &e1, const typename SVectorBase< R >::Element &e2) const Definition spxmainsm.h:1634 comparator for class SVectorBase<R>::Element: compare nonzeros according to index Definition spxmainsm.h:1648 int operator()(const typename SVectorBase< R >::Element &e1, const typename SVectorBase< R >::Element &e2) const Definition spxmainsm.h:1652
|