Code:
#include "Tour.h"
#include "TspGAParams.h"







class CPop  
{
  CBSVector<CTour> pop;
  CBSVector<double> probability;
  int popsize;
  double TotalFitness;
  CTour Elite;
  CTspGAParams GAParameters;

public:
	CPop();
	virtual ~CPop();
	void seed();
	void RandomInitialize(const CTspGAParams &param);
	void initializePop(int citysze,int popsze);
	bool isExist(int i,int citysze);
	void computePopFitness(CBSMatrix<double>& matrix,int citysze);
	void MaxMinFitness(int &minIndex,int &maxIndex);
	void MaintainElite(int citysze);
	void displaypop();
	void computeTotalFitness();
	void computeProbabilities();
	int selectparent();
	void performCrossover(int parent1,int parent2,int offspring1,int offspring2,int ncities,CBSVector<CTour> & newPop);
	void SwapMutation(int index,int ncities,CBSVector<CTour> & newPop); //,int nExchanges)
	void reproduction(int ncities);


};