ppl_pips - Man Page
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>.
Copyright
Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it> Copyright (C) 2010-2016 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
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.