- Timestamp:
- 05/13/19 13:59:30 (6 years ago)
- Location:
- branches/2521_ProblemRefactoring
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Optimization
- Property svn:mergeinfo changed
/branches/2931_OR-Tools_LP_MIP/HeuristicLab.Optimization (added) merged: 16233,16582 /trunk/HeuristicLab.Optimization merged: 16860,16875,16910
- Property svn:mergeinfo changed
-
branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Algorithms/BasicAlgorithm.cs
r16723 r16946 36 36 37 37 public abstract bool SupportsPause { get; } 38 public virtual bool SupportsStop { 39 get { return true; } 40 } 38 41 39 42 [Storable] … … 106 109 // CancellationToken.ThrowIfCancellationRequested() must be called from within the Run method, otherwise stop does nothing 107 110 // alternatively check the IsCancellationRequested property of the cancellation token 111 if (!SupportsStop) 112 throw new NotSupportedException("Stop is not supported by this algorithm."); 113 108 114 base.Stop(); 109 115 if (ExecutionState == ExecutionState.Paused) OnStopped(); -
branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Encoding.cs
r16751 r16946 96 96 : base(name) { 97 97 Parameters.Add(new ValueParameter<ISolutionCreator<TEncodedSolution>>(name + ".SolutionCreator", "The operator to create a solution.")); 98 Parameters.Add(new FixedValueParameter<ReadOnlyItemSet<IOperator>>(name + ".Operators", "The operators that the encoding specifies.", encodingOperators.AsReadOnly())); 98 Parameters.Add(new FixedValueParameter<ReadOnlyItemSet<IOperator>>(name + ".Operators", "The operators that the encoding specifies.", encodingOperators.AsReadOnly()) { 99 GetsCollected = false 100 }); 99 101 100 102 RegisterEventHandlers(); -
branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs
r16751 r16946 26 26 using HeuristicLab.Common; 27 27 using HeuristicLab.Core; 28 using HeuristicLab.Data; 28 29 using HeuristicLab.Parameters; 29 30 … … 190 191 newEncoding.Operators = operators; 191 192 } 193 194 protected override IEnumerable<KeyValuePair<string, IItem>> GetCollectedValues(IValueParameter param) { 195 if (param.Value == null) yield break; 196 if (param.GetsCollected) { 197 if (param == EncodingParameter) // store only the name of the encoding 198 yield return new KeyValuePair<string, IItem>(String.Empty, new StringValue(EncodingParameter.Value.Name)); 199 else yield return new KeyValuePair<string, IItem>(String.Empty, param.Value); 200 } 201 var parameterizedItem = param.Value as IParameterizedItem; 202 if (parameterizedItem != null) { 203 var children = new Dictionary<string, IItem>(); 204 parameterizedItem.CollectParameterValues(children); 205 foreach (var child in children) yield return child; 206 } 207 } 192 208 } 193 209 } -
branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Problems/Problem.cs
r16801 r16946 23 23 using System.Collections.Generic; 24 24 using System.Drawing; 25 using HEAL.Attic; 25 26 using HeuristicLab.Collections; 26 27 using HeuristicLab.Common; … … 28 29 using HeuristicLab.Data; 29 30 using HeuristicLab.Parameters; 30 using HEAL.Attic;31 31 32 32 namespace HeuristicLab.Optimization { … … 52 52 protected Problem() 53 53 : base() { 54 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>() , false));54 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>()) { GetsCollected = false }); 55 55 OperatorsParameter.Hidden = true; 56 56 RegisterEventHandlers(); … … 66 66 if (operators != null) { 67 67 Parameters.Remove(OperatorsParameterName); 68 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(operators) , false));68 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>(operators)) { GetsCollected = false }); 69 69 OperatorsParameter.Hidden = true; 70 70 } … … 95 95 //necessary to convert old experiments files where no parameter was used for saving the operators 96 96 if (!Parameters.ContainsKey(OperatorsParameterName)) { 97 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>() , false));97 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>()) { GetsCollected = false }); 98 98 OperatorsParameter.Hidden = true; 99 99 } … … 107 107 #region Backwards compatible code, remove with 3.4 108 108 if (!Parameters.ContainsKey(OperatorsParameterName)) { 109 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>() , false));109 Parameters.Add(new FixedValueParameter<ItemCollection<IItem>>(OperatorsParameterName, "The operators and items that the problem provides to the algorithms.", new ItemCollection<IItem>()) { GetsCollected = false }); 110 110 OperatorsParameter.Hidden = true; 111 111 } -
branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/Problems/UserDefinedProblem.cs
r16723 r16946 25 25 using System.Linq; 26 26 using System.Threading; 27 using HEAL.Attic; 27 28 using HeuristicLab.Collections; 28 29 using HeuristicLab.Common; … … 30 31 using HeuristicLab.Data; 31 32 using HeuristicLab.Parameters; 32 using HEAL.Attic;33 33 using HeuristicLab.PluginInfrastructure; 34 34 … … 130 130 ItemList<IOperator> tmp = ((ValueParameter<ItemList<IOperator>>)Parameters["Operators"]).Value; 131 131 Parameters.Remove("Operators"); 132 Parameters.Add(new ValueParameter<ItemList<IItem>>("Operators", "The operators and items that the problem provides to the algorithms.", new ItemList<IItem>(tmp) , false));132 Parameters.Add(new ValueParameter<ItemList<IItem>>("Operators", "The operators and items that the problem provides to the algorithms.", new ItemList<IItem>(tmp)) { GetsCollected = false }); 133 133 } 134 134 #endregion
Note: See TracChangeset
for help on using the changeset viewer.