Opened 9 years ago

Closed 8 years ago

#1364 closed feature request (done)

Implement NoSameMatesSelection operator

Reported by: mkommend Owned by: gkronber
Priority: medium Milestone: HeuristicLab 3.3.4
Component: Selection Version: 3.3.4
Keywords: Cc:

Description (last modified by cfischer)

http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1554780

Implement NoSameMatesSelection operator as a wrapper around another selector. Three new parameters are introduced:

  • QualityDifferencePercentage (the percentage how much the quality of parent2 musst differ from the quality of parent1)
  • QualityDifferenceMaxAttempts (the maximum number of attempts to find two parents which comply to the above criterion)
  • QualityDifferenceUseRange (use the range from minimum to maximum quality as basis for QualityDifferencePercentage)

Use an existing selector to select the parents and discard up to QualityDifferenceMaxAttempts parents until the QualityDifferencePercentage criterion is met. Repeat the selection step until enough parents are selected which either comply with the criterion or have exceeded QualityDifferenceMaxAttempts.

Change History (22)

comment:1 Changed 9 years ago by swagner

  • Priority changed from medium to high
  • Summary changed from NoSameMatesSelection for GP to Implement NoSameMatesSelection operator

comment:2 Changed 9 years ago by cfischer

  • Owner changed from mkommend to cfischer
  • Status changed from new to assigned

comment:3 Changed 9 years ago by cfischer

  • Description modified (diff)

comment:4 Changed 9 years ago by cfischer

  • Status changed from assigned to accepted

comment:5 Changed 8 years ago by cfischer

  • Owner changed from cfischer to mkommend
  • Status changed from accepted to reviewing
  • Version changed from 3.3.2 to 3.3.4

r5596 implemented NoSameMatesSelector

comment:6 Changed 8 years ago by cfischer

  • Milestone changed from HeuristicLab Backlog to HeuristicLab 3.3.4

comment:7 Changed 8 years ago by cfischer

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

add an additional option in the parameters to use the range from min-quality to max-quality of the current generation as basis for QualityDifferencePercentage instead of the quality of parent1.

comment:8 Changed 8 years ago by cfischer

  • Status changed from assigned to accepted

comment:9 Changed 8 years ago by cfischer

  • Description modified (diff)

comment:10 Changed 8 years ago by cfischer

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

r5646 implemented QualityDifferenceUseRange option

comment:11 Changed 8 years ago by cfischer

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

comment:12 Changed 8 years ago by cfischer

  • Status changed from assigned to accepted

comment:13 Changed 8 years ago by cfischer

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

r5957 revised NSM based on review feedback from mkommend:

  • use linq to select min/max quality for use range option
  • use range option is now enabled by default
  • added event handler to throw exception in case CopySelected is set to false (NSM itself ignores this flag and works like this flag is true)
  • changed behavior of max attempts: execute the inner selector up to max attempts times to find different parents and fill the remaining positions only afterwards
  • some variable name refactoring
  • changed type of inner selector to ISingleObjectiveSelector
  • changed parameter types for the three NSM parameters to FixedValueParameter
  • added AfterDeserializationHook to enable opening and executing of optimizers with old NSM implementations

comment:14 Changed 8 years ago by mkommend

r5975: Removed argument exception if the value of the CopySelected parameter is changed.

comment:15 Changed 8 years ago by mkommend

  • Priority changed from high to medium
  • Status changed from reviewing to readytorelease

comment:16 follow-up: Changed 8 years ago by abeham

Can you report any success in applying this operator so far?

comment:17 in reply to: ↑ 16 Changed 8 years ago by cfischer

Replying to abeham:

Can you report any success in applying this operator so far?

I did some tests before this selector was reviewed. The tests were batch runs with TSP(ch130) and Regression(tower). Compared to Proportional, Tournament and GenderSpecific selection most results were comparable and some were even slightly better.

comment:18 Changed 8 years ago by gkronber

  • Owner changed from mkommend to gkronber
  • Status changed from readytorelease to assigned

We should add a reference to the original description of no same mates selection.

comment:19 Changed 8 years ago by gkronber

  • Status changed from assigned to accepted

comment:20 Changed 8 years ago by gkronber

r6035: added reference to no same mates paper by Gustafson

comment:21 Changed 8 years ago by gkronber

  • Status changed from accepted to readytorelease

comment:22 Changed 8 years ago by swagner

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