Changeset 6017


Ignore:
Timestamp:
04/17/11 11:03:48 (8 years ago)
Author:
cneumuel
Message:

#1215

  • fixed import of existing algorithm
  • moved operators in subfolders
  • extended tests for SymbolicExpressionGrammar
Location:
branches/HeuristicLab.MetaOptimization
Files:
17 added
13 deleted
9 edited

Legend:

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

    r5927 r6017  
    379379  </ItemGroup>
    380380  <ItemGroup>
    381     <Compile Include="PluginLoader.cs" />
    382381    <Compile Include="Program.cs" />
    383382    <Compile Include="Properties\AssemblyInfo.cs" />
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/Program.cs

    r5927 r6017  
    1515using HeuristicLab.Data;
    1616using HeuristicLab.Encodings.RealVectorEncoding;
    17 using HeuristicLab.Hive.ExperimentManager;
     17//using HeuristicLab.Hive.ExperimentManager;
    1818using HeuristicLab.Optimization;
    1919using HeuristicLab.Parameters;
     
    3030  class Program {
    3131    static void Main(string[] args) {
    32       //PluginLoader.pluginAssemblies.Any();
    3332      PluginManager pm = new PluginManager(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location));
    3433      pm.DiscoverAndCheckPlugins();
    35 
    3634      pm.Run(pm.Applications.Where(x => x.Name == "TestApp").SingleOrDefault());
    3735    }
     
    4947    //private static int baseAlgorithmMaxGenerations = 1000;
    5048
    51     private static int metaAlgorithmPopulationSize = 10;
    52     private static int metaAlgorithmMaxGenerations = 15;
     49    private static int metaAlgorithmPopulationSize = 20;
     50    private static int metaAlgorithmMaxGenerations = 20;
    5351    private static int metaProblemRepetitions = 3;
    54     private static int baseAlgorithmMaxGenerations = 10;
     52    private static int baseAlgorithmMaxGenerations = 100;
    5553    private static double mutationProbability = 0.10;
    5654
     
    8280      MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    8381      metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
    84       GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    85       //GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
     82      //GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
     83      GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
    8684      //GeneticAlgorithm metaLevelAlgorithm = GetHiveParallelMetaGA(metaOptimizationProblem);
    8785
     
    9593      //Console.WriteLine("Press enter to start");
    9694      //Console.ReadLine();
    97       TestConfiguration(algorithmVc, typeof(GeneticAlgorithm), metaOptimizationProblem.Problems.First());
    98 
    99       Console.WriteLine("Press enter to start");
    100       Console.ReadLine();
     95      //TestConfiguration(algorithmVc, typeof(GeneticAlgorithm), metaOptimizationProblem.Problems.First());
     96
     97      //Console.WriteLine("Press enter to start");
     98      //Console.ReadLine();
    10199      TestOptimization(metaLevelAlgorithm);
    102100
     
    111109      var grammar1 = new TypeCoherentExpressionGrammar();
    112110      var grammar2 = new TypeCoherentExpressionGrammar();
    113 
    114       grammar2.Symbols.Single(x => x.Name == "Addition").InitialFrequency = 0.5;
    115 
     111     
    116112      Console.WriteLine("========== Grammar1: ==========");
    117113      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       }
     114      //Console.WriteLine("========== Grammar2: ==========");
     115      //PrintGrammar(grammar2);
     116
     117      var vc1 = new SymbolicExpressionGrammarValueConfiguration(grammar1);
     118      ConfigureSymbolicExpressionGrammarVc(vc1);
     119      var vc2 = new SymbolicExpressionGrammarValueConfiguration(grammar2);
     120      ConfigureSymbolicExpressionGrammarVc(vc2);
     121
     122      vc1.Mutate(random, new MutateDelegate(ParameterConfigurationManipulator.Mutate), new UniformIntValueManipulator(), new UniformDoubleValueManipulator());
     123      vc1.Parameterize(grammar1);
     124
     125      Console.WriteLine("========== Grammar1 (mutated): ==========");
     126      PrintGrammar(grammar1);
     127
     128      vc1.Cross(random, vc2, new CrossDelegate(ParameterConfigurationCrossover.Cross), new DiscreteIntValueCrossover(), new AverageDoubleValueCrossover());
     129      vc1.Parameterize(grammar1);
     130
     131      Console.WriteLine("========== Grammar1 (crossed): ==========");
     132      PrintGrammar(grammar1);
     133
     134      //RealVector v1 = GetInitialFrequenciesAsRealVector(grammar1);
     135      //RealVector v2 = GetInitialFrequenciesAsRealVector(grammar2);
     136
     137      //for (int i = 0; i < 10; i++) {
     138      //  RealVector v3 = DiscreteCrossover.Apply(random, new ItemArray<RealVector>(new List<RealVector> { v1, v2 }));
     139
     140      //  var grammar3 = new TypeCoherentExpressionGrammar();
     141      //  SetInitialFrequenciesFromRealVector(grammar3, v3);
     142
     143      //  Console.WriteLine("\n========== Crossed: ==========");
     144      //  PrintGrammar(grammar3);
     145      //}
    134146
    135147    }
     
    421433
    422434      GeneticAlgorithm ga = new GeneticAlgorithm();
    423       ga.PopulationSize.Value = 3;
    424       ga.MaximumGenerations.Value = 1;
     435      ga.PopulationSize.Value = 5;
     436      ga.MaximumGenerations.Value = 5;
    425437      ga.Engine = new SequentialEngine.SequentialEngine();
    426438      ga.Problem = new SingleObjectiveTestFunctionProblem();
    427439
    428       MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    429       //metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
    430       GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    431       ParameterConfigurationTree algorithmVc = SetupGAAlgorithm(typeof(GeneticAlgorithm), metaOptimizationProblem);
    432       algorithmVc.Randomize(random);
     440      //MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
     441      ////metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
     442      //GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
     443      //ParameterConfigurationTree algorithmVc = SetupGAAlgorithm(typeof(GeneticAlgorithm), metaOptimizationProblem);
     444      //algorithmVc.Randomize(random);
    433445      Stopwatch sw = new Stopwatch();
    434446
     
    449461        algs.Enqueue(clonedGa);
    450462
    451         if (algs.Count > 24)
    452           algs.Dequeue();
     463        //if (algs.Count > 24)
     464        //  algs.Dequeue();
    453465        clonedGa.StartSync();
    454466        sw.Stop();
     
    610622
    611623    private static void TestTypeDiscovery() {
    612       PluginLoader.pluginAssemblies.Any();
    613 
    614624      var items = ApplicationManager.Manager.GetInstances(typeof(DoubleArray)).ToArray();
    615625
     
    667677    }
    668678
    669     private static GeneticAlgorithm GetHiveParallelMetaGA(MetaOptimizationProblem metaOptimizationProblem) {
    670       GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
    671       metaLevelAlgorithm.Engine = new HiveEngine.HiveEngine();
    672       ServiceLocator.Instance.ClientFacadePool.UserName = "cneumuel";
    673       ServiceLocator.Instance.ClientFacadePool.Password = "cneumuel";
    674       ServiceLocator.Instance.StreamedClientFacadePool.UserName = "cneumuel";
    675       ServiceLocator.Instance.StreamedClientFacadePool.Password = "cneumuel";
    676       return metaLevelAlgorithm;
    677     }
     679    //private static GeneticAlgorithm GetHiveParallelMetaGA(MetaOptimizationProblem metaOptimizationProblem) {
     680    //  GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
     681    //  metaLevelAlgorithm.Engine = new HiveEngine.HiveEngine();
     682    //  ServiceLocator.Instance.ClientFacadePool.UserName = "cneumuel";
     683    //  ServiceLocator.Instance.ClientFacadePool.Password = "cneumuel";
     684    //  ServiceLocator.Instance.StreamedClientFacadePool.UserName = "cneumuel";
     685    //  ServiceLocator.Instance.StreamedClientFacadePool.Password = "cneumuel";
     686    //  return metaLevelAlgorithm;
     687    //}
    678688
    679689    private static EvolutionStrategy GetMetaES(MetaOptimizationProblem metaOptimizationProblem) {
     
    714724
    715725      //ConfigurePopulationSize(algorithmVc, 15, 20, 1);
    716       ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
    717       ConfigureMutationOperator(algorithmVc);
     726      //ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
     727      //ConfigureMutationOperator(algorithmVc);
    718728      //ConfigureElites(algorithmVc, 0, 8, 1);
    719729      //ConfigureSelectionOperator(algorithmVc, true);
     
    736746        }
    737747      }
     748
     749      ConfigureSymbolicExpressionGrammarVc(symbolicExpressionGrammarVc);
     750    }
     751
     752    private static void ConfigureSymbolicExpressionGrammarVc(SymbolicExpressionGrammarValueConfiguration symbolicExpressionGrammarVc) {
    738753      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;
     754      foreach (var pc in symbolicExpressionGrammarVc.ParameterConfigurations) {
     755        if (pc.Name != "Constant"
     756          && pc.Name != "Variable"
     757          && pc.Name != "ProgramRootSymbol"
     758          && pc.Name != "StartSymbol") {
     759          pc.Optimize = true;
     760          var initialFrequencyVc = ((ParameterizedValueConfiguration)pc.ValueConfigurations.First()).ParameterConfigurations.Single(x => x.Name == "InitialFrequency");
     761          initialFrequencyVc.Optimize = true;
     762        }
     763      }
     764      //var additionPc = symbolicExpressionGrammarVc.ParameterConfigurations.Single(x => x.Name == "Addition");
     765      //additionPc.Optimize = true;
    744766    }
    745767
     
    896918      string resultPath = Path.Combine(path, string.Format("{0} - Result.hl", id));
    897919      string outputPath = Path.Combine(path, string.Format("{0} - Console.txt", id));
     920
     921      ContentManager.Save((IStorableContent)metaLevelAlgorithm, resultPath+"-before.hl", true);
    898922
    899923      using (var sw = new StreamWriter(outputPath)) {
     
    946970                var orderedRuns = rc.OrderBy(x => x.Results["AverageQualityNormalized"]);
    947971
    948                 TableBuilder tb = new TableBuilder("QNorm", "Qualities"/*, "PoSi"*/ ,"MutRa" /*,"Eli", "SelOp"*/, "MutOp"/*, "NrSelSubScopes"*/);
     972                TableBuilder tb = new TableBuilder("QNorm", "Qualities"/*, "PoSi"*/ /*,"MutRa"*/ /*,"Eli", "SelOp",*/ /*"MutOp"*//*, "NrSelSubScopes"*/);
    949973                foreach (IRun run in orderedRuns) {
    950974                  //string selector;
     
    959983                    ,((DoubleArray)run.Results["RunsAverageQualities"]).ToString()
    960984                    //,((IntValue)run.Parameters["PopulationSize"]).Value.ToString()
    961                     ,((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.0000")
     985                    //,((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.0000")
    962986                    //,((IntValue)run.Parameters["Elites"]).Value.ToString()
    963987                    //,Shorten(selector, 20)
    964                     ,Shorten(run.Parameters.ContainsKey("Mutator") ? run.Parameters["Mutator"].ToString() : "null", 40)
     988                    //,Shorten(run.Parameters.ContainsKey("Mutator") ? run.Parameters["Mutator"].ToString() : "null", 40)
    965989                    //,((ISelector)run.Parameters["Selector"]).NumberOfSelectedSubScopesParameter.Value.ToString()
    966990                    );
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization.Views/3.3/MetaOptimizationProblemView.cs

    r5654 r6017  
    22using System.Linq;
    33using System.Windows.Forms;
     4using HeuristicLab.Common;
    45using HeuristicLab.Core;
    56using HeuristicLab.MainForm;
     
    8990    private void parameterCollectionView_DragEnterOver(object sender, System.Windows.Forms.DragEventArgs e) {
    9091      e.Effect = DragDropEffects.None;
    91       Type type = e.Data.GetData("Type") as Type;
    92       if ((type != null) && (Content.AlgorithmType.ValidTypes.Contains(type))) {
    93         IAlgorithm algorithm = e.Data.GetData("Value") as IAlgorithm;
     92      var type = e.Data.GetData(Constants.DragDropDataFormat).GetType();
     93      if (!ReadOnly && (Content.AlgorithmType.ValidTypes.Contains(type))) {
     94        IAlgorithm algorithm = e.Data.GetData(Constants.DragDropDataFormat) as IAlgorithm;
    9495        if (algorithm != null && algorithm.Problem == null || Content.ProblemType.ValidTypes.Contains(algorithm.Problem.GetType())) {
    9596          e.Effect = DragDropEffects.Copy;
     
    99100    private void parameterCollectionView_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) {
    100101      if (e.Effect != DragDropEffects.None) {
    101         IAlgorithm algorithm = e.Data.GetData("Value") as IAlgorithm;
     102        IAlgorithm algorithm = e.Data.GetData(Constants.DragDropDataFormat) as IAlgorithm;
    102103        Content.ImportAlgorithm(algorithm);
    103104      }
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encoding/Crossovers/ParameterConfigurationCrossover.cs

    r5653 r6017  
    1 using HeuristicLab.Common;
     1using System;
     2using HeuristicLab.Common;
    23using HeuristicLab.Core;
    34using HeuristicLab.Data;
    45using HeuristicLab.Encodings.IntegerVectorEncoding;
    5 using HeuristicLab.Encodings.RealVectorEncoding;
    66using HeuristicLab.Operators;
    7 using HeuristicLab.Optimization;
    87using HeuristicLab.Parameters;
    98using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    10 using System;
    119
    1210namespace HeuristicLab.Problems.MetaOptimization {
     
    9694    }
    9795
    98     private static void Cross(IRandom random, IOptimizable configuartion, IOptimizable other, IIntValueCrossover intValueCrossover, IDoubleValueCrossover doubleValueCrossover) {
    99       var vc = configuartion as RangeValueConfiguration;
    100       var pc = configuartion as IParameterConfiguration;
     96    public static void Cross(IRandom random, IOptimizable configuration, IOptimizable other, IIntValueCrossover intValueCrossover, IDoubleValueCrossover doubleValueCrossover) {
     97      var vc = configuration as RangeValueConfiguration;
     98      var pc = configuration as IParameterConfiguration;
    10199      if (vc != null) {
    102100        var value = vc.ActualValue.Value;
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encoding/Manipulators/ParameterConfigurationManipulator.cs

    r5653 r6017  
    5151    }
    5252
    53     protected static void Mutate(IRandom random, IOptimizable configuration, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator) {
     53    public static void Mutate(IRandom random, IOptimizable configuration, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator) {
    5454      var vc = configuration as RangeValueConfiguration;
    5555      var pc = configuration as IParameterConfiguration;
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Encoding/ParameterConfigurations/ParameterConfiguration.cs

    r5927 r6017  
    138138    protected IItemSet<IItem> validValues;
    139139
     140    [Storable]
     141    private bool autoPopulateValueConfigurations = true;
     142    public bool AutoPopulateValueConfigurations {
     143      get { return autoPopulateValueConfigurations; }
     144      set { autoPopulateValueConfigurations = value; }
     145    }
     146   
     147
    140148    #region Constructors and Cloning
    141149    public ParameterConfiguration(string parameterName, IValueParameter valueParameter, bool discoverValidValues) {
     150      this.AutoPopulateValueConfigurations = true;
    142151      this.ParameterName = parameterName;
    143152      this.parameterDataType = valueParameter.GetType();
     
    162171    }
    163172    public ParameterConfiguration(string parameterName, Type type, IItem actualValue, IEnumerable<IValueConfiguration> valueConfigurations) {
     173      this.AutoPopulateValueConfigurations = false;
    164174      this.ParameterName = parameterName;
    165175      this.parameterDataType = type;
     
    174184    }
    175185    public ParameterConfiguration(string parameterName, Type type, IItem actualValue) {
     186      this.AutoPopulateValueConfigurations = true;
    176187      this.ParameterName = parameterName;
    177188      this.parameterDataType = type;
     
    206217      this.discoverValidValues = original.discoverValidValues;
    207218      if (this.valueConfigurations != null) RegisterValueConfigurationEvents();
     219      this.AutoPopulateValueConfigurations = original.AutoPopulateValueConfigurations;
    208220    }
    209221
     
    238250
    239251    protected virtual void PopulateValueConfigurations() {
     252      if (!this.AutoPopulateValueConfigurations)
     253        return;
     254
    240255      foreach (Type t in this.validTypes) {
    241256        if (t == typeof(NullValue)) {
     
    266281
    267282    protected virtual void ClearValueConfigurations() {
     283      if (!this.AutoPopulateValueConfigurations)
     284        return;
     285
    268286      this.ValueConfigurations.Clear();
    269287    }
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Evaluators/AlgorithmEvaluator.cs

    r5655 r6017  
    11using System;
    22using System.Diagnostics;
     3using System.Linq;
    34using HeuristicLab.Common;
    45using HeuristicLab.Core;
    56using HeuristicLab.Data;
     7using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding;
    68using HeuristicLab.Operators;
    79using HeuristicLab.Optimization;
    810using HeuristicLab.Parameters;
    911using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
     12using HeuristicLab.Problems.DataAnalysis.Symbolic.Regression;
    1013
    1114namespace HeuristicLab.Problems.MetaOptimization {
     
    5457      IAlgorithm algorithm = AlgorithmParameter.ActualValue;
    5558
     59      #region Debug Code for SymbolicRegressionGrammar
     60      var srp = (SymbolicRegressionSingleObjectiveProblem)algorithm.Problem;
     61      //Console.WriteLine("Evaluating Grammar: " + PrintGrammar(srp.SymbolicExpressionTreeGrammar));
     62      #endregion
     63
    5664      var sw = new Stopwatch();
    5765      sw.Start();
    5866      algorithm.StartSync();
    5967      sw.Stop();
    60       Console.WriteLine("{0},{1}: {2}", ProblemIndexParameter.ActualValue.Value, RepetitionIndexParameter.ActualValue.Value, sw.Elapsed);
     68      Console.WriteLine("{0},{1}: {2} (Grammar: {3})", ProblemIndexParameter.ActualValue.Value, RepetitionIndexParameter.ActualValue.Value, sw.Elapsed, PrintGrammar(srp.SymbolicExpressionTreeGrammar));
    6169
    6270      RunsParameter.Value = new ItemList<IRun>(algorithm.Runs);
     
    7280      parameterConfiguration.Randomize(random);
    7381    }
     82
     83    // for debug purposes, remove later
     84    private static string PrintGrammar(ISymbolicExpressionGrammar grammar) {
     85      return string.Join(string.Empty, grammar.Symbols.Select(x => x.InitialFrequency).ToArray());
     86      //foreach (var symbol in grammar.Symbols) {
     87      //  Console.WriteLine("{0} ({1})", symbol.ToString(), symbol.InitialFrequency);
     88      //}
     89    }
    7490  }
    7591}
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/HeuristicLab.Problems.MetaOptimization-3.3.csproj

    r5927 r6017  
    126126      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll</HintPath>
    127127    </Reference>
     128    <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4">
     129      <HintPath>..\..\..\..\..\..\..\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.DataAnalysis.Symbolic.Regression-3.4.dll</HintPath>
     130    </Reference>
    128131    <Reference Include="HeuristicLab.Problems.TestFunctions-3.3">
    129132      <HintPath>C:\Program Files\HeuristicLab 3.3\HeuristicLab.Problems.TestFunctions-3.3.dll</HintPath>
     
    154157    <Compile Include="Encoding\AlgorithmProblemItem.cs" />
    155158    <Compile Include="Encoding\ParameterConfigurations\SingleValuedParameterConfiguration.cs" />
    156     <Compile Include="Encoding\SymbolicRegression\SymbolValueConfiguration.cs" />
    157     <Compile Include="Encoding\SymbolicRegression\SymbolicExpressionGrammarValueConfiguration.cs" />
     159    <Compile Include="Encoding\SymbolicExpressionGrammar\SymbolValueConfiguration.cs" />
     160    <Compile Include="Encoding\SymbolicExpressionGrammar\SymbolicExpressionGrammarValueConfiguration.cs" />
    158161    <Compile Include="Encoding\ValueConfigurations\RangeValueConfiguration.cs" />
    159162    <Compile Include="Encoding\ValueConfigurations\ParameterizedValueConfiguration.cs" />
     
    163166    <Compile Include="Evaluators\PMOEvaluator.cs" />
    164167    <Compile Include="MetaOptimizationUtil.cs" />
    165     <Compile Include="Operators\Crossovers\MultiIntValueCrossover.cs" />
     168    <Compile Include="Operators\Crossovers\IntValue\MultiIntValueCrossover.cs" />
    166169    <Compile Include="TypeValue.cs" />
    167170    <None Include="Properties\AssemblyInfo.cs.frame" />
     
    189192    <Compile Include="Interfaces\IParameterConfigurationCrossover.cs" />
    190193    <Compile Include="Interfaces\ICheckedValueConfigurationCollection.cs" />
    191     <Compile Include="Operators\Crossovers\AverageDoubleValueCrossover.cs" />
    192     <Compile Include="Operators\Crossovers\AverageIntValueCrossover.cs" />
    193     <Compile Include="Operators\Crossovers\NormalIntValueCrossover.cs" />
    194     <Compile Include="Operators\Crossovers\NormalDoubleValueCrossover.cs" />
    195     <Compile Include="Operators\Crossovers\DiscreteDoubleValueCrossover.cs" />
    196     <Compile Include="Operators\Crossovers\DiscreteIntValueCrossover.cs" />
     194    <Compile Include="Operators\Crossovers\DoubleValue\AverageDoubleValueCrossover.cs" />
     195    <Compile Include="Operators\Crossovers\IntValue\AverageIntValueCrossover.cs" />
     196    <Compile Include="Operators\Crossovers\IntValue\NormalIntValueCrossover.cs" />
     197    <Compile Include="Operators\Crossovers\DoubleValue\NormalDoubleValueCrossover.cs" />
     198    <Compile Include="Operators\Crossovers\DoubleValue\DiscreteDoubleValueCrossover.cs" />
     199    <Compile Include="Operators\Crossovers\IntValue\DiscreteIntValueCrossover.cs" />
    197200    <Compile Include="Operators\Interfaces\IDoubleValueCrossover.cs" />
    198201    <Compile Include="Operators\Interfaces\IDoubleValueManipulator.cs" />
     
    213216    <Compile Include="Operators\Interfaces\IIntValueCrossover.cs" />
    214217    <Compile Include="Operators\Interfaces\IValueManipulator.cs" />
    215     <Compile Include="Operators\Manipulators\NormalIntValueManipulator.cs" />
    216     <Compile Include="Operators\Manipulators\UniformIntValueManipulator.cs" />
    217     <Compile Include="Operators\Manipulators\UniformDoubleValueManipulator.cs" />
    218     <Compile Include="Operators\Manipulators\NormalDoubleValueManipulator.cs" />
     218    <Compile Include="Operators\Manipulators\IntValue\NormalIntValueManipulator.cs" />
     219    <Compile Include="Operators\Manipulators\IntValue\UniformIntValueManipulator.cs" />
     220    <Compile Include="Operators\Manipulators\DoubleValue\UniformDoubleValueManipulator.cs" />
     221    <Compile Include="Operators\Manipulators\DoubleValue\NormalDoubleValueManipulator.cs" />
    219222    <Compile Include="Properties\AssemblyInfo.cs" />
    220223    <Compile Include="MetaOptimizationProblem.cs" />
     
    225228    <None Include="UpdateLocalInstallation.cmd" />
    226229  </ItemGroup>
    227   <ItemGroup />
     230  <ItemGroup>
     231    <Folder Include="Operators\Crossovers\SymbolicExpressionGrammar\" />
     232  </ItemGroup>
    228233  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
    229234  <PropertyGroup>
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/MetaOptimizationProblem.cs

    r5927 r6017  
    309309      }
    310310      ParameterConfigurationTreeParameter.ActualValue = new ParameterConfigurationTree(algorithm, Problems.First());
    311      
    312311    }
    313312  }
Note: See TracChangeset for help on using the changeset viewer.