ppl_pips man page

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://bugseng.com/products/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>.

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.

Info

October 2013 ppl_pips 1.1 User Commands