Opened 8 years ago
Closed 7 years ago
#2775 closed defect (done)
MultiRealVectorCrossover throws exception when applied during multi-objective optimization
Reported by: | abeham | Owned by: | abeham |
---|---|---|---|
Priority: | medium | Milestone: | HeuristicLab 3.3.15 |
Component: | Problems.TestFunctions | Version: | 3.3.14 |
Keywords: | Cc: |
Description
The multi-objective test function problem should properly configure this operator. Specifically, the HeuristicCrossover and the BlendAlphaBetaCrossover are not suited in multi-objective optimization and should be removed by the problem.
Admittedly, it's not entirely the problem's fault as the operators are discovered by the Encoding, which however is agnostic to the number of objectives in the problem.
Change History (5)
comment:1 Changed 8 years ago by mkommend
comment:2 Changed 7 years ago by mkommend
- Owner set to abeham
- Status changed from new to assigned
comment:3 Changed 7 years ago by abeham
- Owner changed from abeham to mkommend
- Status changed from assigned to reviewing
I implemented the first option which was a smaller change compared to touching every encoding (and every associated problem). I think problem development should stay as simple and clean as possible and the less the problem developer needs to know or care about the more usable our framework is.
- All single-objective operators inside IMultiOperators are now removed by the multi-objective problem
- All multi-objective operators inside IMultiOperators are now removed by the single-objective problem
Please review ASAP, this is a core change!
comment:4 Changed 7 years ago by mkommend
- Owner changed from mkommend to abeham
- Status changed from reviewing to readytorelease
Reviewed r15084 and tested with NSGA-II and multi-obj. test functions. Everything works.
comment:5 Changed 7 years ago by abeham
- Resolution set to done
- Status changed from readytorelease to closed
Yes, I have experienced this issue as well, but never really thought about it. In my opinion there are two options to handle this situation.
I would prefer the second option, where the problem adds additional operators similar to problem dependent operators.