Opened 14 years ago
Closed 14 years ago
#1393 closed defect (done)
Operator "Replacer" in island algorithms produces an exception
Reported by: | abeham | Owned by: | abeham |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.3 |
Component: | Selection | Version: | 3.3.3 |
Keywords: | Cc: |
Description
The Replacer is an operator that must be customized with two selection operators. In the default instance no selection operators are set and thus after a migration phase all population is lost and the algorithm stops with an exception. WorstReplacer and RandomReplacer are both a Replacer with the selection operators defined accordingly.
The idea of the replacement operators was to make them as generic as possible to allow for all kinds of (weird) replacement schemes. Basically, the replacement scheme in an Island GA works as follows:
- In each populations select the emigrants using the EmigrantsSelector operator
- Migrate the emigrants to another island through the Migrator operator (e.g. along an uni-directional ring)
- Perform the immigration in each island
- Remove the "natives" that are to be replaced
- Select the emigrants that take their place
- Merge the remaining natives with the selected emigrants into one population
Change History (5)
comment:1 Changed 14 years ago by abeham
- Status changed from new to accepted
comment:2 Changed 14 years ago by abeham
- Owner changed from abeham to swagner
- Status changed from accepted to reviewing
comment:3 Changed 14 years ago by swagner
Adapted parameter descriptions in Replacer in r5408.
comment:4 Changed 14 years ago by swagner
- Owner changed from swagner to abeham
- Status changed from reviewing to readytorelease
comment:5 Changed 14 years ago by mkommend
- Resolution set to done
- Status changed from readytorelease to closed
- Version changed from 3.3.2 to 3.3.3
Note: See
TracTickets for help on using
tickets.
r5376
If the Replacer is used and it is detected that none or just one of the selection operators is defined, it will replace the missing ones with RandomSelection. It's not the best solution, but it completely satisfies the user's intention of not producing an error.