Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/01/11 17:15:41 (13 years ago)
Author:
cneumuel
Message:

#1215

  • worked on configurability of SymbolicExpressionGrammar
Location:
branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/HeuristicLab.MetaOptimization.Test.csproj

    r5522 r5927  
    5353      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.ALGLIB-3.1.0.dll</HintPath>
    5454    </Reference>
    55     <Reference Include="HeuristicLab.Algorithms.DataAnalysis-3.3">
    56       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis-3.3.dll</HintPath>
    57     </Reference>
    58     <Reference Include="HeuristicLab.Algorithms.DataAnalysis.Views-3.3">
    59       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis.Views-3.3.dll</HintPath>
     55    <Reference Include="HeuristicLab.Algorithms.DataAnalysis-3.4">
     56      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis-3.4.dll</HintPath>
     57    </Reference>
     58    <Reference Include="HeuristicLab.Algorithms.DataAnalysis.Views-3.4">
     59      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.DataAnalysis.Views-3.4.dll</HintPath>
    6060    </Reference>
    6161    <Reference Include="HeuristicLab.Algorithms.EvolutionStrategy-3.3">
     
    6868      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.LocalSearch-3.3.dll</HintPath>
    6969    </Reference>
     70    <Reference Include="HeuristicLab.Algorithms.NSGA2-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     71      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.NSGA2-3.3.dll</HintPath>
     72    </Reference>
    7073    <Reference Include="HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3">
    7174      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm-3.3.dll</HintPath>
    7275    </Reference>
     76    <Reference Include="HeuristicLab.Algorithms.ParticleSwarmOptimization-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     77      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.ParticleSwarmOptimization-3.3.dll</HintPath>
     78    </Reference>
    7379    <Reference Include="HeuristicLab.Algorithms.SimulatedAnnealing-3.3">
    7480      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.SimulatedAnnealing-3.3.dll</HintPath>
     
    7783      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.TabuSearch-3.3.dll</HintPath>
    7884    </Reference>
     85    <Reference Include="HeuristicLab.Algorithms.VariableNeighborhoodSearch-3.3">
     86      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Algorithms.VariableNeighborhoodSearch-3.3.dll</HintPath>
     87    </Reference>
    7988    <Reference Include="HeuristicLab.Analysis-3.3">
    8089      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Analysis-3.3.dll</HintPath>
     
    113122      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.DataAccess-3.3.dll</HintPath>
    114123    </Reference>
     124    <Reference Include="HeuristicLab.DebugEngine-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     125      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.DebugEngine-3.3.dll</HintPath>
     126    </Reference>
    115127    <Reference Include="HeuristicLab.Encodings.BinaryVectorEncoding-3.3">
    116128      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.BinaryVectorEncoding-3.3.dll</HintPath>
     
    128140      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.RealVectorEncoding-3.3.dll</HintPath>
    129141    </Reference>
    130     <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3">
    131       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.3.dll</HintPath>
    132     </Reference>
    133     <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.3">
    134       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.3.dll</HintPath>
     142    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4">
     143      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding-3.4.dll</HintPath>
     144    </Reference>
     145    <Reference Include="HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4">
     146      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.dll</HintPath>
    135147    </Reference>
    136148    <Reference Include="HeuristicLab.Hive.Contracts-3.3, Version=3.3.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
     
    236248      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.PluginInfrastructure-3.3.dll</HintPath>
    237249    </Reference>
    238     <Reference Include="HeuristicLab.Problems.ArtificialAnt-3.3">
    239       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt-3.3.dll</HintPath>
    240     </Reference>
    241     <Reference Include="HeuristicLab.Problems.ArtificialAnt.Views-3.3">
    242       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt.Views-3.3.dll</HintPath>
    243     </Reference>
    244     <Reference Include="HeuristicLab.Problems.DataAnalysis-3.3">
    245       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis-3.3.dll</HintPath>
    246     </Reference>
    247     <Reference Include="HeuristicLab.Problems.DataAnalysis.Classification-3.3">
    248       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Classification-3.3.dll</HintPath>
    249     </Reference>
    250     <Reference Include="HeuristicLab.Problems.DataAnalysis.Classification.Views-3.3">
    251       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Classification.Views-3.3.dll</HintPath>
    252     </Reference>
    253     <Reference Include="HeuristicLab.Problems.DataAnalysis.Regression-3.3">
    254       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Regression-3.3.dll</HintPath>
    255     </Reference>
    256     <Reference Include="HeuristicLab.Problems.DataAnalysis.Views-3.3">
    257       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Views-3.3.dll</HintPath>
     250    <Reference Include="HeuristicLab.Problems.ArtificialAnt-3.4">
     251      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt-3.4.dll</HintPath>
     252    </Reference>
     253    <Reference Include="HeuristicLab.Problems.ArtificialAnt.Views-3.4">
     254      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ArtificialAnt.Views-3.4.dll</HintPath>
     255    </Reference>
     256    <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4">
     257      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath>
     258    </Reference>
     259    <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4">
     260      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll</HintPath>
     261    </Reference>
     262    <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic.Classification-3.4">
     263      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic.Classification-3.4.dll</HintPath>
     264    </Reference>
     265    <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic.Classification.Views-3.4">
     266      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic.Classification.Views-3.4.dll</HintPath>
     267    </Reference>
     268    <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4">
     269      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.dll</HintPath>
     270    </Reference>
     271    <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views-3.4">
     272      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic.Regression.Views-3.4.dll</HintPath>
     273    </Reference>
     274    <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4">
     275      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic.Views-3.4.dll</HintPath>
     276    </Reference>
     277    <Reference Include="HeuristicLab.Problems.DataAnalysis.Views-3.4">
     278      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Views-3.4.dll</HintPath>
    258279    </Reference>
    259280    <Reference Include="HeuristicLab.Problems.ExternalEvaluation-3.3">
    260281      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation-3.3.dll</HintPath>
    261282    </Reference>
    262     <Reference Include="HeuristicLab.Problems.ExternalEvaluation.GP-3.3">
    263       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.GP-3.3.dll</HintPath>
     283    <Reference Include="HeuristicLab.Problems.ExternalEvaluation.GP-3.4">
     284      <HintPath>..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.ExternalEvaluation.GP-3.4.dll</HintPath>
    264285    </Reference>
    265286    <Reference Include="HeuristicLab.Problems.ExternalEvaluation.GP.Views-3.3">
     
    274295    <Reference Include="HeuristicLab.Problems.Knapsack.Views-3.3">
    275296      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.Knapsack.Views-3.3.dll</HintPath>
    276     </Reference>
    277     <Reference Include="HeuristicLab.Problems.MetaOptimization-3.3">
    278       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.MetaOptimization-3.3.dll</HintPath>
    279     </Reference>
    280     <Reference Include="HeuristicLab.Problems.MetaOptimization.Views-3.3">
    281       <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.MetaOptimization.Views-3.3.dll</HintPath>
    282297    </Reference>
    283298    <Reference Include="HeuristicLab.Problems.OneMax-3.3">
     
    372387    <None Include="app.config" />
    373388  </ItemGroup>
     389  <ItemGroup>
     390    <ProjectReference Include="..\HeuristicLab.Problems.MetaOptimization.Views\3.3\HeuristicLab.Problems.MetaOptimization.Views-3.3.csproj">
     391      <Project>{59567338-A551-4386-8405-A8C0DF3E376D}</Project>
     392      <Name>HeuristicLab.Problems.MetaOptimization.Views-3.3</Name>
     393    </ProjectReference>
     394    <ProjectReference Include="..\HeuristicLab.Problems.MetaOptimization\3.3\HeuristicLab.Problems.MetaOptimization-3.3.csproj">
     395      <Project>{ABBC1DF6-FCC6-4F86-AB75-B6B3A72E7D17}</Project>
     396      <Name>HeuristicLab.Problems.MetaOptimization-3.3</Name>
     397    </ProjectReference>
     398  </ItemGroup>
    374399  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    375400  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/Program.cs

    r5665 r5927  
    1414using HeuristicLab.Core;
    1515using HeuristicLab.Data;
     16using HeuristicLab.Encodings.RealVectorEncoding;
    1617using HeuristicLab.Hive.ExperimentManager;
    1718using HeuristicLab.Optimization;
     
    1920using HeuristicLab.PluginInfrastructure;
    2021using HeuristicLab.PluginInfrastructure.Manager;
     22using HeuristicLab.Problems.DataAnalysis.Symbolic;
     23using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
    2124using HeuristicLab.Problems.MetaOptimization;
    2225using HeuristicLab.Problems.TestFunctions;
     
    4649    //private static int baseAlgorithmMaxGenerations = 1000;
    4750
    48     private static int metaAlgorithmPopulationSize = 5;
     51    private static int metaAlgorithmPopulationSize = 10;
    4952    private static int metaAlgorithmMaxGenerations = 15;
    50     private static int metaProblemRepetitions = 2;
    51     private static int baseAlgorithmMaxGenerations = 5;
     53    private static int metaProblemRepetitions = 3;
     54    private static int baseAlgorithmMaxGenerations = 10;
    5255    private static double mutationProbability = 0.10;
    5356
     
    7477      //TestNormalCrossover();
    7578      //TestItemDictionary();
    76      
     79
     80      //TestSymbolicDataAnalysisGrammar(); return;
     81
    7782      MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    7883      metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
     
    9095      //Console.WriteLine("Press enter to start");
    9196      //Console.ReadLine();
    92       TestConfiguration(algorithmVc, new GeneticAlgorithm() { Problem = new SingleObjectiveTestFunctionProblem() });
     97      TestConfiguration(algorithmVc, typeof(GeneticAlgorithm), metaOptimizationProblem.Problems.First());
    9398
    9499      Console.WriteLine("Press enter to start");
     
    99104
    100105      Console.ReadLine();
     106    }
     107
     108    private void TestSymbolicDataAnalysisGrammar() {
     109      var random = new MersenneTwister();
     110
     111      var grammar1 = new TypeCoherentExpressionGrammar();
     112      var grammar2 = new TypeCoherentExpressionGrammar();
     113
     114      grammar2.Symbols.Single(x => x.Name == "Addition").InitialFrequency = 0.5;
     115
     116      Console.WriteLine("========== Grammar1: ==========");
     117      PrintGrammar(grammar1);
     118      Console.WriteLine("========== Grammar2: ==========");
     119      PrintGrammar(grammar2);
     120
     121
     122      RealVector v1 = GetInitialFrequenciesAsRealVector(grammar1);
     123      RealVector v2 = GetInitialFrequenciesAsRealVector(grammar2);
     124
     125      for (int i = 0; i < 10; i++) {
     126        RealVector v3 = DiscreteCrossover.Apply(random, new ItemArray<RealVector>(new List<RealVector> { v1, v2 }));
     127
     128        var grammar3 = new TypeCoherentExpressionGrammar();
     129        SetInitialFrequenciesFromRealVector(grammar3, v3);
     130
     131        Console.WriteLine("\n========== Crossed: ==========");
     132        PrintGrammar(grammar3);
     133      }
     134
     135    }
     136
     137    private static void PrintGrammar(TypeCoherentExpressionGrammar grammar) {
     138      foreach (var symbol in grammar.Symbols) {
     139        Console.WriteLine("{0} ({1})", symbol.ToString(), symbol.InitialFrequency);
     140      }
     141    }
     142
     143    private static RealVector GetInitialFrequenciesAsRealVector(TypeCoherentExpressionGrammar grammar) {
     144      var vector = new RealVector(grammar.Symbols.Count());
     145      for (int i = 0; i < grammar.Symbols.Count(); i++) {
     146        vector[i] = grammar.Symbols.ElementAt(i).InitialFrequency;
     147      }
     148      return vector;
     149    }
     150
     151    private static void SetInitialFrequenciesFromRealVector(TypeCoherentExpressionGrammar grammar, RealVector vector) {
     152      for (int i = 0; i < grammar.Symbols.Count(); i++) {
     153        grammar.Symbols.ElementAt(i).InitialFrequency = vector[i];
     154      }
    101155    }
    102156
     
    384438      // because creating ThreadLocal<T> takes all the runtime.
    385439      // when the algs are not stored in a list however this effect does not occur.
    386      
     440
    387441
    388442      for (int i = 0; i < 1000; i++) {
     
    557611    private static void TestTypeDiscovery() {
    558612      PluginLoader.pluginAssemblies.Any();
    559      
     613
    560614      var items = ApplicationManager.Manager.GetInstances(typeof(DoubleArray)).ToArray();
    561615
     
    638692    private static ParameterConfigurationTree SetupGAAlgorithm(Type baseLevelAlgorithmType, MetaOptimizationProblem metaOptimizationProblem) {
    639693      metaOptimizationProblem.AlgorithmType.Value = baseLevelAlgorithmType;
    640       metaOptimizationProblem.ProblemType.Value = typeof(SingleObjectiveTestFunctionProblem);
    641       ParameterConfigurationTree algorithmVc = metaOptimizationProblem.ParameterConfigurationTree;
    642       ((IntValue)algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MaximumGenerations").ActualValue.Value).Value = baseAlgorithmMaxGenerations;
    643 
    644       metaOptimizationProblem.Problems.Clear();
    645       metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    646         Evaluator = new GriewankEvaluator(),
    647         ProblemSize = new IntValue(2)
    648       });
     694      //metaOptimizationProblem.Problems.Clear();
     695
     696      //metaOptimizationProblem.ProblemType.Value = typeof(SingleObjectiveTestFunctionProblem);
     697      //metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
     698      //  Evaluator = new GriewankEvaluator(),
     699      //  ProblemSize = new IntValue(2)
     700      //});
    649701      //metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    650702      //  Evaluator = new GriewankEvaluator(),
     
    656708      //});
    657709
    658       ConfigurePopulationSize(algorithmVc, 15, 20, 1);
     710      metaOptimizationProblem.ProblemType.Value = typeof(SymbolicRegressionSingleObjectiveProblem);
     711     
     712      ParameterConfigurationTree algorithmVc = metaOptimizationProblem.ParameterConfigurationTree;
     713      ((IntValue)algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MaximumGenerations").ActualValue.Value).Value = baseAlgorithmMaxGenerations;
     714
     715      //ConfigurePopulationSize(algorithmVc, 15, 20, 1);
    659716      ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
    660       //ConfigureMutationOperator(algorithmVc);
     717      ConfigureMutationOperator(algorithmVc);
    661718      //ConfigureElites(algorithmVc, 0, 8, 1);
    662719      //ConfigureSelectionOperator(algorithmVc, true);
     720
     721      ConfigureSymbolicExpressionGrammar(algorithmVc);
     722
    663723      return algorithmVc;
    664724    }
    665725
    666     private static void TestConfiguration(ParameterConfigurationTree algorithmVc, GeneticAlgorithm baseLevelAlgorithm) {
     726    private static void ConfigureSymbolicExpressionGrammar(ParameterConfigurationTree vc) {
     727      var pc = vc.ProblemConfiguration.ParameterConfigurations.Single(x => x.Name == "SymbolicExpressionTreeGrammar");
     728      pc.Optimize = true;
     729
     730      SymbolicExpressionGrammarValueConfiguration symbolicExpressionGrammarVc = null;
     731      foreach (var valconf in pc.ValueConfigurations) {
     732        if (valconf.ActualValue.Value.ItemName != "TypeCoherentExpressionGrammar") {
     733          pc.ValueConfigurations.SetItemCheckedState(valconf, false);
     734        } else {
     735          symbolicExpressionGrammarVc = valconf as SymbolicExpressionGrammarValueConfiguration;
     736        }
     737      }
     738      symbolicExpressionGrammarVc.Optimize = true;
     739
     740      var additionPc = symbolicExpressionGrammarVc.ParameterConfigurations.Single(x => x.Name == "Addition");
     741      additionPc.Optimize = true;
     742      var initialFrequencyVc = ((ParameterizedValueConfiguration)additionPc.ValueConfigurations.First()).ParameterConfigurations.Single(x => x.Name == "InitialFrequency");
     743      initialFrequencyVc.Optimize = true;
     744    }
     745
     746    private static void TestConfiguration(ParameterConfigurationTree algorithmVc, Type baseLevelAlgorithmType, IProblem problem) {
    667747      IRandom rand = new FastRandom(0);
     748      var baseLevelAlgorithm = (GeneticAlgorithm)MetaOptimizationUtil.CreateParameterizedAlgorithmInstance(algorithmVc, baseLevelAlgorithmType, problem);
     749
    668750      // set random values
    669751      for (int i = 0; i < 10; i++) {
     
    739821
    740822      // uncheck multiMutator to avoid Michalewicz issue
    741       var multiMutator = mutationOperator.ValueConfigurations.Where(x => x.ActualValue.Value != null && x.ActualValue.Value.ItemName.StartsWith("Multi")).SingleOrDefault();
    742       if (multiMutator != null) {
    743         mutationOperator.ValueConfigurations.SetItemCheckedState(multiMutator, false);
    744       }
     823      //var multiMutator = mutationOperator.ValueConfigurations.Where(x => x.ActualValue.Value != null && x.ActualValue.Value.ItemName.StartsWith("Multi")).SingleOrDefault();
     824      //if (multiMutator != null) {
     825      //  mutationOperator.ValueConfigurations.SetItemCheckedState(multiMutator, false);
     826      //}
    745827
    746828      // add another normal - don't do this with 'new', because ActualNames will not be set correctly. It should be copied from an existing one
     
    864946                var orderedRuns = rc.OrderBy(x => x.Results["AverageQualityNormalized"]);
    865947
    866                 TableBuilder tb = new TableBuilder("QNorm", "Qualities"/*, "PoSi"/* "MutRa", "Eli", "SelOp", "MutOp", "NrSelSubScopes"*/);
     948                TableBuilder tb = new TableBuilder("QNorm", "Qualities"/*, "PoSi"*/ ,"MutRa" /*,"Eli", "SelOp"*/, "MutOp"/*, "NrSelSubScopes"*/);
    867949                foreach (IRun run in orderedRuns) {
    868950                  //string selector;
     
    874956
    875957                  tb.AppendRow(
    876                     ((DoubleValue)run.Results["AverageQualityNormalized"]).Value.ToString("#0.0000"),
    877                     ((DoubleArray)run.Results["RunsAverageQualities"]).ToString()
    878                     //((IntValue)run.Parameters["PopulationSize"]).Value.ToString(),
    879                     //((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.0000"),
    880                     //((IntValue)run.Parameters["Elites"]).Value.ToString(),
    881                     //Shorten(selector, 20),
    882                     //Shorten(run.Parameters.ContainsKey("Mutator") ? run.Parameters["Mutator"].ToString() : "null", 40),
    883                     //((ISelector)run.Parameters["Selector"]).NumberOfSelectedSubScopesParameter.Value.ToString()
     958                    ((DoubleValue)run.Results["AverageQualityNormalized"]).Value.ToString("#0.0000")
     959                    ,((DoubleArray)run.Results["RunsAverageQualities"]).ToString()
     960                    //,((IntValue)run.Parameters["PopulationSize"]).Value.ToString()
     961                    ,((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.0000")
     962                    //,((IntValue)run.Parameters["Elites"]).Value.ToString()
     963                    //,Shorten(selector, 20)
     964                    ,Shorten(run.Parameters.ContainsKey("Mutator") ? run.Parameters["Mutator"].ToString() : "null", 40)
     965                    //,((ISelector)run.Parameters["Selector"]).NumberOfSelectedSubScopesParameter.Value.ToString()
    884966                    );
    885967                }
Note: See TracChangeset for help on using the changeset viewer.