#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 21 months 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 21 months ago by pfleck

  • Status changed from new to accepted

comment:3 Changed 21 months ago by pfleck

r13078

  • 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)

Last edited 21 months ago by pfleck (previous) (diff)

comment:4 Changed 21 months ago by pfleck

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

comment:5 Changed 21 months ago by pfleck

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

comment:6 Changed 21 months ago by pfleck

  • Status changed from assigned to accepted

comment:7 Changed 21 months 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 21 months ago by pfleck

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

comment:9 Changed 21 months ago by pfleck

  • Owner changed from ascheibe to mkommend

comment:10 Changed 21 months 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 21 months ago by pfleck

  • Status changed from assigned to accepted

comment:12 Changed 21 months ago by pfleck

r13109

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

comment:13 Changed 21 months ago by pfleck

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

comment:14 Changed 21 months ago by ascheibe

  • Status changed from reviewing to readytorelease

Thanks, looks good!

comment:15 Changed 21 months 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.