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