Free cookie consent management tool by TermsFeed Policy Generator
wiki:Algorithms

Version 1 (modified by mkofler, 14 years ago) (diff)

--

  public interface IExecutable : IItem {
    ExecutionState ExecutionState { get; }
    TimeSpan ExecutionTime { get; }

    void Prepare();
    void Start();
    void Pause();
    void Stop();

    event EventHandler ExecutionStateChanged;
    event EventHandler ExecutionTimeChanged;
    event EventHandler Prepared;
    event EventHandler Started;
    event EventHandler Paused;
    event EventHandler Stopped;
    event EventHandler<EventArgs<Exception>> ExceptionOccurred;
  }
  /// <summary>
  /// Interface to represent optimizers such as algorithms, batch runs, or experiments.
  /// </summary>
  public interface IOptimizer : INamedItem, IExecutable {
    RunCollection Runs { get; }

    void Prepare(bool clearRuns);
  }
  public interface IAlgorithm : IParameterizedNamedItem, IOptimizer {
    Type ProblemType { get; }
    IProblem Problem { get; set; }
    ResultCollection Results { get; }

    void CollectResultValues(IDictionary<string, IItem> values);

    event EventHandler ProblemChanged;
  }