/*************************** ALGORITHMTSP.H ***********************************
* TSP Algorithms : AlgorithmTSP                                    21.11.2008 *
*                                                                             *
* TSP Algorithms' base class.                                                 *
*                                                             Beycan Kahraman *
******************************************************************************/

#pragma once
#include <ctime>
#include <windows.h>
#include <cstdio>
#include "../archieve/randomc.h"
#define SZ 81

class AlgorithmTSP
{
protected:
	short **dist;
	int *best_cycle;
	int *sequence;
	int n;
	int min_cycle;
	unsigned duration;
	CRandomMersenne *random_mersenne;
public:
	AlgorithmTSP(short dist[][SZ], int n);
	virtual void Run();
	unsigned GetDuration();
	int MinCycyle();
	int BestCycyle(int k);
	~AlgorithmTSP(void);
};
