Automated configuration of algorithms for solving hard computational problems