Loading...
Searching...
No Matches
SPxSimplifier< R > Class Template Referenceabstract LP simplification abstract base class. More...
Inheritance diagram for SPxSimplifier< R >:
![]()
Detailed DescriptionLP simplification abstract base class. Instances of classes derived from SPxSimplifier may be loaded to SoPlex in order to simplify LPs before solving them. SoPlex will call simplify() on itself. Generally any SPxLP can be given to a SPxSimplifier for simplify()ing it. The simplification cannot be undone, but given an primal/dual solution for the simplified SPxLP, the simplifier can reconstruct the primal/dual solution of the unsimplified LP. Definition at line 51 of file spxsimplifier.h. Member Enumeration Documentation◆ ResultResult of the simplification. Definition at line 91 of file spxsimplifier.h. Constructor & Destructor Documentation◆ SPxSimplifier() [1/2]
constructor Definition at line 105 of file spxsimplifier.h. References TimerFactory::createTimer(), SPxSimplifier< R >::isConsistent(), and SPxSimplifier< R >::m_timeUsed. ◆ SPxSimplifier() [2/2]
copy constructor Definition at line 125 of file spxsimplifier.h. References TimerFactory::createTimer(), SPxSimplifier< R >::isConsistent(), SPxSimplifier< R >::m_timerType, and SPxSimplifier< R >::m_timeUsed. ◆ ~SPxSimplifier()
destructor. Definition at line 167 of file spxsimplifier.h. References SPxSimplifier< R >::m_name, SPxSimplifier< R >::m_timeUsed, soplex::spx_free(), and Timer::~Timer(). Member Function Documentation◆ addObjoffset()add objective offset. Definition at line 240 of file spxsimplifier.h. References SPxSimplifier< R >::m_objoffset. ◆ clone()
clone function for polymorphism Implemented in SPxMainSM< R >, and Presol< R >. ◆ getBasis()
get optimal basis. Implemented in SPxMainSM< R >, and Presol< R >. ◆ getBasisColStatus()
gets basis status for a single column. Implemented in SPxMainSM< R >, and Presol< R >. ◆ getBasisRowStatus()
gets basis status for a single row. Implemented in SPxMainSM< R >, and Presol< R >. ◆ getName()get name of simplifier. Definition at line 181 of file spxsimplifier.h. References SPxSimplifier< R >::m_name. ◆ getObjoffset()get objective offset. Definition at line 234 of file spxsimplifier.h. References SPxSimplifier< R >::m_objoffset. ◆ isConsistent()consistency check Definition at line 257 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(), SPxSimplifier< R >::SPxSimplifier(), and SPxSimplifier< R >::SPxSimplifier(). ◆ isUnsimplified()specifies whether an optimal solution has already been unsimplified. Reimplemented in SPxMainSM< R >, and Presol< R >. Definition at line 207 of file spxsimplifier.h. ◆ operator=()
assignment operator Definition at line 143 of file spxsimplifier.h. References SPxSimplifier< R >::isConsistent(), SPxSimplifier< R >::m_chgBnds, SPxSimplifier< R >::m_chgLRhs, SPxSimplifier< R >::m_keptBnds, SPxSimplifier< R >::m_keptLRhs, SPxSimplifier< R >::m_minReduction, SPxSimplifier< R >::m_name, SPxSimplifier< R >::m_objoffset, SPxSimplifier< R >::m_remCols, SPxSimplifier< R >::m_remNzos, SPxSimplifier< R >::m_remRows, SPxSimplifier< R >::m_timerType, SPxSimplifier< R >::m_timeUsed, and SPxSimplifier< R >::spxout. Referenced by SPxMainSM< R >::operator=(). ◆ result()returns result status of the simplification Implemented in SPxMainSM< R >, and Presol< R >. ◆ setMinReduction()set minimal reduction threshold to continue simplification Definition at line 246 of file spxsimplifier.h. References SPxSimplifier< R >::m_minReduction. ◆ setOutstream()Definition at line 263 of file spxsimplifier.h. References SPxSimplifier< R >::spxout. ◆ simplify() [1/2]simplify SPxLP Implemented in SPxMainSM< R >, and Presol< R >. ◆ simplify() [2/2]
simplify SPxLP Implemented in Presol< R >, and SPxMainSM< R >. ◆ timeUsed()Definition at line 185 of file spxsimplifier.h. References SPxSimplifier< R >::m_timeUsed, and Timer::time(). ◆ unsimplifiedDual()returns a reference to the unsimplified dual solution. Implemented in SPxMainSM< R >, and Presol< R >. ◆ unsimplifiedPrimal()returns a reference to the unsimplified primal solution. Implemented in SPxMainSM< R >, and Presol< R >. ◆ unsimplifiedRedCost()returns a reference to the unsimplified reduced costs. Implemented in SPxMainSM< R >, and Presol< R >. ◆ unsimplifiedSlacks()returns a reference to the unsimplified slack values. Implemented in SPxMainSM< R >, and Presol< R >. ◆ unsimplify()
reconstructs an optimal solution for the unsimplified LP. Implemented in Presol< R >, and SPxMainSM< R >. Member Data Documentation◆ m_chgBndsnumber of changed bounds Definition at line 70 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(). ◆ m_chgLRhsnumber of change right-hand sides Definition at line 72 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(). ◆ m_keptBndsnumber of kept bounds Definition at line 74 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(). ◆ m_keptLRhsnumber of kept left- and right-hand sides Definition at line 76 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(). ◆ m_minReductionminimal reduction (sum of removed rows/cols) to continue simplification Definition at line 80 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(), and SPxSimplifier< R >::setMinReduction(). ◆ m_namename of the simplifier Definition at line 59 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::getName(), SPxSimplifier< R >::operator=(), and SPxSimplifier< R >::~SPxSimplifier(). ◆ m_objoffsetobjective offset Definition at line 78 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::addObjoffset(), SPxSimplifier< R >::getObjoffset(), and SPxSimplifier< R >::operator=(). ◆ m_remColsnumber of removed columns Definition at line 66 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(). ◆ m_remNzosnumber of removed nonzero coefficients Definition at line 68 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(). ◆ m_remRowsnumber of removed rows Definition at line 64 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(). ◆ m_timerType
Definition at line 62 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(), and SPxSimplifier< R >::SPxSimplifier(). ◆ m_timeUseduser time used for simplification Definition at line 61 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(), SPxSimplifier< R >::SPxSimplifier(), SPxSimplifier< R >::SPxSimplifier(), SPxSimplifier< R >::timeUsed(), and SPxSimplifier< R >::~SPxSimplifier(). ◆ spxoutmessage handler Definition at line 82 of file spxsimplifier.h. Referenced by SPxSimplifier< R >::operator=(), and SPxSimplifier< R >::setOutstream().
|