# Learning Individualized Hyperparameter Settings
## 3 Algorithms and Problems
### Robust Tabu Search and the QAP  
Tabu search is a very well-known metaheuristic, originally proposed in [32; 33], that basically extends a local search by forcing a move to the best neighbor solution at each iteration, even if it is worse than the incumbent one. To avoid cycling, a memory structure is used that keeps track of the last explored solutions, or abstractions thereof, and forbids going back to them by declaring them \"tabu\". The number of iterations when an element is considered tabu, corresponding to the length of the tabu list, is also called the \"tenure\"of the tabu elements. Several details in the algorithm can be varied, giving rise to a rich specific literature [34]. We used a specific variant called _robust_ tabu search [4] which, despite its simplicity, proved to be effective on the QAP. The pseudocode is presented as Algorithm 2. The label robust was given because it \"requires less complexity and fewer parameters than earlier adaptations\", further specifying that it \"has a minimum number of parameters and is (...) capable of obtaining solutions comparable to the best previously found without requiring (...) altered parameter values\" [4]. This focus on parameter independence makes this algorithm particularly well suited for validating our approach to individualized settings. Two specific elements make this version of tabu search robust. The first is that the tenure of the tabu items is a random variable instead of a static value. A maximum and minimum tenure is given, and a value is generated iteratively within that interval. The second feature is a long-term diversification method that favors moves that have not been performed for a long time. If a move has not been tested for a long number of iterations, the move is executed regardless of its quality. This is included in an \"aspiration\" test, which otherwise dictates that if a move generates a solution better than any previous one, it will be executed even if it is tabu. ```
1 functionTabuSearch(); Input : Control parameters (see below) Output : A feasible solution \(\mathbf{x}_{LIB}\) of value \(z_{LIB}\) fornrep timesdo
2 Generate a feasible solution \(\mathbf{x}\);
3 Set \(\mathbf{x}_{LIB}=\mathbf{x}\) and \(TL=\emptyset\);
4 Generate a feasible solution \(\mathbf{x}^{\prime}\in\mathcal{N}(\mathbf{x})



_maxcpu_, maximum total CPU allowed time (terminating condition, step 10);
* _maxiter_, maximum number of iterations (terminating condition, step 10);
* _iter2 resize_, number of iterations before resizing the tabu list (step 9);
* _minTLlength_, minimum tabu list length (step 9);
* _maxTLength_, maximum tabu list length (step 9);
* _iter2 spiration_, number of iterations before unconditional acceptance (test diversification, step 5);
* _nrep_, number of search restarts (step 2). The QAP is a well-known and studied problem; there is an online repository, the QAPLIB library [35], which has collected most of the instances from the literature over the years. We downloaded our test set from that site. ## 4 Learning Configurations

Both formulations, GAP and QAP, assume that the instances are described by matrices of coefficients, two 2D matrices and a 1D vector in the case of GAP and three 2D matrices in the case of QAP. The use of a single data repository for the GAP and a single one for the QAP allowed us to take advantage of a common format for each of the two problems and, more importantly, to know exactly how each subset of instances contained in the repositories was generated. We had access to the underlying structural characteristics that led to the input data, and we were able both to generate new instances structured according to the repository instances and to design generative procedures that produced structures very different from those that appear in the literature instances. In the following subsections, we first describe how we obtained the learning examples to present to the neural network from the matrices and then, for each algorithm, how we constructed the corresponding training/validation/test sets.