Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/15/14 17:30:02 (9 years ago)
Author:
mkommend
Message:

#2174: Adapted binary encoding to new wiring method.

File:
1 edited

Legend:

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

    r11550 r11553  
    176176
    177177    protected virtual ISolutionCreator ConfigureCreator(IEncoding encoding) {
     178      #region Configure RealVector Creator
     179      var realEnc = encoding as RealEncoding;
     180      if (realEnc != null) {
     181        DynamicEncodingParameters.AddRange(realEnc.Parameters);
     182        return realEnc.DefaultSolutionCreator;
     183      }
     184      #endregion
     185      #region Configure BinaryVector Creator
     186      var binEnc = encoding as BinaryEncoding;
     187      if (binEnc != null) {
     188        DynamicEncodingParameters.AddRange(binEnc.Parameters);
     189        return binEnc.DefaultSolutionCreator;
     190      }
     191      #endregion
    178192      #region Configure MultiEncoding Creator
    179193      var multiEncoding = encoding as MultiEncoding;
     
    184198          creator.Operators.Add(ConfigureCreator(enc));
    185199        }
    186         return creator;
    187       }
    188       #endregion
    189       #region Configure BinaryVector Creator
    190       var binEnc = encoding as BinaryEncoding;
    191       if (binEnc != null) {
    192         var p = new ValueParameter<IntValue>(binEnc.Name + "Length", binEnc.Length);
    193         DynamicEncodingParameters.Add(p);
    194 
    195         var creator = new RandomBinaryVectorCreator();
    196         creator.BinaryVectorParameter.ActualName = binEnc.Name;
    197         creator.LengthParameter.ActualName = p.Name;
    198200        return creator;
    199201      }
     
    212214        creator.BoundsParameter.ActualName = b.Name;
    213215        return creator;
    214       }
    215       #endregion
    216       #region Configure RealVector Creator
    217       var realEnc = encoding as RealEncoding;
    218       if (realEnc != null) {
    219         DynamicEncodingParameters.AddRange(realEnc.Parameters);
    220         return realEnc.DefaultSolutionCreator;
    221216      }
    222217      #endregion
     
    784779      var binConfig = (BinaryEncoding)config.Encodings[paramName];
    785780      IBinaryVectorCrossover binXo;
    786       if (binConfig.Length.Value > 3) binXo = new Encodings.BinaryVectorEncoding.SinglePointCrossover();
     781      if (binConfig.Length > 3) binXo = new Encodings.BinaryVectorEncoding.SinglePointCrossover();
    787782      else binXo = new Encodings.BinaryVectorEncoding.UniformCrossover();
    788783      binXo.ChildParameter.ActualName = paramName;
Note: See TracChangeset for help on using the changeset viewer.