Free cookie consent management tool by TermsFeed Policy Generator

source: branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization/3.3/Interfaces/IOptimizable.cs @ 5303

Last change on this file since 5303 was 5303, checked in by cneumuel, 13 years ago

#1215

  • manipulators for one and all parameters
  • SolutionCache to avoid multiple evaluations of equal solutions
  • RunsAnalyzer which stores all base level runs
  • ItemDictionaryView for runs
File size: 1.3 KB
Line 
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Text;
5using HeuristicLab.Core;
6using HeuristicLab.Common;
7
8namespace HeuristicLab.Problems.MetaOptimization {
9  public delegate void MutateDelegate(IRandom random, IOptimizable configuartion, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator);
10  public delegate void CrossDelegate(IRandom random, IOptimizable configuartion, IOptimizable other, IIntValueCrossover intValueCrossover, IDoubleValueCrossover doubleValueCrossover);
11
12  public interface IOptimizable : IItem {
13    bool IsOptimizable { get; }
14    bool Optimize { get; set; }
15    ConstrainedValue ActualValue { get; set; }
16   
17    void Randomize(IRandom random);
18    void Mutate(IRandom random, MutateDelegate mutate, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator);
19    void Cross(IRandom random, IOptimizable other, CrossDelegate cross, IIntValueCrossover intValueCrossover, IDoubleValueCrossover doubleValueCrossover);
20    string ParameterInfoString { get; }
21
22    /// <summary>
23    /// Recursively gets all optimizables which have Optimize=true
24    /// </summary>
25    List<IOptimizable> GetAllOptimizables();
26
27    event EventHandler IsOptimizableChanged;
28    event EventHandler OptimizeChanged;
29  }
30}
Note: See TracBrowser for help on using the repository browser.