public MultiObjectiveListEvaluator(IGenomeDecoder <TGenome, TPhenome> genomeDecoder, IMultiObjectiveEvaluator <TPhenome> phenomeEvaluator, INoveltyScorer <TGenome> noveltyScorer, IGeneticDiversityScorer <TGenome> geneticDiversityScorer, IMultiObjectiveScorer multiObjectiveScorer, bool enableMultiThreading, ParallelOptions options) { _genomeDecoder = genomeDecoder; _phenomeEvaluator = phenomeEvaluator; _noveltyScorer = noveltyScorer; _geneticDiversityScorer = geneticDiversityScorer; _multiObjectiveScorer = multiObjectiveScorer; _parallelOptions = options; _generation = 0; // Determine the appropriate evaluation method. if (enableMultiThreading) { _evalMethod = EvaluateParallel; } else { _evalMethod = EvaluateSerial; } }
public MultiObjectiveListEvaluator(IGenomeDecoder <TGenome, TPhenome> genomeDecoder, IMultiObjectiveEvaluator <TPhenome> phenomeEvaluator, INoveltyScorer <TGenome> noveltyScorer, IList <IObjectiveScorer <TGenome> > objectiveScorers, IMultiObjectiveScorer multiObjectiveScorer, bool enableMultiThreading, ParallelOptions options) { _genomeDecoder = genomeDecoder; _phenomeEvaluator = phenomeEvaluator; _noveltyScorer = noveltyScorer; _objectiveScorers = objectiveScorers; for (int i = 0; i < _objectiveScorers.Count; i++) { _objectiveScorers[i].Objective = i + 1; } _multiObjectiveScorer = multiObjectiveScorer; _parallelOptions = options; _generation = 0; // Determine the appropriate evaluation method. if (enableMultiThreading) { _evalMethod = EvaluateParallel; } else { _evalMethod = EvaluateSerial; } }