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.constraints.pb Implementations of pseudo boolean 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  
org.sat4j.minisat.uip Various ways to compute an asserting clause (containing one Unique Implication Point).
org.sat4j.reader.csp Classes needed for CSP to SAT translation.

 

SAT4J: a SATisfiability library for Java.

/*
 * SAT4J: a SATisfiability library for Java   
 * Copyright (C) 2004-2006 Daniel Le Berre
 * 
 * Based on the original minisat specification from:
 * 
 * An extensible SAT solver. Niklas Eén and Niklas Sörensson.
 * Proceedings of the Sixth International Conference on Theory 
 * and Applications of Satisfiability Testing, LNCS 2919, 
 * pp 502-518, 2003.
 * 
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *  
 */