## MORE@DIAG: Algorithmic Configuration By Learning And Optimization

Mathematical Programming solvers operate several complex algorithmic components, which a user can control by means of parameters. Finding a good solver parameter configuration is often necessary to achieve a good solution (or at least a feasible one) for a given instance. However, due to the high number of parameters, configuring a solver is usually nontrivial.

We propose a methodology, based on machine learning and optimization, for selecting a solver configuration for a given instance. First, we employ a set of solved instances and configurations in order to learn a performance function of the solver (Performance Map Learning Phase -- PMLP). Secondly, we solve a mixed-integer nonlinear program in order to find the best algorithmic configuration based on the performance function (Configuration Space Search Problem -- CSSP). The main novelty of this work is that the mathematical program, that we optimize to configure the solver, embeds an explicit formulation of the mathematical properties of the chosen machine learning predictor. The approach outlined was tested and evaluated on a set of instances of the Hydro Unit Commitment problem, solved using the general-purpose IBM ILOG CPLEX solver. We used the Support Vector Regression technique for the PMLP and the Bonmin solver to optimize the CSSP