Beispiel #1
0
        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];
 }