Automated configuration of algorithms for solving hard computational problems
The best-performing algorithms for many hard problems are highly parameterized. Selecting the best heuristics and tuning their parameters for optimal overall performance is often a difficult, tedious, and unsatisfying task. This thesis studies the automation of this important part of algorithm desig...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
University of British Columbia
2009
|
Online Access: | http://hdl.handle.net/2429/13907 |
id |
ndltd-LACETR-oai-collectionscanada.gc.ca-BVAU.-13907 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-LACETR-oai-collectionscanada.gc.ca-BVAU.-139072013-06-05T04:18:11ZAutomated configuration of algorithms for solving hard computational problemsHutter, FrankThe best-performing algorithms for many hard problems are highly parameterized. Selecting the best heuristics and tuning their parameters for optimal overall performance is often a difficult, tedious, and unsatisfying task. This thesis studies the automation of this important part of algorithm design: the configuration of discrete algorithm components and their continuous parameters to construct an algorithm with desirable empirical performance characteristics. Automated configuration procedures can facilitate algorithm development and be applied on the end user side to optimize performance for new instance types and optimization objectives. The use of such procedures separates high-level cognitive tasks carried out by humans from tedious low-level tasks that can be left to machines. We introduce two alternative algorithm configuration frameworks: iterated local search in parameter configuration space and sequential optimization based on response surface models. To the best of our knowledge, our local search approach is the first that goes beyond local optima. Our model-based search techniques significantly outperform existing techniques and extend them in ways crucial for general algorithm configuration: they can handle categorical parameters, optimization objectives defined across multiple instances, and tens of thousands of data points. We study how many runs to perform for evaluating a parameter configuration and how to set the cutoff time, after which algorithm runs are terminated unsuccessfully. We introduce data-driven approaches for making these choices adaptively, most notably the first general method for adaptively setting the cutoff time. Using our procedures—to the best of our knowledge still the only ones applicable to these complex configuration tasks—we configured state-of-the-art tree search and local search algorithms for SAT, as well as CPLEX, the most widely-used commercial optimization tool for solving mixed integer programs (MIP). In many cases, we achieved improvements of orders of magnitude over the algorithm default, thereby substantially improving the state of the art in solving a broad range of problems, including industrially relevant instances of SAT and MIP. Based on these results, we believe that automated algorithm configuration procedures, such as ours, will play an increasingly crucial role in the design of high-performance algorithms and will be widely used in academia and industry.University of British Columbia2009-10-13T18:00:35Z2009-10-13T18:00:35Z20092009-10-13T18:00:35Z2009-11Electronic Thesis or Dissertation9522135 bytesapplication/pdfhttp://hdl.handle.net/2429/13907eng |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
description |
The best-performing algorithms for many hard problems are highly parameterized. Selecting
the best heuristics and tuning their parameters for optimal overall performance is often a
difficult, tedious, and unsatisfying task. This thesis studies the automation of this important part
of algorithm design: the configuration of discrete algorithm components and their continuous
parameters to construct an algorithm with desirable empirical performance characteristics.
Automated configuration procedures can facilitate algorithm development and be applied
on the end user side to optimize performance for new instance types and optimization objectives.
The use of such procedures separates high-level cognitive tasks carried out by humans
from tedious low-level tasks that can be left to machines.
We introduce two alternative algorithm configuration frameworks: iterated local search in
parameter configuration space and sequential optimization based on response surface models.
To the best of our knowledge, our local search approach is the first that goes beyond local
optima. Our model-based search techniques significantly outperform existing techniques and
extend them in ways crucial for general algorithm configuration: they can handle categorical
parameters, optimization objectives defined across multiple instances, and tens of thousands
of data points.
We study how many runs to perform for evaluating a parameter configuration and how to
set the cutoff time, after which algorithm runs are terminated unsuccessfully. We introduce
data-driven approaches for making these choices adaptively, most notably the first general
method for adaptively setting the cutoff time.
Using our procedures—to the best of our knowledge still the only ones applicable to
these complex configuration tasks—we configured state-of-the-art tree search and local search
algorithms for SAT, as well as CPLEX, the most widely-used commercial optimization tool for
solving mixed integer programs (MIP). In many cases, we achieved improvements of orders
of magnitude over the algorithm default, thereby substantially improving the state of the art in
solving a broad range of problems, including industrially relevant instances of SAT and MIP.
Based on these results, we believe that automated algorithm configuration procedures, such
as ours, will play an increasingly crucial role in the design of high-performance algorithms
and will be widely used in academia and industry. |
author |
Hutter, Frank |
spellingShingle |
Hutter, Frank Automated configuration of algorithms for solving hard computational problems |
author_facet |
Hutter, Frank |
author_sort |
Hutter, Frank |
title |
Automated configuration of algorithms for solving hard computational problems |
title_short |
Automated configuration of algorithms for solving hard computational problems |
title_full |
Automated configuration of algorithms for solving hard computational problems |
title_fullStr |
Automated configuration of algorithms for solving hard computational problems |
title_full_unstemmed |
Automated configuration of algorithms for solving hard computational problems |
title_sort |
automated configuration of algorithms for solving hard computational problems |
publisher |
University of British Columbia |
publishDate |
2009 |
url |
http://hdl.handle.net/2429/13907 |
work_keys_str_mv |
AT hutterfrank automatedconfigurationofalgorithmsforsolvinghardcomputationalproblems |
_version_ |
1716587151570763776 |