private void updateCurrentIndividualFromSettings(RandomPopulationSettings populationSettings, Individual currentIndividual, PathCache <IDistributedParameter> allCurrentDistribuedParameters, PathCache <IDistributedParameter> allBaseDistributedParamters, Gender currentGender) { //clone of the original origin data currentIndividual.OriginData = populationSettings.BaseIndividual.OriginData.Clone(); currentIndividual.OriginData.Gender = currentGender; //create a new seed for the individual in order to randomize correctly our values currentIndividual.GenerateSeed(); //perform random varation of the origin data according to the settings defined for the population perturbate(currentIndividual, populationSettings); //Update the distribution according to the new origin data _distributedParametersUpdater.UpdateDistributedParameter(allCurrentDistribuedParameters, allBaseDistributedParamters, currentIndividual.OriginData); }
private void updateCurrentIndividualFromSettings( RandomPopulationSettings populationSettings, Individual baseIndividual, Individual currentIndividual, PathCache <IDistributedParameter> allCurrentDistributedParameters, PathCache <IDistributedParameter> allBaseDistributedParameters, Gender currentGender, RandomGenerator randomGenerator) { //clone of the original origin data currentIndividual.OriginData = baseIndividual.OriginData.Clone(); currentIndividual.OriginData.Gender = currentGender; //perform random variation of the origin data according to the settings defined for the population perturbate(currentIndividual, populationSettings, randomGenerator); //Update the distribution according to the new origin data _distributedParametersUpdater.UpdateDistributedParameter(allCurrentDistributedParameters, allBaseDistributedParameters, currentIndividual.OriginData); }