Constraint answer set programming integrates answer set programming with constraint processing. System EZSMT+ is a constraint answer set programming tool that utilizes satisfiability modulo theory solvers for search. The truly unique feature of EZSMT+ is its capability to process linear as well as nonlinear constraints simultaneously containing integer and real variables.
Linear programming and constraint propagation are complementary techniques with the potential for integration to benefit the solution of combinatorial optimization problems. Attempts to combine them have mainly focused on incorporating either technique into the framework of the other -- traditional models have been left intact. We argue that a rethinking of our modeling traditions is necessary to achieve the greatest benefit of such an integration. We propose a declarative modeling framework in which the structure of the constraints indicates how LP and CP can interact to solve the problem.
Constraint logic programming is a paradigm based on the notion of constraints and mechanisms for their resolution. The new concept of solver collaboration enables to solve problems that cannot be tackled or efficiently soh, ed with a single solver. We propose BALI, an environment for designing/executing solver collaborations. BALI is a heterogeneous distributed collaborativc problem solving system. The general view consists in doing scveral solvers collaborate in order to process constraints that cannot be solvcd (or efficiently solved) by a single solver.
This is an ongoing series about: How to build a constraint solver? If you haven't read this post: Perfect as it is part 1;) More than 2 years ago I wrote a Sudoku solver in Python. I really enjoyed it and therefore I've spend some time to do the same in Julia just faster;) Then I wanted to build a whole constraint-programming solver in Julia. Well I actually still want to do it. It will be hard but fun.
MiniZinc provides a solver-independent modeling language that is now supported by constraint-programming solvers, mixed integer programming solvers, SAT and SAT modulo theory solvers, and hybrid solvers. Every year since 2008 we have run the MiniZinc Challenge, which compares and contrasts the different strengths of different solvers and solving technologies on a set of MiniZinc models. Here we report on what we have learned from running the competition for 6 years. MiniZinc is high level enough to express most combinatorial optimization problems easily and in a largely solverindependent way; for example, it supports sets, arrays, and user-defined predicates, some overloading, and some automatic coercions. However, MiniZinc is low level enough that it can be mapped easily onto many solvers.