17 research outputs found

    Dynamic variable ordering in CSPs

    Full text link

    Towards Next Generation Sequential and Parallel SAT Solvers

    Get PDF
    This thesis focuses on improving the SAT solving technology. The improvements focus on two major subjects: sequential SAT solving and parallel SAT solving. To better understand sequential SAT algorithms, the abstract reduction system Generic CDCL is introduced. With Generic CDCL, the soundness of solving techniques can be modeled. Next, the conflict driven clause learning algorithm is extended with the three techniques local look-ahead, local probing and all UIP learning that allow more global reasoning during search. These techniques improve the performance of the sequential SAT solver Riss. Then, the formula simplification techniques bounded variable addition, covered literal elimination and an advanced cardinality constraint extraction are introduced. By using these techniques, the reasoning of the overall SAT solving tool chain becomes stronger than plain resolution. When using these three techniques in the formula simplification tool Coprocessor before using Riss to solve a formula, the performance can be improved further. Due to the increasing number of cores in CPUs, the scalable parallel SAT solving approach iterative partitioning has been implemented in Pcasso for the multi-core architecture. Related work on parallel SAT solving has been studied to extract main ideas that can improve Pcasso. Besides parallel formula simplification with bounded variable elimination, the major extension is the extended clause sharing level based clause tagging, which builds the basis for conflict driven node killing. The latter allows to better identify unsatisfiable search space partitions. Another improvement is to combine scattering and look-ahead as a superior search space partitioning function. In combination with Coprocessor, the introduced extensions increase the performance of the parallel solver Pcasso. The implemented system turns out to be scalable for the multi-core architecture. Hence iterative partitioning is interesting for future parallel SAT solvers. The implemented solvers participated in international SAT competitions. In 2013 and 2014 Pcasso showed a good performance. Riss in combination with Copro- cessor won several first, second and third prices, including two Kurt-Gödel-Medals. Hence, the introduced algorithms improved modern SAT solving technology

    Symmetry Breaking for Answer Set Programming

    Full text link
    In the context of answer set programming, this work investigates symmetry detection and symmetry breaking to eliminate symmetric parts of the search space and, thereby, simplify the solution process. We contribute a reduction of symmetry detection to a graph automorphism problem which allows to extract symmetries of a logic program from the symmetries of the constructed coloured graph. We also propose an encoding of symmetry-breaking constraints in terms of permutation cycles and use only generators in this process which implicitly represent symmetries and always with exponential compression. These ideas are formulated as preprocessing and implemented in a completely automated flow that first detects symmetries from a given answer set program, adds symmetry-breaking constraints, and can be applied to any existing answer set solver. We demonstrate computational impact on benchmarks versus direct application of the solver. Furthermore, we explore symmetry breaking for answer set programming in two domains: first, constraint answer set programming as a novel approach to represent and solve constraint satisfaction problems, and second, distributed nonmonotonic multi-context systems. In particular, we formulate a translation-based approach to constraint answer set solving which allows for the application of our symmetry detection and symmetry breaking methods. To compare their performance with a-priori symmetry breaking techniques, we also contribute a decomposition of the global value precedence constraint that enforces domain consistency on the original constraint via the unit-propagation of an answer set solver. We evaluate both options in an empirical analysis. In the context of distributed nonmonotonic multi-context system, we develop an algorithm for distributed symmetry detection and also carry over symmetry-breaking constraints for distributed answer set programming.Comment: Diploma thesis. Vienna University of Technology, August 201

    Towards hybrid methods for solving hard combinatorial optimization problems

    Full text link
    Tesis doctoral leída en la Escuela Politécnica Superior de la Universidad Autónoma de Madrid el 4 de septiembre de 200

    Quantified weighted constraint satisfaction problems.

    Get PDF
    Mak, Wai Keung Terrence.Thesis (M.Phil.)--Chinese University of Hong Kong, 2011.Includes bibliographical references (p. 100-104).Abstracts in English and Chinese.Chapter 1 --- Introduction --- p.1Chapter 1.1 --- Constraint Satisfaction Problems --- p.1Chapter 1.2 --- Weighted Constraint Satisfaction Problems --- p.2Chapter 1.3 --- Quantified Constraint Satisfaction Problems --- p.3Chapter 1.4 --- Motivation and Goal --- p.4Chapter 1.5 --- Outline of the Thesis --- p.6Chapter 2 --- Background --- p.7Chapter 2.1 --- Constraint Satisfaction Problems --- p.7Chapter 2.1.1 --- Backtracking Tree Search --- p.9Chapter 2.1.2 --- Local Consistencies for solving CSPs --- p.11Node Consistency (NC) --- p.13Arc Consistency (AC) --- p.14Searching by Maintaining Arc Consistency --- p.16Chapter 2.1.3 --- Constraint Optimization Problems --- p.17Chapter 2.2 --- Weighted Constraint Satisfaction Problems --- p.19Chapter 2.2.1 --- Branch and Bound Search (B&B) --- p.23Chapter 2.2.2 --- Local Consistencies for WCSPs --- p.25Node Consistency --- p.26Arc Consistency --- p.28Chapter 2.3 --- Quantified Constraint Satisfaction Problems --- p.32Chapter 2.3.1 --- Backtracking Free search --- p.37Chapter 2.3.2 --- Consistencies for QCSPs --- p.38Chapter 2.3.3 --- Look Ahead for QCSPs --- p.45Chapter 3 --- Quantified Weighted CSPs --- p.48Chapter 4 --- Branch & Bound with Consistency Techniques --- p.54Chapter 4.1 --- Alpha-Beta Pruning --- p.54Chapter 4.2 --- Consistency Techniques --- p.57Chapter 4.2.1 --- Node Consistency --- p.62Overview --- p.62Lower Bound of A-Cost --- p.62Upper Bound of A-Cost --- p.66Projecting Unary Costs to Cθ --- p.67Chapter 4.2.2 --- Enforcing Algorithm for NC --- p.68Projection Phase --- p.69Pruning Phase --- p.69Time Complexity --- p.71Chapter 4.2.3 --- Arc Consistency --- p.73Overview --- p.73Lower Bound of A-Cost --- p.73Upper Bound of A-Cost --- p.75Projecting Binary Costs to Unary Constraint --- p.75Chapter 4.2.4 --- Enforcing Algorithm for AC --- p.76Projection Phase --- p.77Pruning Phase --- p.77Time complexity --- p.79Chapter 5 --- Performance Evaluation --- p.83Chapter 5.1 --- Definitions of QCOP/QCOP+ --- p.83Chapter 5.2 --- Transforming QWCSPs into QCOPs --- p.90Chapter 5.3 --- Empirical Evaluation --- p.91Chapter 5.3.1 --- Random Generated Problems --- p.92Chapter 5.3.2 --- Graph Coloring Game --- p.92Chapter 5.3.3 --- Min-Max Resource Allocation Problem --- p.93Chapter 5.3.4 --- Value Ordering Heuristics --- p.94Chapter 6 --- Concluding Remarks --- p.96Chapter 6.1 --- Contributions --- p.96Chapter 6.2 --- Limitations and Related Works --- p.97Chapter 6.3 --- Future Works --- p.99Bibliography --- p.10

    Higher-Level Consistencies: Where, When, and How Much

    Get PDF
    Determining whether or not a Constraint Satisfaction Problem (CSP) has a solution is NP-complete. CSPs are solved by inference (i.e., enforcing consistency), conditioning (i.e., doing search), or, more commonly, by interleaving the two mechanisms. The most common consistency property enforced during search is Generalized Arc Consistency (GAC). In recent years, new algorithms that enforce consistency properties stronger than GAC have been proposed and shown to be necessary to solve difficult problem instances. We frame the question of balancing the cost and the pruning effectiveness of consistency algorithms as the question of determining where, when, and how much of a higher-level consistency to enforce during search. To answer the `where\u27 question, we exploit the topological structure of a problem instance and target high-level consistency where cycle structures appear. To answer the \u27when\u27 question, we propose a simple, reactive, and effective strategy that monitors the performance of backtrack search and triggers a higher-level consistency as search thrashes. Lastly, for the question of `how much,\u27 we monitor the amount of updates caused by propagation and interrupt the process before it reaches a fixpoint. Empirical evaluations on benchmark problems demonstrate the effectiveness of our strategies. Adviser: B.Y. Choueiry and C. Bessier

    Higher-Level Consistencies: Where, When, and How Much

    Get PDF
    Determining whether or not a Constraint Satisfaction Problem (CSP) has a solution is NP-complete. CSPs are solved by inference (i.e., enforcing consistency), conditioning (i.e., doing search), or, more commonly, by interleaving the two mechanisms. The most common consistency property enforced during search is Generalized Arc Consistency (GAC). In recent years, new algorithms that enforce consistency properties stronger than GAC have been proposed and shown to be necessary to solve difficult problem instances. We frame the question of balancing the cost and the pruning effectiveness of consistency algorithms as the question of determining where, when, and how much of a higher-level consistency to enforce during search. To answer the `where\u27 question, we exploit the topological structure of a problem instance and target high-level consistency where cycle structures appear. To answer the \u27when\u27 question, we propose a simple, reactive, and effective strategy that monitors the performance of backtrack search and triggers a higher-level consistency as search thrashes. Lastly, for the question of `how much,\u27 we monitor the amount of updates caused by propagation and interrupt the process before it reaches a fixpoint. Empirical evaluations on benchmark problems demonstrate the effectiveness of our strategies. Adviser: B.Y. Choueiry and C. Bessier

    Higher-Level Consistencies: Where, When, and How Much

    Get PDF
    Determining whether or not a Constraint Satisfaction Problem (CSP) has a solution is NP-complete. CSPs are solved by inference (i.e., enforcing consistency), conditioning (i.e., doing search), or, more commonly, by interleaving the two mechanisms. The most common consistency property enforced during search is Generalized Arc Consistency (GAC). In recent years, new algorithms that enforce consistency properties stronger than GAC have been proposed and shown to be necessary to solve difficult problem instances. We frame the question of balancing the cost and the pruning effectiveness of consistency algorithms as the question of determining where, when, and how much of a higher-level consistency to enforce during search. To answer the `where\u27 question, we exploit the topological structure of a problem instance and target high-level consistency where cycle structures appear. To answer the \u27when\u27 question, we propose a simple, reactive, and effective strategy that monitors the performance of backtrack search and triggers a higher-level consistency as search thrashes. Lastly, for the question of `how much,\u27 we monitor the amount of updates caused by propagation and interrupt the process before it reaches a fixpoint. Empirical evaluations on benchmark problems demonstrate the effectiveness of our strategies. Adviser: B.Y. Choueiry and C. Bessier

    Dynamically weakened constraints in bounded search for constraint optimisation problems

    Get PDF
    Combinatorial optimisation problems, where the goal is to an optimal solution from the set of solutions of a problem involving resources, constraints on how these resources can be used, and a ranking of solutions are of both theoretical and practical interest. Many real world problems (such as routing vehicles or planning timetables) can be modelled as constraint optimisation problems, and solved via a variety of solver technologies which rely on differing algorithms for search and inference. The starting point for the work presented in this thesis is two existing approaches to solving constraint optimisation problems: constraint programming and decision diagram branch and bound search. Constraint programming models problems using variables which have domains of values and valid value assignments to variables are restricted by constraints. Constraint programming is a mature approach to solving optimisation problems, and typically relies on backtracking search algorithms combined with constraint propagators (which infer from incomplete solutions which values can be removed from the domains of variables which are yet to be assigned a value). Decision diagram branch and bound search is a less mature approach which solves problems modelled as dynamic programming models using width restricted decision diagrams to provide bounds during search. The main contribution of this thesis is adapting decision diagram branch and bound to be the search scheme in a general purpose constraint solver. To achieve this we propose a method in which we introduce a new algorithm for each constraint that we wish to include in our solver and these new algorithms weaken individual constraints, so that they respect the problem relaxations introduced while using decision diagram branch and bound as the search algorithm in our solver. Constraints are weakened during search based on the problem relaxations imposed by the search algorithm: before search begins there is no way of telling which relaxations will be introduced. We attempt to provide weakening algorithms which require little to no changes to existing propagation algorithms. We provide weakening algorithms for a number of built-in constraints in the Flatzinc specifi- cation, as well as for global constraints and symmetry reduction constraints. We implement a solver in Go and empirically verify the competitiveness of our approach. We show that our solver can be parallelised using Goroutines and channels and that our approach scales well. Finally, we also provide an implementation of our approach in a solver which is tailored towards solving extremal graph problems. We use the forbidden subgraph problem to show that our approach of using decision diagram branch and bound as a search scheme in a constraint solver can be paired with canonical search. Canonical search is a technique for graph search which ensures that no two isomorphic graphs are returned during search. We pair our solver with the Nauty graph isomorphism algorithm to achieve this, and explore the relationship between branch and bound and canonical search
    corecore