Opened 14 years ago
Closed 13 years ago
#1494 closed enhancement (done)
Implement ULX crossover
Reported by: | abeham | Owned by: | abeham |
---|---|---|---|
Priority: | high | Milestone: | HeuristicLab 3.3.5 |
Component: | Encodings.PermutationEncoding | Version: | 3.3.5 |
Keywords: | Cc: |
Description
This crossover is described in Tate, D. M. & Smith, A. E. A genetic approach to the quadratic assignment problem Computers & Operations Research, 1995, 22, 73-83.
Change History (10)
comment:1 Changed 14 years ago by abeham
- Status changed from new to accepted
comment:2 Changed 14 years ago by abeham
comment:3 Changed 14 years ago by abeham
- Priority changed from medium to high
comment:4 Changed 14 years ago by abeham
- Owner changed from abeham to gkronber
- Status changed from accepted to reviewing
- Version changed from branch to 3.3.4
- merged to trunk
comment:5 Changed 14 years ago by abeham
- Owner changed from gkronber to mkommend
comment:6 Changed 14 years ago by mkommend
- Owner changed from mkommend to abeham
- Status changed from reviewing to assigned
PermutationEqualityComparer
- GetHashCode(Permutation obj) should follow the same logic as the comparison for equality
- should derive from EqualityComparer<Permutation> instead of implementing IEqualityComparer<Permutation>
- EqualsAbsolute(Permutation x, Permutation y) could be written as return x.SequenceEquals(y);
UniformLikeCrossOver
- I would write the overriden Cross method before the static implementation to have a more natural reading flow.
- IMHO it is reasonable to seal the class as subclassing makes no sense. What do you think of this?
The remaining source code looks very good.
comment:7 Changed 13 years ago by abeham
- Owner changed from abeham to mkommend
- Status changed from assigned to reviewing
- Made ULX crossover sealed
- PermutationEqualityComparer
- Now derives from EqualityComparer<Permutation>
- Fixed the GetHashCode function to return the same hash value when the objects are equal according to the equals function. The function is probably not that efficient using string's GetHashCode, but I couldn't come up with an easier solution in time.
- Created a unit test to test this comparer
Thanks for reviewing, the Cross method is below the static implementation in most other crossovers and manipulation operators as well.
comment:8 Changed 13 years ago by mkommend
r6512: Corrected access modifiers of the cloning and storable ctor.
comment:9 Changed 13 years ago by mkommend
- Owner changed from mkommend to abeham
- Status changed from reviewing to readytorelease
comment:10 Changed 13 years ago by swagner
- Resolution set to done
- Status changed from readytorelease to closed
- Version changed from 3.3.4 to 3.3.5
Note: See
TracTickets for help on using
tickets.
r6056