Free cookie consent management tool by TermsFeed Policy Generator

Opened 9 years ago

Closed 8 years ago

#2495 closed feature request (done)

Allow configuring of migration direction in UnidirectionalRingMigrator

Reported by: pfleck Owned by: ascheibe
Priority: medium Milestone: HeuristicLab 3.3.13
Component: Optimization.Operators Version: 3.3.12
Keywords: Cc:

Description

Currently, the UnidirectionalRingMigrator migrates individuals by shifting the Selected-Scope of each subpopulation to the left.

Although, the direction of the migrator makes no difference for the IslandGA, for algorithms like ALPS the direction is important.

Therefore the direction of the migration should be configurable for the UnidirectionalRingMigrator (left or right).

Change History (15)

comment:1 Changed 9 years ago by pfleck

mkommenda also suggested the UnidirectionalRingMigrator should migrate clockwise per default, therefore moving the scopes to the right per default.

This does not break any compatibility problems, however old runs are not repeatable with the same seed since the migration direction would be changed.

comment:2 Changed 8 years ago by pfleck

  • Status changed from new to accepted

comment:3 Changed 8 years ago by pfleck

#2495

  • Added ClockwiseMigrationDirection Parameter.
  • Added backwards compatability hook that use the old counterclockwise migration.

Sample Selected Scopes for Migration A B C D E

Old migration: B C D E A (shifted left)

New migration: E A B C D (shifted right)

Version 0, edited 8 years ago by pfleck (next)

comment:4 Changed 8 years ago by pfleck

  • Owner changed from pfleck to ascheibe
  • Status changed from accepted to reviewing

comment:5 Changed 8 years ago by pfleck

  • Owner changed from ascheibe to pfleck
  • Status changed from reviewing to assigned

comment:6 Changed 8 years ago by pfleck

  • Status changed from assigned to accepted

comment:7 Changed 8 years ago by pfleck

r13094 Added backwards compatibility for IslandGeneticAlgorithm and IslandOffspringSelectionGeneticAlgorithm to still use counterclockwise migration. The UnidirectionalRingMigrator uses clockwise per default.

comment:8 Changed 8 years ago by pfleck

  • Owner changed from pfleck to ascheibe
  • Status changed from accepted to reviewing

comment:9 Changed 8 years ago by pfleck

  • Owner changed from ascheibe to mkommend

comment:10 Changed 8 years ago by mkommend

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

Review comments

UnidirectionalRingMigrator

  • I would suggest to name the parameter ClockwiseMigration (shorter and simpler)
  • Remove property to access the BoolValue directly
  • Update documentation of ApplyMethod

Other than that the code looks fine.

comment:11 Changed 8 years ago by pfleck

  • Status changed from assigned to accepted

comment:12 Changed 8 years ago by pfleck

r13109

  • Renamed ClockwiseMigrationDirection ClockwiseMigration.
  • Removed access property.
  • Updated documentation comments.

comment:13 Changed 8 years ago by pfleck

  • Owner changed from pfleck to ascheibe
  • Status changed from accepted to reviewing

comment:14 Changed 8 years ago by ascheibe

  • Status changed from reviewing to readytorelease

Thanks, looks good!

comment:15 Changed 8 years ago by ascheibe

  • Resolution set to done
  • Status changed from readytorelease to closed

r13134: merged r13078, r13094 and r13109 into stable

Note: See TracTickets for help on using tickets.