# A Literature Survey on Offline Automatic Algorithm Configuration
## 6 Multi-Objective META-EAs
### Model-Based Methods
#### 2.4.2 Smac  
Later, [PERSON] et al. [6] generalized the components of the time-bounded-SPO procedure to overcome two important restrictions of it. They used a new intensification mechanism; a different response surface model based on the weighted Hamming distance. Additionally, they used random forests for dealing with categorical parameters and multiple instances, as well as a novel selection method for the most promising parameter vector in a large parameter space [6]. They defined two sequential model-based optimization methods for parameter tuning problem; the simple model-free Random Online Adaptive Racing (ROAR) method and the Sequential Model-based Algorithm Configuration (SMAC) method. SMAC starts with an initial configuration set and evaluates its performance on the instance. Then it fits a predictive model (gaussian processes or random forests) of performance based on this information. After that, a new candidate configuration that maximizes an expected positive improvement function is investigated by a multi-start search process. The performance score of this obtained new configuration is determined and this configuration is added to the archive. Subsequently, this process is repeated. The evaluation method of the obtained configuration on the target test problem is similar to that used in FocusedILS, and the incumbent (currently best) configuration is also evaluated on more test problems. The stopping criteria for this evaluation process can be, i.e., run time limit, etc.  
They compared the performance of SMAC, ROAR, TB-SPO, GGA, and FOCUSEDILS for different configuration scenarios, aiming to optimize the run time of target algorithms. According to the results of their experiments, SMAC demonstrated a state-of-the-art performance. The proposed SMAC (sequential modeling algorithm configuration) method demonstrated promising performance in a variety of research areas, including continuous black-boxoptimization [95; 96], machine learning [97], configuring CPLEX solvers for decentralized energy system optimization [98], and tuning inexact solvers parameters [99]. Furthermore, AutoFolio [100] used SMAC for automated tuning of algorithm selection methods.  
[PERSON] et al. [8] further extended SMAC by using two different parallel computing methods to decrease the total amount of time required by the automatic algorithm configuration process. The first one is a multiple independent run of the algorithm. Another method of parallelizing the algorithm is distributing the target algorithm runs over multiple cores, which GGA and FocusedIIS inherently use. They showed the effectiveness of parallelization with multiple independent runs for popular algorithm configuration methods, PARAMILS and SMAC. Then they applied fine-grained parallelism to SMAC (called D-SMAC). According to the results of the experiment, D-SMAC outperformed independent parallel runs. For full details about SMAC, we refer to the SMAC user manual [101], and Python (available at [[https://github.com/automl/SMAC3](https://github.com/automl/SMAC3)]([https://github.com/automl/SMAC3](https://github.com/automl/SMAC3)) (accessed on 10 June 2022) and Java implementations (([[http://www.cs.ubc.ca/labs/beta/Projects/SMAC/](http://www.cs.ubc.ca/labs/beta/Projects/SMAC/)]([http://www.cs.ubc.ca/labs/beta/Projects/SMAC/](http://www.cs.ubc.ca/labs/beta/Projects/SMAC/)) (accessed on 10 June 2022))) are available online.