@@ -4,8 +4,147 @@ Documentation is currently being maintained at the URL:
44
55http://cgm.cs.mcgill.ca/~avis/C/lrs.html
66-----------------------------------------------------------------------------
7+
8+ Version 7.1
9+ manual: http://cgm.cs.mcgill.ca/~avis/C/lrslib/USERGUIDE71.html
10+
11+ 2020.10.17
12+
13+ Memory leak in countonly option fixed for mplrs/lrs.
14+
15+ 2020.5.25
16+ Version 7.1 is a major revision completing the move to an all C library begun
17+ in 7.0 which was work in progress and has been removed from distribution.
18+
19+ Major changes to lrs:
20+ 1. redund function is now performed by lrs via options, but legacy redund maintained
21+ 2. extract option to extract columns from the input especially with linearities
22+ 3. hvref makes a cross reference list between H and V representations
23+
24+ Major changes to mplrs:
25+ 1. Temporary files no longer used for communicating with workers.
26+ 2. Parallel version of redund is now available
27+
28+ Thanks to David Bremner and Jerry James for advice, patches and other help!
29+
30+ Details below
31+
32+ 2020.5.19
33+
34+ redund binaries are no longer produced and lrs does redund
35+ functioning via the redund option. For a standard redund run (ie all lines checked)
36+ set up a link:
37+ %ln -s lrs redund and if needed %ln -s lrs1 redund1 etc. for single arithmetic
38+ Now no options are needed and
39+
40+ % redund filename
41+
42+ will remove all redundant inequalities
43+
44+ In mplrs this can be achieved by:
45+
46+ % mpirun -np <procs> mplrs -redund filename
47+
48+ 2020.4.27
49+
50+ Changes in mplrs relative to 7.0:
51+ 1. All C++ code removed or rewritten in C; C++ compiler no longer required.
52+ 2. mplrs uses the new lrslib API (2019.11.8) instead of temporary files for
53+ parallel jobs.
54+ 3. Support for parallel redund runs using the redund option in input files.
55+ 4. Compiler warnings removed.
56+ 5. Additional warning and informational messages printed when relevant.
57+ 6. New option -redund, for redund runs without adding option to file.
58+ 7. Avoid duplicate output lines that were possible on an overflow in
59+ hybrid mode.
60+ 8. Fix a rare bug that could omit output lines at the start of a run.
61+
62+ 2020.2.5
63+ The extract option is a preprocessing step to remove linearities (if any) and resize
64+ the A matrix using standard lrs processing, which is output as a valid lrs input file.
65+ The resulting file will not contain any equations but may not be full dimensional.
66+ Options in the input file are stripped.
67+ User can specify the cols to retain (where this possible by linear independence).
68+ If there are no linearities in the input file the columns in the option are retained
69+ and the other ones are deleted. This is useful for projecting a V-representation.
70+
71+ extract 0
72+
73+ retains columns in order 1,2,...,n
74+
75+ extract k i1 .. ik
76+
77+ retains columns in order i1,...,ik then the missing 1..n as necessary
78+ Column 0 is always retained.
79+
80+ Use redund to remove redundancies from the output as necessary.
81+ A full lrs run is not performed, however output can be piped:
82+
83+ % lrs file | redund | lrs
84+
85+ 2019.12.30
86+
87+ hvref makes a cross reference list between H and V reps
88+ Usage (same for ext file):
89+
90+ Add printcobasis and incidence options to cube.ine
91+
92+ % lrs cube.ine cube.ext
93+ % xref cube.ext
94+
95+ Edit the output file cube.ext.x so that the second line contains two integers
96+
97+ rows maxindex
98+
99+ where rows >= # output lines in cube.ext.x
100+ maxindex >= # input lines in cube.ine
101+
102+ or just use 0 0 and the program will tell you which values to use
103+
104+ % hvref cube.ext.x
105+
106+
107+ 2019.11.8
108+
109+ New redund option causes lrs to perform redund function:
110+
111+ redund start end
112+
113+ limits redundancy checking to input rows numbered start,...,end.
114+ Defaults start=1 and end=m is legacy redund and can be obtained by
115+
116+ redund 0 0
117+
118+ lrs_main has been rewritten as lrsv2_main to avoid temporary files in mplrs.
119+ It now passes pointers to P and Q back to mplrs and is called 3 times
120+ according to the stage flag.
121+
122+ stage=0 performs problem setup and reads the input file
123+ stage=1 performs reverse search or redund function
124+ stage=2 performs clean up and closes files
125+
126+ 2019.6.13
127+
128+ If lrs is compiled with -DLRS_QUIET lrs produces an ouput file with only the data
129+ between the begin and end lines, ie. a matrix of the V or H representation.
130+ The only exception is if the input is a V-rep and output has linearities
131+ in which case line one has the linearity information
132+
133+ --------------------------------------------------------------------------------------
134+ 2019.1.5
135+ Various pivot rules are implemented for solving LPs using variations of the lponly option.
136+ To get pivot counts correct it is best to use lrsgmp at least for now
137+
138+ lponly default, currently Dantzig's rule
139+ lponly_b Bland's rule, which is used for vertex enumeration
140+ lponly_d Dantzig's rule, the only rule used up to Version 7.1
141+ lponly_r random edge rule
142+ lponly_rd alernates random edege and Dantzig
143+
144+ -----------------------------------------------------------------------------
145+
71462018.7.1
8- Version 7.0 (Beta release) (lrslib-070)
147+ Version 7.0 (lrslib-070)
9148
10149User's guide: http://cgm.cs.mcgill.ca/~avis/C/lrslib/USERGUIDE70.html
11150
0 commit comments