Class for storing a primal-dual solution with basis information. More...
#include <solbase.h>
Public Member Functions | |
bool | isPrimalFeasible () const |
is the stored solution primal feasible? More... | |
bool | getPrimal (VectorBase< R > &vector) const |
gets the primal solution vector; returns true on success More... | |
bool | getSlacks (VectorBase< R > &vector) const |
gets the vector of slack values; returns true on success More... | |
bool | hasPrimalRay () const |
is a primal unbounded ray available? More... | |
bool | getPrimalRay (VectorBase< R > &vector) const |
gets the primal unbounded ray if available; returns true on success More... | |
bool | isDualFeasible () const |
is a dual solution available? More... | |
bool | getDual (VectorBase< R > &vector) const |
gets the dual solution vector; returns true on success More... | |
bool | getRedCost (VectorBase< R > &vector) const |
gets the vector of reduced cost values if available; returns true on success More... | |
bool | hasDualFarkas () const |
is a dual farkas ray available? More... | |
bool | getDualFarkas (VectorBase< R > &vector) const |
gets the Farkas proof if available; returns true on success More... | |
int | totalSizePrimal (const int base=2) const |
returns total size of primal solution More... | |
int | totalSizeDual (const int base=2) const |
returns total size of dual solution More... | |
int | dlcmSizePrimal (const int base=2) const |
returns size of least common multiple of denominators in primal solution More... | |
int | dlcmSizeDual (const int base=2) const |
returns size of least common multiple of denominators in dual solution More... | |
int | dmaxSizePrimal (const int base=2) const |
returns size of largest denominator in primal solution More... | |
int | dmaxSizeDual (const int base=2) const |
returns size of largest denominator in dual solution More... | |
void | invalidate () |
invalidate solution More... | |
Private Member Functions | |
SolBase () | |
default constructor only for friends More... | |
SolBase< R > & | operator= (const SolBase< R > &sol) |
assignment operator only for friends More... | |
template<class S > | |
SolBase< R > & | operator= (const SolBase< S > &sol) |
assignment operator only for friends More... | |
Private Attributes | |
DVectorBase< R > | _primal |
DVectorBase< R > | _slacks |
DVectorBase< R > | _primalRay |
DVectorBase< R > | _dual |
DVectorBase< R > | _redCost |
DVectorBase< R > | _dualFarkas |
R | _objVal |
unsigned int | _isPrimalFeasible: 1 |
unsigned int | _hasPrimalRay: 1 |
unsigned int | _isDualFeasible: 1 |
unsigned int | _hasDualFarkas: 1 |
Friends | |
class | SoPlex |
template<class S > | |
class | SolBase |
Class for storing a primal-dual solution with basis information.
int dlcmSizeDual | ( | const int | base = 2 | ) | const |
returns size of least common multiple of denominators in dual solution
Definition at line 167 of file solbase.h.
Referenced by SoPlex::dlcmSizeDualRational().
int dlcmSizePrimal | ( | const int | base = 2 | ) | const |
returns size of least common multiple of denominators in primal solution
Definition at line 153 of file solbase.h.
Referenced by SoPlex::dlcmSizePrimalRational().
int dmaxSizeDual | ( | const int | base = 2 | ) | const |
returns size of largest denominator in dual solution
Definition at line 195 of file solbase.h.
Referenced by SoPlex::dmaxSizeDualRational().
int dmaxSizePrimal | ( | const int | base = 2 | ) | const |
returns size of largest denominator in primal solution
Definition at line 181 of file solbase.h.
Referenced by SoPlex::dmaxSizePrimalRational().
bool getDual | ( | VectorBase< R > & | vector | ) | const |
gets the dual solution vector; returns true on success
Definition at line 94 of file solbase.h.
Referenced by SoPlex::getDualRational(), SoPlex::getDualReal(), and soplex::reconstructSol().
bool getDualFarkas | ( | VectorBase< R > & | vector | ) | const |
gets the Farkas proof if available; returns true on success
Definition at line 116 of file solbase.h.
Referenced by SoPlex::getDualFarkasRational(), and SoPlex::getDualFarkasReal().
bool getPrimal | ( | VectorBase< R > & | vector | ) | const |
gets the primal solution vector; returns true on success
Definition at line 57 of file solbase.h.
Referenced by SoPlex::getPrimalRational(), SoPlex::getPrimalReal(), and soplex::reconstructSol().
bool getPrimalRay | ( | VectorBase< R > & | vector | ) | const |
gets the primal unbounded ray if available; returns true on success
Definition at line 79 of file solbase.h.
Referenced by SoPlex::getPrimalRayRational(), and SoPlex::getPrimalRayReal().
bool getRedCost | ( | VectorBase< R > & | vector | ) | const |
gets the vector of reduced cost values if available; returns true on success
Definition at line 102 of file solbase.h.
Referenced by SoPlex::getRedCostRational(), and SoPlex::getRedCostReal().
bool getSlacks | ( | VectorBase< R > & | vector | ) | const |
gets the vector of slack values; returns true on success
Definition at line 65 of file solbase.h.
Referenced by SoPlex::getSlacksRational(), SoPlex::getSlacksReal(), and soplex::reconstructSol().
bool hasDualFarkas | ( | ) | const |
is a dual farkas ray available?
Definition at line 110 of file solbase.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_project(), SoPlex::_unscaleSolutionReal(), and SoPlex::hasDualFarkas().
bool hasPrimalRay | ( | ) | const |
is a primal unbounded ray available?
Definition at line 73 of file solbase.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_project(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformEquality(), and SoPlex::hasPrimalRay().
void invalidate | ( | ) |
invalidate solution
Definition at line 209 of file solbase.h.
Referenced by SoPlex::_invalidateSolution(), SoPlex::_optimizeReal(), SoPlex::_performFeasIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_untransformUnbounded(), and SolBase< Real >::SolBase().
bool isDualFeasible | ( | ) | const |
is a dual solution available?
Definition at line 88 of file solbase.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_restoreLPReal(), SoPlex::_untransformEquality(), and SoPlex::isDualFeasible().
bool isPrimalFeasible | ( | ) | const |
is the stored solution primal feasible?
Definition at line 51 of file solbase.h.
Referenced by SoPlex::_evaluateSolutionReal(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_untransformEquality(), and SoPlex::isPrimalFeasible().
int totalSizeDual | ( | const int | base = 2 | ) | const |
returns total size of dual solution
Definition at line 139 of file solbase.h.
Referenced by SoPlex::totalSizeDualRational().
int totalSizePrimal | ( | const int | base = 2 | ) | const |
returns total size of primal solution
Definition at line 125 of file solbase.h.
Referenced by SoPlex::totalSizePrimalRational().
|
private |
Definition at line 221 of file solbase.h.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_optimizeRational(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_restoreLPReal(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SolBase< Real >::dlcmSizeDual(), SolBase< Real >::dmaxSizeDual(), SolBase< Real >::getDual(), SoPlex::getDualViolationRational(), SoPlex::getDualViolationReal(), SolBase< Real >::operator=(), soplex::reconstructSol(), and SolBase< Real >::totalSizeDual().
|
private |
Definition at line 223 of file solbase.h.
Referenced by SoPlex::_computeInfeasBox(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_storeSolutionReal(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformFeasibility(), SolBase< Real >::dlcmSizeDual(), SolBase< Real >::dmaxSizeDual(), SolBase< Real >::getDualFarkas(), SoPlex::getDualViolationRational(), SolBase< Real >::operator=(), and SolBase< Real >::totalSizeDual().
|
private |
Definition at line 230 of file solbase.h.
Referenced by SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_storeSolutionReal(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SolBase< Real >::dlcmSizeDual(), SolBase< Real >::dmaxSizeDual(), SolBase< Real >::getDualFarkas(), SolBase< Real >::hasDualFarkas(), SolBase< Real >::invalidate(), SolBase< Real >::operator=(), and SolBase< Real >::totalSizeDual().
|
private |
Definition at line 228 of file solbase.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_storeSolutionReal(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SolBase< Real >::dlcmSizePrimal(), SolBase< Real >::dmaxSizePrimal(), SolBase< Real >::getPrimalRay(), SolBase< Real >::hasPrimalRay(), SolBase< Real >::invalidate(), SolBase< Real >::operator=(), and SolBase< Real >::totalSizePrimal().
|
private |
Definition at line 229 of file solbase.h.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_optimizeRational(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::_verifySolutionReal(), SolBase< Real >::dlcmSizeDual(), SolBase< Real >::dmaxSizeDual(), SolBase< Real >::getDual(), SolBase< Real >::getRedCost(), SolBase< Real >::invalidate(), SolBase< Real >::isDualFeasible(), SolBase< Real >::operator=(), and SolBase< Real >::totalSizeDual().
|
private |
Definition at line 227 of file solbase.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::_factorizeColumnRational(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SoPlex::_verifySolutionReal(), SolBase< Real >::dlcmSizePrimal(), SolBase< Real >::dmaxSizePrimal(), SolBase< Real >::getPrimal(), SolBase< Real >::getSlacks(), SolBase< Real >::invalidate(), SolBase< Real >::isPrimalFeasible(), SolBase< Real >::operator=(), and SolBase< Real >::totalSizePrimal().
|
private |
Definition at line 225 of file solbase.h.
Referenced by SoPlex::_performOptIRStable(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::objValueRational(), SoPlex::objValueReal(), and SolBase< Real >::operator=().
|
private |
Definition at line 218 of file solbase.h.
Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::_factorizeColumnRational(), SoPlex::_performFeasIRStable(), SoPlex::_performOptIRStable(), SoPlex::_performUnboundedIRStable(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_solveDecompositionDualSimplex(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::_untransformUnbounded(), SolBase< Real >::dlcmSizePrimal(), SolBase< Real >::dmaxSizePrimal(), SoPlex::getBoundViolationRational(), SoPlex::getBoundViolationReal(), SoPlex::getDecompBoundViolation(), SoPlex::getDecompRowViolation(), SoPlex::getDualViolationRational(), SolBase< Real >::getPrimal(), SoPlex::getRedCostViolationRational(), SoPlex::getRowViolationRational(), SoPlex::getRowViolationReal(), SolBase< Real >::operator=(), soplex::reconstructSol(), and SolBase< Real >::totalSizePrimal().
|
private |
Definition at line 220 of file solbase.h.
Referenced by SoPlex::_optimizeRational(), SoPlex::_project(), SoPlex::_storeSolutionReal(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformEquality(), SoPlex::_untransformUnbounded(), SolBase< Real >::dlcmSizePrimal(), SolBase< Real >::dmaxSizePrimal(), SoPlex::getDualViolationRational(), SolBase< Real >::getPrimalRay(), SolBase< Real >::operator=(), and SolBase< Real >::totalSizePrimal().
|
private |
Definition at line 222 of file solbase.h.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_optimizeRational(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformEquality(), SoPlex::_untransformUnbounded(), SoPlex::getDualViolationRational(), SolBase< Real >::getRedCost(), SoPlex::getRedCostViolationRational(), SoPlex::getRedCostViolationReal(), and SolBase< Real >::operator=().
|
private |
Definition at line 219 of file solbase.h.
Referenced by SoPlex::_factorizeColumnRational(), SoPlex::_performOptIRStable(), SoPlex::_project(), SoPlex::_reconstructSolutionRational(), SoPlex::_storeSolutionReal(), SoPlex::_storeSolutionRealFromPresol(), SoPlex::_unscaleSolutionReal(), SoPlex::_untransformEquality(), SoPlex::_untransformFeasibility(), SoPlex::getDualViolationRational(), SolBase< Real >::getSlacks(), SolBase< Real >::operator=(), and soplex::reconstructSol().