




GENERAL

For a linear system describing a polyhedron P of the form
  
                                b - A y - B x >= 0

and the list of the extremal rays u of the cone u A = 0, u >= 0, the program
domcheck generates the inequalities

                               (u b) - (u B) x >= 0

and outputs an equivalent minimal system of inequalities (i.e. a minimal system
describing the projection of the polyhedron onto the space of the variables x).
  
If a set of inequalities

                                    s - S x >= 0

is known to be valid for this projection there is the option of specifying
this set. The program will then report if this set of inequalities is
sufficient or not to describe the projection (useful in particular for non
full dimensional polytopes).

This program may also be used simply to remove redundancy in a given linear
system of the form
                              b - B x >= 0.
                              
In that case, just put 'none' for the file containing the extremal rays.




INSTALLATION

The program uses the CPLEX callable routines library (version 2.1).
To install the program, some modifications in the makefile are necessary:

- Specify the machine on which the program will run
  (section DEFMACH of the makefile).

- Specify the location of the standard mathematical library (section LIB).

- Specify the location of the CPLEX callable library (section CPLEXDIR).

If the CPLEX mixed integer callable library is not accessible but only
the CPLEX callable library, replace  'cplexmip.a'    by 
   'callable.a'    in the last line.





INPUT FILE FORMAT

A system b - B x >= 0 with n inequalities and m variables is described by
a matrix of size (n x (m+1)) containing the coefficients of [b  (-B)].
More precisely, the file looks like:

     [text]
     begin
     #lines_to_read   #columns_to_read    [type_of_input]
     ...
     ...
     ...     (matrix of size (#lines_to_read x #columns_to_read))
     ...
     ...
     end
     [option]

where
     [text] is an arbitrary text not containing the keyword 'begin'.

     [type_of_input] is 'real', 'integer' or 'rational' (optional for
                     this program).

     [option] can only be 'nonnegative', which means that the inequalities
              implying the non negativity of the variables have to be added
              to the system. (this option is allowed only for the file 
              containing [s  (-S)]).


NB: 1) The file containing the extreme rays of the cone u A = 0, u >= 0 is
       supposed to be the output file of Fukuda's program cdd
       (see cdd user manual).

    2) each line of a matrix can be followed by a comment
       (skipped by the program).





OUTPUT FILE FORMAT

A matrix of the form [e  (-E)   (indic)] corresponding to the system

e - E x >= 0.

The entries of the array (indic) are either

     an integer                 or               'S' followed by an integer.

In the first case, the integer is the number of the ray generating the 
corresponding inequality, in the second case, the integer is the number of
the inequality of the system [s (-S)] corresponding to the inequality.





EXAMPLES

Several examples of input and output files may be found in the
subdirectory EX.

Input files:

   The files containing the rays have the suffix '.ext'

   The files containing the system [b  (-B)] have the suffix 'sub.ine'

   The files containing a dominating system [s  (-S)] have the suffix '.syst'

Output files:

   The output files generated when the dominating system is part of the input
   have the suffix '.res'

   The output files generated without specifying the dominating system (option
   'none') have the suffix '.resnone'
   



CONTACT AND BUGS REPORT

margot@dma.epfl.ch

