Utilitarian algorithm configuration identifies a parameter setting for a given algorithm that maximizes a user's utility. Utility functions offer a theoretically well-grounded approach to optimizing decision-making under uncertainty and are flexible enough to capture a user's preferences over algorithm runtimes (e.g., they can describe a sharp cutoff after which a solution is no longer required, a per-hour cost for compute, or diminishing returns from algorithms that take longer to run). COUP is a recently-introduced utilitarian algorithm configuration procedure which was designed mainly to offer strong theoretical guarantees about the quality of the configuration it returns, with less attention paid to its practical performance. This paper closes that gap, bringing theoretically-grounded, utilitarian algorithm configuration to the point where it is competitive with widely used, heuristic configuration procedures that offer no performance guarantees. We present a series of improvements to COUP that improve its empirical performance without degrading its theoretical guarantees and demonstrate their benefit experimentally. Using a case study, we also illustrate ways of exploring the robustness of a given solution to the algorithm selection problem to variations in the utility function.
翻译:功利算法配置旨在为给定算法确定一个能最大化用户效用的参数设置。效用函数为在不确定性下优化决策提供了理论依据充分的方法,且具有足够的灵活性以捕捉用户对算法运行时间的偏好(例如,它们可以描述解决方案不再需要的严格截止时间、按小时计算的成本,或运行时间较长算法带来的收益递减)。COUP是近期提出的功利算法配置程序,其设计主要侧重于为返回配置的质量提供强有力的理论保证,而对其实际性能的关注较少。本文弥合了这一差距,使基于理论的功利算法配置达到与广泛使用的启发式配置程序相竞争的水平,后者不提供性能保证。我们提出了一系列改进COUP的方法,这些改进在不降低其理论保证的前提下提升了其实证性能,并通过实验证明了其优势。通过案例研究,我们还展示了探索算法选择问题给定解对效用函数变化的鲁棒性的方法。