Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
05/06/10 14:39:42 (14 years ago)
Author:
abeham
Message:

#999

  • updated OSGA
Location:
trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithm.cs

    r3658 r3672  
    189189    }
    190190    private List<IDiscreteDoubleValueModifier> comparisonFactorModifiers;
     191    private BestAverageWorstQualityAnalyzer qualityAnalyzer;
     192    private ValueAnalyzer selectionPressureAnalyzer;
    191193    #endregion
    192194
     
    346348    }
    347349    private void InitializeAnalyzers() {
    348       //qualityAnalyzer = new PopulationBestAverageWorstQualityAnalyzer();
     350      qualityAnalyzer = new BestAverageWorstQualityAnalyzer();
     351      selectionPressureAnalyzer = new ValueAnalyzer();
    349352      ParameterizeAnalyzers();
    350353    }
     
    369372    }
    370373    private void ParameterizeAnalyzers() {
    371       //qualityAnalyzer.ResultsParameter.ActualName = "Results";
     374      qualityAnalyzer.ResultsParameter.ActualName = "Results";
     375      selectionPressureAnalyzer.Name = "SelectionPressure Analyzer";
     376      selectionPressureAnalyzer.ResultsParameter.ActualName = "Results";
     377      selectionPressureAnalyzer.ValueParameter.ActualName = "SelectionPressure";
     378      selectionPressureAnalyzer.ValueParameter.Depth = 0;
     379      selectionPressureAnalyzer.ValuesParameter.ActualName = "Selection Pressure History";
    372380      if (Problem != null) {
    373         //qualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
    374         //qualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    375         //qualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
     381        qualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
     382        qualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
     383        qualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
    376384      }
    377385    }
     
    434442    private void UpdateAnalyzers() {
    435443      Analyzer.Operators.Clear();
    436       //Analyzer.Operators.Add(qualityAnalyzer);
     444      Analyzer.Operators.Add(qualityAnalyzer);
     445      Analyzer.Operators.Add(selectionPressureAnalyzer);
    437446      if (Problem != null) {
    438         foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name))
     447        foreach (IAnalyzer analyzer in Problem.Operators.OfType<IAnalyzer>().OrderBy(x => x.Name)) {
     448          foreach (IScopeTreeLookupParameter param in analyzer.Parameters.OfType<IScopeTreeLookupParameter>())
     449            param.Depth = 1;
    439450          Analyzer.Operators.Add(analyzer);
     451        }
    440452      }
    441453    }
  • trunk/sources/HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm/3.3/OffspringSelectionGeneticAlgorithmMainLoop.cs

    r3659 r3672  
    128128      Placeholder analyzer1 = new Placeholder();
    129129      ResultsCollector resultsCollector1 = new ResultsCollector();
     130      ResultsCollector resultsCollector2 = new ResultsCollector();
    130131      OffspringSelectionGeneticAlgorithmMainOperator mainOperator = new OffspringSelectionGeneticAlgorithmMainOperator();
    131132      IntCounter generationsCounter = new IntCounter();
     
    133134      Comparator maxSelectionPressureComparator = new Comparator();
    134135      Placeholder analyzer2 = new Placeholder();
    135       ResultsCollector resultsCollector2 = new ResultsCollector();
     136      ResultsCollector resultsCollector3 = new ResultsCollector();
    136137      ConditionalBranch conditionalBranch1 = new ConditionalBranch();
    137138      ConditionalBranch conditionalBranch2 = new ConditionalBranch();
     
    148149      analyzer1.OperatorParameter.ActualName = AnalyzerParameter.Name;
    149150
     151      resultsCollector1.CopyValue = new BoolValue(false);
    150152      resultsCollector1.CollectedValues.Add(new LookupParameter<IntValue>("Generations"));
    151153      resultsCollector1.CollectedValues.Add(new LookupParameter<IntValue>("Evaluated Solutions", null, "EvaluatedSolutions"));
     
    154156      resultsCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Success Ratio", null, "CurrentSuccessRatio"));
    155157      resultsCollector1.ResultsParameter.ActualName = ResultsParameter.Name;
     158
     159      resultsCollector2.CopyValue = new BoolValue(true);
     160      resultsCollector2.CollectedValues.Add(new LookupParameter<IntValue>("Evaluated Solutions", null, "EvaluatedSolutions"));
     161      resultsCollector2.ResultsParameter.ActualName = ResultsParameter.Name;
    156162
    157163      mainOperator.ComparisonFactorParameter.ActualName = "ComparisonFactor";
     
    188194      analyzer2.OperatorParameter.ActualName = AnalyzerParameter.Name;
    189195
    190       resultsCollector2.CollectedValues.Add(new LookupParameter<IntValue>("Generations"));
    191       resultsCollector2.CollectedValues.Add(new LookupParameter<IntValue>("Evaluated Solutions", null, "EvaluatedSolutions"));
    192       resultsCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Curent Comparison Factor", null, "ComparisonFactor"));
    193       resultsCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Selection Pressure", null, "SelectionPressure"));
    194       resultsCollector2.CollectedValues.Add(new LookupParameter<DoubleValue>("Current Success Ratio", null, "CurrentSuccessRatio"));
    195       resultsCollector2.ResultsParameter.ActualName = ResultsParameter.Name;
     196      resultsCollector3.CopyValue = new BoolValue(true);
     197      resultsCollector3.CollectedValues.Add(new LookupParameter<IntValue>("Evaluated Solutions", null, "EvaluatedSolutions"));
     198      resultsCollector3.ResultsParameter.ActualName = ResultsParameter.Name;
    196199
    197200      conditionalBranch1.Name = "MaximumSelectionPressure reached?";
     
    207210      comparisonFactorModifier.Successor = analyzer1;
    208211      analyzer1.Successor = resultsCollector1;
    209       resultsCollector1.Successor = mainOperator;
     212      resultsCollector1.Successor = resultsCollector2;
     213      resultsCollector2.Successor = mainOperator;
    210214      mainOperator.Successor = generationsCounter;
    211215      generationsCounter.Successor = maxGenerationsComparator;
    212216      maxGenerationsComparator.Successor = maxSelectionPressureComparator;
    213217      maxSelectionPressureComparator.Successor = analyzer2;
    214       analyzer2.Successor = resultsCollector2;
    215       resultsCollector2.Successor = conditionalBranch1;
     218      analyzer2.Successor = resultsCollector3;
     219      resultsCollector3.Successor = conditionalBranch1;
    216220      conditionalBranch1.FalseBranch = conditionalBranch2;
    217221      conditionalBranch1.TrueBranch = null;
Note: See TracChangeset for help on using the changeset viewer.