/*Header file of the PStep_SingleCGIterationStatistics class

This class contains the statistics of a single column generation iteration
during the execution of PStep_Tree::ColumnGeneration.

*/

#ifndef _PSTEP_SINGLECGITERATIONSTATISTICS_H
#define _PSTEP_SINGLECGITERATIONSTATISTICS_H

//Class used to represent the statistics of a single iteration of the column generation algorithm.
class PStep_SingleCGIterationStatistics{
public:
	//Value
	double Value;

	//LP Time in seconds
	double LPTime;

	//Time in second spent on the pricing problems
	double PricingTime;

	//Time in second spent on seperating capacity cuts
	double SeparateCCTime;

	//Time in second spent on seperating 2 edge hypotour cuts
	double Separate2EHTime;

	//Time in second spent on seperating strentghened comb cuts
	double SeparateSCombTime;

	//Time in second spent on seperating framed capacity cuts
	double SeparateFCCTime;

	//Time in second spent on seperating homogeneous multistar cuts
	double SeparateHMCTime;

	//Number of p-steps generated
	int NumberOfPStepsGenerated;

	//Number of p-steps included in the formulation
	int NumberOfIncludedPSteps;

	//Number of p-steps in the short list
	int NumberOfPStepsInTheShortList;

	//Number of new capacity cuts added
	int NumberOfCC;

	//Number of new 2 edge hypotour cuts added
	int NumberOf2EH;

	//Number of new strengthened comb cuts added
	int NumberOfSComb;

	//Number of new framed capacity cuts added
	int NumberOfFCC;

	//Number of new framed homogeneous multistar cuts added
	int NumberOfHMC;

};

#endif