Free cookie consent management tool by TermsFeed Policy Generator

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

Last change on this file since 8614 was 6489, checked in by cneumuel, 14 years ago

#1215

  • fixed issue with multiple problems (by introducing valuesReadOnly to IOptimizable)
  • fixed error message when removing last problem instance
  • made quality measure name configurable
File size: 1.5 KB
RevLine 
[4981]1using System;
2using System.Collections.Generic;
3using HeuristicLab.Core;
4
5namespace HeuristicLab.Problems.MetaOptimization {
[5277]6  public delegate void MutateDelegate(IRandom random, IOptimizable configuartion, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator);
7  public delegate void CrossDelegate(IRandom random, IOptimizable configuartion, IOptimizable other, IIntValueCrossover intValueCrossover, IDoubleValueCrossover doubleValueCrossover);
[5111]8
[4981]9  public interface IOptimizable : IItem {
[4984]10    bool IsOptimizable { get; }
[4981]11    bool Optimize { get; set; }
[4997]12    ConstrainedValue ActualValue { get; set; }
[5111]13   
[5009]14    void Randomize(IRandom random);
[5277]15    void Mutate(IRandom random, MutateDelegate mutate, IIntValueManipulator intValueManipulator, IDoubleValueManipulator doubleValueManipulator);
16    void Cross(IRandom random, IOptimizable other, CrossDelegate cross, IIntValueCrossover intValueCrossover, IDoubleValueCrossover doubleValueCrossover);
[5184]17    string ParameterInfoString { get; }
[5340]18    void CollectOptimizedParameterNames(List<string> parameterNames, string prefix);
[5522]19    double CalculateSimilarity(IOptimizable optimizable);
[5144]20
[5303]21    /// <summary>
22    /// Recursively gets all optimizables which have Optimize=true
23    /// </summary>
24    List<IOptimizable> GetAllOptimizables();
25
[4984]26    event EventHandler IsOptimizableChanged;
[4981]27    event EventHandler OptimizeChanged;
[6489]28
29    /// <summary>
30    /// indicates if the actualvalues are modifiable
31    /// </summary>
32    bool ValuesReadOnly { get; set; }
[4981]33  }
34}
Note: See TracBrowser for help on using the repository browser.