示例#1
0
        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;
            }
        }
示例#2
0
        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;
            }
        }