Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/03/19 15:37:38 (5 years ago)
Author:
mkommend
Message:

#2521: Renamed Solution to EncodedSolution.

Location:
branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/ExternalEvaluationProblem.cs

    r16723 r16751  
    4040  // BackwardsCompatibility3.3
    4141  // Rename class to SingleObjectiveExternalEvaluationProblem
    42   public class ExternalEvaluationProblem : SingleObjectiveProblem<IEncoding<ISolution>, ISolution>, IExternalEvaluationProblem {
     42  public class ExternalEvaluationProblem : SingleObjectiveProblem<IEncoding<IEncodedSolution>, IEncodedSolution>, IExternalEvaluationProblem {
    4343
    4444    public static new Image StaticItemImage {
     
    6666
    6767    #region Properties
    68     public new IEncoding<ISolution> Encoding {
     68    public new IEncoding<IEncodedSolution> Encoding {
    6969      get { return base.Encoding; }
    7070      set { base.Encoding = value; }
     
    114114    }
    115115
    116     public override double Evaluate(ISolution individual, IRandom random) {
     116    public override double Evaluate(IEncodedSolution individual, IRandom random) {
    117117      var qualityMessage = Evaluate(BuildSolutionMessage(individual));
    118118      if (!qualityMessage.HasExtension(SingleObjectiveQualityMessage.QualityMessage_))
     
    126126    }
    127127
    128     public override void Analyze(ISolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
     128    public override void Analyze(IEncodedSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
    129129      OptimizationSupport.Analyze(individuals, qualities, results, random);
    130130    }
    131131
    132     public override IEnumerable<ISolution> GetNeighbors(ISolution individual, IRandom random) {
     132    public override IEnumerable<IEncodedSolution> GetNeighbors(IEncodedSolution individual, IRandom random) {
    133133      return OptimizationSupport.GetNeighbors(individual, random);
    134134    }
     
    167167    }
    168168
    169     private SolutionMessage BuildSolutionMessage(ISolution solution, int solutionId = 0) {
     169    private SolutionMessage BuildSolutionMessage(IEncodedSolution solution, int solutionId = 0) {
    170170      lock (clientLock) {
    171171        SolutionMessage.Builder protobufBuilder = SolutionMessage.CreateBuilder();
    172172        protobufBuilder.SolutionId = solutionId;
    173173        var scope = new Scope();
    174         ScopeUtil.CopySolutionToScope(scope, Encoding, solution);
     174        ScopeUtil.CopyEncodedSolutionToScope(scope, Encoding, solution);
    175175        foreach (var variable in scope.Variables) {
    176176          try {
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/IMultiObjectiveOptimizationSupport.cs

    r16723 r16751  
    2727  [StorableType("f924ef9c-d824-40d2-89b2-6dd1220df98b")]
    2828  public interface IMultiObjectiveOptimizationSupport {
    29     void Analyze(ISolution[] individuals, double[][] qualities, ResultCollection results, IRandom random);
     29    void Analyze(IEncodedSolution[] individuals, double[][] qualities, ResultCollection results, IRandom random);
    3030  }
    3131}
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/Interfaces/ISingleObjectiveOptimizationSupport.cs

    r16723 r16751  
    2828  [StorableType("09d522e0-c10f-474c-b7c0-7d7f98e63f44")]
    2929  public interface ISingleObjectiveOptimizationSupport {
    30     void Analyze(ISolution[] individuals, double[] qualities, ResultCollection results, IRandom random);
    31     IEnumerable<ISolution> GetNeighbors(ISolution individual, IRandom random);
     30    void Analyze(IEncodedSolution[] individuals, double[] qualities, ResultCollection results, IRandom random);
     31    IEnumerable<IEncodedSolution> GetNeighbors(IEncodedSolution individual, IRandom random);
    3232  }
    3333}
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/MultiObjectiveExternalEvaluationProblem.cs

    r16723 r16751  
    3737  [Creatable(CreatableAttribute.Categories.ExternalEvaluationProblems, Priority = 200)]
    3838  [StorableType("CCA50199-A6AB-4C84-B4FA-0262CAF416EC")]
    39   public class MultiObjectiveExternalEvaluationProblem : MultiObjectiveProblem<IEncoding<ISolution>, ISolution>, IExternalEvaluationProblem {
     39  public class MultiObjectiveExternalEvaluationProblem : MultiObjectiveProblem<IEncoding<IEncodedSolution>, IEncodedSolution>, IExternalEvaluationProblem {
    4040
    4141    public static new Image StaticItemImage {
     
    6363
    6464    #region Properties
    65     public new IEncoding<ISolution> Encoding {
     65    public new IEncoding<IEncodedSolution> Encoding {
    6666      get { return base.Encoding; }
    6767      set { base.Encoding = value; }
     
    114114    }
    115115
    116     public override double[] Evaluate(ISolution individual, IRandom random) {
     116    public override double[] Evaluate(IEncodedSolution individual, IRandom random) {
    117117      var qualityMessage = Evaluate(BuildSolutionMessage(individual));
    118118      if (!qualityMessage.HasExtension(MultiObjectiveQualityMessage.QualityMessage_))
     
    126126    }
    127127
    128     public override void Analyze(ISolution[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
     128    public override void Analyze(IEncodedSolution[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
    129129      OptimizationSupport.Analyze(individuals, qualities, results, random);
    130130    }
     
    164164    }
    165165
    166     private SolutionMessage BuildSolutionMessage(ISolution solution, int solutionId = 0) {
     166    private SolutionMessage BuildSolutionMessage(IEncodedSolution solution, int solutionId = 0) {
    167167      lock (clientLock) {
    168168        SolutionMessage.Builder protobufBuilder = SolutionMessage.CreateBuilder();
    169169        protobufBuilder.SolutionId = solutionId;
    170170        var scope = new Scope();
    171         ScopeUtil.CopySolutionToScope(scope, Encoding, solution);
     171        ScopeUtil.CopyEncodedSolutionToScope(scope, Encoding, solution);
    172172        foreach (var variable in scope.Variables) {
    173173          try {
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/CompiledMultiObjectiveOptimizationSupport.cs

    r13372 r16751  
    55  public class CompiledMultiObjectiveOptimizationSupport : CompiledOptimizationSupport, IMultiObjectiveOptimizationSupport {
    66
    7     public void Analyze(ISolution[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
     7    public void Analyze(IEncodedSolution[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
    88      // Use vars.yourVariable to access variables in the variable store i.e. yourVariable
    99      // Write or update results given the range of vectors and resulting qualities
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/CompiledSingleObjectiveOptimizationSupport.cs

    r13372 r16751  
    66  public class CompiledSingleObjectiveOptimizationSupport : CompiledOptimizationSupport, ISingleObjectiveOptimizationSupport {
    77
    8     public void Analyze(ISolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
     8    public void Analyze(IEncodedSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
    99      // Use vars.yourVariable to access variables in the variable store i.e. yourVariable
    1010      // Write or update results given the range of vectors and resulting qualities
     
    1717    }
    1818
    19     public IEnumerable<ISolution> GetNeighbors(ISolution individual, IRandom random) {
     19    public IEnumerable<IEncodedSolution> GetNeighbors(IEncodedSolution individual, IRandom random) {
    2020      // Use vars.yourVariable to access variables in the variable store i.e. yourVariable
    2121      // Create new vectors, based on the given one that represent small changes
     
    2424        // Algorithm will draw only a finite amount of samples
    2525        // Change to a for-loop to return a concrete amount of neighbors
    26         var neighbor = (ISolution)individual.Clone();
     26        var neighbor = (IEncodedSolution)individual.Clone();
    2727        // For instance, perform a single bit-flip in a binary parameter
    2828        //var bIndex = random.Next(neighbor.BinaryVector("b").Length);
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/MultiObjectiveOptimizationSupportScript.cs

    r16723 r16751  
    3939    }
    4040
    41     void IMultiObjectiveOptimizationSupport.Analyze(ISolution[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
     41    void IMultiObjectiveOptimizationSupport.Analyze(IEncodedSolution[] individuals, double[][] qualities, ResultCollection results, IRandom random) {
    4242      CompiledInstance.Analyze(individuals, qualities, results, random);
    4343    }
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.ExternalEvaluation/3.4/Programmable/SingleObjectiveOptimizationSupportScript.cs

    r16723 r16751  
    4040    }
    4141
    42     void ISingleObjectiveOptimizationSupport.Analyze(ISolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
     42    void ISingleObjectiveOptimizationSupport.Analyze(IEncodedSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
    4343      CompiledInstance.Analyze(individuals, qualities, results, random);
    4444    }
    4545
    46     IEnumerable<ISolution> ISingleObjectiveOptimizationSupport.GetNeighbors(ISolution individual, IRandom random) {
     46    IEnumerable<IEncodedSolution> ISingleObjectiveOptimizationSupport.GetNeighbors(IEncodedSolution individual, IRandom random) {
    4747      return CompiledInstance.GetNeighbors(individual, random);
    4848    }
Note: See TracChangeset for help on using the changeset viewer.