Backjava

BackJava: a Java finite-domain constraint satisfaction solver

BackJava is a Java implementation of Backtalk, a library for finite-domain constraint satisfaction. BackJava provides an efficient constraint solver, with the possibility to specify constraints on arbitrary Java objects. BackJava offers a full flexibility and access to all components of the solver, a library of predefined, efficient constraints, and the possibility to create easily new constraint classes. BackJava’s performance are comparable to other similary libraries (IlogSolver, Choco). It is mainly designed for flexibility, ease of use and experimentations in the CSL music team. It is currently used in the MIROR-IMPRO and MIROR-COMPO applications (real time generation of improvization and composition using Markov Constraints). It could be used for more industrial applications.