160 research outputs found
Proteus: A Hierarchical Portfolio of Solvers and Transformations
In recent years, portfolio approaches to solving SAT problems and CSPs have
become increasingly common. There are also a number of different encodings for
representing CSPs as SAT instances. In this paper, we leverage advances in both
SAT and CSP solving to present a novel hierarchical portfolio-based approach to
CSP solving, which we call Proteus, that does not rely purely on CSP solvers.
Instead, it may decide that it is best to encode a CSP problem instance into
SAT, selecting an appropriate encoding and a corresponding SAT solver. Our
experimental evaluation used an instance of Proteus that involved four CSP
solvers, three SAT encodings, and six SAT solvers, evaluated on the most
challenging problem instances from the CSP solver competitions, involving
global and intensional constraints. We show that significant performance
improvements can be achieved by Proteus obtained by exploiting alternative
view-points and solvers for combinatorial problem-solving.Comment: 11th International Conference on Integration of AI and OR Techniques
in Constraint Programming for Combinatorial Optimization Problems. The final
publication is available at link.springer.co
Constraints Propagation on GPU: A Case Study for AllDifferent
The AllDifferent constraint is a fundamental tool in Constraint Programming. It naturally arises in many problems, from puzzles to scheduling and routing applications. Such popularity has prompted an extensive literature on filtering and propagation for this constraint. Motivated by the benefits that GPUs offer to other branches of AI, this paper investigates the use of GPUs to accelerate filtering and propagation. In particular, we present an efficient parallelization of the AllDifferent constraint on GPU; we analyze different design and implementation choices and evaluates the performance of the resulting system on medium to large instances of the Travelling Salesman Problem with encouraging results
Benchmarking Symbolic Execution Using Constraint Problems -- Initial Results
Symbolic execution is a powerful technique for bug finding and program
testing. It is successful in finding bugs in real-world code. The core
reasoning techniques use constraint solving, path exploration, and search,
which are also the same techniques used in solving combinatorial problems,
e.g., finite-domain constraint satisfaction problems (CSPs). We propose CSP
instances as more challenging benchmarks to evaluate the effectiveness of the
core techniques in symbolic execution. We transform CSP benchmarks into C
programs suitable for testing the reasoning capabilities of symbolic execution
tools. From a single CSP P, we transform P depending on transformation choice
into different C programs. Preliminary testing with the KLEE, Tracer-X, and
LLBMC tools show substantial runtime differences from transformation and solver
choice. Our C benchmarks are effective in showing the limitations of existing
symbolic execution tools. The motivation for this work is we believe that
benchmarks of this form can spur the development and engineering of improved
core reasoning in symbolic execution engines
Cable Tree Wiring -- Benchmarking Solvers on a Real-World Scheduling Problem with a Variety of Precedence Constraints
Cable trees are used in industrial products to transmit energy and
information between different product parts. To this date, they are mostly
assembled by humans and only few automated manufacturing solutions exist using
complex robotic machines. For these machines, the wiring plan has to be
translated into a wiring sequence of cable plugging operations to be followed
by the machine. In this paper, we study and formalize the problem of deriving
the optimal wiring sequence for a given layout of a cable tree. We summarize
our investigations to model this cable tree wiring Problem (CTW) as a traveling
salesman problem with atomic, soft atomic, and disjunctive precedence
constraints as well as tour-dependent edge costs such that it can be solved by
state-of-the-art constraint programming (CP), Optimization Modulo Theories
(OMT), and mixed-integer programming (MIP) solvers. It is further shown, how
the CTW problem can be viewed as a soft version of the coupled tasks scheduling
problem. We discuss various modeling variants for the problem, prove its
NP-hardness, and empirically compare CP, OMT, and MIP solvers on a benchmark
set of 278 instances. The complete benchmark set with all models and instance
data is available on github and is accepted for inclusion in the MiniZinc
challenge 2020
An Enhanced Features Extractor for a Portfolio of Constraint Solvers
Recent research has shown that a single arbitrarily efficient solver can be
significantly outperformed by a portfolio of possibly slower on-average
solvers. The solver selection is usually done by means of (un)supervised
learning techniques which exploit features extracted from the problem
specification. In this paper we present an useful and flexible framework that
is able to extract an extensive set of features from a Constraint
(Satisfaction/Optimization) Problem defined in possibly different modeling
languages: MiniZinc, FlatZinc or XCSP. We also report some empirical results
showing that the performances that can be obtained using these features are
effective and competitive with state of the art CSP portfolio techniques
- …