Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/14/11 00:41:58 (13 years ago)
Author:
cneumuel
Message:

#1215

  • added NormalCrossover operators
  • renamed MedianQualityAnalyzer to ReferenceQualityAnalyzer
File:
1 edited

Legend:

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

    r5281 r5293  
    3333    private static int metaAlgorithmPopulationSize = 7;
    3434    private static int metaAlgorithmMaxGenerations = 20;
    35     private static int metaProblemRepetitions = 3;
     35    private static int metaProblemRepetitions = 6;
    3636    private static int baseAlgorithmMaxGenerations = 50;
    3737    private static double mutationProbability = 0.35;
     
    5656      //TestExecutionTimeUpdateInvervalPerformance();
    5757      //TestMemoryConsumption();
     58      //TestNormalCrossover();
    5859
    5960      GeneticAlgorithm baseLevelAlgorithm = new GeneticAlgorithm();
     
    8384
    8485      Console.ReadLine();
     86    }
     87
     88    private static void TestNormalCrossover() {
     89      var random = new MersenneTwister();
     90      double d1 = 0.5;
     91      double d2 = 0.6;
     92      var doubleRange = new DoubleValueRange(new DoubleValue(0.0), new DoubleValue(1.0), new DoubleValue(0.01));
     93
     94      using (var sw = new StreamWriter("normalCrossover-DoubleValue.txt")) {
     95        for (int i = 0; i < 10000; i++) {
     96          sw.WriteLine(NormalDoubleValueCrossover.ApplyStatic(random, new DoubleValue(d1), new DoubleValue(d2), doubleRange));
     97        }
     98      }
     99
     100      int i1 = 180;
     101      int i2 = 160;
     102      var intRange = new IntValueRange(new IntValue(100), new IntValue(200), new IntValue(1));
     103
     104      using (var sw = new StreamWriter("normalCrossover-IntValue.txt")) {
     105        for (int i = 0; i < 10000; i++) {
     106         sw.WriteLine(NormalIntValueCrossover.ApplyStatic(random, new IntValue(i1), new IntValue(i2), intRange));
     107        }
     108      }
    85109    }
    86110
     
    510534      ParameterConfigurationTree algorithmVc = metaOptimizationProblem.ParameterConfigurationTree;
    511535
    512       metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    513         Evaluator = new GriewankEvaluator(),
    514         ProblemSize = new IntValue(5)
    515       });
     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      //});
    516544      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    517545        Evaluator = new GriewankEvaluator(),
    518546        ProblemSize = new IntValue(50)
    519547      });
    520       metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    521         Evaluator = new GriewankEvaluator(),
    522         ProblemSize = new IntValue(500)
    523       });
    524548
    525549      ConfigurePopulationSize(algorithmVc, 12, 100, 1);
    526       ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
     550      ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.0001);
    527551      ConfigureMutationOperator(algorithmVc);
    528       //ConfigureElites(algorithmVc, 0, 10, 1);
     552      ConfigureElites(algorithmVc, 0, 10, 1);
    529553      //ConfigureSelectionOperator(algorithmVc, true);
    530554      return algorithmVc;
     
    738762
    739763                  tb.AppendRow(
    740                     ((DoubleValue)run.Results["AverageQualityNormalized"]).Value.ToString("#0.00"),
     764                    ((DoubleValue)run.Results["AverageQualityNormalized"]).Value.ToString("#0.0000"),
    741765                    ((DoubleArray)run.Results["RunsAverageQualities"]).ToString(),
    742766                    ((IntValue)run.Parameters["PopulationSize"]).Value.ToString(),
    743                     ((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.00"),
     767                    ((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.0000"),
    744768                    ((IntValue)run.Parameters["Elites"]).Value.ToString(),
    745769                    Shorten(selector, 20),
Note: See TracChangeset for help on using the changeset viewer.