Changeset 11975 for branches/ALPS/HeuristicLab.Optimization
- Timestamp:
- 02/10/15 09:57:29 (10 years ago)
- Location:
- branches/ALPS
- Files:
-
- 21 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
branches/ALPS
- Property svn:mergeinfo changed
-
branches/ALPS/HeuristicLab.Optimization
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/branches/HLScript/HeuristicLab.Optimization merged eligible /stable/HeuristicLab.Optimization merged eligible /trunk/sources/HeuristicLab.Optimization merged eligible /branches/1721-RandomForestPersistence/HeuristicLab.Optimization 10321-10322 /branches/Algorithms.GradientDescent/HeuristicLab.Optimization 5516-5520 /branches/Benchmarking/sources/HeuristicLab.Optimization 6917-7005 /branches/Classification-Extensions/HeuristicLab.Optimization 11687-11761 /branches/CloningRefactoring/HeuristicLab.Optimization 4656-4721 /branches/CodeEditor/HeuristicLab.Optimization 11700-11806 /branches/DataAnalysis Refactoring/HeuristicLab.Optimization 5471-5808 /branches/DataAnalysis SolutionEnsembles/HeuristicLab.Optimization 5815-6180 /branches/DataAnalysis/HeuristicLab.Optimization 4458-4459,4462,4464 /branches/DataPreprocessing/HeuristicLab.Optimization 10085-11101 /branches/GP.Grammar.Editor/HeuristicLab.Optimization 6284-6795 /branches/GP.Symbols (TimeLag, Diff, Integral)/HeuristicLab.Optimization 5060 /branches/HeuristicLab.Problems.DataAnalysis.Trading/HeuristicLab.Optimization 6123-9799 /branches/LogResidualEvaluator/HeuristicLab.Optimization 10202-10483 /branches/NET40/sources/HeuristicLab.Optimization 5138-5162 /branches/ParallelEngine/HeuristicLab.Optimization 5175-5192 /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Optimization 7568-7810 /branches/ProgrammableProblem/HeuristicLab.Optimization 11573-11959 /branches/QAPAlgorithms/HeuristicLab.Optimization 6350-6627 /branches/Restructure trunk solution/HeuristicLab.Optimization 6828 /branches/RuntimeOptimizer/HeuristicLab.Optimization 8943-9078 /branches/ScatterSearch (trunk integration)/HeuristicLab.Optimization 7787-8333 /branches/SlaveShutdown/HeuristicLab.Optimization 8944-8956 /branches/SpectralKernelForGaussianProcesses/HeuristicLab.Optimization 10204-10479 /branches/SuccessProgressAnalysis/HeuristicLab.Optimization 5370-5682 /branches/Trunk/HeuristicLab.Optimization 6829-6865 /branches/UnloadJobs/HeuristicLab.Optimization 9168-9215 /branches/VNS/HeuristicLab.Optimization 5594-5752 /branches/histogram/HeuristicLab.Optimization 5959-6341
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/ALPS/HeuristicLab.Optimization/3.3/Algorithms/Algorithm.cs
r11171 r11975 227 227 public virtual void CollectResultValues(IDictionary<string, IItem> values) { 228 228 values.Add("Execution Time", new TimeSpanValue(ExecutionTime)); 229 CollectResultsRecursively("", Results, values); 230 } 231 232 private void CollectResultsRecursively(string path, ResultCollection results, IDictionary<string, IItem> values) { 233 foreach (IResult result in results) { 234 values.Add(path + result.Name, result.Value); 235 ResultCollection childCollection = result.Value as ResultCollection; 236 if (childCollection != null) { 237 CollectResultsRecursively(path + result.Name + ".", childCollection, values); 238 } 239 } 229 Results.CollectResultValues(values); 240 230 } 241 231 -
branches/ALPS/HeuristicLab.Optimization/3.3/Algorithms/EngineAlgorithm.cs
r11171 r11975 159 159 if ((engine != null) && (operatorGraph.InitialOperator != null)) { 160 160 ExecutionContext context = null; 161 if (Problem != null) context = new ExecutionContext(context, Problem, globalScope); 161 if (Problem != null) { 162 foreach (var item in Problem.ExecutionContextItems) 163 context = new ExecutionContext(context, item, globalScope); 164 } 162 165 context = new ExecutionContext(context, this, globalScope); 163 166 context = new ExecutionContext(context, operatorGraph.InitialOperator, globalScope); -
branches/ALPS/HeuristicLab.Optimization/3.3/HeuristicLab.Optimization-3.3.csproj
r11677 r11975 120 120 </ItemGroup> 121 121 <ItemGroup> 122 <Compile Include="Algorithms\BasicAlgorithm.cs" /> 123 <Compile Include="BasicProblems\BasicProblem.cs" /> 124 <Compile Include="BasicProblems\Encoding.cs" /> 125 <Compile Include="BasicProblems\Individuals\Individual.cs" /> 126 <Compile Include="BasicProblems\Individuals\MultiEncodingIndividual.cs" /> 127 <Compile Include="BasicProblems\Individuals\SingleEncodingIndividual.cs" /> 128 <Compile Include="BasicProblems\Interfaces\IEncoding.cs" /> 129 <Compile Include="BasicProblems\Interfaces\IEncodingOperator.cs" /> 130 <Compile Include="BasicProblems\Interfaces\IMultiEncodingOperator.cs" /> 131 <Compile Include="BasicProblems\Interfaces\IMultiObjectiveProblemDefinition.cs" /> 132 <Compile Include="BasicProblems\Interfaces\internal\IMultiObjectiveAnalysisOperator.cs" /> 133 <Compile Include="BasicProblems\Interfaces\internal\IMultiObjectiveEvaluationOperator.cs" /> 134 <Compile Include="BasicProblems\Interfaces\internal\INeighborBasedOperator.cs" /> 135 <Compile Include="BasicProblems\Interfaces\internal\ISingleObjectiveAnalysisOperator.cs" /> 136 <Compile Include="BasicProblems\Interfaces\internal\ISingleObjectiveEvaluationOperator.cs" /> 137 <Compile Include="BasicProblems\Interfaces\IProblemDefinition.cs" /> 138 <Compile Include="BasicProblems\Interfaces\ISingleObjectiveMoveOperator.cs" /> 139 <Compile Include="BasicProblems\Interfaces\ISingleObjectiveProblemDefinition.cs" /> 140 <Compile Include="BasicProblems\MultiEncoding.cs" /> 141 <Compile Include="BasicProblems\MultiObjectiveBasicProblem.cs" /> 142 <Compile Include="BasicProblems\Operators\MultiEncodingCreator.cs" /> 143 <Compile Include="BasicProblems\Operators\MultiEncodingCrossover.cs" /> 144 <Compile Include="BasicProblems\Operators\MultiEncodingManipulator.cs" /> 145 <Compile Include="BasicProblems\Operators\MultiEncodingOperator.cs" /> 146 <Compile Include="BasicProblems\Operators\MultiObjectiveAnalyzer.cs" /> 147 <Compile Include="BasicProblems\Operators\MultiObjectiveEvaluator.cs" /> 148 <Compile Include="BasicProblems\Operators\SingleObjectiveAnalyzer.cs" /> 149 <Compile Include="BasicProblems\Operators\SingleObjectiveEvaluator.cs" /> 150 <Compile Include="BasicProblems\Operators\SingleObjectiveImprover.cs" /> 151 <Compile Include="BasicProblems\Operators\SingleObjectiveMoveEvaluator.cs" /> 152 <Compile Include="BasicProblems\Operators\SingleObjectiveMoveGenerator.cs" /> 153 <Compile Include="BasicProblems\Operators\SingleObjectiveMoveMaker.cs" /> 154 <Compile Include="BasicProblems\SingleObjectiveBasicProblem.cs" /> 122 155 <Compile Include="Interfaces\ILocalImprovementAlgorithmOperator.cs" /> 156 <Compile Include="Interfaces\IMultiObjectiveOperator.cs" /> 157 <Compile Include="Interfaces\ISingleObjectiveOperator.cs" /> 123 158 <Compile Include="Interfaces\ISingleObjectivePathRelinker.cs" /> 124 159 <Compile Include="Interfaces\ISingleObjectiveImprovementOperator.cs" /> … … 245 280 <Private>False</Private> 246 281 </ProjectReference> 282 <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj"> 283 <Project>{23da7ff4-d5b8-41b6-aa96-f0561d24f3ee}</Project> 284 <Name>HeuristicLab.Operators-3.3</Name> 285 <Private>False</Private> 286 </ProjectReference> 247 287 <ProjectReference Include="..\..\HeuristicLab.Parameters\3.3\HeuristicLab.Parameters-3.3.csproj"> 248 288 <Project>{56F9106A-079F-4C61-92F6-86A84C2D84B7}</Project> -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveEvaluator.cs
r11171 r11975 27 27 /// An interface which represents an evaluation operator for multi-objective optimization problems. 28 28 /// </summary> 29 public interface IMultiObjectiveEvaluator : IEvaluator {29 public interface IMultiObjectiveEvaluator : IEvaluator, IMultiObjectiveOperator { 30 30 ILookupParameter<DoubleArray> QualitiesParameter { get; } 31 31 } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/IMultiObjectiveSelector.cs
r11171 r11975 27 27 /// An interface which represents a selection operator for selecting solutions of multi-objective optimization problems. 28 28 /// </summary> 29 public interface IMultiObjectiveSelector : ISelector {29 public interface IMultiObjectiveSelector : ISelector, IMultiObjectiveOperator { 30 30 ILookupParameter<BoolArray> MaximizationParameter { get; } 31 31 ILookupParameter<ItemArray<DoubleArray>> QualitiesParameter { get; } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/IProblem.cs
r11171 r11975 31 31 IEnumerable<IItem> Operators { get; } 32 32 33 34 IEnumerable<IParameterizedItem> ExecutionContextItems { get; } 33 35 event EventHandler OperatorsChanged; 34 36 event EventHandler Reset; -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleMoveGenerator.cs
r11171 r11975 21 21 22 22 namespace HeuristicLab.Optimization { 23 public interface ISingleMoveGenerator : IMoveGenerator {23 public interface ISingleMoveGenerator : IMoveGenerator, ISingleObjectiveOperator { 24 24 } 25 25 } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveEvaluator.cs
r11171 r11975 27 27 /// An interface which represents an evaluation operator for single-objective optimization problems. 28 28 /// </summary> 29 public interface ISingleObjectiveEvaluator : IEvaluator {29 public interface ISingleObjectiveEvaluator : IEvaluator, ISingleObjectiveOperator { 30 30 ILookupParameter<DoubleValue> QualityParameter { get; } 31 31 } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveImprovementOperator.cs
r11171 r11975 26 26 /// An interface which represents an operator for improvement of a single objective solution. 27 27 /// </summary> 28 public interface ISingleObjectiveImprovementOperator : IImprovementOperator {28 public interface ISingleObjectiveImprovementOperator : IImprovementOperator, ISingleObjectiveOperator { 29 29 IValueLookupParameter<IItem> SolutionParameter { get; } 30 30 } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveMoveEvaluator.cs
r11171 r11975 24 24 25 25 namespace HeuristicLab.Optimization { 26 public interface ISingleObjectiveMoveEvaluator : IOperator {26 public interface ISingleObjectiveMoveEvaluator : IOperator, ISingleObjectiveOperator { 27 27 ILookupParameter<DoubleValue> QualityParameter { get; } 28 28 ILookupParameter<DoubleValue> MoveQualityParameter { get; } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectivePathRelinker.cs
r11171 r11975 26 26 /// An interface which represents an operator for path relinking between single objective solutions. 27 27 /// </summary> 28 public interface ISingleObjectivePathRelinker : IPathRelinker {28 public interface ISingleObjectivePathRelinker : IPathRelinker, ISingleObjectiveOperator { 29 29 ILookupParameter<ItemArray<IItem>> ParentsParameter { get; } 30 30 } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveReplacer.cs
r11171 r11975 27 27 /// An interface which represents a replacement operator for replacing solutions of single-objective optimization problems. 28 28 /// </summary> 29 public interface ISingleObjectiveReplacer : IReplacer {29 public interface ISingleObjectiveReplacer : IReplacer, ISingleObjectiveOperator { 30 30 IValueLookupParameter<BoolValue> MaximizationParameter { get; } 31 31 ILookupParameter<ItemArray<DoubleValue>> QualityParameter { get; } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSelector.cs
r11171 r11975 27 27 /// An interface which represents a selection operator for selecting solutions of single-objective optimization problems. 28 28 /// </summary> 29 public interface ISingleObjectiveSelector : ISelector {29 public interface ISingleObjectiveSelector : ISelector, ISingleObjectiveOperator { 30 30 IValueLookupParameter<BoolValue> MaximizationParameter { get; } 31 31 ILookupParameter<ItemArray<DoubleValue>> QualityParameter { get; } -
branches/ALPS/HeuristicLab.Optimization/3.3/Interfaces/ISingleObjectiveSolutionSimilarityCalculator.cs
r11171 r11975 24 24 /// An interface which represents an operator for similarity calculation between single objective solutions. 25 25 /// </summary> 26 public interface ISingleObjectiveSolutionSimilarityCalculator : ISolutionSimilarityCalculator {26 public interface ISingleObjectiveSolutionSimilarityCalculator : ISolutionSimilarityCalculator, ISingleObjectiveOperator { 27 27 string SolutionVariableName { get; set; } 28 28 string QualityVariableName { get; set; } -
branches/ALPS/HeuristicLab.Optimization/3.3/Plugin.cs.frame
r11174 r11975 33 33 [PluginDependency("HeuristicLab.Core", "3.3")] 34 34 [PluginDependency("HeuristicLab.Data", "3.3")] 35 [PluginDependency("HeuristicLab.Operators", "3.3")] 35 36 [PluginDependency("HeuristicLab.Parameters", "3.3")] 36 37 [PluginDependency("HeuristicLab.Persistence", "3.3")] -
branches/ALPS/HeuristicLab.Optimization/3.3/Problems/HeuristicOptimizationProblem.cs
r11171 r11975 78 78 79 79 public U SolutionCreator { 80 get { return SolutionCreatorParameter.Value; }80 get { return (U)SolutionCreatorParameter.Value; } 81 81 protected set { SolutionCreatorParameter.Value = value; } 82 82 } 83 public ValueParameter<U>SolutionCreatorParameter {84 get { return ( ValueParameter<U>)Parameters[SolutionCreateParameterName]; }83 public IValueParameter SolutionCreatorParameter { 84 get { return (IValueParameter)Parameters[SolutionCreateParameterName]; } 85 85 } 86 86 ISolutionCreator IHeuristicOptimizationProblem.SolutionCreator { get { return SolutionCreator; } } -
branches/ALPS/HeuristicLab.Optimization/3.3/Problems/Problem.cs
r11171 r11975 114 114 } 115 115 } 116 IEnumerable<IItem> IProblem.Operators { get { return Operators; } } 116 IEnumerable<IItem> IProblem.Operators { get { return GetOperators(); } } 117 118 protected virtual IEnumerable<IItem> GetOperators() { 119 return Operators; 120 } 121 122 public virtual IEnumerable<IParameterizedItem> ExecutionContextItems { 123 get { yield return this; } 124 } 117 125 #endregion 118 126 -
branches/ALPS/HeuristicLab.Optimization/3.3/Problems/UserDefinedProblem.cs
r11171 r11975 115 115 get { return OperatorsParameter.Value; } 116 116 } 117 118 public IEnumerable<IParameterizedItem> ExecutionContextItems { 119 get { yield return this; } 120 } 117 121 #endregion 118 122 -
branches/ALPS/HeuristicLab.Optimization/3.3/ResultCollection.cs
r11171 r11975 44 44 get { return HeuristicLab.Common.Resources.VSImageLibrary.Object; } 45 45 } 46 47 public virtual void CollectResultValues(IDictionary<string, IItem> values) { 48 CollectResultValues(values, string.Empty); 49 } 50 51 public virtual void CollectResultValues(IDictionary<string, IItem> values, string rootPath) { 52 foreach (IResult result in this) { 53 var children = GetCollectedResults(result); 54 string path = string.Empty; 55 if (!string.IsNullOrWhiteSpace(rootPath)) 56 path = rootPath + "."; 57 foreach (var c in children) { 58 if (string.IsNullOrEmpty(c.Key)) 59 values.Add(path + result.Name, c.Value); 60 else values.Add(path + result.Name + "." + c.Key, c.Value); 61 } 62 } 63 } 64 65 protected virtual IEnumerable<KeyValuePair<string, IItem>> GetCollectedResults(IResult result) { 66 if (result.Value == null) yield break; 67 yield return new KeyValuePair<string, IItem>(string.Empty, result.Value); 68 69 var resultCollection = result.Value as ResultCollection; 70 if (resultCollection != null) { 71 var children = new Dictionary<string, IItem>(); 72 resultCollection.CollectResultValues(children); 73 foreach (var child in children) yield return child; 74 } 75 } 76 46 77 } 47 78 }
Note: See TracChangeset
for help on using the changeset viewer.