PPL_PIPS(1)

NAME
ppl_pips - a PPL-based parametric integer programming problem solver

SYNOPSIS
ppl_pips [OPTION]... [FILE]

DESCRIPTION
Reads the definition of a Parametric Integer Programming problem and displays the lexicographic minimum in terms of the values of the parameters.

OPTIONS

-RMB, --max-memory=MB
    limits memory usage to MB megabytes

-h, --help
    prints this help text to stdout

-oPATH, --output=PATH
    appends output to PATH

-P, --polylib
    reads problem in PolyLib format (default)

-p, --piplib
    reads problem in PipLib format

-t, --timings
    prints timings to stderr

-v, --verbose
    produces lots of output

-i, --iterations=N
    executes the resolution N times (default=1)

-V, --version
    prints version information to stdout

-cPATH, --check=PATH
    checks if the result is equal to what is in PATH

  Cut generation options:

-f, --cut-first
    uses the first non-integer row (default)

-d, --cut-deepest
    tries to generate the deepest cut

-a, --cut-all
    always generates all possible cuts

  Pivot row strategy options:

-F, --row-first
    uses the first row with negative parameter (default)

-M, --row-max
    chooses row generating the lexico-maximal pivot column

AVAILABILITY
The latest version of the Parma Polyhedra Library and all the documentation is available at http://www.cs.unipr.it/ppl/ .

NOTES
The options -CSECS (--max-cpu=SECS) and -t (--timings) are not available on some platforms.

The PolyLib format is as follows:

-   The first row describes the context matrix (i.e., constraints on the parameters). The first value is the number of rows (which can be zero) and the second value is the number of columns. The number of parameters is the number of columns minus 2.

-   Starting from the second row, there are the rows of the context matrix, if any. Each row, which represents a constraint of the form c1*p1 + ... + cn*pn + c0 =/>= 0 , contains: the value 0 if the constraint is an equality, 1 if it is an inequality; the coefficients of the parameters c1, ..., cn ; the constant term c0 . For example, the inequality constraint on two parameters p1 + 2*p2 - 1 >= 0 is encoded by the row 1 1 2 -1 .

-   The following row contains the parameter number for the so-called big parameter. If no big parameter is used, the value is -1.

-   The following rows encode the problem inequality matrix. As for the context matrix, the first two values are the dimensions of the matrix. The number of variables is the number of columns in the matrix minus the number of parameters minus 2. Each row, which represents a constraint of the form d1*v1 + ... + dm*vm + c1*p1 + ... + cn*pn + c0 =/>= 0 , contains: the value 0 if the constraint is an equality, 1 if it is an inequality; the coefficients of the variables d1, ..., dm ; the coefficients of the parameters c1, ..., cn ; the constant term c0 .

    The PipLib format is described in Section 2.2 of PIP/PipLib: A Solver for Parametric Integer Programming Problems (see below).

AUTHOR
See the file CREDITS in the source distribution or use the command ppl-config --credits for a list of contributors.

REPORTING BUGS
Report bugs to <ppl-devel@cs.unipr.it>.

COPYRIGHT
Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> Copyright (C) 2010-2011 BUGSENG srl (http://bugseng.com)
This is free software; see the file COPYING in the source distribution or use the command ppl-config --copying to obtain the copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

SEE ALSO
ppl-config(1)

Paul Feautrier. Parametric Integer Programming. RAIRO Recherche Operationnelle, 22(3):243-268, 1988.

Paul Feautrier, Jean-Francois Collard, and Cedric Bastoul. PIP/PipLib: A Solver for Parametric Integer Programming Problems, 5.0 edition, July 2007. Distributed with PIP/PipLib 1.4.0.