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 script aspcud.sh in the scripts folder:

  ./aspcud.sh 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. 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. 
