A portfolio of solvers is a collection of solvers with different configurations that share CPU time, CPU cores, and memory resources and try to get an answer as soon as possible. Solvers might also communicate with each other. 1 The task of solver portfolio design involves computing metrics about the problem (which also takes compute time) and choosing which solvers to run for how long with how many cores based on any information you can collect about the problem (including information from solvers which already ran).
Portfolios are often more successful in SAT competitions than any single solvers 2. I am interested in literature on designing portfolios for optimization algorithms. I have been unable to find any as many searches are overshadowed by "portfolio optimization problems".
In particular, I am looking for:
- Introductory Literature on Portfolios for Satisfiability and Optimization
- Automation of portfolio creation based on (automated) experiments for Optimization
- Improving any-time performance with solver portfolios
- The trade-off between good anytime performance and good performance stopping at a certain time point
- Automatic solver configuration exploration as the configuration space can be huge