/*Implementation of PStep_ColumnGenerator.h

It contains the member functions of PStep_ColumnGenerator6

*/

#include "PStep_ColumnGenerator.h"

//PStep_ColumnGenerator6:
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

//Generate columns
//------------------------------------------------------------------------------------

//Use neighborhood search heuristic, if it fails apply decremental state-space relaxation, column generator 5.
void PStep_ColumnGenerator6::GenerateColumns(){

	//Obtain the number of p-steps currently added
	int NumberOfCurrentPStepsBefore = AlgorithmMembers.NumberOfCurrentPSteps;

	//Apply column generator2
	GenerateColumns2();

	//Check if p-steps are added
	if (AlgorithmMembers.NumberOfCurrentPSteps == NumberOfCurrentPStepsBefore){
		//The heuristic did not identify negative reduced cost p-steps,
		//use column generator 5
		GenerateColumns5();
	}
	
}