Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/12/14 17:52:15 (10 years ago)
Author:
mkommend
Message:

#2174: Refactoring of encodings to allow wiring of operators within the encoding instead of the problem (work in progress).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/ProgrammableProblem/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProgrammableProblem.cs

    r11484 r11543  
    143143      if (definition == null) return;
    144144
    145       Encoding encoding;
    146       try {
    147         encoding = definition.Encoding;
    148       } catch { return; }
     145      Encoding encoding = definition.Encoding;
     146
    149147      EncodingParameter.Value = encoding;
    150148      Maximization.Value = definition.IsMaximizationProblem;
     
    225223      var realEnc = encoding as RealEncoding;
    226224      if (realEnc != null) {
    227         var l = new ValueParameter<IntValue>(realEnc.Name + "Length", realEnc.Length);
    228         var b = new ValueParameter<DoubleMatrix>(realEnc.Name + "Bounds", realEnc.Bounds);
    229         DynamicEncodingParameters.Add(l);
    230         DynamicEncodingParameters.Add(b);
    231 
    232         var creator = new UniformRandomRealVectorCreator();
    233         creator.RealVectorParameter.ActualName = realEnc.Name;
    234         creator.LengthParameter.ActualName = l.Name;
    235         creator.BoundsParameter.ActualName = b.Name;
    236         return creator;
     225        DynamicEncodingParameters.AddRange(realEnc.EncodingParameters);       
     226        return realEnc.SolutionCreator;
    237227      }
    238228      #endregion
     
    463453          .Union(ApplicationManager.Manager.GetInstances<IRealVectorStdDevStrategyParameterOperator>(), new TypeEqualityComparer<IRealVectorStdDevStrategyParameterOperator>())
    464454          .ToList();
    465         var problemSize = ((RealEncoding)encoding).Length.Value;
     455        var problemSize = ((RealEncoding)encoding).Length;
    466456        var bounds = (DoubleMatrix)((RealEncoding)encoding).Bounds.Clone();
    467457        for (var i = 0; i < bounds.Rows; i++) {
Note: See TracChangeset for help on using the changeset viewer.