Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/10/11 19:26:58 (13 years ago)
Author:
cneumuel
Message:

#1215

  • implemented optimization of problem parameters
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.MetaOptimization.Test/Program.cs

    r5653 r5665  
    9090      //Console.WriteLine("Press enter to start");
    9191      //Console.ReadLine();
    92       //TestConfiguration(algorithmVc, new GeneticAlgorithm());
    93 
    94       //Console.WriteLine("Press enter to start");
    95       //Console.ReadLine();
     92      TestConfiguration(algorithmVc, new GeneticAlgorithm() { Problem = new SingleObjectiveTestFunctionProblem() });
     93
     94      Console.WriteLine("Press enter to start");
     95      Console.ReadLine();
    9696      TestOptimization(metaLevelAlgorithm);
    9797
     
    131131      Console.WriteLine("\nValueConfigurations:");
    132132      var vc1 = SetupGAAlgorithm(typeof(GeneticAlgorithm), new MetaOptimizationProblem());
    133       vc1.ParameterConfigurations.Single(x => x.Name == "Elites").Optimize = true;
    134       vc1.ParameterConfigurations.Single(x => x.Name == "PopulationSize").Optimize = true;
    135       vc1.ParameterConfigurations.Single(x => x.Name == "MutationProbability").Optimize = true;
    136       vc1.ParameterConfigurations.Single(x => x.Name == "Selector").Optimize = true;
     133      vc1.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "Elites").Optimize = true;
     134      vc1.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "PopulationSize").Optimize = true;
     135      vc1.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MutationProbability").Optimize = true;
     136      vc1.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "Selector").Optimize = true;
    137137
    138138      var vc2 = (ParameterConfigurationTree)vc1.Clone();
    139139      Console.WriteLine("Assert(1): {0}", vc1.CalculateSimilarity(vc2));
    140140
    141       ((IntValue)vc2.ParameterConfigurations.Single(x => x.Name == "PopulationSize").ValueConfigurations[0].ActualValue.Value).Value = 75;
     141      ((IntValue)vc2.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "PopulationSize").ValueConfigurations[0].ActualValue.Value).Value = 75;
    142142      Console.WriteLine("{0}", vc1.CalculateSimilarity(vc2));
    143143
    144       ((PercentValue)vc2.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.15;
     144      ((PercentValue)vc2.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.15;
    145145      Console.WriteLine("{0}", vc1.CalculateSimilarity(vc2));
    146146
    147       ((PercentValue)vc2.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.25;
     147      ((PercentValue)vc2.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.25;
    148148      Console.WriteLine("{0}", vc1.CalculateSimilarity(vc2));
    149       ((PercentValue)vc2.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.35;
     149      ((PercentValue)vc2.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.35;
    150150      Console.WriteLine("{0}", vc1.CalculateSimilarity(vc2));
    151       ((PercentValue)vc2.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.45;
     151      ((PercentValue)vc2.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.45;
    152152      Console.WriteLine("{0}", vc1.CalculateSimilarity(vc2));
    153       ((PercentValue)vc2.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.55;
     153      ((PercentValue)vc2.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MutationProbability").ValueConfigurations[0].ActualValue.Value).Value = 0.55;
    154154      Console.WriteLine("{0}", vc1.CalculateSimilarity(vc2));
    155155
    156       vc2.ParameterConfigurations.Single(x => x.Name == "Selector").ActualValueConfigurationIndex = 3;
     156      vc2.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "Selector").ActualValueConfigurationIndex = 3;
    157157      Console.WriteLine("{0}", vc1.CalculateSimilarity(vc2));
    158158
     
    491491      ga.Engine = new SequentialEngine.SequentialEngine();
    492492
    493       ParameterConfigurationTree vc = new ParameterConfigurationTree(ga);
     493      ParameterConfigurationTree vc = new ParameterConfigurationTree(ga, new SingleObjectiveTestFunctionProblem());
    494494
    495495      ConfigurePopulationSize(vc, 20, 100, 20);
     
    640640      metaOptimizationProblem.ProblemType.Value = typeof(SingleObjectiveTestFunctionProblem);
    641641      ParameterConfigurationTree algorithmVc = metaOptimizationProblem.ParameterConfigurationTree;
    642       ((IntValue)algorithmVc.ParameterConfigurations.Single(x => x.Name == "MaximumGenerations").ActualValue.Value).Value = baseAlgorithmMaxGenerations;
     642      ((IntValue)algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Single(x => x.Name == "MaximumGenerations").ActualValue.Value).Value = baseAlgorithmMaxGenerations;
    643643
    644644      metaOptimizationProblem.Problems.Clear();
     
    656656      //});
    657657
    658       //ConfigurePopulationSize(algorithmVc, 15, 20, 1);
    659       //ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
    660       ConfigureMutationOperator(algorithmVc);
     658      ConfigurePopulationSize(algorithmVc, 15, 20, 1);
     659      ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
     660      //ConfigureMutationOperator(algorithmVc);
    661661      //ConfigureElites(algorithmVc, 0, 8, 1);
    662662      //ConfigureSelectionOperator(algorithmVc, true);
     
    735735
    736736    private static void ConfigureMutationOperator(ParameterConfigurationTree algorithmVc) {
    737       var mutationOperator = algorithmVc.ParameterConfigurations.Where(x => x.Name == "Mutator").SingleOrDefault();
     737      var mutationOperator = algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Where(x => x.Name == "Mutator").SingleOrDefault();
    738738      mutationOperator.Optimize = true;
    739739
     
    749749
    750750    private static void ConfigureSelectionOperator(ParameterConfigurationTree algorithmVc, bool configureTournamenSize) {
    751       var selectionOperatorPc = algorithmVc.ParameterConfigurations.Where(x => x.Name == "Selector").SingleOrDefault();
     751      var selectionOperatorPc = algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Where(x => x.Name == "Selector").SingleOrDefault();
    752752      selectionOperatorPc.Optimize = true;
    753753
     
    777777    }
    778778
    779     private static void ConfigurePopulationSize(ParameterizedValueConfiguration algorithmVc, int lower, int upper, int stepsize) {
    780       var populationSizePc = algorithmVc.ParameterConfigurations.Where(x => x.Name == "PopulationSize").SingleOrDefault();
     779    private static void ConfigurePopulationSize(ParameterConfigurationTree algorithmVc, int lower, int upper, int stepsize) {
     780      var populationSizePc = algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Where(x => x.Name == "PopulationSize").SingleOrDefault();
    781781      populationSizePc.Optimize = true;
    782782      var populationSizeVc = (RangeValueConfiguration)populationSizePc.ValueConfigurations.First();
     
    787787    }
    788788
    789     private static void ConfigureMutationRate(ParameterizedValueConfiguration algorithmVc, double lower, double upper, double stepsize) {
    790       var mutationRatePc = algorithmVc.ParameterConfigurations.Where(x => x.Name == "MutationProbability").SingleOrDefault();
     789    private static void ConfigureMutationRate(ParameterConfigurationTree algorithmVc, double lower, double upper, double stepsize) {
     790      var mutationRatePc = algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Where(x => x.Name == "MutationProbability").SingleOrDefault();
    791791      mutationRatePc.Optimize = true;
    792792      var mutationRateVc = (RangeValueConfiguration)mutationRatePc.ValueConfigurations.First();
     
    797797    }
    798798
    799     private static void ConfigureElites(ParameterizedValueConfiguration algorithmVc, int from, int to, int stepSize) {
    800       var elitesPc = algorithmVc.ParameterConfigurations.Where(x => x.Name == "Elites").SingleOrDefault();
     799    private static void ConfigureElites(ParameterConfigurationTree algorithmVc, int from, int to, int stepSize) {
     800      var elitesPc = algorithmVc.AlgorithmConfiguration.ParameterConfigurations.Where(x => x.Name == "Elites").SingleOrDefault();
    801801      elitesPc.Optimize = true;
    802802      var elitesVc = (RangeValueConfiguration)elitesPc.ValueConfigurations.First();
Note: See TracChangeset for help on using the changeset viewer.