private static IMutate Decide(MutateEnum option, GASettings settings) { switch (option) { case MutateEnum.Swap: return(new SwapMutation(settings, RandomSingleton.Instance)); case MutateEnum.Inversion: return(new InversionMutation(settings, RandomSingleton.Instance)); case MutateEnum.Insertion: return(new InsertionMutation(settings, RandomSingleton.Instance)); case MutateEnum.Displacement: return(new DisplacementMutation(settings, RandomSingleton.Instance)); } throw new Exception("No mutate passed"); }
public Result( TipoErro TipoErro, int Indice, string FileName, int QtdEntregadores, MutateEnum Mutation, CrossoverEnum CrossoverEnum, double Fitness ) { this.TipoErro = TipoErro; this.Indice = Indice; this.FileName = new FileInfo(FileName).Name; this.QtdEntregadores = QtdEntregadores; this.Mutation = Mutation; this.CrossoverEnum = CrossoverEnum; this.Fitness = Fitness; }
public static IMutate GetImplementation(MutateEnum option, GASettings settings) => Decide(option, settings);