Opened 10 years ago
Closed 10 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 10 years ago by pfleck
comment:2 Changed 10 years ago by pfleck
- Status changed from new to accepted
comment:3 Changed 10 years ago by pfleck
- 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)
comment:4 Changed 10 years ago by pfleck
- Owner changed from pfleck to ascheibe
- Status changed from accepted to reviewing
comment:5 Changed 10 years ago by pfleck
- Owner changed from ascheibe to pfleck
- Status changed from reviewing to assigned
comment:6 Changed 10 years ago by pfleck
- Status changed from assigned to accepted
comment:7 Changed 10 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 10 years ago by pfleck
- Owner changed from pfleck to ascheibe
- Status changed from accepted to reviewing
comment:9 Changed 10 years ago by pfleck
- Owner changed from ascheibe to mkommend
comment:10 Changed 10 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 10 years ago by pfleck
- Status changed from assigned to accepted
comment:12 Changed 10 years ago by pfleck
- Renamed ClockwiseMigrationDirection ClockwiseMigration.
- Removed access property.
- Updated documentation comments.
comment:13 Changed 10 years ago by pfleck
- Owner changed from pfleck to ascheibe
- Status changed from accepted to reviewing
comment:14 Changed 10 years ago by ascheibe
- Status changed from reviewing to readytorelease
Thanks, looks good!
comment:15 Changed 10 years ago by ascheibe
- Resolution set to done
- Status changed from readytorelease to closed



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.