Results 1  10
of
16
Algorithm Selection for Combinatorial Search Problems: A Survey
, 2012
"... The Algorithm Selection Problem is concerned with selecting the best algorithm to solve a given problem on a casebycase basis. It has become especially relevant in the last decade, as researchers are increasingly investigating how to identify the most suitable existing algorithm for solving a prob ..."
Abstract

Cited by 20 (5 self)
 Add to MetaCart
The Algorithm Selection Problem is concerned with selecting the best algorithm to solve a given problem on a casebycase basis. It has become especially relevant in the last decade, as researchers are increasingly investigating how to identify the most suitable existing algorithm for solving a problem instead of developing new algorithms. This survey presents an overview of this work focusing on the contributions made in the area of combinatorial search problems, where Algorithm Selection techniques have achieved significant performance improvements. We unify and organise the vast literature according to criteria that determine Algorithm Selection systems in practice. The comprehensive classification of approaches identifies and analyses the different directions from which Algorithm Selection has been approached. This paper contrasts and compares different methods for solving the problem as well as ways of using these solutions. It closes by identifying directions of current and future research.
Algorithm runtime prediction: Methods & evaluation.
 Artificial Intelligence,
, 2014
"... Abstract Perhaps surprisingly, it is possible to predict how long an algorithm will take to run on a previously unseen input, using machine learning techniques to build a model of the algorithm's runtime as a function of problemspecific instance features. Such models have many important appli ..."
Abstract

Cited by 17 (6 self)
 Add to MetaCart
(Show Context)
Abstract Perhaps surprisingly, it is possible to predict how long an algorithm will take to run on a previously unseen input, using machine learning techniques to build a model of the algorithm's runtime as a function of problemspecific instance features. Such models have many important applications and over the past decade, a wide variety of techniques have been studied for building such models. In this extended abstract of our 2014 AI Journal article of the same title, we summarize existing models and describe new model families and various extensions. In a comprehensive empirical analyis using 11 algorithms and 35 instance distributions spanning a wide range of hard combinatorial problems, we demonstrate that our new models yield substantially better runtime predictions than previous approaches in terms of their generalization to new problem instances, to new algorithms from a parameterized space, and to both simultaneously. Introduction NPcomplete problems are ubiquitous in AI. Luckily, while these problems may be hard to solve on worstcase inputs, it is often feasible to solve even large problem instances that arise in practice. Less luckily, stateoftheart algorithms often exhibit extreme runtime variation across instances from realistic distributions, even when problem size is held constant, and conversely the same instance can take dramatically different amounts of time to solve depending on the algorithm used • Algorithm selection. This classic problem of selecting the best from a given set of algorithms on a perinstance * This paper is an invited extended abstract of our 2014 AI Journal article
LLAMA: leveraging learning to automatically manage algorithms
, 2013
"... Algorithm portfolio and selection approaches have achieved remarkable improvements over single solvers. However, the implementation of such systems is often highly customised and specific to the problem domain. This makes it difficult for researchers to explore different techniques for their speci ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
(Show Context)
Algorithm portfolio and selection approaches have achieved remarkable improvements over single solvers. However, the implementation of such systems is often highly customised and specific to the problem domain. This makes it difficult for researchers to explore different techniques for their specific problems. We present LLAMA, a modular and extensible toolkit implemented as an R package that facilitates the exploration of a range of different portfolio techniques on any problem domain. It implements the algorithm selection approaches most commonly used in the literature and leverages the extensive library of machine learning algorithms and techniques in R. We describe the current capabilities and limitations of the toolkit and illustrate its usage on a set of example SAT problems. This document corresponds to LLAMA version 0.6. ar
Quantifying Homogeneity of Instance Sets for Algorithm Configuration
"... Abstract. Automated configuration procedures play an increasingly prominent role in realising the performance potential inherent in highly parametric solvers for a wide range of computationally challenging problems. However, these configuration procedures have difficulties when dealing with inhomoge ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Automated configuration procedures play an increasingly prominent role in realising the performance potential inherent in highly parametric solvers for a wide range of computationally challenging problems. However, these configuration procedures have difficulties when dealing with inhomogenous instance sets, where the relative difficulty of problem instances varies between configurations of the given parametric algorithm. In the literature, instance set homogeneity has been assessed using a qualitative, visual criterion based on heat maps. Here, we introduce two quantitative measures of homogeneity and empirically demonstrate these to be consistent with the earlier qualitative criterion. We also show that according to our measures, homogeneity increases when partitioning instance sets by means of clustering based on observed runtimes, and that the performance of a prominent automatic algorithm configurator increases on the resulting, more homogenous subsets.
claspfolio 2: Advances in Algorithm Selection for Answer Set Programming
 UNDER CONSIDERATION FOR PUBLICATION IN THEORY AND PRACTICE OF LOGIC PROGRAMMING
"... Building on the awardwinning, portfoliobased ASP solver claspfolio, we present claspfolio 2, a modular and open solver architecture that integrates sevral different portfoliobased algorithm selection approaches and techniques. The claspfolio 2 solver framework supports various feature generato ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Building on the awardwinning, portfoliobased ASP solver claspfolio, we present claspfolio 2, a modular and open solver architecture that integrates sevral different portfoliobased algorithm selection approaches and techniques. The claspfolio 2 solver framework supports various feature generators, solver selection approaches, solver portfolios, as well as solverschedulebased presolving techniques. The default configuration of claspfolio 2 relies on a lightweight version of the ASP solver clasp to generate static and dynamic instance features. The flexible open design of claspfolio 2 is a distinguishing factor even beyond ASP. As such, it provides a unique framework for comparing and combining existing portfoliobased algorithm selection approaches and techniques in a single, unified framework. Taking advantage of this, we conducted an extensive experimental study to assess the impact of different feature sets, selection approaches and base solver portfolios. In addition to gaining substantial insights into the utility of the various approaches and techniques, we identified a default configuration of claspfolio 2 that achieves substantial performance gains not only over clasp’s default configuration and the earlier version of claspfolio, but also over manually tuned configurations of clasp.
From sequential algorithm selection to parallel portfolio selection
 In Dhaenens
, 2015
"... Abstract. In view of the increasing importance of hardware parallelism, a natural extension of perinstance algorithm selection is to select a set of algorithms to be run in parallel on a given problem instance, based on features of that instance. Here, we explore how existing algorithm selection t ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. In view of the increasing importance of hardware parallelism, a natural extension of perinstance algorithm selection is to select a set of algorithms to be run in parallel on a given problem instance, based on features of that instance. Here, we explore how existing algorithm selection techniques can be effectively parallelized. To this end, we leverage the machine learning models used by existing sequential algorithm selectors, such as 3S , ISAC , SATzilla and MEASP, and modify their selection procedures to produce a ranking of the given candidate algorithms; we then select the top n algorithms under this ranking to be run in parallel on n processing units. Furthermore, we adapt the presolving schedules obtained by aspeed to be effective in a parallel setting with different time budgets for each processing unit. Our empirical results demonstrate that, using 4 processing units, the best of our methods achieves a 12fold average speedup over the best single solver on a broad set of challenging scenarios from the algorithm selection library.
Nitro: A Framework for Adaptive Code Variant Tuning
"... Abstract—Autotuning systems intelligently navigate a search space of possible implementations of a computation to find the implementation(s) that best meets a specific optimization criteria, usually performance. This paper describes Nitro, a programmerdirected autotuning framework that facilitates ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
Abstract—Autotuning systems intelligently navigate a search space of possible implementations of a computation to find the implementation(s) that best meets a specific optimization criteria, usually performance. This paper describes Nitro, a programmerdirected autotuning framework that facilitates tuning of code variants, or alternative implementations of the same computation. Nitro provides a library interface that permits programmers to express code variants along with metainformation that aids the system in selecting among the set of variants at run time. Machine learning is employed to build a model through training on this metainformation, so that when a new input is presented, Nitro can consult the model to select the appropriate variant. In experiments with five realworld irregular GPU benchmarks from sparse numerical methods, graph computations and sorting, Nitrotuned variants achieve over 93 % of the performance of variants selected through exhaustive search. Further, we describe optimizations and heuristics in Nitro that substantially reduce training time and other overheads. KeywordsAutotuning; Performance Optimization; GPUs; I.
Algorithm Selection for Search: A survey Algorithm Selection for Combinatorial Search Problems: A survey
"... Abstract The Algorithm Selection Problem is concerned with selecting the best algorithm to solve a given problem on a casebycase basis. It has become especially relevant in the last decade, as researchers are increasingly investigating how to identify the most suitable existing algorithm for solv ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract The Algorithm Selection Problem is concerned with selecting the best algorithm to solve a given problem on a casebycase basis. It has become especially relevant in the last decade, as researchers are increasingly investigating how to identify the most suitable existing algorithm for solving a problem instead of developing new algorithms. This survey presents an overview of this work focusing on the contributions made in the area of combinatorial search problems, where Algorithm Selection techniques have achieved significant performance improvements. We unify and organise the vast literature according to criteria that determine Algorithm Selection systems in practice. The comprehensive classification of approaches identifies and analyses the different directions from which Algorithm Selection has been approached. This paper contrasts and compares different methods for solving the problem as well as ways of using these solutions. It closes by identifying directions of current and future research.
Algorithm Selection for the Graph Coloring Problem
"... Abstract. We present an automated algorithm selection method based on machine learning for the graph coloring problem (GCP). For this purpose, we identify 78 features for this problem and evaluate the performance of six stateoftheart (meta)heuristics for the GCP. We use the obtained data to trai ..."
Abstract
 Add to MetaCart
Abstract. We present an automated algorithm selection method based on machine learning for the graph coloring problem (GCP). For this purpose, we identify 78 features for this problem and evaluate the performance of six stateoftheart (meta)heuristics for the GCP. We use the obtained data to train several classification algorithms that are applied to predict on a new instance the algorithm with the highest expected performance. To achieve better performance for the machine learning algorithms, we investigate the impact of parameters, and evaluate different data discretization and feature selection methods. Finally, we evaluate our approach, which exploits the existing GCP techniques and the automated algorithm selection, and compare it with existing heuristic algorithms. Experimental results show that the GCP solver based on machine learning outperforms previous methods on benchmark instances.