public static void ga() { AlgorithmList.loadformnistfsgm(); var selection = new EliteSelection(); var crossover = new OrderedCrossover(); var mutation = new ReverseSequenceMutation(); var fitness = new MyProblemFitness(); var chromosome = new MyChromosome(); var population = new Population(4, 6, chromosome); var ga = new GeneticAlgorithm(population, fitness, selection, crossover, mutation); ga.Termination = new GenerationNumberTermination(4); Console.WriteLine("GA running..."); ga.Start(); Console.WriteLine("Best solution found has {0} fitness.", ga.BestChromosome.Fitness); var a = ga.BestChromosome.GetGenes(); string s = ""; foreach (var b in a) { s = s + b.Value.ToString(); } Console.WriteLine("Best solution found has {0} ", s); }
public Fitnessvalues Evaluate(MyChromosome chromosome) { // fitnesstcheck(chromosome); RunAlgorithm r = new RunAlgorithm(); return(r.RunAlgorithmchromosomes(chromosome)); }
public Fitnessvalues RunAlgorithmchromosomes(MyChromosome chromosome) { fitnesstcheck(chromosome); imagetotal = Constant.samplesize; threadcount = Constant.ThreadCount; greyscaleenable = Constant.greyscale; return(runonthread()); }
public CustomPopulation(int max, int min, int populationsize) { populationset.Clear(); populationset = new List <MyChromosome>(); Random random = new Random(); for (int i = 0; i < populationsize; i++) { MyChromosome chromosome = new MyChromosome(max, min, random); // Console.WriteLine(chromosome.Gene); populationset.Add(chromosome); } }
private void fitnesstcheck(MyChromosome chromosome) { checkstring(chromosome.GetGenes()); }