piplib 1.1
[piplib.git] / README
blobd29f16e8788be74db8f56c4fd9501af983171fc1
2 #  /**-------------------------------------------------------------------**
3 #   **                            PIP/PipLib                             **
4 #   **-------------------------------------------------------------------**
5 #   **                   Parametric Integer Programming                  **
6 #   **-------------------------------------------------------------------**
7 #   **           First version of this file: february 21th 2002          **
8 #   **-------------------------------------------------------------------**/
11 For complete informations about this software, how to build and use it,
12 please see the postscript file in the ./doc subdirectory (a pdf version
13 is available in the web site).
15 #   **-------------------------------------------------------------------**
16 #   **                        I. Description                             **
17 #   **-------------------------------------------------------------------**/
19 PIP/PipLib is the well known Paul Feautrier's parametric integer programming
20 solver. PIP is a software which finds the lexicographic minimum of the set of
21 integer points which lie inside a convex polyhedron. This polyhedron can depend
22 linearly on one or more integral parameters. If user ask for a non integral
23 solution, PIP can give the exact solution as an integral quotient. The heart
24 of PIP is the parametrized Gomory's cuts algorithm followed by parametrized
25 dual simplex method. The PIP Library (PipLib for short) was implemented to
26 allow the user to call PIP directly from his programs, without file accesses
27 or system calls. The user only needs to link his programs with C libraries.
29 #   **-------------------------------------------------------------------**
30 #   **                    II. Building PIP/PipLib                        **
31 #   **-------------------------------------------------------------------**/
33 The configure shell script attempts to guess correct values for various
34 system-dependent variables used during compilation. It uses those values to
35 create a Makefile. The file configure.in is used to create configure by a
36 program called autoconf.  You only need configure.in if you want to change
37 it or regenerate configure using a newer version of autoconf.
39 The simplest way to compile this package is:
40 cd to the directory containing the package's source code and type 
42   ./configure
44 to configure the package for your system (while running, configure prints
45 some messages telling which features it is checking for), to compile the
46 package, type
48   make
49   
51 to install the program and/or the library, type
53   make install
55 you can remove the program binaries and object files from the source code
56 directory by typing
57   
58   make clean
59   
60 To also remove the files that configure created (so you can compile the
61 package for a different kind of computer) type
62   
63   make distclean
65 #   **-------------------------------------------------------------------**
66 #   **                           III Options                             **
67 #   **-------------------------------------------------------------------**/
69 By default,  make will install the package's files in /usr/local/bin,
70 /usr/local/lib, etc. You can specify an installation prefix other than 
71 /usr/local by giving onfigure} the option --prefix=PATH.
73 By default, both PIP and the PipLib are compiled and installed.
74 By giving configure the option --without-pip you disable the
75 compilation and installation of PIP. By giving configure the option
76 --without-lib you disable the compilation and installation of the PipLib.
78 By default, both int (32 bits) and long long int (64 bits) versions are
79 built. Multiple precision is built too if the GMP library is found.
80 By giving configure the option --enable-int you ask for int
81 version only. By giving configure the option --enable-llint you
82 ask for long long int version only. By giving configure the
83 option --enable-gmp you ask for GMP version only.
85 By default, PIP looks for the GMP library in the standard path
86 /usr/ or /usr/local/. If the multiple precision Pip construction
87 is needed and if the GMP library was installed elsewhere, you must must give
88 to the configure shell script the option --with-gmp=PATH, where
89 PATH is the GMP library installation path.
91 #   **-------------------------------------------------------------------**
92 #   **                          IV Running PIP                           **
93 #   **-------------------------------------------------------------------**/
95 To run PIP, simply type 'pip32', 'pip64' or 'pipMP', optionally followed by the
96 name of an input file. For more informations, please check the ./doc
97 subdirectory.