- Timestamp:
- 07/07/14 13:47:52 (10 years ago)
- Location:
- stable
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
/trunk/sources merged: 10975,10983-10984,10986,10988-10989,10996,11008
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Tests
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Tests merged: 10983,11008
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Tests/HeuristicLab-3.3/SamplesTest.cs
r10864 r11103 28 28 using HeuristicLab.Algorithms.GeneticAlgorithm; 29 29 using HeuristicLab.Algorithms.LocalSearch; 30 using HeuristicLab.Algorithms.OffspringSelectionGeneticAlgorithm; 30 31 using HeuristicLab.Algorithms.ParticleSwarmOptimization; 31 32 using HeuristicLab.Algorithms.RAPGA; … … 36 37 using HeuristicLab.Data; 37 38 using HeuristicLab.Encodings.BinaryVectorEncoding; 39 using HeuristicLab.Encodings.IntegerVectorEncoding; 38 40 using HeuristicLab.Encodings.PermutationEncoding; 39 41 using HeuristicLab.Encodings.RealVectorEncoding; … … 62 64 using HeuristicLab.Selection; 63 65 using Microsoft.VisualStudio.TestTools.UnitTesting; 66 using StdDevStrategyVectorCreator = HeuristicLab.Encodings.RealVectorEncoding.StdDevStrategyVectorCreator; 67 using StdDevStrategyVectorCrossover = HeuristicLab.Encodings.RealVectorEncoding.StdDevStrategyVectorCrossover; 68 using StdDevStrategyVectorManipulator = HeuristicLab.Encodings.RealVectorEncoding.StdDevStrategyVectorManipulator; 64 69 65 70 … … 1194 1199 #endregion 1195 1200 1201 #region grammatical evolution 1202 #region artificial ant 1203 [TestMethod] 1204 [TestCategory("Samples.Create")] 1205 [TestProperty("Time", "medium")] 1206 public void CreateGeArtificialAntSampleTest() { 1207 var geaa = CreateGeArtificialAntSample(); 1208 XmlGenerator.Serialize(geaa, @"Samples\GE_ArtificialAnt.hl"); 1209 } 1210 1211 [TestMethod] 1212 [TestCategory("Samples.Execute")] 1213 [TestProperty("Time", "long")] 1214 public void RunGeArtificalAntSampleTest() { 1215 var ga = CreateGeArtificialAntSample(); 1216 ga.SetSeedRandomly.Value = false; 1217 RunAlgorithm(ga); 1218 } 1219 1220 public OffspringSelectionGeneticAlgorithm CreateGeArtificialAntSample() { 1221 OffspringSelectionGeneticAlgorithm ga = new OffspringSelectionGeneticAlgorithm(); 1222 #region Problem Configuration 1223 var problem = new HeuristicLab.Problems.GrammaticalEvolution.GEArtificialAntProblem(); 1224 #endregion 1225 #region Algorithm Configuration 1226 ga.Name = "Grammatical Evolution - Artificial Ant (SantaFe)"; 1227 ga.Description = "Grammatical evolution algorithm for solving a artificial ant problem"; 1228 ga.Problem = problem; 1229 ConfigureOsGeneticAlgorithmParameters<GenderSpecificSelector, Encodings.IntegerVectorEncoding.SinglePointCrossover, Encodings.IntegerVectorEncoding.UniformOnePositionManipulator>( 1230 ga, 200, 1, 50, 0.05, 200); 1231 #endregion 1232 return ga; 1233 } 1234 #endregion 1235 1236 #region symbolic regression 1237 #endregion 1238 [TestMethod] 1239 [TestCategory("Samples.Create")] 1240 [TestProperty("Time", "medium")] 1241 public void CreateGeSymbolicRegressionSampleTest() { 1242 var geSymbReg = CreateGeSymbolicRegressionSample(); 1243 XmlGenerator.Serialize(geSymbReg, @"Samples\GE_SymbReg.hl"); 1244 } 1245 1246 [TestMethod] 1247 [TestCategory("Samples.Execute")] 1248 [TestProperty("Time", "long")] 1249 public void RunGeSymbolicRegressionSampleTest() { 1250 var ga = CreateGeSymbolicRegressionSample(); 1251 ga.SetSeedRandomly.Value = false; 1252 RunAlgorithm(ga); 1253 } 1254 1255 public OffspringSelectionGeneticAlgorithm CreateGeSymbolicRegressionSample() { 1256 var ga = new OffspringSelectionGeneticAlgorithm(); 1257 #region Problem Configuration 1258 var problem = new HeuristicLab.Problems.GrammaticalEvolution.GESymbolicRegressionSingleObjectiveProblem(); 1259 1260 #endregion 1261 #region Algorithm Configuration 1262 ga.Name = "Grammatical Evolution - Symbolic Regression (Poly-10)"; 1263 ga.Description = "Grammatical evolution algorithm for solving a symbolic regression problem problem"; 1264 ga.Problem = problem; 1265 problem.Load(new PolyTen().GenerateRegressionData()); 1266 1267 // must occur after loading problem data because the grammar creates symbols for random constants once the data is loaded 1268 var consts = problem.SymbolicExpressionTreeGrammar.AllowedSymbols.OfType<Constant>().ToList(); 1269 foreach (var c in consts) { 1270 problem.SymbolicExpressionTreeGrammar.RemoveSymbol(c); 1271 } 1272 1273 ConfigureOsGeneticAlgorithmParameters<GenderSpecificSelector, Encodings.IntegerVectorEncoding.SinglePointCrossover, Encodings.IntegerVectorEncoding.UniformOnePositionManipulator>( 1274 ga, 1000, 1, 50, 0.05, 200); 1275 #endregion 1276 return ga; 1277 } 1278 #endregion 1279 1196 1280 #region Helpers 1197 1281 private void ConfigureEvolutionStrategyParameters<R, M, SC, SR, SM>(EvolutionStrategy es, int popSize, int children, int parentsPerChild, int maxGens, bool plusSelection) … … 1240 1324 ga.Seed.Value = 0; 1241 1325 ga.SetSeedRandomly.Value = true; 1326 ga.Selector = ga.SelectorParameter.ValidValues 1327 .OfType<S>() 1328 .First(); 1329 1330 ga.Crossover = ga.CrossoverParameter.ValidValues 1331 .OfType<C>() 1332 .First(); 1333 1334 ga.Mutator = ga.MutatorParameter.ValidValues 1335 .OfType<M>() 1336 .First(); 1337 1338 var tSelector = ga.Selector as TournamentSelector; 1339 if (tSelector != null) { 1340 tSelector.GroupSizeParameter.Value.Value = tournGroupSize; 1341 } 1342 ga.Engine = new ParallelEngine.ParallelEngine(); 1343 } 1344 1345 private void ConfigureOsGeneticAlgorithmParameters<S, C, M>(OffspringSelectionGeneticAlgorithm ga, int popSize, int elites, int maxGens, double mutationRate=0.05, double maxSelPres=100, int tournGroupSize = 0) 1346 where S : ISelector 1347 where C : ICrossover 1348 where M : IManipulator { 1349 ga.Elites.Value = elites; 1350 ga.MaximumGenerations.Value = maxGens; 1351 ga.MutationProbability.Value = mutationRate; 1352 ga.PopulationSize.Value = popSize; 1353 ga.MaximumSelectionPressure.Value = maxSelPres; 1354 ga.Seed.Value = 0; 1355 ga.SetSeedRandomly.Value = true; 1356 ga.ComparisonFactorLowerBound.Value = 1; 1357 ga.ComparisonFactorUpperBound.Value = 1; 1358 1242 1359 ga.Selector = ga.SelectorParameter.ValidValues 1243 1360 .OfType<S>()
Note: See TracChangeset
for help on using the changeset viewer.