Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
12/18/19 16:32:41 (5 years ago)
Author:
mkommend
Message:

#2521: Adapted analyze methods of single-obj problems.

Location:
branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProblemDefinitionScript.cs

    r17382 r17383  
    6666    }
    6767
    68     void ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.Analyze(TEncodedSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
    69       CompiledProblemDefinition.Analyze(individuals, qualities, results, random);
    70     }
    7168    void ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.Analyze(ISingleObjectiveSolutionContext<TEncodedSolution>[] solutionContexts, ResultCollection results, IRandom random) {
    7269      CompiledProblemDefinition.Analyze(solutionContexts, results, random);
    7370    }
    74 
    7571
    7672    IEnumerable<TEncodedSolution> ISingleObjectiveProblemDefinition<TEncoding, TEncodedSolution>.GetNeighbors(TEncodedSolution individual, IRandom random) {
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/SingleObjectiveProgrammableProblem.cs

    r17382 r17383  
    118118      ProblemDefinition.Analyze(solutionContexts, results, random);
    119119    }
    120     public override void Analyze(TEncodedSolution[] individuals, double[] qualities, ResultCollection results, IRandom random) {
    121       ProblemDefinition.Analyze(individuals, qualities, results, random);
    122     }
    123120
    124121    public override IEnumerable<ISingleObjectiveSolutionContext<TEncodedSolution>> GetNeighbors(ISingleObjectiveSolutionContext<TEncodedSolution> solutionContext, IRandom random) {
  • branches/2521_ProblemRefactoring/HeuristicLab.Problems.Programmable/3.3/Templates/SingleObjectiveProblem_Template.cs

    r17382 r17383  
    3131
    3232    public override void Analyze(ISingleObjectiveSolutionContext<SOLUTION_CLASS>[] solutionContexts, ResultCollection results, IRandom random) {
    33       var solutions = solutionContexts.Select(c => c.EncodedSolution).ToArray();
    34       var qualities = solutionContexts.Select(c => c.EvaluationResult.Quality).ToArray();
    35       Analyze(solutions, qualities, results, random);
    36     }
    37 
    38     public override void Analyze(SOLUTION_CLASS[] solutions, double[] qualities, ResultCollection results, IRandom random) {
    3933      // Use vars.yourVariable to access variables in the variable store i.e. yourVariable
    4034      // Write or update results given the range of vectors and resulting qualities
    4135      // Uncomment the following lines if you want to retrieve the best solution
    4236
    43       //var orderedSolutions = solutions.Zip(qualities, (i, q) => new { Solution = i, Quality = q }).OrderBy(z => z.Quality);
    44       //var best = Maximization ? orderedSolutions.Last().Solution : orderedSolutions.First().Solution;
     37      //var orderedSolutions = solutionContexts.OrderBy(s => s.EvaluationResult.Quality);
     38      //var best = Maximization ? orderedSolutions.Last() : orderedSolutions.First();
     39      //results.AddOrUpdateResult("Best Solution",(IItem) best.EncodedSolution.Clone());
     40    }
    4541
    46       //if (!results.ContainsKey("Best Solution")) {
    47       //  results.Add(new Result("Best Solution", typeof(SOLUTION_CLASS)));
    48       //}
    49       //results["Best Solution"].Value = (IItem)best.Clone();
    50     }
     42
    5143
    5244    public override IEnumerable<SOLUTION_CLASS> GetNeighbors(SOLUTION_CLASS solution, IRandom random) {
Note: See TracChangeset for help on using the changeset viewer.