Changeset 17513 for branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs
- Timestamp:
- 04/20/20 14:40:24 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2521_ProblemRefactoring/HeuristicLab.Optimization/3.3/BasicProblems/Problem.cs
r17334 r17513 31 31 namespace HeuristicLab.Optimization { 32 32 [StorableType("D877082E-9E77-4CB1-ABDB-35F63878E116")] 33 public abstract class Problem<TEncoding, TEncodedSolution, TEvaluator> : Problem,33 public abstract class Problem<TEncoding, TEncodedSolution, TEvaluator> : EncodedProblem, 34 34 IHeuristicOptimizationProblem, IProblemDefinition<TEncoding, TEncodedSolution>, IStorableContent 35 35 where TEncoding : class, IEncoding<TEncodedSolution> 36 36 where TEncodedSolution : class, IEncodedSolution 37 37 where TEvaluator : class, IEvaluator { 38 38 39 39 40 40 //TODO remove parameter for encoding? … … 97 97 get { 98 98 if (Encoding == null) return base.ExecutionContextItems; 99 return base.ExecutionContextItems.Concat(new[] { Encoding});99 return base.ExecutionContextItems.Concat(new[] { Encoding }); 100 100 } 101 101 } … … 105 105 Parameters.Add(new ValueParameter<TEncoding>("Encoding", "Describes the configuration of the encoding, what the variables are called, what type they are and their bounds if any.") { Hidden = true }); 106 106 Parameters.Add(new ValueParameter<TEvaluator>("Evaluator", "The operator used to evaluate a solution.") { Hidden = true }); 107 107 108 108 if (Encoding != null) { 109 109 oldEncoding = Encoding; … … 180 180 if (!oldMultiEncoding.Encodings.SequenceEqual(newMultiEncoding.Encodings, new TypeEqualityComparer<IEncoding>())) return; 181 181 182 var nestedEncodings = oldMultiEncoding.Encodings.Zip(newMultiEncoding.Encodings, (o, n) => new { oldEnc = o, newEnc = n});182 var nestedEncodings = oldMultiEncoding.Encodings.Zip(newMultiEncoding.Encodings, (o, n) => new { oldEnc = o, newEnc = n }); 183 183 foreach (var multi in nestedEncodings) 184 184 AdaptEncodingOperators(multi.oldEnc, multi.newEnc);
Note: See TracChangeset
for help on using the changeset viewer.