private static void PrintSADStats(ISimulatedAnnealingDriverStatistics stats)
 {
     System.Console.WriteLine("Total Iterations:\t{0,14}", stats.Iterations);
     System.Console.WriteLine("Start Time:{0,27}", stats.StartTime);
     System.Console.WriteLine("End Time:{0,29}", stats.EndTime);
     System.Console.WriteLine("Time Taken:\t{0,30}", stats.EndTime - stats.StartTime);
 }
 static void ReportSolution(ISimulatedAnnealingSubject solution, ISimulatedAnnealingDriverStatistics stats)
 {
     // System.Console.SetCursorPosition(0, 0);
     System.Console.Write(solution);
     System.Console.WriteLine();
     System.Console.WriteLine("Solution Iteration:{0,19}", stats.Iterations);
     System.Console.WriteLine("Better Solutions Taken:{0,15}", stats.BetterSolutionsTaken);
     System.Console.WriteLine("Worse Solutions Taken:{0,16}", stats.WorseSolutionsTaken);
 }