## 2 Related Work  
The per-instance algorithm configuration problem (PIAC) can be extended without loss of generality from the _per-instance algorithm_ selection problem (PIAS), and as such, it can be defined as follows [8]. **Definition 1**. : _Given a set, \(I\), of instances of a problem, \(P\), an algorithm, \(a\), that solves \(P\), the set, \(\Theta\), of all possible configurations of \(a\), and a performance metric, \(m:\Theta\times I\to R\), that measures the performance of a with configuration \(\theta\in\Theta\) on instance \(i\), find a mapping function, \(S:I\rightarrow\Theta\), that maps any problem instance, \(i\in I\), to a configuration, \(\theta\in\Theta\), of the algorithm, \(a\), such that the performance metric, \(m\), is optimal._  
Whilst major contributions in the field of PIAS have been made during the last few decades, the PIAC remains an open challenge. The main difference between both problems lies in the size of the selection space. In the PIAS literature, algorithms are to be selected from a set of a few hundred algorithms at most. PIAC research, on the other hand, deals, in most cases, with intractable (algorithm) configuration spaces, which arise from its combinatorial properties [8]. Consider [12], for instance, where IBM ILOG's CPLEX is used to solve a mixed integer programming (MIP) problem. The algorithm, at the time of their study, exposed 74 different configuration settings in total that are tunable and can affect performance, for a total of over \(4.75\times 10^{45}\) possible configurations. Another example is Gurobi (which we use in the present study), which exposes a total of 57 configuration settings for a configuration space of over \(2\times 10^{34}\) possible configurations [21]. Vast configuration spaces are common when using commercial solvers to solve complex mathematical optimization problems and drastically add to the complexity of the PIAC. As such, even though the PIAC remains a highly challenging subject, Algorithm Configuration research has gained lots of interest over the last two decades and promising results have been obtained on other, albeit less general, \"variants\" of the Algorithm Configuration problem; namely the Single-instance algorithm configuration problem (SIAC) and the per-set algorithm configuration problem (PSAC) [8; 22]. In the SIAC (also referred to as instance-oblivious tuning [10], problem-independent algorithm configuration [12] or in Machine learning literature as hyperparameter tuning [8]), for instance, the aim is to explore the configuration space in order to identify the best algorithm configuration to solve a unique instance [17]. Several methods have been developed to directly address the SIAC. These methods generally consider the SIAC as a meta-optimization problem where the goal is to find a unique configuration \(\theta^{*}\in\Theta\) that delivers optimal performance for the problem instance \(i\in I\), but provides no performance guarantee for any other instance \(i^{\prime}\in I\), if \(i\
eq i^{\prime}\)[23]. The PSAC, on the other hand, defines a \"one-size-fits-all\" approach to the algorithm configuration problem. In the PSAC, the aim is to find a unique configuration, \(\theta^{*}\in\Theta\), with the best (aggregated) performance over the set, \(I\), that describes a class of closely related instances [6; 23]. However, as in the case of the SIAC, a lack of generalization arises as the main drawback: there are no guarantees on the performance of the unique configuration, \(\theta^{*}\), on a different class of instances \(I^{\prime}\). Furthermore, there may exist at least one instance, \(i\in I\), for which the configuration \(\theta^{\prime}\in\Theta\) may yield better performance than the aggregated optimal configuration, \(\theta^{*}\) with \(\theta^{\prime}\
eq\theta^{*}\), a problem that becomes more relevant for larger class sizes, or for ill-defined (heterogeneous) classes [16; 17].