Real-time solving of computationally hard problems using optimal algorithm portfolios

Various hard real-time systems have a desired requirement which is impossible to fulfill: to solve a computationally hard optimization problem within a short and fixed amount of time T , e.g., T = 0.5 seconds. For such a task, the exact, exponential algorithms, as well as various Polynomial-Time App...

Full description

Saved in:
Bibliographic Details
Published in:Annals of mathematics and artificial intelligence Vol. 89; no. 7; pp. 693 - 710
Main Authors: Nof, Yair, Strichman, Ofer
Format: Journal Article
Language:English
Published: Cham Springer International Publishing 01.07.2021
Springer
Springer Nature B.V
Subjects:
ISSN:1012-2443, 1573-7470
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Various hard real-time systems have a desired requirement which is impossible to fulfill: to solve a computationally hard optimization problem within a short and fixed amount of time T , e.g., T = 0.5 seconds. For such a task, the exact, exponential algorithms, as well as various Polynomial-Time Approximation Schemes, are irrelevant because they can exceed T . What is left in practice is to combine various anytime algorithms in a parallel portfolio. The question is how to build such an optimal portfolio, given a budget of K computing cores. It is certainly not as simple as choosing the K best performing algorithms, because their results are possibly correlated (e.g., there is no point in choosing two good algorithm for the portfolio if they win on a similar set of instances). We prove that the decision variant of this problem is NP-complete, and furthermore that the optimization problem is approximable. On the practical side, our main contribution is a solution of the optimization problem of choosing K algorithms out of n , for a machine with K computing cores, and the related problem of detecting the minimum number of required cores to achieve an optimal portfolio, with respect to a given training set of instances. As a benchmark, we took instances of a hard optimization problem that is prevalent in the real-time industry, in which the challenge is to decide on the best action within time T . We include the results of numerous experiments that compare the various methods. Hence, a side effect of our tests is that it gives the first systematic empirical evaluation of the relative success of various known stochastic-search algorithms in coping with a hard combinatorial optimization problems under a very short and fixed timeout.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:1012-2443
1573-7470
DOI:10.1007/s10472-020-09704-4