Learning to Configure Mathematical Programming Solvers by Mathematical
  Programming
Gabriele Iommazzo Claudia D'Ambrosio Antonio Frangioni Leo Liberti
We discuss the issue of finding a good mathematical programming solver
configuration for a particular instance of a given problem, and we propose a
two-phase approach to solve it. In the first phase we learn the relationships
between the instance, the configuration and the performance of the configured
solver on the given instance. A specific difficulty of learning a good solver
configuration is that parameter settings may not all be independent; this
requires enforcing (hard) constraints, something that many widely used
supervised learning methods cannot natively achieve. We tackle this issue in
the second phase of our approach, where we use the learnt information to
construct and solve an optimization problem having an explicit representation
of the dependency/consistency constraints on the configuration parameter
settings. We discuss computational results for two different instantiations of
this approach on a unit commitment problem arising in the short-term planning
of hydro valleys. We use logistic regression as the supervised learning
methodology and consider CPLEX as the solver of interest.