25 research outputs found
The IntSat method for integer linear programming
Conflict-Driven Clause-Learning (CDCL) SAT solvers can automatically solve very large real-world problems. To go beyond, and in particular in order to solve and optimize problems involving linear arithmetic constraints, here we introduce IntSat, a generalization of CDCL to Integer Linear Programming (ILP). Our simple 1400-line C++ prototype IntSat implementation already shows some competitiveness with commercial solvers such as CPLEX or Gurobi. Here we describe this new IntSat ILP solving method, show how it can be implemented efficiently, and discuss a large list of possible enhancements and extensions.Postprint (author’s final draft
Resolvedor SAT, basado en procedimientos Davis-Putnam-Longemann-Loveland
El problema de satisfación de fórmulas lógicas (SAT), es un problema NP-Hard. Una forma de resolverlo es por medio de procedimientos Davis-Putnam-Longemann-Loveland (DPLL), ahora presentamos una implementación de un resolvedor SAT a partir de procedimientos DPLL.The problem of SAT is a problem NP-HARD, a way for solve is by Davis-Putnam-Longemann_Lovelan procedure (DPLL), here there is a SAT solver by this type of procedurePostprint (published version
A parametric approach for smaller and better encodings of cardinality constraints
Adequate encodings for high-level constraints are a key ingredient for the application of SAT technology. In particular, cardinality constraints state that at most (at least, or exactly) k out of n propositional variables can be true. They are crucial in many applications. Although sophisticated encodings for cardinality constraints exist, it is well known that for small n and k straightforward encodings without auxiliary variables sometimes behave better, and that the choice of the right trade-off between minimizing either the number of variables or the number of clauses is highly application-dependent. Here we build upon previous work on Cardinality Networks to get the best of several worlds: we develop an arc-consistent encoding that, by recursively decomposing the constraint into smaller ones, allows one to decide which encoding to apply to each sub-constraint. This process minimizes a function λ·num- vars + num-clauses, where λ is a parameter that can be tuned by the user. Our careful experimental evaluation shows that (e.g., for λ = 5) this new technique produces much smaller encodings in variables and clauses, and indeed strongly improves SAT solvers' performance.Postprint (author’s final draft
The IntSat method for integer linear programming
Conflict-Driven Clause-Learning (CDCL) SAT solvers can automatically solve very large real-world problems. To go beyond, and in particular in order to solve and optimize problems involving linear arithmetic constraints, here we introduce IntSat, a generalization of CDCL to Integer Linear Programming (ILP). Our simple 1400-line C++ prototype IntSat implementation already shows some competitiveness with commercial solvers such as CPLEX or Gurobi. Here we describe this new IntSat ILP solving method, show how it can be implemented efficiently, and discuss a large list of possible enhancements and extensions
Basic superposition is complete
We define a formalism of equality constraints and use it to prove the completeness of what we have called basic superposition: a restricted form of superposition in which only the subterms not originated in previous inferences is superposed upon. We first apply our results to the equational case and to unfailing Knuth-Bendix completion. Second, we extend the techniques to the case of full first-order clauses with equality, proving the refutational completeness of a new simple inference system. Finally, it is briefly outlined how this method can be applied to further restrict inference systems by the use of ordering constraints.Postprint (published version
First-order completion with ordering constraints: some positive and some negative results
We show by means of counter examples that some well-known results on the completeness of deduction methods with ordering constraints are incorrect. The problem is caused by the fact that the usual lifting lemmata do not hold.
In this paper, these problems are overcome by using a different lifting method. We define a completion procedure for ordering constrained first-order clauses with equality, including notions of redundant inferences and clauses, as done in [BG 91] for clauses without constraints. This completion procedure is refutationally complete if the initial set of constrained clauses fulfills a property which we have called pureness. In particular, clauses without constraints are pure. Pureness is preserved during the completion process. Since the constraints generated during completion reduce the search space considerably, our results allow to do very efficient theorem proving in first-order logic with equality. Moreover, complete sets of axioms (canonical sets of rewrite rules in the equational case) can be obtained in more cases.Postprint (published version