# Solver Scheduling via Answer Set Programming

arXiv: https://arxiv.org/abs/1401.1024 · HTML: https://mlsanity.com/paper/1401.1024/

## Key facts

- Cited by 7 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 6 Jan 2014.

## Built on by (most cited first, 7 of 7)

- [Learning to Schedule Heuristics in Branch-and-Bound](https://mlsanity.com/paper/2103.10294/) (2021)
- [Automated Dynamic Algorithm Configuration](https://mlsanity.com/paper/2205.13881/) (2022)
- [Parallel Logic Programming: A Sequel](https://mlsanity.com/paper/2111.11218/) (2021)
- [On the Configuration of More and Less Expressive Logic Programs](https://mlsanity.com/paper/2203.01024/) (2022)
- [Automatic Algorithm Selection for Pseudo-Boolean Optimization with Given Computational Time Limits](https://mlsanity.com/paper/2309.03924/) (2023)
- [Greedy Restart Schedules: A Baseline for Dynamic Algorithm Selection on Numerical Black-box Optimization Problems](https://mlsanity.com/paper/2504.11440/) (2025)
- [Streamliners for Answer Set Programming](https://mlsanity.com/paper/2604.19251/) (2026)

## Abstract (arXiv)

Although Boolean Constraint Technology has made tremendous progress over the last decade, the efficacy of state-of-the-art solvers is known to vary considerably across different types of problem instances and is known to depend strongly on algorithm parameters. This problem was addressed by means of a simple, yet effective approach using handmade, uniform and unordered schedules of multiple solvers in ppfolio, which showed very impressive performance in the 2011 SAT Competition. Inspired by this, we take advantage of the modeling and solving capacities of Answer Set Programming (ASP) to automatically determine more refined, that is, non-uniform and ordered solver schedules from existing benchmarking data. We begin by formulating the determination of such schedules as multi-criteria optimization problems and provide corresponding ASP encodings. The resulting encodings are easily customizable for different settings and the computation of optimum schedules can mostly be done in the blink of an eye, even when dealing with large runtime data sets stemming from many solvers on hundreds to thousands of instances. Also, the fact that our approach can be customized easily enabled us to swiftly adapt it to generate parallel schedules for multi-processor machines.
