Free cookie consent management tool by TermsFeed Policy Generator

Opened 10 years ago

Closed 10 years ago

#2332 closed feature request (done)

Overhaul operators for similarity calculation and analysis

Reported by: ascheibe Owned by: mkommend
Priority: medium Milestone: HeuristicLab 3.3.12
Component: Optimization Version: 3.3.11
Keywords: Cc:

Description (last modified by jkarder)

  • Quality and maximization parameters are not needed in SingleObjectivePopulationDiversityAnalyzer
  • The SimilarityCalculator should be a ConstrainedValueParameter
  • Operators that use similarity calculators can look
  • The name of the SingleObjectivePopulationDiversityAnalyzer should be changed to PopulationSimilarityAnalyzer
  • Add parameter that defines how crowd similarity is calculated: commutative and noncommutative

Change History (29)

comment:1 Changed 10 years ago by ascheibe

  • Summary changed from Improve DiversityCalculators to Improve SimilarityCalculators

comment:2 Changed 10 years ago by ascheibe

  • Description modified (diff)
  • Owner changed from ascheibe to jkarder
  • Status changed from new to assigned

comment:3 Changed 10 years ago by jkarder

  • Description modified (diff)
  • Status changed from assigned to accepted
  • Summary changed from Improve SimilarityCalculators to Improve PopulationDiversityAnalyzer

comment:4 Changed 10 years ago by jkarder

  • Description modified (diff)

comment:5 Changed 10 years ago by jkarder

  • Description modified (diff)
  • Summary changed from Improve PopulationDiversityAnalyzer to Overhaul operators for similarity calculation and analysis

comment:6 Changed 10 years ago by jkarder

  • Description modified (diff)

comment:7 Changed 10 years ago by jkarder

r12069: refactored operators and analyzers

  • removed quality and maximization parameters in SingleObjectivePopulationDiversityAnalyzer
  • renamed SingleObjectivePopulationDiversityAnalyzer to PopulationSimilarityAnalyzer
  • added ConstrainedValueParameter for similarity calculators of analyzer
  • added ValueLookupParameter for similarity calculator of the following operators:
    • DuplicatesSelector, ProgressiveOffspringPreserver, ReferenceSetUpdateMethod, SolutionPoolUpdateMethod
  • removed some wiring code in specific problems

comment:8 Changed 10 years ago by jkarder

  • Owner changed from jkarder to mkommend
  • Status changed from accepted to reviewing

Could you please have a look at the changes in r12069? I still need to implement noncommutative similarity calculation, but some feedback would be nice. Thanks!

comment:9 Changed 10 years ago by jkarder

r12070: added SolutionSimilarityCalculator.IsCommutative

comment:10 Changed 10 years ago by jkarder

Please have a look at r12070 as well. Thanks!

comment:11 Changed 10 years ago by mkommend

Reviewed and tested changes r12069 and r12070.

comment:12 Changed 10 years ago by bburlacu

r12076: Changed the way the update counter is incremented in the PopulationSimilarityAnalyzer so that it's easier to use in the analyzers derived from this class.

comment:13 Changed 10 years ago by bburlacu

r12085: Move SolutionVariableName and QualityVariableName properties to ISolutionSimilarityCalculator, implement Equals and GetHashCode in the SolutionSimilarityCalculator

comment:14 Changed 10 years ago by jkarder

r12087: removed unused similarity analyzer properties

comment:15 Changed 10 years ago by jkarder

r12102: used ISolutionSimilarityCalculator instead of ISingleObjectiveSolutionSimilarityCalculator

  • changed interfaces
  • removed ISimilarityCalculatorView
  • renamed ISingleObjectiveSolutionSimilarityCalculatorView to ISolutionSimilarityCalculatorView
  • algorithms no longer add QualitySimilarityCalculator and NoSimilarityCalculator; problems do that now

comment:16 Changed 10 years ago by jkarder

r12106: fixed build fail

  • algorithms add generic similarity calculators if needed (i.e. problem does not provide similarity calculators)
  • added pragmas to suppress obsolete warnings

comment:17 Changed 10 years ago by mkommend

  • Owner changed from mkommend to jkarder
  • Status changed from reviewing to assigned

Reviewed r12076, r12085, r12087, r12102, r12106.

Please add the quality and nosimilartiy calculator if these are not present and not only if no similarity calculators are present. Furthermore, the quality calculator has to be wired to the evaluator.quality parameter in the scatter search and rapga if it has been added by the algorithm.

comment:18 Changed 10 years ago by jkarder

  • Status changed from assigned to accepted

comment:19 Changed 10 years ago by jkarder

r12113: quality and no-similarity calculators are added only if they are not present

comment:20 Changed 10 years ago by jkarder

  • Owner changed from jkarder to mkommend
  • Status changed from accepted to reviewing

Thanks for the review! The quality calculator is wired, but the view does not reflect changes to the name properties. See #2349.

Replying to mkommend:

Furthermore, the quality calculator has to be wired to the evaluator.quality parameter in the scatter search and rapga if it has been added by the algorithm.

comment:21 Changed 10 years ago by mkommend

  • Owner changed from mkommend to jkarder

comment:22 Changed 10 years ago by jkarder

  • Status changed from reviewing to assigned

comment:23 Changed 10 years ago by jkarder

  • Status changed from assigned to accepted

comment:24 Changed 10 years ago by jkarder

r12126:

  • fixed SolutionSimilarityCalculator.Equals
  • problems now wire all of their ISolutionSimilarityCalculators

comment:25 Changed 10 years ago by bburlacu

r12129: SolutionSimilarityCalculator: throw exception in the CheckQualityEquality method if the double arrays are not of the same length, simplify equality check for double arrays.

comment:26 Changed 10 years ago by jkarder

  • Owner changed from jkarder to mkommend
  • Status changed from accepted to reviewing

comment:27 Changed 10 years ago by mkommend

  • Status changed from reviewing to readytorelease

Reviewed r12113, r12126, r12129.

Last edited 10 years ago by mkommend (previous) (diff)

comment:28 Changed 10 years ago by mkommend

r12280: Merged all changes from this ticket into stable.

comment:29 Changed 10 years ago by mkommend

  • Resolution set to done
  • Status changed from readytorelease to closed
Note: See TracTickets for help on using tickets.