<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Evolution of Algorithm Portfolio for Solving Strategies</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Scienze Matematiche, Informatiche e Fisiche Universita degli Studi di Udine</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The last decades have witnessed tremendous growth in the performance of solvers dealing with NP-hard problem instances. Commonly, powerful solvers outperform the other candidates for the majority of cases but obtain poor results for particular sub-domains. For this reason, Algorithm Portfolio approaches have been developed, allowing to exploit a set of solvers with complementary strengths, instead of running a single best one for all instances. Recent successful implementations combine these approaches with automatic Algorithm Con guration methods, which consider a single parameterized solver and identify the best putative values of its hyper-parameters for the analyzed instances distribution. This paper aims to illustrate the development of the principal approaches that leverage machine learning to accelerate the solution search of modern solvers. Furthermore, it presents the basic notions necessary to understand the process that enabled these techniques to achieve their amazing results with some of the many performing implementations for SAT, Answer Set Programming, and Constraint Programming.</p>
      </abstract>
      <kwd-group>
        <kwd>Algorithm Portfolio</kwd>
        <kwd>Algorithm Con guration</kwd>
        <kwd>Machine Learning</kwd>
        <kwd>Solving Strategies</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Many \di cult" problems that we encounter nowadays, especially in the logistic
area of industrial domains, can be modeled and solved using powerful ad-hoc
tools. For example, we can reduce the considered problems in SAT formulae [
        <xref ref-type="bibr" rid="ref39">39</xref>
        ],
programs expressed in Answer Set Programming [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] or Constraint Programming
[
        <xref ref-type="bibr" rid="ref43">43</xref>
        ], and then leaving the search of solution to the implemented solvers.
      </p>
      <p>
        Till the 2000s, the principal approach to solve a problem instance contained
in a collection of heterogeneous elements consisted of running a single \best"
solver that outperforms the other candidates in the majority of cases. In [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ],
this is called winner-takes-all approach, to emphasize that the algorithm that
obtains the higher average performance on the whole representative instances
set, will always be preferred to solve a new problem drawn from the considered
distribution. Since usually the performance of algorithms highly vary from instance
to instance [
        <xref ref-type="bibr" rid="ref48">48</xref>
        ], even on the same domain, systems based on Algorithm Portfolio
methods have been subsequently developed to leverage a group of solvers instead
of a unique resource. They obtained outstanding results in industrial and solving
competitions, exploiting solvers with high running time for the majority of the
instances but with excellent performance on particular problem sub-domains.
      </p>
      <p>
        Modern solvers rely on di erent techniques, ranging from incomplete search
methods, e.g., local search, to complete ones, as for instance CDCL [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ], which
has been particularly useful to accelerate SAT and ASP searching engine [
        <xref ref-type="bibr" rid="ref10 ref34">10, 34</xref>
        ].
Besides the solving core, the hyper-parameter values further guide the behavior
of algorithms, whose tuning can be manually performed by domain experts
involving considerable time and human e orts. The period on which algorithm
portfolio appeared on solving competitions coincides with the concept of Algorithm
Con guration, i.e., the techniques that e ciently explore solvers' hyper-parameter
con gurations, detecting automatically the best setting for the considered domain.
      </p>
      <p>
        This work presents a picture of the evolution of some of the principal Algorithm
Portfolio and Con guration techniques implemented in nowadays solvers,
providing the essential machine learning and statistical concepts necessary to address
this topic. Since many di erent implementations are available in the literature,
we solely report a limited portion of meaningful examples, useful to understand
the main concepts and practical issues addressed by these systems. For a more
comprehensive review we refer to [
        <xref ref-type="bibr" rid="ref24 ref25 ref4 ref46">4, 24, 25, 46</xref>
        ].
      </p>
      <p>The structure of this paper is the following: Section 2 provides the basic
machine learning concepts and related considerations for this topic, then Section
3 contains the de nition and characteristics of Algorithm Portfolio methods,
together with some practical examples derived from di erent elds, like SAT, ASP
and CP. These are just some of the main programming paradigms implemented
since in the literature we can nd examples applied in further contexts, e.g.,
Planning, Mixed Integer Programming, etc. In Section 4, we will see the principles
and main examples of Algorithm Con guration and lastly, Section 5 contains
several modern systems that combine the previous ideas to speed up the search.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Machine Learning Background</title>
      <p>Although Machine Learning presents myriad of application domains, this section
de nes solely the techniques and notions that concerns our topic.</p>
      <p>
        Several criteria can be considered to classify the learning techniques [
        <xref ref-type="bibr" rid="ref45">45</xref>
        ], such
as the prior knowledge available, determining deductive and inductive learning.
The former deduces a logical conclusion from a set of \certain" general rules:
CDCL implements this approach since, given an input formula as prior knowledge,
it leads to an equisatis able formula by adding clauses that possibly accelerate
the search. The learned clauses are certain, however, the scope of the deduced
components is limited to solving the single problem instance considered. On the
other hand, the prior knowledge of the second approach provides a support to
draw conclusions, therefore, the truth of the inferred components follows a certain
probability. These methods are leveraged by algorithm portfolio and automatic
con guration systems, using as prior knowledge a set of previously solved problem
instances, possibly independent and identically distributed according to some
xed probability distribution. An additional stage called features extraction,
pre-processes the original instances by mapping them into a space de ned by a
set of features, i.e., measurable properties or characteristics. The features of the
considered works include static features derived from syntactic analysis, e.g., the
number of clauses in a SAT instance and statistics like clauses and variables ratio,
or they can also involve probing features. The last features are more informative
but also more expensive to be calculated since they are obtained by probing
parts of the search space for a brief time interval. Finally, dynamic features are
directly computed while solving is taking place: we do not contemplate this kind
of features, although several portfolio methods rely on them, as for instance [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ].
      </p>
      <p>A further classi cation criterion regards the component learned; for instance,
we could aim to nd a direct mapping f from an input domain I into an output
space O. In case of regression, f should describe the relationships between an
independent continuous variable o 2 O and a set of dependent variables i 2 I,
e.g., a function that predicts the performance of an algorithm for a speci c
problem instance, given its features. Instead, if the output domain O is discrete,
the task is called classi cation, e.g., the predicted value could directly return the
most suitable solver to run for the considered instance.</p>
      <p>
        As concerns when processing the prior knowledge, the eager learning
approach builds a general model from the data o ine, i.e., before observing a new
instance. Alternatively, the lazy learning method processes the representative
input instances online, namely when the system encounters a new element to
solve [
        <xref ref-type="bibr" rid="ref36">36</xref>
        ]. Moreover, considering the type of feedback provided to learn a model
that entails f , we can distinguish between supervised learning and unsupervised
learning methods. The former learn a model from a set of instances whose label
(i.e., the correct output) is speci ed, trying to minimize the value produced by
the selected loss function. In contrast, the latter nds a series of patterns in the
input collection, since their output values are missing. Lastly, a third approach
called reinforcement learning, iteratively learns a series of actions to take in
a speci c environment, in order to maximize a cumulative reward, trading o
between exploration and exploitation phases. Although the literature includes
di erent approaches, this paper analyzes just supervised-learning systems.
      </p>
      <p>Learning is performed by means of a parametric model, namely an explicit
model with a xed set of parameters that range over a de ned domain. Or we can
use nonparametric model approaches, whose structure cannot be characterized by
a bounded set of parameters as its complexity grows in relation to the number of
input data. The instance-based learning is a nonparametric lazy learning method
since its knowledge consists just of indexed input instances and the reasoning
phase over them is delayed until a new example must be classi ed.</p>
      <p>Some examples of supervised learning techniques applied for regression are
linear regression, regression forests and support vector regression, while for
classication, we can rely for instance on logistic regression, support vector machine
and decision forests. Case-based reasoning and k-nearest neighbors are examples
of instance-based learning that can be employed for both tasks.
2.1</p>
      <sec id="sec-2-1">
        <title>Model Evaluation and Selection</title>
        <p>
          In Machine Learning, the No Free Lunch Theorems de ned in [
          <xref ref-type="bibr" rid="ref47">47</xref>
          ] led to a
famous implication on the choice of the learning algorithm, as they proved that
for any two algorithms, determining the most accurate learner for every domain
is unfeasible. Consequently, in the real application scenario, the usual approach
consists of considering manifold learning algorithms, evaluate them and then
select the one that leads to the best result on a separate instances collection [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ].
        </p>
        <p>In order to evaluate the performance of a learning system, the data set used
for training, called training set Ntrain, should contain instances drawn from the
same distribution of the evaluation collection, i.e., the test set Ntest. However, to
obtain unbiased results, the two sets should have di erent instances. The learned
component should trade-o between correctly predicting the output value for
instances in both Ntrain and Ntest, reducing as much as possible both over and
under- tting phenomena.</p>
        <p>Once an evaluation measure is chosen, model evaluation is performed: the
most common is the holdout method which partitions the original collection in
two sets, according to a certain splits ratio. Alternatively, k-folds cross-validation
is a more costly method that leverages the whole collection for training, as it
partitions the original data into k equal sized subset and performs training and
testing k times, using each time the i-th test set and then averaging the results.</p>
        <p>Besides the parameters learned during training, the learning algorithm can
have further hyper parameters whose values are pre-de ned. Each con guration
leads to a di erent learning model, therefore a ranking method called model
selection orders the resulting models with respect to their relative estimated
performances, selecting the one that returns the highest. For instance, the holdout
method can be generalized to split the collection into three sets: training several
learning algorithms on Ntrain, selecting among the learned models the
bestperforming according the validation set Nval and nally evaluating it on Ntest.
An extension of the k-folds cross-validation method is a valid alternative to
conduct model selection as it leads to good predictions for both model and hyper
parameters, despite using a relatively small data collection.</p>
        <p>
          A nal remark concerns the features extraction phase: the choice of signi cant
but cheap features that adequately characterize the considered instances heavily
in uences the model performances. Examining a large set of features is usually
counterproductive since they could contain the same information or even be
misleading for the prediction. Two techniques that can reduce the number
and impact of weak features are subset selection like stepwise regression, or
regularization methods like ridge regression [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. The former applies statistical
techniques, like forward-stepwise regression that, starting from an empty set of
features, iteratively includes the one that brings the best statistical improvement
on the prediction model, returning at the end a subset of features that should
capture the best characteristics to model the input instances. The latter approach
instead, performs regression introducing a regularization term to the loss function
of the model, allowing to keep all features but assigning to them di erent weights.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Algorithm Portfolio</title>
      <p>
        Algorithm Portfolios methods allow to consider simultaneously a set of algorithms
exploiting their complementary strengths across an instances domain. Their rst
designs are provided in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] and [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
      </p>
      <p>
        Two classi cation criterion contained in [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ] distinguish these methods
considering the moment and the object chosen from the portfolio. With regard to
\when to perform the choice", a static portfolio approach operates the selection
o ine, which lessens further overhead during solving, despite precluding
adjustment of the learned model in case of poor performance. On the other hand, a
dynamic portfolio approach allows switching the initially chosen algorithm online,
increasing its exibility as well as the computational cost during solving.
      </p>
      <p>
        Considering the \object selected " to solve a new instance, algorithm scheduling
approach de nes time slices and running order for each portfolio algorithm and,
if a multicore architecture is available, parallel portfolio method extends this
idea by running the schedule in parallel. Lastly, algorithm selection chooses the
algorithm with the highest performance to solve the considered problem instance,
as we can see in Figure 1. In [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ] this is called per-instance algorithm selection, to
di erentiate it from the winner-takes-all approaches, also called per-distribution
algorithm selection.
      </p>
      <p>Algorithm scheduling is a more robust approach than algorithm selection, as
the latter chooses a unique solver and thus poor results cannot be mitigated. On
the other hand, a schedule is useful if numerous problem instances are solved
within short time intervals by di erent solvers.</p>
      <p>x 2 P
problem space
feature
extraction
kp(A; x)k = algorithm performance
norm
mapping
f(x) 2 F = Rm
feature space</p>
      <p>S(f(x))
selection
mapping</p>
      <p>A 2 A
algorithm
portfolio</p>
      <p>p(A; x)
performance
mapping</p>
      <p>
        p 2 Rn
performance
measuring space
SATzilla One of the most famous algorithm selection implementations is the
pioneer system SATzilla. From its rst appearance in 2004 SAT competition [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ],
numerous successive versions have been developed [
        <xref ref-type="bibr" rid="ref51 ref52">51, 52</xref>
        ]1, improving its
perfor1 Just to cite the most popular.
mance so much that it won many gold medals on several solving competitions. Its
success proved that algorithm portfolio implementations managed to outperform
the single best solver, i.e., the standalone solver with the best performance across
all instances, despite features extraction, selection overhead and by nding a
sub-optimal solver whose performance is close to the optimal.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref37">37</xref>
        ], statistical regression techniques allowed per-instance selection by
learning o ine an empirical hardness model for each solver A in a de ned
portfolio A. Namely, a function that predicts the amount of time that A will
take to solve a problem instance i, according to its features xi. In order to learn
the empirical hardness model MA for algorithm A using a training set I, the
following steps are performed:
1. For each instance i 2 I, compute its features together with its approximate2
runtime for A, which is the output value that the nal model should predict.
2. Next, execute in order forward-stepwise selection to eliminate highly
correlated features, a quadratic basis function expansion on the new features set
and then, repeat forward-stepwise selection on the expanded features.
3. Lastly, use ridge regression technique to learn the model MA that predicts
logarithm runtime of A for solving a new problem instance j, given xj .
      </p>
      <p>
        SATzilla-07 [
        <xref ref-type="bibr" rid="ref51">51</xref>
        ] extends its previous implementation, by adding further
statistical techniques to the empirical hardness model [
        <xref ref-type="bibr" rid="ref50">50</xref>
        ] and introducing two
simple but very e cient components that have been exploited in successive
algorithm portfolio systems: pre-solvers and backup solver. The former is a single
or a schedule of algorithms with a reasonable general performance that runs for a
small amount of time before features computation. It should prevent the system
performance penalization from features extraction on very easy instances, while
algorithm selection focuses exclusively on harder cases. The latter consists of the
solver that achieves the best average runtime on a validation data set, containing
instances that are not solved by the pre-solvers. It will run if the online features
computation fails for some reason (e.g., error or timeout). Lastly, SATzilla-07
applies subset solvers selection, choosing the best subset of solvers to use in the
nal portfolio by keeping the algorithms whose empirical model predicts the
lowest total runtime on a validation set.
      </p>
      <p>
        SATzilla-11 [
        <xref ref-type="bibr" rid="ref52">52</xref>
        ] follows the main structure outlined in its previous versions,
but applies decision forests to learn classi cation models for algorithm selection,
instead of regression. This approach uses explicit cost-sensitive loss function to
weigh misclassi cations in direct proportion to its impact on portfolio performance;
namely, the con dence that one solver could perform well on a particular problem
instance guides the choice of the algorithms (returning a discrete value since we
perform classi cation with respect to the portfolio algorithms) while the
costsensitive weights allow to consider how far its predicted runtime deviates from
the performance of the other solvers. Thanks to its new classi cation approach,
SATzilla-11 considerably outperforms its previous versions.
2 As the considered SAT solvers are randomized, the running time necessaries to solve
the same instance is not deterministic, but ranges in a certain interval.
Claspfolio For Answer Set Programming, claspfolio [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] follows an approach
similar to SATzilla-07, performing algorithm selection among a set of twelve
con gurations of clasp solver [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], with complementary strengths. It learns
o ine a performance model for each con guration using support vector regression
techniques. The training set is obtained by a series of steps: initially, a collection
of problem instance is grounded by gringo [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] and then claspre, a light-weight
version of clasp, is run to extract their features. Lastly, after computing the
running time needed to solve each grounded instance by every clasp con guration,
their scores are calculated and considered as labels of the training set of each
con gurations' model. When a new instance j is met online, claspre is run to
extract its features xj but it also works as a pre-solver: if its execution leads
directly to a solution, the selection is not needed. Then, the learned models use
xj to predict the scoring of each con guration and choose the best one.
ME-ASP [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] is a modular multi-engine approach for Answer Set Programming
that implements algorithm selection, following a similar approach of a previous
successful systems for Quanti ed Boolean Formulas (QBFs) solvers [
        <xref ref-type="bibr" rid="ref40">40</xref>
        ]. Its
training set uses just static features and de nes the solving time required by every
portfolio solver as output values. Instead of applying an eager and parametric
approach, like we have seen in the previous works, it uses 1-nearest neighbors
classi cation technique to retrieve the most promising solver from the portfolio
to solve a new problem instance. A successive work [
        <xref ref-type="bibr" rid="ref32">32</xref>
        ] extends this approach
by considering more classi cation techniques.
3.2
      </p>
      <sec id="sec-3-1">
        <title>Algorithm Scheduling Implementations</title>
        <p>The idea of using algorithm scheduling has been conceived since the heavy tailed
nature of solving: often a solver either solves a problem in a short time, or it does
not solve it at all within a given amount of CPU time. This behavior emerged
especially on the results of several solving competitions.</p>
        <p>The rst two following solutions concern Constraint Programming solvers, and
manage to de ne a schedule online, as the size of their portfolio S is rather small.
Moreover, they rely on instance-based learning approach, using as knowledge
base features of problem instances and the running times of S solvers, taken from
past CSP competitions.</p>
        <p>
          CPhydra [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ] de nes an algorithms schedule3 assigning a di erent time slice to
each solver in S, according to the considered problem instance i.
        </p>
        <p>
          After e ciently indexing its knowledge base, CPhydra uses the case-based
reasoning approach to de ne the schedule time slices4. The retrieval phase
computes the features xi and then uses 10-nearest neighbors techniques to
3 Actually, the order of solvers is static since the authors aim to maximize the probability
of solving new instances within the time limit.
4 We just consider the rst two core-reasoning phases of case-based reasoning cycle [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
retrieve from the knowledge base, the set C of the ten most similar cases to i. For
each c 2 C, it considers its solvers' time and similarity distance d(c) with i. The
reuse step computes the solvers scheduling, i.e., a function f : S ! R that maps
for each solver s 2 S a time interval t that must not exceed a certain threshold
T . f should be able to de ne a time scheduling such that, within T the number
of solved instances in C is maximized, considering also the similarity of each case
with i. We can formulate this goal as an optimization problem:
max
where N (s; f (s)) contains the instances in C that solver s is able to solve, given
at least f (s) time. If every solver reaches the maximal number of solved instances
within a time t^ such that Ps2S t^ &lt; T , then a schedule that allocates to each
solver a time interval equal to t^ can trivially optimize the objective function. In
this situation, in order to exploit the whole available time, CPhydra discards
the solvers that are dominated by others in the portfolio and then computes the
optimal time assignment for each of them, using the entire available time.
SUNNY [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] is an algorithm scheduling for Constraint Programming whose name
derives from its characteristics: it detects a SU bset of portfolio solvers by using
k-N earest N eighbor technique to de ne a lazY learning model.
        </p>
        <p>When a new instance i must be solved, SUNNY computes its features xi and
use them to retrieve N N (k; i), i.e., the set of k most similar instances from its
knowledge base. Then, it nds the minimal subset of algorithms M S that
solves the highest number of instances in N N (k; i) within time T (choosing the
subset with the lowest average solving time in case of ties). In order to de ne the
schedule, SUNNY divides the time window [0; T ] in T = equal-sized slots, where
is the sum of the number of instances that each algorithm in M solves within
T , plus those that are not solved by anyone. Then, each solver s 2 M is assigned
with a number of time slots corresponding to the number of instances in N N (k; i)
that s is able to solve within T . The additional time slots (that corresponds
to the unsolved instances) are assigned to a previously de ned backup solver.
Finally the solvers are sorted in decreasing order, according to the allocated time.</p>
        <p>
          A successive parallel portfolio approach [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] extends SUNNY by de ning a
multicore solver scheduling. It deals also with constraint optimization while,
concerning CSP, it allows to obtain a dynamic scheduling that is run in parallel.
Aspeed [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] can be used for SAT, CSP or ASP solvers, and relies on clasp [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]
to determine a \per-distribution" schedule5 that optimizes their performance on
a set of problem instances. It was inspired by ppfolio [
          <xref ref-type="bibr" rid="ref44">44</xref>
          ]: a parallel portfolio
5 As it relies on per-distribution approach, online features extraction is not required.
that won the 2011 SAT competition by simply using a handmade solver schedule
based only on the number of available cores. Aspeed extends its idea by applying
a more sophisticated reasoning to de ne a sequential or parallel scheduling.
        </p>
        <p>The sequential one consists of two components: a function that maps a
time slice to each solver in S, and a function that takes in input a position
p 2 f1; :::; jSjg and returns the pth solver of the de ned schedule. Considering
a set of instances I and a jSj jIj matrix R that contains the runtimes of
solvers for every instances in I, we can de ne both and as multiobjective
optimization problems. The rst step consists in nding that optimizes the
following equation:
max
where ; (i) contains the time that the schedule de ned by and requires to
solve i. The schedule follows the order de ned by : each solver s tries to solve i
within its timeout (s) and until i is not solved the solving times are summed
up, reaching T if i remains unsolved.</p>
        <p>The schedule can be extended to a multicore architecture by de ning a function
that, given a number of cores c, nds a partition P of S of dimension c. Then,
for each solver subset Sk 2 P, it uses the previous sequential scheduling approach.
The new objective function nds , and u for each u 2 f1; :::; cg such that the
expected time for solving an element in I is globally minimized.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Automatic Algorithm Con guration</title>
      <p>Algorithm Portfolio e cacy highly depends on the elements chosen to compose
the portfolio. Besides the various techniques that underlie the solvers, there are
min
min</p>
      <p>X
s2S
X
i2I
(s)2:
; (i)</p>
      <p>Once the time assignment is de ned, the solvers must be sorted in order to
reduce the expected time for solving an element in I. Thus we de ne a function
: f1; :::; jSjg ! S that optimizes
free parameters or hyper parameters designed to customize their behavior by
guiding further the search. Let us consider the problem of nding the optimal
hyper parameters' con guration of a certain parametrized solver A with respect
to a set of representative problem instances I. Since the hyper parameters range
from continuous to categorical domains6, their combination leads to a high
dimensional and structured con guration space. The exponential number of
possibilities usually renders manual parameters tuning ine cient and without
guarantee on the results quality, even if carried out by domain experts. We
represent with the con guration space of the hyper parameters of solver A.</p>
      <p>Algorithm Con guration approach applies statistical techniques to
automatically nd the putative con guration which optimally solves problem instances
that follow a certain distribution. It returns the con guration with the minimal
expected cost required to solve the elements in I with respect to a performance
metric m : I ! R.</p>
      <p>Set of instances I</p>
      <p>Algorithm A and its
configuration space
Select 2</p>
      <p>Assess A( ) on
some I I</p>
      <p>Return best found
configuration
return performance</p>
      <p>Configuration Task</p>
      <p>
        As we can see in Figure 2, Algorithm Con guration iterates two actions until
detecting with su cient con dence a con guration that overcomes the others.
The former action consists in deciding which con guration chose at each step: the
high dimension of , even discretizing the continuous domains, renders unfeasible
exploring the whole space. Therefore, e cient search strategies have been de ned
to entail a trade-o between diversi cation and intensi cation. ParamILS [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],
for instance, uses Iterated Local Search to perform a biased random walk over a
chain of local optima, while Gender-Based Genetic Algorithm (GGA) [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] relies
on Genetic Algorithms to compare populations of con gurations. On the other
hand, Sequential Model-based Algorithm Con guration (SMAC) [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and Iterated
F-race [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] apply Sequential Model-Based Optimization techniques which consist in
leaning a model to guide the selection of promising con gurations and it exploits
the gathered data to iteratively bias the model.
      </p>
      <p>The latter action regards how to estimate the con gurations performance and
comparing them: for each con guration we consider an approximation of its
estimated cost over a nite set of instances I I represented by cI ( ). We can
see its de nition in the objective function of Algorithm Con guration:
6 Furthermore, a parameter could be conditional on another one, such that the former
is activated just for a speci c value of the latter.</p>
      <p>BasicILS7 applies the easiest solution to de ne each I , i.e., using the same
set of N instances, IN , for each con guration. Unfortunately, two problems arise
in the general case, depending on the chosen size: when N is too small, the cost
estimated for the best putative con guration cIN ( ) may underestimate its real
cost, therefore the real optimal solution could be discarded in favor of . In
contrast, if N is too high, the huge number of runs slows down the evaluation
for every single con guration. Similarly, in GGA the number of instances run to
evaluate each element increases linearly at each iteration.</p>
      <p>
        On the other hand, FocusedILS, SMAC and Iterated F-race asses the
performance over a dynamic number of evaluations, in order to quickly discard bad
con gurations and saving the evaluation budget for the most promising
solutions by leveraging Racing Algorithm concept [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ]. Moreover, adaptive capping
techniques have been introduced to ParamILS [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and SMAC [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] to terminate
earlier runs for poor con gurations.
5
      </p>
    </sec>
    <sec id="sec-5">
      <title>Combination of Previous Methods</title>
      <p>
        The following section contains some systems that combine the previous techniques:
claspfolio 2 leverages both algorithm portfolio approaches, while AutoFolio
and Hydra extend algorithm portfolio idea exploiting algorithm con guration
techniques. In the literature, we can nd further performing systems that combine
portfolio and con guration methods, managing to win several solving competitions.
For instance, 3S [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] combines algorithm selection with a static SAT solver
schedule; a successive work augments its idea de ning a dynamic parallel portfolio
[
        <xref ref-type="bibr" rid="ref29">29</xref>
        ]. Two other famous successful systems are ISAC [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and CSHC [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ].
Claspfolio 2 [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] extends its previous version increasing the robustness of
selection by de ning a static pre-solving scheduling that may intervene if the
learned selection model performs poorly. Given in input a set of ASP problem
instances I and a portfolio of solvers P, rst of all, a training collection is built like
in claspfolio with a pre-processing phase on both features and performances.
The training phase consists of two parts: one computes a model M that maps
each instance features and solver in P into a scoring value used to predict the
best performing algorithm, while the other de nes a pre-schedule of solvers, P re,
like aspeed. According to user choice, M can be evaluated using cross-validation
techniques: if the model performs particularly well, then the time slice allocated
to P re will be short or even null, otherwise, the scheduling will be de ned
considering the whole available time and M prediction gets limited consideration.
7 ParamILS [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] contains two evaluation solutions: BasicILS and FocusedILS.
      </p>
      <p>When a new problem instance i must be solved, its features xi are extracted
and used to select the best-predicted algorithm A using M. If this process fails, a
backup-solver is run, otherwise, the pre-solving schedule P re is executed. If A is
contained in P re, it is removed from the scheduling and its time slice is distributed
among the remaining solvers. If i has not been solved by the pre-schedule, then
A runs for the remaining time.</p>
      <p>
        AutoFolio A key aspect of claspfolio 2 is that implements several machine
learning techniques and components that can be chosen to learn the portfolio
model. AutoFolio [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] performs Algorithm Con guration over claspfolio 2
framework, choosing the optimal learning techniques with its optimal parameters
con guration. More precisely, four top-level parameters are considered:
presolving, performance pre-processing, algorithm selector approach and features
pre-processing, where each decision leads to further parameters setting. One
crucial point is to evaluate the performance of models correctly; therefore, the
system applies model selection cross-validation techniques.
      </p>
      <p>
        Hydra [
        <xref ref-type="bibr" rid="ref49">49</xref>
        ] does not require a pre-de ned portfolio: it takes in input a parametrized
algorithm A, a training set of problem instances I, and a performance metric
m. Then it iteratively combines an automatic algorithm con gurator AC and an
algorithm selection system AS to build a dynamic portfolio of A's con gurations.
      </p>
      <p>Let Pk be the portfolio algorithm obtained at step k: at k = 0 it can be an
empty set, or without loss of generality, we can already instantiate it with a set of
algorithms. At each step, if Pk 6= ;, Hydra uses AS to learn a model that selects
the most promising algorithm from Pk for each instance i 2 I, with respect to m.
We indicate with m(Pk; i) the performance obtained by the selected algorithm
in Pk over instance i. Then Hydra uses AC to nd the best con guration of A
that is able to improve the performance of the current portfolio Pk. Given a
candidate parameter con guration , a dynamic measure mk is used to consider
the performance of the portfolio built so far for each instance i 2 I:
mk( ; i) = maxfm( ; i); m(Pk; i)g:</p>
      <p>Leveraging mk, AC is able to nd the parameter con guration k that
maximizes the portfolio performance and then it adds it to the set Pk+1 = Pk [ f kg.
It iterates until a xed number of steps or a time limit is reached.</p>
      <p>Algorithm
Selection Model
Algorithm</p>
      <p>Portfolio
Algorithm
Configurator
Algorithm</p>
      <p>Selector</p>
      <p>Fig. 3. Diagram of Hydra framework.</p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>
        In recent years, Algorithm Portfolio systems are attracting widespread interest
due to their outstanding performance. However, their exceptional results depend
on the chosen portfolio solvers, as their strengths must be complementary with
respect to the considered instances distribution. Algorithm Con guration can be
leveraged to extend portfolio systems in several di erent ways. Since many modern
systems are inspired by the previous, we analyzed some of the most in uential
works showing how their ideas and approaches evolve. In order to reproduce and
thus compare the results of the systems, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] introduces a standardized format
and a repository called Algorithm Selection Library (ASlib). Moreover, the AS
competitions 2015-2017 [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] contains comparison between di erent approaches.
Acknowledgments. This is a summary of my Master Double Degree thesis with
professor Agostino Dovier as supervisor from the University of Udine and professor
Martin Gebser from the Alpen-Adria Universitat Klagenfurt. This work is partially
supported by projects GNCS 2017-2019 and PRID UNIUD ENCASE.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Aamodt</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Plaza</surname>
          </string-name>
          .
          <article-title>Case-based reasoning; foundational issues, methodological variations, and system approaches</article-title>
          .
          <source>AI COMMUNICATIONS</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ):
          <volume>39</volume>
          {
          <fpage>59</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>R.</given-names>
            <surname>Amadini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gabbrielli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mauro</surname>
          </string-name>
          .
          <article-title>Sunny: a lazy portfolio approach for constraint solving</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          ,
          <volume>14</volume>
          (
          <issue>4-5</issue>
          ):
          <volume>509</volume>
          {
          <fpage>524</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>R.</given-names>
            <surname>Amadini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gabbrielli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mauro</surname>
          </string-name>
          .
          <article-title>A multicore tool for constraint solving</article-title>
          .
          <source>In IJCAI</source>
          , pages
          <volume>232</volume>
          {
          <fpage>238</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>R.</given-names>
            <surname>Amadini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gabbrielli</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mauro</surname>
          </string-name>
          .
          <article-title>Why cp portfolio solvers are (under) utilized? issues and challenges</article-title>
          .
          <source>In International Symposium on Logic-Based Program Synthesis and Transformation</source>
          , pages
          <volume>349</volume>
          {
          <fpage>364</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>C.</given-names>
            <surname>Ansotegui</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sellmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Tierney</surname>
          </string-name>
          .
          <article-title>A gender-based genetic algorithm for the automatic con guration of algorithms</article-title>
          .
          <source>In International Conference on Principles and Practice of Constraint Programming</source>
          , pages
          <volume>142</volume>
          {
          <fpage>157</fpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>P.</given-names>
            <surname>Balaprakash</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Birattari</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Stu</surname>
          </string-name>
          <article-title>tzle. Improvement strategies for the f-race algorithm: Sampling design and iterative re nement</article-title>
          .
          <source>In International workshop on hybrid metaheuristics</source>
          , pages
          <volume>108</volume>
          {
          <fpage>122</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Balduccini</surname>
          </string-name>
          .
          <article-title>Learning and using domain-speci c heuristics in asp solvers</article-title>
          .
          <source>AI Communications</source>
          ,
          <volume>24</volume>
          (
          <issue>2</issue>
          ):
          <volume>147</volume>
          {
          <fpage>164</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>B.</given-names>
            <surname>Bischl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Kerschke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Kottho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lindauer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Frechette</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Tierney</surname>
          </string-name>
          , et al.
          <article-title>Aslib: A benchmark library for algorithm selection</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>237</volume>
          :
          <fpage>41</fpage>
          {
          <fpage>58</fpage>
          ,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaminski</surname>
          </string-name>
          , B. Kaufmann, T. Schaub,
          <string-name>
            <given-names>M. T.</given-names>
            <surname>Schneider</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Ziller</surname>
          </string-name>
          .
          <article-title>A portfolio solver for answer set programming: Preliminary report</article-title>
          .
          <source>In LPNMR</source>
          , volume
          <volume>6645</volume>
          of Lecture Notes in Computer Science, pages
          <volume>352</volume>
          {
          <fpage>357</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Gebser</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Kaufmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Neumann</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schaub</surname>
          </string-name>
          .
          <article-title>Con ict-driven answer set solving</article-title>
          .
          <source>In IJCAI</source>
          , volume
          <volume>7</volume>
          , pages
          <fpage>386</fpage>
          {
          <fpage>392</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>M. Gebser</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schaub</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Thiele</surname>
          </string-name>
          .
          <article-title>Gringo: A new grounder for answer set programming</article-title>
          .
          <source>In International Conference on Logic Programming and Nonmonotonic Reasoning</source>
          , pages
          <volume>266</volume>
          {
          <fpage>271</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kahl</surname>
          </string-name>
          .
          <article-title>Knowledge representation, reasoning, and the design of intelligent agents: The answer-set programming approach</article-title>
          . Cambridge University Press,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>C. P.</given-names>
            <surname>Gomes</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Selman</surname>
          </string-name>
          .
          <article-title>Algorithm portfolios</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>126</volume>
          (
          <issue>1- 2</issue>
          ):
          <volume>43</volume>
          {
          <fpage>62</fpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. T. Hastie,
          <string-name>
            <given-names>R.</given-names>
            <surname>Tibshirani</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Friedman</surname>
          </string-name>
          .
          <article-title>The elements of statistical learning: data mining, inference, and prediction</article-title>
          ,
          <source>2nd Edition</source>
          . Springer series in statistics. Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. H.
          <string-name>
            <surname>Hoos</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Kaminski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Lindauer</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schaub</surname>
          </string-name>
          . aspeed:
          <article-title>Solver scheduling via answer set programming</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          ,
          <volume>15</volume>
          (
          <issue>1</issue>
          ):
          <volume>117</volume>
          {
          <fpage>142</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. H.
          <string-name>
            <surname>Hoos</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Lindauer</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schaub</surname>
          </string-name>
          <article-title>. claspfolio 2: Advances in algorithm selection for answer set programming</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          ,
          <volume>14</volume>
          (
          <issue>4- 5</issue>
          ):
          <volume>569</volume>
          {
          <fpage>585</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>B. A.</given-names>
            <surname>Huberman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. M.</given-names>
            <surname>Lukose</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Hogg</surname>
          </string-name>
          .
          <article-title>An economics approach to hard computational problems</article-title>
          .
          <source>Science</source>
          ,
          <volume>275</volume>
          (
          <issue>5296</issue>
          ):
          <volume>51</volume>
          {
          <fpage>54</fpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          .
          <article-title>Bayesian optimization with censored response data</article-title>
          .
          <source>CoRR</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          .
          <article-title>Sequential model-based optimization for general algorithm con guration</article-title>
          .
          <source>In International Conference on Learning and Intelligent Optimization</source>
          , pages
          <volume>507</volume>
          {
          <fpage>523</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Stu</surname>
          </string-name>
          <article-title>tzle. Paramils: an automatic algorithm con guration framework</article-title>
          .
          <source>Journal of Arti cial Intelligence Research</source>
          ,
          <volume>36</volume>
          :
          <fpage>267</fpage>
          {
          <fpage>306</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>F.</given-names>
            <surname>Hutter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Stu</surname>
          </string-name>
          <article-title>tzle. Automatic algorithm con guration based on local search</article-title>
          .
          <source>In AAAI</source>
          , volume
          <volume>7</volume>
          , pages
          <fpage>1152</fpage>
          {
          <fpage>1157</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>S.</given-names>
            <surname>Kadioglu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sabharwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Samulowitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sellmann</surname>
          </string-name>
          .
          <article-title>Algorithm selection and scheduling</article-title>
          .
          <source>In International Conference on Principles and Practice of Constraint Programming</source>
          , pages
          <volume>454</volume>
          {
          <fpage>469</fpage>
          . Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>S.</given-names>
            <surname>Kadioglu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Sellmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Tierney</surname>
          </string-name>
          .
          <article-title>Isac-instance-speci c algorithm con guration</article-title>
          .
          <source>In ECAI</source>
          , volume
          <volume>215</volume>
          , pages
          <fpage>751</fpage>
          {
          <fpage>756</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>P.</given-names>
            <surname>Kerschke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Neumann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Trautmann</surname>
          </string-name>
          .
          <source>Automated algorithm selection: Survey and perspectives. CoRR</source>
          , abs/
          <year>1811</year>
          .11597,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>L.</given-names>
            <surname>Kottho</surname>
          </string-name>
          .
          <article-title>Algorithm selection for combinatorial search problems: A survey</article-title>
          .
          <source>In Data Mining and Constraint Programming</source>
          , pages
          <volume>149</volume>
          {
          <fpage>190</fpage>
          . Springer,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          , E. Nudelman, G. Andrew,
          <string-name>
            <given-names>J.</given-names>
            <surname>McFadden</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shoham</surname>
          </string-name>
          .
          <article-title>A portfolio approach to algorithm select</article-title>
          .
          <source>In Proceedings of the 18th International Joint Conference on Arti cial Intelligence</source>
          ,
          <source>IJCAI'03</source>
          , pages
          <fpage>1542</fpage>
          {
          <fpage>1543</fpage>
          , San Francisco, CA, USA,
          <year>2003</year>
          . Morgan Kaufmann Publishers Inc.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>M. Lindauer</surname>
            ,
            <given-names>H. H.</given-names>
          </string-name>
          <string-name>
            <surname>Hoos</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Hutter</surname>
            , and
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schaub</surname>
          </string-name>
          . Autofolio:
          <article-title>An automatically con gured algorithm selector</article-title>
          .
          <source>Journal of Arti cial Intelligence Research</source>
          ,
          <volume>53</volume>
          :
          <fpage>745</fpage>
          {
          <fpage>778</fpage>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>M. Lindauer</surname>
            ,
            <given-names>J. N. van Rijn</given-names>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Kottho</surname>
          </string-name>
          .
          <source>The algorithm selection competition series</source>
          <year>2015</year>
          -
          <volume>17</volume>
          . arXiv preprint arXiv:
          <year>1805</year>
          .01214,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sabharwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Samulowitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sellmann</surname>
          </string-name>
          .
          <article-title>Parallel sat solver selection and scheduling</article-title>
          .
          <source>In International Conference on Principles and Practice of Constraint Programming</source>
          , pages
          <volume>512</volume>
          {
          <fpage>526</fpage>
          . Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Malitsky</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sabharwal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Samulowitz</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Sellmann</surname>
          </string-name>
          .
          <article-title>Algorithm portfolios based on cost-sensitive hierarchical clustering</article-title>
          .
          <source>In Twenty-Third International Joint Conference on Arti cial Intelligence</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>M. Maratea</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Pulina</surname>
            , and
            <given-names>F. Ricca.</given-names>
          </string-name>
          <article-title>Applying machine learning techniques to asp solving</article-title>
          . In LIPIcs-Leibniz
          <source>International Proceedings in Informatics</source>
          , volume
          <volume>17</volume>
          .
          <string-name>
            <surname>Schloss</surname>
          </string-name>
          Dagstuhl-Leibniz-Zentrum fuer Informatik,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>M. Maratea</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Pulina</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Ricca</surname>
          </string-name>
          .
          <article-title>A multi-engine approach to answer-set programming</article-title>
          .
          <source>Theory and Practice of Logic Programming</source>
          ,
          <volume>14</volume>
          (
          <issue>6</issue>
          ):
          <volume>841</volume>
          {
          <fpage>868</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <given-names>O.</given-names>
            <surname>Maron</surname>
          </string-name>
          and
          <string-name>
            <given-names>A. W.</given-names>
            <surname>Moore</surname>
          </string-name>
          .
          <article-title>Hoe ding races: Accelerating model selection search for classi cation and function approximation</article-title>
          .
          <source>In Advances in neural information processing systems</source>
          , pages
          <volume>59</volume>
          {
          <fpage>66</fpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34. J.
          <string-name>
            <surname>Marques-Silva</surname>
            ,
            <given-names>I. Lynce</given-names>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Malik</surname>
          </string-name>
          .
          <article-title>Con ict-driven clause learning sat solvers</article-title>
          .
          <source>In Handbook of Satis ability</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>J. P. Marques Silva</surname>
            and
            <given-names>K. A.</given-names>
          </string-name>
          <string-name>
            <surname>Sakallah</surname>
          </string-name>
          .
          <article-title>Grasp-a new search algorithm for satisability</article-title>
          .
          <source>In Proceedings of International Conference on Computer Aided Design</source>
          , pages
          <volume>220</volume>
          {
          <fpage>227</fpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36. T. M. Mitchell. Machine Learning.
          <source>McGraw-Hill</source>
          , Inc., New York, NY, USA,
          <volume>1</volume>
          <fpage>edition</fpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37. E. Nudelman,
          <string-name>
            <given-names>K.</given-names>
            <surname>Leyton-Brown</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Devkar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Shoham</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Hoos</surname>
          </string-name>
          . Satzilla:
          <article-title>An algorithm portfolio for sat. Solver description</article-title>
          ,
          <source>SAT competition</source>
          ,
          <year>2004</year>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>E. O'Mahony</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Hebrard</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Holland,
          <string-name>
            <given-names>C.</given-names>
            <surname>Nugent</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B. O'</given-names>
            <surname>Sullivan</surname>
          </string-name>
          .
          <article-title>Using casebased reasoning in an algorithm portfolio for constraint solving</article-title>
          .
          <source>In Irish conference on arti cial intelligence and cognitive science</source>
          , pages
          <volume>210</volume>
          {
          <fpage>216</fpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39.
          <string-name>
            <given-names>C. H.</given-names>
            <surname>Papadimitriou</surname>
          </string-name>
          .
          <article-title>Computational complexity</article-title>
          . John Wiley and Sons Ltd.,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          40.
          <string-name>
            <given-names>L.</given-names>
            <surname>Pulina</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Tacchella</surname>
          </string-name>
          .
          <article-title>A multi-engine solver for quanti ed boolean formulas</article-title>
          .
          <source>In International Conference on Principles and Practice of Constraint Programming</source>
          , pages
          <volume>574</volume>
          {
          <fpage>589</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          41.
          <string-name>
            <given-names>S.</given-names>
            <surname>Raschka</surname>
          </string-name>
          .
          <article-title>Model evaluation, model selection, and algorithm selection in machine learning</article-title>
          .
          <source>CoRR</source>
          , abs/
          <year>1811</year>
          .12808,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          42.
          <string-name>
            <given-names>J. R.</given-names>
            <surname>Rice</surname>
          </string-name>
          .
          <article-title>The algorithm selection problem</article-title>
          .
          <source>Advances in computers</source>
          ,
          <volume>15</volume>
          :
          <fpage>65</fpage>
          {
          <fpage>118</fpage>
          ,
          <year>1976</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          43.
          <string-name>
            <given-names>F.</given-names>
            <surname>Rossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Van Beek</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Walsh</surname>
          </string-name>
          .
          <article-title>Handbook of constraint programming</article-title>
          .
          <source>Elsevier</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          44.
          <string-name>
            <given-names>O.</given-names>
            <surname>Roussel</surname>
          </string-name>
          . Description of ppfolio (
          <year>2011</year>
          ).
          <source>Proc. SAT Challenge, page 46</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          45.
          <string-name>
            <given-names>S.</given-names>
            <surname>Russell</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Norvig</surname>
          </string-name>
          .
          <article-title>Arti cial Intelligence: A Modern Approach</article-title>
          . Prentice Hall Press, Upper Saddle River, NJ, USA, 3rd edition,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          46.
          <string-name>
            <surname>K</surname>
          </string-name>
          . A.
          <string-name>
            <surname>Smith-Miles</surname>
          </string-name>
          .
          <article-title>Cross-disciplinary perspectives on meta-learning for algorithm selection</article-title>
          .
          <source>ACM Computing Surveys (CSUR)</source>
          ,
          <volume>41</volume>
          (
          <issue>1</issue>
          ):
          <fpage>6</fpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          47.
          <string-name>
            <given-names>D. H.</given-names>
            <surname>Wolpert</surname>
          </string-name>
          .
          <article-title>The lack of a priori distinctions between learning algorithms</article-title>
          .
          <source>Neural computation</source>
          ,
          <volume>8</volume>
          (
          <issue>7</issue>
          ):
          <volume>1341</volume>
          {
          <fpage>1390</fpage>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          48.
          <string-name>
            <surname>D. H. Wolpert</surname>
            ,
            <given-names>W. G.</given-names>
          </string-name>
          <string-name>
            <surname>Macready</surname>
          </string-name>
          , et al.
          <article-title>No free lunch theorems for optimization</article-title>
          .
          <source>IEEE transactions on evolutionary computation</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ):
          <volume>67</volume>
          {
          <fpage>82</fpage>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          49. L.
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Hoos</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Leyton-Brown</surname>
          </string-name>
          .
          <article-title>Hydra: Automatically con guring algorithms for portfolio-based selection</article-title>
          .
          <source>In AAAI</source>
          , volume
          <volume>10</volume>
          , pages
          <fpage>210</fpage>
          {
          <fpage>216</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          50. L.
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>H. H.</given-names>
          </string-name>
          <string-name>
            <surname>Hoos</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Leyton-Brown</surname>
          </string-name>
          .
          <article-title>Hierarchical hardness models for sat</article-title>
          .
          <source>In International Conference on Principles and Practice of Constraint Programming</source>
          , pages
          <volume>696</volume>
          {
          <fpage>711</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref51">
        <mixed-citation>
          51. L.
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Hutter</surname>
            ,
            <given-names>H. H.</given-names>
          </string-name>
          <string-name>
            <surname>Hoos</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Leyton-Brown.</surname>
          </string-name>
          Satzilla-
          <volume>07</volume>
          :
          <article-title>the design and analysis of an algorithm portfolio for sat</article-title>
          .
          <source>In International Conference on Principles and Practice of Constraint Programming</source>
          , pages
          <volume>712</volume>
          {
          <fpage>727</fpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref52">
        <mixed-citation>
          52. L.
          <string-name>
            <surname>Xu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Hutter</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Shen</surname>
            ,
            <given-names>H. H.</given-names>
          </string-name>
          <string-name>
            <surname>Hoos</surname>
            , and
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Leyton-Brown</surname>
          </string-name>
          .
          <article-title>Satzilla2012: Improved algorithm selection based on cost-sensitive classi cation models</article-title>
          .
          <source>Proceedings of SAT Challenge</source>
          , pages
          <volume>57</volume>
          {
          <fpage>58</fpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>