Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/17/11 19:17:51 (13 years ago)
Author:
cneumuel
Message:

#1215

  • changed AlgorithType and ProblemType to actually be types not objects. this eliminates redundant views for MetaOptimizationProblem
  • import algorithm for MetaOptimizationProblem
  • nicer dialog for combination creation
  • fixed iconimage for ParameterConfigurations
  • fixed ValidValues
File:
1 edited

Legend:

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

    r5303 r5313  
    3333    private static int metaAlgorithmPopulationSize = 10;
    3434    private static int metaAlgorithmMaxGenerations = 10;
    35     private static int metaProblemRepetitions = 3;
     35    private static int metaProblemRepetitions = 10;
    3636    private static int baseAlgorithmMaxGenerations = 20;
    37     private static double mutationProbability = 0.00;
     37    private static double mutationProbability = 0.10;
    3838
    3939    static void Main(string[] args) {
     
    5959      //TestItemDictionary();
    6060
    61       GeneticAlgorithm baseLevelAlgorithm = new GeneticAlgorithm();
     61     
    6262
    6363      MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    6464      metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
    65       GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    66       //GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
     65      //GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
     66      GeneticAlgorithm metaLevelAlgorithm = GetParallelMetaGA(metaOptimizationProblem);
    6767      //GeneticAlgorithm metaLevelAlgorithm = GetHiveParallelMetaGA(metaOptimizationProblem);
    6868
    6969      //EvolutionStrategy metaLevelAlgorithm = GetMetaES(metaOptimizationProblem);
    7070
    71       IValueConfiguration algorithmVc = SetupGAAlgorithm(baseLevelAlgorithm, metaOptimizationProblem);
     71      IValueConfiguration algorithmVc = SetupGAAlgorithm(typeof(GeneticAlgorithm), metaOptimizationProblem);
    7272
    7373      //TestToString(algorithmVc);
     
    127127      ga.MaximumGenerations.Value = 1;
    128128      ga.Engine = new SequentialEngine.SequentialEngine();
     129      throw new NotImplementedException("TODO: set ga properties correctly");
    129130
    130131      MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    131132      metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
    132133      GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    133       ParameterConfigurationTree algorithmVc = SetupGAAlgorithm(ga, metaOptimizationProblem);
     134      ParameterConfigurationTree algorithmVc = SetupGAAlgorithm(typeof(GeneticAlgorithm), metaOptimizationProblem);
    134135      Stopwatch sw = new Stopwatch();
    135136
     
    292293      ga.MaximumGenerations.Value = 1;
    293294      ga.Engine = new SequentialEngine.SequentialEngine();
     295      throw new NotImplementedException("TODO: Set ga parameters correctly");
    294296
    295297      MetaOptimizationProblem metaOptimizationProblem = new MetaOptimizationProblem();
    296298      metaOptimizationProblem.Repetitions = new IntValue(metaProblemRepetitions);
    297299      GeneticAlgorithm metaLevelAlgorithm = GetMetaGA(metaOptimizationProblem);
    298       ParameterConfigurationTree algorithmVc = SetupGAAlgorithm(ga, metaOptimizationProblem);
     300      ParameterConfigurationTree algorithmVc = SetupGAAlgorithm(typeof(GeneticAlgorithm), metaOptimizationProblem);
    299301      Stopwatch sw = new Stopwatch();
    300302
     
    507509
    508510      metaLevelAlgorithm.MutationProbability.Value = mutationProbability;
     511      //metaLevelAlgorithm.Selector = ((OptionalConstrainedValueParameter<ISelector>)((IAlgorithm)metaLevelAlgorithm).Parameters["Selector"]).ValidValues.Where(x => x.GetType() == typeof(LinearRankSelector)).Single();
     512      //metaLevelAlgorithm.Selector = ((OptionalConstrainedValueParameter<ISelector>)((IAlgorithm)metaLevelAlgorithm).Parameters["Selector"]).ValidValues.Where(x => x.GetType() == typeof(TournamentSelector)).Single();
     513      //metaLevelAlgorithm.Selector = ((OptionalConstrainedValueParameter<ISelector>)((IAlgorithm)metaLevelAlgorithm).Parameters["Selector"]).ValidValues.Where(x => x.GetType() == typeof(GenderSpecificSelector)).Single();
     514      //metaLevelAlgorithm.Selector = ((OptionalConstrainedValueParameter<ISelector>)((IAlgorithm)metaLevelAlgorithm).Parameters["Selector"]).ValidValues.Where(x => x.GetType() == typeof(BestSelector)).Single();
     515      metaLevelAlgorithm.Selector = ((OptionalConstrainedValueParameter<ISelector>)((IAlgorithm)metaLevelAlgorithm).Parameters["Selector"]).ValidValues.Where(x => x.GetType() == typeof(ProportionalSelector)).Single();
    509516
    510517      return metaLevelAlgorithm;
     
    540547    }
    541548
    542     private static ParameterConfigurationTree SetupGAAlgorithm(GeneticAlgorithm baseLevelAlgorithm, MetaOptimizationProblem metaOptimizationProblem) {
    543       baseLevelAlgorithm.Problem = new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem();
    544       baseLevelAlgorithm.MaximumGenerations.Value = baseAlgorithmMaxGenerations;
    545 
    546       metaOptimizationProblem.Algorithm = baseLevelAlgorithm;
     549    private static ParameterConfigurationTree SetupGAAlgorithm(Type baseLevelAlgorithmType, MetaOptimizationProblem metaOptimizationProblem) {
     550      metaOptimizationProblem.AlgorithmType.Value = baseLevelAlgorithmType;
     551      metaOptimizationProblem.ProblemType.Value = typeof(SingleObjectiveTestFunctionProblem);
    547552      ParameterConfigurationTree algorithmVc = metaOptimizationProblem.ParameterConfigurationTree;
     553      ((IntValue)algorithmVc.ParameterConfigurations.Single(x => x.Name == "MaximumGenerations").ActualValue.Value).Value = baseAlgorithmMaxGenerations;
    548554
    549555      metaOptimizationProblem.Problems.Add(new HeuristicLab.Problems.TestFunctions.SingleObjectiveTestFunctionProblem() {
Note: See TracChangeset for help on using the changeset viewer.