Sat4j is a java library for solving boolean satisfaction and optimization problems.
It can solve SAT, MAXSAT, Pseudo-Boolean, Minimally Unsatisfiable Subset (MUS) problems.
Being in Java, the promise is not to be the fastest one to solve those problems
(a SAT solver in Java is about 3.25 times slower than its counterpart in C++),
but to be full featured, robust, user friendly, and to follow Java design
guidelines and code conventions (checked using static analysis of the source code). The library is designed for
flexibility, by using heavily the decorator and strategy design patterns.
Furthermore, Sat4j is open
source, under the dual business friendly Eclipse Public License and
academic friendly GNU LGPL license.
To get an idea of what can be done using Sat4j, you might want to take a look at Sat4j case studies (draft).
After receiving much feedback from both external and internal users, we are
proud to announce the availability of that new release, that fixes several
issues, improves the API and provides the possibility to optimize by lower bounding.
See the changelog for details.
March 2011: Sat4j 2.3.0 released
The new release mainly cleans up the code of release 2.2 and provides the new Minimally Unsatisfiable Subset solver submitted to the SAT 2011 competition and the possibility for the MAXSAT solver to be used as an incomplete solver for the MAXSAT Evaluation 2011.
October 2010: SAT4J 2.2.2 released
A new release of SAT4J is now available.
Release 2.2 corresponds to the version that ships with Eclipse 3.6.
Release 2.2.1 contains a fix for solving WBO problems while release 2.2.2
contains a bugfix for solving some MaxSat problems declaring much more
variables than the ones really used. It contains the most efficient MaxSat
solver we ever shipped in Sat4j.
May 2009: SAT4J 2.1 released
A new release of SAT4J is now available. It will ship with Eclipse 3.5 (Galileo).
The 2.1 release facilitates the integration of SAT technology in Java software, and improves the optimization engines (PB, MAXSAT).
March 24, 2009: Millions of SAT4J users worldwide?
SAT4J ships in Eclipse 3.4. Here are some public numbers regarding the number
of downloads of Eclipse distributions on Eclipse.org web site since June 2008.
Note that those numbers do not include third party products such as IBM or
Genuitec ones based on Eclipse.
This is free software under both the Eclipse Public License and the GNU LGPL licence developed at CRIL. The SAT4J project is kindly hosted on the OW2 forge.YourKit is kindly supporting open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of innovative and intelligent tools for profiling
Java and .NET applications. Take a look at YourKit's leading software products:
YourKit Java Profiler and
YourKit ASP.NET Profiler.