Saffron is a preprocessor which serves as a front end for Sat4j. Saffron is to Sat4j as a higher level language is to an assembler. The user expresses his/her problem by writing a Java application using the Saffron API. When the application is run, Saffron creates a corresponding SAT problem, then applies the Sat4j API to find a solution. The Sat4j solution is analyzed by Saffron, and the bit assignments provided by Sat4j are used to construct the solution values of the original problem.
- Download Saffron source files.
- Download the this (or a later) version of the following Sat4j library:
- To familiarize yourself with the use of Saffron, run the numerous demo applications in the package named (of all things): demos. Extensive javadoc files can be found in the folder called: doc
Running From The Windows Terminal
For instance, here's how the NaturalNumberXorerDemo app runs in my particular Java configuration:
java.exe -classpath "C:\Users\Kerry\git\Saffron-2.0\Saffron 2.0\bin;C:\Users\Kerry\Development\eclipse\plugins\org.sat4j.core_2.3.5.v201308161310.jar" demos.NaturalNumberXorerDemo
This project is licensed under the GPLv3 License - see the LICENSE.md file for details.
- Daniel Le Berre provided invaluable guidance in connecting the Saffron code to the Sat4j API.