piplib 1.0
[piplib.git] / README
blobf5424c155eedd596eed0090f1e68e95c7a898898
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. By giving configure the option --enable-int you ask for int
80 version only and by giving configure the option --enable-llint you
81 ask for long long int version only.
83 #   **-------------------------------------------------------------------**
84 #   **                          IV Running PIP                           **
85 #   **-------------------------------------------------------------------**/
87 To run PIP, simply type 'pip32' ou 'pip64', optionally followed by the name
88 of an input file. For more informations, please check the ./doc subdirectory.