Changeset 11151
- Timestamp:
- 07/08/14 20:02:59 (10 years ago)
- Location:
- stable
- Files:
-
- 12 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:ignore
-
old new 8 8 FxCopResults.txt 9 9 Google.ProtocolBuffers-0.9.1.dll 10 Google.ProtocolBuffers-2.4.1.473.dll 10 11 HeuristicLab 3.3.5.1.ReSharper.user 11 12 HeuristicLab 3.3.6.0.ReSharper.user 12 13 HeuristicLab.4.5.resharper.user 13 14 HeuristicLab.ExtLibs.6.0.ReSharper.user 15 HeuristicLab.Scripting.Development 14 16 HeuristicLab.resharper.user 15 17 ProtoGen.exe … … 17 19 _ReSharper.HeuristicLab 18 20 _ReSharper.HeuristicLab 3.3 21 _ReSharper.HeuristicLab 3.3 Tests 19 22 _ReSharper.HeuristicLab.ExtLibs 20 23 bin 21 24 protoc.exe 22 _ReSharper.HeuristicLab 3.3 Tests23 Google.ProtocolBuffers-2.4.1.473.dll
-
- Property svn:mergeinfo changed
/trunk/sources merged: 10601-10607,10653,11075-11077,11080-11081
- Property svn:ignore
-
stable/HeuristicLab 3.3.sln
r11103 r11151 32 32 {F62BCD22-FB83-4444-9401-8031C2487A86} = {F62BCD22-FB83-4444-9401-8031C2487A86} 33 33 {E0B45023-CB84-48A1-A1B7-8295B64B7BAD} = {E0B45023-CB84-48A1-A1B7-8295B64B7BAD} 34 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED} = {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED} 34 35 {CDA28124-ACD0-4231-8EB0-C510B361F84E} = {CDA28124-ACD0-4231-8EB0-C510B361F84E} 35 36 {14AB8D24-25BC-400C-A846-4627AA945192} = {14AB8D24-25BC-400C-A846-4627AA945192} … … 110 111 {F4539FB6-4708-40C9-BE64-0A1390AEA197} = {F4539FB6-4708-40C9-BE64-0A1390AEA197} 111 112 {A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C} = {A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C} 113 {D2C39FBA-A1D5-403A-9211-B0A299A76313} = {D2C39FBA-A1D5-403A-9211-B0A299A76313} 112 114 {958B43BC-CC5C-4FA2-8628-2B3B01D890B6} = {958B43BC-CC5C-4FA2-8628-2B3B01D890B6} 113 115 {AB687BBE-1BFE-476B-906D-44237135431D} = {AB687BBE-1BFE-476B-906D-44237135431D} … … 387 389 EndProject 388 390 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.GrammaticalEvolution-3.3", "HeuristicLab.Problems.GrammaticalEvolution\3.3\HeuristicLab.Problems.GrammaticalEvolution-3.3.csproj", "{7FC70D74-1813-48B7-9CE5-0BD913457579}" 391 EndProject 392 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.ParameterOptimization-3.3", "HeuristicLab.Problems.ParameterOptimization\3.3\HeuristicLab.Problems.ParameterOptimization-3.3.csproj", "{D2C39FBA-A1D5-403A-9211-B0A299A76313}" 393 EndProject 394 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Problems.ExternalEvaluation.Scilab-3.3", "HeuristicLab.Problems.ExternalEvaluation.Scilab\3.3\HeuristicLab.Problems.ExternalEvaluation.Scilab-3.3.csproj", "{C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}" 389 395 EndProject 390 396 Global … … 1886 1892 {7FC70D74-1813-48B7-9CE5-0BD913457579}.Release|x86.ActiveCfg = Release|x86 1887 1893 {7FC70D74-1813-48B7-9CE5-0BD913457579}.Release|x86.Build.0 = Release|x86 1894 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 1895 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Debug|Any CPU.Build.0 = Debug|Any CPU 1896 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Debug|x64.ActiveCfg = Debug|x64 1897 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Debug|x64.Build.0 = Debug|x64 1898 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Debug|x86.ActiveCfg = Debug|x86 1899 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Debug|x86.Build.0 = Debug|x86 1900 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Release|Any CPU.ActiveCfg = Release|Any CPU 1901 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Release|Any CPU.Build.0 = Release|Any CPU 1902 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Release|x64.ActiveCfg = Release|x64 1903 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Release|x64.Build.0 = Release|x64 1904 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Release|x86.ActiveCfg = Release|x86 1905 {D2C39FBA-A1D5-403A-9211-B0A299A76313}.Release|x86.Build.0 = Release|x86 1906 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 1907 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Debug|Any CPU.Build.0 = Debug|Any CPU 1908 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Debug|x64.ActiveCfg = Debug|x64 1909 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Debug|x64.Build.0 = Debug|x64 1910 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Debug|x86.ActiveCfg = Debug|x86 1911 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Debug|x86.Build.0 = Debug|x86 1912 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Release|Any CPU.ActiveCfg = Release|Any CPU 1913 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Release|Any CPU.Build.0 = Release|Any CPU 1914 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Release|x64.ActiveCfg = Release|x64 1915 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Release|x64.Build.0 = Release|x64 1916 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Release|x86.ActiveCfg = Release|x86 1917 {C633FB23-BAE6-448E-BF5D-E1F9A839B5ED}.Release|x86.Build.0 = Release|x86 1888 1918 EndGlobalSection 1889 1919 GlobalSection(SolutionProperties) = preSolution -
stable/HeuristicLab.ExtLibs
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.ExtLibs merged: 10601-10602,10604,11075
- Property svn:mergeinfo changed
-
stable/HeuristicLab.ExtLibs.sln
r9931 r11151 44 44 EndProject 45 45 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.EPPlus-3.1.3", "HeuristicLab.ExtLibs\HeuristicLab.EPPlus\3.1.3\HeuristicLab.EPPlus-3.1.3\HeuristicLab.EPPlus-3.1.3.csproj", "{B8B9E73B-18DE-4781-8F31-D3472BA9DB66}" 46 EndProject 47 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotNetScilab-1.0", "HeuristicLab.ExtLibs\HeuristicLab.DotNetScilab\1.0\DotNetScilab-1.0\DotNetScilab-1.0.csproj", "{C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}" 48 EndProject 49 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.DotNetScilab-1.0", "HeuristicLab.ExtLibs\HeuristicLab.DotNetScilab\1.0\HeuristicLab.DotNetScilab-1.0\HeuristicLab.DotNetScilab-1.0.csproj", "{F2F242B0-9996-4B49-828D-2BFC5925FDE0}" 46 50 EndProject 47 51 Global … … 283 287 {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|x86.ActiveCfg = Release|x86 284 288 {B8B9E73B-18DE-4781-8F31-D3472BA9DB66}.Release|x86.Build.0 = Release|x86 289 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 290 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Debug|Any CPU.Build.0 = Debug|Any CPU 291 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Debug|x64.ActiveCfg = Debug|x64 292 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Debug|x64.Build.0 = Debug|x64 293 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Debug|x86.ActiveCfg = Debug|x86 294 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Debug|x86.Build.0 = Debug|x86 295 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Release|Any CPU.ActiveCfg = Release|Any CPU 296 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Release|Any CPU.Build.0 = Release|Any CPU 297 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Release|x64.ActiveCfg = Release|x64 298 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Release|x64.Build.0 = Release|x64 299 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Release|x86.ActiveCfg = Release|x86 300 {C3F0C7DC-82AD-405B-990A-BF2C5B7F46FF}.Release|x86.Build.0 = Release|x86 301 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 302 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Debug|Any CPU.Build.0 = Debug|Any CPU 303 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Debug|x64.ActiveCfg = Debug|Any CPU 304 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Debug|x86.ActiveCfg = Debug|Any CPU 305 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Release|Any CPU.ActiveCfg = Release|Any CPU 306 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Release|Any CPU.Build.0 = Release|Any CPU 307 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Release|x64.ActiveCfg = Release|Any CPU 308 {F2F242B0-9996-4B49-828D-2BFC5925FDE0}.Release|x86.ActiveCfg = Release|Any CPU 285 309 EndGlobalSection 286 310 GlobalSection(SolutionProperties) = preSolution -
stable/HeuristicLab.ExtLibs/HeuristicLab.DotNetScilab/1.0/HeuristicLab.DotNetScilab-1.0/HeuristicLab.DotNetScilab-1.0.csproj
r10602 r11151 64 64 <Name>HeuristicLab.PluginInfrastructure-3.3</Name> 65 65 </ProjectReference> 66 <ProjectReference Include="..\DotNetScilab-1.0\DotNetScilab-1.0.csproj"> 67 <Project>{c3f0c7dc-82ad-405b-990a-bf2c5b7f46ff}</Project> 68 <Name>DotNetScilab-1.0</Name> 69 </ProjectReference> 66 70 </ItemGroup> 67 71 <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> -
stable/HeuristicLab.Problems.ExternalEvaluation.Scilab/3.3/ScilabParameterOptimizationProblem.cs
r10595 r11151 75 75 Parameters.Add(new FixedValueParameter<StringValue>(QualityVariableParameterName, "The name of the quality variable of the Scilab script.", new StringValue("quality"))); 76 76 Parameters.Add(new FixedValueParameter<TextFileValue>(ScilabEvaluationScriptParameterName, "The path to the Scilab evaluation script.", new TextFileValue())); 77 Parameters.Add(new FixedValueParameter<TextFileValue>(ScilabInitializationScriptParameterName, "The path to a Scilab script th e should be execute before the evaluationstarts.", new TextFileValue()));77 Parameters.Add(new FixedValueParameter<TextFileValue>(ScilabInitializationScriptParameterName, "The path to a Scilab script that should be executed once when the algorithm starts.", new TextFileValue())); 78 78 79 79 ScilabEvaluationScript.FileDialogFilter = @"Scilab Scripts|*.sce|All files|*.*"; -
stable/HeuristicLab.Problems.ExternalEvaluation.Scilab/3.3/ScilabParameterVectorEvaluator.cs
r10605 r11151 35 35 [StorableClass] 36 36 public sealed class ScilabParameterVectorEvaluator : ParameterVectorEvaluator { 37 private const string MaximizationParameterName = "Maximization"; 37 38 private const string QualityVariableParameterName = "QualityVariableName"; 38 39 private const string ScilabEvaluationScriptParameterName = "ScilabEvaluationScript"; … … 40 41 41 42 #region parameters 43 public ILookupParameter<BoolValue> MaximizationParameter { 44 get { return (ILookupParameter<BoolValue>)Parameters[MaximizationParameterName]; } 45 } 42 46 public ILookupParameter<StringValue> QualityVariableParameter { 43 47 get { return (ILookupParameter<StringValue>)Parameters[QualityVariableParameterName]; } … … 62 66 public ScilabParameterVectorEvaluator() 63 67 : base() { 68 Parameters.Add(new LookupParameter<BoolValue>(MaximizationParameterName, "The flag which determines if this is a maximization problem.")); 64 69 Parameters.Add(new LookupParameter<StringValue>(QualityVariableParameterName, "The name of the quality variable of the Scilab script.")); 65 70 Parameters.Add(new LookupParameter<TextFileValue>(ScilabEvaluationScriptParameterName, "The path to the Scilab evaluation script.")); 66 Parameters.Add(new LookupParameter<TextFileValue>(ScilabInitializationScriptParameterName, "The path to a Scilab script th e should be execute before the evaluationstarts."));71 Parameters.Add(new LookupParameter<TextFileValue>(ScilabInitializationScriptParameterName, "The path to a Scilab script that should be executed once when the algorithm starts.")); 67 72 } 68 73 69 private readonly object locker = new object();74 private static readonly object locker = new object(); 70 75 private static ScilabConnector scilab = null; 71 76 private bool startedScilab = false; … … 80 85 81 86 int result; 82 //Scilab is used via a c++ wrapper that calls static methods. Hence it is not possible to parallelize the evaluation. 87 // Scilab is used via a c++ wrapper that calls static methods. Hence it is not possible to parallelize the evaluation. 88 // It is also not possible to run multiple algorithms solving separate Scilab optimization problems at the same time. 83 89 lock (locker) { 84 90 //initialize scilab and execute initialization script … … 96 102 var parameterVector = ParameterVectorParameter.ActualValue; 97 103 var parameterNames = ParameterNamesParameter.ActualValue; 98 if (parameterNames.Any(string.IsNullOrEmpty)) throw new ArgumentException("Not all parameter names are provided."); 104 if (parameterNames.Any(string.IsNullOrEmpty)) throw new ArgumentException("Not all parameter names are provided. Change the 'ParameterNames' parameter in the 'Problem' tab."); 105 if (ProblemSizeParameter.ActualValue.Value != parameterVector.Length || ProblemSizeParameter.ActualValue.Value != parameterNames.Length) 106 throw new ArgumentException("The size of the parameter vector or the parameter names vector does not match the problem size."); 99 107 100 108 for (int i = 0; i < ProblemSizeParameter.ActualValue.Value; i++) { … … 112 120 double quality = values[0]; 113 121 114 if (double.IsNaN(quality)) quality = double.MaxValue; 115 if (double.IsInfinity(quality)) quality = double.MaxValue; 122 var worstQualityValue = MaximizationParameter.ActualValue.Value ? double.MinValue : double.MaxValue; 123 if (double.IsNaN(quality)) quality = worstQualityValue; 124 if (double.IsInfinity(quality)) quality = worstQualityValue; 116 125 117 126 QualityParameter.ActualValue = new DoubleValue(quality); -
stable/HeuristicLab.Problems.ParameterOptimization/3.3/BestSolutionAnalyzer.cs
r10594 r11151 95 95 DoubleValue bestKnownQuality = BestKnownQualityParameter.ActualValue; 96 96 97 int ind = -1;98 if (!max) ind = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index;99 else ind = qualities.Select((x, index) => new { index, x.Value }).OrderByDescending(x => x.Value).First().index;97 int indexOfBest = -1; 98 if (!max) indexOfBest = qualities.Select((x, index) => new { index, x.Value }).OrderBy(x => x.Value).First().index; 99 else indexOfBest = qualities.Select((x, index) => new { index, x.Value }).OrderByDescending(x => x.Value).First().index; 100 100 101 var bestQuality = qualities[ind ].Value;102 var bestParameterVector = (RealVector)parameterVectors[ind ].Clone();101 var bestQuality = qualities[indexOfBest].Value; 102 var bestParameterVector = (RealVector)parameterVectors[indexOfBest].Clone(); 103 103 104 104 if (BestQualityParameter.ActualValue == null) { … … 124 124 125 125 //update best known quality 126 if (bestKnownQuality == null || max && bestQuality > bestKnownQuality.Value 126 if (bestKnownQuality == null 127 || max && bestQuality > bestKnownQuality.Value 127 128 || !max && bestQuality < bestKnownQuality.Value) { 128 129 BestKnownQualityParameter.ActualValue = new DoubleValue(bestQuality); -
stable/HeuristicLab.Problems.ParameterOptimization/3.3/BestSolutionsAnalyzer.cs
r10594 r11151 121 121 var bestSolutions = (ItemSet<DoubleArray>)results[BestSolutionsResultName].Value; 122 122 //clear best solutions if new found quality is better than the existing one 123 if (max && bestQuality > previousBestQuality 124 || !max && bestQuality < previousBestQuality) 123 if (max && bestQuality > previousBestQuality || !max && bestQuality < previousBestQuality) 125 124 bestSolutions.Clear(); 126 125 … … 134 133 } 135 134 } 136 PreviousBestQualityParameter.ActualValue = (DoubleValue)BestQualityParameter.ActualValue.Clone();137 135 136 //update best quality 137 if (max && bestQuality >= BestQualityParameter.ActualValue.Value 138 || !max && bestQuality <= BestQualityParameter.ActualValue.Value) { 139 BestQualityParameter.ActualValue.Value = bestQuality; 140 } 138 141 //update best known quality 139 142 if (bestKnownQuality == null || max && bestQuality > bestKnownQuality.Value … … 141 144 BestKnownQualityParameter.ActualValue = new DoubleValue(bestQuality); 142 145 } 146 PreviousBestQualityParameter.ActualValue = (DoubleValue)BestQualityParameter.ActualValue.Clone(); 143 147 144 148 return base.Apply(); … … 156 160 public int GetHashCode(DoubleArray obj) { 157 161 if (obj == null) return 0; 158 return obj.Aggregate(23, (current, item) => current ^ (int)item);162 return (int)obj.Aggregate(23L, (current, item) => current ^ System.BitConverter.DoubleToInt64Bits(item)); 159 163 } 160 164 } -
stable/HeuristicLab.Problems.ParameterOptimization/3.3/ParameterOptimizationProblem.cs
r10594 r11151 94 94 : base(evaluator, new UniformRandomRealVectorCreator()) { 95 95 Parameters.Add(new FixedValueParameter<IntValue>(ProblemSizeParameterName, "The dimension of the parameter vector that is to be optimized.", new IntValue(1))); 96 Parameters.Add(new ValueParameter<DoubleMatrix>(BoundsParameterName, "The bounds for each dimension of the parameter vector. If fewer bounds are", new DoubleMatrix(new double[,] { { 0, 100 } }, new string[] { "LowerBound", "UpperBound" })));96 Parameters.Add(new ValueParameter<DoubleMatrix>(BoundsParameterName, "The bounds for each dimension of the parameter vector. If the number of bounds is smaller than the problem size then the bounds are reused in a cyclic manner.", new DoubleMatrix(new double[,] { { 0, 100 } }, new string[] { "LowerBound", "UpperBound" }))); 97 97 Parameters.Add(new ValueParameter<StringArray>(ParameterNamesParameterName, "The element names which are used to calculate the quality of a parameter vector.", new StringArray(new string[] { "Parameter0" }))); 98 98 … … 121 121 protected override void OnEvaluatorChanged() { 122 122 base.OnEvaluatorChanged(); 123 strategyVectorManipulator.GeneralLearningRateParameter.Value = new DoubleValue(1.0 / Math.Sqrt(2 * ProblemSize));124 strategyVectorManipulator.LearningRateParameter.Value = new DoubleValue(1.0 / Math.Sqrt(2 * Math.Sqrt(ProblemSize)));125 123 UpdateParameters(); 126 124 } … … 136 134 Evaluator.ParameterNamesParameter.ActualName = ParameterNamesParameter.Name; 137 135 138 var bestSolutionAnalyzer = Operators.OfType<BestSolutionAnalyzer>().First();139 bestSolutionAnalyzer.ParameterVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName;140 bestSolutionAnalyzer.ParameterNamesParameter.ActualName = ParameterNamesParameter.Name;141 136 foreach (var bestSolutionAnalyzer in Operators.OfType<BestSolutionAnalyzer>()) { 137 bestSolutionAnalyzer.ParameterVectorParameter.ActualName = SolutionCreator.RealVectorParameter.ActualName; 138 bestSolutionAnalyzer.ParameterNamesParameter.ActualName = ParameterNamesParameter.Name; 139 } 142 140 Bounds = new DoubleMatrix(ProblemSize, 2); 143 141 Bounds.RowNames = ParameterNames; … … 171 169 if (string.IsNullOrEmpty(ParameterNames[i])) ParameterNames[i] = "Parameter" + i; 172 170 } 171 172 strategyVectorManipulator.GeneralLearningRateParameter.Value = new DoubleValue(1.0 / Math.Sqrt(2 * ProblemSize)); 173 strategyVectorManipulator.LearningRateParameter.Value = new DoubleValue(1.0 / Math.Sqrt(2 * Math.Sqrt(ProblemSize))); 173 174 } 174 175 -
stable/HeuristicLab.Problems.ParameterOptimization/3.3/Plugin.cs.frame
r10594 r11151 20 20 #endregion 21 21 22 using System;23 22 using HeuristicLab.PluginInfrastructure; 24 using Microsoft.Win32;25 23 26 24 namespace HeuristicLab.Problems.ParameterOptimization { -
stable/HeuristicLab.Problems.ParameterOptimization/3.3/Properties/AssemblyInfo.cs.frame
r10605 r11151 27 27 // associated with an assembly. 28 28 [assembly: AssemblyTitle("HeuristicLab.Problems.ParameterOptimization")] 29 [assembly: AssemblyDescription("HeuristicLab problem sfor parameter optimization.")]29 [assembly: AssemblyDescription("HeuristicLab problem for parameter optimization.")] 30 30 [assembly: AssemblyConfiguration("")] 31 31 [assembly: AssemblyCompany("")]
Note: See TracChangeset
for help on using the changeset viewer.