161 os <<
"Total time : " << totTime <<
"\n" 163 <<
" Solving : " << solTime <<
"\n" 172 os <<
" (" << 100 * (
simplexTime->
time() / solTime) <<
"% of solving time)";
177 os <<
" (" << 100 * (
syncTime->
time() / solTime) <<
"% of solving time)";
189 os <<
"\n Other : " << otherTime;
192 os <<
" (" << 100 * otherTime / solTime <<
"% of solving time)";
209 os <<
" (" << 100 * double(iterationsFromBasis) / double(
iterations) <<
"%)";
214 os <<
" (" << 100 * double(iterationsPrimal) / double(
iterations) <<
"%)";
225 <<
" Factor. frequency : ";
227 if(luFactorizationsReal > 0)
228 os << double(
iterations) / double(luFactorizationsReal) <<
" iterations per factorization\n";
235 <<
" Solve frequency : ";
238 os << double(luSolvesReal) / double(
iterations) <<
" solves per iteration\n";
251 os <<
"Degeneracy : \n";
256 os <<
" Average Primal : " << avgPrimalDegeneracy <<
"\n";
257 os <<
" Average Dual : " << avgDualDegeneracy <<
"\n";
262 os <<
"Decomp. Iterations : \n";
265 os <<
" Reduced Problem : " << iterationsRedProb <<
"\n";
267 os <<
"Red. Problem Size : \n";
274 os <<
"Decomp Violations : \n";
292 os <<
"Numerics :\n";
int unbdRefinements
number of refinement steps during undboundedness test
int callsReducedProb
number of times the reduced problem is solved. This includes the initial solve.
Timer * syncTime
time for synchronization between real and rational LP (included in solving time)
int feasRefinements
number of refinement steps during infeasibility test
Real decompBasisCondNum
the condition number for the basis used to perform the decomposition
int stallRefinements
number of refinement steps without pivots
int numRedProbCols
number of columns in the reduced problem
int iterationsInit
number of iterations in the initial LP
Timer * simplexTime
simplex time
int luSolvesReal
number of (forward and backward) solves with basis matrix in real precision
int refinements
number of refinement steps
int luFactorizationsReal
number of basis matrix factorizations in real precision
Real finalCompObj
the final objective function of the complementary problem
static void setScientific(std::ostream &stream, int precision=8)
Sets the precision of the stream to 16 and the floatfield to scientifix.
int degenPivotCandDual
number of pivoting candidates that will produce a degenerate step in the dual
int compProbStatus
status of the complementary problem
Real luFactorizationTimeReal
time for factorizing bases matrices in real precision
static void setFixed(std::ostream &stream, int precision=8)
Sets the precision of the stream to 8 and the floatfield to fixed.
Timer * rationalTime
time for rational LP solving (included in solving time)
Real maxRowViol
the max row violations in the original problem using the red prob sol
Real sumPrimalDegen
the sum of the rate of primal degeneracy at each iteration
Class for collecting statistical information.
Real maxBoundViol
the max bound violation in the original problem using the red prob sol
Real luSolveTimeRational
time for solving linear systems in rational precision
virtual Real time() const =0
int degenPivotsDual
number of dual degenerate pivots
static Timer * createTimer(Timer::TYPE ttype)
create timers and allocate memory for them
int luFactorizationsRational
number of basis matrix factorizations in rational precision
Timer * preprocessingTime
preprocessing time
Real luSolveTimeReal
time for solving linear systems in real precision
Timer * reconstructionTime
time for rational reconstructions
Everything should be within this namespace.
Timer::TYPE timerType
type of timer (user or wallclock)
int iterations
number of iterations/pivots
int boundflips
number of dual bound flips
void clearAllData()
clears all statistics
int iterationsRedProb
number of iterations of the reduced problem
void print(std::ostream &os)
prints statistics
void clearSolvingData()
clears statistics on solving process
Real finalBasisCondition
condition number estimate of the optimal basis matrix
Real totalRowViol
the sum of the row violations in the original problem using the red prob sol
Timer * readingTime
reading time not included in solving time
int iterationsFromBasis
number of iterations from Basis
int iterationsPolish
number of iterations during solution polishing
Statistics & operator=(const Statistics &rhs)
assignment operator
Timer * solvingTime
solving time
int degenPivotCandPrimal
number of pivoting candidates that will produce a degenerate step in the primal
Statistics(Timer::TYPE ttype=Timer::USER_TIME)
default constructor
int iterationsPrimal
number of iterations with Primal
int iterationsCompProb
number of iterations of the complementary problem
Timer * transformTime
time for transforming LPs (included in solving time)
virtual void reset()=0
initialize timer, set timing accounts to zero.
int redProbStatus
status of the reduced problem
Real sumDualDegen
the sum of the rate of dual degeneracy at each iteration
Real luFactorizationTimeRational
time for factorizing bases matrices in rational precision
Real totalBoundViol
the sum of the bound violations in the original problem using the red prob sol
int rationalReconstructions
number of rational reconstructions performed
int pivotRefinements
number of refinement steps until final basis is reached
int numRedProbRows
number of rows in the reduced problem
int degenPivotsPrimal
number of primal degenerate pivots