Dynamic algorithm selection aims to exploit the complementarity of multiple optimization algorithms by switching between them during the search. While these kinds of dynamic algorithms have been shown to have potential to outperform their component algorithms, it is still unclear how this potential can best be realized. One promising approach is to make use of landscape features to enable a per-run trajectory-based switch. Here, the samples seen by the first algorithm are used to create a set of features which describe the landscape from the perspective of the algorithm. These features are then used to predict what algorithm to switch to. In this work, we extend this per-run trajectory-based approach to consider a wide variety of potential points at which to perform the switch. We show that using a sliding window to capture the local landscape features contains information which can be used to predict whether a switch at that point would be beneficial to future performance. By analyzing the resulting models, we identify what features are most important to these predictions. Finally, by evaluating the importance of features and comparing these values between multiple algorithms, we show clear differences in the way the second algorithm interacts with the local landscape features found before the switch.
翻译:动态算法选择旨在利用多种优化算法的互补性, 在搜索中相互转换。 虽然这些类型的动态算法已证明有可能超越其组件算法, 但仍不清楚如何最好地实现这一潜力。 一种有希望的方法是利用景观特征, 使每个运行的轨迹开关成为可能。 这里, 第一个算法所看到的样本被用来创建一组特征, 从算法的角度描述景观。 这些特征然后用来预测要转换到什么算法。 在这项工作中, 我们扩展了这种以运行为主的轨迹法方法, 以考虑进行开关的多种潜在点。 我们显示, 使用滑动窗口捕捉本地景观特征包含信息, 可以用来预测当点开关是否有益于未来的性能。 通过分析所产生的模型, 我们确定这些特征对于这些预测非常重要。 最后, 通过评估特征的重要性, 比较多个算法之间的这些值, 我们显示了第二个算法与开关前发现的本地景观特征互动的方式的明显差异 。