This paper introduces a problem in which the state of a system needs to be determined through costly tests of its components by a limited number of testing units and before a given deadline. We also consider a closely related search problem in which there are multiple searchers to find a target before a given deadline. These natural generalizations of the classical sequential testing problem and search problem are applicable in a wide range of time-critical operations such as machine maintenance, diagnosing a patient, and new product development. We show that both problems are NP-hard, develop a pseudo-polynomial dynamic program for the special case of two time slots, and describe a partial-order-based as well as an assignment-based mixed integer program for the general case. Based on extensive computational experiments, we find that the assignment-based formulation performs better than the partial-order-based formulation for the testing variant, but that this is the other way round for the search variant. Finally, we propose a pairwise-interchange-based local search procedure and show that, empirically, it performs very well in finding near-optimal solutions.
翻译:本文提出了一个问题,即一个系统的状况需要通过数量有限的测试单位在特定期限之前对其组成部分进行昂贵的测试来确定。我们还考虑一个密切相关的搜索问题,即有多个搜索者在特定期限之前寻找目标。这些典型的顺序测试问题和搜索问题的自然概括性适用于一系列时间紧迫的操作,如机器维护、诊断病人和新产品开发。我们表明,这两个问题都是硬质的,为两个时段的特殊案例开发一个假的极化动态程序,描述一个基于部分命令的以及基于分配的通用案例混合整数程序。根据广泛的计算实验,我们发现基于分配的配方比基于部分命令的测试变式的配方要好,但这是搜索变方的另一轮。最后,我们提出了一种基于对称互换的本地搜索程序,并用经验表明,它在寻找接近最佳的解决方案方面表现很好。