Aspcud - A solver for package problems in CUDF format using ASP
---------------------------------------------------------------

The aspcud project provides a converter/preprocessor (cudf2lp) to translate a
CUDF specification into a set facts suitable to be processed with an ASP
grounder and solver. Furthermore, there is a small bash/python script
(aspcud.sh) together with a specification for the package problem (misc2012.lp
or specification.lp). It calls converter cudf2lp, grounder gringo, and solver
clasp to obtain a solution to a given CUDF document along with an optimization
criterion.

To run aspcud, use the installed aspcud binary (take a look at the examples
folder):

  aspcud problem.cudf solution.cudf <criteria>

For this to work, cudf2lp, clasp (>=2.1.3), and gringo (>=4.2.1) have to be
available in the path. Solver and grounder are available at:
  
  http://sourceforge.net/projects/potassco/files/clasp/
  http://sourceforge.net/projects/potassco/files/gringo/

The specification of CUDF documents and the supported criteria along with a lot
of instances are available at the mancoosi homepage:

  http://www.mancoosi.org/
  http://www.mancoosi.org/cudf/
  http://www.mancoosi.org/misc-2012/criteria/
  http://data.mancoosi.org/misc2012/problems/

Either the encoding misc2012.lp or specification.lp can be used for solving the
package problem (can be selected with option -e). The first encoding can
typically solve harder problems than the second one. The second encoding is
often faster on simpler instance though.

Furthermore, the prototypical solver unclasp can be selected with option -s
using the unclasp-wrapper.sh script. The script is necessary to filter some
incompatible options. It typically performs better than clasp on package
problems. Note that unclasp's optimizaton algorithm will be part of future
clasp versions. But for now you can obtain unclasp using subversion:

  svn checkout svn://svn.code.sf.net/p/potassco/code/branches/unclasp

Aspcud is distributed under the GNU Public Licence, see file COPYING for
details. 
