static bool RunRandomAlgorytm(string sourceFileName, int amountOfRandoms) { DateTime date = DateTime.Now; int calculationNumber = CalculationNumber++; CapacitatedVehicleRoutingProblem problem = new CapacitatedVehicleRoutingProblem(); problem.GetDataFromSourceFile(_inputFolderPath + sourceFileName); RandomAlgorythm algorythm = new RandomAlgorythm(problem, amountOfRandoms); var result = algorythm.Calculate(); SaveRandomResultToFile(result, _outputFolderPath + sourceFileName + date.Month + "_" + date.Day + "_" + date.Hour + "_" + date.Minute + "_" + date.Second + "_random"); Console.WriteLine("Hello World! 2"); return(true); }
static bool RunGeneticAlgorytm(float crossProbability, float mutationProbability, int amountOfGenerations, int generationSize, int tournamentSize, string sourceFileName, bool useRoulette, out float bestScore, bool mutationBySwap, bool crossOX) { DateTime date = DateTime.Now; int calculationNumber = CalculationNumber++; Thread.CurrentThread.Name = GetOutputFileName(date, crossProbability, mutationProbability, amountOfGenerations, generationSize, tournamentSize, useRoulette, sourceFileName, calculationNumber); CapacitatedVehicleRoutingProblem problem = new CapacitatedVehicleRoutingProblem(); problem.GetDataFromSourceFile(_inputFolderPath + sourceFileName); GeneticAlgorythm algorythm = new GeneticAlgorythm(problem, crossProbability, mutationProbability, amountOfGenerations, generationSize, tournamentSize, useRoulette, mutationBySwap, crossOX); var result = algorythm.Calculate(); SaveResultToFile(result, _outputFolderPath + GetOutputFileName(date, crossProbability, mutationProbability, amountOfGenerations, generationSize, tournamentSize, useRoulette, sourceFileName, calculationNumber), problem); Console.WriteLine("Hello World! 2"); bestScore = result[result.Length - 1].Max; return(true); }
static bool RunGreedyAlgorytm(string sourceFileName) { var tasks = new List <Task <float> >(); DateTime date = DateTime.Now; List <string> lines = new List <string>(); int calculationNumber = CalculationNumber++; CapacitatedVehicleRoutingProblem problem = new CapacitatedVehicleRoutingProblem(); problem.GetDataFromSourceFile(_inputFolderPath + sourceFileName); float sum = 0; List <float> results = new List <float>(); for (int i = 0; i < 59; i++) { var result = (new GreedyAlgorythm(problem, i)).Calculate(); results.Add(result.Value); } sum = results.Sum(); //obliczenie średniej i odchylenia standardowego float average = sum / results.Count; float max = results.Max(); float min = results.Min(); float averageDiviationsSum = 0; float standardDeviation = 0; for (int i = 0; i < results.Count; i++) { averageDiviationsSum += (float)Math.Pow(results[i] - average, 2); } standardDeviation = (float)Math.Sqrt(averageDiviationsSum / results.Count); //obliczenie średniej i odchylenia standardowego lines.Add("max: " + (int)max); lines.Add("min: " + (int)min); lines.Add("average: " + (int)average); lines.Add("standardDeviation: " + (int)standardDeviation); File.AppendAllLines(_outputFolderPath + "greedy1" + ".txt", lines); return(true); }