/*Implementation of PStep_ColumnGenerator.h

It contains the member functions of PStep_ColumnGenerator15

*/

#include "PStep_ColumnGenerator.h"

//PStep_ColumnGenerator15:
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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

//First solve the pricing problem heuristically using local search. If it fails use
//the bi-directional layered labeling algorithm, column generator 14.
void PStep_ColumnGenerator15::GenerateColumns(){

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

	//Apply column generator 2, local search.
	GenerateColumns2();

	//Check if p-steps are added
	if (AlgorithmMembers.NumberOfCurrentPSteps == NumberOfCurrentPStepsBefore){

		//Use the column generation algorithm 12
		GenerateColumns14();

	}

}