mccs(1) Debian User's Manual mccs(1)
NAME
mccs - package dependency solver
SYNOPSIS
mccs [options]
DESCRIPTION
mccs (which stands for Multi Criteria CUDF Solver) is a solver for package dependency problems expressed in the CUDF format. By default,
mccs reads a problem specification from standard input, and writes the solution to standard output.
OPTIONS FOR CONTROLLING INPUT
/OUTPUT
-i file
Read input from file file instead of standard input.
-o file
Write the solution to file instead of standard output.
-fo full solution output
-v n set verbosity level to n.
-h print this help
OPTIONS FOR SELECTING THE SOLVER ENGINE
By default, mccs uses the cbc solving engine.
-lpsolve
use lpsolve solver
-lp lpsolver
specify a solving engine that takes the cplex input format. lpsolver is the path of a script that takes as input the file name con-
taining the cplex input, and that produces the solution on standard output (an example for scip is given in
/usr/share/doc/mccs/engines/sciplp).
-pblib pbsolver
use pseudo-Boolean solver pbsolver as solving engine.
-nosolve
do not solve the problem (for debugging)
OPTIONS FOR CONTROLLING CONSTRAINT GENERATION
-noreduce
do not reduce the initial problem
-only-agregate-constraints
generate only agregate constraints
-only-desagregate-constraints
generate only deagregate constraints (default)
-all-constraints
generate all kind of constraints (ensure redundancy)
OPTIONS FOR CONTROLLING OPTIMIZATION
See the file /usr/share/doc/mccs/README.optimization-criteria for a full grammar of optimization criteria.
EXAMPLES
An example input file can be found at /usr/share/doc/mccs/examples/legacy.cudf.
mccs -i legacy.cudf
calls mccs on examples/legacy.cudf and prints the solution on stdout. With such a call mccs will resort to the default underlying solver
cbc and use a default criterion to solve the problem.
mccs -i legacy.cudf -o sol -lexagregate[-removed,-changed]
-lpsolve
Here, mccs puts the solution into the file "sol" and solves the problem using the lpsolve solver with the paranoid criterion, which con-
sists of first minimizing the number of removed packaged, and then the number of packages that change installation status or installed ver-
sion.
mccs -i legacy.cudf -o sol
-lexsemiagregate[-removed,-notuptodate,
-nunsat[recommends:,true],-new]
The criterion used here is the trendy criterion, which consists of first minimizing the number of package removals, then to minimize the
number of installed packages that are installed in a version older the most recent available version, then to minimize the number of recom-
mendations of installed packages that are not satisfied, and finally the number of newly installed packages.
AUTHOR
mccs has been written by Claude Michel <cpjm@polytech.unice.fr>. The development of mccs has been partly supported by the European research
project Mancoosi.
9 May 2011 mccs(1)