internal static void Main() { CreateDirectories(); Console.Write("Seed: "); var input = Console.ReadLine(); var seed = string.IsNullOrEmpty(input) ? new Random().Next() : int.Parse(input); var random = new Random(seed); Console.Write("Enter path to problem file: "); var path = Console.ReadLine(); var problem = PcbProblem.LoadProblemFromFile(path); Console.Write("Enter population size (>1, default: 250): "); input = Console.ReadLine(); var popSize = string.IsNullOrEmpty(input) ? 250 : int.Parse(input); Console.Write("Enter generation limit (default: 1000): "); input = Console.ReadLine(); var genLimit = string.IsNullOrEmpty(input) ? 1000 : int.Parse(input); Console.Write("Enter mutation probability ([0.0-1.0], default: 0.1): "); input = Console.ReadLine(); var mutProb = string.IsNullOrEmpty(input) ? 0.1 : double.Parse(input); Console.Write("Enter crossover probability ([0.0-1.0], default: 0.8): "); input = Console.ReadLine(); var crossProb = string.IsNullOrEmpty(input) ? 0.8 : double.Parse(input); Console.Write("Enter number of passes (default: 1): "); input = Console.ReadLine(); var passes = string.IsNullOrEmpty(input) ? 1 : int.Parse(input); var results = new ((Solution bestSolution, double fitness, int gen)result, long time)[passes];
public MutationTest() { _problem = PcbProblem.LoadProblemFromFile("zad2.txt"); _solution = new Solution(_problem, new RandomInitializer { RandomGenerator = new Random(1), InitialHeadToTargetProbability = 1, MaxLength = 20 }); }