private static ITermination GetTermination() { int termination_n; do { Console.Clear(); Console.WriteLine("Choose termination method:" + "\n[1] Fitness Stagnation" + "\n[2] Generation Number" + "\n[3] Time Evolving"); try { termination_n = int.Parse(Console.ReadKey().KeyChar.ToString()); } catch { termination_n = -1; } } while (!(1 <= termination_n && termination_n <= 3)); return(ParameterParser.ParseTermination(termination_n, 100)); }
private static ICrossover GetCrossover() { int crossover_n; do { Console.Clear(); Console.WriteLine("Choose crossover method:" + "\n[1] Uniform" + "\n[2] One Point" + "\n[3] Three Parent"); try { crossover_n = int.Parse(Console.ReadKey().KeyChar.ToString()); } catch { crossover_n = -1; } } while (!(1 <= crossover_n && crossover_n <= 3)); return(ParameterParser.ParserCrossover(crossover_n, 0.5f)); }
private static IMutation GetMutation() { int mutation_n; do { Console.Clear(); Console.WriteLine("Choose mutation method:" + "\n[1] Flip Bit" + "\n[2] Reverse Sequence" + "\n[3] Twors" + "\n[4] Uniform"); try { mutation_n = int.Parse(Console.ReadKey().KeyChar.ToString()); } catch { mutation_n = -1; } } while (!(1 <= mutation_n && mutation_n <= 4)); return(ParameterParser.ParseMutation(mutation_n)); }
private static ISelection GetSelection() { int selection_n; do { Console.Clear(); Console.WriteLine("Choose selection method" + "\n[1] Elite" + "\n[2] Roulette Wheel" + "\n[3] Stochastic Universal Sampling" + "\n[4] Tournament"); try { selection_n = int.Parse(Console.ReadKey().KeyChar.ToString()); } catch { selection_n = -1; } } while (!(1 <= selection_n && selection_n <= 4)); return(ParameterParser.ParseSelection(selection_n)); }