//Метод создания новой популяции public static List <Individ> CreateNewPopulation(int CountIndivid, int MaxParameterValue, int CountParameter, Random rnd) { //Создание листа с индивидами List <Individ> individs = new List <Individ>(); for (int i = 0; i < CountIndivid; i++) { individs.Add(Individ.NewRandomIndivid(MaxParameterValue, CountParameter, rnd)); } return(individs); }
//Метод смешения генов public static Individ Mix(Individ par1, Individ par2, int MaxParameterValue, int CountParameter, Random rnd) { Individ NewInd = Individ.NewRandomIndivid(MaxParameterValue, CountParameter, rnd); for (int i = 0; i < CountParameter; i++) { if (rnd.Next(2) == 0) { NewInd.Parameters[i] = par1.Parameters[i]; } else { NewInd.Parameters[i] = par2.Parameters[i]; } } return(NewInd); }