A Bug in the Multiobjective Optimizer IBEA: Salutary Lessons for Code Release and a Performance Re-Assessment
Abstract
The Indicator-Based Evolutionary Algorithm (IBEA) is one of the first indicator-based multiobjective optimization algorithms and due to its wide availability in several algorithm packages is often used as a reference algorithm when benchmarking multiobjective optimizers. The original publication on IBEA proposes to use two specific variants: one based on the ε-indicator and one based on the hypervolume. Several experimental studies concluded that, surprisingly, the IBEA variant with the ε-indicator performs better than the one with the hypervolume—even if the (unary) hypervolume indicator itself is the quality measure used in the performance assessment. Recently, a small bug has been found in the hypervolume variant of IBEA with large implications on its performance. Here, we not only explain the bug in detail and correct it, but also present the (improved) results of the corrected version. Moreover, and probably even more important for the scientific community, we point out that this bug has been transferred to other than the original software package, discuss how this obscured the bug, and argue in favor of some simple, even obvious guidelines how the optimization community should deal with algorithm source codes, documentation, and the (natural) existence of bugs in the future.
Origin | Files produced by the author(s) |
---|
Loading...