Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/17/12 00:58:19 (12 years ago)
Author:
abeham
Message:

#1828:

  • Added a SingleValueAnalyzer to HeuristicLab.Analysis
    • The ValueAnalyzer was not usable without changing the operator graph, it has a ScopeTreeLookupParameter and is only suitable to analyze values of children
    • I think we need an analyzer like this anyway so I implemented it and named it SingleValueAnalyzer
  • Added that to SA and parameterized accordingly
File:
1 edited

Legend:

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

    r7259 r8016  
    5151      get { return (LookupParameter<DoubleValue>)Parameters["MoveQuality"]; }
    5252    }
     53    public ILookupParameter<DoubleValue> TemperatureParameter {
     54      get { return (ILookupParameter<DoubleValue>)Parameters["Temperature"]; }
     55    }
    5356    public ValueLookupParameter<DoubleValue> StartTemperatureParameter {
    5457      get { return (ValueLookupParameter<DoubleValue>)Parameters["StartTemperature"]; }
     
    109112      Parameters.Add(new ValueLookupParameter<DoubleValue>("BestKnownQuality", "The best known quality value found so far."));
    110113      Parameters.Add(new LookupParameter<DoubleValue>("MoveQuality", "The value which represents the quality of a move."));
     114      Parameters.Add(new LookupParameter<DoubleValue>("Temperature", "The current temperature."));
    111115      Parameters.Add(new ValueLookupParameter<DoubleValue>("StartTemperature", "The initial temperature."));
    112116      Parameters.Add(new ValueLookupParameter<DoubleValue>("EndTemperature", "The end temperature."));
     
    126130
    127131      #region Create operators
    128       VariableCreator variableCreator = new VariableCreator();
     132      Assigner temperatureInitializer = new Assigner();
    129133      ResultsCollector resultsCollector1 = new ResultsCollector();
    130134      SubScopesProcessor subScopesProcessor0 = new SubScopesProcessor();
     
    148152      ConditionalBranch iterationsTermination = new ConditionalBranch();
    149153
    150       variableCreator.CollectedValues.Add(new ValueParameter<DoubleValue>("Temperature", new DoubleValue(double.MaxValue)));
     154      temperatureInitializer.LeftSideParameter.ActualName = TemperatureParameter.ActualName;
     155      temperatureInitializer.RightSideParameter.ActualName = StartTemperatureParameter.Name;
    151156
    152157      resultsCollector1.CollectedValues.Add(new LookupParameter<IntValue>(IterationsParameter.Name));
    153       resultsCollector1.CollectedValues.Add(new LookupParameter<DoubleValue>("Temperature"));
    154158      resultsCollector1.ResultsParameter.ActualName = ResultsParameter.Name;
    155159
     
    199203
    200204      #region Create operator graph
    201       OperatorGraph.InitialOperator = variableCreator;
    202       variableCreator.Successor = resultsCollector1;
     205      OperatorGraph.InitialOperator = temperatureInitializer;
     206      temperatureInitializer.Successor = resultsCollector1;
    203207      resultsCollector1.Successor = subScopesProcessor0;
    204208      subScopesProcessor0.Operators.Add(analyzer1);
     
    237241      if (!Parameters.ContainsKey("Iterations"))
    238242        Parameters.Add(new LookupParameter<IntValue>("Iterations", "The number of iterations."));
     243      if (!Parameters.ContainsKey("Temperature"))
     244        Parameters.Add(new LookupParameter<DoubleValue>("Temperature", "The current temperature."));
    239245      #endregion
    240246    }
Note: See TracChangeset for help on using the changeset viewer.