Abstract
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.
Similar content being viewed by others
References
Ansótegui, C., Sellmann, M., Tierney, K.: A gender-based genetic algorithm for the automatic configuration of algorithms. In: International Conference on Principles and Practice of Constraint Programming, pp 142–157. Springer, Berlin (2009)
Brooks, S.H.: A discussion of random methods for seeking maxima. Oper. Res. 6, 244–251 (1958)
Cohen, E., Dahlweid, M., Hillebrand, M., Leinenbach, D., Moskal, M., Santen, T., Schulte, W., Tobies, S.: VCC: a Practical System for Verifying Concurrent C, pp 23–42. Springer, Berlin (2009). https://doi.org/10.1007/978-3-642-03359-9_2
Crescenzi, P., Kann, V.: A compendium of NP optimization problems. In: WWW Spring 1994 (1994)
Dechter, R.: Constraints Processing. The Morgan Kaufmann Series in Artificial Intelligence. Morgan Kaufmann, Burlington (2003)
Di Gaspero, L., Schaerf, A.: Easylocal++: an object-oriented framework for flexible design of local search algorithms. Software — Practice & Experience 33(8), 733–765 (2003)
Dutertre, B., de Moura, L.M.: A fast linear-arithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) Computer Aided Verification, 18th International Conference, CAV 2006, Seattle, WA, USA, August 17-20, 2006, Proceedings, Lecture Notes in Computer Science, vol. 4144, pp 81–94. Springer (2006). https://doi.org/10.1007/11817963_11
Forrest, S., Mitchell, M.: Relative Building-Block fitness and the Building-Block hypothesis. Foundations of Genetic Algorithms 2, 109–126 (1993)
Glover, F.: Future paths for integer programming and links to artificial intelligence. Comput. Oper. Res. 13(5), 533–549 (1986)
Gomes, C.P., Selman, B.: Algorithm portfolios. Artif. Intell. 126 (1-2), 43–62 (2001)
Hentenryck, P.V., Michel, L.: Constraint-Based Local Search. MIT Press, Cambridge (2005)
Hoos, H., Leyton-Brown, K., Schaub, T., Schneider, M.: Algorithm configuration for portfolio-based parallel sat-solving. In: Workshop on Combining Constraint Solving with Mining and Learning (2012)
Hoos, H.H., Stutzle, T.: Stochastic Local Search: Foundations and Applications. Morgan Kaufmann Massachusetts , Burlington (2004)
Huberman, B.A., Lukose, R.M., Hogg, T.: An economics approach to hard computational problems. Science 275(5296), 51–54 (1997)
Hutter, F., Hoos, H.H., Leyton-Brown, K.: Sequential model-based optimization for general algorithm configuration. In: International Conference on Learning and Intelligent Optimization, pp 507–523. Springer (2011)
Hutter, F., Hoos, H.H., Leyton-Brown, K., Stützle, T.: ParamILS: an automatic algorithm configuration framework. J. Artif. Intell. Res. 36, 267–306 (2009)
Kirkpatrick, S., Gelatt, C.D. Jr., Vecchi, M.P.: Optimization by simulated annealing. Science 220, 671–680 (1983)
Karp, R.M.: Reducibility among combinatorial problems. In: Complexity of Computer Computations. Springer, US (1972)
Kroening, D., Strichman, O.: Decision Procedures: an Algorithmic Point of View. Texts in Theoretical Computer Science. An EATCS Series. Springer, Berlin (2010). http://www.decision-procedures.org
Leino, K.R.M.: Dafny: an automatic program verifier for functional correctness. In: International Conference on Logic for Programming Artificial Intelligence and Reasoning, pp 348–370. Springer (2010)
López-Ibáñez, M., Dubois-Lacoste, J., Cáceres, L. P., Birattari, M., Stützle, T.: The irace package: iterated racing for automatic algorithm configuration. Operations Research Perspectives 3, 43–58 (2016)
Malitsky, Y., Sellmann, M.: Instance-specific algorithm configuration as a method for non-model-based portfolio generation. Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimzation Problems.7298 244–259
Michel, L., Van Hentenryck, P.: Localizer a modeling language for local search. In: Smolka, G. (ed.) Principles and Practice of Constraint Programming-CP97, pp 237–251. Springer, Berlin (1997)
de Moura, L., Bjørner, N.: Z3: an Efficient SMT Solver, pp 337–340. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-78800-3_24
Nemhauser, G.L., Wolsey, L.A., Fisher, M.L.: An analysis of approximations for maximizing submodular set functions - I. Math. Program. 14(1), 265–294 (1978)
Nof, Y.: Real time solving of discrete optimization problems. Master’s thesis, Technion, Israel Institute of Technology. Available online in https://ie.technion.ac.il/~ofers/publications/theses/yair_nof.pdf (2017)
Petrik, M., Zilberstein, S.: Learning parallel portfolios of algorithms. Ann. Math. Artif. Intell. 48(1), 85–106 (2006)
Rubinstein, R., Kroese, D.: The Cross-Entropy Method: a Unified Approach to Combinatorial Optimization, Monte-Carlo Simulation, and Machine Learning. Springer, New York (2004)
Sinz, C.: Towards an optimal cnf encoding of boolean cardinality constraints. CP 3709, 827–831 (2005)
Wei, Y., Pei, Y., Furia, C.A., Silva, L.S., Buchholz, S., Meyer, B., Zeller, A.: Automated fixing of programs with contracts. In: Proceedings of the 19th International Symposium on Software Testing and Analysis, pp 61–72. ACM (2010)
Williamson, D.P., Shmoys, D.B.: The Design of Approximation Algorithms. Cambridge University Press, Cambridge (2011)
Yang, X.S.: Nature-Inspired Metaheuristic Algorithms, 2nd edn., pp 12–13. Luniver Press, United Kingdom (2010)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Nof, Y., Strichman, O. Real-time solving of computationally hard problems using optimal algorithm portfolios. Ann Math Artif Intell 89, 693–710 (2021). https://doi.org/10.1007/s10472-020-09704-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10472-020-09704-4