Changeset 18087 for branches/2521_ProblemRefactoring/HeuristicLab.Tests
- Timestamp:
- 11/19/21 16:16:54 (2 years ago)
- Location:
- branches/2521_ProblemRefactoring
- Files:
-
- 17 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Tests
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab-3.3/PluginDependenciesTest.cs
r17226 r18087 34 34 private static Dictionary<Assembly, Type> loadedPlugins; 35 35 private static Dictionary<string, string> pluginNames; 36 private static Dictionary<string, Version> pluginVersions; 36 37 private static Dictionary<string, Assembly> pluginFilesToPluginLookup = new Dictionary<string, Assembly>(); 37 38 … … 39 40 [ClassInitialize] 40 41 public static void MyClassInitialize(TestContext testContext) { 41 loadedPlugins = PluginLoader.Assemblies.Where(PluginLoader.IsPluginAssembly).ToDictionary(a => a, GetPluginFromAssembly); 42 try { 43 loadedPlugins = PluginLoader.Assemblies.Where(PluginLoader.IsPluginAssembly).ToDictionary(a => a, GetPluginFromAssembly); 44 } catch (BadImageFormatException e) { 45 var message = string.Join(Environment.NewLine, "Could not load all types. Check if test process architecture is set to x64.", string.Empty, "Exception:", e); 46 Assert.Fail(message); 47 } 48 42 49 pluginNames = loadedPlugins.ToDictionary(a => a.Key.GetName().FullName, a => GetPluginName(a.Value)); 50 pluginVersions = loadedPlugins.ToDictionary(a => a.Key.GetName().FullName, a => GetPluginVersion(a.Value)); 43 51 44 52 foreach (Assembly pluginAssembly in loadedPlugins.Keys) { … … 65 73 var referencedAssemblies = pluginAssemblies.SelectMany(a => a.GetReferencedAssemblies()).ToList(); 66 74 67 Dictionary<string, PluginDependencyAttribute> pluginDependencies = Attribute.GetCustomAttributes(plugin, false).OfType<PluginDependencyAttribute>().ToDictionary(a => a.Dependency); 75 var pluginDependencies = Attribute.GetCustomAttributes(plugin, false).OfType<PluginDependencyAttribute>().ToArray(); 76 77 bool versionLessThan(Version a, Version b) => a.Major < b.Major || ((a.Major == b.Major) && (a.Minor <= b.Minor)); 78 79 bool compatiblePluginAvailable(string referencedAssemblyName) => pluginDependencies.Any(pd => pd.Dependency == pluginNames[referencedAssemblyName] && versionLessThan(pd.Version, pluginVersions[referencedAssemblyName])); 68 80 69 81 foreach (AssemblyName referencedAssemblyName in referencedAssemblies) { 70 82 if (IsPluginAssemblyName(referencedAssemblyName)) { 71 if (! pluginDependencies.ContainsKey(pluginNames[referencedAssemblyName.FullName]))72 errorMessage.AppendLine("Missing dependency in plugin " + plugin + " to referenced plugin " + pluginNames[referencedAssemblyName.FullName] + " .");83 if (!compatiblePluginAvailable(referencedAssemblyName.FullName)) 84 errorMessage.AppendLine("Missing dependency in plugin " + plugin + " to referenced plugin " + pluginNames[referencedAssemblyName.FullName] + " in version >= " + pluginVersions[referencedAssemblyName.FullName] + "."); 73 85 } else { //no plugin assembly => test if the assembly is delivered by another plugin 74 86 if (pluginFilesToPluginLookup.ContainsKey(referencedAssemblyName.Name)) { 75 87 string containingPluginFullName = pluginFilesToPluginLookup[referencedAssemblyName.Name].FullName; 76 if (containingPluginFullName != pluginAssembly.FullName && ! pluginDependencies.ContainsKey(pluginNames[containingPluginFullName]))77 errorMessage.AppendLine("Missing dependency in plugin " + plugin + " to plugin " + pluginNames[containingPluginFullName] + " due to a reference to " + referencedAssemblyName.FullName + ".");88 if (containingPluginFullName != pluginAssembly.FullName && !compatiblePluginAvailable(containingPluginFullName)) 89 errorMessage.AppendLine("Missing dependency in plugin " + plugin + " to plugin " + pluginNames[containingPluginFullName] + " in version >= " + pluginVersions[containingPluginFullName] + " due to a reference to " + referencedAssemblyName.FullName + "."); 78 90 } 79 91 } … … 130 142 } 131 143 144 private static Version GetPluginVersion(Type plugin) { 145 var version = new Version(); 146 PluginAttribute pluginAttribute = (PluginAttribute)Attribute.GetCustomAttribute(plugin, typeof(PluginAttribute)); 147 if (pluginAttribute != null) { 148 version = pluginAttribute.Version; 149 } 150 return version; 151 } 152 132 153 private static bool IsPluginAssemblyName(AssemblyName assemblyName) { 133 154 return pluginNames.ContainsKey(assemblyName.FullName); -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GPSymbolicRegressionSampleWithOSTest.cs
r17695 r18087 69 69 // been able to identify the real cause. Presumably, execution on a Xeon and a Core i7 processor 70 70 // leads to different results. 71 Assert.AreEqual(0.99 174959007940156, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8, Environment.NewLine + "Best Quality differs.");72 Assert.AreEqual(0.9 836083751914968, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8, Environment.NewLine + "Current Average Quality differs.");73 Assert.AreEqual(0. 98298394717065463, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8, Environment.NewLine + "Current Worst Quality differs.");74 Assert.AreEqual(10 100, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"), Environment.NewLine + "Evaluated Solutions differ.");75 Assert.AreEqual(0.99 174959007940156, bestTrainingSolution.TrainingRSquared, 1E-8, Environment.NewLine + "Best Training Solution Training R² differs.");76 Assert.AreEqual(0. 8962902319942232, bestTrainingSolution.TestRSquared, 1E-8, Environment.NewLine + "Best Training Solution Test R² differs.");71 Assert.AreEqual(0.996270926227739, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8, Environment.NewLine + "Best Quality differs."); 72 Assert.AreEqual(0.95742113235788184, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8, Environment.NewLine + "Current Average Quality differs."); 73 Assert.AreEqual(0.83998301518760388, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8, Environment.NewLine + "Current Worst Quality differs."); 74 Assert.AreEqual(10600, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"), Environment.NewLine + "Evaluated Solutions differ."); 75 Assert.AreEqual(0.996270926227739, bestTrainingSolution.TrainingRSquared, 1E-8, Environment.NewLine + "Best Training Solution Training R² differs."); 76 Assert.AreEqual(0.9963422035282139, bestTrainingSolution.TestRSquared, 1E-8, Environment.NewLine + "Best Training Solution Test R² differs."); 77 77 } else { 78 Assert.AreEqual(0.9 971536312165723, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8, Environment.NewLine + "Best Qualitiy differs.");79 Assert.AreEqual(0. 98382832370544937, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8, Environment.NewLine + "Current Average Quality differs.");80 Assert.AreEqual(0. 960805603777699, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8, Environment.NewLine + "Current Worst Quality differs.");81 Assert.AreEqual(10 500, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"), Environment.NewLine + "Evaluated Solutions differ.");82 Assert.AreEqual(0.9 971536312165723, bestTrainingSolution.TrainingRSquared, 1E-8, Environment.NewLine + "Best Training Solution Training R² differs.");83 Assert.AreEqual(0.0 10190137960908724, bestTrainingSolution.TestRSquared, 1E-8, Environment.NewLine + "Best Training Solution Test R² differs.");78 Assert.AreEqual(0.9784573626949189, SamplesUtils.GetDoubleResult(osga, "BestQuality"), 1E-8, Environment.NewLine + "Best Quality differs."); 79 Assert.AreEqual(0.82804701987417961, SamplesUtils.GetDoubleResult(osga, "CurrentAverageQuality"), 1E-8, Environment.NewLine + "Current Average Quality differs."); 80 Assert.AreEqual(0.700208975867862, SamplesUtils.GetDoubleResult(osga, "CurrentWorstQuality"), 1E-8, Environment.NewLine + "Current Worst Quality differs."); 81 Assert.AreEqual(10300, SamplesUtils.GetIntResult(osga, "EvaluatedSolutions"), Environment.NewLine + "Evaluated Solutions differ."); 82 Assert.AreEqual(0.9784573626949189, bestTrainingSolution.TrainingRSquared, 1E-8, Environment.NewLine + "Best Training Solution Training R² differs."); 83 Assert.AreEqual(0.0014620645328474451, bestTrainingSolution.TestRSquared, 1E-8, Environment.NewLine + "Best Training Solution Test R² differs."); 84 84 } 85 85 } -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab-3.3/Samples/GaussianProcessRegressionSampleTest.cs
r17526 r18087 52 52 gpr.Seed = 1618551877; 53 53 SamplesUtils.RunAlgorithm(gpr); 54 Assert.AreEqual(-9 40.70700288855619, SamplesUtils.GetDoubleResult(gpr, "NegativeLogLikelihood"));55 Assert.AreEqual(0.995 63390794061979, SamplesUtils.GetDoubleResult(gpr, "Training R²"));54 Assert.AreEqual(-992.445399028808, SamplesUtils.GetDoubleResult(gpr, "NegativeLogLikelihood"), 1e-8); 55 Assert.AreEqual(0.99559260785271853, SamplesUtils.GetDoubleResult(gpr, "Training R²"), 1e-8); 56 56 } 57 57 -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab-3.3/Samples/SamplesUtils.cs
r16692 r18087 21 21 a.Prepare(); 22 22 a.Start(); 23 Assert.IsNull(ex );23 Assert.IsNull(ex, ex?.ToString()); 24 24 } 25 25 -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Persistence.Attic/PersistenceConsistencyChecks.cs
r17226 r18087 2 2 using System.Collections.Generic; 3 3 using System.Linq; 4 using System.Reflection; 4 5 using HEAL.Attic; 5 6 using Microsoft.VisualStudio.TestTools.UnitTesting; … … 16 17 var dict = new Dictionary<Guid, string>(); 17 18 var duplicates = new Dictionary<string, string>(); 18 // using AppDomain instead of ApplicationManager so that NonDiscoverableTypes are also checked19 foreach (Type type in AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())) {20 var attr = StorableTypeAttribute.GetStorableTypeAttribute(type);21 if (attr == null)22 continue;23 19 24 foreach (var guid in attr.Guids) { 25 if (!dict.ContainsKey(guid)) { 26 dict.Add(guid, type.FullName); 27 } else { 28 duplicates.Add(type.FullName, dict[guid]); 20 try { 21 // using AppDomain instead of ApplicationManager so that NonDiscoverableTypes are also checked 22 foreach (Type type in AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes())) { 23 var attr = StorableTypeAttribute.GetStorableTypeAttribute(type); 24 if (attr == null) 25 continue; 26 27 foreach (var guid in attr.Guids) { 28 if (!dict.ContainsKey(guid)) { 29 dict.Add(guid, type.FullName); 30 } else { 31 duplicates.Add(type.FullName, dict[guid]); 32 } 29 33 } 30 34 } 35 } catch (ReflectionTypeLoadException e) { 36 var loaderExeptions = string.Join("-----" + Environment.NewLine, e.LoaderExceptions.Select(x => x.ToString())); 37 var message = string.Join(Environment.NewLine, "Could not load all types. Check if test process architecture is set to x64.", 38 string.Empty, "Exception:", e, string.Empty, "LoaderExceptions:", loaderExeptions); 39 Assert.Fail(message); 31 40 } 32 41 -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis-3.4/ClassificationVariableImpactCalculationTest.cs
r16723 r18087 214 214 private Dictionary<string, double> GetExpectedValuesForIrisKNNModel() { 215 215 Dictionary<string, double> expectedImpacts = new Dictionary<string, double>(); 216 expectedImpacts.Add("petal_length", 0.2 1);217 expectedImpacts.Add("petal_width", 0. 25);218 expectedImpacts.Add("sepal_length", 0. 05);216 expectedImpacts.Add("petal_length", 0.22); 217 expectedImpacts.Add("petal_width", 0.35); 218 expectedImpacts.Add("sepal_length", 0.15); 219 219 expectedImpacts.Add("sepal_width", 0.05); 220 220 -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis-3.4/IntervalTest.cs
r17586 r18087 12 12 private readonly Interval e = new Interval(4, 6); 13 13 14 private void CheckLowerAndUpperBoundOfInterval(Interval expected, Interval calculated) { 15 var lowerBoundExpected = expected.LowerBound; 16 var upperBoundExpected = expected.UpperBound; 17 var lowerBoundCalculated = calculated.LowerBound; 18 var upperBoundCalculated = calculated.UpperBound; 19 20 if(double.IsNaN(lowerBoundExpected) && double.IsNaN(lowerBoundCalculated)) { 21 Assert.IsTrue(double.IsNaN(lowerBoundExpected) && double.IsNaN(lowerBoundCalculated)); 22 } else if (double.IsNaN(upperBoundExpected) && double.IsNaN(upperBoundCalculated)) { 23 Assert.IsTrue(double.IsNaN(upperBoundExpected) && double.IsNaN(upperBoundCalculated)); 24 } else { 25 Assert.AreEqual(lowerBoundExpected, lowerBoundCalculated, 1e-9); 26 Assert.AreEqual(upperBoundExpected, upperBoundCalculated, 1e-9); 27 } 28 } 29 14 30 [TestMethod] 15 31 [TestCategory("Problems.DataAnalysis")] … … 33 49 34 50 //[-1, 1] - [-2, 2] = [-3, 3] 35 Assert.AreEqual<Interval>(Interval.Subtract(a, b), new Interval(-3, 3));51 CheckLowerAndUpperBoundOfInterval(Interval.Subtract(a, b), new Interval(-3, 3)); 36 52 //([-1, 1] - [-2, 2]) - [0, 3] = [-6, 3] 37 Assert.AreEqual<Interval>(Interval.Subtract(Interval.Subtract(a, b), c), new Interval(-6, 3));53 CheckLowerAndUpperBoundOfInterval(Interval.Subtract(Interval.Subtract(a, b), c), new Interval(-6, 3)); 38 54 //([-1, 1] - [0, 3]) - [-2, 2] = [-6, 3] 39 Assert.AreEqual<Interval>(Interval.Subtract(Interval.Subtract(a, c), b), new Interval(-6, 3));55 CheckLowerAndUpperBoundOfInterval(Interval.Subtract(Interval.Subtract(a, c), b), new Interval(-6, 3)); 40 56 } 41 57 … … 47 63 48 64 //[-1, 1] * [-2, 2] = [-2, 2] 49 Assert.AreEqual<Interval>(Interval.Multiply(a, b), new Interval(-2, 2));65 CheckLowerAndUpperBoundOfInterval(Interval.Multiply(a, b), new Interval(-2, 2)); 50 66 //([-1, 1] * [-2, 2]) * [0, 3] = [-6, 6] 51 Assert.AreEqual<Interval>(Interval.Multiply(Interval.Multiply(a, b), c), new Interval(-6, 6));67 CheckLowerAndUpperBoundOfInterval(Interval.Multiply(Interval.Multiply(a, b), c), new Interval(-6, 6)); 52 68 //([-1, 1] * [0, 3]) * [-2, 2] = [-6, 6] 53 Assert.AreEqual<Interval>(Interval.Multiply(Interval.Multiply(a, c), b), new Interval(-6, 6));69 CheckLowerAndUpperBoundOfInterval(Interval.Multiply(Interval.Multiply(a, c), b), new Interval(-6, 6)); 54 70 55 71 // [-2, 0] * [-2, 0] = [0, 4] 56 Assert.AreEqual<Interval>(new Interval(0, 4), Interval.Multiply(new Interval(-2, 0), new Interval(-2, 0)));72 CheckLowerAndUpperBoundOfInterval(new Interval(0, 4), Interval.Multiply(new Interval(-2, 0), new Interval(-2, 0))); 57 73 } 58 74 … … 64 80 65 81 //[4, 6] / [1, 3] = [4/3, 6] 66 Assert.AreEqual<Interval>(Interval.Divide(e, d), new Interval(4.0 / 3.0, 6));82 CheckLowerAndUpperBoundOfInterval(Interval.Divide(e, d), new Interval(4.0 / 3.0, 6)); 67 83 //([4, 6] / [1, 3]) / [1, 3] = [4/9, 6] 68 Assert.AreEqual<Interval>(Interval.Divide(Interval.Divide(e, d), d), new Interval(4.0 / 9.0, 6));84 CheckLowerAndUpperBoundOfInterval(Interval.Divide(Interval.Divide(e, d), d), new Interval(4.0 / 9.0, 6)); 69 85 //[4, 6] / [0, 3] = [4/3, +Inf] 70 Assert.AreEqual<Interval>(Interval.Divide(e, c), new Interval(4.0 / 3.0, double.PositiveInfinity));86 CheckLowerAndUpperBoundOfInterval(Interval.Divide(e, c), new Interval(4.0 / 3.0, double.PositiveInfinity)); 71 87 //[-1, 1] / [0, 3] = [+Inf, -Inf] 72 Assert.AreEqual<Interval>(Interval.Divide(a, c), new Interval(double.NegativeInfinity, double.PositiveInfinity));88 CheckLowerAndUpperBoundOfInterval(Interval.Divide(a, c), new Interval(double.NegativeInfinity, double.PositiveInfinity)); 73 89 //Devision by 0 ==> IsInfiniteOrUndefined == true 74 90 Assert.IsTrue(Interval.Divide(e, c).IsInfiniteOrUndefined); 75 91 //Devision by 0 ==> IsInfiniteOrUndefined == true 76 92 Assert.IsTrue(Interval.Divide(a, c).IsInfiniteOrUndefined); 77 Assert.AreEqual<Interval>(Interval.Divide(d, b), new Interval(double.NegativeInfinity, double.PositiveInfinity));93 CheckLowerAndUpperBoundOfInterval(Interval.Divide(d, b), new Interval(double.NegativeInfinity, double.PositiveInfinity)); 78 94 } 79 95 … … 84 100 //sine depends on interval 85 101 //sin([0, 2*pi]) = [-1, 1] 86 Assert.AreEqual<Interval>(Interval.Sine(new Interval(0, 2 * Math.PI)), new Interval(-1, 1));102 CheckLowerAndUpperBoundOfInterval(Interval.Sine(new Interval(0, 2 * Math.PI)), new Interval(-1, 1)); 87 103 //sin([-pi/2, pi/2]) = [sin(-pi/2), sin(pi/2)] 88 Assert.AreEqual<Interval>(Interval.Sine(new Interval(-1 * Math.PI / 2, Math.PI / 2)), new Interval(-1, 1));104 CheckLowerAndUpperBoundOfInterval(Interval.Sine(new Interval(-1 * Math.PI / 2, Math.PI / 2)), new Interval(-1, 1)); 89 105 //sin([0, pi/2]) = [sin(0), sin(pi/2)] 90 Assert.AreEqual<Interval>(Interval.Sine(new Interval(0, Math.PI / 2)), new Interval(0, 1));106 CheckLowerAndUpperBoundOfInterval(Interval.Sine(new Interval(0, Math.PI / 2)), new Interval(0, 1)); 91 107 //sin([pi, 3*pi/2]) = [sin(pi), sin(3*pi/2)] 92 Assert.AreEqual<Interval>(Interval.Sine(new Interval(Math.PI, 3 * Math.PI / 2)), new Interval(-1, 0));93 Assert.AreEqual<Interval>(Interval.Sine(new Interval(1, 2)), new Interval(Math.Min(Math.Sin(1), Math.Sin(2)), 1));94 Assert.AreEqual<Interval>(Interval.Sine(new Interval(1, 3)), new Interval(Math.Min(Math.Sin(1), Math.Sin(3)), 1));95 Assert.AreEqual<Interval>(Interval.Sine(new Interval(Math.PI, 5 * Math.PI / 2)), new Interval(-1, 1));108 CheckLowerAndUpperBoundOfInterval(Interval.Sine(new Interval(Math.PI, 3 * Math.PI / 2)), new Interval(-1, 0)); 109 CheckLowerAndUpperBoundOfInterval(Interval.Sine(new Interval(1, 2)), new Interval(Math.Min(Math.Sin(1), Math.Sin(2)), 1)); 110 CheckLowerAndUpperBoundOfInterval(Interval.Sine(new Interval(1, 3)), new Interval(Math.Min(Math.Sin(1), Math.Sin(3)), 1)); 111 CheckLowerAndUpperBoundOfInterval(Interval.Sine(new Interval(Math.PI, 5 * Math.PI / 2)), new Interval(-1, 1)); 96 112 } 97 113 … … 101 117 public void CosineIntervalTest() { 102 118 //Cosine uses sine Interval.Sine(Interval.Subtract(a, new Interval(Math.PI / 2, Math.PI / 2))); 103 Assert.AreEqual<Interval>(Interval.Cosine(new Interval(0, 2 * Math.PI)), new Interval(-1, 1));104 Assert.AreEqual<Interval>(new Interval(-1, 1), Interval.Cosine(new Interval(Math.PI, 4 * Math.PI / 2)));119 CheckLowerAndUpperBoundOfInterval(Interval.Cosine(new Interval(0, 2 * Math.PI)), new Interval(-1, 1)); 120 CheckLowerAndUpperBoundOfInterval(new Interval(-1, 1), Interval.Cosine(new Interval(Math.PI, 4 * Math.PI / 2))); 105 121 } 106 122 … … 110 126 public void LogIntervalTest() { 111 127 //Log([3, 5]) = [log(3), log(5)] 112 Assert.AreEqual<Interval>(new Interval(Math.Log(3), Math.Log(5)), Interval.Logarithm(new Interval(3, 5)));128 CheckLowerAndUpperBoundOfInterval(new Interval(Math.Log(3), Math.Log(5)), Interval.Logarithm(new Interval(3, 5))); 113 129 //Log([0.5, 1]) = [log(0.5), log(1)] 114 Assert.AreEqual<Interval>(new Interval(Math.Log(0.5), 0), Interval.Logarithm(new Interval(0.5, 1)));130 CheckLowerAndUpperBoundOfInterval(new Interval(Math.Log(0.5), 0), Interval.Logarithm(new Interval(0.5, 1))); 115 131 //Log([-1, 5]) = [NaN, log(5)] 116 132 var result = Interval.Logarithm(new Interval(-1, 5)); 117 Assert.AreEqual<Interval>(new Interval(double.NaN, Math.Log(5)),result);133 CheckLowerAndUpperBoundOfInterval(new Interval(double.NaN, Math.Log(5)),result); 118 134 Assert.IsTrue(result.IsInfiniteOrUndefined); 119 135 } … … 125 141 public void ExponentialIntervalTest() { 126 142 //Exp([0, 1]) = [exp(0), exp(1)] 127 Assert.AreEqual<Interval>(new Interval(1, Math.Exp(1)), Interval.Exponential(new Interval(0, 1)));143 CheckLowerAndUpperBoundOfInterval(new Interval(1, Math.Exp(1)), Interval.Exponential(new Interval(0, 1))); 128 144 } 129 145 … … 133 149 [TestProperty("Time", "short")] 134 150 public void SquareIntervalTest() { 135 Assert.AreEqual<Interval>(new Interval(1, 4), Interval.Square(new Interval(1, 2)));136 Assert.AreEqual<Interval>(new Interval(1, 4), Interval.Square(new Interval(-2, -1)));137 Assert.AreEqual<Interval>(new Interval(0, 4), Interval.Square(new Interval(-2, 2)));151 CheckLowerAndUpperBoundOfInterval(new Interval(1, 4), Interval.Square(new Interval(1, 2))); 152 CheckLowerAndUpperBoundOfInterval(new Interval(1, 4), Interval.Square(new Interval(-2, -1))); 153 CheckLowerAndUpperBoundOfInterval(new Interval(0, 4), Interval.Square(new Interval(-2, 2))); 138 154 } 139 155 … … 142 158 [TestProperty("Time", "short")] 143 159 public void SquarerootIntervalTest() { 144 Assert.AreEqual<Interval>(new Interval(-2, 2), Interval.SquareRoot(new Interval(1, 4)));145 Assert.AreEqual<Interval>(new Interval(double.NaN, double.NaN), Interval.SquareRoot(new Interval(-4, -1)));160 CheckLowerAndUpperBoundOfInterval(new Interval(-2, 2), Interval.SquareRoot(new Interval(1, 4))); 161 CheckLowerAndUpperBoundOfInterval(new Interval(double.NaN, double.NaN), Interval.SquareRoot(new Interval(-4, -1))); 146 162 } 147 163 … … 150 166 [TestProperty("Time", "short")] 151 167 public void CubeIntervalTest() { 152 Assert.AreEqual<Interval>(new Interval(1, 8), Interval.Cube(new Interval(1, 2)));153 Assert.AreEqual<Interval>(new Interval(-8, -1), Interval.Cube(new Interval(-2, -1)));154 Assert.AreEqual<Interval>(new Interval(-8, 8), Interval.Cube(new Interval(-2, 2)));168 CheckLowerAndUpperBoundOfInterval(new Interval(1, 8), Interval.Cube(new Interval(1, 2))); 169 CheckLowerAndUpperBoundOfInterval(new Interval(-8, -1), Interval.Cube(new Interval(-2, -1))); 170 CheckLowerAndUpperBoundOfInterval(new Interval(-8, 8), Interval.Cube(new Interval(-2, 2))); 155 171 } 156 172 … … 159 175 [TestProperty("Time", "short")] 160 176 public void CubeRootIntervalTest() { 161 Assert.AreEqual<Interval>(new Interval(1, 2), Interval.CubicRoot(new Interval(1, 8)));162 Assert.AreEqual<Interval>(new Interval(-2, -2), Interval.CubicRoot(new Interval(-8, -8)));163 Assert.AreEqual<Interval>(new Interval(-2, 2), Interval.CubicRoot(new Interval(-8, 8)));177 CheckLowerAndUpperBoundOfInterval(new Interval(1, 2), Interval.CubicRoot(new Interval(1, 8))); 178 CheckLowerAndUpperBoundOfInterval(new Interval(-2, -2), Interval.CubicRoot(new Interval(-8, -8))); 179 CheckLowerAndUpperBoundOfInterval(new Interval(-2, 2), Interval.CubicRoot(new Interval(-8, 8))); 164 180 Assert.AreEqual(new Interval(2, 2), Interval.CubicRoot(new Interval(8, 8))); 165 181 Assert.AreEqual(new Interval(-Math.Pow(6, 1.0 / 3), 2), Interval.CubicRoot(new Interval(-6, 8))); … … 204 220 //Assert.AreEqual(new Interval(aZero.LowerBound/Math.Sqrt(5), aZero.UpperBound/Math.Sqrt(5)), Interval.AnalyticalQuotient(aZero, bNeg)); 205 221 //Assert.AreEqual(new Interval(aNeg.LowerBound/Math.Sqrt(5), aNeg.UpperBound/Math.Sqrt(17)), Interval.AnalyticalQuotient(aNeg, bNeg)); 206 Assert.AreEqual(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Analytic alQuotient(aPos, bZero));207 Assert.AreEqual(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Analytic alQuotient(aPos, bPos));208 Assert.AreEqual(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Analytic alQuotient(aZero, bNeg));222 Assert.AreEqual(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.AnalyticQuotient(aPos, bZero)); 223 Assert.AreEqual(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.AnalyticQuotient(aPos, bPos)); 224 Assert.AreEqual(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.AnalyticQuotient(aZero, bNeg)); 209 225 } 210 226 … … 312 328 [TestCategory("Problems.DataAnalysis")] 313 329 [TestProperty("Time", "short")] 330 public void GeometricTest() { 331 CheckLowerAndUpperBoundOfInterval(new Interval(-1, -0.936456687290796), Interval.Cosine(new Interval(3, 3.5))); 332 CheckLowerAndUpperBoundOfInterval(new Interval(-1, -0.936456687290796), Interval.Cosine(new Interval(-3.5, -3))); 333 CheckLowerAndUpperBoundOfInterval(new Interval(-1, 1), Interval.Cosine(new Interval(-3.5, 3))); 334 CheckLowerAndUpperBoundOfInterval(new Interval(-0.839071529076452, 0.843853958732493), Interval.Cosine(new Interval(10, 12))); 335 CheckLowerAndUpperBoundOfInterval(new Interval(0.136737218207833, 0.907446781450197), Interval.Cosine(new Interval(13, 14))); 336 CheckLowerAndUpperBoundOfInterval(new Interval(-0.839071529076452, 1), Interval.Cosine(new Interval(10, 14))); 337 CheckLowerAndUpperBoundOfInterval(new Interval(-1, 0.136737218207833), Interval.Cosine(new Interval(14, 16))); 338 CheckLowerAndUpperBoundOfInterval(new Interval(-0.839071529076452, 0.004425697988051), Interval.Cosine(new Interval(-11, -10))); 339 CheckLowerAndUpperBoundOfInterval(new Interval(0.136737218207833, 0.907446781450197), Interval.Cosine(new Interval(-14, -13))); 340 CheckLowerAndUpperBoundOfInterval(new Interval(-1, 0.136737218207833), Interval.Cosine(new Interval(-16, -14))); 341 CheckLowerAndUpperBoundOfInterval(new Interval(0.101585703696621, 1), Interval.Cosine(new Interval(-102, -100))); 342 CheckLowerAndUpperBoundOfInterval(new Interval(-1, 1), Interval.Cosine(new Interval(4.6e15, 4.7e15))); 343 CheckLowerAndUpperBoundOfInterval(new Interval(0.87758256189037265, 0.87758256189037276), Interval.Cosine(new Interval(0.5, 0.5))); 344 CheckLowerAndUpperBoundOfInterval(new Interval(-0.09904103659872825, 0.8775825618903728), Interval.Cosine(new Interval(0.5, 1.67))); 345 CheckLowerAndUpperBoundOfInterval(new Interval(-1.0, 0.77556587851025016), Interval.Cosine(new Interval(2.1, 5.6))); 346 CheckLowerAndUpperBoundOfInterval(new Interval(-1.0, 1.0), Interval.Cosine(new Interval(0.5, 8.5))); 347 CheckLowerAndUpperBoundOfInterval(new Interval(-1.0, -0.09904103659872801), Interval.Cosine(new Interval(1.67, 3.2))); 348 349 CheckLowerAndUpperBoundOfInterval(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Tangens(new Interval(double.NegativeInfinity, double.PositiveInfinity))); 350 CheckLowerAndUpperBoundOfInterval(new Interval(0, 1.55740772465490223051), Interval.Tangens(new Interval(0, 1))); 351 CheckLowerAndUpperBoundOfInterval(new Interval(-1.55740772465490223051, 0), Interval.Tangens(new Interval(-1, 0))); 352 CheckLowerAndUpperBoundOfInterval(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Tangens(new Interval(-2, -1))); 353 CheckLowerAndUpperBoundOfInterval(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Tangens(new Interval(202, 203))); 354 CheckLowerAndUpperBoundOfInterval(new Interval(0.54630248984379048, 0.5463024898437906), Interval.Tangens(new Interval(0.5, 0.5))); 355 CheckLowerAndUpperBoundOfInterval(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Tangens(new Interval(0.5, 356 1.67))); 357 358 CheckLowerAndUpperBoundOfInterval(new Interval(double.NegativeInfinity, double.PositiveInfinity), Interval.Tangens(new Interval( 359 6.638314112824137, 8.38263151220128))); 360 361 CheckLowerAndUpperBoundOfInterval(new Interval(0.47942553860420295, 0.47942553860420301), Interval.Sine(new Interval(0.5, 0.5))); 362 CheckLowerAndUpperBoundOfInterval(new Interval(4.7942553860420295e-01, 1.0), Interval.Sine(new Interval(0.5, 1.67))); 363 CheckLowerAndUpperBoundOfInterval(new Interval(-5.8374143427580093e-02, 9.9508334981018021e-01), Interval.Sine(new Interval(1.67, 364 3.2))); 365 CheckLowerAndUpperBoundOfInterval(new Interval(-1.0, 0.863209366648874), Interval.Sine(new Interval(2.1, 5.6))); 366 CheckLowerAndUpperBoundOfInterval(new Interval(-1.0, 1.0), Interval.Sine(new Interval(0.5, 8.5))); 367 CheckLowerAndUpperBoundOfInterval(new Interval(-1.0, 0.9775301176650971), Interval.Sine(new Interval(-4.5, 0.1))); 368 CheckLowerAndUpperBoundOfInterval(new Interval(-1.0, 1.0), Interval.Sine(new Interval(1.3, 6.3))); 369 } 370 371 [TestMethod] 372 [TestCategory("Problems.DataAnalysis")] 373 [TestProperty("Time", "short")] 314 374 public void EqualsTest() { 315 375 var interval1 = new Interval(0, 12); -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis-3.4/RegressionVariableImpactCalculationTest.cs
r16723 r18087 271 271 private Dictionary<string, double> GetExpectedValuesForRFTower() { 272 272 Dictionary<string, double> expectedImpacts = new Dictionary<string, double>(); 273 expectedImpacts.Add("x 5", 0.00138095702433039);274 expectedImpacts.Add("x 19", 0.00220739387855795);275 expectedImpacts.Add("x 14", 0.00225120540266954);276 expectedImpacts.Add("x 18", 0.00311857736968479);277 expectedImpacts.Add("x 9", 0.00313474690023097);278 expectedImpacts.Add("x 20", 0.00321781251408282);279 expectedImpacts.Add("x 21", 0.00397483365571383);280 expectedImpacts.Add("x 16", 0.00433280262892111);281 expectedImpacts.Add("x 15", 0.00529918809786456);282 expectedImpacts.Add("x 3", 0.00658791244929757);283 expectedImpacts.Add("x 24", 0.0078645281886035);284 expectedImpacts.Add("x 4", 0.00907314110749047);285 expectedImpacts.Add("x13", 0.0 102943761648944);286 expectedImpacts.Add("x 22", 0.0107132858548163);287 expectedImpacts.Add("x1 2", 0.0157078677788507);288 expectedImpacts.Add("x 23", 0.0235857534562318);289 expectedImpacts.Add("x 7", 0.0304143401617055);290 expectedImpacts.Add("x1 1", 0.0310773441767309);291 expectedImpacts.Add("x 25", 0.0328308945873665);292 expectedImpacts.Add("x 17", 0.0428771226844575);293 expectedImpacts.Add("x 10", 0.0456335367972532);294 expectedImpacts.Add("x 8", 0.049849257881126);295 expectedImpacts.Add("x 1", 0.0663686086323108);296 expectedImpacts.Add("x2 ", 0.0799083890750926);297 expectedImpacts.Add("x 6", 0.196557814244287);273 expectedImpacts.Add("x1", 0.0460043373592669); 274 expectedImpacts.Add("x2", 0.0771677998074048); 275 expectedImpacts.Add("x3", 0.00619316631767142); 276 expectedImpacts.Add("x4", 0.0173307649229608); 277 expectedImpacts.Add("x5", 0.00165078943166208); 278 expectedImpacts.Add("x6", 0.393797136971534); 279 expectedImpacts.Add("x7", 0.0103041010136826); 280 expectedImpacts.Add("x8", 0.0218489557817256); 281 expectedImpacts.Add("x9", 0.0033320239547433); 282 expectedImpacts.Add("x10", 0.0386869026272391); 283 expectedImpacts.Add("x11", 0.0194313200667007); 284 expectedImpacts.Add("x12", 0.00685957264555537); 285 expectedImpacts.Add("x13", 0.00996030046057605); 286 expectedImpacts.Add("x14", 0.00290837005063926); 287 expectedImpacts.Add("x15", 0.00487537076065259); 288 expectedImpacts.Add("x16", 0.00469764322452204); 289 expectedImpacts.Add("x17", 0.0373542975924628); 290 expectedImpacts.Add("x18", 0.00208482408757715); 291 expectedImpacts.Add("x19", 0.00250463259329947); 292 expectedImpacts.Add("x20", 0.00211501042751294); 293 expectedImpacts.Add("x21", 0.0028823562854704); 294 expectedImpacts.Add("x22", 0.0113878041309722); 295 expectedImpacts.Add("x23", 0.0454532954039953); 296 expectedImpacts.Add("x24", 0.0115989415893684); 297 expectedImpacts.Add("x25", 0.0196479481586532); 298 298 299 299 return expectedImpacts; -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeInterpreterTest.cs
r17226 r18087 274 274 [TestProperty("Time", "long")] 275 275 public void TestCompiledInterpreterEstimatedValuesConsistency() { 276 const double delta = 1e- 12;276 const double delta = 1e-8; 277 277 278 278 var twister = new MersenneTwister(); … … 288 288 grammar.ConfigureAsDefaultRegressionGrammar(); 289 289 grammar.Symbols.First(x => x.Name == "Power Functions").Enabled = true; 290 grammar.Symbols.First(x => x is Cube).Enabled = true; 291 grammar.Symbols.First(x => x is CubeRoot).Enabled = true; 292 grammar.Symbols.First(x => x is Square).Enabled = true; 293 grammar.Symbols.First(x => x is SquareRoot).Enabled = true; 294 grammar.Symbols.First(x => x is Absolute).Enabled = true; 295 grammar.Symbols.First(x => x is Sine).Enabled = true; 296 grammar.Symbols.First(x => x is Cosine).Enabled = true; 297 grammar.Symbols.First(x => x is Tangent).Enabled = true; 298 grammar.Symbols.First(x => x is Root).Enabled = false; 299 grammar.Symbols.First(x => x is Power).Enabled = false; 290 300 291 301 var randomTrees = Util.CreateRandomTrees(twister, dataset, grammar, N, 1, 10, 0, 0); … … 311 321 var v2 = valuesMatrix[n][row]; 312 322 if (double.IsNaN(v1) && double.IsNaN(v2)) continue; 313 if ( Math.Abs(v1 - v2) >delta) {323 if (v1 != v2 && Math.Abs(1.0 - v1 / v2) >= delta) { 314 324 Console.WriteLine(formatter.Format(tree)); 315 325 foreach (var node in tree.Root.GetSubtree(0).GetSubtree(0).IterateNodesPrefix().ToList()) { … … 339 349 } 340 350 string errorMessage = string.Format("Interpreters {0} and {1} do not agree on tree {2} and row {3} (seed = {4}).", interpreters[m].Name, interpreters[n].Name, i, row, seed); 341 Assert.AreEqual(v1, v2, delta, errorMessage); 351 Assert.IsTrue(double.IsNaN(v1) && double.IsNaN(v2) || 352 v1 == v2 || // in particular 0 = 0 353 Math.Abs(1.0 - v1 / v2) < delta, errorMessage); 342 354 } 343 355 } -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Problems.DataAnalysis.Symbolic-3.4/SymbolicDataAnalysisExpressionTreeSimplifierTest.cs
r17226 r18087 99 99 #region root rules 100 100 // cancellation 101 AssertEqualAfterSimplification("(root (variable 2.0 a) 0.0)", " 1.0");101 AssertEqualAfterSimplification("(root (variable 2.0 a) 0.0)", "NaN"); 102 102 // fixed point 103 103 AssertEqualAfterSimplification("(root (variable 2.0 a) 1.0)", "(variable 2.0 a)"); … … 269 269 270 270 #endregion 271 272 #region do not drop subtrees with small weights 273 AssertEqualAfterSimplification("(* 1e-14 (variable 1.0 a))", "(variable 1e-14 a)"); 274 AssertEqualAfterSimplification("(+ (variable 1.0 a) 1e-14)", 275 "(+ (variable 1.0 a) 1e-14)"); 276 // a scenario where a term with small weight can have large effect 277 AssertEqualAfterSimplification("(+ (* (pow (variable 1.0 a) 10) 1e-14) 1.0)", 278 "(+ (* (pow (variable 1.0 a) 10) 1e-14) 1.0)"); 279 // a test case (from ticket #2985) 280 AssertEqualAfterSimplification("(+ (* (exp (variable 3.5861E+001 a)) 5.5606E-016) 5.9323E-002)", 281 "(+ (* (exp (variable 3.5861E+001 a)) 5.5606E-016) 5.9323E-002)"); 282 #endregion 271 283 } 272 284 -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Scripting-3.3/GridSearchRFClassificationScriptTest.cs
r17226 r18087 59 59 60 60 var bestSolution = ScriptingUtils.GetVariable<IClassificationSolution>(script, BestSolutionVariableName); 61 Assert.AreEqual(0.85 179407176287, bestSolution.TrainingAccuracy, 1E-8);62 Assert.AreEqual(0.8 1875, bestSolution.TestAccuracy, 1E-8);61 Assert.AreEqual(0.858034321372855, bestSolution.TrainingAccuracy, 1E-8); 62 Assert.AreEqual(0.821875, bestSolution.TestAccuracy, 1E-8); 63 63 } 64 64 -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Scripting-3.3/GridSearchRFRegressionScriptTest.cs
r17226 r18087 59 59 60 60 var bestSolution = ScriptingUtils.GetVariable<IRegressionSolution>(script, BestSolutionVariableName); 61 Assert.AreEqual(0.96 8329534139836, bestSolution.TrainingRSquared, 1E-8);62 Assert.AreEqual(0.98 2380790563445, bestSolution.TestRSquared, 1E-8);61 Assert.AreEqual(0.964218622548574, bestSolution.TrainingRSquared, 1E-8); 62 Assert.AreEqual(0.985989017766796, bestSolution.TestRSquared, 1E-8); 63 63 } 64 64 -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Scripting-3.3/Script Sources/GridSearchRFClassificationScriptSource.cs
r12292 r18087 38 38 double rmsError, outOfBagRmsError, relClassificationError, outOfBagRelClassificationError; 39 39 bestParameters = RandomForestUtil.GridSearch(problemData, numberOfFolds, shuffleFolds, randomForestParameterRanges, seed, maximumDegreeOfParallelism); 40 var model = RandomForest Model.CreateClassificationModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed,41 out rmsError, out outOfBagRmsError, out relClassificationError, out outOfBagRelClassificationError);40 var model = RandomForestClassification.CreateRandomForestClassificationModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed, 41 out rmsError, out relClassificationError, out outOfBagRmsError, out outOfBagRelClassificationError); 42 42 return (RandomForestClassificationSolution)model.CreateClassificationSolution(problemData); 43 43 } … … 46 46 double rmsError, outOfBagRmsError, relClassificationError, outOfBagRelClassificationError; 47 47 bestParameters = RandomForestUtil.GridSearch(problemData, randomForestParameterRanges, seed, maximumDegreeOfParallelism); 48 var model = RandomForest Model.CreateClassificationModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed,49 out rmsError, out outOfBagRmsError, out relClassificationError, out outOfBagRelClassificationError);48 var model = RandomForestClassification.CreateRandomForestClassificationModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed, 49 out rmsError, out relClassificationError, out outOfBagRmsError, out outOfBagRelClassificationError); 50 50 return (RandomForestClassificationSolution)model.CreateClassificationSolution(problemData); 51 51 } -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Scripting-3.3/Script Sources/GridSearchRFRegressionScriptSource.cs
r12292 r18087 14 14 /* Number of crossvalidation folds: */ 15 15 const int numberOfFolds = 3; 16 /* Specify whether the crossvalidation folds should be shuffled */17 const bool shuffleFolds = true;18 16 19 17 /* The tunable Random Forest parameters: … … 37 35 private static RandomForestRegressionSolution GridSearchWithCrossvalidation(IRegressionProblemData problemData, out RFParameter bestParameters, int seed = 3141519) { 38 36 double rmsError, outOfBagRmsError, avgRelError, outOfBagAvgRelError; 39 bestParameters = RandomForestUtil.GridSearch(problemData, numberOfFolds, shuffleFolds, randomForestParameterRanges, seed, maximumDegreeOfParallelism); 40 var model = RandomForestModel.CreateRegressionModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed, out rmsError, out outOfBagRmsError, out avgRelError, out outOfBagAvgRelError); 37 bestParameters = RandomForestUtil.GridSearch(problemData, numberOfFolds, randomForestParameterRanges, seed, maximumDegreeOfParallelism); 38 var model = RandomForestRegression.CreateRandomForestRegressionModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed, 39 out rmsError, out avgRelError, out outOfBagRmsError, out outOfBagAvgRelError); 41 40 return (RandomForestRegressionSolution)model.CreateRegressionSolution(problemData); 42 41 } … … 46 45 var random = new MersenneTwister(); 47 46 bestParameters = RandomForestUtil.GridSearch(problemData, randomForestParameterRanges, seed, maximumDegreeOfParallelism); 48 var model = RandomForest Model.CreateRegressionModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed,49 out rmsError, out outOfBagRmsError, out avgRelError, out outOfBagAvgRelError);47 var model = RandomForestRegression.CreateRandomForestRegressionModel(problemData, problemData.TrainingIndices, bestParameters.N, bestParameters.R, bestParameters.M, seed, 48 out rmsError, out avgRelError, out outOfBagRmsError, out outOfBagAvgRelError); 50 49 return (RandomForestRegressionSolution)model.CreateRegressionSolution(problemData); 51 50 } -
branches/2521_ProblemRefactoring/HeuristicLab.Tests/HeuristicLab.Tests.csproj
r17338 r18087 109 109 </PropertyGroup> 110 110 <ItemGroup> 111 <Reference Include="ALGLIB-3. 7.0">112 <HintPath>..\bin\ALGLIB-3. 7.0.dll</HintPath>111 <Reference Include="ALGLIB-3.17.0"> 112 <HintPath>..\bin\ALGLIB-3.17.0.dll</HintPath> 113 113 <Private>False</Private> 114 114 </Reference> … … 206 206 <SpecificVersion>False</SpecificVersion> 207 207 <HintPath>..\bin\HeuristicLab.Encodings.LinearLinkageEncoding-3.4.dll</HintPath> 208 <Private>False</Private> 208 209 </Reference> 209 210 <Reference Include="HeuristicLab.Encodings.PermutationEncoding-3.3"> … … 282 283 <Private>False</Private> 283 284 </Reference> 284 <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4"> 285 <Reference Include="HeuristicLab.Problems.DataAnalysis-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 286 <SpecificVersion>False</SpecificVersion> 285 287 <HintPath>..\bin\HeuristicLab.Problems.DataAnalysis-3.4.dll</HintPath> 286 288 <Private>False</Private> 287 289 </Reference> 288 <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4"> 290 <Reference Include="HeuristicLab.Problems.DataAnalysis.Symbolic-3.4, Version=3.4.0.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL"> 291 <SpecificVersion>False</SpecificVersion> 289 292 <HintPath>..\bin\HeuristicLab.Problems.DataAnalysis.Symbolic-3.4.dll</HintPath> 290 293 <Private>False</Private> … … 473 476 <Compile Include="HeuristicLab-3.3\Samples\OSESGriewankSampleTest.cs" /> 474 477 <Compile Include="HeuristicLab-3.3\Samples\GAGroupingProblemSampleTest.cs" /> 478 <Compile Include="HeuristicLab-3.3\Samples\ShapeConstrainedRegressionSampleTest.cs" /> 475 479 <Compile Include="HeuristicLab-3.3\Samples\LocalSearchKnapsackSampleTest.cs" /> 476 480 <Compile Include="HeuristicLab-3.3\Samples\SimulatedAnnealingRastriginSampleTest.cs" /> … … 498 502 <Compile Include="HeuristicLab-3.3\ToStringTest.cs" /> 499 503 <Compile Include="HeuristicLab.Algorithms.DataAnalysis-3.4\GradientBoostingTest.cs" /> 504 <Compile Include="HeuristicLab.Algorithms.DataAnalysis-3.4\CrossValidationTest.cs" /> 500 505 <Compile Include="HeuristicLab.Algorithms.DataAnalysis-3.4\NcaAlgorithmTest.cs" /> 501 506 <Compile Include="HeuristicLab.Algorithms.DataAnalysis-3.4\SupportVectorMachineTest.cs" />
Note: See TracChangeset
for help on using the changeset viewer.