Free cookie consent management tool by TermsFeed Policy Generator

source: branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problems.ProgramSynthesis/Push/Problem/PushSolution.cs @ 14745

Last change on this file since 14745 was 14744, checked in by pkimmesw, 8 years ago

#2665 Renamings due to typos, ManagedPool tests, Skip Noops in Debugger

File size: 1.7 KB
Line 
1namespace HeuristicLab.Problems.ProgramSynthesis.Push.Problem {
2  using HeuristicLab.BenchmarkSuite;
3  using HeuristicLab.Common;
4  using HeuristicLab.Core;
5  using HeuristicLab.Encodings.IntegerVectorEncoding;
6  using HeuristicLab.Optimization;
7  using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
8  using HeuristicLab.Problems.ProgramSynthesis.Push.Configuration;
9  using HeuristicLab.Problems.ProgramSynthesis.Push.Expressions;
10
11  [StorableClass]
12  public class PushSolution : NamedItem {
13    [Storable]
14    public readonly double Quality;
15    [Storable]
16    public readonly IntegerVector IntegerVector;
17    [Storable]
18    public readonly IBenchmarkSuiteDataDescriptor DataDescriptor;
19    [Storable]
20    public readonly IRandom Random;
21    [Storable]
22    public readonly IReadonlyPushConfiguration Config;
23
24    public PushSolution(IntegerVector integerVector, double quality, IBenchmarkSuiteDataDescriptor dataDescriptor, IRandom random, IReadonlyPushConfiguration config)
25      : base("Solution", "A push solution.") {
26      IntegerVector = integerVector;
27      Quality = quality;
28      DataDescriptor = dataDescriptor;
29      Random = random;
30      Config = config;
31    }
32
33    public PushSolution(PushSolution origin, Cloner cloner) : base(origin, cloner) {
34      IntegerVector = origin.IntegerVector;
35      Quality = origin.Quality;
36    }
37
38    [StorableConstructor]
39    private PushSolution(bool deserializing) : base(deserializing) { }
40
41    [StorableHook(HookType.AfterDeserialization)]
42    private void AfterDeserialization() {
43    }
44
45    public override IDeepCloneable Clone(Cloner cloner) {
46      return new PushSolution(this, cloner);
47    }
48  }
49}
Note: See TracBrowser for help on using the repository browser.