Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/05/11 02:03:20 (13 years ago)
Author:
cneumuel
Message:

#1215

  • added normalization for quality values of individuals
File:
1 edited

Legend:

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

    r5207 r5212  
    2121using System.Diagnostics;
    2222using HeuristicLab.Encodings.RealVectorEncoding;
     23using HeuristicLab.Hive.ExperimentManager;
    2324
    2425namespace HeuristicLab.MetaOptimization.Test {
    2526  class Program {
    26     private static int metaAlgorithmPopulationSize = 50;
    27     private static int metaAlgorithmMaxGenerations = 30;
    28     private static int metaProblemRepetitions = 5;
    29     private static int baseAlgorithmMaxGenerations = 1000;
    30 
    31     //private static int metaAlgorithmPopulationSize = 10;
    32     //private static int metaAlgorithmMaxGenerations = 20;
    33     //private static int metaProblemRepetitions = 3;
    34     //private static int baseAlgorithmMaxGenerations = 10;
     27    //private static int metaAlgorithmPopulationSize = 50;
     28    //private static int metaAlgorithmMaxGenerations = 30;
     29    //private static int metaProblemRepetitions = 5;
     30    //private static int baseAlgorithmMaxGenerations = 1000;
     31
     32    private static int metaAlgorithmPopulationSize = 10;
     33    private static int metaAlgorithmMaxGenerations = 20;
     34    private static int metaProblemRepetitions = 3;
     35    private static int baseAlgorithmMaxGenerations = 10;
    3536
    3637    static void Main(string[] args) {
     
    5354      MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    5455      metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
    55       //GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    56       GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
     56      GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
     57      //GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
     58      //GeneticAlgorithm metaLevelAlgorithm = GetHiveParallelMetaGA(metaOptimizationProblem);
     59
    5760      //EvolutionStrategy metaLevelAlgorithm = GetMetaES(metaOptimizationProblem);
    5861
     
    304307    private static GeneticAlgorithm GetParallelMetaGA(MetaOptimizationProblem metaOptimizationProblem) {
    305308      GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    306 
    307       UniformSubScopesProcessor uniformSubScopesProcessor =
    308         (HeuristicLab.Operators.UniformSubScopesProcessor)
    309         ((HeuristicLab.Operators.AlgorithmOperator)metaLevelAlgorithm.OperatorGraph.Operators.ElementAt(2)).OperatorGraph.Operators.ElementAt(8);
    310       uniformSubScopesProcessor.Parallel.Value = true;
    311 
    312309      metaLevelAlgorithm.Engine = new ParallelEngine.ParallelEngine();
    313 
     310      return metaLevelAlgorithm;
     311    }
     312
     313    private static GeneticAlgorithm GetHiveParallelMetaGA(MetaOptimizationProblem metaOptimizationProblem) {
     314      GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
     315      metaLevelAlgorithm.Engine = new HiveEngine.HiveEngine();
     316      ServiceLocator.Instance.ClientFacadePool.UserName = "cneumuel";
     317      ServiceLocator.Instance.ClientFacadePool.Password = "cneumuel";
     318      ServiceLocator.Instance.StreamedClientFacadePool.UserName = "cneumuel";
     319      ServiceLocator.Instance.StreamedClientFacadePool.Password = "cneumuel";
    314320      return metaLevelAlgorithm;
    315321    }
     
    337343      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    338344        Evaluator = new GriewankEvaluator(),
     345        ProblemSize = new IntValue(5)
     346      });
     347      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
     348        Evaluator = new GriewankEvaluator(),
     349        ProblemSize = new IntValue(50)
     350      });
     351      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
     352        Evaluator = new GriewankEvaluator(),
    339353        ProblemSize = new IntValue(500)
    340354      });
    341       //metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
    342       //  Evaluator = new GriewankEvaluator(),
    343       //  ProblemSize = new IntValue(1000)
    344       //});
    345 
    346       ConfigurePopulationSize(algorithmVc, 0, 100, 1);
     355
     356      ConfigurePopulationSize(algorithmVc, 12, 100, 1);
    347357      ConfigureMutationRate(algorithmVc, 0.0, 1.0, 0.01);
    348       ConfigureMutationOperator(algorithmVc);
     358      //ConfigureMutationOperator(algorithmVc);
    349359      ConfigureElites(algorithmVc, 0, 10, 1);
    350       ConfigureSelectionOperator(algorithmVc, true);
     360      //ConfigureSelectionOperator(algorithmVc, true);
    351361      return algorithmVc;
    352362    }
     
    541551              if (result.Name == "Population") {
    542552                RunCollection rc = (RunCollection)result.Value;
    543                 var orderedRuns = rc.OrderBy(x => x.Results["RunsAverageQuality"]);
    544 
    545                 TableBuilder tb = new TableBuilder("AvgQual", "AvgET", "PoSi", "MutRa", "Eli", "SelOp", "MutOp", "NrSelSubScopes");
     553                var orderedRuns = rc.OrderBy(x => x.Results["AverageQualityNormalized"]);
     554
     555                TableBuilder tb = new TableBuilder("QNorm", "PoSi", "MutRa", "Eli", "SelOp", "MutOp", "NrSelSubScopes");
    546556                foreach (IRun run in orderedRuns) {
    547557                  string selector;
     
    553563
    554564                  tb.AppendRow(
    555                     ((DoubleValue)run.Results["RunsAverageQuality"]).Value.ToString("#0.00"),
    556                     run.Results["RunsAverageExecutionTime"].ToString(),
     565                    ((DoubleValue)run.Results["AverageQualityNormalized"]).Value.ToString("#0.00"),
    557566                    ((IntValue)run.Parameters["PopulationSize"]).Value.ToString(),
    558567                    ((DoubleValue)run.Parameters["MutationProbability"]).Value.ToString("0.00"),
     
    584593    private static void metaLevelAlgorithm_ExceptionOccurred(object sender, EventArgs<Exception> e) {
    585594      Console.WriteLine("metaLevelAlgorithm_ExceptionOccurred");
     595      Console.WriteLine(e.Value.ToString());
     596      if (e.Value.InnerException != null) {
     597        Console.WriteLine(e.Value.InnerException.ToString());
     598      }
    586599    }
    587600
Note: See TracChangeset for help on using the changeset viewer.