Empirical studies are fundamental in assessing the effectiveness of implementations of branch-and-bound algorithms. The complexity of such implementations makes empirical study difficult for a wide variety of reasons. Various attempts have been made to develop and codify a set of standard techniques for the assessment of optimization algorithms and their software implementations; however, most previous work has been focused on classical sequential algorithms. Since parallel computation has become increasingly mainstream, it is necessary to re-examine and modernize these practices. In this paper, we propose a framework for assessment based on the notion that \emph{resource consumption} is at the heart of what we generally refer to as the "effectiveness" of an implementation. The proposed framework carefully distinguishes between an implementation's baseline efficiency, the efficacy with which it utilizes a fixed allocation of resources, and its scalability, a measure of how the efficiency changes as resources (typically additional computing cores) are added or removed. Efficiency is typically applied to sequential implementations, whereas scalability is applied to parallel implementations. Efficiency and scalability are both important contributors in determining the overall effectiveness of a given parallel implementation, but the goal of improved efficiency is often at odds with the goal of improved scalability. Within the proposed framework, we review the challenges to effective evaluation and discuss the strengths and weaknesses of existing methods of assessment.
翻译:经验性研究对于评估执行分支和约束算法的实效至关重要。这种执行的复杂性使得经验性研究由于各种原因难以进行。已经作出各种努力来制定和编纂一套评估优化算法及其软件实施的标准技术;然而,以前的大部分工作都集中在传统的顺序算法上。由于平行计算日益成为主流,有必要重新审查这些做法并使之现代化。在本文件中,我们基于以下概念提出了一个评估框架:资源消耗是我们通常称之为执行“效力”的核心。拟议的框架仔细区分了执行的基线效率、利用固定资源分配的效率及其可扩展性,这是衡量效率变化的方法,即资源(通常增加的计算核心)的增加或取消。效率变化通常适用于顺序执行,而效率的可调适性适用于平行执行。效率和可调适性是确定某项平行执行的总体有效性的重要贡献者,但提高效力的目标往往与提高效率的现有目标相比,在提高能力方面,在提高能力方面,在提高能力方面,在提高现有目标方面,在提高能力方面,在提高能力方面,在提高能力方面,在提高现有目标方面,在提高能力方面往往有困难。