Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/25/14 13:05:14 (9 years ago)
Author:
mkommend
Message:

#2174: Configured solution creator in single encodings.

File:
1 edited

Legend:

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

    r11575 r11582  
    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
    192       #region Configure IntegerVector Creator
    193       var intEnc = encoding as IntegerEncoding;
    194       if (intEnc != null) {
    195         DynamicEncodingParameters.AddRange(intEnc.Parameters);
    196         return intEnc.DefaultSolutionCreator;
    197       }
    198       #endregion
    199178      #region Configure MultiEncoding Creator
    200179      var multiEncoding = encoding as MultiEncoding;
     
    208187      }
    209188      #endregion
     189      #region Configure RealVector Creator
     190      var realEnc = encoding as RealEncoding;
     191      if (realEnc != null) {
     192        DynamicEncodingParameters.AddRange(realEnc.Parameters);
     193        return realEnc.SolutionCreator;
     194      }
     195      #endregion
     196      #region Configure BinaryVector Creator
     197      var binEnc = encoding as BinaryEncoding;
     198      if (binEnc != null) {
     199        DynamicEncodingParameters.AddRange(binEnc.Parameters);
     200        return binEnc.SolutionCreator;
     201      }
     202      #endregion
     203      #region Configure IntegerVector Creator
     204      var intEnc = encoding as IntegerEncoding;
     205      if (intEnc != null) {
     206        DynamicEncodingParameters.AddRange(intEnc.Parameters);
     207        return intEnc.SolutionCreator;
     208      }
     209      #endregion
    210210      #region Configure Permutation Creator
    211211      var permEnc = encoding as PermutationEncoding;
    212212      if (permEnc != null) {
    213         var l = new ValueParameter<IntValue>(permEnc.Name + "Length", new IntValue(permEnc.Length));
    214         DynamicEncodingParameters.Add(l);
    215 
    216         var creator = new RandomPermutationCreator();
    217         creator.PermutationParameter.ActualName = permEnc.Name;
    218         creator.LengthParameter.ActualName = l.Name;
    219         creator.PermutationTypeParameter.Value = new PermutationType(permEnc.Type);
    220         return creator;
     213        DynamicEncodingParameters.AddRange(permEnc.Parameters);
     214        return permEnc.SolutionCreator;
    221215      }
    222216      #endregion
     217
     218
    223219      throw new ArgumentException(string.Format("Encoding {0} is unknown.", encoding != null ? encoding.GetType().FullName : "(null)"));
    224220    }
Note: See TracChangeset for help on using the changeset viewer.