Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/23/11 01:09:38 (13 years ago)
Author:
mkommend
Message:

#1418: Reintegrated branch into trunk.

Location:
trunk/sources
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources

  • trunk/sources/HeuristicLab.Optimization/3.3

    • Property svn:ignore
      •  

        old new  
        33obj
        44*.user
         5*.vs10x
  • trunk/sources/HeuristicLab.Optimization/3.3/Problem.cs

    r5445 r5809  
    2626using HeuristicLab.Common;
    2727using HeuristicLab.Core;
    28 using HeuristicLab.Parameters;
    2928using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
    3029
     
    3231  [Item("Problem", "Represents the base class for a problem.")]
    3332  [StorableClass]
    34   public abstract class Problem<T, U> : ParameterizedNamedItem, IProblem
    35     where T : class,IEvaluator
    36     where U : class,ISolutionCreator {
    37     private const string EvaluatorParameterName = "Evaluator";
    38     private const string SolutionCreateParameterName = "SolutionCreator";
    39 
     33  public abstract class Problem : ParameterizedNamedItem, IProblem {
    4034    public override Image ItemImage {
    4135      get { return HeuristicLab.Common.Resources.VSImageLibrary.Type; }
     
    4438    [StorableConstructor]
    4539    protected Problem(bool deserializing) : base(deserializing) { }
    46     protected Problem(Problem<T, U> original, Cloner cloner)
     40    protected Problem(Problem original, Cloner cloner)
    4741      : base(original, cloner) {
    4842      operators = cloner.Clone(original.operators);
     
    5347      : base() {
    5448      operators = new OperatorCollection();
    55       Parameters.Add(new ValueParameter<T>(EvaluatorParameterName, "The operator used to evaluate a solution."));
    56       Parameters.Add(new ValueParameter<U>(SolutionCreateParameterName, "The operator to create a solution."));
    5749      RegisterEventHandlers();
    5850    }
     
    6759      Operators.ItemsRemoved += new CollectionItemsChangedEventHandler<IOperator>(Operators_Changed);
    6860      Operators.CollectionReset += new CollectionItemsChangedEventHandler<IOperator>(Operators_Changed);
    69 
    70       EvaluatorParameter.ValueChanged += new EventHandler(EvaluatorParameter_ValueChanged);
    71       SolutionCreatorParameter.ValueChanged += new EventHandler(SolutionCreatorParameter_ValueChanged);
    7261    }
    7362
     
    8372    }
    8473    IEnumerable<IOperator> IProblem.Operators { get { return operators; } }
    85 
    86     public T Evaluator {
    87       get { return EvaluatorParameter.Value; }
    88       protected set { EvaluatorParameter.Value = value; }
    89     }
    90     public ValueParameter<T> EvaluatorParameter {
    91       get { return (ValueParameter<T>)Parameters[EvaluatorParameterName]; }
    92     }
    93     IEvaluator IProblem.Evaluator { get { return Evaluator; } }
    94     IParameter IProblem.EvaluatorParameter { get { return EvaluatorParameter; } }
    95 
    96     public U SolutionCreator {
    97       get { return SolutionCreatorParameter.Value; }
    98       protected set { SolutionCreatorParameter.Value = value; }
    99     }
    100     public ValueParameter<U> SolutionCreatorParameter {
    101       get { return (ValueParameter<U>)Parameters[SolutionCreateParameterName]; }
    102     }
    103     ISolutionCreator IProblem.SolutionCreator { get { return SolutionCreator; } }
    104     IParameter IProblem.SolutionCreatorParameter { get { return SolutionCreatorParameter; } }
    10574    #endregion
    10675
    10776    #region events
    108     private void EvaluatorParameter_ValueChanged(object sender, EventArgs e) {
    109       OnEvaluatorChanged();
    110     }
    111     public event EventHandler EvaluatorChanged;
    112     protected virtual void OnEvaluatorChanged() {
    113       EventHandler handler = EvaluatorChanged;
    114       if (handler != null)
    115         handler(this, EventArgs.Empty);
    116     }
    117 
    118     private void SolutionCreatorParameter_ValueChanged(object sender, EventArgs e) {
    119       OnSolutionCreatorChanged();
    120     }
    121     public event EventHandler SolutionCreatorChanged;
    122     protected virtual void OnSolutionCreatorChanged() {
    123       EventHandler handler = SolutionCreatorChanged;
    124       if (handler != null)
    125         handler(this, EventArgs.Empty);
    126     }
    127 
    12877    private void Operators_Changed(object sender, EventArgs e) {
    12978      OnOperatorsChanged();
Note: See TracChangeset for help on using the changeset viewer.