public Individual CreateAndOptimizeFor(OriginData originData, int?seed = null) { var individual = CreateStandardFor(originData); if (seed.HasValue) { individual.Seed = seed.Value; } _createIndividualAlgorithm.Optimize(individual); validate(individual); return(individual); }
public Individual CreateAndOptimizeFor(OriginData originData, int?seed = null) { var individual = CreateStandardFor(originData); if (seed.HasValue) { individual.Seed = seed.Value; } //this creates a healthy individual _createIndividualAlgorithm.Optimize(individual); //Apply disease states if required var diseaseStateImplementation = _diseaseStateImplementationFactory.CreateFor(individual); diseaseStateImplementation.ApplyTo(individual); validate(individual); return(individual); }