Algorithm selection, scheduling and configuration of Boolean constraint solvers

  • Boolean constraint solving technology has made tremendous progress over the last decade, leading to industrial-strength solvers, for example, in the areas of answer set programming (ASP), the constraint satisfaction problem (CSP), propositional satisfiability (SAT) and satisfiability of quantified Boolean formulas (QBF). However, in all these areas, there exist multiple solving strategies that work well on different applications; no strategy dominates all other strategies. Therefore, no individual solver shows robust state-of-the-art performance in all kinds of applications. Additionally, the question arises how to choose a well-performing solving strategy for a given application; this is a challenging question even for solver and domain experts. One way to address this issue is the use of portfolio solvers, that is, a set of different solvers or solver configurations. We present three new automatic portfolio methods: (i) automatic construction of parallel portfolio solvers (ACPP) via algorithm configuration,(ii) solving the $NP$-hardBoolean constraint solving technology has made tremendous progress over the last decade, leading to industrial-strength solvers, for example, in the areas of answer set programming (ASP), the constraint satisfaction problem (CSP), propositional satisfiability (SAT) and satisfiability of quantified Boolean formulas (QBF). However, in all these areas, there exist multiple solving strategies that work well on different applications; no strategy dominates all other strategies. Therefore, no individual solver shows robust state-of-the-art performance in all kinds of applications. Additionally, the question arises how to choose a well-performing solving strategy for a given application; this is a challenging question even for solver and domain experts. One way to address this issue is the use of portfolio solvers, that is, a set of different solvers or solver configurations. We present three new automatic portfolio methods: (i) automatic construction of parallel portfolio solvers (ACPP) via algorithm configuration,(ii) solving the $NP$-hard problem of finding effective algorithm schedules with Answer Set Programming (aspeed), and (iii) a flexible algorithm selection framework (claspfolio2) allowing for fair comparison of different selection approaches. All three methods show improved performance and robustness in comparison to individual solvers on heterogeneous instance sets from many different applications. Since parallel solvers are important to effectively solve hard problems on parallel computation systems (e.g., multi-core processors), we extend all three approaches to be effectively applicable in parallel settings. We conducted extensive experimental studies different instance sets from ASP, CSP, MAXSAT, Operation Research (OR), SAT and QBF that indicate an improvement in the state-of-the-art solving heterogeneous instance sets. Last but not least, from our experimental studies, we deduce practical advice regarding the question when to apply which of our methods.show moreshow less
  • Bool'sche Solver Technologie machte enormen Fortschritt im letzten Jahrzehnt, was beispielsweise zu industrie-relevanten Solvern auf der Basis von Antwortmengenprogrammierung (ASP), dem Constraint Satisfcation Problem (CSP), dem Erfüllbarkeitsproblem für aussagenlogische Formeln (SAT) und dem Erfüllbarkeitsproblem für quantifizierte boolesche Formeln (QBF) führte. Allerdings gibt es in all diesen Bereichen verschiedene Lösungsstrategien, welche bei verschiedenen Anwendungen unterschiedlich effizient sind. Dabei gibt es keine einzelne Strategie, die alle anderen Strategien dominiert. Das führt dazu, dass es keinen robusten Solver für das Lösen von allen möglichen Anwendungsprobleme gibt. Die Wahl der richtigen Strategie für eine neue Anwendung ist eine herausforderne Problemstellung selbst für Solver- und Anwendungsexperten. Eine Möglichkeit, um Solver robuster zu machen, sind Portfolio-Ansätze. Wir stellen drei automatisch einsetzbare Portfolio-Ansätze vor: (i) automatische Konstruktion von parallelen Portfolio-Solvern (ACPP) mitBool'sche Solver Technologie machte enormen Fortschritt im letzten Jahrzehnt, was beispielsweise zu industrie-relevanten Solvern auf der Basis von Antwortmengenprogrammierung (ASP), dem Constraint Satisfcation Problem (CSP), dem Erfüllbarkeitsproblem für aussagenlogische Formeln (SAT) und dem Erfüllbarkeitsproblem für quantifizierte boolesche Formeln (QBF) führte. Allerdings gibt es in all diesen Bereichen verschiedene Lösungsstrategien, welche bei verschiedenen Anwendungen unterschiedlich effizient sind. Dabei gibt es keine einzelne Strategie, die alle anderen Strategien dominiert. Das führt dazu, dass es keinen robusten Solver für das Lösen von allen möglichen Anwendungsprobleme gibt. Die Wahl der richtigen Strategie für eine neue Anwendung ist eine herausforderne Problemstellung selbst für Solver- und Anwendungsexperten. Eine Möglichkeit, um Solver robuster zu machen, sind Portfolio-Ansätze. Wir stellen drei automatisch einsetzbare Portfolio-Ansätze vor: (i) automatische Konstruktion von parallelen Portfolio-Solvern (ACPP) mit Algorithmen-Konfiguration, (ii) das Lösen des $NP$-harten Problems zur Algorithmen-Ablaufplanung (aspeed) mit ASP, und (iii) ein flexibles Algorithmen-Selektionsframework (claspfolio2), was viele Techniken von Algorithmen-Selektion parametrisiert implementiert und eine faire Vergleichbarkeit zwischen Ihnen erlaubt. Alle drei Methoden verbessern die Robustheit des Solvingprozesses für heterogenen Instanzmengen bestehend aus unterschiedlichsten Anwendungsproblemen. Parallele Solver sind zunehmend der Schlüssel zum effektiven Lösen auf multi-core Maschinen. Daher haben wir all unsere Ansätze auch für den Einsatz auf parallelen Architekturen erweitert. Umfangreiche Experimente auf ASP, CSP, MAXSAT, Operation Research (OR), SAT und QBF zeigen, dass der Stand der Technik durch verbesserte Performanz auf heterogenen Instanzmengen verbessert wurde. Auf Grundlage dieser Experimente leiten wir auch Ratschläge ab, in welchen Anwendungsszenarien welches unserer Verfahren angewendet werden sollte.show moreshow less

Download full text files

Export metadata

Additional Services

Search Google Scholar Statistics
Metadaten
Author details:T. Marius Lindauer
URN:urn:nbn:de:kobv:517-opus4-71260
translated title (German):Algorithmen-Selektion, -Ablaufplanung und -Konfiguration von Bool'schen Constraint Solvern
Supervisor(s):Torsten H. Schaub, Holger Hoos
Publication type:Doctoral Thesis
Language:English
Publication year:2014
Publishing institution:Universität Potsdam
Granting institution:Universität Potsdam
Date of final exam:2015/01/08
Release date:2015/03/06
Tag:Algorithmenablaufplanung; Algorithmenkonfiguration; Algorithmenselektion; paralleles Lösen
Boolean constraint solver; algorithm configuration; algorithm scheduling; algorithm selection; parallel solving
Number of pages:ii, 130
RVK - Regensburg classification:ST 125
Organizational units:Mathematisch-Naturwissenschaftliche Fakultät / Institut für Informatik und Computational Science
DDC classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik
License (German):License LogoCC-BY-NC-SA - Namensnennung, nicht kommerziell, Weitergabe zu gleichen Bedingungen 4.0 International
Accept ✔
This website uses technically necessary session cookies. By continuing to use the website, you agree to this. You can find our privacy policy here.