New contributions in the field of iterative optimisation heuristics are often made in an iterative manner. Novel algorithmic ideas are not proposed in isolation, but usually as an extension of a preexisting algorithm. Although these contributions are often compared to the base algorithm, it is challenging to make fair comparisons between larger sets of algorithm variants. This happens because even small changes in the experimental setup, parameter settings, or implementation details can cause results to become incomparable. Modular algorithms offer a way to overcome these challenges. By implementing the algorithmic modifications into a common framework, many algorithm variants can be compared, while ensuring that implementation details match in all versions. In this work, we propose a version of a modular framework for the popular Differential Evolution (DE) algorithm. We show that this modular approach not only aids in comparison, but also allows for a much more detailed exploration of the space of possible DE variants. This is illustrated by showing that tuning the settings of modular DE vastly outperforms a set of commonly used DE versions which have been recreated in our framework. We then investigate these tuned algorithms in detail, highlighting the relation between modules and performance on particular problems.
翻译:新的迭代优化启发式算法的贡献通常是按照迭代的方式进行的。新颖的算法思想不是孤立地提出的,而通常是作为现有算法的扩展而提出的。虽然这些贡献通常与基础算法进行比较,但在更大的算法变体集之间进行公平比较是具有挑战性的。这是因为即使是实验设置、参数设置或实现细节的微小变化也会导致结果不可比较。模块化算法提供了一种克服这些挑战的方法。通过将算法修改实现为通用框架,可以比较许多算法变体,同时确保在所有版本中实现细节匹配。在这项工作中,我们提出了一种流行差分进化算法的模块化框架版本。我们展示这种模块化方法不仅有助于比较,而且还允许更详细地探索差分进化的各种可能变体。通过展示调整模块化差分进化设置显著优于我们在框架中重新创建的一组常用差分进化版本,这一点得到了说明。然后我们详细研究了这些调整后的算法,强调了模块与特定问题的性能之间的关系。