cdd HISTORY file

cdd version (date) / changes

Version C0.21 (November 10, 1993) /
 - The first version of cdd created by translating pdd.p (0.21) with 
   Dave Gillespie's p2c translator and by modifying the c-code.  The set operation
   libraries setoper.c, setoper.h (Nov.14, 1993) were created to make the code run
   without any p2c libraries.

Version C0.22 (November 21, 1993) /
 - File open procedures have been updated.

Version C0.23 (November 22, 1993) /
 - First release of cdd.

Version C0.23a, b (November 23, 1993) /
 - Few small bugs of C0.23 have been fixed.
 - Up to this version, the program can deal with column size at most 32.

Version C0.24 (November 27, 1993) /
 - Modified to be able to deal with column size (nn) larger than 32.
 - Bugs of LexMin, LexMax ordering options are fixed.

Version C0.25 (November 28, 1993)
 - The bug for mishandling the empty polyhedra input is fixed.  
   Accordingly, the new variable CompStatus (Completion Status) 
   has been added.
   
 - The procedure AddNewHyperplane and EvaluateARay have been completely 
   changed.  EvaluateARay computes A(hnew) * Ray for each Rays, and sort
   the linked list of rays so that the hnew-infeasible rays will be 
   put consecutively from FirstRay.

Version C0.26 (November 29, 1993) / 
 - FindBasis has been modified to be faster when the number of inequalities is large.
 - addition of #incidence option for outputting the cardinality of active 
   hyperplanes instead of the set of all active hyperplanes at each vertex.
 - InitBasisAtBottom option has been added to select the last set of rows
   as the initial basis (determining a simplex cone/polytope). 
   This option is {\em not\/} default. See User's manual.

Version C0.26b(December 8, 1993) / 
 - FindBasis and ComputeRank have been replaced with new programs which do not copy
    Amatrix (for save storage and time).  Accordingly, the procedure CopyAmarix has been
    removed.

Version C0.27(December 8, 1993) / 
 - It uses a new versions of setoper.h and setoper.c  (Dec 8, 1993 version) which have
    set complemen procedure   set_compl.

Version C0.31(December 20, 1993) /
 - The main program cdd.c has been divided into two parts, cdd.c and cddarith.c, the latter
    contains all the procedures dealing with floating point numbers and operations.
 - LP solver CrissCrossSolve has been added.  Now the option "maximize" can be used to
    optimize any linear function over the polyhedron.
 - The setoper library has been updated to accomodate set_card(set) function.

Version C0.32(Jan. 11, 1994) /
 -  "preprojection" option has been added.  This option can be considered as a preprocessing
    of orthogonal projection of the polyhedon to a subset of variables.  That is, if the inequality
    inequality system is of form  A1 x1 + A2 x2 <= b, and the variable indices for x2, say 1, 4, 6, 7,
    are listed in the input file as
    -------------
    begin
      m   n   Type
      b  -A1  -A2
    end
    preprojection
      4  1  4  6  7
    -------------
    Then, cdd will output the inequality system,  A1 x1  <= b, together with the list R of extremal
    rays of the homogeneous cone  {z:  z >=0  and   z A2 = 0 }.  Consequently, the inequality system
    {r A1  x1  <=  r b  for  each r  in  R} represents the projection of the original polyhedron onto
    x1-space with possible redundancy.   The supplementary  C program (written by F. Margot) 
    will be used to obtain a minimal system from these two outputs.

Version C0.36(Jan. 16, 1994) /
 - partial_enumeration option has been added.  By this option, one can enumerate all vertices
    and rays which are lying on a selected set of inequalities.  The input
    -------------
    begin
      m   n   Type
      b  -A1  -A2
    end
    partial_enumeration
      4  1  4  6  7
    -------------
    restricts the enumeration for those lying on the 1st, 4th, 6th & 7th hyperplanes.
 
--- end of file: cddHISTORY ---
