Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/29/12 09:57:15 (12 years ago)
Author:
abeham
Message:

#1985: Synchronized with trunk

Location:
branches/RuntimeOptimizer
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/RuntimeOptimizer

  • branches/RuntimeOptimizer/HeuristicLab.Algorithms.DataAnalysis

  • branches/RuntimeOptimizer/HeuristicLab.Algorithms.DataAnalysis/3.4/CrossValidation.cs

    r8836 r8971  
    4545
    4646      executionState = ExecutionState.Stopped;
    47       runs = new RunCollection { AlgorithmName = name };
     47      runs = new RunCollection { OptimizerName = name };
    4848      runsCounter = 0;
    4949
     
    120120          }
    121121          OnAlgorithmChanged();
    122           if (algorithm != null) OnProblemChanged();
    123122          Prepare();
    124123        }
     
    249248    protected override void OnNameChanged() {
    250249      base.OnNameChanged();
    251       Runs.AlgorithmName = Name;
     250      Runs.OptimizerName = Name;
    252251    }
    253252
     
    521520    private void RegisterEvents() {
    522521      Folds.ValueChanged += new EventHandler(Folds_ValueChanged);
    523       SamplesStart.ValueChanged += new EventHandler(SamplesStart_ValueChanged);
    524       SamplesEnd.ValueChanged += new EventHandler(SamplesEnd_ValueChanged);
    525522      RegisterClonedAlgorithmsEvents();
    526523    }
     
    530527    }
    531528
    532     private bool samplesChanged = false;
    533     private void SamplesStart_ValueChanged(object sender, EventArgs e) {
    534       samplesChanged = true;
    535       if (Problem != null) Problem.ProblemData.TrainingPartition.Start = SamplesStart.Value;
    536       samplesChanged = false;
    537     }
    538     private void SamplesEnd_ValueChanged(object sender, EventArgs e) {
    539       samplesChanged = true;
    540       if (Problem != null) Problem.ProblemData.TrainingPartition.End = SamplesEnd.Value;
    541       samplesChanged = false;
    542     }
    543529
    544530    #region template algorithms events
     
    553539      algorithm.ProblemChanged += new EventHandler(Algorithm_ProblemChanged);
    554540      algorithm.ExecutionStateChanged += new EventHandler(Algorithm_ExecutionStateChanged);
     541      if (Problem != null) Problem.Reset += new EventHandler(Problem_Reset);
    555542    }
    556543    private void DeregisterAlgorithmEvents() {
    557544      algorithm.ProblemChanged -= new EventHandler(Algorithm_ProblemChanged);
    558545      algorithm.ExecutionStateChanged -= new EventHandler(Algorithm_ExecutionStateChanged);
     546      if (Problem != null) Problem.Reset -= new EventHandler(Problem_Reset);
    559547    }
    560548    private void Algorithm_ProblemChanged(object sender, EventArgs e) {
     
    563551        throw new ArgumentException("A cross validation algorithm can only contain DataAnalysisProblems.");
    564552      }
    565       algorithm.Problem.Reset += (x, y) => OnProblemChanged();
     553      if (problem != null) problem.Reset -= new EventHandler(Problem_Reset);
     554      if (Problem != null) Problem.Reset += new EventHandler(Problem_Reset);
    566555      problem = (IDataAnalysisProblem)algorithm.Problem;
    567556      OnProblemChanged();
     
    571560      EventHandler handler = ProblemChanged;
    572561      if (handler != null) handler(this, EventArgs.Empty);
    573       if (samplesChanged) return;
    574 
     562      ConfigureProblem();
     563    }
     564
     565    private void Problem_Reset(object sender, EventArgs e) {
     566      ConfigureProblem();
     567    }
     568
     569    private void ConfigureProblem() {
    575570      SamplesStart.Value = 0;
    576571      if (Problem != null) {
     
    593588      } else
    594589        SamplesEnd.Value = 0;
    595 
    596       SamplesStart_ValueChanged(this, EventArgs.Empty);
    597       SamplesEnd_ValueChanged(this, EventArgs.Empty);
    598590    }
    599591
     
    689681      lock (locker) {
    690682        if (!stopPending && ExecutionState == ExecutionState.Started) {
    691           IAlgorithm preparedAlgorithm = clonedAlgorithms.Where(alg => alg.ExecutionState == ExecutionState.Prepared ||
    692                                                                        alg.ExecutionState == ExecutionState.Paused).FirstOrDefault();
     683          IAlgorithm preparedAlgorithm = clonedAlgorithms.FirstOrDefault(alg => alg.ExecutionState == ExecutionState.Prepared ||
     684                                                                                alg.ExecutionState == ExecutionState.Paused);
    693685          if (preparedAlgorithm != null) preparedAlgorithm.Start();
    694686        }
Note: See TracChangeset for help on using the changeset viewer.