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

Share in Twitter Search Google Scholar Statistics
Metadaten
Author:T. Marius Lindauer
URN:urn:nbn:de:kobv:517-opus4-71260
Title Additional (German):Algorithmen-Selektion, -Ablaufplanung und -Konfiguration von Bool'schen Constraint Solvern
Advisor:Torsten Schaub, Holger Hoos
Document Type:Doctoral Thesis
Language:English
Year of Completion: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
Pagenumber:ii, 130
RVK - Regensburg Classification:ST 125
Organizational units:Mathematisch-Naturwissenschaftliche Fakultät / Institut für Informatik und Computational Science
Dewey Decimal Classification:0 Informatik, Informationswissenschaft, allgemeine Werke / 00 Informatik, Wissen, Systeme / 004 Datenverarbeitung; Informatik
Licence (German):License LogoCreative Commons - Namensnennung, Nicht kommerziell, Weitergabe zu gleichen Bedingungen 4.0 International