Scippy

SoPlex

Sequential object-oriented simPlex

SoPlex::Statistics Class Reference

#include <statistics.h>

Public Member Functions

 Statistics (Timer::TYPE ttype=Timer::USER_TIME)
 default constructor More...
 
 Statistics (const Statistics &base)
 copy constructor More...
 
Statisticsoperator= (const Statistics &rhs)
 assignment operator More...
 
 ~Statistics ()
 destructor More...
 
void clearAllData ()
 clears all statistics More...
 
void clearSolvingData ()
 clears statistics on solving process More...
 
void print (std::ostream &os)
 prints statistics More...
 

Public Attributes

TimerreadingTime
 reading time not included in solving time More...
 
TimersolvingTime
 solving time More...
 
TimerpreprocessingTime
 preprocessing time More...
 
TimersimplexTime
 simplex time More...
 
TimersyncTime
 time for synchronization between real and rational LP (included in solving time) More...
 
TimertransformTime
 time for transforming LPs (included in solving time) More...
 
TimerrationalTime
 time for rational LP solving (included in solving time) More...
 
TimerreconstructionTime
 time for rational reconstructions More...
 
Timer::TYPE timerType
 type of timer (user or wallclock) More...
 
Real luFactorizationTimeReal
 time for factorizing bases matrices in real precision More...
 
Real luSolveTimeReal
 time for solving linear systems in real precision More...
 
Real luFactorizationTimeRational
 time for factorizing bases matrices in rational precision More...
 
Real luSolveTimeRational
 time for solving linear systems in rational precision More...
 
int iterations
 number of iterations/pivots More...
 
int iterationsPrimal
 number of iterations with Primal More...
 
int iterationsFromBasis
 number of iterations from Basis More...
 
int iterationsPolish
 number of iterations during solution polishing More...
 
int boundflips
 number of dual bound flips More...
 
int luFactorizationsReal
 number of basis matrix factorizations in real precision More...
 
int luSolvesReal
 number of (forward and backward) solves with basis matrix in real precision More...
 
int luFactorizationsRational
 number of basis matrix factorizations in rational precision More...
 
int rationalReconstructions
 number of rational reconstructions performed More...
 
int refinements
 number of refinement steps More...
 
int stallRefinements
 number of refinement steps without pivots More...
 
int pivotRefinements
 number of refinement steps until final basis is reached More...
 
int feasRefinements
 number of refinement steps during infeasibility test More...
 
int unbdRefinements
 number of refinement steps during undboundedness test More...
 
int callsReducedProb
 number of times the reduced problem is solved. This includes the initial solve. More...
 
int iterationsInit
 number of iterations in the initial LP More...
 
int iterationsRedProb
 number of iterations of the reduced problem More...
 
int iterationsCompProb
 number of iterations of the complementary problem More...
 
int numRedProbRows
 number of rows in the reduced problem More...
 
int numRedProbCols
 number of columns in the reduced problem More...
 
int degenPivotsPrimal
 number of primal degenerate pivots More...
 
int degenPivotsDual
 number of dual degenerate pivots More...
 
int degenPivotCandPrimal
 number of pivoting candidates that will produce a degenerate step in the primal More...
 
int degenPivotCandDual
 number of pivoting candidates that will produce a degenerate step in the dual More...
 
Real sumDualDegen
 the sum of the rate of dual degeneracy at each iteration More...
 
Real sumPrimalDegen
 the sum of the rate of primal degeneracy at each iteration More...
 
Real decompBasisCondNum
 the condition number for the basis used to perform the decomposition More...
 
Real totalBoundViol
 the sum of the bound violations in the original problem using the red prob sol More...
 
Real totalRowViol
 the sum of the row violations in the original problem using the red prob sol More...
 
Real maxBoundViol
 the max bound violation in the original problem using the red prob sol More...
 
Real maxRowViol
 the max row violations in the original problem using the red prob sol More...
 
int redProbStatus
 status of the reduced problem More...
 
int compProbStatus
 status of the complementary problem More...
 
Real finalCompObj
 the final objective function of the complementary problem More...
 
Real finalBasisCondition
 condition number estimate of the optimal basis matrix More...
 

Detailed Description

Definition at line 34 of file statistics.h.

Constructor & Destructor Documentation

◆ Statistics() [1/2]

◆ Statistics() [2/2]

◆ ~Statistics()

Member Function Documentation

◆ clearAllData()

◆ clearSolvingData()

void clearSolvingData ( )

clears statistics on solving process

Definition at line 97 of file statistics.cpp.

References SoPlex::Statistics::boundflips, SoPlex::Statistics::callsReducedProb, SoPlex::Statistics::compProbStatus, SoPlex::Statistics::decompBasisCondNum, SoPlex::Statistics::degenPivotCandDual, SoPlex::Statistics::degenPivotCandPrimal, SoPlex::Statistics::degenPivotsDual, SoPlex::Statistics::degenPivotsPrimal, SoPlex::Statistics::feasRefinements, SoPlex::Statistics::finalBasisCondition, SoPlex::Statistics::finalCompObj, SoPlex::Statistics::iterations, SoPlex::Statistics::iterationsCompProb, SoPlex::Statistics::iterationsFromBasis, SoPlex::Statistics::iterationsInit, SoPlex::Statistics::iterationsPolish, SoPlex::Statistics::iterationsPrimal, SoPlex::Statistics::iterationsRedProb, SoPlex::Statistics::luFactorizationsRational, SoPlex::Statistics::luFactorizationsReal, SoPlex::Statistics::luFactorizationTimeRational, SoPlex::Statistics::luFactorizationTimeReal, SoPlex::Statistics::luSolvesReal, SoPlex::Statistics::luSolveTimeRational, SoPlex::Statistics::luSolveTimeReal, SoPlex::Statistics::maxBoundViol, SoPlex::Statistics::maxRowViol, SoPlex::Statistics::numRedProbCols, SoPlex::Statistics::numRedProbRows, SoPlex::Statistics::pivotRefinements, SoPlex::Statistics::preprocessingTime, SoPlex::Statistics::rationalReconstructions, SoPlex::Statistics::rationalTime, SoPlex::Statistics::reconstructionTime, SoPlex::Statistics::redProbStatus, SoPlex::Statistics::refinements, Timer::reset(), SoPlex::Statistics::simplexTime, SoPlex::Statistics::solvingTime, SoPlex::Statistics::stallRefinements, SoPlex::Statistics::sumDualDegen, SoPlex::Statistics::sumPrimalDegen, SoPlex::Statistics::syncTime, SoPlex::Statistics::totalBoundViol, SoPlex::Statistics::totalRowViol, SoPlex::Statistics::transformTime, and SoPlex::Statistics::unbdRefinements.

Referenced by SoPlex::Statistics::clearAllData(), SoPlex::optimize(), and SoPlex::Statistics::~Statistics().

◆ operator=()

◆ print()

void print ( std::ostream &  os)

prints statistics

Definition at line 149 of file statistics.cpp.

References SoPlex::Statistics::boundflips, SoPlex::Statistics::callsReducedProb, SoPlex::Statistics::compProbStatus, SoPlex::Statistics::decompBasisCondNum, SoPlex::Statistics::degenPivotCandDual, SoPlex::Statistics::degenPivotCandPrimal, SoPlex::Statistics::degenPivotsDual, SoPlex::Statistics::degenPivotsPrimal, SoPlex::Statistics::feasRefinements, SoPlex::Statistics::finalBasisCondition, SoPlex::Statistics::finalCompObj, SoPlex::Statistics::iterations, SoPlex::Statistics::iterationsCompProb, SoPlex::Statistics::iterationsFromBasis, SoPlex::Statistics::iterationsInit, SoPlex::Statistics::iterationsPolish, SoPlex::Statistics::iterationsPrimal, SoPlex::Statistics::iterationsRedProb, SoPlex::Statistics::luFactorizationsRational, SoPlex::Statistics::luFactorizationsReal, SoPlex::Statistics::luFactorizationTimeRational, SoPlex::Statistics::luFactorizationTimeReal, SoPlex::Statistics::luSolvesReal, SoPlex::Statistics::luSolveTimeRational, SoPlex::Statistics::luSolveTimeReal, SoPlex::Statistics::maxBoundViol, SoPlex::Statistics::maxRowViol, SoPlex::Statistics::numRedProbCols, SoPlex::Statistics::numRedProbRows, SoPlex::Statistics::pivotRefinements, SoPlex::Statistics::preprocessingTime, SoPlex::Statistics::rationalReconstructions, SoPlex::Statistics::rationalTime, SoPlex::Statistics::readingTime, SoPlex::Statistics::reconstructionTime, SoPlex::Statistics::redProbStatus, SoPlex::Statistics::refinements, SoPlex::Statistics::simplexTime, SoPlex::Statistics::solvingTime, SoPlex::Statistics::stallRefinements, SoPlex::Statistics::sumDualDegen, SoPlex::Statistics::sumPrimalDegen, SoPlex::Statistics::syncTime, Timer::time(), SoPlex::Statistics::totalBoundViol, SoPlex::Statistics::totalRowViol, SoPlex::Statistics::transformTime, and SoPlex::Statistics::unbdRefinements.

Referenced by SoPlex::printSolvingStatistics(), and SoPlex::Statistics::~Statistics().

Member Data Documentation

◆ boundflips

◆ callsReducedProb

int callsReducedProb

number of times the reduced problem is solved. This includes the initial solve.

Definition at line 117 of file statistics.h.

Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::print(), and SoPlex::printDecompDisplayLine().

◆ compProbStatus

int compProbStatus

status of the complementary problem

Definition at line 135 of file statistics.h.

Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ decompBasisCondNum

Real decompBasisCondNum

the condition number for the basis used to perform the decomposition

Definition at line 129 of file statistics.h.

Referenced by SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ degenPivotCandDual

int degenPivotCandDual

number of pivoting candidates that will produce a degenerate step in the dual

Definition at line 126 of file statistics.h.

Referenced by SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ degenPivotCandPrimal

int degenPivotCandPrimal

number of pivoting candidates that will produce a degenerate step in the primal

Definition at line 125 of file statistics.h.

Referenced by SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ degenPivotsDual

int degenPivotsDual

◆ degenPivotsPrimal

int degenPivotsPrimal

◆ feasRefinements

int feasRefinements

number of refinement steps during infeasibility test

Definition at line 113 of file statistics.h.

Referenced by SoPlex::_performFeasIRStable(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::operator=(), and SoPlex::Statistics::print().

◆ finalBasisCondition

Real finalBasisCondition

condition number estimate of the optimal basis matrix

Definition at line 139 of file statistics.h.

Referenced by SoPlex::_optimizeReal(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ finalCompObj

Real finalCompObj

the final objective function of the complementary problem

Definition at line 136 of file statistics.h.

Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ iterations

◆ iterationsCompProb

int iterationsCompProb

number of iterations of the complementary problem

Definition at line 120 of file statistics.h.

Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ iterationsFromBasis

◆ iterationsInit

int iterationsInit

number of iterations in the initial LP

Definition at line 118 of file statistics.h.

Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ iterationsPolish

int iterationsPolish

number of iterations during solution polishing

Definition at line 104 of file statistics.h.

Referenced by SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ iterationsPrimal

◆ iterationsRedProb

int iterationsRedProb

number of iterations of the reduced problem

Definition at line 119 of file statistics.h.

Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::print(), and SoPlex::printDecompDisplayLine().

◆ luFactorizationsRational

int luFactorizationsRational

number of basis matrix factorizations in rational precision

Definition at line 108 of file statistics.h.

Referenced by SoPlex::_computeBasisInverseRational(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::operator=(), and SoPlex::Statistics::print().

◆ luFactorizationsReal

int luFactorizationsReal

◆ luFactorizationTimeRational

Real luFactorizationTimeRational

time for factorizing bases matrices in rational precision

Definition at line 99 of file statistics.h.

Referenced by SoPlex::_computeBasisInverseRational(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::operator=(), and SoPlex::Statistics::print().

◆ luFactorizationTimeReal

◆ luSolvesReal

int luSolvesReal

◆ luSolveTimeRational

Real luSolveTimeRational

time for solving linear systems in rational precision

Definition at line 100 of file statistics.h.

Referenced by SoPlex::_factorizeColumnRational(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::operator=(), and SoPlex::Statistics::print().

◆ luSolveTimeReal

◆ maxBoundViol

Real maxBoundViol

the max bound violation in the original problem using the red prob sol

Definition at line 132 of file statistics.h.

Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ maxRowViol

Real maxRowViol

the max row violations in the original problem using the red prob sol

Definition at line 133 of file statistics.h.

Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ numRedProbCols

int numRedProbCols

number of columns in the reduced problem

Definition at line 122 of file statistics.h.

Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ numRedProbRows

int numRedProbRows

number of rows in the reduced problem

Definition at line 121 of file statistics.h.

Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ pivotRefinements

int pivotRefinements

number of refinement steps until final basis is reached

Definition at line 112 of file statistics.h.

Referenced by SoPlex::_performOptIRStable(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::operator=(), and SoPlex::Statistics::print().

◆ preprocessingTime

◆ rationalReconstructions

int rationalReconstructions

number of rational reconstructions performed

Definition at line 109 of file statistics.h.

Referenced by SoPlex::_reconstructSolutionRational(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::operator=(), and SoPlex::Statistics::print().

◆ rationalTime

◆ readingTime

◆ reconstructionTime

◆ redProbStatus

int redProbStatus

status of the reduced problem

Definition at line 134 of file statistics.h.

Referenced by SoPlex::_solveDecompositionDualSimplex(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ refinements

◆ simplexTime

◆ solvingTime

◆ stallRefinements

int stallRefinements

◆ sumDualDegen

Real sumDualDegen

the sum of the rate of dual degeneracy at each iteration

Definition at line 127 of file statistics.h.

Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ sumPrimalDegen

Real sumPrimalDegen

the sum of the rate of primal degeneracy at each iteration

Definition at line 128 of file statistics.h.

Referenced by SoPlex::_decompSimplifyAndSolve(), SoPlex::_solveRealLPAndRecordStatistics(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ syncTime

◆ timerType

Timer::TYPE timerType

type of timer (user or wallclock)

Definition at line 96 of file statistics.h.

Referenced by SoPlex::Statistics::operator=(), and SoPlex::Statistics::Statistics().

◆ totalBoundViol

Real totalBoundViol

the sum of the bound violations in the original problem using the red prob sol

Definition at line 130 of file statistics.h.

Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ totalRowViol

Real totalRowViol

the sum of the row violations in the original problem using the red prob sol

Definition at line 131 of file statistics.h.

Referenced by SoPlex::_checkOriginalProblemOptimality(), SoPlex::Statistics::clearSolvingData(), and SoPlex::Statistics::print().

◆ transformTime

◆ unbdRefinements

int unbdRefinements

number of refinement steps during undboundedness test

Definition at line 114 of file statistics.h.

Referenced by SoPlex::_performUnboundedIRStable(), SoPlex::Statistics::clearSolvingData(), SoPlex::Statistics::operator=(), and SoPlex::Statistics::print().