Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/27/11 09:22:20 (13 years ago)
Author:
abeham
Message:

#1465

  • updated branch from trunk
Location:
branches/histogram
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/histogram

  • branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealing.cs

    r5809 r6055  
    330330      if (Problem != null) {
    331331        qualityAnalyzer.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
     332        qualityAnalyzer.MaximizationParameter.Hidden = true;
    332333        qualityAnalyzer.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    333334        qualityAnalyzer.QualityParameter.Depth = 0;
     335        qualityAnalyzer.QualityParameter.Hidden = true;
    334336        qualityAnalyzer.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
     337        qualityAnalyzer.BestKnownQualityParameter.Hidden = true;
     338      } else {
     339        qualityAnalyzer.MaximizationParameter.Hidden = false;
     340        qualityAnalyzer.QualityParameter.Hidden = false;
     341        qualityAnalyzer.BestKnownQualityParameter.Hidden = false;
    335342      }
    336343    }
     
    371378    }
    372379    private void ParameterizeMainLoop() {
    373       MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
    374       MainLoop.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
    375       MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
     380      if (Problem != null) {
     381        MainLoop.BestKnownQualityParameter.ActualName = Problem.BestKnownQualityParameter.Name;
     382        MainLoop.MaximizationParameter.ActualName = Problem.MaximizationParameter.Name;
     383        MainLoop.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
     384      }
    376385      if (MoveEvaluator != null)
    377386        MainLoop.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
    378387    }
    379388    private void ParameterizeStochasticOperator(IOperator op) {
    380       if (op is IStochasticOperator)
    381         ((IStochasticOperator)op).RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
     389      if (op is IStochasticOperator) {
     390        IStochasticOperator stOp = (IStochasticOperator)op;
     391        stOp.RandomParameter.ActualName = RandomCreator.RandomParameter.ActualName;
     392        stOp.RandomParameter.Hidden = true;
     393      }
    382394    }
    383395    private void ParameterizeMoveEvaluators() {
    384396      foreach (ISingleObjectiveMoveEvaluator op in Problem.Operators.OfType<ISingleObjectiveMoveEvaluator>()) {
    385397        op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
     398        op.QualityParameter.Hidden = true;
    386399      }
    387400    }
     
    389402      foreach (IMoveMaker op in Problem.Operators.OfType<IMoveMaker>()) {
    390403        op.QualityParameter.ActualName = Problem.Evaluator.QualityParameter.ActualName;
    391         if (MoveEvaluator != null)
     404        op.QualityParameter.Hidden = true;
     405        if (MoveEvaluator != null) {
    392406          op.MoveQualityParameter.ActualName = MoveEvaluator.MoveQualityParameter.ActualName;
     407          op.MoveQualityParameter.Hidden = true;
     408        } else {
     409          op.MoveQualityParameter.Hidden = false;
     410        }
    393411      }
    394412    }
     
    396414      foreach (IDiscreteDoubleValueModifier op in AnnealingOperatorParameter.ValidValues) {
    397415        op.IndexParameter.ActualName = "Iterations";
     416        op.IndexParameter.Hidden = true;
    398417        op.StartIndexParameter.Value = new IntValue(0);
    399418        op.EndIndexParameter.ActualName = MaximumIterationsParameter.Name;
    400419        op.ValueParameter.ActualName = "Temperature";
     420        op.ValueParameter.Hidden = true;
    401421        op.StartValueParameter.ActualName = StartTemperatureParameter.Name;
     422        op.StartValueParameter.Hidden = true;
    402423        op.EndValueParameter.ActualName = EndTemperatureParameter.Name;
     424        op.EndValueParameter.Hidden = true;
    403425        ParameterizeStochasticOperator(op);
    404426      }
     
    407429      foreach (IMultiMoveGenerator op in Problem.Operators.OfType<IMultiMoveGenerator>()) {
    408430        op.SampleSizeParameter.ActualName = InnerIterationsParameter.Name;
     431        op.SampleSizeParameter.Hidden = true;
    409432      }
    410433    }
     
    413436        foreach (IIterationBasedOperator op in Problem.Operators.OfType<IIterationBasedOperator>()) {
    414437          op.IterationsParameter.ActualName = "Iterations";
     438          op.IterationsParameter.Hidden = true;
    415439          op.MaximumIterationsParameter.ActualName = MaximumIterationsParameter.Name;
     440          op.MaximumIterationsParameter.Hidden = true;
    416441        }
    417442      }
  • branches/histogram/HeuristicLab.Algorithms.SimulatedAnnealing/3.3/SimulatedAnnealingImprovementOperator.cs

    r6046 r6055  
    259259    }
    260260
     261    private bool IsSubclassOfGeneric(Type generic, Type toCheck) {
     262      while (toCheck != typeof(object)) {
     263        var cur = toCheck.IsGenericType ? toCheck.GetGenericTypeDefinition() : toCheck;
     264        if (generic == cur) {
     265          return true;
     266        }
     267        toCheck = toCheck.BaseType;
     268      }
     269      return false;
     270    }
     271
    261272    private void UpdateAnalyzers() {
    262273      Analyzer.Operators.Clear();
    263274      if (problem != null) {
    264275        foreach (IAnalyzer analyzer in problem.Operators.OfType<IAnalyzer>()) {
    265           IAnalyzer clone = analyzer.Clone() as IAnalyzer;
    266           foreach (IScopeTreeLookupParameter param in clone.Parameters.OfType<IScopeTreeLookupParameter>())
    267             param.Depth = 0;
    268           Analyzer.Operators.Add(clone);
     276          if (!IsSubclassOfGeneric(typeof(AlleleFrequencyAnalyzer<>), analyzer.GetType()) &&
     277              !IsSubclassOfGeneric(typeof(PopulationDiversityAnalyzer<>), analyzer.GetType())) {
     278            IAnalyzer clone = analyzer.Clone() as IAnalyzer;
     279            foreach (IScopeTreeLookupParameter param in clone.Parameters.OfType<IScopeTreeLookupParameter>())
     280              param.Depth = 0;
     281            Analyzer.Operators.Add(clone);
     282          }
    269283        }
    270284      }
Note: See TracChangeset for help on using the changeset viewer.