Changeset 18198
- Timestamp:
- 01/14/22 15:11:36 (17 months ago)
- Location:
- branches/3136_Structural_GP
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3136_Structural_GP/HeuristicLab.Encodings.RealVectorEncoding/3.3/Crossovers/MultiRealVectorCrossover.cs
r17180 r18198 22 22 using System; 23 23 using System.Linq; 24 using HEAL.Attic; 24 25 using HeuristicLab.Collections; 25 26 using HeuristicLab.Common; … … 29 30 using HeuristicLab.Optimization; 30 31 using HeuristicLab.Parameters; 31 using HEAL.Attic;32 32 using HeuristicLab.PluginInfrastructure; 33 33 … … 67 67 68 68 foreach (Type type in ApplicationManager.Manager.GetTypes(typeof(IRealVectorCrossover))) { 69 if (!typeof(MultiOperator<IRealVectorCrossover>).IsAssignableFrom(type)) 70 Operators.Add((IRealVectorCrossover)Activator.CreateInstance(type), true); 69 if (typeof(MultiOperator<IRealVectorCrossover>).IsAssignableFrom(type)) continue; 70 if (typeof(CopyCrossover).IsAssignableFrom(type)) continue; 71 72 Operators.Add((IRealVectorCrossover)Activator.CreateInstance(type), true); 71 73 } 72 74 -
branches/3136_Structural_GP/HeuristicLab.Encodings.RealVectorEncoding/3.3/HeuristicLab.Encodings.RealVectorEncoding-3.3.csproj
r16658 r18198 115 115 <ItemGroup> 116 116 <Compile Include="Creators\NormalDistributedRealVectorCreator.cs" /> 117 <Compile Include="Crossovers\CopyCrossover.cs" /> 117 118 <Compile Include="Interfaces\IRealVectorMultiNeighborhoodShakingOperator.cs" /> 118 119 <Compile Include="ParticleOperators\RealVectorNeighborhoodParticleUpdater.cs" /> -
branches/3136_Structural_GP/HeuristicLab.Problems.DataAnalysis.Symbolic.Regression/3.4/SingleObjective/StructuredSymbolicRegressionSingleObjectiveProblem.cs
r18197 r18198 30 30 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 31 31 using HeuristicLab.Optimization; 32 using HeuristicLab.Optimization.Operators; 32 33 using HeuristicLab.Parameters; 33 34 using HeuristicLab.Problems.Instances; … … 218 219 encoding.SolutionCreator = creator; 219 220 221 220 222 Encoding.Add(encoding); 221 223 } … … 234 236 } 235 237 236 //set single point crossover for numeric parameters238 //set single point || copy crossover for numeric parameters 237 239 var multiCrossover = (IParameterizedItem)Encoding.Operators.OfType<MultiEncodingCrossover>().First(); 238 240 foreach (var param in multiCrossover.Parameters.OfType<ConstrainedValueParameter<ICrossover>>()) { 239 var singlePointCrossover = param.ValidValues.OfType<SinglePointCrossover>().FirstOrDefault(); 240 param.Value = singlePointCrossover ?? param.ValidValues.First(); 241 if (!param.Name.Contains(NumericParametersEncoding)) continue; 242 243 var singlePointCrossover = param.ValidValues.OfType<SinglePointCrossover>().First(); 244 var copyCrossover = param.ValidValues.OfType<CopyCrossover>().First(); 245 246 var realvectorEncoding = (RealVectorEncoding)Encoding.Encodings.Where(e => e.Name == NumericParametersEncoding).First(); 247 if (realvectorEncoding.Length == 1) { //single-point crossover throws if encoding length == 1 248 param.Value = copyCrossover; 249 } else 250 param.Value = singlePointCrossover; 241 251 } 242 252
Note: See TracChangeset
for help on using the changeset viewer.