Free cookie consent management tool by TermsFeed Policy Generator

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

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

#1215

  • made solution cache use less memory, by deleting unnecessary information
File size: 1.4 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    void CollectOptimizedParameterNames(List<string> parameterNames, string prefix);
22
23    /// <summary>
24    /// Recursively gets all optimizables which have Optimize=true
25    /// </summary>
26    List<IOptimizable> GetAllOptimizables();
27
28    event EventHandler IsOptimizableChanged;
29    event EventHandler OptimizeChanged;
30  }
31}
Note: See TracBrowser for help on using the repository browser.