SAT4J: a SATisfiability library for Java

SAT4J: a SATisfiability library for Java.

See:
          Description

User level: stable public API.
org.sat4j Contain a command line launcher for the SAT solvers.
org.sat4j.core Implementation of the data structures available in org.sat4j.specs.
org.sat4j.minisat Implementation of the MiniSAT specification in Java.
org.sat4j.opt Built-in optimization framework.
org.sat4j.reader Some utility classes to read problems from plain text files.
org.sat4j.specs Those classes are intented for users dealing with SAT solvers as blackboxes.
org.sat4j.tools Tools to be used on top of an ISolver.

 

Developer level: internal API, subject to change.
org.sat4j.minisat.constraints Implementations of various constraints for MiniSAT.
org.sat4j.minisat.constraints.card Implementations of cardinality contraints.
org.sat4j.minisat.constraints.cnf Implementations of clausal contraints.
org.sat4j.minisat.core Implementation of the MiniSAT solver skeleton.
org.sat4j.minisat.learning Various learning strategies.
org.sat4j.minisat.orders Various heuristics to select the next variable to branch on.
org.sat4j.minisat.restarts Various restart strategies.
org.sat4j.minisat.uip Various ways to compute an asserting clause (containing one Unique Implication Point).

 

SAT4J: a SATisfiability library for Java.

/*******************************************************************************
* SAT4J: a SATisfiability library for Java Copyright (C) 2004-2008 Daniel Le Berre
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU Lesser General Public License Version 2.1 or later (the
* "LGPL"), in which case the provisions of the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of the LGPL, and not to allow others to use your version of
* this file under the terms of the EPL, indicate your decision by deleting
* the provisions above and replace them with the notice and other provisions
* required by the LGPL. If you do not delete the provisions above, a recipient
* may use your version of this file under the terms of the EPL or the LGPL.
* 
* Based on the original MiniSat specification from:
* 
* An extensible SAT solver. Niklas Een and Niklas Sorensson. Proceedings of the
* Sixth International Conference on Theory and Applications of Satisfiability
* Testing, LNCS 2919, pp 502-518, 2003.
*
* See www.minisat.se for the original solver in C++.
* 
*******************************************************************************/