Loading...
Searching...
No Matches
SPxMainSM< R > Class Template Reference LP simplifier for removing uneccessary row/columns. More...
Inheritance diagram for SPxMainSM< R >:
![]()
Detailed Descriptiontemplate<class R> class soplex::SPxMainSM< R > LP simplifier for removing uneccessary row/columns. This SPxSimplifier is mainly based on the paper "Presolving in linear programming" by E. Andersen and K. Andersen (Mathematical Programming, 1995). It implements all proposed methods and some other preprocessing techniques for removing redundant rows and columns and bounds. Also infeasibility and unboundedness may be detected. Removed are:
Definition at line 71 of file spxmainsm.h. Member Enumeration Documentation◆ SimpleStep
template<class R >
Definition at line 1309 of file spxmainsm.h. Constructor & Destructor Documentation◆ SPxMainSM() [1/2]
template<class R >
Definition at line 1469 of file spxmainsm.h. Referenced by SPxMainSM< R >::clone(). ◆ SPxMainSM() [2/2]copy constructor. Definition at line 1481 of file spxmainsm.h. ◆ ~SPxMainSM()
template<class R >
destructor. Definition at line 1532 of file spxmainsm.h. Member Function Documentation◆ aggregateVars()
template<class R >
aggregate two variables that appear in an equation. ◆ checkSolution()
template<class R >
checks a solution for feasibility ◆ cIdx()
template<class R >
returns for a given column index of the (reduced) LP the corresponding column index in the unsimplified LP. Definition at line 1439 of file spxmainsm.h. References SPxMainSM< R >::m_cIdx. ◆ clone()
template<class R >
clone function for polymorphism Implements SPxSimplifier< R >. Definition at line 1537 of file spxmainsm.h. References SPxMainSM< R >::SPxMainSM(). ◆ computeMinMaxResidualActivity()
template<class R >
computes the minimum and maximum residual activity for a given row and column. If colNumber is set to -1, then ◆ computeMinMaxValues()
template<class R >
calculate min/max value for the multi aggregated variables ◆ duplicateCols()
template<class R >
removes duplicate columns ◆ duplicateRows()
template<class R >
removes duplicate rows. ◆ epsZero()
template<class R >
Definition at line 1448 of file spxmainsm.h. References SPxSimplifier< R >::tolerances(). ◆ feastol()
template<class R >
Definition at line 1453 of file spxmainsm.h. References SPxSimplifier< R >::tolerances(). ◆ fixColumn()
template<class R >
handles the fixing of a variable. correctIdx is true iff the index mapping has to be updated. ◆ getBasis()
template<class R >
get optimal basis. Implements SPxSimplifier< R >. Definition at line 1604 of file spxmainsm.h. References SPxMainSM< R >::m_cBasisStat, SPxMainSM< R >::m_postsolved, and SPxMainSM< R >::m_rBasisStat. ◆ getBasisColStatus()
template<class R >
gets basis status for a single column. Implements SPxSimplifier< R >. Definition at line 1598 of file spxmainsm.h. References SPxMainSM< R >::m_cBasisStat, and SPxMainSM< R >::m_postsolved. ◆ getBasisRowStatus()
template<class R >
gets basis status for a single row. Implements SPxSimplifier< R >. Definition at line 1592 of file spxmainsm.h. References SPxMainSM< R >::m_postsolved, and SPxMainSM< R >::m_rBasisStat. ◆ handleExtremes()
template<class R >
handles extreme values by setting them to zero or R(infinity). ◆ handleRowObjectives()
template<class R >
◆ isUnsimplified()
template<class R >
specifies whether an optimal solution has already been unsimplified. Reimplemented from SPxSimplifier< R >. Definition at line 1563 of file spxmainsm.h. References SPxMainSM< R >::m_postsolved. ◆ multiaggregation()
template<class R >
performs multi-aggregations of variable based upon constraint activitu. ◆ operator=()assignment operator Definition at line 1504 of file spxmainsm.h. References SPxMainSM< R >::m_addedcols, SPxMainSM< R >::m_cBasisStat, SPxMainSM< R >::m_cIdx, SPxMainSM< R >::m_cutoffbound, SPxMainSM< R >::m_dual, SPxMainSM< R >::m_hist, SPxMainSM< R >::m_keepbounds, SPxMainSM< R >::m_postsolved, SPxMainSM< R >::m_prim, SPxMainSM< R >::m_pseudoobj, SPxMainSM< R >::m_rBasisStat, SPxMainSM< R >::m_redCost, SPxMainSM< R >::m_result, SPxMainSM< R >::m_rIdx, SPxMainSM< R >::m_slack, SPxMainSM< R >::m_stat, SPxMainSM< R >::m_thesense, and SPxSimplifier< R >::operator=(). ◆ opttol()
template<class R >
Definition at line 1458 of file spxmainsm.h. References SPxSimplifier< R >::tolerances(). ◆ propagatePseudoobj()
template<class R >
tightens variable bounds by propagating the pseudo objective function value. ◆ removeCol()
template<class R >
removes a column in the LP. Definition at line 1428 of file spxmainsm.h. References SPxMainSM< R >::m_cIdx, SPxLPBase< R >::nCols(), and SPxLPBase< R >::removeCol(). ◆ removeEmpty()
template<class R >
removed empty rows and empty columns. ◆ removeRow()
template<class R >
removes a row in the LP. Definition at line 1422 of file spxmainsm.h. References SPxMainSM< R >::m_rIdx, SPxLPBase< R >::nRows(), and SPxLPBase< R >::removeRow(). ◆ removeRowSingleton()
template<class R >
remove row singletons. ◆ result()
template<class R >
returns result status of the simplification Implements SPxSimplifier< R >. Definition at line 1557 of file spxmainsm.h. References SPxMainSM< R >::m_result. ◆ rIdx()
template<class R >
returns for a given row index of the (reduced) LP the corresponding row index in the unsimplified LP. Definition at line 1434 of file spxmainsm.h. References SPxMainSM< R >::m_rIdx. ◆ simplify()
template<class R >
simplify SPxLPBase<R> Implements SPxSimplifier< R >. ◆ simplifyCols()
template<class R >
performs simplification steps on the columns of the LP. ◆ simplifyDual()
template<class R >
performs simplification steps on the LP based on dual concepts. ◆ simplifyRows()
template<class R >
performs simplification steps on the rows of the LP. ◆ trivialHeuristic()
template<class R >
tries to find good lower bound solutions by applying some trivial heuristics ◆ unsimplifiedDual()
template<class R >
returns a reference to the unsimplified dual solution. Implements SPxSimplifier< R >. Definition at line 1574 of file spxmainsm.h. References SPxMainSM< R >::m_dual, and SPxMainSM< R >::m_postsolved. ◆ unsimplifiedPrimal()
template<class R >
returns a reference to the unsimplified primal solution. Implements SPxSimplifier< R >. Definition at line 1568 of file spxmainsm.h. References SPxMainSM< R >::m_postsolved, and SPxMainSM< R >::m_prim. ◆ unsimplifiedRedCost()
template<class R >
returns a reference to the unsimplified reduced costs. Implements SPxSimplifier< R >. Definition at line 1586 of file spxmainsm.h. References SPxMainSM< R >::m_postsolved, and SPxMainSM< R >::m_redCost. ◆ unsimplifiedSlacks()
template<class R >
returns a reference to the unsimplified slack values. Implements SPxSimplifier< R >. Definition at line 1580 of file spxmainsm.h. References SPxMainSM< R >::m_postsolved, and SPxMainSM< R >::m_slack. ◆ unsimplify()
template<class R >
reconstructs an optimal solution for the unsimplified LP. Implements SPxSimplifier< R >. Friends And Related Symbol Documentation◆ AggregationPS
template<class R >
Definition at line 1302 of file spxmainsm.h. Referenced by SPxMainSM< R >::AggregationPS::clone(). ◆ DoubletonEquationPS
template<class R >
Definition at line 1299 of file spxmainsm.h. Referenced by SPxMainSM< R >::DoubletonEquationPS::clone(). ◆ DuplicateColsPS
template<class R >
Definition at line 1301 of file spxmainsm.h. Referenced by SPxMainSM< R >::DuplicateColsPS::clone(). ◆ DuplicateRowsPS
template<class R >
Definition at line 1300 of file spxmainsm.h. Referenced by SPxMainSM< R >::DuplicateRowsPS::clone(). ◆ EmptyConstraintPS
template<class R >
Definition at line 1291 of file spxmainsm.h. Referenced by SPxMainSM< R >::EmptyConstraintPS::clone(). ◆ FixBoundsPS
template<class R >
Definition at line 1295 of file spxmainsm.h. Referenced by SPxMainSM< R >::FixBoundsPS::clone(). ◆ FixVariablePS
template<class R >
Definition at line 1294 of file spxmainsm.h. Referenced by SPxMainSM< R >::FixVariablePS::clone(). ◆ ForceConstraintPS
template<class R >
Definition at line 1293 of file spxmainsm.h. Referenced by SPxMainSM< R >::ForceConstraintPS::clone(). ◆ FreeColSingletonPS
template<class R >
Definition at line 1298 of file spxmainsm.h. Referenced by SPxMainSM< R >::FreeColSingletonPS::clone(). ◆ FreeConstraintPS
template<class R >
Definition at line 1290 of file spxmainsm.h. Referenced by SPxMainSM< R >::FreeConstraintPS::clone(). ◆ FreeZeroObjVariablePS
template<class R >
Definition at line 1296 of file spxmainsm.h. Referenced by SPxMainSM< R >::FreeZeroObjVariablePS::clone(). ◆ RowSingletonPS
template<class R >
Definition at line 1292 of file spxmainsm.h. Referenced by SPxMainSM< R >::RowSingletonPS::clone(). ◆ ZeroObjColSingletonPS
template<class R >
Definition at line 1297 of file spxmainsm.h. Referenced by SPxMainSM< R >::ZeroObjColSingletonPS::clone(). Member Data Documentation◆ m_addedcols
template<class R >
columns added by handleRowObjectives() Definition at line 1356 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(). ◆ m_cBasisStat
template<class R >
basis status of columns. Definition at line 1339 of file spxmainsm.h. Referenced by SPxMainSM< R >::getBasis(), SPxMainSM< R >::getBasisColStatus(), and SPxMainSM< R >::operator=(). ◆ m_cIdx
template<class R >
column index VectorBase<R> in original LP. Definition at line 1341 of file spxmainsm.h. Referenced by SPxMainSM< R >::cIdx(), SPxMainSM< R >::operator=(), and SPxMainSM< R >::removeCol(). ◆ m_classSetCols
template<class R >
stores parallel classes with non-zero row entry Definition at line 1347 of file spxmainsm.h. ◆ m_classSetRows
template<class R >
stores parallel classes with non-zero colum entry Definition at line 1345 of file spxmainsm.h. ◆ m_cutoffbound
template<class R >
the cutoff bound that is found by heuristics Definition at line 1358 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(). ◆ m_dual
template<class R >
unsimplified dual solution VectorBase<R>. Definition at line 1337 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(), and SPxMainSM< R >::unsimplifiedDual(). ◆ m_dupCols
template<class R >
arrange duplicate columns w.r.t. their pClass values Definition at line 1351 of file spxmainsm.h. ◆ m_dupRows
template<class R >
arrange duplicate rows using bucket sort w.r.t. their pClass values Definition at line 1349 of file spxmainsm.h. ◆ m_histVectorBase<R> of presolve history. Definition at line 1343 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(). ◆ m_keepbounds
template<class R >
keep some bounds (for boundflipping) Definition at line 1355 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(). ◆ m_postsolved
template<class R >
status of postsolving. Definition at line 1352 of file spxmainsm.h. Referenced by SPxMainSM< R >::getBasis(), SPxMainSM< R >::getBasisColStatus(), SPxMainSM< R >::getBasisRowStatus(), SPxMainSM< R >::isUnsimplified(), SPxMainSM< R >::operator=(), SPxMainSM< R >::unsimplifiedDual(), SPxMainSM< R >::unsimplifiedPrimal(), SPxMainSM< R >::unsimplifiedRedCost(), and SPxMainSM< R >::unsimplifiedSlacks(). ◆ m_prim
template<class R >
unsimplified primal solution VectorBase<R>. Definition at line 1335 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(), and SPxMainSM< R >::unsimplifiedPrimal(). ◆ m_pseudoobj
template<class R >
the pseudo objective function value Definition at line 1359 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(). ◆ m_rBasisStat
template<class R >
basis status of rows. Definition at line 1340 of file spxmainsm.h. Referenced by SPxMainSM< R >::getBasis(), SPxMainSM< R >::getBasisRowStatus(), and SPxMainSM< R >::operator=(). ◆ m_redCost
template<class R >
unsimplified reduced cost VectorBase<R>. Definition at line 1338 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(), and SPxMainSM< R >::unsimplifiedRedCost(). ◆ m_result
template<class R >
result of the simplification. Definition at line 1357 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(), and SPxMainSM< R >::result(). ◆ m_rIdx
template<class R >
row index VectorBase<R> in original LP. Definition at line 1342 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(), SPxMainSM< R >::removeRow(), and SPxMainSM< R >::rIdx(). ◆ m_slack
template<class R >
unsimplified slack VectorBase<R>. Definition at line 1336 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(), and SPxMainSM< R >::unsimplifiedSlacks(). ◆ m_stat
template<class R >
preprocessing history. Definition at line 1353 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=(). ◆ m_thesense
template<class R >
optimization sense. Definition at line 1354 of file spxmainsm.h. Referenced by SPxMainSM< R >::operator=().
|