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); }
public Individual(GeneticAlgorythm algorythm, int[] genotype) { Algorythm = algorythm; Genotype = genotype; }
public Individual(GeneticAlgorythm algorythm) { Algorythm = algorythm; Genotype = new int[algorythm.Problem.Dimensions]; }