A Polynomial-Time Approximation Scheme for Sequential Batch Testing of Series Systems

Danny Segev, Yaron Shaposhnik

Research output: Contribution to journalArticlepeer-review

Abstract

We study a recently introduced generalization of the classic sequential testing problem for series systems, consisting of multiple stochastic components. The conventional assumption in such settings is that the overall system state can be expressed as an AND function, defined with respect to the states of individual components. However, unlike the classic setting, rather than testing components separately, one after the other, we allow aggregating multiple tests to be conducted simultaneously, while incurring an additional set-up cost. This feature is present in numerous practical applications, where decision makers are incentivized to exploit economy of scale by testing subsets of components in batches. The main contribution of this paper is to devise a polynomial-time approximation scheme (PTAS) for the sequential batch-testing problem, thereby significantly improving on the constant-factor performance guarantee of 6.829 + ε due to Daldal et al. [Daldal R, Özlük O, Selçuk B, Shahmoradi Z, Ünlüyurt T (2017) Sequential testing in batches. Ann. Oper. Res. 253(1):97–116.]. Our approach is based on developing and leveraging a number of techniques in approximate dynamic programming, based on ideas related to efficient enumeration methods, state-space collapse, and charging schemes. These theoretical findings are complemented by extensive computational experiments, where we demonstrate the practical advantages of our methods.

Original languageEnglish
Pages (from-to)1153-1165
Number of pages13
JournalOperations Research
Volume70
Issue number2
DOIs
StatePublished - Mar 2022

Keywords

  • approximation algorithms
  • dynamic programming
  • PTAS
  • sequential testing

Fingerprint

Dive into the research topics of 'A Polynomial-Time Approximation Scheme for Sequential Batch Testing of Series Systems'. Together they form a unique fingerprint.

Cite this