David Avis          avis@cs.mcgill.ca     http://cgm.cs.mcgill.ca/~avis

  • What's new in Version 7.3 
  • What's new in Version 7.2
  • What's new in Version 7.1 
  • What's new in Version 6.2     (User's guide for V6.2 and earlier)
  • What's new in Version 6.1
  • What's new in Version 6.0
    What's new in version 7.3

    1. For H/V conversion lrs is now multi-threaded (no load balancing) using openMP
    2. A minimum representation can be computed: hidden linearities found and made explicit, all redundancy removed
    3. mplrs -minrep does full parallelization for finding a minimum representation
    4. mplrs -fel does full parallel redundancy removal in one step of Fourier-Motzkin elimination



    What's New in Version 7.2

    1. Fourier elimination is now included in lrs/mplrs
    2. lrs now runs in 4 modes depending on presence of options:
    default: H/V to V/H conversion
    redund:  remove redundant lines in input
    extract: remove linearities for H, extract columns for V
    project/eliminate: fourier elimination
    3. checkpred/projred checks for redundancy of halfspaces in the projection of an H-representation using an SMT solver
    4. mplrs renumbers B# when printcobasis is set in lrs causing global B# numbers to be output
    5. maxdepth lrs option implemented in mplrs
    6. various shell scripts are now in the scripts directory
       plotB produces a plot from mplrs output showing B# and height for each new vertex/ray/facet output
    7. man pages (groff and html versions) are included for most lrslib operations

  • What's New in Version 7.1

    1. All C version replaces Version 7.0 (which was a work in progress and has been removed from distribution)
    2. redund programs are replaced by an option in mplrs/lrs with parallel version now available
    3. hybrid (64bit/128bit/GMP) arithmetic implemented: speedups of roughly 3-5 times (64bit) and 2 times(128bit) over GMP arithmetic for problems using small integers.
    4. overflow checking for 64/128 bit arithmetic
    5. __int128 (gcc v.4.6.0 or later) and FLINT arithmetic now supported
    6. lrsgmp, mplrsgmp uses only GMP arithmetic, same as lrslib-062
    7. lrs/mplrs  start in 64 bit moving to 128 bit and then to gmp arithmetic as necessary
    8. single arithmetic versions  (64bit/128bit/GMP) of lrs/mplrs available for comparison purposes
    9. single arithmetic versions of lrsnash are available with overflow checking
    10. extract option in lrs (only) can be used to eliminate variables in H-representation and extract columns in a V-representation
    11. hvref program makes a cross reference list between H and V representations
    12. lponly option extended to include four different pivot rules: Dantzig, Bland, random edge and combined Dantzig/random edge
    13. Communication between mplrs and lrs is by data structures rather than temporary files
    14. plrs is no longer supported
    15. removing the -DSAFE option disables overflow checking in 64/128 bit mode and results are unpredicable if overflow occurs
    16. mplrs now prints maximum tree depth at end and supports printcobasis option in input files




    What's New in Version 6.2

    mplrs:   new command-line options, improved performance on large-output instances, volume output added

    What's New in Version 6.1

  • lrs: memory leaks fixed
  • mplrs: checkpointing after restart fixed
  • nash: new version of nash driver and new nash library, mostly by Terje Lensberg, memory leak and earlier bug in nash fixed

  • What's New in Version 6.0

  • mplrs: C wrapper prepared by Skip Jordan for lrs that allows for parallelization using the MPI library over a network of multi-core machines. It is derived from Gary Roumanis' earlier C++ wrapper plrsmplrs includes many modifications to ensure load balancing.
  • Installation and usage are described here.
  • plrs is designed for shared memory machines and should improve on lrs even on dual core machines. mplrs is designed for machines and/or networks with at least 4 processors. (plrs is discontinued from Version 7.1)
  •  Some additonal options were added to lrs in order to help with load balancing, in particular maxc