public virtual List <ITestParameters> DetermineChromosomeParameters(ECTestMeasureList testMeasureList)
        {
            var testParameters = new List <ITestParameters>();

            this.SimplifiedParamMeasures.Clear();
            this.MinLengthChromosome.Clear();

            //adds all possible sub-combinations
            var subCombinations = new HashSet <IGPChromosome>();

            foreach (IGPChromosome parameters in testMeasureList)
            {
                var testMeasure = (ECTestMeasure)testMeasureList.GetTestMeasure(parameters);
                this.MinLengthChromosome[testMeasure]           = parameters.Length;
                this.SimplifiedChromosomesMeasures[testMeasure] = new List <ECTestMeasure>();

                var allParamCombinations = parameters.AllCombinations;
                subCombinations.UnionWith(allParamCombinations);

                foreach (var paramCombination in allParamCombinations)
                {
                    this.SimplifiedParamMeasures[paramCombination] = testMeasure;
                }
            }
            testParameters.AddRange(subCombinations);

            //sorts chromosome parameters by length
            testParameters.Sort();

            return(testParameters);
        }
Exemple #2
0
 public FitnessFunction(
     IOptimizationTestFactory optimizationTestFactory, ECTestMeasureList testMeasureList)
 {
     this.optimizationTestFactory = optimizationTestFactory;
     this.testMeasureList         = testMeasureList;
 }