Free cookie consent management tool by TermsFeed Policy Generator

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

#1215

  • manipulators for one and all parameters
  • SolutionCache to avoid multiple evaluations of equal solutions
  • RunsAnalyzer which stores all base level runs
  • ItemDictionaryView for runs
File:
1 edited

Legend:

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

    r5293 r5303  
    3131    //private static int baseAlgorithmMaxGenerations = 1000;
    3232
    33     private static int metaAlgorithmPopulationSize = 7;
    34     private static int metaAlgorithmMaxGenerations = 20;
    35     private static int metaProblemRepetitions = 6;
    36     private static int baseAlgorithmMaxGenerations = 50;
    37     private static double mutationProbability = 0.35;
     33    private static int metaAlgorithmPopulationSize = 10;
     34    private static int metaAlgorithmMaxGenerations = 10;
     35    private static int metaProblemRepetitions = 3;
     36    private static int baseAlgorithmMaxGenerations = 20;
     37    private static double mutationProbability = 0.00;
    3838
    3939    static void Main(string[] args) {
     
    5757      //TestMemoryConsumption();
    5858      //TestNormalCrossover();
     59      //TestItemDictionary();
    5960
    6061      GeneticAlgorithm baseLevelAlgorithm = new GeneticAlgorithm();
     
    6263      MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    6364      metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
    64       //GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    65       GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
     65      GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
     66      //GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
    6667      //GeneticAlgorithm metaLevelAlgorithm = GetHiveParallelMetaGA(metaOptimizationProblem);
    6768
     
    8485
    8586      Console.ReadLine();
     87    }
     88
     89    private static void TestItemDictionary() {
     90      var dict = new ItemDictionary<StringValue, RunCollection>();
     91      dict.Add(new StringValue("a"), new RunCollection());
     92      dict.Add(new StringValue("b"), new RunCollection());
     93      dict.Add(new StringValue("c"), new RunCollection());
     94
     95      Console.WriteLine(dict.ContainsKey(new StringValue("a")));
     96      Console.WriteLine(dict.Count(x => x.Key.Value == "a"));
     97
    8698    }
    8799
     
    491503      metaLevelAlgorithm.Engine = new SequentialEngine.SequentialEngine();
    492504
    493       metaLevelAlgorithm.Mutator = ((OptionalConstrainedValueParameter<IManipulator>)((IAlgorithm)metaLevelAlgorithm).Parameters["Mutator"]).ValidValues.Last();
     505      metaLevelAlgorithm.Mutator = ((OptionalConstrainedValueParameter<IManipulator>)((IAlgorithm)metaLevelAlgorithm).Parameters["Mutator"]).ValidValues.Where(x => x.GetType() == typeof(ParameterConfigurationOnePositionsManipulator)).Single();
     506      //metaLevelAlgorithm.Mutator = ((OptionalConstrainedValueParameter<IManipulator>)((IAlgorithm)metaLevelAlgorithm).Parameters["Mutator"]).ValidValues.Where(x => x.GetType() == typeof(ParameterConfigurationAllPositionsManipulator)).Single();
    494507
    495508      metaLevelAlgorithm.MutationProbability.Value = mutationProbability;
     
    534547      ParameterConfigurationTree algorithmVc = metaOptimizationProblem.ParameterConfigurationTree;
    535548
    536       //metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    537       //  Evaluator = new GriewankEvaluator(),
    538       //  ProblemSize = new IntValue(2)
    539       //});
    540       //metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    541       //  Evaluator = new GriewankEvaluator(),
    542       //  ProblemSize = new IntValue(20)
    543       //});
    544549      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    545550        Evaluator = new GriewankEvaluator(),
    546         ProblemSize = new IntValue(50)
     551        ProblemSize = new IntValue(2)
    547552      });
     553      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
     554        Evaluator = new GriewankEvaluator(),
     555        ProblemSize = new IntValue(20)
     556      });
     557      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
     558        Evaluator = new GriewankEvaluator(),
     559        ProblemSize = new IntValue(500)
     560      });
    548561
    549562      ConfigurePopulationSize(algorithmVc, 12, 100, 1);
    550       ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.0001);
     563      ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
    551564      ConfigureMutationOperator(algorithmVc);
    552565      ConfigureElites(algorithmVc, 0, 10, 1);
Note: See TracChangeset for help on using the changeset viewer.